diff options
442 files changed, 49697 insertions, 48662 deletions
diff --git a/.gitattributes b/.gitattributes index 5229f0d3f..18a043001 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,6 +8,7 @@ Makefile text eol=lf *.h text eol=lf *.pl text eol=lf *.inc text eol=lf +*.sha1 text eol=lf *.png binary *.bin binary diff --git a/.gitignore b/.gitignore index 05643bb33..d2720efca 100644 --- a/.gitignore +++ b/.gitignore @@ -12,11 +12,14 @@ *.latfont *.hwjpnfont *.fwjpnfont -pokeas -pokeld -pokeobjcopy +*.bat src/*.s tools/agbcc ld_script_ruby.txt ld_script_sapphire.txt *.map +*.id0 +*.id1 +*.id2 +*.nam +*.til @@ -37,7 +37,8 @@ C_SRCS := $(wildcard src/*.c) C_OBJS := $(C_SRCS:%.c=%.o) ASM_OBJS := asm/crt0.o asm/rom3.o asm/rom_8040EB4.o asm/rom4.o asm/rom_8074BAC.o asm/rom5.o \ - asm/libgcnmultiboot.o asm/m4a_1.o asm/m4a_3.o asm/libagbsyscall.o +asm/libgcnmultiboot.o asm/m4a_1.o asm/m4a_3.o asm/libagbsyscall.o \ +asm/rom_8072DF8.o asm/rom_8065394.o asm/rom_803D1FC.o DATA_ASM_OBJS := data/data2.o data/graphics.o data/sound_data.o \ data/event_scripts.o data/battle_anim_scripts.o \ diff --git a/asm/macros/pokemon_data.s b/asm/macros/pokemon_data.s index f18462d34..b0a5f22e3 100644 --- a/asm/macros/pokemon_data.s +++ b/asm/macros/pokemon_data.s @@ -1,6 +1,6 @@ - .macro pokedex_entry pokemon_name, height, width, pokemon_scale, pokemon_offset, trainer_scale, trainer_offset + .macro pokedex_entry pokemon_name, height, weight, pokemon_scale, pokemon_offset, trainer_scale, trainer_offset .2byte \height @ in decimeters - .2byte \width @ in hectograms + .2byte \weight @ in hectograms .4byte DexDescription_\pokemon_name\()_1 .4byte DexDescription_\pokemon_name\()_2 .2byte 0 @ unused diff --git a/asm/rom3.s b/asm/rom3.s index 862a7bc0f..ba00bb21d 100644 --- a/asm/rom3.s +++ b/asm/rom3.s @@ -6,4242 +6,6 @@ .text - thumb_func_start CB2_MainMenu -CB2_MainMenu: @ 80096C4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end CB2_MainMenu - - thumb_func_start VBlankCB_MainMenu -VBlankCB_MainMenu: @ 80096DC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_MainMenu - - thumb_func_start CB2_InitMainMenu -CB2_InitMainMenu: @ 80096F0 - push {lr} - movs r0, 0 - bl InitMainMenu - pop {r0} - bx r0 - thumb_func_end CB2_InitMainMenu - - thumb_func_start sub_80096FC -sub_80096FC: @ 80096FC - push {lr} - movs r0, 0x1 - bl InitMainMenu - pop {r0} - bx r0 - thumb_func_end sub_80096FC - - thumb_func_start InitMainMenu -InitMainMenu: @ 8009708 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - 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] - add r0, sp, 0x4 - strh r1, [r0] - ldr r1, _080097BC - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080097C0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r5, 0 - str r5, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080097C4 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x4 - strh r5, [r0] - str r0, [r1] - ldr r0, _080097C8 - str r0, [r1, 0x4] - ldr r0, _080097CC - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - ldr r0, _080097D0 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _080097D4 - bl SetUpWindowConfig - ldr r0, _080097D8 - bl sub_8071C4C - cmp r4, 0 - beq _080097DC - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080097EE - .align 2, 0 -_080097BC: .4byte 0x040000d4 -_080097C0: .4byte 0x8100c000 -_080097C4: .4byte 0x85000100 -_080097C8: .4byte 0x05000002 -_080097CC: .4byte 0x810001ff -_080097D0: .4byte gUnknown_081E797C -_080097D4: .4byte gWindowConfig_81E6C3C -_080097D8: .4byte gWindowConfig_81E6CE4 -_080097DC: - movs r0, 0x1 - negs r0, r0 - ldr r1, _08009858 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_080097EE: - ldr r0, _0800985C - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r3, _08009860 - ldrh r2, [r3] - strh r1, [r3] - ldr r4, _08009864 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, _08009868 - bl SetVBlankCallback - ldr r0, _0800986C - bl SetMainCallback2 - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xC5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08009870 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08009874 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0xA] - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08009858: .4byte 0x0000ffff -_0800985C: .4byte REG_WIN0H -_08009860: .4byte 0x04000208 -_08009864: .4byte 0x04000200 -_08009868: .4byte VBlankCB_MainMenu -_0800986C: .4byte CB2_MainMenu -_08009870: .4byte Task_CheckSave -_08009874: .4byte 0x03004b20 - thumb_func_end InitMainMenu - - thumb_func_start Task_CheckSave -Task_CheckSave: @ 8009878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080098D4 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _08009894 - b _080099FC -_08009894: - ldr r7, _080098D8 - strh r6, [r7] - ldr r0, _080098DC - mov r8, r0 - strh r6, [r0] - ldr r1, _080098E0 - ldr r2, _080098E4 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xF1 - strh r0, [r1] - ldr r0, _080098E8 - strh r6, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - ldr r0, _080098EC - ldrh r4, [r0] - cmp r4, 0x2 - beq _0800993C - cmp r4, 0x2 - bgt _080098F0 - cmp r4, 0 - beq _080099AC - cmp r4, 0x1 - beq _080098FA - b _080099AC - .align 2, 0 -_080098D4: .4byte 0x0202f388 -_080098D8: .4byte REG_WIN0H -_080098DC: .4byte REG_WIN0V -_080098E0: .4byte REG_WININ -_080098E4: .4byte 0x00001111 -_080098E8: .4byte REG_BLDALPHA -_080098EC: .4byte 0x03005eb8 -_080098F0: - cmp r4, 0x4 - beq _080099C8 - cmp r4, 0xFF - beq _08009950 - b _080099AC -_080098FA: - bl sub_806918C - cmp r0, 0x1 - bne _0800991C - ldr r2, _08009918 - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - adds r1, r2, 0 - adds r2, r3, 0 - b _0800992A - .align 2, 0 -_08009918: .4byte 0x03004b20 -_0800991C: - ldr r0, _08009934 - lsls r2, r5, 2 - adds r1, r2, r5 - lsls r1, 3 - adds r1, r0 - strh r4, [r1, 0x8] - adds r1, r0, 0 -_0800992A: - adds r0, r2, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009938 - b _080099FA - .align 2, 0 -_08009934: .4byte 0x03004b20 -_08009938: .4byte Task_CheckRtc -_0800993C: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _0800994C - b _080099D6 - .align 2, 0 -_0800994C: .4byte gUnknown_0840DEC2 -_08009950: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009994 - movs r1, 0x3 - movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage - ldr r2, _08009998 - adds r0, r2, 0 - strh r0, [r7] - ldr r1, _0800999C - adds r0, r1, 0 - mov r2, r8 - strh r0, [r2] - ldr r1, _080099A0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r5, 0x1 - strh r5, [r4, 0x8] - ldr r0, _080099A4 - str r0, [r4] - bl sub_806918C - cmp r0, 0x1 - bne _080099A8 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080099FC - .align 2, 0 -_08009994: .4byte gUnknown_0840DE81 -_08009998: .4byte 0x000011df -_0800999C: .4byte 0x0000719f -_080099A0: .4byte 0x03004b20 -_080099A4: .4byte Task_WaitForSaveErrorAck -_080099A8: - strh r5, [r4, 0x8] - b _080099FC -_080099AC: - ldr r1, _080099C0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080099C4 - b _080099FA - .align 2, 0 -_080099C0: .4byte 0x03004b20 -_080099C4: .4byte Task_CheckRtc -_080099C8: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009A08 -_080099D6: - movs r1, 0x3 - movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage - ldr r1, _08009A0C - adds r0, r1, 0 - strh r0, [r7] - ldr r2, _08009A10 - adds r0, r2, 0 - mov r1, r8 - strh r0, [r1] - ldr r1, _08009A14 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] - ldr r1, _08009A18 -_080099FA: - str r1, [r0] -_080099FC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08009A08: .4byte gUnknown_0840DEE5 -_08009A0C: .4byte 0x000011df -_08009A10: .4byte 0x0000719f -_08009A14: .4byte 0x03004b20 -_08009A18: .4byte Task_WaitForSaveErrorAck - thumb_func_end Task_CheckSave - - thumb_func_start Task_WaitForSaveErrorAck -Task_WaitForSaveErrorAck: @ 8009A1C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - beq _08009A52 - ldr r0, _08009A58 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08009A52 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl Reset - ldr r0, _08009A5C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009A60 - str r0, [r1] -_08009A52: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009A58: .4byte 0x03001770 -_08009A5C: .4byte 0x03004b20 -_08009A60: .4byte Task_CheckRtc - thumb_func_end Task_WaitForSaveErrorAck - - thumb_func_start Task_CheckRtc -Task_CheckRtc: @ 8009A64 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, _08009AC0 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08009B10 - ldr r6, _08009AC4 - strh r2, [r6] - ldr r7, _08009AC8 - strh r2, [r7] - ldr r1, _08009ACC - ldr r3, _08009AD0 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xF1 - strh r0, [r1] - ldr r0, _08009AD4 - strh r2, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - bl RtcGetErrorStatus - movs r1, 0xFF - lsls r1, 4 - ands r1, r0 - cmp r1, 0 - bne _08009AE0 - ldr r0, _08009AD8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009ADC - str r0, [r1] - b _08009B10 - .align 2, 0 -_08009AC0: .4byte 0x0202f388 -_08009AC4: .4byte REG_WIN0H -_08009AC8: .4byte REG_WIN0V -_08009ACC: .4byte REG_WININ -_08009AD0: .4byte 0x00001111 -_08009AD4: .4byte REG_BLDALPHA -_08009AD8: .4byte 0x03004b20 -_08009ADC: .4byte Task_DrawMainMenu -_08009AE0: - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009B18 - movs r1, 0x3 - movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage - ldr r1, _08009B1C - adds r0, r1, 0 - strh r0, [r6] - ldr r3, _08009B20 - adds r0, r3, 0 - strh r0, [r7] - ldr r1, _08009B24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009B28 - str r1, [r0] -_08009B10: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08009B18: .4byte gUnknown_0840DF10 -_08009B1C: .4byte 0x000011df -_08009B20: .4byte 0x0000719f -_08009B24: .4byte 0x03004b20 -_08009B28: .4byte Task_WaitForRtcErrorAck - thumb_func_end Task_CheckRtc - - thumb_func_start Task_WaitForRtcErrorAck -Task_WaitForRtcErrorAck: @ 8009B2C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - beq _08009B62 - ldr r0, _08009B68 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08009B62 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl Reset - ldr r0, _08009B6C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009B70 - str r0, [r1] -_08009B62: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009B68: .4byte 0x03001770 -_08009B6C: .4byte 0x03004b20 -_08009B70: .4byte Task_DrawMainMenu - thumb_func_end Task_WaitForRtcErrorAck - - thumb_func_start Task_DrawMainMenu -Task_DrawMainMenu: @ 8009B74 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08009BDC - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08009B8E - b _08009D20 -_08009B8E: - ldr r0, _08009BE0 - strh r2, [r0] - adds r0, 0x4 - strh r2, [r0] - ldr r1, _08009BE4 - ldr r3, _08009BE8 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x31 - strh r0, [r1] - adds r1, 0x6 - movs r0, 0xF1 - strh r0, [r1] - ldr r0, _08009BEC - strh r2, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - mov r0, sp - strh r2, [r0] - movs r1, 0xFE - movs r2, 0x2 - bl LoadPalette - ldr r0, _08009BF0 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08009BF8 - mov r1, sp - ldr r2, _08009BF4 - adds r0, r2, 0 - strh r0, [r1] - mov r0, sp - movs r1, 0xF1 - movs r2, 0x2 - bl LoadPalette - b _08009C0A - .align 2, 0 -_08009BDC: .4byte 0x0202f388 -_08009BE0: .4byte REG_WIN0H -_08009BE4: .4byte REG_WININ -_08009BE8: .4byte 0x00001111 -_08009BEC: .4byte REG_BLDALPHA -_08009BF0: .4byte gSaveBlock2 -_08009BF4: .4byte 0x00007e04 -_08009BF8: - mov r1, sp - ldr r3, _08009C54 - adds r0, r3, 0 - strh r0, [r1] - mov r0, sp - movs r1, 0xF1 - movs r2, 0x2 - bl LoadPalette -_08009C0A: - ldr r2, _08009C58 - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r5, r1, 0 - cmp r0, 0x1 - beq _08009C64 - cmp r0, 0x1 - ble _08009C26 - cmp r0, 0x2 - beq _08009CB8 -_08009C26: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1C - movs r3, 0x3 - bl DrawDefaultWindow - ldr r0, _08009C5C - movs r1, 0x2 - movs r2, 0x1 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x4 - movs r2, 0x1C - movs r3, 0x7 - bl DrawDefaultWindow - ldr r0, _08009C60 - movs r1, 0x2 - movs r2, 0x5 - bl PrintMainMenuItem - b _08009D14 - .align 2, 0 -_08009C54: .4byte 0x0000547f -_08009C58: .4byte 0x03004b20 -_08009C5C: .4byte gUnknown_0840DCD0 -_08009C60: .4byte gUnknown_0840DCE2 -_08009C64: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1C - movs r3, 0x7 - bl DrawDefaultWindow - ldr r0, _08009CAC - movs r1, 0x2 - movs r2, 0x1 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xB - bl DrawDefaultWindow - ldr r0, _08009CB0 - movs r1, 0x2 - movs r2, 0x9 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0xF - bl DrawDefaultWindow - ldr r0, _08009CB4 - movs r1, 0x2 - movs r2, 0xD - bl PrintMainMenuItem - bl PrintSaveFileInfo - b _08009D14 - .align 2, 0 -_08009CAC: .4byte gUnknown_0840DCD9 -_08009CB0: .4byte gUnknown_0840DCD0 -_08009CB4: .4byte gUnknown_0840DCE2 -_08009CB8: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1C - movs r3, 0x7 - bl DrawDefaultWindow - ldr r0, _08009D28 - movs r1, 0x2 - movs r2, 0x1 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x8 - movs r2, 0x1C - movs r3, 0xB - bl DrawDefaultWindow - ldr r0, _08009D2C - movs r1, 0x2 - movs r2, 0x9 - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0xF - bl DrawDefaultWindow - ldr r0, _08009D30 - movs r1, 0x2 - movs r2, 0xD - bl PrintMainMenuItem - movs r0, 0x1 - movs r1, 0x10 - movs r2, 0x1C - movs r3, 0x13 - bl DrawDefaultWindow - ldr r0, _08009D34 - movs r1, 0x2 - movs r2, 0x11 - bl PrintMainMenuItem - bl PrintSaveFileInfo -_08009D14: - ldr r0, _08009D38 - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009D3C - str r0, [r1] -_08009D20: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08009D28: .4byte gUnknown_0840DCD9 -_08009D2C: .4byte gUnknown_0840DCD0 -_08009D30: .4byte gUnknown_0840DCE9 -_08009D34: .4byte gUnknown_0840DCE2 -_08009D38: .4byte 0x03004b20 -_08009D3C: .4byte Task_HighlightCurrentMenuItem - thumb_func_end Task_DrawMainMenu - - thumb_func_start Task_HighlightCurrentMenuItem -Task_HighlightCurrentMenuItem: @ 8009D40 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08009D64 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0xA] - bl HighlightCurrentMenuItem - ldr r0, _08009D68 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009D64: .4byte 0x03004b20 -_08009D68: .4byte Task_MainMenuProcessKeyInput - thumb_func_end Task_HighlightCurrentMenuItem - - thumb_func_start MainMenuProcessKeyInput -MainMenuProcessKeyInput: @ 8009D6C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08009DA8 - ldrh r2, [r1, 0x2E] - movs r0, 0x1 - ands r0, r2 - mov r12, r1 - cmp r0, 0 - beq _08009DB4 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08009DAC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009DB0 - str r1, [r0] - b _08009E74 - .align 2, 0 -_08009DA8: .4byte 0x03001770 -_08009DAC: .4byte 0x03004b20 -_08009DB0: .4byte MainMenuPressedA -_08009DB4: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08009E00 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - ldr r1, _08009DF0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08009DF4 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x4 - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _08009DF8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08009DFC - str r1, [r0] - b _08009E74 - .align 2, 0 -_08009DF0: .4byte 0x0000ffff -_08009DF4: .4byte REG_WIN0H -_08009DF8: .4byte 0x03004b20 -_08009DFC: .4byte MainMenuPressedB -_08009E00: - ldr r0, _08009E20 - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - adds r6, r0, 0 - cmp r1, 0x1 - beq _08009E24 - cmp r1, 0x1 - ble _08009E1C - cmp r1, 0x2 - beq _08009E28 -_08009E1C: - movs r5, 0x2 - b _08009E2A - .align 2, 0 -_08009E20: .4byte 0x03004b20 -_08009E24: - movs r5, 0x3 - b _08009E2A -_08009E28: - movs r5, 0x4 -_08009E2A: - mov r7, r12 - ldrh r1, [r7, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08009E4E - adds r0, r2, r4 - lsls r0, 3 - adds r1, r0, r6 - ldrh r3, [r1, 0xA] - movs r7, 0xA - ldrsh r0, [r1, r7] - cmp r0, 0 - ble _08009E4E - subs r0, r3, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x1 - b _08009E76 -_08009E4E: - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08009E74 - adds r0, r2, r4 - lsls r0, 3 - adds r2, r0, r6 - movs r3, 0xA - ldrsh r1, [r2, r3] - subs r0, r5, 0x1 - cmp r1, r0 - bge _08009E74 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - movs r0, 0x1 - b _08009E76 -_08009E74: - movs r0, 0 -_08009E76: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end MainMenuProcessKeyInput - - thumb_func_start Task_MainMenuProcessKeyInput -Task_MainMenuProcessKeyInput: @ 8009E80 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MainMenuProcessKeyInput - lsls r0, 24 - cmp r0, 0 - beq _08009EA0 - ldr r0, _08009EA8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08009EAC - str r0, [r1] -_08009EA0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009EA8: .4byte 0x03004b20 -_08009EAC: .4byte Task_HighlightCurrentMenuItem - thumb_func_end Task_MainMenuProcessKeyInput - - thumb_func_start MainMenuPressedA -MainMenuPressedA: @ 8009EB0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08009EEC - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08009FA4 - ldr r0, _08009EF0 - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r5, 0x8 - ldrsh r3, [r1, r5] - adds r5, r0, 0 - cmp r3, 0x1 - beq _08009EF4 - cmp r3, 0x1 - ble _08009EDE - cmp r3, 0x2 - beq _08009F06 -_08009EDE: - movs r0, 0xA - ldrsh r1, [r1, r0] - cmp r1, 0 - beq _08009F1E - cmp r1, 0x1 - bne _08009F1E - b _08009F26 - .align 2, 0 -_08009EEC: .4byte 0x0202f388 -_08009EF0: .4byte 0x03004b20 -_08009EF4: - movs r0, 0xA - ldrsh r1, [r1, r0] - cmp r1, 0x1 - beq _08009F1E - cmp r1, 0x1 - ble _08009F1A - cmp r1, 0x2 - bne _08009F1A - b _08009F26 -_08009F06: - movs r0, 0xA - ldrsh r1, [r1, r0] - cmp r1, 0x1 - beq _08009F1E - cmp r1, 0x1 - ble _08009F1A - cmp r1, 0x2 - beq _08009F22 - cmp r1, 0x3 - beq _08009F26 -_08009F1A: - movs r0, 0x1 - b _08009F28 -_08009F1E: - movs r0, 0 - b _08009F28 -_08009F22: - movs r0, 0x3 - b _08009F28 -_08009F26: - movs r0, 0x2 -_08009F28: - cmp r0, 0x1 - beq _08009F5C - cmp r0, 0x1 - ble _08009F38 - cmp r0, 0x2 - beq _08009F78 - cmp r0, 0x3 - beq _08009F98 -_08009F38: - ldr r0, _08009F50 - movs r1, 0 - strh r1, [r0] - ldr r0, _08009F54 - strh r1, [r0] - adds r0, r2, r4 - lsls r0, 3 - adds r0, r5 - ldr r1, _08009F58 - str r1, [r0] - b _08009FA4 - .align 2, 0 -_08009F50: .4byte 0x0202eac8 -_08009F54: .4byte 0x0202eec8 -_08009F58: .4byte Task_Birch1 -_08009F5C: - ldr r0, _08009F6C - movs r1, 0 - strh r1, [r0] - ldr r0, _08009F70 - strh r1, [r0] - ldr r0, _08009F74 - b _08009F80 - .align 2, 0 -_08009F6C: .4byte 0x0202eac8 -_08009F70: .4byte 0x0202eec8 -_08009F74: .4byte CB2_ContinueSavedGame -_08009F78: - ldr r0, _08009F8C - ldr r1, _08009F90 - str r1, [r0, 0x8] - ldr r0, _08009F94 -_08009F80: - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask - b _08009FA4 - .align 2, 0 -_08009F8C: .4byte 0x03001770 -_08009F90: .4byte sub_80096FC -_08009F94: .4byte CB2_InitOptionMenu -_08009F98: - ldr r0, _08009FAC - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08009FA4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08009FAC: .4byte CB2_InitMysteryEventMenu - thumb_func_end MainMenuPressedA - - thumb_func_start MainMenuPressedB -MainMenuPressedB: @ 8009FB0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08009FD4 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08009FCE - ldr r0, _08009FD8 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08009FCE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08009FD4: .4byte 0x0202f388 -_08009FD8: .4byte CB2_InitTitleScreen - thumb_func_end MainMenuPressedB - - thumb_func_start HighlightCurrentMenuItem -HighlightCurrentMenuItem: @ 8009FDC - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _0800A008 - ldr r4, _0800A00C - adds r0, r4, 0 - strh r0, [r1] - cmp r3, 0x1 - beq _0800A028 - cmp r3, 0x1 - ble _08009FFA - cmp r3, 0x2 - beq _0800A064 -_08009FFA: - cmp r2, 0 - beq _0800A002 - cmp r2, 0x1 - beq _0800A018 -_0800A002: - ldr r1, _0800A010 - ldr r2, _0800A014 - b _0800A0A8 - .align 2, 0 -_0800A008: .4byte REG_WIN0H -_0800A00C: .4byte 0x000009e7 -_0800A010: .4byte REG_WIN0V -_0800A014: .4byte 0x0000011f -_0800A018: - ldr r1, _0800A020 - ldr r4, _0800A024 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A020: .4byte REG_WIN0V -_0800A024: .4byte 0x0000213f -_0800A028: - cmp r2, 0x1 - beq _0800A044 - cmp r2, 0x1 - ble _0800A034 - cmp r2, 0x2 - beq _0800A054 -_0800A034: - ldr r1, _0800A03C - ldr r2, _0800A040 - b _0800A0A8 - .align 2, 0 -_0800A03C: .4byte REG_WIN0V -_0800A040: .4byte 0x0000013f -_0800A044: - ldr r1, _0800A04C - ldr r4, _0800A050 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A04C: .4byte REG_WIN0V -_0800A050: .4byte 0x0000415f -_0800A054: - ldr r1, _0800A05C - ldr r2, _0800A060 - b _0800A0A8 - .align 2, 0 -_0800A05C: .4byte REG_WIN0V -_0800A060: .4byte 0x0000617f -_0800A064: - cmp r2, 0x1 - beq _0800A084 - cmp r2, 0x1 - ble _0800A074 - cmp r2, 0x2 - beq _0800A094 - cmp r2, 0x3 - beq _0800A0A4 -_0800A074: - ldr r1, _0800A07C - ldr r4, _0800A080 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A07C: .4byte REG_WIN0V -_0800A080: .4byte 0x0000013f -_0800A084: - ldr r1, _0800A08C - ldr r2, _0800A090 - b _0800A0A8 - .align 2, 0 -_0800A08C: .4byte REG_WIN0V -_0800A090: .4byte 0x0000415f -_0800A094: - ldr r1, _0800A09C - ldr r4, _0800A0A0 - adds r0, r4, 0 - b _0800A0AA - .align 2, 0 -_0800A09C: .4byte REG_WIN0V -_0800A0A0: .4byte 0x0000617f -_0800A0A4: - ldr r1, _0800A0B4 - ldr r2, _0800A0B8 -_0800A0A8: - adds r0, r2, 0 -_0800A0AA: - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A0B4: .4byte REG_WIN0V -_0800A0B8: .4byte 0x0000819f - thumb_func_end HighlightCurrentMenuItem - - thumb_func_start PrintMainMenuItem -PrintMainMenuItem: @ 800A0BC - push {r4-r6,lr} - sub sp, 0x20 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r1, sp - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0xE - strb r0, [r1, 0x2] - movs r3, 0 -_0800A0DA: - adds r0, r3, 0x3 - mov r6, sp - adds r1, r6, r0 - adds r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x19 - bls _0800A0DA - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x1D] - mov r0, sp - adds r1, r5, 0 - bl Print - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PrintMainMenuItem - - thumb_func_start PrintSaveFileInfo -PrintSaveFileInfo: @ 800A108 - push {lr} - bl PrintPlayerName - bl PrintPokedexCount - bl PrintPlayTime - bl PrintBadgeCount - pop {r0} - bx r0 - thumb_func_end PrintSaveFileInfo - - thumb_func_start PrintPlayerName -PrintPlayerName: @ 800A120 - push {lr} - ldr r0, _0800A13C - movs r1, 0x2 - movs r2, 0x3 - bl Print - ldr r0, _0800A140 - movs r1, 0x9 - movs r2, 0x3 - bl Print - pop {r0} - bx r0 - .align 2, 0 -_0800A13C: .4byte gUnknown_0840DF7C -_0800A140: .4byte gSaveBlock2 - thumb_func_end PrintPlayerName - - thumb_func_start PrintPlayTime -PrintPlayTime: @ 800A144 - push {r4,lr} - sub sp, 0x30 - ldr r0, _0800A180 - movs r1, 0x10 - movs r2, 0x3 - bl Print - ldr r0, _0800A184 - ldrh r1, [r0, 0xE] - ldrb r2, [r0, 0x10] - mov r0, sp - movs r3, 0x1 - bl FormatPlayTime - add r4, sp, 0x10 - adds r0, r4, 0 - mov r1, sp - movs r2, 0x30 - movs r3, 0x1 - bl sub_8072C74 - adds r0, r4, 0 - movs r1, 0x16 - movs r2, 0x3 - bl Print - add sp, 0x30 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A180: .4byte gUnknown_0840DF8B -_0800A184: .4byte gSaveBlock2 - thumb_func_end PrintPlayTime - - thumb_func_start PrintPokedexCount -PrintPokedexCount: @ 800A188 - push {lr} - sub sp, 0x10 - ldr r0, _0800A1BC - movs r1, 0x2 - movs r2, 0x5 - bl Print - bl GetPokedexSeenCount - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - movs r2, 0x12 - movs r3, 0 - bl sub_8072C14 - mov r0, sp - movs r1, 0x9 - movs r2, 0x5 - bl Print - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0800A1BC: .4byte gUnknown_0840DF83 - thumb_func_end PrintPokedexCount - - thumb_func_start PrintBadgeCount -PrintBadgeCount: @ 800A1C0 - push {lr} - sub sp, 0x10 - ldr r0, _0800A1F0 - movs r1, 0x10 - movs r2, 0x5 - bl Print - bl GetBadgeCount - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - bl ConvertIntToDecimalString - mov r0, sp - movs r1, 0xCD - movs r2, 0x28 - movs r3, 0x1 - bl sub_80729D8 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0800A1F0: .4byte gUnknown_0840DF90 - thumb_func_end PrintBadgeCount - - thumb_func_start Task_Birch1 -Task_Birch1: @ 800A1F4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0800A2B0 - bl SetUpWindowConfig - ldr r0, _0800A2B4 - bl sub_8071C4C - ldr r0, _0800A2B8 - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r0, _0800A2BC - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, _0800A2C0 - ldr r1, _0800A2C4 - bl LZ77UnCompVram - ldr r0, _0800A2C8 - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r0, _0800A2CC - movs r1, 0x1 - movs r2, 0x10 - bl LoadPalette - bl remove_some_task - bl ResetSpriteData - bl FreeAllSpritePalettes - adds r0, r4, 0 - bl AddBirchSpeechObjects - movs r0, 0x1 - negs r0, r0 - movs r5, 0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _0800A2D0 - ldr r2, _0800A2D4 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xA - movs r2, 0x9A - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0800A2D8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x10] - ldr r1, _0800A2DC - str r1, [r0] - movs r1, 0xFF - strh r1, [r0, 0xC] - strh r1, [r0, 0xE] - movs r1, 0xD8 - strh r1, [r0, 0x16] - movs r0, 0xBB - lsls r0, 1 - bl sub_8075474 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A2B0: .4byte gWindowConfig_81E6C3C -_0800A2B4: .4byte gWindowConfig_81E6CE4 -_0800A2B8: .4byte REG_WIN0H -_0800A2BC: .4byte gUnknown_081E768C -_0800A2C0: .4byte gUnknown_081E7834 -_0800A2C4: .4byte 0x06003800 -_0800A2C8: .4byte gUnknown_081E764C -_0800A2CC: .4byte gUnknown_081E796C -_0800A2D0: .4byte REG_BG1CNT -_0800A2D4: .4byte 0x00000703 -_0800A2D8: .4byte 0x03004b20 -_0800A2DC: .4byte task_new_game_prof_birch_speech_2 - thumb_func_end Task_Birch1 - - thumb_func_start task_new_game_prof_birch_speech_2 -task_new_game_prof_birch_speech_2: @ 800A2E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0800A300 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x16] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0800A304 - subs r0, r1, 0x1 - strh r0, [r4, 0x16] - b _0800A34A - .align 2, 0 -_0800A300: .4byte 0x03004b20 -_0800A304: - ldrb r0, [r4, 0x18] - ldr r2, _0800A350 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x88 - strh r0, [r1, 0x20] - movs r0, 0x3C - strh r0, [r1, 0x22] - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - subs r0, 0x41 - ands r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x1] - adds r0, r5, 0 - movs r1, 0xA - bl sub_800B534 - adds r0, r5, 0 - movs r1, 0x14 - bl sub_800B6C0 - movs r0, 0x50 - strh r0, [r4, 0x16] - ldr r0, _0800A354 - str r0, [r4] -_0800A34A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A350: .4byte 0x02020004 -_0800A354: .4byte task_new_game_prof_birch_speech_3 - thumb_func_end task_new_game_prof_birch_speech_2 - - thumb_func_start task_new_game_prof_birch_speech_3 -task_new_game_prof_birch_speech_3: @ 800A358 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800A398 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0800A3BA - ldr r2, _0800A39C - movs r1, 0x18 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - ldrh r1, [r4, 0x16] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0800A3A0 - subs r0, r1, 0x1 - strh r0, [r4, 0x16] - b _0800A3BA - .align 2, 0 -_0800A398: .4byte 0x03004b20 -_0800A39C: .4byte 0x02020004 -_0800A3A0: - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x12 - bl DrawDefaultWindow - ldr r0, _0800A3C0 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r0, _0800A3C4 - str r0, [r4] -_0800A3BA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A3C0: .4byte gUnknown_081C6D78 -_0800A3C4: .4byte task_new_game_prof_birch_speech_4 - thumb_func_end task_new_game_prof_birch_speech_3 - - thumb_func_start task_new_game_prof_birch_speech_4 -task_new_game_prof_birch_speech_4: @ 800A3C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0800A404 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0800A3FE - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800A3FE - ldr r1, _0800A408 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800A40C - str r1, [r0] - ldr r0, _0800A410 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage -_0800A3FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A404: .4byte 0x0202f388 -_0800A408: .4byte 0x03004b20 -_0800A40C: .4byte task_new_game_prof_birch_speech_5 -_0800A410: .4byte gUnknown_081C6DF8 - thumb_func_end task_new_game_prof_birch_speech_4 - - thumb_func_start task_new_game_prof_birch_speech_5 -task_new_game_prof_birch_speech_5: @ 800A414 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800A434 - ldr r0, _0800A43C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0800A440 - str r0, [r1] -_0800A434: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A43C: .4byte 0x03004b20 -_0800A440: .4byte task_new_game_prof_birch_speech_6 - thumb_func_end task_new_game_prof_birch_speech_5 - - thumb_func_start task_new_game_prof_birch_speech_6 -task_new_game_prof_birch_speech_6: @ 800A444 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800A4A8 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x1A] - ldr r1, _0800A4AC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r5, 0 - movs r1, 0x68 - strh r1, [r2, 0x20] - movs r1, 0x48 - strh r1, [r2, 0x22] - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r3, [r1] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - mov r3, r12 - strb r1, [r3] - strh r5, [r2, 0x2E] - ldrb r1, [r2, 0x5] - lsrs r1, 4 - str r5, [sp] - str r5, [sp, 0x4] - movs r2, 0x20 - str r2, [sp, 0x8] - ldr r2, _0800A4B0 - str r2, [sp, 0xC] - movs r2, 0x70 - movs r3, 0x3A - bl AddTextPrinterForMessage - ldr r0, _0800A4B4 - str r0, [r4] - strh r5, [r4, 0x16] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A4A8: .4byte 0x03004b20 -_0800A4AC: .4byte 0x02020004 -_0800A4B0: .4byte 0x0000ffff -_0800A4B4: .4byte task_new_game_prof_birch_speech_7 - thumb_func_end task_new_game_prof_birch_speech_6 - - thumb_func_start task_new_game_prof_birch_speech_7 -task_new_game_prof_birch_speech_7: @ 800A4B8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8075374 - lsls r0, 24 - cmp r0, 0 - beq _0800A4E4 - ldr r0, _0800A518 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r5, r1, r0 - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0x5F - ble _0800A4E4 - ldr r0, _0800A51C - bl sub_807206C - ldr r0, _0800A520 - str r0, [r5] -_0800A4E4: - ldr r1, _0800A518 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r3, [r2, 0x16] - movs r0, 0x16 - ldrsh r1, [r2, r0] - ldr r0, _0800A524 - cmp r1, r0 - bgt _0800A510 - adds r0, r3, 0x1 - strh r0, [r2, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - bne _0800A510 - movs r0, 0xAF - lsls r0, 1 - movs r1, 0 - bl cry_related -_0800A510: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A518: .4byte 0x03004b20 -_0800A51C: .4byte gUnknown_0840DFF7 -_0800A520: .4byte task_new_game_prof_birch_speech_8 -_0800A524: .4byte 0x00003fff - thumb_func_end task_new_game_prof_birch_speech_7 - - thumb_func_start task_new_game_prof_birch_speech_8 -task_new_game_prof_birch_speech_8: @ 800A528 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800A552 - ldr r0, _0800A558 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r1, _0800A55C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800A560 - str r1, [r0] -_0800A552: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A558: .4byte gUnknown_081C6E1A -_0800A55C: .4byte 0x03004b20 -_0800A560: .4byte task_new_game_prof_birch_speech_9 - thumb_func_end task_new_game_prof_birch_speech_8 - - thumb_func_start task_new_game_prof_birch_speech_9 -task_new_game_prof_birch_speech_9: @ 800A564 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800A59A - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x12 - bl DrawDefaultWindow - ldr r0, _0800A5A0 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r1, _0800A5A4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800A5A8 - str r1, [r0] -_0800A59A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A5A0: .4byte gUnknown_081C6FCB -_0800A5A4: .4byte 0x03004b20 -_0800A5A8: .4byte task_new_game_prof_birch_speech_10 - thumb_func_end task_new_game_prof_birch_speech_9 - - thumb_func_start task_new_game_prof_birch_speech_10 -task_new_game_prof_birch_speech_10: @ 800A5AC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800A612 - ldr r5, _0800A618 - ldr r0, _0800A61C - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - movs r1, 0x18 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r1, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x1] - movs r0, 0x1A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, 0x1] - adds r0, r6, 0 - movs r1, 0x2 - bl sub_800B458 - adds r0, r6, 0 - movs r1, 0x1 - bl sub_800B614 - movs r0, 0x40 - strh r0, [r4, 0x16] - ldr r0, _0800A620 - str r0, [r4] -_0800A612: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800A618: .4byte 0x02020004 -_0800A61C: .4byte 0x03004b20 -_0800A620: .4byte task_new_game_prof_birch_speech_11 - thumb_func_end task_new_game_prof_birch_speech_10 - - thumb_func_start task_new_game_prof_birch_speech_11 -task_new_game_prof_birch_speech_11: @ 800A624 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800A64C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r3, [r2, 0x10] - movs r0, 0x10 - ldrsh r1, [r2, r0] - movs r0, 0x3C - negs r0, r0 - cmp r1, r0 - beq _0800A654 - subs r1, r3, 0x2 - strh r1, [r2, 0x10] - ldr r0, _0800A650 - strh r1, [r0] - b _0800A65C - .align 2, 0 -_0800A64C: .4byte 0x03004b20 -_0800A650: .4byte REG_BG1HOFS -_0800A654: - ldr r0, _0800A660 - strh r0, [r2, 0x10] - ldr r0, _0800A664 - str r0, [r2] -_0800A65C: - pop {r0} - bx r0 - .align 2, 0 -_0800A660: .4byte 0x0000ffc4 -_0800A664: .4byte task_new_game_prof_birch_speech_12 - thumb_func_end task_new_game_prof_birch_speech_11 - - thumb_func_start task_new_game_prof_birch_speech_12 -task_new_game_prof_birch_speech_12: @ 800A668 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0800A6C0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0800A70E - ldr r2, _0800A6C4 - movs r0, 0x18 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r7, 0x4 - orrs r1, r7 - strb r1, [r0] - movs r0, 0x1A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r7 - strb r1, [r0] - ldrh r0, [r4, 0x16] - movs r1, 0x16 - ldrsh r6, [r4, r1] - cmp r6, 0 - beq _0800A6C8 - subs r0, 0x1 - strh r0, [r4, 0x16] - b _0800A70E - .align 2, 0 -_0800A6C0: .4byte 0x03004b20 -_0800A6C4: .4byte 0x02020004 -_0800A6C8: - ldrb r3, [r4, 0x1C] - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r2 - movs r0, 0xB4 - strh r0, [r1, 0x20] - movs r0, 0x3C - strh r0, [r1, 0x22] - movs r2, 0x3E - adds r2, r1 - mov r12, r2 - ldrb r2, [r2] - subs r0, 0x41 - ands r0, r2 - mov r2, r12 - strb r0, [r2] - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r7 - strb r0, [r1, 0x1] - strh r3, [r4, 0xC] - strh r6, [r4, 0x14] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_800B534 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_800B6C0 - ldr r0, _0800A714 - str r0, [r4] -_0800A70E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800A714: .4byte task_new_game_prof_birch_speech_13 - thumb_func_end task_new_game_prof_birch_speech_12 - - thumb_func_start task_new_game_prof_birch_speech_13 -task_new_game_prof_birch_speech_13: @ 800A718 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800A750 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - movs r1, 0x12 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0800A74C - ldr r2, _0800A754 - movs r1, 0xC - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - ldr r0, _0800A758 - str r0, [r3] -_0800A74C: - pop {r0} - bx r0 - .align 2, 0 -_0800A750: .4byte 0x03004b20 -_0800A754: .4byte 0x02020004 -_0800A758: .4byte task_new_game_prof_birch_speech_14 - thumb_func_end task_new_game_prof_birch_speech_13 - - thumb_func_start task_new_game_prof_birch_speech_14 -task_new_game_prof_birch_speech_14: @ 800A75C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x12 - bl DrawDefaultWindow - ldr r0, _0800A790 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r1, _0800A794 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800A798 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A790: .4byte gUnknown_081C6FD8 -_0800A794: .4byte 0x03004b20 -_0800A798: .4byte task_new_game_prof_birch_speech_15 - thumb_func_end task_new_game_prof_birch_speech_14 - - thumb_func_start task_new_game_prof_birch_speech_15 -task_new_game_prof_birch_speech_15: @ 800A79C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800A7C4 - movs r0, 0x2 - movs r1, 0x4 - bl CreateGenderMenu - ldr r0, _0800A7CC - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0800A7D0 - str r0, [r1] -_0800A7C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A7CC: .4byte 0x03004b20 -_0800A7D0: .4byte task_new_game_prof_birch_speech_16 - thumb_func_end task_new_game_prof_birch_speech_15 - - thumb_func_start task_new_game_prof_birch_speech_16 -task_new_game_prof_birch_speech_16: @ 800A7D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl GenderMenuProcessInput - lsls r0, 24 - asrs r4, r0, 24 - cmp r4, 0 - beq _0800A7EE - cmp r4, 0x1 - beq _0800A7EE - lsls r4, r5, 2 - b _0800A818 -_0800A7EE: - bl sub_8072DEC - movs r0, 0x5 - bl audio_play - ldr r0, _0800A860 - strb r4, [r0, 0x8] - movs r0, 0x2 - movs r1, 0x4 - movs r2, 0x8 - movs r3, 0x9 - bl Reset - ldr r1, _0800A864 - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800A868 - str r1, [r0] - adds r4, r2, 0 -_0800A818: - bl GetMenuCursorPos - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _0800A864 - adds r0, r4, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r3, r0 - beq _0800A85A - strh r3, [r4, 0x14] - ldr r2, _0800A86C - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x1] - adds r0, r5, 0 - movs r1, 0 - bl sub_800B458 - ldr r0, _0800A870 - str r0, [r4] -_0800A85A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A860: .4byte gSaveBlock2 -_0800A864: .4byte 0x03004b20 -_0800A868: .4byte sub_800A974 -_0800A86C: .4byte 0x02020004 -_0800A870: .4byte task_new_game_prof_birch_speech_17 - thumb_func_end task_new_game_prof_birch_speech_16 - - thumb_func_start task_new_game_prof_birch_speech_17 -task_new_game_prof_birch_speech_17: @ 800A874 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0800A8A4 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - ldrb r5, [r4, 0xC] - movs r2, 0x12 - ldrsh r0, [r4, r2] - adds r7, r1, 0 - cmp r0, 0 - bne _0800A8AC - ldr r0, _0800A8A8 - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x4 - strh r0, [r1, 0x20] - b _0800A912 - .align 2, 0 -_0800A8A4: .4byte 0x03004b20 -_0800A8A8: .4byte 0x02020004 -_0800A8AC: - ldr r3, _0800A8CC - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0800A8D0 - ldrb r5, [r4, 0x1E] - b _0800A8D2 - .align 2, 0 -_0800A8CC: .4byte 0x02020004 -_0800A8D0: - ldrb r5, [r4, 0x1C] -_0800A8D2: - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - adds r2, r3 - movs r0, 0xF0 - strh r0, [r2, 0x20] - movs r0, 0x3C - strh r0, [r2, 0x22] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - subs r0, 0x41 - ands r0, r1 - strb r0, [r3] - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r7 - strh r5, [r4, 0xC] - ldrb r1, [r2, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x1] - adds r0, r6, 0 - movs r1, 0 - bl sub_800B534 - ldr r0, _0800A918 - str r0, [r4] -_0800A912: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800A918: .4byte task_new_game_prof_birch_speech_18 - thumb_func_end task_new_game_prof_birch_speech_17 - - thumb_func_start task_new_game_prof_birch_speech_18 -task_new_game_prof_birch_speech_18: @ 800A91C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800A948 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrb r1, [r3, 0xC] - ldr r2, _0800A94C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - ldrh r1, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, 0xB4 - ble _0800A950 - subs r0, r1, 0x4 - strh r0, [r2, 0x20] - b _0800A96A - .align 2, 0 -_0800A948: .4byte 0x03004b20 -_0800A94C: .4byte 0x02020004 -_0800A950: - movs r0, 0xB4 - strh r0, [r2, 0x20] - movs r1, 0x12 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0800A96A - ldrb r0, [r2, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - strb r1, [r2, 0x1] - ldr r0, _0800A970 - str r0, [r3] -_0800A96A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A970: .4byte task_new_game_prof_birch_speech_16 - thumb_func_end task_new_game_prof_birch_speech_18 - - thumb_func_start sub_800A974 -sub_800A974: @ 800A974 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x12 - bl DrawDefaultWindow - ldr r0, _0800A9A8 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r1, _0800A9AC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800A9B0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A9A8: .4byte gUnknown_081C6FFA -_0800A9AC: .4byte 0x03004b20 -_0800A9B0: .4byte Task_800A9B4 - thumb_func_end sub_800A974 - - thumb_func_start Task_800A9B4 -Task_800A9B4: @ 800A9B4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800A9DC - movs r0, 0x2 - movs r1, 0x1 - bl CreateNameMenu - ldr r0, _0800A9E4 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0800A9E8 - str r0, [r1] -_0800A9DC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A9E4: .4byte 0x03004b20 -_0800A9E8: .4byte sub_800A9EC - thumb_func_end Task_800A9B4 - - thumb_func_start sub_800A9EC -sub_800A9EC: @ 800A9EC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - bl NameMenuProcessInput - lsls r6, r0, 24 - asrs r4, r6, 24 - cmp r4, 0 - beq _0800AA48 - cmp r4, 0 - bgt _0800AA0E - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _0800AA78 - b _0800AA9C -_0800AA0E: - cmp r4, 0x4 - bgt _0800AA9C - bl sub_8072DEC - movs r0, 0x5 - bl audio_play - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x16 - movs r3, 0xC - bl Reset - lsrs r0, r6, 24 - bl set_default_player_name - ldr r1, _0800AA40 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800AA44 - str r1, [r0] - b _0800AA9C - .align 2, 0 -_0800AA40: .4byte 0x03004b20 -_0800AA44: .4byte task_new_game_prof_birch_speech_part2_1 -_0800AA48: - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0800AA70 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800AA74 - str r1, [r0] - b _0800AA9C - .align 2, 0 -_0800AA70: .4byte 0x03004b20 -_0800AA74: .4byte sub_800AAAC -_0800AA78: - bl sub_8072DEC - movs r0, 0x5 - bl audio_play - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x16 - movs r3, 0xC - bl Reset - ldr r0, _0800AAA4 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0800AAA8 - str r0, [r1] -_0800AA9C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800AAA4: .4byte 0x03004b20 -_0800AAA8: .4byte task_new_game_prof_birch_speech_14 - thumb_func_end sub_800A9EC - - thumb_func_start sub_800AAAC -sub_800AAAC: @ 800AAAC - push {r4,lr} - sub sp, 0x8 - ldr r0, _0800AAE0 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0800AAD8 - movs r0, 0x1 - bl set_default_player_name - ldr r1, _0800AAE4 - ldrb r2, [r1, 0x8] - str r4, [sp] - ldr r0, _0800AAE8 - str r0, [sp, 0x4] - movs r0, 0 - movs r3, 0 - bl DoNamingScreen -_0800AAD8: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800AAE0: .4byte 0x0202f388 -_0800AAE4: .4byte gSaveBlock2 -_0800AAE8: .4byte new_game_prof_birch_speech_part2_start - thumb_func_end sub_800AAAC - - thumb_func_start task_new_game_prof_birch_speech_part2_1 -task_new_game_prof_birch_speech_part2_1: @ 800AAEC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x12 - bl DrawDefaultWindow - ldr r5, _0800AB28 - ldr r1, _0800AB2C - adds r0, r5, 0 - bl StringExpandPlaceholders - adds r0, r5, 0 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r1, _0800AB30 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0800AB34 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800AB28: .4byte 0x020234cc -_0800AB2C: .4byte gUnknown_081C7017 -_0800AB30: .4byte 0x03004b20 -_0800AB34: .4byte sub_800AB38 - thumb_func_end task_new_game_prof_birch_speech_part2_1 - - thumb_func_start sub_800AB38 -sub_800AB38: @ 800AB38 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800AB62 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x1 - bl sub_8072974 - ldr r0, _0800AB68 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0800AB6C - str r0, [r1] -_0800AB62: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800AB68: .4byte 0x03004b20 -_0800AB6C: .4byte task_new_game_prof_birch_speech_part2_4 - thumb_func_end sub_800AB38 - - thumb_func_start task_new_game_prof_birch_speech_part2_4 -task_new_game_prof_birch_speech_part2_4: @ 800AB70 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0800AB96 - cmp r1, 0 - bgt _0800AB90 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0800ABF0 - b _0800AC10 -_0800AB90: - cmp r1, 0x1 - beq _0800ABF0 - b _0800AC10 -_0800AB96: - movs r0, 0x5 - bl audio_play - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0x7 - bl Reset - ldr r2, _0800ABE4 - ldr r0, _0800ABE8 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x1] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_800B458 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_800B614 - ldr r0, _0800ABEC - str r0, [r4] - b _0800AC10 - .align 2, 0 -_0800ABE4: .4byte 0x02020004 -_0800ABE8: .4byte 0x03004b20 -_0800ABEC: .4byte sub_800AC20 -_0800ABF0: - movs r0, 0x5 - bl audio_play - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0x7 - bl Reset - ldr r0, _0800AC18 - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0800AC1C - str r0, [r1] -_0800AC10: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800AC18: .4byte 0x03004b20 -_0800AC1C: .4byte task_new_game_prof_birch_speech_14 - thumb_func_end task_new_game_prof_birch_speech_part2_4 - - thumb_func_start sub_800AC20 -sub_800AC20: @ 800AC20 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800AC44 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r1, [r2, 0x10] - movs r3, 0x10 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _0800AC4C - adds r1, 0x2 - strh r1, [r2, 0x10] - ldr r0, _0800AC48 - strh r1, [r0] - b _0800AC50 - .align 2, 0 -_0800AC44: .4byte 0x03004b20 -_0800AC48: .4byte REG_BG1HOFS -_0800AC4C: - ldr r0, _0800AC54 - str r0, [r2] -_0800AC50: - pop {r0} - bx r0 - .align 2, 0 -_0800AC54: .4byte task_new_game_prof_birch_speech_part2_6 - thumb_func_end sub_800AC20 - - thumb_func_start task_new_game_prof_birch_speech_part2_6 -task_new_game_prof_birch_speech_part2_6: @ 800AC58 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0800AD34 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r7, r0, r1 - movs r1, 0x12 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _0800AD2C - ldr r5, _0800AD38 - movs r2, 0x1C - ldrsh r1, [r7, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x4 - mov r12, r3 - mov r2, r12 - orrs r1, r2 - strb r1, [r0] - movs r3, 0x1E - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldrb r0, [r7, 0x18] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x88 - strh r0, [r1, 0x20] - movs r0, 0x40 - strh r0, [r1, 0x22] - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r4, 0x5 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r3] - ldrb r3, [r1, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - mov r3, r12 - orrs r0, r3 - strb r0, [r1, 0x1] - ldrb r1, [r7, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x68 - strh r1, [r0, 0x20] - movs r1, 0x48 - strh r1, [r0, 0x22] - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - ands r4, r1 - strb r4, [r3] - ldrb r1, [r0, 0x1] - ands r2, r1 - mov r1, r12 - orrs r2, r1 - strb r2, [r0, 0x1] - adds r0, r6, 0 - movs r1, 0x2 - bl sub_800B534 - adds r0, r6, 0 - movs r1, 0x1 - bl sub_800B6C0 - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x12 - bl DrawDefaultWindow - ldr r4, _0800AD3C - ldr r1, _0800AD40 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r0, _0800AD44 - str r0, [r7] -_0800AD2C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800AD34: .4byte 0x03004b20 -_0800AD38: .4byte 0x02020004 -_0800AD3C: .4byte 0x020234cc -_0800AD40: .4byte gUnknown_081C7025 -_0800AD44: .4byte task_new_game_prof_birch_speech_part2_7 - thumb_func_end task_new_game_prof_birch_speech_part2_6 - - thumb_func_start task_new_game_prof_birch_speech_part2_7 -task_new_game_prof_birch_speech_part2_7: @ 800AD48 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0800ADE8 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0800ADE0 - ldr r7, _0800ADEC - movs r1, 0x18 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x1] - movs r6, 0xD - negs r6, r6 - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r1, 0x1A - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800ADE0 - movs r0, 0x18 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r2, [r0, 0x1] - adds r1, r6, 0 - ands r1, r2 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r0, 0x1] - movs r1, 0x1A - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x1] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_800B458 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_800B614 - movs r0, 0x40 - strh r0, [r4, 0x16] - ldr r0, _0800ADF0 - str r0, [r4] -_0800ADE0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800ADE8: .4byte 0x03004b20 -_0800ADEC: .4byte 0x02020004 -_0800ADF0: .4byte task_new_game_prof_birch_speech_part2_8 - thumb_func_end task_new_game_prof_birch_speech_part2_7 - - thumb_func_start task_new_game_prof_birch_speech_part2_8 -task_new_game_prof_birch_speech_part2_8: @ 800ADF4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0800AE4C - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r2, 0x12 - ldrsh r0, [r4, r2] - adds r7, r1, 0 - cmp r0, 0 - beq _0800AEC4 - ldr r2, _0800AE50 - movs r3, 0x18 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r0] - movs r0, 0x1A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - ldrh r1, [r4, 0x16] - movs r3, 0x16 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0800AE54 - subs r0, r1, 0x1 - strh r0, [r4, 0x16] - b _0800AEC4 - .align 2, 0 -_0800AE4C: .4byte 0x03004b20 -_0800AE50: .4byte 0x02020004 -_0800AE54: - ldr r0, _0800AE60 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _0800AE64 - ldrb r5, [r4, 0x1E] - b _0800AE66 - .align 2, 0 -_0800AE60: .4byte gSaveBlock2 -_0800AE64: - ldrb r5, [r4, 0x1C] -_0800AE66: - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r2 - movs r0, 0x78 - strh r0, [r1, 0x20] - movs r0, 0x3C - strh r0, [r1, 0x22] - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - subs r0, 0x41 - ands r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x1] - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r7 - strh r5, [r4, 0xC] - adds r0, r6, 0 - movs r1, 0x2 - bl sub_800B534 - adds r0, r6, 0 - movs r1, 0x1 - bl sub_800B6C0 - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x12 - bl DrawDefaultWindow - ldr r0, _0800AECC - movs r1, 0x3 - movs r2, 0xE - bl AddTextPrinterWithCallbackForMessage - ldr r0, _0800AED0 - str r0, [r4] -_0800AEC4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800AECC: .4byte gUnknown_081C7074 -_0800AED0: .4byte task_new_game_prof_birch_speech_part2_9 - thumb_func_end task_new_game_prof_birch_speech_part2_8 - - thumb_func_start task_new_game_prof_birch_speech_part2_9 -task_new_game_prof_birch_speech_part2_9: @ 800AED4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800AF6C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - movs r1, 0x12 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0800AF64 - ldr r7, _0800AF70 - movs r1, 0xC - ldrsh r0, [r6, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x18 - bl sub_8072CF4 - lsls r0, 24 - cmp r0, 0 - beq _0800AF64 - ldrb r0, [r6, 0xC] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r5, r4, r7 - ldrb r1, [r5, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r5, 0x1] - adds r0, r7, 0 - adds r0, 0x10 - adds r0, r4, r0 - ldr r1, _0800AF74 - str r1, [r0] - adds r0, r5, 0 - bl InitSpriteAffineAnim - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim - adds r0, r7, 0 - adds r0, 0x1C - adds r4, r0 - ldr r0, _0800AF78 - str r0, [r4] - ldr r0, _0800AF7C - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl play_sound_effect - ldr r0, _0800AF80 - str r0, [r6] -_0800AF64: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800AF6C: .4byte 0x03004b20 -_0800AF70: .4byte 0x02020004 -_0800AF74: .4byte gSpriteAffineAnimTable_81E79AC -_0800AF78: .4byte sub_800B240 -_0800AF7C: .4byte 0x0000ffff -_0800AF80: .4byte task_new_game_prof_birch_speech_part2_10 - thumb_func_end task_new_game_prof_birch_speech_part2_9 - - thumb_func_start task_new_game_prof_birch_speech_part2_10 -task_new_game_prof_birch_speech_part2_10: @ 800AF84 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800AFB4 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrb r1, [r3, 0xC] - ldr r2, _0800AFB8 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0800AFAE - ldr r0, _0800AFBC - str r0, [r3] -_0800AFAE: - pop {r0} - bx r0 - .align 2, 0 -_0800AFB4: .4byte 0x03004b20 -_0800AFB8: .4byte 0x02020004 -_0800AFBC: .4byte sub_800AFC0 - thumb_func_end task_new_game_prof_birch_speech_part2_10 - - thumb_func_start sub_800AFC0 -sub_800AFC0: @ 800AFC0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0800B018 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0800B010 - ldr r0, _0800B01C - lsls r4, r2, 2 - adds r4, r2 - lsls r4, 3 - adds r4, r0 - ldrb r2, [r4, 0xC] - ldr r1, _0800B020 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0800B024 - str r1, [r0] - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x82 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0800B028 - ldr r1, _0800B02C - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0800B030 - str r0, [r4] -_0800B010: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800B018: .4byte 0x0202f388 -_0800B01C: .4byte 0x03004b20 -_0800B020: .4byte 0x02020004 -_0800B024: .4byte nullsub_34 -_0800B028: .4byte 0xffff0000 -_0800B02C: .4byte 0x0000ffff -_0800B030: .4byte sub_800B034 - thumb_func_end sub_800AFC0 - - thumb_func_start sub_800B034 -sub_800B034: @ 800B034 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0800B058 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0800B052 - ldr r0, _0800B05C - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0800B052: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800B058: .4byte 0x0202f388 -_0800B05C: .4byte c2_load_new_map_2 - thumb_func_end sub_800B034 - - thumb_func_start new_game_prof_birch_speech_part2_start -new_game_prof_birch_speech_part2_start: @ 800B060 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - movs r4, 0 - strh r4, [r0] - adds r0, 0xC - strh r4, [r0] - subs r0, 0x2 - strh r4, [r0] - subs r0, 0x2 - strh r4, [r0] - adds r0, 0x10 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - subs r0, 0x6 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - subs r0, 0x6 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - add r0, sp, 0x4 - strh r4, [r0] - ldr r1, _0800B13C - str r0, [r1] - movs r4, 0xC0 - lsls r4, 19 - str r4, [r1, 0x4] - ldr r0, _0800B140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0800B144 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x4 - strh r2, [r0] - str r0, [r1] - movs r0, 0xA0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0800B148 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - ldr r0, _0800B14C - adds r1, r4, 0 - bl LZ77UnCompVram - ldr r0, _0800B150 - ldr r1, _0800B154 - bl LZ77UnCompVram - ldr r0, _0800B158 - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - bl ResetTasks - ldr r0, _0800B15C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0800B160 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldr r0, _0800B164 - strh r0, [r4, 0x10] - bl remove_some_task - bl ResetSpriteData - bl FreeAllSpritePalettes - adds r0, r5, 0 - bl AddBirchSpeechObjects - ldr r0, _0800B168 - bl SetUpWindowConfig - ldr r0, _0800B16C - bl sub_8071C4C - ldr r0, _0800B170 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _0800B174 - movs r0, 0x1 - strh r0, [r4, 0x14] - ldrb r3, [r4, 0x1E] - b _0800B178 - .align 2, 0 -_0800B13C: .4byte 0x040000d4 -_0800B140: .4byte 0x8100c000 -_0800B144: .4byte 0x85000100 -_0800B148: .4byte 0x81000200 -_0800B14C: .4byte gUnknown_081E768C -_0800B150: .4byte gUnknown_081E7834 -_0800B154: .4byte 0x06003800 -_0800B158: .4byte gUnknown_081E764C -_0800B15C: .4byte task_new_game_prof_birch_speech_part2_1 -_0800B160: .4byte 0x03004b20 -_0800B164: .4byte 0x0000ffc4 -_0800B168: .4byte gWindowConfig_81E6C3C -_0800B16C: .4byte gWindowConfig_81E6CE4 -_0800B170: .4byte gSaveBlock2 -_0800B174: - strh r0, [r4, 0x14] - ldrb r3, [r4, 0x1C] -_0800B178: - ldr r0, _0800B210 - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - movs r4, 0 - movs r0, 0xB4 - strh r0, [r1, 0x20] - movs r0, 0x3C - strh r0, [r1, 0x22] - adds r1, 0x3E - ldrb r2, [r1] - subs r0, 0x41 - ands r0, r2 - strb r0, [r1] - ldr r1, _0800B214 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0xC] - ldr r1, _0800B218 - ldr r2, _0800B21C - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _0800B220 - strh r4, [r0] - adds r0, 0x4 - strh r4, [r0] - adds r0, 0x4 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, 0x6 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r3, _0800B224 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _0800B228 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, _0800B22C - bl SetVBlankCallback - ldr r0, _0800B230 - bl SetMainCallback2 - ldr r1, _0800B234 - ldr r2, _0800B238 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xA - movs r2, 0x9A - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B210: .4byte 0x02020004 -_0800B214: .4byte 0x03004b20 -_0800B218: .4byte REG_BG1HOFS -_0800B21C: .4byte 0x0000ffc4 -_0800B220: .4byte REG_WIN0H -_0800B224: .4byte 0x04000208 -_0800B228: .4byte 0x04000200 -_0800B22C: .4byte VBlankCB_MainMenu -_0800B230: .4byte CB2_MainMenu -_0800B234: .4byte REG_BG1CNT -_0800B238: .4byte 0x00000703 - thumb_func_end new_game_prof_birch_speech_part2_start - - thumb_func_start nullsub_34 -nullsub_34: @ 800B23C - bx lr - thumb_func_end nullsub_34 - - thumb_func_start sub_800B240 -sub_800B240: @ 800B240 - movs r2, 0x22 - ldrsh r1, [r0, r2] - lsls r1, 16 - movs r3, 0x2E - ldrsh r2, [r0, r3] - adds r1, r2 - movs r2, 0xC0 - lsls r2, 8 - adds r1, r2 - lsrs r2, r1, 16 - strh r2, [r0, 0x22] - strh r1, [r0, 0x2E] - bx lr - thumb_func_end sub_800B240 - - thumb_func_start sub_800B25C -sub_800B25C: @ 800B25C - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r6, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _0800B2B8 - ldr r2, _0800B2BC - movs r3, 0xAF - lsls r3, 3 - adds r1, r2, r3 - ldrb r1, [r1] - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - ldr r4, _0800B2C0 - ldr r3, [r4] - ldr r4, [r4, 0x4] - str r4, [sp] - movs r4, 0xAF - lsls r4, 1 - str r4, [sp, 0x4] - bl DecompressPicFromTable_2 - ldr r0, _0800B2C4 - bl LoadCompressedObjectPalette - adds r0, r4, 0 - movs r1, 0x1 - bl gpu_pal_obj_decompress_and_apply - ldr r0, _0800B2C8 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0800B2B8: .4byte gMonFrontPicTable + 0xAF0 -_0800B2BC: .4byte gMonFrontPicCoords -_0800B2C0: .4byte gUnknown_081FAF4C -_0800B2C4: .4byte gMonPaletteTable + 0xAF0 -_0800B2C8: .4byte 0x02024e8c - thumb_func_end sub_800B25C - - thumb_func_start AddBirchSpeechObjects -AddBirchSpeechObjects: @ 800B2CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x88 - movs r1, 0x3C - movs r2, 0x1 - bl AddNewGameBirchObject - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800B3DC - mov r9, r1 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - movs r3, 0x1C - add r3, r9 - mov r8, r3 - adds r1, r2, r3 - ldr r7, _0800B3E0 - str r7, [r1] - add r2, r9 - ldrb r3, [r2, 0x5] - movs r6, 0xD - negs r6, r6 - adds r1, r6, 0 - ands r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x4 - mov r10, r3 - mov r3, r10 - orrs r1, r3 - strb r1, [r2] - ldr r1, _0800B3E4 - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r1 - strh r0, [r5, 0x18] - movs r0, 0x68 - movs r1, 0x48 - bl sub_800B25C - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - mov r4, r8 - adds r1, r2, r4 - str r7, [r1] - add r2, r9 - ldrb r3, [r2, 0x5] - adds r1, r6, 0 - ands r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - mov r3, r10 - orrs r1, r3 - strb r1, [r2] - strh r0, [r5, 0x1A] - ldr r4, _0800B3E8 - str r4, [sp] - movs r0, 0 - movs r1, 0x78 - movs r2, 0x3C - movs r3, 0 - bl sub_80859BC - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - mov r3, r8 - adds r1, r2, r3 - str r7, [r1] - add r2, r9 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - mov r4, r10 - orrs r1, r4 - strb r1, [r3] - ldrb r3, [r2, 0x5] - adds r1, r6, 0 - ands r1, r3 - strb r1, [r2, 0x5] - strh r0, [r5, 0x1C] - ldr r0, _0800B3E8 - movs r1, 0x80 - lsls r1, 4 - adds r4, r0, r1 - str r4, [sp] - movs r0, 0x1 - movs r1, 0x78 - movs r2, 0x3C - movs r3, 0 - bl sub_80859BC - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r8, r2 - mov r3, r8 - str r7, [r3] - add r2, r9 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - mov r4, r10 - orrs r1, r4 - strb r1, [r3] - ldrb r1, [r2, 0x5] - ands r6, r1 - strb r6, [r2, 0x5] - strh r0, [r5, 0x1E] - 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 -_0800B3DC: .4byte 0x02020004 -_0800B3E0: .4byte nullsub_34 -_0800B3E4: .4byte 0x03004b20 -_0800B3E8: .4byte 0x02000000 - thumb_func_end AddBirchSpeechObjects - - thumb_func_start sub_800B3EC -sub_800B3EC: @ 800B3EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, _0800B420 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r3, r0, r4 - ldrh r1, [r3, 0xA] - movs r5, 0xA - ldrsh r0, [r3, r5] - cmp r0, 0 - bne _0800B424 - movs r1, 0x8 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x1 - strh r0, [r1, 0x12] - adds r0, r2, 0 - bl DestroyTask - b _0800B44E - .align 2, 0 -_0800B420: .4byte 0x03004b20 -_0800B424: - ldrh r2, [r3, 0x10] - movs r4, 0x10 - ldrsh r0, [r3, r4] - cmp r0, 0 - beq _0800B434 - subs r0, r2, 0x1 - strh r0, [r3, 0x10] - b _0800B44E -_0800B434: - ldrh r0, [r3, 0xE] - strh r0, [r3, 0x10] - subs r1, 0x1 - strh r1, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - ldr r2, _0800B454 - movs r5, 0xC - ldrsh r0, [r3, r5] - lsls r0, 8 - adds r1, r0 - strh r1, [r2] -_0800B44E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B454: .4byte REG_BLDALPHA - thumb_func_end sub_800B3EC - - thumb_func_start sub_800B458 -sub_800B458: @ 800B458 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _0800B4BC - movs r2, 0x94 - lsls r2, 2 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x10 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0 - strh r0, [r1] - ldr r0, _0800B4C0 - mov r8, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r6, 0 - strh r6, [r0, 0x12] - ldr r0, _0800B4C4 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - add r1, r8 - strh r4, [r1, 0x8] - movs r0, 0x10 - strh r0, [r1, 0xA] - strh r6, [r1, 0xC] - strh r5, [r1, 0xE] - strh r5, [r1, 0x10] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800B4BC: .4byte REG_BLDCNT -_0800B4C0: .4byte 0x03004b20 -_0800B4C4: .4byte sub_800B3EC - thumb_func_end sub_800B458 - - thumb_func_start sub_800B4C8 -sub_800B4C8: @ 800B4C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, _0800B4FC - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r3, r0, r4 - ldrh r1, [r3, 0xA] - movs r5, 0xA - ldrsh r0, [r3, r5] - cmp r0, 0x10 - bne _0800B500 - movs r1, 0x8 - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x1 - strh r0, [r1, 0x12] - adds r0, r2, 0 - bl DestroyTask - b _0800B52A - .align 2, 0 -_0800B4FC: .4byte 0x03004b20 -_0800B500: - ldrh r2, [r3, 0x10] - movs r4, 0x10 - ldrsh r0, [r3, r4] - cmp r0, 0 - beq _0800B510 - subs r0, r2, 0x1 - strh r0, [r3, 0x10] - b _0800B52A -_0800B510: - ldrh r0, [r3, 0xE] - strh r0, [r3, 0x10] - adds r1, 0x1 - strh r1, [r3, 0xA] - ldrh r0, [r3, 0xC] - subs r0, 0x1 - strh r0, [r3, 0xC] - ldr r2, _0800B530 - movs r5, 0xC - ldrsh r0, [r3, r5] - lsls r0, 8 - adds r1, r0 - strh r1, [r2] -_0800B52A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B530: .4byte REG_BLDALPHA - thumb_func_end sub_800B4C8 - - thumb_func_start sub_800B534 -sub_800B534: @ 800B534 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _0800B59C - movs r2, 0x94 - lsls r2, 2 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r2, 0x80 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0 - strh r0, [r1] - ldr r0, _0800B5A0 - mov r8, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - movs r6, 0 - strh r6, [r0, 0x12] - ldr r0, _0800B5A4 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - add r1, r8 - strh r4, [r1, 0x8] - strh r6, [r1, 0xA] - movs r0, 0x10 - strh r0, [r1, 0xC] - strh r5, [r1, 0xE] - strh r5, [r1, 0x10] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800B59C: .4byte REG_BLDCNT -_0800B5A0: .4byte 0x03004b20 -_0800B5A4: .4byte sub_800B4C8 - thumb_func_end sub_800B534 - - thumb_func_start sub_800B5A8 -sub_800B5A8: @ 800B5A8 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800B5C8 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - ldrh r3, [r1, 0xC] - movs r4, 0xC - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _0800B5CC - subs r0, r3, 0x1 - strh r0, [r1, 0xC] - b _0800B608 - .align 2, 0 -_0800B5C8: .4byte 0x03004b20 -_0800B5CC: - ldrh r3, [r1, 0xA] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r0, 0x8 - bne _0800B5DE - adds r0, r2, 0 - bl DestroyTask - b _0800B608 -_0800B5DE: - ldrh r2, [r1, 0x10] - movs r4, 0x10 - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _0800B5EE - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - b _0800B608 -_0800B5EE: - ldrh r0, [r1, 0xE] - strh r0, [r1, 0x10] - adds r0, r3, 0x1 - strh r0, [r1, 0xA] - movs r2, 0xA - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r1, _0800B610 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x10 - bl LoadPalette -_0800B608: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800B610: .4byte gUnknown_081E795C - thumb_func_end sub_800B5A8 - - thumb_func_start sub_800B614 -sub_800B614: @ 800B614 - 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, _0800B64C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800B650 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r4, [r1, 0x8] - strh r0, [r1, 0xA] - movs r0, 0x8 - strh r0, [r1, 0xC] - strh r5, [r1, 0xE] - strh r5, [r1, 0x10] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B64C: .4byte sub_800B5A8 -_0800B650: .4byte 0x03004b20 - thumb_func_end sub_800B614 - - thumb_func_start sub_800B654 -sub_800B654: @ 800B654 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800B674 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - ldrh r3, [r1, 0xC] - movs r4, 0xC - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _0800B678 - subs r0, r3, 0x1 - strh r0, [r1, 0xC] - b _0800B6B4 - .align 2, 0 -_0800B674: .4byte 0x03004b20 -_0800B678: - ldrh r3, [r1, 0xA] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _0800B68A - adds r0, r2, 0 - bl DestroyTask - b _0800B6B4 -_0800B68A: - ldrh r2, [r1, 0x10] - movs r4, 0x10 - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _0800B69A - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - b _0800B6B4 -_0800B69A: - ldrh r0, [r1, 0xE] - strh r0, [r1, 0x10] - subs r0, r3, 0x1 - strh r0, [r1, 0xA] - movs r2, 0xA - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r1, _0800B6BC - adds r0, r1 - movs r1, 0x1 - movs r2, 0x10 - bl LoadPalette -_0800B6B4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800B6BC: .4byte gUnknown_081E795C - thumb_func_end sub_800B654 - - thumb_func_start sub_800B6C0 -sub_800B6C0: @ 800B6C0 - 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, _0800B6F8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800B6FC - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - movs r0, 0x8 - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r5, [r1, 0xE] - strh r5, [r1, 0x10] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B6F8: .4byte sub_800B654 -_0800B6FC: .4byte 0x03004b20 - thumb_func_end sub_800B6C0 - - thumb_func_start CreateGenderMenu -CreateGenderMenu: @ 800B700 - push {r4,r5,lr} - sub sp, 0x8 - adds r2, r0, 0 - adds r3, r1, 0 - lsls r2, 24 - lsls r3, 24 - lsrs r5, r2, 24 - movs r0, 0xC0 - lsls r0, 19 - adds r2, r0 - lsrs r2, 24 - lsrs r4, r3, 24 - movs r0, 0xA0 - lsls r0, 19 - adds r3, r0 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl DrawDefaultWindow - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - ldr r3, _0800B75C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl PrintStringArray - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - movs r0, 0 - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl InitMenu - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B75C: .4byte gUnknown_081E79B0 - thumb_func_end CreateGenderMenu - - thumb_func_start GenderMenuProcessInput -GenderMenuProcessInput: @ 800B760 - push {lr} - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GenderMenuProcessInput - - thumb_func_start CreateNameMenu -CreateNameMenu: @ 800B770 - push {r4,r5,lr} - sub sp, 0x8 - adds r2, r0, 0 - adds r3, r1, 0 - lsls r2, 24 - lsls r3, 24 - lsrs r5, r2, 24 - movs r0, 0xA0 - lsls r0, 20 - adds r2, r0 - lsrs r2, 24 - lsrs r4, r3, 24 - movs r0, 0xB0 - lsls r0, 20 - adds r3, r0 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl DrawDefaultWindow - ldr r0, _0800B7B8 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0800B7C0 - adds r5, 0x1 - lsls r0, r5, 24 - lsrs r0, 24 - adds r4, 0x1 - lsls r1, r4, 24 - lsrs r1, 24 - ldr r3, _0800B7BC - movs r2, 0x5 - bl PrintStringArray - b _0800B7D4 - .align 2, 0 -_0800B7B8: .4byte gSaveBlock2 -_0800B7BC: .4byte gUnknown_081E79C0 -_0800B7C0: - adds r5, 0x1 - lsls r0, r5, 24 - lsrs r0, 24 - adds r4, 0x1 - lsls r1, r4, 24 - lsrs r1, 24 - ldr r3, _0800B7F4 - movs r2, 0x5 - bl PrintStringArray -_0800B7D4: - lsls r1, r5, 24 - lsrs r1, 24 - lsls r2, r4, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r3, 0x5 - bl InitMenu - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B7F4: .4byte gUnknown_081E79E8 - thumb_func_end CreateNameMenu - - thumb_func_start NameMenuProcessInput -NameMenuProcessInput: @ 800B7F8 - push {lr} - bl ProcessMenuInput - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end NameMenuProcessInput - - thumb_func_start set_default_player_name -set_default_player_name: @ 800B808 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0800B81C - ldrb r1, [r0, 0x8] - adds r5, r0, 0 - cmp r1, 0 - bne _0800B824 - ldr r1, _0800B820 - b _0800B826 - .align 2, 0 -_0800B81C: .4byte gSaveBlock2 -_0800B820: .4byte gUnknown_081E79C0 -_0800B824: - ldr r1, _0800B850 -_0800B826: - lsls r0, r2, 3 - adds r0, r1 - ldr r3, [r0] - movs r2, 0 - ldr r4, _0800B854 -_0800B830: - adds r1, r2, r4 - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x6 - bls _0800B830 - adds r1, r2, r5 - movs r0, 0xFF - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B850: .4byte gUnknown_081E79E8 -_0800B854: .4byte gSaveBlock2 - thumb_func_end set_default_player_name - thumb_func_start sub_800B858 sub_800B858: @ 800B858 push {lr} @@ -4328,7 +92,7 @@ _0800B8A0: adds r0, r4, 0 movs r1, 0xC add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData _0800B90E: ldr r0, _0800B948 str r5, [r0] @@ -4913,24 +677,24 @@ _0800BDAE: adds r4, r7, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0800BE74 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0800BE74 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 beq _0800BE74 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0800BE74 ldr r0, _0800BDF0 @@ -4951,7 +715,7 @@ _0800BDF4: adds r4, r7, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0800BE74 adds r0, r4, 0 @@ -4964,25 +728,25 @@ _0800BE1C: adds r4, r7, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0800BE74 adds r0, r4, 0 movs r1, 0x41 _0800BE30: - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0800BE74 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 beq _0800BE74 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0800BE74 ldr r1, _0800BE70 @@ -8364,16 +4128,16 @@ _0800D748: .4byte 0x0000bf40 sub_800D74C: @ 800D74C push {r4,lr} movs r0, 0x12 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum ldr r4, _0800D79C adds r0, r4, 0 movs r1, 0x1 - bl sub_8064F38 + bl LoadTextWindowGraphics_OverridePalSlot movs r0, 0x22 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum adds r0, r4, 0 movs r1, 0x1 - bl sub_8064F38 + bl LoadTextWindowGraphics_OverridePalSlot ldr r3, _0800D7A0 adds r0, r3, 0 adds r0, 0xB8 @@ -8430,7 +4194,7 @@ _0800D7E4: .4byte gBattleTerrainTiles_Building _0800D7E8: .4byte 0x06008000 _0800D7EC: .4byte gBattleTerrainTilemap_Building _0800D7F0: .4byte 0x0600d000 -_0800D7F4: .4byte gUnknown_08E62AC0 +_0800D7F4: .4byte gBattleTerrainPalette_BattleTower _0800D7F8: movs r0, 0x80 lsls r0, 5 @@ -8455,7 +4219,7 @@ _0800D824: .4byte gBattleTerrainTiles_Cave _0800D828: .4byte 0x06008000 _0800D82C: .4byte gBattleTerrainTilemap_Cave _0800D830: .4byte 0x0600d000 -_0800D834: .4byte gUnknown_08E636E0 +_0800D834: .4byte gBattleTerrainPalette_Groudon _0800D838: ldr r0, _0800D84C ldr r1, _0800D850 @@ -8470,7 +4234,7 @@ _0800D84C: .4byte gBattleTerrainTiles_Water _0800D850: .4byte 0x06008000 _0800D854: .4byte gBattleTerrainTilemap_Water _0800D858: .4byte 0x0600d000 -_0800D85C: .4byte gUnknown_08E636A4 +_0800D85C: .4byte gBattleTerrainPalette_Kyogre _0800D860: movs r0, 0x8 ands r0, r1 @@ -8501,7 +4265,7 @@ _0800D898: .4byte gBattleTerrainTiles_Building _0800D89C: .4byte 0x06008000 _0800D8A0: .4byte gBattleTerrainTilemap_Building _0800D8A4: .4byte 0x0600d000 -_0800D8A8: .4byte gUnknown_08E63774 +_0800D8A8: .4byte gBattleTerrainPalette_BuildingLeader _0800D8AC: cmp r0, 0x20 bne _0800D8D8 @@ -8514,11 +4278,11 @@ _0800D8AC: ldr r0, _0800D8D4 b _0800DA66 .align 2, 0 -_0800D8C4: .4byte gUnknown_08E62DAC +_0800D8C4: .4byte gBattleTerrainTiles_Stadium _0800D8C8: .4byte 0x06008000 -_0800D8CC: .4byte gUnknown_08E633B4 +_0800D8CC: .4byte gBattleTerrainTilemap_Stadium _0800D8D0: .4byte 0x0600d000 -_0800D8D4: .4byte gUnknown_08E639A8 +_0800D8D4: .4byte gBattleTerrainPalette_StadiumSteven _0800D8D8: bl sav1_map_get_battletype lsls r0, 24 @@ -8592,7 +4356,7 @@ _0800D978: .4byte gBattleTerrainTiles_Building _0800D97C: .4byte 0x06008000 _0800D980: .4byte gBattleTerrainTilemap_Building _0800D984: .4byte 0x0600d000 -_0800D988: .4byte gUnknown_08E63738 +_0800D988: .4byte gBattleTerrainPalette_BuildingGym _0800D98C: ldr r0, _0800D9A0 ldr r1, _0800D9A4 @@ -8603,11 +4367,11 @@ _0800D98C: ldr r0, _0800D9B0 b _0800DA66 .align 2, 0 -_0800D9A0: .4byte gUnknown_08E62DAC +_0800D9A0: .4byte gBattleTerrainTiles_Stadium _0800D9A4: .4byte 0x06008000 -_0800D9A8: .4byte gUnknown_08E633B4 +_0800D9A8: .4byte gBattleTerrainTilemap_Stadium _0800D9AC: .4byte 0x0600d000 -_0800D9B0: .4byte gUnknown_08E63810 +_0800D9B0: .4byte gBattleTerrainPalette_StadiumMagma _0800D9B4: ldr r0, _0800D9C8 ldr r1, _0800D9CC @@ -8618,11 +4382,11 @@ _0800D9B4: ldr r0, _0800D9D8 b _0800DA66 .align 2, 0 -_0800D9C8: .4byte gUnknown_08E62DAC +_0800D9C8: .4byte gBattleTerrainTiles_Stadium _0800D9CC: .4byte 0x06008000 -_0800D9D0: .4byte gUnknown_08E633B4 +_0800D9D0: .4byte gBattleTerrainTilemap_Stadium _0800D9D4: .4byte 0x0600d000 -_0800D9D8: .4byte gUnknown_08E637B0 +_0800D9D8: .4byte gBattleTerrainPalette_StadiumAqua _0800D9DC: ldr r0, _0800D9F0 ldr r1, _0800D9F4 @@ -8633,11 +4397,11 @@ _0800D9DC: ldr r0, _0800DA00 b _0800DA66 .align 2, 0 -_0800D9F0: .4byte gUnknown_08E62DAC +_0800D9F0: .4byte gBattleTerrainTiles_Stadium _0800D9F4: .4byte 0x06008000 -_0800D9F8: .4byte gUnknown_08E633B4 +_0800D9F8: .4byte gBattleTerrainTilemap_Stadium _0800D9FC: .4byte 0x0600d000 -_0800DA00: .4byte gUnknown_08E6387C +_0800DA00: .4byte gBattleTerrainPalette_StadiumSidney _0800DA04: ldr r0, _0800DA18 ldr r1, _0800DA1C @@ -8648,11 +4412,11 @@ _0800DA04: ldr r0, _0800DA28 b _0800DA66 .align 2, 0 -_0800DA18: .4byte gUnknown_08E62DAC +_0800DA18: .4byte gBattleTerrainTiles_Stadium _0800DA1C: .4byte 0x06008000 -_0800DA20: .4byte gUnknown_08E633B4 +_0800DA20: .4byte gBattleTerrainTilemap_Stadium _0800DA24: .4byte 0x0600d000 -_0800DA28: .4byte gUnknown_08E638CC +_0800DA28: .4byte gBattleTerrainPalette_StadiumPhoebe _0800DA2C: ldr r0, _0800DA40 ldr r1, _0800DA44 @@ -8663,11 +4427,11 @@ _0800DA2C: ldr r0, _0800DA50 b _0800DA66 .align 2, 0 -_0800DA40: .4byte gUnknown_08E62DAC +_0800DA40: .4byte gBattleTerrainTiles_Stadium _0800DA44: .4byte 0x06008000 -_0800DA48: .4byte gUnknown_08E633B4 +_0800DA48: .4byte gBattleTerrainTilemap_Stadium _0800DA4C: .4byte 0x0600d000 -_0800DA50: .4byte gUnknown_08E63914 +_0800DA50: .4byte gBattleTerrainPalette_StadiumGlacia _0800DA54: ldr r0, _0800DA70 ldr r1, _0800DA74 @@ -8682,11 +4446,11 @@ _0800DA66: bl LoadCompressedPalette b _0800DA9E .align 2, 0 -_0800DA70: .4byte gUnknown_08E62DAC +_0800DA70: .4byte gBattleTerrainTiles_Stadium _0800DA74: .4byte 0x06008000 -_0800DA78: .4byte gUnknown_08E633B4 +_0800DA78: .4byte gBattleTerrainTilemap_Stadium _0800DA7C: .4byte 0x0600d000 -_0800DA80: .4byte gUnknown_08E63958 +_0800DA80: .4byte gBattleTerrainPalette_StadiumDrake _0800DA84: ldr r0, _0800DAA4 ldr r1, _0800DAA8 @@ -8707,7 +4471,7 @@ _0800DAA4: .4byte gBattleTerrainTiles_Building _0800DAA8: .4byte 0x06008000 _0800DAAC: .4byte gBattleTerrainTilemap_Building _0800DAB0: .4byte 0x0600d000 -_0800DAB4: .4byte gUnknown_08E62AC0 +_0800DAB4: .4byte gBattleTerrainPalette_BattleTower thumb_func_end sub_800D7B8 thumb_func_start sub_800DAB8 @@ -9673,14 +5437,14 @@ sub_800E23C: @ 800E23C b _0800E3FC .align 2, 0 _0800E29C: .4byte 0x020239f8 -_0800E2A0: .4byte gUnknown_08E5DA10 +_0800E2A0: .4byte gVersusFrameGfx _0800E2A4: .4byte 0x06004000 -_0800E2A8: .4byte gUnknown_08E5DAF8 +_0800E2A8: .4byte gVersusFrameTilemap _0800E2AC: .4byte 0x0600e000 _0800E2B0: .4byte 0x0600f000 _0800E2B4: .4byte gUnknown_08E5DC2C _0800E2B8: .4byte 0x06010000 -_0800E2BC: .4byte gUnknown_08E5DC04 +_0800E2BC: .4byte gVersusFramePal _0800E2C0: .4byte REG_BG1CNT _0800E2C4: .4byte 0x00005c04 _0800E2C8: .4byte REG_WININ @@ -9926,7 +5690,7 @@ _0800E4C0: .align 2, 0 _0800E4E4: .4byte gTrainers _0800E4E8: .4byte 0x0202ff5e -_0800E4EC: .4byte gUnknown_08E62DAC +_0800E4EC: .4byte gBattleTerrainTiles_Stadium _0800E4F0: bl sav1_map_get_battletype lsls r0, 24 @@ -9970,32 +5734,32 @@ _0800E54C: ldr r0, _0800E550 b _0800E57E .align 2, 0 -_0800E550: .4byte gUnknown_08E62DAC +_0800E550: .4byte gBattleTerrainTiles_Stadium _0800E554: ldr r0, _0800E558 b _0800E57E .align 2, 0 -_0800E558: .4byte gUnknown_08E62DAC +_0800E558: .4byte gBattleTerrainTiles_Stadium _0800E55C: ldr r0, _0800E560 b _0800E57E .align 2, 0 -_0800E560: .4byte gUnknown_08E62DAC +_0800E560: .4byte gBattleTerrainTiles_Stadium _0800E564: ldr r0, _0800E568 b _0800E57E .align 2, 0 -_0800E568: .4byte gUnknown_08E62DAC +_0800E568: .4byte gBattleTerrainTiles_Stadium _0800E56C: ldr r0, _0800E570 b _0800E57E .align 2, 0 -_0800E570: .4byte gUnknown_08E62DAC +_0800E570: .4byte gBattleTerrainTiles_Stadium _0800E574: ldr r0, _0800E578 b _0800E57E .align 2, 0 -_0800E578: .4byte gUnknown_08E62DAC +_0800E578: .4byte gBattleTerrainTiles_Stadium _0800E57C: ldr r0, _0800E588 _0800E57E: @@ -10057,7 +5821,7 @@ _0800E5CC: .align 2, 0 _0800E5F0: .4byte gTrainers _0800E5F4: .4byte 0x0202ff5e -_0800E5F8: .4byte gUnknown_08E633B4 +_0800E5F8: .4byte gBattleTerrainTilemap_Stadium _0800E5FC: bl sav1_map_get_battletype lsls r0, 24 @@ -10102,32 +5866,32 @@ _0800E658: ldr r0, _0800E65C b _0800E68A .align 2, 0 -_0800E65C: .4byte gUnknown_08E633B4 +_0800E65C: .4byte gBattleTerrainTilemap_Stadium _0800E660: ldr r0, _0800E664 b _0800E68A .align 2, 0 -_0800E664: .4byte gUnknown_08E633B4 +_0800E664: .4byte gBattleTerrainTilemap_Stadium _0800E668: ldr r0, _0800E66C b _0800E68A .align 2, 0 -_0800E66C: .4byte gUnknown_08E633B4 +_0800E66C: .4byte gBattleTerrainTilemap_Stadium _0800E670: ldr r0, _0800E674 b _0800E68A .align 2, 0 -_0800E674: .4byte gUnknown_08E633B4 +_0800E674: .4byte gBattleTerrainTilemap_Stadium _0800E678: ldr r0, _0800E67C b _0800E68A .align 2, 0 -_0800E67C: .4byte gUnknown_08E633B4 +_0800E67C: .4byte gBattleTerrainTilemap_Stadium _0800E680: ldr r0, _0800E684 b _0800E68A .align 2, 0 -_0800E684: .4byte gUnknown_08E633B4 +_0800E684: .4byte gBattleTerrainTilemap_Stadium _0800E688: ldr r0, _0800E694 _0800E68A: @@ -10161,12 +5925,12 @@ _0800E6AA: _0800E6C0: .4byte 0x020239f8 _0800E6C4: .4byte 0x00000902 _0800E6C8: .4byte gGameVersion -_0800E6CC: .4byte gUnknown_08E636E0 +_0800E6CC: .4byte gBattleTerrainPalette_Groudon _0800E6D0: ldr r0, _0800E6D4 b _0800E7A6 .align 2, 0 -_0800E6D4: .4byte gUnknown_08E636A4 +_0800E6D4: .4byte gBattleTerrainPalette_Kyogre _0800E6D8: movs r0, 0x8 ands r0, r1 @@ -10187,14 +5951,14 @@ _0800E6D8: .align 2, 0 _0800E6F8: .4byte gTrainers _0800E6FC: .4byte 0x0202ff5e -_0800E700: .4byte gUnknown_08E63774 +_0800E700: .4byte gBattleTerrainPalette_BuildingLeader _0800E704: cmp r0, 0x20 bne _0800E710 ldr r0, _0800E70C b _0800E7A6 .align 2, 0 -_0800E70C: .4byte gUnknown_08E639A8 +_0800E70C: .4byte gBattleTerrainPalette_StadiumSteven _0800E710: bl sav1_map_get_battletype lsls r0, 24 @@ -10237,37 +6001,37 @@ _0800E76C: ldr r0, _0800E770 b _0800E7A6 .align 2, 0 -_0800E770: .4byte gUnknown_08E63738 +_0800E770: .4byte gBattleTerrainPalette_BuildingGym _0800E774: ldr r0, _0800E778 b _0800E7A6 .align 2, 0 -_0800E778: .4byte gUnknown_08E63810 +_0800E778: .4byte gBattleTerrainPalette_StadiumMagma _0800E77C: ldr r0, _0800E780 b _0800E7A6 .align 2, 0 -_0800E780: .4byte gUnknown_08E637B0 +_0800E780: .4byte gBattleTerrainPalette_StadiumAqua _0800E784: ldr r0, _0800E788 b _0800E7A6 .align 2, 0 -_0800E788: .4byte gUnknown_08E6387C +_0800E788: .4byte gBattleTerrainPalette_StadiumSidney _0800E78C: ldr r0, _0800E790 b _0800E7A6 .align 2, 0 -_0800E790: .4byte gUnknown_08E638CC +_0800E790: .4byte gBattleTerrainPalette_StadiumPhoebe _0800E794: ldr r0, _0800E798 b _0800E7A6 .align 2, 0 -_0800E798: .4byte gUnknown_08E63914 +_0800E798: .4byte gBattleTerrainPalette_StadiumGlacia _0800E79C: ldr r0, _0800E7A0 b _0800E7A6 .align 2, 0 -_0800E7A0: .4byte gUnknown_08E63958 +_0800E7A0: .4byte gBattleTerrainPalette_StadiumDrake _0800E7A4: ldr r0, _0800E7B0 _0800E7A6: @@ -10276,7 +6040,7 @@ _0800E7A6: bl LoadCompressedPalette b _0800E7BC .align 2, 0 -_0800E7B0: .4byte gUnknown_08E62AC0 +_0800E7B0: .4byte gBattleTerrainPalette_BattleTower _0800E7B4: bl sub_800D74C b _0800E7BC @@ -10538,17 +6302,17 @@ _0800EA02: adds r4, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r7, r0, 16 adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r5, 0 beq _0800EA7E @@ -10834,20 +6598,20 @@ shedinja_something: @ 800EC44 strb r0, [r5] adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldr r1, _0800EC94 cmp r0, r1 bne _0800EC8C adds r0, r4, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] cmp r0, r1 beq _0800EC8C adds r0, r4, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData ldr r1, _0800EC98 mov r0, sp bl StringCompareWithoutExtCtrlCodes @@ -10856,7 +6620,7 @@ shedinja_something: @ 800EC44 adds r0, r4, 0 movs r1, 0x3 adds r2, r5, 0 - bl pokemon_setattr + bl SetMonData _0800EC8C: add sp, 0x10 pop {r4,r5} @@ -11301,7 +7065,7 @@ _0800F03E: adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData movs r1, 0x4 negs r1, r1 add r1, r10 @@ -11310,34 +7074,34 @@ _0800F03E: strh r0, [r5] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData strh r0, [r5, 0x2] adds r0, r4, 0 movs r1, 0x2 adds r2, r7, 0 - bl PokemonGetField + bl GetMonData adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData strb r0, [r5, 0xF] adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData strh r0, [r5, 0x10] adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData strh r0, [r5, 0x12] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData mov r1, r10 adds r1, 0x10 adds r6, r1 str r0, [r6] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [r7, 0x14] adds r0, r4, 0 bl pokemon_get_gender @@ -11346,7 +7110,7 @@ _0800F03E: bl SkipExtCtrlCodes adds r0, r4, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData strb r0, [r5, 0x1D] lsls r0, 24 lsrs r0, 24 @@ -12649,7 +8413,7 @@ _0800FAE8: adds r1, 0xD adds r0, r5, 0 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData adds r1, r6, 0 adds r1, 0x11 ldrh r0, [r4] @@ -12659,7 +8423,7 @@ _0800FAE8: ldr r0, _0800FB18 adds r2, r0 adds r0, r5, 0 - bl pokemon_setattr + bl SetMonData adds r4, 0x2 adds r6, 0x1 cmp r6, 0x3 @@ -12738,7 +8502,7 @@ _0800FB5E: adds r0, r4, 0 movs r1, 0xC adds r2, r5, 0 - bl pokemon_setattr + bl SetMonData b _0800FC74 .align 2, 0 _0800FBAC: .4byte gSpeciesNames @@ -12813,7 +8577,7 @@ _0800FBF2: adds r0, r4, 0 movs r1, 0xC adds r2, r5, 0 - bl pokemon_setattr + bl SetMonData movs r6, 0 adds r5, r4, 0 mov r0, r8 @@ -12824,7 +8588,7 @@ _0800FC4A: adds r1, 0xD adds r0, r5, 0 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData adds r1, r6, 0 adds r1, 0x11 ldrh r0, [r4] @@ -12834,7 +8598,7 @@ _0800FC4A: ldr r0, _0800FCC8 adds r2, r0 adds r0, r5, 0 - bl pokemon_setattr + bl SetMonData adds r4, 0x2 adds r6, 0x1 cmp r6, 0x3 @@ -13150,17 +8914,17 @@ _0800FED0: adds r4, r0, r4 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r5, 0 beq _0800FF40 @@ -13229,17 +8993,17 @@ _0800FF6A: adds r4, r2, r4 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r5, 0 beq _0800FFDA @@ -13755,7 +9519,7 @@ _080103AC: ldr r7, _08010418 adds r0, r7 movs r1, 0 - bl PokemonGetField + bl GetMonData cmp r4, SPECIES_UNOWN bne _08010430 ldrh r0, [r5] @@ -13764,7 +9528,7 @@ _080103AC: adds r0, r1, 0 adds r0, r7 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 movs r0, 0xC0 lsls r0, 18 @@ -14583,7 +10347,7 @@ _08010994: strb r5, [r0] ldr r0, _08010B60 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldr r2, _08010B64 lsls r1, r0, 3 subs r1, r0 @@ -16085,12 +11849,12 @@ _0801162A: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08011650 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -16108,11 +11872,11 @@ _08011664: .4byte 0x0000ffff _08011668: adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData strh r0, [r5] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData _0801167A: str r0, [r6] adds r6, 0x8 @@ -16141,12 +11905,12 @@ _080116A6: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080116CC adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -16163,11 +11927,11 @@ _080116DC: .4byte 0x0000ffff _080116E0: adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData strh r0, [r5] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData _080116F2: str r0, [r6] adds r6, 0x8 @@ -16204,12 +11968,12 @@ _08011732: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08011758 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -16225,11 +11989,11 @@ _08011764: .4byte 0x0000ffff _08011768: adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData strh r0, [r5] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData _0801177A: str r0, [r6] adds r6, 0x8 @@ -29033,17 +24797,17 @@ _08018084: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080180B4 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080180B4 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -29124,17 +24888,17 @@ _0801813A: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0801818A adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0801818A adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -29472,23 +25236,23 @@ _080183F4: adds r5, r1, r0 adds r0, r7, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] adds r0, r7, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x10] adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 str r0, [sp, 0xC] adds r0, r5, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x14] ldr r0, _0801844C ldrh r1, [r0] @@ -33109,17 +28873,17 @@ _0801A33A: mov r1, r10 adds r1, 0xD adds r0, r4, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 mov r1, r10 adds r1, 0x11 adds r0, r4, 0 - bl PokemonGetField + bl GetMonData strb r0, [r5] adds r0, r4, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r1, r0, 24 cmp r6, 0 @@ -44621,12 +40385,12 @@ _08020104: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802016A adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802016A ldr r0, _08020158 @@ -44641,7 +40405,7 @@ _08020104: _08020138: adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0xAF @@ -44760,7 +40524,7 @@ _08020220: ldr r1, _08020260 adds r0, r1 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0xAF @@ -44813,7 +40577,7 @@ _080202A0: ldr r1, _080202D8 adds r0, r1 movs r1, 0x38 - bl PokemonGetField + bl GetMonData cmp r0, 0x64 bne _080202E8 ldr r2, _080202DC @@ -44868,7 +40632,7 @@ _08020316: ldr r1, _08020364 adds r0, r1 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08020332 b _0802051E @@ -45147,21 +40911,21 @@ _08020566: ldr r5, _08020634 adds r0, r5 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08020612 ldrb r0, [r7] muls r0, r6 adds r0, r5 movs r1, 0x38 - bl PokemonGetField + bl GetMonData cmp r0, 0x64 beq _08020612 ldrb r0, [r7] muls r0, r6 adds r0, r5 movs r1, 0x3A - bl PokemonGetField + bl GetMonData ldr r1, _08020638 adds r4, r1 strh r0, [r4] @@ -45169,31 +40933,31 @@ _08020566: muls r0, r6 adds r0, r5 movs r1, 0x3B - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x2] ldrb r0, [r7] muls r0, r6 adds r0, r5 movs r1, 0x3C - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x4] ldrb r0, [r7] muls r0, r6 adds r0, r5 movs r1, 0x3D - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x6] ldrb r0, [r7] muls r0, r6 adds r0, r5 movs r1, 0x3E - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x8] ldrb r0, [r7] muls r0, r6 adds r0, r5 movs r1, 0x3F - bl PokemonGetField + bl GetMonData strh r0, [r4, 0xA] ldr r4, _0802063C mov r2, r8 @@ -45309,7 +41073,7 @@ _080206A8: ldr r7, _080208CC adds r0, r7 movs r1, 0x38 - bl PokemonGetField + bl GetMonData strb r0, [r4, 0x4] movs r0, 0x1 negs r0, r0 @@ -45360,7 +41124,7 @@ _080206A8: muls r0, r1 adds r0, r7 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r1, r4, 0 adds r1, 0x2A strb r0, [r1] @@ -45370,7 +41134,7 @@ _080206A8: adds r0, r1, 0 adds r0, r7 movs r1, 0x39 - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x28] ldrb r0, [r6] mov r2, r8 @@ -45378,7 +41142,7 @@ _080206A8: adds r0, r2, 0 adds r0, r7 movs r1, 0x3A - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x2C] ldrb r0, [r6] mov r3, r8 @@ -45386,7 +41150,7 @@ _080206A8: adds r0, r3, 0 adds r0, r7 movs r1, 0x3B - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x2] ldrb r0, [r6] mov r1, r8 @@ -45394,7 +41158,7 @@ _080206A8: adds r0, r1, 0 adds r0, r7 movs r1, 0x3C - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x4] ldrb r0, [r6] mov r2, r8 @@ -45402,7 +41166,7 @@ _080206A8: adds r0, r2, 0 adds r0, r7 movs r1, 0x3D - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x6] ldrb r0, [r6] mov r3, r8 @@ -45410,7 +41174,7 @@ _080206A8: adds r0, r3, 0 adds r0, r7 movs r1, 0x3D - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x6] ldrb r0, [r6] mov r1, r8 @@ -45418,7 +41182,7 @@ _080206A8: adds r0, r1, 0 adds r0, r7 movs r1, 0x3E - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x8] ldrb r0, [r6] mov r2, r8 @@ -45426,7 +41190,7 @@ _080206A8: adds r0, r2, 0 adds r0, r7 movs r1, 0x3F - bl PokemonGetField + bl GetMonData strh r0, [r4, 0xA] _080207EC: ldr r0, _080208C4 @@ -45456,7 +41220,7 @@ _080207EC: ldr r4, _080208CC adds r0, r4 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r1, r6, 0 adds r1, 0xDA strb r0, [r1] @@ -45464,14 +41228,14 @@ _080207EC: muls r0, r5 adds r0, r4 movs r1, 0x39 - bl PokemonGetField + bl GetMonData mov r1, r8 strh r0, [r1] ldrb r0, [r7] muls r0, r5 adds r0, r4 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r6, 0 adds r1, 0xDC strh r0, [r1] @@ -45479,7 +41243,7 @@ _080207EC: muls r0, r5 adds r0, r4 movs r1, 0x3B - bl PokemonGetField + bl GetMonData adds r1, r6, 0 adds r1, 0xB2 strh r0, [r1] @@ -45487,7 +41251,7 @@ _080207EC: muls r0, r5 adds r0, r4 movs r1, 0x3C - bl PokemonGetField + bl GetMonData adds r1, r6, 0 adds r1, 0xB4 strh r0, [r1] @@ -45495,7 +41259,7 @@ _080207EC: muls r0, r5 adds r0, r4 movs r1, 0x3D - bl PokemonGetField + bl GetMonData movs r2, 0xB6 adds r2, r6 mov r8, r2 @@ -45504,14 +41268,14 @@ _080207EC: muls r0, r5 adds r0, r4 movs r1, 0x3D - bl PokemonGetField + bl GetMonData mov r3, r8 strh r0, [r3] ldrb r0, [r7] muls r0, r5 adds r0, r4 movs r1, 0x3E - bl PokemonGetField + bl GetMonData adds r1, r6, 0 adds r1, 0xB8 strh r0, [r1] @@ -45650,17 +41414,17 @@ _080209C8: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080209F8 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080209F8 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r0, r6, r0 lsls r0, 16 lsrs r6, r0, 16 @@ -45686,17 +41450,17 @@ _08020A10: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08020A40 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08020A40 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r0, r6, r0 lsls r0, 16 lsrs r6, r0, 16 @@ -47254,8 +43018,8 @@ _0802157A: bx r0 thumb_func_end sub_80214B4 - thumb_func_start sub_8021580 -sub_8021580: @ 8021580 + thumb_func_start atk47 +atk47: @ 8021580 push {r4,lr} movs r3, 0 ldr r0, _080215A0 @@ -47319,7 +43083,7 @@ _080215EC: .4byte 0x0001601e _080215F0: .4byte 0x000160a4 _080215F4: .4byte 0x000160a5 _080215F8: .4byte 0x02024c10 - thumb_func_end sub_8021580 + thumb_func_end atk47 thumb_func_start atk48_playstatchangeanimation atk48_playstatchangeanimation: @ 80215FC @@ -49646,17 +45410,17 @@ _080228EE: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08022928 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08022928 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08022928 ldr r0, _08022938 @@ -49741,17 +45505,17 @@ _080229B0: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080229F2 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080229F2 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080229F2 ldr r1, _08022A1C @@ -52055,7 +47819,7 @@ _08023CC8: adds r0, r7 adds r1, r5, 0 adds r1, 0xD - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 @@ -52823,12 +48587,12 @@ _08024300: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08024324 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -52848,11 +48612,11 @@ _08024340: .4byte 0x0000ffff _08024344: adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData strh r0, [r5] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData _08024356: str r0, [r6] adds r6, 0x8 @@ -53627,7 +49391,7 @@ _0802495A: ldr r1, _080249B4 add r1, r8 ldrb r1, [r1] - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r1, r0, 16 mov r0, r8 @@ -53836,7 +49600,7 @@ _08024B1C: ldr r1, _08024BAC add r1, r8 ldrb r1, [r1] - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r6, [r5] movs r0, 0x13 @@ -57205,17 +52969,17 @@ _080265E8: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802661A adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0802661A adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802661A adds r0, r7, 0x1 @@ -57244,17 +53008,17 @@ _0802663C: adds r4, r2, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802666E adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0802666E adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802666E adds r0, r7, 0x1 @@ -57370,17 +53134,17 @@ _0802671A: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080266DC adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0x1 beq _080266DC adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080266DC b _08026832 @@ -57422,17 +53186,17 @@ _0802677E: adds r4, r2, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802677E adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0x1 beq _0802677E adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802677E b _08026832 @@ -57462,17 +53226,17 @@ _080267E6: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080267E6 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0x1 beq _080267E6 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080267E6 _08026832: @@ -58573,23 +54337,23 @@ _080270F0: adds r4, r1, r0 adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 mov r10, r0 adds r0, r5, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r9, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 mov r8, r0 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r7, r0, 0 ldr r5, _08027154 ldrb r0, [r5] @@ -61659,12 +57423,12 @@ _0802896A: add r4, r9 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r4, r0, 24 cmp r5, 0 @@ -63835,21 +59599,21 @@ _08029AB4: muls r0, r5 adds r0, r7, r0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08029AF8 ldrb r0, [r6] muls r0, r5 adds r0, r7, r0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08029AF8 ldrb r0, [r4] muls r0, r5 adds r0, r7, r0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -63858,7 +59622,7 @@ _08029AB4: muls r0, r5 adds r0, r7, r0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08029B08 _08029AF8: @@ -63900,7 +59664,7 @@ _08029B08: muls r0, r4 adds r0, r7, r0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -63924,7 +59688,7 @@ _08029B08: muls r0, r4 adds r0, r7, r0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData lsls r0, 1 movs r1, 0x5 bl __udivsi3 @@ -65900,12 +61664,12 @@ _0802AAAE: adds r4, r0, r6 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802AB54 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -65924,7 +61688,7 @@ _0802AAF8: adds r1, 0xD ldr r0, [sp] add r0, r9 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 @@ -66491,17 +62255,17 @@ _0802AF7A: adds r4, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0802AFC0 lsls r0, r5, 3 @@ -66569,7 +62333,7 @@ _0802B020: lsls r2, 1 add r2, r8 movs r1, 0xC - bl pokemon_setattr + bl SetMonData _0802B032: adds r7, r4, 0 cmp r7, 0x5 @@ -67572,7 +63336,7 @@ _0802B81C: adds r0, r1 ldr r2, _0802B87C movs r1, 0x26 - bl pokemon_setattr + bl SetMonData bl calc_player_party_count lsls r0, 24 lsrs r0, 24 @@ -67649,7 +63413,7 @@ _0802B8CC: adds r0, r1 movs r1, 0x26 adds r2, r5, 0 - bl pokemon_setattr + bl SetMonData bl calc_player_party_count lsls r0, 24 lsrs r0, 24 @@ -67734,7 +63498,7 @@ sub_802B960: @ 802B960 adds r0, r6 adds r2, 0x2A movs r1, 0x2 - bl PokemonGetField + bl GetMonData ldr r1, _0802B9DC ldr r0, [r1] adds r0, 0x1 @@ -67969,7 +63733,7 @@ _0802BB8C: .4byte gBattleTerrainTiles_Building _0802BB90: .4byte 0x06008000 _0802BB94: .4byte gBattleTerrainTilemap_Building _0802BB98: .4byte 0x0600d000 -_0802BB9C: .4byte gUnknown_08E62AC0 +_0802BB9C: .4byte gBattleTerrainPalette_BattleTower _0802BBA0: .4byte REG_BG3CNT _0802BBA4: .4byte 0x00005a0b _0802BBA8: .4byte 0x030041b0 @@ -68246,7 +64010,7 @@ _0802BD92: add r0, r8 movs r1, 0x2 ldr r2, _0802BE44 - bl PokemonGetField + bl GetMonData mov r1, r10 ldrb r0, [r1] eors r0, r4 @@ -68258,7 +64022,7 @@ _0802BD92: adds r0, r1, 0 add r0, r8 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 @@ -68288,7 +64052,7 @@ _0802BD92: add r0, r8 movs r1, 0 movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp] ldr r0, _0802BE48 str r0, [sp, 0x4] @@ -68336,7 +64100,7 @@ _0802BE50: adds r0, r1 ldr r2, _0802BEA0 movs r1, 0x2 - bl pokemon_setattr + bl SetMonData b _0802BEC0 .align 2, 0 _0802BE88: .4byte 0x03001770 @@ -69130,7 +64894,7 @@ _0802C4C2: adds r2, r1 ldrb r1, [r2] adds r1, 0xD - bl PokemonGetField + bl GetMonData ldr r2, _0802C530 lsls r1, r0, 1 adds r1, r0 @@ -69271,7 +65035,7 @@ _0802C5E6: adds r2, r1 ldrb r1, [r2] adds r1, 0xD - bl PokemonGetField + bl GetMonData ldr r2, _0802C670 lsls r1, r0, 1 adds r1, r0 @@ -70073,7 +65837,7 @@ _0802CC66: adds r0, r5 adds r1, r6, 0 adds r1, 0xD - bl PokemonGetField + bl GetMonData strh r0, [r4] mov r2, r8 ldrb r0, [r2] @@ -70084,7 +65848,7 @@ _0802CC66: adds r0, r5 adds r1, r6, 0 adds r1, 0x11 - bl PokemonGetField + bl GetMonData mov r3, r10 adds r1, r3, r6 strb r0, [r1] @@ -70103,7 +65867,7 @@ _0802CC66: ldr r1, _0802CE10 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData ldr r5, [sp, 0x28] strb r0, [r5] movs r6, 0 @@ -70223,7 +65987,7 @@ _0802CD8C: adds r1, r6, 0 adds r1, 0xD adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r3, r9 ldrb r0, [r3] lsls r0, 1 @@ -70236,7 +66000,7 @@ _0802CD8C: adds r1, r6, 0 adds r1, 0x11 adds r2, r5, 0 - bl pokemon_setattr + bl SetMonData adds r5, 0x1 adds r4, 0x2 adds r6, 0x1 @@ -70254,7 +66018,7 @@ _0802CD8C: adds r0, r1 movs r1, 0x15 ldr r2, [sp, 0x28] - bl pokemon_setattr + bl SetMonData b _0802CE1C .align 2, 0 _0802CDEC: .4byte 0x03001770 @@ -71635,19 +67399,19 @@ _0802D96A: adds r6, r1, r0 adds r0, r6, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r6, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x4] ldr r3, _0802DA30 adds r4, 0x1 @@ -71674,7 +67438,7 @@ _0802D96A: adds r0, r6, 0 movs r1, 0x19 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r6, 0 bl pokemon_calc_effective_stats ldr r2, [sp] @@ -71739,7 +67503,7 @@ _0802DA58: add r2, sp, 0x4 adds r0, r6, 0 movs r1, 0x19 - bl pokemon_setattr + bl SetMonData ldr r1, _0802DA78 ldr r3, [sp, 0x8] lsls r0, r3, 2 @@ -71804,19 +67568,19 @@ sub_802DA9C: @ 802DA9C adds r6, r0 adds r0, r6, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r6, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 ldr r6, _0802DB5C lsls r1, r4, 2 @@ -71928,17 +67692,17 @@ _0802DB9C: adds r5, r1, r0 adds r0, r5, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x4] adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 ldr r3, _0802DC6C @@ -71967,7 +67731,7 @@ _0802DB9C: adds r0, r5, 0 movs r1, 0x19 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 bl pokemon_calc_effective_stats ldr r2, [sp] @@ -71999,7 +67763,7 @@ _0802DC7C: add r2, sp, 0x4 adds r0, r5, 0 movs r1, 0x19 - bl pokemon_setattr + bl SetMonData ldr r1, _0802DCA8 lsls r0, r7, 2 adds r0, r1 @@ -72099,7 +67863,7 @@ sub_802DD10: @ 802DD10 adds r7, r1, r0 adds r0, r7, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData bl battle_type_is_double lsls r0, 24 lsrs r0, 24 @@ -72173,7 +67937,7 @@ sub_802DDC4: @ 802DDC4 ldr r1, _0802DE04 adds r0, r1 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldrb r0, [r4, 0xC] ldr r1, _0802DE08 lsls r0, 2 @@ -72221,7 +67985,7 @@ sub_802DE10: @ 802DE10 ldr r1, _0802DEA4 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl nullsub_9 @@ -73201,12 +68965,12 @@ _0802E674: adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2E] movs r6, 0 @@ -73234,12 +68998,12 @@ _0802E6C0: adds r1, r6, 0 adds r1, 0xD mov r0, r8 - bl PokemonGetField + bl GetMonData strh r0, [r4] adds r1, r6, 0 adds r1, 0x11 mov r0, r8 - bl PokemonGetField + bl GetMonData mov r2, r9 adds r1, r2, r6 strb r0, [r1] @@ -73254,21 +69018,21 @@ _0802E6C0: adds r4, r0 adds r0, r4, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r10 strb r0, [r1] adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData ldr r2, [sp, 0x80] strb r0, [r2] adds r0, r4, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x44] adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData mov r3, sp movs r5, 0x1F ands r0, r5 @@ -73280,7 +69044,7 @@ _0802E6C0: strb r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData mov r3, sp movs r6, 0x1F ands r0, r6 @@ -73292,7 +69056,7 @@ _0802E6C0: strh r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 2 @@ -73304,7 +69068,7 @@ _0802E6C0: strb r1, [r3, 0x15] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData movs r1, 0x1F ands r1, r0 lsls r1, 15 @@ -73315,7 +69079,7 @@ _0802E6C0: str r0, [sp, 0x14] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r6 lsls r0, 4 @@ -73326,7 +69090,7 @@ _0802E6C0: strh r1, [r3, 0x16] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 1 @@ -73338,55 +69102,55 @@ _0802E6C0: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x48] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x4C] adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldr r1, [sp, 0x7C] strb r0, [r1] adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x28] adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2C] adds r0, r4, 0 movs r1, 0x3B - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2] adds r0, r4, 0 movs r1, 0x3C - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x4] adds r0, r4, 0 movs r1, 0x3D - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x6] adds r0, r4, 0 movs r1, 0x3E - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x8] adds r0, r4, 0 movs r1, 0x3F - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0xA] adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData mov r3, sp movs r1, 0x1 ands r0, r1 @@ -73399,7 +69163,7 @@ _0802E6C0: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData mov r3, sp lsls r0, 7 ldrb r2, [r3, 0x17] @@ -73409,19 +69173,19 @@ _0802E6C0: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x54] adds r0, r4, 0 movs r1, 0x2 ldr r2, [sp, 0x8C] - bl PokemonGetField + bl GetMonData ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] - bl PokemonGetField + bl GetMonData mov r2, sp movs r6, 0 _0802E878: @@ -73472,13 +69236,13 @@ _0802E8CE: adds r1, r6, 0 adds r1, 0xD adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r1, r8 strh r0, [r1] adds r1, r6, 0 adds r1, 0x11 adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r2, r10 adds r1, r2, r6 strb r0, [r1] @@ -73492,7 +69256,7 @@ _0802E8CE: ldr r1, _0802E91C adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r9 strb r0, [r1, 0xC] mov r2, r9 @@ -73534,7 +69298,7 @@ _0802E948: adds r1, 0x11 mov r2, r8 adds r0, r4, r2 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -73545,7 +69309,7 @@ _0802E948: ldr r1, _0802E974 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -73582,7 +69346,7 @@ _0802E9A4: adds r0, r1 movs r1, 0x19 _0802E9AE: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -73715,27 +69479,27 @@ _0802EA94: adds r4, r0 adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData strb r0, [r7] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x1] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x2] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x3] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x4] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x5] movs r6, 0x6 b _0802ECDA @@ -73820,7 +69584,7 @@ _0802EB64: adds r0, r1 movs r1, 0x37 _0802EB6E: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -73909,7 +69673,7 @@ _0802EC08: adds r0, r1 movs r1, 0x3F _0802EC12: - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 strb r0, [r7] @@ -74016,7 +69780,7 @@ _0802ECC8: adds r0, r1 movs r1, 0x36 _0802ECD2: - bl PokemonGetField + bl GetMonData strb r0, [r7] movs r6, 0x1 _0802ECDA: @@ -74251,12 +70015,12 @@ _0802EF04: adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -74297,12 +70061,12 @@ _0802EF6A: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r7, 0 - bl pokemon_setattr + bl SetMonData adds r7, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -74318,15 +70082,15 @@ _0802EF6A: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x14] lsls r0, 27 lsrs r0, 27 @@ -74335,7 +70099,7 @@ _0802EF6A: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r6, 0x14] lsls r0, 22 @@ -74344,7 +70108,7 @@ _0802EF6A: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r6, 0x15] lsls r0, 25 @@ -74353,7 +70117,7 @@ _0802EF6A: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldr r0, [r6, 0x14] lsls r0, 12 @@ -74362,7 +70126,7 @@ _0802EF6A: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r6, 0x16] lsls r0, 23 @@ -74371,7 +70135,7 @@ _0802EF6A: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r6, 0x17] lsls r0, 26 @@ -74380,47 +70144,47 @@ _0802EF6A: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F098: .4byte 0x03004360 @@ -74434,7 +70198,7 @@ _0802F09C: lsls r2, 9 adds r2, r7 movs r1, 0xB - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F0B4: .4byte 0x03004360 @@ -74449,7 +70213,7 @@ _0802F0BC: lsls r2, 9 adds r2, r7 movs r1, 0xC - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F0D4: .4byte 0x03004360 @@ -74473,12 +70237,12 @@ _0802F0F6: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -74492,7 +70256,7 @@ _0802F0F6: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F130: .4byte 0x03004360 @@ -74526,35 +70290,35 @@ _0802F15C: adds r2, r7 adds r0, r4, 0 movs r1, 0x11 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F1B8: .4byte 0x03004360 @@ -74575,7 +70339,7 @@ _0802F1C0: _0802F1D8: adds r3, 0x3 adds r2, r3 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F1E4: .4byte 0x03004360 @@ -74591,7 +70355,7 @@ _0802F1F0: lsls r2, 9 adds r2, r7 movs r1, 0x1 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F208: .4byte 0x03004360 @@ -74606,7 +70370,7 @@ _0802F210: lsls r2, 9 adds r2, r7 movs r1, 0x19 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F228: .4byte 0x03004360 @@ -74621,7 +70385,7 @@ _0802F230: lsls r2, 9 adds r2, r7 movs r1, 0x1A - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F248: .4byte 0x03004360 @@ -74636,7 +70400,7 @@ _0802F250: lsls r2, 9 adds r2, r7 movs r1, 0x1B - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F268: .4byte 0x03004360 @@ -74651,7 +70415,7 @@ _0802F270: lsls r2, 9 adds r2, r7 movs r1, 0x1C - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F288: .4byte 0x03004360 @@ -74666,7 +70430,7 @@ _0802F290: lsls r2, 9 adds r2, r7 movs r1, 0x1D - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F2A8: .4byte 0x03004360 @@ -74681,7 +70445,7 @@ _0802F2B0: lsls r2, 9 adds r2, r7 movs r1, 0x1E - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F2C8: .4byte 0x03004360 @@ -74696,7 +70460,7 @@ _0802F2D0: lsls r2, 9 adds r2, r7 movs r1, 0x1F - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F2E8: .4byte 0x03004360 @@ -74711,7 +70475,7 @@ _0802F2F0: lsls r2, 9 adds r2, r7 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F308: .4byte 0x03004360 @@ -74726,7 +70490,7 @@ _0802F310: lsls r2, 9 adds r2, r7 movs r1, 0x22 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F328: .4byte 0x03004360 @@ -74741,7 +70505,7 @@ _0802F330: lsls r2, 9 adds r2, r7 movs r1, 0x23 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F348: .4byte 0x03004360 @@ -74756,7 +70520,7 @@ _0802F350: lsls r2, 9 adds r2, r7 movs r1, 0x24 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F368: .4byte 0x03004360 @@ -74771,7 +70535,7 @@ _0802F370: lsls r2, 9 adds r2, r7 movs r1, 0x25 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F388: .4byte 0x03004360 @@ -74786,7 +70550,7 @@ _0802F390: lsls r2, 9 adds r2, r7 movs r1, 0x26 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F3A8: .4byte 0x03004360 @@ -74803,35 +70567,35 @@ _0802F3B0: adds r2, r7 adds r0, r4, 0 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x5 @@ -74851,7 +70615,7 @@ _0802F420: lsls r2, 9 adds r2, r7 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F438: .4byte 0x03004360 @@ -74866,7 +70630,7 @@ _0802F440: lsls r2, 9 adds r2, r7 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F458: .4byte 0x03004360 @@ -74881,7 +70645,7 @@ _0802F460: lsls r2, 9 adds r2, r7 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F478: .4byte 0x03004360 @@ -74896,7 +70660,7 @@ _0802F480: lsls r2, 9 adds r2, r7 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F498: .4byte 0x03004360 @@ -74911,7 +70675,7 @@ _0802F4A0: lsls r2, 9 adds r2, r7 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F4B8: .4byte 0x03004360 @@ -74927,7 +70691,7 @@ _0802F4C0: adds r2, r7 _0802F4D0: movs r1, 0x2C - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F4D8: .4byte 0x03004360 @@ -74942,7 +70706,7 @@ _0802F4E0: lsls r2, 9 adds r2, r7 movs r1, 0 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F4F8: .4byte 0x03004360 @@ -74957,7 +70721,7 @@ _0802F500: lsls r2, 9 adds r2, r7 movs r1, 0x9 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F518: .4byte 0x03004360 @@ -74972,7 +70736,7 @@ _0802F520: lsls r2, 9 adds r2, r7 movs r1, 0x37 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F538: .4byte 0x03004360 @@ -74987,7 +70751,7 @@ _0802F540: lsls r2, 9 adds r2, r7 movs r1, 0x38 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F558: .4byte 0x03004360 @@ -75002,7 +70766,7 @@ _0802F560: lsls r2, 9 adds r2, r7 movs r1, 0x39 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F578: .4byte 0x03004360 @@ -75017,7 +70781,7 @@ _0802F580: lsls r2, 9 adds r2, r7 movs r1, 0x3A - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F598: .4byte 0x03004360 @@ -75032,7 +70796,7 @@ _0802F5A0: lsls r2, 9 adds r2, r7 movs r1, 0x3B - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F5B8: .4byte 0x03004360 @@ -75047,7 +70811,7 @@ _0802F5C0: lsls r2, 9 adds r2, r7 movs r1, 0x3C - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F5D8: .4byte 0x03004360 @@ -75062,7 +70826,7 @@ _0802F5E0: lsls r2, 9 adds r2, r7 movs r1, 0x3D - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F5F8: .4byte 0x03004360 @@ -75077,7 +70841,7 @@ _0802F600: lsls r2, 9 adds r2, r7 movs r1, 0x3E - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F618: .4byte 0x03004360 @@ -75092,7 +70856,7 @@ _0802F620: lsls r2, 9 adds r2, r7 movs r1, 0x3F - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F638: .4byte 0x03004360 @@ -75107,7 +70871,7 @@ _0802F640: lsls r2, 9 adds r2, r7 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F658: .4byte 0x03004360 @@ -75122,7 +70886,7 @@ _0802F660: lsls r2, 9 adds r2, r7 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F678: .4byte 0x03004360 @@ -75137,7 +70901,7 @@ _0802F680: lsls r2, 9 adds r2, r7 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F698: .4byte 0x03004360 @@ -75152,7 +70916,7 @@ _0802F6A0: lsls r2, 9 adds r2, r7 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F6B8: .4byte 0x03004360 @@ -75167,7 +70931,7 @@ _0802F6C0: lsls r2, 9 adds r2, r7 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F6D8: .4byte 0x03004360 @@ -75182,7 +70946,7 @@ _0802F6E0: lsls r2, 9 adds r2, r7 movs r1, 0x30 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F6F8: .4byte 0x03004360 @@ -75197,7 +70961,7 @@ _0802F700: lsls r2, 9 adds r2, r7 movs r1, 0x32 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F718: .4byte 0x03004360 @@ -75212,7 +70976,7 @@ _0802F720: lsls r2, 9 adds r2, r7 movs r1, 0x33 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F738: .4byte 0x03004360 @@ -75227,7 +70991,7 @@ _0802F740: lsls r2, 9 adds r2, r7 movs r1, 0x34 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F758: .4byte 0x03004360 @@ -75242,7 +71006,7 @@ _0802F760: lsls r2, 9 adds r2, r7 movs r1, 0x35 - bl pokemon_setattr + bl SetMonData b _0802F796 .align 2, 0 _0802F778: .4byte 0x03004360 @@ -75257,7 +71021,7 @@ _0802F780: lsls r2, 9 adds r2, r7 movs r1, 0x36 - bl pokemon_setattr + bl SetMonData _0802F796: ldr r2, _0802F7C8 ldr r0, _0802F7C4 @@ -75483,7 +71247,7 @@ sub_802F934: @ 802F934 ldr r1, _0802FA80 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r8, r0 lsls r0, 16 lsrs r0, 16 @@ -77108,7 +72872,7 @@ sub_8030698: @ 8030698 ldr r4, _08030720 adds r0, r4 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r9 ldrb r0, [r1] @@ -77118,7 +72882,7 @@ sub_8030698: @ 8030698 muls r0, r5 adds r0, r4 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -77146,7 +72910,7 @@ _08030728: ldr r1, _08030784 adds r0, r1 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -77204,7 +72968,7 @@ sub_8030798: @ 8030798 adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData cmp r0, 0x63 bls _080307D0 bl dp01_tbl1_exec_completed @@ -77218,7 +72982,7 @@ _080307D0: bl load_gfxc_health_bar adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldrb r1, [r6] lsls r1, 9 adds r0, r5, 0x2 @@ -77383,7 +73147,7 @@ sub_8030910: @ 8030910 ldr r5, _08030974 adds r0, r5 movs r1, 0x37 - bl PokemonGetField + bl GetMonData ldr r2, _08030978 ldrb r1, [r4] lsls r1, 9 @@ -77401,7 +73165,7 @@ sub_8030910: @ 8030910 adds r0, r5 movs r1, 0x37 mov r2, sp - bl pokemon_setattr + bl SetMonData bl dp01_tbl1_exec_completed add sp, 0x4 pop {r3} @@ -77808,7 +73572,7 @@ sub_8030C4C: @ 8030C4C ldr r1, _08030C88 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x19 @@ -79236,7 +75000,7 @@ sub_8031794: @ 8031794 lsrs r1, 24 mov r9, r1 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0xC] mov r0, r9 lsls r1, r0, 2 @@ -79247,7 +75011,7 @@ sub_8031794: @ 8031794 bne _080317D4 mov r0, r8 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 ldr r7, [sp, 0xC] @@ -79262,7 +75026,7 @@ _080317D4: _080317DC: mov r0, r8 movs r1, 0x1 - bl PokemonGetField + bl GetMonData mov r10, r0 mov r0, r9 bl battle_get_per_side_status @@ -79400,7 +75164,7 @@ sub_80318FC: @ 80318FC lsrs r1, 24 mov r9, r1 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0xC] mov r0, r9 lsls r1, r0, 2 @@ -79411,7 +75175,7 @@ sub_80318FC: @ 80318FC bne _0803193C mov r0, r8 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 ldr r7, [sp, 0xC] @@ -79426,7 +75190,7 @@ _0803193C: _08031944: mov r0, r8 movs r1, 0x1 - bl PokemonGetField + bl GetMonData mov r10, r0 mov r0, r9 bl battle_get_per_side_status @@ -80396,7 +76160,7 @@ _08032104: _08032114: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r7, r0, 16 mov r0, r8 @@ -80414,13 +76178,13 @@ _08032114: ldr r5, _08032190 adds r0, r5 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r9, r0 ldrh r0, [r4] muls r0, r6 adds r0, r5 movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r0, r7, 3 ldr r1, _08032194 @@ -80468,13 +76232,13 @@ _080321A4: ldr r5, _0803230C adds r0, r5 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r9, r0 ldrh r0, [r4] muls r0, r6 adds r0, r5 movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r0, r7, 3 ldr r1, _08032310 @@ -80675,7 +76439,7 @@ _08032376: ldr r0, _08032384 b _08032396 .align 2, 0 -_08032384: .4byte gUnknown_08D2D4CC +_08032384: .4byte gSubstituteDollTilemap _08032388: adds r0, r5, 0 bl battle_side_get_owner @@ -80691,7 +76455,7 @@ _08032396: bl LZDecompressVram b _080323BA .align 2, 0 -_080323A4: .4byte gUnknown_08D2D28C +_080323A4: .4byte gSubstituteDollGfx _080323A8: .4byte gUnknown_081FAF4C _080323AC: ldr r0, _080323F4 @@ -80731,9 +76495,9 @@ _080323D4: bl LoadCompressedPalette b _08032456 .align 2, 0 -_080323F4: .4byte gUnknown_08D2D4CC +_080323F4: .4byte gSubstituteDollTilemap _080323F8: .4byte gUnknown_081FAF4C -_080323FC: .4byte gUnknown_08D2D268 +_080323FC: .4byte gSubstituteDollPal _08032400: .4byte 0x040000d4 _08032404: .4byte 0x84000200 _08032408: @@ -80871,13 +76635,13 @@ sub_80324F8: @ 80324F8 lsrs r6, r1, 24 adds r7, r6, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r4, 16 asrs r4, 16 @@ -81001,13 +76765,13 @@ unref_sub_8032604: @ 8032604 push {r4,r5,lr} adds r5, r0, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r4, 16 asrs r4, 16 @@ -81069,7 +76833,7 @@ sub_8032638: @ 8032638 adds r4, r0, r6 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080326AA adds r0, r4, 0 @@ -81085,7 +76849,7 @@ _080326AA: adds r4, r0, r6 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080326CE adds r0, r4, 0 @@ -82182,7 +77946,7 @@ _08032EC6: muls r0, r6 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -82233,7 +77997,7 @@ _08032F58: adds r0, r1, 0 adds r0, r6 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -82791,7 +78555,7 @@ _08033402: ldr r1, _0803347C adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -83054,12 +78818,12 @@ _080336C8: adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2E] movs r6, 0 @@ -83087,12 +78851,12 @@ _08033714: adds r1, r6, 0 adds r1, 0xD mov r0, r8 - bl PokemonGetField + bl GetMonData strh r0, [r4] adds r1, r6, 0 adds r1, 0x11 mov r0, r8 - bl PokemonGetField + bl GetMonData mov r2, r9 adds r1, r2, r6 strb r0, [r1] @@ -83107,21 +78871,21 @@ _08033714: adds r4, r0 adds r0, r4, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r10 strb r0, [r1] adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData ldr r2, [sp, 0x80] strb r0, [r2] adds r0, r4, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x44] adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData mov r3, sp movs r5, 0x1F ands r0, r5 @@ -83133,7 +78897,7 @@ _08033714: strb r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData mov r3, sp movs r6, 0x1F ands r0, r6 @@ -83145,7 +78909,7 @@ _08033714: strh r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 2 @@ -83157,7 +78921,7 @@ _08033714: strb r1, [r3, 0x15] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData movs r1, 0x1F ands r1, r0 lsls r1, 15 @@ -83168,7 +78932,7 @@ _08033714: str r0, [sp, 0x14] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r6 lsls r0, 4 @@ -83179,7 +78943,7 @@ _08033714: strh r1, [r3, 0x16] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 1 @@ -83191,55 +78955,55 @@ _08033714: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x48] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x4C] adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldr r1, [sp, 0x7C] strb r0, [r1] adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x28] adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2C] adds r0, r4, 0 movs r1, 0x3B - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2] adds r0, r4, 0 movs r1, 0x3C - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x4] adds r0, r4, 0 movs r1, 0x3D - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x6] adds r0, r4, 0 movs r1, 0x3E - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x8] adds r0, r4, 0 movs r1, 0x3F - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0xA] adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData mov r3, sp movs r1, 0x1 ands r0, r1 @@ -83252,7 +79016,7 @@ _08033714: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData mov r3, sp lsls r0, 7 ldrb r2, [r3, 0x17] @@ -83262,19 +79026,19 @@ _08033714: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x54] adds r0, r4, 0 movs r1, 0x2 ldr r2, [sp, 0x8C] - bl PokemonGetField + bl GetMonData ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] - bl PokemonGetField + bl GetMonData mov r2, sp movs r6, 0 _080338CC: @@ -83325,13 +79089,13 @@ _08033922: adds r1, r6, 0 adds r1, 0xD adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r1, r8 strh r0, [r1] adds r1, r6, 0 adds r1, 0x11 adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r2, r10 adds r1, r2, r6 strb r0, [r1] @@ -83345,7 +79109,7 @@ _08033922: ldr r1, _08033970 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r9 strb r0, [r1, 0xC] mov r2, r9 @@ -83387,7 +79151,7 @@ _0803399C: adds r1, 0x11 mov r2, r8 adds r0, r4, r2 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -83398,7 +79162,7 @@ _0803399C: ldr r1, _080339C8 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -83435,7 +79199,7 @@ _080339F8: adds r0, r1 movs r1, 0x19 _08033A02: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -83568,27 +79332,27 @@ _08033AE8: adds r4, r0 adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData strb r0, [r7] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x1] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x2] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x3] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x4] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x5] movs r6, 0x6 b _08033D2E @@ -83673,7 +79437,7 @@ _08033BB8: adds r0, r1 movs r1, 0x37 _08033BC2: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -83762,7 +79526,7 @@ _08033C5C: adds r0, r1 movs r1, 0x3F _08033C66: - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 strb r0, [r7] @@ -83869,7 +79633,7 @@ _08033D1C: adds r0, r1 movs r1, 0x36 _08033D26: - bl PokemonGetField + bl GetMonData strb r0, [r7] movs r6, 0x1 _08033D2E: @@ -84105,12 +79869,12 @@ _08033F58: adds r0, r4, 0 movs r1, 0xB adds r2, r7, 0 - bl pokemon_setattr + bl SetMonData adds r2, r7, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -84151,12 +79915,12 @@ _08033FBE: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -84172,15 +79936,15 @@ _08033FBE: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl pokemon_setattr + bl SetMonData ldrb r0, [r7, 0x14] lsls r0, 27 lsrs r0, 27 @@ -84189,7 +79953,7 @@ _08033FBE: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r7, 0x14] lsls r0, 22 @@ -84198,7 +79962,7 @@ _08033FBE: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r7, 0x15] lsls r0, 25 @@ -84207,7 +79971,7 @@ _08033FBE: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldr r0, [r7, 0x14] lsls r0, 12 @@ -84216,7 +79980,7 @@ _08033FBE: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r7, 0x16] lsls r0, 23 @@ -84225,7 +79989,7 @@ _08033FBE: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r7, 0x17] lsls r0, 26 @@ -84234,47 +79998,47 @@ _08033FBE: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080340EC: .4byte 0x030045c0 @@ -84287,7 +80051,7 @@ _080340F0: lsls r2, 9 adds r2, r3 movs r1, 0xB - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034108: .4byte 0x030045c0 @@ -84300,7 +80064,7 @@ _0803410C: lsls r2, 9 adds r2, r3 movs r1, 0xC - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034124: .4byte 0x030045c0 @@ -84322,12 +80086,12 @@ _08034140: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -84341,7 +80105,7 @@ _08034140: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034178: .4byte 0x030045c0 @@ -84373,7 +80137,7 @@ _0803419C: adds r0, r4, 0 movs r1, 0x11 str r3, [sp, 0x34] - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84381,7 +80145,7 @@ _0803419C: adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84389,7 +80153,7 @@ _0803419C: adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84397,7 +80161,7 @@ _0803419C: adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84405,7 +80169,7 @@ _0803419C: adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034200: .4byte 0x030045c0 @@ -84424,7 +80188,7 @@ _08034204: _0803421A: adds r3, 0x3 adds r2, r3 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034224: .4byte 0x030045c0 @@ -84438,7 +80202,7 @@ _0803422C: lsls r2, 9 adds r2, r3 movs r1, 0x1 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034244: .4byte 0x030045c0 @@ -84451,7 +80215,7 @@ _08034248: lsls r2, 9 adds r2, r3 movs r1, 0x19 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034260: .4byte 0x030045c0 @@ -84464,7 +80228,7 @@ _08034264: lsls r2, 9 adds r2, r3 movs r1, 0x1A - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _0803427C: .4byte 0x030045c0 @@ -84477,7 +80241,7 @@ _08034280: lsls r2, 9 adds r2, r3 movs r1, 0x1B - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034298: .4byte 0x030045c0 @@ -84490,7 +80254,7 @@ _0803429C: lsls r2, 9 adds r2, r3 movs r1, 0x1C - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080342B4: .4byte 0x030045c0 @@ -84503,7 +80267,7 @@ _080342B8: lsls r2, 9 adds r2, r3 movs r1, 0x1D - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080342D0: .4byte 0x030045c0 @@ -84516,7 +80280,7 @@ _080342D4: lsls r2, 9 adds r2, r3 movs r1, 0x1E - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080342EC: .4byte 0x030045c0 @@ -84529,7 +80293,7 @@ _080342F0: lsls r2, 9 adds r2, r3 movs r1, 0x1F - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034308: .4byte 0x030045c0 @@ -84542,7 +80306,7 @@ _0803430C: lsls r2, 9 adds r2, r3 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034324: .4byte 0x030045c0 @@ -84555,7 +80319,7 @@ _08034328: lsls r2, 9 adds r2, r3 movs r1, 0x22 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034340: .4byte 0x030045c0 @@ -84568,7 +80332,7 @@ _08034344: lsls r2, 9 adds r2, r3 movs r1, 0x23 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _0803435C: .4byte 0x030045c0 @@ -84581,7 +80345,7 @@ _08034360: lsls r2, 9 adds r2, r3 movs r1, 0x24 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034378: .4byte 0x030045c0 @@ -84594,7 +80358,7 @@ _0803437C: lsls r2, 9 adds r2, r3 movs r1, 0x25 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034394: .4byte 0x030045c0 @@ -84607,7 +80371,7 @@ _08034398: lsls r2, 9 adds r2, r3 movs r1, 0x26 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080343B0: .4byte 0x030045c0 @@ -84623,7 +80387,7 @@ _080343B4: adds r0, r4, 0 movs r1, 0x27 str r3, [sp, 0x34] - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84631,7 +80395,7 @@ _080343B4: adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84639,7 +80403,7 @@ _080343B4: adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84647,7 +80411,7 @@ _080343B4: adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84655,7 +80419,7 @@ _080343B4: adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -84674,7 +80438,7 @@ _08034428: lsls r2, 9 adds r2, r3 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034440: .4byte 0x030045c0 @@ -84687,7 +80451,7 @@ _08034444: lsls r2, 9 adds r2, r3 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _0803445C: .4byte 0x030045c0 @@ -84700,7 +80464,7 @@ _08034460: lsls r2, 9 adds r2, r3 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034478: .4byte 0x030045c0 @@ -84713,7 +80477,7 @@ _0803447C: lsls r2, 9 adds r2, r3 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034494: .4byte 0x030045c0 @@ -84726,7 +80490,7 @@ _08034498: lsls r2, 9 adds r2, r3 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080344B0: .4byte 0x030045c0 @@ -84740,7 +80504,7 @@ _080344B4: adds r2, r3 _080344C2: movs r1, 0x2C - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080344CC: .4byte 0x030045c0 @@ -84753,7 +80517,7 @@ _080344D0: lsls r2, 9 adds r2, r3 movs r1, 0 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080344E8: .4byte 0x030045c0 @@ -84766,7 +80530,7 @@ _080344EC: lsls r2, 9 adds r2, r3 movs r1, 0x9 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034504: .4byte 0x030045c0 @@ -84779,7 +80543,7 @@ _08034508: lsls r2, 9 adds r2, r3 movs r1, 0x37 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034520: .4byte 0x030045c0 @@ -84792,7 +80556,7 @@ _08034524: lsls r2, 9 adds r2, r3 movs r1, 0x38 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _0803453C: .4byte 0x030045c0 @@ -84805,7 +80569,7 @@ _08034540: lsls r2, 9 adds r2, r3 movs r1, 0x39 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034558: .4byte 0x030045c0 @@ -84818,7 +80582,7 @@ _0803455C: lsls r2, 9 adds r2, r3 movs r1, 0x3A - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034574: .4byte 0x030045c0 @@ -84831,7 +80595,7 @@ _08034578: lsls r2, 9 adds r2, r3 movs r1, 0x3B - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034590: .4byte 0x030045c0 @@ -84844,7 +80608,7 @@ _08034594: lsls r2, 9 adds r2, r3 movs r1, 0x3C - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080345AC: .4byte 0x030045c0 @@ -84857,7 +80621,7 @@ _080345B0: lsls r2, 9 adds r2, r3 movs r1, 0x3D - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080345C8: .4byte 0x030045c0 @@ -84870,7 +80634,7 @@ _080345CC: lsls r2, 9 adds r2, r3 movs r1, 0x3E - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080345E4: .4byte 0x030045c0 @@ -84883,7 +80647,7 @@ _080345E8: lsls r2, 9 adds r2, r3 movs r1, 0x3F - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034600: .4byte 0x030045c0 @@ -84896,7 +80660,7 @@ _08034604: lsls r2, 9 adds r2, r3 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _0803461C: .4byte 0x030045c0 @@ -84909,7 +80673,7 @@ _08034620: lsls r2, 9 adds r2, r3 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034638: .4byte 0x030045c0 @@ -84922,7 +80686,7 @@ _0803463C: lsls r2, 9 adds r2, r3 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034654: .4byte 0x030045c0 @@ -84935,7 +80699,7 @@ _08034658: lsls r2, 9 adds r2, r3 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034670: .4byte 0x030045c0 @@ -84948,7 +80712,7 @@ _08034674: lsls r2, 9 adds r2, r3 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _0803468C: .4byte 0x030045c0 @@ -84961,7 +80725,7 @@ _08034690: lsls r2, 9 adds r2, r3 movs r1, 0x30 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080346A8: .4byte 0x030045c0 @@ -84974,7 +80738,7 @@ _080346AC: lsls r2, 9 adds r2, r3 movs r1, 0x32 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080346C4: .4byte 0x030045c0 @@ -84987,7 +80751,7 @@ _080346C8: lsls r2, 9 adds r2, r3 movs r1, 0x33 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080346E0: .4byte 0x030045c0 @@ -85000,7 +80764,7 @@ _080346E4: lsls r2, 9 adds r2, r3 movs r1, 0x34 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _080346FC: .4byte 0x030045c0 @@ -85013,7 +80777,7 @@ _08034700: lsls r2, 9 adds r2, r3 movs r1, 0x35 - bl pokemon_setattr + bl SetMonData b _08034730 .align 2, 0 _08034718: .4byte 0x030045c0 @@ -85026,7 +80790,7 @@ _0803471C: lsls r2, 9 adds r2, r3 movs r1, 0x36 - bl pokemon_setattr + bl SetMonData _08034730: add sp, 0x38 pop {r3-r5} @@ -85118,7 +80882,7 @@ sub_80347B8: @ 80347B8 mov r10, r2 add r0, r10 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r8, r0 lsls r0, 16 lsrs r0, 16 @@ -85223,7 +80987,7 @@ sub_80347B8: @ 80347B8 muls r0, r7 add r0, r10 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -85324,7 +81088,7 @@ sub_803495C: @ 803495C ldr r5, _08034AC0 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r8, r0 lsls r0, 16 lsrs r0, 16 @@ -86871,7 +82635,7 @@ _0803562E: ldr r1, _0803565C adds r0, r1 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0803562C ldr r1, _08035660 @@ -86975,7 +82739,7 @@ sub_80356CC: @ 80356CC ldr r4, _08035754 adds r0, r4 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r9 ldrb r0, [r1] @@ -86985,7 +82749,7 @@ sub_80356CC: @ 80356CC muls r0, r5 adds r0, r4 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -87013,7 +82777,7 @@ _0803575C: ldr r1, _080357A8 adds r0, r1 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -87449,7 +83213,7 @@ sub_8035A94: @ 8035A94 ldr r1, _08035ACC adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x19 @@ -88259,17 +84023,17 @@ _08036110: adds r4, r5, r2 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080361C2 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080361C2 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -88284,10 +84048,10 @@ _08036110: beq _080361C2 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData movs r0, 0 bl battle_get_side_with_given_state lsls r0, 24 @@ -88305,7 +84069,7 @@ _0803617C: adds r1, 0xD mov r0, r8 add r0, r9 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -88530,17 +84294,17 @@ _08036342: adds r5, r1, r0 adds r0, r5, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080363FA adds r0, r5, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080363FA adds r0, r5, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -88572,12 +84336,12 @@ _08036342: beq _080363FA adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 adds r0, r5, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080363E0 lsls r0, r4, 3 @@ -89079,21 +84843,21 @@ _0803679E: adds r5, r1, r0 adds r0, r5, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080367B6 b _080368D0 _080367B6: adds r0, r5, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080367C4 b _080368D0 _080367C4: adds r0, r5, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -89126,12 +84890,12 @@ _080367C4: beq _080368D0 adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 adds r0, r5, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08036844 lsls r0, r4, 3 @@ -89190,7 +84954,7 @@ _0803688E: adds r1, r4, 0 adds r1, 0xD add r0, r8 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -89385,17 +85149,17 @@ _08036A1A: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08036A7E adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08036A7E adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -89556,7 +85320,7 @@ _08036B8E: ldr r1, _08036C0C adds r0, r1 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08036BCE ldr r1, _08036C10 @@ -89823,14 +85587,14 @@ _08036DA2: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0 beq _08036E7C adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08036E7C mov r1, r8 @@ -89939,7 +85703,7 @@ _08036EA4: adds r1, r7, 0 adds r1, 0xD adds r0, r5, r6 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0 @@ -90013,7 +85777,7 @@ _08036F2C: adds r4, r6, r2 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 adds r3, r7, 0x1 str r3, [sp, 0x18] @@ -90021,7 +85785,7 @@ _08036F2C: beq _08036FE8 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08036FE8 ldr r1, _0803701C @@ -90059,7 +85823,7 @@ _08036F90: adds r1, 0xD ldr r0, _08037018 add r0, r9 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 movs r0, 0 @@ -90204,17 +85968,17 @@ _080370A0: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080370DC adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080370DC adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -91347,7 +87111,7 @@ _0803791A: adds r0, r1, 0 adds r0, r6 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -91398,7 +87162,7 @@ _080379B2: adds r0, r1, 0 adds r0, r6 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -91957,7 +87721,7 @@ _08037E5E: ldr r1, _08037ED8 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -92338,12 +88102,12 @@ _08038220: adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2E] movs r6, 0 @@ -92371,12 +88135,12 @@ _0803826C: adds r1, r6, 0 adds r1, 0xD mov r0, r8 - bl PokemonGetField + bl GetMonData strh r0, [r4] adds r1, r6, 0 adds r1, 0x11 mov r0, r8 - bl PokemonGetField + bl GetMonData mov r2, r9 adds r1, r2, r6 strb r0, [r1] @@ -92391,21 +88155,21 @@ _0803826C: adds r4, r0 adds r0, r4, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r10 strb r0, [r1] adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData ldr r2, [sp, 0x80] strb r0, [r2] adds r0, r4, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x44] adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData mov r3, sp movs r5, 0x1F ands r0, r5 @@ -92417,7 +88181,7 @@ _0803826C: strb r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData mov r3, sp movs r6, 0x1F ands r0, r6 @@ -92429,7 +88193,7 @@ _0803826C: strh r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 2 @@ -92441,7 +88205,7 @@ _0803826C: strb r1, [r3, 0x15] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData movs r1, 0x1F ands r1, r0 lsls r1, 15 @@ -92452,7 +88216,7 @@ _0803826C: str r0, [sp, 0x14] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r6 lsls r0, 4 @@ -92463,7 +88227,7 @@ _0803826C: strh r1, [r3, 0x16] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 1 @@ -92475,55 +88239,55 @@ _0803826C: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x48] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x4C] adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldr r1, [sp, 0x7C] strb r0, [r1] adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x28] adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2C] adds r0, r4, 0 movs r1, 0x3B - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2] adds r0, r4, 0 movs r1, 0x3C - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x4] adds r0, r4, 0 movs r1, 0x3D - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x6] adds r0, r4, 0 movs r1, 0x3E - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x8] adds r0, r4, 0 movs r1, 0x3F - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0xA] adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData mov r3, sp movs r1, 0x1 ands r0, r1 @@ -92536,7 +88300,7 @@ _0803826C: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData mov r3, sp lsls r0, 7 ldrb r2, [r3, 0x17] @@ -92546,19 +88310,19 @@ _0803826C: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x54] adds r0, r4, 0 movs r1, 0x2 ldr r2, [sp, 0x8C] - bl PokemonGetField + bl GetMonData ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] - bl PokemonGetField + bl GetMonData mov r2, sp movs r6, 0 _08038424: @@ -92609,13 +88373,13 @@ _0803847A: adds r1, r6, 0 adds r1, 0xD adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r1, r8 strh r0, [r1] adds r1, r6, 0 adds r1, 0x11 adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r2, r10 adds r1, r2, r6 strb r0, [r1] @@ -92629,7 +88393,7 @@ _0803847A: ldr r1, _080384C8 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r9 strb r0, [r1, 0xC] mov r2, r9 @@ -92671,7 +88435,7 @@ _080384F4: adds r1, 0x11 mov r2, r8 adds r0, r4, r2 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -92682,7 +88446,7 @@ _080384F4: ldr r1, _08038520 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -92719,7 +88483,7 @@ _08038550: adds r0, r1 movs r1, 0x19 _0803855A: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -92852,27 +88616,27 @@ _08038640: adds r4, r0 adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData strb r0, [r7] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x1] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x2] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x3] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x4] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x5] movs r6, 0x6 b _08038886 @@ -92957,7 +88721,7 @@ _08038710: adds r0, r1 movs r1, 0x37 _0803871A: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -93046,7 +88810,7 @@ _080387B4: adds r0, r1 movs r1, 0x3F _080387BE: - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 strb r0, [r7] @@ -93153,7 +88917,7 @@ _08038874: adds r0, r1 movs r1, 0x36 _0803887E: - bl PokemonGetField + bl GetMonData strb r0, [r7] movs r6, 0x1 _08038886: @@ -93329,12 +89093,12 @@ _08038A34: adds r0, r4, 0 movs r1, 0xB adds r2, r7, 0 - bl pokemon_setattr + bl SetMonData adds r2, r7, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -93375,12 +89139,12 @@ _08038A9A: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -93396,15 +89160,15 @@ _08038A9A: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl pokemon_setattr + bl SetMonData ldrb r0, [r7, 0x14] lsls r0, 27 lsrs r0, 27 @@ -93413,7 +89177,7 @@ _08038A9A: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r7, 0x14] lsls r0, 22 @@ -93422,7 +89186,7 @@ _08038A9A: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r7, 0x15] lsls r0, 25 @@ -93431,7 +89195,7 @@ _08038A9A: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldr r0, [r7, 0x14] lsls r0, 12 @@ -93440,7 +89204,7 @@ _08038A9A: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r7, 0x16] lsls r0, 23 @@ -93449,7 +89213,7 @@ _08038A9A: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r7, 0x17] lsls r0, 26 @@ -93458,47 +89222,47 @@ _08038A9A: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038BC8: .4byte 0x030045c0 @@ -93511,7 +89275,7 @@ _08038BCC: lsls r2, 9 adds r2, r3 movs r1, 0xB - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038BE4: .4byte 0x030045c0 @@ -93524,7 +89288,7 @@ _08038BE8: lsls r2, 9 adds r2, r3 movs r1, 0xC - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038C00: .4byte 0x030045c0 @@ -93546,12 +89310,12 @@ _08038C1C: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -93565,7 +89329,7 @@ _08038C1C: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038C54: .4byte 0x030045c0 @@ -93597,7 +89361,7 @@ _08038C78: adds r0, r4, 0 movs r1, 0x11 str r3, [sp, 0x34] - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93605,7 +89369,7 @@ _08038C78: adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93613,7 +89377,7 @@ _08038C78: adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93621,7 +89385,7 @@ _08038C78: adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93629,7 +89393,7 @@ _08038C78: adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038CDC: .4byte 0x030045c0 @@ -93648,7 +89412,7 @@ _08038CE0: _08038CF6: adds r3, 0x3 adds r2, r3 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038D00: .4byte 0x030045c0 @@ -93662,7 +89426,7 @@ _08038D08: lsls r2, 9 adds r2, r3 movs r1, 0x1 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038D20: .4byte 0x030045c0 @@ -93675,7 +89439,7 @@ _08038D24: lsls r2, 9 adds r2, r3 movs r1, 0x19 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038D3C: .4byte 0x030045c0 @@ -93688,7 +89452,7 @@ _08038D40: lsls r2, 9 adds r2, r3 movs r1, 0x1A - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038D58: .4byte 0x030045c0 @@ -93701,7 +89465,7 @@ _08038D5C: lsls r2, 9 adds r2, r3 movs r1, 0x1B - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038D74: .4byte 0x030045c0 @@ -93714,7 +89478,7 @@ _08038D78: lsls r2, 9 adds r2, r3 movs r1, 0x1C - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038D90: .4byte 0x030045c0 @@ -93727,7 +89491,7 @@ _08038D94: lsls r2, 9 adds r2, r3 movs r1, 0x1D - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038DAC: .4byte 0x030045c0 @@ -93740,7 +89504,7 @@ _08038DB0: lsls r2, 9 adds r2, r3 movs r1, 0x1E - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038DC8: .4byte 0x030045c0 @@ -93753,7 +89517,7 @@ _08038DCC: lsls r2, 9 adds r2, r3 movs r1, 0x1F - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038DE4: .4byte 0x030045c0 @@ -93766,7 +89530,7 @@ _08038DE8: lsls r2, 9 adds r2, r3 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038E00: .4byte 0x030045c0 @@ -93779,7 +89543,7 @@ _08038E04: lsls r2, 9 adds r2, r3 movs r1, 0x22 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038E1C: .4byte 0x030045c0 @@ -93792,7 +89556,7 @@ _08038E20: lsls r2, 9 adds r2, r3 movs r1, 0x23 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038E38: .4byte 0x030045c0 @@ -93805,7 +89569,7 @@ _08038E3C: lsls r2, 9 adds r2, r3 movs r1, 0x24 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038E54: .4byte 0x030045c0 @@ -93818,7 +89582,7 @@ _08038E58: lsls r2, 9 adds r2, r3 movs r1, 0x25 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038E70: .4byte 0x030045c0 @@ -93831,7 +89595,7 @@ _08038E74: lsls r2, 9 adds r2, r3 movs r1, 0x26 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038E8C: .4byte 0x030045c0 @@ -93847,7 +89611,7 @@ _08038E90: adds r0, r4, 0 movs r1, 0x27 str r3, [sp, 0x34] - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93855,7 +89619,7 @@ _08038E90: adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93863,7 +89627,7 @@ _08038E90: adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93871,7 +89635,7 @@ _08038E90: adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93879,7 +89643,7 @@ _08038E90: adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -93898,7 +89662,7 @@ _08038F04: lsls r2, 9 adds r2, r3 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038F1C: .4byte 0x030045c0 @@ -93911,7 +89675,7 @@ _08038F20: lsls r2, 9 adds r2, r3 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038F38: .4byte 0x030045c0 @@ -93924,7 +89688,7 @@ _08038F3C: lsls r2, 9 adds r2, r3 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038F54: .4byte 0x030045c0 @@ -93937,7 +89701,7 @@ _08038F58: lsls r2, 9 adds r2, r3 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038F70: .4byte 0x030045c0 @@ -93950,7 +89714,7 @@ _08038F74: lsls r2, 9 adds r2, r3 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038F8C: .4byte 0x030045c0 @@ -93964,7 +89728,7 @@ _08038F90: adds r2, r3 _08038F9E: movs r1, 0x2C - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038FA8: .4byte 0x030045c0 @@ -93977,7 +89741,7 @@ _08038FAC: lsls r2, 9 adds r2, r3 movs r1, 0 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038FC4: .4byte 0x030045c0 @@ -93990,7 +89754,7 @@ _08038FC8: lsls r2, 9 adds r2, r3 movs r1, 0x9 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038FE0: .4byte 0x030045c0 @@ -94003,7 +89767,7 @@ _08038FE4: lsls r2, 9 adds r2, r3 movs r1, 0x37 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08038FFC: .4byte 0x030045c0 @@ -94016,7 +89780,7 @@ _08039000: lsls r2, 9 adds r2, r3 movs r1, 0x38 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039018: .4byte 0x030045c0 @@ -94029,7 +89793,7 @@ _0803901C: lsls r2, 9 adds r2, r3 movs r1, 0x39 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039034: .4byte 0x030045c0 @@ -94042,7 +89806,7 @@ _08039038: lsls r2, 9 adds r2, r3 movs r1, 0x3A - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039050: .4byte 0x030045c0 @@ -94055,7 +89819,7 @@ _08039054: lsls r2, 9 adds r2, r3 movs r1, 0x3B - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _0803906C: .4byte 0x030045c0 @@ -94068,7 +89832,7 @@ _08039070: lsls r2, 9 adds r2, r3 movs r1, 0x3C - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039088: .4byte 0x030045c0 @@ -94081,7 +89845,7 @@ _0803908C: lsls r2, 9 adds r2, r3 movs r1, 0x3D - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080390A4: .4byte 0x030045c0 @@ -94094,7 +89858,7 @@ _080390A8: lsls r2, 9 adds r2, r3 movs r1, 0x3E - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080390C0: .4byte 0x030045c0 @@ -94107,7 +89871,7 @@ _080390C4: lsls r2, 9 adds r2, r3 movs r1, 0x3F - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080390DC: .4byte 0x030045c0 @@ -94120,7 +89884,7 @@ _080390E0: lsls r2, 9 adds r2, r3 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080390F8: .4byte 0x030045c0 @@ -94133,7 +89897,7 @@ _080390FC: lsls r2, 9 adds r2, r3 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039114: .4byte 0x030045c0 @@ -94146,7 +89910,7 @@ _08039118: lsls r2, 9 adds r2, r3 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039130: .4byte 0x030045c0 @@ -94159,7 +89923,7 @@ _08039134: lsls r2, 9 adds r2, r3 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _0803914C: .4byte 0x030045c0 @@ -94172,7 +89936,7 @@ _08039150: lsls r2, 9 adds r2, r3 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039168: .4byte 0x030045c0 @@ -94185,7 +89949,7 @@ _0803916C: lsls r2, 9 adds r2, r3 movs r1, 0x30 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _08039184: .4byte 0x030045c0 @@ -94198,7 +89962,7 @@ _08039188: lsls r2, 9 adds r2, r3 movs r1, 0x32 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080391A0: .4byte 0x030045c0 @@ -94211,7 +89975,7 @@ _080391A4: lsls r2, 9 adds r2, r3 movs r1, 0x33 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080391BC: .4byte 0x030045c0 @@ -94224,7 +89988,7 @@ _080391C0: lsls r2, 9 adds r2, r3 movs r1, 0x34 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080391D8: .4byte 0x030045c0 @@ -94237,7 +90001,7 @@ _080391DC: lsls r2, 9 adds r2, r3 movs r1, 0x35 - bl pokemon_setattr + bl SetMonData b _0803920C .align 2, 0 _080391F4: .4byte 0x030045c0 @@ -94250,7 +90014,7 @@ _080391F8: lsls r2, 9 adds r2, r3 movs r1, 0x36 - bl pokemon_setattr + bl SetMonData _0803920C: add sp, 0x38 pop {r3-r5} @@ -94345,7 +90109,7 @@ sub_8039294: @ 8039294 mov r9, r1 add r0, r9 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -94442,7 +90206,7 @@ sub_8039294: @ 8039294 adds r0, r1, 0 add r0, r9 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -94543,7 +90307,7 @@ sub_8039430: @ 8039430 ldr r5, _08039594 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r8, r0 lsls r0, 16 lsrs r0, 16 @@ -95699,7 +91463,7 @@ sub_8039D80: @ 8039D80 ldr r4, _08039E08 adds r0, r4 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r9 ldrb r0, [r1] @@ -95709,7 +91473,7 @@ sub_8039D80: @ 8039D80 muls r0, r5 adds r0, r4 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -95737,7 +91501,7 @@ _08039E10: ldr r1, _08039E5C adds r0, r1 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -96173,7 +91937,7 @@ sub_803A148: @ 803A148 ldr r1, _0803A180 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x19 @@ -96844,8 +92608,8 @@ nullsub_48: @ 803A6BC bx lr thumb_func_end nullsub_48 - thumb_func_start zero_pokemon_boxed_data -zero_pokemon_boxed_data: @ 803A6C0 + thumb_func_start ZeroPokemonBoxData +ZeroPokemonBoxData: @ 803A6C0 push {lr} adds r2, r0, 0 movs r1, 0 @@ -96858,58 +92622,58 @@ _0803A6C8: bls _0803A6C8 pop {r0} bx r0 - thumb_func_end zero_pokemon_boxed_data + thumb_func_end ZeroPokemonBoxData thumb_func_start zero_pokemon_struct zero_pokemon_struct: @ 803A6D8 push {r4,lr} sub sp, 0x4 adds r4, r0, 0 - bl zero_pokemon_boxed_data + bl ZeroPokemonBoxData movs r0, 0 str r0, [sp] adds r0, r4, 0 movs r1, 0x37 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x38 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x39 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3A mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3B mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3C mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3D mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3E mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3F mov r2, sp - bl pokemon_setattr + bl SetMonData movs r0, 0xFF str r0, [sp] adds r0, r4, 0 movs r1, 0x40 mov r2, sp - bl pokemon_setattr + bl SetMonData add sp, 0x4 pop {r4} pop {r0} @@ -96994,13 +92758,13 @@ create_pokemon_set_level: @ 803A798 mov r0, r8 movs r1, 0x38 add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData movs r0, 0xFF str r0, [sp, 0x14] add r2, sp, 0x14 mov r0, r8 movs r1, 0x40 - bl pokemon_setattr + bl SetMonData mov r0, r8 bl pokemon_calc_effective_stats add sp, 0x1C @@ -97036,7 +92800,7 @@ create_pokemon: @ 803A808 lsrs r0, 24 mov r10, r0 adds r0, r7, 0 - bl zero_pokemon_boxed_data + bl ZeroPokemonBoxData cmp r4, 0 beq _0803A844 ldr r0, [sp, 0x44] @@ -97055,7 +92819,7 @@ _0803A858: add r2, sp, 0x14 adds r0, r7, 0 movs r1, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData add r0, sp, 0x18 mov r9, r0 add r5, sp, 0xC @@ -97117,37 +92881,37 @@ _0803A8D4: adds r0, r7, 0 movs r1, 0x1 mov r2, r9 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 bl pokemon_calc_checksum strh r0, [r5] adds r0, r7, 0 movs r1, 0x9 adds r2, r5, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 - bl pokemon_encrypt + bl EncryptMon mov r0, sp ldrh r1, [r0, 0xE] bl GetSpeciesName adds r0, r7, 0 movs r1, 0x2 mov r2, sp - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r2, _0803AA04 adds r0, r7, 0 movs r1, 0x3 - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r5, _0803AA00 adds r0, r7, 0 movs r1, 0x7 adds r2, r5, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 movs r1, 0xB mov r2, sp adds r2, 0xE - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r4, _0803AA08 mov r2, sp ldrh r1, [r2, 0xE] @@ -97168,7 +92932,7 @@ _0803A8D4: adds r2, r0 adds r0, r7, 0 movs r1, 0x19 - bl PokemonSetEncryptedField + bl SetMonBoxData mov r1, sp ldrh r0, [r1, 0xE] lsls r2, r0, 3 @@ -97178,7 +92942,7 @@ _0803A8D4: adds r2, r4 adds r0, r7, 0 movs r1, 0x20 - bl PokemonSetEncryptedField + bl SetMonBoxData bl sav1_map_get_name lsls r0, 24 lsrs r0, 24 @@ -97186,26 +92950,26 @@ _0803A8D4: adds r0, r7, 0 movs r1, 0x23 mov r2, r9 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 movs r1, 0x24 add r2, sp, 0x10 - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r2, _0803AA10 adds r0, r7, 0 movs r1, 0x25 - bl PokemonSetEncryptedField + bl SetMonBoxData movs r0, 0x4 str r0, [sp, 0x18] adds r0, r7, 0 movs r1, 0x26 mov r2, r9 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r5, 0x8 adds r0, r7, 0 movs r1, 0x31 adds r2, r5, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData mov r2, sp ldrb r0, [r2, 0x11] cmp r0, 0x1F @@ -97213,32 +92977,32 @@ _0803A8D4: adds r0, r7, 0 movs r1, 0x27 adds r2, 0x11 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 movs r1, 0x28 mov r2, sp adds r2, 0x11 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 movs r1, 0x29 mov r2, sp adds r2, 0x11 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 movs r1, 0x2A mov r2, sp adds r2, 0x11 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 movs r1, 0x2B mov r2, sp adds r2, 0x11 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r7, 0 movs r1, 0x2C mov r2, sp adds r2, 0x11 - bl PokemonSetEncryptedField + bl SetMonBoxData b _0803AA9C .align 2, 0 _0803AA00: .4byte gSaveBlock2 @@ -97259,7 +93023,7 @@ _0803AA14: adds r0, r7, 0 movs r1, 0x27 adds r2, r4, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r0, [sp, 0x18] movs r6, 0xF8 lsls r6, 2 @@ -97269,7 +93033,7 @@ _0803AA14: adds r0, r7, 0 movs r1, 0x28 adds r2, r4, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r0, [sp, 0x18] movs r5, 0xF8 lsls r5, 7 @@ -97279,7 +93043,7 @@ _0803AA14: adds r0, r7, 0 movs r1, 0x29 adds r2, r4, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData bl Random lsls r0, 16 lsrs r0, 16 @@ -97290,7 +93054,7 @@ _0803AA14: adds r0, r7, 0 movs r1, 0x2A adds r2, r4, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r0, [sp, 0x18] ands r0, r6 lsrs r0, 5 @@ -97298,7 +93062,7 @@ _0803AA14: adds r0, r7, 0 movs r1, 0x2B adds r2, r4, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData ldr r0, [sp, 0x18] ands r0, r5 lsrs r0, 10 @@ -97306,7 +93070,7 @@ _0803AA14: adds r0, r7, 0 movs r1, 0x2C adds r2, r4, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData _0803AA9C: ldr r2, _0803AAD8 mov r3, sp @@ -97325,7 +93089,7 @@ _0803AA9C: adds r0, r7, 0 movs r1, 0x2E mov r2, r9 - bl PokemonSetEncryptedField + bl SetMonBoxData _0803AAC2: adds r0, r7, 0 bl sub_803B720 @@ -97590,7 +93354,7 @@ sub_803ACAC: @ 803ACAC adds r0, r4, 0 movs r1, 0x42 add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 bl pokemon_calc_effective_stats add sp, 0x14 @@ -97622,28 +93386,28 @@ unref_sub_803ACEC: @ 803ACEC adds r0, r5, 0 movs r1, 0x27 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData adds r2, r4, 0x1 adds r0, r5, 0 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData adds r2, r4, 0x2 adds r0, r5, 0 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData adds r2, r4, 0x3 adds r0, r5, 0 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData adds r2, r4, 0x4 adds r0, r5, 0 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData adds r4, 0x5 adds r0, r5, 0 movs r1, 0x2C adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 bl pokemon_calc_effective_stats add sp, 0x10 @@ -97707,7 +93471,7 @@ _0803ADB8: adds r1, 0x1A adds r0, r7, 0 add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData _0803ADCC: lsls r0, r4, 25 lsrs r4, r0, 24 @@ -97766,11 +93530,11 @@ _0803AE1E: adds r2, 0xD adds r0, r7, 0 movs r1, 0x15 - bl pokemon_setattr + bl SetMonData adds r2, r6, 0x2 adds r0, r7, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData adds r1, r6, 0 adds r1, 0x20 add r0, sp, 0x10 @@ -97793,48 +93557,48 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x3 mov r2, r9 - bl pokemon_setattr + bl SetMonData add r0, sp, 0x10 bl SkipExtCtrlCodes adds r0, r7, 0 movs r1, 0x2 add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x2B adds r0, r7, 0 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0xE adds r0, r7, 0 movs r1, 0x1A - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0xF adds r0, r7, 0 movs r1, 0x1B - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x10 adds r0, r7, 0 movs r1, 0x1C - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x11 adds r0, r7, 0 movs r1, 0x1D - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x12 adds r0, r7, 0 movs r1, 0x1E - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x13 adds r0, r7, 0 movs r1, 0x1F - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x1B] lsrs r0, 7 mov r1, r8 @@ -97842,7 +93606,7 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x2E mov r2, r8 - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x18] lsls r0, 27 lsrs r0, 27 @@ -97851,7 +93615,7 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x27 mov r2, r8 - bl pokemon_setattr + bl SetMonData ldrh r0, [r6, 0x18] lsls r0, 22 lsrs r0, 27 @@ -97860,7 +93624,7 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x28 mov r2, r8 - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x19] lsls r0, 25 lsrs r0, 27 @@ -97869,7 +93633,7 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x29 mov r2, r8 - bl pokemon_setattr + bl SetMonData ldr r0, [r6, 0x18] lsls r0, 12 lsrs r0, 27 @@ -97878,7 +93642,7 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x2A mov r2, r8 - bl pokemon_setattr + bl SetMonData ldrh r0, [r6, 0x1A] lsls r0, 23 lsrs r0, 27 @@ -97887,7 +93651,7 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x2B mov r2, r8 - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x1B] lsls r0, 26 lsrs r0, 27 @@ -97896,7 +93660,7 @@ _0803AE68: adds r0, r7, 0 movs r1, 0x2C mov r2, r8 - bl pokemon_setattr + bl SetMonData adds r0, r7, 0 bl pokemon_calc_effective_stats add sp, 0x20 @@ -97918,12 +93682,12 @@ sub_803AF78: @ 803AF78 adds r6, r1, 0 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData strh r0, [r6] adds r0, r7, 0 movs r1, 0xC movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0xAF @@ -97944,7 +93708,7 @@ _0803AFB4: adds r1, 0xD adds r0, r7, 0 movs r2, 0 - bl PokemonGetField + bl GetMonData strh r0, [r4] adds r4, 0x2 adds r5, 0x1 @@ -97953,58 +93717,58 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0x38 movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0xC] adds r0, r7, 0 movs r1, 0x15 movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0xD] adds r0, r7, 0 movs r1, 0x1 movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [r6, 0x14] adds r0, r7, 0 movs r1, 0x1A movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0xE] adds r0, r7, 0 movs r1, 0x1B movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0xF] adds r0, r7, 0 movs r1, 0x1C movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0x10] adds r0, r7, 0 movs r1, 0x1D movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0x11] adds r0, r7, 0 movs r1, 0x1E movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0x12] adds r0, r7, 0 movs r1, 0x1F movs r2, 0 - bl PokemonGetField + bl GetMonData strb r0, [r6, 0x13] adds r0, r7, 0 movs r1, 0x20 movs r2, 0 - bl PokemonGetField + bl GetMonData mov r1, r8 strb r0, [r1] adds r0, r7, 0 movs r1, 0x27 movs r2, 0 - bl PokemonGetField + bl GetMonData movs r4, 0x1F ands r0, r4 ldrb r2, [r6, 0x18] @@ -98016,7 +93780,7 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0x28 movs r2, 0 - bl PokemonGetField + bl GetMonData movs r5, 0x1F ands r0, r5 lsls r0, 5 @@ -98028,7 +93792,7 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0x29 movs r2, 0 - bl PokemonGetField + bl GetMonData ands r0, r4 lsls r0, 2 ldrb r2, [r6, 0x19] @@ -98040,7 +93804,7 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0x2A movs r2, 0 - bl PokemonGetField + bl GetMonData movs r1, 0x1F ands r1, r0 lsls r1, 15 @@ -98052,7 +93816,7 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0x2B movs r2, 0 - bl PokemonGetField + bl GetMonData ands r0, r5 lsls r0, 4 ldrh r2, [r6, 0x1A] @@ -98063,7 +93827,7 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0x2C movs r2, 0 - bl PokemonGetField + bl GetMonData ands r0, r4 lsls r0, 1 ldrb r2, [r6, 0x1B] @@ -98075,7 +93839,7 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0x2E movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 7 ldrb r2, [r6, 0x1B] movs r1, 0x7F @@ -98085,12 +93849,12 @@ _0803AFB4: adds r0, r7, 0 movs r1, 0 movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [r6, 0x1C] adds r0, r7, 0 movs r1, 0x2 mov r2, r9 - bl PokemonGetField + bl GetMonData pop {r3,r4} mov r8, r3 mov r9, r4 @@ -98112,22 +93876,22 @@ pokemon_calc_checksum: @ 803B124 movs r6, 0 ldr r1, [r4] movs r2, 0 - bl sub_803C638 + bl GetSubstruct adds r5, r0, 0 ldr r1, [r4] adds r0, r4, 0 movs r2, 0x1 - bl sub_803C638 + bl GetSubstruct adds r7, r0, 0 ldr r1, [r4] adds r0, r4, 0 movs r2, 0x2 - bl sub_803C638 + bl GetSubstruct mov r8, r0 ldr r1, [r4] adds r0, r4, 0 movs r2, 0x3 - bl sub_803C638 + bl GetSubstruct adds r3, r0, 0 movs r1, 0x5 _0803B15E: @@ -98191,77 +93955,77 @@ pokemon_calc_effective_stats: @ 803B1B8 adds r5, r0, 0 movs r1, 0x3A movs r2, 0 - bl PokemonGetField + bl GetMonData mov r8, r0 adds r0, r5, 0 movs r1, 0x39 movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x1C] adds r0, r5, 0 movs r1, 0x27 movs r2, 0 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 adds r0, r5, 0 movs r1, 0x1A movs r2, 0 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 adds r0, r5, 0 movs r1, 0x28 movs r2, 0 - bl PokemonGetField + bl GetMonData mov r10, r0 adds r0, r5, 0 movs r1, 0x1B movs r2, 0 - bl PokemonGetField + bl GetMonData mov r9, r0 adds r0, r5, 0 movs r1, 0x29 movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x20] adds r0, r5, 0 movs r1, 0x1C movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x24] adds r0, r5, 0 movs r1, 0x2A movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x28] adds r0, r5, 0 movs r1, 0x1D movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x2C] adds r0, r5, 0 movs r1, 0x2B movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x30] adds r0, r5, 0 movs r1, 0x1E movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x34] adds r0, r5, 0 movs r1, 0x2C movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x38] adds r0, r5, 0 movs r1, 0x1F movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x3C] adds r0, r5, 0 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r7, r0, 16 adds r0, r5, 0 @@ -98272,7 +94036,7 @@ pokemon_calc_effective_stats: @ 803B1B8 adds r0, r5, 0 movs r1, 0x38 mov r2, sp - bl pokemon_setattr + bl SetMonData ldr r0, _0803B2A0 cmp r7, r0 bne _0803B2A4 @@ -98323,7 +94087,7 @@ _0803B2D2: _0803B2EC: adds r0, r5, 0 movs r1, 0x3A - bl pokemon_setattr + bl SetMonData ldr r0, _0803B470 subs r1, r6, r7 lsls r1, 2 @@ -98359,7 +94123,7 @@ _0803B30C: adds r0, r5, 0 movs r1, 0x3B adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x2] lsls r0, 1 ldr r3, [sp, 0x20] @@ -98391,7 +94155,7 @@ _0803B352: adds r0, r5, 0 movs r1, 0x3C adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x3] lsls r0, 1 ldr r2, [sp, 0x28] @@ -98423,7 +94187,7 @@ _0803B398: adds r0, r5, 0 movs r1, 0x3D adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x4] lsls r0, 1 ldr r3, [sp, 0x30] @@ -98455,7 +94219,7 @@ _0803B3DE: adds r0, r5, 0 movs r1, 0x3E adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x5] lsls r0, 1 ldr r2, [sp, 0x38] @@ -98487,7 +94251,7 @@ _0803B424: adds r0, r5, 0 movs r1, 0x3F adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData ldr r0, _0803B47C cmp r7, r0 bne _0803B480 @@ -98524,7 +94288,7 @@ _0803B498: add r2, sp, 0x1C adds r0, r5, 0 movs r1, 0x39 - bl pokemon_setattr + bl SetMonData _0803B4A4: add sp, 0x40 pop {r3-r5} @@ -98551,21 +94315,21 @@ sub_803B4B4: @ 803B4B4 adds r0, r4, 0 movs r1, 0x37 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x39 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3A mov r2, sp - bl pokemon_setattr + bl SetMonData movs r0, 0xFF str r0, [sp] adds r0, r4, 0 movs r1, 0x40 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 bl pokemon_calc_effective_stats add sp, 0x4 @@ -98580,14 +94344,14 @@ level_by_exp: @ 803B504 adds r5, r0, 0 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x19 movs r2, 0 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 movs r2, 0x1 ldr r6, _0803B568 @@ -98636,14 +94400,14 @@ sub_803B570: @ 803B570 adds r5, r0, 0 movs r1, 0xB movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x19 movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r3, r0, 0 movs r2, 0x1 ldr r6, _0803B5D4 @@ -98713,7 +94477,7 @@ _0803B5FE: adds r0, r7, 0 adds r1, r4, 0 movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -98721,7 +94485,7 @@ _0803B5FE: adds r0, r7, 0 adds r1, r4, 0 mov r2, sp - bl PokemonSetEncryptedField + bl SetMonBoxData adds r1, r5, 0 adds r1, 0x11 ldrh r0, [r6] @@ -98731,7 +94495,7 @@ _0803B5FE: ldr r0, _0803B638 adds r2, r0 adds r0, r7, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData ldrh r0, [r6] b _0803B654 .align 2, 0 @@ -98813,7 +94577,7 @@ sub_803B6A4: @ 803B6A4 adds r1, 0xD adds r0, r5, 0 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r4, 0x11 mov r0, sp ldrh r0, [r0] @@ -98824,7 +94588,7 @@ sub_803B6A4: @ 803B6A4 adds r2, r0 adds r0, r5, 0 adds r1, r4, 0 - bl pokemon_setattr + bl SetMonData add sp, 0x4 pop {r4,r5} pop {r0} @@ -98880,7 +94644,7 @@ sub_803B720: @ 803B720 mov r8, r0 movs r1, 0xB movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -98970,14 +94734,14 @@ sub_803B7C8: @ 803B7C8 mov r0, r8 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 mov r9, r0 mov r0, r8 movs r1, 0x38 movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -99111,13 +94875,13 @@ _0803B8F0: adds r1, 0xE adds r0, r6, 0 movs r2, 0 - bl PokemonGetField + bl GetMonData strh r0, [r5] adds r1, r4, 0 adds r1, 0x12 adds r0, r6, 0 movs r2, 0 - bl PokemonGetField + bl GetMonData adds r1, r7, r4 strb r0, [r1] adds r5, 0x2 @@ -99127,7 +94891,7 @@ _0803B8F0: adds r0, r6, 0 movs r1, 0x15 movs r2, 0 - bl PokemonGetField + bl GetMonData mov r1, r9 strb r0, [r1] ldrb r0, [r1] @@ -99151,12 +94915,12 @@ _0803B944: adds r1, 0xD adds r0, r6, 0 adds r2, r5, 0 - bl pokemon_setattr + bl SetMonData adds r1, r4, 0 adds r1, 0x11 adds r2, r7, r4 adds r0, r6, 0 - bl pokemon_setattr + bl SetMonData adds r5, 0x2 adds r4, 0x1 cmp r4, 0x3 @@ -99164,7 +94928,7 @@ _0803B944: adds r0, r6, 0 movs r1, 0x15 mov r2, r9 - bl pokemon_setattr + bl SetMonData add sp, 0x10 pop {r3,r4} mov r8, r3 @@ -99197,13 +94961,13 @@ _0803B99C: adds r1, 0xE adds r0, r6, 0 movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData strh r0, [r5] adds r1, r4, 0 adds r1, 0x12 adds r0, r6, 0 movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r7, r4 strb r0, [r1] adds r5, 0x2 @@ -99213,7 +94977,7 @@ _0803B99C: adds r0, r6, 0 movs r1, 0x15 movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData mov r1, r9 strb r0, [r1] ldrb r0, [r1] @@ -99237,12 +95001,12 @@ _0803B9F0: adds r1, 0xD adds r0, r6, 0 adds r2, r5, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r1, r4, 0 adds r1, 0x11 adds r2, r7, r4 adds r0, r6, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r5, 0x2 adds r4, 0x1 cmp r4, 0x3 @@ -99250,7 +95014,7 @@ _0803B9F0: adds r0, r6, 0 movs r1, 0x15 mov r2, r9 - bl PokemonSetEncryptedField + bl SetMonBoxData add sp, 0x10 pop {r3,r4} mov r8, r3 @@ -100623,13 +96387,13 @@ pokemon_roll_gender: @ 803C4C8 adds r4, r0, 0 movs r1, 0xB movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0 movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r2, r0, 0 ldr r1, _0803C518 lsls r0, r5, 3 @@ -100781,9540 +96545,4 @@ _0803C5DE: _0803C5EC: .4byte gUnknown_081EC2A4 thumb_func_end sub_803C5A0 - thumb_func_start pokemon_encrypt -pokemon_encrypt: @ 803C5F0 - push {r4,lr} - adds r3, r0, 0 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x20 -_0803C5FA: - ldr r0, [r2] - ldr r1, [r3] - eors r0, r1 - str r0, [r2] - ldr r1, [r3, 0x4] - eors r0, r1 - stm r2!, {r0} - adds r4, 0x1 - cmp r4, 0xB - bls _0803C5FA - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemon_encrypt - - thumb_func_start pokemon_decrypt -pokemon_decrypt: @ 803C614 - push {r4,lr} - adds r3, r0, 0 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x20 -_0803C61E: - ldr r0, [r2] - ldr r1, [r3, 0x4] - eors r0, r1 - str r0, [r2] - ldr r1, [r3] - eors r0, r1 - stm r2!, {r0} - adds r4, 0x1 - cmp r4, 0xB - bls _0803C61E - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemon_decrypt - - thumb_func_start sub_803C638 -sub_803C638: @ 803C638 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4C - lsls r2, 24 - lsrs r4, r2, 24 - movs r5, 0 - adds r0, 0x20 - str r0, [sp, 0x4] - str r0, [sp] - str r0, [sp, 0xC] - str r0, [sp, 0x8] - str r0, [sp, 0x14] - str r0, [sp, 0x10] - str r0, [sp, 0x1C] - str r0, [sp, 0x18] - str r0, [sp, 0x24] - str r0, [sp, 0x20] - str r0, [sp, 0x2C] - str r0, [sp, 0x28] - mov r10, r0 - str r0, [sp, 0x30] - mov r8, r10 - str r0, [sp, 0x34] - mov r3, r8 - str r3, [sp, 0x38] - adds r7, r3, 0 - str r7, [sp, 0x3C] - adds r6, r7, 0 - str r6, [sp, 0x40] - adds r2, r6, 0 - mov r9, r2 - adds r0, r1, 0 - movs r1, 0x18 - str r2, [sp, 0x44] - str r3, [sp, 0x48] - bl __umodsi3 - ldr r2, [sp, 0x44] - ldr r3, [sp, 0x48] - cmp r0, 0x17 - bls _0803C692 - b _0803CB4E -_0803C692: - lsls r0, 2 - ldr r1, _0803C69C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803C69C: .4byte _0803C6A0 - .align 2, 0 -_0803C6A0: - .4byte _0803C700 - .4byte _0803C72E - .4byte _0803C75C - .4byte _0803C78A - .4byte _0803C7B8 - .4byte _0803C7E6 - .4byte _0803C814 - .4byte _0803C842 - .4byte _0803C870 - .4byte _0803C89E - .4byte _0803C8CC - .4byte _0803C8FA - .4byte _0803C928 - .4byte _0803C956 - .4byte _0803C984 - .4byte _0803C9B2 - .4byte _0803C9E0 - .4byte _0803CA0E - .4byte _0803CA3C - .4byte _0803CA6A - .4byte _0803CA98 - .4byte _0803CAC6 - .4byte _0803CAF4 - .4byte _0803CB22 -_0803C700: - cmp r4, 0x1 - beq _0803C71C - cmp r4, 0x1 - bgt _0803C70E - cmp r4, 0 - beq _0803C718 - b _0803CB4E -_0803C70E: - cmp r4, 0x2 - beq _0803C722 - cmp r4, 0x3 - beq _0803C728 - b _0803CB4E -_0803C718: - ldr r5, [sp] - b _0803CB4E -_0803C71C: - ldr r5, [sp] - adds r5, 0xC - b _0803CB4E -_0803C722: - ldr r5, [sp] - adds r5, 0x18 - b _0803CB4E -_0803C728: - ldr r5, [sp] - adds r5, 0x24 - b _0803CB4E -_0803C72E: - cmp r4, 0x1 - beq _0803C74A - cmp r4, 0x1 - bgt _0803C73C - cmp r4, 0 - beq _0803C746 - b _0803CB4E -_0803C73C: - cmp r4, 0x2 - beq _0803C750 - cmp r4, 0x3 - beq _0803C756 - b _0803CB4E -_0803C746: - ldr r5, [sp, 0x4] - b _0803CB4E -_0803C74A: - ldr r5, [sp, 0x4] - adds r5, 0xC - b _0803CB4E -_0803C750: - ldr r5, [sp, 0x4] - adds r5, 0x24 - b _0803CB4E -_0803C756: - ldr r5, [sp, 0x4] - adds r5, 0x18 - b _0803CB4E -_0803C75C: - cmp r4, 0x1 - beq _0803C778 - cmp r4, 0x1 - bgt _0803C76A - cmp r4, 0 - beq _0803C774 - b _0803CB4E -_0803C76A: - cmp r4, 0x2 - beq _0803C77E - cmp r4, 0x3 - beq _0803C784 - b _0803CB4E -_0803C774: - ldr r5, [sp, 0x8] - b _0803CB4E -_0803C778: - ldr r5, [sp, 0x8] - adds r5, 0x18 - b _0803CB4E -_0803C77E: - ldr r5, [sp, 0x8] - adds r5, 0xC - b _0803CB4E -_0803C784: - ldr r5, [sp, 0x8] - adds r5, 0x24 - b _0803CB4E -_0803C78A: - cmp r4, 0x1 - beq _0803C7A6 - cmp r4, 0x1 - bgt _0803C798 - cmp r4, 0 - beq _0803C7A2 - b _0803CB4E -_0803C798: - cmp r4, 0x2 - beq _0803C7AC - cmp r4, 0x3 - beq _0803C7B2 - b _0803CB4E -_0803C7A2: - ldr r5, [sp, 0xC] - b _0803CB4E -_0803C7A6: - ldr r5, [sp, 0xC] - adds r5, 0x24 - b _0803CB4E -_0803C7AC: - ldr r5, [sp, 0xC] - adds r5, 0xC - b _0803CB4E -_0803C7B2: - ldr r5, [sp, 0xC] - adds r5, 0x18 - b _0803CB4E -_0803C7B8: - cmp r4, 0x1 - beq _0803C7D4 - cmp r4, 0x1 - bgt _0803C7C6 - cmp r4, 0 - beq _0803C7D0 - b _0803CB4E -_0803C7C6: - cmp r4, 0x2 - beq _0803C7DA - cmp r4, 0x3 - beq _0803C7E0 - b _0803CB4E -_0803C7D0: - ldr r5, [sp, 0x10] - b _0803CB4E -_0803C7D4: - ldr r5, [sp, 0x10] - adds r5, 0x18 - b _0803CB4E -_0803C7DA: - ldr r5, [sp, 0x10] - adds r5, 0x24 - b _0803CB4E -_0803C7E0: - ldr r5, [sp, 0x10] - adds r5, 0xC - b _0803CB4E -_0803C7E6: - cmp r4, 0x1 - beq _0803C802 - cmp r4, 0x1 - bgt _0803C7F4 - cmp r4, 0 - beq _0803C7FE - b _0803CB4E -_0803C7F4: - cmp r4, 0x2 - beq _0803C808 - cmp r4, 0x3 - beq _0803C80E - b _0803CB4E -_0803C7FE: - ldr r5, [sp, 0x14] - b _0803CB4E -_0803C802: - ldr r5, [sp, 0x14] - adds r5, 0x24 - b _0803CB4E -_0803C808: - ldr r5, [sp, 0x14] - adds r5, 0x18 - b _0803CB4E -_0803C80E: - ldr r5, [sp, 0x14] - adds r5, 0xC - b _0803CB4E -_0803C814: - cmp r4, 0x1 - beq _0803C832 - cmp r4, 0x1 - bgt _0803C822 - cmp r4, 0 - beq _0803C82C - b _0803CB4E -_0803C822: - cmp r4, 0x2 - beq _0803C836 - cmp r4, 0x3 - beq _0803C83C - b _0803CB4E -_0803C82C: - ldr r5, [sp, 0x18] - adds r5, 0xC - b _0803CB4E -_0803C832: - ldr r5, [sp, 0x18] - b _0803CB4E -_0803C836: - ldr r5, [sp, 0x18] - adds r5, 0x18 - b _0803CB4E -_0803C83C: - ldr r5, [sp, 0x18] - adds r5, 0x24 - b _0803CB4E -_0803C842: - cmp r4, 0x1 - beq _0803C860 - cmp r4, 0x1 - bgt _0803C850 - cmp r4, 0 - beq _0803C85A - b _0803CB4E -_0803C850: - cmp r4, 0x2 - beq _0803C864 - cmp r4, 0x3 - beq _0803C86A - b _0803CB4E -_0803C85A: - ldr r5, [sp, 0x1C] - adds r5, 0xC - b _0803CB4E -_0803C860: - ldr r5, [sp, 0x1C] - b _0803CB4E -_0803C864: - ldr r5, [sp, 0x1C] - adds r5, 0x24 - b _0803CB4E -_0803C86A: - ldr r5, [sp, 0x1C] - adds r5, 0x18 - b _0803CB4E -_0803C870: - cmp r4, 0x1 - beq _0803C88E - cmp r4, 0x1 - bgt _0803C87E - cmp r4, 0 - beq _0803C888 - b _0803CB4E -_0803C87E: - cmp r4, 0x2 - beq _0803C892 - cmp r4, 0x3 - beq _0803C898 - b _0803CB4E -_0803C888: - ldr r5, [sp, 0x20] - adds r5, 0x18 - b _0803CB4E -_0803C88E: - ldr r5, [sp, 0x20] - b _0803CB4E -_0803C892: - ldr r5, [sp, 0x20] - adds r5, 0xC - b _0803CB4E -_0803C898: - ldr r5, [sp, 0x20] - adds r5, 0x24 - b _0803CB4E -_0803C89E: - cmp r4, 0x1 - beq _0803C8BC - cmp r4, 0x1 - bgt _0803C8AC - cmp r4, 0 - beq _0803C8B6 - b _0803CB4E -_0803C8AC: - cmp r4, 0x2 - beq _0803C8C0 - cmp r4, 0x3 - beq _0803C8C6 - b _0803CB4E -_0803C8B6: - ldr r5, [sp, 0x24] - adds r5, 0x24 - b _0803CB4E -_0803C8BC: - ldr r5, [sp, 0x24] - b _0803CB4E -_0803C8C0: - ldr r5, [sp, 0x24] - adds r5, 0xC - b _0803CB4E -_0803C8C6: - ldr r5, [sp, 0x24] - adds r5, 0x18 - b _0803CB4E -_0803C8CC: - cmp r4, 0x1 - beq _0803C8EA - cmp r4, 0x1 - bgt _0803C8DA - cmp r4, 0 - beq _0803C8E4 - b _0803CB4E -_0803C8DA: - cmp r4, 0x2 - beq _0803C8EE - cmp r4, 0x3 - beq _0803C8F4 - b _0803CB4E -_0803C8E4: - ldr r5, [sp, 0x28] - adds r5, 0x18 - b _0803CB4E -_0803C8EA: - ldr r5, [sp, 0x28] - b _0803CB4E -_0803C8EE: - ldr r5, [sp, 0x28] - adds r5, 0x24 - b _0803CB4E -_0803C8F4: - ldr r5, [sp, 0x28] - adds r5, 0xC - b _0803CB4E -_0803C8FA: - cmp r4, 0x1 - beq _0803C918 - cmp r4, 0x1 - bgt _0803C908 - cmp r4, 0 - beq _0803C912 - b _0803CB4E -_0803C908: - cmp r4, 0x2 - beq _0803C91C - cmp r4, 0x3 - beq _0803C922 - b _0803CB4E -_0803C912: - ldr r5, [sp, 0x2C] - adds r5, 0x24 - b _0803CB4E -_0803C918: - ldr r5, [sp, 0x2C] - b _0803CB4E -_0803C91C: - ldr r5, [sp, 0x2C] - adds r5, 0x18 - b _0803CB4E -_0803C922: - ldr r5, [sp, 0x2C] - adds r5, 0xC - b _0803CB4E -_0803C928: - cmp r4, 0x1 - beq _0803C946 - cmp r4, 0x1 - bgt _0803C936 - cmp r4, 0 - beq _0803C940 - b _0803CB4E -_0803C936: - cmp r4, 0x2 - beq _0803C94C - cmp r4, 0x3 - beq _0803C950 - b _0803CB4E -_0803C940: - ldr r5, [sp, 0x30] - adds r5, 0xC - b _0803CB4E -_0803C946: - ldr r5, [sp, 0x30] - adds r5, 0x18 - b _0803CB4E -_0803C94C: - ldr r5, [sp, 0x30] - b _0803CB4E -_0803C950: - ldr r5, [sp, 0x30] - adds r5, 0x24 - b _0803CB4E -_0803C956: - cmp r4, 0x1 - beq _0803C974 - cmp r4, 0x1 - bgt _0803C964 - cmp r4, 0 - beq _0803C96E - b _0803CB4E -_0803C964: - cmp r4, 0x2 - beq _0803C97A - cmp r4, 0x3 - beq _0803C97E - b _0803CB4E -_0803C96E: - mov r5, r10 - adds r5, 0xC - b _0803CB4E -_0803C974: - mov r5, r10 - adds r5, 0x24 - b _0803CB4E -_0803C97A: - mov r5, r10 - b _0803CB4E -_0803C97E: - mov r5, r10 - adds r5, 0x18 - b _0803CB4E -_0803C984: - cmp r4, 0x1 - beq _0803C9A2 - cmp r4, 0x1 - bgt _0803C992 - cmp r4, 0 - beq _0803C99C - b _0803CB4E -_0803C992: - cmp r4, 0x2 - beq _0803C9A8 - cmp r4, 0x3 - beq _0803C9AC - b _0803CB4E -_0803C99C: - ldr r5, [sp, 0x34] - adds r5, 0x18 - b _0803CB4E -_0803C9A2: - ldr r5, [sp, 0x34] - adds r5, 0xC - b _0803CB4E -_0803C9A8: - ldr r5, [sp, 0x34] - b _0803CB4E -_0803C9AC: - ldr r5, [sp, 0x34] - adds r5, 0x24 - b _0803CB4E -_0803C9B2: - cmp r4, 0x1 - beq _0803C9D0 - cmp r4, 0x1 - bgt _0803C9C0 - cmp r4, 0 - beq _0803C9CA - b _0803CB4E -_0803C9C0: - cmp r4, 0x2 - beq _0803C9D6 - cmp r4, 0x3 - beq _0803C9DA - b _0803CB4E -_0803C9CA: - mov r5, r8 - adds r5, 0x24 - b _0803CB4E -_0803C9D0: - mov r5, r8 - adds r5, 0xC - b _0803CB4E -_0803C9D6: - mov r5, r8 - b _0803CB4E -_0803C9DA: - mov r5, r8 - adds r5, 0x18 - b _0803CB4E -_0803C9E0: - cmp r4, 0x1 - beq _0803C9FE - cmp r4, 0x1 - bgt _0803C9EE - cmp r4, 0 - beq _0803C9F8 - b _0803CB4E -_0803C9EE: - cmp r4, 0x2 - beq _0803CA04 - cmp r4, 0x3 - beq _0803CA08 - b _0803CB4E -_0803C9F8: - ldr r5, [sp, 0x38] - adds r5, 0x18 - b _0803CB4E -_0803C9FE: - ldr r5, [sp, 0x38] - adds r5, 0x24 - b _0803CB4E -_0803CA04: - ldr r5, [sp, 0x38] - b _0803CB4E -_0803CA08: - ldr r5, [sp, 0x38] - adds r5, 0xC - b _0803CB4E -_0803CA0E: - cmp r4, 0x1 - beq _0803CA2C - cmp r4, 0x1 - bgt _0803CA1C - cmp r4, 0 - beq _0803CA26 - b _0803CB4E -_0803CA1C: - cmp r4, 0x2 - beq _0803CA32 - cmp r4, 0x3 - beq _0803CA36 - b _0803CB4E -_0803CA26: - adds r5, r3, 0 - adds r5, 0x24 - b _0803CB4E -_0803CA2C: - adds r5, r3, 0 - adds r5, 0x18 - b _0803CB4E -_0803CA32: - adds r5, r3, 0 - b _0803CB4E -_0803CA36: - adds r5, r3, 0 - adds r5, 0xC - b _0803CB4E -_0803CA3C: - cmp r4, 0x1 - beq _0803CA5A - cmp r4, 0x1 - bgt _0803CA4A - cmp r4, 0 - beq _0803CA54 - b _0803CB4E -_0803CA4A: - cmp r4, 0x2 - beq _0803CA60 - cmp r4, 0x3 - beq _0803CA66 - b _0803CB4E -_0803CA54: - ldr r5, [sp, 0x3C] - adds r5, 0xC - b _0803CB4E -_0803CA5A: - ldr r5, [sp, 0x3C] - adds r5, 0x18 - b _0803CB4E -_0803CA60: - ldr r5, [sp, 0x3C] - adds r5, 0x24 - b _0803CB4E -_0803CA66: - ldr r5, [sp, 0x3C] - b _0803CB4E -_0803CA6A: - cmp r4, 0x1 - beq _0803CA88 - cmp r4, 0x1 - bgt _0803CA78 - cmp r4, 0 - beq _0803CA82 - b _0803CB4E -_0803CA78: - cmp r4, 0x2 - beq _0803CA8E - cmp r4, 0x3 - beq _0803CA94 - b _0803CB4E -_0803CA82: - adds r5, r7, 0 - adds r5, 0xC - b _0803CB4E -_0803CA88: - adds r5, r7, 0 - adds r5, 0x24 - b _0803CB4E -_0803CA8E: - adds r5, r7, 0 - adds r5, 0x18 - b _0803CB4E -_0803CA94: - adds r5, r7, 0 - b _0803CB4E -_0803CA98: - cmp r4, 0x1 - beq _0803CAB6 - cmp r4, 0x1 - bgt _0803CAA6 - cmp r4, 0 - beq _0803CAB0 - b _0803CB4E -_0803CAA6: - cmp r4, 0x2 - beq _0803CABC - cmp r4, 0x3 - beq _0803CAC2 - b _0803CB4E -_0803CAB0: - ldr r5, [sp, 0x40] - adds r5, 0x18 - b _0803CB4E -_0803CAB6: - ldr r5, [sp, 0x40] - adds r5, 0xC - b _0803CB4E -_0803CABC: - ldr r5, [sp, 0x40] - adds r5, 0x24 - b _0803CB4E -_0803CAC2: - ldr r5, [sp, 0x40] - b _0803CB4E -_0803CAC6: - cmp r4, 0x1 - beq _0803CAE4 - cmp r4, 0x1 - bgt _0803CAD4 - cmp r4, 0 - beq _0803CADE - b _0803CB4E -_0803CAD4: - cmp r4, 0x2 - beq _0803CAEA - cmp r4, 0x3 - beq _0803CAF0 - b _0803CB4E -_0803CADE: - adds r5, r6, 0 - adds r5, 0x24 - b _0803CB4E -_0803CAE4: - adds r5, r6, 0 - adds r5, 0xC - b _0803CB4E -_0803CAEA: - adds r5, r6, 0 - adds r5, 0x18 - b _0803CB4E -_0803CAF0: - adds r5, r6, 0 - b _0803CB4E -_0803CAF4: - cmp r4, 0x1 - beq _0803CB12 - cmp r4, 0x1 - bgt _0803CB02 - cmp r4, 0 - beq _0803CB0C - b _0803CB4E -_0803CB02: - cmp r4, 0x2 - beq _0803CB18 - cmp r4, 0x3 - beq _0803CB1E - b _0803CB4E -_0803CB0C: - mov r5, r9 - adds r5, 0x18 - b _0803CB4E -_0803CB12: - mov r5, r9 - adds r5, 0x24 - b _0803CB4E -_0803CB18: - mov r5, r9 - adds r5, 0xC - b _0803CB4E -_0803CB1E: - mov r5, r9 - b _0803CB4E -_0803CB22: - cmp r4, 0x1 - beq _0803CB40 - cmp r4, 0x1 - bgt _0803CB30 - cmp r4, 0 - beq _0803CB3A - b _0803CB4E -_0803CB30: - cmp r4, 0x2 - beq _0803CB46 - cmp r4, 0x3 - beq _0803CB4C - b _0803CB4E -_0803CB3A: - adds r5, r2, 0 - adds r5, 0x24 - b _0803CB4E -_0803CB40: - adds r5, r2, 0 - adds r5, 0x18 - b _0803CB4E -_0803CB46: - adds r5, r2, 0 - adds r5, 0xC - b _0803CB4E -_0803CB4C: - adds r5, r2, 0 -_0803CB4E: - adds r0, r5, 0 - add sp, 0x4C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803C638 - - thumb_func_start PokemonGetField -PokemonGetField: @ 803CB60 - push {lr} - adds r3, r0, 0 - adds r0, r1, 0 - subs r0, 0x37 - cmp r0, 0x9 - bhi _0803CBF0 - lsls r0, 2 - ldr r1, _0803CB78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803CB78: .4byte _0803CB7C - .align 2, 0 -_0803CB7C: - .4byte _0803CBA4 - .4byte _0803CBA8 - .4byte _0803CBB0 - .4byte _0803CBB8 - .4byte _0803CBC0 - .4byte _0803CBC8 - .4byte _0803CBD0 - .4byte _0803CBD8 - .4byte _0803CBE0 - .4byte _0803CBE8 -_0803CBA4: - ldr r0, [r3, 0x50] - b _0803CBF6 -_0803CBA8: - adds r0, r3, 0 - adds r0, 0x54 - ldrb r0, [r0] - b _0803CBF6 -_0803CBB0: - adds r0, r3, 0 - adds r0, 0x56 - ldrh r0, [r0] - b _0803CBF6 -_0803CBB8: - adds r0, r3, 0 - adds r0, 0x58 - ldrh r0, [r0] - b _0803CBF6 -_0803CBC0: - adds r0, r3, 0 - adds r0, 0x5A - ldrh r0, [r0] - b _0803CBF6 -_0803CBC8: - adds r0, r3, 0 - adds r0, 0x5C - ldrh r0, [r0] - b _0803CBF6 -_0803CBD0: - adds r0, r3, 0 - adds r0, 0x5E - ldrh r0, [r0] - b _0803CBF6 -_0803CBD8: - adds r0, r3, 0 - adds r0, 0x60 - ldrh r0, [r0] - b _0803CBF6 -_0803CBE0: - adds r0, r3, 0 - adds r0, 0x62 - ldrh r0, [r0] - b _0803CBF6 -_0803CBE8: - adds r0, r3, 0 - adds r0, 0x55 - ldrb r0, [r0] - b _0803CBF6 -_0803CBF0: - adds r0, r3, 0 - bl PokemonGetEncryptedField -_0803CBF6: - pop {r1} - bx r1 - thumb_func_end PokemonGetField - - thumb_func_start PokemonGetEncryptedField -PokemonGetEncryptedField: @ 803CBFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - str r1, [sp] - adds r7, r2, 0 - movs r4, 0 - mov r9, r4 - mov r10, r4 - movs r6, 0 - movs r5, 0 - cmp r1, 0xA - ble _0803CC7A - ldr r1, [r0] - movs r2, 0 - bl sub_803C638 - mov r9, r0 - mov r0, r8 - ldr r1, [r0] - movs r2, 0x1 - bl sub_803C638 - mov r10, r0 - mov r2, r8 - ldr r1, [r2] - mov r0, r8 - movs r2, 0x2 - bl sub_803C638 - adds r6, r0, 0 - mov r0, r8 - ldr r1, [r0] - movs r2, 0x3 - bl sub_803C638 - adds r5, r0, 0 - mov r0, r8 - bl pokemon_decrypt - mov r0, r8 - bl pokemon_calc_checksum - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - ldrh r1, [r1, 0x1C] - cmp r0, r1 - beq _0803CC7A - mov r2, r8 - ldrb r0, [r2, 0x13] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x13] - ldrb r0, [r5, 0x7] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5, 0x7] -_0803CC7A: - ldr r0, [sp] - cmp r0, 0x52 - bls _0803CC82 - b _0803D1DC -_0803CC82: - lsls r0, 2 - ldr r1, _0803CC8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803CC8C: .4byte _0803CC90 - .align 2, 0 -_0803CC90: - .4byte _0803CDDC - .4byte _0803CDE2 - .4byte _0803CDE8 - .4byte _0803CE5C - .4byte _0803CE62 - .4byte _0803CE68 - .4byte _0803CE6E - .4byte _0803CE74 - .4byte _0803CEA0 - .4byte _0803CEA6 - .4byte _0803CEAC - .4byte _0803CEB2 - .4byte _0803CECA - .4byte _0803CEE2 - .4byte _0803CEE2 - .4byte _0803CEE2 - .4byte _0803CEE2 - .4byte _0803CEEE - .4byte _0803CEEE - .4byte _0803CEEE - .4byte _0803CEEE - .4byte _0803CED6 - .4byte _0803CF10 - .4byte _0803CF14 - .4byte _0803CF18 - .4byte _0803CED0 - .4byte _0803CEF8 - .4byte _0803CEFC - .4byte _0803CF00 - .4byte _0803CF04 - .4byte _0803CF08 - .4byte _0803CF0C - .4byte _0803CEDC - .4byte _0803CF1C - .4byte _0803CF28 - .4byte _0803CF2C - .4byte _0803CF30 - .4byte _0803CF38 - .4byte _0803CF40 - .4byte _0803CF4E - .4byte _0803CF56 - .4byte _0803CF5E - .4byte _0803CF66 - .4byte _0803CF6E - .4byte _0803CF76 - .4byte _0803CF7E - .4byte _0803CF82 - .4byte _0803CF20 - .4byte _0803CF24 - .4byte _0803CF48 - .4byte _0803CF88 - .4byte _0803CF90 - .4byte _0803CF98 - .4byte _0803CFA0 - .4byte _0803CFA8 - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D1DC - .4byte _0803D006 - .4byte _0803D02C - .4byte _0803CFB0 - .4byte _0803CFB6 - .4byte _0803CFBA - .4byte _0803CFBE - .4byte _0803CFC2 - .4byte _0803CFCA - .4byte _0803CFD2 - .4byte _0803CFDA - .4byte _0803CFE2 - .4byte _0803CFE8 - .4byte _0803CFF0 - .4byte _0803CFF8 - .4byte _0803D000 - .4byte _0803D066 - .4byte _0803D0C0 - .4byte _0803D142 -_0803CDDC: - mov r1, r8 - ldr r4, [r1] - b _0803D1DC -_0803CDE2: - mov r2, r8 - ldr r4, [r2, 0x4] - b _0803D1DC -_0803CDE8: - mov r0, r8 - ldrb r1, [r0, 0x13] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803CE04 - ldr r1, _0803CE00 - adds r0, r7, 0 - bl StringCopy - b _0803CE50 - .align 2, 0 -_0803CE00: .4byte gUnknown_08400E3A -_0803CE04: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803CE1C - ldr r1, _0803CE18 - adds r0, r7, 0 - bl StringCopy - b _0803CE50 - .align 2, 0 -_0803CE18: .4byte gUnknown_0842CC34 -_0803CE1C: - movs r4, 0 - mov r1, r8 - adds r1, 0x8 - mov r2, r8 - ldrb r0, [r2, 0x8] - ldrb r3, [r2, 0x12] - cmp r0, 0xFF - beq _0803CE42 - adds r2, r1, 0 -_0803CE2E: - adds r1, r7, r4 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r4, 0x1 - cmp r4, 0x9 - bhi _0803CE42 - ldrb r0, [r2] - cmp r0, 0xFF - bne _0803CE2E -_0803CE42: - adds r1, r7, r4 - movs r0, 0xFF - strb r0, [r1] - adds r0, r7, 0 - adds r1, r3, 0 - bl ConvertInternationalString -_0803CE50: - adds r0, r7, 0 - bl StringLength - lsls r0, 16 - lsrs r4, r0, 16 - b _0803D1DC -_0803CE5C: - mov r7, r8 - ldrb r4, [r7, 0x12] - b _0803D1DC -_0803CE62: - mov r1, r8 - ldrb r0, [r1, 0x13] - b _0803CFEA -_0803CE68: - mov r2, r8 - ldrb r0, [r2, 0x13] - b _0803CFF2 -_0803CE6E: - mov r7, r8 - ldrb r0, [r7, 0x13] - b _0803CFFA -_0803CE74: - movs r4, 0 - mov r1, r8 - adds r1, 0x14 - mov r2, r8 - ldrb r0, [r2, 0x14] - cmp r0, 0xFF - beq _0803CE98 - adds r2, r1, 0 -_0803CE84: - adds r1, r7, r4 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r4, 0x1 - cmp r4, 0x6 - bhi _0803CE98 - ldrb r0, [r2] - cmp r0, 0xFF - bne _0803CE84 -_0803CE98: - adds r1, r7, r4 - movs r0, 0xFF - strb r0, [r1] - b _0803D1DC -_0803CEA0: - mov r7, r8 - ldrb r4, [r7, 0x1B] - b _0803D1DC -_0803CEA6: - mov r0, r8 - ldrh r4, [r0, 0x1C] - b _0803D1DC -_0803CEAC: - mov r1, r8 - ldrh r4, [r1, 0x1E] - b _0803D1DC -_0803CEB2: - mov r2, r8 - ldrb r1, [r2, 0x13] - movs r0, 0x1 - ands r0, r1 - movs r4, 0xCE - lsls r4, 1 - cmp r0, 0 - beq _0803CEC4 - b _0803D1DC -_0803CEC4: - mov r7, r9 - ldrh r4, [r7] - b _0803D1DC -_0803CECA: - mov r0, r9 - ldrh r4, [r0, 0x2] - b _0803D1DC -_0803CED0: - mov r1, r9 - ldr r4, [r1, 0x4] - b _0803D1DC -_0803CED6: - mov r2, r9 - ldrb r4, [r2, 0x8] - b _0803D1DC -_0803CEDC: - mov r7, r9 - ldrb r4, [r7, 0x9] - b _0803D1DC -_0803CEE2: - ldr r0, [sp] - subs r0, 0xD - lsls r0, 1 - add r0, r10 - ldrh r4, [r0] - b _0803D1DC -_0803CEEE: - ldr r0, [sp] - add r0, r10 - subs r0, 0x9 - ldrb r4, [r0] - b _0803D1DC -_0803CEF8: - ldrb r4, [r6] - b _0803D1DC -_0803CEFC: - ldrb r4, [r6, 0x1] - b _0803D1DC -_0803CF00: - ldrb r4, [r6, 0x2] - b _0803D1DC -_0803CF04: - ldrb r4, [r6, 0x3] - b _0803D1DC -_0803CF08: - ldrb r4, [r6, 0x4] - b _0803D1DC -_0803CF0C: - ldrb r4, [r6, 0x5] - b _0803D1DC -_0803CF10: - ldrb r4, [r6, 0x6] - b _0803D1DC -_0803CF14: - ldrb r4, [r6, 0x7] - b _0803D1DC -_0803CF18: - ldrb r4, [r6, 0x8] - b _0803D1DC -_0803CF1C: - ldrb r4, [r6, 0x9] - b _0803D1DC -_0803CF20: - ldrb r4, [r6, 0xA] - b _0803D1DC -_0803CF24: - ldrb r4, [r6, 0xB] - b _0803D1DC -_0803CF28: - ldrb r4, [r5] - b _0803D1DC -_0803CF2C: - ldrb r4, [r5, 0x1] - b _0803D1DC -_0803CF30: - ldrb r0, [r5, 0x2] - lsls r0, 25 - lsrs r4, r0, 25 - b _0803D1DC -_0803CF38: - ldrh r0, [r5, 0x2] - lsls r0, 21 - lsrs r4, r0, 28 - b _0803D1DC -_0803CF40: - ldrb r0, [r5, 0x3] - lsls r0, 25 - lsrs r4, r0, 28 - b _0803D1DC -_0803CF48: - ldrb r0, [r5, 0x3] - lsrs r4, r0, 7 - b _0803D1DC -_0803CF4E: - ldrb r0, [r5, 0x4] - lsls r0, 27 - lsrs r4, r0, 27 - b _0803D1DC -_0803CF56: - ldrh r0, [r5, 0x4] - lsls r0, 22 - lsrs r4, r0, 27 - b _0803D1DC -_0803CF5E: - ldrb r0, [r5, 0x5] - lsls r0, 25 - lsrs r4, r0, 27 - b _0803D1DC -_0803CF66: - ldr r0, [r5, 0x4] - lsls r0, 12 - lsrs r4, r0, 27 - b _0803D1DC -_0803CF6E: - ldrh r0, [r5, 0x6] - lsls r0, 23 - lsrs r4, r0, 27 - b _0803D1DC -_0803CF76: - ldrb r0, [r5, 0x7] - lsls r0, 26 - lsrs r4, r0, 27 - b _0803D1DC -_0803CF7E: - ldrb r0, [r5, 0x7] - b _0803CFDC -_0803CF82: - ldrb r0, [r5, 0x7] - lsrs r4, r0, 7 - b _0803D1DC -_0803CF88: - ldrb r0, [r5, 0x8] - lsls r0, 29 - lsrs r4, r0, 29 - b _0803D1DC -_0803CF90: - ldrb r0, [r5, 0x8] - lsls r0, 26 - lsrs r4, r0, 29 - b _0803D1DC -_0803CF98: - ldrh r0, [r5, 0x8] - lsls r0, 23 - lsrs r4, r0, 29 - b _0803D1DC -_0803CFA0: - ldrb r0, [r5, 0x9] - lsls r0, 28 - lsrs r4, r0, 29 - b _0803D1DC -_0803CFA8: - ldrb r0, [r5, 0x9] - lsls r0, 25 - lsrs r4, r0, 29 - b _0803D1DC -_0803CFB0: - ldrb r0, [r5, 0x9] - lsrs r4, r0, 7 - b _0803D1DC -_0803CFB6: - ldrb r0, [r5, 0xA] - b _0803CFEA -_0803CFBA: - ldrb r0, [r5, 0xA] - b _0803CFF2 -_0803CFBE: - ldrb r0, [r5, 0xA] - b _0803CFFA -_0803CFC2: - ldrb r0, [r5, 0xA] - lsls r0, 28 - lsrs r4, r0, 31 - b _0803D1DC -_0803CFCA: - ldrb r0, [r5, 0xA] - lsls r0, 27 - lsrs r4, r0, 31 - b _0803D1DC -_0803CFD2: - ldrb r0, [r5, 0xA] - lsls r0, 26 - lsrs r4, r0, 31 - b _0803D1DC -_0803CFDA: - ldrb r0, [r5, 0xA] -_0803CFDC: - lsls r0, 25 - lsrs r4, r0, 31 - b _0803D1DC -_0803CFE2: - ldrb r0, [r5, 0xA] - lsrs r4, r0, 7 - b _0803D1DC -_0803CFE8: - ldrb r0, [r5, 0xB] -_0803CFEA: - lsls r0, 31 - lsrs r4, r0, 31 - b _0803D1DC -_0803CFF0: - ldrb r0, [r5, 0xB] -_0803CFF2: - lsls r0, 30 - lsrs r4, r0, 31 - b _0803D1DC -_0803CFF8: - ldrb r0, [r5, 0xB] -_0803CFFA: - lsls r0, 29 - lsrs r4, r0, 31 - b _0803D1DC -_0803D000: - ldrb r0, [r5, 0xB] - lsrs r4, r0, 3 - b _0803D1DC -_0803D006: - mov r0, r9 - ldrh r4, [r0] - cmp r4, 0 - bne _0803D010 - b _0803D1DC -_0803D010: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - blt _0803D026 - mov r2, r8 - ldrb r1, [r2, 0x13] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0803D026 - b _0803D1DC -_0803D026: - movs r4, 0xCE - lsls r4, 1 - b _0803D1DC -_0803D02C: - ldrb r0, [r5, 0x4] - lsls r0, 27 - lsrs r4, r0, 27 - ldrh r1, [r5, 0x4] - movs r0, 0xF8 - lsls r0, 2 - ands r0, r1 - orrs r4, r0 - ldrb r0, [r5, 0x5] - lsls r0, 25 - lsrs r0, 27 - lsls r0, 10 - orrs r4, r0 - ldr r0, [r5, 0x4] - movs r1, 0xF8 - lsls r1, 12 - ands r0, r1 - orrs r4, r0 - ldrh r0, [r5, 0x6] - lsls r0, 23 - lsrs r0, 27 - lsls r0, 20 - orrs r4, r0 - ldrb r0, [r5, 0x7] - lsls r0, 26 - lsrs r0, 27 - lsls r0, 25 - orrs r4, r0 - b _0803D1DC -_0803D066: - mov r1, r9 - ldrh r0, [r1] - cmp r0, 0 - bne _0803D070 - b _0803D1DC -_0803D070: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _0803D07A - b _0803D1DC -_0803D07A: - ldrh r0, [r7] - ldr r1, _0803D0B8 - cmp r0, r1 - bne _0803D084 - b _0803D1DC -_0803D084: - mov r2, r10 - ldrh r5, [r2] - adds r6, r1, 0 - adds r2, r7, 0 - ldr r1, _0803D0BC -_0803D08E: - ldrh r3, [r2] - cmp r5, r3 - beq _0803D0A8 - mov r7, r10 - ldrh r0, [r7, 0x2] - cmp r0, r3 - beq _0803D0A8 - ldrh r0, [r7, 0x4] - cmp r0, r3 - beq _0803D0A8 - ldrh r0, [r7, 0x6] - cmp r0, r3 - bne _0803D0AC -_0803D0A8: - ldr r0, [r1] - orrs r4, r0 -_0803D0AC: - adds r2, 0x2 - adds r1, 0x4 - ldrh r0, [r2] - cmp r0, r6 - bne _0803D08E - b _0803D1DC - .align 2, 0 -_0803D0B8: .4byte 0x00000163 -_0803D0BC: .4byte gBitTable -_0803D0C0: - movs r4, 0 - mov r1, r9 - ldrh r0, [r1] - cmp r0, 0 - bne _0803D0CC - b _0803D1DC -_0803D0CC: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _0803D0D6 - b _0803D1DC -_0803D0D6: - ldrb r0, [r5, 0x8] - lsls r1, r0, 29 - lsrs r4, r1, 29 - lsls r0, 26 - lsrs r0, 29 - adds r4, r0 - ldrh r0, [r5, 0x8] - lsls r0, 23 - lsrs r0, 29 - adds r4, r0 - ldrb r1, [r5, 0x9] - lsls r0, r1, 28 - lsrs r0, 29 - adds r4, r0 - lsls r0, r1, 25 - lsrs r0, 29 - adds r4, r0 - lsrs r1, 7 - adds r4, r1 - ldrb r1, [r5, 0xA] - lsls r0, r1, 31 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 29 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 28 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 27 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 26 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 25 - lsrs r0, 31 - adds r4, r0 - lsrs r1, 7 - adds r4, r1 - ldrb r1, [r5, 0xB] - lsls r0, r1, 31 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - adds r4, r0 - lsls r1, 29 - lsrs r1, 31 - adds r4, r1 - b _0803D1DC -_0803D142: - movs r4, 0 - mov r2, r9 - ldrh r0, [r2] - cmp r0, 0 - beq _0803D1DC - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - blt _0803D1DC - ldrb r2, [r5, 0x9] - lsrs r4, r2, 7 - ldrb r1, [r5, 0x8] - lsls r0, r1, 29 - lsrs r0, 28 - orrs r4, r0 - lsls r1, 26 - lsrs r1, 29 - lsls r1, 4 - orrs r4, r1 - ldrh r0, [r5, 0x8] - lsls r0, 23 - lsrs r0, 29 - lsls r0, 7 - orrs r4, r0 - lsls r0, r2, 28 - lsrs r0, 29 - lsls r0, 10 - orrs r4, r0 - lsls r2, 25 - lsrs r2, 29 - lsls r2, 13 - orrs r4, r2 - ldrb r1, [r5, 0xA] - lsls r0, r1, 31 - lsrs r0, 31 - lsls r0, 16 - orrs r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - lsls r0, 17 - orrs r4, r0 - lsls r0, r1, 29 - lsrs r0, 31 - lsls r0, 18 - orrs r4, r0 - lsls r0, r1, 28 - lsrs r0, 31 - lsls r0, 19 - orrs r4, r0 - lsls r0, r1, 27 - lsrs r0, 31 - lsls r0, 20 - orrs r4, r0 - lsls r0, r1, 26 - lsrs r0, 31 - lsls r0, 21 - orrs r4, r0 - lsls r0, r1, 25 - lsrs r0, 31 - lsls r0, 22 - orrs r4, r0 - lsrs r1, 7 - lsls r1, 23 - orrs r4, r1 - ldrb r1, [r5, 0xB] - lsls r0, r1, 31 - lsrs r0, 31 - lsls r0, 24 - orrs r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - lsls r0, 25 - orrs r4, r0 - lsls r1, 29 - lsrs r1, 31 - lsls r1, 26 - orrs r4, r1 -_0803D1DC: - ldr r7, [sp] - cmp r7, 0xA - ble _0803D1E8 - mov r0, r8 - bl pokemon_encrypt -_0803D1E8: - adds r0, r4, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end PokemonGetEncryptedField - - thumb_func_start pokemon_setattr -pokemon_setattr: @ 803D1FC - push {lr} - adds r3, r0, 0 - adds r0, r1, 0 - subs r0, 0x37 - cmp r0, 0xA - bhi _0803D2E0 - lsls r0, 2 - ldr r1, _0803D214 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803D214: .4byte _0803D218 - .align 2, 0 -_0803D218: - .4byte _0803D244 - .4byte _0803D25C - .4byte _0803D266 - .4byte _0803D276 - .4byte _0803D286 - .4byte _0803D296 - .4byte _0803D2A6 - .4byte _0803D2B6 - .4byte _0803D2C6 - .4byte _0803D2D6 - .4byte _0803D2E6 -_0803D244: - 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, 0x50] - b _0803D2E6 -_0803D25C: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x54 - strb r1, [r0] - b _0803D2E6 -_0803D266: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x56 - strh r0, [r1] - b _0803D2E6 -_0803D276: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x58 - strh r0, [r1] - b _0803D2E6 -_0803D286: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5A - strh r0, [r1] - b _0803D2E6 -_0803D296: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5C - strh r0, [r1] - b _0803D2E6 -_0803D2A6: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - b _0803D2E6 -_0803D2B6: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x60 - strh r0, [r1] - b _0803D2E6 -_0803D2C6: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x62 - strh r0, [r1] - b _0803D2E6 -_0803D2D6: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x55 - strb r1, [r0] - b _0803D2E6 -_0803D2E0: - adds r0, r3, 0 - bl PokemonSetEncryptedField -_0803D2E6: - pop {r0} - bx r0 - thumb_func_end pokemon_setattr - - thumb_func_start PokemonSetEncryptedField -PokemonSetEncryptedField: @ 803D2EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - mov r10, r1 - adds r4, r2, 0 - movs r0, 0 - mov r8, r0 - mov r9, r0 - movs r6, 0 - movs r5, 0 - cmp r1, 0xA - ble _0803D36C - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0 - bl sub_803C638 - mov r8, r0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x1 - bl sub_803C638 - mov r9, r0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x2 - bl sub_803C638 - adds r6, r0, 0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x3 - bl sub_803C638 - adds r5, r0, 0 - adds r0, r7, 0 - bl pokemon_decrypt - adds r0, r7, 0 - bl pokemon_calc_checksum - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r7, 0x1C] - cmp r0, r1 - beq _0803D36C - ldrb r0, [r7, 0x13] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r7, 0x13] - ldrb r0, [r5, 0x7] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5, 0x7] - adds r0, r7, 0 - bl pokemon_encrypt - b _0803D8F6 -_0803D36C: - mov r0, r10 - cmp r0, 0x4F - bls _0803D374 - b _0803D8E2 -_0803D374: - lsls r0, 2 - ldr r1, _0803D380 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803D380: .4byte _0803D384 - .align 2, 0 -_0803D384: - .4byte _0803D4C4 - .4byte _0803D4DC - .4byte _0803D4F4 - .4byte _0803D50A - .4byte _0803D510 - .4byte _0803D520 - .4byte _0803D532 - .4byte _0803D544 - .4byte _0803D55A - .4byte _0803D560 - .4byte _0803D56C - .4byte _0803D578 - .4byte _0803D598 - .4byte _0803D5D0 - .4byte _0803D5D0 - .4byte _0803D5D0 - .4byte _0803D5D0 - .4byte _0803D5E4 - .4byte _0803D5E4 - .4byte _0803D5E4 - .4byte _0803D5E4 - .4byte _0803D5C0 - .4byte _0803D614 - .4byte _0803D61A - .4byte _0803D620 - .4byte _0803D5A6 - .4byte _0803D5F0 - .4byte _0803D5F6 - .4byte _0803D5FC - .4byte _0803D602 - .4byte _0803D608 - .4byte _0803D60E - .4byte _0803D5C8 - .4byte _0803D626 - .4byte _0803D638 - .4byte _0803D63E - .4byte _0803D644 - .4byte _0803D658 - .4byte _0803D670 - .4byte _0803D696 - .4byte _0803D6AA - .4byte _0803D6C4 - .4byte _0803D6DA - .4byte _0803D6F4 - .4byte _0803D70C - .4byte _0803D720 - .4byte _0803D750 - .4byte _0803D62C - .4byte _0803D632 - .4byte _0803D686 - .4byte _0803D760 - .4byte _0803D76E - .4byte _0803D784 - .4byte _0803D79C - .4byte _0803D7AC - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D89A - .4byte _0803D7C2 - .4byte _0803D7D2 - .4byte _0803D7E0 - .4byte _0803D7F0 - .4byte _0803D800 - .4byte _0803D810 - .4byte _0803D820 - .4byte _0803D830 - .4byte _0803D846 - .4byte _0803D856 - .4byte _0803D864 - .4byte _0803D874 - .4byte _0803D88A -_0803D4C4: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r7] - b _0803D8E2 -_0803D4DC: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r7, 0x4] - b _0803D8E2 -_0803D4F4: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x8 -_0803D4FA: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _0803D4FA - b _0803D8E2 -_0803D50A: - ldrb r0, [r4] - strb r0, [r7, 0x12] - b _0803D8E2 -_0803D510: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - ldrb r2, [r7, 0x13] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - b _0803D73E -_0803D520: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r7, 0x13] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - b _0803D73E -_0803D532: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x13] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _0803D73E -_0803D544: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x14 -_0803D54A: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _0803D54A - b _0803D8E2 -_0803D55A: - ldrb r0, [r4] - strb r0, [r7, 0x1B] - b _0803D8E2 -_0803D560: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1C] - b _0803D8E2 -_0803D56C: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1E] - b _0803D8E2 -_0803D578: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - mov r0, r8 - strh r1, [r0] - lsls r1, 16 - cmp r1, 0 - beq _0803D590 - ldrb r0, [r7, 0x13] - movs r1, 0x2 - b _0803D73E -_0803D590: - ldrb r1, [r7, 0x13] - movs r0, 0x3 - negs r0, r0 - b _0803D74A -_0803D598: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x2] - b _0803D8E2 -_0803D5A6: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - mov r0, r8 - str r1, [r0, 0x4] - b _0803D8E2 -_0803D5C0: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x8] - b _0803D8E2 -_0803D5C8: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x9] - b _0803D8E2 -_0803D5D0: - mov r2, r10 - subs r2, 0xD - lsls r2, 1 - add r2, r9 - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r2] - b _0803D8E2 -_0803D5E4: - mov r0, r9 - add r0, r10 - subs r0, 0x9 - ldrb r1, [r4] - strb r1, [r0] - b _0803D8E2 -_0803D5F0: - ldrb r0, [r4] - strb r0, [r6] - b _0803D8E2 -_0803D5F6: - ldrb r0, [r4] - strb r0, [r6, 0x1] - b _0803D8E2 -_0803D5FC: - ldrb r0, [r4] - strb r0, [r6, 0x2] - b _0803D8E2 -_0803D602: - ldrb r0, [r4] - strb r0, [r6, 0x3] - b _0803D8E2 -_0803D608: - ldrb r0, [r4] - strb r0, [r6, 0x4] - b _0803D8E2 -_0803D60E: - ldrb r0, [r4] - strb r0, [r6, 0x5] - b _0803D8E2 -_0803D614: - ldrb r0, [r4] - strb r0, [r6, 0x6] - b _0803D8E2 -_0803D61A: - ldrb r0, [r4] - strb r0, [r6, 0x7] - b _0803D8E2 -_0803D620: - ldrb r0, [r4] - strb r0, [r6, 0x8] - b _0803D8E2 -_0803D626: - ldrb r0, [r4] - strb r0, [r6, 0x9] - b _0803D8E2 -_0803D62C: - ldrb r0, [r4] - strb r0, [r6, 0xA] - b _0803D8E2 -_0803D632: - ldrb r0, [r4] - strb r0, [r6, 0xB] - b _0803D8E2 -_0803D638: - ldrb r0, [r4] - strb r0, [r5] - b _0803D8E2 -_0803D63E: - ldrb r0, [r4] - strb r0, [r5, 0x1] - b _0803D8E2 -_0803D644: - ldrb r1, [r4] - movs r0, 0x7F - ands r1, r0 - ldrb r2, [r5, 0x2] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - b _0803D8E2 -_0803D658: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 7 - ldrh r2, [r5, 0x2] - ldr r0, _0803D66C - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x2] - b _0803D8E2 - .align 2, 0 -_0803D66C: .4byte 0xfffff87f -_0803D670: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0x3] - movs r0, 0x79 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - b _0803D8E2 -_0803D686: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x3] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - b _0803D8E2 -_0803D696: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - ldrb r2, [r5, 0x4] - movs r0, 0x20 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x4] - b _0803D8E2 -_0803D6AA: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, _0803D6C0 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - b _0803D8E2 - .align 2, 0 -_0803D6C0: .4byte 0xfffffc1f -_0803D6C4: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0x7D - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _0803D8E2 -_0803D6DA: - ldrb r2, [r4] - movs r0, 0x1F - ands r2, r0 - lsls r2, 15 - ldr r0, [r5, 0x4] - ldr r1, _0803D6F0 - ands r0, r1 - orrs r0, r2 - str r0, [r5, 0x4] - b _0803D8E2 - .align 2, 0 -_0803D6F0: .4byte 0xfff07fff -_0803D6F4: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 4 - ldrh r2, [r5, 0x6] - ldr r0, _0803D708 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x6] - b _0803D8E2 - .align 2, 0 -_0803D708: .4byte 0xfffffe0f -_0803D70C: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x7] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - b _0803D8E0 -_0803D720: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r5, 0x7] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _0803D744 - ldrb r0, [r7, 0x13] - movs r1, 0x4 -_0803D73E: - orrs r0, r1 - strb r0, [r7, 0x13] - b _0803D8E2 -_0803D744: - ldrb r1, [r7, 0x13] - movs r0, 0x5 - negs r0, r0 -_0803D74A: - ands r0, r1 - strb r0, [r7, 0x13] - b _0803D8E2 -_0803D750: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x7] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x7] - b _0803D8E2 -_0803D760: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - ldrb r2, [r5, 0x8] - movs r0, 0x8 - negs r0, r0 - b _0803D77C -_0803D76E: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0x8] - movs r0, 0x39 - negs r0, r0 -_0803D77C: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x8] - b _0803D8E2 -_0803D784: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 6 - ldrh r2, [r5, 0x8] - ldr r0, _0803D798 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x8] - b _0803D8E2 - .align 2, 0 -_0803D798: .4byte 0xfffffe3f -_0803D79C: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x9] - movs r0, 0xF - negs r0, r0 - b _0803D7BA -_0803D7AC: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0x9] - movs r0, 0x71 - negs r0, r0 -_0803D7BA: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x9] - b _0803D8E2 -_0803D7C2: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x9] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x9] - b _0803D8E2 -_0803D7D2: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xA] - movs r0, 0x2 - negs r0, r0 - b _0803D83E -_0803D7E0: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xA] - movs r0, 0x3 - negs r0, r0 - b _0803D83E -_0803D7F0: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xA] - movs r0, 0x5 - negs r0, r0 - b _0803D83E -_0803D800: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0xA] - movs r0, 0x9 - negs r0, r0 - b _0803D83E -_0803D810: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0xA] - movs r0, 0x11 - negs r0, r0 - b _0803D83E -_0803D820: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r5, 0xA] - movs r0, 0x21 - negs r0, r0 - b _0803D83E -_0803D830: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r5, 0xA] - movs r0, 0x41 - negs r0, r0 -_0803D83E: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xA] - b _0803D8E2 -_0803D846: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0xA] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xA] - b _0803D8E2 -_0803D856: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xB] - movs r0, 0x2 - negs r0, r0 - b _0803D882 -_0803D864: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xB] - movs r0, 0x3 - negs r0, r0 - b _0803D882 -_0803D874: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xB] - movs r0, 0x5 - negs r0, r0 -_0803D882: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xB] - b _0803D8E2 -_0803D88A: - ldrb r0, [r4] - lsls r0, 3 - ldrb r2, [r5, 0xB] - movs r1, 0x7 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xB] - b _0803D8E2 -_0803D89A: - ldrb r1, [r4] - movs r4, 0x1F - adds r2, r1, 0 - ands r2, r4 - ldrb r3, [r5, 0x4] - movs r0, 0x20 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, 0x4] - lsrs r1, 5 - ands r1, r4 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, _0803D904 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldrb r1, [r5, 0x5] - movs r0, 0x7D - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x5] - ldr r0, [r5, 0x4] - ldr r1, _0803D908 - ands r0, r1 - str r0, [r5, 0x4] - ldrh r1, [r5, 0x6] - ldr r0, _0803D90C - ands r0, r1 - strh r0, [r5, 0x6] - ldrb r1, [r5, 0x7] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 -_0803D8E0: - strb r0, [r5, 0x7] -_0803D8E2: - mov r0, r10 - cmp r0, 0xA - ble _0803D8F6 - adds r0, r7, 0 - bl pokemon_calc_checksum - strh r0, [r7, 0x1C] - adds r0, r7, 0 - bl pokemon_encrypt -_0803D8F6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803D904: .4byte 0xfffffc1f -_0803D908: .4byte 0xfff07fff -_0803D90C: .4byte 0xfffffe0f - thumb_func_end PokemonSetEncryptedField - - thumb_func_start memcpy_pokemon -memcpy_pokemon: @ 803D910 - push {lr} - bl memcpy - pop {r0} - bx r0 - thumb_func_end memcpy_pokemon - - thumb_func_start pokemon_catch -pokemon_catch: @ 803D91C - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, _0803D948 - movs r1, 0x7 - adds r2, r4, 0 - bl pokemon_setattr - adds r2, r4, 0 - adds r2, 0x8 - adds r0, r6, 0 - movs r1, 0x31 - bl pokemon_setattr - adds r4, 0xA - adds r0, r6, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl pokemon_setattr - movs r5, 0 - b _0803D94E - .align 2, 0 -_0803D948: .4byte gSaveBlock2 -_0803D94C: - adds r5, 0x1 -_0803D94E: - cmp r5, 0x5 - bgt _0803D988 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0803D980 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - bne _0803D94C - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x64 - bl memcpy_pokemon - ldr r1, _0803D984 - adds r0, r5, 0x1 - strb r0, [r1] - movs r0, 0 - b _0803D992 - .align 2, 0 -_0803D980: .4byte 0x03004360 -_0803D984: .4byte 0x03004350 -_0803D988: - adds r0, r6, 0 - bl sub_803D998 - lsls r0, 24 - lsrs r0, 24 -_0803D992: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end pokemon_catch - - thumb_func_start sub_803D998 -sub_803D998: @ 803D998 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - mov r9, r0 - ldr r0, _0803D9E8 - ldrb r5, [r0] -_0803D9A8: - movs r7, 0 - lsls r1, r5, 2 - adds r1, r5 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - mov r8, r0 - movs r6, 0 -_0803D9B8: - ldr r3, _0803D9EC - adds r0, r6, r3 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - str r3, [sp] - bl PokemonGetEncryptedField - ldr r3, [sp] - cmp r0, 0 - bne _0803D9F0 - mov r0, r9 - bl sub_8040B1C - adds r0, r4, 0 - mov r1, r9 - movs r2, 0x50 - bl memcpy_pokemon - movs r0, 0x1 - b _0803DA0A - .align 2, 0 -_0803D9E8: .4byte 0x020300a0 -_0803D9EC: .4byte 0x020300a4 -_0803D9F0: - adds r6, 0x50 - adds r7, 0x1 - cmp r7, 0x1D - ble _0803D9B8 - adds r5, 0x1 - cmp r5, 0xE - bne _0803DA00 - movs r5, 0 -_0803DA00: - subs r0, r3, 0x4 - ldrb r0, [r0] - cmp r5, r0 - bne _0803D9A8 - movs r0, 0x2 -_0803DA0A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803D998 - - thumb_func_start calc_player_party_count -calc_player_party_count: @ 803DA18 - push {r4,lr} - ldr r0, _0803DA24 - movs r1, 0 - strb r1, [r0] - b _0803DA30 - .align 2, 0 -_0803DA24: .4byte 0x03004350 -_0803DA28: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r0, r4, 0 -_0803DA30: - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x5 - bhi _0803DA4E - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0803DA58 - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - bne _0803DA28 -_0803DA4E: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803DA58: .4byte 0x03004360 - thumb_func_end calc_player_party_count - - thumb_func_start calc_enemy_party_count -calc_enemy_party_count: @ 803DA5C - push {r4,lr} - ldr r0, _0803DA68 - movs r1, 0 - strb r1, [r0] - b _0803DA74 - .align 2, 0 -_0803DA68: .4byte 0x030045b8 -_0803DA6C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r0, r4, 0 -_0803DA74: - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x5 - bhi _0803DA92 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0803DA9C - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - bne _0803DA6C -_0803DA92: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803DA9C: .4byte 0x030045c0 - thumb_func_end calc_enemy_party_count - - thumb_func_start sub_803DAA0 -sub_803DAA0: @ 803DAA0 - push {r4-r6,lr} - movs r6, 0 - bl calc_player_party_count - ldr r1, _0803DB0C - ldrb r0, [r1] - cmp r0, 0x1 - beq _0803DB04 - movs r5, 0 - ldrb r1, [r1] - cmp r6, r1 - bge _0803DAFC -_0803DAB8: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0803DB10 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - beq _0803DAF2 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - beq _0803DAF2 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl PokemonGetField - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0803DAF2 - adds r6, 0x1 -_0803DAF2: - adds r5, 0x1 - ldr r0, _0803DB0C - ldrb r0, [r0] - cmp r5, r0 - blt _0803DAB8 -_0803DAFC: - movs r0, 0 - cmp r6, 0x1 - bgt _0803DB04 - movs r0, 0x2 -_0803DB04: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0803DB0C: .4byte 0x03004350 -_0803DB10: .4byte 0x03004360 - thumb_func_end sub_803DAA0 - - thumb_func_start sub_803DB14 -sub_803DB14: @ 803DB14 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - cmp r1, 0 - beq _0803DB38 - ldr r2, _0803DB30 - ldr r1, _0803DB34 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x17] - b _0803DB46 - .align 2, 0 -_0803DB30: .4byte 0x02024c06 -_0803DB34: .4byte gBaseStats -_0803DB38: - ldr r2, _0803DB50 - ldr r1, _0803DB54 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] -_0803DB46: - strb r0, [r2] - ldrb r0, [r2] - pop {r1} - bx r1 - .align 2, 0 -_0803DB50: .4byte 0x02024c06 -_0803DB54: .4byte gBaseStats - thumb_func_end sub_803DB14 - - thumb_func_start GetMonAbility -GetMonAbility: @ 803DB58 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x2E - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_803DB14 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetMonAbility - - thumb_func_start create_enemy_party -create_enemy_party: @ 803DB8C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r4, r0, 0 - bl zero_enemy_party_data - ldr r5, _0803DC8C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xA0 - bl memcpy - movs r7, 0 -_0803DBAC: - lsls r0, r7, 1 - mov r9, r0 - ldr r2, _0803DC8C - adds r2, 0x7C - mov r10, r2 - mov r1, r9 - add r1, r10 - ldrh r0, [r1] - adds r2, r7, 0x1 - str r2, [sp, 0x10] - cmp r0, 0 - beq _0803DC64 - movs r0, 0x64 - adds r6, r7, 0 - muls r6, r0 - ldr r2, _0803DC90 - mov r8, r2 - adds r5, r6, r2 - ldrh r1, [r1] - ldr r0, _0803DC8C - adds r0, 0x94 - adds r0, r7, r0 - ldrb r2, [r0] - movs r0, 0x1 - str r0, [sp] - lsls r4, r7, 2 - ldr r0, _0803DC8C - adds r0, 0x34 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [sp, 0x4] - movs r0, 0x2 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r3, 0xF - bl create_pokemon_set_level - ldr r2, _0803DC94 - add r2, r9 - adds r0, r5, 0 - movs r1, 0xC - bl pokemon_setattr - movs r5, 0 - mov r9, r4 - mov r3, r8 - mov r4, r10 - adds r4, 0x1E -_0803DC10: - adds r1, r5, 0 - adds r1, 0x1A - adds r0, r6, r3 - adds r2, r7, r4 - str r3, [sp, 0x14] - bl pokemon_setattr - adds r5, 0x1 - ldr r3, [sp, 0x14] - cmp r5, 0x5 - ble _0803DC10 - movs r5, 0 - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0803DC90 - adds r7, r1, r0 - mov r2, r9 - lsls r6, r2, 1 -_0803DC36: - adds r1, r5, 0 - adds r1, 0xD - ldr r4, _0803DC98 - adds r4, r6, r4 - adds r0, r7, 0 - adds r2, r4, 0 - bl pokemon_setattr - adds r1, r5, 0 - adds r1, 0x11 - ldrh r0, [r4] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - ldr r0, _0803DC9C - adds r2, r0 - adds r0, r7, 0 - bl pokemon_setattr - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0803DC36 -_0803DC64: - ldr r7, [sp, 0x10] - cmp r7, 0x5 - ble _0803DBAC - ldr r1, _0803DCA0 - movs r0, 0x8 - strh r0, [r1] - ldr r1, _0803DCA4 - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - strh r0, [r1] - 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 -_0803DC8C: .4byte 0x02017000 -_0803DC90: .4byte 0x030045c0 -_0803DC94: .4byte 0x02017088 -_0803DC98: .4byte 0x0201704c -_0803DC9C: .4byte gBattleMoves + 0x4 @ PP offset -_0803DCA0: .4byte 0x020239f8 -_0803DCA4: .4byte 0x0202ff5e - thumb_func_end create_enemy_party - - thumb_func_start sub_803DCA8 -sub_803DCA8: @ 803DCA8 - push {r4,r5,lr} - ldr r5, _0803DCD8 - ldr r4, _0803DCDC - ldrb r0, [r4, 0x9] - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4, 0x1] - lsls r2, 27 - lsrs r2, 31 - lsls r1, r2, 2 - adds r1, r2 - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - ldr r1, _0803DCE0 - adds r0, r1 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803DCD8: .4byte gUnknown_082082E8 -_0803DCDC: .4byte 0x02017000 -_0803DCE0: .4byte gTrainerClassToPicIndex - thumb_func_end sub_803DCA8 - - thumb_func_start sub_803DCE4 -sub_803DCE4: @ 803DCE4 - push {r4,r5,lr} - ldr r5, _0803DD14 - ldr r4, _0803DD18 - ldrb r0, [r4, 0x9] - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4, 0x1] - lsls r2, 27 - lsrs r2, 31 - lsls r1, r2, 2 - adds r1, r2 - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - ldr r1, _0803DD1C - adds r0, r1 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803DD14: .4byte gUnknown_082082E8 -_0803DD18: .4byte 0x02017000 -_0803DD1C: .4byte gTrainerClassToNameIndex - thumb_func_end sub_803DCE4 - - thumb_func_start sub_803DD20 -sub_803DD20: @ 803DD20 - push {r4,lr} - movs r4, 0 -_0803DD24: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0803DD3C - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - bne _0803DD40 - movs r0, 0 - b _0803DD4E - .align 2, 0 -_0803DD3C: .4byte 0x03004360 -_0803DD40: - adds r4, 0x1 - cmp r4, 0x5 - ble _0803DD24 - bl sub_803DD54 - lsls r0, 24 - lsrs r0, 24 -_0803DD4E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803DD20 - - thumb_func_start sub_803DD54 -sub_803DD54: @ 803DD54 - push {r4-r7,lr} - sub sp, 0x4 - movs r3, 0 - movs r7, 0 -_0803DD5C: - movs r5, 0 - adds r6, r7, 0 - movs r4, 0 -_0803DD62: - ldr r0, _0803DD7C - adds r0, r4, r0 - adds r0, r6, r0 - movs r1, 0xB - movs r2, 0 - str r3, [sp] - bl PokemonGetEncryptedField - ldr r3, [sp] - cmp r0, 0 - bne _0803DD80 - movs r0, 0 - b _0803DD96 - .align 2, 0 -_0803DD7C: .4byte 0x020300a4 -_0803DD80: - adds r4, 0x50 - adds r5, 0x1 - cmp r5, 0x1D - ble _0803DD62 - movs r0, 0x96 - lsls r0, 4 - adds r7, r0 - adds r3, 0x1 - cmp r3, 0xD - ble _0803DD5C - movs r0, 0x1 -_0803DD96: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803DD54 - - thumb_func_start GetSpeciesName -GetSpeciesName: @ 803DDA0 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r1, 0 - movs r0, 0xCE - lsls r0, 1 - mov r12, r0 - ldr r7, _0803DDBC - movs r0, 0xB - muls r0, r5 - adds r3, r0, r7 - adds r2, r6, 0 - b _0803DDC6 - .align 2, 0 -_0803DDBC: .4byte gSpeciesNames -_0803DDC0: - adds r3, 0x1 - adds r2, 0x1 - adds r1, 0x1 -_0803DDC6: - adds r4, r6, r1 - cmp r1, 0xA - bgt _0803DDE0 - cmp r5, r12 - bls _0803DDD6 - adds r0, r1, r7 - ldrb r0, [r0] - b _0803DDD8 -_0803DDD6: - ldrb r0, [r3] -_0803DDD8: - strb r0, [r2] - ldrb r0, [r4] - cmp r0, 0xFF - bne _0803DDC0 -_0803DDE0: - movs r0, 0xFF - strb r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetSpeciesName - - thumb_func_start CalcPPWithPPUps -CalcPPWithPPUps: @ 803DDEC - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r2, 24 - lsrs r2, 24 - ldr r4, _0803DE2C - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 2 - adds r3, r4 - ldrb r4, [r3, 0x4] - ldr r0, _0803DE30 - adds r0, r2, r0 - ldrb r3, [r0] - ands r3, r1 - lsls r2, 1 - asrs r3, r2 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - muls r0, r4 - movs r1, 0x64 - bl __divsi3 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803DE2C: .4byte gBattleMoves -_0803DE30: .4byte gUnknown_08208238 - thumb_func_end CalcPPWithPPUps - - thumb_func_start sub_803DE34 -sub_803DE34: @ 803DE34 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - ldr r1, _0803DE6C - adds r4, r1 - ldrb r1, [r4] - ands r1, r0 - mov r0, sp - strb r1, [r0] - adds r0, r5, 0 - movs r1, 0x15 - mov r2, sp - bl pokemon_setattr - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803DE6C: .4byte gUnknown_0820823C - thumb_func_end sub_803DE34 - - thumb_func_start sub_803DE70 -sub_803DE70: @ 803DE70 - lsls r1, 24 - lsrs r1, 24 - adds r0, 0x3B - ldr r2, _0803DE84 - adds r1, r2 - ldrb r2, [r0] - ldrb r1, [r1] - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_0803DE84: .4byte gUnknown_0820823C - thumb_func_end sub_803DE70 - - thumb_func_start battle_data_fill -battle_data_fill: @ 803DE88 - 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, 0x14] - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0x64 - mov r5, r9 - muls r5, r0 - ldr r0, _0803E170 - adds r5, r0 - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - ldr r1, _0803E174 - mov r8, r1 - movs r1, 0x58 - ldr r2, [sp, 0x14] - adds r4, r2, 0 - muls r4, r1 - mov r3, r8 - adds r6, r4, r3 - strh r0, [r6] - adds r0, r5, 0 - movs r1, 0xC - movs r2, 0 - bl PokemonGetField - strh r0, [r6, 0x2E] - movs r6, 0 - mov r0, r8 - adds r0, 0x24 - adds r7, r4, r0 -_0803DEDA: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r5, 0 - movs r2, 0 - bl PokemonGetField - movs r1, 0xC - add r1, r8 - mov r10, r1 - adds r1, r4, r1 - strh r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r5, 0 - movs r2, 0 - bl PokemonGetField - strb r0, [r7] - adds r7, 0x1 - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _0803DEDA - movs r0, 0x64 - mov r4, r9 - muls r4, r0 - ldr r0, _0803E170 - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - movs r2, 0xC - negs r2, r2 - add r2, r10 - mov r9, r2 - movs r1, 0x58 - ldr r3, [sp, 0x14] - adds r5, r3, 0 - muls r5, r1 - adds r7, r5, r2 - adds r1, r7, 0 - adds r1, 0x3B - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0 - bl PokemonGetField - adds r1, r7, 0 - adds r1, 0x2B - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x19 - movs r2, 0 - bl PokemonGetField - mov r1, r10 - adds r1, 0x38 - adds r1, r5, r1 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x27 - movs r2, 0 - bl PokemonGetField - movs r6, 0x1F - ands r0, r6 - ldrb r2, [r7, 0x14] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x14] - adds r0, r4, 0 - movs r1, 0x28 - movs r2, 0 - bl PokemonGetField - movs r1, 0x1F - mov r8, r1 - mov r2, r8 - ands r0, r2 - lsls r0, 5 - ldrh r2, [r7, 0x14] - ldr r1, _0803E178 - ands r1, r2 - orrs r1, r0 - strh r1, [r7, 0x14] - adds r0, r4, 0 - movs r1, 0x29 - movs r2, 0 - bl PokemonGetField - ands r0, r6 - lsls r0, 2 - ldrb r2, [r7, 0x15] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x15] - adds r0, r4, 0 - movs r1, 0x2A - movs r2, 0 - bl PokemonGetField - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [r7, 0x14] - ldr r2, _0803E17C - ands r0, r2 - orrs r0, r1 - str r0, [r7, 0x14] - adds r0, r4, 0 - movs r1, 0x2B - movs r2, 0 - bl PokemonGetField - mov r3, r8 - ands r0, r3 - lsls r0, 4 - ldrh r2, [r7, 0x16] - ldr r1, _0803E180 - ands r1, r2 - orrs r1, r0 - strh r1, [r7, 0x16] - adds r0, r4, 0 - movs r1, 0x2C - movs r2, 0 - bl PokemonGetField - ands r0, r6 - lsls r0, 1 - ldrb r2, [r7, 0x17] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x17] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl PokemonGetField - mov r1, r10 - adds r1, 0x3C - adds r1, r5, r1 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x37 - movs r2, 0 - bl PokemonGetField - mov r1, r10 - adds r1, 0x40 - adds r1, r5, r1 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x38 - movs r2, 0 - bl PokemonGetField - adds r1, r7, 0 - adds r1, 0x2A - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x39 - movs r2, 0 - bl PokemonGetField - strh r0, [r7, 0x28] - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl PokemonGetField - strh r0, [r7, 0x2C] - adds r0, r4, 0 - movs r1, 0x3B - movs r2, 0 - bl PokemonGetField - strh r0, [r7, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - movs r2, 0 - bl PokemonGetField - strh r0, [r7, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - movs r2, 0 - bl PokemonGetField - strh r0, [r7, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - movs r2, 0 - bl PokemonGetField - strh r0, [r7, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - movs r2, 0 - bl PokemonGetField - strh r0, [r7, 0xA] - adds r0, r4, 0 - movs r1, 0x2D - movs r2, 0 - bl PokemonGetField - movs r1, 0x1 - ands r0, r1 - lsls r0, 6 - ldrb r2, [r7, 0x17] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x17] - adds r0, r4, 0 - movs r1, 0x2E - movs r2, 0 - bl PokemonGetField - lsls r0, 7 - ldrb r2, [r7, 0x17] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x17] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl PokemonGetField - mov r1, r10 - adds r1, 0x48 - adds r1, r5, r1 - str r0, [r1] - ldr r2, _0803E184 - ldrh r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x6] - adds r1, r7, 0 - adds r1, 0x21 - strb r0, [r1] - ldrh r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x7] - adds r1, r7, 0 - adds r1, 0x22 - strb r0, [r1] - ldrh r0, [r7] - ldrb r1, [r7, 0x17] - lsrs r1, 7 - bl sub_803DB14 - adds r1, r7, 0 - adds r1, 0x20 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl PokemonGetField - mov r0, r10 - adds r0, 0x24 - adds r0, r5, r0 - mov r1, sp - bl StringCopy10 - mov r2, r10 - adds r2, 0x30 - adds r2, r5, r2 - adds r0, r4, 0 - movs r1, 0x7 - bl PokemonGetField - ldr r0, [sp, 0x14] - bl battle_side_get_owner - lsls r0, 24 - lsrs r0, 23 - ldr r1, _0803E188 - adds r0, r1 - ldrh r1, [r7, 0x28] - strh r1, [r0] - movs r2, 0x6 - mov r1, r9 - movs r6, 0x7 - add r5, r10 - adds r0, r5, 0 - adds r0, 0x13 -_0803E13A: - strb r2, [r0] - subs r0, 0x1 - subs r6, 0x1 - cmp r6, 0 - bge _0803E13A - movs r2, 0 - movs r0, 0x58 - ldr r3, [sp, 0x14] - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - str r2, [r0] - ldr r0, [sp, 0x14] - bl sub_80157C4 - ldr r0, [sp, 0x14] - movs r1, 0 - bl sub_8032AA8 - 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 -_0803E170: .4byte 0x03004360 -_0803E174: .4byte 0x02024a80 -_0803E178: .4byte 0xfffffc1f -_0803E17C: .4byte 0xfff07fff -_0803E180: .4byte 0xfffffe0f -_0803E184: .4byte gBaseStats -_0803E188: .4byte 0x020160bc - thumb_func_end battle_data_fill - - 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 PokemonGetField - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803E240 - ldr r0, _0803E21C - ldr r4, _0803E220 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803E22C - ldr r2, _0803E224 - ldr r0, _0803E228 - 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 0x03001770 -_0803E220: .4byte 0x0000043d -_0803E224: .4byte 0x02024df0 -_0803E228: .4byte 0x02024e6c -_0803E22C: - ldr r0, _0803E238 - ldr r5, _0803E23C - adds r0, r5 - ldrb r0, [r0] - b _0803E248 - .align 2, 0 -_0803E238: .4byte 0x02025734 -_0803E23C: .4byte 0x00003688 -_0803E240: - bl itemid_get_x12 - lsls r0, 24 - lsrs r0, 24 -_0803E248: - str r0, [sp, 0x30] - ldr r1, _0803E2A4 - ldr r0, _0803E2A8 - ldrb r2, [r0] - strb r2, [r1] - ldr r0, _0803E2AC - ldr r1, _0803E2B0 - 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 - 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 - ldr r4, [sp, 0x8] - subs r4, 0xD - ldrb r0, [r0] - cmp r1, r0 - bge _0803E2F4 - ldr r2, _0803E2BC - 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 0x02024c0b -_0803E2A8: .4byte 0x02024e6c -_0803E2AC: .4byte 0x03001770 -_0803E2B0: .4byte 0x0000043d -_0803E2B4: .4byte 0x02024a60 -_0803E2B8: .4byte 0x02024a68 -_0803E2BC: .4byte 0x02024a6a -_0803E2C0: - ldr r1, [sp, 0x18] - adds r1, 0x2 - str r1, [sp, 0x18] - ldr r0, _0803E2E4 - 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 0x02024a68 -_0803E2E8: - ldr r0, _0803E310 - 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 - 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 0x02024a60 -_0803E314: .4byte gItemEffectTable -_0803E318: - ldr r5, [sp, 0x8] - cmp r5, 0xAF - bne _0803E372 -_0803E31E: - ldr r0, _0803E340 - ldr r1, _0803E344 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803E350 - ldr r0, _0803E348 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803E34C - adds r0, r1 - b _0803E372 - .align 2, 0 -_0803E340: .4byte 0x03001770 -_0803E344: .4byte 0x0000043d -_0803E348: .4byte 0x02024a60 -_0803E34C: .4byte 0x02024df8 -_0803E350: - ldr r2, _0803E358 - str r2, [sp, 0x20] - b _0803E374 - .align 2, 0 -_0803E358: .4byte 0x02028daa -_0803E35C: - mov r0, r8 - movs r2, 0 - ldr r3, [sp, 0xC] - bl sub_8111924 - 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 - 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 - ldr r1, _0803E464 - 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 - 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 - 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 - ldr r0, _0803E470 - 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 - ldr r5, _0803E470 - 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 0x03001770 -_0803E464: .4byte 0x0000043d -_0803E468: .4byte 0x02024a80 -_0803E46C: .4byte 0xfff0ffff -_0803E470: .4byte 0x02024a60 -_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 - ldr r5, _0803E504 - 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 - ldr r5, _0803E504 - 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 0x02024a80 -_0803E504: .4byte 0x02024a60 -_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 - ldr r5, _0803E598 - 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 - ldr r5, _0803E598 - 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 0x02024a80 -_0803E598: .4byte 0x02024a60 -_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 - ldr r4, _0803E75C - 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 PokemonGetField - cmp r0, 0x64 - beq _0803E646 - ldr r5, _0803E760 - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - mov r0, r8 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - adds r4, 0x1 - lsls r4, 2 - ldr r2, _0803E764 - 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 pokemon_setattr - mov r0, r8 - bl pokemon_calc_effective_stats - 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 - 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 - 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 - 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 - ldr r3, _0803E778 - 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 - 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 0x02024c80 -_0803E75C: .4byte 0x02024a60 -_0803E760: .4byte gExperienceTables -_0803E764: .4byte gBaseStats -_0803E768: .4byte 0x02024a80 -_0803E76C: .4byte 0xf7ffffff -_0803E770: .4byte 0x00000f88 -_0803E774: .4byte 0x03001770 -_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 PokemonGetField - ldr r1, _0803E880 - 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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalcPPWithPPUps - 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 PokemonGetField - ldr r1, _0803E884 - 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 pokemon_setattr - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl PokemonGetField - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [sp, 0x10] - bl CalcPPWithPPUps - 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 PokemonGetField - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r2, sp - bl pokemon_setattr - 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 - 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 sub_8040020 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0803E8EC - cmp r5, r0 - bls _0803E8BE - b _0803E36C -_0803E8BE: - ldr r0, _0803E8F0 - ldr r3, [sp, 0x28] - adds r0, r3, r0 - ldrb r1, [r0] - mov r0, r8 - movs r2, 0 - bl PokemonGetField - 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 - ldr r3, [sp, 0x28] - adds r0, r3, r0 - ldrb r1, [r0] - mov r0, r8 - mov r2, sp - bl pokemon_setattr - mov r0, r8 - bl pokemon_calc_effective_stats - 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 PokemonGetField - cmp r0, 0 - beq _0803E954 - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - b _0803EC9E -_0803E954: - ldr r0, _0803E99C - ldr r1, _0803E9A0 - 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 - ldr r1, _0803E9A8 - 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 - 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 battle_data_fill - ldr r0, _0803E9B0 - ldrb r0, [r0] - b _0803E9CC - .align 2, 0 -_0803E99C: .4byte 0x03001770 -_0803E9A0: .4byte 0x0000043d -_0803E9A4: .4byte 0x02024c0c -_0803E9A8: .4byte gBitTable -_0803E9AC: .4byte 0x02024a6a -_0803E9B0: .4byte 0x02024a60 -_0803E9B4: - ldr r3, _0803E9E4 - ldr r1, _0803E9E8 - ldr r2, _0803E9EC - 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 - ldrb r0, [r1, 0x4] - cmp r0, 0xFE - bhi _0803EA0A - adds r0, 0x1 - strb r0, [r1, 0x4] - b _0803EA0A - .align 2, 0 -_0803E9E4: .4byte 0x02024c0c -_0803E9E8: .4byte gBitTable -_0803E9EC: .4byte 0x02024a60 -_0803E9F0: .4byte 0x030042e0 -_0803E9F4: - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl PokemonGetField - subs r4, r0 - str r4, [sp] - b _0803EA6C -_0803EA4C: - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl PokemonGetField - lsrs r0, 1 - str r0, [sp] - cmp r0, 0 - bne _0803EA6C - movs r0, 0x1 - b _0803EA6A -_0803EA62: - ldr r0, _0803EB24 - ldr r5, _0803EB28 - adds r0, r5 - ldrb r0, [r0] -_0803EA6A: - str r0, [sp] -_0803EA6C: - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl PokemonGetField - cmp r4, r0 - beq _0803EB4C - ldr r0, [sp, 0x14] - cmp r0, 0 - bne _0803EB40 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl PokemonGetField - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl PokemonGetField - ldr r1, [sp] - cmp r1, r0 - bls _0803EAB8 - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl PokemonGetField - str r0, [sp] -_0803EAB8: - mov r0, r8 - movs r1, 0x39 - mov r2, sp - bl pokemon_setattr - ldr r0, _0803EB2C - ldr r1, _0803EB30 - 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 - 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 - ldrb r0, [r4] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0803EB48 - ldr r1, _0803EB3C - 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 0x03001770 -_0803EB30: .4byte 0x0000043d -_0803EB34: .4byte 0x02024a80 -_0803EB38: .4byte 0x02024a60 -_0803EB3C: .4byte 0x030042e0 -_0803EB40: - ldr r1, _0803EB58 - 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 0x02024bec -_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 PokemonGetField - str r0, [sp] - adds r7, r5, 0 - adds r7, 0xD - mov r0, r8 - adds r1, r7, 0 - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - 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 CalcPPWithPPUps - 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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalcPPWithPPUps - 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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalcPPWithPPUps - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] -_0803EC28: - mov r0, r8 - mov r1, r9 - mov r2, sp - bl pokemon_setattr - ldr r0, _0803ECA4 - ldr r4, _0803ECA8 - 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 - 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 - 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 - 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 0x03001770 -_0803ECA8: .4byte 0x0000043d -_0803ECAC: .4byte 0x02024a80 -_0803ECB0: .4byte 0x02024ca8 -_0803ECB4: .4byte gBitTable -_0803ECB8: - ldr r6, [sp, 0x10] - adds r6, 0x11 - mov r0, r8 - adds r1, r6, 0 - movs r2, 0 - bl PokemonGetField - str r0, [sp] - ldr r5, [sp, 0x10] - adds r5, 0xD - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalcPPWithPPUps - 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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalcPPWithPPUps - 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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalcPPWithPPUps - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] -_0803ED74: - mov r0, r8 - adds r1, r6, 0 - mov r2, sp - bl pokemon_setattr - ldr r0, _0803EDE0 - ldr r1, _0803EDE4 - 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 - 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 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0803EDF0 - 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 0x03001770 -_0803EDE4: .4byte 0x0000043d -_0803EDE8: .4byte 0x02024a80 -_0803EDEC: .4byte 0x02024ca8 -_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 - 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 sub_8040020 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0803EEBC - cmp r5, r0 - bls _0803EE88 - bl _0803E36C -_0803EE88: - ldr r0, _0803EEC0 - ldr r4, [sp, 0x28] - adds r4, 0x2 - adds r0, r4, r0 - ldrb r1, [r0] - mov r0, r8 - movs r2, 0 - bl PokemonGetField - 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 - adds r0, r2, r0 - ldrb r1, [r0] - mov r0, r8 - mov r2, sp - bl pokemon_setattr - mov r0, r8 - bl pokemon_calc_effective_stats - 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 PokemonGetField - ldr r1, _0803EFC0 - 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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalcPPWithPPUps - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetField - str r0, [sp] - ldr r1, _0803EFC4 - ldr r3, [sp, 0x10] - adds r1, r3, r1 - ldrb r2, [r1] - ands r2, r0 - str r2, [sp] - ldr r0, _0803EFC8 - 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 pokemon_setattr - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl PokemonGetField - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [sp, 0x10] - bl CalcPPWithPPUps - 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 PokemonGetField - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r2, sp - bl pokemon_setattr - 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 PokemonGetField - 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 PokemonGetField - 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 PokemonGetField - cmp r0, 0x63 - bls _0803F130 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - 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 PokemonGetField - 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 PokemonGetField - 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 PokemonGetField - 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 PokemonGetField - 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 pokemon_setattr -_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 PokemonGetField - 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 pokemon_setattr - ldr r0, _0803F1C4 - ldr r1, _0803F1C8 - 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 - 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 0x03001770 -_0803F1C8: .4byte 0x0000043d -_0803F1CC: .4byte 0x02024a80 -_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 - 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 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803F230 - 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 0x02024a60 -_0803F230: .4byte 0x02024df8 -_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 - 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 - ldr r1, _0803F35C - ldrb r1, [r1] - strb r1, [r2] - ldr r3, _0803F360 - ldr r2, _0803F364 - ldr r1, _0803F368 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r3, 0 - bl StringCopy - ldr r0, _0803F36C - ldr r1, _0803F370 - bl StringCopy - ldr r0, _0803F374 - bl get_battle_strings_ - pop {r0} - bx r0 - .align 2, 0 -_0803F358: .4byte 0x02024c08 -_0803F35C: .4byte 0x02024e6c -_0803F360: .4byte 0x030041c0 -_0803F364: .4byte gUnknown_08400F58 -_0803F368: .4byte gUnknown_082082F8 -_0803F36C: .4byte 0x03004290 -_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 - ldr r1, _0803F3AC - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803F3B8 - ldr r2, _0803F3B0 - ldrb r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803F3B4 - adds r7, r0, r1 - b _0803F3CC - .align 2, 0 -_0803F3A8: .4byte 0x03001770 -_0803F3AC: .4byte 0x0000043d -_0803F3B0: .4byte 0x02024e6c -_0803F3B4: .4byte 0x02024df8 -_0803F3B8: - ldr r7, _0803F3BC - b _0803F3CA - .align 2, 0 -_0803F3BC: .4byte 0x02028daa -_0803F3C0: - ldr r1, _0803F404 - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r7, [r0] -_0803F3CA: - ldr r2, _0803F408 -_0803F3CC: - ldr r1, _0803F40C - ldrb r0, [r2] - strb r0, [r1] - movs r5, 0 - ldr r0, _0803F410 - 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 0x02024e6c -_0803F40C: .4byte 0x02024c0b -_0803F410: .4byte 0x02024c07 -_0803F414: - ldr r0, _0803F450 - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - ldr r0, _0803F454 - 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 - ldr r0, _0803F450 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _0803F45C - bl get_battle_strings_ -_0803F442: - ldr r0, _0803F460 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803F450: .4byte 0x02024e6c -_0803F454: .4byte gUnknown_083FEE92 -_0803F458: .4byte 0x02024c07 -_0803F45C: .4byte gUnknown_083FEE5D -_0803F460: .4byte 0x020238cc - thumb_func_end sub_803F378 - - thumb_func_start GetNature -GetNature: @ 803F464 - push {lr} - movs r1, 0 - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - lsls r0, 16 - lsrs r7, r0, 16 - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl PokemonGetField - mov r1, sp - strh r0, [r1] - mov r0, r8 - movs r1, 0 - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x17 - movs r2, 0 - bl PokemonGetField - 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 - ldr r1, _0803F4FC - adds r0, r1 - ldrb r0, [r0] - b _0803F508 - .align 2, 0 -_0803F4F8: .4byte 0x02025734 -_0803F4FC: .4byte 0x00003688 -_0803F500: - bl itemid_get_x12 - 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 - lsls r6, r7, 2 - b _0803F782 - .align 2, 0 -_0803F534: .4byte gEvolutionTable -_0803F538: - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl PokemonGetField - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl PokemonGetField - 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 - 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 - 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 - 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 0x03004038 -_0803F5FC: - bl RtcCalcLocalTime - ldr r0, _0803F624 - 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 - 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 0x03004038 -_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 PokemonGetField - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl PokemonGetField - 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 - 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 pokemon_setattr -_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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 speciesid_conv -speciesid_conv: @ 803F904 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0xFA - bls _0803F932 - ldr r0, _0803F924 - cmp r1, r0 - bls _0803F930 - ldr r0, _0803F928 - ldr r2, _0803F92C - 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 speciesid_conv - - 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 - 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 - 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 - 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 - 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 - 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 - - 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 - movs r1, 0x2 - adds r2, r5, 0 - bl PokemonGetField - movs r6, 0xB - adds r0, r4, 0 - muls r0, r6 - ldr r4, _0803FBB8 - 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 pokemon_setattr -_0803FBA8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803FBB4: .4byte 0x020231cc -_0803FBB8: .4byte gSpeciesNames - thumb_func_end sub_803FB68 - - thumb_func_start sub_803FBBC -sub_803FBBC: @ 803FBBC - push {r4,r5,lr} - movs r5, 0 - ldr r4, _0803FBE4 - 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 0x03002970 -_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 - 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 0x03002970 -_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 - b _0803FC4C - .align 2, 0 -_0803FC40: .4byte 0x03002970 -_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 - 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 - 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 sub_803FCD4 -sub_803FCD4: @ 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 PokemonGetField - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r7, 0 - movs r1, 0xC - movs r2, 0 - bl PokemonGetField - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803FD34 - ldr r0, _0803FD14 - ldr r1, _0803FD18 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803FD20 - ldr r0, _0803FD1C - ldrb r4, [r0, 0x7] - b _0803FD3C - .align 2, 0 -_0803FD14: .4byte 0x03001770 -_0803FD18: .4byte 0x0000043d -_0803FD1C: .4byte 0x02024df0 -_0803FD20: - ldr r0, _0803FD2C - ldr r1, _0803FD30 - adds r0, r1 - ldrb r4, [r0] - b _0803FD3C - .align 2, 0 -_0803FD2C: .4byte 0x02025734 -_0803FD30: .4byte 0x00003688 -_0803FD34: - bl itemid_get_x12 - 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 PokemonGetField - 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 - ldrh r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803FE56 - ldr r2, _0803FE64 - ldr r0, _0803FE68 - 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 - 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 PokemonGetField - 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 PokemonGetField - 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 pokemon_setattr -_0803FE56: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803FE60: .4byte 0x020239f8 -_0803FE64: .4byte gTrainers -_0803FE68: .4byte 0x0202ff5e -_0803FE6C: .4byte gUnknown_082082FE - thumb_func_end sub_803FCD4 - - thumb_func_start sub_803FE70 -sub_803FE70: @ 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 PokemonGetField - 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 sub_8040178 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 PokemonGetField - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803FFA8 - ldr r0, _0803FF88 - ldr r1, _0803FF8C - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803FF94 - ldr r0, _0803FF90 - ldrb r0, [r0, 0x7] - b _0803FFB0 - .align 2, 0 -_0803FF84: .4byte gBaseStats -_0803FF88: .4byte 0x03001770 -_0803FF8C: .4byte 0x0000043d -_0803FF90: .4byte 0x02024df0 -_0803FF94: - ldr r0, _0803FFA0 - ldr r2, _0803FFA4 - adds r0, r2 - ldrb r0, [r0] - b _0803FFB0 - .align 2, 0 -_0803FFA0: .4byte 0x02025734 -_0803FFA4: .4byte 0x00003688 -_0803FFA8: - bl itemid_get_x12 - 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 pokemon_setattr - adds r6, 0x1 - cmp r6, 0x5 - bgt _0804000E -_08040006: - ldr r0, _0804001C - 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 sub_803FE70 - - thumb_func_start sub_8040020 -sub_8040020: @ 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 PokemonGetField - 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 sub_8040020 - - thumb_func_start sub_8040048 -sub_8040048: @ 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 PokemonGetField - cmp r0, 0 - beq _0804006E - adds r0, r4, 0 - movs r1, 0x2D - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - bne _0804006E - ldr r1, _0804010C - lsls r0, r5, 2 - adds r0, r1 - ldrb r1, [r0] - adds r0, r6, 0 - bl sub_8040178 - 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 pokemon_setattr -_08040104: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804010C: .4byte gBitTable - thumb_func_end sub_8040048 - - thumb_func_start sub_8040110 -sub_8040110: @ 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 PokemonGetField - 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 PokemonGetField - 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 sub_8040110 - - thumb_func_start sub_8040178 -sub_8040178: @ 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 PokemonGetField - 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 PokemonGetField - 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 sub_8040178 - - thumb_func_start sub_80401D8 -sub_80401D8: @ 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 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - cmp r0, 0 - beq _0804023C - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl PokemonGetField - 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 0x03004360 -_08040228: - subs r0, r2, r7 -_0804022A: - strb r0, [r6] - movs r0, 0x64 - muls r0, r5 - ldr r1, _0804024C - adds r0, r1 - movs r1, 0x22 - mov r2, sp - bl pokemon_setattr -_0804023C: - adds r5, 0x1 - cmp r5, 0x5 - ble _080401E4 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804024C: .4byte 0x03004360 - thumb_func_end sub_80401D8 - - thumb_func_start atkE5_pickupitemcalculation -atkE5_pickupitemcalculation: @ 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 PokemonGetField - cmp r0, 0 - beq _080402F0 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0 - bne _080402C6 - adds r0, r4, 0 - movs r1, 0x22 - mov r2, sp - bl pokemon_setattr -_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 PokemonGetField - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0 - bne _080402F0 - adds r0, r4, 0 - movs r1, 0x22 - mov r2, sp - bl pokemon_setattr - 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 atkE5_pickupitemcalculation - - thumb_func_start sub_8040300 -sub_8040300: @ 8040300 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl PokemonGetField - adds r0, 0x1 - mov r1, sp - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0x19 - movs r2, 0 - bl PokemonGetField - ldr r5, _08040358 - mov r1, sp - ldrb r2, [r1] - lsls r2, 2 - ldr r3, _0804035C - 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 pokemon_setattr - movs r0, 0x1 -_0804036C: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8040300 - - thumb_func_start sub_8040374 -sub_8040374: @ 8040374 - push {r4,r5,lr} - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl PokemonGetField - 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 - 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 - 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 sub_8040374 - - 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 PokemonGetField - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08040402 - movs r5, 0 - ldr r6, _08040510 - lsls r1, r7, 2 - adds r2, r1, r6 - ldr r3, [r2] - ldrh r0, [r3] - ldr r4, _08040514 - 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 - ands r0, r3 - cmp r1, r0 - beq _08040480 - ldr r0, [sp, 0x14] - ldr r1, _08040510 - adds r6, r0, r1 - ldr r2, _08040518 - 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 - ands r0, r1 - cmp r2, r0 - beq _080404C4 - ldr r1, [sp, 0x14] - ldr r2, _08040510 - adds r6, r1, r2 - ldr r0, _08040518 - 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 - 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 - 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 gLevelUpLearnsetPointers -_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 - lsrs r0, 14 - adds r0, r1 - ldr r2, [r0] - ldrh r0, [r2] - ldr r1, _0804056C - cmp r0, r1 - beq _08040560 - ldr r0, _08040570 - 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 gLevelUpLearnsetPointers -_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 PokemonGetField - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl PokemonGetField - 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 PokemonGetField - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080405B8 - movs r5, 0 - ldr r3, _080406CC - ldr r2, [sp, 0x38] - adds r1, r2, r3 - ldr r0, [r1] - ldrh r0, [r0] - ldr r2, _080406D0 - 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 - ands r0, r3 - cmp r1, r0 - beq _0804063A - ldr r0, [sp, 0x38] - ldr r1, _080406CC - adds r6, r0, r1 - ldr r2, _080406D4 - 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 - ands r0, r1 - add r1, sp, 0x8 - cmp r2, r0 - beq _08040680 - ldr r2, [sp, 0x38] - ldr r0, _080406CC - adds r6, r2, r0 - ldr r2, _080406D4 - 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 - 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 - 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 gLevelUpLearnsetPointers -_080406D0: .4byte 0x0000ffff -_080406D4: .4byte 0x000001ff - thumb_func_end sub_8040574 - - thumb_func_start sub_80406D8 -sub_80406D8: @ 80406D8 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_806912C - 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 - b _0804070A - .align 2, 0 -_08040704: .4byte 0x0000ffff -_08040708: - adds r0, r4, 0 -_0804070A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80406D8 - - thumb_func_start sub_8040710 -sub_8040710: @ 8040710 - push {lr} - ldr r1, _08040724 - 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 0x02024e84 - thumb_func_end sub_8040710 - - thumb_func_start sub_8040728 -sub_8040728: @ 8040728 - push {lr} - ldr r0, _0804073C - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _08040744 - ldr r0, _08040740 - b _080408B2 - .align 2, 0 -_0804073C: .4byte 0x020239f8 -_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 - ldr r2, _08040790 - 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 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804078C: .4byte gTrainers -_08040790: .4byte 0x0202ff5e -_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 - 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 - adds r0, r1 - ldr r1, _0804089C - 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 - b _080408B2 - .align 2, 0 -_080408A4: .4byte 0x000001d1 -_080408A8: - ldr r0, _080408AC - b _080408B2 - .align 2, 0 -_080408AC: .4byte 0x000001cb -_080408B0: - ldr r0, _080408B8 -_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 map_music_set_to_zero - bl m4aMPlayAllStop - bl sub_8040728 - lsls r0, 16 - lsrs r0, 16 - bl sub_8075474 - 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 map_music_set_to_zero - bl m4aMPlayAllStop - cmp r4, 0 - beq _080408F2 - adds r0, r4, 0 - bl current_map_music_set - b _080408FE -_080408F2: - bl sub_8040728 - lsls r0, 16 - lsrs r0, 16 - bl current_map_music_set -_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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl PokemonGetField - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl PokemonGetField - 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 - ldr r0, [r0] - b _08040984 - .align 2, 0 -_08040954: .4byte gMonPaletteTable -_08040958: - lsrs r0, r1, 16 - ldr r2, _08040974 - 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 - lsls r1, r4, 3 - b _08040980 - .align 2, 0 -_08040974: .4byte 0x0000ffff -_08040978: .4byte gMonPaletteTable -_0804097C: - ldr r0, _0804098C - 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 PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl PokemonGetField - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl PokemonGetField - 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 - 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 - b _080409F4 - .align 2, 0 -_080409E8: .4byte 0x0000ffff -_080409EC: .4byte gMonPaletteTable -_080409F0: - lsls r0, r4, 3 - ldr r1, _080409FC -_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 - ldrh r0, [r2] - ldr r1, _08040A28 - 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 - 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 - 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 - 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 PokemonGetField - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl PokemonGetField - 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 - 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 PokemonGetEncryptedField - cmp r0, 0 - beq _08040B7C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl PokemonGetEncryptedField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x15 - movs r2, 0 - bl PokemonGetEncryptedField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r6, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl CalcPPWithPPUps - mov r1, sp - strb r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r5, 0 - mov r2, sp - bl PokemonSetEncryptedField -_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 - ldr r2, _08040BD0 - ldr r3, _08040BD4 - adds r0, r2, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r5, _08040BD8 - movs r0, 0xFD - strb r0, [r5] - movs r0, 0x4 - strb r0, [r5, 0x1] - ldr r0, _08040BDC - 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 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - b _08040BEE - .align 2, 0 -_08040BCC: .4byte 0x02024c06 -_08040BD0: .4byte 0x02000000 -_08040BD4: .4byte 0x000160c0 -_08040BD8: .4byte 0x030041c0 -_08040BDC: .4byte 0x00016054 -_08040BE0: .4byte 0x02024a6a -_08040BE4: - ldr r0, _08040C24 - ldrb r1, [r4] - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] -_08040BEE: - strb r0, [r5, 0x3] - ldr r4, _08040C28 - movs r0, 0xFD - strb r0, [r4] - movs r0, 0x4 - strb r0, [r4, 0x1] - ldr r1, _08040C2C - ldrb r0, [r1] - strb r0, [r4, 0x2] - ldr r2, _08040C24 - 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 - ldr r1, _08040C34 - bl sub_8120FFC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08040C24: .4byte 0x02024a6a -_08040C28: .4byte 0x03004290 -_08040C2C: .4byte 0x02024e6c -_08040C30: .4byte gUnknown_083FFCCA -_08040C34: .4byte 0x020234cc - thumb_func_end sub_8040B8C - - thumb_func_start sub_8040C38 -sub_8040C38: @ 8040C38 - push {r4,r5,lr} - ldr r0, _08040C90 - ldrh r1, [r0] - ldr r0, _08040C94 - 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 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08040C9C - 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 pokemon_setattr - b _08040CAC - .align 2, 0 -_08040C90: .4byte 0x020239f8 -_08040C94: .4byte 0x00002008 -_08040C98: .4byte 0x030045c0 -_08040C9C: .4byte gBaseStats -_08040CA0: - adds r2, 0xE - adds r2, r3, r2 - adds r0, r4, 0 - movs r1, 0xC - bl pokemon_setattr -_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 PokemonGetField - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl PokemonGetField - 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 - 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 - 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 0x03002970 - 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 - adds r1, r0 - b _08040D70 - .align 2, 0 -_08040D64: .4byte gSpeciesNames -_08040D68: - ldr r1, _08040D88 - 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 PokemonGetField - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - movs r1, 0x3 - movs r2, 0 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0x2 - mov r2, sp - bl PokemonGetField - 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 - - thumb_func_start sine -sine: @ 8040DEC - lsls r1, 16 - asrs r1, 16 - ldr r2, _08040E04 - lsls r0, 16 - asrs r0, 15 - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - muls r0, r1 - lsls r0, 8 - asrs r0, 16 - bx lr - .align 2, 0 -_08040E04: .4byte gSineTable - thumb_func_end sine - - thumb_func_start cosine -cosine: @ 8040E08 - lsls r1, 16 - asrs r1, 16 - ldr r2, _08040E24 - lsls r0, 16 - asrs r0, 15 - adds r0, 0x80 - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - muls r0, r1 - lsls r0, 8 - asrs r0, 16 - bx lr - .align 2, 0 -_08040E24: .4byte gSineTable - thumb_func_end cosine - - thumb_func_start sine2 -sine2: @ 8040E28 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 - movs r1, 0xB4 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0xB4 - bl __udivsi3 - movs r1, 0x1 - ands r0, r1 - ldr r1, _08040E5C - lsls r4, 1 - adds r4, r1 - ldrh r1, [r4] - cmp r0, 0 - bne _08040E60 - lsls r0, r1, 16 - b _08040E64 - .align 2, 0 -_08040E5C: .4byte gSineDegreeTable -_08040E60: - lsls r0, r1, 16 - negs r0, r0 -_08040E64: - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sine2 - - thumb_func_start cosine2 -cosine2: @ 8040E6C - push {lr} - lsls r0, 16 - movs r1, 0xB4 - lsls r1, 15 - adds r0, r1 - lsrs r0, 16 - bl sine2 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end cosine2 + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom4.s b/asm/rom4.s index 3854672fc..608df2e11 100644 --- a/asm/rom4.s +++ b/asm/rom4.s @@ -3664,7 +3664,7 @@ _080548C4: ldr r0, _080548DC bl SetUpWindowConfig ldr r0, _080548E0 - bl sub_8071C4C + bl InitMenuWindow b _08054928 .align 2, 0 _080548DC: .4byte gWindowConfig_81E6C3C @@ -3772,7 +3772,7 @@ _080549B4: ldr r0, _080549CC bl SetUpWindowConfig ldr r0, _080549D0 - bl sub_8071C4C + bl InitMenuWindow b _08054A38 .align 2, 0 _080549CC: .4byte gWindowConfig_81E6C3C @@ -3934,7 +3934,7 @@ _08054B0C: ldr r0, _08054B24 bl SetUpWindowConfig ldr r0, _08054B28 - bl sub_8071C4C + bl InitMenuWindow b _08054B70 .align 2, 0 _08054B24: .4byte gWindowConfig_81E6C3C @@ -4079,7 +4079,7 @@ sub_8054C2C: @ 8054C2C ldr r0, _08054C4C bl SetUpWindowConfig ldr r0, _08054C50 - bl sub_8071C4C + bl InitMenuWindow bl mapdata_load_assets_to_gpu_and_full_redraw pop {r0} bx r0 @@ -15342,7 +15342,7 @@ _0805990A: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080598F2 _08059924: @@ -16815,7 +16815,7 @@ _0805A488: fish3: @ 805A490 push {r4,lr} adds r4, r0, 0 - bl sub_8071FFC + bl MenuDisplayMessageBox ldrh r0, [r4, 0x8] adds r0, 0x1 movs r1, 0 @@ -16916,7 +16916,7 @@ _0805A54E: lsrs r1, 24 mov r0, sp movs r2, 0xF - bl Print + bl MenuPrint ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -16985,7 +16985,7 @@ sub_805A5CC: @ 805A5CC ldr r0, _0805A5F0 movs r1, 0x4 movs r2, 0x11 - bl Print + bl MenuPrint ldrh r0, [r4, 0x8] adds r0, 0x1 movs r1, 0 @@ -17108,7 +17108,7 @@ sub_805A6B4: @ 805A6B4 bl sub_805A954 ldr r0, _0805A6D8 bl sub_8072044 - bl sub_8071FFC + bl MenuDisplayMessageBox ldrh r0, [r4, 0x8] adds r0, 0x1 movs r1, 0 @@ -17137,7 +17137,7 @@ sub_805A6DC: @ 805A6DC ldrsh r6, [r5, r0] cmp r6, 0 bne _0805A780 - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _0805A778 @@ -17186,7 +17186,7 @@ _0805A746: lsls r0, 2 adds r0, r2 strh r6, [r0, 0x26] - bl sub_8071EF4 + bl MenuZeroFillScreen ldrh r0, [r5, 0xA] adds r0, 0x1 strh r0, [r5, 0xA] @@ -17304,7 +17304,7 @@ fishD: @ 805A858 push {r4,lr} adds r4, r0, 0 bl sub_805A954 - bl sub_8071FFC + bl MenuDisplayMessageBox ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -17396,7 +17396,7 @@ _0805A910: .4byte 0x030048a0 thumb_func_start fishF fishF: @ 805A914 push {lr} - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _0805A946 @@ -17405,7 +17405,7 @@ fishF: @ 805A914 strb r0, [r1, 0x6] bl script_env_2_disable bl sub_806451C - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0 bl sub_80BE97C ldr r0, _0805A950 @@ -40006,7 +40006,7 @@ sub_8064A74: @ 8064A74 strb r0, [r1] ldr r0, _08064A94 ldrh r0, [r0] - bl sub_80651C8 + bl SetMessageBoxBaseTileNum ldr r0, _08064A98 ldr r1, _08064A9C bl InitWindowFromConfig @@ -40046,13 +40046,13 @@ _08064AC8: b _08064B28 _08064ACE: ldr r0, _08064AD8 - bl sub_8065348 + bl LoadMessageBoxTiles b _08064AE2 .align 2, 0 _08064AD8: .4byte 0x0202e87c _08064ADC: ldr r0, _08064AEC - bl draw_win + bl DrawStandardMessageBox _08064AE2: ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -40306,7 +40306,7 @@ unref_sub_8064CA0: @ 8064CA0 push {lr} bl task_del_textbox ldr r0, _08064CB8 - bl draw_win + bl DrawStandardMessageBox ldr r1, _08064CBC movs r0, 0 strb r0, [r1] @@ -40611,30691 +40611,4 @@ _08064EEC: .4byte 0x03004ae0 _08064EF0: .4byte 0x030048a0 thumb_func_end sub_8064ED4 - thumb_func_start sub_8064EF4 -sub_8064EF4: @ 8064EF4 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08064F04 - strh r0, [r1] - adds r0, 0x9 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_08064F04: .4byte 0x030005ac - thumb_func_end sub_8064EF4 - - thumb_func_start sub_8064F08 -sub_8064F08: @ 8064F08 - push {r4,lr} - ldr r1, [r0, 0x2C] - ldr r0, _08064F30 - ldrh r0, [r0] - lsls r0, 5 - ldr r1, [r1, 0x10] - adds r1, r0 - ldr r4, _08064F34 - ldrb r0, [r4, 0x14] - lsrs r0, 3 - bl sub_8064FF8 - ldrb r0, [r4, 0x14] - lsrs r0, 3 - movs r1, 0xE - bl sub_8065014 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08064F30: .4byte 0x030005ac -_08064F34: .4byte gSaveBlock2 - thumb_func_end sub_8064F08 - - thumb_func_start sub_8064F38 -sub_8064F38: @ 8064F38 - push {r4,r5,lr} - lsls r5, r1, 24 - lsrs r5, 24 - ldr r1, [r0, 0x2C] - ldr r0, _08064F64 - ldrh r0, [r0] - lsls r0, 5 - ldr r1, [r1, 0x10] - adds r1, r0 - ldr r4, _08064F68 - ldrb r0, [r4, 0x14] - lsrs r0, 3 - bl sub_8064FF8 - ldrb r0, [r4, 0x14] - lsrs r0, 3 - adds r1, r5, 0 - bl sub_8065014 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08064F64: .4byte 0x030005ac -_08064F68: .4byte gSaveBlock2 - thumb_func_end sub_8064F38 - - thumb_func_start sub_8064F6C -sub_8064F6C: @ 8064F6C - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - ldr r1, [r0, 0x2C] - ldr r0, _08064F94 - ldrh r0, [r0] - lsls r0, 5 - ldr r1, [r1, 0x10] - adds r1, r0 - adds r0, r4, 0 - bl sub_8064FF8 - adds r0, r4, 0 - movs r1, 0xE - bl sub_8065014 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08064F94: .4byte 0x030005ac - thumb_func_end sub_8064F6C - - thumb_func_start AddTextPrinterParametrized -AddTextPrinterParametrized: @ 8064F98 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r2, [sp, 0x14] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, [r0, 0x2C] - ldr r0, [r0, 0x14] - ldr r1, _08064FD0 - ldrh r1, [r1] - str r3, [sp] - str r2, [sp, 0x4] - adds r2, r4, 0 - adds r3, r5, 0 - bl DrawWindowInternal - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08064FD0: .4byte 0x030005ac - thumb_func_end AddTextPrinterParametrized - - thumb_func_start sub_8064FD4 -sub_8064FD4: @ 8064FD4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _08064FEC - lsls r0, 3 - ldr r1, _08064FE8 - adds r0, r1 - b _08064FEE - .align 2, 0 -_08064FE8: .4byte gUnknown_083761F0 -_08064FEC: - ldr r0, _08064FF4 -_08064FEE: - pop {r1} - bx r1 - .align 2, 0 -_08064FF4: .4byte gUnknown_083761F0 - thumb_func_end sub_8064FD4 - - thumb_func_start sub_8064FF8 -sub_8064FF8: @ 8064FF8 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl sub_8064FD4 - ldr r0, [r0] - adds r1, r4, 0 - movs r2, 0x48 - bl CpuFastSet - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8064FF8 - - thumb_func_start sub_8065014 -sub_8065014: @ 8065014 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_8064FD4 - ldr r0, [r0, 0x4] - lsls r4, 4 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8065014 - - thumb_func_start DrawWindowInternal -DrawWindowInternal: @ 8065038 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r7, r0, 0 - ldr r0, [sp, 0x3C] - ldr r4, [sp, 0x40] - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - adds r6, r2, 0 - lsls r3, 24 - lsrs r5, r3, 24 - mov r10, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - adds r1, r0, 0 - cmp r0, r2 - bls _0806506E - adds r1, r2, 0 -_0806506E: - str r1, [sp] - adds r1, r6, 0 - cmp r6, r0 - bcs _08065078 - adds r1, r0, 0 -_08065078: - adds r6, r1, 0 - adds r3, r4, 0 - cmp r4, r5 - bls _08065082 - adds r3, r5, 0 -_08065082: - adds r5, r3, 0 - mov r0, r10 - cmp r10, r8 - bcs _0806508C - mov r0, r8 -_0806508C: - str r0, [sp, 0x4] - lsls r3, r5, 5 - ldr r0, [sp] - adds r1, r3, r0 - lsls r1, 1 - adds r1, r7 - movs r4, 0xE0 - lsls r4, 8 - adds r2, r4, 0 - mov r0, r9 - orrs r0, r2 - strh r0, [r1] - ldr r1, [sp] - adds r1, 0x1 - lsls r0, r1, 24 - lsrs r2, r0, 24 - str r1, [sp, 0x18] - mov r4, r9 - adds r4, 0x2 - adds r5, 0x1 - mov r8, r5 - mov r5, r9 - adds r5, 0x6 - str r5, [sp, 0x10] - mov r0, r9 - adds r0, 0x8 - str r0, [sp, 0x14] - cmp r2, r6 - bcs _080650E6 - mov r10, r3 - mov r1, r9 - adds r1, 0x1 - ldr r5, _080651C4 - adds r0, r5, 0 - orrs r1, r0 -_080650D2: - mov r5, r10 - adds r0, r5, r2 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r6 - bcc _080650D2 -_080650E6: - adds r0, r3, r6 - lsls r0, 1 - adds r0, r7 - ldr r2, _080651C4 - adds r1, r2, 0 - orrs r4, r1 - strh r4, [r0] - mov r4, r8 - lsls r0, r4, 24 - lsrs r3, r0, 24 - ldr r5, [sp, 0x4] - lsls r5, 5 - mov r10, r5 - ldr r0, [sp, 0x4] - cmp r3, r0 - bcs _0806516A - movs r2, 0x3 - add r2, r9 - orrs r2, r1 - mov r8, r2 - ldr r4, [sp, 0x18] - lsls r4, 24 - str r4, [sp, 0x8] - movs r5, 0x5 - add r5, r9 - orrs r5, r1 - mov r12, r5 - mov r0, r9 - adds r0, 0x4 - str r0, [sp, 0xC] -_08065122: - lsls r1, r3, 5 - ldr r2, [sp] - adds r0, r1, r2 - lsls r0, 1 - adds r0, r7 - mov r4, r8 - strh r4, [r0] - ldr r5, [sp, 0x8] - lsrs r2, r5, 24 - adds r5, r1, 0 - adds r3, 0x1 - cmp r2, r6 - bcs _08065156 - ldr r4, _080651C4 - adds r0, r4, 0 - ldr r4, [sp, 0xC] - orrs r4, r0 -_08065144: - adds r0, r1, r2 - lsls r0, 1 - adds r0, r7 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r6 - bcc _08065144 -_08065156: - adds r0, r5, r6 - lsls r0, 1 - adds r0, r7 - mov r5, r12 - strh r5, [r0] - lsls r0, r3, 24 - lsrs r3, r0, 24 - ldr r0, [sp, 0x4] - cmp r3, r0 - bcc _08065122 -_0806516A: - ldr r0, [sp] - add r0, r10 - lsls r0, 1 - adds r0, r7 - ldr r1, _080651C4 - adds r4, r1, 0 - ldr r2, [sp, 0x10] - orrs r2, r4 - strh r2, [r0] - ldr r1, [sp, 0x18] - lsls r0, r1, 24 - lsrs r2, r0, 24 - cmp r2, r6 - bcs _080651A0 - mov r3, r10 - mov r1, r9 - adds r1, 0x7 - orrs r1, r4 -_0806518E: - adds r0, r3, r2 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r6 - bcc _0806518E -_080651A0: - mov r2, r10 - adds r0, r2, r6 - lsls r0, 1 - adds r0, r7 - ldr r4, _080651C4 - adds r1, r4, 0 - ldr r5, [sp, 0x14] - orrs r5, r1 - strh r5, [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 -_080651C4: .4byte 0xffffe000 - thumb_func_end DrawWindowInternal - - thumb_func_start sub_80651C8 -sub_80651C8: @ 80651C8 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080651D8 - strh r0, [r1] - adds r0, 0xE - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_080651D8: .4byte 0x030005ae - thumb_func_end sub_80651C8 - - thumb_func_start unref_sub_80651DC -unref_sub_80651DC: @ 80651DC - push {lr} - sub sp, 0x4 - ldr r2, _080651FC - ldrh r2, [r2] - adds r2, 0xE - lsls r2, 16 - lsrs r2, 16 - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080651FC: .4byte 0x030005ae - thumb_func_end unref_sub_80651DC - - thumb_func_start copy_textbox_border_tile_patterns_to_vram -copy_textbox_border_tile_patterns_to_vram: @ 8065200 - push {r4,lr} - adds r4, r0, 0 - bl sub_8065348 - adds r0, r4, 0 - bl draw_win - pop {r4} - pop {r0} - bx r0 - thumb_func_end copy_textbox_border_tile_patterns_to_vram - - thumb_func_start draw_win_3 -draw_win_3: @ 8065214 - push {r4-r6,lr} - ldr r4, [sp, 0x10] - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r0, r4, 24 - movs r1, 0x9 - cmp r2, r0 - bcc _0806523C - subs r0, r2, r0 - adds r0, 0x3 - lsls r0, 24 - lsrs r2, r0, 24 - b _08065242 -_0806523C: - cmp r2, 0x1 - bls _08065242 - movs r2, 0x2 -_08065242: - adds r0, r3, 0x2 - cmp r5, r0 - blt _08065252 - subs r0, r5, r0 - adds r0, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - b _08065258 -_08065252: - cmp r5, 0x2 - bls _08065258 - movs r5, 0x3 -_08065258: - cmp r5, 0x6 - bhi _0806526E - cmp r2, 0x4 - bhi _0806526E - ldr r1, _0806527C - lsls r0, r2, 3 - subs r0, r2 - adds r0, r5 - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] -_0806526E: - adds r0, r1, r6 - lsls r0, 16 - lsrs r1, r0, 16 - adds r0, r1, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806527C: .4byte gUnknown_08376290 - thumb_func_end draw_win_3 - - thumb_func_start draw_win_2 -draw_win_2: @ 8065280 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - str r0, [sp, 0x4] - ldr r0, [sp, 0x3C] - lsls r1, 24 - lsrs r1, 24 - 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 - mov r9, r0 - ldr r1, [sp, 0x4] - ldrb r0, [r1, 0x6] - lsls r0, 12 - ldr r1, _0806532C - ldrh r1, [r1] - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] - ldr r3, [sp, 0x4] - ldr r0, [r3, 0x2C] - ldr r0, [r0, 0x14] - mov r10, r0 - movs r5, 0 - mov r0, r9 - adds r0, 0x2 - cmp r5, r0 - bge _0806531C - ldr r7, [sp, 0x10] - adds r7, 0x6 - str r0, [sp, 0x18] -_080652D2: - movs r4, 0 - adds r0, r5, 0x1 - mov r8, r0 - cmp r4, r7 - bge _08065310 - ldr r1, [sp, 0xC] - adds r0, r1, r5 - lsls r6, r0, 5 -_080652E2: - mov r3, r9 - str r3, [sp] - ldr r0, [sp, 0x14] - adds r1, r4, 0 - adds r2, r5, 0 - ldr r3, [sp, 0x10] - bl draw_win_3 - ldr r1, [sp, 0x8] - adds r2, r1, r4 - adds r2, r6, r2 - lsls r2, 1 - add r2, r10 - ldr r3, [sp, 0x4] - ldrb r1, [r3, 0x6] - lsls r1, 12 - orrs r1, r0 - strh r1, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - blt _080652E2 -_08065310: - mov r1, r8 - lsls r0, r1, 24 - lsrs r5, r0, 24 - ldr r3, [sp, 0x18] - cmp r5, r3 - blt _080652D2 -_0806531C: - 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 -_0806532C: .4byte 0x030005ae - thumb_func_end draw_win_2 - - thumb_func_start draw_win -draw_win: @ 8065330 - push {lr} - sub sp, 0x4 - movs r1, 0x4 - str r1, [sp] - movs r1, 0 - movs r2, 0xE - movs r3, 0x1A - bl draw_win_2 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end draw_win - - thumb_func_start sub_8065348 -sub_8065348: @ 8065348 - push {lr} - ldr r0, [r0, 0x2C] - ldr r1, [r0, 0x10] - ldr r0, _08065364 - ldr r2, _08065368 - ldrh r2, [r2] - lsls r2, 5 - adds r1, r2 - movs r2, 0x70 - bl CpuFastSet - pop {r0} - bx r0 - .align 2, 0 -_08065364: .4byte gUnknown_08EA0108 -_08065368: .4byte 0x030005ae - thumb_func_end sub_8065348 - - thumb_func_start sub_806536C -sub_806536C: @ 806536C - push {lr} - ldr r1, [r0, 0x2C] - ldr r1, [r1, 0x14] - movs r2, 0xE0 - lsls r2, 2 - adds r1, r2 - ldrb r0, [r0, 0x6] - lsls r0, 28 - lsrs r3, r0, 16 - movs r2, 0 -_08065380: - lsls r0, r2, 1 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xBF - bls _08065380 - pop {r0} - bx r0 - thumb_func_end sub_806536C - - thumb_func_start script_env_init -script_env_init: @ 8065394 - push {lr} - adds r3, r0, 0 - movs r0, 0 - strb r0, [r3, 0x1] - str r0, [r3, 0x8] - strb r0, [r3] - str r0, [r3, 0x4] - str r1, [r3, 0x5C] - str r2, [r3, 0x60] - movs r2, 0 - movs r1, 0x3 - adds r0, r3, 0 - adds r0, 0x70 -_080653AE: - str r2, [r0] - subs r0, 0x4 - subs r1, 0x1 - cmp r1, 0 - bge _080653AE - adds r1, r3, 0 - adds r1, 0xC - movs r2, 0 - adds r0, r3, 0 - adds r0, 0x58 -_080653C2: - str r2, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _080653C2 - pop {r0} - bx r0 - thumb_func_end script_env_init - - thumb_func_start script_setup_bytecode_script -script_setup_bytecode_script: @ 80653D0 - str r1, [r0, 0x8] - movs r1, 0x1 - strb r1, [r0, 0x1] - movs r0, 0x1 - bx lr - thumb_func_end script_setup_bytecode_script - - thumb_func_start script_setup_asm_script -script_setup_asm_script: @ 80653DC - movs r2, 0x2 - strb r2, [r0, 0x1] - str r1, [r0, 0x4] - bx lr - thumb_func_end script_setup_asm_script - - thumb_func_start script_stop -script_stop: @ 80653E4 - movs r1, 0 - strb r1, [r0, 0x1] - str r1, [r0, 0x8] - bx lr - thumb_func_end script_stop - - thumb_func_start sub_80653EC -sub_80653EC: @ 80653EC - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _080653FA -_080653F6: - movs r0, 0 - b _0806546C -_080653FA: - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - beq _08065432 - cmp r0, 0x1 - bgt _0806540A - cmp r0, 0 - beq _080653F6 - b _0806546A -_0806540A: - cmp r0, 0x2 - bne _0806546A - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _0806542E - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806546A - strb r0, [r4, 0x1] - b _0806546A -_08065424: - strb r2, [r4, 0x1] - b _080653F6 -_08065428: - movs r0, 0 - strb r0, [r4, 0x1] - b _0806546C -_0806542E: - movs r0, 0x1 - strb r0, [r4, 0x1] -_08065432: - ldr r2, [r4, 0x8] - cmp r2, 0 - beq _08065424 - ldr r0, _08065444 - ldr r0, [r0] - cmp r2, r0 - bne _08065448 -_08065440: - swi 0x2 - b _08065440 - .align 2, 0 -_08065444: .4byte gUnknown_083762D8 -_08065448: - ldrb r1, [r2] - adds r0, r2, 0x1 - str r0, [r4, 0x8] - lsls r1, 2 - ldr r0, [r4, 0x5C] - adds r1, r0, r1 - ldr r0, [r4, 0x60] - cmp r1, r0 - bcs _08065428 - ldr r1, [r1] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08065432 -_0806546A: - movs r0, 0x1 -_0806546C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80653EC - - thumb_func_start script_stack_push -script_stack_push: @ 8065474 - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r1, [r2] - adds r0, r1, 0x1 - cmp r0, 0x13 - bgt _08065496 - lsls r0, r1, 2 - adds r1, r2, 0 - adds r1, 0xC - adds r1, r0 - str r3, [r1] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r0, 0 - b _08065498 -_08065496: - movs r0, 0x1 -_08065498: - pop {r1} - bx r1 - thumb_func_end script_stack_push - - thumb_func_start script_stack_pop -script_stack_pop: @ 806549C - push {lr} - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0 - beq _080654B8 - subs r0, 0x1 - strb r0, [r2] - ldrb r1, [r2] - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1 - ldr r0, [r0] - b _080654BA -_080654B8: - movs r0, 0 -_080654BA: - pop {r1} - bx r1 - thumb_func_end script_stack_pop - - thumb_func_start script_jump -script_jump: @ 80654C0 - str r1, [r0, 0x8] - bx lr - thumb_func_end script_jump - - thumb_func_start script_call -script_call: @ 80654C4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, [r4, 0x8] - bl script_stack_push - str r5, [r4, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end script_call - - thumb_func_start script_return -script_return: @ 80654D8 - push {r4,lr} - adds r4, r0, 0 - bl script_stack_pop - str r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end script_return - - thumb_func_start script_read_halfword -script_read_halfword: @ 80654E8 - adds r3, r0, 0 - ldr r2, [r3, 0x8] - ldrb r0, [r2] - adds r2, 0x1 - str r2, [r3, 0x8] - ldrb r1, [r2] - lsls r1, 8 - orrs r0, r1 - adds r2, 0x1 - str r2, [r3, 0x8] - bx lr - thumb_func_end script_read_halfword - - thumb_func_start script_read_word -script_read_word: @ 8065500 - push {r4-r6,lr} - adds r3, r0, 0 - ldr r0, [r3, 0x8] - ldrb r6, [r0] - adds r0, 0x1 - str r0, [r3, 0x8] - ldrb r5, [r0] - adds r2, r0, 0x1 - str r2, [r3, 0x8] - ldrb r4, [r0, 0x1] - adds r1, r2, 0x1 - str r1, [r3, 0x8] - ldrb r0, [r2, 0x1] - adds r1, 0x1 - str r1, [r3, 0x8] - lsls r0, 8 - adds r0, r4 - lsls r0, 8 - adds r0, r5 - lsls r0, 8 - adds r0, r6 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end script_read_word - - thumb_func_start script_env_2_enable -script_env_2_enable: @ 8065530 - ldr r1, _08065538 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_08065538: .4byte 0x030006a4 - thumb_func_end script_env_2_enable - - thumb_func_start script_env_2_disable -script_env_2_disable: @ 806553C - ldr r1, _08065544 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08065544: .4byte 0x030006a4 - thumb_func_end script_env_2_disable - - thumb_func_start script_env_2_is_enabled -script_env_2_is_enabled: @ 8065548 - ldr r0, _08065550 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08065550: .4byte 0x030006a4 - thumb_func_end script_env_2_is_enabled - - thumb_func_start script_env_1_init -script_env_1_init: @ 8065554 - push {lr} - ldr r0, _0806556C - ldr r1, _08065570 - ldr r2, _08065574 - bl script_env_init - ldr r1, _08065578 - movs r0, 0x2 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0806556C: .4byte 0x030005b8 -_08065570: .4byte gScriptCmdTable -_08065574: .4byte gScriptCmdTableEnd -_08065578: .4byte 0x030005b0 - thumb_func_end script_env_1_init - - thumb_func_start script_env_2_run_current_script -script_env_2_run_current_script: @ 806557C - push {r4,lr} - ldr r4, _080655A0 - ldrb r0, [r4] - cmp r0, 0x2 - beq _080655B0 - cmp r0, 0x1 - beq _080655B0 - bl script_env_2_enable - ldr r0, _080655A4 - bl sub_80653EC - lsls r0, 24 - cmp r0, 0 - beq _080655A8 - movs r0, 0x1 - b _080655B2 - .align 2, 0 -_080655A0: .4byte 0x030005b0 -_080655A4: .4byte 0x030005b8 -_080655A8: - movs r0, 0x2 - strb r0, [r4] - bl script_env_2_disable -_080655B0: - movs r0, 0 -_080655B2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end script_env_2_run_current_script - - thumb_func_start script_env_1_execute_new_script -script_env_1_execute_new_script: @ 80655B8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080655E0 - ldr r1, _080655E4 - ldr r2, _080655E8 - adds r0, r4, 0 - bl script_env_init - adds r0, r4, 0 - adds r1, r5, 0 - bl script_setup_bytecode_script - bl script_env_2_enable - ldr r1, _080655EC - movs r0, 0 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080655E0: .4byte 0x030005b8 -_080655E4: .4byte gScriptCmdTable -_080655E8: .4byte gScriptCmdTableEnd -_080655EC: .4byte 0x030005b0 - thumb_func_end script_env_1_execute_new_script - - thumb_func_start sub_80655F0 -sub_80655F0: @ 80655F0 - ldr r1, _080655F8 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080655F8: .4byte 0x030005b0 - thumb_func_end sub_80655F0 - - thumb_func_start script_env_2_enable_and_set_ctx_running -script_env_2_enable_and_set_ctx_running: @ 80655FC - push {lr} - ldr r1, _0806560C - movs r0, 0 - strb r0, [r1] - bl script_env_2_enable - pop {r0} - bx r0 - .align 2, 0 -_0806560C: .4byte 0x030005b0 - thumb_func_end script_env_2_enable_and_set_ctx_running - - thumb_func_start script_env_2_execute_new_script -script_env_2_execute_new_script: @ 8065610 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0806563C - ldr r1, _08065640 - ldr r2, _08065644 - adds r0, r4, 0 - bl script_env_init - adds r0, r4, 0 - adds r1, r5, 0 - bl script_setup_bytecode_script -_08065628: - ldr r0, _0806563C - bl sub_80653EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08065628 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806563C: .4byte 0x03000630 -_08065640: .4byte gScriptCmdTable -_08065644: .4byte gScriptCmdTableEnd - thumb_func_end script_env_2_execute_new_script - - thumb_func_start mapheader_get_tagged_pointer -mapheader_get_tagged_pointer: @ 8065648 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08065660 - ldr r2, [r0, 0x8] - cmp r2, 0 - beq _0806565C -_08065656: - ldrb r0, [r2] - cmp r0, 0 - bne _08065664 -_0806565C: - movs r0, 0 - b _08065682 - .align 2, 0 -_08065660: .4byte 0x0202e828 -_08065664: - cmp r0, r1 - beq _0806566C - adds r2, 0x5 - b _08065656 -_0806566C: - adds r2, 0x1 - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - adds r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - adds r0, r1 -_08065682: - pop {r1} - bx r1 - thumb_func_end mapheader_get_tagged_pointer - - thumb_func_start mapheader_run_script_by_tag -mapheader_run_script_by_tag: @ 8065688 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl mapheader_get_tagged_pointer - cmp r0, 0 - beq _0806569A - bl script_env_2_execute_new_script -_0806569A: - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_by_tag - - thumb_func_start mapheader_get_first_match_from_tagged_ptr_list -mapheader_get_first_match_from_tagged_ptr_list: @ 80656A0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - bl mapheader_get_tagged_pointer - adds r6, r0, 0 - cmp r6, 0 - beq _080656BC -_080656B0: - ldrb r1, [r6] - ldrb r0, [r6, 0x1] - lsls r0, 8 - orrs r1, r0 - cmp r1, 0 - bne _080656C0 -_080656BC: - movs r0, 0 - b _080656FA -_080656C0: - adds r6, 0x2 - ldrb r5, [r6] - ldrb r0, [r6, 0x1] - lsls r0, 8 - orrs r5, r0 - adds r6, 0x2 - adds r0, r1, 0 - bl VarGet - adds r4, r0, 0 - adds r0, r5, 0 - bl VarGet - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - beq _080656E6 - adds r6, 0x4 - b _080656B0 -_080656E6: - ldrb r0, [r6] - ldrb r1, [r6, 0x1] - lsls r1, 8 - adds r0, r1 - ldrb r1, [r6, 0x2] - lsls r1, 16 - adds r0, r1 - ldrb r1, [r6, 0x3] - lsls r1, 24 - adds r0, r1 -_080656FA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end mapheader_get_first_match_from_tagged_ptr_list - - thumb_func_start mapheader_run_script_with_tag_x1 -mapheader_run_script_with_tag_x1: @ 8065700 - push {lr} - movs r0, 0x1 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x1 - - thumb_func_start mapheader_run_script_with_tag_x3 -mapheader_run_script_with_tag_x3: @ 806570C - push {lr} - movs r0, 0x3 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x3 - - thumb_func_start mapheader_run_script_with_tag_x5 -mapheader_run_script_with_tag_x5: @ 8065718 - push {lr} - movs r0, 0x5 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x5 - - thumb_func_start mapheader_run_script_with_tag_x6 -mapheader_run_script_with_tag_x6: @ 8065724 - push {lr} - movs r0, 0x6 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x6 - - thumb_func_start mapheader_run_first_tag2_script_list_match -mapheader_run_first_tag2_script_list_match: @ 8065730 - push {lr} - movs r0, 0x2 - bl mapheader_get_first_match_from_tagged_ptr_list - cmp r0, 0 - beq _08065744 - bl script_env_1_execute_new_script - movs r0, 0x1 - b _08065746 -_08065744: - movs r0, 0 -_08065746: - pop {r1} - bx r1 - thumb_func_end mapheader_run_first_tag2_script_list_match - - thumb_func_start mapheader_run_first_tag4_script_list_match -mapheader_run_first_tag4_script_list_match: @ 806574C - push {lr} - movs r0, 0x4 - bl mapheader_get_first_match_from_tagged_ptr_list - cmp r0, 0 - beq _0806575C - bl script_env_2_execute_new_script -_0806575C: - pop {r0} - bx r0 - thumb_func_end mapheader_run_first_tag4_script_list_match - - thumb_func_start sub_8065760 -sub_8065760: @ 8065760 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldr r4, _08065780 - ldr r3, _08065784 -_0806576A: - adds r0, r1, r3 - ldrb r0, [r0] - adds r2, r0 - adds r1, 0x1 - cmp r1, r4 - bls _0806576A - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08065780: .4byte 0x000003e7 -_08065784: .4byte 0x02028dc8 - thumb_func_end sub_8065760 - - thumb_func_start killram -killram: @ 8065788 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, _080657A0 - ldr r2, _080657A4 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080657A0: .4byte 0x02028dc4 -_080657A4: .4byte 0x050000fb - thumb_func_end killram - - thumb_func_start sub_80657A8 -sub_80657A8: @ 80657A8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - ldr r0, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080657F4 - bl killram - ldr r0, _080657F8 - cmp r8, r0 - bhi _080657FC - movs r0, 0x33 - strb r0, [r4] - strb r7, [r4, 0x1] - strb r6, [r4, 0x2] - strb r5, [r4, 0x3] - adds r0, r4, 0x4 - mov r1, r9 - mov r2, r8 - bl memcpy - bl sub_8065760 - subs r1, r4, 0x4 - str r0, [r1] - movs r0, 0x1 - b _080657FE - .align 2, 0 -_080657F4: .4byte 0x02028dc8 -_080657F8: .4byte 0x000003e3 -_080657FC: - movs r0, 0 -_080657FE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80657A8 - - thumb_func_start sub_806580C -sub_806580C: @ 806580C - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r4, _08065854 - ldr r6, _08065858 - movs r0, 0 - str r0, [r6] - ldrb r0, [r4] - cmp r0, 0x33 - bne _08065864 - ldrb r1, [r4, 0x1] - ldr r0, _0806585C - adds r2, r4, r0 - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _08065864 - ldrb r1, [r4, 0x2] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _08065864 - ldrb r0, [r4, 0x3] - cmp r0, r3 - bne _08065864 - bl sub_8065760 - subs r1, r4, 0x4 - ldr r1, [r1] - cmp r0, r1 - bne _08065860 - str r5, [r6] - adds r0, r4, 0x4 - b _08065866 - .align 2, 0 -_08065854: .4byte 0x02028dc8 -_08065858: .4byte 0x0202e8ac -_0806585C: .4byte 0xffffc96c -_08065860: - bl killram -_08065864: - adds r0, r5, 0 -_08065866: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_806580C - - thumb_func_start s00_nop -s00_nop: @ 806586C - movs r0, 0 - bx lr - thumb_func_end s00_nop - - thumb_func_start sub_8065870 -sub_8065870: @ 8065870 - movs r0, 0 - bx lr - thumb_func_end sub_8065870 - - thumb_func_start s02_end -s02_end: @ 8065874 - push {lr} - bl script_stop - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s02_end - - thumb_func_start s24_execute_ASM_2 -s24_execute_ASM_2: @ 8065880 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r1, r0, 0 - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s24_execute_ASM_2 - - thumb_func_start sub_8065898 -sub_8065898: @ 8065898 - push {lr} - bl script_read_halfword - lsls r0, 16 - ldr r1, _080658B4 - lsrs r0, 14 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080658B4: .4byte gSpecials - thumb_func_end sub_8065898 - - thumb_func_start sub_80658B8 -sub_80658B8: @ 80658B8 - push {r4-r6,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r6, r0, 0 - ldr r4, _080658E8 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - strh r0, [r6] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080658E8: .4byte gSpecials - thumb_func_end sub_80658B8 - - thumb_func_start sub_80658EC -sub_80658EC: @ 80658EC - push {lr} - bl script_read_word - bl _call_via_r0 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80658EC - - thumb_func_start sub_80658FC -sub_80658FC: @ 80658FC - push {lr} - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80658FC - - thumb_func_start s05_goto -s05_goto: @ 8065908 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r1, r0, 0 - adds r0, r4, 0 - bl script_jump - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s05_goto - - thumb_func_start s03_return -s03_return: @ 8065920 - push {lr} - bl script_return - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s03_return - - thumb_func_start s04_call -s04_call: @ 806592C - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r1, r0, 0 - adds r0, r4, 0 - bl script_call - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s04_call - - thumb_func_start s06_if_jump -s06_if_jump: @ 8065944 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r4, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - adds r0, r5, 0 - bl script_read_word - adds r2, r0, 0 - ldr r1, _0806597C - lsls r0, r4, 1 - adds r0, r4 - ldrb r3, [r5, 0x2] - adds r0, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08065972 - adds r0, r5, 0 - adds r1, r2, 0 - bl script_jump -_08065972: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806597C: .4byte gUnknown_083762DC - thumb_func_end s06_if_jump - - thumb_func_start s07_if_call -s07_if_call: @ 8065980 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r4, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - adds r0, r5, 0 - bl script_read_word - adds r2, r0, 0 - ldr r1, _080659B8 - lsls r0, r4, 1 - adds r0, r4 - ldrb r3, [r5, 0x2] - adds r0, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080659AE - adds r0, r5, 0 - adds r1, r2, 0 - bl script_call -_080659AE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080659B8: .4byte gUnknown_083762DC - thumb_func_end s07_if_call - - thumb_func_start sB8_set_virtual_address -sB8_set_virtual_address: @ 80659BC - push {r4,lr} - ldr r4, [r0, 0x8] - subs r4, 0x1 - bl script_read_word - ldr r1, _080659D4 - subs r0, r4 - str r0, [r1] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080659D4: .4byte 0x0202e8b0 - thumb_func_end sB8_set_virtual_address - - thumb_func_start sB9_virtual_jump -sB9_virtual_jump: @ 80659D8 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r1, r0, 0 - ldr r0, _080659F8 - ldr r0, [r0] - subs r1, r0 - adds r0, r4, 0 - bl script_jump - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080659F8: .4byte 0x0202e8b0 - thumb_func_end sB9_virtual_jump - - thumb_func_start sBA_virtual_call -sBA_virtual_call: @ 80659FC - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r1, r0, 0 - ldr r0, _08065A1C - ldr r0, [r0] - subs r1, r0 - adds r0, r4, 0 - bl script_call - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08065A1C: .4byte 0x0202e8b0 - thumb_func_end sBA_virtual_call - - thumb_func_start sBB_virtual_if_jump -sBB_virtual_if_jump: @ 8065A20 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r4, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - adds r0, r5, 0 - bl script_read_word - ldr r1, _08065A5C - ldr r1, [r1] - subs r2, r0, r1 - ldr r1, _08065A60 - lsls r0, r4, 1 - adds r0, r4 - ldrb r3, [r5, 0x2] - adds r0, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08065A52 - adds r0, r5, 0 - adds r1, r2, 0 - bl script_jump -_08065A52: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08065A5C: .4byte 0x0202e8b0 -_08065A60: .4byte gUnknown_083762DC - thumb_func_end sBB_virtual_if_jump - - thumb_func_start sBC_virtual_if_call -sBC_virtual_if_call: @ 8065A64 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r4, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - adds r0, r5, 0 - bl script_read_word - ldr r1, _08065AA0 - ldr r1, [r1] - subs r2, r0, r1 - ldr r1, _08065AA4 - lsls r0, r4, 1 - adds r0, r4 - ldrb r3, [r5, 0x2] - adds r0, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08065A96 - adds r0, r5, 0 - adds r1, r2, 0 - bl script_call -_08065A96: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08065AA0: .4byte 0x0202e8b0 -_08065AA4: .4byte gUnknown_083762DC - thumb_func_end sBC_virtual_if_call - - thumb_func_start s08_jumpstd -s08_jumpstd: @ 8065AA8 - push {lr} - adds r2, r0, 0 - ldr r0, [r2, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r2, 0x8] - lsls r1, 2 - ldr r0, _08065AD0 - adds r1, r0 - ldr r0, _08065AD4 - cmp r1, r0 - bcs _08065AC8 - ldr r1, [r1] - adds r0, r2, 0 - bl script_jump -_08065AC8: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08065AD0: .4byte gStdScripts -_08065AD4: .4byte gStdScripts_End - thumb_func_end s08_jumpstd - - thumb_func_start s09_callstd -s09_callstd: @ 8065AD8 - push {lr} - adds r2, r0, 0 - ldr r0, [r2, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r2, 0x8] - lsls r1, 2 - ldr r0, _08065B00 - adds r1, r0 - ldr r0, _08065B04 - cmp r1, r0 - bcs _08065AF8 - ldr r1, [r1] - adds r0, r2, 0 - bl script_call -_08065AF8: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08065B00: .4byte gStdScripts -_08065B04: .4byte gStdScripts_End - thumb_func_end s09_callstd - - thumb_func_start s0A_jumpstd_if -s0A_jumpstd_if: @ 8065B08 - push {r4,lr} - adds r3, r0, 0 - ldr r0, [r3, 0x8] - ldrb r2, [r0] - adds r0, 0x1 - str r0, [r3, 0x8] - ldrb r4, [r0] - adds r0, 0x1 - str r0, [r3, 0x8] - ldr r1, _08065B48 - lsls r0, r2, 1 - adds r0, r2 - ldrb r2, [r3, 0x2] - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08065B40 - lsls r0, r4, 2 - ldr r1, _08065B4C - adds r1, r0, r1 - ldr r0, _08065B50 - cmp r1, r0 - bcs _08065B40 - ldr r1, [r1] - adds r0, r3, 0 - bl script_jump -_08065B40: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08065B48: .4byte gUnknown_083762DC -_08065B4C: .4byte gStdScripts -_08065B50: .4byte gStdScripts_End - thumb_func_end s0A_jumpstd_if - - thumb_func_start s0B_callstd_if -s0B_callstd_if: @ 8065B54 - push {r4,lr} - adds r3, r0, 0 - ldr r0, [r3, 0x8] - ldrb r2, [r0] - adds r0, 0x1 - str r0, [r3, 0x8] - ldrb r4, [r0] - adds r0, 0x1 - str r0, [r3, 0x8] - ldr r1, _08065B94 - lsls r0, r2, 1 - adds r0, r2 - ldrb r2, [r3, 0x2] - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08065B8C - lsls r0, r4, 2 - ldr r1, _08065B98 - adds r1, r0, r1 - ldr r0, _08065B9C - cmp r1, r0 - bcs _08065B8C - ldr r1, [r1] - adds r0, r3, 0 - bl script_call -_08065B8C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08065B94: .4byte gUnknown_083762DC -_08065B98: .4byte gStdScripts -_08065B9C: .4byte gStdScripts_End - thumb_func_end s0B_callstd_if - - thumb_func_start s0C_restore_execution_after_sCF -s0C_restore_execution_after_sCF: @ 8065BA0 - push {lr} - ldr r1, _08065BB0 - ldr r1, [r1] - bl script_jump - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08065BB0: .4byte 0x0202e8ac - thumb_func_end s0C_restore_execution_after_sCF - - thumb_func_start s0D_endscript_killram -s0D_endscript_killram: @ 8065BB4 - push {r4,lr} - adds r4, r0, 0 - bl killram - adds r0, r4, 0 - bl script_stop - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s0D_endscript_killram - - thumb_func_start s0E_set_byte -s0E_set_byte: @ 8065BCC - push {lr} - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - adds r0, r2, 0 - bl sub_8126160 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s0E_set_byte - - thumb_func_start s0F_u32_var_to_const -s0F_u32_var_to_const: @ 8065BE4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r5, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl script_read_word - lsls r5, 2 - adds r4, 0x64 - adds r4, r5 - str r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s0F_u32_var_to_const - - thumb_func_start s12_u32_var_to_ptr -s12_u32_var_to_ptr: @ 8065C08 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r5, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl script_read_word - lsls r5, 2 - adds r4, 0x64 - adds r4, r5 - ldrb r0, [r0] - str r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s12_u32_var_to_ptr - - thumb_func_start s11_u8_ptr_to_const -s11_u8_ptr_to_const: @ 8065C2C - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_word - strb r4, [r0] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s11_u8_ptr_to_const - - thumb_func_start sub_8065C44 -sub_8065C44: @ 8065C44 - ldr r1, [r0, 0x8] - ldrb r3, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - lsls r3, 2 - adds r2, r0, 0 - adds r2, 0x64 - adds r2, r3 - ldrb r3, [r1] - str r3, [r2] - adds r1, 0x1 - str r1, [r0, 0x8] - movs r0, 0 - bx lr - thumb_func_end sub_8065C44 - - thumb_func_start s13_u8_var_to_ptr -s13_u8_var_to_ptr: @ 8065C60 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r5, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl script_read_word - lsls r5, 2 - adds r4, 0x64 - adds r4, r5 - ldr r1, [r4] - strb r1, [r0] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s13_u8_var_to_ptr - - thumb_func_start s14_u32_var_to_var -s14_u32_var_to_var: @ 8065C84 - ldr r1, [r0, 0x8] - ldrb r3, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - lsls r3, 2 - adds r0, 0x64 - adds r3, r0, r3 - lsls r2, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - movs r0, 0 - bx lr - thumb_func_end s14_u32_var_to_var - - thumb_func_start s15_u8_ptr_to_ptr -s15_u8_ptr_to_ptr: @ 8065CA4 - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_word - adds r5, r0, 0 - adds r0, r4, 0 - bl script_read_word - ldrb r0, [r0] - strb r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s15_u8_ptr_to_ptr - - thumb_func_start s16_u16_gvar_to_const -s16_u16_gvar_to_const: @ 8065CC0 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r4, r0, 0 - adds r0, r5, 0 - bl script_read_halfword - strh r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s16_u16_gvar_to_const - - thumb_func_start s19_u16_gvar_gvar -s19_u16_gvar_gvar: @ 8065CE4 - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s19_u16_gvar_gvar - - thumb_func_start s1A_u16_gvar_gvar -s1A_u16_gvar_gvar: @ 8065D10 - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s1A_u16_gvar_gvar - - thumb_func_start compare_012 -compare_012: @ 8065D3C - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r0, r1 - bcs _08065D4E - movs r0, 0 - b _08065D58 -_08065D4E: - cmp r0, r1 - beq _08065D56 - movs r0, 0x2 - b _08065D58 -_08065D56: - movs r0, 0x1 -_08065D58: - pop {r1} - bx r1 - thumb_func_end compare_012 - - thumb_func_start s1B_cmp_u8_var_var -s1B_cmp_u8_var_var: @ 8065D5C - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r0, [r2] - lsls r0, 2 - adds r3, r4, 0 - adds r3, 0x64 - adds r0, r3, r0 - ldrb r0, [r0] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - lsls r1, 2 - adds r3, r1 - ldrb r1, [r3] - adds r2, 0x1 - str r2, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s1B_cmp_u8_var_var - - thumb_func_start s1C_cmp_u8_var_const -s1C_cmp_u8_var_const: @ 8065D8C - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r1, [r2] - lsls r1, 2 - adds r0, 0x64 - adds r0, r1 - ldrb r0, [r0] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s1C_cmp_u8_var_const - - thumb_func_start s1D_cmp_u8_var_ptr -s1D_cmp_u8_var_ptr: @ 8065DB4 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r1, [r2] - lsls r1, 2 - adds r0, 0x64 - adds r0, r1 - ldrb r5, [r0] - adds r2, 0x1 - str r2, [r4, 0x8] - adds r0, r4, 0 - bl script_read_word - ldrb r1, [r0] - adds r0, r5, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s1D_cmp_u8_var_ptr - - thumb_func_start s1E_cmp_u8_ptr_var -s1E_cmp_u8_ptr_var: @ 8065DE0 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - ldrb r0, [r0] - ldr r3, [r4, 0x8] - ldrb r2, [r3] - lsls r2, 2 - adds r1, r4, 0 - adds r1, 0x64 - adds r1, r2 - ldrb r1, [r1] - adds r3, 0x1 - str r3, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s1E_cmp_u8_ptr_var - - thumb_func_start s1F_cmp_u8_ptr_const -s1F_cmp_u8_ptr_const: @ 8065E0C - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - ldrb r0, [r0] - ldr r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s1F_cmp_u8_ptr_const - - thumb_func_start s20_cmp_u8_ptr_ptr -s20_cmp_u8_ptr_ptr: @ 8065E2C - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_word - ldrb r5, [r0] - adds r0, r4, 0 - bl script_read_word - ldrb r1, [r0] - adds r0, r5, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s20_cmp_u8_ptr_ptr - - thumb_func_start s21_cmp_u16_gvar_const -s21_cmp_u16_gvar_const: @ 8065E50 - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - ldrh r5, [r0] - adds r0, r4, 0 - bl script_read_halfword - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s21_cmp_u16_gvar_const - - thumb_func_start s22_cmp_u16_gvar_gvar -s22_cmp_u16_gvar_gvar: @ 8065E80 - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - ldrh r2, [r5] - ldrh r1, [r0] - adds r0, r2, 0 - bl compare_012 - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s22_cmp_u16_gvar_gvar - - thumb_func_start s17_u16_gvar_add_const -s17_u16_gvar_add_const: @ 8065EB4 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r4, r0, 0 - adds r0, r5, 0 - bl script_read_halfword - ldrh r1, [r4] - adds r0, r1 - strh r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s17_u16_gvar_add_const - - thumb_func_start sub_8065EDC -sub_8065EDC: @ 8065EDC - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldrh r1, [r5] - subs r1, r0 - strh r1, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8065EDC - - thumb_func_start s8F_get_random_val -s8F_get_random_val: @ 8065F0C - push {r4,r5,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r5, _08065F3C - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __umodsi3 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08065F3C: .4byte 0x0202e8dc - thumb_func_end s8F_get_random_val - - thumb_func_start sub_8065F40 -sub_8065F40: @ 8065F40 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _08065F80 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80A9424 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08065F80: .4byte 0x0202e8dc - thumb_func_end sub_8065F40 - - thumb_func_start sub_8065F84 -sub_8065F84: @ 8065F84 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _08065FC4 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80A9538 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08065FC4: .4byte 0x0202e8dc - thumb_func_end sub_8065F84 - - thumb_func_start sub_8065FC8 -sub_8065FC8: @ 8065FC8 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _08066008 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80A9344 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08066008: .4byte 0x0202e8dc - thumb_func_end sub_8065FC8 - - thumb_func_start sub_806600C -sub_806600C: @ 806600C - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - ldr r5, _0806604C - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80A92D4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806604C: .4byte 0x0202e8dc - thumb_func_end sub_806600C - - thumb_func_start s48_get_item_type -s48_get_item_type: @ 8066050 - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r4, _08066078 - bl sub_80A9670 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066078: .4byte 0x0202e8dc - thumb_func_end s48_get_item_type - - thumb_func_start sub_806607C -sub_806607C: @ 806607C - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r5, _080660BC - adds r0, r4, 0 - bl sub_80A9760 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080660BC: .4byte 0x0202e8dc - thumb_func_end sub_806607C - - thumb_func_start sub_80660C0 -sub_80660C0: @ 80660C0 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r5, _08066100 - adds r0, r4, 0 - bl sub_80A9718 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08066100: .4byte 0x0202e8dc - thumb_func_end sub_80660C0 - - thumb_func_start sub_8066104 -sub_8066104: @ 8066104 - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r4, _0806612C - lsls r0, 24 - lsrs r0, 24 - bl IsThereStorageSpaceForDecoration - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806612C: .4byte 0x0202e8dc - thumb_func_end sub_8066104 - - thumb_func_start sub_8066130 -sub_8066130: @ 8066130 - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r4, _08066158 - lsls r0, 24 - lsrs r0, 24 - bl sub_81340A8 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066158: .4byte 0x0202e8dc - thumb_func_end sub_8066130 - - thumb_func_start sub_806615C -sub_806615C: @ 806615C - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r4, _08066184 - lsls r0, 24 - lsrs r0, 24 - bl sub_8134074 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066184: .4byte 0x0202e8dc - thumb_func_end sub_806615C - - thumb_func_start sub_8066188 -sub_8066188: @ 8066188 - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r4, _080661B0 - lsls r0, 24 - lsrs r0, 24 - bl sub_8133FE4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080661B0: .4byte 0x0202e8dc - thumb_func_end sub_8066188 - - thumb_func_start s29_flag_set -s29_flag_set: @ 80661B4 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s29_flag_set - - thumb_func_start s2A_flag_clear -s2A_flag_clear: @ 80661C8 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl FlagReset - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s2A_flag_clear - - thumb_func_start s2B_flag_check -s2B_flag_check: @ 80661DC - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s2B_flag_check - - thumb_func_start sC3_unknown -sC3_unknown: @ 80661F8 - push {lr} - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - adds r0, r2, 0 - bl sav12_xor_increment - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sC3_unknown - - thumb_func_start s9A_unknown -s9A_unknown: @ 8066210 - push {lr} - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - adds r0, r2, 0 - bl sub_8081594 - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end s9A_unknown - - thumb_func_start sub_806622C -sub_806622C: @ 806622C - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl sub_8053CE4 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_806622C - - thumb_func_start sub_8066248 -sub_8066248: @ 8066248 - push {lr} - ldr r0, _0806625C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08066260 - movs r0, 0 - b _08066262 - .align 2, 0 -_0806625C: .4byte 0x0202f388 -_08066260: - movs r0, 0x1 -_08066262: - pop {r1} - bx r1 - thumb_func_end sub_8066248 - - thumb_func_start s97_screen_special_effect -s97_screen_special_effect: @ 8066268 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x8] - ldrb r0, [r1] - adds r1, 0x1 - str r1, [r4, 0x8] - movs r1, 0 - bl fade_screen - ldr r1, _0806628C - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806628C: .4byte sub_8066248 - thumb_func_end s97_screen_special_effect - - thumb_func_start sub_8066290 -sub_8066290: @ 8066290 - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r0, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl fade_screen - ldr r1, _080662B8 - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080662B8: .4byte sub_8066248 - thumb_func_end sub_8066290 - - thumb_func_start s28_pause_asm -s28_pause_asm: @ 80662BC - push {lr} - ldr r1, _080662D0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080662D4 - movs r0, 0 - b _080662D6 - .align 2, 0 -_080662D0: .4byte 0x0202e8b4 -_080662D4: - movs r0, 0x1 -_080662D6: - pop {r1} - bx r1 - thumb_func_end s28_pause_asm - - thumb_func_start s28_pause -s28_pause: @ 80662DC - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - ldr r1, _080662F8 - strh r0, [r1] - ldr r1, _080662FC - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080662F8: .4byte 0x0202e8b4 -_080662FC: .4byte s28_pause_asm - thumb_func_end s28_pause - - thumb_func_start s2C_unknown -s2C_unknown: @ 8066300 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl RtcInitLocalTimeOffset - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s2C_unknown - - thumb_func_start s2D_unknown -s2D_unknown: @ 8066338 - push {lr} - bl InTrainerHill - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s2D_unknown - - thumb_func_start s2E_unknown -s2E_unknown: @ 8066344 - push {lr} - bl RtcCalcLocalTime - ldr r2, _0806636C - ldr r1, _08066370 - movs r0, 0x2 - ldrsb r0, [r1, r0] - strh r0, [r2] - ldr r2, _08066374 - movs r0, 0x3 - ldrsb r0, [r1, r0] - strh r0, [r2] - ldr r2, _08066378 - movs r0, 0x4 - ldrsb r0, [r1, r0] - strh r0, [r2] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0806636C: .4byte 0x0202e8c4 -_08066370: .4byte 0x03004038 -_08066374: .4byte 0x0202e8c6 -_08066378: .4byte 0x0202e8c8 - thumb_func_end s2E_unknown - - thumb_func_start sA4_set_weather_data -sA4_set_weather_data: @ 806637C - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl sub_80806B4 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sA4_set_weather_data - - thumb_func_start sA3_set_standard_weather_data -sA3_set_standard_weather_data: @ 8066398 - push {lr} - bl sub_80806E4 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sA3_set_standard_weather_data - - thumb_func_start sub_80663A4 -sub_80663A4: @ 80663A4 - push {lr} - bl sub_808073C - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80663A4 - - thumb_func_start sA6_activate_per_step_callback_eg_ash -sA6_activate_per_step_callback_eg_ash: @ 80663B0 - push {lr} - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - adds r0, r2, 0 - bl activate_per_step_callback - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sA6_activate_per_step_callback_eg_ash - - thumb_func_start sub_80663C8 -sub_80663C8: @ 80663C8 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl sub_8053D14 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80663C8 - - thumb_func_start s39_warp_sfx -s39_warp_sfx: @ 80663E4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl warp1_set - bl sub_8080E88 - bl player_avatar_init_params_reset - movs r0, 0x1 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end s39_warp_sfx - - thumb_func_start s3A_warp_new_music -s3A_warp_new_music: @ 806646C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl warp1_set - bl sp13E_warp_to_last_warp - bl player_avatar_init_params_reset - movs r0, 0x1 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end s3A_warp_new_music - - thumb_func_start s3B_warp_keep_music -s3B_warp_keep_music: @ 80664F4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl warp1_set - bl sub_8080EF0 - bl player_avatar_init_params_reset - movs r0, 0x1 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end s3B_warp_keep_music - - thumb_func_start sub_806657C -sub_806657C: @ 806657C - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, [r0, 0x8] - ldrb r6, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r5, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - mov r4, sp - adds r4, 0x6 - add r0, sp, 0x4 - adds r1, r4, 0 - bl PlayerGetDestCoords - cmp r6, 0xFF - bne _080665BA - cmp r5, 0xFF - bne _080665BA - add r0, sp, 0x4 - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - asrs r1, 16 - bl sub_8053720 - b _080665DE -_080665BA: - lsls r0, r6, 24 - asrs r0, 24 - lsls r1, r5, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - add r3, sp, 0x4 - ldrb r3, [r3] - subs r3, 0x7 - lsls r3, 24 - asrs r3, 24 - ldrb r4, [r4] - subs r4, 0x7 - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - bl warp1_set -_080665DE: - bl sp13F_fall_to_last_warp - bl player_avatar_init_params_reset - movs r0, 0x1 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_806657C - - thumb_func_start s3D_warp_v4 -s3D_warp_v4: @ 80665F0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl warp1_set - bl sub_8080F68 - bl player_avatar_init_params_reset - movs r0, 0x1 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end s3D_warp_v4 - - thumb_func_start s3E_set_new_map -s3E_set_new_map: @ 8066678 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl warp1_set - movs r0, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end s3E_set_new_map - - thumb_func_start s3F_set_new_map_DMA -s3F_set_new_map_DMA: @ 80666F8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - lsls r0, 24 - asrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - mov r1, r9 - mov r2, r8 - adds r3, r6, 0 - bl saved_warp2_set_2 - movs r0, 0 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end s3F_set_new_map_DMA - - thumb_func_start sub_806677C -sub_806677C: @ 806677C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl sub_8053690 - movs r0, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_806677C - - thumb_func_start sub_80667FC -sub_80667FC: @ 80667FC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl sub_80536E4 - movs r0, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80667FC - - thumb_func_start sC4_unknown -sC4_unknown: @ 806687C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r5, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - mov r1, r9 - lsls r1, 24 - asrs r1, 24 - mov r9, r1 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - lsls r6, 24 - asrs r6, 24 - lsls r4, 24 - asrs r4, 24 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl sub_805363C - movs r0, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sC4_unknown - - thumb_func_start sub_80668FC -sub_80668FC: @ 80668FC - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r5, r0, 0 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - ldr r2, _08066930 - ldrh r1, [r2] - strh r1, [r5] - ldrh r1, [r2, 0x2] - strh r1, [r0] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08066930: .4byte 0x02025734 - thumb_func_end sub_80668FC - - thumb_func_start s43_get_player_party_count -s43_get_player_party_count: @ 8066934 - push {r4,lr} - ldr r4, _0806694C - bl calc_player_party_count - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806694C: .4byte 0x0202e8dc - thumb_func_end s43_get_player_party_count - - thumb_func_start s2F_music_play -s2F_music_play: @ 8066950 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl audio_play - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s2F_music_play - - thumb_func_start s30_music_check_asm -s30_music_check_asm: @ 8066964 - push {lr} - bl mplay_has_finished_maybe - lsls r0, 24 - cmp r0, 0 - beq _08066974 - movs r0, 0 - b _08066976 -_08066974: - movs r0, 0x1 -_08066976: - pop {r1} - bx r1 - thumb_func_end s30_music_check_asm - - thumb_func_start sub_806697C -sub_806697C: @ 806697C - push {lr} - ldr r1, _0806698C - bl script_setup_asm_script - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_0806698C: .4byte s30_music_check_asm - thumb_func_end sub_806697C - - thumb_func_start s31_fanfare_play -s31_fanfare_play: @ 8066990 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl fanfare_play - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s31_fanfare_play - - thumb_func_start s32_fanfare_wait_asm -s32_fanfare_wait_asm: @ 80669A4 - push {lr} - bl task_is_not_running_overworld_fanfare - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end s32_fanfare_wait_asm - - thumb_func_start sub_80669B4 -sub_80669B4: @ 80669B4 - push {lr} - ldr r1, _080669C4 - bl script_setup_asm_script - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080669C4: .4byte s32_fanfare_wait_asm - thumb_func_end sub_80669B4 - - thumb_func_start s33_play_music -s33_play_music: @ 80669C8 - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r2, r0, 16 - adds r5, r2, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - cmp r1, 0x1 - bne _080669E8 - adds r0, r2, 0 - bl sav1_set_battle_music_maybe -_080669E8: - adds r0, r5, 0 - bl current_map_music_set - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s33_play_music - - thumb_func_start s34_unknown -s34_unknown: @ 80669F8 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl sav1_set_battle_music_maybe - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s34_unknown - - thumb_func_start s35_fade_to_default -s35_fade_to_default: @ 8066A0C - push {lr} - bl sub_8053F84 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s35_fade_to_default - - thumb_func_start s36_fade_to_music -s36_fade_to_music: @ 8066A18 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl sub_8053FB0 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s36_fade_to_music - - thumb_func_start s37_fadeout -s37_fadeout: @ 8066A2C - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - cmp r1, 0 - beq _08066A46 - lsls r0, r1, 26 - lsrs r0, 24 - bl sub_8074FB8 - b _08066A4C -_08066A46: - movs r0, 0x4 - bl sub_8074FB8 -_08066A4C: - ldr r1, _08066A5C - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066A5C: .4byte sub_8074FD0 - thumb_func_end s37_fadeout - - thumb_func_start s38_fadein -s38_fadein: @ 8066A60 - push {lr} - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - cmp r2, 0 - beq _08066A78 - lsls r0, r2, 26 - lsrs r0, 24 - bl sub_8074FF8 - b _08066A7E -_08066A78: - movs r0, 0x4 - bl sub_8074FF8 -_08066A7E: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s38_fadein - - thumb_func_start s4F_execute_movement -s4F_execute_movement: @ 8066A84 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_word - adds r3, r0, 0 - lsls r0, r4, 24 - lsrs r0, 24 - ldr r2, _08066ABC - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl exec_movement - ldr r0, _08066AC0 - strh r4, [r0] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08066ABC: .4byte 0x02025734 -_08066AC0: .4byte 0x0202e8b6 - thumb_func_end s4F_execute_movement - - thumb_func_start s50_execute_movement_remote -s50_execute_movement_remote: @ 8066AC4 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_word - adds r3, r0, 0 - ldr r0, [r5, 0x8] - ldrb r2, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - lsls r0, r4, 24 - lsrs r0, 24 - bl exec_movement - ldr r0, _08066B04 - strh r4, [r0] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08066B04: .4byte 0x0202e8b6 - thumb_func_end s50_execute_movement_remote - - thumb_func_start s51a_0806B288 -s51a_0806B288: @ 8066B08 - push {lr} - ldr r0, _08066B24 - ldrb r0, [r0] - ldr r1, _08066B28 - ldrb r1, [r1] - ldr r2, _08066B2C - ldrb r2, [r2] - bl sub_80A212C - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08066B24: .4byte 0x0202e8b6 -_08066B28: .4byte 0x0202e8ba -_08066B2C: .4byte 0x0202e8b8 - thumb_func_end s51a_0806B288 - - thumb_func_start s51_waitmove -s51_waitmove: @ 8066B30 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _08066B4C - ldr r0, _08066B70 - strh r1, [r0] -_08066B4C: - ldr r1, _08066B74 - ldr r2, _08066B78 - movs r0, 0x4 - ldrsb r0, [r2, r0] - strh r0, [r1] - ldr r1, _08066B7C - movs r0, 0x5 - ldrsb r0, [r2, r0] - strh r0, [r1] - ldr r1, _08066B80 - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066B70: .4byte 0x0202e8b6 -_08066B74: .4byte 0x0202e8b8 -_08066B78: .4byte 0x02025734 -_08066B7C: .4byte 0x0202e8ba -_08066B80: .4byte s51a_0806B288 - thumb_func_end s51_waitmove - - thumb_func_start s52_waitmove_remote -s52_waitmove_remote: @ 8066B84 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _08066BA0 - ldr r0, _08066BC8 - strh r1, [r0] -_08066BA0: - ldr r0, [r4, 0x8] - ldrb r2, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - ldr r0, _08066BCC - strh r2, [r0] - ldr r0, _08066BD0 - strh r1, [r0] - ldr r1, _08066BD4 - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066BC8: .4byte 0x0202e8b6 -_08066BCC: .4byte 0x0202e8b8 -_08066BD0: .4byte 0x0202e8ba -_08066BD4: .4byte s51a_0806B288 - thumb_func_end s52_waitmove_remote - - thumb_func_start sub_8066BD8 -sub_8066BD8: @ 8066BD8 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08066BFC - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl RemoveFieldObjectByLocalIdAndMap - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08066BFC: .4byte 0x02025734 - thumb_func_end sub_8066BD8 - - thumb_func_start s54_hide_sprite_set_coords -s54_hide_sprite_set_coords: @ 8066C00 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r3, [r4, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl RemoveFieldObjectByLocalIdAndMap - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s54_hide_sprite_set_coords - - thumb_func_start sub_8066C30 -sub_8066C30: @ 8066C30 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08066C54 - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl show_sprite - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08066C54: .4byte 0x02025734 - thumb_func_end sub_8066C30 - - thumb_func_start s56_show_sprite_set_coords -s56_show_sprite_set_coords: @ 8066C58 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r3, [r4, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl show_sprite - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s56_show_sprite_set_coords - - thumb_func_start s57_move_sprites -s57_move_sprites: @ 8066C88 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r5, 24 - lsrs r5, 24 - ldr r2, _08066CE8 - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - lsls r4, 16 - asrs r4, 16 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - adds r0, r5, 0 - adds r3, r4, 0 - bl sub_805C0F8 - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08066CE8: .4byte 0x02025734 - thumb_func_end s57_move_sprites - - thumb_func_start s63_new_sprite_location_permanent -s63_new_sprite_location_permanent: @ 8066CEC - push {r4-r6,lr} - adds r6, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r2, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 16 - asrs r4, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl update_saveblock1_field_object_coords - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end s63_new_sprite_location_permanent - - thumb_func_start s64_set_sprite_top_left_corner -s64_set_sprite_top_left_corner: @ 8066D44 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08066D68 - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl sub_805C78C - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08066D68: .4byte 0x02025734 - thumb_func_end s64_set_sprite_top_left_corner - - thumb_func_start s58_npc_f1_clear_x20 -s58_npc_f1_clear_x20: @ 8066D6C - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r3, [r4, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - bl npc_by_local_id_and_map_set_field_1_bit_x20 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s58_npc_f1_clear_x20 - - thumb_func_start s59_npc_f1_set_x20 -s59_npc_f1_set_x20: @ 8066D9C - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r3, [r4, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1 - bl npc_by_local_id_and_map_set_field_1_bit_x20 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s59_npc_f1_set_x20 - - thumb_func_start sA8_unknown -sA8_unknown: @ 8066DCC - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r3, [r5, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r5, 0x8] - ldrb r1, [r3] - adds r4, r3, 0x1 - str r4, [r5, 0x8] - ldrb r3, [r3, 0x1] - adds r4, 0x1 - str r4, [r5, 0x8] - lsls r0, 24 - lsrs r0, 24 - adds r3, 0x53 - lsls r3, 24 - lsrs r3, 24 - bl sub_805BCF0 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sA8_unknown - - thumb_func_start sA9_unknown -sA9_unknown: @ 8066E08 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r3, [r4, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl sub_805BD48 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sA9_unknown - - thumb_func_start s5A_face_player -s5A_face_player: @ 8066E38 - push {r4,lr} - ldr r2, _08066E68 - ldr r0, _08066E6C - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - ldrb r0, [r4] - lsls r0, 31 - cmp r0, 0 - beq _08066E60 - bl player_get_direction_lower_nybble - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectFaceOppositeDirection -_08066E60: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066E68: .4byte 0x030048a0 -_08066E6C: .4byte 0x03004ae0 - thumb_func_end s5A_face_player - - thumb_func_start s5B_npc_set_direction -s5B_npc_set_direction: @ 8066E70 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r1, [r4, 0x8] - ldrb r3, [r1] - adds r1, 0x1 - str r1, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08066EA0 - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl FieldObjectTurnByLocalIdAndMap - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066EA0: .4byte 0x02025734 - thumb_func_end s5B_npc_set_direction - - thumb_func_start s65_set_sprite_behaviour -s65_set_sprite_behaviour: @ 8066EA4 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl update_saveblock1_field_object_movement_behavior - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s65_set_sprite_behaviour - - thumb_func_start sAA_create_new_sprite -sAA_create_new_sprite: @ 8066ECC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r5, r0, 0 - ldr r0, [r5, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r6, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r3, r0, 0 - ldr r0, [r5, 0x8] - ldrb r2, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r5, 0x8] - lsls r4, 16 - asrs r4, 16 - lsls r3, 16 - asrs r3, 16 - str r2, [sp] - str r1, [sp, 0x4] - mov r0, r8 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_805B410 - movs r0, 0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sAA_create_new_sprite - - thumb_func_start sAB_unknown -sAB_unknown: @ 8066F3C - push {lr} - ldr r2, [r0, 0x8] - ldrb r3, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - adds r0, r3, 0 - bl sub_8064990 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sAB_unknown - - thumb_func_start sub_8066F58 -sub_8066F58: @ 8066F58 - push {r4,lr} - adds r4, r0, 0 - bl is_c1_link_related_active - cmp r0, 0 - bne _08066F78 - bl sub_8064D20 - ldr r1, _08066F74 - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - b _08066F7A - .align 2, 0 -_08066F74: .4byte sub_8064CFC -_08066F78: - movs r0, 0 -_08066F7A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8066F58 - - thumb_func_start sub_8066F80 -sub_8066F80: @ 8066F80 - push {r4,lr} - adds r4, r0, 0 - bl is_c1_link_related_active - cmp r0, 0 - beq _08066F90 - movs r0, 0 - b _08066FCE -_08066F90: - ldr r2, _08066FB4 - ldr r0, _08066FB8 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08066FC0 - bl sub_8064DD8 - ldr r1, _08066FBC - adds r0, r4, 0 - bl script_setup_asm_script - b _08066FCC - .align 2, 0 -_08066FB4: .4byte 0x030048a0 -_08066FB8: .4byte 0x03004ae0 -_08066FBC: .4byte sub_8064DB4 -_08066FC0: - bl sub_8064D20 - ldr r1, _08066FD4 - adds r0, r4, 0 - bl script_setup_asm_script -_08066FCC: - movs r0, 0x1 -_08066FCE: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08066FD4: .4byte sub_8064CFC - thumb_func_end sub_8066F80 - - thumb_func_start s6B_release -s6B_release: @ 8066FD8 - push {lr} - bl textbox_close - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0806700C - adds r0, r1 - bl FieldObjectClearAnimIfSpecialAnimFinished - bl sub_80A2178 - bl sub_806451C - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0806700C: .4byte 0x030048a0 - thumb_func_end s6B_release - - thumb_func_start s6C_release_2 -s6C_release_2: @ 8067010 - push {r4,lr} - bl textbox_close - ldr r4, _08067060 - ldr r0, _08067064 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08067032 - adds r0, r1, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished -_08067032: - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FieldObjectClearAnimIfSpecialAnimFinished - bl sub_80A2178 - bl sub_806451C - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067060: .4byte 0x030048a0 -_08067064: .4byte 0x03004ae0 - thumb_func_end s6C_release_2 - - thumb_func_start s67_execute_box -s67_execute_box: @ 8067068 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - cmp r0, 0 - bne _08067076 - ldr r0, [r4, 0x64] -_08067076: - bl box_related_two__2 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s67_execute_box - - thumb_func_start s9B_unknown -s9B_unknown: @ 8067084 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - cmp r0, 0 - bne _08067092 - ldr r0, [r4, 0x64] -_08067092: - bl box_related_two__3 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s9B_unknown - - thumb_func_start sub_80670A0 -sub_80670A0: @ 80670A0 - push {lr} - ldr r1, _080670B0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080670B0: .4byte sub_8064C84 - thumb_func_end sub_80670A0 - - thumb_func_start s68_close_box -s68_close_box: @ 80670B4 - push {lr} - bl textbox_close - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s68_close_box - - thumb_func_start sub_80670C0 -sub_80670C0: @ 80670C0 - push {lr} - ldr r0, _080670DC - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080670E0 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080670E0 - movs r0, 0 - b _080670E2 - .align 2, 0 -_080670DC: .4byte 0x03001770 -_080670E0: - movs r0, 0x1 -_080670E2: - pop {r1} - bx r1 - thumb_func_end sub_80670C0 - - thumb_func_start sub_80670E8 -sub_80670E8: @ 80670E8 - push {lr} - ldr r1, _080670F8 - bl script_setup_asm_script - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080670F8: .4byte sub_80670C0 - thumb_func_end sub_80670E8 - - thumb_func_start s6E_yes_no -s6E_yes_no: @ 80670FC - push {lr} - ldr r2, [r0, 0x8] - ldrb r3, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - adds r0, r3, 0 - bl yes_no_box - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806711E - movs r0, 0 - b _08067124 -_0806711E: - bl sub_80655F0 - movs r0, 0x1 -_08067124: - pop {r1} - bx r1 - thumb_func_end s6E_yes_no - - thumb_func_start sub_8067128 -sub_8067128: @ 8067128 - push {r4,r5,lr} - ldr r2, [r0, 0x8] - ldrb r5, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r3, r2, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r2, 0x1] - adds r4, r3, 0x1 - str r4, [r0, 0x8] - ldrb r3, [r3, 0x1] - adds r4, 0x1 - str r4, [r0, 0x8] - adds r0, r5, 0 - bl sub_80B5054 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08067156 - movs r0, 0 - b _0806715C -_08067156: - bl sub_80655F0 - movs r0, 0x1 -_0806715C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8067128 - - thumb_func_start sub_8067164 -sub_8067164: @ 8067164 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - ldr r2, [r0, 0x8] - ldrb r1, [r2] - mov r8, r1 - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r3, r2, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r2, 0x1] - adds r5, r3, 0x1 - str r5, [r0, 0x8] - ldrb r6, [r3, 0x1] - adds r4, r5, 0x1 - str r4, [r0, 0x8] - ldrb r3, [r5, 0x1] - adds r4, 0x1 - str r4, [r0, 0x8] - str r6, [sp] - mov r0, r8 - bl sub_80B50B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080671A2 - movs r0, 0 - b _080671A8 -_080671A2: - bl sub_80655F0 - movs r0, 0x1 -_080671A8: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8067164 - - thumb_func_start sub_80671B4 -sub_80671B4: @ 80671B4 - push {r4,r5,lr} - ldr r2, [r0, 0x8] - ldrb r5, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r3, r2, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r2, 0x1] - adds r4, r3, 0x1 - str r4, [r0, 0x8] - ldrb r3, [r3, 0x1] - adds r4, 0x1 - str r4, [r0, 0x8] - adds r0, r5, 0 - bl DrawDefaultWindow - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80671B4 - - thumb_func_start sub_80671E0 -sub_80671E0: @ 80671E0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - ldr r2, [r0, 0x8] - ldrb r1, [r2] - mov r8, r1 - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r3, r2, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r2, 0x1] - adds r5, r3, 0x1 - str r5, [r0, 0x8] - ldrb r6, [r3, 0x1] - adds r4, r5, 0x1 - str r4, [r0, 0x8] - ldrb r3, [r5, 0x1] - adds r4, 0x1 - str r4, [r0, 0x8] - str r6, [sp] - mov r0, r8 - bl sub_80B5578 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806721E - movs r0, 0 - b _08067224 -_0806721E: - bl sub_80655F0 - movs r0, 0x1 -_08067224: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80671E0 - - thumb_func_start sub_8067230 -sub_8067230: @ 8067230 - push {r4,r5,lr} - ldr r2, [r0, 0x8] - ldrb r5, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r3, r2, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r2, 0x1] - adds r4, r3, 0x1 - str r4, [r0, 0x8] - ldrb r3, [r3, 0x1] - adds r4, 0x1 - str r4, [r0, 0x8] - adds r0, r5, 0 - bl Reset - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8067230 - - thumb_func_start s6F_multichoice -s6F_multichoice: @ 806725C - push {r4,r5,lr} - ldr r2, [r0, 0x8] - ldrb r5, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r3, r2, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r2, 0x1] - adds r4, r3, 0x1 - str r4, [r0, 0x8] - ldrb r3, [r3, 0x1] - adds r4, 0x1 - str r4, [r0, 0x8] - adds r0, r5, 0 - bl Multichoice - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806728A - movs r0, 0 - b _08067290 -_0806728A: - bl sub_80655F0 - movs r0, 0x1 -_08067290: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s6F_multichoice - - thumb_func_start sub_8067298 -sub_8067298: @ 8067298 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r3, [r4, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r4, 0x8] - bl sub_80B58C4 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8067298 - - thumb_func_start s76_close_picture_box -s76_close_picture_box: @ 80672C8 - push {r4,lr} - adds r4, r0, 0 - bl picbox_close - adds r1, r0, 0 - cmp r1, 0 - beq _080672E0 - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - b _080672E2 -_080672E0: - movs r0, 0 -_080672E2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end s76_close_picture_box - - thumb_func_start s77_showcontestwinner -s77_showcontestwinner: @ 80672E8 - push {lr} - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - cmp r2, 0 - beq _080672FC - adds r0, r2, 0 - bl sub_8106630 -_080672FC: - bl sub_80C4F10 - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end s77_showcontestwinner - - thumb_func_start sub_806730C -sub_806730C: @ 806730C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - bl script_read_word - adds r1, r0, 0 - ldrb r5, [r1] - ldrb r6, [r1, 0x1] - ldrb r0, [r1, 0x2] - mov r8, r0 - ldrb r0, [r1, 0x3] - mov r9, r0 - ldrb r0, [r1, 0x4] - mov r10, r0 - ldrb r7, [r1, 0x5] - ldr r4, _08067360 - adds r1, 0x6 - adds r0, r4, 0 - bl StringBraille - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, r8 - mov r3, r9 - bl DrawDefaultWindow - adds r0, r4, 0 - mov r1, r10 - adds r2, r7, 0 - bl Print - movs r0, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08067360: .4byte 0x020234cc - thumb_func_end sub_806730C - - thumb_func_start sBD_virtual_message -sBD_virtual_message: @ 8067364 - push {lr} - bl script_read_word - ldr r1, _0806737C - ldr r1, [r1] - subs r0, r1 - bl box_related_two__2 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0806737C: .4byte 0x0202e8b0 - thumb_func_end sBD_virtual_message - - thumb_func_start s7D_load_pokename -s7D_load_pokename: @ 8067380 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080673B8 - lsls r4, 2 - adds r4, r1 - ldr r2, [r4] - movs r1, 0xB - muls r1, r0 - ldr r0, _080673BC - adds r1, r0 - adds r0, r2, 0 - bl StringCopy - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080673B8: .4byte gUnknown_083762F0 -_080673BC: .4byte gSpeciesNames - thumb_func_end s7D_load_pokename - - thumb_func_start s7E_load_first_pokenames -s7E_load_first_pokenames: @ 80673C0 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldr r0, _08067400 - lsls r2, 2 - adds r2, r0 - ldr r4, [r2] - bl sub_810F87C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08067404 - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - movs r1, 0xB - muls r1, r0 - ldr r0, _08067408 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067400: .4byte gUnknown_083762F0 -_08067404: .4byte 0x03004360 -_08067408: .4byte gSpeciesNames - thumb_func_end s7E_load_first_pokenames - - thumb_func_start s7F_load_pokename_team -s7F_load_pokename_team: @ 806740C - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0806744C - adds r0, r1 - ldr r1, _08067450 - lsls r4, 2 - adds r4, r1 - ldr r4, [r4] - movs r1, 0x2 - adds r2, r4, 0 - bl PokemonGetField - adds r0, r4, 0 - bl StringGetEnd10 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806744C: .4byte 0x03004360 -_08067450: .4byte gUnknown_083762F0 - thumb_func_end s7F_load_pokename_team - - thumb_func_start s80_load_item_name -s80_load_item_name: @ 8067454 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08067484 - lsls r4, 2 - adds r4, r1 - ldr r1, [r4] - bl itemid_copy_name - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067484: .4byte gUnknown_083762F0 - thumb_func_end s80_load_item_name - - thumb_func_start sub_8067488 -sub_8067488: @ 8067488 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - ldr r0, _080674BC - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - lsrs r1, 11 - ldr r2, _080674C0 - adds r1, r2 - bl StringCopy - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080674BC: .4byte gUnknown_083762F0 -_080674C0: .4byte gDecorations + 0x1 - thumb_func_end sub_8067488 - - thumb_func_start s82_load_item_name -s82_load_item_name: @ 80674C4 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080674FC - lsls r4, 2 - adds r4, r1 - ldr r2, [r4] - movs r1, 0xD - muls r1, r0 - ldr r0, _08067500 - adds r1, r0 - adds r0, r2, 0 - bl StringCopy - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080674FC: .4byte gUnknown_083762F0 -_08067500: .4byte gMoveNames - thumb_func_end s82_load_item_name - - thumb_func_start s83_load_textvar_var -s83_load_textvar_var: @ 8067504 - push {r4,r5,lr} - ldr r1, [r0, 0x8] - ldrb r5, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_80BF0B8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08067544 - lsls r5, 2 - adds r5, r0 - ldr r0, [r5] - adds r1, r4, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08067544: .4byte gUnknown_083762F0 - thumb_func_end s83_load_textvar_var - - thumb_func_start s84_load_textvar_std_expression -s84_load_textvar_std_expression: @ 8067548 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - ldr r1, _08067580 - lsls r4, 2 - adds r4, r1 - ldr r2, [r4] - ldr r1, _08067584 - lsrs r0, 14 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl StringCopy - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067580: .4byte gUnknown_083762F0 -_08067584: .4byte gUnknown_083CE048 - thumb_func_end s84_load_textvar_std_expression - - thumb_func_start s85_load_textvar_pointer -s85_load_textvar_pointer: @ 8067588 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_word - adds r1, r0, 0 - ldr r0, _080675AC - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - bl StringCopy - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080675AC: .4byte gUnknown_083762F0 - thumb_func_end s85_load_textvar_pointer - - thumb_func_start sBE_virtual_load_text -sBE_virtual_load_text: @ 80675B0 - push {lr} - bl script_read_word - adds r1, r0, 0 - ldr r0, _080675CC - ldr r0, [r0] - subs r1, r0 - ldr r0, _080675D0 - bl StringExpandPlaceholders - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080675CC: .4byte 0x0202e8b0 -_080675D0: .4byte 0x020234cc - thumb_func_end sBE_virtual_load_text - - thumb_func_start sBF_virtual_load_textbuffer -sBF_virtual_load_textbuffer: @ 80675D4 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_word - adds r1, r0, 0 - ldr r0, _08067600 - ldr r0, [r0] - subs r1, r0 - ldr r0, _08067604 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - bl StringCopy - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067600: .4byte 0x0202e8b0 -_08067604: .4byte gUnknown_083762F0 - thumb_func_end sBF_virtual_load_textbuffer - - thumb_func_start s79_give_pokemon -s79_give_pokemon: @ 8067608 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - bl script_read_word - mov r8, r0 - adds r0, r4, 0 - bl script_read_word - ldr r1, [r4, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r4, 0x8] - ldr r4, _08067684 - str r0, [sp] - str r2, [sp, 0x4] - adds r0, r6, 0 - mov r1, r9 - adds r2, r5, 0 - mov r3, r8 - bl sub_80C5374 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08067684: .4byte 0x0202e8dc - thumb_func_end s79_give_pokemon - - thumb_func_start s7A_create_egg -s7A_create_egg: @ 8067688 - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080676B0 - bl sub_80C53F8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080676B0: .4byte 0x0202e8dc - thumb_func_end s7A_create_egg - - thumb_func_start s7B_change_pokedata_AP -s7B_change_pokedata_AP: @ 80676B4 - push {r4,r5,lr} - ldr r1, [r0, 0x8] - ldrb r5, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - adds r2, r4, 0 - bl sub_80C5530 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end s7B_change_pokedata_AP - - thumb_func_start sub_80676E0 -sub_80676E0: @ 80676E0 - push {r4-r7,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r7, r0, 16 - ldr r1, _080676F4 - movs r0, 0x6 - strh r0, [r1] - movs r6, 0 - b _0806772E - .align 2, 0 -_080676F4: .4byte 0x0202e8dc -_080676F8: - adds r0, r4, 0 - movs r1, 0x2D - bl PokemonGetField - cmp r0, 0 - bne _08067728 - adds r0, r4, 0 - adds r1, r7, 0 - bl pokemon_has_move - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08067728 - ldr r0, _08067720 - strh r6, [r0] - ldr r0, _08067724 - strh r5, [r0] - b _0806774E - .align 2, 0 -_08067720: .4byte 0x0202e8dc -_08067724: .4byte 0x0202e8cc -_08067728: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0806772E: - cmp r6, 0x5 - bhi _0806774E - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _08067758 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl PokemonGetField - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080676F8 -_0806774E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08067758: .4byte 0x03004360 - thumb_func_end sub_80676E0 - - thumb_func_start sub_806775C -sub_806775C: @ 806775C - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r2, r0, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - cmp r1, 0 - bne _0806777A - ldr r0, _08067784 - adds r1, r2, 0 - bl sub_80B79B8 -_0806777A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067784: .4byte 0x02025bc4 - thumb_func_end sub_806775C - - thumb_func_start sub_8067788 -sub_8067788: @ 8067788 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r2, r0, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - cmp r1, 0 - bne _080677A6 - ldr r0, _080677B0 - adds r1, r2, 0 - bl sub_80B79E0 -_080677A6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080677B0: .4byte 0x02025bc4 - thumb_func_end sub_8067788 - - thumb_func_start s92_check_money -s92_check_money: @ 80677B4 - push {r4,lr} - adds r4, r0, 0 - bl script_read_word - adds r2, r0, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - cmp r1, 0 - bne _080677E2 - ldr r4, _080677EC - ldr r0, _080677F0 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - adds r1, r2, 0 - bl IsEnoughMoney - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080677E2: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080677EC: .4byte 0x0202e8dc -_080677F0: .4byte 0x02025734 - thumb_func_end s92_check_money - - thumb_func_start sub_80677F4 -sub_80677F4: @ 80677F4 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r3, [r1] - adds r2, r1, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r1, 0x1] - adds r2, 0x1 - str r2, [r0, 0x8] - cmp r1, 0 - bne _08067820 - ldr r0, _08067828 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - adds r1, r4, 0 - adds r2, r3, 0 - bl sub_80B7C14 -_08067820: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067828: .4byte 0x02025734 - thumb_func_end sub_80677F4 - - thumb_func_start sub_806782C -sub_806782C: @ 806782C - push {lr} - ldr r2, [r0, 0x8] - ldrb r3, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - adds r0, r3, 0 - bl RemoveMoneyLabelObject - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_806782C - - thumb_func_start sub_8067848 -sub_8067848: @ 8067848 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r3, [r1] - adds r2, r1, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r1, 0x1] - adds r2, 0x1 - str r2, [r0, 0x8] - cmp r1, 0 - bne _08067874 - ldr r0, _0806787C - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - adds r1, r4, 0 - adds r2, r3, 0 - bl sub_80B7BEC -_08067874: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806787C: .4byte 0x02025734 - thumb_func_end sub_8067848 - - thumb_func_start sub_8067880 -sub_8067880: @ 8067880 - push {lr} - ldr r3, [r0, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r0, 0x8] - ldr r0, _080678A4 - ldr r3, _080678A8 - adds r0, r3 - ldrh r0, [r0] - bl sub_811A72C - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080678A4: .4byte 0x02025734 -_080678A8: .4byte 0x00000494 - thumb_func_end sub_8067880 - - thumb_func_start sub_80678AC -sub_80678AC: @ 80678AC - push {lr} - ldr r2, [r0, 0x8] - ldrb r3, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r0, 0x8] - adds r0, r3, 0 - bl sub_811A770 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80678AC - - thumb_func_start sub_80678C8 -sub_80678C8: @ 80678C8 - push {lr} - ldr r3, [r0, 0x8] - ldrb r1, [r3] - adds r3, 0x1 - str r3, [r0, 0x8] - ldrb r2, [r3] - adds r3, 0x1 - str r3, [r0, 0x8] - ldr r0, _080678EC - ldr r3, _080678F0 - adds r0, r3 - ldrh r0, [r0] - bl sub_811A704 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080678EC: .4byte 0x02025734 -_080678F0: .4byte 0x00000494 - thumb_func_end sub_80678C8 - - thumb_func_start s5C_trainer_battle_configure_and_start -s5C_trainer_battle_configure_and_start: @ 80678F4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - bl sub_80823C8 - str r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s5C_trainer_battle_configure_and_start - - thumb_func_start sub_8067908 -sub_8067908: @ 8067908 - push {lr} - bl sub_80825E4 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8067908 - - thumb_func_start sub_8067914 -sub_8067914: @ 8067914 - push {r4,lr} - adds r4, r0, 0 - bl sub_80826E8 - str r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8067914 - - thumb_func_start sub_8067928 -sub_8067928: @ 8067928 - push {r4,lr} - adds r4, r0, 0 - bl sub_8082700 - str r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8067928 - - thumb_func_start s60_check_trainer_flag -s60_check_trainer_flag: @ 806793C - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl trainer_flag_check - strb r0, [r4, 0x2] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end s60_check_trainer_flag - - thumb_func_start s61_set_trainer_flag -s61_set_trainer_flag: @ 8067960 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl trainer_flag_set - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s61_set_trainer_flag - - thumb_func_start s62_unset_trainer_flag -s62_unset_trainer_flag: @ 806797C - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl trainer_flag_clear - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end s62_unset_trainer_flag - - thumb_func_start sB6_load_battle -sB6_load_battle: @ 8067998 - push {r4-r6,lr} - adds r4, r0, 0 - bl script_read_halfword - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r0, [r4, 0x8] - ldrb r6, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl script_read_halfword - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80C54D0 - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sB6_load_battle - - thumb_func_start sub_80679CC -sub_80679CC: @ 80679CC - push {lr} - bl sub_8081B3C - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80679CC - - thumb_func_start s86_pokemart -s86_pokemart: @ 80679DC - push {lr} - bl script_read_word - bl CreatePokemartMenu - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end s86_pokemart - - thumb_func_start s87_pokemartdecor -s87_pokemartdecor: @ 80679F0 - push {lr} - bl script_read_word - bl CreateDecorationShop1Menu - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end s87_pokemartdecor - - thumb_func_start s88_pokemartbp -s88_pokemartbp: @ 8067A04 - push {lr} - bl script_read_word - bl CreateDecorationShop2Menu - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end s88_pokemartbp - - thumb_func_start s89_open_casino_game1 -s89_open_casino_game1: @ 8067A18 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08067A3C - bl sub_81018A0 - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08067A3C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end s89_open_casino_game1 - - thumb_func_start berry_script_cmd -berry_script_cmd: @ 8067A40 - push {r4,r5,lr} - ldr r1, [r0, 0x8] - ldrb r5, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r3, [r1] - adds r2, r1, 0x1 - str r2, [r0, 0x8] - ldrb r4, [r1, 0x1] - adds r2, 0x1 - str r2, [r0, 0x8] - cmp r3, 0 - bne _08067A68 - adds r0, r5, 0 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0 - bl PlantBerryTree - b _08067A74 -_08067A68: - adds r0, r5, 0 - adds r1, r3, 0 - adds r2, r4, 0 - movs r3, 0 - bl PlantBerryTree -_08067A74: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end berry_script_cmd - - thumb_func_start sub_8067A7C -sub_8067A7C: @ 8067A7C - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r4, _08067AA4 - lsls r0, 24 - lsrs r0, 24 - bl GetPriceReduction - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067AA4: .4byte 0x0202e8dc - thumb_func_end sub_8067A7C - - thumb_func_start sub_8067AA8 -sub_8067AA8: @ 8067AA8 - push {lr} - bl sub_80F99CC - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8067AA8 - - thumb_func_start sub_8067AB8 -sub_8067AB8: @ 8067AB8 - push {lr} - bl sub_80C48C8 - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8067AB8 - - thumb_func_start sub_8067AC8 -sub_8067AC8: @ 8067AC8 - push {lr} - bl sub_80C4940 - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8067AC8 - - thumb_func_start sub_8067AD8 -sub_8067AD8: @ 8067AD8 - push {lr} - ldr r0, _08067AEC - ldrb r0, [r0] - bl sub_80C4980 - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08067AEC: .4byte 0x0203869c - thumb_func_end sub_8067AD8 - - thumb_func_start s9C_execute_HM -s9C_execute_HM: @ 8067AF0 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08067B14 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl FieldEffectStart - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08067B14: .4byte 0x0202e8bc - thumb_func_end s9C_execute_HM - - thumb_func_start s9D_set_HM_animation_data -s9D_set_HM_animation_data: @ 8067B18 - push {r4,lr} - ldr r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r1, _08067B44 - lsls r4, 2 - adds r4, r1 - lsls r0, 16 - asrs r0, 16 - str r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067B44: .4byte 0x0202ff84 - thumb_func_end s9D_set_HM_animation_data - - thumb_func_start sub_8067B48 -sub_8067B48: @ 8067B48 - push {lr} - ldr r0, _08067B5C - ldrb r0, [r0] - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - beq _08067B60 - movs r0, 0 - b _08067B62 - .align 2, 0 -_08067B5C: .4byte 0x0202e8bc -_08067B60: - movs r0, 0x1 -_08067B62: - pop {r1} - bx r1 - thumb_func_end sub_8067B48 - - thumb_func_start s9E_checkarray_HM_animation -s9E_checkarray_HM_animation: @ 8067B68 - push {r4,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - ldr r1, _08067B8C - strh r0, [r1] - ldr r1, _08067B90 - adds r0, r4, 0 - bl script_setup_asm_script - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08067B8C: .4byte 0x0202e8bc -_08067B90: .4byte sub_8067B48 - thumb_func_end s9E_checkarray_HM_animation - - thumb_func_start sub_8067B94 -sub_8067B94: @ 8067B94 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl sub_8053588 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8067B94 - - thumb_func_start sub_8067BB0 -sub_8067BB0: @ 8067BB0 - ldr r0, _08067BBC - ldr r1, _08067BC0 - ldrb r1, [r1, 0x8] - strh r1, [r0] - movs r0, 0 - bx lr - .align 2, 0 -_08067BBC: .4byte 0x0202e8dc -_08067BC0: .4byte gSaveBlock2 - thumb_func_end sub_8067BB0 - - thumb_func_start sA1_play_cry -sA1_play_cry: @ 8067BC4 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8075178 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sA1_play_cry - - thumb_func_start sub_8067BFC -sub_8067BFC: @ 8067BFC - push {lr} - ldr r1, _08067C0C - bl script_setup_asm_script - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08067C0C: .4byte sub_8075374 - thumb_func_end sub_8067BFC - - thumb_func_start sA2_setmaptile -sA2_setmaptile: @ 8067C10 - push {r4-r7,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - adds r1, r6, 0x7 - lsls r1, 16 - lsrs r6, r1, 16 - adds r1, r5, 0x7 - lsls r1, 16 - lsrs r5, r1, 16 - cmp r0, 0 - bne _08067C74 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r7, 0 - bl MapGridSetMetatileIdAt - b _08067C86 -_08067C74: - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r2, r7, 0 - orrs r2, r0 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08067C86: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sA2_setmaptile - - thumb_func_start sAC_open_door -sAC_open_door: @ 8067C90 - push {r4,r5,lr} - adds r4, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - adds r5, 0x7 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0xE0 - lsls r0, 11 - adds r4, r0 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8058790 - lsls r0, 16 - lsrs r0, 16 - bl audio_play - adds r0, r5, 0 - adds r1, r4, 0 - bl task_overworld_door_add_if_role_69_for_opening_door_at - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sAC_open_door - - thumb_func_start sub_8067CE8 -sub_8067CE8: @ 8067CE8 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - adds r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0xE0 - lsls r0, 11 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_805870C - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8067CE8 - - thumb_func_start sub_8067D2C -sub_8067D2C: @ 8067D2C - push {lr} - bl sub_805877C - lsls r0, 24 - cmp r0, 0 - beq _08067D3C - movs r0, 0 - b _08067D3E -_08067D3C: - movs r0, 0x1 -_08067D3E: - pop {r1} - bx r1 - thumb_func_end sub_8067D2C - - thumb_func_start sub_8067D44 -sub_8067D44: @ 8067D44 - push {lr} - ldr r1, _08067D54 - bl script_setup_asm_script - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_08067D54: .4byte sub_8067D2C - thumb_func_end sub_8067D44 - - thumb_func_start sub_8067D58 -sub_8067D58: @ 8067D58 - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - adds r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0xE0 - lsls r0, 11 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80586B4 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8067D58 - - thumb_func_start sub_8067D9C -sub_8067D9C: @ 8067D9C - push {r4,r5,lr} - adds r5, r0, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - adds r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0xE0 - lsls r0, 11 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80586E0 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8067D9C - - thumb_func_start sub_8067DE0 -sub_8067DE0: @ 8067DE0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r6, r0, 0 - ldr r0, [r6, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r0, 0x1 - str r0, [r6, 0x8] - adds r0, r6, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - adds r3, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_810E7AC - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8067DE0 - - thumb_func_start sub_8067E4C -sub_8067E4C: @ 8067E4C - push {lr} - bl sub_810E824 - bl sub_80655F0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8067E4C - - thumb_func_start sB3_get_coin_amount -sB3_get_coin_amount: @ 8067E5C - push {r4,lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl GetVarPointer - adds r4, r0, 0 - bl GetCoins - strh r0, [r4] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sB3_get_coin_amount - - thumb_func_start sub_8067E7C -sub_8067E7C: @ 8067E7C - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl sub_811A840 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08067EA4 - ldr r1, _08067EA0 - movs r0, 0 - b _08067EA8 - .align 2, 0 -_08067EA0: .4byte 0x0202e8dc -_08067EA4: - ldr r1, _08067EB0 - movs r0, 0x1 -_08067EA8: - strh r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08067EB0: .4byte 0x0202e8dc - thumb_func_end sub_8067E7C - - thumb_func_start sub_8067EB4 -sub_8067EB4: @ 8067EB4 - push {lr} - bl script_read_halfword - lsls r0, 16 - lsrs r0, 16 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl sub_811A898 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08067EDC - ldr r1, _08067ED8 - movs r0, 0 - b _08067EE0 - .align 2, 0 -_08067ED8: .4byte 0x0202e8dc -_08067EDC: - ldr r1, _08067EE8 - movs r0, 0x1 -_08067EE0: - strh r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08067EE8: .4byte 0x0202e8dc - thumb_func_end sub_8067EB4 - - thumb_func_start sub_8067EEC -sub_8067EEC: @ 8067EEC - push {r4,r5,lr} - movs r1, 0x2 - negs r1, r1 - movs r3, 0x3 - negs r3, r3 - movs r4, 0x5 - negs r4, r4 - movs r5, 0x9 - negs r5, r5 - movs r2, 0 - strb r2, [r0] - ldrb r2, [r0, 0x1] - ands r1, r2 - ands r1, r3 - ands r1, r4 - ands r1, r5 - strb r1, [r0, 0x1] - movs r1, 0 - strb r1, [r0, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8067EEC - - thumb_func_start process_overworld_input -process_overworld_input: @ 8067F18 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, _08067FE8 - ldrb r6, [r0, 0x3] - ldrb r0, [r0, 0x2] - mov r9, r0 - bl cur_mapdata_block_role_at_player_pos - lsls r0, 24 - lsrs r0, 24 - bl sub_8056FFC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r6, 0x2 - bne _08067F4C - cmp r7, 0 - beq _08067F50 -_08067F4C: - cmp r6, 0 - bne _08067FB2 -_08067F50: - bl sub_80E6034 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _08067F9C - movs r0, 0x8 - ands r0, r5 - cmp r0, 0 - beq _08067F6C - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_08067F6C: - movs r0, 0x4 - ands r0, r5 - cmp r0, 0 - beq _08067F7C - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] -_08067F7C: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08067F8C - ldrb r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4] -_08067F8C: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _08067F9C - ldrb r0, [r4] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4] -_08067F9C: - movs r0, 0xF0 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08067FB2 - ldrb r0, [r4] - movs r1, 0x10 - orrs r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4] -_08067FB2: - cmp r7, 0 - bne _08067FD8 - cmp r6, 0x2 - bne _08067FC8 - mov r0, r9 - cmp r0, 0x2 - bne _08067FC8 - ldrb r0, [r4] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4] -_08067FC8: - cmp r7, 0 - bne _08067FD8 - cmp r6, 0x2 - bne _08067FD8 - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] -_08067FD8: - movs r0, 0x40 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08067FEC - movs r0, 0x2 - b _08068014 - .align 2, 0 -_08067FE8: .4byte 0x0202e858 -_08067FEC: - movs r0, 0x80 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08067FFA - movs r0, 0x1 - b _08068014 -_08067FFA: - movs r0, 0x20 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08068008 - movs r0, 0x3 - b _08068014 -_08068008: - movs r0, 0x10 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08068016 - movs r0, 0x4 -_08068014: - strb r0, [r4, 0x2] -_08068016: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end process_overworld_input - - thumb_func_start sub_8068024 -sub_8068024: @ 8068024 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r6, r0, 24 - mov r4, sp - mov r0, sp - bl player_get_pos_to_and_height - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_8083FBC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068150 - bl mapheader_run_first_tag2_script_list_match - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068150 - ldrb r1, [r5] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08068076 - bl sub_80687A4 - cmp r0, 0x1 - beq _08068150 -_08068076: - ldrb r1, [r5] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08068098 - movs r0, 0x5 - bl sav12_xor_increment - mov r0, sp - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_80687E4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068150 -_08068098: - ldrb r1, [r5] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080680B0 - adds r0, r4, 0 - bl is_it_battle_time_3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068150 -_080680B0: - ldrb r1, [r5] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080680D2 - ldrb r0, [r5, 0x2] - cmp r0, r6 - bne _080680D2 - mov r0, sp - adds r1, r4, 0 - adds r2, r6, 0 - bl mapheader_run_first_tag2_script_list_match_conditionally - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068150 -_080680D2: - mov r4, sp - mov r0, sp - bl player_get_next_pos_and_height - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08068108 - mov r0, sp - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_80681F0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068150 -_08068108: - ldrb r1, [r5] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0806812A - ldrb r0, [r5, 0x2] - cmp r0, r6 - bne _0806812A - mov r0, sp - adds r1, r4, 0 - adds r2, r6, 0 - bl map_warp_consider_2_to_inside - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068150 -_0806812A: - ldrb r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806813C - bl sub_8068770 - cmp r0, 0x1 - beq _08068150 -_0806813C: - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08068154 - movs r0, 0x6 - bl audio_play - bl sub_8071310 -_08068150: - movs r0, 0x1 - b _08068166 -_08068154: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08068164 - bl sub_80A6D1C - cmp r0, 0x1 - beq _08068150 -_08068164: - movs r0, 0 -_08068166: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8068024 - - thumb_func_start player_get_pos_to_and_height -player_get_pos_to_and_height: @ 8068170 - push {r4,lr} - adds r4, r0, 0 - adds r1, r4, 0x2 - bl PlayerGetDestCoords - bl PlayerGetZCoord - strb r0, [r4, 0x4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end player_get_pos_to_and_height - - thumb_func_start player_get_next_pos_and_height -player_get_next_pos_and_height: @ 8068188 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r1, r5, 0x2 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080681BA - bl PlayerGetZCoord -_080681BA: - strb r0, [r5, 0x4] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end player_get_next_pos_and_height - - thumb_func_start cur_mapdata_block_role_at_player_pos -cur_mapdata_block_role_at_player_pos: @ 80681C4 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r0, 16 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end cur_mapdata_block_role_at_player_pos - - thumb_func_start sub_80681F0 -sub_80681F0: @ 80681F0 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - lsls r1, 24 - lsrs r1, 24 - bl TryGetScriptOnPressingA - adds r4, r0, 0 - cmp r4, 0 - bne _08068208 - movs r0, 0 - b _08068234 -_08068208: - ldr r0, _0806823C - cmp r4, r0 - beq _0806822C - ldr r0, _08068240 - cmp r4, r0 - beq _0806822C - ldr r0, _08068244 - cmp r4, r0 - beq _0806822C - ldr r0, _08068248 - cmp r4, r0 - beq _0806822C - ldr r0, _0806824C - cmp r4, r0 - beq _0806822C - movs r0, 0x5 - bl audio_play -_0806822C: - adds r0, r4, 0 - bl script_env_1_execute_new_script - movs r0, 0x1 -_08068234: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806823C: .4byte gUnknown_0815281E -_08068240: .4byte gUnknown_08152C39 -_08068244: .4byte gUnknown_0815F36C -_08068248: .4byte gUnknown_0815F43A -_0806824C: .4byte gUnknown_081A0009 - thumb_func_end sub_80681F0 - - thumb_func_start TryGetScriptOnPressingA -TryGetScriptOnPressingA: @ 8068250 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r8, r5 - lsls r2, 24 - lsrs r4, r2, 24 - adds r7, r4, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8068364 - cmp r0, 0 - bne _0806829C - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl TryGetInvisibleMapObjectScript - cmp r0, 0 - bne _0806829C - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8068500 - cmp r0, 0 - bne _0806829C - adds r0, r6, 0 - mov r1, r8 - adds r2, r7, 0 - bl TryGetFieldMoveScript - cmp r0, 0 - bne _0806829C - movs r0, 0 -_0806829C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end TryGetScriptOnPressingA - - thumb_func_start sub_80682A8 -sub_80682A8: @ 80682A8 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r2, 24 - lsrs r6, r2, 24 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsCounter - lsls r0, 24 - cmp r0, 0 - bne _080682D0 - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - b _080682EE -_080682D0: - ldr r1, _08068314 - lsls r2, r6, 3 - adds r0, r2, r1 - ldr r3, [r0] - ldrh r0, [r4] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x4 - adds r2, r1 - ldr r2, [r2] - ldrh r1, [r4, 0x2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 -_080682EE: - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _0806830E - ldr r1, _08068318 - lsls r2, r3, 3 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - adds r5, r1, 0 - cmp r0, 0xFF - bne _0806831C -_0806830E: - movs r0, 0 - b _0806834E - .align 2, 0 -_08068314: .4byte gUnknown_0821664C -_08068318: .4byte 0x030048a0 -_0806831C: - movs r4, 0 - ldr r1, _08068354 -_08068320: - ldrb r0, [r1] - cmp r0, 0x1 - bne _0806832C - ldrb r0, [r1, 0x2] - cmp r0, r3 - beq _0806830E -_0806832C: - adds r1, 0x4 - adds r4, 0x1 - cmp r4, 0x3 - ble _08068320 - ldr r0, _08068358 - strb r3, [r0] - ldr r1, _0806835C - adds r0, r2, r3 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x8] - strh r0, [r1] - ldr r0, _08068360 - strh r6, [r0] - adds r0, r3, 0 - bl GetFieldObjectScriptPointerByFieldObjectId -_0806834E: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068354: .4byte 0x02029818 -_08068358: .4byte 0x03004ae0 -_0806835C: .4byte 0x0202e8de -_08068360: .4byte 0x0202e8e0 - thumb_func_end sub_80682A8 - - thumb_func_start sub_8068364 -sub_8068364: @ 8068364 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _08068392 - ldr r1, _080683E0 - lsls r2, r3, 3 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - cmp r0, 0xFF - bne _080683E8 -_08068392: - adds r0, r5, 0 - bl MetatileBehavior_IsCounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080683DC - ldr r1, _080683E4 - lsls r2, r6, 3 - adds r0, r2, r1 - ldr r3, [r0] - ldrh r0, [r4] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x4 - adds r2, r1 - ldr r2, [r2] - ldrh r1, [r4, 0x2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - ldrb r2, [r4, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _080683DC - ldr r1, _080683E0 - lsls r2, r3, 3 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - cmp r0, 0xFF - bne _080683E8 -_080683DC: - movs r0, 0 - b _0806840C - .align 2, 0 -_080683E0: .4byte 0x030048a0 -_080683E4: .4byte gUnknown_0821664C -_080683E8: - ldr r0, _08068414 - strb r3, [r0] - ldr r4, _08068418 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x8] - strh r0, [r4] - ldr r0, _0806841C - strh r6, [r0] - adds r0, r3, 0 - bl GetFieldObjectScriptPointerByFieldObjectId - adds r1, r0, 0 - ldrb r0, [r4] - bl sub_806580C - adds r1, r0, 0 -_0806840C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068414: .4byte 0x03004ae0 -_08068418: .4byte 0x0202e8de -_0806841C: .4byte 0x0202e8e0 - thumb_func_end sub_8068364 - - thumb_func_start TryGetInvisibleMapObjectScript -TryGetInvisibleMapObjectScript: @ 8068420 - push {r4,r5,lr} - lsls r2, 24 - lsrs r5, r2, 24 - ldr r4, _08068450 - ldrh r1, [r0] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r0, 0x4] - adds r0, r4, 0 - bl FindInvisibleMapObjectByPosition - cmp r0, 0 - beq _08068494 - ldr r2, [r0, 0x8] - cmp r2, 0 - bne _08068458 - ldr r0, _08068454 - b _080684FA - .align 2, 0 -_08068450: .4byte 0x0202e828 -_08068454: .4byte gUnknown_081C6C02 -_08068458: - ldrb r0, [r0, 0x5] - cmp r0, 0x8 - bhi _080684F8 - lsls r0, 2 - ldr r1, _08068468 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08068468: .4byte _0806846C - .align 2, 0 -_0806846C: - .4byte _080684F8 - .4byte _08068490 - .4byte _08068498 - .4byte _0806849E - .4byte _080684A4 - .4byte _080684AA - .4byte _080684AA - .4byte _080684AA - .4byte _080684D8 -_08068490: - cmp r5, 0x2 - beq _080684F8 -_08068494: - movs r0, 0 - b _080684FA -_08068498: - cmp r5, 0x1 - beq _080684F8 - b _08068494 -_0806849E: - cmp r5, 0x4 - beq _080684F8 - b _08068494 -_080684A4: - cmp r5, 0x3 - beq _080684F8 - b _08068494 -_080684AA: - ldr r1, _080684CC - lsrs r0, r2, 16 - movs r3, 0x96 - lsls r3, 2 - adds r0, r3 - strh r0, [r1] - ldr r0, _080684D0 - strh r2, [r0] - ldrh r0, [r1] - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068494 - ldr r0, _080684D4 - b _080684FA - .align 2, 0 -_080684CC: .4byte 0x0202e8cc -_080684D0: .4byte 0x0202e8ce -_080684D4: .4byte HiddenItemScript -_080684D8: - cmp r5, 0x2 - bne _08068494 - ldr r0, _080684F0 - strh r2, [r0] - bl sub_80BC050 - lsls r0, 24 - cmp r0, 0 - beq _08068494 - ldr r0, _080684F4 - b _080684FA - .align 2, 0 -_080684F0: .4byte 0x0202e8cc -_080684F4: .4byte gUnknown_081A2C51 -_080684F8: - adds r0, r2, 0 -_080684FA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end TryGetInvisibleMapObjectScript - - thumb_func_start sub_8068500 -sub_8068500: @ 8068500 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r2, 0 - bl MetatileBehavior_IsPlayerFacingTVScreen - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068524 - ldr r0, _08068520 - b _080686EE - .align 2, 0 -_08068520: .4byte Event_TV -_08068524: - adds r0, r5, 0 - bl MetatileBehavior_IsPC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806853C - ldr r0, _08068538 - b _080686EE - .align 2, 0 -_08068538: .4byte gUnknown_081A0009 -_0806853C: - adds r0, r5, 0 - bl is_tile_x8B - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068554 - ldr r0, _08068550 - b _080686EE - .align 2, 0 -_08068550: .4byte ClosedSootopolisGymDoorScript -_08068554: - adds r0, r5, 0 - bl is_tile_x84 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806856C - ldr r0, _08068568 - b _080686EE - .align 2, 0 -_08068568: .4byte gUnknown_081A4363 -_0806856C: - adds r0, r5, 0 - bl is_tile_x87 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068584 - ldr r0, _08068580 - b _080686EE - .align 2, 0 -_08068580: .4byte gUnknown_081C346A -_08068584: - adds r0, r5, 0 - bl is_tile_x8C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806859C - ldr r0, _08068598 - b _080686EE - .align 2, 0 -_08068598: .4byte gUnknown_081616E1 -_0806859C: - adds r0, r5, 0 - bl is_tile_x85 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685B4 - ldr r0, _080685B0 - b _080686EE - .align 2, 0 -_080685B0: .4byte Event_WorldMap -_080685B4: - adds r0, r5, 0 - bl sub_805791C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685CC - ldr r0, _080685C8 - b _080686EE - .align 2, 0 -_080685C8: .4byte Event_RunningShoesManual -_080685CC: - adds r0, r5, 0 - bl sub_8057930 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685E4 - ldr r0, _080685E0 - b _080686EE - .align 2, 0 -_080685E0: .4byte PictureBookShelfScript -_080685E4: - adds r0, r5, 0 - bl sub_8057944 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080685FC - ldr r0, _080685F8 - b _080686EE - .align 2, 0 -_080685F8: .4byte BookshelfScript -_080685FC: - adds r0, r5, 0 - bl sub_8057958 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068614 - ldr r0, _08068610 - b _080686EE - .align 2, 0 -_08068610: .4byte PokemonCenterBookshelfScript -_08068614: - adds r0, r5, 0 - bl sub_805796C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806862C - ldr r0, _08068628 - b _080686EE - .align 2, 0 -_08068628: .4byte VaseScript -_0806862C: - adds r0, r5, 0 - bl sub_8057980 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068644 - ldr r0, _08068640 - b _080686EE - .align 2, 0 -_08068640: .4byte TrashCanScript -_08068644: - adds r0, r5, 0 - bl sub_8057994 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806865C - ldr r0, _08068658 - b _080686EE - .align 2, 0 -_08068658: .4byte ShopShelfScript -_0806865C: - adds r0, r5, 0 - bl sub_80579A8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068674 - ldr r0, _08068670 - b _080686EE - .align 2, 0 -_08068670: .4byte BlueprintScript -_08068674: - movs r4, 0x4 - ldrsb r4, [r6, r4] - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0x2 - ldrsh r1, [r6, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080686EC - adds r0, r5, 0 - bl sub_8057238 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686A4 - ldr r0, _080686A0 - b _080686EE - .align 2, 0 -_080686A0: .4byte gUnknown_0815F36C -_080686A4: - adds r0, r5, 0 - bl sub_805724C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686BC - ldr r0, _080686B8 - b _080686EE - .align 2, 0 -_080686B8: .4byte gUnknown_0815F43A -_080686BC: - adds r0, r5, 0 - bl sub_8057364 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686D4 - ldr r0, _080686D0 - b _080686EE - .align 2, 0 -_080686D0: .4byte gUnknown_0815F523 -_080686D4: - adds r0, r5, 0 - bl sub_8057378 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080686EC - ldr r0, _080686E8 - b _080686EE - .align 2, 0 -_080686E8: .4byte gUnknown_0815F528 -_080686EC: - movs r0, 0 -_080686EE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8068500 - - thumb_func_start TryGetFieldMoveScript -TryGetFieldMoveScript: @ 80686F4 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _08068724 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806872C - bl PartyHasMonWithSurf - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806872C - bl IsPlayerFacingSurfableFishableWater - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806872C - ldr r0, _08068728 - b _0806876A - .align 2, 0 -_08068724: .4byte 0x0000080b -_08068728: .4byte UseSurfScript -_0806872C: - adds r0, r4, 0 - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068768 - ldr r0, _08068758 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068760 - bl IsPlayerSurfingNorth - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068760 - ldr r0, _0806875C - b _0806876A - .align 2, 0 -_08068758: .4byte 0x0000080e -_0806875C: .4byte UseWaterfallScript -_08068760: - ldr r0, _08068764 - b _0806876A - .align 2, 0 -_08068764: .4byte CannotUseWaterfallScript -_08068768: - movs r0, 0 -_0806876A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end TryGetFieldMoveScript - - thumb_func_start sub_8068770 -sub_8068770: @ 8068770 - push {lr} - ldr r0, _08068794 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0806879C - bl sub_8068F18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0806879C - ldr r0, _08068798 - bl script_env_1_execute_new_script - movs r0, 0x1 - b _0806879E - .align 2, 0 -_08068794: .4byte 0x0000080d -_08068798: .4byte UseDiveScript -_0806879C: - movs r0, 0 -_0806879E: - pop {r1} - bx r1 - thumb_func_end sub_8068770 - - thumb_func_start sub_80687A4 -sub_80687A4: @ 80687A4 - push {lr} - ldr r0, _080687D0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080687DC - ldr r0, _080687D4 - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _080687DC - bl sub_8068F18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080687DC - ldr r0, _080687D8 - bl script_env_1_execute_new_script - movs r0, 0x1 - b _080687DE - .align 2, 0 -_080687D0: .4byte 0x0000080d -_080687D4: .4byte 0x0202e828 -_080687D8: .4byte UnderwaterUseDiveScript -_080687DC: - movs r0, 0 -_080687DE: - pop {r1} - bx r1 - thumb_func_end sub_80687A4 - - thumb_func_start sub_80687E4 -sub_80687E4: @ 80687E4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r6, r4, 0 - bl mapheader_trigger_activate_at__run_now - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8068A64 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - adds r0, r6, 0 - bl sub_8068870 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - bl sub_8068894 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - bl sub_8085558 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068834 - movs r0, 0 - b _08068836 -_08068834: - movs r0, 0x1 -_08068836: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80687E4 - - thumb_func_start mapheader_trigger_activate_at__run_now -mapheader_trigger_activate_at__run_now: @ 806883C - push {r4,lr} - ldr r4, _08068864 - ldrh r1, [r0] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r0, 0x4] - adds r0, r4, 0 - bl mapheader_trigger_activate_at - cmp r0, 0 - beq _08068868 - bl script_env_1_execute_new_script - movs r0, 0x1 - b _0806886A - .align 2, 0 -_08068864: .4byte 0x0202e828 -_08068868: - movs r0, 0 -_0806886A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end mapheader_trigger_activate_at__run_now - - thumb_func_start sub_8068870 -sub_8068870: @ 8068870 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8057818 - lsls r0, 24 - cmp r0, 0 - bne _08068884 - movs r0, 0 - b _0806888C -_08068884: - ldr r0, _08068890 - bl script_env_1_execute_new_script - movs r0, 0x1 -_0806888C: - pop {r1} - bx r1 - .align 2, 0 -_08068890: .4byte GraniteCave_B1F_EventScript_1C6BC5 - thumb_func_end sub_8068870 - - thumb_func_start sub_8068894 -sub_8068894: @ 8068894 - push {lr} - bl sub_8082B78 - bl happiness_algorithm_step - bl overworld_poison_step - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080688B4 - ldr r0, _080688B0 - b _080688E8 - .align 2, 0 -_080688B0: .4byte gUnknown_081A14B8 -_080688B4: - bl sub_80422A0 - lsls r0, 24 - cmp r0, 0 - beq _080688CC - movs r0, 0xD - bl sav12_xor_increment - ldr r0, _080688C8 - b _080688E8 - .align 2, 0 -_080688C8: .4byte Event_EggHatch -_080688CC: - bl safari_step - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080688EC - movs r0, 0x1 - bl sub_810D9B0 - cmp r0, 0x1 - beq _080688E6 - movs r0, 0 - b _080688EE -_080688E6: - ldr r0, _080688F4 -_080688E8: - bl script_env_1_execute_new_script -_080688EC: - movs r0, 0x1 -_080688EE: - pop {r1} - bx r1 - .align 2, 0 -_080688F4: .4byte gUnknown_0815FD0D - thumb_func_end sub_8068894 - - thumb_func_start unref_sub_80688F8 -unref_sub_80688F8: @ 80688F8 - push {lr} - ldr r0, _08068908 - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08068908: .4byte 0x0000402a - thumb_func_end unref_sub_80688F8 - - thumb_func_start happiness_algorithm_step -happiness_algorithm_step: @ 806890C - push {r4,r5,lr} - ldr r0, _08068940 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - ldrh r1, [r0] - movs r2, 0x7F - ands r1, r2 - strh r1, [r0] - cmp r1, 0 - bne _0806893A - ldr r5, _08068944 - movs r4, 0x5 -_0806892A: - adds r0, r5, 0 - movs r1, 0x5 - bl sub_803FCD4 - adds r5, 0x64 - subs r4, 0x1 - cmp r4, 0 - bge _0806892A -_0806893A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068940: .4byte 0x0000402a -_08068944: .4byte 0x03004360 - thumb_func_end happiness_algorithm_step - - thumb_func_start overworld_poison_timer_set -overworld_poison_timer_set: @ 8068948 - push {lr} - ldr r0, _08068958 - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08068958: .4byte 0x0000402b - thumb_func_end overworld_poison_timer_set - - thumb_func_start overworld_poison_step -overworld_poison_step: @ 806895C - push {lr} - ldr r0, _08068994 - ldrb r0, [r0, 0x17] - cmp r0, 0x9 - beq _0806899C - ldr r0, _08068998 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - ldrh r1, [r0] - movs r2, 0x3 - ands r1, r2 - strh r1, [r0] - cmp r1, 0 - bne _0806899C - bl overworld_poison - cmp r0, 0x1 - beq _0806899C - cmp r0, 0x1 - ble _0806899C - cmp r0, 0x2 - bne _0806899C - movs r0, 0x1 - b _0806899E - .align 2, 0 -_08068994: .4byte 0x0202e828 -_08068998: .4byte 0x0000402b -_0806899C: - movs r0, 0 -_0806899E: - pop {r1} - bx r1 - thumb_func_end overworld_poison_step - - thumb_func_start prev_quest_postbuffer_cursor_backup_reset -prev_quest_postbuffer_cursor_backup_reset: @ 80689A4 - ldr r1, _080689AC - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080689AC: .4byte 0x0202e8c0 - thumb_func_end prev_quest_postbuffer_cursor_backup_reset - - thumb_func_start is_it_battle_time_3 -is_it_battle_time_3: @ 80689B0 - push {r4-r7,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r7, r4, 0 - ldr r6, _080689CC - ldrb r0, [r6] - cmp r0, 0x3 - bhi _080689D4 - adds r0, 0x1 - strb r0, [r6] - ldr r0, _080689D0 - strh r4, [r0] - movs r0, 0 - b _080689F8 - .align 2, 0 -_080689CC: .4byte 0x0202e8c0 -_080689D0: .4byte 0x0202e8c2 -_080689D4: - ldr r5, _080689EC - ldrh r1, [r5] - adds r0, r4, 0 - bl sub_8085104 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080689F0 - strh r4, [r5] - movs r0, 0 - b _080689F8 - .align 2, 0 -_080689EC: .4byte 0x0202e8c2 -_080689F0: - movs r0, 0 - strb r0, [r6] - strh r7, [r5] - movs r0, 0x1 -_080689F8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end is_it_battle_time_3 - - thumb_func_start mapheader_run_first_tag2_script_list_match_conditionally -mapheader_run_first_tag2_script_list_match_conditionally: @ 8068A00 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08068A54 - mov r8, r0 - adds r1, r7, 0 - bl map_warp_check_packed - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl is_non_stair_warp_tile - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068A58 - lsls r0, r6, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08068A58 - bl walkrun_find_lowest_active_bit_in_bitfield - mov r0, r8 - adds r1, r4, 0 - adds r2, r7, 0 - bl sub_8068C30 - bl sub_8080E88 - movs r0, 0x1 - b _08068A5A - .align 2, 0 -_08068A54: .4byte 0x0202e828 -_08068A58: - movs r0, 0 -_08068A5A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end mapheader_run_first_tag2_script_list_match_conditionally - - thumb_func_start sub_8068A64 -sub_8068A64: @ 8068A64 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r7, _08068ABC - adds r0, r7, 0 - adds r1, r6, 0 - bl map_warp_check_packed - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08068B28 - adds r0, r5, 0 - bl sub_8068B30 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068B28 - bl walkrun_find_lowest_active_bit_in_bitfield - adds r0, r7, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_8068C30 - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsEscalator - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068AC0 - adds r0, r4, 0 - bl sub_8080F2C - movs r0, 0x1 - b _08068B2A - .align 2, 0 -_08068ABC: .4byte 0x0202e828 -_08068AC0: - adds r0, r4, 0 - bl sub_8057798 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068AD6 - bl sub_8080F48 - movs r0, 0x1 - b _08068B2A -_08068AD6: - adds r0, r4, 0 - bl is_role_x68 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068AEC - bl sub_8080F58 - movs r0, 0x1 - b _08068B2A -_08068AEC: - adds r0, r4, 0 - bl MetatileBehavior_IsAquaHideoutWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068B02 - bl sub_8080F68 - movs r0, 0x1 - b _08068B2A -_08068B02: - adds r0, r4, 0 - bl sub_8057804 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068B20 - ldr r0, _08068B1C - bl script_env_1_execute_new_script - movs r0, 0x1 - b _08068B2A - .align 2, 0 -_08068B1C: .4byte gUnknown_081C6BDE -_08068B20: - bl sub_8080E88 - movs r0, 0x1 - b _08068B2A -_08068B28: - movs r0, 0 -_08068B2A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8068A64 - - thumb_func_start sub_8068B30 -sub_8068B30: @ 8068B30 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl is_tile_x69_2_warp_door - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsLadder - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsEscalator - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl sub_8056F08 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl sub_8057798 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl is_role_x68 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl MetatileBehavior_IsAquaHideoutWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - adds r0, r4, 0 - bl sub_8057804 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068BAA - movs r0, 0 - b _08068BAC -_08068BAA: - movs r0, 0x1 -_08068BAC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068B30 - - thumb_func_start is_non_stair_warp_tile -is_non_stair_warp_tile: @ 8068BB4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x2 - beq _08068BD8 - cmp r1, 0x2 - bgt _08068BCE - cmp r1, 0x1 - beq _08068BE2 - b _08068C04 -_08068BCE: - cmp r2, 0x3 - beq _08068BEC - cmp r2, 0x4 - beq _08068BF6 - b _08068C04 -_08068BD8: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsNorthArrowWarp - b _08068BFE -_08068BE2: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSouthArrowWarp - b _08068BFE -_08068BEC: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWestArrowWarp - b _08068BFE -_08068BF6: - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsEastArrowWarp -_08068BFE: - lsls r0, 24 - lsrs r0, 24 - b _08068C06 -_08068C04: - movs r0, 0 -_08068C06: - pop {r1} - bx r1 - thumb_func_end is_non_stair_warp_tile - - thumb_func_start map_warp_check_packed -map_warp_check_packed: @ 8068C0C - push {lr} - adds r3, r1, 0 - ldrh r1, [r3] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r3, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r3, 0x4] - bl map_warp_check - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end map_warp_check_packed - - thumb_func_start sub_8068C30 -sub_8068C30: @ 8068C30 - push {r4-r7,lr} - adds r5, r2, 0 - ldr r0, _08068C50 - ldr r0, [r0, 0x4] - lsls r1, 24 - asrs r7, r1, 24 - lsls r6, r7, 3 - ldr r0, [r0, 0x8] - adds r4, r0, r6 - ldrb r0, [r4, 0x6] - cmp r0, 0x7F - bne _08068C54 - ldrb r0, [r4, 0x5] - bl copy_saved_warp2_bank_and_enter_x_to_warp1 - b _08068C9E - .align 2, 0 -_08068C50: .4byte 0x0202e828 -_08068C54: - movs r0, 0x7 - ldrsb r0, [r4, r0] - movs r1, 0x6 - ldrsb r1, [r4, r1] - movs r2, 0x5 - ldrsb r2, [r4, r2] - bl warp1_set_2 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r2, 0x2 - ldrsh r1, [r5, r2] - bl sub_80535C4 - ldrb r0, [r4, 0x7] - ldrb r1, [r4, 0x6] - bl get_mapheader_by_bank_and_number - ldr r1, [r0, 0x4] - ldrb r0, [r4, 0x5] - ldr r1, [r1, 0x8] - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x6] - cmp r0, 0x7F - bne _08068C9E - adds r0, r6, r1 - ldrb r0, [r0, 0x5] - ldr r2, _08068CA4 - movs r1, 0x4 - ldrsb r1, [r2, r1] - ldrb r2, [r2, 0x5] - lsls r2, 24 - asrs r2, 24 - adds r3, r7, 0 - bl saved_warp2_set -_08068C9E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068CA4: .4byte 0x02025734 - thumb_func_end sub_8068C30 - - thumb_func_start map_warp_consider_2_to_inside -map_warp_consider_2_to_inside: @ 8068CA8 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r0, r1, 16 - adds r7, r0, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0x2 - bne _08068D2C - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80571C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068CE0 - ldr r0, _08068CDC - ldr r1, [r0, 0x4] - adds r0, r5, 0 - bl sub_80BC038 - movs r0, 0x1 - b _08068D2E - .align 2, 0 -_08068CDC: .4byte 0x0202e828 -_08068CE0: - adds r0, r4, 0 - bl is_tile_x69_2_warp_door - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068D2C - ldr r6, _08068D28 - adds r0, r6, 0 - adds r1, r5, 0 - bl map_warp_check_packed - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08068D2C - adds r0, r7, 0 - bl sub_8068B30 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068D2C - bl walkrun_find_lowest_active_bit_in_bitfield - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8068C30 - bl sub_8080EF0 - movs r0, 0x1 - b _08068D2E - .align 2, 0 -_08068D28: .4byte 0x0202e828 -_08068D2C: - movs r0, 0 -_08068D2E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end map_warp_consider_2_to_inside - - thumb_func_start map_warp_check -map_warp_check: @ 8068D34 - push {r4-r6,lr} - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 24 - lsrs r4, r3, 24 - ldr r0, [r0, 0x4] - ldr r1, [r0, 0x8] - ldrb r3, [r0, 0x1] - movs r2, 0 - cmp r2, r3 - bge _08068D72 -_08068D4E: - ldrh r0, [r1] - cmp r0, r6 - bne _08068D6A - ldrh r0, [r1, 0x2] - cmp r0, r5 - bne _08068D6A - ldrb r0, [r1, 0x4] - cmp r0, r4 - beq _08068D64 - cmp r0, 0 - bne _08068D6A -_08068D64: - lsls r0, r2, 24 - asrs r0, 24 - b _08068D76 -_08068D6A: - adds r2, 0x1 - adds r1, 0x8 - cmp r2, r3 - blt _08068D4E -_08068D72: - movs r0, 0x1 - negs r0, r0 -_08068D76: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end map_warp_check - - thumb_func_start trigger_activate -trigger_activate: @ 8068D7C - push {r4,lr} - adds r4, r0, 0 - cmp r4, 0 - beq _08068DB2 - ldr r1, [r4, 0xC] - cmp r1, 0 - bne _08068D92 - ldrb r0, [r4, 0x6] - bl sub_8069408 - b _08068DB2 -_08068D92: - ldrh r0, [r4, 0x6] - cmp r0, 0 - beq _08068DAC - ldrh r0, [r4, 0x6] - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r4, 0x8] - cmp r0, r1 - bne _08068DB2 - ldr r0, [r4, 0xC] - b _08068DB4 -_08068DAC: - adds r0, r1, 0 - bl script_env_2_execute_new_script -_08068DB2: - movs r0, 0 -_08068DB4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end trigger_activate - - thumb_func_start mapheader_trigger_activate_at -mapheader_trigger_activate_at: @ 8068DBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, [r0, 0x4] - ldr r1, [r0, 0xC] - ldrb r7, [r0, 0x2] - movs r6, 0 - cmp r6, r7 - bge _08068E12 - adds r5, r1, 0 - adds r4, r5, 0 -_08068DE8: - ldrh r0, [r4] - cmp r0, r10 - bne _08068E08 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bne _08068E08 - ldrb r0, [r4, 0x4] - cmp r0, r8 - beq _08068DFE - cmp r0, 0 - bne _08068E08 -_08068DFE: - adds r0, r5, 0 - bl trigger_activate - cmp r0, 0 - bne _08068E14 -_08068E08: - adds r4, 0x10 - adds r5, 0x10 - adds r6, 0x1 - cmp r6, r7 - blt _08068DE8 -_08068E12: - movs r0, 0 -_08068E14: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end mapheader_trigger_activate_at - - thumb_func_start sub_8068E24 -sub_8068E24: @ 8068E24 - push {r4,lr} - ldr r4, _08068E48 - ldrh r1, [r0] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, 0x7 - lsls r2, 16 - lsrs r2, 16 - ldrb r3, [r0, 0x4] - adds r0, r4, 0 - bl mapheader_trigger_activate_at - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08068E48: .4byte 0x0202e828 - thumb_func_end sub_8068E24 - - thumb_func_start FindInvisibleMapObjectByPosition -FindInvisibleMapObjectByPosition: @ 8068E4C - push {r4-r7,lr} - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, [r0, 0x4] - ldr r4, [r0, 0x10] - ldrb r3, [r0, 0x3] - movs r2, 0 - cmp r2, r3 - bcs _08068E92 -_08068E66: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, r7 - bne _08068E88 - ldrh r0, [r1, 0x2] - cmp r0, r6 - bne _08068E88 - ldrb r0, [r1, 0x4] - cmp r0, r5 - beq _08068E84 - cmp r0, 0 - bne _08068E88 -_08068E84: - adds r0, r1, 0 - b _08068E94 -_08068E88: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _08068E66 -_08068E92: - movs r0, 0 -_08068E94: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end FindInvisibleMapObjectByPosition - - thumb_func_start dive_warp -dive_warp: @ 8068E9C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r0, _08068ED0 - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _08068ED4 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_805750C - lsls r0, 24 - cmp r0, 0 - bne _08068ED4 - ldrh r0, [r4] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x2] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538B0 - b _08068EF8 - .align 2, 0 -_08068ED0: .4byte 0x0202e828 -_08068ED4: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80574EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068F10 - ldrh r0, [r4] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x2] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538D0 -_08068EF8: - lsls r0, 24 - cmp r0, 0 - beq _08068F10 - bl walkrun_find_lowest_active_bit_in_bitfield - bl sp13E_warp_to_last_warp - movs r0, 0xE9 - bl audio_play - movs r0, 0x1 - b _08068F12 -_08068F10: - movs r0, 0 -_08068F12: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end dive_warp - - thumb_func_start sub_8068F18 -sub_8068F18: @ 8068F18 - push {r4,r5,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08068F70 - ldrb r0, [r0, 0x17] - cmp r0, 0x5 - bne _08068F74 - adds r0, r5, 0 - bl sub_805750C - lsls r0, 24 - cmp r0, 0 - bne _08068F74 - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068FA4 - movs r0, 0x1 - b _08068FA6 - .align 2, 0 -_08068F70: .4byte 0x0202e828 -_08068F74: - adds r0, r5, 0 - bl sub_80574EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068FA4 - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - bl sub_80538D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08068FA4 - movs r0, 0x2 - b _08068FA6 -_08068FA4: - movs r0, 0 -_08068FA6: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8068F18 - - thumb_func_start GetFieldObjectScriptPointerForComparison -GetFieldObjectScriptPointerForComparison: @ 8068FB0 - push {r4,r5,lr} - sub sp, 0x8 - bl player_get_direction_upper_nybble - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r5, sp - mov r0, sp - bl player_get_next_pos_and_height - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0x2 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - adds r2, r4, 0 - bl sub_8068364 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetFieldObjectScriptPointerForComparison - - thumb_func_start sub_8068FEC -sub_8068FEC: @ 8068FEC - push {r4,lr} - sub sp, 0x8 - bl player_get_direction_upper_nybble - mov r4, sp - mov r0, sp - bl player_get_pos_to_and_height - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - ldr r4, _0806902C - adds r0, r4, 0 - mov r1, sp - bl map_warp_check_packed - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - mov r2, sp - bl sub_8068C30 - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806902C: .4byte 0x0202e828 - thumb_func_end sub_8068FEC - - thumb_func_start sub_8069030 -sub_8069030: @ 8069030 - push {r4,lr} - ldr r4, _08069064 - movs r2, 0x90 - lsls r2, 1 - adds r0, r4, 0 - movs r1, 0 - bl memset - movs r0, 0x90 - lsls r0, 1 - adds r4, r0 - movs r2, 0x80 - lsls r2, 2 - adds r0, r4, 0 - movs r1, 0 - bl memset - ldr r0, _08069068 - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08069064: .4byte 0x02026954 -_08069068: .4byte 0x0202e8e2 - thumb_func_end sub_8069030 - - thumb_func_start sub_806906C -sub_806906C: @ 806906C - push {lr} - ldr r0, _080690A0 - movs r1, 0 - str r1, [r0] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - movs r2, 0x20 - bl memset - ldr r0, _080690A4 - bl FlagReset - ldr r0, _080690A8 - bl FlagReset - ldr r0, _080690AC - bl FlagReset - ldr r0, _080690B0 - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_080690A0: .4byte 0x02026954 -_080690A4: .4byte 0x0000084d -_080690A8: .4byte 0x0000084e -_080690AC: .4byte 0x00000829 -_080690B0: .4byte 0x00000861 - thumb_func_end sub_806906C - - thumb_func_start sub_80690B4 -sub_80690B4: @ 80690B4 - push {lr} - ldr r0, _080690C4 - movs r1, 0 - movs r2, 0x8 - bl memset - pop {r0} - bx r0 - .align 2, 0 -_080690C4: .4byte 0x02026a6c - thumb_func_end sub_80690B4 - - thumb_func_start sub_80690C8 -sub_80690C8: @ 80690C8 - push {lr} - ldr r0, _080690E4 - bl GetVarPointer - ldr r2, _080690E8 - movs r1, 0 - strb r1, [r2, 0x1A] - strh r1, [r0] - ldr r0, _080690EC - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_080690E4: .4byte 0x00004046 -_080690E8: .4byte gSaveBlock2 -_080690EC: .4byte 0x00000836 - thumb_func_end sub_80690C8 - - thumb_func_start sub_80690F0 -sub_80690F0: @ 80690F0 - push {r4,r5,lr} - ldr r0, _0806911C - bl GetVarPointer - ldr r4, _08069120 - movs r5, 0 - movs r1, 0xDA - strb r1, [r4, 0x1A] - ldr r2, _08069124 - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _08069128 - bl FlagSet - movs r0, 0x1 - strb r0, [r4, 0x19] - strb r5, [r4, 0x18] - bl sub_808C0A0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806911C: .4byte 0x00004046 -_08069120: .4byte gSaveBlock2 -_08069124: .4byte 0x00000302 -_08069128: .4byte 0x00000836 - thumb_func_end sub_80690F0 - - thumb_func_start sub_806912C -sub_806912C: @ 806912C - push {lr} - ldr r0, _08069154 - ldrb r0, [r0, 0x1A] - cmp r0, 0xDA - bne _08069164 - ldr r0, _08069158 - bl VarGet - lsls r0, 16 - ldr r1, _0806915C - cmp r0, r1 - bne _08069164 - ldr r0, _08069160 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08069164 - movs r0, 0x1 - b _08069166 - .align 2, 0 -_08069154: .4byte gSaveBlock2 -_08069158: .4byte 0x00004046 -_0806915C: .4byte 0x03020000 -_08069160: .4byte 0x00000836 -_08069164: - movs r0, 0 -_08069166: - pop {r1} - bx r1 - thumb_func_end sub_806912C - - thumb_func_start unref_sub_806916C -unref_sub_806916C: @ 806916C - push {lr} - ldr r0, _08069178 - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_08069178: .4byte 0x0000084c - thumb_func_end unref_sub_806916C - - thumb_func_start unref_sub_806917C -unref_sub_806917C: @ 806917C - push {lr} - ldr r0, _08069188 - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_08069188: .4byte 0x0000084c - thumb_func_end unref_sub_806917C - - thumb_func_start sub_806918C -sub_806918C: @ 806918C - push {lr} - ldr r0, _0806919C - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0806919C: .4byte 0x0000084c - thumb_func_end sub_806918C - - thumb_func_start sub_80691A0 -sub_80691A0: @ 80691A0 - push {lr} - ldr r0, _080691B4 - movs r1, 0 - bl VarSet - ldr r0, _080691B8 - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_080691B4: .4byte 0x0000402c -_080691B8: .4byte 0x00000862 - thumb_func_end sub_80691A0 - - thumb_func_start sub_80691BC -sub_80691BC: @ 80691BC - push {lr} - ldr r0, _080691D4 - movs r1, 0x92 - lsls r1, 4 - bl VarSet - ldr r0, _080691D8 - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_080691D4: .4byte 0x0000402c -_080691D8: .4byte 0x00000862 - thumb_func_end sub_80691BC - - thumb_func_start sub_80691DC -sub_80691DC: @ 80691DC - push {lr} - ldr r0, _08069200 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08069208 - ldr r0, _08069204 - bl VarGet - lsls r0, 16 - movs r1, 0x92 - lsls r1, 20 - cmp r0, r1 - bne _08069208 - movs r0, 0x1 - b _0806920A - .align 2, 0 -_08069200: .4byte 0x00000862 -_08069204: .4byte 0x0000402c -_08069208: - movs r0, 0 -_0806920A: - pop {r1} - bx r1 - thumb_func_end sub_80691DC - - thumb_func_start GetVarPointer -GetVarPointer: @ 8069210 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - ldr r0, _08069224 - cmp r1, r0 - bhi _08069228 - movs r0, 0 - b _0806924A - .align 2, 0 -_08069224: .4byte 0x00003fff -_08069228: - lsls r0, r1, 16 - cmp r0, 0 - bge _08069244 - ldr r0, _0806923C - ldr r2, _08069240 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - b _0806924A - .align 2, 0 -_0806923C: .4byte gUnknown_0814B14C -_08069240: .4byte 0xffff8000 -_08069244: - lsls r0, r2, 1 - ldr r1, _08069250 - adds r0, r1 -_0806924A: - pop {r1} - bx r1 - .align 2, 0 -_08069250: .4byte 0x0201ea74 - thumb_func_end GetVarPointer - - thumb_func_start VarGet -VarGet: @ 8069254 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl GetVarPointer - cmp r0, 0 - beq _08069268 - ldrh r0, [r0] - b _0806926A -_08069268: - adds r0, r4, 0 -_0806926A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end VarGet - - thumb_func_start VarSet -VarSet: @ 8069270 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - bl GetVarPointer - cmp r0, 0 - beq _08069288 - strh r4, [r0] - movs r0, 0x1 - b _0806928A -_08069288: - movs r0, 0 -_0806928A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end VarSet - - thumb_func_start VarGetFieldObjectGraphicsId -VarGetFieldObjectGraphicsId: @ 8069290 - push {lr} - lsls r0, 24 - lsrs r0, 8 - ldr r1, _080692A8 - adds r0, r1 - lsrs r0, 16 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080692A8: .4byte 0x40100000 - thumb_func_end VarGetFieldObjectGraphicsId - - thumb_func_start GetFlagPointer -GetFlagPointer: @ 80692AC - push {lr} - lsls r2, r0, 16 - lsrs r1, r2, 16 - adds r3, r1, 0 - cmp r1, 0 - bne _080692BC - movs r0, 0 - b _080692E2 -_080692BC: - ldr r0, _080692C8 - cmp r1, r0 - bhi _080692D0 - lsrs r0, r2, 19 - ldr r1, _080692CC - b _080692E0 - .align 2, 0 -_080692C8: .4byte 0x00003fff -_080692CC: .4byte 0x02026954 -_080692D0: - ldr r1, _080692E8 - adds r0, r3, r1 - cmp r0, 0 - bge _080692DC - adds r1, 0x7 - adds r0, r3, r1 -_080692DC: - asrs r0, 3 - ldr r1, _080692EC -_080692E0: - adds r0, r1 -_080692E2: - pop {r1} - bx r1 - .align 2, 0 -_080692E8: .4byte 0xffffc000 -_080692EC: .4byte 0x0202e8e2 - thumb_func_end GetFlagPointer - - thumb_func_start FlagSet -FlagSet: @ 80692F0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl GetFlagPointer - adds r2, r0, 0 - cmp r2, 0 - beq _08069310 - movs r0, 0x7 - ands r0, r4 - movs r1, 0x1 - lsls r1, r0 - ldrb r0, [r2] - orrs r1, r0 - strb r1, [r2] -_08069310: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end FlagSet - - thumb_func_start FlagReset -FlagReset: @ 8069318 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl GetFlagPointer - adds r2, r0, 0 - cmp r2, 0 - beq _08069338 - movs r0, 0x7 - ands r0, r4 - movs r1, 0x1 - lsls r1, r0 - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] -_08069338: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end FlagReset - - thumb_func_start FlagGet -FlagGet: @ 8069340 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl GetFlagPointer - cmp r0, 0 - beq _08069364 - ldrb r0, [r0] - movs r1, 0x7 - ands r1, r4 - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08069364 - movs r0, 0x1 - b _08069366 -_08069364: - movs r0, 0 -_08069366: - pop {r4} - pop {r1} - bx r1 - thumb_func_end FlagGet - - thumb_func_start sub_806936C -sub_806936C: @ 806936C - push {lr} - movs r0, 0x1 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_806936C - - thumb_func_start sub_8069378 -sub_8069378: @ 8069378 - push {lr} - movs r0, 0x2 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_8069378 - - thumb_func_start sub_8069384 -sub_8069384: @ 8069384 - push {lr} - movs r0, 0x3 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_8069384 - - thumb_func_start sub_8069390 -sub_8069390: @ 8069390 - push {lr} - movs r0, 0x4 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_8069390 - - thumb_func_start sub_806939C -sub_806939C: @ 806939C - push {lr} - movs r0, 0x5 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_806939C - - thumb_func_start sub_80693A8 -sub_80693A8: @ 80693A8 - push {lr} - movs r0, 0x6 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693A8 - - thumb_func_start sub_80693B4 -sub_80693B4: @ 80693B4 - push {lr} - movs r0, 0x9 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693B4 - - thumb_func_start sub_80693C0 -sub_80693C0: @ 80693C0 - push {lr} - movs r0, 0x7 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693C0 - - thumb_func_start sub_80693CC -sub_80693CC: @ 80693CC - push {lr} - movs r0, 0x8 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693CC - - thumb_func_start sub_80693D8 -sub_80693D8: @ 80693D8 - push {lr} - movs r0, 0xB - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693D8 - - thumb_func_start sub_80693E4 -sub_80693E4: @ 80693E4 - push {lr} - movs r0, 0xC - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693E4 - - thumb_func_start sub_80693F0 -sub_80693F0: @ 80693F0 - push {lr} - movs r0, 0x14 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693F0 - - thumb_func_start sub_80693FC -sub_80693FC: @ 80693FC - push {lr} - movs r0, 0x15 - bl sub_808070C - pop {r0} - bx r0 - thumb_func_end sub_80693FC - - thumb_func_start sub_8069408 -sub_8069408: @ 8069408 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r3, _08069428 -_08069412: - lsls r1, r2, 3 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r4 - bne _0806942C - adds r0, r3, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - bl _call_via_r0 - b _08069436 - .align 2, 0 -_08069428: .4byte gUnknown_083762FC -_0806942C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xC - bls _08069412 -_08069436: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8069408 - - thumb_func_start task_per_step_callback_manager -task_per_step_callback_manager: @ 806943C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08069460 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, _08069464 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08069460: .4byte 0x03004b20 -_08069464: .4byte gUnknown_08376364 - thumb_func_end task_per_step_callback_manager - - thumb_func_start sub_8069468 -sub_8069468: @ 8069468 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0806947A - cmp r0, 0x1 - beq _08069498 - b _080694AC -_0806947A: - ldr r0, _08069494 - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _080694AC - bl InTrainerHill - ldrh r0, [r4] - adds r0, 0x1 - b _080694AA - .align 2, 0 -_08069494: .4byte 0x03001770 -_08069498: - ldr r0, _080694B4 - ldr r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _080694AC - ldrh r0, [r4] - subs r0, 0x1 -_080694AA: - strh r0, [r4] -_080694AC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080694B4: .4byte 0x03001770 - thumb_func_end sub_8069468 - - thumb_func_start sub_80694B8 -sub_80694B8: @ 80694B8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080694E8 - adds r4, r1, r0 - bl script_env_2_is_enabled - lsls r0, 24 - cmp r0, 0 - bne _080694E0 - adds r0, r4, 0 - bl sub_8069468 - adds r0, r4, 0x2 - adds r1, r4, 0x4 - bl sub_80540D0 -_080694E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080694E8: .4byte 0x03004b28 - thumb_func_end sub_80694B8 - - thumb_func_start overworld_ensure_per_step_coros_running -overworld_ensure_per_step_coros_running: @ 80694EC - push {r4,r5,lr} - ldr r5, _08069548 - adds r0, r5, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08069516 - adds r0, r5, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806954C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] -_08069516: - ldr r4, _08069550 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0806952C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_0806952C: - ldr r4, _08069554 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08069542 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_08069542: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069548: .4byte task_per_step_callback_manager -_0806954C: .4byte 0x03004b20 -_08069550: .4byte sub_806A1E8 -_08069554: .4byte sub_80694B8 - thumb_func_end overworld_ensure_per_step_coros_running - - thumb_func_start activate_per_step_callback -activate_per_step_callback: @ 8069558 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08069590 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0806959A - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08069594 - adds r1, r0, r1 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x1E -_0806957C: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _0806957C - cmp r4, 0x7 - bls _08069598 - movs r0, 0 - strh r0, [r1] - b _0806959A - .align 2, 0 -_08069590: .4byte task_per_step_callback_manager -_08069594: .4byte 0x03004b28 -_08069598: - strh r4, [r1] -_0806959A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end activate_per_step_callback - - thumb_func_start wild_encounter_reset_coro_args -wild_encounter_reset_coro_args: @ 80695A0 - push {lr} - ldr r0, _080695D0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080695D4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _080695CA - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080695D8 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x2] - strh r1, [r0, 0x4] -_080695CA: - pop {r0} - bx r0 - .align 2, 0 -_080695D0: .4byte task_per_step_callback_manager -_080695D4: .4byte sub_80694B8 -_080695D8: .4byte 0x03004b28 - thumb_func_end wild_encounter_reset_coro_args - - thumb_func_start nullsub_51 -nullsub_51: @ 80695DC - bx lr - thumb_func_end nullsub_51 - - thumb_func_start sub_80695E0 -sub_80695E0: @ 80695E0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _080695F8 - adds r0, r5, 0 - b _08069630 -_080695F8: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _0806960A - adds r0, r5, 0 - adds r0, 0x8 - b _08069630 -_0806960A: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _0806961C - adds r0, r5, 0 - adds r0, 0x10 - b _08069630 -_0806961C: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - bne _0806962C - movs r0, 0 - b _08069630 -_0806962C: - adds r0, r5, 0 - adds r0, 0x18 -_08069630: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80695E0 - - thumb_func_start sub_8069638 -sub_8069638: @ 8069638 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r3 - lsls r1, 16 - asrs r6, r1, 16 - lsls r2, 16 - asrs r7, r2, 16 - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileBehaviorAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl sub_80695E0 - adds r4, r0, 0 - adds r5, r4, 0 - cmp r4, 0 - beq _080696B6 - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - ldrh r2, [r4, 0x2] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _0806968E - movs r0, 0 - ldrsb r0, [r4, r0] - adds r0, r6, r0 - movs r1, 0x1 - ldrsb r1, [r4, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_0806968E: - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - ldrh r2, [r5, 0x6] - bl MapGridSetMetatileIdAt - mov r0, r8 - cmp r0, 0 - beq _080696B6 - movs r0, 0x4 - ldrsb r0, [r5, r0] - adds r0, r6, r0 - movs r1, 0x5 - ldrsb r1, [r5, r1] - adds r1, r7, r1 - bl CurrentMapDrawMetatileAt -_080696B6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8069638 - - thumb_func_start sub_80696C0 -sub_80696C0: @ 80696C0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _080696E0 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080696E0: .4byte gUnknown_08376384 - thumb_func_end sub_80696C0 - - thumb_func_start sub_80696E4 -sub_80696E4: @ 80696E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _08069704 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069704: .4byte gUnknown_083763A4 - thumb_func_end sub_80696E4 - - thumb_func_start sub_8069708 -sub_8069708: @ 8069708 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _08069728 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8069638 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069728: .4byte gUnknown_083763C4 - thumb_func_end sub_8069708 - - thumb_func_start sub_806972C -sub_806972C: @ 806972C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r10, r8 - lsls r1, 16 - lsrs r7, r1, 16 - mov r9, r7 - lsls r2, 16 - asrs r6, r2, 16 - lsls r3, 16 - asrs r5, r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _08069770 - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r5 - ble _080697B6 -_0806976C: - movs r0, 0 - b _080697B8 -_08069770: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _08069788 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r5 - bge _080697B6 - b _0806976C -_08069788: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _080697A0 - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - ble _080697B6 - b _0806976C -_080697A0: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - beq _080697B6 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r6 - blt _0806976C -_080697B6: - movs r0, 0x1 -_080697B8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806972C - - thumb_func_start sub_80697C8 -sub_80697C8: @ 80697C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - mov r10, r8 - lsls r3, 16 - lsrs r7, r3, 16 - mov r9, r7 - lsls r0, 16 - asrs r6, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80576A0 - lsls r0, 24 - cmp r0, 0 - beq _0806980C - lsls r0, r7, 16 - asrs r0, 16 - cmp r5, r0 - bge _08069852 -_08069808: - movs r0, 0 - b _08069854 -_0806980C: - adds r0, r4, 0 - bl sub_80576B4 - lsls r0, 24 - cmp r0, 0 - beq _08069824 - mov r1, r9 - lsls r0, r1, 16 - asrs r0, 16 - cmp r5, r0 - ble _08069852 - b _08069808 -_08069824: - adds r0, r4, 0 - bl sub_80576C8 - lsls r0, 24 - cmp r0, 0 - beq _0806983C - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bge _08069852 - b _08069808 -_0806983C: - adds r0, r4, 0 - bl sub_80576DC - lsls r0, 24 - cmp r0, 0 - beq _08069852 - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - cmp r6, r0 - bgt _08069808 -_08069852: - movs r0, 0x1 -_08069854: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80697C8 - - thumb_func_start sub_8069864 -sub_8069864: @ 8069864 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069898 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - movs r1, 0x2 - ldrsh r0, [r4, r1] - adds r6, r5, 0 - cmp r0, 0x1 - beq _080698BE - cmp r0, 0x1 - bgt _0806989C - cmp r0, 0 - beq _080698A2 - b _080699CE - .align 2, 0 -_08069898: .4byte 0x03004b28 -_0806989C: - cmp r0, 0x2 - beq _0806998C - b _080699CE -_080698A2: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r5, r3] - movs r2, 0x1 - bl sub_80696E4 - b _080699CA -_080698BE: - mov r0, sp - movs r7, 0 - ldrsh r1, [r0, r7] - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080698D8 - movs r3, 0 - ldrsh r1, [r5, r3] - movs r7, 0x6 - ldrsh r0, [r4, r7] - cmp r1, r0 - beq _080699CE -_080698D8: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl sub_806972C - cmp r0, 0 - beq _08069920 - movs r7, 0x4 - ldrsh r0, [r4, r7] - movs r2, 0x6 - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_80696C0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - movs r5, 0x6 - ldrsh r1, [r4, r5] - movs r2, 0 - bl sub_8069708 - ldrh r0, [r4, 0x4] - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x6] - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] - b _0806992A -_08069920: - movs r7, 0x1 - negs r7, r7 - adds r0, r7, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] -_0806992A: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r5, r6, 0 - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r7, 0x6 - ldrsh r3, [r4, r7] - bl sub_80697C8 - cmp r0, 0 - beq _0806995E - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_80696C0 - movs r0, 0x2 - strh r0, [r4, 0x2] - movs r0, 0x8 - strh r0, [r4, 0xC] -_0806995E: - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r6] - strh r0, [r4, 0x6] - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r5, 0 - ldrsh r1, [r6, r5] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _080699CE - movs r0, 0x46 - bl audio_play - b _080699CE -_0806998C: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080699CE - mov r0, sp - movs r7, 0 - ldrsh r0, [r0, r7] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x1 - bl sub_80696E4 - movs r3, 0x8 - ldrsh r0, [r4, r3] - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080699CA - movs r5, 0xA - ldrsh r0, [r4, r5] - cmp r0, r1 - beq _080699CA - movs r7, 0x8 - ldrsh r0, [r4, r7] - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x1 - bl sub_8069708 -_080699CA: - movs r0, 0x1 - strh r0, [r4, 0x2] -_080699CE: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8069864 - - thumb_func_start sub_80699D8 -sub_80699D8: @ 80699D8 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08069A32 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _08069A14 - cmp r1, r0 - beq _08069A18 - adds r0, 0x8 - cmp r1, r0 - beq _08069A28 - b _08069A32 - .align 2, 0 -_08069A14: .4byte 0x0000024e -_08069A18: - ldr r2, _08069A24 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08069A32 - .align 2, 0 -_08069A24: .4byte 0x0000024f -_08069A28: - ldr r2, _08069A38 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08069A32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069A38: .4byte 0x00000257 - thumb_func_end sub_80699D8 - - thumb_func_start sub_8069A3C -sub_8069A3C: @ 8069A3C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08069A96 - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r5, 16 - asrs r5, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _08069A78 - cmp r1, r0 - beq _08069A7C - adds r0, 0x8 - cmp r1, r0 - beq _08069A8C - b _08069A96 - .align 2, 0 -_08069A78: .4byte 0x0000024f -_08069A7C: - ldr r2, _08069A88 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08069A96 - .align 2, 0 -_08069A88: .4byte 0x0000024e -_08069A8C: - ldr r2, _08069A9C - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08069A96: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069A9C: .4byte 0x00000256 - thumb_func_end sub_8069A3C - - thumb_func_start sub_8069AA0 -sub_8069AA0: @ 8069AA0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069ADC - adds r6, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - movs r0, 0x2 - ldrsh r5, [r6, r0] - mov r9, r4 - cmp r5, 0x1 - beq _08069B34 - cmp r5, 0x1 - bgt _08069AE0 - cmp r5, 0 - beq _08069AE8 - b _08069CA6 - .align 2, 0 -_08069ADC: .4byte 0x03004b28 -_08069AE0: - cmp r5, 0x2 - bne _08069AE6 - b _08069C14 -_08069AE6: - b _08069CA6 -_08069AE8: - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r1, r9 - ldrh r0, [r1] - strh r0, [r6, 0x6] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r3, 0 - ldrsh r1, [r1, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - bne _08069B12 - b _08069CA2 -_08069B12: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_80699D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt - b _08069CA2 -_08069B34: - ldrh r0, [r6, 0x6] - mov r8, r0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - ldrh r2, [r6, 0x4] - mov r10, r2 - movs r3, 0x4 - ldrsh r7, [r6, r3] - cmp r0, r7 - bne _08069B5C - mov r0, r9 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - cmp r1, r0 - bne _08069B5C - b _08069CA6 -_08069B5C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - lsls r4, r0, 16 - asrs r1, r4, 16 - adds r0, r7, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - lsrs r7, r0, 24 - bl PlayerGetZCoord - movs r1, 0 - ands r5, r0 - lsls r0, r5, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _08069BA4 - movs r1, 0x1 -_08069BA4: - cmp r1, 0 - beq _08069BB8 - ldr r1, [sp, 0x4] - cmp r1, 0x1 - beq _08069BB2 - cmp r7, 0x1 - bne _08069BB8 -_08069BB2: - movs r0, 0x47 - bl audio_play -_08069BB8: - cmp r7, 0 - beq _08069BF4 - mov r2, r10 - lsls r4, r2, 16 - asrs r4, 16 - asrs r5, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8069A3C - adds r0, r4, 0 - adds r1, r5, 0 - bl CurrentMapDrawMetatileAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl sub_80699D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - mov r2, r9 - movs r3, 0 - ldrsh r1, [r2, r3] - bl CurrentMapDrawMetatileAt -_08069BF4: - mov r0, r10 - strh r0, [r6, 0x8] - mov r1, r8 - strh r1, [r6, 0xA] - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - mov r2, r9 - ldrh r0, [r2] - strh r0, [r6, 0x6] - cmp r7, 0 - beq _08069CA6 - movs r0, 0x10 - strh r0, [r6, 0xC] - movs r0, 0x2 - strh r0, [r6, 0x2] -_08069C14: - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - ldrh r3, [r6, 0x8] - mov r10, r3 - ldrh r0, [r6, 0xA] - mov r8, r0 - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r1, 0x7 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bhi _08069C9A - lsls r0, 2 - ldr r1, _08069C40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08069C40: .4byte _08069C44 - .align 2, 0 -_08069C44: - .4byte _08069C64 - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C76 - .4byte _08069C9A - .4byte _08069C9A - .4byte _08069C9A -_08069C64: - mov r2, r10 - lsls r0, r2, 16 - asrs r0, 16 - mov r3, r8 - lsls r1, r3, 16 - asrs r1, 16 - bl CurrentMapDrawMetatileAt - b _08069C9A -_08069C76: - mov r0, r10 - lsls r5, r0, 16 - asrs r5, 16 - mov r1, r8 - lsls r4, r1, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80699D8 - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069A3C -_08069C9A: - movs r2, 0xC - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _08069CA6 -_08069CA2: - movs r0, 0x1 - strh r0, [r6, 0x2] -_08069CA6: - 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_8069AA0 - - thumb_func_start sub_8069CB8 -sub_8069CB8: @ 8069CB8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r0, 16 - ldr r2, _08069CE8 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xA - bhi _08069CF4 - lsls r0, r1, 16 - asrs r1, r0, 16 - ldr r2, _08069CEC - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xD - bhi _08069CF4 - ldr r0, _08069CF0 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08069CF4 - movs r0, 0x1 - b _08069CF6 - .align 2, 0 -_08069CE8: .4byte 0xfffd0000 -_08069CEC: .4byte 0xfffa0000 -_08069CF0: .4byte gUnknown_083763E4 -_08069CF4: - movs r0, 0 -_08069CF6: - pop {r1} - bx r1 - thumb_func_end sub_8069CB8 - - thumb_func_start sub_8069CFC -sub_8069CFC: @ 8069CFC - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069CB8 - cmp r0, 0 - beq _08069D2A - ldr r1, _08069D30 - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl GetVarPointer - subs r2, r5, 0x3 - movs r1, 0x1 - lsls r1, r2 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] -_08069D2A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069D30: .4byte gUnknown_083763E4 - thumb_func_end sub_8069CFC - - thumb_func_start sub_8069D34 -sub_8069D34: @ 8069D34 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8069CB8 - cmp r0, 0 - beq _08069D66 - ldr r1, _08069D6C - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl VarGet - lsls r0, 16 - subs r2, r5, 0x3 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r2 - ands r1, r0 - cmp r1, 0 - bne _08069D70 -_08069D66: - movs r0, 0 - b _08069D72 - .align 2, 0 -_08069D6C: .4byte gUnknown_083763E4 -_08069D70: - movs r0, 0x1 -_08069D72: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8069D34 - - thumb_func_start sub_8069D78 -sub_8069D78: @ 8069D78 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08069DCC - ldr r0, [r0] - ldr r1, [r0] - mov r9, r1 - ldr r7, [r0, 0x4] - movs r5, 0 - cmp r5, r9 - bge _08069DC0 -_08069D90: - movs r4, 0 - adds r0, r5, 0x1 - mov r8, r0 - cmp r4, r7 - bge _08069DBA - lsls r6, r5, 16 -_08069D9C: - lsls r1, r4, 16 - asrs r1, 16 - asrs r0, r6, 16 - bl sub_8069D34 - cmp r0, 0x1 - bne _08069DB4 - adds r1, r4, 0x7 - adds r0, r5, 0x7 - ldr r2, _08069DD0 - bl MapGridSetMetatileIdAt -_08069DB4: - adds r4, 0x1 - cmp r4, r7 - blt _08069D9C -_08069DBA: - mov r5, r8 - cmp r5, r9 - blt _08069D90 -_08069DC0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08069DCC: .4byte 0x0202e828 -_08069DD0: .4byte 0x0000020e - thumb_func_end sub_8069D78 - - thumb_func_start sub_8069DD4 -sub_8069DD4: @ 8069DD4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069DF8 - adds r5, r1, r0 - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08069E20 - cmp r0, 0x1 - bgt _08069DFC - cmp r0, 0 - beq _08069E08 - b _08069F56 - .align 2, 0 -_08069DF8: .4byte 0x03004b28 -_08069DFC: - cmp r0, 0x2 - beq _08069EB6 - cmp r0, 0x3 - bne _08069E06 - b _08069F10 -_08069E06: - b _08069F56 -_08069E08: - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x4] - ldrh r0, [r4] - strh r0, [r5, 0x6] - b _08069F52 -_08069E20: - mov r7, sp - adds r7, 0x2 - mov r0, sp - adds r1, r7, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069E4A - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069E4A - b _08069F56 -_08069E4A: - strh r2, [r5, 0x4] - ldrh r0, [r7] - strh r0, [r5, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl MapGridGetMetatileBehaviorAt - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08069E8C - bl GetVarPointer - adds r6, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8057540 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08069E90 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x2 - b _08069EA8 - .align 2, 0 -_08069E8C: .4byte 0x00004022 -_08069E90: - adds r0, r4, 0 - bl sub_8057554 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08069F56 - movs r0, 0 - strh r0, [r6] - movs r0, 0x4 - strh r0, [r5, 0xC] - movs r0, 0x3 -_08069EA8: - strh r0, [r5, 0x2] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x8] - ldrh r0, [r7] - strh r0, [r5, 0xA] - b _08069F56 -_08069EB6: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _08069F1A - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x2A - bl audio_play - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069F0C - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4] - subs r1, 0x7 - lsls r1, 16 - asrs r1, 16 - bl sub_8069CFC - b _08069F52 - .align 2, 0 -_08069F0C: .4byte 0x0000020e -_08069F10: - ldrh r1, [r5, 0xC] - movs r3, 0xC - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _08069F20 -_08069F1A: - subs r0, r1, 0x1 - strh r0, [r5, 0xC] - b _08069F56 -_08069F20: - mov r1, sp - ldrh r0, [r5, 0x8] - strh r0, [r1] - mov r4, sp - adds r4, 0x2 - ldrh r0, [r5, 0xA] - strh r0, [r4] - movs r0, 0x29 - bl audio_play - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069F60 - bl MapGridSetMetatileIdAt - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt -_08069F52: - movs r0, 0x1 - strh r0, [r5, 0x2] -_08069F56: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08069F60: .4byte 0x00000206 - thumb_func_end sub_8069DD4 - - thumb_func_start sub_8069F64 -sub_8069F64: @ 8069F64 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08069FE8 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _08069F9E - movs r0, 0 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A02A -_08069F9E: - strh r2, [r5, 0x2] - ldrh r0, [r4] - strh r0, [r5, 0x4] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsAsh - lsls r0, 24 - cmp r0, 0 - beq _0806A02A - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileIdAt - ldr r1, _08069FEC - cmp r0, r1 - bne _08069FF4 - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _08069FF0 - movs r3, 0x4 - bl ash - b _0806A006 - .align 2, 0 -_08069FE8: .4byte 0x03004b28 -_08069FEC: .4byte 0x0000020a -_08069FF0: .4byte 0x00000212 -_08069FF4: - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _0806A034 - movs r3, 0x4 - bl ash -_0806A006: - movs r0, 0x87 - lsls r0, 1 - movs r1, 0x1 - bl sub_80A92D4 - lsls r0, 24 - cmp r0, 0 - beq _0806A02A - ldr r0, _0806A038 - bl GetVarPointer - adds r2, r0, 0 - ldrh r1, [r2] - ldr r0, _0806A03C - cmp r1, r0 - bhi _0806A02A - adds r0, r1, 0x1 - strh r0, [r2] -_0806A02A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A034: .4byte 0x00000206 -_0806A038: .4byte 0x00004048 -_0806A03C: .4byte 0x0000270e - thumb_func_end sub_8069F64 - - thumb_func_start sub_806A040 -sub_806A040: @ 806A040 - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0806A074 - ldr r2, _0806A078 - cmp r0, r1 - bne _0806A05C - subs r2, 0x31 -_0806A05C: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A074: .4byte 0x0000022f -_0806A078: .4byte 0x00000237 - thumb_func_end sub_806A040 - - thumb_func_start sub_806A07C -sub_806A07C: @ 806A07C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0806A164 - adds r5, r1, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r6, r0, 16 - ldrh r1, [r5, 0x8] - movs r3, 0x8 - ldrsh r0, [r5, r3] - adds r7, r4, 0 - cmp r0, 0 - beq _0806A0CE - subs r0, r1, 0x1 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bne _0806A0CE - movs r1, 0xA - ldrsh r0, [r5, r1] - movs r2, 0xC - ldrsh r1, [r5, r2] - bl sub_806A040 -_0806A0CE: - ldrh r1, [r5, 0xE] - movs r3, 0xE - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _0806A0EE - subs r0, r1, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _0806A0EE - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r2, 0x12 - ldrsh r1, [r5, r2] - bl sub_806A040 -_0806A0EE: - lsls r0, r6, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl sub_8057818 - lsls r0, 24 - cmp r0, 0 - beq _0806A106 - ldr r0, _0806A168 - movs r1, 0 - bl VarSet -_0806A106: - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r1, r0 - bne _0806A122 - movs r0, 0 - ldrsh r1, [r7, r0] - movs r3, 0x6 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A182 -_0806A122: - strh r2, [r5, 0x4] - adds r4, r7, 0 - ldrh r0, [r4] - strh r0, [r5, 0x6] - adds r0, r6, 0 - bl sub_805782C - lsls r0, 24 - cmp r0, 0 - beq _0806A182 - bl sub_80E6034 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _0806A14A - ldr r0, _0806A168 - movs r1, 0 - bl VarSet -_0806A14A: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0806A16C - movs r0, 0x3 - strh r0, [r5, 0x8] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0xA] - ldrh r0, [r4] - strh r0, [r5, 0xC] - b _0806A182 - .align 2, 0 -_0806A164: .4byte 0x03004b28 -_0806A168: .4byte 0x00004022 -_0806A16C: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0806A182 - movs r0, 0x3 - strh r0, [r5, 0xE] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x10] - ldrh r0, [r7] - strh r0, [r5, 0x12] -_0806A182: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806A07C - - thumb_func_start sub_806A18C -sub_806A18C: @ 806A18C - push {r4,r5,lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - lsls r0, 16 - cmp r0, 0 - bne _0806A1A8 - movs r2, 0xE8 - b _0806A1BC -_0806A1A8: - ldr r1, _0806A1E4 - movs r2, 0 - ldrsh r0, [r3, r2] - cmp r0, 0 - bge _0806A1B4 - adds r0, 0x7 -_0806A1B4: - asrs r0, 3 - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] -_0806A1BC: - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0xE8 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806A1E4: .4byte gUnknown_08376418 - thumb_func_end sub_806A18C - - thumb_func_start sub_806A1E8 -sub_806A1E8: @ 806A1E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0806A230 - adds r4, r1, r0 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - ldr r0, _0806A234 - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - orrs r0, r1 - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0x2 - ldrsh r1, [r4, r0] - mov r8, r5 - cmp r1, 0 - beq _0806A238 - cmp r1, 0x1 - beq _0806A264 - b _0806A2B8 - .align 2, 0 -_0806A230: .4byte 0x03004b28 -_0806A234: .4byte 0x02025734 -_0806A238: - strh r7, [r4] - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - movs r0, 0x1 - strh r0, [r4, 0x2] - strh r1, [r4, 0x8] - strh r1, [r4, 0xE] - strh r1, [r4, 0x14] - strh r1, [r4, 0x1A] - b _0806A2B8 -_0806A252: - movs r0, 0x20 - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x2] - mov r2, r8 - ldrh r0, [r2] - strh r0, [r1, 0x4] - b _0806A2B8 -_0806A264: - mov r0, sp - movs r3, 0x4 - ldrsh r1, [r4, r3] - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bne _0806A280 - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r3, 0 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _0806A2B8 -_0806A280: - strh r2, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsMuddySlope - lsls r0, 24 - cmp r0, 0 - beq _0806A2B8 - movs r6, 0x4 - adds r1, r4, 0 - adds r1, 0x8 -_0806A2A8: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0806A252 - adds r1, 0x6 - adds r6, 0x3 - cmp r6, 0xD - ble _0806A2A8 -_0806A2B8: - ldr r2, _0806A2D4 - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806A2D8 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r7, r0 - beq _0806A2D8 - strh r7, [r4] - ldrh r0, [r2, 0x4] - ldrh r1, [r2, 0x8] - b _0806A2DC - .align 2, 0 -_0806A2D4: .4byte 0x0202e844 -_0806A2D8: - movs r0, 0 - movs r1, 0 -_0806A2DC: - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - lsls r0, r1, 16 - asrs r7, r0, 16 - adds r5, r4, 0 - adds r5, 0x8 - adds r4, r5, 0 - movs r6, 0x9 -_0806A2EE: - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0806A312 - ldrh r0, [r4, 0x2] - mov r3, r8 - subs r0, r3 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, r7 - strh r0, [r4, 0x4] - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r3, 0x4 - ldrsh r2, [r4, r3] - adds r0, r5, 0 - bl sub_806A18C -_0806A312: - adds r4, 0x6 - adds r5, 0x6 - subs r6, 0x3 - cmp r6, 0 - bge _0806A2EE - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806A1E8 - - thumb_func_start sub_806A328 -sub_806A328: @ 806A328 - push {lr} - ldr r0, _0806A350 - bl FlagSet - bl RtcCalcLocalTime - ldr r2, _0806A354 - adds r2, 0xA0 - ldr r3, _0806A358 - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0806A35C - ldrh r1, [r3] - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_0806A350: .4byte 0x00000835 -_0806A354: .4byte gSaveBlock2 -_0806A358: .4byte 0x03004038 -_0806A35C: .4byte 0x00004040 - thumb_func_end sub_806A328 - - thumb_func_start InTrainerHill -InTrainerHill: @ 806A360 - push {r4,lr} - ldr r0, _0806A388 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0806A380 - bl RtcCalcLocalTime - ldr r4, _0806A38C - adds r0, r4, 0 - bl sub_806A390 - adds r0, r4, 0 - bl sub_806A3F4 -_0806A380: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806A388: .4byte 0x00000835 -_0806A38C: .4byte 0x03004038 - thumb_func_end InTrainerHill - - thumb_func_start sub_806A390 -sub_806A390: @ 806A390 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _0806A3F0 - bl GetVarPointer - adds r6, r0, 0 - ldrh r0, [r6] - movs r2, 0 - ldrsh r1, [r5, r2] - cmp r0, r1 - beq _0806A3EA - cmp r0, r1 - bgt _0806A3EA - ldrh r4, [r5] - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - bl sub_80690B4 - adds r0, r4, 0 - bl sub_80FA220 - adds r0, r4, 0 - bl sub_80BE8C4 - adds r0, r4, 0 - bl sub_8080834 - adds r0, r4, 0 - bl sub_80401D8 - adds r0, r4, 0 - bl sub_810D2F4 - adds r0, r4, 0 - bl sub_810D410 - adds r0, r4, 0 - bl sub_810F618 - adds r0, r4, 0 - bl sub_8145AA4 - ldrh r0, [r5] - strh r0, [r6] -_0806A3EA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A3F0: .4byte 0x00004040 - thumb_func_end sub_806A390 - - thumb_func_start sub_806A3F4 -sub_806A3F4: @ 806A3F4 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - mov r4, sp - ldr r6, _0806A448 - mov r0, sp - adds r1, r6, 0 - adds r2, r5, 0 - bl CalcTimeDifference - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - movs r2, 0x2 - ldrsb r2, [r4, r2] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 2 - adds r1, r0 - movs r0, 0x3 - ldrsb r0, [r4, r0] - adds r0, r1, r0 - cmp r0, 0 - beq _0806A43E - cmp r0, 0 - blt _0806A43E - bl BerryTreeTimeUpdate - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r6] - str r1, [r6, 0x4] -_0806A43E: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A448: .4byte 0x02024f44 - thumb_func_end sub_806A3F4 - - thumb_func_start sub_806A44C -sub_806A44C: @ 806A44C - push {lr} - bl sub_806A328 - ldr r0, _0806A45C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0806A45C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end sub_806A44C - - thumb_func_start sub_806A460 -sub_806A460: @ 806A460 - push {lr} - ldr r0, _0806A474 - bl SetMainCallback2 - ldr r1, _0806A478 - ldr r0, _0806A47C - str r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0806A474: .4byte Cb2_StartWallClock -_0806A478: .4byte 0x03001770 -_0806A47C: .4byte sub_806A44C - thumb_func_end sub_806A460 - - thumb_func_start sub_806A480 -sub_806A480: @ 806A480 - push {lr} - adds r3, r0, 0 - ldr r2, _0806A4B0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0806A596 - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0806A596 - lsls r0, 2 - ldr r1, _0806A4B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806A4B0: .4byte 0x03004b20 -_0806A4B4: .4byte _0806A4B8 - .align 2, 0 -_0806A4B8: - .4byte _0806A4D0 - .4byte _0806A4F4 - .4byte _0806A518 - .4byte _0806A53C - .4byte _0806A566 - .4byte _0806A590 -_0806A4D0: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0806A55E -_0806A4F4: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0806A55E -_0806A518: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x6B - b _0806A55E -_0806A53C: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x80 -_0806A55E: - strh r0, [r3, 0x20] - movs r0, 0x44 - strh r0, [r3, 0x22] - b _0806A596 -_0806A566: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x2 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x42 - ands r0, r1 - strb r0, [r2] - movs r0, 0x9B - strh r0, [r3, 0x20] - movs r0, 0x50 - strh r0, [r3, 0x22] - b _0806A596 -_0806A590: - adds r0, r3, 0 - bl DestroySprite -_0806A596: - pop {r0} - bx r0 - thumb_func_end sub_806A480 - - thumb_func_start sub_806A59C -sub_806A59C: @ 806A59C - push {lr} - adds r3, r0, 0 - ldr r2, _0806A5CC - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0806A696 - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0806A696 - lsls r0, 2 - ldr r1, _0806A5D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806A5CC: .4byte 0x03004b20 -_0806A5D0: .4byte _0806A5D4 - .align 2, 0 -_0806A5D4: - .4byte _0806A5EC - .4byte _0806A610 - .4byte _0806A634 - .4byte _0806A658 - .4byte _0806A682 - .4byte _0806A690 -_0806A5EC: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0806A67A -_0806A610: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0806A67A -_0806A634: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x6B - b _0806A67A -_0806A658: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x80 -_0806A67A: - strh r0, [r3, 0x20] - movs r0, 0x5C - strh r0, [r3, 0x22] - b _0806A696 -_0806A682: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806A696 -_0806A690: - adds r0, r3, 0 - bl DestroySprite -_0806A696: - pop {r0} - bx r0 - thumb_func_end sub_806A59C - - thumb_func_start sub_806A69C -sub_806A69C: @ 806A69C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0806A70C - bl LoadSpritePalette - ldr r0, _0806A710 - mov r8, r0 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - ldr r6, _0806A714 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r6, 0 - adds r4, 0x1C - adds r2, r0, r4 - ldr r1, _0806A718 - str r1, [r2] - adds r0, r6 - strh r5, [r0, 0x2E] - ldr r1, _0806A71C - strh r1, [r0, 0x30] - mov r0, r8 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r4 - ldr r1, _0806A720 - str r1, [r4] - adds r0, r6 - strh r5, [r0, 0x2E] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A70C: .4byte gUnknown_083764BC -_0806A710: .4byte gSpriteTemplate_83764E8 -_0806A714: .4byte 0x02020004 -_0806A718: .4byte sub_806A480 -_0806A71C: .4byte 0x0000ffff -_0806A720: .4byte sub_806A59C - thumb_func_end sub_806A69C - - thumb_func_start sub_806A724 -sub_806A724: @ 806A724 - push {lr} - ldr r0, _0806A734 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0806A734: .4byte gUnknown_083764BC - thumb_func_end sub_806A724 - - thumb_func_start sub_806A738 -sub_806A738: @ 806A738 - push {lr} - movs r0, 0x3 - movs r1, 0x8 - movs r2, 0x19 - movs r3, 0xB - bl Reset - pop {r0} - bx r0 - thumb_func_end sub_806A738 - - thumb_func_start sub_806A74C -sub_806A74C: @ 806A74C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - adds r0, r2, 0 - adds r4, r3, 0 - ldr r6, [sp, 0x24] - ldr r2, [sp, 0x28] - mov r9, r2 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r7, _0806A83C - ldr r1, _0806A840 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0x18 - bl __umodsi3 - mov r8, r0 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - adds r0, r6, 0 - movs r1, 0x3C - bl __umodsi3 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - mov r0, r9 - movs r1, 0x3C - bl __umodsi3 - mov r9, r0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r4, _0806A844 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x18 - movs r3, 0x1 - bl sub_8072C44 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r1, _0806A848 - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0x12 - movs r3, 0x1 - bl sub_8072C44 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r4, _0806A84C - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r7, r0, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - mov r1, r9 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0806A83C - mov r1, r10 - ldr r2, [sp] - bl Print - 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 -_0806A83C: .4byte 0x020234cc -_0806A840: .4byte 0x00002710 -_0806A844: .4byte 0x020231cc -_0806A848: .4byte gUnknown_0842D4F6 -_0806A84C: .4byte gUnknown_08376500 - thumb_func_end sub_806A74C - - thumb_func_start sub_806A850 -sub_806A850: @ 806A850 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r6, r0, 0 - mov r8, r1 - adds r4, r2, 0 - adds r5, r3, 0 - lsls r6, 16 - lsrs r6, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x3 - movs r1, 0x8 - movs r2, 0x19 - movs r3, 0xB - bl DrawDefaultWindow - ldr r0, _0806A8A8 - movs r1, 0x14 - movs r2, 0x9 - bl Print - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0x4 - movs r1, 0x9 - adds r2, r6, 0 - mov r3, r8 - bl sub_806A74C - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A8A8: .4byte gUnknown_0842D4FC - thumb_func_end sub_806A850 - - thumb_func_start sub_806A8AC -sub_806A8AC: @ 806A8AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r3, 16 - lsrs r3, 16 - adds r1, r3, 0 - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0806A8C6 - ldrh r0, [r4] - subs r0, 0x1 - b _0806A8E0 -_0806A8C6: - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - beq _0806A8D4 - ldrh r0, [r4] - adds r0, 0x1 - b _0806A8FE -_0806A8D4: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0806A8EE - ldrh r0, [r4] - subs r0, 0xA -_0806A8E0: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r5 - bge _0806A90A - strh r2, [r4] - b _0806A90A -_0806A8EE: - movs r0, 0x10 - ands r1, r0 - cmp r1, 0 - bne _0806A8FA - movs r0, 0 - b _0806A90C -_0806A8FA: - ldrh r0, [r4] - adds r0, 0xA -_0806A8FE: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r2 - ble _0806A90A - strh r5, [r4] -_0806A90A: - movs r0, 0x1 -_0806A90C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806A8AC - - thumb_func_start sub_806A914 -sub_806A914: @ 806A914 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806A928 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - bx lr - .align 2, 0 -_0806A928: .4byte 0x03004b20 - thumb_func_end sub_806A914 - - thumb_func_start sub_806A92C -sub_806A92C: @ 806A92C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_806A738 - bl sub_806A724 - ldr r1, _0806A950 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806A954 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806A950: .4byte 0x03004b20 -_0806A954: .4byte sub_806A914 - thumb_func_end sub_806A92C - - thumb_func_start sub_806A958 -sub_806A958: @ 806A958 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, _0806A99C - mov r8, r0 - adds r5, r7, r0 - ldrb r4, [r5, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - ldr r1, _0806A9A0 - adds r2, r0, r1 - ldr r1, _0806A9A4 - ldrh r3, [r1, 0x2E] - movs r0, 0x2 - ands r0, r3 - mov r12, r1 - cmp r0, 0 - beq _0806A9AC - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0806A9A8 - str r1, [r0] - movs r0, 0 - strh r0, [r5, 0x2] - movs r0, 0x6 - b _0806A9CC - .align 2, 0 -_0806A99C: .4byte 0x03004b28 -_0806A9A0: .4byte gUnknown_08376414 -_0806A9A4: .4byte 0x03001770 -_0806A9A8: .4byte sub_806A92C -_0806A9AC: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _0806A9BA - ldrb r0, [r2, 0x7] - cmp r0, 0 - bne _0806A9CC -_0806A9BA: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0806A9D6 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _0806A9D6 -_0806A9CC: - strh r0, [r5, 0x4] - movs r0, 0x5 - bl audio_play - b _0806AA58 -_0806A9D6: - cmp r4, 0x5 - bne _0806AA24 - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0806AA58 - ldr r1, _0806AA18 - ldrh r0, [r5, 0x6] - strh r0, [r1] - ldrh r0, [r5, 0x8] - strb r0, [r1, 0x2] - ldrh r0, [r5, 0xA] - strb r0, [r1, 0x3] - ldrh r0, [r5, 0xC] - strb r0, [r1, 0x4] - movs r0, 0x5 - bl audio_play - ldr r1, _0806AA1C - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806AA20 - str r1, [r0] - strh r4, [r5, 0x2] - movs r0, 0x6 - strh r0, [r5, 0x4] - b _0806AA58 - .align 2, 0 -_0806AA18: .4byte 0x03004038 -_0806AA1C: .4byte 0x03004b20 -_0806AA20: .4byte sub_806A92C -_0806AA24: - ldrb r0, [r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r1, [r2, 0x2] - ldrh r2, [r2, 0x4] - mov r3, r12 - ldrh r4, [r3, 0x30] - movs r3, 0xC0 - ands r3, r4 - bl sub_806A8AC - cmp r0, 0 - beq _0806AA58 - movs r0, 0x5 - bl audio_play - ldrh r2, [r5, 0x6] - ldrb r3, [r5, 0x8] - ldrb r0, [r5, 0xA] - str r0, [sp] - ldrb r0, [r5, 0xC] - str r0, [sp, 0x4] - movs r0, 0x4 - movs r1, 0x9 - bl sub_806A74C -_0806AA58: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806A958 - - thumb_func_start sub_806AA64 -sub_806AA64: @ 806AA64 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, r5, 2 - adds r6, r5 - lsls r6, 3 - ldr r0, _0806AACC - mov r8, r0 - adds r4, r6, r0 - movs r0, 0 - strh r0, [r4] - ldr r3, _0806AAD0 - ldrh r0, [r3] - strh r0, [r4, 0x6] - movs r1, 0x2 - ldrsb r1, [r3, r1] - strh r1, [r4, 0x8] - movs r2, 0x3 - ldrsb r2, [r3, r2] - strh r2, [r4, 0xA] - ldrb r3, [r3, 0x4] - lsls r3, 24 - asrs r3, 24 - strh r3, [r4, 0xC] - ldrh r0, [r4, 0x6] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - bl sub_806A850 - adds r0, r5, 0 - bl sub_806A69C - movs r0, 0x2 - strh r0, [r4, 0x4] - movs r0, 0x8 - negs r0, r0 - add r8, r0 - add r6, r8 - ldr r0, _0806AAD4 - str r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806AACC: .4byte 0x03004b28 -_0806AAD0: .4byte 0x03004038 -_0806AAD4: .4byte sub_806A958 - thumb_func_end sub_806AA64 - - thumb_func_start sub_806AAD8 -sub_806AAD8: @ 806AAD8 - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0x80 - lsls r0, 19 - movs r4, 0 - strh r4, [r0] - movs r0, 0 - bl SetVBlankCallback - movs r2, 0xA0 - lsls r2, 19 - mov r0, sp - strh r4, [r0] - ldr r1, _0806AB94 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _0806AB98 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0806AB9C - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0806AB16: - 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 _0806AB16 - 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] - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - bl LoadOam - bl remove_some_task - bl dp12_8087EA4 - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - ldr r4, _0806ABA0 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl sub_8071C4C - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x88 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0806ABA4 - bl SetVBlankCallback - ldr r0, _0806ABA8 - bl SetMainCallback2 - ldr r0, _0806ABAC - movs r1, 0x50 - bl CreateTask - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806AB94: .4byte 0x040000d4 -_0806AB98: .4byte 0x81000200 -_0806AB9C: .4byte 0x81000800 -_0806ABA0: .4byte gWindowConfig_81E6CE4 -_0806ABA4: .4byte sub_806ABC8 -_0806ABA8: .4byte sub_806ABB0 -_0806ABAC: .4byte sub_806ACCC - thumb_func_end sub_806AAD8 - - thumb_func_start sub_806ABB0 -sub_806ABB0: @ 806ABB0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_806ABB0 - - thumb_func_start sub_806ABC8 -sub_806ABC8: @ 806ABC8 - push {lr} - bl ProcessSpriteCopyRequests - bl LoadOam - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_806ABC8 - - thumb_func_start sub_806ABDC -sub_806ABDC: @ 806ABDC - push {r4,lr} - adds r4, r0, 0 - bl sub_8071FFC - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xF - bl Print - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806ABDC - - thumb_func_start sub_806ABF4 -sub_806ABF4: @ 806ABF4 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0806AC14 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0806AC18 - cmp r0, 0x1 - beq _0806AC80 - b _0806ACC4 - .align 2, 0 -_0806AC14: .4byte 0x03004b28 -_0806AC18: - bl sub_8071EF4 - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xA - bl DrawDefaultWindow - ldr r0, _0806AC98 - movs r1, 0x1 - movs r2, 0x1 - bl Print - ldr r0, _0806AC9C - ldrh r2, [r0] - ldrb r3, [r0, 0x2] - ldrb r1, [r0, 0x3] - str r1, [sp] - ldrb r0, [r0, 0x4] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x3 - bl sub_806A74C - ldr r0, _0806ACA0 - movs r1, 0x1 - movs r2, 0x5 - bl Print - ldr r1, _0806ACA4 - adds r0, r1, 0 - adds r0, 0xA0 - ldrh r2, [r0] - adds r0, 0x2 - ldrb r3, [r0] - adds r0, 0x1 - ldrb r0, [r0] - str r0, [sp] - adds r0, r1, 0 - adds r0, 0xA4 - ldrb r0, [r0] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x7 - bl sub_806A74C - ldr r0, _0806ACA8 - bl sub_806ABDC - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0806AC80: - ldr r0, _0806ACAC - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806ACB0 - adds r0, r5, 0 - bl DestroyTask - bl DoSoftReset - b _0806ACC4 - .align 2, 0 -_0806AC98: .4byte gUnknown_08411804 -_0806AC9C: .4byte 0x03004038 -_0806ACA0: .4byte gUnknown_08411819 -_0806ACA4: .4byte gSaveBlock2 -_0806ACA8: .4byte gUnknown_084117E3 -_0806ACAC: .4byte 0x03001770 -_0806ACB0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806ACC4 - movs r0, 0x5 - bl audio_play - adds r0, r5, 0 - bl DestroyTask -_0806ACC4: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806ABF4 - - thumb_func_start sub_806ACCC -sub_806ACCC: @ 806ACCC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0806ACF4 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x6 - bls _0806ACE8 - b _0806AEC4 -_0806ACE8: - lsls r0, 2 - ldr r1, _0806ACF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806ACF4: .4byte 0x03004b28 -_0806ACF8: .4byte _0806ACFC - .align 2, 0 -_0806ACFC: - .4byte _0806AD18 - .4byte _0806AD34 - .4byte _0806AD80 - .4byte _0806ADD8 - .4byte _0806AE5C - .4byte _0806AE8C - .4byte _0806AEAE -_0806AD18: - movs r0, 0x1 - negs r0, r0 - ldr r1, _0806AD30 - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AD30: .4byte 0x0000ffff -_0806AD34: - ldr r0, _0806AD5C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0806AD42 - b _0806AEC4 -_0806AD42: - ldr r0, _0806AD60 - ldrh r0, [r0] - cmp r0, 0 - beq _0806AD4E - cmp r0, 0x2 - bne _0806AD68 -_0806AD4E: - ldr r0, _0806AD64 - bl sub_806ABDC - movs r0, 0x5 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AD5C: .4byte 0x0202f388 -_0806AD60: .4byte 0x03005eb8 -_0806AD64: .4byte gUnknown_084118A0 -_0806AD68: - bl RtcCalcLocalTime - ldr r0, _0806AD7C - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - b _0806ADFC - .align 2, 0 -_0806AD7C: .4byte sub_806ABF4 -_0806AD80: - ldr r2, _0806ADC4 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0x1 - bne _0806AD96 - b _0806AEC4 -_0806AD96: - bl sub_8071EF4 - ldr r0, _0806ADC8 - bl sub_806ABDC - ldr r2, _0806ADCC - ldr r0, _0806ADD0 - adds r0, 0xA0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0806ADD4 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - movs r0, 0x3 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806ADC4: .4byte 0x03004b20 -_0806ADC8: .4byte gUnknown_0841182F -_0806ADCC: .4byte 0x03004038 -_0806ADD0: .4byte gSaveBlock2 -_0806ADD4: .4byte sub_806AA64 -_0806ADD8: - ldr r2, _0806AE04 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0806AEC4 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0806AE08 - ldrb r0, [r5, 0x2] - bl DestroyTask -_0806ADFC: - movs r0, 0x2 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AE04: .4byte 0x03004b20 -_0806AE08: - ldrb r0, [r5, 0x2] - bl DestroyTask - bl RtcReset - ldr r4, _0806AE4C - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x2 - ldrsb r1, [r4, r1] - movs r2, 0x3 - ldrsb r2, [r4, r2] - movs r3, 0x4 - ldrsb r3, [r4, r3] - bl RtcCalcLocalTimeOffset - ldr r2, _0806AE50 - adds r2, 0xA0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0806AE54 - ldrh r1, [r4] - bl VarSet - bl sub_80691A0 - ldr r0, _0806AE58 - bl sub_806ABDC - movs r0, 0x4 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AE4C: .4byte 0x03004038 -_0806AE50: .4byte gSaveBlock2 -_0806AE54: .4byte 0x00004040 -_0806AE58: .4byte gUnknown_08411846 -_0806AE5C: - movs r0, 0 - bl sub_8125D44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806AE7C - ldr r0, _0806AE78 - bl sub_806ABDC - movs r0, 0x49 - bl audio_play - b _0806AE88 - .align 2, 0 -_0806AE78: .4byte gUnknown_08411881 -_0806AE7C: - ldr r0, _0806AECC - bl sub_806ABDC - movs r0, 0x16 - bl audio_play -_0806AE88: - movs r0, 0x5 - strh r0, [r5] -_0806AE8C: - ldr r0, _0806AED0 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806AEC4 - movs r0, 0x1 - negs r0, r0 - ldr r1, _0806AED4 - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x6 - strh r0, [r5] -_0806AEAE: - ldr r0, _0806AED8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806AEC4 - adds r0, r4, 0 - bl DestroyTask - bl DoSoftReset -_0806AEC4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806AECC: .4byte gUnknown_08411891 -_0806AED0: .4byte 0x03001770 -_0806AED4: .4byte 0x0000ffff -_0806AED8: .4byte 0x0202f388 - thumb_func_end sub_806ACCC - - thumb_func_start sub_806AEDC -sub_806AEDC: @ 806AEDC - push {r4-r6,lr} - sub sp, 0x4 - bl AnimateSprites - bl BuildOamBuffer - ldr r0, _0806AF2C - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r1, _0806AF30 - adds r5, r0, r1 - movs r6, 0 -_0806AEF8: - ldrb r0, [r5] - lsls r0, 3 - ldrb r1, [r5, 0x1] - lsls r1, 3 - ldr r2, [r5, 0x4] - lsls r3, r6, 5 - movs r4, 0x80 - lsls r4, 2 - orrs r3, r4 - str r3, [sp] - movs r3, 0 - bl sub_800142C - adds r5, 0x8 - adds r6, 0x1 - cmp r6, 0x5 - ble _0806AEF8 - bl RunTasks - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806AF2C: .4byte 0x0202e8fa -_0806AF30: .4byte gUnknown_08376BB4 - thumb_func_end sub_806AEDC - - thumb_func_start sub_806AF34 -sub_806AF34: @ 806AF34 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_806B548 - pop {r0} - bx r0 - thumb_func_end sub_806AF34 - - thumb_func_start sub_806AF4C -sub_806AF4C: @ 806AF4C - push {r4,r5,lr} - adds r4, r2, 0 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - cmp r1, 0xFF - beq _0806AF64 - ldr r0, _0806AF84 - strh r1, [r0] -_0806AF64: - ldr r0, _0806AF88 - movs r5, 0x96 - lsls r5, 2 - adds r1, r0, r5 - strb r2, [r1] - movs r2, 0x97 - lsls r2, 2 - adds r1, r0, r2 - str r4, [r1] - adds r5, 0x1 - adds r0, r5 - strb r3, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806AF84: .4byte 0x020239f8 -_0806AF88: .4byte 0x0201b000 - thumb_func_end sub_806AF4C - - thumb_func_start sub_806AF8C -sub_806AF8C: @ 806AF8C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - bl sub_806AF4C - ldr r0, _0806AFA8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0806AFA8: .4byte sub_806B460 - thumb_func_end sub_806AF8C - - thumb_func_start sub_806AFAC -sub_806AFAC: @ 806AFAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0806AFCC - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 2 - adds r3, r2 - ldr r2, [r3] - ldrb r3, [r3, 0x8] - bl sub_806AF8C - pop {r0} - bx r0 - .align 2, 0 -_0806AFCC: .4byte gUnknown_08376C74 - thumb_func_end sub_806AFAC - - thumb_func_start sub_806AFD0 -sub_806AFD0: @ 806AFD0 - push {r4,r5,lr} - ldr r1, _0806AFF0 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x9 - bls _0806AFE6 - b _0806B11A -_0806AFE6: - lsls r0, 2 - ldr r1, _0806AFF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806AFF0: .4byte 0x0201b000 -_0806AFF4: .4byte _0806AFF8 - .align 2, 0 -_0806AFF8: - .4byte _0806B020 - .4byte _0806B060 - .4byte _0806B066 - .4byte _0806B07A - .4byte _0806B0A4 - .4byte _0806B0AA - .4byte _0806B0BC - .4byte _0806B0C2 - .4byte _0806B0D4 - .4byte _0806B0EC -_0806B020: - ldr r0, _0806B048 - adds r5, r4, r0 - movs r1, 0 - ldrsh r3, [r5, r1] - ldr r0, _0806B04C - ldrb r0, [r0] - cmp r3, r0 - bge _0806B054 - movs r2, 0x98 - lsls r2, 2 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r1, [r5] - movs r2, 0x64 - muls r2, r3 - ldr r3, _0806B050 - adds r2, r3 - bl sub_806D90C - b _0806B114 - .align 2, 0 -_0806B048: .4byte 0x00000266 -_0806B04C: .4byte 0x03004350 -_0806B050: .4byte 0x03004360 -_0806B054: - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _0806B0E0 -_0806B060: - bl sub_806DA98 - b _0806B0D8 -_0806B066: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl sub_806DC34 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _0806B0E0 -_0806B07A: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - ldr r2, _0806B0A0 - adds r5, r4, r2 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B114 - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _0806B0E0 - .align 2, 0 -_0806B0A0: .4byte 0x00000266 -_0806B0A4: - bl sub_806E334 - b _0806B0D8 -_0806B0AA: - bl sub_806E0C4 - ldr r1, _0806B0B8 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _0806B0E0 - .align 2, 0 -_0806B0B8: .4byte 0x0201b000 -_0806B0BC: - bl sub_806E53C - b _0806B0D8 -_0806B0C2: - bl nullsub_13 - ldr r1, _0806B0D0 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _0806B0E0 - .align 2, 0 -_0806B0D0: .4byte 0x0201b000 -_0806B0D4: - bl sub_806E6C8 -_0806B0D8: - ldr r1, _0806B0E8 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 -_0806B0E0: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0806B11A - .align 2, 0 -_0806B0E8: .4byte 0x0201b000 -_0806B0EC: - ldr r0, _0806B110 - adds r5, r4, r0 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B114 - movs r1, 0 - strh r1, [r5] - movs r2, 0x99 - lsls r2, 2 - adds r0, r4, r2 - strh r1, [r0] - movs r0, 0x1 - b _0806B11C - .align 2, 0 -_0806B110: .4byte 0x00000266 -_0806B114: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0806B11A: - movs r0, 0 -_0806B11C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806AFD0 - - thumb_func_start sub_806B124 -sub_806B124: @ 806B124 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r0, _0806B144 - ldr r1, _0806B148 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x11 - bls _0806B13A - b _0806B450 -_0806B13A: - lsls r0, 2 - ldr r1, _0806B14C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806B144: .4byte 0x03001770 -_0806B148: .4byte 0x0000043c -_0806B14C: .4byte _0806B150 - .align 2, 0 -_0806B150: - .4byte _0806B198 - .4byte _0806B240 - .4byte _0806B246 - .4byte _0806B27C - .4byte _0806B282 - .4byte _0806B2AC - .4byte _0806B2B2 - .4byte _0806B2D0 - .4byte _0806B2EC - .4byte _0806B318 - .4byte _0806B344 - .4byte _0806B37C - .4byte _0806B382 - .4byte _0806B3C0 - .4byte _0806B3CC - .4byte _0806B3E4 - .4byte _0806B40C - .4byte _0806B440 -_0806B198: - movs r0, 0 - bl SetVBlankCallback - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r2, sp, 0x8 - mov r8, r2 - add r2, sp, 0x4 - movs r6, 0 - ldr r1, _0806B22C - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0806B230 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0806B1BC: - strh r6, [r2] - add r0, sp, 0x4 - 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 _0806B1BC - strh r6, [r2] - add r2, sp, 0x4 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r3, r12 - orrs r0, r3 - 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, 0x8] - ldr r2, _0806B22C - 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 - add r0, sp, 0x4 - 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] - ldr r2, _0806B234 - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _0806B238 - ldr r2, _0806B23C - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B22C: .4byte 0x040000d4 -_0806B230: .4byte 0x81000800 -_0806B234: .4byte 0x0202f388 -_0806B238: .4byte 0x03001770 -_0806B23C: .4byte 0x0000043c -_0806B240: - bl remove_some_task - b _0806B426 -_0806B246: - bl sub_806B4A8 - ldr r1, _0806B26C - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - strh r2, [r0] - ldr r3, _0806B270 - adds r0, r1, r3 - strh r2, [r0] - movs r0, 0x9A - lsls r0, 2 - adds r1, r0 - strh r2, [r1] - ldr r1, _0806B274 - ldr r2, _0806B278 - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B26C: .4byte 0x0201b000 -_0806B270: .4byte 0x00000266 -_0806B274: .4byte 0x03001770 -_0806B278: .4byte 0x0000043c -_0806B27C: - bl ResetSpriteData - b _0806B426 -_0806B282: - ldr r0, _0806B2A0 - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0806B298 - cmp r0, 0x5 - beq _0806B298 - bl ResetTasks -_0806B298: - ldr r1, _0806B2A4 - ldr r2, _0806B2A8 - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B2A0: .4byte 0x0201b000 -_0806B2A4: .4byte 0x03001770 -_0806B2A8: .4byte 0x0000043c -_0806B2AC: - bl FreeAllSpritePalettes - b _0806B426 -_0806B2B2: - ldr r4, _0806B2CC - movs r1, 0x97 - lsls r1, 2 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - movs r2, 0x98 - lsls r2, 2 - adds r1, r4, r2 - strb r0, [r1] - b _0806B426 - .align 2, 0 -_0806B2CC: .4byte 0x0201b000 -_0806B2D0: - ldr r0, _0806B2E0 - bl SetUpWindowConfig - ldr r1, _0806B2E4 - ldr r0, _0806B2E8 - adds r1, r0 - b _0806B42C - .align 2, 0 -_0806B2E0: .4byte gWindowConfig_81E6C90 -_0806B2E4: .4byte 0x03001770 -_0806B2E8: .4byte 0x0000043c -_0806B2EC: - ldr r4, _0806B308 - ldr r1, _0806B30C - adds r0, r4, 0 - bl InitWindowFromConfig - adds r0, r4, 0 - movs r1, 0x1 - bl MultistepInitWindowTileData - ldr r1, _0806B310 - ldr r2, _0806B314 - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B308: .4byte 0x03004210 -_0806B30C: .4byte gWindowConfig_81E6C90 -_0806B310: .4byte 0x03001770 -_0806B314: .4byte 0x0000043c -_0806B318: - bl MultistepLoadFont - cmp r0, 0 - bne _0806B322 - b _0806B450 -_0806B322: - ldr r0, _0806B338 - movs r3, 0x99 - lsls r3, 2 - adds r0, r3 - movs r1, 0x1 - strh r1, [r0] - ldr r1, _0806B33C - ldr r0, _0806B340 - adds r1, r0 - b _0806B42C - .align 2, 0 -_0806B338: .4byte 0x0201b000 -_0806B33C: .4byte 0x03001770 -_0806B340: .4byte 0x0000043c -_0806B344: - ldr r0, _0806B368 - movs r1, 0x99 - lsls r1, 2 - adds r4, r0, r1 - ldrb r0, [r4] - bl sub_806D718 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B374 - movs r0, 0 - strh r0, [r4] - ldr r1, _0806B36C - ldr r2, _0806B370 - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B368: .4byte 0x0201b000 -_0806B36C: .4byte 0x03001770 -_0806B370: .4byte 0x0000043c -_0806B374: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0806B450 -_0806B37C: - bl sub_809D51C - b _0806B426 -_0806B382: - ldr r2, _0806B3B0 - ldr r0, _0806B3B4 - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B450 - ldr r1, _0806B3B8 - ldr r2, _0806B3BC - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B3B0: .4byte gUnknown_08376C74 -_0806B3B4: .4byte 0x0201b000 -_0806B3B8: .4byte 0x03001770 -_0806B3BC: .4byte 0x0000043c -_0806B3C0: - ldr r0, _0806B3C8 - bl sub_8071C58 - b _0806B426 - .align 2, 0 -_0806B3C8: .4byte gWindowConfig_81E6CC8 -_0806B3CC: - bl sub_8071C94 - cmp r0, 0 - beq _0806B450 - ldr r1, _0806B3DC - ldr r0, _0806B3E0 - adds r1, r0 - b _0806B42C - .align 2, 0 -_0806B3DC: .4byte 0x03001770 -_0806B3E0: .4byte 0x0000043c -_0806B3E4: - ldr r0, _0806B3FC - ldr r1, _0806B400 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_806D538 - ldr r1, _0806B404 - ldr r2, _0806B408 - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B3FC: .4byte 0x0201b000 -_0806B400: .4byte 0x00000259 -_0806B404: .4byte 0x03001770 -_0806B408: .4byte 0x0000043c -_0806B40C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _0806B434 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] -_0806B426: - ldr r1, _0806B438 - ldr r3, _0806B43C - adds r1, r3 -_0806B42C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0806B450 - .align 2, 0 -_0806B434: .4byte 0x0202f388 -_0806B438: .4byte 0x03001770 -_0806B43C: .4byte 0x0000043c -_0806B440: - ldr r0, _0806B44C - bl SetVBlankCallback - movs r0, 0x1 - b _0806B452 - .align 2, 0 -_0806B44C: .4byte sub_806AF34 -_0806B450: - movs r0, 0 -_0806B452: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806B124 - - thumb_func_start sub_806B460 -sub_806B460: @ 806B460 - push {lr} - b _0806B470 -_0806B464: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806B49C -_0806B470: - bl sub_806B124 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B464 - ldr r1, _0806B4A0 - movs r2, 0x96 - lsls r2, 2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x5 - beq _0806B496 - adds r2, 0x8 - adds r0, r1, r2 - ldrb r0, [r0] - movs r1, 0 - bl sub_806BF74 -_0806B496: - ldr r0, _0806B4A4 - bl SetMainCallback2 -_0806B49C: - pop {r0} - bx r0 - .align 2, 0 -_0806B4A0: .4byte 0x0201b000 -_0806B4A4: .4byte sub_806AEDC - thumb_func_end sub_806B460 - - thumb_func_start sub_806B4A8 -sub_806B4A8: @ 806B4A8 - push {lr} - movs r0, 0 - bl SetHBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x8 - ldr r2, _0806B50C - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0806B510 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0806B514 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0806B518 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0806B51C - movs r1, 0 - strh r1, [r0] - subs r0, 0x40 - 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] - ldr r2, _0806B520 - strh r1, [r2] - ldr r1, _0806B524 - adds r0, r1, 0 - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0806B50C: .4byte 0x00001e05 -_0806B510: .4byte 0x00000703 -_0806B514: .4byte 0x00000f08 -_0806B518: .4byte 0x00000602 -_0806B51C: .4byte REG_BLDCNT -_0806B520: .4byte REG_BG3VOFS -_0806B524: .4byte 0x0000ffff - thumb_func_end sub_806B4A8 - - thumb_func_start sub_806B528 -sub_806B528: @ 806B528 - push {lr} - ldr r0, _0806B53C - ldrh r1, [r0] - movs r0, 0x4B - ands r0, r1 - cmp r0, 0x4B - beq _0806B540 - movs r0, 0 - b _0806B542 - .align 2, 0 -_0806B53C: .4byte 0x020239f8 -_0806B540: - movs r0, 0x1 -_0806B542: - pop {r1} - bx r1 - thumb_func_end sub_806B528 - - thumb_func_start sub_806B548 -sub_806B548: @ 806B548 - push {r4,lr} - ldr r0, _0806B574 - ldr r1, _0806B578 - adds r4, r0, r1 - ldrb r3, [r4] - cmp r3, 0 - beq _0806B56E - ldr r1, _0806B57C - ldr r2, _0806B580 - ldr r0, _0806B584 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0806B588 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - cmp r3, 0x2 - bne _0806B56E - movs r0, 0 - strb r0, [r4] -_0806B56E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806B574: .4byte 0x0201b000 -_0806B578: .4byte 0x00000261 -_0806B57C: .4byte 0x020221cc -_0806B580: .4byte 0x06003000 -_0806B584: .4byte 0x040000d4 -_0806B588: .4byte 0x80000400 - thumb_func_end sub_806B548 - - thumb_func_start sub_806B58C -sub_806B58C: @ 806B58C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl battle_type_is_double - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _0806B5A8 - ldr r0, _0806B5A4 - strb r2, [r0] - b _0806B5C8 - .align 2, 0 -_0806B5A4: .4byte 0x0202e8fa -_0806B5A8: - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B5C0 - ldr r1, _0806B5BC - movs r0, 0x2 - b _0806B5C4 - .align 2, 0 -_0806B5BC: .4byte 0x0202e8fa -_0806B5C0: - ldr r1, _0806B5E4 - movs r0, 0x1 -_0806B5C4: - strb r0, [r1] - adds r0, r1, 0 -_0806B5C8: - ldrb r0, [r0] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _0806B5E8 - adds r4, r1, r0 - cmp r5, 0x8 - bls _0806B5DA - b _0806B900 -_0806B5DA: - lsls r0, r5, 2 - ldr r1, _0806B5EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806B5E4: .4byte 0x0202e8fa -_0806B5E8: .4byte gUnknown_083769A8 -_0806B5EC: .4byte _0806B5F0 - .align 2, 0 -_0806B5F0: - .4byte _0806B614 - .4byte _0806B628 - .4byte _0806B638 - .4byte _0806B694 - .4byte _0806B71A - .4byte _0806B7A2 - .4byte _0806B832 - .4byte _0806B8C6 - .4byte _0806B8E8 -_0806B614: - ldr r0, _0806B624 - movs r2, 0x80 - lsls r2, 4 - movs r1, 0 - bl memset - b _0806B900 - .align 2, 0 -_0806B624: .4byte 0x020221cc -_0806B628: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - movs r2, 0x3 - bl sub_806B9A4 - adds r0, r4, 0 - movs r1, 0 - b _0806B8A8 -_0806B638: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _0806B666 - ldr r0, _0806B65C - ldrb r0, [r0] - cmp r0, 0x1 - bls _0806B660 - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x2 - movs r1, 0x1 - b _0806B8A8 - .align 2, 0 -_0806B65C: .4byte 0x03004350 -_0806B660: - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - b _0806B8BC -_0806B666: - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B684 - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - movs r2, 0x4 - bl sub_806B9A4 - adds r0, r4, 0x2 - movs r1, 0x1 - movs r2, 0x4 - b _0806B8AA -_0806B684: - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - movs r2, 0x3 - bl sub_806B9A4 - adds r0, r4, 0x2 - movs r1, 0x1 - b _0806B8A8 -_0806B694: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _0806B6C2 - ldr r0, _0806B6B8 - ldrb r0, [r0] - cmp r0, 0x2 - bls _0806B6BC - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x4 - movs r1, 0x2 - b _0806B8A8 - .align 2, 0 -_0806B6B8: .4byte 0x03004350 -_0806B6BC: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - b _0806B8BC -_0806B6C2: - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B6F6 - ldr r0, _0806B6EC - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806B6F0 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x4 - movs r1, 0x2 - b _0806B8A8 - .align 2, 0 -_0806B6EC: .4byte 0x03004428 -_0806B6F0: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - b _0806B8BC -_0806B6F6: - ldr r0, _0806B710 - ldrb r0, [r0] - cmp r0, 0x2 - bls _0806B714 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x4 - movs r1, 0x2 - b _0806B8A8 - .align 2, 0 -_0806B710: .4byte 0x03004350 -_0806B714: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - b _0806B8BC -_0806B71A: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _0806B74A - ldr r0, _0806B740 - ldrb r0, [r0] - cmp r0, 0x3 - bls _0806B744 - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x6 - movs r1, 0x3 - b _0806B8A8 - .align 2, 0 -_0806B740: .4byte 0x03004350 -_0806B744: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - b _0806B8BC -_0806B74A: - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B77E - ldr r0, _0806B774 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806B778 - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x6 - movs r1, 0x3 - b _0806B8A8 - .align 2, 0 -_0806B774: .4byte 0x0300448c -_0806B778: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - b _0806B8BC -_0806B77E: - ldr r0, _0806B798 - ldrb r0, [r0] - cmp r0, 0x3 - bls _0806B79C - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x6 - movs r1, 0x3 - b _0806B8A8 - .align 2, 0 -_0806B798: .4byte 0x03004350 -_0806B79C: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - b _0806B8BC -_0806B7A2: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _0806B7D2 - ldr r0, _0806B7C8 - ldrb r0, [r0] - cmp r0, 0x4 - bls _0806B7CC - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0x4 - b _0806B8A8 - .align 2, 0 -_0806B7C8: .4byte 0x03004350 -_0806B7CC: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - b _0806B8BC -_0806B7D2: - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B80A - ldr r0, _0806B800 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806B804 - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0x4 - movs r2, 0x4 - b _0806B8AA - .align 2, 0 -_0806B800: .4byte 0x030044f0 -_0806B804: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - b _0806B884 -_0806B80A: - ldr r0, _0806B828 - ldrb r0, [r0] - cmp r0, 0x4 - bls _0806B82C - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0x4 - b _0806B8A8 - .align 2, 0 -_0806B828: .4byte 0x03004350 -_0806B82C: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - b _0806B8BC -_0806B832: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _0806B84C - ldr r0, _0806B848 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0806B896 - b _0806B8B8 - .align 2, 0 -_0806B848: .4byte 0x03004350 -_0806B84C: - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B88E - ldr r0, _0806B87C - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806B880 - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0xA - movs r1, 0x5 - movs r2, 0x4 - b _0806B8AA - .align 2, 0 -_0806B87C: .4byte 0x03004554 -_0806B880: - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] -_0806B884: - movs r2, 0x1 - movs r3, 0x4 - bl sub_806BA94 - b _0806B900 -_0806B88E: - ldr r0, _0806B8B4 - ldrb r0, [r0] - cmp r0, 0x5 - bls _0806B8B8 -_0806B896: - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0xA - movs r1, 0x5 -_0806B8A8: - movs r2, 0x3 -_0806B8AA: - movs r3, 0 - bl sub_806BF24 - b _0806B900 - .align 2, 0 -_0806B8B4: .4byte 0x03004350 -_0806B8B8: - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] -_0806B8BC: - movs r2, 0x1 - movs r3, 0x3 - bl sub_806BA94 - b _0806B900 -_0806B8C6: - ldr r0, _0806B8E4 - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0806B8DA - movs r0, 0x1 - bl sub_806BB9C -_0806B8DA: - movs r0, 0x1 - bl sub_806BBEC - b _0806B900 - .align 2, 0 -_0806B8E4: .4byte 0x0201b000 -_0806B8E8: - ldr r0, _0806B8F8 - ldr r1, _0806B8FC - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x1 - b _0806B902 - .align 2, 0 -_0806B8F8: .4byte 0x0201b000 -_0806B8FC: .4byte 0x00000261 -_0806B900: - movs r0, 0 -_0806B902: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806B58C - - thumb_func_start sub_806B908 -sub_806B908: @ 806B908 - push {r4,r5,lr} - ldr r0, _0806B948 - movs r2, 0x80 - lsls r2, 4 - movs r1, 0 - bl memset - ldr r1, _0806B94C - movs r0, 0x3 - strb r0, [r1] - ldr r0, _0806B950 - adds r4, r0, 0 - adds r4, 0x24 - ldr r5, _0806B954 - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - movs r2, 0x3 - bl sub_806B9A4 - adds r0, r5, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806B958 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - b _0806B964 - .align 2, 0 -_0806B948: .4byte 0x020221cc -_0806B94C: .4byte 0x0202e8fa -_0806B950: .4byte gUnknown_083769A8 -_0806B954: .4byte 0x030043c4 -_0806B958: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0x1 - movs r3, 0x3 - bl sub_806BA94 -_0806B964: - adds r0, r5, 0 - adds r0, 0x64 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806B980 - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - b _0806B98C -_0806B980: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0x1 - movs r3, 0x3 - bl sub_806BA94 -_0806B98C: - ldr r0, _0806B99C - ldr r1, _0806B9A0 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806B99C: .4byte 0x0201b000 -_0806B9A0: .4byte 0x00000261 - thumb_func_end sub_806B908 - - thumb_func_start sub_806B9A4 -sub_806B9A4: @ 806B9A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r1, 21 - lsrs r1, 16 - str r1, [sp, 0x4] - movs r1, 0 - lsls r0, 16 - mov r8, r0 - asrs r0, 16 - mov r10, r0 - ldr r4, _0806BA2C - mov r9, r4 -_0806B9CA: - movs r3, 0 - adds r7, r1, 0x1 - mov r0, r10 - cmp r0, 0x1F - bgt _0806BA12 - mov r4, r8 - asrs r2, r4, 16 - lsls r0, r1, 5 - ldr r4, [sp, 0x4] - adds r6, r4, r0 - ldr r0, _0806BA30 - mov r12, r0 - ldr r4, [sp] - lsls r5, r4, 12 - movs r0, 0xB - adds r4, r1, 0 - muls r4, r0 -_0806B9EC: - adds r0, r2, r3 - cmp r0, 0 - blt _0806BA02 - adds r0, r6, r0 - lsls r0, 1 - add r0, r12 - adds r1, r4, r3 - add r1, r9 - ldrb r1, [r1] - orrs r1, r5 - strh r1, [r0] -_0806BA02: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xA - bhi _0806BA12 - adds r0, r2, r3 - cmp r0, 0x1F - ble _0806B9EC -_0806BA12: - lsls r0, r7, 24 - lsrs r1, r0, 24 - cmp r1, 0x6 - bls _0806B9CA - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BA2C: .4byte gUnknown_083769D8 -_0806BA30: .4byte 0x020221cc - thumb_func_end sub_806B9A4 - - thumb_func_start sub_806BA34 -sub_806BA34: @ 806BA34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 21 - lsrs r1, 16 - mov r8, r1 - movs r1, 0 - lsls r7, r0, 16 - asrs r0, r7, 16 - mov r12, r0 -_0806BA48: - movs r2, 0 - adds r4, r1, 0x1 - mov r5, r12 - cmp r5, 0x1F - bgt _0806BA7C - asrs r3, r7, 16 - lsls r0, r1, 5 - mov r5, r8 - adds r1, r5, r0 - ldr r6, _0806BA90 - movs r5, 0 -_0806BA5E: - adds r0, r3, r2 - cmp r0, 0 - blt _0806BA6C - adds r0, r1, r0 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] -_0806BA6C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xA - bhi _0806BA7C - adds r0, r3, r2 - cmp r0, 0x1F - ble _0806BA5E -_0806BA7C: - lsls r0, r4, 24 - lsrs r1, r0, 24 - cmp r1, 0x6 - bls _0806BA48 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BA90: .4byte 0x020221cc - thumb_func_end sub_806BA34 - - thumb_func_start sub_806BA94 -sub_806BA94: @ 806BA94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - ldr r1, _0806BB30 - mov r9, r1 - cmp r2, 0 - bne _0806BABC - ldr r1, _0806BB34 - mov r9, r1 -_0806BABC: - lsls r0, 21 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r1, 0 - lsls r4, 16 - mov r12, r4 - asrs r4, 16 - mov r10, r4 -_0806BACC: - movs r2, 0 - adds r7, r1, 0x1 - mov r0, r10 - cmp r0, 0x1F - bgt _0806BB16 - mov r4, r12 - asrs r3, r4, 16 - lsls r0, r1, 5 - ldr r4, [sp, 0x4] - adds r6, r4, r0 - ldr r0, _0806BB38 - mov r8, r0 - ldr r4, [sp] - lsls r5, r4, 12 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - subs r4, r0, r1 -_0806BAF0: - adds r0, r3, r2 - cmp r0, 0 - blt _0806BB06 - adds r0, r6, r0 - lsls r0, 1 - add r0, r8 - adds r1, r4, r2 - add r1, r9 - ldrb r1, [r1] - orrs r1, r5 - strh r1, [r0] -_0806BB06: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bhi _0806BB16 - adds r0, r3, r2 - cmp r0, 0x1F - ble _0806BAF0 -_0806BB16: - lsls r0, r7, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _0806BACC - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BB30: .4byte gUnknown_08376A5E -_0806BB34: .4byte gUnknown_08376A25 -_0806BB38: .4byte 0x020221cc - thumb_func_end sub_806BA94 - - thumb_func_start sub_806BB3C -sub_806BB3C: @ 806BB3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 21 - lsrs r1, 16 - mov r8, r1 - movs r1, 0 - lsls r7, r0, 16 - asrs r0, r7, 16 - mov r12, r0 -_0806BB50: - movs r2, 0 - adds r4, r1, 0x1 - mov r5, r12 - cmp r5, 0x1F - bgt _0806BB84 - asrs r3, r7, 16 - lsls r0, r1, 5 - mov r5, r8 - adds r1, r5, r0 - ldr r6, _0806BB98 - movs r5, 0 -_0806BB66: - adds r0, r3, r2 - cmp r0, 0 - blt _0806BB74 - adds r0, r1, r0 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] -_0806BB74: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bhi _0806BB84 - adds r0, r3, r2 - cmp r0, 0x1F - ble _0806BB66 -_0806BB84: - lsls r0, r4, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _0806BB50 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BB98: .4byte 0x020221cc - thumb_func_end sub_806BB3C - - thumb_func_start sub_806BB9C -sub_806BB9C: @ 806BB9C - push {r4,lr} - sub sp, 0x18 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0806BBE4 - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r3, _0806BBE8 - movs r2, 0 - lsls r4, 12 -_0806BBB6: - lsls r0, r2, 1 - adds r1, r0, r3 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r1, 0x40 - adds r0, r2, 0x6 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0806BBB6 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806BBE4: .4byte gUnknown_08376CD4 -_0806BBE8: .4byte 0x06003c30 - thumb_func_end sub_806BB9C - - thumb_func_start sub_806BBEC -sub_806BBEC: @ 806BBEC - push {r4,lr} - sub sp, 0x18 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0806BC34 - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r3, _0806BC38 - movs r2, 0 - lsls r4, 12 -_0806BC06: - lsls r0, r2, 1 - adds r1, r0, r3 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r1, 0x40 - adds r0, r2, 0x6 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0806BC06 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806BC34: .4byte gUnknown_08376CEC -_0806BC38: .4byte 0x06003cb0 - thumb_func_end sub_806BBEC - - thumb_func_start sub_806BC3C -sub_806BC3C: @ 806BC3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0806BCB0 - bl battle_type_is_double - lsls r4, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r4, r1 - adds r4, r6 - ldr r7, [r4] - movs r6, 0 - adds r0, r5, 0 - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r4, r0, 19 - ldr r5, _0806BCB4 - movs r0, 0x86 - lsls r0, 1 - adds r3, r0, 0 -_0806BC7C: - adds r1, r6, r4 - lsls r2, r6, 1 - adds r2, r7 - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - adds r0, r3, r0 - strh r0, [r2] - adds r2, 0x40 - adds r1, 0x20 - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - adds r0, r3, r1 - strh r0, [r2] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x6 - bls _0806BC7C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BCB0: .4byte gUnknown_08376918 -_0806BCB4: .4byte gUnknown_08E9A300 - thumb_func_end sub_806BC3C - - thumb_func_start unref_sub_806BCB8 -unref_sub_806BCB8: @ 806BCB8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _0806BCE4 - ldrb r1, [r0] - cmp r4, r1 - bcs _0806BCDE - adds r6, r0, 0 -_0806BCCA: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806BC3C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - cmp r4, r0 - bcc _0806BCCA -_0806BCDE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806BCE4: .4byte 0x03004350 - thumb_func_end unref_sub_806BCB8 - - thumb_func_start sub_806BCE8 -sub_806BCE8: @ 806BCE8 - push {r4,r5,lr} - movs r5, 0 - b _0806BD46 -_0806BCEE: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0806BD20 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl PokemonGetField - cmp r0, 0 - bne _0806BD38 - adds r0, r4, 0 - bl pokemon_get_gender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0806BD24 - cmp r0, 0xFE - beq _0806BD2E - adds r0, r5, 0 - movs r1, 0x46 - bl sub_806BC3C - b _0806BD40 - .align 2, 0 -_0806BD20: .4byte 0x03004360 -_0806BD24: - adds r0, r5, 0 - movs r1, 0x54 - bl sub_806BC3C - b _0806BD40 -_0806BD2E: - adds r0, r5, 0 - movs r1, 0x62 - bl sub_806BC3C - b _0806BD40 -_0806BD38: - adds r0, r5, 0 - movs r1, 0x46 - bl sub_806BC3C -_0806BD40: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0806BD46: - ldr r0, _0806BD54 - ldrb r0, [r0] - cmp r5, r0 - bcc _0806BCEE - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806BD54: .4byte 0x03004350 - thumb_func_end sub_806BCE8 - - thumb_func_start sub_806BD58 -sub_806BD58: @ 806BD58 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0806BD7C - bl object_new_hidden_with_callback - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_806CA18 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806BD7C: .4byte SpriteCallbackDummy - thumb_func_end sub_806BD58 - - thumb_func_start sub_806BD80 -sub_806BD80: @ 806BD80 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _0806BD9C - ldrh r0, [r0, 0x30] - cmp r0, 0x20 - beq _0806BDB2 - cmp r0, 0x20 - bgt _0806BDA0 - cmp r0, 0x10 - beq _0806BDB6 - b _0806BDB8 - .align 2, 0 -_0806BD9C: .4byte 0x03001770 -_0806BDA0: - cmp r0, 0x40 - beq _0806BDAA - cmp r0, 0x80 - beq _0806BDAE - b _0806BDB8 -_0806BDAA: - movs r4, 0xFF - b _0806BDB8 -_0806BDAE: - movs r4, 0x1 - b _0806BDB8 -_0806BDB2: - movs r4, 0xFE - b _0806BDB8 -_0806BDB6: - movs r4, 0x2 -_0806BDB8: - lsls r0, r4, 24 - cmp r0, 0 - bne _0806BDDC - bl sub_80F92BC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806BDD0 - cmp r0, 0x2 - beq _0806BDD4 - b _0806BDD6 -_0806BDD0: - movs r4, 0xFF - b _0806BDD6 -_0806BDD4: - movs r4, 0x1 -_0806BDD6: - lsls r0, r4, 24 - cmp r0, 0 - beq _0806BDF0 -_0806BDDC: - asrs r1, r0, 24 - adds r0, r5, 0 - bl sub_806BF74 - ldr r0, _0806BDEC - ldrh r0, [r0, 0x30] - b _0806BE2C - .align 2, 0 -_0806BDEC: .4byte 0x03001770 -_0806BDF0: - ldr r0, _0806BE1C - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806BE24 - ldr r4, _0806BE20 - adds r0, r5, 0 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x7 - bne _0806BE24 - movs r0, 0x2 - b _0806BE2C - .align 2, 0 -_0806BE1C: .4byte 0x03001770 -_0806BE20: .4byte 0x02020004 -_0806BE24: - ldr r0, _0806BE34 - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 -_0806BE2C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806BE34: .4byte 0x03001770 - thumb_func_end sub_806BD80 - - thumb_func_start sub_806BE38 -sub_806BE38: @ 806BE38 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _0806BE54 - ldrh r1, [r0, 0x30] - adds r6, r0, 0 - cmp r1, 0x20 - beq _0806BE6A - cmp r1, 0x20 - bgt _0806BE58 - cmp r1, 0x10 - beq _0806BE6E - b _0806BE70 - .align 2, 0 -_0806BE54: .4byte 0x03001770 -_0806BE58: - cmp r1, 0x40 - beq _0806BE62 - cmp r1, 0x80 - beq _0806BE66 - b _0806BE70 -_0806BE62: - movs r4, 0xFF - b _0806BE8E -_0806BE66: - movs r4, 0x1 - b _0806BE8E -_0806BE6A: - movs r4, 0xFE - b _0806BE8E -_0806BE6E: - movs r4, 0x2 -_0806BE70: - cmp r4, 0 - bne _0806BE8E - bl sub_80F92BC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806BE86 - cmp r0, 0x2 - beq _0806BE8A - b _0806BE8C -_0806BE86: - movs r4, 0xFF - b _0806BE8C -_0806BE8A: - movs r4, 0x1 -_0806BE8C: - ldr r6, _0806BEA4 -_0806BE8E: - ldrh r2, [r6, 0x2E] - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _0806BEA8 - adds r0, r5, 0 - bl sub_806C890 - movs r0, 0x8 - b _0806BEF0 - .align 2, 0 -_0806BEA4: .4byte 0x03001770 -_0806BEA8: - lsls r0, r4, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0806BEBA - adds r0, r5, 0 - bl sub_806C658 - ldrh r0, [r6, 0x30] - b _0806BEF0 -_0806BEBA: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _0806BEE8 - ldr r4, _0806BEE4 - adds r0, r5, 0 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x7 - bne _0806BEE8 - movs r0, 0x2 - b _0806BEF0 - .align 2, 0 -_0806BEE4: .4byte 0x02020004 -_0806BEE8: - ldr r0, _0806BEF8 - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 -_0806BEF0: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806BEF8: .4byte 0x03001770 - thumb_func_end sub_806BE38 - - thumb_func_start task_pc_turn_off -task_pc_turn_off: @ 806BEFC - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - ldrb r0, [r2] - cmp r0, 0 - beq _0806BF14 - ldrb r1, [r2, 0x1] - movs r2, 0 - bl sub_806BA94 - b _0806BF1E -_0806BF14: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - adds r2, r3, 0 - bl sub_806B9A4 -_0806BF1E: - pop {r0} - bx r0 - thumb_func_end task_pc_turn_off - - thumb_func_start sub_806BF24 -sub_806BF24: @ 806BF24 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - movs r0, 0x64 - muls r1, r0 - ldr r0, _0806BF70 - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806BF56 - adds r0, r5, 0 - movs r1, 0x39 - bl PokemonGetField - cmp r0, 0 - bne _0806BF56 - movs r4, 0x5 -_0806BF56: - cmp r6, 0x1 - bne _0806BF60 - adds r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 -_0806BF60: - adds r0, r7, 0 - adds r1, r4, 0 - bl task_pc_turn_off - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BF70: .4byte 0x03004360 - thumb_func_end sub_806BF24 - - thumb_func_start sub_806BF74 -sub_806BF74: @ 806BF74 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0806C0C4 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r9 - adds r1, r5, 0 - movs r2, 0 - bl sub_806DA44 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806BFB6 - b _0806C0D8 -_0806BFB6: - cmp r5, 0 - beq _0806BFC2 - cmp r5, 0x2 - beq _0806BFC2 - cmp r5, 0x3 - bne _0806BFD2 -_0806BFC2: - lsls r0, r5, 1 - ldr r1, _0806C0C8 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 -_0806BFD2: - cmp r5, 0x1 - beq _0806BFDE - cmp r5, 0x4 - beq _0806BFDE - cmp r5, 0x5 - bne _0806BFEE -_0806BFDE: - lsls r0, r5, 1 - ldr r1, _0806C0C8 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x4 - movs r3, 0 - bl sub_806BF24 -_0806BFEE: - cmp r5, 0x7 - bne _0806BFF8 - movs r0, 0x1 - bl sub_806BBEC -_0806BFF8: - lsls r2, r4, 24 - asrs r2, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_806C490 - ldr r2, _0806C0C4 - lsls r1, r6, 4 - adds r0, r1, r6 - lsls r0, 2 - adds r0, r2 - movs r2, 0x2E - ldrsh r0, [r0, r2] - mov r8, r1 - cmp r0, 0 - beq _0806C020 - cmp r0, 0x2 - beq _0806C020 - cmp r0, 0x3 - bne _0806C042 -_0806C020: - ldr r0, _0806C0C4 - mov r4, r8 - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r7, 0x2E - ldrsh r0, [r1, r7] - lsls r0, 1 - ldr r2, _0806C0C8 - adds r0, r2 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 -_0806C042: - ldr r1, _0806C0C4 - mov r2, r8 - adds r0, r2, r6 - lsls r0, 2 - adds r0, r1 - movs r4, 0x2E - ldrsh r0, [r0, r4] - cmp r0, 0x1 - beq _0806C05C - cmp r0, 0x4 - beq _0806C05C - cmp r0, 0x5 - bne _0806C07E -_0806C05C: - ldr r0, _0806C0C4 - mov r7, r8 - adds r1, r7, r6 - lsls r1, 2 - adds r1, r0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r2, _0806C0C8 - adds r0, r2 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x4 - movs r3, 0x1 - bl sub_806BF24 -_0806C07E: - ldr r7, _0806C0C4 - mov r4, r8 - adds r0, r4, r6 - lsls r0, 2 - adds r4, r0, r7 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bne _0806C096 - movs r0, 0x2 - bl sub_806BBEC -_0806C096: - ldr r0, _0806C0CC - ldr r2, _0806C0D0 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0] - ldr r1, _0806C0D4 - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - adds r0, 0x40 - ldrb r0, [r0] - strh r0, [r4, 0x20] - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - adds r0, 0x41 - ldrb r0, [r0] - strh r0, [r4, 0x22] - adds r0, r7, 0 - b _0806C1A4 - .align 2, 0 -_0806C0C4: .4byte 0x02020004 -_0806C0C8: .4byte gUnknown_083769C0 -_0806C0CC: .4byte 0x0201b000 -_0806C0D0: .4byte 0x00000261 -_0806C0D4: .4byte gUnknown_083768B8 -_0806C0D8: - bl battle_type_is_double - lsls r0, 24 - lsrs r7, r0, 24 - cmp r5, 0x5 - bhi _0806C104 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - lsls r1, r5, 1 - adds r0, r1 - ldr r1, _0806C100 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - b _0806C10A - .align 2, 0 -_0806C100: .4byte gUnknown_083769A8 -_0806C104: - movs r0, 0x1 - bl sub_806BBEC -_0806C10A: - cmp r7, 0 - bne _0806C11C - lsls r2, r4, 24 - asrs r2, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_806C1E4 - b _0806C128 -_0806C11C: - lsls r2, r4, 24 - asrs r2, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_806C310 -_0806C128: - ldr r1, _0806C160 - lsls r2, r6, 4 - adds r0, r2, r6 - lsls r0, 2 - adds r1, r0, r1 - ldrh r3, [r1, 0x2E] - movs r4, 0x2E - ldrsh r0, [r1, r4] - mov r8, r2 - cmp r0, 0x5 - bgt _0806C168 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - movs r2, 0x2E - ldrsh r1, [r1, r2] - lsls r1, 1 - adds r0, r1 - ldr r1, _0806C164 - adds r0, r1 - lsls r1, r3, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 - b _0806C16E - .align 2, 0 -_0806C160: .4byte 0x02020004 -_0806C164: .4byte gUnknown_083769A8 -_0806C168: - movs r0, 0x2 - bl sub_806BBEC -_0806C16E: - ldr r0, _0806C1D4 - ldr r4, _0806C1D8 - adds r0, r4 - movs r1, 0x2 - strb r1, [r0] - ldr r4, _0806C1DC - mov r0, r8 - adds r1, r0, r6 - lsls r1, 2 - adds r1, r4 - ldr r3, _0806C1E0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 2 - lsls r2, r7, 5 - adds r0, r2 - adds r0, r3 - ldrb r0, [r0] - strh r0, [r1, 0x20] - movs r7, 0x2E - ldrsh r0, [r1, r7] - lsls r0, 2 - adds r0, r2 - adds r0, r3 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x22] - adds r0, r4, 0 -_0806C1A4: - mov r1, r8 - adds r4, r1, r6 - lsls r4, 2 - adds r4, r0 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - movs r2, 0x1 - bl sub_806DA44 - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r5, r0 - beq _0806C1C8 - movs r0, 0x5 - bl audio_play -_0806C1C8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806C1D4: .4byte 0x0201b000 -_0806C1D8: .4byte 0x00000261 -_0806C1DC: .4byte 0x02020004 -_0806C1E0: .4byte gUnknown_083768B8 - thumb_func_end sub_806BF74 - - thumb_func_start sub_806C1E4 -sub_806C1E4: @ 806C1E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x80 - lsls r0, 18 - adds r2, r0 - asrs r0, r2, 24 - cmp r0, 0x4 - bls _0806C200 - b _0806C306 -_0806C200: - lsls r0, 2 - ldr r1, _0806C20C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C20C: .4byte _0806C210 - .align 2, 0 -_0806C210: - .4byte _0806C2EC - .4byte _0806C238 - .4byte _0806C224 - .4byte _0806C25C - .4byte _0806C2BC -_0806C224: - ldr r0, _0806C234 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x30] - b _0806C306 - .align 2, 0 -_0806C234: .4byte 0x02020004 -_0806C238: - cmp r3, 0 - beq _0806C266 - cmp r3, 0x7 - bne _0806C298 - ldr r2, _0806C254 - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - ldr r0, _0806C258 - ldrb r0, [r0] - subs r0, 0x1 - b _0806C2AA - .align 2, 0 -_0806C254: .4byte 0x02020004 -_0806C258: .4byte 0x03004350 -_0806C25C: - ldr r0, _0806C278 - ldrb r0, [r0] - subs r0, 0x1 - cmp r3, r0 - bne _0806C280 -_0806C266: - ldr r2, _0806C27C - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x2E] - b _0806C2AC - .align 2, 0 -_0806C278: .4byte 0x03004350 -_0806C27C: .4byte 0x02020004 -_0806C280: - cmp r3, 0x7 - bne _0806C298 - ldr r2, _0806C294 - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - b _0806C2AC - .align 2, 0 -_0806C294: .4byte 0x02020004 -_0806C298: - ldr r2, _0806C2B8 - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - lsls r0, r5, 24 - asrs r0, 24 - ldrh r5, [r1, 0x2E] - adds r0, r5 -_0806C2AA: - strh r0, [r1, 0x2E] -_0806C2AC: - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C306 - .align 2, 0 -_0806C2B8: .4byte 0x02020004 -_0806C2BC: - ldr r0, _0806C2E4 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0806C306 - cmp r3, 0 - bne _0806C306 - ldr r0, _0806C2E8 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0806C2DE - movs r0, 0x1 - strh r0, [r1, 0x30] -_0806C2DE: - ldrh r0, [r1, 0x30] - strh r0, [r1, 0x2E] - b _0806C306 - .align 2, 0 -_0806C2E4: .4byte 0x03004350 -_0806C2E8: .4byte 0x02020004 -_0806C2EC: - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _0806C306 - ldr r0, _0806C30C - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x2E] - strh r3, [r1, 0x30] -_0806C306: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806C30C: .4byte 0x02020004 - thumb_func_end sub_806C1E4 - - thumb_func_start sub_806C310 -sub_806C310: @ 806C310 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x80 - lsls r0, 18 - adds r2, r0 - asrs r0, r2, 24 - cmp r0, 0x4 - bls _0806C32C - b _0806C486 -_0806C32C: - lsls r0, 2 - ldr r1, _0806C338 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C338: .4byte _0806C33C - .align 2, 0 -_0806C33C: - .4byte _0806C44E - .4byte _0806C38C - .4byte _0806C350 - .4byte _0806C364 - .4byte _0806C3E8 -_0806C350: - ldr r0, _0806C360 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x30] - b _0806C486 - .align 2, 0 -_0806C360: .4byte 0x02020004 -_0806C364: - cmp r3, 0x7 - bne _0806C37C - ldr r2, _0806C378 - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - b _0806C3D8 - .align 2, 0 -_0806C378: .4byte 0x02020004 -_0806C37C: - ldr r0, _0806C388 - ldrb r0, [r0] - subs r0, 0x1 - cmp r3, r0 - beq _0806C390 - b _0806C3C4 - .align 2, 0 -_0806C388: .4byte 0x03004350 -_0806C38C: - cmp r3, 0 - bne _0806C3A4 -_0806C390: - ldr r2, _0806C3A0 - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x2E] - b _0806C3D8 - .align 2, 0 -_0806C3A0: .4byte 0x02020004 -_0806C3A4: - cmp r3, 0x7 - bne _0806C3C4 - ldr r2, _0806C3BC - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - ldr r0, _0806C3C0 - ldrb r0, [r0] - subs r0, 0x1 - b _0806C3D6 - .align 2, 0 -_0806C3BC: .4byte 0x02020004 -_0806C3C0: .4byte 0x03004350 -_0806C3C4: - ldr r2, _0806C3E4 - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - lsls r0, r5, 24 - asrs r0, 24 - ldrh r5, [r1, 0x2E] - adds r0, r5 -_0806C3D6: - strh r0, [r1, 0x2E] -_0806C3D8: - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C486 - .align 2, 0 -_0806C3E4: .4byte 0x02020004 -_0806C3E8: - cmp r3, 0 - bne _0806C418 - ldr r0, _0806C410 - ldrb r0, [r0] - cmp r0, 0x2 - bls _0806C486 - ldr r0, _0806C414 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x30] - subs r0, r2, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0806C43A - movs r0, 0x2 - strh r0, [r1, 0x2E] - b _0806C486 - .align 2, 0 -_0806C410: .4byte 0x03004350 -_0806C414: .4byte 0x02020004 -_0806C418: - cmp r3, 0x1 - bne _0806C486 - ldr r0, _0806C440 - ldrb r0, [r0] - cmp r0, 0x4 - bls _0806C486 - ldr r0, _0806C444 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x30] - subs r0, r2, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0806C448 -_0806C43A: - strh r2, [r1, 0x2E] - b _0806C486 - .align 2, 0 -_0806C440: .4byte 0x03004350 -_0806C444: .4byte 0x02020004 -_0806C448: - movs r0, 0x4 - strh r0, [r1, 0x2E] - b _0806C486 -_0806C44E: - subs r0, r3, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C46C - ldr r0, _0806C468 - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - b _0806C482 - .align 2, 0 -_0806C468: .4byte 0x02020004 -_0806C46C: - subs r0, r3, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C486 - ldr r0, _0806C48C - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 -_0806C482: - strh r0, [r1, 0x2E] - strh r3, [r1, 0x30] -_0806C486: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806C48C: .4byte 0x02020004 - thumb_func_end sub_806C310 - - thumb_func_start sub_806C490 -sub_806C490: @ 806C490 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - movs r0, 0x80 - lsls r0, 18 - adds r2, r0 - asrs r0, r2, 24 - cmp r0, 0x4 - bls _0806C4AA - b _0806C64E -_0806C4AA: - lsls r0, 2 - ldr r1, _0806C4B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C4B4: .4byte _0806C4B8 - .align 2, 0 -_0806C4B8: - .4byte _0806C618 - .4byte _0806C524 - .4byte _0806C4CC - .4byte _0806C4E0 - .4byte _0806C57C -_0806C4CC: - ldr r0, _0806C4DC - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x30] - b _0806C64E - .align 2, 0 -_0806C4DC: .4byte 0x02020004 -_0806C4E0: - cmp r4, 0x7 - bne _0806C4FC - ldr r2, _0806C4F8 - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - adds r1, r2, 0 - adds r6, r3, 0 - b _0806C566 - .align 2, 0 -_0806C4F8: .4byte 0x02020004 -_0806C4FC: - lsls r6, r5, 4 - b _0806C518 -_0806C500: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x64 - muls r0, r4 - ldr r1, _0806C520 - adds r0, r1 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - bne _0806C528 -_0806C518: - cmp r4, 0x5 - bne _0806C500 - b _0806C558 - .align 2, 0 -_0806C520: .4byte 0x03004360 -_0806C524: - lsls r6, r5, 4 - b _0806C554 -_0806C528: - ldr r1, _0806C534 - adds r0, r6, r5 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2E] - b _0806C566 - .align 2, 0 -_0806C534: .4byte 0x02020004 -_0806C538: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - beq _0806C554 - movs r0, 0x64 - muls r0, r4 - ldr r1, _0806C574 - adds r0, r1 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - bne _0806C528 -_0806C554: - cmp r4, 0 - bne _0806C538 -_0806C558: - ldr r0, _0806C578 - adds r1, r6, r5 - lsls r1, 2 - adds r1, r0 - movs r2, 0x7 - strh r2, [r1, 0x2E] - adds r1, r0, 0 -_0806C566: - adds r0, r6, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C64E - .align 2, 0 -_0806C574: .4byte 0x03004360 -_0806C578: .4byte 0x02020004 -_0806C57C: - cmp r4, 0 - bne _0806C5C8 - ldr r0, _0806C5AC - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r4, r1, r0 - ldrh r1, [r4, 0x30] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0806C5E2 - ldr r5, _0806C5B0 - adds r0, r5, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806C5B4 - movs r0, 0x2 - strh r0, [r4, 0x2E] - b _0806C64E - .align 2, 0 -_0806C5AC: .4byte 0x02020004 -_0806C5B0: .4byte 0x03004428 -_0806C5B4: - adds r0, r5, 0 - adds r0, 0x64 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806C64E - movs r0, 0x3 - strh r0, [r4, 0x2E] - b _0806C64E -_0806C5C8: - cmp r4, 0x1 - bne _0806C64E - ldr r0, _0806C5E8 - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r4, r1, r0 - ldrh r1, [r4, 0x30] - subs r0, r1, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0806C5EC -_0806C5E2: - strh r1, [r4, 0x2E] - b _0806C64E - .align 2, 0 -_0806C5E8: .4byte 0x02020004 -_0806C5EC: - ldr r5, _0806C600 - adds r0, r5, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806C604 - movs r0, 0x4 - strh r0, [r4, 0x2E] - b _0806C64E - .align 2, 0 -_0806C600: .4byte 0x030044f0 -_0806C604: - adds r0, r5, 0 - adds r0, 0x64 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806C64E - movs r0, 0x5 - strh r0, [r4, 0x2E] - b _0806C64E -_0806C618: - subs r0, r4, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C634 - ldr r0, _0806C630 - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - b _0806C64A - .align 2, 0 -_0806C630: .4byte 0x02020004 -_0806C634: - subs r0, r4, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C64E - ldr r0, _0806C654 - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 -_0806C64A: - strh r0, [r1, 0x2E] - strh r4, [r1, 0x30] -_0806C64E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806C654: .4byte 0x02020004 - thumb_func_end sub_806C490 - - thumb_func_start sub_806C658 -sub_806C658: @ 806C658 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0806C6A0 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r1, r6, 0 - movs r2, 0 - bl sub_806DA44 - cmp r6, 0x5 - bhi _0806C6A8 - lsls r0, r6, 1 - ldr r1, _0806C6A4 - adds r0, r1 - adds r1, r6, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - b _0806C6BA - .align 2, 0 -_0806C6A0: .4byte 0x02020004 -_0806C6A4: .4byte gUnknown_083769A8 -_0806C6A8: - cmp r6, 0x6 - bne _0806C6B4 - movs r0, 0x1 - bl sub_806BB9C - b _0806C6BA -_0806C6B4: - movs r0, 0x1 - bl sub_806BBEC -_0806C6BA: - lsls r1, r4, 24 - movs r2, 0x80 - lsls r2, 18 - adds r0, r1, r2 - asrs r0, 24 - lsls r4, r5, 4 - adds r7, r1, 0 - cmp r0, 0x4 - bls _0806C6CE - b _0806C7EA -_0806C6CE: - lsls r0, 2 - ldr r1, _0806C6D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C6D8: .4byte _0806C6DC - .align 2, 0 -_0806C6DC: - .4byte _0806C7D0 - .4byte _0806C708 - .4byte _0806C6F0 - .4byte _0806C740 - .4byte _0806C7A0 -_0806C6F0: - ldr r1, _0806C704 - lsls r2, r5, 4 - adds r0, r2, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - adds r4, r2, 0 - b _0806C7EA - .align 2, 0 -_0806C704: .4byte 0x02020004 -_0806C708: - cmp r6, 0 - bne _0806C720 - ldr r2, _0806C71C - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x2E] - b _0806C78E - .align 2, 0 -_0806C71C: .4byte 0x02020004 -_0806C720: - cmp r6, 0x6 - bne _0806C77C - ldr r2, _0806C738 - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldr r0, _0806C73C - ldrb r0, [r0] - subs r0, 0x1 - b _0806C78C - .align 2, 0 -_0806C738: .4byte 0x02020004 -_0806C73C: .4byte 0x03004350 -_0806C740: - ldr r0, _0806C75C - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - bne _0806C764 - ldr r2, _0806C760 - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x2E] - b _0806C78E - .align 2, 0 -_0806C75C: .4byte 0x03004350 -_0806C760: .4byte 0x02020004 -_0806C764: - cmp r6, 0x7 - bne _0806C77C - ldr r2, _0806C778 - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - b _0806C78E - .align 2, 0 -_0806C778: .4byte 0x02020004 -_0806C77C: - ldr r2, _0806C79C - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - asrs r0, r7, 24 - ldrh r4, [r1, 0x2E] - adds r0, r4 -_0806C78C: - strh r0, [r1, 0x2E] -_0806C78E: - adds r4, r3, 0 - adds r0, r4, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C7EA - .align 2, 0 -_0806C79C: .4byte 0x02020004 -_0806C7A0: - ldr r0, _0806C7C8 - ldrb r0, [r0] - lsls r4, r5, 4 - cmp r0, 0x1 - bls _0806C7EA - cmp r6, 0 - bne _0806C7EA - ldr r0, _0806C7CC - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0806C7C2 - movs r0, 0x1 - strh r0, [r1, 0x30] -_0806C7C2: - ldrh r0, [r1, 0x30] - strh r0, [r1, 0x2E] - b _0806C7EA - .align 2, 0 -_0806C7C8: .4byte 0x03004350 -_0806C7CC: .4byte 0x02020004 -_0806C7D0: - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r5, 4 - cmp r0, 0x4 - bhi _0806C7EA - ldr r0, _0806C82C - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x2E] - strh r6, [r1, 0x30] -_0806C7EA: - ldr r1, _0806C82C - adds r0, r4, r5 - lsls r0, 2 - adds r2, r0, r1 - ldr r1, _0806C830 - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x20] - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strh r0, [r2, 0x22] - ldrh r3, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x5 - bgt _0806C838 - lsls r0, 1 - ldr r1, _0806C834 - adds r0, r1 - lsls r1, r3, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 - b _0806C84A - .align 2, 0 -_0806C82C: .4byte 0x02020004 -_0806C830: .4byte gUnknown_083768B8 -_0806C834: .4byte gUnknown_083769A8 -_0806C838: - cmp r0, 0x6 - bne _0806C844 - movs r0, 0x2 - bl sub_806BB9C - b _0806C84A -_0806C844: - movs r0, 0x2 - bl sub_806BBEC -_0806C84A: - ldr r0, _0806C884 - ldr r2, _0806C888 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0] - ldr r0, _0806C88C - adds r4, r5 - lsls r4, 2 - adds r4, r0 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - movs r2, 0x1 - bl sub_806DA44 - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r6, r0 - beq _0806C878 - movs r0, 0x5 - bl audio_play -_0806C878: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806C884: .4byte 0x0201b000 -_0806C888: .4byte 0x00000261 -_0806C88C: .4byte 0x02020004 - thumb_func_end sub_806C658 - - thumb_func_start sub_806C890 -sub_806C890: @ 806C890 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl sub_806CA00 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0806C8D4 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - beq _0806C914 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_806DA44 - cmp r4, 0x5 - bhi _0806C8DC - lsls r0, r4, 1 - ldr r1, _0806C8D8 - adds r0, r1 - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - b _0806C8E2 - .align 2, 0 -_0806C8D4: .4byte 0x02020004 -_0806C8D8: .4byte gUnknown_083769A8 -_0806C8DC: - movs r0, 0x1 - bl sub_806BBEC -_0806C8E2: - ldr r1, _0806C91C - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - movs r1, 0x6 - strh r1, [r0, 0x2E] - ldr r2, _0806C920 - ldrb r1, [r2, 0x18] - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x19] - strh r1, [r0, 0x22] - movs r0, 0x2 - bl sub_806BB9C - ldr r0, _0806C924 - ldr r1, _0806C928 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x5 - bl audio_play -_0806C914: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806C91C: .4byte 0x02020004 -_0806C920: .4byte gUnknown_083768B8 -_0806C924: .4byte 0x0201b000 -_0806C928: .4byte 0x00000261 - thumb_func_end sub_806C890 - - thumb_func_start sub_806C92C -sub_806C92C: @ 806C92C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0806C960 - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2E] - lsls r0, 24 - lsrs r6, r0, 24 - ldrh r0, [r1, 0x30] - lsls r0, 24 - lsrs r4, r0, 24 - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - bne _0806C96A - cmp r6, 0 - bne _0806C964 - cmp r4, 0 - bne _0806C97C - movs r4, 0x1 - b _0806C97C - .align 2, 0 -_0806C960: .4byte 0x02020004 -_0806C964: - cmp r4, 0 - beq _0806C97C - b _0806C97A -_0806C96A: - cmp r6, 0x1 - bhi _0806C976 - cmp r4, 0x1 - bhi _0806C97C - movs r4, 0x2 - b _0806C97C -_0806C976: - cmp r4, 0x1 - bls _0806C97C -_0806C97A: - movs r4, 0 -_0806C97C: - ldr r1, _0806C990 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x30] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806C990: .4byte 0x02020004 - thumb_func_end sub_806C92C - - thumb_func_start sub_806C994 -sub_806C994: @ 806C994 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806C9C0 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - strh r4, [r1, 0x2E] - bl sub_806C92C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806C9C0: .4byte 0x02020004 - thumb_func_end sub_806C994 - - thumb_func_start sub_806C9C4 -sub_806C9C4: @ 806C9C4 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806C9FC - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - adds r2, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r1, 0x20] - strh r0, [r2, 0x20] - ldrh r0, [r1, 0x22] - strh r0, [r2, 0x22] - ldrh r0, [r1, 0x2E] - strh r0, [r2, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806C9FC: .4byte 0x02020004 - thumb_func_end sub_806C9C4 - - thumb_func_start sub_806CA00 -sub_806CA00: @ 806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806CA14 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0xE] - lsrs r0, 8 - bx lr - .align 2, 0 -_0806CA14: .4byte 0x03004b20 - thumb_func_end sub_806CA00 - - thumb_func_start sub_806CA18 -sub_806CA18: @ 806CA18 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _0806CA34 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldrb r0, [r2, 0xE] - lsrs r1, 16 - orrs r0, r1 - strh r0, [r2, 0xE] - bx lr - .align 2, 0 -_0806CA34: .4byte 0x03004b20 - thumb_func_end sub_806CA18 - - thumb_func_start sub_806CA38 -sub_806CA38: @ 806CA38 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806CA5C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x2E] - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0806CA5C: .4byte 0x02020004 - thumb_func_end sub_806CA38 - - thumb_func_start sub_806CA60 -sub_806CA60: @ 806CA60 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0806CAD8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CADC - str r1, [r0] - ldr r5, _0806CAE0 - strb r4, [r5] - ldr r0, _0806CAE4 - movs r1, 0 - bl CreateTask - ldr r0, _0806CAE8 - bl object_new_hidden_with_callback - strb r0, [r5, 0x1] - ldrb r1, [r5, 0x1] - adds r0, r4, 0 - bl sub_806C9C4 - adds r0, r4, 0 - bl sub_806CA00 - strb r0, [r5, 0x2] - ldr r1, _0806CAEC - adds r0, r5, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_806D538 - ldr r2, _0806CAF0 - ldrb r0, [r5, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r2, _0806CAF4 - adds r0, r2 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x6 - movs r3, 0 - bl sub_806BF24 - ldr r0, _0806CAF8 - adds r5, r0 - movs r0, 0x2 - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CAD8: .4byte 0x03004b20 -_0806CADC: .4byte TaskDummy -_0806CAE0: .4byte 0x02001000 -_0806CAE4: .4byte sub_806CB74 -_0806CAE8: .4byte SpriteCallbackDummy -_0806CAEC: .4byte 0x0001a272 -_0806CAF0: .4byte 0x02020004 -_0806CAF4: .4byte gUnknown_083769A8 -_0806CAF8: .4byte 0x0001a261 - thumb_func_end sub_806CA60 - - thumb_func_start sub_806CAFC -sub_806CAFC: @ 806CAFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0806CB48 - ldrb r3, [r4, 0x1] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - ldr r3, _0806CB4C - adds r5, r2, r3 - ldrb r2, [r4, 0x2] - lsls r4, r2, 4 - adds r4, r2 - lsls r4, 2 - adds r4, r3 - lsls r1, 24 - asrs r1, 24 - bl sub_806BF74 - ldrh r2, [r5, 0x2E] - movs r0, 0x2E - ldrsh r1, [r5, r0] - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _0806CB54 - adds r0, r1, 0 - lsls r0, 1 - ldr r1, _0806CB50 - adds r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - movs r2, 0x6 - movs r3, 0x1 - bl sub_806BF24 - b _0806CB6A - .align 2, 0 -_0806CB48: .4byte 0x02001000 -_0806CB4C: .4byte 0x02020004 -_0806CB50: .4byte gUnknown_083769A8 -_0806CB54: - movs r3, 0x2E - ldrsh r0, [r5, r3] - lsls r0, 1 - ldr r1, _0806CB70 - adds r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - movs r2, 0x6 - movs r3, 0 - bl sub_806BF24 -_0806CB6A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CB70: .4byte gUnknown_083769A8 - thumb_func_end sub_806CAFC - - thumb_func_start sub_806CB74 -sub_806CB74: @ 806CB74 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806CB8C - ldrh r0, [r0, 0x30] - cmp r0, 0x20 - beq _0806CBBC - cmp r0, 0x20 - bgt _0806CB90 - cmp r0, 0x10 - beq _0806CBD0 - b _0806CBDA - .align 2, 0 -_0806CB8C: .4byte 0x03001770 -_0806CB90: - cmp r0, 0x40 - beq _0806CB9A - cmp r0, 0x80 - beq _0806CBAC - b _0806CBDA -_0806CB9A: - ldr r0, _0806CBA8 - ldrb r0, [r0] - movs r1, 0x1 - negs r1, r1 - bl sub_806CAFC - b _0806CBDA - .align 2, 0 -_0806CBA8: .4byte 0x02001000 -_0806CBAC: - ldr r0, _0806CBB8 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_806CAFC - b _0806CBDA - .align 2, 0 -_0806CBB8: .4byte 0x02001000 -_0806CBBC: - ldr r0, _0806CBCC - ldrb r0, [r0] - movs r1, 0x2 - negs r1, r1 - bl sub_806CAFC - b _0806CBDA - .align 2, 0 -_0806CBCC: .4byte 0x02001000 -_0806CBD0: - ldr r0, _0806CC04 - ldrb r0, [r0] - movs r1, 0x2 - bl sub_806CAFC -_0806CBDA: - ldr r0, _0806CC08 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806CC10 - movs r0, 0x5 - bl audio_play - ldr r1, _0806CC0C - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CC04 - ldr r1, [r1, 0xC] - str r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _0806CC24 - .align 2, 0 -_0806CC04: .4byte 0x02001000 -_0806CC08: .4byte 0x03001770 -_0806CC0C: .4byte 0x03004b20 -_0806CC10: - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0806CC24 - movs r0, 0x5 - bl audio_play - adds r0, r4, 0 - bl sub_806CD44 -_0806CC24: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806CB74 - - thumb_func_start sub_806CC2C -sub_806CC2C: @ 806CC2C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0806CC68 - ldrb r1, [r5, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0806CC6C - adds r0, r1 - bl DestroySprite - movs r0, 0 - movs r1, 0 - bl sub_806D538 - ldr r0, _0806CC70 - adds r1, r5, r0 - movs r0, 0x2 - strb r0, [r1] - ldrb r0, [r5] - bl SwitchTaskToFollowupFunc - adds r0, r4, 0 - bl DestroyTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CC68: .4byte 0x02001000 -_0806CC6C: .4byte 0x02020004 -_0806CC70: .4byte 0x0001a261 - thumb_func_end sub_806CC2C - - thumb_func_start sub_806CC74 -sub_806CC74: @ 806CC74 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0806CCD8 - mov r8, r0 - ldr r6, _0806CCDC - ldrb r0, [r6, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r5, _0806CCE0 - adds r0, r5 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 - ldrb r0, [r6, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - adds r0, r4, 0 - bl sub_806CC2C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806CCD8: .4byte 0x02020004 -_0806CCDC: .4byte 0x02001000 -_0806CCE0: .4byte gUnknown_083769A8 - thumb_func_end sub_806CC74 - - thumb_func_start sub_806CCE4 -sub_806CCE4: @ 806CCE4 - push {r4,r5,lr} - ldr r3, _0806CD38 - ldr r2, _0806CD3C - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - cmp r4, 0x5 - bhi _0806CD1E - lsls r0, r4, 1 - ldr r1, _0806CD40 - adds r0, r1 - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 -_0806CD1E: - cmp r5, 0x5 - bhi _0806CD32 - lsls r0, r5, 1 - ldr r1, _0806CD40 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 -_0806CD32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CD38: .4byte 0x02020004 -_0806CD3C: .4byte 0x02001000 -_0806CD40: .4byte gUnknown_083769A8 - thumb_func_end sub_806CCE4 - - thumb_func_start sub_806CD44 -sub_806CD44: @ 806CD44 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_806CCE4 - adds r0, r4, 0 - bl sub_806CC2C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806CD44 - - thumb_func_start sub_806CD5C -sub_806CD5C: @ 806CD5C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, _0806CDA8 - ldr r6, _0806CDAC - ldrb r1, [r6, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - mov r9, r5 - ldrb r1, [r6, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - cmp r5, r4 - beq _0806CD9E - cmp r5, 0x7 - beq _0806CD9E - cmp r4, 0x7 - bne _0806CDB0 -_0806CD9E: - mov r0, r8 - bl sub_806CD44 - b _0806CED2 - .align 2, 0 -_0806CDA8: .4byte 0x02020004 -_0806CDAC: .4byte 0x02001000 -_0806CDB0: - adds r0, r5, 0 - bl sub_806D5B8 - adds r0, r4, 0 - bl sub_806D5B8 - cmp r5, r4 - bls _0806CDC6 - strb r4, [r6, 0x5] - strb r5, [r6, 0x6] - b _0806CDCC -_0806CDC6: - mov r0, r9 - strb r0, [r6, 0x5] - strb r7, [r6, 0x6] -_0806CDCC: - ldr r4, _0806CE1C - ldrb r0, [r4] - ldrb r1, [r4, 0x5] - bl sub_806DDA0 - strb r0, [r4, 0x3] - ldrb r0, [r4] - ldrb r1, [r4, 0x6] - bl sub_806DDA0 - strb r0, [r4, 0x4] - ldrb r3, [r4, 0x5] - cmp r3, 0 - bne _0806CE34 - ldr r2, _0806CE20 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0806CE24 - strh r1, [r0, 0x2E] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0806CE28 - strh r1, [r0, 0x32] - strh r3, [r4, 0x8] - movs r0, 0xB - strh r0, [r4, 0xA] - ldr r1, _0806CE2C - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CE30 - b _0806CE66 - .align 2, 0 -_0806CE1C: .4byte 0x02001000 -_0806CE20: .4byte 0x02020004 -_0806CE24: .4byte 0x0000fff8 -_0806CE28: .4byte 0x0000ff58 -_0806CE2C: .4byte 0x03004b20 -_0806CE30: .4byte sub_806D014 -_0806CE34: - ldr r2, _0806CEE0 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x8 - strh r1, [r0, 0x2E] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0xA8 - strh r1, [r0, 0x32] - movs r0, 0xB - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r1, _0806CEE4 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CEE8 -_0806CE66: - str r1, [r0] - ldr r0, _0806CEEC - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] - adds r6, r2, 0 - ldr r4, _0806CEF0 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r0, r5 - ldr r2, _0806CEF4 - str r2, [r0] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x8 - strh r1, [r0, 0x2E] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0xA8 - strh r1, [r0, 0x32] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r2, [r0] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - adds r0, r6 - ldr r1, [r1] - bl _call_via_r1 - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r5 - adds r0, r6 - ldr r1, [r5] - bl _call_via_r1 -_0806CED2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806CEE0: .4byte 0x02020004 -_0806CEE4: .4byte 0x03004b20 -_0806CEE8: .4byte sub_806D118 -_0806CEEC: .4byte 0x0001a261 -_0806CEF0: .4byte 0x02001000 -_0806CEF4: .4byte sub_806D37C - thumb_func_end sub_806CD5C - - thumb_func_start sub_806CEF8 -sub_806CEF8: @ 806CEF8 - ldrh r3, [r0] - ldrh r2, [r1] - strh r2, [r0] - strh r3, [r1] - bx lr - thumb_func_end sub_806CEF8 - - thumb_func_start sub_806CF04 -sub_806CF04: @ 806CF04 - push {r4,r5,lr} - ldr r4, _0806CF94 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0806CF98 - adds r0, r5 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r5, 0x2 - adds r0, r3 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r5, 0x4 - adds r0, r3 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r5, 0 - adds r3, 0xE - adds r0, r3 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - subs r5, 0x4 - adds r0, r5 - ldr r2, _0806CF9C - str r2, [r0] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r2, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CF94: .4byte 0x02001000 -_0806CF98: .4byte 0x02020024 -_0806CF9C: .4byte sub_806D37C - thumb_func_end sub_806CF04 - - thumb_func_start sub_806CFA0 -sub_806CFA0: @ 806CFA0 - push {r4-r6,lr} - lsls r4, r1, 24 - lsrs r4, 24 - ldr r5, _0806CFDC - ldrb r1, [r5, 0x6] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x8 - ldrsh r0, [r5, r1] - movs r1, 0x3 - bl sub_806BA34 - movs r1, 0xA - ldrsh r0, [r5, r1] - adds r1, r6, 0 - bl sub_806BB3C - cmp r4, 0 - bne _0806CFE0 - ldrh r0, [r5, 0x8] - subs r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - adds r0, 0x1 - b _0806CFEA - .align 2, 0 -_0806CFDC: .4byte 0x02001000 -_0806CFE0: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - subs r0, 0x1 -_0806CFEA: - strh r0, [r5, 0xA] - ldr r4, _0806D010 - movs r1, 0x8 - ldrsh r0, [r4, r1] - movs r1, 0x3 - movs r2, 0xA - bl sub_806B9A4 - movs r1, 0xA - ldrsh r0, [r4, r1] - adds r1, r6, 0 - movs r2, 0 - movs r3, 0xA - bl sub_806BA94 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806D010: .4byte 0x02001000 - thumb_func_end sub_806CFA0 - - thumb_func_start sub_806D014 -sub_806D014: @ 806D014 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_806CFA0 - ldr r2, _0806D050 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r0, 0xD - negs r0, r0 - cmp r1, r0 - bge _0806D04A - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x20 - ble _0806D04A - bl sub_806CF04 - ldr r0, _0806D054 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D058 - str r0, [r1] -_0806D04A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D050: .4byte 0x02001000 -_0806D054: .4byte 0x03004b20 -_0806D058: .4byte sub_806D05C - thumb_func_end sub_806D014 - - thumb_func_start sub_806D05C -sub_806D05C: @ 806D05C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806CFA0 - ldr r0, _0806D08C - ldr r1, [r0, 0x8] - movs r0, 0xB0 - lsls r0, 12 - cmp r1, r0 - bne _0806D084 - ldr r0, _0806D090 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D094 - str r0, [r1] -_0806D084: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D08C: .4byte 0x02001000 -_0806D090: .4byte 0x03004b20 -_0806D094: .4byte sub_806D198 - thumb_func_end sub_806D05C - - thumb_func_start sub_806D098 -sub_806D098: @ 806D098 - push {r4-r7,lr} - lsls r4, r1, 24 - lsrs r4, 24 - ldr r5, _0806D0E0 - ldrb r1, [r5, 0x5] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r1, [r5, 0x6] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x8 - ldrsh r0, [r5, r1] - adds r1, r7, 0 - bl sub_806BB3C - movs r1, 0xA - ldrsh r0, [r5, r1] - adds r1, r6, 0 - bl sub_806BB3C - cmp r4, 0 - bne _0806D0E4 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - adds r0, 0x1 - b _0806D0EE - .align 2, 0 -_0806D0E0: .4byte 0x02001000 -_0806D0E4: - ldrh r0, [r5, 0x8] - subs r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - subs r0, 0x1 -_0806D0EE: - strh r0, [r5, 0xA] - ldr r4, _0806D114 - movs r1, 0x8 - ldrsh r0, [r4, r1] - adds r1, r7, 0 - movs r2, 0 - movs r3, 0xA - bl sub_806BA94 - movs r1, 0xA - ldrsh r0, [r4, r1] - adds r1, r6, 0 - movs r2, 0 - movs r3, 0xA - bl sub_806BA94 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806D114: .4byte 0x02001000 - thumb_func_end sub_806D098 - - thumb_func_start sub_806D118 -sub_806D118: @ 806D118 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_806D098 - ldr r1, _0806D150 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x20 - ble _0806D14A - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x20 - ble _0806D14A - bl sub_806CF04 - ldr r0, _0806D154 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D158 - str r0, [r1] -_0806D14A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D150: .4byte 0x02001000 -_0806D154: .4byte 0x03004b20 -_0806D158: .4byte sub_806D15C - thumb_func_end sub_806D118 - - thumb_func_start sub_806D15C -sub_806D15C: @ 806D15C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806D098 - ldr r0, _0806D188 - ldr r1, [r0, 0x8] - ldr r0, _0806D18C - cmp r1, r0 - bne _0806D182 - ldr r0, _0806D190 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D194 - str r0, [r1] -_0806D182: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D188: .4byte 0x02001000 -_0806D18C: .4byte 0x000b000b -_0806D190: .4byte 0x03004b20 -_0806D194: .4byte sub_806D198 - thumb_func_end sub_806D15C - - thumb_func_start sub_806D198 -sub_806D198: @ 806D198 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r4, _0806D364 - ldrb r0, [r4] - ldrb r1, [r4, 0x5] - ldrb r2, [r4, 0x4] - bl sub_806DE50 - ldrb r0, [r4] - ldrb r1, [r4, 0x6] - ldrb r2, [r4, 0x3] - bl sub_806DE50 - bl battle_type_is_double - ldr r5, _0806D368 - ldrb r1, [r4, 0x3] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldr r6, _0806D36C - ldrb r2, [r4, 0x6] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2] - movs r1, 0 - mov r8, r1 - strh r0, [r3, 0x20] - bl battle_type_is_double - ldrb r1, [r4, 0x3] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldrb r2, [r4, 0x6] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2, 0x1] - strh r0, [r3, 0x22] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x26] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1C - adds r1, r5 - mov r9, r1 - add r0, r9 - ldr r7, _0806D370 - str r7, [r0] - bl battle_type_is_double - ldrb r1, [r4, 0x4] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldrb r2, [r4, 0x5] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2] - strh r0, [r3, 0x20] - bl battle_type_is_double - ldrb r1, [r4, 0x4] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldrb r2, [r4, 0x5] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2, 0x1] - strh r0, [r3, 0x22] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x26] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - str r7, [r0] - ldrb r0, [r4] - ldrb r2, [r4, 0x2] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - bl sub_806DDA0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldr r0, _0806D374 - str r0, [r1] - ldrb r0, [r4, 0x5] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0806D378 - adds r0, r5 - ldrb r1, [r4, 0x6] - muls r1, r6 - adds r1, r5 - bl sub_806E6F0 - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl sub_806E2C0 - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl sub_806E07C - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl sub_806E4E8 - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl nullsub_12 - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl sub_806E2C0 - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl sub_806E07C - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl sub_806E4E8 - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl nullsub_12 - bl sub_806E6C8 - mov r0, r10 - bl sub_806CC74 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806D364: .4byte 0x02001000 -_0806D368: .4byte 0x02020004 -_0806D36C: .4byte gUnknown_08376678 -_0806D370: .4byte sub_806DA38 -_0806D374: .4byte sub_806DA0C -_0806D378: .4byte 0x03004360 - thumb_func_end sub_806D198 - - thumb_func_start sub_806D37C -sub_806D37C: @ 806D37C - push {r4,lr} - adds r4, r0, 0 - bl sub_809D638 - ldrh r2, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r3, 0x32 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _0806D3A8 - movs r1, 0x2E - ldrsh r0, [r4, r1] - negs r0, r0 - movs r1, 0 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x32] - ldr r0, _0806D3A4 - str r0, [r4, 0x1C] - b _0806D3AE - .align 2, 0 -_0806D3A4: .4byte sub_806DA38 -_0806D3A8: - ldrh r0, [r4, 0x2E] - adds r0, r2, r0 - strh r0, [r4, 0x24] -_0806D3AE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806D37C - - thumb_func_start sub_806D3B4 -sub_806D3B4: @ 806D3B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r6, _0806D438 - ldr r1, _0806D43C - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x3] - bl sub_806BA34 - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x9] - bl sub_806BB3C - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0xA] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0xB] - bl sub_806BB3C - ldrh r1, [r5, 0x8] - subs r1, 0x1 - strh r1, [r5, 0x8] - ldrb r0, [r6, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x3] - movs r2, 0x4 - bl sub_806B9A4 - cmp r4, 0 - beq _0806D440 - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x9] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - b _0806D454 - .align 2, 0 -_0806D438: .4byte gUnknown_083769C0 -_0806D43C: .4byte 0x03004b20 -_0806D440: - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x9] - movs r2, 0x1 - movs r3, 0x4 - bl sub_806BA94 -_0806D454: - mov r0, r8 - cmp r0, 0 - beq _0806D480 - ldr r1, _0806D47C - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - ldrb r1, [r6, 0xA] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0xB] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - b _0806D49E - .align 2, 0 -_0806D47C: .4byte 0x03004b20 -_0806D480: - ldr r1, _0806D4A8 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - ldrb r1, [r6, 0xA] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0xB] - movs r2, 0x1 - movs r3, 0x4 - bl sub_806BA94 -_0806D49E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806D4A8: .4byte 0x03004b20 - thumb_func_end sub_806D3B4 - - thumb_func_start sub_806D4AC -sub_806D4AC: @ 806D4AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - beq _0806D4F6 - adds r1, r2, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_806DDA0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806D4FC - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r4, r1, r2 - ldr r0, _0806D500 - strh r0, [r4, 0x2E] - ldr r3, _0806D504 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r3 - movs r3, 0x8 - ldrsh r0, [r0, r3] - lsls r0, 3 - negs r0, r0 - strh r0, [r4, 0x32] - adds r2, 0x1C - adds r1, r2 - ldr r0, _0806D508 - str r0, [r1] -_0806D4F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806D4FC: .4byte 0x02020004 -_0806D500: .4byte 0x0000fff8 -_0806D504: .4byte 0x03004b20 -_0806D508: .4byte sub_806D37C - thumb_func_end sub_806D4AC - - thumb_func_start sub_806D50C -sub_806D50C: @ 806D50C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_806DDA0 - ldr r2, _0806D534 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x20] - adds r0, 0xF0 - strh r0, [r1, 0x20] - pop {r0} - bx r0 - .align 2, 0 -_0806D534: .4byte 0x02020004 - thumb_func_end sub_806D50C - - thumb_func_start sub_806D538 -sub_806D538: @ 806D538 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1, 0 - cmp r4, 0xFF - beq _0806D59A - cmp r1, 0x1 - beq _0806D568 - cmp r1, 0x1 - bgt _0806D556 - cmp r1, 0 - beq _0806D560 - b _0806D58A -_0806D556: - cmp r0, 0x2 - beq _0806D570 - cmp r0, 0x3 - beq _0806D57E - b _0806D58A -_0806D560: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x17 - b _0806D576 -_0806D568: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x13 - b _0806D576 -_0806D570: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x16 -_0806D576: - movs r3, 0x13 - bl DrawDefaultWindow - b _0806D58A -_0806D57E: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x12 - movs r3, 0x13 - bl DrawDefaultWindow -_0806D58A: - ldr r0, _0806D5A0 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0x1 - movs r2, 0x11 - bl Print -_0806D59A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D5A0: .4byte gUnknown_08376624 - thumb_func_end sub_806D538 - - thumb_func_start sub_806D5A4 -sub_806D5A4: @ 806D5A4 - push {lr} - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl Reset - pop {r0} - bx r0 - thumb_func_end sub_806D5A4 - - thumb_func_start sub_806D5B8 -sub_806D5B8: @ 806D5B8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0806D658 - bl battle_type_is_double - lsls r4, r5, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1] - mov r10, r1 - bl battle_type_is_double - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x1] - mov r9, r1 - bl battle_type_is_double - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x2] - mov r8, r1 - bl battle_type_is_double - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r4, r1 - adds r4, r6 - ldrb r1, [r4, 0x3] - ldr r0, _0806D65C - str r1, [sp] - mov r1, r10 - mov r2, r9 - mov r3, r8 - bl ZeroFillWindowRect - movs r0, 0 - str r0, [sp, 0x4] - lsls r5, 10 - ldr r0, _0806D660 - adds r5, r0 - ldr r2, _0806D664 - add r0, sp, 0x4 - adds r1, r5, 0 - bl CpuFastSet - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806D658: .4byte gUnknown_08376948 -_0806D65C: .4byte 0x03004210 -_0806D660: .4byte 0x06014000 -_0806D664: .4byte 0x01000100 - thumb_func_end sub_806D5B8 - - thumb_func_start sub_806D668 -sub_806D668: @ 806D668 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0806D708 - bl battle_type_is_double - lsls r4, r5, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1] - mov r10, r1 - bl battle_type_is_double - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x1] - mov r9, r1 - bl battle_type_is_double - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x2] - mov r8, r1 - bl battle_type_is_double - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r4, r1 - adds r4, r6 - ldrb r1, [r4, 0x3] - ldr r0, _0806D70C - str r1, [sp] - mov r1, r10 - mov r2, r9 - mov r3, r8 - bl ZeroFillWindowRect - movs r0, 0 - str r0, [sp, 0x4] - lsls r5, 10 - ldr r0, _0806D710 - adds r5, r0 - ldr r2, _0806D714 - add r0, sp, 0x4 - adds r1, r5, 0 - bl CpuFastSet - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806D708: .4byte gUnknown_08376978 -_0806D70C: .4byte 0x03004210 -_0806D710: .4byte 0x06014300 -_0806D714: .4byte 0x01000040 - thumb_func_end sub_806D668 - - thumb_func_start sub_806D718 -sub_806D718: @ 806D718 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0806D7C4 - mov r0, sp - strh r1, [r0] - movs r5, 0 - cmp r4, 0x1 - bhi _0806D736 - ldr r0, _0806D7C8 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram -_0806D736: - cmp r4, 0x2 - beq _0806D73E - cmp r4, 0 - bne _0806D746 -_0806D73E: - ldr r0, _0806D7CC - ldr r1, _0806D7D0 - bl LZDecompressVram -_0806D746: - cmp r4, 0x3 - beq _0806D74E - cmp r4, 0 - bne _0806D75A -_0806D74E: - ldr r0, _0806D7D4 - movs r2, 0xB0 - lsls r2, 1 - movs r1, 0 - bl LoadCompressedPalette -_0806D75A: - cmp r4, 0x4 - beq _0806D762 - cmp r4, 0 - bne _0806D776 -_0806D762: - mov r0, sp - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - ldr r0, _0806D7D8 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_0806D776: - cmp r4, 0x5 - beq _0806D77E - cmp r4, 0 - bne _0806D786 -_0806D77E: - ldr r0, _0806D7DC - ldr r1, _0806D7E0 - bl LZDecompressVram -_0806D786: - cmp r4, 0x6 - beq _0806D78E - cmp r4, 0 - bne _0806D796 -_0806D78E: - ldr r0, _0806D7E4 - ldr r1, _0806D7E8 - bl LZDecompressVram -_0806D796: - cmp r4, 0x7 - beq _0806D79E - cmp r4, 0 - bne _0806D7A6 -_0806D79E: - ldr r0, _0806D7EC - ldr r1, _0806D7F0 - bl LZDecompressVram -_0806D7A6: - cmp r4, 0x8 - beq _0806D7AE - cmp r4, 0 - bne _0806D7BA -_0806D7AE: - ldr r0, _0806D7F4 - movs r1, 0xB0 - movs r2, 0x20 - bl LoadCompressedPalette - movs r5, 0x1 -_0806D7BA: - adds r0, r5, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806D7C4: .4byte 0x00007fff -_0806D7C8: .4byte gUnknown_08E71354 -_0806D7CC: .4byte gUnknown_08E71788 -_0806D7D0: .4byte 0x06003800 -_0806D7D4: .4byte gUnknown_08E716A0 -_0806D7D8: .4byte gFontDefaultPalette -_0806D7DC: .4byte gUnknown_08E71894 -_0806D7E0: .4byte 0x06006000 -_0806D7E4: .4byte gUnknown_08E71934 -_0806D7E8: .4byte 0x06006180 -_0806D7EC: .4byte gStatusGfx_Icons -_0806D7F0: .4byte 0x06007180 -_0806D7F4: .4byte gStatusPal_Icons - thumb_func_end sub_806D718 - - thumb_func_start sub_806D7F8 -sub_806D7F8: @ 806D7F8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsls r2, 16 - lsrs r5, r1, 16 - asrs r1, 16 - lsrs r4, r2, 16 - asrs r2, 16 - adds r0, r1, 0 - adds r1, r2, 0 - bl sub_8046200 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - cmp r5, r4 - beq _0806D830 - movs r2, 0x1 - cmp r0, 0x3 - beq _0806D830 - movs r2, 0x2 - cmp r0, 0x2 - beq _0806D830 - movs r2, 0x4 - cmp r0, 0x1 - bne _0806D830 - movs r2, 0x3 -_0806D830: - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, _0806D848 - adds r0, r1 - adds r1, r2, 0 - bl sub_809D824 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806D848: .4byte 0x02020004 - thumb_func_end sub_806D7F8 - - thumb_func_start sub_806D84C -sub_806D84C: @ 806D84C - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0x39 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x3A - bl PokemonGetField - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806D7F8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806D84C - - thumb_func_start sub_806D880 -sub_806D880: @ 806D880 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r6, r0, 0 - adds r5, r1, 0 - mov r8, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806D904 - lsls r1, r5, 2 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - mov r9, r0 - ldrb r1, [r1, 0x1] - mov r10, r1 - mov r0, r8 - movs r1, 0x41 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0 - bl PokemonGetField - ldr r1, _0806D908 - movs r2, 0x5 - str r2, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - mov r2, r9 - mov r3, r10 - bl sub_809D2FC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_806DE50 - adds r0, r4, 0 - mov r1, r8 - bl sub_806D84C - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806D904: .4byte gUnknown_08376678 -_0806D908: .4byte sub_809D62C - thumb_func_end sub_806D880 - - thumb_func_start sub_806D90C -sub_806D90C: @ 806D90C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r6 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806D95A - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806D946 - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x2 - adds r3, r4, 0 - bl sub_806D880 - b _0806D95A -_0806D946: - bl battle_type_is_double - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - mov r0, r8 - adds r1, r7, 0 - adds r3, r4, 0 - bl sub_806D880 -_0806D95A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806D90C - - thumb_func_start unref_sub_806D964 -unref_sub_806D964: @ 806D964 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _0806D986 -_0806D96E: - movs r0, 0x64 - adds r2, r4, 0 - muls r2, r0 - ldr r0, _0806D994 - adds r2, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806D90C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0806D986: - ldr r0, _0806D998 - ldrb r0, [r0] - cmp r4, r0 - bcc _0806D96E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806D994: .4byte 0x03004360 -_0806D998: .4byte 0x03004350 - thumb_func_end unref_sub_806D964 - - thumb_func_start sub_806D99C -sub_806D99C: @ 806D99C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r6, r0, 0 - adds r5, r1, 0 - mov r8, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806DA04 - lsls r1, r5, 2 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r3 - ldrb r2, [r1] - ldrb r3, [r1, 0x1] - mov r1, r8 - ldrh r0, [r1] - ldr r1, _0806DA08 - movs r4, 0x5 - str r4, [sp] - mov r7, r8 - ldr r4, [r7, 0x18] - str r4, [sp, 0x4] - bl sub_809D2FC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_806DE50 - ldrh r1, [r7, 0x10] - ldrh r2, [r7, 0x12] - adds r0, r4, 0 - bl sub_806D7F8 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DA04: .4byte gUnknown_08376678 -_0806DA08: .4byte sub_809D62C - thumb_func_end sub_806D99C - - thumb_func_start sub_806DA0C -sub_806DA0C: @ 806DA0C - push {r4,lr} - adds r4, r0, 0 - bl sub_809D638 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0806DA32 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806DA30 - ldr r0, _0806DA2C - strh r0, [r4, 0x26] - b _0806DA32 - .align 2, 0 -_0806DA2C: .4byte 0x0000fffd -_0806DA30: - strh r1, [r4, 0x26] -_0806DA32: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806DA0C - - thumb_func_start sub_806DA38 -sub_806DA38: @ 806DA38 - push {lr} - bl sub_809D638 - pop {r0} - bx r0 - thumb_func_end sub_806DA38 - - thumb_func_start sub_806DA44 -sub_806DA44: @ 806DA44 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r1, 0x5 - bhi _0806DA8E - bl sub_806DDA0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806DA7C - lsls r1, r0, 4 - adds r1, r0 - lsls r2, r1, 2 - adds r1, r2, r3 - movs r0, 0 - strh r0, [r1, 0x26] - strh r0, [r1, 0x2E] - cmp r4, 0 - bne _0806DA84 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, _0806DA80 - b _0806DA8C - .align 2, 0 -_0806DA7C: .4byte 0x02020004 -_0806DA80: .4byte sub_806DA38 -_0806DA84: - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, _0806DA94 -_0806DA8C: - str r1, [r0] -_0806DA8E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806DA94: .4byte sub_806DA0C - thumb_func_end sub_806DA44 - - thumb_func_start sub_806DA98 -sub_806DA98: @ 806DA98 - push {lr} - ldr r0, _0806DAAC - bl LoadSpriteSheet - ldr r0, _0806DAB0 - bl LoadSpritePalette - pop {r0} - bx r0 - .align 2, 0 -_0806DAAC: .4byte gUnknown_083765DC -_0806DAB0: .4byte gUnknown_083765E4 - thumb_func_end sub_806DA98 - - thumb_func_start sub_806DAB4 -sub_806DAB4: @ 806DAB4 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0806DAE4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _0806DAE8 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806DB06 - .align 2, 0 -_0806DAE4: .4byte 0x02020004 -_0806DAE8: - adds r3, r4, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] -_0806DB06: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806DAB4 - - thumb_func_start sub_806DB0C -sub_806DB0C: @ 806DB0C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r6, r0, 0 - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _0806DB84 - mov r8, r0 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - add r0, r8 - adds r0, 0x43 - ldrb r3, [r0] - ldr r0, _0806DB88 - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0xFA - movs r2, 0xAA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - mov r0, r8 - adds r5, r4, r0 - movs r0, 0x4 - strh r0, [r5, 0x24] - movs r0, 0xA - strh r0, [r5, 0x26] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, _0806DB8C - str r0, [r4] - strh r6, [r5, 0x3C] - adds r0, r5, 0 - mov r1, r9 - bl StartSpriteAnim - ldr r1, [r4] - adds r0, r5, 0 - bl _call_via_r1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806DB84: .4byte 0x02020004 -_0806DB88: .4byte gSpriteTemplate_837660C -_0806DB8C: .4byte sub_806DAB4 - thumb_func_end sub_806DB0C - - thumb_func_start sub_806DB90 -sub_806DB90: @ 806DB90 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0 - beq _0806DBA4 - cmp r2, 0x1 - beq _0806DBEC - b _0806DC28 -_0806DBA4: - movs r5, 0 - ldrb r0, [r6] - cmp r5, r0 - bcs _0806DC28 -_0806DBAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0806DBE8 - adds r0, r1 - movs r1, 0xC - bl PokemonGetField - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0806DBD8 - adds r0, r7, r5 - ldrb r4, [r0] - adds r0, r1, 0 - bl itemid_is_mail - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_806DB0C -_0806DBD8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrb r0, [r6] - cmp r5, r0 - bcc _0806DBAC - b _0806DC28 - .align 2, 0 -_0806DBE8: .4byte 0x03004360 -_0806DBEC: - movs r5, 0 - b _0806DC22 -_0806DBF0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0806DC30 - adds r0, r1 - movs r1, 0xC - bl PokemonGetField - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0806DC1C - adds r0, r5, r7 - ldrb r4, [r0, 0x6] - adds r0, r1, 0 - bl itemid_is_mail - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_806DB0C -_0806DC1C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0806DC22: - ldrb r0, [r6, 0x1] - cmp r5, r0 - bcc _0806DBF0 -_0806DC28: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DC30: .4byte 0x030045c0 - thumb_func_end sub_806DB90 - - thumb_func_start sub_806DC34 -sub_806DC34: @ 806DC34 - 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 - movs r7, 0 - ldr r0, _0806DCC8 - mov r9, r0 - movs r1, 0x1C - add r1, r9 - mov r10, r1 -_0806DC50: - movs r0, 0x64 - muls r0, r7 - ldr r1, _0806DCCC - adds r0, r1 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806DCB0 - mov r0, r8 - adds r1, r7, 0 - bl sub_806DDA0 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0806DCD0 - movs r1, 0xFA - movs r2, 0xAA - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - mov r1, r9 - adds r6, r4, r1 - movs r1, 0x4 - strh r1, [r6, 0x24] - movs r1, 0xA - strh r1, [r6, 0x26] - strh r5, [r6, 0x3C] - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - add r1, r9 - strh r0, [r1, 0x3C] - mov r0, r8 - adds r1, r7, 0 - bl sub_806DF60 - add r4, r10 - ldr r1, [r4] - adds r0, r6, 0 - bl _call_via_r1 -_0806DCB0: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _0806DC50 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DCC8: .4byte 0x02020004 -_0806DCCC: .4byte 0x03004360 -_0806DCD0: .4byte gSpriteTemplate_837660C - thumb_func_end sub_806DC34 - - thumb_func_start sub_806DCD4 -sub_806DCD4: @ 806DCD4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r7, r2, 16 - bl sub_806DDA0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0806DD2C - movs r1, 0xFA - movs r2, 0xAA - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0806DD30 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r5, r0, r1 - movs r0, 0x4 - strh r0, [r5, 0x24] - movs r0, 0xA - strh r0, [r5, 0x26] - strh r4, [r5, 0x3C] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strh r6, [r0, 0x3C] - cmp r7, 0 - bne _0806DD34 - adds r0, r5, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806DD5C - .align 2, 0 -_0806DD2C: .4byte gSpriteTemplate_837660C -_0806DD30: .4byte 0x02020004 -_0806DD34: - adds r0, r7, 0 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _0806DD46 - adds r0, r5, 0 - movs r1, 0x1 - b _0806DD4A -_0806DD46: - adds r0, r5, 0 - movs r1, 0 -_0806DD4A: - bl StartSpriteAnim - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0806DD5C: - ldr r2, _0806DD78 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r1, r0, r1 - adds r0, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DD78: .4byte 0x02020004 - thumb_func_end sub_806DCD4 - - thumb_func_start sub_806DD7C -sub_806DD7C: @ 806DD7C - ldrh r2, [r0, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806DD9C - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r2, [r1, 0x24] - ldrh r3, [r1, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_0806DD9C: .4byte 0x02020004 - thumb_func_end sub_806DD7C - - thumb_func_start sub_806DDA0 -sub_806DDA0: @ 806DDA0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0x5 - bhi _0806DE38 - lsls r0, 2 - ldr r1, _0806DDB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806DDB8: .4byte _0806DDBC - .align 2, 0 -_0806DDBC: - .4byte _0806DE38 - .4byte _0806DDD4 - .4byte _0806DDE8 - .4byte _0806DDFC - .4byte _0806DE10 - .4byte _0806DE24 -_0806DDD4: - ldr r0, _0806DDE4 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x8] - b _0806DE46 - .align 2, 0 -_0806DDE4: .4byte 0x03004b20 -_0806DDE8: - ldr r0, _0806DDF8 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - b _0806DE44 - .align 2, 0 -_0806DDF8: .4byte 0x03004b20 -_0806DDFC: - ldr r0, _0806DE0C - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0xA] - b _0806DE46 - .align 2, 0 -_0806DE0C: .4byte 0x03004b20 -_0806DE10: - ldr r0, _0806DE20 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - b _0806DE44 - .align 2, 0 -_0806DE20: .4byte 0x03004b20 -_0806DE24: - ldr r0, _0806DE34 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0xC] - b _0806DE46 - .align 2, 0 -_0806DE34: .4byte 0x03004b20 -_0806DE38: - ldr r0, _0806DE4C - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] -_0806DE44: - lsrs r0, 8 -_0806DE46: - pop {r1} - bx r1 - .align 2, 0 -_0806DE4C: .4byte 0x03004b20 - thumb_func_end sub_806DDA0 - - thumb_func_start sub_806DE50 -sub_806DE50: @ 806DE50 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r0, 0x5 - bhi _0806DF24 - lsls r0, 2 - ldr r1, _0806DE6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806DE6C: .4byte _0806DE70 - .align 2, 0 -_0806DE70: - .4byte _0806DE88 - .4byte _0806DEA0 - .4byte _0806DEC0 - .4byte _0806DED8 - .4byte _0806DEF8 - .4byte _0806DF10 -_0806DE88: - ldr r1, _0806DE9C - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - lsls r2, r4, 8 - orrs r1, r2 - strh r1, [r0, 0x8] - b _0806DF24 - .align 2, 0 -_0806DE9C: .4byte 0x03004b20 -_0806DEA0: - ldr r0, _0806DEB8 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0x8] - ldr r0, _0806DEBC - ands r0, r2 - orrs r0, r4 - strh r0, [r1, 0x8] - b _0806DF24 - .align 2, 0 -_0806DEB8: .4byte 0x03004b20 -_0806DEBC: .4byte 0xffffff00 -_0806DEC0: - ldr r1, _0806DED4 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xA] - lsls r2, r4, 8 - orrs r1, r2 - strh r1, [r0, 0xA] - b _0806DF24 - .align 2, 0 -_0806DED4: .4byte 0x03004b20 -_0806DED8: - ldr r0, _0806DEF0 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xA] - ldr r0, _0806DEF4 - ands r0, r2 - orrs r0, r4 - strh r0, [r1, 0xA] - b _0806DF24 - .align 2, 0 -_0806DEF0: .4byte 0x03004b20 -_0806DEF4: .4byte 0xffffff00 -_0806DEF8: - ldr r1, _0806DF0C - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - lsls r2, r4, 8 - orrs r1, r2 - strh r1, [r0, 0xC] - b _0806DF24 - .align 2, 0 -_0806DF0C: .4byte 0x03004b20 -_0806DF10: - ldr r0, _0806DF2C - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xC] - ldr r0, _0806DF30 - ands r0, r2 - orrs r0, r4 - strh r0, [r1, 0xC] -_0806DF24: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806DF2C: .4byte 0x03004b20 -_0806DF30: .4byte 0xffffff00 - thumb_func_end sub_806DE50 - - thumb_func_start sub_806DF34 -sub_806DF34: @ 806DF34 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_806DDA0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806DF5C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x3C] - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0806DF5C: .4byte 0x02020004 - thumb_func_end sub_806DF34 - - thumb_func_start sub_806DF60 -sub_806DF60: @ 806DF60 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl sub_806DF34 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - movs r0, 0x64 - adds r1, r4, 0 - muls r1, r0 - ldr r0, _0806DFA4 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xC - bl PokemonGetField - cmp r0, 0 - bne _0806DFAC - ldr r1, _0806DFA8 - 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] - b _0806DFF6 - .align 2, 0 -_0806DFA4: .4byte 0x03004360 -_0806DFA8: .4byte 0x02020004 -_0806DFAC: - adds r0, r4, 0 - movs r1, 0xC - bl PokemonGetField - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _0806DFD8 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r0, _0806DFD4 - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x1 - b _0806DFE6 - .align 2, 0 -_0806DFD4: .4byte 0x02020004 -_0806DFD8: - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - ldr r0, _0806DFFC - adds r4, r0 - adds r0, r4, 0 - movs r1, 0 -_0806DFE6: - bl StartSpriteAnim - adds r4, 0x3E - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] -_0806DFF6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806DFFC: .4byte 0x02020004 - thumb_func_end sub_806DF60 - - thumb_func_start box_print -box_print: @ 806E000 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - str r0, [sp] - ldr r5, _0806E040 - ldr r2, _0806E044 - mov r0, sp - adds r1, r5, 0 - bl CpuFastSet - ldr r0, _0806E048 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_8004E3C - lsls r4, 10 - ldr r0, _0806E04C - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x80 - bl CpuFastSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E040: .4byte 0x02039360 -_0806E044: .4byte 0x01000100 -_0806E048: .4byte gWindowConfig_81E6CAC -_0806E04C: .4byte 0x06014000 - thumb_func_end box_print - - thumb_func_start sub_806E050 -sub_806E050: @ 806E050 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r1, sp - bl GetMonNickname - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl box_print - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806E050 - - thumb_func_start sub_806E07C -sub_806E07C: @ 806E07C - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806E0BC - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E0AA - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl sub_806E050 - b _0806E0BC -_0806E0AA: - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_806E050 -_0806E0BC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E07C - - thumb_func_start sub_806E0C4 -sub_806E0C4: @ 806E0C4 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E0E8 -_0806E0CC: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl sub_806E07C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E0CC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E0E8: .4byte 0x03004360 - thumb_func_end sub_806E0C4 - - thumb_func_start GetMonNickname -GetMonNickname: @ 806E0EC - push {r4,lr} - adds r4, r1, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl PokemonGetField - adds r0, r4, 0 - bl StringGetEnd10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonNickname - - thumb_func_start sub_806E104 -sub_806E104: @ 806E104 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r4, _0806E15C - lsrs r0, 22 - lsls r3, r1, 1 - adds r3, r1 - lsls r3, 3 - adds r0, r3 - adds r0, r4 - ldrb r1, [r0] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r0, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 19 - adds r1, r0 - lsls r1, 1 - ldr r0, _0806E160 - adds r4, r1, r0 - lsls r2, 26 - lsrs r2, 24 - movs r3, 0 - movs r0, 0xC6 - lsls r0, 1 - adds r2, r0 - ldr r0, _0806E164 - adds r5, r0, 0 -_0806E142: - lsls r0, r3, 1 - adds r0, r4 - adds r1, r2, r3 - orrs r1, r5 - strh r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0806E142 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806E15C: .4byte gUnknown_08376738 -_0806E160: .4byte 0x0600f000 -_0806E164: .4byte 0xffffb000 - thumb_func_end sub_806E104 - - thumb_func_start sub_806E168 -sub_806E168: @ 806E168 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E17E - movs r3, 0x2 - b _0806E186 -_0806E17E: - bl battle_type_is_double - lsls r0, 24 - lsrs r3, r0, 24 -_0806E186: - ldr r1, _0806E1C8 - lsls r2, r4, 2 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 3 - adds r2, r0 - adds r2, r1 - ldrb r1, [r2] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r2, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 19 - adds r1, r0 - lsls r1, 1 - ldr r0, _0806E1CC - adds r1, r0 - movs r3, 0 - movs r2, 0 -_0806E1B0: - lsls r0, r3, 1 - adds r0, r1 - strh r2, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0806E1B0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806E1C8: .4byte gUnknown_08376738 -_0806E1CC: .4byte 0x0600f000 - thumb_func_end sub_806E168 - - thumb_func_start sub_806E1D0 -sub_806E1D0: @ 806E1D0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 19 - adds r1, r2 - lsls r1, 1 - ldr r2, _0806E1F0 - adds r1, r2 - movs r2, 0x86 - lsls r2, 1 - adds r0, r2 - strh r0, [r1] - bx lr - .align 2, 0 -_0806E1F0: .4byte 0x0600f000 - thumb_func_end sub_806E1D0 - - thumb_func_start sub_806E1F4 -sub_806E1F4: @ 806E1F4 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r3, _0806E278 - lsls r2, r4, 2 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r2, r3 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x40 - bl sub_806E1D0 - ldr r6, _0806E27C - movs r0, 0xFC - strb r0, [r6] - movs r0, 0x12 - strb r0, [r6, 0x1] - movs r0, 0x8 - strb r0, [r6, 0x2] - adds r0, r6, 0x3 - adds r1, r5, 0 - bl ConvertIntToDecimalString - movs r0, 0 - str r0, [sp] - ldr r5, _0806E280 - ldr r2, _0806E284 - mov r0, sp - adds r1, r5, 0 - bl CpuFastSet - ldr r0, _0806E288 - ldr r2, _0806E28C - adds r1, r5, r2 - adds r2, r6, 0 - bl sub_8004E3C - lsls r4, 10 - ldr r0, _0806E290 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x20 - bl CpuFastSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E278: .4byte gUnknown_08376738 -_0806E27C: .4byte 0x020231cc -_0806E280: .4byte 0x02039460 -_0806E284: .4byte 0x01000020 -_0806E288: .4byte gWindowConfig_81E6CAC -_0806E28C: .4byte 0xffffff00 -_0806E290: .4byte 0x06014200 - thumb_func_end sub_806E1F4 - - thumb_func_start sub_806E294 -sub_806E294: @ 806E294 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x38 - bl PokemonGetField - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806E1F4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806E294 - - thumb_func_start sub_806E2C0 -sub_806E2C0: @ 806E2C0 - push {r4-r7,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806E32E - adds r0, r5, 0 - movs r1, 0x2D - bl PokemonGetField - cmp r0, 0 - bne _0806E32E - adds r0, r5, 0 - bl sub_80A1CD8 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E2FA - movs r6, 0x2 - b _0806E302 -_0806E2FA: - bl battle_type_is_double - lsls r0, 24 - lsrs r6, r0, 24 -_0806E302: - cmp r4, 0 - beq _0806E31A - cmp r4, 0x6 - beq _0806E31A - subs r2, r4, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_806E104 - b _0806E324 -_0806E31A: - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_806E294 -_0806E324: - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_806E3C0 -_0806E32E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806E2C0 - - thumb_func_start sub_806E334 -sub_806E334: @ 806E334 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E358 -_0806E33C: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl sub_806E2C0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E33C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E358: .4byte 0x03004360 - thumb_func_end sub_806E334 - - thumb_func_start sub_806E35C -sub_806E35C: @ 806E35C - push {r4-r7,lr} - ldr r4, [sp, 0x14] - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - adds r1, r4, 0 - bl sub_8040D8C - cmp r0, 0 - bne _0806E3BA - ldr r2, _0806E3A4 - lsls r1, r6, 2 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x3 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r1, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r7, 0 - beq _0806E3A8 - cmp r7, 0xFE - beq _0806E3B2 - b _0806E3BA - .align 2, 0 -_0806E3A4: .4byte gUnknown_08376738 -_0806E3A8: - movs r0, 0x42 - adds r1, r3, 0 - bl sub_806E1D0 - b _0806E3BA -_0806E3B2: - movs r0, 0x44 - adds r1, r3, 0 - bl sub_806E1D0 -_0806E3BA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806E35C - - thumb_func_start sub_806E3C0 -sub_806E3C0: @ 806E3C0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r8, r0 - adds r6, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _0806E41C - mov r9, r0 - adds r0, r5, 0 - mov r1, r9 - bl GetMonNickname - adds r0, r5, 0 - movs r1, 0x41 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl pokemon_get_gender - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - str r0, [sp] - adds r0, r4, 0 - adds r2, r6, 0 - mov r3, r8 - bl sub_806E35C - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E41C: .4byte 0x020231cc - thumb_func_end sub_806E3C0 - - thumb_func_start sub_806E420 -sub_806E420: @ 806E420 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r1, r2, 0 - adds r5, r3, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r2, _0806E48C - adds r0, r2, 0 - movs r2, 0xF - movs r3, 0x1 - bl sub_8072C14 - adds r2, r0, 0 - movs r0, 0xBA - strb r0, [r2] - adds r2, 0x1 - adds r0, r2, 0 - adds r1, r5, 0 - movs r2, 0x23 - movs r3, 0x1 - bl sub_8072C14 - movs r0, 0 - str r0, [sp] - ldr r5, _0806E490 - ldr r2, _0806E494 - mov r0, sp - adds r1, r5, 0 - bl CpuFastSet - ldr r0, _0806E498 - ldr r2, _0806E49C - adds r1, r5, r2 - ldr r2, _0806E48C - bl sub_8004E3C - lsls r4, 10 - ldr r0, _0806E4A0 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x40 - bl CpuFastSet - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806E48C: .4byte 0x020231cc -_0806E490: .4byte 0x02039460 -_0806E494: .4byte 0x01000040 -_0806E498: .4byte gWindowConfig_81E6CAC -_0806E49C: .4byte 0xffffff00 -_0806E4A0: .4byte 0x06014300 - thumb_func_end sub_806E420 - - thumb_func_start sub_806E4A4 -sub_806E4A4: @ 806E4A4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - movs r1, 0x39 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x3A - bl PokemonGetField - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_806E420 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E4A4 - - thumb_func_start sub_806E4E8 -sub_806E4E8: @ 806E4E8 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806E534 - adds r0, r4, 0 - movs r1, 0x2D - bl PokemonGetField - cmp r0, 0 - bne _0806E534 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E522 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl sub_806E4A4 - b _0806E534 -_0806E522: - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_806E4A4 -_0806E534: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E4E8 - - thumb_func_start sub_806E53C -sub_806E53C: @ 806E53C - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E560 -_0806E544: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl sub_806E4E8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E544 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E560: .4byte 0x03004360 - thumb_func_end sub_806E53C - - thumb_func_start unref_sub_806E564 -unref_sub_806E564: @ 806E564 - bx lr - thumb_func_end unref_sub_806E564 - - thumb_func_start unref_sub_806E568 -unref_sub_806E568: @ 806E568 - bx lr - thumb_func_end unref_sub_806E568 - - thumb_func_start nullsub_12 -nullsub_12: @ 806E56C - bx lr - thumb_func_end nullsub_12 - - thumb_func_start nullsub_13 -nullsub_13: @ 806E570 - bx lr - thumb_func_end nullsub_13 - - thumb_func_start sub_806E574 -sub_806E574: @ 806E574 - push {r4-r6,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _0806E624 - str r0, [sp, 0x14] - str r3, [sp] - str r2, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - lsls r2, 16 - asrs r2, 16 - lsls r3, 16 - asrs r3, 16 - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_8046200 - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - cmp r3, 0x2 - bls _0806E5BE - mov r2, sp - ldrb r1, [r2, 0xC] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0xC] -_0806E5BE: - cmp r3, 0x2 - bne _0806E5D2 - mov r2, sp - ldrb r1, [r2, 0xC] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - movs r1, 0x5 - orrs r0, r1 - strb r0, [r2, 0xC] -_0806E5D2: - cmp r4, 0x1 - bhi _0806E5E6 - mov r2, sp - ldrb r1, [r2, 0xC] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - movs r1, 0x6 - orrs r0, r1 - strb r0, [r2, 0xC] -_0806E5E6: - movs r0, 0x80 - lsls r0, 1 - str r0, [sp, 0x10] - ldr r2, _0806E628 - lsls r1, r6, 2 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldr r4, [r1] - add r1, sp, 0x14 - mov r0, sp - adds r2, r4, 0 - movs r3, 0 - bl sub_80460C8 - subs r4, 0x4 - ldr r1, _0806E62C - adds r0, r1, 0 - strh r0, [r4] - adds r1, 0x1 - adds r0, r1, 0 - strh r0, [r4, 0x2] - adds r1, 0x1 - adds r0, r1, 0 - strh r0, [r4, 0x10] - add sp, 0x18 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E624: .4byte 0xffff8000 -_0806E628: .4byte gUnknown_08376858 -_0806E62C: .4byte 0x00003109 - thumb_func_end sub_806E574 - - thumb_func_start sub_806E630 -sub_806E630: @ 806E630 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - movs r1, 0x39 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x3A - bl PokemonGetField - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_806E574 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E630 - - thumb_func_start sub_806E674 -sub_806E674: @ 806E674 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0806E6C0 - adds r0, r4, 0 - movs r1, 0x2D - bl PokemonGetField - cmp r0, 0 - bne _0806E6C0 - bl sub_806B528 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E6AE - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl sub_806E630 - b _0806E6C0 -_0806E6AE: - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_806E630 -_0806E6C0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E674 - - thumb_func_start sub_806E6C8 -sub_806E6C8: @ 806E6C8 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E6EC -_0806E6D0: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl sub_806E674 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E6D0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E6EC: .4byte 0x03004360 - thumb_func_end sub_806E6C8 - - thumb_func_start sub_806E6F0 -sub_806E6F0: @ 806E6F0 - push {r4,r5,lr} - sub sp, 0x64 - adds r4, r0, 0 - adds r5, r1, 0 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r0, r5, 0 - mov r1, sp - movs r2, 0x64 - bl memcpy - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806E6F0 - - thumb_func_start sub_806E720 -sub_806E720: @ 806E720 - push {r4,lr} - lsls r0, 24 - lsrs r0, 21 - adds r0, r3 - ldrb r4, [r0] - lsls r4, 25 - movs r3, 0x80 - lsls r3, 18 - adds r4, r3 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1E - subs r3, r0 - strb r3, [r1] - movs r0, 0x14 - subs r0, r4 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806E720 - - thumb_func_start sub_806E750 -sub_806E750: @ 806E750 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - adds r5, r0, 0 - adds r4, r1, 0 - mov r9, r2 - adds r6, r3, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x9 - add r0, sp - mov r8, r0 - adds r0, r5, 0 - add r1, sp, 0x8 - mov r2, r8 - adds r3, r4, 0 - bl sub_806E720 - add r0, sp, 0x8 - ldrb r0, [r0] - mov r2, r8 - ldrb r1, [r2] - lsls r5, 3 - adds r5, r4 - ldrb r2, [r5, 0x1] - ldrb r3, [r5] - mov r4, r9 - str r4, [sp] - ldr r4, [r5, 0x4] - str r4, [sp, 0x4] - bl sub_8089C50 - add r0, sp, 0x8 - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - ldrb r2, [r0] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r5] - str r6, [sp] - ldrb r0, [r5, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - bl InitMenu - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E750 - - thumb_func_start sub_806E7D0 -sub_806E7D0: @ 806E7D0 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - mov r5, sp - adds r5, 0x1 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_806E720 - mov r0, sp - ldrb r0, [r0] - ldrb r1, [r5] - lsls r4, 3 - adds r4, r6 - ldrb r2, [r4, 0x1] - adds r2, r0, r2 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4] - lsls r3, 1 - adds r3, r1, r3 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl Reset - bl sub_8072DEC - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E7D0 - - thumb_func_start sub_806E81C -sub_806E81C: @ 806E81C - lsls r0, 24 - lsls r3, 24 - lsrs r3, 24 - lsrs r0, 21 - adds r0, r1 - ldr r0, [r0, 0x4] - adds r0, r3 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r2 - ldr r0, [r0, 0x4] - bx lr - thumb_func_end sub_806E81C - - thumb_func_start sub_806E834 -sub_806E834: @ 806E834 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r1, _0806E878 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x1A - movs r3, 0x13 - bl DrawDefaultWindow - adds r0, r5, 0 - movs r1, 0x4 - movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage - ldr r0, _0806E87C - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806E880 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806E878: .4byte 0x0202e8f6 -_0806E87C: .4byte sub_806E884 -_0806E880: .4byte 0x03004b20 - thumb_func_end sub_806E834 - - thumb_func_start sub_806E884 -sub_806E884: @ 806E884 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - beq _0806E8C0 - ldr r1, _0806E8C8 - movs r0, 0 - strb r0, [r1] - ldr r1, _0806E8CC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0806E8BA - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x1A - movs r3, 0x13 - bl Reset -_0806E8BA: - adds r0, r5, 0 - bl DestroyTask -_0806E8C0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806E8C8: .4byte 0x0202e8f6 -_0806E8CC: .4byte 0x03004b20 - thumb_func_end sub_806E884 - - thumb_func_start sub_806E8D0 -sub_806E8D0: @ 806E8D0 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r4, _0806E8FC - str r2, [r4, 0x10] - strb r0, [r4, 0x4] - bl sub_806CA38 - strb r0, [r4, 0x5] - strh r5, [r4, 0x6] - ldrb r1, [r4, 0x5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0806E900 - adds r0, r1 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806E8FC: .4byte 0x0201c000 -_0806E900: .4byte 0x03004360 - thumb_func_end sub_806E8D0 - - thumb_func_start sub_806E904 -sub_806E904: @ 806E904 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r4, 0 - bl itemid_is_mail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E93C - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A2BC4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0806E930 - movs r0, 0x1 - b _0806E958 -_0806E930: - ldr r1, _0806E938 - movs r0, 0x2 - b _0806E940 - .align 2, 0 -_0806E938: .4byte 0x0202e8f4 -_0806E93C: - ldr r1, _0806E960 - movs r0, 0x1 -_0806E940: - strb r0, [r1] - mov r0, sp - strb r4, [r0] - mov r1, sp - lsrs r0, r4, 8 - strb r0, [r1, 0x1] - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl pokemon_setattr - movs r0, 0 -_0806E958: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806E960: .4byte 0x0202e8f4 - thumb_func_end sub_806E904 - - thumb_func_start sub_806E964 -sub_806E964: @ 806E964 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - mov r9, r5 - ldr r2, _0806E9D4 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - ldr r1, _0806E9D8 - str r1, [r6] - adds r1, r5, 0 - mov r2, r8 - bl sub_806E8D0 - ldr r4, _0806E9DC - ldr r0, [r4] - movs r1, 0xC - bl PokemonGetField - lsls r0, 16 - lsrs r2, r0, 16 - adds r7, r2, 0 - ldr r1, _0806E9E0 - movs r0, 0 - strb r0, [r1] - ldr r0, _0806E9E4 - mov r10, r0 - movs r0, 0 - mov r1, r10 - strh r0, [r1] - cmp r2, 0 - beq _0806EA44 - adds r0, r2, 0 - bl itemid_is_mail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E9F0 - ldr r0, _0806E9E8 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806E9EC - movs r1, 0x5 - bl CreateTask - b _0806EA78 - .align 2, 0 -_0806E9D4: .4byte 0x03004b20 -_0806E9D8: .4byte TaskDummy -_0806E9DC: .4byte 0x0201c000 -_0806E9E0: .4byte 0x0202e8f4 -_0806E9E4: .4byte 0x0202e8f8 -_0806E9E8: .4byte gUnknown_0840F17F -_0806E9EC: .4byte party_menu_link_mon_held_item_object -_0806E9F0: - ldr r0, [r4] - ldr r1, _0806EA30 - bl GetMonNickname - ldr r1, _0806EA34 - adds r0, r7, 0 - bl itemid_copy_name - ldr r4, _0806EA38 - ldr r1, _0806EA3C - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806EA40 - movs r1, 0x5 - bl CreateTask - adds r0, r5, 0 - bl itemid_is_mail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806EA78 - mov r0, r10 - strh r7, [r0] - b _0806EA78 - .align 2, 0 -_0806EA30: .4byte 0x020231cc -_0806EA34: .4byte 0x020232cc -_0806EA38: .4byte 0x020234cc -_0806EA3C: .4byte gUnknown_0840F1CD -_0806EA40: .4byte sub_806EBB8 -_0806EA44: - ldr r0, [r4] - adds r1, r5, 0 - bl sub_806E904 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A9538 - adds r0, r5, 0 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _0806EA66 - mov r1, r8 - str r1, [r6] - b _0806EA78 -_0806EA66: - ldrb r0, [r4, 0x5] - mov r1, r9 - movs r2, 0x1 - bl sub_806EBF0 - ldr r0, _0806EA88 - movs r1, 0x5 - bl CreateTask -_0806EA78: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806EA88: .4byte party_menu_link_mon_held_item_object - thumb_func_end sub_806E964 - - thumb_func_start party_menu_link_mon_held_item_object -party_menu_link_mon_held_item_object: @ 806EA8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0806EAC0 - ldrb r0, [r0] - cmp r0, 0 - bne _0806EABA - ldr r4, _0806EAC4 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl sub_806DF60 - ldr r2, _0806EAC8 - ldrb r1, [r4, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r4, 0x10] - str r1, [r0] - adds r0, r5, 0 - bl DestroyTask -_0806EABA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EAC0: .4byte 0x0202e8f6 -_0806EAC4: .4byte 0x0201c000 -_0806EAC8: .4byte 0x03004b20 - thumb_func_end party_menu_link_mon_held_item_object - - thumb_func_start sub_806EACC -sub_806EACC: @ 806EACC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806EB74 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - ldr r4, _0806EB30 - ldr r0, [r4] - movs r1, 0xC - bl PokemonGetField - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl sub_80A9538 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A9424 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806EB5C - ldr r0, [r4] - ldrh r1, [r4, 0x6] - bl sub_806E904 - ldrh r0, [r4, 0x6] - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _0806EB34 - ldrb r0, [r4, 0x5] - adds r1, r5, 0 - movs r2, 0x1 - bl sub_806EDB4 - b _0806EB9A - .align 2, 0 -_0806EB30: .4byte 0x0201c000 -_0806EB34: - ldrh r0, [r4, 0x6] - ldr r1, _0806EB50 - bl itemid_copy_name - ldr r4, _0806EB54 - ldr r1, _0806EB58 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - b _0806EB9A - .align 2, 0 -_0806EB50: .4byte 0x020231cc -_0806EB54: .4byte 0x020234cc -_0806EB58: .4byte gUnknown_0840F26E -_0806EB5C: - ldr r0, _0806EB70 - movs r1, 0 - bl sub_806E834 - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl sub_80A9424 - b _0806EB9A - .align 2, 0 -_0806EB70: .4byte gUnknown_0840F2FC -_0806EB74: - cmp r1, 0x1 - beq _0806EB80 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EBA8 -_0806EB80: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EB8E - movs r0, 0x5 - bl audio_play -_0806EB8E: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset -_0806EB9A: - ldr r0, _0806EBB0 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EBB4 - str r0, [r1] -_0806EBA8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806EBB0: .4byte 0x03004b20 -_0806EBB4: .4byte party_menu_link_mon_held_item_object - thumb_func_end sub_806EACC - - thumb_func_start sub_806EBB8 -sub_806EBB8: @ 806EBB8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806EBE4 - ldrb r0, [r0] - cmp r0, 0 - bne _0806EBDE - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl sub_8072974 - ldr r0, _0806EBE8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EBEC - str r0, [r1] -_0806EBDE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EBE4: .4byte 0x0202e8f6 -_0806EBE8: .4byte 0x03004b20 -_0806EBEC: .4byte sub_806EACC - thumb_func_end sub_806EBB8 - - thumb_func_start sub_806EBF0 -sub_806EBF0: @ 806EBF0 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0806EC30 - adds r0, r1 - ldr r1, _0806EC34 - bl GetMonNickname - ldr r1, _0806EC38 - adds r0, r4, 0 - bl itemid_copy_name - ldr r4, _0806EC3C - ldr r1, _0806EC40 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806E834 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EC30: .4byte 0x03004360 -_0806EC34: .4byte 0x020231cc -_0806EC38: .4byte 0x020232cc -_0806EC3C: .4byte 0x020234cc -_0806EC40: .4byte gUnknown_0840F1AE - thumb_func_end sub_806EBF0 - - thumb_func_start sub_806EC44 -sub_806EC44: @ 806EC44 - push {r4,r5,lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806ECA0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _0806ECA4 - str r3, [r1] - movs r1, 0 - bl sub_806E8D0 - ldr r5, _0806ECA8 - ldr r0, [r5] - movs r1, 0xC - bl PokemonGetField - lsls r0, 16 - ldr r2, _0806ECAC - movs r1, 0 - strb r1, [r2] - movs r1, 0xF8 - lsls r1, 6 - adds r2, r5, r1 - ldrb r1, [r2] - adds r1, 0x6 - ldrb r2, [r2, 0x2] - adds r1, r2 - lsls r2, r1, 3 - adds r2, r1 - lsls r2, 2 - ldr r1, _0806ECB0 - adds r4, r2, r1 - cmp r0, 0 - beq _0806ECBC - ldr r0, _0806ECB4 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806ECB8 - movs r1, 0x5 - bl CreateTask - b _0806ECDA - .align 2, 0 -_0806ECA0: .4byte 0x03004b20 -_0806ECA4: .4byte TaskDummy -_0806ECA8: .4byte 0x0201c000 -_0806ECAC: .4byte 0x0202e8f4 -_0806ECB0: .4byte 0x02028280 -_0806ECB4: .4byte gUnknown_0840F29B -_0806ECB8: .4byte party_menu_link_mon_held_item_object -_0806ECBC: - ldr r0, [r5] - adds r1, r4, 0 - bl sub_80A2D88 - adds r0, r4, 0 - bl sub_80A2B40 - ldr r0, _0806ECE0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806ECE4 - movs r1, 0x5 - bl CreateTask -_0806ECDA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806ECE0: .4byte gUnknown_0840F2D3 -_0806ECE4: .4byte party_menu_link_mon_held_item_object - thumb_func_end sub_806EC44 - - thumb_func_start sub_806ECE8 -sub_806ECE8: @ 806ECE8 - push {r4-r6,lr} - sub sp, 0x4 - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806ED38 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _0806ED3C - str r3, [r1] - movs r1, 0 - bl sub_806E8D0 - ldr r5, _0806ED40 - ldr r0, [r5] - movs r1, 0xC - bl PokemonGetField - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - cmp r4, 0 - bne _0806ED50 - ldr r4, _0806ED44 - ldr r1, _0806ED48 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r0, _0806ED4C - movs r1, 0x5 - bl CreateTask - b _0806EDA2 - .align 2, 0 -_0806ED38: .4byte 0x03004b20 -_0806ED3C: .4byte TaskDummy -_0806ED40: .4byte 0x0201c000 -_0806ED44: .4byte 0x020234cc -_0806ED48: .4byte gUnknown_0840F213 -_0806ED4C: .4byte party_menu_link_mon_held_item_object -_0806ED50: - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0, 0x1] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80A9424 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806ED92 - adds r0, r4, 0 - bl itemid_is_mail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806ED7C - ldr r0, [r5] - bl sub_80A2DF8 -_0806ED7C: - ldrb r0, [r5, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl sub_806EDB4 - ldr r0, [r5] - movs r1, 0xC - mov r2, sp - bl pokemon_setattr - b _0806ED9A -_0806ED92: - ldr r0, _0806EDAC - movs r1, 0 - bl sub_806E834 -_0806ED9A: - ldr r0, _0806EDB0 - movs r1, 0x5 - bl CreateTask -_0806EDA2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806EDAC: .4byte gUnknown_0840F2FC -_0806EDB0: .4byte party_menu_link_mon_held_item_object - thumb_func_end sub_806ECE8 - - thumb_func_start sub_806EDB4 -sub_806EDB4: @ 806EDB4 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0806EDF4 - adds r0, r1 - ldr r1, _0806EDF8 - bl GetMonNickname - ldr r1, _0806EDFC - adds r0, r4, 0 - bl itemid_copy_name - ldr r4, _0806EE00 - ldr r1, _0806EE04 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806E834 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EDF4: .4byte 0x03004360 -_0806EDF8: .4byte 0x020231cc -_0806EDFC: .4byte 0x020232cc -_0806EE00: .4byte 0x020234cc -_0806EE04: .4byte gUnknown_0840F230 - thumb_func_end sub_806EDB4 - - thumb_func_start sub_806EE08 -sub_806EE08: @ 806EE08 - push {r4,lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806EE48 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _0806EE4C - str r3, [r1] - movs r1, 0 - bl sub_806E8D0 - ldr r4, _0806EE50 - ldr r0, [r4] - movs r1, 0xC - bl PokemonGetField - strh r0, [r4, 0x6] - ldr r0, _0806EE54 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806EE58 - movs r1, 0x5 - bl CreateTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EE48: .4byte 0x03004b20 -_0806EE4C: .4byte TaskDummy -_0806EE50: .4byte 0x0201c000 -_0806EE54: .4byte gUnknown_0840F0E8 -_0806EE58: .4byte sub_806EFEC - thumb_func_end sub_806EE08 - - thumb_func_start sub_806EE5C -sub_806EE5C: @ 806EE5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806EEB0 - ldr r5, _0806EE90 - ldrh r0, [r5, 0x6] - movs r1, 0x1 - bl sub_80A9424 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806EE98 - ldr r0, [r5] - bl sub_80A2DF8 - ldr r0, _0806EE94 - movs r1, 0 - bl sub_806E834 - b _0806EEA0 - .align 2, 0 -_0806EE90: .4byte 0x0201c000 -_0806EE94: .4byte gUnknown_0840F24B -_0806EE98: - ldr r0, _0806EEAC - movs r1, 0 - bl sub_806E834 -_0806EEA0: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - b _0806EEDE - .align 2, 0 -_0806EEAC: .4byte gUnknown_0840F2FC -_0806EEB0: - cmp r1, 0x1 - beq _0806EEBC - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EEF0 -_0806EEBC: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EECA - movs r0, 0x5 - bl audio_play -_0806EECA: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 -_0806EEDE: - bl Reset - ldr r0, _0806EEF8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EEFC - str r0, [r1] -_0806EEF0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EEF8: .4byte 0x03004b20 -_0806EEFC: .4byte party_menu_link_mon_held_item_object - thumb_func_end sub_806EE5C - - thumb_func_start sub_806EF00 -sub_806EF00: @ 806EF00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806EF2C - ldrb r0, [r0] - cmp r0, 0 - bne _0806EF26 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl sub_8072974 - ldr r0, _0806EF30 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EF34 - str r0, [r1] -_0806EF26: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EF2C: .4byte 0x0202e8f6 -_0806EF30: .4byte 0x03004b20 -_0806EF34: .4byte sub_806EE5C - thumb_func_end sub_806EF00 - - thumb_func_start sub_806EF38 -sub_806EF38: @ 806EF38 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806EF9C - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - ldr r0, _0806EF70 - ldr r0, [r0] - bl sub_80A2E78 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0806EF78 - ldr r0, _0806EF74 - movs r1, 0 - bl sub_806E834 - b _0806EF80 - .align 2, 0 -_0806EF70: .4byte 0x0201c000 -_0806EF74: .4byte gUnknown_0840F10A -_0806EF78: - ldr r0, _0806EF90 - movs r1, 0 - bl sub_806E834 -_0806EF80: - ldr r0, _0806EF94 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EF98 - str r0, [r1] - b _0806EFD8 - .align 2, 0 -_0806EF90: .4byte gUnknown_0840F12A -_0806EF94: .4byte 0x03004b20 -_0806EF98: .4byte party_menu_link_mon_held_item_object -_0806EF9C: - cmp r1, 0x1 - beq _0806EFA8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EFD8 -_0806EFA8: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EFB6 - movs r0, 0x5 - bl audio_play -_0806EFB6: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - ldr r0, _0806EFE0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806EFE4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806EFE8 - str r1, [r0] -_0806EFD8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EFE0: .4byte gUnknown_0840F147 -_0806EFE4: .4byte 0x03004b20 -_0806EFE8: .4byte sub_806EF00 - thumb_func_end sub_806EF38 - - thumb_func_start sub_806EFEC -sub_806EFEC: @ 806EFEC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F018 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F012 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl sub_8072974 - ldr r0, _0806F01C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F020 - str r0, [r1] -_0806F012: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F018: .4byte 0x0202e8f6 -_0806F01C: .4byte 0x03004b20 -_0806F020: .4byte sub_806EF38 - thumb_func_end sub_806EFEC - - thumb_func_start ItemIdToBattleMoveId -ItemIdToBattleMoveId: @ 806F024 - lsls r0, 16 - ldr r1, _0806F034 - adds r0, r1 - ldr r1, _0806F038 - lsrs r0, 15 - adds r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_0806F034: .4byte 0xfedf0000 -_0806F038: .4byte gUnknown_08376504 - thumb_func_end ItemIdToBattleMoveId - - thumb_func_start pokemon_has_move -pokemon_has_move: @ 806F03C - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 -_0806F046: - adds r1, r4, 0 - adds r1, 0xD - adds r0, r6, 0 - bl PokemonGetField - cmp r0, r5 - bne _0806F058 - movs r0, 0x1 - b _0806F064 -_0806F058: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0806F046 - movs r0, 0 -_0806F064: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end pokemon_has_move - - thumb_func_start sub_806F06C -sub_806F06C: @ 806F06C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x5 - bl audio_play - ldr r1, _0806F0A8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F0AC - str r1, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_806E8D0 - ldr r0, _0806F0B0 - movs r1, 0x5 - bl CreateTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F0A8: .4byte 0x03004b20 -_0806F0AC: .4byte TaskDummy -_0806F0B0: .4byte sub_806F0B4 - thumb_func_end sub_806F06C - - thumb_func_start sub_806F0B4 -sub_806F0B4: @ 806F0B4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - ldr r5, _0806F114 - ldr r0, [r5] - ldr r1, _0806F118 - bl GetMonNickname - ldrh r0, [r5, 0x6] - bl ItemIdToBattleMoveId - movs r4, 0 - strh r0, [r5, 0x8] - ldr r0, _0806F11C - ldrh r2, [r5, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F120 - adds r1, r2 - bl StringCopy - ldr r1, _0806F124 - adds r0, r5, r1 - strh r4, [r0] - ldr r0, [r5] - ldrh r1, [r5, 0x8] - bl pokemon_has_move - lsls r0, 24 - cmp r0, 0 - beq _0806F138 - ldr r4, _0806F128 - ldr r1, _0806F12C - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F130 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F134 - b _0806F1B6 - .align 2, 0 -_0806F114: .4byte 0x0201c000 -_0806F118: .4byte 0x020231cc -_0806F11C: .4byte 0x020232cc -_0806F120: .4byte gMoveNames -_0806F124: .4byte 0xfffff282 -_0806F128: .4byte 0x020234cc -_0806F12C: .4byte gUnknown_0840F49E -_0806F130: .4byte 0x03004b20 -_0806F134: .4byte party_menu_link_mon_held_item_object -_0806F138: - ldr r0, [r5] - ldrb r1, [r5, 0x6] - subs r1, 0x21 - lsls r1, 24 - lsrs r1, 24 - bl sub_8040374 - cmp r0, 0 - bne _0806F17C - ldr r4, _0806F16C - ldr r1, _0806F170 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F174 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F178 - b _0806F1B6 - .align 2, 0 -_0806F16C: .4byte 0x020234cc -_0806F170: .4byte gUnknown_0840F347 -_0806F174: .4byte 0x03004b20 -_0806F178: .4byte party_menu_link_mon_held_item_object -_0806F17C: - ldr r0, [r5] - ldrh r1, [r5, 0x8] - bl pokemon_moveset_pad_ - lsls r0, 16 - ldr r1, _0806F194 - cmp r0, r1 - beq _0806F198 - adds r0, r6, 0 - bl sub_806F1D0 - b _0806F1B8 - .align 2, 0 -_0806F194: .4byte 0xffff0000 -_0806F198: - ldr r4, _0806F1C0 - ldr r1, _0806F1C4 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F1C8 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F1CC -_0806F1B6: - str r1, [r0] -_0806F1B8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806F1C0: .4byte 0x020234cc -_0806F1C4: .4byte gUnknown_0840F37C -_0806F1C8: .4byte 0x03004b20 -_0806F1CC: .4byte sub_806F358 - thumb_func_end sub_806F0B4 - - thumb_func_start sub_806F1D0 -sub_806F1D0: @ 806F1D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0806F234 - ldr r5, _0806F238 - ldrh r2, [r5, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F23C - adds r1, r2 - bl StringCopy - ldr r4, _0806F240 - ldr r1, _0806F244 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, [r5] - movs r1, 0x4 - bl sub_803FCD4 - ldr r1, _0806F248 - adds r0, r5, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0806F220 - ldrh r1, [r5, 0x6] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bhi _0806F220 - adds r0, r1, 0 - movs r1, 0x1 - bl sub_80A9538 -_0806F220: - ldr r0, _0806F24C - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F250 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F234: .4byte 0x020232cc -_0806F238: .4byte 0x0201c000 -_0806F23C: .4byte gMoveNames -_0806F240: .4byte 0x020234cc -_0806F244: .4byte gUnknown_0840F338 -_0806F248: .4byte 0xfffff282 -_0806F24C: .4byte 0x03004b20 -_0806F250: .4byte sub_806F254 - thumb_func_end sub_806F1D0 - - thumb_func_start sub_806F254 -sub_806F254: @ 806F254 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F27C - ldrb r0, [r0] - cmp r0, 0 - bne _0806F276 - ldr r0, _0806F280 - bl fanfare_play - ldr r1, _0806F284 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F288 - str r1, [r0] -_0806F276: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F27C: .4byte 0x0202e8f6 -_0806F280: .4byte 0x0000016f -_0806F284: .4byte 0x03004b20 -_0806F288: .4byte sub_806F28C - thumb_func_end sub_806F254 - - thumb_func_start sub_806F28C -sub_806F28C: @ 806F28C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl task_is_not_running_overworld_fanfare - lsls r0, 24 - cmp r0, 0 - beq _0806F2F2 - ldr r0, _0806F2D0 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0806F2B2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806F2F2 -_0806F2B2: - ldr r4, _0806F2D4 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl sub_806DF60 - ldr r1, _0806F2D8 - adds r0, r4, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0806F2DC - adds r0, r5, 0 - bl sub_8070C54 - b _0806F2F2 - .align 2, 0 -_0806F2D0: .4byte 0x03001770 -_0806F2D4: .4byte 0x0201c000 -_0806F2D8: .4byte 0xfffff282 -_0806F2DC: - ldr r2, _0806F2F8 - ldrb r1, [r4, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r4, 0x10] - str r1, [r0] - adds r0, r6, 0 - bl DestroyTask -_0806F2F2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F2F8: .4byte 0x03004b20 - thumb_func_end sub_806F28C - - thumb_func_start sub_806F2FC -sub_806F2FC: @ 806F2FC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, _0806F32C - ldrb r0, [r0] - cmp r0, 0 - bne _0806F34E - ldr r4, _0806F330 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl sub_806DF60 - ldr r1, _0806F334 - adds r0, r4, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0806F338 - adds r0, r5, 0 - bl sub_8070C54 - b _0806F34E - .align 2, 0 -_0806F32C: .4byte 0x0202e8f6 -_0806F330: .4byte 0x0201c000 -_0806F334: .4byte 0xfffff282 -_0806F338: - ldr r2, _0806F354 - ldrb r1, [r4, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r4, 0x10] - str r1, [r0] - adds r0, r6, 0 - bl DestroyTask -_0806F34E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F354: .4byte 0x03004b20 - thumb_func_end sub_806F2FC - - thumb_func_start sub_806F358 -sub_806F358: @ 806F358 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F384 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F37E - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl sub_8072974 - ldr r0, _0806F388 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F38C - str r0, [r1] -_0806F37E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F384: .4byte 0x0202e8f6 -_0806F388: .4byte 0x03004b20 -_0806F38C: .4byte sub_806F390 - thumb_func_end sub_806F358 - - thumb_func_start sub_806F390 -sub_806F390: @ 806F390 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806F3D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - ldr r0, _0806F3C8 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F3CC - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F3D0 - str r1, [r0] - b _0806F3F4 - .align 2, 0 -_0806F3C8: .4byte gUnknown_0840F429 -_0806F3CC: .4byte 0x03004b20 -_0806F3D0: .4byte sub_806F44C -_0806F3D4: - cmp r1, 0x1 - beq _0806F3E0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F3F4 -_0806F3E0: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F3EE - movs r0, 0x5 - bl audio_play -_0806F3EE: - adds r0, r5, 0 - bl sub_806F614 -_0806F3F4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806F390 - - thumb_func_start sub_806F3FC -sub_806F3FC: @ 806F3FC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0806F438 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806F430 - ldr r0, _0806F43C - ldr r4, _0806F440 - ldrb r1, [r4, 0x5] - ldr r2, _0806F444 - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806F448 - ldrh r4, [r4, 0x8] - str r4, [sp] - bl sub_809D9F0 - adds r0, r5, 0 - bl DestroyTask -_0806F430: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806F438: .4byte 0x0202f388 -_0806F43C: .4byte 0x03004360 -_0806F440: .4byte 0x0201c000 -_0806F444: .4byte 0x03004350 -_0806F448: .4byte sub_808B564 - thumb_func_end sub_806F3FC - - thumb_func_start sub_806F44C -sub_806F44C: @ 806F44C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F484 - ldrb r1, [r0] - cmp r1, 0 - bne _0806F47A - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0806F488 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F48C - str r1, [r0] -_0806F47A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F484: .4byte 0x0202e8f6 -_0806F488: .4byte 0x03004b20 -_0806F48C: .4byte sub_806F3FC - thumb_func_end sub_806F44C - - thumb_func_start sub_806F490 -sub_806F490: @ 806F490 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0806F50C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806F506 - ldr r1, _0806F510 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F514 - str r1, [r0] - ldr r0, _0806F518 - ldrh r1, [r0] - ldr r2, _0806F51C - adds r0, r3, 0 - bl sub_806E8D0 - bl sub_809FA30 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r5, _0806F520 - ldr r0, [r5] - adds r1, 0xD - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, [r5] - ldr r1, _0806F524 - bl GetMonNickname - ldr r0, _0806F528 - movs r1, 0xD - muls r1, r4 - ldr r2, _0806F52C - adds r1, r2 - bl StringCopy - ldr r4, _0806F530 - ldr r1, _0806F534 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806F538 - movs r1, 0x5 - bl CreateTask -_0806F506: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806F50C: .4byte 0x0202f388 -_0806F510: .4byte 0x03004b20 -_0806F514: .4byte TaskDummy -_0806F518: .4byte 0x0203855e -_0806F51C: .4byte sub_808B508 -_0806F520: .4byte 0x0201c000 -_0806F524: .4byte 0x020231cc -_0806F528: .4byte 0x020232cc -_0806F52C: .4byte gMoveNames -_0806F530: .4byte 0x020234cc -_0806F534: .4byte gUnknown_0840F44B -_0806F538: .4byte sub_806F53C - thumb_func_end sub_806F490 - - thumb_func_start sub_806F53C -sub_806F53C: @ 806F53C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0806F580 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F57A - ldr r4, _0806F584 - ldr r5, [r4] - bl sub_809FA30 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_803DE34 - ldr r5, [r4] - ldrh r4, [r4, 0x8] - bl sub_809FA30 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_803B6A4 - adds r0, r6, 0 - bl sub_806F1D0 -_0806F57A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F580: .4byte 0x0202e8f6 -_0806F584: .4byte 0x0201c000 - thumb_func_end sub_806F53C - - thumb_func_start sub_806F588 -sub_806F588: @ 806F588 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0806F5E8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806F5E0 - ldr r1, _0806F5EC - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F5F0 - str r1, [r0] - ldr r0, _0806F5F4 - ldrh r1, [r0] - ldr r2, _0806F5F8 - adds r0, r3, 0 - bl sub_806E8D0 - ldr r0, _0806F5FC - ldr r1, _0806F600 - ldrh r2, [r1, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F604 - adds r1, r2 - bl StringCopy - ldr r4, _0806F608 - ldr r1, _0806F60C - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806F610 - movs r1, 0x5 - bl CreateTask -_0806F5E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F5E8: .4byte 0x0202f388 -_0806F5EC: .4byte 0x03004b20 -_0806F5F0: .4byte TaskDummy -_0806F5F4: .4byte 0x0203855e -_0806F5F8: .4byte sub_808B508 -_0806F5FC: .4byte 0x020232cc -_0806F600: .4byte 0x0201c000 -_0806F604: .4byte gMoveNames -_0806F608: .4byte 0x020234cc -_0806F60C: .4byte gUnknown_0840F3F0 -_0806F610: .4byte sub_806F67C - thumb_func_end sub_806F588 - - thumb_func_start sub_806F614 -sub_806F614: @ 806F614 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - ldr r0, _0806F660 - ldr r1, _0806F664 - ldrh r2, [r1, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F668 - adds r1, r2 - bl StringCopy - ldr r4, _0806F66C - ldr r1, _0806F670 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F674 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F678 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806F660: .4byte 0x020232cc -_0806F664: .4byte 0x0201c000 -_0806F668: .4byte gMoveNames -_0806F66C: .4byte 0x020234cc -_0806F670: .4byte gUnknown_0840F3F0 -_0806F674: .4byte 0x03004b20 -_0806F678: .4byte sub_806F67C - thumb_func_end sub_806F614 - - thumb_func_start sub_806F67C -sub_806F67C: @ 806F67C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F6A8 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F6A2 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl sub_8072974 - ldr r0, _0806F6AC - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F6B0 - str r0, [r1] -_0806F6A2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F6A8: .4byte 0x0202e8f6 -_0806F6AC: .4byte 0x03004b20 -_0806F6B0: .4byte sub_806F6B4 - thumb_func_end sub_806F67C - - thumb_func_start sub_806F6B4 -sub_806F6B4: @ 806F6B4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806F730 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - ldr r4, _0806F710 - ldr r0, [r4] - ldr r1, _0806F714 - bl GetMonNickname - ldr r0, _0806F718 - ldrh r2, [r4, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F71C - adds r1, r2 - bl StringCopy - ldr r4, _0806F720 - ldr r1, _0806F724 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F728 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F72C - b _0806F78E - .align 2, 0 -_0806F710: .4byte 0x0201c000 -_0806F714: .4byte 0x020231cc -_0806F718: .4byte 0x020232cc -_0806F71C: .4byte gMoveNames -_0806F720: .4byte 0x020234cc -_0806F724: .4byte gUnknown_0840F409 -_0806F728: .4byte 0x03004b20 -_0806F72C: .4byte sub_806F2FC -_0806F730: - cmp r1, 0x1 - beq _0806F73C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F790 -_0806F73C: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F74A - movs r0, 0x5 - bl audio_play -_0806F74A: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl Reset - ldr r4, _0806F798 - ldr r0, [r4] - ldr r1, _0806F79C - bl GetMonNickname - ldr r0, _0806F7A0 - ldrh r2, [r4, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F7A4 - adds r1, r2 - bl StringCopy - ldr r4, _0806F7A8 - ldr r1, _0806F7AC - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F7B0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F7B4 -_0806F78E: - str r1, [r0] -_0806F790: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F798: .4byte 0x0201c000 -_0806F79C: .4byte 0x020231cc -_0806F7A0: .4byte 0x020232cc -_0806F7A4: .4byte gMoveNames -_0806F7A8: .4byte 0x020234cc -_0806F7AC: .4byte gUnknown_0840F37C -_0806F7B0: .4byte 0x03004b20 -_0806F7B4: .4byte sub_806F358 - thumb_func_end sub_806F6B4 - - thumb_func_start sub_806F7B8 -sub_806F7B8: @ 806F7B8 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldr r3, _0806F7D4 -_0806F7C2: - adds r0, r1, 0 - adds r0, 0x32 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0806F7D8 - movs r0, 0x1 - b _0806F7E4 - .align 2, 0 -_0806F7D4: .4byte gUnknown_08376504 -_0806F7D8: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0806F7C2 - movs r0, 0 -_0806F7E4: - pop {r1} - bx r1 - thumb_func_end sub_806F7B8 - - thumb_func_start sub_806F7E8 -sub_806F7E8: @ 806F7E8 - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - ldr r0, _0806F898 - adds r3, r0 - movs r0, 0x14 - ldrsh r1, [r3, r0] - str r1, [r5] - movs r4, 0x16 - ldrsh r0, [r3, r4] - str r0, [r5, 0x4] - movs r4, 0x18 - ldrsh r0, [r3, r4] - lsls r2, 24 - asrs r2, 24 - muls r0, r2 - str r0, [r5, 0x8] - movs r0, 0x80 - lsls r0, 1 - str r0, [r5, 0x10] - ldr r6, _0806F89C - ldr r2, _0806F8A0 - adds r0, r6, r2 - movs r4, 0 - ldrsh r0, [r0, r4] - bl sub_8046200 - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r2, 0x2 - bls _0806F83E - ldrb r0, [r5, 0xC] - movs r1, 0x20 - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r5, 0xC] -_0806F83E: - cmp r2, 0x2 - bne _0806F850 - ldrb r0, [r5, 0xC] - movs r1, 0x20 - negs r1, r1 - ands r1, r0 - movs r0, 0x5 - orrs r1, r0 - strb r1, [r5, 0xC] -_0806F850: - cmp r3, 0x1 - bhi _0806F862 - ldrb r0, [r5, 0xC] - movs r1, 0x20 - negs r1, r1 - ands r1, r0 - movs r0, 0x6 - orrs r1, r0 - strb r1, [r5, 0xC] -_0806F862: - ldr r4, _0806F8A4 - bl battle_type_is_double - movs r2, 0x80 - lsls r2, 5 - adds r1, r6, r2 - ldrb r2, [r1, 0x5] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r4 - ldr r2, [r2] - ldr r4, _0806F8A8 - adds r1, r6, r4 - adds r0, r5, 0 - movs r3, 0 - bl sub_80460C8 - lsls r0, 16 - asrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806F898: .4byte 0x03004b28 -_0806F89C: .4byte 0x0201b000 -_0806F8A0: .4byte 0x00000282 -_0806F8A4: .4byte gUnknown_08376858 -_0806F8A8: .4byte 0x0000100c - thumb_func_end sub_806F7E8 - - thumb_func_start sub_806F8AC -sub_806F8AC: @ 806F8AC - push {r4-r7,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0x1 - negs r4, r4 - adds r0, r6, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_806F7E8 - ldr r1, _0806F8F4 - ldr r2, _0806F8F8 - adds r5, r1, r2 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - cmp r0, r4 - beq _0806F8D4 - b _0806F9F0 -_0806F8D4: - movs r0, 0x80 - lsls r0, 5 - adds r1, r0 - movs r0, 0 - str r0, [r1, 0xC] - ldr r0, [sp, 0x8] - negs r3, r0 - ldr r2, [sp, 0x4] - adds r0, r3, r2 - ldr r1, [sp] - cmp r0, r1 - ble _0806F8FC - subs r1, r2 - add r0, sp, 0x14 - strh r1, [r0] - b _0806F900 - .align 2, 0 -_0806F8F4: .4byte 0x0201b000 -_0806F8F8: .4byte 0x00000282 -_0806F8FC: - add r0, sp, 0x14 - strh r3, [r0] -_0806F900: - adds r5, r0, 0 - ldr r1, _0806F940 - ldrh r0, [r5] - negs r0, r0 - str r0, [r1] - ldr r0, _0806F944 - ldr r0, [r0] - ldr r1, _0806F948 - bl GetMonNickname - ldr r0, _0806F94C - ldrh r1, [r5] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r2, _0806F950 - lsls r1, r6, 2 - adds r0, r1, r6 - lsls r0, 3 - adds r0, r2 - movs r2, 0x24 - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0 - bne _0806F95C - ldr r0, _0806F954 - ldr r1, _0806F958 - bl StringExpandPlaceholders - b _0806F964 - .align 2, 0 -_0806F940: .4byte 0x02024bec -_0806F944: .4byte 0x0201c000 -_0806F948: .4byte 0x020231cc -_0806F94C: .4byte 0x020232cc -_0806F950: .4byte 0x03004b20 -_0806F954: .4byte 0x020234cc -_0806F958: .4byte gUnknown_0840F4B5 -_0806F95C: - ldr r0, _0806F9D4 - ldr r1, _0806F9D8 - bl StringExpandPlaceholders -_0806F964: - ldr r4, _0806F9DC - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl sub_806DDA0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - bl sub_806D84C - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0x5] - lsls r1, 1 - adds r0, r1 - ldr r1, _0806F9E0 - adds r0, r1 - movs r1, 0x7 - bl task_pc_turn_off - ldr r0, _0806F9E4 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, _0806F9D4 - movs r1, 0x1 - bl sub_806E834 - ldr r1, [sp, 0x4] - ldrh r0, [r5] - adds r0, r1 - strh r0, [r5] - ldr r0, [r4] - movs r1, 0x39 - adds r2, r5, 0 - bl pokemon_setattr - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl sub_80A9538 - bl sub_8032638 - ldr r1, _0806F9E8 - adds r0, r7, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F9EC - str r1, [r0] - b _0806FA10 - .align 2, 0 -_0806F9D4: .4byte 0x020234cc -_0806F9D8: .4byte gUnknown_0840F566 -_0806F9DC: .4byte 0x0201c000 -_0806F9E0: .4byte gUnknown_083769A8 -_0806F9E4: .4byte 0xfffff261 -_0806F9E8: .4byte 0x03004b20 -_0806F9EC: .4byte sub_806FB44 -_0806F9F0: - movs r2, 0x80 - lsls r2, 5 - adds r0, r1, r2 - ldrb r4, [r0, 0x5] - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5] - ldr r3, [sp] - lsls r3, 16 - lsrs r3, 16 - adds r0, r4, 0 - bl sub_806E420 -_0806FA10: - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806F8AC - - thumb_func_start sub_806FA18 -sub_806FA18: @ 806FA18 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - mov r1, sp - movs r2, 0x1 - bl sub_806F7E8 - ldr r6, _0806FAC4 - ldr r1, _0806FAC8 - adds r7, r6, r1 - strh r0, [r7] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0806FAE4 - movs r0, 0x1 - bl audio_play - movs r0, 0x80 - lsls r0, 5 - adds r4, r6, r0 - movs r0, 0 - str r0, [r4, 0xC] - ldr r2, _0806FACC - lsls r3, r5, 2 - adds r3, r5 - lsls r3, 3 - adds r5, r3, r2 - ldrh r0, [r5, 0x1E] - ldrh r1, [r5, 0x20] - subs r0, r1 - strh r0, [r5, 0x1E] - ldr r0, [r4] - adds r2, r3 - adds r2, 0x1E - movs r1, 0x39 - bl pokemon_setattr - ldrb r0, [r4, 0x4] - ldr r1, _0806FAD0 - adds r6, r1 - ldrb r1, [r6, 0x1] - bl sub_806DDA0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - bl sub_806D84C - ldr r2, _0806FAD4 - ldrb r1, [r6, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strb r0, [r4, 0x5] - ldrb r1, [r4, 0x5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0806FAD8 - adds r0, r1 - str r0, [r4] - movs r1, 0x3A - bl PokemonGetField - strh r0, [r5, 0x1C] - ldr r0, [r4] - movs r1, 0x39 - bl PokemonGetField - strh r0, [r5, 0x1E] - ldr r0, _0806FADC - str r0, [r4, 0xC] - ldr r0, [r4, 0x10] - str r0, [r4, 0x14] - ldr r0, _0806FAE0 - str r0, [r5] - ldrh r0, [r5, 0x1E] - strh r0, [r7] - b _0806FB04 - .align 2, 0 -_0806FAC4: .4byte 0x0201b000 -_0806FAC8: .4byte 0x00000282 -_0806FACC: .4byte 0x03004b20 -_0806FAD0: .4byte 0xfffe6000 -_0806FAD4: .4byte 0x02020004 -_0806FAD8: .4byte 0x03004360 -_0806FADC: .4byte 0xffff8000 -_0806FAE0: .4byte sub_806F8AC -_0806FAE4: - movs r1, 0x80 - lsls r1, 5 - adds r0, r6, r1 - ldrb r4, [r0, 0x5] - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r7] - ldr r3, [sp] - lsls r3, 16 - lsrs r3, 16 - adds r0, r4, 0 - bl sub_806E420 -_0806FB04: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806FA18 - - thumb_func_start sub_806FB0C -sub_806FB0C: @ 806FB0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806FB38 - ldrb r0, [r0] - cmp r0, 0 - bne _0806FB32 - ldr r3, _0806FB3C - ldr r2, _0806FB40 - ldrb r1, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldr r1, [r2, 0x10] - str r1, [r0] - adds r0, r4, 0 - bl DestroyTask -_0806FB32: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806FB38: .4byte 0x0202e8f6 -_0806FB3C: .4byte 0x03004b20 -_0806FB40: .4byte 0x0201c000 - thumb_func_end sub_806FB0C - - thumb_func_start sub_806FB44 -sub_806FB44: @ 806FB44 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806FB70 - ldrb r0, [r0] - cmp r0, 0 - bne _0806FB6A - ldr r3, _0806FB74 - ldr r2, _0806FB78 - ldrb r1, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldr r1, [r2, 0x14] - str r1, [r0] - adds r0, r4, 0 - bl DestroyTask -_0806FB6A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806FB70: .4byte 0x0202e8f6 -_0806FB74: .4byte 0x03004b20 -_0806FB78: .4byte 0x0201c000 - thumb_func_end sub_806FB44 - - thumb_func_start sub_806FB7C -sub_806FB7C: @ 806FB7C - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0806FB90 - ldr r0, _0806FB8C - b _0806FB9A - .align 2, 0 -_0806FB8C: .4byte 0x02028daa -_0806FB90: - ldr r1, _0806FBA8 - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] -_0806FB9A: - ldrb r1, [r0, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0806FBAC - movs r0, 0 - b _0806FBAE - .align 2, 0 -_0806FBA8: .4byte gItemEffectTable -_0806FBAC: - movs r0, 0x1 -_0806FBAE: - pop {r1} - bx r1 - thumb_func_end sub_806FB7C - - thumb_func_start sub_806FBB4 -sub_806FBB4: @ 806FBB4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_806E168 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806E2C0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806FBB4 - - thumb_func_start GetMedicineItemEffectMessage -GetMedicineItemEffectMessage: @ 806FBD0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_8070E48 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x3 - cmp r0, 0x12 - bls _0806FBE6 - b _0806FD7C -_0806FBE6: - lsls r0, 2 - ldr r1, _0806FBF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806FBF0: .4byte _0806FBF4 - .align 2, 0 -_0806FBF4: - .4byte _0806FC40 - .4byte _0806FC54 - .4byte _0806FC68 - .4byte _0806FC7C - .4byte _0806FC90 - .4byte _0806FCA4 - .4byte _0806FCB8 - .4byte _0806FD7C - .4byte _0806FCCC - .4byte _0806FCF0 - .4byte _0806FCE0 - .4byte _0806FD20 - .4byte _0806FD30 - .4byte _0806FD10 - .4byte _0806FD00 - .4byte _0806FD7C - .4byte _0806FD54 - .4byte _0806FD54 - .4byte _0806FD68 -_0806FC40: - ldr r0, _0806FC4C - ldr r1, _0806FC50 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC4C: .4byte 0x020234cc -_0806FC50: .4byte gUnknown_0840F4DA -_0806FC54: - ldr r0, _0806FC60 - ldr r1, _0806FC64 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC60: .4byte 0x020234cc -_0806FC64: .4byte gUnknown_0840F518 -_0806FC68: - ldr r0, _0806FC74 - ldr r1, _0806FC78 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC74: .4byte 0x020234cc -_0806FC78: .4byte gUnknown_0840F526 -_0806FC7C: - ldr r0, _0806FC88 - ldr r1, _0806FC8C - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC88: .4byte 0x020234cc -_0806FC8C: .4byte gUnknown_0840F53E -_0806FC90: - ldr r0, _0806FC9C - ldr r1, _0806FCA0 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC9C: .4byte 0x020234cc -_0806FCA0: .4byte gUnknown_0840F4FB -_0806FCA4: - ldr r0, _0806FCB0 - ldr r1, _0806FCB4 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FCB0: .4byte 0x020234cc -_0806FCB4: .4byte gUnknown_0840F5D7 -_0806FCB8: - ldr r0, _0806FCC4 - ldr r1, _0806FCC8 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FCC4: .4byte 0x020234cc -_0806FCC8: .4byte gUnknown_0840F5FA -_0806FCCC: - ldr r0, _0806FCD8 - ldr r1, _0806FCDC - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FCD8: .4byte 0x020234cc -_0806FCDC: .4byte gUnknown_0840F57C -_0806FCE0: - ldr r0, _0806FCE8 - ldr r1, _0806FCEC - b _0806FD34 - .align 2, 0 -_0806FCE8: .4byte 0x020232cc -_0806FCEC: .4byte gUnknown_0840EF72 -_0806FCF0: - ldr r0, _0806FCF8 - ldr r1, _0806FCFC - b _0806FD34 - .align 2, 0 -_0806FCF8: .4byte 0x020232cc -_0806FCFC: .4byte gUnknown_0840F7C6 -_0806FD00: - ldr r0, _0806FD08 - ldr r1, _0806FD0C - b _0806FD34 - .align 2, 0 -_0806FD08: .4byte 0x020232cc -_0806FD0C: .4byte gUnknown_0840F7CD -_0806FD10: - ldr r0, _0806FD18 - ldr r1, _0806FD1C - b _0806FD34 - .align 2, 0 -_0806FD18: .4byte 0x020232cc -_0806FD1C: .4byte gUnknown_0840F7E5 -_0806FD20: - ldr r0, _0806FD28 - ldr r1, _0806FD2C - b _0806FD34 - .align 2, 0 -_0806FD28: .4byte 0x020232cc -_0806FD2C: .4byte gUnknown_0840EF75 -_0806FD30: - ldr r0, _0806FD44 - ldr r1, _0806FD48 -_0806FD34: - bl StringCopy - ldr r0, _0806FD4C - ldr r1, _0806FD50 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FD44: .4byte 0x020232cc -_0806FD48: .4byte gUnknown_0840EF7D -_0806FD4C: .4byte 0x020234cc -_0806FD50: .4byte gUnknown_0840F5C1 -_0806FD54: - ldr r0, _0806FD60 - ldr r1, _0806FD64 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FD60: .4byte 0x020234cc -_0806FD64: .4byte gUnknown_0840F591 -_0806FD68: - ldr r0, _0806FD74 - ldr r1, _0806FD78 - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FD74: .4byte 0x020234cc -_0806FD78: .4byte gUnknown_0840F553 -_0806FD7C: - ldr r0, _0806FD88 - ldr r1, _0806FD8C - bl StringExpandPlaceholders -_0806FD84: - pop {r0} - bx r0 - .align 2, 0 -_0806FD88: .4byte 0x020234cc -_0806FD8C: .4byte gUnknown_0840EF85 - thumb_func_end GetMedicineItemEffectMessage - - thumb_func_start sub_806FD90 -sub_806FD90: @ 806FD90 - push {r4,lr} - adds r4, r0, 0 - lsls r0, r1, 16 - lsrs r0, 16 - bl sub_8070E48 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bne _0806FDBC - adds r0, r4, 0 - movs r1, 0xB - bl PokemonGetField - ldr r1, _0806FDB8 - cmp r0, r1 - bne _0806FDBC - movs r0, 0x1 - b _0806FDBE - .align 2, 0 -_0806FDB8: .4byte 0x0000012f -_0806FDBC: - movs r0, 0 -_0806FDBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_806FD90 - - thumb_func_start ExecuteTableBasedItemEffect__ -ExecuteTableBasedItemEffect__: @ 806FDC4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _0806FDF0 - ldr r1, _0806FDF4 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0806FDFC - movs r0, 0x64 - muls r0, r3 - ldr r1, _0806FDF8 - adds r0, r1 - adds r1, r5, 0 - adds r2, r3, 0 - b _0806FE16 - .align 2, 0 -_0806FDF0: .4byte 0x03001770 -_0806FDF4: .4byte 0x0000043d -_0806FDF8: .4byte 0x03004360 -_0806FDFC: - movs r0, 0x64 - adds r4, r3, 0 - muls r4, r0 - ldr r0, _0806FE28 - adds r4, r0 - adds r0, r3, 0 - bl sub_8094C20 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 -_0806FE16: - adds r3, r6, 0 - bl ExecuteTableBasedItemEffect_ - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806FE28: .4byte 0x03004360 - thumb_func_end ExecuteTableBasedItemEffect__ - - thumb_func_start sub_806FE2C -sub_806FE2C: @ 806FE2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 16 - lsrs r6, r1, 16 - movs r0, 0 - mov r9, r0 - ldr r1, _0806FED4 - mov r10, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - add r1, r10 - ldr r0, _0806FED8 - str r0, [r1] - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_806E8D0 - ldr r5, _0806FEDC - ldr r0, [r5] - adds r1, r6, 0 - bl sub_806FD90 - lsls r0, 24 - cmp r0, 0 - bne _0806FEE0 - adds r0, r6, 0 - bl sub_806FB7C - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r2, r7, 2 - mov r8, r2 - cmp r0, 0x1 - bne _0806FEC2 - ldr r0, [r5] - movs r1, 0x3A - bl PokemonGetField - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - mov r2, r10 - adds r4, r1, r2 - strh r0, [r4, 0x1C] - ldr r0, [r5] - movs r1, 0x39 - bl PokemonGetField - strh r0, [r4, 0x1E] - movs r3, 0x1C - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _0806FEC2 - movs r0, 0 - mov r9, r0 - mov r1, r9 - strh r1, [r4, 0x1C] - strh r1, [r4, 0x1E] -_0806FEC2: - ldr r0, _0806FEDC - ldrb r0, [r0, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - lsrs r0, 24 - b _0806FEE6 - .align 2, 0 -_0806FED4: .4byte 0x03004b20 -_0806FED8: .4byte TaskDummy -_0806FEDC: .4byte 0x0201c000 -_0806FEE0: - movs r0, 0x1 - lsls r2, r7, 2 - mov r8, r2 -_0806FEE6: - cmp r0, 0 - beq _0806FF14 - ldr r1, _0806FF08 - movs r0, 0 - strb r0, [r1] - movs r0, 0x5 - bl audio_play - ldr r0, _0806FF0C - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806FF10 - mov r3, r8 - adds r0, r3, r7 - b _08070002 - .align 2, 0 -_0806FF08: .4byte 0x0202e8f4 -_0806FF0C: .4byte gUnknown_0840EF85 -_0806FF10: .4byte 0x03004b20 -_0806FF14: - ldr r1, _0806FF30 - movs r0, 0x1 - strb r0, [r1] - adds r0, r6, 0 - bl IsBlueYellowRedFlute - lsls r0, 24 - cmp r0, 0 - bne _0806FF34 - movs r0, 0x1 - bl audio_play - b _0806FF3A - .align 2, 0 -_0806FF30: .4byte 0x0202e8f4 -_0806FF34: - movs r0, 0x75 - bl audio_play -_0806FF3A: - ldr r4, _0806FF88 - ldr r0, [r4] - bl sub_80A1CD8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _0806FF4E - cmp r0, 0 - bne _0806FF56 -_0806FF4E: - ldr r0, [r4] - ldrb r1, [r4, 0x5] - bl sub_806FBB4 -_0806FF56: - mov r0, r9 - cmp r0, 0x1 - bne _0806FFC8 - ldr r4, _0806FF88 - ldr r0, [r4] - movs r1, 0x39 - bl PokemonGetField - ldr r2, _0806FF8C - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r2, r1, r2 - ldrh r1, [r2, 0x1E] - subs r0, r1 - strh r0, [r2, 0x20] - ldr r0, _0806FF90 - str r0, [r4, 0xC] - movs r1, 0x1E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0806FF94 - mov r3, r9 - strh r3, [r2, 0x24] - b _0806FF98 - .align 2, 0 -_0806FF88: .4byte 0x0201c000 -_0806FF8C: .4byte 0x03004b20 -_0806FF90: .4byte 0xffff8000 -_0806FF94: - movs r0, 0 - strh r0, [r2, 0x24] -_0806FF98: - ldr r2, _0806FFB8 - ldr r0, [r2, 0x10] - str r0, [r2, 0x14] - ldr r1, _0806FFBC - mov r3, r8 - adds r0, r3, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806FFC0 - str r1, [r0] - ldrh r0, [r0, 0x1E] - ldr r1, _0806FFC4 - adds r2, r1 - strh r0, [r2] - b _0807000A - .align 2, 0 -_0806FFB8: .4byte 0x0201c000 -_0806FFBC: .4byte 0x03004b20 -_0806FFC0: .4byte sub_806F8AC -_0806FFC4: .4byte 0xfffff282 -_0806FFC8: - ldr r4, _08070018 - ldr r0, [r4] - ldr r1, _0807001C - bl GetMonNickname - adds r0, r6, 0 - bl IsBlueYellowRedFlute - lsls r0, 24 - cmp r0, 0 - bne _0806FFE6 - adds r0, r6, 0 - movs r1, 0x1 - bl sub_80A9538 -_0806FFE6: - adds r0, r6, 0 - bl GetMedicineItemEffectMessage - ldrb r0, [r4, 0x5] - ldr r1, [r4] - bl sub_806E07C - ldr r0, _08070020 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _08070024 - mov r2, r8 - adds r0, r2, r7 -_08070002: - lsls r0, 3 - adds r0, r1 - ldr r1, _08070028 - str r1, [r0] -_0807000A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070018: .4byte 0x0201c000 -_0807001C: .4byte 0x020231cc -_08070020: .4byte 0x020234cc -_08070024: .4byte 0x03004b20 -_08070028: .4byte sub_806FB0C - thumb_func_end sub_806FE2C - - thumb_func_start IsBlueYellowRedFlute -IsBlueYellowRedFlute: @ 807002C - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x27 - beq _0807003E - cmp r0, 0x29 - beq _0807003E - cmp r0, 0x28 - bne _08070042 -_0807003E: - movs r0, 0x1 - b _08070044 -_08070042: - movs r0, 0 -_08070044: - pop {r1} - bx r1 - thumb_func_end IsBlueYellowRedFlute - - thumb_func_start sub_8070048 -sub_8070048: @ 8070048 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08070078 - str r2, [r3, 0x10] - movs r4, 0 - strb r0, [r3, 0x4] - movs r2, 0 - strh r1, [r3, 0x6] - strb r2, [r3, 0x5] - ldr r1, _0807007C - str r1, [r3, 0x14] - ldr r2, _08070080 - adds r1, r3, r2 - strh r4, [r1] - ldr r1, _08070084 - adds r3, r1 - strh r4, [r3] - bl sub_8070088 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070078: .4byte 0x0201c000 -_0807007C: .4byte sub_80701DC -_08070080: .4byte 0xfffff27e -_08070084: .4byte 0xfffff280 - thumb_func_end sub_8070048 - - thumb_func_start sub_8070088 -sub_8070088: @ 8070088 - 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 - ldr r1, _08070120 - mov r10, r1 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - mov r2, r10 - adds r7, r1, r2 - ldr r5, _08070124 - str r5, [r7] - ldr r4, _08070128 - ldrb r0, [r4, 0x5] - movs r1, 0x64 - mov r9, r1 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - ldr r1, _0807012C - mov r8, r1 - add r0, r8 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _08070118 - adds r0, r5, 0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - str r0, [sp] - mov r0, r10 - adds r0, 0x8 - ldr r2, [sp] - adds r6, r2, r0 - ldrb r0, [r4, 0x5] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - str r0, [r4] - movs r1, 0x3A - bl PokemonGetField - strh r0, [r6, 0x14] - ldr r0, [r4] - movs r1, 0x39 - bl PokemonGetField - strh r0, [r6, 0x16] - ldrb r0, [r4, 0x5] - ldrh r1, [r4, 0x6] - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _08070134 - adds r0, r5, 0 - bl DestroyTask -_08070118: - ldr r0, _08070130 - str r0, [r7] - b _080701B0 - .align 2, 0 -_08070120: .4byte 0x03004b20 -_08070124: .4byte TaskDummy -_08070128: .4byte 0x0201c000 -_0807012C: .4byte 0x03004360 -_08070130: .4byte sub_80701DC -_08070134: - ldr r1, _080701C0 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x1A - movs r3, 0x13 - bl Reset - movs r0, 0x1 - bl audio_play - ldr r0, [r4] - ldrb r1, [r4, 0x5] - bl sub_806FBB4 - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0x5] - lsls r1, 1 - adds r0, r1 - ldr r1, _080701C4 - adds r0, r1 - movs r1, 0x9 - bl task_pc_turn_off - ldr r2, _080701C8 - adds r1, r4, r2 - movs r0, 0x2 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0x39 - bl PokemonGetField - ldrh r1, [r6, 0x16] - subs r0, r1 - strh r0, [r6, 0x18] - movs r0, 0x1 - strh r0, [r6, 0x1C] - ldr r1, _080701CC - adds r0, r4, r1 - movs r1, 0x1 - strh r1, [r0] - ldr r2, _080701D0 - adds r0, r4, r2 - strh r1, [r0] - ldrh r1, [r6, 0x16] - adds r2, 0x2 - adds r0, r4, r2 - strh r1, [r0] - ldr r0, _080701D4 - str r0, [r4, 0xC] - ldr r1, [sp] - add r1, r10 - ldr r0, _080701D8 - str r0, [r1] -_080701B0: - 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 -_080701C0: .4byte 0x0202e8f4 -_080701C4: .4byte gUnknown_083769A8 -_080701C8: .4byte 0xfffff261 -_080701CC: .4byte 0xfffff27e -_080701D0: .4byte 0xfffff280 -_080701D4: .4byte 0xffff8000 -_080701D8: .4byte sub_806F8AC - thumb_func_end sub_8070088 - - thumb_func_start sub_80701DC -sub_80701DC: @ 80701DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _08070280 - ldr r0, _08070284 - adds r7, r6, r0 - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0x1 - bne _0807023E - movs r0, 0x80 - lsls r0, 5 - adds r4, r6, r0 - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl sub_80A9424 - ldrb r1, [r4, 0x5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08070288 - adds r0, r1 - movs r1, 0xB - bl PokemonGetField - cmp r0, 0 - beq _0807023A - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0x5] - lsls r1, 1 - adds r0, r1 - ldr r1, _0807028C - adds r0, r1 - movs r1, 0x3 - bl task_pc_turn_off - ldr r0, _08070290 - adds r1, r6, r0 - movs r0, 0x2 - strb r0, [r1] -_0807023A: - movs r0, 0 - strh r0, [r7] -_0807023E: - ldr r4, _08070294 - ldrb r0, [r4, 0x5] - adds r0, 0x1 - strb r0, [r4, 0x5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080702D8 - ldr r1, _08070298 - movs r0, 0 - strb r0, [r1] - ldr r1, _0807029C - adds r0, r4, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080702B0 - ldr r1, _080702A0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080702A4 - str r1, [r0] - ldr r0, _080702A8 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _080702AC - movs r1, 0x8 - bl CreateTask - b _080702C6 - .align 2, 0 -_08070280: .4byte 0x0201b000 -_08070284: .4byte 0x0000027e -_08070288: .4byte 0x03004360 -_0807028C: .4byte gUnknown_083769A8 -_08070290: .4byte 0x00000261 -_08070294: .4byte 0x0201c000 -_08070298: .4byte 0x0202e8f4 -_0807029C: .4byte 0xfffff280 -_080702A0: .4byte 0x03004b20 -_080702A4: .4byte TaskDummy -_080702A8: .4byte gUnknown_0840EF85 -_080702AC: .4byte sub_806FB0C -_080702B0: - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl sub_80A9538 - ldr r1, _080702D0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, [r4, 0x10] - str r1, [r0] -_080702C6: - ldr r1, _080702D4 - movs r0, 0 - strb r0, [r1] - b _080702DE - .align 2, 0 -_080702D0: .4byte 0x03004b20 -_080702D4: .4byte 0x03005ce0 -_080702D8: - adds r0, r5, 0 - bl sub_8070088 -_080702DE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80701DC - - thumb_func_start sub_80702E4 -sub_80702E4: @ 80702E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r6, 0 - movs r0, 0x13 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl DrawDefaultWindow - movs r5, 0 - movs r0, 0x64 - adds r7, r4, 0 - muls r7, r0 - ldr r0, _0807036C - mov r8, r0 -_0807030C: - adds r1, r5, 0 - adds r1, 0xD - mov r2, r8 - adds r0, r7, r2 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0xD - muls r0, r4 - ldr r1, _08070370 - adds r0, r1 - lsls r2, r5, 25 - movs r1, 0xB0 - lsls r1, 20 - adds r2, r1 - lsrs r2, 24 - movs r1, 0x14 - bl Print - cmp r4, 0 - beq _08070340 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08070340: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0807030C - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x14 - movs r2, 0xB - adds r3, r6, 0 - bl InitMenu - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807036C: .4byte 0x03004360 -_08070370: .4byte gMoveNames - thumb_func_end sub_80702E4 - - thumb_func_start sub_8070374 -sub_8070374: @ 8070374 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r4, r2, 0 - ldr r0, _08070398 - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0807039C - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _080703E4 - .align 2, 0 -_08070398: .4byte 0x03001770 -_0807039C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080703B2 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - bl MoveMenuCursor - b _080703E4 -_080703B2: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080703CC - ldr r0, _080703C8 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - b _080703E4 - .align 2, 0 -_080703C8: .4byte gUnknown_08376B54 -_080703CC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080703E4 - movs r0, 0x5 - bl audio_play - ldr r0, _080703EC - ldr r1, [r0, 0x4] - adds r0, r4, 0 - bl _call_via_r1 -_080703E4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080703EC: .4byte gUnknown_08376B54 - thumb_func_end sub_8070374 - - thumb_func_start dp05_ether -dp05_ether: @ 80703F0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r2 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - cmp r5, 0xAF - bne _08070410 - ldr r0, _0807040C - b _0807041C - .align 2, 0 -_0807040C: .4byte 0x02028daa -_08070410: - ldr r1, _08070464 - adds r0, r5, 0 - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] -_0807041C: - mov r8, r0 - ldr r7, _08070468 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r7 - ldr r0, _0807046C - str r0, [r1] - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r9 - bl sub_806E8D0 - mov r0, r8 - ldrb r1, [r0, 0x4] - movs r0, 0x10 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08070470 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - strh r1, [r0, 0x1E] - adds r0, r4, 0 - bl ether_effect_related - b _08070498 - .align 2, 0 -_08070464: .4byte gItemEffectTable -_08070468: .4byte 0x03004b20 -_0807046C: .4byte TaskDummy -_08070470: - movs r0, 0x5 - bl audio_play - movs r0, 0xA - movs r1, 0x3 - bl sub_806D538 - ldr r0, _080704A4 - ldrb r0, [r0, 0x5] - bl sub_80702E4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - ldr r1, _080704A8 - str r1, [r0] - ldr r1, _080704AC - movs r0, 0 - strh r0, [r1, 0x2E] -_08070498: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080704A4: .4byte 0x0201c000 -_080704A8: .4byte sub_8070374 -_080704AC: .4byte 0x03001770 - thumb_func_end dp05_ether - - thumb_func_start ether_effect_related_2 -ether_effect_related_2: @ 80704B0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - movs r0, 0x13 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl Reset - bl sub_806D5A4 - bl GetMenuCursorPos - ldr r2, _080704EC - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x1E] - adds r0, r4, 0 - bl ether_effect_related - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080704EC: .4byte 0x03004b20 - thumb_func_end ether_effect_related_2 - - thumb_func_start sub_80704F0 -sub_80704F0: @ 80704F0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8072DEC - movs r0, 0x13 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl Reset - ldr r0, _08070528 - ldr r1, _0807052C - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0807053C - ldr r2, _08070530 - ldr r0, _08070534 - ldrb r1, [r0, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _08070538 - b _0807054C - .align 2, 0 -_08070528: .4byte 0x03001770 -_0807052C: .4byte 0x0000043d -_08070530: .4byte 0x03004b20 -_08070534: .4byte 0x0201c000 -_08070538: .4byte sub_8095118 -_0807053C: - ldr r2, _08070564 - ldr r0, _08070568 - ldrb r1, [r0, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _0807056C -_0807054C: - str r1, [r0] - movs r0, 0x3 - movs r1, 0 - bl sub_806D538 - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070564: .4byte 0x03004b20 -_08070568: .4byte 0x0201c000 -_0807056C: .4byte sub_808B0C0 - thumb_func_end sub_80704F0 - - thumb_func_start ether_effect_related -ether_effect_related: @ 8070570 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - ldr r6, _080705A8 - ldrb r0, [r6, 0x5] - ldrh r1, [r6, 0x6] - ldr r3, _080705AC - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - adds r7, r2, r3 - ldrb r2, [r7, 0x1E] - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _080705B8 - ldr r0, _080705B0 - strb r5, [r0] - movs r0, 0x5 - bl audio_play - ldr r0, _080705B4 - movs r1, 0x1 - bl sub_806E834 - b _080705F8 - .align 2, 0 -_080705A8: .4byte 0x0201c000 -_080705AC: .4byte 0x03004b20 -_080705B0: .4byte 0x0202e8f4 -_080705B4: .4byte gUnknown_0840EF85 -_080705B8: - ldr r1, _0807060C - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - bl audio_play - ldrh r0, [r6, 0x6] - movs r1, 0x1 - bl sub_80A9538 - ldr r0, [r6] - movs r2, 0x1E - ldrsh r1, [r7, r2] - adds r1, 0xD - bl PokemonGetField - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _08070610 - movs r1, 0xD - muls r1, r5 - ldr r2, _08070614 - adds r1, r2 - bl StringCopy - ldrh r0, [r6, 0x6] - bl GetMedicineItemEffectMessage - ldr r0, _08070618 - movs r1, 0x1 - bl sub_806E834 -_080705F8: - ldr r0, _0807061C - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08070620 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807060C: .4byte 0x0202e8f4 -_08070610: .4byte 0x020231cc -_08070614: .4byte gMoveNames -_08070618: .4byte 0x020234cc -_0807061C: .4byte 0x03004b20 -_08070620: .4byte sub_806FB0C - thumb_func_end ether_effect_related - - thumb_func_start dp05_pp_up -dp05_pp_up: @ 8070624 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0807066C - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - adds r3, r4 - ldr r4, _08070670 - str r4, [r3] - bl sub_806E8D0 - movs r0, 0x5 - bl audio_play - movs r0, 0xB - movs r1, 0x3 - bl sub_806D538 - ldr r0, _08070674 - ldrb r0, [r0, 0x5] - bl sub_80702E4 - ldr r0, _08070678 - movs r1, 0x5 - bl CreateTask - ldr r1, _0807067C - movs r0, 0 - strh r0, [r1, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807066C: .4byte 0x03004b20 -_08070670: .4byte TaskDummy -_08070674: .4byte 0x0201c000 -_08070678: .4byte sub_8070374 -_0807067C: .4byte 0x03001770 - thumb_func_end dp05_pp_up - - thumb_func_start sub_8070680 -sub_8070680: @ 8070680 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r3, _080706E0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _080706E4 - str r3, [r1] - adds r1, r6, 0 - bl sub_806E8D0 - ldr r5, _080706E8 - ldr r0, [r5] - movs r1, 0x38 - bl PokemonGetField - cmp r0, 0x64 - beq _080706F4 - movs r4, 0 - ldr r0, _080706EC - adds r7, r5, r0 -_080706B2: - ldr r0, [r5] - ldr r1, _080706F0 - adds r1, r4, r1 - ldrb r1, [r1] - bl PokemonGetField - lsls r1, r4, 1 - adds r1, r7, r1 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _080706B2 - ldr r0, _080706E8 - ldrb r0, [r0, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - lsrs r0, 24 - b _080706F6 - .align 2, 0 -_080706E0: .4byte 0x03004b20 -_080706E4: .4byte TaskDummy -_080706E8: .4byte 0x0201c000 -_080706EC: .4byte 0xfffff264 -_080706F0: .4byte gUnknown_08376D1C -_080706F4: - movs r0, 0x1 -_080706F6: - cmp r0, 0 - beq _08070724 - ldr r1, _08070718 - movs r0, 0 - strb r0, [r1] - movs r0, 0x5 - bl audio_play - ldr r0, _0807071C - movs r1, 0x1 - bl sub_806E834 - ldr r0, _08070720 - movs r1, 0x5 - bl CreateTask - b _0807077C - .align 2, 0 -_08070718: .4byte 0x0202e8f4 -_0807071C: .4byte gUnknown_0840EF85 -_08070720: .4byte sub_806FB0C -_08070724: - ldr r1, _08070784 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl pause_music_for_sound_maybe - ldr r4, _08070788 - ldrb r0, [r4, 0x5] - ldr r1, [r4] - bl sub_8070A20 - adds r0, r6, 0 - movs r1, 0x1 - bl sub_80A9538 - ldr r0, [r4] - ldr r1, _0807078C - bl GetMonNickname - ldr r0, [r4] - movs r1, 0x38 - bl PokemonGetField - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08070790 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _08070794 - ldr r1, _08070798 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0807079C - movs r1, 0x5 - bl CreateTask -_0807077C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070784: .4byte 0x0202e8f4 -_08070788: .4byte 0x0201c000 -_0807078C: .4byte 0x020231cc -_08070790: .4byte 0x020232cc -_08070794: .4byte 0x020234cc -_08070798: .4byte gUnknown_0840F5A6 -_0807079C: .4byte sub_80707A0 - thumb_func_end sub_8070680 - - thumb_func_start sub_80707A0 -sub_80707A0: @ 80707A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl ducking_tick - lsls r0, 24 - cmp r0, 0 - beq _080707E8 - ldr r0, _080707F0 - ldrb r0, [r0] - cmp r0, 0 - bne _080707E8 - ldr r0, _080707F4 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080707CE - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080707E8 -_080707CE: - movs r0, 0x5 - bl audio_play - adds r0, r4, 0 - bl sub_8070848 - ldr r0, _080707F8 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080707FC - str r0, [r1] -_080707E8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080707F0: .4byte 0x0202e8f6 -_080707F4: .4byte 0x03001770 -_080707F8: .4byte 0x03004b20 -_080707FC: .4byte sub_8070800 - thumb_func_end sub_80707A0 - - thumb_func_start sub_8070800 -sub_8070800: @ 8070800 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0807083C - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0807081A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08070834 -_0807081A: - movs r0, 0x5 - bl audio_play - adds r0, r4, 0 - bl sub_8070968 - ldr r0, _08070840 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08070844 - str r0, [r1] -_08070834: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807083C: .4byte 0x03001770 -_08070840: .4byte 0x03004b20 -_08070844: .4byte sub_8070AC8 - thumb_func_end sub_8070800 - - thumb_func_start sub_8070848 -sub_8070848: @ 8070848 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0xB - movs r1, 0 - movs r2, 0x1D - movs r3, 0x7 - bl DrawDefaultWindow - movs r7, 0 - ldr r0, _080708E4 - mov r10, r0 -_08070864: - ldr r1, _080708E8 - ldr r0, [r1] - ldr r1, _080708EC - adds r1, r7, r1 - ldrb r1, [r1] - bl PokemonGetField - adds r1, r7, 0x6 - lsls r1, 1 - ldr r2, _080708F0 - adds r1, r2 - strh r0, [r1] - lsls r4, r7, 1 - adds r2, r4, r2 - ldrh r1, [r2] - subs r0, r1 - strh r0, [r2] - adds r0, r7, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - adds r1, 0xB - lsls r1, 24 - lsrs r6, r1, 24 - adds r0, r7, 0 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 1 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _080708F4 - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - adds r1, r6, 0x1 - lsls r1, 27 - lsrs r1, 24 - mov r2, r9 - lsls r5, r2, 3 - adds r2, r5, 0 - movs r3, 0x1 - bl sub_80729D8 - mov r8, r4 - cmp r7, 0x2 - bne _080708FC - adds r4, r6, 0x6 - lsls r1, r4, 3 - adds r1, 0x6 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080708F8 - adds r2, r5, 0 - movs r3, 0 - bl sub_80729D8 - b _08070910 - .align 2, 0 -_080708E4: .4byte 0x020231cc -_080708E8: .4byte 0x0201c000 -_080708EC: .4byte gUnknown_08376D1C -_080708F0: .4byte 0x0201b264 -_080708F4: .4byte gUnknown_08376D04 -_080708F8: .4byte gUnknown_0840E691 -_080708FC: - adds r4, r6, 0x6 - lsls r1, r4, 3 - adds r1, 0x6 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08070960 - adds r2, r5, 0 - movs r3, 0x1 - bl sub_80729D8 -_08070910: - movs r0, 0xFC - mov r1, r10 - strb r0, [r1] - movs r0, 0x14 - strb r0, [r1, 0x1] - movs r0, 0x6 - strb r0, [r1, 0x2] - ldr r0, _08070964 - add r0, r8 - movs r2, 0 - ldrsh r1, [r0, r2] - mov r0, r10 - adds r0, 0x3 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r1, r4, 27 - movs r0, 0xC0 - lsls r0, 20 - adds r1, r0 - lsrs r1, 24 - mov r0, r9 - lsls r2, r0, 3 - mov r0, r10 - movs r3, 0 - bl sub_80729D8 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _08070864 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070960: .4byte gUnknown_0840E691 -_08070964: .4byte 0x0201b264 - thumb_func_end sub_8070848 - - thumb_func_start sub_8070968 -sub_8070968: @ 8070968 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r7, 0 - ldr r0, _08070A10 - mov r9, r0 - ldr r1, _08070A14 - add r1, r9 - mov r10, r1 - ldr r0, _08070A18 - mov r8, r0 -_08070982: - mov r1, r9 - ldr r0, [r1] - ldr r1, _08070A1C - adds r1, r7, r1 - ldrb r1, [r1] - bl PokemonGetField - adds r6, r7, 0x6 - lsls r6, 1 - add r6, r10 - strh r0, [r6] - adds r0, r7, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 3 - adds r4, r0 - adds r4, 0xB - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - movs r1, 0x3 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 1 - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0xFC - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strb r0, [r1, 0x1] - movs r0, 0x6 - strb r0, [r1, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - mov r0, r8 - adds r0, 0x3 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r4, 0x6 - lsls r4, 3 - adds r4, 0x6 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 3 - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_80729D8 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _08070982 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070A10: .4byte 0x0201c000 -_08070A14: .4byte 0xfffff264 -_08070A18: .4byte 0x020231cc -_08070A1C: .4byte gUnknown_08376D1C - thumb_func_end sub_8070968 - - thumb_func_start sub_8070A20 -sub_8070A20: @ 8070A20 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - bl sub_80A1CD8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08070A3A - cmp r0, 0x6 - bne _08070A42 -_08070A3A: - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_806FBB4 -_08070A42: - bl battle_type_is_double - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0x39 - bl PokemonGetField - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x3A - bl PokemonGetField - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_806E420 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_806E674 - ldr r4, _08070ABC - ldrb r0, [r4, 0x4] - adds r1, r7, 0 - bl sub_806DDA0 - lsls r0, 24 - lsrs r0, 24 - adds r1, r6, 0 - bl sub_806D84C - bl battle_type_is_double - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - lsls r1, r7, 1 - adds r0, r1 - ldr r1, _08070AC0 - adds r0, r1 - movs r1, 0x7 - bl task_pc_turn_off - ldr r0, _08070AC4 - adds r4, r0 - movs r0, 0x2 - strb r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070ABC: .4byte 0x0201c000 -_08070AC0: .4byte gUnknown_083769A8 -_08070AC4: .4byte 0xfffff261 - thumb_func_end sub_8070A20 - - thumb_func_start sub_8070AC8 -sub_8070AC8: @ 8070AC8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl ducking_tick - lsls r0, 24 - cmp r0, 0 - bne _08070ADC - b _08070C2C -_08070ADC: - ldr r0, _08070B24 - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08070AF4 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08070AF4 - b _08070C2C -_08070AF4: - movs r0, 0xB - movs r1, 0 - movs r2, 0x1D - movs r3, 0x7 - bl Reset - ldr r7, _08070B28 - ldr r0, [r7] - movs r1, 0x1 - bl sub_803B7C8 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _08070B2C - adds r0, r7, r1 - strh r5, [r0] - ldr r0, _08070B30 - cmp r4, r0 - beq _08070BDC - cmp r4, r0 - bgt _08070B34 - cmp r4, 0 - beq _08070B40 - b _08070BF4 - .align 2, 0 -_08070B24: .4byte 0x03001770 -_08070B28: .4byte 0x0201c000 -_08070B2C: .4byte 0xfffff282 -_08070B30: .4byte 0x0000fffe -_08070B34: - ldr r0, _08070B3C - cmp r4, r0 - beq _08070B7C - b _08070BF4 - .align 2, 0 -_08070B3C: .4byte 0x0000ffff -_08070B40: - ldr r0, [r7] - movs r1, 0 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08070B74 - ldr r1, _08070B6C - ldr r0, _08070B70 - str r0, [r1] - ldr r0, [r7] - ldrb r3, [r7, 0x5] - adds r1, r2, 0 - movs r2, 0x1 - bl sub_8111924 - adds r0, r6, 0 - bl DestroyTask - b _08070C2C - .align 2, 0 -_08070B6C: .4byte 0x03005e94 -_08070B70: .4byte sub_80A53F8 -_08070B74: - adds r0, r6, 0 - bl sub_8070D90 - b _08070C2C -_08070B7C: - ldr r0, [r7] - ldr r1, _08070BBC - bl GetMonNickname - ldr r0, _08070BC0 - ldr r5, _08070BC4 - ldrh r2, [r5] - movs r1, 0xD - muls r1, r2 - ldr r2, _08070BC8 - adds r1, r2 - bl StringCopy - ldr r4, _08070BCC - ldr r1, _08070BD0 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldrh r0, [r5] - strh r0, [r7, 0x8] - ldr r1, _08070BD4 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070BD8 - b _08070C2A - .align 2, 0 -_08070BBC: .4byte 0x020231cc -_08070BC0: .4byte 0x020232cc -_08070BC4: .4byte 0x02024e82 -_08070BC8: .4byte gMoveNames -_08070BCC: .4byte 0x020234cc -_08070BD0: .4byte gUnknown_0840F37C -_08070BD4: .4byte 0x03004b20 -_08070BD8: .4byte sub_806F358 -_08070BDC: - ldr r0, _08070BEC - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _08070BF0 - str r0, [r1] - b _08070C2C - .align 2, 0 -_08070BEC: .4byte 0x03004b20 -_08070BF0: .4byte sub_8070C54 -_08070BF4: - ldr r0, _08070C34 - ldr r0, [r0] - ldr r1, _08070C38 - bl GetMonNickname - ldr r0, _08070C3C - movs r1, 0xD - muls r1, r4 - ldr r2, _08070C40 - adds r1, r2 - bl StringCopy - ldr r4, _08070C44 - ldr r1, _08070C48 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _08070C4C - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070C50 -_08070C2A: - str r1, [r0] -_08070C2C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070C34: .4byte 0x0201c000 -_08070C38: .4byte 0x020231cc -_08070C3C: .4byte 0x020232cc -_08070C40: .4byte gMoveNames -_08070C44: .4byte 0x020234cc -_08070C48: .4byte gUnknown_0840F338 -_08070C4C: .4byte 0x03004b20 -_08070C50: .4byte sub_806F254 - thumb_func_end sub_8070AC8 - - thumb_func_start sub_8070C54 -sub_8070C54: @ 8070C54 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, _08070C78 - ldr r0, [r7] - movs r1, 0 - bl sub_803B7C8 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _08070C7C - cmp r4, r0 - beq _08070D28 - cmp r4, r0 - bgt _08070C80 - cmp r4, 0 - beq _08070C8C - b _08070D30 - .align 2, 0 -_08070C78: .4byte 0x0201c000 -_08070C7C: .4byte 0x0000fffe -_08070C80: - ldr r0, _08070C88 - cmp r4, r0 - beq _08070CC8 - b _08070D30 - .align 2, 0 -_08070C88: .4byte 0x0000ffff -_08070C8C: - ldr r0, [r7] - movs r1, 0 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08070CC0 - ldr r1, _08070CB8 - ldr r0, _08070CBC - str r0, [r1] - ldr r0, [r7] - ldrb r3, [r7, 0x5] - adds r1, r2, 0 - movs r2, 0x1 - bl sub_8111924 - adds r0, r6, 0 - bl DestroyTask - b _08070D68 - .align 2, 0 -_08070CB8: .4byte 0x03005e94 -_08070CBC: .4byte sub_80A53F8 -_08070CC0: - adds r0, r6, 0 - bl sub_8070D90 - b _08070D68 -_08070CC8: - ldr r0, [r7] - ldr r1, _08070D08 - bl GetMonNickname - ldr r0, _08070D0C - ldr r5, _08070D10 - ldrh r2, [r5] - movs r1, 0xD - muls r1, r2 - ldr r2, _08070D14 - adds r1, r2 - bl StringCopy - ldr r4, _08070D18 - ldr r1, _08070D1C - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldrh r0, [r5] - strh r0, [r7, 0x8] - ldr r1, _08070D20 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070D24 - b _08070D66 - .align 2, 0 -_08070D08: .4byte 0x020231cc -_08070D0C: .4byte 0x020232cc -_08070D10: .4byte 0x02024e82 -_08070D14: .4byte gMoveNames -_08070D18: .4byte 0x020234cc -_08070D1C: .4byte gUnknown_0840F37C -_08070D20: .4byte 0x03004b20 -_08070D24: .4byte sub_806F358 -_08070D28: - adds r0, r6, 0 - bl sub_8070C54 - b _08070D68 -_08070D30: - ldr r0, _08070D70 - ldr r0, [r0] - ldr r1, _08070D74 - bl GetMonNickname - ldr r0, _08070D78 - movs r1, 0xD - muls r1, r4 - ldr r2, _08070D7C - adds r1, r2 - bl StringCopy - ldr r4, _08070D80 - ldr r1, _08070D84 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _08070D88 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070D8C -_08070D66: - str r1, [r0] -_08070D68: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070D70: .4byte 0x0201c000 -_08070D74: .4byte 0x020231cc -_08070D78: .4byte 0x020232cc -_08070D7C: .4byte gMoveNames -_08070D80: .4byte 0x020234cc -_08070D84: .4byte gUnknown_0840F338 -_08070D88: .4byte 0x03004b20 -_08070D8C: .4byte sub_806F254 - thumb_func_end sub_8070C54 - - thumb_func_start sub_8070D90 -sub_8070D90: @ 8070D90 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08070DB4 - ldr r3, _08070DB8 - ldrb r2, [r3, 0x4] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r4 - ldr r2, [r3, 0x10] - str r2, [r1] - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070DB4: .4byte 0x03004b20 -_08070DB8: .4byte 0x0201c000 - thumb_func_end sub_8070D90 - - thumb_func_start sub_8070DBC -sub_8070DBC: @ 8070DBC - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 16 - lsrs r6, r1, 16 - movs r0, 0x5 - bl audio_play - ldr r1, _08070E18 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070E1C - str r1, [r0] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_806E8D0 - ldr r1, _08070E20 - ldr r0, _08070E24 - str r0, [r1] - ldr r0, _08070E28 - ldrb r0, [r0, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _08070E38 - ldr r1, _08070E2C - movs r0, 0 - strb r0, [r1] - ldr r0, _08070E30 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _08070E34 - movs r1, 0x5 - bl CreateTask - b _08070E40 - .align 2, 0 -_08070E18: .4byte 0x03004b20 -_08070E1C: .4byte TaskDummy -_08070E20: .4byte 0x03005e94 -_08070E24: .4byte sub_80A53F8 -_08070E28: .4byte 0x0201c000 -_08070E2C: .4byte 0x0202e8f4 -_08070E30: .4byte gUnknown_0840EF85 -_08070E34: .4byte sub_806FB0C -_08070E38: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_80A9538 -_08070E40: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8070DBC - - thumb_func_start sub_8070E48 -sub_8070E48: @ 8070E48 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08070E5C - ldr r4, _08070E58 - b _08070E66 - .align 2, 0 -_08070E58: .4byte 0x02028daa -_08070E5C: - ldr r1, _08070E8C - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] -_08070E66: - ldrb r1, [r4] - movs r5, 0x3F - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08070E88 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08070E88 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _08070E88 - ldrb r3, [r4, 0x3] - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _08070E90 -_08070E88: - movs r0, 0 - b _08070F8A - .align 2, 0 -_08070E8C: .4byte gItemEffectTable -_08070E90: - movs r2, 0x40 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08070E9E - movs r0, 0xA - b _08070F8A -_08070E9E: - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08070EAA - movs r0, 0x1 - b _08070F8A -_08070EAA: - adds r2, r5, 0 - ands r2, r3 - cmp r2, 0 - bne _08070EB8 - lsrs r0, r1, 7 - cmp r0, 0 - beq _08070EFA -_08070EB8: - cmp r2, 0x20 - bne _08070EC0 - movs r0, 0x4 - b _08070F8A -_08070EC0: - cmp r2, 0x10 - bne _08070EC8 - movs r0, 0x3 - b _08070F8A -_08070EC8: - cmp r2, 0x8 - bne _08070ED0 - movs r0, 0x5 - b _08070F8A -_08070ED0: - cmp r2, 0x4 - bne _08070ED8 - movs r0, 0x6 - b _08070F8A -_08070ED8: - cmp r2, 0x2 - bne _08070EE0 - movs r0, 0x7 - b _08070F8A -_08070EE0: - cmp r2, 0x1 - bne _08070EE8 - movs r0, 0x8 - b _08070F8A -_08070EE8: - lsrs r0, r1, 7 - cmp r0, 0 - beq _08070EF6 - cmp r2, 0 - bne _08070EF6 - movs r0, 0x9 - b _08070F8A -_08070EF6: - movs r0, 0xB - b _08070F8A -_08070EFA: - ldrb r1, [r4, 0x4] - movs r0, 0x44 - ands r0, r1 - adds r2, r1, 0 - cmp r0, 0 - beq _08070F0A - movs r0, 0x2 - b _08070F8A -_08070F0A: - movs r5, 0x2 - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08070F18 - movs r0, 0xC - b _08070F8A -_08070F18: - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r2 - cmp r0, 0 - beq _08070F26 - movs r0, 0xD - b _08070F8A -_08070F26: - ldrb r1, [r4, 0x5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08070F34 - movs r0, 0xE - b _08070F8A -_08070F34: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08070F40 - movs r0, 0xF - b _08070F8A -_08070F40: - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08070F4C - movs r0, 0x10 - b _08070F8A -_08070F4C: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08070F58 - movs r0, 0x11 - b _08070F8A -_08070F58: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08070F64 - movs r0, 0x12 - b _08070F8A -_08070F64: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _08070F70 - movs r0, 0x13 - b _08070F8A -_08070F70: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08070F7C - movs r0, 0x14 - b _08070F8A -_08070F7C: - movs r0, 0x18 - ands r0, r2 - cmp r0, 0 - bne _08070F88 - movs r0, 0x16 - b _08070F8A -_08070F88: - movs r0, 0x15 -_08070F8A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8070E48 - - thumb_func_start unref_sub_8070F90 -unref_sub_8070F90: @ 8070F90 - push {lr} - ldr r0, _08070FAC - bl FlagSet - movs r0, 0x80 - lsls r0, 4 - bl FlagSet - ldr r0, _08070FB0 - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_08070FAC: .4byte 0x00000801 -_08070FB0: .4byte 0x00000802 - thumb_func_end unref_sub_8070F90 - - thumb_func_start sub_8070FB4 -sub_8070FB4: @ 8070FB4 - push {lr} - ldr r0, _08070FCC - movs r1, 0 - strb r1, [r0] - bl is_c1_link_related_active - cmp r0, 0x1 - bne _08070FD0 - bl sub_80710A0 - b _08070FE2 - .align 2, 0 -_08070FCC: .4byte 0x0202e8fd -_08070FD0: - bl GetSafariZoneFlag - cmp r0, 0x1 - bne _08070FDE - bl BuildStartMenuActions_SafariZone - b _08070FE2 -_08070FDE: - bl BuildStartMenuActions_Normal -_08070FE2: - pop {r0} - bx r0 - thumb_func_end sub_8070FB4 - - thumb_func_start AddStartMenuAction -AddStartMenuAction: @ 8070FE8 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _08070FFC - ldr r1, _08071000 - bl append_byte - pop {r0} - bx r0 - .align 2, 0 -_08070FFC: .4byte 0x0202e8fe -_08071000: .4byte 0x0202e8fd - thumb_func_end AddStartMenuAction - - thumb_func_start BuildStartMenuActions_Normal -BuildStartMenuActions_Normal: @ 8071004 - push {lr} - ldr r0, _08071068 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807101A - movs r0, 0 - bl AddStartMenuAction -_0807101A: - movs r0, 0x80 - lsls r0, 4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08071030 - movs r0, 0x1 - bl AddStartMenuAction -_08071030: - movs r0, 0x2 - bl AddStartMenuAction - ldr r0, _0807106C - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807104A - movs r0, 0x3 - bl AddStartMenuAction -_0807104A: - movs r0, 0x4 - bl AddStartMenuAction - movs r0, 0x5 - bl AddStartMenuAction - movs r0, 0x6 - bl AddStartMenuAction - movs r0, 0x7 - bl AddStartMenuAction - pop {r0} - bx r0 - .align 2, 0 -_08071068: .4byte 0x00000801 -_0807106C: .4byte 0x00000802 - thumb_func_end BuildStartMenuActions_Normal - - thumb_func_start BuildStartMenuActions_SafariZone -BuildStartMenuActions_SafariZone: @ 8071070 - push {lr} - movs r0, 0x8 - bl AddStartMenuAction - movs r0, 0 - bl AddStartMenuAction - movs r0, 0x1 - bl AddStartMenuAction - movs r0, 0x2 - bl AddStartMenuAction - movs r0, 0x4 - bl AddStartMenuAction - movs r0, 0x6 - bl AddStartMenuAction - movs r0, 0x7 - bl AddStartMenuAction - pop {r0} - bx r0 - thumb_func_end BuildStartMenuActions_SafariZone - - thumb_func_start sub_80710A0 -sub_80710A0: @ 80710A0 - push {lr} - movs r0, 0x1 - bl AddStartMenuAction - movs r0, 0x2 - bl AddStartMenuAction - ldr r0, _080710D8 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080710C2 - movs r0, 0x3 - bl AddStartMenuAction -_080710C2: - movs r0, 0x9 - bl AddStartMenuAction - movs r0, 0x6 - bl AddStartMenuAction - movs r0, 0x7 - bl AddStartMenuAction - pop {r0} - bx r0 - .align 2, 0 -_080710D8: .4byte 0x00000802 - thumb_func_end sub_80710A0 - - thumb_func_start sub_80710DC -sub_80710DC: @ 80710DC - push {lr} - ldr r0, _08071108 - ldr r1, _0807110C - ldrb r1, [r1] - movs r2, 0xC - movs r3, 0x1 - bl sub_8072C44 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x5 - bl DrawDefaultWindow - ldr r0, _08071110 - movs r1, 0x1 - movs r2, 0x1 - bl Print - pop {r0} - bx r0 - .align 2, 0 -_08071108: .4byte 0x020231cc -_0807110C: .4byte 0x02038808 -_08071110: .4byte gUnknown_0842C4A9 - thumb_func_end sub_80710DC - - thumb_func_start sub_8071114 -sub_8071114: @ 8071114 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r6, r1, 0 - movs r0, 0 - ldrsh r4, [r7, r0] - ldr r1, _08071160 - mov r8, r1 - lsls r0, r4, 25 - movs r1, 0x80 - lsls r1, 18 - adds r5, r0, r1 -_0807112E: - ldr r0, _08071164 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, 3 - add r0, r8 - ldr r0, [r0] - lsrs r2, r5, 24 - movs r1, 0x17 - bl Print - movs r0, 0x80 - lsls r0, 18 - adds r5, r0 - adds r4, 0x1 - ldr r0, _08071168 - ldrb r0, [r0] - cmp r4, r0 - bge _0807116C - subs r6, 0x1 - cmp r6, 0 - bne _0807112E - strh r4, [r7] - movs r0, 0 - b _08071170 - .align 2, 0 -_08071160: .4byte gUnknown_08376D24 -_08071164: .4byte 0x0202e8fe -_08071168: .4byte 0x0202e8fd -_0807116C: - strh r4, [r7] - movs r0, 0x1 -_08071170: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8071114 - - thumb_func_start sub_807117C -sub_807117C: @ 807117C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _08071224 - lsls r0, 2 - ldr r1, _08071198 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08071198: .4byte _0807119C - .align 2, 0 -_0807119C: - .4byte _080711F6 - .4byte _080711B4 - .4byte _080711BA - .4byte _080711DC - .4byte _080711EA - .4byte _080711FE -_080711B4: - bl sub_8070FB4 - b _080711F6 -_080711BA: - ldr r0, _080711D8 - ldrb r3, [r0] - lsls r3, 25 - movs r0, 0xC0 - lsls r0, 18 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x16 - movs r1, 0 - movs r2, 0x1D - bl DrawDefaultWindow - movs r0, 0 - strh r0, [r5] - b _080711F6 - .align 2, 0 -_080711D8: .4byte 0x0202e8fd -_080711DC: - bl GetSafariZoneFlag - cmp r0, 0 - beq _080711F6 - bl sub_80710DC - b _080711F6 -_080711EA: - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8071114 - cmp r0, 0 - beq _08071224 -_080711F6: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08071224 -_080711FE: - ldr r0, _0807121C - ldrb r3, [r0] - ldr r4, _08071220 - ldrb r0, [r4] - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x17 - movs r2, 0x2 - bl InitMenu - strb r0, [r4] - movs r0, 0x1 - b _08071226 - .align 2, 0 -_0807121C: .4byte 0x0202e8fd -_08071220: .4byte 0x0202e8fc -_08071224: - movs r0, 0 -_08071226: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_807117C - - thumb_func_start sub_8071230 -sub_8071230: @ 8071230 - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - mov r1, sp - strh r0, [r1] - adds r1, 0x2 - strh r0, [r1] - adds r4, r1, 0 -_08071240: - mov r0, sp - adds r1, r4, 0 - bl sub_807117C - cmp r0, 0 - beq _08071240 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8071230 - - thumb_func_start task50_startmenu -task50_startmenu: @ 8071254 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08071280 - adds r4, r0, r1 - adds r1, r4, 0x2 - adds r0, r4, 0 - bl sub_807117C - cmp r0, 0x1 - bne _0807127A - movs r0, 0 - strh r0, [r4] - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc -_0807127A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08071280: .4byte 0x03004b28 - thumb_func_end task50_startmenu - - thumb_func_start sub_8071284 -sub_8071284: @ 8071284 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080712AC - bl sub_8071C4C - ldr r4, _080712B0 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080712AC: .4byte gWindowConfig_81E6CE4 -_080712B0: .4byte task50_startmenu - thumb_func_end sub_8071284 - - thumb_func_start sub_80712B4 -sub_80712B4: @ 80712B4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080712D4 - adds r2, r0, r1 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080712D8 - cmp r0, 0x1 - beq _080712F0 - b _08071306 - .align 2, 0 -_080712D4: .4byte 0x03004b20 -_080712D8: - ldr r1, _080712E8 - ldr r0, _080712EC - str r0, [r1] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _08071306 - .align 2, 0 -_080712E8: .4byte 0x03004ae8 -_080712EC: .4byte sub_8071338 -_080712F0: - ldr r0, _0807130C - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08071306 - adds r0, r4, 0 - bl DestroyTask -_08071306: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807130C: .4byte 0x03004ae8 - thumb_func_end sub_80712B4 - - thumb_func_start sub_8071310 -sub_8071310: @ 8071310 - push {lr} - bl is_c1_link_related_active - cmp r0, 0 - bne _08071326 - bl player_bitmagic - bl sub_80594C0 - bl sub_80597F4 -_08071326: - ldr r0, _08071334 - bl sub_8071284 - bl script_env_2_enable - pop {r0} - bx r0 - .align 2, 0 -_08071334: .4byte sub_80712B4 - thumb_func_end sub_8071310 - - thumb_func_start sub_8071338 -sub_8071338: @ 8071338 - push {r4,lr} - ldr r4, _080713DC - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08071358 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - ldr r1, _080713E0 - strb r0, [r1] -_08071358: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08071372 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - bl MoveMenuCursor - ldr r1, _080713E0 - strb r0, [r1] -_08071372: - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08071400 - movs r0, 0x5 - bl audio_play - ldr r1, _080713E4 - ldr r2, _080713E8 - ldr r0, _080713E0 - ldrb r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - ldr r0, _080713EC - cmp r1, r0 - bne _080713A8 - movs r0, 0 - bl pokedex_count - lsls r0, 16 - cmp r0, 0 - beq _08071408 -_080713A8: - ldr r3, _080713F0 - ldr r1, _080713E4 - ldr r2, _080713E8 - ldr r0, _080713E0 - ldrb r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - str r1, [r3] - ldr r0, _080713F4 - cmp r1, r0 - beq _08071408 - ldr r0, _080713F8 - cmp r1, r0 - beq _08071408 - ldr r0, _080713FC - cmp r1, r0 - beq _08071408 - movs r0, 0x1 - movs r1, 0 - bl fade_screen - b _08071408 - .align 2, 0 -_080713DC: .4byte 0x03001770 -_080713E0: .4byte 0x0202e8fc -_080713E4: .4byte gUnknown_08376D24 -_080713E8: .4byte 0x0202e8fe -_080713EC: .4byte StartMenu_Pokedex -_080713F0: .4byte 0x03004ae8 -_080713F4: .4byte sub_80714FC -_080713F8: .4byte sub_8071554 -_080713FC: .4byte sub_8071560 -_08071400: - movs r0, 0xA - ands r0, r1 - cmp r0, 0 - bne _0807140C -_08071408: - movs r0, 0 - b _08071412 -_0807140C: - bl sub_8071C20 - movs r0, 0x1 -_08071412: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8071338 - - thumb_func_start StartMenu_Pokedex -StartMenu_Pokedex: @ 8071418 - push {lr} - ldr r0, _0807142C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08071430 - movs r0, 0 - b _08071442 - .align 2, 0 -_0807142C: .4byte 0x0202f388 -_08071430: - movs r0, 0x29 - bl sav12_xor_increment - bl play_some_sound - ldr r0, _08071448 - bl SetMainCallback2 - movs r0, 0x1 -_08071442: - pop {r1} - bx r1 - .align 2, 0 -_08071448: .4byte sub_808C27C - thumb_func_end StartMenu_Pokedex - - thumb_func_start sub_807144C -sub_807144C: @ 807144C - push {lr} - ldr r0, _08071460 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08071464 - movs r0, 0 - b _08071470 - .align 2, 0 -_08071460: .4byte 0x0202f388 -_08071464: - bl play_some_sound - ldr r0, _08071474 - bl SetMainCallback2 - movs r0, 0x1 -_08071470: - pop {r1} - bx r1 - .align 2, 0 -_08071474: .4byte sub_8089A70 - thumb_func_end sub_807144C - - thumb_func_start sub_8071478 -sub_8071478: @ 8071478 - push {lr} - ldr r0, _0807148C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08071490 - movs r0, 0 - b _0807149C - .align 2, 0 -_0807148C: .4byte 0x0202f388 -_08071490: - bl play_some_sound - ldr r0, _080714A0 - bl SetMainCallback2 - movs r0, 0x1 -_0807149C: - pop {r1} - bx r1 - .align 2, 0 -_080714A0: .4byte sub_80A53F8 - thumb_func_end sub_8071478 - - thumb_func_start sub_80714A4 -sub_80714A4: @ 80714A4 - push {lr} - ldr r0, _080714B8 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080714BC - movs r0, 0 - b _080714C8 - .align 2, 0 -_080714B8: .4byte 0x0202f388 -_080714BC: - bl play_some_sound - ldr r0, _080714CC - bl SetMainCallback2 - movs r0, 0x1 -_080714C8: - pop {r1} - bx r1 - .align 2, 0 -_080714CC: .4byte sub_80EBA5C - thumb_func_end sub_80714A4 - - thumb_func_start sub_80714D0 -sub_80714D0: @ 80714D0 - push {lr} - ldr r0, _080714E4 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080714E8 - movs r0, 0 - b _080714F4 - .align 2, 0 -_080714E4: .4byte 0x0202f388 -_080714E8: - bl play_some_sound - ldr r0, _080714F8 - bl sub_8093110 - movs r0, 0x1 -_080714F4: - pop {r1} - bx r1 - .align 2, 0 -_080714F8: .4byte sub_805469C - thumb_func_end sub_80714D0 - - thumb_func_start sub_80714FC -sub_80714FC: @ 80714FC - push {lr} - bl sub_8072DEC - ldr r1, _08071510 - ldr r0, _08071514 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08071510: .4byte 0x03004ae8 -_08071514: .4byte sub_80715A4 - thumb_func_end sub_80714FC - - thumb_func_start sub_8071518 -sub_8071518: @ 8071518 - push {lr} - ldr r0, _0807152C - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08071530 - movs r0, 0 - b _08071542 - .align 2, 0 -_0807152C: .4byte 0x0202f388 -_08071530: - bl play_some_sound - ldr r0, _08071548 - bl SetMainCallback2 - ldr r1, _0807154C - ldr r0, _08071550 - str r0, [r1, 0x8] - movs r0, 0x1 -_08071542: - pop {r1} - bx r1 - .align 2, 0 -_08071548: .4byte CB2_InitOptionMenu -_0807154C: .4byte 0x03001770 -_08071550: .4byte sub_805469C - thumb_func_end sub_8071518 - - thumb_func_start sub_8071554 -sub_8071554: @ 8071554 - push {lr} - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8071554 - - thumb_func_start sub_8071560 -sub_8071560: @ 8071560 - push {lr} - bl sub_8071C20 - bl sub_80C823C - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_8071560 - - thumb_func_start sub_8071570 -sub_8071570: @ 8071570 - push {lr} - ldr r0, _08071584 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08071588 - movs r0, 0 - b _08071598 - .align 2, 0 -_08071584: .4byte 0x0202f388 -_08071588: - bl play_some_sound - ldr r0, _0807159C - ldrb r0, [r0] - ldr r1, _080715A0 - bl sub_8093130 - movs r0, 0x1 -_08071598: - pop {r1} - bx r1 - .align 2, 0 -_0807159C: .4byte 0x03004860 -_080715A0: .4byte sub_805469C - thumb_func_end sub_8071570 - - thumb_func_start sub_80715A4 -sub_80715A4: @ 80715A4 - push {lr} - bl sub_807160C - ldr r1, _080715B8 - ldr r0, _080715BC - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080715B8: .4byte 0x03004ae8 -_080715BC: .4byte sub_80715C0 - thumb_func_end sub_80715A4 - - thumb_func_start sub_80715C0 -sub_80715C0: @ 80715C0 - push {lr} - bl sub_8071630 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080715F4 - cmp r0, 0x1 - ble _08071604 - cmp r0, 0x2 - beq _080715DC - cmp r0, 0x3 - beq _080715F4 - b _08071604 -_080715DC: - bl sub_8071EF4 - bl sub_8071230 - ldr r1, _080715EC - ldr r0, _080715F0 - str r0, [r1] - b _08071604 - .align 2, 0 -_080715EC: .4byte 0x03004ae8 -_080715F0: .4byte sub_8071338 -_080715F4: - bl sub_8071EF4 - bl sub_8064E2C - bl script_env_2_disable - movs r0, 0x1 - b _08071606 -_08071604: - movs r0, 0 -_08071606: - pop {r1} - bx r1 - thumb_func_end sub_80715C0 - - thumb_func_start sub_807160C -sub_807160C: @ 807160C - push {lr} - bl save_serialize_map - ldr r1, _08071624 - ldr r0, _08071628 - str r0, [r1] - ldr r1, _0807162C - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08071624: .4byte 0x030006a8 -_08071628: .4byte sub_8071794 -_0807162C: .4byte 0x030006ad - thumb_func_end sub_807160C - - thumb_func_start sub_8071630 -sub_8071630: @ 8071630 - push {lr} - ldr r0, _08071648 - ldrb r0, [r0] - cmp r0, 0 - beq _0807164C - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - bne _0807164C - movs r0, 0 - b _0807165E - .align 2, 0 -_08071648: .4byte 0x030006ad -_0807164C: - ldr r1, _08071664 - movs r0, 0 - strb r0, [r1] - ldr r0, _08071668 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 -_0807165E: - pop {r1} - bx r1 - .align 2, 0 -_08071664: .4byte 0x030006ad -_08071668: .4byte 0x030006a8 - thumb_func_end sub_8071630 - - thumb_func_start sub_807166C -sub_807166C: @ 807166C - push {lr} - bl sub_807160C - ldr r0, _08071680 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08071680: .4byte task50_save_game - thumb_func_end sub_807166C - - thumb_func_start sub_8071684 -sub_8071684: @ 8071684 - push {r4,r5,lr} - adds r2, r0, 0 - adds r5, r1, 0 - ldr r4, _080716B0 - adds r0, r4, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - bl sub_8071FFC - adds r0, r4, 0 - bl sub_8072044 - ldr r1, _080716B4 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080716B8 - str r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080716B0: .4byte 0x020234cc -_080716B4: .4byte 0x030006ad -_080716B8: .4byte 0x030006a8 - thumb_func_end sub_8071684 - - thumb_func_start task50_save_game -task50_save_game: @ 80716BC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8071630 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - beq _080716E8 - cmp r1, 0x1 - bgt _080716D8 - cmp r1, 0 - beq _080716F6 - b _080716EC -_080716D8: - cmp r1, 0x3 - bgt _080716EC - ldr r1, _080716E4 - movs r0, 0 - strh r0, [r1] - b _080716EC - .align 2, 0 -_080716E4: .4byte 0x0202e8dc -_080716E8: - ldr r0, _080716FC - strh r1, [r0] -_080716EC: - adds r0, r4, 0 - bl DestroyTask - bl script_env_2_enable_and_set_ctx_running -_080716F6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080716FC: .4byte 0x0202e8dc - thumb_func_end task50_save_game - - thumb_func_start sub_8071700 -sub_8071700: @ 8071700 - push {lr} - movs r0, 0 - movs r1, 0 - bl sub_80946C8 - pop {r0} - bx r0 - thumb_func_end sub_8071700 - - thumb_func_start sub_8071710 -sub_8071710: @ 8071710 - push {lr} - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1A - movs r3, 0xD - bl Reset - pop {r0} - bx r0 - thumb_func_end sub_8071710 - - thumb_func_start sub_8071724 -sub_8071724: @ 8071724 - ldr r1, _0807172C - movs r0, 0x3C - strb r0, [r1] - bx lr - .align 2, 0 -_0807172C: .4byte 0x030006ac - thumb_func_end sub_8071724 - - thumb_func_start sub_8071730 -sub_8071730: @ 8071730 - push {lr} - ldr r1, _08071750 - ldrb r0, [r1] - subs r2, r0, 0x1 - strb r2, [r1] - ldr r0, _08071754 - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08071758 - lsls r0, r2, 24 - cmp r0, 0 - beq _0807175E - movs r0, 0 - b _08071760 - .align 2, 0 -_08071750: .4byte 0x030006ac -_08071754: .4byte 0x03001770 -_08071758: - movs r0, 0x5 - bl audio_play -_0807175E: - movs r0, 0x1 -_08071760: - pop {r1} - bx r1 - thumb_func_end sub_8071730 - - thumb_func_start sub_8071764 -sub_8071764: @ 8071764 - push {lr} - ldr r1, _08071780 - ldrb r0, [r1] - cmp r0, 0 - bne _08071788 - ldr r0, _08071784 - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807178C - movs r0, 0x1 - b _0807178E - .align 2, 0 -_08071780: .4byte 0x030006ac -_08071784: .4byte 0x03001770 -_08071788: - subs r0, 0x1 - strb r0, [r1] -_0807178C: - movs r0, 0 -_0807178E: - pop {r1} - bx r1 - thumb_func_end sub_8071764 - - thumb_func_start sub_8071794 -sub_8071794: @ 8071794 - push {lr} - bl sub_8071EF4 - movs r0, 0 - movs r1, 0 - bl sub_80945C0 - ldr r0, _080717B0 - ldr r1, _080717B4 - bl sub_8071684 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080717B0: .4byte gUnknown_081C6C85 -_080717B4: .4byte sub_80717B8 - thumb_func_end sub_8071794 - - thumb_func_start sub_80717B8 -sub_80717B8: @ 80717B8 - push {lr} - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1 - bl sub_8072974 - ldr r1, _080717D0 - ldr r0, _080717D4 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080717D0: .4byte 0x030006a8 -_080717D4: .4byte sub_80717D8 - thumb_func_end sub_80717B8 - - thumb_func_start sub_80717D8 -sub_80717D8: @ 80717D8 - push {lr} - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080717FA - cmp r1, 0 - bgt _080717F4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0807183C - b _08071848 -_080717F4: - cmp r1, 0x1 - beq _0807183C - b _08071848 -_080717FA: - bl sub_8071710 - ldr r0, _0807181C - ldrh r0, [r0] - cmp r0, 0 - beq _0807180A - cmp r0, 0x2 - bne _08071812 -_0807180A: - ldr r0, _08071820 - ldrb r0, [r0] - cmp r0, 0 - bne _0807182C -_08071812: - ldr r1, _08071824 - ldr r0, _08071828 - str r0, [r1] - b _08071848 - .align 2, 0 -_0807181C: .4byte 0x03005eb8 -_08071820: .4byte 0x020297ec -_08071824: .4byte 0x030006a8 -_08071828: .4byte sub_8071850 -_0807182C: - ldr r1, _08071834 - ldr r0, _08071838 - str r0, [r1] - b _08071848 - .align 2, 0 -_08071834: .4byte 0x030006a8 -_08071838: .4byte sub_80718E8 -_0807183C: - bl sub_8071710 - bl sub_8071700 - movs r0, 0x2 - b _0807184A -_08071848: - movs r0, 0 -_0807184A: - pop {r1} - bx r1 - thumb_func_end sub_80717D8 - - thumb_func_start sub_8071850 -sub_8071850: @ 8071850 - push {lr} - ldr r0, _0807186C - ldrb r0, [r0] - ldr r2, _08071870 - cmp r0, 0x1 - bne _0807185E - ldr r2, _08071874 -_0807185E: - ldr r1, _08071878 - adds r0, r2, 0 - bl sub_8071684 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0807186C: .4byte 0x020297ec -_08071870: .4byte gUnknown_081C6CA6 -_08071874: .4byte gUnknown_081C6D26 -_08071878: .4byte sub_807187C - thumb_func_end sub_8071850 - - thumb_func_start sub_807187C -sub_807187C: @ 807187C - push {lr} - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1 - bl sub_8072974 - ldr r1, _08071894 - ldr r0, _08071898 - str r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08071894: .4byte 0x030006a8 -_08071898: .4byte sub_807189C - thumb_func_end sub_807187C - - thumb_func_start sub_807189C -sub_807189C: @ 807189C - push {lr} - bl FillWindowPixelBuffer - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080718BE - cmp r1, 0 - bgt _080718B8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080718D4 - b _080718E0 -_080718B8: - cmp r1, 0x1 - beq _080718D4 - b _080718E0 -_080718BE: - bl sub_8071710 - ldr r1, _080718CC - ldr r0, _080718D0 - str r0, [r1] - b _080718E0 - .align 2, 0 -_080718CC: .4byte 0x030006a8 -_080718D0: .4byte sub_80718E8 -_080718D4: - bl sub_8071710 - bl sub_8071700 - movs r0, 0x2 - b _080718E2 -_080718E0: - movs r0, 0 -_080718E2: - pop {r1} - bx r1 - thumb_func_end sub_807189C - - thumb_func_start sub_80718E8 -sub_80718E8: @ 80718E8 - push {lr} - ldr r0, _080718F8 - ldr r1, _080718FC - bl sub_8071684 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080718F8: .4byte gUnknown_081C6CE1 -_080718FC: .4byte sub_8071900 - thumb_func_end sub_80718E8 - - thumb_func_start sub_8071900 -sub_8071900: @ 8071900 - push {r4,lr} - movs r0, 0 - bl sav12_xor_increment - ldr r4, _08071920 - ldrb r0, [r4] - cmp r0, 0x1 - bne _08071924 - movs r0, 0x4 - bl sub_8125D44 - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0 - strb r0, [r4] - b _0807192E - .align 2, 0 -_08071920: .4byte 0x020297ec -_08071924: - movs r0, 0 - bl sub_8125D44 - lsls r0, 24 - lsrs r1, r0, 24 -_0807192E: - cmp r1, 0x1 - bne _08071944 - ldr r0, _0807193C - ldr r1, _08071940 - bl sub_8071684 - b _0807194C - .align 2, 0 -_0807193C: .4byte gUnknown_081C6D05 -_08071940: .4byte sub_8071960 -_08071944: - ldr r0, _08071958 - ldr r1, _0807195C - bl sub_8071684 -_0807194C: - bl sub_8071724 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08071958: .4byte gUnknown_0840E5D5 -_0807195C: .4byte sub_80719AC - thumb_func_end sub_8071900 - - thumb_func_start sub_8071960 -sub_8071960: @ 8071960 - push {lr} - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - beq _08071978 - movs r0, 0x37 - bl audio_play - ldr r1, _08071980 - ldr r0, _08071984 - str r0, [r1] -_08071978: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08071980: .4byte 0x030006a8 -_08071984: .4byte sub_8071988 - thumb_func_end sub_8071960 - - thumb_func_start sub_8071988 -sub_8071988: @ 8071988 - push {lr} - bl mplay_has_finished_maybe - lsls r0, 24 - cmp r0, 0 - bne _080719A6 - bl sub_8071730 - lsls r0, 24 - cmp r0, 0 - beq _080719A6 - bl sub_8071700 - movs r0, 0x1 - b _080719A8 -_080719A6: - movs r0, 0 -_080719A8: - pop {r1} - bx r1 - thumb_func_end sub_8071988 - - thumb_func_start sub_80719AC -sub_80719AC: @ 80719AC - push {lr} - bl sub_8072080 - lsls r0, 24 - cmp r0, 0 - beq _080719C4 - movs r0, 0x16 - bl audio_play - ldr r1, _080719CC - ldr r0, _080719D0 - str r0, [r1] -_080719C4: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080719CC: .4byte 0x030006a8 -_080719D0: .4byte sub_80719D4 - thumb_func_end sub_80719AC - - thumb_func_start sub_80719D4 -sub_80719D4: @ 80719D4 - push {lr} - bl sub_8071764 - lsls r0, 24 - cmp r0, 0 - beq _080719E8 - bl sub_8071700 - movs r0, 0x3 - b _080719EA -_080719E8: - movs r0, 0 -_080719EA: - pop {r1} - bx r1 - thumb_func_end sub_80719D4 - - thumb_func_start sub_80719F0 -sub_80719F0: @ 80719F0 - push {lr} - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80719F0 - - thumb_func_start sub_80719FC -sub_80719FC: @ 80719FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - ldrb r0, [r0] - cmp r0, 0x4 - bls _08071A0E - b _08071B10 -_08071A0E: - lsls r0, 2 - ldr r1, _08071A18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08071A18: .4byte _08071A1C - .align 2, 0 -_08071A1C: - .4byte _08071A30 - .4byte _08071AA4 - .4byte _08071AB6 - .4byte _08071AD8 - .4byte _08071B0C -_08071A30: - movs r0, 0x80 - lsls r0, 19 - movs r4, 0 - strh r4, [r0] - movs r0, 0 - bl SetVBlankCallback - bl remove_some_task - movs r2, 0xA0 - lsls r2, 19 - mov r0, sp - strh r4, [r0] - ldr r1, _08071A98 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _08071A9C - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _08071AA0 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08071A6E: - 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 _08071A6E - 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] - b _08071B10 - .align 2, 0 -_08071A98: .4byte 0x040000d4 -_08071A9C: .4byte 0x81000200 -_08071AA0: .4byte 0x81000800 -_08071AA4: - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - bl dp12_8087EA4 - b _08071B10 -_08071AB6: - ldr r4, _08071AD4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl sub_8071C4C - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - b _08071B10 - .align 2, 0 -_08071AD4: .4byte gWindowConfig_81E6CE4 -_08071AD8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, _08071B00 - bl SetVBlankCallback - ldr r3, _08071B04 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _08071B08 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - b _08071B10 - .align 2, 0 -_08071B00: .4byte sub_80719F0 -_08071B04: .4byte 0x04000208 -_08071B08: .4byte 0x04000200 -_08071B0C: - movs r0, 0x1 - b _08071B1A -_08071B10: - mov r1, r8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_08071B1A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80719FC - - thumb_func_start sub_8071B28 -sub_8071B28: @ 8071B28 - push {lr} - ldr r0, _08071B48 - bl sub_80719FC - cmp r0, 0 - beq _08071B42 - ldr r0, _08071B4C - movs r1, 0x50 - bl CreateTask - ldr r0, _08071B50 - bl SetMainCallback2 -_08071B42: - pop {r0} - bx r0 - .align 2, 0 -_08071B48: .4byte 0x03001bac -_08071B4C: .4byte sub_8071B64 -_08071B50: .4byte sub_8071B54 - thumb_func_end sub_8071B28 - - thumb_func_start sub_8071B54 -sub_8071B54: @ 8071B54 - push {lr} - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8071B54 - - thumb_func_start sub_8071B64 -sub_8071B64: @ 8071B64 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08071B94 - adds r4, r0, r1 - ldr r0, _08071B98 - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08071C14 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _08071C14 - lsls r0, 2 - ldr r1, _08071B9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08071B94: .4byte 0x03004b28 -_08071B98: .4byte 0x0202f388 -_08071B9C: .4byte _08071BA0 - .align 2, 0 -_08071BA0: - .4byte _08071BB4 - .4byte _08071BD4 - .4byte _08071BDE - .4byte _08071BEE - .4byte _08071C06 -_08071BB4: - bl sub_8071FFC - ldr r0, _08071BD0 - movs r1, 0x2 - movs r2, 0xF - bl Print - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _08071BFA - .align 2, 0 -_08071BD0: .4byte gUnknown_08411905 -_08071BD4: - bl sub_8047A1C - bl sub_8125E2C - b _08071BFE -_08071BDE: - bl sub_8125E6C - lsls r0, 24 - cmp r0, 0 - beq _08071C14 - bl sub_8047A34 - b _08071BFE -_08071BEE: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_08071BFA: - bl BeginNormalPaletteFade -_08071BFE: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08071C14 -_08071C06: - ldr r0, _08071C1C - ldr r0, [r0, 0x8] - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_08071C14: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08071C1C: .4byte 0x03001770 - thumb_func_end sub_8071B64 - - thumb_func_start sub_8071C20 -sub_8071C20: @ 8071C20 - push {lr} - movs r0, 0x5 - bl audio_play - bl sub_8071EF4 - bl sub_8064E2C - bl script_env_2_disable - bl sub_8072DEC - pop {r0} - bx r0 - thumb_func_end sub_8071C20 - - thumb_func_start append_byte -append_byte: @ 8071C3C - ldrb r3, [r1] - adds r0, r3 - strb r2, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bx lr - thumb_func_end append_byte - - thumb_func_start sub_8071C4C -sub_8071C4C: @ 8071C4C - push {lr} - movs r1, 0x1 - bl sub_8071D48 - pop {r0} - bx r0 - thumb_func_end sub_8071C4C - - thumb_func_start sub_8071C58 -sub_8071C58: @ 8071C58 - push {lr} - movs r1, 0x1 - bl sub_8071C64 - pop {r0} - bx r0 - thumb_func_end sub_8071C58 - - thumb_func_start sub_8071C64 -sub_8071C64: @ 8071C64 - push {lr} - adds r3, r0, 0 - ldr r2, _08071C84 - movs r0, 0 - strb r0, [r2] - ldr r0, _08071C88 - strh r1, [r0] - ldr r1, _08071C8C - ldr r0, _08071C90 - str r0, [r1] - adds r1, r3, 0 - bl InitWindowFromConfig - pop {r0} - bx r0 - .align 2, 0 -_08071C84: .4byte 0x0202e9cc -_08071C88: .4byte 0x0202e9ce -_08071C8C: .4byte 0x0202e9c8 -_08071C90: .4byte 0x0202e908 - thumb_func_end sub_8071C64 - - thumb_func_start sub_8071C94 -sub_8071C94: @ 8071C94 - push {r4,lr} - ldr r0, _08071CAC - ldrb r1, [r0] - adds r2, r0, 0 - cmp r1, 0x4 - bhi _08071D40 - lsls r0, r1, 2 - ldr r1, _08071CB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08071CAC: .4byte 0x0202e9cc -_08071CB0: .4byte _08071CB4 - .align 2, 0 -_08071CB4: - .4byte _08071CC8 - .4byte _08071CD0 - .4byte _08071CF0 - .4byte _08071CFA - .4byte _08071D1C -_08071CC8: - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _08071D40 -_08071CD0: - ldr r4, _08071CE4 - ldr r0, _08071CE8 - ldr r0, [r0] - ldr r1, _08071CEC - ldrh r1, [r1] - bl MultistepInitWindowTileData - strh r0, [r4] - b _08071D06 - .align 2, 0 -_08071CE4: .4byte 0x0202e9d0 -_08071CE8: .4byte 0x0202e9c8 -_08071CEC: .4byte 0x0202e9ce -_08071CF0: - bl MultistepLoadFont - cmp r0, 0 - beq _08071D40 - b _08071D06 -_08071CFA: - ldr r0, _08071D10 - ldrh r0, [r0] - bl sub_8064EF4 - ldr r1, _08071D14 - strh r0, [r1] -_08071D06: - ldr r1, _08071D18 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08071D40 - .align 2, 0 -_08071D10: .4byte 0x0202e9d0 -_08071D14: .4byte 0x0202e9d2 -_08071D18: .4byte 0x0202e9cc -_08071D1C: - ldr r0, _08071D34 - ldr r0, [r0] - bl sub_8064F08 - ldr r0, _08071D38 - ldrh r0, [r0] - bl sub_80651C8 - ldr r1, _08071D3C - strh r0, [r1] - movs r0, 0x1 - b _08071D42 - .align 2, 0 -_08071D34: .4byte 0x0202e9c8 -_08071D38: .4byte 0x0202e9d2 -_08071D3C: .4byte 0x0202e9d4 -_08071D40: - movs r0, 0 -_08071D42: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8071C94 - - thumb_func_start sub_8071D48 -sub_8071D48: @ 8071D48 - push {r4,r5,lr} - adds r2, r0, 0 - lsls r4, r1, 16 - lsrs r4, 16 - ldr r5, _08071D8C - ldr r0, _08071D90 - str r0, [r5] - adds r1, r2, 0 - bl InitWindowFromConfig - ldr r1, _08071D94 - strh r4, [r1] - ldr r0, [r5] - ldrh r1, [r1] - bl InitWindowTileData - ldr r1, _08071D98 - strh r0, [r1] - ldrh r0, [r1] - bl sub_8064EF4 - ldr r4, _08071D9C - strh r0, [r4] - ldr r0, [r5] - bl sub_8064F08 - ldrh r0, [r4] - bl sub_80651C8 - ldr r1, _08071DA0 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08071D8C: .4byte 0x0202e9c8 -_08071D90: .4byte 0x0202e908 -_08071D94: .4byte 0x0202e9ce -_08071D98: .4byte 0x0202e9d0 -_08071D9C: .4byte 0x0202e9d2 -_08071DA0: .4byte 0x0202e9d4 - thumb_func_end sub_8071D48 - - thumb_func_start unref_sub_8071DA4 -unref_sub_8071DA4: @ 8071DA4 - push {r4,r5,lr} - adds r2, r0, 0 - lsls r4, r1, 16 - lsrs r4, 16 - ldr r5, _08071DE8 - ldr r0, _08071DEC - str r0, [r5] - adds r1, r2, 0 - bl InitWindowFromConfig - ldr r0, _08071DF0 - strh r4, [r0] - ldrh r0, [r0] - bl sub_8064EF4 - ldr r4, _08071DF4 - strh r0, [r4] - ldr r0, [r5] - bl sub_8064F08 - ldrh r0, [r4] - bl sub_80651C8 - ldr r1, _08071DF8 - strh r0, [r1] - ldr r0, [r5] - ldrh r1, [r1] - bl InitWindowTileData - ldr r1, _08071DFC - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08071DE8: .4byte 0x0202e9c8 -_08071DEC: .4byte 0x0202e908 -_08071DF0: .4byte 0x0202e9d0 -_08071DF4: .4byte 0x0202e9d2 -_08071DF8: .4byte 0x0202e9ce -_08071DFC: .4byte 0x0202e9d4 - thumb_func_end unref_sub_8071DA4 - - thumb_func_start sub_8071E00 -sub_8071E00: @ 8071E00 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08071E14 - ldr r0, [r0] - bl sub_8064F6C - pop {r0} - bx r0 - .align 2, 0 -_08071E14: .4byte 0x0202e9c8 - thumb_func_end sub_8071E00 - - thumb_func_start GetMapNamePopUpWindowId -GetMapNamePopUpWindowId: @ 8071E18 - push {lr} - ldr r0, _08071E28 - ldr r0, [r0] - bl sub_8064F08 - pop {r0} - bx r0 - .align 2, 0 -_08071E28: .4byte 0x0202e9c8 - thumb_func_end GetMapNamePopUpWindowId - - thumb_func_start sub_8071E2C -sub_8071E2C: @ 8071E2C - push {r4,lr} - adds r1, r0, 0 - ldr r4, _08071E48 - ldr r0, [r4] - bl InitWindowFromConfig - ldr r1, [r4] - ldr r0, _08071E4C - ldrh r0, [r0] - strh r0, [r1, 0x1A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08071E48: .4byte 0x0202e9c8 -_08071E4C: .4byte 0x0202e9ce - thumb_func_end sub_8071E2C - - thumb_func_start Print -Print: @ 8071E50 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r3, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _08071E7C - ldr r0, [r0] - ldr r1, _08071E80 - ldrh r4, [r1] - str r2, [sp] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8003460 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08071E7C: .4byte 0x0202e9c8 -_08071E80: .4byte 0x0202e9ce - thumb_func_end Print - - thumb_func_start Reset -Reset: @ 8071E84 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08071EB8 - ldr r0, [r0] - str r3, [sp] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl ZeroFillWindowRect - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08071EB8: .4byte 0x0202e9c8 - thumb_func_end Reset - - thumb_func_start sub_8071EBC -sub_8071EBC: @ 8071EBC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08071EF0 - ldr r0, [r0] - str r3, [sp] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl FillWindowRectWithBlankTile - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08071EF0: .4byte 0x0202e9c8 - thumb_func_end sub_8071EBC - - thumb_func_start sub_8071EF4 -sub_8071EF4: @ 8071EF4 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl Reset - pop {r0} - bx r0 - thumb_func_end sub_8071EF4 - - thumb_func_start DrawDefaultWindow -DrawDefaultWindow: @ 8071F08 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08071F3C - ldr r0, [r0] - str r3, [sp] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl AddTextPrinterParametrized - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08071F3C: .4byte 0x0202e9c8 - thumb_func_end DrawDefaultWindow - - thumb_func_start sub_8071F40 -sub_8071F40: @ 8071F40 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1C - movs r3, 0x13 - bl DrawDefaultWindow - adds r0, r4, 0 - movs r1, 0x3 - movs r2, 0xF - bl Print - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8071F40 - - thumb_func_start sub_8071F60 -sub_8071F60: @ 8071F60 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r3, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _08071F90 - ldr r0, [r0] - ldr r1, _08071F94 - ldrh r5, [r1] - str r2, [sp] - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8003490 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08071F90: .4byte 0x0202e9c8 -_08071F94: .4byte 0x0202e9ce - thumb_func_end sub_8071F60 - - thumb_func_start unref_sub_8071F98 -unref_sub_8071F98: @ 8071F98 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _08071FB8 - ldr r0, [r0] - adds r1, r3, 0 - bl GetWindowTilemapEntry - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08071FB8: .4byte 0x0202e9c8 - thumb_func_end unref_sub_8071F98 - - thumb_func_start unref_sub_8071FBC -unref_sub_8071FBC: @ 8071FBC - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08071FF8 - ldr r0, [r0] - str r3, [sp] - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl DrawWindowRect - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08071FF8: .4byte 0x0202e9c8 - thumb_func_end unref_sub_8071FBC - - thumb_func_start sub_8071FFC -sub_8071FFC: @ 8071FFC - push {lr} - ldr r0, _0807200C - ldr r0, [r0] - bl copy_textbox_border_tile_patterns_to_vram - pop {r0} - bx r0 - .align 2, 0 -_0807200C: .4byte 0x0202e9c8 - thumb_func_end sub_8071FFC - - thumb_func_start AddTextPrinterWithCallbackForMessage -AddTextPrinterWithCallbackForMessage: @ 8072010 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r3, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0807203C - ldr r0, [r0] - ldr r1, _08072040 - ldrh r4, [r1] - str r2, [sp] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8002EB0 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807203C: .4byte 0x0202e9c8 -_08072040: .4byte 0x0202e9ce - thumb_func_end AddTextPrinterWithCallbackForMessage - - thumb_func_start sub_8072044 -sub_8072044: @ 8072044 - push {lr} - sub sp, 0x4 - adds r1, r0, 0 - ldr r0, _08072064 - ldr r0, [r0] - ldr r2, _08072068 - ldrh r2, [r2] - movs r3, 0xF - str r3, [sp] - movs r3, 0x2 - bl sub_8002EB0 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08072064: .4byte 0x0202e9c8 -_08072068: .4byte 0x0202e9ce - thumb_func_end sub_8072044 - - thumb_func_start sub_807206C -sub_807206C: @ 807206C - push {lr} - adds r1, r0, 0 - ldr r0, _0807207C - ldr r0, [r0] - bl sub_8002E90 - pop {r0} - bx r0 - .align 2, 0 -_0807207C: .4byte 0x0202e9c8 - thumb_func_end sub_807206C - - thumb_func_start sub_8072080 -sub_8072080: @ 8072080 - push {lr} - ldr r0, _08072094 - ldr r0, [r0] - bl sub_80035AC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08072094: .4byte 0x0202e9c8 - thumb_func_end sub_8072080 - - thumb_func_start unref_sub_8072098 -unref_sub_8072098: @ 8072098 - push {lr} - ldr r0, _080720AC - ldr r0, [r0] - bl sub_8003418 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080720AC: .4byte 0x0202e9c8 - thumb_func_end unref_sub_8072098 - - thumb_func_start sub_80720B0 -sub_80720B0: @ 80720B0 - push {lr} - ldr r0, _080720C0 - ldr r0, [r0] - bl ClearWindowTextLines - pop {r0} - bx r0 - .align 2, 0 -_080720C0: .4byte 0x0202e9c8 - thumb_func_end sub_80720B0 - - thumb_func_start MoveMenuCursor -MoveMenuCursor: @ 80720C4 - push {r4,lr} - ldr r1, _080720E0 - movs r2, 0x2 - ldrsb r2, [r1, r2] - lsls r0, 24 - asrs r3, r0, 24 - adds r2, r3 - movs r0, 0x3 - ldrsb r0, [r1, r0] - adds r4, r1, 0 - cmp r2, r0 - bge _080720E4 - ldrb r0, [r4, 0x4] - b _080720F4 - .align 2, 0 -_080720E0: .4byte 0x030006b0 -_080720E4: - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r2, r0 - ble _080720F0 - ldrb r0, [r4, 0x3] - b _080720F4 -_080720F0: - ldrb r0, [r4, 0x2] - adds r0, r3, r0 -_080720F4: - strb r0, [r4, 0x2] - ldrb r0, [r4] - movs r1, 0x2 - ldrsb r1, [r4, r1] - lsls r1, 1 - ldrb r2, [r4, 0x1] - adds r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl RedrawMenuCursor - ldrb r0, [r4, 0x2] - pop {r4} - pop {r1} - bx r1 - thumb_func_end MoveMenuCursor - - thumb_func_start MoveMenuCursorNoWrapAround -MoveMenuCursorNoWrapAround: @ 8072114 - push {r4,lr} - ldr r1, _08072130 - movs r2, 0x2 - ldrsb r2, [r1, r2] - lsls r0, 24 - asrs r3, r0, 24 - adds r2, r3 - movs r0, 0x3 - ldrsb r0, [r1, r0] - adds r4, r1, 0 - cmp r2, r0 - bge _08072134 - ldrb r0, [r4, 0x3] - b _08072144 - .align 2, 0 -_08072130: .4byte 0x030006b0 -_08072134: - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r2, r0 - ble _08072140 - ldrb r0, [r4, 0x4] - b _08072144 -_08072140: - ldrb r0, [r4, 0x2] - adds r0, r3, r0 -_08072144: - strb r0, [r4, 0x2] - ldrb r0, [r4] - movs r1, 0x2 - ldrsb r1, [r4, r1] - lsls r1, 1 - ldrb r2, [r4, 0x1] - adds r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl RedrawMenuCursor - ldrb r0, [r4, 0x2] - pop {r4} - pop {r1} - bx r1 - thumb_func_end MoveMenuCursorNoWrapAround - - thumb_func_start GetMenuCursorPos -GetMenuCursorPos: @ 8072164 - ldr r0, _0807216C - ldrb r0, [r0, 0x2] - bx lr - .align 2, 0 -_0807216C: .4byte 0x030006b0 - thumb_func_end GetMenuCursorPos - - thumb_func_start ProcessMenuInput -ProcessMenuInput: @ 8072170 - push {r4,lr} - ldr r0, _08072198 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080721A0 - movs r0, 0x5 - bl audio_play - ldr r4, _0807219C - ldrb r0, [r4, 0x7] - cmp r0, 0 - beq _08072190 - bl sub_8072DEC -_08072190: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _080721EC - .align 2, 0 -_08072198: .4byte 0x03001770 -_0807219C: .4byte 0x030006b0 -_080721A0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080721C0 - ldr r0, _080721BC - ldrb r0, [r0, 0x7] - cmp r0, 0 - beq _080721B4 - bl sub_8072DEC -_080721B4: - movs r0, 0x1 - negs r0, r0 - b _080721EC - .align 2, 0 -_080721BC: .4byte 0x030006b0 -_080721C0: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080721D4 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - b _080721E4 -_080721D4: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080721E8 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 -_080721E4: - bl MoveMenuCursor -_080721E8: - movs r0, 0x2 - negs r0, r0 -_080721EC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInput - - thumb_func_start ProcessMenuInputNoWrap -ProcessMenuInputNoWrap: @ 80721F4 - push {r4-r6,lr} - ldr r4, _08072220 - ldrb r5, [r4, 0x2] - adds r6, r5, 0 - ldr r0, _08072224 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08072228 - movs r0, 0x5 - bl audio_play - ldrb r0, [r4, 0x7] - cmp r0, 0 - beq _08072218 - bl sub_8072DEC -_08072218: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _08072288 - .align 2, 0 -_08072220: .4byte 0x030006b0 -_08072224: .4byte 0x03001770 -_08072228: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08072240 - ldrb r0, [r4, 0x7] - cmp r0, 0 - beq _0807223A - bl sub_8072DEC -_0807223A: - movs r0, 0x1 - negs r0, r0 - b _08072288 -_08072240: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08072260 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08072284 - movs r0, 0x5 - bl audio_play - b _08072284 -_08072260: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807227E - movs r0, 0x1 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - beq _08072284 - movs r0, 0x5 - bl audio_play - b _08072284 -_0807227E: - movs r0, 0 - bl MoveMenuCursorNoWrapAround -_08072284: - movs r0, 0x2 - negs r0, r0 -_08072288: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInputNoWrap - - thumb_func_start MoveMenuCursor3 -MoveMenuCursor3: @ 8072290 - push {r4-r7,lr} - ldr r2, _080722B8 - movs r4, 0x4 - ldrsb r4, [r2, r4] - adds r1, r4, 0x1 - asrs r1, 1 - lsls r1, 24 - lsrs r7, r1, 24 - movs r1, 0x2 - ldrsb r1, [r2, r1] - lsls r0, 24 - asrs r3, r0, 24 - adds r1, r3 - movs r0, 0x3 - ldrsb r0, [r2, r0] - adds r6, r2, 0 - cmp r1, r0 - bge _080722BC - ldrb r0, [r6, 0x4] - b _080722C8 - .align 2, 0 -_080722B8: .4byte 0x030006b0 -_080722BC: - cmp r1, r4 - ble _080722C4 - ldrb r0, [r6, 0x3] - b _080722C8 -_080722C4: - ldrb r0, [r6, 0x2] - adds r0, r3, r0 -_080722C8: - strb r0, [r6, 0x2] - movs r5, 0x2 - ldrsb r5, [r6, r5] - adds r0, r5, 0 - adds r1, r7, 0 - bl __divsi3 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 1 - ldrb r0, [r6] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r7, 0 - bl __modsi3 - adds r1, r0, 0 - lsls r1, 1 - ldrb r0, [r6, 0x1] - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl RedrawMenuCursor - ldrb r0, [r6, 0x2] - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end MoveMenuCursor3 - - thumb_func_start MoveMenuCursor4 -MoveMenuCursor4: @ 8072308 - push {r4-r7,lr} - ldr r6, _08072330 - movs r1, 0x2 - ldrsb r1, [r6, r1] - lsls r0, 24 - asrs r4, r0, 24 - adds r1, r4 - movs r0, 0x4 - ldrsb r0, [r6, r0] - cmp r1, r0 - bgt _08072334 - bl sub_80723D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08072338 - ldrb r0, [r6, 0x2] - b _080723C8 - .align 2, 0 -_08072330: .4byte 0x030006b0 -_08072334: - ldrb r0, [r6, 0x2] - b _080723C8 -_08072338: - ldrb r0, [r6, 0x2] - adds r0, r4, r0 - strb r0, [r6, 0x2] - movs r0, 0x4 - ldrsb r0, [r6, r0] - adds r0, 0x1 - ldrb r7, [r6, 0x5] - adds r1, r7, 0 - bl __divsi3 - cmp r0, 0 - bne _0807238E - movs r5, 0x2 - ldrsb r5, [r6, r5] - adds r0, r5, 0 - adds r1, r7, 0 - bl __modsi3 - adds r1, r6, 0 - adds r1, 0x8 - adds r0, r1 - ldrb r4, [r0] - ldrb r0, [r6] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r7, 0 - bl __divsi3 - ldrb r1, [r6, 0x6] - bl __modsi3 - adds r1, r0, 0 - lsls r1, 1 - ldrb r6, [r6, 0x1] - adds r1, r6 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl RedrawMenuCursor - b _080723C4 -_0807238E: - movs r5, 0x2 - ldrsb r5, [r6, r5] - adds r0, r5, 0 - adds r1, r7, 0 - bl __modsi3 - adds r1, r6, 0 - adds r1, 0x8 - adds r0, r1 - ldrb r4, [r0] - ldrb r0, [r6] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r7, 0 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 1 - ldrb r6, [r6, 0x1] - adds r1, r6 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl RedrawMenuCursor -_080723C4: - ldr r0, _080723D0 - ldrb r0, [r0, 0x2] -_080723C8: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080723D0: .4byte 0x030006b0 - thumb_func_end MoveMenuCursor4 - - thumb_func_start sub_80723D4 -sub_80723D4: @ 80723D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08072470 - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _080723F4 - ldr r1, _08072474 - movs r0, 0x2 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - cmp r0, r1 - blt _0807246C -_080723F4: - mov r0, r8 - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08072414 - ldr r0, _08072474 - movs r2, 0x2 - ldrsb r2, [r0, r2] - movs r1, 0x4 - ldrsb r1, [r0, r1] - ldrb r0, [r0, 0x5] - subs r0, 0x1 - subs r1, r0 - cmp r2, r1 - bge _0807246C -_08072414: - mov r0, r8 - ldrh r1, [r0, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0807244C - ldr r6, _08072474 - movs r4, 0x2 - ldrsb r4, [r6, r4] - ldrb r5, [r6, 0x5] - adds r0, r4, 0 - adds r1, r5, 0 - bl __modsi3 - adds r7, r0, 0 - subs r4, r7 - adds r0, r4, 0 - adds r1, r5, 0 - bl __modsi3 - cmp r0, 0x1 - beq _0807246C - movs r0, 0x2 - ldrsb r0, [r6, r0] - cmp r0, 0 - beq _0807246C - cmp r7, 0 - beq _0807246C -_0807244C: - mov r0, r8 - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08072478 - ldr r1, _08072474 - movs r0, 0x2 - ldrsb r0, [r1, r0] - ldrb r4, [r1, 0x5] - adds r1, r4, 0 - bl __modsi3 - subs r4, 0x1 - cmp r0, r4 - bne _08072478 -_0807246C: - movs r0, 0x1 - b _0807247A - .align 2, 0 -_08072470: .4byte 0x03001770 -_08072474: .4byte 0x030006b0 -_08072478: - movs r0, 0 -_0807247A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80723D4 - - thumb_func_start sub_8072484 -sub_8072484: @ 8072484 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r6, r0, 0 - mov r8, r1 - adds r5, r2, 0 - ldr r1, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r7, _080724F0 - strb r1, [r7, 0x5] - adds r0, r5, 0 - bl __udivsi3 - strb r0, [r7, 0x6] - mov r1, r9 - str r1, [sp] - str r4, [sp, 0x4] - movs r0, 0 - adds r1, r6, 0 - mov r2, r8 - adds r3, r5, 0 - bl InitMenu - movs r0, 0 - ldr r1, [sp, 0x2C] - cmp r1, 0 - beq _080724DE - movs r0, 0xFF -_080724DE: - strb r0, [r7, 0x7] - mov r0, r9 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080724F0: .4byte 0x030006b0 - thumb_func_end sub_8072484 - - thumb_func_start sub_80724F4 -sub_80724F4: @ 80724F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r3 - ldr r3, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r5, r3, 24 - movs r4, 0 - ldr r0, _080725D4 - mov r9, r0 - mov r1, r9 - adds r1, 0x8 - movs r2, 0 -_08072524: - adds r0, r4, r1 - strb r2, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _08072524 - movs r7, 0 - movs r4, 0 - lsrs r2, r6, 1 - mov r10, r2 - ldr r0, [sp, 0x4] - lsls r0, 24 - str r0, [sp, 0x8] - cmp r7, r6 - bcs _08072566 -_08072544: - lsls r0, r4, 3 - add r0, r8 - ldr r0, [r0] - bl sub_8072CA4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0x7 - lsrs r0, r1, 3 - cmp r0, r7 - bls _0807255C - adds r7, r0, 0 -_0807255C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08072544 -_08072566: - movs r4, 0x1 - ldr r2, _080725D4 - mov r9, r2 - cmp r4, r5 - bhi _08072582 - mov r1, r9 - adds r1, 0x8 -_08072574: - adds r0, r4, r1 - strb r7, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bls _08072574 -_08072582: - movs r4, 0x1 - cmp r4, r5 - bhi _080725A4 - ldr r3, _080725D8 -_0807258A: - adds r2, r4, r3 - ldrb r1, [r2] - subs r0, r4, 0x1 - adds r0, r3 - adds r1, 0x1 - ldrb r0, [r0] - adds r1, r0 - strb r1, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bls _0807258A -_080725A4: - mov r1, r9 - adds r1, 0x8 - adds r1, r5, r1 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - cmp r10, r5 - bcc _080725BC - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - beq _080725C4 -_080725BC: - cmp r5, 0x1 - beq _080725C4 - cmp r5, r6 - bne _080725DC -_080725C4: - adds r0, r6, 0 - adds r1, r5, 0 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 23 - adds r0, 0x1 - b _080725EA - .align 2, 0 -_080725D4: .4byte 0x030006b0 -_080725D8: .4byte 0x030006b8 -_080725DC: - adds r0, r6, 0 - adds r1, r5, 0 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 23 - adds r0, 0x3 -_080725EA: - ldr r2, [sp, 0x8] - asrs r1, r2, 24 - adds r1, r0 - lsls r1, 24 - lsrs r3, r1, 24 - mov r0, r9 - adds r0, 0x8 - adds r0, r5, r0 - ldrb r2, [r0] - adds r2, 0x1 - ldr r0, [sp] - adds r2, r0, r2 - lsls r2, 24 - lsrs r2, 24 - ldr r1, [sp, 0x4] - bl DrawDefaultWindow - adds r0, r7, 0 - 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_80724F4 - - thumb_func_start sub_8072620 -sub_8072620: @ 8072620 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r10, r3 - ldr r3, [sp, 0x30] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r6, r3, 24 - movs r4, 0 - ldr r7, _08072744 - adds r1, r7, 0 - adds r1, 0x8 - movs r2, 0 -_08072650: - adds r0, r4, r1 - strb r2, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _08072650 - movs r5, 0 - movs r4, 0 - cmp r4, r8 - bcs _08072688 -_08072666: - lsls r0, r4, 3 - add r0, r10 - ldr r0, [r0] - bl sub_8072CA4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0x7 - lsrs r0, r1, 3 - cmp r0, r5 - bls _0807267E - adds r5, r0, 0 -_0807267E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r8 - bcc _08072666 -_08072688: - movs r4, 0x1 - ldr r7, _08072744 - cmp r4, r6 - bhi _080726A2 - adds r1, r7, 0 - adds r1, 0x8 -_08072694: - adds r0, r4, r1 - strb r5, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bls _08072694 -_080726A2: - movs r4, 0x1 - cmp r4, r6 - bhi _080726C4 - ldr r3, _08072748 -_080726AA: - adds r2, r4, r3 - ldrb r1, [r2] - subs r0, r4, 0x1 - adds r0, r3 - adds r1, 0x1 - ldrb r0, [r0] - adds r1, r0 - strb r1, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bls _080726AA -_080726C4: - adds r1, r7, 0 - adds r1, 0x8 - adds r1, r6, r1 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - movs r4, 0 - cmp r4, r6 - bcs _08072732 -_080726D6: - movs r7, 0 - movs r5, 0 - adds r0, r4, 0x1 - mov r9, r0 - cmp r4, r8 - bge _08072728 - adds r0, r4, 0 - adds r1, r6, 0 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08072748 - adds r0, r1 - str r0, [sp, 0xC] -_080726F4: - adds r0, r4, r5 - lsls r0, 3 - add r0, r10 - ldr r0, [r0] - ldr r2, [sp, 0xC] - ldrb r1, [r2] - ldr r3, [sp] - adds r1, r3, r1 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r7, 1 - ldr r3, [sp, 0x4] - adds r2, r3, r2 - lsls r2, 24 - lsrs r2, 24 - bl Print - adds r0, r5, r6 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, r5 - cmp r0, r8 - blt _080726F4 -_08072728: - mov r1, r9 - lsls r0, r1, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _080726D6 -_08072732: - 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 -_08072744: .4byte 0x030006b0 -_08072748: .4byte 0x030006b8 - thumb_func_end sub_8072620 - - thumb_func_start sub_807274C -sub_807274C: @ 807274C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - mov r9, r3 - ldr r7, [sp, 0x28] - ldr r6, [sp, 0x2C] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 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 - lsls r6, 24 - lsrs r6, 24 - str r6, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, r8 - adds r3, r7, 0 - bl sub_80724F4 - lsls r0, 24 - lsrs r0, 24 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - str r6, [sp] - str r0, [sp, 0x4] - ldr r0, [sp, 0x30] - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - bl sub_8072484 - str r6, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, r8 - adds r3, r7, 0 - bl sub_8072620 - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807274C - - thumb_func_start sub_80727CC -sub_80727CC: @ 80727CC - push {lr} - ldr r0, _080727F8 - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08072800 - ldr r0, _080727FC - ldrb r0, [r0, 0x7] - cmp r0, 0 - beq _080727E6 - bl sub_8072DEC -_080727E6: - movs r0, 0x5 - bl audio_play - bl GetMenuCursorPos - lsls r0, 24 - asrs r0, 24 - b _08072888 - .align 2, 0 -_080727F8: .4byte 0x03001770 -_080727FC: .4byte 0x030006b0 -_08072800: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08072820 - ldr r0, _0807281C - ldrb r0, [r0, 0x7] - cmp r0, 0 - beq _08072814 - bl sub_8072DEC -_08072814: - movs r0, 0x1 - negs r0, r0 - b _08072888 - .align 2, 0 -_0807281C: .4byte 0x030006b0 -_08072820: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08072840 - movs r0, 0x5 - bl audio_play - ldr r0, _0807283C - ldrb r0, [r0, 0x5] - negs r0, r0 - lsls r0, 24 - asrs r0, 24 - b _08072880 - .align 2, 0 -_0807283C: .4byte 0x030006b0 -_08072840: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807285C - movs r0, 0x5 - bl audio_play - ldr r0, _08072858 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - b _08072880 - .align 2, 0 -_08072858: .4byte 0x030006b0 -_0807285C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08072870 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 - negs r0, r0 - b _08072880 -_08072870: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08072884 - movs r0, 0x5 - bl audio_play - movs r0, 0x1 -_08072880: - bl MoveMenuCursor4 -_08072884: - movs r0, 0x2 - negs r0, r0 -_08072888: - pop {r1} - bx r1 - thumb_func_end sub_80727CC - - thumb_func_start sub_807288C -sub_807288C: @ 807288C - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0807289C - adds r1, 0x8 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0807289C: .4byte 0x030006b0 - thumb_func_end sub_807288C - - thumb_func_start PrintStringArray -PrintStringArray: @ 80728A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r3 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - cmp r4, r5 - bcs _080728D8 -_080728BA: - lsls r0, r4, 3 - add r0, r8 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, r6, r2 - lsls r2, 24 - lsrs r2, 24 - adds r1, r7, 0 - bl Print - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _080728BA -_080728D8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PrintStringArray - - thumb_func_start sub_80728E4 -sub_80728E4: @ 80728E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r3 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - cmp r4, r5 - bcs _08072922 -_080728FE: - ldr r1, [sp, 0x18] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 3 - add r0, r8 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, r6, r2 - lsls r2, 24 - lsrs r2, 24 - adds r1, r7, 0 - bl Print - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _080728FE -_08072922: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80728E4 - - thumb_func_start sub_807292C -sub_807292C: @ 807292C - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsls r5, 24 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x80 - lsls r0, 17 - adds r4, r0 - lsrs r4, 24 - adds r5, r0 - lsrs r5, 24 - ldr r3, _08072970 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x2 - bl PrintStringArray - movs r0, 0 - str r0, [sp] - str r6, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x2 - bl InitMenu - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08072970: .4byte gUnknown_08376D74 - thumb_func_end sub_807292C - - thumb_func_start sub_8072974 -sub_8072974: @ 8072974 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r3, r1, 0 - mov r8, r2 - lsls r4, 24 - lsls r3, 24 - lsrs r6, r4, 24 - movs r0, 0xC0 - lsls r0, 19 - adds r4, r0 - lsrs r4, 24 - lsrs r5, r3, 24 - movs r2, 0xA0 - lsls r2, 19 - adds r3, r2 - lsrs r3, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl DrawDefaultWindow - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x5 - bl sub_807292C - ldr r1, _080729C4 - movs r0, 0 - mov r2, r8 - cmp r2, 0 - beq _080729B8 - movs r0, 0xFF -_080729B8: - strb r0, [r1, 0x7] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080729C4: .4byte 0x030006b0 - thumb_func_end sub_8072974 - - thumb_func_start FillWindowPixelBuffer -FillWindowPixelBuffer: @ 80729C8 - push {lr} - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end FillWindowPixelBuffer - - thumb_func_start sub_80729D8 -sub_80729D8: @ 80729D8 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08072A10 - ldr r0, [r0] - ldr r1, _08072A14 - ldrh r5, [r1] - str r2, [sp] - str r3, [sp, 0x4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_8004D04 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08072A10: .4byte 0x0202e9c8 -_08072A14: .4byte 0x0202e9ce - thumb_func_end sub_80729D8 - - thumb_func_start sub_8072A18 -sub_8072A18: @ 8072A18 - push {r4-r6,lr} - sub sp, 0x10 - adds r6, r0, 0 - ldr r5, [sp, 0x20] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08072A54 - ldr r0, [r0] - ldr r4, _08072A58 - ldrh r4, [r4] - str r1, [sp] - str r2, [sp, 0x4] - str r3, [sp, 0x8] - str r5, [sp, 0xC] - movs r1, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl sub_8004FD0 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08072A54: .4byte 0x0202e9c8 -_08072A58: .4byte 0x0202e9ce - thumb_func_end sub_8072A18 - - thumb_func_start unref_sub_8072A5C -unref_sub_8072A5C: @ 8072A5C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - mov r8, r0 - mov r9, r1 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x2C] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08072AA8 - ldr r0, [r0] - ldr r1, _08072AAC - ldrh r5, [r1] - str r2, [sp] - str r3, [sp, 0x4] - str r4, [sp, 0x8] - str r6, [sp, 0xC] - mov r1, r8 - mov r2, r9 - adds r3, r5, 0 - bl sub_8004FD0 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08072AA8: .4byte 0x0202e9c8 -_08072AAC: .4byte 0x0202e9ce - thumb_func_end unref_sub_8072A5C - - thumb_func_start sub_8072AB0 -sub_8072AB0: @ 8072AB0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r0, [sp, 0x2C] - ldr r2, [sp, 0x30] - lsls r4, 24 - lsrs r1, r4, 24 - mov r12, r1 - lsls r5, 16 - lsrs r7, r5, 16 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _08072B44 - ldr r0, [r0] - ldr r1, _08072B48 - ldrh r3, [r1] - mov r1, r12 - str r1, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - str r2, [sp, 0xC] - movs r1, 0 - mov r2, r9 - bl sub_8004FD0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r2, r1, 24 - lsrs r4, 27 - mov r12, r4 - lsrs r7, r5, 19 - adds r1, r6, 0x7 - lsrs r6, r1, 3 - mov r1, r8 - adds r1, 0x7 - asrs r1, 3 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - cmp r2, r8 - bcs _08072B34 - lsls r1, r2, 1 - adds r1, r7, r1 - lsls r1, 24 - lsrs r1, 24 - mov r0, r12 - adds r2, r0, r6 - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - mov r0, r8 - adds r3, r0, r7 - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - mov r0, r12 - bl sub_8071EBC -_08072B34: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08072B44: .4byte 0x0202e9c8 -_08072B48: .4byte 0x0202e9ce - thumb_func_end sub_8072AB0 - - thumb_func_start PrintCoinsString -PrintCoinsString: @ 8072B4C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r3, r1, 0 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _08072B78 - ldr r0, [r0] - ldr r1, _08072B7C - ldrh r4, [r1] - str r2, [sp] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8004D38 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08072B78: .4byte 0x0202e9c8 -_08072B7C: .4byte 0x0202e9ce - thumb_func_end PrintCoinsString - - thumb_func_start sub_8072B80 -sub_8072B80: @ 8072B80 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x44 - mov r8, r0 - adds r6, r1, 0 - adds r5, r2, 0 - adds r1, r3, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _08072BD0 - ldr r0, [r4] - bl GetStringWidth - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, [r4] - movs r1, 0x1 - str r1, [sp] - add r1, sp, 0x4 - mov r2, r8 - bl AlignString - ldr r0, [r4] - ldr r1, _08072BD4 - ldrh r2, [r1] - str r5, [sp] - add r1, sp, 0x4 - adds r3, r6, 0 - bl sub_8003460 - add sp, 0x44 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08072BD0: .4byte 0x0202e9c8 -_08072BD4: .4byte 0x0202e9ce - thumb_func_end sub_8072B80 - - thumb_func_start Free -Free: @ 8072BD8 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _08072C0C - ldr r0, [r0] - ldr r1, _08072C10 - ldrh r5, [r1] - str r2, [sp] - str r3, [sp, 0x4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_8004DB0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08072C0C: .4byte 0x0202e9c8 -_08072C10: .4byte 0x0202e9ce - thumb_func_end Free - - thumb_func_start sub_8072C14 -sub_8072C14: @ 8072C14 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08072C40 - ldr r0, [r0] - str r3, [sp] - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl AlignInt1 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08072C40: .4byte 0x0202e9c8 - thumb_func_end sub_8072C14 - - thumb_func_start sub_8072C44 -sub_8072C44: @ 8072C44 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08072C70 - ldr r0, [r0] - str r3, [sp] - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl AlignInt2 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08072C70: .4byte 0x0202e9c8 - thumb_func_end sub_8072C44 - - thumb_func_start sub_8072C74 -sub_8072C74: @ 8072C74 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08072CA0 - ldr r0, [r0] - str r3, [sp] - adds r1, r5, 0 - adds r2, r6, 0 - adds r3, r4, 0 - bl AlignString - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08072CA0: .4byte 0x0202e9c8 - thumb_func_end sub_8072C74 - - thumb_func_start sub_8072CA4 -sub_8072CA4: @ 8072CA4 - push {lr} - adds r1, r0, 0 - ldr r0, _08072CB8 - ldr r0, [r0] - bl GetStringWidth - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08072CB8: .4byte 0x0202e9c8 - thumb_func_end sub_8072CA4 - - thumb_func_start sub_8072CBC -sub_8072CBC: @ 8072CBC - push {lr} - ldr r0, _08072CD0 - ldr r0, [r0] - bl sub_8004E24 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08072CD0: .4byte 0x0202e9c8 - thumb_func_end sub_8072CBC - - thumb_func_start sub_8072CD4 -sub_8072CD4: @ 8072CD4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - ldr r0, _08072CF0 - ldr r0, [r0] - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8004E28 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08072CF0: .4byte 0x0202e9c8 - thumb_func_end sub_8072CD4 - - thumb_func_start sub_8072CF4 -sub_8072CF4: @ 8072CF4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08072D08 - ldr r0, [r0] - bl sub_80037C8 - pop {r1} - bx r1 - .align 2, 0 -_08072D08: .4byte 0x0202e9c8 - thumb_func_end sub_8072CF4 - - thumb_func_start unref_sub_8072D0C -unref_sub_8072D0C: @ 8072D0C - ldr r0, _08072D14 - ldr r0, [r0] - bx lr - .align 2, 0 -_08072D14: .4byte 0x0202e9c8 - thumb_func_end unref_sub_8072D0C - - thumb_func_start sub_8072D18 -sub_8072D18: @ 8072D18 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08072D38 - ldr r3, _08072D3C - lsls r1, 27 - lsrs r1, 24 - str r1, [sp] - adds r1, r2, 0 - movs r2, 0xC - bl sub_814A5C0 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08072D38: .4byte 0x0000ffff -_08072D3C: .4byte 0x00002d9f - thumb_func_end sub_8072D18 - - thumb_func_start InitMenu -InitMenu: @ 8072D40 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - ldr r5, [sp, 0x1C] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r1, r5, 24 - cmp r1, 0 - beq _08072D6C - bl sub_8072D18 -_08072D6C: - ldr r1, _08072DA4 - subs r0, r7, 0x1 - movs r2, 0 - strb r0, [r1] - mov r0, r8 - strb r0, [r1, 0x1] - strb r2, [r1, 0x3] - subs r0, r6, 0x1 - strb r0, [r1, 0x4] - strb r2, [r1, 0x7] - cmp r4, 0 - blt _08072D8C - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r4, r0 - ble _08072D8E -_08072D8C: - movs r4, 0 -_08072D8E: - strb r4, [r1, 0x2] - movs r0, 0 - bl MoveMenuCursor - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08072DA4: .4byte 0x030006b0 - thumb_func_end InitMenu - - thumb_func_start RedrawMenuCursor -RedrawMenuCursor: @ 8072DA8 - push {lr} - lsls r0, 27 - movs r2, 0x80 - lsls r2, 20 - adds r0, r2 - lsrs r0, 24 - lsls r1, 27 - lsrs r1, 24 - bl sub_814A880 - pop {r0} - bx r0 - thumb_func_end RedrawMenuCursor - - thumb_func_start unref_sub_8072DC0 -unref_sub_8072DC0: @ 8072DC0 - push {lr} - bl sub_814A904 - pop {r0} - bx r0 - thumb_func_end unref_sub_8072DC0 - - thumb_func_start sub_8072DCC -sub_8072DCC: @ 8072DCC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_814A958 - pop {r0} - bx r0 - thumb_func_end sub_8072DCC - - thumb_func_start sub_8072DDC -sub_8072DDC: @ 8072DDC - push {lr} - lsls r0, 27 - lsrs r0, 24 - bl sub_8072DCC - pop {r0} - bx r0 - thumb_func_end sub_8072DDC - - thumb_func_start sub_8072DEC -sub_8072DEC: @ 8072DEC - push {lr} - bl sub_814A7FC - pop {r0} - bx r0 - thumb_func_end sub_8072DEC - - thumb_func_start sub_8072DF8 -sub_8072DF8: @ 8072DF8 - push {lr} - sub sp, 0x4 - ldr r1, _08072E18 - movs r0, 0 - strb r0, [r1] - movs r0, 0 - str r0, [sp] - ldr r1, _08072E1C - ldr r2, _08072E20 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08072E18: .4byte 0x030006c0 -_08072E1C: .4byte 0x0202e9d8 -_08072E20: .4byte 0x0500003c - thumb_func_end sub_8072DF8 - - thumb_func_start sub_8072E24 -sub_8072E24: @ 8072E24 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r3, _08072E6C - ldrb r0, [r3] - cmp r0, 0x13 - bhi _08072E64 - ldr r2, _08072E70 - adds r1, r0, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - str r4, [r0] - ldrb r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0x4 - adds r0, r1 - str r5, [r0] - ldrb r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r6, [r0, 0x8] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] -_08072E64: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08072E6C: .4byte 0x030006c0 -_08072E70: .4byte 0x0202e9d8 - thumb_func_end sub_8072E24 - - thumb_func_start sub_8072E74 -sub_8072E74: @ 8072E74 - push {r4-r6,lr} - movs r3, 0 - ldr r4, _08072EB0 - adds r6, r4, 0 - ldrb r0, [r4] - cmp r3, r0 - bge _08072EA6 - ldr r2, _08072EB4 - ldr r1, _08072EB8 - movs r5, 0x80 - lsls r5, 24 -_08072E8A: - ldr r0, [r1] - str r0, [r2] - ldr r0, [r1, 0x4] - str r0, [r2, 0x4] - ldrh r0, [r1, 0x8] - lsrs r0, 1 - orrs r0, r5 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r1, 0xC - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _08072E8A -_08072EA6: - movs r0, 0 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08072EB0: .4byte 0x030006c0 -_08072EB4: .4byte 0x040000d4 -_08072EB8: .4byte 0x0202e9d8 - thumb_func_end sub_8072E74 - - thumb_func_start cur_mapheader_run_tileset_funcs_after_some_cpuset -cur_mapheader_run_tileset_funcs_after_some_cpuset: @ 8072EBC - push {lr} - bl sub_8072DF8 - bl cur_mapheader_run_tileset1_func - bl cur_mapheader_run_tileset2_func - pop {r0} - bx r0 - thumb_func_end cur_mapheader_run_tileset_funcs_after_some_cpuset - - thumb_func_start sub_8072ED0 -sub_8072ED0: @ 8072ED0 - push {lr} - bl cur_mapheader_run_tileset2_func - pop {r0} - bx r0 - thumb_func_end sub_8072ED0 - - thumb_func_start sub_8072EDC -sub_8072EDC: @ 8072EDC - push {r4,lr} - bl sub_8072DF8 - ldr r2, _08072F34 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - ldr r1, _08072F38 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bcc _08072EFA - movs r0, 0 - strh r0, [r2] -_08072EFA: - ldr r4, _08072F3C - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldr r1, _08072F40 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bcc _08072F12 - movs r0, 0 - strh r0, [r4] -_08072F12: - ldr r0, _08072F44 - ldr r1, [r0] - cmp r1, 0 - beq _08072F20 - ldrh r0, [r2] - bl _call_via_r1 -_08072F20: - ldr r0, _08072F48 - ldr r1, [r0] - cmp r1, 0 - beq _08072F2E - ldrh r0, [r4] - bl _call_via_r1 -_08072F2E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08072F34: .4byte 0x030006c2 -_08072F38: .4byte 0x030006c4 -_08072F3C: .4byte 0x030006c6 -_08072F40: .4byte 0x030006c8 -_08072F44: .4byte 0x030006cc -_08072F48: .4byte 0x030006d0 - thumb_func_end sub_8072EDC - - thumb_func_start cur_mapheader_run_tileset1_func -cur_mapheader_run_tileset1_func: @ 8072F4C - push {lr} - ldr r0, _08072F78 - movs r1, 0 - strh r1, [r0] - ldr r0, _08072F7C - strh r1, [r0] - ldr r1, _08072F80 - movs r0, 0 - str r0, [r1] - ldr r0, _08072F84 - ldr r0, [r0] - ldr r0, [r0, 0x10] - cmp r0, 0 - beq _08072F72 - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _08072F72 - bl _call_via_r0 -_08072F72: - pop {r0} - bx r0 - .align 2, 0 -_08072F78: .4byte 0x030006c2 -_08072F7C: .4byte 0x030006c4 -_08072F80: .4byte 0x030006cc -_08072F84: .4byte 0x0202e828 - thumb_func_end cur_mapheader_run_tileset1_func - - thumb_func_start cur_mapheader_run_tileset2_func -cur_mapheader_run_tileset2_func: @ 8072F88 - push {lr} - ldr r0, _08072FB4 - movs r1, 0 - strh r1, [r0] - ldr r0, _08072FB8 - strh r1, [r0] - ldr r1, _08072FBC - movs r0, 0 - str r0, [r1] - ldr r0, _08072FC0 - ldr r0, [r0] - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _08072FAE - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _08072FAE - bl _call_via_r0 -_08072FAE: - pop {r0} - bx r0 - .align 2, 0 -_08072FB4: .4byte 0x030006c6 -_08072FB8: .4byte 0x030006c8 -_08072FBC: .4byte 0x030006d0 -_08072FC0: .4byte 0x0202e828 - thumb_func_end cur_mapheader_run_tileset2_func - - thumb_func_start TilesetCB_General -TilesetCB_General: @ 8072FC4 - ldr r1, _08072FDC - movs r0, 0 - strh r0, [r1] - ldr r1, _08072FE0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08072FE4 - ldr r0, _08072FE8 - str r0, [r1] - bx lr - .align 2, 0 -_08072FDC: .4byte 0x030006c2 -_08072FE0: .4byte 0x030006c4 -_08072FE4: .4byte 0x030006cc -_08072FE8: .4byte sub_8073014 - thumb_func_end TilesetCB_General - - thumb_func_start TilesetCB_Building -TilesetCB_Building: @ 8072FEC - ldr r1, _08073004 - movs r0, 0 - strh r0, [r1] - ldr r1, _08073008 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0807300C - ldr r0, _08073010 - str r0, [r1] - bx lr - .align 2, 0 -_08073004: .4byte 0x030006c2 -_08073008: .4byte 0x030006c4 -_0807300C: .4byte 0x030006cc -_08073010: .4byte sub_8073058 - thumb_func_end TilesetCB_Building - - thumb_func_start sub_8073014 -sub_8073014: @ 8073014 - push {r4,r5,lr} - lsls r5, r0, 16 - movs r0, 0xF0 - lsls r0, 12 - ands r0, r5 - lsrs r4, r0, 16 - cmp r4, 0 - bne _0807302A - lsrs r0, r5, 20 - bl sub_8073070 -_0807302A: - cmp r4, 0x1 - bne _08073034 - lsrs r0, r5, 20 - bl sub_8073098 -_08073034: - cmp r4, 0x2 - bne _0807303E - lsrs r0, r5, 20 - bl sub_80730C0 -_0807303E: - cmp r4, 0x3 - bne _08073048 - lsrs r0, r5, 20 - bl sub_80730E8 -_08073048: - cmp r4, 0x4 - bne _08073052 - lsrs r0, r5, 20 - bl sub_807361C -_08073052: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8073014 - - thumb_func_start sub_8073058 -sub_8073058: @ 8073058 - push {lr} - lsls r1, r0, 16 - movs r0, 0xE0 - lsls r0, 11 - ands r0, r1 - cmp r0, 0 - bne _0807306C - lsrs r0, r1, 19 - bl sub_8073904 -_0807306C: - pop {r0} - bx r0 - thumb_func_end sub_8073058 - - thumb_func_start sub_8073070 -sub_8073070: @ 8073070 - push {lr} - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - ldr r0, _08073090 - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - ldr r1, _08073094 - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073090: .4byte gTilesetAnimTable_General_0 -_08073094: .4byte 0x06003f80 - thumb_func_end sub_8073070 - - thumb_func_start sub_8073098 -sub_8073098: @ 8073098 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x7 - ands r0, r1 - ldr r1, _080730B8 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080730BC - movs r2, 0xF0 - lsls r2, 2 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_080730B8: .4byte gTilesetAnimTable_General_1 -_080730BC: .4byte 0x06003600 - thumb_func_end sub_8073098 - - thumb_func_start sub_80730C0 -sub_80730C0: @ 80730C0 - push {lr} - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - ldr r0, _080730E0 - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - ldr r1, _080730E4 - movs r2, 0xA0 - lsls r2, 1 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_080730E0: .4byte gTilesetAnimTable_General_2 -_080730E4: .4byte 0x06003a00 - thumb_func_end sub_80730C0 - - thumb_func_start sub_80730E8 -sub_80730E8: @ 80730E8 - push {lr} - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - ldr r0, _08073108 - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - ldr r1, _0807310C - movs r2, 0xC0 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073108: .4byte gTilesetAnimTable_General_3 -_0807310C: .4byte 0x06003e00 - thumb_func_end sub_80730E8 - - thumb_func_start TilesetCB_Petalburg -TilesetCB_Petalburg: @ 8073110 - ldr r1, _08073128 - movs r0, 0 - strh r0, [r1] - ldr r1, _0807312C - ldr r0, _08073130 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _08073134 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08073128: .4byte 0x030006c6 -_0807312C: .4byte 0x030006c8 -_08073130: .4byte 0x030006c4 -_08073134: .4byte 0x030006d0 - thumb_func_end TilesetCB_Petalburg - - thumb_func_start TilesetCB_Rustboro -TilesetCB_Rustboro: @ 8073138 - ldr r1, _08073150 - movs r0, 0 - strh r0, [r1] - ldr r1, _08073154 - ldr r0, _08073158 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0807315C - ldr r0, _08073160 - str r0, [r1] - bx lr - .align 2, 0 -_08073150: .4byte 0x030006c6 -_08073154: .4byte 0x030006c8 -_08073158: .4byte 0x030006c4 -_0807315C: .4byte 0x030006d0 -_08073160: .4byte sub_8073424 - thumb_func_end TilesetCB_Rustboro - - thumb_func_start TilesetCB_Dewford -TilesetCB_Dewford: @ 8073164 - ldr r1, _0807317C - movs r0, 0 - strh r0, [r1] - ldr r1, _08073180 - ldr r0, _08073184 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _08073188 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_0807317C: .4byte 0x030006c6 -_08073180: .4byte 0x030006c8 -_08073184: .4byte 0x030006c4 -_08073188: .4byte 0x030006d0 - thumb_func_end TilesetCB_Dewford - - thumb_func_start TilesetCB_Slateport -TilesetCB_Slateport: @ 807318C - ldr r1, _080731A4 - movs r0, 0 - strh r0, [r1] - ldr r1, _080731A8 - ldr r0, _080731AC - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080731B0 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_080731A4: .4byte 0x030006c6 -_080731A8: .4byte 0x030006c8 -_080731AC: .4byte 0x030006c4 -_080731B0: .4byte 0x030006d0 - thumb_func_end TilesetCB_Slateport - - thumb_func_start TilesetCB_Mauville -TilesetCB_Mauville: @ 80731B4 - ldr r1, _080731CC - ldr r0, _080731D0 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080731D4 - ldr r0, _080731D8 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080731DC - ldr r0, _080731E0 - str r0, [r1] - bx lr - .align 2, 0 -_080731CC: .4byte 0x030006c6 -_080731D0: .4byte 0x030006c2 -_080731D4: .4byte 0x030006c8 -_080731D8: .4byte 0x030006c4 -_080731DC: .4byte 0x030006d0 -_080731E0: .4byte sub_80734A0 - thumb_func_end TilesetCB_Mauville - - thumb_func_start TilesetCB_Lavaridge -TilesetCB_Lavaridge: @ 80731E4 - ldr r1, _080731FC - movs r0, 0 - strh r0, [r1] - ldr r1, _08073200 - ldr r0, _08073204 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _08073208 - ldr r0, _0807320C - str r0, [r1] - bx lr - .align 2, 0 -_080731FC: .4byte 0x030006c6 -_08073200: .4byte 0x030006c8 -_08073204: .4byte 0x030006c4 -_08073208: .4byte 0x030006d0 -_0807320C: .4byte sub_8073514 - thumb_func_end TilesetCB_Lavaridge - - thumb_func_start TilesetCB_Fallarbor -TilesetCB_Fallarbor: @ 8073210 - ldr r1, _08073228 - movs r0, 0 - strh r0, [r1] - ldr r1, _0807322C - ldr r0, _08073230 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _08073234 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08073228: .4byte 0x030006c6 -_0807322C: .4byte 0x030006c8 -_08073230: .4byte 0x030006c4 -_08073234: .4byte 0x030006d0 - thumb_func_end TilesetCB_Fallarbor - - thumb_func_start TilesetCB_Fortree -TilesetCB_Fortree: @ 8073238 - ldr r1, _08073250 - movs r0, 0 - strh r0, [r1] - ldr r1, _08073254 - ldr r0, _08073258 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0807325C - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08073250: .4byte 0x030006c6 -_08073254: .4byte 0x030006c8 -_08073258: .4byte 0x030006c4 -_0807325C: .4byte 0x030006d0 - thumb_func_end TilesetCB_Fortree - - thumb_func_start TilesetCB_Lilycove -TilesetCB_Lilycove: @ 8073260 - ldr r1, _08073278 - movs r0, 0 - strh r0, [r1] - ldr r1, _0807327C - ldr r0, _08073280 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _08073284 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08073278: .4byte 0x030006c6 -_0807327C: .4byte 0x030006c8 -_08073280: .4byte 0x030006c4 -_08073284: .4byte 0x030006d0 - thumb_func_end TilesetCB_Lilycove - - thumb_func_start TilesetCB_Mossdeep -TilesetCB_Mossdeep: @ 8073288 - ldr r1, _080732A0 - movs r0, 0 - strh r0, [r1] - ldr r1, _080732A4 - ldr r0, _080732A8 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080732AC - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_080732A0: .4byte 0x030006c6 -_080732A4: .4byte 0x030006c8 -_080732A8: .4byte 0x030006c4 -_080732AC: .4byte 0x030006d0 - thumb_func_end TilesetCB_Mossdeep - - thumb_func_start TilesetCB_EverGrande -TilesetCB_EverGrande: @ 80732B0 - ldr r1, _080732C8 - movs r0, 0 - strh r0, [r1] - ldr r1, _080732CC - ldr r0, _080732D0 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080732D4 - ldr r0, _080732D8 - str r0, [r1] - bx lr - .align 2, 0 -_080732C8: .4byte 0x030006c6 -_080732CC: .4byte 0x030006c8 -_080732D0: .4byte 0x030006c4 -_080732D4: .4byte 0x030006d0 -_080732D8: .4byte sub_8073540 - thumb_func_end TilesetCB_EverGrande - - thumb_func_start TilesetCB_Pacifidlog -TilesetCB_Pacifidlog: @ 80732DC - ldr r1, _080732F4 - ldr r0, _080732F8 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080732FC - ldr r0, _08073300 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _08073304 - ldr r0, _08073308 - str r0, [r1] - bx lr - .align 2, 0 -_080732F4: .4byte 0x030006c6 -_080732F8: .4byte 0x030006c2 -_080732FC: .4byte 0x030006c8 -_08073300: .4byte 0x030006c4 -_08073304: .4byte 0x030006d0 -_08073308: .4byte sub_80735B4 - thumb_func_end TilesetCB_Pacifidlog - - thumb_func_start TilesetCB_Sootopolis -TilesetCB_Sootopolis: @ 807330C - ldr r1, _08073324 - movs r0, 0 - strh r0, [r1] - ldr r1, _08073328 - ldr r0, _0807332C - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _08073330 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08073324: .4byte 0x030006c6 -_08073328: .4byte 0x030006c8 -_0807332C: .4byte 0x030006c4 -_08073330: .4byte 0x030006d0 - thumb_func_end TilesetCB_Sootopolis - - thumb_func_start TilesetCB_Underwater -TilesetCB_Underwater: @ 8073334 - ldr r1, _08073348 - movs r0, 0 - strh r0, [r1] - ldr r1, _0807334C - movs r0, 0x80 - strh r0, [r1] - ldr r1, _08073350 - ldr r0, _08073354 - str r0, [r1] - bx lr - .align 2, 0 -_08073348: .4byte 0x030006c6 -_0807334C: .4byte 0x030006c8 -_08073350: .4byte 0x030006d0 -_08073354: .4byte sub_80735E4 - thumb_func_end TilesetCB_Underwater - - thumb_func_start TilesetCB_SootopolisGym -TilesetCB_SootopolisGym: @ 8073358 - ldr r1, _0807336C - movs r0, 0 - strh r0, [r1] - ldr r1, _08073370 - movs r0, 0xF0 - strh r0, [r1] - ldr r1, _08073374 - ldr r0, _08073378 - str r0, [r1] - bx lr - .align 2, 0 -_0807336C: .4byte 0x030006c6 -_08073370: .4byte 0x030006c8 -_08073374: .4byte 0x030006d0 -_08073378: .4byte sub_80738A8 - thumb_func_end TilesetCB_SootopolisGym - - thumb_func_start TilesetCB_Cave -TilesetCB_Cave: @ 807337C - ldr r1, _08073394 - movs r0, 0 - strh r0, [r1] - ldr r1, _08073398 - ldr r0, _0807339C - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080733A0 - ldr r0, _080733A4 - str r0, [r1] - bx lr - .align 2, 0 -_08073394: .4byte 0x030006c6 -_08073398: .4byte 0x030006c8 -_0807339C: .4byte 0x030006c4 -_080733A0: .4byte 0x030006d0 -_080733A4: .4byte sub_8073600 - thumb_func_end TilesetCB_Cave - - thumb_func_start TilesetCB_EliteFour -TilesetCB_EliteFour: @ 80733A8 - ldr r1, _080733BC - movs r0, 0 - strh r0, [r1] - ldr r1, _080733C0 - movs r0, 0x80 - strh r0, [r1] - ldr r1, _080733C4 - ldr r0, _080733C8 - str r0, [r1] - bx lr - .align 2, 0 -_080733BC: .4byte 0x030006c6 -_080733C0: .4byte 0x030006c8 -_080733C4: .4byte 0x030006d0 -_080733C8: .4byte sub_80738C0 - thumb_func_end TilesetCB_EliteFour - - thumb_func_start TilesetCB_MauvilleGym -TilesetCB_MauvilleGym: @ 80733CC - ldr r1, _080733E4 - movs r0, 0 - strh r0, [r1] - ldr r1, _080733E8 - ldr r0, _080733EC - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _080733F0 - ldr r0, _080733F4 - str r0, [r1] - bx lr - .align 2, 0 -_080733E4: .4byte 0x030006c6 -_080733E8: .4byte 0x030006c8 -_080733EC: .4byte 0x030006c4 -_080733F0: .4byte 0x030006d0 -_080733F4: .4byte sub_8073890 - thumb_func_end TilesetCB_MauvilleGym - - thumb_func_start TilesetCB_BikeShop -TilesetCB_BikeShop: @ 80733F8 - ldr r1, _08073410 - movs r0, 0 - strh r0, [r1] - ldr r1, _08073414 - ldr r0, _08073418 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0807341C - ldr r0, _08073420 - str r0, [r1] - bx lr - .align 2, 0 -_08073410: .4byte 0x030006c6 -_08073414: .4byte 0x030006c8 -_08073418: .4byte 0x030006c4 -_0807341C: .4byte 0x030006d0 -_08073420: .4byte sub_80738EC - thumb_func_end TilesetCB_BikeShop - - thumb_func_start sub_8073424 -sub_8073424: @ 8073424 - push {r4-r6,lr} - lsls r5, r0, 16 - movs r0, 0xE0 - lsls r0, 11 - ands r0, r5 - lsrs r6, r0, 16 - cmp r6, 0 - bne _08073444 - lsrs r4, r5, 19 - adds r0, r4, 0 - movs r1, 0 - bl sub_80737A4 - adds r0, r4, 0 - bl sub_80737E0 -_08073444: - cmp r6, 0x1 - bne _08073450 - lsrs r0, r5, 19 - movs r1, 0x1 - bl sub_80737A4 -_08073450: - cmp r6, 0x2 - bne _0807345C - lsrs r0, r5, 19 - movs r1, 0x2 - bl sub_80737A4 -_0807345C: - cmp r6, 0x3 - bne _08073468 - lsrs r0, r5, 19 - movs r1, 0x3 - bl sub_80737A4 -_08073468: - cmp r6, 0x4 - bne _08073474 - lsrs r0, r5, 19 - movs r1, 0x4 - bl sub_80737A4 -_08073474: - cmp r6, 0x5 - bne _08073480 - lsrs r0, r5, 19 - movs r1, 0x5 - bl sub_80737A4 -_08073480: - cmp r6, 0x6 - bne _0807348C - lsrs r0, r5, 19 - movs r1, 0x6 - bl sub_80737A4 -_0807348C: - cmp r6, 0x7 - bne _08073498 - lsrs r0, r5, 19 - movs r1, 0x7 - bl sub_80737A4 -_08073498: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8073424 - - thumb_func_start sub_80734A0 -sub_80734A0: @ 80734A0 - push {r4,r5,lr} - lsls r4, r0, 16 - movs r0, 0xE0 - lsls r0, 11 - ands r0, r4 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080734B8 - lsrs r0, r4, 19 - movs r1, 0 - bl sub_8073704 -_080734B8: - cmp r5, 0x1 - bne _080734C4 - lsrs r0, r4, 19 - movs r1, 0x1 - bl sub_8073704 -_080734C4: - cmp r5, 0x2 - bne _080734D0 - lsrs r0, r4, 19 - movs r1, 0x2 - bl sub_8073704 -_080734D0: - cmp r5, 0x3 - bne _080734DC - lsrs r0, r4, 19 - movs r1, 0x3 - bl sub_8073704 -_080734DC: - cmp r5, 0x4 - bne _080734E8 - lsrs r0, r4, 19 - movs r1, 0x4 - bl sub_8073704 -_080734E8: - cmp r5, 0x5 - bne _080734F4 - lsrs r0, r4, 19 - movs r1, 0x5 - bl sub_8073704 -_080734F4: - cmp r5, 0x6 - bne _08073500 - lsrs r0, r4, 19 - movs r1, 0x6 - bl sub_8073704 -_08073500: - cmp r5, 0x7 - bne _0807350C - lsrs r0, r4, 19 - movs r1, 0x7 - bl sub_8073704 -_0807350C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80734A0 - - thumb_func_start sub_8073514 -sub_8073514: @ 8073514 - push {r4,r5,lr} - lsls r4, r0, 16 - movs r0, 0xF0 - lsls r0, 12 - ands r0, r4 - lsrs r5, r0, 16 - cmp r5, 0 - bne _0807352E - lsrs r0, r4, 20 - lsls r0, 24 - lsrs r0, 24 - bl sub_8073644 -_0807352E: - cmp r5, 0x1 - bne _08073538 - lsrs r0, r4, 20 - bl sub_8073808 -_08073538: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8073514 - - thumb_func_start sub_8073540 -sub_8073540: @ 8073540 - push {r4,r5,lr} - lsls r4, r0, 16 - movs r0, 0xE0 - lsls r0, 11 - ands r0, r4 - lsrs r5, r0, 16 - cmp r5, 0 - bne _08073558 - lsrs r0, r4, 19 - movs r1, 0 - bl sub_8073830 -_08073558: - cmp r5, 0x1 - bne _08073564 - lsrs r0, r4, 19 - movs r1, 0x1 - bl sub_8073830 -_08073564: - cmp r5, 0x2 - bne _08073570 - lsrs r0, r4, 19 - movs r1, 0x2 - bl sub_8073830 -_08073570: - cmp r5, 0x3 - bne _0807357C - lsrs r0, r4, 19 - movs r1, 0x3 - bl sub_8073830 -_0807357C: - cmp r5, 0x4 - bne _08073588 - lsrs r0, r4, 19 - movs r1, 0x4 - bl sub_8073830 -_08073588: - cmp r5, 0x5 - bne _08073594 - lsrs r0, r4, 19 - movs r1, 0x5 - bl sub_8073830 -_08073594: - cmp r5, 0x6 - bne _080735A0 - lsrs r0, r4, 19 - movs r1, 0x6 - bl sub_8073830 -_080735A0: - cmp r5, 0x7 - bne _080735AC - lsrs r0, r4, 19 - movs r1, 0x7 - bl sub_8073830 -_080735AC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8073540 - - thumb_func_start sub_80735B4 -sub_80735B4: @ 80735B4 - push {r4,r5,lr} - lsls r4, r0, 16 - movs r0, 0xF0 - lsls r0, 12 - ands r0, r4 - lsrs r5, r0, 16 - cmp r5, 0 - bne _080735CE - lsrs r0, r4, 20 - lsls r0, 24 - lsrs r0, 24 - bl sub_807368C -_080735CE: - cmp r5, 0x1 - bne _080735DC - lsrs r0, r4, 20 - lsls r0, 24 - lsrs r0, 24 - bl sub_80736DC -_080735DC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80735B4 - - thumb_func_start sub_80735E4 -sub_80735E4: @ 80735E4 - push {lr} - lsls r1, r0, 16 - movs r0, 0xF0 - lsls r0, 12 - ands r0, r1 - cmp r0, 0 - bne _080735FC - lsrs r0, r1, 20 - lsls r0, 24 - lsrs r0, 24 - bl sub_80736B4 -_080735FC: - pop {r0} - bx r0 - thumb_func_end sub_80735E4 - - thumb_func_start sub_8073600 -sub_8073600: @ 8073600 - push {lr} - lsls r1, r0, 16 - movs r0, 0xF0 - lsls r0, 12 - ands r0, r1 - lsrs r0, 16 - cmp r0, 0x1 - bne _08073616 - lsrs r0, r1, 20 - bl sub_8073868 -_08073616: - pop {r0} - bx r0 - thumb_func_end sub_8073600 - - thumb_func_start sub_807361C -sub_807361C: @ 807361C - push {lr} - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - ldr r0, _0807363C - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - ldr r1, _08073640 - movs r2, 0xA0 - lsls r2, 1 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_0807363C: .4byte gTilesetAnimTable_General_4 -_08073640: .4byte 0x06003c00 - thumb_func_end sub_807361C - - thumb_func_start sub_8073644 -sub_8073644: @ 8073644 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x3 - ands r0, r4 - ldr r5, _08073680 - lsls r0, 2 - adds r0, r5 - ldr r0, [r0] - ldr r1, _08073684 - movs r2, 0x80 - bl sub_8072E24 - adds r1, r4, 0x2 - adds r0, r1, 0 - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 24 - lsrs r0, 22 - adds r0, r5 - ldr r0, [r0] - ldr r1, _08073688 - movs r2, 0x80 - bl sub_8072E24 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08073680: .4byte gTilesetAnimTable_Lavaridge -_08073684: .4byte 0x06006400 -_08073688: .4byte 0x06006480 - thumb_func_end sub_8073644 - - thumb_func_start sub_807368C -sub_807368C: @ 807368C - push {lr} - lsls r0, 24 - movs r1, 0xC0 - lsls r1, 18 - ands r1, r0 - ldr r0, _080736AC - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldr r1, _080736B0 - movs r2, 0xF0 - lsls r2, 2 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_080736AC: .4byte gTilesetAnimTable_Pacifidlog_0 -_080736B0: .4byte 0x06007a00 - thumb_func_end sub_807368C - - thumb_func_start sub_80736B4 -sub_80736B4: @ 80736B4 - push {lr} - lsls r0, 24 - movs r1, 0xC0 - lsls r1, 18 - ands r1, r0 - ldr r0, _080736D4 - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldr r1, _080736D8 - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_080736D4: .4byte gTilesetAnimTable_Underwater -_080736D8: .4byte 0x06007e00 - thumb_func_end sub_80736B4 - - thumb_func_start sub_80736DC -sub_80736DC: @ 80736DC - push {lr} - lsls r0, 24 - movs r1, 0xE0 - lsls r1, 19 - ands r1, r0 - ldr r0, _080736FC - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldr r1, _08073700 - movs r2, 0x80 - lsls r2, 1 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_080736FC: .4byte gTilesetAnimTable_Pacifidlog_1 -_08073700: .4byte 0x06007e00 - thumb_func_end sub_80736DC - - thumb_func_start sub_8073704 -sub_8073704: @ 8073704 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - subs r0, r5, r6 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xB - bhi _08073760 - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - ldr r0, _08073750 - lsrs r4, 14 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _08073754 - lsls r5, r6, 2 - adds r1, r5, r1 - ldr r1, [r1] - movs r2, 0x80 - bl sub_8072E24 - ldr r0, _08073758 - adds r4, r0 - ldr r0, [r4] - ldr r1, _0807375C - adds r5, r1 - ldr r1, [r5] - movs r2, 0x80 - bl sub_8072E24 - b _0807378C - .align 2, 0 -_08073750: .4byte gTilesetAnimTable_Mauville_0A -_08073754: .4byte gUnknown_0837BAE4 -_08073758: .4byte gTilesetAnimTable_Mauville_1A -_0807375C: .4byte gUnknown_0837BB04 -_08073760: - movs r0, 0x3 - ands r5, r0 - ldr r0, _08073794 - lsls r5, 2 - adds r0, r5, r0 - ldr r0, [r0] - ldr r1, _08073798 - lsls r4, r6, 2 - adds r1, r4, r1 - ldr r1, [r1] - movs r2, 0x80 - bl sub_8072E24 - ldr r0, _0807379C - adds r5, r0 - ldr r0, [r5] - ldr r1, _080737A0 - adds r4, r1 - ldr r1, [r4] - movs r2, 0x80 - bl sub_8072E24 -_0807378C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08073794: .4byte gTilesetAnimTable_Mauville_0B -_08073798: .4byte gUnknown_0837BAE4 -_0807379C: .4byte gTilesetAnimTable_Mauville_1B -_080737A0: .4byte gUnknown_0837BB04 - thumb_func_end sub_8073704 - - thumb_func_start sub_80737A4 -sub_80737A4: @ 80737A4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - subs r0, r3 - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - ldr r0, _080737D8 - lsrs r1, 14 - adds r1, r0 - ldr r2, [r1] - cmp r2, 0 - beq _080737D4 - ldr r0, _080737DC - lsls r1, r3, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - movs r2, 0x80 - bl sub_8072E24 -_080737D4: - pop {r0} - bx r0 - .align 2, 0 -_080737D8: .4byte gTilesetAnimTable_Rustboro_0 -_080737DC: .4byte gUnknown_0837BFA4 - thumb_func_end sub_80737A4 - - thumb_func_start sub_80737E0 -sub_80737E0: @ 80737E0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - ldr r1, _08073800 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08073804 - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073800: .4byte gTilesetAnimTable_Rustboro_1 -_08073804: .4byte 0x06007800 - thumb_func_end sub_80737E0 - - thumb_func_start sub_8073808 -sub_8073808: @ 8073808 - push {lr} - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - ldr r0, _08073828 - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - ldr r1, _0807382C - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073828: .4byte gTilesetAnimTable_Cave -_0807382C: .4byte 0x06005400 - thumb_func_end sub_8073808 - - thumb_func_start sub_8073830 -sub_8073830: @ 8073830 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1 - lsls r0, 16 - movs r2, 0xE0 - lsls r2, 11 - ands r2, r0 - ldr r0, _08073860 - lsrs r2, 14 - adds r2, r0 - ldr r0, [r2] - ldr r2, _08073864 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073860: .4byte gTilesetAnimTable_EverGrande -_08073864: .4byte gUnknown_0837C93C - thumb_func_end sub_8073830 - - thumb_func_start sub_8073868 -sub_8073868: @ 8073868 - push {lr} - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - ldr r0, _08073888 - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - ldr r1, _0807388C - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073888: .4byte gTilesetAnimTable_Cave -_0807388C: .4byte 0x06007400 - thumb_func_end sub_8073868 - - thumb_func_start sub_8073890 -sub_8073890: @ 8073890 - push {lr} - lsls r2, r0, 16 - lsrs r0, r2, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080738A4 - lsrs r0, r2, 17 - bl sub_80739C4 -_080738A4: - pop {r0} - bx r0 - thumb_func_end sub_8073890 - - thumb_func_start sub_80738A8 -sub_80738A8: @ 80738A8 - push {lr} - lsls r1, r0, 16 - movs r0, 0xE0 - lsls r0, 11 - ands r0, r1 - cmp r0, 0 - bne _080738BC - lsrs r0, r1, 19 - bl sub_807392C -_080738BC: - pop {r0} - bx r0 - thumb_func_end sub_80738A8 - - thumb_func_start sub_80738C0 -sub_80738C0: @ 80738C0 - push {r4,r5,lr} - lsls r4, r0, 16 - lsrs r0, r4, 16 - adds r5, r0, 0 - movs r0, 0x3F - ands r0, r5 - cmp r0, 0 - bne _080738D6 - lsrs r0, r4, 22 - bl sub_807399C -_080738D6: - movs r0, 0x7 - ands r0, r5 - cmp r0, 0x1 - bne _080738E4 - lsrs r0, r4, 19 - bl sub_8073974 -_080738E4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80738C0 - - thumb_func_start sub_80738EC -sub_80738EC: @ 80738EC - push {lr} - lsls r1, r0, 16 - movs r0, 0xC0 - lsls r0, 10 - ands r0, r1 - cmp r0, 0 - bne _08073900 - lsrs r0, r1, 18 - bl sub_80739EC -_08073900: - pop {r0} - bx r0 - thumb_func_end sub_80738EC - - thumb_func_start sub_8073904 -sub_8073904: @ 8073904 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - ldr r1, _08073924 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08073928 - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073924: .4byte gTilesetAnimTable_Building -_08073928: .4byte 0x06003e00 - thumb_func_end sub_8073904 - - thumb_func_start sub_807392C -sub_807392C: @ 807392C - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - ldr r0, _08073964 - lsrs r4, 14 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _08073968 - movs r2, 0xC0 - lsls r2, 1 - bl sub_8072E24 - ldr r0, _0807396C - adds r4, r0 - ldr r0, [r4] - ldr r1, _08073970 - movs r2, 0xA0 - lsls r2, 2 - bl sub_8072E24 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08073964: .4byte gTilesetAnimTable_SootopolisGym_0 -_08073968: .4byte 0x06007e00 -_0807396C: .4byte gTilesetAnimTable_SootopolisGym_1 -_08073970: .4byte 0x06007a00 - thumb_func_end sub_807392C - - thumb_func_start sub_8073974 -sub_8073974: @ 8073974 - push {lr} - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - ldr r0, _08073994 - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - ldr r1, _08073998 - movs r2, 0x20 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073994: .4byte gTilesetAnimTable_EliteFour_0 -_08073998: .4byte 0x06007f00 - thumb_func_end sub_8073974 - - thumb_func_start sub_807399C -sub_807399C: @ 807399C - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - ldr r1, _080739BC - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080739C0 - movs r2, 0x80 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_080739BC: .4byte gTilesetAnimTable_EliteFour_1 -_080739C0: .4byte 0x06007c00 - thumb_func_end sub_807399C - - thumb_func_start sub_80739C4 -sub_80739C4: @ 80739C4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - ldr r1, _080739E4 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080739E8 - movs r2, 0x80 - lsls r2, 2 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_080739E4: .4byte gTilesetAnimTable_MauvilleGym -_080739E8: .4byte 0x06005200 - thumb_func_end sub_80739C4 - - thumb_func_start sub_80739EC -sub_80739EC: @ 80739EC - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - ldr r1, _08073A0C - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08073A10 - movs r2, 0x90 - lsls r2, 1 - bl sub_8072E24 - pop {r0} - bx r0 - .align 2, 0 -_08073A0C: .4byte gTilesetAnimTable_BikeShop -_08073A10: .4byte 0x06007e00 - thumb_func_end sub_80739EC + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom5.s b/asm/rom5.s index ae74d1da6..6723f23fd 100644 --- a/asm/rom5.s +++ b/asm/rom5.s @@ -273,7 +273,7 @@ _0807AF88: ldr r5, _0807B004 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -294,7 +294,7 @@ _0807AF88: muls r0, r6 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -550,7 +550,7 @@ _0807B1DA: mov r9, r1 add r0, r9 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0807B1FE b _0807B4D8 @@ -561,7 +561,7 @@ _0807B1FE: adds r0, r1, 0 add r0, r9 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -624,7 +624,7 @@ _0807B1FE: adds r0, r1, 0 add r0, r9 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldrb r2, [r4] lsls r1, r2, 4 adds r1, r2 @@ -776,7 +776,7 @@ _0807B3D0: mov r9, r1 add r0, r9 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0807B4D8 ldrh r0, [r6] @@ -785,7 +785,7 @@ _0807B3D0: adds r0, r1, 0 add r0, r9 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -848,7 +848,7 @@ _0807B3D0: adds r0, r1, 0 add r0, r9 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldrb r2, [r4] lsls r1, r2, 4 adds r1, r2 @@ -1054,7 +1054,7 @@ _0807B628: ldr r1, _0807B65C adds r0, r1 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0807B68A adds r0, r6, 0 @@ -1079,7 +1079,7 @@ _0807B660: ldr r1, _0807B698 adds r0, r1 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0807B68A adds r0, r6, 0 @@ -13667,7 +13667,7 @@ _08081790: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldrb r0, [r7, 0x2] bl sub_808161C movs r1, 0x4 @@ -13760,7 +13760,7 @@ _08081852: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0808189C bl LoadFontDefaultPalette ldr r1, _080818A0 @@ -14584,7 +14584,7 @@ _08081EFE: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 movs r0, 0xCE lsls r0, 1 @@ -14594,12 +14594,12 @@ _08081EFE: beq _08081F42 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08081F42 adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r0, r7, r0 lsls r0, 24 lsrs r7, r0, 24 @@ -14755,7 +14755,7 @@ sub_8082034: @ 8082034 lsrs r5, r0, 24 ldr r0, _08082064 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -14888,7 +14888,7 @@ sub_8082138: @ 8082138 push {r4,lr} ldr r0, _0808215C movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -16513,12 +16513,12 @@ sub_8082D18: @ 8082D18 movs r1, 0xA movs r2, 0x1C movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08082D48 movs r1, 0x13 movs r2, 0xB movs r3, 0x48 - bl Free + bl sub_8072BD8 pop {r0} bx r0 .align 2, 0 @@ -16533,7 +16533,7 @@ sub_8082D4C: @ 8082D4C movs r1, 0xA movs r2, 0x1C movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_8082D4C @@ -18194,7 +18194,7 @@ _08083A62: _08083A68: bl sub_8055588 bl textbox_close - bl sub_8071EF4 + bl MenuZeroFillScreen adds r0, r4, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running @@ -18434,7 +18434,7 @@ _08083C34: .4byte 0x0202e8d0 _08083C38: .4byte 0x020231cc _08083C3C: .4byte 0x03002978 _08083C40: .4byte 0x020232cc -_08083C44: .4byte gUnknown_0839B21C +_08083C44: .4byte gTrainerCardColorNames _08083C48: movs r0, 0 _08083C4A: @@ -18598,7 +18598,7 @@ sub_8083D70: @ 8083D70 sub sp, 0x34 ldr r0, _08083DE4 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -18625,16 +18625,16 @@ sub_8083D70: @ 8083D70 ldr r1, _08083DF0 mov r0, sp bl StringAppend - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0 movs r1, 0xE movs r2, 0x1E movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r0, sp movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _08083DF4 ldr r0, _08083DF8 str r0, [r1] @@ -18747,7 +18747,7 @@ _08083E98: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08083EBC mov r0, sp @@ -18755,7 +18755,7 @@ _08083E98: adds r0, r4, 0 movs r1, 0x20 mov r2, sp - bl pokemon_setattr + bl SetMonData _08083EBC: adds r0, r5, 0x1 lsls r0, 24 @@ -18785,7 +18785,7 @@ sub_8083EEC: @ 8083EEC ldr r0, _08083F04 ldr r2, _08083F08 movs r1, 0x2 - bl pokemon_setattr + bl SetMonData bl sub_8071C20 movs r0, 0x1 pop {r1} @@ -18851,17 +18851,17 @@ _08083F66: unref_sub_8083F6C: @ 8083F6C push {lr} sub sp, 0x8 - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0 movs r1, 0 movs r2, 0xA movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _08083FB0 movs r0, 0x1 movs r1, 0x1 movs r2, 0x9 - bl PrintStringArray + bl PrintMenuItems movs r0, 0 str r0, [sp] movs r0, 0x9 @@ -21184,7 +21184,7 @@ _0808507E: ldr r4, _080850DC adds r0, r4, 0 movs r1, 0x6 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080850BA adds r0, r4, 0 @@ -21846,17 +21846,17 @@ _080855AC: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080855EC adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080855EC adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -21922,7 +21922,7 @@ ApplyCleanseTagWildEncounterRateReduction: @ 8085640 adds r4, r0, 0 ldr r0, _08085664 movs r1, 0xC - bl PokemonGetField + bl GetMonData cmp r0, 0xBE bne _0808565C ldr r0, [r4] @@ -27485,15 +27485,15 @@ sub_80880C4: @ 80880C4 adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData str r0, [r5] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [r5, 0x4] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [r5, 0x8] ldr r0, [r5] orrs r0, r6 @@ -27840,7 +27840,7 @@ sub_8088380: @ 8088380 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow movs r0, 0x26 ldrsh r1, [r5, r0] lsls r0, r1, 4 @@ -28196,7 +28196,7 @@ sub_808862C: @ 808862C adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow movs r0, 0x26 ldrsh r1, [r5, r0] lsls r0, r1, 4 @@ -30817,7 +30817,7 @@ sub_8089A8C: @ 8089A8C ldr r1, _08089AD8 adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08089AE0 ldr r4, _08089ADC @@ -30860,7 +30860,7 @@ _08089AF4: adds r0, r1 adds r1, r6, 0 adds r1, 0xD - bl PokemonGetField + bl GetMonData lsls r1, r4, 1 adds r1, r5 ldrh r1, [r1] @@ -30903,7 +30903,7 @@ _08089B48: ldr r6, _08089BAC adds r0, r6, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08089B76 adds r0, r4, 0 @@ -30919,7 +30919,7 @@ _08089B76: subs r1, 0x64 adds r0, r1 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl itemid_is_mail @@ -30995,7 +30995,7 @@ sub_8089BDC: @ 8089BDC adds r0, r5, 0 adds r1, r6, 0 adds r2, r4, 0 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r5, 0x1 lsls r5, 24 lsrs r5, 24 @@ -31007,7 +31007,7 @@ sub_8089BDC: @ 8089BDC adds r1, r6, 0 mov r2, r8 ldr r3, [sp, 0x1C] - bl sub_80728E4 + bl PrintMenuItemsReordered add sp, 0x4 pop {r3} mov r8, r3 @@ -31483,7 +31483,7 @@ sub_808A004: @ 808A004 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 .align 2, 0 @@ -31636,7 +31636,7 @@ sub_808A140: @ 808A140 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _0808A178 lsls r0, r4, 2 adds r0, r4 @@ -31673,7 +31673,7 @@ sub_808A180: @ 808A180 ldr r1, _0808A1D4 adds r0, r1 movs r1, 0x40 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -31776,7 +31776,7 @@ _0808A278: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0 bl sub_806D538 @@ -31837,7 +31837,7 @@ sub_808A2DC: @ 808A2DC ldr r1, _0808A324 adds r0, r1 movs r1, 0x40 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -32000,7 +32000,7 @@ sub_808A3F8: @ 808A3F8 ldr r1, _0808A470 adds r0, r1 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 24 cmp r0, 0 bne _0808A478 @@ -32120,7 +32120,7 @@ _0808A542: ldr r4, _0808A594 adds r0, r4 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x1 @@ -32134,7 +32134,7 @@ _0808A542: adds r0, r4 movs r1, 0xC adds r2, r7, 0 - bl pokemon_setattr + bl SetMonData ldr r2, _0808A598 movs r0, 0 movs r1, 0xFF @@ -32281,7 +32281,7 @@ sub_808A688: @ 808A688 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_806D5A4 ldr r1, _0808A6B4 adds r0, r4, 0 @@ -32304,7 +32304,7 @@ sub_808A6B8: @ 808A6B8 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_806D5A4 ldr r1, _0808A6E4 adds r0, r4, 0 @@ -32330,7 +32330,7 @@ sub_808A6E8: @ 808A6E8 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _0808A72C ldr r2, _0808A730 movs r0, 0 @@ -32505,7 +32505,7 @@ sub_808A848: @ 808A848 ldr r1, _0808A89C adds r0, r1 movs r1, 0x40 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -32565,7 +32565,7 @@ sub_808A8D4: @ 808A8D4 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0 bl sub_806D538 @@ -32614,7 +32614,7 @@ sub_808A938: @ 808A938 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_806D5A4 ldr r0, _0808A978 ldrb r0, [r0] @@ -32663,7 +32663,7 @@ sub_808A984: @ 808A984 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldrh r0, [r4, 0x16] subs r0, 0xB lsls r0, 16 @@ -32695,7 +32695,7 @@ _0808A9DC: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_806D5A4 ldr r0, _0808AA24 movs r1, 0x1 @@ -32760,7 +32760,7 @@ _0808AA90: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r1, 0x16 ldrsh r0, [r4, r1] cmp r0, 0x4 @@ -32827,7 +32827,7 @@ _0808AB12: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_808A918 _0808AB24: @@ -32915,7 +32915,7 @@ sub_808ABA8: @ 808ABA8 ldr r1, _0808ABE8 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldr r1, _0808ABEC str r0, [r1] ldr r0, _0808ABF0 @@ -32954,7 +32954,7 @@ _0808AC0E: movs r1, 0x11 movs r2, 0x1C movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_808A918 _0808AC20: @@ -33149,7 +33149,7 @@ unref_sub_808AD88: @ 808AD88 ldr r1, _0808ADA8 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 pop {r1} @@ -33289,14 +33289,14 @@ _0808AE9A: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0808AF10 adds r0, r5, 0 bl sub_806D668 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0808AECE adds r0, r4, 0 @@ -33357,12 +33357,12 @@ _0808AF24: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0808AF66 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0808AF58 ldr r0, _0808AF7C @@ -33437,7 +33437,7 @@ _0808AFC6: ldr r1, _0808B004 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0808AFE6 _0808AFE2: @@ -33583,7 +33583,7 @@ _0808B0F0: ldr r1, _0808B11C adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0808B120 movs r0, 0x20 @@ -33879,7 +33879,7 @@ sub_808B338: @ 808B338 ldr r1, _0808B394 adds r0, r1 movs r1, 0x40 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -33973,7 +33973,7 @@ _0808B416: ldr r4, _0808B474 adds r0, r4 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x1 @@ -33987,7 +33987,7 @@ _0808B416: adds r0, r4 movs r1, 0xC adds r2, r7, 0 - bl pokemon_setattr + bl SetMonData ldr r0, _0808B478 movs r1, 0x5 bl CreateTask @@ -34384,12 +34384,12 @@ _0808B77C: .4byte 0x03001770 _0808B780: .4byte 0x0000043c _0808B784: ldr r0, _0808B78C - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _0808B95C .align 2, 0 _0808B78C: .4byte gWindowConfig_81E71B4 _0808B790: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _0808B79A b _0808B9B2 @@ -34526,44 +34526,44 @@ _0808B874: movs r1, 0 movs r2, 0x1B movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x2 movs r1, 0x4 movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0808B978 movs r1, 0x4 movs r2, 0x1 - bl Print + bl MenuPrint ldr r0, _0808B97C movs r1, 0x4 movs r2, 0x5 - bl Print + bl MenuPrint ldr r0, _0808B980 movs r1, 0x4 movs r2, 0x7 - bl Print + bl MenuPrint ldr r0, _0808B984 movs r1, 0x4 movs r2, 0x9 - bl Print + bl MenuPrint ldr r0, _0808B988 movs r1, 0x4 movs r2, 0xB - bl Print + bl MenuPrint ldr r0, _0808B98C movs r1, 0x4 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _0808B990 movs r1, 0x4 movs r2, 0xF - bl Print + bl MenuPrint ldr r0, _0808B994 movs r1, 0x4 movs r2, 0x11 - bl Print + bl MenuPrint ldrb r0, [r4, 0xA] bl sub_808BCF8 ldrb r0, [r4, 0xC] @@ -35285,7 +35285,7 @@ _0808BE98: movs r4, 0 _0808BE9A: adds r0, r4, 0 - bl sub_8071E00 + bl MenuLoadTextWindowGraphics_OverrideFrameType _0808BEA0: ldr r0, _0808BEB8 ldrh r1, [r0, 0x2E] @@ -35305,7 +35305,7 @@ _0808BEBC: movs r4, 0x13 _0808BEBE: adds r0, r4, 0 - bl sub_8071E00 + bl MenuLoadTextWindowGraphics_OverrideFrameType _0808BEC4: adds r0, r4, 0 pop {r4} @@ -35400,11 +35400,11 @@ _0808BF64: mov r0, r8 movs r1, 0xF movs r2, 0xF - bl Print + bl MenuPrint mov r0, sp movs r1, 0x12 movs r2, 0xF - bl Print + bl MenuPrint add sp, 0x8 pop {r3} mov r8, r3 @@ -35897,7 +35897,7 @@ _0808C344: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] @@ -37871,7 +37871,7 @@ _0808D400: .4byte 0x0202ffb4 _0808D404: .4byte 0x0000064a _0808D408: .4byte REG_BG2VOFS _0808D40C: .4byte 0x0000062d -_0808D410: .4byte gUnknown_08E86758 +_0808D410: .4byte gPokedexMenu_Gfx _0808D414: .4byte gUnknown_08E96738 _0808D418: .4byte 0x06006800 _0808D41C: .4byte gUnknown_08E9C6DC @@ -37952,7 +37952,7 @@ _0808D4D8: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r0, _0808D4FC ldr r1, _0808D500 bl LZ77UnCompVram @@ -38125,7 +38125,7 @@ sub_808D640: @ 808D640 .align 2, 0 _0808D658: .4byte 0x0202ffb4 _0808D65C: .4byte 0x0000064c -_0808D660: .4byte gUnknown_0839F67E +_0808D660: .4byte gUnknown_0839F67C + 0x2 _0808D664: bl sub_806912C cmp r0, 0 @@ -38137,7 +38137,7 @@ _0808D66E: bl LoadPalette b _0808D686 .align 2, 0 -_0808D678: .4byte gUnknown_08E87AF6 +_0808D678: .4byte gPokedexMenu_Pal + 0x2 _0808D67C: ldr r0, _0808D68C movs r1, 0x1 @@ -38147,7 +38147,7 @@ _0808D686: pop {r0} bx r0 .align 2, 0 -_0808D68C: .4byte gUnknown_0839F73E +_0808D68C: .4byte gUnknown_0839F73C + 0x2 thumb_func_end sub_808D640 thumb_func_start sub_808D690 @@ -39261,7 +39261,7 @@ _0808DEEE: lsrs r1, 24 mov r0, sp mov r2, r9 - bl Print + bl MenuPrint add sp, 0x8 pop {r3-r5} mov r8, r3 @@ -41844,7 +41844,7 @@ _0808F38C: adds r1, r3 b _0808F682 .align 2, 0 -_0808F3B8: .4byte gUnknown_08E86758 +_0808F3B8: .4byte gPokedexMenu_Gfx _0808F3BC: .4byte gUnknown_08E96BD4 _0808F3C0: .4byte 0x06007800 _0808F3C4: .4byte 0x0202ffbc @@ -41870,7 +41870,7 @@ _0808F3F4: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r1, _0808F410 ldr r3, _0808F414 adds r1, r3 @@ -41918,15 +41918,15 @@ _0808F45A: ldr r0, _0808F4FC movs r1, 0xB movs r2, 0x5 - bl Print + bl MenuPrint ldr r0, _0808F500 movs r1, 0x10 movs r2, 0x7 - bl Print + bl MenuPrint ldr r0, _0808F504 movs r1, 0x10 movs r2, 0x9 - bl Print + bl MenuPrint ldr r2, [r5] ldrb r1, [r2, 0x2] movs r0, 0x2 @@ -41972,7 +41972,7 @@ _0808F45A: ldr r0, [r0] movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint movs r1, 0xFF lsls r1, 2 movs r0, 0xE @@ -41988,7 +41988,7 @@ _0808F50C: ldr r0, _0808F524 movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _0808F528 movs r1, 0x31 movs r2, 0x1E @@ -42742,7 +42742,7 @@ _0808FB28: adds r1, r3 b _0808FDA0 .align 2, 0 -_0808FB44: .4byte gUnknown_08E86758 +_0808FB44: .4byte gPokedexMenu_Gfx _0808FB48: .4byte gUnknown_0839F8A0 _0808FB4C: .4byte 0x06007000 _0808FB50: .4byte 0x03001770 @@ -42779,7 +42779,7 @@ _0808FB9C: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow bl ResetPaletteFade ldr r1, _0808FBBC ldr r0, _0808FBC0 @@ -42793,7 +42793,7 @@ _0808FBC4: ldr r0, _0808FBE8 movs r1, 0xA movs r2, 0x4 - bl Print + bl MenuPrint ldr r0, _0808FBEC ldr r0, [r0] ldrh r0, [r0] @@ -43422,7 +43422,7 @@ _08090120: adds r1, r2 b _08090368 .align 2, 0 -_0809013C: .4byte gUnknown_08E86758 +_0809013C: .4byte gPokedexMenu_Gfx _08090140: .4byte gUnknown_0839F988 _08090144: .4byte 0x06007000 _08090148: .4byte 0x03001770 @@ -43446,7 +43446,7 @@ _08090174: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow add r1, sp, 0x4 movs r0, 0xFF strb r0, [r1] @@ -43460,7 +43460,7 @@ _08090174: movs r1, 0x3 movs r2, 0xF movs r3, 0xC0 - bl Free + bl sub_8072BD8 ldr r1, _080901B8 ldr r2, _080901BC adds r1, r2 @@ -44278,19 +44278,19 @@ _08090800: strh r0, [r4, 0x8] b _08090A26 .align 2, 0 -_08090840: .4byte gUnknown_08E86758 +_08090840: .4byte gPokedexMenu_Gfx _08090844: .4byte 0x06004000 _08090848: .4byte gUnknown_08E96BD4 _0809084C: .4byte 0x06007800 _08090850: .4byte 0x0000027f _08090854: .4byte 0x03004b20 -_08090858: .4byte gUnknown_08E87AF6 +_08090858: .4byte gPokedexMenu_Pal + 0x2 _0809085C: ldr r4, _0809088C adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r2, _08090890 add r1, sp, 0x4 movs r0, 0 @@ -44318,7 +44318,7 @@ _080908A0: movs r1, 0x2 movs r2, 0 movs r3, 0xD0 - bl Free + bl sub_8072BD8 bl sub_806912C cmp r0, 0 bne _080908CC @@ -44345,15 +44345,15 @@ _080908D6: ldr r0, _0809094C movs r1, 0xB movs r2, 0x5 - bl Print + bl MenuPrint ldr r0, _08090950 movs r1, 0x10 movs r2, 0x7 - bl Print + bl MenuPrint ldr r0, _08090954 movs r1, 0x10 movs r2, 0x9 - bl Print + bl MenuPrint lsls r4, r6, 3 adds r4, r6 lsls r4, 2 @@ -44376,7 +44376,7 @@ _080908D6: ldr r0, [r4] movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint movs r1, 0xFF lsls r1, 2 movs r0, 0xE @@ -44565,7 +44565,7 @@ _08090AA4: movs r1, 0xD movs r2, 0x1B movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _08090B04 lsls r0, r4, 3 adds r0, r4 @@ -44575,7 +44575,7 @@ _08090AA4: ldr r0, [r0] movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r1, _08090B08 ldrh r0, [r1] adds r0, 0x1 @@ -44637,7 +44637,7 @@ _08090B44: b _08090B7A .align 2, 0 _08090B68: .4byte 0x03004b20 -_08090B6C: .4byte gUnknown_08E87AF6 +_08090B6C: .4byte gPokedexMenu_Pal + 0x2 _08090B70: ldr r0, _08090B88 movs r1, 0x51 @@ -44651,7 +44651,7 @@ _08090B7A: pop {r0} bx r0 .align 2, 0 -_08090B88: .4byte gUnknown_08E87B56 +_08090B88: .4byte gPokedexMenu2_Pal + 0x2 thumb_func_end sub_8090A3C thumb_func_start sub_8090B8C @@ -44787,7 +44787,7 @@ sub_8090C68: @ 8090C68 movs r1, 0xD movs r2, 0x1B movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _08090CDC ldr r0, [r4] ldrh r1, [r0] @@ -44799,7 +44799,7 @@ sub_8090C68: @ 8090C68 ldr r0, [r0] movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, [r5] ldr r1, _08090CD8 adds r0, r1 @@ -44827,7 +44827,7 @@ _08090CE4: movs r1, 0xD movs r2, 0x1B movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _08090D30 ldr r0, [r4] ldrh r1, [r0] @@ -44839,7 +44839,7 @@ _08090CE4: ldr r0, [r0] movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, [r5] ldr r1, _08090D34 adds r0, r1 @@ -45466,7 +45466,7 @@ sub_8091154: @ 8091154 mov r0, sp adds r1, r6, 0 mov r2, r8 - bl Print + bl MenuPrint add sp, 0x4 pop {r3} mov r8, r3 @@ -45550,7 +45550,7 @@ _0809124C: mov r0, sp adds r1, r6, 0 adds r2, r5, 0 - bl Print + bl MenuPrint adds r0, r4, 0 add sp, 0xC pop {r4-r6} @@ -45634,7 +45634,7 @@ _080912E6: mov r0, sp mov r1, r8 adds r2, r7, 0 - bl Print + bl MenuPrint adds r0, r4, 0 add sp, 0x28 pop {r3} @@ -45815,7 +45815,7 @@ _08091402: mov r0, sp adds r1, r7, 0 adds r2, r6, 0 - bl Print + bl MenuPrint add sp, 0x8 pop {r4-r7} pop {r0} @@ -45943,7 +45943,7 @@ _080914F8: mov r0, sp mov r1, r9 mov r2, r8 - bl Print + bl MenuPrint add sp, 0x10 pop {r3,r4} mov r8, r3 @@ -46171,7 +46171,7 @@ _0809166A: mov r0, sp mov r1, r10 ldr r2, [sp, 0x10] - bl Print + bl MenuPrint add sp, 0x14 pop {r3-r5} mov r8, r3 @@ -47220,10 +47220,10 @@ _08091F10: _08091F1C: .4byte 0x0202f388 _08091F20: .4byte 0x0202ffb4 _08091F24: .4byte 0x0000064a -_08091F28: .4byte gUnknown_08E87DB0 +_08091F28: .4byte gPokedexMenuSearch_Gfx _08091F2C: .4byte gUnknown_08E96D2C _08091F30: .4byte 0x06007800 -_08091F34: .4byte gUnknown_08E882D8 + 0x2 +_08091F34: .4byte gPokedexMenuSearch_Pal + 0x2 _08091F38: .4byte 0x06007a80 _08091F3C: .4byte 0x06007b00 _08091F40: .4byte 0x06007ac0 @@ -47235,7 +47235,7 @@ _08091F50: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r0, _08091FAC bl LoadCompressedObjectPic ldr r0, _08091FB0 @@ -48117,7 +48117,7 @@ sub_8092644: @ 8092644 movs r1, 0x1 movs r2, 0x1C movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x1 bl sub_8092C8C b _080926E0 @@ -48137,7 +48137,7 @@ _080926B4: movs r1, 0x1 movs r2, 0x1C movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x1 bl sub_8092C8C ldrh r0, [r6, 0x24] @@ -48996,7 +48996,7 @@ sub_8092D78: @ 8092D78 movs r1, 0x1 movs r2, 0x1C movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect movs r5, 0 ldrh r4, [r7] b _08092DE8 @@ -49012,7 +49012,7 @@ _08092DC4: lsls r2, 24 lsrs r2, 24 movs r1, 0x12 - bl Print + bl MenuPrint adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 @@ -49554,7 +49554,7 @@ _080931DC: adds r0, 0x1 strb r0, [r1] _080931EC: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 beq _08093232 b _0809320A @@ -50322,7 +50322,7 @@ sub_80937BC: @ 80937BC adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin pop {r4} pop {r0} bx r0 @@ -50598,7 +50598,7 @@ sub_80939A4: @ 80939A4 movs r1, 0 bl CreateTask ldr r0, _080939BC - bl sub_8071E2C + bl BasicInitMenuWindow pop {r0} bx r0 .align 2, 0 @@ -50653,7 +50653,7 @@ _08093A04: mov r0, sp movs r1, 0xA movs r2, 0xC - bl Print + bl MenuPrint add sp, 0x20 pop {r0} bx r0 @@ -51155,7 +51155,7 @@ _08093DC4: thumb_func_start sub_8093DC8 sub_8093DC8: @ 8093DC8 push {lr} - bl sub_8071EF4 + bl MenuZeroFillScreen bl sub_80940E4 bl sub_8093F14 bl sub_8093F80 @@ -51169,7 +51169,7 @@ sub_8093DC8: @ 8093DC8 thumb_func_start sub_8093DEC sub_8093DEC: @ 8093DEC push {lr} - bl sub_8071EF4 + bl MenuZeroFillScreen bl sub_80940E4 bl sub_8093F48 bl sub_8094188 @@ -51246,7 +51246,7 @@ _08093E4E: bx r0 .align 2, 0 _08093E84: .4byte gUnknown_083B5F6C -_08093E88: .4byte gUnknown_08E8B4E0 +_08093E88: .4byte gMenuTrainerCard_Gfx _08093E8C: .4byte 0x040000d4 _08093E90: .4byte 0x80000800 _08093E94: .4byte gBadgesTiles @@ -51616,7 +51616,7 @@ _0809413C: .4byte 0x06004800 sub_8094140: @ 8094140 push {r4,r5,lr} ldr r0, _0809417C - bl sub_8071E2C + bl BasicInitMenuWindow ldr r4, _08094180 ldr r5, _08094184 adds r0, r4, 0 @@ -51628,7 +51628,7 @@ sub_8094140: @ 8094140 adds r0, r4, 0 movs r1, 0x7 movs r2, 0x5 - bl Print + bl MenuPrint bl sub_80941D8 bl sub_8094200 bl sub_8094218 @@ -51646,7 +51646,7 @@ _08094184: .4byte 0x02000094 sub_8094188: @ 8094188 push {lr} ldr r0, _080941D0 - bl sub_8071E2C + bl BasicInitMenuWindow bl sub_80942F8 bl sub_8094334 bl sub_80943C4 @@ -51655,7 +51655,7 @@ sub_8094188: @ 8094188 bl sub_80944E8 bl sub_8094538 ldr r0, _080941D4 - bl sub_8071E2C + bl BasicInitMenuWindow bl sub_8094354 bl sub_80943E4 bl sub_8094448 @@ -51683,7 +51683,7 @@ sub_80941D8: @ 80941D8 mov r0, sp movs r1, 0x14 movs r2, 0x2 - bl Print + bl MenuPrint add sp, 0x8 pop {r0} bx r0 @@ -51729,7 +51729,7 @@ _08094230: mov r0, sp movs r1, 0x10 movs r2, 0xA - bl PrintCoinsString + bl sub_8072B4C _0809424A: add sp, 0x10 pop {r0} @@ -51796,7 +51796,7 @@ sub_809429C: @ 809429C adds r0, r4, 0 movs r1, 0x2 movs r2, 0xE - bl Print + bl MenuPrint adds r1, r6, 0 adds r1, 0x40 adds r0, r4, 0 @@ -51809,7 +51809,7 @@ sub_809429C: @ 809429C adds r0, r4, 0 movs r1, 0x2 movs r2, 0x10 - bl Print + bl MenuPrint _080942EA: pop {r4-r6} pop {r0} @@ -51836,7 +51836,7 @@ sub_80942F8: @ 80942F8 adds r0, r4, 0 movs r1, 0x1C movs r2, 0x2 - bl PrintCoinsString + bl sub_8072B4C pop {r4,r5} pop {r0} bx r0 @@ -51856,7 +51856,7 @@ sub_8094334: @ 8094334 ldr r0, _08094350 movs r1, 0x3 movs r2, 0x5 - bl Print + bl MenuPrint _08094348: pop {r0} bx r0 @@ -51906,7 +51906,7 @@ sub_8094354: @ 8094354 ldr r0, _080943BC movs r1, 0x1C movs r2, 0x5 - bl PrintCoinsString + bl sub_8072B4C _080943B0: pop {r4,r5} pop {r0} @@ -51927,7 +51927,7 @@ sub_80943C4: @ 80943C4 ldr r0, _080943E0 movs r1, 0x3 movs r2, 0x7 - bl Print + bl MenuPrint _080943D8: pop {r0} bx r0 @@ -51952,7 +51952,7 @@ sub_80943E4: @ 80943E4 mov r0, sp movs r1, 0x16 movs r2, 0x7 - bl PrintCoinsString + bl sub_8072B4C adds r0, r4, 0 adds r0, 0x7A ldrh r1, [r0] @@ -51961,7 +51961,7 @@ sub_80943E4: @ 80943E4 mov r0, sp movs r1, 0x1C movs r2, 0x7 - bl PrintCoinsString + bl sub_8072B4C _0809441C: add sp, 0x10 pop {r4} @@ -51981,7 +51981,7 @@ sub_8094428: @ 8094428 ldr r0, _08094444 movs r1, 0x3 movs r2, 0xF - bl Print + bl MenuPrint _0809443C: pop {r0} bx r0 @@ -52041,7 +52041,7 @@ sub_8094498: @ 8094498 ldr r0, _080944B4 movs r1, 0x3 movs r2, 0xD - bl Print + bl MenuPrint _080944AC: pop {r0} bx r0 @@ -52068,7 +52068,7 @@ sub_80944B8: @ 80944B8 mov r0, sp movs r1, 0x1C movs r2, 0xD - bl PrintCoinsString + bl sub_8072B4C _080944DE: add sp, 0x8 pop {r0} @@ -52087,7 +52087,7 @@ sub_80944E8: @ 80944E8 ldr r0, _08094504 movs r1, 0x3 movs r2, 0xB - bl Print + bl MenuPrint _080944FC: pop {r0} bx r0 @@ -52114,7 +52114,7 @@ sub_8094508: @ 8094508 mov r0, sp movs r1, 0x1C movs r2, 0xB - bl PrintCoinsString + bl sub_8072B4C _0809452E: add sp, 0x8 pop {r0} @@ -52133,7 +52133,7 @@ sub_8094538: @ 8094538 ldr r0, _08094554 movs r1, 0x3 movs r2, 0x9 - bl Print + bl MenuPrint _0809454C: pop {r0} bx r0 @@ -52160,7 +52160,7 @@ sub_8094558: @ 8094558 mov r0, sp movs r1, 0x1C movs r2, 0x9 - bl PrintCoinsString + bl sub_8072B4C _0809457E: add sp, 0x8 pop {r0} @@ -52188,7 +52188,7 @@ _0809459E: lsls r2, 24 lsrs r2, 24 adds r0, r4, 0 - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -52228,7 +52228,7 @@ _080945D8: adds r3, 0xB lsls r3, 24 lsrs r3, 24 - bl DrawDefaultWindow + bl MenuDrawTextWindow lsls r0, r5, 16 movs r1, 0x80 lsls r1, 9 @@ -52283,7 +52283,7 @@ _0809465C: adds r3, 0x9 lsls r3, 24 lsrs r3, 24 - bl DrawDefaultWindow + bl MenuDrawTextWindow lsls r0, r5, 16 movs r1, 0x80 lsls r1, 9 @@ -52358,7 +52358,7 @@ _080946E8: adds r3, 0xB lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect b _08094730 .align 2, 0 _08094710: .4byte 0x00000801 @@ -52375,7 +52375,7 @@ _08094714: adds r3, 0x9 lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect _08094730: pop {r3} mov r8, r3 @@ -52403,14 +52403,14 @@ sub_8094740: @ 8094740 lsls r5, 24 lsrs r5, 24 adds r2, r5, 0 - bl Print + bl MenuPrint ldr r0, _08094774 adds r4, 0xC lsls r4, 24 lsrs r4, 24 adds r1, r4, 0 adds r2, r5, 0 - bl PrintCoinsString + bl sub_8072B4C pop {r4,r5} pop {r0} bx r0 @@ -52440,7 +52440,7 @@ sub_8094778: @ 8094778 mov r0, sp adds r1, r4, 0 adds r2, r5, 0 - bl Print + bl MenuPrint add sp, 0x20 pop {r4,r5} pop {r0} @@ -52463,7 +52463,7 @@ sub_80947B0: @ 80947B0 lsls r5, 24 lsrs r5, 24 adds r2, r5, 0 - bl Print + bl MenuPrint bl GetBadgeCount adds r1, r0, 0 lsls r1, 24 @@ -52476,7 +52476,7 @@ sub_80947B0: @ 80947B0 mov r0, sp adds r1, r4, 0 adds r2, r5, 0 - bl PrintCoinsString + bl sub_8072B4C add sp, 0x10 pop {r4,r5} pop {r0} @@ -52499,7 +52499,7 @@ sub_80947F8: @ 80947F8 lsls r5, 24 lsrs r5, 24 adds r2, r5, 0 - bl Print + bl MenuPrint bl GetPokedexSeenCount adds r1, r0, 0 lsls r1, 16 @@ -52514,7 +52514,7 @@ sub_80947F8: @ 80947F8 mov r0, sp adds r1, r4, 0 adds r2, r5, 0 - bl PrintCoinsString + bl sub_8072B4C add sp, 0x10 pop {r4,r5} pop {r0} @@ -52537,7 +52537,7 @@ sub_8094844: @ 8094844 lsls r5, 24 lsrs r5, 24 adds r2, r5, 0 - bl Print + bl MenuPrint ldr r0, _0809488C ldrh r1, [r0, 0xE] ldrb r2, [r0, 0x10] @@ -52550,7 +52550,7 @@ sub_8094844: @ 8094844 mov r0, sp adds r1, r4, 0 adds r2, r5, 0 - bl PrintCoinsString + bl sub_8072B4C add sp, 0x10 pop {r4,r5} pop {r0} @@ -53293,12 +53293,12 @@ _08094DBE: adds r5, r0, r1 adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08094E0C adds r0, r5, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08094E0C movs r0, 0 @@ -53617,7 +53617,7 @@ sub_8095050: @ 8095050 ldr r1, _0809508C adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData adds r5, r0, 0 cmp r5, 0 bne _080950C8 @@ -53762,7 +53762,7 @@ _08095178: ldr r1, _080951B8 adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0809521C bl sub_806D5A4 @@ -54310,7 +54310,7 @@ _08095610: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0809566C bl sub_806D5A4 @@ -54381,7 +54381,7 @@ _080956A8: adds r7, r0, r1 adds r0, r7, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08095708 bl sub_806D5A4 @@ -54884,7 +54884,7 @@ _08095AF0: adds r0, r1 adds r0, r6, r0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _08095B0C adds r0, r5, 0x1 @@ -54924,7 +54924,7 @@ _08095B36: adds r0, r1 adds r0, r5, r0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _08095B58 lsls r0, r4, 16 @@ -54959,12 +54959,12 @@ _08095B72: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08095B9A adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08095B9A adds r0, r6, 0x1 @@ -55002,17 +55002,17 @@ _08095BBE: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08095BF6 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08095BF6 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08095BF6 adds r0, r6, 0x1 @@ -55058,7 +55058,7 @@ _08095C2E: ldr r1, _08095C5C adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08095C46 adds r0, r5, 0x1 @@ -55321,7 +55321,7 @@ _08095E10: lsls r0, 4 add r0, r8 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _08095E3C asrs r0, r6, 16 @@ -55363,12 +55363,12 @@ _08095E5C: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _08095E80 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _08095E40 _08095E80: @@ -55398,7 +55398,7 @@ sub_8095EA0: @ 8095EA0 movs r1, 0xF movs r2, 0x1B movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile pop {r0} bx r0 thumb_func_end sub_8095EA0 @@ -55437,7 +55437,7 @@ _08095EE0: _08095EF4: ldrb r0, [r4, 0xA] bl sub_8096168 - bl sub_8071FFC + bl MenuDisplayMessageBox ldr r1, _08095F18 movs r2, 0xA ldrsh r0, [r4, r2] @@ -55447,7 +55447,7 @@ _08095EF4: ldr r0, [r0] movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint b _08095F28 .align 2, 0 _08095F18: .4byte gUnknown_083B600C @@ -55535,7 +55535,7 @@ _08095FA2: ldr r0, [r1] movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint b _080960F4 .align 2, 0 _08095FC0: .4byte 0x03001770 @@ -55546,7 +55546,7 @@ _08095FC8: movs r1, 0 movs r2, 0xD movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect bl script_env_2_disable bl script_env_2_enable_and_set_ctx_running adds r0, r5, 0 @@ -55582,7 +55582,7 @@ _08096008: _08096022: movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint movs r0, 0x3 strh r0, [r4, 0x8] b _080960F4 @@ -55664,7 +55664,7 @@ _080960C2: ldr r0, [r0] movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint movs r0, 0x2 strh r0, [r4, 0x8] b _080960F4 @@ -55751,12 +55751,12 @@ sub_8096168: @ 8096168 movs r1, 0 movs r2, 0xD movs r3, 0x9 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _080961A4 movs r0, 0x1 movs r1, 0x1 movs r2, 0x4 - bl PrintStringArray + bl PrintMenuItems str r4, [sp] movs r0, 0xC str r0, [sp, 0x4] @@ -55817,7 +55817,7 @@ _080961F0: lsls r0, 4 adds r0, r7 adds r0, r6, r0 - bl zero_pokemon_boxed_data + bl ZeroPokemonBoxData adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 @@ -56712,8 +56712,8 @@ _080968E8: _080968F0: .4byte gWindowConfig_81E6D00 _080968F4: ldr r0, _08096900 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen b _0809697A .align 2, 0 _08096900: .4byte gWindowConfig_81E6D00 @@ -56851,8 +56851,8 @@ _08096A34: _08096A3C: .4byte gWindowConfig_81E6D00 _08096A40: ldr r0, _08096A4C - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen b _08096AD8 .align 2, 0 _08096A4C: .4byte gWindowConfig_81E6D00 @@ -59324,13 +59324,13 @@ sub_8097E70: @ 8097E70 pop {r0} bx r0 .align 2, 0 -_08097F2C: .4byte gUnknown_08E8DEC0 +_08097F2C: .4byte gPSSMenuHeader_Gfx _08097F30: .4byte 0x06005000 -_08097F34: .4byte gUnknown_08E8E128 +_08097F34: .4byte gPSSMenuHeader_Tilemap _08097F38: .4byte 0x02039760 _08097F3C: .4byte 0x06007800 -_08097F40: .4byte gUnknown_08E8E0E8 -_08097F44: .4byte gUnknown_08E8E108 +_08097F40: .4byte gPSSMenu1_Pal +_08097F44: .4byte gPSSMenu2_Pal _08097F48: .4byte gUnknown_083B6D74 _08097F4C: .4byte gUnknown_083B6D94 _08097F50: .4byte gUnknownPalette_81E6692+0x2 @@ -59799,27 +59799,27 @@ _08098302: movs r1, 0xB movs r2, 0x9 movs r3, 0x11 - bl Reset + bl MenuZeroFillWindowRect ldr r4, _0809834C adds r0, r4, 0 movs r1, 0x1 movs r2, 0x10 - bl Print + bl MenuPrint adds r0, r4, 0 subs r0, 0x6B movs r1, 0x1 movs r2, 0xB - bl Print + bl MenuPrint adds r0, r4, 0 subs r0, 0x46 movs r1, 0 movs r2, 0xD - bl Print + bl MenuPrint subs r4, 0x21 adds r0, r4, 0 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -59972,12 +59972,12 @@ sub_8098400: @ 8098400 .align 2, 0 _0809847C: .4byte REG_BG1CNT _08098480: .4byte 0x00000f01 -_08098484: .4byte gUnknown_08E8E244 +_08098484: .4byte gPSSMenuMisc_Gfx _08098488: .4byte 0x06006800 -_0809848C: .4byte gUnknown_08E8E6E8 +_0809848C: .4byte gPSSMenuMisc_Tilemap _08098490: .4byte 0x020000a8 -_08098494: .4byte gUnknown_08E8E6A8 -_08098498: .4byte gUnknown_08E8E6C8 +_08098494: .4byte gPSSMenu3_Pal +_08098498: .4byte gPSSMenu4_Pal _0809849C: .4byte 0x06007800 _080984A0: .4byte 0x040000d4 _080984A4: .4byte 0x81000400 @@ -60365,7 +60365,7 @@ _0809878C: ldr r1, _080987D8 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080987A0 movs r0, 0x1 @@ -60510,7 +60510,7 @@ sub_8098898: @ 8098898 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r1, _080988C4 lsls r0, r5, 3 adds r0, r1 @@ -60682,7 +60682,7 @@ _08098A18: adds r0, r3, 0 movs r1, 0xB movs r2, 0x11 - bl Print + bl MenuPrint pop {r4-r6} pop {r0} bx r0 @@ -60701,7 +60701,7 @@ sub_8098A38: @ 8098A38 movs r0, 0x17 movs r1, 0xA movs r2, 0 - bl sub_8072974 + bl DisplayYesNoMenu lsls r4, 24 asrs r4, 24 adds r0, r4, 0 @@ -60719,12 +60719,12 @@ sub_8098A5C: @ 8098A5C movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x17 movs r1, 0xA movs r2, 0x1D movs r3, 0xF - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_8098A5C @@ -60917,11 +60917,11 @@ sub_8098BF0: @ 8098BF0 adds r4, r5, r0 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x1 @@ -60974,14 +60974,14 @@ _08098C6A: _08098C70: adds r0, r6, 0 movs r1, 0x41 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0 beq _08098CD8 adds r0, r6, 0 movs r1, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 lsls r2, r5, 1 adds r2, r5 @@ -61083,7 +61083,7 @@ sub_8098D20: @ 8098D20 adds r7, r2, r0 adds r0, r7, 0 movs r1, 0x41 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r0, 16 mov r8, r0 @@ -61116,7 +61116,7 @@ sub_8098D20: @ 8098D20 lsrs r4, 16 adds r0, r7, 0 movs r1, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 movs r0, 0x2 str r0, [sp] @@ -61360,7 +61360,7 @@ _08098F42: adds r4, r1, r2 adds r0, r4 movs r1, 0x41 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0 @@ -61374,7 +61374,7 @@ _08098F42: lsls r0, 5 adds r0, r4 movs r1, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 ldr r2, [sp, 0x10] lsls r3, r2, 16 @@ -61701,12 +61701,12 @@ sub_8099200: @ 8099200 ldr r4, _080992A0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 movs r0, 0x1 str r0, [sp] @@ -61731,14 +61731,14 @@ _08099246: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0 beq _080992AC adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 subs r0, r6, 0x1 lsls r3, r0, 1 @@ -65041,7 +65041,7 @@ sub_809AB8C: @ 809AB8C ldr r1, _0809ABBC adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData b _0809ABEA .align 2, 0 _0809ABB4: .4byte 0x020384e4 @@ -65066,7 +65066,7 @@ _0809ABC0: adds r1, r2 adds r0, r1 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData _0809ABEA: lsls r0, 16 lsrs r0, 16 @@ -66325,7 +66325,7 @@ _0809B568: ldr r2, _0809B588 adds r1, r2 adds r0, r1 - bl zero_pokemon_boxed_data + bl ZeroPokemonBoxData _0809B582: pop {r0} bx r0 @@ -66747,7 +66747,7 @@ _0809B8A6: ldr r1, _0809B908 adds r0, r6, r1 movs r1, 0x50 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r1, r0, 16 movs r2, 0x1 @@ -66867,7 +66867,7 @@ _0809B9CC: ldr r1, _0809BA34 adds r2, r4, r1 movs r1, 0x50 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r3, r0, 16 movs r0, 0x1 @@ -66978,7 +66978,7 @@ _0809BA9A: movs r1, 0x50 ldr r7, _0809BB7C adds r2, r4, r7 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0 @@ -67304,7 +67304,7 @@ _0809BD58: adds r4, r0, r1 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 cmp r0, 0 beq _0809BD90 @@ -67385,7 +67385,7 @@ sub_809BDD8: @ 809BDD8 adds r0, r2, r1 movs r1, 0x8 mov r2, sp - bl pokemon_setattr + bl SetMonData b _0809BE68 .align 2, 0 _0809BE04: .4byte gUnknown_083B6DB4 @@ -67407,7 +67407,7 @@ _0809BE14: adds r0, r1 movs r1, 0x8 mov r2, sp - bl pokemon_setattr + bl SetMonData _0809BE34: movs r0, 0 ldrsb r0, [r4, r0] @@ -67432,7 +67432,7 @@ _0809BE34: adds r0, r1 movs r1, 0x8 mov r2, sp - bl PokemonSetEncryptedField + bl SetMonBoxData _0809BE68: add sp, 0x4 pop {r4} @@ -67506,7 +67506,7 @@ sub_809BEBC: @ 809BEBC ldr r2, _0809BF14 adds r0, r1, r2 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0809BF18 _0809BEFC: @@ -67715,7 +67715,7 @@ sub_809C04C: @ 809C04C bne _0809C120 adds r0, r7, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData ldr r2, _0809C104 adds r1, r6, r2 strh r0, [r1] @@ -67726,7 +67726,7 @@ sub_809C04C: @ 809C04C _0809C08C: adds r0, r7, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData ldr r2, _0809C108 adds r1, r6, r2 strb r0, [r1] @@ -67735,24 +67735,24 @@ _0809C08C: adds r0, r7, 0 movs r1, 0x2 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData adds r0, r4, 0 bl StringGetEnd10 adds r0, r7, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldr r2, _0809C110 adds r1, r6, r2 strb r0, [r1] adds r0, r7, 0 movs r1, 0x8 - bl PokemonGetField + bl GetMonData ldr r2, _0809C114 adds r1, r6, r2 strb r0, [r1] adds r0, r7, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldr r2, _0809C118 adds r1, r6, r2 str r0, [r1] @@ -67768,7 +67768,7 @@ _0809C08C: str r0, [sp] adds r0, r7, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData b _0809C1B2 .align 2, 0 _0809C0FC: .4byte gUnknown_083B6DB4 @@ -67785,7 +67785,7 @@ _0809C120: bne _0809C1D4 adds r0, r7, 0 movs r1, 0x41 - bl PokemonGetEncryptedField + bl GetMonBoxData ldr r2, _0809C1B8 adds r5, r6, r2 strh r0, [r5] @@ -67794,11 +67794,11 @@ _0809C120: beq _0809C1EC adds r0, r7, 0 movs r1, 0x1 - bl PokemonGetEncryptedField + bl GetMonBoxData mov r9, r0 adds r0, r7, 0 movs r1, 0x2D - bl PokemonGetEncryptedField + bl GetMonBoxData ldr r2, _0809C1BC adds r1, r6, r2 strb r0, [r1] @@ -67807,7 +67807,7 @@ _0809C120: adds r0, r7, 0 movs r1, 0x2 adds r2, r4, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r0, r4, 0 bl StringGetEnd10 adds r0, r7, 0 @@ -67817,13 +67817,13 @@ _0809C120: strb r0, [r1] adds r0, r7, 0 movs r1, 0x8 - bl PokemonGetEncryptedField + bl GetMonBoxData ldr r2, _0809C1C8 adds r1, r6, r2 strb r0, [r1] adds r0, r7, 0 movs r1, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r2, r0, 0 ldr r0, _0809C1CC adds r4, r6, r0 @@ -67842,7 +67842,7 @@ _0809C120: str r0, [sp] adds r0, r7, 0 movs r1, 0xC - bl PokemonGetEncryptedField + bl GetMonBoxData _0809C1B2: mov r1, r8 strh r0, [r1] @@ -69531,7 +69531,7 @@ sub_809CE84: @ 809CE84 ldrb r1, [r6] movs r2, 0x1D movs r3, 0xF - bl DrawDefaultWindow + bl MenuDrawTextWindow ldrb r0, [r5] adds r0, 0x1 lsls r0, 24 @@ -69546,7 +69546,7 @@ sub_809CE84: @ 809CE84 lsls r3, 5 adds r4, r3 adds r3, r4, 0 - bl PrintStringArray + bl PrintMenuItems ldrb r1, [r5] adds r1, 0x1 lsls r1, 24 @@ -69641,7 +69641,7 @@ _0809CF8E: ldrb r1, [r1] movs r2, 0x1D movs r3, 0xF - bl Reset + bl MenuZeroFillWindowRect _0809CFB2: cmp r5, 0 blt _0809CFC4 @@ -70082,10 +70082,10 @@ unref_sub_809D26C: @ 809D26C pop {r1} bx r1 .align 2, 0 -_0809D2E0: .4byte gUnknown_083BC5E8 +_0809D2E0: .4byte gOamData_83BC5E8 _0809D2E4: .4byte gMonIconTable -_0809D2E8: .4byte gUnknown_083BC62C -_0809D2EC: .4byte gUnknown_083BC660 +_0809D2E8: .4byte gSpriteAnimTable_83BC62C +_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660 _0809D2F0: .4byte gMonIconPaletteIndices _0809D2F4: .4byte 0x0000dac0 _0809D2F8: .4byte 0x02020004 @@ -70163,9 +70163,9 @@ _0809D35A: pop {r1} bx r1 .align 2, 0 -_0809D38C: .4byte gUnknown_083BC5E8 -_0809D390: .4byte gUnknown_083BC62C -_0809D394: .4byte gUnknown_083BC660 +_0809D38C: .4byte gOamData_83BC5E8 +_0809D390: .4byte gSpriteAnimTable_83BC62C +_0809D394: .4byte gSpriteAffineAnimTable_83BC660 _0809D398: .4byte gMonIconPaletteIndices _0809D39C: .4byte 0x0000dac0 _0809D3A0: .4byte 0x02020004 @@ -70229,10 +70229,10 @@ sub_809D3A4: @ 809D3A4 pop {r1} bx r1 .align 2, 0 -_0809D418: .4byte gUnknown_083BC5E8 +_0809D418: .4byte gOamData_83BC5E8 _0809D41C: .4byte gMonIconTable -_0809D420: .4byte gUnknown_083BC62C -_0809D424: .4byte gUnknown_083BC660 +_0809D420: .4byte gSpriteAnimTable_83BC62C +_0809D424: .4byte gSpriteAffineAnimTable_83BC660 _0809D428: .4byte gMonIconPaletteIndices _0809D42C: .4byte 0x0000dac0 _0809D430: .4byte 0x02020004 @@ -70623,7 +70623,7 @@ _0809D686: ldrb r7, [r5] b _0809D700 .align 2, 0 -_0809D6E4: .4byte gUnknown_083BC668 +_0809D6E4: .4byte gSpriteImageSizes _0809D6E8: .4byte 0x06010000 _0809D6EC: lsls r0, r2, 26 @@ -70746,7 +70746,7 @@ sub_809D710: @ 809D710 pop {r1} bx r1 .align 2, 0 -_0809D7D8: .4byte gUnknown_083BC668 +_0809D7D8: .4byte gSpriteImageSizes _0809D7DC: .4byte 0xffff0000 _0809D7E0: .4byte 0x0000ffff _0809D7E4: .4byte 0x02020004 @@ -70780,7 +70780,7 @@ sub_809D7E8: @ 809D7E8 pop {r0} bx r0 .align 2, 0 -_0809D81C: .4byte gUnknown_083BC668 +_0809D81C: .4byte gSpriteImageSizes _0809D820: .4byte 0xffff0000 thumb_func_end sub_809D7E8 @@ -71212,7 +71212,7 @@ _0809DB94: _0809DB9C: .4byte gWindowConfig_81E6E6C _0809DBA0: ldr r0, _0809DBB0 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin ldr r1, _0809DBB4 ldr r2, _0809DBB8 adds r1, r2 @@ -71222,7 +71222,7 @@ _0809DBB0: .4byte gWindowConfig_81E6E6C _0809DBB4: .4byte 0x03001770 _0809DBB8: .4byte 0x0000043c _0809DBBC: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _0809DBC6 b _0809DE38 @@ -71261,11 +71261,11 @@ _0809DBDC: add r1, r12 b _0809DDEE .align 2, 0 -_0809DC08: .4byte gUnknown_083C133C +_0809DC08: .4byte gSummaryScreenTextTiles _0809DC0C: .4byte 0x0600d000 _0809DC10: .4byte 0x040000d4 _0809DC14: .4byte 0x800000a0 -_0809DC18: .4byte gUnknown_083C147C +_0809DC18: .4byte gSummaryScreenButtonTiles _0809DC1C: .4byte 0x0600d140 _0809DC20: .4byte 0x80000080 _0809DC24: .4byte 0x02018000 @@ -71415,7 +71415,7 @@ _0809DD64: .4byte 0x0000043c _0809DD68: ldr r0, _0809DD84 movs r1, 0x2D - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r1, 0 beq _0809DD8C @@ -71643,7 +71643,7 @@ _0809DF54: bl LZDecompressVram b _0809E030 .align 2, 0 -_0809DF60: .4byte gUnknown_08E72A78 +_0809DF60: .4byte gStatusScreen_Gfx _0809DF64: ldr r0, _0809DF6C ldr r1, _0809DF70 @@ -71665,7 +71665,7 @@ _0809DF88: bl LZDecompressVram b _0809E030 .align 2, 0 -_0809DF94: .4byte gUnknown_08E73D08 +_0809DF94: .4byte gStatusScreen_Tilemap _0809DF98: .4byte 0x06004800 _0809DF9C: ldr r0, _0809DFA4 @@ -71692,7 +71692,7 @@ _0809DFC4: bl LoadCompressedPalette b _0809E030 .align 2, 0 -_0809DFD0: .4byte gUnknown_08E73468 +_0809DFD0: .4byte gStatusScreen_Pal _0809DFD4: ldr r0, _0809DFDC bl LoadCompressedObjectPic @@ -71736,7 +71736,7 @@ _0809E010: movs r0, 0x1 b _0809E03C .align 2, 0 -_0809E028: .4byte gUnknown_08E726E4 +_0809E028: .4byte gMoveTypes_Pal _0809E02C: .4byte 0x02018000 _0809E030: ldr r1, _0809E040 @@ -72094,7 +72094,7 @@ _0809E308: movs r1, 0xE movs r2, 0x9 movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect _0809E314: movs r1, 0x1 negs r1, r1 @@ -72139,7 +72139,7 @@ _0809E360: movs r1, 0xE movs r2, 0x9 movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect _0809E36C: adds r0, r4, 0 movs r1, 0x1 @@ -72458,7 +72458,7 @@ sub_809E5C4: @ 809E5C4 str r0, [sp, 0x8] adds r0, r5, 0 ldr r1, [sp, 0x8] - bl PokemonGetField + bl GetMonData mov r1, sp adds r1, 0x2 str r1, [sp, 0x14] @@ -72468,7 +72468,7 @@ sub_809E5C4: @ 809E5C4 str r2, [sp, 0xC] adds r0, r5, 0 adds r1, r2, 0 - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] mov r3, r8 @@ -72476,7 +72476,7 @@ sub_809E5C4: @ 809E5C4 str r3, [sp, 0x10] adds r0, r5, 0 adds r1, r3, 0 - bl PokemonGetField + bl GetMonData mov r7, sp adds r7, 0x5 str r7, [sp, 0x18] @@ -72486,13 +72486,13 @@ sub_809E5C4: @ 809E5C4 str r0, [sp, 0x1C] adds r0, r5, 0 ldr r1, [sp, 0x1C] - bl PokemonGetField + bl GetMonData add r1, sp, 0x4 mov r10, r1 strb r0, [r1] adds r0, r5, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r4, sp adds r4, 0x6 strb r0, [r4] @@ -72535,23 +72535,23 @@ sub_809E5C4: @ 809E5C4 adds r0, r5, 0 ldr r1, [sp, 0x8] mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 ldr r1, [sp, 0xC] ldr r2, [sp, 0x14] - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 ldr r1, [sp, 0x10] mov r2, r10 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 ldr r1, [sp, 0x1C] ldr r2, [sp, 0x18] - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0x15 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData add sp, 0x20 pop {r3-r5} mov r8, r3 @@ -72590,7 +72590,7 @@ sub_809E6D8: @ 809E6D8 str r0, [sp, 0x8] adds r0, r5, 0 ldr r1, [sp, 0x8] - bl PokemonGetEncryptedField + bl GetMonBoxData mov r1, sp adds r1, 0x2 str r1, [sp, 0x14] @@ -72600,7 +72600,7 @@ sub_809E6D8: @ 809E6D8 str r2, [sp, 0xC] adds r0, r5, 0 adds r1, r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData mov r1, sp strh r0, [r1] mov r3, r8 @@ -72608,7 +72608,7 @@ sub_809E6D8: @ 809E6D8 str r3, [sp, 0x10] adds r0, r5, 0 adds r1, r3, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData mov r7, sp adds r7, 0x5 str r7, [sp, 0x18] @@ -72618,13 +72618,13 @@ sub_809E6D8: @ 809E6D8 str r0, [sp, 0x1C] adds r0, r5, 0 ldr r1, [sp, 0x1C] - bl PokemonGetEncryptedField + bl GetMonBoxData add r1, sp, 0x4 mov r10, r1 strb r0, [r1] adds r0, r5, 0 movs r1, 0x15 - bl PokemonGetEncryptedField + bl GetMonBoxData mov r4, sp adds r4, 0x6 strb r0, [r4] @@ -72667,23 +72667,23 @@ sub_809E6D8: @ 809E6D8 adds r0, r5, 0 ldr r1, [sp, 0x8] mov r2, sp - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r5, 0 ldr r1, [sp, 0xC] ldr r2, [sp, 0x14] - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r5, 0 ldr r1, [sp, 0x10] mov r2, r10 - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r5, 0 ldr r1, [sp, 0x1C] ldr r2, [sp, 0x18] - bl PokemonSetEncryptedField + bl SetMonBoxData adds r0, r5, 0 movs r1, 0x15 adds r2, r4, 0 - bl PokemonSetEncryptedField + bl SetMonBoxData add sp, 0x20 pop {r3-r5} mov r8, r3 @@ -73079,12 +73079,12 @@ _0809EAEE: movs r1, 0xC movs r2, 0x1C movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect movs r0, 0xB movs r1, 0xF movs r2, 0x1C movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect adds r1, r6, 0 adds r1, 0x7F movs r0, 0x6 @@ -73877,7 +73877,7 @@ sub_809F134: @ 809F134 ldr r4, _0809F1AC adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0809F1A6 lsls r0, r5, 24 @@ -74099,7 +74099,7 @@ _0809F2F0: muls r0, r1 adds r0, r7, r0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0809F2C6 ldrb r0, [r4, 0x9] @@ -74118,7 +74118,7 @@ sub_809F310: @ 809F310 push {r4,lr} adds r4, r0, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0809F33C ldr r0, _0809F338 @@ -74127,7 +74127,7 @@ sub_809F310: @ 809F310 bne _0809F332 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0809F33C _0809F332: @@ -74400,7 +74400,7 @@ _0809F51C: strb r0, [r5] adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r1, 0 beq _0809F560 @@ -74612,12 +74612,12 @@ sub_809F6B4: @ 809F6B4 _0809F6D2: adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r0, r5, 3 ldr r1, _0809F70C @@ -74643,16 +74643,16 @@ _0809F714: .4byte gUnknown_081FAF4C _0809F718: adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r5, 0 adds r2, r6, 0 @@ -74703,7 +74703,7 @@ _0809F784: _0809F788: movs r1, 0x10 _0809F78A: - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 pop {r1} @@ -74739,7 +74739,7 @@ _0809F7BC: _0809F7C0: movs r1, 0x14 _0809F7C2: - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 pop {r1} @@ -74890,7 +74890,7 @@ _0809F8E8: movs r1, 0xE movs r2, 0x9 movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect _0809F8F4: ldr r1, _0809F910 lsls r0, r5, 2 @@ -74943,7 +74943,7 @@ _0809F954: movs r1, 0xE movs r2, 0x9 movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect _0809F960: ldr r1, _0809F98C lsls r0, r5, 2 @@ -75026,11 +75026,11 @@ sub_809F9D0: @ 809F9D0 movs r1, 0xF movs r2, 0x1C movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0809FA28 movs r1, 0xB movs r2, 0xF - bl Print + bl MenuPrint subs r6, 0x8 adds r4, r6 ldr r0, _0809FA2C @@ -75139,24 +75139,24 @@ sub_809FAC8: @ 809FAC8 sub sp, 0xC adds r5, r0, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0809FB28 movs r0, 0x1 movs r1, 0x2 movs r2, 0x4 movs r3, 0x3 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x3 movs r1, 0x10 movs r2, 0x9 movs r3, 0x11 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0xC movs r2, 0xB movs r3, 0xF - bl Reset + bl MenuZeroFillWindowRect ldr r4, _0809FB20 adds r0, r5, 0 adds r1, r4, 0 @@ -75181,7 +75181,7 @@ _0809FB28: lsrs r6, r0, 24 adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl sub_80406D8 @@ -75231,7 +75231,7 @@ _0809FB96: movs r1, 0x2 movs r2, 0x4 movs r3, 0x3 - bl Reset + bl MenuZeroFillWindowRect _0809FBA2: ldr r1, _0809FBE0 adds r0, r1, 0 @@ -75252,7 +75252,7 @@ _0809FBA2: ldr r0, _0809FBE0 movs r1, 0x1 movs r2, 0xC - bl Print + bl MenuPrint adds r0, r5, 0 bl sub_80A0958 _0809FBD6: @@ -75281,7 +75281,7 @@ _0809FBE8: movs r1, 0x4 movs r2, 0x1D movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect pop {r4} pop {r0} bx r0 @@ -75293,7 +75293,7 @@ sub_809FC0C: @ 809FC0C ldr r0, _0809FC30 movs r1, 0xB movs r2, 0x6 - bl Print + bl MenuPrint movs r0, 0 movs r1, 0x16 movs r2, 0x4 @@ -75327,10 +75327,10 @@ _0809FC3C: movs r1, 0x9 movs r2, 0x1C movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect adds r0, r6, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0809FD1C ldr r5, _0809FCD0 @@ -75356,7 +75356,7 @@ _0809FC3C: ldr r0, _0809FCD0 movs r1, 0xB movs r2, 0x4 - bl Print + bl MenuPrint movs r0, 0x1 str r0, [sp] adds r0, r4, 0 @@ -75371,7 +75371,7 @@ _0809FC3C: bl sub_80A198C adds r0, r6, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 adds r1, r0, 0 @@ -75398,7 +75398,7 @@ _0809FCEC: _0809FCF2: movs r1, 0xB movs r2, 0x9 - bl Print + bl MenuPrint b _0809FD0A .align 2, 0 _0809FCFC: .4byte gUnknown_0840F8BB @@ -75406,7 +75406,7 @@ _0809FD00: ldr r0, _0809FD18 movs r1, 0xB movs r2, 0x9 - bl Print + bl MenuPrint _0809FD0A: adds r0, r6, 0 movs r1, 0xB @@ -75420,10 +75420,10 @@ _0809FD1C: adds r0, r6, 0 movs r1, 0x7 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData adds r0, r6, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -75439,7 +75439,7 @@ _0809FD1C: adds r5, r0, 0 adds r0, r6, 0 movs r1, 0x31 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0809FD70 adds r0, r5, 0 @@ -75470,10 +75470,10 @@ _0809FD74: ldr r0, _0809FE58 movs r1, 0xB movs r2, 0x4 - bl Print + bl MenuPrint adds r0, r6, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData ldr r1, _0809FE5C ands r1, r0 movs r0, 0xC1 @@ -75489,7 +75489,7 @@ _0809FD74: bl sub_80A1F98 adds r0, r6, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 ldr r2, _0809FE60 @@ -75514,13 +75514,13 @@ _0809FD74: _0809FDF8: adds r0, r6, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r6, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -75543,7 +75543,7 @@ _0809FDF8: ldr r0, [r4] movs r1, 0xB movs r2, 0xB - bl Print + bl MenuPrint adds r0, r6, 0 movs r1, 0xB movs r2, 0xE @@ -75581,22 +75581,22 @@ sub_809FE80: @ 809FE80 movs r1, 0x4 movs r2, 0x12 movs r3, 0x5 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x19 movs r1, 0x4 movs r2, 0x1E movs r3, 0x5 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0xB movs r1, 0x9 movs r2, 0x1C movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect movs r0, 0xB movs r1, 0xE movs r2, 0x1C movs r3, 0x11 - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_809FE80 @@ -75618,7 +75618,7 @@ sub_809FEB8: @ 809FEB8 ldr r0, _0809FF48 movs r1, 0x15 movs r2, 0x10 - bl Print + bl MenuPrint ldr r0, _0809FF4C movs r4, 0x2A str r4, [sp] @@ -75689,7 +75689,7 @@ _0809FF6A: bls _0809FF6A adds r0, r5, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0xB @@ -75700,21 +75700,21 @@ _0809FF6A: ldr r4, _080A008C adds r0, r5, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 bl ConvertIntToDecimalString adds r0, r4, 0 movs r1, 0x1D movs r2, 0xE - bl PrintCoinsString + bl sub_8072B4C adds r0, r5, 0 movs r1, 0x17 movs r2, 0x10 bl sub_80A0C80 adds r0, r5, 0 movs r1, 0x3B - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 bl ConvertIntToDecimalString @@ -75722,10 +75722,10 @@ _0809FF6A: movs r1, 0x10 movs r2, 0x9 movs r3, 0x32 - bl Free + bl sub_8072BD8 adds r0, r5, 0 movs r1, 0x3C - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 bl ConvertIntToDecimalString @@ -75733,10 +75733,10 @@ _0809FF6A: movs r1, 0x10 movs r2, 0xB movs r3, 0x32 - bl Free + bl sub_8072BD8 adds r0, r5, 0 movs r1, 0x3E - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 bl ConvertIntToDecimalString @@ -75744,10 +75744,10 @@ _0809FF6A: movs r1, 0x1B movs r2, 0x7 movs r3, 0x12 - bl Free + bl sub_8072BD8 adds r0, r5, 0 movs r1, 0x3F - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 bl ConvertIntToDecimalString @@ -75755,10 +75755,10 @@ _0809FF6A: movs r1, 0x1B movs r2, 0x9 movs r3, 0x12 - bl Free + bl sub_8072BD8 adds r0, r5, 0 movs r1, 0x3D - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 bl ConvertIntToDecimalString @@ -75766,10 +75766,10 @@ _0809FF6A: movs r1, 0x1B movs r2, 0xB movs r3, 0x12 - bl Free + bl sub_8072BD8 adds r0, r5, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 movs r2, 0x18 @@ -75781,7 +75781,7 @@ _0809FF6A: adds r4, 0x1 adds r0, r5, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r4, 0 movs r2, 0x30 @@ -75818,32 +75818,32 @@ sub_80A00A4: @ 80A00A4 movs r1, 0x4 movs r2, 0x13 movs r3, 0x5 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x10 movs r1, 0x7 movs r2, 0x15 movs r3, 0x8 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x11 movs r1, 0x9 movs r2, 0x15 movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x1B movs r1, 0x7 movs r2, 0x1D movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x16 movs r1, 0xE movs r2, 0x1C movs r3, 0xF - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x17 movs r1, 0x10 movs r2, 0x1C movs r3, 0x11 - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_80A00A4 @@ -75937,7 +75937,7 @@ _080A0168: ldr r0, _080A01B4 movs r1, 0x1A adds r2, r4, 0 - bl Print + bl MenuPrint b _080A0276 .align 2, 0 _080A01B0: .4byte gUnknown_0840E680 @@ -76000,7 +76000,7 @@ _080A020C: bl GetStringCenterAlignXOffset mov r0, r8 movs r1, 0x15 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -76028,7 +76028,7 @@ _080A020C: ldr r0, _080A0298 movs r1, 0x19 adds r2, r5, 0 - bl Print + bl MenuPrint _080A0276: adds r0, r7, 0x1 lsls r0, 24 @@ -76156,7 +76156,7 @@ _080A033E: ldr r0, _080A0388 movs r1, 0x19 movs r2, 0xC - bl Print + bl MenuPrint _080A037E: pop {r4,r5} pop {r0} @@ -76181,7 +76181,7 @@ _080A0394: lsrs r3, 24 movs r0, 0xF movs r2, 0x1C - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -76261,7 +76261,7 @@ sub_80A0428: @ 80A0428 movs r1, 0xF movs r2, 0x1C movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080A0454 ldrb r0, [r0, 0xB] cmp r0, 0x2 @@ -76298,7 +76298,7 @@ sub_80A046C: @ 80A046C ldr r0, [r1] movs r1, 0xB movs r2, 0xF - bl Print + bl MenuPrint _080A048A: pop {r0} bx r0 @@ -76325,7 +76325,7 @@ sub_80A0498: @ 80A0498 ldr r0, [r0] movs r1, 0xB movs r2, 0xF - bl Print + bl MenuPrint _080A04BC: pop {r0} bx r0 @@ -76360,7 +76360,7 @@ sub_80A04CC: @ 80A04CC ldr r0, _080A050C movs r1, 0x7 movs r2, 0xF - bl Print + bl MenuPrint b _080A052A .align 2, 0 _080A0504: .4byte 0x0000ffff @@ -76376,7 +76376,7 @@ _080A0514: ldr r0, _080A0550 movs r1, 0x7 movs r2, 0xF - bl Print + bl MenuPrint _080A052A: ldr r0, _080A0554 adds r1, r5, r4 @@ -76393,7 +76393,7 @@ _080A052A: ldr r0, _080A0550 movs r1, 0x7 movs r2, 0x11 - bl Print + bl MenuPrint b _080A0572 .align 2, 0 _080A0550: .4byte 0x020231cc @@ -76408,7 +76408,7 @@ _080A055C: ldr r0, _080A0578 movs r1, 0x7 movs r2, 0x11 - bl Print + bl MenuPrint _080A0572: pop {r4,r5} pop {r0} @@ -76581,7 +76581,7 @@ _080A06B0: _080A06C2: adds r0, r6, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData ldr r1, _080A06F0 ands r1, r0 cmp r5, r1 @@ -76590,7 +76590,7 @@ _080A06C2: adds r0, r6, 0 movs r1, 0x7 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData ldr r0, _080A06F4 adds r1, r4, 0 bl StringCompareWithoutExtCtrlCodes @@ -76626,7 +76626,7 @@ sub_80A0708: @ 80A0708 lsrs r6, r2, 24 mov r8, r6 movs r1, 0x25 - bl PokemonGetField + bl GetMonData lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -76641,7 +76641,7 @@ _080A0738: .4byte gUnknown_0842D197 _080A073C: adds r0, r4, 0 movs r1, 0x23 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r7, r0, 24 cmp r7, 0xFF @@ -76667,7 +76667,7 @@ _080A0768: _080A076E: adds r1, r5, 0 adds r2, r6, 0 - bl Print + bl MenuPrint b _080A0786 .align 2, 0 _080A0778: .4byte gUnknown_0842D1C3 @@ -76675,7 +76675,7 @@ _080A077C: ldr r0, _080A0794 mov r1, r9 mov r2, r8 - bl Print + bl MenuPrint _080A0786: pop {r3,r4} mov r8, r3 @@ -76732,12 +76732,12 @@ _080A07DA: bne _080A0898 adds r0, r7, 0 movs r1, 0x23 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r6, r0, 24 adds r0, r7, 0 movs r1, 0x24 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080A0850 adds r0, r5, 0 @@ -76771,7 +76771,7 @@ _080A0850: bhi _080A08E8 adds r0, r7, 0 movs r1, 0x24 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -76799,7 +76799,7 @@ _080A0894: .4byte gUnknown_0842D0F3 _080A0898: adds r0, r7, 0 movs r1, 0x25 - bl PokemonGetField + bl GetMonData lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -76809,14 +76809,14 @@ _080A0898: bhi _080A08E8 adds r0, r7, 0 movs r1, 0x23 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0xFF bne _080A08E4 adds r0, r7, 0 movs r1, 0x24 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -76847,7 +76847,7 @@ _080A08F8: .4byte gUnknown_0842D103 _080A08FC: adds r0, r7, 0 movs r1, 0x24 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -76872,7 +76872,7 @@ _080A0934: ldr r0, _080A0954 mov r1, r9 mov r2, r8 - bl Print + bl MenuPrint pop {r3,r4} mov r8, r3 mov r9, r4 @@ -76894,7 +76894,7 @@ sub_80A0958: @ 80A0958 push {r4-r6} mov r8, r0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -76933,15 +76933,15 @@ sub_80A0958: @ 80A0958 adds r0, r5, 0 movs r1, 0 movs r2, 0xE - bl Print + bl MenuPrint movs r0, 0x3 movs r1, 0x10 movs r2, 0x9 movs r3, 0x11 - bl Reset + bl MenuZeroFillWindowRect mov r0, r8 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -76966,7 +76966,7 @@ sub_80A0958: @ 80A0958 adds r0, r5, 0 movs r1, 0x3 movs r2, 0x10 - bl Print + bl MenuPrint mov r0, r8 movs r1, 0x7 movs r2, 0x10 @@ -76992,7 +76992,7 @@ sub_80A0A2C: @ 80A0A2C lsls r2, 24 lsrs r4, r2, 24 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0x20 @@ -77013,7 +77013,7 @@ sub_80A0A2C: @ 80A0A2C adds r0, r5, 0 adds r1, r4, 0 adds r2, r5, 0 - bl Reset + bl MenuZeroFillWindowRect b _080A0A84 _080A0A6E: ldr r0, _080A0A74 @@ -77041,103 +77041,103 @@ sub_80A0A90: @ 80A0A90 push {r4,r5,lr} adds r5, r0, 0 movs r1, 0x32 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x33 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x34 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x35 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x36 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x43 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x44 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x45 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x46 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x47 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x48 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x49 - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x4A - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x4B - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x4C - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x4D - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x4E - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 24 lsrs r4, 24 @@ -77188,7 +77188,7 @@ _080A0BD8: ldr r0, _080A0BF0 movs r1, 0x15 movs r2, 0x4 - bl Print + bl MenuPrint pop {r4,r5} pop {r0} bx r0 @@ -77256,7 +77256,7 @@ _080A0C68: ldr r0, _080A0C7C adds r1, r7, 0 adds r2, r6, 0 - bl Print + bl MenuPrint pop {r4-r7} pop {r0} bx r0 @@ -77286,16 +77286,16 @@ sub_80A0C80: @ 80A0C80 movs r7, 0 adds r0, r4, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData mov r8, r0 adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 cmp r5, 0x63 @@ -77348,7 +77348,7 @@ _080A0D14: lsrs r1, 24 adds r0, r4, 0 ldr r2, [sp] - bl PrintCoinsString + bl sub_8072B4C ldr r0, _080A0D58 mov r9, r0 movs r2, 0 @@ -77467,7 +77467,7 @@ sub_80A0DD0: @ 80A0DD0 ldr r0, _080A0E3C movs r1, 0 movs r2, 0 - bl Print + bl MenuPrint adds r4, 0x7F ldrb r0, [r4] cmp r0, 0 @@ -77490,7 +77490,7 @@ _080A0E48: movs r1, 0 movs r2, 0x18 movs r3, 0x1 - bl Reset + bl MenuZeroFillWindowRect _080A0E54: ldr r2, _080A0E98 adds r0, r2, 0 @@ -77518,7 +77518,7 @@ _080A0E54: ldr r0, _080A0E98 movs r1, 0x19 movs r2, 0 - bl Print + bl MenuPrint pop {r4,r5} pop {r0} bx r0 @@ -78066,7 +78066,7 @@ sub_80A12D0: @ 80A12D0 movs r1, 0x12 movs r2, 0x5 movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x1D bl sub_80A18E4 ldr r0, _080A1310 @@ -78208,7 +78208,7 @@ _080A13F4: movs r1, 0x13 movs r2, 0x9 movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect _080A1400: movs r1, 0 ldrsh r0, [r7, r1] @@ -78227,7 +78227,7 @@ _080A1410: movs r1, 0xE movs r2, 0x9 movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect adds r4, 0x10 adds r0, r4, 0 bl sub_80A0958 @@ -78291,7 +78291,7 @@ sub_80A1488: @ 80A1488 movs r1, 0xE movs r2, 0x9 movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect _080A14A6: ldr r5, _080A14E0 adds r0, r5, 0 @@ -78438,7 +78438,7 @@ _080A15C0: movs r1, 0x13 movs r2, 0x9 movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect _080A15CC: movs r1, 0 ldrsh r0, [r7, r1] @@ -78457,7 +78457,7 @@ _080A15DC: movs r1, 0xE movs r2, 0x9 movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect adds r4, 0x10 adds r0, r4, 0 bl sub_80A0958 @@ -78521,7 +78521,7 @@ sub_80A1654: @ 80A1654 movs r1, 0xE movs r2, 0x9 movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect _080A1672: ldr r5, _080A16AC adds r0, r5, 0 @@ -78739,7 +78739,7 @@ sub_80A1808: @ 80A1808 mov r7, r8 push {r7} movs r1, 0x41 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 @@ -78810,7 +78810,7 @@ sub_80A1888: @ 80A1888 str r0, [r4, 0x1C] ldr r0, _080A18C0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080A18B0 ldrh r0, [r4, 0x2E] @@ -79391,7 +79391,7 @@ sub_80A1CD8: @ 80A1CD8 push {r4,lr} adds r4, r0, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080A1CEA movs r0, 0x7 @@ -79399,7 +79399,7 @@ sub_80A1CD8: @ 80A1CD8 _080A1CEA: adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData bl pokemon_ailments_get_primary lsls r0, 24 lsrs r0, 24 @@ -79489,7 +79489,7 @@ sub_80A1D84: @ 80A1D84 beq _080A1DBA adds r0, r5, 0 movs r1, 0x8 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -79506,7 +79506,7 @@ _080A1DBA: bx r0 .align 2, 0 _080A1DC0: .4byte 0x00007533 -_080A1DC4: .4byte gUnknown_083C131C +_080A1DC4: .4byte gSummaryScreenMonMarkingsPalette _080A1DC8: .4byte 0x020384f4 thumb_func_end sub_80A1D84 @@ -79530,7 +79530,7 @@ _080A1DE4: .4byte 0x020384f4 sub_80A1DE8: @ 80A1DE8 push {r4,lr} movs r1, 0x26 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl ball_number_to_ball_processing_index @@ -79739,7 +79739,7 @@ sub_80A1F48: @ 80A1F48 adds r1, r5, 0 adds r2, r6, 0 ldr r3, [sp] - bl Free + bl sub_8072BD8 add sp, 0x4 pop {r3,r4} mov r8, r3 @@ -79825,7 +79825,7 @@ sub_80A1FF8: @ 80A1FF8 mov r0, r8 adds r1, r5, 0 adds r2, r6, 0 - bl Print + bl MenuPrint pop {r3,r4} mov r8, r3 mov r9, r4 @@ -81369,7 +81369,7 @@ sub_80A2B94: @ 80A2B94 push {r4,lr} adds r4, r0, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl itemid_is_mail @@ -81378,7 +81378,7 @@ sub_80A2B94: @ 80A2B94 beq _080A2BBC adds r0, r4, 0 movs r1, 0x40 - bl PokemonGetField + bl GetMonData cmp r0, 0xFF beq _080A2BBC movs r0, 0x1 @@ -81511,13 +81511,13 @@ _080A2C88: bls _080A2C88 adds r0, r7, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r7, 0 movs r1, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 adds r0, r4, 0 bl sub_80A2D44 @@ -81543,11 +81543,11 @@ _080A2C88: adds r0, r7, 0 movs r1, 0x40 mov r2, r8 - bl pokemon_setattr + bl SetMonData adds r0, r7, 0 movs r1, 0xC mov r2, sp - bl pokemon_setattr + bl SetMonData ldrb r0, [r4] b _080A2D32 .align 2, 0 @@ -81654,7 +81654,7 @@ sub_80A2D88: @ 80A2D88 adds r0, r6, 0 movs r1, 0x40 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r0, sp strb r5, [r0] mov r1, sp @@ -81663,7 +81663,7 @@ sub_80A2D88: @ 80A2D88 adds r0, r6, 0 movs r1, 0xC mov r2, sp - bl pokemon_setattr + bl SetMonData ldrb r0, [r4] b _080A2DEA .align 2, 0 @@ -81695,7 +81695,7 @@ sub_80A2DF8: @ 80A2DF8 beq _080A2E46 adds r0, r4, 0 movs r1, 0x40 - bl PokemonGetField + bl GetMonData add r2, sp, 0x4 strb r0, [r2] ldr r3, _080A2E50 @@ -81716,11 +81716,11 @@ sub_80A2DF8: @ 80A2DF8 strb r3, [r0, 0x1] adds r0, r4, 0 movs r1, 0x40 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0xC mov r2, sp - bl pokemon_setattr + bl SetMonData _080A2E46: add sp, 0x8 pop {r4} @@ -81786,7 +81786,7 @@ _080A2E9E: adds r0, r5, 0 movs r1, 0x40 str r2, [sp, 0x8] - bl PokemonGetField + bl GetMonData lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -81800,7 +81800,7 @@ _080A2E9E: stm r4!, {r0,r2,r3} adds r0, r5, 0 movs r1, 0x40 - bl PokemonGetField + bl GetMonData lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -81811,11 +81811,11 @@ _080A2E9E: adds r0, r5, 0 movs r1, 0x40 mov r2, r9 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0xC mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r7, 0 b _080A2F1C .align 2, 0 @@ -82047,12 +82047,12 @@ HideMapNamePopUpWindow: @ 80A30A4 lsls r0, 24 cmp r0, 0 beq _080A30D0 - bl GetMapNamePopUpWindowId + bl MenuLoadTextWindowGraphics movs r0, 0 movs r1, 0 movs r2, 0xD movs r3, 0x3 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080A30D8 movs r0, 0 strh r0, [r1] @@ -82073,7 +82073,7 @@ sub_80A30E0: @ 80A30E0 push {lr} sub sp, 0x14 movs r0, 0 - bl sub_8071E00 + bl MenuLoadTextWindowGraphics_OverrideFrameType ldr r0, _080A3114 ldrb r1, [r0, 0x14] mov r0, sp @@ -82083,12 +82083,12 @@ sub_80A30E0: @ 80A30E0 movs r1, 0 movs r2, 0xD movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r0, sp movs r1, 0x1 movs r2, 0x1 movs r3, 0x60 - bl Free + bl sub_8072BD8 add sp, 0x14 pop {r0} bx r0 @@ -82247,7 +82247,7 @@ _080A3270: _080A3278: .4byte gWindowConfig_81E6DFC _080A327C: ldr r0, _080A328C - bl sub_8071C58 + bl MultistepInitMenuWindowBegin ldr r1, _080A3290 ldr r0, _080A3294 adds r1, r0 @@ -82257,7 +82257,7 @@ _080A328C: .4byte gWindowConfig_81E6DFC _080A3290: .4byte 0x03001770 _080A3294: .4byte 0x0000043c _080A3298: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _080A32A2 b _080A34A8 @@ -82572,7 +82572,7 @@ _080A355C: bl LZDecompressVram b _080A35EA .align 2, 0 -_080A3568: .4byte gUnknown_08E76728 +_080A3568: .4byte gBagScreen_Gfx _080A356C: .4byte 0x06004000 _080A3570: ldr r0, _080A3580 @@ -82602,7 +82602,7 @@ _080A3598: .align 2, 0 _080A35A4: .4byte gSaveBlock2 _080A35A8: .4byte 0x03000701 -_080A35AC: .4byte gUnknown_08E76F94 +_080A35AC: .4byte gBagScreenMale_Pal _080A35B0: ldr r0, _080A35BC movs r1, 0 @@ -82610,7 +82610,7 @@ _080A35B0: bl LoadCompressedPalette b _080A35EA .align 2, 0 -_080A35BC: .4byte gUnknown_08E76FCC +_080A35BC: .4byte gBagScreenFemale_Pal _080A35C0: ldr r0, _080A35D8 ldrb r0, [r0, 0x8] @@ -84221,7 +84221,7 @@ sub_80A418C: @ 80A418C mov r0, r8 adds r1, r5, 0 adds r2, r6, 0 - bl Print + bl MenuPrint pop {r3,r4} mov r8, r3 mov r9, r4 @@ -84390,7 +84390,7 @@ sub_80A42B0: @ 80A42B0 adds r0, r4, 0 movs r1, 0xE adds r2, r5, 0 - bl Print + bl MenuPrint lsls r0, r5, 6 ldr r1, _080A435C adds r0, r1 @@ -84420,7 +84420,7 @@ _080A4332: movs r0, 0xE movs r2, 0x1D movs r3, 0xD - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile b _080A4370 .align 2, 0 _080A4344: .4byte 0x02038540 @@ -84437,7 +84437,7 @@ _080A4360: movs r0, 0xE movs r2, 0x1D movs r3, 0x11 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile _080A4370: movs r0, 0x1 b _080A4376 @@ -84522,7 +84522,7 @@ _080A43A4: ldr r0, _080A4448 movs r1, 0xE adds r2, r5, 0 - bl Print + bl MenuPrint adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 @@ -84612,7 +84612,7 @@ _080A4470: ldr r0, _080A44F0 movs r1, 0xE adds r2, r5, 0 - bl Print + bl MenuPrint ldr r0, _080A44F8 ldrb r0, [r0] cmp r0, 0 @@ -84850,7 +84850,7 @@ _080A46AE: ldr r0, _080A46F8 movs r1, 0xE ldr r2, [sp, 0x10] - bl Print + bl MenuPrint mov r0, r8 adds r0, 0x1 lsls r0, 24 @@ -84969,7 +84969,7 @@ _080A4730: ldr r0, _080A47E4 movs r1, 0xE adds r2, r5, 0 - bl Print + bl MenuPrint adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 @@ -85218,7 +85218,7 @@ _080A4988: movs r0, 0 movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect _080A49A4: add sp, 0x4 pop {r4,r5} @@ -85252,7 +85252,7 @@ sub_80A49AC: @ 80A49AC movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080A49F0 movs r1, 0x4 movs r2, 0x68 @@ -85286,7 +85286,7 @@ _080A4A18: movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect _080A4A28: lsls r1, r5, 16 asrs r1, 16 @@ -85366,7 +85366,7 @@ sub_80A4A98: @ 80A4A98 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect _080A4AB0: mov r0, sp adds r1, r5, 0 @@ -85544,7 +85544,7 @@ _080A4C00: movs r1, 0x7 movs r2, 0xD movs r3, 0xC - bl DrawDefaultWindow + bl MenuDrawTextWindow str r4, [sp] adds r0, r5, 0 movs r1, 0x1 @@ -85607,7 +85607,7 @@ _080A4C76: lsls r2, 1 adds r2, 0x8 adds r0, r3, 0 - bl Print + bl MenuPrint adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 @@ -85659,7 +85659,7 @@ _080A4CF8: movs r1, 0x5 movs r2, 0xD movs r3, 0xC - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x6 str r0, [sp] adds r0, r5, 0 @@ -85702,7 +85702,7 @@ _080A4D1E: lsrs r2, 24 adds r0, r5, 0 adds r1, r4, 0 - bl Print + bl MenuPrint adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 @@ -85753,7 +85753,7 @@ sub_80A4DA4: @ 80A4DA4 movs r1, 0x5 movs r2, 0xD movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect bl sub_80A7590 add sp, 0x4 pop {r4} @@ -85807,7 +85807,7 @@ sub_80A4DD8: @ 80A4DD8 lsls r3, 24 lsrs r3, 24 adds r0, r4, 0 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _080A4E88 adds r4, 0x1 lsls r4, 24 @@ -87056,7 +87056,7 @@ _080A582C: movs r0, 0x6 adds r1, r5, 0 movs r2, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0 adds r1, r5, 0 bl sub_80A7834 @@ -87558,12 +87558,12 @@ sub_80A5C48: @ 80A5C48 movs r1, 0x7 movs r2, 0xD movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080A5C94 lsls r0, r4, 2 adds r0, r4 @@ -87591,7 +87591,7 @@ sub_80A5C9C: @ 80A5C9C movs r1, 0xD movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl DestroyTask bl sub_8064E2C @@ -87709,7 +87709,7 @@ sub_80A5D78: @ 80A5D78 movs r0, 0x7 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu add sp, 0x4 pop {r0} bx r0 @@ -87766,7 +87766,7 @@ sub_80A5DF8: @ 80A5DF8 movs r1, 0x6 movs r2, 0xB movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x4 bl sub_80A7528 pop {r0} @@ -88051,7 +88051,7 @@ sub_80A6024: @ 80A6024 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080A6074 lsls r0, r4, 2 adds r0, r4 @@ -88538,7 +88538,7 @@ sub_80A6444: @ 80A6444 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080A6484 lsls r0, r4, 2 adds r0, r4 @@ -88580,7 +88580,7 @@ sub_80A648C: @ 80A648C movs r1, 0xA movs r2, 0xD movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x1 strh r0, [r4, 0xA] strh r0, [r4, 0xC] @@ -88711,7 +88711,7 @@ sub_80A65AC: @ 80A65AC movs r1, 0x6 movs r2, 0xD movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080A6600 movs r1, 0x6 str r1, [sp] @@ -88758,7 +88758,7 @@ sub_80A6618: @ 80A6618 movs r1, 0x6 movs r2, 0xD movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080A664C movs r1, 0x6 str r1, [sp] @@ -88810,7 +88810,7 @@ Task_BuyHowManyDialogueHandleInput: @ 80A6670 movs r1, 0xB movs r2, 0xC movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080A66AC ldrh r0, [r0] ldr r2, _080A66B0 @@ -88837,7 +88837,7 @@ _080A66B4: movs r1, 0xA movs r2, 0xD movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080A6728 movs r1, 0x3 str r1, [sp] @@ -88946,12 +88946,12 @@ BuyMenuPrintItemQuantityAndPrice: @ 80A6798 movs r1, 0x4 movs r2, 0xD movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080A67EC lsls r0, r4, 2 adds r0, r4 @@ -89345,7 +89345,7 @@ sub_80A6A84: @ 80A6A84 movs r1, 0x6 movs r2, 0xB movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x7 bl sub_80A7528 adds r0, r5, 0 @@ -89747,7 +89747,7 @@ sub_80A6DF0: @ 80A6DF0 movs r0, 0x7 movs r2, 0xD movs r3, 0xC - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r2, 0xA subs r2, r6 lsls r2, 24 @@ -89772,7 +89772,7 @@ sub_80A6DF0: @ 80A6DF0 ldr r0, [r0] movs r1, 0x8 movs r2, 0xA - bl Print + bl MenuPrint b _080A6E80 .align 2, 0 _080A6E4C: .4byte 0x02038564 @@ -89788,7 +89788,7 @@ _080A6E58: ldr r0, [r0] movs r1, 0x8 movs r2, 0x8 - bl Print + bl MenuPrint ldr r0, [r4] ldrb r0, [r0, 0x1] lsls r0, 3 @@ -89796,7 +89796,7 @@ _080A6E58: ldr r0, [r0] movs r1, 0x8 movs r2, 0xA - bl Print + bl MenuPrint _080A6E80: movs r2, 0xA subs r2, r6 @@ -90685,7 +90685,7 @@ sub_80A7590: @ 80A7590 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect bl sub_80A756C pop {r0} bx r0 @@ -90849,7 +90849,7 @@ sub_80A76A0: @ 80A76A0 movs r1, 0x2 movs r2, 0x1D movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect bl sub_80A7678 pop {r0} bx r0 @@ -90994,7 +90994,7 @@ sub_80A7768: @ 80A7768 lsls r2, 24 lsrs r2, 24 movs r1, 0x7 - bl Print + bl MenuPrint b _080A77FC .align 2, 0 _080A77A8: .4byte 0x02038550 @@ -91036,7 +91036,7 @@ _080A77DC: lsls r2, 1 adds r2, 0x8 adds r0, r3, 0 - bl Print + bl MenuPrint _080A77FC: ldr r1, _080A7824 ldrb r0, [r4, 0x1] @@ -95839,17 +95839,17 @@ _080A9B24: .4byte gItems unref_sub_80A9B28: @ 80A9B28 push {lr} sub sp, 0x8 - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0 movs r1, 0 movs r2, 0x11 movs r3, 0x12 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _080A9B6C movs r0, 0x1 movs r1, 0x1 movs r2, 0x7 - bl PrintStringArray + bl PrintMenuItems movs r0, 0 str r0, [sp] movs r0, 0x10 @@ -97257,70 +97257,70 @@ sub_80AA69C: @ 80AA69C adds r2, r4 adds r0, r6, 0 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r0, r4, 0x2 adds r2, r0 adds r0, r6, 0 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r0, r4, 0x1 adds r2, r0 adds r0, r6, 0 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r0, r4, 0x3 adds r2, r0 adds r0, r6, 0 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r0, r4, 0x4 adds r2, r0 adds r0, r6, 0 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r0, r4, 0x5 adds r2, r0 adds r0, r6, 0 movs r1, 0x30 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 subs r4, 0x8 adds r2, r4 adds r0, r6, 0 movs r1, 0xD - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r2, r4 adds r2, 0x2 adds r0, r6, 0 movs r1, 0xE - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r2, r4 adds r2, 0x4 adds r0, r6, 0 movs r1, 0xF - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 6 adds r2, r4 adds r2, 0x6 adds r0, r6, 0 movs r1, 0x10 - bl pokemon_setattr + bl SetMonData pop {r4-r6} pop {r0} bx r0 @@ -98862,8 +98862,8 @@ _080AB2DC: pop {r0} bx r0 .align 2, 0 -_080AB300: .4byte gUnknown_08D17D6C -_080AB304: .4byte gUnknown_08D18818 +_080AB300: .4byte gContestMiscGfx +_080AB304: .4byte gContestAudienceGfx _080AB308: .4byte 0x06002000 _080AB30C: .4byte gUnknown_08D1725C _080AB310: .4byte 0x0600d000 @@ -99430,7 +99430,7 @@ _080AB7A0: bl LZDecompressVram b _080AB946 .align 2, 0 -_080AB7AC: .4byte gUnknown_08D17D6C +_080AB7AC: .4byte gContestMiscGfx _080AB7B0: ldr r0, _080AB7EC ldr r4, _080AB7F0 @@ -99464,7 +99464,7 @@ _080AB7E6: ldr r0, [r1, 0x8] b _080AB946 .align 2, 0 -_080AB7EC: .4byte gUnknown_08D18818 +_080AB7EC: .4byte gContestAudienceGfx _080AB7F0: .4byte 0x06002000 _080AB7F4: .4byte 0x02015800 _080AB7F8: .4byte 0x040000d4 @@ -104454,7 +104454,7 @@ _080AE108: adds r6, r1, r0 adds r0, r6, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldrb r1, [r4] lsls r1, 6 adds r1, r5 @@ -104462,7 +104462,7 @@ _080AE108: adds r0, r6, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData mov r0, sp bl StringGetEnd10 ldr r0, _080AE188 @@ -104475,7 +104475,7 @@ _080AE108: bl SkipExtCtrlCodes adds r0, r6, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData cmp r0, 0x1 bne _080AE18C mov r1, sp @@ -104514,7 +104514,7 @@ _080AE19A: adds r4, r0 adds r0, r4, 0 movs r1, 0x16 - bl PokemonGetField + bl GetMonData mov r6, r8 subs r6, 0x2 ldrb r1, [r5] @@ -104524,7 +104524,7 @@ _080AE19A: strb r0, [r1] adds r0, r4, 0 movs r1, 0x17 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 @@ -104532,7 +104532,7 @@ _080AE19A: strb r0, [r1] adds r0, r4, 0 movs r1, 0x18 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 @@ -104540,7 +104540,7 @@ _080AE19A: strb r0, [r1] adds r0, r4, 0 movs r1, 0x21 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 @@ -104548,7 +104548,7 @@ _080AE19A: strb r0, [r1] adds r0, r4, 0 movs r1, 0x2F - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 @@ -104556,7 +104556,7 @@ _080AE19A: strb r0, [r1] adds r0, r4, 0 movs r1, 0x30 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 @@ -104564,35 +104564,35 @@ _080AE19A: strb r0, [r1] adds r0, r4, 0 movs r1, 0xD - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 strh r0, [r1, 0x1E] adds r0, r4, 0 movs r1, 0xE - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 strh r0, [r1, 0x20] adds r0, r4, 0 movs r1, 0xF - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 strh r0, [r1, 0x22] adds r0, r4, 0 movs r1, 0x10 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 adds r1, r6 strh r0, [r1, 0x24] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 mov r2, r8 @@ -104601,7 +104601,7 @@ _080AE19A: str r0, [r1] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData ldrb r1, [r5] lsls r1, 6 movs r2, 0x3A @@ -104610,7 +104610,7 @@ _080AE19A: str r0, [r1] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r2, r0, 16 mov r8, r2 @@ -104870,7 +104870,7 @@ sub_80AE47C: @ 80AE47C push {r4,lr} adds r4, r0, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080AE48E movs r0, 0x3 @@ -104878,7 +104878,7 @@ sub_80AE47C: @ 80AE47C _080AE48E: adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080AE49E movs r0, 0x4 @@ -104923,7 +104923,7 @@ _080AE4E4: adds r0, r4, 0 movs r1, 0x36 _080AE4E8: - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r1, r0, 24 b _080AE4F6 @@ -107091,7 +107091,7 @@ _080AF53E: adds r0, r1 strh r2, [r0] ldrh r0, [r4, 0x6] - bl sub_80B19FC + bl contest_get_move_excitement ldrb r1, [r7, 0x1] lsls r1, 2 adds r1, r5, r1 @@ -111089,7 +111089,7 @@ _080B1348: strh r0, [r4] _080B1362: ldrh r0, [r4, 0x6] - bl sub_80B19FC + bl contest_get_move_excitement mov r2, r8 adds r2, 0xC8 strb r0, [r2] @@ -111900,7 +111900,7 @@ _080B19BC: .4byte 0x02019204 _080B19C0: .4byte 0x02020004 _080B19C4: .4byte 0x06010000 _080B19C8: .4byte REG_BG0CNT -_080B19CC: .4byte gUnknown_08E6978C +_080B19CC: .4byte gContestApplauseMeterGfx thumb_func_end sub_80B1928 thumb_func_start unref_sub_80B19D0 @@ -111926,8 +111926,8 @@ _080B19F4: .4byte gUnknown_083CC2EC _080B19F8: .4byte 0x03004210 thumb_func_end unref_sub_80B19D0 - thumb_func_start sub_80B19FC -sub_80B19FC: @ 80B19FC + thumb_func_start contest_get_move_excitement +contest_get_move_excitement: @ 80B19FC lsls r0, 16 ldr r3, _080B1A20 ldr r1, _080B1A24 @@ -111949,7 +111949,7 @@ sub_80B19FC: @ 80B19FC _080B1A20: .4byte gContestExcitementTable _080B1A24: .4byte gContestMoves _080B1A28: .4byte 0x0203869c - thumb_func_end sub_80B19FC + thumb_func_end contest_get_move_excitement thumb_func_start sub_80B1A2C sub_80B1A2C: @ 80B1A2C @@ -112814,14 +112814,14 @@ sub_80B208C: @ 80B208C b _080B20BA .align 2, 0 _080B20B0: .4byte 0x02019260 -_080B20B4: .4byte gUnknown_08E69478 +_080B20B4: .4byte gContestNextTurnNumbersGfx _080B20B8: ldr r0, _080B20C0 _080B20BA: pop {r1} bx r1 .align 2, 0 -_080B20C0: .4byte gUnknown_08E69578 +_080B20C0: .4byte gContestNextTurnRandomGfx thumb_func_end sub_80B208C thumb_func_start unref_sub_80B20C4 @@ -114446,14 +114446,14 @@ CreateShopMenu: @ 80B2D54 movs r1, 0 movs r2, 0xA movs r3, 0x7 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _080B2D94 ldr r0, _080B2D98 str r0, [sp] movs r0, 0x1 movs r1, 0x1 movs r2, 0x3 - bl sub_80728E4 + bl PrintMenuItemsReordered b _080B2DBC .align 2, 0 _080B2D90: .4byte 0x03000708 @@ -114466,14 +114466,14 @@ _080B2D9C: movs r1, 0 movs r2, 0xA movs r3, 0x5 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _080B2DEC ldr r0, _080B2DF0 str r0, [sp] movs r0, 0x1 movs r1, 0x1 movs r2, 0x2 - bl sub_80728E4 + bl PrintMenuItemsReordered _080B2DBC: ldr r0, _080B2DF4 ldrb r3, [r0, 0xA] @@ -114701,7 +114701,7 @@ HandleShopMenuQuit: @ 80B2F64 movs r1, 0 movs r2, 0xB movs r3, 0x8 - bl Reset + bl MenuZeroFillWindowRect bl sub_80BE3BC bl script_env_2_disable adds r0, r4, 0 @@ -114959,7 +114959,7 @@ BuyMenuDrawGraphics: @ 80B3108 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow bl BuyMenuDrawMapGraphics ldr r0, _080B322C strb r6, [r0, 0x9] @@ -114968,7 +114968,7 @@ BuyMenuDrawGraphics: @ 80B3108 movs r1, 0 movs r2, 0x20 movs r3, 0x20 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080B3230 movs r1, 0x92 lsls r1, 3 @@ -115013,9 +115013,9 @@ _080B3204: .4byte REG_BG1HOFS _080B3208: .4byte 0x0202f388 _080B320C: .4byte 0x040000d4 _080B3210: .4byte 0x85000100 -_080B3214: .4byte gUnknown_08E77804 +_080B3214: .4byte gBuyMenuFrame_Gfx _080B3218: .4byte 0x06007c00 -_080B321C: .4byte gUnknown_08E77928 +_080B321C: .4byte gBuyMenuFrame_Tilemap _080B3220: .4byte 0x02018000 _080B3224: .4byte gMenuMoneyPal _080B3228: .4byte gWindowConfig_81E6DFC @@ -115836,7 +115836,7 @@ sub_80B37F8: @ 80B37F8 ldr r0, _080B3890 movs r1, 0x1 movs r2, 0xB - bl Print + bl MenuPrint ldr r0, _080B3894 movs r1, 0x2 str r1, [sp] @@ -116083,11 +116083,11 @@ _080B3A2E: movs r0, 0xE adds r1, r4, 0 movs r2, 0x1C - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldr r0, _080B3A6C movs r1, 0xE adds r2, r4, 0 - bl Print + bl MenuPrint _080B3A60: pop {r4-r6} pop {r0} @@ -116299,7 +116299,7 @@ sub_80B3BF4: @ 80B3BF4 movs r1, 0x8 movs r2, 0xD movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080B3C7C movs r1, 0x4 str r1, [sp] @@ -116442,7 +116442,7 @@ sub_80B3D38: @ 80B3D38 movs r0, 0x7 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _080B3D70 movs r1, 0x4 str r1, [sp] @@ -116481,7 +116481,7 @@ sub_80B3D7C: @ 80B3D7C movs r1, 0x8 movs r2, 0xD movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080B3DC4 movs r1, 0x4 str r1, [sp] @@ -116560,7 +116560,7 @@ _080B3DEE: movs r1, 0xA movs r2, 0xD movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080B3EB8 movs r1, 0x2 str r1, [sp] @@ -116652,7 +116652,7 @@ sub_80B3EFC: @ 80B3EFC movs r1, 0xA movs r2, 0xD movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r5, 0 bl sub_80B37F8 ldr r6, _080B3F7C @@ -117014,7 +117014,7 @@ _080B41CE: movs r1, 0xC movs r2, 0xD movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldrb r0, [r6, 0xC] cmp r0, 0 bne _080B428C @@ -117189,12 +117189,12 @@ sub_80B4378: @ 80B4378 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0xA movs r2, 0xD movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080B43E4 movs r1, 0x2 str r1, [sp] @@ -119119,7 +119119,7 @@ _080B51B8: mov r0, r9 adds r2, r7, 0 adds r3, r4, 0 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r6, r9 adds r6, 0x1 lsls r6, 24 @@ -119132,7 +119132,7 @@ _080B51B8: adds r1, r5, 0 mov r2, r8 mov r3, r10 - bl PrintStringArray + bl PrintMenuItems ldr r0, [sp, 0x10] str r0, [sp] mov r1, r9 @@ -119304,7 +119304,7 @@ _080B532C: ldrb r1, [r3, 0xA] ldrb r2, [r3, 0xC] ldrb r3, [r3, 0xE] - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running @@ -119424,7 +119424,7 @@ _080B5408: mov r0, r8 adds r2, r6, 0 adds r3, r7, 0 - bl PrintStringArray + bl PrintMenuItems movs r0, 0 str r0, [sp] mov r1, r8 @@ -119475,7 +119475,7 @@ yes_no_box: @ 80B546C adds r0, r5, 0 adds r1, r4, 0 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu adds r0, r6, 0 movs r1, 0x50 bl CreateTask @@ -119586,7 +119586,7 @@ _080B5542: adds r3, r1, 0x5 lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running @@ -119782,7 +119782,7 @@ _080B56D2: ldrb r1, [r3, 0xA] ldrb r2, [r3, 0xC] ldrb r3, [r3, 0xE] - bl Reset + bl MenuZeroFillWindowRect adds r0, r5, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running @@ -119855,15 +119855,15 @@ _080B5762: movs r0, 0 movs r1, 0 movs r3, 0x9 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _080B579C movs r1, 0x1 movs r2, 0x5 - bl Print + bl MenuPrint ldr r0, _080B57A0 movs r1, 0x1 movs r2, 0x7 - bl Print + bl MenuPrint b _080B57C0 .align 2, 0 _080B5798: .4byte 0x00000804 @@ -119877,11 +119877,11 @@ _080B57A4: movs r0, 0 movs r1, 0 movs r3, 0x7 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _080B57DC movs r1, 0x1 movs r2, 0x5 - bl Print + bl MenuPrint _080B57C0: adds r6, r4, 0 ldr r0, _080B57E0 @@ -119892,7 +119892,7 @@ _080B57C0: ldr r0, _080B57E4 movs r1, 0x1 movs r2, 0x1 - bl Print + bl MenuPrint b _080B57F2 .align 2, 0 _080B57DC: .4byte gUnknown_08410782 @@ -119902,12 +119902,12 @@ _080B57E8: ldr r0, _080B5830 movs r1, 0x1 movs r2, 0x1 - bl Print + bl MenuPrint _080B57F2: ldr r0, _080B5834 movs r1, 0x1 movs r2, 0x3 - bl Print + bl MenuPrint movs r4, 0 str r4, [sp] adds r0, r5, 0x1 @@ -119940,11 +119940,11 @@ _080B5834: .4byte gUnknown_0841076D thumb_func_start sub_80B5838 sub_80B5838: @ 80B5838 push {lr} - bl sub_8071FFC + bl MenuDisplayMessageBox ldr r0, _080B584C movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint pop {r0} bx r0 .align 2, 0 @@ -120005,7 +120005,7 @@ _080B58A0: adds r3, 0xA lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect adds r0, r5, 0 bl DestroyTask _080B58BE: @@ -120040,7 +120040,7 @@ sub_80B58C4: @ 80B58C4 lsrs r3, 24 adds r0, r6, 0 adds r1, r5, 0 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r4, 0 movs r1, 0x50 bl CreateTask @@ -120657,7 +120657,7 @@ sub_80B5DC8: @ 80B5DC8 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow pop {r4} pop {r0} bx r0 @@ -120971,7 +120971,7 @@ _080B6048: .4byte 0x02000000 thumb_func_start sub_80B604C sub_80B604C: @ 80B604C push {lr} - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _080B6060 @@ -123847,8 +123847,8 @@ sub_80B74FC: @ 80B74FC adds r0, r4, 0 bl StringExpandPlaceholders ldr r0, _080B7538 - bl sub_8071E2C - bl sub_8071FFC + bl BasicInitMenuWindow + bl MenuDisplayMessageBox adds r0, r4, 0 bl sub_8072044 pop {r4} @@ -123913,7 +123913,7 @@ sub_80B7568: @ 80B7568 pop {r0} bx r0 .align 2, 0 -_080B759C: .4byte gUnknown_08E85998 +_080B759C: .4byte gNamingScreenMenu_Gfx _080B75A0: .4byte 0x0202e9d4 _080B75A4: .4byte 0x040000d4 _080B75A8: .4byte 0x80000400 @@ -124208,7 +124208,7 @@ sub_80B7794: @ 80B7794 adds r0, r1 adds r0, r6 ldr r0, [r0] - bl sub_8071E2C + bl BasicInitMenuWindow ldr r5, _080B77F4 ldrb r0, [r4, 0xE] lsls r0, 3 @@ -124223,7 +124223,7 @@ sub_80B7794: @ 80B7794 adds r6, 0x8 adds r1, r6 ldr r0, [r1] - bl sub_8071E2C + bl BasicInitMenuWindow ldrb r0, [r4, 0xE] lsls r0, 3 adds r5, 0x4 @@ -124254,7 +124254,7 @@ sub_80B77F8: @ 80B77F8 adds r2, 0x8 adds r1, r2 ldr r0, [r1] - bl sub_8071E2C + bl BasicInitMenuWindow ldr r1, _080B7834 ldrb r0, [r4, 0xE] lsls r0, 3 @@ -124321,7 +124321,7 @@ _080B786C: lsls r2, r5, 24 lsrs r2, 24 movs r1, 0x3 - bl Print + bl MenuPrint adds r4, 0x1 lsls r4, 16 lsls r0, r5, 16 @@ -124344,7 +124344,7 @@ _080B78A4: .4byte gUnknown_083CE3A8 sub_80B78A8: @ 80B78A8 push {r4,lr} ldr r0, _080B78E4 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r1, _080B78E8 ldr r4, _080B78EC ldrb r0, [r4, 0x1] @@ -124363,7 +124363,7 @@ sub_80B78A8: @ 80B78A8 ldr r0, [r0, 0x8] movs r1, 0x9 movs r2, 0x2 - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -124427,7 +124427,7 @@ _080B7948: mov r0, sp movs r1, 0x14 movs r2, 0x4 - bl Print + bl MenuPrint _080B7952: add sp, 0x4 pop {r0} @@ -124457,12 +124457,12 @@ sub_80B7960: @ 80B7960 adds r1, r4, 0 bl StringCopy ldr r0, _080B79A4 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080B799C subs r4, 0x11 ldrb r1, [r4, 0x2] movs r2, 0x4 - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -124639,7 +124639,7 @@ sub_80B7A94: @ 80B7A94 mov r0, sp adds r1, r6, 0 adds r2, r7, 0 - bl Print + bl MenuPrint b _080B7AE4 _080B7ACE: adds r1, r6, 0x1 @@ -124681,7 +124681,7 @@ sub_80B7AEC: @ 80B7AEC mov r0, sp adds r1, r4, 0 adds r2, r5, 0 - bl PrintCoinsString + bl sub_8072B4C movs r0, 0xFC strb r0, [r6] movs r0, 0x14 @@ -124780,7 +124780,7 @@ _080B7BAA: pop {r0} bx r0 .align 2, 0 -_080B7BD8: .4byte gUnknown_08EA2A44 +_080B7BD8: .4byte gDecoration10000_Gfx _080B7BDC: .4byte 0x06008000 _080B7BE0: .4byte 0xfffff000 _080B7BE4: .4byte 0x0600f800 @@ -124833,7 +124833,7 @@ sub_80B7C14: @ 80B7C14 adds r0, r6, 0 adds r1, r5, 0 adds r2, r4, 0 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r0, r8 adds r1, r6, 0 adds r2, r5, 0 @@ -124899,7 +124899,7 @@ RemoveMoneyLabelObject: @ 80B7C98 lsrs r3, 24 adds r0, r4, 0 adds r1, r5, 0 - bl Reset + bl MenuZeroFillWindowRect pop {r4,r5} pop {r0} bx r0 @@ -128208,7 +128208,7 @@ _080B9570: ldr r0, _080B95A8 movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint strh r5, [r4, 0x10] b _080B95E6 .align 2, 0 @@ -128237,7 +128237,7 @@ _080B95C0: cmp r0, 0 bne _080B95E6 bl sub_8055588 - bl sub_8071EF4 + bl MenuZeroFillScreen adds r0, r5, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running @@ -128306,11 +128306,11 @@ _080B963C: _080B964C: .4byte 0x0000012d _080B9650: bl sub_80B9A78 - bl sub_8071FFC + bl MenuDisplayMessageBox ldr r0, _080B9674 movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint movs r0, 0xE1 lsls r0, 3 strh r0, [r5, 0x18] @@ -129741,7 +129741,7 @@ unref_sub_80BA0EC: @ 80BA0EC ldr r0, _080BA220 bl SetUpWindowConfig ldr r0, _080BA224 - bl sub_8071C4C + bl InitMenuWindow movs r0, 0x1 negs r0, r0 str r4, [sp] @@ -129883,45 +129883,45 @@ sub_80BA258: @ 80BA258 movs r1, 0 movs r2, 0x1B movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x2 movs r1, 0x5 movs r2, 0x1B movs r3, 0xA - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x2 movs r1, 0xC movs r2, 0x1B movs r3, 0x11 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r0, sp movs r1, 0x4 movs r2, 0x1 - bl Print + bl MenuPrint adds r0, r5, 0 movs r1, 0xE movs r2, 0x1 - bl Print + bl MenuPrint adds r0, r7, 0 movs r1, 0x4 movs r2, 0x6 - bl Print + bl MenuPrint adds r0, r4, 0 movs r1, 0xE movs r2, 0x6 - bl Print + bl MenuPrint mov r0, r8 movs r1, 0x4 movs r2, 0xD - bl Print + bl MenuPrint adds r0, r4, 0 movs r1, 0xE movs r2, 0xD - bl Print + bl MenuPrint adds r0, r6, 0 movs r1, 0xE movs r2, 0x12 - bl Print + bl MenuPrint ldr r1, _080BA370 mov r2, r9 lsls r0, r2, 2 @@ -130491,7 +130491,7 @@ _080BA76C: lsls r2, r7, 24 lsrs r2, 24 mov r0, sp - bl Print + bl MenuPrint add sp, 0x8 pop {r4-r7} pop {r0} @@ -130546,7 +130546,7 @@ _080BA7EC: lsrs r1, r2, 24 lsrs r2, r5, 24 mov r0, sp - bl Print + bl MenuPrint add sp, 0xC pop {r4-r6} pop {r0} @@ -130654,63 +130654,63 @@ sub_80BA800: @ 80BA800 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r0, sp movs r1, 0x13 movs r2, 0x4 - bl Print + bl MenuPrint ldr r0, [sp, 0xB4] movs r1, 0x13 movs r2, 0x2 - bl Print + bl MenuPrint ldr r0, [sp, 0xB8] movs r1, 0x2 movs r2, 0x1 - bl Print + bl MenuPrint ldr r0, [sp, 0xBC] movs r1, 0x2 movs r2, 0x3 - bl Print + bl MenuPrint ldr r0, [sp, 0xC0] movs r1, 0x2 movs r2, 0x5 - bl Print + bl MenuPrint ldr r0, [sp, 0xC4] movs r1, 0x2 movs r2, 0x7 - bl Print + bl MenuPrint ldr r0, [sp, 0xC8] movs r1, 0x2 movs r2, 0x9 - bl Print + bl MenuPrint adds r0, r4, 0 movs r1, 0x2 movs r2, 0xB - bl Print + bl MenuPrint adds r0, r7, 0 movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint mov r0, r10 movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint mov r0, r9 movs r1, 0x2 movs r2, 0x11 - bl Print + bl MenuPrint mov r0, r8 movs r1, 0x13 movs r2, 0x10 - bl Print + bl MenuPrint adds r0, r6, 0 movs r1, 0x13 movs r2, 0xE - bl Print + bl MenuPrint adds r0, r5, 0 movs r1, 0x13 movs r2, 0xC - bl Print + bl MenuPrint ldr r1, _080BAA20 movs r0, 0xF0 strh r0, [r1] @@ -130822,7 +130822,7 @@ sub_80BAA48: @ 80BAA48 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080BAAA0 lsls r0, r4, 2 adds r0, r4 @@ -131289,7 +131289,7 @@ sub_80BAE10: @ 80BAE10 adds r4, r6 ldrb r2, [r4] mov r0, r8 - bl Print + bl MenuPrint lsls r5, 1 adds r0, r5, r6 ldrb r1, [r0] @@ -131297,7 +131297,7 @@ sub_80BAE10: @ 80BAE10 adds r5, r6 ldrb r2, [r5] mov r0, sp - bl Print + bl MenuPrint add sp, 0x8 pop {r3} mov r8, r3 @@ -131441,7 +131441,7 @@ _080BAF62: ldr r4, [sp, 0x28] lsrs r2, r4, 24 mov r0, r9 - bl Print + bl MenuPrint add sp, 0x2C pop {r3-r5} mov r8, r3 @@ -131485,19 +131485,19 @@ sub_80BAF84: @ 80BAF84 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r0, sp movs r1, 0x3 movs r2, 0x2 - bl Print + bl MenuPrint adds r0, r6, 0 movs r1, 0x3 movs r2, 0x4 - bl Print + bl MenuPrint adds r0, r5, 0 movs r1, 0x3 movs r2, 0x8 - bl Print + bl MenuPrint ldr r1, _080BB028 movs r0, 0xF0 strh r0, [r1] @@ -131614,7 +131614,7 @@ _080BB0A2: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080BB0FC lsls r0, r5, 2 adds r0, r5 @@ -131783,7 +131783,7 @@ _080BB228: _080BB22A: movs r1, 0x7 movs r2, 0x4 - bl Print + bl MenuPrint b _080BB240 _080BB234: adds r0, r1, 0 @@ -131814,7 +131814,7 @@ sub_80BB25C: @ 80BB25C ldr r0, _080BB374 bl SetUpWindowConfig ldr r0, _080BB378 - bl sub_8071C4C + bl InitMenuWindow ldr r1, _080BB37C movs r0, 0x1 strh r0, [r1] @@ -131899,7 +131899,7 @@ _080BB306: movs r1, 0x10 movs r2, 0x5 movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow bl sub_80BB494 movs r0, 0x1 negs r0, r0 @@ -132044,7 +132044,7 @@ _080BB42E: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080BB48C lsls r0, r5, 2 adds r0, r5 @@ -133914,37 +133914,37 @@ sub_80BC298: @ 80BC298 push {r4,r5,lr} adds r5, r0, 0 movs r1, 0x1A - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x1B - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x1C - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x1D - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x1E - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 movs r1, 0x1F - bl PokemonGetField + bl GetMonData adds r4, r0 lsls r4, 16 lsrs r4, 16 @@ -134014,12 +134014,12 @@ _080BC322: adds r4, r5, r7 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080BC408 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080BC408 movs r4, 0 @@ -134036,7 +134036,7 @@ _080BC38E: adds r1, 0xD adds r0, r5, r2 str r2, [sp, 0x8] - bl PokemonGetField + bl GetMonData mov r3, r8 adds r1, r3, r4 lsls r1, 1 @@ -134056,25 +134056,25 @@ _080BC38E: adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldr r5, _080BC42C adds r1, r5, r7 strh r0, [r1] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData ldr r2, _080BC430 adds r1, r2, r7 strh r0, [r1] adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldr r1, _080BC434 add r1, r10 strb r0, [r1] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldr r1, _080BC438 add r1, r8 str r0, [r1] @@ -134405,7 +134405,7 @@ _080BC65E: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r5, 0 bl sub_80BC7D8 ldr r1, _080BC68C @@ -134506,11 +134506,11 @@ _080BC70E: movs r0, 0x12 adds r1, r4, 0 movs r2, 0x1C - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile adds r0, r7, 0 movs r1, 0x12 adds r2, r4, 0 - bl Print + bl MenuPrint adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 @@ -134535,11 +134535,11 @@ _080BC75A: movs r0, 0x12 adds r1, r4, 0 movs r2, 0x1C - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldr r0, _080BC7A4 movs r1, 0x12 adds r2, r4, 0 - bl Print + bl MenuPrint movs r0, 0x1 bl SetBgTilemapBuffer cmp r6, 0x7 @@ -134552,7 +134552,7 @@ _080BC75A: movs r0, 0x12 movs r2, 0x1C movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile b _080BC7B2 .align 2, 0 _080BC7A0: .4byte 0x020231cc @@ -134600,7 +134600,7 @@ sub_80BC7D8: @ 80BC7D8 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldrb r3, [r4, 0x6] adds r3, 0x1 lsls r3, 24 @@ -134723,7 +134723,7 @@ _080BC8C2: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r5, 0 bl sub_80BCC54 b _080BC940 @@ -134753,7 +134753,7 @@ _080BC91C: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r6, 0 bl sub_80BCC54 _080BC940: @@ -134812,12 +134812,12 @@ sub_80BC980: @ 80BC980 movs r1, 0 movs r2, 0xC movs r3, 0x5 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _080BC9D8 movs r0, 0x2 movs r1, 0x1 movs r2, 0x2 - bl PrintStringArray + bl PrintMenuItems movs r0, 0 str r0, [sp] movs r0, 0xA @@ -134938,7 +134938,7 @@ sub_80BCA84: @ 80BCA84 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080BCADC ldrb r1, [r4, 0x8] bl sub_80BC190 @@ -134971,7 +134971,7 @@ sub_80BCAEC: @ 80BCAEC movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _080BCB0C adds r0, r4, 0 bl sub_80F914C @@ -134997,7 +134997,7 @@ sub_80BCB10: @ 80BCB10 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _080BCB84 movs r0, 0x8 ldrsh r1, [r4, r0] @@ -135057,7 +135057,7 @@ sub_80BCB90: @ 80BCB90 movs r1, 0x8 movs r2, 0x1A movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080BCBB8 ldr r2, _080BCBBC adds r0, r4, 0 @@ -135081,7 +135081,7 @@ sub_80BCBC0: @ 80BCBC0 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_80BC7D8 ldr r1, _080BCBF0 @@ -135126,7 +135126,7 @@ sub_80BCBF8: @ 80BCBF8 movs r1, 0 movs r2, 0xC movs r3, 0x5 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 bl sub_80F98DC movs r0, 0x1 @@ -138124,7 +138124,7 @@ sub_80BE284: @ 80BE284 adds r0, r4 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData strh r0, [r7, 0x2] ldrb r0, [r6] muls r0, r5 @@ -138132,7 +138132,7 @@ sub_80BE284: @ 80BE284 adds r2, r7, 0 adds r2, 0x8 movs r1, 0x2 - bl PokemonGetField + bl GetMonData _080BE2FE: pop {r4-r7} pop {r0} @@ -138328,7 +138328,7 @@ sub_80BE478: @ 80BE478 ldr r4, _080BE560 movs r1, 0x2 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData ldr r1, _080BE564 mov r9, r1 mov r0, r9 @@ -138362,7 +138362,7 @@ sub_80BE478: @ 80BE478 adds r0, r6 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x2] bl Random lsls r0, 16 @@ -138389,7 +138389,7 @@ sub_80BE478: @ 80BE478 adds r5, r4, 0x4 movs r1, 0x2 adds r2, r5, 0 - bl PokemonGetField + bl GetMonData adds r0, r4, 0 bl sub_80BE160 movs r0, 0x2 @@ -138516,7 +138516,7 @@ sub_80BE5FC: @ 80BE5FC adds r0, r1 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x2] adds r0, r4, 0 bl sub_80BE160 @@ -138596,7 +138596,7 @@ sub_80BE6A0: @ 80BE6A0 adds r0, r6 movs r1, 0x20 movs r2, 0 - bl PokemonGetField + bl GetMonData lsrs r0, 4 movs r1, 0xF ands r0, r1 @@ -138627,7 +138627,7 @@ sub_80BE6A0: @ 80BE6A0 adds r5, 0x10 movs r1, 0x2 adds r2, r5, 0 - bl PokemonGetField + bl GetMonData bl sub_810F87C lsls r0, 24 lsrs r0, 24 @@ -138637,7 +138637,7 @@ sub_80BE6A0: @ 80BE6A0 adds r0, r6 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x2] adds r0, r4, 0 bl sub_80BE160 @@ -140234,7 +140234,7 @@ sub_80BF334: @ 80BF334 adds r0, r1 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData movs r1, 0xB muls r1, r0 ldr r0, _080BF398 @@ -140313,7 +140313,7 @@ sub_80BF3DC: @ 80BF3DC adds r0, r4 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData movs r1, 0xB muls r1, r0 ldr r0, _080BF45C @@ -140328,7 +140328,7 @@ sub_80BF3DC: @ 80BF3DC ldr r4, _080BF460 movs r1, 0x2 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData adds r0, r4, 0 bl StringGetEnd10 ldr r0, _080BF464 @@ -140447,11 +140447,11 @@ sub_80BF4F4: @ 80BF4F4 adds r0, r4, 0 movs r1, 0x2 adds r2, r5, 0 - bl PokemonGetField + bl GetMonData adds r0, r4, 0 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData movs r1, 0xB muls r0, r1 ldr r1, _080BF538 @@ -141124,7 +141124,7 @@ sub_80BF9B4: @ 80BF9B4 ldr r4, _080BF9E8 movs r1, 0x2 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData ldr r0, _080BF9EC adds r1, r4, 0 bl StringCompareWithoutExtCtrlCodes @@ -141166,7 +141166,7 @@ sub_80BF9F8: @ 80BF9F8 adds r0, r6 ldr r2, _080BFAA8 movs r1, 0x2 - bl PokemonGetField + bl GetMonData mov r1, r9 ldrh r0, [r1] mov r1, r8 @@ -141177,7 +141177,7 @@ sub_80BF9F8: @ 80BF9F8 mov r10, r1 movs r1, 0x2 mov r2, r10 - bl PokemonGetField + bl GetMonData mov r1, r9 ldrh r0, [r1] mov r1, r8 @@ -141186,7 +141186,7 @@ sub_80BF9F8: @ 80BF9F8 adds r0, r6 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 @@ -141208,7 +141208,7 @@ sub_80BF9F8: @ 80BF9F8 adds r0, r6 movs r1, 0 movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp] ldr r0, _080BFAB0 str r0, [sp, 0x4] @@ -141244,7 +141244,7 @@ c2_080CC144: @ 80BFAB4 adds r0, r1 ldr r2, _080BFADC movs r1, 0x2 - bl pokemon_setattr + bl SetMonData bl c2_exit_to_overworld_1_continue_scripts_restart_music pop {r0} bx r0 @@ -141266,7 +141266,7 @@ sub_80BFAE0: @ 80BFAE0 ldr r4, _080BFB0C movs r1, 0x2 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData adds r0, r4, 0 bl StringGetEnd10 pop {r4} @@ -141291,7 +141291,7 @@ sub_80BFB10: @ 80BFB10 adds r0, r1 movs r1, 0x1 movs r2, 0 - bl PokemonGetField + bl GetMonData cmp r4, r0 bne _080BFB44 ldr r1, _080BFB40 @@ -150239,7 +150239,7 @@ _080C44A0: adds r0, r2, 0 movs r1, 0x36 _080C44A4: - bl PokemonGetField + bl GetMonData ldr r1, _080C44BC ldrh r1, [r1] cmp r0, r1 @@ -150298,7 +150298,7 @@ _080C450C: ldr r4, _080C454C adds r0, r4 movs r1, 0x32 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r1, r0, 24 mov r0, sp @@ -150335,7 +150335,7 @@ _080C4554: ldr r5, _080C4590 adds r0, r5 movs r1, 0x33 - bl PokemonGetField + bl GetMonData strb r0, [r4] mov r0, sp ldrb r2, [r0] @@ -150366,7 +150366,7 @@ _080C4598: ldr r5, _080C45D4 adds r0, r5 movs r1, 0x34 - bl PokemonGetField + bl GetMonData strb r0, [r4] mov r0, sp ldrb r2, [r0] @@ -150397,7 +150397,7 @@ _080C45DC: ldr r5, _080C461C adds r0, r5 movs r1, 0x35 - bl PokemonGetField + bl GetMonData strb r0, [r4] mov r0, sp ldrb r2, [r0] @@ -150416,7 +150416,7 @@ _080C45DC: movs r1, 0x35 _080C4610: mov r2, sp - bl pokemon_setattr + bl SetMonData b _080C465E .align 2, 0 _080C4618: .4byte 0x02038694 @@ -150431,7 +150431,7 @@ _080C4624: ldr r5, _080C466C adds r0, r5 movs r1, 0x36 - bl PokemonGetField + bl GetMonData strb r0, [r4] mov r0, sp ldrb r2, [r0] @@ -150449,7 +150449,7 @@ _080C4624: adds r0, r5 movs r1, 0x36 mov r2, sp - bl pokemon_setattr + bl SetMonData _080C465E: add sp, 0x4 pop {r4-r7} @@ -151718,7 +151718,7 @@ sub_80C4FBC: @ 80C4FBC ldr r4, _080C5020 adds r0, r4 movs r1, 0x46 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 mov r1, sp @@ -151752,7 +151752,7 @@ sub_80C4FBC: @ 80C4FBC adds r0, r4 movs r1, 0x46 mov r2, sp - bl pokemon_setattr + bl SetMonData movs r0, 0x1 b _080C503A .align 2, 0 @@ -151802,7 +151802,7 @@ sub_80C5050: @ 80C5050 movs r1, 0x3 movs r2, 0x13 movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r2, _080C5140 ldr r0, _080C5144 ldrh r1, [r0] @@ -152001,7 +152001,7 @@ _080C5204: adds r3, 0xA lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect adds r0, r5, 0 bl DestroyTask _080C5222: @@ -152105,7 +152105,7 @@ _080C52CE: add r4, r10 adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData lsls r1, r0, 16 strb r0, [r6] lsrs r1, 24 @@ -152113,10 +152113,10 @@ _080C52CE: adds r0, r4, 0 movs r1, 0x39 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r7, r0, 24 movs r5, 0 @@ -152127,7 +152127,7 @@ _080C5304: adds r1, r5, 0 adds r1, 0xD adds r0, r4, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 adds r1, r7, 0 @@ -152138,7 +152138,7 @@ _080C5304: adds r1, 0x11 adds r0, r4, 0 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -152155,7 +152155,7 @@ _080C5304: add r0, r10 movs r1, 0x37 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, r9 lsls r0, r1, 24 lsrs r0, 24 @@ -152213,7 +152213,7 @@ sub_80C5374: @ 80C5374 adds r0, r6, 0 movs r1, 0xC add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData adds r0, r6, 0 bl pokemon_catch lsls r0, 24 @@ -152257,7 +152257,7 @@ sub_80C53F8: @ 80C53F8 strb r0, [r2] mov r0, sp movs r1, 0x2D - bl pokemon_setattr + bl SetMonData mov r0, sp bl pokemon_catch lsls r0, 24 @@ -152309,7 +152309,7 @@ _080C545C: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -152318,7 +152318,7 @@ _080C545C: beq _080C5490 adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData cmp r0, r6 bne _080C5490 movs r0, 0x1 @@ -152398,7 +152398,7 @@ sub_80C54D0: @ 80C54D0 mov r0, r8 movs r1, 0xC add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData _080C551E: add sp, 0x14 pop {r3} @@ -152592,7 +152592,7 @@ _080C5680: .4byte 0x05000096 sub_80C5684: @ 80C5684 push {lr} movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r1, r0, 16 cmp r1, 0 @@ -152623,7 +152623,7 @@ _080C56AE: beq _080C56CC adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080C56CC movs r0, 0 @@ -152661,12 +152661,12 @@ sub_80C56DC: @ 80C56DC adds r0, r4, 0 movs r1, 0x37 mov r2, sp - bl pokemon_setattr + bl SetMonData ldr r5, _080C5724 adds r0, r4, 0 movs r1, 0x2 adds r2, r5, 0 - bl PokemonGetField + bl GetMonData adds r0, r5, 0 bl StringGetEnd10 add sp, 0x4 @@ -152693,12 +152693,12 @@ sub_80C5728: @ 80C5728 beq _080C5768 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080C5768 adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData bl pokemon_ailments_get_primary lsls r0, 24 lsrs r0, 24 @@ -152835,12 +152835,12 @@ overworld_poison: @ 80C583C _080C5848: adds r0, r4, 0 movs r1, 0x5 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080C588C adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData bl pokemon_ailments_get_primary lsls r0, 24 lsrs r0, 24 @@ -152848,7 +152848,7 @@ _080C5848: bne _080C588C adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData str r0, [sp] cmp r0, 0 beq _080C587E @@ -152862,7 +152862,7 @@ _080C5880: adds r0, r4, 0 movs r1, 0x39 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r7, 0x1 _080C588C: adds r4, 0x64 @@ -152906,45 +152906,45 @@ sub_80C58C0: @ 80C58C0 sub sp, 0x8 adds r5, r0, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 str r0, [sp, 0x4] lsrs r0, 16 str r0, [sp] adds r0, r5, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData adds r7, r0, 0 movs r6, 0xF ands r7, r6 adds r0, r5, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r8 ands r1, r6 mov r8, r1 adds r0, r5, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData mov r9, r0 mov r3, r9 ands r3, r6 mov r9, r3 adds r0, r5, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData mov r10, r0 ands r0, r6 mov r10, r0 adds r0, r5, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData adds r4, r0, 0 ands r4, r6 adds r0, r5, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData adds r2, r0, 0 ands r2, r6 mov r1, r8 @@ -153141,12 +153141,12 @@ _080C5AA8: adds r5, r1, r0 adds r0, r5, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0x1 beq _080C5ACA adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, r6 beq _080C5AD4 _080C5ACA: @@ -153371,12 +153371,12 @@ _080C5C70: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080C5CA2 adds r0, r4, 0 movs r1, 0x6 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080C5CA2 mov r1, sp @@ -153384,7 +153384,7 @@ _080C5C70: ldrb r1, [r0] adds r0, r4, 0 mov r2, r8 - bl pokemon_setattr + bl SetMonData movs r7, 0x1 _080C5CA2: adds r5, 0x1 @@ -160095,7 +160095,7 @@ sub_80C9098: @ 80C9098 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _080C90D0 adds r0, r6, 0 adds r1, r5, 0 @@ -160675,7 +160675,7 @@ sub_80C9520: @ 80C9520 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_8064E2C bl script_env_2_disable adds r0, r4, 0 @@ -161530,7 +161530,7 @@ ItemUseOutOfBattle_CoinCase: @ 80C9B38 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _080C9B9C adds r0, r5, 0 adds r1, r4, 0 @@ -161615,7 +161615,7 @@ unref_sub_80C9BF8: @ 80C9BF8 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r4, _080C9C40 ldr r0, _080C9C44 ldrh r0, [r0] @@ -161852,12 +161852,12 @@ _080C9DE6: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080C9DE0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080C9DE0 ldr r0, _080C9E2C @@ -161939,7 +161939,7 @@ ItemUseOutOfBattle_TMHM: @ 80C9E90 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080C9EBC ldrh r1, [r0] movs r0, 0xA9 @@ -162055,7 +162055,7 @@ sub_80C9F80: @ 80C9F80 movs r0, 0x7 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _080C9FB8 movs r1, 0x4 str r1, [sp] @@ -162412,7 +162412,7 @@ _080CA26C: movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080CA28C ldr r2, _080CA290 adds r0, r4, 0 @@ -162507,7 +162507,7 @@ ItemUseInBattle_StatIncrease: @ 80CA310 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x64 muls r0, r4 ldr r1, _080CA364 @@ -162662,7 +162662,7 @@ unref_sub_80CA448: @ 80CA448 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r4, _080CA494 ldrh r1, [r4] movs r0, 0 @@ -162718,7 +162718,7 @@ ItemUseInBattle_Escape: @ 80CA4C8 movs r1, 0xD movs r2, 0xD movs r3, 0x14 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080CA4F8 ldrh r1, [r0] movs r0, 0x8 @@ -178143,7 +178143,7 @@ _080D1B24: .align 2, 0 _080D1B34: .4byte 0x000027de _080D1B38: .4byte 0x00002710 -_080D1B3C: .4byte gUnknown_08D229BC +_080D1B3C: .4byte gBattleAnimSpritePalette_206 _080D1B40: .4byte 0x02018000 _080D1B44: .4byte 0xffffc800 _080D1B48: .4byte 0x02014800 @@ -178977,9 +178977,9 @@ _080D21CC: .4byte 0x030041b4 _080D21D0: .4byte REG_BG1HOFS _080D21D4: .4byte 0x040000d4 _080D21D8: .4byte 0x85000400 -_080D21DC: .4byte gUnknown_08D24124 -_080D21E0: .4byte gUnknown_08D2368C -_080D21E4: .4byte gUnknown_08D240FC +_080D21DC: .4byte gAttractTilemap +_080D21E0: .4byte gAttractGfx +_080D21E4: .4byte gAttractPal _080D21E8: .4byte 0x03004b20 _080D21EC: .4byte sub_80D21F0 thumb_func_end sub_80D2100 @@ -179287,7 +179287,7 @@ _080D2448: .4byte 0x030041b4 _080D244C: .4byte REG_BG1HOFS _080D2450: .4byte 0x040000d4 _080D2454: .4byte 0x85000400 -_080D2458: .4byte gUnknown_08E6E4C8 +_080D2458: .4byte gBattleAnimBackgroundTilemap_ScaryFaceContest _080D245C: ldr r0, _080D2478 ldrb r0, [r0] @@ -179303,7 +179303,7 @@ _080D246E: b _080D2488 .align 2, 0 _080D2478: .4byte 0x0202f7c9 -_080D247C: .4byte gUnknown_08E6E100 +_080D247C: .4byte gBattleAnimBackgroundTilemap_ScaryFacePlayer _080D2480: ldr r0, _080D24CC ldr r1, [sp, 0x4] @@ -179341,9 +179341,9 @@ _080D24B6: pop {r0} bx r0 .align 2, 0 -_080D24CC: .4byte gUnknown_08E6E2E4 -_080D24D0: .4byte gUnknown_08D24DA4 -_080D24D4: .4byte gUnknown_08D24D7C +_080D24CC: .4byte gBattleAnimBackgroundTilemap_ScaryFaceOpponent +_080D24D0: .4byte gBattleAnimBackgroundImage_ScaryFace +_080D24D4: .4byte gBattleAnimBackgroundPalette_ScaryFace _080D24D8: .4byte 0x03004b20 _080D24DC: .4byte sub_80D24E0 thumb_func_end sub_80D23B4 @@ -182092,9 +182092,9 @@ _080D39CE: b _080D3A0E .align 2, 0 _080D39F0: .4byte gUnknown_08E70F0C -_080D39F4: .4byte gUnknown_08E6F620 +_080D39F4: .4byte gBattleAnimBackgroundImage_Surf _080D39F8: .4byte 0x03004b00 -_080D39FC: .4byte gUnknown_08E70940 +_080D39FC: .4byte gBattleAnimBackgroundPalette_Surf _080D3A00: ldr r0, _080D3A78 mov r1, sp @@ -182154,7 +182154,7 @@ _080D3A0E: strh r0, [r7, 0xE] b _080D3AEE .align 2, 0 -_080D3A78: .4byte gUnknown_08E6A704 +_080D3A78: .4byte gBattleAnimBackgroundImageMuddyWater_Pal _080D3A7C: .4byte sub_80D3D68 _080D3A80: .4byte 0x03004b20 _080D3A84: .4byte 0x0000ffb0 @@ -183368,12 +183368,12 @@ _080D43D8: adds r5, r1, r0 adds r0, r5, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 adds r0, r5, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r3, r0, 16 lsrs r4, 18 @@ -186102,7 +186102,7 @@ _080D58E4: .4byte gSpriteTemplate_83D96C4 _080D58E8: .4byte 0x02020004 _080D58EC: .4byte 0x000003ff _080D58F0: .4byte 0xfffffc00 -_080D58F4: .4byte gUnknown_083D96DE +_080D58F4: .4byte gUnknown_083D96DC + 0x2 _080D58F8: .4byte 0x03004b28 thumb_func_end sub_80D57C4 @@ -191440,7 +191440,7 @@ _080D81C0: .4byte 0x040000d4 _080D81C4: .4byte 0x85000400 _080D81C8: .4byte gWeatherFog1Tiles _080D81CC: .4byte 0x80000400 -_080D81D0: .4byte gUnknown_08E6DE48 +_080D81D0: .4byte gWeatherFog1Tilemap _080D81D4: .4byte gUnknown_083970E8 _080D81D8: .4byte 0x03004b20 _080D81DC: .4byte sub_80D81E0 @@ -191834,7 +191834,7 @@ _080D84F8: .4byte 0x040000d4 _080D84FC: .4byte 0x85000400 _080D8500: .4byte gWeatherFog1Tiles _080D8504: .4byte 0x80000400 -_080D8508: .4byte gUnknown_08E6DE48 +_080D8508: .4byte gWeatherFog1Tilemap _080D850C: .4byte gUnknown_083970E8 _080D8510: .4byte 0x03004b20 _080D8514: .4byte 0x0000ffff @@ -201714,9 +201714,9 @@ _080DD164: .4byte 0x030041b4 _080DD168: .4byte REG_BG1HOFS _080DD16C: .4byte 0x040000d4 _080DD170: .4byte 0x85000400 -_080DD174: .4byte gUnknown_08E67ED8 -_080DD178: .4byte gUnknown_08E68054 -_080DD17C: .4byte gUnknown_08E68580 +_080DD174: .4byte gBattleAnimBackgroundTilemap_SandstormBrew +_080DD178: .4byte gBattleAnimBackgroundImage_SandstormBrew +_080DD17C: .4byte gBattleAnimSpritePalette_261 _080DD180: .4byte 0x03004b00 _080DD184: .4byte 0x0202f7c8 _080DD188: .4byte 0x03004b20 @@ -209175,7 +209175,7 @@ _080E0BB0: _080E0BC0: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 _080E0BCC: @@ -213963,7 +213963,7 @@ _080E3098: _080E30A8: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 _080E30B4: @@ -214494,7 +214494,7 @@ _080E3508: _080E3516: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 _080E3522: @@ -214534,7 +214534,7 @@ _080E3550: _080E3568: .4byte 0x02024a6a _080E356C: .4byte 0x03004360 _080E3570: .4byte 0x02024be0 -_080E3574: .4byte gUnknown_08D2DCDC +_080E3574: .4byte gBattleStatMask1_Tilemap _080E3578: ldr r0, _080E35B0 ldr r1, [sp, 0x4] @@ -214562,44 +214562,44 @@ _080E3598: ldr r0, _080E35B8 b _080E35FE .align 2, 0 -_080E35B0: .4byte gUnknown_08D2DDF8 -_080E35B4: .4byte gUnknown_08D2DACC -_080E35B8: .4byte gUnknown_08D2DF34 +_080E35B0: .4byte gBattleStatMask2_Tilemap +_080E35B4: .4byte gBattleStatMask_Gfx +_080E35B8: .4byte gBattleStatMask2_Pal _080E35BC: cmp r0, 0x1 bne _080E35C8 ldr r0, _080E35C4 b _080E35FE .align 2, 0 -_080E35C4: .4byte gUnknown_08D2DF14 +_080E35C4: .4byte gBattleStatMask1_Pal _080E35C8: cmp r0, 0x2 bne _080E35D4 ldr r0, _080E35D0 b _080E35FE .align 2, 0 -_080E35D0: .4byte gUnknown_08D2DF54 +_080E35D0: .4byte gBattleStatMask3_Pal _080E35D4: cmp r0, 0x3 bne _080E35E0 ldr r0, _080E35DC b _080E35FE .align 2, 0 -_080E35DC: .4byte gUnknown_08D2DF74 +_080E35DC: .4byte gBattleStatMask4_Pal _080E35E0: cmp r0, 0x4 bne _080E35EC ldr r0, _080E35E8 b _080E35FE .align 2, 0 -_080E35E8: .4byte gUnknown_08D2DFB4 +_080E35E8: .4byte gBattleStatMask6_Pal _080E35EC: cmp r0, 0x5 bne _080E35F8 ldr r0, _080E35F4 b _080E35FE .align 2, 0 -_080E35F4: .4byte gUnknown_08D2DFD4 +_080E35F4: .4byte gBattleStatMask7_Pal _080E35F8: cmp r0, 0x6 bne _080E3610 @@ -214612,7 +214612,7 @@ _080E35FE: bl LoadCompressedPalette b _080E361E .align 2, 0 -_080E360C: .4byte gUnknown_08D2DFF4 +_080E360C: .4byte gBattleStatMask8_Pal _080E3610: ldr r0, _080E3644 mov r1, sp @@ -214641,7 +214641,7 @@ _080E361E: strh r1, [r0, 0xA] b _080E3668 .align 2, 0 -_080E3644: .4byte gUnknown_08D2DF94 +_080E3644: .4byte gBattleStatMask5_Pal _080E3648: .4byte 0x030042c0 _080E364C: .4byte 0x030041b4 _080E3650: .4byte 0x03004b20 @@ -215581,7 +215581,7 @@ _080E3D7C: _080E3D8A: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 _080E3D96: @@ -220554,10 +220554,10 @@ _080E6380: _080E6388: .4byte gWindowConfig_81E6DA8 _080E638C: ldr r0, _080E63A0 - bl sub_8071C4C + bl InitMenuWindow ldr r0, _080E63A4 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen b _080E6402 .align 2, 0 _080E63A0: .4byte gWindowConfig_81E6D54 @@ -221646,12 +221646,12 @@ _080E6BFA: movs r0, 0x17 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu movs r0, 0x1 bl MoveMenuCursor b _080E6C3E _080E6C12: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -221737,7 +221737,7 @@ _080E6CA6: movs r0, 0x17 movs r1, 0x8 movs r2, 0 - bl sub_8072974 + bl DisplayYesNoMenu movs r0, 0x1 bl MoveMenuCursor ldrb r0, [r4, 0x8] @@ -221767,7 +221767,7 @@ _080E6CE8: .align 2, 0 _080E6CF0: .4byte 0x02001000 _080E6CF4: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -221781,7 +221781,7 @@ _080E6D06: movs r0, 0x17 movs r1, 0x8 movs r2, 0 - bl sub_8072974 + bl DisplayYesNoMenu movs r0, 0x1 bl MoveMenuCursor _080E6D1C: @@ -221790,7 +221790,7 @@ _080E6D1C: strh r0, [r4, 0x24] b _080E6D72 _080E6D24: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -221930,12 +221930,12 @@ _080E6E20: movs r0, 0x17 movs r1, 0x8 movs r2, 0 - bl sub_8072974 + bl DisplayYesNoMenu movs r0, 0 bl MoveMenuCursor b _080E6F3C _080E6E3C: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r6, r0, 24 cmp r6, 0 @@ -224362,7 +224362,7 @@ _080E809E: .align 2, 0 _080E80C4: .4byte 0x0200ae14 _080E80C8: .4byte 0xffff61f8 -_080E80CC: .4byte gUnknown_083DB678 +_080E80CC: .4byte gMysteryEventPhrase _080E80D0: adds r4, 0x1 adds r3, 0x1 @@ -224474,8 +224474,8 @@ _080E818A: .align 2, 0 _080E8198: .4byte 0x0200ae6e _080E819C: .4byte 0xffff6192 -_080E81A0: .4byte gUnknown_083DB680 -_080E81A4: .4byte gUnknown_083DB682 +_080E81A0: .4byte gBerryMasterWifePhrases +_080E81A4: .4byte gBerryMasterWifePhrases + 0x2 _080E81A8: lsls r0, r4, 16 lsrs r5, r0, 16 @@ -224530,7 +224530,7 @@ sub_80E81FC: @ 80E81FC movs r1, 0 movs r2, 0x1D movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_80E81FC @@ -224568,8 +224568,8 @@ sub_80E8218: @ 80E8218 pop {r0} bx r0 .align 2, 0 -_080E8260: .4byte gUnknown_083DBBB4 -_080E8264: .4byte gUnknown_083DBBDC +_080E8260: .4byte gSpriteSheets_Interview +_080E8264: .4byte gSpritePalettes_Interview thumb_func_end sub_80E8218 thumb_func_start sub_80E8268 @@ -226243,10 +226243,10 @@ _080E8F34: .4byte 0x00000d09 _080E8F38: .4byte gUnknown_08E945D0 _080E8F3C: .4byte gUnknown_083DB694 _080E8F40: .4byte gUnknown_08E953D0 -_080E8F44: .4byte gUnknown_08E8EE18 +_080E8F44: .4byte gMenuWordGroupFrame_Gfx _080E8F48: .4byte 0x06008000 _080E8F4C: .4byte 0x06006800 -_080E8F50: .4byte gUnknown_08E8F178 +_080E8F50: .4byte gMenuWordGroupFrame1_Pal _080E8F54: .4byte REG_BG2CNT _080E8F58: .4byte 0x00000e02 _080E8F5C: .4byte 0x06007000 @@ -226445,8 +226445,8 @@ _080E90DA: pop {r0} bx r0 .align 2, 0 -_080E90F4: .4byte gUnknown_08E8F19A -_080E90F8: .4byte gUnknown_08E8F1A0 +_080E90F4: .4byte gMenuWordGroupFrame2_Pal + 0x2 +_080E90F8: .4byte gMenuWordGroupFrame2_Pal + 0x8 _080E90FC: .4byte gUnknown_083DB694 _080E9100: .4byte 0x00009c34 _080E9104: .4byte 0x00009c32 @@ -226572,14 +226572,14 @@ sub_80E91D4: @ 80E91D4 lsrs r0, 24 adds r4, r0, 0 ldr r0, _080E91FC - bl sub_8071E2C + bl BasicInitMenuWindow cmp r4, 0xA bne _080E9200 movs r0, 0x3 movs r1, 0xE movs r2, 0x1A movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0xA bl sub_80E9198 b _080E935C @@ -226595,7 +226595,7 @@ _080E9200: movs r1, 0xE movs r2, 0x1A movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow _080E9218: adds r0, r4, 0 bl sub_80E9198 @@ -226825,7 +226825,7 @@ _080E93F8: movs r4, 0 _080E93FA: ldr r0, _080E943C - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080E9440 ldr r2, [r0] ldr r0, _080E9444 @@ -226851,7 +226851,7 @@ _080E93FA: adds r0, r5, 0 movs r1, 0 movs r2, 0 - bl Print + bl MenuPrint b _080E9476 .align 2, 0 _080E943C: .4byte gWindowConfig_81E6D8C @@ -226872,14 +226872,14 @@ _080E9450: adds r0, r5, 0 movs r1, 0 movs r2, 0 - bl Print + bl MenuPrint adds r0, r5, 0 movs r1, 0x1C movs r2, 0 - bl Print + bl MenuPrint _080E9476: ldr r0, _080E9488 - bl sub_8071E2C + bl BasicInitMenuWindow pop {r4,r5} pop {r0} bx r0 @@ -227028,7 +227028,7 @@ _080E95A0: .4byte gUnknown_08E94AD0 sub_80E95A4: @ 80E95A4 push {lr} ldr r0, _080E95C0 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080E95C4 ldr r0, [r0] ldrb r0, [r0, 0x9] @@ -227080,7 +227080,7 @@ _080E960A: bl sub_80E9620 _080E9612: ldr r0, _080E961C - bl sub_8071E2C + bl BasicInitMenuWindow pop {r0} bx r0 .align 2, 0 @@ -227160,7 +227160,7 @@ _080E969C: lsls r2, r7, 24 lsrs r2, 24 adds r0, r4, 0 - bl Print + bl MenuPrint mov r1, r9 lsls r0, r1, 1 add r0, r8 @@ -227202,7 +227202,7 @@ _080E96E4: lsls r2, r7, 24 lsrs r2, 24 ldr r0, _080E9740 - bl Print + bl MenuPrint _080E970A: ldr r1, [sp, 0x1C] lsls r0, r1, 16 @@ -227237,7 +227237,7 @@ _080E9740: .4byte gUnknown_083DBEA8 sub_80E9744: @ 80E9744 push {lr} ldr r0, _080E9760 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080E9764 ldr r0, [r0] ldrb r0, [r0, 0x9] @@ -227289,7 +227289,7 @@ _080E97AA: bl sub_80E97C0 _080E97B2: ldr r0, _080E97BC - bl sub_8071E2C + bl BasicInitMenuWindow pop {r0} bx r0 .align 2, 0 @@ -227402,7 +227402,7 @@ _080E985E: lsrs r1, r3, 24 mov r3, r9 lsrs r2, r3, 24 - bl Print + bl MenuPrint mov r1, r10 lsls r0, r1, 16 lsrs r5, r0, 16 @@ -227434,7 +227434,7 @@ _080E98C0: .4byte 0x0000ffff sub_80E98C4: @ 80E98C4 push {lr} ldr r0, _080E98E0 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080E98E4 ldr r0, [r0] ldrb r0, [r0, 0x9] @@ -227484,9 +227484,9 @@ _080E991E: lsrs r3, 24 movs r0, 0x2 movs r2, 0x1B - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldr r0, _080E993C - bl sub_8071E2C + bl BasicInitMenuWindow _080E9936: pop {r0} bx r0 @@ -227507,7 +227507,7 @@ sub_80E9940: @ 80E9940 adds r3, 0x1 movs r0, 0x2 movs r2, 0x1F - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile adds r0, r6, 0 adds r1, r5, 0 bl sub_80E9A7C @@ -227525,7 +227525,7 @@ sub_80E9940: @ 80E9940 sub_80E9974: @ 80E9974 push {r4-r6,lr} ldr r0, _080E99C4 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080E99C8 ldr r2, [r0] adds r0, r2, 0 @@ -227652,7 +227652,7 @@ sub_80E9A60: @ 80E9A60 lsrs r1, 24 lsrs r3, 16 adds r2, r3, 0 - bl Print + bl MenuPrint pop {r0} bx r0 thumb_func_end sub_80E9A60 @@ -227710,7 +227710,7 @@ _080E9AD0: .4byte gUnknown_083DB694 sub_80E9AD4: @ 80E9AD4 push {r4,lr} ldr r0, _080E9AF4 - bl sub_8071E2C + bl BasicInitMenuWindow movs r4, 0 _080E9ADE: adds r0, r4, 0 @@ -227791,7 +227791,7 @@ _080E9B58: cmp r0, 0x7 bne _080E9B94 ldr r0, _080E9B90 - bl sub_8071E2C + bl BasicInitMenuWindow b _080E9B9A .align 2, 0 _080E9B7C: .4byte gUnknown_083DB694 @@ -227802,7 +227802,7 @@ _080E9B8C: .4byte 0x00009a2a _080E9B90: .4byte gWindowConfig_81E6D70 _080E9B94: ldr r0, _080E9BE0 - bl sub_8071E2C + bl BasicInitMenuWindow _080E9B9A: ldr r2, _080E9BE4 ldr r4, [r2] @@ -227844,7 +227844,7 @@ _080E9BEC: .4byte 0x00009e14 _080E9BF0: .4byte 0x000099a6 _080E9BF4: ldr r0, _080E9C64 - bl sub_8071E2C + bl BasicInitMenuWindow movs r6, 0 ldr r1, _080E9C68 adds r0, r5, r1 @@ -227917,7 +227917,7 @@ sub_80E9C74: @ 80E9C74 adds r3, 0x1 movs r0, 0 movs r2, 0x1D - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile pop {r0} bx r0 thumb_func_end sub_80E9C74 @@ -228050,7 +228050,7 @@ _080E9D78: .4byte 0x0000ffff sub_80E9D7C: @ 80E9D7C push {r4-r7,lr} ldr r0, _080E9DAC - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080E9DB0 ldr r2, [r0] movs r0, 0xE0 @@ -238212,7 +238212,7 @@ _080EEE90: bl LZ77UnCompVram b _080EEF18 .align 2, 0 -_080EEE9C: .4byte gUnknown_08E88D4C +_080EEE9C: .4byte gPokenavHoennMapMisc_Gfx _080EEEA0: .4byte 0x0600c000 _080EEEA4: ldr r0, _080EEEB0 @@ -238229,7 +238229,7 @@ _080EEEB8: bl LoadPalette b _080EEF18 .align 2, 0 -_080EEEC4: .4byte gUnknown_08E89628 +_080EEEC4: .4byte gPokenavHoennMap1_Pal _080EEEC8: movs r0, 0 bl sub_80EF58C @@ -238752,12 +238752,12 @@ _080EF2EA: _080EF2F4: .4byte gWindowConfig_81E7224 _080EF2F8: ldr r0, _080EF300 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _080EF40C .align 2, 0 _080EF300: .4byte gWindowConfig_81E7224 _080EF304: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080EF30E b _080EF40C @@ -238937,7 +238937,7 @@ _080EF464: adds r0, r4, 0 movs r1, 0x3 movs r2, 0x11 - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -239506,17 +239506,17 @@ _080EF8D2: _080EF8DC: .4byte gWindowConfig_81E7224 _080EF8E0: ldr r0, _080EF8E8 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _080EF9DC .align 2, 0 _080EF8E8: .4byte gWindowConfig_81E7224 _080EF8EC: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _080EF9DC b _080EF9EA _080EF8F6: - bl sub_8071EF4 + bl MenuZeroFillScreen b _080EF9DC _080EF8FC: ldr r0, _080EF914 @@ -239546,7 +239546,7 @@ _080EF92C: bl LZ77UnCompVram b _080EF9DC .align 2, 0 -_080EF938: .4byte gUnknown_08E892C4 +_080EF938: .4byte gPokenavHoennMapSquares_Gfx _080EF93C: .4byte 0x06005000 _080EF940: ldr r0, _080EF950 @@ -239556,7 +239556,7 @@ _080EF940: bl sub_80EFC3C b _080EF9DC .align 2, 0 -_080EF950: .4byte gUnknown_08E89648 +_080EF950: .4byte gPokenavHoennMapSquares_Pal _080EF954: bl sub_80EFC64 lsls r0, 24 @@ -239568,7 +239568,7 @@ _080EF960: movs r1, 0x3 movs r2, 0x1D movs r3, 0x11 - bl DrawDefaultWindow + bl MenuDrawTextWindow bl sub_80EF9F8 b _080EF9DC _080EF972: @@ -239768,12 +239768,12 @@ _080EFAC0: adds r1, r4, 0 movs r2, 0xF movs r3, 0xF - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile movs r0, 0x1A adds r1, r4, 0 movs r2, 0x1C movs r3, 0xF - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldr r0, _080EFB48 ldr r3, [r6] movs r1, 0 @@ -239822,7 +239822,7 @@ _080EFB6A: movs r0, 0xE movs r2, 0x1C movs r3, 0xF - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile _080EFB82: ldr r0, _080EFB98 ldr r0, [r0] @@ -240396,19 +240396,19 @@ _080EFFE8: _080EFFF0: .4byte gWindowConfig_81E7080 _080EFFF4: ldr r0, _080EFFFC - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _080F0154 .align 2, 0 _080EFFFC: .4byte gWindowConfig_81E7080 _080F0000: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080F000A b _080F0154 _080F000A: b _080F0162 _080F000C: - bl sub_8071EF4 + bl MenuZeroFillScreen b _080F0154 _080F0012: bl sub_80F1614 @@ -240428,7 +240428,7 @@ _080F0028: bl LZ77UnCompVram b _080F0154 .align 2, 0 -_080F0034: .4byte gUnknown_08E89AD8 +_080F0034: .4byte gPokenavConditionView_Gfx _080F0038: .4byte 0x06005000 _080F003C: ldr r0, _080F0050 @@ -240442,7 +240442,7 @@ _080F003C: .align 2, 0 _080F0050: .4byte gUnknown_08E9AC4C _080F0054: .4byte 0x0600f000 -_080F0058: .4byte gUnknown_08E8A1C0 +_080F0058: .4byte gPokenavConditionMenu2_Pal _080F005C: ldr r0, _080F0088 ldr r0, [r0] @@ -240507,7 +240507,7 @@ _080F00AC: .align 2, 0 _080F00EC: .4byte gUnknown_083E0254 _080F00F0: .4byte gUnknownPalette_81E6692 -_080F00F4: .4byte gUnknown_08E8A1C0 + 0x2 +_080F00F4: .4byte gPokenavConditionMenu2_Pal + 0x2 _080F00F8: ldr r0, _080F0110 ldr r0, [r0] @@ -240642,7 +240642,7 @@ sub_80F01E0: @ 80F01E0 adds r0, r5, r0 movs r1, 0xD movs r2, 0x1 - bl Print + bl MenuPrint ldr r1, _080F0250 adds r0, r5, r1 ldrb r0, [r0] @@ -240656,7 +240656,7 @@ sub_80F01E0: @ 80F01E0 adds r0, r5, r0 movs r1, 0xD movs r2, 0x3 - bl Print + bl MenuPrint ldr r0, _080F0258 adds r4, r5, r0 ldr r1, _080F025C @@ -240675,7 +240675,7 @@ sub_80F01E0: @ 80F01E0 adds r0, r4, 0 movs r1, 0x1 movs r2, 0x6 - bl Print + bl MenuPrint _080F0242: pop {r4,r5} pop {r0} @@ -240797,19 +240797,19 @@ _080F0344: _080F034C: .4byte gWindowConfig_81E70D4 _080F0350: ldr r0, _080F0358 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _080F0618 .align 2, 0 _080F0358: .4byte gWindowConfig_81E70D4 _080F035C: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080F0366 b _080F0618 _080F0366: b _080F0626 _080F0368: - bl sub_8071EF4 + bl MenuZeroFillScreen b _080F0618 _080F036E: ldr r0, _080F0378 @@ -240825,7 +240825,7 @@ _080F0380: bl LZ77UnCompVram b _080F0618 .align 2, 0 -_080F038C: .4byte gUnknown_08E9FA08 +_080F038C: .4byte gPokenavConditionSearch2_Gfx _080F0390: .4byte 0x06008000 _080F0394: ldr r6, _080F03FC @@ -240878,7 +240878,7 @@ _080F03FC: .4byte gUnknown_083E02B4 _080F0400: .4byte gUnknown_083E0334 _080F0404: .4byte gUnknown_083DFEC4 _080F0408: .4byte 0x000087ca -_080F040C: .4byte gUnknown_083E0294 +_080F040C: .4byte gPokenavConditionSearch2_Pal _080F0410: .4byte 0x0202eac8 _080F0414: .4byte gUnknownPalette_81E6692 _080F0418: @@ -241354,14 +241354,14 @@ _080F07E0: bl sub_80F445C _080F07F4: ldr r0, _080F0814 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080F0818 ldr r0, [r0] ldr r1, _080F0810 adds r0, r1 movs r1, 0x1 movs r2, 0x6 - bl Print + bl MenuPrint _080F080A: pop {r0} bx r0 @@ -241377,7 +241377,7 @@ sub_80F081C: @ 80F081C lsls r0, 24 lsrs r5, r0, 24 ldr r0, _080F0838 - bl sub_8071E2C + bl BasicInitMenuWindow cmp r5, 0x4 bhi _080F08C6 lsls r0, r5, 2 @@ -241399,7 +241399,7 @@ _080F0854: ldr r0, _080F08CC movs r1, 0xA movs r2, 0x9 - bl PrintCoinsString + bl sub_8072B4C cmp r5, 0 bne _080F08C6 _080F0862: @@ -241419,14 +241419,14 @@ _080F0862: adds r0, r4, 0 movs r1, 0xA movs r2, 0xB - bl PrintCoinsString + bl sub_8072B4C cmp r5, 0 bne _080F08C6 _080F088C: ldr r0, _080F08DC movs r1, 0xA movs r2, 0xD - bl PrintCoinsString + bl sub_8072B4C cmp r5, 0 bne _080F08C6 _080F089A: @@ -241449,7 +241449,7 @@ _080F08AA: adds r0, r4, 0 movs r1, 0xA movs r2, 0xF - bl PrintCoinsString + bl sub_8072B4C _080F08C6: pop {r4,r5} pop {r0} @@ -241467,12 +241467,12 @@ _080F08E0: .4byte 0x0001869f sub_80F08E4: @ 80F08E4 push {lr} ldr r0, _080F08FC - bl sub_8071E2C + bl BasicInitMenuWindow movs r0, 0 movs r1, 0x9 movs r2, 0xB movs r3, 0x10 - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 .align 2, 0 @@ -241500,7 +241500,7 @@ sub_80F0900: @ 80F0900 movs r1, 0x1 movs r2, 0x1F movs r3, 0xF - bl Reset + bl MenuZeroFillWindowRect _080F092A: ldrh r0, [r5] lsrs r2, r4, 16 @@ -241652,12 +241652,12 @@ _080F0A40: adds r1, r3, 0 bl sub_80F4428 ldr r0, _080F0A70 - bl sub_8071E2C + bl BasicInitMenuWindow lsls r2, r5, 24 lsrs r2, 24 adds r0, r4, 0 movs r1, 0xD - bl Print + bl MenuPrint pop {r4,r5} pop {r0} bx r0 @@ -241686,7 +241686,7 @@ sub_80F0A74: @ 80F0A74 movs r0, 0x1F ands r7, r0 ldr r0, _080F0AE4 - bl sub_8071E2C + bl BasicInitMenuWindow lsls r2, r7, 3 adds r0, r4, 0 movs r1, 0x61 @@ -241813,12 +241813,12 @@ _080F0B60: cmp r2, r0 beq _080F0BAA ldr r0, _080F0BC8 - bl sub_8071E2C + bl BasicInitMenuWindow adds r1, r4, 0 adds r3, r1, 0x1 movs r0, 0xC movs r2, 0x1F - bl Reset + bl MenuZeroFillWindowRect _080F0BAA: ldrh r0, [r6] cmp r0, 0 @@ -241836,7 +241836,7 @@ _080F0BC4: .4byte 0x0000876c _080F0BC8: .4byte gWindowConfig_81E70D4 _080F0BCC: ldr r0, _080F0C10 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r1, _080F0C14 adds r0, r5, r1 ldrh r0, [r0] @@ -241850,7 +241850,7 @@ _080F0BE2: movs r0, 0xC adds r1, r4, 0 movs r2, 0x1F - bl Reset + bl MenuZeroFillWindowRect adds r4, 0x2 movs r0, 0x1F ands r4, r0 @@ -241929,7 +241929,7 @@ _080F0C64: movs r0, 0 strh r0, [r1] ldr r0, _080F0CC4 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080F0CC8 adds r1, r4, r0 ldrh r0, [r5] @@ -242067,7 +242067,7 @@ _080F0D8C: movs r0, 0 strh r0, [r1] ldr r0, _080F0DBC - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _080F0DC0 adds r1, r4, r0 ldrh r3, [r5] @@ -242266,12 +242266,12 @@ _080F0F10: movs r0, 0x1F ands r4, r0 ldr r0, _080F0F60 - bl sub_8071E2C + bl BasicInitMenuWindow adds r3, r4, 0x1 movs r0, 0xC adds r1, r4, 0 movs r2, 0x1F - bl Reset + bl MenuZeroFillWindowRect ldrh r0, [r5] adds r0, 0x1 strh r0, [r5] @@ -242385,7 +242385,7 @@ sub_80F0FFC: @ 80F0FFC movs r2, 0 bl sub_80FBFB4 ldr r0, _080F1054 - bl sub_8071E2C + bl BasicInitMenuWindow adds r0, r5, 0 bl sub_80F19DC ldr r0, _080F1058 @@ -242398,7 +242398,7 @@ sub_80F0FFC: @ 80F0FFC adds r0, r4, 0 movs r1, 0 movs r2, 0x5 - bl Print + bl MenuPrint pop {r4,r5} pop {r0} bx r0 @@ -242488,19 +242488,19 @@ _080F1104: _080F110C: .4byte gWindowConfig_81E70B8 _080F1110: ldr r0, _080F1118 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _080F1218 .align 2, 0 _080F1118: .4byte gWindowConfig_81E70B8 _080F111C: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080F1126 b _080F1218 _080F1126: b _080F1226 _080F1128: - bl sub_8071EF4 + bl MenuZeroFillScreen b _080F1218 _080F112E: bl sub_80F1614 @@ -242536,7 +242536,7 @@ _080F116C: bl LZ77UnCompVram b _080F1218 .align 2, 0 -_080F1178: .4byte gUnknown_08E9FB1C +_080F1178: .4byte gPokenavRibbonView_Gfx _080F117C: .4byte 0x06008000 _080F1180: ldr r0, _080F118C @@ -242571,7 +242571,7 @@ _080F1194: bl LoadPalette b _080F1218 .align 2, 0 -_080F11CC: .4byte gUnknown_08E9FAFC +_080F11CC: .4byte gPokenavRibbonView_Pal _080F11D0: .4byte gUnknown_083E03A8 _080F11D4: .4byte gUnknown_083E3C60 _080F11D8: .4byte gUnknownPalette_81E6692 @@ -242873,7 +242873,7 @@ _080F1424: .4byte 0x0600b800 _080F1428: .4byte 0x040000d4 _080F142C: .4byte 0x84000140 _080F1430: .4byte 0x0202eac8 -_080F1434: .4byte gUnknown_08E9FB18 +_080F1434: .4byte gPokenavRibbonView_Pal + 0x1C thumb_func_end sub_80F13FC thumb_func_start sub_80F1438 @@ -242885,7 +242885,7 @@ sub_80F1438: @ 80F1438 adds r0, r4, r1 movs r1, 0xD movs r2, 0x1 - bl Print + bl MenuPrint ldr r0, _080F1478 adds r5, r4, r0 ldr r1, _080F147C @@ -242899,7 +242899,7 @@ sub_80F1438: @ 80F1438 adds r0, r5, 0 movs r1, 0x1 movs r2, 0x5 - bl Print + bl MenuPrint pop {r4,r5} pop {r0} bx r0 @@ -242917,7 +242917,7 @@ sub_80F1480: @ 80F1480 movs r1, 0xD movs r2, 0x1B movs r3, 0x10 - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_80F1480 @@ -243038,11 +243038,11 @@ _080F158A: adds r0, r6, 0 movs r1, 0xC movs r2, 0xD - bl Print + bl MenuPrint adds r0, r7, 0 movs r1, 0xC movs r2, 0xF - bl Print + bl MenuPrint pop {r4-r7} pop {r0} bx r0 @@ -243057,7 +243057,7 @@ sub_80F15A8: @ 80F15A8 movs r1, 0xD movs r2, 0x1B movs r3, 0x10 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080F1600 ldr r4, [r0] ldr r0, _080F1604 @@ -243088,7 +243088,7 @@ sub_80F15A8: @ 80F15A8 adds r0, r5, 0 movs r1, 0xC movs r2, 0xD - bl Print + bl MenuPrint pop {r4,r5} pop {r0} bx r0 @@ -243159,7 +243159,7 @@ _080F1670: ldr r0, [r0, 0x8] b _080F16F0 .align 2, 0 -_080F1684: .4byte gUnknown_08EA0028 +_080F1684: .4byte gPokenavRibbonPokeView_Gfx _080F1688: .4byte 0x0600e000 _080F168C: .4byte 0x040000d4 _080F1690: .4byte 0x80000070 @@ -243347,7 +243347,7 @@ _080F17FE: bl LZ77UnCompVram b _080F1914 .align 2, 0 -_080F1808: .4byte gUnknown_08E89AD8 +_080F1808: .4byte gPokenavConditionView_Gfx _080F180C: .4byte 0x06005000 _080F1810: ldr r0, _080F1824 @@ -243361,7 +243361,7 @@ _080F1810: .align 2, 0 _080F1824: .4byte gUnknown_08E9AC4C _080F1828: .4byte 0x0600f000 -_080F182C: .4byte gUnknown_08E8A1C0 +_080F182C: .4byte gPokenavConditionMenu2_Pal _080F1830: ldr r0, _080F1850 ldr r3, _080F1854 @@ -243417,7 +243417,7 @@ _080F186C: .align 2, 0 _080F18AC: .4byte gUnknown_083E0254 _080F18B0: .4byte gUnknownPalette_81E6692 -_080F18B4: .4byte gUnknown_08E8A1C0 + 0x2 +_080F18B4: .4byte gPokenavConditionMenu2_Pal + 0x2 _080F18B8: ldr r0, _080F18D0 ldr r0, [r0] @@ -243626,7 +243626,7 @@ _080F1A46: movs r0, 0xE movs r2, 0x1C movs r3, 0xF - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile movs r0, 0 strb r0, [r5] _080F1A60: @@ -243754,7 +243754,7 @@ _080F1B34: lsls r2, 2 b _080F1B44 .align 2, 0 -_080F1B3C: .4byte gUnknown_08E884CC +_080F1B3C: .4byte gPokenavMenuOptions_Gfx _080F1B40: ldr r0, _080F1B4C ldr r2, _080F1B50 @@ -243763,7 +243763,7 @@ _080F1B44: bl LZ77UnCompWram b _080F1B6C .align 2, 0 -_080F1B4C: .4byte gUnknown_08E89668 +_080F1B4C: .4byte gPokenavConditionMenu_Gfx _080F1B50: .4byte 0x00001788 _080F1B54: ldr r0, _080F1B64 @@ -243773,7 +243773,7 @@ _080F1B54: movs r0, 0 b _080F1B7C .align 2, 0 -_080F1B64: .4byte gUnknown_08E8AD04 +_080F1B64: .4byte gPokenavConditionSearch_Gfx _080F1B68: .4byte 0x00002388 _080F1B6C: ldr r0, _080F1B84 @@ -245105,9 +245105,9 @@ _080F2532: ldr r0, _080F2554 b _080F257A .align 2, 0 -_080F254C: .4byte gUnknown_08E88A28 +_080F254C: .4byte gPokenavMenuOptions1_Pal _080F2550: .4byte 0xffff0000 -_080F2554: .4byte gUnknown_08E88A48 +_080F2554: .4byte gPokenavMenuOptions2_Pal _080F2558: ldr r0, _080F2564 str r0, [sp] @@ -245116,7 +245116,7 @@ _080F2558: strh r0, [r1, 0x4] b _080F2580 .align 2, 0 -_080F2564: .4byte gUnknown_08E89958 +_080F2564: .4byte gPokenavConditionMenu_Pal _080F2568: ldr r0, _080F2590 str r0, [sp] @@ -245139,8 +245139,8 @@ _080F2586: pop {r0} bx r0 .align 2, 0 -_080F2590: .4byte gUnknown_08E8B1C4 -_080F2594: .4byte gUnknown_08E8B1E4 +_080F2590: .4byte gPokenavCondition6_Pal +_080F2594: .4byte gPokenavCondition7_Pal thumb_func_end sub_80F2514 thumb_func_start sub_80F2598 @@ -245189,8 +245189,8 @@ sub_80F2598: @ 80F2598 _080F25F0: .4byte gUnknown_083DFEC4 _080F25F4: .4byte 0x00006d9c _080F25F8: .4byte 0x02025734 -_080F25FC: .4byte gUnknown_083E446C -_080F2600: .4byte gUnknown_083E4474 +_080F25FC: .4byte gSpriteSheet_PokenavBlueLight +_080F2600: .4byte gSpritePalette_PokenavBlueLight _080F2604: .4byte gSpriteTemplate_83E4484 _080F2608: .4byte 0x02020004 _080F260C: @@ -245326,7 +245326,7 @@ _080F2704: ldr r2, _080F2718 b _080F279C .align 2, 0 -_080F2710: .4byte gUnknown_08E88358 +_080F2710: .4byte gPokenavMainMenu_Gfx _080F2714: .4byte gUnknown_083DFEC4 _080F2718: .4byte 0x00003b98 _080F271C: @@ -245336,7 +245336,7 @@ _080F271C: ldr r2, _080F2730 b _080F279C .align 2, 0 -_080F2728: .4byte gUnknown_08E89978 +_080F2728: .4byte gPokenavConditionMenuHeader_Gfx _080F272C: .4byte gUnknown_083DFEC4 _080F2730: .4byte 0x00004198 _080F2734: @@ -245346,7 +245346,7 @@ _080F2734: ldr r2, _080F2748 b _080F279C .align 2, 0 -_080F2740: .4byte gUnknown_08E8B3A0 +_080F2740: .4byte gPokenavRibbonsHeader_Gfx _080F2744: .4byte gUnknown_083DFEC4 _080F2748: .4byte 0x00004d98 _080F274C: @@ -245356,7 +245356,7 @@ _080F274C: ldr r2, _080F2760 b _080F279C .align 2, 0 -_080F2758: .4byte gUnknown_08E88A88 +_080F2758: .4byte gPokenavHoennMapHeader_Gfx _080F275C: .4byte gUnknown_083DFEC4 _080F2760: .4byte 0x00005398 _080F2764: @@ -245366,7 +245366,7 @@ _080F2764: ldr r2, _080F2778 b _080F279C .align 2, 0 -_080F2770: .4byte gUnknown_08E8A1E0 +_080F2770: .4byte gPokenavConditionMenuOptions_Gfx _080F2774: .4byte gUnknown_083DFEC4 _080F2778: .4byte 0x00005f98 _080F277C: @@ -245376,7 +245376,7 @@ _080F277C: ldr r2, _080F2790 b _080F279C .align 2, 0 -_080F2788: .4byte gUnknown_08E8A5D8 +_080F2788: .4byte gPokenavConditionMenuOptions2_Gfx _080F278C: .4byte gUnknown_083DFEC4 _080F2790: .4byte 0x00006798 _080F2794: @@ -245389,7 +245389,7 @@ _080F279C: bl LZ77UnCompWram b _080F27C0 .align 2, 0 -_080F27A4: .4byte gUnknown_08E8B204 +_080F27A4: .4byte gPokenavTrainersEyesHeader_Gfx _080F27A8: .4byte gUnknown_083DFEC4 _080F27AC: .4byte 0x00004798 _080F27B0: @@ -249171,7 +249171,7 @@ _080F44C8: adds r0, r1 adds r1, r4, 0 adds r2, r3, 0 - bl PokemonGetField + bl GetMonData b _080F453C .align 2, 0 _080F44DC: .4byte 0x03004360 @@ -249181,7 +249181,7 @@ _080F44E0: ldr r1, _080F44F0 adds r0, r1 adds r1, r4, 0 - bl PokemonGetField + bl GetMonData b _080F453C .align 2, 0 _080F44F0: .4byte 0x03004360 @@ -249204,7 +249204,7 @@ _080F44FC: adds r0, r1 adds r1, r4, 0 adds r2, r3, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData b _080F453C .align 2, 0 _080F451C: .4byte 0x020300a4 @@ -249221,7 +249221,7 @@ _080F4520: adds r1, r2 adds r0, r1 adds r1, r4, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData _080F453C: pop {r4} pop {r1} @@ -249248,7 +249248,7 @@ sub_80F4548: @ 80F4548 adds r0, r1 movs r1, 0x8 mov r2, sp - bl pokemon_setattr + bl SetMonData b _080F4592 .align 2, 0 _080F4570: .4byte 0x03004360 @@ -249266,7 +249266,7 @@ _080F4574: adds r0, r1 movs r1, 0x8 mov r2, sp - bl PokemonSetEncryptedField + bl SetMonBoxData _080F4592: add sp, 0x4 pop {r4} @@ -250071,7 +250071,7 @@ _080F4BF6: ldr r1, _080F4CCC adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080F4C58 mov r0, r10 @@ -250308,7 +250308,7 @@ _080F4DCA: add r1, r8 adds r0, r1 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _080F4E60 ldrb r0, [r6] @@ -250324,7 +250324,7 @@ _080F4DCA: add r1, r8 adds r0, r1 movs r1, 0x2D - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _080F4E60 ldrb r1, [r6] @@ -250356,7 +250356,7 @@ _080F4DCA: adds r0, r1 mov r2, r9 ldrb r1, [r2] - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 24 lsrs r0, 24 ldr r2, _080F4EB4 @@ -250429,7 +250429,7 @@ _080F4ED6: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _080F4F18 movs r0, 0x1F @@ -250448,7 +250448,7 @@ _080F4ED6: adds r0, r2 ldrb r1, [r0] adds r0, r4, 0 - bl PokemonGetField + bl GetMonData strb r0, [r5] mov r0, sp bl sub_80F4944 @@ -253020,7 +253020,7 @@ _080F629A: add r1, r8 adds r0, r1 movs r1, 0x51 - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _080F636C ldrb r0, [r5] @@ -253036,7 +253036,7 @@ _080F629A: add r1, r9 adds r0, r1 movs r1, 0x51 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 cmp r1, 0 bne _080F636C @@ -253084,7 +253084,7 @@ _080F632A: ldr r1, _080F635C adds r0, r1 movs r1, 0x51 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080F6324 ldr r0, _080F6360 @@ -253200,7 +253200,7 @@ _080F63FC: adds r1, r2 adds r0, r1 movs r1, 0x51 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 @@ -253272,7 +253272,7 @@ _080F64A8: ldr r1, _080F64FC adds r0, r1 movs r1, 0x51 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 @@ -253382,7 +253382,7 @@ _080F655E: adds r4, r0 adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] @@ -254979,7 +254979,7 @@ sub_80F7224: @ 80F7224 ldr r1, _080F7260 adds r0, r1 movs r1, 0x30 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r2, r0, 24 ldr r0, _080F7264 @@ -255030,7 +255030,7 @@ sub_80F728C: @ 80F728C ldr r0, _080F72C4 ldrb r0, [r0, 0x14] lsrs r0, 3 - bl sub_8064FD4 + bl GetTextWindowFrameGraphics ldr r3, _080F72C8 ldr r2, [r3] ldr r1, [r0] @@ -255407,7 +255407,7 @@ _080F7558: b _080F75FE .align 2, 0 _080F7580: .4byte 0x020388b8 -_080F7584: .4byte gUnknown_08E8A7C4 +_080F7584: .4byte gPokenavConditionMenuMisc_Gfx _080F7588: .4byte 0x03001770 _080F758C: movs r0, 0x80 @@ -255740,7 +255740,7 @@ _080F7770: b _080F787A .align 2, 0 _080F7820: .4byte 0x020388b8 -_080F7824: .4byte gUnknown_08E8A7C4 +_080F7824: .4byte gPokenavConditionMenuMisc_Gfx _080F7828: .4byte gUnknown_08E966B8 _080F782C: .4byte gUnknown_083E5214 _080F7830: .4byte gSpriteAnimTable_83E52AC @@ -256323,7 +256323,7 @@ sub_80F7C54: @ 80F7C54 ldr r0, _080F7C6C ldrb r0, [r0] bl sub_80F7F80 - bl sub_8071FFC + bl MenuDisplayMessageBox bl sub_80655F0 pop {r0} bx r0 @@ -257799,7 +257799,7 @@ sub_80F8758: @ 80F8758 movs r0, 0 movs r1, 0 movs r2, 0x19 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r4, 0 ldr r1, _080F87BC ldrb r0, [r1, 0x4] @@ -257812,7 +257812,7 @@ _080F8784: bl sub_80F8478 lsrs r2, r5, 24 movs r1, 0x1 - bl Print + bl MenuPrint movs r1, 0x80 lsls r1, 18 adds r5, r1 @@ -257831,7 +257831,7 @@ _080F87A4: adds r2, r1 lsrs r2, 24 movs r1, 0x1 - bl Print + bl MenuPrint pop {r4-r6} pop {r0} bx r0 @@ -257912,7 +257912,7 @@ _080F8848: movs r1, 0 movs r2, 0x19 movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect adds r0, r6, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running @@ -258266,19 +258266,19 @@ _080F8B10: _080F8B18: .4byte gWindowConfig_81E6DFC _080F8B1C: ldr r0, _080F8B24 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _080F8D30 .align 2, 0 _080F8B24: .4byte gWindowConfig_81E6DFC _080F8B28: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 beq _080F8B32 b _080F8D30 _080F8B32: b _080F8D3C _080F8B34: - bl sub_8071EF4 + bl MenuZeroFillScreen b _080F8D30 _080F8B3A: mov r0, sp @@ -258734,7 +258734,7 @@ _080F8E9E: lsls r2, 24 lsrs r2, 24 adds r0, r5, 0 - bl Print + bl MenuPrint adds r0, r6, 0x2 lsls r0, 24 lsrs r6, r0, 24 @@ -258753,7 +258753,7 @@ _080F8EF6: ldrb r1, [r1] ldr r2, [r0, 0x34] ldrb r2, [r2, 0x1] - bl Print + bl MenuPrint pop {r3} mov r8, r3 pop {r4-r7} @@ -258934,7 +258934,7 @@ sav2_get_text_speed: @ 80F9058 adds r5, r0, 0 lsls r1, 16 lsrs r4, r1, 16 - bl sub_8071FFC + bl MenuDisplayMessageBox cmp r4, 0 beq _080F907C ldr r0, _080F908C @@ -258961,7 +258961,7 @@ sub_80F9090: @ 80F9090 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -259013,7 +259013,7 @@ Task_CallYesOrNoCallback: @ 80F90F4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -259123,7 +259123,7 @@ _080F91D4: ldr r0, _080F91E8 adds r1, r7, 0 adds r2, r6, 0 - bl Print + bl MenuPrint add sp, 0x4 pop {r4-r7} pop {r0} @@ -259173,7 +259173,7 @@ _080F9238: adds r0, r6, 0 adds r1, r7, 0 adds r2, r5, 0 - bl Print + bl MenuPrint _080F9242: pop {r3} mov r8, r3 @@ -260934,7 +260934,7 @@ _080F9F48: adds r0, r1 adds r1, r4, 0 adds r1, 0xD - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080F9F66 ldrh r0, [r5] @@ -260969,7 +260969,7 @@ sub_80F9F84: @ 80F9F84 ldrh r1, [r0] adds r1, 0xD adds r0, r5, 0 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -261014,7 +261014,7 @@ sub_80F9FDC: @ 80F9FDC str r0, [sp, 0x8] mov r0, r8 ldr r1, [sp, 0x8] - bl PokemonGetField + bl GetMonData mov r1, sp adds r1, 0x2 str r1, [sp, 0x14] @@ -261024,7 +261024,7 @@ sub_80F9FDC: @ 80F9FDC str r3, [sp, 0xC] mov r0, r8 adds r1, r3, 0 - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] adds r7, r5, 0 @@ -261032,7 +261032,7 @@ sub_80F9FDC: @ 80F9FDC str r7, [sp, 0x10] mov r0, r8 adds r1, r7, 0 - bl PokemonGetField + bl GetMonData mov r1, sp adds r1, 0x5 str r1, [sp, 0x18] @@ -261042,13 +261042,13 @@ sub_80F9FDC: @ 80F9FDC str r3, [sp, 0x1C] mov r0, r8 adds r1, r3, 0 - bl PokemonGetField + bl GetMonData add r7, sp, 0x4 mov r10, r7 strb r0, [r7] mov r0, r8 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r6, sp adds r6, 0x6 strb r0, [r6] @@ -261087,23 +261087,23 @@ sub_80F9FDC: @ 80F9FDC mov r0, r8 ldr r1, [sp, 0x8] mov r2, sp - bl pokemon_setattr + bl SetMonData mov r0, r8 ldr r1, [sp, 0xC] ldr r2, [sp, 0x14] - bl pokemon_setattr + bl SetMonData mov r0, r8 ldr r1, [sp, 0x10] mov r2, r10 - bl pokemon_setattr + bl SetMonData mov r0, r8 ldr r1, [sp, 0x1C] ldr r2, [sp, 0x18] - bl pokemon_setattr + bl SetMonData mov r0, r8 movs r1, 0x15 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData add sp, 0x20 pop {r3-r5} mov r8, r3 @@ -261183,7 +261183,7 @@ sub_80FA148: @ 80FA148 movs r1, 0 strh r1, [r4] movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080FA16A movs r0, 0x1 @@ -265343,8 +265343,8 @@ _080FC104: _080FC10C: .4byte gWindowConfig_81E7224 _080FC110: ldr r0, _080FC11C - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen b _080FC1E6 .align 2, 0 _080FC11C: .4byte gWindowConfig_81E7224 @@ -265519,12 +265519,12 @@ _080FC268: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r5, 0 adds r0, 0x8 movs r1, 0x11 movs r2, 0xF - bl Print + bl MenuPrint ldrb r0, [r5, 0x1F] ldr r1, [r4] lsls r0, 2 @@ -265532,7 +265532,7 @@ _080FC268: ldr r0, [r0] movs r1, 0x1D movs r2, 0x11 - bl PrintCoinsString + bl sub_8072B4C b _080FC310 .align 2, 0 _080FC2AC: .4byte 0x02000000 @@ -265551,16 +265551,16 @@ _080FC2BE: movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _080FC2E8 movs r1, 0x11 movs r2, 0x11 - bl Print + bl MenuPrint movs r0, 0x10 movs r1, 0xE movs r2, 0x1D movs r3, 0xF - bl Reset + bl MenuZeroFillWindowRect b _080FC310 .align 2, 0 _080FC2E8: .4byte 0x02000008 @@ -265569,17 +265569,17 @@ _080FC2EC: movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r1, _080FC318 adds r0, r4, r1 movs r1, 0x11 movs r2, 0x11 - bl Print + bl MenuPrint movs r0, 0x10 movs r1, 0xE movs r2, 0x1D movs r3, 0xF - bl Reset + bl MenuZeroFillWindowRect _080FC310: pop {r4,r5} pop {r0} @@ -269652,12 +269652,12 @@ sub_80FE1DC: @ 80FE1DC movs r1, 0 movs r2, 0xA movs r3, 0x9 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _080FE218 movs r0, 0x1 movs r1, 0x1 movs r2, 0x4 - bl PrintStringArray + bl PrintMenuItems ldr r0, _080FE21C ldrb r0, [r0] str r0, [sp] @@ -269870,7 +269870,7 @@ sub_80FE394: @ 80FE394 movs r1, 0xF movs r2, 0x1B movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldr r1, _080FE3BC ldr r0, _080FE3C0 ldrb r0, [r0] @@ -269879,7 +269879,7 @@ sub_80FE394: @ 80FE394 ldr r0, [r0] movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint pop {r0} bx r0 .align 2, 0 @@ -269897,12 +269897,12 @@ gpu_pal_decompress_alloc_tag_and_upload: @ 80FE3C4 movs r1, 0 movs r2, 0xA movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x2 movs r1, 0xF movs r2, 0x1B movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile movs r0, 0x6 bl FreeSpritePaletteByTag ldr r0, _080FE404 @@ -270045,7 +270045,7 @@ sub_80FE470: @ 80FE470 ldr r0, _080FE51C mov r1, r8 mov r2, r9 - bl Print + bl MenuPrint pop {r3-r5} mov r8, r3 mov r9, r4 @@ -270069,7 +270069,7 @@ sub_80FE528: @ 80FE528 movs r1, 0 movs r2, 0xE movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r5, 0 ldr r1, _080FE574 lsls r0, r4, 2 @@ -270119,7 +270119,7 @@ _080FE58E: ldr r0, _080FE5A8 movs r1, 0x1 movs r2, 0x11 - bl Print + bl MenuPrint pop {r4,r5} pop {r0} bx r0 @@ -270139,7 +270139,7 @@ sub_80FE5AC: @ 80FE5AC movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_80FE528 ldr r0, _080FE5F8 @@ -270269,7 +270269,7 @@ _080FE6DC: movs r1, 0 movs r2, 0xE movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080FE6FC ldr r2, _080FE700 adds r0, r5, 0 @@ -270335,7 +270335,7 @@ sub_80FE758: @ 80FE758 movs r1, 0 movs r2, 0xE movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _080FE794 lsls r0, r4, 2 adds r0, r4 @@ -270346,7 +270346,7 @@ sub_80FE758: @ 80FE758 cmp r0, 0x2 beq _080FE79C bl sub_80FE1DC - bl sub_8071FFC + bl MenuDisplayMessageBox bl sub_80FE394 ldr r0, _080FE798 str r0, [r5] @@ -270413,7 +270413,7 @@ sub_80FE7EC: @ 80FE7EC movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_80FEC94 ldr r0, _080FE858 @@ -270423,7 +270423,7 @@ sub_80FE7EC: @ 80FE7EC movs r1, 0xC movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r4, _080FE85C ldr r0, _080FE860 ldrb r0, [r0] @@ -270540,7 +270540,7 @@ _080FE8EE: movs r1, 0xC movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow _080FE90E: ldrb r0, [r4] ldrb r6, [r6] @@ -270558,7 +270558,7 @@ _080FE92C: movs r1, 0xC movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect _080FE938: pop {r3-r5} mov r8, r3 @@ -270984,7 +270984,7 @@ sub_80FEC94: @ 80FEC94 movs r1, 0 movs r2, 0xE movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r4, 0 movs r1, 0 bl sub_80FEABC @@ -271003,7 +271003,7 @@ sub_80FECB8: @ 80FECB8 movs r1, 0 movs r2, 0x1D movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r4, 0 movs r1, 0x10 movs r2, 0x1 @@ -271052,12 +271052,12 @@ sub_80FED1C: @ 80FED1C movs r1, 0 movs r2, 0x1D movs r3, 0x3 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0xF movs r1, 0xC movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 thumb_func_end sub_80FED1C @@ -271379,7 +271379,7 @@ sub_80FEF74: @ 80FEF74 movs r1, 0 movs r2, 0xE movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect pop {r0} bx r0 .align 2, 0 @@ -271475,7 +271475,7 @@ sub_80FF034: @ 80FF034 movs r1, 0 movs r2, 0xE movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_80FE5AC pop {r4} @@ -273560,7 +273560,7 @@ sub_81000A0: @ 81000A0 movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _081000C0 adds r0, r4, 0 bl sub_80F914C @@ -273580,7 +273580,7 @@ sub_81000C4: @ 81000C4 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_8100174 ldr r2, _0810010C @@ -273773,7 +273773,7 @@ sub_8100248: @ 8100248 movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _08100268 adds r0, r4, 0 bl sub_80F914C @@ -273794,7 +273794,7 @@ sub_810026C: @ 810026C movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_810028C pop {r4} @@ -274316,7 +274316,7 @@ sub_810065C: @ 810065C movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _08100698 ldr r0, _0810069C ldrb r1, [r0] @@ -275205,7 +275205,7 @@ _08100CC4: movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x2 strh r0, [r5, 0xC] b _08100D24 @@ -275298,7 +275298,7 @@ SetUpPuttingAwayDecorationPlayerAvatar: @ 8100D84 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r3, _08100DD8 ldr r2, _08100DDC ldr r4, _08100DE0 @@ -275468,7 +275468,7 @@ sub_8100EEC: @ 8100EEC movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r4, _08100F70 ldr r3, _08100F74 ldrb r1, [r3] @@ -276268,7 +276268,7 @@ sub_8101518: @ 8101518 movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _08101538 adds r0, r4, 0 bl sub_80F914C @@ -276314,7 +276314,7 @@ sub_810156C: @ 810156C movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _0810158C adds r0, r4, 0 bl sub_80F914C @@ -276335,7 +276335,7 @@ sub_8101590: @ 8101590 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_81015B0 pop {r4} @@ -276451,7 +276451,7 @@ _08101674: .4byte sub_80FE2EC sub_8101678: @ 8101678 push {lr} bl pal_fill_black - bl sub_8071FFC + bl MenuDisplayMessageBox bl sub_80FE220 ldr r0, _08101694 movs r1, 0x8 @@ -276669,7 +276669,7 @@ sub_8101824: @ 8101824 movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _08101844 adds r0, r4, 0 bl sub_80F914C @@ -276690,7 +276690,7 @@ sub_8101848: @ 8101848 movs r1, 0x8 movs r2, 0x1A movs r3, 0xE - bl Reset + bl MenuZeroFillWindowRect ldr r6, _08101890 ldrb r1, [r6] ldr r5, _08101894 @@ -277217,7 +277217,7 @@ sub_8101C84: @ 8101C84 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow pop {r4} pop {r0} bx r0 @@ -277576,11 +277576,11 @@ _08101F28: .4byte 0x03001770 sub_8101F2C: @ 8101F2C push {r4,lr} adds r4, r0, 0 - bl sub_8071FFC + bl MenuDisplayMessageBox adds r0, r4, 0 movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -277611,7 +277611,7 @@ sub_8101F60: @ 8101F60 ands r0, r1 cmp r0, 0 beq _08101F78 - bl sub_8071EF4 + bl MenuZeroFillScreen ldr r1, _08101F84 movs r0, 0x5 strb r0, [r1] @@ -278116,7 +278116,7 @@ sub_8102318: @ 8102318 movs r0, 0x15 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu bl sub_814AB84 ldr r1, _08102340 movs r0, 0x16 @@ -278132,12 +278132,12 @@ _08102340: .4byte 0x02000000 thumb_func_start sub_8102344 sub_8102344: @ 8102344 push {lr} - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 bne _0810237C - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0 bl sub_8103D8C movs r0, 0x1 @@ -278162,7 +278162,7 @@ _0810237C: cmp r1, r0 bne _08102392 _08102388: - bl sub_8071EF4 + bl MenuZeroFillScreen ldr r1, _08102398 movs r0, 0x5 strb r0, [r1] @@ -278199,7 +278199,7 @@ sub_81023B8: @ 81023B8 ands r0, r1 cmp r0, 0 beq _081023D0 - bl sub_8071EF4 + bl MenuZeroFillScreen ldr r1, _081023DC movs r0, 0x5 strb r0, [r1] @@ -278237,7 +278237,7 @@ sub_81023FC: @ 81023FC ands r0, r1 cmp r0, 0 beq _08102414 - bl sub_8071EF4 + bl MenuZeroFillScreen ldr r1, _08102420 movs r0, 0x1B strb r0, [r1] @@ -283466,7 +283466,7 @@ _08104A50: pop {r0} bx r0 .align 2, 0 -_08104A80: .4byte gUnknown_083EEFE0 +_08104A80: .4byte gReelTimeWindowTilemap _08104A84: .4byte 0x0600e000 thumb_func_end sub_8104A40 @@ -283620,7 +283620,7 @@ sub_8104B80: @ 8104B80 bl sub_8104DA4 bl sub_81065DC ldr r0, _08104BC0 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _08104BC4 movs r1, 0xA movs r2, 0x20 @@ -283680,9 +283680,9 @@ sub_8104BFC: @ 8104BFC push {r4,lr} sub sp, 0x4 adds r4, r0, 0 - bl sub_8071EF4 + bl MenuZeroFillScreen ldr r0, _08104C3C - bl sub_8071E2C + bl BasicInitMenuWindow bl sub_81064B8 ldrb r0, [r4, 0xA] bl sub_8104CAC @@ -286892,7 +286892,7 @@ sub_81063C0: @ 81063C0 pop {r0} bx r0 .align 2, 0 -_081063F0: .4byte gUnknown_08E99848 +_081063F0: .4byte gSlotMachineReelTimeLights_Gfx _081063F4: .4byte 0x02010000 _081063F8: .4byte gUnknown_083EDE8C _081063FC: .4byte gUnknown_083EDC2C @@ -286980,7 +286980,7 @@ _08106468: pop {r0} bx r0 .align 2, 0 -_081064A0: .4byte gUnknown_08E8F844 +_081064A0: .4byte gSlotMachine_Gfx _081064A4: .4byte 0x02010000 _081064A8: .4byte 0x040000d4 _081064AC: .4byte 0x80000800 @@ -287528,7 +287528,7 @@ sub_81068FC: @ 81068FC push {r4,lr} ldr r4, _08106914 adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow adds r0, r4, 0 bl SetUpWindowConfig pop {r4} @@ -291343,17 +291343,17 @@ _081085CA: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08108608 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08108608 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -291861,17 +291861,17 @@ _081089C8: add r4, r9 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData cmp r5, 0 beq _08108A00 cmp r5, r10 @@ -291947,17 +291947,17 @@ _08108A6C: add r4, r10 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData cmp r5, 0 beq _08108AB0 movs r1, 0xCE @@ -294142,7 +294142,7 @@ _08109A72: movs r0, 0 movs r1, 0x1 movs r2, 0xC - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r4, 0 mov r1, r9 lsls r1, 2 @@ -294161,7 +294161,7 @@ _08109A98: lsrs r2, 24 ldr r0, _08109ABC movs r1, 0x1 - bl Print + bl MenuPrint b _08109AD8 .align 2, 0 _08109AB8: .4byte 0x020284c8 @@ -294177,7 +294177,7 @@ _08109AC0: adds r2, r1 lsrs r2, 24 movs r1, 0x1 - bl Print + bl MenuPrint _08109AD8: adds r0, r5, 0x1 lsls r0, 24 @@ -294195,7 +294195,7 @@ _08109ADE: adds r2, r1 lsrs r2, 24 movs r1, 0x1 - bl Print + bl MenuPrint movs r0, 0 str r0, [sp] movs r0, 0xB @@ -294250,7 +294250,7 @@ _08109B58: movs r1, 0x1 movs r2, 0xC movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running @@ -294469,7 +294469,7 @@ sub_8109D04: @ 8109D04 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 bl SetBgTilemapBuffer movs r0, 0x1 @@ -294541,7 +294541,7 @@ sub_8109DAC: @ 8109DAC movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _08109DDC movs r0, 0 strh r0, [r1] @@ -294734,7 +294734,7 @@ sub_8109E80: @ 8109E80 ldr r0, _0810A0CC bl SetUpWindowConfig ldr r0, _0810A0D0 - bl sub_8071C4C + bl InitMenuWindow movs r0, 0x1 negs r0, r0 mov r1, r9 @@ -294887,9 +294887,9 @@ _0810A09C: .4byte 0x8100c000 _0810A0A0: .4byte 0x85000100 _0810A0A4: .4byte 0x81000200 _0810A0A8: .4byte gUnknown_083F66F0 -_0810A0AC: .4byte gUnknown_083F636C +_0810A0AC: .4byte gBirchBagTilemap _0810A0B0: .4byte 0x06003000 -_0810A0B4: .4byte gUnknown_083F64F8 +_0810A0B4: .4byte gBirchGrassTilemap _0810A0B8: .4byte 0x06003800 _0810A0BC: .4byte gUnknown_083F62EC _0810A0C0: .4byte gUnknown_083F7794 @@ -294945,11 +294945,11 @@ sub_810A134: @ 810A134 movs r1, 0xE movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0810A170 movs r1, 0x3 movs r2, 0xF - bl Print + bl MenuPrint ldr r0, _0810A174 str r0, [r4] pop {r4} @@ -294993,7 +294993,7 @@ sub_810A178: @ 810A178 adds r3, r1, 0x3 lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0810A224 movs r1, 0 strh r1, [r0] @@ -295151,15 +295151,15 @@ sub_810A2D8: @ 810A2D8 movs r1, 0xE movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0810A328 movs r1, 0x3 movs r2, 0xF - bl Print + bl MenuPrint movs r0, 0x15 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _0810A32C str r0, [r4] pop {r4} @@ -295176,7 +295176,7 @@ sub_810A330: @ 810A330 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -295216,7 +295216,7 @@ _0810A37C: movs r1, 0x7 movs r2, 0x1B movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0810A3E8 lsls r5, r4, 2 adds r5, r4 @@ -295324,7 +295324,7 @@ sub_810A42C: @ 810A42C adds r3, r1, 0x3 lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0810A56C movs r1, 0 strh r1, [r0] @@ -295404,7 +295404,7 @@ _0810A4D8: mov r0, sp adds r1, r4, 0 adds r2, r5, 0 - bl Print + bl MenuPrint mov r0, sp movs r1, 0 movs r2, 0xF @@ -295424,7 +295424,7 @@ _0810A4D8: lsrs r2, 24 mov r0, sp adds r1, r4, 0 - bl Print + bl MenuPrint lsls r0, r4, 3 adds r0, 0x4 lsls r0, 24 @@ -295790,9 +295790,9 @@ _0810A77C: .align 2, 0 _0810A7F8: .4byte 0x040000d4 _0810A7FC: .4byte 0x81000800 -_0810A800: .4byte gUnknown_08E8F1B8 +_0810A800: .4byte gMiscClock_Gfx _0810A804: .4byte 0x0202e8cc -_0810A808: .4byte gUnknown_08E8F804 +_0810A808: .4byte gMiscClockMale_Pal _0810A80C: ldr r0, _0810A850 movs r1, 0 @@ -295811,7 +295811,7 @@ _0810A816: ldr r0, _0810A85C bl SetUpWindowConfig ldr r0, _0810A860 - bl sub_8071C4C + bl InitMenuWindow add sp, 0x8 pop {r3} mov r8, r3 @@ -295819,7 +295819,7 @@ _0810A816: pop {r0} bx r0 .align 2, 0 -_0810A850: .4byte gUnknown_08E8F824 +_0810A850: .4byte gMiscClockFemale_Pal _0810A854: .4byte gUnknown_083F7A90 _0810A858: .4byte gUnknown_083F7AA0 _0810A85C: .4byte gWindowConfig_81E6C3C @@ -296321,21 +296321,21 @@ sub_810AC60: @ 810AC60 movs r1, 0x10 movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0810ACC4 movs r1, 0x3 movs r2, 0x11 - bl Print + bl MenuPrint movs r0, 0x17 movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _0810ACC8 movs r0, 0x18 movs r1, 0x9 movs r2, 0x2 - bl PrintStringArray + bl PrintMenuItems movs r0, 0x1 str r0, [sp] movs r0, 0x5 @@ -296368,7 +296368,7 @@ c3_80BF560: @ 810ACD4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -296405,12 +296405,12 @@ _0810AD18: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x2 movs r1, 0x10 movs r2, 0x1B movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0810AD50 lsls r1, r4, 2 adds r1, r4 @@ -297811,12 +297811,12 @@ _0810B7D4: .4byte 0x03001770 _0810B7D8: .4byte 0x0000043c _0810B7DC: ldr r0, _0810B7E4 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _0810B91C .align 2, 0 _0810B7E4: .4byte gWindowConfig_81E6E34 _0810B7E8: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _0810B7F2 b _0810B960 @@ -297830,12 +297830,12 @@ _0810B7FC: .4byte 0x03001770 _0810B800: .4byte 0x0000043c _0810B804: ldr r0, _0810B80C - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _0810B91C .align 2, 0 _0810B80C: .4byte gWindowConfig_81E6E50 _0810B810: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _0810B81A b _0810B960 @@ -298048,7 +298048,7 @@ _0810B9D0: bl LZDecompressVram b _0810BA0E .align 2, 0 -_0810B9DC: .4byte gUnknown_08E77AE4 +_0810B9DC: .4byte gMenuPokeblock_Gfx _0810B9E0: .4byte 0x06008000 _0810B9E4: ldr r0, _0810B9F0 @@ -298056,7 +298056,7 @@ _0810B9E4: bl sub_800D238 b _0810BA0E .align 2, 0 -_0810B9F0: .4byte gUnknown_08E78078 +_0810B9F0: .4byte gMenuPokeblock_Tilemap _0810B9F4: .4byte 0x020221cc _0810B9F8: ldr r0, _0810BA04 @@ -298065,7 +298065,7 @@ _0810B9F8: bl LoadCompressedPalette b _0810BA0E .align 2, 0 -_0810BA04: .4byte gUnknown_08E77D20 +_0810BA04: .4byte gMenuPokeblock_Pal _0810BA08: ldr r0, _0810BA1C bl LoadCompressedObjectPic @@ -298206,13 +298206,13 @@ _0810BB08: .4byte sub_810B96C sub_810BB0C: @ 810BB0C push {lr} ldr r0, _0810BB28 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _0810BB2C bl itemid_get_item movs r1, 0x2 movs r2, 0x1 movs r3, 0x48 - bl Free + bl sub_8072BD8 pop {r0} bx r0 .align 2, 0 @@ -298224,27 +298224,27 @@ _0810BB2C: .4byte 0x00000111 sub_810BB30: @ 810BB30 push {lr} ldr r0, _0810BB70 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _0810BB74 movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _0810BB78 movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint ldr r0, _0810BB7C movs r1, 0x2 movs r2, 0x11 - bl Print + bl MenuPrint ldr r0, _0810BB80 movs r1, 0x8 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _0810BB84 movs r1, 0x8 movs r2, 0xF - bl Print + bl MenuPrint pop {r0} bx r0 .align 2, 0 @@ -298267,7 +298267,7 @@ sub_810BB88: @ 810BB88 lsrs r0, 24 mov r8, r0 ldr r0, _0810BBF4 - bl sub_8071E2C + bl BasicInitMenuWindow mov r6, r8 adds r0, r6, 0 adds r0, 0x8 @@ -298295,7 +298295,7 @@ _0810BBB0: orrs r2, r7 mov r0, r9 movs r1, 0xF - bl Print + bl MenuPrint mov r0, r8 adds r0, 0x8 cmp r6, r0 @@ -298306,7 +298306,7 @@ _0810BBB0: movs r0, 0xF movs r2, 0x1D movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect b _0810BC6C .align 2, 0 _0810BBF4: .4byte gWindowConfig_81E6E34 @@ -298353,7 +298353,7 @@ _0810BC08: orrs r2, r7 mov r0, r9 movs r1, 0xF - bl Print + bl MenuPrint adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 @@ -298683,7 +298683,7 @@ _0810BECC: cmp r6, 0x4 bls _0810BE30 ldr r0, _0810BF10 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _0810BF14 ldrb r2, [r0] ldrb r1, [r0, 0x1] @@ -298706,7 +298706,7 @@ _0810BECC: adds r0, r4, 0 movs r1, 0xB movs r2, 0x11 - bl Print + bl MenuPrint b _0810BF2C .align 2, 0 _0810BF10: .4byte gWindowConfig_81E6E34 @@ -298718,7 +298718,7 @@ _0810BF20: movs r1, 0x11 movs r2, 0xC movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect _0810BF2C: pop {r3} mov r8, r3 @@ -299276,12 +299276,12 @@ _0810C37C: movs r0, 0x1 bl sub_80F98A4 ldr r0, _0810C3EC - bl sub_8071E2C + bl BasicInitMenuWindow adds r1, r4, 0x4 movs r0, 0x7 movs r2, 0xD movs r3, 0xB - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r4, 0x5 ldr r5, _0810C3F0 ldrb r2, [r5] @@ -299291,7 +299291,7 @@ _0810C37C: str r0, [sp] movs r0, 0x8 adds r1, r4, 0 - bl sub_80728E4 + bl PrintMenuItemsReordered ldrb r3, [r5] movs r0, 0 str r0, [sp] @@ -299484,13 +299484,13 @@ sub_810C540: @ 810C540 lsls r5, 24 lsrs r5, 24 ldr r0, _0810C5A0 - bl sub_8071E2C + bl BasicInitMenuWindow bl sub_8072DEC movs r0, 0x7 movs r1, 0x4 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0810C5A4 ldr r4, _0810C5A8 ldr r3, _0810C5AC @@ -299564,7 +299564,7 @@ sub_810C5EC: @ 810C5EC movs r0, 0x7 movs r1, 0x6 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _0810C60C adds r0, r4, 0 bl sub_80F914C @@ -299585,7 +299585,7 @@ sub_810C610: @ 810C610 movs r1, 0x6 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect ldr r1, _0810C658 ldrb r0, [r1, 0x1] ldrb r1, [r1] @@ -299639,17 +299639,17 @@ sub_810C668: @ 810C668 bl sub_80F979C _0810C698: ldr r0, _0810C6D0 - bl sub_8071E2C + bl BasicInitMenuWindow movs r0, 0x7 movs r1, 0x6 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _0810C6D4 lsls r0, r4, 2 adds r0, r4 @@ -299699,7 +299699,7 @@ sub_810C704: @ 810C704 lsls r4, 24 lsrs r4, 24 ldr r0, _0810C738 - bl sub_8071E2C + bl BasicInitMenuWindow ldr r0, _0810C73C ldrb r0, [r0, 0x1] bl sub_810BC84 @@ -299738,7 +299738,7 @@ sub_810C748: @ 810C748 movs r1, 0x4 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect ldr r1, _0810C780 lsls r0, r4, 2 adds r0, r4 @@ -300744,11 +300744,11 @@ sub_810CE78: @ 810CE78 pop {r0} bx r0 .align 2, 0 -_0810CEE8: .4byte gUnknown_083F828C +_0810CEE8: .4byte gCaveTransitionTiles _0810CEEC: .4byte 0x0600c000 -_0810CEF0: .4byte gUnknown_083F80AC +_0810CEF0: .4byte gCaveTransitionTilemap _0810CEF4: .4byte 0x0600f800 -_0810CEF8: .4byte gUnknown_083F804C +_0810CEF8: .4byte gCaveTransitionPalette_White _0810CEFC: .4byte gUnknown_083F809C _0810CF00: .4byte REG_BLDCNT _0810CF04: .4byte 0x00003e41 @@ -300845,7 +300845,7 @@ _0810CFB6: pop {r0} bx r0 .align 2, 0 -_0810CFBC: .4byte gUnknown_083F804C +_0810CFBC: .4byte gCaveTransitionPalette_White _0810CFC0: .4byte sub_810CFC4 thumb_func_end sub_810CF5C @@ -300963,15 +300963,15 @@ sub_810D028: @ 810D028 pop {r0} bx r0 .align 2, 0 -_0810D098: .4byte gUnknown_083F828C +_0810D098: .4byte gCaveTransitionTiles _0810D09C: .4byte 0x0600c000 -_0810D0A0: .4byte gUnknown_083F80AC +_0810D0A0: .4byte gCaveTransitionTilemap _0810D0A4: .4byte 0x0600f800 _0810D0A8: .4byte REG_BLDCNT _0810D0AC: .4byte REG_BG0CNT _0810D0B0: .4byte 0x00001f0c -_0810D0B4: .4byte gUnknown_083F804C -_0810D0B8: .4byte gUnknown_083F806C +_0810D0B4: .4byte gCaveTransitionPalette_White +_0810D0B8: .4byte gCaveTransitionPalette_Black _0810D0BC: .4byte 0x03004b20 _0810D0C0: .4byte sub_810D0C4 thumb_func_end sub_810D028 @@ -301067,7 +301067,7 @@ _0810D172: pop {r0} bx r0 .align 2, 0 -_0810D178: .4byte gUnknown_083F806C +_0810D178: .4byte gCaveTransitionPalette_Black _0810D17C: .4byte 0x03001770 thumb_func_end sub_810D128 @@ -301137,17 +301137,17 @@ _0810D1FC: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x5 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0810D23A adds r0, r4, 0 movs r1, 0x6 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0810D23A adds r0, r4, 0 movs r1, 0x43 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0810D23A movs r0, 0x1 @@ -301155,7 +301155,7 @@ _0810D1FC: adds r0, r4, 0 movs r1, 0x43 mov r2, sp - bl pokemon_setattr + bl SetMonData movs r6, 0x1 _0810D23A: adds r5, 0x1 @@ -301298,12 +301298,12 @@ _0810D336: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0810D368 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldr r1, _0810D364 ands r1, r0 cmp r1, r6 @@ -303402,7 +303402,7 @@ sub_810E384: @ 810E384 adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData cmp r0, 0xFF bne _0810E3AC movs r0, 0x6 @@ -303412,7 +303412,7 @@ _0810E3A8: .4byte 0x03004360 _0810E3AC: adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData cmp r0, 0xC7 bls _0810E3BC movs r0, 0x5 @@ -303420,7 +303420,7 @@ _0810E3AC: _0810E3BC: adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData cmp r0, 0x95 bls _0810E3CC movs r0, 0x4 @@ -303428,7 +303428,7 @@ _0810E3BC: _0810E3CC: adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData cmp r0, 0x63 bls _0810E3DC movs r0, 0x3 @@ -303436,7 +303436,7 @@ _0810E3CC: _0810E3DC: adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData cmp r0, 0x31 bls _0810E3EC movs r0, 0x2 @@ -303444,7 +303444,7 @@ _0810E3DC: _0810E3EC: adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0810E3FC movs r0, 0 @@ -304083,7 +304083,7 @@ sub_810E874: @ 810E874 movs r1, 0 movs r2, 0x8 movs r3, 0xB - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r4, 0 str r4, [sp] movs r0, 0x7 @@ -304111,7 +304111,7 @@ _0810E8C0: movs r0, 0 movs r1, 0 movs r2, 0x8 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldrb r3, [r4] movs r0, 0 str r0, [sp] @@ -304141,7 +304141,7 @@ _0810E8F6: lsls r2, 24 lsrs r2, 24 movs r1, 0x1 - bl Print + bl MenuPrint adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -304174,12 +304174,12 @@ sub_810E944: @ 810E944 movs r1, 0 movs r2, 0x1D movs r3, 0x5 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0810E978 movs r1, 0x15 movs r2, 0x1 movs r3, 0x40 - bl Free + bl sub_8072BD8 ldr r1, _0810E97C ldr r0, _0810E980 ldrh r0, [r0] @@ -304189,7 +304189,7 @@ sub_810E944: @ 810E944 movs r1, 0x15 movs r2, 0x3 movs r3, 0x40 - bl Free + bl sub_8072BD8 pop {r0} bx r0 .align 2, 0 @@ -304219,7 +304219,7 @@ sub_810E984: @ 810E984 lsrs r4, r0, 24 movs r0, 0x1 negs r0, r0 - bl MoveMenuCursorNoWrapAround + bl MoveMenuCursorNoWrap adds r0, r4, 0 movs r1, 0x40 bl sub_810EAC8 @@ -304241,7 +304241,7 @@ _0810E9B8: lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x1 - bl MoveMenuCursorNoWrapAround + bl MoveMenuCursorNoWrap adds r0, r4, 0 movs r1, 0x80 bl sub_810EAC8 @@ -304283,7 +304283,7 @@ _0810E9E8: movs r1, 0 movs r2, 0x1D movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect adds r0, r6, 0 bl sub_810EC9C b _0810EABC @@ -304308,7 +304308,7 @@ _0810EA5C: movs r3, 0x1 bl FieldObjectTurnByLocalIdAndMap bl sub_810EEDC - bl sub_8071EF4 + bl MenuZeroFillScreen adds r0, r6, 0 bl DestroyTask b _0810EABC @@ -304330,7 +304330,7 @@ _0810EA94: movs r1, 0 movs r2, 0x1D movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect adds r0, r6, 0 bl sub_810EC9C _0810EABC: @@ -304396,7 +304396,7 @@ _0810EB1C: movs r1, 0x1 movs r2, 0x7 movs r3, 0xA - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile movs r5, 0 ldr r2, _0810EB88 lsls r1, r4, 2 @@ -304418,7 +304418,7 @@ _0810EB44: lsls r2, 24 lsrs r2, 24 movs r1, 0x1 - bl Print + bl MenuPrint adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -304916,7 +304916,7 @@ sub_810EF3C: @ 810EF3C ldr r1, _0810EF5C adds r0, r1 movs r1, 0x16 - bl PokemonGetField + bl GetMonData cmp r0, 0xC7 bls _0810EF60 movs r0, 0x1 @@ -304941,7 +304941,7 @@ sub_810EF68: @ 810EF68 ldr r1, _0810EF88 adds r0, r1 movs r1, 0x17 - bl PokemonGetField + bl GetMonData cmp r0, 0xC7 bls _0810EF8C movs r0, 0x1 @@ -304966,7 +304966,7 @@ sub_810EF94: @ 810EF94 ldr r1, _0810EFB4 adds r0, r1 movs r1, 0x18 - bl PokemonGetField + bl GetMonData cmp r0, 0xC7 bls _0810EFB8 movs r0, 0x1 @@ -304991,7 +304991,7 @@ sub_810EFC0: @ 810EFC0 ldr r1, _0810EFE0 adds r0, r1 movs r1, 0x21 - bl PokemonGetField + bl GetMonData cmp r0, 0xC7 bls _0810EFE4 movs r0, 0x1 @@ -305016,7 +305016,7 @@ sub_810EFEC: @ 810EFEC ldr r1, _0810F00C adds r0, r1 movs r1, 0x2F - bl PokemonGetField + bl GetMonData cmp r0, 0xC7 bls _0810F010 movs r0, 0x1 @@ -305043,17 +305043,17 @@ _0810F01E: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x5 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0810F074 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0810F074 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 lsls r1, r0, 3 @@ -305100,7 +305100,7 @@ sub_810F090: @ 810F090 movs r1, 0 movs r2, 0xA movs r3, 0xB - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r4, 0 str r4, [sp] movs r0, 0x9 @@ -305125,7 +305125,7 @@ _0810F0CA: lsls r2, 24 lsrs r2, 24 movs r1, 0x1 - bl Print + bl MenuPrint adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -305172,7 +305172,7 @@ sub_810F118: @ 810F118 lsrs r4, r0, 24 movs r0, 0x1 negs r0, r0 - bl MoveMenuCursorNoWrapAround + bl MoveMenuCursorNoWrap adds r0, r4, 0 movs r1, 0x40 bl sub_810F1F4 @@ -305194,7 +305194,7 @@ _0810F14A: lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x1 - bl MoveMenuCursorNoWrapAround + bl MoveMenuCursorNoWrap adds r0, r4, 0 movs r1, 0x80 bl sub_810F1F4 @@ -305217,7 +305217,7 @@ _0810F17A: movs r1, 0 movs r2, 0x1D movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect adds r0, r5, 0 bl sub_810EC9C _0810F1AE: @@ -305237,7 +305237,7 @@ _0810F1AE: movs r1, 0 movs r2, 0x1D movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect adds r0, r5, 0 bl sub_810EC9C _0810F1DE: @@ -305303,7 +305303,7 @@ _0810F244: movs r1, 0x1 movs r2, 0x9 movs r3, 0xA - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile movs r5, 0 ldr r7, _0810F28C _0810F25C: @@ -305315,7 +305315,7 @@ _0810F25C: lsls r2, 24 lsrs r2, 24 movs r1, 0x1 - bl Print + bl MenuPrint adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -305702,7 +305702,7 @@ sub_810F524: @ 810F524 adds r0, r1 movs r1, 0x47 movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 pop {r1} @@ -305731,7 +305731,7 @@ sub_810F54C: @ 810F54C adds r0, r1 movs r1, 0x47 mov r2, sp - bl pokemon_setattr + bl SetMonData add sp, 0x4 pop {r0} bx r0 @@ -305847,28 +305847,28 @@ sub_810F628: @ 810F628 adds r0, r5, 0 movs r1, 0x2E add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData add r1, sp, 0x10 movs r0, 0x21 strh r0, [r1] adds r0, r5, 0 movs r1, 0xD add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData add r0, sp, 0x10 strh r4, [r0] adds r0, r5, 0 movs r1, 0xE add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0xF add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0x10 add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData add sp, 0x14 pop {r4,r5} pop {r0} @@ -305900,7 +305900,7 @@ _0810F6B6: adds r0, r1 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData cmp r0, r6 bne _0810F6D8 movs r0, 0x1 @@ -305942,7 +305942,7 @@ _0810F6FC: adds r0, r6, r0 movs r1, 0xB movs r2, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _0810F71C movs r0, 0x1 @@ -306156,7 +306156,7 @@ _0810F88C: adds r0, r4, 0 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData movs r1, 0xCE lsls r1, 1 cmp r0, r1 @@ -306164,7 +306164,7 @@ _0810F88C: adds r0, r4, 0 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0810F8C0 adds r0, r5, 0 @@ -306196,7 +306196,7 @@ sub_810F8D4: @ 810F8D4 adds r0, r1 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 pop {r1} @@ -306282,7 +306282,7 @@ sub_810F96C: @ 810F96C ldr r4, _0810F99C movs r1, 0x7 adds r2, r4, 0 - bl PokemonGetField + bl GetMonData ldr r0, _0810F9A0 adds r1, r4, 0 bl StringCompareWithoutExtCtrlCodes @@ -307557,7 +307557,7 @@ sub_81102E8: @ 81102E8 ldr r0, _08110344 movs r1, 0x3 movs r2, 0x3 - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -307603,22 +307603,22 @@ sub_8110348: @ 8110348 mov r0, sp movs r1, 0x3 adds r2, r6, 0 - bl Print + bl MenuPrint ldr r1, _081103BC adds r0, r4, 0 bl StringCopy mov r0, sp movs r1, 0xB adds r2, r6, 0 - bl Print + bl MenuPrint mov r0, sp movs r1, 0x11 adds r2, r6, 0 - bl Print + bl MenuPrint mov r0, sp movs r1, 0x17 adds r2, r6, 0 - bl Print + bl MenuPrint b _0811042E .align 2, 0 _081103B8: .4byte gUnknown_0842CA3C @@ -307635,7 +307635,7 @@ _081103C0: adds r0, r4, 0 movs r1, 0x3 adds r2, r6, 0 - bl Print + bl MenuPrint movs r0, 0xFC strb r0, [r4] movs r0, 0x14 @@ -307651,7 +307651,7 @@ _081103C0: adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 - bl Print + bl MenuPrint ldrh r1, [r7, 0xC] adds r0, r5, 0 movs r2, 0x1 @@ -307660,7 +307660,7 @@ _081103C0: adds r0, r4, 0 movs r1, 0x11 adds r2, r6, 0 - bl Print + bl MenuPrint ldrh r1, [r7, 0xE] adds r0, r5, 0 movs r2, 0x1 @@ -307669,7 +307669,7 @@ _081103C0: adds r0, r4, 0 movs r1, 0x17 adds r2, r6, 0 - bl Print + bl MenuPrint _0811042E: add sp, 0x10 pop {r4-r7} @@ -307686,18 +307686,18 @@ sub_811043C: @ 811043C movs r1, 0 movs r2, 0x1C movs r3, 0x12 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08110488 movs r1, 0 movs r2, 0x1 movs r3, 0xF0 - bl Free + bl sub_8072BD8 ldr r0, _0811048C bl sub_81102E8 ldr r0, _08110490 movs r1, 0xC movs r2, 0x6 - bl Print + bl MenuPrint movs r4, 0 _08110468: lsls r0, r4, 4 @@ -307774,7 +307774,7 @@ sub_81104E8: @ 81104E8 adds r6, r3, 0 adds r1, r5, 0 adds r2, r6, 0 - bl Print + bl MenuPrint ldr r0, _0811052C cmp r4, r0 bls _0811050A @@ -307790,7 +307790,7 @@ _0811050A: lsls r1, 24 lsrs r1, 24 adds r2, r6, 0 - bl Print + bl MenuPrint pop {r4-r6} pop {r0} bx r0 @@ -307898,20 +307898,20 @@ sub_81105E4: @ 81105E4 movs r1, 0x1 movs r2, 0x1B movs r3, 0x11 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08110658 movs r1, 0x3 movs r2, 0x2 movs r3, 0xC8 - bl Free + bl sub_8072BD8 ldr r0, _0811065C movs r1, 0x5 movs r2, 0x6 - bl Print + bl MenuPrint ldr r0, _08110660 movs r1, 0x5 movs r2, 0xC - bl Print + bl MenuPrint movs r4, 0x5 _08110614: lsls r1, r4, 24 @@ -310521,7 +310521,7 @@ evolution_cutscene: @ 8111984 ldr r0, [sp, 0x20] movs r1, 0x2 add r2, sp, 0x8 - bl PokemonGetField + bl GetMonData ldr r0, _08111C48 add r1, sp, 0x8 bl StringCopy10 @@ -310535,17 +310535,17 @@ evolution_cutscene: @ 8111984 bl StringCopy ldr r0, [sp, 0x20] movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 ldr r0, [sp, 0x20] movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x2C] ldr r0, [sp, 0x20] movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x30] lsls r0, r6, 3 ldr r1, _08111C54 @@ -310788,11 +310788,11 @@ sub_8111C90: @ 8111C90 ldrh r6, [r0, 0x10] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData mov r10, r0 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r8, r0 movs r0, 0 bl SetHBlankCallback @@ -311079,16 +311079,16 @@ _08111F88: ldr r4, _08111FC8 ldr r0, [r4] adds r0, 0x4 - bl sub_8064F08 + bl LoadTextWindowGraphics movs r0, 0x2 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum ldr r1, [r4] adds r1, 0x34 strb r0, [r1] ldr r0, [r4] adds r0, 0x4 - bl sub_8064F08 - bl sub_8071EF4 + bl LoadTextWindowGraphics + bl MenuZeroFillScreen bl ResetPaletteFade ldr r1, _08111FCC ldr r0, _08111FD0 @@ -311113,11 +311113,11 @@ _08111FDC: _08111FE2: adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r0, r7, 3 ldr r1, _08112034 @@ -311249,7 +311249,7 @@ sub_81120E4: @ 81120E4 ldr r0, [sp, 0x1C] movs r1, 0x2 add r2, sp, 0x8 - bl PokemonGetField + bl GetMonData ldr r0, _08112234 add r1, sp, 0x8 bl StringCopy10 @@ -311264,7 +311264,7 @@ sub_81120E4: @ 81120E4 strb r0, [r1] ldr r0, [sp, 0x1C] movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r8 lsls r1, 16 @@ -311272,11 +311272,11 @@ sub_81120E4: @ 81120E4 mov r8, r1 ldr r0, [sp, 0x1C] movs r1, 0 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 ldr r0, [sp, 0x1C] movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r7, r0, 0 ldr r2, _08112244 mov r9, r2 @@ -311469,13 +311469,13 @@ _081122E2: adds r0, r5, 0 mov r1, r10 movs r2, 0x64 - bl memcpy_pokemon + bl CopyMon mov r1, r8 adds r2, r1, r4 adds r2, 0xC adds r0, r5, 0 movs r1, 0xB - bl pokemon_setattr + bl SetMonData ldrh r1, [r6, 0xC] movs r0, 0xB adds r2, r1, 0 @@ -311484,26 +311484,26 @@ _081122E2: adds r2, r0 adds r0, r5, 0 movs r1, 0x2 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0xC mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0x8 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0xA mov r2, sp - bl pokemon_setattr + bl SetMonData movs r4, 0x32 mov r6, r9 _08112342: adds r0, r5, 0 adds r1, r4, 0 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r4, 0x1 cmp r4, 0x36 ble _08112342 @@ -311512,20 +311512,20 @@ _08112354: adds r0, r5, 0 adds r1, r4, 0 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r4, 0x1 cmp r4, 0x4F ble _08112354 adds r0, r5, 0 movs r1, 0x37 mov r2, sp - bl pokemon_setattr + bl SetMonData movs r0, 0xFF str r0, [sp] adds r0, r5, 0 movs r1, 0x40 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 bl pokemon_calc_effective_stats bl calc_player_party_count @@ -311547,18 +311547,18 @@ _08112354: bl sub_8090D90 adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldr r1, _08112404 cmp r0, r1 bne _081123E2 adds r0, r5, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData cmp r0, 0x1 bne _081123E2 mov r0, r10 movs r1, 0xB - bl PokemonGetField + bl GetMonData movs r1, 0x97 lsls r1, 1 cmp r0, r1 @@ -311566,7 +311566,7 @@ _08112354: ldr r2, _08112408 adds r0, r5, 0 movs r1, 0x2 - bl pokemon_setattr + bl SetMonData _081123E2: add sp, 0x4 pop {r3-r5} @@ -312032,7 +312032,7 @@ _081127BE: adds r2, 0x10 mov r0, r9 movs r1, 0xB - bl pokemon_setattr + bl SetMonData mov r0, r9 bl pokemon_calc_effective_stats ldrh r1, [r4, 0xE] @@ -312093,7 +312093,7 @@ _08112856: mov r0, r9 movs r1, 0x2 add r2, sp, 0x4 - bl PokemonGetField + bl GetMonData ldr r0, _081128A8 add r1, sp, 0x4 bl StringCopy10 @@ -312709,7 +312709,7 @@ _08112DCC: adds r1, r6, 0 adds r1, 0xD mov r0, r9 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 @@ -313340,7 +313340,7 @@ _08113316: adds r2, 0x10 mov r0, r8 movs r1, 0xB - bl pokemon_setattr + bl SetMonData mov r0, r8 bl pokemon_calc_effective_stats ldrh r1, [r4, 0xE] @@ -313410,7 +313410,7 @@ _081133C2: mov r0, r8 movs r1, 0x2 add r2, sp, 0x4 - bl PokemonGetField + bl GetMonData ldr r0, _08113418 add r1, sp, 0x4 bl StringCopy10 @@ -313728,7 +313728,7 @@ _0811369C: movs r1, 0x18 movs r2, 0x8 movs r3, 0x1D - bl AddTextPrinterParametrized + bl DrawTextWindow ldr r4, _0811370C strb r6, [r4, 0x1] ldr r2, [r5] @@ -314002,7 +314002,7 @@ _08113910: adds r1, r6, 0 adds r1, 0xD mov r0, r8 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 @@ -317284,7 +317284,7 @@ _08115322: ldr r1, _08115360 adds r0, r1 movs r1, 0x41 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 movs r0, 0x98 lsls r0, 1 @@ -317414,7 +317414,7 @@ _08115460: ldr r0, _08115480 bl SetUpWindowConfig ldr r0, _08115484 - bl sub_8071C4C + bl InitMenuWindow ldr r0, _08115488 movs r2, 0xE0 lsls r2, 1 @@ -317484,11 +317484,11 @@ _081154FC: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08115558 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _0811555C movs r2, 0x3C negs r2, r2 @@ -317732,18 +317732,18 @@ sub_8115734: @ 8115734 movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _08115770 bl sub_814AAF8 movs r0, 0 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08115774 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _08115778 adds r0, r4, 0 bl sub_80F914C @@ -317766,7 +317766,7 @@ sub_811577C: @ 811577C movs r1, 0x8 movs r2, 0x1A movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r1, _081157A4 lsls r0, r4, 2 adds r0, r4 @@ -319646,7 +319646,7 @@ sub_8116638: @ 8116638 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08116680 b _0811669A .align 2, 0 @@ -319661,12 +319661,12 @@ _08116684: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _081166A4 _0811669A: movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint b _081166C4 .align 2, 0 _081166A4: .4byte gUnknown_081C4199 @@ -319677,11 +319677,11 @@ _081166A8: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _081166DC movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint _081166C4: ldr r1, _081166E0 lsls r0, r4, 2 @@ -319806,11 +319806,11 @@ sub_811677C: @ 811677C movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r5, 0 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldrb r1, [r6, 0x19] movs r2, 0xC ldrsh r0, [r4, r2] @@ -319997,11 +319997,11 @@ _081168E4: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08116968 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _0811696C b _08116992 .align 2, 0 @@ -320022,11 +320022,11 @@ _08116970: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _081169A4 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _081169A8 _08116992: ldr r2, _081169AC @@ -320050,11 +320050,11 @@ _081169BC: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _081169EC movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _081169F0 adds r0, r6, 0 movs r2, 0x3C @@ -320129,11 +320129,11 @@ _08116A2A: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08116A94 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _08116A98 ldr r2, _08116A9C adds r0, r5, 0 @@ -321491,7 +321491,7 @@ sub_81174F8: @ 81174F8 movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _08117520 bl sub_814AAF8 ldr r1, _08117524 @@ -321542,8 +321542,8 @@ sub_811755C: @ 811755C movs r1, 0x8 movs r2, 0x1A movs r3, 0xD - bl Reset - bl sub_8071EF4 + bl MenuZeroFillWindowRect + bl MenuZeroFillScreen movs r0, 0x1 negs r0, r0 movs r1, 0 @@ -321585,7 +321585,7 @@ sub_81175C0: @ 81175C0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_8071EF4 + bl MenuZeroFillScreen bl script_env_2_disable adds r0, r4, 0 bl DestroyTask @@ -321622,7 +321622,7 @@ _08117608: ldr r1, _0811762C movs r0, 0x1 strh r0, [r1] - bl sub_8071EF4 + bl MenuZeroFillScreen bl script_env_2_disable adds r0, r4, 0 bl DestroyTask @@ -321664,11 +321664,11 @@ sub_8117630: @ 8117630 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r5, 0 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _081176A0 lsls r0, r4, 2 adds r0, r4 @@ -321719,11 +321719,11 @@ sub_81176A8: @ 81176A8 movs r1, 0 movs r2, 0x9 movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r5, 0 movs r1, 0x9 movs r2, 0x1 - bl PrintCoinsString + bl sub_8072B4C ldr r2, _08117768 ldr r1, _0811776C mov r8, r1 @@ -321759,11 +321759,11 @@ sub_81176A8: @ 81176A8 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08117770 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _08117774 ldr r2, _08117778 adds r0, r7, 0 @@ -321789,11 +321789,11 @@ _0811777C: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r4, 0 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _081177B4 lsls r0, r7, 2 adds r0, r7 @@ -321815,11 +321815,11 @@ _081177BC: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r5, 0 movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint ldr r0, _081177F8 str r0, [r6] movs r0, 0 @@ -327870,7 +327870,7 @@ sub_811A72C: @ 811A72C adds r0, r6, 0 adds r1, r5, 0 adds r2, r4, 0 - bl DrawDefaultWindow + bl MenuDrawTextWindow mov r0, r8 adds r1, r6, 0 adds r2, r5, 0 @@ -327899,7 +327899,7 @@ sub_811A770: @ 811A770 lsls r4, 18 adds r3, r4 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect pop {r4} pop {r0} bx r0 @@ -327968,7 +327968,7 @@ _0811A7EA: ldr r0, _0811A828 adds r1, r6, 0 adds r2, r7, 0 - bl Print + bl MenuPrint add sp, 0x10 pop {r4-r7} pop {r0} @@ -335124,7 +335124,7 @@ sub_811DE98: @ 811DE98 ldr r1, _0811DF2C adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl nullsub_9 @@ -335903,12 +335903,12 @@ _0811E588: adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2E] movs r6, 0 @@ -335936,12 +335936,12 @@ _0811E5D4: adds r1, r6, 0 adds r1, 0xD mov r0, r8 - bl PokemonGetField + bl GetMonData strh r0, [r4] adds r1, r6, 0 adds r1, 0x11 mov r0, r8 - bl PokemonGetField + bl GetMonData mov r2, r9 adds r1, r2, r6 strb r0, [r1] @@ -335956,21 +335956,21 @@ _0811E5D4: adds r4, r0 adds r0, r4, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r10 strb r0, [r1] adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData ldr r2, [sp, 0x80] strb r0, [r2] adds r0, r4, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x44] adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData mov r3, sp movs r5, 0x1F ands r0, r5 @@ -335982,7 +335982,7 @@ _0811E5D4: strb r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData mov r3, sp movs r6, 0x1F ands r0, r6 @@ -335994,7 +335994,7 @@ _0811E5D4: strh r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 2 @@ -336006,7 +336006,7 @@ _0811E5D4: strb r1, [r3, 0x15] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData movs r1, 0x1F ands r1, r0 lsls r1, 15 @@ -336017,7 +336017,7 @@ _0811E5D4: str r0, [sp, 0x14] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r6 lsls r0, 4 @@ -336028,7 +336028,7 @@ _0811E5D4: strh r1, [r3, 0x16] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 1 @@ -336040,55 +336040,55 @@ _0811E5D4: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x48] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x4C] adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldr r1, [sp, 0x7C] strb r0, [r1] adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x28] adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2C] adds r0, r4, 0 movs r1, 0x3B - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2] adds r0, r4, 0 movs r1, 0x3C - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x4] adds r0, r4, 0 movs r1, 0x3D - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x6] adds r0, r4, 0 movs r1, 0x3E - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x8] adds r0, r4, 0 movs r1, 0x3F - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0xA] adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData mov r3, sp movs r1, 0x1 ands r0, r1 @@ -336101,7 +336101,7 @@ _0811E5D4: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData mov r3, sp lsls r0, 7 ldrb r2, [r3, 0x17] @@ -336111,19 +336111,19 @@ _0811E5D4: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x54] adds r0, r4, 0 movs r1, 0x2 ldr r2, [sp, 0x8C] - bl PokemonGetField + bl GetMonData ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] - bl PokemonGetField + bl GetMonData mov r2, sp movs r6, 0 _0811E78C: @@ -336174,13 +336174,13 @@ _0811E7E2: adds r1, r6, 0 adds r1, 0xD adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r1, r8 strh r0, [r1] adds r1, r6, 0 adds r1, 0x11 adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r2, r10 adds r1, r2, r6 strb r0, [r1] @@ -336194,7 +336194,7 @@ _0811E7E2: ldr r1, _0811E830 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r9 strb r0, [r1, 0xC] mov r2, r9 @@ -336236,7 +336236,7 @@ _0811E85C: adds r1, 0x11 mov r2, r8 adds r0, r4, r2 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -336247,7 +336247,7 @@ _0811E85C: ldr r1, _0811E888 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -336284,7 +336284,7 @@ _0811E8B8: adds r0, r1 movs r1, 0x19 _0811E8C2: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -336417,27 +336417,27 @@ _0811E9A8: adds r4, r0 adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData strb r0, [r7] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x1] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x2] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x3] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x4] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x5] movs r6, 0x6 b _0811EBEE @@ -336522,7 +336522,7 @@ _0811EA78: adds r0, r1 movs r1, 0x37 _0811EA82: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -336611,7 +336611,7 @@ _0811EB1C: adds r0, r1 movs r1, 0x3F _0811EB26: - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 strb r0, [r7] @@ -336718,7 +336718,7 @@ _0811EBDC: adds r0, r1 movs r1, 0x36 _0811EBE6: - bl PokemonGetField + bl GetMonData strb r0, [r7] movs r6, 0x1 _0811EBEE: @@ -336893,12 +336893,12 @@ _0811ED9C: adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -336939,12 +336939,12 @@ _0811EE02: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r7, 0 - bl pokemon_setattr + bl SetMonData adds r7, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -336960,15 +336960,15 @@ _0811EE02: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x14] lsls r0, 27 lsrs r0, 27 @@ -336977,7 +336977,7 @@ _0811EE02: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r6, 0x14] lsls r0, 22 @@ -336986,7 +336986,7 @@ _0811EE02: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r6, 0x15] lsls r0, 25 @@ -336995,7 +336995,7 @@ _0811EE02: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldr r0, [r6, 0x14] lsls r0, 12 @@ -337004,7 +337004,7 @@ _0811EE02: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r6, 0x16] lsls r0, 23 @@ -337013,7 +337013,7 @@ _0811EE02: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r6, 0x17] lsls r0, 26 @@ -337022,47 +337022,47 @@ _0811EE02: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811EF30: .4byte 0x03004360 @@ -337076,7 +337076,7 @@ _0811EF34: lsls r2, 9 adds r2, r7 movs r1, 0xB - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811EF4C: .4byte 0x03004360 @@ -337091,7 +337091,7 @@ _0811EF54: lsls r2, 9 adds r2, r7 movs r1, 0xC - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811EF6C: .4byte 0x03004360 @@ -337115,12 +337115,12 @@ _0811EF8E: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -337134,7 +337134,7 @@ _0811EF8E: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811EFC8: .4byte 0x03004360 @@ -337168,35 +337168,35 @@ _0811EFF4: adds r2, r7 adds r0, r4, 0 movs r1, 0x11 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F050: .4byte 0x03004360 @@ -337217,7 +337217,7 @@ _0811F058: _0811F070: adds r3, 0x3 adds r2, r3 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F07C: .4byte 0x03004360 @@ -337233,7 +337233,7 @@ _0811F088: lsls r2, 9 adds r2, r7 movs r1, 0x1 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F0A0: .4byte 0x03004360 @@ -337248,7 +337248,7 @@ _0811F0A8: lsls r2, 9 adds r2, r7 movs r1, 0x19 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F0C0: .4byte 0x03004360 @@ -337263,7 +337263,7 @@ _0811F0C8: lsls r2, 9 adds r2, r7 movs r1, 0x1A - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F0E0: .4byte 0x03004360 @@ -337278,7 +337278,7 @@ _0811F0E8: lsls r2, 9 adds r2, r7 movs r1, 0x1B - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F100: .4byte 0x03004360 @@ -337293,7 +337293,7 @@ _0811F108: lsls r2, 9 adds r2, r7 movs r1, 0x1C - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F120: .4byte 0x03004360 @@ -337308,7 +337308,7 @@ _0811F128: lsls r2, 9 adds r2, r7 movs r1, 0x1D - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F140: .4byte 0x03004360 @@ -337323,7 +337323,7 @@ _0811F148: lsls r2, 9 adds r2, r7 movs r1, 0x1E - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F160: .4byte 0x03004360 @@ -337338,7 +337338,7 @@ _0811F168: lsls r2, 9 adds r2, r7 movs r1, 0x1F - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F180: .4byte 0x03004360 @@ -337353,7 +337353,7 @@ _0811F188: lsls r2, 9 adds r2, r7 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F1A0: .4byte 0x03004360 @@ -337368,7 +337368,7 @@ _0811F1A8: lsls r2, 9 adds r2, r7 movs r1, 0x22 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F1C0: .4byte 0x03004360 @@ -337383,7 +337383,7 @@ _0811F1C8: lsls r2, 9 adds r2, r7 movs r1, 0x23 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F1E0: .4byte 0x03004360 @@ -337398,7 +337398,7 @@ _0811F1E8: lsls r2, 9 adds r2, r7 movs r1, 0x24 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F200: .4byte 0x03004360 @@ -337413,7 +337413,7 @@ _0811F208: lsls r2, 9 adds r2, r7 movs r1, 0x25 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F220: .4byte 0x03004360 @@ -337428,7 +337428,7 @@ _0811F228: lsls r2, 9 adds r2, r7 movs r1, 0x26 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F240: .4byte 0x03004360 @@ -337445,35 +337445,35 @@ _0811F248: adds r2, r7 adds r0, r4, 0 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x5 @@ -337493,7 +337493,7 @@ _0811F2B8: lsls r2, 9 adds r2, r7 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F2D0: .4byte 0x03004360 @@ -337508,7 +337508,7 @@ _0811F2D8: lsls r2, 9 adds r2, r7 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F2F0: .4byte 0x03004360 @@ -337523,7 +337523,7 @@ _0811F2F8: lsls r2, 9 adds r2, r7 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F310: .4byte 0x03004360 @@ -337538,7 +337538,7 @@ _0811F318: lsls r2, 9 adds r2, r7 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F330: .4byte 0x03004360 @@ -337553,7 +337553,7 @@ _0811F338: lsls r2, 9 adds r2, r7 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F350: .4byte 0x03004360 @@ -337569,7 +337569,7 @@ _0811F358: adds r2, r7 _0811F368: movs r1, 0x2C - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F370: .4byte 0x03004360 @@ -337584,7 +337584,7 @@ _0811F378: lsls r2, 9 adds r2, r7 movs r1, 0 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F390: .4byte 0x03004360 @@ -337599,7 +337599,7 @@ _0811F398: lsls r2, 9 adds r2, r7 movs r1, 0x9 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F3B0: .4byte 0x03004360 @@ -337614,7 +337614,7 @@ _0811F3B8: lsls r2, 9 adds r2, r7 movs r1, 0x37 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F3D0: .4byte 0x03004360 @@ -337629,7 +337629,7 @@ _0811F3D8: lsls r2, 9 adds r2, r7 movs r1, 0x38 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F3F0: .4byte 0x03004360 @@ -337644,7 +337644,7 @@ _0811F3F8: lsls r2, 9 adds r2, r7 movs r1, 0x39 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F410: .4byte 0x03004360 @@ -337659,7 +337659,7 @@ _0811F418: lsls r2, 9 adds r2, r7 movs r1, 0x3A - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F430: .4byte 0x03004360 @@ -337674,7 +337674,7 @@ _0811F438: lsls r2, 9 adds r2, r7 movs r1, 0x3B - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F450: .4byte 0x03004360 @@ -337689,7 +337689,7 @@ _0811F458: lsls r2, 9 adds r2, r7 movs r1, 0x3C - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F470: .4byte 0x03004360 @@ -337704,7 +337704,7 @@ _0811F478: lsls r2, 9 adds r2, r7 movs r1, 0x3D - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F490: .4byte 0x03004360 @@ -337719,7 +337719,7 @@ _0811F498: lsls r2, 9 adds r2, r7 movs r1, 0x3E - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F4B0: .4byte 0x03004360 @@ -337734,7 +337734,7 @@ _0811F4B8: lsls r2, 9 adds r2, r7 movs r1, 0x3F - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F4D0: .4byte 0x03004360 @@ -337749,7 +337749,7 @@ _0811F4D8: lsls r2, 9 adds r2, r7 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F4F0: .4byte 0x03004360 @@ -337764,7 +337764,7 @@ _0811F4F8: lsls r2, 9 adds r2, r7 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F510: .4byte 0x03004360 @@ -337779,7 +337779,7 @@ _0811F518: lsls r2, 9 adds r2, r7 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F530: .4byte 0x03004360 @@ -337794,7 +337794,7 @@ _0811F538: lsls r2, 9 adds r2, r7 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F550: .4byte 0x03004360 @@ -337809,7 +337809,7 @@ _0811F558: lsls r2, 9 adds r2, r7 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F570: .4byte 0x03004360 @@ -337824,7 +337824,7 @@ _0811F578: lsls r2, 9 adds r2, r7 movs r1, 0x30 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F590: .4byte 0x03004360 @@ -337839,7 +337839,7 @@ _0811F598: lsls r2, 9 adds r2, r7 movs r1, 0x32 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F5B0: .4byte 0x03004360 @@ -337854,7 +337854,7 @@ _0811F5B8: lsls r2, 9 adds r2, r7 movs r1, 0x33 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F5D0: .4byte 0x03004360 @@ -337869,7 +337869,7 @@ _0811F5D8: lsls r2, 9 adds r2, r7 movs r1, 0x34 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F5F0: .4byte 0x03004360 @@ -337884,7 +337884,7 @@ _0811F5F8: lsls r2, 9 adds r2, r7 movs r1, 0x35 - bl pokemon_setattr + bl SetMonData b _0811F62E .align 2, 0 _0811F610: .4byte 0x03004360 @@ -337899,7 +337899,7 @@ _0811F618: lsls r2, 9 adds r2, r7 movs r1, 0x36 - bl pokemon_setattr + bl SetMonData _0811F62E: ldr r2, _0811F660 ldr r0, _0811F65C @@ -338009,7 +338009,7 @@ sub_811F6D8: @ 811F6D8 muls r0, r5 adds r0, r4 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -338193,7 +338193,7 @@ sub_811F864: @ 811F864 ldr r1, _0811F9B0 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r8, r0 lsls r0, 16 lsrs r0, 16 @@ -339309,7 +339309,7 @@ sub_812014C: @ 812014C ldr r4, _081201D4 adds r0, r4 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r9 ldrb r0, [r1] @@ -339319,7 +339319,7 @@ sub_812014C: @ 812014C muls r0, r5 adds r0, r4 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -339347,7 +339347,7 @@ _081201DC: ldr r1, _08120228 adds r0, r1 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -339783,7 +339783,7 @@ sub_8120514: @ 8120514 ldr r1, _08120550 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x19 @@ -342212,7 +342212,7 @@ _08121908: _0812190E: movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData b _0812194A .align 2, 0 _08121918: .4byte 0x02000000 @@ -342234,7 +342234,7 @@ _08121940: adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData _0812194A: mov r0, sp bl StringGetEnd10 @@ -342523,7 +342523,7 @@ _08121B64: adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData b _08121BC4 .align 2, 0 _08121B84: .4byte 0x03004360 @@ -342554,7 +342554,7 @@ _08121BB0: adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData _08121BC4: mov r0, sp bl StringGetEnd10 @@ -342598,7 +342598,7 @@ _08121C02: adds r0, r1 movs r1, 0x2 adds r2, r6, 0 - bl PokemonGetField + bl GetMonData b _08121C3A .align 2, 0 _08121C24: .4byte 0x03004360 @@ -342610,7 +342610,7 @@ _08121C28: adds r0, r1 movs r1, 0x2 adds r2, r6, 0 - bl PokemonGetField + bl GetMonData _08121C3A: adds r0, r6, 0 bl StringGetEnd10 @@ -343132,7 +343132,7 @@ sub_8122030: @ 8122030 push {r4,lr} adds r4, r0, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0812207C ldr r0, _08122058 @@ -343143,7 +343143,7 @@ sub_8122030: @ 8122030 bne _08122060 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0812207C b _081220B6 @@ -343161,7 +343161,7 @@ _08122060: bne _08122088 adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData cmp r0, 0x32 bls _08122088 _0812207C: @@ -343173,7 +343173,7 @@ _08122084: .4byte 0x00000554 _08122088: adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r3, r0, 16 ldr r1, _081220C0 @@ -343201,7 +343201,7 @@ _081220B8: pop {r1} bx r1 .align 2, 0 -_081220C0: .4byte gUnknown_08405EC4 +_081220C0: .4byte gBattleTowerBanlist _081220C4: .4byte 0x0000ffff thumb_func_end sub_8122030 @@ -343245,7 +343245,7 @@ _08122102: ldr r2, _081221B8 adds r0, r2 movs r1, 0xB - bl PokemonGetField + bl GetMonData ldr r1, _081221BC ldr r2, _081221C0 adds r6, r1, r2 @@ -343256,7 +343256,7 @@ _08122102: ldr r2, _081221B8 adds r0, r2 movs r1, 0xC - bl PokemonGetField + bl GetMonData ldr r1, _081221C4 strh r0, [r1] adds r1, r5, 0x1 @@ -343284,7 +343284,7 @@ _0812214A: adds r0, r2, 0 adds r0, r7 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r4, r0 beq _081220F8 movs r1, 0xA0 @@ -343301,7 +343301,7 @@ _0812214A: adds r0, r1, 0 adds r0, r7 movs r1, 0xC - bl PokemonGetField + bl GetMonData cmp r4, r0 beq _081220FC _0812218E: @@ -343976,7 +343976,7 @@ _081226DC: movs r1, 0xA movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_8072DEC bl sub_806D5A4 ldr r0, _0812271C @@ -344023,7 +344023,7 @@ _0812274A: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_8072DEC adds r0, r4, 0 bl sub_8122838 @@ -344121,7 +344121,7 @@ sub_81227FC: @ 81227FC movs r1, 0xA movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_8072DEC movs r0, 0 movs r1, 0 @@ -344246,7 +344246,7 @@ _081228F0: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08122912 adds r0, r6, 0 @@ -344299,12 +344299,12 @@ _08122958: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08122984 adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData adds r2, r0, 0 lsls r2, 16 lsrs r2, 16 @@ -344350,7 +344350,7 @@ _081229C0: adds r4, r0, r6 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08122A36 adds r0, r5, 0 @@ -344835,7 +344835,7 @@ sub_8122D94: @ 8122D94 ldr r1, _08122DD0 adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData adds r2, r0, 0 cmp r2, 0 bne _08122DE0 @@ -345240,7 +345240,7 @@ sub_81230F4: @ 81230F4 movs r1, 0xA movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_8072DEC movs r0, 0xF movs r1, 0 @@ -345635,14 +345635,14 @@ _081233EC: .align 2, 0 _08123454: .4byte gUnknown_08401CF8 _08123458: .4byte gUnknown_08401D18 -_0812345C: .4byte gUnknown_08401820 +_0812345C: .4byte gCableCarMtChimneyTilemap _08123460: .4byte 0x02019000 -_08123464: .4byte gUnknown_08401978 -_08123468: .4byte gUnknown_08401AFC -_0812346C: .4byte gUnknown_08401CD4 +_08123464: .4byte gCableCarTreeTilemap +_08123468: .4byte gCableCarMountainTilemap +_0812346C: .4byte gCableCarPylonStemTilemap _08123470: .4byte 0x000009d8 -_08123474: .4byte gUnknown_08E7EB9C -_08123478: .4byte gUnknown_08E7EC3C +_08123474: .4byte gCableCarBG_Pal +_08123478: .4byte gCableCarBG_Gfx _0812347C: .4byte 0x03001770 _08123480: .4byte 0x0000043c _08123484: @@ -345770,7 +345770,7 @@ _0812357C: .4byte 0x02019168 _08123580: .4byte 0x0600f000 _08123584: .4byte 0x02039274 _08123588: .4byte 0x000008fc -_0812358C: .4byte gUnknown_08401CC0 +_0812358C: .4byte gCableCarPylonHookTilemapEntries _08123590: .4byte 0x03001770 _08123594: .4byte 0x0000043c _08123598: @@ -346437,7 +346437,7 @@ _08123AD6: bx r0 .align 2, 0 _08123AE8: .4byte 0x000008fc -_08123AEC: .4byte gUnknown_08401CC0 +_08123AEC: .4byte gCableCarPylonHookTilemapEntries _08123AF0: .4byte 0x020199d8 _08123AF4: .4byte 0x030024d0 thumb_func_end sub_81239E4 @@ -346553,7 +346553,7 @@ _08123BB0: ldr r2, _08123BD8 b _08123BEA .align 2, 0 -_08123BD4: .4byte gUnknown_08401CC4 +_08123BD4: .4byte gCableCarPylonHookTilemapEntries + 0x4 _08123BD8: .4byte 0x00000942 _08123BDC: ldr r2, _08123C08 @@ -346579,7 +346579,7 @@ _08123BEE: ldrsh r0, [r4, r1] b _08123C26 .align 2, 0 -_08123C08: .4byte gUnknown_08401CC8 +_08123C08: .4byte gCableCarPylonHookTilemapEntries + 0x8 _08123C0C: .4byte 0x00000904 _08123C10: .4byte 0x00000944 _08123C14: .4byte 0x02039274 @@ -347345,10 +347345,10 @@ _081241BE: bl sub_807C9B4 b _0812431E .align 2, 0 -_0812422C: .4byte gUnknown_08401D88 -_08124230: .4byte gUnknown_08401D8A -_08124234: .4byte gUnknown_08401D8E -_08124238: .4byte gUnknown_08401D96 +_0812422C: .4byte gCableCarPlayerGraphicsIDs +_08124230: .4byte gMtChimneyHikerGraphicsIDs +_08124234: .4byte gMtChimneyHikerCoords +_08124238: .4byte gMtChimneyHikerMovementDelayTable _0812423C: .4byte gUnknown_08401D9C _08124240: .4byte 0x0202e8cc _08124244: .4byte gSaveBlock2 @@ -352141,7 +352141,7 @@ sub_8126608: @ 8126608 bl memcpy adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 movs r0, 0xCE @@ -352205,7 +352205,7 @@ _0812668C: _081266C6: adds r0, r7, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl itemid_is_mail @@ -356982,8 +356982,8 @@ _08128ADE: bx r0 thumb_func_end sub_8128AA8 - thumb_func_start sub_8128AF0 -sub_8128AF0: @ 8128AF0 + thumb_func_start contest_ai_get_turn +contest_ai_get_turn: @ 8128AF0 ldr r1, _08128B04 adds r0, r1, 0 subs r0, 0xE0 @@ -356997,12 +356997,12 @@ sub_8128AF0: @ 8128AF0 .align 2, 0 _08128B04: .4byte 0x020192e4 _08128B08: .4byte 0x02039238 - thumb_func_end sub_8128AF0 + thumb_func_end contest_ai_get_turn thumb_func_start sub_8128B0C sub_8128B0C: @ 8128B0C push {lr} - bl sub_8128AF0 + bl contest_ai_get_turn ldr r0, _08128B3C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357037,7 +357037,7 @@ _08128B48: thumb_func_start sub_8128B4C sub_8128B4C: @ 8128B4C push {lr} - bl sub_8128AF0 + bl contest_ai_get_turn ldr r0, _08128B7C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357072,7 +357072,7 @@ _08128B88: thumb_func_start sub_8128B8C sub_8128B8C: @ 8128B8C push {lr} - bl sub_8128AF0 + bl contest_ai_get_turn ldr r0, _08128BBC movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357107,7 +357107,7 @@ _08128BC8: thumb_func_start sub_8128BCC sub_8128BCC: @ 8128BCC push {lr} - bl sub_8128AF0 + bl contest_ai_get_turn ldr r0, _08128BFC movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357139,8 +357139,8 @@ _08128C08: bx r0 thumb_func_end sub_8128BCC - thumb_func_start sub_8128C0C -sub_8128C0C: @ 8128C0C + thumb_func_start contest_ai_get_excitement +contest_ai_get_excitement: @ 8128C0C ldr r1, _08128C24 adds r0, r1, 0 subs r0, 0xE0 @@ -357156,12 +357156,12 @@ sub_8128C0C: @ 8128C0C .align 2, 0 _08128C24: .4byte 0x020192e4 _08128C28: .4byte 0x02039238 - thumb_func_end sub_8128C0C + thumb_func_end contest_ai_get_excitement thumb_func_start sub_8128C2C sub_8128C2C: @ 8128C2C push {lr} - bl sub_8128C0C + bl contest_ai_get_excitement ldr r0, _08128C5C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357196,7 +357196,7 @@ _08128C68: thumb_func_start sub_8128C6C sub_8128C6C: @ 8128C6C push {lr} - bl sub_8128C0C + bl contest_ai_get_excitement ldr r0, _08128C9C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357231,7 +357231,7 @@ _08128CA8: thumb_func_start sub_8128CAC sub_8128CAC: @ 8128CAC push {lr} - bl sub_8128C0C + bl contest_ai_get_excitement ldr r0, _08128CDC movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357266,7 +357266,7 @@ _08128CE8: thumb_func_start sub_8128CEC sub_8128CEC: @ 8128CEC push {lr} - bl sub_8128C0C + bl contest_ai_get_excitement ldr r0, _08128D1C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357298,8 +357298,8 @@ _08128D28: bx r0 thumb_func_end sub_8128CEC - thumb_func_start sub_8128D2C -sub_8128D2C: @ 8128D2C + thumb_func_start contest_ai_get_user_order +contest_ai_get_user_order: @ 8128D2C ldr r1, _08128D48 adds r2, r1, 0 adds r2, 0x41 @@ -357317,12 +357317,12 @@ sub_8128D2C: @ 8128D2C .align 2, 0 _08128D48: .4byte 0x020192e4 _08128D4C: .4byte 0x02039238 - thumb_func_end sub_8128D2C + thumb_func_end contest_ai_get_user_order thumb_func_start sub_8128D50 sub_8128D50: @ 8128D50 push {lr} - bl sub_8128D2C + bl contest_ai_get_user_order ldr r0, _08128D80 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357357,7 +357357,7 @@ _08128D8C: thumb_func_start sub_8128D90 sub_8128D90: @ 8128D90 push {lr} - bl sub_8128D2C + bl contest_ai_get_user_order ldr r0, _08128DC0 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357392,7 +357392,7 @@ _08128DCC: thumb_func_start sub_8128DD0 sub_8128DD0: @ 8128DD0 push {lr} - bl sub_8128D2C + bl contest_ai_get_user_order ldr r0, _08128E00 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357427,7 +357427,7 @@ _08128E0C: thumb_func_start sub_8128E10 sub_8128E10: @ 8128E10 push {lr} - bl sub_8128D2C + bl contest_ai_get_user_order ldr r0, _08128E40 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357459,8 +357459,8 @@ _08128E4C: bx r0 thumb_func_end sub_8128E10 - thumb_func_start sub_8128E50 -sub_8128E50: @ 8128E50 + thumb_func_start contest_ai_get_user_condition_maybe +contest_ai_get_user_condition_maybe: @ 8128E50 push {r4,lr} ldr r4, _08128E88 adds r0, r4, 0 @@ -357490,12 +357490,12 @@ sub_8128E50: @ 8128E50 .align 2, 0 _08128E88: .4byte 0x020192e4 _08128E8C: .4byte 0x02039238 - thumb_func_end sub_8128E50 + thumb_func_end contest_ai_get_user_condition_maybe thumb_func_start sub_8128E90 sub_8128E90: @ 8128E90 push {lr} - bl sub_8128E50 + bl contest_ai_get_user_condition_maybe ldr r0, _08128EC0 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357530,7 +357530,7 @@ _08128ECC: thumb_func_start sub_8128ED0 sub_8128ED0: @ 8128ED0 push {lr} - bl sub_8128E50 + bl contest_ai_get_user_condition_maybe ldr r0, _08128F00 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357565,7 +357565,7 @@ _08128F0C: thumb_func_start sub_8128F10 sub_8128F10: @ 8128F10 push {lr} - bl sub_8128E50 + bl contest_ai_get_user_condition_maybe ldr r0, _08128F40 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -357600,7 +357600,7 @@ _08128F4C: thumb_func_start sub_8128F50 sub_8128F50: @ 8128F50 push {lr} - bl sub_8128E50 + bl contest_ai_get_user_condition_maybe ldr r0, _08128F80 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -358006,8 +358006,8 @@ _0812923C: bx r0 thumb_func_end sub_81291F8 - thumb_func_start sub_8129244 -sub_8129244: @ 8129244 + thumb_func_start contest_ai_get_contest_type +contest_ai_get_contest_type: @ 8129244 ldr r1, _08129258 ldr r0, _0812925C ldrh r0, [r0] @@ -358021,12 +358021,12 @@ sub_8129244: @ 8129244 _08129258: .4byte 0x020192e4 _0812925C: .4byte 0x0203869c _08129260: .4byte 0x02039238 - thumb_func_end sub_8129244 + thumb_func_end contest_ai_get_contest_type thumb_func_start sub_8129264 sub_8129264: @ 8129264 push {lr} - bl sub_8129244 + bl contest_ai_get_contest_type ldr r0, _08129294 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -358061,7 +358061,7 @@ _081292A0: thumb_func_start sub_81292A4 sub_81292A4: @ 81292A4 push {lr} - bl sub_8129244 + bl contest_ai_get_contest_type ldr r0, _081292D4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -358093,8 +358093,8 @@ _081292E0: bx r0 thumb_func_end sub_81292A4 - thumb_func_start sub_81292E4 -sub_81292E4: @ 81292E4 + thumb_func_start contest_ai_get_move_excitement +contest_ai_get_move_excitement: @ 81292E4 push {r4,lr} ldr r2, _08129318 ldr r4, _0812931C @@ -358108,7 +358108,7 @@ sub_81292E4: @ 81292E4 adds r2, 0x1E adds r1, r2 ldrh r0, [r1] - bl sub_80B19FC + bl contest_get_move_excitement lsls r0, 24 asrs r0, 24 strh r0, [r4, 0x18] @@ -358123,12 +358123,12 @@ sub_81292E4: @ 81292E4 _08129318: .4byte 0x02038570 _0812931C: .4byte 0x020192e4 _08129320: .4byte 0x02039238 - thumb_func_end sub_81292E4 + thumb_func_end contest_ai_get_move_excitement thumb_func_start sub_8129324 sub_8129324: @ 8129324 push {r4,lr} - bl sub_81292E4 + bl contest_ai_get_move_excitement ldr r0, _08129354 ldr r3, _08129358 ldr r2, [r3] @@ -358165,7 +358165,7 @@ _08129360: thumb_func_start sub_8129368 sub_8129368: @ 8129368 push {r4,lr} - bl sub_81292E4 + bl contest_ai_get_move_excitement ldr r0, _08129398 ldr r3, _0812939C ldr r2, [r3] @@ -358202,7 +358202,7 @@ _081293A4: thumb_func_start sub_81293AC sub_81293AC: @ 81293AC push {r4,lr} - bl sub_81292E4 + bl contest_ai_get_move_excitement ldr r0, _081293DC ldr r3, _081293E0 ldr r2, [r3] @@ -358239,7 +358239,7 @@ _081293E8: thumb_func_start sub_81293F0 sub_81293F0: @ 81293F0 push {r4,lr} - bl sub_81292E4 + bl contest_ai_get_move_excitement ldr r0, _08129420 ldr r3, _08129424 ldr r2, [r3] @@ -358273,8 +358273,8 @@ _0812942C: bx r0 thumb_func_end sub_81293F0 - thumb_func_start sub_8129434 -sub_8129434: @ 8129434 + thumb_func_start contest_ai_get_move_effect +contest_ai_get_move_effect: @ 8129434 ldr r2, _08129460 ldr r3, _08129464 ldrb r1, [r3, 0x4] @@ -358302,12 +358302,12 @@ _08129460: .4byte 0x02038570 _08129464: .4byte 0x020192e4 _08129468: .4byte gContestMoves _0812946C: .4byte 0x02039238 - thumb_func_end sub_8129434 + thumb_func_end contest_ai_get_move_effect thumb_func_start sub_8129470 sub_8129470: @ 8129470 push {lr} - bl sub_8129434 + bl contest_ai_get_move_effect ldr r0, _081294A0 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -358342,7 +358342,7 @@ _081294AC: thumb_func_start sub_81294B0 sub_81294B0: @ 81294B0 push {lr} - bl sub_8129434 + bl contest_ai_get_move_effect ldr r0, _081294E0 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -358374,8 +358374,8 @@ _081294EC: bx r0 thumb_func_end sub_81294B0 - thumb_func_start sub_81294F0 -sub_81294F0: @ 81294F0 + thumb_func_start contest_ai_get_move_effect_type +contest_ai_get_move_effect_type: @ 81294F0 ldr r2, _08129524 ldr r3, _08129528 ldrb r1, [r3, 0x4] @@ -358408,12 +358408,12 @@ _08129528: .4byte 0x020192e4 _0812952C: .4byte gContestEffects _08129530: .4byte gContestMoves _08129534: .4byte 0x02039238 - thumb_func_end sub_81294F0 + thumb_func_end contest_ai_get_move_effect_type thumb_func_start sub_8129538 sub_8129538: @ 8129538 push {lr} - bl sub_81294F0 + bl contest_ai_get_move_effect_type ldr r0, _08129568 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -358448,7 +358448,7 @@ _08129574: thumb_func_start sub_8129578 sub_8129578: @ 8129578 push {lr} - bl sub_81294F0 + bl contest_ai_get_move_effect_type ldr r0, _081295A8 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -358480,8 +358480,8 @@ _081295B4: bx r0 thumb_func_end sub_8129578 - thumb_func_start sub_81295B8 -sub_81295B8: @ 81295B8 + thumb_func_start contest_ai_check_move_has_highest_appeal +contest_ai_check_move_has_highest_appeal: @ 81295B8 push {r4-r7,lr} ldr r2, _08129610 ldr r3, _08129614 @@ -358546,12 +358546,12 @@ _08129626: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_81295B8 + thumb_func_end contest_ai_check_move_has_highest_appeal thumb_func_start sub_8129638 sub_8129638: @ 8129638 push {lr} - bl sub_81295B8 + bl contest_ai_check_move_has_highest_appeal ldr r0, _08129664 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359058,8 +359058,8 @@ _081299EC: bx r0 thumb_func_end sub_81299B0 - thumb_func_start sub_81299F0 -sub_81299F0: @ 81299F0 + thumb_func_start contest_ai_get_move_used_count +contest_ai_get_move_used_count: @ 81299F0 push {r4,lr} ldr r3, _08129A20 ldr r4, _08129A24 @@ -359103,12 +359103,12 @@ _08129A30: bx r0 .align 2, 0 _08129A40: .4byte 0x02039238 - thumb_func_end sub_81299F0 + thumb_func_end contest_ai_get_move_used_count thumb_func_start sub_8129A44 sub_8129A44: @ 8129A44 push {lr} - bl sub_81299F0 + bl contest_ai_get_move_used_count ldr r0, _08129A74 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359143,7 +359143,7 @@ _08129A80: thumb_func_start sub_8129A84 sub_8129A84: @ 8129A84 push {lr} - bl sub_81299F0 + bl contest_ai_get_move_used_count ldr r0, _08129AB4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359178,7 +359178,7 @@ _08129AC0: thumb_func_start sub_8129AC4 sub_8129AC4: @ 8129AC4 push {lr} - bl sub_81299F0 + bl contest_ai_get_move_used_count ldr r0, _08129AF4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359213,7 +359213,7 @@ _08129B00: thumb_func_start sub_8129B04 sub_8129B04: @ 8129B04 push {lr} - bl sub_81299F0 + bl contest_ai_get_move_used_count ldr r0, _08129B34 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359245,8 +359245,8 @@ _08129B40: bx r0 thumb_func_end sub_8129B04 - thumb_func_start sub_8129B44 -sub_8129B44: @ 8129B44 + thumb_func_start contest_ai_check_combo_starter +contest_ai_check_combo_starter: @ 8129B44 push {r4-r7,lr} mov r7, r8 push {r7} @@ -359306,12 +359306,12 @@ _08129B96: _08129BAC: .4byte 0x02038570 _08129BB0: .4byte 0x020192e4 _08129BB4: .4byte 0x02039238 - thumb_func_end sub_8129B44 + thumb_func_end contest_ai_check_combo_starter thumb_func_start sub_8129BB8 sub_8129BB8: @ 8129BB8 push {lr} - bl sub_8129B44 + bl contest_ai_check_combo_starter ldr r0, _08129BE4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359349,7 +359349,7 @@ _08129BF8: .4byte 0x02039238 thumb_func_start sub_8129BFC sub_8129BFC: @ 8129BFC push {lr} - bl sub_8129B44 + bl contest_ai_check_combo_starter ldr r0, _08129C28 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359384,8 +359384,8 @@ _08129C38: _08129C3C: .4byte 0x02039238 thumb_func_end sub_8129BFC - thumb_func_start sub_8129C40 -sub_8129C40: @ 8129C40 + thumb_func_start contest_ai_check_combo_finisher +contest_ai_check_combo_finisher: @ 8129C40 push {r4-r7,lr} mov r7, r8 push {r7} @@ -359444,12 +359444,12 @@ _08129C90: _08129CA8: .4byte 0x02038570 _08129CAC: .4byte 0x020192e4 _08129CB0: .4byte 0x02039238 - thumb_func_end sub_8129C40 + thumb_func_end contest_ai_check_combo_finisher thumb_func_start sub_8129CB4 sub_8129CB4: @ 8129CB4 push {lr} - bl sub_8129C40 + bl contest_ai_check_combo_finisher ldr r0, _08129CE0 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359487,7 +359487,7 @@ _08129CF4: .4byte 0x02039238 thumb_func_start sub_8129CF8 sub_8129CF8: @ 8129CF8 push {lr} - bl sub_8129C40 + bl contest_ai_check_combo_finisher ldr r0, _08129D24 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359522,8 +359522,8 @@ _08129D34: _08129D38: .4byte 0x02039238 thumb_func_end sub_8129CF8 - thumb_func_start sub_8129D3C -sub_8129D3C: @ 8129D3C + thumb_func_start contest_ai_check_would_finish_combo +contest_ai_check_would_finish_combo: @ 8129D3C push {r4,r5,lr} movs r5, 0 ldr r3, _08129D8C @@ -359568,12 +359568,12 @@ _08129D7A: _08129D8C: .4byte 0x02038570 _08129D90: .4byte 0x020192e4 _08129D94: .4byte 0x02039238 - thumb_func_end sub_8129D3C + thumb_func_end contest_ai_check_would_finish_combo thumb_func_start sub_8129D98 sub_8129D98: @ 8129D98 push {lr} - bl sub_8129D3C + bl contest_ai_check_would_finish_combo ldr r0, _08129DC4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359611,7 +359611,7 @@ _08129DD8: .4byte 0x02039238 thumb_func_start sub_8129DDC sub_8129DDC: @ 8129DDC push {lr} - bl sub_8129D3C + bl contest_ai_check_would_finish_combo ldr r0, _08129E08 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359646,8 +359646,8 @@ _08129E18: _08129E1C: .4byte 0x02039238 thumb_func_end sub_8129DDC - thumb_func_start sub_8129E20 -sub_8129E20: @ 8129E20 + thumb_func_start contest_ai_get_condition +contest_ai_get_condition: @ 8129E20 push {r4,r5,lr} ldr r4, _08129E5C ldr r0, [r4] @@ -359678,12 +359678,12 @@ sub_8129E20: @ 8129E20 .align 2, 0 _08129E5C: .4byte 0x02039238 _08129E60: .4byte 0x020192e4 - thumb_func_end sub_8129E20 + thumb_func_end contest_ai_get_condition thumb_func_start sub_8129E64 sub_8129E64: @ 8129E64 push {lr} - bl sub_8129E20 + bl contest_ai_get_condition ldr r0, _08129E94 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359718,7 +359718,7 @@ _08129EA0: thumb_func_start sub_8129EA4 sub_8129EA4: @ 8129EA4 push {lr} - bl sub_8129E20 + bl contest_ai_get_condition ldr r0, _08129ED4 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359753,7 +359753,7 @@ _08129EE0: thumb_func_start sub_8129EE4 sub_8129EE4: @ 8129EE4 push {lr} - bl sub_8129E20 + bl contest_ai_get_condition ldr r0, _08129F14 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359788,7 +359788,7 @@ _08129F20: thumb_func_start sub_8129F24 sub_8129F24: @ 8129F24 push {lr} - bl sub_8129E20 + bl contest_ai_get_condition ldr r0, _08129F54 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359820,8 +359820,8 @@ _08129F60: bx r0 thumb_func_end sub_8129F24 - thumb_func_start sub_8129F64 -sub_8129F64: @ 8129F64 + thumb_func_start contest_ai_get_used_combo_starter +contest_ai_get_used_combo_starter: @ 8129F64 push {r4-r6,lr} movs r6, 0 ldr r5, _08129FAC @@ -359862,12 +359862,12 @@ _08129FAC: .4byte 0x02039238 _08129FB0: .4byte gContestMoves _08129FB4: .4byte 0x02019260 _08129FB8: .4byte 0x020192e4 - thumb_func_end sub_8129F64 + thumb_func_end contest_ai_get_used_combo_starter thumb_func_start sub_8129FBC sub_8129FBC: @ 8129FBC push {lr} - bl sub_8129F64 + bl contest_ai_get_used_combo_starter ldr r0, _08129FEC movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359902,7 +359902,7 @@ _08129FF8: thumb_func_start sub_8129FFC sub_8129FFC: @ 8129FFC push {lr} - bl sub_8129F64 + bl contest_ai_get_used_combo_starter ldr r0, _0812A02C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359937,7 +359937,7 @@ _0812A038: thumb_func_start sub_812A03C sub_812A03C: @ 812A03C push {lr} - bl sub_8129F64 + bl contest_ai_get_used_combo_starter ldr r0, _0812A06C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -359972,7 +359972,7 @@ _0812A078: thumb_func_start sub_812A07C sub_812A07C: @ 812A07C push {lr} - bl sub_8129F64 + bl contest_ai_get_used_combo_starter ldr r0, _0812A0AC movs r1, 0x18 ldrsh r0, [r0, r1] @@ -360004,8 +360004,8 @@ _0812A0B8: bx r0 thumb_func_end sub_812A07C - thumb_func_start sub_812A0BC -sub_812A0BC: @ 812A0BC + thumb_func_start contest_ai_check_can_participate +contest_ai_check_can_participate: @ 812A0BC push {lr} ldr r0, _0812A0DC ldr r0, [r0] @@ -360037,12 +360037,12 @@ _0812A0E8: .align 2, 0 _0812A0F8: .4byte 0x020192e4 _0812A0FC: .4byte 0x02039238 - thumb_func_end sub_812A0BC + thumb_func_end contest_ai_check_can_participate thumb_func_start sub_812A100 sub_812A100: @ 812A100 push {lr} - bl sub_812A0BC + bl contest_ai_check_can_participate ldr r0, _0812A12C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -360080,7 +360080,7 @@ _0812A140: .4byte 0x02039238 thumb_func_start sub_812A144 sub_812A144: @ 812A144 push {lr} - bl sub_812A0BC + bl contest_ai_check_can_participate ldr r0, _0812A170 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -360115,8 +360115,8 @@ _0812A180: _0812A184: .4byte 0x02039238 thumb_func_end sub_812A144 - thumb_func_start sub_812A188 -sub_812A188: @ 812A188 + thumb_func_start contest_ai_get_val_812A188 +contest_ai_get_val_812A188: @ 812A188 push {r4,lr} ldr r4, _0812A1BC ldr r0, [r4] @@ -360144,12 +360144,12 @@ sub_812A188: @ 812A188 .align 2, 0 _0812A1BC: .4byte 0x02039238 _0812A1C0: .4byte 0x020192e4 - thumb_func_end sub_812A188 + thumb_func_end contest_ai_get_val_812A188 thumb_func_start sub_812A1C4 sub_812A1C4: @ 812A1C4 push {lr} - bl sub_812A188 + bl contest_ai_get_val_812A188 ldr r0, _0812A1F0 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -360187,7 +360187,7 @@ _0812A204: .4byte 0x02039238 thumb_func_start sub_812A208 sub_812A208: @ 812A208 push {lr} - bl sub_812A188 + bl contest_ai_get_val_812A188 ldr r0, _0812A234 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -361727,8 +361727,8 @@ _0812ACF4: _0812ACF8: .4byte 0x02039238 thumb_func_end sub_812ACC8 - thumb_func_start sub_812ACFC -sub_812ACFC: @ 812ACFC + thumb_func_start contest_ai_check_for_exciting_move +contest_ai_check_for_exciting_move: @ 812ACFC push {r4-r7,lr} movs r5, 0 movs r4, 0 @@ -361743,7 +361743,7 @@ _0812AD06: ldrh r0, [r1] cmp r0, 0 beq _0812AD30 - bl sub_80B19FC + bl contest_get_move_excitement lsls r0, 24 asrs r0, 24 cmp r0, 0x1 @@ -361770,12 +361770,12 @@ _0812AD36: .align 2, 0 _0812AD48: .4byte 0x020192e4 _0812AD4C: .4byte 0x02039238 - thumb_func_end sub_812ACFC + thumb_func_end contest_ai_check_for_exciting_move thumb_func_start sub_812AD50 sub_812AD50: @ 812AD50 push {lr} - bl sub_812ACFC + bl contest_ai_check_for_exciting_move ldr r0, _0812AD7C movs r1, 0x18 ldrsh r0, [r0, r1] @@ -361813,7 +361813,7 @@ _0812AD90: .4byte 0x02039238 thumb_func_start sub_812AD94 sub_812AD94: @ 812AD94 push {lr} - bl sub_812ACFC + bl contest_ai_check_for_exciting_move ldr r0, _0812ADC0 movs r1, 0x18 ldrsh r0, [r0, r1] @@ -362027,11 +362027,11 @@ sub_812AF10: @ 812AF10 movs r1, 0xE movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0812AF2C movs r1, 0x3 movs r2, 0xF - bl Print + bl MenuPrint pop {r0} bx r0 .align 2, 0 @@ -362454,7 +362454,7 @@ _0812B258: _0812B266: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 _0812B272: @@ -363981,7 +363981,7 @@ sub_812BDF4: @ 812BDF4 ldr r1, _0812BE2C adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x19 @@ -370477,7 +370477,7 @@ _0812F004: ldr r7, _0812F07C adds r0, r7 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r9, r0 ldrb r0, [r4] lsls r0, 1 @@ -370486,7 +370486,7 @@ _0812F004: muls r0, r5 adds r0, r7 movs r1, 0x1 - bl PokemonGetField + bl GetMonData mov r8, r0 ldrb r2, [r4] lsls r1, r2, 2 @@ -370523,7 +370523,7 @@ _0812F084: adds r0, r1 _0812F092: movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 b _0812F0A6 @@ -370549,7 +370549,7 @@ _0812F0AC: ldr r7, _0812F114 adds r0, r7 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r9, r0 ldrb r0, [r4] lsls r0, 1 @@ -370558,7 +370558,7 @@ _0812F0AC: muls r0, r5 adds r0, r7 movs r1, 0x1 - bl PokemonGetField + bl GetMonData mov r8, r0 ldrb r2, [r4] lsls r1, r2, 2 @@ -370595,7 +370595,7 @@ _0812F120: adds r0, r7 _0812F12C: movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 b _0812F13A @@ -375991,7 +375991,7 @@ _08131A74: ldr r5, _08131ADC adds r0, r5 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r10, r0 ldrb r0, [r4] lsls r0, 1 @@ -376000,7 +376000,7 @@ _08131A74: muls r0, r6 adds r0, r5 movs r1, 0x1 - bl PokemonGetField + bl GetMonData mov r9, r0 ldrb r2, [r4] lsls r1, r2, 2 @@ -376015,7 +376015,7 @@ _08131A74: muls r0, r6 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 b _08131AE6 @@ -376058,7 +376058,7 @@ _08131B10: ldr r5, _08131B68 adds r0, r5 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r10, r0 ldrb r0, [r4] lsls r0, 1 @@ -376067,7 +376067,7 @@ _08131B10: muls r0, r6 adds r0, r5 movs r1, 0x1 - bl PokemonGetField + bl GetMonData mov r9, r0 ldrb r2, [r4] lsls r1, r2, 2 @@ -376082,7 +376082,7 @@ _08131B10: muls r0, r6 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 b _08131B72 @@ -377577,14 +377577,14 @@ sub_81326D8: @ 81326D8 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen ldr r4, _08132790 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen ldr r0, _08132794 strh r5, [r0] strh r5, [r0] @@ -377646,14 +377646,14 @@ sub_81327A4: @ 81327A4 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen ldr r4, _0813285C adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen movs r1, 0x80 lsls r1, 19 movs r2, 0x9A @@ -377766,7 +377766,7 @@ sub_81328E8: @ 81328E8 adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage pop {r4} pop {r0} bx r0 @@ -377947,7 +377947,7 @@ _08132AA4: bl sub_813362C b _08132FD6 _08132AAA: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08132AB6 @@ -377956,7 +377956,7 @@ _08132AB6: movs r0, 0x15 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _08132ACC ldr r1, [r0] ldrb r0, [r1] @@ -377965,7 +377965,7 @@ _08132AB6: .align 2, 0 _08132ACC: .4byte 0x030007b0 _08132AD0: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -378042,7 +378042,7 @@ _08132B6C: .align 2, 0 _08132B70: .4byte 0x030007b0 _08132B74: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08132B80 @@ -378051,7 +378051,7 @@ _08132B80: movs r0, 0x15 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _08132B94 ldr r1, [r0] ldrb r0, [r1] @@ -378060,7 +378060,7 @@ _08132B80: .align 2, 0 _08132B94: .4byte 0x030007b0 _08132B98: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r4, r0, 24 cmp r4, 0 @@ -378115,7 +378115,7 @@ _08132BF0: _08132C00: .4byte gUnknown_0842CCF8 _08132C04: .4byte 0x030007b0 _08132C08: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08132C14 @@ -378124,7 +378124,7 @@ _08132C14: movs r0, 0x15 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r0, _08132C28 ldr r1, [r0] movs r0, 0x12 @@ -378132,7 +378132,7 @@ _08132C14: .align 2, 0 _08132C28: .4byte 0x030007b0 _08132C2C: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -378175,7 +378175,7 @@ _08132C74: _08132C84: .4byte gUnknown_0842CD65 _08132C88: .4byte 0x030007b0 _08132C8C: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08132C98 @@ -378188,12 +378188,12 @@ _08132C98: movs r0, 0x15 movs r1, 0x7 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu b _08132FD6 .align 2, 0 _08132CAC: .4byte 0x030007b0 _08132CB0: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -378240,7 +378240,7 @@ _08132D00: .align 2, 0 _08132D08: .4byte 0x030007b0 _08132D0C: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08132D18 @@ -378269,7 +378269,7 @@ _08132D38: .align 2, 0 _08132D3C: .4byte 0x030007b0 _08132D40: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08132D4C @@ -378325,7 +378325,7 @@ _08132DAC: .4byte 0x000002c5 _08132DB0: .4byte 0x03004350 _08132DB4: .4byte sub_81327A4 _08132DB8: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08132DC4 @@ -378447,7 +378447,7 @@ _08132EA4: adds r0, r5 ldrb r1, [r2] adds r1, 0xD - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 ldr r2, _08132F40 @@ -378515,7 +378515,7 @@ _08132F4C: .4byte 0x020232cc _08132F50: .4byte gUnknown_0842CD77 _08132F54: .4byte 0x0202e8cc _08132F58: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _08132FD6 @@ -378533,7 +378533,7 @@ _08132F78: .4byte gUnknown_0842CDA3 _08132F7C: .4byte 0x030007b0 _08132F80: .4byte 0x0000016f _08132F84: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _08132FD6 @@ -378589,7 +378589,7 @@ _08132FE8: .4byte 0x030007b0 sub_8132FEC: @ 8132FEC push {r4-r6,lr} ldr r0, _08133024 - bl sub_8071E2C + bl BasicInitMenuWindow movs r5, 0 ldr r4, _08133028 adds r6, r4, 0 @@ -378603,13 +378603,13 @@ _08132FFA: adds r3, r2 ldrb r2, [r3] ldrb r3, [r4, 0x3] - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r4, 0x4 adds r5, 0x1 cmp r5, 0x3 bls _08132FFA ldr r0, _0813302C - bl sub_8071E2C + bl BasicInitMenuWindow pop {r4-r6} pop {r0} bx r0 @@ -378682,7 +378682,7 @@ _08133096: ldrb r1, [r4, 0x4] ldrb r2, [r4, 0x5] adds r0, r5, 0 - bl Print + bl MenuPrint adds r4, 0x8 ldr r0, [r4] cmp r0, 0 @@ -378837,7 +378837,7 @@ _081331BA: ldr r0, _08133240 adds r1, r5, 0 adds r2, r4, 0 - bl Print + bl MenuPrint cmp r6, 0 beq _081331F8 adds r1, r4, 0x2 @@ -378850,7 +378850,7 @@ _081331BA: lsls r3, 24 lsrs r3, 24 adds r0, r5, 0 - bl Reset + bl MenuZeroFillWindowRect _081331F8: movs r0, 0x8 add r10, r0 @@ -379337,7 +379337,7 @@ _081335AA: adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData ldr r0, _08133604 mov r1, sp bl StringCopy10 @@ -379518,7 +379518,7 @@ _081336E8: adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage b _08133796 .align 2, 0 _08133738: .4byte 0x030007b0 @@ -379533,7 +379533,7 @@ _08133748: adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage ldr r1, [r5] movs r0, 0xC strb r0, [r1] @@ -379559,7 +379559,7 @@ _0813376C: adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage _08133796: ldr r0, _081337D4 ldr r4, [r0] @@ -379755,7 +379755,7 @@ _08133916: ldr r0, _0813393C movs r1, 0xB movs r2, 0x1 - bl Print + bl MenuPrint movs r0, 0 bl sub_813360C pop {r3-r5} @@ -379846,7 +379846,7 @@ _081339D8: ldrb r1, [r4] ldrb r2, [r4, 0x1] mov r0, sp - bl Print + bl MenuPrint b _08133AE2 _081339E4: ldrb r2, [r4] @@ -379855,7 +379855,7 @@ _081339E4: lsls r3, 24 lsrs r3, 24 adds r0, r2, 0 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _08133A34 ldr r1, _08133A38 lsls r0, r5, 3 @@ -379917,7 +379917,7 @@ _08133A64: lsls r3, 24 lsrs r3, 24 adds r0, r2, 0 - bl Reset + bl MenuZeroFillWindowRect ldr r2, _08133AB4 ldr r1, _08133AB8 lsls r0, r5, 3 @@ -380106,7 +380106,7 @@ _08133BA4: movs r0, 0xB movs r2, 0x1C movs r3, 0xC - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile b _08133C92 .align 2, 0 _08133BF8: .4byte gUnknown_08402E39 @@ -380122,14 +380122,14 @@ _08133C04: lsls r3, 24 lsrs r3, 24 adds r0, r2, 0 - bl Reset + bl MenuZeroFillWindowRect ldrb r2, [r4, 0x12] ldrb r1, [r4, 0x13] adds r3, r1, 0x1 lsls r3, 24 lsrs r3, 24 adds r0, r2, 0 - bl Reset + bl MenuZeroFillWindowRect movs r4, 0 ldr r5, _08133C58 adds r3, r6, 0 @@ -380165,7 +380165,7 @@ _08133C5C: adds r3, r1, 0x1 lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect ldrb r0, [r4, 0x9] ldrb r1, [r4, 0xA] adds r2, r0, 0x3 @@ -380174,13 +380174,13 @@ _08133C5C: adds r3, r1, 0x1 lsls r3, 24 lsrs r3, 24 - bl Reset + bl MenuZeroFillWindowRect _08133C86: movs r0, 0xB movs r1, 0x9 movs r2, 0x1C movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect _08133C92: add sp, 0x8 pop {r3} @@ -380199,7 +380199,7 @@ sub_8133CA4: @ 8133CA4 movs r1, 0x7 movs r2, 0x1B movs r3, 0xC - bl Reset + bl MenuZeroFillWindowRect ldr r0, _08133CC8 ldr r0, [r0] movs r1, 0xB1 @@ -380227,7 +380227,7 @@ sub_8133CCC: @ 8133CCC ldr r4, _08133D18 adds r0, r4 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 @@ -380236,7 +380236,7 @@ sub_8133CCC: @ 8133CCC muls r0, r6 adds r0, r4 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -380339,7 +380339,7 @@ _08133DA8: adds r0, r2 str r0, [r5] movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0 @@ -380348,7 +380348,7 @@ _08133DA8: beq _08133DDA ldr r0, [r5] movs r1, 0x3A - bl PokemonGetField + bl GetMonData cmp r0, r4 bne _08133DE8 _08133DDA: @@ -380381,7 +380381,7 @@ _08133DE8: ldr r1, _08133E64 str r1, [r5, 0x10] movs r1, 0x3A - bl PokemonGetField + bl GetMonData ldr r1, _08133E68 lsls r4, r7, 2 adds r4, r7 @@ -380390,7 +380390,7 @@ _08133DE8: strh r0, [r4, 0x1C] ldr r0, [r5] movs r1, 0x39 - bl PokemonGetField + bl GetMonData strh r0, [r4, 0x1E] movs r1, 0x1C ldrsh r0, [r4, r1] @@ -380434,7 +380434,7 @@ sub_8133E74: @ 8133E74 movs r1, 0xE movs r2, 0x1A movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x3 movs r1, 0 bl sub_806D538 @@ -380507,7 +380507,7 @@ sub_8133EF8: @ 8133EF8 movs r1, 0xE movs r2, 0x1A movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0 bl sub_806D538 @@ -380996,35 +380996,35 @@ sub_8134240: @ 8134240 strb r0, [r4, 0x13] adds r0, r5, 0 movs r1, 0x42 - bl PokemonGetField + bl GetMonData str r0, [r4] adds r0, r5, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [r4, 0x4] adds r0, r5, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData strh r0, [r4, 0xA] adds r0, r5, 0 movs r1, 0x16 - bl PokemonGetField + bl GetMonData strb r0, [r4, 0xE] adds r0, r5, 0 movs r1, 0x17 - bl PokemonGetField + bl GetMonData strb r0, [r4, 0xF] adds r0, r5, 0 movs r1, 0x18 - bl PokemonGetField + bl GetMonData strb r0, [r4, 0x10] adds r0, r5, 0 movs r1, 0x21 - bl PokemonGetField + bl GetMonData strb r0, [r4, 0x11] adds r0, r5, 0 movs r1, 0x2F - bl PokemonGetField + bl GetMonData strb r0, [r4, 0x12] ldr r4, _08134304 mov r0, r8 @@ -381248,37 +381248,37 @@ sub_8134450: @ 8134450 adds r2, 0xD adds r0, r4, 0 movs r1, 0x37 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0xA adds r0, r4, 0 movs r1, 0x39 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0xE adds r0, r4, 0 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0xF adds r0, r4, 0 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x10 adds r0, r4, 0 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x11 adds r0, r4, 0 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x12 adds r0, r4, 0 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData add sp, 0x4 pop {r4,r5} pop {r0} @@ -381323,12 +381323,12 @@ sub_8134504: @ 8134504 push {r4,r5,lr} adds r5, r0, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData ldr r4, _08134528 strh r0, [r4, 0xA] adds r0, r5, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData strb r0, [r4, 0xD] bl sub_8134348 pop {r4,r5} @@ -382707,7 +382707,7 @@ _08134F64: movs r1, 0xB movs r2, 0 str r3, [sp, 0x24] - bl PokemonGetField + bl GetMonData ldr r3, [sp, 0x24] ldrh r2, [r3] cmp r0, r2 @@ -382731,14 +382731,14 @@ _08134F94: movs r1, 0xC movs r2, 0 str r3, [sp, 0x24] - bl PokemonGetField + bl GetMonData ldr r3, [sp, 0x24] cmp r0, 0 beq _08134FC4 adds r0, r4, 0 movs r1, 0xC movs r2, 0 - bl PokemonGetField + bl GetMonData mov r2, r8 ldrb r1, [r2, 0x2] lsls r1, 1 @@ -382830,7 +382830,7 @@ _0813504A: adds r0, r4, 0 movs r1, 0x20 add r2, sp, 0xC - bl pokemon_setattr + bl SetMonData mov r0, r8 add r0, r10 ldrb r2, [r0, 0x2] @@ -382839,7 +382839,7 @@ _0813504A: adds r2, r0 adds r0, r4, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData mov r6, r9 _0813507C: cmp r6, 0x3 @@ -382892,7 +382892,7 @@ _081350CE: pop {r1} bx r1 .align 2, 0 -_081350D8: .4byte gUnknown_08405EC4 +_081350D8: .4byte gBattleTowerBanlist _081350DC: .4byte 0x0000ffff thumb_func_end sub_813509C @@ -383142,7 +383142,7 @@ _081352CE: pop {r0} bx r0 .align 2, 0 -_081352DC: .4byte gUnknown_08405EC4 +_081352DC: .4byte gBattleTowerBanlist _081352E0: .4byte 0x0000ffff thumb_func_end sub_8135200 @@ -383169,7 +383169,7 @@ _081352FE: adds r5, r0 adds r0, r5, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r8 lsls r1, 16 @@ -383177,19 +383177,19 @@ _081352FE: mov r8, r1 adds r0, r5, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 adds r0, r5, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 lsls r2, 16 lsrs r2, 16 @@ -383259,7 +383259,7 @@ _081353C4: .4byte 0x03004360 _081353C8: .4byte 0x0202e8dc _081353CC: .4byte 0x020231cc _081353D0: .4byte 0x0202e8cc -_081353D4: .4byte gUnknown_08405EC4 +_081353D4: .4byte gBattleTowerBanlist _081353D8: .4byte 0x0000ffff _081353DC: .4byte gUnknown_08400E2C _081353E0: .4byte gUnknown_08400E32 @@ -383402,7 +383402,7 @@ _081354EA: ldr r0, _08135514 adds r0, r4, r0 movs r1, 0xC - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] ldr r0, _08135518 @@ -383410,7 +383410,7 @@ _081354EA: adds r0, r4, 0 movs r1, 0xC mov r2, sp - bl pokemon_setattr + bl SetMonData adds r5, 0x1 cmp r5, 0x5 ble _081354EA @@ -383499,7 +383499,7 @@ _081355AE: ldr r0, _081355F4 adds r0, r4, r0 movs r1, 0xC - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] ldr r0, _081355F8 @@ -383507,7 +383507,7 @@ _081355AE: adds r0, r4, 0 movs r1, 0xC mov r2, sp - bl pokemon_setattr + bl SetMonData adds r5, 0x1 cmp r5, 0x5 ble _081355AE @@ -384609,7 +384609,7 @@ _08135E8A: adds r4, r1, r0 adds r0, r4, 0 adds r1, r7, 0 - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08135EB4 movs r0, 0x1 @@ -384617,7 +384617,7 @@ _08135E8A: adds r0, r4, 0 adds r1, r7, 0 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData _08135EB4: adds r5, 0x1 cmp r5, 0x2 @@ -385214,12 +385214,12 @@ _08136366: _08136370: .4byte gWindowConfig_81E7080 _08136374: ldr r0, _0813637C - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _08136524 .align 2, 0 _0813637C: .4byte gWindowConfig_81E7080 _08136380: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _0813638A b _0813657A @@ -386235,7 +386235,7 @@ sub_8136BB8: @ 8136BB8 ldr r2, [r4] adds r2, 0x10 movs r1, 0x2 - bl PokemonGetField + bl GetMonData ldr r0, [r4] adds r0, 0x10 bl StringGetEnd10 @@ -386244,21 +386244,21 @@ sub_8136BB8: @ 8136BB8 ldr r1, _08136C38 bl StringAppend ldr r0, _08136C3C - bl sub_8071E2C + bl BasicInitMenuWindow movs r0, 0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, [r4] adds r0, 0x10 movs r1, 0x1 movs r2, 0x11 - bl Print + bl MenuPrint movs r0, 0x17 movs r1, 0xA movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu movs r0, 0 bl MoveMenuCursor pop {r4} @@ -386285,9 +386285,9 @@ sub_8136C40: @ 8136C40 lsrs r0, 24 cmp r0, 0x2 bhi _08136C60 - bl sub_8071EF4 + bl MenuZeroFillScreen ldr r0, _08136C68 - bl sub_8071E2C + bl BasicInitMenuWindow _08136C60: adds r0, r4, 0 pop {r4} @@ -386301,12 +386301,12 @@ _08136C68: .4byte gWindowConfig_81E7080 sub_8136C6C: @ 8136C6C push {lr} ldr r0, _08136C8C - bl sub_8071E2C + bl BasicInitMenuWindow movs r0, 0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _08136C90 ldr r0, [r3] adds r0, 0x53 @@ -386429,16 +386429,16 @@ _08136D5A: sub_8136D60: @ 8136D60 push {lr} ldr r0, _08136D84 - bl sub_8071E2C + bl BasicInitMenuWindow movs r0, 0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08136D88 movs r1, 0x1 movs r2, 0x11 - bl Print + bl MenuPrint pop {r0} bx r0 .align 2, 0 @@ -386449,9 +386449,9 @@ _08136D88: .4byte gUnknown_084115E1 thumb_func_start sub_8136D8C sub_8136D8C: @ 8136D8C push {lr} - bl sub_8071EF4 + bl MenuZeroFillScreen ldr r0, _08136D9C - bl sub_8071E2C + bl BasicInitMenuWindow pop {r0} bx r0 .align 2, 0 @@ -386466,11 +386466,11 @@ sub_8136DA0: @ 8136DA0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r4, 0 movs r1, 0x1 movs r2, 0x11 - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -386529,7 +386529,7 @@ _08136E1A: adds r0, r7 ldr r1, [r0] adds r0, r6, 0 - bl PokemonGetField + bl GetMonData adds r1, r5, r4 strb r0, [r1] adds r0, r4, 0x1 @@ -386554,7 +386554,7 @@ sub_8136E40: @ 8136E40 adds r5, r1, 0 adds r0, r5, 0 movs r1, 0x30 - bl PokemonGetField + bl GetMonData cmp r0, 0xFF beq _08136EDC mov r0, r8 @@ -386569,7 +386569,7 @@ _08136E64: ldr r6, [r0] adds r0, r5, 0 adds r1, r6, 0 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 strb r0, [r7] @@ -386596,7 +386596,7 @@ _08136E9C: adds r0, r5, 0 adds r1, r6, 0 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 @@ -386604,7 +386604,7 @@ _08136E9C: bls _08136E64 adds r0, r5, 0 movs r1, 0x30 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 mov r2, r8 @@ -386621,7 +386621,7 @@ _08136ECE: adds r0, r5, 0 movs r1, 0x30 mov r2, sp - bl pokemon_setattr + bl SetMonData _08136EDC: add sp, 0x4 pop {r3} @@ -386836,7 +386836,7 @@ sub_8137058: @ 8137058 muls r1, r2 adds r0, r1, r0 movs r1, 0x30 - bl PokemonGetField + bl GetMonData cmp r0, 0xFF beq _0813709C movs r0, 0 @@ -386865,7 +386865,7 @@ _081370AC: ldr r1, _081370C8 adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _081370D2 cmp r5, 0 @@ -386906,7 +386906,7 @@ _081370F2: ldr r1, _08137120 adds r0, r1 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _0813710A adds r0, r6, 0x1 @@ -387012,8 +387012,8 @@ _081371AC: pop {r0} bx r0 .align 2, 0 -_081371C0: .4byte gUnknown_08406148 -_081371C4: .4byte gUnknown_08406150 +_081371C0: .4byte gSpriteSheet_ConditionUpDown +_081371C4: .4byte gSpritePalette_ConditionUpDown _081371C8: .4byte 0x02039304 _081371CC: .4byte gUnknown_08406158 _081371D0: .4byte 0x02020020 @@ -388208,12 +388208,12 @@ _08137BB4: adds r4, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1] adds r0, r4, 0 movs r1, 0xC - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2E] movs r6, 0 @@ -388241,12 +388241,12 @@ _08137C00: adds r1, r6, 0 adds r1, 0xD mov r0, r8 - bl PokemonGetField + bl GetMonData strh r0, [r4] adds r1, r6, 0 adds r1, 0x11 mov r0, r8 - bl PokemonGetField + bl GetMonData mov r2, r9 adds r1, r2, r6 strb r0, [r1] @@ -388261,21 +388261,21 @@ _08137C00: adds r4, r0 adds r0, r4, 0 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r10 strb r0, [r1] adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData ldr r2, [sp, 0x80] strb r0, [r2] adds r0, r4, 0 movs r1, 0x19 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x44] adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData mov r3, sp movs r5, 0x1F ands r0, r5 @@ -388287,7 +388287,7 @@ _08137C00: strb r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData mov r3, sp movs r6, 0x1F ands r0, r6 @@ -388299,7 +388299,7 @@ _08137C00: strh r1, [r3, 0x14] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 2 @@ -388311,7 +388311,7 @@ _08137C00: strb r1, [r3, 0x15] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData movs r1, 0x1F ands r1, r0 lsls r1, 15 @@ -388322,7 +388322,7 @@ _08137C00: str r0, [sp, 0x14] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r6 lsls r0, 4 @@ -388333,7 +388333,7 @@ _08137C00: strh r1, [r3, 0x16] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData mov r3, sp ands r0, r5 lsls r0, 1 @@ -388345,55 +388345,55 @@ _08137C00: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x48] adds r0, r4, 0 movs r1, 0x37 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x4C] adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData ldr r1, [sp, 0x7C] strb r0, [r1] adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x28] adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2C] adds r0, r4, 0 movs r1, 0x3B - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x2] adds r0, r4, 0 movs r1, 0x3C - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x4] adds r0, r4, 0 movs r1, 0x3D - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x6] adds r0, r4, 0 movs r1, 0x3E - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0x8] adds r0, r4, 0 movs r1, 0x3F - bl PokemonGetField + bl GetMonData mov r1, sp strh r0, [r1, 0xA] adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData mov r3, sp movs r1, 0x1 ands r0, r1 @@ -388406,7 +388406,7 @@ _08137C00: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x2E - bl PokemonGetField + bl GetMonData mov r3, sp lsls r0, 7 ldrb r2, [r3, 0x17] @@ -388416,19 +388416,19 @@ _08137C00: strb r1, [r3, 0x17] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x54] adds r0, r4, 0 movs r1, 0x2 ldr r2, [sp, 0x8C] - bl PokemonGetField + bl GetMonData ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] - bl PokemonGetField + bl GetMonData mov r2, sp movs r6, 0 _08137DB8: @@ -388479,13 +388479,13 @@ _08137E0E: adds r1, r6, 0 adds r1, 0xD adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r1, r8 strh r0, [r1] adds r1, r6, 0 adds r1, 0x11 adds r0, r4, 0 - bl PokemonGetField + bl GetMonData mov r2, r10 adds r1, r2, r6 strb r0, [r1] @@ -388499,7 +388499,7 @@ _08137E0E: ldr r1, _08137E5C adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData mov r1, r9 strb r0, [r1, 0xC] mov r2, r9 @@ -388541,7 +388541,7 @@ _08137E88: adds r1, 0x11 mov r2, r8 adds r0, r4, r2 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -388552,7 +388552,7 @@ _08137E88: ldr r1, _08137EB4 adds r0, r1 movs r1, 0x15 - bl PokemonGetField + bl GetMonData adds r1, r7, r6 strb r0, [r1] adds r6, 0x1 @@ -388589,7 +388589,7 @@ _08137EE4: adds r0, r1 movs r1, 0x19 _08137EEE: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -388722,27 +388722,27 @@ _08137FD4: adds r4, r0 adds r0, r4, 0 movs r1, 0x27 - bl PokemonGetField + bl GetMonData strb r0, [r7] adds r0, r4, 0 movs r1, 0x28 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x1] adds r0, r4, 0 movs r1, 0x29 - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x2] adds r0, r4, 0 movs r1, 0x2A - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x3] adds r0, r4, 0 movs r1, 0x2B - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x4] adds r0, r4, 0 movs r1, 0x2C - bl PokemonGetField + bl GetMonData strb r0, [r7, 0x5] movs r6, 0x6 b _0813821A @@ -388827,7 +388827,7 @@ _081380A4: adds r0, r1 movs r1, 0x37 _081380AE: - bl PokemonGetField + bl GetMonData adds r1, r0, 0 strb r1, [r7] movs r0, 0xFF @@ -388916,7 +388916,7 @@ _08138148: adds r0, r1 movs r1, 0x3F _08138152: - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 strb r0, [r7] @@ -389023,7 +389023,7 @@ _08138208: adds r0, r1 movs r1, 0x36 _08138212: - bl PokemonGetField + bl GetMonData strb r0, [r7] movs r6, 0x1 _0813821A: @@ -389198,12 +389198,12 @@ _081383C8: adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r2, r6, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -389244,12 +389244,12 @@ _0813842E: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r7, 0 - bl pokemon_setattr + bl SetMonData adds r7, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -389265,15 +389265,15 @@ _0813842E: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl pokemon_setattr + bl SetMonData ldrb r0, [r6, 0x14] lsls r0, 27 lsrs r0, 27 @@ -389282,7 +389282,7 @@ _0813842E: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r6, 0x14] lsls r0, 22 @@ -389291,7 +389291,7 @@ _0813842E: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r6, 0x15] lsls r0, 25 @@ -389300,7 +389300,7 @@ _0813842E: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldr r0, [r6, 0x14] lsls r0, 12 @@ -389309,7 +389309,7 @@ _0813842E: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrh r0, [r6, 0x16] lsls r0, 23 @@ -389318,7 +389318,7 @@ _0813842E: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl pokemon_setattr + bl SetMonData mov r1, sp ldrb r0, [r6, 0x17] lsls r0, 26 @@ -389327,47 +389327,47 @@ _0813842E: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813855C: .4byte 0x03004360 @@ -389381,7 +389381,7 @@ _08138560: lsls r2, 9 adds r2, r7 movs r1, 0xB - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138578: .4byte 0x03004360 @@ -389396,7 +389396,7 @@ _08138580: lsls r2, 9 adds r2, r7 movs r1, 0xC - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138598: .4byte 0x03004360 @@ -389420,12 +389420,12 @@ _081385BA: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl pokemon_setattr + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -389439,7 +389439,7 @@ _081385BA: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081385F4: .4byte 0x03004360 @@ -389473,35 +389473,35 @@ _08138620: adds r2, r7 adds r0, r4, 0 movs r1, 0x11 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813867C: .4byte 0x03004360 @@ -389522,7 +389522,7 @@ _08138684: _0813869C: adds r3, 0x3 adds r2, r3 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081386A8: .4byte 0x03004360 @@ -389538,7 +389538,7 @@ _081386B4: lsls r2, 9 adds r2, r7 movs r1, 0x1 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081386CC: .4byte 0x03004360 @@ -389553,7 +389553,7 @@ _081386D4: lsls r2, 9 adds r2, r7 movs r1, 0x19 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081386EC: .4byte 0x03004360 @@ -389568,7 +389568,7 @@ _081386F4: lsls r2, 9 adds r2, r7 movs r1, 0x1A - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813870C: .4byte 0x03004360 @@ -389583,7 +389583,7 @@ _08138714: lsls r2, 9 adds r2, r7 movs r1, 0x1B - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813872C: .4byte 0x03004360 @@ -389598,7 +389598,7 @@ _08138734: lsls r2, 9 adds r2, r7 movs r1, 0x1C - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813874C: .4byte 0x03004360 @@ -389613,7 +389613,7 @@ _08138754: lsls r2, 9 adds r2, r7 movs r1, 0x1D - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813876C: .4byte 0x03004360 @@ -389628,7 +389628,7 @@ _08138774: lsls r2, 9 adds r2, r7 movs r1, 0x1E - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813878C: .4byte 0x03004360 @@ -389643,7 +389643,7 @@ _08138794: lsls r2, 9 adds r2, r7 movs r1, 0x1F - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081387AC: .4byte 0x03004360 @@ -389658,7 +389658,7 @@ _081387B4: lsls r2, 9 adds r2, r7 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081387CC: .4byte 0x03004360 @@ -389673,7 +389673,7 @@ _081387D4: lsls r2, 9 adds r2, r7 movs r1, 0x22 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081387EC: .4byte 0x03004360 @@ -389688,7 +389688,7 @@ _081387F4: lsls r2, 9 adds r2, r7 movs r1, 0x23 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813880C: .4byte 0x03004360 @@ -389703,7 +389703,7 @@ _08138814: lsls r2, 9 adds r2, r7 movs r1, 0x24 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813882C: .4byte 0x03004360 @@ -389718,7 +389718,7 @@ _08138834: lsls r2, 9 adds r2, r7 movs r1, 0x25 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813884C: .4byte 0x03004360 @@ -389733,7 +389733,7 @@ _08138854: lsls r2, 9 adds r2, r7 movs r1, 0x26 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813886C: .4byte 0x03004360 @@ -389750,35 +389750,35 @@ _08138874: adds r2, r7 adds r0, r4, 0 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x5 @@ -389798,7 +389798,7 @@ _081388E4: lsls r2, 9 adds r2, r7 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081388FC: .4byte 0x03004360 @@ -389813,7 +389813,7 @@ _08138904: lsls r2, 9 adds r2, r7 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813891C: .4byte 0x03004360 @@ -389828,7 +389828,7 @@ _08138924: lsls r2, 9 adds r2, r7 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813893C: .4byte 0x03004360 @@ -389843,7 +389843,7 @@ _08138944: lsls r2, 9 adds r2, r7 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813895C: .4byte 0x03004360 @@ -389858,7 +389858,7 @@ _08138964: lsls r2, 9 adds r2, r7 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813897C: .4byte 0x03004360 @@ -389874,7 +389874,7 @@ _08138984: adds r2, r7 _08138994: movs r1, 0x2C - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _0813899C: .4byte 0x03004360 @@ -389889,7 +389889,7 @@ _081389A4: lsls r2, 9 adds r2, r7 movs r1, 0 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081389BC: .4byte 0x03004360 @@ -389904,7 +389904,7 @@ _081389C4: lsls r2, 9 adds r2, r7 movs r1, 0x9 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081389DC: .4byte 0x03004360 @@ -389919,7 +389919,7 @@ _081389E4: lsls r2, 9 adds r2, r7 movs r1, 0x37 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _081389FC: .4byte 0x03004360 @@ -389934,7 +389934,7 @@ _08138A04: lsls r2, 9 adds r2, r7 movs r1, 0x38 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138A1C: .4byte 0x03004360 @@ -389949,7 +389949,7 @@ _08138A24: lsls r2, 9 adds r2, r7 movs r1, 0x39 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138A3C: .4byte 0x03004360 @@ -389964,7 +389964,7 @@ _08138A44: lsls r2, 9 adds r2, r7 movs r1, 0x3A - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138A5C: .4byte 0x03004360 @@ -389979,7 +389979,7 @@ _08138A64: lsls r2, 9 adds r2, r7 movs r1, 0x3B - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138A7C: .4byte 0x03004360 @@ -389994,7 +389994,7 @@ _08138A84: lsls r2, 9 adds r2, r7 movs r1, 0x3C - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138A9C: .4byte 0x03004360 @@ -390009,7 +390009,7 @@ _08138AA4: lsls r2, 9 adds r2, r7 movs r1, 0x3D - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138ABC: .4byte 0x03004360 @@ -390024,7 +390024,7 @@ _08138AC4: lsls r2, 9 adds r2, r7 movs r1, 0x3E - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138ADC: .4byte 0x03004360 @@ -390039,7 +390039,7 @@ _08138AE4: lsls r2, 9 adds r2, r7 movs r1, 0x3F - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138AFC: .4byte 0x03004360 @@ -390054,7 +390054,7 @@ _08138B04: lsls r2, 9 adds r2, r7 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138B1C: .4byte 0x03004360 @@ -390069,7 +390069,7 @@ _08138B24: lsls r2, 9 adds r2, r7 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138B3C: .4byte 0x03004360 @@ -390084,7 +390084,7 @@ _08138B44: lsls r2, 9 adds r2, r7 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138B5C: .4byte 0x03004360 @@ -390099,7 +390099,7 @@ _08138B64: lsls r2, 9 adds r2, r7 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138B7C: .4byte 0x03004360 @@ -390114,7 +390114,7 @@ _08138B84: lsls r2, 9 adds r2, r7 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138B9C: .4byte 0x03004360 @@ -390129,7 +390129,7 @@ _08138BA4: lsls r2, 9 adds r2, r7 movs r1, 0x30 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138BBC: .4byte 0x03004360 @@ -390144,7 +390144,7 @@ _08138BC4: lsls r2, 9 adds r2, r7 movs r1, 0x32 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138BDC: .4byte 0x03004360 @@ -390159,7 +390159,7 @@ _08138BE4: lsls r2, 9 adds r2, r7 movs r1, 0x33 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138BFC: .4byte 0x03004360 @@ -390174,7 +390174,7 @@ _08138C04: lsls r2, 9 adds r2, r7 movs r1, 0x34 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138C1C: .4byte 0x03004360 @@ -390189,7 +390189,7 @@ _08138C24: lsls r2, 9 adds r2, r7 movs r1, 0x35 - bl pokemon_setattr + bl SetMonData b _08138C5A .align 2, 0 _08138C3C: .4byte 0x03004360 @@ -390204,7 +390204,7 @@ _08138C44: lsls r2, 9 adds r2, r7 movs r1, 0x36 - bl pokemon_setattr + bl SetMonData _08138C5A: ldr r2, _08138C8C ldr r0, _08138C88 @@ -391218,7 +391218,7 @@ sub_8139444: @ 8139444 ldr r4, _081394CC adds r0, r4 movs r1, 0x3A - bl PokemonGetField + bl GetMonData mov r8, r0 mov r1, r9 ldrb r0, [r1] @@ -391228,7 +391228,7 @@ sub_8139444: @ 8139444 muls r0, r5 adds r0, r4 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -391256,7 +391256,7 @@ _081394D4: ldr r1, _08139530 adds r0, r1 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] @@ -391550,7 +391550,7 @@ sub_81396E0: @ 81396E0 ldr r1, _08139718 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 movs r1, 0x19 @@ -391786,7 +391786,7 @@ sub_81398BC: @ 81398BC ldr r1, _08139A0C adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData mov r8, r0 lsls r0, 16 lsrs r0, 16 @@ -392300,7 +392300,7 @@ sub_8139CF4: @ 8139CF4 movs r0, 0 movs r1, 0 movs r2, 0xA - bl DrawDefaultWindow + bl MenuDrawTextWindow ldrb r2, [r5] ldr r3, _08139D54 ldr r0, _08139D58 @@ -392308,7 +392308,7 @@ sub_8139CF4: @ 8139CF4 str r0, [sp] movs r0, 0x1 movs r1, 0x1 - bl sub_80728E4 + bl PrintMenuItemsReordered ldrb r3, [r5] movs r0, 0 str r0, [sp] @@ -392474,7 +392474,7 @@ sub_8139E6C: @ 8139E6C movs r1, 0 movs r2, 0xA movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect bl sub_813AF3C ldr r1, _08139E9C movs r2, 0 @@ -392526,7 +392526,7 @@ sub_8139ED8: @ 8139ED8 movs r1, 0 movs r2, 0xA movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_80FE28C pop {r4} @@ -392547,7 +392547,7 @@ sub_8139EF8: @ 8139EF8 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _08139F28 ldrb r0, [r0, 0x8] cmp r0, 0 @@ -392570,7 +392570,7 @@ _08139F3C: movs r1, 0 movs r2, 0xA movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect bl script_env_2_enable_and_set_ctx_running _08139F4C: adds r0, r4, 0 @@ -392591,17 +392591,17 @@ sub_8139F58: @ 8139F58 movs r1, 0 movs r2, 0xA movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0 movs r2, 0xB movs r3, 0x9 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _08139FAC movs r0, 0x1 movs r1, 0x1 movs r2, 0x4 - bl PrintStringArray + bl PrintMenuItems str r4, [sp] movs r0, 0xA str r0, [sp, 0x4] @@ -392632,11 +392632,11 @@ sub_8139FB4: @ 8139FB4 movs r1, 0xF movs r2, 0x1B movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile adds r0, r4, 0 movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint pop {r4} pop {r0} bx r0 @@ -392794,7 +392794,7 @@ _0813A0F4: .4byte sub_8139FD4 thumb_func_start sub_813A0F8 sub_813A0F8: @ 813A0F8 push {lr} - bl sub_8071FFC + bl MenuDisplayMessageBox movs r0, 0x1 bl sub_8139F58 ldr r0, _0813A114 @@ -392822,7 +392822,7 @@ sub_813A118: @ 813A118 movs r1, 0 movs r2, 0xB movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect bl sub_80A96E4 lsls r0, 24 lsrs r0, 24 @@ -392833,7 +392833,7 @@ sub_813A118: @ 813A118 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 strh r0, [r4, 0xC] strh r0, [r4] @@ -392882,7 +392882,7 @@ sub_813A198: @ 813A198 movs r1, 0 movs r2, 0xB movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect bl sub_80A96E4 lsls r0, 24 lsrs r0, 24 @@ -392893,7 +392893,7 @@ sub_813A198: @ 813A198 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0x2 strh r0, [r4, 0xC] movs r0, 0 @@ -392939,7 +392939,7 @@ sub_813A21C: @ 813A21C movs r1, 0 movs r2, 0xB movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_8139E24 pop {r4} @@ -393240,8 +393240,8 @@ sub_813A468: @ 813A468 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset - bl sub_8071FFC + bl MenuZeroFillWindowRect + bl MenuDisplayMessageBox ldr r0, _0813A4AC lsls r4, r5, 2 adds r4, r5 @@ -393331,7 +393331,7 @@ _0813A542: movs r1, 0x8 movs r2, 0xD movs r3, 0xB - bl DrawDefaultWindow + bl MenuDrawTextWindow ldrh r0, [r4, 0x6] movs r1, 0x3 str r1, [sp] @@ -393484,7 +393484,7 @@ _0813A668: movs r1, 0x6 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect movs r2, 0xC ldrsh r0, [r4, r2] cmp r0, 0 @@ -393507,7 +393507,7 @@ _0813A69C: movs r1, 0x6 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 bl sub_80F98DC movs r0, 0x1 @@ -393653,7 +393653,7 @@ sub_813A794: @ 813A794 movs r0, 0x7 movs r1, 0x6 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _0813A810 adds r0, r6, 0 bl sub_80F914C @@ -393696,7 +393696,7 @@ sub_813A83C: @ 813A83C movs r1, 0x6 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0813A86C bl sub_813AD58 ldr r1, _0813A870 @@ -393730,7 +393730,7 @@ sub_813A878: @ 813A878 movs r1, 0x6 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect ldrb r3, [r5, 0x8] ldrb r0, [r5] str r0, [sp] @@ -393907,7 +393907,7 @@ sub_813A9EC: @ 813A9EC movs r1, 0x6 movs r2, 0xD movs r3, 0xB - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 bl sub_80F98DC movs r0, 0x1 @@ -394028,7 +394028,7 @@ sub_813AAC4: @ 813AAC4 ldr r0, _0813AAF8 movs r1, 0x1A adds r2, r7, 0 - bl Print + bl MenuPrint b _0813AB06 .align 2, 0 _0813AAF4: .4byte 0x020231cc @@ -394037,7 +394037,7 @@ _0813AAFC: ldr r0, _0813AB0C movs r1, 0x1A adds r2, r7, 0 - bl Print + bl MenuPrint _0813AB06: pop {r4-r7} pop {r0} @@ -394054,7 +394054,7 @@ sub_813AB10: @ 813AB10 lsrs r2, 24 ldr r0, _0813AB24 movs r1, 0x19 - bl Print + bl MenuPrint pop {r0} bx r0 .align 2, 0 @@ -394075,7 +394075,7 @@ sub_813AB28: @ 813AB28 ldr r0, _0813AB4C movs r1, 0x10 adds r2, r5, 0 - bl Print + bl MenuPrint b _0813AB5A .align 2, 0 _0813AB48: .4byte 0x020231cc @@ -394084,7 +394084,7 @@ _0813AB50: ldr r0, _0813AB60 movs r1, 0x10 adds r2, r5, 0 - bl Print + bl MenuPrint _0813AB5A: pop {r4,r5} pop {r0} @@ -394290,7 +394290,7 @@ _0813ACCE: movs r0, 0x10 movs r2, 0x1C movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile _0813ACEA: movs r2, 0x2 ldrsh r0, [r6, r2] @@ -394511,17 +394511,17 @@ sub_813AE6C: @ 813AE6C movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0 movs r1, 0xC movs r2, 0xE movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0 movs r1, 0 movs r2, 0xB movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0813AEFC movs r1, 0x93 lsls r1, 3 @@ -394534,7 +394534,7 @@ sub_813AE6C: @ 813AE6C ldr r0, [r4] movs r1, 0x1 movs r2, 0x1 - bl Print + bl MenuPrint adds r0, r6, 0 bl sub_813ABE8 ldrb r3, [r5, 0x8] @@ -394734,7 +394734,7 @@ _0813B036: movs r0, 0x15 adds r1, r5, 0 movs r2, 0x1C - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldrb r0, [r6, 0x3] cmp r4, r0 beq _0813B0C4 @@ -394750,7 +394750,7 @@ _0813B036: mov r0, r8 movs r1, 0x15 adds r2, r5, 0 - bl Print + bl MenuPrint adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 @@ -394771,7 +394771,7 @@ _0813B08A: movs r0, 0x15 movs r2, 0x1C movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile _0813B0A4: ldrb r0, [r5, 0x2] cmp r0, 0 @@ -394789,7 +394789,7 @@ _0813B0C4: ldr r0, _0813B0D0 movs r1, 0x15 adds r2, r5, 0 - bl Print + bl MenuPrint b _0813B08A .align 2, 0 _0813B0D0: .4byte gUnknown_0840E645 @@ -394835,21 +394835,21 @@ sub_813B108: @ 813B108 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0 movs r2, 0x8 movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0813B16C movs r1, 0x1 movs r2, 0x1 - bl Print + bl MenuPrint movs r0, 0x14 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow adds r0, r4, 0 bl sub_813B01C ldr r0, _0813B170 @@ -395019,7 +395019,7 @@ sub_813B294: @ 813B294 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r4, _0813B2E8 ldr r1, _0813B2EC ldrb r0, [r1] @@ -395066,7 +395066,7 @@ sub_813B300: @ 813B300 movs r1, 0 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_8139E24 pop {r4} @@ -395107,12 +395107,12 @@ sub_813B348: @ 813B348 movs r1, 0 movs r2, 0xC movs r3, 0x9 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _0813B394 movs r0, 0x1 movs r1, 0x1 movs r2, 0x4 - bl PrintStringArray + bl PrintMenuItems movs r0, 0 str r0, [sp] movs r0, 0xB @@ -395336,7 +395336,7 @@ sub_813B510: @ 813B510 ldr r0, _0813B548 movs r1, 0x1 movs r2, 0x3 - bl Print + bl MenuPrint ldr r1, _0813B54C ldr r2, _0813B550 adds r0, r4, 0 @@ -395362,7 +395362,7 @@ sub_813B554: @ 813B554 movs r0, 0x14 movs r1, 0x8 movs r2, 0x1 - bl sub_8072974 + bl DisplayYesNoMenu ldr r1, _0813B574 adds r0, r4, 0 bl sub_80F914C @@ -395392,7 +395392,7 @@ sub_813B578: @ 813B578 movs r1, 0x8 movs r2, 0x1A movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldrh r0, [r6, 0x20] movs r1, 0x1 bl sub_80A9424 @@ -395454,7 +395454,7 @@ sub_813B610: @ 813B610 movs r1, 0x8 movs r2, 0x1A movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_813B758 pop {r4} @@ -395605,7 +395605,7 @@ sub_813B734: @ 813B734 movs r1, 0 movs r2, 0xC movs r3, 0x9 - bl Reset + bl MenuZeroFillWindowRect adds r0, r4, 0 bl sub_813B758 pop {r4} @@ -395734,9 +395734,9 @@ sub_813B808: @ 813B808 pop {r0} bx r0 .align 2, 0 -_0813B848: .4byte gUnknown_08E9C798 -_0813B84C: .4byte gUnknown_08E9CA24 -_0813B850: .4byte gUnknown_08E9CA44 +_0813B848: .4byte gIntroCopyright_Gfx +_0813B84C: .4byte gIntroCopyright_Pal +_0813B850: .4byte gIntroCopyright_Tilemap thumb_func_end sub_813B808 thumb_func_start SerialCb_CopyrightScreen @@ -402751,8 +402751,8 @@ sub_813EEE4: @ 813EEE4 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen ldr r1, _0813EFA0 movs r2, 0xF8 lsls r2, 5 @@ -402762,17 +402762,17 @@ sub_813EEE4: @ 813EEE4 movs r1, 0 movs r2, 0x1D movs r3, 0x3 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0813EFA4 movs r1, 0x16 movs r2, 0x1 movs r3, 0x38 - bl Free + bl sub_8072BD8 movs r0, 0x10 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow bl sub_813F0C8 ldr r0, _0813EFA8 bl SetMainCallback2 @@ -402937,7 +402937,7 @@ sub_813F0C8: @ 813F0C8 movs r1, 0x11 movs r2, 0x1C movs r3, 0x12 - bl sub_8071EBC + bl MenuFillWindowRectWithBlankTile ldr r1, _0813F0F0 ldrb r0, [r1, 0x1E] cmp r0, 0 @@ -402946,7 +402946,7 @@ sub_813F0C8: @ 813F0C8 adds r0, 0x8 movs r1, 0x11 movs r2, 0x11 - bl Print + bl MenuPrint _0813F0EA: pop {r0} bx r0 @@ -403894,7 +403894,7 @@ _0813F88C: _0813F89C: adds r0, r1 movs r1, 0x26 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl ball_number_to_ball_processing_index @@ -407935,11 +407935,11 @@ sub_8141828: @ 8141828 strb r1, [r0] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 adds r0, r6, 0 bl b_side_obj__get_some_boolean @@ -408926,13 +408926,13 @@ _08142024: adds r6, r1, r0 adds r0, r6, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r3, r0, 0 cmp r3, 0 beq _081420DC adds r0, r6, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r4, r7, 2 adds r4, r7 lsls r4, 2 @@ -408948,18 +408948,18 @@ _08142024: strh r1, [r5, 0x8] adds r0, r6, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData str r0, [r5] adds r0, r6, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r1, r9 adds r1, 0x4 adds r1, r4 str r0, [r1] adds r0, r6, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData lsls r0, 1 ldrb r2, [r5, 0x9] movs r1, 0x1 @@ -408969,7 +408969,7 @@ _08142024: adds r0, r6, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData movs r2, 0 mov r6, r8 lsls r5, r6, 2 @@ -409186,11 +409186,11 @@ _08142228: movs r1, 0xE movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08142268 movs r1, 0x3 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, _0814226C mov r0, r10 add r0, r8 @@ -409284,7 +409284,7 @@ sub_81422E8: @ 81422E8 adds r0, r5, 0 bl SetUpWindowConfig adds r0, r5, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r1, _08142318 lsls r0, r4, 2 adds r0, r4 @@ -409393,7 +409393,7 @@ _0814235E: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect adds r4, r5 ldr r0, _08142400 str r0, [r4] @@ -409646,7 +409646,7 @@ _081425C0: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect movs r0, 0 movs r1, 0xF bl sub_8143068 @@ -409760,7 +409760,7 @@ _08142698: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r1, _081426F0 mov r2, r9 adds r0, r2, r6 @@ -409839,7 +409839,7 @@ sub_8142738: @ 8142738 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r0, _08142788 ldrb r0, [r0, 0x8] movs r1, 0x78 @@ -409909,7 +409909,7 @@ _081427DC: movs r1, 0x2 movs r2, 0xF movs r3, 0x9 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x1 movs r1, 0x2 bl sub_8143300 @@ -409917,11 +409917,11 @@ _081427DC: movs r1, 0xE movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08142810 movs r1, 0x4 movs r2, 0xF - bl Print + bl MenuPrint ldr r0, _08142814 str r0, [r4] _0814280A: @@ -410267,7 +410267,7 @@ _08142AB8: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r1, _08142AF0 adds r0, r6, r5 lsls r0, 3 @@ -410486,7 +410486,7 @@ _08142C3C: ldr r0, _08142CB8 movs r1, 0 movs r2, 0 - bl Print + bl MenuPrint ldr r0, _08142CC4 str r0, [r4] add sp, 0x10 @@ -410904,11 +410904,11 @@ sub_8142FEC: @ 8142FEC movs r1, 0xE movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08143020 movs r1, 0x3 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage ldr r1, _08143024 lsls r0, r4, 2 adds r0, r4 @@ -410930,7 +410930,7 @@ sub_814302C: @ 814302C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _08143056 @@ -410968,7 +410968,7 @@ sub_8143068: @ 8143068 lsrs r2, 24 movs r1, 0 movs r3, 0xF0 - bl Free + bl sub_8072BD8 pop {r0} bx r0 .align 2, 0 @@ -411034,7 +411034,7 @@ _081430EA: lsls r2, r4, 24 lsrs r2, 24 adds r0, r5, 0 - bl Print + bl MenuPrint adds r7, r5, 0 movs r3, 0 mov r1, r9 @@ -411090,7 +411090,7 @@ _0814313A: ldr r3, [sp] lsls r2, r3, 24 lsrs r2, 24 - bl Print + bl MenuPrint ldr r6, [sp, 0x8] lsls r1, r6, 24 lsrs r1, 24 @@ -411100,7 +411100,7 @@ _0814313A: lsrs r3, 24 movs r0, 0 movs r2, 0x1D - bl Reset + bl MenuZeroFillWindowRect b _081432E4 .align 2, 0 _08143188: .4byte 0x020231cc @@ -411218,7 +411218,7 @@ _0814324A: lsls r2, r3, 24 lsrs r2, 24 adds r0, r5, 0 - bl Print + bl MenuPrint mov r6, r9 ldrb r0, [r6, 0x9] lsrs r6, r0, 1 @@ -411253,7 +411253,7 @@ _0814324A: lsrs r4, 24 adds r0, r5, 0 adds r2, r4, 0 - bl Print + bl MenuPrint mov r0, r9 ldrh r6, [r0] ldr r1, _081432FC @@ -411269,7 +411269,7 @@ _0814324A: lsrs r1, 24 adds r0, r5, 0 adds r2, r4, 0 - bl Print + bl MenuPrint _081432E4: add sp, 0x14 pop {r3-r5} @@ -411308,7 +411308,7 @@ sub_8143300: @ 8143300 lsrs r4, 24 adds r1, r5, 0 adds r2, r4, 0 - bl Print + bl MenuPrint ldr r0, _081433D0 mov r10, r0 movs r1, 0xE @@ -411319,14 +411319,14 @@ sub_8143300: @ 8143300 mov r8, r2 mov r1, r8 adds r2, r4, 0 - bl PrintCoinsString + bl sub_8072B4C ldr r0, _081433D4 adds r4, r6, 0x3 lsls r4, 24 lsrs r4, 24 adds r1, r5, 0 adds r2, r4, 0 - bl Print + bl MenuPrint mov r0, r10 ldrb r1, [r0, 0xA] ldrb r0, [r0, 0xB] @@ -411341,14 +411341,14 @@ sub_8143300: @ 8143300 mov r0, r9 mov r1, r8 adds r2, r4, 0 - bl PrintCoinsString + bl sub_8072B4C ldr r0, _081433DC adds r6, 0x5 lsls r6, 24 lsrs r6, 24 adds r1, r5, 0 adds r2, r6, 0 - bl Print + bl MenuPrint mov r0, r10 ldrh r1, [r0, 0xE] mov r0, r9 @@ -411372,7 +411372,7 @@ sub_8143300: @ 8143300 mov r0, r9 mov r1, r8 adds r2, r6, 0 - bl PrintCoinsString + bl sub_8072B4C pop {r3-r5} mov r8, r3 mov r9, r4 @@ -411385,7 +411385,7 @@ _081433CC: .4byte gUnknown_0840E559 _081433D0: .4byte gSaveBlock2 _081433D4: .4byte gUnknown_0840E560 _081433D8: .4byte 0x020231cc -_081433DC: .4byte gUnknown_0840DF8B +_081433DC: .4byte gMainMenuString_Time thumb_func_end sub_8143300 thumb_func_start sub_81433E0 @@ -411575,7 +411575,7 @@ _0814350A: pop {r0} bx r0 .align 2, 0 -_0814354C: .4byte gUnknown_08E8E8B0 +_0814354C: .4byte gHallOfFame_Gfx _08143550: .4byte 0x040000d4 _08143554: .4byte 0x81000800 _08143558: .4byte 0x06003800 @@ -411583,7 +411583,7 @@ _0814355C: .4byte 0x02000000 _08143560: .4byte 0x06003b80 _08143564: .4byte 0x06003000 _08143568: .4byte 0x000003ff -_0814356C: .4byte gUnknown_08E8EA78 +_0814356C: .4byte gHallOfFame_Pal thumb_func_end sub_81433E0 thumb_func_start sub_8143570 @@ -411604,7 +411604,7 @@ sub_8143570: @ 8143570 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow pop {r4} pop {r0} bx r0 @@ -412192,7 +412192,7 @@ _08143A0E: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r0, _08143AFC movs r1, 0x80 movs r2, 0x40 @@ -412623,7 +412623,7 @@ _08143DC8: .4byte 0x03001770 _08143DCC: .4byte 0x0000043c _08143DD0: .4byte 0x030028f8 _08143DD4: .4byte gUnknown_083F66F0 -_08143DD8: .4byte gUnknown_083F64F8 +_08143DD8: .4byte gBirchGrassTilemap _08143DDC: .4byte 0x06003800 _08143DE0: .4byte gUnknown_083F62EC + 0x2 _08143DE4: .4byte 0x0201e000 @@ -413241,7 +413241,7 @@ _081442B0: lsrs r2, 24 movs r1, 0 movs r3, 0xF0 - bl Free + bl sub_8072BD8 adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 @@ -413402,7 +413402,7 @@ _081443F8: movs r1, 0x9 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect ldr r0, _08144424 lsls r1, r5, 2 adds r1, r5 @@ -415141,8 +415141,8 @@ _081451D0: pop {r0} bx r0 .align 2, 0 -_081451EC: .4byte gUnknown_08EA260C -_081451F0: .4byte gUnknown_08E9CA24 +_081451EC: .4byte gCreditsCopyrightEnd_Gfx +_081451F0: .4byte gIntroCopyright_Pal _081451F4: .4byte 0x000003ff _081451F8: .4byte 0x060001c8 _081451FC: .4byte 0x06000248 @@ -416344,17 +416344,17 @@ _08145B18: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08145B74 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08145B6A adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 ldr r0, _08145C2C ldrh r0, [r0] @@ -416400,17 +416400,17 @@ _08145B80: adds r4, r2, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _08145BD8 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _08145BD8 adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 ldr r0, _08145C2C ldrh r0, [r0] @@ -416465,7 +416465,7 @@ _08145BD8: adds r0, r1 ldr r2, _08145C40 movs r1, 0x2 - bl PokemonGetField + bl GetMonData b _08145C6C .align 2, 0 _08145C24: .4byte 0x0202e8cc @@ -416495,7 +416495,7 @@ _08145C44: adds r0, r1 ldr r2, _08145C88 movs r1, 0x2 - bl PokemonGetEncryptedField + bl GetMonBoxData _08145C6C: ldr r0, _08145C88 bl StringGetEnd10 @@ -416724,7 +416724,7 @@ sub_8145D88: @ 8145D88 ldr r0, _08145ED4 bl SetUpWindowConfig ldr r0, _08145ED8 - bl sub_8071C4C + bl InitMenuWindow bl pokedex_diploma_something movs r0, 0x1 negs r0, r0 @@ -416925,7 +416925,7 @@ _08145FF4: ldr r0, _08146010 movs r1, 0x6 movs r2, 0x2 - bl Print + bl MenuPrint pop {r0} bx r0 .align 2, 0 @@ -417043,12 +417043,12 @@ _08146108: .4byte 0x03001770 _0814610C: .4byte 0x0000043c _08146110: ldr r0, _08146118 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _0814620C .align 2, 0 _08146118: .4byte gWindowConfig_81E6E18 _0814611C: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _08146126 b _08146250 @@ -417285,7 +417285,7 @@ _081462FC: bl LZDecompressVram b _081463CA .align 2, 0 -_08146308: .4byte gUnknown_08E783FC +_08146308: .4byte gBerryCheck_Gfx _0814630C: ldr r0, _0814631C ldr r1, _08146320 @@ -417364,7 +417364,7 @@ _081463A4: adds r1, r2 b _081463D0 .align 2, 0 -_081463B8: .4byte gUnknown_08E7883C +_081463B8: .4byte gBerryCheck_Pal _081463BC: .4byte 0x02000000 _081463C0: .4byte 0x0001ffff _081463C4: @@ -417537,19 +417537,19 @@ sub_81464E4: @ 81464E4 adds r0, r7, 0 movs r1, 0xC movs r2, 0x4 - bl Print + bl MenuPrint adds r0, r5, 0 movs r1, 0xE movs r2, 0x4 - bl Print + bl MenuPrint ldr r0, [r5, 0xC] movs r1, 0x4 movs r2, 0xE - bl Print + bl MenuPrint ldr r0, [r5, 0x10] movs r1, 0x4 movs r2, 0x10 - bl Print + bl MenuPrint ldrh r1, [r5, 0x8] lsls r0, r1, 5 subs r0, r1 @@ -417578,7 +417578,7 @@ _0814654E: ldr r0, _081465A4 movs r1, 0xB movs r2, 0x7 - bl Print + bl MenuPrint ldrh r0, [r5, 0x8] cmp r0, 0 beq _081465B0 @@ -417595,7 +417595,7 @@ _0814654E: ldr r0, _081465AC movs r1, 0x10 movs r2, 0x7 - bl Print + bl MenuPrint b _081465BA .align 2, 0 _0814659C: .4byte 0x0203855e @@ -417607,12 +417607,12 @@ _081465B0: ldr r0, _081465E0 movs r1, 0x10 movs r2, 0x7 - bl Print + bl MenuPrint _081465BA: ldr r0, _081465E4 movs r1, 0xB movs r2, 0x9 - bl Print + bl MenuPrint ldrb r0, [r5, 0x7] cmp r0, 0 beq _081465EC @@ -417624,7 +417624,7 @@ _081465BA: ldr r0, [r1] movs r1, 0x10 movs r2, 0x9 - bl Print + bl MenuPrint b _081465F6 .align 2, 0 _081465E0: .4byte gUnknown_0840E674 @@ -417634,7 +417634,7 @@ _081465EC: ldr r0, _081465FC movs r1, 0x10 movs r2, 0x9 - bl Print + bl MenuPrint _081465F6: pop {r4-r7} pop {r0} @@ -418016,7 +418016,7 @@ sub_81468BC: @ 81468BC movs r1, 0x4 movs r2, 0x1D movs r3, 0x13 - bl Reset + bl MenuZeroFillWindowRect bl sub_81464E4 ldr r4, _081468F8 ldrb r0, [r4] @@ -418081,8 +418081,8 @@ CB2_InitMysteryEventMenu: @ 8146930 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C - bl sub_8071EF4 + bl InitMenuWindow + bl MenuZeroFillScreen movs r1, 0x80 lsls r1, 19 movs r2, 0xA0 @@ -418193,7 +418193,7 @@ _08146A54: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x1 negs r0, r0 movs r1, 0 @@ -418222,7 +418222,7 @@ _08146A90: .4byte gUnknown_0842C4C0 _08146A94: .4byte 0x03001770 _08146A98: .4byte 0x0000043c _08146A9C: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08146AA8 @@ -418277,7 +418277,7 @@ _08146B0C: .4byte gUnknown_0842C4E9 _08146B10: .4byte 0x03001770 _08146B14: .4byte 0x0000043c _08146B18: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08146B24 @@ -418303,11 +418303,11 @@ _08146B26: movs r1, 0x5 movs r2, 0x17 movs r3, 0x8 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08146B68 movs r1, 0x7 movs r2, 0x6 - bl Print + bl MenuPrint ldr r2, _08146B6C adds r1, r4, r2 b _08146D82 @@ -418351,7 +418351,7 @@ _08146BA4: movs r1, 0x5 movs r2, 0x17 movs r3, 0x8 - bl Reset + bl MenuZeroFillWindowRect ldr r4, _08146BDC adds r0, r4, 0 movs r1, 0x1 @@ -418383,7 +418383,7 @@ _08146C00: movs r1, 0x5 movs r2, 0x17 movs r3, 0x8 - bl Reset + bl MenuZeroFillWindowRect _08146C10: ldr r4, _08146C2C adds r0, r4, 0 @@ -418424,7 +418424,7 @@ _08146C54: _08146C5C: .4byte 0x03001770 _08146C60: .4byte 0x0000043c _08146C64: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08146C70 @@ -418507,8 +418507,8 @@ _08146D18: movs r1, 0x5 movs r2, 0x17 movs r3, 0x8 - bl Reset - bl sub_8072080 + bl MenuZeroFillWindowRect + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _08146DA4 @@ -418584,7 +418584,7 @@ _08146DA4: movs r1, 0x5 movs r2, 0x17 movs r3, 0x8 - bl Reset + bl MenuZeroFillWindowRect ldr r4, _08146E04 adds r0, r4, 0 movs r1, 0x1 @@ -418749,21 +418749,21 @@ _08146E6C: ldr r0, _08146FF4 bl SetUpWindowConfig ldr r0, _08146FF8 - bl sub_8071C4C + bl InitMenuWindow movs r0, 0xD movs r1, 0x8 movs r2, 0x10 movs r3, 0xB - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x1 movs r1, 0xC movs r2, 0x1C movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08146FFC movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint movs r0, 0x1 negs r0, r0 str r4, [sp] @@ -418816,9 +418816,9 @@ _08146FC4: .4byte 0x8100c000 _08146FC8: .4byte 0x85000100 _08146FCC: .4byte 0x81000200 _08146FD0: .4byte gUnknown_083F66F0 -_08146FD4: .4byte gUnknown_083F636C +_08146FD4: .4byte gBirchBagTilemap _08146FD8: .4byte 0x06003000 -_08146FDC: .4byte gUnknown_083F64F8 +_08146FDC: .4byte gBirchGrassTilemap _08146FE0: .4byte 0x06003800 _08146FE4: .4byte gUnknown_08411980 _08146FE8: .4byte 0x06010020 @@ -418878,11 +418878,11 @@ _0814705C: movs r1, 0xC movs r2, 0x1C movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _081470D0 movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _081470D4 ldrb r0, [r0] bl sub_8125C3C @@ -418892,7 +418892,7 @@ _0814705C: ldr r0, _081470D8 movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint _08147096: adds r0, r4, 0x1 lsls r0, 24 @@ -418909,11 +418909,11 @@ _081470A6: movs r1, 0xC movs r2, 0x1C movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _081470DC movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _081470E0 bl SetMainCallback2 b _0814713E @@ -418930,7 +418930,7 @@ _081470E4: movs r1, 0xC movs r2, 0x1C movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08147104 ldr r0, [r0] cmp r0, 0 @@ -418938,7 +418938,7 @@ _081470E4: ldr r0, _08147108 movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint b _0814713E .align 2, 0 _08147104: .4byte 0x03005ebc @@ -418948,11 +418948,11 @@ _0814710C: movs r1, 0xC movs r2, 0x1C movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0814712C movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _08147130 bl SetMainCallback2 b _08147144 @@ -418963,7 +418963,7 @@ _08147134: ldr r0, _0814714C movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint _0814713E: ldr r0, _08147150 bl SetMainCallback2 @@ -418992,11 +418992,11 @@ sub_8147154: @ 8147154 movs r1, 0xC movs r2, 0x1C movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08147198 movs r1, 0x2 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, _0814719C bl SetVBlankCallback ldr r0, _081471A0 @@ -419382,7 +419382,7 @@ sub_8147478: @ 8147478 adds r0, r4, 0 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData ldr r1, _081474B8 cmp r0, r1 bne _081474C0 @@ -419396,7 +419396,7 @@ sub_8147478: @ 8147478 adds r0, r1 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData movs r1, 0x9D lsls r1, 1 cmp r0, r1 @@ -419687,7 +419687,7 @@ _081476FE: bl sub_8147774 cmp r0, 0 beq _08147716 - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0x5 bl audio_play movs r0, 0x2 @@ -419700,7 +419700,7 @@ _08147716: lsls r0, 16 cmp r0, 0 bne _0814776A - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0x3 strh r0, [r4] movs r0, 0x1E @@ -419991,12 +419991,12 @@ _08147978: .4byte 0x03001770 _0814797C: .4byte 0x0000043c _08147980: ldr r0, _08147988 - bl sub_8071C58 + bl MultistepInitMenuWindowBegin b _08147A44 .align 2, 0 _08147988: .4byte gWindowConfig_81E6E50 _0814798C: - bl sub_8071C94 + bl MultistepInitMenuWindowContinue cmp r0, 0 bne _08147996 b _08147AD0 @@ -420065,7 +420065,7 @@ _08147A20: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r1, _08147A34 ldr r2, _08147A38 adds r1, r2 @@ -420224,12 +420224,12 @@ _08147B4C: _08147B70: adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 lsls r0, r5, 3 ldr r1, _08147BAC @@ -420255,16 +420255,16 @@ _08147BB4: .4byte gUnknown_081FAF4C _08147BB8: adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r6, r0, 0 adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 adds r0, r5, 0 adds r2, r6, 0 @@ -420341,7 +420341,7 @@ _08147C60: movs r0, 0x1 b _08147C86 .align 2, 0 -_08147C78: .4byte gUnknown_08E62AC0 +_08147C78: .4byte gBattleTerrainPalette_BattleTower _08147C7C: .4byte 0x02000000 _08147C80: .4byte 0x0001ffff _08147C84: @@ -420547,7 +420547,7 @@ sub_8147E10: @ 8147E10 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -420635,7 +420635,7 @@ _08147ED8: ldr r0, _08147EF8 movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage ldr r1, _08147F00 lsls r0, r7, 2 adds r0, r7 @@ -420723,7 +420723,7 @@ sub_8147F84: @ 8147F84 push {r6,r7} adds r5, r0, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -421761,21 +421761,21 @@ sub_8148830: @ 8148830 movs r1, 0xE movs r2, 0x1B movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _081488AC movs r1, 0x3 movs r2, 0xF - bl Print + bl MenuPrint movs r0, 0x2 movs r1, 0x1 movs r2, 0x8 movs r3, 0x6 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _081488B0 movs r0, 0x3 movs r1, 0x2 movs r2, 0x2 - bl PrintStringArray + bl PrintMenuItems movs r0, 0x1 str r0, [sp] movs r0, 0x5 @@ -421809,7 +421809,7 @@ sub_81488BC: @ 81488BC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -422004,7 +422004,7 @@ _08148A2C: ldr r0, _08148AE0 bl SetUpWindowConfig ldr r0, _08148AE4 - bl sub_8071C4C + bl InitMenuWindow movs r0, 0x1 negs r0, r0 ldr r1, _08148AE8 @@ -425310,17 +425310,17 @@ sub_814A404: @ 814A404 unref_sub_814A414: @ 814A414 push {lr} sub sp, 0x8 - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0 movs r1, 0 movs r2, 0x10 movs r3, 0x12 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r3, _0814A458 movs r0, 0x2 movs r1, 0x1 movs r2, 0x8 - bl PrintStringArray + bl PrintMenuItems movs r0, 0 str r0, [sp] movs r0, 0xF @@ -426155,7 +426155,7 @@ _0814AA98: _0814AAA8: .4byte gUnknown_0842F790 _0814AAAC: .4byte 0x0203a3d0 _0814AAB0: .4byte 0x02020004 -_0814AAB4: .4byte gUnknown_0842F5C0 +_0814AAB4: .4byte gSubspriteTables_842F5C0 _0814AAB8: .4byte 0x0203a3d1 thumb_func_end sub_814A958 diff --git a/asm/rom_803D1FC.s b/asm/rom_803D1FC.s new file mode 100644 index 000000000..7da321476 --- /dev/null +++ b/asm/rom_803D1FC.s @@ -0,0 +1,7860 @@ + .include "constants/gba_constants.s" + .include "constants/species_constants.s" + .include "asm/macros.s" + + .syntax unified + + .text + + thumb_func_start SetMonData +SetMonData: @ 803D1FC + push {lr} + adds r3, r0, 0 + adds r0, r1, 0 + subs r0, 0x37 + cmp r0, 0xA + bhi _0803D2E0 + lsls r0, 2 + ldr r1, _0803D214 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803D214: .4byte _0803D218 + .align 2, 0 +_0803D218: + .4byte _0803D244 + .4byte _0803D25C + .4byte _0803D266 + .4byte _0803D276 + .4byte _0803D286 + .4byte _0803D296 + .4byte _0803D2A6 + .4byte _0803D2B6 + .4byte _0803D2C6 + .4byte _0803D2D6 + .4byte _0803D2E6 +_0803D244: + 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, 0x50] + b _0803D2E6 +_0803D25C: + ldrb r1, [r2] + adds r0, r3, 0 + adds r0, 0x54 + strb r1, [r0] + b _0803D2E6 +_0803D266: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + adds r1, r3, 0 + adds r1, 0x56 + strh r0, [r1] + b _0803D2E6 +_0803D276: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + adds r1, r3, 0 + adds r1, 0x58 + strh r0, [r1] + b _0803D2E6 +_0803D286: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + adds r1, r3, 0 + adds r1, 0x5A + strh r0, [r1] + b _0803D2E6 +_0803D296: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + adds r1, r3, 0 + adds r1, 0x5C + strh r0, [r1] + b _0803D2E6 +_0803D2A6: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + adds r1, r3, 0 + adds r1, 0x5E + strh r0, [r1] + b _0803D2E6 +_0803D2B6: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + adds r1, r3, 0 + adds r1, 0x60 + strh r0, [r1] + b _0803D2E6 +_0803D2C6: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + adds r1, r3, 0 + adds r1, 0x62 + strh r0, [r1] + b _0803D2E6 +_0803D2D6: + ldrb r1, [r2] + adds r0, r3, 0 + adds r0, 0x55 + strb r1, [r0] + b _0803D2E6 +_0803D2E0: + adds r0, r3, 0 + bl SetMonBoxData +_0803D2E6: + pop {r0} + bx r0 + thumb_func_end SetMonData + + thumb_func_start SetMonBoxData +SetMonBoxData: @ 803D2EC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r7, r0, 0 + mov r10, r1 + adds r4, r2, 0 + movs r0, 0 + mov r8, r0 + mov r9, r0 + movs r6, 0 + movs r5, 0 + cmp r1, 0xA + ble _0803D36C + ldr r1, [r7] + adds r0, r7, 0 + movs r2, 0 + bl GetSubstruct + mov r8, r0 + ldr r1, [r7] + adds r0, r7, 0 + movs r2, 0x1 + bl GetSubstruct + mov r9, r0 + ldr r1, [r7] + adds r0, r7, 0 + movs r2, 0x2 + bl GetSubstruct + adds r6, r0, 0 + ldr r1, [r7] + adds r0, r7, 0 + movs r2, 0x3 + bl GetSubstruct + adds r5, r0, 0 + adds r0, r7, 0 + bl DecryptMon + adds r0, r7, 0 + bl pokemon_calc_checksum + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r7, 0x1C] + cmp r0, r1 + beq _0803D36C + ldrb r0, [r7, 0x13] + movs r1, 0x1 + orrs r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r7, 0x13] + ldrb r0, [r5, 0x7] + movs r1, 0x40 + orrs r0, r1 + strb r0, [r5, 0x7] + adds r0, r7, 0 + bl EncryptMon + b _0803D8F6 +_0803D36C: + mov r0, r10 + cmp r0, 0x4F + bls _0803D374 + b _0803D8E2 +_0803D374: + lsls r0, 2 + ldr r1, _0803D380 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803D380: .4byte _0803D384 + .align 2, 0 +_0803D384: + .4byte _0803D4C4 + .4byte _0803D4DC + .4byte _0803D4F4 + .4byte _0803D50A + .4byte _0803D510 + .4byte _0803D520 + .4byte _0803D532 + .4byte _0803D544 + .4byte _0803D55A + .4byte _0803D560 + .4byte _0803D56C + .4byte _0803D578 + .4byte _0803D598 + .4byte _0803D5D0 + .4byte _0803D5D0 + .4byte _0803D5D0 + .4byte _0803D5D0 + .4byte _0803D5E4 + .4byte _0803D5E4 + .4byte _0803D5E4 + .4byte _0803D5E4 + .4byte _0803D5C0 + .4byte _0803D614 + .4byte _0803D61A + .4byte _0803D620 + .4byte _0803D5A6 + .4byte _0803D5F0 + .4byte _0803D5F6 + .4byte _0803D5FC + .4byte _0803D602 + .4byte _0803D608 + .4byte _0803D60E + .4byte _0803D5C8 + .4byte _0803D626 + .4byte _0803D638 + .4byte _0803D63E + .4byte _0803D644 + .4byte _0803D658 + .4byte _0803D670 + .4byte _0803D696 + .4byte _0803D6AA + .4byte _0803D6C4 + .4byte _0803D6DA + .4byte _0803D6F4 + .4byte _0803D70C + .4byte _0803D720 + .4byte _0803D750 + .4byte _0803D62C + .4byte _0803D632 + .4byte _0803D686 + .4byte _0803D760 + .4byte _0803D76E + .4byte _0803D784 + .4byte _0803D79C + .4byte _0803D7AC + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D8E2 + .4byte _0803D89A + .4byte _0803D7C2 + .4byte _0803D7D2 + .4byte _0803D7E0 + .4byte _0803D7F0 + .4byte _0803D800 + .4byte _0803D810 + .4byte _0803D820 + .4byte _0803D830 + .4byte _0803D846 + .4byte _0803D856 + .4byte _0803D864 + .4byte _0803D874 + .4byte _0803D88A +_0803D4C4: + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r4, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r4, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r7] + b _0803D8E2 +_0803D4DC: + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r4, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r4, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r7, 0x4] + b _0803D8E2 +_0803D4F4: + movs r2, 0 + adds r3, r7, 0 + adds r3, 0x8 +_0803D4FA: + adds r0, r3, r2 + adds r1, r4, r2 + ldrb r1, [r1] + strb r1, [r0] + adds r2, 0x1 + cmp r2, 0x9 + ble _0803D4FA + b _0803D8E2 +_0803D50A: + ldrb r0, [r4] + strb r0, [r7, 0x12] + b _0803D8E2 +_0803D510: + ldrb r0, [r4] + movs r1, 0x1 + ands r1, r0 + ldrb r2, [r7, 0x13] + movs r0, 0x2 + negs r0, r0 + ands r0, r2 + b _0803D73E +_0803D520: + ldrb r0, [r4] + movs r1, 0x1 + ands r1, r0 + lsls r1, 1 + ldrb r2, [r7, 0x13] + movs r0, 0x3 + negs r0, r0 + ands r0, r2 + b _0803D73E +_0803D532: + ldrb r0, [r4] + movs r1, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r7, 0x13] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + b _0803D73E +_0803D544: + movs r2, 0 + adds r3, r7, 0 + adds r3, 0x14 +_0803D54A: + adds r0, r3, r2 + adds r1, r4, r2 + ldrb r1, [r1] + strb r1, [r0] + adds r2, 0x1 + cmp r2, 0x6 + ble _0803D54A + b _0803D8E2 +_0803D55A: + ldrb r0, [r4] + strb r0, [r7, 0x1B] + b _0803D8E2 +_0803D560: + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + strh r1, [r7, 0x1C] + b _0803D8E2 +_0803D56C: + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + strh r1, [r7, 0x1E] + b _0803D8E2 +_0803D578: + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + mov r0, r8 + strh r1, [r0] + lsls r1, 16 + cmp r1, 0 + beq _0803D590 + ldrb r0, [r7, 0x13] + movs r1, 0x2 + b _0803D73E +_0803D590: + ldrb r1, [r7, 0x13] + movs r0, 0x3 + negs r0, r0 + b _0803D74A +_0803D598: + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + mov r0, r8 + strh r1, [r0, 0x2] + b _0803D8E2 +_0803D5A6: + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r4, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r4, 0x3] + lsls r0, 24 + adds r1, r0 + mov r0, r8 + str r1, [r0, 0x4] + b _0803D8E2 +_0803D5C0: + ldrb r0, [r4] + mov r1, r8 + strb r0, [r1, 0x8] + b _0803D8E2 +_0803D5C8: + ldrb r0, [r4] + mov r1, r8 + strb r0, [r1, 0x9] + b _0803D8E2 +_0803D5D0: + mov r2, r10 + subs r2, 0xD + lsls r2, 1 + add r2, r9 + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + lsls r0, 8 + adds r1, r0 + strh r1, [r2] + b _0803D8E2 +_0803D5E4: + mov r0, r9 + add r0, r10 + subs r0, 0x9 + ldrb r1, [r4] + strb r1, [r0] + b _0803D8E2 +_0803D5F0: + ldrb r0, [r4] + strb r0, [r6] + b _0803D8E2 +_0803D5F6: + ldrb r0, [r4] + strb r0, [r6, 0x1] + b _0803D8E2 +_0803D5FC: + ldrb r0, [r4] + strb r0, [r6, 0x2] + b _0803D8E2 +_0803D602: + ldrb r0, [r4] + strb r0, [r6, 0x3] + b _0803D8E2 +_0803D608: + ldrb r0, [r4] + strb r0, [r6, 0x4] + b _0803D8E2 +_0803D60E: + ldrb r0, [r4] + strb r0, [r6, 0x5] + b _0803D8E2 +_0803D614: + ldrb r0, [r4] + strb r0, [r6, 0x6] + b _0803D8E2 +_0803D61A: + ldrb r0, [r4] + strb r0, [r6, 0x7] + b _0803D8E2 +_0803D620: + ldrb r0, [r4] + strb r0, [r6, 0x8] + b _0803D8E2 +_0803D626: + ldrb r0, [r4] + strb r0, [r6, 0x9] + b _0803D8E2 +_0803D62C: + ldrb r0, [r4] + strb r0, [r6, 0xA] + b _0803D8E2 +_0803D632: + ldrb r0, [r4] + strb r0, [r6, 0xB] + b _0803D8E2 +_0803D638: + ldrb r0, [r4] + strb r0, [r5] + b _0803D8E2 +_0803D63E: + ldrb r0, [r4] + strb r0, [r5, 0x1] + b _0803D8E2 +_0803D644: + ldrb r1, [r4] + movs r0, 0x7F + ands r1, r0 + ldrb r2, [r5, 0x2] + movs r0, 0x80 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x2] + b _0803D8E2 +_0803D658: + ldrb r1, [r4] + movs r0, 0xF + ands r1, r0 + lsls r1, 7 + ldrh r2, [r5, 0x2] + ldr r0, _0803D66C + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x2] + b _0803D8E2 + .align 2, 0 +_0803D66C: .4byte 0xfffff87f +_0803D670: + ldrb r1, [r4] + movs r0, 0xF + ands r1, r0 + lsls r1, 3 + ldrb r2, [r5, 0x3] + movs r0, 0x79 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x3] + b _0803D8E2 +_0803D686: + ldrb r0, [r4] + lsls r0, 7 + ldrb r2, [r5, 0x3] + movs r1, 0x7F + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x3] + b _0803D8E2 +_0803D696: + ldrb r1, [r4] + movs r0, 0x1F + ands r1, r0 + ldrb r2, [r5, 0x4] + movs r0, 0x20 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x4] + b _0803D8E2 +_0803D6AA: + ldrb r1, [r4] + movs r0, 0x1F + ands r1, r0 + lsls r1, 5 + ldrh r2, [r5, 0x4] + ldr r0, _0803D6C0 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + b _0803D8E2 + .align 2, 0 +_0803D6C0: .4byte 0xfffffc1f +_0803D6C4: + ldrb r1, [r4] + movs r0, 0x1F + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0x7D + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + b _0803D8E2 +_0803D6DA: + ldrb r2, [r4] + movs r0, 0x1F + ands r2, r0 + lsls r2, 15 + ldr r0, [r5, 0x4] + ldr r1, _0803D6F0 + ands r0, r1 + orrs r0, r2 + str r0, [r5, 0x4] + b _0803D8E2 + .align 2, 0 +_0803D6F0: .4byte 0xfff07fff +_0803D6F4: + ldrb r1, [r4] + movs r0, 0x1F + ands r1, r0 + lsls r1, 4 + ldrh r2, [r5, 0x6] + ldr r0, _0803D708 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x6] + b _0803D8E2 + .align 2, 0 +_0803D708: .4byte 0xfffffe0f +_0803D70C: + ldrb r1, [r4] + movs r0, 0x1F + ands r1, r0 + lsls r1, 1 + ldrb r2, [r5, 0x7] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + b _0803D8E0 +_0803D720: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 6 + ldrb r2, [r5, 0x7] + movs r0, 0x41 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x7] + lsls r0, 25 + cmp r0, 0 + bge _0803D744 + ldrb r0, [r7, 0x13] + movs r1, 0x4 +_0803D73E: + orrs r0, r1 + strb r0, [r7, 0x13] + b _0803D8E2 +_0803D744: + ldrb r1, [r7, 0x13] + movs r0, 0x5 + negs r0, r0 +_0803D74A: + ands r0, r1 + strb r0, [r7, 0x13] + b _0803D8E2 +_0803D750: + ldrb r0, [r4] + lsls r0, 7 + ldrb r2, [r5, 0x7] + movs r1, 0x7F + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x7] + b _0803D8E2 +_0803D760: + ldrb r1, [r4] + movs r0, 0x7 + ands r1, r0 + ldrb r2, [r5, 0x8] + movs r0, 0x8 + negs r0, r0 + b _0803D77C +_0803D76E: + ldrb r1, [r4] + movs r0, 0x7 + ands r1, r0 + lsls r1, 3 + ldrb r2, [r5, 0x8] + movs r0, 0x39 + negs r0, r0 +_0803D77C: + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x8] + b _0803D8E2 +_0803D784: + ldrb r1, [r4] + movs r0, 0x7 + ands r1, r0 + lsls r1, 6 + ldrh r2, [r5, 0x8] + ldr r0, _0803D798 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x8] + b _0803D8E2 + .align 2, 0 +_0803D798: .4byte 0xfffffe3f +_0803D79C: + ldrb r1, [r4] + movs r0, 0x7 + ands r1, r0 + lsls r1, 1 + ldrb r2, [r5, 0x9] + movs r0, 0xF + negs r0, r0 + b _0803D7BA +_0803D7AC: + ldrb r1, [r4] + movs r0, 0x7 + ands r1, r0 + lsls r1, 4 + ldrb r2, [r5, 0x9] + movs r0, 0x71 + negs r0, r0 +_0803D7BA: + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x9] + b _0803D8E2 +_0803D7C2: + ldrb r0, [r4] + lsls r0, 7 + ldrb r2, [r5, 0x9] + movs r1, 0x7F + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x9] + b _0803D8E2 +_0803D7D2: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + ldrb r2, [r5, 0xA] + movs r0, 0x2 + negs r0, r0 + b _0803D83E +_0803D7E0: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 1 + ldrb r2, [r5, 0xA] + movs r0, 0x3 + negs r0, r0 + b _0803D83E +_0803D7F0: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0xA] + movs r0, 0x5 + negs r0, r0 + b _0803D83E +_0803D800: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 3 + ldrb r2, [r5, 0xA] + movs r0, 0x9 + negs r0, r0 + b _0803D83E +_0803D810: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 4 + ldrb r2, [r5, 0xA] + movs r0, 0x11 + negs r0, r0 + b _0803D83E +_0803D820: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 5 + ldrb r2, [r5, 0xA] + movs r0, 0x21 + negs r0, r0 + b _0803D83E +_0803D830: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 6 + ldrb r2, [r5, 0xA] + movs r0, 0x41 + negs r0, r0 +_0803D83E: + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0xA] + b _0803D8E2 +_0803D846: + ldrb r0, [r4] + lsls r0, 7 + ldrb r2, [r5, 0xA] + movs r1, 0x7F + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0xA] + b _0803D8E2 +_0803D856: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + ldrb r2, [r5, 0xB] + movs r0, 0x2 + negs r0, r0 + b _0803D882 +_0803D864: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 1 + ldrb r2, [r5, 0xB] + movs r0, 0x3 + negs r0, r0 + b _0803D882 +_0803D874: + ldrb r1, [r4] + movs r0, 0x1 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0xB] + movs r0, 0x5 + negs r0, r0 +_0803D882: + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0xB] + b _0803D8E2 +_0803D88A: + ldrb r0, [r4] + lsls r0, 3 + ldrb r2, [r5, 0xB] + movs r1, 0x7 + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0xB] + b _0803D8E2 +_0803D89A: + ldrb r1, [r4] + movs r4, 0x1F + adds r2, r1, 0 + ands r2, r4 + ldrb r3, [r5, 0x4] + movs r0, 0x20 + negs r0, r0 + ands r0, r3 + orrs r0, r2 + strb r0, [r5, 0x4] + lsrs r1, 5 + ands r1, r4 + lsls r1, 5 + ldrh r2, [r5, 0x4] + ldr r0, _0803D904 + ands r0, r2 + orrs r0, r1 + strh r0, [r5, 0x4] + ldrb r1, [r5, 0x5] + movs r0, 0x7D + negs r0, r0 + ands r0, r1 + strb r0, [r5, 0x5] + ldr r0, [r5, 0x4] + ldr r1, _0803D908 + ands r0, r1 + str r0, [r5, 0x4] + ldrh r1, [r5, 0x6] + ldr r0, _0803D90C + ands r0, r1 + strh r0, [r5, 0x6] + ldrb r1, [r5, 0x7] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 +_0803D8E0: + strb r0, [r5, 0x7] +_0803D8E2: + mov r0, r10 + cmp r0, 0xA + ble _0803D8F6 + adds r0, r7, 0 + bl pokemon_calc_checksum + strh r0, [r7, 0x1C] + adds r0, r7, 0 + bl EncryptMon +_0803D8F6: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803D904: .4byte 0xfffffc1f +_0803D908: .4byte 0xfff07fff +_0803D90C: .4byte 0xfffffe0f + thumb_func_end SetMonBoxData + + thumb_func_start CopyMon +CopyMon: @ 803D910 + push {lr} + bl memcpy + pop {r0} + bx r0 + thumb_func_end CopyMon + + thumb_func_start pokemon_catch +pokemon_catch: @ 803D91C + push {r4-r6,lr} + adds r6, r0, 0 + ldr r4, _0803D948 + movs r1, 0x7 + adds r2, r4, 0 + bl SetMonData + adds r2, r4, 0 + adds r2, 0x8 + adds r0, r6, 0 + movs r1, 0x31 + bl SetMonData + adds r4, 0xA + adds r0, r6, 0 + movs r1, 0x1 + adds r2, r4, 0 + bl SetMonData + movs r5, 0 + b _0803D94E + .align 2, 0 +_0803D948: .4byte gSaveBlock2 +_0803D94C: + adds r5, 0x1 +_0803D94E: + cmp r5, 0x5 + bgt _0803D988 + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _0803D980 + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + cmp r0, 0 + bne _0803D94C + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x64 + bl CopyMon + ldr r1, _0803D984 + adds r0, r5, 0x1 + strb r0, [r1] + movs r0, 0 + b _0803D992 + .align 2, 0 +_0803D980: .4byte 0x03004360 +_0803D984: .4byte 0x03004350 +_0803D988: + adds r0, r6, 0 + bl sub_803D998 + lsls r0, 24 + lsrs r0, 24 +_0803D992: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end pokemon_catch + + thumb_func_start sub_803D998 +sub_803D998: @ 803D998 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + mov r9, r0 + ldr r0, _0803D9E8 + ldrb r5, [r0] +_0803D9A8: + movs r7, 0 + lsls r1, r5, 2 + adds r1, r5 + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 5 + mov r8, r0 + movs r6, 0 +_0803D9B8: + ldr r3, _0803D9EC + adds r0, r6, r3 + mov r1, r8 + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + str r3, [sp] + bl GetMonBoxData + ldr r3, [sp] + cmp r0, 0 + bne _0803D9F0 + mov r0, r9 + bl sub_8040B1C + adds r0, r4, 0 + mov r1, r9 + movs r2, 0x50 + bl CopyMon + movs r0, 0x1 + b _0803DA0A + .align 2, 0 +_0803D9E8: .4byte 0x020300a0 +_0803D9EC: .4byte 0x020300a4 +_0803D9F0: + adds r6, 0x50 + adds r7, 0x1 + cmp r7, 0x1D + ble _0803D9B8 + adds r5, 0x1 + cmp r5, 0xE + bne _0803DA00 + movs r5, 0 +_0803DA00: + subs r0, r3, 0x4 + ldrb r0, [r0] + cmp r5, r0 + bne _0803D9A8 + movs r0, 0x2 +_0803DA0A: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_803D998 + + thumb_func_start calc_player_party_count +calc_player_party_count: @ 803DA18 + push {r4,lr} + ldr r0, _0803DA24 + movs r1, 0 + strb r1, [r0] + b _0803DA30 + .align 2, 0 +_0803DA24: .4byte 0x03004350 +_0803DA28: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + adds r0, r4, 0 +_0803DA30: + adds r4, r0, 0 + ldrb r0, [r4] + cmp r0, 0x5 + bhi _0803DA4E + adds r1, r0, 0 + movs r0, 0x64 + muls r0, r1 + ldr r1, _0803DA58 + adds r0, r1 + movs r1, 0xB + movs r2, 0 + bl GetMonData + cmp r0, 0 + bne _0803DA28 +_0803DA4E: + ldrb r0, [r4] + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803DA58: .4byte 0x03004360 + thumb_func_end calc_player_party_count + + thumb_func_start calc_enemy_party_count +calc_enemy_party_count: @ 803DA5C + push {r4,lr} + ldr r0, _0803DA68 + movs r1, 0 + strb r1, [r0] + b _0803DA74 + .align 2, 0 +_0803DA68: .4byte 0x030045b8 +_0803DA6C: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + adds r0, r4, 0 +_0803DA74: + adds r4, r0, 0 + ldrb r0, [r4] + cmp r0, 0x5 + bhi _0803DA92 + adds r1, r0, 0 + movs r0, 0x64 + muls r0, r1 + ldr r1, _0803DA9C + adds r0, r1 + movs r1, 0xB + movs r2, 0 + bl GetMonData + cmp r0, 0 + bne _0803DA6C +_0803DA92: + ldrb r0, [r4] + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803DA9C: .4byte 0x030045c0 + thumb_func_end calc_enemy_party_count + + thumb_func_start sub_803DAA0 +sub_803DAA0: @ 803DAA0 + push {r4-r6,lr} + movs r6, 0 + bl calc_player_party_count + ldr r1, _0803DB0C + ldrb r0, [r1] + cmp r0, 0x1 + beq _0803DB04 + movs r5, 0 + ldrb r1, [r1] + cmp r6, r1 + bge _0803DAFC +_0803DAB8: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _0803DB10 + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x39 + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _0803DAF2 + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _0803DAF2 + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _0803DAF2 + adds r6, 0x1 +_0803DAF2: + adds r5, 0x1 + ldr r0, _0803DB0C + ldrb r0, [r0] + cmp r5, r0 + blt _0803DAB8 +_0803DAFC: + movs r0, 0 + cmp r6, 0x1 + bgt _0803DB04 + movs r0, 0x2 +_0803DB04: + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0803DB0C: .4byte 0x03004350 +_0803DB10: .4byte 0x03004360 + thumb_func_end sub_803DAA0 + + thumb_func_start sub_803DB14 +sub_803DB14: @ 803DB14 + push {lr} + lsls r0, 16 + lsrs r3, r0, 16 + lsls r1, 24 + cmp r1, 0 + beq _0803DB38 + ldr r2, _0803DB30 + ldr r1, _0803DB34 + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x17] + b _0803DB46 + .align 2, 0 +_0803DB30: .4byte 0x02024c06 +_0803DB34: .4byte gBaseStats +_0803DB38: + ldr r2, _0803DB50 + ldr r1, _0803DB54 + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x16] +_0803DB46: + strb r0, [r2] + ldrb r0, [r2] + pop {r1} + bx r1 + .align 2, 0 +_0803DB50: .4byte 0x02024c06 +_0803DB54: .4byte gBaseStats + thumb_func_end sub_803DB14 + + thumb_func_start GetMonAbility +GetMonAbility: @ 803DB58 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x2E + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_803DB14 + lsls r0, 24 + lsrs r0, 24 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end GetMonAbility + + thumb_func_start create_enemy_party +create_enemy_party: @ 803DB8C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + adds r4, r0, 0 + bl zero_enemy_party_data + ldr r5, _0803DC8C + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0xA0 + bl memcpy + movs r7, 0 +_0803DBAC: + lsls r0, r7, 1 + mov r9, r0 + ldr r2, _0803DC8C + adds r2, 0x7C + mov r10, r2 + mov r1, r9 + add r1, r10 + ldrh r0, [r1] + adds r2, r7, 0x1 + str r2, [sp, 0x10] + cmp r0, 0 + beq _0803DC64 + movs r0, 0x64 + adds r6, r7, 0 + muls r6, r0 + ldr r2, _0803DC90 + mov r8, r2 + adds r5, r6, r2 + ldrh r1, [r1] + ldr r0, _0803DC8C + adds r0, 0x94 + adds r0, r7, r0 + ldrb r2, [r0] + movs r0, 0x1 + str r0, [sp] + lsls r4, r7, 2 + ldr r0, _0803DC8C + adds r0, 0x34 + adds r0, r4, r0 + ldr r0, [r0] + str r0, [sp, 0x4] + movs r0, 0x2 + str r0, [sp, 0x8] + movs r0, 0 + str r0, [sp, 0xC] + adds r0, r5, 0 + movs r3, 0xF + bl create_pokemon_set_level + ldr r2, _0803DC94 + add r2, r9 + adds r0, r5, 0 + movs r1, 0xC + bl SetMonData + movs r5, 0 + mov r9, r4 + mov r3, r8 + mov r4, r10 + adds r4, 0x1E +_0803DC10: + adds r1, r5, 0 + adds r1, 0x1A + adds r0, r6, r3 + adds r2, r7, r4 + str r3, [sp, 0x14] + bl SetMonData + adds r5, 0x1 + ldr r3, [sp, 0x14] + cmp r5, 0x5 + ble _0803DC10 + movs r5, 0 + movs r0, 0x64 + adds r1, r7, 0 + muls r1, r0 + ldr r0, _0803DC90 + adds r7, r1, r0 + mov r2, r9 + lsls r6, r2, 1 +_0803DC36: + adds r1, r5, 0 + adds r1, 0xD + ldr r4, _0803DC98 + adds r4, r6, r4 + adds r0, r7, 0 + adds r2, r4, 0 + bl SetMonData + adds r1, r5, 0 + adds r1, 0x11 + ldrh r0, [r4] + lsls r2, r0, 1 + adds r2, r0 + lsls r2, 2 + ldr r0, _0803DC9C + adds r2, r0 + adds r0, r7, 0 + bl SetMonData + adds r6, 0x2 + adds r5, 0x1 + cmp r5, 0x3 + ble _0803DC36 +_0803DC64: + ldr r7, [sp, 0x10] + cmp r7, 0x5 + ble _0803DBAC + ldr r1, _0803DCA0 + movs r0, 0x8 + strh r0, [r1] + ldr r1, _0803DCA4 + movs r2, 0x80 + lsls r2, 3 + adds r0, r2, 0 + strh r0, [r1] + 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 +_0803DC8C: .4byte 0x02017000 +_0803DC90: .4byte 0x030045c0 +_0803DC94: .4byte 0x02017088 +_0803DC98: .4byte 0x0201704c +_0803DC9C: .4byte gBattleMoves + 0x4 @ PP offset +_0803DCA0: .4byte 0x020239f8 +_0803DCA4: .4byte 0x0202ff5e + thumb_func_end create_enemy_party + + thumb_func_start sub_803DCA8 +sub_803DCA8: @ 803DCA8 + push {r4,r5,lr} + ldr r5, _0803DCD8 + ldr r4, _0803DCDC + ldrb r0, [r4, 0x9] + movs r1, 0x5 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 24 + ldrb r2, [r4, 0x1] + lsls r2, 27 + lsrs r2, 31 + lsls r1, r2, 2 + adds r1, r2 + adds r0, r1 + adds r0, r5 + ldrb r0, [r0] + ldr r1, _0803DCE0 + adds r0, r1 + ldrb r0, [r0] + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803DCD8: .4byte gUnknown_082082E8 +_0803DCDC: .4byte 0x02017000 +_0803DCE0: .4byte gTrainerClassToPicIndex + thumb_func_end sub_803DCA8 + + thumb_func_start sub_803DCE4 +sub_803DCE4: @ 803DCE4 + push {r4,r5,lr} + ldr r5, _0803DD14 + ldr r4, _0803DD18 + ldrb r0, [r4, 0x9] + movs r1, 0x5 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 24 + ldrb r2, [r4, 0x1] + lsls r2, 27 + lsrs r2, 31 + lsls r1, r2, 2 + adds r1, r2 + adds r0, r1 + adds r0, r5 + ldrb r0, [r0] + ldr r1, _0803DD1C + adds r0, r1 + ldrb r0, [r0] + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803DD14: .4byte gUnknown_082082E8 +_0803DD18: .4byte 0x02017000 +_0803DD1C: .4byte gTrainerClassToNameIndex + thumb_func_end sub_803DCE4 + + thumb_func_start sub_803DD20 +sub_803DD20: @ 803DD20 + push {r4,lr} + movs r4, 0 +_0803DD24: + movs r0, 0x64 + muls r0, r4 + ldr r1, _0803DD3C + adds r0, r1 + movs r1, 0xB + movs r2, 0 + bl GetMonData + cmp r0, 0 + bne _0803DD40 + movs r0, 0 + b _0803DD4E + .align 2, 0 +_0803DD3C: .4byte 0x03004360 +_0803DD40: + adds r4, 0x1 + cmp r4, 0x5 + ble _0803DD24 + bl sub_803DD54 + lsls r0, 24 + lsrs r0, 24 +_0803DD4E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803DD20 + + thumb_func_start sub_803DD54 +sub_803DD54: @ 803DD54 + push {r4-r7,lr} + sub sp, 0x4 + movs r3, 0 + movs r7, 0 +_0803DD5C: + movs r5, 0 + adds r6, r7, 0 + movs r4, 0 +_0803DD62: + ldr r0, _0803DD7C + adds r0, r4, r0 + adds r0, r6, r0 + movs r1, 0xB + movs r2, 0 + str r3, [sp] + bl GetMonBoxData + ldr r3, [sp] + cmp r0, 0 + bne _0803DD80 + movs r0, 0 + b _0803DD96 + .align 2, 0 +_0803DD7C: .4byte 0x020300a4 +_0803DD80: + adds r4, 0x50 + adds r5, 0x1 + cmp r5, 0x1D + ble _0803DD62 + movs r0, 0x96 + lsls r0, 4 + adds r7, r0 + adds r3, 0x1 + cmp r3, 0xD + ble _0803DD5C + movs r0, 0x1 +_0803DD96: + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_803DD54 + + thumb_func_start GetSpeciesName +GetSpeciesName: @ 803DDA0 + push {r4-r7,lr} + adds r6, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + movs r1, 0 + movs r0, 0xCE + lsls r0, 1 + mov r12, r0 + ldr r7, _0803DDBC + movs r0, 0xB + muls r0, r5 + adds r3, r0, r7 + adds r2, r6, 0 + b _0803DDC6 + .align 2, 0 +_0803DDBC: .4byte gSpeciesNames +_0803DDC0: + adds r3, 0x1 + adds r2, 0x1 + adds r1, 0x1 +_0803DDC6: + adds r4, r6, r1 + cmp r1, 0xA + bgt _0803DDE0 + cmp r5, r12 + bls _0803DDD6 + adds r0, r1, r7 + ldrb r0, [r0] + b _0803DDD8 +_0803DDD6: + ldrb r0, [r3] +_0803DDD8: + strb r0, [r2] + ldrb r0, [r4] + cmp r0, 0xFF + bne _0803DDC0 +_0803DDE0: + movs r0, 0xFF + strb r0, [r4] + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end GetSpeciesName + + thumb_func_start CalcPPWithPPUps +CalcPPWithPPUps: @ 803DDEC + push {r4,lr} + lsls r0, 16 + lsrs r0, 16 + lsls r2, 24 + lsrs r2, 24 + ldr r4, _0803DE2C + lsls r3, r0, 1 + adds r3, r0 + lsls r3, 2 + adds r3, r4 + ldrb r4, [r3, 0x4] + ldr r0, _0803DE30 + adds r0, r2, r0 + ldrb r3, [r0] + ands r3, r1 + lsls r2, 1 + asrs r3, r2 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 2 + muls r0, r4 + movs r1, 0x64 + bl __divsi3 + adds r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0803DE2C: .4byte gBattleMoves +_0803DE30: .4byte gUnknown_08208238 + thumb_func_end CalcPPWithPPUps + + thumb_func_start sub_803DE34 +sub_803DE34: @ 803DE34 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r4, r1, 24 + lsrs r4, 24 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + strb r0, [r1] + ldr r1, _0803DE6C + adds r4, r1 + ldrb r1, [r4] + ands r1, r0 + mov r0, sp + strb r1, [r0] + adds r0, r5, 0 + movs r1, 0x15 + mov r2, sp + bl SetMonData + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803DE6C: .4byte gUnknown_0820823C + thumb_func_end sub_803DE34 + + thumb_func_start sub_803DE70 +sub_803DE70: @ 803DE70 + lsls r1, 24 + lsrs r1, 24 + adds r0, 0x3B + ldr r2, _0803DE84 + adds r1, r2 + ldrb r2, [r0] + ldrb r1, [r1] + ands r1, r2 + strb r1, [r0] + bx lr + .align 2, 0 +_0803DE84: .4byte gUnknown_0820823C + thumb_func_end sub_803DE70 + + thumb_func_start battle_data_fill +battle_data_fill: @ 803DE88 + 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, 0x14] + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + movs r0, 0x64 + mov r5, r9 + muls r5, r0 + ldr r0, _0803E170 + adds r5, r0 + adds r0, r5, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + ldr r1, _0803E174 + mov r8, r1 + movs r1, 0x58 + ldr r2, [sp, 0x14] + adds r4, r2, 0 + muls r4, r1 + mov r3, r8 + adds r6, r4, r3 + strh r0, [r6] + adds r0, r5, 0 + movs r1, 0xC + movs r2, 0 + bl GetMonData + strh r0, [r6, 0x2E] + movs r6, 0 + mov r0, r8 + adds r0, 0x24 + adds r7, r4, r0 +_0803DEDA: + adds r1, r6, 0 + adds r1, 0xD + adds r0, r5, 0 + movs r2, 0 + bl GetMonData + movs r1, 0xC + add r1, r8 + mov r10, r1 + adds r1, r4, r1 + strh r0, [r1] + adds r1, r6, 0 + adds r1, 0x11 + adds r0, r5, 0 + movs r2, 0 + bl GetMonData + strb r0, [r7] + adds r7, 0x1 + adds r4, 0x2 + adds r6, 0x1 + cmp r6, 0x3 + ble _0803DEDA + movs r0, 0x64 + mov r4, r9 + muls r4, r0 + ldr r0, _0803E170 + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + movs r2, 0xC + negs r2, r2 + add r2, r10 + mov r9, r2 + movs r1, 0x58 + ldr r3, [sp, 0x14] + adds r5, r3, 0 + muls r5, r1 + adds r7, r5, r2 + adds r1, r7, 0 + adds r1, 0x3B + strb r0, [r1] + adds r0, r4, 0 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + adds r1, r7, 0 + adds r1, 0x2B + strb r0, [r1] + adds r0, r4, 0 + movs r1, 0x19 + movs r2, 0 + bl GetMonData + mov r1, r10 + adds r1, 0x38 + adds r1, r5, r1 + str r0, [r1] + adds r0, r4, 0 + movs r1, 0x27 + movs r2, 0 + bl GetMonData + movs r6, 0x1F + ands r0, r6 + ldrb r2, [r7, 0x14] + movs r1, 0x20 + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r7, 0x14] + adds r0, r4, 0 + movs r1, 0x28 + movs r2, 0 + bl GetMonData + movs r1, 0x1F + mov r8, r1 + mov r2, r8 + ands r0, r2 + lsls r0, 5 + ldrh r2, [r7, 0x14] + ldr r1, _0803E178 + ands r1, r2 + orrs r1, r0 + strh r1, [r7, 0x14] + adds r0, r4, 0 + movs r1, 0x29 + movs r2, 0 + bl GetMonData + ands r0, r6 + lsls r0, 2 + ldrb r2, [r7, 0x15] + movs r1, 0x7D + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r7, 0x15] + adds r0, r4, 0 + movs r1, 0x2A + movs r2, 0 + bl GetMonData + movs r1, 0x1F + ands r1, r0 + lsls r1, 15 + ldr r0, [r7, 0x14] + ldr r2, _0803E17C + ands r0, r2 + orrs r0, r1 + str r0, [r7, 0x14] + adds r0, r4, 0 + movs r1, 0x2B + movs r2, 0 + bl GetMonData + mov r3, r8 + ands r0, r3 + lsls r0, 4 + ldrh r2, [r7, 0x16] + ldr r1, _0803E180 + ands r1, r2 + orrs r1, r0 + strh r1, [r7, 0x16] + adds r0, r4, 0 + movs r1, 0x2C + movs r2, 0 + bl GetMonData + ands r0, r6 + lsls r0, 1 + ldrb r2, [r7, 0x17] + movs r1, 0x3F + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r7, 0x17] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0 + bl GetMonData + mov r1, r10 + adds r1, 0x3C + adds r1, r5, r1 + str r0, [r1] + adds r0, r4, 0 + movs r1, 0x37 + movs r2, 0 + bl GetMonData + mov r1, r10 + adds r1, 0x40 + adds r1, r5, r1 + str r0, [r1] + adds r0, r4, 0 + movs r1, 0x38 + movs r2, 0 + bl GetMonData + adds r1, r7, 0 + adds r1, 0x2A + strb r0, [r1] + adds r0, r4, 0 + movs r1, 0x39 + movs r2, 0 + bl GetMonData + strh r0, [r7, 0x28] + adds r0, r4, 0 + movs r1, 0x3A + movs r2, 0 + bl GetMonData + strh r0, [r7, 0x2C] + adds r0, r4, 0 + movs r1, 0x3B + movs r2, 0 + bl GetMonData + strh r0, [r7, 0x2] + adds r0, r4, 0 + movs r1, 0x3C + movs r2, 0 + bl GetMonData + strh r0, [r7, 0x4] + adds r0, r4, 0 + movs r1, 0x3D + movs r2, 0 + bl GetMonData + strh r0, [r7, 0x6] + adds r0, r4, 0 + movs r1, 0x3E + movs r2, 0 + bl GetMonData + strh r0, [r7, 0x8] + adds r0, r4, 0 + movs r1, 0x3F + movs r2, 0 + bl GetMonData + strh r0, [r7, 0xA] + adds r0, r4, 0 + movs r1, 0x2D + movs r2, 0 + bl GetMonData + movs r1, 0x1 + ands r0, r1 + lsls r0, 6 + ldrb r2, [r7, 0x17] + movs r1, 0x41 + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r7, 0x17] + adds r0, r4, 0 + movs r1, 0x2E + movs r2, 0 + bl GetMonData + lsls r0, 7 + ldrb r2, [r7, 0x17] + movs r1, 0x7F + ands r1, r2 + orrs r1, r0 + strb r1, [r7, 0x17] + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0 + bl GetMonData + mov r1, r10 + adds r1, 0x48 + adds r1, r5, r1 + str r0, [r1] + ldr r2, _0803E184 + ldrh r1, [r7] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x6] + adds r1, r7, 0 + adds r1, 0x21 + strb r0, [r1] + ldrh r1, [r7] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x7] + adds r1, r7, 0 + adds r1, 0x22 + strb r0, [r1] + ldrh r0, [r7] + ldrb r1, [r7, 0x17] + lsrs r1, 7 + bl sub_803DB14 + adds r1, r7, 0 + adds r1, 0x20 + strb r0, [r1] + adds r0, r4, 0 + movs r1, 0x2 + mov r2, sp + bl GetMonData + mov r0, r10 + adds r0, 0x24 + adds r0, r5, r0 + mov r1, sp + bl StringCopy10 + mov r2, r10 + adds r2, 0x30 + adds r2, r5, r2 + adds r0, r4, 0 + movs r1, 0x7 + bl GetMonData + ldr r0, [sp, 0x14] + bl battle_side_get_owner + lsls r0, 24 + lsrs r0, 23 + ldr r1, _0803E188 + adds r0, r1 + ldrh r1, [r7, 0x28] + strh r1, [r0] + movs r2, 0x6 + mov r1, r9 + movs r6, 0x7 + add r5, r10 + adds r0, r5, 0 + adds r0, 0x13 +_0803E13A: + strb r2, [r0] + subs r0, 0x1 + subs r6, 0x1 + cmp r6, 0 + bge _0803E13A + movs r2, 0 + movs r0, 0x58 + ldr r3, [sp, 0x14] + muls r0, r3 + adds r1, 0x50 + adds r0, r1 + str r2, [r0] + ldr r0, [sp, 0x14] + bl sub_80157C4 + ldr r0, [sp, 0x14] + movs r1, 0 + bl sub_8032AA8 + 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 +_0803E170: .4byte 0x03004360 +_0803E174: .4byte 0x02024a80 +_0803E178: .4byte 0xfffffc1f +_0803E17C: .4byte 0xfff07fff +_0803E180: .4byte 0xfffffe0f +_0803E184: .4byte gBaseStats +_0803E188: .4byte 0x020160bc + thumb_func_end battle_data_fill + + 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 + ldr r4, _0803E220 + adds r0, r4 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803E22C + ldr r2, _0803E224 + ldr r0, _0803E228 + 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 0x03001770 +_0803E220: .4byte 0x0000043d +_0803E224: .4byte 0x02024df0 +_0803E228: .4byte 0x02024e6c +_0803E22C: + ldr r0, _0803E238 + ldr r5, _0803E23C + adds r0, r5 + ldrb r0, [r0] + b _0803E248 + .align 2, 0 +_0803E238: .4byte 0x02025734 +_0803E23C: .4byte 0x00003688 +_0803E240: + bl itemid_get_x12 + lsls r0, 24 + lsrs r0, 24 +_0803E248: + str r0, [sp, 0x30] + ldr r1, _0803E2A4 + ldr r0, _0803E2A8 + ldrb r2, [r0] + strb r2, [r1] + ldr r0, _0803E2AC + ldr r1, _0803E2B0 + 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 + 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 + ldr r4, [sp, 0x8] + subs r4, 0xD + ldrb r0, [r0] + cmp r1, r0 + bge _0803E2F4 + ldr r2, _0803E2BC + 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 0x02024c0b +_0803E2A8: .4byte 0x02024e6c +_0803E2AC: .4byte 0x03001770 +_0803E2B0: .4byte 0x0000043d +_0803E2B4: .4byte 0x02024a60 +_0803E2B8: .4byte 0x02024a68 +_0803E2BC: .4byte 0x02024a6a +_0803E2C0: + ldr r1, [sp, 0x18] + adds r1, 0x2 + str r1, [sp, 0x18] + ldr r0, _0803E2E4 + 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 0x02024a68 +_0803E2E8: + ldr r0, _0803E310 + 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 + 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 0x02024a60 +_0803E314: .4byte gItemEffectTable +_0803E318: + ldr r5, [sp, 0x8] + cmp r5, 0xAF + bne _0803E372 +_0803E31E: + ldr r0, _0803E340 + ldr r1, _0803E344 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803E350 + ldr r0, _0803E348 + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + ldr r1, _0803E34C + adds r0, r1 + b _0803E372 + .align 2, 0 +_0803E340: .4byte 0x03001770 +_0803E344: .4byte 0x0000043d +_0803E348: .4byte 0x02024a60 +_0803E34C: .4byte 0x02024df8 +_0803E350: + ldr r2, _0803E358 + str r2, [sp, 0x20] + b _0803E374 + .align 2, 0 +_0803E358: .4byte 0x02028daa +_0803E35C: + mov r0, r8 + movs r2, 0 + ldr r3, [sp, 0xC] + bl sub_8111924 + 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 + 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 + ldr r1, _0803E464 + 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 + 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 + 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 + ldr r0, _0803E470 + 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 + ldr r5, _0803E470 + 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 0x03001770 +_0803E464: .4byte 0x0000043d +_0803E468: .4byte 0x02024a80 +_0803E46C: .4byte 0xfff0ffff +_0803E470: .4byte 0x02024a60 +_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 + ldr r5, _0803E504 + 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 + ldr r5, _0803E504 + 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 0x02024a80 +_0803E504: .4byte 0x02024a60 +_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 + ldr r5, _0803E598 + 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 + ldr r5, _0803E598 + 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 0x02024a80 +_0803E598: .4byte 0x02024a60 +_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 + ldr r4, _0803E75C + 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 + 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 + 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 pokemon_calc_effective_stats + 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 + 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 + 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 + 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 + ldr r3, _0803E778 + 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 + 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 0x02024c80 +_0803E75C: .4byte 0x02024a60 +_0803E760: .4byte gExperienceTables +_0803E764: .4byte gBaseStats +_0803E768: .4byte 0x02024a80 +_0803E76C: .4byte 0xf7ffffff +_0803E770: .4byte 0x00000f88 +_0803E774: .4byte 0x03001770 +_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 + 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 CalcPPWithPPUps + 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 + 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 CalcPPWithPPUps + 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 + 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 sub_8040020 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _0803E8EC + cmp r5, r0 + bls _0803E8BE + b _0803E36C +_0803E8BE: + ldr r0, _0803E8F0 + 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 + ldr r3, [sp, 0x28] + adds r0, r3, r0 + ldrb r1, [r0] + mov r0, r8 + mov r2, sp + bl SetMonData + mov r0, r8 + bl pokemon_calc_effective_stats + 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 + ldr r1, _0803E9A0 + 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 + ldr r1, _0803E9A8 + 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 + 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 battle_data_fill + ldr r0, _0803E9B0 + ldrb r0, [r0] + b _0803E9CC + .align 2, 0 +_0803E99C: .4byte 0x03001770 +_0803E9A0: .4byte 0x0000043d +_0803E9A4: .4byte 0x02024c0c +_0803E9A8: .4byte gBitTable +_0803E9AC: .4byte 0x02024a6a +_0803E9B0: .4byte 0x02024a60 +_0803E9B4: + ldr r3, _0803E9E4 + ldr r1, _0803E9E8 + ldr r2, _0803E9EC + 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 + ldrb r0, [r1, 0x4] + cmp r0, 0xFE + bhi _0803EA0A + adds r0, 0x1 + strb r0, [r1, 0x4] + b _0803EA0A + .align 2, 0 +_0803E9E4: .4byte 0x02024c0c +_0803E9E8: .4byte gBitTable +_0803E9EC: .4byte 0x02024a60 +_0803E9F0: .4byte 0x030042e0 +_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 + ldr r5, _0803EB28 + 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 + ldr r1, _0803EB30 + 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 + 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 + ldrb r0, [r4] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _0803EB48 + ldr r1, _0803EB3C + 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 0x03001770 +_0803EB30: .4byte 0x0000043d +_0803EB34: .4byte 0x02024a80 +_0803EB38: .4byte 0x02024a60 +_0803EB3C: .4byte 0x030042e0 +_0803EB40: + ldr r1, _0803EB58 + 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 0x02024bec +_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 CalcPPWithPPUps + 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 CalcPPWithPPUps + 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 CalcPPWithPPUps + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] +_0803EC28: + mov r0, r8 + mov r1, r9 + mov r2, sp + bl SetMonData + ldr r0, _0803ECA4 + ldr r4, _0803ECA8 + 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 + 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 + 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 + 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 0x03001770 +_0803ECA8: .4byte 0x0000043d +_0803ECAC: .4byte 0x02024a80 +_0803ECB0: .4byte 0x02024ca8 +_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 CalcPPWithPPUps + 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 CalcPPWithPPUps + 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 CalcPPWithPPUps + 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 + ldr r1, _0803EDE4 + 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 + 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 + lsls r0, r2, 3 + subs r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x18] + lsrs r1, 4 + ldr r2, _0803EDF0 + 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 0x03001770 +_0803EDE4: .4byte 0x0000043d +_0803EDE8: .4byte 0x02024a80 +_0803EDEC: .4byte 0x02024ca8 +_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 + 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 sub_8040020 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _0803EEBC + cmp r5, r0 + bls _0803EE88 + bl _0803E36C +_0803EE88: + ldr r0, _0803EEC0 + 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 + adds r0, r2, r0 + ldrb r1, [r0] + mov r0, r8 + mov r2, sp + bl SetMonData + mov r0, r8 + bl pokemon_calc_effective_stats + 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 + 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 CalcPPWithPPUps + lsls r0, 24 + lsrs r4, r0, 24 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + str r0, [sp] + ldr r1, _0803EFC4 + ldr r3, [sp, 0x10] + adds r1, r3, r1 + ldrb r2, [r1] + ands r2, r0 + str r2, [sp] + ldr r0, _0803EFC8 + 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 CalcPPWithPPUps + 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 + ldr r1, _0803F1C8 + 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 + 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 0x03001770 +_0803F1C8: .4byte 0x0000043d +_0803F1CC: .4byte 0x02024a80 +_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 + 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 + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + ldr r1, _0803F230 + 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 0x02024a60 +_0803F230: .4byte 0x02024df8 +_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 + 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 + ldr r1, _0803F35C + ldrb r1, [r1] + strb r1, [r2] + ldr r3, _0803F360 + ldr r2, _0803F364 + ldr r1, _0803F368 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r2 + ldr r1, [r0] + adds r0, r3, 0 + bl StringCopy + ldr r0, _0803F36C + ldr r1, _0803F370 + bl StringCopy + ldr r0, _0803F374 + bl get_battle_strings_ + pop {r0} + bx r0 + .align 2, 0 +_0803F358: .4byte 0x02024c08 +_0803F35C: .4byte 0x02024e6c +_0803F360: .4byte 0x030041c0 +_0803F364: .4byte gUnknown_08400F58 +_0803F368: .4byte gUnknown_082082F8 +_0803F36C: .4byte 0x03004290 +_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 + ldr r1, _0803F3AC + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803F3B8 + ldr r2, _0803F3B0 + ldrb r1, [r2] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + ldr r1, _0803F3B4 + adds r7, r0, r1 + b _0803F3CC + .align 2, 0 +_0803F3A8: .4byte 0x03001770 +_0803F3AC: .4byte 0x0000043d +_0803F3B0: .4byte 0x02024e6c +_0803F3B4: .4byte 0x02024df8 +_0803F3B8: + ldr r7, _0803F3BC + b _0803F3CA + .align 2, 0 +_0803F3BC: .4byte 0x02028daa +_0803F3C0: + ldr r1, _0803F404 + subs r0, 0xD + lsls r0, 2 + adds r0, r1 + ldr r7, [r0] +_0803F3CA: + ldr r2, _0803F408 +_0803F3CC: + ldr r1, _0803F40C + ldrb r0, [r2] + strb r0, [r1] + movs r5, 0 + ldr r0, _0803F410 + 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 0x02024e6c +_0803F40C: .4byte 0x02024c0b +_0803F410: .4byte 0x02024c07 +_0803F414: + ldr r0, _0803F450 + ldrb r0, [r0] + mov r1, r8 + strb r0, [r1] + ldr r0, _0803F454 + 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 + ldr r0, _0803F450 + ldrb r0, [r0] + strb r0, [r1] + ldr r0, _0803F45C + bl get_battle_strings_ +_0803F442: + ldr r0, _0803F460 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0803F450: .4byte 0x02024e6c +_0803F454: .4byte gUnknown_083FEE92 +_0803F458: .4byte 0x02024c07 +_0803F45C: .4byte gUnknown_083FEE5D +_0803F460: .4byte 0x020238cc + 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 + ldr r1, _0803F4FC + adds r0, r1 + ldrb r0, [r0] + b _0803F508 + .align 2, 0 +_0803F4F8: .4byte 0x02025734 +_0803F4FC: .4byte 0x00003688 +_0803F500: + bl itemid_get_x12 + 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 + 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 + 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 + 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 + 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 0x03004038 +_0803F5FC: + bl RtcCalcLocalTime + ldr r0, _0803F624 + 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 + 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 0x03004038 +_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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 speciesid_conv +speciesid_conv: @ 803F904 + push {lr} + lsls r0, 16 + lsrs r0, 16 + adds r1, r0, 0 + cmp r0, 0xFA + bls _0803F932 + ldr r0, _0803F924 + cmp r1, r0 + bls _0803F930 + ldr r0, _0803F928 + ldr r2, _0803F92C + 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 speciesid_conv + + 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 + 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 + 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 + 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 + 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 + 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 + + 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 + movs r1, 0x2 + adds r2, r5, 0 + bl GetMonData + movs r6, 0xB + adds r0, r4, 0 + muls r0, r6 + ldr r4, _0803FBB8 + 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 0x020231cc +_0803FBB8: .4byte gSpeciesNames + thumb_func_end sub_803FB68 + + thumb_func_start sub_803FBBC +sub_803FBBC: @ 803FBBC + push {r4,r5,lr} + movs r5, 0 + ldr r4, _0803FBE4 + 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 0x03002970 +_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 + 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 0x03002970 +_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 + b _0803FC4C + .align 2, 0 +_0803FC40: .4byte 0x03002970 +_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 + 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 + 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 sub_803FCD4 +sub_803FCD4: @ 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 + ldr r1, _0803FD18 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803FD20 + ldr r0, _0803FD1C + ldrb r4, [r0, 0x7] + b _0803FD3C + .align 2, 0 +_0803FD14: .4byte 0x03001770 +_0803FD18: .4byte 0x0000043d +_0803FD1C: .4byte 0x02024df0 +_0803FD20: + ldr r0, _0803FD2C + ldr r1, _0803FD30 + adds r0, r1 + ldrb r4, [r0] + b _0803FD3C + .align 2, 0 +_0803FD2C: .4byte 0x02025734 +_0803FD30: .4byte 0x00003688 +_0803FD34: + bl itemid_get_x12 + 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 + ldrh r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0803FE56 + ldr r2, _0803FE64 + ldr r0, _0803FE68 + 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 + 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 0x020239f8 +_0803FE64: .4byte gTrainers +_0803FE68: .4byte 0x0202ff5e +_0803FE6C: .4byte gUnknown_082082FE + thumb_func_end sub_803FCD4 + + thumb_func_start sub_803FE70 +sub_803FE70: @ 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 sub_8040178 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + ldr r1, _0803FF8C + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803FF94 + ldr r0, _0803FF90 + ldrb r0, [r0, 0x7] + b _0803FFB0 + .align 2, 0 +_0803FF84: .4byte gBaseStats +_0803FF88: .4byte 0x03001770 +_0803FF8C: .4byte 0x0000043d +_0803FF90: .4byte 0x02024df0 +_0803FF94: + ldr r0, _0803FFA0 + ldr r2, _0803FFA4 + adds r0, r2 + ldrb r0, [r0] + b _0803FFB0 + .align 2, 0 +_0803FFA0: .4byte 0x02025734 +_0803FFA4: .4byte 0x00003688 +_0803FFA8: + bl itemid_get_x12 + 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 + 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 sub_803FE70 + + thumb_func_start sub_8040020 +sub_8040020: @ 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 sub_8040020 + + thumb_func_start sub_8040048 +sub_8040048: @ 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 + lsls r0, r5, 2 + adds r0, r1 + ldrb r1, [r0] + adds r0, r6, 0 + bl sub_8040178 + 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 sub_8040048 + + thumb_func_start sub_8040110 +sub_8040110: @ 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 sub_8040110 + + thumb_func_start sub_8040178 +sub_8040178: @ 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 sub_8040178 + + thumb_func_start sub_80401D8 +sub_80401D8: @ 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 + 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 0x03004360 +_08040228: + subs r0, r2, r7 +_0804022A: + strb r0, [r6] + movs r0, 0x64 + muls r0, r5 + ldr r1, _0804024C + 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 0x03004360 + thumb_func_end sub_80401D8 + + thumb_func_start atkE5_pickupitemcalculation +atkE5_pickupitemcalculation: @ 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 atkE5_pickupitemcalculation + + thumb_func_start sub_8040300 +sub_8040300: @ 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 + mov r1, sp + ldrb r2, [r1] + lsls r2, 2 + ldr r3, _0804035C + 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 sub_8040300 + + thumb_func_start sub_8040374 +sub_8040374: @ 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 + 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 + 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 sub_8040374 + + 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 + lsls r1, r7, 2 + adds r2, r1, r6 + ldr r3, [r2] + ldrh r0, [r3] + ldr r4, _08040514 + 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 + ands r0, r3 + cmp r1, r0 + beq _08040480 + ldr r0, [sp, 0x14] + ldr r1, _08040510 + adds r6, r0, r1 + ldr r2, _08040518 + 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 + ands r0, r1 + cmp r2, r0 + beq _080404C4 + ldr r1, [sp, 0x14] + ldr r2, _08040510 + adds r6, r1, r2 + ldr r0, _08040518 + 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 + 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 + 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 gLevelUpLearnsetPointers +_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 + lsrs r0, 14 + adds r0, r1 + ldr r2, [r0] + ldrh r0, [r2] + ldr r1, _0804056C + cmp r0, r1 + beq _08040560 + ldr r0, _08040570 + 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 gLevelUpLearnsetPointers +_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 + ldr r2, [sp, 0x38] + adds r1, r2, r3 + ldr r0, [r1] + ldrh r0, [r0] + ldr r2, _080406D0 + 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 + ands r0, r3 + cmp r1, r0 + beq _0804063A + ldr r0, [sp, 0x38] + ldr r1, _080406CC + adds r6, r0, r1 + ldr r2, _080406D4 + 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 + ands r0, r1 + add r1, sp, 0x8 + cmp r2, r0 + beq _08040680 + ldr r2, [sp, 0x38] + ldr r0, _080406CC + adds r6, r2, r0 + ldr r2, _080406D4 + 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 + 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 + 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 gLevelUpLearnsetPointers +_080406D0: .4byte 0x0000ffff +_080406D4: .4byte 0x000001ff + thumb_func_end sub_8040574 + + thumb_func_start sub_80406D8 +sub_80406D8: @ 80406D8 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + bl sub_806912C + 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 + b _0804070A + .align 2, 0 +_08040704: .4byte 0x0000ffff +_08040708: + adds r0, r4, 0 +_0804070A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80406D8 + + thumb_func_start sub_8040710 +sub_8040710: @ 8040710 + push {lr} + ldr r1, _08040724 + 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 0x02024e84 + thumb_func_end sub_8040710 + + thumb_func_start sub_8040728 +sub_8040728: @ 8040728 + push {lr} + ldr r0, _0804073C + ldrh r1, [r0] + movs r0, 0x80 + lsls r0, 5 + ands r0, r1 + cmp r0, 0 + beq _08040744 + ldr r0, _08040740 + b _080408B2 + .align 2, 0 +_0804073C: .4byte 0x020239f8 +_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 + ldr r2, _08040790 + 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 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0804078C: .4byte gTrainers +_08040790: .4byte 0x0202ff5e +_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 + 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 + adds r0, r1 + ldr r1, _0804089C + 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 + b _080408B2 + .align 2, 0 +_080408A4: .4byte 0x000001d1 +_080408A8: + ldr r0, _080408AC + b _080408B2 + .align 2, 0 +_080408AC: .4byte 0x000001cb +_080408B0: + ldr r0, _080408B8 +_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 map_music_set_to_zero + bl m4aMPlayAllStop + bl sub_8040728 + lsls r0, 16 + lsrs r0, 16 + bl sub_8075474 + 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 map_music_set_to_zero + bl m4aMPlayAllStop + cmp r4, 0 + beq _080408F2 + adds r0, r4, 0 + bl current_map_music_set + b _080408FE +_080408F2: + bl sub_8040728 + lsls r0, 16 + lsrs r0, 16 + bl current_map_music_set +_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 + ldr r0, [r0] + b _08040984 + .align 2, 0 +_08040954: .4byte gMonPaletteTable +_08040958: + lsrs r0, r1, 16 + ldr r2, _08040974 + 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 + lsls r1, r4, 3 + b _08040980 + .align 2, 0 +_08040974: .4byte 0x0000ffff +_08040978: .4byte gMonPaletteTable +_0804097C: + ldr r0, _0804098C + 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 + 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 + b _080409F4 + .align 2, 0 +_080409E8: .4byte 0x0000ffff +_080409EC: .4byte gMonPaletteTable +_080409F0: + lsls r0, r4, 3 + ldr r1, _080409FC +_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 + ldrh r0, [r2] + ldr r1, _08040A28 + 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 + 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 + 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 + 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 + 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 GetMonBoxData + cmp r0, 0 + beq _08040B7C + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0 + bl GetMonBoxData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x15 + movs r2, 0 + bl GetMonBoxData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r2, r6, 24 + lsrs r2, 24 + adds r0, r4, 0 + bl CalcPPWithPPUps + mov r1, sp + strb r0, [r1] + adds r1, r6, 0 + adds r1, 0x11 + adds r0, r5, 0 + mov r2, sp + bl SetMonBoxData +_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 + ldr r2, _08040BD0 + ldr r3, _08040BD4 + adds r0, r2, r3 + ldrb r0, [r0] + strb r0, [r1] + ldr r5, _08040BD8 + movs r0, 0xFD + strb r0, [r5] + movs r0, 0x4 + strb r0, [r5, 0x1] + ldr r0, _08040BDC + 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 + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrb r0, [r0] + bl pokemon_order_func + b _08040BEE + .align 2, 0 +_08040BCC: .4byte 0x02024c06 +_08040BD0: .4byte 0x02000000 +_08040BD4: .4byte 0x000160c0 +_08040BD8: .4byte 0x030041c0 +_08040BDC: .4byte 0x00016054 +_08040BE0: .4byte 0x02024a6a +_08040BE4: + ldr r0, _08040C24 + ldrb r1, [r4] + lsls r1, 1 + adds r1, r0 + ldrh r0, [r1] +_08040BEE: + strb r0, [r5, 0x3] + ldr r4, _08040C28 + movs r0, 0xFD + strb r0, [r4] + movs r0, 0x4 + strb r0, [r4, 0x1] + ldr r1, _08040C2C + ldrb r0, [r1] + strb r0, [r4, 0x2] + ldr r2, _08040C24 + 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 + ldr r1, _08040C34 + bl sub_8120FFC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08040C24: .4byte 0x02024a6a +_08040C28: .4byte 0x03004290 +_08040C2C: .4byte 0x02024e6c +_08040C30: .4byte gUnknown_083FFCCA +_08040C34: .4byte 0x020234cc + thumb_func_end sub_8040B8C + + thumb_func_start sub_8040C38 +sub_8040C38: @ 8040C38 + push {r4,r5,lr} + ldr r0, _08040C90 + ldrh r1, [r0] + ldr r0, _08040C94 + 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 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + ldr r2, _08040C9C + 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 0x020239f8 +_08040C94: .4byte 0x00002008 +_08040C98: .4byte 0x030045c0 +_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 + 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 + 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 0x03002970 + 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 + adds r1, r0 + b _08040D70 + .align 2, 0 +_08040D64: .4byte gSpeciesNames +_08040D68: + ldr r1, _08040D88 + 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 + + thumb_func_start sine +sine: @ 8040DEC + lsls r1, 16 + asrs r1, 16 + ldr r2, _08040E04 + lsls r0, 16 + asrs r0, 15 + adds r0, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + muls r0, r1 + lsls r0, 8 + asrs r0, 16 + bx lr + .align 2, 0 +_08040E04: .4byte gSineTable + thumb_func_end sine + + thumb_func_start cosine +cosine: @ 8040E08 + lsls r1, 16 + asrs r1, 16 + ldr r2, _08040E24 + lsls r0, 16 + asrs r0, 15 + adds r0, 0x80 + adds r0, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + muls r0, r1 + lsls r0, 8 + asrs r0, 16 + bx lr + .align 2, 0 +_08040E24: .4byte gSineTable + thumb_func_end cosine + + thumb_func_start sine2 +sine2: @ 8040E28 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r5, 0 + movs r1, 0xB4 + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0xB4 + bl __udivsi3 + movs r1, 0x1 + ands r0, r1 + ldr r1, _08040E5C + lsls r4, 1 + adds r4, r1 + ldrh r1, [r4] + cmp r0, 0 + bne _08040E60 + lsls r0, r1, 16 + b _08040E64 + .align 2, 0 +_08040E5C: .4byte gSineDegreeTable +_08040E60: + lsls r0, r1, 16 + negs r0, r0 +_08040E64: + asrs r0, 16 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sine2 + + thumb_func_start cosine2 +cosine2: @ 8040E6C + push {lr} + lsls r0, 16 + movs r1, 0xB4 + lsls r1, 15 + adds r0, r1 + lsrs r0, 16 + bl sine2 + lsls r0, 16 + asrs r0, 16 + pop {r1} + bx r1 + thumb_func_end cosine2 diff --git a/asm/rom_8040EB4.s b/asm/rom_8040EB4.s index 43a72f84f..b38c91c96 100644 --- a/asm/rom_8040EB4.s +++ b/asm/rom_8040EB4.s @@ -566,7 +566,7 @@ pokemon_get_nick: @ 80412B0 adds r4, r1, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData adds r0, r4, 0 mov r1, sp bl StringCopy10 @@ -583,7 +583,7 @@ pokemon_get_nick_: @ 80412D0 adds r4, r1, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetEncryptedField + bl GetMonBoxData adds r0, r4, 0 mov r1, sp bl StringCopy10 @@ -605,7 +605,7 @@ _080412F8: lsls r0, 4 adds r0, r6, r0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _08041310 adds r0, r5, 0x1 @@ -646,7 +646,7 @@ _0804133E: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _0804136E adds r0, r7, 0x1 @@ -654,7 +654,7 @@ _0804133E: lsrs r7, r0, 24 adds r0, r4, 0 movs r1, 0xC - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 cmp r1, 0 bne _0804136E @@ -694,7 +694,7 @@ _0804139A: lsls r0, 4 adds r0, r5, r0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _080413B2 lsls r0, r4, 24 @@ -754,7 +754,7 @@ sub_80413C8: @ 80413C8 bl pokemon_get_nick adds r0, r7, 0 movs r1, 0x40 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 add r4, r8 @@ -837,12 +837,12 @@ sub_80414C0: @ 80414C0 adds r4, 0x50 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _08041516 adds r0, r5, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData adds r6, r0, 0 cmp r6, 0 bne _08041516 @@ -851,7 +851,7 @@ sub_80414C0: @ 80414C0 movs r2, 0x50 bl memcpy adds r0, r4, 0 - bl zero_pokemon_boxed_data + bl ZeroPokemonBoxData adds r0, r5, 0 adds r0, 0xA0 adds r4, 0x88 @@ -938,7 +938,7 @@ sub_8041570: @ 8041570 bl pokemon_get_nick_ adds r0, r6, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r0, 16 mov r9, r0 @@ -947,12 +947,12 @@ sub_8041570: @ 8041570 bl sub_803B4B4 mov r0, sp movs r1, 0x38 - bl PokemonGetField + bl GetMonData cmp r0, 0x64 beq _080415D8 mov r0, sp movs r1, 0x19 - bl PokemonGetField + bl GetMonData movs r2, 0x88 lsls r2, 1 adds r1, r5, r2 @@ -963,7 +963,7 @@ sub_8041570: @ 8041570 add r2, sp, 0x64 mov r0, sp movs r1, 0x19 - bl pokemon_setattr + bl SetMonData mov r0, sp bl sub_804151C _080415D8: @@ -995,7 +995,7 @@ _080415D8: _08041610: bl party_compaction adds r0, r6, 0 - bl zero_pokemon_boxed_data + bl ZeroPokemonBoxData movs r2, 0x88 lsls r2, 1 adds r0, r5, r2 @@ -1046,13 +1046,13 @@ sub_8041664: @ 8041664 bl memcpy adds r0, r4, 0 movs r1, 0x19 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r0, r5 str r0, [sp, 0x50] add r2, sp, 0x50 mov r0, sp movs r1, 0x19 - bl PokemonSetEncryptedField + bl SetMonBoxData mov r0, sp bl sub_803B570 lsls r0, 24 @@ -1218,7 +1218,7 @@ sub_80417B8: @ 80417B8 ldr r4, _080417DC adds r0, r4 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 bne _080417E0 movs r0, 0 @@ -1276,7 +1276,7 @@ _0804182A: adds r0, r4, r5 lsls r0, 4 adds r0, r6, r0 - bl zero_pokemon_boxed_data + bl ZeroPokemonBoxData movs r1, 0x88 lsls r1, 1 adds r0, r6, r1 @@ -1574,12 +1574,12 @@ _08041A4C: lsls r0, 4 add r0, r8 movs r1, 0x27 - bl PokemonGetEncryptedField + bl GetMonBoxData add r2, sp, 0x10 strb r0, [r2] mov r0, r9 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData b _08041B02 _08041A6C: add r4, sp, 0x10 @@ -1590,7 +1590,7 @@ _08041A6C: lsls r0, 4 add r0, r8 movs r1, 0x28 - bl PokemonGetEncryptedField + bl GetMonBoxData strb r0, [r4] mov r0, r9 movs r1, 0x28 @@ -1604,7 +1604,7 @@ _08041A88: lsls r0, 4 add r0, r8 movs r1, 0x29 - bl PokemonGetEncryptedField + bl GetMonBoxData strb r0, [r4] mov r0, r9 movs r1, 0x29 @@ -1618,7 +1618,7 @@ _08041AA4: lsls r0, 4 add r0, r8 movs r1, 0x2A - bl PokemonGetEncryptedField + bl GetMonBoxData strb r0, [r4] mov r0, r9 movs r1, 0x2A @@ -1632,13 +1632,13 @@ _08041AC0: lsls r0, 4 add r0, r8 movs r1, 0x2B - bl PokemonGetEncryptedField + bl GetMonBoxData strb r0, [r4] mov r0, r9 movs r1, 0x2B _08041ADA: adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData b _08041B02 _08041AE2: add r4, sp, 0x10 @@ -1649,12 +1649,12 @@ _08041AE2: lsls r0, 4 add r0, r8 movs r1, 0x2C - bl PokemonGetEncryptedField + bl GetMonBoxData strb r0, [r4] mov r0, r9 movs r1, 0x2C adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData _08041B02: adds r0, r5, 0x1 lsls r0, 24 @@ -1679,7 +1679,7 @@ pokemon_get_eggmoves: @ 8041B1C movs r6, 0 movs r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r3, r0, 16 movs r2, 0 @@ -1815,7 +1815,7 @@ _08041C18: bls _08041C18 adds r0, r7, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 ldr r1, _08041CD8 @@ -1831,14 +1831,14 @@ _08041C46: adds r5, 0xD mov r0, r10 adds r1, r5, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r4, r6, 1 mov r2, r8 adds r1, r4, r2 strh r0, [r1] mov r0, r9 adds r1, r5, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData ldr r1, _08041CC8 adds r4, r1 strh r0, [r4] @@ -2140,13 +2140,13 @@ incense_effects: @ 8041E8C _08041EA4: adds r0, r5, 0 movs r1, 0xC - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r6, r0, 16 adds r0, r5, 0 adds r0, 0x50 movs r1, 0xC - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r2, r0, 16 ldrh r0, [r4] @@ -2194,7 +2194,7 @@ _08041EFC: adds r5, r1, r0 adds r0, r5, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r1, r4, 1 add r1, sp strh r0, [r1] @@ -2328,7 +2328,7 @@ sub_8041FC4: @ 8041FC4 strb r0, [r2] mov r0, sp movs r1, 0x2D - bl pokemon_setattr + bl SetMonData ldr r0, _08042040 movs r1, 0xFA lsls r1, 1 @@ -2387,11 +2387,11 @@ sub_8042044: @ 8042044 adds r0, r7, 0 movs r1, 0x26 add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData ldr r2, _080420F4 adds r0, r7, 0 movs r1, 0x2 - bl pokemon_setattr + bl SetMonData lsls r2, r5, 3 subs r2, r5 lsls r2, 2 @@ -2399,15 +2399,15 @@ sub_8042044: @ 8042044 adds r2, r0 adds r0, r7, 0 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData adds r0, r7, 0 movs r1, 0x24 mov r2, r8 - bl pokemon_setattr + bl SetMonData adds r0, r7, 0 movs r1, 0x3 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData cmp r6, 0 beq _080420D6 add r2, sp, 0x14 @@ -2415,7 +2415,7 @@ sub_8042044: @ 8042044 strb r0, [r2] adds r0, r7, 0 movs r1, 0x23 - bl pokemon_setattr + bl SetMonData _080420D6: mov r2, sp adds r2, 0x15 @@ -2423,7 +2423,7 @@ _080420D6: strb r0, [r2] adds r0, r7, 0 movs r1, 0x2D - bl pokemon_setattr + bl SetMonData add sp, 0x18 pop {r3,r4} mov r8, r3 @@ -2481,11 +2481,11 @@ sub_80420FC: @ 80420FC adds r0, r6, 0 movs r1, 0x26 add r2, sp, 0x10 - bl pokemon_setattr + bl SetMonData ldr r2, _08042198 adds r0, r6, 0 movs r1, 0x2 - bl pokemon_setattr + bl SetMonData lsls r2, r5, 3 subs r2, r5 lsls r2, 2 @@ -2493,15 +2493,15 @@ sub_80420FC: @ 80420FC adds r2, r0 adds r0, r6, 0 movs r1, 0x20 - bl pokemon_setattr + bl SetMonData adds r0, r6, 0 movs r1, 0x24 mov r2, r9 - bl pokemon_setattr + bl SetMonData adds r0, r6, 0 movs r1, 0x3 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData add sp, 0x14 pop {r3,r4} mov r8, r3 @@ -2538,7 +2538,7 @@ _080421BC: adds r0, r5, 0 movs r1, 0x5 str r2, [sp, 0x4] - bl PokemonGetEncryptedField + bl GetMonBoxData ldr r2, [sp, 0x4] cmp r0, 0 beq _080421DE @@ -2606,12 +2606,12 @@ _08042244: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _08042286 adds r0, r4, 0 movs r1, 0x20 - bl PokemonGetField + bl GetMonData str r0, [sp] cmp r0, 0 bne _08042278 @@ -2628,7 +2628,7 @@ _08042278: adds r0, r4, 0 movs r1, 0x20 mov r2, sp - bl pokemon_setattr + bl SetMonData _08042286: adds r6, 0x1 _08042288: @@ -2677,7 +2677,7 @@ sub_80422C4: @ 80422C4 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _080422FC ldr r1, _0804231C @@ -2685,7 +2685,7 @@ sub_80422C4: @ 80422C4 bl pokemon_get_nick_ adds r0, r6, 0 movs r1, 0x3 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -2693,7 +2693,7 @@ sub_80422C4: @ 80422C4 adds r0, r6, 0 movs r1, 0x7 adds r2, r5, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r0, r5, 0 adds r1, r4, 0 bl ConvertInternationalString @@ -2702,7 +2702,7 @@ _080422FC: adds r4, 0x50 adds r0, r4, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData cmp r0, 0 beq _08042314 ldr r1, _08042324 @@ -2733,7 +2733,7 @@ sub_8042328: @ 8042328 muls r0, r5 adds r0, r4 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData lsls r0, 16 lsrs r0, 16 pop {r4-r6} @@ -2852,17 +2852,17 @@ daycare_relationship_score: @ 80423D8 _0804240E: adds r0, r4, 0 movs r1, 0xB - bl PokemonGetEncryptedField + bl GetMonBoxData strh r0, [r5] adds r0, r4, 0 movs r1, 0x1 - bl PokemonGetEncryptedField + bl GetMonBoxData ldr r1, [sp, 0x28] stm r1!, {r0} str r1, [sp, 0x28] adds r0, r4, 0 movs r1, 0 - bl PokemonGetEncryptedField + bl GetMonBoxData adds r1, r0, 0 ldrh r0, [r5] bl pokemon_species_get_gender_info @@ -3355,7 +3355,7 @@ _0804279C: movs r1, 0x6 movs r2, 0x1D movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect bl script_env_2_enable_and_set_ctx_running b _08042816 .align 2, 0 @@ -3380,7 +3380,7 @@ _080427E8: movs r1, 0x6 movs r2, 0x1D movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect bl script_env_2_enable_and_set_ctx_running _08042816: pop {r4,r5} @@ -3399,7 +3399,7 @@ sub_8042824: @ 8042824 movs r1, 0x6 movs r2, 0x1D movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r4, _08042880 adds r0, r4, 0 add r1, sp, 0x8 @@ -3407,7 +3407,7 @@ sub_8042824: @ 8042824 add r0, sp, 0x8 movs r1, 0x10 movs r2, 0x7 - bl Print + bl MenuPrint adds r0, r4, 0 add r1, sp, 0x8 bl sub_80426B0 @@ -3464,7 +3464,7 @@ sub_80428A4: @ 80428A4 adds r6, r0, 0 adds r5, r1, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 mov r10, r0 @@ -3487,7 +3487,7 @@ _080428DE: adds r1, r4, 0 adds r1, 0xD adds r0, r6, 0 - bl PokemonGetField + bl GetMonData lsls r1, r4, 1 add r1, sp adds r1, 0x10 @@ -3499,14 +3499,14 @@ _080428DE: bls _080428DE adds r0, r6, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r8, r0 movs r4, 0 _08042906: adds r1, r4, 0 adds r1, 0x27 adds r0, r6, 0 - bl PokemonGetField + bl GetMonData lsls r1, r4, 2 adds r1, r7, r1 str r0, [r1] @@ -3517,17 +3517,17 @@ _08042906: bls _08042906 adds r0, r6, 0 movs r1, 0x25 - bl PokemonGetField + bl GetMonData ldr r1, [sp, 0x38] strb r0, [r1] adds r0, r6, 0 movs r1, 0x8 - bl PokemonGetField + bl GetMonData ldr r1, [sp, 0x3C] strb r0, [r1] adds r0, r6, 0 movs r1, 0x22 - bl PokemonGetField + bl GetMonData str r0, [sp, 0x34] movs r0, 0x1 str r0, [sp] @@ -3550,7 +3550,7 @@ _0804295E: adds r2, r0 adds r2, 0x10 adds r0, r5, 0 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -3563,7 +3563,7 @@ _0804297C: lsls r2, r4, 2 adds r2, r7, r2 adds r0, r5, 0 - bl pokemon_setattr + bl SetMonData adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -3575,26 +3575,26 @@ _0804297C: adds r0, r5, 0 movs r1, 0x3 mov r2, r9 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0x25 ldr r2, [sp, 0x38] - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0x8 ldr r2, [sp, 0x3C] - bl pokemon_setattr + bl SetMonData movs r0, 0x78 ldr r1, [sp, 0x40] strb r0, [r1] adds r0, r5, 0 movs r1, 0x20 ldr r2, [sp, 0x40] - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0x22 ldr r2, [sp, 0x44] - bl pokemon_setattr + bl SetMonData adds r0, r6, 0 adds r1, r5, 0 movs r2, 0x64 @@ -3628,10 +3628,10 @@ sub_80429EC: @ 80429EC strb r6, [r2] adds r0, r5, 0 movs r1, 0x2D - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -3641,7 +3641,7 @@ sub_80429EC: @ 80429EC adds r0, r5, 0 movs r1, 0x2 mov r2, sp - bl pokemon_setattr + bl SetMonData adds r0, r4, 0 bl SpeciesToNationalPokedexNum adds r4, r0, 0 @@ -3662,19 +3662,19 @@ sub_80429EC: @ 80429EC strh r0, [r2] adds r0, r5, 0 movs r1, 0x26 - bl pokemon_setattr + bl SetMonData add r2, sp, 0x10 strh r6, [r2] adds r0, r5, 0 movs r1, 0x24 - bl pokemon_setattr + bl SetMonData bl sav1_map_get_name mov r2, sp adds r2, 0x12 strb r0, [r2] adds r0, r5, 0 movs r1, 0x23 - bl pokemon_setattr + bl SetMonData adds r0, r5, 0 bl sub_8040B1C adds r0, r5, 0 @@ -3829,13 +3829,13 @@ _08042BB0: .4byte 0x03004360 _08042BB4: adds r0, r7, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r7, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r8, r0 lsls r0, r5, 3 ldr r1, _08042C04 @@ -4047,13 +4047,13 @@ _08042D90: adds r1, r5, 0 bl InitWindowFromConfig movs r0, 0x14 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum ldr r1, [r4] adds r1, 0x38 strb r0, [r1] ldr r0, [r4] adds r0, 0x8 - bl sub_8064F08 + bl LoadTextWindowGraphics b _08042F04 .align 2, 0 _08042DBC: .4byte gWindowConfig_81E6F84 @@ -4264,7 +4264,7 @@ sub_8042F88: @ 8042F88 adds r0, r1 ldr r2, _08042FB0 movs r1, 0x2 - bl pokemon_setattr + bl SetMonData ldr r0, _08042FB4 bl SetMainCallback2 pop {r0} @@ -4524,14 +4524,14 @@ _080431B8: movs r1, 0x8 movs r2, 0x1B movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r0, 0x16 movs r1, 0x8 movs r2, 0x4 - bl sub_807292C + bl InitYesNoMenu b _08043298 _080431DA: - bl FillWindowPixelBuffer + bl ProcessMenuInputNoWrap_ lsls r0, 24 lsrs r2, r0, 24 asrs r0, 24 @@ -4569,7 +4569,7 @@ _080431DA: adds r0, r1, 0 adds r0, r6 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 @@ -4593,7 +4593,7 @@ _080431DA: adds r0, r6 movs r1, 0 movs r2, 0 - bl PokemonGetField + bl GetMonData str r0, [sp] ldr r0, _08043284 str r0, [sp, 0x4] @@ -4780,7 +4780,7 @@ sub_80433A0: @ 80433A0 ldr r1, _0804340C adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 ldr r4, _08043410 ldr r3, [r5] @@ -7161,7 +7161,7 @@ _0804460C: ldr r2, _08044690 adds r0, r2 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 asrs r1, 16 @@ -7270,7 +7270,7 @@ _0804470C: ldr r2, _08044788 adds r0, r2 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 asrs r1, 16 @@ -7286,7 +7286,7 @@ _0804470C: _08044766: adds r0, r1 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 asrs r1, 16 @@ -8644,7 +8644,7 @@ sub_80451A0: @ 80451A0 adds r0, r7, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData mov r0, sp bl StringGetEnd10 adds r4, 0x3 @@ -8668,13 +8668,13 @@ sub_80451A0: @ 80451A0 lsrs r6, r0, 24 adds r0, r7, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r7, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -8748,13 +8748,13 @@ _08045256: mov r10, r1 adds r0, r7, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData str r4, [sp, 0xC] cmp r0, 0x1 bne _08045338 adds r0, r7, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _08045338 mov r4, r8 @@ -9005,7 +9005,7 @@ sub_8045458: @ 8045458 ldr r1, _08045500 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl SpeciesToNationalPokedexNum @@ -9109,7 +9109,7 @@ draw_status_ailment_maybe: @ 8045540 ldr r1, _080455AC adds r0, r1 movs r1, 0x37 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 bl battle_type_is_double lsls r0, 24 @@ -9134,7 +9134,7 @@ _080455B0: ldr r1, _080455F0 adds r0, r1 movs r1, 0x37 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 movs r1, 0x11 mov r8, r1 @@ -9374,7 +9374,7 @@ _080457BA: bx r0 .align 2, 0 _080457C8: .4byte 0x02020004 -_080457CC: .4byte gUnknown_08E903F8 +_080457CC: .4byte gBattleInterfaceStatusIcons_DynPal _080457D0: .4byte 0x0202ecc8 _080457D4: .4byte 0x05000200 _080457D8: .4byte 0x06010000 @@ -9719,7 +9719,7 @@ _08045A92: _08045A9A: mov r0, r9 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -9730,7 +9730,7 @@ _08045AAE: bhi _08045AC8 mov r0, r9 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 asrs r1, 16 @@ -9745,7 +9745,7 @@ _08045AC8: _08045AD0: mov r0, r9 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 16 asrs r1, 16 @@ -9762,11 +9762,11 @@ _08045AEE: bl load_gfxc_health_bar mov r0, r9 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r4, r0, 0 mov r0, r9 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 movs r0, 0 str r0, [sp] @@ -9795,19 +9795,19 @@ _08045B38: bl load_gfxc_health_bar mov r0, r9 movs r1, 0xB - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 mov r0, r9 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 mov r0, r9 movs r1, 0x19 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 ldr r6, _08045BE8 lsls r1, r4, 2 @@ -9884,7 +9884,7 @@ _08045BF0: _08045BF8: mov r0, r9 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -9900,11 +9900,11 @@ _08045C14: bl load_gfxc_health_bar mov r0, r9 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r4, r0, 0 mov r0, r9 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r3, r0, 0 movs r0, 0 str r0, [sp] @@ -10209,7 +10209,7 @@ _08045E54: ldr r1, _08045EF8 adds r0, r1 movs r1, 0x38 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r0, 24 adds r1, r5, 0 @@ -11047,7 +11047,7 @@ _080464C8: _080464D6: adds r0, r1 movs r1, 0x26 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl ball_number_to_ball_processing_index @@ -12090,7 +12090,7 @@ _08046D20: mov r8, r1 _08046D34: movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r7, r0, 16 movs r0, 0 @@ -12818,8 +12818,8 @@ sub_80472D8: @ 80472D8 bx r1 thumb_func_end sub_80472D8 - thumb_func_start AddTextPrinterForMessage -AddTextPrinterForMessage: @ 80472F0 + thumb_func_start CreatePokeballSprite +CreatePokeballSprite: @ 80472F0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -12924,7 +12924,7 @@ _080473C0: .4byte gUnknown_0820A98C _080473C4: .4byte gSpriteTemplate_820AAB4 _080473C8: .4byte 0x02020004 _080473CC: .4byte sub_80473D0 - thumb_func_end AddTextPrinterForMessage + thumb_func_end CreatePokeballSprite thumb_func_start sub_80473D0 sub_80473D0: @ 80473D0 @@ -13705,7 +13705,7 @@ _080479A4: _080479B2: adds r0, r1 movs r1, 0x26 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 pop {r4} @@ -14321,10 +14321,10 @@ _08047DEE: bx r0 .align 2, 0 _08047E30: .4byte gSaveBlock2 -_08047E34: .4byte gUnknown_0820C2E6 +_08047E34: .4byte gTradeUnknownSpriteCoords _08047E38: .4byte gSpriteTemplate_820C0EC _08047E3C: .4byte 0x03002978 -_08047E40: .4byte gUnknown_0820C2E9 +_08047E40: .4byte gTradeUnknownSpriteCoords + 0x3 thumb_func_end sub_8047D58 thumb_func_start sub_8047E44 @@ -14455,7 +14455,7 @@ _08047F48: ldr r0, _08048024 bl SetVBlankCallback ldr r0, _08048028 - bl sub_8071C4C + bl InitMenuWindow ldr r4, _0804802C adds r0, r4, 0 bl SetUpWindowConfig @@ -14464,15 +14464,15 @@ _08047F48: adds r1, r4, 0 bl InitWindowFromConfig movs r0, 0x14 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum ldr r1, [r5] adds r1, 0x7A movs r4, 0 strb r0, [r1] ldr r0, [r5] adds r0, 0x4 - bl sub_8064F08 - bl sub_8071EF4 + bl LoadTextWindowGraphics + bl MenuZeroFillScreen bl sub_809D51C ldr r0, [r5] adds r0, 0x75 @@ -14726,13 +14726,13 @@ _080481BA: adds r4, r0 adds r0, r4, 0 movs r1, 0x41 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldrb r2, [r7] lsls r2, 19 movs r1, 0xE0 @@ -14783,13 +14783,13 @@ _0804822C: adds r0, r4, 0 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldrb r2, [r7] lsls r2, 19 movs r3, 0xE0 @@ -14828,7 +14828,7 @@ _0804828A: _08048294: .4byte 0x03004824 _08048298: .4byte 0x03004350 _0804829C: .4byte 0x030045b8 -_080482A0: .4byte gUnknown_0820C29C +_080482A0: .4byte gTradeMonSpriteCoords _080482A4: .4byte 0x03004360 _080482A8: .4byte 0xfff40000 _080482AC: .4byte sub_809D62C @@ -14944,7 +14944,7 @@ _08048360: b _080484C6 .align 2, 0 _080483A4: .4byte gSpriteTemplate_820C134 -_080483A8: .4byte gUnknown_0820C29C +_080483A8: .4byte gTradeMonSpriteCoords _080483AC: .4byte 0x03004824 _080483B0: .4byte 0x03001770 _080483B4: .4byte 0x0000043c @@ -15150,7 +15150,7 @@ _0804857C: ldr r0, _0804863C bl SetVBlankCallback ldr r0, _08048640 - bl sub_8071C4C + bl InitMenuWindow ldr r4, _08048644 adds r0, r4, 0 bl SetUpWindowConfig @@ -15159,15 +15159,15 @@ _0804857C: adds r1, r4, 0 bl InitWindowFromConfig movs r0, 0x14 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum ldr r1, [r5] adds r1, 0x7A movs r4, 0 strb r0, [r1] ldr r0, [r5] adds r0, 0x4 - bl sub_8064F08 - bl sub_8071EF4 + bl LoadTextWindowGraphics + bl MenuZeroFillScreen bl sub_809D51C ldr r0, [r5] adds r0, 0x75 @@ -15298,13 +15298,13 @@ _080486DE: adds r0, r4, 0 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldrb r2, [r7] lsls r2, 19 movs r1, 0xE0 @@ -15355,13 +15355,13 @@ _08048752: adds r0, r4, 0 movs r1, 0x41 movs r2, 0 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 adds r0, r4, 0 movs r1, 0 - bl PokemonGetField + bl GetMonData ldrb r2, [r7] lsls r2, 19 movs r3, 0xE0 @@ -15403,7 +15403,7 @@ _080487B0: _080487C0: .4byte 0x03004824 _080487C4: .4byte 0x03004350 _080487C8: .4byte 0x030045b8 -_080487CC: .4byte gUnknown_0820C29C +_080487CC: .4byte gTradeMonSpriteCoords _080487D0: .4byte 0x03004360 _080487D4: .4byte 0xfff40000 _080487D8: .4byte sub_809D62C @@ -15542,7 +15542,7 @@ _080488B8: b _080489CA .align 2, 0 _08048900: .4byte gSpriteTemplate_820C134 -_08048904: .4byte gUnknown_0820C29C +_08048904: .4byte gTradeMonSpriteCoords _08048908: .4byte 0x03004824 _0804890C: .4byte 0x03001770 _08048910: .4byte 0x0000043c @@ -16408,7 +16408,7 @@ _08049018: _0804901E: adds r0, r4, 0 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -16417,13 +16417,13 @@ _0804901E: bne _0804905E adds r0, r4, 0 movs r1, 0x3 - bl PokemonGetField + bl GetMonData cmp r0, 0x1 beq _0804905E adds r0, r4, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData mov r0, sp ldr r1, _08049074 bl StringCompareWithoutExtCtrlCodes @@ -16432,7 +16432,7 @@ _0804901E: adds r0, r4, 0 movs r1, 0x2 ldr r2, _08049078 - bl pokemon_setattr + bl SetMonData _0804905E: adds r4, 0x64 subs r5, 0x1 @@ -17069,7 +17069,7 @@ _0804953A: b _08049558 .align 2, 0 _08049548: .4byte 0x03004824 -_0804954C: .4byte gUnknown_0820C164 +_0804954C: .4byte gTradeNextSelectedMonTable _08049550: adds r2, 0x1 adds r5, 0x1 @@ -17175,7 +17175,7 @@ _0804960C: .align 2, 0 _08049614: .4byte 0x03004824 _08049618: .4byte 0x02020004 -_0804961C: .4byte gUnknown_0820C29C +_0804961C: .4byte gTradeMonSpriteCoords thumb_func_end sub_8049560 thumb_func_start sub_8049620 @@ -17302,12 +17302,12 @@ _080496F4: movs r1, 0x12 movs r2, 0xE movs r3, 0x1C - bl AddTextPrinterParametrized + bl DrawTextWindow ldr r3, _08049758 movs r0, 0x13 movs r1, 0xF movs r2, 0x2 - bl PrintStringArray + bl PrintMenuItems movs r0, 0 str r0, [sp] movs r0, 0x9 @@ -17350,11 +17350,11 @@ _0804977A: movs r1, 0x18 movs r2, 0xE movs r3, 0x1D - bl AddTextPrinterParametrized + bl DrawTextWindow movs r0, 0x18 movs r1, 0xE movs r2, 0x4 - bl sub_807292C + bl InitYesNoMenu ldr r0, [r4] adds r0, 0x7B movs r1, 0x4 @@ -18054,11 +18054,11 @@ DisplayMessageAndContinueTask: @ 8049CF0 movs r1, 0x18 movs r2, 0xE movs r3, 0x1D - bl AddTextPrinterParametrized + bl DrawTextWindow movs r0, 0x18 movs r1, 0xE movs r2, 0x4 - bl sub_807292C + bl InitYesNoMenu ldr r0, [r4] adds r0, 0xB4 movs r1, 0 @@ -18503,7 +18503,7 @@ _0804A08C: b _0804A294 .align 2, 0 _0804A094: .4byte 0x02020004 -_0804A098: .4byte gUnknown_0820C29C +_0804A098: .4byte gTradeMonSpriteCoords _0804A09C: .4byte 0x03004824 _0804A0A0: .4byte sub_809D62C _0804A0A4: .4byte gUnknown_0820C330 @@ -18697,7 +18697,7 @@ _0804A0E4: _0804A228: .4byte gTradeMovesBoxTilemap _0804A22C: .4byte 0x03004824 _0804A230: .4byte 0x02020004 -_0804A234: .4byte gUnknown_0820C29C +_0804A234: .4byte gTradeMonSpriteCoords _0804A238: .4byte gUnknown_0820C334 _0804A23C: .4byte gUnknown_0820C334 + 0x1 _0804A240: .4byte gUnknown_0842C7CA @@ -18775,7 +18775,7 @@ sub_804A2B4: @ 804A2B4 adds r0, r4, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData adds r0, r5, 0 mov r1, sp bl StringCopy10 @@ -18783,7 +18783,7 @@ sub_804A2B4: @ 804A2B4 bl pokemon_get_gender adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData b _0804A31E .align 2, 0 _0804A2F0: .4byte 0x03004360 @@ -18796,7 +18796,7 @@ _0804A2F4: adds r0, r4, 0 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData adds r0, r5, 0 mov r1, sp bl StringCopy10 @@ -18804,7 +18804,7 @@ _0804A2F4: bl pokemon_get_gender adds r0, r4, 0 movs r1, 0x38 - bl PokemonGetField + bl GetMonData _0804A31E: ldr r0, _0804A338 adds r1, r5, 0 @@ -18869,7 +18869,7 @@ _0804A390: _0804A396: adds r0, r5, r2 movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r1, r4, 1 add r1, sp strh r0, [r1] @@ -18977,7 +18977,7 @@ _0804A462: b _0804A484 .align 2, 0 _0804A470: .4byte 0x03004824 -_0804A474: .4byte gUnknown_0820C29C +_0804A474: .4byte gTradeMonSpriteCoords _0804A478: .4byte 0x03004360 _0804A47C: movs r0, 0x64 @@ -18989,7 +18989,7 @@ _0804A484: adds r0, r4, 0 movs r1, 0x2 add r2, sp, 0x4 - bl PokemonGetField + bl GetMonData mov r0, sp adds r0, 0x22 add r1, sp, 0x4 @@ -19108,7 +19108,7 @@ sub_804A51C: @ 804A51C adds r0, r4, 0 movs r1, 0x38 movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r6, r0, 24 adds r0, r4, 0 @@ -19118,11 +19118,11 @@ sub_804A51C: @ 804A51C adds r0, r4, 0 movs r1, 0x2 add r2, sp, 0xC - bl PokemonGetField + bl GetMonData b _0804A5D4 .align 2, 0 _0804A59C: .4byte 0x03004824 -_0804A5A0: .4byte gUnknown_08EA1DC8 +_0804A5A0: .4byte gTradeMonBoxTilemap _0804A5A4: .4byte 0x03004360 _0804A5A8: movs r0, 0x64 @@ -19133,7 +19133,7 @@ _0804A5A8: adds r0, r4, 0 movs r1, 0x38 movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 24 lsrs r6, r0, 24 adds r0, r4, 0 @@ -19143,7 +19143,7 @@ _0804A5A8: adds r0, r4, 0 movs r1, 0x2 add r2, sp, 0xC - bl PokemonGetField + bl GetMonData _0804A5D4: ldr r1, _0804A660 ldr r5, [r1] @@ -19326,8 +19326,8 @@ _0804A72C: bx r0 .align 2, 0 _0804A734: .4byte 0x03004824 -_0804A738: .4byte gUnknown_0820C2B6 -_0804A73C: .4byte gUnknown_0820C2CE +_0804A738: .4byte gTradeLevelDisplayCoords +_0804A73C: .4byte gTradeMonBoxCoords thumb_func_end sub_804A6DC thumb_func_start sub_804A740 @@ -19433,7 +19433,7 @@ _0804A7F2: .align 2, 0 _0804A800: .4byte 0x03004824 _0804A804: .4byte 0x02020004 -_0804A808: .4byte gUnknown_0820C29C +_0804A808: .4byte gTradeMonSpriteCoords thumb_func_end sub_804A740 thumb_func_start sub_804A80C @@ -19686,7 +19686,7 @@ _0804A9DE: thumb_func_start sub_804A9F4 sub_804A9F4: @ 804A9F4 push {lr} - bl sub_8071EF4 + bl MenuZeroFillScreen pop {r0} bx r0 thumb_func_end sub_804A9F4 @@ -19694,7 +19694,7 @@ sub_804A9F4: @ 804A9F4 thumb_func_start sub_804AA00 sub_804AA00: @ 804AA00 push {lr} - bl sub_8071EF4 + bl MenuZeroFillScreen pop {r0} bx r0 thumb_func_end sub_804AA00 @@ -19727,7 +19727,7 @@ sub_804AA0C: @ 804AA0C str r1, [sp] adds r1, r6, 0 adds r2, r5, 0 - bl AddTextPrinterParametrized + bl DrawTextWindow mov r1, r8 ldr r3, [r1] adds r0, r3, 0x4 @@ -19757,7 +19757,7 @@ sub_804AA0C: @ 804AA0C bx r0 .align 2, 0 _0804AA7C: .4byte 0x03004824 -_0804AA80: .4byte gUnknown_0820C308 +_0804AA80: .4byte gTradeMessageWindowRects _0804AA84: .4byte gUnknown_0820C2F0 thumb_func_end sub_804AA0C @@ -20106,7 +20106,7 @@ _0804AD22: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r1, 0x1 bne _0804AD54 @@ -20125,7 +20125,7 @@ _0804AD50: .4byte 0x03004360 _0804AD54: adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r1, 0 bne _0804AD72 @@ -20181,7 +20181,7 @@ _0804ADB6: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r1, 0x1 bne _0804ADE8 @@ -20200,7 +20200,7 @@ _0804ADE4: .4byte 0x030045c0 _0804ADE8: adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData adds r1, r0, 0 cmp r1, 0 bne _0804AE06 @@ -20271,12 +20271,12 @@ _0804AE5C: adds r4, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r0, r5, 16 asrs r0, 16 @@ -20316,12 +20316,12 @@ _0804AEBC: adds r4, r0 adds r0, r4, 0 movs r1, 0x39 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r5, r0, 16 adds r0, r4, 0 movs r1, 0x3A - bl PokemonGetField + bl GetMonData adds r1, r0, 0 lsls r0, r5, 16 asrs r0, 16 @@ -20575,7 +20575,7 @@ _0804B0B2: pop {r0} bx r0 .align 2, 0 -_0804B0B8: .4byte gUnknown_08215A98 +_0804B0B8: .4byte gTradeGlow2PaletteAnimTable thumb_func_end sub_804B07C thumb_func_start sub_804B0BC @@ -20921,13 +20921,13 @@ _0804B32C: .4byte 0x030045c0 _0804B330: mov r0, r10 movs r1, 0x41 - bl PokemonGetField + bl GetMonData adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 mov r0, r10 movs r1, 0 - bl PokemonGetField + bl GetMonData mov r9, r0 lsls r0, r5, 3 ldr r1, _0804B390 @@ -21085,14 +21085,14 @@ _0804B47C: adds r1, r4, 0 bl InitWindowFromConfig movs r0, 0x2 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum ldr r1, [r6] adds r1, 0x34 strb r0, [r1] ldr r0, [r6] adds r0, 0x4 - bl sub_8064F08 - bl sub_8071EF4 + bl LoadTextWindowGraphics + bl MenuZeroFillScreen ldr r1, _0804B580 ldr r4, _0804B584 adds r0, r4, 0 @@ -21460,7 +21460,7 @@ _0804B7F4: ldr r0, _0804B8F0 movs r1, 0x7 add r2, sp, 0x4 - bl PokemonGetField + bl GetMonData adds r4, 0x1C adds r0, r4, 0 add r1, sp, 0x4 @@ -21487,14 +21487,14 @@ _0804B7F4: adds r1, r4, 0 bl InitWindowFromConfig movs r0, 0x2 - bl sub_8064EF4 + bl SetTextWindowBaseTileNum ldr r1, [r5] adds r1, 0x34 strb r0, [r1] ldr r0, [r5] adds r0, 0x4 - bl sub_8064F08 - bl sub_8071EF4 + bl LoadTextWindowGraphics + bl MenuZeroFillScreen ldr r1, _0804B904 ldr r2, _0804B908 adds r0, r2, 0 @@ -21690,13 +21690,13 @@ sub_804BA18: @ 804BA18 adds r4, r1, r0 adds r0, r4, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0804BA5A adds r0, r4, 0 movs r1, 0xB movs r2, 0 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 bl SpeciesToNationalPokedexNum @@ -21764,7 +21764,7 @@ sub_804BA94: @ 804BA94 adds r7, r1, r0 adds r0, r7, 0 movs r1, 0x40 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r6, r0, 16 adds r1, r4, 0 @@ -21773,7 +21773,7 @@ sub_804BA94: @ 804BA94 adds r5, r1, r0 adds r0, r5, 0 movs r1, 0x40 - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 mov r8, r0 @@ -21806,13 +21806,13 @@ _0804BAE8: strb r1, [r0] adds r0, r7, 0 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0804BB28 adds r0, r7, 0 movs r1, 0x20 mov r2, sp - bl pokemon_setattr + bl SetMonData _0804BB28: mov r0, r8 cmp r0, 0xFF @@ -22320,7 +22320,7 @@ _0804BF4C: movs r1, 0xF movs r2, 0x1B movs r3, 0x12 - bl Reset + bl MenuZeroFillWindowRect b _0804C0CA .align 2, 0 _0804BF78: .4byte 0x03004828 @@ -22615,7 +22615,7 @@ sub_804C1A8: @ 804C1A8 adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData ldr r0, _0804C230 mov r1, sp bl StringCopy10 @@ -22625,7 +22625,7 @@ sub_804C1A8: @ 804C1A8 adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData ldr r0, _0804C238 mov r1, sp bl StringCopy10 @@ -22662,7 +22662,7 @@ _0804C23C: adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData ldr r0, _0804C298 mov r1, sp bl StringCopy10 @@ -24555,7 +24555,7 @@ _0804D314: str r2, [sp, 0xC] movs r2, 0x78 movs r3, 0x54 - bl AddTextPrinterForMessage + bl CreatePokeballSprite ldr r0, [r6] ldr r5, _0804D3C0 adds r0, r5 @@ -25071,7 +25071,7 @@ _0804D796: pop {r0} bx r0 .align 2, 0 -_0804D7A0: .4byte gUnknown_08215BA0 +_0804D7A0: .4byte gTradeBallVerticalVelocityTable _0804D7A4: .4byte sub_804D7AC _0804D7A8: .4byte 0x0000ffff thumb_func_end sub_804D738 @@ -25123,7 +25123,7 @@ _0804D7FE: pop {r0} bx r0 .align 2, 0 -_0804D804: .4byte gUnknown_08215BA0 +_0804D804: .4byte gTradeBallVerticalVelocityTable _0804D808: .4byte 0x03004828 thumb_func_end sub_804D7AC @@ -25198,7 +25198,7 @@ _0804D88C: pop {r0} bx r0 .align 2, 0 -_0804D894: .4byte gUnknown_08215BA0 +_0804D894: .4byte gTradeBallVerticalVelocityTable _0804D898: .4byte SpriteCallbackDummy thumb_func_end sub_804D80C @@ -25255,7 +25255,7 @@ sub_804D8E4: @ 804D8E4 adds r0, r1 movs r1, 0x2 mov r2, sp - bl PokemonGetField + bl GetMonData ldr r0, _0804D93C mov r1, sp bl StringCopy10 @@ -25298,7 +25298,7 @@ sub_804D948: @ 804D948 ldr r1, _0804DAA8 adds r0, r1 movs r1, 0x38 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -25321,85 +25321,85 @@ sub_804D948: @ 804D948 adds r2, 0xE adds r0, r6, 0 movs r1, 0x27 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0xF adds r0, r6, 0 movs r1, 0x28 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x10 adds r0, r6, 0 movs r1, 0x29 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x11 adds r0, r6, 0 movs r1, 0x2A - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x12 adds r0, r6, 0 movs r1, 0x2B - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x13 adds r0, r6, 0 movs r1, 0x2C - bl pokemon_setattr + bl SetMonData adds r0, r6, 0 movs r1, 0x2 adds r2, r5, 0 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x2B adds r0, r6, 0 movs r1, 0x7 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x36 adds r0, r6, 0 movs r1, 0x31 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x14 adds r0, r6, 0 movs r1, 0x2E - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x1D adds r0, r6, 0 movs r1, 0x17 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x1E adds r0, r6, 0 movs r1, 0x18 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x1C adds r0, r6, 0 movs r1, 0x16 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x1F adds r0, r6, 0 movs r1, 0x21 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x20 adds r0, r6, 0 movs r1, 0x2F - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x37 adds r0, r6, 0 movs r1, 0x30 - bl pokemon_setattr + bl SetMonData adds r0, r6, 0 movs r1, 0x23 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData mov r4, sp adds r4, 0x35 movs r0, 0 @@ -25425,12 +25425,12 @@ sub_804D948: @ 804D948 adds r0, r6, 0 movs r1, 0x40 adds r2, r4, 0 - bl pokemon_setattr + bl SetMonData adds r2, r5, 0 adds r2, 0x28 adds r0, r6, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData b _0804DAC0 .align 2, 0 _0804DAA4: .4byte gIngameTrades @@ -25442,7 +25442,7 @@ _0804DAB4: adds r2, 0x28 adds r0, r6, 0 movs r1, 0xC - bl pokemon_setattr + bl SetMonData _0804DAC0: ldr r0, _0804DAD0 bl pokemon_calc_effective_stats @@ -25511,14 +25511,14 @@ sub_804DB2C: @ 804DB2C ldr r4, _0804DB5C adds r0, r4 movs r1, 0x2D - bl PokemonGetField + bl GetMonData cmp r0, 0 bne _0804DB60 ldrh r0, [r6] muls r0, r5 adds r0, r4 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r0, 16 b _0804DB62 @@ -26230,7 +26230,7 @@ _0804E1E2: adds r0, r1 adds r1, r4, 0 adds r1, 0x43 - bl PokemonGetField + bl GetMonData adds r0, r5, r0 lsls r0, 24 lsrs r5, r0, 24 @@ -26668,7 +26668,7 @@ _0804E5AC: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r3, _0804E610 ldr r2, [r3] ldrb r0, [r2] @@ -26774,11 +26774,11 @@ _0804E6A8: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0804E6CC movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage _0804E6BE: ldr r0, _0804E6D0 ldr r1, [r0] @@ -26790,7 +26790,7 @@ _0804E6BE: _0804E6CC: .4byte gUnknown_0842D307 _0804E6D0: .4byte 0x03004854 _0804E6D4: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _0804E71A @@ -27327,7 +27327,7 @@ _0804EBBC: adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r1, _0804EC68 ldr r2, _0804EC6C adds r0, r2, 0 @@ -27482,11 +27482,11 @@ _0804ED14: movs r1, 0xD movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0804ED40 movs r1, 0x1 movs r2, 0xE - bl Print + bl MenuPrint ldr r2, _0804ED44 ldr r1, [r2] movs r3, 0 @@ -27566,7 +27566,7 @@ _0804EDB8: bgt _0804EDCE b _0804F0CE _0804EDCE: - bl sub_8071EF4 + bl MenuZeroFillScreen bl GetBlockRecievedStatus adds r4, r0, 0 bl sub_8008198 @@ -27911,16 +27911,16 @@ _0804F084: movs r1, 0xD movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0804F09C movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage b _0804F0AA .align 2, 0 _0804F09C: .4byte gUnknown_0842D2D9 _0804F0A0: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _0804F0CE @@ -27976,7 +27976,7 @@ sub_804F0F4: @ 804F0F4 adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r1, _0804F160 ldr r2, _0804F164 adds r0, r2, 0 @@ -31066,7 +31066,7 @@ sub_80508FC: @ 80508FC movs r1, 0x8 movs r2, 0x1C movs r3, 0xD - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r1, _08050948 ldr r3, _0805094C movs r0, 0x20 @@ -31077,7 +31077,7 @@ sub_80508FC: @ 80508FC ldr r0, _08050950 movs r1, 0x18 movs r2, 0x9 - bl Print + bl MenuPrint ldr r0, [r4] adds r0, 0xAA ldrb r0, [r0] @@ -31307,17 +31307,17 @@ _08050B08: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08050B30 movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage b _08050CB6 .align 2, 0 _08050B2C: .4byte 0x03004854 _08050B30: .4byte gUnknown_0842D3B5 _08050B34: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08050B40 @@ -31481,7 +31481,7 @@ _08050C78: ldr r0, _08050C90 movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage _08050C82: ldr r0, _08050C94 ldr r1, [r0] @@ -31496,7 +31496,7 @@ _08050C88: _08050C90: .4byte gUnknown_0842D3A5 _08050C94: .4byte 0x03004854 _08050C98: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _08050CB6 @@ -31779,7 +31779,7 @@ _08050ED8: movs r1, 0x8 movs r2, 0x1C movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r4, _08050F0C ldr r0, [r5] adds r0, 0x7A @@ -31808,7 +31808,7 @@ _08050F18: movs r1, 0x8 movs r2, 0x1C movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r4, _08050F60 ldr r0, [r5] adds r0, 0x7A @@ -31827,14 +31827,14 @@ _08050F4C: adds r0, r4, 0 movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage b _080510C4 .align 2, 0 _08050F60: .4byte 0x020234cc _08050F64: .4byte 0x03002978 _08050F68: .4byte gUnknown_0842D434 _08050F6C: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 bne _08050F78 @@ -31873,11 +31873,11 @@ _08050FAA: movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08050FCC movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint bl sub_80084A4 ldr r0, _08050FD0 ldr r1, [r0] @@ -32089,7 +32089,7 @@ _0805116E: movs r1, 0x8 movs r2, 0x1C movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r0, _0805118C b _080511AC .align 2, 0 @@ -32105,17 +32105,17 @@ _08051190: movs r1, 0x8 movs r2, 0x1C movs r3, 0xD - bl Reset + bl MenuZeroFillWindowRect ldr r0, _080511B8 _080511AC: movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage b _0805121E .align 2, 0 _080511B8: .4byte gUnknown_0842D3DC _080511BC: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _0805121E @@ -32845,7 +32845,7 @@ _08051730: movs r1, 0x4 movs r2, 0xA movs r3, 0xC - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r2, 0 ldr r6, _080517C4 _0805175C: @@ -32867,17 +32867,17 @@ _0805175C: adds r2, r1 lsrs r2, 24 movs r1, 0x5 - bl Print + bl MenuPrint _08051784: movs r0, 0 movs r1, 0xD movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _080517CC movs r1, 0x1 movs r2, 0xF - bl Print + bl MenuPrint adds r2, r4, 0 cmp r2, 0x2 ble _0805175C @@ -32908,7 +32908,7 @@ _080517D4: ldr r0, _08051814 movs r1, 0x3 movs r2, 0xA - bl Print + bl MenuPrint _080517E6: ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -33637,12 +33637,12 @@ _08051D20: movs r1, 0x2 movs r2, 0x19 movs r3, 0x11 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08051F14 movs r1, 0x5 movs r2, 0x3 movs r3, 0xA0 - bl Free + bl sub_8072BD8 movs r6, 0 ldr r1, _08051F18 ldr r0, [r1] @@ -33730,7 +33730,7 @@ _08051D56: lsls r2, 24 lsrs r2, 24 movs r1, 0x5 - bl Print + bl MenuPrint lsls r5, 16 lsrs r6, r5, 16 mov r1, r8 @@ -33791,7 +33791,7 @@ _08051E04: adds r0, 0xAB movs r1, 0x5 movs r2, 0xD - bl Print + bl MenuPrint ldr r0, [r6] movs r2, 0x96 lsls r2, 1 @@ -33849,7 +33849,7 @@ _08051E04: adds r0, 0xAB movs r1, 0x5 movs r2, 0xF - bl Print + bl MenuPrint ldr r1, [r6] movs r0, 0x98 lsls r0, 1 @@ -33882,12 +33882,12 @@ _08051F44: .align 2, 0 _08051F54: .4byte 0x03001770 _08051F58: - bl sub_8071EF4 + bl MenuZeroFillScreen movs r0, 0 movs r1, 0xE movs r2, 0x1D movs r3, 0x13 - bl DrawDefaultWindow + bl MenuDrawTextWindow movs r6, 0 add r5, sp, 0x28 ldr r0, _08051FEC @@ -33936,7 +33936,7 @@ _08051F86: adds r0, 0xAB movs r1, 0x1 movs r2, 0xF - bl AddTextPrinterWithCallbackForMessage + bl MenuPrintMessage ldr r0, _08051FF4 ldrh r0, [r0] movs r1, 0x1 @@ -33954,7 +33954,7 @@ _08051FEC: .4byte 0x03004854 _08051FF0: .4byte sub_8052BD0 _08051FF4: .4byte 0x0203855e _08051FF8: - bl sub_8072080 + bl MenuUpdateWindowText lsls r0, 24 cmp r0, 0 beq _0805200A @@ -34315,12 +34315,12 @@ _080522B6: movs r1, 0x2 movs r2, 0x19 movs r3, 0x11 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _0805236C movs r1, 0x5 movs r2, 0x3 movs r3, 0xA0 - bl Free + bl sub_8072BD8 ldr r6, _08052370 adds r0, r6, 0 movs r1, 0x8C @@ -34485,7 +34485,7 @@ _08052380: lsls r2, 24 lsrs r2, 24 movs r1, 0x5 - bl Print + bl MenuPrint lsls r6, 16 lsrs r6, 16 mov r8, r6 @@ -34568,7 +34568,7 @@ unref_sub_80524BC: @ 80524BC adds r0, r4, 0 bl SetUpWindowConfig adds r0, r4, 0 - bl sub_8071C4C + bl InitMenuWindow ldr r0, _08052524 ldrh r0, [r0, 0x20] bl SeedRng @@ -34616,7 +34616,7 @@ sub_8052530: @ 8052530 mov r0, sp movs r1, 0x2 movs r2, 0 - bl Print + bl MenuPrint ldr r4, _080525CC movs r1, 0x1A ldrsh r0, [r4, r1] @@ -34632,7 +34632,7 @@ sub_8052530: @ 8052530 mov r0, sp movs r1, 0x6 movs r2, 0 - bl Print + bl MenuPrint movs r6, 0 mov r2, sp adds r2, 0x3 @@ -34705,7 +34705,7 @@ _080525F8: mov r0, sp movs r1, 0x2 adds r2, r5, 0 - bl Print + bl MenuPrint mov r4, r8 adds r4, 0x1 adds r4, r6, r4 @@ -34799,7 +34799,7 @@ _080525F8: mov r0, sp movs r1, 0x7 adds r2, r5, 0 - bl Print + bl MenuPrint adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 @@ -34822,7 +34822,7 @@ _080526EC: mov r0, sp movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint mov r3, r8 ldrb r1, [r3, 0x11] mov r0, sp @@ -34884,7 +34884,7 @@ _080526EC: mov r0, sp movs r1, 0x7 movs r2, 0x11 - bl Print + bl MenuPrint _080527A4: add sp, 0x98 pop {r3-r5} @@ -35044,7 +35044,7 @@ _080528E8: mov r0, sp movs r1, 0x2 movs r2, 0xF - bl Print + bl MenuPrint add sp, 0x58 pop {r3,r4} mov r8, r3 @@ -35335,15 +35335,15 @@ ShowBerryBlenderRecordWindow: @ 8052B14 movs r1, 0x3 movs r2, 0x17 movs r3, 0x10 - bl DrawDefaultWindow + bl MenuDrawTextWindow ldr r0, _08052BBC movs r1, 0x8 movs r2, 0x4 - bl Print + bl MenuPrint ldr r0, _08052BC0 movs r1, 0x8 movs r2, 0x9 - bl Print + bl MenuPrint movs r0, 0 mov r8, r0 ldr r0, _08052BC4 @@ -35384,7 +35384,7 @@ _08052B50: lsrs r2, r7, 24 mov r0, sp movs r1, 0xF - bl Print + bl MenuPrint movs r0, 0x80 lsls r0, 18 adds r7, r0 diff --git a/asm/rom_8065394.s b/asm/rom_8065394.s new file mode 100644 index 000000000..ecc7a720e --- /dev/null +++ b/asm/rom_8065394.s @@ -0,0 +1,26029 @@ + .include "constants/gba_constants.s" + .include "asm/macros.s" + + .syntax unified + + .text + + thumb_func_start script_env_init +script_env_init: @ 8065394 + push {lr} + adds r3, r0, 0 + movs r0, 0 + strb r0, [r3, 0x1] + str r0, [r3, 0x8] + strb r0, [r3] + str r0, [r3, 0x4] + str r1, [r3, 0x5C] + str r2, [r3, 0x60] + movs r2, 0 + movs r1, 0x3 + adds r0, r3, 0 + adds r0, 0x70 +_080653AE: + str r2, [r0] + subs r0, 0x4 + subs r1, 0x1 + cmp r1, 0 + bge _080653AE + adds r1, r3, 0 + adds r1, 0xC + movs r2, 0 + adds r0, r3, 0 + adds r0, 0x58 +_080653C2: + str r2, [r0] + subs r0, 0x4 + cmp r0, r1 + bge _080653C2 + pop {r0} + bx r0 + thumb_func_end script_env_init + + thumb_func_start script_setup_bytecode_script +script_setup_bytecode_script: @ 80653D0 + str r1, [r0, 0x8] + movs r1, 0x1 + strb r1, [r0, 0x1] + movs r0, 0x1 + bx lr + thumb_func_end script_setup_bytecode_script + + thumb_func_start script_setup_asm_script +script_setup_asm_script: @ 80653DC + movs r2, 0x2 + strb r2, [r0, 0x1] + str r1, [r0, 0x4] + bx lr + thumb_func_end script_setup_asm_script + + thumb_func_start script_stop +script_stop: @ 80653E4 + movs r1, 0 + strb r1, [r0, 0x1] + str r1, [r0, 0x8] + bx lr + thumb_func_end script_stop + + thumb_func_start sub_80653EC +sub_80653EC: @ 80653EC + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4, 0x1] + cmp r0, 0 + bne _080653FA +_080653F6: + movs r0, 0 + b _0806546C +_080653FA: + ldrb r0, [r4, 0x1] + cmp r0, 0x1 + beq _08065432 + cmp r0, 0x1 + bgt _0806540A + cmp r0, 0 + beq _080653F6 + b _0806546A +_0806540A: + cmp r0, 0x2 + bne _0806546A + ldr r0, [r4, 0x4] + cmp r0, 0 + beq _0806542E + bl _call_via_r0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806546A + strb r0, [r4, 0x1] + b _0806546A +_08065424: + strb r2, [r4, 0x1] + b _080653F6 +_08065428: + movs r0, 0 + strb r0, [r4, 0x1] + b _0806546C +_0806542E: + movs r0, 0x1 + strb r0, [r4, 0x1] +_08065432: + ldr r2, [r4, 0x8] + cmp r2, 0 + beq _08065424 + ldr r0, _08065444 + ldr r0, [r0] + cmp r2, r0 + bne _08065448 +_08065440: + swi 0x2 + b _08065440 + .align 2, 0 +_08065444: .4byte gUnknown_083762D8 +_08065448: + ldrb r1, [r2] + adds r0, r2, 0x1 + str r0, [r4, 0x8] + lsls r1, 2 + ldr r0, [r4, 0x5C] + adds r1, r0, r1 + ldr r0, [r4, 0x60] + cmp r1, r0 + bcs _08065428 + ldr r1, [r1] + adds r0, r4, 0 + bl _call_via_r1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08065432 +_0806546A: + movs r0, 0x1 +_0806546C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80653EC + + thumb_func_start script_stack_push +script_stack_push: @ 8065474 + push {lr} + adds r2, r0, 0 + adds r3, r1, 0 + ldrb r1, [r2] + adds r0, r1, 0x1 + cmp r0, 0x13 + bgt _08065496 + lsls r0, r1, 2 + adds r1, r2, 0 + adds r1, 0xC + adds r1, r0 + str r3, [r1] + ldrb r0, [r2] + adds r0, 0x1 + strb r0, [r2] + movs r0, 0 + b _08065498 +_08065496: + movs r0, 0x1 +_08065498: + pop {r1} + bx r1 + thumb_func_end script_stack_push + + thumb_func_start script_stack_pop +script_stack_pop: @ 806549C + push {lr} + adds r2, r0, 0 + ldrb r0, [r2] + cmp r0, 0 + beq _080654B8 + subs r0, 0x1 + strb r0, [r2] + ldrb r1, [r2] + lsls r1, 2 + adds r0, r2, 0 + adds r0, 0xC + adds r0, r1 + ldr r0, [r0] + b _080654BA +_080654B8: + movs r0, 0 +_080654BA: + pop {r1} + bx r1 + thumb_func_end script_stack_pop + + thumb_func_start script_jump +script_jump: @ 80654C0 + str r1, [r0, 0x8] + bx lr + thumb_func_end script_jump + + thumb_func_start script_call +script_call: @ 80654C4 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldr r1, [r4, 0x8] + bl script_stack_push + str r5, [r4, 0x8] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end script_call + + thumb_func_start script_return +script_return: @ 80654D8 + push {r4,lr} + adds r4, r0, 0 + bl script_stack_pop + str r0, [r4, 0x8] + pop {r4} + pop {r0} + bx r0 + thumb_func_end script_return + + thumb_func_start script_read_halfword +script_read_halfword: @ 80654E8 + adds r3, r0, 0 + ldr r2, [r3, 0x8] + ldrb r0, [r2] + adds r2, 0x1 + str r2, [r3, 0x8] + ldrb r1, [r2] + lsls r1, 8 + orrs r0, r1 + adds r2, 0x1 + str r2, [r3, 0x8] + bx lr + thumb_func_end script_read_halfword + + thumb_func_start script_read_word +script_read_word: @ 8065500 + push {r4-r6,lr} + adds r3, r0, 0 + ldr r0, [r3, 0x8] + ldrb r6, [r0] + adds r0, 0x1 + str r0, [r3, 0x8] + ldrb r5, [r0] + adds r2, r0, 0x1 + str r2, [r3, 0x8] + ldrb r4, [r0, 0x1] + adds r1, r2, 0x1 + str r1, [r3, 0x8] + ldrb r0, [r2, 0x1] + adds r1, 0x1 + str r1, [r3, 0x8] + lsls r0, 8 + adds r0, r4 + lsls r0, 8 + adds r0, r5 + lsls r0, 8 + adds r0, r6 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end script_read_word + + thumb_func_start script_env_2_enable +script_env_2_enable: @ 8065530 + ldr r1, _08065538 + movs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_08065538: .4byte 0x030006a4 + thumb_func_end script_env_2_enable + + thumb_func_start script_env_2_disable +script_env_2_disable: @ 806553C + ldr r1, _08065544 + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_08065544: .4byte 0x030006a4 + thumb_func_end script_env_2_disable + + thumb_func_start script_env_2_is_enabled +script_env_2_is_enabled: @ 8065548 + ldr r0, _08065550 + ldrb r0, [r0] + bx lr + .align 2, 0 +_08065550: .4byte 0x030006a4 + thumb_func_end script_env_2_is_enabled + + thumb_func_start script_env_1_init +script_env_1_init: @ 8065554 + push {lr} + ldr r0, _0806556C + ldr r1, _08065570 + ldr r2, _08065574 + bl script_env_init + ldr r1, _08065578 + movs r0, 0x2 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_0806556C: .4byte 0x030005b8 +_08065570: .4byte gScriptCmdTable +_08065574: .4byte gScriptCmdTableEnd +_08065578: .4byte 0x030005b0 + thumb_func_end script_env_1_init + + thumb_func_start script_env_2_run_current_script +script_env_2_run_current_script: @ 806557C + push {r4,lr} + ldr r4, _080655A0 + ldrb r0, [r4] + cmp r0, 0x2 + beq _080655B0 + cmp r0, 0x1 + beq _080655B0 + bl script_env_2_enable + ldr r0, _080655A4 + bl sub_80653EC + lsls r0, 24 + cmp r0, 0 + beq _080655A8 + movs r0, 0x1 + b _080655B2 + .align 2, 0 +_080655A0: .4byte 0x030005b0 +_080655A4: .4byte 0x030005b8 +_080655A8: + movs r0, 0x2 + strb r0, [r4] + bl script_env_2_disable +_080655B0: + movs r0, 0 +_080655B2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end script_env_2_run_current_script + + thumb_func_start script_env_1_execute_new_script +script_env_1_execute_new_script: @ 80655B8 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _080655E0 + ldr r1, _080655E4 + ldr r2, _080655E8 + adds r0, r4, 0 + bl script_env_init + adds r0, r4, 0 + adds r1, r5, 0 + bl script_setup_bytecode_script + bl script_env_2_enable + ldr r1, _080655EC + movs r0, 0 + strb r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080655E0: .4byte 0x030005b8 +_080655E4: .4byte gScriptCmdTable +_080655E8: .4byte gScriptCmdTableEnd +_080655EC: .4byte 0x030005b0 + thumb_func_end script_env_1_execute_new_script + + thumb_func_start sub_80655F0 +sub_80655F0: @ 80655F0 + ldr r1, _080655F8 + movs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_080655F8: .4byte 0x030005b0 + thumb_func_end sub_80655F0 + + thumb_func_start script_env_2_enable_and_set_ctx_running +script_env_2_enable_and_set_ctx_running: @ 80655FC + push {lr} + ldr r1, _0806560C + movs r0, 0 + strb r0, [r1] + bl script_env_2_enable + pop {r0} + bx r0 + .align 2, 0 +_0806560C: .4byte 0x030005b0 + thumb_func_end script_env_2_enable_and_set_ctx_running + + thumb_func_start script_env_2_execute_new_script +script_env_2_execute_new_script: @ 8065610 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _0806563C + ldr r1, _08065640 + ldr r2, _08065644 + adds r0, r4, 0 + bl script_env_init + adds r0, r4, 0 + adds r1, r5, 0 + bl script_setup_bytecode_script +_08065628: + ldr r0, _0806563C + bl sub_80653EC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08065628 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806563C: .4byte 0x03000630 +_08065640: .4byte gScriptCmdTable +_08065644: .4byte gScriptCmdTableEnd + thumb_func_end script_env_2_execute_new_script + + thumb_func_start mapheader_get_tagged_pointer +mapheader_get_tagged_pointer: @ 8065648 + push {lr} + lsls r0, 24 + lsrs r1, r0, 24 + ldr r0, _08065660 + ldr r2, [r0, 0x8] + cmp r2, 0 + beq _0806565C +_08065656: + ldrb r0, [r2] + cmp r0, 0 + bne _08065664 +_0806565C: + movs r0, 0 + b _08065682 + .align 2, 0 +_08065660: .4byte 0x0202e828 +_08065664: + cmp r0, r1 + beq _0806566C + adds r2, 0x5 + b _08065656 +_0806566C: + adds r2, 0x1 + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + lsls r1, 8 + adds r0, r1 + ldrb r1, [r2, 0x2] + lsls r1, 16 + adds r0, r1 + ldrb r1, [r2, 0x3] + lsls r1, 24 + adds r0, r1 +_08065682: + pop {r1} + bx r1 + thumb_func_end mapheader_get_tagged_pointer + + thumb_func_start mapheader_run_script_by_tag +mapheader_run_script_by_tag: @ 8065688 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl mapheader_get_tagged_pointer + cmp r0, 0 + beq _0806569A + bl script_env_2_execute_new_script +_0806569A: + pop {r0} + bx r0 + thumb_func_end mapheader_run_script_by_tag + + thumb_func_start mapheader_get_first_match_from_tagged_ptr_list +mapheader_get_first_match_from_tagged_ptr_list: @ 80656A0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + bl mapheader_get_tagged_pointer + adds r6, r0, 0 + cmp r6, 0 + beq _080656BC +_080656B0: + ldrb r1, [r6] + ldrb r0, [r6, 0x1] + lsls r0, 8 + orrs r1, r0 + cmp r1, 0 + bne _080656C0 +_080656BC: + movs r0, 0 + b _080656FA +_080656C0: + adds r6, 0x2 + ldrb r5, [r6] + ldrb r0, [r6, 0x1] + lsls r0, 8 + orrs r5, r0 + adds r6, 0x2 + adds r0, r1, 0 + bl VarGet + adds r4, r0, 0 + adds r0, r5, 0 + bl VarGet + lsls r4, 16 + lsls r0, 16 + cmp r4, r0 + beq _080656E6 + adds r6, 0x4 + b _080656B0 +_080656E6: + ldrb r0, [r6] + ldrb r1, [r6, 0x1] + lsls r1, 8 + adds r0, r1 + ldrb r1, [r6, 0x2] + lsls r1, 16 + adds r0, r1 + ldrb r1, [r6, 0x3] + lsls r1, 24 + adds r0, r1 +_080656FA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end mapheader_get_first_match_from_tagged_ptr_list + + thumb_func_start mapheader_run_script_with_tag_x1 +mapheader_run_script_with_tag_x1: @ 8065700 + push {lr} + movs r0, 0x1 + bl mapheader_run_script_by_tag + pop {r0} + bx r0 + thumb_func_end mapheader_run_script_with_tag_x1 + + thumb_func_start mapheader_run_script_with_tag_x3 +mapheader_run_script_with_tag_x3: @ 806570C + push {lr} + movs r0, 0x3 + bl mapheader_run_script_by_tag + pop {r0} + bx r0 + thumb_func_end mapheader_run_script_with_tag_x3 + + thumb_func_start mapheader_run_script_with_tag_x5 +mapheader_run_script_with_tag_x5: @ 8065718 + push {lr} + movs r0, 0x5 + bl mapheader_run_script_by_tag + pop {r0} + bx r0 + thumb_func_end mapheader_run_script_with_tag_x5 + + thumb_func_start mapheader_run_script_with_tag_x6 +mapheader_run_script_with_tag_x6: @ 8065724 + push {lr} + movs r0, 0x6 + bl mapheader_run_script_by_tag + pop {r0} + bx r0 + thumb_func_end mapheader_run_script_with_tag_x6 + + thumb_func_start mapheader_run_first_tag2_script_list_match +mapheader_run_first_tag2_script_list_match: @ 8065730 + push {lr} + movs r0, 0x2 + bl mapheader_get_first_match_from_tagged_ptr_list + cmp r0, 0 + beq _08065744 + bl script_env_1_execute_new_script + movs r0, 0x1 + b _08065746 +_08065744: + movs r0, 0 +_08065746: + pop {r1} + bx r1 + thumb_func_end mapheader_run_first_tag2_script_list_match + + thumb_func_start mapheader_run_first_tag4_script_list_match +mapheader_run_first_tag4_script_list_match: @ 806574C + push {lr} + movs r0, 0x4 + bl mapheader_get_first_match_from_tagged_ptr_list + cmp r0, 0 + beq _0806575C + bl script_env_2_execute_new_script +_0806575C: + pop {r0} + bx r0 + thumb_func_end mapheader_run_first_tag4_script_list_match + + thumb_func_start sub_8065760 +sub_8065760: @ 8065760 + push {r4,lr} + movs r2, 0 + movs r1, 0 + ldr r4, _08065780 + ldr r3, _08065784 +_0806576A: + adds r0, r1, r3 + ldrb r0, [r0] + adds r2, r0 + adds r1, 0x1 + cmp r1, r4 + bls _0806576A + adds r0, r2, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08065780: .4byte 0x000003e7 +_08065784: .4byte 0x02028dc8 + thumb_func_end sub_8065760 + + thumb_func_start killram +killram: @ 8065788 + push {lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + ldr r1, _080657A0 + ldr r2, _080657A4 + mov r0, sp + bl CpuSet + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080657A0: .4byte 0x02028dc4 +_080657A4: .4byte 0x050000fb + thumb_func_end killram + + thumb_func_start sub_80657A8 +sub_80657A8: @ 80657A8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r9, r0 + ldr r0, [sp, 0x1C] + lsls r1, 16 + lsrs r1, 16 + mov r8, r1 + lsls r2, 24 + lsrs r7, r2, 24 + lsls r3, 24 + lsrs r6, r3, 24 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _080657F4 + bl killram + ldr r0, _080657F8 + cmp r8, r0 + bhi _080657FC + movs r0, 0x33 + strb r0, [r4] + strb r7, [r4, 0x1] + strb r6, [r4, 0x2] + strb r5, [r4, 0x3] + adds r0, r4, 0x4 + mov r1, r9 + mov r2, r8 + bl memcpy + bl sub_8065760 + subs r1, r4, 0x4 + str r0, [r1] + movs r0, 0x1 + b _080657FE + .align 2, 0 +_080657F4: .4byte 0x02028dc8 +_080657F8: .4byte 0x000003e3 +_080657FC: + movs r0, 0 +_080657FE: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80657A8 + + thumb_func_start sub_806580C +sub_806580C: @ 806580C + push {r4-r6,lr} + adds r5, r1, 0 + lsls r0, 24 + lsrs r3, r0, 24 + ldr r4, _08065854 + ldr r6, _08065858 + movs r0, 0 + str r0, [r6] + ldrb r0, [r4] + cmp r0, 0x33 + bne _08065864 + ldrb r1, [r4, 0x1] + ldr r0, _0806585C + adds r2, r4, r0 + movs r0, 0x4 + ldrsb r0, [r2, r0] + cmp r1, r0 + bne _08065864 + ldrb r1, [r4, 0x2] + movs r0, 0x5 + ldrsb r0, [r2, r0] + cmp r1, r0 + bne _08065864 + ldrb r0, [r4, 0x3] + cmp r0, r3 + bne _08065864 + bl sub_8065760 + subs r1, r4, 0x4 + ldr r1, [r1] + cmp r0, r1 + bne _08065860 + str r5, [r6] + adds r0, r4, 0x4 + b _08065866 + .align 2, 0 +_08065854: .4byte 0x02028dc8 +_08065858: .4byte 0x0202e8ac +_0806585C: .4byte 0xffffc96c +_08065860: + bl killram +_08065864: + adds r0, r5, 0 +_08065866: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_806580C + + thumb_func_start s00_nop +s00_nop: @ 806586C + movs r0, 0 + bx lr + thumb_func_end s00_nop + + thumb_func_start sub_8065870 +sub_8065870: @ 8065870 + movs r0, 0 + bx lr + thumb_func_end sub_8065870 + + thumb_func_start s02_end +s02_end: @ 8065874 + push {lr} + bl script_stop + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s02_end + + thumb_func_start s24_execute_ASM_2 +s24_execute_ASM_2: @ 8065880 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r1, r0, 0 + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s24_execute_ASM_2 + + thumb_func_start sub_8065898 +sub_8065898: @ 8065898 + push {lr} + bl script_read_halfword + lsls r0, 16 + ldr r1, _080658B4 + lsrs r0, 14 + adds r0, r1 + ldr r0, [r0] + bl _call_via_r0 + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080658B4: .4byte gSpecials + thumb_func_end sub_8065898 + + thumb_func_start sub_80658B8 +sub_80658B8: @ 80658B8 + push {r4-r6,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r6, r0, 0 + ldr r4, _080658E8 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 14 + adds r0, r4 + ldr r0, [r0] + bl _call_via_r0 + strh r0, [r6] + movs r0, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_080658E8: .4byte gSpecials + thumb_func_end sub_80658B8 + + thumb_func_start sub_80658EC +sub_80658EC: @ 80658EC + push {lr} + bl script_read_word + bl _call_via_r0 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sub_80658EC + + thumb_func_start sub_80658FC +sub_80658FC: @ 80658FC + push {lr} + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_80658FC + + thumb_func_start s05_goto +s05_goto: @ 8065908 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r1, r0, 0 + adds r0, r4, 0 + bl script_jump + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s05_goto + + thumb_func_start s03_return +s03_return: @ 8065920 + push {lr} + bl script_return + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s03_return + + thumb_func_start s04_call +s04_call: @ 806592C + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r1, r0, 0 + adds r0, r4, 0 + bl script_call + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s04_call + + thumb_func_start s06_if_jump +s06_if_jump: @ 8065944 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r4, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + adds r0, r5, 0 + bl script_read_word + adds r2, r0, 0 + ldr r1, _0806597C + lsls r0, r4, 1 + adds r0, r4 + ldrb r3, [r5, 0x2] + adds r0, r3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _08065972 + adds r0, r5, 0 + adds r1, r2, 0 + bl script_jump +_08065972: + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0806597C: .4byte gUnknown_083762DC + thumb_func_end s06_if_jump + + thumb_func_start s07_if_call +s07_if_call: @ 8065980 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r4, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + adds r0, r5, 0 + bl script_read_word + adds r2, r0, 0 + ldr r1, _080659B8 + lsls r0, r4, 1 + adds r0, r4 + ldrb r3, [r5, 0x2] + adds r0, r3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _080659AE + adds r0, r5, 0 + adds r1, r2, 0 + bl script_call +_080659AE: + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080659B8: .4byte gUnknown_083762DC + thumb_func_end s07_if_call + + thumb_func_start sB8_set_virtual_address +sB8_set_virtual_address: @ 80659BC + push {r4,lr} + ldr r4, [r0, 0x8] + subs r4, 0x1 + bl script_read_word + ldr r1, _080659D4 + subs r0, r4 + str r0, [r1] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080659D4: .4byte 0x0202e8b0 + thumb_func_end sB8_set_virtual_address + + thumb_func_start sB9_virtual_jump +sB9_virtual_jump: @ 80659D8 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r1, r0, 0 + ldr r0, _080659F8 + ldr r0, [r0] + subs r1, r0 + adds r0, r4, 0 + bl script_jump + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080659F8: .4byte 0x0202e8b0 + thumb_func_end sB9_virtual_jump + + thumb_func_start sBA_virtual_call +sBA_virtual_call: @ 80659FC + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r1, r0, 0 + ldr r0, _08065A1C + ldr r0, [r0] + subs r1, r0 + adds r0, r4, 0 + bl script_call + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08065A1C: .4byte 0x0202e8b0 + thumb_func_end sBA_virtual_call + + thumb_func_start sBB_virtual_if_jump +sBB_virtual_if_jump: @ 8065A20 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r4, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + adds r0, r5, 0 + bl script_read_word + ldr r1, _08065A5C + ldr r1, [r1] + subs r2, r0, r1 + ldr r1, _08065A60 + lsls r0, r4, 1 + adds r0, r4 + ldrb r3, [r5, 0x2] + adds r0, r3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _08065A52 + adds r0, r5, 0 + adds r1, r2, 0 + bl script_jump +_08065A52: + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08065A5C: .4byte 0x0202e8b0 +_08065A60: .4byte gUnknown_083762DC + thumb_func_end sBB_virtual_if_jump + + thumb_func_start sBC_virtual_if_call +sBC_virtual_if_call: @ 8065A64 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r4, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + adds r0, r5, 0 + bl script_read_word + ldr r1, _08065AA0 + ldr r1, [r1] + subs r2, r0, r1 + ldr r1, _08065AA4 + lsls r0, r4, 1 + adds r0, r4 + ldrb r3, [r5, 0x2] + adds r0, r3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _08065A96 + adds r0, r5, 0 + adds r1, r2, 0 + bl script_call +_08065A96: + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08065AA0: .4byte 0x0202e8b0 +_08065AA4: .4byte gUnknown_083762DC + thumb_func_end sBC_virtual_if_call + + thumb_func_start s08_jumpstd +s08_jumpstd: @ 8065AA8 + push {lr} + adds r2, r0, 0 + ldr r0, [r2, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r2, 0x8] + lsls r1, 2 + ldr r0, _08065AD0 + adds r1, r0 + ldr r0, _08065AD4 + cmp r1, r0 + bcs _08065AC8 + ldr r1, [r1] + adds r0, r2, 0 + bl script_jump +_08065AC8: + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08065AD0: .4byte gStdScripts +_08065AD4: .4byte gStdScripts_End + thumb_func_end s08_jumpstd + + thumb_func_start s09_callstd +s09_callstd: @ 8065AD8 + push {lr} + adds r2, r0, 0 + ldr r0, [r2, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r2, 0x8] + lsls r1, 2 + ldr r0, _08065B00 + adds r1, r0 + ldr r0, _08065B04 + cmp r1, r0 + bcs _08065AF8 + ldr r1, [r1] + adds r0, r2, 0 + bl script_call +_08065AF8: + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08065B00: .4byte gStdScripts +_08065B04: .4byte gStdScripts_End + thumb_func_end s09_callstd + + thumb_func_start s0A_jumpstd_if +s0A_jumpstd_if: @ 8065B08 + push {r4,lr} + adds r3, r0, 0 + ldr r0, [r3, 0x8] + ldrb r2, [r0] + adds r0, 0x1 + str r0, [r3, 0x8] + ldrb r4, [r0] + adds r0, 0x1 + str r0, [r3, 0x8] + ldr r1, _08065B48 + lsls r0, r2, 1 + adds r0, r2 + ldrb r2, [r3, 0x2] + adds r0, r2 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _08065B40 + lsls r0, r4, 2 + ldr r1, _08065B4C + adds r1, r0, r1 + ldr r0, _08065B50 + cmp r1, r0 + bcs _08065B40 + ldr r1, [r1] + adds r0, r3, 0 + bl script_jump +_08065B40: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08065B48: .4byte gUnknown_083762DC +_08065B4C: .4byte gStdScripts +_08065B50: .4byte gStdScripts_End + thumb_func_end s0A_jumpstd_if + + thumb_func_start s0B_callstd_if +s0B_callstd_if: @ 8065B54 + push {r4,lr} + adds r3, r0, 0 + ldr r0, [r3, 0x8] + ldrb r2, [r0] + adds r0, 0x1 + str r0, [r3, 0x8] + ldrb r4, [r0] + adds r0, 0x1 + str r0, [r3, 0x8] + ldr r1, _08065B94 + lsls r0, r2, 1 + adds r0, r2 + ldrb r2, [r3, 0x2] + adds r0, r2 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + bne _08065B8C + lsls r0, r4, 2 + ldr r1, _08065B98 + adds r1, r0, r1 + ldr r0, _08065B9C + cmp r1, r0 + bcs _08065B8C + ldr r1, [r1] + adds r0, r3, 0 + bl script_call +_08065B8C: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08065B94: .4byte gUnknown_083762DC +_08065B98: .4byte gStdScripts +_08065B9C: .4byte gStdScripts_End + thumb_func_end s0B_callstd_if + + thumb_func_start s0C_restore_execution_after_sCF +s0C_restore_execution_after_sCF: @ 8065BA0 + push {lr} + ldr r1, _08065BB0 + ldr r1, [r1] + bl script_jump + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08065BB0: .4byte 0x0202e8ac + thumb_func_end s0C_restore_execution_after_sCF + + thumb_func_start s0D_endscript_killram +s0D_endscript_killram: @ 8065BB4 + push {r4,lr} + adds r4, r0, 0 + bl killram + adds r0, r4, 0 + bl script_stop + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s0D_endscript_killram + + thumb_func_start s0E_set_byte +s0E_set_byte: @ 8065BCC + push {lr} + ldr r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + adds r0, r2, 0 + bl sub_8126160 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s0E_set_byte + + thumb_func_start s0F_u32_var_to_const +s0F_u32_var_to_const: @ 8065BE4 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x8] + ldrb r5, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + adds r0, r4, 0 + bl script_read_word + lsls r5, 2 + adds r4, 0x64 + adds r4, r5 + str r0, [r4] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s0F_u32_var_to_const + + thumb_func_start s12_u32_var_to_ptr +s12_u32_var_to_ptr: @ 8065C08 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x8] + ldrb r5, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + adds r0, r4, 0 + bl script_read_word + lsls r5, 2 + adds r4, 0x64 + adds r4, r5 + ldrb r0, [r0] + str r0, [r4] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s12_u32_var_to_ptr + + thumb_func_start s11_u8_ptr_to_const +s11_u8_ptr_to_const: @ 8065C2C + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_word + strb r4, [r0] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s11_u8_ptr_to_const + + thumb_func_start sub_8065C44 +sub_8065C44: @ 8065C44 + ldr r1, [r0, 0x8] + ldrb r3, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + lsls r3, 2 + adds r2, r0, 0 + adds r2, 0x64 + adds r2, r3 + ldrb r3, [r1] + str r3, [r2] + adds r1, 0x1 + str r1, [r0, 0x8] + movs r0, 0 + bx lr + thumb_func_end sub_8065C44 + + thumb_func_start s13_u8_var_to_ptr +s13_u8_var_to_ptr: @ 8065C60 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x8] + ldrb r5, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + adds r0, r4, 0 + bl script_read_word + lsls r5, 2 + adds r4, 0x64 + adds r4, r5 + ldr r1, [r4] + strb r1, [r0] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s13_u8_var_to_ptr + + thumb_func_start s14_u32_var_to_var +s14_u32_var_to_var: @ 8065C84 + ldr r1, [r0, 0x8] + ldrb r3, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + lsls r3, 2 + adds r0, 0x64 + adds r3, r0, r3 + lsls r2, 2 + adds r0, r2 + ldr r0, [r0] + str r0, [r3] + movs r0, 0 + bx lr + thumb_func_end s14_u32_var_to_var + + thumb_func_start s15_u8_ptr_to_ptr +s15_u8_ptr_to_ptr: @ 8065CA4 + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_word + adds r5, r0, 0 + adds r0, r4, 0 + bl script_read_word + ldrb r0, [r0] + strb r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s15_u8_ptr_to_ptr + + thumb_func_start s16_u16_gvar_to_const +s16_u16_gvar_to_const: @ 8065CC0 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r4, r0, 0 + adds r0, r5, 0 + bl script_read_halfword + strh r0, [r4] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s16_u16_gvar_to_const + + thumb_func_start s19_u16_gvar_gvar +s19_u16_gvar_gvar: @ 8065CE4 + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r5, r0, 0 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + ldrh r0, [r0] + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s19_u16_gvar_gvar + + thumb_func_start s1A_u16_gvar_gvar +s1A_u16_gvar_gvar: @ 8065D10 + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r5, r0, 0 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s1A_u16_gvar_gvar + + thumb_func_start compare_012 +compare_012: @ 8065D3C + push {lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r1, 16 + cmp r0, r1 + bcs _08065D4E + movs r0, 0 + b _08065D58 +_08065D4E: + cmp r0, r1 + beq _08065D56 + movs r0, 0x2 + b _08065D58 +_08065D56: + movs r0, 0x1 +_08065D58: + pop {r1} + bx r1 + thumb_func_end compare_012 + + thumb_func_start s1B_cmp_u8_var_var +s1B_cmp_u8_var_var: @ 8065D5C + push {r4,lr} + adds r4, r0, 0 + ldr r2, [r4, 0x8] + ldrb r0, [r2] + lsls r0, 2 + adds r3, r4, 0 + adds r3, 0x64 + adds r0, r3, r0 + ldrb r0, [r0] + adds r2, 0x1 + str r2, [r4, 0x8] + ldrb r1, [r2] + lsls r1, 2 + adds r3, r1 + ldrb r1, [r3] + adds r2, 0x1 + str r2, [r4, 0x8] + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s1B_cmp_u8_var_var + + thumb_func_start s1C_cmp_u8_var_const +s1C_cmp_u8_var_const: @ 8065D8C + push {r4,lr} + adds r4, r0, 0 + ldr r2, [r4, 0x8] + ldrb r1, [r2] + lsls r1, 2 + adds r0, 0x64 + adds r0, r1 + ldrb r0, [r0] + adds r2, 0x1 + str r2, [r4, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r4, 0x8] + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s1C_cmp_u8_var_const + + thumb_func_start s1D_cmp_u8_var_ptr +s1D_cmp_u8_var_ptr: @ 8065DB4 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r2, [r4, 0x8] + ldrb r1, [r2] + lsls r1, 2 + adds r0, 0x64 + adds r0, r1 + ldrb r5, [r0] + adds r2, 0x1 + str r2, [r4, 0x8] + adds r0, r4, 0 + bl script_read_word + ldrb r1, [r0] + adds r0, r5, 0 + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s1D_cmp_u8_var_ptr + + thumb_func_start s1E_cmp_u8_ptr_var +s1E_cmp_u8_ptr_var: @ 8065DE0 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + ldrb r0, [r0] + ldr r3, [r4, 0x8] + ldrb r2, [r3] + lsls r2, 2 + adds r1, r4, 0 + adds r1, 0x64 + adds r1, r2 + ldrb r1, [r1] + adds r3, 0x1 + str r3, [r4, 0x8] + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s1E_cmp_u8_ptr_var + + thumb_func_start s1F_cmp_u8_ptr_const +s1F_cmp_u8_ptr_const: @ 8065E0C + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + ldrb r0, [r0] + ldr r2, [r4, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r4, 0x8] + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s1F_cmp_u8_ptr_const + + thumb_func_start s20_cmp_u8_ptr_ptr +s20_cmp_u8_ptr_ptr: @ 8065E2C + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_word + ldrb r5, [r0] + adds r0, r4, 0 + bl script_read_word + ldrb r1, [r0] + adds r0, r5, 0 + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s20_cmp_u8_ptr_ptr + + thumb_func_start s21_cmp_u16_gvar_const +s21_cmp_u16_gvar_const: @ 8065E50 + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + ldrh r5, [r0] + adds r0, r4, 0 + bl script_read_halfword + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r5, 0 + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s21_cmp_u16_gvar_const + + thumb_func_start s22_cmp_u16_gvar_gvar +s22_cmp_u16_gvar_gvar: @ 8065E80 + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r5, r0, 0 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + ldrh r2, [r5] + ldrh r1, [r0] + adds r0, r2, 0 + bl compare_012 + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s22_cmp_u16_gvar_gvar + + thumb_func_start s17_u16_gvar_add_const +s17_u16_gvar_add_const: @ 8065EB4 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r4, r0, 0 + adds r0, r5, 0 + bl script_read_halfword + ldrh r1, [r4] + adds r0, r1 + strh r0, [r4] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s17_u16_gvar_add_const + + thumb_func_start sub_8065EDC +sub_8065EDC: @ 8065EDC + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r5, r0, 0 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldrh r1, [r5] + subs r1, r0 + strh r1, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8065EDC + + thumb_func_start s8F_get_random_val +s8F_get_random_val: @ 8065F0C + push {r4,r5,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r5, _08065F3C + bl Random + lsls r0, 16 + lsrs r0, 16 + adds r1, r4, 0 + bl __umodsi3 + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08065F3C: .4byte 0x0202e8dc + thumb_func_end s8F_get_random_val + + thumb_func_start sub_8065F40 +sub_8065F40: @ 8065F40 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + ldr r5, _08065F80 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_80A9424 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08065F80: .4byte 0x0202e8dc + thumb_func_end sub_8065F40 + + thumb_func_start sub_8065F84 +sub_8065F84: @ 8065F84 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + ldr r5, _08065FC4 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_80A9538 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08065FC4: .4byte 0x0202e8dc + thumb_func_end sub_8065F84 + + thumb_func_start sub_8065FC8 +sub_8065FC8: @ 8065FC8 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + ldr r5, _08066008 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_80A9344 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08066008: .4byte 0x0202e8dc + thumb_func_end sub_8065FC8 + + thumb_func_start sub_806600C +sub_806600C: @ 806600C + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + ldr r5, _0806604C + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_80A92D4 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0806604C: .4byte 0x0202e8dc + thumb_func_end sub_806600C + + thumb_func_start s48_get_item_type +s48_get_item_type: @ 8066050 + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldr r4, _08066078 + bl sub_80A9670 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066078: .4byte 0x0202e8dc + thumb_func_end s48_get_item_type + + thumb_func_start sub_806607C +sub_806607C: @ 806607C + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r5, _080660BC + adds r0, r4, 0 + bl sub_80A9760 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080660BC: .4byte 0x0202e8dc + thumb_func_end sub_806607C + + thumb_func_start sub_80660C0 +sub_80660C0: @ 80660C0 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r5, _08066100 + adds r0, r4, 0 + bl sub_80A9718 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08066100: .4byte 0x0202e8dc + thumb_func_end sub_80660C0 + + thumb_func_start sub_8066104 +sub_8066104: @ 8066104 + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r4, _0806612C + lsls r0, 24 + lsrs r0, 24 + bl IsThereStorageSpaceForDecoration + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806612C: .4byte 0x0202e8dc + thumb_func_end sub_8066104 + + thumb_func_start sub_8066130 +sub_8066130: @ 8066130 + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r4, _08066158 + lsls r0, 24 + lsrs r0, 24 + bl sub_81340A8 + lsls r0, 24 + asrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066158: .4byte 0x0202e8dc + thumb_func_end sub_8066130 + + thumb_func_start sub_806615C +sub_806615C: @ 806615C + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r4, _08066184 + lsls r0, 24 + lsrs r0, 24 + bl sub_8134074 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066184: .4byte 0x0202e8dc + thumb_func_end sub_806615C + + thumb_func_start sub_8066188 +sub_8066188: @ 8066188 + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r4, _080661B0 + lsls r0, 24 + lsrs r0, 24 + bl sub_8133FE4 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080661B0: .4byte 0x0202e8dc + thumb_func_end sub_8066188 + + thumb_func_start s29_flag_set +s29_flag_set: @ 80661B4 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl FlagSet + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s29_flag_set + + thumb_func_start s2A_flag_clear +s2A_flag_clear: @ 80661C8 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl FlagReset + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s2A_flag_clear + + thumb_func_start s2B_flag_check +s2B_flag_check: @ 80661DC + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl FlagGet + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s2B_flag_check + + thumb_func_start sC3_unknown +sC3_unknown: @ 80661F8 + push {lr} + ldr r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + adds r0, r2, 0 + bl sav12_xor_increment + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sC3_unknown + + thumb_func_start s9A_unknown +s9A_unknown: @ 8066210 + push {lr} + ldr r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + adds r0, r2, 0 + bl sub_8081594 + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end s9A_unknown + + thumb_func_start sub_806622C +sub_806622C: @ 806622C + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl sub_8053CE4 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sub_806622C + + thumb_func_start sub_8066248 +sub_8066248: @ 8066248 + push {lr} + ldr r0, _0806625C + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08066260 + movs r0, 0 + b _08066262 + .align 2, 0 +_0806625C: .4byte 0x0202f388 +_08066260: + movs r0, 0x1 +_08066262: + pop {r1} + bx r1 + thumb_func_end sub_8066248 + + thumb_func_start s97_screen_special_effect +s97_screen_special_effect: @ 8066268 + push {r4,lr} + adds r4, r0, 0 + ldr r1, [r4, 0x8] + ldrb r0, [r1] + adds r1, 0x1 + str r1, [r4, 0x8] + movs r1, 0 + bl fade_screen + ldr r1, _0806628C + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806628C: .4byte sub_8066248 + thumb_func_end s97_screen_special_effect + + thumb_func_start sub_8066290 +sub_8066290: @ 8066290 + push {r4,lr} + adds r4, r0, 0 + ldr r2, [r4, 0x8] + ldrb r0, [r2] + adds r2, 0x1 + str r2, [r4, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r4, 0x8] + bl fade_screen + ldr r1, _080662B8 + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080662B8: .4byte sub_8066248 + thumb_func_end sub_8066290 + + thumb_func_start s28_pause_asm +s28_pause_asm: @ 80662BC + push {lr} + ldr r1, _080662D0 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + lsls r0, 16 + cmp r0, 0 + beq _080662D4 + movs r0, 0 + b _080662D6 + .align 2, 0 +_080662D0: .4byte 0x0202e8b4 +_080662D4: + movs r0, 0x1 +_080662D6: + pop {r1} + bx r1 + thumb_func_end s28_pause_asm + + thumb_func_start s28_pause +s28_pause: @ 80662DC + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + ldr r1, _080662F8 + strh r0, [r1] + ldr r1, _080662FC + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080662F8: .4byte 0x0202e8b4 +_080662FC: .4byte s28_pause_asm + thumb_func_end s28_pause + + thumb_func_start s2C_unknown +s2C_unknown: @ 8066300 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl RtcInitLocalTimeOffset + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s2C_unknown + + thumb_func_start s2D_unknown +s2D_unknown: @ 8066338 + push {lr} + bl InTrainerHill + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s2D_unknown + + thumb_func_start s2E_unknown +s2E_unknown: @ 8066344 + push {lr} + bl RtcCalcLocalTime + ldr r2, _0806636C + ldr r1, _08066370 + movs r0, 0x2 + ldrsb r0, [r1, r0] + strh r0, [r2] + ldr r2, _08066374 + movs r0, 0x3 + ldrsb r0, [r1, r0] + strh r0, [r2] + ldr r2, _08066378 + movs r0, 0x4 + ldrsb r0, [r1, r0] + strh r0, [r2] + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_0806636C: .4byte 0x0202e8c4 +_08066370: .4byte 0x03004038 +_08066374: .4byte 0x0202e8c6 +_08066378: .4byte 0x0202e8c8 + thumb_func_end s2E_unknown + + thumb_func_start sA4_set_weather_data +sA4_set_weather_data: @ 806637C + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl sub_80806B4 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sA4_set_weather_data + + thumb_func_start sA3_set_standard_weather_data +sA3_set_standard_weather_data: @ 8066398 + push {lr} + bl sub_80806E4 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sA3_set_standard_weather_data + + thumb_func_start sub_80663A4 +sub_80663A4: @ 80663A4 + push {lr} + bl sub_808073C + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sub_80663A4 + + thumb_func_start sA6_activate_per_step_callback_eg_ash +sA6_activate_per_step_callback_eg_ash: @ 80663B0 + push {lr} + ldr r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + adds r0, r2, 0 + bl activate_per_step_callback + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sA6_activate_per_step_callback_eg_ash + + thumb_func_start sub_80663C8 +sub_80663C8: @ 80663C8 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl sub_8053D14 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sub_80663C8 + + thumb_func_start s39_warp_sfx +s39_warp_sfx: @ 80663E4 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl warp1_set + bl sub_8080E88 + bl player_avatar_init_params_reset + movs r0, 0x1 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end s39_warp_sfx + + thumb_func_start s3A_warp_new_music +s3A_warp_new_music: @ 806646C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl warp1_set + bl sp13E_warp_to_last_warp + bl player_avatar_init_params_reset + movs r0, 0x1 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end s3A_warp_new_music + + thumb_func_start s3B_warp_keep_music +s3B_warp_keep_music: @ 80664F4 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl warp1_set + bl sub_8080EF0 + bl player_avatar_init_params_reset + movs r0, 0x1 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end s3B_warp_keep_music + + thumb_func_start sub_806657C +sub_806657C: @ 806657C + push {r4-r6,lr} + sub sp, 0x8 + ldr r1, [r0, 0x8] + ldrb r6, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + ldrb r5, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + mov r4, sp + adds r4, 0x6 + add r0, sp, 0x4 + adds r1, r4, 0 + bl PlayerGetDestCoords + cmp r6, 0xFF + bne _080665BA + cmp r5, 0xFF + bne _080665BA + add r0, sp, 0x4 + ldrh r0, [r0] + subs r0, 0x7 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r4] + subs r1, 0x7 + lsls r1, 16 + asrs r1, 16 + bl sub_8053720 + b _080665DE +_080665BA: + lsls r0, r6, 24 + asrs r0, 24 + lsls r1, r5, 24 + asrs r1, 24 + movs r2, 0x1 + negs r2, r2 + add r3, sp, 0x4 + ldrb r3, [r3] + subs r3, 0x7 + lsls r3, 24 + asrs r3, 24 + ldrb r4, [r4] + subs r4, 0x7 + lsls r4, 24 + asrs r4, 24 + str r4, [sp] + bl warp1_set +_080665DE: + bl sp13F_fall_to_last_warp + bl player_avatar_init_params_reset + movs r0, 0x1 + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_806657C + + thumb_func_start s3D_warp_v4 +s3D_warp_v4: @ 80665F0 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl warp1_set + bl sub_8080F68 + bl player_avatar_init_params_reset + movs r0, 0x1 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end s3D_warp_v4 + + thumb_func_start s3E_set_new_map +s3E_set_new_map: @ 8066678 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl warp1_set + movs r0, 0 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end s3E_set_new_map + + thumb_func_start s3F_set_new_map_DMA +s3F_set_new_map_DMA: @ 80666F8 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x8 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + str r4, [sp] + lsls r0, 24 + asrs r0, 24 + str r0, [sp, 0x4] + movs r0, 0 + mov r1, r9 + mov r2, r8 + adds r3, r6, 0 + bl saved_warp2_set_2 + movs r0, 0 + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end s3F_set_new_map_DMA + + thumb_func_start sub_806677C +sub_806677C: @ 806677C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl sub_8053690 + movs r0, 0 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_806677C + + thumb_func_start sub_80667FC +sub_80667FC: @ 80667FC + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl sub_80536E4 + movs r0, 0 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80667FC + + thumb_func_start sC4_unknown +sC4_unknown: @ 806687C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r1, r0, 0x1 + str r1, [r5, 0x8] + ldrb r6, [r0, 0x1] + adds r1, 0x1 + str r1, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + mov r1, r9 + lsls r1, 24 + asrs r1, 24 + mov r9, r1 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + lsls r6, 24 + asrs r6, 24 + lsls r4, 24 + asrs r4, 24 + lsls r0, 24 + asrs r0, 24 + str r0, [sp] + mov r0, r9 + adds r2, r6, 0 + adds r3, r4, 0 + bl sub_805363C + movs r0, 0 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sC4_unknown + + thumb_func_start sub_80668FC +sub_80668FC: @ 80668FC + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r5, r0, 0 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + ldr r2, _08066930 + ldrh r1, [r2] + strh r1, [r5] + ldrh r1, [r2, 0x2] + strh r1, [r0] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08066930: .4byte 0x02025734 + thumb_func_end sub_80668FC + + thumb_func_start s43_get_player_party_count +s43_get_player_party_count: @ 8066934 + push {r4,lr} + ldr r4, _0806694C + bl calc_player_party_count + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806694C: .4byte 0x0202e8dc + thumb_func_end s43_get_player_party_count + + thumb_func_start s2F_music_play +s2F_music_play: @ 8066950 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl audio_play + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s2F_music_play + + thumb_func_start s30_music_check_asm +s30_music_check_asm: @ 8066964 + push {lr} + bl mplay_has_finished_maybe + lsls r0, 24 + cmp r0, 0 + beq _08066974 + movs r0, 0 + b _08066976 +_08066974: + movs r0, 0x1 +_08066976: + pop {r1} + bx r1 + thumb_func_end s30_music_check_asm + + thumb_func_start sub_806697C +sub_806697C: @ 806697C + push {lr} + ldr r1, _0806698C + bl script_setup_asm_script + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_0806698C: .4byte s30_music_check_asm + thumb_func_end sub_806697C + + thumb_func_start s31_fanfare_play +s31_fanfare_play: @ 8066990 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl fanfare_play + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s31_fanfare_play + + thumb_func_start s32_fanfare_wait_asm +s32_fanfare_wait_asm: @ 80669A4 + push {lr} + bl task_is_not_running_overworld_fanfare + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end s32_fanfare_wait_asm + + thumb_func_start sub_80669B4 +sub_80669B4: @ 80669B4 + push {lr} + ldr r1, _080669C4 + bl script_setup_asm_script + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_080669C4: .4byte s32_fanfare_wait_asm + thumb_func_end sub_80669B4 + + thumb_func_start s33_play_music +s33_play_music: @ 80669C8 + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r2, r0, 16 + adds r5, r2, 0 + ldr r0, [r4, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + cmp r1, 0x1 + bne _080669E8 + adds r0, r2, 0 + bl sav1_set_battle_music_maybe +_080669E8: + adds r0, r5, 0 + bl current_map_music_set + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s33_play_music + + thumb_func_start s34_unknown +s34_unknown: @ 80669F8 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl sav1_set_battle_music_maybe + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s34_unknown + + thumb_func_start s35_fade_to_default +s35_fade_to_default: @ 8066A0C + push {lr} + bl sub_8053F84 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s35_fade_to_default + + thumb_func_start s36_fade_to_music +s36_fade_to_music: @ 8066A18 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl sub_8053FB0 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s36_fade_to_music + + thumb_func_start s37_fadeout +s37_fadeout: @ 8066A2C + push {r4,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + cmp r1, 0 + beq _08066A46 + lsls r0, r1, 26 + lsrs r0, 24 + bl sub_8074FB8 + b _08066A4C +_08066A46: + movs r0, 0x4 + bl sub_8074FB8 +_08066A4C: + ldr r1, _08066A5C + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066A5C: .4byte sub_8074FD0 + thumb_func_end s37_fadeout + + thumb_func_start s38_fadein +s38_fadein: @ 8066A60 + push {lr} + ldr r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + cmp r2, 0 + beq _08066A78 + lsls r0, r2, 26 + lsrs r0, 24 + bl sub_8074FF8 + b _08066A7E +_08066A78: + movs r0, 0x4 + bl sub_8074FF8 +_08066A7E: + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s38_fadein + + thumb_func_start s4F_execute_movement +s4F_execute_movement: @ 8066A84 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_word + adds r3, r0, 0 + lsls r0, r4, 24 + lsrs r0, 24 + ldr r2, _08066ABC + ldrb r1, [r2, 0x5] + ldrb r2, [r2, 0x4] + bl exec_movement + ldr r0, _08066AC0 + strh r4, [r0] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08066ABC: .4byte 0x02025734 +_08066AC0: .4byte 0x0202e8b6 + thumb_func_end s4F_execute_movement + + thumb_func_start s50_execute_movement_remote +s50_execute_movement_remote: @ 8066AC4 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_word + adds r3, r0, 0 + ldr r0, [r5, 0x8] + ldrb r2, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + lsls r0, r4, 24 + lsrs r0, 24 + bl exec_movement + ldr r0, _08066B04 + strh r4, [r0] + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08066B04: .4byte 0x0202e8b6 + thumb_func_end s50_execute_movement_remote + + thumb_func_start s51a_0806B288 +s51a_0806B288: @ 8066B08 + push {lr} + ldr r0, _08066B24 + ldrb r0, [r0] + ldr r1, _08066B28 + ldrb r1, [r1] + ldr r2, _08066B2C + ldrb r2, [r2] + bl sub_80A212C + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_08066B24: .4byte 0x0202e8b6 +_08066B28: .4byte 0x0202e8ba +_08066B2C: .4byte 0x0202e8b8 + thumb_func_end s51a_0806B288 + + thumb_func_start s51_waitmove +s51_waitmove: @ 8066B30 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0 + beq _08066B4C + ldr r0, _08066B70 + strh r1, [r0] +_08066B4C: + ldr r1, _08066B74 + ldr r2, _08066B78 + movs r0, 0x4 + ldrsb r0, [r2, r0] + strh r0, [r1] + ldr r1, _08066B7C + movs r0, 0x5 + ldrsb r0, [r2, r0] + strh r0, [r1] + ldr r1, _08066B80 + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066B70: .4byte 0x0202e8b6 +_08066B74: .4byte 0x0202e8b8 +_08066B78: .4byte 0x02025734 +_08066B7C: .4byte 0x0202e8ba +_08066B80: .4byte s51a_0806B288 + thumb_func_end s51_waitmove + + thumb_func_start s52_waitmove_remote +s52_waitmove_remote: @ 8066B84 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0 + beq _08066BA0 + ldr r0, _08066BC8 + strh r1, [r0] +_08066BA0: + ldr r0, [r4, 0x8] + ldrb r2, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + ldr r0, _08066BCC + strh r2, [r0] + ldr r0, _08066BD0 + strh r1, [r0] + ldr r1, _08066BD4 + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066BC8: .4byte 0x0202e8b6 +_08066BCC: .4byte 0x0202e8b8 +_08066BD0: .4byte 0x0202e8ba +_08066BD4: .4byte s51a_0806B288 + thumb_func_end s52_waitmove_remote + + thumb_func_start sub_8066BD8 +sub_8066BD8: @ 8066BD8 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08066BFC + ldrb r1, [r2, 0x5] + ldrb r2, [r2, 0x4] + bl RemoveFieldObjectByLocalIdAndMap + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08066BFC: .4byte 0x02025734 + thumb_func_end sub_8066BD8 + + thumb_func_start s54_hide_sprite_set_coords +s54_hide_sprite_set_coords: @ 8066C00 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r3, [r4, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl RemoveFieldObjectByLocalIdAndMap + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s54_hide_sprite_set_coords + + thumb_func_start sub_8066C30 +sub_8066C30: @ 8066C30 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08066C54 + ldrb r1, [r2, 0x5] + ldrb r2, [r2, 0x4] + bl show_sprite + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08066C54: .4byte 0x02025734 + thumb_func_end sub_8066C30 + + thumb_func_start s56_show_sprite_set_coords +s56_show_sprite_set_coords: @ 8066C58 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r3, [r4, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl show_sprite + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s56_show_sprite_set_coords + + thumb_func_start s57_move_sprites +s57_move_sprites: @ 8066C88 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r6, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r6, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r5, 24 + lsrs r5, 24 + ldr r2, _08066CE8 + ldrb r1, [r2, 0x5] + ldrb r2, [r2, 0x4] + lsls r4, 16 + asrs r4, 16 + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + adds r0, r5, 0 + adds r3, r4, 0 + bl sub_805C0F8 + movs r0, 0 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08066CE8: .4byte 0x02025734 + thumb_func_end s57_move_sprites + + thumb_func_start s63_new_sprite_location_permanent +s63_new_sprite_location_permanent: @ 8066CEC + push {r4-r6,lr} + adds r6, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r6, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r6, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r2, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 16 + asrs r4, 16 + lsls r2, 16 + asrs r2, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl update_saveblock1_field_object_coords + movs r0, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end s63_new_sprite_location_permanent + + thumb_func_start s64_set_sprite_top_left_corner +s64_set_sprite_top_left_corner: @ 8066D44 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08066D68 + ldrb r1, [r2, 0x5] + ldrb r2, [r2, 0x4] + bl sub_805C78C + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08066D68: .4byte 0x02025734 + thumb_func_end s64_set_sprite_top_left_corner + + thumb_func_start s58_npc_f1_clear_x20 +s58_npc_f1_clear_x20: @ 8066D6C + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r3, [r4, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + movs r3, 0 + bl npc_by_local_id_and_map_set_field_1_bit_x20 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s58_npc_f1_clear_x20 + + thumb_func_start s59_npc_f1_set_x20 +s59_npc_f1_set_x20: @ 8066D9C + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r3, [r4, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + movs r3, 0x1 + bl npc_by_local_id_and_map_set_field_1_bit_x20 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s59_npc_f1_set_x20 + + thumb_func_start sA8_unknown +sA8_unknown: @ 8066DCC + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r3, [r5, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r5, 0x8] + ldrb r1, [r3] + adds r4, r3, 0x1 + str r4, [r5, 0x8] + ldrb r3, [r3, 0x1] + adds r4, 0x1 + str r4, [r5, 0x8] + lsls r0, 24 + lsrs r0, 24 + adds r3, 0x53 + lsls r3, 24 + lsrs r3, 24 + bl sub_805BCF0 + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sA8_unknown + + thumb_func_start sA9_unknown +sA9_unknown: @ 8066E08 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r3, [r4, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl sub_805BD48 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sA9_unknown + + thumb_func_start s5A_face_player +s5A_face_player: @ 8066E38 + push {r4,lr} + ldr r2, _08066E68 + ldr r0, _08066E6C + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r4, r0, r2 + ldrb r0, [r4] + lsls r0, 31 + cmp r0, 0 + beq _08066E60 + bl player_get_direction_lower_nybble + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl FieldObjectFaceOppositeDirection +_08066E60: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066E68: .4byte 0x030048a0 +_08066E6C: .4byte 0x03004ae0 + thumb_func_end s5A_face_player + + thumb_func_start s5B_npc_set_direction +s5B_npc_set_direction: @ 8066E70 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r1, [r4, 0x8] + ldrb r3, [r1] + adds r1, 0x1 + str r1, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08066EA0 + ldrb r1, [r2, 0x5] + ldrb r2, [r2, 0x4] + bl FieldObjectTurnByLocalIdAndMap + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066EA0: .4byte 0x02025734 + thumb_func_end s5B_npc_set_direction + + thumb_func_start s65_set_sprite_behaviour +s65_set_sprite_behaviour: @ 8066EA4 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r2, [r4, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r4, 0x8] + lsls r0, 24 + lsrs r0, 24 + bl update_saveblock1_field_object_movement_behavior + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s65_set_sprite_behaviour + + thumb_func_start sAA_create_new_sprite +sAA_create_new_sprite: @ 8066ECC + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x8 + adds r5, r0, 0 + ldr r0, [r5, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r6, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r3, r0, 0 + ldr r0, [r5, 0x8] + ldrb r2, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r5, 0x8] + lsls r4, 16 + asrs r4, 16 + lsls r3, 16 + asrs r3, 16 + str r2, [sp] + str r1, [sp, 0x4] + mov r0, r8 + adds r1, r6, 0 + adds r2, r4, 0 + bl sub_805B410 + movs r0, 0 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sAA_create_new_sprite + + thumb_func_start sAB_unknown +sAB_unknown: @ 8066F3C + push {lr} + ldr r2, [r0, 0x8] + ldrb r3, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + adds r0, r3, 0 + bl sub_8064990 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sAB_unknown + + thumb_func_start sub_8066F58 +sub_8066F58: @ 8066F58 + push {r4,lr} + adds r4, r0, 0 + bl is_c1_link_related_active + cmp r0, 0 + bne _08066F78 + bl sub_8064D20 + ldr r1, _08066F74 + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + b _08066F7A + .align 2, 0 +_08066F74: .4byte sub_8064CFC +_08066F78: + movs r0, 0 +_08066F7A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8066F58 + + thumb_func_start sub_8066F80 +sub_8066F80: @ 8066F80 + push {r4,lr} + adds r4, r0, 0 + bl is_c1_link_related_active + cmp r0, 0 + beq _08066F90 + movs r0, 0 + b _08066FCE +_08066F90: + ldr r2, _08066FB4 + ldr r0, _08066FB8 + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0] + lsls r0, 31 + cmp r0, 0 + beq _08066FC0 + bl sub_8064DD8 + ldr r1, _08066FBC + adds r0, r4, 0 + bl script_setup_asm_script + b _08066FCC + .align 2, 0 +_08066FB4: .4byte 0x030048a0 +_08066FB8: .4byte 0x03004ae0 +_08066FBC: .4byte sub_8064DB4 +_08066FC0: + bl sub_8064D20 + ldr r1, _08066FD4 + adds r0, r4, 0 + bl script_setup_asm_script +_08066FCC: + movs r0, 0x1 +_08066FCE: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08066FD4: .4byte sub_8064CFC + thumb_func_end sub_8066F80 + + thumb_func_start s6B_release +s6B_release: @ 8066FD8 + push {lr} + bl textbox_close + movs r0, 0xFF + movs r1, 0 + movs r2, 0 + bl GetFieldObjectIdByLocalIdAndMap + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, _0806700C + adds r0, r1 + bl FieldObjectClearAnimIfSpecialAnimFinished + bl sub_80A2178 + bl sub_806451C + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_0806700C: .4byte 0x030048a0 + thumb_func_end s6B_release + + thumb_func_start s6C_release_2 +s6C_release_2: @ 8067010 + push {r4,lr} + bl textbox_close + ldr r4, _08067060 + ldr r0, _08067064 + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r4 + ldrb r0, [r1] + lsls r0, 31 + cmp r0, 0 + beq _08067032 + adds r0, r1, 0 + bl FieldObjectClearAnimIfSpecialAnimFinished +_08067032: + movs r0, 0xFF + movs r1, 0 + movs r2, 0 + bl GetFieldObjectIdByLocalIdAndMap + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl FieldObjectClearAnimIfSpecialAnimFinished + bl sub_80A2178 + bl sub_806451C + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067060: .4byte 0x030048a0 +_08067064: .4byte 0x03004ae0 + thumb_func_end s6C_release_2 + + thumb_func_start s67_execute_box +s67_execute_box: @ 8067068 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + cmp r0, 0 + bne _08067076 + ldr r0, [r4, 0x64] +_08067076: + bl box_related_two__2 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s67_execute_box + + thumb_func_start s9B_unknown +s9B_unknown: @ 8067084 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + cmp r0, 0 + bne _08067092 + ldr r0, [r4, 0x64] +_08067092: + bl box_related_two__3 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s9B_unknown + + thumb_func_start sub_80670A0 +sub_80670A0: @ 80670A0 + push {lr} + ldr r1, _080670B0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_080670B0: .4byte sub_8064C84 + thumb_func_end sub_80670A0 + + thumb_func_start s68_close_box +s68_close_box: @ 80670B4 + push {lr} + bl textbox_close + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s68_close_box + + thumb_func_start sub_80670C0 +sub_80670C0: @ 80670C0 + push {lr} + ldr r0, _080670DC + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080670E0 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _080670E0 + movs r0, 0 + b _080670E2 + .align 2, 0 +_080670DC: .4byte 0x03001770 +_080670E0: + movs r0, 0x1 +_080670E2: + pop {r1} + bx r1 + thumb_func_end sub_80670C0 + + thumb_func_start sub_80670E8 +sub_80670E8: @ 80670E8 + push {lr} + ldr r1, _080670F8 + bl script_setup_asm_script + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_080670F8: .4byte sub_80670C0 + thumb_func_end sub_80670E8 + + thumb_func_start s6E_yes_no +s6E_yes_no: @ 80670FC + push {lr} + ldr r2, [r0, 0x8] + ldrb r3, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + adds r0, r3, 0 + bl yes_no_box + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0806711E + movs r0, 0 + b _08067124 +_0806711E: + bl sub_80655F0 + movs r0, 0x1 +_08067124: + pop {r1} + bx r1 + thumb_func_end s6E_yes_no + + thumb_func_start sub_8067128 +sub_8067128: @ 8067128 + push {r4,r5,lr} + ldr r2, [r0, 0x8] + ldrb r5, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r3, r2, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r2, 0x1] + adds r4, r3, 0x1 + str r4, [r0, 0x8] + ldrb r3, [r3, 0x1] + adds r4, 0x1 + str r4, [r0, 0x8] + adds r0, r5, 0 + bl sub_80B5054 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08067156 + movs r0, 0 + b _0806715C +_08067156: + bl sub_80655F0 + movs r0, 0x1 +_0806715C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8067128 + + thumb_func_start sub_8067164 +sub_8067164: @ 8067164 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x4 + ldr r2, [r0, 0x8] + ldrb r1, [r2] + mov r8, r1 + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r3, r2, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r2, 0x1] + adds r5, r3, 0x1 + str r5, [r0, 0x8] + ldrb r6, [r3, 0x1] + adds r4, r5, 0x1 + str r4, [r0, 0x8] + ldrb r3, [r5, 0x1] + adds r4, 0x1 + str r4, [r0, 0x8] + str r6, [sp] + mov r0, r8 + bl sub_80B50B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080671A2 + movs r0, 0 + b _080671A8 +_080671A2: + bl sub_80655F0 + movs r0, 0x1 +_080671A8: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8067164 + + thumb_func_start sub_80671B4 +sub_80671B4: @ 80671B4 + push {r4,r5,lr} + ldr r2, [r0, 0x8] + ldrb r5, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r3, r2, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r2, 0x1] + adds r4, r3, 0x1 + str r4, [r0, 0x8] + ldrb r3, [r3, 0x1] + adds r4, 0x1 + str r4, [r0, 0x8] + adds r0, r5, 0 + bl MenuDrawTextWindow + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80671B4 + + thumb_func_start sub_80671E0 +sub_80671E0: @ 80671E0 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x4 + ldr r2, [r0, 0x8] + ldrb r1, [r2] + mov r8, r1 + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r3, r2, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r2, 0x1] + adds r5, r3, 0x1 + str r5, [r0, 0x8] + ldrb r6, [r3, 0x1] + adds r4, r5, 0x1 + str r4, [r0, 0x8] + ldrb r3, [r5, 0x1] + adds r4, 0x1 + str r4, [r0, 0x8] + str r6, [sp] + mov r0, r8 + bl sub_80B5578 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0806721E + movs r0, 0 + b _08067224 +_0806721E: + bl sub_80655F0 + movs r0, 0x1 +_08067224: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80671E0 + + thumb_func_start sub_8067230 +sub_8067230: @ 8067230 + push {r4,r5,lr} + ldr r2, [r0, 0x8] + ldrb r5, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r3, r2, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r2, 0x1] + adds r4, r3, 0x1 + str r4, [r0, 0x8] + ldrb r3, [r3, 0x1] + adds r4, 0x1 + str r4, [r0, 0x8] + adds r0, r5, 0 + bl MenuZeroFillWindowRect + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8067230 + + thumb_func_start s6F_multichoice +s6F_multichoice: @ 806725C + push {r4,r5,lr} + ldr r2, [r0, 0x8] + ldrb r5, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r3, r2, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r2, 0x1] + adds r4, r3, 0x1 + str r4, [r0, 0x8] + ldrb r3, [r3, 0x1] + adds r4, 0x1 + str r4, [r0, 0x8] + adds r0, r5, 0 + bl Multichoice + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0806728A + movs r0, 0 + b _08067290 +_0806728A: + bl sub_80655F0 + movs r0, 0x1 +_08067290: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s6F_multichoice + + thumb_func_start sub_8067298 +sub_8067298: @ 8067298 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldr r3, [r4, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r4, 0x8] + bl sub_80B58C4 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8067298 + + thumb_func_start s76_close_picture_box +s76_close_picture_box: @ 80672C8 + push {r4,lr} + adds r4, r0, 0 + bl picbox_close + adds r1, r0, 0 + cmp r1, 0 + beq _080672E0 + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + b _080672E2 +_080672E0: + movs r0, 0 +_080672E2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end s76_close_picture_box + + thumb_func_start s77_showcontestwinner +s77_showcontestwinner: @ 80672E8 + push {lr} + ldr r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + cmp r2, 0 + beq _080672FC + adds r0, r2, 0 + bl sub_8106630 +_080672FC: + bl sub_80C4F10 + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end s77_showcontestwinner + + thumb_func_start sub_806730C +sub_806730C: @ 806730C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + bl script_read_word + adds r1, r0, 0 + ldrb r5, [r1] + ldrb r6, [r1, 0x1] + ldrb r0, [r1, 0x2] + mov r8, r0 + ldrb r0, [r1, 0x3] + mov r9, r0 + ldrb r0, [r1, 0x4] + mov r10, r0 + ldrb r7, [r1, 0x5] + ldr r4, _08067360 + adds r1, 0x6 + adds r0, r4, 0 + bl StringBraille + adds r0, r5, 0 + adds r1, r6, 0 + mov r2, r8 + mov r3, r9 + bl MenuDrawTextWindow + adds r0, r4, 0 + mov r1, r10 + adds r2, r7, 0 + bl MenuPrint + movs r0, 0 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08067360: .4byte 0x020234cc + thumb_func_end sub_806730C + + thumb_func_start sBD_virtual_message +sBD_virtual_message: @ 8067364 + push {lr} + bl script_read_word + ldr r1, _0806737C + ldr r1, [r1] + subs r0, r1 + bl box_related_two__2 + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_0806737C: .4byte 0x0202e8b0 + thumb_func_end sBD_virtual_message + + thumb_func_start s7D_load_pokename +s7D_load_pokename: @ 8067380 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldr r1, _080673B8 + lsls r4, 2 + adds r4, r1 + ldr r2, [r4] + movs r1, 0xB + muls r1, r0 + ldr r0, _080673BC + adds r1, r0 + adds r0, r2, 0 + bl StringCopy + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080673B8: .4byte gUnknown_083762F0 +_080673BC: .4byte gSpeciesNames + thumb_func_end s7D_load_pokename + + thumb_func_start s7E_load_first_pokenames +s7E_load_first_pokenames: @ 80673C0 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + ldr r0, _08067400 + lsls r2, 2 + adds r2, r0 + ldr r4, [r2] + bl sub_810F87C + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _08067404 + adds r0, r1 + movs r1, 0xB + movs r2, 0 + bl GetMonData + movs r1, 0xB + muls r1, r0 + ldr r0, _08067408 + adds r1, r0 + adds r0, r4, 0 + bl StringCopy + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067400: .4byte gUnknown_083762F0 +_08067404: .4byte 0x03004360 +_08067408: .4byte gSpeciesNames + thumb_func_end s7E_load_first_pokenames + + thumb_func_start s7F_load_pokename_team +s7F_load_pokename_team: @ 806740C + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0806744C + adds r0, r1 + ldr r1, _08067450 + lsls r4, 2 + adds r4, r1 + ldr r4, [r4] + movs r1, 0x2 + adds r2, r4, 0 + bl GetMonData + adds r0, r4, 0 + bl StringGetEnd10 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806744C: .4byte 0x03004360 +_08067450: .4byte gUnknown_083762F0 + thumb_func_end s7F_load_pokename_team + + thumb_func_start s80_load_item_name +s80_load_item_name: @ 8067454 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08067484 + lsls r4, 2 + adds r4, r1 + ldr r1, [r4] + bl itemid_copy_name + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067484: .4byte gUnknown_083762F0 + thumb_func_end s80_load_item_name + + thumb_func_start sub_8067488 +sub_8067488: @ 8067488 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + ldr r0, _080674BC + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + lsrs r1, 11 + ldr r2, _080674C0 + adds r1, r2 + bl StringCopy + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080674BC: .4byte gUnknown_083762F0 +_080674C0: .4byte gDecorations + 0x1 + thumb_func_end sub_8067488 + + thumb_func_start s82_load_item_name +s82_load_item_name: @ 80674C4 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldr r1, _080674FC + lsls r4, 2 + adds r4, r1 + ldr r2, [r4] + movs r1, 0xD + muls r1, r0 + ldr r0, _08067500 + adds r1, r0 + adds r0, r2, 0 + bl StringCopy + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080674FC: .4byte gUnknown_083762F0 +_08067500: .4byte gMoveNames + thumb_func_end s82_load_item_name + + thumb_func_start s83_load_textvar_var +s83_load_textvar_var: @ 8067504 + push {r4,r5,lr} + ldr r1, [r0, 0x8] + ldrb r5, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r4, 0 + bl sub_80BF0B8 + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + ldr r0, _08067544 + lsls r5, 2 + adds r5, r0 + ldr r0, [r5] + adds r1, r4, 0 + movs r2, 0 + bl ConvertIntToDecimalStringN + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08067544: .4byte gUnknown_083762F0 + thumb_func_end s83_load_textvar_var + + thumb_func_start s84_load_textvar_std_expression +s84_load_textvar_std_expression: @ 8067548 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + ldr r1, _08067580 + lsls r4, 2 + adds r4, r1 + ldr r2, [r4] + ldr r1, _08067584 + lsrs r0, 14 + adds r0, r1 + ldr r1, [r0] + adds r0, r2, 0 + bl StringCopy + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067580: .4byte gUnknown_083762F0 +_08067584: .4byte gUnknown_083CE048 + thumb_func_end s84_load_textvar_std_expression + + thumb_func_start s85_load_textvar_pointer +s85_load_textvar_pointer: @ 8067588 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_word + adds r1, r0, 0 + ldr r0, _080675AC + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + bl StringCopy + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080675AC: .4byte gUnknown_083762F0 + thumb_func_end s85_load_textvar_pointer + + thumb_func_start sBE_virtual_load_text +sBE_virtual_load_text: @ 80675B0 + push {lr} + bl script_read_word + adds r1, r0, 0 + ldr r0, _080675CC + ldr r0, [r0] + subs r1, r0 + ldr r0, _080675D0 + bl StringExpandPlaceholders + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080675CC: .4byte 0x0202e8b0 +_080675D0: .4byte 0x020234cc + thumb_func_end sBE_virtual_load_text + + thumb_func_start sBF_virtual_load_textbuffer +sBF_virtual_load_textbuffer: @ 80675D4 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_word + adds r1, r0, 0 + ldr r0, _08067600 + ldr r0, [r0] + subs r1, r0 + ldr r0, _08067604 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + bl StringCopy + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067600: .4byte 0x0202e8b0 +_08067604: .4byte gUnknown_083762F0 + thumb_func_end sBF_virtual_load_textbuffer + + thumb_func_start s79_give_pokemon +s79_give_pokemon: @ 8067608 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x8 + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r6, r0, 0 + lsls r6, 16 + lsrs r6, 16 + ldr r0, [r4, 0x8] + ldrb r1, [r0] + mov r9, r1 + adds r0, 0x1 + str r0, [r4, 0x8] + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r4, 0 + bl script_read_word + mov r8, r0 + adds r0, r4, 0 + bl script_read_word + ldr r1, [r4, 0x8] + ldrb r2, [r1] + adds r1, 0x1 + str r1, [r4, 0x8] + ldr r4, _08067684 + str r0, [sp] + str r2, [sp, 0x4] + adds r0, r6, 0 + mov r1, r9 + adds r2, r5, 0 + mov r3, r8 + bl sub_80C5374 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08067684: .4byte 0x0202e8dc + thumb_func_end s79_give_pokemon + + thumb_func_start s7A_create_egg +s7A_create_egg: @ 8067688 + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldr r4, _080676B0 + bl sub_80C53F8 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080676B0: .4byte 0x0202e8dc + thumb_func_end s7A_create_egg + + thumb_func_start s7B_change_pokedata_AP +s7B_change_pokedata_AP: @ 80676B4 + push {r4,r5,lr} + ldr r1, [r0, 0x8] + ldrb r5, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r5, 0 + adds r2, r4, 0 + bl sub_80C5530 + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end s7B_change_pokedata_AP + + thumb_func_start sub_80676E0 +sub_80676E0: @ 80676E0 + push {r4-r7,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r7, r0, 16 + ldr r1, _080676F4 + movs r0, 0x6 + strh r0, [r1] + movs r6, 0 + b _0806772E + .align 2, 0 +_080676F4: .4byte 0x0202e8dc +_080676F8: + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _08067728 + adds r0, r4, 0 + adds r1, r7, 0 + bl pokemon_has_move + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08067728 + ldr r0, _08067720 + strh r6, [r0] + ldr r0, _08067724 + strh r5, [r0] + b _0806774E + .align 2, 0 +_08067720: .4byte 0x0202e8dc +_08067724: .4byte 0x0202e8cc +_08067728: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_0806772E: + cmp r6, 0x5 + bhi _0806774E + movs r0, 0x64 + adds r1, r6, 0 + muls r1, r0 + ldr r0, _08067758 + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0 + bne _080676F8 +_0806774E: + movs r0, 0 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08067758: .4byte 0x03004360 + thumb_func_end sub_80676E0 + + thumb_func_start sub_806775C +sub_806775C: @ 806775C + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r2, r0, 0 + ldr r0, [r4, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + cmp r1, 0 + bne _0806777A + ldr r0, _08067784 + adds r1, r2, 0 + bl sub_80B79B8 +_0806777A: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067784: .4byte 0x02025bc4 + thumb_func_end sub_806775C + + thumb_func_start sub_8067788 +sub_8067788: @ 8067788 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r2, r0, 0 + ldr r0, [r4, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + cmp r1, 0 + bne _080677A6 + ldr r0, _080677B0 + adds r1, r2, 0 + bl sub_80B79E0 +_080677A6: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080677B0: .4byte 0x02025bc4 + thumb_func_end sub_8067788 + + thumb_func_start s92_check_money +s92_check_money: @ 80677B4 + push {r4,lr} + adds r4, r0, 0 + bl script_read_word + adds r2, r0, 0 + ldr r0, [r4, 0x8] + ldrb r1, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + cmp r1, 0 + bne _080677E2 + ldr r4, _080677EC + ldr r0, _080677F0 + movs r1, 0x92 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + adds r1, r2, 0 + bl IsEnoughMoney + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] +_080677E2: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080677EC: .4byte 0x0202e8dc +_080677F0: .4byte 0x02025734 + thumb_func_end s92_check_money + + thumb_func_start sub_80677F4 +sub_80677F4: @ 80677F4 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + ldrb r3, [r1] + adds r2, r1, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r1, 0x1] + adds r2, 0x1 + str r2, [r0, 0x8] + cmp r1, 0 + bne _08067820 + ldr r0, _08067828 + movs r1, 0x92 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + adds r1, r4, 0 + adds r2, r3, 0 + bl sub_80B7C14 +_08067820: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067828: .4byte 0x02025734 + thumb_func_end sub_80677F4 + + thumb_func_start sub_806782C +sub_806782C: @ 806782C + push {lr} + ldr r2, [r0, 0x8] + ldrb r3, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + adds r0, r3, 0 + bl RemoveMoneyLabelObject + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sub_806782C + + thumb_func_start sub_8067848 +sub_8067848: @ 8067848 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + ldrb r3, [r1] + adds r2, r1, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r1, 0x1] + adds r2, 0x1 + str r2, [r0, 0x8] + cmp r1, 0 + bne _08067874 + ldr r0, _0806787C + movs r1, 0x92 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + adds r1, r4, 0 + adds r2, r3, 0 + bl sub_80B7BEC +_08067874: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806787C: .4byte 0x02025734 + thumb_func_end sub_8067848 + + thumb_func_start sub_8067880 +sub_8067880: @ 8067880 + push {lr} + ldr r3, [r0, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r0, 0x8] + ldr r0, _080678A4 + ldr r3, _080678A8 + adds r0, r3 + ldrh r0, [r0] + bl sub_811A72C + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080678A4: .4byte 0x02025734 +_080678A8: .4byte 0x00000494 + thumb_func_end sub_8067880 + + thumb_func_start sub_80678AC +sub_80678AC: @ 80678AC + push {lr} + ldr r2, [r0, 0x8] + ldrb r3, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + ldrb r1, [r2] + adds r2, 0x1 + str r2, [r0, 0x8] + adds r0, r3, 0 + bl sub_811A770 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sub_80678AC + + thumb_func_start sub_80678C8 +sub_80678C8: @ 80678C8 + push {lr} + ldr r3, [r0, 0x8] + ldrb r1, [r3] + adds r3, 0x1 + str r3, [r0, 0x8] + ldrb r2, [r3] + adds r3, 0x1 + str r3, [r0, 0x8] + ldr r0, _080678EC + ldr r3, _080678F0 + adds r0, r3 + ldrh r0, [r0] + bl sub_811A704 + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080678EC: .4byte 0x02025734 +_080678F0: .4byte 0x00000494 + thumb_func_end sub_80678C8 + + thumb_func_start s5C_trainer_battle_configure_and_start +s5C_trainer_battle_configure_and_start: @ 80678F4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, [r4, 0x8] + bl sub_80823C8 + str r0, [r4, 0x8] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s5C_trainer_battle_configure_and_start + + thumb_func_start sub_8067908 +sub_8067908: @ 8067908 + push {lr} + bl sub_80825E4 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8067908 + + thumb_func_start sub_8067914 +sub_8067914: @ 8067914 + push {r4,lr} + adds r4, r0, 0 + bl sub_80826E8 + str r0, [r4, 0x8] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8067914 + + thumb_func_start sub_8067928 +sub_8067928: @ 8067928 + push {r4,lr} + adds r4, r0, 0 + bl sub_8082700 + str r0, [r4, 0x8] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8067928 + + thumb_func_start s60_check_trainer_flag +s60_check_trainer_flag: @ 806793C + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl trainer_flag_check + strb r0, [r4, 0x2] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end s60_check_trainer_flag + + thumb_func_start s61_set_trainer_flag +s61_set_trainer_flag: @ 8067960 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl trainer_flag_set + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s61_set_trainer_flag + + thumb_func_start s62_unset_trainer_flag +s62_unset_trainer_flag: @ 806797C + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl trainer_flag_clear + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end s62_unset_trainer_flag + + thumb_func_start sB6_load_battle +sB6_load_battle: @ 8067998 + push {r4-r6,lr} + adds r4, r0, 0 + bl script_read_halfword + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + ldr r0, [r4, 0x8] + ldrb r6, [r0] + adds r0, 0x1 + str r0, [r4, 0x8] + adds r0, r4, 0 + bl script_read_halfword + adds r2, r0, 0 + lsls r2, 16 + lsrs r2, 16 + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_80C54D0 + movs r0, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sB6_load_battle + + thumb_func_start sub_80679CC +sub_80679CC: @ 80679CC + push {lr} + bl sub_8081B3C + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_80679CC + + thumb_func_start s86_pokemart +s86_pokemart: @ 80679DC + push {lr} + bl script_read_word + bl CreatePokemartMenu + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end s86_pokemart + + thumb_func_start s87_pokemartdecor +s87_pokemartdecor: @ 80679F0 + push {lr} + bl script_read_word + bl CreateDecorationShop1Menu + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end s87_pokemartdecor + + thumb_func_start s88_pokemartbp +s88_pokemartbp: @ 8067A04 + push {lr} + bl script_read_word + bl CreateDecorationShop2Menu + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end s88_pokemartbp + + thumb_func_start s89_open_casino_game1 +s89_open_casino_game1: @ 8067A18 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08067A3C + bl sub_81018A0 + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_08067A3C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music + thumb_func_end s89_open_casino_game1 + + thumb_func_start berry_script_cmd +berry_script_cmd: @ 8067A40 + push {r4,r5,lr} + ldr r1, [r0, 0x8] + ldrb r5, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + ldrb r3, [r1] + adds r2, r1, 0x1 + str r2, [r0, 0x8] + ldrb r4, [r1, 0x1] + adds r2, 0x1 + str r2, [r0, 0x8] + cmp r3, 0 + bne _08067A68 + adds r0, r5, 0 + movs r1, 0 + adds r2, r4, 0 + movs r3, 0 + bl PlantBerryTree + b _08067A74 +_08067A68: + adds r0, r5, 0 + adds r1, r3, 0 + adds r2, r4, 0 + movs r3, 0 + bl PlantBerryTree +_08067A74: + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end berry_script_cmd + + thumb_func_start sub_8067A7C +sub_8067A7C: @ 8067A7C + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r4, _08067AA4 + lsls r0, 24 + lsrs r0, 24 + bl GetPriceReduction + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067AA4: .4byte 0x0202e8dc + thumb_func_end sub_8067A7C + + thumb_func_start sub_8067AA8 +sub_8067AA8: @ 8067AA8 + push {lr} + bl sub_80F99CC + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8067AA8 + + thumb_func_start sub_8067AB8 +sub_8067AB8: @ 8067AB8 + push {lr} + bl sub_80C48C8 + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8067AB8 + + thumb_func_start sub_8067AC8 +sub_8067AC8: @ 8067AC8 + push {lr} + bl sub_80C4940 + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8067AC8 + + thumb_func_start sub_8067AD8 +sub_8067AD8: @ 8067AD8 + push {lr} + ldr r0, _08067AEC + ldrb r0, [r0] + bl sub_80C4980 + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_08067AEC: .4byte 0x0203869c + thumb_func_end sub_8067AD8 + + thumb_func_start s9C_execute_HM +s9C_execute_HM: @ 8067AF0 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldr r1, _08067B14 + strh r0, [r1] + lsls r0, 24 + lsrs r0, 24 + bl FieldEffectStart + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08067B14: .4byte 0x0202e8bc + thumb_func_end s9C_execute_HM + + thumb_func_start s9D_set_HM_animation_data +s9D_set_HM_animation_data: @ 8067B18 + push {r4,lr} + ldr r1, [r0, 0x8] + ldrb r4, [r1] + adds r1, 0x1 + str r1, [r0, 0x8] + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r1, _08067B44 + lsls r4, 2 + adds r4, r1 + lsls r0, 16 + asrs r0, 16 + str r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067B44: .4byte 0x0202ff84 + thumb_func_end s9D_set_HM_animation_data + + thumb_func_start sub_8067B48 +sub_8067B48: @ 8067B48 + push {lr} + ldr r0, _08067B5C + ldrb r0, [r0] + bl FieldEffectActiveListContains + lsls r0, 24 + cmp r0, 0 + beq _08067B60 + movs r0, 0 + b _08067B62 + .align 2, 0 +_08067B5C: .4byte 0x0202e8bc +_08067B60: + movs r0, 0x1 +_08067B62: + pop {r1} + bx r1 + thumb_func_end sub_8067B48 + + thumb_func_start s9E_checkarray_HM_animation +s9E_checkarray_HM_animation: @ 8067B68 + push {r4,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + ldr r1, _08067B8C + strh r0, [r1] + ldr r1, _08067B90 + adds r0, r4, 0 + bl script_setup_asm_script + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08067B8C: .4byte 0x0202e8bc +_08067B90: .4byte sub_8067B48 + thumb_func_end s9E_checkarray_HM_animation + + thumb_func_start sub_8067B94 +sub_8067B94: @ 8067B94 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + bl sub_8053588 + movs r0, 0 + pop {r1} + bx r1 + thumb_func_end sub_8067B94 + + thumb_func_start sub_8067BB0 +sub_8067BB0: @ 8067BB0 + ldr r0, _08067BBC + ldr r1, _08067BC0 + ldrb r1, [r1, 0x8] + strh r1, [r0] + movs r0, 0 + bx lr + .align 2, 0 +_08067BBC: .4byte 0x0202e8dc +_08067BC0: .4byte gSaveBlock2 + thumb_func_end sub_8067BB0 + + thumb_func_start sA1_play_cry +sA1_play_cry: @ 8067BC4 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_8075178 + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sA1_play_cry + + thumb_func_start sub_8067BFC +sub_8067BFC: @ 8067BFC + push {lr} + ldr r1, _08067C0C + bl script_setup_asm_script + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_08067C0C: .4byte sub_8075374 + thumb_func_end sub_8067BFC + + thumb_func_start sA2_setmaptile +sA2_setmaptile: @ 8067C10 + push {r4-r7,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r7, r0, 16 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + adds r1, r6, 0x7 + lsls r1, 16 + lsrs r6, r1, 16 + adds r1, r5, 0x7 + lsls r1, 16 + lsrs r5, r1, 16 + cmp r0, 0 + bne _08067C74 + adds r0, r6, 0 + adds r1, r5, 0 + adds r2, r7, 0 + bl MapGridSetMetatileIdAt + b _08067C86 +_08067C74: + movs r1, 0xC0 + lsls r1, 4 + adds r0, r1, 0 + adds r2, r7, 0 + orrs r2, r0 + adds r0, r6, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_08067C86: + movs r0, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sA2_setmaptile + + thumb_func_start sAC_open_door +sAC_open_door: @ 8067C90 + push {r4,r5,lr} + adds r4, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r4, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + adds r5, 0x7 + lsls r5, 16 + lsrs r5, 16 + movs r0, 0xE0 + lsls r0, 11 + adds r4, r0 + lsrs r4, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8058790 + lsls r0, 16 + lsrs r0, 16 + bl audio_play + adds r0, r5, 0 + adds r1, r4, 0 + bl task_overworld_door_add_if_role_69_for_opening_door_at + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sAC_open_door + + thumb_func_start sub_8067CE8 +sub_8067CE8: @ 8067CE8 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + adds r4, 0x7 + lsls r4, 16 + lsrs r4, 16 + movs r0, 0xE0 + lsls r0, 11 + adds r1, r0 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_805870C + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8067CE8 + + thumb_func_start sub_8067D2C +sub_8067D2C: @ 8067D2C + push {lr} + bl sub_805877C + lsls r0, 24 + cmp r0, 0 + beq _08067D3C + movs r0, 0 + b _08067D3E +_08067D3C: + movs r0, 0x1 +_08067D3E: + pop {r1} + bx r1 + thumb_func_end sub_8067D2C + + thumb_func_start sub_8067D44 +sub_8067D44: @ 8067D44 + push {lr} + ldr r1, _08067D54 + bl script_setup_asm_script + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_08067D54: .4byte sub_8067D2C + thumb_func_end sub_8067D44 + + thumb_func_start sub_8067D58 +sub_8067D58: @ 8067D58 + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + adds r4, 0x7 + lsls r4, 16 + lsrs r4, 16 + movs r0, 0xE0 + lsls r0, 11 + adds r1, r0 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_80586B4 + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8067D58 + + thumb_func_start sub_8067D9C +sub_8067D9C: @ 8067D9C + push {r4,r5,lr} + adds r5, r0, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + adds r4, 0x7 + lsls r4, 16 + lsrs r4, 16 + movs r0, 0xE0 + lsls r0, 11 + adds r1, r0 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_80586E0 + movs r0, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8067D9C + + thumb_func_start sub_8067DE0 +sub_8067DE0: @ 8067DE0 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r6, r0, 0 + ldr r0, [r6, 0x8] + ldrb r1, [r0] + mov r8, r1 + adds r0, 0x1 + str r0, [r6, 0x8] + adds r0, r6, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r6, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r6, 0 + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + adds r3, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + lsrs r4, 24 + lsls r3, 24 + lsrs r3, 24 + mov r0, r8 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_810E7AC + movs r0, 0 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8067DE0 + + thumb_func_start sub_8067E4C +sub_8067E4C: @ 8067E4C + push {lr} + bl sub_810E824 + bl sub_80655F0 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8067E4C + + thumb_func_start sB3_get_coin_amount +sB3_get_coin_amount: @ 8067E5C + push {r4,lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl GetVarPointer + adds r4, r0, 0 + bl GetCoins + strh r0, [r4] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sB3_get_coin_amount + + thumb_func_start sub_8067E7C +sub_8067E7C: @ 8067E7C + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl sub_811A840 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08067EA4 + ldr r1, _08067EA0 + movs r0, 0 + b _08067EA8 + .align 2, 0 +_08067EA0: .4byte 0x0202e8dc +_08067EA4: + ldr r1, _08067EB0 + movs r0, 0x1 +_08067EA8: + strh r0, [r1] + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08067EB0: .4byte 0x0202e8dc + thumb_func_end sub_8067E7C + + thumb_func_start sub_8067EB4 +sub_8067EB4: @ 8067EB4 + push {lr} + bl script_read_halfword + lsls r0, 16 + lsrs r0, 16 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl sub_811A898 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08067EDC + ldr r1, _08067ED8 + movs r0, 0 + b _08067EE0 + .align 2, 0 +_08067ED8: .4byte 0x0202e8dc +_08067EDC: + ldr r1, _08067EE8 + movs r0, 0x1 +_08067EE0: + strh r0, [r1] + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08067EE8: .4byte 0x0202e8dc + thumb_func_end sub_8067EB4 + + thumb_func_start sub_8067EEC +sub_8067EEC: @ 8067EEC + push {r4,r5,lr} + movs r1, 0x2 + negs r1, r1 + movs r3, 0x3 + negs r3, r3 + movs r4, 0x5 + negs r4, r4 + movs r5, 0x9 + negs r5, r5 + movs r2, 0 + strb r2, [r0] + ldrb r2, [r0, 0x1] + ands r1, r2 + ands r1, r3 + ands r1, r4 + ands r1, r5 + strb r1, [r0, 0x1] + movs r1, 0 + strb r1, [r0, 0x2] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8067EEC + + thumb_func_start process_overworld_input +process_overworld_input: @ 8067F18 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r4, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + lsls r2, 16 + lsrs r2, 16 + mov r8, r2 + ldr r0, _08067FE8 + ldrb r6, [r0, 0x3] + ldrb r0, [r0, 0x2] + mov r9, r0 + bl cur_mapdata_block_role_at_player_pos + lsls r0, 24 + lsrs r0, 24 + bl sub_8056FFC + lsls r0, 24 + lsrs r7, r0, 24 + cmp r6, 0x2 + bne _08067F4C + cmp r7, 0 + beq _08067F50 +_08067F4C: + cmp r6, 0 + bne _08067FB2 +_08067F50: + bl sub_80E6034 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + beq _08067F9C + movs r0, 0x8 + ands r0, r5 + cmp r0, 0 + beq _08067F6C + ldrb r0, [r4] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4] +_08067F6C: + movs r0, 0x4 + ands r0, r5 + cmp r0, 0 + beq _08067F7C + ldrb r0, [r4] + movs r1, 0x8 + orrs r0, r1 + strb r0, [r4] +_08067F7C: + movs r0, 0x1 + ands r0, r5 + cmp r0, 0 + beq _08067F8C + ldrb r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4] +_08067F8C: + movs r0, 0x2 + ands r0, r5 + cmp r0, 0 + beq _08067F9C + ldrb r0, [r4] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r4] +_08067F9C: + movs r0, 0xF0 + mov r1, r8 + ands r0, r1 + cmp r0, 0 + beq _08067FB2 + ldrb r0, [r4] + movs r1, 0x10 + orrs r0, r1 + movs r1, 0x20 + orrs r0, r1 + strb r0, [r4] +_08067FB2: + cmp r7, 0 + bne _08067FD8 + cmp r6, 0x2 + bne _08067FC8 + mov r0, r9 + cmp r0, 0x2 + bne _08067FC8 + ldrb r0, [r4] + movs r1, 0x40 + orrs r0, r1 + strb r0, [r4] +_08067FC8: + cmp r7, 0 + bne _08067FD8 + cmp r6, 0x2 + bne _08067FD8 + ldrb r0, [r4] + movs r1, 0x2 + orrs r0, r1 + strb r0, [r4] +_08067FD8: + movs r0, 0x40 + mov r1, r8 + ands r0, r1 + cmp r0, 0 + beq _08067FEC + movs r0, 0x2 + b _08068014 + .align 2, 0 +_08067FE8: .4byte 0x0202e858 +_08067FEC: + movs r0, 0x80 + mov r1, r8 + ands r0, r1 + cmp r0, 0 + beq _08067FFA + movs r0, 0x1 + b _08068014 +_08067FFA: + movs r0, 0x20 + mov r1, r8 + ands r0, r1 + cmp r0, 0 + beq _08068008 + movs r0, 0x3 + b _08068014 +_08068008: + movs r0, 0x10 + mov r1, r8 + ands r0, r1 + cmp r0, 0 + beq _08068016 + movs r0, 0x4 +_08068014: + strb r0, [r4, 0x2] +_08068016: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end process_overworld_input + + thumb_func_start sub_8068024 +sub_8068024: @ 8068024 + push {r4-r6,lr} + sub sp, 0x8 + adds r5, r0, 0 + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r6, r0, 24 + mov r4, sp + mov r0, sp + bl player_get_pos_to_and_height + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0x2 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 16 + lsrs r4, r0, 16 + bl sub_8083FBC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068150 + bl mapheader_run_first_tag2_script_list_match + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068150 + ldrb r1, [r5] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08068076 + bl sub_80687A4 + cmp r0, 0x1 + beq _08068150 +_08068076: + ldrb r1, [r5] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _08068098 + movs r0, 0x5 + bl sav12_xor_increment + mov r0, sp + adds r1, r4, 0 + adds r2, r6, 0 + bl sub_80687E4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068150 +_08068098: + ldrb r1, [r5] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080680B0 + adds r0, r4, 0 + bl is_it_battle_time_3 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068150 +_080680B0: + ldrb r1, [r5] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080680D2 + ldrb r0, [r5, 0x2] + cmp r0, r6 + bne _080680D2 + mov r0, sp + adds r1, r4, 0 + adds r2, r6, 0 + bl mapheader_run_first_tag2_script_list_match_conditionally + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068150 +_080680D2: + mov r4, sp + mov r0, sp + bl player_get_next_pos_and_height + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0x2 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 16 + lsrs r4, r0, 16 + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08068108 + mov r0, sp + adds r1, r4, 0 + adds r2, r6, 0 + bl sub_80681F0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068150 +_08068108: + ldrb r1, [r5] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0806812A + ldrb r0, [r5, 0x2] + cmp r0, r6 + bne _0806812A + mov r0, sp + adds r1, r4, 0 + adds r2, r6, 0 + bl map_warp_consider_2_to_inside + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068150 +_0806812A: + ldrb r1, [r5] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0806813C + bl sub_8068770 + cmp r0, 0x1 + beq _08068150 +_0806813C: + ldrb r1, [r5] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08068154 + movs r0, 0x6 + bl audio_play + bl sub_8071310 +_08068150: + movs r0, 0x1 + b _08068166 +_08068154: + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08068164 + bl sub_80A6D1C + cmp r0, 0x1 + beq _08068150 +_08068164: + movs r0, 0 +_08068166: + add sp, 0x8 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8068024 + + thumb_func_start player_get_pos_to_and_height +player_get_pos_to_and_height: @ 8068170 + push {r4,lr} + adds r4, r0, 0 + adds r1, r4, 0x2 + bl PlayerGetDestCoords + bl PlayerGetZCoord + strb r0, [r4, 0x4] + pop {r4} + pop {r0} + bx r0 + thumb_func_end player_get_pos_to_and_height + + thumb_func_start player_get_next_pos_and_height +player_get_next_pos_and_height: @ 8068188 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + adds r1, r5, 0x2 + bl GetXYCoordsOneStepInFrontOfPlayer + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080681BA + bl PlayerGetZCoord +_080681BA: + strb r0, [r5, 0x4] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end player_get_next_pos_and_height + + thumb_func_start cur_mapdata_block_role_at_player_pos +cur_mapdata_block_role_at_player_pos: @ 80681C4 + push {r4,lr} + sub sp, 0x4 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 16 + lsrs r0, 16 + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end cur_mapdata_block_role_at_player_pos + + thumb_func_start sub_80681F0 +sub_80681F0: @ 80681F0 + push {r4,lr} + lsls r2, 24 + lsrs r2, 24 + lsls r1, 24 + lsrs r1, 24 + bl TryGetScriptOnPressingA + adds r4, r0, 0 + cmp r4, 0 + bne _08068208 + movs r0, 0 + b _08068234 +_08068208: + ldr r0, _0806823C + cmp r4, r0 + beq _0806822C + ldr r0, _08068240 + cmp r4, r0 + beq _0806822C + ldr r0, _08068244 + cmp r4, r0 + beq _0806822C + ldr r0, _08068248 + cmp r4, r0 + beq _0806822C + ldr r0, _0806824C + cmp r4, r0 + beq _0806822C + movs r0, 0x5 + bl audio_play +_0806822C: + adds r0, r4, 0 + bl script_env_1_execute_new_script + movs r0, 0x1 +_08068234: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806823C: .4byte gUnknown_0815281E +_08068240: .4byte gUnknown_08152C39 +_08068244: .4byte gUnknown_0815F36C +_08068248: .4byte gUnknown_0815F43A +_0806824C: .4byte gUnknown_081A0009 + thumb_func_end sub_80681F0 + + thumb_func_start TryGetScriptOnPressingA +TryGetScriptOnPressingA: @ 8068250 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + mov r8, r5 + lsls r2, 24 + lsrs r4, r2, 24 + adds r7, r4, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_8068364 + cmp r0, 0 + bne _0806829C + adds r0, r6, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl TryGetInvisibleMapObjectScript + cmp r0, 0 + bne _0806829C + adds r0, r6, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_8068500 + cmp r0, 0 + bne _0806829C + adds r0, r6, 0 + mov r1, r8 + adds r2, r7, 0 + bl TryGetFieldMoveScript + cmp r0, 0 + bne _0806829C + movs r0, 0 +_0806829C: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end TryGetScriptOnPressingA + + thumb_func_start sub_80682A8 +sub_80682A8: @ 80682A8 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r2, 24 + lsrs r6, r2, 24 + movs r1, 0 + ldrsh r0, [r4, r1] + movs r2, 0x2 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsCounter + lsls r0, 24 + cmp r0, 0 + bne _080682D0 + ldrh r0, [r4] + ldrh r1, [r4, 0x2] + b _080682EE +_080682D0: + ldr r1, _08068314 + lsls r2, r6, 3 + adds r0, r2, r1 + ldr r3, [r0] + ldrh r0, [r4] + adds r0, r3 + lsls r0, 16 + lsrs r0, 16 + adds r1, 0x4 + adds r2, r1 + ldr r2, [r2] + ldrh r1, [r4, 0x2] + adds r1, r2 + lsls r1, 16 + lsrs r1, 16 +_080682EE: + ldrb r2, [r4, 0x4] + bl GetFieldObjectIdByXYZ + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x10 + beq _0806830E + ldr r1, _08068318 + lsls r2, r3, 3 + adds r0, r2, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x8] + adds r5, r1, 0 + cmp r0, 0xFF + bne _0806831C +_0806830E: + movs r0, 0 + b _0806834E + .align 2, 0 +_08068314: .4byte gUnknown_0821664C +_08068318: .4byte 0x030048a0 +_0806831C: + movs r4, 0 + ldr r1, _08068354 +_08068320: + ldrb r0, [r1] + cmp r0, 0x1 + bne _0806832C + ldrb r0, [r1, 0x2] + cmp r0, r3 + beq _0806830E +_0806832C: + adds r1, 0x4 + adds r4, 0x1 + cmp r4, 0x3 + ble _08068320 + ldr r0, _08068358 + strb r3, [r0] + ldr r1, _0806835C + adds r0, r2, r3 + lsls r0, 2 + adds r0, r5 + ldrb r0, [r0, 0x8] + strh r0, [r1] + ldr r0, _08068360 + strh r6, [r0] + adds r0, r3, 0 + bl GetFieldObjectScriptPointerByFieldObjectId +_0806834E: + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08068354: .4byte 0x02029818 +_08068358: .4byte 0x03004ae0 +_0806835C: .4byte 0x0202e8de +_08068360: .4byte 0x0202e8e0 + thumb_func_end sub_80682A8 + + thumb_func_start sub_8068364 +sub_8068364: @ 8068364 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r6, r2, 24 + ldrh r0, [r4] + ldrh r1, [r4, 0x2] + ldrb r2, [r4, 0x4] + bl GetFieldObjectIdByXYZ + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x10 + beq _08068392 + ldr r1, _080683E0 + lsls r2, r3, 3 + adds r0, r2, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x8] + cmp r0, 0xFF + bne _080683E8 +_08068392: + adds r0, r5, 0 + bl MetatileBehavior_IsCounter + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080683DC + ldr r1, _080683E4 + lsls r2, r6, 3 + adds r0, r2, r1 + ldr r3, [r0] + ldrh r0, [r4] + adds r0, r3 + lsls r0, 16 + lsrs r0, 16 + adds r1, 0x4 + adds r2, r1 + ldr r2, [r2] + ldrh r1, [r4, 0x2] + adds r1, r2 + lsls r1, 16 + lsrs r1, 16 + ldrb r2, [r4, 0x4] + bl GetFieldObjectIdByXYZ + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x10 + beq _080683DC + ldr r1, _080683E0 + lsls r2, r3, 3 + adds r0, r2, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x8] + cmp r0, 0xFF + bne _080683E8 +_080683DC: + movs r0, 0 + b _0806840C + .align 2, 0 +_080683E0: .4byte 0x030048a0 +_080683E4: .4byte gUnknown_0821664C +_080683E8: + ldr r0, _08068414 + strb r3, [r0] + ldr r4, _08068418 + adds r0, r2, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x8] + strh r0, [r4] + ldr r0, _0806841C + strh r6, [r0] + adds r0, r3, 0 + bl GetFieldObjectScriptPointerByFieldObjectId + adds r1, r0, 0 + ldrb r0, [r4] + bl sub_806580C + adds r1, r0, 0 +_0806840C: + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08068414: .4byte 0x03004ae0 +_08068418: .4byte 0x0202e8de +_0806841C: .4byte 0x0202e8e0 + thumb_func_end sub_8068364 + + thumb_func_start TryGetInvisibleMapObjectScript +TryGetInvisibleMapObjectScript: @ 8068420 + push {r4,r5,lr} + lsls r2, 24 + lsrs r5, r2, 24 + ldr r4, _08068450 + ldrh r1, [r0] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + ldrh r2, [r0, 0x2] + subs r2, 0x7 + lsls r2, 16 + lsrs r2, 16 + ldrb r3, [r0, 0x4] + adds r0, r4, 0 + bl FindInvisibleMapObjectByPosition + cmp r0, 0 + beq _08068494 + ldr r2, [r0, 0x8] + cmp r2, 0 + bne _08068458 + ldr r0, _08068454 + b _080684FA + .align 2, 0 +_08068450: .4byte 0x0202e828 +_08068454: .4byte gUnknown_081C6C02 +_08068458: + ldrb r0, [r0, 0x5] + cmp r0, 0x8 + bhi _080684F8 + lsls r0, 2 + ldr r1, _08068468 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08068468: .4byte _0806846C + .align 2, 0 +_0806846C: + .4byte _080684F8 + .4byte _08068490 + .4byte _08068498 + .4byte _0806849E + .4byte _080684A4 + .4byte _080684AA + .4byte _080684AA + .4byte _080684AA + .4byte _080684D8 +_08068490: + cmp r5, 0x2 + beq _080684F8 +_08068494: + movs r0, 0 + b _080684FA +_08068498: + cmp r5, 0x1 + beq _080684F8 + b _08068494 +_0806849E: + cmp r5, 0x4 + beq _080684F8 + b _08068494 +_080684A4: + cmp r5, 0x3 + beq _080684F8 + b _08068494 +_080684AA: + ldr r1, _080684CC + lsrs r0, r2, 16 + movs r3, 0x96 + lsls r3, 2 + adds r0, r3 + strh r0, [r1] + ldr r0, _080684D0 + strh r2, [r0] + ldrh r0, [r1] + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068494 + ldr r0, _080684D4 + b _080684FA + .align 2, 0 +_080684CC: .4byte 0x0202e8cc +_080684D0: .4byte 0x0202e8ce +_080684D4: .4byte HiddenItemScript +_080684D8: + cmp r5, 0x2 + bne _08068494 + ldr r0, _080684F0 + strh r2, [r0] + bl sub_80BC050 + lsls r0, 24 + cmp r0, 0 + beq _08068494 + ldr r0, _080684F4 + b _080684FA + .align 2, 0 +_080684F0: .4byte 0x0202e8cc +_080684F4: .4byte gUnknown_081A2C51 +_080684F8: + adds r0, r2, 0 +_080684FA: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end TryGetInvisibleMapObjectScript + + thumb_func_start sub_8068500 +sub_8068500: @ 8068500 + push {r4-r6,lr} + adds r6, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r2, 24 + adds r0, r5, 0 + adds r1, r2, 0 + bl MetatileBehavior_IsPlayerFacingTVScreen + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068524 + ldr r0, _08068520 + b _080686EE + .align 2, 0 +_08068520: .4byte Event_TV +_08068524: + adds r0, r5, 0 + bl MetatileBehavior_IsPC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806853C + ldr r0, _08068538 + b _080686EE + .align 2, 0 +_08068538: .4byte gUnknown_081A0009 +_0806853C: + adds r0, r5, 0 + bl is_tile_x8B + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068554 + ldr r0, _08068550 + b _080686EE + .align 2, 0 +_08068550: .4byte ClosedSootopolisGymDoorScript +_08068554: + adds r0, r5, 0 + bl is_tile_x84 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806856C + ldr r0, _08068568 + b _080686EE + .align 2, 0 +_08068568: .4byte gUnknown_081A4363 +_0806856C: + adds r0, r5, 0 + bl is_tile_x87 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068584 + ldr r0, _08068580 + b _080686EE + .align 2, 0 +_08068580: .4byte gUnknown_081C346A +_08068584: + adds r0, r5, 0 + bl is_tile_x8C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806859C + ldr r0, _08068598 + b _080686EE + .align 2, 0 +_08068598: .4byte gUnknown_081616E1 +_0806859C: + adds r0, r5, 0 + bl is_tile_x85 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080685B4 + ldr r0, _080685B0 + b _080686EE + .align 2, 0 +_080685B0: .4byte Event_WorldMap +_080685B4: + adds r0, r5, 0 + bl sub_805791C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080685CC + ldr r0, _080685C8 + b _080686EE + .align 2, 0 +_080685C8: .4byte Event_RunningShoesManual +_080685CC: + adds r0, r5, 0 + bl sub_8057930 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080685E4 + ldr r0, _080685E0 + b _080686EE + .align 2, 0 +_080685E0: .4byte PictureBookShelfScript +_080685E4: + adds r0, r5, 0 + bl sub_8057944 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080685FC + ldr r0, _080685F8 + b _080686EE + .align 2, 0 +_080685F8: .4byte BookshelfScript +_080685FC: + adds r0, r5, 0 + bl sub_8057958 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068614 + ldr r0, _08068610 + b _080686EE + .align 2, 0 +_08068610: .4byte PokemonCenterBookshelfScript +_08068614: + adds r0, r5, 0 + bl sub_805796C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806862C + ldr r0, _08068628 + b _080686EE + .align 2, 0 +_08068628: .4byte VaseScript +_0806862C: + adds r0, r5, 0 + bl sub_8057980 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068644 + ldr r0, _08068640 + b _080686EE + .align 2, 0 +_08068640: .4byte TrashCanScript +_08068644: + adds r0, r5, 0 + bl sub_8057994 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806865C + ldr r0, _08068658 + b _080686EE + .align 2, 0 +_08068658: .4byte ShopShelfScript +_0806865C: + adds r0, r5, 0 + bl sub_80579A8 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068674 + ldr r0, _08068670 + b _080686EE + .align 2, 0 +_08068670: .4byte BlueprintScript +_08068674: + movs r4, 0x4 + ldrsb r4, [r6, r4] + movs r1, 0 + ldrsh r0, [r6, r1] + movs r2, 0x2 + ldrsh r1, [r6, r2] + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bne _080686EC + adds r0, r5, 0 + bl sub_8057238 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080686A4 + ldr r0, _080686A0 + b _080686EE + .align 2, 0 +_080686A0: .4byte gUnknown_0815F36C +_080686A4: + adds r0, r5, 0 + bl sub_805724C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080686BC + ldr r0, _080686B8 + b _080686EE + .align 2, 0 +_080686B8: .4byte gUnknown_0815F43A +_080686BC: + adds r0, r5, 0 + bl sub_8057364 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080686D4 + ldr r0, _080686D0 + b _080686EE + .align 2, 0 +_080686D0: .4byte gUnknown_0815F523 +_080686D4: + adds r0, r5, 0 + bl sub_8057378 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080686EC + ldr r0, _080686E8 + b _080686EE + .align 2, 0 +_080686E8: .4byte gUnknown_0815F528 +_080686EC: + movs r0, 0 +_080686EE: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8068500 + + thumb_func_start TryGetFieldMoveScript +TryGetFieldMoveScript: @ 80686F4 + push {r4,lr} + lsls r1, 24 + lsrs r4, r1, 24 + ldr r0, _08068724 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806872C + bl PartyHasMonWithSurf + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806872C + bl IsPlayerFacingSurfableFishableWater + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806872C + ldr r0, _08068728 + b _0806876A + .align 2, 0 +_08068724: .4byte 0x0000080b +_08068728: .4byte UseSurfScript +_0806872C: + adds r0, r4, 0 + bl MetatileBehavior_IsWaterfall + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068768 + ldr r0, _08068758 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068760 + bl IsPlayerSurfingNorth + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068760 + ldr r0, _0806875C + b _0806876A + .align 2, 0 +_08068758: .4byte 0x0000080e +_0806875C: .4byte UseWaterfallScript +_08068760: + ldr r0, _08068764 + b _0806876A + .align 2, 0 +_08068764: .4byte CannotUseWaterfallScript +_08068768: + movs r0, 0 +_0806876A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end TryGetFieldMoveScript + + thumb_func_start sub_8068770 +sub_8068770: @ 8068770 + push {lr} + ldr r0, _08068794 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0806879C + bl sub_8068F18 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _0806879C + ldr r0, _08068798 + bl script_env_1_execute_new_script + movs r0, 0x1 + b _0806879E + .align 2, 0 +_08068794: .4byte 0x0000080d +_08068798: .4byte UseDiveScript +_0806879C: + movs r0, 0 +_0806879E: + pop {r1} + bx r1 + thumb_func_end sub_8068770 + + thumb_func_start sub_80687A4 +sub_80687A4: @ 80687A4 + push {lr} + ldr r0, _080687D0 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _080687DC + ldr r0, _080687D4 + ldrb r0, [r0, 0x17] + cmp r0, 0x5 + bne _080687DC + bl sub_8068F18 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080687DC + ldr r0, _080687D8 + bl script_env_1_execute_new_script + movs r0, 0x1 + b _080687DE + .align 2, 0 +_080687D0: .4byte 0x0000080d +_080687D4: .4byte 0x0202e828 +_080687D8: .4byte UnderwaterUseDiveScript +_080687DC: + movs r0, 0 +_080687DE: + pop {r1} + bx r1 + thumb_func_end sub_80687A4 + + thumb_func_start sub_80687E4 +sub_80687E4: @ 80687E4 + push {r4-r6,lr} + adds r5, r0, 0 + lsls r1, 16 + lsrs r4, r1, 16 + adds r6, r4, 0 + bl mapheader_trigger_activate_at__run_now + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068834 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8068A64 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068834 + adds r0, r6, 0 + bl sub_8068870 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068834 + bl sub_8068894 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068834 + bl sub_8085558 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068834 + movs r0, 0 + b _08068836 +_08068834: + movs r0, 0x1 +_08068836: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80687E4 + + thumb_func_start mapheader_trigger_activate_at__run_now +mapheader_trigger_activate_at__run_now: @ 806883C + push {r4,lr} + ldr r4, _08068864 + ldrh r1, [r0] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + ldrh r2, [r0, 0x2] + subs r2, 0x7 + lsls r2, 16 + lsrs r2, 16 + ldrb r3, [r0, 0x4] + adds r0, r4, 0 + bl mapheader_trigger_activate_at + cmp r0, 0 + beq _08068868 + bl script_env_1_execute_new_script + movs r0, 0x1 + b _0806886A + .align 2, 0 +_08068864: .4byte 0x0202e828 +_08068868: + movs r0, 0 +_0806886A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end mapheader_trigger_activate_at__run_now + + thumb_func_start sub_8068870 +sub_8068870: @ 8068870 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl sub_8057818 + lsls r0, 24 + cmp r0, 0 + bne _08068884 + movs r0, 0 + b _0806888C +_08068884: + ldr r0, _08068890 + bl script_env_1_execute_new_script + movs r0, 0x1 +_0806888C: + pop {r1} + bx r1 + .align 2, 0 +_08068890: .4byte GraniteCave_B1F_EventScript_1C6BC5 + thumb_func_end sub_8068870 + + thumb_func_start sub_8068894 +sub_8068894: @ 8068894 + push {lr} + bl sub_8082B78 + bl happiness_algorithm_step + bl overworld_poison_step + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080688B4 + ldr r0, _080688B0 + b _080688E8 + .align 2, 0 +_080688B0: .4byte gUnknown_081A14B8 +_080688B4: + bl sub_80422A0 + lsls r0, 24 + cmp r0, 0 + beq _080688CC + movs r0, 0xD + bl sav12_xor_increment + ldr r0, _080688C8 + b _080688E8 + .align 2, 0 +_080688C8: .4byte Event_EggHatch +_080688CC: + bl safari_step + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080688EC + movs r0, 0x1 + bl sub_810D9B0 + cmp r0, 0x1 + beq _080688E6 + movs r0, 0 + b _080688EE +_080688E6: + ldr r0, _080688F4 +_080688E8: + bl script_env_1_execute_new_script +_080688EC: + movs r0, 0x1 +_080688EE: + pop {r1} + bx r1 + .align 2, 0 +_080688F4: .4byte gUnknown_0815FD0D + thumb_func_end sub_8068894 + + thumb_func_start unref_sub_80688F8 +unref_sub_80688F8: @ 80688F8 + push {lr} + ldr r0, _08068908 + movs r1, 0 + bl VarSet + pop {r0} + bx r0 + .align 2, 0 +_08068908: .4byte 0x0000402a + thumb_func_end unref_sub_80688F8 + + thumb_func_start happiness_algorithm_step +happiness_algorithm_step: @ 806890C + push {r4,r5,lr} + ldr r0, _08068940 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + ldrh r1, [r0] + movs r2, 0x7F + ands r1, r2 + strh r1, [r0] + cmp r1, 0 + bne _0806893A + ldr r5, _08068944 + movs r4, 0x5 +_0806892A: + adds r0, r5, 0 + movs r1, 0x5 + bl sub_803FCD4 + adds r5, 0x64 + subs r4, 0x1 + cmp r4, 0 + bge _0806892A +_0806893A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068940: .4byte 0x0000402a +_08068944: .4byte 0x03004360 + thumb_func_end happiness_algorithm_step + + thumb_func_start overworld_poison_timer_set +overworld_poison_timer_set: @ 8068948 + push {lr} + ldr r0, _08068958 + movs r1, 0 + bl VarSet + pop {r0} + bx r0 + .align 2, 0 +_08068958: .4byte 0x0000402b + thumb_func_end overworld_poison_timer_set + + thumb_func_start overworld_poison_step +overworld_poison_step: @ 806895C + push {lr} + ldr r0, _08068994 + ldrb r0, [r0, 0x17] + cmp r0, 0x9 + beq _0806899C + ldr r0, _08068998 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + ldrh r1, [r0] + movs r2, 0x3 + ands r1, r2 + strh r1, [r0] + cmp r1, 0 + bne _0806899C + bl overworld_poison + cmp r0, 0x1 + beq _0806899C + cmp r0, 0x1 + ble _0806899C + cmp r0, 0x2 + bne _0806899C + movs r0, 0x1 + b _0806899E + .align 2, 0 +_08068994: .4byte 0x0202e828 +_08068998: .4byte 0x0000402b +_0806899C: + movs r0, 0 +_0806899E: + pop {r1} + bx r1 + thumb_func_end overworld_poison_step + + thumb_func_start prev_quest_postbuffer_cursor_backup_reset +prev_quest_postbuffer_cursor_backup_reset: @ 80689A4 + ldr r1, _080689AC + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_080689AC: .4byte 0x0202e8c0 + thumb_func_end prev_quest_postbuffer_cursor_backup_reset + + thumb_func_start is_it_battle_time_3 +is_it_battle_time_3: @ 80689B0 + push {r4-r7,lr} + lsls r0, 16 + lsrs r4, r0, 16 + adds r7, r4, 0 + ldr r6, _080689CC + ldrb r0, [r6] + cmp r0, 0x3 + bhi _080689D4 + adds r0, 0x1 + strb r0, [r6] + ldr r0, _080689D0 + strh r4, [r0] + movs r0, 0 + b _080689F8 + .align 2, 0 +_080689CC: .4byte 0x0202e8c0 +_080689D0: .4byte 0x0202e8c2 +_080689D4: + ldr r5, _080689EC + ldrh r1, [r5] + adds r0, r4, 0 + bl sub_8085104 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080689F0 + strh r4, [r5] + movs r0, 0 + b _080689F8 + .align 2, 0 +_080689EC: .4byte 0x0202e8c2 +_080689F0: + movs r0, 0 + strb r0, [r6] + strh r7, [r5] + movs r0, 0x1 +_080689F8: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end is_it_battle_time_3 + + thumb_func_start mapheader_run_first_tag2_script_list_match_conditionally +mapheader_run_first_tag2_script_list_match_conditionally: @ 8068A00 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + adds r4, r1, 0 + adds r5, r2, 0 + lsls r4, 16 + lsrs r4, 16 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _08068A54 + mov r8, r0 + adds r1, r7, 0 + bl map_warp_check_packed + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl is_non_stair_warp_tile + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068A58 + lsls r0, r6, 24 + asrs r4, r0, 24 + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + beq _08068A58 + bl walkrun_find_lowest_active_bit_in_bitfield + mov r0, r8 + adds r1, r4, 0 + adds r2, r7, 0 + bl sub_8068C30 + bl sub_8080E88 + movs r0, 0x1 + b _08068A5A + .align 2, 0 +_08068A54: .4byte 0x0202e828 +_08068A58: + movs r0, 0 +_08068A5A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end mapheader_run_first_tag2_script_list_match_conditionally + + thumb_func_start sub_8068A64 +sub_8068A64: @ 8068A64 + push {r4-r7,lr} + adds r6, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + ldr r7, _08068ABC + adds r0, r7, 0 + adds r1, r6, 0 + bl map_warp_check_packed + lsls r0, 24 + asrs r4, r0, 24 + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + beq _08068B28 + adds r0, r5, 0 + bl sub_8068B30 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068B28 + bl walkrun_find_lowest_active_bit_in_bitfield + adds r0, r7, 0 + adds r1, r4, 0 + adds r2, r6, 0 + bl sub_8068C30 + lsls r0, r5, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl MetatileBehavior_IsEscalator + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068AC0 + adds r0, r4, 0 + bl sub_8080F2C + movs r0, 0x1 + b _08068B2A + .align 2, 0 +_08068ABC: .4byte 0x0202e828 +_08068AC0: + adds r0, r4, 0 + bl sub_8057798 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068AD6 + bl sub_8080F48 + movs r0, 0x1 + b _08068B2A +_08068AD6: + adds r0, r4, 0 + bl is_role_x68 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068AEC + bl sub_8080F58 + movs r0, 0x1 + b _08068B2A +_08068AEC: + adds r0, r4, 0 + bl MetatileBehavior_IsAquaHideoutWarp + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068B02 + bl sub_8080F68 + movs r0, 0x1 + b _08068B2A +_08068B02: + adds r0, r4, 0 + bl sub_8057804 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068B20 + ldr r0, _08068B1C + bl script_env_1_execute_new_script + movs r0, 0x1 + b _08068B2A + .align 2, 0 +_08068B1C: .4byte gUnknown_081C6BDE +_08068B20: + bl sub_8080E88 + movs r0, 0x1 + b _08068B2A +_08068B28: + movs r0, 0 +_08068B2A: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8068A64 + + thumb_func_start sub_8068B30 +sub_8068B30: @ 8068B30 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl is_tile_x69_2_warp_door + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + adds r0, r4, 0 + bl MetatileBehavior_IsLadder + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + adds r0, r4, 0 + bl MetatileBehavior_IsEscalator + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + adds r0, r4, 0 + bl sub_8056F08 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + adds r0, r4, 0 + bl sub_8057798 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + adds r0, r4, 0 + bl is_role_x68 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + adds r0, r4, 0 + bl MetatileBehavior_IsAquaHideoutWarp + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + adds r0, r4, 0 + bl sub_8057804 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068BAA + movs r0, 0 + b _08068BAC +_08068BAA: + movs r0, 0x1 +_08068BAC: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8068B30 + + thumb_func_start is_non_stair_warp_tile +is_non_stair_warp_tile: @ 8068BB4 + push {lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 24 + lsrs r1, 24 + adds r2, r1, 0 + cmp r1, 0x2 + beq _08068BD8 + cmp r1, 0x2 + bgt _08068BCE + cmp r1, 0x1 + beq _08068BE2 + b _08068C04 +_08068BCE: + cmp r2, 0x3 + beq _08068BEC + cmp r2, 0x4 + beq _08068BF6 + b _08068C04 +_08068BD8: + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsNorthArrowWarp + b _08068BFE +_08068BE2: + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsSouthArrowWarp + b _08068BFE +_08068BEC: + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsWestArrowWarp + b _08068BFE +_08068BF6: + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsEastArrowWarp +_08068BFE: + lsls r0, 24 + lsrs r0, 24 + b _08068C06 +_08068C04: + movs r0, 0 +_08068C06: + pop {r1} + bx r1 + thumb_func_end is_non_stair_warp_tile + + thumb_func_start map_warp_check_packed +map_warp_check_packed: @ 8068C0C + push {lr} + adds r3, r1, 0 + ldrh r1, [r3] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + ldrh r2, [r3, 0x2] + subs r2, 0x7 + lsls r2, 16 + lsrs r2, 16 + ldrb r3, [r3, 0x4] + bl map_warp_check + lsls r0, 24 + asrs r0, 24 + pop {r1} + bx r1 + thumb_func_end map_warp_check_packed + + thumb_func_start sub_8068C30 +sub_8068C30: @ 8068C30 + push {r4-r7,lr} + adds r5, r2, 0 + ldr r0, _08068C50 + ldr r0, [r0, 0x4] + lsls r1, 24 + asrs r7, r1, 24 + lsls r6, r7, 3 + ldr r0, [r0, 0x8] + adds r4, r0, r6 + ldrb r0, [r4, 0x6] + cmp r0, 0x7F + bne _08068C54 + ldrb r0, [r4, 0x5] + bl copy_saved_warp2_bank_and_enter_x_to_warp1 + b _08068C9E + .align 2, 0 +_08068C50: .4byte 0x0202e828 +_08068C54: + movs r0, 0x7 + ldrsb r0, [r4, r0] + movs r1, 0x6 + ldrsb r1, [r4, r1] + movs r2, 0x5 + ldrsb r2, [r4, r2] + bl warp1_set_2 + movs r1, 0 + ldrsh r0, [r5, r1] + movs r2, 0x2 + ldrsh r1, [r5, r2] + bl sub_80535C4 + ldrb r0, [r4, 0x7] + ldrb r1, [r4, 0x6] + bl get_mapheader_by_bank_and_number + ldr r1, [r0, 0x4] + ldrb r0, [r4, 0x5] + ldr r1, [r1, 0x8] + lsls r0, 3 + adds r0, r1 + ldrb r0, [r0, 0x6] + cmp r0, 0x7F + bne _08068C9E + adds r0, r6, r1 + ldrb r0, [r0, 0x5] + ldr r2, _08068CA4 + movs r1, 0x4 + ldrsb r1, [r2, r1] + ldrb r2, [r2, 0x5] + lsls r2, 24 + asrs r2, 24 + adds r3, r7, 0 + bl saved_warp2_set +_08068C9E: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08068CA4: .4byte 0x02025734 + thumb_func_end sub_8068C30 + + thumb_func_start map_warp_consider_2_to_inside +map_warp_consider_2_to_inside: @ 8068CA8 + push {r4-r7,lr} + adds r5, r0, 0 + lsls r1, 16 + lsrs r0, r1, 16 + adds r7, r0, 0 + lsls r2, 24 + lsrs r2, 24 + cmp r2, 0x2 + bne _08068D2C + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_80571C0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068CE0 + ldr r0, _08068CDC + ldr r1, [r0, 0x4] + adds r0, r5, 0 + bl sub_80BC038 + movs r0, 0x1 + b _08068D2E + .align 2, 0 +_08068CDC: .4byte 0x0202e828 +_08068CE0: + adds r0, r4, 0 + bl is_tile_x69_2_warp_door + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068D2C + ldr r6, _08068D28 + adds r0, r6, 0 + adds r1, r5, 0 + bl map_warp_check_packed + lsls r0, 24 + asrs r4, r0, 24 + movs r0, 0x1 + negs r0, r0 + cmp r4, r0 + beq _08068D2C + adds r0, r7, 0 + bl sub_8068B30 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068D2C + bl walkrun_find_lowest_active_bit_in_bitfield + adds r0, r6, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_8068C30 + bl sub_8080EF0 + movs r0, 0x1 + b _08068D2E + .align 2, 0 +_08068D28: .4byte 0x0202e828 +_08068D2C: + movs r0, 0 +_08068D2E: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end map_warp_consider_2_to_inside + + thumb_func_start map_warp_check +map_warp_check: @ 8068D34 + push {r4-r6,lr} + lsls r1, 16 + lsrs r6, r1, 16 + lsls r2, 16 + lsrs r5, r2, 16 + lsls r3, 24 + lsrs r4, r3, 24 + ldr r0, [r0, 0x4] + ldr r1, [r0, 0x8] + ldrb r3, [r0, 0x1] + movs r2, 0 + cmp r2, r3 + bge _08068D72 +_08068D4E: + ldrh r0, [r1] + cmp r0, r6 + bne _08068D6A + ldrh r0, [r1, 0x2] + cmp r0, r5 + bne _08068D6A + ldrb r0, [r1, 0x4] + cmp r0, r4 + beq _08068D64 + cmp r0, 0 + bne _08068D6A +_08068D64: + lsls r0, r2, 24 + asrs r0, 24 + b _08068D76 +_08068D6A: + adds r2, 0x1 + adds r1, 0x8 + cmp r2, r3 + blt _08068D4E +_08068D72: + movs r0, 0x1 + negs r0, r0 +_08068D76: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end map_warp_check + + thumb_func_start trigger_activate +trigger_activate: @ 8068D7C + push {r4,lr} + adds r4, r0, 0 + cmp r4, 0 + beq _08068DB2 + ldr r1, [r4, 0xC] + cmp r1, 0 + bne _08068D92 + ldrb r0, [r4, 0x6] + bl sub_8069408 + b _08068DB2 +_08068D92: + ldrh r0, [r4, 0x6] + cmp r0, 0 + beq _08068DAC + ldrh r0, [r4, 0x6] + bl VarGet + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r4, 0x8] + cmp r0, r1 + bne _08068DB2 + ldr r0, [r4, 0xC] + b _08068DB4 +_08068DAC: + adds r0, r1, 0 + bl script_env_2_execute_new_script +_08068DB2: + movs r0, 0 +_08068DB4: + pop {r4} + pop {r1} + bx r1 + thumb_func_end trigger_activate + + thumb_func_start mapheader_trigger_activate_at +mapheader_trigger_activate_at: @ 8068DBC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r1, 16 + lsrs r1, 16 + mov r10, r1 + lsls r2, 16 + lsrs r2, 16 + mov r9, r2 + lsls r3, 24 + lsrs r3, 24 + mov r8, r3 + ldr r0, [r0, 0x4] + ldr r1, [r0, 0xC] + ldrb r7, [r0, 0x2] + movs r6, 0 + cmp r6, r7 + bge _08068E12 + adds r5, r1, 0 + adds r4, r5, 0 +_08068DE8: + ldrh r0, [r4] + cmp r0, r10 + bne _08068E08 + ldrh r0, [r4, 0x2] + cmp r0, r9 + bne _08068E08 + ldrb r0, [r4, 0x4] + cmp r0, r8 + beq _08068DFE + cmp r0, 0 + bne _08068E08 +_08068DFE: + adds r0, r5, 0 + bl trigger_activate + cmp r0, 0 + bne _08068E14 +_08068E08: + adds r4, 0x10 + adds r5, 0x10 + adds r6, 0x1 + cmp r6, r7 + blt _08068DE8 +_08068E12: + movs r0, 0 +_08068E14: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end mapheader_trigger_activate_at + + thumb_func_start sub_8068E24 +sub_8068E24: @ 8068E24 + push {r4,lr} + ldr r4, _08068E48 + ldrh r1, [r0] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + ldrh r2, [r0, 0x2] + subs r2, 0x7 + lsls r2, 16 + lsrs r2, 16 + ldrb r3, [r0, 0x4] + adds r0, r4, 0 + bl mapheader_trigger_activate_at + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08068E48: .4byte 0x0202e828 + thumb_func_end sub_8068E24 + + thumb_func_start FindInvisibleMapObjectByPosition +FindInvisibleMapObjectByPosition: @ 8068E4C + push {r4-r7,lr} + lsls r1, 16 + lsrs r7, r1, 16 + lsls r2, 16 + lsrs r6, r2, 16 + lsls r3, 24 + lsrs r5, r3, 24 + ldr r0, [r0, 0x4] + ldr r4, [r0, 0x10] + ldrb r3, [r0, 0x3] + movs r2, 0 + cmp r2, r3 + bcs _08068E92 +_08068E66: + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 2 + adds r1, r0, r4 + ldrh r0, [r1] + cmp r0, r7 + bne _08068E88 + ldrh r0, [r1, 0x2] + cmp r0, r6 + bne _08068E88 + ldrb r0, [r1, 0x4] + cmp r0, r5 + beq _08068E84 + cmp r0, 0 + bne _08068E88 +_08068E84: + adds r0, r1, 0 + b _08068E94 +_08068E88: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, r3 + bcc _08068E66 +_08068E92: + movs r0, 0 +_08068E94: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end FindInvisibleMapObjectByPosition + + thumb_func_start dive_warp +dive_warp: @ 8068E9C + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + ldr r0, _08068ED0 + ldrb r0, [r0, 0x17] + cmp r0, 0x5 + bne _08068ED4 + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_805750C + lsls r0, 24 + cmp r0, 0 + bne _08068ED4 + ldrh r0, [r4] + subs r0, 0x7 + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r4, 0x2] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + bl sub_80538B0 + b _08068EF8 + .align 2, 0 +_08068ED0: .4byte 0x0202e828 +_08068ED4: + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_80574EC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068F10 + ldrh r0, [r4] + subs r0, 0x7 + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r4, 0x2] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + bl sub_80538D0 +_08068EF8: + lsls r0, 24 + cmp r0, 0 + beq _08068F10 + bl walkrun_find_lowest_active_bit_in_bitfield + bl sp13E_warp_to_last_warp + movs r0, 0xE9 + bl audio_play + movs r0, 0x1 + b _08068F12 +_08068F10: + movs r0, 0 +_08068F12: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end dive_warp + + thumb_func_start sub_8068F18 +sub_8068F18: @ 8068F18 + push {r4,r5,lr} + sub sp, 0x4 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _08068F70 + ldrb r0, [r0, 0x17] + cmp r0, 0x5 + bne _08068F74 + adds r0, r5, 0 + bl sub_805750C + lsls r0, 24 + cmp r0, 0 + bne _08068F74 + mov r0, sp + ldrh r0, [r0] + subs r0, 0x7 + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r4] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + bl sub_80538B0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068FA4 + movs r0, 0x1 + b _08068FA6 + .align 2, 0 +_08068F70: .4byte 0x0202e828 +_08068F74: + adds r0, r5, 0 + bl sub_80574EC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068FA4 + mov r0, sp + ldrh r0, [r0] + subs r0, 0x7 + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r4] + subs r1, 0x7 + lsls r1, 16 + lsrs r1, 16 + bl sub_80538D0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08068FA4 + movs r0, 0x2 + b _08068FA6 +_08068FA4: + movs r0, 0 +_08068FA6: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8068F18 + + thumb_func_start GetFieldObjectScriptPointerForComparison +GetFieldObjectScriptPointerForComparison: @ 8068FB0 + push {r4,r5,lr} + sub sp, 0x8 + bl player_get_direction_upper_nybble + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + mov r5, sp + mov r0, sp + bl player_get_next_pos_and_height + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0x2 + ldrsh r1, [r5, r2] + bl MapGridGetMetatileBehaviorAt + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r0, sp + adds r2, r4, 0 + bl sub_8068364 + add sp, 0x8 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end GetFieldObjectScriptPointerForComparison + + thumb_func_start sub_8068FEC +sub_8068FEC: @ 8068FEC + push {r4,lr} + sub sp, 0x8 + bl player_get_direction_upper_nybble + mov r4, sp + mov r0, sp + bl player_get_pos_to_and_height + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0x2 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + ldr r4, _0806902C + adds r0, r4, 0 + mov r1, sp + bl map_warp_check_packed + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + adds r0, r4, 0 + mov r2, sp + bl sub_8068C30 + movs r0, 0 + add sp, 0x8 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806902C: .4byte 0x0202e828 + thumb_func_end sub_8068FEC + + thumb_func_start sub_8069030 +sub_8069030: @ 8069030 + push {r4,lr} + ldr r4, _08069064 + movs r2, 0x90 + lsls r2, 1 + adds r0, r4, 0 + movs r1, 0 + bl memset + movs r0, 0x90 + lsls r0, 1 + adds r4, r0 + movs r2, 0x80 + lsls r2, 2 + adds r0, r4, 0 + movs r1, 0 + bl memset + ldr r0, _08069068 + movs r1, 0 + movs r2, 0x10 + bl memset + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08069064: .4byte 0x02026954 +_08069068: .4byte 0x0202e8e2 + thumb_func_end sub_8069030 + + thumb_func_start sub_806906C +sub_806906C: @ 806906C + push {lr} + ldr r0, _080690A0 + movs r1, 0 + str r1, [r0] + movs r1, 0x90 + lsls r1, 1 + adds r0, r1 + movs r1, 0 + movs r2, 0x20 + bl memset + ldr r0, _080690A4 + bl FlagReset + ldr r0, _080690A8 + bl FlagReset + ldr r0, _080690AC + bl FlagReset + ldr r0, _080690B0 + bl FlagReset + pop {r0} + bx r0 + .align 2, 0 +_080690A0: .4byte 0x02026954 +_080690A4: .4byte 0x0000084d +_080690A8: .4byte 0x0000084e +_080690AC: .4byte 0x00000829 +_080690B0: .4byte 0x00000861 + thumb_func_end sub_806906C + + thumb_func_start sub_80690B4 +sub_80690B4: @ 80690B4 + push {lr} + ldr r0, _080690C4 + movs r1, 0 + movs r2, 0x8 + bl memset + pop {r0} + bx r0 + .align 2, 0 +_080690C4: .4byte 0x02026a6c + thumb_func_end sub_80690B4 + + thumb_func_start sub_80690C8 +sub_80690C8: @ 80690C8 + push {lr} + ldr r0, _080690E4 + bl GetVarPointer + ldr r2, _080690E8 + movs r1, 0 + strb r1, [r2, 0x1A] + strh r1, [r0] + ldr r0, _080690EC + bl FlagReset + pop {r0} + bx r0 + .align 2, 0 +_080690E4: .4byte 0x00004046 +_080690E8: .4byte gSaveBlock2 +_080690EC: .4byte 0x00000836 + thumb_func_end sub_80690C8 + + thumb_func_start sub_80690F0 +sub_80690F0: @ 80690F0 + push {r4,r5,lr} + ldr r0, _0806911C + bl GetVarPointer + ldr r4, _08069120 + movs r5, 0 + movs r1, 0xDA + strb r1, [r4, 0x1A] + ldr r2, _08069124 + adds r1, r2, 0 + strh r1, [r0] + ldr r0, _08069128 + bl FlagSet + movs r0, 0x1 + strb r0, [r4, 0x19] + strb r5, [r4, 0x18] + bl sub_808C0A0 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806911C: .4byte 0x00004046 +_08069120: .4byte gSaveBlock2 +_08069124: .4byte 0x00000302 +_08069128: .4byte 0x00000836 + thumb_func_end sub_80690F0 + + thumb_func_start sub_806912C +sub_806912C: @ 806912C + push {lr} + ldr r0, _08069154 + ldrb r0, [r0, 0x1A] + cmp r0, 0xDA + bne _08069164 + ldr r0, _08069158 + bl VarGet + lsls r0, 16 + ldr r1, _0806915C + cmp r0, r1 + bne _08069164 + ldr r0, _08069160 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08069164 + movs r0, 0x1 + b _08069166 + .align 2, 0 +_08069154: .4byte gSaveBlock2 +_08069158: .4byte 0x00004046 +_0806915C: .4byte 0x03020000 +_08069160: .4byte 0x00000836 +_08069164: + movs r0, 0 +_08069166: + pop {r1} + bx r1 + thumb_func_end sub_806912C + + thumb_func_start unref_sub_806916C +unref_sub_806916C: @ 806916C + push {lr} + ldr r0, _08069178 + bl FlagReset + pop {r0} + bx r0 + .align 2, 0 +_08069178: .4byte 0x0000084c + thumb_func_end unref_sub_806916C + + thumb_func_start unref_sub_806917C +unref_sub_806917C: @ 806917C + push {lr} + ldr r0, _08069188 + bl FlagSet + pop {r0} + bx r0 + .align 2, 0 +_08069188: .4byte 0x0000084c + thumb_func_end unref_sub_806917C + + thumb_func_start sub_806918C +sub_806918C: @ 806918C + push {lr} + ldr r0, _0806919C + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_0806919C: .4byte 0x0000084c + thumb_func_end sub_806918C + + thumb_func_start sub_80691A0 +sub_80691A0: @ 80691A0 + push {lr} + ldr r0, _080691B4 + movs r1, 0 + bl VarSet + ldr r0, _080691B8 + bl FlagReset + pop {r0} + bx r0 + .align 2, 0 +_080691B4: .4byte 0x0000402c +_080691B8: .4byte 0x00000862 + thumb_func_end sub_80691A0 + + thumb_func_start sub_80691BC +sub_80691BC: @ 80691BC + push {lr} + ldr r0, _080691D4 + movs r1, 0x92 + lsls r1, 4 + bl VarSet + ldr r0, _080691D8 + bl FlagSet + pop {r0} + bx r0 + .align 2, 0 +_080691D4: .4byte 0x0000402c +_080691D8: .4byte 0x00000862 + thumb_func_end sub_80691BC + + thumb_func_start sub_80691DC +sub_80691DC: @ 80691DC + push {lr} + ldr r0, _08069200 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08069208 + ldr r0, _08069204 + bl VarGet + lsls r0, 16 + movs r1, 0x92 + lsls r1, 20 + cmp r0, r1 + bne _08069208 + movs r0, 0x1 + b _0806920A + .align 2, 0 +_08069200: .4byte 0x00000862 +_08069204: .4byte 0x0000402c +_08069208: + movs r0, 0 +_0806920A: + pop {r1} + bx r1 + thumb_func_end sub_80691DC + + thumb_func_start GetVarPointer +GetVarPointer: @ 8069210 + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + adds r2, r1, 0 + ldr r0, _08069224 + cmp r1, r0 + bhi _08069228 + movs r0, 0 + b _0806924A + .align 2, 0 +_08069224: .4byte 0x00003fff +_08069228: + lsls r0, r1, 16 + cmp r0, 0 + bge _08069244 + ldr r0, _0806923C + ldr r2, _08069240 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + ldr r0, [r1] + b _0806924A + .align 2, 0 +_0806923C: .4byte gUnknown_0814B14C +_08069240: .4byte 0xffff8000 +_08069244: + lsls r0, r2, 1 + ldr r1, _08069250 + adds r0, r1 +_0806924A: + pop {r1} + bx r1 + .align 2, 0 +_08069250: .4byte 0x0201ea74 + thumb_func_end GetVarPointer + + thumb_func_start VarGet +VarGet: @ 8069254 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + adds r0, r4, 0 + bl GetVarPointer + cmp r0, 0 + beq _08069268 + ldrh r0, [r0] + b _0806926A +_08069268: + adds r0, r4, 0 +_0806926A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end VarGet + + thumb_func_start VarSet +VarSet: @ 8069270 + push {r4,lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r4, r1, 16 + bl GetVarPointer + cmp r0, 0 + beq _08069288 + strh r4, [r0] + movs r0, 0x1 + b _0806928A +_08069288: + movs r0, 0 +_0806928A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end VarSet + + thumb_func_start VarGetFieldObjectGraphicsId +VarGetFieldObjectGraphicsId: @ 8069290 + push {lr} + lsls r0, 24 + lsrs r0, 8 + ldr r1, _080692A8 + adds r0, r1 + lsrs r0, 16 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_080692A8: .4byte 0x40100000 + thumb_func_end VarGetFieldObjectGraphicsId + + thumb_func_start GetFlagPointer +GetFlagPointer: @ 80692AC + push {lr} + lsls r2, r0, 16 + lsrs r1, r2, 16 + adds r3, r1, 0 + cmp r1, 0 + bne _080692BC + movs r0, 0 + b _080692E2 +_080692BC: + ldr r0, _080692C8 + cmp r1, r0 + bhi _080692D0 + lsrs r0, r2, 19 + ldr r1, _080692CC + b _080692E0 + .align 2, 0 +_080692C8: .4byte 0x00003fff +_080692CC: .4byte 0x02026954 +_080692D0: + ldr r1, _080692E8 + adds r0, r3, r1 + cmp r0, 0 + bge _080692DC + adds r1, 0x7 + adds r0, r3, r1 +_080692DC: + asrs r0, 3 + ldr r1, _080692EC +_080692E0: + adds r0, r1 +_080692E2: + pop {r1} + bx r1 + .align 2, 0 +_080692E8: .4byte 0xffffc000 +_080692EC: .4byte 0x0202e8e2 + thumb_func_end GetFlagPointer + + thumb_func_start FlagSet +FlagSet: @ 80692F0 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + adds r0, r4, 0 + bl GetFlagPointer + adds r2, r0, 0 + cmp r2, 0 + beq _08069310 + movs r0, 0x7 + ands r0, r4 + movs r1, 0x1 + lsls r1, r0 + ldrb r0, [r2] + orrs r1, r0 + strb r1, [r2] +_08069310: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end FlagSet + + thumb_func_start FlagReset +FlagReset: @ 8069318 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + adds r0, r4, 0 + bl GetFlagPointer + adds r2, r0, 0 + cmp r2, 0 + beq _08069338 + movs r0, 0x7 + ands r0, r4 + movs r1, 0x1 + lsls r1, r0 + ldrb r0, [r2] + bics r0, r1 + strb r0, [r2] +_08069338: + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end FlagReset + + thumb_func_start FlagGet +FlagGet: @ 8069340 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + adds r0, r4, 0 + bl GetFlagPointer + cmp r0, 0 + beq _08069364 + ldrb r0, [r0] + movs r1, 0x7 + ands r1, r4 + asrs r0, r1 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08069364 + movs r0, 0x1 + b _08069366 +_08069364: + movs r0, 0 +_08069366: + pop {r4} + pop {r1} + bx r1 + thumb_func_end FlagGet + + thumb_func_start sub_806936C +sub_806936C: @ 806936C + push {lr} + movs r0, 0x1 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_806936C + + thumb_func_start sub_8069378 +sub_8069378: @ 8069378 + push {lr} + movs r0, 0x2 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_8069378 + + thumb_func_start sub_8069384 +sub_8069384: @ 8069384 + push {lr} + movs r0, 0x3 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_8069384 + + thumb_func_start sub_8069390 +sub_8069390: @ 8069390 + push {lr} + movs r0, 0x4 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_8069390 + + thumb_func_start sub_806939C +sub_806939C: @ 806939C + push {lr} + movs r0, 0x5 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_806939C + + thumb_func_start sub_80693A8 +sub_80693A8: @ 80693A8 + push {lr} + movs r0, 0x6 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693A8 + + thumb_func_start sub_80693B4 +sub_80693B4: @ 80693B4 + push {lr} + movs r0, 0x9 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693B4 + + thumb_func_start sub_80693C0 +sub_80693C0: @ 80693C0 + push {lr} + movs r0, 0x7 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693C0 + + thumb_func_start sub_80693CC +sub_80693CC: @ 80693CC + push {lr} + movs r0, 0x8 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693CC + + thumb_func_start sub_80693D8 +sub_80693D8: @ 80693D8 + push {lr} + movs r0, 0xB + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693D8 + + thumb_func_start sub_80693E4 +sub_80693E4: @ 80693E4 + push {lr} + movs r0, 0xC + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693E4 + + thumb_func_start sub_80693F0 +sub_80693F0: @ 80693F0 + push {lr} + movs r0, 0x14 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693F0 + + thumb_func_start sub_80693FC +sub_80693FC: @ 80693FC + push {lr} + movs r0, 0x15 + bl sub_808070C + pop {r0} + bx r0 + thumb_func_end sub_80693FC + + thumb_func_start sub_8069408 +sub_8069408: @ 8069408 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r2, 0 + ldr r3, _08069428 +_08069412: + lsls r1, r2, 3 + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, r4 + bne _0806942C + adds r0, r3, 0x4 + adds r0, r1, r0 + ldr r0, [r0] + bl _call_via_r0 + b _08069436 + .align 2, 0 +_08069428: .4byte gUnknown_083762FC +_0806942C: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xC + bls _08069412 +_08069436: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8069408 + + thumb_func_start task_per_step_callback_manager +task_per_step_callback_manager: @ 806943C + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08069460 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0x8 + ldrsh r1, [r1, r2] + ldr r2, _08069464 + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r0} + bx r0 + .align 2, 0 +_08069460: .4byte 0x03004b20 +_08069464: .4byte gUnknown_08376364 + thumb_func_end task_per_step_callback_manager + + thumb_func_start sub_8069468 +sub_8069468: @ 8069468 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0806947A + cmp r0, 0x1 + beq _08069498 + b _080694AC +_0806947A: + ldr r0, _08069494 + ldr r0, [r0, 0x20] + movs r1, 0x80 + lsls r1, 5 + ands r0, r1 + cmp r0, 0 + beq _080694AC + bl InTrainerHill + ldrh r0, [r4] + adds r0, 0x1 + b _080694AA + .align 2, 0 +_08069494: .4byte 0x03001770 +_08069498: + ldr r0, _080694B4 + ldr r0, [r0, 0x20] + movs r1, 0x80 + lsls r1, 5 + ands r0, r1 + cmp r0, 0 + bne _080694AC + ldrh r0, [r4] + subs r0, 0x1 +_080694AA: + strh r0, [r4] +_080694AC: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080694B4: .4byte 0x03001770 + thumb_func_end sub_8069468 + + thumb_func_start sub_80694B8 +sub_80694B8: @ 80694B8 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _080694E8 + adds r4, r1, r0 + bl script_env_2_is_enabled + lsls r0, 24 + cmp r0, 0 + bne _080694E0 + adds r0, r4, 0 + bl sub_8069468 + adds r0, r4, 0x2 + adds r1, r4, 0x4 + bl sub_80540D0 +_080694E0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080694E8: .4byte 0x03004b28 + thumb_func_end sub_80694B8 + + thumb_func_start overworld_ensure_per_step_coros_running +overworld_ensure_per_step_coros_running: @ 80694EC + push {r4,r5,lr} + ldr r5, _08069548 + adds r0, r5, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _08069516 + adds r0, r5, 0 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806954C + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] +_08069516: + ldr r4, _08069550 + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + bne _0806952C + adds r0, r4, 0 + movs r1, 0x50 + bl CreateTask +_0806952C: + ldr r4, _08069554 + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + bne _08069542 + adds r0, r4, 0 + movs r1, 0x50 + bl CreateTask +_08069542: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08069548: .4byte task_per_step_callback_manager +_0806954C: .4byte 0x03004b20 +_08069550: .4byte sub_806A1E8 +_08069554: .4byte sub_80694B8 + thumb_func_end overworld_ensure_per_step_coros_running + + thumb_func_start activate_per_step_callback +activate_per_step_callback: @ 8069558 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08069590 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0xFF + beq _0806959A + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _08069594 + adds r1, r0, r1 + movs r2, 0 + adds r0, r1, 0 + adds r0, 0x1E +_0806957C: + strh r2, [r0] + subs r0, 0x2 + cmp r0, r1 + bge _0806957C + cmp r4, 0x7 + bls _08069598 + movs r0, 0 + strh r0, [r1] + b _0806959A + .align 2, 0 +_08069590: .4byte task_per_step_callback_manager +_08069594: .4byte 0x03004b28 +_08069598: + strh r4, [r1] +_0806959A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end activate_per_step_callback + + thumb_func_start wild_encounter_reset_coro_args +wild_encounter_reset_coro_args: @ 80695A0 + push {lr} + ldr r0, _080695D0 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r1, r0, 24 + ldr r0, _080695D4 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0xFF + beq _080695CA + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _080695D8 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x2] + strh r1, [r0, 0x4] +_080695CA: + pop {r0} + bx r0 + .align 2, 0 +_080695D0: .4byte task_per_step_callback_manager +_080695D4: .4byte sub_80694B8 +_080695D8: .4byte 0x03004b28 + thumb_func_end wild_encounter_reset_coro_args + + thumb_func_start nullsub_51 +nullsub_51: @ 80695DC + bx lr + thumb_func_end nullsub_51 + + thumb_func_start sub_80695E0 +sub_80695E0: @ 80695E0 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 24 + lsrs r4, r1, 24 + adds r0, r4, 0 + bl sub_80576A0 + lsls r0, 24 + cmp r0, 0 + beq _080695F8 + adds r0, r5, 0 + b _08069630 +_080695F8: + adds r0, r4, 0 + bl sub_80576B4 + lsls r0, 24 + cmp r0, 0 + beq _0806960A + adds r0, r5, 0 + adds r0, 0x8 + b _08069630 +_0806960A: + adds r0, r4, 0 + bl sub_80576C8 + lsls r0, 24 + cmp r0, 0 + beq _0806961C + adds r0, r5, 0 + adds r0, 0x10 + b _08069630 +_0806961C: + adds r0, r4, 0 + bl sub_80576DC + lsls r0, 24 + cmp r0, 0 + bne _0806962C + movs r0, 0 + b _08069630 +_0806962C: + adds r0, r5, 0 + adds r0, 0x18 +_08069630: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80695E0 + + thumb_func_start sub_8069638 +sub_8069638: @ 8069638 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + mov r8, r3 + lsls r1, 16 + asrs r6, r1, 16 + lsls r2, 16 + asrs r7, r2, 16 + adds r0, r6, 0 + adds r1, r7, 0 + bl MapGridGetMetatileBehaviorAt + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r5, 0 + bl sub_80695E0 + adds r4, r0, 0 + adds r5, r4, 0 + cmp r4, 0 + beq _080696B6 + movs r0, 0 + ldrsb r0, [r4, r0] + adds r0, r6, r0 + movs r1, 0x1 + ldrsb r1, [r4, r1] + adds r1, r7, r1 + ldrh r2, [r4, 0x2] + bl MapGridSetMetatileIdAt + mov r0, r8 + cmp r0, 0 + beq _0806968E + movs r0, 0 + ldrsb r0, [r4, r0] + adds r0, r6, r0 + movs r1, 0x1 + ldrsb r1, [r4, r1] + adds r1, r7, r1 + bl CurrentMapDrawMetatileAt +_0806968E: + movs r0, 0x4 + ldrsb r0, [r5, r0] + adds r0, r6, r0 + movs r1, 0x5 + ldrsb r1, [r5, r1] + adds r1, r7, r1 + ldrh r2, [r5, 0x6] + bl MapGridSetMetatileIdAt + mov r0, r8 + cmp r0, 0 + beq _080696B6 + movs r0, 0x4 + ldrsb r0, [r5, r0] + adds r0, r6, r0 + movs r1, 0x5 + ldrsb r1, [r5, r1] + adds r1, r7, r1 + bl CurrentMapDrawMetatileAt +_080696B6: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8069638 + + thumb_func_start sub_80696C0 +sub_80696C0: @ 80696C0 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + adds r3, r2, 0 + ldr r0, _080696E0 + lsls r4, 16 + asrs r4, 16 + lsls r5, 16 + asrs r5, 16 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_8069638 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080696E0: .4byte gUnknown_08376384 + thumb_func_end sub_80696C0 + + thumb_func_start sub_80696E4 +sub_80696E4: @ 80696E4 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + adds r3, r2, 0 + ldr r0, _08069704 + lsls r4, 16 + asrs r4, 16 + lsls r5, 16 + asrs r5, 16 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_8069638 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08069704: .4byte gUnknown_083763A4 + thumb_func_end sub_80696E4 + + thumb_func_start sub_8069708 +sub_8069708: @ 8069708 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + adds r3, r2, 0 + ldr r0, _08069728 + lsls r4, 16 + asrs r4, 16 + lsls r5, 16 + asrs r5, 16 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_8069638 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08069728: .4byte gUnknown_083763C4 + thumb_func_end sub_8069708 + + thumb_func_start sub_806972C +sub_806972C: @ 806972C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + mov r10, r8 + lsls r1, 16 + lsrs r7, r1, 16 + mov r9, r7 + lsls r2, 16 + asrs r6, r2, 16 + lsls r3, 16 + asrs r5, r3, 16 + adds r0, r6, 0 + adds r1, r5, 0 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_80576A0 + lsls r0, 24 + cmp r0, 0 + beq _08069770 + lsls r0, r7, 16 + asrs r0, 16 + cmp r0, r5 + ble _080697B6 +_0806976C: + movs r0, 0 + b _080697B8 +_08069770: + adds r0, r4, 0 + bl sub_80576B4 + lsls r0, 24 + cmp r0, 0 + beq _08069788 + mov r1, r9 + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, r5 + bge _080697B6 + b _0806976C +_08069788: + adds r0, r4, 0 + bl sub_80576C8 + lsls r0, 24 + cmp r0, 0 + beq _080697A0 + mov r1, r8 + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, r6 + ble _080697B6 + b _0806976C +_080697A0: + adds r0, r4, 0 + bl sub_80576DC + lsls r0, 24 + cmp r0, 0 + beq _080697B6 + mov r1, r10 + lsls r0, r1, 16 + asrs r0, 16 + cmp r0, r6 + blt _0806976C +_080697B6: + movs r0, 0x1 +_080697B8: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_806972C + + thumb_func_start sub_80697C8 +sub_80697C8: @ 80697C8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r2, 16 + lsrs r2, 16 + mov r8, r2 + mov r10, r8 + lsls r3, 16 + lsrs r7, r3, 16 + mov r9, r7 + lsls r0, 16 + asrs r6, r0, 16 + lsls r1, 16 + asrs r5, r1, 16 + adds r0, r6, 0 + adds r1, r5, 0 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_80576A0 + lsls r0, 24 + cmp r0, 0 + beq _0806980C + lsls r0, r7, 16 + asrs r0, 16 + cmp r5, r0 + bge _08069852 +_08069808: + movs r0, 0 + b _08069854 +_0806980C: + adds r0, r4, 0 + bl sub_80576B4 + lsls r0, 24 + cmp r0, 0 + beq _08069824 + mov r1, r9 + lsls r0, r1, 16 + asrs r0, 16 + cmp r5, r0 + ble _08069852 + b _08069808 +_08069824: + adds r0, r4, 0 + bl sub_80576C8 + lsls r0, 24 + cmp r0, 0 + beq _0806983C + mov r1, r8 + lsls r0, r1, 16 + asrs r0, 16 + cmp r6, r0 + bge _08069852 + b _08069808 +_0806983C: + adds r0, r4, 0 + bl sub_80576DC + lsls r0, 24 + cmp r0, 0 + beq _08069852 + mov r1, r10 + lsls r0, r1, 16 + asrs r0, 16 + cmp r6, r0 + bgt _08069808 +_08069852: + movs r0, 0x1 +_08069854: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80697C8 + + thumb_func_start sub_8069864 +sub_8069864: @ 8069864 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08069898 + adds r4, r1, r0 + mov r5, sp + adds r5, 0x2 + mov r0, sp + adds r1, r5, 0 + bl PlayerGetDestCoords + movs r1, 0x2 + ldrsh r0, [r4, r1] + adds r6, r5, 0 + cmp r0, 0x1 + beq _080698BE + cmp r0, 0x1 + bgt _0806989C + cmp r0, 0 + beq _080698A2 + b _080699CE + .align 2, 0 +_08069898: .4byte 0x03004b28 +_0806989C: + cmp r0, 0x2 + beq _0806998C + b _080699CE +_080698A2: + mov r0, sp + ldrh r0, [r0] + strh r0, [r4, 0x4] + ldrh r0, [r5] + strh r0, [r4, 0x6] + mov r0, sp + movs r2, 0 + ldrsh r0, [r0, r2] + movs r3, 0 + ldrsh r1, [r5, r3] + movs r2, 0x1 + bl sub_80696E4 + b _080699CA +_080698BE: + mov r0, sp + movs r7, 0 + ldrsh r1, [r0, r7] + movs r2, 0x4 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _080698D8 + movs r3, 0 + ldrsh r1, [r5, r3] + movs r7, 0x6 + ldrsh r0, [r4, r7] + cmp r1, r0 + beq _080699CE +_080698D8: + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r5, r2] + movs r3, 0x4 + ldrsh r2, [r4, r3] + movs r5, 0x6 + ldrsh r3, [r4, r5] + bl sub_806972C + cmp r0, 0 + beq _08069920 + movs r7, 0x4 + ldrsh r0, [r4, r7] + movs r2, 0x6 + ldrsh r1, [r4, r2] + movs r2, 0x1 + bl sub_80696C0 + movs r3, 0x4 + ldrsh r0, [r4, r3] + movs r5, 0x6 + ldrsh r1, [r4, r5] + movs r2, 0 + bl sub_8069708 + ldrh r0, [r4, 0x4] + strh r0, [r4, 0x8] + ldrh r0, [r4, 0x6] + strh r0, [r4, 0xA] + movs r0, 0x2 + strh r0, [r4, 0x2] + movs r0, 0x8 + strh r0, [r4, 0xC] + b _0806992A +_08069920: + movs r7, 0x1 + negs r7, r7 + adds r0, r7, 0 + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] +_0806992A: + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + adds r5, r6, 0 + movs r2, 0 + ldrsh r1, [r5, r2] + movs r3, 0x4 + ldrsh r2, [r4, r3] + movs r7, 0x6 + ldrsh r3, [r4, r7] + bl sub_80697C8 + cmp r0, 0 + beq _0806995E + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r5, r2] + movs r2, 0x1 + bl sub_80696C0 + movs r0, 0x2 + strh r0, [r4, 0x2] + movs r0, 0x8 + strh r0, [r4, 0xC] +_0806995E: + mov r0, sp + ldrh r0, [r0] + strh r0, [r4, 0x4] + ldrh r0, [r6] + strh r0, [r4, 0x6] + mov r0, sp + movs r3, 0 + ldrsh r0, [r0, r3] + movs r5, 0 + ldrsh r1, [r6, r5] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsPacifidlogLog + lsls r0, 24 + cmp r0, 0 + beq _080699CE + movs r0, 0x46 + bl audio_play + b _080699CE +_0806998C: + ldrh r0, [r4, 0xC] + subs r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + cmp r0, 0 + bne _080699CE + mov r0, sp + movs r7, 0 + ldrsh r0, [r0, r7] + movs r2, 0 + ldrsh r1, [r5, r2] + movs r2, 0x1 + bl sub_80696E4 + movs r3, 0x8 + ldrsh r0, [r4, r3] + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + beq _080699CA + movs r5, 0xA + ldrsh r0, [r4, r5] + cmp r0, r1 + beq _080699CA + movs r7, 0x8 + ldrsh r0, [r4, r7] + movs r2, 0xA + ldrsh r1, [r4, r2] + movs r2, 0x1 + bl sub_8069708 +_080699CA: + movs r0, 0x1 + strh r0, [r4, 0x2] +_080699CE: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8069864 + + thumb_func_start sub_80699D8 +sub_80699D8: @ 80699D8 + push {r4,r5,lr} + lsls r0, 16 + lsrs r4, r0, 16 + lsls r1, 16 + lsrs r5, r1, 16 + bl PlayerGetZCoord + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _08069A32 + lsls r0, r4, 16 + asrs r4, r0, 16 + lsls r0, r5, 16 + asrs r5, r0, 16 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + adds r1, r0, 0 + ldr r0, _08069A14 + cmp r1, r0 + beq _08069A18 + adds r0, 0x8 + cmp r1, r0 + beq _08069A28 + b _08069A32 + .align 2, 0 +_08069A14: .4byte 0x0000024e +_08069A18: + ldr r2, _08069A24 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _08069A32 + .align 2, 0 +_08069A24: .4byte 0x0000024f +_08069A28: + ldr r2, _08069A38 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_08069A32: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08069A38: .4byte 0x00000257 + thumb_func_end sub_80699D8 + + thumb_func_start sub_8069A3C +sub_8069A3C: @ 8069A3C + push {r4,r5,lr} + lsls r0, 16 + lsrs r4, r0, 16 + lsls r1, 16 + lsrs r5, r1, 16 + bl PlayerGetZCoord + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _08069A96 + lsls r0, r4, 16 + asrs r4, r0, 16 + lsls r0, r5, 16 + asrs r5, r0, 16 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + adds r1, r0, 0 + ldr r0, _08069A78 + cmp r1, r0 + beq _08069A7C + adds r0, 0x8 + cmp r1, r0 + beq _08069A8C + b _08069A96 + .align 2, 0 +_08069A78: .4byte 0x0000024f +_08069A7C: + ldr r2, _08069A88 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _08069A96 + .align 2, 0 +_08069A88: .4byte 0x0000024e +_08069A8C: + ldr r2, _08069A9C + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_08069A96: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08069A9C: .4byte 0x00000256 + thumb_func_end sub_8069A3C + + thumb_func_start sub_8069AA0 +sub_8069AA0: @ 8069AA0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08069ADC + adds r6, r1, r0 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + movs r0, 0x2 + ldrsh r5, [r6, r0] + mov r9, r4 + cmp r5, 0x1 + beq _08069B34 + cmp r5, 0x1 + bgt _08069AE0 + cmp r5, 0 + beq _08069AE8 + b _08069CA6 + .align 2, 0 +_08069ADC: .4byte 0x03004b28 +_08069AE0: + cmp r5, 0x2 + bne _08069AE6 + b _08069C14 +_08069AE6: + b _08069CA6 +_08069AE8: + mov r0, sp + ldrh r0, [r0] + strh r0, [r6, 0x4] + mov r1, r9 + ldrh r0, [r1] + strh r0, [r6, 0x6] + mov r0, sp + movs r2, 0 + ldrsh r0, [r0, r2] + movs r3, 0 + ldrsh r1, [r1, r3] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsFortreeBridge + lsls r0, 24 + cmp r0, 0 + bne _08069B12 + b _08069CA2 +_08069B12: + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + mov r2, r9 + movs r3, 0 + ldrsh r1, [r2, r3] + bl sub_80699D8 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + mov r2, r9 + movs r3, 0 + ldrsh r1, [r2, r3] + bl CurrentMapDrawMetatileAt + b _08069CA2 +_08069B34: + ldrh r0, [r6, 0x6] + mov r8, r0 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + ldrh r2, [r6, 0x4] + mov r10, r2 + movs r3, 0x4 + ldrsh r7, [r6, r3] + cmp r0, r7 + bne _08069B5C + mov r0, r9 + movs r2, 0 + ldrsh r1, [r0, r2] + mov r3, r8 + lsls r0, r3, 16 + asrs r0, 16 + cmp r1, r0 + bne _08069B5C + b _08069CA6 +_08069B5C: + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + mov r2, r9 + movs r3, 0 + ldrsh r1, [r2, r3] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsFortreeBridge + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x4] + mov r0, r8 + lsls r4, r0, 16 + asrs r1, r4, 16 + adds r0, r7, 0 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsFortreeBridge + lsls r0, 24 + lsrs r7, r0, 24 + bl PlayerGetZCoord + movs r1, 0 + ands r5, r0 + lsls r0, r5, 24 + adds r5, r4, 0 + cmp r0, 0 + bne _08069BA4 + movs r1, 0x1 +_08069BA4: + cmp r1, 0 + beq _08069BB8 + ldr r1, [sp, 0x4] + cmp r1, 0x1 + beq _08069BB2 + cmp r7, 0x1 + bne _08069BB8 +_08069BB2: + movs r0, 0x47 + bl audio_play +_08069BB8: + cmp r7, 0 + beq _08069BF4 + mov r2, r10 + lsls r4, r2, 16 + asrs r4, 16 + asrs r5, 16 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8069A3C + adds r0, r4, 0 + adds r1, r5, 0 + bl CurrentMapDrawMetatileAt + mov r0, sp + movs r3, 0 + ldrsh r0, [r0, r3] + mov r2, r9 + movs r3, 0 + ldrsh r1, [r2, r3] + bl sub_80699D8 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + mov r2, r9 + movs r3, 0 + ldrsh r1, [r2, r3] + bl CurrentMapDrawMetatileAt +_08069BF4: + mov r0, r10 + strh r0, [r6, 0x8] + mov r1, r8 + strh r1, [r6, 0xA] + mov r0, sp + ldrh r0, [r0] + strh r0, [r6, 0x4] + mov r2, r9 + ldrh r0, [r2] + strh r0, [r6, 0x6] + cmp r7, 0 + beq _08069CA6 + movs r0, 0x10 + strh r0, [r6, 0xC] + movs r0, 0x2 + strh r0, [r6, 0x2] +_08069C14: + ldrh r0, [r6, 0xC] + subs r0, 0x1 + strh r0, [r6, 0xC] + ldrh r3, [r6, 0x8] + mov r10, r3 + ldrh r0, [r6, 0xA] + mov r8, r0 + movs r1, 0xC + ldrsh r0, [r6, r1] + movs r1, 0x7 + bl __modsi3 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7 + bhi _08069C9A + lsls r0, 2 + ldr r1, _08069C40 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08069C40: .4byte _08069C44 + .align 2, 0 +_08069C44: + .4byte _08069C64 + .4byte _08069C9A + .4byte _08069C9A + .4byte _08069C9A + .4byte _08069C76 + .4byte _08069C9A + .4byte _08069C9A + .4byte _08069C9A +_08069C64: + mov r2, r10 + lsls r0, r2, 16 + asrs r0, 16 + mov r3, r8 + lsls r1, r3, 16 + asrs r1, 16 + bl CurrentMapDrawMetatileAt + b _08069C9A +_08069C76: + mov r0, r10 + lsls r5, r0, 16 + asrs r5, 16 + mov r1, r8 + lsls r4, r1, 16 + asrs r4, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80699D8 + adds r0, r5, 0 + adds r1, r4, 0 + bl CurrentMapDrawMetatileAt + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8069A3C +_08069C9A: + movs r2, 0xC + ldrsh r0, [r6, r2] + cmp r0, 0 + bne _08069CA6 +_08069CA2: + movs r0, 0x1 + strh r0, [r6, 0x2] +_08069CA6: + 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_8069AA0 + + thumb_func_start sub_8069CB8 +sub_8069CB8: @ 8069CB8 + push {lr} + lsls r1, 16 + lsrs r1, 16 + lsls r0, 16 + ldr r2, _08069CE8 + adds r0, r2 + lsrs r0, 16 + cmp r0, 0xA + bhi _08069CF4 + lsls r0, r1, 16 + asrs r1, r0, 16 + ldr r2, _08069CEC + adds r0, r2 + lsrs r0, 16 + cmp r0, 0xD + bhi _08069CF4 + ldr r0, _08069CF0 + lsls r1, 1 + adds r1, r0 + ldrh r0, [r1] + cmp r0, 0 + beq _08069CF4 + movs r0, 0x1 + b _08069CF6 + .align 2, 0 +_08069CE8: .4byte 0xfffd0000 +_08069CEC: .4byte 0xfffa0000 +_08069CF0: .4byte gUnknown_083763E4 +_08069CF4: + movs r0, 0 +_08069CF6: + pop {r1} + bx r1 + thumb_func_end sub_8069CB8 + + thumb_func_start sub_8069CFC +sub_8069CFC: @ 8069CFC + push {r4,r5,lr} + lsls r0, 16 + asrs r5, r0, 16 + lsls r1, 16 + asrs r4, r1, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8069CB8 + cmp r0, 0 + beq _08069D2A + ldr r1, _08069D30 + lsls r0, r4, 1 + adds r0, r1 + ldrh r0, [r0] + bl GetVarPointer + subs r2, r5, 0x3 + movs r1, 0x1 + lsls r1, r2 + ldrh r2, [r0] + orrs r1, r2 + strh r1, [r0] +_08069D2A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08069D30: .4byte gUnknown_083763E4 + thumb_func_end sub_8069CFC + + thumb_func_start sub_8069D34 +sub_8069D34: @ 8069D34 + push {r4,r5,lr} + lsls r0, 16 + asrs r5, r0, 16 + lsls r1, 16 + asrs r4, r1, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8069CB8 + cmp r0, 0 + beq _08069D66 + ldr r1, _08069D6C + lsls r0, r4, 1 + adds r0, r1 + ldrh r0, [r0] + bl VarGet + lsls r0, 16 + subs r2, r5, 0x3 + movs r1, 0x80 + lsls r1, 9 + lsls r1, r2 + ands r1, r0 + cmp r1, 0 + bne _08069D70 +_08069D66: + movs r0, 0 + b _08069D72 + .align 2, 0 +_08069D6C: .4byte gUnknown_083763E4 +_08069D70: + movs r0, 0x1 +_08069D72: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8069D34 + + thumb_func_start sub_8069D78 +sub_8069D78: @ 8069D78 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r0, _08069DCC + ldr r0, [r0] + ldr r1, [r0] + mov r9, r1 + ldr r7, [r0, 0x4] + movs r5, 0 + cmp r5, r9 + bge _08069DC0 +_08069D90: + movs r4, 0 + adds r0, r5, 0x1 + mov r8, r0 + cmp r4, r7 + bge _08069DBA + lsls r6, r5, 16 +_08069D9C: + lsls r1, r4, 16 + asrs r1, 16 + asrs r0, r6, 16 + bl sub_8069D34 + cmp r0, 0x1 + bne _08069DB4 + adds r1, r4, 0x7 + adds r0, r5, 0x7 + ldr r2, _08069DD0 + bl MapGridSetMetatileIdAt +_08069DB4: + adds r4, 0x1 + cmp r4, r7 + blt _08069D9C +_08069DBA: + mov r5, r8 + cmp r5, r9 + blt _08069D90 +_08069DC0: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08069DCC: .4byte 0x0202e828 +_08069DD0: .4byte 0x0000020e + thumb_func_end sub_8069D78 + + thumb_func_start sub_8069DD4 +sub_8069DD4: @ 8069DD4 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08069DF8 + adds r5, r1, r0 + movs r1, 0x2 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _08069E20 + cmp r0, 0x1 + bgt _08069DFC + cmp r0, 0 + beq _08069E08 + b _08069F56 + .align 2, 0 +_08069DF8: .4byte 0x03004b28 +_08069DFC: + cmp r0, 0x2 + beq _08069EB6 + cmp r0, 0x3 + bne _08069E06 + b _08069F10 +_08069E06: + b _08069F56 +_08069E08: + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + mov r0, sp + ldrh r0, [r0] + strh r0, [r5, 0x4] + ldrh r0, [r4] + strh r0, [r5, 0x6] + b _08069F52 +_08069E20: + mov r7, sp + adds r7, 0x2 + mov r0, sp + adds r1, r7, 0 + bl PlayerGetDestCoords + mov r0, sp + ldrh r2, [r0] + movs r3, 0 + ldrsh r1, [r0, r3] + movs r3, 0x4 + ldrsh r0, [r5, r3] + cmp r1, r0 + bne _08069E4A + movs r0, 0 + ldrsh r1, [r7, r0] + movs r3, 0x6 + ldrsh r0, [r5, r3] + cmp r1, r0 + bne _08069E4A + b _08069F56 +_08069E4A: + strh r2, [r5, 0x4] + ldrh r0, [r7] + strh r0, [r5, 0x6] + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r7, r2] + bl MapGridGetMetatileBehaviorAt + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, _08069E8C + bl GetVarPointer + adds r6, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_8057540 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08069E90 + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] + movs r0, 0x4 + strh r0, [r5, 0xC] + movs r0, 0x2 + b _08069EA8 + .align 2, 0 +_08069E8C: .4byte 0x00004022 +_08069E90: + adds r0, r4, 0 + bl sub_8057554 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08069F56 + movs r0, 0 + strh r0, [r6] + movs r0, 0x4 + strh r0, [r5, 0xC] + movs r0, 0x3 +_08069EA8: + strh r0, [r5, 0x2] + mov r0, sp + ldrh r0, [r0] + strh r0, [r5, 0x8] + ldrh r0, [r7] + strh r0, [r5, 0xA] + b _08069F56 +_08069EB6: + ldrh r1, [r5, 0xC] + movs r3, 0xC + ldrsh r0, [r5, r3] + cmp r0, 0 + bne _08069F1A + mov r1, sp + ldrh r0, [r5, 0x8] + strh r0, [r1] + mov r4, sp + adds r4, 0x2 + ldrh r0, [r5, 0xA] + strh r0, [r4] + movs r0, 0x2A + bl audio_play + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + ldr r2, _08069F0C + bl MapGridSetMetatileIdAt + mov r0, sp + movs r3, 0 + ldrsh r0, [r0, r3] + movs r2, 0 + ldrsh r1, [r4, r2] + bl CurrentMapDrawMetatileAt + mov r0, sp + ldrh r0, [r0] + subs r0, 0x7 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r4] + subs r1, 0x7 + lsls r1, 16 + asrs r1, 16 + bl sub_8069CFC + b _08069F52 + .align 2, 0 +_08069F0C: .4byte 0x0000020e +_08069F10: + ldrh r1, [r5, 0xC] + movs r3, 0xC + ldrsh r0, [r5, r3] + cmp r0, 0 + beq _08069F20 +_08069F1A: + subs r0, r1, 0x1 + strh r0, [r5, 0xC] + b _08069F56 +_08069F20: + mov r1, sp + ldrh r0, [r5, 0x8] + strh r0, [r1] + mov r4, sp + adds r4, 0x2 + ldrh r0, [r5, 0xA] + strh r0, [r4] + movs r0, 0x29 + bl audio_play + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + ldr r2, _08069F60 + bl MapGridSetMetatileIdAt + mov r0, sp + movs r3, 0 + ldrsh r0, [r0, r3] + movs r2, 0 + ldrsh r1, [r4, r2] + bl CurrentMapDrawMetatileAt +_08069F52: + movs r0, 0x1 + strh r0, [r5, 0x2] +_08069F56: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08069F60: .4byte 0x00000206 + thumb_func_end sub_8069DD4 + + thumb_func_start sub_8069F64 +sub_8069F64: @ 8069F64 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08069FE8 + adds r5, r1, r0 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + mov r0, sp + ldrh r2, [r0] + movs r3, 0 + ldrsh r1, [r0, r3] + movs r3, 0x2 + ldrsh r0, [r5, r3] + cmp r1, r0 + bne _08069F9E + movs r0, 0 + ldrsh r1, [r4, r0] + movs r3, 0x4 + ldrsh r0, [r5, r3] + cmp r1, r0 + beq _0806A02A +_08069F9E: + strh r2, [r5, 0x2] + ldrh r0, [r4] + strh r0, [r5, 0x4] + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsAsh + lsls r0, 24 + cmp r0, 0 + beq _0806A02A + mov r0, sp + movs r3, 0 + ldrsh r0, [r0, r3] + movs r2, 0 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileIdAt + ldr r1, _08069FEC + cmp r0, r1 + bne _08069FF4 + mov r0, sp + movs r3, 0 + ldrsh r0, [r0, r3] + movs r2, 0 + ldrsh r1, [r4, r2] + ldr r2, _08069FF0 + movs r3, 0x4 + bl ash + b _0806A006 + .align 2, 0 +_08069FE8: .4byte 0x03004b28 +_08069FEC: .4byte 0x0000020a +_08069FF0: .4byte 0x00000212 +_08069FF4: + mov r0, sp + movs r3, 0 + ldrsh r0, [r0, r3] + movs r2, 0 + ldrsh r1, [r4, r2] + ldr r2, _0806A034 + movs r3, 0x4 + bl ash +_0806A006: + movs r0, 0x87 + lsls r0, 1 + movs r1, 0x1 + bl sub_80A92D4 + lsls r0, 24 + cmp r0, 0 + beq _0806A02A + ldr r0, _0806A038 + bl GetVarPointer + adds r2, r0, 0 + ldrh r1, [r2] + ldr r0, _0806A03C + cmp r1, r0 + bhi _0806A02A + adds r0, r1, 0x1 + strh r0, [r2] +_0806A02A: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806A034: .4byte 0x00000206 +_0806A038: .4byte 0x00004048 +_0806A03C: .4byte 0x0000270e + thumb_func_end sub_8069F64 + + thumb_func_start sub_806A040 +sub_806A040: @ 806A040 + push {r4,r5,lr} + lsls r0, 16 + asrs r5, r0, 16 + lsls r1, 16 + asrs r4, r1, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridGetMetatileIdAt + ldr r1, _0806A074 + ldr r2, _0806A078 + cmp r0, r1 + bne _0806A05C + subs r2, 0x31 +_0806A05C: + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridSetMetatileIdAt + adds r0, r5, 0 + adds r1, r4, 0 + bl CurrentMapDrawMetatileAt + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806A074: .4byte 0x0000022f +_0806A078: .4byte 0x00000237 + thumb_func_end sub_806A040 + + thumb_func_start sub_806A07C +sub_806A07C: @ 806A07C + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0806A164 + adds r5, r1, r0 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 16 + lsrs r6, r0, 16 + ldrh r1, [r5, 0x8] + movs r3, 0x8 + ldrsh r0, [r5, r3] + adds r7, r4, 0 + cmp r0, 0 + beq _0806A0CE + subs r0, r1, 0x1 + strh r0, [r5, 0x8] + lsls r0, 16 + cmp r0, 0 + bne _0806A0CE + movs r1, 0xA + ldrsh r0, [r5, r1] + movs r2, 0xC + ldrsh r1, [r5, r2] + bl sub_806A040 +_0806A0CE: + ldrh r1, [r5, 0xE] + movs r3, 0xE + ldrsh r0, [r5, r3] + cmp r0, 0 + beq _0806A0EE + subs r0, r1, 0x1 + strh r0, [r5, 0xE] + lsls r0, 16 + cmp r0, 0 + bne _0806A0EE + movs r1, 0x10 + ldrsh r0, [r5, r1] + movs r2, 0x12 + ldrsh r1, [r5, r2] + bl sub_806A040 +_0806A0EE: + lsls r0, r6, 24 + lsrs r6, r0, 24 + adds r0, r6, 0 + bl sub_8057818 + lsls r0, 24 + cmp r0, 0 + beq _0806A106 + ldr r0, _0806A168 + movs r1, 0 + bl VarSet +_0806A106: + mov r0, sp + ldrh r2, [r0] + movs r3, 0 + ldrsh r1, [r0, r3] + movs r3, 0x4 + ldrsh r0, [r5, r3] + cmp r1, r0 + bne _0806A122 + movs r0, 0 + ldrsh r1, [r7, r0] + movs r3, 0x6 + ldrsh r0, [r5, r3] + cmp r1, r0 + beq _0806A182 +_0806A122: + strh r2, [r5, 0x4] + adds r4, r7, 0 + ldrh r0, [r4] + strh r0, [r5, 0x6] + adds r0, r6, 0 + bl sub_805782C + lsls r0, 24 + cmp r0, 0 + beq _0806A182 + bl sub_80E6034 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x4 + beq _0806A14A + ldr r0, _0806A168 + movs r1, 0 + bl VarSet +_0806A14A: + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _0806A16C + movs r0, 0x3 + strh r0, [r5, 0x8] + mov r0, sp + ldrh r0, [r0] + strh r0, [r5, 0xA] + ldrh r0, [r4] + strh r0, [r5, 0xC] + b _0806A182 + .align 2, 0 +_0806A164: .4byte 0x03004b28 +_0806A168: .4byte 0x00004022 +_0806A16C: + movs r2, 0xE + ldrsh r0, [r5, r2] + cmp r0, 0 + bne _0806A182 + movs r0, 0x3 + strh r0, [r5, 0xE] + mov r0, sp + ldrh r0, [r0] + strh r0, [r5, 0x10] + ldrh r0, [r7] + strh r0, [r5, 0x12] +_0806A182: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806A07C + + thumb_func_start sub_806A18C +sub_806A18C: @ 806A18C + push {r4,r5,lr} + adds r3, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + lsls r2, 16 + lsrs r4, r2, 16 + ldrh r0, [r3] + subs r0, 0x1 + strh r0, [r3] + lsls r0, 16 + cmp r0, 0 + bne _0806A1A8 + movs r2, 0xE8 + b _0806A1BC +_0806A1A8: + ldr r1, _0806A1E4 + movs r2, 0 + ldrsh r0, [r3, r2] + cmp r0, 0 + bge _0806A1B4 + adds r0, 0x7 +_0806A1B4: + asrs r0, 3 + lsls r0, 1 + adds r0, r1 + ldrh r2, [r0] +_0806A1BC: + lsls r5, 16 + asrs r5, 16 + lsls r4, 16 + asrs r4, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridSetMetatileIdAt + adds r0, r5, 0 + adds r1, r4, 0 + bl CurrentMapDrawMetatileAt + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0xE8 + bl MapGridSetMetatileIdAt + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806A1E4: .4byte gUnknown_08376418 + thumb_func_end sub_806A18C + + thumb_func_start sub_806A1E8 +sub_806A1E8: @ 806A1E8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0806A230 + adds r4, r1, r0 + mov r5, sp + adds r5, 0x2 + mov r0, sp + adds r1, r5, 0 + bl PlayerGetDestCoords + ldr r0, _0806A234 + movs r1, 0x4 + ldrsb r1, [r0, r1] + lsls r1, 8 + ldrb r0, [r0, 0x5] + lsls r0, 24 + asrs r0, 24 + orrs r0, r1 + lsls r0, 16 + lsrs r7, r0, 16 + movs r0, 0x2 + ldrsh r1, [r4, r0] + mov r8, r5 + cmp r1, 0 + beq _0806A238 + cmp r1, 0x1 + beq _0806A264 + b _0806A2B8 + .align 2, 0 +_0806A230: .4byte 0x03004b28 +_0806A234: .4byte 0x02025734 +_0806A238: + strh r7, [r4] + mov r0, sp + ldrh r0, [r0] + strh r0, [r4, 0x4] + ldrh r0, [r5] + strh r0, [r4, 0x6] + movs r0, 0x1 + strh r0, [r4, 0x2] + strh r1, [r4, 0x8] + strh r1, [r4, 0xE] + strh r1, [r4, 0x14] + strh r1, [r4, 0x1A] + b _0806A2B8 +_0806A252: + movs r0, 0x20 + strh r0, [r1] + mov r0, sp + ldrh r0, [r0] + strh r0, [r1, 0x2] + mov r2, r8 + ldrh r0, [r2] + strh r0, [r1, 0x4] + b _0806A2B8 +_0806A264: + mov r0, sp + movs r3, 0x4 + ldrsh r1, [r4, r3] + ldrh r2, [r0] + movs r3, 0 + ldrsh r0, [r0, r3] + cmp r1, r0 + bne _0806A280 + movs r0, 0x6 + ldrsh r1, [r4, r0] + movs r3, 0 + ldrsh r0, [r5, r3] + cmp r1, r0 + beq _0806A2B8 +_0806A280: + strh r2, [r4, 0x4] + ldrh r0, [r5] + strh r0, [r4, 0x6] + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r5, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsMuddySlope + lsls r0, 24 + cmp r0, 0 + beq _0806A2B8 + movs r6, 0x4 + adds r1, r4, 0 + adds r1, 0x8 +_0806A2A8: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _0806A252 + adds r1, 0x6 + adds r6, 0x3 + cmp r6, 0xD + ble _0806A2A8 +_0806A2B8: + ldr r2, _0806A2D4 + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0806A2D8 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r7, r0 + beq _0806A2D8 + strh r7, [r4] + ldrh r0, [r2, 0x4] + ldrh r1, [r2, 0x8] + b _0806A2DC + .align 2, 0 +_0806A2D4: .4byte 0x0202e844 +_0806A2D8: + movs r0, 0 + movs r1, 0 +_0806A2DC: + lsls r0, 16 + asrs r0, 16 + mov r8, r0 + lsls r0, r1, 16 + asrs r7, r0, 16 + adds r5, r4, 0 + adds r5, 0x8 + adds r4, r5, 0 + movs r6, 0x9 +_0806A2EE: + movs r2, 0 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _0806A312 + ldrh r0, [r4, 0x2] + mov r3, r8 + subs r0, r3 + strh r0, [r4, 0x2] + ldrh r0, [r4, 0x4] + subs r0, r7 + strh r0, [r4, 0x4] + movs r0, 0x2 + ldrsh r1, [r4, r0] + movs r3, 0x4 + ldrsh r2, [r4, r3] + adds r0, r5, 0 + bl sub_806A18C +_0806A312: + adds r4, 0x6 + adds r5, 0x6 + subs r6, 0x3 + cmp r6, 0 + bge _0806A2EE + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806A1E8 + + thumb_func_start sub_806A328 +sub_806A328: @ 806A328 + push {lr} + ldr r0, _0806A350 + bl FlagSet + bl RtcCalcLocalTime + ldr r2, _0806A354 + adds r2, 0xA0 + ldr r3, _0806A358 + ldr r0, [r3] + ldr r1, [r3, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + ldr r0, _0806A35C + ldrh r1, [r3] + bl VarSet + pop {r0} + bx r0 + .align 2, 0 +_0806A350: .4byte 0x00000835 +_0806A354: .4byte gSaveBlock2 +_0806A358: .4byte 0x03004038 +_0806A35C: .4byte 0x00004040 + thumb_func_end sub_806A328 + + thumb_func_start InTrainerHill +InTrainerHill: @ 806A360 + push {r4,lr} + ldr r0, _0806A388 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0806A380 + bl RtcCalcLocalTime + ldr r4, _0806A38C + adds r0, r4, 0 + bl sub_806A390 + adds r0, r4, 0 + bl sub_806A3F4 +_0806A380: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806A388: .4byte 0x00000835 +_0806A38C: .4byte 0x03004038 + thumb_func_end InTrainerHill + + thumb_func_start sub_806A390 +sub_806A390: @ 806A390 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _0806A3F0 + bl GetVarPointer + adds r6, r0, 0 + ldrh r0, [r6] + movs r2, 0 + ldrsh r1, [r5, r2] + cmp r0, r1 + beq _0806A3EA + cmp r0, r1 + bgt _0806A3EA + ldrh r4, [r5] + subs r4, r0 + lsls r4, 16 + lsrs r4, 16 + bl sub_80690B4 + adds r0, r4, 0 + bl sub_80FA220 + adds r0, r4, 0 + bl sub_80BE8C4 + adds r0, r4, 0 + bl sub_8080834 + adds r0, r4, 0 + bl sub_80401D8 + adds r0, r4, 0 + bl sub_810D2F4 + adds r0, r4, 0 + bl sub_810D410 + adds r0, r4, 0 + bl sub_810F618 + adds r0, r4, 0 + bl sub_8145AA4 + ldrh r0, [r5] + strh r0, [r6] +_0806A3EA: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806A3F0: .4byte 0x00004040 + thumb_func_end sub_806A390 + + thumb_func_start sub_806A3F4 +sub_806A3F4: @ 806A3F4 + push {r4-r6,lr} + sub sp, 0x8 + adds r5, r0, 0 + mov r4, sp + ldr r6, _0806A448 + mov r0, sp + adds r1, r6, 0 + adds r2, r5, 0 + bl CalcTimeDifference + mov r0, sp + movs r2, 0 + ldrsh r1, [r0, r2] + lsls r0, r1, 1 + adds r0, r1 + lsls r1, r0, 4 + subs r1, r0 + lsls r1, 5 + movs r2, 0x2 + ldrsb r2, [r4, r2] + lsls r0, r2, 4 + subs r0, r2 + lsls r0, 2 + adds r1, r0 + movs r0, 0x3 + ldrsb r0, [r4, r0] + adds r0, r1, r0 + cmp r0, 0 + beq _0806A43E + cmp r0, 0 + blt _0806A43E + bl BerryTreeTimeUpdate + ldr r0, [r5] + ldr r1, [r5, 0x4] + str r0, [r6] + str r1, [r6, 0x4] +_0806A43E: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806A448: .4byte 0x02024f44 + thumb_func_end sub_806A3F4 + + thumb_func_start sub_806A44C +sub_806A44C: @ 806A44C + push {lr} + bl sub_806A328 + ldr r0, _0806A45C + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_0806A45C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music + thumb_func_end sub_806A44C + + thumb_func_start sub_806A460 +sub_806A460: @ 806A460 + push {lr} + ldr r0, _0806A474 + bl SetMainCallback2 + ldr r1, _0806A478 + ldr r0, _0806A47C + str r0, [r1, 0x8] + pop {r0} + bx r0 + .align 2, 0 +_0806A474: .4byte Cb2_StartWallClock +_0806A478: .4byte 0x03001770 +_0806A47C: .4byte sub_806A44C + thumb_func_end sub_806A460 + + thumb_func_start sub_806A480 +sub_806A480: @ 806A480 + push {lr} + adds r3, r0, 0 + ldr r2, _0806A4B0 + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r2, 0xC + ldrsh r1, [r0, r2] + movs r2, 0x30 + ldrsh r0, [r3, r2] + cmp r1, r0 + beq _0806A596 + strh r1, [r3, 0x30] + subs r0, r1, 0x1 + cmp r0, 0x5 + bhi _0806A596 + lsls r0, 2 + ldr r1, _0806A4B4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806A4B0: .4byte 0x03004b20 +_0806A4B4: .4byte _0806A4B8 + .align 2, 0 +_0806A4B8: + .4byte _0806A4D0 + .4byte _0806A4F4 + .4byte _0806A518 + .4byte _0806A53C + .4byte _0806A566 + .4byte _0806A590 +_0806A4D0: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x35 + b _0806A55E +_0806A4F4: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x56 + b _0806A55E +_0806A518: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x6B + b _0806A55E +_0806A53C: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x1 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x41 + ands r0, r1 + strb r0, [r2] + movs r0, 0x80 +_0806A55E: + strh r0, [r3, 0x20] + movs r0, 0x44 + strh r0, [r3, 0x22] + b _0806A596 +_0806A566: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0x2 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x42 + ands r0, r1 + strb r0, [r2] + movs r0, 0x9B + strh r0, [r3, 0x20] + movs r0, 0x50 + strh r0, [r3, 0x22] + b _0806A596 +_0806A590: + adds r0, r3, 0 + bl DestroySprite +_0806A596: + pop {r0} + bx r0 + thumb_func_end sub_806A480 + + thumb_func_start sub_806A59C +sub_806A59C: @ 806A59C + push {lr} + adds r3, r0, 0 + ldr r2, _0806A5CC + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r2, 0xC + ldrsh r1, [r0, r2] + movs r2, 0x30 + ldrsh r0, [r3, r2] + cmp r1, r0 + beq _0806A696 + strh r1, [r3, 0x30] + subs r0, r1, 0x1 + cmp r0, 0x5 + bhi _0806A696 + lsls r0, 2 + ldr r1, _0806A5D0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806A5CC: .4byte 0x03004b20 +_0806A5D0: .4byte _0806A5D4 + .align 2, 0 +_0806A5D4: + .4byte _0806A5EC + .4byte _0806A610 + .4byte _0806A634 + .4byte _0806A658 + .4byte _0806A682 + .4byte _0806A690 +_0806A5EC: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x35 + b _0806A67A +_0806A610: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x56 + b _0806A67A +_0806A634: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x6B + b _0806A67A +_0806A658: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r1, r3, 0 + adds r1, 0x2A + movs r0, 0 + strb r0, [r1] + subs r2, 0x12 + ldrb r1, [r2] + subs r0, 0x40 + ands r0, r1 + strb r0, [r2] + movs r0, 0x80 +_0806A67A: + strh r0, [r3, 0x20] + movs r0, 0x5C + strh r0, [r3, 0x22] + b _0806A696 +_0806A682: + adds r0, r3, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _0806A696 +_0806A690: + adds r0, r3, 0 + bl DestroySprite +_0806A696: + pop {r0} + bx r0 + thumb_func_end sub_806A59C + + thumb_func_start sub_806A69C +sub_806A69C: @ 806A69C + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _0806A70C + bl LoadSpritePalette + ldr r0, _0806A710 + mov r8, r0 + movs r1, 0x35 + movs r2, 0x44 + movs r3, 0 + bl CreateSpriteAtEnd + lsls r0, 24 + lsrs r1, r0, 24 + ldr r6, _0806A714 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, r6, 0 + adds r4, 0x1C + adds r2, r0, r4 + ldr r1, _0806A718 + str r1, [r2] + adds r0, r6 + strh r5, [r0, 0x2E] + ldr r1, _0806A71C + strh r1, [r0, 0x30] + mov r0, r8 + movs r1, 0x35 + movs r2, 0x44 + movs r3, 0 + bl CreateSpriteAtEnd + lsls r0, 24 + lsrs r1, r0, 24 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, r0, r4 + ldr r1, _0806A720 + str r1, [r4] + adds r0, r6 + strh r5, [r0, 0x2E] + movs r1, 0x1 + negs r1, r1 + strh r1, [r0, 0x30] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806A70C: .4byte gUnknown_083764BC +_0806A710: .4byte gSpriteTemplate_83764E8 +_0806A714: .4byte 0x02020004 +_0806A718: .4byte sub_806A480 +_0806A71C: .4byte 0x0000ffff +_0806A720: .4byte sub_806A59C + thumb_func_end sub_806A69C + + thumb_func_start sub_806A724 +sub_806A724: @ 806A724 + push {lr} + ldr r0, _0806A734 + ldrh r0, [r0, 0x4] + bl FreeSpritePaletteByTag + pop {r0} + bx r0 + .align 2, 0 +_0806A734: .4byte gUnknown_083764BC + thumb_func_end sub_806A724 + + thumb_func_start sub_806A738 +sub_806A738: @ 806A738 + push {lr} + movs r0, 0x3 + movs r1, 0x8 + movs r2, 0x19 + movs r3, 0xB + bl MenuZeroFillWindowRect + pop {r0} + bx r0 + thumb_func_end sub_806A738 + + thumb_func_start sub_806A74C +sub_806A74C: @ 806A74C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r10, r0 + adds r0, r2, 0 + adds r4, r3, 0 + ldr r6, [sp, 0x24] + ldr r2, [sp, 0x28] + mov r9, r2 + mov r2, r10 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + lsls r1, 24 + lsrs r1, 24 + str r1, [sp] + lsls r0, 16 + lsrs r0, 16 + lsls r4, 24 + lsrs r4, 24 + lsls r6, 24 + lsrs r6, 24 + mov r1, r9 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + ldr r7, _0806A83C + ldr r1, _0806A840 + bl __umodsi3 + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r4, 0 + movs r1, 0x18 + bl __umodsi3 + mov r8, r0 + mov r2, r8 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + adds r0, r6, 0 + movs r1, 0x3C + bl __umodsi3 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + mov r0, r9 + movs r1, 0x3C + bl __umodsi3 + mov r9, r0 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r4, _0806A844 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x18 + movs r3, 0x1 + bl sub_8072C44 + adds r0, r7, 0 + adds r1, r4, 0 + bl StringCopy + adds r7, r0, 0 + ldr r1, _0806A848 + bl StringCopy + adds r7, r0, 0 + adds r0, r4, 0 + mov r1, r8 + movs r2, 0x12 + movs r3, 0x1 + bl sub_8072C44 + adds r0, r7, 0 + adds r1, r4, 0 + bl StringCopy + adds r7, r0, 0 + ldr r4, _0806A84C + adds r1, r4, 0 + bl StringCopy + adds r7, r0, 0 + adds r1, r6, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + adds r7, r0, 0 + adds r1, r4, 0 + bl StringCopy + adds r7, r0, 0 + mov r1, r9 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + ldr r0, _0806A83C + mov r1, r10 + ldr r2, [sp] + bl MenuPrint + 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 +_0806A83C: .4byte 0x020234cc +_0806A840: .4byte 0x00002710 +_0806A844: .4byte 0x020231cc +_0806A848: .4byte gUnknown_0842D4F6 +_0806A84C: .4byte gUnknown_08376500 + thumb_func_end sub_806A74C + + thumb_func_start sub_806A850 +sub_806A850: @ 806A850 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x8 + adds r6, r0, 0 + mov r8, r1 + adds r4, r2, 0 + adds r5, r3, 0 + lsls r6, 16 + lsrs r6, 16 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0x3 + movs r1, 0x8 + movs r2, 0x19 + movs r3, 0xB + bl MenuDrawTextWindow + ldr r0, _0806A8A8 + movs r1, 0x14 + movs r2, 0x9 + bl MenuPrint + str r4, [sp] + str r5, [sp, 0x4] + movs r0, 0x4 + movs r1, 0x9 + adds r2, r6, 0 + mov r3, r8 + bl sub_806A74C + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806A8A8: .4byte gUnknown_0842D4FC + thumb_func_end sub_806A850 + + thumb_func_start sub_806A8AC +sub_806A8AC: @ 806A8AC + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r3, 16 + lsrs r3, 16 + adds r1, r3, 0 + movs r0, 0x80 + ands r0, r3 + cmp r0, 0 + beq _0806A8C6 + ldrh r0, [r4] + subs r0, 0x1 + b _0806A8E0 +_0806A8C6: + movs r0, 0x40 + ands r0, r3 + cmp r0, 0 + beq _0806A8D4 + ldrh r0, [r4] + adds r0, 0x1 + b _0806A8FE +_0806A8D4: + movs r0, 0x20 + ands r0, r3 + cmp r0, 0 + beq _0806A8EE + ldrh r0, [r4] + subs r0, 0xA +_0806A8E0: + strh r0, [r4] + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, r5 + bge _0806A90A + strh r2, [r4] + b _0806A90A +_0806A8EE: + movs r0, 0x10 + ands r1, r0 + cmp r1, 0 + bne _0806A8FA + movs r0, 0 + b _0806A90C +_0806A8FA: + ldrh r0, [r4] + adds r0, 0xA +_0806A8FE: + strh r0, [r4] + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, r2 + ble _0806A90A + strh r5, [r4] +_0806A90A: + movs r0, 0x1 +_0806A90C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_806A8AC + + thumb_func_start sub_806A914 +sub_806A914: @ 806A914 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806A928 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0x1 + strh r0, [r1, 0x8] + bx lr + .align 2, 0 +_0806A928: .4byte 0x03004b20 + thumb_func_end sub_806A914 + + thumb_func_start sub_806A92C +sub_806A92C: @ 806A92C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_806A738 + bl sub_806A724 + ldr r1, _0806A950 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806A954 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806A950: .4byte 0x03004b20 +_0806A954: .4byte sub_806A914 + thumb_func_end sub_806A92C + + thumb_func_start sub_806A958 +sub_806A958: @ 806A958 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r7, r0, 3 + ldr r0, _0806A99C + mov r8, r0 + adds r5, r7, r0 + ldrb r4, [r5, 0x4] + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 2 + ldr r1, _0806A9A0 + adds r2, r0, r1 + ldr r1, _0806A9A4 + ldrh r3, [r1, 0x2E] + movs r0, 0x2 + ands r0, r3 + mov r12, r1 + cmp r0, 0 + beq _0806A9AC + mov r0, r8 + subs r0, 0x8 + adds r0, r7, r0 + ldr r1, _0806A9A8 + str r1, [r0] + movs r0, 0 + strh r0, [r5, 0x2] + movs r0, 0x6 + b _0806A9CC + .align 2, 0 +_0806A99C: .4byte 0x03004b28 +_0806A9A0: .4byte gUnknown_08376414 +_0806A9A4: .4byte 0x03001770 +_0806A9A8: .4byte sub_806A92C +_0806A9AC: + movs r0, 0x10 + ands r0, r3 + cmp r0, 0 + beq _0806A9BA + ldrb r0, [r2, 0x7] + cmp r0, 0 + bne _0806A9CC +_0806A9BA: + mov r3, r12 + ldrh r1, [r3, 0x2E] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0806A9D6 + ldrb r0, [r2, 0x6] + cmp r0, 0 + beq _0806A9D6 +_0806A9CC: + strh r0, [r5, 0x4] + movs r0, 0x5 + bl audio_play + b _0806AA58 +_0806A9D6: + cmp r4, 0x5 + bne _0806AA24 + mov r0, r12 + ldrh r1, [r0, 0x2E] + movs r4, 0x1 + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _0806AA58 + ldr r1, _0806AA18 + ldrh r0, [r5, 0x6] + strh r0, [r1] + ldrh r0, [r5, 0x8] + strb r0, [r1, 0x2] + ldrh r0, [r5, 0xA] + strb r0, [r1, 0x3] + ldrh r0, [r5, 0xC] + strb r0, [r1, 0x4] + movs r0, 0x5 + bl audio_play + ldr r1, _0806AA1C + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806AA20 + str r1, [r0] + strh r4, [r5, 0x2] + movs r0, 0x6 + strh r0, [r5, 0x4] + b _0806AA58 + .align 2, 0 +_0806AA18: .4byte 0x03004038 +_0806AA1C: .4byte 0x03004b20 +_0806AA20: .4byte sub_806A92C +_0806AA24: + ldrb r0, [r2] + lsls r0, 1 + adds r0, r5, r0 + ldrh r1, [r2, 0x2] + ldrh r2, [r2, 0x4] + mov r3, r12 + ldrh r4, [r3, 0x30] + movs r3, 0xC0 + ands r3, r4 + bl sub_806A8AC + cmp r0, 0 + beq _0806AA58 + movs r0, 0x5 + bl audio_play + ldrh r2, [r5, 0x6] + ldrb r3, [r5, 0x8] + ldrb r0, [r5, 0xA] + str r0, [sp] + ldrb r0, [r5, 0xC] + str r0, [sp, 0x4] + movs r0, 0x4 + movs r1, 0x9 + bl sub_806A74C +_0806AA58: + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806A958 + + thumb_func_start sub_806AA64 +sub_806AA64: @ 806AA64 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r6, r5, 2 + adds r6, r5 + lsls r6, 3 + ldr r0, _0806AACC + mov r8, r0 + adds r4, r6, r0 + movs r0, 0 + strh r0, [r4] + ldr r3, _0806AAD0 + ldrh r0, [r3] + strh r0, [r4, 0x6] + movs r1, 0x2 + ldrsb r1, [r3, r1] + strh r1, [r4, 0x8] + movs r2, 0x3 + ldrsb r2, [r3, r2] + strh r2, [r4, 0xA] + ldrb r3, [r3, 0x4] + lsls r3, 24 + asrs r3, 24 + strh r3, [r4, 0xC] + ldrh r0, [r4, 0x6] + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r3, 24 + lsrs r3, 24 + bl sub_806A850 + adds r0, r5, 0 + bl sub_806A69C + movs r0, 0x2 + strh r0, [r4, 0x4] + movs r0, 0x8 + negs r0, r0 + add r8, r0 + add r6, r8 + ldr r0, _0806AAD4 + str r0, [r6] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806AACC: .4byte 0x03004b28 +_0806AAD0: .4byte 0x03004038 +_0806AAD4: .4byte sub_806A958 + thumb_func_end sub_806AA64 + + thumb_func_start sub_806AAD8 +sub_806AAD8: @ 806AAD8 + push {r4-r7,lr} + sub sp, 0x4 + movs r0, 0x80 + lsls r0, 19 + movs r4, 0 + strh r4, [r0] + movs r0, 0 + bl SetVBlankCallback + movs r2, 0xA0 + lsls r2, 19 + mov r0, sp + strh r4, [r0] + ldr r1, _0806AB94 + str r0, [r1] + str r2, [r1, 0x4] + ldr r0, _0806AB98 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r2, 0xC0 + lsls r2, 19 + movs r3, 0xC0 + lsls r3, 9 + mov r4, sp + movs r6, 0 + movs r5, 0x80 + lsls r5, 5 + ldr r7, _0806AB9C + movs r0, 0x81 + lsls r0, 24 + mov r12, r0 +_0806AB16: + 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 _0806AB16 + 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] + movs r0, 0 + movs r1, 0x80 + bl ResetOamRange + bl LoadOam + bl remove_some_task + bl dp12_8087EA4 + bl ResetSpriteData + bl ResetTasks + bl ResetPaletteFade + ldr r4, _0806ABA0 + adds r0, r4, 0 + bl SetUpWindowConfig + adds r0, r4, 0 + bl InitMenuWindow + movs r1, 0x80 + lsls r1, 19 + movs r2, 0x88 + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + ldr r0, _0806ABA4 + bl SetVBlankCallback + ldr r0, _0806ABA8 + bl SetMainCallback2 + ldr r0, _0806ABAC + movs r1, 0x50 + bl CreateTask + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806AB94: .4byte 0x040000d4 +_0806AB98: .4byte 0x81000200 +_0806AB9C: .4byte 0x81000800 +_0806ABA0: .4byte gWindowConfig_81E6CE4 +_0806ABA4: .4byte sub_806ABC8 +_0806ABA8: .4byte sub_806ABB0 +_0806ABAC: .4byte sub_806ACCC + thumb_func_end sub_806AAD8 + + thumb_func_start sub_806ABB0 +sub_806ABB0: @ 806ABB0 + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_806ABB0 + + thumb_func_start sub_806ABC8 +sub_806ABC8: @ 806ABC8 + push {lr} + bl ProcessSpriteCopyRequests + bl LoadOam + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_806ABC8 + + thumb_func_start sub_806ABDC +sub_806ABDC: @ 806ABDC + push {r4,lr} + adds r4, r0, 0 + bl MenuDisplayMessageBox + adds r0, r4, 0 + movs r1, 0x2 + movs r2, 0xF + bl MenuPrint + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_806ABDC + + thumb_func_start sub_806ABF4 +sub_806ABF4: @ 806ABF4 + push {r4,r5,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0806AC14 + adds r4, r0, r1 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0806AC18 + cmp r0, 0x1 + beq _0806AC80 + b _0806ACC4 + .align 2, 0 +_0806AC14: .4byte 0x03004b28 +_0806AC18: + bl MenuZeroFillScreen + movs r0, 0 + movs r1, 0 + movs r2, 0x14 + movs r3, 0xA + bl MenuDrawTextWindow + ldr r0, _0806AC98 + movs r1, 0x1 + movs r2, 0x1 + bl MenuPrint + ldr r0, _0806AC9C + ldrh r2, [r0] + ldrb r3, [r0, 0x2] + ldrb r1, [r0, 0x3] + str r1, [sp] + ldrb r0, [r0, 0x4] + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0x3 + bl sub_806A74C + ldr r0, _0806ACA0 + movs r1, 0x1 + movs r2, 0x5 + bl MenuPrint + ldr r1, _0806ACA4 + adds r0, r1, 0 + adds r0, 0xA0 + ldrh r2, [r0] + adds r0, 0x2 + ldrb r3, [r0] + adds r0, 0x1 + ldrb r0, [r0] + str r0, [sp] + adds r0, r1, 0 + adds r0, 0xA4 + ldrb r0, [r0] + str r0, [sp, 0x4] + movs r0, 0x1 + movs r1, 0x7 + bl sub_806A74C + ldr r0, _0806ACA8 + bl sub_806ABDC + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] +_0806AC80: + ldr r0, _0806ACAC + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0806ACB0 + adds r0, r5, 0 + bl DestroyTask + bl DoSoftReset + b _0806ACC4 + .align 2, 0 +_0806AC98: .4byte gUnknown_08411804 +_0806AC9C: .4byte 0x03004038 +_0806ACA0: .4byte gUnknown_08411819 +_0806ACA4: .4byte gSaveBlock2 +_0806ACA8: .4byte gUnknown_084117E3 +_0806ACAC: .4byte 0x03001770 +_0806ACB0: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0806ACC4 + movs r0, 0x5 + bl audio_play + adds r0, r5, 0 + bl DestroyTask +_0806ACC4: + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_806ABF4 + + thumb_func_start sub_806ACCC +sub_806ACCC: @ 806ACCC + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _0806ACF4 + adds r5, r0, r1 + movs r1, 0 + ldrsh r0, [r5, r1] + cmp r0, 0x6 + bls _0806ACE8 + b _0806AEC4 +_0806ACE8: + lsls r0, 2 + ldr r1, _0806ACF8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806ACF4: .4byte 0x03004b28 +_0806ACF8: .4byte _0806ACFC + .align 2, 0 +_0806ACFC: + .4byte _0806AD18 + .4byte _0806AD34 + .4byte _0806AD80 + .4byte _0806ADD8 + .4byte _0806AE5C + .4byte _0806AE8C + .4byte _0806AEAE +_0806AD18: + movs r0, 0x1 + negs r0, r0 + ldr r1, _0806AD30 + str r1, [sp] + movs r1, 0x1 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + movs r0, 0x1 + strh r0, [r5] + b _0806AEC4 + .align 2, 0 +_0806AD30: .4byte 0x0000ffff +_0806AD34: + ldr r0, _0806AD5C + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0806AD42 + b _0806AEC4 +_0806AD42: + ldr r0, _0806AD60 + ldrh r0, [r0] + cmp r0, 0 + beq _0806AD4E + cmp r0, 0x2 + bne _0806AD68 +_0806AD4E: + ldr r0, _0806AD64 + bl sub_806ABDC + movs r0, 0x5 + strh r0, [r5] + b _0806AEC4 + .align 2, 0 +_0806AD5C: .4byte 0x0202f388 +_0806AD60: .4byte 0x03005eb8 +_0806AD64: .4byte gUnknown_084118A0 +_0806AD68: + bl RtcCalcLocalTime + ldr r0, _0806AD7C + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x2] + b _0806ADFC + .align 2, 0 +_0806AD7C: .4byte sub_806ABF4 +_0806AD80: + ldr r2, _0806ADC4 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrb r0, [r0, 0x4] + cmp r0, 0x1 + bne _0806AD96 + b _0806AEC4 +_0806AD96: + bl MenuZeroFillScreen + ldr r0, _0806ADC8 + bl sub_806ABDC + ldr r2, _0806ADCC + ldr r0, _0806ADD0 + adds r0, 0xA0 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + ldr r0, _0806ADD4 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x2] + movs r0, 0x3 + strh r0, [r5] + b _0806AEC4 + .align 2, 0 +_0806ADC4: .4byte 0x03004b20 +_0806ADC8: .4byte gUnknown_0841182F +_0806ADCC: .4byte 0x03004038 +_0806ADD0: .4byte gSaveBlock2 +_0806ADD4: .4byte sub_806AA64 +_0806ADD8: + ldr r2, _0806AE04 + movs r0, 0x2 + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r1, r0, r2 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _0806AEC4 + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _0806AE08 + ldrb r0, [r5, 0x2] + bl DestroyTask +_0806ADFC: + movs r0, 0x2 + strh r0, [r5] + b _0806AEC4 + .align 2, 0 +_0806AE04: .4byte 0x03004b20 +_0806AE08: + ldrb r0, [r5, 0x2] + bl DestroyTask + bl RtcReset + ldr r4, _0806AE4C + movs r1, 0 + ldrsh r0, [r4, r1] + movs r1, 0x2 + ldrsb r1, [r4, r1] + movs r2, 0x3 + ldrsb r2, [r4, r2] + movs r3, 0x4 + ldrsb r3, [r4, r3] + bl RtcCalcLocalTimeOffset + ldr r2, _0806AE50 + adds r2, 0xA0 + ldr r0, [r4] + ldr r1, [r4, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + ldr r0, _0806AE54 + ldrh r1, [r4] + bl VarSet + bl sub_80691A0 + ldr r0, _0806AE58 + bl sub_806ABDC + movs r0, 0x4 + strh r0, [r5] + b _0806AEC4 + .align 2, 0 +_0806AE4C: .4byte 0x03004038 +_0806AE50: .4byte gSaveBlock2 +_0806AE54: .4byte 0x00004040 +_0806AE58: .4byte gUnknown_08411846 +_0806AE5C: + movs r0, 0 + bl sub_8125D44 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806AE7C + ldr r0, _0806AE78 + bl sub_806ABDC + movs r0, 0x49 + bl audio_play + b _0806AE88 + .align 2, 0 +_0806AE78: .4byte gUnknown_08411881 +_0806AE7C: + ldr r0, _0806AECC + bl sub_806ABDC + movs r0, 0x16 + bl audio_play +_0806AE88: + movs r0, 0x5 + strh r0, [r5] +_0806AE8C: + ldr r0, _0806AED0 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0806AEC4 + movs r0, 0x1 + negs r0, r0 + ldr r1, _0806AED4 + str r1, [sp] + movs r1, 0x1 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + movs r0, 0x6 + strh r0, [r5] +_0806AEAE: + ldr r0, _0806AED8 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0806AEC4 + adds r0, r4, 0 + bl DestroyTask + bl DoSoftReset +_0806AEC4: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806AECC: .4byte gUnknown_08411891 +_0806AED0: .4byte 0x03001770 +_0806AED4: .4byte 0x0000ffff +_0806AED8: .4byte 0x0202f388 + thumb_func_end sub_806ACCC + + thumb_func_start sub_806AEDC +sub_806AEDC: @ 806AEDC + push {r4-r6,lr} + sub sp, 0x4 + bl AnimateSprites + bl BuildOamBuffer + ldr r0, _0806AF2C + ldrb r1, [r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 4 + ldr r1, _0806AF30 + adds r5, r0, r1 + movs r6, 0 +_0806AEF8: + ldrb r0, [r5] + lsls r0, 3 + ldrb r1, [r5, 0x1] + lsls r1, 3 + ldr r2, [r5, 0x4] + lsls r3, r6, 5 + movs r4, 0x80 + lsls r4, 2 + orrs r3, r4 + str r3, [sp] + movs r3, 0 + bl sub_800142C + adds r5, 0x8 + adds r6, 0x1 + cmp r6, 0x5 + ble _0806AEF8 + bl RunTasks + bl UpdatePaletteFade + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806AF2C: .4byte 0x0202e8fa +_0806AF30: .4byte gUnknown_08376BB4 + thumb_func_end sub_806AEDC + + thumb_func_start sub_806AF34 +sub_806AF34: @ 806AF34 + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + bl sub_806B548 + pop {r0} + bx r0 + thumb_func_end sub_806AF34 + + thumb_func_start sub_806AF4C +sub_806AF4C: @ 806AF4C + push {r4,r5,lr} + adds r4, r2, 0 + lsls r0, 24 + lsrs r2, r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r3, 24 + lsrs r3, 24 + cmp r1, 0xFF + beq _0806AF64 + ldr r0, _0806AF84 + strh r1, [r0] +_0806AF64: + ldr r0, _0806AF88 + movs r5, 0x96 + lsls r5, 2 + adds r1, r0, r5 + strb r2, [r1] + movs r2, 0x97 + lsls r2, 2 + adds r1, r0, r2 + str r4, [r1] + adds r5, 0x1 + adds r0, r5 + strb r3, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806AF84: .4byte 0x020239f8 +_0806AF88: .4byte 0x0201b000 + thumb_func_end sub_806AF4C + + thumb_func_start sub_806AF8C +sub_806AF8C: @ 806AF8C + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r3, 24 + lsrs r3, 24 + bl sub_806AF4C + ldr r0, _0806AFA8 + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_0806AFA8: .4byte sub_806B460 + thumb_func_end sub_806AF8C + + thumb_func_start sub_806AFAC +sub_806AFAC: @ 806AFAC + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + ldr r2, _0806AFCC + lsls r3, r0, 1 + adds r3, r0 + lsls r3, 2 + adds r3, r2 + ldr r2, [r3] + ldrb r3, [r3, 0x8] + bl sub_806AF8C + pop {r0} + bx r0 + .align 2, 0 +_0806AFCC: .4byte gUnknown_08376C74 + thumb_func_end sub_806AFAC + + thumb_func_start sub_806AFD0 +sub_806AFD0: @ 806AFD0 + push {r4,r5,lr} + ldr r1, _0806AFF0 + movs r2, 0x99 + lsls r2, 2 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + adds r4, r1, 0 + cmp r0, 0x9 + bls _0806AFE6 + b _0806B11A +_0806AFE6: + lsls r0, 2 + ldr r1, _0806AFF4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806AFF0: .4byte 0x0201b000 +_0806AFF4: .4byte _0806AFF8 + .align 2, 0 +_0806AFF8: + .4byte _0806B020 + .4byte _0806B060 + .4byte _0806B066 + .4byte _0806B07A + .4byte _0806B0A4 + .4byte _0806B0AA + .4byte _0806B0BC + .4byte _0806B0C2 + .4byte _0806B0D4 + .4byte _0806B0EC +_0806B020: + ldr r0, _0806B048 + adds r5, r4, r0 + movs r1, 0 + ldrsh r3, [r5, r1] + ldr r0, _0806B04C + ldrb r0, [r0] + cmp r3, r0 + bge _0806B054 + movs r2, 0x98 + lsls r2, 2 + adds r0, r4, r2 + ldrb r0, [r0] + ldrb r1, [r5] + movs r2, 0x64 + muls r2, r3 + ldr r3, _0806B050 + adds r2, r3 + bl sub_806D90C + b _0806B114 + .align 2, 0 +_0806B048: .4byte 0x00000266 +_0806B04C: .4byte 0x03004350 +_0806B050: .4byte 0x03004360 +_0806B054: + movs r0, 0 + strh r0, [r5] + movs r0, 0x99 + lsls r0, 2 + adds r1, r4, r0 + b _0806B0E0 +_0806B060: + bl sub_806DA98 + b _0806B0D8 +_0806B066: + movs r1, 0x98 + lsls r1, 2 + adds r0, r4, r1 + ldrb r0, [r0] + bl sub_806DC34 + movs r2, 0x99 + lsls r2, 2 + adds r1, r4, r2 + b _0806B0E0 +_0806B07A: + movs r1, 0x98 + lsls r1, 2 + adds r0, r4, r1 + ldrb r0, [r0] + ldr r2, _0806B0A0 + adds r5, r4, r2 + ldrb r1, [r5] + bl sub_806BD58 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B114 + movs r0, 0 + strh r0, [r5] + movs r0, 0x99 + lsls r0, 2 + adds r1, r4, r0 + b _0806B0E0 + .align 2, 0 +_0806B0A0: .4byte 0x00000266 +_0806B0A4: + bl sub_806E334 + b _0806B0D8 +_0806B0AA: + bl sub_806E0C4 + ldr r1, _0806B0B8 + movs r0, 0x99 + lsls r0, 2 + adds r1, r0 + b _0806B0E0 + .align 2, 0 +_0806B0B8: .4byte 0x0201b000 +_0806B0BC: + bl sub_806E53C + b _0806B0D8 +_0806B0C2: + bl nullsub_13 + ldr r1, _0806B0D0 + movs r0, 0x99 + lsls r0, 2 + adds r1, r0 + b _0806B0E0 + .align 2, 0 +_0806B0D0: .4byte 0x0201b000 +_0806B0D4: + bl sub_806E6C8 +_0806B0D8: + ldr r1, _0806B0E8 + movs r2, 0x99 + lsls r2, 2 + adds r1, r2 +_0806B0E0: + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + b _0806B11A + .align 2, 0 +_0806B0E8: .4byte 0x0201b000 +_0806B0EC: + ldr r0, _0806B110 + adds r5, r4, r0 + ldrb r0, [r5] + bl sub_806B58C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B114 + movs r1, 0 + strh r1, [r5] + movs r2, 0x99 + lsls r2, 2 + adds r0, r4, r2 + strh r1, [r0] + movs r0, 0x1 + b _0806B11C + .align 2, 0 +_0806B110: .4byte 0x00000266 +_0806B114: + ldrh r0, [r5] + adds r0, 0x1 + strh r0, [r5] +_0806B11A: + movs r0, 0 +_0806B11C: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_806AFD0 + + thumb_func_start sub_806B124 +sub_806B124: @ 806B124 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + ldr r0, _0806B144 + ldr r1, _0806B148 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x11 + bls _0806B13A + b _0806B450 +_0806B13A: + lsls r0, 2 + ldr r1, _0806B14C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806B144: .4byte 0x03001770 +_0806B148: .4byte 0x0000043c +_0806B14C: .4byte _0806B150 + .align 2, 0 +_0806B150: + .4byte _0806B198 + .4byte _0806B240 + .4byte _0806B246 + .4byte _0806B27C + .4byte _0806B282 + .4byte _0806B2AC + .4byte _0806B2B2 + .4byte _0806B2D0 + .4byte _0806B2EC + .4byte _0806B318 + .4byte _0806B344 + .4byte _0806B37C + .4byte _0806B382 + .4byte _0806B3C0 + .4byte _0806B3CC + .4byte _0806B3E4 + .4byte _0806B40C + .4byte _0806B440 +_0806B198: + movs r0, 0 + bl SetVBlankCallback + movs r3, 0xC0 + lsls r3, 19 + movs r4, 0xC0 + lsls r4, 9 + add r2, sp, 0x8 + mov r8, r2 + add r2, sp, 0x4 + movs r6, 0 + ldr r1, _0806B22C + movs r5, 0x80 + lsls r5, 5 + ldr r7, _0806B230 + movs r0, 0x81 + lsls r0, 24 + mov r12, r0 +_0806B1BC: + strh r6, [r2] + add r0, sp, 0x4 + 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 _0806B1BC + strh r6, [r2] + add r2, sp, 0x4 + str r2, [r1] + str r3, [r1, 0x4] + lsrs r0, r4, 1 + mov r3, r12 + orrs r0, r3 + 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, 0x8] + ldr r2, _0806B22C + 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 + add r0, sp, 0x4 + 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] + ldr r2, _0806B234 + ldrb r0, [r2, 0x8] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2, 0x8] + ldr r1, _0806B238 + ldr r2, _0806B23C + adds r1, r2 + b _0806B42C + .align 2, 0 +_0806B22C: .4byte 0x040000d4 +_0806B230: .4byte 0x81000800 +_0806B234: .4byte 0x0202f388 +_0806B238: .4byte 0x03001770 +_0806B23C: .4byte 0x0000043c +_0806B240: + bl remove_some_task + b _0806B426 +_0806B246: + bl sub_806B4A8 + ldr r1, _0806B26C + movs r2, 0x99 + lsls r2, 2 + adds r0, r1, r2 + movs r2, 0 + strh r2, [r0] + ldr r3, _0806B270 + adds r0, r1, r3 + strh r2, [r0] + movs r0, 0x9A + lsls r0, 2 + adds r1, r0 + strh r2, [r1] + ldr r1, _0806B274 + ldr r2, _0806B278 + adds r1, r2 + b _0806B42C + .align 2, 0 +_0806B26C: .4byte 0x0201b000 +_0806B270: .4byte 0x00000266 +_0806B274: .4byte 0x03001770 +_0806B278: .4byte 0x0000043c +_0806B27C: + bl ResetSpriteData + b _0806B426 +_0806B282: + ldr r0, _0806B2A0 + movs r1, 0x96 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x1 + beq _0806B298 + cmp r0, 0x5 + beq _0806B298 + bl ResetTasks +_0806B298: + ldr r1, _0806B2A4 + ldr r2, _0806B2A8 + adds r1, r2 + b _0806B42C + .align 2, 0 +_0806B2A0: .4byte 0x0201b000 +_0806B2A4: .4byte 0x03001770 +_0806B2A8: .4byte 0x0000043c +_0806B2AC: + bl FreeAllSpritePalettes + b _0806B426 +_0806B2B2: + ldr r4, _0806B2CC + movs r1, 0x97 + lsls r1, 2 + adds r0, r4, r1 + ldr r0, [r0] + movs r1, 0 + bl CreateTask + movs r2, 0x98 + lsls r2, 2 + adds r1, r4, r2 + strb r0, [r1] + b _0806B426 + .align 2, 0 +_0806B2CC: .4byte 0x0201b000 +_0806B2D0: + ldr r0, _0806B2E0 + bl SetUpWindowConfig + ldr r1, _0806B2E4 + ldr r0, _0806B2E8 + adds r1, r0 + b _0806B42C + .align 2, 0 +_0806B2E0: .4byte gWindowConfig_81E6C90 +_0806B2E4: .4byte 0x03001770 +_0806B2E8: .4byte 0x0000043c +_0806B2EC: + ldr r4, _0806B308 + ldr r1, _0806B30C + adds r0, r4, 0 + bl InitWindowFromConfig + adds r0, r4, 0 + movs r1, 0x1 + bl MultistepInitWindowTileData + ldr r1, _0806B310 + ldr r2, _0806B314 + adds r1, r2 + b _0806B42C + .align 2, 0 +_0806B308: .4byte 0x03004210 +_0806B30C: .4byte gWindowConfig_81E6C90 +_0806B310: .4byte 0x03001770 +_0806B314: .4byte 0x0000043c +_0806B318: + bl MultistepLoadFont + cmp r0, 0 + bne _0806B322 + b _0806B450 +_0806B322: + ldr r0, _0806B338 + movs r3, 0x99 + lsls r3, 2 + adds r0, r3 + movs r1, 0x1 + strh r1, [r0] + ldr r1, _0806B33C + ldr r0, _0806B340 + adds r1, r0 + b _0806B42C + .align 2, 0 +_0806B338: .4byte 0x0201b000 +_0806B33C: .4byte 0x03001770 +_0806B340: .4byte 0x0000043c +_0806B344: + ldr r0, _0806B368 + movs r1, 0x99 + lsls r1, 2 + adds r4, r0, r1 + ldrb r0, [r4] + bl sub_806D718 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B374 + movs r0, 0 + strh r0, [r4] + ldr r1, _0806B36C + ldr r2, _0806B370 + adds r1, r2 + b _0806B42C + .align 2, 0 +_0806B368: .4byte 0x0201b000 +_0806B36C: .4byte 0x03001770 +_0806B370: .4byte 0x0000043c +_0806B374: + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + b _0806B450 +_0806B37C: + bl sub_809D51C + b _0806B426 +_0806B382: + ldr r2, _0806B3B0 + ldr r0, _0806B3B4 + movs r1, 0x96 + lsls r1, 2 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r2, 0x4 + adds r0, r2 + ldr r0, [r0] + bl _call_via_r0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B450 + ldr r1, _0806B3B8 + ldr r2, _0806B3BC + adds r1, r2 + b _0806B42C + .align 2, 0 +_0806B3B0: .4byte gUnknown_08376C74 +_0806B3B4: .4byte 0x0201b000 +_0806B3B8: .4byte 0x03001770 +_0806B3BC: .4byte 0x0000043c +_0806B3C0: + ldr r0, _0806B3C8 + bl MultistepInitMenuWindowBegin + b _0806B426 + .align 2, 0 +_0806B3C8: .4byte gWindowConfig_81E6CC8 +_0806B3CC: + bl MultistepInitMenuWindowContinue + cmp r0, 0 + beq _0806B450 + ldr r1, _0806B3DC + ldr r0, _0806B3E0 + adds r1, r0 + b _0806B42C + .align 2, 0 +_0806B3DC: .4byte 0x03001770 +_0806B3E0: .4byte 0x0000043c +_0806B3E4: + ldr r0, _0806B3FC + ldr r1, _0806B400 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_806D538 + ldr r1, _0806B404 + ldr r2, _0806B408 + adds r1, r2 + b _0806B42C + .align 2, 0 +_0806B3FC: .4byte 0x0201b000 +_0806B400: .4byte 0x00000259 +_0806B404: .4byte 0x03001770 +_0806B408: .4byte 0x0000043c +_0806B40C: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r2, _0806B434 + ldrb r1, [r2, 0x8] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2, 0x8] +_0806B426: + ldr r1, _0806B438 + ldr r3, _0806B43C + adds r1, r3 +_0806B42C: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _0806B450 + .align 2, 0 +_0806B434: .4byte 0x0202f388 +_0806B438: .4byte 0x03001770 +_0806B43C: .4byte 0x0000043c +_0806B440: + ldr r0, _0806B44C + bl SetVBlankCallback + movs r0, 0x1 + b _0806B452 + .align 2, 0 +_0806B44C: .4byte sub_806AF34 +_0806B450: + movs r0, 0 +_0806B452: + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_806B124 + + thumb_func_start sub_806B460 +sub_806B460: @ 806B460 + push {lr} + b _0806B470 +_0806B464: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0806B49C +_0806B470: + bl sub_806B124 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B464 + ldr r1, _0806B4A0 + movs r2, 0x96 + lsls r2, 2 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0x5 + beq _0806B496 + adds r2, 0x8 + adds r0, r1, r2 + ldrb r0, [r0] + movs r1, 0 + bl sub_806BF74 +_0806B496: + ldr r0, _0806B4A4 + bl SetMainCallback2 +_0806B49C: + pop {r0} + bx r0 + .align 2, 0 +_0806B4A0: .4byte 0x0201b000 +_0806B4A4: .4byte sub_806AEDC + thumb_func_end sub_806B460 + + thumb_func_start sub_806B4A8 +sub_806B4A8: @ 806B4A8 + push {lr} + movs r0, 0 + bl SetHBlankCallback + movs r1, 0x80 + lsls r1, 19 + movs r2, 0xFA + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x8 + ldr r2, _0806B50C + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0806B510 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0806B514 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0806B518 + adds r0, r2, 0 + strh r0, [r1] + ldr r0, _0806B51C + movs r1, 0 + strh r1, [r0] + subs r0, 0x40 + 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] + ldr r2, _0806B520 + strh r1, [r2] + ldr r1, _0806B524 + adds r0, r1, 0 + strh r0, [r2] + pop {r0} + bx r0 + .align 2, 0 +_0806B50C: .4byte 0x00001e05 +_0806B510: .4byte 0x00000703 +_0806B514: .4byte 0x00000f08 +_0806B518: .4byte 0x00000602 +_0806B51C: .4byte REG_BLDCNT +_0806B520: .4byte REG_BG3VOFS +_0806B524: .4byte 0x0000ffff + thumb_func_end sub_806B4A8 + + thumb_func_start sub_806B528 +sub_806B528: @ 806B528 + push {lr} + ldr r0, _0806B53C + ldrh r1, [r0] + movs r0, 0x4B + ands r0, r1 + cmp r0, 0x4B + beq _0806B540 + movs r0, 0 + b _0806B542 + .align 2, 0 +_0806B53C: .4byte 0x020239f8 +_0806B540: + movs r0, 0x1 +_0806B542: + pop {r1} + bx r1 + thumb_func_end sub_806B528 + + thumb_func_start sub_806B548 +sub_806B548: @ 806B548 + push {r4,lr} + ldr r0, _0806B574 + ldr r1, _0806B578 + adds r4, r0, r1 + ldrb r3, [r4] + cmp r3, 0 + beq _0806B56E + ldr r1, _0806B57C + ldr r2, _0806B580 + ldr r0, _0806B584 + str r1, [r0] + str r2, [r0, 0x4] + ldr r1, _0806B588 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + cmp r3, 0x2 + bne _0806B56E + movs r0, 0 + strb r0, [r4] +_0806B56E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806B574: .4byte 0x0201b000 +_0806B578: .4byte 0x00000261 +_0806B57C: .4byte 0x020221cc +_0806B580: .4byte 0x06003000 +_0806B584: .4byte 0x040000d4 +_0806B588: .4byte 0x80000400 + thumb_func_end sub_806B548 + + thumb_func_start sub_806B58C +sub_806B58C: @ 806B58C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + bl battle_type_is_double + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + bne _0806B5A8 + ldr r0, _0806B5A4 + strb r2, [r0] + b _0806B5C8 + .align 2, 0 +_0806B5A4: .4byte 0x0202e8fa +_0806B5A8: + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B5C0 + ldr r1, _0806B5BC + movs r0, 0x2 + b _0806B5C4 + .align 2, 0 +_0806B5BC: .4byte 0x0202e8fa +_0806B5C0: + ldr r1, _0806B5E4 + movs r0, 0x1 +_0806B5C4: + strb r0, [r1] + adds r0, r1, 0 +_0806B5C8: + ldrb r0, [r0] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + ldr r0, _0806B5E8 + adds r4, r1, r0 + cmp r5, 0x8 + bls _0806B5DA + b _0806B900 +_0806B5DA: + lsls r0, r5, 2 + ldr r1, _0806B5EC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806B5E4: .4byte 0x0202e8fa +_0806B5E8: .4byte gUnknown_083769A8 +_0806B5EC: .4byte _0806B5F0 + .align 2, 0 +_0806B5F0: + .4byte _0806B614 + .4byte _0806B628 + .4byte _0806B638 + .4byte _0806B694 + .4byte _0806B71A + .4byte _0806B7A2 + .4byte _0806B832 + .4byte _0806B8C6 + .4byte _0806B8E8 +_0806B614: + ldr r0, _0806B624 + movs r2, 0x80 + lsls r2, 4 + movs r1, 0 + bl memset + b _0806B900 + .align 2, 0 +_0806B624: .4byte 0x020221cc +_0806B628: + ldrb r0, [r4] + ldrb r1, [r4, 0x1] + movs r2, 0x3 + bl sub_806B9A4 + adds r0, r4, 0 + movs r1, 0 + b _0806B8A8 +_0806B638: + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + bne _0806B666 + ldr r0, _0806B65C + ldrb r0, [r0] + cmp r0, 0x1 + bls _0806B660 + ldrb r0, [r4, 0x2] + ldrb r1, [r4, 0x3] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0x2 + movs r1, 0x1 + b _0806B8A8 + .align 2, 0 +_0806B65C: .4byte 0x03004350 +_0806B660: + ldrb r0, [r4, 0x2] + ldrb r1, [r4, 0x3] + b _0806B8BC +_0806B666: + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B684 + ldrb r0, [r4, 0x2] + ldrb r1, [r4, 0x3] + movs r2, 0x4 + bl sub_806B9A4 + adds r0, r4, 0x2 + movs r1, 0x1 + movs r2, 0x4 + b _0806B8AA +_0806B684: + ldrb r0, [r4, 0x2] + ldrb r1, [r4, 0x3] + movs r2, 0x3 + bl sub_806B9A4 + adds r0, r4, 0x2 + movs r1, 0x1 + b _0806B8A8 +_0806B694: + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + bne _0806B6C2 + ldr r0, _0806B6B8 + ldrb r0, [r0] + cmp r0, 0x2 + bls _0806B6BC + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0x4 + movs r1, 0x2 + b _0806B8A8 + .align 2, 0 +_0806B6B8: .4byte 0x03004350 +_0806B6BC: + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + b _0806B8BC +_0806B6C2: + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B6F6 + ldr r0, _0806B6EC + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806B6F0 + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0x4 + movs r1, 0x2 + b _0806B8A8 + .align 2, 0 +_0806B6EC: .4byte 0x03004428 +_0806B6F0: + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + b _0806B8BC +_0806B6F6: + ldr r0, _0806B710 + ldrb r0, [r0] + cmp r0, 0x2 + bls _0806B714 + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0x4 + movs r1, 0x2 + b _0806B8A8 + .align 2, 0 +_0806B710: .4byte 0x03004350 +_0806B714: + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + b _0806B8BC +_0806B71A: + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + bne _0806B74A + ldr r0, _0806B740 + ldrb r0, [r0] + cmp r0, 0x3 + bls _0806B744 + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0x6 + movs r1, 0x3 + b _0806B8A8 + .align 2, 0 +_0806B740: .4byte 0x03004350 +_0806B744: + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + b _0806B8BC +_0806B74A: + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B77E + ldr r0, _0806B774 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806B778 + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0x6 + movs r1, 0x3 + b _0806B8A8 + .align 2, 0 +_0806B774: .4byte 0x0300448c +_0806B778: + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + b _0806B8BC +_0806B77E: + ldr r0, _0806B798 + ldrb r0, [r0] + cmp r0, 0x3 + bls _0806B79C + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0x6 + movs r1, 0x3 + b _0806B8A8 + .align 2, 0 +_0806B798: .4byte 0x03004350 +_0806B79C: + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + b _0806B8BC +_0806B7A2: + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + bne _0806B7D2 + ldr r0, _0806B7C8 + ldrb r0, [r0] + cmp r0, 0x4 + bls _0806B7CC + ldrb r0, [r4, 0x8] + ldrb r1, [r4, 0x9] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0 + adds r0, 0x8 + movs r1, 0x4 + b _0806B8A8 + .align 2, 0 +_0806B7C8: .4byte 0x03004350 +_0806B7CC: + ldrb r0, [r4, 0x8] + ldrb r1, [r4, 0x9] + b _0806B8BC +_0806B7D2: + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B80A + ldr r0, _0806B800 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806B804 + ldrb r0, [r4, 0x8] + ldrb r1, [r4, 0x9] + movs r2, 0 + movs r3, 0x4 + bl sub_806BA94 + adds r0, r4, 0 + adds r0, 0x8 + movs r1, 0x4 + movs r2, 0x4 + b _0806B8AA + .align 2, 0 +_0806B800: .4byte 0x030044f0 +_0806B804: + ldrb r0, [r4, 0x8] + ldrb r1, [r4, 0x9] + b _0806B884 +_0806B80A: + ldr r0, _0806B828 + ldrb r0, [r0] + cmp r0, 0x4 + bls _0806B82C + ldrb r0, [r4, 0x8] + ldrb r1, [r4, 0x9] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0 + adds r0, 0x8 + movs r1, 0x4 + b _0806B8A8 + .align 2, 0 +_0806B828: .4byte 0x03004350 +_0806B82C: + ldrb r0, [r4, 0x8] + ldrb r1, [r4, 0x9] + b _0806B8BC +_0806B832: + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + bne _0806B84C + ldr r0, _0806B848 + ldrb r0, [r0] + cmp r0, 0x5 + bhi _0806B896 + b _0806B8B8 + .align 2, 0 +_0806B848: .4byte 0x03004350 +_0806B84C: + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806B88E + ldr r0, _0806B87C + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806B880 + ldrb r0, [r4, 0xA] + ldrb r1, [r4, 0xB] + movs r2, 0 + movs r3, 0x4 + bl sub_806BA94 + adds r0, r4, 0 + adds r0, 0xA + movs r1, 0x5 + movs r2, 0x4 + b _0806B8AA + .align 2, 0 +_0806B87C: .4byte 0x03004554 +_0806B880: + ldrb r0, [r4, 0xA] + ldrb r1, [r4, 0xB] +_0806B884: + movs r2, 0x1 + movs r3, 0x4 + bl sub_806BA94 + b _0806B900 +_0806B88E: + ldr r0, _0806B8B4 + ldrb r0, [r0] + cmp r0, 0x5 + bls _0806B8B8 +_0806B896: + ldrb r0, [r4, 0xA] + ldrb r1, [r4, 0xB] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + adds r0, r4, 0 + adds r0, 0xA + movs r1, 0x5 +_0806B8A8: + movs r2, 0x3 +_0806B8AA: + movs r3, 0 + bl sub_806BF24 + b _0806B900 + .align 2, 0 +_0806B8B4: .4byte 0x03004350 +_0806B8B8: + ldrb r0, [r4, 0xA] + ldrb r1, [r4, 0xB] +_0806B8BC: + movs r2, 0x1 + movs r3, 0x3 + bl sub_806BA94 + b _0806B900 +_0806B8C6: + ldr r0, _0806B8E4 + movs r1, 0x96 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x4 + bne _0806B8DA + movs r0, 0x1 + bl sub_806BB9C +_0806B8DA: + movs r0, 0x1 + bl sub_806BBEC + b _0806B900 + .align 2, 0 +_0806B8E4: .4byte 0x0201b000 +_0806B8E8: + ldr r0, _0806B8F8 + ldr r1, _0806B8FC + adds r0, r1 + movs r1, 0x2 + strb r1, [r0] + movs r0, 0x1 + b _0806B902 + .align 2, 0 +_0806B8F8: .4byte 0x0201b000 +_0806B8FC: .4byte 0x00000261 +_0806B900: + movs r0, 0 +_0806B902: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_806B58C + + thumb_func_start sub_806B908 +sub_806B908: @ 806B908 + push {r4,r5,lr} + ldr r0, _0806B948 + movs r2, 0x80 + lsls r2, 4 + movs r1, 0 + bl memset + ldr r1, _0806B94C + movs r0, 0x3 + strb r0, [r1] + ldr r0, _0806B950 + adds r4, r0, 0 + adds r4, 0x24 + ldr r5, _0806B954 + ldrb r0, [r4] + ldrb r1, [r4, 0x1] + movs r2, 0x3 + bl sub_806B9A4 + adds r0, r5, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806B958 + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + b _0806B964 + .align 2, 0 +_0806B948: .4byte 0x020221cc +_0806B94C: .4byte 0x0202e8fa +_0806B950: .4byte gUnknown_083769A8 +_0806B954: .4byte 0x030043c4 +_0806B958: + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + movs r2, 0x1 + movs r3, 0x3 + bl sub_806BA94 +_0806B964: + adds r0, r5, 0 + adds r0, 0x64 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806B980 + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + movs r2, 0 + movs r3, 0x3 + bl sub_806BA94 + b _0806B98C +_0806B980: + ldrb r0, [r4, 0x6] + ldrb r1, [r4, 0x7] + movs r2, 0x1 + movs r3, 0x3 + bl sub_806BA94 +_0806B98C: + ldr r0, _0806B99C + ldr r1, _0806B9A0 + adds r0, r1 + movs r1, 0x2 + strb r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806B99C: .4byte 0x0201b000 +_0806B9A0: .4byte 0x00000261 + thumb_func_end sub_806B908 + + thumb_func_start sub_806B9A4 +sub_806B9A4: @ 806B9A4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + lsls r2, 24 + lsrs r2, 24 + str r2, [sp] + lsls r1, 21 + lsrs r1, 16 + str r1, [sp, 0x4] + movs r1, 0 + lsls r0, 16 + mov r8, r0 + asrs r0, 16 + mov r10, r0 + ldr r4, _0806BA2C + mov r9, r4 +_0806B9CA: + movs r3, 0 + adds r7, r1, 0x1 + mov r0, r10 + cmp r0, 0x1F + bgt _0806BA12 + mov r4, r8 + asrs r2, r4, 16 + lsls r0, r1, 5 + ldr r4, [sp, 0x4] + adds r6, r4, r0 + ldr r0, _0806BA30 + mov r12, r0 + ldr r4, [sp] + lsls r5, r4, 12 + movs r0, 0xB + adds r4, r1, 0 + muls r4, r0 +_0806B9EC: + adds r0, r2, r3 + cmp r0, 0 + blt _0806BA02 + adds r0, r6, r0 + lsls r0, 1 + add r0, r12 + adds r1, r4, r3 + add r1, r9 + ldrb r1, [r1] + orrs r1, r5 + strh r1, [r0] +_0806BA02: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xA + bhi _0806BA12 + adds r0, r2, r3 + cmp r0, 0x1F + ble _0806B9EC +_0806BA12: + lsls r0, r7, 24 + lsrs r1, r0, 24 + cmp r1, 0x6 + bls _0806B9CA + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806BA2C: .4byte gUnknown_083769D8 +_0806BA30: .4byte 0x020221cc + thumb_func_end sub_806B9A4 + + thumb_func_start sub_806BA34 +sub_806BA34: @ 806BA34 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r1, 21 + lsrs r1, 16 + mov r8, r1 + movs r1, 0 + lsls r7, r0, 16 + asrs r0, r7, 16 + mov r12, r0 +_0806BA48: + movs r2, 0 + adds r4, r1, 0x1 + mov r5, r12 + cmp r5, 0x1F + bgt _0806BA7C + asrs r3, r7, 16 + lsls r0, r1, 5 + mov r5, r8 + adds r1, r5, r0 + ldr r6, _0806BA90 + movs r5, 0 +_0806BA5E: + adds r0, r3, r2 + cmp r0, 0 + blt _0806BA6C + adds r0, r1, r0 + lsls r0, 1 + adds r0, r6 + strh r5, [r0] +_0806BA6C: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xA + bhi _0806BA7C + adds r0, r3, r2 + cmp r0, 0x1F + ble _0806BA5E +_0806BA7C: + lsls r0, r4, 24 + lsrs r1, r0, 24 + cmp r1, 0x6 + bls _0806BA48 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806BA90: .4byte 0x020221cc + thumb_func_end sub_806BA34 + + thumb_func_start sub_806BA94 +sub_806BA94: @ 806BA94 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + lsls r0, 16 + lsrs r4, r0, 16 + lsls r1, 16 + lsrs r0, r1, 16 + lsls r2, 24 + lsls r3, 24 + lsrs r3, 24 + str r3, [sp] + ldr r1, _0806BB30 + mov r9, r1 + cmp r2, 0 + bne _0806BABC + ldr r1, _0806BB34 + mov r9, r1 +_0806BABC: + lsls r0, 21 + lsrs r0, 16 + str r0, [sp, 0x4] + movs r1, 0 + lsls r4, 16 + mov r12, r4 + asrs r4, 16 + mov r10, r4 +_0806BACC: + movs r2, 0 + adds r7, r1, 0x1 + mov r0, r10 + cmp r0, 0x1F + bgt _0806BB16 + mov r4, r12 + asrs r3, r4, 16 + lsls r0, r1, 5 + ldr r4, [sp, 0x4] + adds r6, r4, r0 + ldr r0, _0806BB38 + mov r8, r0 + ldr r4, [sp] + lsls r5, r4, 12 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + subs r4, r0, r1 +_0806BAF0: + adds r0, r3, r2 + cmp r0, 0 + blt _0806BB06 + adds r0, r6, r0 + lsls r0, 1 + add r0, r8 + adds r1, r4, r2 + add r1, r9 + ldrb r1, [r1] + orrs r1, r5 + strh r1, [r0] +_0806BB06: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x12 + bhi _0806BB16 + adds r0, r3, r2 + cmp r0, 0x1F + ble _0806BAF0 +_0806BB16: + lsls r0, r7, 24 + lsrs r1, r0, 24 + cmp r1, 0x2 + bls _0806BACC + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806BB30: .4byte gUnknown_08376A5E +_0806BB34: .4byte gUnknown_08376A25 +_0806BB38: .4byte 0x020221cc + thumb_func_end sub_806BA94 + + thumb_func_start sub_806BB3C +sub_806BB3C: @ 806BB3C + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r1, 21 + lsrs r1, 16 + mov r8, r1 + movs r1, 0 + lsls r7, r0, 16 + asrs r0, r7, 16 + mov r12, r0 +_0806BB50: + movs r2, 0 + adds r4, r1, 0x1 + mov r5, r12 + cmp r5, 0x1F + bgt _0806BB84 + asrs r3, r7, 16 + lsls r0, r1, 5 + mov r5, r8 + adds r1, r5, r0 + ldr r6, _0806BB98 + movs r5, 0 +_0806BB66: + adds r0, r3, r2 + cmp r0, 0 + blt _0806BB74 + adds r0, r1, r0 + lsls r0, 1 + adds r0, r6 + strh r5, [r0] +_0806BB74: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x12 + bhi _0806BB84 + adds r0, r3, r2 + cmp r0, 0x1F + ble _0806BB66 +_0806BB84: + lsls r0, r4, 24 + lsrs r1, r0, 24 + cmp r1, 0x2 + bls _0806BB50 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806BB98: .4byte 0x020221cc + thumb_func_end sub_806BB3C + + thumb_func_start sub_806BB9C +sub_806BB9C: @ 806BB9C + push {r4,lr} + sub sp, 0x18 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _0806BBE4 + mov r0, sp + movs r2, 0x18 + bl memcpy + ldr r3, _0806BBE8 + movs r2, 0 + lsls r4, 12 +_0806BBB6: + lsls r0, r2, 1 + adds r1, r0, r3 + add r0, sp + ldrh r0, [r0] + adds r0, r4 + strh r0, [r1] + adds r1, 0x40 + adds r0, r2, 0x6 + lsls r0, 1 + add r0, sp + ldrh r0, [r0] + adds r0, r4 + strh r0, [r1] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x5 + bls _0806BBB6 + add sp, 0x18 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806BBE4: .4byte gUnknown_08376CD4 +_0806BBE8: .4byte 0x06003c30 + thumb_func_end sub_806BB9C + + thumb_func_start sub_806BBEC +sub_806BBEC: @ 806BBEC + push {r4,lr} + sub sp, 0x18 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _0806BC34 + mov r0, sp + movs r2, 0x18 + bl memcpy + ldr r3, _0806BC38 + movs r2, 0 + lsls r4, 12 +_0806BC06: + lsls r0, r2, 1 + adds r1, r0, r3 + add r0, sp + ldrh r0, [r0] + adds r0, r4 + strh r0, [r1] + adds r1, 0x40 + adds r0, r2, 0x6 + lsls r0, 1 + add r0, sp + ldrh r0, [r0] + adds r0, r4 + strh r0, [r1] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x5 + bls _0806BC06 + add sp, 0x18 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806BC34: .4byte gUnknown_08376CEC +_0806BC38: .4byte 0x06003cb0 + thumb_func_end sub_806BBEC + + thumb_func_start sub_806BC3C +sub_806BC3C: @ 806BC3C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + ldr r6, _0806BCB0 + bl battle_type_is_double + lsls r4, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r4, r1 + adds r4, r6 + ldr r7, [r4] + movs r6, 0 + adds r0, r5, 0 + movs r1, 0x7 + bl __udivsi3 + lsls r0, 24 + lsrs r4, r0, 19 + ldr r5, _0806BCB4 + movs r0, 0x86 + lsls r0, 1 + adds r3, r0, 0 +_0806BC7C: + adds r1, r6, r4 + lsls r2, r6, 1 + adds r2, r7 + lsls r0, r1, 1 + adds r0, r5 + ldrh r0, [r0] + adds r0, r3, r0 + strh r0, [r2] + adds r2, 0x40 + adds r1, 0x20 + lsls r1, 1 + adds r1, r5 + ldrh r1, [r1] + adds r0, r3, r1 + strh r0, [r2] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x6 + bls _0806BC7C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806BCB0: .4byte gUnknown_08376918 +_0806BCB4: .4byte gUnknown_08E9A300 + thumb_func_end sub_806BC3C + + thumb_func_start unref_sub_806BCB8 +unref_sub_806BCB8: @ 806BCB8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _0806BCE4 + ldrb r1, [r0] + cmp r4, r1 + bcs _0806BCDE + adds r6, r0, 0 +_0806BCCA: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_806BC3C + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + ldrb r0, [r6] + cmp r4, r0 + bcc _0806BCCA +_0806BCDE: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806BCE4: .4byte 0x03004350 + thumb_func_end unref_sub_806BCB8 + + thumb_func_start sub_806BCE8 +sub_806BCE8: @ 806BCE8 + push {r4,r5,lr} + movs r5, 0 + b _0806BD46 +_0806BCEE: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _0806BD20 + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0806BD38 + adds r0, r4, 0 + bl pokemon_get_gender + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _0806BD24 + cmp r0, 0xFE + beq _0806BD2E + adds r0, r5, 0 + movs r1, 0x46 + bl sub_806BC3C + b _0806BD40 + .align 2, 0 +_0806BD20: .4byte 0x03004360 +_0806BD24: + adds r0, r5, 0 + movs r1, 0x54 + bl sub_806BC3C + b _0806BD40 +_0806BD2E: + adds r0, r5, 0 + movs r1, 0x62 + bl sub_806BC3C + b _0806BD40 +_0806BD38: + adds r0, r5, 0 + movs r1, 0x46 + bl sub_806BC3C +_0806BD40: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_0806BD46: + ldr r0, _0806BD54 + ldrb r0, [r0] + cmp r5, r0 + bcc _0806BCEE + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806BD54: .4byte 0x03004350 + thumb_func_end sub_806BCE8 + + thumb_func_start sub_806BD58 +sub_806BD58: @ 806BD58 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0806BD7C + bl object_new_hidden_with_callback + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_806CA18 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0806BD7C: .4byte SpriteCallbackDummy + thumb_func_end sub_806BD58 + + thumb_func_start sub_806BD80 +sub_806BD80: @ 806BD80 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _0806BD9C + ldrh r0, [r0, 0x30] + cmp r0, 0x20 + beq _0806BDB2 + cmp r0, 0x20 + bgt _0806BDA0 + cmp r0, 0x10 + beq _0806BDB6 + b _0806BDB8 + .align 2, 0 +_0806BD9C: .4byte 0x03001770 +_0806BDA0: + cmp r0, 0x40 + beq _0806BDAA + cmp r0, 0x80 + beq _0806BDAE + b _0806BDB8 +_0806BDAA: + movs r4, 0xFF + b _0806BDB8 +_0806BDAE: + movs r4, 0x1 + b _0806BDB8 +_0806BDB2: + movs r4, 0xFE + b _0806BDB8 +_0806BDB6: + movs r4, 0x2 +_0806BDB8: + lsls r0, r4, 24 + cmp r0, 0 + bne _0806BDDC + bl sub_80F92BC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0806BDD0 + cmp r0, 0x2 + beq _0806BDD4 + b _0806BDD6 +_0806BDD0: + movs r4, 0xFF + b _0806BDD6 +_0806BDD4: + movs r4, 0x1 +_0806BDD6: + lsls r0, r4, 24 + cmp r0, 0 + beq _0806BDF0 +_0806BDDC: + asrs r1, r0, 24 + adds r0, r5, 0 + bl sub_806BF74 + ldr r0, _0806BDEC + ldrh r0, [r0, 0x30] + b _0806BE2C + .align 2, 0 +_0806BDEC: .4byte 0x03001770 +_0806BDF0: + ldr r0, _0806BE1C + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0806BE24 + ldr r4, _0806BE20 + adds r0, r5, 0 + bl sub_806CA00 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0x7 + bne _0806BE24 + movs r0, 0x2 + b _0806BE2C + .align 2, 0 +_0806BE1C: .4byte 0x03001770 +_0806BE20: .4byte 0x02020004 +_0806BE24: + ldr r0, _0806BE34 + ldrh r1, [r0, 0x2E] + movs r0, 0x3 + ands r0, r1 +_0806BE2C: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0806BE34: .4byte 0x03001770 + thumb_func_end sub_806BD80 + + thumb_func_start sub_806BE38 +sub_806BE38: @ 806BE38 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r0, _0806BE54 + ldrh r1, [r0, 0x30] + adds r6, r0, 0 + cmp r1, 0x20 + beq _0806BE6A + cmp r1, 0x20 + bgt _0806BE58 + cmp r1, 0x10 + beq _0806BE6E + b _0806BE70 + .align 2, 0 +_0806BE54: .4byte 0x03001770 +_0806BE58: + cmp r1, 0x40 + beq _0806BE62 + cmp r1, 0x80 + beq _0806BE66 + b _0806BE70 +_0806BE62: + movs r4, 0xFF + b _0806BE8E +_0806BE66: + movs r4, 0x1 + b _0806BE8E +_0806BE6A: + movs r4, 0xFE + b _0806BE8E +_0806BE6E: + movs r4, 0x2 +_0806BE70: + cmp r4, 0 + bne _0806BE8E + bl sub_80F92BC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0806BE86 + cmp r0, 0x2 + beq _0806BE8A + b _0806BE8C +_0806BE86: + movs r4, 0xFF + b _0806BE8C +_0806BE8A: + movs r4, 0x1 +_0806BE8C: + ldr r6, _0806BEA4 +_0806BE8E: + ldrh r2, [r6, 0x2E] + movs r0, 0x8 + ands r0, r2 + cmp r0, 0 + beq _0806BEA8 + adds r0, r5, 0 + bl sub_806C890 + movs r0, 0x8 + b _0806BEF0 + .align 2, 0 +_0806BEA4: .4byte 0x03001770 +_0806BEA8: + lsls r0, r4, 24 + asrs r1, r0, 24 + cmp r1, 0 + beq _0806BEBA + adds r0, r5, 0 + bl sub_806C658 + ldrh r0, [r6, 0x30] + b _0806BEF0 +_0806BEBA: + movs r0, 0x1 + ands r0, r2 + cmp r0, 0 + beq _0806BEE8 + ldr r4, _0806BEE4 + adds r0, r5, 0 + bl sub_806CA00 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0x7 + bne _0806BEE8 + movs r0, 0x2 + b _0806BEF0 + .align 2, 0 +_0806BEE4: .4byte 0x02020004 +_0806BEE8: + ldr r0, _0806BEF8 + ldrh r1, [r0, 0x2E] + movs r0, 0x3 + ands r0, r1 +_0806BEF0: + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0806BEF8: .4byte 0x03001770 + thumb_func_end sub_806BE38 + + thumb_func_start task_pc_turn_off +task_pc_turn_off: @ 806BEFC + push {lr} + adds r2, r0, 0 + lsls r1, 24 + lsrs r3, r1, 24 + ldrb r0, [r2] + cmp r0, 0 + beq _0806BF14 + ldrb r1, [r2, 0x1] + movs r2, 0 + bl sub_806BA94 + b _0806BF1E +_0806BF14: + ldrb r0, [r2] + ldrb r1, [r2, 0x1] + adds r2, r3, 0 + bl sub_806B9A4 +_0806BF1E: + pop {r0} + bx r0 + thumb_func_end task_pc_turn_off + + thumb_func_start sub_806BF24 +sub_806BF24: @ 806BF24 + push {r4-r7,lr} + adds r7, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + lsls r3, 24 + lsrs r6, r3, 24 + movs r0, 0x64 + muls r1, r0 + ldr r0, _0806BF70 + adds r5, r1, r0 + adds r0, r5, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806BF56 + adds r0, r5, 0 + movs r1, 0x39 + bl GetMonData + cmp r0, 0 + bne _0806BF56 + movs r4, 0x5 +_0806BF56: + cmp r6, 0x1 + bne _0806BF60 + adds r0, r4, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 +_0806BF60: + adds r0, r7, 0 + adds r1, r4, 0 + bl task_pc_turn_off + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806BF70: .4byte 0x03004360 + thumb_func_end sub_806BF24 + + thumb_func_start sub_806BF74 +sub_806BF74: @ 806BF74 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r1, 24 + lsrs r4, r1, 24 + bl sub_806CA00 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _0806C0C4 + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r5, r0, 24 + mov r0, r9 + adds r1, r5, 0 + movs r2, 0 + bl sub_806DA44 + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0806BFB6 + b _0806C0D8 +_0806BFB6: + cmp r5, 0 + beq _0806BFC2 + cmp r5, 0x2 + beq _0806BFC2 + cmp r5, 0x3 + bne _0806BFD2 +_0806BFC2: + lsls r0, r5, 1 + ldr r1, _0806C0C8 + adds r0, r1 + adds r1, r5, 0 + movs r2, 0x3 + movs r3, 0 + bl sub_806BF24 +_0806BFD2: + cmp r5, 0x1 + beq _0806BFDE + cmp r5, 0x4 + beq _0806BFDE + cmp r5, 0x5 + bne _0806BFEE +_0806BFDE: + lsls r0, r5, 1 + ldr r1, _0806C0C8 + adds r0, r1 + adds r1, r5, 0 + movs r2, 0x4 + movs r3, 0 + bl sub_806BF24 +_0806BFEE: + cmp r5, 0x7 + bne _0806BFF8 + movs r0, 0x1 + bl sub_806BBEC +_0806BFF8: + lsls r2, r4, 24 + asrs r2, 24 + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_806C490 + ldr r2, _0806C0C4 + lsls r1, r6, 4 + adds r0, r1, r6 + lsls r0, 2 + adds r0, r2 + movs r2, 0x2E + ldrsh r0, [r0, r2] + mov r8, r1 + cmp r0, 0 + beq _0806C020 + cmp r0, 0x2 + beq _0806C020 + cmp r0, 0x3 + bne _0806C042 +_0806C020: + ldr r0, _0806C0C4 + mov r4, r8 + adds r1, r4, r6 + lsls r1, 2 + adds r1, r0 + movs r7, 0x2E + ldrsh r0, [r1, r7] + lsls r0, 1 + ldr r2, _0806C0C8 + adds r0, r2 + ldrh r1, [r1, 0x2E] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0x3 + movs r3, 0x1 + bl sub_806BF24 +_0806C042: + ldr r1, _0806C0C4 + mov r2, r8 + adds r0, r2, r6 + lsls r0, 2 + adds r0, r1 + movs r4, 0x2E + ldrsh r0, [r0, r4] + cmp r0, 0x1 + beq _0806C05C + cmp r0, 0x4 + beq _0806C05C + cmp r0, 0x5 + bne _0806C07E +_0806C05C: + ldr r0, _0806C0C4 + mov r7, r8 + adds r1, r7, r6 + lsls r1, 2 + adds r1, r0 + movs r2, 0x2E + ldrsh r0, [r1, r2] + lsls r0, 1 + ldr r2, _0806C0C8 + adds r0, r2 + ldrh r1, [r1, 0x2E] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0x4 + movs r3, 0x1 + bl sub_806BF24 +_0806C07E: + ldr r7, _0806C0C4 + mov r4, r8 + adds r0, r4, r6 + lsls r0, 2 + adds r4, r0, r7 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x7 + bne _0806C096 + movs r0, 0x2 + bl sub_806BBEC +_0806C096: + ldr r0, _0806C0CC + ldr r2, _0806C0D0 + adds r0, r2 + movs r1, 0x2 + strb r1, [r0] + ldr r1, _0806C0D4 + movs r2, 0x2E + ldrsh r0, [r4, r2] + lsls r0, 2 + adds r0, r1 + adds r0, 0x40 + ldrb r0, [r0] + strh r0, [r4, 0x20] + movs r2, 0x2E + ldrsh r0, [r4, r2] + lsls r0, 2 + adds r0, r1 + adds r0, 0x41 + ldrb r0, [r0] + strh r0, [r4, 0x22] + adds r0, r7, 0 + b _0806C1A4 + .align 2, 0 +_0806C0C4: .4byte 0x02020004 +_0806C0C8: .4byte gUnknown_083769C0 +_0806C0CC: .4byte 0x0201b000 +_0806C0D0: .4byte 0x00000261 +_0806C0D4: .4byte gUnknown_083768B8 +_0806C0D8: + bl battle_type_is_double + lsls r0, 24 + lsrs r7, r0, 24 + cmp r5, 0x5 + bhi _0806C104 + lsls r0, r7, 1 + adds r0, r7 + lsls r0, 2 + lsls r1, r5, 1 + adds r0, r1 + ldr r1, _0806C100 + adds r0, r1 + adds r1, r5, 0 + movs r2, 0x3 + movs r3, 0 + bl sub_806BF24 + b _0806C10A + .align 2, 0 +_0806C100: .4byte gUnknown_083769A8 +_0806C104: + movs r0, 0x1 + bl sub_806BBEC +_0806C10A: + cmp r7, 0 + bne _0806C11C + lsls r2, r4, 24 + asrs r2, 24 + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_806C1E4 + b _0806C128 +_0806C11C: + lsls r2, r4, 24 + asrs r2, 24 + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_806C310 +_0806C128: + ldr r1, _0806C160 + lsls r2, r6, 4 + adds r0, r2, r6 + lsls r0, 2 + adds r1, r0, r1 + ldrh r3, [r1, 0x2E] + movs r4, 0x2E + ldrsh r0, [r1, r4] + mov r8, r2 + cmp r0, 0x5 + bgt _0806C168 + lsls r0, r7, 1 + adds r0, r7 + lsls r0, 2 + movs r2, 0x2E + ldrsh r1, [r1, r2] + lsls r1, 1 + adds r0, r1 + ldr r1, _0806C164 + adds r0, r1 + lsls r1, r3, 24 + lsrs r1, 24 + movs r2, 0x3 + movs r3, 0x1 + bl sub_806BF24 + b _0806C16E + .align 2, 0 +_0806C160: .4byte 0x02020004 +_0806C164: .4byte gUnknown_083769A8 +_0806C168: + movs r0, 0x2 + bl sub_806BBEC +_0806C16E: + ldr r0, _0806C1D4 + ldr r4, _0806C1D8 + adds r0, r4 + movs r1, 0x2 + strb r1, [r0] + ldr r4, _0806C1DC + mov r0, r8 + adds r1, r0, r6 + lsls r1, 2 + adds r1, r4 + ldr r3, _0806C1E0 + movs r2, 0x2E + ldrsh r0, [r1, r2] + lsls r0, 2 + lsls r2, r7, 5 + adds r0, r2 + adds r0, r3 + ldrb r0, [r0] + strh r0, [r1, 0x20] + movs r7, 0x2E + ldrsh r0, [r1, r7] + lsls r0, 2 + adds r0, r2 + adds r0, r3 + ldrb r0, [r0, 0x1] + strh r0, [r1, 0x22] + adds r0, r4, 0 +_0806C1A4: + mov r1, r8 + adds r4, r1, r6 + lsls r4, 2 + adds r4, r0 + ldrh r1, [r4, 0x2E] + lsls r1, 24 + lsrs r1, 24 + mov r0, r9 + movs r2, 0x1 + bl sub_806DA44 + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r5, r0 + beq _0806C1C8 + movs r0, 0x5 + bl audio_play +_0806C1C8: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806C1D4: .4byte 0x0201b000 +_0806C1D8: .4byte 0x00000261 +_0806C1DC: .4byte 0x02020004 +_0806C1E0: .4byte gUnknown_083768B8 + thumb_func_end sub_806BF74 + + thumb_func_start sub_806C1E4 +sub_806C1E4: @ 806C1E4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + lsls r2, 24 + lsrs r5, r2, 24 + movs r0, 0x80 + lsls r0, 18 + adds r2, r0 + asrs r0, r2, 24 + cmp r0, 0x4 + bls _0806C200 + b _0806C306 +_0806C200: + lsls r0, 2 + ldr r1, _0806C20C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806C20C: .4byte _0806C210 + .align 2, 0 +_0806C210: + .4byte _0806C2EC + .4byte _0806C238 + .4byte _0806C224 + .4byte _0806C25C + .4byte _0806C2BC +_0806C224: + ldr r0, _0806C234 + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x30] + b _0806C306 + .align 2, 0 +_0806C234: .4byte 0x02020004 +_0806C238: + cmp r3, 0 + beq _0806C266 + cmp r3, 0x7 + bne _0806C298 + ldr r2, _0806C254 + lsls r3, r4, 4 + adds r1, r3, r4 + lsls r1, 2 + adds r1, r2 + ldr r0, _0806C258 + ldrb r0, [r0] + subs r0, 0x1 + b _0806C2AA + .align 2, 0 +_0806C254: .4byte 0x02020004 +_0806C258: .4byte 0x03004350 +_0806C25C: + ldr r0, _0806C278 + ldrb r0, [r0] + subs r0, 0x1 + cmp r3, r0 + bne _0806C280 +_0806C266: + ldr r2, _0806C27C + lsls r3, r4, 4 + adds r0, r3, r4 + lsls r0, 2 + adds r0, r2 + movs r1, 0x7 + strh r1, [r0, 0x2E] + b _0806C2AC + .align 2, 0 +_0806C278: .4byte 0x03004350 +_0806C27C: .4byte 0x02020004 +_0806C280: + cmp r3, 0x7 + bne _0806C298 + ldr r2, _0806C294 + lsls r3, r4, 4 + adds r0, r3, r4 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x2E] + b _0806C2AC + .align 2, 0 +_0806C294: .4byte 0x02020004 +_0806C298: + ldr r2, _0806C2B8 + lsls r3, r4, 4 + adds r1, r3, r4 + lsls r1, 2 + adds r1, r2 + lsls r0, r5, 24 + asrs r0, 24 + ldrh r5, [r1, 0x2E] + adds r0, r5 +_0806C2AA: + strh r0, [r1, 0x2E] +_0806C2AC: + adds r0, r3, r4 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x30] + b _0806C306 + .align 2, 0 +_0806C2B8: .4byte 0x02020004 +_0806C2BC: + ldr r0, _0806C2E4 + ldrb r0, [r0] + cmp r0, 0x1 + bls _0806C306 + cmp r3, 0 + bne _0806C306 + ldr r0, _0806C2E8 + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r2, 0x30 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _0806C2DE + movs r0, 0x1 + strh r0, [r1, 0x30] +_0806C2DE: + ldrh r0, [r1, 0x30] + strh r0, [r1, 0x2E] + b _0806C306 + .align 2, 0 +_0806C2E4: .4byte 0x03004350 +_0806C2E8: .4byte 0x02020004 +_0806C2EC: + subs r0, r3, 0x1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x4 + bhi _0806C306 + ldr r0, _0806C30C + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x2E] + strh r3, [r1, 0x30] +_0806C306: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806C30C: .4byte 0x02020004 + thumb_func_end sub_806C1E4 + + thumb_func_start sub_806C310 +sub_806C310: @ 806C310 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + lsls r2, 24 + lsrs r5, r2, 24 + movs r0, 0x80 + lsls r0, 18 + adds r2, r0 + asrs r0, r2, 24 + cmp r0, 0x4 + bls _0806C32C + b _0806C486 +_0806C32C: + lsls r0, 2 + ldr r1, _0806C338 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806C338: .4byte _0806C33C + .align 2, 0 +_0806C33C: + .4byte _0806C44E + .4byte _0806C38C + .4byte _0806C350 + .4byte _0806C364 + .4byte _0806C3E8 +_0806C350: + ldr r0, _0806C360 + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x30] + b _0806C486 + .align 2, 0 +_0806C360: .4byte 0x02020004 +_0806C364: + cmp r3, 0x7 + bne _0806C37C + ldr r2, _0806C378 + lsls r3, r4, 4 + adds r0, r3, r4 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x2E] + b _0806C3D8 + .align 2, 0 +_0806C378: .4byte 0x02020004 +_0806C37C: + ldr r0, _0806C388 + ldrb r0, [r0] + subs r0, 0x1 + cmp r3, r0 + beq _0806C390 + b _0806C3C4 + .align 2, 0 +_0806C388: .4byte 0x03004350 +_0806C38C: + cmp r3, 0 + bne _0806C3A4 +_0806C390: + ldr r2, _0806C3A0 + lsls r3, r4, 4 + adds r0, r3, r4 + lsls r0, 2 + adds r0, r2 + movs r1, 0x7 + strh r1, [r0, 0x2E] + b _0806C3D8 + .align 2, 0 +_0806C3A0: .4byte 0x02020004 +_0806C3A4: + cmp r3, 0x7 + bne _0806C3C4 + ldr r2, _0806C3BC + lsls r3, r4, 4 + adds r1, r3, r4 + lsls r1, 2 + adds r1, r2 + ldr r0, _0806C3C0 + ldrb r0, [r0] + subs r0, 0x1 + b _0806C3D6 + .align 2, 0 +_0806C3BC: .4byte 0x02020004 +_0806C3C0: .4byte 0x03004350 +_0806C3C4: + ldr r2, _0806C3E4 + lsls r3, r4, 4 + adds r1, r3, r4 + lsls r1, 2 + adds r1, r2 + lsls r0, r5, 24 + asrs r0, 24 + ldrh r5, [r1, 0x2E] + adds r0, r5 +_0806C3D6: + strh r0, [r1, 0x2E] +_0806C3D8: + adds r0, r3, r4 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x30] + b _0806C486 + .align 2, 0 +_0806C3E4: .4byte 0x02020004 +_0806C3E8: + cmp r3, 0 + bne _0806C418 + ldr r0, _0806C410 + ldrb r0, [r0] + cmp r0, 0x2 + bls _0806C486 + ldr r0, _0806C414 + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r2, [r1, 0x30] + subs r0, r2, 0x2 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bls _0806C43A + movs r0, 0x2 + strh r0, [r1, 0x2E] + b _0806C486 + .align 2, 0 +_0806C410: .4byte 0x03004350 +_0806C414: .4byte 0x02020004 +_0806C418: + cmp r3, 0x1 + bne _0806C486 + ldr r0, _0806C440 + ldrb r0, [r0] + cmp r0, 0x4 + bls _0806C486 + ldr r0, _0806C444 + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r2, [r1, 0x30] + subs r0, r2, 0x4 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bhi _0806C448 +_0806C43A: + strh r2, [r1, 0x2E] + b _0806C486 + .align 2, 0 +_0806C440: .4byte 0x03004350 +_0806C444: .4byte 0x02020004 +_0806C448: + movs r0, 0x4 + strh r0, [r1, 0x2E] + b _0806C486 +_0806C44E: + subs r0, r3, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0806C46C + ldr r0, _0806C468 + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r0, 0 + b _0806C482 + .align 2, 0 +_0806C468: .4byte 0x02020004 +_0806C46C: + subs r0, r3, 0x4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0806C486 + ldr r0, _0806C48C + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 +_0806C482: + strh r0, [r1, 0x2E] + strh r3, [r1, 0x30] +_0806C486: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806C48C: .4byte 0x02020004 + thumb_func_end sub_806C310 + + thumb_func_start sub_806C490 +sub_806C490: @ 806C490 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r1, 24 + lsrs r4, r1, 24 + lsls r2, 24 + movs r0, 0x80 + lsls r0, 18 + adds r2, r0 + asrs r0, r2, 24 + cmp r0, 0x4 + bls _0806C4AA + b _0806C64E +_0806C4AA: + lsls r0, 2 + ldr r1, _0806C4B4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806C4B4: .4byte _0806C4B8 + .align 2, 0 +_0806C4B8: + .4byte _0806C618 + .4byte _0806C524 + .4byte _0806C4CC + .4byte _0806C4E0 + .4byte _0806C57C +_0806C4CC: + ldr r0, _0806C4DC + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x30] + b _0806C64E + .align 2, 0 +_0806C4DC: .4byte 0x02020004 +_0806C4E0: + cmp r4, 0x7 + bne _0806C4FC + ldr r2, _0806C4F8 + lsls r3, r5, 4 + adds r0, r3, r5 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x2E] + adds r1, r2, 0 + adds r6, r3, 0 + b _0806C566 + .align 2, 0 +_0806C4F8: .4byte 0x02020004 +_0806C4FC: + lsls r6, r5, 4 + b _0806C518 +_0806C500: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x64 + muls r0, r4 + ldr r1, _0806C520 + adds r0, r1 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + bne _0806C528 +_0806C518: + cmp r4, 0x5 + bne _0806C500 + b _0806C558 + .align 2, 0 +_0806C520: .4byte 0x03004360 +_0806C524: + lsls r6, r5, 4 + b _0806C554 +_0806C528: + ldr r1, _0806C534 + adds r0, r6, r5 + lsls r0, 2 + adds r0, r1 + strh r4, [r0, 0x2E] + b _0806C566 + .align 2, 0 +_0806C534: .4byte 0x02020004 +_0806C538: + subs r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x6 + beq _0806C554 + movs r0, 0x64 + muls r0, r4 + ldr r1, _0806C574 + adds r0, r1 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + bne _0806C528 +_0806C554: + cmp r4, 0 + bne _0806C538 +_0806C558: + ldr r0, _0806C578 + adds r1, r6, r5 + lsls r1, 2 + adds r1, r0 + movs r2, 0x7 + strh r2, [r1, 0x2E] + adds r1, r0, 0 +_0806C566: + adds r0, r6, r5 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x30] + b _0806C64E + .align 2, 0 +_0806C574: .4byte 0x03004360 +_0806C578: .4byte 0x02020004 +_0806C57C: + cmp r4, 0 + bne _0806C5C8 + ldr r0, _0806C5AC + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r4, r1, r0 + ldrh r1, [r4, 0x30] + subs r0, r1, 0x2 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bls _0806C5E2 + ldr r5, _0806C5B0 + adds r0, r5, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806C5B4 + movs r0, 0x2 + strh r0, [r4, 0x2E] + b _0806C64E + .align 2, 0 +_0806C5AC: .4byte 0x02020004 +_0806C5B0: .4byte 0x03004428 +_0806C5B4: + adds r0, r5, 0 + adds r0, 0x64 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806C64E + movs r0, 0x3 + strh r0, [r4, 0x2E] + b _0806C64E +_0806C5C8: + cmp r4, 0x1 + bne _0806C64E + ldr r0, _0806C5E8 + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r4, r1, r0 + ldrh r1, [r4, 0x30] + subs r0, r1, 0x4 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bhi _0806C5EC +_0806C5E2: + strh r1, [r4, 0x2E] + b _0806C64E + .align 2, 0 +_0806C5E8: .4byte 0x02020004 +_0806C5EC: + ldr r5, _0806C600 + adds r0, r5, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806C604 + movs r0, 0x4 + strh r0, [r4, 0x2E] + b _0806C64E + .align 2, 0 +_0806C600: .4byte 0x030044f0 +_0806C604: + adds r0, r5, 0 + adds r0, 0x64 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806C64E + movs r0, 0x5 + strh r0, [r4, 0x2E] + b _0806C64E +_0806C618: + subs r0, r4, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0806C634 + ldr r0, _0806C630 + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r1, r0 + movs r0, 0 + b _0806C64A + .align 2, 0 +_0806C630: .4byte 0x02020004 +_0806C634: + subs r0, r4, 0x4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0806C64E + ldr r0, _0806C654 + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 +_0806C64A: + strh r0, [r1, 0x2E] + strh r4, [r1, 0x30] +_0806C64E: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806C654: .4byte 0x02020004 + thumb_func_end sub_806C490 + + thumb_func_start sub_806C658 +sub_806C658: @ 806C658 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r1, 24 + lsrs r4, r1, 24 + bl sub_806CA00 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0806C6A0 + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r6, r0, 24 + mov r0, r8 + adds r1, r6, 0 + movs r2, 0 + bl sub_806DA44 + cmp r6, 0x5 + bhi _0806C6A8 + lsls r0, r6, 1 + ldr r1, _0806C6A4 + adds r0, r1 + adds r1, r6, 0 + movs r2, 0x3 + movs r3, 0 + bl sub_806BF24 + b _0806C6BA + .align 2, 0 +_0806C6A0: .4byte 0x02020004 +_0806C6A4: .4byte gUnknown_083769A8 +_0806C6A8: + cmp r6, 0x6 + bne _0806C6B4 + movs r0, 0x1 + bl sub_806BB9C + b _0806C6BA +_0806C6B4: + movs r0, 0x1 + bl sub_806BBEC +_0806C6BA: + lsls r1, r4, 24 + movs r2, 0x80 + lsls r2, 18 + adds r0, r1, r2 + asrs r0, 24 + lsls r4, r5, 4 + adds r7, r1, 0 + cmp r0, 0x4 + bls _0806C6CE + b _0806C7EA +_0806C6CE: + lsls r0, 2 + ldr r1, _0806C6D8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806C6D8: .4byte _0806C6DC + .align 2, 0 +_0806C6DC: + .4byte _0806C7D0 + .4byte _0806C708 + .4byte _0806C6F0 + .4byte _0806C740 + .4byte _0806C7A0 +_0806C6F0: + ldr r1, _0806C704 + lsls r2, r5, 4 + adds r0, r2, r5 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x30] + adds r4, r2, 0 + b _0806C7EA + .align 2, 0 +_0806C704: .4byte 0x02020004 +_0806C708: + cmp r6, 0 + bne _0806C720 + ldr r2, _0806C71C + lsls r3, r5, 4 + adds r0, r3, r5 + lsls r0, 2 + adds r0, r2 + movs r1, 0x7 + strh r1, [r0, 0x2E] + b _0806C78E + .align 2, 0 +_0806C71C: .4byte 0x02020004 +_0806C720: + cmp r6, 0x6 + bne _0806C77C + ldr r2, _0806C738 + lsls r3, r5, 4 + adds r1, r3, r5 + lsls r1, 2 + adds r1, r2 + ldr r0, _0806C73C + ldrb r0, [r0] + subs r0, 0x1 + b _0806C78C + .align 2, 0 +_0806C738: .4byte 0x02020004 +_0806C73C: .4byte 0x03004350 +_0806C740: + ldr r0, _0806C75C + ldrb r0, [r0] + subs r0, 0x1 + cmp r6, r0 + bne _0806C764 + ldr r2, _0806C760 + lsls r3, r5, 4 + adds r0, r3, r5 + lsls r0, 2 + adds r0, r2 + movs r1, 0x6 + strh r1, [r0, 0x2E] + b _0806C78E + .align 2, 0 +_0806C75C: .4byte 0x03004350 +_0806C760: .4byte 0x02020004 +_0806C764: + cmp r6, 0x7 + bne _0806C77C + ldr r2, _0806C778 + lsls r3, r5, 4 + adds r0, r3, r5 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x2E] + b _0806C78E + .align 2, 0 +_0806C778: .4byte 0x02020004 +_0806C77C: + ldr r2, _0806C79C + lsls r3, r5, 4 + adds r1, r3, r5 + lsls r1, 2 + adds r1, r2 + asrs r0, r7, 24 + ldrh r4, [r1, 0x2E] + adds r0, r4 +_0806C78C: + strh r0, [r1, 0x2E] +_0806C78E: + adds r4, r3, 0 + adds r0, r4, r5 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x30] + b _0806C7EA + .align 2, 0 +_0806C79C: .4byte 0x02020004 +_0806C7A0: + ldr r0, _0806C7C8 + ldrb r0, [r0] + lsls r4, r5, 4 + cmp r0, 0x1 + bls _0806C7EA + cmp r6, 0 + bne _0806C7EA + ldr r0, _0806C7CC + adds r1, r4, r5 + lsls r1, 2 + adds r1, r0 + movs r2, 0x30 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _0806C7C2 + movs r0, 0x1 + strh r0, [r1, 0x30] +_0806C7C2: + ldrh r0, [r1, 0x30] + strh r0, [r1, 0x2E] + b _0806C7EA + .align 2, 0 +_0806C7C8: .4byte 0x03004350 +_0806C7CC: .4byte 0x02020004 +_0806C7D0: + subs r0, r6, 0x1 + lsls r0, 24 + lsrs r0, 24 + lsls r4, r5, 4 + cmp r0, 0x4 + bhi _0806C7EA + ldr r0, _0806C82C + adds r1, r4, r5 + lsls r1, 2 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x2E] + strh r6, [r1, 0x30] +_0806C7EA: + ldr r1, _0806C82C + adds r0, r4, r5 + lsls r0, 2 + adds r2, r0, r1 + ldr r1, _0806C830 + movs r3, 0x2E + ldrsh r0, [r2, r3] + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0] + strh r0, [r2, 0x20] + movs r3, 0x2E + ldrsh r0, [r2, r3] + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x1] + strh r0, [r2, 0x22] + ldrh r3, [r2, 0x2E] + movs r1, 0x2E + ldrsh r0, [r2, r1] + cmp r0, 0x5 + bgt _0806C838 + lsls r0, 1 + ldr r1, _0806C834 + adds r0, r1 + lsls r1, r3, 24 + lsrs r1, 24 + movs r2, 0x3 + movs r3, 0x1 + bl sub_806BF24 + b _0806C84A + .align 2, 0 +_0806C82C: .4byte 0x02020004 +_0806C830: .4byte gUnknown_083768B8 +_0806C834: .4byte gUnknown_083769A8 +_0806C838: + cmp r0, 0x6 + bne _0806C844 + movs r0, 0x2 + bl sub_806BB9C + b _0806C84A +_0806C844: + movs r0, 0x2 + bl sub_806BBEC +_0806C84A: + ldr r0, _0806C884 + ldr r2, _0806C888 + adds r0, r2 + movs r1, 0x2 + strb r1, [r0] + ldr r0, _0806C88C + adds r4, r5 + lsls r4, 2 + adds r4, r0 + ldrh r1, [r4, 0x2E] + lsls r1, 24 + lsrs r1, 24 + mov r0, r8 + movs r2, 0x1 + bl sub_806DA44 + movs r3, 0x2E + ldrsh r0, [r4, r3] + cmp r6, r0 + beq _0806C878 + movs r0, 0x5 + bl audio_play +_0806C878: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806C884: .4byte 0x0201b000 +_0806C888: .4byte 0x00000261 +_0806C88C: .4byte 0x02020004 + thumb_func_end sub_806C658 + + thumb_func_start sub_806C890 +sub_806C890: @ 806C890 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + adds r0, r6, 0 + bl sub_806CA00 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0806C8D4 + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x6 + beq _0806C914 + adds r0, r6, 0 + adds r1, r4, 0 + movs r2, 0 + bl sub_806DA44 + cmp r4, 0x5 + bhi _0806C8DC + lsls r0, r4, 1 + ldr r1, _0806C8D8 + adds r0, r1 + adds r1, r4, 0 + movs r2, 0x3 + movs r3, 0 + bl sub_806BF24 + b _0806C8E2 + .align 2, 0 +_0806C8D4: .4byte 0x02020004 +_0806C8D8: .4byte gUnknown_083769A8 +_0806C8DC: + movs r0, 0x1 + bl sub_806BBEC +_0806C8E2: + ldr r1, _0806C91C + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x30] + movs r1, 0x6 + strh r1, [r0, 0x2E] + ldr r2, _0806C920 + ldrb r1, [r2, 0x18] + strh r1, [r0, 0x20] + ldrb r1, [r2, 0x19] + strh r1, [r0, 0x22] + movs r0, 0x2 + bl sub_806BB9C + ldr r0, _0806C924 + ldr r1, _0806C928 + adds r0, r1 + movs r1, 0x2 + strb r1, [r0] + movs r0, 0x5 + bl audio_play +_0806C914: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806C91C: .4byte 0x02020004 +_0806C920: .4byte gUnknown_083768B8 +_0806C924: .4byte 0x0201b000 +_0806C928: .4byte 0x00000261 + thumb_func_end sub_806C890 + + thumb_func_start sub_806C92C +sub_806C92C: @ 806C92C + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _0806C960 + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x2E] + lsls r0, 24 + lsrs r6, r0, 24 + ldrh r0, [r1, 0x30] + lsls r0, 24 + lsrs r4, r0, 24 + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + bne _0806C96A + cmp r6, 0 + bne _0806C964 + cmp r4, 0 + bne _0806C97C + movs r4, 0x1 + b _0806C97C + .align 2, 0 +_0806C960: .4byte 0x02020004 +_0806C964: + cmp r4, 0 + beq _0806C97C + b _0806C97A +_0806C96A: + cmp r6, 0x1 + bhi _0806C976 + cmp r4, 0x1 + bhi _0806C97C + movs r4, 0x2 + b _0806C97C +_0806C976: + cmp r4, 0x1 + bls _0806C97C +_0806C97A: + movs r4, 0 +_0806C97C: + ldr r1, _0806C990 + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + strh r4, [r0, 0x30] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806C990: .4byte 0x02020004 + thumb_func_end sub_806C92C + + thumb_func_start sub_806C994 +sub_806C994: @ 806C994 + push {r4,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 24 + lsrs r4, 24 + bl sub_806CA00 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806C9C0 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + strh r4, [r1, 0x2E] + bl sub_806C92C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806C9C0: .4byte 0x02020004 + thumb_func_end sub_806C994 + + thumb_func_start sub_806C9C4 +sub_806C9C4: @ 806C9C4 + push {r4,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 24 + lsrs r4, 24 + bl sub_806CA00 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _0806C9FC + lsls r2, r4, 4 + adds r2, r4 + lsls r2, 2 + adds r2, r3 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldrh r0, [r1, 0x20] + strh r0, [r2, 0x20] + ldrh r0, [r1, 0x22] + strh r0, [r2, 0x22] + ldrh r0, [r1, 0x2E] + strh r0, [r2, 0x2E] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806C9FC: .4byte 0x02020004 + thumb_func_end sub_806C9C4 + + thumb_func_start sub_806CA00 +sub_806CA00: @ 806CA00 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806CA14 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrh r0, [r1, 0xE] + lsrs r0, 8 + bx lr + .align 2, 0 +_0806CA14: .4byte 0x03004b20 + thumb_func_end sub_806CA00 + + thumb_func_start sub_806CA18 +sub_806CA18: @ 806CA18 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + ldr r3, _0806CA34 + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r2, r3 + ldrb r0, [r2, 0xE] + lsrs r1, 16 + orrs r0, r1 + strh r0, [r2, 0xE] + bx lr + .align 2, 0 +_0806CA34: .4byte 0x03004b20 + thumb_func_end sub_806CA18 + + thumb_func_start sub_806CA38 +sub_806CA38: @ 806CA38 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl sub_806CA00 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806CA5C + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x2E] + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_0806CA5C: .4byte 0x02020004 + thumb_func_end sub_806CA38 + + thumb_func_start sub_806CA60 +sub_806CA60: @ 806CA60 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _0806CAD8 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806CADC + str r1, [r0] + ldr r5, _0806CAE0 + strb r4, [r5] + ldr r0, _0806CAE4 + movs r1, 0 + bl CreateTask + ldr r0, _0806CAE8 + bl object_new_hidden_with_callback + strb r0, [r5, 0x1] + ldrb r1, [r5, 0x1] + adds r0, r4, 0 + bl sub_806C9C4 + adds r0, r4, 0 + bl sub_806CA00 + strb r0, [r5, 0x2] + ldr r1, _0806CAEC + adds r0, r5, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_806D538 + ldr r2, _0806CAF0 + ldrb r0, [r5, 0x1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r2, 0x2E + ldrsh r0, [r1, r2] + lsls r0, 1 + ldr r2, _0806CAF4 + adds r0, r2 + ldrh r1, [r1, 0x2E] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0x6 + movs r3, 0 + bl sub_806BF24 + ldr r0, _0806CAF8 + adds r5, r0 + movs r0, 0x2 + strb r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806CAD8: .4byte 0x03004b20 +_0806CADC: .4byte TaskDummy +_0806CAE0: .4byte 0x02001000 +_0806CAE4: .4byte sub_806CB74 +_0806CAE8: .4byte SpriteCallbackDummy +_0806CAEC: .4byte 0x0001a272 +_0806CAF0: .4byte 0x02020004 +_0806CAF4: .4byte gUnknown_083769A8 +_0806CAF8: .4byte 0x0001a261 + thumb_func_end sub_806CA60 + + thumb_func_start sub_806CAFC +sub_806CAFC: @ 806CAFC + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r4, _0806CB48 + ldrb r3, [r4, 0x1] + lsls r2, r3, 4 + adds r2, r3 + lsls r2, 2 + ldr r3, _0806CB4C + adds r5, r2, r3 + ldrb r2, [r4, 0x2] + lsls r4, r2, 4 + adds r4, r2 + lsls r4, 2 + adds r4, r3 + lsls r1, 24 + asrs r1, 24 + bl sub_806BF74 + ldrh r2, [r5, 0x2E] + movs r0, 0x2E + ldrsh r1, [r5, r0] + movs r3, 0x2E + ldrsh r0, [r4, r3] + cmp r1, r0 + beq _0806CB54 + adds r0, r1, 0 + lsls r0, 1 + ldr r1, _0806CB50 + adds r0, r1 + lsls r1, r2, 24 + lsrs r1, 24 + movs r2, 0x6 + movs r3, 0x1 + bl sub_806BF24 + b _0806CB6A + .align 2, 0 +_0806CB48: .4byte 0x02001000 +_0806CB4C: .4byte 0x02020004 +_0806CB50: .4byte gUnknown_083769A8 +_0806CB54: + movs r3, 0x2E + ldrsh r0, [r5, r3] + lsls r0, 1 + ldr r1, _0806CB70 + adds r0, r1 + lsls r1, r2, 24 + lsrs r1, 24 + movs r2, 0x6 + movs r3, 0 + bl sub_806BF24 +_0806CB6A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806CB70: .4byte gUnknown_083769A8 + thumb_func_end sub_806CAFC + + thumb_func_start sub_806CB74 +sub_806CB74: @ 806CB74 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806CB8C + ldrh r0, [r0, 0x30] + cmp r0, 0x20 + beq _0806CBBC + cmp r0, 0x20 + bgt _0806CB90 + cmp r0, 0x10 + beq _0806CBD0 + b _0806CBDA + .align 2, 0 +_0806CB8C: .4byte 0x03001770 +_0806CB90: + cmp r0, 0x40 + beq _0806CB9A + cmp r0, 0x80 + beq _0806CBAC + b _0806CBDA +_0806CB9A: + ldr r0, _0806CBA8 + ldrb r0, [r0] + movs r1, 0x1 + negs r1, r1 + bl sub_806CAFC + b _0806CBDA + .align 2, 0 +_0806CBA8: .4byte 0x02001000 +_0806CBAC: + ldr r0, _0806CBB8 + ldrb r0, [r0] + movs r1, 0x1 + bl sub_806CAFC + b _0806CBDA + .align 2, 0 +_0806CBB8: .4byte 0x02001000 +_0806CBBC: + ldr r0, _0806CBCC + ldrb r0, [r0] + movs r1, 0x2 + negs r1, r1 + bl sub_806CAFC + b _0806CBDA + .align 2, 0 +_0806CBCC: .4byte 0x02001000 +_0806CBD0: + ldr r0, _0806CC04 + ldrb r0, [r0] + movs r1, 0x2 + bl sub_806CAFC +_0806CBDA: + ldr r0, _0806CC08 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0806CC10 + movs r0, 0x5 + bl audio_play + ldr r1, _0806CC0C + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806CC04 + ldr r1, [r1, 0xC] + str r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + b _0806CC24 + .align 2, 0 +_0806CC04: .4byte 0x02001000 +_0806CC08: .4byte 0x03001770 +_0806CC0C: .4byte 0x03004b20 +_0806CC10: + lsls r0, r1, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _0806CC24 + movs r0, 0x5 + bl audio_play + adds r0, r4, 0 + bl sub_806CD44 +_0806CC24: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_806CB74 + + thumb_func_start sub_806CC2C +sub_806CC2C: @ 806CC2C + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _0806CC68 + ldrb r1, [r5, 0x1] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0806CC6C + adds r0, r1 + bl DestroySprite + movs r0, 0 + movs r1, 0 + bl sub_806D538 + ldr r0, _0806CC70 + adds r1, r5, r0 + movs r0, 0x2 + strb r0, [r1] + ldrb r0, [r5] + bl SwitchTaskToFollowupFunc + adds r0, r4, 0 + bl DestroyTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806CC68: .4byte 0x02001000 +_0806CC6C: .4byte 0x02020004 +_0806CC70: .4byte 0x0001a261 + thumb_func_end sub_806CC2C + + thumb_func_start sub_806CC74 +sub_806CC74: @ 806CC74 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0806CCD8 + mov r8, r0 + ldr r6, _0806CCDC + ldrb r0, [r6, 0x2] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + add r1, r8 + movs r2, 0x2E + ldrsh r0, [r1, r2] + lsls r0, 1 + ldr r5, _0806CCE0 + adds r0, r5 + ldrh r1, [r1, 0x2E] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0x3 + movs r3, 0x1 + bl sub_806BF24 + ldrb r0, [r6, 0x1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + add r1, r8 + movs r2, 0x2E + ldrsh r0, [r1, r2] + lsls r0, 1 + adds r0, r5 + ldrh r1, [r1, 0x2E] + lsls r1, 24 + lsrs r1, 24 + movs r2, 0x3 + movs r3, 0 + bl sub_806BF24 + adds r0, r4, 0 + bl sub_806CC2C + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806CCD8: .4byte 0x02020004 +_0806CCDC: .4byte 0x02001000 +_0806CCE0: .4byte gUnknown_083769A8 + thumb_func_end sub_806CC74 + + thumb_func_start sub_806CCE4 +sub_806CCE4: @ 806CCE4 + push {r4,r5,lr} + ldr r3, _0806CD38 + ldr r2, _0806CD3C + ldrb r1, [r2, 0x1] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r4, r0, 24 + ldrb r1, [r2, 0x2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r5, r0, 24 + cmp r4, 0x5 + bhi _0806CD1E + lsls r0, r4, 1 + ldr r1, _0806CD40 + adds r0, r1 + adds r1, r4, 0 + movs r2, 0x3 + movs r3, 0 + bl sub_806BF24 +_0806CD1E: + cmp r5, 0x5 + bhi _0806CD32 + lsls r0, r5, 1 + ldr r1, _0806CD40 + adds r0, r1 + adds r1, r5, 0 + movs r2, 0x3 + movs r3, 0x1 + bl sub_806BF24 +_0806CD32: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806CD38: .4byte 0x02020004 +_0806CD3C: .4byte 0x02001000 +_0806CD40: .4byte gUnknown_083769A8 + thumb_func_end sub_806CCE4 + + thumb_func_start sub_806CD44 +sub_806CD44: @ 806CD44 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_806CCE4 + adds r0, r4, 0 + bl sub_806CC2C + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_806CD44 + + thumb_func_start sub_806CD5C +sub_806CD5C: @ 806CD5C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r2, _0806CDA8 + ldr r6, _0806CDAC + ldrb r1, [r6, 0x1] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r5, r0, 24 + mov r9, r5 + ldrb r1, [r6, 0x2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x2E] + lsls r0, 24 + lsrs r4, r0, 24 + adds r7, r4, 0 + cmp r5, r4 + beq _0806CD9E + cmp r5, 0x7 + beq _0806CD9E + cmp r4, 0x7 + bne _0806CDB0 +_0806CD9E: + mov r0, r8 + bl sub_806CD44 + b _0806CED2 + .align 2, 0 +_0806CDA8: .4byte 0x02020004 +_0806CDAC: .4byte 0x02001000 +_0806CDB0: + adds r0, r5, 0 + bl sub_806D5B8 + adds r0, r4, 0 + bl sub_806D5B8 + cmp r5, r4 + bls _0806CDC6 + strb r4, [r6, 0x5] + strb r5, [r6, 0x6] + b _0806CDCC +_0806CDC6: + mov r0, r9 + strb r0, [r6, 0x5] + strb r7, [r6, 0x6] +_0806CDCC: + ldr r4, _0806CE1C + ldrb r0, [r4] + ldrb r1, [r4, 0x5] + bl sub_806DDA0 + strb r0, [r4, 0x3] + ldrb r0, [r4] + ldrb r1, [r4, 0x6] + bl sub_806DDA0 + strb r0, [r4, 0x4] + ldrb r3, [r4, 0x5] + cmp r3, 0 + bne _0806CE34 + ldr r2, _0806CE20 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _0806CE24 + strh r1, [r0, 0x2E] + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _0806CE28 + strh r1, [r0, 0x32] + strh r3, [r4, 0x8] + movs r0, 0xB + strh r0, [r4, 0xA] + ldr r1, _0806CE2C + mov r3, r8 + lsls r0, r3, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806CE30 + b _0806CE66 + .align 2, 0 +_0806CE1C: .4byte 0x02001000 +_0806CE20: .4byte 0x02020004 +_0806CE24: .4byte 0x0000fff8 +_0806CE28: .4byte 0x0000ff58 +_0806CE2C: .4byte 0x03004b20 +_0806CE30: .4byte sub_806D014 +_0806CE34: + ldr r2, _0806CEE0 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x8 + strh r1, [r0, 0x2E] + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0xA8 + strh r1, [r0, 0x32] + movs r0, 0xB + strh r0, [r4, 0x8] + strh r0, [r4, 0xA] + ldr r1, _0806CEE4 + mov r3, r8 + lsls r0, r3, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806CEE8 +_0806CE66: + str r1, [r0] + ldr r0, _0806CEEC + adds r1, r4, r0 + movs r0, 0x1 + strb r0, [r1] + adds r6, r2, 0 + ldr r4, _0806CEF0 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r5, r6, 0 + adds r5, 0x1C + adds r0, r5 + ldr r2, _0806CEF4 + str r2, [r0] + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x8 + strh r1, [r0, 0x2E] + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0xA8 + strh r1, [r0, 0x32] + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + str r2, [r0] + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r5 + adds r0, r6 + ldr r1, [r1] + bl _call_via_r1 + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r5, r0, r5 + adds r0, r6 + ldr r1, [r5] + bl _call_via_r1 +_0806CED2: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806CEE0: .4byte 0x02020004 +_0806CEE4: .4byte 0x03004b20 +_0806CEE8: .4byte sub_806D118 +_0806CEEC: .4byte 0x0001a261 +_0806CEF0: .4byte 0x02001000 +_0806CEF4: .4byte sub_806D37C + thumb_func_end sub_806CD5C + + thumb_func_start sub_806CEF8 +sub_806CEF8: @ 806CEF8 + ldrh r3, [r0] + ldrh r2, [r1] + strh r2, [r0] + strh r3, [r1] + bx lr + thumb_func_end sub_806CEF8 + + thumb_func_start sub_806CF04 +sub_806CF04: @ 806CF04 + push {r4,r5,lr} + ldr r4, _0806CF94 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r5, _0806CF98 + adds r0, r5 + ldrb r2, [r4, 0x4] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r5 + bl sub_806CEF8 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r3, r5, 0x2 + adds r0, r3 + ldrb r2, [r4, 0x4] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r3 + bl sub_806CEF8 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r3, r5, 0x4 + adds r0, r3 + ldrb r2, [r4, 0x4] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r3 + bl sub_806CEF8 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r3, r5, 0 + adds r3, 0xE + adds r0, r3 + ldrb r2, [r4, 0x4] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r3 + bl sub_806CEF8 + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + subs r5, 0x4 + adds r0, r5 + ldr r2, _0806CF9C + str r2, [r0] + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + str r2, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806CF94: .4byte 0x02001000 +_0806CF98: .4byte 0x02020024 +_0806CF9C: .4byte sub_806D37C + thumb_func_end sub_806CF04 + + thumb_func_start sub_806CFA0 +sub_806CFA0: @ 806CFA0 + push {r4-r6,lr} + lsls r4, r1, 24 + lsrs r4, 24 + ldr r5, _0806CFDC + ldrb r1, [r5, 0x6] + subs r1, 0x1 + lsls r0, r1, 1 + adds r0, r1 + adds r0, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + movs r1, 0x8 + ldrsh r0, [r5, r1] + movs r1, 0x3 + bl sub_806BA34 + movs r1, 0xA + ldrsh r0, [r5, r1] + adds r1, r6, 0 + bl sub_806BB3C + cmp r4, 0 + bne _0806CFE0 + ldrh r0, [r5, 0x8] + subs r0, 0x1 + strh r0, [r5, 0x8] + ldrh r0, [r5, 0xA] + adds r0, 0x1 + b _0806CFEA + .align 2, 0 +_0806CFDC: .4byte 0x02001000 +_0806CFE0: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + ldrh r0, [r5, 0xA] + subs r0, 0x1 +_0806CFEA: + strh r0, [r5, 0xA] + ldr r4, _0806D010 + movs r1, 0x8 + ldrsh r0, [r4, r1] + movs r1, 0x3 + movs r2, 0xA + bl sub_806B9A4 + movs r1, 0xA + ldrsh r0, [r4, r1] + adds r1, r6, 0 + movs r2, 0 + movs r3, 0xA + bl sub_806BA94 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806D010: .4byte 0x02001000 + thumb_func_end sub_806CFA0 + + thumb_func_start sub_806D014 +sub_806D014: @ 806D014 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + movs r1, 0 + bl sub_806CFA0 + ldr r2, _0806D050 + movs r0, 0x8 + ldrsh r1, [r2, r0] + movs r0, 0xD + negs r0, r0 + cmp r1, r0 + bge _0806D04A + movs r1, 0xA + ldrsh r0, [r2, r1] + cmp r0, 0x20 + ble _0806D04A + bl sub_806CF04 + ldr r0, _0806D054 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806D058 + str r0, [r1] +_0806D04A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806D050: .4byte 0x02001000 +_0806D054: .4byte 0x03004b20 +_0806D058: .4byte sub_806D05C + thumb_func_end sub_806D014 + + thumb_func_start sub_806D05C +sub_806D05C: @ 806D05C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806CFA0 + ldr r0, _0806D08C + ldr r1, [r0, 0x8] + movs r0, 0xB0 + lsls r0, 12 + cmp r1, r0 + bne _0806D084 + ldr r0, _0806D090 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806D094 + str r0, [r1] +_0806D084: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806D08C: .4byte 0x02001000 +_0806D090: .4byte 0x03004b20 +_0806D094: .4byte sub_806D198 + thumb_func_end sub_806D05C + + thumb_func_start sub_806D098 +sub_806D098: @ 806D098 + push {r4-r7,lr} + lsls r4, r1, 24 + lsrs r4, 24 + ldr r5, _0806D0E0 + ldrb r1, [r5, 0x5] + subs r1, 0x1 + lsls r0, r1, 1 + adds r0, r1 + adds r0, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + ldrb r1, [r5, 0x6] + subs r1, 0x1 + lsls r0, r1, 1 + adds r0, r1 + adds r0, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + movs r1, 0x8 + ldrsh r0, [r5, r1] + adds r1, r7, 0 + bl sub_806BB3C + movs r1, 0xA + ldrsh r0, [r5, r1] + adds r1, r6, 0 + bl sub_806BB3C + cmp r4, 0 + bne _0806D0E4 + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + ldrh r0, [r5, 0xA] + adds r0, 0x1 + b _0806D0EE + .align 2, 0 +_0806D0E0: .4byte 0x02001000 +_0806D0E4: + ldrh r0, [r5, 0x8] + subs r0, 0x1 + strh r0, [r5, 0x8] + ldrh r0, [r5, 0xA] + subs r0, 0x1 +_0806D0EE: + strh r0, [r5, 0xA] + ldr r4, _0806D114 + movs r1, 0x8 + ldrsh r0, [r4, r1] + adds r1, r7, 0 + movs r2, 0 + movs r3, 0xA + bl sub_806BA94 + movs r1, 0xA + ldrsh r0, [r4, r1] + adds r1, r6, 0 + movs r2, 0 + movs r3, 0xA + bl sub_806BA94 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806D114: .4byte 0x02001000 + thumb_func_end sub_806D098 + + thumb_func_start sub_806D118 +sub_806D118: @ 806D118 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + movs r1, 0 + bl sub_806D098 + ldr r1, _0806D150 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0x20 + ble _0806D14A + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0x20 + ble _0806D14A + bl sub_806CF04 + ldr r0, _0806D154 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806D158 + str r0, [r1] +_0806D14A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806D150: .4byte 0x02001000 +_0806D154: .4byte 0x03004b20 +_0806D158: .4byte sub_806D15C + thumb_func_end sub_806D118 + + thumb_func_start sub_806D15C +sub_806D15C: @ 806D15C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806D098 + ldr r0, _0806D188 + ldr r1, [r0, 0x8] + ldr r0, _0806D18C + cmp r1, r0 + bne _0806D182 + ldr r0, _0806D190 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806D194 + str r0, [r1] +_0806D182: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806D188: .4byte 0x02001000 +_0806D18C: .4byte 0x000b000b +_0806D190: .4byte 0x03004b20 +_0806D194: .4byte sub_806D198 + thumb_func_end sub_806D15C + + thumb_func_start sub_806D198 +sub_806D198: @ 806D198 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r10, r0 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r4, _0806D364 + ldrb r0, [r4] + ldrb r1, [r4, 0x5] + ldrb r2, [r4, 0x4] + bl sub_806DE50 + ldrb r0, [r4] + ldrb r1, [r4, 0x6] + ldrb r2, [r4, 0x3] + bl sub_806DE50 + bl battle_type_is_double + ldr r5, _0806D368 + ldrb r1, [r4, 0x3] + lsls r3, r1, 4 + adds r3, r1 + lsls r3, 2 + adds r3, r5 + ldr r6, _0806D36C + ldrb r2, [r4, 0x6] + lsls r2, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r2, r1 + adds r2, r6 + ldrb r0, [r2] + movs r1, 0 + mov r8, r1 + strh r0, [r3, 0x20] + bl battle_type_is_double + ldrb r1, [r4, 0x3] + lsls r3, r1, 4 + adds r3, r1 + lsls r3, 2 + adds r3, r5 + ldrb r2, [r4, 0x6] + lsls r2, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r2, r1 + adds r2, r6 + ldrb r0, [r2, 0x1] + strh r0, [r3, 0x22] + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + mov r1, r8 + strh r1, [r0, 0x24] + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + mov r1, r8 + strh r1, [r0, 0x26] + ldrb r1, [r4, 0x3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + movs r1, 0x1C + adds r1, r5 + mov r9, r1 + add r0, r9 + ldr r7, _0806D370 + str r7, [r0] + bl battle_type_is_double + ldrb r1, [r4, 0x4] + lsls r3, r1, 4 + adds r3, r1 + lsls r3, 2 + adds r3, r5 + ldrb r2, [r4, 0x5] + lsls r2, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r2, r1 + adds r2, r6 + ldrb r0, [r2] + strh r0, [r3, 0x20] + bl battle_type_is_double + ldrb r1, [r4, 0x4] + lsls r3, r1, 4 + adds r3, r1 + lsls r3, 2 + adds r3, r5 + ldrb r2, [r4, 0x5] + lsls r2, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r2, r1 + adds r2, r6 + ldrb r0, [r2, 0x1] + strh r0, [r3, 0x22] + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + mov r1, r8 + strh r1, [r0, 0x24] + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + mov r1, r8 + strh r1, [r0, 0x26] + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + str r7, [r0] + ldrb r0, [r4] + ldrb r2, [r4, 0x2] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r5 + ldrh r1, [r1, 0x2E] + lsls r1, 24 + lsrs r1, 24 + bl sub_806DDA0 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + add r1, r9 + ldr r0, _0806D374 + str r0, [r1] + ldrb r0, [r4, 0x5] + movs r6, 0x64 + muls r0, r6 + ldr r5, _0806D378 + adds r0, r5 + ldrb r1, [r4, 0x6] + muls r1, r6 + adds r1, r5 + bl sub_806E6F0 + ldrb r0, [r4, 0x5] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl sub_806E2C0 + ldrb r0, [r4, 0x5] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl sub_806E07C + ldrb r0, [r4, 0x5] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl sub_806E4E8 + ldrb r0, [r4, 0x5] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl nullsub_12 + ldrb r0, [r4, 0x6] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl sub_806E2C0 + ldrb r0, [r4, 0x6] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl sub_806E07C + ldrb r0, [r4, 0x6] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl sub_806E4E8 + ldrb r0, [r4, 0x6] + adds r1, r0, 0 + muls r1, r6 + adds r1, r5 + bl nullsub_12 + bl sub_806E6C8 + mov r0, r10 + bl sub_806CC74 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806D364: .4byte 0x02001000 +_0806D368: .4byte 0x02020004 +_0806D36C: .4byte gUnknown_08376678 +_0806D370: .4byte sub_806DA38 +_0806D374: .4byte sub_806DA0C +_0806D378: .4byte 0x03004360 + thumb_func_end sub_806D198 + + thumb_func_start sub_806D37C +sub_806D37C: @ 806D37C + push {r4,lr} + adds r4, r0, 0 + bl sub_809D638 + ldrh r2, [r4, 0x24] + movs r0, 0x24 + ldrsh r1, [r4, r0] + movs r3, 0x32 + ldrsh r0, [r4, r3] + cmp r1, r0 + bne _0806D3A8 + movs r1, 0x2E + ldrsh r0, [r4, r1] + negs r0, r0 + movs r1, 0 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x32] + ldr r0, _0806D3A4 + str r0, [r4, 0x1C] + b _0806D3AE + .align 2, 0 +_0806D3A4: .4byte sub_806DA38 +_0806D3A8: + ldrh r0, [r4, 0x2E] + adds r0, r2, r0 + strh r0, [r4, 0x24] +_0806D3AE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_806D37C + + thumb_func_start sub_806D3B4 +sub_806D3B4: @ 806D3B4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r1, 0 + lsls r0, 24 + lsrs r7, r0, 24 + lsls r4, 16 + lsrs r4, 16 + lsls r2, 16 + lsrs r2, 16 + mov r8, r2 + ldr r6, _0806D438 + ldr r1, _0806D43C + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0x8] + ldrb r1, [r6, 0x2] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0x3] + bl sub_806BA34 + ldrh r0, [r5, 0x8] + ldrb r1, [r6, 0x8] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0x9] + bl sub_806BB3C + ldrh r0, [r5, 0x8] + ldrb r1, [r6, 0xA] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0xB] + bl sub_806BB3C + ldrh r1, [r5, 0x8] + subs r1, 0x1 + strh r1, [r5, 0x8] + ldrb r0, [r6, 0x2] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0x3] + movs r2, 0x4 + bl sub_806B9A4 + cmp r4, 0 + beq _0806D440 + ldrh r0, [r5, 0x8] + ldrb r1, [r6, 0x8] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0x9] + movs r2, 0 + movs r3, 0x4 + bl sub_806BA94 + b _0806D454 + .align 2, 0 +_0806D438: .4byte gUnknown_083769C0 +_0806D43C: .4byte 0x03004b20 +_0806D440: + ldrh r0, [r5, 0x8] + ldrb r1, [r6, 0x8] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0x9] + movs r2, 0x1 + movs r3, 0x4 + bl sub_806BA94 +_0806D454: + mov r0, r8 + cmp r0, 0 + beq _0806D480 + ldr r1, _0806D47C + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x8] + ldrb r1, [r6, 0xA] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0xB] + movs r2, 0 + movs r3, 0x4 + bl sub_806BA94 + b _0806D49E + .align 2, 0 +_0806D47C: .4byte 0x03004b20 +_0806D480: + ldr r1, _0806D4A8 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x8] + ldrb r1, [r6, 0xA] + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + ldrb r1, [r6, 0xB] + movs r2, 0x1 + movs r3, 0x4 + bl sub_806BA94 +_0806D49E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806D4A8: .4byte 0x03004b20 + thumb_func_end sub_806D3B4 + + thumb_func_start sub_806D4AC +sub_806D4AC: @ 806D4AC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r1, 16 + lsls r2, 24 + lsrs r2, 24 + cmp r1, 0 + beq _0806D4F6 + adds r1, r2, 0x3 + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl sub_806DDA0 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806D4FC + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r4, r1, r2 + ldr r0, _0806D500 + strh r0, [r4, 0x2E] + ldr r3, _0806D504 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r3 + movs r3, 0x8 + ldrsh r0, [r0, r3] + lsls r0, 3 + negs r0, r0 + strh r0, [r4, 0x32] + adds r2, 0x1C + adds r1, r2 + ldr r0, _0806D508 + str r0, [r1] +_0806D4F6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806D4FC: .4byte 0x02020004 +_0806D500: .4byte 0x0000fff8 +_0806D504: .4byte 0x03004b20 +_0806D508: .4byte sub_806D37C + thumb_func_end sub_806D4AC + + thumb_func_start sub_806D50C +sub_806D50C: @ 806D50C + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + bl sub_806DDA0 + ldr r2, _0806D534 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x20] + adds r0, 0xF0 + strh r0, [r1, 0x20] + pop {r0} + bx r0 + .align 2, 0 +_0806D534: .4byte 0x02020004 + thumb_func_end sub_806D50C + + thumb_func_start sub_806D538 +sub_806D538: @ 806D538 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r1, 24 + adds r0, r1, 0 + cmp r4, 0xFF + beq _0806D59A + cmp r1, 0x1 + beq _0806D568 + cmp r1, 0x1 + bgt _0806D556 + cmp r1, 0 + beq _0806D560 + b _0806D58A +_0806D556: + cmp r0, 0x2 + beq _0806D570 + cmp r0, 0x3 + beq _0806D57E + b _0806D58A +_0806D560: + movs r0, 0 + movs r1, 0x10 + movs r2, 0x17 + b _0806D576 +_0806D568: + movs r0, 0 + movs r1, 0x10 + movs r2, 0x13 + b _0806D576 +_0806D570: + movs r0, 0 + movs r1, 0x10 + movs r2, 0x16 +_0806D576: + movs r3, 0x13 + bl MenuDrawTextWindow + b _0806D58A +_0806D57E: + movs r0, 0 + movs r1, 0x10 + movs r2, 0x12 + movs r3, 0x13 + bl MenuDrawTextWindow +_0806D58A: + ldr r0, _0806D5A0 + lsls r1, r4, 2 + adds r1, r0 + ldr r0, [r1] + movs r1, 0x1 + movs r2, 0x11 + bl MenuPrint +_0806D59A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806D5A0: .4byte gUnknown_08376624 + thumb_func_end sub_806D538 + + thumb_func_start sub_806D5A4 +sub_806D5A4: @ 806D5A4 + push {lr} + movs r0, 0 + movs r1, 0x10 + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + pop {r0} + bx r0 + thumb_func_end sub_806D5A4 + + thumb_func_start sub_806D5B8 +sub_806D5B8: @ 806D5B8 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + sub sp, 0x8 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r6, _0806D658 + bl battle_type_is_double + lsls r4, r5, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r4, r1 + adds r1, r6 + ldrb r1, [r1] + mov r10, r1 + bl battle_type_is_double + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r4, r1 + adds r1, r6 + ldrb r1, [r1, 0x1] + mov r9, r1 + bl battle_type_is_double + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r4, r1 + adds r1, r6 + ldrb r1, [r1, 0x2] + mov r8, r1 + bl battle_type_is_double + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r4, r1 + adds r4, r6 + ldrb r1, [r4, 0x3] + ldr r0, _0806D65C + str r1, [sp] + mov r1, r10 + mov r2, r9 + mov r3, r8 + bl ZeroFillWindowRect + movs r0, 0 + str r0, [sp, 0x4] + lsls r5, 10 + ldr r0, _0806D660 + adds r5, r0 + ldr r2, _0806D664 + add r0, sp, 0x4 + adds r1, r5, 0 + bl CpuFastSet + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806D658: .4byte gUnknown_08376948 +_0806D65C: .4byte 0x03004210 +_0806D660: .4byte 0x06014000 +_0806D664: .4byte 0x01000100 + thumb_func_end sub_806D5B8 + + thumb_func_start sub_806D668 +sub_806D668: @ 806D668 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + sub sp, 0x8 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r6, _0806D708 + bl battle_type_is_double + lsls r4, r5, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r4, r1 + adds r1, r6 + ldrb r1, [r1] + mov r10, r1 + bl battle_type_is_double + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r4, r1 + adds r1, r6 + ldrb r1, [r1, 0x1] + mov r9, r1 + bl battle_type_is_double + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r1, r4, r1 + adds r1, r6 + ldrb r1, [r1, 0x2] + mov r8, r1 + bl battle_type_is_double + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r4, r1 + adds r4, r6 + ldrb r1, [r4, 0x3] + ldr r0, _0806D70C + str r1, [sp] + mov r1, r10 + mov r2, r9 + mov r3, r8 + bl ZeroFillWindowRect + movs r0, 0 + str r0, [sp, 0x4] + lsls r5, 10 + ldr r0, _0806D710 + adds r5, r0 + ldr r2, _0806D714 + add r0, sp, 0x4 + adds r1, r5, 0 + bl CpuFastSet + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806D708: .4byte gUnknown_08376978 +_0806D70C: .4byte 0x03004210 +_0806D710: .4byte 0x06014300 +_0806D714: .4byte 0x01000040 + thumb_func_end sub_806D668 + + thumb_func_start sub_806D718 +sub_806D718: @ 806D718 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _0806D7C4 + mov r0, sp + strh r1, [r0] + movs r5, 0 + cmp r4, 0x1 + bhi _0806D736 + ldr r0, _0806D7C8 + movs r1, 0xC0 + lsls r1, 19 + bl LZDecompressVram +_0806D736: + cmp r4, 0x2 + beq _0806D73E + cmp r4, 0 + bne _0806D746 +_0806D73E: + ldr r0, _0806D7CC + ldr r1, _0806D7D0 + bl LZDecompressVram +_0806D746: + cmp r4, 0x3 + beq _0806D74E + cmp r4, 0 + bne _0806D75A +_0806D74E: + ldr r0, _0806D7D4 + movs r2, 0xB0 + lsls r2, 1 + movs r1, 0 + bl LoadCompressedPalette +_0806D75A: + cmp r4, 0x4 + beq _0806D762 + cmp r4, 0 + bne _0806D776 +_0806D762: + mov r0, sp + movs r1, 0 + movs r2, 0x2 + bl LoadPalette + ldr r0, _0806D7D8 + movs r1, 0xF0 + movs r2, 0x20 + bl LoadPalette +_0806D776: + cmp r4, 0x5 + beq _0806D77E + cmp r4, 0 + bne _0806D786 +_0806D77E: + ldr r0, _0806D7DC + ldr r1, _0806D7E0 + bl LZDecompressVram +_0806D786: + cmp r4, 0x6 + beq _0806D78E + cmp r4, 0 + bne _0806D796 +_0806D78E: + ldr r0, _0806D7E4 + ldr r1, _0806D7E8 + bl LZDecompressVram +_0806D796: + cmp r4, 0x7 + beq _0806D79E + cmp r4, 0 + bne _0806D7A6 +_0806D79E: + ldr r0, _0806D7EC + ldr r1, _0806D7F0 + bl LZDecompressVram +_0806D7A6: + cmp r4, 0x8 + beq _0806D7AE + cmp r4, 0 + bne _0806D7BA +_0806D7AE: + ldr r0, _0806D7F4 + movs r1, 0xB0 + movs r2, 0x20 + bl LoadCompressedPalette + movs r5, 0x1 +_0806D7BA: + adds r0, r5, 0 + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0806D7C4: .4byte 0x00007fff +_0806D7C8: .4byte gPartyMenuMisc_Gfx +_0806D7CC: .4byte gPartyMenuMisc_Tilemap +_0806D7D0: .4byte 0x06003800 +_0806D7D4: .4byte gPartyMenuMisc_Pal +_0806D7D8: .4byte gFontDefaultPalette +_0806D7DC: .4byte gPartyMenuHpBar_Gfx +_0806D7E0: .4byte 0x06006000 +_0806D7E4: .4byte gPartyMenuOrderText_Gfx +_0806D7E8: .4byte 0x06006180 +_0806D7EC: .4byte gStatusGfx_Icons +_0806D7F0: .4byte 0x06007180 +_0806D7F4: .4byte gStatusPal_Icons + thumb_func_end sub_806D718 + + thumb_func_start sub_806D7F8 +sub_806D7F8: @ 806D7F8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 16 + lsls r2, 16 + lsrs r5, r1, 16 + asrs r1, 16 + lsrs r4, r2, 16 + asrs r2, 16 + adds r0, r1, 0 + adds r1, r2, 0 + bl sub_8046200 + lsls r0, 24 + lsrs r0, 24 + movs r2, 0 + cmp r5, r4 + beq _0806D830 + movs r2, 0x1 + cmp r0, 0x3 + beq _0806D830 + movs r2, 0x2 + cmp r0, 0x2 + beq _0806D830 + movs r2, 0x4 + cmp r0, 0x1 + bne _0806D830 + movs r2, 0x3 +_0806D830: + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + ldr r1, _0806D848 + adds r0, r1 + adds r1, r2, 0 + bl sub_809D824 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806D848: .4byte 0x02020004 + thumb_func_end sub_806D7F8 + + thumb_func_start sub_806D84C +sub_806D84C: @ 806D84C + push {r4-r6,lr} + adds r5, r0, 0 + adds r6, r1, 0 + lsls r5, 24 + lsrs r5, 24 + adds r0, r6, 0 + movs r1, 0x39 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r6, 0 + movs r1, 0x3A + bl GetMonData + adds r2, r0, 0 + lsls r2, 16 + lsrs r2, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_806D7F8 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806D84C + + thumb_func_start sub_806D880 +sub_806D880: @ 806D880 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + sub sp, 0x8 + adds r6, r0, 0 + adds r5, r1, 0 + mov r8, r3 + lsls r6, 24 + lsrs r6, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r2, 24 + lsrs r2, 24 + ldr r3, _0806D904 + lsls r1, r5, 2 + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] + mov r9, r0 + ldrb r1, [r1, 0x1] + mov r10, r1 + mov r0, r8 + movs r1, 0x41 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0 + bl GetMonData + ldr r1, _0806D908 + movs r2, 0x5 + str r2, [sp] + str r0, [sp, 0x4] + adds r0, r4, 0 + mov r2, r9 + mov r3, r10 + bl sub_809D2FC + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r6, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_806DE50 + adds r0, r4, 0 + mov r1, r8 + bl sub_806D84C + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806D904: .4byte gUnknown_08376678 +_0806D908: .4byte sub_809D62C + thumb_func_end sub_806D880 + + thumb_func_start sub_806D90C +sub_806D90C: @ 806D90C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r2, 0 + lsls r0, 24 + lsrs r6, r0, 24 + mov r8, r6 + lsls r1, 24 + lsrs r5, r1, 24 + adds r7, r5, 0 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806D95A + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806D946 + adds r0, r6, 0 + adds r1, r5, 0 + movs r2, 0x2 + adds r3, r4, 0 + bl sub_806D880 + b _0806D95A +_0806D946: + bl battle_type_is_double + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + mov r0, r8 + adds r1, r7, 0 + adds r3, r4, 0 + bl sub_806D880 +_0806D95A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806D90C + + thumb_func_start unref_sub_806D964 +unref_sub_806D964: @ 806D964 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + b _0806D986 +_0806D96E: + movs r0, 0x64 + adds r2, r4, 0 + muls r2, r0 + ldr r0, _0806D994 + adds r2, r0 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_806D90C + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 +_0806D986: + ldr r0, _0806D998 + ldrb r0, [r0] + cmp r4, r0 + bcc _0806D96E + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806D994: .4byte 0x03004360 +_0806D998: .4byte 0x03004350 + thumb_func_end unref_sub_806D964 + + thumb_func_start sub_806D99C +sub_806D99C: @ 806D99C + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + adds r6, r0, 0 + adds r5, r1, 0 + mov r8, r3 + lsls r6, 24 + lsrs r6, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r2, 24 + lsrs r2, 24 + ldr r3, _0806DA04 + lsls r1, r5, 2 + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + adds r1, r3 + ldrb r2, [r1] + ldrb r3, [r1, 0x1] + mov r1, r8 + ldrh r0, [r1] + ldr r1, _0806DA08 + movs r4, 0x5 + str r4, [sp] + mov r7, r8 + ldr r4, [r7, 0x18] + str r4, [sp, 0x4] + bl sub_809D2FC + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r6, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_806DE50 + ldrh r1, [r7, 0x10] + ldrh r2, [r7, 0x12] + adds r0, r4, 0 + bl sub_806D7F8 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806DA04: .4byte gUnknown_08376678 +_0806DA08: .4byte sub_809D62C + thumb_func_end sub_806D99C + + thumb_func_start sub_806DA0C +sub_806DA0C: @ 806DA0C + push {r4,lr} + adds r4, r0, 0 + bl sub_809D638 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _0806DA32 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0806DA30 + ldr r0, _0806DA2C + strh r0, [r4, 0x26] + b _0806DA32 + .align 2, 0 +_0806DA2C: .4byte 0x0000fffd +_0806DA30: + strh r1, [r4, 0x26] +_0806DA32: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_806DA0C + + thumb_func_start sub_806DA38 +sub_806DA38: @ 806DA38 + push {lr} + bl sub_809D638 + pop {r0} + bx r0 + thumb_func_end sub_806DA38 + + thumb_func_start sub_806DA44 +sub_806DA44: @ 806DA44 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + cmp r1, 0x5 + bhi _0806DA8E + bl sub_806DDA0 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _0806DA7C + lsls r1, r0, 4 + adds r1, r0 + lsls r2, r1, 2 + adds r1, r2, r3 + movs r0, 0 + strh r0, [r1, 0x26] + strh r0, [r1, 0x2E] + cmp r4, 0 + bne _0806DA84 + adds r0, r3, 0 + adds r0, 0x1C + adds r0, r2, r0 + ldr r1, _0806DA80 + b _0806DA8C + .align 2, 0 +_0806DA7C: .4byte 0x02020004 +_0806DA80: .4byte sub_806DA38 +_0806DA84: + adds r0, r3, 0 + adds r0, 0x1C + adds r0, r2, r0 + ldr r1, _0806DA94 +_0806DA8C: + str r1, [r0] +_0806DA8E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806DA94: .4byte sub_806DA0C + thumb_func_end sub_806DA44 + + thumb_func_start sub_806DA98 +sub_806DA98: @ 806DA98 + push {lr} + ldr r0, _0806DAAC + bl LoadSpriteSheet + ldr r0, _0806DAB0 + bl LoadSpritePalette + pop {r0} + bx r0 + .align 2, 0 +_0806DAAC: .4byte gUnknown_083765DC +_0806DAB0: .4byte gUnknown_083765E4 + thumb_func_end sub_806DA98 + + thumb_func_start sub_806DAB4 +sub_806DAB4: @ 806DAB4 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x3C] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _0806DAE4 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, r0, r2 + adds r0, r2, 0 + adds r0, 0x3E + ldrb r0, [r0] + lsls r0, 29 + cmp r0, 0 + bge _0806DAE8 + adds r0, r4, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _0806DB06 + .align 2, 0 +_0806DAE4: .4byte 0x02020004 +_0806DAE8: + adds r3, r4, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r3] + ldrh r0, [r2, 0x24] + ldrh r1, [r2, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r2, 0x26] + ldrh r2, [r2, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] +_0806DB06: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_806DAB4 + + thumb_func_start sub_806DB0C +sub_806DB0C: @ 806DB0C + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + adds r6, r0, 0 + mov r9, r1 + lsls r6, 24 + lsrs r6, 24 + mov r0, r9 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r0, _0806DB84 + mov r8, r0 + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + add r0, r8 + adds r0, 0x43 + ldrb r3, [r0] + ldr r0, _0806DB88 + subs r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + movs r1, 0xFA + movs r2, 0xAA + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + mov r0, r8 + adds r5, r4, r0 + movs r0, 0x4 + strh r0, [r5, 0x24] + movs r0, 0xA + strh r0, [r5, 0x26] + movs r0, 0x1C + add r8, r0 + add r4, r8 + ldr r0, _0806DB8C + str r0, [r4] + strh r6, [r5, 0x3C] + adds r0, r5, 0 + mov r1, r9 + bl StartSpriteAnim + ldr r1, [r4] + adds r0, r5, 0 + bl _call_via_r1 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806DB84: .4byte 0x02020004 +_0806DB88: .4byte gSpriteTemplate_837660C +_0806DB8C: .4byte sub_806DAB4 + thumb_func_end sub_806DB0C + + thumb_func_start sub_806DB90 +sub_806DB90: @ 806DB90 + push {r4-r7,lr} + adds r6, r0, 0 + adds r7, r1, 0 + lsls r2, 24 + lsrs r2, 24 + cmp r2, 0 + beq _0806DBA4 + cmp r2, 0x1 + beq _0806DBEC + b _0806DC28 +_0806DBA4: + movs r5, 0 + ldrb r0, [r6] + cmp r5, r0 + bcs _0806DC28 +_0806DBAC: + movs r0, 0x64 + muls r0, r5 + ldr r1, _0806DBE8 + adds r0, r1 + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0 + beq _0806DBD8 + adds r0, r7, r5 + ldrb r4, [r0] + adds r0, r1, 0 + bl itemid_is_mail + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_806DB0C +_0806DBD8: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + ldrb r0, [r6] + cmp r5, r0 + bcc _0806DBAC + b _0806DC28 + .align 2, 0 +_0806DBE8: .4byte 0x03004360 +_0806DBEC: + movs r5, 0 + b _0806DC22 +_0806DBF0: + movs r0, 0x64 + muls r0, r5 + ldr r1, _0806DC30 + adds r0, r1 + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0 + beq _0806DC1C + adds r0, r5, r7 + ldrb r4, [r0, 0x6] + adds r0, r1, 0 + bl itemid_is_mail + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_806DB0C +_0806DC1C: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 +_0806DC22: + ldrb r0, [r6, 0x1] + cmp r5, r0 + bcc _0806DBF0 +_0806DC28: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806DC30: .4byte 0x030045c0 + thumb_func_end sub_806DB90 + + thumb_func_start sub_806DC34 +sub_806DC34: @ 806DC34 + 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 + movs r7, 0 + ldr r0, _0806DCC8 + mov r9, r0 + movs r1, 0x1C + add r1, r9 + mov r10, r1 +_0806DC50: + movs r0, 0x64 + muls r0, r7 + ldr r1, _0806DCCC + adds r0, r1 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806DCB0 + mov r0, r8 + adds r1, r7, 0 + bl sub_806DDA0 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _0806DCD0 + movs r1, 0xFA + movs r2, 0xAA + movs r3, 0x4 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + mov r1, r9 + adds r6, r4, r1 + movs r1, 0x4 + strh r1, [r6, 0x24] + movs r1, 0xA + strh r1, [r6, 0x26] + strh r5, [r6, 0x3C] + lsls r1, r5, 4 + adds r1, r5 + lsls r1, 2 + add r1, r9 + strh r0, [r1, 0x3C] + mov r0, r8 + adds r1, r7, 0 + bl sub_806DF60 + add r4, r10 + ldr r1, [r4] + adds r0, r6, 0 + bl _call_via_r1 +_0806DCB0: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x5 + bls _0806DC50 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806DCC8: .4byte 0x02020004 +_0806DCCC: .4byte 0x03004360 +_0806DCD0: .4byte gSpriteTemplate_837660C + thumb_func_end sub_806DC34 + + thumb_func_start sub_806DCD4 +sub_806DCD4: @ 806DCD4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 16 + lsrs r7, r2, 16 + bl sub_806DDA0 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0806DD2C + movs r1, 0xFA + movs r2, 0xAA + movs r3, 0x4 + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _0806DD30 + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r5, r0, r1 + movs r0, 0x4 + strh r0, [r5, 0x24] + movs r0, 0xA + strh r0, [r5, 0x26] + strh r4, [r5, 0x3C] + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + strh r6, [r0, 0x3C] + cmp r7, 0 + bne _0806DD34 + adds r0, r5, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _0806DD5C + .align 2, 0 +_0806DD2C: .4byte gSpriteTemplate_837660C +_0806DD30: .4byte 0x02020004 +_0806DD34: + adds r0, r7, 0 + bl itemid_is_mail + lsls r0, 24 + cmp r0, 0 + beq _0806DD46 + adds r0, r5, 0 + movs r1, 0x1 + b _0806DD4A +_0806DD46: + adds r0, r5, 0 + movs r1, 0 +_0806DD4A: + bl StartSpriteAnim + adds r2, r5, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_0806DD5C: + ldr r2, _0806DD78 + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r1, r2, 0 + adds r1, 0x1C + adds r1, r0, r1 + adds r0, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806DD78: .4byte 0x02020004 + thumb_func_end sub_806DCD4 + + thumb_func_start sub_806DD7C +sub_806DD7C: @ 806DD7C + ldrh r2, [r0, 0x3C] + lsls r2, 24 + lsrs r2, 24 + ldr r3, _0806DD9C + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r3 + ldrh r2, [r1, 0x24] + ldrh r3, [r1, 0x20] + adds r2, r3 + strh r2, [r0, 0x20] + ldrh r1, [r1, 0x22] + strh r1, [r0, 0x22] + bx lr + .align 2, 0 +_0806DD9C: .4byte 0x02020004 + thumb_func_end sub_806DD7C + + thumb_func_start sub_806DDA0 +sub_806DDA0: @ 806DDA0 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r1, 24 + lsrs r0, r1, 24 + cmp r0, 0x5 + bhi _0806DE38 + lsls r0, 2 + ldr r1, _0806DDB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806DDB8: .4byte _0806DDBC + .align 2, 0 +_0806DDBC: + .4byte _0806DE38 + .4byte _0806DDD4 + .4byte _0806DDE8 + .4byte _0806DDFC + .4byte _0806DE10 + .4byte _0806DE24 +_0806DDD4: + ldr r0, _0806DDE4 + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrb r0, [r1, 0x8] + b _0806DE46 + .align 2, 0 +_0806DDE4: .4byte 0x03004b20 +_0806DDE8: + ldr r0, _0806DDF8 + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xA] + b _0806DE44 + .align 2, 0 +_0806DDF8: .4byte 0x03004b20 +_0806DDFC: + ldr r0, _0806DE0C + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrb r0, [r1, 0xA] + b _0806DE46 + .align 2, 0 +_0806DE0C: .4byte 0x03004b20 +_0806DE10: + ldr r0, _0806DE20 + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xC] + b _0806DE44 + .align 2, 0 +_0806DE20: .4byte 0x03004b20 +_0806DE24: + ldr r0, _0806DE34 + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrb r0, [r1, 0xC] + b _0806DE46 + .align 2, 0 +_0806DE34: .4byte 0x03004b20 +_0806DE38: + ldr r0, _0806DE4C + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] +_0806DE44: + lsrs r0, 8 +_0806DE46: + pop {r1} + bx r1 + .align 2, 0 +_0806DE4C: .4byte 0x03004b20 + thumb_func_end sub_806DDA0 + + thumb_func_start sub_806DE50 +sub_806DE50: @ 806DE50 + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + lsls r1, 24 + lsrs r0, r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + cmp r0, 0x5 + bhi _0806DF24 + lsls r0, 2 + ldr r1, _0806DE6C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806DE6C: .4byte _0806DE70 + .align 2, 0 +_0806DE70: + .4byte _0806DE88 + .4byte _0806DEA0 + .4byte _0806DEC0 + .4byte _0806DED8 + .4byte _0806DEF8 + .4byte _0806DF10 +_0806DE88: + ldr r1, _0806DE9C + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0x8] + lsls r2, r4, 8 + orrs r1, r2 + strh r1, [r0, 0x8] + b _0806DF24 + .align 2, 0 +_0806DE9C: .4byte 0x03004b20 +_0806DEA0: + ldr r0, _0806DEB8 + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 3 + adds r1, r0 + ldrh r2, [r1, 0x8] + ldr r0, _0806DEBC + ands r0, r2 + orrs r0, r4 + strh r0, [r1, 0x8] + b _0806DF24 + .align 2, 0 +_0806DEB8: .4byte 0x03004b20 +_0806DEBC: .4byte 0xffffff00 +_0806DEC0: + ldr r1, _0806DED4 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0xA] + lsls r2, r4, 8 + orrs r1, r2 + strh r1, [r0, 0xA] + b _0806DF24 + .align 2, 0 +_0806DED4: .4byte 0x03004b20 +_0806DED8: + ldr r0, _0806DEF0 + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 3 + adds r1, r0 + ldrh r2, [r1, 0xA] + ldr r0, _0806DEF4 + ands r0, r2 + orrs r0, r4 + strh r0, [r1, 0xA] + b _0806DF24 + .align 2, 0 +_0806DEF0: .4byte 0x03004b20 +_0806DEF4: .4byte 0xffffff00 +_0806DEF8: + ldr r1, _0806DF0C + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0xC] + lsls r2, r4, 8 + orrs r1, r2 + strh r1, [r0, 0xC] + b _0806DF24 + .align 2, 0 +_0806DF0C: .4byte 0x03004b20 +_0806DF10: + ldr r0, _0806DF2C + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 3 + adds r1, r0 + ldrh r2, [r1, 0xC] + ldr r0, _0806DF30 + ands r0, r2 + orrs r0, r4 + strh r0, [r1, 0xC] +_0806DF24: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806DF2C: .4byte 0x03004b20 +_0806DF30: .4byte 0xffffff00 + thumb_func_end sub_806DE50 + + thumb_func_start sub_806DF34 +sub_806DF34: @ 806DF34 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + bl sub_806DDA0 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806DF5C + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x3C] + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_0806DF5C: .4byte 0x02020004 + thumb_func_end sub_806DF34 + + thumb_func_start sub_806DF60 +sub_806DF60: @ 806DF60 + push {r4-r6,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 24 + lsrs r4, 24 + adds r1, r4, 0 + bl sub_806DF34 + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + movs r0, 0x64 + adds r1, r4, 0 + muls r1, r0 + ldr r0, _0806DFA4 + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0xC + bl GetMonData + cmp r0, 0 + bne _0806DFAC + ldr r1, _0806DFA8 + 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] + b _0806DFF6 + .align 2, 0 +_0806DFA4: .4byte 0x03004360 +_0806DFA8: .4byte 0x02020004 +_0806DFAC: + adds r0, r4, 0 + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + bl itemid_is_mail + lsls r0, 24 + cmp r0, 0 + beq _0806DFD8 + lsls r4, r5, 4 + adds r4, r5 + lsls r4, 2 + ldr r0, _0806DFD4 + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x1 + b _0806DFE6 + .align 2, 0 +_0806DFD4: .4byte 0x02020004 +_0806DFD8: + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + ldr r0, _0806DFFC + adds r4, r0 + adds r0, r4, 0 + movs r1, 0 +_0806DFE6: + bl StartSpriteAnim + adds r4, 0x3E + ldrb r1, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r4] +_0806DFF6: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806DFFC: .4byte 0x02020004 + thumb_func_end sub_806DF60 + + thumb_func_start box_print +box_print: @ 806E000 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r6, r2, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + str r0, [sp] + ldr r5, _0806E040 + ldr r2, _0806E044 + mov r0, sp + adds r1, r5, 0 + bl CpuFastSet + ldr r0, _0806E048 + adds r1, r5, 0 + adds r2, r6, 0 + bl sub_8004E3C + lsls r4, 10 + ldr r0, _0806E04C + adds r4, r0 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x80 + bl CpuFastSet + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E040: .4byte 0x02039360 +_0806E044: .4byte 0x01000100 +_0806E048: .4byte gWindowConfig_81E6CAC +_0806E04C: .4byte 0x06014000 + thumb_func_end box_print + + thumb_func_start sub_806E050 +sub_806E050: @ 806E050 + push {r4,r5,lr} + sub sp, 0xC + adds r4, r0, 0 + adds r5, r1, 0 + adds r0, r2, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + mov r1, sp + bl GetMonNickname + adds r0, r4, 0 + adds r1, r5, 0 + mov r2, sp + bl box_print + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_806E050 + + thumb_func_start sub_806E07C +sub_806E07C: @ 806E07C + push {r4-r6,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806E0BC + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806E0AA + adds r0, r5, 0 + movs r1, 0x2 + adds r2, r4, 0 + bl sub_806E050 + b _0806E0BC +_0806E0AA: + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r6, 0 + adds r2, r4, 0 + bl sub_806E050 +_0806E0BC: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806E07C + + thumb_func_start sub_806E0C4 +sub_806E0C4: @ 806E0C4 + push {r4-r6,lr} + movs r4, 0 + movs r6, 0x64 + ldr r5, _0806E0E8 +_0806E0CC: + adds r1, r4, 0 + muls r1, r6 + adds r1, r5 + adds r0, r4, 0 + bl sub_806E07C + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _0806E0CC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E0E8: .4byte 0x03004360 + thumb_func_end sub_806E0C4 + + thumb_func_start GetMonNickname +GetMonNickname: @ 806E0EC + push {r4,lr} + adds r4, r1, 0 + movs r1, 0x2 + adds r2, r4, 0 + bl GetMonData + adds r0, r4, 0 + bl StringGetEnd10 + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetMonNickname + + thumb_func_start sub_806E104 +sub_806E104: @ 806E104 + push {r4,r5,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r1, 24 + ldr r4, _0806E15C + lsrs r0, 22 + lsls r3, r1, 1 + adds r3, r1 + lsls r3, 3 + adds r0, r3 + adds r0, r4 + ldrb r1, [r0] + subs r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + ldrb r0, [r0, 0x1] + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 19 + adds r1, r0 + lsls r1, 1 + ldr r0, _0806E160 + adds r4, r1, r0 + lsls r2, 26 + lsrs r2, 24 + movs r3, 0 + movs r0, 0xC6 + lsls r0, 1 + adds r2, r0 + ldr r0, _0806E164 + adds r5, r0, 0 +_0806E142: + lsls r0, r3, 1 + adds r0, r4 + adds r1, r2, r3 + orrs r1, r5 + strh r1, [r0] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x3 + bls _0806E142 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806E15C: .4byte gUnknown_08376738 +_0806E160: .4byte 0x0600f000 +_0806E164: .4byte 0xffffb000 + thumb_func_end sub_806E104 + + thumb_func_start sub_806E168 +sub_806E168: @ 806E168 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806E17E + movs r3, 0x2 + b _0806E186 +_0806E17E: + bl battle_type_is_double + lsls r0, 24 + lsrs r3, r0, 24 +_0806E186: + ldr r1, _0806E1C8 + lsls r2, r4, 2 + lsls r0, r3, 1 + adds r0, r3 + lsls r0, 3 + adds r2, r0 + adds r2, r1 + ldrb r1, [r2] + subs r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + ldrb r0, [r2, 0x1] + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 19 + adds r1, r0 + lsls r1, 1 + ldr r0, _0806E1CC + adds r1, r0 + movs r3, 0 + movs r2, 0 +_0806E1B0: + lsls r0, r3, 1 + adds r0, r1 + strh r2, [r0] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x3 + bls _0806E1B0 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806E1C8: .4byte gUnknown_08376738 +_0806E1CC: .4byte 0x0600f000 + thumb_func_end sub_806E168 + + thumb_func_start sub_806E1D0 +sub_806E1D0: @ 806E1D0 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 19 + adds r1, r2 + lsls r1, 1 + ldr r2, _0806E1F0 + adds r1, r2 + movs r2, 0x86 + lsls r2, 1 + adds r0, r2 + strh r0, [r1] + bx lr + .align 2, 0 +_0806E1F0: .4byte 0x0600f000 + thumb_func_end sub_806E1D0 + + thumb_func_start sub_806E1F4 +sub_806E1F4: @ 806E1F4 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r2, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r5, 24 + lsrs r5, 24 + ldr r3, _0806E278 + lsls r2, r4, 2 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r2, r3 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + subs r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + adds r2, 0x1 + lsls r2, 24 + lsrs r2, 24 + movs r0, 0x40 + bl sub_806E1D0 + ldr r6, _0806E27C + movs r0, 0xFC + strb r0, [r6] + movs r0, 0x12 + strb r0, [r6, 0x1] + movs r0, 0x8 + strb r0, [r6, 0x2] + adds r0, r6, 0x3 + adds r1, r5, 0 + bl ConvertIntToDecimalString + movs r0, 0 + str r0, [sp] + ldr r5, _0806E280 + ldr r2, _0806E284 + mov r0, sp + adds r1, r5, 0 + bl CpuFastSet + ldr r0, _0806E288 + ldr r2, _0806E28C + adds r1, r5, r2 + adds r2, r6, 0 + bl sub_8004E3C + lsls r4, 10 + ldr r0, _0806E290 + adds r4, r0 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x20 + bl CpuFastSet + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E278: .4byte gUnknown_08376738 +_0806E27C: .4byte 0x020231cc +_0806E280: .4byte 0x02039460 +_0806E284: .4byte 0x01000020 +_0806E288: .4byte gWindowConfig_81E6CAC +_0806E28C: .4byte 0xffffff00 +_0806E290: .4byte 0x06014200 + thumb_func_end sub_806E1F4 + + thumb_func_start sub_806E294 +sub_806E294: @ 806E294 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + adds r0, r2, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x38 + bl GetMonData + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_806E1F4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_806E294 + + thumb_func_start sub_806E2C0 +sub_806E2C0: @ 806E2C0 + push {r4-r7,lr} + adds r5, r1, 0 + lsls r0, 24 + lsrs r7, r0, 24 + adds r0, r5, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806E32E + adds r0, r5, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0806E32E + adds r0, r5, 0 + bl sub_80A1CD8 + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806E2FA + movs r6, 0x2 + b _0806E302 +_0806E2FA: + bl battle_type_is_double + lsls r0, 24 + lsrs r6, r0, 24 +_0806E302: + cmp r4, 0 + beq _0806E31A + cmp r4, 0x6 + beq _0806E31A + subs r2, r4, 0x1 + lsls r2, 24 + lsrs r2, 24 + adds r0, r7, 0 + adds r1, r6, 0 + bl sub_806E104 + b _0806E324 +_0806E31A: + adds r0, r7, 0 + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_806E294 +_0806E324: + adds r0, r7, 0 + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_806E3C0 +_0806E32E: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806E2C0 + + thumb_func_start sub_806E334 +sub_806E334: @ 806E334 + push {r4-r6,lr} + movs r4, 0 + movs r6, 0x64 + ldr r5, _0806E358 +_0806E33C: + adds r1, r4, 0 + muls r1, r6 + adds r1, r5 + adds r0, r4, 0 + bl sub_806E2C0 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _0806E33C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E358: .4byte 0x03004360 + thumb_func_end sub_806E334 + + thumb_func_start sub_806E35C +sub_806E35C: @ 806E35C + push {r4-r7,lr} + ldr r4, [sp, 0x14] + lsls r0, 16 + lsrs r0, 16 + lsls r1, 24 + lsrs r7, r1, 24 + lsls r2, 24 + lsrs r5, r2, 24 + lsls r3, 24 + lsrs r6, r3, 24 + adds r1, r4, 0 + bl sub_8040D8C + cmp r0, 0 + bne _0806E3BA + ldr r2, _0806E3A4 + lsls r1, r6, 2 + lsls r0, r5, 1 + adds r0, r5 + lsls r0, 3 + adds r1, r0 + adds r1, r2 + ldrb r0, [r1] + adds r0, 0x3 + lsls r0, 24 + lsrs r3, r0, 24 + ldrb r0, [r1, 0x1] + adds r0, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r7, 0 + beq _0806E3A8 + cmp r7, 0xFE + beq _0806E3B2 + b _0806E3BA + .align 2, 0 +_0806E3A4: .4byte gUnknown_08376738 +_0806E3A8: + movs r0, 0x42 + adds r1, r3, 0 + bl sub_806E1D0 + b _0806E3BA +_0806E3B2: + movs r0, 0x44 + adds r1, r3, 0 + bl sub_806E1D0 +_0806E3BA: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806E35C + + thumb_func_start sub_806E3C0 +sub_806E3C0: @ 806E3C0 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0x4 + mov r8, r0 + adds r6, r1, 0 + adds r5, r2, 0 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r6, 24 + lsrs r6, 24 + ldr r0, _0806E41C + mov r9, r0 + adds r0, r5, 0 + mov r1, r9 + bl GetMonNickname + adds r0, r5, 0 + movs r1, 0x41 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + bl pokemon_get_gender + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r0, r9 + str r0, [sp] + adds r0, r4, 0 + adds r2, r6, 0 + mov r3, r8 + bl sub_806E35C + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E41C: .4byte 0x020231cc + thumb_func_end sub_806E3C0 + + thumb_func_start sub_806E420 +sub_806E420: @ 806E420 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r1, r2, 0 + adds r5, r3, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 16 + lsrs r1, 16 + lsls r5, 16 + lsrs r5, 16 + ldr r2, _0806E48C + adds r0, r2, 0 + movs r2, 0xF + movs r3, 0x1 + bl sub_8072C14 + adds r2, r0, 0 + movs r0, 0xBA + strb r0, [r2] + adds r2, 0x1 + adds r0, r2, 0 + adds r1, r5, 0 + movs r2, 0x23 + movs r3, 0x1 + bl sub_8072C14 + movs r0, 0 + str r0, [sp] + ldr r5, _0806E490 + ldr r2, _0806E494 + mov r0, sp + adds r1, r5, 0 + bl CpuFastSet + ldr r0, _0806E498 + ldr r2, _0806E49C + adds r1, r5, r2 + ldr r2, _0806E48C + bl sub_8004E3C + lsls r4, 10 + ldr r0, _0806E4A0 + adds r4, r0 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x40 + bl CpuFastSet + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806E48C: .4byte 0x020231cc +_0806E490: .4byte 0x02039460 +_0806E494: .4byte 0x01000040 +_0806E498: .4byte gWindowConfig_81E6CAC +_0806E49C: .4byte 0xffffff00 +_0806E4A0: .4byte 0x06014300 + thumb_func_end sub_806E420 + + thumb_func_start sub_806E4A4 +sub_806E4A4: @ 806E4A4 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r5, r0, 0 + adds r6, r1, 0 + mov r8, r2 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + mov r0, r8 + movs r1, 0x39 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x3A + bl GetMonData + adds r3, r0, 0 + lsls r3, 16 + lsrs r3, 16 + adds r0, r5, 0 + adds r1, r6, 0 + adds r2, r4, 0 + bl sub_806E420 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806E4A4 + + thumb_func_start sub_806E4E8 +sub_806E4E8: @ 806E4E8 + push {r4-r6,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806E534 + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0806E534 + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806E522 + adds r0, r5, 0 + movs r1, 0x2 + adds r2, r4, 0 + bl sub_806E4A4 + b _0806E534 +_0806E522: + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r6, 0 + adds r2, r4, 0 + bl sub_806E4A4 +_0806E534: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806E4E8 + + thumb_func_start sub_806E53C +sub_806E53C: @ 806E53C + push {r4-r6,lr} + movs r4, 0 + movs r6, 0x64 + ldr r5, _0806E560 +_0806E544: + adds r1, r4, 0 + muls r1, r6 + adds r1, r5 + adds r0, r4, 0 + bl sub_806E4E8 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _0806E544 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E560: .4byte 0x03004360 + thumb_func_end sub_806E53C + + thumb_func_start unref_sub_806E564 +unref_sub_806E564: @ 806E564 + bx lr + thumb_func_end unref_sub_806E564 + + thumb_func_start unref_sub_806E568 +unref_sub_806E568: @ 806E568 + bx lr + thumb_func_end unref_sub_806E568 + + thumb_func_start nullsub_12 +nullsub_12: @ 806E56C + bx lr + thumb_func_end nullsub_12 + + thumb_func_start nullsub_13 +nullsub_13: @ 806E570 + bx lr + thumb_func_end nullsub_13 + + thumb_func_start sub_806E574 +sub_806E574: @ 806E574 + push {r4-r6,lr} + sub sp, 0x18 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 16 + lsrs r2, 16 + lsls r3, 16 + lsrs r3, 16 + ldr r0, _0806E624 + str r0, [sp, 0x14] + str r3, [sp] + str r2, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0x8] + lsls r2, 16 + asrs r2, 16 + lsls r3, 16 + asrs r3, 16 + adds r0, r2, 0 + adds r1, r3, 0 + bl sub_8046200 + lsls r0, 24 + lsrs r3, r0, 24 + adds r4, r3, 0 + cmp r3, 0x2 + bls _0806E5BE + mov r2, sp + ldrb r1, [r2, 0xC] + movs r0, 0x20 + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2, 0xC] +_0806E5BE: + cmp r3, 0x2 + bne _0806E5D2 + mov r2, sp + ldrb r1, [r2, 0xC] + movs r0, 0x20 + negs r0, r0 + ands r0, r1 + movs r1, 0x5 + orrs r0, r1 + strb r0, [r2, 0xC] +_0806E5D2: + cmp r4, 0x1 + bhi _0806E5E6 + mov r2, sp + ldrb r1, [r2, 0xC] + movs r0, 0x20 + negs r0, r0 + ands r0, r1 + movs r1, 0x6 + orrs r0, r1 + strb r0, [r2, 0xC] +_0806E5E6: + movs r0, 0x80 + lsls r0, 1 + str r0, [sp, 0x10] + ldr r2, _0806E628 + lsls r1, r6, 2 + lsls r0, r5, 1 + adds r0, r5 + lsls r0, 3 + adds r1, r0 + adds r1, r2 + ldr r4, [r1] + add r1, sp, 0x14 + mov r0, sp + adds r2, r4, 0 + movs r3, 0 + bl sub_80460C8 + subs r4, 0x4 + ldr r1, _0806E62C + adds r0, r1, 0 + strh r0, [r4] + adds r1, 0x1 + adds r0, r1, 0 + strh r0, [r4, 0x2] + adds r1, 0x1 + adds r0, r1, 0 + strh r0, [r4, 0x10] + add sp, 0x18 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E624: .4byte 0xffff8000 +_0806E628: .4byte gUnknown_08376858 +_0806E62C: .4byte 0x00003109 + thumb_func_end sub_806E574 + + thumb_func_start sub_806E630 +sub_806E630: @ 806E630 + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r5, r0, 0 + adds r6, r1, 0 + mov r8, r2 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + mov r0, r8 + movs r1, 0x39 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x3A + bl GetMonData + adds r3, r0, 0 + lsls r3, 16 + lsrs r3, 16 + adds r0, r5, 0 + adds r1, r6, 0 + adds r2, r4, 0 + bl sub_806E574 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806E630 + + thumb_func_start sub_806E674 +sub_806E674: @ 806E674 + push {r4-r6,lr} + adds r4, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0806E6C0 + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0806E6C0 + bl sub_806B528 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806E6AE + adds r0, r5, 0 + movs r1, 0x2 + adds r2, r4, 0 + bl sub_806E630 + b _0806E6C0 +_0806E6AE: + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r6, 0 + adds r2, r4, 0 + bl sub_806E630 +_0806E6C0: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806E674 + + thumb_func_start sub_806E6C8 +sub_806E6C8: @ 806E6C8 + push {r4-r6,lr} + movs r4, 0 + movs r6, 0x64 + ldr r5, _0806E6EC +_0806E6D0: + adds r1, r4, 0 + muls r1, r6 + adds r1, r5 + adds r0, r4, 0 + bl sub_806E674 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _0806E6D0 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806E6EC: .4byte 0x03004360 + thumb_func_end sub_806E6C8 + + thumb_func_start sub_806E6F0 +sub_806E6F0: @ 806E6F0 + push {r4,r5,lr} + sub sp, 0x64 + adds r4, r0, 0 + adds r5, r1, 0 + mov r0, sp + adds r1, r4, 0 + movs r2, 0x64 + bl memcpy + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x64 + bl memcpy + adds r0, r5, 0 + mov r1, sp + movs r2, 0x64 + bl memcpy + add sp, 0x64 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_806E6F0 + + thumb_func_start sub_806E720 +sub_806E720: @ 806E720 + push {r4,lr} + lsls r0, 24 + lsrs r0, 21 + adds r0, r3 + ldrb r4, [r0] + lsls r4, 25 + movs r3, 0x80 + lsls r3, 18 + adds r4, r3 + lsrs r4, 24 + ldrb r0, [r0, 0x1] + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + movs r3, 0x1E + subs r3, r0 + strb r3, [r1] + movs r0, 0x14 + subs r0, r4 + strb r0, [r2] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_806E720 + + thumb_func_start sub_806E750 +sub_806E750: @ 806E750 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0xC + adds r5, r0, 0 + adds r4, r1, 0 + mov r9, r2 + adds r6, r3, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r6, 24 + lsrs r6, 24 + movs r0, 0x9 + add r0, sp + mov r8, r0 + adds r0, r5, 0 + add r1, sp, 0x8 + mov r2, r8 + adds r3, r4, 0 + bl sub_806E720 + add r0, sp, 0x8 + ldrb r0, [r0] + mov r2, r8 + ldrb r1, [r2] + lsls r5, 3 + adds r5, r4 + ldrb r2, [r5, 0x1] + ldrb r3, [r5] + mov r4, r9 + str r4, [sp] + ldr r4, [r5, 0x4] + str r4, [sp, 0x4] + bl sub_8089C50 + add r0, sp, 0x8 + ldrb r1, [r0] + adds r1, 0x1 + lsls r1, 24 + lsrs r1, 24 + mov r0, r8 + ldrb r2, [r0] + adds r2, 0x1 + lsls r2, 24 + lsrs r2, 24 + ldrb r3, [r5] + str r6, [sp] + ldrb r0, [r5, 0x1] + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x4] + movs r0, 0 + bl InitMenu + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806E750 + + thumb_func_start sub_806E7D0 +sub_806E7D0: @ 806E7D0 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r6, r1, 0 + lsls r4, 24 + lsrs r4, 24 + mov r5, sp + adds r5, 0x1 + adds r0, r4, 0 + mov r1, sp + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_806E720 + mov r0, sp + ldrb r0, [r0] + ldrb r1, [r5] + lsls r4, 3 + adds r4, r6 + ldrb r2, [r4, 0x1] + adds r2, r0, r2 + lsls r2, 24 + lsrs r2, 24 + ldrb r3, [r4] + lsls r3, 1 + adds r3, r1, r3 + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + bl MenuZeroFillWindowRect + bl sub_8072DEC + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_806E7D0 + + thumb_func_start sub_806E81C +sub_806E81C: @ 806E81C + lsls r0, 24 + lsls r3, 24 + lsrs r3, 24 + lsrs r0, 21 + adds r0, r1 + ldr r0, [r0, 0x4] + adds r0, r3 + ldrb r0, [r0] + lsls r0, 3 + adds r0, r2 + ldr r0, [r0, 0x4] + bx lr + thumb_func_end sub_806E81C + + thumb_func_start sub_806E834 +sub_806E834: @ 806E834 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r4, r1, 24 + lsrs r4, 24 + ldr r1, _0806E878 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x3 + movs r1, 0xE + movs r2, 0x1A + movs r3, 0x13 + bl MenuDrawTextWindow + adds r0, r5, 0 + movs r1, 0x4 + movs r2, 0xF + bl MenuPrintMessage + ldr r0, _0806E87C + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0806E880 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0806E878: .4byte 0x0202e8f6 +_0806E87C: .4byte sub_806E884 +_0806E880: .4byte 0x03004b20 + thumb_func_end sub_806E834 + + thumb_func_start sub_806E884 +sub_806E884: @ 806E884 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + bl MenuUpdateWindowText + lsls r0, 24 + cmp r0, 0 + beq _0806E8C0 + ldr r1, _0806E8C8 + movs r0, 0 + strb r0, [r1] + ldr r1, _0806E8CC + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _0806E8BA + movs r0, 0x3 + movs r1, 0xE + movs r2, 0x1A + movs r3, 0x13 + bl MenuZeroFillWindowRect +_0806E8BA: + adds r0, r5, 0 + bl DestroyTask +_0806E8C0: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806E8C8: .4byte 0x0202e8f6 +_0806E8CC: .4byte 0x03004b20 + thumb_func_end sub_806E884 + + thumb_func_start sub_806E8D0 +sub_806E8D0: @ 806E8D0 + push {r4,r5,lr} + adds r5, r1, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r5, 16 + lsrs r5, 16 + ldr r4, _0806E8FC + str r2, [r4, 0x10] + strb r0, [r4, 0x4] + bl sub_806CA38 + strb r0, [r4, 0x5] + strh r5, [r4, 0x6] + ldrb r1, [r4, 0x5] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0806E900 + adds r0, r1 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806E8FC: .4byte 0x0201c000 +_0806E900: .4byte 0x03004360 + thumb_func_end sub_806E8D0 + + thumb_func_start sub_806E904 +sub_806E904: @ 806E904 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r1, 16 + lsrs r4, r1, 16 + adds r0, r4, 0 + bl itemid_is_mail + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806E93C + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80A2BC4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + bne _0806E930 + movs r0, 0x1 + b _0806E958 +_0806E930: + ldr r1, _0806E938 + movs r0, 0x2 + b _0806E940 + .align 2, 0 +_0806E938: .4byte 0x0202e8f4 +_0806E93C: + ldr r1, _0806E960 + movs r0, 0x1 +_0806E940: + strb r0, [r1] + mov r0, sp + strb r4, [r0] + mov r1, sp + lsrs r0, r4, 8 + strb r0, [r1, 0x1] + adds r0, r5, 0 + movs r1, 0xC + mov r2, sp + bl SetMonData + movs r0, 0 +_0806E958: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0806E960: .4byte 0x0202e8f4 + thumb_func_end sub_806E904 + + thumb_func_start sub_806E964 +sub_806E964: @ 806E964 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r8, r2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r5, r1, 16 + mov r9, r5 + ldr r2, _0806E9D4 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r6, r1, r2 + ldr r1, _0806E9D8 + str r1, [r6] + adds r1, r5, 0 + mov r2, r8 + bl sub_806E8D0 + ldr r4, _0806E9DC + ldr r0, [r4] + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r2, r0, 16 + adds r7, r2, 0 + ldr r1, _0806E9E0 + movs r0, 0 + strb r0, [r1] + ldr r0, _0806E9E4 + mov r10, r0 + movs r0, 0 + mov r1, r10 + strh r0, [r1] + cmp r2, 0 + beq _0806EA44 + adds r0, r2, 0 + bl itemid_is_mail + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806E9F0 + ldr r0, _0806E9E8 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0806E9EC + movs r1, 0x5 + bl CreateTask + b _0806EA78 + .align 2, 0 +_0806E9D4: .4byte 0x03004b20 +_0806E9D8: .4byte TaskDummy +_0806E9DC: .4byte 0x0201c000 +_0806E9E0: .4byte 0x0202e8f4 +_0806E9E4: .4byte 0x0202e8f8 +_0806E9E8: .4byte gUnknown_0840F17F +_0806E9EC: .4byte party_menu_link_mon_held_item_object +_0806E9F0: + ldr r0, [r4] + ldr r1, _0806EA30 + bl GetMonNickname + ldr r1, _0806EA34 + adds r0, r7, 0 + bl itemid_copy_name + ldr r4, _0806EA38 + ldr r1, _0806EA3C + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0806EA40 + movs r1, 0x5 + bl CreateTask + adds r0, r5, 0 + bl itemid_is_mail + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806EA78 + mov r0, r10 + strh r7, [r0] + b _0806EA78 + .align 2, 0 +_0806EA30: .4byte 0x020231cc +_0806EA34: .4byte 0x020232cc +_0806EA38: .4byte 0x020234cc +_0806EA3C: .4byte gUnknown_0840F1CD +_0806EA40: .4byte sub_806EBB8 +_0806EA44: + ldr r0, [r4] + adds r1, r5, 0 + bl sub_806E904 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_80A9538 + adds r0, r5, 0 + bl itemid_is_mail + lsls r0, 24 + cmp r0, 0 + beq _0806EA66 + mov r1, r8 + str r1, [r6] + b _0806EA78 +_0806EA66: + ldrb r0, [r4, 0x5] + mov r1, r9 + movs r2, 0x1 + bl sub_806EBF0 + ldr r0, _0806EA88 + movs r1, 0x5 + bl CreateTask +_0806EA78: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806EA88: .4byte party_menu_link_mon_held_item_object + thumb_func_end sub_806E964 + + thumb_func_start party_menu_link_mon_held_item_object +party_menu_link_mon_held_item_object: @ 806EA8C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _0806EAC0 + ldrb r0, [r0] + cmp r0, 0 + bne _0806EABA + ldr r4, _0806EAC4 + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + bl sub_806DF60 + ldr r2, _0806EAC8 + ldrb r1, [r4, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldr r1, [r4, 0x10] + str r1, [r0] + adds r0, r5, 0 + bl DestroyTask +_0806EABA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806EAC0: .4byte 0x0202e8f6 +_0806EAC4: .4byte 0x0201c000 +_0806EAC8: .4byte 0x03004b20 + thumb_func_end party_menu_link_mon_held_item_object + + thumb_func_start sub_806EACC +sub_806EACC: @ 806EACC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + bl ProcessMenuInputNoWrap_ + lsls r0, 24 + asrs r1, r0, 24 + cmp r1, 0 + bne _0806EB74 + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r4, _0806EB30 + ldr r0, [r4] + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + ldrh r0, [r4, 0x6] + movs r1, 0x1 + bl sub_80A9538 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_80A9424 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806EB5C + ldr r0, [r4] + ldrh r1, [r4, 0x6] + bl sub_806E904 + ldrh r0, [r4, 0x6] + bl itemid_is_mail + lsls r0, 24 + cmp r0, 0 + beq _0806EB34 + ldrb r0, [r4, 0x5] + adds r1, r5, 0 + movs r2, 0x1 + bl sub_806EDB4 + b _0806EB9A + .align 2, 0 +_0806EB30: .4byte 0x0201c000 +_0806EB34: + ldrh r0, [r4, 0x6] + ldr r1, _0806EB50 + bl itemid_copy_name + ldr r4, _0806EB54 + ldr r1, _0806EB58 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + b _0806EB9A + .align 2, 0 +_0806EB50: .4byte 0x020231cc +_0806EB54: .4byte 0x020234cc +_0806EB58: .4byte gUnknown_0840F26E +_0806EB5C: + ldr r0, _0806EB70 + movs r1, 0 + bl sub_806E834 + ldrh r0, [r4, 0x6] + movs r1, 0x1 + bl sub_80A9424 + b _0806EB9A + .align 2, 0 +_0806EB70: .4byte gUnknown_0840F2FC +_0806EB74: + cmp r1, 0x1 + beq _0806EB80 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806EBA8 +_0806EB80: + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806EB8E + movs r0, 0x5 + bl audio_play +_0806EB8E: + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect +_0806EB9A: + ldr r0, _0806EBB0 + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806EBB4 + str r0, [r1] +_0806EBA8: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806EBB0: .4byte 0x03004b20 +_0806EBB4: .4byte party_menu_link_mon_held_item_object + thumb_func_end sub_806EACC + + thumb_func_start sub_806EBB8 +sub_806EBB8: @ 806EBB8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806EBE4 + ldrb r0, [r0] + cmp r0, 0 + bne _0806EBDE + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r0, _0806EBE8 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806EBEC + str r0, [r1] +_0806EBDE: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806EBE4: .4byte 0x0202e8f6 +_0806EBE8: .4byte 0x03004b20 +_0806EBEC: .4byte sub_806EACC + thumb_func_end sub_806EBB8 + + thumb_func_start sub_806EBF0 +sub_806EBF0: @ 806EBF0 + push {r4,r5,lr} + adds r4, r1, 0 + adds r5, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 16 + lsrs r4, 16 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0806EC30 + adds r0, r1 + ldr r1, _0806EC34 + bl GetMonNickname + ldr r1, _0806EC38 + adds r0, r4, 0 + bl itemid_copy_name + ldr r4, _0806EC3C + ldr r1, _0806EC40 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_806E834 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806EC30: .4byte 0x03004360 +_0806EC34: .4byte 0x020231cc +_0806EC38: .4byte 0x020232cc +_0806EC3C: .4byte 0x020234cc +_0806EC40: .4byte gUnknown_0840F1AE + thumb_func_end sub_806EBF0 + + thumb_func_start sub_806EC44 +sub_806EC44: @ 806EC44 + push {r4,r5,lr} + adds r2, r1, 0 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _0806ECA0 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + ldr r3, _0806ECA4 + str r3, [r1] + movs r1, 0 + bl sub_806E8D0 + ldr r5, _0806ECA8 + ldr r0, [r5] + movs r1, 0xC + bl GetMonData + lsls r0, 16 + ldr r2, _0806ECAC + movs r1, 0 + strb r1, [r2] + movs r1, 0xF8 + lsls r1, 6 + adds r2, r5, r1 + ldrb r1, [r2] + adds r1, 0x6 + ldrb r2, [r2, 0x2] + adds r1, r2 + lsls r2, r1, 3 + adds r2, r1 + lsls r2, 2 + ldr r1, _0806ECB0 + adds r4, r2, r1 + cmp r0, 0 + beq _0806ECBC + ldr r0, _0806ECB4 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0806ECB8 + movs r1, 0x5 + bl CreateTask + b _0806ECDA + .align 2, 0 +_0806ECA0: .4byte 0x03004b20 +_0806ECA4: .4byte TaskDummy +_0806ECA8: .4byte 0x0201c000 +_0806ECAC: .4byte 0x0202e8f4 +_0806ECB0: .4byte 0x02028280 +_0806ECB4: .4byte gUnknown_0840F29B +_0806ECB8: .4byte party_menu_link_mon_held_item_object +_0806ECBC: + ldr r0, [r5] + adds r1, r4, 0 + bl sub_80A2D88 + adds r0, r4, 0 + bl sub_80A2B40 + ldr r0, _0806ECE0 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0806ECE4 + movs r1, 0x5 + bl CreateTask +_0806ECDA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806ECE0: .4byte gUnknown_0840F2D3 +_0806ECE4: .4byte party_menu_link_mon_held_item_object + thumb_func_end sub_806EC44 + + thumb_func_start sub_806ECE8 +sub_806ECE8: @ 806ECE8 + push {r4-r6,lr} + sub sp, 0x4 + adds r2, r1, 0 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _0806ED38 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + ldr r3, _0806ED3C + str r3, [r1] + movs r1, 0 + bl sub_806E8D0 + ldr r5, _0806ED40 + ldr r0, [r5] + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r4, r0, 16 + adds r6, r4, 0 + cmp r4, 0 + bne _0806ED50 + ldr r4, _0806ED44 + ldr r1, _0806ED48 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0 + bl sub_806E834 + ldr r0, _0806ED4C + movs r1, 0x5 + bl CreateTask + b _0806EDA2 + .align 2, 0 +_0806ED38: .4byte 0x03004b20 +_0806ED3C: .4byte TaskDummy +_0806ED40: .4byte 0x0201c000 +_0806ED44: .4byte 0x020234cc +_0806ED48: .4byte gUnknown_0840F213 +_0806ED4C: .4byte party_menu_link_mon_held_item_object +_0806ED50: + mov r0, sp + movs r1, 0 + strb r1, [r0] + strb r1, [r0, 0x1] + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80A9424 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806ED92 + adds r0, r4, 0 + bl itemid_is_mail + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806ED7C + ldr r0, [r5] + bl sub_80A2DF8 +_0806ED7C: + ldrb r0, [r5, 0x5] + adds r1, r6, 0 + movs r2, 0 + bl sub_806EDB4 + ldr r0, [r5] + movs r1, 0xC + mov r2, sp + bl SetMonData + b _0806ED9A +_0806ED92: + ldr r0, _0806EDAC + movs r1, 0 + bl sub_806E834 +_0806ED9A: + ldr r0, _0806EDB0 + movs r1, 0x5 + bl CreateTask +_0806EDA2: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806EDAC: .4byte gUnknown_0840F2FC +_0806EDB0: .4byte party_menu_link_mon_held_item_object + thumb_func_end sub_806ECE8 + + thumb_func_start sub_806EDB4 +sub_806EDB4: @ 806EDB4 + push {r4,r5,lr} + adds r4, r1, 0 + adds r5, r2, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, 16 + lsrs r4, 16 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0806EDF4 + adds r0, r1 + ldr r1, _0806EDF8 + bl GetMonNickname + ldr r1, _0806EDFC + adds r0, r4, 0 + bl itemid_copy_name + ldr r4, _0806EE00 + ldr r1, _0806EE04 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_806E834 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806EDF4: .4byte 0x03004360 +_0806EDF8: .4byte 0x020231cc +_0806EDFC: .4byte 0x020232cc +_0806EE00: .4byte 0x020234cc +_0806EE04: .4byte gUnknown_0840F230 + thumb_func_end sub_806EDB4 + + thumb_func_start sub_806EE08 +sub_806EE08: @ 806EE08 + push {r4,lr} + adds r2, r1, 0 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _0806EE48 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + ldr r3, _0806EE4C + str r3, [r1] + movs r1, 0 + bl sub_806E8D0 + ldr r4, _0806EE50 + ldr r0, [r4] + movs r1, 0xC + bl GetMonData + strh r0, [r4, 0x6] + ldr r0, _0806EE54 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0806EE58 + movs r1, 0x5 + bl CreateTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806EE48: .4byte 0x03004b20 +_0806EE4C: .4byte TaskDummy +_0806EE50: .4byte 0x0201c000 +_0806EE54: .4byte gUnknown_0840F0E8 +_0806EE58: .4byte sub_806EFEC + thumb_func_end sub_806EE08 + + thumb_func_start sub_806EE5C +sub_806EE5C: @ 806EE5C + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl ProcessMenuInputNoWrap_ + lsls r0, 24 + asrs r1, r0, 24 + cmp r1, 0 + bne _0806EEB0 + ldr r5, _0806EE90 + ldrh r0, [r5, 0x6] + movs r1, 0x1 + bl sub_80A9424 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0806EE98 + ldr r0, [r5] + bl sub_80A2DF8 + ldr r0, _0806EE94 + movs r1, 0 + bl sub_806E834 + b _0806EEA0 + .align 2, 0 +_0806EE90: .4byte 0x0201c000 +_0806EE94: .4byte gUnknown_0840F24B +_0806EE98: + ldr r0, _0806EEAC + movs r1, 0 + bl sub_806E834 +_0806EEA0: + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + b _0806EEDE + .align 2, 0 +_0806EEAC: .4byte gUnknown_0840F2FC +_0806EEB0: + cmp r1, 0x1 + beq _0806EEBC + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806EEF0 +_0806EEBC: + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806EECA + movs r0, 0x5 + bl audio_play +_0806EECA: + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 +_0806EEDE: + bl MenuZeroFillWindowRect + ldr r0, _0806EEF8 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806EEFC + str r0, [r1] +_0806EEF0: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806EEF8: .4byte 0x03004b20 +_0806EEFC: .4byte party_menu_link_mon_held_item_object + thumb_func_end sub_806EE5C + + thumb_func_start sub_806EF00 +sub_806EF00: @ 806EF00 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806EF2C + ldrb r0, [r0] + cmp r0, 0 + bne _0806EF26 + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r0, _0806EF30 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806EF34 + str r0, [r1] +_0806EF26: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806EF2C: .4byte 0x0202e8f6 +_0806EF30: .4byte 0x03004b20 +_0806EF34: .4byte sub_806EE5C + thumb_func_end sub_806EF00 + + thumb_func_start sub_806EF38 +sub_806EF38: @ 806EF38 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl ProcessMenuInputNoWrap_ + lsls r0, 24 + asrs r1, r0, 24 + cmp r1, 0 + bne _0806EF9C + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r0, _0806EF70 + ldr r0, [r0] + bl sub_80A2E78 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _0806EF78 + ldr r0, _0806EF74 + movs r1, 0 + bl sub_806E834 + b _0806EF80 + .align 2, 0 +_0806EF70: .4byte 0x0201c000 +_0806EF74: .4byte gUnknown_0840F10A +_0806EF78: + ldr r0, _0806EF90 + movs r1, 0 + bl sub_806E834 +_0806EF80: + ldr r0, _0806EF94 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806EF98 + str r0, [r1] + b _0806EFD8 + .align 2, 0 +_0806EF90: .4byte gUnknown_0840F12A +_0806EF94: .4byte 0x03004b20 +_0806EF98: .4byte party_menu_link_mon_held_item_object +_0806EF9C: + cmp r1, 0x1 + beq _0806EFA8 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806EFD8 +_0806EFA8: + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806EFB6 + movs r0, 0x5 + bl audio_play +_0806EFB6: + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r0, _0806EFE0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806EFE4 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806EFE8 + str r1, [r0] +_0806EFD8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806EFE0: .4byte gUnknown_0840F147 +_0806EFE4: .4byte 0x03004b20 +_0806EFE8: .4byte sub_806EF00 + thumb_func_end sub_806EF38 + + thumb_func_start sub_806EFEC +sub_806EFEC: @ 806EFEC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806F018 + ldrb r0, [r0] + cmp r0, 0 + bne _0806F012 + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r0, _0806F01C + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806F020 + str r0, [r1] +_0806F012: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806F018: .4byte 0x0202e8f6 +_0806F01C: .4byte 0x03004b20 +_0806F020: .4byte sub_806EF38 + thumb_func_end sub_806EFEC + + thumb_func_start ItemIdToBattleMoveId +ItemIdToBattleMoveId: @ 806F024 + lsls r0, 16 + ldr r1, _0806F034 + adds r0, r1 + ldr r1, _0806F038 + lsrs r0, 15 + adds r0, r1 + ldrh r0, [r0] + bx lr + .align 2, 0 +_0806F034: .4byte 0xfedf0000 +_0806F038: .4byte gUnknown_08376504 + thumb_func_end ItemIdToBattleMoveId + + thumb_func_start pokemon_has_move +pokemon_has_move: @ 806F03C + push {r4-r6,lr} + adds r6, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + movs r4, 0 +_0806F046: + adds r1, r4, 0 + adds r1, 0xD + adds r0, r6, 0 + bl GetMonData + cmp r0, r5 + bne _0806F058 + movs r0, 0x1 + b _0806F064 +_0806F058: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _0806F046 + movs r0, 0 +_0806F064: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end pokemon_has_move + + thumb_func_start sub_806F06C +sub_806F06C: @ 806F06C + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 16 + lsrs r5, 16 + movs r0, 0x5 + bl audio_play + ldr r1, _0806F0A8 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F0AC + str r1, [r0] + adds r0, r4, 0 + adds r1, r5, 0 + adds r2, r6, 0 + bl sub_806E8D0 + ldr r0, _0806F0B0 + movs r1, 0x5 + bl CreateTask + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806F0A8: .4byte 0x03004b20 +_0806F0AC: .4byte TaskDummy +_0806F0B0: .4byte sub_806F0B4 + thumb_func_end sub_806F06C + + thumb_func_start sub_806F0B4 +sub_806F0B4: @ 806F0B4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + adds r7, r6, 0 + ldr r5, _0806F114 + ldr r0, [r5] + ldr r1, _0806F118 + bl GetMonNickname + ldrh r0, [r5, 0x6] + bl ItemIdToBattleMoveId + movs r4, 0 + strh r0, [r5, 0x8] + ldr r0, _0806F11C + ldrh r2, [r5, 0x8] + movs r1, 0xD + muls r1, r2 + ldr r2, _0806F120 + adds r1, r2 + bl StringCopy + ldr r1, _0806F124 + adds r0, r5, r1 + strh r4, [r0] + ldr r0, [r5] + ldrh r1, [r5, 0x8] + bl pokemon_has_move + lsls r0, 24 + cmp r0, 0 + beq _0806F138 + ldr r4, _0806F128 + ldr r1, _0806F12C + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806F130 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F134 + b _0806F1B6 + .align 2, 0 +_0806F114: .4byte 0x0201c000 +_0806F118: .4byte 0x020231cc +_0806F11C: .4byte 0x020232cc +_0806F120: .4byte gMoveNames +_0806F124: .4byte 0xfffff282 +_0806F128: .4byte 0x020234cc +_0806F12C: .4byte gUnknown_0840F49E +_0806F130: .4byte 0x03004b20 +_0806F134: .4byte party_menu_link_mon_held_item_object +_0806F138: + ldr r0, [r5] + ldrb r1, [r5, 0x6] + subs r1, 0x21 + lsls r1, 24 + lsrs r1, 24 + bl sub_8040374 + cmp r0, 0 + bne _0806F17C + ldr r4, _0806F16C + ldr r1, _0806F170 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806F174 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F178 + b _0806F1B6 + .align 2, 0 +_0806F16C: .4byte 0x020234cc +_0806F170: .4byte gUnknown_0840F347 +_0806F174: .4byte 0x03004b20 +_0806F178: .4byte party_menu_link_mon_held_item_object +_0806F17C: + ldr r0, [r5] + ldrh r1, [r5, 0x8] + bl pokemon_moveset_pad_ + lsls r0, 16 + ldr r1, _0806F194 + cmp r0, r1 + beq _0806F198 + adds r0, r6, 0 + bl sub_806F1D0 + b _0806F1B8 + .align 2, 0 +_0806F194: .4byte 0xffff0000 +_0806F198: + ldr r4, _0806F1C0 + ldr r1, _0806F1C4 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806F1C8 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F1CC +_0806F1B6: + str r1, [r0] +_0806F1B8: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0806F1C0: .4byte 0x020234cc +_0806F1C4: .4byte gUnknown_0840F37C +_0806F1C8: .4byte 0x03004b20 +_0806F1CC: .4byte sub_806F358 + thumb_func_end sub_806F0B4 + + thumb_func_start sub_806F1D0 +sub_806F1D0: @ 806F1D0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _0806F234 + ldr r5, _0806F238 + ldrh r2, [r5, 0x8] + movs r1, 0xD + muls r1, r2 + ldr r2, _0806F23C + adds r1, r2 + bl StringCopy + ldr r4, _0806F240 + ldr r1, _0806F244 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r0, [r5] + movs r1, 0x4 + bl sub_803FCD4 + ldr r1, _0806F248 + adds r0, r5, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _0806F220 + ldrh r1, [r5, 0x6] + movs r0, 0xA9 + lsls r0, 1 + cmp r1, r0 + bhi _0806F220 + adds r0, r1, 0 + movs r1, 0x1 + bl sub_80A9538 +_0806F220: + ldr r0, _0806F24C + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806F250 + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806F234: .4byte 0x020232cc +_0806F238: .4byte 0x0201c000 +_0806F23C: .4byte gMoveNames +_0806F240: .4byte 0x020234cc +_0806F244: .4byte gUnknown_0840F338 +_0806F248: .4byte 0xfffff282 +_0806F24C: .4byte 0x03004b20 +_0806F250: .4byte sub_806F254 + thumb_func_end sub_806F1D0 + + thumb_func_start sub_806F254 +sub_806F254: @ 806F254 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806F27C + ldrb r0, [r0] + cmp r0, 0 + bne _0806F276 + ldr r0, _0806F280 + bl fanfare_play + ldr r1, _0806F284 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F288 + str r1, [r0] +_0806F276: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806F27C: .4byte 0x0202e8f6 +_0806F280: .4byte 0x0000016f +_0806F284: .4byte 0x03004b20 +_0806F288: .4byte sub_806F28C + thumb_func_end sub_806F254 + + thumb_func_start sub_806F28C +sub_806F28C: @ 806F28C + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + bl task_is_not_running_overworld_fanfare + lsls r0, 24 + cmp r0, 0 + beq _0806F2F2 + ldr r0, _0806F2D0 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0806F2B2 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0806F2F2 +_0806F2B2: + ldr r4, _0806F2D4 + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + bl sub_806DF60 + ldr r1, _0806F2D8 + adds r0, r4, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + bne _0806F2DC + adds r0, r5, 0 + bl sub_8070C54 + b _0806F2F2 + .align 2, 0 +_0806F2D0: .4byte 0x03001770 +_0806F2D4: .4byte 0x0201c000 +_0806F2D8: .4byte 0xfffff282 +_0806F2DC: + ldr r2, _0806F2F8 + ldrb r1, [r4, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldr r1, [r4, 0x10] + str r1, [r0] + adds r0, r6, 0 + bl DestroyTask +_0806F2F2: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806F2F8: .4byte 0x03004b20 + thumb_func_end sub_806F28C + + thumb_func_start sub_806F2FC +sub_806F2FC: @ 806F2FC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + ldr r0, _0806F32C + ldrb r0, [r0] + cmp r0, 0 + bne _0806F34E + ldr r4, _0806F330 + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + bl sub_806DF60 + ldr r1, _0806F334 + adds r0, r4, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + bne _0806F338 + adds r0, r5, 0 + bl sub_8070C54 + b _0806F34E + .align 2, 0 +_0806F32C: .4byte 0x0202e8f6 +_0806F330: .4byte 0x0201c000 +_0806F334: .4byte 0xfffff282 +_0806F338: + ldr r2, _0806F354 + ldrb r1, [r4, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldr r1, [r4, 0x10] + str r1, [r0] + adds r0, r6, 0 + bl DestroyTask +_0806F34E: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806F354: .4byte 0x03004b20 + thumb_func_end sub_806F2FC + + thumb_func_start sub_806F358 +sub_806F358: @ 806F358 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806F384 + ldrb r0, [r0] + cmp r0, 0 + bne _0806F37E + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r0, _0806F388 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806F38C + str r0, [r1] +_0806F37E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806F384: .4byte 0x0202e8f6 +_0806F388: .4byte 0x03004b20 +_0806F38C: .4byte sub_806F390 + thumb_func_end sub_806F358 + + thumb_func_start sub_806F390 +sub_806F390: @ 806F390 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + bl ProcessMenuInputNoWrap_ + lsls r0, 24 + asrs r1, r0, 24 + cmp r1, 0 + bne _0806F3D4 + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r0, _0806F3C8 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806F3CC + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F3D0 + str r1, [r0] + b _0806F3F4 + .align 2, 0 +_0806F3C8: .4byte gUnknown_0840F429 +_0806F3CC: .4byte 0x03004b20 +_0806F3D0: .4byte sub_806F44C +_0806F3D4: + cmp r1, 0x1 + beq _0806F3E0 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806F3F4 +_0806F3E0: + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806F3EE + movs r0, 0x5 + bl audio_play +_0806F3EE: + adds r0, r5, 0 + bl sub_806F614 +_0806F3F4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_806F390 + + thumb_func_start sub_806F3FC +sub_806F3FC: @ 806F3FC + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _0806F438 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0806F430 + ldr r0, _0806F43C + ldr r4, _0806F440 + ldrb r1, [r4, 0x5] + ldr r2, _0806F444 + ldrb r2, [r2] + subs r2, 0x1 + lsls r2, 24 + lsrs r2, 24 + ldr r3, _0806F448 + ldrh r4, [r4, 0x8] + str r4, [sp] + bl sub_809D9F0 + adds r0, r5, 0 + bl DestroyTask +_0806F430: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806F438: .4byte 0x0202f388 +_0806F43C: .4byte 0x03004360 +_0806F440: .4byte 0x0201c000 +_0806F444: .4byte 0x03004350 +_0806F448: .4byte sub_808B564 + thumb_func_end sub_806F3FC + + thumb_func_start sub_806F44C +sub_806F44C: @ 806F44C + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806F484 + ldrb r1, [r0] + cmp r1, 0 + bne _0806F47A + movs r0, 0x1 + negs r0, r0 + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0806F488 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F48C + str r1, [r0] +_0806F47A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806F484: .4byte 0x0202e8f6 +_0806F488: .4byte 0x03004b20 +_0806F48C: .4byte sub_806F3FC + thumb_func_end sub_806F44C + + thumb_func_start sub_806F490 +sub_806F490: @ 806F490 + push {r4,r5,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r0, _0806F50C + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0806F506 + ldr r1, _0806F510 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F514 + str r1, [r0] + ldr r0, _0806F518 + ldrh r1, [r0] + ldr r2, _0806F51C + adds r0, r3, 0 + bl sub_806E8D0 + bl sub_809FA30 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r5, _0806F520 + ldr r0, [r5] + adds r1, 0xD + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, [r5] + ldr r1, _0806F524 + bl GetMonNickname + ldr r0, _0806F528 + movs r1, 0xD + muls r1, r4 + ldr r2, _0806F52C + adds r1, r2 + bl StringCopy + ldr r4, _0806F530 + ldr r1, _0806F534 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0806F538 + movs r1, 0x5 + bl CreateTask +_0806F506: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806F50C: .4byte 0x0202f388 +_0806F510: .4byte 0x03004b20 +_0806F514: .4byte TaskDummy +_0806F518: .4byte 0x0203855e +_0806F51C: .4byte sub_808B508 +_0806F520: .4byte 0x0201c000 +_0806F524: .4byte 0x020231cc +_0806F528: .4byte 0x020232cc +_0806F52C: .4byte gMoveNames +_0806F530: .4byte 0x020234cc +_0806F534: .4byte gUnknown_0840F44B +_0806F538: .4byte sub_806F53C + thumb_func_end sub_806F490 + + thumb_func_start sub_806F53C +sub_806F53C: @ 806F53C + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _0806F580 + ldrb r0, [r0] + cmp r0, 0 + bne _0806F57A + ldr r4, _0806F584 + ldr r5, [r4] + bl sub_809FA30 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl sub_803DE34 + ldr r5, [r4] + ldrh r4, [r4, 0x8] + bl sub_809FA30 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_803B6A4 + adds r0, r6, 0 + bl sub_806F1D0 +_0806F57A: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806F580: .4byte 0x0202e8f6 +_0806F584: .4byte 0x0201c000 + thumb_func_end sub_806F53C + + thumb_func_start sub_806F588 +sub_806F588: @ 806F588 + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r0, _0806F5E8 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0806F5E0 + ldr r1, _0806F5EC + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F5F0 + str r1, [r0] + ldr r0, _0806F5F4 + ldrh r1, [r0] + ldr r2, _0806F5F8 + adds r0, r3, 0 + bl sub_806E8D0 + ldr r0, _0806F5FC + ldr r1, _0806F600 + ldrh r2, [r1, 0x8] + movs r1, 0xD + muls r1, r2 + ldr r2, _0806F604 + adds r1, r2 + bl StringCopy + ldr r4, _0806F608 + ldr r1, _0806F60C + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0806F610 + movs r1, 0x5 + bl CreateTask +_0806F5E0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806F5E8: .4byte 0x0202f388 +_0806F5EC: .4byte 0x03004b20 +_0806F5F0: .4byte TaskDummy +_0806F5F4: .4byte 0x0203855e +_0806F5F8: .4byte sub_808B508 +_0806F5FC: .4byte 0x020232cc +_0806F600: .4byte 0x0201c000 +_0806F604: .4byte gMoveNames +_0806F608: .4byte 0x020234cc +_0806F60C: .4byte gUnknown_0840F3F0 +_0806F610: .4byte sub_806F67C + thumb_func_end sub_806F588 + + thumb_func_start sub_806F614 +sub_806F614: @ 806F614 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r0, _0806F660 + ldr r1, _0806F664 + ldrh r2, [r1, 0x8] + movs r1, 0xD + muls r1, r2 + ldr r2, _0806F668 + adds r1, r2 + bl StringCopy + ldr r4, _0806F66C + ldr r1, _0806F670 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806F674 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F678 + str r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0806F660: .4byte 0x020232cc +_0806F664: .4byte 0x0201c000 +_0806F668: .4byte gMoveNames +_0806F66C: .4byte 0x020234cc +_0806F670: .4byte gUnknown_0840F3F0 +_0806F674: .4byte 0x03004b20 +_0806F678: .4byte sub_806F67C + thumb_func_end sub_806F614 + + thumb_func_start sub_806F67C +sub_806F67C: @ 806F67C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806F6A8 + ldrb r0, [r0] + cmp r0, 0 + bne _0806F6A2 + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r0, _0806F6AC + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0806F6B0 + str r0, [r1] +_0806F6A2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806F6A8: .4byte 0x0202e8f6 +_0806F6AC: .4byte 0x03004b20 +_0806F6B0: .4byte sub_806F6B4 + thumb_func_end sub_806F67C + + thumb_func_start sub_806F6B4 +sub_806F6B4: @ 806F6B4 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + bl ProcessMenuInputNoWrap_ + lsls r0, 24 + asrs r1, r0, 24 + cmp r1, 0 + bne _0806F730 + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r4, _0806F710 + ldr r0, [r4] + ldr r1, _0806F714 + bl GetMonNickname + ldr r0, _0806F718 + ldrh r2, [r4, 0x8] + movs r1, 0xD + muls r1, r2 + ldr r2, _0806F71C + adds r1, r2 + bl StringCopy + ldr r4, _0806F720 + ldr r1, _0806F724 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806F728 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F72C + b _0806F78E + .align 2, 0 +_0806F710: .4byte 0x0201c000 +_0806F714: .4byte 0x020231cc +_0806F718: .4byte 0x020232cc +_0806F71C: .4byte gMoveNames +_0806F720: .4byte 0x020234cc +_0806F724: .4byte gUnknown_0840F409 +_0806F728: .4byte 0x03004b20 +_0806F72C: .4byte sub_806F2FC +_0806F730: + cmp r1, 0x1 + beq _0806F73C + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806F790 +_0806F73C: + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0806F74A + movs r0, 0x5 + bl audio_play +_0806F74A: + movs r0, 0x17 + movs r1, 0x8 + movs r2, 0x1D + movs r3, 0xD + bl MenuZeroFillWindowRect + ldr r4, _0806F798 + ldr r0, [r4] + ldr r1, _0806F79C + bl GetMonNickname + ldr r0, _0806F7A0 + ldrh r2, [r4, 0x8] + movs r1, 0xD + muls r1, r2 + ldr r2, _0806F7A4 + adds r1, r2 + bl StringCopy + ldr r4, _0806F7A8 + ldr r1, _0806F7AC + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806F7B0 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F7B4 +_0806F78E: + str r1, [r0] +_0806F790: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0806F798: .4byte 0x0201c000 +_0806F79C: .4byte 0x020231cc +_0806F7A0: .4byte 0x020232cc +_0806F7A4: .4byte gMoveNames +_0806F7A8: .4byte 0x020234cc +_0806F7AC: .4byte gUnknown_0840F37C +_0806F7B0: .4byte 0x03004b20 +_0806F7B4: .4byte sub_806F358 + thumb_func_end sub_806F6B4 + + thumb_func_start sub_806F7B8 +sub_806F7B8: @ 806F7B8 + push {lr} + lsls r0, 16 + lsrs r2, r0, 16 + movs r1, 0 + ldr r3, _0806F7D4 +_0806F7C2: + adds r0, r1, 0 + adds r0, 0x32 + lsls r0, 1 + adds r0, r3 + ldrh r0, [r0] + cmp r0, r2 + bne _0806F7D8 + movs r0, 0x1 + b _0806F7E4 + .align 2, 0 +_0806F7D4: .4byte gUnknown_08376504 +_0806F7D8: + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x7 + bls _0806F7C2 + movs r0, 0 +_0806F7E4: + pop {r1} + bx r1 + thumb_func_end sub_806F7B8 + + thumb_func_start sub_806F7E8 +sub_806F7E8: @ 806F7E8 + push {r4-r6,lr} + adds r5, r1, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r3, r0, 2 + adds r3, r0 + lsls r3, 3 + ldr r0, _0806F898 + adds r3, r0 + movs r0, 0x14 + ldrsh r1, [r3, r0] + str r1, [r5] + movs r4, 0x16 + ldrsh r0, [r3, r4] + str r0, [r5, 0x4] + movs r4, 0x18 + ldrsh r0, [r3, r4] + lsls r2, 24 + asrs r2, 24 + muls r0, r2 + str r0, [r5, 0x8] + movs r0, 0x80 + lsls r0, 1 + str r0, [r5, 0x10] + ldr r6, _0806F89C + ldr r2, _0806F8A0 + adds r0, r6, r2 + movs r4, 0 + ldrsh r0, [r0, r4] + bl sub_8046200 + lsls r0, 24 + lsrs r2, r0, 24 + adds r3, r2, 0 + cmp r2, 0x2 + bls _0806F83E + ldrb r0, [r5, 0xC] + movs r1, 0x20 + negs r1, r1 + ands r1, r0 + movs r0, 0x4 + orrs r1, r0 + strb r1, [r5, 0xC] +_0806F83E: + cmp r2, 0x2 + bne _0806F850 + ldrb r0, [r5, 0xC] + movs r1, 0x20 + negs r1, r1 + ands r1, r0 + movs r0, 0x5 + orrs r1, r0 + strb r1, [r5, 0xC] +_0806F850: + cmp r3, 0x1 + bhi _0806F862 + ldrb r0, [r5, 0xC] + movs r1, 0x20 + negs r1, r1 + ands r1, r0 + movs r0, 0x6 + orrs r1, r0 + strb r1, [r5, 0xC] +_0806F862: + ldr r4, _0806F8A4 + bl battle_type_is_double + movs r2, 0x80 + lsls r2, 5 + adds r1, r6, r2 + ldrb r2, [r1, 0x5] + lsls r2, 2 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + adds r2, r1 + adds r2, r4 + ldr r2, [r2] + ldr r4, _0806F8A8 + adds r1, r6, r4 + adds r0, r5, 0 + movs r3, 0 + bl sub_80460C8 + lsls r0, 16 + asrs r0, 16 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0806F898: .4byte 0x03004b28 +_0806F89C: .4byte 0x0201b000 +_0806F8A0: .4byte 0x00000282 +_0806F8A4: .4byte gUnknown_08376858 +_0806F8A8: .4byte 0x0000100c + thumb_func_end sub_806F7E8 + + thumb_func_start sub_806F8AC +sub_806F8AC: @ 806F8AC + push {r4-r7,lr} + sub sp, 0x18 + lsls r0, 24 + lsrs r6, r0, 24 + movs r4, 0x1 + negs r4, r4 + adds r0, r6, 0 + mov r1, sp + adds r2, r4, 0 + bl sub_806F7E8 + ldr r1, _0806F8F4 + ldr r2, _0806F8F8 + adds r5, r1, r2 + strh r0, [r5] + lsls r0, 16 + asrs r0, 16 + cmp r0, r4 + beq _0806F8D4 + b _0806F9F0 +_0806F8D4: + movs r0, 0x80 + lsls r0, 5 + adds r1, r0 + movs r0, 0 + str r0, [r1, 0xC] + ldr r0, [sp, 0x8] + negs r3, r0 + ldr r2, [sp, 0x4] + adds r0, r3, r2 + ldr r1, [sp] + cmp r0, r1 + ble _0806F8FC + subs r1, r2 + add r0, sp, 0x14 + strh r1, [r0] + b _0806F900 + .align 2, 0 +_0806F8F4: .4byte 0x0201b000 +_0806F8F8: .4byte 0x00000282 +_0806F8FC: + add r0, sp, 0x14 + strh r3, [r0] +_0806F900: + adds r5, r0, 0 + ldr r1, _0806F940 + ldrh r0, [r5] + negs r0, r0 + str r0, [r1] + ldr r0, _0806F944 + ldr r0, [r0] + ldr r1, _0806F948 + bl GetMonNickname + ldr r0, _0806F94C + ldrh r1, [r5] + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + ldr r2, _0806F950 + lsls r1, r6, 2 + adds r0, r1, r6 + lsls r0, 3 + adds r0, r2 + movs r2, 0x24 + ldrsh r0, [r0, r2] + adds r7, r1, 0 + cmp r0, 0 + bne _0806F95C + ldr r0, _0806F954 + ldr r1, _0806F958 + bl StringExpandPlaceholders + b _0806F964 + .align 2, 0 +_0806F940: .4byte 0x02024bec +_0806F944: .4byte 0x0201c000 +_0806F948: .4byte 0x020231cc +_0806F94C: .4byte 0x020232cc +_0806F950: .4byte 0x03004b20 +_0806F954: .4byte 0x020234cc +_0806F958: .4byte gUnknown_0840F4B5 +_0806F95C: + ldr r0, _0806F9D4 + ldr r1, _0806F9D8 + bl StringExpandPlaceholders +_0806F964: + ldr r4, _0806F9DC + ldrb r0, [r4, 0x4] + ldrb r1, [r4, 0x5] + bl sub_806DDA0 + lsls r0, 24 + lsrs r0, 24 + ldr r1, [r4] + bl sub_806D84C + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + ldrb r1, [r4, 0x5] + lsls r1, 1 + adds r0, r1 + ldr r1, _0806F9E0 + adds r0, r1 + movs r1, 0x7 + bl task_pc_turn_off + ldr r0, _0806F9E4 + adds r1, r4, r0 + movs r0, 0x2 + strb r0, [r1] + ldr r0, _0806F9D4 + movs r1, 0x1 + bl sub_806E834 + ldr r1, [sp, 0x4] + ldrh r0, [r5] + adds r0, r1 + strh r0, [r5] + ldr r0, [r4] + movs r1, 0x39 + adds r2, r5, 0 + bl SetMonData + ldrh r0, [r4, 0x6] + movs r1, 0x1 + bl sub_80A9538 + bl sub_8032638 + ldr r1, _0806F9E8 + adds r0, r7, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806F9EC + str r1, [r0] + b _0806FA10 + .align 2, 0 +_0806F9D4: .4byte 0x020234cc +_0806F9D8: .4byte gUnknown_0840F566 +_0806F9DC: .4byte 0x0201c000 +_0806F9E0: .4byte gUnknown_083769A8 +_0806F9E4: .4byte 0xfffff261 +_0806F9E8: .4byte 0x03004b20 +_0806F9EC: .4byte sub_806FB44 +_0806F9F0: + movs r2, 0x80 + lsls r2, 5 + adds r0, r1, r2 + ldrb r4, [r0, 0x5] + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldrh r2, [r5] + ldr r3, [sp] + lsls r3, 16 + lsrs r3, 16 + adds r0, r4, 0 + bl sub_806E420 +_0806FA10: + add sp, 0x18 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806F8AC + + thumb_func_start sub_806FA18 +sub_806FA18: @ 806FA18 + push {r4-r7,lr} + sub sp, 0x14 + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + mov r1, sp + movs r2, 0x1 + bl sub_806F7E8 + ldr r6, _0806FAC4 + ldr r1, _0806FAC8 + adds r7, r6, r1 + strh r0, [r7] + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0806FAE4 + movs r0, 0x1 + bl audio_play + movs r0, 0x80 + lsls r0, 5 + adds r4, r6, r0 + movs r0, 0 + str r0, [r4, 0xC] + ldr r2, _0806FACC + lsls r3, r5, 2 + adds r3, r5 + lsls r3, 3 + adds r5, r3, r2 + ldrh r0, [r5, 0x1E] + ldrh r1, [r5, 0x20] + subs r0, r1 + strh r0, [r5, 0x1E] + ldr r0, [r4] + adds r2, r3 + adds r2, 0x1E + movs r1, 0x39 + bl SetMonData + ldrb r0, [r4, 0x4] + ldr r1, _0806FAD0 + adds r6, r1 + ldrb r1, [r6, 0x1] + bl sub_806DDA0 + lsls r0, 24 + lsrs r0, 24 + ldr r1, [r4] + bl sub_806D84C + ldr r2, _0806FAD4 + ldrb r1, [r6, 0x2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x2E] + strb r0, [r4, 0x5] + ldrb r1, [r4, 0x5] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0806FAD8 + adds r0, r1 + str r0, [r4] + movs r1, 0x3A + bl GetMonData + strh r0, [r5, 0x1C] + ldr r0, [r4] + movs r1, 0x39 + bl GetMonData + strh r0, [r5, 0x1E] + ldr r0, _0806FADC + str r0, [r4, 0xC] + ldr r0, [r4, 0x10] + str r0, [r4, 0x14] + ldr r0, _0806FAE0 + str r0, [r5] + ldrh r0, [r5, 0x1E] + strh r0, [r7] + b _0806FB04 + .align 2, 0 +_0806FAC4: .4byte 0x0201b000 +_0806FAC8: .4byte 0x00000282 +_0806FACC: .4byte 0x03004b20 +_0806FAD0: .4byte 0xfffe6000 +_0806FAD4: .4byte 0x02020004 +_0806FAD8: .4byte 0x03004360 +_0806FADC: .4byte 0xffff8000 +_0806FAE0: .4byte sub_806F8AC +_0806FAE4: + movs r1, 0x80 + lsls r1, 5 + adds r0, r6, r1 + ldrb r4, [r0, 0x5] + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldrh r2, [r7] + ldr r3, [sp] + lsls r3, 16 + lsrs r3, 16 + adds r0, r4, 0 + bl sub_806E420 +_0806FB04: + add sp, 0x14 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_806FA18 + + thumb_func_start sub_806FB0C +sub_806FB0C: @ 806FB0C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806FB38 + ldrb r0, [r0] + cmp r0, 0 + bne _0806FB32 + ldr r3, _0806FB3C + ldr r2, _0806FB40 + ldrb r1, [r2, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + ldr r1, [r2, 0x10] + str r1, [r0] + adds r0, r4, 0 + bl DestroyTask +_0806FB32: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806FB38: .4byte 0x0202e8f6 +_0806FB3C: .4byte 0x03004b20 +_0806FB40: .4byte 0x0201c000 + thumb_func_end sub_806FB0C + + thumb_func_start sub_806FB44 +sub_806FB44: @ 806FB44 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0806FB70 + ldrb r0, [r0] + cmp r0, 0 + bne _0806FB6A + ldr r3, _0806FB74 + ldr r2, _0806FB78 + ldrb r1, [r2, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + ldr r1, [r2, 0x14] + str r1, [r0] + adds r0, r4, 0 + bl DestroyTask +_0806FB6A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806FB70: .4byte 0x0202e8f6 +_0806FB74: .4byte 0x03004b20 +_0806FB78: .4byte 0x0201c000 + thumb_func_end sub_806FB44 + + thumb_func_start sub_806FB7C +sub_806FB7C: @ 806FB7C + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xAF + bne _0806FB90 + ldr r0, _0806FB8C + b _0806FB9A + .align 2, 0 +_0806FB8C: .4byte 0x02028daa +_0806FB90: + ldr r1, _0806FBA8 + subs r0, 0xD + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] +_0806FB9A: + ldrb r1, [r0, 0x4] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + bne _0806FBAC + movs r0, 0 + b _0806FBAE + .align 2, 0 +_0806FBA8: .4byte gItemEffectTable +_0806FBAC: + movs r0, 0x1 +_0806FBAE: + pop {r1} + bx r1 + thumb_func_end sub_806FB7C + + thumb_func_start sub_806FBB4 +sub_806FBB4: @ 806FBB4 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r4, r1, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_806E168 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_806E2C0 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_806FBB4 + + thumb_func_start GetMedicineItemEffectMessage +GetMedicineItemEffectMessage: @ 806FBD0 + push {lr} + lsls r0, 16 + lsrs r0, 16 + bl sub_8070E48 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x3 + cmp r0, 0x12 + bls _0806FBE6 + b _0806FD7C +_0806FBE6: + lsls r0, 2 + ldr r1, _0806FBF0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0806FBF0: .4byte _0806FBF4 + .align 2, 0 +_0806FBF4: + .4byte _0806FC40 + .4byte _0806FC54 + .4byte _0806FC68 + .4byte _0806FC7C + .4byte _0806FC90 + .4byte _0806FCA4 + .4byte _0806FCB8 + .4byte _0806FD7C + .4byte _0806FCCC + .4byte _0806FCF0 + .4byte _0806FCE0 + .4byte _0806FD20 + .4byte _0806FD30 + .4byte _0806FD10 + .4byte _0806FD00 + .4byte _0806FD7C + .4byte _0806FD54 + .4byte _0806FD54 + .4byte _0806FD68 +_0806FC40: + ldr r0, _0806FC4C + ldr r1, _0806FC50 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FC4C: .4byte 0x020234cc +_0806FC50: .4byte gUnknown_0840F4DA +_0806FC54: + ldr r0, _0806FC60 + ldr r1, _0806FC64 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FC60: .4byte 0x020234cc +_0806FC64: .4byte gUnknown_0840F518 +_0806FC68: + ldr r0, _0806FC74 + ldr r1, _0806FC78 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FC74: .4byte 0x020234cc +_0806FC78: .4byte gUnknown_0840F526 +_0806FC7C: + ldr r0, _0806FC88 + ldr r1, _0806FC8C + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FC88: .4byte 0x020234cc +_0806FC8C: .4byte gUnknown_0840F53E +_0806FC90: + ldr r0, _0806FC9C + ldr r1, _0806FCA0 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FC9C: .4byte 0x020234cc +_0806FCA0: .4byte gUnknown_0840F4FB +_0806FCA4: + ldr r0, _0806FCB0 + ldr r1, _0806FCB4 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FCB0: .4byte 0x020234cc +_0806FCB4: .4byte gUnknown_0840F5D7 +_0806FCB8: + ldr r0, _0806FCC4 + ldr r1, _0806FCC8 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FCC4: .4byte 0x020234cc +_0806FCC8: .4byte gUnknown_0840F5FA +_0806FCCC: + ldr r0, _0806FCD8 + ldr r1, _0806FCDC + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FCD8: .4byte 0x020234cc +_0806FCDC: .4byte gUnknown_0840F57C +_0806FCE0: + ldr r0, _0806FCE8 + ldr r1, _0806FCEC + b _0806FD34 + .align 2, 0 +_0806FCE8: .4byte 0x020232cc +_0806FCEC: .4byte gUnknown_0840EF72 +_0806FCF0: + ldr r0, _0806FCF8 + ldr r1, _0806FCFC + b _0806FD34 + .align 2, 0 +_0806FCF8: .4byte 0x020232cc +_0806FCFC: .4byte gUnknown_0840F7C6 +_0806FD00: + ldr r0, _0806FD08 + ldr r1, _0806FD0C + b _0806FD34 + .align 2, 0 +_0806FD08: .4byte 0x020232cc +_0806FD0C: .4byte gUnknown_0840F7CD +_0806FD10: + ldr r0, _0806FD18 + ldr r1, _0806FD1C + b _0806FD34 + .align 2, 0 +_0806FD18: .4byte 0x020232cc +_0806FD1C: .4byte gUnknown_0840F7E5 +_0806FD20: + ldr r0, _0806FD28 + ldr r1, _0806FD2C + b _0806FD34 + .align 2, 0 +_0806FD28: .4byte 0x020232cc +_0806FD2C: .4byte gUnknown_0840EF75 +_0806FD30: + ldr r0, _0806FD44 + ldr r1, _0806FD48 +_0806FD34: + bl StringCopy + ldr r0, _0806FD4C + ldr r1, _0806FD50 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FD44: .4byte 0x020232cc +_0806FD48: .4byte gUnknown_0840EF7D +_0806FD4C: .4byte 0x020234cc +_0806FD50: .4byte gUnknown_0840F5C1 +_0806FD54: + ldr r0, _0806FD60 + ldr r1, _0806FD64 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FD60: .4byte 0x020234cc +_0806FD64: .4byte gUnknown_0840F591 +_0806FD68: + ldr r0, _0806FD74 + ldr r1, _0806FD78 + bl StringExpandPlaceholders + b _0806FD84 + .align 2, 0 +_0806FD74: .4byte 0x020234cc +_0806FD78: .4byte gUnknown_0840F553 +_0806FD7C: + ldr r0, _0806FD88 + ldr r1, _0806FD8C + bl StringExpandPlaceholders +_0806FD84: + pop {r0} + bx r0 + .align 2, 0 +_0806FD88: .4byte 0x020234cc +_0806FD8C: .4byte gUnknown_0840EF85 + thumb_func_end GetMedicineItemEffectMessage + + thumb_func_start sub_806FD90 +sub_806FD90: @ 806FD90 + push {r4,lr} + adds r4, r0, 0 + lsls r0, r1, 16 + lsrs r0, 16 + bl sub_8070E48 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xD + bne _0806FDBC + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + ldr r1, _0806FDB8 + cmp r0, r1 + bne _0806FDBC + movs r0, 0x1 + b _0806FDBE + .align 2, 0 +_0806FDB8: .4byte 0x0000012f +_0806FDBC: + movs r0, 0 +_0806FDBE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_806FD90 + + thumb_func_start ExecuteTableBasedItemEffect__ +ExecuteTableBasedItemEffect__: @ 806FDC4 + push {r4-r6,lr} + lsls r0, 24 + lsrs r3, r0, 24 + lsls r1, 16 + lsrs r5, r1, 16 + lsls r2, 24 + lsrs r6, r2, 24 + ldr r0, _0806FDF0 + ldr r1, _0806FDF4 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _0806FDFC + movs r0, 0x64 + muls r0, r3 + ldr r1, _0806FDF8 + adds r0, r1 + adds r1, r5, 0 + adds r2, r3, 0 + b _0806FE16 + .align 2, 0 +_0806FDF0: .4byte 0x03001770 +_0806FDF4: .4byte 0x0000043d +_0806FDF8: .4byte 0x03004360 +_0806FDFC: + movs r0, 0x64 + adds r4, r3, 0 + muls r4, r0 + ldr r0, _0806FE28 + adds r4, r0 + adds r0, r3, 0 + bl sub_8094C20 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 +_0806FE16: + adds r3, r6, 0 + bl ExecuteTableBasedItemEffect_ + lsls r0, 24 + lsrs r0, 24 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_0806FE28: .4byte 0x03004360 + thumb_func_end ExecuteTableBasedItemEffect__ + + thumb_func_start sub_806FE2C +sub_806FE2C: @ 806FE2C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r4, r0, 0 + adds r5, r2, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 16 + lsrs r6, r1, 16 + movs r0, 0 + mov r9, r0 + ldr r1, _0806FED4 + mov r10, r1 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + add r1, r10 + ldr r0, _0806FED8 + str r0, [r1] + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r7, r0, 24 + adds r0, r4, 0 + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_806E8D0 + ldr r5, _0806FEDC + ldr r0, [r5] + adds r1, r6, 0 + bl sub_806FD90 + lsls r0, 24 + cmp r0, 0 + bne _0806FEE0 + adds r0, r6, 0 + bl sub_806FB7C + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r2, r7, 2 + mov r8, r2 + cmp r0, 0x1 + bne _0806FEC2 + ldr r0, [r5] + movs r1, 0x3A + bl GetMonData + mov r3, r8 + adds r1, r3, r7 + lsls r1, 3 + mov r2, r10 + adds r4, r1, r2 + strh r0, [r4, 0x1C] + ldr r0, [r5] + movs r1, 0x39 + bl GetMonData + strh r0, [r4, 0x1E] + movs r3, 0x1C + ldrsh r1, [r4, r3] + lsls r0, 16 + asrs r0, 16 + cmp r1, r0 + bne _0806FEC2 + movs r0, 0 + mov r9, r0 + mov r1, r9 + strh r1, [r4, 0x1C] + strh r1, [r4, 0x1E] +_0806FEC2: + ldr r0, _0806FEDC + ldrb r0, [r0, 0x5] + adds r1, r6, 0 + movs r2, 0 + bl ExecuteTableBasedItemEffect__ + lsls r0, 24 + lsrs r0, 24 + b _0806FEE6 + .align 2, 0 +_0806FED4: .4byte 0x03004b20 +_0806FED8: .4byte TaskDummy +_0806FEDC: .4byte 0x0201c000 +_0806FEE0: + movs r0, 0x1 + lsls r2, r7, 2 + mov r8, r2 +_0806FEE6: + cmp r0, 0 + beq _0806FF14 + ldr r1, _0806FF08 + movs r0, 0 + strb r0, [r1] + movs r0, 0x5 + bl audio_play + ldr r0, _0806FF0C + movs r1, 0x1 + bl sub_806E834 + ldr r1, _0806FF10 + mov r3, r8 + adds r0, r3, r7 + b _08070002 + .align 2, 0 +_0806FF08: .4byte 0x0202e8f4 +_0806FF0C: .4byte gUnknown_0840EF85 +_0806FF10: .4byte 0x03004b20 +_0806FF14: + ldr r1, _0806FF30 + movs r0, 0x1 + strb r0, [r1] + adds r0, r6, 0 + bl IsBlueYellowRedFlute + lsls r0, 24 + cmp r0, 0 + bne _0806FF34 + movs r0, 0x1 + bl audio_play + b _0806FF3A + .align 2, 0 +_0806FF30: .4byte 0x0202e8f4 +_0806FF34: + movs r0, 0x75 + bl audio_play +_0806FF3A: + ldr r4, _0806FF88 + ldr r0, [r4] + bl sub_80A1CD8 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x6 + beq _0806FF4E + cmp r0, 0 + bne _0806FF56 +_0806FF4E: + ldr r0, [r4] + ldrb r1, [r4, 0x5] + bl sub_806FBB4 +_0806FF56: + mov r0, r9 + cmp r0, 0x1 + bne _0806FFC8 + ldr r4, _0806FF88 + ldr r0, [r4] + movs r1, 0x39 + bl GetMonData + ldr r2, _0806FF8C + mov r3, r8 + adds r1, r3, r7 + lsls r1, 3 + adds r2, r1, r2 + ldrh r1, [r2, 0x1E] + subs r0, r1 + strh r0, [r2, 0x20] + ldr r0, _0806FF90 + str r0, [r4, 0xC] + movs r1, 0x1E + ldrsh r0, [r2, r1] + cmp r0, 0 + bne _0806FF94 + mov r3, r9 + strh r3, [r2, 0x24] + b _0806FF98 + .align 2, 0 +_0806FF88: .4byte 0x0201c000 +_0806FF8C: .4byte 0x03004b20 +_0806FF90: .4byte 0xffff8000 +_0806FF94: + movs r0, 0 + strh r0, [r2, 0x24] +_0806FF98: + ldr r2, _0806FFB8 + ldr r0, [r2, 0x10] + str r0, [r2, 0x14] + ldr r1, _0806FFBC + mov r3, r8 + adds r0, r3, r7 + lsls r0, 3 + adds r0, r1 + ldr r1, _0806FFC0 + str r1, [r0] + ldrh r0, [r0, 0x1E] + ldr r1, _0806FFC4 + adds r2, r1 + strh r0, [r2] + b _0807000A + .align 2, 0 +_0806FFB8: .4byte 0x0201c000 +_0806FFBC: .4byte 0x03004b20 +_0806FFC0: .4byte sub_806F8AC +_0806FFC4: .4byte 0xfffff282 +_0806FFC8: + ldr r4, _08070018 + ldr r0, [r4] + ldr r1, _0807001C + bl GetMonNickname + adds r0, r6, 0 + bl IsBlueYellowRedFlute + lsls r0, 24 + cmp r0, 0 + bne _0806FFE6 + adds r0, r6, 0 + movs r1, 0x1 + bl sub_80A9538 +_0806FFE6: + adds r0, r6, 0 + bl GetMedicineItemEffectMessage + ldrb r0, [r4, 0x5] + ldr r1, [r4] + bl sub_806E07C + ldr r0, _08070020 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _08070024 + mov r2, r8 + adds r0, r2, r7 +_08070002: + lsls r0, 3 + adds r0, r1 + ldr r1, _08070028 + str r1, [r0] +_0807000A: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08070018: .4byte 0x0201c000 +_0807001C: .4byte 0x020231cc +_08070020: .4byte 0x020234cc +_08070024: .4byte 0x03004b20 +_08070028: .4byte sub_806FB0C + thumb_func_end sub_806FE2C + + thumb_func_start IsBlueYellowRedFlute +IsBlueYellowRedFlute: @ 807002C + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x27 + beq _0807003E + cmp r0, 0x29 + beq _0807003E + cmp r0, 0x28 + bne _08070042 +_0807003E: + movs r0, 0x1 + b _08070044 +_08070042: + movs r0, 0 +_08070044: + pop {r1} + bx r1 + thumb_func_end IsBlueYellowRedFlute + + thumb_func_start sub_8070048 +sub_8070048: @ 8070048 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _08070078 + str r2, [r3, 0x10] + movs r4, 0 + strb r0, [r3, 0x4] + movs r2, 0 + strh r1, [r3, 0x6] + strb r2, [r3, 0x5] + ldr r1, _0807007C + str r1, [r3, 0x14] + ldr r2, _08070080 + adds r1, r3, r2 + strh r4, [r1] + ldr r1, _08070084 + adds r3, r1 + strh r4, [r3] + bl sub_8070088 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08070078: .4byte 0x0201c000 +_0807007C: .4byte sub_80701DC +_08070080: .4byte 0xfffff27e +_08070084: .4byte 0xfffff280 + thumb_func_end sub_8070048 + + thumb_func_start sub_8070088 +sub_8070088: @ 8070088 + 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 + ldr r1, _08070120 + mov r10, r1 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + mov r2, r10 + adds r7, r1, r2 + ldr r5, _08070124 + str r5, [r7] + ldr r4, _08070128 + ldrb r0, [r4, 0x5] + movs r1, 0x64 + mov r9, r1 + mov r2, r9 + muls r2, r0 + adds r0, r2, 0 + ldr r1, _0807012C + mov r8, r1 + add r0, r8 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _08070118 + adds r0, r5, 0 + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + str r0, [sp] + mov r0, r10 + adds r0, 0x8 + ldr r2, [sp] + adds r6, r2, r0 + ldrb r0, [r4, 0x5] + mov r1, r9 + muls r1, r0 + adds r0, r1, 0 + add r0, r8 + str r0, [r4] + movs r1, 0x3A + bl GetMonData + strh r0, [r6, 0x14] + ldr r0, [r4] + movs r1, 0x39 + bl GetMonData + strh r0, [r6, 0x16] + ldrb r0, [r4, 0x5] + ldrh r1, [r4, 0x6] + movs r2, 0 + bl ExecuteTableBasedItemEffect__ + lsls r0, 24 + cmp r0, 0 + beq _08070134 + adds r0, r5, 0 + bl DestroyTask +_08070118: + ldr r0, _08070130 + str r0, [r7] + b _080701B0 + .align 2, 0 +_08070120: .4byte 0x03004b20 +_08070124: .4byte TaskDummy +_08070128: .4byte 0x0201c000 +_0807012C: .4byte 0x03004360 +_08070130: .4byte sub_80701DC +_08070134: + ldr r1, _080701C0 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x3 + movs r1, 0xE + movs r2, 0x1A + movs r3, 0x13 + bl MenuZeroFillWindowRect + movs r0, 0x1 + bl audio_play + ldr r0, [r4] + ldrb r1, [r4, 0x5] + bl sub_806FBB4 + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + ldrb r1, [r4, 0x5] + lsls r1, 1 + adds r0, r1 + ldr r1, _080701C4 + adds r0, r1 + movs r1, 0x9 + bl task_pc_turn_off + ldr r2, _080701C8 + adds r1, r4, r2 + movs r0, 0x2 + strb r0, [r1] + ldr r0, [r4] + movs r1, 0x39 + bl GetMonData + ldrh r1, [r6, 0x16] + subs r0, r1 + strh r0, [r6, 0x18] + movs r0, 0x1 + strh r0, [r6, 0x1C] + ldr r1, _080701CC + adds r0, r4, r1 + movs r1, 0x1 + strh r1, [r0] + ldr r2, _080701D0 + adds r0, r4, r2 + strh r1, [r0] + ldrh r1, [r6, 0x16] + adds r2, 0x2 + adds r0, r4, r2 + strh r1, [r0] + ldr r0, _080701D4 + str r0, [r4, 0xC] + ldr r1, [sp] + add r1, r10 + ldr r0, _080701D8 + str r0, [r1] +_080701B0: + 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 +_080701C0: .4byte 0x0202e8f4 +_080701C4: .4byte gUnknown_083769A8 +_080701C8: .4byte 0xfffff261 +_080701CC: .4byte 0xfffff27e +_080701D0: .4byte 0xfffff280 +_080701D4: .4byte 0xffff8000 +_080701D8: .4byte sub_806F8AC + thumb_func_end sub_8070088 + + thumb_func_start sub_80701DC +sub_80701DC: @ 80701DC + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r6, _08070280 + ldr r0, _08070284 + adds r7, r6, r0 + movs r1, 0 + ldrsh r0, [r7, r1] + cmp r0, 0x1 + bne _0807023E + movs r0, 0x80 + lsls r0, 5 + adds r4, r6, r0 + ldrh r0, [r4, 0x6] + movs r1, 0x1 + bl sub_80A9424 + ldrb r1, [r4, 0x5] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08070288 + adds r0, r1 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0807023A + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + ldrb r1, [r4, 0x5] + lsls r1, 1 + adds r0, r1 + ldr r1, _0807028C + adds r0, r1 + movs r1, 0x3 + bl task_pc_turn_off + ldr r0, _08070290 + adds r1, r6, r0 + movs r0, 0x2 + strb r0, [r1] +_0807023A: + movs r0, 0 + strh r0, [r7] +_0807023E: + ldr r4, _08070294 + ldrb r0, [r4, 0x5] + adds r0, 0x1 + strb r0, [r4, 0x5] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x6 + bne _080702D8 + ldr r1, _08070298 + movs r0, 0 + strb r0, [r1] + ldr r1, _0807029C + adds r0, r4, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _080702B0 + ldr r1, _080702A0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _080702A4 + str r1, [r0] + ldr r0, _080702A8 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _080702AC + movs r1, 0x8 + bl CreateTask + b _080702C6 + .align 2, 0 +_08070280: .4byte 0x0201b000 +_08070284: .4byte 0x0000027e +_08070288: .4byte 0x03004360 +_0807028C: .4byte gUnknown_083769A8 +_08070290: .4byte 0x00000261 +_08070294: .4byte 0x0201c000 +_08070298: .4byte 0x0202e8f4 +_0807029C: .4byte 0xfffff280 +_080702A0: .4byte 0x03004b20 +_080702A4: .4byte TaskDummy +_080702A8: .4byte gUnknown_0840EF85 +_080702AC: .4byte sub_806FB0C +_080702B0: + ldrh r0, [r4, 0x6] + movs r1, 0x1 + bl sub_80A9538 + ldr r1, _080702D0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, [r4, 0x10] + str r1, [r0] +_080702C6: + ldr r1, _080702D4 + movs r0, 0 + strb r0, [r1] + b _080702DE + .align 2, 0 +_080702D0: .4byte 0x03004b20 +_080702D4: .4byte 0x03005ce0 +_080702D8: + adds r0, r5, 0 + bl sub_8070088 +_080702DE: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80701DC + + thumb_func_start sub_80702E4 +sub_80702E4: @ 80702E4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r6, 0 + movs r0, 0x13 + movs r1, 0xA + movs r2, 0x1D + movs r3, 0x13 + bl MenuDrawTextWindow + movs r5, 0 + movs r0, 0x64 + adds r7, r4, 0 + muls r7, r0 + ldr r0, _0807036C + mov r8, r0 +_0807030C: + adds r1, r5, 0 + adds r1, 0xD + mov r2, r8 + adds r0, r7, r2 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + movs r0, 0xD + muls r0, r4 + ldr r1, _08070370 + adds r0, r1 + lsls r2, r5, 25 + movs r1, 0xB0 + lsls r1, 20 + adds r2, r1 + lsrs r2, 24 + movs r1, 0x14 + bl MenuPrint + cmp r4, 0 + beq _08070340 + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_08070340: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x3 + bls _0807030C + movs r0, 0 + str r0, [sp] + movs r0, 0x9 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x14 + movs r2, 0xB + adds r3, r6, 0 + bl InitMenu + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807036C: .4byte 0x03004360 +_08070370: .4byte gMoveNames + thumb_func_end sub_80702E4 + + thumb_func_start sub_8070374 +sub_8070374: @ 8070374 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + adds r4, r2, 0 + ldr r0, _08070398 + ldrh r1, [r0, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0807039C + movs r0, 0x5 + bl audio_play + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursor + b _080703E4 + .align 2, 0 +_08070398: .4byte 0x03001770 +_0807039C: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080703B2 + movs r0, 0x5 + bl audio_play + movs r0, 0x1 + bl MoveMenuCursor + b _080703E4 +_080703B2: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080703CC + ldr r0, _080703C8 + ldr r1, [r0] + adds r0, r2, 0 + bl _call_via_r1 + b _080703E4 + .align 2, 0 +_080703C8: .4byte gUnknown_08376B54 +_080703CC: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080703E4 + movs r0, 0x5 + bl audio_play + ldr r0, _080703EC + ldr r1, [r0, 0x4] + adds r0, r4, 0 + bl _call_via_r1 +_080703E4: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080703EC: .4byte gUnknown_08376B54 + thumb_func_end sub_8070374 + + thumb_func_start dp05_ether +dp05_ether: @ 80703F0 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r9, r2 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 16 + lsrs r5, r1, 16 + cmp r5, 0xAF + bne _08070410 + ldr r0, _0807040C + b _0807041C + .align 2, 0 +_0807040C: .4byte 0x02028daa +_08070410: + ldr r1, _08070464 + adds r0, r5, 0 + subs r0, 0xD + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] +_0807041C: + mov r8, r0 + ldr r7, _08070468 + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r7 + ldr r0, _0807046C + str r0, [r1] + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r6, 0 + adds r1, r5, 0 + mov r2, r9 + bl sub_806E8D0 + mov r0, r8 + ldrb r1, [r0, 0x4] + movs r0, 0x10 + ands r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _08070470 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r7 + strh r1, [r0, 0x1E] + adds r0, r4, 0 + bl ether_effect_related + b _08070498 + .align 2, 0 +_08070464: .4byte gItemEffectTable +_08070468: .4byte 0x03004b20 +_0807046C: .4byte TaskDummy +_08070470: + movs r0, 0x5 + bl audio_play + movs r0, 0xA + movs r1, 0x3 + bl sub_806D538 + ldr r0, _080704A4 + ldrb r0, [r0, 0x5] + bl sub_80702E4 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r7 + ldr r1, _080704A8 + str r1, [r0] + ldr r1, _080704AC + movs r0, 0 + strh r0, [r1, 0x2E] +_08070498: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080704A4: .4byte 0x0201c000 +_080704A8: .4byte sub_8070374 +_080704AC: .4byte 0x03001770 + thumb_func_end dp05_ether + + thumb_func_start ether_effect_related_2 +ether_effect_related_2: @ 80704B0 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8072DEC + movs r0, 0x13 + movs r1, 0xA + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + bl sub_806D5A4 + bl GetMenuCursorPos + ldr r2, _080704EC + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r2 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r1, 0x1E] + adds r0, r4, 0 + bl ether_effect_related + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080704EC: .4byte 0x03004b20 + thumb_func_end ether_effect_related_2 + + thumb_func_start sub_80704F0 +sub_80704F0: @ 80704F0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8072DEC + movs r0, 0x13 + movs r1, 0xA + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r0, _08070528 + ldr r1, _0807052C + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0807053C + ldr r2, _08070530 + ldr r0, _08070534 + ldrb r1, [r0, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldr r1, _08070538 + b _0807054C + .align 2, 0 +_08070528: .4byte 0x03001770 +_0807052C: .4byte 0x0000043d +_08070530: .4byte 0x03004b20 +_08070534: .4byte 0x0201c000 +_08070538: .4byte sub_8095118 +_0807053C: + ldr r2, _08070564 + ldr r0, _08070568 + ldrb r1, [r0, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldr r1, _0807056C +_0807054C: + str r1, [r0] + movs r0, 0x3 + movs r1, 0 + bl sub_806D538 + adds r0, r4, 0 + bl DestroyTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08070564: .4byte 0x03004b20 +_08070568: .4byte 0x0201c000 +_0807056C: .4byte sub_808B0C0 + thumb_func_end sub_80704F0 + + thumb_func_start ether_effect_related +ether_effect_related: @ 8070570 + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r5, 0 + ldr r6, _080705A8 + ldrb r0, [r6, 0x5] + ldrh r1, [r6, 0x6] + ldr r3, _080705AC + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 3 + adds r7, r2, r3 + ldrb r2, [r7, 0x1E] + bl ExecuteTableBasedItemEffect__ + lsls r0, 24 + cmp r0, 0 + beq _080705B8 + ldr r0, _080705B0 + strb r5, [r0] + movs r0, 0x5 + bl audio_play + ldr r0, _080705B4 + movs r1, 0x1 + bl sub_806E834 + b _080705F8 + .align 2, 0 +_080705A8: .4byte 0x0201c000 +_080705AC: .4byte 0x03004b20 +_080705B0: .4byte 0x0202e8f4 +_080705B4: .4byte gUnknown_0840EF85 +_080705B8: + ldr r1, _0807060C + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x1 + bl audio_play + ldrh r0, [r6, 0x6] + movs r1, 0x1 + bl sub_80A9538 + ldr r0, [r6] + movs r2, 0x1E + ldrsh r1, [r7, r2] + adds r1, 0xD + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _08070610 + movs r1, 0xD + muls r1, r5 + ldr r2, _08070614 + adds r1, r2 + bl StringCopy + ldrh r0, [r6, 0x6] + bl GetMedicineItemEffectMessage + ldr r0, _08070618 + movs r1, 0x1 + bl sub_806E834 +_080705F8: + ldr r0, _0807061C + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _08070620 + str r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807060C: .4byte 0x0202e8f4 +_08070610: .4byte 0x020231cc +_08070614: .4byte gMoveNames +_08070618: .4byte 0x020234cc +_0807061C: .4byte 0x03004b20 +_08070620: .4byte sub_806FB0C + thumb_func_end ether_effect_related + + thumb_func_start dp05_pp_up +dp05_pp_up: @ 8070624 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r1, 16 + ldr r4, _0807066C + lsls r3, r0, 2 + adds r3, r0 + lsls r3, 3 + adds r3, r4 + ldr r4, _08070670 + str r4, [r3] + bl sub_806E8D0 + movs r0, 0x5 + bl audio_play + movs r0, 0xB + movs r1, 0x3 + bl sub_806D538 + ldr r0, _08070674 + ldrb r0, [r0, 0x5] + bl sub_80702E4 + ldr r0, _08070678 + movs r1, 0x5 + bl CreateTask + ldr r1, _0807067C + movs r0, 0 + strh r0, [r1, 0x2E] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807066C: .4byte 0x03004b20 +_08070670: .4byte TaskDummy +_08070674: .4byte 0x0201c000 +_08070678: .4byte sub_8070374 +_0807067C: .4byte 0x03001770 + thumb_func_end dp05_pp_up + + thumb_func_start sub_8070680 +sub_8070680: @ 8070680 + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r6, r1, 16 + ldr r3, _080706E0 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + ldr r3, _080706E4 + str r3, [r1] + adds r1, r6, 0 + bl sub_806E8D0 + ldr r5, _080706E8 + ldr r0, [r5] + movs r1, 0x38 + bl GetMonData + cmp r0, 0x64 + beq _080706F4 + movs r4, 0 + ldr r0, _080706EC + adds r7, r5, r0 +_080706B2: + ldr r0, [r5] + ldr r1, _080706F0 + adds r1, r4, r1 + ldrb r1, [r1] + bl GetMonData + lsls r1, r4, 1 + adds r1, r7, r1 + strh r0, [r1] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _080706B2 + ldr r0, _080706E8 + ldrb r0, [r0, 0x5] + adds r1, r6, 0 + movs r2, 0 + bl ExecuteTableBasedItemEffect__ + lsls r0, 24 + lsrs r0, 24 + b _080706F6 + .align 2, 0 +_080706E0: .4byte 0x03004b20 +_080706E4: .4byte TaskDummy +_080706E8: .4byte 0x0201c000 +_080706EC: .4byte 0xfffff264 +_080706F0: .4byte gUnknown_08376D1C +_080706F4: + movs r0, 0x1 +_080706F6: + cmp r0, 0 + beq _08070724 + ldr r1, _08070718 + movs r0, 0 + strb r0, [r1] + movs r0, 0x5 + bl audio_play + ldr r0, _0807071C + movs r1, 0x1 + bl sub_806E834 + ldr r0, _08070720 + movs r1, 0x5 + bl CreateTask + b _0807077C + .align 2, 0 +_08070718: .4byte 0x0202e8f4 +_0807071C: .4byte gUnknown_0840EF85 +_08070720: .4byte sub_806FB0C +_08070724: + ldr r1, _08070784 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0 + bl pause_music_for_sound_maybe + ldr r4, _08070788 + ldrb r0, [r4, 0x5] + ldr r1, [r4] + bl sub_8070A20 + adds r0, r6, 0 + movs r1, 0x1 + bl sub_80A9538 + ldr r0, [r4] + ldr r1, _0807078C + bl GetMonNickname + ldr r0, [r4] + movs r1, 0x38 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r0, _08070790 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + ldr r4, _08070794 + ldr r1, _08070798 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _0807079C + movs r1, 0x5 + bl CreateTask +_0807077C: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08070784: .4byte 0x0202e8f4 +_08070788: .4byte 0x0201c000 +_0807078C: .4byte 0x020231cc +_08070790: .4byte 0x020232cc +_08070794: .4byte 0x020234cc +_08070798: .4byte gUnknown_0840F5A6 +_0807079C: .4byte sub_80707A0 + thumb_func_end sub_8070680 + + thumb_func_start sub_80707A0 +sub_80707A0: @ 80707A0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + bl ducking_tick + lsls r0, 24 + cmp r0, 0 + beq _080707E8 + ldr r0, _080707F0 + ldrb r0, [r0] + cmp r0, 0 + bne _080707E8 + ldr r0, _080707F4 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080707CE + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080707E8 +_080707CE: + movs r0, 0x5 + bl audio_play + adds r0, r4, 0 + bl sub_8070848 + ldr r0, _080707F8 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _080707FC + str r0, [r1] +_080707E8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080707F0: .4byte 0x0202e8f6 +_080707F4: .4byte 0x03001770 +_080707F8: .4byte 0x03004b20 +_080707FC: .4byte sub_8070800 + thumb_func_end sub_80707A0 + + thumb_func_start sub_8070800 +sub_8070800: @ 8070800 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0807083C + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0807081A + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08070834 +_0807081A: + movs r0, 0x5 + bl audio_play + adds r0, r4, 0 + bl sub_8070968 + ldr r0, _08070840 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _08070844 + str r0, [r1] +_08070834: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807083C: .4byte 0x03001770 +_08070840: .4byte 0x03004b20 +_08070844: .4byte sub_8070AC8 + thumb_func_end sub_8070800 + + thumb_func_start sub_8070848 +sub_8070848: @ 8070848 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r0, 0xB + movs r1, 0 + movs r2, 0x1D + movs r3, 0x7 + bl MenuDrawTextWindow + movs r7, 0 + ldr r0, _080708E4 + mov r10, r0 +_08070864: + ldr r1, _080708E8 + ldr r0, [r1] + ldr r1, _080708EC + adds r1, r7, r1 + ldrb r1, [r1] + bl GetMonData + adds r1, r7, 0x6 + lsls r1, 1 + ldr r2, _080708F0 + adds r1, r2 + strh r0, [r1] + lsls r4, r7, 1 + adds r2, r4, r2 + ldrh r1, [r2] + subs r0, r1 + strh r0, [r2] + adds r0, r7, 0 + movs r1, 0x3 + bl __udivsi3 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 3 + adds r1, r0 + adds r1, 0xB + lsls r1, 24 + lsrs r6, r1, 24 + adds r0, r7, 0 + movs r1, 0x3 + bl __umodsi3 + lsls r0, 1 + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r1, _080708F4 + lsls r0, r7, 2 + adds r0, r1 + ldr r0, [r0] + adds r1, r6, 0x1 + lsls r1, 27 + lsrs r1, 24 + mov r2, r9 + lsls r5, r2, 3 + adds r2, r5, 0 + movs r3, 0x1 + bl sub_80729D8 + mov r8, r4 + cmp r7, 0x2 + bne _080708FC + adds r4, r6, 0x6 + lsls r1, r4, 3 + adds r1, 0x6 + lsls r1, 24 + lsrs r1, 24 + ldr r0, _080708F8 + adds r2, r5, 0 + movs r3, 0 + bl sub_80729D8 + b _08070910 + .align 2, 0 +_080708E4: .4byte 0x020231cc +_080708E8: .4byte 0x0201c000 +_080708EC: .4byte gUnknown_08376D1C +_080708F0: .4byte 0x0201b264 +_080708F4: .4byte gUnknown_08376D04 +_080708F8: .4byte gUnknown_0840E691 +_080708FC: + adds r4, r6, 0x6 + lsls r1, r4, 3 + adds r1, 0x6 + lsls r1, 24 + lsrs r1, 24 + ldr r0, _08070960 + adds r2, r5, 0 + movs r3, 0x1 + bl sub_80729D8 +_08070910: + movs r0, 0xFC + mov r1, r10 + strb r0, [r1] + movs r0, 0x14 + strb r0, [r1, 0x1] + movs r0, 0x6 + strb r0, [r1, 0x2] + ldr r0, _08070964 + add r0, r8 + movs r2, 0 + ldrsh r1, [r0, r2] + mov r0, r10 + adds r0, 0x3 + movs r2, 0x1 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + lsls r1, r4, 27 + movs r0, 0xC0 + lsls r0, 20 + adds r1, r0 + lsrs r1, 24 + mov r0, r9 + lsls r2, r0, 3 + mov r0, r10 + movs r3, 0 + bl sub_80729D8 + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x5 + bls _08070864 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08070960: .4byte gUnknown_0840E691 +_08070964: .4byte 0x0201b264 + thumb_func_end sub_8070848 + + thumb_func_start sub_8070968 +sub_8070968: @ 8070968 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r7, 0 + ldr r0, _08070A10 + mov r9, r0 + ldr r1, _08070A14 + add r1, r9 + mov r10, r1 + ldr r0, _08070A18 + mov r8, r0 +_08070982: + mov r1, r9 + ldr r0, [r1] + ldr r1, _08070A1C + adds r1, r7, r1 + ldrb r1, [r1] + bl GetMonData + adds r6, r7, 0x6 + lsls r6, 1 + add r6, r10 + strh r0, [r6] + adds r0, r7, 0 + movs r1, 0x3 + bl __udivsi3 + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 3 + adds r4, r0 + adds r4, 0xB + lsls r4, 24 + lsrs r4, 24 + adds r0, r7, 0 + movs r1, 0x3 + bl __umodsi3 + adds r5, r0, 0 + lsls r5, 1 + adds r5, 0x1 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0xFC + mov r1, r8 + strb r0, [r1] + movs r0, 0x14 + strb r0, [r1, 0x1] + movs r0, 0x6 + strb r0, [r1, 0x2] + movs r0, 0 + ldrsh r1, [r6, r0] + mov r0, r8 + adds r0, 0x3 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r4, 0x6 + lsls r4, 3 + adds r4, 0x6 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 3 + mov r0, r8 + adds r1, r4, 0 + adds r2, r5, 0 + movs r3, 0 + bl sub_80729D8 + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x5 + bls _08070982 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08070A10: .4byte 0x0201c000 +_08070A14: .4byte 0xfffff264 +_08070A18: .4byte 0x020231cc +_08070A1C: .4byte gUnknown_08376D1C + thumb_func_end sub_8070968 + + thumb_func_start sub_8070A20 +sub_8070A20: @ 8070A20 + push {r4-r7,lr} + adds r6, r1, 0 + lsls r0, 24 + lsrs r7, r0, 24 + adds r0, r6, 0 + bl sub_80A1CD8 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _08070A3A + cmp r0, 0x6 + bne _08070A42 +_08070A3A: + adds r0, r6, 0 + adds r1, r7, 0 + bl sub_806FBB4 +_08070A42: + bl battle_type_is_double + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + adds r0, r6, 0 + movs r1, 0x39 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r6, 0 + movs r1, 0x3A + bl GetMonData + adds r3, r0, 0 + lsls r3, 16 + lsrs r3, 16 + adds r0, r7, 0 + adds r1, r5, 0 + adds r2, r4, 0 + bl sub_806E420 + adds r0, r7, 0 + adds r1, r6, 0 + bl sub_806E674 + ldr r4, _08070ABC + ldrb r0, [r4, 0x4] + adds r1, r7, 0 + bl sub_806DDA0 + lsls r0, 24 + lsrs r0, 24 + adds r1, r6, 0 + bl sub_806D84C + bl battle_type_is_double + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + lsls r1, r7, 1 + adds r0, r1 + ldr r1, _08070AC0 + adds r0, r1 + movs r1, 0x7 + bl task_pc_turn_off + ldr r0, _08070AC4 + adds r4, r0 + movs r0, 0x2 + strb r0, [r4] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08070ABC: .4byte 0x0201c000 +_08070AC0: .4byte gUnknown_083769A8 +_08070AC4: .4byte 0xfffff261 + thumb_func_end sub_8070A20 + + thumb_func_start sub_8070AC8 +sub_8070AC8: @ 8070AC8 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0 + bl ducking_tick + lsls r0, 24 + cmp r0, 0 + bne _08070ADC + b _08070C2C +_08070ADC: + ldr r0, _08070B24 + ldrh r1, [r0, 0x2E] + movs r5, 0x1 + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _08070AF4 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _08070AF4 + b _08070C2C +_08070AF4: + movs r0, 0xB + movs r1, 0 + movs r2, 0x1D + movs r3, 0x7 + bl MenuZeroFillWindowRect + ldr r7, _08070B28 + ldr r0, [r7] + movs r1, 0x1 + bl sub_803B7C8 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r1, _08070B2C + adds r0, r7, r1 + strh r5, [r0] + ldr r0, _08070B30 + cmp r4, r0 + beq _08070BDC + cmp r4, r0 + bgt _08070B34 + cmp r4, 0 + beq _08070B40 + b _08070BF4 + .align 2, 0 +_08070B24: .4byte 0x03001770 +_08070B28: .4byte 0x0201c000 +_08070B2C: .4byte 0xfffff282 +_08070B30: .4byte 0x0000fffe +_08070B34: + ldr r0, _08070B3C + cmp r4, r0 + beq _08070B7C + b _08070BF4 + .align 2, 0 +_08070B3C: .4byte 0x0000ffff +_08070B40: + ldr r0, [r7] + movs r1, 0 + movs r2, 0 + bl GetEvolutionTargetSpecies + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0 + beq _08070B74 + ldr r1, _08070B6C + ldr r0, _08070B70 + str r0, [r1] + ldr r0, [r7] + ldrb r3, [r7, 0x5] + adds r1, r2, 0 + movs r2, 0x1 + bl sub_8111924 + adds r0, r6, 0 + bl DestroyTask + b _08070C2C + .align 2, 0 +_08070B6C: .4byte 0x03005e94 +_08070B70: .4byte sub_80A53F8 +_08070B74: + adds r0, r6, 0 + bl sub_8070D90 + b _08070C2C +_08070B7C: + ldr r0, [r7] + ldr r1, _08070BBC + bl GetMonNickname + ldr r0, _08070BC0 + ldr r5, _08070BC4 + ldrh r2, [r5] + movs r1, 0xD + muls r1, r2 + ldr r2, _08070BC8 + adds r1, r2 + bl StringCopy + ldr r4, _08070BCC + ldr r1, _08070BD0 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldrh r0, [r5] + strh r0, [r7, 0x8] + ldr r1, _08070BD4 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _08070BD8 + b _08070C2A + .align 2, 0 +_08070BBC: .4byte 0x020231cc +_08070BC0: .4byte 0x020232cc +_08070BC4: .4byte 0x02024e82 +_08070BC8: .4byte gMoveNames +_08070BCC: .4byte 0x020234cc +_08070BD0: .4byte gUnknown_0840F37C +_08070BD4: .4byte 0x03004b20 +_08070BD8: .4byte sub_806F358 +_08070BDC: + ldr r0, _08070BEC + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + ldr r0, _08070BF0 + str r0, [r1] + b _08070C2C + .align 2, 0 +_08070BEC: .4byte 0x03004b20 +_08070BF0: .4byte sub_8070C54 +_08070BF4: + ldr r0, _08070C34 + ldr r0, [r0] + ldr r1, _08070C38 + bl GetMonNickname + ldr r0, _08070C3C + movs r1, 0xD + muls r1, r4 + ldr r2, _08070C40 + adds r1, r2 + bl StringCopy + ldr r4, _08070C44 + ldr r1, _08070C48 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _08070C4C + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _08070C50 +_08070C2A: + str r1, [r0] +_08070C2C: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08070C34: .4byte 0x0201c000 +_08070C38: .4byte 0x020231cc +_08070C3C: .4byte 0x020232cc +_08070C40: .4byte gMoveNames +_08070C44: .4byte 0x020234cc +_08070C48: .4byte gUnknown_0840F338 +_08070C4C: .4byte 0x03004b20 +_08070C50: .4byte sub_806F254 + thumb_func_end sub_8070AC8 + + thumb_func_start sub_8070C54 +sub_8070C54: @ 8070C54 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r7, _08070C78 + ldr r0, [r7] + movs r1, 0 + bl sub_803B7C8 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, _08070C7C + cmp r4, r0 + beq _08070D28 + cmp r4, r0 + bgt _08070C80 + cmp r4, 0 + beq _08070C8C + b _08070D30 + .align 2, 0 +_08070C78: .4byte 0x0201c000 +_08070C7C: .4byte 0x0000fffe +_08070C80: + ldr r0, _08070C88 + cmp r4, r0 + beq _08070CC8 + b _08070D30 + .align 2, 0 +_08070C88: .4byte 0x0000ffff +_08070C8C: + ldr r0, [r7] + movs r1, 0 + movs r2, 0 + bl GetEvolutionTargetSpecies + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0 + beq _08070CC0 + ldr r1, _08070CB8 + ldr r0, _08070CBC + str r0, [r1] + ldr r0, [r7] + ldrb r3, [r7, 0x5] + adds r1, r2, 0 + movs r2, 0x1 + bl sub_8111924 + adds r0, r6, 0 + bl DestroyTask + b _08070D68 + .align 2, 0 +_08070CB8: .4byte 0x03005e94 +_08070CBC: .4byte sub_80A53F8 +_08070CC0: + adds r0, r6, 0 + bl sub_8070D90 + b _08070D68 +_08070CC8: + ldr r0, [r7] + ldr r1, _08070D08 + bl GetMonNickname + ldr r0, _08070D0C + ldr r5, _08070D10 + ldrh r2, [r5] + movs r1, 0xD + muls r1, r2 + ldr r2, _08070D14 + adds r1, r2 + bl StringCopy + ldr r4, _08070D18 + ldr r1, _08070D1C + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldrh r0, [r5] + strh r0, [r7, 0x8] + ldr r1, _08070D20 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _08070D24 + b _08070D66 + .align 2, 0 +_08070D08: .4byte 0x020231cc +_08070D0C: .4byte 0x020232cc +_08070D10: .4byte 0x02024e82 +_08070D14: .4byte gMoveNames +_08070D18: .4byte 0x020234cc +_08070D1C: .4byte gUnknown_0840F37C +_08070D20: .4byte 0x03004b20 +_08070D24: .4byte sub_806F358 +_08070D28: + adds r0, r6, 0 + bl sub_8070C54 + b _08070D68 +_08070D30: + ldr r0, _08070D70 + ldr r0, [r0] + ldr r1, _08070D74 + bl GetMonNickname + ldr r0, _08070D78 + movs r1, 0xD + muls r1, r4 + ldr r2, _08070D7C + adds r1, r2 + bl StringCopy + ldr r4, _08070D80 + ldr r1, _08070D84 + adds r0, r4, 0 + bl StringExpandPlaceholders + adds r0, r4, 0 + movs r1, 0x1 + bl sub_806E834 + ldr r1, _08070D88 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _08070D8C +_08070D66: + str r1, [r0] +_08070D68: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08070D70: .4byte 0x0201c000 +_08070D74: .4byte 0x020231cc +_08070D78: .4byte 0x020232cc +_08070D7C: .4byte gMoveNames +_08070D80: .4byte 0x020234cc +_08070D84: .4byte gUnknown_0840F338 +_08070D88: .4byte 0x03004b20 +_08070D8C: .4byte sub_806F254 + thumb_func_end sub_8070C54 + + thumb_func_start sub_8070D90 +sub_8070D90: @ 8070D90 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r4, _08070DB4 + ldr r3, _08070DB8 + ldrb r2, [r3, 0x4] + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r4 + ldr r2, [r3, 0x10] + str r2, [r1] + bl DestroyTask + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08070DB4: .4byte 0x03004b20 +_08070DB8: .4byte 0x0201c000 + thumb_func_end sub_8070D90 + + thumb_func_start sub_8070DBC +sub_8070DBC: @ 8070DBC + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r2, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 16 + lsrs r6, r1, 16 + movs r0, 0x5 + bl audio_play + ldr r1, _08070E18 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08070E1C + str r1, [r0] + adds r0, r4, 0 + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_806E8D0 + ldr r1, _08070E20 + ldr r0, _08070E24 + str r0, [r1] + ldr r0, _08070E28 + ldrb r0, [r0, 0x5] + adds r1, r6, 0 + movs r2, 0 + bl ExecuteTableBasedItemEffect__ + lsls r0, 24 + cmp r0, 0 + beq _08070E38 + ldr r1, _08070E2C + movs r0, 0 + strb r0, [r1] + ldr r0, _08070E30 + movs r1, 0x1 + bl sub_806E834 + ldr r0, _08070E34 + movs r1, 0x5 + bl CreateTask + b _08070E40 + .align 2, 0 +_08070E18: .4byte 0x03004b20 +_08070E1C: .4byte TaskDummy +_08070E20: .4byte 0x03005e94 +_08070E24: .4byte sub_80A53F8 +_08070E28: .4byte 0x0201c000 +_08070E2C: .4byte 0x0202e8f4 +_08070E30: .4byte gUnknown_0840EF85 +_08070E34: .4byte sub_806FB0C +_08070E38: + adds r0, r6, 0 + movs r1, 0x1 + bl sub_80A9538 +_08070E40: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8070DBC + + thumb_func_start sub_8070E48 +sub_8070E48: @ 8070E48 + push {r4,r5,lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xAF + bne _08070E5C + ldr r4, _08070E58 + b _08070E66 + .align 2, 0 +_08070E58: .4byte 0x02028daa +_08070E5C: + ldr r1, _08070E8C + subs r0, 0xD + lsls r0, 2 + adds r0, r1 + ldr r4, [r0] +_08070E66: + ldrb r1, [r4] + movs r5, 0x3F + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _08070E88 + ldrb r0, [r4, 0x1] + cmp r0, 0 + bne _08070E88 + ldrb r0, [r4, 0x2] + cmp r0, 0 + bne _08070E88 + ldrb r3, [r4, 0x3] + movs r0, 0x80 + ands r0, r3 + cmp r0, 0 + beq _08070E90 +_08070E88: + movs r0, 0 + b _08070F8A + .align 2, 0 +_08070E8C: .4byte gItemEffectTable +_08070E90: + movs r2, 0x40 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + beq _08070E9E + movs r0, 0xA + b _08070F8A +_08070E9E: + adds r0, r2, 0 + ands r0, r3 + cmp r0, 0 + beq _08070EAA + movs r0, 0x1 + b _08070F8A +_08070EAA: + adds r2, r5, 0 + ands r2, r3 + cmp r2, 0 + bne _08070EB8 + lsrs r0, r1, 7 + cmp r0, 0 + beq _08070EFA +_08070EB8: + cmp r2, 0x20 + bne _08070EC0 + movs r0, 0x4 + b _08070F8A +_08070EC0: + cmp r2, 0x10 + bne _08070EC8 + movs r0, 0x3 + b _08070F8A +_08070EC8: + cmp r2, 0x8 + bne _08070ED0 + movs r0, 0x5 + b _08070F8A +_08070ED0: + cmp r2, 0x4 + bne _08070ED8 + movs r0, 0x6 + b _08070F8A +_08070ED8: + cmp r2, 0x2 + bne _08070EE0 + movs r0, 0x7 + b _08070F8A +_08070EE0: + cmp r2, 0x1 + bne _08070EE8 + movs r0, 0x8 + b _08070F8A +_08070EE8: + lsrs r0, r1, 7 + cmp r0, 0 + beq _08070EF6 + cmp r2, 0 + bne _08070EF6 + movs r0, 0x9 + b _08070F8A +_08070EF6: + movs r0, 0xB + b _08070F8A +_08070EFA: + ldrb r1, [r4, 0x4] + movs r0, 0x44 + ands r0, r1 + adds r2, r1, 0 + cmp r0, 0 + beq _08070F0A + movs r0, 0x2 + b _08070F8A +_08070F0A: + movs r5, 0x2 + adds r0, r5, 0 + ands r0, r2 + cmp r0, 0 + beq _08070F18 + movs r0, 0xC + b _08070F8A +_08070F18: + movs r3, 0x1 + adds r0, r3, 0 + ands r0, r2 + cmp r0, 0 + beq _08070F26 + movs r0, 0xD + b _08070F8A +_08070F26: + ldrb r1, [r4, 0x5] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08070F34 + movs r0, 0xE + b _08070F8A +_08070F34: + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08070F40 + movs r0, 0xF + b _08070F8A +_08070F40: + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + beq _08070F4C + movs r0, 0x10 + b _08070F8A +_08070F4C: + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _08070F58 + movs r0, 0x11 + b _08070F8A +_08070F58: + movs r0, 0x80 + ands r0, r2 + cmp r0, 0 + beq _08070F64 + movs r0, 0x12 + b _08070F8A +_08070F64: + movs r0, 0x20 + ands r0, r2 + cmp r0, 0 + beq _08070F70 + movs r0, 0x13 + b _08070F8A +_08070F70: + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08070F7C + movs r0, 0x14 + b _08070F8A +_08070F7C: + movs r0, 0x18 + ands r0, r2 + cmp r0, 0 + bne _08070F88 + movs r0, 0x16 + b _08070F8A +_08070F88: + movs r0, 0x15 +_08070F8A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8070E48 + + thumb_func_start unref_sub_8070F90 +unref_sub_8070F90: @ 8070F90 + push {lr} + ldr r0, _08070FAC + bl FlagSet + movs r0, 0x80 + lsls r0, 4 + bl FlagSet + ldr r0, _08070FB0 + bl FlagSet + pop {r0} + bx r0 + .align 2, 0 +_08070FAC: .4byte 0x00000801 +_08070FB0: .4byte 0x00000802 + thumb_func_end unref_sub_8070F90 + + thumb_func_start sub_8070FB4 +sub_8070FB4: @ 8070FB4 + push {lr} + ldr r0, _08070FCC + movs r1, 0 + strb r1, [r0] + bl is_c1_link_related_active + cmp r0, 0x1 + bne _08070FD0 + bl sub_80710A0 + b _08070FE2 + .align 2, 0 +_08070FCC: .4byte 0x0202e8fd +_08070FD0: + bl GetSafariZoneFlag + cmp r0, 0x1 + bne _08070FDE + bl BuildStartMenuActions_SafariZone + b _08070FE2 +_08070FDE: + bl BuildStartMenuActions_Normal +_08070FE2: + pop {r0} + bx r0 + thumb_func_end sub_8070FB4 + + thumb_func_start AddStartMenuAction +AddStartMenuAction: @ 8070FE8 + push {lr} + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + ldr r0, _08070FFC + ldr r1, _08071000 + bl append_byte + pop {r0} + bx r0 + .align 2, 0 +_08070FFC: .4byte 0x0202e8fe +_08071000: .4byte 0x0202e8fd + thumb_func_end AddStartMenuAction + + thumb_func_start BuildStartMenuActions_Normal +BuildStartMenuActions_Normal: @ 8071004 + push {lr} + ldr r0, _08071068 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0807101A + movs r0, 0 + bl AddStartMenuAction +_0807101A: + movs r0, 0x80 + lsls r0, 4 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08071030 + movs r0, 0x1 + bl AddStartMenuAction +_08071030: + movs r0, 0x2 + bl AddStartMenuAction + ldr r0, _0807106C + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0807104A + movs r0, 0x3 + bl AddStartMenuAction +_0807104A: + movs r0, 0x4 + bl AddStartMenuAction + movs r0, 0x5 + bl AddStartMenuAction + movs r0, 0x6 + bl AddStartMenuAction + movs r0, 0x7 + bl AddStartMenuAction + pop {r0} + bx r0 + .align 2, 0 +_08071068: .4byte 0x00000801 +_0807106C: .4byte 0x00000802 + thumb_func_end BuildStartMenuActions_Normal + + thumb_func_start BuildStartMenuActions_SafariZone +BuildStartMenuActions_SafariZone: @ 8071070 + push {lr} + movs r0, 0x8 + bl AddStartMenuAction + movs r0, 0 + bl AddStartMenuAction + movs r0, 0x1 + bl AddStartMenuAction + movs r0, 0x2 + bl AddStartMenuAction + movs r0, 0x4 + bl AddStartMenuAction + movs r0, 0x6 + bl AddStartMenuAction + movs r0, 0x7 + bl AddStartMenuAction + pop {r0} + bx r0 + thumb_func_end BuildStartMenuActions_SafariZone + + thumb_func_start sub_80710A0 +sub_80710A0: @ 80710A0 + push {lr} + movs r0, 0x1 + bl AddStartMenuAction + movs r0, 0x2 + bl AddStartMenuAction + ldr r0, _080710D8 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080710C2 + movs r0, 0x3 + bl AddStartMenuAction +_080710C2: + movs r0, 0x9 + bl AddStartMenuAction + movs r0, 0x6 + bl AddStartMenuAction + movs r0, 0x7 + bl AddStartMenuAction + pop {r0} + bx r0 + .align 2, 0 +_080710D8: .4byte 0x00000802 + thumb_func_end sub_80710A0 + + thumb_func_start sub_80710DC +sub_80710DC: @ 80710DC + push {lr} + ldr r0, _08071108 + ldr r1, _0807110C + ldrb r1, [r1] + movs r2, 0xC + movs r3, 0x1 + bl sub_8072C44 + movs r0, 0 + movs r1, 0 + movs r2, 0xA + movs r3, 0x5 + bl MenuDrawTextWindow + ldr r0, _08071110 + movs r1, 0x1 + movs r2, 0x1 + bl MenuPrint + pop {r0} + bx r0 + .align 2, 0 +_08071108: .4byte 0x020231cc +_0807110C: .4byte 0x02038808 +_08071110: .4byte gUnknown_0842C4A9 + thumb_func_end sub_80710DC + + thumb_func_start sub_8071114 +sub_8071114: @ 8071114 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + adds r6, r1, 0 + movs r0, 0 + ldrsh r4, [r7, r0] + ldr r1, _08071160 + mov r8, r1 + lsls r0, r4, 25 + movs r1, 0x80 + lsls r1, 18 + adds r5, r0, r1 +_0807112E: + ldr r0, _08071164 + adds r0, r4, r0 + ldrb r0, [r0] + lsls r0, 3 + add r0, r8 + ldr r0, [r0] + lsrs r2, r5, 24 + movs r1, 0x17 + bl MenuPrint + movs r0, 0x80 + lsls r0, 18 + adds r5, r0 + adds r4, 0x1 + ldr r0, _08071168 + ldrb r0, [r0] + cmp r4, r0 + bge _0807116C + subs r6, 0x1 + cmp r6, 0 + bne _0807112E + strh r4, [r7] + movs r0, 0 + b _08071170 + .align 2, 0 +_08071160: .4byte gUnknown_08376D24 +_08071164: .4byte 0x0202e8fe +_08071168: .4byte 0x0202e8fd +_0807116C: + strh r4, [r7] + movs r0, 0x1 +_08071170: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8071114 + + thumb_func_start sub_807117C +sub_807117C: @ 807117C + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0x5 + bhi _08071224 + lsls r0, 2 + ldr r1, _08071198 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08071198: .4byte _0807119C + .align 2, 0 +_0807119C: + .4byte _080711F6 + .4byte _080711B4 + .4byte _080711BA + .4byte _080711DC + .4byte _080711EA + .4byte _080711FE +_080711B4: + bl sub_8070FB4 + b _080711F6 +_080711BA: + ldr r0, _080711D8 + ldrb r3, [r0] + lsls r3, 25 + movs r0, 0xC0 + lsls r0, 18 + adds r3, r0 + lsrs r3, 24 + movs r0, 0x16 + movs r1, 0 + movs r2, 0x1D + bl MenuDrawTextWindow + movs r0, 0 + strh r0, [r5] + b _080711F6 + .align 2, 0 +_080711D8: .4byte 0x0202e8fd +_080711DC: + bl GetSafariZoneFlag + cmp r0, 0 + beq _080711F6 + bl sub_80710DC + b _080711F6 +_080711EA: + adds r0, r5, 0 + movs r1, 0x2 + bl sub_8071114 + cmp r0, 0 + beq _08071224 +_080711F6: + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + b _08071224 +_080711FE: + ldr r0, _0807121C + ldrb r3, [r0] + ldr r4, _08071220 + ldrb r0, [r4] + str r0, [sp] + movs r0, 0x6 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x17 + movs r2, 0x2 + bl InitMenu + strb r0, [r4] + movs r0, 0x1 + b _08071226 + .align 2, 0 +_0807121C: .4byte 0x0202e8fd +_08071220: .4byte 0x0202e8fc +_08071224: + movs r0, 0 +_08071226: + add sp, 0x8 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_807117C + + thumb_func_start sub_8071230 +sub_8071230: @ 8071230 + push {r4,lr} + sub sp, 0x4 + movs r0, 0 + mov r1, sp + strh r0, [r1] + adds r1, 0x2 + strh r0, [r1] + adds r4, r1, 0 +_08071240: + mov r0, sp + adds r1, r4, 0 + bl sub_807117C + cmp r0, 0 + beq _08071240 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8071230 + + thumb_func_start task50_startmenu +task50_startmenu: @ 8071254 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _08071280 + adds r4, r0, r1 + adds r1, r4, 0x2 + adds r0, r4, 0 + bl sub_807117C + cmp r0, 0x1 + bne _0807127A + movs r0, 0 + strh r0, [r4] + adds r0, r5, 0 + bl SwitchTaskToFollowupFunc +_0807127A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08071280: .4byte 0x03004b28 + thumb_func_end task50_startmenu + + thumb_func_start sub_8071284 +sub_8071284: @ 8071284 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r0, _080712AC + bl InitMenuWindow + ldr r4, _080712B0 + adds r0, r4, 0 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + adds r1, r4, 0 + adds r2, r5, 0 + bl SetTaskFuncWithFollowupFunc + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080712AC: .4byte gWindowConfig_81E6CE4 +_080712B0: .4byte task50_startmenu + thumb_func_end sub_8071284 + + thumb_func_start sub_80712B4 +sub_80712B4: @ 80712B4 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _080712D4 + adds r2, r0, r1 + movs r1, 0x8 + ldrsh r0, [r2, r1] + cmp r0, 0 + beq _080712D8 + cmp r0, 0x1 + beq _080712F0 + b _08071306 + .align 2, 0 +_080712D4: .4byte 0x03004b20 +_080712D8: + ldr r1, _080712E8 + ldr r0, _080712EC + str r0, [r1] + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + b _08071306 + .align 2, 0 +_080712E8: .4byte 0x03004ae8 +_080712EC: .4byte sub_8071338 +_080712F0: + ldr r0, _0807130C + ldr r0, [r0] + bl _call_via_r0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08071306 + adds r0, r4, 0 + bl DestroyTask +_08071306: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807130C: .4byte 0x03004ae8 + thumb_func_end sub_80712B4 + + thumb_func_start sub_8071310 +sub_8071310: @ 8071310 + push {lr} + bl is_c1_link_related_active + cmp r0, 0 + bne _08071326 + bl player_bitmagic + bl sub_80594C0 + bl sub_80597F4 +_08071326: + ldr r0, _08071334 + bl sub_8071284 + bl script_env_2_enable + pop {r0} + bx r0 + .align 2, 0 +_08071334: .4byte sub_80712B4 + thumb_func_end sub_8071310 + + thumb_func_start sub_8071338 +sub_8071338: @ 8071338 + push {r4,lr} + ldr r4, _080713DC + ldrh r1, [r4, 0x2E] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _08071358 + movs r0, 0x5 + bl audio_play + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursor + ldr r1, _080713E0 + strb r0, [r1] +_08071358: + ldrh r1, [r4, 0x2E] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08071372 + movs r0, 0x5 + bl audio_play + movs r0, 0x1 + bl MoveMenuCursor + ldr r1, _080713E0 + strb r0, [r1] +_08071372: + ldrh r1, [r4, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08071400 + movs r0, 0x5 + bl audio_play + ldr r1, _080713E4 + ldr r2, _080713E8 + ldr r0, _080713E0 + ldrb r0, [r0] + adds r0, r2 + ldrb r0, [r0] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r1, [r0] + ldr r0, _080713EC + cmp r1, r0 + bne _080713A8 + movs r0, 0 + bl pokedex_count + lsls r0, 16 + cmp r0, 0 + beq _08071408 +_080713A8: + ldr r3, _080713F0 + ldr r1, _080713E4 + ldr r2, _080713E8 + ldr r0, _080713E0 + ldrb r0, [r0] + adds r0, r2 + ldrb r0, [r0] + lsls r0, 3 + adds r1, 0x4 + adds r0, r1 + ldr r1, [r0] + str r1, [r3] + ldr r0, _080713F4 + cmp r1, r0 + beq _08071408 + ldr r0, _080713F8 + cmp r1, r0 + beq _08071408 + ldr r0, _080713FC + cmp r1, r0 + beq _08071408 + movs r0, 0x1 + movs r1, 0 + bl fade_screen + b _08071408 + .align 2, 0 +_080713DC: .4byte 0x03001770 +_080713E0: .4byte 0x0202e8fc +_080713E4: .4byte gUnknown_08376D24 +_080713E8: .4byte 0x0202e8fe +_080713EC: .4byte StartMenu_Pokedex +_080713F0: .4byte 0x03004ae8 +_080713F4: .4byte sub_80714FC +_080713F8: .4byte sub_8071554 +_080713FC: .4byte sub_8071560 +_08071400: + movs r0, 0xA + ands r0, r1 + cmp r0, 0 + bne _0807140C +_08071408: + movs r0, 0 + b _08071412 +_0807140C: + bl sub_8071C20 + movs r0, 0x1 +_08071412: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8071338 + + thumb_func_start StartMenu_Pokedex +StartMenu_Pokedex: @ 8071418 + push {lr} + ldr r0, _0807142C + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08071430 + movs r0, 0 + b _08071442 + .align 2, 0 +_0807142C: .4byte 0x0202f388 +_08071430: + movs r0, 0x29 + bl sav12_xor_increment + bl play_some_sound + ldr r0, _08071448 + bl SetMainCallback2 + movs r0, 0x1 +_08071442: + pop {r1} + bx r1 + .align 2, 0 +_08071448: .4byte sub_808C27C + thumb_func_end StartMenu_Pokedex + + thumb_func_start sub_807144C +sub_807144C: @ 807144C + push {lr} + ldr r0, _08071460 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08071464 + movs r0, 0 + b _08071470 + .align 2, 0 +_08071460: .4byte 0x0202f388 +_08071464: + bl play_some_sound + ldr r0, _08071474 + bl SetMainCallback2 + movs r0, 0x1 +_08071470: + pop {r1} + bx r1 + .align 2, 0 +_08071474: .4byte sub_8089A70 + thumb_func_end sub_807144C + + thumb_func_start sub_8071478 +sub_8071478: @ 8071478 + push {lr} + ldr r0, _0807148C + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08071490 + movs r0, 0 + b _0807149C + .align 2, 0 +_0807148C: .4byte 0x0202f388 +_08071490: + bl play_some_sound + ldr r0, _080714A0 + bl SetMainCallback2 + movs r0, 0x1 +_0807149C: + pop {r1} + bx r1 + .align 2, 0 +_080714A0: .4byte sub_80A53F8 + thumb_func_end sub_8071478 + + thumb_func_start sub_80714A4 +sub_80714A4: @ 80714A4 + push {lr} + ldr r0, _080714B8 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080714BC + movs r0, 0 + b _080714C8 + .align 2, 0 +_080714B8: .4byte 0x0202f388 +_080714BC: + bl play_some_sound + ldr r0, _080714CC + bl SetMainCallback2 + movs r0, 0x1 +_080714C8: + pop {r1} + bx r1 + .align 2, 0 +_080714CC: .4byte sub_80EBA5C + thumb_func_end sub_80714A4 + + thumb_func_start sub_80714D0 +sub_80714D0: @ 80714D0 + push {lr} + ldr r0, _080714E4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080714E8 + movs r0, 0 + b _080714F4 + .align 2, 0 +_080714E4: .4byte 0x0202f388 +_080714E8: + bl play_some_sound + ldr r0, _080714F8 + bl sub_8093110 + movs r0, 0x1 +_080714F4: + pop {r1} + bx r1 + .align 2, 0 +_080714F8: .4byte sub_805469C + thumb_func_end sub_80714D0 + + thumb_func_start sub_80714FC +sub_80714FC: @ 80714FC + push {lr} + bl sub_8072DEC + ldr r1, _08071510 + ldr r0, _08071514 + str r0, [r1] + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08071510: .4byte 0x03004ae8 +_08071514: .4byte sub_80715A4 + thumb_func_end sub_80714FC + + thumb_func_start sub_8071518 +sub_8071518: @ 8071518 + push {lr} + ldr r0, _0807152C + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08071530 + movs r0, 0 + b _08071542 + .align 2, 0 +_0807152C: .4byte 0x0202f388 +_08071530: + bl play_some_sound + ldr r0, _08071548 + bl SetMainCallback2 + ldr r1, _0807154C + ldr r0, _08071550 + str r0, [r1, 0x8] + movs r0, 0x1 +_08071542: + pop {r1} + bx r1 + .align 2, 0 +_08071548: .4byte CB2_InitOptionMenu +_0807154C: .4byte 0x03001770 +_08071550: .4byte sub_805469C + thumb_func_end sub_8071518 + + thumb_func_start sub_8071554 +sub_8071554: @ 8071554 + push {lr} + bl sub_8071C20 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8071554 + + thumb_func_start sub_8071560 +sub_8071560: @ 8071560 + push {lr} + bl sub_8071C20 + bl sub_80C823C + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end sub_8071560 + + thumb_func_start sub_8071570 +sub_8071570: @ 8071570 + push {lr} + ldr r0, _08071584 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08071588 + movs r0, 0 + b _08071598 + .align 2, 0 +_08071584: .4byte 0x0202f388 +_08071588: + bl play_some_sound + ldr r0, _0807159C + ldrb r0, [r0] + ldr r1, _080715A0 + bl sub_8093130 + movs r0, 0x1 +_08071598: + pop {r1} + bx r1 + .align 2, 0 +_0807159C: .4byte 0x03004860 +_080715A0: .4byte sub_805469C + thumb_func_end sub_8071570 + + thumb_func_start sub_80715A4 +sub_80715A4: @ 80715A4 + push {lr} + bl sub_807160C + ldr r1, _080715B8 + ldr r0, _080715BC + str r0, [r1] + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080715B8: .4byte 0x03004ae8 +_080715BC: .4byte sub_80715C0 + thumb_func_end sub_80715A4 + + thumb_func_start sub_80715C0 +sub_80715C0: @ 80715C0 + push {lr} + bl sub_8071630 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080715F4 + cmp r0, 0x1 + ble _08071604 + cmp r0, 0x2 + beq _080715DC + cmp r0, 0x3 + beq _080715F4 + b _08071604 +_080715DC: + bl MenuZeroFillScreen + bl sub_8071230 + ldr r1, _080715EC + ldr r0, _080715F0 + str r0, [r1] + b _08071604 + .align 2, 0 +_080715EC: .4byte 0x03004ae8 +_080715F0: .4byte sub_8071338 +_080715F4: + bl MenuZeroFillScreen + bl sub_8064E2C + bl script_env_2_disable + movs r0, 0x1 + b _08071606 +_08071604: + movs r0, 0 +_08071606: + pop {r1} + bx r1 + thumb_func_end sub_80715C0 + + thumb_func_start sub_807160C +sub_807160C: @ 807160C + push {lr} + bl save_serialize_map + ldr r1, _08071624 + ldr r0, _08071628 + str r0, [r1] + ldr r1, _0807162C + movs r0, 0 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08071624: .4byte 0x030006a8 +_08071628: .4byte sub_8071794 +_0807162C: .4byte 0x030006ad + thumb_func_end sub_807160C + + thumb_func_start sub_8071630 +sub_8071630: @ 8071630 + push {lr} + ldr r0, _08071648 + ldrb r0, [r0] + cmp r0, 0 + beq _0807164C + bl MenuUpdateWindowText + lsls r0, 24 + cmp r0, 0 + bne _0807164C + movs r0, 0 + b _0807165E + .align 2, 0 +_08071648: .4byte 0x030006ad +_0807164C: + ldr r1, _08071664 + movs r0, 0 + strb r0, [r1] + ldr r0, _08071668 + ldr r0, [r0] + bl _call_via_r0 + lsls r0, 24 + lsrs r0, 24 +_0807165E: + pop {r1} + bx r1 + .align 2, 0 +_08071664: .4byte 0x030006ad +_08071668: .4byte 0x030006a8 + thumb_func_end sub_8071630 + + thumb_func_start sub_807166C +sub_807166C: @ 807166C + push {lr} + bl sub_807160C + ldr r0, _08071680 + movs r1, 0x50 + bl CreateTask + pop {r0} + bx r0 + .align 2, 0 +_08071680: .4byte task50_save_game + thumb_func_end sub_807166C + + thumb_func_start sub_8071684 +sub_8071684: @ 8071684 + push {r4,r5,lr} + adds r2, r0, 0 + adds r5, r1, 0 + ldr r4, _080716B0 + adds r0, r4, 0 + adds r1, r2, 0 + bl StringExpandPlaceholders + bl MenuDisplayMessageBox + adds r0, r4, 0 + bl sub_8072044 + ldr r1, _080716B4 + movs r0, 0x1 + strb r0, [r1] + ldr r0, _080716B8 + str r5, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080716B0: .4byte 0x020234cc +_080716B4: .4byte 0x030006ad +_080716B8: .4byte 0x030006a8 + thumb_func_end sub_8071684 + + thumb_func_start task50_save_game +task50_save_game: @ 80716BC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8071630 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x1 + beq _080716E8 + cmp r1, 0x1 + bgt _080716D8 + cmp r1, 0 + beq _080716F6 + b _080716EC +_080716D8: + cmp r1, 0x3 + bgt _080716EC + ldr r1, _080716E4 + movs r0, 0 + strh r0, [r1] + b _080716EC + .align 2, 0 +_080716E4: .4byte 0x0202e8dc +_080716E8: + ldr r0, _080716FC + strh r1, [r0] +_080716EC: + adds r0, r4, 0 + bl DestroyTask + bl script_env_2_enable_and_set_ctx_running +_080716F6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080716FC: .4byte 0x0202e8dc + thumb_func_end task50_save_game + + thumb_func_start sub_8071700 +sub_8071700: @ 8071700 + push {lr} + movs r0, 0 + movs r1, 0 + bl sub_80946C8 + pop {r0} + bx r0 + thumb_func_end sub_8071700 + + thumb_func_start sub_8071710 +sub_8071710: @ 8071710 + push {lr} + movs r0, 0x14 + movs r1, 0x8 + movs r2, 0x1A + movs r3, 0xD + bl MenuZeroFillWindowRect + pop {r0} + bx r0 + thumb_func_end sub_8071710 + + thumb_func_start sub_8071724 +sub_8071724: @ 8071724 + ldr r1, _0807172C + movs r0, 0x3C + strb r0, [r1] + bx lr + .align 2, 0 +_0807172C: .4byte 0x030006ac + thumb_func_end sub_8071724 + + thumb_func_start sub_8071730 +sub_8071730: @ 8071730 + push {lr} + ldr r1, _08071750 + ldrb r0, [r1] + subs r2, r0, 0x1 + strb r2, [r1] + ldr r0, _08071754 + ldrh r1, [r0, 0x2C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _08071758 + lsls r0, r2, 24 + cmp r0, 0 + beq _0807175E + movs r0, 0 + b _08071760 + .align 2, 0 +_08071750: .4byte 0x030006ac +_08071754: .4byte 0x03001770 +_08071758: + movs r0, 0x5 + bl audio_play +_0807175E: + movs r0, 0x1 +_08071760: + pop {r1} + bx r1 + thumb_func_end sub_8071730 + + thumb_func_start sub_8071764 +sub_8071764: @ 8071764 + push {lr} + ldr r1, _08071780 + ldrb r0, [r1] + cmp r0, 0 + bne _08071788 + ldr r0, _08071784 + ldrh r1, [r0, 0x2C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0807178C + movs r0, 0x1 + b _0807178E + .align 2, 0 +_08071780: .4byte 0x030006ac +_08071784: .4byte 0x03001770 +_08071788: + subs r0, 0x1 + strb r0, [r1] +_0807178C: + movs r0, 0 +_0807178E: + pop {r1} + bx r1 + thumb_func_end sub_8071764 + + thumb_func_start sub_8071794 +sub_8071794: @ 8071794 + push {lr} + bl MenuZeroFillScreen + movs r0, 0 + movs r1, 0 + bl sub_80945C0 + ldr r0, _080717B0 + ldr r1, _080717B4 + bl sub_8071684 + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080717B0: .4byte gUnknown_081C6C85 +_080717B4: .4byte sub_80717B8 + thumb_func_end sub_8071794 + + thumb_func_start sub_80717B8 +sub_80717B8: @ 80717B8 + push {lr} + movs r0, 0x14 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r1, _080717D0 + ldr r0, _080717D4 + str r0, [r1] + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080717D0: .4byte 0x030006a8 +_080717D4: .4byte sub_80717D8 + thumb_func_end sub_80717B8 + + thumb_func_start sub_80717D8 +sub_80717D8: @ 80717D8 + push {lr} + bl ProcessMenuInputNoWrap_ + lsls r0, 24 + asrs r1, r0, 24 + cmp r1, 0 + beq _080717FA + cmp r1, 0 + bgt _080717F4 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _0807183C + b _08071848 +_080717F4: + cmp r1, 0x1 + beq _0807183C + b _08071848 +_080717FA: + bl sub_8071710 + ldr r0, _0807181C + ldrh r0, [r0] + cmp r0, 0 + beq _0807180A + cmp r0, 0x2 + bne _08071812 +_0807180A: + ldr r0, _08071820 + ldrb r0, [r0] + cmp r0, 0 + bne _0807182C +_08071812: + ldr r1, _08071824 + ldr r0, _08071828 + str r0, [r1] + b _08071848 + .align 2, 0 +_0807181C: .4byte 0x03005eb8 +_08071820: .4byte 0x020297ec +_08071824: .4byte 0x030006a8 +_08071828: .4byte sub_8071850 +_0807182C: + ldr r1, _08071834 + ldr r0, _08071838 + str r0, [r1] + b _08071848 + .align 2, 0 +_08071834: .4byte 0x030006a8 +_08071838: .4byte sub_80718E8 +_0807183C: + bl sub_8071710 + bl sub_8071700 + movs r0, 0x2 + b _0807184A +_08071848: + movs r0, 0 +_0807184A: + pop {r1} + bx r1 + thumb_func_end sub_80717D8 + + thumb_func_start sub_8071850 +sub_8071850: @ 8071850 + push {lr} + ldr r0, _0807186C + ldrb r0, [r0] + ldr r2, _08071870 + cmp r0, 0x1 + bne _0807185E + ldr r2, _08071874 +_0807185E: + ldr r1, _08071878 + adds r0, r2, 0 + bl sub_8071684 + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_0807186C: .4byte 0x020297ec +_08071870: .4byte gUnknown_081C6CA6 +_08071874: .4byte gUnknown_081C6D26 +_08071878: .4byte sub_807187C + thumb_func_end sub_8071850 + + thumb_func_start sub_807187C +sub_807187C: @ 807187C + push {lr} + movs r0, 0x14 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r1, _08071894 + ldr r0, _08071898 + str r0, [r1] + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08071894: .4byte 0x030006a8 +_08071898: .4byte sub_807189C + thumb_func_end sub_807187C + + thumb_func_start sub_807189C +sub_807189C: @ 807189C + push {lr} + bl ProcessMenuInputNoWrap_ + lsls r0, 24 + asrs r1, r0, 24 + cmp r1, 0 + beq _080718BE + cmp r1, 0 + bgt _080718B8 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _080718D4 + b _080718E0 +_080718B8: + cmp r1, 0x1 + beq _080718D4 + b _080718E0 +_080718BE: + bl sub_8071710 + ldr r1, _080718CC + ldr r0, _080718D0 + str r0, [r1] + b _080718E0 + .align 2, 0 +_080718CC: .4byte 0x030006a8 +_080718D0: .4byte sub_80718E8 +_080718D4: + bl sub_8071710 + bl sub_8071700 + movs r0, 0x2 + b _080718E2 +_080718E0: + movs r0, 0 +_080718E2: + pop {r1} + bx r1 + thumb_func_end sub_807189C + + thumb_func_start sub_80718E8 +sub_80718E8: @ 80718E8 + push {lr} + ldr r0, _080718F8 + ldr r1, _080718FC + bl sub_8071684 + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080718F8: .4byte gUnknown_081C6CE1 +_080718FC: .4byte sub_8071900 + thumb_func_end sub_80718E8 + + thumb_func_start sub_8071900 +sub_8071900: @ 8071900 + push {r4,lr} + movs r0, 0 + bl sav12_xor_increment + ldr r4, _08071920 + ldrb r0, [r4] + cmp r0, 0x1 + bne _08071924 + movs r0, 0x4 + bl sub_8125D44 + lsls r0, 24 + lsrs r1, r0, 24 + movs r0, 0 + strb r0, [r4] + b _0807192E + .align 2, 0 +_08071920: .4byte 0x020297ec +_08071924: + movs r0, 0 + bl sub_8125D44 + lsls r0, 24 + lsrs r1, r0, 24 +_0807192E: + cmp r1, 0x1 + bne _08071944 + ldr r0, _0807193C + ldr r1, _08071940 + bl sub_8071684 + b _0807194C + .align 2, 0 +_0807193C: .4byte gUnknown_081C6D05 +_08071940: .4byte sub_8071960 +_08071944: + ldr r0, _08071958 + ldr r1, _0807195C + bl sub_8071684 +_0807194C: + bl sub_8071724 + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08071958: .4byte gUnknown_0840E5D5 +_0807195C: .4byte sub_80719AC + thumb_func_end sub_8071900 + + thumb_func_start sub_8071960 +sub_8071960: @ 8071960 + push {lr} + bl MenuUpdateWindowText + lsls r0, 24 + cmp r0, 0 + beq _08071978 + movs r0, 0x37 + bl audio_play + ldr r1, _08071980 + ldr r0, _08071984 + str r0, [r1] +_08071978: + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08071980: .4byte 0x030006a8 +_08071984: .4byte sub_8071988 + thumb_func_end sub_8071960 + + thumb_func_start sub_8071988 +sub_8071988: @ 8071988 + push {lr} + bl mplay_has_finished_maybe + lsls r0, 24 + cmp r0, 0 + bne _080719A6 + bl sub_8071730 + lsls r0, 24 + cmp r0, 0 + beq _080719A6 + bl sub_8071700 + movs r0, 0x1 + b _080719A8 +_080719A6: + movs r0, 0 +_080719A8: + pop {r1} + bx r1 + thumb_func_end sub_8071988 + + thumb_func_start sub_80719AC +sub_80719AC: @ 80719AC + push {lr} + bl MenuUpdateWindowText + lsls r0, 24 + cmp r0, 0 + beq _080719C4 + movs r0, 0x16 + bl audio_play + ldr r1, _080719CC + ldr r0, _080719D0 + str r0, [r1] +_080719C4: + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080719CC: .4byte 0x030006a8 +_080719D0: .4byte sub_80719D4 + thumb_func_end sub_80719AC + + thumb_func_start sub_80719D4 +sub_80719D4: @ 80719D4 + push {lr} + bl sub_8071764 + lsls r0, 24 + cmp r0, 0 + beq _080719E8 + bl sub_8071700 + movs r0, 0x3 + b _080719EA +_080719E8: + movs r0, 0 +_080719EA: + pop {r1} + bx r1 + thumb_func_end sub_80719D4 + + thumb_func_start sub_80719F0 +sub_80719F0: @ 80719F0 + push {lr} + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_80719F0 + + thumb_func_start sub_80719FC +sub_80719FC: @ 80719FC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + mov r8, r0 + ldrb r0, [r0] + cmp r0, 0x4 + bls _08071A0E + b _08071B10 +_08071A0E: + lsls r0, 2 + ldr r1, _08071A18 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08071A18: .4byte _08071A1C + .align 2, 0 +_08071A1C: + .4byte _08071A30 + .4byte _08071AA4 + .4byte _08071AB6 + .4byte _08071AD8 + .4byte _08071B0C +_08071A30: + movs r0, 0x80 + lsls r0, 19 + movs r4, 0 + strh r4, [r0] + movs r0, 0 + bl SetVBlankCallback + bl remove_some_task + movs r2, 0xA0 + lsls r2, 19 + mov r0, sp + strh r4, [r0] + ldr r1, _08071A98 + str r0, [r1] + str r2, [r1, 0x4] + ldr r0, _08071A9C + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r2, 0xC0 + lsls r2, 19 + movs r3, 0xC0 + lsls r3, 9 + mov r4, sp + movs r6, 0 + movs r5, 0x80 + lsls r5, 5 + ldr r7, _08071AA0 + movs r0, 0x81 + lsls r0, 24 + mov r12, r0 +_08071A6E: + 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 _08071A6E + 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] + b _08071B10 + .align 2, 0 +_08071A98: .4byte 0x040000d4 +_08071A9C: .4byte 0x81000200 +_08071AA0: .4byte 0x81000800 +_08071AA4: + bl ResetSpriteData + bl ResetTasks + bl ResetPaletteFade + bl dp12_8087EA4 + b _08071B10 +_08071AB6: + ldr r4, _08071AD4 + adds r0, r4, 0 + bl SetUpWindowConfig + adds r0, r4, 0 + bl InitMenuWindow + movs r1, 0x80 + lsls r1, 19 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + strh r0, [r1] + b _08071B10 + .align 2, 0 +_08071AD4: .4byte gWindowConfig_81E6CE4 +_08071AD8: + movs r0, 0x1 + negs r0, r0 + movs r1, 0x10 + movs r2, 0 + bl BlendPalettes + ldr r0, _08071B00 + bl SetVBlankCallback + ldr r3, _08071B04 + ldrh r2, [r3] + movs r0, 0 + strh r0, [r3] + ldr r4, _08071B08 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + b _08071B10 + .align 2, 0 +_08071B00: .4byte sub_80719F0 +_08071B04: .4byte 0x04000208 +_08071B08: .4byte 0x04000200 +_08071B0C: + movs r0, 0x1 + b _08071B1A +_08071B10: + mov r1, r8 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r0, 0 +_08071B1A: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80719FC + + thumb_func_start sub_8071B28 +sub_8071B28: @ 8071B28 + push {lr} + ldr r0, _08071B48 + bl sub_80719FC + cmp r0, 0 + beq _08071B42 + ldr r0, _08071B4C + movs r1, 0x50 + bl CreateTask + ldr r0, _08071B50 + bl SetMainCallback2 +_08071B42: + pop {r0} + bx r0 + .align 2, 0 +_08071B48: .4byte 0x03001bac +_08071B4C: .4byte sub_8071B64 +_08071B50: .4byte sub_8071B54 + thumb_func_end sub_8071B28 + + thumb_func_start sub_8071B54 +sub_8071B54: @ 8071B54 + push {lr} + bl RunTasks + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_8071B54 + + thumb_func_start sub_8071B64 +sub_8071B64: @ 8071B64 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _08071B94 + adds r4, r0, r1 + ldr r0, _08071B98 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08071C14 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bhi _08071C14 + lsls r0, 2 + ldr r1, _08071B9C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08071B94: .4byte 0x03004b28 +_08071B98: .4byte 0x0202f388 +_08071B9C: .4byte _08071BA0 + .align 2, 0 +_08071BA0: + .4byte _08071BB4 + .4byte _08071BD4 + .4byte _08071BDE + .4byte _08071BEE + .4byte _08071C06 +_08071BB4: + bl MenuDisplayMessageBox + ldr r0, _08071BD0 + movs r1, 0x2 + movs r2, 0xF + bl MenuPrint + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + b _08071BFA + .align 2, 0 +_08071BD0: .4byte gUnknown_08411905 +_08071BD4: + bl sub_8047A1C + bl sub_8125E2C + b _08071BFE +_08071BDE: + bl sub_8125E6C + lsls r0, 24 + cmp r0, 0 + beq _08071C14 + bl sub_8047A34 + b _08071BFE +_08071BEE: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 +_08071BFA: + bl BeginNormalPaletteFade +_08071BFE: + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + b _08071C14 +_08071C06: + ldr r0, _08071C1C + ldr r0, [r0, 0x8] + bl SetMainCallback2 + adds r0, r5, 0 + bl DestroyTask +_08071C14: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08071C1C: .4byte 0x03001770 + thumb_func_end sub_8071B64 + + thumb_func_start sub_8071C20 +sub_8071C20: @ 8071C20 + push {lr} + movs r0, 0x5 + bl audio_play + bl MenuZeroFillScreen + bl sub_8064E2C + bl script_env_2_disable + bl sub_8072DEC + pop {r0} + bx r0 + thumb_func_end sub_8071C20 + + thumb_func_start append_byte +append_byte: @ 8071C3C + ldrb r3, [r1] + adds r0, r3 + strb r2, [r0] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + bx lr + thumb_func_end append_byte + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8072DF8.s b/asm/rom_8072DF8.s new file mode 100644 index 000000000..0cbb0a207 --- /dev/null +++ b/asm/rom_8072DF8.s @@ -0,0 +1,1625 @@ + .include "constants/gba_constants.s" + .include "asm/macros.s" + + .syntax unified + + .text + + thumb_func_start sub_8072DF8 +sub_8072DF8: @ 8072DF8 + push {lr} + sub sp, 0x4 + ldr r1, _08072E18 + movs r0, 0 + strb r0, [r1] + movs r0, 0 + str r0, [sp] + ldr r1, _08072E1C + ldr r2, _08072E20 + mov r0, sp + bl CpuSet + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08072E18: .4byte 0x030006c0 +_08072E1C: .4byte 0x0202e9d8 +_08072E20: .4byte 0x0500003c + thumb_func_end sub_8072DF8 + + thumb_func_start sub_8072E24 +sub_8072E24: @ 8072E24 + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r2, 16 + lsrs r6, r2, 16 + ldr r3, _08072E6C + ldrb r0, [r3] + cmp r0, 0x13 + bhi _08072E64 + ldr r2, _08072E70 + adds r1, r0, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + str r4, [r0] + ldrb r1, [r3] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r1, r2, 0x4 + adds r0, r1 + str r5, [r0] + ldrb r1, [r3] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r6, [r0, 0x8] + ldrb r0, [r3] + adds r0, 0x1 + strb r0, [r3] +_08072E64: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08072E6C: .4byte 0x030006c0 +_08072E70: .4byte 0x0202e9d8 + thumb_func_end sub_8072E24 + + thumb_func_start sub_8072E74 +sub_8072E74: @ 8072E74 + push {r4-r6,lr} + movs r3, 0 + ldr r4, _08072EB0 + adds r6, r4, 0 + ldrb r0, [r4] + cmp r3, r0 + bge _08072EA6 + ldr r2, _08072EB4 + ldr r1, _08072EB8 + movs r5, 0x80 + lsls r5, 24 +_08072E8A: + ldr r0, [r1] + str r0, [r2] + ldr r0, [r1, 0x4] + str r0, [r2, 0x4] + ldrh r0, [r1, 0x8] + lsrs r0, 1 + orrs r0, r5 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] + adds r1, 0xC + adds r3, 0x1 + ldrb r0, [r4] + cmp r3, r0 + blt _08072E8A +_08072EA6: + movs r0, 0 + strb r0, [r6] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08072EB0: .4byte 0x030006c0 +_08072EB4: .4byte 0x040000d4 +_08072EB8: .4byte 0x0202e9d8 + thumb_func_end sub_8072E74 + + thumb_func_start cur_mapheader_run_tileset_funcs_after_some_cpuset +cur_mapheader_run_tileset_funcs_after_some_cpuset: @ 8072EBC + push {lr} + bl sub_8072DF8 + bl cur_mapheader_run_tileset1_func + bl cur_mapheader_run_tileset2_func + pop {r0} + bx r0 + thumb_func_end cur_mapheader_run_tileset_funcs_after_some_cpuset + + thumb_func_start sub_8072ED0 +sub_8072ED0: @ 8072ED0 + push {lr} + bl cur_mapheader_run_tileset2_func + pop {r0} + bx r0 + thumb_func_end sub_8072ED0 + + thumb_func_start sub_8072EDC +sub_8072EDC: @ 8072EDC + push {r4,lr} + bl sub_8072DF8 + ldr r2, _08072F34 + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + ldr r1, _08072F38 + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r1] + cmp r0, r1 + bcc _08072EFA + movs r0, 0 + strh r0, [r2] +_08072EFA: + ldr r4, _08072F3C + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + ldr r1, _08072F40 + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r1] + cmp r0, r1 + bcc _08072F12 + movs r0, 0 + strh r0, [r4] +_08072F12: + ldr r0, _08072F44 + ldr r1, [r0] + cmp r1, 0 + beq _08072F20 + ldrh r0, [r2] + bl _call_via_r1 +_08072F20: + ldr r0, _08072F48 + ldr r1, [r0] + cmp r1, 0 + beq _08072F2E + ldrh r0, [r4] + bl _call_via_r1 +_08072F2E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08072F34: .4byte 0x030006c2 +_08072F38: .4byte 0x030006c4 +_08072F3C: .4byte 0x030006c6 +_08072F40: .4byte 0x030006c8 +_08072F44: .4byte 0x030006cc +_08072F48: .4byte 0x030006d0 + thumb_func_end sub_8072EDC + + thumb_func_start cur_mapheader_run_tileset1_func +cur_mapheader_run_tileset1_func: @ 8072F4C + push {lr} + ldr r0, _08072F78 + movs r1, 0 + strh r1, [r0] + ldr r0, _08072F7C + strh r1, [r0] + ldr r1, _08072F80 + movs r0, 0 + str r0, [r1] + ldr r0, _08072F84 + ldr r0, [r0] + ldr r0, [r0, 0x10] + cmp r0, 0 + beq _08072F72 + ldr r0, [r0, 0x14] + cmp r0, 0 + beq _08072F72 + bl _call_via_r0 +_08072F72: + pop {r0} + bx r0 + .align 2, 0 +_08072F78: .4byte 0x030006c2 +_08072F7C: .4byte 0x030006c4 +_08072F80: .4byte 0x030006cc +_08072F84: .4byte 0x0202e828 + thumb_func_end cur_mapheader_run_tileset1_func + + thumb_func_start cur_mapheader_run_tileset2_func +cur_mapheader_run_tileset2_func: @ 8072F88 + push {lr} + ldr r0, _08072FB4 + movs r1, 0 + strh r1, [r0] + ldr r0, _08072FB8 + strh r1, [r0] + ldr r1, _08072FBC + movs r0, 0 + str r0, [r1] + ldr r0, _08072FC0 + ldr r0, [r0] + ldr r0, [r0, 0x14] + cmp r0, 0 + beq _08072FAE + ldr r0, [r0, 0x14] + cmp r0, 0 + beq _08072FAE + bl _call_via_r0 +_08072FAE: + pop {r0} + bx r0 + .align 2, 0 +_08072FB4: .4byte 0x030006c6 +_08072FB8: .4byte 0x030006c8 +_08072FBC: .4byte 0x030006d0 +_08072FC0: .4byte 0x0202e828 + thumb_func_end cur_mapheader_run_tileset2_func + + thumb_func_start TilesetCB_General +TilesetCB_General: @ 8072FC4 + ldr r1, _08072FDC + movs r0, 0 + strh r0, [r1] + ldr r1, _08072FE0 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + strh r0, [r1] + ldr r1, _08072FE4 + ldr r0, _08072FE8 + str r0, [r1] + bx lr + .align 2, 0 +_08072FDC: .4byte 0x030006c2 +_08072FE0: .4byte 0x030006c4 +_08072FE4: .4byte 0x030006cc +_08072FE8: .4byte sub_8073014 + thumb_func_end TilesetCB_General + + thumb_func_start TilesetCB_Building +TilesetCB_Building: @ 8072FEC + ldr r1, _08073004 + movs r0, 0 + strh r0, [r1] + ldr r1, _08073008 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + strh r0, [r1] + ldr r1, _0807300C + ldr r0, _08073010 + str r0, [r1] + bx lr + .align 2, 0 +_08073004: .4byte 0x030006c2 +_08073008: .4byte 0x030006c4 +_0807300C: .4byte 0x030006cc +_08073010: .4byte sub_8073058 + thumb_func_end TilesetCB_Building + + thumb_func_start sub_8073014 +sub_8073014: @ 8073014 + push {r4,r5,lr} + lsls r5, r0, 16 + movs r0, 0xF0 + lsls r0, 12 + ands r0, r5 + lsrs r4, r0, 16 + cmp r4, 0 + bne _0807302A + lsrs r0, r5, 20 + bl sub_8073070 +_0807302A: + cmp r4, 0x1 + bne _08073034 + lsrs r0, r5, 20 + bl sub_8073098 +_08073034: + cmp r4, 0x2 + bne _0807303E + lsrs r0, r5, 20 + bl sub_80730C0 +_0807303E: + cmp r4, 0x3 + bne _08073048 + lsrs r0, r5, 20 + bl sub_80730E8 +_08073048: + cmp r4, 0x4 + bne _08073052 + lsrs r0, r5, 20 + bl sub_807361C +_08073052: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8073014 + + thumb_func_start sub_8073058 +sub_8073058: @ 8073058 + push {lr} + lsls r1, r0, 16 + movs r0, 0xE0 + lsls r0, 11 + ands r0, r1 + cmp r0, 0 + bne _0807306C + lsrs r0, r1, 19 + bl sub_8073904 +_0807306C: + pop {r0} + bx r0 + thumb_func_end sub_8073058 + + thumb_func_start sub_8073070 +sub_8073070: @ 8073070 + push {lr} + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + ldr r0, _08073090 + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + ldr r1, _08073094 + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073090: .4byte gTilesetAnimTable_General_0 +_08073094: .4byte 0x06003f80 + thumb_func_end sub_8073070 + + thumb_func_start sub_8073098 +sub_8073098: @ 8073098 + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x7 + ands r0, r1 + ldr r1, _080730B8 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r1, _080730BC + movs r2, 0xF0 + lsls r2, 2 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_080730B8: .4byte gTilesetAnimTable_General_1 +_080730BC: .4byte 0x06003600 + thumb_func_end sub_8073098 + + thumb_func_start sub_80730C0 +sub_80730C0: @ 80730C0 + push {lr} + lsls r0, 16 + movs r1, 0xE0 + lsls r1, 11 + ands r1, r0 + ldr r0, _080730E0 + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + ldr r1, _080730E4 + movs r2, 0xA0 + lsls r2, 1 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_080730E0: .4byte gTilesetAnimTable_General_2 +_080730E4: .4byte 0x06003a00 + thumb_func_end sub_80730C0 + + thumb_func_start sub_80730E8 +sub_80730E8: @ 80730E8 + push {lr} + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + ldr r0, _08073108 + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + ldr r1, _0807310C + movs r2, 0xC0 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073108: .4byte gTilesetAnimTable_General_3 +_0807310C: .4byte 0x06003e00 + thumb_func_end sub_80730E8 + + thumb_func_start TilesetCB_Petalburg +TilesetCB_Petalburg: @ 8073110 + ldr r1, _08073128 + movs r0, 0 + strh r0, [r1] + ldr r1, _0807312C + ldr r0, _08073130 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _08073134 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_08073128: .4byte 0x030006c6 +_0807312C: .4byte 0x030006c8 +_08073130: .4byte 0x030006c4 +_08073134: .4byte 0x030006d0 + thumb_func_end TilesetCB_Petalburg + + thumb_func_start TilesetCB_Rustboro +TilesetCB_Rustboro: @ 8073138 + ldr r1, _08073150 + movs r0, 0 + strh r0, [r1] + ldr r1, _08073154 + ldr r0, _08073158 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _0807315C + ldr r0, _08073160 + str r0, [r1] + bx lr + .align 2, 0 +_08073150: .4byte 0x030006c6 +_08073154: .4byte 0x030006c8 +_08073158: .4byte 0x030006c4 +_0807315C: .4byte 0x030006d0 +_08073160: .4byte sub_8073424 + thumb_func_end TilesetCB_Rustboro + + thumb_func_start TilesetCB_Dewford +TilesetCB_Dewford: @ 8073164 + ldr r1, _0807317C + movs r0, 0 + strh r0, [r1] + ldr r1, _08073180 + ldr r0, _08073184 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _08073188 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_0807317C: .4byte 0x030006c6 +_08073180: .4byte 0x030006c8 +_08073184: .4byte 0x030006c4 +_08073188: .4byte 0x030006d0 + thumb_func_end TilesetCB_Dewford + + thumb_func_start TilesetCB_Slateport +TilesetCB_Slateport: @ 807318C + ldr r1, _080731A4 + movs r0, 0 + strh r0, [r1] + ldr r1, _080731A8 + ldr r0, _080731AC + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080731B0 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_080731A4: .4byte 0x030006c6 +_080731A8: .4byte 0x030006c8 +_080731AC: .4byte 0x030006c4 +_080731B0: .4byte 0x030006d0 + thumb_func_end TilesetCB_Slateport + + thumb_func_start TilesetCB_Mauville +TilesetCB_Mauville: @ 80731B4 + ldr r1, _080731CC + ldr r0, _080731D0 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080731D4 + ldr r0, _080731D8 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080731DC + ldr r0, _080731E0 + str r0, [r1] + bx lr + .align 2, 0 +_080731CC: .4byte 0x030006c6 +_080731D0: .4byte 0x030006c2 +_080731D4: .4byte 0x030006c8 +_080731D8: .4byte 0x030006c4 +_080731DC: .4byte 0x030006d0 +_080731E0: .4byte sub_80734A0 + thumb_func_end TilesetCB_Mauville + + thumb_func_start TilesetCB_Lavaridge +TilesetCB_Lavaridge: @ 80731E4 + ldr r1, _080731FC + movs r0, 0 + strh r0, [r1] + ldr r1, _08073200 + ldr r0, _08073204 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _08073208 + ldr r0, _0807320C + str r0, [r1] + bx lr + .align 2, 0 +_080731FC: .4byte 0x030006c6 +_08073200: .4byte 0x030006c8 +_08073204: .4byte 0x030006c4 +_08073208: .4byte 0x030006d0 +_0807320C: .4byte sub_8073514 + thumb_func_end TilesetCB_Lavaridge + + thumb_func_start TilesetCB_Fallarbor +TilesetCB_Fallarbor: @ 8073210 + ldr r1, _08073228 + movs r0, 0 + strh r0, [r1] + ldr r1, _0807322C + ldr r0, _08073230 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _08073234 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_08073228: .4byte 0x030006c6 +_0807322C: .4byte 0x030006c8 +_08073230: .4byte 0x030006c4 +_08073234: .4byte 0x030006d0 + thumb_func_end TilesetCB_Fallarbor + + thumb_func_start TilesetCB_Fortree +TilesetCB_Fortree: @ 8073238 + ldr r1, _08073250 + movs r0, 0 + strh r0, [r1] + ldr r1, _08073254 + ldr r0, _08073258 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _0807325C + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_08073250: .4byte 0x030006c6 +_08073254: .4byte 0x030006c8 +_08073258: .4byte 0x030006c4 +_0807325C: .4byte 0x030006d0 + thumb_func_end TilesetCB_Fortree + + thumb_func_start TilesetCB_Lilycove +TilesetCB_Lilycove: @ 8073260 + ldr r1, _08073278 + movs r0, 0 + strh r0, [r1] + ldr r1, _0807327C + ldr r0, _08073280 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _08073284 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_08073278: .4byte 0x030006c6 +_0807327C: .4byte 0x030006c8 +_08073280: .4byte 0x030006c4 +_08073284: .4byte 0x030006d0 + thumb_func_end TilesetCB_Lilycove + + thumb_func_start TilesetCB_Mossdeep +TilesetCB_Mossdeep: @ 8073288 + ldr r1, _080732A0 + movs r0, 0 + strh r0, [r1] + ldr r1, _080732A4 + ldr r0, _080732A8 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080732AC + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_080732A0: .4byte 0x030006c6 +_080732A4: .4byte 0x030006c8 +_080732A8: .4byte 0x030006c4 +_080732AC: .4byte 0x030006d0 + thumb_func_end TilesetCB_Mossdeep + + thumb_func_start TilesetCB_EverGrande +TilesetCB_EverGrande: @ 80732B0 + ldr r1, _080732C8 + movs r0, 0 + strh r0, [r1] + ldr r1, _080732CC + ldr r0, _080732D0 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080732D4 + ldr r0, _080732D8 + str r0, [r1] + bx lr + .align 2, 0 +_080732C8: .4byte 0x030006c6 +_080732CC: .4byte 0x030006c8 +_080732D0: .4byte 0x030006c4 +_080732D4: .4byte 0x030006d0 +_080732D8: .4byte sub_8073540 + thumb_func_end TilesetCB_EverGrande + + thumb_func_start TilesetCB_Pacifidlog +TilesetCB_Pacifidlog: @ 80732DC + ldr r1, _080732F4 + ldr r0, _080732F8 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080732FC + ldr r0, _08073300 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _08073304 + ldr r0, _08073308 + str r0, [r1] + bx lr + .align 2, 0 +_080732F4: .4byte 0x030006c6 +_080732F8: .4byte 0x030006c2 +_080732FC: .4byte 0x030006c8 +_08073300: .4byte 0x030006c4 +_08073304: .4byte 0x030006d0 +_08073308: .4byte sub_80735B4 + thumb_func_end TilesetCB_Pacifidlog + + thumb_func_start TilesetCB_Sootopolis +TilesetCB_Sootopolis: @ 807330C + ldr r1, _08073324 + movs r0, 0 + strh r0, [r1] + ldr r1, _08073328 + ldr r0, _0807332C + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _08073330 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_08073324: .4byte 0x030006c6 +_08073328: .4byte 0x030006c8 +_0807332C: .4byte 0x030006c4 +_08073330: .4byte 0x030006d0 + thumb_func_end TilesetCB_Sootopolis + + thumb_func_start TilesetCB_Underwater +TilesetCB_Underwater: @ 8073334 + ldr r1, _08073348 + movs r0, 0 + strh r0, [r1] + ldr r1, _0807334C + movs r0, 0x80 + strh r0, [r1] + ldr r1, _08073350 + ldr r0, _08073354 + str r0, [r1] + bx lr + .align 2, 0 +_08073348: .4byte 0x030006c6 +_0807334C: .4byte 0x030006c8 +_08073350: .4byte 0x030006d0 +_08073354: .4byte sub_80735E4 + thumb_func_end TilesetCB_Underwater + + thumb_func_start TilesetCB_SootopolisGym +TilesetCB_SootopolisGym: @ 8073358 + ldr r1, _0807336C + movs r0, 0 + strh r0, [r1] + ldr r1, _08073370 + movs r0, 0xF0 + strh r0, [r1] + ldr r1, _08073374 + ldr r0, _08073378 + str r0, [r1] + bx lr + .align 2, 0 +_0807336C: .4byte 0x030006c6 +_08073370: .4byte 0x030006c8 +_08073374: .4byte 0x030006d0 +_08073378: .4byte sub_80738A8 + thumb_func_end TilesetCB_SootopolisGym + + thumb_func_start TilesetCB_Cave +TilesetCB_Cave: @ 807337C + ldr r1, _08073394 + movs r0, 0 + strh r0, [r1] + ldr r1, _08073398 + ldr r0, _0807339C + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080733A0 + ldr r0, _080733A4 + str r0, [r1] + bx lr + .align 2, 0 +_08073394: .4byte 0x030006c6 +_08073398: .4byte 0x030006c8 +_0807339C: .4byte 0x030006c4 +_080733A0: .4byte 0x030006d0 +_080733A4: .4byte sub_8073600 + thumb_func_end TilesetCB_Cave + + thumb_func_start TilesetCB_EliteFour +TilesetCB_EliteFour: @ 80733A8 + ldr r1, _080733BC + movs r0, 0 + strh r0, [r1] + ldr r1, _080733C0 + movs r0, 0x80 + strh r0, [r1] + ldr r1, _080733C4 + ldr r0, _080733C8 + str r0, [r1] + bx lr + .align 2, 0 +_080733BC: .4byte 0x030006c6 +_080733C0: .4byte 0x030006c8 +_080733C4: .4byte 0x030006d0 +_080733C8: .4byte sub_80738C0 + thumb_func_end TilesetCB_EliteFour + + thumb_func_start TilesetCB_MauvilleGym +TilesetCB_MauvilleGym: @ 80733CC + ldr r1, _080733E4 + movs r0, 0 + strh r0, [r1] + ldr r1, _080733E8 + ldr r0, _080733EC + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _080733F0 + ldr r0, _080733F4 + str r0, [r1] + bx lr + .align 2, 0 +_080733E4: .4byte 0x030006c6 +_080733E8: .4byte 0x030006c8 +_080733EC: .4byte 0x030006c4 +_080733F0: .4byte 0x030006d0 +_080733F4: .4byte sub_8073890 + thumb_func_end TilesetCB_MauvilleGym + + thumb_func_start TilesetCB_BikeShop +TilesetCB_BikeShop: @ 80733F8 + ldr r1, _08073410 + movs r0, 0 + strh r0, [r1] + ldr r1, _08073414 + ldr r0, _08073418 + ldrh r0, [r0] + strh r0, [r1] + ldr r1, _0807341C + ldr r0, _08073420 + str r0, [r1] + bx lr + .align 2, 0 +_08073410: .4byte 0x030006c6 +_08073414: .4byte 0x030006c8 +_08073418: .4byte 0x030006c4 +_0807341C: .4byte 0x030006d0 +_08073420: .4byte sub_80738EC + thumb_func_end TilesetCB_BikeShop + + thumb_func_start sub_8073424 +sub_8073424: @ 8073424 + push {r4-r6,lr} + lsls r5, r0, 16 + movs r0, 0xE0 + lsls r0, 11 + ands r0, r5 + lsrs r6, r0, 16 + cmp r6, 0 + bne _08073444 + lsrs r4, r5, 19 + adds r0, r4, 0 + movs r1, 0 + bl sub_80737A4 + adds r0, r4, 0 + bl sub_80737E0 +_08073444: + cmp r6, 0x1 + bne _08073450 + lsrs r0, r5, 19 + movs r1, 0x1 + bl sub_80737A4 +_08073450: + cmp r6, 0x2 + bne _0807345C + lsrs r0, r5, 19 + movs r1, 0x2 + bl sub_80737A4 +_0807345C: + cmp r6, 0x3 + bne _08073468 + lsrs r0, r5, 19 + movs r1, 0x3 + bl sub_80737A4 +_08073468: + cmp r6, 0x4 + bne _08073474 + lsrs r0, r5, 19 + movs r1, 0x4 + bl sub_80737A4 +_08073474: + cmp r6, 0x5 + bne _08073480 + lsrs r0, r5, 19 + movs r1, 0x5 + bl sub_80737A4 +_08073480: + cmp r6, 0x6 + bne _0807348C + lsrs r0, r5, 19 + movs r1, 0x6 + bl sub_80737A4 +_0807348C: + cmp r6, 0x7 + bne _08073498 + lsrs r0, r5, 19 + movs r1, 0x7 + bl sub_80737A4 +_08073498: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8073424 + + thumb_func_start sub_80734A0 +sub_80734A0: @ 80734A0 + push {r4,r5,lr} + lsls r4, r0, 16 + movs r0, 0xE0 + lsls r0, 11 + ands r0, r4 + lsrs r5, r0, 16 + cmp r5, 0 + bne _080734B8 + lsrs r0, r4, 19 + movs r1, 0 + bl sub_8073704 +_080734B8: + cmp r5, 0x1 + bne _080734C4 + lsrs r0, r4, 19 + movs r1, 0x1 + bl sub_8073704 +_080734C4: + cmp r5, 0x2 + bne _080734D0 + lsrs r0, r4, 19 + movs r1, 0x2 + bl sub_8073704 +_080734D0: + cmp r5, 0x3 + bne _080734DC + lsrs r0, r4, 19 + movs r1, 0x3 + bl sub_8073704 +_080734DC: + cmp r5, 0x4 + bne _080734E8 + lsrs r0, r4, 19 + movs r1, 0x4 + bl sub_8073704 +_080734E8: + cmp r5, 0x5 + bne _080734F4 + lsrs r0, r4, 19 + movs r1, 0x5 + bl sub_8073704 +_080734F4: + cmp r5, 0x6 + bne _08073500 + lsrs r0, r4, 19 + movs r1, 0x6 + bl sub_8073704 +_08073500: + cmp r5, 0x7 + bne _0807350C + lsrs r0, r4, 19 + movs r1, 0x7 + bl sub_8073704 +_0807350C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80734A0 + + thumb_func_start sub_8073514 +sub_8073514: @ 8073514 + push {r4,r5,lr} + lsls r4, r0, 16 + movs r0, 0xF0 + lsls r0, 12 + ands r0, r4 + lsrs r5, r0, 16 + cmp r5, 0 + bne _0807352E + lsrs r0, r4, 20 + lsls r0, 24 + lsrs r0, 24 + bl sub_8073644 +_0807352E: + cmp r5, 0x1 + bne _08073538 + lsrs r0, r4, 20 + bl sub_8073808 +_08073538: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8073514 + + thumb_func_start sub_8073540 +sub_8073540: @ 8073540 + push {r4,r5,lr} + lsls r4, r0, 16 + movs r0, 0xE0 + lsls r0, 11 + ands r0, r4 + lsrs r5, r0, 16 + cmp r5, 0 + bne _08073558 + lsrs r0, r4, 19 + movs r1, 0 + bl sub_8073830 +_08073558: + cmp r5, 0x1 + bne _08073564 + lsrs r0, r4, 19 + movs r1, 0x1 + bl sub_8073830 +_08073564: + cmp r5, 0x2 + bne _08073570 + lsrs r0, r4, 19 + movs r1, 0x2 + bl sub_8073830 +_08073570: + cmp r5, 0x3 + bne _0807357C + lsrs r0, r4, 19 + movs r1, 0x3 + bl sub_8073830 +_0807357C: + cmp r5, 0x4 + bne _08073588 + lsrs r0, r4, 19 + movs r1, 0x4 + bl sub_8073830 +_08073588: + cmp r5, 0x5 + bne _08073594 + lsrs r0, r4, 19 + movs r1, 0x5 + bl sub_8073830 +_08073594: + cmp r5, 0x6 + bne _080735A0 + lsrs r0, r4, 19 + movs r1, 0x6 + bl sub_8073830 +_080735A0: + cmp r5, 0x7 + bne _080735AC + lsrs r0, r4, 19 + movs r1, 0x7 + bl sub_8073830 +_080735AC: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8073540 + + thumb_func_start sub_80735B4 +sub_80735B4: @ 80735B4 + push {r4,r5,lr} + lsls r4, r0, 16 + movs r0, 0xF0 + lsls r0, 12 + ands r0, r4 + lsrs r5, r0, 16 + cmp r5, 0 + bne _080735CE + lsrs r0, r4, 20 + lsls r0, 24 + lsrs r0, 24 + bl sub_807368C +_080735CE: + cmp r5, 0x1 + bne _080735DC + lsrs r0, r4, 20 + lsls r0, 24 + lsrs r0, 24 + bl sub_80736DC +_080735DC: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80735B4 + + thumb_func_start sub_80735E4 +sub_80735E4: @ 80735E4 + push {lr} + lsls r1, r0, 16 + movs r0, 0xF0 + lsls r0, 12 + ands r0, r1 + cmp r0, 0 + bne _080735FC + lsrs r0, r1, 20 + lsls r0, 24 + lsrs r0, 24 + bl sub_80736B4 +_080735FC: + pop {r0} + bx r0 + thumb_func_end sub_80735E4 + + thumb_func_start sub_8073600 +sub_8073600: @ 8073600 + push {lr} + lsls r1, r0, 16 + movs r0, 0xF0 + lsls r0, 12 + ands r0, r1 + lsrs r0, 16 + cmp r0, 0x1 + bne _08073616 + lsrs r0, r1, 20 + bl sub_8073868 +_08073616: + pop {r0} + bx r0 + thumb_func_end sub_8073600 + + thumb_func_start sub_807361C +sub_807361C: @ 807361C + push {lr} + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + ldr r0, _0807363C + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + ldr r1, _08073640 + movs r2, 0xA0 + lsls r2, 1 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_0807363C: .4byte gTilesetAnimTable_General_4 +_08073640: .4byte 0x06003c00 + thumb_func_end sub_807361C + + thumb_func_start sub_8073644 +sub_8073644: @ 8073644 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x3 + ands r0, r4 + ldr r5, _08073680 + lsls r0, 2 + adds r0, r5 + ldr r0, [r0] + ldr r1, _08073684 + movs r2, 0x80 + bl sub_8072E24 + adds r1, r4, 0x2 + adds r0, r1, 0 + asrs r0, 2 + lsls r0, 2 + subs r0, r1, r0 + lsls r0, 24 + lsrs r0, 22 + adds r0, r5 + ldr r0, [r0] + ldr r1, _08073688 + movs r2, 0x80 + bl sub_8072E24 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08073680: .4byte gTilesetAnimTable_Lavaridge +_08073684: .4byte 0x06006400 +_08073688: .4byte 0x06006480 + thumb_func_end sub_8073644 + + thumb_func_start sub_807368C +sub_807368C: @ 807368C + push {lr} + lsls r0, 24 + movs r1, 0xC0 + lsls r1, 18 + ands r1, r0 + ldr r0, _080736AC + lsrs r1, 22 + adds r1, r0 + ldr r0, [r1] + ldr r1, _080736B0 + movs r2, 0xF0 + lsls r2, 2 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_080736AC: .4byte gTilesetAnimTable_Pacifidlog_0 +_080736B0: .4byte 0x06007a00 + thumb_func_end sub_807368C + + thumb_func_start sub_80736B4 +sub_80736B4: @ 80736B4 + push {lr} + lsls r0, 24 + movs r1, 0xC0 + lsls r1, 18 + ands r1, r0 + ldr r0, _080736D4 + lsrs r1, 22 + adds r1, r0 + ldr r0, [r1] + ldr r1, _080736D8 + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_080736D4: .4byte gTilesetAnimTable_Underwater +_080736D8: .4byte 0x06007e00 + thumb_func_end sub_80736B4 + + thumb_func_start sub_80736DC +sub_80736DC: @ 80736DC + push {lr} + lsls r0, 24 + movs r1, 0xE0 + lsls r1, 19 + ands r1, r0 + ldr r0, _080736FC + lsrs r1, 22 + adds r1, r0 + ldr r0, [r1] + ldr r1, _08073700 + movs r2, 0x80 + lsls r2, 1 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_080736FC: .4byte gTilesetAnimTable_Pacifidlog_1 +_08073700: .4byte 0x06007e00 + thumb_func_end sub_80736DC + + thumb_func_start sub_8073704 +sub_8073704: @ 8073704 + push {r4-r6,lr} + lsls r0, 16 + lsrs r5, r0, 16 + lsls r1, 24 + lsrs r6, r1, 24 + subs r0, r5, r6 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0xB + bhi _08073760 + adds r0, r5, 0 + movs r1, 0xC + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 16 + ldr r0, _08073750 + lsrs r4, 14 + adds r0, r4, r0 + ldr r0, [r0] + ldr r1, _08073754 + lsls r5, r6, 2 + adds r1, r5, r1 + ldr r1, [r1] + movs r2, 0x80 + bl sub_8072E24 + ldr r0, _08073758 + adds r4, r0 + ldr r0, [r4] + ldr r1, _0807375C + adds r5, r1 + ldr r1, [r5] + movs r2, 0x80 + bl sub_8072E24 + b _0807378C + .align 2, 0 +_08073750: .4byte gTilesetAnimTable_Mauville_0A +_08073754: .4byte gUnknown_0837BAE4 +_08073758: .4byte gTilesetAnimTable_Mauville_1A +_0807375C: .4byte gUnknown_0837BB04 +_08073760: + movs r0, 0x3 + ands r5, r0 + ldr r0, _08073794 + lsls r5, 2 + adds r0, r5, r0 + ldr r0, [r0] + ldr r1, _08073798 + lsls r4, r6, 2 + adds r1, r4, r1 + ldr r1, [r1] + movs r2, 0x80 + bl sub_8072E24 + ldr r0, _0807379C + adds r5, r0 + ldr r0, [r5] + ldr r1, _080737A0 + adds r4, r1 + ldr r1, [r4] + movs r2, 0x80 + bl sub_8072E24 +_0807378C: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08073794: .4byte gTilesetAnimTable_Mauville_0B +_08073798: .4byte gUnknown_0837BAE4 +_0807379C: .4byte gTilesetAnimTable_Mauville_1B +_080737A0: .4byte gUnknown_0837BB04 + thumb_func_end sub_8073704 + + thumb_func_start sub_80737A4 +sub_80737A4: @ 80737A4 + push {lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 24 + lsrs r3, r1, 24 + subs r0, r3 + lsls r0, 16 + movs r1, 0xE0 + lsls r1, 11 + ands r1, r0 + ldr r0, _080737D8 + lsrs r1, 14 + adds r1, r0 + ldr r2, [r1] + cmp r2, 0 + beq _080737D4 + ldr r0, _080737DC + lsls r1, r3, 2 + adds r1, r0 + ldr r1, [r1] + adds r0, r2, 0 + movs r2, 0x80 + bl sub_8072E24 +_080737D4: + pop {r0} + bx r0 + .align 2, 0 +_080737D8: .4byte gTilesetAnimTable_Rustboro_0 +_080737DC: .4byte gUnknown_0837BFA4 + thumb_func_end sub_80737A4 + + thumb_func_start sub_80737E0 +sub_80737E0: @ 80737E0 + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ands r0, r1 + ldr r1, _08073800 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r1, _08073804 + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073800: .4byte gTilesetAnimTable_Rustboro_1 +_08073804: .4byte 0x06007800 + thumb_func_end sub_80737E0 + + thumb_func_start sub_8073808 +sub_8073808: @ 8073808 + push {lr} + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + ldr r0, _08073828 + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + ldr r1, _0807382C + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073828: .4byte gTilesetAnimTable_Cave +_0807382C: .4byte 0x06005400 + thumb_func_end sub_8073808 + + thumb_func_start sub_8073830 +sub_8073830: @ 8073830 + push {lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 24 + lsrs r1, 24 + subs r0, r1 + lsls r0, 16 + movs r2, 0xE0 + lsls r2, 11 + ands r2, r0 + ldr r0, _08073860 + lsrs r2, 14 + adds r2, r0 + ldr r0, [r2] + ldr r2, _08073864 + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073860: .4byte gTilesetAnimTable_EverGrande +_08073864: .4byte gUnknown_0837C93C + thumb_func_end sub_8073830 + + thumb_func_start sub_8073868 +sub_8073868: @ 8073868 + push {lr} + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + ldr r0, _08073888 + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + ldr r1, _0807388C + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073888: .4byte gTilesetAnimTable_Cave +_0807388C: .4byte 0x06007400 + thumb_func_end sub_8073868 + + thumb_func_start sub_8073890 +sub_8073890: @ 8073890 + push {lr} + lsls r2, r0, 16 + lsrs r0, r2, 16 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080738A4 + lsrs r0, r2, 17 + bl sub_80739C4 +_080738A4: + pop {r0} + bx r0 + thumb_func_end sub_8073890 + + thumb_func_start sub_80738A8 +sub_80738A8: @ 80738A8 + push {lr} + lsls r1, r0, 16 + movs r0, 0xE0 + lsls r0, 11 + ands r0, r1 + cmp r0, 0 + bne _080738BC + lsrs r0, r1, 19 + bl sub_807392C +_080738BC: + pop {r0} + bx r0 + thumb_func_end sub_80738A8 + + thumb_func_start sub_80738C0 +sub_80738C0: @ 80738C0 + push {r4,r5,lr} + lsls r4, r0, 16 + lsrs r0, r4, 16 + adds r5, r0, 0 + movs r0, 0x3F + ands r0, r5 + cmp r0, 0 + bne _080738D6 + lsrs r0, r4, 22 + bl sub_807399C +_080738D6: + movs r0, 0x7 + ands r0, r5 + cmp r0, 0x1 + bne _080738E4 + lsrs r0, r4, 19 + bl sub_8073974 +_080738E4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80738C0 + + thumb_func_start sub_80738EC +sub_80738EC: @ 80738EC + push {lr} + lsls r1, r0, 16 + movs r0, 0xC0 + lsls r0, 10 + ands r0, r1 + cmp r0, 0 + bne _08073900 + lsrs r0, r1, 18 + bl sub_80739EC +_08073900: + pop {r0} + bx r0 + thumb_func_end sub_80738EC + + thumb_func_start sub_8073904 +sub_8073904: @ 8073904 + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ands r0, r1 + ldr r1, _08073924 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r1, _08073928 + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073924: .4byte gTilesetAnimTable_Building +_08073928: .4byte 0x06003e00 + thumb_func_end sub_8073904 + + thumb_func_start sub_807392C +sub_807392C: @ 807392C + push {r4,lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x3 + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 16 + ldr r0, _08073964 + lsrs r4, 14 + adds r0, r4, r0 + ldr r0, [r0] + ldr r1, _08073968 + movs r2, 0xC0 + lsls r2, 1 + bl sub_8072E24 + ldr r0, _0807396C + adds r4, r0 + ldr r0, [r4] + ldr r1, _08073970 + movs r2, 0xA0 + lsls r2, 2 + bl sub_8072E24 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08073964: .4byte gTilesetAnimTable_SootopolisGym_0 +_08073968: .4byte 0x06007e00 +_0807396C: .4byte gTilesetAnimTable_SootopolisGym_1 +_08073970: .4byte 0x06007a00 + thumb_func_end sub_807392C + + thumb_func_start sub_8073974 +sub_8073974: @ 8073974 + push {lr} + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + ldr r0, _08073994 + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + ldr r1, _08073998 + movs r2, 0x20 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073994: .4byte gTilesetAnimTable_EliteFour_0 +_08073998: .4byte 0x06007f00 + thumb_func_end sub_8073974 + + thumb_func_start sub_807399C +sub_807399C: @ 807399C + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ands r0, r1 + ldr r1, _080739BC + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r1, _080739C0 + movs r2, 0x80 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_080739BC: .4byte gTilesetAnimTable_EliteFour_1 +_080739C0: .4byte 0x06007c00 + thumb_func_end sub_807399C + + thumb_func_start sub_80739C4 +sub_80739C4: @ 80739C4 + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ands r0, r1 + ldr r1, _080739E4 + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r1, _080739E8 + movs r2, 0x80 + lsls r2, 2 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_080739E4: .4byte gTilesetAnimTable_MauvilleGym +_080739E8: .4byte 0x06005200 + thumb_func_end sub_80739C4 + + thumb_func_start sub_80739EC +sub_80739EC: @ 80739EC + push {lr} + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ands r0, r1 + ldr r1, _08073A0C + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + ldr r1, _08073A10 + movs r2, 0x90 + lsls r2, 1 + bl sub_8072E24 + pop {r0} + bx r0 + .align 2, 0 +_08073A0C: .4byte gTilesetAnimTable_BikeShop +_08073A10: .4byte 0x06007e00 + thumb_func_end sub_80739EC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8074BAC.s b/asm/rom_8074BAC.s index 3f0ab95cb..0a55d74f3 100644 --- a/asm/rom_8074BAC.s +++ b/asm/rom_8074BAC.s @@ -1578,7 +1578,7 @@ _08075798: _0807579E: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData strh r0, [r5] adds r6, 0x2 adds r5, 0x2 @@ -6249,7 +6249,7 @@ _08077BA8: _08077BC2: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r1, r0, 16 b _08077BDE @@ -6330,7 +6330,7 @@ _08077C44: ldr r1, _08077C74 adds r0, r1 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 b _08077C7E .align 2, 0 @@ -6428,7 +6428,7 @@ _08077D04: ldr r1, _08077D38 adds r0, r1 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 b _08077D42 .align 2, 0 @@ -6831,7 +6831,7 @@ _08078010: _0807802A: adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r4, r0, 16 b _08078046 @@ -8059,7 +8059,7 @@ _080788D4: _080788E2: adds r0, r1 movs r1, 0x39 - bl PokemonGetField + bl GetMonData cmp r0, 0 beq _080788FC _080788EE: @@ -10557,7 +10557,7 @@ _08079B54: ldr r1, _08079B90 adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r1, r0, 16 b _08079B96 @@ -10587,7 +10587,7 @@ _08079B9E: ldr r1, _08079BCC adds r0, r1 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r1, r0, 16 b _08079BD2 @@ -11396,14 +11396,14 @@ _0807A1A4: ldr r5, _0807A1F4 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r7, r0, 16 ldrh r0, [r4] muls r0, r6 adds r0, r5 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 b _0807A200 .align 2, 0 @@ -11491,14 +11491,14 @@ _0807A26C: ldr r5, _0807A2B0 adds r0, r5 movs r1, 0xB - bl PokemonGetField + bl GetMonData lsls r0, 16 lsrs r7, r0, 16 ldrh r0, [r4] muls r0, r6 adds r0, r5 movs r1, 0 - bl PokemonGetField + bl GetMonData adds r2, r0, 0 b _0807A2BC .align 2, 0 diff --git a/compare-ruby.sh b/compare-ruby.sh new file mode 100755 index 000000000..5fbd2a1c8 --- /dev/null +++ b/compare-ruby.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# Compares baserom-ruby.gba and pokeruby.gba + +# create baserom.txt if necessary +if [ ! -f baserom-ruby.txt ]; then + hexdump -C baserom-ruby.gba > baserom-ruby.txt +fi + +hexdump -C pokeruby.gba > pokeruby.txt + +diff -u baserom-ruby.txt pokeruby.txt | less diff --git a/compare-sapphire.sh b/compare-sapphire.sh new file mode 100755 index 000000000..b4047e81d --- /dev/null +++ b/compare-sapphire.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# Compares baserom-sapphire.gba and pokesapphire.gba + +# create baserom.txt if necessary +if [ ! -f baserom-sapphire.txt ]; then + hexdump -C baserom-sapphire.gba > baserom-sapphire.txt +fi + +hexdump -C pokesapphire.gba > pokesapphire.txt + +diff -u baserom-sapphire.txt pokesapphire.txt | less diff --git a/constants/opponent_constants.s b/constants/opponent_constants.s index d60ae1bac..6782d3151 100644 --- a/constants/opponent_constants.s +++ b/constants/opponent_constants.s @@ -57,7 +57,7 @@ .set OPPONENT_GABBY_AND_TY_6, 56 .set OPPONENT_LOLA_1, 57 .set OPPONENT_CARMEN, 58 - .set OPPONENT_GWEN , 59 + .set OPPONENT_GWEN, 59 .set OPPONENT_LOLA_2, 60 .set OPPONENT_LOLA_3, 61 .set OPPONENT_LOLA_4, 62 diff --git a/data/data2.s b/data/data2.s index 2c8fb6ee6..ff525aa82 100644 --- a/data/data2.s +++ b/data/data2.s @@ -27,7 +27,7 @@ gUnknown_081E796C:: @ 81E796C .space 16 .align 2 -gUnknown_081E797C:: @ 81E797C +gMainMenuPalette:: @ 81E797C .incbin "graphics/misc/main_menu.gbapal" .align 2 @@ -1156,7 +1156,7 @@ gUnknown_081FA73C:: @ 81FA73C .4byte sub_80213D0 .4byte atk46_cmd46 .4byte sub_80214B4 - .4byte sub_8021580 + .4byte atk47 .4byte atk48_playstatchangeanimation .4byte sub_80217F8 .4byte atk4A_damagecalc2 @@ -1705,7 +1705,7 @@ gSpriteTemplate_81FAF0C:: @ 81FAF0C .align 2 gUnknown_081FAF24:: @ 81FAF24 - obj_tiles gUnknown_08E6A728, 128, 0xD759 + obj_tiles gEnemyMonShadow_Gfx, 128, 0xD759 .align 2 gOamData_81FAF2C:: @ 81FAF2C @@ -2358,8 +2358,8 @@ gSubspriteTables_820A6EC:: @ 820A6EC .align 2 gUnknown_0820A754:: @ 820A754 - obj_tiles gUnknown_08E6A758, 512, 0xd70c - obj_tiles gUnknown_08E6A758, 512, 0xd70d + obj_tiles gBattleGfx_BallStatusBar, 512, 0xd70c + obj_tiles gBattleGfx_BallStatusBar, 512, 0xd70d .align 2 gUnknown_0820A764:: @ 820A764 @@ -2779,23 +2779,144 @@ gUnknown_0820C14C:: @ 820C14C .4byte TradeText_CancelTradePrompt .4byte TradeText_PressBToExit -gUnknown_0820C164:: @ 820C164 - .incbin "baserom.gba", 0x0020c164, 0x138 - -gUnknown_0820C29C:: @ 820C29C - .incbin "baserom.gba", 0x0020c29c, 0x1a - -gUnknown_0820C2B6:: @ 820C2B6 - .incbin "baserom.gba", 0x0020c2b6, 0x18 - -gUnknown_0820C2CE:: @ 820C2CE - .incbin "baserom.gba", 0x0020c2ce, 0x18 - -gUnknown_0820C2E6:: @ 820C2E6 - .incbin "baserom.gba", 0x0020c2e6, 0x3 - -gUnknown_0820C2E9:: @ 820C2E9 - .incbin "baserom.gba", 0x0020c2e9, 0x7 +@ 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 @@ -2806,15 +2927,18 @@ gUnknown_0820C2F0:: @ 820C2F0 .4byte TradeText_WaitingForFriend .4byte TradeText_WantToTrade -gUnknown_0820C308:: @ 820C308 - .incbin "baserom.gba", 0x0020c308, 0x18 +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 - .4byte sub_804A9F4 @unknown - .4byte TradeText_Trade2 - .4byte sub_804AA00 + .4byte TradeText_Summary2, sub_804A9F4 @unknown + .4byte TradeText_Trade2, sub_804AA00 gUnknown_0820C330:: @ 820C330 .byte 0, 14 @@ -3147,8 +3271,20 @@ gUnknown_08215A78:: @ 8215A78 gSpriteTemplate_8215A80:: @ 8215A80 spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104 -gUnknown_08215A98:: @ 8215A98 - .incbin "baserom.gba", 0x00215a98, 0x18 + .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 @@ -3162,8 +3298,115 @@ gSpriteAffineAnimTable_8215AC0:: @ 8215AC0 @ 8215AC4 .include "data/ingame_trades.s" -gUnknown_08215BA0:: @ 8215BA0 - .incbin "baserom.gba", 0x00215ba0, 0x6c +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 @@ -3181,7 +3424,15 @@ gUnknown_0821602C:: @ 821602C .align 2 .incbin "baserom.gba", 0x0021604c, 0x20 - .incbin "baserom.gba", 0x0021606c, 0x1dd + .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$" @@ -3256,10 +3507,13 @@ gUnknown_082162E4:: @ 82162E4 .byte 168, 128 gUnknown_082162EC:: @ 82162EC - .incbin "baserom.gba", 0x002162ec, 0xc + .byte -1, 0, 1, -1 + .byte -1, 0, 1, 2 + .byte 0, 1, 2, 3 + .align 1 gUnknown_082162F8:: @ 82162F8 - .incbin "baserom.gba", 0x002162f8, 0x8 + .2byte 0x0000, 0xC000, 0x4000, 0x8000 gUnknown_08216300:: @ 8216300 .byte 1 @@ -3553,29 +3807,42 @@ gUnknown_08216574:: @ 8216574 gSpriteTemplate_821657C:: @ 821657C spr_template 12346, 46546, gOamData_8216560, gSpriteAnimTable_8216570, NULL, gDummySpriteAffineAnimTable, sub_80518CC + .align 1 gUnknown_08216594:: @ 8216594 - .incbin "baserom.gba", 0x00216594, 0x28 + .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 - .incbin "baserom.gba", 0x002165bc, 0x1e + .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 - .incbin "baserom.gba", 0x002165da, 0x5 + .byte 1, 1, 2, 3, 4 gUnknown_082165DF:: @ 82165DF - .incbin "baserom.gba", 0x002165df, 0xa + .byte 0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15 gUnknown_082165E9:: @ 82165E9 - .incbin "baserom.gba", 0x002165e9, 0x5 + .byte 6, 6, 6, 6, 5 gUnknown_082165EE:: @ 82165EE - .incbin "baserom.gba", 0x002165ee, 0x5 + .byte 3, 3, 3, 2, 2 gUnknown_082165F3:: @ 82165F3 - .incbin "baserom.gba", 0x002165f3, 0x5 + .byte 3, 3, 3, 3, 2 gUnknown_082165F8:: @ 82165F8 - .incbin "baserom.gba", 0x002165f8, 0x2 + .string " $" gUnknown_082165FA:: @ 82165FA OtherText_BPM:: @@ -3584,7 +3851,9 @@ OtherText_Dash:: .string "-$" gUnknown_08216600:: @ 8216600 - .incbin "baserom.gba", 0x00216600, 0x4 + .string "\n$" + + .string "\n$" gUnknown_08216604:: @ 8216604 .incbin "baserom.gba", 0x00216604, 0x20 @@ -6765,49 +7034,30 @@ gUnknown_083761EC:: @ 83761EC .align 2 gUnknown_083761F0:: @ 83761F0 - .4byte gUnknown_08E9ADDC - .4byte gUnknown_08E9AEFC - .4byte gUnknown_08E9AF1C - .4byte gUnknown_08E9B03C - .4byte gUnknown_08E9B05C - .4byte gUnknown_08E9B17C - .4byte gUnknown_08E9B19C - .4byte gUnknown_08E9B2BC - .4byte gUnknown_08E9B2DC - .4byte gUnknown_08E9B3FC - .4byte gUnknown_08E9B41C - .4byte gUnknown_08E9B53C - .4byte gUnknown_08E9B55C - .4byte gUnknown_08E9B67C - .4byte gUnknown_08E9B69C - .4byte gUnknown_08E9B7BC - .4byte gUnknown_08E9B7DC - .4byte gUnknown_08E9B8FC - .4byte gUnknown_08E9B91C - .4byte gUnknown_08E9BA3C - .4byte gUnknown_08E9BA5C - .4byte gUnknown_08E9BB7C - .4byte gUnknown_08E9BB9C - .4byte gUnknown_08E9BCBC - .4byte gUnknown_08E9BCDC - .4byte gUnknown_08E9BDFC - .4byte gUnknown_08E9BE1C - .4byte gUnknown_08E9BF3C - .4byte gUnknown_08E9BF5C - .4byte gUnknown_08E9C07C - .4byte gUnknown_08E9C09C - .4byte gUnknown_08E9C1BC - .4byte gUnknown_08E9C1DC - .4byte gUnknown_08E9C2FC - .4byte gUnknown_08E9C31C - .4byte gUnknown_08E9C43C - .4byte gUnknown_08E9C45C - .4byte gUnknown_08E9C57C - .4byte gUnknown_08E9C59C - .4byte gUnknown_08E9C6BC - -gUnknown_08376290:: @ 8376290 - .incbin "baserom.gba", 0x00376290, 0x48 + .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" gUnknown_083762D8:: @ 83762D8 .space 4 @@ -7046,78 +7296,592 @@ gUnknown_08376624:: @ 8376624 .4byte OtherText_NoIdenticalHoldItems .4byte OtherText_TeachWhichPoke + .align 2 gUnknown_08376678:: @ 8376678 - .incbin "baserom.gba", 0x00376678, 0xc0 @ 4 byte array? + .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 - .incbin "baserom.gba", 0x00376738, 0x120 + .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 - .incbin "baserom.gba", 0x00376858, 0x60 + .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 - .incbin "baserom.gba", 0x003768b8, 0x60 + .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 - .incbin "baserom.gba", 0x00376918, 0x30 + .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 - .incbin "baserom.gba", 0x00376948, 0x30 + .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 - .incbin "baserom.gba", 0x00376978, 0x30 + .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 - .incbin "baserom.gba", 0x003769a8, 0x18 + .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 - .incbin "baserom.gba", 0x003769c0, 0x18 + .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 - .incbin "baserom.gba", 0x003769d8, 0x4d + .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 - .incbin "baserom.gba", 0x00376a25, 0x39 + .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 - .incbin "baserom.gba", 0x00376a5e, 0xf3 + .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: - .incbin "baserom.gba", 0x00376b5c, 0x2c + .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: - .incbin "baserom.gba", 0x00376b88, 0x2c + .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 - .4byte 0x401, Unknown_08376B5C - .4byte 0x10C, Unknown_08376B88 - .4byte 0x40C, Unknown_08376B88 - .4byte 0x70C, Unknown_08376B88 - .4byte 0xA0C, Unknown_08376B88 - .4byte 0xD0C, Unknown_08376B88 - .4byte 0x201, Unknown_08376B5C - .4byte 0x901, Unknown_08376B5C - .4byte 0x10C, Unknown_08376B88 - .4byte 0x50C, Unknown_08376B88 - .4byte 0x90C, Unknown_08376B88 - .4byte 0xD0C, Unknown_08376B88 - .4byte 0x201, Unknown_08376B5C - .4byte 0x901, Unknown_08376B5C - .4byte 0x20C, Unknown_08376B88 - .4byte 0x50C, Unknown_08376B88 - .4byte 0x90C, Unknown_08376B88 - .4byte 0xC0C, Unknown_08376B88 - .4byte 0x201, Unknown_08376B5C - .4byte 0x20C, Unknown_08376B88 - .4byte 0x50C, Unknown_08376B88 - .4byte 0x901, Unknown_08376B5C - .4byte 0x90C, Unknown_08376B88 - .4byte 0xC0C, Unknown_08376B88 + .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 @@ -7130,11 +7894,15 @@ gUnknown_08376C74:: @ 8376C74 .4byte sub_8122E0C, sub_806AFD0, 0x0F .4byte sub_80F9E64, sub_80F9CE8, 0 + .align 2 gUnknown_08376CD4:: @ 8376CD4 - .incbin "baserom.gba", 0x00376cd4, 0x18 + .2byte 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F + .2byte 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F + .align 2 gUnknown_08376CEC:: @ 8376CEC - .incbin "baserom.gba", 0x00376cec, 0x18 + .2byte 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F + .2byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F .align 2 gUnknown_08376D04:: @ 8376D04 @@ -7146,7 +7914,12 @@ gUnknown_08376D04:: @ 8376D04 .4byte OtherText_Speed gUnknown_08376D1C:: @ 8376D1C - .incbin "baserom.gba", 0x00376d1c, 0x8 + .byte 0x3A @ HP + .byte 0x3B @ Attack + .byte 0x3C @ Defense + .byte 0x3E @ Sp. Attack + .byte 0x3F @ Sp. Defense + .byte 0x3D @ Speed .align 2 gUnknown_08376D24:: @ 8376D24 @@ -9611,7 +10384,7 @@ gSpriteTemplate_8393F74:: @ 8393F74 .align 2 gUnknown_08393F8C:: @ 8393F8C - obj_tiles Tiles_E9D644, 0x520, 1001 + obj_tiles gTitleScreenPressStart_Gfx, 0x520, 1001 null_obj_tiles .align 2 @@ -9675,7 +10448,7 @@ gUnknown_08396FA8:: @ 8396FA8 .4byte DroughtPaletteData_3 .4byte DroughtPaletteData_4 .4byte DroughtPaletteData_5 - + @.4byte unk_20000000 .incbin "baserom.gba", 0x00396fc0, 0x4 @ pointer to unk_2000000? .align 2 @@ -10158,36 +10931,46 @@ gUnknown_0839AE28:: @ 839AE28 gUnknown_0839B1F0:: @ 839B1F0 .2byte 0x0807, 0x0808, 0x0809, 0x080a, 0x080b, 0x080c, 0x080d, 0x080e -Unknown_839B200: - .incbin "baserom.gba", 0x0039b200, 0x7 -Unknown_839B207: - .incbin "baserom.gba", 0x0039b207, 0x7 -Unknown_839B20E: - .incbin "baserom.gba", 0x0039b20e, 0x7 -Unknown_839B215: - .incbin "baserom.gba", 0x0039b215, 0x7 +TrainerCardColorName_Bronze: + .string "BRONZE$", 7 +TrainerCardColorName_Copper: + .string "COPPER$", 7 +TrainerCardColorName_Silver: + .string "SILVER$", 7 +TrainerCardColorName_Gold: + .string "GOLD$", 7 .align 2 -gUnknown_0839B21C:: @ 839B21C - .4byte Unknown_839B200 - .4byte Unknown_839B207 - .4byte Unknown_839B20E - .4byte Unknown_839B215 +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 - .incbin "baserom.gba", 0x0039b22c, 0x1e + .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 - .incbin "baserom.gba", 0x0039b24a, 0x3 + .string "ND$" gUnknown_0839B24D:: @ 839B24D - .incbin "baserom.gba", 0x0039b24d, 0x8 + .string "の こどもは\n$" @ "'s child <topic-particle>" gUnknown_0839B255:: @ 839B255 - .incbin "baserom.gba", 0x0039b255, 0x2 + .string " $" gUnknown_0839B257:: @ 839B257 - .incbin "baserom.gba", 0x39b257, 0xb + .string "ながいなまえぽけもん$" @ "long name pokemon" (used as test name) Text_39B262: @ 839B262 .string "Search a child$" @@ -10776,21 +11559,29 @@ gUnknown_0839F58C:: @ 839F58C .4byte sub_8133CCC, 0x10 .4byte sub_812BFB4, 0x9 + .align 2 gUnknown_0839F5FC:: @ 839F5FC .incbin "baserom.gba", 0x0039f5fc, 0x40 + .align 2 gUnknown_0839F63C:: @ 839F63C - .incbin "baserom.gba", 0x0039f63c, 0x42 + .incbin "baserom.gba", 0x0039f63c, 0x40 + + .align 2 +gUnknown_0839F67C:: @ 839F67C + .incbin "graphics/pokedex/search.gbapal" -gUnknown_0839F67E:: @ 839F67E - .incbin "baserom.gba", 0x0039f67e, 0xc0 + .align 2 +gUnknown_0839F73C:: @ 839F73C + .incbin "graphics/pokedex/national.gbapal" -gUnknown_0839F73E:: @ 839F73E - .incbin "baserom.gba", 0x0039f73e, 0x162 + .space 0xA4 + .align 2 gUnknown_0839F8A0:: @ 839F8A0 .incbin "baserom.gba", 0x0039f8a0, 0xe8 + .align 2 gUnknown_0839F988:: @ 839F988 .incbin "baserom.gba", 0x0039f988, 0xf4 @@ -11007,12 +11798,12 @@ gSpriteTemplate_83A05B4:: @ 83A05B4 .align 2 gUnknown_083A05CC:: @ 83A05CC - obj_tiles gUnknown_08E874C8, 0x1F00, 0x1000 + obj_tiles gPokedexMenu2_Gfx, 0x1F00, 0x1000 null_obj_tiles .align 2 gUnknown_083A05DC:: @ 83A05DC - obj_pal gUnknown_08E87AF4, 0x1000 + obj_pal gPokedexMenu_Pal, 0x1000 null_obj_pal gUnknown_083A05EC:: @ 83A05EC @@ -11246,13 +12037,13 @@ gUnknown_083B59C8:: @ 83B59C8 .4byte 0x0, 0x0 gUnknown_083B5A60:: @ 83B5A60 - .incbin "baserom.gba", 0x003b5a60, 0x2 + .byte 0, 1 gUnknown_083B5A62:: @ 83B5A62 - .incbin "baserom.gba", 0x003b5a62, 0x6 + .byte 0, 1, 2, 3, 4, 5 gUnknown_083B5A68:: @ 83B5A68 - .incbin "baserom.gba", 0x003b5a68, 0x14 + .byte -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17 .align 2 gUnknown_083B5A7C:: @ 83B5A7C @@ -11310,11 +12101,11 @@ gUnknown_083B5EF4:: @ 83B5EF4 .align 2 gUnknown_083B5EF8:: @ 83B5EF8 - .4byte gUnknown_08E8C8E0 - .4byte gUnknown_08E8C940 - .4byte gUnknown_08E8C9A0 - .4byte gUnknown_08E8CA00 - .4byte gUnknown_08E8CA60 + .4byte gMenuTrainerCard0Star_Pal + .4byte gMenuTrainerCard1Star_Pal + .4byte gMenuTrainerCard2Star_Pal + .4byte gMenuTrainerCard3Star_Pal + .4byte gMenuTrainerCard4Star_Pal gUnknown_083B5F0C:: @ 83B5F0C .incbin "baserom.gba", 0x003b5f0c, 0x20 @@ -11797,7 +12588,8 @@ gWallpaperTiles_Plain: @ 83BAD78 gWallpaperTilemap_Plain: @ 83BAE74 .incbin "graphics/pokemon_storage/plain.bin.lz" - .incbin "baserom.gba", 0x003BAEF8, 0x1B0 +@ 12×18 tilemap + .incbin "graphics/unused/tilemap_3BAEF8.bin" gUnknown_083BB0A8:: @ 83BB0A8 .incbin "baserom.gba", 0x003bb0a8, 0x40 @@ -12097,38 +12889,84 @@ gUnknown_083BBCA0:: @ 83BBCA0 @ 83BC5B8 .include "data/graphics/pokemon/icon_palette_table.s" -gUnknown_083BC5E8:: @ 83BC5E8 - .incbin "baserom.gba", 0x003BC5E8, 0x8 -Unknown_83BC5F0: - .incbin "baserom.gba", 0x003BC5F0, 0xC -Unknown_83BC5FC: - .incbin "baserom.gba", 0x003BC5FC, 0xC -Unknown_83BC608: - .incbin "baserom.gba", 0x003BC608, 0xC -Unknown_83BC614: - .incbin "baserom.gba", 0x003BC614, 0xC -Unknown_83BC620: - .incbin "baserom.gba", 0x003BC620, 0xC - - .align 2 -gUnknown_083BC62C:: @ 83BC62C - .4byte Unknown_83BC5F0 - .4byte Unknown_83BC5FC - .4byte Unknown_83BC608 - .4byte Unknown_83BC614 - .4byte Unknown_83BC620 -Unknown_83BC640: - .incbin "baserom.gba", 0x003bc640, 0x10 -Unknown_83BC650: - .incbin "baserom.gba", 0x003bc650, 0x10 - - .align 2 -gUnknown_083BC660:: @ 83BC660 - .4byte Unknown_83BC640 - .4byte Unknown_83BC650 - -gUnknown_083BC668:: @ 83BC668 - .incbin "baserom.gba", 0x003bc668, 0x18 + .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.s" @@ -12305,7 +13143,7 @@ gSpriteAnimTable_83C115C:: @ 83C115C .align 2 gUnknown_083C11B8:: @ 83C11B8 - obj_tiles gUnknown_08E71D10, 5888, 0x7532 + obj_tiles gMoveTypes_Gfx, 5888, 0x7532 .align 2 gSpriteTemplate_83C11C0:: @ 83C11C0 @@ -12458,21 +13296,27 @@ gUnknown_083C12FC:: @ 83C12FC gSpriteTemplate_83C1304:: @ 83C1304 spr_template 30001, 30001, gOamData_83C1298, gSpriteAnimTable_83C12D8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_083C131C:: @ 83C131C - .incbin "baserom.gba", 0x003c131c, 0x20 + .align 2 +gSummaryScreenMonMarkingsPalette:: @ 83C131C + .incbin "graphics/summary_screen/mon_markings.gbapal" -gUnknown_083C133C:: @ 83C133C - .incbin "baserom.gba", 0x003c133c, 0x140 + .align 2 +gSummaryScreenTextTiles:: @ 83C133C + .incbin "graphics/summary_screen/text.4bpp" -gUnknown_083C147C:: @ 83C147C - .incbin "baserom.gba", 0x003c147c, 0x100 + .align 2 +gSummaryScreenButtonTiles:: @ 83C147C + .incbin "graphics/summary_screen/buttons.4bpp" + .align 1 gUnknown_083C157C:: @ 83C157C - .incbin "baserom.gba", 0x003c157c, 0x2 + .2byte 0x5F5A @ palette color + .align 1 gUnknown_083C157E:: @ 83C157E - .incbin "baserom.gba", 0x003c157e, 0x2 + .2byte 0x6FDE @ palette color + .align 2 gUnknown_083C1580:: @ 83C1580 .4byte sub_809FC0C .4byte sub_809FEB8 @@ -12492,13 +13336,13 @@ gUnknown_083C1598:: @ 83C1598 .4byte sub_80A015C gUnknown_083C15A8:: @ 83C15A8 - .incbin "baserom.gba", 0x003c15a8, 0x6 + .byte 0, 2, 3, 1, 4, 5 gUnknown_083C15AE:: @ 83C15AE - .incbin "baserom.gba", 0x003c15ae, 0x6 + .string "{STR_VAR_1}{CLEAR_TO 64}$" gUnknown_083C15B4:: @ 83C15B4 - .incbin "baserom.gba", 0x003c15b4, 0x8 + .string "{STR_VAR_1}{CLEAR_TO 72}$" .align 2 gUnknown_083C15BC:: @ 83C15BC @@ -12791,11 +13635,11 @@ gSpriteTemplate_83C1E04:: @ 83C1E04 .align 2 gUnknown_083C1F74:: @ 83C1F74 - obj_tiles gUnknown_08E78BB4, 2048, 0x2710 + obj_tiles gBerryCheckCircle_Gfx, 2048, 0x2710 .align 2 gUnknown_083C1F7C:: @ 83C1F7C - obj_pal gUnknown_08E7883C, 0x2710 + obj_pal gBerryCheck_Pal, 0x2710 .align 2 gOamData_83C1F84:: @ 83C1F84 @@ -13199,7 +14043,11 @@ UnknownText_UnknownFormatting:: .string "{COLOR WHITE2}$" UnknownText_WinnerIs:: .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!\nCongratulations!$" - .incbin "baserom.gba", 0x003cc39d, 0x3 + +@ unknown, unreferenced data + .byte 0x00 + .byte 0x9C + .byte 0x77 gUnknown_083CC3A0:: @ 83CC3A0 UnknownText_UnknownFormatting2:: @@ -13348,7 +14196,7 @@ gUnknown_083CC59C:: @ 83CC59C .incbin "baserom.gba", 0x003cc59c, 0x6 gUnknown_083CC5A2:: @ 83CC5A2 - .incbin "baserom.gba", 0x003cc5a2, 0x2 + .string "/$" gUnknown_083CC5A4:: @ 83CC5A4 .incbin "baserom.gba", 0x003cc5a4, 0x10 @@ -13367,10 +14215,26 @@ gUnknown_083CC6D0:: @ 83CC6D0 .4byte ContestStatsText_Quit2, HandleShopMenuQuit gUnknown_083CC6E8:: @ 83CC6E8 - .incbin "baserom.gba", 0x003cc6e8, 0x3 + .byte 0, 1, 2 gUnknown_083CC6EB:: @ 83CC6EB - .incbin "baserom.gba", 0x003cc6eb, 0x1d + .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 @@ -13851,19 +14715,39 @@ gUnknown_083D0284:: @ 83D0284 .4byte 0x02024f4c gUnknown_083D0288:: @ 83D0288 - .incbin "baserom.gba", 0x003d0288, 0x2 + .byte 1, 0 gUnknown_083D028A:: @ 83D028A - .incbin "baserom.gba", 0x003d028a, 0x6 + .byte 1, 2, 0 + .byte 2, 0, 1 gUnknown_083D0290:: @ 83D0290 - .incbin "baserom.gba", 0x003d0290, 0x24 + .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 - .incbin "baserom.gba", 0x003d02b4, 0x6 + .byte 0, 1 + .byte 1, 2 + .byte 2, 0 gUnknown_083D02BA:: @ 83D02BA - .incbin "baserom.gba", 0x003d02ba, 0xe + .byte 0, 1 + .byte 2, 3 + + .byte 0, 2 + .byte 1, 3 + + .byte 0, 3 + .byte 2, 1 + + .align 2 @ object file boundary? gUnknown_083D02C8:: @ 83D02C8 DebugText_SoundCheckJap: @@ -13934,28 +14818,28 @@ DebugText_Priority: .string "PRIORITY‥$" gUnknown_083D0381:: @ 83D0381 - .incbin "baserom.gba", 0x003d0381, 0x9 + .string "さいせいちゆう‥$" @ 再生中 (playing) gUnknown_083D038A:: @ 83D038A - .incbin "baserom.gba", 0x003d038a, 0x9 + .string "はんてん‥‥‥‥$" @ 反転 (reverse) gUnknown_083D0393:: @ 83D0393 - .incbin "baserom.gba", 0x003d0393, 0x9 + .string "すてれお‥‥‥‥$" @ stereo gUnknown_083D039C:: @ 83D039C .incbin "baserom.gba", 0x003d039c, 0x40 gUnknown_083D03DC:: @ 83D03DC - .incbin "baserom.gba", 0x003d03dc, 0x2 + .string "▶$" gUnknown_083D03DE:: @ 83D03DE - .incbin "baserom.gba", 0x003d03de, 0x2 + .string " $" gUnknown_083D03E0:: @ 83D03E0 .incbin "baserom.gba", 0x003d03e0, 0x18 gUnknown_083D03F8:: @ 83D03F8 - .incbin "baserom.gba", 0x003d03f8, 0x5 + .byte 0x3F, 0x00, 0xC0, 0x7F, 0x80 @ stereo panning gUnknown_083D03FD:: @ 83D03FD OtherText_SE: @@ -14231,22 +15115,25 @@ gUnknown_083D17D4:: @ 83D17D4 obj_pal gContestConfetti_Pal, 0x0bc9 gUnknown_083D17DC:: @ 83D17DC - .incbin "baserom.gba", 0x003d17dc, 0x4 + .string "{COLOR RED}$" gUnknown_083D17E0:: @ 83D17E0 - .incbin "baserom.gba", 0x003d17e0, 0x2 + .string "/$" gUnknown_083D17E2:: @ 83D17E2 - .incbin "baserom.gba", 0x003d17e2, 0x2a + .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 gUnknown_083D188C:: @ 83D188C - .incbin "baserom.gba", 0x003d188c, 0x2 + .string ".$" gUnknown_083D188E:: @ 83D188E - .incbin "baserom.gba", 0x003d188e, 0xa + .byte 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E .align 2 gUnknown_083D1898:: @ 83D1898 @@ -14576,19 +15463,60 @@ gMapObjectPalette19: @ 83D292C .incbin "graphics/map_objects/palettes/19.gbapal" gUnknown_083D294C:: @ 83D294C - .incbin "baserom.gba", 0x003d294c, 0x13 + .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 - .incbin "baserom.gba", 0x003d295f, 0x2 + step_18 + step_end gUnknown_083D2961:: @ 83D2961 - .incbin "baserom.gba", 0x003d2961, 0x3 + step_17 + step_end + .align 2 gUnknown_083D2964:: @ 83D2964 - .incbin "baserom.gba", 0x003d2964, 0x38 + .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 - .incbin "baserom.gba", 0x003d299c, 0x70 + .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 @@ -16865,8 +17793,8 @@ gBattleAnimSpriteTemplate_83D7D74:: @ 83D7D74 spr_template 10244, 10244, gOamData_837E13C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7D6C, sub_80D3014 .align 2 - .incbin "graphics/unused/unknown_3D7D8C.4bpp" - .incbin "graphics/unused/unknown_3D810C.bin" + .incbin "graphics/unknown/unknown_3D7D8C.4bpp" + .incbin "graphics/unknown/unknown_3D810C.bin" .align 2 gSpriteAnim_83D910C:: @ 83D910C @@ -17298,11 +18226,15 @@ gBattleAnimSpriteTemplate_83D96AC:: @ 83D96AC gSpriteTemplate_83D96C4:: @ 83D96C4 spr_template 10201, 10201, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D58FC + .align 1 gUnknown_083D96DC:: @ 83D96DC - .incbin "baserom.gba", 0x003d96dc, 0x2 - -gUnknown_083D96DE:: @ 83D96DE - .incbin "baserom.gba", 0x003d96de, 0x1A + .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 @@ -19453,11 +20385,12 @@ gUnknown_083DB5E4:: @ 83DB5E4 .4byte CheckMovementInputAcroBikeUnknownMode5 .4byte CheckMovementInputAcroBikeUnknownMode6 + .align 1 gUnknown_083DB600:: @ 83DB600 - .incbin "baserom.gba", 0x3db600, 0x6 + .2byte 1, 2, 4 Unknown_3DB606:: @ 83DB606 - .incbin "baserom.gba", 0x3db606, 0x2 + .byte 4, 0 .align 2 gUnknown_083DB608:: @ 83DB608 @@ -19466,14 +20399,29 @@ gUnknown_083DB608:: @ 83DB608 .4byte 0x3, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x3 .4byte 0x4, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x4 -gUnknown_083DB678:: @ 83DB678 - .incbin "baserom.gba", 0x003db678, 0x8 + .align 1 +gMysteryEventPhrase:: @ 83DB678 + ec_word MYSTERY + ec_word EVENT + ec_word IS + ec_word EXCITING -gUnknown_083DB680:: @ 83DB680 - .incbin "baserom.gba", 0x003db680, 0x2 + .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 -gUnknown_083DB682:: @ 83DB682 - .incbin "baserom.gba", 0x003db682, 0x12 + ec_word SUPER + ec_word HUSTLE gUnknown_083DB694:: @ 83DB694 .4byte 0x02001000 @@ -19523,17 +20471,21 @@ gUnknown_083DB7EC:: @ 83DB7EC gUnknown_083DB7F4:: @ 83DB7F4 .incbin "baserom.gba", 0x3db7f4, 0xc -Palette_3DB800:: @ 83DB800 - .incbin "baserom.gba", 0x3db800, 0x20 + .align 2 +InterviewPalette_0:: @ 83DB800 + .incbin "graphics/misc/interview_pal0.gbapal" -Palette_3DB820:: @ 83DB820 - .incbin "baserom.gba", 0x3db820, 0x20 + .align 2 +InterviewPalette_1:: @ 83DB820 + .incbin "graphics/misc/interview_pal1.gbapal" -Tiles_3DB840: @ 83DB840 - .incbin "baserom.gba", 0x3db840, 0x100 + .align 2 +InterviewArrowTiles: @ 83DB840 + .incbin "graphics/misc/interview_arrow.4bpp" -Tiles_3DB940: @ 83DB940 - .incbin "baserom.gba", 0x3db940, 0x100 + .align 2 +InterviewButtonTiles: @ 83DB940 + .incbin "graphics/misc/interview_buttons.4bpp" .align 2 gMenuInterviewFrame_Pal:: @@ -19543,22 +20495,23 @@ gMenuInterviewFrame_Pal:: gMenuInterviewFrame_Gfx:: .incbin "graphics/misc/interview_frame.4bpp.lz" -Tiles_3DBB94: @ 83DBB94 - .incbin "baserom.gba", 0x3dbb94, 0x20 + .align 2 +InterviewTriangleCursorTiles: @ 83DBB94 + .incbin "graphics/misc/interview_triangle_cursor.4bpp" .align 2 -gUnknown_083DBBB4:: @ 83DBBB4 - obj_tiles Tiles_3DBB94, 0x20, 0 - obj_tiles Tiles_E9CF44, 0x700, 1 - obj_tiles Tiles_3DB840, 0x100, 2 - obj_tiles Tiles_3DB940, 0x100, 3 +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 -gUnknown_083DBBDC:: @ 83DBBDC - obj_pal Palette_3DB800, 0 - obj_pal Palette_3DB820, 1 - obj_pal 0x0, 0 +gSpritePalettes_Interview:: @ 83DBBDC + obj_pal InterviewPalette_0, 0 + obj_pal InterviewPalette_1, 1 + null_obj_pal .align 2 gOamData_83DBBF4:: @ 83DBBF4 @@ -19719,11 +20672,11 @@ gSpriteTemplate_83DBD48:: @ 83DBD48 .align 2 gUnknown_083DBD60:: @ 83DBD60 - obj_tiles gMenuWordGroup_Gfx, 4096, 0x0007 + obj_tiles gMenuWordGroupIndicator_Gfx, 4096, 0x0007 .align 2 gUnknown_083DBD68:: @ 83DBD68 - obj_pal gMenuWordGroup_Pal, 0x0005 + obj_pal gMenuWordGroupIndicator_Pal, 0x0005 .align 2 gOamData_83DBD70:: @ 83DBD70 @@ -19855,8 +20808,9 @@ gUnknown_083E0254:: @ 83E0254 gUnknown_083E0274:: @ 83E0274 .incbin "baserom.gba", 0x003e0274, 0x20 -gUnknown_083E0294:: @ 83E0294 - .incbin "baserom.gba", 0x003e0294, 0x20 + .align 2 +gPokenavConditionSearch2_Pal:: @ 83E0294 + .incbin "graphics/pokenav/condition_search2.gbapal" gUnknown_083E02B4:: @ 83E02B4 .incbin "baserom.gba", 0x003e02b4, 0x60 @@ -19864,9 +20818,11 @@ gUnknown_083E02B4:: @ 83E02B4 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" @@ -20041,31 +20997,42 @@ gUnknown_083E3270:: @ 83E3270 .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" -gPokenavContestPokeballTiles:: - .incbin "graphics/pokenav/contest_pokeball.4bpp" + + .align 2 +gPokenavPokeballTiles:: + .incbin "graphics/pokenav/pokeball.4bpp" + + .align 2 gUnknown_083E3780: @ 83E3780 .incbin "baserom.gba", 0x3e3780, 0x20 .align 2 -gContestSparkle_Pal:: - .incbin "graphics/pokenav/contest_sparkle.gbapal" +gPokenavSparkle_Pal:: + .incbin "graphics/pokenav/sparkle.gbapal" + + .align 2 +gPokenavSparkle_Gfx:: + .incbin "graphics/pokenav/sparkle.4bpp" .align 2 -gContestSparkle_Gfx:: - .incbin "graphics/pokenav/contest_sparkle.4bpp" +gPokenavUpDownArrows_Gfx:: + .incbin "graphics/pokenav/arrows.4bpp" -gContestArrows_Gfx:: - .incbin "graphics/pokenav/contest_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" @@ -20078,12 +21045,12 @@ gUnknown_083E3D00:: @ 83E3D00 .incbin "graphics/misc/ribbons_full.4bpp.lz" .align 2 -gUnknownPal_083E41D8:: - .incbin "graphics/unknown/unknown_3E41D8.gbapal" +PokenavBlueLightPalette: + .incbin "graphics/pokenav/blue_light.gbapal" .align 2 -gUnknownGfx_083E41D8:: - .incbin "graphics/unknown/unknown_3E41D8.4bpp" +PokenavBlueLightTiles: + .incbin "graphics/pokenav/blue_light.4bpp" Palette_3E42D8: @ 83E42D8 .incbin "baserom.gba", 0x3e42d8, 0x20 @@ -20255,12 +21222,12 @@ gSpriteTemplate_83E4454:: @ 83E4454 spr_template 0, 0, gOamData_83E4318, gSpriteAnimTable_83E43E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 -gUnknown_083E446C:: @ 83E446C - obj_tiles gUnknownGfx_083E41D8, 256, 0x0019 +gSpriteSheet_PokenavBlueLight:: @ 83E446C + obj_tiles PokenavBlueLightTiles, 0x100, 25 .align 2 -gUnknown_083E4474:: @ 83E4474 - obj_pal gUnknownPal_083E41D8, 0x0011 +gSpritePalette_PokenavBlueLight:: @ 83E4474 + obj_pal PokenavBlueLightPalette, 17 .align 2 gOamData_83E447C:: @ 83E447C @@ -20273,8 +21240,8 @@ gSpriteTemplate_83E4484:: @ 83E4484 spr_template 25, 17, gOamData_83E447C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2654 gUnknown_083E449C:: @ 83E449C - obj_pal Palette_E88A68, 2 - obj_pal Palette_E8ACE4, 3 + obj_pal gPokenavMenuOptions3_Pal, 2 + obj_pal gPokenavCondition5_Pal, 3 obj_pal 0x0, 0 .align 2 @@ -20360,13 +21327,13 @@ gUnknown_083E4588:: @ 83E4588 .align 2 gUnknown_083E4590:: @ 83E4590 - obj_tiles Tiles_E9F9A8, 0x40, 9 - obj_tiles gContestArrows_Gfx, 0x80, 10 + obj_tiles gPokenavArrow_Gfx, 0x40, 9 + obj_tiles gPokenavUpDownArrows_Gfx, 0x80, 10 null_obj_tiles .align 2 gUnknown_083E45A8:: @ 83E45A8 - obj_pal gPokenavContestArrowsPalette, 9 + obj_pal gPokenavArrowsPalette, 9 .align 2 gOamData_83E45B0:: @ 83E45B0 @@ -20426,15 +21393,15 @@ gSpriteAnimTable_83E4620:: @ 83E4620 .align 2 gUnknown_083E4628:: @ 83E4628 - obj_tiles gPokenavContestPokeballTiles, 0x100, 3 + obj_tiles gPokenavPokeballTiles, 0x100, 3 obj_tiles gUnknown_083E3780, 0x20, 4 - obj_tiles gTiles_08E8A498, 0x100, 5 + obj_tiles gPokenavConditionMenuCancel_Gfx, 0x100, 5 null_obj_tiles .align 2 gUnknown_083E4648:: @ 83E4648 - obj_pal PokenavContestPokeballPalette, 4 - obj_pal Palette_E8A5B8, 5 + obj_pal gPokenavConditionPokeball_Pal, 4 + obj_pal gPokenavCondition4_Pal, 5 .space 8 .align 2 @@ -20482,11 +21449,11 @@ gSpriteTemplate_83E476C:: @ 83E476C .align 2 gUnknown_083E4784:: @ 83E4784 - obj_tiles gContestSparkle_Gfx, 896, 0x0017 + obj_tiles gPokenavSparkle_Gfx, 896, 0x0017 .align 2 gUnknown_083E478C:: @ 83E478C - obj_pal gContestSparkle_Pal, 0x000f + obj_pal gPokenavSparkle_Pal, 0x000f gUnknown_083E4794:: @ 83E4794 .incbin "baserom.gba", 0x003e4794, 0x28 @@ -22654,8 +23621,8 @@ gUnknown_083EDDA0:: @ 83EDDA0 .align 2 gUnknown_083EDDAC:: @ 83EDDAC -Unknown_83EDDAC: .4byte gUnknown_08E95A18 + 32 + Unknown_83EDDB0: .incbin "baserom.gba", 0x003eddb0, 0x20 Unknown_83EDDD0: @@ -22689,11 +23656,13 @@ gSlotMachineSpritePalettes:: @ 83EDE44 obj_pal gSlotMachineSpritePalette4, 7 null_obj_pal + .align 2 gUnknown_083EDE8C:: @ 83EDE8C .incbin "graphics/slot_machine/reel_time.4bpp.lz" -gUnknown_083EEFE0:: @ 83EEFE0 - .incbin "baserom.gba", 0x003eefe0, 0x1b8 + .align 2 +gReelTimeWindowTilemap:: @ 83EEFE0 + .incbin "graphics/slot_machine/reel_time_window_map.bin" .align 2 gPictureFramePalettes:: @ 83EF198 @@ -22929,11 +23898,13 @@ gBirchBallarrow_Pal:: gBirchCircle_Pal:: .incbin "graphics/misc/birch_circle.gbapal" -gUnknown_083F636C:: @ 83F636C - .incbin "baserom.gba", 0x003f636c, 0x18c + .align 2 +gBirchBagTilemap:: @ 83F636C + .incbin "graphics/misc/birch_bag_map.bin.lz" -gUnknown_083F64F8:: @ 83F64F8 - .incbin "baserom.gba", 0x003f64f8, 0x1f8 + .align 2 +gBirchGrassTilemap:: @ 83F64F8 + .incbin "graphics/misc/birch_grass_map.bin.lz" gUnknown_083F66F0:: @ 83F66F0 .incbin "graphics/misc/birch_help.4bpp.lz" @@ -23077,8 +24048,8 @@ gUnknown_083F7A90:: @ 83F7A90 .space 8 gUnknown_083F7AA0:: @ 83F7AA0 - obj_pal gUnknown_08E8F804, 0x1000 - obj_pal gUnknown_08E8F824, 0x1001 + obj_pal gMiscClockMale_Pal, 0x1000 + obj_pal gMiscClockFemale_Pal, 0x1001 .space 8 .align 2 @@ -23236,6 +24207,7 @@ gSpriteTemplate_83F7F84:: @ 83F7F84 gUnknown_083F7F9C:: @ 83F7F9C .incbin "baserom.gba", 0x003f7f9c, 0x28 + .align 2 gUnknown_083F7FC4:: @ 83F7FC4 .byte 1, 4, 1, 0 .4byte sub_810CFF8 @@ -23274,11 +24246,17 @@ gUnknown_083F7FC4:: @ 83F7FC4 .byte 0, 0, 0, 0 .4byte NULL -gUnknown_083F804C:: @ 83F804C - .incbin "baserom.gba", 0x003f804c, 0x20 + .align 2 +gCaveTransitionPalette_White:: @ 83F804C + .rept 16 + .2byte 0x7FFF + .endr -gUnknown_083F806C:: @ 83F806C - .space 32 + .align 2 +gCaveTransitionPalette_Black:: @ 83F806C + .rept 16 + .2byte 0x0000 + .endr gUnknown_083F808C:: @ 83F808C .incbin "baserom.gba", 0x003f808c, 0x10 @@ -23286,11 +24264,13 @@ gUnknown_083F808C:: @ 83F808C gUnknown_083F809C:: @ 83F809C .incbin "baserom.gba", 0x003f809c, 0x10 -gUnknown_083F80AC:: @ 83F80AC - .incbin "baserom.gba", 0x003f80ac, 0x1e0 + .align 2 +gCaveTransitionTilemap:: @ 83F80AC + .incbin "graphics/misc/cave_transition_map.bin.lz" -gUnknown_083F828C:: @ 83F828C - .incbin "graphics/pokenav/map_squares.4bpp.lz" + .align 2 +gCaveTransitionTiles:: @ 83F828C + .incbin "graphics/misc/cave_transition.4bpp.lz" gUnknown_083F8340:: @ 83F8340 .incbin "baserom.gba", 0x003f8340, 0x18 @@ -23364,11 +24344,14 @@ gUnknown_083F8418:: @ 83F8418 gUnknown_083F8438:: @ 83F8438 .incbin "graphics/pokedex/area_glow.4bpp.lz" + .align 1 gUnknown_083F856C:: @ 83F856C - .incbin "baserom.gba", 0x003f856c, 0x2 + .2byte 360 + .align 1 gUnknown_083F856E:: @ 83F856E - .incbin "baserom.gba", 0x003f856e, 0xc + .2byte 328, 0, 34 + .2byte 412, 0, 0 gUnknown_083F857A:: @ 83F857A .incbin "baserom.gba", 0x003f857a, 0x12 @@ -24228,7 +25211,7 @@ gUnknown_083FA632:: @ 83FA632 .incbin "baserom.gba", 0x003fa632, 0x18 gUnknown_083FA64A:: @ 83FA64A - .incbin "baserom.gba", 0x003fa64a, 0x2 + .byte -1, 1 gUnknown_083FA64C:: @ 83FA64C .incbin "baserom.gba", 0x003fa64c, 0x10 @@ -24271,7 +25254,7 @@ gUnknown_083FB718:: @ 83FB718 .incbin "baserom.gba", 0x003fb718, 0x20 gUnknown_083FB738:: @ 83FB738 - .incbin "baserom.gba", 0x003fb738, 0x2 + .byte 0xF0, 0x0F gUnknown_083FB73A:: @ 83FB73A .incbin "baserom.gba", 0x003fb73a, 0x26 @@ -24681,19 +25664,27 @@ gUnknown_084017B0:: @ 84017B0 .4byte UnknownText_Exit, sub_8122838 gUnknown_084017D0:: @ 84017D0 - .incbin "baserom.gba", 0x4017d0, 0x3 + .byte 1, 0, 3 gUnknown_084017D3: @ 84017D3 - .incbin "baserom.gba", 0x4017d3, 0x3 + .byte 2, 0, 3 gUnknown_084017D6: @ 84017D6 - .incbin "baserom.gba", 0x4017d6, 0x2 + .byte 0, 3 .align 2 gUnknown_084017D8:: @ 84017D8 - .4byte 2307, gUnknown_084017D0 - .4byte 2307, gUnknown_084017D3 - .4byte 2306, gUnknown_084017D6 + .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 @@ -24702,47 +25693,60 @@ gUnknown_084017F0:: @ 84017F0 .4byte UnknownText_Exit, sub_81230F4 gUnknown_08401808:: @ 8401808 - .incbin "baserom.gba", 0x401808, 0x3 + .byte 0, 1, 2 gUnknown_0840180B:: @ 840180B - .incbin "baserom.gba", 0x40180b, 0x5 + .byte 1, 2 .align 2 gUnknown_08401810:: @ 8401810 - .4byte 2307, gUnknown_08401808 - .4byte 2306, gUnknown_0840180B - -gUnknown_08401820:: @ 8401820 - .incbin "baserom.gba", 0x00401820, 0x158 + .byte 3, 9 + .space 2 + .4byte gUnknown_08401808 -gUnknown_08401978:: @ 8401978 - .incbin "baserom.gba", 0x00401978, 0x184 + .byte 2, 9 + .space 2 + .4byte gUnknown_0840180B -gUnknown_08401AFC:: @ 8401AFC - .incbin "baserom.gba", 0x00401afc, 0x1c4 + .align 2 +gCableCarMtChimneyTilemap:: @ 8401820 + .incbin "graphics/misc/cable_car_mt_chimney_map.bin.lz" -gUnknown_08401CC0:: @ 8401CC0 - .incbin "baserom.gba", 0x00401cc0, 0x4 + .align 2 +gCableCarTreeTilemap:: @ 8401978 + .incbin "graphics/misc/cable_car_tree_map.bin.lz" -gUnknown_08401CC4:: @ 8401CC4 - .incbin "baserom.gba", 0x00401cc4, 0x4 + .align 2 +gCableCarMountainTilemap:: @ 8401AFC + .incbin "graphics/misc/cable_car_mountain_map.bin.lz" -gUnknown_08401CC8:: @ 8401CC8 - .incbin "baserom.gba", 0x00401cc8, 0xc + .align 2 +gCableCarPylonHookTilemapEntries:: @ 8401CC0 + .2byte 0x3000 + .2byte 0x3001 + .2byte 0x3002 + .2byte 0x3003 + .2byte 0x3004 + .2byte 0x3005 + .2byte 0x3006 + .2byte 0x3007 + .2byte 0x3008 + .2byte 0x3009 -gUnknown_08401CD4:: @ 8401CD4 - .incbin "baserom.gba", 0x00401cd4, 0x24 + .align 2 +gCableCarPylonStemTilemap:: @ 8401CD4 + .incbin "graphics/misc/cable_car_pylon_stem_map.bin.lz" .align 2 gUnknown_08401CF8:: @ 8401CF8 - obj_tiles gUnknown_08E80614, 0x800, 1 - obj_tiles gUnknown_08E80914, 0x40, 2 - obj_tiles gUnknown_08E80944, 0x80, 3 + 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 Palette_08E7EC1C, 1 + obj_pal gCableCar_Pal, 1 .space 8 .align 2 @@ -24775,17 +25779,26 @@ gSpriteTemplate_8401D58:: @ 8401D58 gSpriteTemplate_8401D70:: @ 8401D70 spr_template 3, 1, gOamData_8401D38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, nullsub_76 -gUnknown_08401D88:: @ 8401D88 - .incbin "baserom.gba", 0x00401d88, 0x2 +gCableCarPlayerGraphicsIDs:: @ 8401D88 + .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL + .byte MAP_OBJ_GFX_RIVAL_MAY_NORMAL -gUnknown_08401D8A:: @ 8401D8A - .incbin "baserom.gba", 0x00401d8a, 0x4 +gMtChimneyHikerGraphicsIDs:: @ 8401D8A + .byte MAP_OBJ_GFX_HIKER + .byte MAP_OBJ_GFX_CAMPER + .byte MAP_OBJ_GFX_PICNICKER + .byte MAP_OBJ_GFX_POOCHYENA @ not used -gUnknown_08401D8E:: @ 8401D8E - .incbin "baserom.gba", 0x00401d8e, 0x8 + .align 1 +gMtChimneyHikerCoords:: @ 8401D8E + .2byte 0, 80 + .2byte 240, 146 -gUnknown_08401D96:: @ 8401D96 - .incbin "baserom.gba", 0x00401d96, 0x4 +gMtChimneyHikerMovementDelayTable:: @ 8401D96 + .byte 0 + .byte 60 + .byte 120 + .byte 170 .align 2 gUnknown_08401D9C:: @ 8401D9C @@ -24834,22 +25847,22 @@ gUnknown_08401E5A:: @ 8401E5A .align 2 gUnknown_08401E60:: @ 8401E60 .4byte sub_8128AA8 - .4byte sub_8128AF0 + .4byte contest_ai_get_turn .4byte sub_8128B0C .4byte sub_8128B4C .4byte sub_8128B8C .4byte sub_8128BCC - .4byte sub_8128C0C + .4byte contest_ai_get_excitement .4byte sub_8128C2C .4byte sub_8128C6C .4byte sub_8128CAC .4byte sub_8128CEC - .4byte sub_8128D2C + .4byte contest_ai_get_user_order .4byte sub_8128D50 .4byte sub_8128D90 .4byte sub_8128DD0 .4byte sub_8128E10 - .4byte sub_8128E50 + .4byte contest_ai_get_user_condition_maybe .4byte sub_8128E90 .4byte sub_8128ED0 .4byte sub_8128F10 @@ -24864,21 +25877,21 @@ gUnknown_08401E60:: @ 8401E60 .4byte sub_8129160 .4byte sub_81291AC .4byte sub_81291F8 - .4byte sub_8129244 + .4byte contest_ai_get_contest_type .4byte sub_8129264 .4byte sub_81292A4 - .4byte sub_81292E4 + .4byte contest_ai_get_move_excitement .4byte sub_8129324 .4byte sub_8129368 .4byte sub_81293AC .4byte sub_81293F0 - .4byte sub_8129434 + .4byte contest_ai_get_move_effect .4byte sub_8129470 .4byte sub_81294B0 - .4byte sub_81294F0 + .4byte contest_ai_get_move_effect_type .4byte sub_8129538 .4byte sub_8129578 - .4byte sub_81295B8 + .4byte contest_ai_check_move_has_highest_appeal .4byte sub_8129638 .4byte sub_812967C .4byte sub_81296FC @@ -24892,34 +25905,34 @@ gUnknown_08401E60:: @ 8401E60 .4byte sub_8129930 .4byte sub_8129970 .4byte sub_81299B0 - .4byte sub_81299F0 + .4byte contest_ai_get_move_used_count .4byte sub_8129A44 .4byte sub_8129A84 .4byte sub_8129AC4 .4byte sub_8129B04 - .4byte sub_8129B44 + .4byte contest_ai_check_combo_starter .4byte sub_8129BB8 .4byte sub_8129BFC - .4byte sub_8129C40 + .4byte contest_ai_check_combo_finisher .4byte sub_8129CB4 .4byte sub_8129CF8 - .4byte sub_8129D3C + .4byte contest_ai_check_would_finish_combo .4byte sub_8129D98 .4byte sub_8129DDC - .4byte sub_8129E20 + .4byte contest_ai_get_condition .4byte sub_8129E64 .4byte sub_8129EA4 .4byte sub_8129EE4 .4byte sub_8129F24 - .4byte sub_8129F64 + .4byte contest_ai_get_used_combo_starter .4byte sub_8129FBC .4byte sub_8129FFC .4byte sub_812A03C .4byte sub_812A07C - .4byte sub_812A0BC + .4byte contest_ai_check_can_participate .4byte sub_812A100 .4byte sub_812A144 - .4byte sub_812A188 + .4byte contest_ai_get_val_812A188 .4byte sub_812A1C4 .4byte sub_812A208 .4byte sub_812A24C @@ -24963,7 +25976,7 @@ gUnknown_08401E60:: @ 8401E60 .4byte sub_812AC34 .4byte sub_812AC54 .4byte sub_812AC84 - .4byte sub_812ACFC + .4byte contest_ai_check_for_exciting_move .4byte sub_812AD50 .4byte sub_812AD94 .4byte sub_812ADD8 @@ -25760,10 +26773,10 @@ gUnknown_08402E24:: @ 8402E24 .incbin "baserom.gba", 0x00402e24, 0x15 gUnknown_08402E39:: @ 8402E39 - .incbin "baserom.gba", 0x00402e39, 0x4 + .byte 0, 1, 2, 3 gUnknown_08402E3D:: @ 8402E3D - .incbin "baserom.gba", 0x00402e3d, 0x3 + .byte 4, 5, 6 gUnknown_08402E40:: @ 8402E40 .incbin "baserom.gba", 0x00402e40, 0x40 @@ -25795,8 +26808,19 @@ gUnknown_08405E92:: @ 8405E92 gUnknown_08405EB0:: @ 8405EB0 .incbin "baserom.gba", 0x00405eb0, 0x14 -gUnknown_08405EC4:: @ 8405EC4 - .incbin "baserom.gba", 0x00405ec4, 0x16 + .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 @@ -25805,14 +26829,12 @@ gUnknown_08405EE6:: @ 8405EE6 .incbin "baserom.gba", 0x00405ee6, 0x12 .align 2 -gUnknownPal_08405EF8:: - .incbin "baserom.gba", 0x00405ef8, 0x20 +ConditionUpDownPalette: + .incbin "graphics/misc/condition_up_down.gbapal" .align 2 -gUnknownPal_08405F18:: - .incbin "baserom.gba", 0x00405f18, 0x20 - - .incbin "baserom.gba", 0x00405f38, 0x1E0 +ConditionUpDownTiles: + .incbin "graphics/misc/condition_up_down.4bpp" gUnknown_08406118:: @ 8406118 .incbin "baserom.gba", 0x00406118, 0x14 @@ -25830,12 +26852,12 @@ gUnknown_08406134:: @ 8406134 .4byte OtherText_Beauty .align 2 -gUnknown_08406148:: @ 8406148 - obj_pal gUnknownPal_08405F18, 0x0200 +gSpriteSheet_ConditionUpDown:: @ 8406148 + obj_tiles ConditionUpDownTiles, 0x200, 0 .align 2 -gUnknown_08406150:: @ 8406150 - obj_pal gUnknownPal_08405EF8, 0x0000 +gSpritePalette_ConditionUpDown:: @ 8406150 + obj_pal ConditionUpDownPalette, 0 gUnknown_08406158:: @ 8406158 .incbin "baserom.gba", 0x00406158, 0x14 @@ -25993,15 +27015,19 @@ gUnknown_08406334:: @ 8406334 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" @@ -26036,35 +27062,51 @@ gUnknown_0840725C:: @ 840725C 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 "baserom.gba", 0x00409ad4, 0x130 + .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 "baserom.gba", 0x0040a758, 0x20 + .incbin "graphics/intro/intro3_streaks.gbapal" + .align 2 gUnknown_0840A778:: @ 840A778 - .incbin "baserom.gba", 0x0040a778, 0x6c + .incbin "graphics/intro/intro3_streaks.4bpp.lz" + .align 2 gUnknown_0840A7E4:: @ 840A7E4 - .incbin "baserom.gba", 0x0040a7e4, 0x13c + .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" @@ -27003,60 +28045,52 @@ gUnknown_0840DCC8:: @ 840DCC8 SystemText_Pokemon2: .string "POKéMON$" -gUnknown_0840DCD0:: @ 840DCD0 -SystemText_NewGame: +gMainMenuString_NewGame:: @ 840DCD0 .string "NEW GAME$" -gUnknown_0840DCD9:: @ 840DCD9 -SystemText_Continue: +gMainMenuString_Continue:: @ 840DCD9 .string "CONTINUE$" -gUnknown_0840DCE2:: @ 840DCE2 -SystemText_Option2: +gMainMenuString_Option:: @ 840DCE2 .string "OPTION$" -gUnknown_0840DCE9:: @ 840DCE9 -SystemText_MysteryEvents: +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.$" -gUnknown_0840DE81:: @ 840DE81 -SystemText_SaveCorrupt: +gSaveFileCorruptMessage:: @ 840DE81 .string "The save file is corrupt. The\nprevious save file will be loaded.$" -gUnknown_0840DEC2:: @ 840DEC2 -SystemText_SaveDeleted: +gSaveFileDeletedMessage:: @ 840DEC2 .string " The save file has been deleted...$" -gUnknown_0840DEE5:: @ 840DEE5 -SystemText_1MSubCircuitNotInstalled: +gBoardNotInstalledMessage:: @ 840DEE5 .string "The 1M sub-circuit board is\nnot installed.$" -gUnknown_0840DF10:: @ 840DF10 -SystemText_InternalBatteryIsDry: +gBatteryDryMessage:: @ 840DF10 .string "The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur.$" -gUnknown_0840DF7C:: @ 840DF7C -SystemText_Player2:: +gMainMenuString_Player:: @ 840DF7C .string "PLAYER$" -gUnknown_0840DF83:: @ 840DF83 -SystemText_Pokedex2:: +gMainMenuString_Pokedex:: @ 840DF83 .string "POKéDEX$" -gUnknown_0840DF8B:: @ 840DF8B -SystemText_Time:: +gMainMenuString_Time:: @ 840DF8B .string "TIME$" -gUnknown_0840DF90:: @ 840DF90 -SystemText_Badges:: +gMainMenuString_Badges:: @ 840DF90 .string "BADGES$" gBirchText_Boy:: @@ -29428,20 +30462,20 @@ gSpriteAffineAnimTable_8412050:: @ 8412050 .align 2 gUnknown_084120A4:: @ 84120A4 - .4byte gUnknown_08E781E4 - .4byte gUnknown_08E781F8 - .4byte gUnknown_08E7820C - .4byte gUnknown_08E78220 - .4byte gUnknown_08E78234 - .4byte gUnknown_08E78248 - .4byte gUnknown_08E7825C - .4byte gUnknown_08E78270 - .4byte gUnknown_08E78284 - .4byte gUnknown_08E78298 - .4byte gUnknown_08E782ac - .4byte gUnknown_08E782c0 - .4byte gUnknown_08E782d4 - .4byte gUnknown_08E782e8 + .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 @@ -29853,9 +30887,11 @@ 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" @@ -30464,8 +31500,7 @@ OtherText_Cancel:: OtherText_Lv:: .string "LV$" -gUnknown_0842CC34:: @ 842CC34 -OtherText_Egg:: +gEggNickname:: @ 842CC34 .string "EGG$" gUnknown_0842CC38:: @ 842CC38 @@ -30968,11 +32003,44 @@ Unknown_842F558: @ 842F558 .4byte Unknown_842F4F0 .4byte Unknown_842F520 + .align 2 gUnknown_0842F5BC:: @ 842F5BC .4byte Unknown_842F558 -gUnknown_0842F5C0:: @ 842F5C0 - .incbin "baserom.gba", 0x0042f5c0, 0x100 + .align 2 +gSubspriteTables_842F5C0:: @ 842F5C0 + .4byte 1, gSubspriteTable_203A380 + .4byte 1, gSubspriteTable_203A380 + .4byte 2, gSubspriteTable_203A380 + .4byte 3, gSubspriteTable_203A380 + .4byte 4, gSubspriteTable_203A380 + .4byte 5, gSubspriteTable_203A380 + .4byte 6, gSubspriteTable_203A380 + .4byte 7, gSubspriteTable_203A380 + .4byte 8, gSubspriteTable_203A380 + .4byte 9, gSubspriteTable_203A380 + .4byte 10, gSubspriteTable_203A380 + .4byte 11, gSubspriteTable_203A380 + .4byte 12, gSubspriteTable_203A380 + .4byte 13, gSubspriteTable_203A380 + .4byte 14, gSubspriteTable_203A380 + .4byte 15, gSubspriteTable_203A380 + .4byte 1, gSubspriteTable_203A380 + .4byte 17, gSubspriteTable_203A380 + .4byte 18, gSubspriteTable_203A380 + .4byte 19, gSubspriteTable_203A380 + .4byte 20, gSubspriteTable_203A380 + .4byte 21, gSubspriteTable_203A380 + .4byte 22, gSubspriteTable_203A380 + .4byte 23, gSubspriteTable_203A380 + .4byte 24, gSubspriteTable_203A380 + .4byte 25, gSubspriteTable_203A380 + .4byte 26, gSubspriteTable_203A380 + .4byte 27, gSubspriteTable_203A380 + .4byte 28, gSubspriteTable_203A380 + .4byte 29, gSubspriteTable_203A380 + .4byte 30, gSubspriteTable_203A380 + .4byte 31, gSubspriteTable_203A380 .align 2 gUnknown_0842F6C0:: @ 842F6C0 diff --git a/data/graphics.s b/data/graphics.s index 360338b53..39cfaf5d9 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -18,9 +18,9 @@ gUnknown_08D00524:: @ 8D00524 .include "data/graphics/pokemon/circled_question_mark_graphics.s" @ 8D019E4 - .incbin "graphics/unused/old.4bpp.lz" @ japanese table and bunch of stuff - .incbin "graphics/unused/unknown_D021BC.bin" - .incbin "graphics/unused/unknown_D023E8.bin" + .incbin "graphics/unused/old_charmap.4bpp.lz" @ japanese table and bunch of stuff + .incbin "graphics/unused/old_charmap.bin.lz" + .incbin "graphics/unused/old_charmap.gbapal.lz" .align 2 gSmokescreenImpactTiles:: @ 8D02410 @@ -30,78 +30,103 @@ gSmokescreenImpactTiles:: @ 8D02410 gSmokescreenImpactPalette:: @ 8D024F0 .incbin "graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz" + .align 2 gInterfaceGfx_PokeBall:: .incbin "graphics/interface/ball/poke.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_PokeBall:: .incbin "graphics/interface/ball/poke.gbapal.lz" + .align 2 gInterfaceGfx_GreatBall:: .incbin "graphics/interface/ball/great.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_GreatBall:: .incbin "graphics/interface/ball/great.gbapal.lz" + .align 2 gInterfaceGfx_SafariBall:: .incbin "graphics/interface/ball/safari.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_SafariBall:: .incbin "graphics/interface/ball/safari.gbapal.lz" + .align 2 gInterfaceGfx_UltraBall:: .incbin "graphics/interface/ball/ultra.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_UltraBall:: .incbin "graphics/interface/ball/ultra.gbapal.lz" + .align 2 gInterfaceGfx_MasterBall:: .incbin "graphics/interface/ball/master.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_MasterBall:: .incbin "graphics/interface/ball/master.gbapal.lz" + .align 2 gInterfaceGfx_NetBall:: .incbin "graphics/interface/ball/net.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_NetBall:: .incbin "graphics/interface/ball/net.gbapal.lz" + .align 2 gInterfaceGfx_DiveBall:: .incbin "graphics/interface/ball/dive.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_DiveBall:: .incbin "graphics/interface/ball/dive.gbapal.lz" + .align 2 gInterfaceGfx_NestBall:: .incbin "graphics/interface/ball/nest.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_NestBall:: .incbin "graphics/interface/ball/nest.gbapal.lz" + .align 2 gInterfaceGfx_RepeatBall:: .incbin "graphics/interface/ball/repeat.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_RepeatBall:: .incbin "graphics/interface/ball/repeat.gbapal.lz" + .align 2 gInterfaceGfx_TimerBall:: .incbin "graphics/interface/ball/timer.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_TimerBall:: .incbin "graphics/interface/ball/timer.gbapal.lz" + .align 2 gInterfaceGfx_LuxuryBall:: .incbin "graphics/interface/ball/luxury.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_LuxuryBall:: .incbin "graphics/interface/ball/luxury.gbapal.lz" + .align 2 gInterfaceGfx_PremierBall:: .incbin "graphics/interface/ball/premier.4bpp.lz" @ 0xBC + .align 2 gInterfacePal_PremierBall:: .incbin "graphics/interface/ball/premier.gbapal.lz" + .align 2 gUnknown_08D030D0:: @ 8D030D0 .incbin "graphics/interface/ball_open.4bpp.lz" @@ -250,7 +275,7 @@ gBattleAnimSpriteSheet_017:: @ 8D04368 .incbin "graphics/battle_anims/sprites/017.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD04388, 0x21 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unknown/unknown_D04388.4bpp.lz" .align 2 gBattleAnimSpritePalette_019:: @ 8D043AC @@ -277,10 +302,10 @@ gBattleAnimSpriteSheet_023:: @ 8D045A4 .incbin "graphics/battle_anims/sprites/023.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD046AC, 0x26 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/battle_anim_023.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD046D4, 0xFA @ LZ, uncomp. size = 0x400 + .incbin "graphics/unused/music_notes.4bpp.lz" .align 2 gBattleAnimSpritePalette_021:: @ 8D047D0 @@ -395,31 +420,33 @@ gBattleAnimSpriteSheet_037:: @ 8D0781C .incbin "graphics/battle_anims/sprites/037.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD07B68, 0x42 @ LZ, uncomp. size = 0xA0 + .incbin "graphics/unknown/unknown_D07B68.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD07BAC, 0x14 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unknown/unknown_D07B68.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD07BC0, 0x33 @ LZ, uncomp. size = 0x40 + .incbin "graphics/unknown/unknown_D07B68_2.gbapal.lz" + +@ old battle interface data, unused .align 2 - .incbin "baserom.gba", 0xD07BF4, 0x362 @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/obi1.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD07F58, 0x41 @ LZ, uncomp. size = 0x60 + .incbin "graphics/unused/obi_palpak1.gbapal.lz" @ palettes 1-3 .align 2 - .incbin "baserom.gba", 0xD07F9C, 0x16 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/old_pal4.gbapal.lz" @ 4 is by itself .align 2 - .incbin "baserom.gba", 0xD07FB4, 0x57 @ LZ, uncomp. size = 0x60 + .incbin "graphics/unused/obi_palpak3.gbapal.lz" @ palettes 5-7 .align 2 - .incbin "baserom.gba", 0xD0800C, 0x5C6 @ LZ, uncomp. size = 0x1400 + .incbin "graphics/unused/obi2.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD085D4, 0x10D @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/old_battle_interface_tilemap.bin.lz" .align 2 gBattleAnimSpritePalette_038:: @ 8D086E4 @@ -479,7 +506,7 @@ gBattleAnimSpriteSheet_045:: @ 8D099DC .align 2 gUnknown_08D09C48:: @ 8D09C48 - .incbin "baserom.gba", 0xD09C48, 0x211 @ LZ, uncomp. size = 0x520 + .incbin "graphics/interface/hp_numbers.4bpp.lz" .align 2 gBattleAnimSpriteSheet_046:: @ 8D09E5C @@ -522,10 +549,10 @@ gBattleAnimSpriteSheet_052:: @ 8D0A6D8 .incbin "graphics/battle_anims/sprites/052.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD0A7A4, 0x181 @ LZ, uncomp. size = 0x600 + .incbin "graphics/unused/line_sketch.4bpp.lz" @ unused .align 2 - .incbin "baserom.gba", 0xD0A928, 0xF @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/line_sketch.gbapal.lz" .align 2 gBattleAnimSpriteSheet_054:: @ 8D0A938 @@ -604,7 +631,7 @@ gBattleAnimSpritePalette_063:: @ 8D0BB90 .incbin "graphics/battle_anims/sprites/063.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD0BBB8, 0x6D @ LZ, uncomp. size = 0x80 + .incbin "graphics/unused/metronome_hand_small.4bpp.lz" @ unused, was for metronome at one point .align 2 gBattleAnimSpritePalette_091:: @ 8D0BC28 @@ -690,23 +717,23 @@ gBattleAnimSpriteSheet_081:: @ 8D0CF04 gBattleAnimSpritePalette_081:: @ 8D0CF88 .incbin "graphics/battle_anims/sprites/081.gbapal.lz" - .align 2 - .incbin "baserom.gba", 0xD0CFAC, 0x24 @ LZ, uncomp. size = 0x20 + .align 2 @ 8D0CFAC + .incbin "graphics/unknown/unknown_D0CFAC.bin" - .align 2 - .incbin "baserom.gba", 0xD0CFD0, 0x24 @ LZ, uncomp. size = 0x20 + .align 2 @ 8D0CFD0 + .incbin "graphics/unknown/unknown_D0CFD0.bin" - .align 2 - .incbin "baserom.gba", 0xD0CFF4, 0x24 @ LZ, uncomp. size = 0x20 + .align 2 @ 8D0CFF4 + .incbin "graphics/unknown/unknown_D0CFF4.bin" .align 2 - .incbin "baserom.gba", 0xD0D018, 0x57 @ LZ, uncomp. size = 0x240 + .incbin "graphics/unused/line_sketch_2.8bpp.lz" - .align 2 - .incbin "baserom.gba", 0xD0D070, 0x1F @ LZ, uncomp. size = 0x20 + .align 2 @ 8D0D070 + .incbin "graphics/unknown/unknown_D0D070.bin" .align 2 - .incbin "baserom.gba", 0xD0D090, 0x8F @ LZ, uncomp. size = 0x400 + .incbin "graphics/unused/line_sketch_2.bin.lz" .align 2 gBattleAnimSpriteSheet_082:: @ 8D0D120 @@ -757,7 +784,7 @@ gBattleAnimSpritePalette_094:: @ 8D0D294 .incbin "graphics/battle_anims/sprites/094.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD0D2B4, 0x1D @ LZ, uncomp. size = 0x20 + .incbin "graphics/unknown/unknown_D0D2B4.bin.lz" .align 2 gBattleAnimSpritePalette_095:: @ 8D0D2D4 @@ -936,48 +963,71 @@ gBattleAnimSpritePalette_114:: @ 8D1106C .incbin "graphics/battle_anims/sprites/114.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD11094, 0x115 @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/blue_frame.bin.lz" @ P1, P2, P3 and P4 tilemaps? .align 2 - .incbin "baserom.gba", 0xD111AC, 0x3FE @ LZ, uncomp. size = 0x2000 + .incbin "graphics/unused/redyellowgreen_frame.bin.lz" .align 2 - .incbin "baserom.gba", 0xD115AC, 0x59F @ LZ, uncomp. size = 0x2C20 + .incbin "graphics/unused/color_frames.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD11B4C, 0x28 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/color_frames.gbapal.lz" .align 2 gBattleAnimSpriteSheet_115:: @ 8D11B74 .incbin "graphics/battle_anims/sprites/115.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD11CA4, 0x188 @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/water_splash.8bpp.lz" .align 2 - .incbin "baserom.gba", 0xD11E2C, 0xDD @ LZ, uncomp. size = 0x400 + .incbin "graphics/unused/water_splash.bin.lz" .align 2 - .incbin "baserom.gba", 0xD11F0C, 0x5D @ LZ, uncomp. size = 0x200 + .incbin "graphics/unused/water_splash.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD11F6C, 0x8C @ LZ, uncomp. size = 0x140 + .incbin "graphics/unused/basic_frame.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD11FF8, 0x28 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/basic_frame.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD12020, 0x10C @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/basic_frame.bin.lz" + .align 2 gUnknown_08D1212C:: - .incbin "graphics/interface/battle_window.gbapal" + .incbin "graphics/battle_interface/window.gbapal" + + .align 2 gUnknown_08D1214C:: - .incbin "baserom.gba", 0xd1214c, 0x20 + .incbin "graphics/battle_interface/hpbar.gbapal" + + .align 2 gUnknown_08D1216C:: @ 8D1216C - .incbin "baserom.gba", 0xd1216c, 0x840 + .incbin "graphics/battle_interface/hpbar.4bpp" + .incbin "graphics/battle_interface/expbar.4bpp" + .incbin "graphics/battle_interface/status_psn.4bpp" + .incbin "graphics/battle_interface/status_par.4bpp" + .incbin "graphics/battle_interface/status_slp.4bpp" + .incbin "graphics/battle_interface/status_frz.4bpp" + .incbin "graphics/battle_interface/status_brn.4bpp" + .incbin "graphics/battle_interface/misc.4bpp" + .incbin "graphics/battle_interface/hpbar_anim.4bpp" + .incbin "graphics/battle_interface/misc_frameend.4bpp" + .align 2 Tiles_D129AC:: @ 8D129AC - .incbin "baserom.gba", 0xd129ac, 0x680 + .incbin "graphics/battle_interface/ball_display.4bpp" + + @ extra stuff + .incbin "graphics/battle_interface/ball_display_unused_extra.4bpp" + .incbin "graphics/battle_interface/status2.4bpp" @ these three duplicate sets of graphics are for the opponent pokemon and are also for use in double battles. they use dynamic palettes so coloring them is an extreme headache and wont be done for now. + .incbin "graphics/battle_interface/status3.4bpp" + .incbin "graphics/battle_interface/status4.4bpp" + .incbin "graphics/unknown/unknown_D12FEC.4bpp" + .incbin "graphics/unknown/unknown_D1300C.4bpp" .align 2 gBattleAnimSpriteSheet_116:: @ 8D1302C @@ -1128,13 +1178,13 @@ gBattleAnimSpriteSheet_077:: @ 8D150F4 .incbin "graphics/battle_anims/sprites/077.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD151C8, 0x912 @ LZ, uncomp. size = 0x2000 + .incbin "graphics/unused/old_contest.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD15ADC, 0x104 @ LZ, uncomp. size = 0x200 + .incbin "graphics/unused/old_contest.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD15BE0, 0x183 @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/old_contest.bin.lz" .align 2 .incbin "baserom.gba", 0xD15D64, 0x2C0 @ LZ, uncomp. size = 0x1000 @@ -1148,15 +1198,15 @@ gContestNumbers_UnusedPal:: .incbin "graphics/unused/numbers.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD16134, 0x100F @ LZ, uncomp. size = 0x4000 + .incbin "graphics/unused/old_contest_2.4bpp.lz" .align 2 gUnknown_08D17144:: @ 8D17144 - .incbin "baserom.gba", 0xD17144, 0x116 @ LZ, uncomp. size = 0x200 + .incbin "graphics/unused/old_contest_2.gbapal.lz" @ the tilemap and palette for unused contest assets are used. however, these two files aren't old .align 2 gUnknown_08D1725C:: @ 8D1725C - .incbin "baserom.gba", 0xD1725C, 0x1C5 @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/old_contest_2.bin.lz" .align 2 gUnknown_08D17424:: @ 8D17424 @@ -1173,47 +1223,47 @@ gUnknown_08D17C3C:: @ 8D17C3C .incbin "baserom.gba", 0xD17C3C, 0x12D @ LZ, uncomp. size = 0x800 .align 2 -gUnknown_08D17D6C:: @ 8D17D6C - .incbin "baserom.gba", 0xD17D6C, 0xAAA @ LZ, uncomp. size = 0x2000 +gContestMiscGfx:: @ 8D17D6C + .incbin "graphics/contest/misc.4bpp.lz" .align 2 -gUnknown_08D18818:: @ 8D18818 - .incbin "baserom.gba", 0xD18818, 0xC59 @ LZ, uncomp. size = 0x2000 +gContestAudienceGfx:: @ 8D18818 + .incbin "graphics/contest/audience.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD19474, 0x11C @ LZ, uncomp. size = 0x180 + .incbin "graphics/contest/faces.4bpp.lz" .align 2 gContestJudgeSymbolsGfx:: @ 8D19590 - .incbin "graphics/misc/judge_symbols.4bpp.lz" + .incbin "graphics/contest/judge_symbols.4bpp.lz" .align 2 gContest3Pal:: - .incbin "graphics/misc/judge_symbols.gbapal.lz" + .incbin "graphics/contest/judge_symbols.gbapal.lz" .align 2 gTiles_8D1975C:: @ 8D1975C - .incbin "baserom.gba", 0x00d1975c, 0x20 + .incbin "graphics/contest/heart.4bpp" .align 2 gUnknown_08D1977C:: @ 8D1977C - .incbin "baserom.gba", 0xD1977C, 0xAD1 @ LZ, uncomp. size = 0x2400 + .incbin "graphics/contest/misc_2.4bpp.lz" .align 2 gUnknown_08D1A250:: @ 8D1A250 - .incbin "baserom.gba", 0xD1A250, 0x112 @ LZ, uncomp. size = 0x800 + .incbin "graphics/contest/misc_2_tilemap_1.bin.lz" .align 2 gUnknown_08D1A364:: @ 8D1A364 - .incbin "baserom.gba", 0xD1A364, 0x129 @ LZ, uncomp. size = 0x800 + .incbin "graphics/contest/misc_2_tilemap_2.bin.lz" .align 2 gUnknown_08D1A490:: @ 8D1A490 - .incbin "baserom.gba", 0xD1A490, 0x188 @ LZ, uncomp. size = 0x800 + .incbin "graphics/contest/misc_2_tilemap_3.bin.lz" .align 2 gUnknown_08D1A618:: @ 8D1A618 - .incbin "baserom.gba", 0xD1A618, 0xEA @ LZ, uncomp. size = 0x200 + .incbin "graphics/contest/misc_2.gbapal.lz" .align 2 gBattleAnimSpriteSheet_135:: @ 8D1A704 @@ -1276,10 +1326,10 @@ gBattleAnimSpriteSheet_142:: @ 8D1B1B8 .incbin "graphics/battle_anims/sprites/142.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD1B218, 0x9C @ LZ, uncomp. size = 0x200 + .incbin "graphics/unused/old_beatup.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD1B2B4, 0x1B @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/old_beatup.gbapal.lz" .align 2 gBattleAnimSpriteSheet_147:: @ 8D1B2D0 @@ -1398,13 +1448,13 @@ gBattleAnimSpritePalette_144:: @ 8D1C040 .incbin "graphics/battle_anims/sprites/144.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD1C060, 0x26 @ LZ, uncomp. size = 0x60 + .incbin "graphics/unknown/unknown_D1C060.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD1C088, 0x16 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unknown/unknown_D1C060.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD1C0A0, 0x102 @ LZ, uncomp. size = 0x800 + .incbin "graphics/unknown/unknown_D1C060.bin.lz" .align 2 gBattleAnimSpriteSheet_162:: @ 8D1C1A4 @@ -1472,11 +1522,11 @@ gBattleAnimSpritePalette_172:: @ 8D1C728 .align 2 gContestJudgeGfx:: - .incbin "graphics/misc/judge.4bpp.lz" + .incbin "graphics/contest/judge.4bpp.lz" .align 2 gContest2Pal:: @ 8D1CA1C - .incbin "graphics/misc/judge.gbapal.lz" + .incbin "graphics/contest/judge.gbapal.lz" .align 2 gBattleAnimSpriteSheet_001:: @ 8D1CA44 @@ -1504,24 +1554,24 @@ gBattleAnimBackgroundTilemap_00:: @ 8D1D1C0 .align 2 gUnknown_08D1D410:: @ 8D1D410 - .incbin "baserom.gba", 0xD1D410, 0x13A @ LZ, uncomp. size = 0x800 + .incbin "graphics/battle_anims/masks/metal_shine.4bpp.lz" .align 2 gUnknown_08D1D54C:: @ 8D1D54C - .incbin "baserom.gba", 0xD1D54C, 0x28 @ LZ, uncomp. size = 0x20 + .incbin "graphics/battle_anims/masks/metal_shine.gbapal.lz" .align 2 gUnknown_08D1D574:: @ 8D1D574 - .incbin "baserom.gba", 0xD1D574, 0x172 @ LZ, uncomp. size = 0x800 + .incbin "graphics/battle_anims/masks/metal_shine.bin.lz" .align 2 - .incbin "baserom.gba", 0xD1D6E8, 0x10E @ LZ, uncomp. size = 0x600 + .incbin "graphics/unused/goosuto.4bpp.lz" @ ghost .align 2 - .incbin "baserom.gba", 0xD1D7F8, 0x16 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/goosuto.gbapal.lz" .align 2 - .incbin "baserom.gba", 0xD1D810, 0x14E @ LZ, uncomp. size = 0x800 + .incbin "graphics/unused/goosuto.bin.lz" .align 2 gBattleAnimSpriteSheet_174:: @ 8D1D960 @@ -1641,29 +1691,29 @@ gBattleAnimSpritePalette_186:: @ 8D1F508 .align 2 gBattleWindowLargeGfx:: - .incbin "graphics/interface/battle_window.4bpp.lz" + .incbin "graphics/battle_interface/window.4bpp.lz" .align 2 gBattleWindowSmallGfx:: - .incbin "graphics/interface/battle_window2.4bpp.lz" + .incbin "graphics/battle_interface/window2.4bpp.lz" .align 2 gBattleWindowSmall2Gfx:: - .incbin "graphics/interface/battle_window3.4bpp.lz" + .incbin "graphics/battle_interface/window3.4bpp.lz" .align 2 gBattleWindowSmall3Gfx:: - .incbin "graphics/interface/battle_window4.4bpp.lz" + .incbin "graphics/battle_interface/window4.4bpp.lz" .align 2 -gBattleWindowLarge2Gfx:: @ 8d1fc94 - .incbin "graphics/interface/battle_window5.4bpp.lz" +gBattleWindowLarge2Gfx:: + .incbin "graphics/battle_interface/window5.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD1FF0C, 0x5D @ LZ, uncomp. size = 0x100 + .incbin "graphics/unused/shadow.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xD1FF6C, 0x12 @ LZ, uncomp. size = 0x20 + .incbin "graphics/unused/shadow.gbapal.lz" .align 2 gBattleAnimSpriteSheet_014:: @ 8D1FF80 @@ -1715,11 +1765,11 @@ gBattleAnimSpritePalette_193:: @ 8D209EC .align 2 gUnknown_08D20A14:: @ 8D20A14 - .incbin "baserom.gba", 0xD20A14, 0x1A @ LZ, uncomp. size = 0x60 + .incbin "graphics/battle_anims/masks/curse.4bpp.lz" .align 2 gUnknown_08D20A30:: @ 8D20A30 - .incbin "baserom.gba", 0xD20A30, 0xFD @ LZ, uncomp. size = 0x800 + .incbin "graphics/battle_anims/masks/curse.bin.lz" .align 2 gBattleAnimSpriteSheet_002:: @ 8D20B30 @@ -1822,7 +1872,6 @@ gBattleAnimSpriteSheet_206:: @ 8D227B0 .incbin "graphics/battle_anims/sprites/206.4bpp.lz" .align 2 -gUnknown_08D229BC:: gBattleAnimSpritePalette_206:: @ 8D229BC .incbin "graphics/battle_anims/sprites/206.gbapal.lz" @@ -1879,16 +1928,16 @@ gBattleAnimSpritePalette_216:: @ 8D2366C .incbin "graphics/battle_anims/sprites/216.gbapal.lz" .align 2 -gUnknown_08D2368C:: @ 8D2368C - .incbin "baserom.gba", 0xD2368C, 0xA6E @ LZ, uncomp. size = 0x2000 +gAttractGfx:: @ 8D2368C + .incbin "graphics/battle_anims/backgrounds/attract.4bpp.lz" .align 2 -gUnknown_08D240FC:: @ 8D240FC - .incbin "baserom.gba", 0xD240FC, 0x28 @ LZ, uncomp. size = 0x20 +gAttractPal:: @ 8D240FC + .incbin "graphics/battle_anims/backgrounds/attract.gbapal.lz" .align 2 -gUnknown_08D24124:: @ 8D24124 - .incbin "baserom.gba", 0xD24124, 0x27A @ LZ, uncomp. size = 0x800 +gAttractTilemap:: @ 8D24124 + .incbin "graphics/battle_anims/backgrounds/attract.bin.lz" .align 2 gBattleAnimSpriteSheet_217:: @ 8D243A0 @@ -1927,12 +1976,12 @@ gBattleAnimSpritePalette_215:: @ 8D24D58 .incbin "graphics/battle_anims/sprites/215.gbapal.lz" .align 2 -gUnknown_08D24D7C:: @ 8D24D7C - .incbin "baserom.gba", 0xD24D7C, 0x28 @ LZ, uncomp. size = 0x20 +gBattleAnimBackgroundPalette_ScaryFace:: @ 8D24D7C + .incbin "graphics/battle_anims/backgrounds/scary_face.gbapal.lz" .align 2 -gUnknown_08D24DA4:: @ 8D24DA4 - .incbin "baserom.gba", 0xD24DA4, 0x22D @ LZ, uncomp. size = 0xA00 +gBattleAnimBackgroundImage_ScaryFace:: @ 8D24DA4 + .incbin "graphics/battle_anims/backgrounds/scary_face.4bpp.lz" .align 2 gBattleAnimSpritePalette_218:: @ 8D24FD4 @@ -2176,15 +2225,15 @@ gBattleAnimBackgroundTilemap_10:: @ 8D2A6E8 .align 2 gUnknown_08D2A9E0:: @ 8D2A9E0 - .incbin "baserom.gba", 0xD2A9E0, 0x9F @ LZ, uncomp. size = 0x280 + .incbin "graphics/battle_anims/masks/morning_sun.4bpp.lz" .align 2 gUnknown_08D2AA80:: @ 8D2AA80 - .incbin "baserom.gba", 0xD2AA80, 0x16 @ LZ, uncomp. size = 0x20 + .incbin "graphics/battle_anims/masks/morning_sun.gbapal.lz" .align 2 gUnknown_08D2AA98:: @ 8D2AA98 - .incbin "baserom.gba", 0xD2AA98, 0x11B @ LZ, uncomp. size = 0x800 + .incbin "graphics/battle_anims/masks/morning_sun.bin.lz" .align 2 gBattleAnimBackgroundTilemap_12:: @ 8D2ABB4 @@ -2243,16 +2292,16 @@ gBattleAnimSpritePalette_240:: @ 8D2D240 .incbin "graphics/battle_anims/sprites/240.gbapal.lz" .align 2 -gUnknown_08D2D268:: @ 8D2D268 - .incbin "baserom.gba", 0xD2D268, 0x24 @ LZ, uncomp. size = 0x20 +gSubstituteDollPal:: @ 8D2D268 + .incbin "graphics/battle_anims/sprites/substitute.gbapal.lz" .align 2 -gUnknown_08D2D28C:: @ 8D2D28C - .incbin "baserom.gba", 0xD2D28C, 0x23D @ LZ, uncomp. size = 0x800 +gSubstituteDollGfx:: @ 8D2D28C + .incbin "graphics/battle_anims/sprites/substitute.4bpp.lz" .align 2 -gUnknown_08D2D4CC:: @ 8D2D4CC - .incbin "baserom.gba", 0xD2D4CC, 0x225 @ LZ, uncomp. size = 0x800 +gSubstituteDollTilemap:: @ 8D2D4CC + .incbin "graphics/battle_anims/sprites/substitute.bin.lz" .align 2 gBattleAnimSpriteSheet_241:: @ 8D2D6F4 @@ -2287,60 +2336,60 @@ gBattleAnimSpritePalette_243:: @ 8D2DAA4 .incbin "graphics/battle_anims/sprites/243.gbapal.lz" .align 2 -gUnknown_08D2DACC:: @ 8D2DACC - .incbin "baserom.gba", 0xD2DACC, 0x20E @ LZ, uncomp. size = 0x800 +gBattleStatMask_Gfx:: @ 8D2DACC + .incbin "graphics/battle_anims/masks/stat.4bpp.lz" .align 2 -gUnknown_08D2DCDC:: @ 8D2DCDC - .incbin "baserom.gba", 0xD2DCDC, 0x11C @ LZ, uncomp. size = 0x800 +gBattleStatMask1_Tilemap:: @ 8D2DCDC + .incbin "graphics/battle_anims/masks/stat_tilemap_1.bin.lz" .align 2 -gUnknown_08D2DDF8:: @ 8D2DDF8 - .incbin "baserom.gba", 0xD2DDF8, 0x11C @ LZ, uncomp. size = 0x800 +gBattleStatMask2_Tilemap:: @ 8D2DDF8 + .incbin "graphics/battle_anims/masks/stat_tilemap_2.bin.lz" .align 2 -gUnknown_08D2DF14:: @ 8D2DF14 - .incbin "baserom.gba", 0xD2DF14, 0x1D @ LZ, uncomp. size = 0x20 +gBattleStatMask1_Pal:: @ 8D2DF14 + .incbin "graphics/battle_anims/masks/stat1.gbapal.lz" .align 2 -gUnknown_08D2DF34:: @ 8D2DF34 - .incbin "baserom.gba", 0xD2DF34, 0x1D @ LZ, uncomp. size = 0x20 +gBattleStatMask2_Pal:: @ 8D2DF34 + .incbin "graphics/battle_anims/masks/stat2.gbapal.lz" .align 2 -gUnknown_08D2DF54:: @ 8D2DF54 - .incbin "baserom.gba", 0xD2DF54, 0x1F @ LZ, uncomp. size = 0x20 +gBattleStatMask3_Pal:: @ 8D2DF54 + .incbin "graphics/battle_anims/masks/stat3.gbapal.lz" .align 2 -gUnknown_08D2DF74:: @ 8D2DF74 - .incbin "baserom.gba", 0xD2DF74, 0x1D @ LZ, uncomp. size = 0x20 +gBattleStatMask4_Pal:: @ 8D2DF74 + .incbin "graphics/battle_anims/masks/stat4.gbapal.lz" .align 2 -gUnknown_08D2DF94:: @ 8D2DF94 - .incbin "baserom.gba", 0xD2DF94, 0x1D @ LZ, uncomp. size = 0x20 +gBattleStatMask5_Pal:: @ 8D2DF94 + .incbin "graphics/battle_anims/masks/stat5.gbapal.lz" .align 2 -gUnknown_08D2DFB4:: @ 8D2DFB4 - .incbin "baserom.gba", 0xD2DFB4, 0x1D @ LZ, uncomp. size = 0x20 +gBattleStatMask6_Pal:: @ 8D2DFB4 + .incbin "graphics/battle_anims/masks/stat6.gbapal.lz" .align 2 -gUnknown_08D2DFD4:: @ 8D2DFD4 - .incbin "baserom.gba", 0xD2DFD4, 0x1D @ LZ, uncomp. size = 0x20 +gBattleStatMask7_Pal:: @ 8D2DFD4 + .incbin "graphics/battle_anims/masks/stat7.gbapal.lz" .align 2 -gUnknown_08D2DFF4:: @ 8D2DFF4 - .incbin "baserom.gba", 0xD2DFF4, 0x1D @ LZ, uncomp. size = 0x20 +gBattleStatMask8_Pal:: @ 8D2DFF4 + .incbin "graphics/battle_anims/masks/stat8.gbapal.lz" .align 2 gUnknown_08D2E014:: @ 8D2E014 - .incbin "baserom.gba", 0xD2E014, 0x13A @ LZ, uncomp. size = 0x200 + .incbin "graphics/battle_anims/masks/cure_bubbles.4bpp.lz" .align 2 gUnknown_08D2E150:: @ 8D2E150 - .incbin "baserom.gba", 0xD2E150, 0x1D @ LZ, uncomp. size = 0x20 + .incbin "graphics/battle_anims/masks/cure_bubbles.gbapal.lz" .align 2 gUnknown_08D2E170:: @ 8D2E170 - .incbin "baserom.gba", 0xD2E170, 0x11C @ LZ, uncomp. size = 0x800 + .incbin "graphics/battle_anims/masks/cure_bubbles.bin.lz" .align 2 gBattleAnimSpritePalette_245:: @ 8D2E28C @@ -2372,11 +2421,11 @@ gBattleAnimSpriteSheet_053:: @ 8D2EBDC .align 2 gUnknown_08D2EDFC:: @ 8D2EDFC - .incbin "baserom.gba", 0xD2EDFC, 0x4B @ LZ, uncomp. size = 0x1C0 + .incbin "graphics/battle_anims/masks/unknown_D2EDFC.4bpp.lz" .align 2 gUnknown_08D2EE48:: @ 8D2EE48 - .incbin "baserom.gba", 0xD2EE48, 0x106 @ LZ, uncomp. size = 0x800 + .incbin "graphics/battle_anims/masks/unknown_D2EDFC.bin.lz" .align 2 gBattleAnimSpriteSheet_248:: @ 8D2EF50 @@ -2477,16 +2526,16 @@ gMonFootprint_QuestionMark:: @ 8E5D9F0 .incbin "graphics/pokemon/question_mark/footprint.1bpp" .align 2 -gUnknown_08E5DA10:: @ 8E5DA10 - .incbin "baserom.gba", 0xE5DA10, 0xE5 @ LZ, uncomp. size = 0x200 +gVersusFrameGfx:: @ 8E5DA10 + .incbin "graphics/battle_transitions/vs_frame.4bpp.lz" .align 2 -gUnknown_08E5DAF8:: @ 8E5DAF8 - .incbin "baserom.gba", 0xE5DAF8, 0x10A @ LZ, uncomp. size = 0x800 +gVersusFrameTilemap:: @ 8E5DAF8 + .incbin "graphics/battle_transitions/vs_frame.bin.lz" .align 2 -gUnknown_08E5DC04:: @ 8E5DC04 - .incbin "baserom.gba", 0xE5DC04, 0x28 @ LZ, uncomp. size = 0x20 +gVersusFramePal:: @ 8E5DC04 + .incbin "graphics/battle_transitions/vs_frame.gbapal.lz" .align 2 gUnknown_08E5DC2C:: @ 8E5DC2C @@ -2597,68 +2646,68 @@ gBattleTerrainTiles_Building:: @ 8E62514 .incbin "graphics/battle_terrain/building/tiles.4bpp.lz" .align 2 -gUnknown_08E62AC0:: @ 8E62AC0 - .incbin "baserom.gba", 0xE62AC0, 0x3C @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_BattleTower:: @ 8E62AC0 + .incbin "graphics/battle_terrain/stadium/battle_tower.gbapal.lz" @ this is also used for link battles .align 2 gBattleTerrainTilemap_Building:: @ 8E62AFC .incbin "graphics/battle_terrain/building/map.bin.lz" .align 2 -gUnknown_08E62DAC:: @ 8E62DAC - .incbin "baserom.gba", 0xE62DAC, 0x606 @ LZ, uncomp. size = 0x2000 +gBattleTerrainTiles_Stadium:: @ 8E62DAC + .incbin "graphics/battle_terrain/stadium/tiles.4bpp.lz" .align 2 -gUnknown_08E633B4:: @ 8E633B4 - .incbin "baserom.gba", 0xE633B4, 0x2AE @ LZ, uncomp. size = 0x1000 +gBattleTerrainTilemap_Stadium:: @ 8E633B4 + .incbin "graphics/battle_terrain/stadium/map.bin.lz" .align 2 gBattleTerrainPalette_Building:: @ 8E63664 .incbin "graphics/battle_terrain/building/palette.gbapal.lz" .align 2 -gUnknown_08E636A4:: @ 8E636A4 - .incbin "baserom.gba", 0xE636A4, 0x3C @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_Kyogre:: + .incbin "graphics/battle_terrain/water/kyogre.gbapal.lz" .align 2 -gUnknown_08E636E0:: @ 8E636E0 - .incbin "baserom.gba", 0xE636E0, 0x57 @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_Groudon:: + .incbin "graphics/battle_terrain/cave/groudon.gbapal.lz" .align 2 -gUnknown_08E63738:: @ 8E63738 - .incbin "baserom.gba", 0xE63738, 0x3C @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_BuildingGym:: @ 8E63738 + .incbin "graphics/battle_terrain/building/palette2.gbapal.lz" .align 2 -gUnknown_08E63774:: @ 8E63774 - .incbin "baserom.gba", 0xE63774, 0x3C @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_BuildingLeader:: @ 8E63774 + .incbin "graphics/battle_terrain/building/palette3.gbapal.lz" .align 2 -gUnknown_08E637B0:: @ 8E637B0 - .incbin "baserom.gba", 0xE637B0, 0x5E @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_StadiumAqua:: @ 8E637B0 + .incbin "graphics/battle_terrain/stadium/palette1.gbapal.lz" .align 2 -gUnknown_08E63810:: @ 8E63810 - .incbin "baserom.gba", 0xE63810, 0x6A @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_StadiumMagma:: @ 8E63810 + .incbin "graphics/battle_terrain/stadium/palette2.gbapal.lz" .align 2 -gUnknown_08E6387C:: @ 8E6387C - .incbin "baserom.gba", 0xE6387C, 0x4E @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_StadiumSidney:: @ 8E6387C + .incbin "graphics/battle_terrain/stadium/palette3.gbapal.lz" .align 2 -gUnknown_08E638CC:: @ 8E638CC - .incbin "baserom.gba", 0xE638CC, 0x48 @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_StadiumPhoebe:: @ 8E638CC + .incbin "graphics/battle_terrain/stadium/palette4.gbapal.lz" .align 2 -gUnknown_08E63914:: @ 8E63914 - .incbin "baserom.gba", 0xE63914, 0x41 @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_StadiumGlacia:: @ 8E63914 + .incbin "graphics/battle_terrain/stadium/palette5.gbapal.lz" .align 2 -gUnknown_08E63958:: @ 8E63958 - .incbin "baserom.gba", 0xE63958, 0x4E @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_StadiumDrake:: @ 8E63958 + .incbin "graphics/battle_terrain/stadium/palette6.gbapal.lz" .align 2 -gUnknown_08E639A8:: @ 8E639A8 - .incbin "baserom.gba", 0xE639A8, 0x3B @ LZ, uncomp. size = 0x60 +gBattleTerrainPalette_StadiumSteven:: @ 8E639A8 + .incbin "graphics/battle_terrain/stadium/palette7.gbapal.lz" .align 2 gBattleTerrainAnimTiles_TallGrass:: @ 8E639E4 @@ -2737,14 +2786,14 @@ gBattleAnimSpriteSheet_261:: @ 8E67D6C .incbin "graphics/battle_anims/sprites/261.4bpp.lz" .align 2 -gUnknown_08E67ED8:: @ 8E67ED8 - .incbin "baserom.gba", 0xE67ED8, 0x17C @ LZ, uncomp. size = 0x800 +gBattleAnimBackgroundTilemap_SandstormBrew:: @ 8E67ED8 + .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz" .align 2 -gUnknown_08E68054:: @ 8E68054 - .incbin "baserom.gba", 0xE68054, 0x52C @ LZ, uncomp. size = 0x800 +gBattleAnimBackgroundImage_SandstormBrew:: @ 8E68054 + .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz" -gUnknown_08E68580:: @ 8E68580 + .align 2 gBattleAnimSpritePalette_261:: @ 8E68580 .incbin "graphics/battle_anims/sprites/261.gbapal.lz" @@ -2778,13 +2827,15 @@ gBattleAnimSpritePalette_262:: @ 8E693DC .align 2 gContestNextTurnGfx:: - .incbin "graphics/misc/nextturn.4bpp.lz" + .incbin "graphics/contest/nextturn.4bpp.lz" -gUnknown_08E69478:: @ 8E69478 - .incbin "baserom.gba", 0x00e69478, 0x100 + .align 2 +gContestNextTurnNumbersGfx:: @ 8E69478 + .incbin "graphics/contest/nextturn_numbers.4bpp" -gUnknown_08E69578:: @ 8E69578 - .incbin "baserom.gba", 0x00e69578, 0x40 + .align 2 +gContestNextTurnRandomGfx:: @ 8E69578 + .incbin "graphics/contest/nextturn_random.4bpp" .align 2 gBattleAnimSpriteSheet_264:: @ 8E695B8 @@ -2808,14 +2859,15 @@ gBattleAnimSpritePalette_068:: @ 8E69628 .align 2 gContestApplauseGfx:: - .incbin "graphics/misc/applause.4bpp.lz" + .incbin "graphics/contest/applause.4bpp.lz" -gUnknown_08E6978C:: @ 8E6978C - .incbin "baserom.gba", 0x00e6978c, 0x80 + .align 2 +gContestApplauseMeterGfx:: @ 8E6978C + .incbin "graphics/contest/applause_meter.4bpp" .align 2 gContestPal:: - .incbin "graphics/misc/nextturn.gbapal" + .incbin "graphics/contest/nextturn.gbapal" .align 2 gBattleAnimSpriteSheet_272:: @ 8E6982C @@ -2874,16 +2926,16 @@ gBattleAnimSpritePalette_280:: @ 8E6A6E4 .incbin "graphics/battle_anims/sprites/280.gbapal.lz" .align 2 -gUnknown_08E6A704:: @ 8E6A704 - .incbin "baserom.gba", 0xE6A704, 0x24 @ LZ, uncomp. size = 0x20 +gBattleAnimBackgroundImageMuddyWater_Pal:: @ 8E6A704 + .incbin "graphics/battle_anims/backgrounds/water_muddy.gbapal.lz" .align 2 -gUnknown_08E6A728:: @ 8E6A728 - .incbin "baserom.gba", 0xE6A728, 0x2E @ LZ, uncomp. size = 0x80 +gEnemyMonShadow_Gfx:: @ 8E6A728 + .incbin "graphics/battle_interface/enemy_mon_shadow.4bpp.lz" .align 2 -gUnknown_08E6A758:: @ 8E6A758 - .incbin "baserom.gba", 0xE6A758, 0x81 @ LZ, uncomp. size = 0x200 +gBattleGfx_BallStatusBar:: @ 8E6A758 + .incbin "graphics/battle_interface/bar.4bpp.lz" .align 2 gMonIcon_Egg:: @ 8E6A7DC @@ -2945,8 +2997,8 @@ gBattleAnimSpriteSheet_277:: @ 8E6DA54 .incbin "graphics/battle_anims/sprites/277.4bpp.lz" .align 2 -gUnknown_08E6DE48:: @ 8E6DE48 - .incbin "baserom.gba", 0xE6DE48, 0x176 @ LZ, uncomp. size = 0x800 +gWeatherFog1Tilemap:: @ 8E6DE48 + .incbin "graphics/weather/fog1.bin.lz" .align 2 gBattleAnimSpritePalette_283:: @ 8E6DFC0 @@ -2957,16 +3009,16 @@ gBattleAnimSpriteSheet_283:: @ 8E6DFDC .incbin "graphics/battle_anims/sprites/283.4bpp.lz" .align 2 -gUnknown_08E6E100:: @ 8E6E100 - .incbin "baserom.gba", 0xE6E100, 0x1E4 @ LZ, uncomp. size = 0x800 +gBattleAnimBackgroundTilemap_ScaryFacePlayer:: @ 8E6E100 + .incbin "graphics/battle_anims/backgrounds/scary_face_player.bin.lz" .align 2 -gUnknown_08E6E2E4:: @ 8E6E2E4 - .incbin "baserom.gba", 0xE6E2E4, 0x1E4 @ LZ, uncomp. size = 0x800 +gBattleAnimBackgroundTilemap_ScaryFaceOpponent:: @ 8E6E2E4 + .incbin "graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz" .align 2 -gUnknown_08E6E4C8:: @ 8E6E4C8 - .incbin "baserom.gba", 0xE6E4C8, 0x1E2 @ LZ, uncomp. size = 0x800 +gBattleAnimBackgroundTilemap_ScaryFaceContest:: @ 8E6E4C8 + .incbin "graphics/battle_anims/backgrounds/scary_face_contest.bin.lz" .align 2 gBattleAnimSpriteSheet_263:: @ 8E6E6AC @@ -3045,12 +3097,12 @@ gBattleAnimSpritePalette_285:: @ 8E6F5F8 .incbin "graphics/battle_anims/sprites/285.gbapal.lz" .align 2 -gUnknown_08E6F620:: @ 8E6F620 - .incbin "baserom.gba", 0xE6F620, 0x131D @ LZ, uncomp. size = 0x2000 +gBattleAnimBackgroundImage_Surf:: @ 8E6F620 + .incbin "graphics/battle_anims/backgrounds/water.4bpp.lz" .align 2 -gUnknown_08E70940:: @ 8E70940 - .incbin "baserom.gba", 0xE70940, 0x25 @ LZ, uncomp. size = 0x20 +gBattleAnimBackgroundPalette_Surf:: @ 8E70940 + .incbin "graphics/battle_anims/backgrounds/water.gbapal.lz" .align 2 gUnknown_08E70968:: @ 8E70968 @@ -3077,37 +3129,38 @@ gBattleAnimSpritePalette_188:: @ 8E7133C .incbin "graphics/battle_anims/sprites/188.gbapal.lz" .align 2 -gUnknown_08E71354:: @ 8E71354 - .incbin "baserom.gba", 0xE71354, 0x34C @ LZ, uncomp. size = 0xE80 +gPartyMenuMisc_Gfx:: @ 8E71354 + .incbin "graphics/interface/party_menu_misc.4bpp.lz" .align 2 -gUnknown_08E716A0:: @ 8E716A0 - .incbin "baserom.gba", 0xE716A0, 0xE7 @ LZ, uncomp. size = 0x160 +gPartyMenuMisc_Pal:: @ 8E716A0 + .incbin "graphics/interface/party_menu_misc.gbapal.lz" .align 2 -gUnknown_08E71788:: @ 8E71788 - .incbin "baserom.gba", 0xE71788, 0x10B @ LZ, uncomp. size = 0x800 +gPartyMenuMisc_Tilemap:: @ 8E71788 + .incbin "graphics/interface/party_menu_misc.bin.lz" .align 2 -gUnknown_08E71894:: @ 8E71894 - .incbin "baserom.gba", 0xE71894, 0x9D @ LZ, uncomp. size = 0x180 +gPartyMenuHpBar_Gfx:: @ 8E71894 + .incbin "graphics/interface/party_menu_hpbar.4bpp.lz" .align 2 -gUnknown_08E71934:: @ 8E71934 - .incbin "baserom.gba", 0xE71934, 0x3D9 @ LZ, uncomp. size = 0x1000 +gPartyMenuOrderText_Gfx:: @ 8E71934 + .incbin "graphics/interface/party_menu_ordertext.4bpp.lz" .align 2 -gUnknown_08E71D10:: @ 8E71D10 - .incbin "baserom.gba", 0xE71D10, 0x9D1 @ LZ, uncomp. size = 0x1700 +gMoveTypes_Gfx:: @ 8E71D10 + .incbin "graphics/types/move_types.4bpp.lz" .align 2 -gUnknown_08E726E4:: @ 8E726E4 - .incbin "baserom.gba", 0xE726E4, 0x67 @ LZ, uncomp. size = 0x60 +gMoveTypes_Pal:: @ 8E726E4 + .incbin "graphics/types/move_types.gbapal.lz" .align 2 gMenuSummaryGfx:: @ 8E7274C .incbin "graphics/interface/summary_frames.4bpp.lz" @ the arrows appear to be unused. + .align 2 gMenuSummaryPal:: @ 8E72848 .incbin "graphics/interface/summary_frames.gbapal.lz" @@ -3120,19 +3173,20 @@ gStatusPal_Icons:: @ 8E72A50 .incbin "graphics/interface/status_icons.gbapal.lz" .align 2 -gUnknown_08E72A78:: @ 8E72A78 - .incbin "baserom.gba", 0xE72A78, 0x9F0 @ LZ, uncomp. size = 0x1B20 +gStatusScreen_Gfx:: @ 8E72A78 + .incbin "graphics/interface/status_screen.4bpp.lz" .align 2 -gUnknown_08E73468:: @ 8E73468 - .incbin "baserom.gba", 0xE73468, 0xA0 @ LZ, uncomp. size = 0xA0 +gStatusScreen_Pal:: @ 8E73468 + .incbin "graphics/interface/status_screen.gbapal.lz" + .align 2 gUnknown_08E73508:: @ 8E73508 - .incbin "baserom.gba", 0x00e73508, 0x800 + .incbin "baserom.gba", 0xE73508, 0x800 .align 2 -gUnknown_08E73D08:: @ 8E73D08 - .incbin "baserom.gba", 0xE73D08, 0x180 @ LZ, uncomp. size = 0x800 +gStatusScreen_Tilemap:: @ 8E73D08 + .incbin "graphics/interface/status_screen.bin.lz" gUnknown_08E73E88:: @ 8E73E88 .incbin "baserom.gba", 0x00e73e88, 0x800 @@ -3157,43 +3211,43 @@ gBagPalette:: @ 8E76700 .incbin "graphics/misc/bag.gbapal.lz" .align 2 -gUnknown_08E76728:: @ 8E76728 - .incbin "baserom.gba", 0xE76728, 0x86B @ LZ, uncomp. size = 0x2000 +gBagScreen_Gfx:: @ 8E76728 + .incbin "graphics/interface/bag_screen.4bpp.lz" .align 2 -gUnknown_08E76F94:: @ 8E76F94 - .incbin "baserom.gba", 0xE76F94, 0x38 @ LZ, uncomp. size = 0x40 +gBagScreenMale_Pal:: @ 8E76F94 + .incbin "graphics/interface/bag_screen_male.gbapal.lz" .align 2 -gUnknown_08E76FCC:: @ 8E76FCC - .incbin "baserom.gba", 0xE76FCC, 0x38 @ LZ, uncomp. size = 0x40 +gBagScreenFemale_Pal:: @ 8E76FCC + .incbin "graphics/interface/bag_screen_female.gbapal.lz" gUnknown_08E77004:: @ 8E77004 .incbin "baserom.gba", 0x00e77004, 0x800 .align 2 -gUnknown_08E77804:: @ 8E77804 - .incbin "baserom.gba", 0xE77804, 0xFA @ LZ, uncomp. size = 0x300 +gBuyMenuFrame_Gfx:: @ 8E77804 + .incbin "graphics/interface/mart_frame.4bpp.lz" .align 2 gMenuMoneyPal:: @ 8E77900 .incbin "graphics/interface/money.gbapal.lz" .align 2 -gUnknown_08E77928:: @ 8E77928 - .incbin "baserom.gba", 0xE77928, 0x134 @ LZ, uncomp. size = 0x800 +gBuyMenuFrame_Tilemap:: @ 8E77928 + .incbin "graphics/interface/mart_frame.bin.lz" .align 2 gMenuMoneyGfx:: @ 8E77A5C .incbin "graphics/interface/money.4bpp.lz" .align 2 -gUnknown_08E77AE4:: @ 8E77AE4 - .incbin "baserom.gba", 0xE77AE4, 0x23A @ LZ, uncomp. size = 0x800 +gMenuPokeblock_Gfx:: @ 8E77AE4 + .incbin "graphics/interface/pokeblock_case_frame.4bpp.lz" .align 2 -gUnknown_08E77D20:: @ 8E77D20 - .incbin "baserom.gba", 0xE77D20, 0x6E @ LZ, uncomp. size = 0xC0 +gMenuPokeblock_Pal:: @ 8E77D20 + .incbin "graphics/interface/pokeblock_case_frame.gbapal.lz" .align 2 gMenuPokeblockDevice_Gfx:: @ 8E77D90 @@ -3204,80 +3258,80 @@ gMenuPokeblockDevice_Pal:: @ 8E78050 .incbin "graphics/interface/pokeblock_device.gbapal.lz" .align 2 -gUnknown_08E78078:: @ 8E78078 - .incbin "baserom.gba", 0xE78078, 0x150 @ LZ, uncomp. size = 0x800 +gMenuPokeblock_Tilemap:: @ 8E78078 + .incbin "graphics/interface/pokeblock.bin.lz" .align 2 gPokeblock_Gfx:: - .incbin "graphics/misc/pokeblock.4bpp.lz" + .incbin "graphics/pokeblock/pokeblock.4bpp.lz" .align 2 -gUnknown_08E781E4:: - .incbin "baserom.gba", 0xE781E4, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockRed_Pal:: + .incbin "graphics/pokeblock/red.gbapal.lz" .align 2 -gUnknown_08E781F8:: - .incbin "baserom.gba", 0xE781F8, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockBlue_Pal:: + .incbin "graphics/pokeblock/blue.gbapal.lz" .align 2 -gUnknown_08E7820C:: - .incbin "baserom.gba", 0xE7820C, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockPink_Pal:: + .incbin "graphics/pokeblock/pink.gbapal.lz" .align 2 -gUnknown_08E78220:: - .incbin "baserom.gba", 0xE78220, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockGreen_Pal:: + .incbin "graphics/pokeblock/green.gbapal.lz" .align 2 -gUnknown_08E78234:: - .incbin "baserom.gba", 0xE78234, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockYellow_Pal:: + .incbin "graphics/pokeblock/yellow.gbapal.lz" .align 2 -gUnknown_08E78248:: - .incbin "baserom.gba", 0xE78248, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockPurple_Pal:: + .incbin "graphics/pokeblock/purple.gbapal.lz" .align 2 -gUnknown_08E7825C:: - .incbin "baserom.gba", 0xE7825C, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockIndigo_Pal:: + .incbin "graphics/pokeblock/indigo.gbapal.lz" .align 2 -gUnknown_08E78270:: - .incbin "baserom.gba", 0xE78270, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockBrown_Pal:: + .incbin "graphics/pokeblock/brown.gbapal.lz" .align 2 -gUnknown_08E78284:: - .incbin "baserom.gba", 0xE78284, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockLiteBlue_Pal:: + .incbin "graphics/pokeblock/liteblue.gbapal.lz" .align 2 -gUnknown_08E78298:: - .incbin "baserom.gba", 0xE78298, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockOlive_Pal:: + .incbin "graphics/pokeblock/olive.gbapal.lz" .align 2 -gUnknown_08E782ac:: - .incbin "baserom.gba", 0xE782AC, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockGray_Pal:: + .incbin "graphics/pokeblock/gray.gbapal.lz" .align 2 -gUnknown_08E782c0:: - .incbin "baserom.gba", 0xE782C0, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockBlack_Pal:: + .incbin "graphics/pokeblock/black.gbapal.lz" .align 2 -gUnknown_08E782d4:: - .incbin "baserom.gba", 0xE782D4, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockWhite_Pal:: + .incbin "graphics/pokeblock/white.gbapal.lz" .align 2 -gUnknown_08E782e8:: - .incbin "baserom.gba", 0xE782E8, 0x14 @ LZ, uncomp. size = 0x20 +gPokeblockGold_Pal:: + .incbin "graphics/pokeblock/gold.gbapal.lz" .align 2 gUnknown_08E782FC:: @ 8E782FC .incbin "baserom.gba", 0xE782FC, 0x100 @ LZ, uncomp. size = 0x800 .align 2 -gUnknown_08E783FC:: @ 8E783FC - .incbin "baserom.gba", 0xE783FC, 0x43E @ LZ, uncomp. size = 0xC00 +gBerryCheck_Gfx:: @ 8E783FC + .incbin "graphics/interface/check_berry.4bpp.lz" .align 2 -gUnknown_08E7883C:: @ 8E7883C - .incbin "graphics/battle_transitions/vs.gbapal.lz" +gBerryCheck_Pal:: @ 8E7883C + .incbin "graphics/interface/check_berry.gbapal.lz" .align 2 gUnknown_08E788E4:: @ 8E788E4 @@ -3288,8 +3342,8 @@ gUnknown_08E78A84:: @ 8E78A84 .incbin "baserom.gba", 0xE78A84, 0x12D @ LZ, uncomp. size = 0x800 .align 2 -gUnknown_08E78BB4:: @ 8E78BB4 - .incbin "baserom.gba", 0xE78BB4, 0x14C @ LZ, uncomp. size = 0x800 +gBerryCheckCircle_Gfx:: @ 8E78BB4 + .incbin "graphics/interface/check_berry_circle.4bpp.lz" @ 8E78D00 .include "data/graphics/berries/graphics.s" @@ -3318,27 +3372,29 @@ gBattleAnimSpritePalette_271:: @ 8E7EB24 gBattleAnimSpriteSheet_271:: @ 8E7EB3C .incbin "graphics/battle_anims/sprites/271.4bpp.lz" -gUnknown_08E7EB9C:: @ 8E7EB9C - .incbin "baserom.gba", 0xe7eb9c, 0x80 + .align 2 +gCableCarBG_Pal:: @ 8E7EB9C + .incbin "graphics/misc/cable_car_bg.gbapal" -Palette_08E7EC1C:: @ 8E7EC1C - .incbin "baserom.gba", 0xe7ec1c, 0x20 + .align 2 +gCableCar_Pal:: @ 8E7EC1C + .incbin "graphics/misc/cable_car.gbapal" .align 2 -gUnknown_08E7EC3C:: @ 8E7EC3C - .incbin "baserom.gba", 0xE7EC3C, 0x19D6 @ LZ, uncomp. size = 0x4000 +gCableCarBG_Gfx:: @ 8E7EC3C + .incbin "graphics/misc/cable_car_bg.4bpp.lz" .align 2 -gUnknown_08E80614:: @ 8E80614 - .incbin "baserom.gba", 0xE80614, 0x2FF @ LZ, uncomp. size = 0x800 +gCableCar_Gfx:: @ 8E80614 + .incbin "graphics/misc/cable_car.4bpp.lz" .align 2 -gUnknown_08E80914:: @ 8E80914 - .incbin "baserom.gba", 0xE80914, 0x30 @ LZ, uncomp. size = 0x40 +gCableCarDoor_Gfx:: @ 8E80914 + .incbin "graphics/misc/cable_car_door.4bpp.lz" .align 2 -gUnknown_08E80944:: @ 8E80944 - .incbin "baserom.gba", 0xE80944, 0x28 @ LZ, uncomp. size = 0x80 +gCableCarCord_Gfx:: @ 8E80944 + .incbin "graphics/misc/cable_car_cord.4bpp.lz" .align 2 gUnknown_08E8096C:: @ 8E8096C @@ -3562,10 +3618,11 @@ gNamingScreenLowerTextTiles:: @ 8E85778 gNamingScreenUpperTextTiles:: @ 8E857D8 .incbin "graphics/naming_screen/upper_text.4bpp" - .incbin "baserom.gba", 0x00e85838, 0x160 + .space 352 -gUnknown_08E85998:: @ 8E85998 - .incbin "baserom.gba", 0x00e85998, 0x800 + .align 2 +gNamingScreenMenu_Gfx:: @ 8E85998 + .incbin "graphics/naming_screen/menu.4bpp" .align 2 gNamingScreenPalettes:: @ 8E86198 @@ -3580,22 +3637,20 @@ gUnknown_08E86258:: @ 8E86258 .incbin "baserom.gba", 0x00e86258, 0x500 .align 2 -gUnknown_08E86758:: @ 8E86758 - .incbin "baserom.gba", 0xE86758, 0xD6E @ LZ, uncomp. size = 0x3000 +gPokedexMenu_Gfx:: @ 8E86758 + .incbin "graphics/pokedex/menu.4bpp.lz" .align 2 -gUnknown_08E874C8:: - .incbin "baserom.gba", 0xE874C8, 0x62C @ LZ, uncomp. size = 0x1F00 +gPokedexMenu2_Gfx:: @ 8E874C8 + .incbin "graphics/pokedex/menu2.4bpp.lz" .align 2 -gUnknown_08E87AF4:: - .incbin "baserom.gba", 0x00e87af4, 0x2 - -gUnknown_08E87AF6:: @ 8E87AF6 - .incbin "baserom.gba", 0x00e87af6, 0x60 +gPokedexMenu_Pal:: @ 8E87AF4 + .incbin "graphics/pokedex/menu1.gbapal" -gUnknown_08E87B56:: @ 8E87B56 - .incbin "baserom.gba", 0x00e87b56, 0x5e + .align 2 +gPokedexMenu2_Pal:: @ 8E87B54 + .incbin "graphics/pokedex/menu2.gbapal" .align 2 gAreaUnknownTiles:: @ 8E87BB4 @@ -3606,129 +3661,144 @@ gAreaUnknownPalette:: @ 8E87D90 .incbin "graphics/pokedex/area_unknown.gbapal" .align 2 -gUnknown_08E87DB0:: @ 8E87DB0 - .incbin "baserom.gba", 0xE87DB0, 0x528 @ LZ, uncomp. size = 0x1000 +gPokedexMenuSearch_Gfx:: @ 8E87DB0 + .incbin "graphics/pokedex/menu_search.4bpp.lz" .align 2 -gUnknown_08E882D8:: @ 8E882D8 - .incbin "baserom.gba", 0x00e882d8, 0x80 +gPokedexMenuSearch_Pal:: @ 8E882D8 + .incbin "graphics/pokedex/menu3.gbapal" .align 2 -gUnknown_08E88358:: @ 8E88358 - .incbin "baserom.gba", 0xE88358, 0x173 @ LZ, uncomp. size = 0x600 +gPokenavMainMenu_Gfx:: @ 8E88358 + .incbin "graphics/pokenav/mainmenu.4bpp.lz" .align 2 -gUnknown_08E884CC:: @ 8E884CC - .incbin "baserom.gba", 0xE884CC, 0x55A @ LZ, uncomp. size = 0x1400 +gPokenavMenuOptions_Gfx:: @ 8E884CC + .incbin "graphics/pokenav/menu_options.4bpp.lz" .align 2 -gUnknown_08E88A28:: @ 8E88A28 - .incbin "baserom.gba", 0x00e88a28, 0x20 +gPokenavMenuOptions1_Pal:: @ 8E88A28 + .incbin "graphics/pokenav/pokenav1.gbapal" -gUnknown_08E88A48:: @ 8E88A48 - .incbin "baserom.gba", 0xe88a48, 0x20 + .align 2 +gPokenavMenuOptions2_Pal:: @ 8E88A48 + .incbin "graphics/pokenav/pokenav2.gbapal" -Palette_E88A68:: @ 8E88A68 - .incbin "baserom.gba", 0xe88a68, 0x20 + .align 2 +gPokenavMenuOptions3_Pal:: @ 8E88A68 + .incbin "graphics/pokenav/pokenav3.gbapal" .align 2 -gUnknown_08E88A88:: @ 8E88A88 - .incbin "baserom.gba", 0xE88A88, 0x2C4 @ LZ, uncomp. size = 0xC00 +gPokenavHoennMapHeader_Gfx:: @ 8E88A88 + .incbin "graphics/pokenav/map_header.4bpp.lz" .align 2 -gUnknown_08E88D4C:: @ 8E88D4C - .incbin "baserom.gba", 0xE88D4C, 0x575 @ LZ, uncomp. size = 0x1200 +gPokenavHoennMapMisc_Gfx:: @ 8E88D4C + .incbin "graphics/pokenav/map_misc2.4bpp.lz" .align 2 -gUnknown_08E892C4:: @ 8E892C4 - .incbin "baserom.gba", 0xE892C4, 0x364 @ LZ, uncomp. size = 0x840 +gPokenavHoennMapSquares_Gfx:: @ 8E892C4 + .incbin "graphics/pokenav/map_squares.4bpp.lz" -gUnknown_08E89628:: @ 8E89628 - .incbin "baserom.gba", 0x00e89628, 0x20 + .align 2 +gPokenavHoennMap1_Pal:: @ 8E89628 + .incbin "graphics/pokenav/map_menu.gbapal" -gUnknown_08E89648:: @ 8E89648 + .align 2 +gPokenavHoennMapSquares_Pal:: @ 8E89648 .incbin "graphics/pokenav/map_squares.gbapal" .align 2 -gUnknown_08E89668:: @ 8E89668 - .incbin "baserom.gba", 0xE89668, 0x2EE @ LZ, uncomp. size = 0xC00 +gPokenavConditionMenu_Gfx:: @ 8E89668 + .incbin "graphics/pokenav/condition_menu.4bpp.lz" .align 2 -gUnknown_08E89958:: @ 8E89958 - .incbin "baserom.gba", 0x00e89958, 0x20 +gPokenavConditionMenu_Pal:: @ 8E89958 + .incbin "graphics/pokenav/condition1.gbapal" .align 2 -gUnknown_08E89978:: @ 8E89978 - .incbin "baserom.gba", 0xE89978, 0x15D @ LZ, uncomp. size = 0x600 +gPokenavConditionMenuHeader_Gfx:: @ 8E89978 + .incbin "graphics/pokenav/condition_menu_header.4bpp.lz" .align 2 -gUnknown_08E89AD8:: @ 8E89AD8 - .incbin "baserom.gba", 0xE89AD8, 0x6E6 @ LZ, uncomp. size = 0xFA0 +gPokenavConditionView_Gfx:: @ 8E89AD8 + .incbin "graphics/pokenav/condition_view.4bpp.lz" .align 2 -gUnknown_08E8A1C0:: @ 8E8A1C0 - .incbin "baserom.gba", 0x00e8a1c0, 0x20 +gPokenavConditionMenu2_Pal:: @ 8E8A1C0 + .incbin "graphics/pokenav/condition2.gbapal" .align 2 -gUnknown_08E8A1E0:: @ 8E8A1E0 - .incbin "baserom.gba", 0xE8A1E0, 0x2B8 @ LZ, uncomp. size = 0x800 +gPokenavConditionMenuOptions_Gfx:: @ 8E8A1E0 + .incbin "graphics/pokenav/condition_menu_options.4bpp.lz" -gTiles_08E8A498:: @ 8E8A498 - .incbin "baserom.gba", 0xe8a498, 0x100 + .align 2 +gPokenavConditionMenuCancel_Gfx:: @ 8E8A498 + .incbin "graphics/pokenav/condition_cancel.4bpp" -PokenavContestPokeballPalette:: @ 8E8A598 - .incbin "graphics/pokenav/contest_pokeball.gbapal" + .align 2 +gPokenavConditionPokeball_Pal:: @ 8E8A598 + .incbin "graphics/pokenav/condition3.gbapal" -Palette_E8A5B8:: @ 8E8A5B8 - .incbin "baserom.gba", 0xe8a5b8, 0x20 + .align 2 +gPokenavCondition4_Pal:: @ 8E8A5B8 + .incbin "graphics/pokenav/condition4.gbapal" .align 2 -gUnknown_08E8A5D8:: @ 8E8A5D8 - .incbin "baserom.gba", 0xE8A5D8, 0x1EB @ LZ, uncomp. size = 0x600 +gPokenavConditionMenuOptions2_Gfx:: @ 8E8A5D8 + .incbin "graphics/pokenav/condition_menu_options2.4bpp.lz" .align 2 -gUnknown_08E8A7C4:: @ 8E8A7C4 - .incbin "baserom.gba", 0xe8a7c4, 0x520 +gPokenavConditionMenuMisc_Gfx:: @ 8E8A7C4 + .incbin "graphics/pokenav/condition_menu_misc.4bpp" -Palette_E8ACE4:: @ 8E8ACE4 - .incbin "baserom.gba", 0xe8ace4, 0x20 + .align 2 +gPokenavCondition5_Pal:: @ 8E8ACE4 + .incbin "graphics/pokenav/condition5.gbapal" .align 2 -gUnknown_08E8AD04:: @ 8E8AD04 - .incbin "baserom.gba", 0xE8AD04, 0x4BE @ LZ, uncomp. size = 0x1800 +gPokenavConditionSearch_Gfx:: @ 8E8AD04 + .incbin "graphics/pokenav/condition_search.4bpp.lz" .align 2 -gUnknown_08E8B1C4:: @ 8E8B1C4 - .incbin "baserom.gba", 0x00e8b1c4, 0x20 +gPokenavCondition6_Pal:: @ 8E8B1C4 + .incbin "graphics/pokenav/condition6.gbapal" -gUnknown_08E8B1E4:: @ 8E8B1E4 - .incbin "baserom.gba", 0x00e8b1e4, 0x20 + .align 2 +gPokenavCondition7_Pal:: @ 8E8B1E4 + .incbin "graphics/pokenav/condition7.bin" @ another palette thats impossible to leave as native pal file due to 0xFFFF instead of 0x7FFF. .align 2 -gUnknown_08E8B204:: @ 8E8B204 - .incbin "baserom.gba", 0xE8B204, 0x19B @ LZ, uncomp. size = 0x600 +gPokenavTrainersEyesHeader_Gfx:: @ 8E8B204 + .incbin "graphics/pokenav/trainereyes.4bpp.lz" .align 2 -gUnknown_08E8B3A0:: @ 8E8B3A0 - .incbin "baserom.gba", 0xE8B3A0, 0x140 @ LZ, uncomp. size = 0x600 +gPokenavRibbonsHeader_Gfx:: @ 8E8B3A0 + .incbin "graphics/pokenav/ribbons.4bpp.lz" -gUnknown_08E8B4E0:: @ 8E8B4E0 - .incbin "baserom.gba", 0x00e8b4e0, 0x1400 + .align 2 +gMenuTrainerCard_Gfx:: @ 8E8B4E0 + .incbin "graphics/misc/trainer_card.4bpp" -gUnknown_08E8C8E0:: - .incbin "baserom.gba", 0x00e8c8e0, 0x60 + .align 2 +gMenuTrainerCard0Star_Pal:: + .incbin "graphics/misc/trainer_card_0star.gbapal" -gUnknown_08E8C940:: - .incbin "baserom.gba", 0x00e8c940, 0x60 + .align 2 +gMenuTrainerCard1Star_Pal:: + .incbin "graphics/misc/trainer_card_1star.gbapal" -gUnknown_08E8C9A0:: - .incbin "baserom.gba", 0x00e8c9a0, 0x60 + .align 2 +gMenuTrainerCard2Star_Pal:: + .incbin "graphics/misc/trainer_card_2star.gbapal" -gUnknown_08E8CA00:: - .incbin "baserom.gba", 0x00e8ca00, 0x60 + .align 2 +gMenuTrainerCard3Star_Pal:: + .incbin "graphics/misc/trainer_card_3star.gbapal" -gUnknown_08E8CA60:: - .incbin "baserom.gba", 0x00e8ca60, 0x60 + .align 2 +gMenuTrainerCard4Star_Pal:: + .incbin "graphics/misc/trainer_card_4star.gbapal" gUnknown_08E8CAC0:: .incbin "baserom.gba", 0x00e8cac0, 0x500 @@ -3743,81 +3813,87 @@ gUnknown_08E8D9C0:: @ 8E8D9C0 .incbin "baserom.gba", 0x00e8d9c0, 0x500 .align 2 -gUnknown_08E8DEC0:: @ 8E8DEC0 - .incbin "baserom.gba", 0xE8DEC0, 0x226 @ LZ, uncomp. size = 0x5E0 +gPSSMenuHeader_Gfx:: @ 8E8DEC0 + .incbin "graphics/pokemon_storage/header.4bpp.lz" .align 2 -gUnknown_08E8E0E8:: @ 8E8E0E8 - .incbin "baserom.gba", 0x00e8e0e8, 0x20 - -gUnknown_08E8E108:: @ 8E8E108 - .incbin "baserom.gba", 0x00e8e108, 0x20 +gPSSMenu1_Pal:: @ 8E8E0E8 + .incbin "graphics/pokemon_storage/menu1.gbapal" .align 2 -gUnknown_08E8E128:: @ 8E8E128 - .incbin "baserom.gba", 0xE8E128, 0x119 @ LZ, uncomp. size = 0x500 +gPSSMenu2_Pal:: @ 8E8E108 + .incbin "graphics/pokemon_storage/menu2.bin" .align 2 -gUnknown_08E8E244:: @ 8E8E244 - .incbin "baserom.gba", 0xE8E244, 0x464 @ LZ, uncomp. size = 0xB60 +gPSSMenuHeader_Tilemap:: @ 8E8E128 + .incbin "graphics/pokemon_storage/header.bin.lz" -gUnknown_08E8E6A8:: @ 8E8E6A8 - .incbin "baserom.gba", 0x00e8e6a8, 0x20 + .align 2 +gPSSMenuMisc_Gfx:: @ 8E8E244 + .incbin "graphics/pokemon_storage/misc1.4bpp.lz" -gUnknown_08E8E6C8:: @ 8E8E6C8 - .incbin "baserom.gba", 0x00e8e6c8, 0x20 + .align 2 +gPSSMenu3_Pal:: @ 8E8E6A8 + .incbin "graphics/pokemon_storage/menu3.gbapal" .align 2 -gUnknown_08E8E6E8:: @ 8E8E6E8 - .incbin "baserom.gba", 0xE8E6E8, 0x1C5 @ LZ, uncomp. size = 0x800 +gPSSMenu4_Pal:: @ 8E8E6C8 + .incbin "graphics/pokemon_storage/menu4.gbapal" .align 2 -gUnknown_08E8E8B0:: @ 8E8E8B0 - .incbin "baserom.gba", 0xE8E8B0, 0x1C7 @ LZ, uncomp. size = 0x4A0 +gPSSMenuMisc_Tilemap:: @ 8E8E6E8 + .incbin "graphics/pokemon_storage/misc1.bin.lz" .align 2 -gUnknown_08E8EA78:: @ 8E8EA78 - .incbin "baserom.gba", 0x00e8ea78, 0x20 +gHallOfFame_Gfx:: @ 8E8E8B0 + .incbin "graphics/misc/hof.4bpp.lz" .align 2 -gMenuWordGroup_Gfx:: @ 8E8EA98 - .incbin "graphics/interface/wordgroup.4bpp.lz" +gHallOfFame_Pal:: @ 8E8EA78 + .incbin "graphics/misc/hof.gbapal" .align 2 -gUnknown_08E8EE18:: @ 8E8EE18 - .incbin "baserom.gba", 0xE8EE18, 0x33D @ LZ, uncomp. size = 0x820 +gMenuWordGroupIndicator_Gfx:: @ 8E8EA98 + .incbin "graphics/interface/wordgroup_indicator.4bpp.lz" .align 2 -gMenuWordGroup_Pal:: @ 8E8F158 - .incbin "graphics/interface/wordgroup.gbapal" +gMenuWordGroupFrame_Gfx:: @ 8E8EE18 + .incbin "graphics/interface/wordgroup_frame.4bpp.lz" -gUnknown_08E8F178:: @ 8E8F178 - .incbin "baserom.gba", 0x00e8f178, 0x22 + .align 2 +gMenuWordGroupIndicator_Pal:: @ 8E8F158 + .incbin "graphics/interface/wordgroup_indicator.gbapal" -gUnknown_08E8F19A:: @ 8E8F19A - .incbin "baserom.gba", 0x00e8f19a, 0x6 + .align 2 +gMenuWordGroupFrame1_Pal:: @ 8E8F178 + .incbin "graphics/interface/wordgroup_pink.gbapal" -gUnknown_08E8F1A0:: @ 8E8F1A0 - .incbin "baserom.gba", 0x00e8f1a0, 0x18 + .align 2 +gMenuWordGroupFrame2_Pal:: @ 8E8F198 + .incbin "graphics/interface/wordgroup_blue.gbapal" .align 2 -gUnknown_08E8F1B8:: @ 8E8F1B8 - .incbin "baserom.gba", 0xE8F1B8, 0x649 @ LZ, uncomp. size = 0x1000 +gMiscClock_Gfx:: @ 8E8F1B8 + .incbin "graphics/misc/clock.4bpp.lz" .align 2 -gUnknown_08E8F804:: @ 8E8F804 - .incbin "graphics/misc/clock1.gbapal" +gMiscClockMale_Pal:: @ 8E8F804 + .incbin "graphics/misc/clock1.gbapal" @ male -gUnknown_08E8F824:: @ 8E8F824 - .incbin "graphics/misc/clock2.gbapal" + .align 2 +gMiscClockFemale_Pal:: @ 8E8F824 + .incbin "graphics/misc/clock2.gbapal" @ female .align 2 -gUnknown_08E8F844:: @ 8E8F844 - .incbin "baserom.gba", 0xE8F844, 0xBB3 @ LZ, uncomp. size = 0x1E00 +gSlotMachine_Gfx:: @ 8E8F844 + .incbin "graphics/slot_machine/slots.4bpp.lz" .align 2 -gUnknown_08E903F8:: @ 8E903F8 - .incbin "baserom.gba", 0x00e903f8, 0x220 +gBattleInterfaceStatusIcons_DynPal:: @ 8E903F8 + .incbin "graphics/battle_interface/status.gbapal" + + @ unused + .incbin "graphics/unused/arrow.4bpp" .align 2 gBerryBlenderMarubatsuTiles:: @ 8E90618 @@ -3837,13 +3913,15 @@ gBerryBlenderCountdownNumbersTiles:: @ 8E90A18 gBerryBlenderStartTiles:: @ 8E91018 .incbin "graphics/berry_blender/start.4bpp" - .incbin "baserom.gba", 0x00e91418, 0x200 + .incbin "graphics/unknown/unknown_E91418.bin" + + .space 0x1E0 .align 2 gBerryBlenderArrowTiles:: @ 8E91618 .incbin "graphics/berry_blender/arrow.4bpp" - .incbin "baserom.gba", 0x00e91e18, 0x2c0 + .space 0x2C0 .align 2 gBerryBlenderMiscPalette:: @ 8E920D8 @@ -3920,6 +3998,7 @@ gUnknown_08E964B8:: @ 8E964B8 gUnknown_08E966B8:: @ 8E966B8 .incbin "baserom.gba", 0x00e966b8, 0x20 + .align 2 gMonIconPalettes:: @ 8E966D8 .incbin "graphics/pokemon_icon_palettes/0.gbapal" .incbin "graphics/pokemon_icon_palettes/1.gbapal" @@ -3993,39 +4072,71 @@ gSlotMachineSpritePalette5:: @ 8E97768 gSlotMachineSpritePalette6:: @ 8E97788 .incbin "graphics/slot_machine/spr6.gbapal" + .align 2 gSlotMachineReelSymbol1Tiles:: .incbin "graphics/slot_machine/reel_symbols/1.4bpp" + + .align 2 gSlotMachineReelSymbol2Tiles:: .incbin "graphics/slot_machine/reel_symbols/2.4bpp" + + .align 2 gSlotMachineReelSymbol3Tiles:: .incbin "graphics/slot_machine/reel_symbols/3.4bpp" + + .align 2 gSlotMachineReelSymbol4Tiles:: .incbin "graphics/slot_machine/reel_symbols/4.4bpp" + + .align 2 gSlotMachineReelSymbol5Tiles:: .incbin "graphics/slot_machine/reel_symbols/5.4bpp" + + .align 2 gSlotMachineReelSymbol6Tiles:: .incbin "graphics/slot_machine/reel_symbols/6.4bpp" + + .align 2 gSlotMachineReelSymbol7Tiles:: .incbin "graphics/slot_machine/reel_symbols/7.4bpp" + .align 2 gSlotMachineNumber0Tiles:: .incbin "graphics/slot_machine/numbers/0.4bpp" + + .align 2 gSlotMachineNumber1Tiles:: .incbin "graphics/slot_machine/numbers/1.4bpp" + + .align 2 gSlotMachineNumber2Tiles:: .incbin "graphics/slot_machine/numbers/2.4bpp" + + .align 2 gSlotMachineNumber3Tiles:: .incbin "graphics/slot_machine/numbers/3.4bpp" + + .align 2 gSlotMachineNumber4Tiles:: .incbin "graphics/slot_machine/numbers/4.4bpp" + + .align 2 gSlotMachineNumber5Tiles:: .incbin "graphics/slot_machine/numbers/5.4bpp" + + .align 2 gSlotMachineNumber6Tiles:: .incbin "graphics/slot_machine/numbers/6.4bpp" + + .align 2 gSlotMachineNumber7Tiles:: .incbin "graphics/slot_machine/numbers/7.4bpp" + + .align 2 gSlotMachineNumber8Tiles:: .incbin "graphics/slot_machine/numbers/8.4bpp" + + .align 2 gSlotMachineNumber9Tiles:: .incbin "graphics/slot_machine/numbers/9.4bpp" @@ -4098,8 +4209,8 @@ gSpriteImage_8E99808:: @ 8E99808 .incbin "graphics/unknown_sprites/8E99808.4bpp" .align 2 -gUnknown_08E99848:: @ 8E99848 - .incbin "baserom.gba", 0xE99848, 0x766 @ LZ, uncomp. size = 0x3200 +gSlotMachineReelTimeLights_Gfx:: @ 8E99848 + .incbin "graphics/slot_machine/reel_time_lights.4bpp.lz" .align 2 gUnknown_08E99FB0:: @ 8E99FB0 @@ -4133,164 +4244,213 @@ gUnknown_08E9AC2C:: @ 8E9AC2C gUnknown_08E9AC4C:: @ 8E9AC4C .incbin "baserom.gba", 0xE9AC4C, 0x18F @ LZ, uncomp. size = 0x500 +@ text window frames + .align 2 -gUnknown_08E9ADDC:: - .incbin "baserom.gba", 0x00e9addc, 0x120 +gTextWindowFrame1_Gfx:: + .incbin "graphics/text_window/1.4bpp" -gUnknown_08E9AEFC:: - .incbin "baserom.gba", 0x00e9aefc, 0x20 + .align 2 +gTextWindowFrame1_Pal:: + .incbin "graphics/text_window/1.gbapal" -gUnknown_08E9AF1C:: - .incbin "baserom.gba", 0x00e9af1c, 0x120 + .align 2 +gTextWindowFrame2_Gfx:: + .incbin "graphics/text_window/2.4bpp" -gUnknown_08E9B03C:: - .incbin "baserom.gba", 0x00e9b03c, 0x20 + .align 2 +gTextWindowFrame2_Pal:: + .incbin "graphics/text_window/2.gbapal" -gUnknown_08E9B05C:: - .incbin "baserom.gba", 0x00e9b05c, 0x120 + .align 2 +gTextWindowFrame3_Gfx:: + .incbin "graphics/text_window/3.4bpp" -gUnknown_08E9B17C:: - .incbin "baserom.gba", 0x00e9b17c, 0x20 + .align 2 +gTextWindowFrame3_Pal:: + .incbin "graphics/text_window/3.gbapal" -gUnknown_08E9B19C:: - .incbin "baserom.gba", 0x00e9b19c, 0x120 + .align 2 +gTextWindowFrame4_Gfx:: + .incbin "graphics/text_window/4.4bpp" -gUnknown_08E9B2BC:: - .incbin "baserom.gba", 0x00e9b2bc, 0x20 + .align 2 +gTextWindowFrame4_Pal:: + .incbin "graphics/text_window/4.gbapal" -gUnknown_08E9B2DC:: - .incbin "baserom.gba", 0x00e9b2dc, 0x120 + .align 2 +gTextWindowFrame5_Gfx:: + .incbin "graphics/text_window/5.4bpp" -gUnknown_08E9B3FC:: - .incbin "baserom.gba", 0x00e9b3fc, 0x20 + .align 2 +gTextWindowFrame5_Pal:: + .incbin "graphics/text_window/5.gbapal" -gUnknown_08E9B41C:: - .incbin "baserom.gba", 0x00e9b41c, 0x120 + .align 2 +gTextWindowFrame6_Gfx:: + .incbin "graphics/text_window/6.4bpp" -gUnknown_08E9B53C:: - .incbin "baserom.gba", 0x00e9b53c, 0x20 + .align 2 +gTextWindowFrame6_Pal:: + .incbin "graphics/text_window/6.gbapal" -gUnknown_08E9B55C:: - .incbin "baserom.gba", 0x00e9b55c, 0x120 + .align 2 +gTextWindowFrame7_Gfx:: + .incbin "graphics/text_window/7.4bpp" -gUnknown_08E9B67C:: - .incbin "baserom.gba", 0x00e9b67c, 0x20 + .align 2 +gTextWindowFrame7_Pal:: + .incbin "graphics/text_window/7.gbapal" -gUnknown_08E9B69C:: - .incbin "baserom.gba", 0x00e9b69c, 0x120 + .align 2 +gTextWindowFrame8_Gfx:: + .incbin "graphics/text_window/8.4bpp" -gUnknown_08E9B7BC:: - .incbin "baserom.gba", 0x00e9b7bc, 0x20 + .align 2 +gTextWindowFrame8_Pal:: + .incbin "graphics/text_window/8.gbapal" -gUnknown_08E9B7DC:: - .incbin "baserom.gba", 0x00e9b7dc, 0x120 + .align 2 +gTextWindowFrame9_Gfx:: + .incbin "graphics/text_window/9.4bpp" -gUnknown_08E9B8FC:: - .incbin "baserom.gba", 0x00e9b8fc, 0x20 + .align 2 +gTextWindowFrame9_Pal:: + .incbin "graphics/text_window/9.gbapal" -gUnknown_08E9B91C:: - .incbin "baserom.gba", 0x00e9b91c, 0x120 + .align 2 +gTextWindowFrame10_Gfx:: + .incbin "graphics/text_window/10.4bpp" -gUnknown_08E9BA3C:: - .incbin "baserom.gba", 0x00e9ba3c, 0x20 + .align 2 +gTextWindowFrame10_Pal:: + .incbin "graphics/text_window/10.gbapal" -gUnknown_08E9BA5C:: - .incbin "baserom.gba", 0x00e9ba5c, 0x120 + .align 2 +gTextWindowFrame11_Gfx:: + .incbin "graphics/text_window/11.4bpp" -gUnknown_08E9BB7C:: - .incbin "baserom.gba", 0x00e9bb7c, 0x20 + .align 2 +gTextWindowFrame11_Pal:: + .incbin "graphics/text_window/11.gbapal" -gUnknown_08E9BB9C:: - .incbin "baserom.gba", 0x00e9bb9c, 0x120 + .align 2 +gTextWindowFrame12_Gfx:: + .incbin "graphics/text_window/12.4bpp" -gUnknown_08E9BCBC:: - .incbin "baserom.gba", 0x00e9bcbc, 0x20 + .align 2 +gTextWindowFrame12_Pal:: + .incbin "graphics/text_window/12.gbapal" -gUnknown_08E9BCDC:: - .incbin "baserom.gba", 0x00e9bcdc, 0x120 + .align 2 +gTextWindowFrame13_Gfx:: + .incbin "graphics/text_window/13.4bpp" -gUnknown_08E9BDFC:: - .incbin "baserom.gba", 0x00e9bdfc, 0x20 + .align 2 +gTextWindowFrame13_Pal:: + .incbin "graphics/text_window/13.gbapal" -gUnknown_08E9BE1C:: - .incbin "baserom.gba", 0x00e9be1c, 0x120 + .align 2 +gTextWindowFrame14_Gfx:: + .incbin "graphics/text_window/14.4bpp" -gUnknown_08E9BF3C:: - .incbin "baserom.gba", 0x00e9bf3c, 0x20 + .align 2 +gTextWindowFrame14_Pal:: + .incbin "graphics/text_window/14.gbapal" -gUnknown_08E9BF5C:: - .incbin "baserom.gba", 0x00e9bf5c, 0x120 + .align 2 +gTextWindowFrame15_Gfx:: + .incbin "graphics/text_window/15.4bpp" -gUnknown_08E9C07C:: - .incbin "baserom.gba", 0x00e9c07c, 0x20 + .align 2 +gTextWindowFrame15_Pal:: + .incbin "graphics/text_window/15.gbapal" -gUnknown_08E9C09C:: - .incbin "baserom.gba", 0x00e9c09c, 0x120 + .align 2 +gTextWindowFrame16_Gfx:: + .incbin "graphics/text_window/16.4bpp" -gUnknown_08E9C1BC:: - .incbin "baserom.gba", 0x00e9c1bc, 0x20 + .align 2 +gTextWindowFrame16_Pal:: + .incbin "graphics/text_window/16.gbapal" -gUnknown_08E9C1DC:: - .incbin "baserom.gba", 0x00e9c1dc, 0x120 + .align 2 +gTextWindowFrame17_Gfx:: + .incbin "graphics/text_window/17.4bpp" -gUnknown_08E9C2FC:: - .incbin "baserom.gba", 0x00e9c2fc, 0x20 + .align 2 +gTextWindowFrame17_Pal:: + .incbin "graphics/text_window/17.gbapal" -gUnknown_08E9C31C:: - .incbin "baserom.gba", 0x00e9c31c, 0x120 + .align 2 +gTextWindowFrame18_Gfx:: + .incbin "graphics/text_window/18.4bpp" -gUnknown_08E9C43C:: - .incbin "baserom.gba", 0x00e9c43c, 0x20 + .align 2 +gTextWindowFrame18_Pal:: + .incbin "graphics/text_window/18.gbapal" -gUnknown_08E9C45C:: - .incbin "baserom.gba", 0x00e9c45c, 0x120 + .align 2 +gTextWindowFrame19_Gfx:: + .incbin "graphics/text_window/19.4bpp" -gUnknown_08E9C57C:: - .incbin "baserom.gba", 0x00e9c57c, 0x20 + .align 2 +gTextWindowFrame19_Pal:: + .incbin "graphics/text_window/19.gbapal" -gUnknown_08E9C59C:: - .incbin "baserom.gba", 0x00e9c59c, 0x120 + .align 2 +gTextWindowFrame20_Gfx:: + .incbin "graphics/text_window/20.4bpp" -gUnknown_08E9C6BC:: - .incbin "baserom.gba", 0x00e9c6bc, 0x20 + .align 2 +gTextWindowFrame20_Pal:: + .incbin "graphics/text_window/20.gbapal" .align 2 gUnknown_08E9C6DC:: @ 8E9C6DC .incbin "baserom.gba", 0xE9C6DC, 0xBC @ LZ, uncomp. size = 0x500 .align 2 -gUnknown_08E9C798:: @ 8E9C798 - .incbin "baserom.gba", 0xE9C798, 0x289 @ LZ, uncomp. size = 0x560 +gIntroCopyright_Gfx:: @ 8E9C798 + .incbin "graphics/intro/copyright.4bpp.lz" .align 2 -gUnknown_08E9CA24:: @ 8E9CA24 - .incbin "baserom.gba", 0x00e9ca24, 0x20 +gIntroCopyright_Pal:: @ 8E9CA24 + .incbin "graphics/intro/copyright.gbapal" -gUnknown_08E9CA44:: @ 8E9CA44 - .incbin "baserom.gba", 0xe9ca44, 0x500 + .align 2 +gIntroCopyright_Tilemap:: @ 8E9CA44 + .incbin "graphics/intro/copyright.bin" -Tiles_E9CF44:: @ 8E9CF44 - .incbin "baserom.gba", 0xe9cf44, 0x700 + .align 2 +gInterviewOutlineCursorTiles:: @ 8E9CF44 + .incbin "graphics/misc/interview_outline_cursor.4bpp" .align 2 -Tiles_E9D644:: @ 8E9D644 - .incbin "baserom.gba", 0xE9D644, 0x265 @ LZ, uncomp. size = 0x520 +gTitleScreenPressStart_Gfx:: @ 8E9D644 + .incbin "graphics/title_screen/press_start.4bpp.lz" .align 2 -gTitleScreenLogoShinePalette:: +gTitleScreenLogoShinePalette:: @ E9D8E4 .incbin "graphics/title_screen/logo_shine.gbapal" + .align 2 gUnknown_08E9D8CC:: @ 8E9D8CC .ifdef SAPPHIRE .incbin "graphics/title_screen/pokemon_sapphire.8bpp.lz" -gVersionTiles:: - .incbin "graphics/title_screen/sapphireversion.8bpp.lz" .else .incbin "graphics/title_screen/pokemon_ruby.8bpp.lz" + .endif + + .align 2 gVersionTiles:: + .ifdef SAPPHIRE + .incbin "graphics/title_screen/sapphireversion.8bpp.lz" + .else .incbin "graphics/title_screen/rubyversion.8bpp.lz" .endif + .align 2 gUnknown_08E9F624:: @ 8E9F624 .ifdef SAPPHIRE .incbin "graphics/title_screen/logo_sapphire.gbapal" @ for some reason, the sapphire palette is different even though the visible colors for the logo and version are not, weird @@ -4303,32 +4463,30 @@ gUnknown_08E9F7E4:: @ 8E9F7E4 .incbin "baserom.gba", 0xE9F7E4, 0x182 @ LZ, uncomp. size = 0x400 .align 2 -gPokenavContestArrowsPalette:: - .incbin "graphics/pokenav/contest_arrows.gbapal" +gPokenavArrowsPalette:: + .incbin "graphics/pokenav/arrows.gbapal" gUnknown_08E9F988:: @ 8E9F988 .incbin "baserom.gba", 0xe9f988, 0x20 -Tiles_E9F9A8:: @ 8E9F9A8 - .incbin "baserom.gba", 0xe9f9a8, 0x40 + .align 2 +gPokenavArrow_Gfx:: @ 8E9F9A8 + .incbin "graphics/pokenav/arrow2.4bpp" gUnknown_08E9F9E8:: @ 8E9F9E8 .incbin "baserom.gba", 0x00e9f9e8, 0x20 .align 2 -gUnknown_08E9FA08:: @ 8E9FA08 - .incbin "baserom.gba", 0xE9FA08, 0xF2 @ LZ, uncomp. size = 0x300 +gPokenavConditionSearch2_Gfx:: @ 8E9FA08 + .incbin "graphics/pokenav/condition_search2.4bpp.lz" .align 2 -gUnknown_08E9FAFC:: @ 8E9FAFC - .incbin "baserom.gba", 0x00e9fafc, 0x1c - -gUnknown_08E9FB18:: @ 8E9FB18 - .incbin "baserom.gba", 0x00e9fb18, 0x4 +gPokenavRibbonView_Pal:: @ 8E9FAFC + .incbin "graphics/pokenav/ribbon_view.pal.bin" .align 2 -gUnknown_08E9FB1C:: @ 8E9FB1C - .incbin "baserom.gba", 0xE9FB1C, 0x83 @ LZ, uncomp. size = 0x160 +gPokenavRibbonView_Gfx:: @ 8E9FB1C + .incbin "graphics/pokenav/ribbon_view.4bpp.lz" .align 2 gUnknown_08E9FBA0:: @ 8E9FBA0 @@ -4357,11 +4515,12 @@ gUnknown_08E9FF58:: @ 8E9FF58 .incbin "baserom.gba", 0xE9FF58, 0xCF @ LZ, uncomp. size = 0x640 .align 2 -gUnknown_08EA0028:: @ 8EA0028 - .incbin "baserom.gba", 0x00ea0028, 0xe0 +gPokenavRibbonPokeView_Gfx:: @ 8EA0028 + .incbin "graphics/pokenav/ribbon_pokeview.4bpp" -gUnknown_08EA0108:: @ 8EA0108 - .incbin "baserom.gba", 0x00ea0108, 0x1c0 + .align 2 +gMessageBox_Gfx:: @ 8EA0108 + .incbin "graphics/text_window/message_box.4bpp" .align 2 gUnknown_08EA02C8:: @ 8EA02C8 @@ -4381,31 +4540,36 @@ gUnknown_08EA0348:: @ 8EA0348 gUnknown_08EA15C8:: @ 8EA15C8 .incbin "graphics/trade/menu_map.bin" -gUnknown_08EA1DC8:: @ 8EA1DC8 - .incbin "baserom.gba", 0x00ea1dc8, 0x24 + .align 2 +gTradeMonBoxTilemap:: @ 8EA1DC8 + .incbin "graphics/trade/mon_box_map.bin" .align 2 gUnknown_08EA1DEC:: @ 8EA1DEC .incbin "graphics/trade/selected_mon.4bpp" - .incbin "baserom.gba", 0x00ea25ec, 0x20 + .incbin "graphics/unknown/unknown_EA25EC.bin" .align 2 -gUnknown_08EA260C:: @ 8EA260C - .incbin "baserom.gba", 0xEA260C, 0x436 @ LZ, uncomp. size = 0xB40 +gCreditsCopyrightEnd_Gfx:: @ 8EA260C + .incbin "graphics/misc/end_copyright.4bpp.lz" .align 2 -gUnknown_08EA2A44:: @ 8EA2A44 - .incbin "baserom.gba", 0x00ea2a44, 0x200 +gDecoration10000_Gfx:: @ 8EA2A44 + .incbin "graphics/misc/decoration_10000.4bpp" + .align 2 gFont3LatinGlyphs:: @ 8EA2C44 .incbin "graphics/fonts/font3_lat.4bpp" + .align 2 gFont4LatinGlyphs:: @ 8EA6BC4 .incbin "graphics/fonts/font4_lat.4bpp" + .align 2 gFont3JapaneseGlyphs:: @ 8EA8744 .incbin "graphics/fonts/font3_jpn.4bpp" + .align 2 gFont4JapaneseGlyphs:: @ 8EAC6C4 .incbin "graphics/fonts/font4_jpn.4bpp" diff --git a/data/text/battle_strings.s b/data/text/battle_strings.s index e9195e261..b4542b1b9 100644 --- a/data/text/battle_strings.s +++ b/data/text/battle_strings.s @@ -1156,8 +1156,7 @@ gUnknown_08400E36:: @ 8400E36 BattleText_Format9: .string "are$" -gUnknown_08400E3A:: @ 8400E3A -BattleText_BadEGG: +gBadEggNickname:: @ 8400E3A .string "Bad EGG$" gUnknown_08400E42:: @ 8400E42 diff --git a/data/trainer_parties.s b/data/trainer_parties.s index 4274b6bc8..b9eff1839 100644 --- a/data/trainer_parties.s +++ b/data/trainer_parties.s @@ -761,7 +761,7 @@ gTrainerParty_Carmen: @ 81ED0A0 .align 2 -gTrainerParty_Gwen : @ 81ED0A8 +gTrainerParty_Gwen: @ 81ED0A8 .2byte 0 @ IV (0-255) .2byte 27 @ level .2byte SPECIES_MARILL diff --git a/ewram_syms.txt b/ewram_syms.txt index effd87696..41e6eb578 100644 --- a/ewram_syms.txt +++ b/ewram_syms.txt @@ -3,8 +3,18 @@ unk_2004000 = 0x2004000; gUnknown_020239F8 = 0x20239F8; +gUnknown_02024E8C = 0x2024E8C; + gSaveBlock2 = 0x2024EA4; +gMenuWindow = 0x202E908; +gMenuWindowPtr = 0x202E9C8; +gMenuMultistepInitState = 0x202E9CC; +gMenuTextTileOffset = 0x202E9CE; +gMenuTextWindowTileOffset = 0x202E9D0; +gMenuTextWindowContentTileOffset = 0x202E9D2; +gMenuMessageBoxContentTileOffset = 0x202E9D4; + gPlttBufferUnfaded = 0x202EAC8; gPlttBufferFaded = 0x202EEC8; gPlttBufferTransferPending = 0x202F398; @@ -17,3 +27,5 @@ word_203855E = 0x203855E; gUnknown_0203869A = 0x203869A; gTileBuffer = 0x2039360; + +gSubspriteTable_203A380 = 0x203A380; diff --git a/graphics/battle_anims/backgrounds/attract.bin b/graphics/battle_anims/backgrounds/attract.bin Binary files differnew file mode 100755 index 000000000..b06f46479 --- /dev/null +++ b/graphics/battle_anims/backgrounds/attract.bin diff --git a/graphics/battle_anims/backgrounds/attract.pal b/graphics/battle_anims/backgrounds/attract.pal new file mode 100755 index 000000000..a3a183566 --- /dev/null +++ b/graphics/battle_anims/backgrounds/attract.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 172 205 +255 189 213 +255 205 222 +255 222 230 +148 8 0 +255 205 230 +255 180 213 +255 164 197 +255 148 189 +255 131 172 +246 106 139 +238 82 115 +238 57 90 +230 32 65 +230 8 41 diff --git a/graphics/battle_anims/backgrounds/attract.png b/graphics/battle_anims/backgrounds/attract.png Binary files differnew file mode 100755 index 000000000..c5bba0f89 --- /dev/null +++ b/graphics/battle_anims/backgrounds/attract.png diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.bin b/graphics/battle_anims/backgrounds/sandstorm_brew.bin Binary files differnew file mode 100755 index 000000000..64e6d8584 --- /dev/null +++ b/graphics/battle_anims/backgrounds/sandstorm_brew.bin diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.png b/graphics/battle_anims/backgrounds/sandstorm_brew.png Binary files differnew file mode 100755 index 000000000..87d5d41ea --- /dev/null +++ b/graphics/battle_anims/backgrounds/sandstorm_brew.png diff --git a/graphics/battle_anims/backgrounds/scary_face.pal b/graphics/battle_anims/backgrounds/scary_face.pal new file mode 100755 index 000000000..580360ac0 --- /dev/null +++ b/graphics/battle_anims/backgrounds/scary_face.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +123 98 0 +189 172 0 +255 255 0 +255 189 0 +255 123 0 +255 57 0 +255 0 0 +230 8 16 +205 16 32 +180 24 49 +156 32 65 +131 41 82 +106 49 98 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/scary_face.png b/graphics/battle_anims/backgrounds/scary_face.png Binary files differnew file mode 100755 index 000000000..a395485cf --- /dev/null +++ b/graphics/battle_anims/backgrounds/scary_face.png diff --git a/graphics/battle_anims/backgrounds/scary_face_contest.bin b/graphics/battle_anims/backgrounds/scary_face_contest.bin Binary files differnew file mode 100755 index 000000000..e2d1e3a99 --- /dev/null +++ b/graphics/battle_anims/backgrounds/scary_face_contest.bin diff --git a/graphics/battle_anims/backgrounds/scary_face_opponent.bin b/graphics/battle_anims/backgrounds/scary_face_opponent.bin Binary files differnew file mode 100755 index 000000000..dfaaf5f2f --- /dev/null +++ b/graphics/battle_anims/backgrounds/scary_face_opponent.bin diff --git a/graphics/battle_anims/backgrounds/scary_face_player.bin b/graphics/battle_anims/backgrounds/scary_face_player.bin Binary files differnew file mode 100755 index 000000000..690305126 --- /dev/null +++ b/graphics/battle_anims/backgrounds/scary_face_player.bin diff --git a/graphics/battle_anims/backgrounds/water.pal b/graphics/battle_anims/backgrounds/water.pal new file mode 100755 index 000000000..ee7a7b6e2 --- /dev/null +++ b/graphics/battle_anims/backgrounds/water.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +255 255 255 +98 90 255 +115 106 255 +197 197 255 +238 238 255 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/water.png b/graphics/battle_anims/backgrounds/water.png Binary files differnew file mode 100755 index 000000000..7740f99f8 --- /dev/null +++ b/graphics/battle_anims/backgrounds/water.png diff --git a/graphics/battle_anims/backgrounds/water_muddy.pal b/graphics/battle_anims/backgrounds/water_muddy.pal new file mode 100644 index 000000000..0cb7218d9 --- /dev/null +++ b/graphics/battle_anims/backgrounds/water_muddy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +131 49 0 +148 74 32 +164 106 65 +180 131 106 +197 164 139 +213 189 180 +230 222 213 +255 255 255 +148 74 32 +164 106 65 +197 164 139 +230 222 213 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/cure_bubbles.bin b/graphics/battle_anims/masks/cure_bubbles.bin Binary files differnew file mode 100755 index 000000000..fa2f572b6 --- /dev/null +++ b/graphics/battle_anims/masks/cure_bubbles.bin diff --git a/graphics/battle_anims/masks/cure_bubbles.pal b/graphics/battle_anims/masks/cure_bubbles.pal new file mode 100755 index 000000000..2868f2479 --- /dev/null +++ b/graphics/battle_anims/masks/cure_bubbles.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +189 255 255 +123 255 255 +57 255 255 +57 205 238 +57 156 230 +57 106 213 +65 57 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/cure_bubbles.png b/graphics/battle_anims/masks/cure_bubbles.png Binary files differnew file mode 100755 index 000000000..aa7f7b1f2 --- /dev/null +++ b/graphics/battle_anims/masks/cure_bubbles.png diff --git a/graphics/battle_anims/masks/curse.bin b/graphics/battle_anims/masks/curse.bin Binary files differnew file mode 100755 index 000000000..1e9623948 --- /dev/null +++ b/graphics/battle_anims/masks/curse.bin diff --git a/graphics/battle_anims/masks/curse.png b/graphics/battle_anims/masks/curse.png Binary files differnew file mode 100755 index 000000000..03979ee8d --- /dev/null +++ b/graphics/battle_anims/masks/curse.png diff --git a/graphics/battle_anims/masks/metal_shine.bin b/graphics/battle_anims/masks/metal_shine.bin Binary files differnew file mode 100755 index 000000000..fed60df36 --- /dev/null +++ b/graphics/battle_anims/masks/metal_shine.bin diff --git a/graphics/battle_anims/masks/metal_shine.pal b/graphics/battle_anims/masks/metal_shine.pal new file mode 100755 index 000000000..019a17c3f --- /dev/null +++ b/graphics/battle_anims/masks/metal_shine.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +82 172 255 +255 255 255 +164 148 139 +98 131 41 +123 156 65 +148 180 90 +172 205 115 +197 230 139 +222 255 164 +82 172 0 +98 180 24 +123 197 49 +148 213 74 +172 222 98 +197 238 123 +222 255 148 diff --git a/graphics/battle_anims/masks/metal_shine.png b/graphics/battle_anims/masks/metal_shine.png Binary files differnew file mode 100755 index 000000000..a9c5a952c --- /dev/null +++ b/graphics/battle_anims/masks/metal_shine.png diff --git a/graphics/battle_anims/masks/morning_sun.bin b/graphics/battle_anims/masks/morning_sun.bin Binary files differnew file mode 100755 index 000000000..cfa7b8069 --- /dev/null +++ b/graphics/battle_anims/masks/morning_sun.bin diff --git a/graphics/battle_anims/masks/morning_sun.pal b/graphics/battle_anims/masks/morning_sun.pal new file mode 100755 index 000000000..08249a43c --- /dev/null +++ b/graphics/battle_anims/masks/morning_sun.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +222 246 246 +189 238 238 +156 230 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/morning_sun.png b/graphics/battle_anims/masks/morning_sun.png Binary files differnew file mode 100755 index 000000000..c10b02782 --- /dev/null +++ b/graphics/battle_anims/masks/morning_sun.png diff --git a/graphics/battle_anims/masks/stat.png b/graphics/battle_anims/masks/stat.png Binary files differnew file mode 100755 index 000000000..0a6014ccd --- /dev/null +++ b/graphics/battle_anims/masks/stat.png diff --git a/graphics/battle_anims/masks/stat1.pal b/graphics/battle_anims/masks/stat1.pal new file mode 100755 index 000000000..d4128a31f --- /dev/null +++ b/graphics/battle_anims/masks/stat1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +222 255 205 +189 255 164 +156 255 123 +115 222 90 +74 197 57 +32 172 24 +0 148 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat2.pal b/graphics/battle_anims/masks/stat2.pal new file mode 100755 index 000000000..434b06e8d --- /dev/null +++ b/graphics/battle_anims/masks/stat2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 255 189 +255 255 123 +255 255 57 +255 189 41 +255 131 32 +255 65 16 +255 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat3.pal b/graphics/battle_anims/masks/stat3.pal new file mode 100755 index 000000000..784e5c640 --- /dev/null +++ b/graphics/battle_anims/masks/stat3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +238 222 246 +222 189 246 +205 156 246 +197 123 246 +197 123 246 +164 90 213 +131 57 180 +106 24 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat4.pal b/graphics/battle_anims/masks/stat4.pal new file mode 100755 index 000000000..2868f2479 --- /dev/null +++ b/graphics/battle_anims/masks/stat4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +189 255 255 +123 255 255 +57 255 255 +57 205 238 +57 156 230 +57 106 213 +65 57 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat5.pal b/graphics/battle_anims/masks/stat5.pal new file mode 100755 index 000000000..4991b1bd7 --- /dev/null +++ b/graphics/battle_anims/masks/stat5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +230 230 230 +205 205 205 +180 180 189 +164 164 164 +139 139 148 +115 115 123 +98 98 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat6.pal b/graphics/battle_anims/masks/stat6.pal new file mode 100755 index 000000000..f647ff4b3 --- /dev/null +++ b/graphics/battle_anims/masks/stat6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +205 246 230 +156 246 213 +106 246 197 +57 246 180 +32 213 148 +16 180 123 +0 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat7.pal b/graphics/battle_anims/masks/stat7.pal new file mode 100644 index 000000000..4935eba7c --- /dev/null +++ b/graphics/battle_anims/masks/stat7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 8 8 +255 65 16 +255 131 32 +255 189 41 +255 255 57 +255 255 123 +255 255 189 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat8.pal b/graphics/battle_anims/masks/stat8.pal new file mode 100644 index 000000000..ab1758e37 --- /dev/null +++ b/graphics/battle_anims/masks/stat8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 148 0 +32 172 24 +74 197 57 +115 222 90 +156 255 123 +189 255 164 +222 255 205 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat_tilemap_1.bin b/graphics/battle_anims/masks/stat_tilemap_1.bin Binary files differnew file mode 100755 index 000000000..1b65e515a --- /dev/null +++ b/graphics/battle_anims/masks/stat_tilemap_1.bin diff --git a/graphics/battle_anims/masks/stat_tilemap_2.bin b/graphics/battle_anims/masks/stat_tilemap_2.bin new file mode 100755 index 000000000..eb336cb74 --- /dev/null +++ b/graphics/battle_anims/masks/stat_tilemap_2.bin @@ -0,0 +1 @@ +$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567
\ No newline at end of file diff --git a/graphics/battle_anims/masks/unknown_D2EDFC.bin b/graphics/battle_anims/masks/unknown_D2EDFC.bin Binary files differnew file mode 100755 index 000000000..712c1ee12 --- /dev/null +++ b/graphics/battle_anims/masks/unknown_D2EDFC.bin diff --git a/graphics/battle_anims/masks/unknown_D2EDFC.png b/graphics/battle_anims/masks/unknown_D2EDFC.png Binary files differnew file mode 100755 index 000000000..d0b372cbb --- /dev/null +++ b/graphics/battle_anims/masks/unknown_D2EDFC.png diff --git a/graphics/battle_anims/sprites/substitute.bin b/graphics/battle_anims/sprites/substitute.bin Binary files differnew file mode 100755 index 000000000..d30c07d4e --- /dev/null +++ b/graphics/battle_anims/sprites/substitute.bin diff --git a/graphics/battle_anims/sprites/substitute.pal b/graphics/battle_anims/sprites/substitute.pal new file mode 100755 index 000000000..8b6e458a1 --- /dev/null +++ b/graphics/battle_anims/sprites/substitute.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 238 197 +255 255 255 +230 238 222 +205 222 189 +189 205 164 +164 189 131 +148 172 106 +123 139 90 +106 106 82 +82 82 74 +65 49 65 +49 24 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/substitute.png b/graphics/battle_anims/sprites/substitute.png Binary files differnew file mode 100755 index 000000000..0b6dea850 --- /dev/null +++ b/graphics/battle_anims/sprites/substitute.png diff --git a/graphics/battle_interface/ball_display.png b/graphics/battle_interface/ball_display.png Binary files differnew file mode 100755 index 000000000..0c49d7ac4 --- /dev/null +++ b/graphics/battle_interface/ball_display.png diff --git a/graphics/battle_interface/ball_display_unused_extra.png b/graphics/battle_interface/ball_display_unused_extra.png Binary files differnew file mode 100755 index 000000000..5473d53df --- /dev/null +++ b/graphics/battle_interface/ball_display_unused_extra.png diff --git a/graphics/battle_interface/bar.png b/graphics/battle_interface/bar.png Binary files differnew file mode 100755 index 000000000..b947a7803 --- /dev/null +++ b/graphics/battle_interface/bar.png diff --git a/graphics/battle_interface/enemy_mon_shadow.png b/graphics/battle_interface/enemy_mon_shadow.png Binary files differnew file mode 100755 index 000000000..3db333a92 --- /dev/null +++ b/graphics/battle_interface/enemy_mon_shadow.png diff --git a/graphics/battle_interface/expbar.png b/graphics/battle_interface/expbar.png Binary files differnew file mode 100755 index 000000000..b54dbe600 --- /dev/null +++ b/graphics/battle_interface/expbar.png diff --git a/graphics/battle_interface/hpbar.pal b/graphics/battle_interface/hpbar.pal new file mode 100755 index 000000000..ea646bb82 --- /dev/null +++ b/graphics/battle_interface/hpbar.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +57 57 57 +255 255 255 +213 205 189 +131 131 139 +74 65 90 +82 106 90 +255 180 123 +246 148 115 +222 106 90 +115 255 172 +90 213 131 +255 230 57 +205 172 8 +255 90 57 +172 65 74 diff --git a/graphics/battle_interface/hpbar.png b/graphics/battle_interface/hpbar.png Binary files differnew file mode 100755 index 000000000..f3a0314e4 --- /dev/null +++ b/graphics/battle_interface/hpbar.png diff --git a/graphics/battle_interface/hpbar_anim.png b/graphics/battle_interface/hpbar_anim.png Binary files differnew file mode 100755 index 000000000..9e7564234 --- /dev/null +++ b/graphics/battle_interface/hpbar_anim.png diff --git a/graphics/battle_interface/misc.png b/graphics/battle_interface/misc.png Binary files differnew file mode 100755 index 000000000..6456ebe5c --- /dev/null +++ b/graphics/battle_interface/misc.png diff --git a/graphics/battle_interface/misc_frameend.png b/graphics/battle_interface/misc_frameend.png Binary files differnew file mode 100755 index 000000000..630f44242 --- /dev/null +++ b/graphics/battle_interface/misc_frameend.png diff --git a/graphics/battle_interface/status.pal b/graphics/battle_interface/status.pal new file mode 100644 index 000000000..034c52bfb --- /dev/null +++ b/graphics/battle_interface/status.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 98 197 +189 189 24 +164 164 139 +139 180 230 +230 115 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 0 0 +0 255 0 +0 0 255 +255 255 255 diff --git a/graphics/battle_interface/status2.png b/graphics/battle_interface/status2.png Binary files differnew file mode 100755 index 000000000..97a344ae3 --- /dev/null +++ b/graphics/battle_interface/status2.png diff --git a/graphics/battle_interface/status3.png b/graphics/battle_interface/status3.png Binary files differnew file mode 100755 index 000000000..3e5989d05 --- /dev/null +++ b/graphics/battle_interface/status3.png diff --git a/graphics/battle_interface/status4.png b/graphics/battle_interface/status4.png Binary files differnew file mode 100755 index 000000000..d9769ad28 --- /dev/null +++ b/graphics/battle_interface/status4.png diff --git a/graphics/battle_interface/status_brn.png b/graphics/battle_interface/status_brn.png Binary files differnew file mode 100755 index 000000000..0de1e3ad2 --- /dev/null +++ b/graphics/battle_interface/status_brn.png diff --git a/graphics/battle_interface/status_frz.png b/graphics/battle_interface/status_frz.png Binary files differnew file mode 100755 index 000000000..3e1d534b5 --- /dev/null +++ b/graphics/battle_interface/status_frz.png diff --git a/graphics/battle_interface/status_par.png b/graphics/battle_interface/status_par.png Binary files differnew file mode 100755 index 000000000..177d4eb5b --- /dev/null +++ b/graphics/battle_interface/status_par.png diff --git a/graphics/battle_interface/status_psn.png b/graphics/battle_interface/status_psn.png Binary files differnew file mode 100755 index 000000000..95869e572 --- /dev/null +++ b/graphics/battle_interface/status_psn.png diff --git a/graphics/battle_interface/status_slp.png b/graphics/battle_interface/status_slp.png Binary files differnew file mode 100755 index 000000000..b0eb5a250 --- /dev/null +++ b/graphics/battle_interface/status_slp.png diff --git a/graphics/interface/battle_window.pal b/graphics/battle_interface/window.pal index bc8e8f2bc..bc8e8f2bc 100755 --- a/graphics/interface/battle_window.pal +++ b/graphics/battle_interface/window.pal diff --git a/graphics/interface/battle_window.png b/graphics/battle_interface/window.png Binary files differindex 2117967ec..2117967ec 100755 --- a/graphics/interface/battle_window.png +++ b/graphics/battle_interface/window.png diff --git a/graphics/interface/battle_window2.png b/graphics/battle_interface/window2.png Binary files differindex ac084b2e5..ac084b2e5 100755 --- a/graphics/interface/battle_window2.png +++ b/graphics/battle_interface/window2.png diff --git a/graphics/interface/battle_window3.png b/graphics/battle_interface/window3.png Binary files differindex f45e2f714..f45e2f714 100755 --- a/graphics/interface/battle_window3.png +++ b/graphics/battle_interface/window3.png diff --git a/graphics/interface/battle_window4.png b/graphics/battle_interface/window4.png Binary files differindex a366186cf..a366186cf 100755 --- a/graphics/interface/battle_window4.png +++ b/graphics/battle_interface/window4.png diff --git a/graphics/interface/battle_window5.png b/graphics/battle_interface/window5.png Binary files differindex e48f380a4..e48f380a4 100755 --- a/graphics/interface/battle_window5.png +++ b/graphics/battle_interface/window5.png diff --git a/graphics/battle_terrain/building/palette2.pal b/graphics/battle_terrain/building/palette2.pal new file mode 100755 index 000000000..3ca2e0b0c --- /dev/null +++ b/graphics/battle_terrain/building/palette2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +164 197 246 +205 246 255 +180 222 255 +189 230 255 +197 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/building/palette3.pal b/graphics/battle_terrain/building/palette3.pal new file mode 100755 index 000000000..cebf5e687 --- /dev/null +++ b/graphics/battle_terrain/building/palette3.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 222 65 +255 255 180 +255 238 74 +255 246 115 +255 255 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/cave/groudon.pal b/graphics/battle_terrain/cave/groudon.pal new file mode 100755 index 000000000..73021c957 --- /dev/null +++ b/graphics/battle_terrain/cave/groudon.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +246 246 189 +222 213 106 +180 156 106 +197 172 123 +205 189 115 +213 197 148 +197 172 106 +230 222 172 +255 189 49 +238 230 123 +213 115 32 +222 172 106 +230 197 139 +230 213 156 +238 230 180 +0 0 0 +246 246 189 +222 213 106 +180 156 106 +197 172 123 +205 189 115 +213 197 148 +197 172 106 +230 222 172 +255 189 49 +238 230 123 +82 106 172 +148 156 164 +197 189 164 +230 213 180 +238 230 180 +0 0 0 +106 74 65 +148 115 82 +180 139 90 +213 180 131 +230 213 156 +0 0 0 +205 148 74 +230 156 57 +255 172 49 +255 189 49 +205 148 74 +205 148 74 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/battle_tower.pal b/graphics/battle_terrain/stadium/battle_tower.pal new file mode 100755 index 000000000..10a842bcc --- /dev/null +++ b/graphics/battle_terrain/stadium/battle_tower.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +172 189 213 +238 238 246 +180 197 222 +205 222 238 +222 230 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/map.bin b/graphics/battle_terrain/stadium/map.bin Binary files differnew file mode 100755 index 000000000..d7bee6035 --- /dev/null +++ b/graphics/battle_terrain/stadium/map.bin diff --git a/graphics/battle_terrain/stadium/palette1.pal b/graphics/battle_terrain/stadium/palette1.pal new file mode 100755 index 000000000..8252e3c5e --- /dev/null +++ b/graphics/battle_terrain/stadium/palette1.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 255 +65 131 213 +131 197 255 +148 205 246 +82 148 222 +172 213 246 +106 172 238 +98 164 246 +82 148 230 +98 164 246 +65 164 213 +106 189 230 +139 205 238 +180 230 238 +205 238 246 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 213 65 +255 246 197 +255 213 82 +255 230 115 +255 246 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette2.pal b/graphics/battle_terrain/stadium/palette2.pal new file mode 100755 index 000000000..48b2d851b --- /dev/null +++ b/graphics/battle_terrain/stadium/palette2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +222 222 222 +222 106 0 +156 148 156 +172 164 172 +197 106 49 +189 180 189 +172 123 98 +238 131 0 +230 115 0 +246 131 0 +139 139 139 +156 148 156 +180 172 180 +197 189 197 +205 197 213 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +123 205 164 +189 255 230 +139 222 180 +156 238 197 +172 255 213 +0 0 0 +213 49 0 +255 222 139 +213 106 57 +246 180 16 +255 197 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette3.pal b/graphics/battle_terrain/stadium/palette3.pal new file mode 100755 index 000000000..10c5b50d6 --- /dev/null +++ b/graphics/battle_terrain/stadium/palette3.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +222 197 148 +246 222 172 +230 222 189 +230 205 156 +213 230 205 +238 213 164 +246 222 172 +238 205 164 +230 213 164 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +205 172 131 +238 213 164 +238 222 189 +213 180 139 +238 230 222 +222 197 148 +230 205 156 +222 189 148 +230 213 164 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +255 213 65 +255 246 197 +255 213 82 +255 230 115 +255 246 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette4.pal b/graphics/battle_terrain/stadium/palette4.pal new file mode 100755 index 000000000..201de5471 --- /dev/null +++ b/graphics/battle_terrain/stadium/palette4.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +197 156 205 +230 205 238 +205 222 230 +205 172 213 +213 213 230 +213 189 222 +213 156 238 +205 164 222 +230 180 238 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +197 139 205 +230 205 238 +205 222 230 +205 156 213 +213 213 230 +213 180 222 +213 156 238 +205 156 213 +230 180 238 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +189 90 230 +230 213 246 +189 115 230 +197 139 230 +213 189 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette5.pal b/graphics/battle_terrain/stadium/palette5.pal new file mode 100755 index 000000000..16f50d89b --- /dev/null +++ b/graphics/battle_terrain/stadium/palette5.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +139 172 238 +180 213 255 +180 213 255 +148 180 238 +189 222 255 +164 197 246 +164 197 255 +148 180 246 +180 213 255 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +131 164 230 +180 213 255 +180 213 255 +148 180 238 +189 222 255 +164 197 246 +164 197 255 +148 180 246 +180 213 255 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +90 148 238 +172 238 255 +106 172 238 +123 189 246 +164 222 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette6.pal b/graphics/battle_terrain/stadium/palette6.pal new file mode 100755 index 000000000..118a6a3bb --- /dev/null +++ b/graphics/battle_terrain/stadium/palette6.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +246 156 90 +197 197 197 +197 205 205 +230 164 123 +197 222 213 +213 180 156 +255 189 90 +255 172 90 +255 172 32 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +230 115 32 +164 164 164 +172 189 180 +205 131 74 +180 213 205 +180 148 115 +255 148 32 +246 131 32 +255 172 32 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +238 189 49 +255 255 131 +238 197 57 +246 222 74 +255 246 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette7.pal b/graphics/battle_terrain/stadium/palette7.pal new file mode 100755 index 000000000..b0c050be5 --- /dev/null +++ b/graphics/battle_terrain/stadium/palette7.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +246 238 246 +197 115 205 +246 180 246 +238 205 238 +205 131 213 +238 213 238 +222 164 230 +222 148 230 +213 131 222 +238 156 246 +172 106 172 +205 148 205 +230 189 230 +238 213 238 +238 230 238 +0 0 0 +246 238 246 +197 115 205 +246 180 246 +238 205 238 +205 131 213 +238 213 238 +222 164 230 +222 148 230 +213 131 222 +238 156 246 +172 106 172 +205 148 205 +230 189 230 +238 213 238 +238 230 238 +0 0 0 +246 172 0 +255 238 131 +255 180 16 +255 197 41 +255 238 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/tiles.png b/graphics/battle_terrain/stadium/tiles.png Binary files differnew file mode 100755 index 000000000..ece531ec0 --- /dev/null +++ b/graphics/battle_terrain/stadium/tiles.png diff --git a/graphics/battle_terrain/water/kyogre.pal b/graphics/battle_terrain/water/kyogre.pal new file mode 100755 index 000000000..eaa19730f --- /dev/null +++ b/graphics/battle_terrain/water/kyogre.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +246 246 189 +90 148 222 +148 213 238 +180 222 222 +106 172 230 +172 213 213 +123 189 230 +205 222 197 +0 0 0 +0 0 0 +172 139 82 +189 156 106 +213 197 148 +230 213 164 +238 230 180 +0 0 0 +246 246 189 +90 148 222 +148 213 238 +180 222 222 +106 172 230 +172 213 213 +123 189 230 +205 222 197 +0 0 0 +0 0 0 +172 139 82 +189 156 106 +213 197 148 +230 213 164 +238 230 180 +0 0 0 +98 164 230 +131 197 255 +172 238 255 +255 255 255 +205 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/vs_frame.bin b/graphics/battle_transitions/vs_frame.bin Binary files differnew file mode 100755 index 000000000..2ad153964 --- /dev/null +++ b/graphics/battle_transitions/vs_frame.bin diff --git a/graphics/battle_transitions/vs_frame.pal b/graphics/battle_transitions/vs_frame.pal new file mode 100755 index 000000000..104afd395 --- /dev/null +++ b/graphics/battle_transitions/vs_frame.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 0 +65 65 65 +255 255 255 +238 230 197 +213 205 131 +123 148 131 +82 106 98 +32 57 0 +57 82 65 +246 148 115 +222 106 90 +65 205 255 +255 255 255 +213 205 189 +131 131 139 +74 65 90 diff --git a/graphics/battle_transitions/vs_frame.png b/graphics/battle_transitions/vs_frame.png Binary files differnew file mode 100755 index 000000000..0b38c8960 --- /dev/null +++ b/graphics/battle_transitions/vs_frame.png diff --git a/graphics/misc/applause.png b/graphics/contest/applause.png Binary files differindex 32b1748a0..32b1748a0 100755 --- a/graphics/misc/applause.png +++ b/graphics/contest/applause.png diff --git a/graphics/contest/applause_meter.png b/graphics/contest/applause_meter.png Binary files differnew file mode 100755 index 000000000..8a4fce8c0 --- /dev/null +++ b/graphics/contest/applause_meter.png diff --git a/graphics/contest/audience.png b/graphics/contest/audience.png Binary files differnew file mode 100755 index 000000000..59f8d0add --- /dev/null +++ b/graphics/contest/audience.png diff --git a/graphics/contest/faces.png b/graphics/contest/faces.png Binary files differnew file mode 100755 index 000000000..bba47a91d --- /dev/null +++ b/graphics/contest/faces.png diff --git a/graphics/contest/heart.png b/graphics/contest/heart.png Binary files differnew file mode 100755 index 000000000..bd1ede8fc --- /dev/null +++ b/graphics/contest/heart.png diff --git a/graphics/misc/judge.pal b/graphics/contest/judge.pal index e62f2abd3..e62f2abd3 100755 --- a/graphics/misc/judge.pal +++ b/graphics/contest/judge.pal diff --git a/graphics/misc/judge.png b/graphics/contest/judge.png Binary files differindex c4dcf520b..c4dcf520b 100755 --- a/graphics/misc/judge.png +++ b/graphics/contest/judge.png diff --git a/graphics/misc/judge_symbols.pal b/graphics/contest/judge_symbols.pal index 3eeaa1128..3eeaa1128 100755 --- a/graphics/misc/judge_symbols.pal +++ b/graphics/contest/judge_symbols.pal diff --git a/graphics/misc/judge_symbols.png b/graphics/contest/judge_symbols.png Binary files differindex 7669fb88b..7669fb88b 100755 --- a/graphics/misc/judge_symbols.png +++ b/graphics/contest/judge_symbols.png diff --git a/graphics/contest/misc.png b/graphics/contest/misc.png Binary files differnew file mode 100755 index 000000000..536924daf --- /dev/null +++ b/graphics/contest/misc.png diff --git a/graphics/contest/misc_2.pal b/graphics/contest/misc_2.pal new file mode 100755 index 000000000..869aef9e1 --- /dev/null +++ b/graphics/contest/misc_2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 106 115 +255 57 57 +205 32 0 +246 213 0 +255 123 98 +156 180 90 +164 148 57 +90 106 139 +180 172 82 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +24 57 205 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 197 255 +255 139 255 +213 0 139 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +180 255 197 +148 255 164 +65 172 57 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 255 164 +246 213 0 +230 106 0 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +49 82 255 +180 255 197 +148 255 164 +65 172 57 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 139 230 +255 139 230 +255 49 156 +255 255 0 +255 255 0 +189 172 0 +41 49 90 +41 49 90 +0 0 0 +197 123 131 +255 255 255 +230 246 255 +205 238 255 +180 238 255 +156 230 255 +139 230 255 +255 205 230 +255 255 139 +255 230 255 +255 255 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 172 197 +255 172 172 +255 180 148 +255 189 123 +255 197 98 +255 205 82 +156 156 156 +156 156 156 +156 156 156 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +49 82 255 +180 255 197 +148 255 164 +65 172 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +164 222 255 +106 230 222 +49 238 189 +0 255 156 +0 255 156 +82 255 98 +164 255 49 +255 255 0 +255 172 16 +255 90 32 +255 8 57 +230 57 106 +205 115 156 +180 164 205 +164 222 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/contest/misc_2.png b/graphics/contest/misc_2.png Binary files differnew file mode 100755 index 000000000..44a4a8295 --- /dev/null +++ b/graphics/contest/misc_2.png diff --git a/graphics/contest/misc_2_tilemap_1.bin b/graphics/contest/misc_2_tilemap_1.bin Binary files differnew file mode 100755 index 000000000..197e88cee --- /dev/null +++ b/graphics/contest/misc_2_tilemap_1.bin diff --git a/graphics/contest/misc_2_tilemap_2.bin b/graphics/contest/misc_2_tilemap_2.bin Binary files differnew file mode 100755 index 000000000..b31126836 --- /dev/null +++ b/graphics/contest/misc_2_tilemap_2.bin diff --git a/graphics/contest/misc_2_tilemap_3.bin b/graphics/contest/misc_2_tilemap_3.bin new file mode 100755 index 000000000..5055ab79e --- /dev/null +++ b/graphics/contest/misc_2_tilemap_3.bin @@ -0,0 +1 @@ +`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtppttppttfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptppttpptt`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrtppttppttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttppttppttdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrt`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtppttppttfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptppttpptt`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrtppttppttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttppttppttdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrt
\ No newline at end of file diff --git a/graphics/misc/nextturn.pal b/graphics/contest/nextturn.pal index 05991c79e..05991c79e 100755 --- a/graphics/misc/nextturn.pal +++ b/graphics/contest/nextturn.pal diff --git a/graphics/misc/nextturn.png b/graphics/contest/nextturn.png Binary files differindex 747c4b5a7..747c4b5a7 100755 --- a/graphics/misc/nextturn.png +++ b/graphics/contest/nextturn.png diff --git a/graphics/contest/nextturn_numbers.png b/graphics/contest/nextturn_numbers.png Binary files differnew file mode 100755 index 000000000..4386f822d --- /dev/null +++ b/graphics/contest/nextturn_numbers.png diff --git a/graphics/contest/nextturn_random.png b/graphics/contest/nextturn_random.png Binary files differnew file mode 100755 index 000000000..b92003823 --- /dev/null +++ b/graphics/contest/nextturn_random.png diff --git a/graphics/interface/bag_screen.png b/graphics/interface/bag_screen.png Binary files differnew file mode 100755 index 000000000..86b824bce --- /dev/null +++ b/graphics/interface/bag_screen.png diff --git a/graphics/interface/bag_screen_female.pal b/graphics/interface/bag_screen_female.pal new file mode 100755 index 000000000..d5d99e115 --- /dev/null +++ b/graphics/interface/bag_screen_female.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +98 98 115 +255 255 255 +205 205 205 +164 164 164 +123 123 123 +98 98 115 +57 49 57 +156 65 106 +98 41 65 +255 230 172 +255 197 90 +255 32 32 +230 123 139 +164 49 115 +189 156 90 +0 0 0 +98 98 115 +255 255 255 +90 0 123 +164 164 164 +123 123 123 +98 98 115 +57 49 57 +156 65 106 +98 41 65 +255 230 172 +255 197 90 +0 0 0 +230 123 139 +164 49 115 +106 180 213 +255 148 180 diff --git a/graphics/interface/bag_screen_male.pal b/graphics/interface/bag_screen_male.pal new file mode 100755 index 000000000..49c4879bd --- /dev/null +++ b/graphics/interface/bag_screen_male.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +98 98 115 +255 255 255 +205 205 205 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +41 82 115 +255 230 172 +255 197 90 +255 32 32 +106 180 213 +41 123 164 +189 156 90 +0 0 0 +98 98 115 +255 255 255 +90 0 123 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +41 82 115 +255 230 172 +255 197 90 +0 0 0 +106 180 213 +41 123 164 +255 0 0 +255 148 180 diff --git a/graphics/battle_transitions/vs.pal b/graphics/interface/check_berry.pal index f4f6cb4e3..f4f6cb4e3 100755 --- a/graphics/battle_transitions/vs.pal +++ b/graphics/interface/check_berry.pal diff --git a/graphics/interface/check_berry.png b/graphics/interface/check_berry.png Binary files differnew file mode 100755 index 000000000..8a4ea695a --- /dev/null +++ b/graphics/interface/check_berry.png diff --git a/graphics/interface/check_berry_circle.png b/graphics/interface/check_berry_circle.png Binary files differnew file mode 100755 index 000000000..38f2ae26b --- /dev/null +++ b/graphics/interface/check_berry_circle.png diff --git a/graphics/interface/hpbar_anim.png b/graphics/interface/hpbar_anim.png Binary files differnew file mode 100755 index 000000000..d4e79fdae --- /dev/null +++ b/graphics/interface/hpbar_anim.png diff --git a/graphics/interface/mart_frame.bin b/graphics/interface/mart_frame.bin Binary files differnew file mode 100755 index 000000000..e9bc3eaa7 --- /dev/null +++ b/graphics/interface/mart_frame.bin diff --git a/graphics/interface/mart_frame.png b/graphics/interface/mart_frame.png Binary files differnew file mode 100755 index 000000000..a776e789a --- /dev/null +++ b/graphics/interface/mart_frame.png diff --git a/graphics/interface/numbers1.png b/graphics/interface/numbers1.png Binary files differnew file mode 100755 index 000000000..f15757958 --- /dev/null +++ b/graphics/interface/numbers1.png diff --git a/graphics/interface/numbers2.png b/graphics/interface/numbers2.png Binary files differnew file mode 100755 index 000000000..4ddf364bf --- /dev/null +++ b/graphics/interface/numbers2.png diff --git a/graphics/interface/party_menu_hpbar.png b/graphics/interface/party_menu_hpbar.png Binary files differnew file mode 100755 index 000000000..5860ada9b --- /dev/null +++ b/graphics/interface/party_menu_hpbar.png diff --git a/graphics/interface/party_menu_misc.bin b/graphics/interface/party_menu_misc.bin Binary files differnew file mode 100755 index 000000000..3b3bcc57a --- /dev/null +++ b/graphics/interface/party_menu_misc.bin diff --git a/graphics/interface/party_menu_misc.pal b/graphics/interface/party_menu_misc.pal new file mode 100755 index 000000000..4bc706a6b --- /dev/null +++ b/graphics/interface/party_menu_misc.pal @@ -0,0 +1,179 @@ +JASC-PAL +0100 +176 +123 156 115 +255 255 255 +106 106 106 +0 0 0 +65 205 255 +0 139 189 +49 189 238 +255 156 148 +189 90 82 +222 123 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +123 156 115 +32 16 24 +139 32 24 +82 24 49 +74 123 98 +65 98 57 +82 65 74 +32 16 24 +0 0 0 +0 0 0 +255 255 255 +123 156 115 +0 0 0 +0 0 0 +0 0 0 +98 49 164 +123 156 115 +255 115 49 +139 32 24 +82 24 49 +74 123 98 +65 98 57 +82 65 74 +32 16 24 +0 0 0 +0 0 0 +255 255 255 +123 156 115 +0 0 0 +0 0 0 +0 0 0 +164 115 246 +123 156 115 +65 49 57 +189 189 189 +255 255 255 +131 180 172 +57 164 172 +49 139 139 +65 49 57 +115 139 123 +131 180 172 +57 164 172 +49 139 139 +82 106 90 +255 180 123 +246 148 115 +222 106 90 +123 156 115 +65 49 57 +189 189 189 +255 255 255 +205 205 106 +197 189 41 +156 156 32 +65 49 57 +255 123 57 +205 205 106 +197 189 41 +156 156 32 +82 106 90 +74 65 90 +115 255 172 +90 213 131 +123 156 115 +65 49 57 +189 189 189 +255 255 255 +205 156 156 +189 123 123 +148 106 106 +65 49 57 +255 123 57 +205 156 156 +189 123 123 +148 106 106 +82 106 90 +74 65 90 +255 230 57 +205 172 8 +123 156 115 +255 115 49 +189 189 189 +255 255 255 +164 238 131 +115 213 65 +123 156 98 +238 115 49 +0 0 0 +255 131 65 +255 131 65 +255 131 65 +82 106 90 +74 65 90 +255 90 57 +172 65 74 +123 156 115 +255 115 49 +189 189 189 +255 255 255 +172 230 246 +123 213 222 +74 164 164 +238 115 49 +0 0 0 +255 131 65 +255 131 65 +255 131 65 +74 65 90 +255 90 57 +57 57 57 +172 238 148 +123 156 115 +255 115 49 +189 189 189 +255 255 255 +246 246 148 +246 238 65 +213 213 32 +238 115 49 +0 0 0 +255 131 65 +255 131 65 +255 131 65 +74 65 90 +255 90 57 +57 57 57 +172 238 148 +123 156 115 +255 115 49 +189 189 189 +255 255 255 +255 213 222 +255 180 189 +213 148 139 +238 115 49 +0 0 0 +255 131 65 +255 131 65 +255 131 65 +74 65 90 +255 90 57 +57 57 57 +172 238 148 +123 156 115 +255 255 156 +189 189 189 +255 255 255 +164 238 131 +115 213 65 +123 156 98 +255 255 0 +0 0 0 +255 255 189 +255 255 230 +255 255 230 +74 65 90 +255 90 57 +57 57 57 +172 238 148 diff --git a/graphics/interface/party_menu_misc.png b/graphics/interface/party_menu_misc.png Binary files differnew file mode 100755 index 000000000..6ca98493b --- /dev/null +++ b/graphics/interface/party_menu_misc.png diff --git a/graphics/interface/party_menu_ordertext.png b/graphics/interface/party_menu_ordertext.png Binary files differnew file mode 100755 index 000000000..003af36d0 --- /dev/null +++ b/graphics/interface/party_menu_ordertext.png diff --git a/graphics/interface/pokeblock.bin b/graphics/interface/pokeblock.bin Binary files differnew file mode 100755 index 000000000..232df0fdb --- /dev/null +++ b/graphics/interface/pokeblock.bin diff --git a/graphics/interface/pokeblock_case_frame.pal b/graphics/interface/pokeblock_case_frame.pal new file mode 100755 index 000000000..ef58ae778 --- /dev/null +++ b/graphics/interface/pokeblock_case_frame.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +0 0 0 +123 205 189 +238 246 255 +213 230 255 +255 0 0 +115 131 238 +90 90 98 +123 180 189 +131 131 164 +0 0 0 +0 0 0 +197 197 197 +205 65 24 +255 123 90 +255 180 148 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +238 246 255 +0 0 0 +0 0 0 +90 90 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 197 197 +106 139 189 +148 213 255 +180 238 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +255 238 238 +0 0 0 +0 0 0 +90 90 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 197 197 +205 90 172 +255 156 197 +255 197 213 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 115 +148 246 98 +205 255 139 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 180 49 +246 230 49 +255 255 148 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 139 +222 222 222 +238 238 238 +255 255 255 diff --git a/graphics/interface/pokeblock_case_frame.png b/graphics/interface/pokeblock_case_frame.png Binary files differnew file mode 100755 index 000000000..646636365 --- /dev/null +++ b/graphics/interface/pokeblock_case_frame.png diff --git a/graphics/interface/status_screen.bin b/graphics/interface/status_screen.bin Binary files differnew file mode 100755 index 000000000..745f3d2de --- /dev/null +++ b/graphics/interface/status_screen.bin diff --git a/graphics/interface/status_screen.pal b/graphics/interface/status_screen.pal new file mode 100755 index 000000000..61cd08f0c --- /dev/null +++ b/graphics/interface/status_screen.pal @@ -0,0 +1,83 @@ +JASC-PAL +0100 +80 +0 0 0 +74 65 57 +255 255 255 +222 230 246 +213 213 189 +246 255 255 +115 106 98 +246 74 16 +222 82 41 +205 90 65 +180 106 90 +164 115 115 +189 172 238 +164 156 189 +148 131 139 +106 90 82 +0 0 0 +74 65 57 +255 255 255 +148 82 65 +197 131 106 +255 246 205 +115 106 98 +65 189 189 +82 164 164 +98 148 139 +123 131 123 +139 115 98 +238 172 131 +213 148 115 +189 123 98 +164 98 82 +0 0 0 +74 65 57 +255 255 255 +172 180 172 +205 205 197 +246 255 238 +115 106 98 +255 189 0 +197 164 24 +148 148 57 +90 131 90 +41 115 123 +123 230 164 +131 189 131 +74 148 115 +41 115 123 +0 0 0 +74 65 57 +255 255 255 +0 0 0 +0 0 0 +246 255 246 +115 106 98 +164 230 41 +148 205 65 +131 180 90 +115 156 115 +98 131 139 +172 222 222 +139 172 213 +106 123 205 +82 82 197 +0 0 0 +74 65 57 +123 131 65 +156 172 82 +213 213 189 +255 255 255 +238 213 65 +197 189 74 +246 246 156 +230 230 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 98 90 diff --git a/graphics/interface/status_screen.png b/graphics/interface/status_screen.png Binary files differnew file mode 100755 index 000000000..3024a035c --- /dev/null +++ b/graphics/interface/status_screen.png diff --git a/graphics/interface/wordgroup.pal b/graphics/interface/wordgroup_blue.pal index 0d067c9e2..0d067c9e2 100755..100644 --- a/graphics/interface/wordgroup.pal +++ b/graphics/interface/wordgroup_blue.pal diff --git a/graphics/interface/wordgroup_frame.png b/graphics/interface/wordgroup_frame.png Binary files differnew file mode 100644 index 000000000..71a26aab4 --- /dev/null +++ b/graphics/interface/wordgroup_frame.png diff --git a/graphics/interface/wordgroup_indicator.pal b/graphics/interface/wordgroup_indicator.pal new file mode 100644 index 000000000..0d067c9e2 --- /dev/null +++ b/graphics/interface/wordgroup_indicator.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 148 +156 230 255 +98 197 246 +82 148 197 +172 246 213 +139 230 180 +90 164 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +41 49 49 +98 98 98 +180 189 180 +222 213 222 +255 255 255 diff --git a/graphics/interface/wordgroup.png b/graphics/interface/wordgroup_indicator.png Binary files differindex 9cf90dbf1..9cf90dbf1 100755..100644 --- a/graphics/interface/wordgroup.png +++ b/graphics/interface/wordgroup_indicator.png diff --git a/graphics/interface/wordgroup_pink.pal b/graphics/interface/wordgroup_pink.pal new file mode 100644 index 000000000..9efe6e1c6 --- /dev/null +++ b/graphics/interface/wordgroup_pink.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 148 +255 213 213 +246 180 180 +213 148 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +41 49 49 +98 98 98 +180 189 180 +222 213 222 +255 255 255 diff --git a/graphics/intro/copyright.bin b/graphics/intro/copyright.bin Binary files differnew file mode 100644 index 000000000..367991ff7 --- /dev/null +++ b/graphics/intro/copyright.bin diff --git a/graphics/intro/copyright.pal b/graphics/intro/copyright.pal new file mode 100644 index 000000000..4219d4394 --- /dev/null +++ b/graphics/intro/copyright.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 32 32 +24 57 57 +49 82 82 +82 106 106 +106 131 131 +139 156 156 +164 180 180 +197 205 205 +222 230 230 +255 255 255 diff --git a/graphics/intro/copyright.png b/graphics/intro/copyright.png Binary files differnew file mode 100644 index 000000000..23d6dc2b4 --- /dev/null +++ b/graphics/intro/copyright.png diff --git a/graphics/intro/intro3_pokeball_map.bin b/graphics/intro/intro3_pokeball_map.bin Binary files differnew file mode 100644 index 000000000..2f968aa20 --- /dev/null +++ b/graphics/intro/intro3_pokeball_map.bin diff --git a/graphics/intro/intro3_streaks.pal b/graphics/intro/intro3_streaks.pal new file mode 100644 index 000000000..21ae1e434 --- /dev/null +++ b/graphics/intro/intro3_streaks.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +0 0 0 +255 230 74 +255 230 98 +255 238 123 +255 238 148 +255 246 172 +255 255 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/intro/intro3_streaks.png b/graphics/intro/intro3_streaks.png Binary files differnew file mode 100644 index 000000000..a19fa39c4 --- /dev/null +++ b/graphics/intro/intro3_streaks.png diff --git a/graphics/intro/intro3_streaks_map.bin b/graphics/intro/intro3_streaks_map.bin Binary files differnew file mode 100644 index 000000000..2d1b69924 --- /dev/null +++ b/graphics/intro/intro3_streaks_map.bin diff --git a/graphics/misc/birch_bag_map.bin b/graphics/misc/birch_bag_map.bin Binary files differnew file mode 100644 index 000000000..ddfad5ec9 --- /dev/null +++ b/graphics/misc/birch_bag_map.bin diff --git a/graphics/misc/birch_grass_map.bin b/graphics/misc/birch_grass_map.bin Binary files differnew file mode 100644 index 000000000..b7332940c --- /dev/null +++ b/graphics/misc/birch_grass_map.bin diff --git a/graphics/misc/cable_car.pal b/graphics/misc/cable_car.pal new file mode 100755 index 000000000..64985f6da --- /dev/null +++ b/graphics/misc/cable_car.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +164 222 222 +98 139 139 +139 180 180 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +139 205 246 +98 172 238 +255 255 148 +238 213 82 +213 172 16 +180 106 0 +139 65 0 diff --git a/graphics/misc/cable_car.png b/graphics/misc/cable_car.png Binary files differnew file mode 100755 index 000000000..67f581fb9 --- /dev/null +++ b/graphics/misc/cable_car.png diff --git a/graphics/misc/cable_car_bg.pal b/graphics/misc/cable_car_bg.pal new file mode 100755 index 000000000..d543b4cce --- /dev/null +++ b/graphics/misc/cable_car_bg.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +0 0 0 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +255 230 139 +238 205 123 +222 189 115 +205 172 106 +189 156 98 +180 139 90 +230 106 189 +230 106 189 +230 106 189 +0 0 0 +189 255 148 +156 222 98 +131 197 74 +106 164 49 +82 115 24 +57 82 0 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +230 106 189 +0 0 0 +213 238 255 +189 230 255 +164 222 255 +139 213 255 +115 205 255 +98 205 255 +197 205 222 +189 189 197 +180 164 164 +156 131 131 +131 90 90 +123 65 65 +230 106 189 +230 106 189 +230 106 189 +0 0 0 +197 205 246 +172 189 238 +156 172 238 +131 156 230 +115 139 230 +98 123 230 +65 74 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/cable_car_bg.png b/graphics/misc/cable_car_bg.png Binary files differnew file mode 100755 index 000000000..f268ea990 --- /dev/null +++ b/graphics/misc/cable_car_bg.png diff --git a/graphics/misc/cable_car_cord.png b/graphics/misc/cable_car_cord.png Binary files differnew file mode 100755 index 000000000..b8176d3ca --- /dev/null +++ b/graphics/misc/cable_car_cord.png diff --git a/graphics/misc/cable_car_door.png b/graphics/misc/cable_car_door.png Binary files differnew file mode 100755 index 000000000..a61b3f504 --- /dev/null +++ b/graphics/misc/cable_car_door.png diff --git a/graphics/misc/cable_car_mountain_map.bin b/graphics/misc/cable_car_mountain_map.bin new file mode 100644 index 000000000..3d4e092bc --- /dev/null +++ b/graphics/misc/cable_car_mountain_map.bin @@ -0,0 +1 @@ +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!!!!!!!!!!!!!!!!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
\ No newline at end of file diff --git a/graphics/misc/cable_car_mt_chimney_map.bin b/graphics/misc/cable_car_mt_chimney_map.bin Binary files differnew file mode 100644 index 000000000..8ae7818bf --- /dev/null +++ b/graphics/misc/cable_car_mt_chimney_map.bin diff --git a/graphics/misc/cable_car_pylon_stem_map.bin b/graphics/misc/cable_car_pylon_stem_map.bin new file mode 100644 index 000000000..e6f12efc6 --- /dev/null +++ b/graphics/misc/cable_car_pylon_stem_map.bin @@ -0,0 +1,2 @@ + +000
000000000000000000000000000000000000000000000000000000000
\ No newline at end of file diff --git a/graphics/misc/cable_car_tree_map.bin b/graphics/misc/cable_car_tree_map.bin Binary files differnew file mode 100644 index 000000000..1e9b7a8f8 --- /dev/null +++ b/graphics/misc/cable_car_tree_map.bin diff --git a/graphics/misc/cave_transition.png b/graphics/misc/cave_transition.png Binary files differnew file mode 100644 index 000000000..dd265149f --- /dev/null +++ b/graphics/misc/cave_transition.png diff --git a/graphics/misc/cave_transition_map.bin b/graphics/misc/cave_transition_map.bin Binary files differnew file mode 100644 index 000000000..4293bfd1c --- /dev/null +++ b/graphics/misc/cave_transition_map.bin diff --git a/graphics/misc/clock.png b/graphics/misc/clock.png Binary files differnew file mode 100644 index 000000000..28780c1d1 --- /dev/null +++ b/graphics/misc/clock.png diff --git a/graphics/misc/condition_up_down.pal b/graphics/misc/condition_up_down.pal new file mode 100644 index 000000000..5b0cfcd3c --- /dev/null +++ b/graphics/misc/condition_up_down.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 180 246 +255 255 0 +255 0 0 +0 0 255 +222 222 222 +213 213 213 +205 205 205 +197 197 197 +189 189 189 +180 180 180 +172 172 172 +164 164 164 +148 148 148 +139 139 139 +131 131 131 +0 0 0 diff --git a/graphics/misc/condition_up_down.png b/graphics/misc/condition_up_down.png Binary files differnew file mode 100644 index 000000000..7d4049d86 --- /dev/null +++ b/graphics/misc/condition_up_down.png diff --git a/graphics/misc/decoration_10000.png b/graphics/misc/decoration_10000.png Binary files differnew file mode 100644 index 000000000..b9ee418f3 --- /dev/null +++ b/graphics/misc/decoration_10000.png diff --git a/graphics/misc/end_copyright.png b/graphics/misc/end_copyright.png Binary files differnew file mode 100644 index 000000000..57fc6114a --- /dev/null +++ b/graphics/misc/end_copyright.png diff --git a/graphics/misc/hof.pal b/graphics/misc/hof.pal new file mode 100644 index 000000000..b4fffc172 --- /dev/null +++ b/graphics/misc/hof.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +0 0 0 +255 213 230 +255 32 32 +255 180 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +65 65 65 +255 255 255 diff --git a/graphics/misc/hof.png b/graphics/misc/hof.png Binary files differnew file mode 100644 index 000000000..b60489544 --- /dev/null +++ b/graphics/misc/hof.png diff --git a/graphics/misc/interview_arrow.png b/graphics/misc/interview_arrow.png Binary files differnew file mode 100644 index 000000000..f1e59bca8 --- /dev/null +++ b/graphics/misc/interview_arrow.png diff --git a/graphics/misc/interview_buttons.png b/graphics/misc/interview_buttons.png Binary files differnew file mode 100644 index 000000000..3e18c85f9 --- /dev/null +++ b/graphics/misc/interview_buttons.png diff --git a/graphics/misc/interview_outline_cursor.png b/graphics/misc/interview_outline_cursor.png Binary files differnew file mode 100644 index 000000000..c9ade7073 --- /dev/null +++ b/graphics/misc/interview_outline_cursor.png diff --git a/graphics/misc/interview_pal0.pal b/graphics/misc/interview_pal0.pal new file mode 100644 index 000000000..dfe91b5de --- /dev/null +++ b/graphics/misc/interview_pal0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 148 +255 197 148 +238 139 90 +189 90 41 +255 213 213 +246 180 180 +197 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +41 49 49 +98 98 98 +180 189 180 +222 213 222 +255 255 255 diff --git a/graphics/misc/interview_pal1.pal b/graphics/misc/interview_pal1.pal new file mode 100644 index 000000000..72d2547f9 --- /dev/null +++ b/graphics/misc/interview_pal1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 164 0 +255 0 0 +255 32 32 +255 74 74 +255 106 106 +255 148 148 +255 180 180 +255 222 222 +255 255 255 +255 255 255 +255 255 205 +255 255 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/interview_triangle_cursor.png b/graphics/misc/interview_triangle_cursor.png Binary files differnew file mode 100644 index 000000000..f3f00ca4d --- /dev/null +++ b/graphics/misc/interview_triangle_cursor.png diff --git a/graphics/misc/trainer_card.png b/graphics/misc/trainer_card.png Binary files differnew file mode 100644 index 000000000..915ecdca2 --- /dev/null +++ b/graphics/misc/trainer_card.png diff --git a/graphics/misc/trainer_card_0star.pal b/graphics/misc/trainer_card_0star.pal new file mode 100644 index 000000000..f49b7f2c5 --- /dev/null +++ b/graphics/misc/trainer_card_0star.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +255 255 255 +230 255 222 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +180 230 156 +148 238 131 +131 222 115 +82 172 74 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/misc/trainer_card_1star.pal b/graphics/misc/trainer_card_1star.pal new file mode 100644 index 000000000..62c51c91f --- /dev/null +++ b/graphics/misc/trainer_card_1star.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +238 255 246 +213 238 230 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +189 213 205 +148 180 164 +106 148 123 +65 115 90 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/misc/trainer_card_2star.pal b/graphics/misc/trainer_card_2star.pal new file mode 100644 index 000000000..bacce54f5 --- /dev/null +++ b/graphics/misc/trainer_card_2star.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +255 246 230 +246 230 213 +205 156 90 +180 131 65 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +230 189 139 +205 156 115 +180 131 82 +156 106 41 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/misc/trainer_card_3star.pal b/graphics/misc/trainer_card_3star.pal new file mode 100644 index 000000000..21f3d83eb --- /dev/null +++ b/graphics/misc/trainer_card_3star.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +246 246 255 +230 230 238 +189 189 197 +156 156 156 +156 106 41 +41 57 65 +57 106 139 +65 139 197 +230 230 238 +189 189 197 +156 156 156 +123 123 123 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/misc/trainer_card_4star.pal b/graphics/misc/trainer_card_4star.pal new file mode 100644 index 000000000..4e1d56b54 --- /dev/null +++ b/graphics/misc/trainer_card_4star.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +246 246 222 +246 238 172 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +246 230 139 +230 213 49 +213 197 57 +156 115 57 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/naming_screen/menu.png b/graphics/naming_screen/menu.png Binary files differnew file mode 100755 index 000000000..aae121e3e --- /dev/null +++ b/graphics/naming_screen/menu.png diff --git a/graphics/pokeblock/black.pal b/graphics/pokeblock/black.pal new file mode 100644 index 000000000..2cb591a70 --- /dev/null +++ b/graphics/pokeblock/black.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 131 74 +41 41 41 +98 98 98 +148 148 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/blue.pal b/graphics/pokeblock/blue.pal new file mode 100644 index 000000000..8295c79e8 --- /dev/null +++ b/graphics/pokeblock/blue.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 106 189 +148 148 255 +180 180 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/brown.pal b/graphics/pokeblock/brown.pal new file mode 100644 index 000000000..c936322bb --- /dev/null +++ b/graphics/pokeblock/brown.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 0 0 +172 65 65 +197 123 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/gold.pal b/graphics/pokeblock/gold.pal new file mode 100644 index 000000000..c975554d1 --- /dev/null +++ b/graphics/pokeblock/gold.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +222 197 49 +246 230 164 +255 238 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/gray.pal b/graphics/pokeblock/gray.pal new file mode 100644 index 000000000..0bd5c4d7c --- /dev/null +++ b/graphics/pokeblock/gray.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 148 +189 189 189 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/green.pal b/graphics/pokeblock/green.pal new file mode 100644 index 000000000..984ba41ea --- /dev/null +++ b/graphics/pokeblock/green.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 106 0 +49 164 49 +90 230 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/indigo.pal b/graphics/pokeblock/indigo.pal new file mode 100644 index 000000000..4a57b8bde --- /dev/null +++ b/graphics/pokeblock/indigo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 205 74 +0 0 106 +65 65 172 +123 123 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/liteblue.pal b/graphics/pokeblock/liteblue.pal new file mode 100644 index 000000000..e3a70c8be --- /dev/null +++ b/graphics/pokeblock/liteblue.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 139 189 +148 213 255 +180 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/olive.pal b/graphics/pokeblock/olive.pal new file mode 100644 index 000000000..e7599fc1e --- /dev/null +++ b/graphics/pokeblock/olive.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +115 180 106 +148 246 98 +205 255 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/pink.pal b/graphics/pokeblock/pink.pal new file mode 100644 index 000000000..7eb09a598 --- /dev/null +++ b/graphics/pokeblock/pink.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +205 90 172 +255 156 197 +255 197 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/pokeblock.png b/graphics/pokeblock/pokeblock.png Binary files differindex fd24e0621..fd24e0621 100755..100644 --- a/graphics/misc/pokeblock.png +++ b/graphics/pokeblock/pokeblock.png diff --git a/graphics/pokeblock/purple.pal b/graphics/pokeblock/purple.pal new file mode 100644 index 000000000..2b6f8ad43 --- /dev/null +++ b/graphics/pokeblock/purple.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +164 0 164 +197 41 197 +255 131 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/red.pal b/graphics/pokeblock/red.pal new file mode 100644 index 000000000..a347854a9 --- /dev/null +++ b/graphics/pokeblock/red.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +205 65 24 +255 123 90 +255 180 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/white.pal b/graphics/pokeblock/white.pal new file mode 100644 index 000000000..c1d00b93a --- /dev/null +++ b/graphics/pokeblock/white.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +222 222 222 +238 238 238 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/yellow.pal b/graphics/pokeblock/yellow.pal new file mode 100644 index 000000000..518042d9f --- /dev/null +++ b/graphics/pokeblock/yellow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +180 180 49 +246 230 49 +255 255 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokedex/menu.png b/graphics/pokedex/menu.png Binary files differnew file mode 100755 index 000000000..dd8ab63a7 --- /dev/null +++ b/graphics/pokedex/menu.png diff --git a/graphics/pokedex/menu1.pal b/graphics/pokedex/menu1.pal new file mode 100755 index 000000000..9850d59b0 --- /dev/null +++ b/graphics/pokedex/menu1.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +123 131 0 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +255 197 90 +255 32 32 +49 82 213 +16 41 172 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +255 197 90 +255 32 32 +49 82 213 +16 41 172 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +255 197 90 +255 32 32 +156 230 0 +123 172 0 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/menu2.pal b/graphics/pokedex/menu2.pal new file mode 100755 index 000000000..da71fe5ba --- /dev/null +++ b/graphics/pokedex/menu2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +123 131 0 +255 255 255 +255 131 255 +255 74 189 +255 16 123 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +255 197 90 +255 32 32 +49 82 213 +16 41 172 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +255 197 90 +189 0 0 +90 164 0 +57 106 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +255 197 90 +255 32 32 +156 230 0 +123 172 0 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/menu2.png b/graphics/pokedex/menu2.png Binary files differnew file mode 100755 index 000000000..27de53df0 --- /dev/null +++ b/graphics/pokedex/menu2.png diff --git a/graphics/pokedex/menu3.pal b/graphics/pokedex/menu3.pal new file mode 100755 index 000000000..101b62b41 --- /dev/null +++ b/graphics/pokedex/menu3.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +123 131 0 +0 0 0 +0 0 0 +255 255 255 +255 255 255 +98 98 115 +57 57 57 +123 115 74 +156 230 0 +57 115 0 +255 32 32 +131 32 32 +172 156 139 +82 82 57 +255 32 32 +0 0 0 +123 131 0 +0 0 0 +0 0 0 +255 255 255 +255 255 255 +98 98 115 +57 57 57 +123 115 74 +41 115 0 +32 49 32 +139 0 0 +16 0 0 +172 156 139 +82 82 57 +0 0 0 +0 0 0 +123 131 0 +0 0 0 +0 0 0 +172 172 172 +172 172 172 +98 98 115 +57 57 57 +123 115 74 +32 49 32 +32 32 32 +74 32 32 +32 32 32 +172 156 139 +82 82 57 +255 32 32 +0 0 0 +123 131 0 +0 0 0 +0 0 0 +172 172 172 +172 172 172 +98 98 115 +57 57 57 +123 115 74 +32 49 32 +32 32 32 +74 32 32 +32 32 32 +172 156 139 +82 82 57 +0 0 0 +0 0 0 diff --git a/graphics/pokedex/menu_search.png b/graphics/pokedex/menu_search.png Binary files differnew file mode 100755 index 000000000..d1c4ae466 --- /dev/null +++ b/graphics/pokedex/menu_search.png diff --git a/graphics/pokedex/national.pal b/graphics/pokedex/national.pal new file mode 100644 index 000000000..b1bf3fa9a --- /dev/null +++ b/graphics/pokedex/national.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +123 131 0 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +255 197 90 +255 32 32 +164 164 164 +98 98 115 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +255 197 90 +255 32 32 +164 164 164 +98 98 115 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +255 197 90 +255 32 32 +156 230 0 +123 172 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +255 131 255 +255 74 189 +255 16 123 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +255 197 90 +255 32 32 +164 164 164 +98 98 115 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +255 197 90 +189 0 0 +90 164 0 +57 106 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +255 197 90 +255 32 32 +156 230 0 +123 172 0 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/search.pal b/graphics/pokedex/search.pal new file mode 100644 index 000000000..fe007d73e --- /dev/null +++ b/graphics/pokedex/search.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +123 131 0 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +98 98 115 +255 255 255 +255 197 90 +255 32 32 +49 49 49 +0 0 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +98 98 115 +255 255 255 +255 197 90 +255 32 32 +49 49 49 +0 0 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +98 98 115 +255 255 255 +255 197 90 +255 32 32 +156 230 0 +123 172 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +255 131 255 +255 74 189 +255 16 123 +98 98 115 +41 57 65 +98 98 115 +98 98 115 +255 255 255 +255 197 90 +255 32 32 +49 49 49 +0 0 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +98 98 115 +255 255 255 +255 197 90 +189 0 0 +90 164 0 +57 106 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +98 98 115 +255 255 255 +255 197 90 +255 32 32 +156 230 0 +123 172 0 +189 156 90 +0 0 0 diff --git a/graphics/pokemon_storage/header.bin b/graphics/pokemon_storage/header.bin new file mode 100644 index 000000000..6c4c46090 --- /dev/null +++ b/graphics/pokemon_storage/header.bin @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/graphics/pokemon_storage/header.png b/graphics/pokemon_storage/header.png Binary files differnew file mode 100644 index 000000000..f302ea41f --- /dev/null +++ b/graphics/pokemon_storage/header.png diff --git a/graphics/pokemon_storage/menu1.pal b/graphics/pokemon_storage/menu1.pal new file mode 100644 index 000000000..cf814577e --- /dev/null +++ b/graphics/pokemon_storage/menu1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 90 57 +255 255 255 +115 115 123 +205 123 197 +222 222 246 +90 189 238 +164 164 180 +98 98 115 +0 0 0 +82 82 90 +189 238 98 +164 222 74 +164 230 74 +180 230 115 +148 205 57 +148 148 172 diff --git a/graphics/pokemon_storage/menu2.bin b/graphics/pokemon_storage/menu2.bin Binary files differnew file mode 100644 index 000000000..ad8e8ef8b --- /dev/null +++ b/graphics/pokemon_storage/menu2.bin diff --git a/graphics/pokemon_storage/menu3.pal b/graphics/pokemon_storage/menu3.pal new file mode 100644 index 000000000..fbfbcd3cf --- /dev/null +++ b/graphics/pokemon_storage/menu3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 0 0 +131 74 98 +82 65 74 +189 82 74 +131 180 156 +123 156 115 +0 123 255 +123 189 255 +41 90 164 +172 238 148 +255 255 255 +189 189 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon_storage/menu4.pal b/graphics/pokemon_storage/menu4.pal new file mode 100644 index 000000000..ee7ac07e1 --- /dev/null +++ b/graphics/pokemon_storage/menu4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 197 255 +255 255 255 +148 148 172 +115 115 123 +82 82 90 +180 230 115 +189 238 98 +148 205 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon_storage/misc1.bin b/graphics/pokemon_storage/misc1.bin new file mode 100644 index 000000000..0a2bcaf7f --- /dev/null +++ b/graphics/pokemon_storage/misc1.bin @@ -0,0 +1 @@ +@#A#A#A#A#A#A#A#A#A#A#B#w3x3y3z3{3|3}3~33@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#333333333@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#333333333@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#333333333@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#K#L#L#M#C#D#D#E#@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#N#O#O#P#F#A#A#G#@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#Q#R#R#S#H#I#I#J#@@@@@@@@@@@@@#K#L#L#M#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#N#O#O#P#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#Q#R#R#S#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#A#@@@@B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#A#A#A#A#A#B#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#T#U#V#W#X#Y#@@@@@@@@@@@@@@@@@@@@@#A#A#A#A#A#Z#[#\#]#^#_#@@@@@@@@@@@@@@@@@@@@`#a#a#a#a#a#a#a#a#b#b#c#@@@@@@@@@@@@@@@@@@@@d#e#f#g#h#i#j#k#l#m#m#m#@@@@@@@@@@@@@@@@@@@@n#o#p#q#r#s#t#u#v#m#m#m#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
\ No newline at end of file diff --git a/graphics/pokemon_storage/misc1.png b/graphics/pokemon_storage/misc1.png Binary files differnew file mode 100644 index 000000000..e2906d6af --- /dev/null +++ b/graphics/pokemon_storage/misc1.png diff --git a/graphics/pokenav/arrow2.png b/graphics/pokenav/arrow2.png Binary files differnew file mode 100644 index 000000000..f971ebb5c --- /dev/null +++ b/graphics/pokenav/arrow2.png diff --git a/graphics/pokenav/contest_arrows.pal b/graphics/pokenav/arrows.pal index 5761a94e5..5761a94e5 100755..100644 --- a/graphics/pokenav/contest_arrows.pal +++ b/graphics/pokenav/arrows.pal diff --git a/graphics/pokenav/contest_arrows.png b/graphics/pokenav/arrows.png Binary files differindex 61282edc4..61282edc4 100755..100644 --- a/graphics/pokenav/contest_arrows.png +++ b/graphics/pokenav/arrows.png diff --git a/graphics/unknown/unknown_3E41D8.pal b/graphics/pokenav/blue_light.pal index 0ec325cbc..0ec325cbc 100755..100644 --- a/graphics/unknown/unknown_3E41D8.pal +++ b/graphics/pokenav/blue_light.pal diff --git a/graphics/unknown/unknown_3E41D8.png b/graphics/pokenav/blue_light.png Binary files differindex bab02d428..bab02d428 100755..100644 --- a/graphics/unknown/unknown_3E41D8.png +++ b/graphics/pokenav/blue_light.png diff --git a/graphics/pokenav/condition1.pal b/graphics/pokenav/condition1.pal new file mode 100644 index 000000000..702fcbbf5 --- /dev/null +++ b/graphics/pokenav/condition1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +123 123 131 +205 205 197 +156 156 156 +82 82 74 +172 172 172 +197 180 255 +106 82 222 +82 65 164 +98 197 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/condition2.pal b/graphics/pokenav/condition2.pal new file mode 100644 index 000000000..19d9d2195 --- /dev/null +++ b/graphics/pokenav/condition2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +98 98 115 +131 131 148 +131 156 255 +189 180 197 +115 230 115 +222 238 255 +255 156 98 +246 255 255 +255 213 180 +255 246 57 +255 255 180 +213 255 189 +255 222 255 +255 172 213 +189 222 246 diff --git a/graphics/pokenav/contest_pokeball.pal b/graphics/pokenav/condition3.pal index 67350adee..67350adee 100755..100644 --- a/graphics/pokenav/contest_pokeball.pal +++ b/graphics/pokenav/condition3.pal diff --git a/graphics/pokenav/condition4.pal b/graphics/pokenav/condition4.pal new file mode 100644 index 000000000..5a31bb028 --- /dev/null +++ b/graphics/pokenav/condition4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 139 +123 123 156 +246 255 255 +106 106 123 +0 0 8 +246 115 82 +255 123 90 +156 172 164 +246 189 131 +255 197 139 +222 246 230 +230 255 222 +238 246 246 +255 255 255 +0 98 98 +0 0 0 diff --git a/graphics/pokenav/condition5.pal b/graphics/pokenav/condition5.pal new file mode 100644 index 000000000..f37881bec --- /dev/null +++ b/graphics/pokenav/condition5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 255 255 +82 82 74 +180 0 0 +246 65 41 +255 148 90 +255 255 255 +0 0 0 +0 0 0 +255 255 255 +82 82 74 +148 255 98 +32 197 106 +74 139 57 +255 238 98 +246 197 49 +230 148 0 diff --git a/graphics/pokenav/condition6.pal b/graphics/pokenav/condition6.pal new file mode 100644 index 000000000..84a168b49 --- /dev/null +++ b/graphics/pokenav/condition6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 230 0 +255 255 255 +82 82 74 +255 148 90 +255 65 32 +180 0 0 +197 180 255 +106 82 222 +82 65 164 +255 172 164 +246 106 106 +205 74 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/condition7.bin b/graphics/pokenav/condition7.bin Binary files differnew file mode 100644 index 000000000..1d621df35 --- /dev/null +++ b/graphics/pokenav/condition7.bin diff --git a/graphics/pokenav/condition_cancel.png b/graphics/pokenav/condition_cancel.png Binary files differnew file mode 100644 index 000000000..db4734b15 --- /dev/null +++ b/graphics/pokenav/condition_cancel.png diff --git a/graphics/pokenav/condition_menu.png b/graphics/pokenav/condition_menu.png Binary files differnew file mode 100644 index 000000000..8b682223e --- /dev/null +++ b/graphics/pokenav/condition_menu.png diff --git a/graphics/pokenav/condition_menu_header.png b/graphics/pokenav/condition_menu_header.png Binary files differnew file mode 100644 index 000000000..1a9c07273 --- /dev/null +++ b/graphics/pokenav/condition_menu_header.png diff --git a/graphics/pokenav/condition_menu_misc.png b/graphics/pokenav/condition_menu_misc.png Binary files differnew file mode 100644 index 000000000..3c87c867e --- /dev/null +++ b/graphics/pokenav/condition_menu_misc.png diff --git a/graphics/pokenav/condition_menu_options.png b/graphics/pokenav/condition_menu_options.png Binary files differnew file mode 100644 index 000000000..588c3b92f --- /dev/null +++ b/graphics/pokenav/condition_menu_options.png diff --git a/graphics/pokenav/condition_menu_options2.png b/graphics/pokenav/condition_menu_options2.png Binary files differnew file mode 100644 index 000000000..f17160c56 --- /dev/null +++ b/graphics/pokenav/condition_menu_options2.png diff --git a/graphics/pokenav/condition_search2.pal b/graphics/pokenav/condition_search2.pal new file mode 100644 index 000000000..a5a556515 --- /dev/null +++ b/graphics/pokenav/condition_search2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 65 65 +49 65 74 +106 115 123 +255 255 255 +90 123 164 +98 172 230 +197 222 255 +148 156 205 +156 164 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/condition_search2.png b/graphics/pokenav/condition_search2.png Binary files differnew file mode 100644 index 000000000..d4c25f5c8 --- /dev/null +++ b/graphics/pokenav/condition_search2.png diff --git a/graphics/pokenav/condition_search_beauty.png b/graphics/pokenav/condition_search_beauty.png Binary files differnew file mode 100644 index 000000000..8201ee306 --- /dev/null +++ b/graphics/pokenav/condition_search_beauty.png diff --git a/graphics/pokenav/condition_search_cancel.png b/graphics/pokenav/condition_search_cancel.png Binary files differnew file mode 100644 index 000000000..9a612fff0 --- /dev/null +++ b/graphics/pokenav/condition_search_cancel.png diff --git a/graphics/pokenav/condition_search_cool.png b/graphics/pokenav/condition_search_cool.png Binary files differnew file mode 100644 index 000000000..edf1a8770 --- /dev/null +++ b/graphics/pokenav/condition_search_cool.png diff --git a/graphics/pokenav/condition_search_cute.png b/graphics/pokenav/condition_search_cute.png Binary files differnew file mode 100644 index 000000000..0551a1c1a --- /dev/null +++ b/graphics/pokenav/condition_search_cute.png diff --git a/graphics/pokenav/condition_search_smart.png b/graphics/pokenav/condition_search_smart.png Binary files differnew file mode 100644 index 000000000..bae400440 --- /dev/null +++ b/graphics/pokenav/condition_search_smart.png diff --git a/graphics/pokenav/condition_search_tough.png b/graphics/pokenav/condition_search_tough.png Binary files differnew file mode 100644 index 000000000..85c0d107c --- /dev/null +++ b/graphics/pokenav/condition_search_tough.png diff --git a/graphics/pokenav/condition_view.png b/graphics/pokenav/condition_view.png Binary files differnew file mode 100644 index 000000000..d41c5794b --- /dev/null +++ b/graphics/pokenav/condition_view.png diff --git a/graphics/pokenav/mainmenu.png b/graphics/pokenav/mainmenu.png Binary files differnew file mode 100644 index 000000000..7908457cd --- /dev/null +++ b/graphics/pokenav/mainmenu.png diff --git a/graphics/pokenav/map_header.png b/graphics/pokenav/map_header.png Binary files differnew file mode 100644 index 000000000..0b7d73130 --- /dev/null +++ b/graphics/pokenav/map_header.png diff --git a/graphics/pokenav/map_menu.pal b/graphics/pokenav/map_menu.pal new file mode 100644 index 000000000..67111078c --- /dev/null +++ b/graphics/pokenav/map_menu.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 98 0 +255 255 255 +246 197 49 +255 238 98 +189 148 0 +197 197 205 +238 238 230 +246 148 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +148 148 148 diff --git a/graphics/pokenav/map_misc2.png b/graphics/pokenav/map_misc2.png Binary files differnew file mode 100644 index 000000000..1118afaf8 --- /dev/null +++ b/graphics/pokenav/map_misc2.png diff --git a/graphics/pokenav/map_squares.png b/graphics/pokenav/map_squares.png Binary files differindex 3ebceed2a..fb73235ff 100755..100644 --- a/graphics/pokenav/map_squares.png +++ b/graphics/pokenav/map_squares.png diff --git a/graphics/pokenav/menu_condition.png b/graphics/pokenav/menu_condition.png Binary files differnew file mode 100644 index 000000000..e4d8f064f --- /dev/null +++ b/graphics/pokenav/menu_condition.png diff --git a/graphics/pokenav/menu_eyes.png b/graphics/pokenav/menu_eyes.png Binary files differnew file mode 100644 index 000000000..bbc0869c1 --- /dev/null +++ b/graphics/pokenav/menu_eyes.png diff --git a/graphics/pokenav/menu_hoennmap.png b/graphics/pokenav/menu_hoennmap.png Binary files differnew file mode 100644 index 000000000..06f7f5e7f --- /dev/null +++ b/graphics/pokenav/menu_hoennmap.png diff --git a/graphics/pokenav/menu_off.png b/graphics/pokenav/menu_off.png Binary files differnew file mode 100644 index 000000000..8a753d0f1 --- /dev/null +++ b/graphics/pokenav/menu_off.png diff --git a/graphics/pokenav/menu_ribbons.png b/graphics/pokenav/menu_ribbons.png Binary files differnew file mode 100644 index 000000000..5426e24bb --- /dev/null +++ b/graphics/pokenav/menu_ribbons.png diff --git a/graphics/pokenav/contest_pokeball.png b/graphics/pokenav/pokeball.png Binary files differindex 9eb7d9165..9eb7d9165 100755..100644 --- a/graphics/pokenav/contest_pokeball.png +++ b/graphics/pokenav/pokeball.png diff --git a/graphics/pokenav/pokenav1.pal b/graphics/pokenav/pokenav1.pal new file mode 100644 index 000000000..bdcd626cf --- /dev/null +++ b/graphics/pokenav/pokenav1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 74 +255 255 255 +230 148 0 +246 197 49 +255 238 98 +32 197 106 +74 139 57 +106 82 222 +82 57 156 +255 65 32 +180 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/pokenav2.pal b/graphics/pokenav/pokenav2.pal new file mode 100644 index 000000000..31491563b --- /dev/null +++ b/graphics/pokenav/pokenav2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +82 82 74 +123 123 131 +156 156 156 +205 205 197 +255 255 255 +32 197 106 +74 139 57 +106 82 222 +82 57 156 +246 106 106 +205 74 65 +230 148 0 +246 197 49 +255 238 98 +0 0 0 diff --git a/graphics/pokenav/pokenav3.pal b/graphics/pokenav/pokenav3.pal new file mode 100644 index 000000000..ee6ab364c --- /dev/null +++ b/graphics/pokenav/pokenav3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 255 255 +255 255 255 +123 123 131 +205 205 197 +156 156 156 +82 82 74 +148 255 98 +32 197 106 +74 139 57 +172 172 172 +255 172 164 +246 106 106 +205 74 65 +197 180 255 +106 82 222 +82 57 156 diff --git a/graphics/pokenav/ribbon_pokeview.png b/graphics/pokenav/ribbon_pokeview.png Binary files differnew file mode 100644 index 000000000..28e85a1a6 --- /dev/null +++ b/graphics/pokenav/ribbon_pokeview.png diff --git a/graphics/pokenav/ribbon_view.pal.bin b/graphics/pokenav/ribbon_view.pal.bin Binary files differnew file mode 100644 index 000000000..bd41bf59c --- /dev/null +++ b/graphics/pokenav/ribbon_view.pal.bin diff --git a/graphics/pokenav/ribbon_view.pal.bin.bak b/graphics/pokenav/ribbon_view.pal.bin.bak Binary files differnew file mode 100644 index 000000000..387706554 --- /dev/null +++ b/graphics/pokenav/ribbon_view.pal.bin.bak diff --git a/graphics/pokenav/ribbon_view.png b/graphics/pokenav/ribbon_view.png Binary files differnew file mode 100644 index 000000000..267a6add6 --- /dev/null +++ b/graphics/pokenav/ribbon_view.png diff --git a/graphics/pokenav/ribbons.png b/graphics/pokenav/ribbons.png Binary files differnew file mode 100644 index 000000000..75ec59d25 --- /dev/null +++ b/graphics/pokenav/ribbons.png diff --git a/graphics/pokenav/contest_sparkle.pal b/graphics/pokenav/sparkle.pal index 114155fe4..114155fe4 100755..100644 --- a/graphics/pokenav/contest_sparkle.pal +++ b/graphics/pokenav/sparkle.pal diff --git a/graphics/pokenav/contest_sparkle.png b/graphics/pokenav/sparkle.png Binary files differindex 5949b376e..5949b376e 100755..100644 --- a/graphics/pokenav/contest_sparkle.png +++ b/graphics/pokenav/sparkle.png diff --git a/graphics/pokenav/trainereyes.png b/graphics/pokenav/trainereyes.png Binary files differnew file mode 100644 index 000000000..250b4c27e --- /dev/null +++ b/graphics/pokenav/trainereyes.png diff --git a/graphics/slot_machine/reel_time_lights.png b/graphics/slot_machine/reel_time_lights.png Binary files differnew file mode 100644 index 000000000..8295aeca2 --- /dev/null +++ b/graphics/slot_machine/reel_time_lights.png diff --git a/graphics/slot_machine/reel_time_window_map.bin b/graphics/slot_machine/reel_time_window_map.bin new file mode 100644 index 000000000..3aa89e7b4 --- /dev/null +++ b/graphics/slot_machine/reel_time_window_map.bin @@ -0,0 +1 @@ +0000000000000000000400000000000000000004000000000000000000040000000000000000000400000000000000000004000000000000000000040000000000000000000400000000000000000004000000000000000000040000000000000000000400000000000000000004
\ No newline at end of file diff --git a/graphics/slot_machine/slots.png b/graphics/slot_machine/slots.png Binary files differnew file mode 100644 index 000000000..291f467c3 --- /dev/null +++ b/graphics/slot_machine/slots.png diff --git a/graphics/summary_screen/buttons.png b/graphics/summary_screen/buttons.png Binary files differnew file mode 100644 index 000000000..694f132bd --- /dev/null +++ b/graphics/summary_screen/buttons.png diff --git a/graphics/summary_screen/mon_markings.pal b/graphics/summary_screen/mon_markings.pal new file mode 100644 index 000000000..08124207d --- /dev/null +++ b/graphics/summary_screen/mon_markings.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +164 148 222 +172 156 238 +255 255 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/summary_screen/text.png b/graphics/summary_screen/text.png Binary files differnew file mode 100644 index 000000000..cd6b1e391 --- /dev/null +++ b/graphics/summary_screen/text.png diff --git a/graphics/text_window/1.pal b/graphics/text_window/1.pal new file mode 100644 index 000000000..08c365c84 --- /dev/null +++ b/graphics/text_window/1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 98 +41 49 49 +74 74 106 +115 106 131 +98 98 148 +115 115 172 +139 139 205 +172 189 172 +222 213 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +74 65 82 diff --git a/graphics/text_window/1.png b/graphics/text_window/1.png Binary files differnew file mode 100644 index 000000000..5d8020eff --- /dev/null +++ b/graphics/text_window/1.png diff --git a/graphics/text_window/10.pal b/graphics/text_window/10.pal new file mode 100644 index 000000000..7ba0c53b6 --- /dev/null +++ b/graphics/text_window/10.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +255 180 131 +255 49 0 +255 131 82 +205 115 0 +164 123 49 +131 98 24 +172 139 65 +255 164 8 +189 180 123 +222 213 156 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/10.png b/graphics/text_window/10.png Binary files differnew file mode 100644 index 000000000..4295c681c --- /dev/null +++ b/graphics/text_window/10.png diff --git a/graphics/text_window/11.pal b/graphics/text_window/11.pal new file mode 100644 index 000000000..449263e0f --- /dev/null +++ b/graphics/text_window/11.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +106 115 115 +32 57 205 +82 131 230 +131 156 222 +164 180 230 +189 205 238 +222 230 246 +0 0 0 +180 106 189 +213 148 238 +222 180 238 +238 213 246 +255 255 255 +74 65 82 diff --git a/graphics/text_window/11.png b/graphics/text_window/11.png Binary files differnew file mode 100644 index 000000000..a0e576fce --- /dev/null +++ b/graphics/text_window/11.png diff --git a/graphics/text_window/12.pal b/graphics/text_window/12.pal new file mode 100644 index 000000000..efb2c1ec3 --- /dev/null +++ b/graphics/text_window/12.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +74 74 106 +148 90 164 +115 131 65 +156 189 32 +205 246 0 +238 213 74 +255 230 148 +255 148 57 +98 115 123 +123 156 139 +156 205 156 +205 49 57 +255 255 255 +74 65 82 diff --git a/graphics/text_window/12.png b/graphics/text_window/12.png Binary files differnew file mode 100644 index 000000000..c41f18a6d --- /dev/null +++ b/graphics/text_window/12.png diff --git a/graphics/text_window/13.pal b/graphics/text_window/13.pal new file mode 100644 index 000000000..59540758f --- /dev/null +++ b/graphics/text_window/13.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +180 189 180 +222 213 222 +255 0 255 +255 0 255 +123 115 90 +205 172 115 +238 205 139 +32 74 172 +90 205 213 +74 115 197 +255 0 255 +255 0 255 +255 255 255 +74 65 82 diff --git a/graphics/text_window/13.png b/graphics/text_window/13.png Binary files differnew file mode 100644 index 000000000..d401f030d --- /dev/null +++ b/graphics/text_window/13.png diff --git a/graphics/text_window/14.pal b/graphics/text_window/14.pal new file mode 100644 index 000000000..492f7de72 --- /dev/null +++ b/graphics/text_window/14.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +106 74 16 +180 189 180 +222 213 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +156 123 57 +205 172 106 +230 180 115 +230 189 115 +238 205 131 +255 230 164 +255 255 255 +74 65 82 diff --git a/graphics/text_window/14.png b/graphics/text_window/14.png Binary files differnew file mode 100644 index 000000000..8a03bcbf4 --- /dev/null +++ b/graphics/text_window/14.png diff --git a/graphics/text_window/15.pal b/graphics/text_window/15.pal new file mode 100644 index 000000000..8c1141e05 --- /dev/null +++ b/graphics/text_window/15.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +172 123 156 +106 90 115 +82 98 156 +189 156 213 +205 180 222 +222 205 230 +238 230 238 +197 197 197 +197 197 197 +197 197 197 +197 197 197 +197 197 197 +255 255 255 +74 65 82 diff --git a/graphics/text_window/15.png b/graphics/text_window/15.png Binary files differnew file mode 100644 index 000000000..919dcf9da --- /dev/null +++ b/graphics/text_window/15.png diff --git a/graphics/text_window/16.pal b/graphics/text_window/16.pal new file mode 100644 index 000000000..8b827a70f --- /dev/null +++ b/graphics/text_window/16.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +49 57 197 +32 41 115 +246 246 49 +123 123 49 +255 74 65 +156 41 32 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/16.png b/graphics/text_window/16.png Binary files differnew file mode 100644 index 000000000..e2f98ae84 --- /dev/null +++ b/graphics/text_window/16.png diff --git a/graphics/text_window/17.pal b/graphics/text_window/17.pal new file mode 100644 index 000000000..627af66d5 --- /dev/null +++ b/graphics/text_window/17.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +106 115 115 +180 180 180 +82 98 156 +197 180 172 +205 197 189 +222 213 213 +238 230 230 +197 197 197 +197 197 197 +197 197 197 +197 197 197 +197 197 197 +255 255 246 +74 65 82 diff --git a/graphics/text_window/17.png b/graphics/text_window/17.png Binary files differnew file mode 100644 index 000000000..382fa11d9 --- /dev/null +++ b/graphics/text_window/17.png diff --git a/graphics/text_window/18.pal b/graphics/text_window/18.pal new file mode 100644 index 000000000..e523123c7 --- /dev/null +++ b/graphics/text_window/18.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 164 +189 148 8 +255 189 0 +255 230 0 +255 255 148 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/18.png b/graphics/text_window/18.png Binary files differnew file mode 100644 index 000000000..cd065e426 --- /dev/null +++ b/graphics/text_window/18.png diff --git a/graphics/text_window/19.pal b/graphics/text_window/19.pal new file mode 100644 index 000000000..4615c7881 --- /dev/null +++ b/graphics/text_window/19.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +180 189 180 +222 213 222 +98 131 57 +255 123 82 +222 98 49 +164 49 16 +238 255 164 +238 213 131 +255 0 255 +197 255 123 +164 213 82 +131 189 65 +255 255 255 +74 65 82 diff --git a/graphics/text_window/19.png b/graphics/text_window/19.png Binary files differnew file mode 100644 index 000000000..d33a1b613 --- /dev/null +++ b/graphics/text_window/19.png diff --git a/graphics/text_window/2.pal b/graphics/text_window/2.pal new file mode 100644 index 000000000..ac32c4606 --- /dev/null +++ b/graphics/text_window/2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +74 65 82 diff --git a/graphics/text_window/2.png b/graphics/text_window/2.png Binary files differnew file mode 100644 index 000000000..5e89b4116 --- /dev/null +++ b/graphics/text_window/2.png diff --git a/graphics/text_window/20.pal b/graphics/text_window/20.pal new file mode 100644 index 000000000..a7f9e1fbd --- /dev/null +++ b/graphics/text_window/20.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +0 0 0 +0 0 0 +0 0 0 +255 213 255 +255 180 222 +131 82 24 +255 131 131 +238 65 65 +156 213 156 +106 164 106 +49 106 49 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/20.png b/graphics/text_window/20.png Binary files differnew file mode 100644 index 000000000..662ae45e3 --- /dev/null +++ b/graphics/text_window/20.png diff --git a/graphics/text_window/3.pal b/graphics/text_window/3.pal new file mode 100644 index 000000000..3c5120d11 --- /dev/null +++ b/graphics/text_window/3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 156 246 +255 123 115 +222 74 65 +106 49 41 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/3.png b/graphics/text_window/3.png Binary files differnew file mode 100644 index 000000000..b7af18de7 --- /dev/null +++ b/graphics/text_window/3.png diff --git a/graphics/text_window/4.pal b/graphics/text_window/4.pal new file mode 100644 index 000000000..c8e024332 --- /dev/null +++ b/graphics/text_window/4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +57 74 74 +106 123 123 +156 172 172 +205 222 222 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/4.png b/graphics/text_window/4.png Binary files differnew file mode 100644 index 000000000..c33ed48af --- /dev/null +++ b/graphics/text_window/4.png diff --git a/graphics/text_window/5.pal b/graphics/text_window/5.pal new file mode 100644 index 000000000..5d81802e2 --- /dev/null +++ b/graphics/text_window/5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +222 213 222 +0 222 255 +123 57 0 +230 123 0 +255 255 41 +0 106 0 +0 172 0 +115 255 41 +139 0 0 +205 49 0 +255 189 0 +0 0 180 +0 106 213 +255 255 255 +74 65 82 diff --git a/graphics/text_window/5.png b/graphics/text_window/5.png Binary files differnew file mode 100644 index 000000000..515bb02e2 --- /dev/null +++ b/graphics/text_window/5.png diff --git a/graphics/text_window/6.pal b/graphics/text_window/6.pal new file mode 100644 index 000000000..3bb5b2006 --- /dev/null +++ b/graphics/text_window/6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 180 238 +82 115 115 +148 189 156 +0 41 0 +90 115 106 +115 148 131 +98 74 41 +189 205 197 +115 90 57 +65 74 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +74 65 82 diff --git a/graphics/text_window/6.png b/graphics/text_window/6.png Binary files differnew file mode 100644 index 000000000..a0be4e49d --- /dev/null +++ b/graphics/text_window/6.png diff --git a/graphics/text_window/7.pal b/graphics/text_window/7.pal new file mode 100644 index 000000000..142d57bc8 --- /dev/null +++ b/graphics/text_window/7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +139 49 49 +172 57 57 +205 65 65 +230 74 74 +255 82 82 +189 106 106 +255 131 131 +164 156 156 +213 197 197 +238 230 230 +222 213 213 +0 0 0 +0 0 0 +255 255 255 +74 65 82 diff --git a/graphics/text_window/7.png b/graphics/text_window/7.png Binary files differnew file mode 100644 index 000000000..fd8df61c1 --- /dev/null +++ b/graphics/text_window/7.png diff --git a/graphics/text_window/8.pal b/graphics/text_window/8.pal new file mode 100644 index 000000000..4d80d0f89 --- /dev/null +++ b/graphics/text_window/8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +0 0 0 +0 0 0 +82 189 0 +139 246 41 +156 115 41 +131 98 24 +172 139 65 +246 98 131 +255 156 180 +255 246 0 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/8.png b/graphics/text_window/8.png Binary files differnew file mode 100644 index 000000000..480751a02 --- /dev/null +++ b/graphics/text_window/8.png diff --git a/graphics/text_window/9.pal b/graphics/text_window/9.pal new file mode 100644 index 000000000..b0e3b49e6 --- /dev/null +++ b/graphics/text_window/9.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 148 98 +41 49 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 246 255 +90 131 189 +115 156 213 +156 197 255 +197 238 255 +180 189 180 +222 213 222 +255 255 255 +74 65 82 diff --git a/graphics/text_window/9.png b/graphics/text_window/9.png Binary files differnew file mode 100644 index 000000000..2b8b5bd54 --- /dev/null +++ b/graphics/text_window/9.png diff --git a/graphics/text_window/message_box.png b/graphics/text_window/message_box.png Binary files differnew file mode 100644 index 000000000..b41a0f799 --- /dev/null +++ b/graphics/text_window/message_box.png diff --git a/graphics/text_window/message_box_map.bin b/graphics/text_window/message_box_map.bin Binary files differnew file mode 100644 index 000000000..d6146a33f --- /dev/null +++ b/graphics/text_window/message_box_map.bin diff --git a/graphics/title_screen/press_start.png b/graphics/title_screen/press_start.png Binary files differnew file mode 100644 index 000000000..b38a4b58d --- /dev/null +++ b/graphics/title_screen/press_start.png diff --git a/graphics/trade/mon_box_map.bin b/graphics/trade/mon_box_map.bin Binary files differnew file mode 100644 index 000000000..354866137 --- /dev/null +++ b/graphics/trade/mon_box_map.bin diff --git a/graphics/types/bug.png b/graphics/types/bug.png Binary files differnew file mode 100755 index 000000000..c11629b21 --- /dev/null +++ b/graphics/types/bug.png diff --git a/graphics/types/contest_beauty.png b/graphics/types/contest_beauty.png Binary files differnew file mode 100755 index 000000000..b52fe3ca4 --- /dev/null +++ b/graphics/types/contest_beauty.png diff --git a/graphics/types/contest_cool.png b/graphics/types/contest_cool.png Binary files differnew file mode 100755 index 000000000..813e91f80 --- /dev/null +++ b/graphics/types/contest_cool.png diff --git a/graphics/types/contest_cute.png b/graphics/types/contest_cute.png Binary files differnew file mode 100755 index 000000000..ece852a9d --- /dev/null +++ b/graphics/types/contest_cute.png diff --git a/graphics/types/contest_smart.png b/graphics/types/contest_smart.png Binary files differnew file mode 100755 index 000000000..8e0d903f1 --- /dev/null +++ b/graphics/types/contest_smart.png diff --git a/graphics/types/contest_tough.png b/graphics/types/contest_tough.png Binary files differnew file mode 100755 index 000000000..a76e9cba4 --- /dev/null +++ b/graphics/types/contest_tough.png diff --git a/graphics/types/dark.png b/graphics/types/dark.png Binary files differnew file mode 100755 index 000000000..3380297da --- /dev/null +++ b/graphics/types/dark.png diff --git a/graphics/types/dragon.png b/graphics/types/dragon.png Binary files differnew file mode 100755 index 000000000..908073260 --- /dev/null +++ b/graphics/types/dragon.png diff --git a/graphics/types/electric.png b/graphics/types/electric.png Binary files differnew file mode 100755 index 000000000..84db710b6 --- /dev/null +++ b/graphics/types/electric.png diff --git a/graphics/types/fight.png b/graphics/types/fight.png Binary files differnew file mode 100755 index 000000000..6431c9bba --- /dev/null +++ b/graphics/types/fight.png diff --git a/graphics/types/fire.png b/graphics/types/fire.png Binary files differnew file mode 100755 index 000000000..f6db950c8 --- /dev/null +++ b/graphics/types/fire.png diff --git a/graphics/types/flying.png b/graphics/types/flying.png Binary files differnew file mode 100755 index 000000000..144d0010b --- /dev/null +++ b/graphics/types/flying.png diff --git a/graphics/types/ghost.png b/graphics/types/ghost.png Binary files differnew file mode 100755 index 000000000..5820fe93a --- /dev/null +++ b/graphics/types/ghost.png diff --git a/graphics/types/grass.png b/graphics/types/grass.png Binary files differnew file mode 100755 index 000000000..6d3e870ca --- /dev/null +++ b/graphics/types/grass.png diff --git a/graphics/types/ground.png b/graphics/types/ground.png Binary files differnew file mode 100755 index 000000000..2872b1367 --- /dev/null +++ b/graphics/types/ground.png diff --git a/graphics/types/ice.png b/graphics/types/ice.png Binary files differnew file mode 100755 index 000000000..a611d1f4a --- /dev/null +++ b/graphics/types/ice.png diff --git a/graphics/types/move_types_1.pal b/graphics/types/move_types_1.pal new file mode 100755 index 000000000..951aa69cb --- /dev/null +++ b/graphics/types/move_types_1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 213 49 +246 131 49 +197 49 41 +230 197 106 +189 164 57 +139 106 49 +255 255 123 +172 172 123 +222 222 197 +115 90 74 +74 65 57 +189 189 213 +0 0 0 +131 123 115 +255 255 255 diff --git a/graphics/types/move_types_2.pal b/graphics/types/move_types_2.pal new file mode 100755 index 000000000..08dcea47c --- /dev/null +++ b/graphics/types/move_types_2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +205 197 255 +172 148 246 +115 90 156 +106 148 246 +156 222 222 +213 255 238 +74 57 82 +255 90 139 +255 197 180 +148 98 98 +164 65 164 +222 131 189 +148 148 164 +131 123 115 +255 255 255 diff --git a/graphics/types/move_types_3.pal b/graphics/types/move_types_3.pal new file mode 100755 index 000000000..4db37235b --- /dev/null +++ b/graphics/types/move_types_3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +197 255 98 +123 205 82 +90 131 65 +115 57 255 +74 57 148 +189 164 255 +172 189 32 +222 230 49 +123 148 16 +106 164 148 +115 205 180 +32 106 98 +0 0 0 +131 123 115 +255 255 255 diff --git a/graphics/types/mystery.png b/graphics/types/mystery.png Binary files differnew file mode 100755 index 000000000..a2ea01d55 --- /dev/null +++ b/graphics/types/mystery.png diff --git a/graphics/types/normal.png b/graphics/types/normal.png Binary files differnew file mode 100755 index 000000000..608a1f9c9 --- /dev/null +++ b/graphics/types/normal.png diff --git a/graphics/types/poison.png b/graphics/types/poison.png Binary files differnew file mode 100755 index 000000000..2fab1ad53 --- /dev/null +++ b/graphics/types/poison.png diff --git a/graphics/types/psychic.png b/graphics/types/psychic.png Binary files differnew file mode 100755 index 000000000..98f70406e --- /dev/null +++ b/graphics/types/psychic.png diff --git a/graphics/types/rock.png b/graphics/types/rock.png Binary files differnew file mode 100755 index 000000000..e95b2a8ef --- /dev/null +++ b/graphics/types/rock.png diff --git a/graphics/types/steel.png b/graphics/types/steel.png Binary files differnew file mode 100755 index 000000000..b952031fd --- /dev/null +++ b/graphics/types/steel.png diff --git a/graphics/types/water.png b/graphics/types/water.png Binary files differnew file mode 100755 index 000000000..19ae3ebe3 --- /dev/null +++ b/graphics/types/water.png diff --git a/graphics/unused/unknown_3D7D8C.png b/graphics/unknown/unknown_3D7D8C.png Binary files differindex c4a27b929..c4a27b929 100644 --- a/graphics/unused/unknown_3D7D8C.png +++ b/graphics/unknown/unknown_3D7D8C.png diff --git a/graphics/unused/unknown_3D810C.bin b/graphics/unknown/unknown_3D810C.bin Binary files differindex dc2990b0a..dc2990b0a 100644 --- a/graphics/unused/unknown_3D810C.bin +++ b/graphics/unknown/unknown_3D810C.bin diff --git a/graphics/unknown/unknown_D04388.png b/graphics/unknown/unknown_D04388.png Binary files differnew file mode 100755 index 000000000..0b2ae80f9 --- /dev/null +++ b/graphics/unknown/unknown_D04388.png diff --git a/graphics/unknown/unknown_D07B68.pal b/graphics/unknown/unknown_D07B68.pal new file mode 100755 index 000000000..ca77648e6 --- /dev/null +++ b/graphics/unknown/unknown_D07B68.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 0 0 +255 255 255 +255 255 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_D07B68.png b/graphics/unknown/unknown_D07B68.png Binary files differnew file mode 100755 index 000000000..d36afa64d --- /dev/null +++ b/graphics/unknown/unknown_D07B68.png diff --git a/graphics/unknown/unknown_D07B68_2.pal b/graphics/unknown/unknown_D07B68_2.pal new file mode 100755 index 000000000..44f4b55d6 --- /dev/null +++ b/graphics/unknown/unknown_D07B68_2.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +98 156 131 +57 57 57 +156 156 156 +255 255 255 +255 205 0 +255 255 98 +213 98 24 +255 123 32 +106 65 172 +65 24 172 +255 205 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 156 131 +57 57 57 +156 156 156 +255 255 255 +57 123 0 +90 189 0 +123 255 8 +230 106 148 +255 139 255 +255 205 0 +255 255 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_D0CFAC.bin b/graphics/unknown/unknown_D0CFAC.bin Binary files differnew file mode 100755 index 000000000..4b6b2b106 --- /dev/null +++ b/graphics/unknown/unknown_D0CFAC.bin diff --git a/graphics/unknown/unknown_D0CFD0.bin b/graphics/unknown/unknown_D0CFD0.bin Binary files differnew file mode 100755 index 000000000..25fc33a73 --- /dev/null +++ b/graphics/unknown/unknown_D0CFD0.bin diff --git a/graphics/unknown/unknown_D0CFF4.bin b/graphics/unknown/unknown_D0CFF4.bin Binary files differnew file mode 100755 index 000000000..5b81e0216 --- /dev/null +++ b/graphics/unknown/unknown_D0CFF4.bin diff --git a/graphics/unknown/unknown_D0D070.bin b/graphics/unknown/unknown_D0D070.bin Binary files differnew file mode 100755 index 000000000..15379a9ce --- /dev/null +++ b/graphics/unknown/unknown_D0D070.bin diff --git a/graphics/unknown/unknown_D0D2B4.bin b/graphics/unknown/unknown_D0D2B4.bin Binary files differnew file mode 100755 index 000000000..d42729b58 --- /dev/null +++ b/graphics/unknown/unknown_D0D2B4.bin diff --git a/graphics/unknown/unknown_D12FEC.png b/graphics/unknown/unknown_D12FEC.png Binary files differnew file mode 100755 index 000000000..96c49a992 --- /dev/null +++ b/graphics/unknown/unknown_D12FEC.png diff --git a/graphics/unknown/unknown_D1300C.png b/graphics/unknown/unknown_D1300C.png Binary files differnew file mode 100755 index 000000000..0c077dd0b --- /dev/null +++ b/graphics/unknown/unknown_D1300C.png diff --git a/graphics/unknown/unknown_D1C060.bin b/graphics/unknown/unknown_D1C060.bin Binary files differnew file mode 100755 index 000000000..e4776cba4 --- /dev/null +++ b/graphics/unknown/unknown_D1C060.bin diff --git a/graphics/unknown/unknown_D1C060.pal b/graphics/unknown/unknown_D1C060.pal new file mode 100755 index 000000000..0b2590f44 --- /dev/null +++ b/graphics/unknown/unknown_D1C060.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 255 255 +0 65 148 +148 65 148 +255 255 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_D1C060.png b/graphics/unknown/unknown_D1C060.png Binary files differnew file mode 100755 index 000000000..2371241d7 --- /dev/null +++ b/graphics/unknown/unknown_D1C060.png diff --git a/graphics/unknown/unknown_E91418.bin b/graphics/unknown/unknown_E91418.bin Binary files differnew file mode 100644 index 000000000..21a2f1dd0 --- /dev/null +++ b/graphics/unknown/unknown_E91418.bin diff --git a/graphics/unknown/unknown_EA25EC.bin b/graphics/unknown/unknown_EA25EC.bin Binary files differnew file mode 100644 index 000000000..481183cbd --- /dev/null +++ b/graphics/unknown/unknown_EA25EC.bin diff --git a/graphics/unused/.gitignore b/graphics/unused/.gitignore new file mode 100644 index 000000000..7138daa26 --- /dev/null +++ b/graphics/unused/.gitignore @@ -0,0 +1 @@ +redyellowgreen_frame.bin diff --git a/graphics/unused/arrow.png b/graphics/unused/arrow.png Binary files differnew file mode 100644 index 000000000..98cf5b731 --- /dev/null +++ b/graphics/unused/arrow.png diff --git a/graphics/unused/basic_frame.bin b/graphics/unused/basic_frame.bin Binary files differnew file mode 100755 index 000000000..8e83eb9f5 --- /dev/null +++ b/graphics/unused/basic_frame.bin diff --git a/graphics/unused/basic_frame.pal b/graphics/unused/basic_frame.pal new file mode 100755 index 000000000..70ff9b632 --- /dev/null +++ b/graphics/unused/basic_frame.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 123 164 +205 205 205 +255 255 255 +164 164 164 +0 0 0 +172 0 0 +222 0 0 +197 74 0 +255 24 0 +205 164 106 +255 222 164 +255 131 0 +255 255 255 +123 238 90 +131 172 246 diff --git a/graphics/unused/basic_frame.png b/graphics/unused/basic_frame.png Binary files differnew file mode 100755 index 000000000..132671581 --- /dev/null +++ b/graphics/unused/basic_frame.png diff --git a/graphics/unused/battle_anim_023.pal b/graphics/unused/battle_anim_023.pal new file mode 100755 index 000000000..8e6e6e902 --- /dev/null +++ b/graphics/unused/battle_anim_023.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 230 255 +115 230 255 +213 230 255 +0 0 0 +255 255 172 +255 255 115 +0 0 0 +98 139 98 +0 0 0 +0 0 0 +131 131 131 +164 164 164 +213 205 205 +255 255 255 diff --git a/graphics/unused/blank_frame.bin b/graphics/unused/blank_frame.bin Binary files differnew file mode 100755 index 000000000..e9784eb4c --- /dev/null +++ b/graphics/unused/blank_frame.bin diff --git a/graphics/unused/blue_frame.bin b/graphics/unused/blue_frame.bin Binary files differnew file mode 100755 index 000000000..d5c3b6600 --- /dev/null +++ b/graphics/unused/blue_frame.bin diff --git a/graphics/unused/color_frames.pal b/graphics/unused/color_frames.pal new file mode 100755 index 000000000..56bf2a29c --- /dev/null +++ b/graphics/unused/color_frames.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 255 255 +106 123 164 +205 205 205 +255 255 255 +164 164 164 +0 0 0 +172 0 0 +222 0 0 +197 74 0 +255 24 0 +205 164 106 +255 222 164 +255 131 0 +255 255 255 +123 238 90 +131 172 246 diff --git a/graphics/unused/color_frames.png b/graphics/unused/color_frames.png Binary files differnew file mode 100755 index 000000000..9270879eb --- /dev/null +++ b/graphics/unused/color_frames.png diff --git a/graphics/unused/goosuto.bin b/graphics/unused/goosuto.bin Binary files differnew file mode 100755 index 000000000..8e5329157 --- /dev/null +++ b/graphics/unused/goosuto.bin diff --git a/graphics/unused/goosuto.pal b/graphics/unused/goosuto.pal new file mode 100755 index 000000000..4315453b8 --- /dev/null +++ b/graphics/unused/goosuto.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 255 255 +0 65 148 +148 65 148 +255 255 0 +255 255 255 +255 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/goosuto.png b/graphics/unused/goosuto.png Binary files differnew file mode 100755 index 000000000..257a25c71 --- /dev/null +++ b/graphics/unused/goosuto.png diff --git a/graphics/unused/green_frame.bin b/graphics/unused/green_frame.bin Binary files differnew file mode 100755 index 000000000..b381235d9 --- /dev/null +++ b/graphics/unused/green_frame.bin diff --git a/graphics/unused/line_sketch.pal b/graphics/unused/line_sketch.pal new file mode 100755 index 000000000..dc1d51763 --- /dev/null +++ b/graphics/unused/line_sketch.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 255 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/line_sketch.png b/graphics/unused/line_sketch.png Binary files differnew file mode 100755 index 000000000..fdfc8d771 --- /dev/null +++ b/graphics/unused/line_sketch.png diff --git a/graphics/unused/line_sketch_2.bin b/graphics/unused/line_sketch_2.bin Binary files differnew file mode 100755 index 000000000..e68d116a3 --- /dev/null +++ b/graphics/unused/line_sketch_2.bin diff --git a/graphics/unused/line_sketch_2.png b/graphics/unused/line_sketch_2.png Binary files differnew file mode 100755 index 000000000..cb70b3d83 --- /dev/null +++ b/graphics/unused/line_sketch_2.png diff --git a/graphics/unused/metronome_hand_small.png b/graphics/unused/metronome_hand_small.png Binary files differnew file mode 100755 index 000000000..bd6cc8530 --- /dev/null +++ b/graphics/unused/metronome_hand_small.png diff --git a/graphics/unused/music_notes.png b/graphics/unused/music_notes.png Binary files differnew file mode 100755 index 000000000..af89e55a0 --- /dev/null +++ b/graphics/unused/music_notes.png diff --git a/graphics/unused/old.png b/graphics/unused/old.png Binary files differdeleted file mode 100755 index 523f8fa9f..000000000 --- a/graphics/unused/old.png +++ /dev/null diff --git a/graphics/unused/old_battle_interface_1.png b/graphics/unused/old_battle_interface_1.png Binary files differnew file mode 100755 index 000000000..0b2fe5eb7 --- /dev/null +++ b/graphics/unused/old_battle_interface_1.png diff --git a/graphics/unused/old_battle_interface_2.png b/graphics/unused/old_battle_interface_2.png Binary files differnew file mode 100755 index 000000000..04229ccda --- /dev/null +++ b/graphics/unused/old_battle_interface_2.png diff --git a/graphics/unused/old_battle_interface_3.png b/graphics/unused/old_battle_interface_3.png Binary files differnew file mode 100755 index 000000000..428c7765d --- /dev/null +++ b/graphics/unused/old_battle_interface_3.png diff --git a/graphics/unused/old_battle_interface_tilemap.bin b/graphics/unused/old_battle_interface_tilemap.bin Binary files differnew file mode 100755 index 000000000..aae3307e7 --- /dev/null +++ b/graphics/unused/old_battle_interface_tilemap.bin diff --git a/graphics/unused/old_beatup.pal b/graphics/unused/old_beatup.pal new file mode 100755 index 000000000..31c43515e --- /dev/null +++ b/graphics/unused/old_beatup.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 148 139 +0 0 0 +82 82 82 +164 164 164 +255 255 255 +213 213 164 +180 172 82 +148 131 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_beatup.png b/graphics/unused/old_beatup.png Binary files differnew file mode 100755 index 000000000..e2a0561e2 --- /dev/null +++ b/graphics/unused/old_beatup.png diff --git a/graphics/unused/old_bulbasaur.png b/graphics/unused/old_bulbasaur.png Binary files differnew file mode 100755 index 000000000..729ebe789 --- /dev/null +++ b/graphics/unused/old_bulbasaur.png diff --git a/graphics/unused/old_bulbasaur2.png b/graphics/unused/old_bulbasaur2.png Binary files differnew file mode 100755 index 000000000..f374e5a9f --- /dev/null +++ b/graphics/unused/old_bulbasaur2.png diff --git a/graphics/unused/old_charizard.png b/graphics/unused/old_charizard.png Binary files differnew file mode 100755 index 000000000..e1470aada --- /dev/null +++ b/graphics/unused/old_charizard.png diff --git a/graphics/unused/old_charmap.bin b/graphics/unused/old_charmap.bin Binary files differnew file mode 100755 index 000000000..aa15ea36e --- /dev/null +++ b/graphics/unused/old_charmap.bin diff --git a/graphics/unused/old_charmap.pal b/graphics/unused/old_charmap.pal new file mode 100755 index 000000000..cbcd5de4d --- /dev/null +++ b/graphics/unused/old_charmap.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +24 0 0 +41 0 0 +255 255 255 +0 0 0 +255 255 255 +255 65 0 +0 0 0 +255 0 0 +255 24 0 +255 65 0 +255 98 0 +255 131 0 +255 180 0 +255 222 0 +255 255 255 diff --git a/graphics/unused/old_charmap.png b/graphics/unused/old_charmap.png Binary files differnew file mode 100755 index 000000000..b5ea6e803 --- /dev/null +++ b/graphics/unused/old_charmap.png diff --git a/graphics/unused/old_contest.bin b/graphics/unused/old_contest.bin Binary files differnew file mode 100755 index 000000000..da6f4652e --- /dev/null +++ b/graphics/unused/old_contest.bin diff --git a/graphics/unused/old_contest.pal b/graphics/unused/old_contest.pal new file mode 100755 index 000000000..69fde2000 --- /dev/null +++ b/graphics/unused/old_contest.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +230 230 230 +197 197 197 +148 148 148 +74 65 82 +0 255 0 +0 255 0 +65 74 123 +139 123 131 +82 82 197 +189 82 74 +131 74 98 +74 74 131 +131 139 222 +106 164 164 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +172 172 148 +213 213 189 +230 230 213 +189 189 172 +238 238 222 +197 197 180 +0 0 0 +156 156 131 +197 197 189 +139 139 131 +98 98 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 106 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 156 +131 139 156 +123 131 156 +131 123 164 +123 115 164 +0 0 0 +115 106 156 +255 255 255 +205 156 255 +172 148 197 +230 222 246 +139 131 172 +213 189 238 +0 0 0 +238 238 230 +189 172 197 +222 213 213 +189 172 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 164 131 +213 131 90 +255 189 172 +197 98 74 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +164 238 98 +131 205 90 +213 255 148 +98 197 49 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +115 205 255 +115 180 205 +156 238 255 +49 98 148 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 65 82 +255 255 255 +222 222 222 +172 172 197 +255 0 0 +0 0 255 +255 255 0 +0 197 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 164 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_contest_2.bin b/graphics/unused/old_contest_2.bin Binary files differnew file mode 100755 index 000000000..06836cc19 --- /dev/null +++ b/graphics/unused/old_contest_2.bin diff --git a/graphics/unused/old_contest_2.pal b/graphics/unused/old_contest_2.pal new file mode 100755 index 000000000..3fb174790 --- /dev/null +++ b/graphics/unused/old_contest_2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +230 230 230 +197 197 197 +148 148 148 +74 65 82 +0 255 0 +0 255 0 +65 74 123 +139 123 131 +82 82 197 +189 82 74 +131 74 98 +74 74 131 +131 139 222 +106 164 164 +0 0 0 +115 123 156 +90 65 57 +148 197 106 +123 98 65 +131 123 49 +222 189 148 +164 131 106 +115 164 82 +164 148 57 +90 106 139 +180 172 82 +82 139 49 +255 230 189 +222 131 41 +246 246 222 +205 148 115 +255 106 115 +255 57 57 +156 0 0 +164 222 255 +106 148 255 +49 82 255 +255 255 115 +246 222 65 +230 106 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +0 0 0 +255 255 115 +246 222 90 +238 189 65 +238 164 41 +230 131 16 +230 106 0 +255 41 0 +255 148 82 +255 255 164 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +0 0 0 +255 131 106 +197 24 16 +164 222 255 +106 148 255 +49 82 255 +255 197 255 +255 139 255 +213 0 139 +148 255 164 +65 205 57 +246 222 65 +230 106 0 +255 255 255 +65 74 106 +65 74 106 +197 255 255 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +197 255 255 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +197 255 255 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +197 255 255 +213 255 213 +156 222 148 +222 255 230 +123 189 115 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +0 172 255 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 255 255 +0 0 0 +0 0 0 +0 0 0 +65 0 0 +123 0 0 +189 0 0 +255 8 0 +255 65 0 +255 123 0 +255 189 0 +255 255 0 +255 255 123 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_contest_2_1.png b/graphics/unused/old_contest_2_1.png Binary files differnew file mode 100755 index 000000000..67b81de2d --- /dev/null +++ b/graphics/unused/old_contest_2_1.png diff --git a/graphics/unused/old_contest_2_2.png b/graphics/unused/old_contest_2_2.png Binary files differnew file mode 100755 index 000000000..a33a8c324 --- /dev/null +++ b/graphics/unused/old_contest_2_2.png diff --git a/graphics/unused/old_contest_classes.png b/graphics/unused/old_contest_classes.png Binary files differnew file mode 100755 index 000000000..c2e7b5e29 --- /dev/null +++ b/graphics/unused/old_contest_classes.png diff --git a/graphics/unused/old_contest_floor.png b/graphics/unused/old_contest_floor.png Binary files differnew file mode 100755 index 000000000..94877b921 --- /dev/null +++ b/graphics/unused/old_contest_floor.png diff --git a/graphics/unused/old_contest_frame_1.png b/graphics/unused/old_contest_frame_1.png Binary files differnew file mode 100755 index 000000000..28eaae905 --- /dev/null +++ b/graphics/unused/old_contest_frame_1.png diff --git a/graphics/unused/old_contest_frame_2.png b/graphics/unused/old_contest_frame_2.png Binary files differnew file mode 100755 index 000000000..c8b20408c --- /dev/null +++ b/graphics/unused/old_contest_frame_2.png diff --git a/graphics/unused/old_contest_meter.png b/graphics/unused/old_contest_meter.png Binary files differnew file mode 100755 index 000000000..606208b1f --- /dev/null +++ b/graphics/unused/old_contest_meter.png diff --git a/graphics/unused/old_contest_numbers.png b/graphics/unused/old_contest_numbers.png Binary files differnew file mode 100755 index 000000000..98c145976 --- /dev/null +++ b/graphics/unused/old_contest_numbers.png diff --git a/graphics/unused/old_contest_symbols.png b/graphics/unused/old_contest_symbols.png Binary files differnew file mode 100755 index 000000000..87cac733e --- /dev/null +++ b/graphics/unused/old_contest_symbols.png diff --git a/graphics/unused/old_pal1.pal b/graphics/unused/old_pal1.pal new file mode 100755 index 000000000..1e2ef9083 --- /dev/null +++ b/graphics/unused/old_pal1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 139 0 +0 0 0 +148 65 65 +0 0 0 +148 65 32 +16 0 0 +148 65 32 +8 8 0 +148 65 32 +148 8 8 +148 65 65 +24 16 0 +16 139 98 +32 0 0 +0 16 139 +0 0 0 diff --git a/graphics/unused/old_pal2.pal b/graphics/unused/old_pal2.pal new file mode 100755 index 000000000..3c5e6ad7f --- /dev/null +++ b/graphics/unused/old_pal2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 139 0 +0 0 0 +148 65 65 +0 0 0 +148 65 32 +16 0 0 +148 65 32 +8 8 0 +148 65 32 +16 0 0 +148 65 65 +0 0 0 +16 139 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_pal3.pal b/graphics/unused/old_pal3.pal new file mode 100755 index 000000000..d07e21019 --- /dev/null +++ b/graphics/unused/old_pal3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 16 139 +0 0 0 +0 213 98 +32 0 0 +0 213 98 +24 16 0 +0 213 98 +156 8 8 +0 213 98 +24 16 0 +0 213 98 +32 0 0 +0 16 139 +0 0 0 diff --git a/graphics/unused/old_pal4.pal b/graphics/unused/old_pal4.pal new file mode 100755 index 000000000..60b814f75 --- /dev/null +++ b/graphics/unused/old_pal4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +41 41 57 +90 90 106 +172 172 180 +197 197 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_pal5.pal b/graphics/unused/old_pal5.pal new file mode 100755 index 000000000..b6f481d46 --- /dev/null +++ b/graphics/unused/old_pal5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 156 131 +115 115 115 +189 189 189 +255 255 255 +189 164 41 +246 246 41 +222 106 32 +246 131 41 +115 98 246 +98 74 205 +238 115 156 +246 148 246 +115 172 246 +8 8 8 +90 90 90 +65 65 65 diff --git a/graphics/unused/old_pal6.pal b/graphics/unused/old_pal6.pal new file mode 100755 index 000000000..6d91e9918 --- /dev/null +++ b/graphics/unused/old_pal6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 156 131 +115 115 115 +189 189 189 +255 255 255 +115 148 74 +156 205 74 +148 246 74 +238 115 156 +246 148 246 +189 164 41 +246 246 41 +8 8 8 +8 8 8 +8 8 8 +90 90 90 +65 65 65 diff --git a/graphics/unused/old_pal7.pal b/graphics/unused/old_pal7.pal new file mode 100755 index 000000000..d380bc65d --- /dev/null +++ b/graphics/unused/old_pal7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 156 131 +115 115 115 +156 156 156 +255 255 255 +98 115 246 +115 172 246 +164 98 41 +230 172 139 +189 164 41 +246 246 41 +246 98 82 +148 123 205 +197 164 205 +213 41 156 +90 90 90 +65 65 65 diff --git a/graphics/unused/red_frame.bin b/graphics/unused/red_frame.bin Binary files differnew file mode 100755 index 000000000..5090b1b84 --- /dev/null +++ b/graphics/unused/red_frame.bin diff --git a/graphics/unused/shadow.pal b/graphics/unused/shadow.pal new file mode 100755 index 000000000..72d9b7406 --- /dev/null +++ b/graphics/unused/shadow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +238 238 238 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/shadow.png b/graphics/unused/shadow.png Binary files differnew file mode 100755 index 000000000..7d090ad3d --- /dev/null +++ b/graphics/unused/shadow.png diff --git a/graphics/unused/tilemap_3BAEF8.bin b/graphics/unused/tilemap_3BAEF8.bin new file mode 100644 index 000000000..95e7b00d5 --- /dev/null +++ b/graphics/unused/tilemap_3BAEF8.bin @@ -0,0 +1 @@ +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
\ No newline at end of file diff --git a/graphics/unused/unknown_D021BC.bin b/graphics/unused/unknown_D021BC.bin Binary files differdeleted file mode 100755 index 9d7c14a2d..000000000 --- a/graphics/unused/unknown_D021BC.bin +++ /dev/null diff --git a/graphics/unused/unknown_D023E8.bin b/graphics/unused/unknown_D023E8.bin Binary files differdeleted file mode 100755 index 58efd7d3e..000000000 --- a/graphics/unused/unknown_D023E8.bin +++ /dev/null diff --git a/graphics/unused/water_splash.bin b/graphics/unused/water_splash.bin Binary files differnew file mode 100755 index 000000000..059347fa7 --- /dev/null +++ b/graphics/unused/water_splash.bin diff --git a/graphics/unused/water_splash.pal b/graphics/unused/water_splash.pal new file mode 100755 index 000000000..ada1391df --- /dev/null +++ b/graphics/unused/water_splash.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +205 255 255 +156 255 255 +106 255 255 +57 255 255 +8 255 255 +8 205 255 +8 156 255 +8 106 255 +8 57 255 +8 8 255 +8 8 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +205 255 255 +156 255 255 +106 255 255 +57 255 255 +8 255 255 +8 205 255 +8 156 255 +8 106 255 +8 57 255 +8 8 255 +8 8 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/water_splash.png b/graphics/unused/water_splash.png Binary files differnew file mode 100755 index 000000000..a8439a050 --- /dev/null +++ b/graphics/unused/water_splash.png diff --git a/graphics/unused/yellow_frame.bin b/graphics/unused/yellow_frame.bin Binary files differnew file mode 100755 index 000000000..30ba3ed01 --- /dev/null +++ b/graphics/unused/yellow_frame.bin diff --git a/graphics/weather/fog1.bin b/graphics/weather/fog1.bin Binary files differnew file mode 100755 index 000000000..1f9d53f95 --- /dev/null +++ b/graphics/weather/fog1.bin diff --git a/include/gba/defines.h b/include/gba/defines.h index ea363109f..f3fa53496 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -75,4 +75,6 @@ #define RGB_BLACK RGB(0, 0, 0) #define RGB_WHITE RGB(31, 31, 31) +#define WIN_RANGE(a, b) (((a) << 8) | (b)) + #endif // GUARD_GBA_DEFINES diff --git a/include/pokemon.h b/include/pokemon.h new file mode 100644 index 000000000..9b29d4322 --- /dev/null +++ b/include/pokemon.h @@ -0,0 +1,94 @@ +#ifndef GUARD_POKEMON_H +#define GUARD_POKEMON_H + +#define MON_DATA_PERSONALITY 0 +#define MON_DATA_OT_ID 1 +#define MON_DATA_NICKNAME 2 +#define MON_DATA_LANGUAGE 3 +#define MON_DATA_SANITY_BIT1 4 +#define MON_DATA_SANITY_BIT2 5 +#define MON_DATA_SANITY_BIT3 6 +#define MON_DATA_OT_NAME 7 +#define MON_DATA_MARKINGS 8 +#define MON_DATA_CHECKSUM 9 +#define MON_DATA_10 10 +#define MON_DATA_SPECIES 11 +#define MON_DATA_HELD_ITEM 12 +#define MON_DATA_MOVE1 13 +#define MON_DATA_MOVE2 14 +#define MON_DATA_MOVE3 15 +#define MON_DATA_MOVE4 16 +#define MON_DATA_PP1 17 +#define MON_DATA_PP2 18 +#define MON_DATA_PP3 19 +#define MON_DATA_PP4 20 +#define MON_DATA_PP_BONUSES 21 +#define MON_DATA_COOL 22 +#define MON_DATA_BEAUTY 23 +#define MON_DATA_CUTE 24 +#define MON_DATA_EXP 25 +#define MON_DATA_HP_EV 26 +#define MON_DATA_ATK_EV 27 +#define MON_DATA_DEF_EV 28 +#define MON_DATA_SPD_EV 29 +#define MON_DATA_SPATK_EV 30 +#define MON_DATA_SPDEF_EV 31 +#define MON_DATA_FRIENDSHIP 32 +#define MON_DATA_SMART 33 +#define MON_DATA_POKERUS 34 +#define MON_DATA_MET_LOCATION 35 +#define MON_DATA_MET_LEVEL 36 +#define MON_DATA_MET_GAME 37 +#define MON_DATA_POKEBALL 38 +#define MON_DATA_HP_IV 39 +#define MON_DATA_ATK_IV 40 +#define MON_DATA_DEF_IV 41 +#define MON_DATA_SPD_IV 42 +#define MON_DATA_SPATK_IV 43 +#define MON_DATA_SPDEF_IV 44 +#define MON_DATA_IS_EGG 45 +#define MON_DATA_ALT_ABILITY 46 +#define MON_DATA_TOUGH 47 +#define MON_DATA_SHEEN 48 +#define MON_DATA_OT_GENDER 49 +#define MON_DATA_COOL_RIBBON 50 +#define MON_DATA_BEAUTY_RIBBON 51 +#define MON_DATA_CUTE_RIBBON 52 +#define MON_DATA_SMART_RIBBON 53 +#define MON_DATA_TOUGH_RIBBON 54 +#define MON_DATA_STATUS 55 +#define MON_DATA_LEVEL 56 +#define MON_DATA_HP 57 +#define MON_DATA_MAX_HP 58 +#define MON_DATA_ATK 59 +#define MON_DATA_DEF 60 +#define MON_DATA_SPD 61 +#define MON_DATA_SPATK 62 +#define MON_DATA_SPDEF 63 +#define MON_DATA_64 64 +#define MON_DATA_SPECIES2 65 +#define MON_DATA_IVS 66 +#define MON_DATA_CHAMPION_RIBBON 67 +#define MON_DATA_WINNING_RIBBON 68 +#define MON_DATA_VICTORY_RIBBON 69 +#define MON_DATA_ARTIST_RIBBON 70 +#define MON_DATA_EFFORT_RIBBON 71 +#define MON_DATA_GIFT_RIBBON_1 72 +#define MON_DATA_GIFT_RIBBON_2 73 +#define MON_DATA_GIFT_RIBBON_3 74 +#define MON_DATA_GIFT_RIBBON_4 75 +#define MON_DATA_GIFT_RIBBON_5 76 +#define MON_DATA_GIFT_RIBBON_6 77 +#define MON_DATA_GIFT_RIBBON_7 78 +#define MON_DATA_FATEFUL_ENCOUNTER 79 +#define MON_DATA_KNOWN_MOVES 80 +#define MON_DATA_RIBBON_COUNT 81 +#define MON_DATA_RIBBONS 82 +#define MON_DATA_83 83 +#define MON_DATA_ATK2 84 +#define MON_DATA_DEF2 85 +#define MON_DATA_SPD2 86 +#define MON_DATA_SPATK2 87 +#define MON_DATA_SPDEF2 88 + +#endif // GUARD_POKEMON_H diff --git a/include/species.h b/include/species.h new file mode 100644 index 000000000..1d663c145 --- /dev/null +++ b/include/species.h @@ -0,0 +1,391 @@ +#ifndef GUARD_SPECIES_H +#define GUARD_SPECIES_H + +#define SPECIES_BULBASAUR 0x001 +#define SPECIES_IVYSAUR 0x002 +#define SPECIES_VENUSAUR 0x003 +#define SPECIES_CHARMANDER 0x004 +#define SPECIES_CHARMELEON 0x005 +#define SPECIES_CHARIZARD 0x006 +#define SPECIES_SQUIRTLE 0x007 +#define SPECIES_WARTORTLE 0x008 +#define SPECIES_BLASTOISE 0x009 +#define SPECIES_CATERPIE 0x00a +#define SPECIES_METAPOD 0x00b +#define SPECIES_BUTTERFREE 0x00c +#define SPECIES_WEEDLE 0x00d +#define SPECIES_KAKUNA 0x00e +#define SPECIES_BEEDRILL 0x00f +#define SPECIES_PIDGEY 0x010 +#define SPECIES_PIDGEOTTO 0x011 +#define SPECIES_PIDGEOT 0x012 +#define SPECIES_RATTATA 0x013 +#define SPECIES_RATICATE 0x014 +#define SPECIES_SPEAROW 0x015 +#define SPECIES_FEAROW 0x016 +#define SPECIES_EKANS 0x017 +#define SPECIES_ARBOK 0x018 +#define SPECIES_PIKACHU 0x019 +#define SPECIES_RAICHU 0x01a +#define SPECIES_SANDSHREW 0x01b +#define SPECIES_SANDSLASH 0x01c +#define SPECIES_NIDORAN_F 0x01d +#define SPECIES_NIDORINA 0x01e +#define SPECIES_NIDOQUEEN 0x01f +#define SPECIES_NIDORAN_M 0x020 +#define SPECIES_NIDORINO 0x021 +#define SPECIES_NIDOKING 0x022 +#define SPECIES_CLEFAIRY 0x023 +#define SPECIES_CLEFABLE 0x024 +#define SPECIES_VULPIX 0x025 +#define SPECIES_NINETALES 0x026 +#define SPECIES_JIGGLYPUFF 0x027 +#define SPECIES_WIGGLYTUFF 0x028 +#define SPECIES_ZUBAT 0x029 +#define SPECIES_GOLBAT 0x02a +#define SPECIES_ODDISH 0x02b +#define SPECIES_GLOOM 0x02c +#define SPECIES_VILEPLUME 0x02d +#define SPECIES_PARAS 0x02e +#define SPECIES_PARASECT 0x02f +#define SPECIES_VENONAT 0x030 +#define SPECIES_VENOMOTH 0x031 +#define SPECIES_DIGLETT 0x032 +#define SPECIES_DUGTRIO 0x033 +#define SPECIES_MEOWTH 0x034 +#define SPECIES_PERSIAN 0x035 +#define SPECIES_PSYDUCK 0x036 +#define SPECIES_GOLDUCK 0x037 +#define SPECIES_MANKEY 0x038 +#define SPECIES_PRIMEAPE 0x039 +#define SPECIES_GROWLITHE 0x03a +#define SPECIES_ARCANINE 0x03b +#define SPECIES_POLIWAG 0x03c +#define SPECIES_POLIWHIRL 0x03d +#define SPECIES_POLIWRATH 0x03e +#define SPECIES_ABRA 0x03f +#define SPECIES_KADABRA 0x040 +#define SPECIES_ALAKAZAM 0x041 +#define SPECIES_MACHOP 0x042 +#define SPECIES_MACHOKE 0x043 +#define SPECIES_MACHAMP 0x044 +#define SPECIES_BELLSPROUT 0x045 +#define SPECIES_WEEPINBELL 0x046 +#define SPECIES_VICTREEBEL 0x047 +#define SPECIES_TENTACOOL 0x048 +#define SPECIES_TENTACRUEL 0x049 +#define SPECIES_GEODUDE 0x04a +#define SPECIES_GRAVELER 0x04b +#define SPECIES_GOLEM 0x04c +#define SPECIES_PONYTA 0x04d +#define SPECIES_RAPIDASH 0x04e +#define SPECIES_SLOWPOKE 0x04f +#define SPECIES_SLOWBRO 0x050 +#define SPECIES_MAGNEMITE 0x051 +#define SPECIES_MAGNETON 0x052 +#define SPECIES_FARFETCHD 0x053 +#define SPECIES_DODUO 0x054 +#define SPECIES_DODRIO 0x055 +#define SPECIES_SEEL 0x056 +#define SPECIES_DEWGONG 0x057 +#define SPECIES_GRIMER 0x058 +#define SPECIES_MUK 0x059 +#define SPECIES_SHELLDER 0x05a +#define SPECIES_CLOYSTER 0x05b +#define SPECIES_GASTLY 0x05c +#define SPECIES_HAUNTER 0x05d +#define SPECIES_GENGAR 0x05e +#define SPECIES_ONIX 0x05f +#define SPECIES_DROWZEE 0x060 +#define SPECIES_HYPNO 0x061 +#define SPECIES_KRABBY 0x062 +#define SPECIES_KINGLER 0x063 +#define SPECIES_VOLTORB 0x064 +#define SPECIES_ELECTRODE 0x065 +#define SPECIES_EXEGGCUTE 0x066 +#define SPECIES_EXEGGUTOR 0x067 +#define SPECIES_CUBONE 0x068 +#define SPECIES_MAROWAK 0x069 +#define SPECIES_HITMONLEE 0x06a +#define SPECIES_HITMONCHAN 0x06b +#define SPECIES_LICKITUNG 0x06c +#define SPECIES_KOFFING 0x06d +#define SPECIES_WEEZING 0x06e +#define SPECIES_RHYHORN 0x06f +#define SPECIES_RHYDON 0x070 +#define SPECIES_CHANSEY 0x071 +#define SPECIES_TANGELA 0x072 +#define SPECIES_KANGASKHAN 0x073 +#define SPECIES_HORSEA 0x074 +#define SPECIES_SEADRA 0x075 +#define SPECIES_GOLDEEN 0x076 +#define SPECIES_SEAKING 0x077 +#define SPECIES_STARYU 0x078 +#define SPECIES_STARMIE 0x079 +#define SPECIES_MR_MIME 0x07a +#define SPECIES_SCYTHER 0x07b +#define SPECIES_JYNX 0x07c +#define SPECIES_ELECTABUZZ 0x07d +#define SPECIES_MAGMAR 0x07e +#define SPECIES_PINSIR 0x07f +#define SPECIES_TAUROS 0x080 +#define SPECIES_MAGIKARP 0x081 +#define SPECIES_GYARADOS 0x082 +#define SPECIES_LAPRAS 0x083 +#define SPECIES_DITTO 0x084 +#define SPECIES_EEVEE 0x085 +#define SPECIES_VAPOREON 0x086 +#define SPECIES_JOLTEON 0x087 +#define SPECIES_FLAREON 0x088 +#define SPECIES_PORYGON 0x089 +#define SPECIES_OMANYTE 0x08a +#define SPECIES_OMASTAR 0x08b +#define SPECIES_KABUTO 0x08c +#define SPECIES_KABUTOPS 0x08d +#define SPECIES_AERODACTYL 0x08e +#define SPECIES_SNORLAX 0x08f +#define SPECIES_ARTICUNO 0x090 +#define SPECIES_ZAPDOS 0x091 +#define SPECIES_MOLTRES 0x092 +#define SPECIES_DRATINI 0x093 +#define SPECIES_DRAGONAIR 0x094 +#define SPECIES_DRAGONITE 0x095 +#define SPECIES_MEWTWO 0x096 +#define SPECIES_MEW 0x097 +#define SPECIES_CHIKORITA 0x098 +#define SPECIES_BAYLEEF 0x099 +#define SPECIES_MEGANIUM 0x09a +#define SPECIES_CYNDAQUIL 0x09b +#define SPECIES_QUILAVA 0x09c +#define SPECIES_TYPHLOSION 0x09d +#define SPECIES_TOTODILE 0x09e +#define SPECIES_CROCONAW 0x09f +#define SPECIES_FERALIGATR 0x0a0 +#define SPECIES_SENTRET 0x0a1 +#define SPECIES_FURRET 0x0a2 +#define SPECIES_HOOTHOOT 0x0a3 +#define SPECIES_NOCTOWL 0x0a4 +#define SPECIES_LEDYBA 0x0a5 +#define SPECIES_LEDIAN 0x0a6 +#define SPECIES_SPINARAK 0x0a7 +#define SPECIES_ARIADOS 0x0a8 +#define SPECIES_CROBAT 0x0a9 +#define SPECIES_CHINCHOU 0x0aa +#define SPECIES_LANTURN 0x0ab +#define SPECIES_PICHU 0x0ac +#define SPECIES_CLEFFA 0x0ad +#define SPECIES_IGGLYBUFF 0x0ae +#define SPECIES_TOGEPI 0x0af +#define SPECIES_TOGETIC 0x0b0 +#define SPECIES_NATU 0x0b1 +#define SPECIES_XATU 0x0b2 +#define SPECIES_MAREEP 0x0b3 +#define SPECIES_FLAAFFY 0x0b4 +#define SPECIES_AMPHAROS 0x0b5 +#define SPECIES_BELLOSSOM 0x0b6 +#define SPECIES_MARILL 0x0b7 +#define SPECIES_AZUMARILL 0x0b8 +#define SPECIES_SUDOWOODO 0x0b9 +#define SPECIES_POLITOED 0x0ba +#define SPECIES_HOPPIP 0x0bb +#define SPECIES_SKIPLOOM 0x0bc +#define SPECIES_JUMPLUFF 0x0bd +#define SPECIES_AIPOM 0x0be +#define SPECIES_SUNKERN 0x0bf +#define SPECIES_SUNFLORA 0x0c0 +#define SPECIES_YANMA 0x0c1 +#define SPECIES_WOOPER 0x0c2 +#define SPECIES_QUAGSIRE 0x0c3 +#define SPECIES_ESPEON 0x0c4 +#define SPECIES_UMBREON 0x0c5 +#define SPECIES_MURKROW 0x0c6 +#define SPECIES_SLOWKING 0x0c7 +#define SPECIES_MISDREAVUS 0x0c8 +#define SPECIES_UNOWN 0x0c9 +#define SPECIES_WOBBUFFET 0x0ca +#define SPECIES_GIRAFARIG 0x0cb +#define SPECIES_PINECO 0x0cc +#define SPECIES_FORRETRESS 0x0cd +#define SPECIES_DUNSPARCE 0x0ce +#define SPECIES_GLIGAR 0x0cf +#define SPECIES_STEELIX 0x0d0 +#define SPECIES_SNUBBULL 0x0d1 +#define SPECIES_GRANBULL 0x0d2 +#define SPECIES_QWILFISH 0x0d3 +#define SPECIES_SCIZOR 0x0d4 +#define SPECIES_SHUCKLE 0x0d5 +#define SPECIES_HERACROSS 0x0d6 +#define SPECIES_SNEASEL 0x0d7 +#define SPECIES_TEDDIURSA 0x0d8 +#define SPECIES_URSARING 0x0d9 +#define SPECIES_SLUGMA 0x0da +#define SPECIES_MAGCARGO 0x0db +#define SPECIES_SWINUB 0x0dc +#define SPECIES_PILOSWINE 0x0dd +#define SPECIES_CORSOLA 0x0de +#define SPECIES_REMORAID 0x0df +#define SPECIES_OCTILLERY 0x0e0 +#define SPECIES_DELIBIRD 0x0e1 +#define SPECIES_MANTINE 0x0e2 +#define SPECIES_SKARMORY 0x0e3 +#define SPECIES_HOUNDOUR 0x0e4 +#define SPECIES_HOUNDOOM 0x0e5 +#define SPECIES_KINGDRA 0x0e6 +#define SPECIES_PHANPY 0x0e7 +#define SPECIES_DONPHAN 0x0e8 +#define SPECIES_PORYGON2 0x0e9 +#define SPECIES_STANTLER 0x0ea +#define SPECIES_SMEARGLE 0x0eb +#define SPECIES_TYROGUE 0x0ec +#define SPECIES_HITMONTOP 0x0ed +#define SPECIES_SMOOCHUM 0x0ee +#define SPECIES_ELEKID 0x0ef +#define SPECIES_MAGBY 0x0f0 +#define SPECIES_MILTANK 0x0f1 +#define SPECIES_BLISSEY 0x0f2 +#define SPECIES_RAIKOU 0x0f3 +#define SPECIES_ENTEI 0x0f4 +#define SPECIES_SUICUNE 0x0f5 +#define SPECIES_LARVITAR 0x0f6 +#define SPECIES_PUPITAR 0x0f7 +#define SPECIES_TYRANITAR 0x0f8 +#define SPECIES_LUGIA 0x0f9 +#define SPECIES_HO_OH 0x0fa +#define SPECIES_CELEBI 0x0fb +#define SPECIES_TREECKO 0x115 +#define SPECIES_GROVYLE 0x116 +#define SPECIES_SCEPTILE 0x117 +#define SPECIES_TORCHIC 0x118 +#define SPECIES_COMBUSKEN 0x119 +#define SPECIES_BLAZIKEN 0x11a +#define SPECIES_MUDKIP 0x11b +#define SPECIES_MARSHTOMP 0x11c +#define SPECIES_SWAMPERT 0x11d +#define SPECIES_POOCHYENA 0x11e +#define SPECIES_MIGHTYENA 0x11f +#define SPECIES_ZIGZAGOON 0x120 +#define SPECIES_LINOONE 0x121 +#define SPECIES_WURMPLE 0x122 +#define SPECIES_SILCOON 0x123 +#define SPECIES_BEAUTIFLY 0x124 +#define SPECIES_CASCOON 0x125 +#define SPECIES_DUSTOX 0x126 +#define SPECIES_LOTAD 0x127 +#define SPECIES_LOMBRE 0x128 +#define SPECIES_LUDICOLO 0x129 +#define SPECIES_SEEDOT 0x12a +#define SPECIES_NUZLEAF 0x12b +#define SPECIES_SHIFTRY 0x12c +#define SPECIES_NINCADA 0x12d +#define SPECIES_NINJASK 0x12e +#define SPECIES_SHEDINJA 0x12f +#define SPECIES_TAILLOW 0x130 +#define SPECIES_SWELLOW 0x131 +#define SPECIES_SHROOMISH 0x132 +#define SPECIES_BRELOOM 0x133 +#define SPECIES_SPINDA 0x134 +#define SPECIES_WINGULL 0x135 +#define SPECIES_PELIPPER 0x136 +#define SPECIES_SURSKIT 0x137 +#define SPECIES_MASQUERAIN 0x138 +#define SPECIES_WAILMER 0x139 +#define SPECIES_WAILORD 0x13a +#define SPECIES_SKITTY 0x13b +#define SPECIES_DELCATTY 0x13c +#define SPECIES_KECLEON 0x13d +#define SPECIES_BALTOY 0x13e +#define SPECIES_CLAYDOL 0x13f +#define SPECIES_NOSEPASS 0x140 +#define SPECIES_TORKOAL 0x141 +#define SPECIES_SABLEYE 0x142 +#define SPECIES_BARBOACH 0x143 +#define SPECIES_WHISCASH 0x144 +#define SPECIES_LUVDISC 0x145 +#define SPECIES_CORPHISH 0x146 +#define SPECIES_CRAWDAUNT 0x147 +#define SPECIES_FEEBAS 0x148 +#define SPECIES_MILOTIC 0x149 +#define SPECIES_CARVANHA 0x14a +#define SPECIES_SHARPEDO 0x14b +#define SPECIES_TRAPINCH 0x14c +#define SPECIES_VIBRAVA 0x14d +#define SPECIES_FLYGON 0x14e +#define SPECIES_MAKUHITA 0x14f +#define SPECIES_HARIYAMA 0x150 +#define SPECIES_ELECTRIKE 0x151 +#define SPECIES_MANECTRIC 0x152 +#define SPECIES_NUMEL 0x153 +#define SPECIES_CAMERUPT 0x154 +#define SPECIES_SPHEAL 0x155 +#define SPECIES_SEALEO 0x156 +#define SPECIES_WALREIN 0x157 +#define SPECIES_CACNEA 0x158 +#define SPECIES_CACTURNE 0x159 +#define SPECIES_SNORUNT 0x15a +#define SPECIES_GLALIE 0x15b +#define SPECIES_LUNATONE 0x15c +#define SPECIES_SOLROCK 0x15d +#define SPECIES_AZURILL 0x15e +#define SPECIES_SPOINK 0x15f +#define SPECIES_GRUMPIG 0x160 +#define SPECIES_PLUSLE 0x161 +#define SPECIES_MINUN 0x162 +#define SPECIES_MAWILE 0x163 +#define SPECIES_MEDITITE 0x164 +#define SPECIES_MEDICHAM 0x165 +#define SPECIES_SWABLU 0x166 +#define SPECIES_ALTARIA 0x167 +#define SPECIES_WYNAUT 0x168 +#define SPECIES_DUSKULL 0x169 +#define SPECIES_DUSCLOPS 0x16a +#define SPECIES_ROSELIA 0x16b +#define SPECIES_SLAKOTH 0x16c +#define SPECIES_VIGOROTH 0x16d +#define SPECIES_SLAKING 0x16e +#define SPECIES_GULPIN 0x16f +#define SPECIES_SWALOT 0x170 +#define SPECIES_TROPIUS 0x171 +#define SPECIES_WHISMUR 0x172 +#define SPECIES_LOUDRED 0x173 +#define SPECIES_EXPLOUD 0x174 +#define SPECIES_CLAMPERL 0x175 +#define SPECIES_HUNTAIL 0x176 +#define SPECIES_GOREBYSS 0x177 +#define SPECIES_ABSOL 0x178 +#define SPECIES_SHUPPET 0x179 +#define SPECIES_BANETTE 0x17a +#define SPECIES_SEVIPER 0x17b +#define SPECIES_ZANGOOSE 0x17c +#define SPECIES_RELICANTH 0x17d +#define SPECIES_ARON 0x17e +#define SPECIES_LAIRON 0x17f +#define SPECIES_AGGRON 0x180 +#define SPECIES_CASTFORM 0x181 +#define SPECIES_VOLBEAT 0x182 +#define SPECIES_ILLUMISE 0x183 +#define SPECIES_LILEEP 0x184 +#define SPECIES_CRADILY 0x185 +#define SPECIES_ANORITH 0x186 +#define SPECIES_ARMALDO 0x187 +#define SPECIES_RALTS 0x188 +#define SPECIES_KIRLIA 0x189 +#define SPECIES_GARDEVOIR 0x18a +#define SPECIES_BAGON 0x18b +#define SPECIES_SHELGON 0x18c +#define SPECIES_SALAMENCE 0x18d +#define SPECIES_BELDUM 0x18e +#define SPECIES_METANG 0x18f +#define SPECIES_METAGROSS 0x190 +#define SPECIES_REGIROCK 0x191 +#define SPECIES_REGICE 0x192 +#define SPECIES_REGISTEEL 0x193 +#define SPECIES_KYOGRE 0x194 +#define SPECIES_GROUDON 0x195 +#define SPECIES_RAYQUAZA 0x196 +#define SPECIES_LATIAS 0x197 +#define SPECIES_LATIOS 0x198 +#define SPECIES_JIRACHI 0x199 +#define SPECIES_DEOXYS 0x19a +#define SPECIES_CHIMECHO 0x19b + +#endif // GUARD_SPECIES_H diff --git a/include/sprite.h b/include/sprite.h index 10bd3a5f0..9b800a9ea 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -149,14 +149,14 @@ struct Sprite u8 animLoopCounter; // general purpose data fields - u16 data0; - u16 data1; - u16 data2; - u16 data3; - u16 data4; - u16 data5; - u16 data6; - u16 data7; + s16 data0; + s16 data1; + s16 data2; + s16 data3; + s16 data4; + s16 data5; + s16 data6; + s16 data7; u16 inUse:1; u16 coordOffsetEnabled:1; diff --git a/include/text.h b/include/text.h index 527a8939d..19c9b3040 100644 --- a/include/text.h +++ b/include/text.h @@ -152,7 +152,7 @@ u8 sub_80035AC(struct Window *win); u8 sub_800374C(struct Window *win); u8 sub_8003778(struct Window *win); u8 sub_80037A0(struct Window *win); -u8 sub_80037C8(struct Window *win, u8 lineLength); +u32 sub_80037C8(struct Window *win, u8 lineLength); void ClearWindowTextLines(struct Window *win); u16 GetWindowTilemapEntry(struct Window *win, u8 x, u8 y); void DrawWindowRect(struct Window *win, u16 tilemapEntry, u8 left, u8 top, u8 right, u8 bottom); diff --git a/include/text_window.h b/include/text_window.h new file mode 100644 index 000000000..63ca8915e --- /dev/null +++ b/include/text_window.h @@ -0,0 +1,19 @@ +#ifndef GUARD_TEXT_WINDOW_H +#define GUARD_TEXT_WINDOW_H + +#include "global.h" + +u16 SetTextWindowBaseTileNum(u16); +void LoadTextWindowGraphics(struct Window *); +void LoadTextWindowGraphics_OverridePalSlot(struct Window *, u8); +void LoadTextWindowGraphics_OverrideFrameType(struct Window *, u8); +void DrawTextWindow(struct Window *win, u8 left, u8 top, u8 right, u8 bottom); +const struct FrameGraphics *GetTextWindowFrameGraphics(u8 frameType); +u16 SetMessageBoxBaseTileNum(u16); +void unref_sub_80651DC(struct Window *, u8 *); +void DisplayMessageBox(struct Window *); +void DrawStandardMessageBox(struct Window *win); +void LoadMessageBoxTiles(struct Window *win); +void sub_806536C(struct Window *win); + +#endif // GUARD_TEXT_WINDOW_H diff --git a/iwram_syms.txt b/iwram_syms.txt index 954308adb..a151b6eee 100644 --- a/iwram_syms.txt +++ b/iwram_syms.txt @@ -16,4 +16,6 @@ word_3004858 = 0x3004858; gTasks = 0x3004B20; +gSaveFileStatus = 0x3005EB8; + gMPlayMemAccArea = 0x3007440; diff --git a/ld_script.txt b/ld_script.txt index 7d6dc3562..c323d4b30 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -31,6 +31,12 @@ SECTIONS { src/link.o(.bss); src/rtc.o(.bss); + . = 0x5AC; + src/text_window.o(.bss); + + . = 0x6B0; + src/menu.o(.bss); + . = 0xF28; src/agb_flash.o(.bss); . = 0xF36; @@ -66,11 +72,18 @@ SECTIONS { src/string_util.o(.text); src/link.o(.text); src/rtc.o(.text); + src/main_menu.o(.text); asm/rom3.o(.text); + src/pokemon.o(.text); + asm/rom_803D1FC.o(.text); src/rng.o(.text); asm/rom_8040EB4.o(.text); src/play_time.o(.text); asm/rom4.o(.text); + src/text_window.o(.text); + asm/rom_8065394.o(.text); + src/menu.o(.text); + asm/rom_8072DF8.o(.text); src/palette.o(.text); asm/rom_8074BAC.o(.text); src/task.o(.text); @@ -5,10 +5,19 @@ PSSGFXDIR := graphics/pokemon_storage MISCGFXDIR := graphics/misc PKNAVGFXDIR := graphics/pokenav UNKNOWNGFXDIR := graphics/unknown +UNUSEDGFXDIR := graphics/unused REELGFXDIR := graphics/slot_machine ROULGFXDIR := graphics/roulette BTLANMSPRGFXDIR := graphics/battle_anims/sprites PICFRAMEGFXDIR := graphics/picture_frame +CONTESTGFXDIR := graphics/contest +MASKSGFXDIR := graphics/battle_anims/masks +BATTRANSGFXDIR := graphics/battle_transitions +TYPESGFXDIR := graphics/types +TITLEGFXDIR := graphics/title_screen + +types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark +contest_types := cool beauty cute smart tough $(MENUGFXDIR)/menu.gbapal: $(MENUGFXDIR)/menu_0.gbapal $(MENUGFXDIR)/menu_1.gbapal @cat $(MENUGFXDIR)/menu_0.gbapal $(MENUGFXDIR)/menu_1.gbapal >$@ @@ -163,5 +172,80 @@ $(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp $(BTLANMSPRGFXDIR)/15 $(PICFRAMEGFXDIR)/frame5.4bpp: $(PICFRAMEGFXDIR)/frame5.png $(GFX) $< $@ -num_tiles 86 -$(MISCGFXDIR)/nextturn.4bpp: $(MISCGFXDIR)/nextturn.png +$(CONTESTGFXDIR)/nextturn.4bpp: $(CONTESTGFXDIR)/nextturn.png $(GFX) $< $@ -num_tiles 8 + +$(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal $(UNUSEDGFXDIR)/old_pal2.gbapal $(UNUSEDGFXDIR)/old_pal3.gbapal + @cat $(UNUSEDGFXDIR)/old_pal1.gbapal $(UNUSEDGFXDIR)/old_pal2.gbapal $(UNUSEDGFXDIR)/old_pal3.gbapal >$@ + +$(UNUSEDGFXDIR)/obi_palpak3.gbapal: $(UNUSEDGFXDIR)/old_pal5.gbapal $(UNUSEDGFXDIR)/old_pal6.gbapal $(UNUSEDGFXDIR)/old_pal7.gbapal + @cat $(UNUSEDGFXDIR)/old_pal5.gbapal $(UNUSEDGFXDIR)/old_pal6.gbapal $(UNUSEDGFXDIR)/old_pal7.gbapal >$@ + +$(UNUSEDGFXDIR)/obi1.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur.4bpp $(UNUSEDGFXDIR)/old_charizard.4bpp + @cat $(UNUSEDGFXDIR)/old_bulbasaur.4bpp $(UNUSEDGFXDIR)/old_charizard.4bpp >$@ + +$(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp $(UNUSEDGFXDIR)/old_battle_interface_1.4bpp $(UNUSEDGFXDIR)/old_battle_interface_2.4bpp $(UNUSEDGFXDIR)/old_battle_interface_3.4bpp + @cat $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp $(UNUSEDGFXDIR)/old_battle_interface_1.4bpp $(UNUSEDGFXDIR)/old_battle_interface_2.4bpp $(UNUSEDGFXDIR)/old_battle_interface_3.4bpp >$@ + +$(MENUGFXDIR)/hp_numbers.4bpp: $(MENUGFXDIR)/hpbar_anim.4bpp $(MENUGFXDIR)/numbers1.4bpp $(MENUGFXDIR)/numbers2.4bpp + @cat $(MENUGFXDIR)/hpbar_anim.4bpp $(MENUGFXDIR)/numbers1.4bpp $(MENUGFXDIR)/numbers2.4bpp >$@ + +$(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin $(UNUSEDGFXDIR)/yellow_frame.bin $(UNUSEDGFXDIR)/green_frame.bin $(UNUSEDGFXDIR)/blank_frame.bin + @cat $(UNUSEDGFXDIR)/red_frame.bin $(UNUSEDGFXDIR)/yellow_frame.bin $(UNUSEDGFXDIR)/green_frame.bin $(UNUSEDGFXDIR)/blank_frame.bin >$@ + +$(UNUSEDGFXDIR)/color_frames.4bpp: $(UNUSEDGFXDIR)/color_frames.png + $(GFX) $< $@ -num_tiles 353 + +$(UNUSEDGFXDIR)/old_contest.4bpp: $(UNUSEDGFXDIR)/old_contest_frame_1.4bpp $(UNUSEDGFXDIR)/old_contest_floor.4bpp $(UNUSEDGFXDIR)/old_contest_frame_2.4bpp $(UNUSEDGFXDIR)/old_contest_symbols.4bpp $(UNUSEDGFXDIR)/old_contest_meter.4bpp $(UNUSEDGFXDIR)/old_contest_classes.4bpp $(UNUSEDGFXDIR)/old_contest_numbers.4bpp + @cat $(UNUSEDGFXDIR)/old_contest_frame_1.4bpp $(UNUSEDGFXDIR)/old_contest_floor.4bpp $(UNUSEDGFXDIR)/old_contest_frame_2.4bpp $(UNUSEDGFXDIR)/old_contest_symbols.4bpp $(UNUSEDGFXDIR)/old_contest_meter.4bpp $(UNUSEDGFXDIR)/old_contest_classes.4bpp $(UNUSEDGFXDIR)/old_contest_numbers.4bpp >$@ + +$(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp $(UNUSEDGFXDIR)/old_contest_2_2.4bpp + @cat $(UNUSEDGFXDIR)/old_contest_2_1.4bpp $(UNUSEDGFXDIR)/old_contest_2_2.4bpp >$@ + +$(MASKSGFXDIR)/unknown_D2EDFC.4bpp: $(MASKSGFXDIR)/unknown_D2EDFC.png + $(GFX) $< $@ -num_tiles 14 + +$(BATTRANSGFXDIR)/vs_frame.4bpp: $(BATTRANSGFXDIR)/vs_frame.png + $(GFX) $< $@ -num_tiles 16 + +$(MENUGFXDIR)/party_menu_misc.4bpp: $(MENUGFXDIR)/party_menu_misc.png + $(GFX) $< $@ -num_tiles 116 + +$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp) + @cat $^ >$@ + +$(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal $(TYPESGFXDIR)/move_types_2.gbapal $(TYPESGFXDIR)/move_types_3.gbapal + @cat $(TYPESGFXDIR)/move_types_1.gbapal $(TYPESGFXDIR)/move_types_2.gbapal $(TYPESGFXDIR)/move_types_3.gbapal >$@ + +$(MENUGFXDIR)/status_screen.4bpp: $(MENUGFXDIR)/status_screen.png + $(GFX) $< $@ -num_tiles 217 + +$(PKNAVGFXDIR)/menu_options.4bpp: $(PKNAVGFXDIR)/menu_hoennmap.4bpp $(PKNAVGFXDIR)/menu_condition.4bpp $(PKNAVGFXDIR)/menu_eyes.4bpp $(PKNAVGFXDIR)/menu_ribbons.4bpp $(PKNAVGFXDIR)/menu_off.4bpp + @cat $(PKNAVGFXDIR)/menu_hoennmap.4bpp $(PKNAVGFXDIR)/menu_condition.4bpp $(PKNAVGFXDIR)/menu_eyes.4bpp $(PKNAVGFXDIR)/menu_ribbons.4bpp $(PKNAVGFXDIR)/menu_off.4bpp >$@ + +$(PKNAVGFXDIR)/condition_menu_misc.4bpp: $(PKNAVGFXDIR)/condition_menu_misc.png + $(GFX) $< $@ -num_tiles 41 + +$(PKNAVGFXDIR)/condition_search.4bpp: $(PKNAVGFXDIR)/condition_search_cool.4bpp $(PKNAVGFXDIR)/condition_search_beauty.4bpp $(PKNAVGFXDIR)/condition_search_cute.4bpp $(PKNAVGFXDIR)/condition_search_smart.4bpp $(PKNAVGFXDIR)/condition_search_tough.4bpp $(PKNAVGFXDIR)/condition_search_cancel.4bpp + @cat $(PKNAVGFXDIR)/condition_search_cool.4bpp $(PKNAVGFXDIR)/condition_search_beauty.4bpp $(PKNAVGFXDIR)/condition_search_cute.4bpp $(PKNAVGFXDIR)/condition_search_smart.4bpp $(PKNAVGFXDIR)/condition_search_tough.4bpp $(PKNAVGFXDIR)/condition_search_cancel.4bpp >$@ + +$(PSSGFXDIR)/header.4bpp: $(PSSGFXDIR)/header.png + $(GFX) $< $@ -num_tiles 47 + +$(PSSGFXDIR)/misc1.4bpp: $(PSSGFXDIR)/misc1.png + $(GFX) $< $@ -num_tiles 91 + +$(MISCGFXDIR)/hof.4bpp: $(MISCGFXDIR)/hof.png + $(GFX) $< $@ -num_tiles 37 + +$(MENUGFXDIR)/wordgroup_frame.4bpp: $(MENUGFXDIR)/wordgroup_frame.png + $(GFX) $< $@ -num_tiles 65 + +$(INTROGFXDIR)/copyright.4bpp: $(INTROGFXDIR)/copyright.png + $(GFX) $< $@ -num_tiles 43 + +$(TITLEGFXDIR)/press_start.4bpp: $(TITLEGFXDIR)/press_start.png + $(GFX) $< $@ -num_tiles 41 + +$(MISCGFXDIR)/end_copyright.4bpp: $(MISCGFXDIR)/end_copyright.png + $(GFX) $< $@ -num_tiles 90 diff --git a/src/link.c b/src/link.c index a5d848b83..13fcf8c05 100644 --- a/src/link.c +++ b/src/link.c @@ -27,7 +27,7 @@ struct LinkTestBGInfo u32 dummy_C; }; -extern void sub_8071C4C(const struct WindowConfig *); +extern void InitMenuWindow(const struct WindowConfig *); extern void sub_80516C4(u8, u16); extern u8 unk_2000000[]; @@ -237,7 +237,7 @@ static void LinkTestScreen(void) ResetTasks(); SetVBlankCallback(VBlankCB_LinkTest); SetUpWindowConfig(&gWindowConfig_81E6CE4); - sub_8071C4C(&gWindowConfig_81E6CE4); + InitMenuWindow(&gWindowConfig_81E6CE4); ResetBlockSend(); gLinkType = 0x1111; OpenLink(); @@ -1224,8 +1224,8 @@ void CB2_LinkError(void) ResetTasks(); SetVBlankCallback(VBlankCB_LinkTest); SetUpWindowConfig(&gWindowConfig_81E7198); - sub_8071C4C(&gWindowConfig_81E7198); - sub_8071EF4(); + InitMenuWindow(&gWindowConfig_81E7198); + MenuZeroFillScreen(); REG_BLDALPHA = 0; REG_BG0VOFS = 0; REG_BG0HOFS = 0; diff --git a/src/main_menu.c b/src/main_menu.c new file mode 100644 index 000000000..559bf5a0a --- /dev/null +++ b/src/main_menu.c @@ -0,0 +1,1662 @@ +#include "global.h" +#include "text.h" +#include "sprite.h" +#include "task.h" +#include "main.h" +#include "rtc.h" +#include "songs.h" +#include "palette.h" +#include "string_util.h" +#include "species.h" + +extern u8 MenuUpdateWindowText(void); +extern void MenuPrint(u8 *, u8, u8); +extern void CB2_ContinueSavedGame(void); +extern void CB2_InitMysteryEventMenu(void); +extern void CB2_InitOptionMenu(void); +extern void CB2_InitTitleScreen(void); +extern void FormatPlayTime(u8 *str, u16 hours, u16 minutes, bool16 colon); +extern u8 *sub_8072C74(u8 *, u8 *, u8, u8); +extern u16 GetPokedexSeenCount(void); +extern u8 *sub_8072C14(u8 *, s32, u8, u8); +extern u8 sub_80729D8(u8 *, u8, u16, u8); +extern u8 GetBadgeCount(void); +extern void Task_Birch1(u8); +void MenuPrintMessage(const u8 *string, u8 a, u8 b); +u8 MenuUpdateWindowText_OverrideLineLength(u8 a); +void sub_8072DEC(void); +u8 sub_8075374(void); +void MenuSetText(u32); +void cry_related(u16, u8); +void audio_play(u8 a); +void MenuZeroFillWindowRect(u8 a, u8 b, u8 c, u8 d); +u8 GetMenuCursorPos(void); +void DoNamingScreen(u8 r0, struct SaveBlock2 *r1, u16 r2, u16 r3, u8 s0, MainCallback s4); +void DisplayYesNoMenu(u8 r0, u8 r1, u32 r2); +s8 ProcessMenuInputNoWrap_(void); +void c2_load_new_map_2(void); +void LZ77UnCompVram(const void *src, void *dest); +void InitMenuWindow(const struct WindowConfig *); +void CB2_MainMenu(void); +void VBlankCB_MainMenu(void); +void DecompressPicFromTable_2(const struct SpriteSheet *, u8, u8, void *, void *, u32); +void LoadCompressedObjectPalette(const struct SpritePalette *); +void gpu_pal_obj_decompress_and_apply(u16, u8); +u8 AddNewGameBirchObject(u8, u8, u8); +u8 sub_80859BC(u8, u16, u16, u8, void *); +void MenuDrawTextWindow(u8 a, u8 b, u8 c, u8 d); + +extern struct PaletteFadeControl gPaletteFade; +extern u8 gSaveFileDeletedMessage[]; +extern u8 gSaveFileCorruptMessage[]; +extern u8 gBoardNotInstalledMessage[]; +extern u8 gBatteryDryMessage[]; +extern u16 gSaveFileStatus; +extern u8 gMainMenuString_Continue[]; +extern u8 gMainMenuString_NewGame[]; +extern u8 gMainMenuString_MysteryEvents[]; +extern u8 gMainMenuString_Option[]; +extern u8 gMainMenuString_Player[]; +extern u8 gMainMenuString_Time[]; +extern u8 gMainMenuString_Pokedex[]; +extern u8 gMainMenuString_Badges[]; + +void CB2_MainMenu(void); +void VBlankCB_MainMenu(void); +void CB2_InitMainMenu(void); +static void sub_80096FC(void); +static u32 InitMainMenu(bool8 a1); +static void Task_CheckSave(u8 taskId); +static void Task_WaitForSaveErrorAck(u8 taskId); +static void Task_CheckRtc(u8 taskId); +static void Task_WaitForRtcErrorAck(u8 taskId); +static void Task_DrawMainMenu(u8 taskId); +static void Task_HighlightCurrentMenuItem(u8 taskId); +static bool8 MainMenuProcessKeyInput(u8 taskId); +static void Task_MainMenuProcessKeyInput(u8 taskId); +static void MainMenuPressedA(u8 taskId); +static void MainMenuPressedB(u8 taskId); +static void HighlightCurrentMenuItem(u8, u8); +static void PrintMainMenuItem(u8 *text, u8, u8); +static void PrintSaveFileInfo(void); +static void PrintPlayerName(void); +static void PrintPlayTime(void); +static void PrintPokedexCount(void); +static void PrintBadgeCount(void); + +extern u16 gMainMenuPalette[]; + +void CB2_MainMenu(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void VBlankCB_MainMenu(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void CB2_InitMainMenu(void) +{ + InitMainMenu(FALSE); +} + +static void sub_80096FC(void) +{ + InitMainMenu(TRUE); +} + +u32 InitMainMenu(u8 a1) +{ + u16 savedIme; + u8 taskId; + + SetVBlankCallback(NULL); + + REG_DISPCNT = 0; + REG_BG2CNT = 0; + REG_BG1CNT = 0; + REG_BG0CNT = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + + DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)OAM, OAM_SIZE); + DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); + + ResetPaletteFade(); + LoadPalette(gMainMenuPalette, 0, 32); + remove_some_task(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetUpWindowConfig(&gWindowConfig_81E6C3C); + InitMenuWindow(&gWindowConfig_81E6CE4); + + if (a1) + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0x0000); // fade to black + else + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0xFFFF); // fade to white + + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WININ = 0; + REG_WINOUT = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + + savedIme = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = savedIme; + + SetVBlankCallback(VBlankCB_MainMenu); + SetMainCallback2(CB2_MainMenu); + + REG_DISPCNT = DISPCNT_OBJ_1D_MAP + | DISPCNT_BG0_ON + | DISPCNT_OBJ_ON + | DISPCNT_WIN0_ON; + + taskId = CreateTask(Task_CheckSave, 0); + gTasks[taskId].data[1] = 0; + + return 0; +} + +void Task_CheckSave(u8 taskId) +{ + if (gPaletteFade.active) + return; + + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WININ = 0x1111; + REG_WINOUT = 49; + REG_BLDCNT = 241; + REG_BLDALPHA = 0; + REG_BLDY = 7; + + switch (gSaveFileStatus) + { + case 1: + if (sub_806918C() == TRUE) + gTasks[taskId].data[0] = 2; + else + gTasks[taskId].data[0] = 1; + + gTasks[taskId].func = Task_CheckRtc; + break; + case 2: + MenuDrawTextWindow(2, 14, 27, 19); + MenuPrintMessage(gSaveFileDeletedMessage, 3, 15); + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(113, 159); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = Task_WaitForSaveErrorAck; + break; + case 255: + MenuDrawTextWindow(2, 14, 27, 19); + MenuPrintMessage(gSaveFileCorruptMessage, 3, 15); + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(113, 159); + gTasks[taskId].data[0] = 1; + gTasks[taskId].func = Task_WaitForSaveErrorAck; + + if (sub_806918C() == TRUE) + gTasks[taskId].data[0] = 2; + else + gTasks[taskId].data[0] = 1; + break; + case 0: + default: + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = Task_CheckRtc; + break; + case 4: + MenuDrawTextWindow(2, 14, 27, 19); + MenuPrintMessage(gBoardNotInstalledMessage, 3, 15); + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(113, 159); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = Task_WaitForSaveErrorAck; + return; + } +} + +void Task_WaitForSaveErrorAck(u8 taskId) +{ + if (MenuUpdateWindowText()) + { + if (gMain.newKeys & A_BUTTON) + { + MenuZeroFillWindowRect(2, 14, 27, 19); + gTasks[taskId].func = Task_CheckRtc; + } + } +} + +void Task_CheckRtc(u8 taskId) +{ + if (!gPaletteFade.active) + { + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WININ = 0x1111; + REG_WINOUT = 49; + REG_BLDCNT = 241; + REG_BLDALPHA = 0; + REG_BLDY = 7; + + if (!(RtcGetErrorStatus() & RTC_ERR_FLAG_MASK)) + { + gTasks[taskId].func = Task_DrawMainMenu; + } + else + { + MenuDrawTextWindow(2, 14, 27, 19); + MenuPrintMessage(gBatteryDryMessage, 3, 15); + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(113, 159); + gTasks[taskId].func = Task_WaitForRtcErrorAck; + } + } +} + +void Task_WaitForRtcErrorAck(u8 taskId) +{ + if (MenuUpdateWindowText()) + { + if ( gMain.newKeys & 1 ) + { + MenuZeroFillWindowRect(2, 14, 27, 19); + gTasks[taskId].func = Task_DrawMainMenu; + } + } +} + +void Task_DrawMainMenu(u8 taskId) +{ + u16 palette; + + if (!gPaletteFade.active) + { + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WININ = 0x1111; + REG_WINOUT = 49; + REG_BLDCNT = 241; + REG_BLDALPHA = 0; + REG_BLDY = 7; + + palette = RGB(0, 0, 0); + LoadPalette(&palette, 254, 2); + + if (gSaveBlock2.playerGender == MALE) + { + palette = RGB(4, 16, 31); + LoadPalette(&palette, 241, 2); + } + else + { + palette = RGB(31, 3, 21); + LoadPalette(&palette, 241, 2); + } + + switch (gTasks[taskId].data[0]) + { + case 0: + default: + MenuDrawTextWindow(1, 0, 28, 3); + PrintMainMenuItem(gMainMenuString_NewGame, 2, 1); + MenuDrawTextWindow(1, 4, 28, 7); + PrintMainMenuItem(gMainMenuString_Option, 2, 5); + break; + case 1: + MenuDrawTextWindow(1, 0, 28, 7); + PrintMainMenuItem(gMainMenuString_Continue, 2, 1); + MenuDrawTextWindow(1, 8, 28, 11); + PrintMainMenuItem(gMainMenuString_NewGame, 2, 9); + MenuDrawTextWindow(1, 12, 28, 15); + PrintMainMenuItem(gMainMenuString_Option, 2, 13); + PrintSaveFileInfo(); + break; + case 2: + MenuDrawTextWindow(1, 0, 28, 7); + PrintMainMenuItem(gMainMenuString_Continue, 2, 1); + MenuDrawTextWindow(1, 8, 28, 11); + PrintMainMenuItem(gMainMenuString_NewGame, 2, 9); + MenuDrawTextWindow(1, 12, 28, 15); + PrintMainMenuItem(gMainMenuString_MysteryEvents, 2, 13); + MenuDrawTextWindow(1, 16, 28, 19); + PrintMainMenuItem(gMainMenuString_Option, 2, 0x11); + PrintSaveFileInfo(); + break; + } + + gTasks[taskId].func = Task_HighlightCurrentMenuItem; + } +} + +void Task_HighlightCurrentMenuItem(u8 taskId) +{ + HighlightCurrentMenuItem(gTasks[taskId].data[0], gTasks[taskId].data[1]); + gTasks[taskId].func = Task_MainMenuProcessKeyInput; +} + +bool8 MainMenuProcessKeyInput(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + audio_play(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0x0000); + gTasks[taskId].func = MainMenuPressedA; + } + else if (gMain.newKeys & B_BUTTON) + { + audio_play(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); + REG_WIN0H = WIN_RANGE(0, 240); + REG_WIN0V = WIN_RANGE(0, 160); + gTasks[taskId].func = MainMenuPressedB; + } + else + { + s32 menuItemCount; + + switch (gTasks[taskId].data[0]) + { + case 0: + default: + menuItemCount = 2; + break; + case 1: + menuItemCount = 3; + break; + case 2: + menuItemCount = 4; + break; + } + + if (gMain.newKeys & DPAD_UP) + { + if (gTasks[taskId].data[1] > 0) + { + gTasks[taskId].data[1]--; + return TRUE; + } + } + if (gMain.newKeys & DPAD_DOWN) + { + if (gTasks[taskId].data[1] < menuItemCount - 1) + { + gTasks[taskId].data[1]++; + return TRUE; + } + } + } + + return FALSE; +} + +void Task_MainMenuProcessKeyInput(u8 taskId) +{ + bool8 currentMenuItemChanged = MainMenuProcessKeyInput(taskId); + if (currentMenuItemChanged) + gTasks[taskId].func = Task_HighlightCurrentMenuItem; +} + +void MainMenuPressedA(u8 taskId) +{ + enum + { + NEW_GAME, + CONTINUE, + OPTION, + MYSTERY_EVENTS, + } action; + + if (gPaletteFade.active) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + default: + switch (gTasks[taskId].data[1]) + { + case 0: + default: + action = NEW_GAME; + break; + case 1: + action = OPTION; + break; + } + break; + case 1: + switch (gTasks[taskId].data[1]) + { + case 0: + default: + action = CONTINUE; + break; + case 1: + action = NEW_GAME; + break; + case 2: + action = OPTION; + break; + } + break; + case 2: + switch (gTasks[taskId].data[1]) + { + case 0: + default: + action = CONTINUE; + break; + case 1: + action = NEW_GAME; + break; + case 2: + action = MYSTERY_EVENTS; + break; + case 3: + action = OPTION; + break; + } + break; + } + + switch ((int)action) + { + case NEW_GAME: + default: + gPlttBufferUnfaded[0] = 0; + gPlttBufferFaded[0] = 0; + gTasks[taskId].func = Task_Birch1; + break; + case CONTINUE: + gPlttBufferUnfaded[0] = 0; + gPlttBufferFaded[0] = 0; + SetMainCallback2(CB2_ContinueSavedGame); + DestroyTask(taskId); + break; + case OPTION: + gMain.field_8 = (u32)sub_80096FC; + SetMainCallback2(CB2_InitOptionMenu); + DestroyTask(taskId); + break; + case MYSTERY_EVENTS: + SetMainCallback2(CB2_InitMysteryEventMenu); + DestroyTask(taskId); + break; + } +} + +void MainMenuPressedB(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_InitTitleScreen); + DestroyTask(taskId); + } +} + +void HighlightCurrentMenuItem(u8 layout, u8 menuItem) +{ + REG_WIN0H = WIN_RANGE(9, 231); + + switch (layout) + { + case 0: + default: + switch (menuItem) + { + case 0: + default: + REG_WIN0V = WIN_RANGE(1, 31); + break; + case 1: + REG_WIN0V = WIN_RANGE(33, 63); + break; + } + break; + case 1: + switch (menuItem) + { + case 0: + default: + REG_WIN0V = WIN_RANGE(1, 63); + break; + case 1: + REG_WIN0V = WIN_RANGE(65, 95); + break; + case 2: + REG_WIN0V = WIN_RANGE(97, 127); + break; + } + break; + case 2: + switch (menuItem) + { + case 0: + default: + REG_WIN0V = WIN_RANGE(1, 63); + break; + case 1: + REG_WIN0V = WIN_RANGE(65, 95); + break; + case 2: + REG_WIN0V = WIN_RANGE(97, 127); + break; + case 3: + REG_WIN0V = WIN_RANGE(129, 159); + break; + } + break; + } +} + +void PrintMainMenuItem(u8 *text, u8 left, u8 top) +{ + u8 i; + u8 buffer[32]; + + buffer[0] = 0xFC; + buffer[1] = 1; + buffer[2] = 14; + + for (i = 0; i < 26; i++) + buffer[3 + i] = text[i]; + + buffer[29] = EOS; + + MenuPrint(buffer, left, top); +} + +void PrintSaveFileInfo(void) +{ + PrintPlayerName(); + PrintPokedexCount(); + PrintPlayTime(); + PrintBadgeCount(); +} + +void PrintPlayerName(void) +{ + MenuPrint(gMainMenuString_Player, 2, 3); + MenuPrint(gSaveBlock2.playerName, 9, 3); +} + +void PrintPlayTime(void) +{ + u8 playTime[16]; + u8 alignedPlayTime[32]; + + MenuPrint(gMainMenuString_Time, 16, 3); + FormatPlayTime(playTime, gSaveBlock2.playTimeHours, gSaveBlock2.playTimeMinutes, 1); + sub_8072C74(alignedPlayTime, playTime, 48, 1); + MenuPrint(alignedPlayTime, 22, 3); +} + +void PrintPokedexCount(void) +{ + u8 buffer[16]; + + MenuPrint(gMainMenuString_Pokedex, 2, 5); + sub_8072C14(buffer, GetPokedexSeenCount(), 18, 0); + MenuPrint(buffer, 9, 5); +} + +void PrintBadgeCount(void) +{ + u8 buffer[16]; + + MenuPrint(gMainMenuString_Badges, 16, 5); + ConvertIntToDecimalString(buffer, GetBadgeCount()); + sub_80729D8(buffer, 205, 40, 1); +} + +//Text Strings +extern const u8 gUnknown_081C6D78[]; //Hi! Sorry to keep you waiting!... +extern const u8 gUnknown_081C6DF8[]; +extern const u8 gUnknown_081C6E1A[]; +extern const u8 gUnknown_081C6FCB[]; +extern const u8 gUnknown_081C6FD8[]; +extern const u8 gUnknown_081C6FFA[]; +extern u8 gUnknown_081C7017[]; +extern u8 gUnknown_081C7025[]; +extern u8 gUnknown_081C7074[]; + +struct MonCoords +{ + u8 x, y; +}; + +extern const struct MonCoords gMonFrontPicCoords[]; +extern const struct SpriteSheet gMonFrontPicTable[]; +extern const struct SpritePalette gMonPaletteTable[]; +extern struct SpriteTemplate gUnknown_02024E8C; +extern void * const gUnknown_081FAF4C[]; +extern u16 gUnknown_081E795C[]; +extern u8 * const gUnknown_081E79B0[][2]; +extern u8 * const gUnknown_081E79C0[][2]; +extern u8 * const gUnknown_081E79E8[][2]; + +extern const u8 gUnknown_081E764C[]; +extern const u8 gUnknown_081E768C[]; +extern const u8 gUnknown_081E7834[]; +extern const u8 gUnknown_081E796C[]; +extern const u8 gUnknown_0840DFF7[]; + +extern u8 gSpriteAffineAnimTable_81E79AC[]; + +extern struct Sprite gSprites[]; +extern u8 gStringVar4[]; + +extern u8 unk_2000000[]; + +void task_new_game_prof_birch_speech_2(u8 taskId); +void task_new_game_prof_birch_speech_3(u8 taskId); +void task_new_game_prof_birch_speech_4(u8 taskId); +void task_new_game_prof_birch_speech_5(u8 taskId); +void task_new_game_prof_birch_speech_6(u8 taskId); +void task_new_game_prof_birch_speech_7(u8 taskId); +void task_new_game_prof_birch_speech_8(u8 taskId); +void task_new_game_prof_birch_speech_9(u8 taskId); +void task_new_game_prof_birch_speech_10(u8 taskId); +void task_new_game_prof_birch_speech_11(u8 taskId); +void task_new_game_prof_birch_speech_12(u8 taskId); +void task_new_game_prof_birch_speech_13(u8 taskId); +void task_new_game_prof_birch_speech_14(u8 taskId); +void task_new_game_prof_birch_speech_15(u8 taskId); +void task_new_game_prof_birch_speech_16(u8 taskId); +void task_new_game_prof_birch_speech_17(u8 taskId); +void task_new_game_prof_birch_speech_18(u8 taskId); +void sub_800A974(u8 taskId); +void Task_800A9B4(u8 taskId); +void sub_800A9EC(u8 taskId); +void sub_800AAAC(u8 taskId); +void task_new_game_prof_birch_speech_part2_1(u8 taskId); +void sub_800AB38(u8 taskId); +void task_new_game_prof_birch_speech_part2_4(u8 taskId); +void sub_800AC20(u8 taskId); +void task_new_game_prof_birch_speech_part2_6(u8 taskId); +void task_new_game_prof_birch_speech_part2_7(u8 taskId); +void task_new_game_prof_birch_speech_part2_8(u8 taskId); +void task_new_game_prof_birch_speech_part2_9(u8 taskId); +void task_new_game_prof_birch_speech_part2_10(u8 taskId); +void sub_800AFC0(u8 taskId); +void sub_800B034(u8 taskId); +void new_game_prof_birch_speech_part2_start(); +void nullsub_34(struct Sprite *sprite); +void sub_800B240(struct Sprite *sprite); +u8 CreateAzurillSprite(u8, u8); +void AddBirchSpeechObjects(u8); +void sub_800B3EC(u8); +void sub_800B458(u8, u8); +void sub_800B4C8(u8); +void sub_800B534(u8 taskId, u8 a); +void sub_800B5A8(u8); +void sub_800B614(u8, u8); +void sub_800B654(u8); +void sub_800B6C0(u8 taskId, u8 a); +void CreateGenderMenu(u8 left, u8 top); +s8 GenderMenuProcessInput(void); +void CreateNameMenu(u8 a, u8 b); +s8 NameMenuProcessInput(void); +void set_default_player_name(u8 a); + +void Task_Birch1(u8 taskId) +{ + SetUpWindowConfig(&gWindowConfig_81E6C3C); + InitMenuWindow(&gWindowConfig_81E6CE4); + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WININ = 0; + REG_WINOUT = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + LZ77UnCompVram(gUnknown_081E768C, (void *)BG_VRAM); + LZ77UnCompVram(gUnknown_081E7834, (void *)(BG_VRAM + 0x3800)); + LoadPalette(gUnknown_081E764C, 0, 0x40); + LoadPalette(gUnknown_081E796C, 1, 0x10); + remove_some_task(); + ResetSpriteData(); + FreeAllSpritePalettes(); + AddBirchSpeechObjects(taskId); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + REG_BG1CNT = 0x00000703; + REG_DISPCNT = DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP; + gTasks[taskId].data[4] = 0; + gTasks[taskId].func = task_new_game_prof_birch_speech_2; + gTasks[taskId].data[2] = 0xFF; + gTasks[taskId].data[3] = 0xFF; + gTasks[taskId].data[7] = 0xD8; + + sub_8075474(BGM_DOORO_X4); +} + +void task_new_game_prof_birch_speech_2(u8 taskId) +{ + struct Task *tasks = gTasks; + struct Task *task = &tasks[taskId]; + + if (task->data[7] != 0) + { + task->data[7]--; + } + else + { + u8 spriteId = task->data[8]; + struct Sprite *sprites = gSprites; + struct Sprite *sprite = &sprites[spriteId]; + sprite->pos1.x = 0x88; + sprite->pos1.y = 0x3C; + sprite->invisible = 0; + sprite->oam.objMode = 1; + sub_800B534(taskId, 0xA); + sub_800B6C0(taskId, 0x14); + task->data[7] = 0x50; + task->func = task_new_game_prof_birch_speech_3; + } +} + +void task_new_game_prof_birch_speech_3(u8 taskId) +{ + struct Task *tasks = gTasks; + struct Task *task = &tasks[taskId]; + + if (task->data[5] != 0) + { + struct Sprite *sprites = gSprites; + struct Sprite *sprite = &sprites[task->data[8]]; + + sprite->oam.objMode = 0; + if (task->data[7]) + { + task->data[7]--; + } + else + { + MenuDrawTextWindow(0x2, 0xD, 0x1B, 0x12); + MenuPrintMessage(gUnknown_081C6D78, 3, 14); + task->func = task_new_game_prof_birch_speech_4; + } + } +} + +void task_new_game_prof_birch_speech_4(u8 taskId) +{ + if (!gPaletteFade.active && MenuUpdateWindowText_OverrideLineLength(24)) + { + gTasks[taskId].func = task_new_game_prof_birch_speech_5; + MenuPrintMessage(gUnknown_081C6DF8, 3, 14); + } +} + +void task_new_game_prof_birch_speech_5(u8 taskId) +{ + if (MenuUpdateWindowText_OverrideLineLength(24)) + gTasks[taskId].func = task_new_game_prof_birch_speech_6; +} + +void task_new_game_prof_birch_speech_6(u8 taskId) +{ + struct Task *tasks = gTasks; + struct Task *task = &tasks[taskId]; + u8 data = task->data[9]; + struct Sprite *sprites = gSprites; + struct Sprite *sprite = &sprites[data]; + + sprite->pos1.x = 0x68; + sprite->pos1.y = 0x48; + sprite->invisible = 0; + sprite->data0 = 0; + CreatePokeballSprite(data, sprite->oam.paletteNum, 0x70, 0x3A, 0, 0, 0x20, 0x0000FFFF); + task->func = task_new_game_prof_birch_speech_7; + task->data[7] = 0; +} + +void task_new_game_prof_birch_speech_7(u8 taskId) +{ + struct Task *tasks; + struct Task *task; + + if (sub_8075374()) + { + struct Task *tasks = gTasks; + struct Task *task = &tasks[taskId]; + + if (task->data[7] > 0x5F) + { + MenuSetText((u32)&gUnknown_0840DFF7); + task->func = task_new_game_prof_birch_speech_8; + } + } + + tasks = gTasks; + task = &tasks[taskId]; + + if (task->data[7] < 0x4000) + { + task->data[7]++; + if (task->data[7] == 0x20) + { + cry_related(SPECIES_AZURILL, 0); + } + } +} + +void task_new_game_prof_birch_speech_8(u8 taskId) +{ + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + MenuPrintMessage(gUnknown_081C6E1A, 3, 14); + gTasks[taskId].func = task_new_game_prof_birch_speech_9; + } +} + +void task_new_game_prof_birch_speech_9(u8 taskId) +{ + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + MenuDrawTextWindow(0x2, 0xD, 0x1B, 0x12); + MenuPrintMessage(gUnknown_081C6FCB, 3, 14); + gTasks[taskId].func = task_new_game_prof_birch_speech_10; + } +} + +void task_new_game_prof_birch_speech_10(u8 taskId) +{ + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + struct Sprite *sprites = gSprites; + struct Task *tasks = gTasks; + struct Task *task = &tasks[taskId]; + struct Sprite *sprite = &sprites[task->data[8]]; + struct Sprite *sprite2; + + sprite->oam.objMode = 1; + sprite2 = &sprites[task->data[9]]; + sprite2->oam.objMode = 1; + sub_800B458(taskId, 0x2); + sub_800B614(taskId, 0x1); + task->data[7] = 0x40; + task->func = task_new_game_prof_birch_speech_11; + } +} + +void task_new_game_prof_birch_speech_11(u8 taskId) +{ + struct Task *tasks = gTasks; + struct Task *task = &tasks[taskId]; + + if (task->data[4] != -0x3C) + { + task->data[4] -= 2; + REG_BG1HOFS = task->data[4]; + } + else + { + task->data[4] = 0x0000ffc4; + task->func = task_new_game_prof_birch_speech_12; + } +} + +void task_new_game_prof_birch_speech_12(u8 taskId) +{ + if (gTasks[taskId].data[5]) + { + gSprites[gTasks[taskId].data[8]].invisible = 1; + gSprites[gTasks[taskId].data[9]].invisible = 1; + + if (gTasks[taskId].data[7]) + { + gTasks[taskId].data[7]--; + } + else + { + u8 data10 = gTasks[taskId].data[10]; + + gSprites[data10].pos1.x = 0xB4; + gSprites[data10].pos1.y = 0x3C; + gSprites[data10].invisible = 0; + gSprites[data10].oam.objMode = 1; + gTasks[taskId].data[2] = data10; + gTasks[taskId].data[6] = 0; + sub_800B534(taskId, 2); + sub_800B6C0(taskId, 1); + gTasks[taskId].func = task_new_game_prof_birch_speech_13; + } + } +} + +void task_new_game_prof_birch_speech_13(u8 taskId) +{ + struct Task *tasks = gTasks; + struct Task *task = &tasks[taskId]; + + if (task->data[5]) + { + struct Sprite *sprites = gSprites; + struct Sprite *sprite = &sprites[task->data[2]]; + + sprite->oam.objMode = 0; + task->func = task_new_game_prof_birch_speech_14; + } +} + +void task_new_game_prof_birch_speech_14(u8 taskId) +{ + MenuDrawTextWindow(2, 0xD, 0x1B, 0x12); + MenuPrintMessage(gUnknown_081C6FD8, 3, 14); + gTasks[taskId].func = task_new_game_prof_birch_speech_15; +} + +void task_new_game_prof_birch_speech_15(u8 taskId) +{ + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + CreateGenderMenu(2, 4); + gTasks[taskId].func = task_new_game_prof_birch_speech_16; + } +} + +void task_new_game_prof_birch_speech_16(u8 taskId) +{ + u8 cursorPos; + + switch (GenderMenuProcessInput()) + { + case MALE: + sub_8072DEC(); + audio_play(SE_SELECT); + gSaveBlock2.playerGender = MALE; + MenuZeroFillWindowRect(2, 4, 8, 9); + gTasks[taskId].func = sub_800A974; + break; + case FEMALE: + sub_8072DEC(); + audio_play(SE_SELECT); + gSaveBlock2.playerGender = FEMALE; + MenuZeroFillWindowRect(2, 4, 8, 9); + gTasks[taskId].func = sub_800A974; + break; + } + + cursorPos = GetMenuCursorPos(); + + if (cursorPos != gTasks[taskId].data[6]) + { + gTasks[taskId].data[6] = cursorPos; + gSprites[gTasks[taskId].data[2]].oam.objMode = 1; + sub_800B458(taskId, 0); + gTasks[taskId].func = task_new_game_prof_birch_speech_17; + } +} + +void task_new_game_prof_birch_speech_17(u8 taskId) +{ + u8 spriteId = gTasks[taskId].data[2]; + + if (gTasks[taskId].data[5] == 0) + { + gSprites[spriteId].pos1.x += 4; + } + else + { + gSprites[spriteId].invisible = 1; + if (gTasks[taskId].data[6]) + { + spriteId = gTasks[taskId].data[11]; + } + else + { + spriteId = gTasks[taskId].data[10]; + } + + gSprites[spriteId].pos1.x = 0xF0; + gSprites[spriteId].pos1.y = 0x3C; + gSprites[spriteId].invisible = 0; + gTasks[taskId].data[2] = spriteId; + gSprites[spriteId].oam.objMode = 1; + sub_800B534(taskId, 0); + gTasks[taskId].func = task_new_game_prof_birch_speech_18; + } +} + +void task_new_game_prof_birch_speech_18(u8 taskId) +{ + u8 spriteId = gTasks[taskId].data[2]; + + if (gSprites[spriteId].pos1.x > 0xB4) + { + gSprites[spriteId].pos1.x -= 4; + } + else + { + gSprites[spriteId].pos1.x = 0xB4; + if (gTasks[taskId].data[5]) + { + gSprites[spriteId].oam.objMode = 0; + gTasks[taskId].func = task_new_game_prof_birch_speech_16; + } + } +} + +void sub_800A974(u8 taskId) +{ + MenuDrawTextWindow(2, 13, 27, 18); + MenuPrintMessage(gUnknown_081C6FFA, 3, 14); + gTasks[taskId].func = Task_800A9B4; +} + +void Task_800A9B4(u8 taskId) +{ + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + CreateNameMenu(2, 1); + gTasks[taskId].func = sub_800A9EC; + } +} + +void sub_800A9EC(u8 taskId) +{ + s8 n = NameMenuProcessInput(); + + switch (n) + { + case 1: + case 2: + case 3: + case 4: + sub_8072DEC(); + audio_play(SE_SELECT); + MenuZeroFillWindowRect(2, 1, 22, 12); + set_default_player_name(n); + gTasks[taskId].func = task_new_game_prof_birch_speech_part2_1; + break; + case 0: + audio_play(SE_SELECT); + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gTasks[taskId].func = sub_800AAAC; + break; + case -1: + sub_8072DEC(); + audio_play(SE_SELECT); + MenuZeroFillWindowRect(2, 1, 22, 12); + gTasks[taskId].func = task_new_game_prof_birch_speech_14; + break; + } +} + +void sub_800AAAC(u8 taskId) +{ + if (!gPaletteFade.active) + { + set_default_player_name(1); + DoNamingScreen(0, &gSaveBlock2, gSaveBlock2.playerGender, 0, 0, new_game_prof_birch_speech_part2_start); + } +} + +void task_new_game_prof_birch_speech_part2_1(u8 taskId) +{ + MenuDrawTextWindow(2, 13, 27, 18); + StringExpandPlaceholders(gStringVar4, gUnknown_081C7017); + MenuPrintMessage(gStringVar4, 3, 14); + gTasks[taskId].func = sub_800AB38; +} + +void sub_800AB38(u8 taskId) +{ + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + DisplayYesNoMenu(2, 1, 1); + gTasks[taskId].func = task_new_game_prof_birch_speech_part2_4; + } +} + +void task_new_game_prof_birch_speech_part2_4(u8 taskId) +{ + switch (ProcessMenuInputNoWrap_()) + { + case 0: + audio_play(SE_SELECT); + MenuZeroFillWindowRect(2, 1, 8, 7); + gSprites[gTasks[taskId].data[2]].oam.objMode = ST_OAM_OBJ_BLEND; + sub_800B458(taskId, 2); + sub_800B614(taskId, 1); + gTasks[taskId].func = sub_800AC20; + break; + case -1: + case 1: + audio_play(SE_SELECT); + MenuZeroFillWindowRect(2, 1, 8, 7); + gTasks[taskId].func = task_new_game_prof_birch_speech_14; + break; + } +} + +void sub_800AC20(u8 taskId) +{ + if (gTasks[taskId].data[4]) + { + gTasks[taskId].data[4] += 2; + REG_BG1HOFS = gTasks[taskId].data[4]; + } + else + { + gTasks[taskId].func = task_new_game_prof_birch_speech_part2_6; + } +} + +void task_new_game_prof_birch_speech_part2_6(u8 taskId) +{ + if (gTasks[taskId].data[5]) + { + s16 spriteId; + + spriteId = gTasks[taskId].data[10]; + gSprites[spriteId].invisible = 1; + + spriteId = gTasks[taskId].data[11]; + gSprites[spriteId].invisible = 1; + + spriteId = (u8)gTasks[taskId].data[8]; + gSprites[spriteId].pos1.x = 0x88; + gSprites[spriteId].pos1.y = 0x40; + gSprites[spriteId].invisible = 0; + gSprites[spriteId].oam.objMode = 1; + + spriteId = (u8)gTasks[taskId].data[9]; + gSprites[spriteId].pos1.x = 0x68; + gSprites[spriteId].pos1.y = 0x48; + gSprites[spriteId].invisible = 0; + gSprites[spriteId].oam.objMode = 1; + + sub_800B534(taskId, 2); + sub_800B6C0(taskId, 1); + MenuDrawTextWindow(2, 13, 27, 18); + StringExpandPlaceholders(gStringVar4, gUnknown_081C7025); + MenuPrintMessage(gStringVar4, 3, 14); + gTasks[taskId].func = task_new_game_prof_birch_speech_part2_7; + } +} + +void task_new_game_prof_birch_speech_part2_7(u8 taskId) +{ + if (gTasks[taskId].data[5]) + { + s16 spriteId; + + spriteId = gTasks[taskId].data[8]; + gSprites[spriteId].oam.objMode = 0; + + spriteId = gTasks[taskId].data[9]; + gSprites[spriteId].oam.objMode = 0; + + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + spriteId = gTasks[taskId].data[8]; + gSprites[spriteId].oam.objMode = 1; + + spriteId = gTasks[taskId].data[9]; + gSprites[spriteId].oam.objMode = 1; + + sub_800B458(taskId, 2); + sub_800B614(taskId, 1); + gTasks[taskId].data[7] = 0x40; + gTasks[taskId].func = task_new_game_prof_birch_speech_part2_8; + } + } +} + +void task_new_game_prof_birch_speech_part2_8(u8 taskId) +{ + if (gTasks[taskId].data[5]) + { + s16 spriteId; + + spriteId = gTasks[taskId].data[8]; + gSprites[spriteId].invisible = 1; + + spriteId = gTasks[taskId].data[9]; + gSprites[spriteId].invisible = 1; + + if (gTasks[taskId].data[7]) + { + gTasks[taskId].data[7]--; + } + else + { + u8 spriteId; + + if (gSaveBlock2.playerGender) + spriteId = (u8)gTasks[taskId].data[11]; + else + spriteId = (u8)gTasks[taskId].data[10]; + + gSprites[spriteId].pos1.x = 0x78; + gSprites[spriteId].pos1.y = 0x3C; + gSprites[spriteId].invisible = 0; + gSprites[spriteId].oam.objMode = 1; + gTasks[taskId].data[2] = spriteId; + + sub_800B534(taskId, 2); + sub_800B6C0(taskId, 1); + MenuDrawTextWindow(2, 13, 27, 18); + MenuPrintMessage(gUnknown_081C7074, 3, 14); + gTasks[taskId].func = task_new_game_prof_birch_speech_part2_9; + } + } +} + +void task_new_game_prof_birch_speech_part2_9(u8 taskId) +{ + if (gTasks[taskId].data[5]) + { + s16 spriteId; + + spriteId = gTasks[taskId].data[2]; + gSprites[spriteId].oam.objMode = 0; + + if (MenuUpdateWindowText_OverrideLineLength(24)) + { + u8 spriteId; + + spriteId = gTasks[taskId].data[2]; + gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].affineAnims = (union AffineAnimCmd **)gSpriteAffineAnimTable_81E79AC; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 0); + gSprites[spriteId].callback = sub_800B240; + BeginNormalPaletteFade(0x0000ffff, 0, 0, 0x10, 0); + play_sound_effect(4); + gTasks[taskId].func = task_new_game_prof_birch_speech_part2_10; + } + } +} + +void task_new_game_prof_birch_speech_part2_10(u8 taskId) +{ + u8 spriteId = gTasks[taskId].data[2]; + + if (gSprites[spriteId].affineAnimEnded) + gTasks[taskId].func = sub_800AFC0; +} + +void sub_800AFC0(u8 taskId) +{ + if (!gPaletteFade.active) + { + u8 spriteId = gTasks[taskId].data[2]; + gSprites[spriteId].callback = nullsub_34; + REG_DISPCNT = 4160; + BeginNormalPaletteFade(0xFFFF0000, 0, 0, 0x10, 0xFFFF); + gTasks[taskId].func = sub_800B034; + } +} + +void sub_800B034(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(c2_load_new_map_2); + DestroyTask(taskId); + } +} + +// CB2 +void new_game_prof_birch_speech_part2_start() +{ + u8 taskId; + u8 spriteId; + u16 savedIme; + + SetVBlankCallback(NULL); + + REG_DISPCNT = 0; + REG_BG2CNT = 0; + REG_BG1CNT = 0; + REG_BG0CNT = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + + DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)OAM, OAM_SIZE); + DmaFill16(3, 0, (void *)PLTT, PLTT_SIZE); + + ResetPaletteFade(); + + LZ77UnCompVram(gUnknown_081E768C, (void *)BG_VRAM); + LZ77UnCompVram(gUnknown_081E7834, (void *)(BG_VRAM + 0x3800)); + + LoadPalette(gUnknown_081E764C, 0, 0x40); + + ResetTasks(); + + taskId = CreateTask(task_new_game_prof_birch_speech_part2_1, 0); + + gTasks[taskId].data[4] = -60; + + remove_some_task(); + ResetSpriteData(); + FreeAllSpritePalettes(); + AddBirchSpeechObjects(taskId); + + SetUpWindowConfig(&gWindowConfig_81E6C3C); + InitMenuWindow(&gWindowConfig_81E6CE4); + + if (gSaveBlock2.playerGender != MALE) + { + gTasks[taskId].data[6] = FEMALE; + spriteId = gTasks[taskId].data[11]; + } + else + { + gTasks[taskId].data[6] = MALE; + spriteId = gTasks[taskId].data[10]; + } + + gSprites[spriteId].pos1.x = 180; + gSprites[spriteId].pos1.y = 60; + gSprites[spriteId].invisible = 0; + + gTasks[taskId].data[2] = spriteId; + + REG_BG1HOFS = -60; + + BeginNormalPaletteFade(0xFFFFFFFFu, 0, 0x10, 0, 0); + + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WININ = 0; + REG_WINOUT = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + + savedIme = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = savedIme; + + SetVBlankCallback(VBlankCB_MainMenu); + SetMainCallback2(CB2_MainMenu); + REG_BG1CNT = 1795; + REG_DISPCNT = 4928; +} + +void nullsub_34(struct Sprite *sprite) +{ +} + +void sub_800B240(struct Sprite *sprite) +{ + u32 y = (sprite->pos1.y << 16) + sprite->data0 + 0xC000; + sprite->pos1.y = y >> 16; + sprite->data0 = y; +} + +u8 CreateAzurillSprite(u8 a1, u8 a2) +{ + DecompressPicFromTable_2( + &gMonFrontPicTable[SPECIES_AZURILL], + gMonFrontPicCoords[SPECIES_AZURILL].x, + gMonFrontPicCoords[SPECIES_AZURILL].y, + gUnknown_081FAF4C[0], + gUnknown_081FAF4C[1], + SPECIES_AZURILL); + LoadCompressedObjectPalette(&gMonPaletteTable[SPECIES_AZURILL]); + gpu_pal_obj_decompress_and_apply(SPECIES_AZURILL, 1); + return CreateSprite(&gUnknown_02024E8C, a1, a2, 0); +} + +void AddBirchSpeechObjects(u8 taskId) +{ + u8 spriteId; + + spriteId = AddNewGameBirchObject(136, 60, 1); + gSprites[spriteId].callback = nullsub_34; + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].invisible = 1; + gTasks[taskId].data[8] = spriteId; + + spriteId = CreateAzurillSprite(0x68, 0x48); + gSprites[spriteId].callback = nullsub_34; + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].invisible = 1; + gTasks[taskId].data[9] = spriteId; + + spriteId = sub_80859BC(0, 120, 60, 0, unk_2000000); + gSprites[spriteId].callback = nullsub_34; + gSprites[spriteId].invisible = 1; + gSprites[spriteId].oam.priority = 0; + gTasks[taskId].data[10] = spriteId; + + spriteId = sub_80859BC(1, 120, 60, 0, unk_2000000 + 0x800); + gSprites[spriteId].callback = nullsub_34; + gSprites[spriteId].invisible = 1; + gSprites[spriteId].oam.priority = 0; + gTasks[taskId].data[11] = spriteId; +} + +void sub_800B3EC(u8 taskId) +{ + if (gTasks[taskId].data[1] == 0) + { + gTasks[gTasks[taskId].data[0]].data[5] = 1; + DestroyTask(taskId); + } + else + { + if (gTasks[taskId].data[4]) + { + gTasks[taskId].data[4]--; + } + else + { + gTasks[taskId].data[4] = gTasks[taskId].data[3]; + gTasks[taskId].data[1]--; + gTasks[taskId].data[2]++; + REG_BLDALPHA = gTasks[taskId].data[1] + (gTasks[taskId].data[2] * 256); + } + } +} + +void sub_800B458(u8 taskId, u8 a2) +{ + u8 newTaskId; + + REG_BLDCNT = 592; + REG_BLDALPHA = 16; + REG_BLDY = 0; + gTasks[taskId].data[5] = 0; + newTaskId = CreateTask(sub_800B3EC, 0); + + gTasks[newTaskId].data[0] = taskId; + gTasks[newTaskId].data[1] = 16; + gTasks[newTaskId].data[2] = 0; + gTasks[newTaskId].data[3] = a2; + gTasks[newTaskId].data[4] = a2; +} + +void sub_800B4C8(u8 taskId) +{ + if (gTasks[taskId].data[1] == 16) + { + gTasks[gTasks[taskId].data[0]].data[5] = 1; + DestroyTask(taskId); + } + else if (gTasks[taskId].data[4]) + { + gTasks[taskId].data[4]--; + } + else + { + gTasks[taskId].data[4] = gTasks[taskId].data[3]; + gTasks[taskId].data[1]++; + gTasks[taskId].data[2]--; + REG_BLDALPHA = gTasks[taskId].data[1] + (gTasks[taskId].data[2] * 256); + } +} + +void sub_800B534(u8 taskId, u8 a2) +{ + u8 newTaskId; + + REG_BLDCNT = 592; + REG_BLDALPHA = 4096; + REG_BLDY = 0; + gTasks[taskId].data[5] = 0; + newTaskId = CreateTask(sub_800B4C8, 0); + + gTasks[newTaskId].data[0] = taskId; + gTasks[newTaskId].data[1] = 0; + gTasks[newTaskId].data[2] = 16; + gTasks[newTaskId].data[3] = a2; + gTasks[newTaskId].data[4] = a2; +} + +void sub_800B5A8(u8 taskId) +{ + if (gTasks[taskId].data[2]) + { + gTasks[taskId].data[2]--; + } + else + { + if (gTasks[taskId].data[1] == 8) + { + DestroyTask(taskId); + } + else if (gTasks[taskId].data[4]) + { + gTasks[taskId].data[4]--; + } + else + { + gTasks[taskId].data[4] = gTasks[taskId].data[3]; + gTasks[taskId].data[1]++; + LoadPalette(&gUnknown_081E795C[gTasks[taskId].data[1]], 1, 0x10); + } + } +} + +void sub_800B614(u8 a1, u8 a2) +{ + u8 newTaskId = CreateTask(sub_800B5A8, 0); + gTasks[newTaskId].data[0] = a1; + gTasks[newTaskId].data[1] = 0; + gTasks[newTaskId].data[2] = 8; + gTasks[newTaskId].data[3] = a2; + gTasks[newTaskId].data[4] = a2; +} + +void sub_800B654(u8 taskId) +{ + if (gTasks[taskId].data[2]) + { + gTasks[taskId].data[2]--; + } + else + { + if (gTasks[taskId].data[1] == 0) + { + DestroyTask(taskId); + } + else + { + if (gTasks[taskId].data[4]) + { + gTasks[taskId].data[4]--; + } + else + { + gTasks[taskId].data[4] = gTasks[taskId].data[3]; + gTasks[taskId].data[1]--; + LoadPalette(&gUnknown_081E795C[gTasks[taskId].data[1]], 1, 0x10); + } + } + } +} + +void sub_800B6C0(u8 a1, u8 a2) +{ + u8 newTaskId = CreateTask(sub_800B654, 0); + gTasks[newTaskId].data[0] = a1; + gTasks[newTaskId].data[1] = 8; + gTasks[newTaskId].data[2] = 8; + gTasks[newTaskId].data[3] = a2; + gTasks[newTaskId].data[4] = a2; +} + +void CreateGenderMenu(u8 left, u8 top) +{ + u8 menuLeft, menuTop; + MenuDrawTextWindow(left, top, left + 6, top + 5); + menuLeft = left + 1; + menuTop = top + 1; + PrintMenuItems(menuLeft, menuTop, 2, gUnknown_081E79B0); + InitMenu(0, menuLeft, menuTop, 2, 0, 5); +} + +s8 GenderMenuProcessInput(void) +{ + return ProcessMenuInputNoWrap(); +} + +void CreateNameMenu(u8 left, u8 top) +{ + MenuDrawTextWindow(left, top, left + 10, top + 11); + + if (gSaveBlock2.playerGender == MALE) + { + PrintMenuItems((u8)(left + 1), (u8)(top + 1), 5, gUnknown_081E79C0); + } + else + { + PrintMenuItems((u8)(left + 1), (u8)(top + 1), 5, gUnknown_081E79E8); + } + + InitMenu(0, (u8)(left + 1), (u8)(top + 1), 5, 0, 9); +} + +s8 NameMenuProcessInput(void) +{ + return ProcessMenuInput(); +} + +void set_default_player_name(u8 index) +{ + u8 i; + u8 *name; + + if (gSaveBlock2.playerGender == MALE) + name = gUnknown_081E79C0[index][0]; + else + name = gUnknown_081E79E8[index][0]; + + for (i = 0; i < 7; i++) + gSaveBlock2.playerName[i] = name[i]; + + gSaveBlock2.playerName[i] = EOS; +} diff --git a/src/menu.c b/src/menu.c new file mode 100644 index 000000000..b101165f2 --- /dev/null +++ b/src/menu.c @@ -0,0 +1,1003 @@ +#include "global.h" +#include "main.h" +#include "text.h" +#include "songs.h" +#include "text_window.h" + +struct Menu +{ + u8 left; + u8 top; + s8 cursorPos; + s8 minCursorPos; + s8 maxCursorPos; + u8 width; + u8 height; + u8 menu_field_7; + u8 columnXCoords[8]; +}; + +void InitMenuWindow(struct WindowConfig *); +void MultistepInitMenuWindowBegin(struct WindowConfig *); +void MultistepInitMenuWindowInternal(struct WindowConfig *, u16); +bool32 MultistepInitMenuWindowContinue(void); +void InitMenuWindowInternal(struct WindowConfig *, u16); +void unref_sub_8071DA4(struct WindowConfig *, u16); +void MenuLoadTextWindowGraphics_OverrideFrameType(u8); +void MenuLoadTextWindowGraphics(void); +void BasicInitMenuWindow(struct WindowConfig *); +void MenuPrint(u8 *, u8, u8); +void MenuZeroFillWindowRect(u8, u8, u8, u8); +void MenuFillWindowRectWithBlankTile(u8, u8, u8, u8); +void MenuZeroFillScreen(void); +void MenuDrawTextWindow(u8, u8, u8, u8); +void sub_8071F40(u8 *); +void sub_8071F60(u8, u8, u8, u8); +u16 unref_sub_8071F98(u8, u8); +void unref_sub_8071FBC(u16, u8, u8, u8, u8); +void MenuDisplayMessageBox(void); +void MenuPrintMessage(u8 *, u8, u8); +void sub_8072044(u8 *); +void MenuSetText(u8 *); +u8 MenuUpdateWindowText(void); +u8 unref_sub_8072098(void); +void sub_80720B0(void); +u8 MoveMenuCursor(s8); +u8 MoveMenuCursorNoWrap(s8); +u8 GetMenuCursorPos(void); +s8 ProcessMenuInput(void); +s8 ProcessMenuInputNoWrap(void); +u8 MoveMenuCursor3(s8); +u8 MoveMenuCursor4(s8); +bool8 sub_80723D4(void); +u8 sub_8072484(u8, u8, u8, u8, u8, u8, u32); +u8 sub_80724F4(u8, u8, u8, u8*[][2], u8); +void sub_8072620(u8, u8, u8, u8*[][2], u8); +void sub_807274C(u8, u8, u8, u8, u8*[][2], u8, u32); +s8 sub_80727CC(void); +u8 sub_807288C(u8); +void PrintMenuItems(u8, u8, u8, u8*[][2]); +void PrintMenuItemsReordered(u8, u8, u8, u8*[][2], u8*); +void InitYesNoMenu(u8, u8, u8); +void DisplayYesNoMenu(u8, u8, u32); +s8 ProcessMenuInputNoWrap_(void); +u8 sub_80729D8(u8 *, u8, u16, u8); +u8 sub_8072A18(u8 *, u8, u16, u8, u32); +u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32); +int sub_8072AB0(u8 *, u8, u16, u8, u8, u32); +void sub_8072B4C(u8 *, u8, u8); +void sub_8072B80(u8 *, u8, u8, u8 *); +void sub_8072BD8(u8 *, u8, u8, u16); +u8 *sub_8072C14(u8 *, s32, u8, u8); +u8 *sub_8072C44(u8 *, s32, u8, u8); +u8 *sub_8072C74(u8 *, u8 *, u8, u8); +u8 sub_8072CA4(u8 *s); +u8 sub_8072CBC(void); +void sub_8072CD4(u8 *, u8 *, u8 *); +u32 MenuUpdateWindowText_OverrideLineLength(u8); +struct Window * unref_sub_8072D0C(void); +void sub_8072D18(u8, u8); +u8 InitMenu(u8, u8, u8, u8, u8, u8); +void RedrawMenuCursor(u8, u8); +void unref_sub_8072DC0(void); +void sub_8072DCC(u8); +void sub_8072DDC(u8); +void sub_8072DEC(void); + +extern void sub_814A5C0(u8, u16, u8, u16, u8); +extern void sub_814A880(u8, u8); +extern void sub_814A904(void); +extern void sub_814A958(u8); +extern void sub_814A7FC(void); + +static struct Menu gMenu; + +extern struct Window gMenuWindow; +extern struct Window *gMenuWindowPtr; +extern u8 gMenuMultistepInitState; +extern u16 gMenuTextTileOffset; +extern u16 gMenuTextWindowTileOffset; +extern u16 gMenuTextWindowContentTileOffset; +extern u16 gMenuMessageBoxContentTileOffset; + +extern const u8 *gUnknown_08376D74[][2]; + +void InitMenuWindow(struct WindowConfig *winConfig) +{ + InitMenuWindowInternal(winConfig, 1); +} + +void MultistepInitMenuWindowBegin(struct WindowConfig *winConfig) +{ + MultistepInitMenuWindowInternal(winConfig, 1); +} + +void MultistepInitMenuWindowInternal(struct WindowConfig *winConfig, u16 tileOffset) +{ + gMenuMultistepInitState = 0; + gMenuTextTileOffset = tileOffset; + gMenuWindowPtr = &gMenuWindow; + InitWindowFromConfig(&gMenuWindow, winConfig); +} + +bool32 MultistepInitMenuWindowContinue(void) +{ + switch (gMenuMultistepInitState) + { + case 0: + gMenuMultistepInitState++; + return 0; + case 1: + gMenuTextWindowTileOffset = MultistepInitWindowTileData(gMenuWindowPtr, gMenuTextTileOffset); + goto next; + case 2: + if (!MultistepLoadFont()) + goto fail; + goto next; + case 3: + gMenuTextWindowContentTileOffset = SetTextWindowBaseTileNum(gMenuTextWindowTileOffset); + next: + gMenuMultistepInitState++; + return 0; + case 4: + LoadTextWindowGraphics(gMenuWindowPtr); + gMenuMessageBoxContentTileOffset = SetMessageBoxBaseTileNum(gMenuTextWindowContentTileOffset); + return 1; + default: + fail: + return 0; + } +} + +void InitMenuWindowInternal(struct WindowConfig *winConfig, u16 tileOffset) +{ + gMenuWindowPtr = &gMenuWindow; + InitWindowFromConfig(&gMenuWindow, winConfig); + gMenuTextTileOffset = tileOffset; + gMenuTextWindowTileOffset = InitWindowTileData(gMenuWindowPtr, gMenuTextTileOffset); + gMenuTextWindowContentTileOffset = SetTextWindowBaseTileNum(gMenuTextWindowTileOffset); + LoadTextWindowGraphics(gMenuWindowPtr); + gMenuMessageBoxContentTileOffset = SetMessageBoxBaseTileNum(gMenuTextWindowContentTileOffset); +} + +void unref_sub_8071DA4(struct WindowConfig *winConfig, u16 tileOffset) +{ + gMenuWindowPtr = &gMenuWindow; + InitWindowFromConfig(&gMenuWindow, winConfig); + gMenuTextWindowTileOffset = tileOffset; + gMenuTextWindowContentTileOffset = SetTextWindowBaseTileNum(gMenuTextWindowTileOffset); + LoadTextWindowGraphics(gMenuWindowPtr); + gMenuTextTileOffset = SetMessageBoxBaseTileNum(gMenuTextWindowContentTileOffset); + gMenuMessageBoxContentTileOffset = InitWindowTileData(gMenuWindowPtr, gMenuTextTileOffset); +} + +void MenuLoadTextWindowGraphics_OverrideFrameType(u8 frameType) +{ + LoadTextWindowGraphics_OverrideFrameType(gMenuWindowPtr, frameType); +} + +void MenuLoadTextWindowGraphics(void) +{ + LoadTextWindowGraphics(gMenuWindowPtr); +} + +void BasicInitMenuWindow(struct WindowConfig *winConfig) +{ + InitWindowFromConfig(gMenuWindowPtr, winConfig); + gMenuWindowPtr->tileDataStartOffset = gMenuTextTileOffset; +} + +void MenuPrint(u8 *str, u8 left, u8 top) +{ + sub_8003460(gMenuWindowPtr, str, gMenuTextTileOffset, left, top); +} + +void MenuZeroFillWindowRect(u8 a1, u8 a2, u8 a3, u8 a4) +{ + ZeroFillWindowRect(gMenuWindowPtr, a1, a2, a3, a4); +} + +void MenuFillWindowRectWithBlankTile(u8 left, u8 top, u8 right, u8 bottom) +{ + FillWindowRectWithBlankTile(gMenuWindowPtr, left, top, right, bottom); +} + +void MenuZeroFillScreen(void) +{ + MenuZeroFillWindowRect(0, 0, 29, 19); +} + +void MenuDrawTextWindow(u8 left, u8 top, u8 right, u8 bottom) +{ + DrawTextWindow(gMenuWindowPtr, left, top, right, bottom); +} + +void sub_8071F40(u8 *str) +{ + MenuDrawTextWindow(2, 14, 28, 19); + MenuPrint(str, 3, 15); +} + +void sub_8071F60(u8 a1, u8 a2, u8 a3, u8 a4) +{ + sub_8003490(gMenuWindowPtr, a1, gMenuTextTileOffset, a2, a3); +} + +u16 unref_sub_8071F98(u8 x, u8 y) +{ + return GetWindowTilemapEntry(gMenuWindowPtr, x, y); +} + +void unref_sub_8071FBC(u16 a1, u8 a2, u8 a3, u8 a4, u8 a5) +{ + DrawWindowRect(gMenuWindowPtr, a1, a2, a3, a4, a5); +} + +void MenuDisplayMessageBox(void) +{ + DisplayMessageBox(gMenuWindowPtr); +} + +void MenuPrintMessage(u8 *str, u8 left, u8 top) +{ + sub_8002EB0(gMenuWindowPtr, str, gMenuTextTileOffset, left, top); +} + +void sub_8072044(u8 *str) +{ + sub_8002EB0(gMenuWindowPtr, str, gMenuTextTileOffset, 2, 15); +} + +void MenuSetText(u8 *str) +{ + sub_8002E90(gMenuWindowPtr, str); +} + +u8 MenuUpdateWindowText(void) +{ + return sub_80035AC(gMenuWindowPtr); +} + +u8 unref_sub_8072098(void) +{ + return sub_8003418(gMenuWindowPtr); +} + +void sub_80720B0(void) +{ + ClearWindowTextLines(gMenuWindowPtr); +} + +u8 MoveMenuCursor(s8 delta) +{ + s32 newPos = gMenu.cursorPos + delta; + + if (newPos < gMenu.minCursorPos) + gMenu.cursorPos = gMenu.maxCursorPos; + else if (newPos > gMenu.maxCursorPos) + gMenu.cursorPos = gMenu.minCursorPos; + else + gMenu.cursorPos += delta; + + RedrawMenuCursor(gMenu.left, 2 * gMenu.cursorPos + gMenu.top); + return gMenu.cursorPos; +} + +u8 MoveMenuCursorNoWrap(s8 delta) +{ + s32 newPos = gMenu.cursorPos + delta; + + if (newPos < gMenu.minCursorPos) + gMenu.cursorPos = gMenu.minCursorPos; + else if (newPos > gMenu.maxCursorPos) + gMenu.cursorPos = gMenu.maxCursorPos; + else + gMenu.cursorPos += delta; + + RedrawMenuCursor(gMenu.left, 2 * gMenu.cursorPos + gMenu.top); + return gMenu.cursorPos; +} + +u8 GetMenuCursorPos(void) +{ + return gMenu.cursorPos; +} + +s8 ProcessMenuInput(void) +{ + if (gMain.newKeys & A_BUTTON) + { + audio_play(SE_SELECT); + if (gMenu.menu_field_7) + sub_8072DEC(); + return gMenu.cursorPos; + } + + if (gMain.newKeys & B_BUTTON) + { + if (gMenu.menu_field_7) + sub_8072DEC(); + return -1; + } + + if (gMain.newKeys & DPAD_UP) + { + audio_play(SE_SELECT); + MoveMenuCursor(-1); + return -2; + } + else if (gMain.newKeys & DPAD_DOWN) + { + audio_play(SE_SELECT); + MoveMenuCursor(1); + return -2; + } + + return -2; +} + +s8 ProcessMenuInputNoWrap(void) +{ + u8 cursorPos = gMenu.cursorPos; + + if (gMain.newKeys & A_BUTTON) + { + audio_play(SE_SELECT); + if (gMenu.menu_field_7) + sub_8072DEC(); + return gMenu.cursorPos; + } + + if (gMain.newKeys & B_BUTTON) + { + if (gMenu.menu_field_7) + sub_8072DEC(); + return -1; + } + + if (gMain.newKeys & DPAD_UP) + { + if (cursorPos != MoveMenuCursorNoWrap(-1)) + audio_play(SE_SELECT); + return -2; + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (cursorPos != MoveMenuCursorNoWrap(1)) + audio_play(SE_SELECT); + return -2; + } + + MoveMenuCursorNoWrap(0); + return -2; +} + +u8 MoveMenuCursor3(s8 delta) +{ + u8 menuHeight = (gMenu.maxCursorPos + 1) >> 1; + s32 newPos = gMenu.cursorPos + delta; + + if (newPos < gMenu.minCursorPos) + gMenu.cursorPos = gMenu.maxCursorPos; + else if (newPos > gMenu.maxCursorPos) + gMenu.cursorPos = gMenu.minCursorPos; + else + gMenu.cursorPos += delta; + + RedrawMenuCursor( + 6 * (gMenu.cursorPos / menuHeight) + gMenu.left, + 2 * (gMenu.cursorPos % menuHeight) + gMenu.top); + + return gMenu.cursorPos; +} + +u8 MoveMenuCursor4(s8 delta) +{ + if (gMenu.cursorPos + delta <= gMenu.maxCursorPos) + { + if (sub_80723D4() == TRUE) + return gMenu.cursorPos; + } + else + { + return gMenu.cursorPos; + } + + gMenu.cursorPos += delta; + + if ((gMenu.maxCursorPos + 1) / gMenu.width == 0) + RedrawMenuCursor( + gMenu.left + gMenu.columnXCoords[gMenu.cursorPos % gMenu.width], + 2 * ((gMenu.cursorPos / gMenu.width) % gMenu.height) + gMenu.top); + else + RedrawMenuCursor( + gMenu.left + gMenu.columnXCoords[gMenu.cursorPos % gMenu.width], + 2 * (gMenu.cursorPos / gMenu.width) + gMenu.top); + + return gMenu.cursorPos; +} + +bool8 sub_80723D4(void) +{ + if ((gMain.newKeys & DPAD_UP) && gMenu.cursorPos < gMenu.width) + return TRUE; + + if ((gMain.newKeys & DPAD_DOWN) && gMenu.cursorPos >= (gMenu.maxCursorPos + 1) - gMenu.width) + return TRUE; + + if ((gMain.newKeys & DPAD_LEFT) + && ((gMenu.cursorPos - (gMenu.cursorPos % gMenu.width)) % gMenu.width == 1 // always false + || gMenu.cursorPos == 0 + || gMenu.cursorPos % gMenu.width == 0)) + return TRUE; + + if ((gMain.newKeys & DPAD_RIGHT) && gMenu.cursorPos % gMenu.width == gMenu.width - 1) + return TRUE; + + return FALSE; +} + +u8 sub_8072484(u8 a1, u8 a2, u8 menuItemCount, u8 a4, u8 width, u8 a6, u32 a7) +{ + u8 v7; + + gMenu.width = width; + gMenu.height = menuItemCount / width; + InitMenu(0, a1, a2, menuItemCount, a4, a6); + v7 = 0; + if (a7) + v7 = -1; + gMenu.menu_field_7 = v7; + return a4; +} + +#ifdef NONMATCHING +u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 *menuItems[][2], u8 columnCount) +{ + u8 i; + u8 maxWidth; + s32 height; + + for (i = 0; i < 7; i++) + gMenu.columnXCoords[i] = 0; + + maxWidth = 0; + for (i = 0; i < menuItemCount; i++) + { + u8 width = (sub_8072CA4(menuItems[i][0]) + 7) / 8; + + if (width > maxWidth) + maxWidth = width; + } + + for (i = 1; i <= columnCount; i++) + gMenu.columnXCoords[i] = maxWidth; + + for (i = 1; i <= columnCount; i++) + gMenu.columnXCoords[i] += 1 + gMenu.columnXCoords[i - 1]; + + gMenu.columnXCoords[columnCount]--; + + if (!((menuItemCount / 2) < columnCount || (menuItemCount % 2 != 0)) + || columnCount == 1 + || columnCount == menuItemCount) + { + height = 2 * (menuItemCount / columnCount) + 1; + } + else + { + height = 2 * ((menuItemCount / columnCount) + 1) + 1; + } + + { + u8 right; + u8 bottom; + u32 totalWidth; + register s32 val asm("r1"); + + val = (s8)top + height; + bottom = val; + + totalWidth = (gMenu.columnXCoords[columnCount] + 1); + right = left + totalWidth; + + MenuDrawTextWindow(left, top, right, bottom); + } + + return maxWidth; +} +#else +__attribute__((naked)) +u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 *menuItems[][2], u8 columnCount) +{ + asm("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, #0xC\n\ + mov r8, r3\n\ + ldr r3, [sp, #0x2C]\n\ + lsl r0, #24\n\ + lsr r0, #24\n\ + str r0, [sp]\n\ + lsl r1, #24\n\ + lsr r1, #24\n\ + str r1, [sp, #0x4]\n\ + lsl r2, #24\n\ + lsr r6, r2, #24\n\ + lsl r3, #24\n\ + lsr r5, r3, #24\n\ + movs r4, #0\n\ + ldr r0, _080725D4\n\ + mov r9, r0\n\ + mov r1, r9\n\ + add r1, #0x8\n\ + movs r2, #0\n\ +_08072524:\n\ + add r0, r4, r1\n\ + strb r2, [r0]\n\ + add r0, r4, #0x1\n\ + lsl r0, #24\n\ + lsr r4, r0, #24\n\ + cmp r4, #0x6\n\ + bls _08072524\n\ + movs r7, #0\n\ + movs r4, #0\n\ + lsr r2, r6, #1\n\ + mov r10, r2\n\ + ldr r0, [sp, #0x4]\n\ + lsl r0, #24\n\ + str r0, [sp, #0x8]\n\ + cmp r7, r6\n\ + bcs _08072566\n\ +_08072544:\n\ + lsl r0, r4, #3\n\ + add r0, r8\n\ + ldr r0, [r0]\n\ + bl sub_8072CA4\n\ + lsl r0, #24\n\ + lsr r0, #24\n\ + add r1, r0, #0x7\n\ + lsr r0, r1, #3\n\ + cmp r0, r7\n\ + bls _0807255C\n\ + add r7, r0, #0\n\ +_0807255C:\n\ + add r0, r4, #0x1\n\ + lsl r0, #24\n\ + lsr r4, r0, #24\n\ + cmp r4, r6\n\ + bcc _08072544\n\ +_08072566:\n\ + movs r4, #0x1\n\ + ldr r2, _080725D4\n\ + mov r9, r2\n\ + cmp r4, r5\n\ + bhi _08072582\n\ + mov r1, r9\n\ + add r1, #0x8\n\ +_08072574:\n\ + add r0, r4, r1\n\ + strb r7, [r0]\n\ + add r0, r4, #0x1\n\ + lsl r0, #24\n\ + lsr r4, r0, #24\n\ + cmp r4, r5\n\ + bls _08072574\n\ +_08072582:\n\ + movs r4, #0x1\n\ + cmp r4, r5\n\ + bhi _080725A4\n\ + ldr r3, _080725D8\n\ +_0807258A:\n\ + add r2, r4, r3\n\ + ldrb r1, [r2]\n\ + sub r0, r4, #0x1\n\ + add r0, r3\n\ + add r1, #0x1\n\ + ldrb r0, [r0]\n\ + add r1, r0\n\ + strb r1, [r2]\n\ + add r0, r4, #0x1\n\ + lsl r0, #24\n\ + lsr r4, r0, #24\n\ + cmp r4, r5\n\ + bls _0807258A\n\ +_080725A4:\n\ + mov r1, r9\n\ + add r1, #0x8\n\ + add r1, r5, r1\n\ + ldrb r0, [r1]\n\ + sub r0, #0x1\n\ + strb r0, [r1]\n\ + cmp r10, r5\n\ + bcc _080725BC\n\ + movs r0, #0x1\n\ + and r0, r6\n\ + cmp r0, #0\n\ + beq _080725C4\n\ +_080725BC:\n\ + cmp r5, #0x1\n\ + beq _080725C4\n\ + cmp r5, r6\n\ + bne _080725DC\n\ +_080725C4:\n\ + add r0, r6, #0\n\ + add r1, r5, #0\n\ + bl __udivsi3\n\ + lsl r0, #24\n\ + lsr r0, #23\n\ + add r0, #0x1\n\ + b _080725EA\n\ + .align 2, 0\n\ +_080725D4: .4byte 0x030006b0\n\ +_080725D8: .4byte 0x030006b8\n\ +_080725DC:\n\ + add r0, r6, #0\n\ + add r1, r5, #0\n\ + bl __udivsi3\n\ + lsl r0, #24\n\ + lsr r0, #23\n\ + add r0, #0x3\n\ +_080725EA:\n\ + ldr r2, [sp, #0x8]\n\ + asr r1, r2, #24\n\ + add r1, r0\n\ + lsl r1, #24\n\ + lsr r3, r1, #24\n\ + mov r0, r9\n\ + add r0, #0x8\n\ + add r0, r5, r0\n\ + ldrb r2, [r0]\n\ + add r2, #0x1\n\ + ldr r0, [sp]\n\ + add r2, r0, r2\n\ + lsl r2, #24\n\ + lsr r2, #24\n\ + ldr r1, [sp, #0x4]\n\ + bl MenuDrawTextWindow\n\ + add r0, r7, #0\n\ + add sp, #0xC\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"); +} +#endif // NONMATCHING + +void sub_8072620(u8 left, u8 top, u8 menuItemCount, u8 *menuItems[][2], u8 columnCount) +{ + u8 i; + u8 maxWidth; + + for (i = 0; i < 7; i++) + gMenu.columnXCoords[i] = 0; + + maxWidth = 0; + for (i = 0; i < menuItemCount; i++) + { + u8 width = (sub_8072CA4(menuItems[i][0]) + 7) / 8; + + if (width > maxWidth) + maxWidth = width; + } + + for (i = 1; i <= columnCount; i++) + gMenu.columnXCoords[i] = maxWidth; + + for (i = 1; i <= columnCount; i++) + gMenu.columnXCoords[i] += 1 + gMenu.columnXCoords[i - 1]; + + gMenu.columnXCoords[columnCount]--; + + for (i = 0; i < columnCount; i++) + { + 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); + } +} + +void sub_807274C(u8 left, u8 top, u8 menuItemCount, u8 a4, u8 *menuItems[][2], u8 columnCount, u32 a7) +{ + u8 maxWidth = sub_80724F4(left, top, menuItemCount, menuItems, columnCount); + + sub_8072484(left + 1, top + 1, menuItemCount, a4, columnCount, maxWidth, a7); + sub_8072620(left + 1, top + 1, menuItemCount, menuItems, columnCount); +} + +s8 sub_80727CC(void) +{ + if (gMain.newKeys & A_BUTTON) + { + if (gMenu.menu_field_7) + sub_8072DEC(); + audio_play(SE_SELECT); + return GetMenuCursorPos(); + } + + if (gMain.newKeys & B_BUTTON) + { + if (gMenu.menu_field_7) + sub_8072DEC(); + return -1; + } + + if (gMain.newKeys & DPAD_UP) + { + audio_play(SE_SELECT); + MoveMenuCursor4(-gMenu.width); + return -2; + } + else if (gMain.newKeys & DPAD_DOWN) + { + audio_play(SE_SELECT); + MoveMenuCursor4(gMenu.width); + return -2; + } + else if (gMain.newKeys & DPAD_LEFT) + { + audio_play(SE_SELECT); + MoveMenuCursor4(-1); + return -2; + } + else if (gMain.newKeys & DPAD_RIGHT) + { + audio_play(SE_SELECT); + MoveMenuCursor4(1); + return -2; + } + + return -2; +} + +u8 sub_807288C(u8 column) +{ + return gMenu.columnXCoords[column]; +} + +void PrintMenuItems(u8 left, u8 top, u8 menuItemCount, u8 *menuItems[][2]) +{ + u8 i; + + for (i = 0; i < menuItemCount; i++) + MenuPrint(menuItems[i][0], left, top + 2 * i); +} + +void PrintMenuItemsReordered(u8 left, u8 top, u8 menuItemCount, u8 *menuItems[][2], u8 *order) +{ + u8 i; + + for (i = 0; i < menuItemCount; i++) + MenuPrint(menuItems[order[i]][0], left, top + 2 * i); +} + +void InitYesNoMenu(u8 left, u8 top, u8 a3) +{ + PrintMenuItems(left + 1, top + 1, 2, (void *)gUnknown_08376D74); + InitMenu(0, left + 1, top + 1, 2, 0, a3); +} + +void DisplayYesNoMenu(u8 left, u8 top, u32 a3) +{ + MenuDrawTextWindow(left, top, left + 6, top + 5); + InitYesNoMenu(left, top, 5); + gMenu.menu_field_7 = a3 ? -1 : 0; +} + +s8 ProcessMenuInputNoWrap_(void) +{ + return ProcessMenuInputNoWrap(); +} + +u8 sub_80729D8(u8 *text, u8 left, u16 top, u8 a4) +{ + return sub_8004D04(gMenuWindowPtr, text, gMenuTextTileOffset, left, top, a4); +} + +u8 sub_8072A18(u8 *text, u8 left, u16 top, u8 width, u32 a5) +{ + return sub_8004FD0(gMenuWindowPtr, 0, text, gMenuTextTileOffset, left, top, width, a5); +} + +u8 unref_sub_8072A5C(u8 *dest, u8 *src, u8 left, u16 top, u8 width, u32 a6) +{ + return sub_8004FD0(gMenuWindowPtr, dest, src, gMenuTextTileOffset, left, top, width, a6); +} + +__attribute__((naked)) +int sub_8072AB0(u8 *str, u8 left, u16 top, u8 width, u8 height, u32 a6) +{ + asm("push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + sub sp, #0x10\n\ + mov r9, r0\n\ + add r4, r1, #0\n\ + add r5, r2, #0\n\ + ldr r0, [sp, #0x2C]\n\ + ldr r2, [sp, #0x30]\n\ + lsl r4, #24\n\ + lsr r1, r4, #24\n\ + mov r12, r1\n\ + lsl r5, #16\n\ + lsr r7, r5, #16\n\ + lsl r3, #24\n\ + lsr r6, r3, #24\n\ + lsl r0, #24\n\ + lsr r0, #24\n\ + mov r8, r0\n\ + ldr r0, _08072B44\n\ + ldr r0, [r0]\n\ + ldr r1, _08072B48\n\ + ldrh r3, [r1]\n\ + mov r1, r12\n\ + str r1, [sp]\n\ + str r7, [sp, #0x4]\n\ + str r6, [sp, #0x8]\n\ + str r2, [sp, #0xC]\n\ + movs r1, #0\n\ + mov r2, r9\n\ + bl sub_8004FD0\n\ + add r1, r0, #0\n\ + lsl r1, #24\n\ + lsr r2, r1, #24\n\ + lsr r4, #27\n\ + mov r12, r4\n\ + lsr r7, r5, #19\n\ + add r1, r6, #0x7\n\ + lsr r6, r1, #3\n\ + mov r1, r8\n\ + add r1, #0x7\n\ + asr r1, #3\n\ + lsl r1, #24\n\ + lsr r1, #24\n\ + mov r8, r1\n\ + cmp r2, r8\n\ + bcs _08072B34\n\ + lsl r1, r2, #1\n\ + add r1, r7, r1\n\ + lsl r1, #24\n\ + lsr r1, #24\n\ + mov r0, r12\n\ + add r2, r0, r6\n\ + sub r2, #0x1\n\ + lsl r2, #24\n\ + lsr r2, #24\n\ + mov r0, r8\n\ + add r3, r0, r7\n\ + sub r3, #0x1\n\ + lsl r3, #24\n\ + lsr r3, #24\n\ + mov r0, r12\n\ + bl MenuFillWindowRectWithBlankTile\n\ +_08072B34:\n\ + add sp, #0x10\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .align 2, 0\n\ +_08072B44: .4byte 0x0202e9c8\n\ +_08072B48: .4byte 0x0202e9ce\n"); +} + +void sub_8072B4C(u8 *str, u8 left, u8 top) +{ + sub_8004D38(gMenuWindowPtr, str, gMenuTextTileOffset, left, top); +} + +void sub_8072B80(u8 *a1, u8 a2, u8 a3, u8 *a4) +{ + u8 buffer[64]; + u8 width = GetStringWidth(gMenuWindowPtr, a4); + AlignString(gMenuWindowPtr, buffer, a1, width, 1); + sub_8003460(gMenuWindowPtr, buffer, gMenuTextTileOffset, a2, a3); +} + +void sub_8072BD8(u8 *a1, u8 a2, u8 a3, u16 a4) +{ + sub_8004DB0(gMenuWindowPtr, a1, gMenuTextTileOffset, a2, a3, a4); +} + +u8 *sub_8072C14(u8 *a1, s32 a2, u8 a3, u8 a4) +{ + return AlignInt1(gMenuWindowPtr, a1, a2, a3, a4); +} + +u8 *sub_8072C44(u8 *a1, s32 a2, u8 a3, u8 a4) +{ + return AlignInt2(gMenuWindowPtr, a1, a2, a3, a4); +} + +u8 *sub_8072C74(u8 *a1, u8 *a2, u8 a3, u8 a4) +{ + return AlignString(gMenuWindowPtr, a1, a2, a3, a4); +} + +u8 sub_8072CA4(u8 *str) +{ + return GetStringWidth(gMenuWindowPtr, str); +} + +u8 sub_8072CBC() +{ + return sub_8004E24(gMenuWindowPtr); +} + +void sub_8072CD4(u8 *a1, u8 *a2, u8 *a3) +{ + sub_8004E28(gMenuWindowPtr, a1, a2, a3); +} + +u32 MenuUpdateWindowText_OverrideLineLength(u8 lineLength) +{ + return sub_80037C8(gMenuWindowPtr, lineLength); +} + +struct Window *unref_sub_8072D0C(void) +{ + return gMenuWindowPtr; +} + +void sub_8072D18(u8 a1, u8 a2) +{ + sub_814A5C0(a1, 0xFFFF, 12, 11679, 8 * a2); +} + +u8 InitMenu(u8 a1, u8 left, u8 top, u8 numChoices, u8 cursorPos, u8 a6) +{ + s32 pos; + + if (a6) + sub_8072D18(a1, a6); + + gMenu.left = left - 1; + gMenu.top = top; + gMenu.minCursorPos = 0; + gMenu.maxCursorPos = numChoices - 1; + gMenu.menu_field_7 = 0; + + pos = cursorPos; + + if (pos < 0 || pos > gMenu.maxCursorPos) + pos = 0; + + gMenu.cursorPos = pos; + MoveMenuCursor(0); + + return pos; +} + +void RedrawMenuCursor(u8 a1, u8 a2) +{ + sub_814A880((a1 + 1) * 8, 8 * a2); +} + +void unref_sub_8072DC0() +{ + sub_814A904(); +} + +void sub_8072DCC(u8 a1) +{ + sub_814A958(a1); +} + +void sub_8072DDC(u8 a1) +{ + sub_8072DCC(8 * a1); +} + +void sub_8072DEC(void) +{ + sub_814A7FC(); +} diff --git a/src/pokemon.c b/src/pokemon.c new file mode 100644 index 000000000..a2c98a71b --- /dev/null +++ b/src/pokemon.c @@ -0,0 +1,607 @@ +#include "global.h" +#include "text.h" +#include "string_util.h" +#include "pokemon.h" + +struct PokemonSubstruct0 +{ + u16 species; + u16 heldItem; + u32 experience; + u8 ppBonuses; + u8 friendship; +}; + +struct PokemonSubstruct1 +{ + u16 moves[4]; + u8 pp[4]; +}; + +struct PokemonSubstruct2 +{ + u8 hpEV; + u8 attackEV; + u8 defenseEV; + u8 speedEV; + u8 spAttackEV; + u8 spDefenseEV; + u8 cool; + u8 beauty; + u8 cute; + u8 smart; + u8 tough; + u8 sheen; +}; + +struct PokemonSubstruct3 +{ + u8 pokerus; + u8 metLocation; + + u16 metLevel:7; + u16 metGame:4; + u16 pokeball:4; + u16 otGender:1; + + u32 hpIV:5; + u32 attackIV:5; + u32 defenseIV:5; + u32 speedIV:5; + u32 spAttackIV:5; + u32 spDefenseIV:5; + u32 isEgg:1; + u32 altAbility:1; + + u32 coolRibbon:3; + u32 beautyRibbon:3; + u32 cuteRibbon:3; + u32 smartRibbon:3; + u32 toughRibbon:3; + u32 championRibbon:1; + u32 winningRibbon:1; + u32 victoryRibbon:1; + u32 artistRibbon:1; + u32 effortRibbon:1; + u32 giftRibbon1:1; + u32 giftRibbon2:1; + u32 giftRibbon3:1; + u32 giftRibbon4:1; + u32 giftRibbon5:1; + u32 giftRibbon6:1; + u32 giftRibbon7:1; + u32 fatefulEncounter:5; // unused in Ruby/Sapphire, but the high bit must be set for Mew/Deoxys to obey in FR/LG/Emerald +}; + +union PokemonSubstruct +{ + struct PokemonSubstruct0 type0; + struct PokemonSubstruct1 type1; + struct PokemonSubstruct2 type2; + struct PokemonSubstruct3 type3; +}; + +struct BoxPokemon +{ + u32 personality; + u32 otId; + u8 nickname[10]; + u8 language; + u8 isBadEgg:1; + u8 sanity2:1; + u8 sanity3:1; + u8 unused:5; + u8 otName[7]; + u8 markings; + u16 checksum; + u16 unknown; + + union + { + u32 raw[12]; + union PokemonSubstruct substructs[4]; + } secure; +}; + +struct Pokemon +{ + struct BoxPokemon box; + u32 status; + u8 level; + u8 pokerus; + u16 hp; + u16 maxHP; + u16 attack; + u16 defense; + u16 speed; + u16 spAttack; + u16 spDefense; +}; + +void ZeroPokemonBoxData(struct BoxPokemon *mon); + +u16 pokemon_calc_checksum(struct Pokemon *mon); + +void EncryptMon(struct Pokemon *mon); +void DecryptMon(struct Pokemon *mon); +union PokemonSubstruct *GetSubstruct(struct Pokemon *mon, u32 personality, u8 substructType); +u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data); +u32 GetMonBoxData(struct Pokemon *mon, s32 field, u8 *data); + +extern u8 gBadEggNickname[]; +extern u8 gEggNickname[]; +extern u32 gBitTable[]; + +/* +void ZeroPokemonBoxData(struct BoxPokemon *mon) +{ + u8 *raw = (u8 *)mon; + u32 i; + for (i = 0; i < sizeof(struct BoxPokemon); i++) + raw[i] = 0; +} +*/ + +void EncryptMon(struct Pokemon *mon) +{ + u32 i; + for (i = 0; i < 12; i++) + { + mon->box.secure.raw[i] ^= mon->box.personality; + mon->box.secure.raw[i] ^= mon->box.otId; + } +} + +void DecryptMon(struct Pokemon *mon) +{ + u32 i; + for (i = 0; i < 12; i++) + { + mon->box.secure.raw[i] ^= mon->box.otId; + mon->box.secure.raw[i] ^= mon->box.personality; + } +} + +#define SUBSTRUCT_CASE(n, v1, v2, v3, v4) \ +case n: \ + switch (substructType) \ + { \ + case 0: \ + substruct = &substructs ## n [v1]; \ + break; \ + case 1: \ + substruct = &substructs ## n [v2]; \ + break; \ + case 2: \ + substruct = &substructs ## n [v3]; \ + break; \ + case 3: \ + substruct = &substructs ## n [v4]; \ + break; \ + } \ + break; + +union PokemonSubstruct *GetSubstruct(struct Pokemon *mon, u32 personality, u8 substructType) +{ + union PokemonSubstruct *substruct = NULL; + + union PokemonSubstruct *substructs0 = mon->box.secure.substructs; + union PokemonSubstruct *substructs1 = mon->box.secure.substructs; + union PokemonSubstruct *substructs2 = mon->box.secure.substructs; + union PokemonSubstruct *substructs3 = mon->box.secure.substructs; + union PokemonSubstruct *substructs4 = mon->box.secure.substructs; + union PokemonSubstruct *substructs5 = mon->box.secure.substructs; + union PokemonSubstruct *substructs6 = mon->box.secure.substructs; + union PokemonSubstruct *substructs7 = mon->box.secure.substructs; + union PokemonSubstruct *substructs8 = mon->box.secure.substructs; + union PokemonSubstruct *substructs9 = mon->box.secure.substructs; + union PokemonSubstruct *substructs10 = mon->box.secure.substructs; + union PokemonSubstruct *substructs11 = mon->box.secure.substructs; + union PokemonSubstruct *substructs12 = mon->box.secure.substructs; + union PokemonSubstruct *substructs13 = mon->box.secure.substructs; + union PokemonSubstruct *substructs14 = mon->box.secure.substructs; + union PokemonSubstruct *substructs15 = mon->box.secure.substructs; + union PokemonSubstruct *substructs16 = mon->box.secure.substructs; + union PokemonSubstruct *substructs17 = mon->box.secure.substructs; + union PokemonSubstruct *substructs18 = mon->box.secure.substructs; + union PokemonSubstruct *substructs19 = mon->box.secure.substructs; + union PokemonSubstruct *substructs20 = mon->box.secure.substructs; + union PokemonSubstruct *substructs21 = mon->box.secure.substructs; + union PokemonSubstruct *substructs22 = mon->box.secure.substructs; + union PokemonSubstruct *substructs23 = mon->box.secure.substructs; + + switch (personality % 24) + { + SUBSTRUCT_CASE( 0,0,1,2,3) + SUBSTRUCT_CASE( 1,0,1,3,2) + SUBSTRUCT_CASE( 2,0,2,1,3) + SUBSTRUCT_CASE( 3,0,3,1,2) + SUBSTRUCT_CASE( 4,0,2,3,1) + SUBSTRUCT_CASE( 5,0,3,2,1) + SUBSTRUCT_CASE( 6,1,0,2,3) + SUBSTRUCT_CASE( 7,1,0,3,2) + SUBSTRUCT_CASE( 8,2,0,1,3) + SUBSTRUCT_CASE( 9,3,0,1,2) + SUBSTRUCT_CASE(10,2,0,3,1) + SUBSTRUCT_CASE(11,3,0,2,1) + SUBSTRUCT_CASE(12,1,2,0,3) + SUBSTRUCT_CASE(13,1,3,0,2) + SUBSTRUCT_CASE(14,2,1,0,3) + SUBSTRUCT_CASE(15,3,1,0,2) + SUBSTRUCT_CASE(16,2,3,0,1) + SUBSTRUCT_CASE(17,3,2,0,1) + SUBSTRUCT_CASE(18,1,2,3,0) + SUBSTRUCT_CASE(19,1,3,2,0) + SUBSTRUCT_CASE(20,2,1,3,0) + SUBSTRUCT_CASE(21,3,1,2,0) + SUBSTRUCT_CASE(22,2,3,1,0) + SUBSTRUCT_CASE(23,3,2,1,0) + } + + return substruct; +} + +u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data) +{ + switch (field) + { + case MON_DATA_STATUS: + return mon->status; + case MON_DATA_LEVEL: + return mon->level; + case MON_DATA_HP: + return mon->hp; + case MON_DATA_MAX_HP: + return mon->maxHP; + case MON_DATA_ATK: + return mon->attack; + case MON_DATA_DEF: + return mon->defense; + case MON_DATA_SPD: + return mon->speed; + case MON_DATA_SPATK: + return mon->spAttack; + case MON_DATA_SPDEF: + return mon->spDefense; + case MON_DATA_64: + return mon->pokerus; + default: + return GetMonBoxData(mon, field, data); + } +} + +u32 GetMonBoxData(struct Pokemon *mon, s32 field, u8 *data) +{ + u32 retVal = 0; + struct PokemonSubstruct0 *substruct0 = NULL; + struct PokemonSubstruct1 *substruct1 = NULL; + struct PokemonSubstruct2 *substruct2 = NULL; + struct PokemonSubstruct3 *substruct3 = NULL; + + if (field > MON_DATA_10) + { + substruct0 = &(GetSubstruct(mon, mon->box.personality, 0)->type0); + substruct1 = &(GetSubstruct(mon, mon->box.personality, 1)->type1); + substruct2 = &(GetSubstruct(mon, mon->box.personality, 2)->type2); + substruct3 = &(GetSubstruct(mon, mon->box.personality, 3)->type3); + + DecryptMon(mon); + + if (pokemon_calc_checksum(mon) != mon->box.checksum) + { + mon->box.isBadEgg = 1; + mon->box.sanity3 = 1; + substruct3->isEgg = 1; + } + } + + switch (field) + { + case MON_DATA_PERSONALITY: + retVal = mon->box.personality; + break; + case MON_DATA_OT_ID: + retVal = mon->box.otId; + break; + case MON_DATA_NICKNAME: + { + if (mon->box.isBadEgg) + { + StringCopy(data, gBadEggNickname); + retVal = StringLength(data); + } + else if (mon->box.sanity3) + { + StringCopy(data, gEggNickname); + retVal = StringLength(data); + } + else + { + retVal = 0; + + while (retVal < 10 && mon->box.nickname[retVal] != EOS) + { + data[retVal] = mon->box.nickname[retVal]; + retVal++; + } + + data[retVal] = EOS; + ConvertInternationalString(data, mon->box.language); + retVal = StringLength(data); + } + break; + } + case MON_DATA_LANGUAGE: + retVal = mon->box.language; + break; + case MON_DATA_SANITY_BIT1: + retVal = mon->box.isBadEgg; + break; + case MON_DATA_SANITY_BIT2: + retVal = mon->box.sanity2; + break; + case MON_DATA_SANITY_BIT3: + retVal = mon->box.sanity3; + break; + case MON_DATA_OT_NAME: + { + retVal = 0; + + while (retVal < 7 && mon->box.otName[retVal] != EOS) + { + data[retVal] = mon->box.otName[retVal]; + retVal++; + } + + data[retVal] = EOS; + break; + } + case MON_DATA_MARKINGS: + retVal = mon->box.markings; + break; + case MON_DATA_CHECKSUM: + retVal = mon->box.checksum; + break; + case MON_DATA_10: + retVal = mon->box.unknown; + break; + case MON_DATA_SPECIES: + retVal = mon->box.isBadEgg ? 412 : substruct0->species; + break; + case MON_DATA_HELD_ITEM: + retVal = substruct0->heldItem; + break; + case MON_DATA_EXP: + retVal = substruct0->experience; + break; + case MON_DATA_PP_BONUSES: + retVal = substruct0->ppBonuses; + break; + case MON_DATA_FRIENDSHIP: + retVal = substruct0->friendship; + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + retVal = substruct1->moves[field - MON_DATA_MOVE1]; + break; + case MON_DATA_PP1: + case MON_DATA_PP2: + case MON_DATA_PP3: + case MON_DATA_PP4: + retVal = substruct1->pp[field - MON_DATA_PP1]; + break; + case MON_DATA_HP_EV: + retVal = substruct2->hpEV; + break; + case MON_DATA_ATK_EV: + retVal = substruct2->attackEV; + break; + case MON_DATA_DEF_EV: + retVal = substruct2->defenseEV; + break; + case MON_DATA_SPD_EV: + retVal = substruct2->speedEV; + break; + case MON_DATA_SPATK_EV: + retVal = substruct2->spAttackEV; + break; + case MON_DATA_SPDEF_EV: + retVal = substruct2->spDefenseEV; + break; + case MON_DATA_COOL: + retVal = substruct2->cool; + break; + case MON_DATA_BEAUTY: + retVal = substruct2->beauty; + break; + case MON_DATA_CUTE: + retVal = substruct2->cute; + break; + case MON_DATA_SMART: + retVal = substruct2->smart; + break; + case MON_DATA_TOUGH: + retVal = substruct2->tough; + break; + case MON_DATA_SHEEN: + retVal = substruct2->sheen; + break; + case MON_DATA_POKERUS: + retVal = substruct3->pokerus; + break; + case MON_DATA_MET_LOCATION: + retVal = substruct3->metLocation; + break; + case MON_DATA_MET_LEVEL: + retVal = substruct3->metLevel; + break; + case MON_DATA_MET_GAME: + retVal = substruct3->metGame; + break; + case MON_DATA_POKEBALL: + retVal = substruct3->pokeball; + break; + case MON_DATA_OT_GENDER: + retVal = substruct3->otGender; + break; + case MON_DATA_HP_IV: + retVal = substruct3->hpIV; + break; + case MON_DATA_ATK_IV: + retVal = substruct3->attackIV; + break; + case MON_DATA_DEF_IV: + retVal = substruct3->defenseIV; + break; + case MON_DATA_SPD_IV: + retVal = substruct3->speedIV; + break; + case MON_DATA_SPATK_IV: + retVal = substruct3->spAttackIV; + break; + case MON_DATA_SPDEF_IV: + retVal = substruct3->spDefenseIV; + break; + case MON_DATA_IS_EGG: + retVal = substruct3->isEgg; + break; + case MON_DATA_ALT_ABILITY: + retVal = substruct3->altAbility; + break; + case MON_DATA_COOL_RIBBON: + retVal = substruct3->coolRibbon; + break; + case MON_DATA_BEAUTY_RIBBON: + retVal = substruct3->beautyRibbon; + break; + case MON_DATA_CUTE_RIBBON: + retVal = substruct3->cuteRibbon; + break; + case MON_DATA_SMART_RIBBON: + retVal = substruct3->smartRibbon; + break; + case MON_DATA_TOUGH_RIBBON: + retVal = substruct3->toughRibbon; + break; + case MON_DATA_CHAMPION_RIBBON: + retVal = substruct3->championRibbon; + break; + case MON_DATA_WINNING_RIBBON: + retVal = substruct3->winningRibbon; + break; + case MON_DATA_VICTORY_RIBBON: + retVal = substruct3->victoryRibbon; + break; + case MON_DATA_ARTIST_RIBBON: + retVal = substruct3->artistRibbon; + break; + case MON_DATA_EFFORT_RIBBON: + retVal = substruct3->effortRibbon; + break; + case MON_DATA_GIFT_RIBBON_1: + retVal = substruct3->giftRibbon1; + break; + case MON_DATA_GIFT_RIBBON_2: + retVal = substruct3->giftRibbon2; + break; + case MON_DATA_GIFT_RIBBON_3: + retVal = substruct3->giftRibbon3; + break; + case MON_DATA_GIFT_RIBBON_4: + retVal = substruct3->giftRibbon4; + break; + case MON_DATA_GIFT_RIBBON_5: + retVal = substruct3->giftRibbon5; + break; + case MON_DATA_GIFT_RIBBON_6: + retVal = substruct3->giftRibbon6; + break; + case MON_DATA_GIFT_RIBBON_7: + retVal = substruct3->giftRibbon7; + break; + case MON_DATA_FATEFUL_ENCOUNTER: + retVal = substruct3->fatefulEncounter; + break; + case MON_DATA_SPECIES2: + retVal = substruct0->species; + if (substruct0->species && (substruct3->isEgg || mon->box.isBadEgg)) + retVal = 412; + break; + case MON_DATA_IVS: + retVal = substruct3->hpIV | (substruct3->attackIV << 5) | (substruct3->defenseIV << 10) | (substruct3->speedIV << 15) | (substruct3->spAttackIV << 20) | (substruct3->spDefenseIV << 25); + break; + case MON_DATA_KNOWN_MOVES: + if (substruct0->species && !substruct3->isEgg) + { + u16 *moves = (u16 *)data; + s32 i = 0; + + while (moves[i] != 355) + { + u16 move = moves[i]; + if (substruct1->moves[0] == move + || substruct1->moves[1] == move + || substruct1->moves[2] == move + || substruct1->moves[3] == move) + retVal |= gBitTable[i]; + i++; + } + } + break; + case MON_DATA_RIBBON_COUNT: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal += substruct3->coolRibbon; + retVal += substruct3->beautyRibbon; + retVal += substruct3->cuteRibbon; + retVal += substruct3->smartRibbon; + retVal += substruct3->toughRibbon; + retVal += substruct3->championRibbon; + retVal += substruct3->winningRibbon; + retVal += substruct3->victoryRibbon; + retVal += substruct3->artistRibbon; + retVal += substruct3->effortRibbon; + retVal += substruct3->giftRibbon1; + retVal += substruct3->giftRibbon2; + retVal += substruct3->giftRibbon3; + retVal += substruct3->giftRibbon4; + retVal += substruct3->giftRibbon5; + retVal += substruct3->giftRibbon6; + retVal += substruct3->giftRibbon7; + } + break; + case MON_DATA_RIBBONS: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal = substruct3->championRibbon + | (substruct3->coolRibbon << 1) + | (substruct3->beautyRibbon << 4) + | (substruct3->cuteRibbon << 7) + | (substruct3->smartRibbon << 10) + | (substruct3->toughRibbon << 13) + | (substruct3->winningRibbon << 16) + | (substruct3->victoryRibbon << 17) + | (substruct3->artistRibbon << 18) + | (substruct3->effortRibbon << 19) + | (substruct3->giftRibbon1 << 20) + | (substruct3->giftRibbon2 << 21) + | (substruct3->giftRibbon3 << 22) + | (substruct3->giftRibbon4 << 23) + | (substruct3->giftRibbon5 << 24) + | (substruct3->giftRibbon6 << 25) + | (substruct3->giftRibbon7 << 26); + } + break; + default: + break; + } + + if (field > MON_DATA_10) + EncryptMon(mon); + + return retVal; +} diff --git a/src/text.c b/src/text.c index 372d3e7e2..64a302fed 100644 --- a/src/text.c +++ b/src/text.c @@ -2523,7 +2523,7 @@ u8 sub_80037A0(struct Window *win) return retVal; } -u8 sub_80037C8(struct Window *win, u8 lineLength) +u32 sub_80037C8(struct Window *win, u8 lineLength) { u8 retVal; diff --git a/src/text_window.c b/src/text_window.c new file mode 100644 index 000000000..ab14fe1fb --- /dev/null +++ b/src/text_window.c @@ -0,0 +1,196 @@ +#include "global.h" +#include "main.h" +#include "text.h" +#include "text_window.h" + +u16 SetTextWindowBaseTileNum(u16); +void LoadTextWindowGraphics(struct Window *); +void LoadTextWindowGraphics_OverridePalSlot(struct Window *, u8); +void LoadTextWindowGraphics_OverrideFrameType(struct Window *, u8); +void DrawTextWindow(struct Window *win, u8 left, u8 top, u8 right, u8 bottom); +const struct FrameGraphics *GetTextWindowFrameGraphics(u8 frameType); +static void LoadTextWindowTiles(u8, void *); +static void LoadTextWindowPalette(u8, u8); +static void DrawTextWindowInternal(u16 *dest, u16 baseTileNum, u8 left, u8 top, u8 right, u8 bottom); +u16 SetMessageBoxBaseTileNum(u16); +void unref_sub_80651DC(struct Window *, u8 *); +void DisplayMessageBox(struct Window *); +static u16 GetMessageBoxTilemapEntry(u16 tilemapEntry, u8 x, u8 y, u8 width, u8 height); +static void DrawMessageBox(struct Window *win, u8 left, u8 top, u8 width, u8 height); +void DrawStandardMessageBox(struct Window *win); +void LoadMessageBoxTiles(struct Window *win); +void sub_806536C(struct Window *win); + +static u16 sTextWindowBaseTileNum; +static u16 sMessageBoxBaseTileNum; + +struct FrameGraphics +{ + u8 *tiles; + u16 *palette; +}; + +extern const struct FrameGraphics gUnknown_083761F0[20]; + +extern const u16 gMessageBoxTilemap[5][7]; +extern const u8 gMessageBox_Gfx[]; + +u16 SetTextWindowBaseTileNum(u16 baseTileNum) +{ + sTextWindowBaseTileNum = baseTileNum; + return baseTileNum + 9; +} + +void LoadTextWindowGraphics(struct Window *win) +{ + u8 *tileData = win->config->tileData + TILE_SIZE_4BPP * sTextWindowBaseTileNum; + LoadTextWindowTiles(gSaveBlock2.optionsWindowFrameType, tileData); + LoadTextWindowPalette(gSaveBlock2.optionsWindowFrameType, 0xE); +} + +void LoadTextWindowGraphics_OverridePalSlot(struct Window *win, u8 palSlot) +{ + u8 *tileData = win->config->tileData + TILE_SIZE_4BPP * sTextWindowBaseTileNum; + LoadTextWindowTiles(gSaveBlock2.optionsWindowFrameType, tileData); + LoadTextWindowPalette(gSaveBlock2.optionsWindowFrameType, palSlot); +} + +void LoadTextWindowGraphics_OverrideFrameType(struct Window *win, u8 frameType) +{ + u8 *tileData = win->config->tileData + TILE_SIZE_4BPP * sTextWindowBaseTileNum; + LoadTextWindowTiles(frameType, tileData); + LoadTextWindowPalette(frameType, 0xE); +} + +void DrawTextWindow(struct Window *win, u8 left, u8 top, u8 right, u8 bottom) +{ + DrawTextWindowInternal(win->config->tilemap, sTextWindowBaseTileNum, left, top, right, bottom); +} + +const struct FrameGraphics *GetTextWindowFrameGraphics(u8 frameType) +{ + if (frameType > 19) + return &gUnknown_083761F0[0]; + else + return &gUnknown_083761F0[frameType]; +} + +static void LoadTextWindowTiles(u8 frameType, void *dest) +{ + const struct FrameGraphics *frameGraphics = GetTextWindowFrameGraphics(frameType); + CpuFastCopy(frameGraphics->tiles, dest, 9 * TILE_SIZE_4BPP); +} + +static void LoadTextWindowPalette(u8 frameType, u8 palSlot) +{ + const struct FrameGraphics *frameGraphics = GetTextWindowFrameGraphics(frameType); + LoadPalette(frameGraphics->palette, 16 * palSlot, 0x20); +} + +static void DrawTextWindowInternal(u16 *dest, u16 baseTileNum, u8 left, u8 top, u8 right, u8 bottom) +{ + u8 x, y; + u8 startX, endX; + u8 startY, endY; + + startX = (left < right) ? left : right; + endX = (right > left) ? right : left; + + startY = (top < bottom) ? top : bottom; + endY = (bottom > top) ? bottom : top; + + dest[32 * startY + startX] = baseTileNum | 0xE000; + + for (x = startX + 1; x < endX; x++) + dest[32 * startY + x] = (baseTileNum + 1) | 0xE000; + + dest[32 * startY + endX] = (baseTileNum + 2) | 0xE000; + + for (y = startY + 1; y < endY; y++) + { + dest[32 * y + startX] = (baseTileNum + 3) | 0xE000; + + for (x = startX + 1; x < endX; x++) + dest[32 * y + x] = (baseTileNum + 4) | 0xE000; + + dest[32 * y + endX] = (baseTileNum + 5) | 0xE000; + } + + dest[32 * endY + startX] = (baseTileNum + 6) | 0xE000; + + for (x = startX + 1; x < endX; x++) + dest[32 * endY + x] = (baseTileNum + 7) | 0xE000; + + dest[32 * endY + endX] = (baseTileNum + 8) | 0xE000; +} + +u16 SetMessageBoxBaseTileNum(u16 baseTileNum) +{ + sMessageBoxBaseTileNum = baseTileNum; + return baseTileNum + 14; +} + +void unref_sub_80651DC(struct Window *win, u8 *text) +{ + sub_8002EB0(win, text, sMessageBoxBaseTileNum + 14, 2, 15); +} + +void DisplayMessageBox(struct Window *win) +{ + LoadMessageBoxTiles(win); + DrawStandardMessageBox(win); +} + +static u16 GetMessageBoxTilemapEntry(u16 baseTilemapEntry, u8 x, u8 y, u8 width, u8 height) +{ + u16 tilemapEntry = 9; + + if (y >= height) + y = y - height + 3; + else if (y > 1) + y = 2; + + if (x >= width + 2) + x = x - (width + 2) + 4; + else if (x > 2) + x = 3; + + if (x <= 6 && y <= 4) + tilemapEntry = gMessageBoxTilemap[y][x]; + + tilemapEntry += baseTilemapEntry; + + return tilemapEntry; +} + +static void DrawMessageBox(struct Window *win, u8 left, u8 top, u8 width, u8 height) +{ + u8 i, j; + u16 tilemapEntry = (win->paletteNum << 12) | sMessageBoxBaseTileNum; + u16 *tilemap = win->config->tilemap; + + for (i = 0; i < height + 2; i++) + for (j = 0; j < width + 6; j++) + tilemap[(left + j) + 32 * (top + i)] = (win->paletteNum << 12) | GetMessageBoxTilemapEntry(tilemapEntry, j, i, width, height); +} + +void DrawStandardMessageBox(struct Window *win) +{ + DrawMessageBox(win, 0, 14, 26, 4); +} + +void LoadMessageBoxTiles(struct Window *win) +{ + u8 *tileData = win->config->tileData; + CpuFastCopy(gMessageBox_Gfx, tileData + 32 * sMessageBoxBaseTileNum, 14 * TILE_SIZE_4BPP); +} + +void sub_806536C(struct Window *win) +{ + u8 i; + u16 *tilemap = win->config->tilemap + 0x1C0; + u16 tilemapEntry = win->paletteNum << 12; + + for (i = 0; i < 0xC0; i++) + tilemap[i] = tilemapEntry; +} |