diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:50:27 -0500 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:50:27 -0500 |
commit | 605f8ac1141daf66d3428923e004f82f5a5e1594 (patch) | |
tree | a3e5fae5d271175c7f10b6b455fcdc7f0fdd553e /asm | |
parent | e88e39d5fda1644f77e41fd652d4310612da7532 (diff) | |
parent | 659437f07a44b6f560bb58d6c12d141ed8ba7643 (diff) |
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_1.s | 2208 | ||||
-rw-r--r-- | asm/battle_9.s | 2840 | ||||
-rw-r--r-- | asm/battle_anim_812C144.s | 5497 | ||||
-rw-r--r-- | asm/battle_anim_813F0F4.s | 58 | ||||
-rw-r--r-- | asm/contest_effect.s | 2941 | ||||
-rw-r--r-- | asm/contest_link_80C2020.s | 299 | ||||
-rw-r--r-- | asm/contest_painting_effects.s (renamed from asm/cute_sketch.s) | 0 | ||||
-rw-r--r-- | asm/current.s | 2389 | ||||
-rw-r--r-- | asm/decompress.s | 350 | ||||
-rw-r--r-- | asm/flying.s | 643 | ||||
-rw-r--r-- | asm/ghost.s | 1139 | ||||
-rw-r--r-- | asm/ground.s | 46 | ||||
-rw-r--r-- | asm/ice.s | 109 | ||||
-rw-r--r-- | asm/nakamura_debug_menu.s | 4686 | ||||
-rw-r--r-- | asm/nohara_debug_menu.s | 2198 | ||||
-rw-r--r-- | asm/normal.s | 62 | ||||
-rw-r--r-- | asm/pc_screen_effect.s | 546 | ||||
-rw-r--r-- | asm/pokedex_area_screen.s | 2370 | ||||
-rw-r--r-- | asm/pokedex_cry_screen.s | 1016 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 8 | ||||
-rw-r--r-- | asm/pokenav.s | 34 | ||||
-rw-r--r-- | asm/taya_debug_window.s | 2054 | ||||
-rw-r--r-- | asm/tomomichi_debug_menu.s | 8100 | ||||
-rw-r--r-- | asm/unk_debug_menu_3.s | 747 | ||||
-rw-r--r-- | asm/watanabe_debug_menu.s | 9578 | ||||
-rw-r--r-- | asm/water.s | 28 |
26 files changed, 938 insertions, 49008 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s deleted file mode 100644 index cd925e10d..000000000 --- a/asm/battle_1.s +++ /dev/null @@ -1,2208 +0,0 @@ - .include "constants/gba_constants.inc" - - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_800D42C -unref_sub_800D42C: @ 800D42C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - mov r9, r0 - str r1, [sp] - str r2, [sp, 0x4] - adds r5, r3, 0 - movs r0, 0x1 - mov r1, r9 - ands r0, r1 - cmp r0, 0 - bne _0800D44C - b _0800D5E4 -_0800D44C: - asrs r0, r1, 1 - adds r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - movs r0, 0 - ldr r2, [sp] - cmp r0, r2 - blt _0800D460 - b _0800D674 -_0800D460: - movs r4, 0x8 - subs r1, r4, r1 - str r1, [sp, 0x10] -_0800D466: - movs r7, 0 - adds r0, 0x1 - str r0, [sp, 0x14] - ldr r0, [sp, 0x10] - cmp r7, r0 - bge _0800D4E2 - ldr r1, [sp, 0x8] - lsls r1, 8 - str r1, [sp, 0x18] - movs r2, 0 - mov r10, r2 - mov r0, r9 - movs r4, 0x8 - subs r0, r4, r0 - str r0, [sp, 0xC] -_0800D484: - movs r3, 0 - asrs r0, r7, 1 - adds r1, r7, 0 - movs r2, 0x1 - ands r1, r2 - str r1, [sp, 0x20] - lsls r0, 8 - mov r8, r0 - mov r12, r5 -_0800D496: - lsls r1, r3, 5 - ldr r4, [sp, 0x18] - adds r0, r5, r4 - adds r0, r1 - mov r1, r8 - adds r2, r0, r1 - mov r1, r12 - add r1, r8 - movs r6, 0xF -_0800D4A8: - ldr r4, [sp, 0x20] - cmp r4, 0 - bne _0800D4B8 - strb r4, [r1] - add r4, sp, 0x20 - ldrb r4, [r4] - strb r4, [r2, 0x10] - b _0800D4C6 -_0800D4B8: - mov r0, r10 - strb r0, [r1, 0x10] - movs r4, 0x80 - lsls r4, 1 - adds r4, r2, r4 - str r4, [sp, 0x1C] - strb r0, [r4] -_0800D4C6: - adds r2, 0x1 - adds r1, 0x1 - subs r6, 0x1 - cmp r6, 0 - bge _0800D4A8 - movs r0, 0x20 - add r12, r0 - adds r3, 0x1 - cmp r3, 0x7 - ble _0800D496 - adds r7, 0x1 - ldr r1, [sp, 0xC] - cmp r7, r1 - blt _0800D484 -_0800D4E2: - movs r7, 0 - movs r2, 0 -_0800D4E6: - movs r6, 0 - adds r4, r7, 0x1 - mov r8, r4 - lsls r4, r7, 5 -_0800D4EE: - adds r0, r6, 0x1 - mov r10, r0 - lsls r1, r6, 8 - adds r0, r1, 0 - adds r0, 0xC0 - adds r0, r5, r0 - adds r0, r4 - adds r1, r5, r1 - adds r1, r4 - movs r3, 0x1F -_0800D502: - strb r2, [r1] - strb r2, [r0] - adds r0, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _0800D502 - mov r6, r10 - cmp r6, 0x7 - ble _0800D4EE - mov r7, r8 - cmp r7, 0x1 - ble _0800D4E6 - mov r1, r9 - cmp r1, 0x5 - bne _0800D528 - movs r2, 0x90 - lsls r2, 1 - adds r5, r2 -_0800D528: - movs r7, 0 - cmp r7, r9 - bge _0800D5BE -_0800D52E: - movs r3, 0 - adds r7, 0x1 - mov r8, r7 - cmp r3, r9 - bge _0800D59E -_0800D538: - adds r3, 0x1 - mov r10, r3 - ldr r4, [sp, 0x4] - adds r4, 0x20 - adds r7, r5, 0 - adds r7, 0x20 - movs r0, 0x12 - adds r0, r5 - mov r12, r0 - ldr r2, [sp, 0x4] - adds r3, r5, 0 - movs r6, 0x3 -_0800D550: - ldrb r0, [r2] - mov r1, r12 - strb r0, [r1] - ldrb r0, [r2, 0x1] - strb r0, [r1, 0x1] - ldrb r0, [r2, 0x2] - strb r0, [r1, 0x1E] - ldrb r0, [r2, 0x3] - strb r0, [r1, 0x1F] - movs r0, 0x81 - lsls r0, 1 - adds r1, r3, r0 - ldrb r0, [r2, 0x10] - strb r0, [r1] - ldr r0, _0800D5A8 @ =0x00000103 - adds r1, r3, r0 - ldrb r0, [r2, 0x11] - strb r0, [r1] - movs r0, 0x90 - lsls r0, 1 - adds r1, r3, r0 - ldrb r0, [r2, 0x12] - strb r0, [r1] - ldr r0, _0800D5AC @ =0x00000121 - adds r1, r3, r0 - ldrb r0, [r2, 0x13] - strb r0, [r1] - movs r1, 0x4 - add r12, r1 - adds r2, 0x4 - adds r3, 0x4 - subs r6, 0x1 - cmp r6, 0 - bge _0800D550 - str r4, [sp, 0x4] - adds r5, r7, 0 - mov r3, r10 - cmp r3, r9 - blt _0800D538 -_0800D59E: - mov r2, r9 - cmp r2, 0x7 - bne _0800D5B0 - adds r5, 0x20 - b _0800D5B8 - .align 2, 0 -_0800D5A8: .4byte 0x00000103 -_0800D5AC: .4byte 0x00000121 -_0800D5B0: - mov r4, r9 - cmp r4, 0x5 - bne _0800D5B8 - adds r5, 0x60 -_0800D5B8: - mov r7, r8 - cmp r7, r9 - blt _0800D52E -_0800D5BE: - mov r0, r9 - cmp r0, 0x7 - bne _0800D5CC - movs r1, 0x80 - lsls r1, 1 - adds r5, r1 - b _0800D5D8 -_0800D5CC: - mov r2, r9 - cmp r2, 0x5 - bne _0800D5D8 - movs r4, 0xF0 - lsls r4, 1 - adds r5, r4 -_0800D5D8: - ldr r0, [sp, 0x14] - ldr r1, [sp] - cmp r0, r1 - bge _0800D5E2 - b _0800D466 -_0800D5E2: - b _0800D674 -_0800D5E4: - movs r6, 0 - ldr r2, [sp] - cmp r6, r2 - bge _0800D674 -_0800D5EC: - adds r6, 0x1 - mov r10, r6 - mov r4, r9 - cmp r4, 0x6 - bne _0800D604 - movs r0, 0 - movs r3, 0xFF -_0800D5FA: - strb r0, [r5] - adds r5, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _0800D5FA -_0800D604: - movs r7, 0 - cmp r7, r9 - bge _0800D658 -_0800D60A: - adds r7, 0x1 - mov r8, r7 - mov r1, r9 - lsls r0, r1, 5 - cmp r1, 0x6 - bne _0800D624 - movs r1, 0 - movs r3, 0x1F -_0800D61A: - strb r1, [r5] - adds r5, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _0800D61A -_0800D624: - adds r1, r0, 0 - cmp r1, 0 - ble _0800D63E - adds r3, r1, 0 -_0800D62C: - ldr r2, [sp, 0x4] - ldrb r0, [r2] - strb r0, [r5] - adds r2, 0x1 - str r2, [sp, 0x4] - adds r5, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800D62C -_0800D63E: - mov r4, r9 - cmp r4, 0x6 - bne _0800D652 - movs r0, 0 - movs r3, 0x1F -_0800D648: - strb r0, [r5] - adds r5, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _0800D648 -_0800D652: - mov r7, r8 - cmp r7, r9 - blt _0800D60A -_0800D658: - mov r0, r9 - cmp r0, 0x6 - bne _0800D66C - movs r0, 0 - movs r3, 0xFF -_0800D662: - strb r0, [r5] - adds r5, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _0800D662 -_0800D66C: - mov r6, r10 - ldr r1, [sp] - cmp r6, r1 - blt _0800D5EC -_0800D674: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_800D42C - - thumb_func_start unref_sub_800D684 -unref_sub_800D684: @ 800D684 - push {lr} - bl ResetSpriteData - ldr r0, _0800D6B8 @ =gSpriteTemplate_81F96D0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800D6BC @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, _0800D6C0 @ =sub_800D6C4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0800D6B8: .4byte gSpriteTemplate_81F96D0 -_0800D6BC: .4byte gSprites -_0800D6C0: .4byte sub_800D6C4 - thumb_func_end unref_sub_800D684 - - thumb_func_start sub_800D6C4 -sub_800D6C4: @ 800D6C4 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_800D6C4 - - thumb_func_start sub_800D6D4 -sub_800D6D4: @ 800D6D4 - push {r4,r5,lr} - ldr r3, _0800D72C @ =0x04000208 - ldrh r2, [r3] - movs r5, 0 - strh r5, [r3] - ldr r4, _0800D730 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r1, _0800D734 @ =REG_DISPSTAT - movs r0, 0x8 - strh r0, [r1] - adds r1, 0x4 - movs r2, 0x98 - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0800D738 @ =0x00009c04 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0800D73C @ =0x00005e05 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0800D740 @ =0x00005a0b - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0800D744 @ =REG_BLDCNT - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r1, 0xE - ldr r2, _0800D748 @ =0x0000bf40 - adds r0, r2, 0 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800D72C: .4byte 0x04000208 -_0800D730: .4byte 0x04000200 -_0800D734: .4byte REG_DISPSTAT -_0800D738: .4byte 0x00009c04 -_0800D73C: .4byte 0x00005e05 -_0800D740: .4byte 0x00005a0b -_0800D744: .4byte REG_BLDCNT -_0800D748: .4byte 0x0000bf40 - thumb_func_end sub_800D6D4 - - thumb_func_start sub_800D74C -sub_800D74C: @ 800D74C - push {r4,lr} - movs r0, 0x12 - bl TextWindow_SetBaseTileNum - ldr r4, _0800D79C @ =gUnknown_03004210 - adds r0, r4, 0 - movs r1, 0x1 - bl TextWindow_LoadStdFrameGraphicsOverridePal - movs r0, 0x22 - bl TextWindow_SetBaseTileNum - adds r0, r4, 0 - movs r1, 0x1 - bl TextWindow_LoadStdFrameGraphicsOverridePal - ldr r3, _0800D7A0 @ =gPlttBufferUnfaded - adds r0, r3, 0 - adds r0, 0xB8 - ldr r1, _0800D7A4 @ =0x00007fe0 - strh r1, [r0] - adds r2, r3, 0 - adds r2, 0xBA - ldr r1, _0800D7A8 @ =0x00002529 - strh r1, [r2] - adds r2, 0x2 - ldr r1, _0800D7AC @ =0x00007fff - strh r1, [r2] - adds r2, 0x2 - ldr r1, _0800D7B0 @ =0x0000675a - strh r1, [r2] - ldr r1, _0800D7B4 @ =gPlttBufferFaded + 0xB8 - movs r2, 0x4 - bl CpuSet - bl sub_8032A38 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800D79C: .4byte gUnknown_03004210 -_0800D7A0: .4byte gPlttBufferUnfaded -_0800D7A4: .4byte 0x00007fe0 -_0800D7A8: .4byte 0x00002529 -_0800D7AC: .4byte 0x00007fff -_0800D7B0: .4byte 0x0000675a -_0800D7B4: .4byte gPlttBufferFaded + 0xB8 - thumb_func_end sub_800D74C - - thumb_func_start DrawMainBattleBackground -DrawMainBattleBackground: @ 800D7B8 - push {r4,r5,lr} - ldr r0, _0800D7DC @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0800D7E0 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - beq _0800D7F8 - ldr r0, _0800D7E4 @ =gBattleTerrainTiles_Building - ldr r1, _0800D7E8 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D7EC @ =gBattleTerrainTilemap_Building - ldr r1, _0800D7F0 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D7F4 @ =gBattleTerrainPalette_BattleTower - b _0800DA66 - .align 2, 0 -_0800D7DC: .4byte gBattleTypeFlags -_0800D7E0: .4byte 0x00000902 -_0800D7E4: .4byte gBattleTerrainTiles_Building -_0800D7E8: .4byte 0x06008000 -_0800D7EC: .4byte gBattleTerrainTilemap_Building -_0800D7F0: .4byte 0x0600d000 -_0800D7F4: .4byte gBattleTerrainPalette_BattleTower -_0800D7F8: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0800D860 - ldr r0, _0800D820 @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _0800D838 - ldr r0, _0800D824 @ =gBattleTerrainTiles_Cave - ldr r1, _0800D828 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D82C @ =gBattleTerrainTilemap_Cave - ldr r1, _0800D830 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D834 @ =gBattleTerrainPalette_Groudon - b _0800DA66 - .align 2, 0 -_0800D820: .4byte gGameVersion -_0800D824: .4byte gBattleTerrainTiles_Cave -_0800D828: .4byte 0x06008000 -_0800D82C: .4byte gBattleTerrainTilemap_Cave -_0800D830: .4byte 0x0600d000 -_0800D834: .4byte gBattleTerrainPalette_Groudon -_0800D838: - ldr r0, _0800D84C @ =gBattleTerrainTiles_Water - ldr r1, _0800D850 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D854 @ =gBattleTerrainTilemap_Water - ldr r1, _0800D858 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D85C @ =gBattleTerrainPalette_Kyogre - b _0800DA66 - .align 2, 0 -_0800D84C: .4byte gBattleTerrainTiles_Water -_0800D850: .4byte 0x06008000 -_0800D854: .4byte gBattleTerrainTilemap_Water -_0800D858: .4byte 0x0600d000 -_0800D85C: .4byte gBattleTerrainPalette_Kyogre -_0800D860: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0800D8D8 - ldr r2, _0800D890 @ =gTrainers - ldr r0, _0800D894 @ =gTrainerBattleOpponent - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x19 - bne _0800D8AC - ldr r0, _0800D898 @ =gBattleTerrainTiles_Building - ldr r1, _0800D89C @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D8A0 @ =gBattleTerrainTilemap_Building - ldr r1, _0800D8A4 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D8A8 @ =gBattleTerrainPalette_BuildingLeader - b _0800DA66 - .align 2, 0 -_0800D890: .4byte gTrainers -_0800D894: .4byte gTrainerBattleOpponent -_0800D898: .4byte gBattleTerrainTiles_Building -_0800D89C: .4byte 0x06008000 -_0800D8A0: .4byte gBattleTerrainTilemap_Building -_0800D8A4: .4byte 0x0600d000 -_0800D8A8: .4byte gBattleTerrainPalette_BuildingLeader -_0800D8AC: - cmp r0, 0x20 - bne _0800D8D8 - ldr r0, _0800D8C4 @ =gBattleTerrainTiles_Stadium - ldr r1, _0800D8C8 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D8CC @ =gBattleTerrainTilemap_Stadium - ldr r1, _0800D8D0 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D8D4 @ =gBattleTerrainPalette_StadiumSteven - b _0800DA66 - .align 2, 0 -_0800D8C4: .4byte gBattleTerrainTiles_Stadium -_0800D8C8: .4byte 0x06008000 -_0800D8CC: .4byte gBattleTerrainTilemap_Stadium -_0800D8D0: .4byte 0x0600d000 -_0800D8D4: .4byte gBattleTerrainPalette_StadiumSteven -_0800D8D8: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bls _0800D8E6 - b _0800DA9E -_0800D8E6: - lsls r0, 2 - ldr r1, _0800D8F0 @ =_0800D8F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800D8F0: .4byte _0800D8F4 - .align 2, 0 -_0800D8F4: - .4byte _0800D918 - .4byte _0800D964 - .4byte _0800D98C - .4byte _0800D9B4 - .4byte _0800D9DC - .4byte _0800DA04 - .4byte _0800DA2C - .4byte _0800DA54 - .4byte _0800DA84 -_0800D918: - ldr r4, _0800D954 @ =gBattleTerrainTable - ldr r5, _0800D958 @ =gBattleTerrain - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldr r1, _0800D95C @ =0x06008000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0x4 - adds r0, r1 - ldr r0, [r0] - ldr r1, _0800D960 @ =0x0600d000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, 0x10 - adds r0, r4 - ldr r0, [r0] - b _0800DA66 - .align 2, 0 -_0800D954: .4byte gBattleTerrainTable -_0800D958: .4byte gBattleTerrain -_0800D95C: .4byte 0x06008000 -_0800D960: .4byte 0x0600d000 -_0800D964: - ldr r0, _0800D978 @ =gBattleTerrainTiles_Building - ldr r1, _0800D97C @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D980 @ =gBattleTerrainTilemap_Building - ldr r1, _0800D984 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D988 @ =gBattleTerrainPalette_BuildingGym - b _0800DA66 - .align 2, 0 -_0800D978: .4byte gBattleTerrainTiles_Building -_0800D97C: .4byte 0x06008000 -_0800D980: .4byte gBattleTerrainTilemap_Building -_0800D984: .4byte 0x0600d000 -_0800D988: .4byte gBattleTerrainPalette_BuildingGym -_0800D98C: - ldr r0, _0800D9A0 @ =gBattleTerrainTiles_Stadium - ldr r1, _0800D9A4 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D9A8 @ =gBattleTerrainTilemap_Stadium - ldr r1, _0800D9AC @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D9B0 @ =gBattleTerrainPalette_StadiumMagma - b _0800DA66 - .align 2, 0 -_0800D9A0: .4byte gBattleTerrainTiles_Stadium -_0800D9A4: .4byte 0x06008000 -_0800D9A8: .4byte gBattleTerrainTilemap_Stadium -_0800D9AC: .4byte 0x0600d000 -_0800D9B0: .4byte gBattleTerrainPalette_StadiumMagma -_0800D9B4: - ldr r0, _0800D9C8 @ =gBattleTerrainTiles_Stadium - ldr r1, _0800D9CC @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D9D0 @ =gBattleTerrainTilemap_Stadium - ldr r1, _0800D9D4 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800D9D8 @ =gBattleTerrainPalette_StadiumAqua - b _0800DA66 - .align 2, 0 -_0800D9C8: .4byte gBattleTerrainTiles_Stadium -_0800D9CC: .4byte 0x06008000 -_0800D9D0: .4byte gBattleTerrainTilemap_Stadium -_0800D9D4: .4byte 0x0600d000 -_0800D9D8: .4byte gBattleTerrainPalette_StadiumAqua -_0800D9DC: - ldr r0, _0800D9F0 @ =gBattleTerrainTiles_Stadium - ldr r1, _0800D9F4 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800D9F8 @ =gBattleTerrainTilemap_Stadium - ldr r1, _0800D9FC @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800DA00 @ =gBattleTerrainPalette_StadiumSidney - b _0800DA66 - .align 2, 0 -_0800D9F0: .4byte gBattleTerrainTiles_Stadium -_0800D9F4: .4byte 0x06008000 -_0800D9F8: .4byte gBattleTerrainTilemap_Stadium -_0800D9FC: .4byte 0x0600d000 -_0800DA00: .4byte gBattleTerrainPalette_StadiumSidney -_0800DA04: - ldr r0, _0800DA18 @ =gBattleTerrainTiles_Stadium - ldr r1, _0800DA1C @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800DA20 @ =gBattleTerrainTilemap_Stadium - ldr r1, _0800DA24 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800DA28 @ =gBattleTerrainPalette_StadiumPhoebe - b _0800DA66 - .align 2, 0 -_0800DA18: .4byte gBattleTerrainTiles_Stadium -_0800DA1C: .4byte 0x06008000 -_0800DA20: .4byte gBattleTerrainTilemap_Stadium -_0800DA24: .4byte 0x0600d000 -_0800DA28: .4byte gBattleTerrainPalette_StadiumPhoebe -_0800DA2C: - ldr r0, _0800DA40 @ =gBattleTerrainTiles_Stadium - ldr r1, _0800DA44 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800DA48 @ =gBattleTerrainTilemap_Stadium - ldr r1, _0800DA4C @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800DA50 @ =gBattleTerrainPalette_StadiumGlacia - b _0800DA66 - .align 2, 0 -_0800DA40: .4byte gBattleTerrainTiles_Stadium -_0800DA44: .4byte 0x06008000 -_0800DA48: .4byte gBattleTerrainTilemap_Stadium -_0800DA4C: .4byte 0x0600d000 -_0800DA50: .4byte gBattleTerrainPalette_StadiumGlacia -_0800DA54: - ldr r0, _0800DA70 @ =gBattleTerrainTiles_Stadium - ldr r1, _0800DA74 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800DA78 @ =gBattleTerrainTilemap_Stadium - ldr r1, _0800DA7C @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800DA80 @ =gBattleTerrainPalette_StadiumDrake -_0800DA66: - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _0800DA9E - .align 2, 0 -_0800DA70: .4byte gBattleTerrainTiles_Stadium -_0800DA74: .4byte 0x06008000 -_0800DA78: .4byte gBattleTerrainTilemap_Stadium -_0800DA7C: .4byte 0x0600d000 -_0800DA80: .4byte gBattleTerrainPalette_StadiumDrake -_0800DA84: - ldr r0, _0800DAA4 @ =gBattleTerrainTiles_Building - ldr r1, _0800DAA8 @ =0x06008000 - bl LZDecompressVram - ldr r0, _0800DAAC @ =gBattleTerrainTilemap_Building - ldr r1, _0800DAB0 @ =0x0600d000 - bl LZDecompressVram - ldr r0, _0800DAB4 @ =gBattleTerrainPalette_BattleTower - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette -_0800DA9E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800DAA4: .4byte gBattleTerrainTiles_Building -_0800DAA8: .4byte 0x06008000 -_0800DAAC: .4byte gBattleTerrainTilemap_Building -_0800DAB0: .4byte 0x0600d000 -_0800DAB4: .4byte gBattleTerrainPalette_BattleTower - thumb_func_end DrawMainBattleBackground - -.if DEBUG - thumb_func_start sub_800DAB8 -sub_800DAB8: -.syntax divided - push {r4, r5, lr} - add sp, sp, #0xfffffffc - ldr r0, ._113 @ gUnknown_08D00000 - mov r1, #0xc0 - lsl r1, r1, #0x13 - bl LZDecompressVram - ldr r0, ._113 + 4 @ gUnknown_08D00524 - ldr r4, ._113 + 8 @ 0x600c000 - mov r2, #0x80 - lsl r2, r2, #0x4 - add r1, r4, #0 - bl CpuSet - ldr r0, ._113 + 12 @ gUnknown_08D004E0 - mov r1, #0x0 - mov r2, #0x40 - bl LoadCompressedPalette - bl sub_800D74C - bl DrawMainBattleBackground - ldr r0, ._113 + 16 @ gBattleTypeFlags - ldrh r1, [r0] - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._112 @cond_branch - ldr r0, ._113 + 20 @ 0x6000600 - mov r1, #0x0 - add r2, r4, #0 - mov r3, #0x1 - bl debug_sub_8008218 - ldr r5, ._113 + 24 @ 0x101 - mov r4, #0x1 - str r4, [sp] - add r0, r5, #0 - mov r1, #0x3 - mov r2, #0x1 - mov r3, #0x3 - bl debug_sub_8008264 - str r4, [sp] - add r0, r5, #0 - mov r1, #0x3 - mov r2, #0x15 - mov r3, #0x3 - bl debug_sub_8008264 - str r4, [sp] - add r0, r5, #0 - mov r1, #0x3 - mov r2, #0x29 - mov r3, #0x3 - bl debug_sub_8008264 -._112: - add sp, sp, #0x4 - pop {r4, r5} - pop {r0} - bx r0 -._114: - .align 2, 0 -._113: - .word gUnknown_08D00000 - .word gUnknown_08D00524 - .word 0x600c000 - .word gUnknown_08D004E0 - .word gBattleTypeFlags - .word 0x6000600 - .word 0x101 -.syntax unified - thumb_func_end sub_800DAB8 -.else - thumb_func_start sub_800DAB8 -sub_800DAB8: @ 800DAB8 - push {lr} - ldr r0, _0800DAE8 @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _0800DAEC @ =gUnknown_08D00524 - ldr r1, _0800DAF0 @ =0x0600c000 - movs r2, 0x80 - lsls r2, 4 - bl CpuSet - ldr r0, _0800DAF4 @ =gUnknown_08D004E0 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - bl sub_800D74C - bl DrawMainBattleBackground - pop {r0} - bx r0 - .align 2, 0 -_0800DAE8: .4byte gUnknown_08D00000 -_0800DAEC: .4byte gUnknown_08D00524 -_0800DAF0: .4byte 0x0600c000 -_0800DAF4: .4byte gUnknown_08D004E0 - thumb_func_end sub_800DAB8 -.endif - - thumb_func_start sub_800DAF8 -sub_800DAF8: @ 800DAF8 - push {r4-r7,lr} - sub sp, 0xC - adds r7, r2, 0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r3, r1, 24 - movs r4, 0 - ldr r0, _0800DB38 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800DBB4 - ldr r0, _0800DB3C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0800DB52 - cmp r3, 0x1 - beq _0800DB7A - cmp r3, 0x1 - bgt _0800DB40 - cmp r3, 0 - beq _0800DB4A - b _0800DB84 - .align 2, 0 -_0800DB38: .4byte gBattleTypeFlags -_0800DB3C: .4byte gTasks -_0800DB40: - cmp r3, 0x2 - beq _0800DB4E - cmp r3, 0x3 - beq _0800DB6E - b _0800DB84 -_0800DB4A: - ldrh r0, [r1, 0xE] - b _0800DB70 -_0800DB4E: - ldrh r1, [r1, 0xE] - b _0800DB7C -_0800DB52: - cmp r3, 0x1 - beq _0800DB6E - cmp r3, 0x1 - bgt _0800DB60 - cmp r3, 0 - beq _0800DB6A - b _0800DB84 -_0800DB60: - cmp r3, 0x2 - beq _0800DB76 - cmp r3, 0x3 - beq _0800DB7A - b _0800DB84 -_0800DB6A: - ldrh r0, [r1, 0xE] - b _0800DB70 -_0800DB6E: - ldrh r0, [r1, 0x10] -_0800DB70: - movs r4, 0x3F - ands r4, r0 - b _0800DB84 -_0800DB76: - ldrh r1, [r1, 0xE] - b _0800DB7C -_0800DB7A: - ldrh r1, [r1, 0x10] -_0800DB7C: - movs r0, 0xFC - lsls r0, 4 - ands r0, r1 - lsrs r4, r0, 6 -_0800DB84: - movs r3, 0 - movs r6, 0x3 - ldr r0, _0800DBB0 @ =0x00006001 - adds r5, r0, 0 - mov r2, sp -_0800DB8E: - lsls r1, r3, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r2] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x2 - ble _0800DB8E - mov r0, sp - adds r1, r7, 0 - movs r2, 0x3 - bl CpuSet - b _0800DC12 - .align 2, 0 -_0800DBB0: .4byte 0x00006001 -_0800DBB4: - ldr r0, _0800DBD0 @ =gSharedMem - ldr r1, _0800DBD4 @ =0x000160cb - adds r0, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _0800DBDC - ldr r1, _0800DBD8 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0xE] - b _0800DBE8 - .align 2, 0 -_0800DBD0: .4byte gSharedMem -_0800DBD4: .4byte 0x000160cb -_0800DBD8: .4byte gTasks -_0800DBDC: - ldr r1, _0800DC1C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0x10] -_0800DBE8: - movs r3, 0 - movs r6, 0x3 - ldr r2, _0800DC20 @ =0x00006001 - adds r5, r2, 0 - mov r2, sp -_0800DBF2: - lsls r1, r3, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r2] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x5 - ble _0800DBF2 - mov r0, sp - adds r1, r7, 0 - movs r2, 0x6 - bl CpuSet -_0800DC12: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800DC1C: .4byte gTasks -_0800DC20: .4byte 0x00006001 - thumb_func_end sub_800DAF8 - - .section .text_800DC24 - - thumb_func_start sub_800DE30 -sub_800DE30: @ 800DE30 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _0800DE64 @ =gTasks - lsls r0, 2 - mov r10, r0 - add r0, r9 - lsls r0, 3 - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _0800DE58 - b _0800DF9C -_0800DE58: - cmp r0, 0x1 - bgt _0800DE68 - cmp r0, 0 - beq _0800DE70 - b _0800E212 - .align 2, 0 -_0800DE64: .4byte gTasks -_0800DE68: - cmp r0, 0x2 - bne _0800DE6E - b _0800E03C -_0800DE6E: - b _0800E212 -_0800DE70: - ldr r0, _0800DED0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800DEE0 - ldr r0, _0800DED4 @ =gLinkPlayers - ldr r2, _0800DED8 @ =gUnknown_081F9680 - mov r8, r2 - adds r7, r0, 0 - adds r7, 0x8 - movs r5, 0x3 -_0800DE88: - ldrb r0, [r7, 0x10] - movs r1, 0x3 - ands r1, r0 - str r1, [sp, 0x8] - lsls r4, r1, 1 - adds r4, r1 - lsls r4, 2 - mov r2, r8 - adds r0, r4, r2 - ldr r1, [r0] - str r1, [sp, 0xC] - ldrh r2, [r0, 0x4] - ldrb r3, [r0, 0x6] - ldrb r0, [r0, 0x7] - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r1, 0 - adds r1, r7, 0 - bl Text_InitWindow8002E4C - ldr r0, [sp, 0xC] - bl Text_PrintWindow8002F44 - ldr r2, _0800DEDC @ =gUnknown_081F9680 + 0x8 - adds r4, r2 - ldr r2, [r4] - mov r0, r9 - ldr r1, [sp, 0x8] - bl sub_800DAF8 - adds r7, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _0800DE88 - b _0800DF70 - .align 2, 0 -_0800DED0: .4byte gBattleTypeFlags -_0800DED4: .4byte gLinkPlayers -_0800DED8: .4byte gUnknown_081F9680 -_0800DEDC: .4byte gUnknown_081F9680 + 0x8 -_0800DEE0: - ldr r0, _0800DF84 @ =gSharedMem - ldr r5, _0800DF88 @ =0x000160cb - adds r0, r5 - ldrb r7, [r0] - movs r0, 0x1 - adds r6, r7, 0 - eors r6, r0 - adds r1, r6, 0 - ldr r2, _0800DF8C @ =gLinkPlayers - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _0800DF04 - adds r6, r7, 0 - adds r7, r1, 0 -_0800DF04: - ldr r0, _0800DF90 @ =gUnknown_081F9680 - mov r8, r0 - adds r0, 0x30 - mov r1, r8 - ldr r4, [r1, 0x30] - lsls r1, r7, 3 - subs r1, r7 - lsls r1, 2 - ldr r2, _0800DF94 @ =gLinkPlayers + 0x8 - adds r1, r2 - ldrh r2, [r0, 0x4] - ldrb r3, [r0, 0x6] - ldrb r0, [r0, 0x7] - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - adds r0, r4, 0 - bl Text_InitWindow8002E4C - adds r0, r4, 0 - bl Text_PrintWindow8002F44 - mov r0, r8 - ldr r2, [r0, 0x38] - mov r0, r9 - adds r1, r7, 0 - bl sub_800DAF8 - mov r0, r8 - adds r0, 0x3C - mov r1, r8 - ldr r4, [r1, 0x3C] - lsls r1, r6, 3 - subs r1, r6 - lsls r1, 2 - ldr r2, _0800DF94 @ =gLinkPlayers + 0x8 - adds r1, r2 - ldrh r2, [r0, 0x4] - ldrb r3, [r0, 0x6] - ldrb r0, [r0, 0x7] - str r0, [sp] - str r5, [sp, 0x4] - adds r0, r4, 0 - bl Text_InitWindow8002E4C - adds r0, r4, 0 - bl Text_PrintWindow8002F44 - mov r5, r8 - ldr r2, [r5, 0x44] - mov r0, r9 - adds r1, r6, 0 - bl sub_800DAF8 -_0800DF70: - ldr r0, _0800DF98 @ =gTasks - mov r1, r10 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0800E212 - .align 2, 0 -_0800DF84: .4byte gSharedMem -_0800DF88: .4byte 0x000160cb -_0800DF8C: .4byte gLinkPlayers -_0800DF90: .4byte gUnknown_081F9680 -_0800DF94: .4byte gLinkPlayers + 0x8 -_0800DF98: .4byte gTasks -_0800DF9C: - ldr r0, _0800E010 @ =0x00002710 - bl AllocSpritePalette - lsls r0, 24 - ldr r2, _0800E014 @ =gPlttBufferUnfaded - lsrs r0, 19 - ldr r1, _0800E018 @ =0x0000021e - adds r0, r1 - adds r2, r0, r2 - ldr r1, _0800E01C @ =gPlttBufferFaded - adds r0, r1 - ldr r1, _0800E020 @ =0x00007fff - strh r1, [r0] - strh r1, [r2] - ldr r0, _0800E024 @ =gSpriteTemplate_81F9574 - movs r1, 0x6C - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r4, _0800E028 @ =gSharedMem - ldr r2, _0800E02C @ =0x0001608a - adds r7, r4, r2 - strb r0, [r7] - ldr r0, _0800E030 @ =gSpriteTemplate_81F958C - movs r1, 0x84 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r5, _0800E034 @ =0x0001608b - adds r4, r5 - strb r0, [r4] - ldr r3, _0800E038 @ =gSprites - ldrb r1, [r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _0800E212 - .align 2, 0 -_0800E010: .4byte 0x00002710 -_0800E014: .4byte gPlttBufferUnfaded -_0800E018: .4byte 0x0000021e -_0800E01C: .4byte gPlttBufferFaded -_0800E020: .4byte 0x00007fff -_0800E024: .4byte gSpriteTemplate_81F9574 -_0800E028: .4byte gSharedMem -_0800E02C: .4byte 0x0001608a -_0800E030: .4byte gSpriteTemplate_81F958C -_0800E034: .4byte 0x0001608b -_0800E038: .4byte gSprites -_0800E03C: - movs r1, 0x12 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0800E0A4 - ldr r4, _0800E090 @ =gBattle_BG1_X - ldrh r0, [r6, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800E056 - adds r0, 0x1F -_0800E056: - asrs r1, r0, 5 - movs r2, 0x14 - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800E094 @ =gBattle_BG2_X - ldrh r0, [r6, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800E074 - adds r0, 0x1F -_0800E074: - asrs r1, r0, 5 - movs r5, 0x8C - negs r5, r5 - adds r0, r5, 0 - subs r0, r1 - strh r0, [r4] - ldr r0, _0800E098 @ =gBattle_BG1_Y - ldr r2, _0800E09C @ =0x0000ffdc - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _0800E0A0 @ =gBattle_BG2_Y - strh r1, [r0] - b _0800E110 - .align 2, 0 -_0800E090: .4byte gBattle_BG1_X -_0800E094: .4byte gBattle_BG2_X -_0800E098: .4byte gBattle_BG1_Y -_0800E09C: .4byte 0x0000ffdc -_0800E0A0: .4byte gBattle_BG2_Y -_0800E0A4: - ldr r4, _0800E134 @ =gBattle_BG1_X - ldrh r0, [r6, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800E0B6 - adds r0, 0x1F -_0800E0B6: - asrs r1, r0, 5 - movs r5, 0x14 - negs r5, r5 - adds r0, r5, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800E138 @ =gBattle_BG1_Y - ldrh r0, [r6, 0xA] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800E0D4 - adds r0, 0x1F -_0800E0D4: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] - ldr r4, _0800E13C @ =gBattle_BG2_X - ldrh r0, [r6, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800E0EC - adds r0, 0x1F -_0800E0EC: - asrs r1, r0, 5 - movs r2, 0x8C - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800E140 @ =gBattle_BG2_Y - ldrh r0, [r6, 0xC] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800E10A - adds r0, 0x1F -_0800E10A: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] -_0800E110: - ldr r1, _0800E144 @ =gTasks - mov r5, r9 - lsls r0, r5, 2 - add r0, r9 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xC] - movs r2, 0xC - ldrsh r7, [r1, r2] - cmp r7, 0 - beq _0800E148 - subs r0, 0x2 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xA] - adds r0, 0x2 - strh r0, [r1, 0xA] - b _0800E212 - .align 2, 0 -_0800E134: .4byte gBattle_BG1_X -_0800E138: .4byte gBattle_BG1_Y -_0800E13C: .4byte gBattle_BG2_X -_0800E140: .4byte gBattle_BG2_Y -_0800E144: .4byte gTasks -_0800E148: - movs r5, 0x12 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _0800E154 - bl PrintLinkBattleWinLossTie -_0800E154: - movs r0, 0x78 - bl PlaySE - mov r0, r9 - bl DestroyTask - ldr r4, _0800E224 @ =gSprites - ldr r0, _0800E228 @ =gSharedMem - mov r8, r0 - ldr r1, _0800E22C @ =0x0001608a - add r1, r8 - mov r9, r1 - ldrb r0, [r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r5, _0800E230 @ =0x0001608b - add r8, r5 - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - mov r1, r8 - ldrb r0, [r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x40 - ldr r5, _0800E234 @ =0x000003ff - adds r0, r5, 0 - ands r1, r0 - ldr r0, _0800E238 @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - mov r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x2E] - mov r2, r8 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x2E] - mov r5, r9 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x32] -_0800E212: - 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 -_0800E224: .4byte gSprites -_0800E228: .4byte gSharedMem -_0800E22C: .4byte 0x0001608a -_0800E230: .4byte 0x0001608b -_0800E234: .4byte 0x000003ff -_0800E238: .4byte 0xfffffc00 - thumb_func_end sub_800DE30 - - thumb_func_start sub_800E23C -sub_800E23C: @ 800E23C - push {r4,r5,lr} - ldr r0, _0800E29C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800E2DC - ldr r0, _0800E2A0 @ =gVersusFrameGfx - ldr r1, _0800E2A4 @ =0x06004000 - bl LZDecompressVram - ldr r4, _0800E2A8 @ =gVersusFrameTilemap - ldr r1, _0800E2AC @ =0x0600e000 - adds r0, r4, 0 - bl LZDecompressVram - ldr r1, _0800E2B0 @ =0x0600f000 - adds r0, r4, 0 - bl LZDecompressVram - ldr r0, _0800E2B4 @ =gUnknown_08E5DC2C - ldr r1, _0800E2B8 @ =0x06010000 - bl LZDecompressVram - ldr r0, _0800E2BC @ =gVersusFramePal - movs r1, 0x60 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, _0800E2C0 @ =REG_BG1CNT - ldr r2, _0800E2C4 @ =0x00005c04 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0800E2C8 @ =REG_WININ - movs r1, 0x36 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r0, _0800E2CC @ =gBattle_BG1_Y - ldr r2, _0800E2D0 @ =0x0000ff5c - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _0800E2D4 @ =gBattle_BG2_Y - strh r1, [r0] - ldr r0, _0800E2D8 @ =gUnknown_081F95A4 - bl LoadCompressedObjectPic - b _0800E3FC - .align 2, 0 -_0800E29C: .4byte gBattleTypeFlags -_0800E2A0: .4byte gVersusFrameGfx -_0800E2A4: .4byte 0x06004000 -_0800E2A8: .4byte gVersusFrameTilemap -_0800E2AC: .4byte 0x0600e000 -_0800E2B0: .4byte 0x0600f000 -_0800E2B4: .4byte gUnknown_08E5DC2C -_0800E2B8: .4byte 0x06010000 -_0800E2BC: .4byte gVersusFramePal -_0800E2C0: .4byte REG_BG1CNT -_0800E2C4: .4byte 0x00005c04 -_0800E2C8: .4byte REG_WININ -_0800E2CC: .4byte gBattle_BG1_Y -_0800E2D0: .4byte 0x0000ff5c -_0800E2D4: .4byte gBattle_BG2_Y -_0800E2D8: .4byte gUnknown_081F95A4 -_0800E2DC: - ldr r0, _0800E2F0 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - beq _0800E300 - ldr r0, _0800E2F4 @ =gBattleTerrainAnimTiles_Building - ldr r1, _0800E2F8 @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800E2FC @ =gBattleTerrainAnimTilemap_Building - b _0800E3D2 - .align 2, 0 -_0800E2F0: .4byte 0x00000902 -_0800E2F4: .4byte gBattleTerrainAnimTiles_Building -_0800E2F8: .4byte 0x06004000 -_0800E2FC: .4byte gBattleTerrainAnimTilemap_Building -_0800E300: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0800E348 - ldr r0, _0800E320 @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _0800E330 - ldr r0, _0800E324 @ =gBattleTerrainAnimTiles_Cave - ldr r1, _0800E328 @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800E32C @ =gBattleTerrainAnimTilemap_Cave - b _0800E3D2 - .align 2, 0 -_0800E320: .4byte gGameVersion -_0800E324: .4byte gBattleTerrainAnimTiles_Cave -_0800E328: .4byte 0x06004000 -_0800E32C: .4byte gBattleTerrainAnimTilemap_Cave -_0800E330: - ldr r0, _0800E33C @ =gBattleTerrainAnimTiles_Underwater - ldr r1, _0800E340 @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800E344 @ =gBattleTerrainAnimTilemap_Underwater - b _0800E3D2 - .align 2, 0 -_0800E33C: .4byte gBattleTerrainAnimTiles_Underwater -_0800E340: .4byte 0x06004000 -_0800E344: .4byte gBattleTerrainAnimTilemap_Underwater -_0800E348: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0800E3A0 - ldr r2, _0800E370 @ =gTrainers - ldr r0, _0800E374 @ =gTrainerBattleOpponent - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x19 - bne _0800E384 - ldr r0, _0800E378 @ =gBattleTerrainAnimTiles_Building - ldr r1, _0800E37C @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800E380 @ =gBattleTerrainAnimTilemap_Building - b _0800E3D2 - .align 2, 0 -_0800E370: .4byte gTrainers -_0800E374: .4byte gTrainerBattleOpponent -_0800E378: .4byte gBattleTerrainAnimTiles_Building -_0800E37C: .4byte 0x06004000 -_0800E380: .4byte gBattleTerrainAnimTilemap_Building -_0800E384: - cmp r0, 0x20 - bne _0800E3A0 - ldr r0, _0800E394 @ =gBattleTerrainAnimTiles_Building - ldr r1, _0800E398 @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800E39C @ =gBattleTerrainAnimTilemap_Building - b _0800E3D2 - .align 2, 0 -_0800E394: .4byte gBattleTerrainAnimTiles_Building -_0800E398: .4byte 0x06004000 -_0800E39C: .4byte gBattleTerrainAnimTilemap_Building -_0800E3A0: - bl sav1_map_get_battletype - lsls r0, 24 - cmp r0, 0 - bne _0800E3EC - ldr r4, _0800E3DC @ =gBattleTerrainTable - ldr r5, _0800E3E0 @ =gBattleTerrain - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - ldr r1, _0800E3E4 @ =0x06004000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, 0xC - adds r0, r4 - ldr r0, [r0] -_0800E3D2: - ldr r1, _0800E3E8 @ =0x0600e000 - bl LZDecompressVram - b _0800E3FC - .align 2, 0 -_0800E3DC: .4byte gBattleTerrainTable -_0800E3E0: .4byte gBattleTerrain -_0800E3E4: .4byte 0x06004000 -_0800E3E8: .4byte 0x0600e000 -_0800E3EC: - ldr r0, _0800E404 @ =gBattleTerrainAnimTiles_Building - ldr r1, _0800E408 @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800E40C @ =gBattleTerrainAnimTilemap_Building - ldr r1, _0800E410 @ =0x0600e000 - bl LZDecompressVram -_0800E3FC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800E404: .4byte gBattleTerrainAnimTiles_Building -_0800E408: .4byte 0x06004000 -_0800E40C: .4byte gBattleTerrainAnimTilemap_Building -_0800E410: .4byte 0x0600e000 - thumb_func_end sub_800E23C - - thumb_func_start sub_800E414 -sub_800E414: @ 800E414 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - cmp r0, 0x6 - bls _0800E422 - b _0800E7BA -_0800E422: - lsls r0, 2 - ldr r1, _0800E42C @ =_0800E430 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800E42C: .4byte _0800E430 - .align 2, 0 -_0800E430: - .4byte _0800E44C - .4byte _0800E45C - .4byte _0800E474 - .4byte _0800E484 - .4byte _0800E590 - .4byte _0800E69C - .4byte _0800E7B4 -_0800E44C: - ldr r0, _0800E458 @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _0800E7BC - .align 2, 0 -_0800E458: .4byte gUnknown_08D00000 -_0800E45C: - ldr r0, _0800E46C @ =gUnknown_08D00524 - ldr r1, _0800E470 @ =0x0600c000 - movs r2, 0x80 - lsls r2, 4 - bl CpuSet - b _0800E7BC - .align 2, 0 -_0800E46C: .4byte gUnknown_08D00524 -_0800E470: .4byte 0x0600c000 -_0800E474: - ldr r0, _0800E480 @ =gUnknown_08D004E0 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _0800E7BC - .align 2, 0 -_0800E480: .4byte gUnknown_08D004E0 -_0800E484: - ldr r0, _0800E4A8 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0800E4AC @ =0x00000902 - ands r0, r1 - cmp r0, 0 - beq _0800E492 - b _0800E57C -_0800E492: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0800E4C0 - ldr r0, _0800E4B0 @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _0800E4B8 - ldr r0, _0800E4B4 @ =gBattleTerrainTiles_Cave - b _0800E57E - .align 2, 0 -_0800E4A8: .4byte gBattleTypeFlags -_0800E4AC: .4byte 0x00000902 -_0800E4B0: .4byte gGameVersion -_0800E4B4: .4byte gBattleTerrainTiles_Cave -_0800E4B8: - ldr r0, _0800E4BC @ =gBattleTerrainTiles_Water - b _0800E57E - .align 2, 0 -_0800E4BC: .4byte gBattleTerrainTiles_Water -_0800E4C0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0800E4F0 - ldr r2, _0800E4E4 @ =gTrainers - ldr r0, _0800E4E8 @ =gTrainerBattleOpponent - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x19 - beq _0800E57C - cmp r0, 0x20 - bne _0800E4F0 - ldr r0, _0800E4EC @ =gBattleTerrainTiles_Stadium - b _0800E57E - .align 2, 0 -_0800E4E4: .4byte gTrainers -_0800E4E8: .4byte gTrainerBattleOpponent -_0800E4EC: .4byte gBattleTerrainTiles_Stadium -_0800E4F0: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bls _0800E4FE - b _0800E7BC -_0800E4FE: - lsls r0, 2 - ldr r1, _0800E508 @ =_0800E50C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800E508: .4byte _0800E50C - .align 2, 0 -_0800E50C: - .4byte _0800E530 - .4byte _0800E57C - .4byte _0800E54C - .4byte _0800E554 - .4byte _0800E55C - .4byte _0800E564 - .4byte _0800E56C - .4byte _0800E574 - .4byte _0800E57C -_0800E530: - ldr r2, _0800E544 @ =gBattleTerrainTable - ldr r0, _0800E548 @ =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - b _0800E57E - .align 2, 0 -_0800E544: .4byte gBattleTerrainTable -_0800E548: .4byte gBattleTerrain -_0800E54C: - ldr r0, _0800E550 @ =gBattleTerrainTiles_Stadium - b _0800E57E - .align 2, 0 -_0800E550: .4byte gBattleTerrainTiles_Stadium -_0800E554: - ldr r0, _0800E558 @ =gBattleTerrainTiles_Stadium - b _0800E57E - .align 2, 0 -_0800E558: .4byte gBattleTerrainTiles_Stadium -_0800E55C: - ldr r0, _0800E560 @ =gBattleTerrainTiles_Stadium - b _0800E57E - .align 2, 0 -_0800E560: .4byte gBattleTerrainTiles_Stadium -_0800E564: - ldr r0, _0800E568 @ =gBattleTerrainTiles_Stadium - b _0800E57E - .align 2, 0 -_0800E568: .4byte gBattleTerrainTiles_Stadium -_0800E56C: - ldr r0, _0800E570 @ =gBattleTerrainTiles_Stadium - b _0800E57E - .align 2, 0 -_0800E570: .4byte gBattleTerrainTiles_Stadium -_0800E574: - ldr r0, _0800E578 @ =gBattleTerrainTiles_Stadium - b _0800E57E - .align 2, 0 -_0800E578: .4byte gBattleTerrainTiles_Stadium -_0800E57C: - ldr r0, _0800E588 @ =gBattleTerrainTiles_Building -_0800E57E: - ldr r1, _0800E58C @ =0x06008000 - bl LZDecompressVram - b _0800E7BC - .align 2, 0 -_0800E588: .4byte gBattleTerrainTiles_Building -_0800E58C: .4byte 0x06008000 -_0800E590: - ldr r0, _0800E5B4 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0800E5B8 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - beq _0800E59E - b _0800E688 -_0800E59E: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0800E5CC - ldr r0, _0800E5BC @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _0800E5C4 - ldr r0, _0800E5C0 @ =gBattleTerrainTilemap_Cave - b _0800E68A - .align 2, 0 -_0800E5B4: .4byte gBattleTypeFlags -_0800E5B8: .4byte 0x00000902 -_0800E5BC: .4byte gGameVersion -_0800E5C0: .4byte gBattleTerrainTilemap_Cave -_0800E5C4: - ldr r0, _0800E5C8 @ =gBattleTerrainTilemap_Water - b _0800E68A - .align 2, 0 -_0800E5C8: .4byte gBattleTerrainTilemap_Water -_0800E5CC: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0800E5FC - ldr r2, _0800E5F0 @ =gTrainers - ldr r0, _0800E5F4 @ =gTrainerBattleOpponent - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x19 - beq _0800E688 - cmp r0, 0x20 - bne _0800E5FC - ldr r0, _0800E5F8 @ =gBattleTerrainTilemap_Stadium - b _0800E68A - .align 2, 0 -_0800E5F0: .4byte gTrainers -_0800E5F4: .4byte gTrainerBattleOpponent -_0800E5F8: .4byte gBattleTerrainTilemap_Stadium -_0800E5FC: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bls _0800E60A - b _0800E7BC -_0800E60A: - lsls r0, 2 - ldr r1, _0800E614 @ =_0800E618 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800E614: .4byte _0800E618 - .align 2, 0 -_0800E618: - .4byte _0800E63C - .4byte _0800E688 - .4byte _0800E658 - .4byte _0800E660 - .4byte _0800E668 - .4byte _0800E670 - .4byte _0800E678 - .4byte _0800E680 - .4byte _0800E688 -_0800E63C: - ldr r2, _0800E650 @ =gBattleTerrainTable - ldr r0, _0800E654 @ =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - b _0800E68A - .align 2, 0 -_0800E650: .4byte gBattleTerrainTable -_0800E654: .4byte gBattleTerrain -_0800E658: - ldr r0, _0800E65C @ =gBattleTerrainTilemap_Stadium - b _0800E68A - .align 2, 0 -_0800E65C: .4byte gBattleTerrainTilemap_Stadium -_0800E660: - ldr r0, _0800E664 @ =gBattleTerrainTilemap_Stadium - b _0800E68A - .align 2, 0 -_0800E664: .4byte gBattleTerrainTilemap_Stadium -_0800E668: - ldr r0, _0800E66C @ =gBattleTerrainTilemap_Stadium - b _0800E68A - .align 2, 0 -_0800E66C: .4byte gBattleTerrainTilemap_Stadium -_0800E670: - ldr r0, _0800E674 @ =gBattleTerrainTilemap_Stadium - b _0800E68A - .align 2, 0 -_0800E674: .4byte gBattleTerrainTilemap_Stadium -_0800E678: - ldr r0, _0800E67C @ =gBattleTerrainTilemap_Stadium - b _0800E68A - .align 2, 0 -_0800E67C: .4byte gBattleTerrainTilemap_Stadium -_0800E680: - ldr r0, _0800E684 @ =gBattleTerrainTilemap_Stadium - b _0800E68A - .align 2, 0 -_0800E684: .4byte gBattleTerrainTilemap_Stadium -_0800E688: - ldr r0, _0800E694 @ =gBattleTerrainTilemap_Building -_0800E68A: - ldr r1, _0800E698 @ =0x0600d000 - bl LZDecompressVram - b _0800E7BC - .align 2, 0 -_0800E694: .4byte gBattleTerrainTilemap_Building -_0800E698: .4byte 0x0600d000 -_0800E69C: - ldr r0, _0800E6C0 @ =gBattleTypeFlags - ldrh r1, [r0] - ldr r0, _0800E6C4 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - beq _0800E6AA - b _0800E7A4 -_0800E6AA: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0800E6D8 - ldr r0, _0800E6C8 @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _0800E6D0 - ldr r0, _0800E6CC @ =gBattleTerrainPalette_Groudon - b _0800E7A6 - .align 2, 0 -_0800E6C0: .4byte gBattleTypeFlags -_0800E6C4: .4byte 0x00000902 -_0800E6C8: .4byte gGameVersion -_0800E6CC: .4byte gBattleTerrainPalette_Groudon -_0800E6D0: - ldr r0, _0800E6D4 @ =gBattleTerrainPalette_Kyogre - b _0800E7A6 - .align 2, 0 -_0800E6D4: .4byte gBattleTerrainPalette_Kyogre -_0800E6D8: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0800E710 - ldr r2, _0800E6F8 @ =gTrainers - ldr r0, _0800E6FC @ =gTrainerBattleOpponent - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x19 - bne _0800E704 - ldr r0, _0800E700 @ =gBattleTerrainPalette_BuildingLeader - b _0800E7A6 - .align 2, 0 -_0800E6F8: .4byte gTrainers -_0800E6FC: .4byte gTrainerBattleOpponent -_0800E700: .4byte gBattleTerrainPalette_BuildingLeader -_0800E704: - cmp r0, 0x20 - bne _0800E710 - ldr r0, _0800E70C @ =gBattleTerrainPalette_StadiumSteven - b _0800E7A6 - .align 2, 0 -_0800E70C: .4byte gBattleTerrainPalette_StadiumSteven -_0800E710: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _0800E7BC - lsls r0, 2 - ldr r1, _0800E728 @ =_0800E72C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800E728: .4byte _0800E72C - .align 2, 0 -_0800E72C: - .4byte _0800E750 - .4byte _0800E76C - .4byte _0800E774 - .4byte _0800E77C - .4byte _0800E784 - .4byte _0800E78C - .4byte _0800E794 - .4byte _0800E79C - .4byte _0800E7A4 -_0800E750: - ldr r2, _0800E764 @ =gBattleTerrainTable - ldr r0, _0800E768 @ =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x10 - adds r0, r2 - ldr r0, [r0] - b _0800E7A6 - .align 2, 0 -_0800E764: .4byte gBattleTerrainTable -_0800E768: .4byte gBattleTerrain -_0800E76C: - ldr r0, _0800E770 @ =gBattleTerrainPalette_BuildingGym - b _0800E7A6 - .align 2, 0 -_0800E770: .4byte gBattleTerrainPalette_BuildingGym -_0800E774: - ldr r0, _0800E778 @ =gBattleTerrainPalette_StadiumMagma - b _0800E7A6 - .align 2, 0 -_0800E778: .4byte gBattleTerrainPalette_StadiumMagma -_0800E77C: - ldr r0, _0800E780 @ =gBattleTerrainPalette_StadiumAqua - b _0800E7A6 - .align 2, 0 -_0800E780: .4byte gBattleTerrainPalette_StadiumAqua -_0800E784: - ldr r0, _0800E788 @ =gBattleTerrainPalette_StadiumSidney - b _0800E7A6 - .align 2, 0 -_0800E788: .4byte gBattleTerrainPalette_StadiumSidney -_0800E78C: - ldr r0, _0800E790 @ =gBattleTerrainPalette_StadiumPhoebe - b _0800E7A6 - .align 2, 0 -_0800E790: .4byte gBattleTerrainPalette_StadiumPhoebe -_0800E794: - ldr r0, _0800E798 @ =gBattleTerrainPalette_StadiumGlacia - b _0800E7A6 - .align 2, 0 -_0800E798: .4byte gBattleTerrainPalette_StadiumGlacia -_0800E79C: - ldr r0, _0800E7A0 @ =gBattleTerrainPalette_StadiumDrake - b _0800E7A6 - .align 2, 0 -_0800E7A0: .4byte gBattleTerrainPalette_StadiumDrake -_0800E7A4: - ldr r0, _0800E7B0 @ =gBattleTerrainPalette_BattleTower -_0800E7A6: - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _0800E7BC - .align 2, 0 -_0800E7B0: .4byte gBattleTerrainPalette_BattleTower -_0800E7B4: - bl sub_800D74C - b _0800E7BC -_0800E7BA: - movs r4, 0x1 -_0800E7BC: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_800E414 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_9.s b/asm/battle_9.s deleted file mode 100644 index 3f162df12..000000000 --- a/asm/battle_9.s +++ /dev/null @@ -1,2840 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start AI_SwitchIfPerishSong -AI_SwitchIfPerishSong: @ 8035FEC - push {lr} - ldr r1, _08036038 @ =gStatuses3 - ldr r0, _0803603C @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0803604C - ldr r0, _08036040 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xF] - lsls r0, 28 - cmp r0, 0 - bne _0803604C - adds r0, r2, 0 - bl GetBankIdentity - ldr r1, _08036044 @ =gSharedMem - lsls r0, 24 - lsrs r0, 25 - ldr r2, _08036048 @ =0x000160c8 - adds r0, r2 - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl Emitcmd33 - movs r0, 0x1 - b _0803604E - .align 2, 0 -_08036038: .4byte gStatuses3 -_0803603C: .4byte gActiveBank -_08036040: .4byte gDisableStructs -_08036044: .4byte gSharedMem -_08036048: .4byte 0x000160c8 -_0803604C: - movs r0, 0 -_0803604E: - pop {r1} - bx r1 - thumb_func_end AI_SwitchIfPerishSong - - thumb_func_start AI_SwitchIfWonderguard -AI_SwitchIfWonderguard: @ 8036054 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0803606C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080360A0 - b _080361C8 - .align 2, 0 -_0803606C: .4byte gBattleTypeFlags -_08036070: - ldr r0, _08036094 @ =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - ldr r1, _08036098 @ =gSharedMem - lsls r0, 24 - lsrs r0, 25 - ldr r2, _0803609C @ =0x000160c8 - adds r0, r2 - adds r0, r1 - strb r6, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl Emitcmd33 - movs r0, 0x1 - b _080361CA - .align 2, 0 -_08036094: .4byte gActiveBank -_08036098: .4byte gSharedMem -_0803609C: .4byte 0x000160c8 -_080360A0: - ldr r4, _080361D8 @ =gBattleMons - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x58 - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x19 - beq _080360BC - b _080361C8 -_080360BC: - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r2, r0, 24 - movs r6, 0 - adds r7, r4, 0 - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r4, r0, r7 - movs r3, 0x20 - adds r3, r4 - mov r8, r3 -_080360D8: - lsls r1, r6, 1 - ldr r0, _080361DC @ =gActiveBank - ldrb r0, [r0] - muls r0, r5 - adds r1, r0 - adds r0, r7, 0 - adds r0, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08036104 - ldrh r1, [r4] - mov r3, r8 - ldrb r2, [r3] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - bne _080361C8 -_08036104: - adds r6, 0x1 - cmp r6, 0x3 - ble _080360D8 - movs r6, 0 - ldr r0, _080361E0 @ =gEnemyParty - mov r9, r0 -_08036110: - movs r0, 0x64 - adds r5, r6, 0 - muls r5, r0 - mov r2, r9 - adds r4, r5, r2 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080361C2 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _080361C2 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _080361C2 - ldr r1, _080361E4 @ =gBattlePartyID - ldr r0, _080361DC @ =gActiveBank - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _080361C2 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r2, r0, 24 - movs r4, 0 - mov r8, r5 - ldr r1, _080361D8 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r5, r0, r1 - adds r7, r5, 0 - adds r7, 0x20 -_0803617C: - adds r1, r4, 0 - adds r1, 0xD - mov r0, r8 - add r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080361BC - ldrh r1, [r5] - ldrb r2, [r7] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _080361BC - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080361BC - b _08036070 -_080361BC: - adds r4, 0x1 - cmp r4, 0x3 - ble _0803617C -_080361C2: - adds r6, 0x1 - cmp r6, 0x5 - ble _08036110 -_080361C8: - movs r0, 0 -_080361CA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080361D8: .4byte gBattleMons -_080361DC: .4byte gActiveBank -_080361E0: .4byte gEnemyParty -_080361E4: .4byte gBattlePartyID - thumb_func_end AI_SwitchIfWonderguard - - thumb_func_start sub_80361E8 -sub_80361E8: @ 80361E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0x1 - bl ai_has_super_effective_move_on_field - lsls r0, 24 - cmp r0, 0 - beq _08036214 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _08036214 - b _08036400 -_08036214: - ldr r1, _0803627C @ =gLastLandedMoves - ldr r5, _08036280 @ =gActiveBank - ldrb r3, [r5] - lsls r0, r3, 1 - adds r4, r0, r1 - ldrh r1, [r4] - cmp r1, 0 - bne _08036226 - b _08036400 -_08036226: - ldr r0, _08036284 @ =0x0000ffff - cmp r1, r0 - bne _0803622E - b _08036400 -_0803622E: - ldr r2, _08036288 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08036242 - b _08036400 -_08036242: - ldr r0, _0803628C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080362AE - mov r8, r3 - mov r0, r8 - bl GetBankIdentity - movs r4, 0x2 - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - ldr r1, _08036290 @ =gAbsentBankFlags - ldrb r1, [r1] - ldr r2, _08036294 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08036298 - ldrb r7, [r5] - b _080362B2 - .align 2, 0 -_0803627C: .4byte gLastLandedMoves -_08036280: .4byte gActiveBank -_08036284: .4byte 0x0000ffff -_08036288: .4byte gBattleMoves -_0803628C: .4byte gBattleTypeFlags -_08036290: .4byte gAbsentBankFlags -_08036294: .4byte gBitTable -_08036298: - ldrb r0, [r5] - bl GetBankIdentity - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - lsls r0, 24 - lsrs r7, r0, 24 - b _080362B2 -_080362AE: - adds r7, r3, 0 - mov r8, r7 -_080362B2: - ldr r3, _080362D4 @ =gBattleMoves - ldr r1, _080362D8 @ =gLastLandedMoves - ldr r2, _080362DC @ =gActiveBank - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x2] - adds r1, r2, 0 - cmp r0, 0xA - bne _080362E0 - movs r0, 0x12 - b _080362F2 - .align 2, 0 -_080362D4: .4byte gBattleMoves -_080362D8: .4byte gLastLandedMoves -_080362DC: .4byte gActiveBank -_080362E0: - cmp r0, 0xB - bne _080362EA - movs r2, 0xB - mov r10, r2 - b _080362F4 -_080362EA: - cmp r0, 0xD - beq _080362F0 - b _08036400 -_080362F0: - movs r0, 0xA -_080362F2: - mov r10, r0 -_080362F4: - ldr r2, _08036308 @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r10 - bne _0803633C - b _08036400 - .align 2, 0 -_08036308: .4byte gBattleMons -_0803630C: - ldr r0, _08036330 @ =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - ldr r1, _08036334 @ =gSharedMem - lsls r0, 24 - lsrs r0, 25 - ldr r2, _08036338 @ =0x000160c8 - adds r0, r2 - adds r0, r1 - strb r6, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl Emitcmd33 - movs r0, 0x1 - b _08036402 - .align 2, 0 -_08036330: .4byte gActiveBank -_08036334: .4byte gSharedMem -_08036338: .4byte 0x000160c8 -_0803633C: - movs r6, 0 - ldr r0, _080363CC @ =gBaseStats - mov r9, r0 -_08036342: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _080363D0 @ =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080363FA - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _080363FA - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _080363FA - ldr r1, _080363D4 @ =gBattlePartyID - mov r2, r8 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _080363FA - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _080363FA - ldr r1, _080363D8 @ =gSharedMem - ldr r0, _080363DC @ =0x00016068 - add r0, r8 - adds r0, r1 - ldrb r0, [r0] - cmp r6, r0 - beq _080363FA - ldr r2, _080363DC @ =0x00016068 - adds r0, r7, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r6, r0 - beq _080363FA - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - movs r1, 0x2E - bl GetMonData - cmp r0, 0 - beq _080363E0 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x17] - b _080363EA - .align 2, 0 -_080363CC: .4byte gBaseStats -_080363D0: .4byte gEnemyParty -_080363D4: .4byte gBattlePartyID -_080363D8: .4byte gSharedMem -_080363DC: .4byte 0x00016068 -_080363E0: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x16] -_080363EA: - cmp r10, r0 - bne _080363FA - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0803630C -_080363FA: - adds r6, 0x1 - cmp r6, 0x5 - ble _08036342 -_08036400: - movs r0, 0 -_08036402: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80361E8 - - thumb_func_start AI_SwitchIfNaturalCure -AI_SwitchIfNaturalCure: @ 8036410 - push {r4,r5,lr} - ldr r3, _08036468 @ =gBattleMons - ldr r5, _0803646C @ =gActiveBank - ldrb r4, [r5] - movs r0, 0x58 - adds r2, r4, 0 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080364D8 - adds r1, r2, r3 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1E - bne _080364D8 - ldrh r0, [r1, 0x2C] - ldrh r1, [r1, 0x28] - lsrs r0, 1 - cmp r1, r0 - bcc _080364D8 - ldr r1, _08036470 @ =gLastLandedMoves - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - beq _08036456 - ldr r0, _08036474 @ =0x0000ffff - cmp r1, r0 - bne _08036478 -_08036456: - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08036478 - ldrb r0, [r5] - b _080364E0 - .align 2, 0 -_08036468: .4byte gBattleMons -_0803646C: .4byte gActiveBank -_08036470: .4byte gLastLandedMoves -_08036474: .4byte 0x0000ffff -_08036478: - ldr r2, _080364A4 @ =gBattleMoves - ldr r1, _080364A8 @ =gLastLandedMoves - ldr r4, _080364AC @ =gActiveBank - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _080364B0 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080364B0 - ldrb r0, [r4] - b _080364E0 - .align 2, 0 -_080364A4: .4byte gBattleMoves -_080364A8: .4byte gLastLandedMoves -_080364AC: .4byte gActiveBank -_080364B0: - movs r0, 0x8 - movs r1, 0x1 - bl sub_80366A4 - lsls r0, 24 - cmp r0, 0 - bne _080364FE - movs r0, 0x4 - movs r1, 0x1 - bl sub_80366A4 - lsls r0, 24 - cmp r0, 0 - bne _080364FE - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080364DC -_080364D8: - movs r0, 0 - b _08036500 -_080364DC: - ldr r0, _08036508 @ =gActiveBank - ldrb r0, [r0] -_080364E0: - bl GetBankIdentity - ldr r1, _0803650C @ =gSharedMem - lsls r0, 24 - lsrs r0, 25 - ldr r2, _08036510 @ =0x000160c8 - adds r0, r2 - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl Emitcmd33 -_080364FE: - movs r0, 0x1 -_08036500: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08036508: .4byte gActiveBank -_0803650C: .4byte gSharedMem -_08036510: .4byte 0x000160c8 - thumb_func_end AI_SwitchIfNaturalCure - - thumb_func_start ai_has_super_effective_move_on_field -ai_has_super_effective_move_on_field: @ 8036514 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080365AC @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _080365B0 @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0803659C - movs r4, 0 - ldr r6, _080365B4 @ =gBattleMons - movs r7, 0x58 - adds r0, r3, 0 - muls r0, r7 - adds r5, r0, r6 - movs r0, 0x20 - adds r0, r5 - mov r9, r0 -_08036550: - lsls r1, r4, 1 - ldr r0, _080365B8 @ =gActiveBank - ldrb r0, [r0] - muls r0, r7 - adds r1, r0 - adds r0, r6, 0 - adds r0, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08036596 - ldrh r1, [r5] - mov r3, r9 - ldrb r2, [r3] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _08036596 - mov r0, r8 - cmp r0, 0 - bne _080365C0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _080365C0 -_08036596: - adds r4, 0x1 - cmp r4, 0x3 - ble _08036550 -_0803659C: - ldr r0, _080365BC @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080365C4 - b _0803663E - .align 2, 0 -_080365AC: .4byte gAbsentBankFlags -_080365B0: .4byte gBitTable -_080365B4: .4byte gBattleMons -_080365B8: .4byte gActiveBank -_080365BC: .4byte gBattleTypeFlags -_080365C0: - movs r0, 0x1 - b _08036640 -_080365C4: - movs r0, 0x2 - bl GetBankByIdentity - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0803664C @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _08036650 @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0803663E - movs r4, 0 - ldr r6, _08036654 @ =gBattleMons - movs r7, 0x58 - adds r0, r3, 0 - muls r0, r7 - adds r5, r0, r6 - movs r3, 0x20 - adds r3, r5 - mov r9, r3 -_080365F2: - lsls r1, r4, 1 - ldr r0, _08036658 @ =gActiveBank - ldrb r0, [r0] - muls r0, r7 - adds r1, r0 - adds r0, r6, 0 - adds r0, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08036638 - ldrh r1, [r5] - mov r3, r9 - ldrb r2, [r3] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _08036638 - mov r0, r8 - cmp r0, 0 - bne _080365C0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _080365C0 -_08036638: - adds r4, 0x1 - cmp r4, 0x3 - ble _080365F2 -_0803663E: - movs r0, 0 -_08036640: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803664C: .4byte gAbsentBankFlags -_08036650: .4byte gBitTable -_08036654: .4byte gBattleMons -_08036658: .4byte gActiveBank - thumb_func_end ai_has_super_effective_move_on_field - - thumb_func_start AI_AreStatsRaised -AI_AreStatsRaised: @ 803665C - push {r4,lr} - movs r4, 0 - ldr r1, _0803669C @ =gBattleMons - ldr r0, _080366A0 @ =gActiveBank - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x18 - adds r2, r0, r1 - movs r3, 0x7 -_08036670: - ldrb r1, [r2] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x6 - ble _08036686 - subs r1, 0x6 - lsls r0, r4, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 -_08036686: - adds r2, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _08036670 - movs r0, 0 - cmp r4, 0x3 - bls _08036696 - movs r0, 0x1 -_08036696: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0803669C: .4byte gBattleMons -_080366A0: .4byte gActiveBank - thumb_func_end AI_AreStatsRaised - - thumb_func_start sub_80366A4 -sub_80366A4: @ 80366A4 - 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 - str r0, [sp] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - ldr r1, _08036730 @ =gLastLandedMoves - ldr r5, _08036734 @ =gActiveBank - ldrb r3, [r5] - lsls r0, r3, 1 - adds r4, r0, r1 - ldrh r1, [r4] - cmp r1, 0 - bne _080366CE - b _080368D8 -_080366CE: - ldr r0, _08036738 @ =0x0000ffff - cmp r1, r0 - bne _080366D6 - b _080368D8 -_080366D6: - ldr r0, _0803673C @ =gUnknown_02024C5C - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080366E2 - b _080368D8 -_080366E2: - ldr r2, _08036740 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _080366F6 - b _080368D8 -_080366F6: - ldr r0, _08036744 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08036798 - mov r9, r3 - mov r0, r9 - bl GetBankIdentity - movs r4, 0x2 - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - ldr r1, _08036748 @ =gAbsentBankFlags - ldrb r1, [r1] - ldr r2, _0803674C @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08036750 - ldrb r5, [r5] - mov r10, r5 - b _0803679C - .align 2, 0 -_08036730: .4byte gLastLandedMoves -_08036734: .4byte gActiveBank -_08036738: .4byte 0x0000ffff -_0803673C: .4byte gUnknown_02024C5C -_08036740: .4byte gBattleMoves -_08036744: .4byte gBattleTypeFlags -_08036748: .4byte gAbsentBankFlags -_0803674C: .4byte gBitTable -_08036750: - ldrb r0, [r5] - bl GetBankIdentity - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - b _0803679C -_08036768: - ldr r0, _0803678C @ =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - ldr r1, _08036790 @ =gSharedMem - lsls r0, 24 - lsrs r0, 25 - ldr r2, _08036794 @ =0x000160c8 - adds r0, r2 - adds r0, r1 - strb r6, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl Emitcmd33 - movs r0, 0x1 - b _080368DA - .align 2, 0 -_0803678C: .4byte gActiveBank -_08036790: .4byte gSharedMem -_08036794: .4byte 0x000160c8 -_08036798: - mov r9, r3 - mov r10, r9 -_0803679C: - movs r6, 0 -_0803679E: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _08036830 @ =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080367B6 - b _080368D0 -_080367B6: - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - bne _080367C4 - b _080368D0 -_080367C4: - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _080368D0 - ldr r1, _08036834 @ =gBattlePartyID - mov r2, r9 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _080368D0 - mov r2, r10 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _080368D0 - ldr r1, _08036838 @ =gSharedMem - ldr r0, _0803683C @ =0x00016068 - add r0, r9 - adds r0, r1 - ldrb r0, [r0] - cmp r6, r0 - beq _080368D0 - ldr r0, _0803683C @ =0x00016068 - add r0, r10 - adds r0, r1 - ldrb r0, [r0] - cmp r6, r0 - beq _080368D0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - movs r1, 0x2E - bl GetMonData - cmp r0, 0 - beq _08036844 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, _08036840 @ =gBaseStats - adds r0, r1 - ldrb r2, [r0, 0x17] - b _08036850 - .align 2, 0 -_08036830: .4byte gEnemyParty -_08036834: .4byte gBattlePartyID -_08036838: .4byte gSharedMem -_0803683C: .4byte 0x00016068 -_08036840: .4byte gBaseStats -_08036844: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r2, _080368EC @ =gBaseStats - adds r0, r2 - ldrb r2, [r0, 0x16] -_08036850: - ldr r1, _080368F0 @ =gLastLandedMoves - ldr r5, _080368F4 @ =gActiveBank - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - adds r1, r4, 0 - bl AI_TypeCalc - ldr r1, [sp] - ands r1, r0 - cmp r1, 0 - beq _080368D0 - ldr r1, _080368F8 @ =gUnknown_02024C5C - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - mov r9, r0 - movs r4, 0 - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - mov r8, r1 - ldr r1, _080368FC @ =gBattleMons - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r5, r0, r1 - adds r7, r5, 0 - adds r7, 0x20 -_0803688E: - ldr r0, _08036900 @ =gEnemyParty - adds r1, r4, 0 - adds r1, 0xD - add r0, r8 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080368CA - ldrh r1, [r5] - ldrb r2, [r7] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _080368CA - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x4] - bl __modsi3 - cmp r0, 0 - bne _080368CA - b _08036768 -_080368CA: - adds r4, 0x1 - cmp r4, 0x3 - ble _0803688E -_080368D0: - adds r6, 0x1 - cmp r6, 0x5 - bgt _080368D8 - b _0803679E -_080368D8: - movs r0, 0 -_080368DA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080368EC: .4byte gBaseStats -_080368F0: .4byte gLastLandedMoves -_080368F4: .4byte gActiveBank -_080368F8: .4byte gUnknown_02024C5C -_080368FC: .4byte gBattleMons -_08036900: .4byte gEnemyParty - thumb_func_end sub_80366A4 - - thumb_func_start AI_ShouldSwitch -AI_ShouldSwitch: @ 8036904 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r6, _080369E0 @ =gBattleMons - ldr r4, _080369E4 @ =gActiveBank - ldrb r2, [r4] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r6, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080369E8 @ =0x0400e000 - ands r0, r1 - cmp r0, 0 - beq _0803692A - b _08036AFC -_0803692A: - ldr r0, _080369EC @ =gStatuses3 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x80 - lsls r0, 3 - ands r1, r0 - cmp r1, 0 - beq _0803693E - b _08036AFC -_0803693E: - str r1, [sp] - movs r0, 0xC - adds r1, r2, 0 - movs r2, 0x17 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08036956 - b _08036AFC -_08036956: - ldrb r1, [r4] - str r0, [sp] - movs r0, 0xC - movs r2, 0x47 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0803696E - b _08036AFC -_0803696E: - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x2A - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _080369A0 - ldrb r0, [r4] - muls r0, r5 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x8 - bne _08036994 - b _08036AFC -_08036994: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x8 - bne _080369A0 - b _08036AFC -_080369A0: - movs r0, 0 - mov r8, r0 - ldr r0, _080369F0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08036A12 - ldr r4, _080369E4 @ =gActiveBank - ldrb r7, [r4] - adds r0, r7, 0 - bl GetBankIdentity - movs r5, 0x2 - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - ldr r1, _080369F4 @ =gAbsentBankFlags - ldrb r1, [r1] - ldr r2, _080369F8 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080369FC - ldrb r6, [r4] - b _08036A18 - .align 2, 0 -_080369E0: .4byte gBattleMons -_080369E4: .4byte gActiveBank -_080369E8: .4byte 0x0400e000 -_080369EC: .4byte gStatuses3 -_080369F0: .4byte gBattleTypeFlags -_080369F4: .4byte gAbsentBankFlags -_080369F8: .4byte gBitTable -_080369FC: - ldrb r0, [r4] - bl GetBankIdentity - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - lsls r0, 24 - lsrs r6, r0, 24 - b _08036A18 -_08036A12: - ldr r0, _08036AE8 @ =gActiveBank - ldrb r6, [r0] - adds r7, r6, 0 -_08036A18: - movs r5, 0 -_08036A1A: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08036AEC @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08036A7E - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08036A7E - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08036A7E - ldr r1, _08036AF0 @ =gBattlePartyID - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - beq _08036A7E - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - beq _08036A7E - ldr r1, _08036AF4 @ =gSharedMem - ldr r2, _08036AF8 @ =0x00016068 - adds r0, r7, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r5, r0 - beq _08036A7E - adds r0, r6, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r5, r0 - beq _08036A7E - movs r0, 0x1 - add r8, r0 -_08036A7E: - adds r5, 0x1 - cmp r5, 0x5 - ble _08036A1A - mov r2, r8 - cmp r2, 0 - beq _08036AFC - bl AI_SwitchIfPerishSong - lsls r0, 24 - cmp r0, 0 - bne _08036AE4 - bl AI_SwitchIfWonderguard - lsls r0, 24 - cmp r0, 0 - bne _08036AE4 - bl sub_80361E8 - lsls r0, 24 - cmp r0, 0 - bne _08036AE4 - bl AI_SwitchIfNaturalCure - lsls r0, 24 - cmp r0, 0 - bne _08036AE4 - movs r0, 0 - bl ai_has_super_effective_move_on_field - lsls r0, 24 - cmp r0, 0 - bne _08036AFC - bl AI_AreStatsRaised - lsls r0, 24 - cmp r0, 0 - bne _08036AFC - movs r0, 0x8 - movs r1, 0x2 - bl sub_80366A4 - lsls r0, 24 - cmp r0, 0 - bne _08036AE4 - movs r0, 0x4 - movs r1, 0x3 - bl sub_80366A4 - lsls r0, 24 - cmp r0, 0 - beq _08036AFC -_08036AE4: - movs r0, 0x1 - b _08036AFE - .align 2, 0 -_08036AE8: .4byte gActiveBank -_08036AEC: .4byte gEnemyParty -_08036AF0: .4byte gBattlePartyID -_08036AF4: .4byte gSharedMem -_08036AF8: .4byte 0x00016068 -_08036AFC: - movs r0, 0 -_08036AFE: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AI_ShouldSwitch - -.if DEBUG - thumb_func_start sub_8036B0C -sub_8036B0C: -.syntax divided - push {r4, r5, r6, lr} - ldr r5, ._205 @ gBattleTypeFlags - ldrh r1, [r5] - mov r0, #0x8 - and r0, r0, r1 - cmp r0, #0 - bne ._197 @cond_branch - b ._216 -._197: - bl AI_ShouldSwitch - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._199 @cond_branch - b ._200 -._199: - ldr r4, ._205 + 4 @ 0x2000000 - ldr r0, ._205 + 8 @ gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - lsl r0, r0, #0x18 - lsr r0, r0, #0x19 - ldr r1, ._205 + 12 @ 0x160c8 - add r0, r0, r1 - add r0, r0, r4 - ldrb r0, [r0] - cmp r0, #0x6 - bne ._201 @cond_branch - bl sub_8036CD4 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x6 - bne ._211 @cond_branch - ldrh r1, [r5] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - bne ._203 @cond_branch - mov r0, #0x1 - bl GetBankByIdentity - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - add r6, r5, #0 - b ._204 -._206: - .align 2, 0 -._205: - .word gBattleTypeFlags - .word 0x2000000 - .word gActiveBank - .word 0x160c8 -._203: - mov r0, #0x1 - bl GetBankByIdentity - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - mov r0, #0x3 - bl GetBankByIdentity - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 -._204: - mov r4, #0x0 -._212: - mov r0, #0x64 - mul r0, r0, r4 - ldr r1, ._214 @ gEnemyParty - add r0, r0, r1 - mov r1, #0x39 - bl GetMonData - cmp r0, #0 - beq ._210 @cond_branch - ldr r1, ._214 + 4 @ gBattlePartyID - lsl r0, r6, #0x1 - add r0, r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq ._210 @cond_branch - lsl r0, r5, #0x1 - add r0, r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq ._210 @cond_branch - ldr r1, ._214 + 8 @ 0x2000000 - ldr r2, ._214 + 12 @ 0x16068 - add r0, r6, r2 - add r0, r0, r1 - ldrb r0, [r0] - cmp r4, r0 - beq ._210 @cond_branch - add r0, r5, r2 - add r0, r0, r1 - ldrb r0, [r0] - cmp r4, r0 - bne ._211 @cond_branch -._210: - add r4, r4, #0x1 - cmp r4, #0x5 - ble ._212 @cond_branch -._211: - ldr r0, ._214 + 16 @ gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - ldr r1, ._214 + 8 @ 0x2000000 - lsl r0, r0, #0x18 - lsr r0, r0, #0x19 - ldr r3, ._214 + 20 @ 0x160c8 - add r0, r0, r3 - add r0, r0, r1 - strb r4, [r0] -._201: - ldr r4, ._214 + 16 @ gActiveBank - ldrb r0, [r4] - bl GetBankIdentity - ldr r2, ._214 + 8 @ 0x2000000 - ldrb r1, [r4] - ldr r3, ._214 + 12 @ 0x16068 - add r1, r1, r3 - add r1, r1, r2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x19 - add r3, r3, #0x60 - add r0, r0, r3 - add r0, r0, r2 - ldrb r0, [r0] - strb r0, [r1] - b ._217 -._215: - .align 2, 0 -._214: - .word gEnemyParty - .word gBattlePartyID - .word 0x2000000 - .word 0x16068 - .word gActiveBank - .word 0x160c8 -._200: - ldr r0, ._218 @ gUnknown_02023A14 - ldrb r1, [r0] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - bne ._216 @cond_branch - bl AI_ShouldUseItem - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._217 @cond_branch -._216: - ldr r0, ._218 + 4 @ gActiveBank - ldrb r0, [r0] - mov r2, #0x1 - eor r2, r2, r0 - lsl r2, r2, #0x8 - mov r0, #0x1 - mov r1, #0x0 - bl Emitcmd33 -._217: - pop {r4, r5, r6} - pop {r0} - bx r0 -._219: - .align 2, 0 -._218: - .word gUnknown_02023A14+0x50 - .word gActiveBank -.syntax unified - thumb_func_end sub_8036B0C -.else - thumb_func_start sub_8036B0C -sub_8036B0C: @ 8036B0C - push {r4-r6,lr} - ldr r5, _08036B68 @ =gBattleTypeFlags - ldrh r1, [r5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08036B1C - b _08036C2E -_08036B1C: - bl AI_ShouldSwitch - lsls r0, 24 - cmp r0, 0 - bne _08036B28 - b _08036C24 -_08036B28: - ldr r4, _08036B6C @ =gSharedMem - ldr r0, _08036B70 @ =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 25 - ldr r1, _08036B74 @ =0x000160c8 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08036BEA - bl sub_8036CD4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bne _08036BD4 - ldrh r1, [r5] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08036B78 - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - b _08036B8C - .align 2, 0 -_08036B68: .4byte gBattleTypeFlags -_08036B6C: .4byte gSharedMem -_08036B70: .4byte gActiveBank -_08036B74: .4byte 0x000160c8 -_08036B78: - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x3 - bl GetBankByIdentity - lsls r0, 24 - lsrs r5, r0, 24 -_08036B8C: - movs r4, 0 -_08036B8E: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08036C0C @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08036BCE - ldr r1, _08036C10 @ =gBattlePartyID - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _08036BCE - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _08036BCE - ldr r1, _08036C14 @ =gSharedMem - ldr r2, _08036C18 @ =0x00016068 - adds r0, r6, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r4, r0 - beq _08036BCE - adds r0, r5, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r4, r0 - bne _08036BD4 -_08036BCE: - adds r4, 0x1 - cmp r4, 0x5 - ble _08036B8E -_08036BD4: - ldr r0, _08036C1C @ =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - ldr r1, _08036C14 @ =gSharedMem - lsls r0, 24 - lsrs r0, 25 - ldr r3, _08036C20 @ =0x000160c8 - adds r0, r3 - adds r0, r1 - strb r4, [r0] -_08036BEA: - ldr r4, _08036C1C @ =gActiveBank - ldrb r0, [r4] - bl GetBankIdentity - ldr r2, _08036C14 @ =gSharedMem - ldrb r1, [r4] - ldr r3, _08036C18 @ =0x00016068 - adds r1, r3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 25 - adds r3, 0x60 - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - b _08036C40 - .align 2, 0 -_08036C0C: .4byte gEnemyParty -_08036C10: .4byte gBattlePartyID -_08036C14: .4byte gSharedMem -_08036C18: .4byte 0x00016068 -_08036C1C: .4byte gActiveBank -_08036C20: .4byte 0x000160c8 -_08036C24: - bl AI_ShouldUseItem - lsls r0, 24 - cmp r0, 0 - bne _08036C40 -_08036C2E: - ldr r0, _08036C48 @ =gActiveBank - ldrb r0, [r0] - movs r2, 0x1 - eors r2, r0 - lsls r2, 8 - movs r0, 0x1 - movs r1, 0 - bl Emitcmd33 -_08036C40: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08036C48: .4byte gActiveBank - thumb_func_end sub_8036B0C -.endif - - thumb_func_start sub_8036C4C -sub_8036C4C: @ 8036C4C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r7, 0 - ldr r0, _08036CD0 @ =gTypeEffectiveness - mov r10, r0 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08036CBE - mov r5, r10 -_08036C7A: - ldrb r0, [r5] - cmp r0, 0xFE - beq _08036CB0 - ldr r1, [sp] - cmp r0, r1 - bne _08036CB0 - ldrb r4, [r5, 0x1] - cmp r4, r9 - bne _08036C9A - ldrb r1, [r6] - ldrb r0, [r5, 0x2] - muls r0, r1 - movs r1, 0xA - bl __divsi3 - strb r0, [r6] -_08036C9A: - cmp r4, r8 - bne _08036CB0 - cmp r9, r8 - beq _08036CB0 - ldrb r1, [r6] - ldrb r0, [r5, 0x2] - muls r0, r1 - movs r1, 0xA - bl __divsi3 - strb r0, [r6] -_08036CB0: - adds r5, 0x3 - adds r7, 0x3 - mov r1, r10 - adds r0, r7, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08036C7A -_08036CBE: - 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 -_08036CD0: .4byte gTypeEffectiveness - thumb_func_end sub_8036C4C - - thumb_func_start sub_8036CD4 -sub_8036CD4: @ 8036CD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r0, _08036D1C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08036D78 - ldr r4, _08036D20 @ =gActiveBank - ldrb r0, [r4] - str r0, [sp, 0xC] - bl GetBankIdentity - movs r5, 0x2 - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - ldr r1, _08036D24 @ =gAbsentBankFlags - ldrb r1, [r1] - ldr r2, _08036D28 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08036D2C - ldrb r4, [r4] - str r4, [sp, 0x10] - b _08036D42 - .align 2, 0 -_08036D1C: .4byte gBattleTypeFlags -_08036D20: .4byte gActiveBank -_08036D24: .4byte gAbsentBankFlags -_08036D28: .4byte gBitTable -_08036D2C: - ldrb r0, [r4] - bl GetBankIdentity - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] -_08036D42: - bl Random - movs r3, 0x2 - ands r0, r3 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08036D70 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _08036D74 @ =gBitTable - mov r4, r10 - lsls r0, r4, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08036D8C - eors r4, r3 - lsls r0, r4, 24 - lsrs r0, 24 - mov r10, r0 - b _08036D8C - .align 2, 0 -_08036D70: .4byte gAbsentBankFlags -_08036D74: .4byte gBitTable -_08036D78: - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08036E5C @ =gActiveBank - ldrb r0, [r0] - str r0, [sp, 0x10] - str r0, [sp, 0xC] -_08036D8C: - movs r0, 0 - mov r9, r0 - mov r1, sp - str r1, [sp, 0x14] -_08036D94: - movs r2, 0 - str r2, [sp, 0x4] - movs r3, 0x6 - str r3, [sp, 0x8] - movs r7, 0 - ldr r4, _08036E60 @ =gBitTable - mov r8, r4 -_08036DA2: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _08036E64 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _08036E7C - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08036E7C - mov r1, r8 - ldr r0, [r1] - mov r2, r9 - ands r0, r2 - cmp r0, 0 - bne _08036E7C - ldr r1, _08036E68 @ =gBattlePartyID - ldr r3, [sp, 0xC] - lsls r0, r3, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _08036E7C - ldr r4, [sp, 0x10] - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _08036E7C - ldr r1, _08036E6C @ =gSharedMem - ldr r2, _08036E70 @ =0x00016068 - adds r0, r3, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r7, r0 - beq _08036E7C - adds r0, r4, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r7, r0 - beq _08036E7C - ldr r1, _08036E74 @ =gBaseStats - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x6] - ldrb r6, [r0, 0x7] - movs r0, 0xA - ldr r3, [sp, 0x14] - strb r0, [r3] - movs r0, 0x58 - mov r4, r10 - muls r4, r0 - ldr r0, _08036E78 @ =gBattleMons - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x21 - ldrb r0, [r0] - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, sp - bl sub_8036C4C - adds r4, 0x22 - ldrb r0, [r4] - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, sp - bl sub_8036C4C - ldr r2, [sp, 0x4] - ldr r1, [sp, 0x14] - ldrb r1, [r1] - cmp r2, r1 - bcs _08036E8A - ldr r2, [sp, 0x14] - ldrb r2, [r2] - str r2, [sp, 0x4] - lsls r0, r7, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - b _08036E8A - .align 2, 0 -_08036E5C: .4byte gActiveBank -_08036E60: .4byte gBitTable -_08036E64: .4byte gEnemyParty -_08036E68: .4byte gBattlePartyID -_08036E6C: .4byte gSharedMem -_08036E70: .4byte 0x00016068 -_08036E74: .4byte gBaseStats -_08036E78: .4byte gBattleMons -_08036E7C: - mov r3, r8 - ldr r0, [r3] - mov r4, r9 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_08036E8A: - movs r0, 0x4 - add r8, r0 - adds r7, 0x1 - cmp r7, 0x5 - ble _08036DA2 - ldr r1, [sp, 0x8] - cmp r1, 0x6 - beq _08036EF8 - movs r7, 0 - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r6, _08036EEC @ =gEnemyParty -_08036EA4: - adds r1, r7, 0 - adds r1, 0xD - adds r0, r5, r6 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _08036ECA - ldr r0, _08036EF0 @ =gActiveBank - ldrb r1, [r0] - adds r0, r4, 0 - mov r2, r10 - bl TypeCalc - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _08036ED0 -_08036ECA: - adds r7, 0x1 - cmp r7, 0x3 - ble _08036EA4 -_08036ED0: - cmp r7, 0x4 - beq _08036ED6 - b _08036FEE -_08036ED6: - ldr r2, [sp, 0x8] - lsls r0, r2, 2 - ldr r3, _08036EF4 @ =gBitTable - adds r0, r3 - ldr r0, [r0] - mov r4, r9 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r0, 24 - b _08036EFA - .align 2, 0 -_08036EEC: .4byte gEnemyParty -_08036EF0: .4byte gActiveBank -_08036EF4: .4byte gBitTable -_08036EF8: - movs r0, 0x3F -_08036EFA: - mov r9, r0 - mov r1, r9 - cmp r1, 0x3F - beq _08036F04 - b _08036D94 -_08036F04: - ldr r0, _08037000 @ =gDynamicBasePower - movs r2, 0 - strh r2, [r0] - ldr r0, _08037004 @ =gSharedMem - ldr r3, _08037008 @ =0x0001601c - adds r1, r0, r3 - strb r2, [r1] - ldr r4, _0803700C @ =0x0001601f - adds r0, r4 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _08037010 @ =gBattleMoveFlags - strb r2, [r0] - ldr r0, _08037014 @ =gCritMultiplier - strb r1, [r0] - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0x6 - str r1, [sp, 0x8] - movs r7, 0 -_08036F2C: - movs r0, 0x64 - adds r6, r7, 0 - muls r6, r0 - ldr r2, _08037018 @ =gEnemyParty - adds r4, r6, r2 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - adds r3, r7, 0x1 - str r3, [sp, 0x18] - cmp r0, 0 - beq _08036FE8 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08036FE8 - ldr r1, _0803701C @ =gBattlePartyID - ldr r4, [sp, 0xC] - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _08036FE8 - ldr r2, [sp, 0x10] - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _08036FE8 - ldr r1, _08037004 @ =gSharedMem - ldr r3, _08037020 @ =0x00016068 - adds r0, r4, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r7, r0 - beq _08036FE8 - adds r0, r2, r3 - adds r0, r1 - ldrb r0, [r0] - cmp r7, r0 - beq _08036FE8 - movs r5, 0 - mov r9, r6 - ldr r4, _08037024 @ =gBattleMoveDamage - mov r8, r4 - ldr r6, _08037028 @ =gActiveBank -_08036F90: - adds r1, r5, 0 - adds r1, 0xD - ldr r0, _08037018 @ =gEnemyParty - add r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - mov r1, r8 - str r0, [r1] - cmp r4, 0 - beq _08036FCC - ldr r0, _0803702C @ =gBattleMoves - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0x1 - beq _08036FCC - ldrb r0, [r6] - mov r1, r10 - bl AI_CalcDmg - ldrb r1, [r6] - adds r0, r4, 0 - mov r2, r10 - bl TypeCalc -_08036FCC: - mov r2, r8 - ldr r0, [r2] - ldr r3, [sp, 0x4] - cmp r3, r0 - bge _08036FE2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - lsls r0, r7, 24 - lsrs r0, 24 - str r0, [sp, 0x8] -_08036FE2: - adds r5, 0x1 - cmp r5, 0x3 - ble _08036F90 -_08036FE8: - ldr r7, [sp, 0x18] - cmp r7, 0x5 - ble _08036F2C -_08036FEE: - ldr r0, [sp, 0x8] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08037000: .4byte gDynamicBasePower -_08037004: .4byte gSharedMem -_08037008: .4byte 0x0001601c -_0803700C: .4byte 0x0001601f -_08037010: .4byte gBattleMoveFlags -_08037014: .4byte gCritMultiplier -_08037018: .4byte gEnemyParty -_0803701C: .4byte gBattlePartyID -_08037020: .4byte 0x00016068 -_08037024: .4byte gBattleMoveDamage -_08037028: .4byte gActiveBank -_0803702C: .4byte gBattleMoves - thumb_func_end sub_8036CD4 - - thumb_func_start ai_identify_item_effect -ai_identify_item_effect: @ 8037030 - push {r4,lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bne _08037040 - movs r0, 0x1 - b _08037086 -_08037040: - ldrb r1, [r2, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803704E - movs r0, 0x2 - b _08037086 -_0803704E: - ldrb r4, [r2, 0x3] - movs r3, 0x3F - adds r0, r3, 0 - ands r0, r4 - cmp r0, 0 - beq _0803705E - movs r0, 0x3 - b _08037086 -_0803705E: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _08037074 - ldrb r0, [r2, 0x1] - cmp r0, 0 - bne _08037074 - ldrb r0, [r2, 0x2] - cmp r0, 0 - beq _08037078 -_08037074: - movs r0, 0x4 - b _08037086 -_08037078: - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - bne _08037084 - movs r0, 0x6 - b _08037086 -_08037084: - movs r0, 0x5 -_08037086: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ai_identify_item_effect - - thumb_func_start AI_ShouldUseItem -AI_ShouldUseItem: @ 803708C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - str r0, [sp] - mov r8, r0 - mov r9, r0 -_080370A0: - movs r0, 0x64 - mov r1, r9 - muls r1, r0 - ldr r0, _08037170 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080370DC - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _080370DC - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _080370DC - ldr r0, [sp] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] -_080370DC: - movs r1, 0x1 - add r9, r1 - mov r2, r9 - cmp r2, 0x5 - ble _080370A0 - movs r3, 0 - mov r9, r3 -_080370EA: - ldr r4, _08037174 @ =gSharedMem + 0x16A00 - mov r0, r9 - cmp r0, 0 - beq _08037106 - adds r0, r4, 0 - adds r0, 0x2C - ldrb r0, [r0] - mov r1, r9 - subs r0, r1 - adds r0, 0x1 - ldr r2, [sp] - cmp r2, r0 - ble _08037106 - b _080374EC -_08037106: - mov r3, r9 - lsls r1, r3, 1 - adds r0, r4, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldrh r0, [r0] - mov r10, r0 - str r1, [sp, 0x4] - cmp r0, 0 - bne _0803711C - b _080374EC -_0803711C: - ldr r1, _08037178 @ =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - cmp r1, 0 - bne _0803712C - b _080374EC -_0803712C: - adds r5, r1, 0 - mov r0, r10 - cmp r0, 0xAF - bne _08037136 - ldr r5, _0803717C @ =gSaveBlock1 + 0x3676 -_08037136: - mov r1, r10 - lsls r0, r1, 24 - lsrs r0, 24 - adds r1, r5, 0 - bl ai_identify_item_effect - ldr r2, _08037180 @ =0xfffe9600 - adds r4, r2 - ldr r3, _08037184 @ =gActiveBank - ldrb r1, [r3] - lsrs r1, 1 - ldr r2, _08037188 @ =0x000160d8 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - ldrb r0, [r3] - lsrs r0, 1 - adds r0, r2 - adds r0, r4 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x5 - bls _08037166 - b _080374A8 -_08037166: - lsls r0, 2 - ldr r1, _0803718C @ =_08037190 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037170: .4byte gEnemyParty -_08037174: .4byte gSharedMem + 0x16A00 -_08037178: .4byte gItemEffectTable -_0803717C: .4byte gSaveBlock1 + 0x3676 -_08037180: .4byte 0xfffe9600 -_08037184: .4byte gActiveBank -_08037188: .4byte 0x000160d8 -_0803718C: .4byte _08037190 - .align 2, 0 -_08037190: - .4byte _080371A8 - .4byte _080371D0 - .4byte _0803721C - .4byte _08037388 - .4byte _08037468 - .4byte _080374F8 -_080371A8: - ldr r2, _080371C8 @ =gBattleMons - ldr r0, _080371CC @ =gActiveBank - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0, 0x2C] - ldrh r0, [r0, 0x28] - lsrs r1, 2 - cmp r0, r1 - bcc _080371C0 - b _080374A8 -_080371C0: - cmp r0, 0 - bne _080371C6 - b _080374A8 -_080371C6: - b _08037450 - .align 2, 0 -_080371C8: .4byte gBattleMons -_080371CC: .4byte gActiveBank -_080371D0: - mov r0, r10 - movs r1, 0x4 - movs r2, 0x4 - bl GetItemEffectParamOffset - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080371E4 - b _080374A8 -_080371E4: - ldr r2, _08037214 @ =gBattleMons - ldr r0, _08037218 @ =gActiveBank - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - ldrh r2, [r1, 0x28] - cmp r2, 0 - bne _080371F8 - b _080374A8 -_080371F8: - ldrh r3, [r1, 0x2C] - lsrs r0, r3, 2 - cmp r2, r0 - bcs _08037202 - b _08037496 -_08037202: - adds r0, r2, 0 - subs r0, r3, r0 - adds r1, r5, r4 - ldrb r1, [r1] - cmp r0, r1 - bgt _08037210 - b _080374A8 -_08037210: - b _08037496 - .align 2, 0 -_08037214: .4byte gBattleMons -_08037218: .4byte gActiveBank -_0803721C: - ldr r2, _08037378 @ =gSharedMem - ldr r3, _0803737C @ =gActiveBank - ldrb r0, [r3] - lsrs r0, 1 - ldr r6, _08037380 @ =0x000160da - adds r0, r6 - adds r0, r2 - movs r1, 0 - mov r12, r1 - movs r1, 0 - strb r1, [r0] - ldrb r1, [r5, 0x3] - movs r7, 0x20 - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08037264 - ldr r1, _08037384 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08037264 - lsrs r1, r4, 1 - adds r1, r6 - adds r1, r2 - ldrb r0, [r1] - orrs r0, r7 - strb r0, [r1] - movs r0, 0x1 - mov r8, r0 -_08037264: - ldrb r1, [r5, 0x3] - movs r6, 0x10 - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080372A0 - ldr r1, _08037384 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0803728E - movs r0, 0x80 - ands r1, r0 - cmp r1, 0 - beq _080372A0 -_0803728E: - lsrs r1, r4, 1 - ldr r0, _08037380 @ =0x000160da - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - movs r1, 0x1 - mov r8, r1 -_080372A0: - ldrb r1, [r5, 0x3] - movs r6, 0x8 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080372D4 - ldr r1, _08037384 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080372D4 - lsrs r0, r4, 1 - ldr r1, _08037380 @ =0x000160da - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - movs r0, 0x1 - mov r8, r0 -_080372D4: - ldrb r1, [r5, 0x3] - movs r6, 0x4 - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08037308 - ldr r1, _08037384 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08037308 - lsrs r0, r4, 1 - ldr r1, _08037380 @ =0x000160da - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - movs r0, 0x1 - mov r8, r0 -_08037308: - ldrb r1, [r5, 0x3] - movs r6, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803733C - ldr r1, _08037384 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803733C - lsrs r0, r4, 1 - ldr r1, _08037380 @ =0x000160da - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - movs r0, 0x1 - mov r8, r0 -_0803733C: - ldrb r1, [r5, 0x3] - movs r4, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0803734A - b _080374A8 -_0803734A: - ldr r1, _08037384 @ =gBattleMons - ldrb r3, [r3] - movs r0, 0x58 - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08037362 - b _080374A8 -_08037362: - lsrs r0, r3, 1 - ldr r1, _08037380 @ =0x000160da - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - orrs r1, r4 - strb r1, [r0] - movs r2, 0x1 - mov r8, r2 - b _080374AE - .align 2, 0 -_08037378: .4byte gSharedMem -_0803737C: .4byte gActiveBank -_08037380: .4byte 0x000160da -_08037384: .4byte gBattleMons -_08037388: - ldr r6, _08037458 @ =gSharedMem - ldr r4, _0803745C @ =gActiveBank - ldrb r0, [r4] - lsrs r0, 1 - ldr r3, _08037460 @ =0x000160da - adds r0, r3 - adds r0, r6 - movs r1, 0 - mov r12, r1 - movs r1, 0 - strb r1, [r0] - ldr r1, _08037464 @ =gDisableStructs - ldrb r2, [r4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] - cmp r0, 0 - beq _080374A8 - ldrb r1, [r5] - movs r7, 0xF - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _080373CA - lsrs r0, r2, 1 - adds r0, r3 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_080373CA: - ldrb r1, [r5, 0x1] - movs r2, 0xF0 - mov r8, r2 - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _080373E8 - ldrb r0, [r4] - lsrs r0, 1 - adds r0, r3 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_080373E8: - ldrb r1, [r5, 0x1] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08037402 - ldrb r0, [r4] - lsrs r0, 1 - adds r0, r3 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08037402: - ldrb r1, [r5, 0x2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0803741C - ldrb r0, [r4] - lsrs r0, 1 - adds r0, r3 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_0803741C: - ldrb r1, [r5, 0x2] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _08037436 - ldrb r0, [r4] - lsrs r0, 1 - adds r0, r3 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] -_08037436: - ldrb r1, [r5] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _08037450 - ldrb r0, [r4] - lsrs r0, 1 - adds r0, r3 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_08037450: - movs r3, 0x1 - mov r8, r3 - b _080374AE - .align 2, 0 -_08037458: .4byte gSharedMem -_0803745C: .4byte gActiveBank -_08037460: .4byte 0x000160da -_08037464: .4byte gDisableStructs -_08037468: - ldr r4, _0803749C @ =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080374A0 @ =gDisableStructs - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x16] - cmp r0, 0 - beq _080374A8 - ldr r0, _080374A4 @ =gSideTimers - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x2] - cmp r0, 0 - bne _080374A8 -_08037496: - movs r0, 0x1 - mov r8, r0 - b _080374AE - .align 2, 0 -_0803749C: .4byte gActiveBank -_080374A0: .4byte gDisableStructs -_080374A4: .4byte gSideTimers -_080374A8: - mov r1, r8 - cmp r1, 0 - beq _080374EC -_080374AE: - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl Emitcmd33 - ldr r1, _080374DC @ =gSharedMem - ldr r0, _080374E0 @ =gActiveBank - ldrb r0, [r0] - lsrs r0, 1 - lsls r0, 1 - ldr r2, _080374E4 @ =0x000160d4 - adds r0, r2 - adds r0, r1 - movs r2, 0 - mov r3, r10 - strb r3, [r0] - ldr r0, _080374E8 @ =0x00016a24 - adds r1, r0 - ldr r3, [sp, 0x4] - adds r1, r3, r1 - strh r2, [r1] - mov r0, r8 - b _080374FA - .align 2, 0 -_080374DC: .4byte gSharedMem -_080374E0: .4byte gActiveBank -_080374E4: .4byte 0x000160d4 -_080374E8: .4byte 0x00016a24 -_080374EC: - movs r0, 0x1 - add r9, r0 - mov r1, r9 - cmp r1, 0x3 - bgt _080374F8 - b _080370EA -_080374F8: - movs r0, 0 -_080374FA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AI_ShouldUseItem - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s index d748a78f1..ec7a7211f 100644 --- a/asm/battle_anim_812C144.s +++ b/asm/battle_anim_812C144.s @@ -4,5317 +4,6 @@ .syntax unified .text - - thumb_func_start sub_812C144 -sub_812C144: @ 812C144 - push {lr} - adds r2, r0, 0 - ldr r1, _0812C168 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r3, [r2, 0x20] - adds r0, r3 - strh r0, [r2, 0x20] - ldrh r0, [r1, 0x2] - ldrh r3, [r2, 0x22] - adds r0, r3 - strh r0, [r2, 0x22] - movs r3, 0x6 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0812C16C - ldrh r0, [r1, 0x4] - b _0812C170 - .align 2, 0 -_0812C168: .4byte gBattleAnimArgs -_0812C16C: - ldrh r0, [r1, 0x4] - negs r0, r0 -_0812C170: - strh r0, [r2, 0x2E] - ldrh r0, [r1, 0x8] - strh r0, [r2, 0x30] - ldr r0, _0812C180 @ =sub_812C184 - str r0, [r2, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_0812C180: .4byte sub_812C184 - thumb_func_end sub_812C144 - - thumb_func_start sub_812C184 -sub_812C184: @ 812C184 - push {lr} - adds r3, r0, 0 - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - ble _0812C1C4 - ldrh r1, [r3, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r3, 0x24] - ldrh r0, [r3, 0x2E] - adds r1, r0 - strh r1, [r3, 0x32] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - b _0812C1CA -_0812C1C4: - adds r0, r3, 0 - bl DestroyAnimSprite -_0812C1CA: - pop {r0} - bx r0 - thumb_func_end sub_812C184 - - thumb_func_start sub_812C1D0 -sub_812C1D0: @ 812C1D0 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0812C21C @ =gAnimBankTarget - ldrb r0, [r6] - movs r1, 0x2 - bl GetBankPosition - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 8 - movs r0, 0x80 - lsls r0, 12 - adds r4, r0 - asrs r4, 16 - ldrb r0, [r6] - movs r1, 0x3 - bl GetBankPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 8 - movs r0, 0x80 - lsls r0, 12 - adds r1, r0 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_8046234 - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812C21C: .4byte gAnimBankTarget - thumb_func_end sub_812C1D0 - - thumb_func_start sub_812C220 -sub_812C220: @ 812C220 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5A - strh r0, [r4, 0x2E] - ldr r0, _0812C258 @ =WaitAnimForDuration - str r0, [r4, 0x1C] - movs r0, 0x7 - strh r0, [r4, 0x30] - ldr r1, _0812C25C @ =sub_812C268 - adds r0, r4, 0 - bl StoreSpriteCallbackInData - ldr r1, _0812C260 @ =REG_BLDCNT - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - ldr r2, _0812C264 @ =REG_BLDALPHA - ldrh r1, [r4, 0x30] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r0, r1 - strh r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812C258: .4byte WaitAnimForDuration -_0812C25C: .4byte sub_812C268 -_0812C260: .4byte REG_BLDCNT -_0812C264: .4byte REG_BLDALPHA - thumb_func_end sub_812C220 - - thumb_func_start sub_812C268 -sub_812C268: @ 812C268 - push {lr} - adds r3, r0, 0 - ldr r2, _0812C29C @ =REG_BLDALPHA - ldrh r1, [r3, 0x30] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _0812C296 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812C2A0 @ =sub_812C2A4 - str r0, [r3, 0x1C] -_0812C296: - pop {r0} - bx r0 - .align 2, 0 -_0812C29C: .4byte REG_BLDALPHA -_0812C2A0: .4byte sub_812C2A4 - thumb_func_end sub_812C268 - - thumb_func_start sub_812C2A4 -sub_812C2A4: @ 812C2A4 - push {lr} - ldr r1, _0812C2B8 @ =REG_BLDCNT - movs r2, 0 - strh r2, [r1] - adds r1, 0x2 - strh r2, [r1] - bl DestroyAnimSprite - pop {r0} - bx r0 - .align 2, 0 -_0812C2B8: .4byte REG_BLDCNT - thumb_func_end sub_812C2A4 - - thumb_func_start sub_812C2BC -sub_812C2BC: @ 812C2BC - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, _0812C348 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8078764 - ldrh r0, [r5, 0x20] - subs r0, r7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x22] - subs r1, r6 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2Neg - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 23 - adds r0, r1 - lsrs r4, r0, 16 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812C31A - movs r1, 0x80 - lsls r1, 7 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0812C31A: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r5, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8078FDC - ldr r0, _0812C34C @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - strh r7, [r5, 0x32] - strh r6, [r5, 0x36] - ldr r0, _0812C350 @ =StartTranslateAnimSpriteByDeltas - str r0, [r5, 0x1C] - ldr r1, _0812C354 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812C348: .4byte gAnimBankTarget -_0812C34C: .4byte gBattleAnimArgs -_0812C350: .4byte StartTranslateAnimSpriteByDeltas -_0812C354: .4byte DestroyAnimSprite - thumb_func_end sub_812C2BC - - thumb_func_start sub_812C358 -sub_812C358: @ 812C358 - ldr r2, _0812C378 @ =REG_BLDCNT - movs r3, 0xFD - lsls r3, 6 - adds r1, r3, 0 - strh r1, [r2] - adds r2, 0x2 - movs r3, 0x80 - lsls r3, 5 - adds r1, r3, 0 - strh r1, [r2] - movs r1, 0x4 - strh r1, [r0, 0x2E] - ldr r1, _0812C37C @ =sub_812C380 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_0812C378: .4byte REG_BLDCNT -_0812C37C: .4byte sub_812C380 - thumb_func_end sub_812C358 - - thumb_func_start sub_812C380 -sub_812C380: @ 812C380 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _0812C3A0 @ =REG_BLDALPHA - ldrh r1, [r4, 0x2E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r0, r1 - strh r0, [r2] - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812C3A4 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - b _0812C3A8 - .align 2, 0 -_0812C3A0: .4byte REG_BLDALPHA -_0812C3A4: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 -_0812C3A8: - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0xF - beq _0812C3B6 - cmp r0, 0x4 - bne _0812C3BE -_0812C3B6: - ldrh r0, [r4, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x30] -_0812C3BE: - ldrh r0, [r4, 0x32] - adds r1, r0, 0x1 - strh r1, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x46 - ble _0812C3FC - ldr r0, _0812C404 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r0, 0 - strh r0, [r4, 0x32] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812C408 @ =sub_812C40C - str r0, [r4, 0x1C] -_0812C3FC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812C404: .4byte REG_BLDCNT -_0812C408: .4byte sub_812C40C - thumb_func_end sub_812C380 - - thumb_func_start sub_812C40C -sub_812C40C: @ 812C40C - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x32] - adds r1, r0, 0x1 - strh r1, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _0812C448 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812C448 - ldr r0, _0812C44C @ =sub_812C450 - str r0, [r3, 0x1C] -_0812C448: - pop {r0} - bx r0 - .align 2, 0 -_0812C44C: .4byte sub_812C450 - thumb_func_end sub_812C40C - - thumb_func_start sub_812C450 -sub_812C450: @ 812C450 - push {lr} - adds r2, r0, 0 - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0x6 - bhi _0812C4A8 - lsls r0, 2 - ldr r1, _0812C468 @ =_0812C46C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812C468: .4byte _0812C46C - .align 2, 0 -_0812C46C: - .4byte _0812C488 - .4byte _0812C488 - .4byte _0812C492 - .4byte _0812C492 - .4byte _0812C4A0 - .4byte _0812C4A0 - .4byte _0812C4A8 -_0812C488: - movs r1, 0 - movs r0, 0x1 - strh r0, [r2, 0x24] - strh r1, [r2, 0x26] - b _0812C4B0 -_0812C492: - ldr r0, _0812C49C @ =0x0000ffff - strh r0, [r2, 0x24] - movs r0, 0 - b _0812C4AE - .align 2, 0 -_0812C49C: .4byte 0x0000ffff -_0812C4A0: - movs r0, 0 - strh r0, [r2, 0x24] - movs r0, 0x1 - b _0812C4AE -_0812C4A8: - movs r0, 0 - strh r0, [r2, 0x24] - ldr r0, _0812C4F0 @ =0x0000ffff -_0812C4AE: - strh r0, [r2, 0x26] -_0812C4B0: - ldrh r0, [r2, 0x34] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0812C4C2 - strh r3, [r2, 0x34] -_0812C4C2: - ldrh r0, [r2, 0x36] - adds r1, r0, 0x1 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0812C4EA - movs r0, 0x10 - strh r0, [r2, 0x2E] - strh r3, [r2, 0x30] - ldr r1, _0812C4F4 @ =REG_BLDCNT - movs r3, 0xFD - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x2E] - strh r0, [r1] - ldr r0, _0812C4F8 @ =sub_812C4FC - str r0, [r2, 0x1C] -_0812C4EA: - pop {r0} - bx r0 - .align 2, 0 -_0812C4F0: .4byte 0x0000ffff -_0812C4F4: .4byte REG_BLDCNT -_0812C4F8: .4byte sub_812C4FC - thumb_func_end sub_812C450 - - thumb_func_start sub_812C4FC -sub_812C4FC: @ 812C4FC - push {r4,lr} - adds r2, r0, 0 - ldr r4, _0812C558 @ =REG_BLDALPHA - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r0, r1 - strh r0, [r4] - ldrh r0, [r2, 0x30] - adds r1, r0, 0x1 - strh r1, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0812C526 - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - movs r1, 0 - strh r0, [r2, 0x2E] - strh r1, [r2, 0x30] -_0812C526: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0812C53A - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] -_0812C53A: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _0812C550 - ldr r1, _0812C55C @ =REG_BLDCNT - movs r0, 0 - strh r0, [r1] - strh r0, [r4] - adds r0, r2, 0 - bl DestroyAnimSprite -_0812C550: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812C558: .4byte REG_BLDALPHA -_0812C55C: .4byte REG_BLDCNT - thumb_func_end sub_812C4FC - - thumb_func_start sub_812C560 -sub_812C560: @ 812C560 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0812C57C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0812C580 @ =sub_812C588 - str r0, [r1] - ldr r1, _0812C584 @ =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_0812C57C: .4byte gTasks -_0812C580: .4byte sub_812C588 -_0812C584: .4byte gAnimVisualTaskCount - thumb_func_end sub_812C560 - - thumb_func_start sub_812C588 -sub_812C588: @ 812C588 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80789BC - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, _0812C614 @ =gTasks - lsls r5, r4, 2 - adds r1, r5, r4 - lsls r1, 3 - adds r1, r7 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0812C5F8 - ldr r0, _0812C618 @ =gPlttBufferFaded - lsls r2, r6, 4 - adds r1, r2, 0 - adds r1, 0xB - lsls r1, 1 - adds r1, r0 - ldrh r3, [r1] - mov r8, r3 - movs r3, 0xA - mov r9, r7 - adds r7, r5, 0 - mov r12, r0 - adds r5, r2, 0 - lsls r0, r6, 5 - add r0, r12 - adds r2, r0, 0 - adds r2, 0x14 -_0812C5D6: - ldrh r0, [r2] - strh r0, [r1] - subs r2, 0x2 - subs r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bgt _0812C5D6 - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r12 - movs r1, 0 - mov r2, r8 - strh r2, [r0] - adds r0, r7, r4 - lsls r0, 3 - add r0, r9 - strh r1, [r0, 0x12] -_0812C5F8: - ldr r0, _0812C61C @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _0812C620 @ =0x0000ffff - cmp r1, r0 - bne _0812C608 - adds r0, r4, 0 - bl DestroyTask -_0812C608: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812C614: .4byte gTasks -_0812C618: .4byte gPlttBufferFaded -_0812C61C: .4byte gBattleAnimArgs -_0812C620: .4byte 0x0000ffff - thumb_func_end sub_812C588 - - thumb_func_start sub_812C624 -sub_812C624: @ 812C624 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0812C640 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0812C644 @ =sub_812C64C - str r0, [r1] - ldr r1, _0812C648 @ =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_0812C640: .4byte gTasks -_0812C644: .4byte sub_812C64C -_0812C648: .4byte gAnimVisualTaskCount - thumb_func_end sub_812C624 - - thumb_func_start sub_812C64C -sub_812C64C: @ 812C64C - 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 - bl sub_80789BC - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, _0812C70C @ =gTasks - mov r0, r8 - lsls r3, r0, 2 - adds r1, r3, r0 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0812C6EE - ldr r0, _0812C710 @ =gPlttBufferFaded - lsls r2, r7, 4 - adds r1, r2, 0 - adds r1, 0xB - lsls r1, 1 - adds r1, r0 - ldrh r6, [r1] - movs r4, 0xA - mov r10, r3 - mov r9, r0 - adds r5, r2, 0 - ldr r2, _0812C714 @ =gPlttBufferUnfaded - mov r12, r2 - lsls r0, r7, 5 - add r0, r9 - adds r3, r0, 0 - adds r3, 0x14 -_0812C6A0: - ldrh r0, [r3] - strh r0, [r1] - subs r3, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _0812C6A0 - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r9 - strh r6, [r0] - adds r1, r5, 0 - adds r1, 0xB - lsls r1, 1 - add r1, r12 - ldrh r6, [r1] - movs r4, 0xA - lsls r0, r7, 5 - add r0, r12 - adds r2, r0, 0 - adds r2, 0x14 -_0812C6CA: - ldrh r0, [r2] - strh r0, [r1] - subs r2, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _0812C6CA - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r12 - movs r1, 0 - strh r6, [r0] - mov r0, r10 - add r0, r8 - lsls r0, 3 - ldr r2, _0812C70C @ =gTasks - adds r0, r2 - strh r1, [r0, 0x12] -_0812C6EE: - ldr r0, _0812C718 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _0812C71C @ =0x0000ffff - cmp r1, r0 - bne _0812C6FE - mov r0, r8 - bl DestroyTask -_0812C6FE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812C70C: .4byte gTasks -_0812C710: .4byte gPlttBufferFaded -_0812C714: .4byte gPlttBufferUnfaded -_0812C718: .4byte gBattleAnimArgs -_0812C71C: .4byte 0x0000ffff - thumb_func_end sub_812C64C - - thumb_func_start sub_812C720 -sub_812C720: @ 812C720 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, _0812C784 @ =gAnimBankTarget - ldrb r0, [r0] - mov r5, sp - adds r5, 0x2 - movs r1, 0 - mov r2, sp - adds r3, r5, 0 - bl SetAverageBattlerPositions - ldr r0, _0812C788 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0812C754 - ldr r1, _0812C78C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_0812C754: - ldr r1, _0812C78C @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - mov r2, sp - ldrh r0, [r1, 0x4] - ldrh r2, [r2] - adds r0, r2 - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - ldrh r5, [r5] - adds r0, r5 - strh r0, [r4, 0x36] - ldr r0, _0812C790 @ =0x0000ffce - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimSpriteTranslationOverDuration - ldr r0, _0812C794 @ =sub_812C798 - str r0, [r4, 0x1C] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812C784: .4byte gAnimBankTarget -_0812C788: .4byte gAnimBankAttacker -_0812C78C: .4byte gBattleAnimArgs -_0812C790: .4byte 0x0000ffce -_0812C794: .4byte sub_812C798 - thumb_func_end sub_812C720 - - thumb_func_start sub_812C798 -sub_812C798: @ 812C798 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimSpriteLinearAndSine - lsls r0, 24 - cmp r0, 0 - beq _0812C7BA - movs r1, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - ldr r0, _0812C7C0 @ =WaitAnimForDuration - str r0, [r4, 0x1C] - ldr r1, _0812C7C4 @ =sub_812C7C8 - adds r0, r4, 0 - bl StoreSpriteCallbackInData -_0812C7BA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812C7C0: .4byte WaitAnimForDuration -_0812C7C4: .4byte sub_812C7C8 - thumb_func_end sub_812C798 - - thumb_func_start sub_812C7C8 -sub_812C7C8: @ 812C7C8 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812C7F4 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_0812C7F4: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _0812C808 - adds r0, r3, 0 - bl DestroyAnimSprite -_0812C808: - pop {r0} - bx r0 - thumb_func_end sub_812C7C8 - - thumb_func_start sub_812C80C -sub_812C80C: @ 812C80C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8078650 - ldr r5, _0812C83C @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_807867C - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _0812C840 @ =sub_8078600 - str r0, [r4, 0x1C] - ldr r1, _0812C844 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812C83C: .4byte gBattleAnimArgs -_0812C840: .4byte sub_8078600 -_0812C844: .4byte DestroyAnimSprite - thumb_func_end sub_812C80C - - thumb_func_start sub_812C848 -sub_812C848: @ 812C848 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812C8A8 - adds r0, r4, 0 - bl sub_8078650 - ldr r5, _0812C884 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r5, r2] - adds r0, r4, 0 - bl sub_807867C - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0812C89C - ldr r0, _0812C888 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0812C88C - ldrh r0, [r5, 0x4] - b _0812C8A2 - .align 2, 0 -_0812C884: .4byte gBattleAnimArgs -_0812C888: .4byte gAnimBankAttacker -_0812C88C: - movs r1, 0x4 - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r4, 0x30] - movs r2, 0x6 - ldrsh r0, [r5, r2] - negs r0, r0 - b _0812C8A6 -_0812C89C: - movs r1, 0x4 - ldrsh r0, [r5, r1] - negs r0, r0 -_0812C8A2: - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x6] -_0812C8A6: - strh r0, [r4, 0x32] -_0812C8A8: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r3, 0xFF - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - movs r2, 0x34 - ldrsh r1, [r4, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - strh r1, [r4, 0x24] - ands r0, r3 - movs r1, 0x5 - bl Sin - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsrs r2, r1, 31 - adds r1, r2 - asrs r1, 1 - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF0 - bls _0812C900 - adds r0, r4, 0 - bl DestroyAnimSprite -_0812C900: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812C848 - - thumb_func_start sub_812C908 -sub_812C908: @ 812C908 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0812C91E - adds r0, r2, 0 - bl DestroyAnimSprite -_0812C91E: - pop {r0} - bx r0 - thumb_func_end sub_812C908 - - thumb_func_start sub_812C924 -sub_812C924: @ 812C924 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0812C940 @ =gAnimBankTarget - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812C948 - ldr r1, _0812C944 @ =gBattleAnimArgs - movs r0, 0 - b _0812C94C - .align 2, 0 -_0812C940: .4byte gAnimBankTarget -_0812C944: .4byte gBattleAnimArgs -_0812C948: - ldr r1, _0812C95C @ =gBattleAnimArgs - movs r0, 0x1 -_0812C94C: - strh r0, [r1, 0xE] - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812C95C: .4byte gBattleAnimArgs - thumb_func_end sub_812C924 - - thumb_func_start sub_812C960 -sub_812C960: @ 812C960 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0812C974 @ =gAnimMoveDmg - ldr r0, [r0] - cmp r0, 0 - ble _0812C97C - ldr r1, _0812C978 @ =gBattleAnimArgs - movs r0, 0 - b _0812C980 - .align 2, 0 -_0812C974: .4byte gAnimMoveDmg -_0812C978: .4byte gBattleAnimArgs -_0812C97C: - ldr r1, _0812C98C @ =gBattleAnimArgs - movs r0, 0x1 -_0812C980: - strh r0, [r1, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_0812C98C: .4byte gBattleAnimArgs - thumb_func_end sub_812C960 - - thumb_func_start sub_812C990 -sub_812C990: @ 812C990 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _0812C9EC @ =REG_WINOUT - ldr r2, _0812C9F0 @ =0x00001f3f - adds r0, r2, 0 - strh r0, [r1] - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - movs r3, 0x80 - lsls r3, 8 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0812C9F4 @ =gBattle_WIN0H - movs r1, 0 - strh r1, [r0] - ldr r0, _0812C9F8 @ =gBattle_WIN0V - strh r1, [r0] - ldr r0, _0812C9FC @ =REG_WIN0H - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, r4, 0 - movs r1, 0 - bl sub_8078764 - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812CA00 @ =sub_812CA04 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812C9EC: .4byte REG_WINOUT -_0812C9F0: .4byte 0x00001f3f -_0812C9F4: .4byte gBattle_WIN0H -_0812C9F8: .4byte gBattle_WIN0V -_0812C9FC: .4byte REG_WIN0H -_0812CA00: .4byte sub_812CA04 - thumb_func_end sub_812C990 - - thumb_func_start sub_812CA04 -sub_812CA04: @ 812CA04 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _0812CAC4 - lsls r0, 2 - ldr r1, _0812CA1C @ =_0812CA20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812CA1C: .4byte _0812CA20 - .align 2, 0 -_0812CA20: - .4byte _0812CA38 - .4byte _0812CA56 - .4byte _0812CA76 - .4byte _0812CA56 - .4byte _0812CA96 - .4byte _0812CAA6 -_0812CA38: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812CAC4 - b _0812CA9E -_0812CA56: - ldrh r0, [r4, 0x30] - adds r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _0812CAC4 - movs r0, 0 - strh r0, [r4, 0x32] - b _0812CA9E -_0812CA76: - ldrh r0, [r4, 0x30] - subs r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - bne _0812CAC4 - movs r0, 0 - strh r0, [r4, 0x32] - b _0812CA9E -_0812CA96: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_0812CA9E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0812CAC4 -_0812CAA6: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812CAC4 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812CACC @ =sub_812CAD0 - str r0, [r4, 0x1C] -_0812CAC4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CACC: .4byte sub_812CAD0 - thumb_func_end sub_812CA04 - - thumb_func_start sub_812CAD0 -sub_812CAD0: @ 812CAD0 - push {r4,lr} - ldr r2, _0812CAF4 @ =REG_WINOUT - ldr r3, _0812CAF8 @ =0x00003f3f - adds r1, r3, 0 - strh r1, [r2] - movs r3, 0x80 - lsls r3, 19 - ldrh r1, [r3] - movs r4, 0x80 - lsls r4, 8 - adds r2, r4, 0 - eors r1, r2 - strh r1, [r3] - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CAF4: .4byte REG_WINOUT -_0812CAF8: .4byte 0x00003f3f - thumb_func_end sub_812CAD0 - - thumb_func_start sub_812CAFC -sub_812CAFC: @ 812CAFC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _0812CB70 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812CB28 - ldr r4, _0812CB74 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_0812CB28: - ldrh r0, [r6] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r3, 0 - strh r0, [r5, 0x20] - ldrh r0, [r6, 0x2] - ldrh r4, [r5, 0x22] - adds r0, r4 - strh r0, [r5, 0x22] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r4, _0812CB78 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _0812CB7C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812CB84 - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - ldr r0, _0812CB80 @ =0x0000fff4 - strh r0, [r5, 0x24] - movs r0, 0x2 - b _0812CB8A - .align 2, 0 -_0812CB70: .4byte gBattleAnimArgs -_0812CB74: .4byte gAnimBankAttacker -_0812CB78: .4byte 0x000003ff -_0812CB7C: .4byte 0xfffffc00 -_0812CB80: .4byte 0x0000fff4 -_0812CB84: - movs r0, 0xC - strh r0, [r5, 0x24] - ldr r0, _0812CBA8 @ =0x0000fffe -_0812CB8A: - strh r0, [r5, 0x30] - ldr r1, _0812CBAC @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0xFF - beq _0812CB9E - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x34] -_0812CB9E: - ldr r0, _0812CBB0 @ =sub_812CBB4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812CBA8: .4byte 0x0000fffe -_0812CBAC: .4byte gBattleAnimArgs -_0812CBB0: .4byte sub_812CBB4 - thumb_func_end sub_812CAFC - - thumb_func_start sub_812CBB4 -sub_812CBB4: @ 812CBB4 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812CBF2 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _0812CC12 - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812CC12 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xDE - bl PlaySE1WithPanning - b _0812CC12 -_0812CBF2: - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _0812CC04 - negs r0, r0 -_0812CC04: - cmp r0, 0xC - bne _0812CC12 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - subs r0, r2, 0x1 - strh r0, [r4, 0x32] -_0812CC12: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812CC20 - adds r0, r4, 0 - bl DestroyAnimSprite -_0812CC20: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812CBB4 - - thumb_func_start sub_812CC28 -sub_812CC28: @ 812CC28 - push {lr} - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r1, 0xFF - strh r1, [r0, 0x34] - bl sub_812CAFC - pop {r0} - bx r0 - thumb_func_end sub_812CC28 - - thumb_func_start sub_812CC44 -sub_812CC44: @ 812CC44 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812CC7A - ldr r1, _0812CC88 @ =REG_WININ - ldr r2, _0812CC8C @ =0x00001f3f - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0812CC90 @ =gBattle_WIN1H - ldr r2, _0812CC94 @ =0x000098f0 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0812CC98 @ =gBattle_WIN1V - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _0812CC9C @ =REG_WIN1H - ldr r0, _0812CCA0 @ =gBattle_WIN0H - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - ldr r0, _0812CCA4 @ =gBattle_WIN0V - ldrh r0, [r0] - strh r0, [r1] -_0812CC7A: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CC88: .4byte REG_WININ -_0812CC8C: .4byte 0x00001f3f -_0812CC90: .4byte gBattle_WIN1H -_0812CC94: .4byte 0x000098f0 -_0812CC98: .4byte gBattle_WIN1V -_0812CC9C: .4byte REG_WIN1H -_0812CCA0: .4byte gBattle_WIN0H -_0812CCA4: .4byte gBattle_WIN0V - thumb_func_end sub_812CC44 - - thumb_func_start sub_812CCA8 -sub_812CCA8: @ 812CCA8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812CCCA - ldr r1, _0812CCD8 @ =REG_WININ - ldr r2, _0812CCDC @ =0x00003f3f - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0812CCE0 @ =gBattle_WIN1H - movs r1, 0 - strh r1, [r0] - ldr r0, _0812CCE4 @ =gBattle_WIN1V - strh r1, [r0] -_0812CCCA: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CCD8: .4byte REG_WININ -_0812CCDC: .4byte 0x00003f3f -_0812CCE0: .4byte gBattle_WIN1H -_0812CCE4: .4byte gBattle_WIN1V - thumb_func_end sub_812CCA8 - - thumb_func_start sub_812CCE8 -sub_812CCE8: @ 812CCE8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _0812CCFC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812CD04 - ldr r4, _0812CD00 @ =gAnimBankAttacker - b _0812CD06 - .align 2, 0 -_0812CCFC: .4byte gBattleAnimArgs -_0812CD00: .4byte gAnimBankAttacker -_0812CD04: - ldr r4, _0812CD58 @ =gAnimBankTarget -_0812CD06: - ldrb r0, [r4] - movs r1, 0 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x2] - adds r0, r6 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r2, _0812CD5C @ =gBattleAnimArgs - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x26] - movs r3, 0 - lsls r0, 16 - asrs r0, 16 - ldrh r4, [r2, 0x6] - movs r6, 0x6 - ldrsh r1, [r2, r6] - cmp r0, r1 - ble _0812CD3E - movs r3, 0x1 -_0812CD3E: - strh r3, [r5, 0x2E] - movs r0, 0 - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x32] - ldrh r0, [r2, 0xA] - strh r0, [r5, 0x34] - strh r4, [r5, 0x36] - ldr r0, _0812CD60 @ =sub_812CD64 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812CD58: .4byte gAnimBankTarget -_0812CD5C: .4byte gBattleAnimArgs -_0812CD60: .4byte sub_812CD64 - thumb_func_end sub_812CCE8 - - thumb_func_start sub_812CD64 -sub_812CD64: @ 812CD64 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r2, 0x30] - ldr r1, _0812CDAC @ =gSineTable - movs r3, 0x30 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x26] - adds r1, r0, r3 - strh r1, [r2, 0x26] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _0812CDB0 - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - bge _0812CDC2 - adds r0, r2, 0 - bl DestroyAnimSprite - b _0812CDC2 - .align 2, 0 -_0812CDAC: .4byte gSineTable -_0812CDB0: - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - ble _0812CDC2 - adds r0, r2, 0 - bl DestroyAnimSprite -_0812CDC2: - pop {r0} - bx r0 - thumb_func_end sub_812CD64 - - thumb_func_start sub_812CDC8 -sub_812CDC8: @ 812CDC8 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0812CDE8 @ =gTasks - adds r5, r1, r0 - ldr r0, _0812CDEC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812CDF4 - ldr r4, _0812CDF0 @ =gAnimBankAttacker - b _0812CDF6 - .align 2, 0 -_0812CDE8: .4byte gTasks -_0812CDEC: .4byte gBattleAnimArgs -_0812CDF0: .4byte gAnimBankAttacker -_0812CDF4: - ldr r4, _0812CE3C @ =gAnimBankTarget -_0812CDF6: - ldrb r0, [r4] - bl sub_8077FC0 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBankIdentity_permutated - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - adds r1, r0, 0 - adds r1, 0x24 - movs r2, 0 - strh r1, [r5, 0x8] - strh r1, [r5, 0xA] - subs r0, 0x21 - strh r0, [r5, 0xC] - cmp r0, 0 - bge _0812CE20 - strh r2, [r5, 0xC] -_0812CE20: - ldrh r0, [r5, 0x8] - strh r0, [r5, 0xE] - movs r0, 0x8 - strh r0, [r5, 0x10] - ldr r1, _0812CE40 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x12] - strh r2, [r5, 0x14] - strh r2, [r5, 0x16] - cmp r7, 0x1 - bne _0812CE48 - ldr r0, _0812CE44 @ =gBattle_BG1_X - b _0812CE4A - .align 2, 0 -_0812CE3C: .4byte gAnimBankTarget -_0812CE40: .4byte gBattleAnimArgs -_0812CE44: .4byte gBattle_BG1_X -_0812CE48: - ldr r0, _0812CE68 @ =gBattle_BG2_X -_0812CE4A: - ldrh r2, [r0] - strh r2, [r5, 0x18] - adds r3, r2, 0 - adds r3, 0xF0 - strh r3, [r5, 0x1A] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x1C] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _0812CE6C - strh r3, [r5, 0x1E] - ldrh r3, [r5, 0x18] - b _0812CE70 - .align 2, 0 -_0812CE68: .4byte gBattle_BG2_X -_0812CE6C: - strh r2, [r5, 0x1E] - ldrh r3, [r5, 0x1A] -_0812CE70: - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0xC] - lsls r2, r1, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - bgt _0812CEA6 - ldr r4, _0812CEB0 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r0, r4 - mov r12, r0 -_0812CE8C: - asrs r2, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - strh r3, [r0] - add r1, r12 - strh r3, [r1] - adds r2, 0x1 - lsls r2, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - ble _0812CE8C -_0812CEA6: - cmp r7, 0x1 - bne _0812CEB8 - ldr r0, _0812CEB4 @ =REG_BG1HOFS - b _0812CEBA - .align 2, 0 -_0812CEB0: .4byte gScanlineEffectRegBuffers -_0812CEB4: .4byte REG_BG1HOFS -_0812CEB8: - ldr r0, _0812CEE4 @ =REG_BG2HOFS -_0812CEBA: - str r0, [sp] - ldr r0, _0812CEE8 @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, _0812CEEC @ =sub_812CEF0 - str r0, [r5] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CEE4: .4byte REG_BG2HOFS -_0812CEE8: .4byte 0xa2600001 -_0812CEEC: .4byte sub_812CEF0 - thumb_func_end sub_812CDC8 - - thumb_func_start sub_812CEF0 -sub_812CEF0: @ 812CEF0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _0812CF40 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0812CF18 - strh r2, [r4, 0x8] -_0812CF18: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0812CF44 - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0812CF48 - strh r2, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0x26] - b _0812CF48 - .align 2, 0 -_0812CF40: .4byte gTasks -_0812CF44: - subs r0, r1, 0x1 - strh r0, [r4, 0x10] -_0812CF48: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0812CF74 - movs r0, 0 - strh r0, [r4, 0x14] - movs r1, 0 - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0812CF66 - movs r1, 0x1 -_0812CF66: - strh r1, [r4, 0x16] - cmp r1, 0 - beq _0812CF70 - ldrh r0, [r4, 0x18] - b _0812CF72 -_0812CF70: - ldrh r0, [r4, 0x1A] -_0812CF72: - strh r0, [r4, 0x20] -_0812CF74: - ldrh r1, [r4, 0x8] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _0812CFA8 - ldr r5, _0812D000 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_0812CF8A: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x20] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x20] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _0812CF8A -_0812CFA8: - ldrh r1, [r4, 0xA] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bgt _0812CFDC - ldr r5, _0812D000 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_0812CFBE: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x1E] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x1E] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0812CFBE -_0812CFDC: - movs r3, 0x26 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0812CFF8 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812CFF2 - ldr r1, _0812D004 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_0812CFF2: - adds r0, r7, 0 - bl DestroyAnimVisualTask -_0812CFF8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D000: .4byte gScanlineEffectRegBuffers -_0812D004: .4byte gScanlineEffect - thumb_func_end sub_812CEF0 - - thumb_func_start sub_812D008 -sub_812D008: @ 812D008 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0812D05C @ =gTasks - adds r4, r0 - movs r5, 0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - ldr r6, _0812D060 @ =gAnimBankAttacker - ldrb r0, [r6] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xE] - movs r0, 0x20 - strh r0, [r4, 0x10] - ldr r0, _0812D064 @ =0x0000ffec - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _0812D068 @ =sub_812D06C - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812D05C: .4byte gTasks -_0812D060: .4byte gAnimBankAttacker -_0812D064: .4byte 0x0000ffec -_0812D068: .4byte sub_812D06C - thumb_func_end sub_812D008 - - thumb_func_start sub_812D06C -sub_812D06C: @ 812D06C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _0812D098 @ =gTasks - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x5 - bls _0812D08C - b _0812D246 -_0812D08C: - lsls r0, 2 - ldr r1, _0812D09C @ =_0812D0A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812D098: .4byte gTasks -_0812D09C: .4byte _0812D0A0 - .align 2, 0 -_0812D0A0: - .4byte _0812D0B8 - .4byte _0812D178 - .4byte _0812D1A6 - .4byte _0812D1BA - .4byte _0812D1D0 - .4byte _0812D238 -_0812D0B8: - movs r0, 0xC - ldrsh r2, [r6, r0] - ldrh r1, [r6, 0xA] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812D0CE - movs r1, 0x10 - ldrsh r0, [r6, r1] - subs r0, r2, r0 - b _0812D0D4 -_0812D0CE: - movs r1, 0x10 - ldrsh r0, [r6, r1] - adds r0, r2, r0 -_0812D0D4: - lsls r0, 16 - lsrs r1, r0, 16 - ldrh r2, [r6, 0x12] - ldrh r0, [r6, 0xE] - adds r2, r0 - ldr r0, _0812D168 @ =gBattleAnimSpriteTemplate_83D7220 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldrb r4, [r6, 0xA] - movs r3, 0x6 - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xBA - bl PlaySE12WithPanning - cmp r4, 0x40 - beq _0812D138 - ldr r5, _0812D16C @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r3, r1, r5 - ldrh r0, [r6, 0xA] - movs r2, 0x1 - ands r2, r0 - adds r3, 0x3F - ldrb r4, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r4 - orrs r0, r2 - strb r0, [r3] - adds r5, 0x1C - adds r1, r5 - ldr r0, _0812D170 @ =SpriteCallbackDummy - str r0, [r1] -_0812D138: - ldrh r1, [r6, 0xA] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0812D150 - ldrh r0, [r6, 0x10] - subs r0, 0x6 - strh r0, [r6, 0x10] - ldrh r0, [r6, 0x12] - subs r0, 0x6 - strh r0, [r6, 0x12] -_0812D150: - ldrh r1, [r6, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D174 @ =gUnknown_08402400 - adds r0, r6, 0 - bl sub_80798F4 - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - strh r4, [r6, 0x8] - b _0812D246 - .align 2, 0 -_0812D168: .4byte gBattleAnimSpriteTemplate_83D7220 -_0812D16C: .4byte gSprites -_0812D170: .4byte SpriteCallbackDummy -_0812D174: .4byte gUnknown_08402400 -_0812D178: - adds r0, r6, 0 - bl sub_807992C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0812D246 - movs r2, 0xA - ldrsh r1, [r6, r2] - cmp r1, 0x6 - bne _0812D198 - movs r0, 0x8 - strh r0, [r6, 0x14] - movs r0, 0x3 - strh r0, [r6, 0x8] - b _0812D246 -_0812D198: - cmp r1, 0x2 - bgt _0812D19E - movs r0, 0xA -_0812D19E: - strh r0, [r6, 0x14] - movs r0, 0x2 - strh r0, [r6, 0x8] - b _0812D246 -_0812D1A6: - ldrh r0, [r6, 0x14] - movs r2, 0x14 - ldrsh r1, [r6, r2] - cmp r1, 0 - beq _0812D1B6 - subs r0, 0x1 - strh r0, [r6, 0x14] - b _0812D246 -_0812D1B6: - strh r1, [r6, 0x8] - b _0812D246 -_0812D1BA: - ldrh r1, [r6, 0x14] - movs r2, 0x14 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0812D1CA - subs r0, r1, 0x1 - strh r0, [r6, 0x14] - b _0812D246 -_0812D1CA: - movs r0, 0x4 - strh r0, [r6, 0x8] - b _0812D246 -_0812D1D0: - movs r5, 0 - movs r7, 0 - ldr r3, _0812D22C @ =gSprites - movs r0, 0x1C - adds r0, r3 - mov r8, r0 -_0812D1DC: - lsls r0, r5, 4 - adds r0, r5 - lsls r4, r0, 2 - adds r0, r3, 0 - adds r0, 0x14 - adds r0, r4, r0 - ldr r1, [r0] - ldr r0, _0812D230 @ =gBattleAnimSpriteTemplate_83D7220 - cmp r1, r0 - bne _0812D218 - adds r0, r4, r3 - strh r2, [r0, 0x2E] - movs r1, 0x6 - strh r1, [r0, 0x30] - movs r1, 0x2 - str r2, [sp] - str r3, [sp, 0x4] - bl StartSpriteAnim - mov r0, r8 - adds r1, r4, r0 - ldr r0, _0812D234 @ =sub_812D254 - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r7, 0x6 - beq _0812D222 -_0812D218: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3F - bls _0812D1DC -_0812D222: - strh r7, [r6, 0x14] - movs r0, 0x5 - strh r0, [r6, 0x8] - b _0812D246 - .align 2, 0 -_0812D22C: .4byte gSprites -_0812D230: .4byte gBattleAnimSpriteTemplate_83D7220 -_0812D234: .4byte sub_812D254 -_0812D238: - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812D246 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0812D246: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812D06C - - thumb_func_start sub_812D254 -sub_812D254: @ 812D254 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0812D288 - ldr r3, _0812D290 @ =gTasks - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_0812D288: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D290: .4byte gTasks - thumb_func_end sub_812D254 - - thumb_func_start sub_812D294 -sub_812D294: @ 812D294 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0812D2A8 - adds r0, r5, 0 - movs r1, 0 - bl InitAnimSpritePos -_0812D2A8: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - bgt _0812D2DA - ldrh r0, [r5, 0x2E] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0812D2CC - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _0812D2D8 -_0812D2CC: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_0812D2D8: - strb r0, [r2] -_0812D2DA: - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x1E - ble _0812D2F0 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812D2F0: - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x3D - bne _0812D33C - ldr r1, _0812D344 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData - ldrh r0, [r5, 0x24] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x24] - strh r1, [r5, 0x26] - movs r0, 0x14 - strh r0, [r5, 0x2E] - ldr r4, _0812D348 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _0812D34C @ =StartTranslateAnimSpriteByDeltas - str r0, [r5, 0x1C] -_0812D33C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812D344: .4byte DestroyAnimSprite -_0812D348: .4byte gAnimBankTarget -_0812D34C: .4byte StartTranslateAnimSpriteByDeltas - thumb_func_end sub_812D294 - - thumb_func_start sub_812D350 -sub_812D350: @ 812D350 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0812D370 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812D374 - cmp r0, 0x1 - beq _0812D394 - b _0812D3A6 - .align 2, 0 -_0812D370: .4byte gTasks -_0812D374: - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D390 @ =gUnknown_084024B0 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D3A6 - .align 2, 0 -_0812D390: .4byte gUnknown_084024B0 -_0812D394: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D3A6 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D3A6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D350 - - thumb_func_start sub_812D3AC -sub_812D3AC: @ 812D3AC - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0812D40C - cmp r0, 0x1 - bgt _0812D3CC - cmp r0, 0 - beq _0812D3D6 - b _0812D4AE -_0812D3CC: - cmp r0, 0x2 - beq _0812D43C - cmp r0, 0x3 - beq _0812D490 - b _0812D4AE -_0812D3D6: - ldr r4, _0812D408 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - adds r0, r6, 0 - movs r1, 0 - bl sub_8078E70 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x30] - strh r0, [r5, 0x32] - b _0812D484 - .align 2, 0 -_0812D408: .4byte gAnimBankAttacker -_0812D40C: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - subs r0, 0x1A - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0812D43C - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0812D43C: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x30 - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _0812D4AE - movs r0, 0 - strh r0, [r5, 0x34] - ldr r1, _0812D48C @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0 - bl sub_8078F40 -_0812D484: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _0812D4AE - .align 2, 0 -_0812D48C: .4byte gSprites -_0812D490: - ldrh r0, [r5, 0x26] - subs r0, 0x6 - strh r0, [r5, 0x26] - movs r1, 0x22 - ldrsh r0, [r5, r1] - movs r2, 0x26 - ldrsh r1, [r5, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _0812D4AE - adds r0, r5, 0 - bl DestroyAnimSprite -_0812D4AE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812D3AC - - thumb_func_start sub_812D4B4 -sub_812D4B4: @ 812D4B4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812D4CC @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0812D4D4 - ldr r0, _0812D4D0 @ =0x0000fff0 - b _0812D4D8 - .align 2, 0 -_0812D4CC: .4byte gAnimBankAttacker -_0812D4D0: .4byte 0x0000fff0 -_0812D4D4: - movs r0, 0x80 - lsls r0, 1 -_0812D4D8: - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x22] - ldr r0, _0812D4E8 @ =sub_812D4EC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D4E8: .4byte sub_812D4EC - thumb_func_end sub_812D4B4 - - thumb_func_start sub_812D4EC -sub_812D4EC: @ 812D4EC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x48 - strh r0, [r4, 0x2E] - ldr r0, _0812D50C @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0812D510 - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - b _0812D518 - .align 2, 0 -_0812D50C: .4byte gAnimBankAttacker -_0812D510: - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 -_0812D518: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x10 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r5, r0, r1 - strh r5, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0812D564 - ldr r0, _0812D584 @ =gSpriteTemplate_8402500 - ldrh r1, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x22] - adds r2, r5 - lsls r2, 16 - asrs r2, 16 - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSpriteAndAnimate -_0812D564: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x20 - movs r1, 0x98 - lsls r1, 1 - cmp r0, r1 - bls _0812D57E - adds r0, r4, 0 - bl DestroyAnimSprite -_0812D57E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812D584: .4byte gSpriteTemplate_8402500 - thumb_func_end sub_812D4EC - - thumb_func_start sub_812D588 -sub_812D588: @ 812D588 - push {r4,lr} - adds r4, r0, 0 - bl Random - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0812D5A2 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x4 - b _0812D5AA -_0812D5A2: - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x5 -_0812D5AA: - ldr r3, _0812D5DC @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _0812D5E0 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - bl Random - movs r1, 0x7 - ands r0, r1 - adds r1, r0, 0 - cmp r1, 0x3 - ble _0812D5CC - negs r0, r1 - lsls r0, 24 - lsrs r0, 24 -_0812D5CC: - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _0812D5E4 @ =sub_812D5E8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D5DC: .4byte 0x000003ff -_0812D5E0: .4byte 0xfffffc00 -_0812D5E4: .4byte sub_812D5E8 - thumb_func_end sub_812D588 - - thumb_func_start sub_812D5E8 -sub_812D5E8: @ 812D5E8 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _0812D62A - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _0812D65E - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r0, 0 - b _0812D65C -_0812D62A: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - bne _0812D640 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812D640: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x3 - bne _0812D658 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812D670 @ =0x0000ffff - strh r0, [r3, 0x30] -_0812D658: - ldrh r0, [r3, 0x30] - adds r0, 0x1 -_0812D65C: - strh r0, [r3, 0x30] -_0812D65E: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x3C - ble _0812D66C - adds r0, r3, 0 - bl DestroySprite -_0812D66C: - pop {r0} - bx r0 - .align 2, 0 -_0812D670: .4byte 0x0000ffff - thumb_func_end sub_812D5E8 - - thumb_func_start sub_812D674 -sub_812D674: @ 812D674 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0812D6AC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D6B4 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D6B0 @ =gUnknown_08402518 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D6C6 - .align 2, 0 -_0812D6AC: .4byte gTasks -_0812D6B0: .4byte gUnknown_08402518 -_0812D6B4: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D6C6 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D6C6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D674 - - thumb_func_start sub_812D6CC -sub_812D6CC: @ 812D6CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0812D704 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D70C - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D708 @ =gUnknown_08402540 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D71E - .align 2, 0 -_0812D704: .4byte gTasks -_0812D708: .4byte gUnknown_08402540 -_0812D70C: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D71E - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D71E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D6CC - - thumb_func_start sub_812D724 -sub_812D724: @ 812D724 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812D736 - cmp r0, 0x1 - beq _0812D760 - b _0812D788 -_0812D736: - adds r0, r4, 0 - movs r1, 0 - bl InitAnimSpritePos - movs r0, 0x90 - lsls r0, 4 - strh r0, [r4, 0x30] - ldr r0, _0812D75C @ =gAnimBankAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0812D788 - .align 2, 0 -_0812D75C: .4byte gAnimBankAttacker -_0812D760: - ldrh r2, [r4, 0x30] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - subs r2, 0x60 - strh r2, [r4, 0x30] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _0812D788 - adds r0, r4, 0 - bl DestroyAnimSprite -_0812D788: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D724 - - thumb_func_start sub_812D790 -sub_812D790: @ 812D790 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0812D7C8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D7D0 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D7CC @ =gUnknown_08402590 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D7E2 - .align 2, 0 -_0812D7C8: .4byte gTasks -_0812D7CC: .4byte gUnknown_08402590 -_0812D7D0: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D7E2 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D7E2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D790 - - thumb_func_start sub_812D7E8 -sub_812D7E8: @ 812D7E8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _0812D818 @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r3, r1, 0 - cmp r0, 0x4 - bls _0812D80E - b _0812DAFA -_0812D80E: - lsls r0, 2 - ldr r1, _0812D81C @ =_0812D820 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812D818: .4byte gTasks -_0812D81C: .4byte _0812D820 - .align 2, 0 -_0812D820: - .4byte _0812D834 - .4byte _0812D888 - .4byte _0812D8C4 - .4byte _0812DA48 - .4byte _0812DA84 -_0812D834: - ldr r1, _0812D850 @ =REG_MOSAIC - movs r0, 0 - strh r0, [r1] - ldr r0, _0812D854 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankIdentity_permutated - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812D85C - ldr r0, _0812D858 @ =REG_BG1CNT - b _0812D85E - .align 2, 0 -_0812D850: .4byte REG_MOSAIC -_0812D854: .4byte gAnimBankAttacker -_0812D858: .4byte REG_BG1CNT -_0812D85C: - ldr r0, _0812D87C @ =REG_BG2CNT -_0812D85E: - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0812D880 @ =gTasks - mov r6, r8 - lsls r1, r6, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812D884 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r1, 0x1C] - b _0812DA2A - .align 2, 0 -_0812D87C: .4byte REG_BG2CNT -_0812D880: .4byte gTasks -_0812D884: .4byte gBattleAnimArgs -_0812D888: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0xC] - adds r1, r0, 0x1 - strh r1, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _0812D8A2 - b _0812DAFA -_0812D8A2: - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - ldrh r2, [r4, 0xA] - ldr r1, _0812D8C0 @ =REG_MOSAIC - lsls r0, r2, 4 - orrs r0, r2 - strh r0, [r1] - cmp r2, 0xF - beq _0812D8BC - b _0812DAFA -_0812D8BC: - b _0812DA78 - .align 2, 0 -_0812D8C0: .4byte REG_MOSAIC -_0812D8C4: - ldr r5, _0812D8F4 @ =gAnimBankAttacker - ldrb r0, [r5] - ldr r1, _0812D8F8 @ =gAnimBankTarget - ldrb r1, [r1] - mov r2, r8 - lsls r4, r2, 2 - adds r2, r4, r2 - lsls r2, 3 - adds r2, r3 - ldrb r2, [r2, 0x1C] - bl sub_8031FC4 - ldrb r1, [r5] - mov r0, sp - bl sub_8078954 - bl IsContest - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - beq _0812D8FC - movs r1, 0 - b _0812D906 - .align 2, 0 -_0812D8F4: .4byte gAnimBankAttacker -_0812D8F8: .4byte gAnimBankTarget -_0812D8FC: - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r1, r0, 24 -_0812D906: - ldr r0, _0812D9CC @ =gUnknown_081FAF4C - lsls r1, 2 - adds r1, r0 - ldr r2, _0812D9D0 @ =gBattleMonForms - ldr r0, _0812D9D4 @ =gAnimBankAttacker - ldrb r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 11 - ldr r1, [r1] - adds r1, r0 - ldr r2, [sp] - ldr r0, _0812D9D8 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0812D9DC @ =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812DA20 - ldr r5, _0812D9E0 @ =gSharedMem + 0x19348 - ldrh r0, [r5] - bl IsSpeciesNotUnown - adds r4, r0, 0 - ldrh r0, [r5, 0x2] - bl IsSpeciesNotUnown - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _0812D9A2 - ldr r6, [sp, 0x4] - movs r5, 0 - movs r0, 0x7 - mov r12, r0 - movs r7, 0 -_0812D956: - movs r4, 0 - adds r3, r7, r6 - mov r1, r12 - lsls r0, r1, 1 - adds r2, r0, r6 -_0812D960: - ldrh r1, [r3] - ldrh r0, [r2] - strh r0, [r3] - strh r1, [r2] - adds r3, 0x2 - subs r2, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0812D960 - movs r2, 0x20 - add r12, r2 - adds r7, 0x40 - adds r5, 0x1 - cmp r5, 0x7 - ble _0812D956 - movs r5, 0 - movs r0, 0x80 - lsls r0, 3 - adds r3, r0, 0 -_0812D986: - adds r2, r5, 0x1 - lsls r0, r5, 6 - adds r1, r0, r6 - movs r4, 0x7 -_0812D98E: - ldrh r0, [r1] - eors r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0812D98E - adds r5, r2, 0 - cmp r5, 0x7 - ble _0812D986 -_0812D9A2: - ldr r0, _0812D9E0 @ =gSharedMem + 0x19348 - ldrh r0, [r0, 0x2] - bl IsSpeciesNotUnown - lsls r0, 24 - cmp r0, 0 - beq _0812D9F0 - ldr r3, _0812D9E4 @ =gSprites - ldr r4, _0812D9E8 @ =gBankSpriteIds - ldr r2, _0812D9D4 @ =gAnimBankAttacker - ldrb r0, [r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, _0812D9EC @ =gSpriteAffineAnimTable_81E7C18 - b _0812DA0A - .align 2, 0 -_0812D9CC: .4byte gUnknown_081FAF4C -_0812D9D0: .4byte gBattleMonForms -_0812D9D4: .4byte gAnimBankAttacker -_0812D9D8: .4byte 0x040000d4 -_0812D9DC: .4byte 0x84000200 -_0812D9E0: .4byte gSharedMem + 0x19348 -_0812D9E4: .4byte gSprites -_0812D9E8: .4byte gBankSpriteIds -_0812D9EC: .4byte gSpriteAffineAnimTable_81E7C18 -_0812D9F0: - ldr r3, _0812DA34 @ =gSprites - ldr r4, _0812DA38 @ =gBankSpriteIds - ldr r2, _0812DA3C @ =gAnimBankAttacker - ldrb r0, [r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, _0812DA40 @ =gSpriteAffineAnimTable_81E7BEC -_0812DA0A: - str r1, [r0] - ldrb r0, [r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - bl StartSpriteAffineAnim -_0812DA20: - ldr r0, _0812DA44 @ =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 -_0812DA2A: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0812DAFA - .align 2, 0 -_0812DA34: .4byte gSprites -_0812DA38: .4byte gBankSpriteIds -_0812DA3C: .4byte gAnimBankAttacker -_0812DA40: .4byte gSpriteAffineAnimTable_81E7BEC -_0812DA44: .4byte gTasks -_0812DA48: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r3 - ldrh r0, [r4, 0xC] - adds r1, r0, 0x1 - strh r1, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0812DAFA - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - ldrh r2, [r4, 0xA] - ldr r1, _0812DA80 @ =REG_MOSAIC - lsls r0, r2, 4 - orrs r0, r2 - strh r0, [r1] - cmp r2, 0 - bne _0812DAFA -_0812DA78: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812DAFA - .align 2, 0 -_0812DA80: .4byte REG_MOSAIC -_0812DA84: - ldr r1, _0812DAA0 @ =REG_MOSAIC - movs r0, 0 - strh r0, [r1] - ldr r0, _0812DAA4 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankIdentity_permutated - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812DAAC - ldr r2, _0812DAA8 @ =REG_BG1CNT - b _0812DAAE - .align 2, 0 -_0812DAA0: .4byte REG_MOSAIC -_0812DAA4: .4byte gAnimBankAttacker -_0812DAA8: .4byte REG_BG1CNT -_0812DAAC: - ldr r2, _0812DB08 @ =REG_BG2CNT -_0812DAAE: - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0812DAF4 - ldr r4, _0812DB0C @ =gAnimBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812DAF4 - ldr r0, _0812DB10 @ =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r6, 0x1C - ldrsh r0, [r1, r6] - cmp r0, 0 - bne _0812DAF4 - ldrb r0, [r4] - lsls r1, r0, 2 - ldr r2, _0812DB14 @ =gSharedMem + 0x17800 - adds r1, r2 - ldrh r1, [r1, 0x2] - bl sub_8032984 -_0812DAF4: - mov r0, r8 - bl DestroyAnimVisualTask -_0812DAFA: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DB08: .4byte REG_BG2CNT -_0812DB0C: .4byte gAnimBankAttacker -_0812DB10: .4byte gTasks -_0812DB14: .4byte gSharedMem + 0x17800 - thumb_func_end sub_812D7E8 - - thumb_func_start c3_80DFBE4 -c3_80DFBE4: @ 812DB18 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0812DB48 @ =gBattleAnimArgs - ldr r3, _0812DB4C @ =gSprites - ldr r2, _0812DB50 @ =gBankSpriteIds - ldr r1, _0812DB54 @ =gAnimBankAttacker - ldrb r1, [r1] - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - adds r1, 0x3E - ldrb r1, [r1] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r4, 0xE] - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812DB48: .4byte gBattleAnimArgs -_0812DB4C: .4byte gSprites -_0812DB50: .4byte gBankSpriteIds -_0812DB54: .4byte gAnimBankAttacker - thumb_func_end c3_80DFBE4 - - thumb_func_start sub_812DB58 -sub_812DB58: @ 812DB58 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0812DB7C @ =gAnimBankAttacker - ldrb r0, [r0] - ldr r1, _0812DB80 @ =gAnimBankTarget - ldrb r1, [r1] - movs r2, 0x1 - bl sub_8031FC4 - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812DB7C: .4byte gAnimBankAttacker -_0812DB80: .4byte gAnimBankTarget - thumb_func_end sub_812DB58 - - thumb_func_start sub_812DB84 -sub_812DB84: @ 812DB84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _0812DBB4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _0812DBA8 - b _0812DE80 -_0812DBA8: - lsls r0, 2 - ldr r1, _0812DBB8 @ =_0812DBBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812DBB4: .4byte gTasks -_0812DBB8: .4byte _0812DBBC - .align 2, 0 -_0812DBBC: - .4byte _0812DBD0 - .4byte _0812DCFC - .4byte _0812DD4C - .4byte _0812DDB6 - .4byte _0812DDEA -_0812DBD0: - ldr r1, _0812DC70 @ =REG_BLDCNT - ldr r4, _0812DC74 @ =0x00003f42 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0x2 - movs r2, 0x80 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r4, _0812DC78 @ =REG_BG1CNT - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0812DC12 - ldrb r0, [r4] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4] -_0812DC12: - mov r0, sp - bl sub_8078914 - ldr r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0xC] - ldr r2, _0812DC7C @ =0x040000d4 - add r0, sp, 0xC - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0812DC80 @ =0x85000400 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, _0812DC84 @ =gUnknown_08D2AA98 - bl LZDecompressVram - ldr r0, _0812DC88 @ =gUnknown_08D2A9E0 - ldr r1, [sp] - bl LZDecompressVram - ldr r0, _0812DC8C @ =gUnknown_08D2AA80 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812DC9C - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80763FC - ldr r1, _0812DC90 @ =gBattle_BG1_X - ldr r2, _0812DC94 @ =0x0000ffc8 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0812DC98 @ =gBattle_BG1_Y - strh r4, [r0] - b _0812DCCE - .align 2, 0 -_0812DC70: .4byte REG_BLDCNT -_0812DC74: .4byte 0x00003f42 -_0812DC78: .4byte REG_BG1CNT -_0812DC7C: .4byte 0x040000d4 -_0812DC80: .4byte 0x85000400 -_0812DC84: .4byte gUnknown_08D2AA98 -_0812DC88: .4byte gUnknown_08D2A9E0 -_0812DC8C: .4byte gUnknown_08D2AA80 -_0812DC90: .4byte gBattle_BG1_X -_0812DC94: .4byte 0x0000ffc8 -_0812DC98: .4byte gBattle_BG1_Y -_0812DC9C: - ldr r0, _0812DCB4 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0812DCC0 - ldr r1, _0812DCB8 @ =gBattle_BG1_X - ldr r4, _0812DCBC @ =0x0000ff79 - adds r0, r4, 0 - b _0812DCC6 - .align 2, 0 -_0812DCB4: .4byte gAnimBankAttacker -_0812DCB8: .4byte gBattle_BG1_X -_0812DCBC: .4byte 0x0000ff79 -_0812DCC0: - ldr r1, _0812DCEC @ =gBattle_BG1_X - ldr r2, _0812DCF0 @ =0x0000fff6 - adds r0, r2, 0 -_0812DCC6: - strh r0, [r1] - ldr r1, _0812DCF4 @ =gBattle_BG1_Y - movs r0, 0 - strh r0, [r1] -_0812DCCE: - ldr r0, _0812DCF8 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812DCEC @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r1, 0x1C] - ldr r0, _0812DCF4 @ =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - b _0812DDD2 - .align 2, 0 -_0812DCEC: .4byte gBattle_BG1_X -_0812DCF0: .4byte 0x0000fff6 -_0812DCF4: .4byte gBattle_BG1_Y -_0812DCF8: .4byte gTasks -_0812DCFC: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x10] - adds r1, r0, 0x1 - strh r1, [r3, 0x10] - lsls r0, 16 - cmp r0, 0 - bgt _0812DD12 - b _0812DE80 -_0812DD12: - movs r0, 0 - strh r0, [r3, 0x10] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _0812DD28 - movs r0, 0xC - strh r0, [r3, 0xA] -_0812DD28: - ldr r2, _0812DD48 @ =REG_BLDALPHA - ldrh r1, [r3, 0xA] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r0, r1 - strh r0, [r2] - movs r4, 0xA - ldrsh r0, [r3, r4] - cmp r0, 0xC - beq _0812DD40 - b _0812DE80 -_0812DD40: - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - b _0812DE80 - .align 2, 0 -_0812DD48: .4byte REG_BLDALPHA -_0812DD4C: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _0812DD64 - movs r0, 0 - strh r0, [r3, 0xA] -_0812DD64: - ldr r2, _0812DDA4 @ =REG_BLDALPHA - ldrh r1, [r3, 0xA] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r0, r1 - strh r0, [r2] - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0812DD7C - b _0812DE80 -_0812DD7C: - ldr r2, _0812DDA8 @ =gBattle_BG1_X - ldr r1, _0812DDAC @ =gUnknown_084025C0 - movs r4, 0xC - ldrsh r0, [r3, r4] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r3, 0x1C] - adds r0, r1 - strh r0, [r2] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0812DDB0 - strh r0, [r3, 0x8] - b _0812DE80 - .align 2, 0 -_0812DDA4: .4byte REG_BLDALPHA -_0812DDA8: .4byte gBattle_BG1_X -_0812DDAC: .4byte gUnknown_084025C0 -_0812DDB0: - movs r0, 0x3 - strh r0, [r3, 0x8] - b _0812DE80 -_0812DDB6: - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xE] - adds r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0812DE80 - movs r0, 0 - strh r0, [r1, 0xE] - movs r0, 0x1 -_0812DDD2: - strh r0, [r1, 0x8] - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xE4 - bl PlaySE12WithPanning - b _0812DE80 -_0812DDEA: - mov r0, sp - bl sub_8078914 - ldr r2, [sp] - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0xC - movs r6, 0 - ldr r1, _0812DE90 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r8, r5 - ldr r0, _0812DE94 @ =0x85000400 - mov r12, r0 - movs r0, 0x85 - lsls r0, 24 - mov r9, r0 -_0812DE0C: - str r6, [sp, 0xC] - mov r0, r8 - str r0, [r1] - str r2, [r1, 0x4] - mov r0, r12 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _0812DE0C - str r6, [sp, 0xC] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r9 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0xC] - ldr r0, _0812DE90 @ =0x040000d4 - str r5, [r0] - str r1, [r0, 0x4] - ldr r1, _0812DE98 @ =0x85000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0812DE5A - ldr r2, _0812DE9C @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812DE5A: - ldr r2, _0812DE9C @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812DEA0 @ =gBattle_BG1_X - strh r4, [r0] - ldr r0, _0812DEA4 @ =gBattle_BG1_Y - strh r4, [r0] - ldr r0, _0812DEA8 @ =REG_BLDCNT - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_0812DE80: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812DE90: .4byte 0x040000d4 -_0812DE94: .4byte 0x85000400 -_0812DE98: .4byte 0x85000200 -_0812DE9C: .4byte REG_BG1CNT -_0812DEA0: .4byte gBattle_BG1_X -_0812DEA4: .4byte gBattle_BG1_Y -_0812DEA8: .4byte REG_BLDCNT - thumb_func_end sub_812DB84 - - thumb_func_start sub_812DEAC -sub_812DEAC: @ 812DEAC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - bl Random - lsls r0, 16 - movs r1, 0xFC - lsls r1, 14 - ands r1, r0 - lsrs r5, r1, 16 - adds r1, r5, 0 - cmp r1, 0x1F - ble _0812DED6 - movs r0, 0x20 - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_0812DED6: - ldr r4, _0812DFD0 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, r5 - strh r0, [r7, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r7, 0x22] - ldr r1, _0812DFD4 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r7, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r7, 0x32] - ldr r4, _0812DFD8 @ =gBattleAnimSpriteTemplate_84025EC - movs r0, 0x20 - ldrsh r1, [r7, r0] - movs r0, 0x22 - ldrsh r2, [r7, r0] - adds r5, r7, 0 - adds r5, 0x43 - ldrb r3, [r5] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl CreateSprite - mov r9, r0 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0x20 - ldrsh r1, [r7, r0] - movs r0, 0x22 - ldrsh r2, [r7, r0] - ldrb r3, [r5] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl CreateSprite - mov r8, r0 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r0, r9 - lsls r2, r0, 4 - add r2, r9 - lsls r2, 2 - ldr r1, _0812DFDC @ =gSprites - mov r10, r1 - adds r5, r2, r1 - adds r0, r5, 0 - movs r1, 0x1 - str r2, [sp] - bl StartSpriteAnim - mov r0, r8 - lsls r6, r0, 4 - add r6, r8 - lsls r6, 2 - mov r1, r10 - adds r4, r6, r1 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - ldr r1, _0812DFD4 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x32] - ldrh r0, [r1] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x32] - ldr r0, _0812DFE0 @ =0x0000ffff - strh r0, [r5, 0x3C] - movs r0, 0x1 - negs r0, r0 - strh r0, [r4, 0x3C] - adds r5, 0x3E - ldrb r0, [r5] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5] - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r1 - strb r0, [r4] - movs r0, 0x1C - add r10, r0 - ldr r2, [sp] - add r2, r10 - ldr r0, _0812DFE4 @ =sub_812E0F8 - str r0, [r2] - add r6, r10 - str r0, [r6] - mov r1, r9 - strh r1, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - ldr r0, _0812DFE8 @ =sub_812DFEC - str r0, [r7, 0x1C] - 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 -_0812DFD0: .4byte gAnimBankAttacker -_0812DFD4: .4byte gBattleAnimArgs -_0812DFD8: .4byte gBattleAnimSpriteTemplate_84025EC -_0812DFDC: .4byte gSprites -_0812DFE0: .4byte 0x0000ffff -_0812DFE4: .4byte sub_812E0F8 -_0812DFE8: .4byte sub_812DFEC - thumb_func_end sub_812DEAC - - thumb_func_start sub_812DFEC -sub_812DFEC: @ 812DFEC - push {lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x32] - ldrh r0, [r3, 0x34] - adds r2, r0 - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r3, 0x26] - subs r1, r0 - strh r1, [r3, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x34] - movs r2, 0x36 - ldrsh r0, [r3, r2] - cmp r0, 0 - bne _0812E03A - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _0812E03A - ldr r2, _0812E094 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r3, 0x36] - adds r0, 0x1 - strh r0, [r3, 0x36] -_0812E03A: - movs r1, 0x36 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _0812E06E - movs r2, 0x26 - ldrsh r1, [r3, r2] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0812E06E - ldr r2, _0812E094 @ =gSprites - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r3, 0x36] - adds r0, 0x1 - strh r0, [r3, 0x36] -_0812E06E: - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812E090 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812E098 @ =sub_812E09C - str r0, [r3, 0x1C] -_0812E090: - pop {r0} - bx r0 - .align 2, 0 -_0812E094: .4byte gSprites -_0812E098: .4byte sub_812E09C - thumb_func_end sub_812DFEC - - thumb_func_start sub_812E09C -sub_812E09C: @ 812E09C - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _0812E0F0 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r3, r0, 2 - adds r6, r5, 0 - adds r6, 0x1C - adds r0, r3, r6 - ldr r2, [r0] - ldr r0, _0812E0F4 @ =SpriteCallbackDummy - cmp r2, r0 - bne _0812E0E8 - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldr r0, [r1] - cmp r0, r2 - bne _0812E0E8 - adds r0, r3, r5 - bl DestroySprite - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r4, 0 - bl DestroyAnimSprite -_0812E0E8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812E0F0: .4byte gSprites -_0812E0F4: .4byte SpriteCallbackDummy - thumb_func_end sub_812E09C - - thumb_func_start sub_812E0F8 -sub_812E0F8: @ 812E0F8 - push {lr} - adds r3, r0, 0 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0812E144 - ldrh r2, [r3, 0x32] - ldrh r1, [r3, 0x34] - adds r2, r1 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x26] - subs r0, r1 - strh r0, [r3, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r3, 0x34] - ldrh r0, [r3, 0x30] - subs r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812E144 - mov r1, r12 - ldrb r0, [r1] - movs r1, 0x4 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldr r0, _0812E148 @ =SpriteCallbackDummy - str r0, [r3, 0x1C] -_0812E144: - pop {r0} - bx r0 - .align 2, 0 -_0812E148: .4byte SpriteCallbackDummy - thumb_func_end sub_812E0F8 - - thumb_func_start sub_812E14C -sub_812E14C: @ 812E14C - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0812E174 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x5 - bls _0812E16A - b _0812E476 -_0812E16A: - lsls r0, 2 - ldr r1, _0812E178 @ =_0812E17C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812E174: .4byte gTasks -_0812E178: .4byte _0812E17C - .align 2, 0 -_0812E17C: - .4byte _0812E194 - .4byte _0812E300 - .4byte _0812E388 - .4byte _0812E3BC - .4byte _0812E3E8 - .4byte _0812E420 -_0812E194: - ldr r1, _0812E230 @ =REG_BLDCNT - ldr r3, _0812E234 @ =0x00003f42 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0812E238 @ =0x00000d03 - adds r0, r2, 0 - strh r0, [r1] - ldr r4, _0812E23C @ =REG_BG1CNT - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0812E1D4 - ldrb r0, [r4] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4] -_0812E1D4: - mov r0, sp - bl sub_8078914 - ldr r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0xC] - ldr r2, _0812E240 @ =0x040000d4 - add r0, sp, 0xC - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0812E244 @ =0x85000400 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, _0812E248 @ =gUnknown_08D2AA98 - bl LZDecompressVram - ldr r0, _0812E24C @ =gUnknown_08D2A9E0 - ldr r1, [sp] - bl LZDecompressVram - ldr r0, _0812E250 @ =gUnknown_08D2AA80 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812E260 - mov r0, sp - ldrb r0, [r0, 0x8] - ldr r1, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_80763FC - ldr r1, _0812E254 @ =gBattle_BG1_X - ldr r3, _0812E258 @ =0x0000ffc8 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _0812E25C @ =gBattle_BG1_Y - strh r4, [r0] - b _0812E2D2 - .align 2, 0 -_0812E230: .4byte REG_BLDCNT -_0812E234: .4byte 0x00003f42 -_0812E238: .4byte 0x00000d03 -_0812E23C: .4byte REG_BG1CNT -_0812E240: .4byte 0x040000d4 -_0812E244: .4byte 0x85000400 -_0812E248: .4byte gUnknown_08D2AA98 -_0812E24C: .4byte gUnknown_08D2A9E0 -_0812E250: .4byte gUnknown_08D2AA80 -_0812E254: .4byte gBattle_BG1_X -_0812E258: .4byte 0x0000ffc8 -_0812E25C: .4byte gBattle_BG1_Y -_0812E260: - ldr r0, _0812E2A0 @ =gAnimBankTarget - ldrb r0, [r0] - bl GetBankIdentity - lsls r0, 24 - lsrs r4, r0, 24 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812E2B4 - ldr r1, _0812E2A4 @ =gBattle_BG1_X - cmp r4, 0x1 - bne _0812E284 - ldr r2, _0812E2A8 @ =0x0000ff65 - adds r0, r2, 0 - strh r0, [r1] -_0812E284: - cmp r4, 0x3 - bne _0812E28E - ldr r3, _0812E2AC @ =0x0000ff8d - adds r0, r3, 0 - strh r0, [r1] -_0812E28E: - cmp r4, 0 - bne _0812E296 - movs r0, 0xE - strh r0, [r1] -_0812E296: - cmp r4, 0x2 - bne _0812E2CC - ldr r1, _0812E2A4 @ =gBattle_BG1_X - ldr r2, _0812E2B0 @ =0x0000ffec - b _0812E2C8 - .align 2, 0 -_0812E2A0: .4byte gAnimBankTarget -_0812E2A4: .4byte gBattle_BG1_X -_0812E2A8: .4byte 0x0000ff65 -_0812E2AC: .4byte 0x0000ff8d -_0812E2B0: .4byte 0x0000ffec -_0812E2B4: - cmp r4, 0x1 - bne _0812E2C0 - ldr r1, _0812E2EC @ =gBattle_BG1_X - ldr r3, _0812E2F0 @ =0x0000ff79 - adds r0, r3, 0 - strh r0, [r1] -_0812E2C0: - cmp r4, 0 - bne _0812E2CC - ldr r1, _0812E2EC @ =gBattle_BG1_X - ldr r2, _0812E2F4 @ =0x0000fff6 -_0812E2C8: - adds r0, r2, 0 - strh r0, [r1] -_0812E2CC: - ldr r1, _0812E2F8 @ =gBattle_BG1_Y - movs r0, 0 - strh r0, [r1] -_0812E2D2: - ldr r0, _0812E2FC @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812E2EC @ =gBattle_BG1_X - ldrh r0, [r0] - strh r0, [r1, 0x1C] - ldr r0, _0812E2F8 @ =gBattle_BG1_Y - ldrh r0, [r0] - strh r0, [r1, 0x1E] - b _0812E380 - .align 2, 0 -_0812E2EC: .4byte gBattle_BG1_X -_0812E2F0: .4byte 0x0000ff79 -_0812E2F4: .4byte 0x0000fff6 -_0812E2F8: .4byte gBattle_BG1_Y -_0812E2FC: .4byte gTasks -_0812E300: - ldr r1, _0812E334 @ =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0 - strh r0, [r5, 0xE] - ldr r0, _0812E338 @ =gAnimBankTarget - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812E344 - ldr r2, _0812E33C @ =gBattle_BG1_X - ldr r1, _0812E340 @ =gUnknown_08402604 - movs r3, 0xC - ldrsh r0, [r5, r3] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r5, [r5, 0x1C] - adds r0, r5 - b _0812E356 - .align 2, 0 -_0812E334: .4byte gTasks -_0812E338: .4byte gAnimBankTarget -_0812E33C: .4byte gBattle_BG1_X -_0812E340: .4byte gUnknown_08402604 -_0812E344: - ldr r2, _0812E374 @ =gBattle_BG1_X - ldr r1, _0812E378 @ =gUnknown_08402604 - movs r3, 0xC - ldrsh r0, [r5, r3] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r5, 0x1C] - subs r0, r1 -_0812E356: - strh r0, [r2] - ldr r0, _0812E37C @ =gTasks - adds r1, r4, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0812E380 - strh r0, [r1, 0x8] - b _0812E476 - .align 2, 0 -_0812E374: .4byte gBattle_BG1_X -_0812E378: .4byte gUnknown_08402604 -_0812E37C: .4byte gTasks -_0812E380: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0812E476 -_0812E388: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _0812E3A2 - movs r0, 0x5 - strh r0, [r4, 0xA] -_0812E3A2: - ldr r2, _0812E3B8 @ =REG_BLDALPHA - ldrh r0, [r4, 0xA] - lsls r0, 8 - movs r1, 0x3 - orrs r0, r1 - strh r0, [r2] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bne _0812E476 - b _0812E3DC - .align 2, 0 -_0812E3B8: .4byte REG_BLDALPHA -_0812E3BC: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r1, [r4, 0xE] - adds r1, 0x1 - strh r1, [r4, 0xE] - lsls r1, 16 - asrs r1, 16 - ldr r2, _0812E3E4 @ =gUnknown_08402608 - movs r3, 0xC - ldrsh r0, [r4, r3] - adds r0, r2 - ldrb r0, [r0] - cmp r1, r0 - ble _0812E476 -_0812E3DC: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812E476 - .align 2, 0 -_0812E3E4: .4byte gUnknown_08402608 -_0812E3E8: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - ble _0812E402 - movs r0, 0xD - strh r0, [r4, 0xA] -_0812E402: - ldr r2, _0812E41C @ =REG_BLDALPHA - ldrh r0, [r4, 0xA] - lsls r0, 8 - movs r1, 0x3 - orrs r0, r1 - strh r0, [r2] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xD - bne _0812E476 - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0812E476 - .align 2, 0 -_0812E41C: .4byte REG_BLDALPHA -_0812E420: - mov r0, sp - bl sub_8078914 - ldr r2, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0xC] - ldr r1, _0812E480 @ =0x040000d4 - add r0, sp, 0xC - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _0812E484 @ =0x85000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0812E450 - ldr r2, _0812E488 @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812E450: - ldr r2, _0812E488 @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812E48C @ =gBattle_BG1_X - strh r4, [r0] - ldr r0, _0812E490 @ =gBattle_BG1_Y - strh r4, [r0] - ldr r0, _0812E494 @ =REG_BLDCNT - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, r6, 0 - bl DestroyAnimVisualTask -_0812E476: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812E480: .4byte 0x040000d4 -_0812E484: .4byte 0x85000200 -_0812E488: .4byte REG_BG1CNT -_0812E48C: .4byte gBattle_BG1_X -_0812E490: .4byte gBattle_BG1_Y -_0812E494: .4byte REG_BLDCNT - thumb_func_end sub_812E14C - - thumb_func_start sub_812E498 -sub_812E498: @ 812E498 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0812E4D0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812E4D8 - movs r0, 0 - bl GetAnimBankSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812E4D4 @ =gUnknown_08402610 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812E4EA - .align 2, 0 -_0812E4D0: .4byte gTasks -_0812E4D4: .4byte gUnknown_08402610 -_0812E4D8: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812E4EA - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812E4EA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812E498 - - thumb_func_start sub_812E4F0 -sub_812E4F0: @ 812E4F0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _0812E50E - adds r0, r4, 0 - movs r1, 0 - bl InitAnimSpritePos - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0812E562 -_0812E50E: - adds r0, 0x1 - strh r0, [r4, 0x2E] - cmp r1, 0x14 - ble _0812E562 - ldrh r0, [r4, 0x30] - adds r0, 0xA0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0x80 - strh r0, [r4, 0x32] - ldr r0, _0812E53C @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0812E540 - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - b _0812E546 - .align 2, 0 -_0812E53C: .4byte gAnimBankAttacker -_0812E540: - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 -_0812E546: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _0812E562 - adds r0, r4, 0 - bl DestroyAnimSprite -_0812E562: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812E4F0 - - thumb_func_start sub_812E568 -sub_812E568: @ 812E568 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _0812E58C @ =gTasks - adds r4, r0, r1 - ldr r5, _0812E590 @ =gBattleAnimArgs - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0812E594 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _0812E628 - .align 2, 0 -_0812E58C: .4byte gTasks -_0812E590: .4byte gBattleAnimArgs -_0812E594: - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _0812E5A0 - movs r0, 0 - strh r0, [r5, 0x4] -_0812E5A0: - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0x2 - ble _0812E5AC - movs r0, 0x2 - strh r0, [r5, 0x4] -_0812E5AC: - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r1, 1 - movs r0, 0x8 - subs r0, r1 - strh r0, [r4, 0xE] - movs r1, 0x4 - ldrsh r0, [r5, r1] - lsls r0, 7 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r5, 0x4] - adds r0, 0x2 - strh r0, [r4, 0x12] - ldrh r0, [r5, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x14] - ldrb r0, [r5] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0812E5F8 - ldr r0, _0812E5F4 @ =gAnimBankAttacker - b _0812E5FA - .align 2, 0 -_0812E5F4: .4byte gAnimBankAttacker -_0812E5F8: - ldr r0, _0812E630 @ =gAnimBankTarget -_0812E5FA: - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0812E618 - movs r1, 0x10 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x10] - movs r1, 0x12 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x12] -_0812E618: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8078E70 - ldr r0, _0812E634 @ =sub_812E638 - str r0, [r4] -_0812E628: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812E630: .4byte gAnimBankTarget -_0812E634: .4byte sub_812E638 - thumb_func_end sub_812E568 - - thumb_func_start sub_812E638 -sub_812E638: @ 812E638 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0812E65C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r6, [r4, r0] - cmp r6, 0x1 - beq _0812E6C0 - cmp r6, 0x1 - bgt _0812E660 - cmp r6, 0 - beq _0812E66C - b _0812E798 - .align 2, 0 -_0812E65C: .4byte gTasks -_0812E660: - cmp r6, 0x2 - beq _0812E718 - cmp r6, 0x3 - bne _0812E66A - b _0812E788 -_0812E66A: - b _0812E798 -_0812E66C: - ldr r2, _0812E6BC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0812E798 - strh r6, [r4, 0xA] - b _0812E780 - .align 2, 0 -_0812E6BC: .4byte gSprites -_0812E6C0: - ldr r2, _0812E714 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0x12] - subs r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0xC] - adds r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 1 - cmp r1, r0 - blt _0812E798 - movs r0, 0 - strh r0, [r4, 0xA] - b _0812E780 - .align 2, 0 -_0812E714: .4byte gSprites -_0812E718: - ldr r2, _0812E77C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r0, 0x24] - adds r1, r2 - movs r5, 0 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xC] - ldrh r1, [r4, 0x10] - subs r0, r1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0812E798 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0812E780 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - strh r5, [r4, 0xA] - strh r5, [r4, 0x8] - b _0812E798 - .align 2, 0 -_0812E77C: .4byte gSprites -_0812E780: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812E798 -_0812E788: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F40 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812E798: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812E638 - - thumb_func_start sub_812E7A0 -sub_812E7A0: @ 812E7A0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812E7BC @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0812E7C4 - strh r0, [r4, 0x20] - ldr r1, _0812E7C0 @ =gBattleAnimArgs - ldrh r0, [r1] - b _0812E7CE - .align 2, 0 -_0812E7BC: .4byte gAnimBankAttacker -_0812E7C0: .4byte gBattleAnimArgs -_0812E7C4: - movs r0, 0xF0 - strh r0, [r4, 0x20] - ldr r1, _0812E7E8 @ =gBattleAnimArgs - ldrh r0, [r1] - subs r0, 0x1E -_0812E7CE: - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrb r1, [r1, 0x2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _0812E7EC @ =sub_812E7F0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812E7E8: .4byte gBattleAnimArgs -_0812E7EC: .4byte sub_812E7F0 - thumb_func_end sub_812E7A0 - - thumb_func_start sub_812E7F0 -sub_812E7F0: @ 812E7F0 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x3 - strh r0, [r4, 0x2E] - ldr r0, _0812E830 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0812E834 - ldrh r1, [r4, 0x20] - adds r1, 0x5 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF0 - ble _0812E822 - adds r0, r4, 0 - bl DestroyAnimSprite -_0812E822: - ldrh r1, [r4, 0x2E] - movs r0, 0xFF - ands r0, r1 - movs r1, 0x10 - bl Sin - b _0812E858 - .align 2, 0 -_0812E830: .4byte gAnimBankAttacker -_0812E834: - ldrh r1, [r4, 0x20] - subs r1, 0x5 - strh r1, [r4, 0x20] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - cmp r1, 0 - bge _0812E84C - adds r0, r4, 0 - bl DestroyAnimSprite -_0812E84C: - ldrh r1, [r4, 0x2E] - movs r0, 0xFF - ands r0, r1 - movs r1, 0x10 - bl Cos -_0812E858: - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812E7F0 - - thumb_func_start sub_812E860 -sub_812E860: @ 812E860 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0812E8A8 @ =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - movs r0, 0x20 - strh r0, [r4, 0x20] - movs r0, 0x40 - strh r0, [r4, 0x22] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r4, 0x24] - ldr r0, _0812E8AC @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - movs r1, 0 - bl sub_8078E70 - ldr r0, _0812E8B0 @ =sub_812E8B4 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812E8A8: .4byte gTasks -_0812E8AC: .4byte gBattleAnimArgs -_0812E8B0: .4byte sub_812E8B4 - thumb_func_end sub_812E860 - - thumb_func_start sub_812E8B4 -sub_812E8B4: @ 812E8B4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0812E8E0 @ =gTasks - adds r7, r0, r1 - movs r1, 0x8 - ldrsh r0, [r7, r1] - mov r8, r0 - cmp r0, 0x1 - beq _0812E950 - cmp r0, 0x1 - bgt _0812E8E4 - cmp r0, 0 - beq _0812E8EC - b _0812E9CA - .align 2, 0 -_0812E8E0: .4byte gTasks -_0812E8E4: - mov r2, r8 - cmp r2, 0x2 - beq _0812E9B8 - b _0812E9CA -_0812E8EC: - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r1, [r7, 0xC] - adds r2, r0, r1 - strh r2, [r7, 0xC] - lsls r0, r2, 16 - asrs r0, 16 - ldrh r3, [r7, 0x24] - mov r8, r3 - movs r3, 0x24 - ldrsh r1, [r7, r3] - cmp r0, r1 - blt _0812E9CA - mov r0, r8 - subs r5, r0, r2 - lsls r5, 16 - asrs r5, 16 - adds r6, r1, 0 - lsls r6, 1 - adds r0, r5, 0 - adds r1, r6, 0 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - asrs r4, 16 - movs r1, 0x1 - ands r4, r1 - cmp r4, 0 - bne _0812E944 - lsls r0, 16 - asrs r0, 16 - mov r2, r8 - subs r0, r2, r0 - b _0812E9A2 -_0812E944: - lsls r0, 16 - asrs r0, 16 - mov r3, r8 - subs r0, r3 - strh r0, [r7, 0xC] - b _0812E9CA -_0812E950: - ldr r1, _0812E9A8 @ =0xfffffe00 - adds r0, r1, 0 - ldrh r2, [r7, 0xC] - adds r1, r0, r2 - strh r1, [r7, 0xC] - movs r3, 0xC - ldrsh r0, [r7, r3] - movs r2, 0x24 - ldrsh r6, [r7, r2] - cmn r0, r6 - bgt _0812E9CA - ldrh r3, [r7, 0x24] - mov r9, r3 - mov r0, r9 - subs r4, r0, r1 - lsls r4, 16 - asrs r4, 16 - lsls r6, 1 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r2, r0, 16 - mov r1, r8 - ands r1, r5 - lsls r0, r1, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _0812E9AC - lsls r0, r2, 16 - asrs r0, 16 - mov r2, r9 - subs r0, r2 -_0812E9A2: - strh r0, [r7, 0xC] - strh r1, [r7, 0x8] - b _0812E9CA - .align 2, 0 -_0812E9A8: .4byte 0xfffffe00 -_0812E9AC: - lsls r0, r2, 16 - asrs r0, 16 - mov r3, r9 - subs r0, r3, r0 - strh r0, [r7, 0xC] - b _0812E9CA -_0812E9B8: - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F40 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _0812EA40 -_0812E9CA: - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r7, 0xC] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldr r2, _0812EA38 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0xC - ldrsh r0, [r7, r2] - cmp r0, 0 - bge _0812E9FE - adds r0, 0x3F -_0812E9FE: - asrs r0, 6 - negs r0, r0 - strh r0, [r1, 0x24] - ldrh r0, [r7, 0xA] - adds r0, 0x1 - strh r0, [r7, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0812EA40 - ldrh r1, [r7, 0x20] - movs r3, 0x20 - ldrsh r0, [r7, r3] - cmp r0, 0 - beq _0812EA3C - subs r0, r1, 0x1 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x22] - subs r0, r1 - strh r0, [r7, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _0812EA40 - movs r0, 0x10 - strh r0, [r7, 0x24] - b _0812EA40 - .align 2, 0 -_0812EA38: .4byte gSprites -_0812EA3C: - movs r0, 0x2 - strh r0, [r7, 0x8] -_0812EA40: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812E8B4 thumb_func_start sub_812EA4C sub_812EA4C: @ 812EA4C @@ -5332,13 +21,13 @@ sub_812EA4C: @ 812EA4C ldr r4, _0812EAA8 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -5453,7 +142,7 @@ _0812EB4E: strh r0, [r2, 0x1E] mov r1, r8 ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r5, r0, 24 ldr r1, _0812EB8C @ =gTasks @@ -5517,7 +206,7 @@ _0812EBC2: cmp r0, 0 bne _0812EBE8 ldrb r0, [r6, 0x1E] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsls r2, r5, 4 cmp r0, 0 @@ -5895,13 +584,13 @@ sub_812EEA4: @ 812EEA4 ldr r5, _0812EEE0 @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -6045,7 +734,7 @@ sub_812EFC8: @ 812EFC8 lsrs r0, 24 str r0, [sp, 0x10] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId bl IsContest lsls r0, 24 cmp r0, 0 @@ -6065,13 +754,13 @@ _0812F000: .4byte gSharedMem + 0x19348 _0812F004: ldr r0, _0812F070 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0812F0AC movs r0, 0 str r0, [sp, 0x14] - ldr r6, _0812F074 @ =gBattlePartyID + ldr r6, _0812F074 @ =gBattlerPartyIndexes ldr r4, _0812F078 @ =gAnimBankTarget ldrb r0, [r4] lsls r0, 1 @@ -6101,7 +790,7 @@ _0812F004: cmp r0, 0 bne _0812F0A4 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0812F084 @@ -6114,7 +803,7 @@ _0812F004: b _0812F092 .align 2, 0 _0812F070: .4byte gAnimBankAttacker -_0812F074: .4byte gBattlePartyID +_0812F074: .4byte gBattlerPartyIndexes _0812F078: .4byte gAnimBankTarget _0812F07C: .4byte gPlayerParty _0812F080: .4byte gSharedMem + 0x17800 @@ -6143,7 +832,7 @@ _0812F0A6: _0812F0AC: movs r2, 0x1 str r2, [sp, 0x14] - ldr r6, _0812F10C @ =gBattlePartyID + ldr r6, _0812F10C @ =gBattlerPartyIndexes ldr r4, _0812F110 @ =gAnimBankTarget ldrb r0, [r4] lsls r0, 1 @@ -6173,7 +862,7 @@ _0812F0AC: cmp r0, 0 bne _0812F138 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0812F120 @@ -6186,7 +875,7 @@ _0812F0AC: adds r0, r1 b _0812F12C .align 2, 0 -_0812F10C: .4byte gBattlePartyID +_0812F10C: .4byte gBattlerPartyIndexes _0812F110: .4byte gAnimBankTarget _0812F114: .4byte gEnemyParty _0812F118: .4byte gSharedMem + 0x17800 @@ -6219,13 +908,13 @@ _0812F13E: ldr r5, _0812F21C @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 mov r2, r10 lsls r1, r2, 16 @@ -6478,7 +1167,7 @@ _0812F342: movs r0, 0x18 strh r0, [r4, 0x18] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6503,12 +1192,12 @@ _0812F388: strh r0, [r4, 0x24] ldr r0, _0812F3C4 @ =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] adds r0, r5, 0 - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6620,7 +1309,7 @@ sub_812F474: @ 812F474 ldr r1, _0812F4A8 @ =gTasks adds r6, r0, r1 ldrb r0, [r6, 0x12] - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6974,7 +1663,7 @@ sub_812F724: @ 812F724 strh r0, [r4, 0x8] ldr r0, _0812F760 @ =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7251,7 +1940,7 @@ sub_812F948: @ 812F948 bl StartSpriteAffineAnim ldr r0, _0812F9A4 @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0812F96E @@ -7262,7 +1951,7 @@ _0812F96E: ldr r4, _0812F9A8 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -7270,7 +1959,7 @@ _0812F96E: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7696,7 +2385,7 @@ sub_812FC68: @ 812FC68 strh r0, [r4, 0x14] _0812FCAC: ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0812FCDC @@ -7833,13 +2522,13 @@ _0812FDC2: ldrb r4, [r0] adds r0, r4, 0 movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] adds r0, r4, 0 movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] @@ -7850,7 +2539,7 @@ _0812FDC2: strh r0, [r5, 0x14] ldr r0, _0812FE14 @ =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -8123,7 +2812,7 @@ sub_812FFE4: @ 812FFE4 ldrh r0, [r1, 0x2] strh r0, [r4, 0xA] ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _08130034 @ =gSprites @@ -8250,7 +2939,7 @@ sub_81300F4: @ 81300F4 adds r5, r0, 0 ldr r6, _0813014C @ =gAnimBankAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8262,7 +2951,7 @@ sub_81300F4: @ 81300F4 _08130110: ldrb r0, [r6] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _08130150 @ =gBattleAnimArgs lsrs r0, 24 @@ -8271,7 +2960,7 @@ _08130110: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -8315,7 +3004,7 @@ _08130172: _08130180: ldr r0, _081301AC @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081301A0 @@ -8404,13 +3093,13 @@ _0813021C: _08130226: ldr r5, _0813025C @ =gAnimBankAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08130260 ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -8431,7 +3120,7 @@ _0813025C: .4byte gAnimBankAttacker _08130260: ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -8451,7 +3140,7 @@ _08130284: ldr r5, _081302D8 @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -8470,13 +3159,13 @@ _081302A8: ldr r4, _081302DC @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x24] @@ -8840,14 +3529,14 @@ sub_8130554: @ 8130554 mov r10, r0 ldrb r0, [r0] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x1E] mov r1, r10 ldrb r0, [r1] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x20] @@ -8855,14 +3544,14 @@ sub_8130554: @ 8130554 mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x22] mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 mov r1, r8 ldrb r0, [r1] @@ -8942,7 +3631,7 @@ _081305C6: bl InitAnimSpriteTranslationOverDuration mov r1, r10 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9163,7 +3852,7 @@ _081307FC: strh r1, [r4, 0x3C] adds r0, r5, 0 movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -9336,7 +4025,7 @@ _08130934: ldrh r0, [r2, 0x2] strh r0, [r4, 0x8] ldrb r0, [r2] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -9470,7 +4159,7 @@ _08130A48: _08130A4A: ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -9858,7 +4547,7 @@ sub_8130D20: @ 8130D20 ldr r0, _08130D7C @ =gTasks adds r6, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] @@ -9874,7 +4563,7 @@ sub_8130D20: @ 8130D20 ldr r5, _08130D80 @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -9882,7 +4571,7 @@ sub_8130D20: @ 8130D20 movs r0, 0x2 eors r0, r1 movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -9900,7 +4589,7 @@ _08130D88: .4byte 0x0000ffff _08130D8C: ldr r0, _08130DA0 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08130DA8 @@ -10165,7 +4854,7 @@ _08130F82: ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -10323,14 +5012,14 @@ _081310C4: lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r1, r0, 24 _081310E4: @@ -10547,12 +5236,12 @@ sub_8131264: @ 8131264 ldr r4, _081312A0 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08131290 @@ -10614,7 +5303,7 @@ sub_81312E4: @ 81312E4 lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r5, r0, 24 adds r2, r5, 0 @@ -10755,7 +5444,7 @@ sub_8131408: @ 8131408 lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 ldr r1, _08131434 @ =gTasks @@ -10933,7 +5622,7 @@ sub_8131564: @ 8131564 adds r5, r0, 0 ldr r4, _08131588 @ =gAnimBankTarget ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08131590 @@ -10960,7 +5649,7 @@ _081315A0: ldr r0, _081315C0 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -11473,7 +6162,7 @@ _0813197C: .4byte _08131DC4 _08131990: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, _081319DC @ =gTasks @@ -11490,7 +6179,7 @@ _08131990: strh r0, [r6, 0xA] ldr r0, _081319E0 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11582,11 +6271,11 @@ _08131A70: .4byte gAnimBankAttacker _08131A74: ldr r4, _08131AD4 @ =gAnimBankAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08131B10 - ldr r7, _08131AD8 @ =gBattlePartyID + ldr r7, _08131AD8 @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r7 @@ -11626,14 +6315,14 @@ _08131A74: b _08131AE6 .align 2, 0 _08131AD4: .4byte gAnimBankAttacker -_08131AD8: .4byte gBattlePartyID +_08131AD8: .4byte gBattlerPartyIndexes _08131ADC: .4byte gPlayerParty _08131AE0: .4byte gSharedMem + 0x17800 _08131AE4: ldrh r5, [r1, 0x2] _08131AE6: movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, _08131B0C @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -11653,7 +6342,7 @@ _08131AE6: .align 2, 0 _08131B0C: .4byte gSprites _08131B10: - ldr r7, _08131B64 @ =gBattlePartyID + ldr r7, _08131B64 @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r7 @@ -11692,14 +6381,14 @@ _08131B10: lsrs r5, r0, 16 b _08131B72 .align 2, 0 -_08131B64: .4byte gBattlePartyID +_08131B64: .4byte gBattlerPartyIndexes _08131B68: .4byte gEnemyParty _08131B6C: .4byte gSharedMem + 0x17800 _08131B70: ldrh r5, [r1, 0x2] _08131B72: movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, _08131C04 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -11719,7 +6408,7 @@ _08131B94: ldr r0, _08131C0C @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 lsls r3, r6, 16 @@ -11795,7 +6484,7 @@ _08131C20: strh r0, [r6, 0xA] ldr r0, _08131C70 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11852,7 +6541,7 @@ _08131C8E: bne _08131D0E ldr r0, _08131CE4 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08131CEC @@ -11861,7 +6550,7 @@ _08131C8E: ldr r0, _08131CE8 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11878,7 +6567,7 @@ _08131CEC: ldr r0, _08131D30 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11916,7 +6605,7 @@ _08131D38: .4byte 0x0000ffff _08131D3C: .4byte gTasks _08131D40: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, _08131D8C @ =gTasks @@ -11936,7 +6625,7 @@ _08131D40: bl sub_807A0F4 ldr r0, _08131D94 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11980,7 +6669,7 @@ _08131DB6: _08131DC0: .4byte gTasks _08131DC4: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, _08131E38 @ =gTasks @@ -11999,7 +6688,7 @@ _08131DC4: mov r10, r0 ldrb r0, [r0] str r2, [sp, 0x10] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 ldr r2, [sp, 0x10] @@ -12024,7 +6713,7 @@ _08131DC4: mov r1, r10 ldrb r0, [r1] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -12057,7 +6746,7 @@ _08131E44: mov r2, r10 ldrb r0, [r2] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -12126,7 +6815,7 @@ _08131ECA: ldr r0, _08131F54 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -12145,7 +6834,7 @@ _08131ECA: strb r0, [r2] ldr r0, _08131F5C @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12155,7 +6844,7 @@ _08131ECA: cmp r0, 0 bne _08131FF4 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, _08131F60 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -12219,7 +6908,7 @@ _08131FA6: strh r0, [r4, 0x32] ldr r0, _08131FD0 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08131FD4 @@ -12292,14 +6981,14 @@ _08132040: ldr r0, _08132084 @ =gAnimBankAttacker ldrb r0, [r0] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 ldr r0, _08132088 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 @@ -12473,14 +7162,14 @@ sub_813219C: @ 813219C ldr r0, _08132204 @ =gTasks adds r4, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0xE] ldr r0, _08132208 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -12663,7 +7352,7 @@ sub_8132318: @ 8132318 adds r4, r0, 0 ldr r0, _0813236C @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x30] @@ -12707,7 +7396,7 @@ sub_8132370: @ 8132370 adds r4, r0, 0 ldr r0, _081323A8 @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081323B4 @@ -12764,7 +7453,7 @@ sub_81323E0: @ 81323E0 ldr r4, _08132424 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -12996,7 +7685,7 @@ sub_813257C: @ 813257C strh r0, [r4, 0x8] ldr r0, _081325B8 @ =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s index a2e942ec9..df39aef31 100644 --- a/asm/battle_anim_813F0F4.s +++ b/asm/battle_anim_813F0F4.s @@ -915,11 +915,11 @@ sub_813F844: @ 813F844 adds r1, r0, r1 ldrb r1, [r1] mov r9, r1 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0813F88C - ldr r1, _0813F884 @ =gBattlePartyID + ldr r1, _0813F884 @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -931,10 +931,10 @@ sub_813F844: @ 813F844 .align 2, 0 _0813F87C: .4byte gBankSpriteIds _0813F880: .4byte gAnimBankAttacker -_0813F884: .4byte gBattlePartyID +_0813F884: .4byte gBattlerPartyIndexes _0813F888: .4byte gPlayerParty _0813F88C: - ldr r1, _0813F8CC @ =gBattlePartyID + ldr r1, _0813F8CC @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -965,20 +965,20 @@ _0813F89C: beq _0813F958 b _0813F982 .align 2, 0 -_0813F8CC: .4byte gBattlePartyID +_0813F8CC: .4byte gBattlerPartyIndexes _0813F8D0: .4byte gEnemyParty _0813F8D4: .4byte gTasks _0813F8D8: ldr r5, _0813F950 @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 ldr r2, _0813F954 @ =gSprites @@ -1238,14 +1238,14 @@ sub_813FA94: @ 813FA94 mov r8, r2 ldrb r0, [r2] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1366,7 +1366,7 @@ _0813FBE0: lsls r4, 24 lsrs r4, 24 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_8079E90 @@ -1400,14 +1400,14 @@ _0813FBE0: mov r8, r1 ldrb r0, [r1] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1418,7 +1418,7 @@ _0813FBE0: ldr r0, _0813FCAC @ =SpriteCallbackDummy str r0, [r4] movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0813FCB0 @ =gBankSpriteIds lsls r0, 24 lsrs r0, 24 @@ -1462,7 +1462,7 @@ sub_813FCBC: @ 813FCBC lsrs r5, r0, 24 ldr r6, _0813FD1C @ =gSprites movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0813FD20 @ =gBankSpriteIds lsls r0, 24 lsrs r0, 24 @@ -1519,7 +1519,7 @@ sub_813FD34: @ 813FD34 lsrs r5, r0, 24 ldr r6, _0813FD88 @ =gSprites movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _0813FD8C @ =gBankSpriteIds lsls r0, 24 lsrs r0, 24 @@ -1535,7 +1535,7 @@ sub_813FD34: @ 813FD34 cmp r0, 0 bge _0813FD80 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -4619,7 +4619,7 @@ _08141562: adds r0, r4 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081415A4 @@ -4697,7 +4697,7 @@ _08141606: adds r0, r2 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0814163C @@ -4739,7 +4739,7 @@ _08141654: strh r1, [r0, 0x8] ldr r0, _08141690 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -4817,7 +4817,7 @@ _081416EC: _081416F2: ldr r0, _08141708 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -5124,12 +5124,12 @@ _08141966: ldrb r0, [r4, 0x8] mov r8, r0 movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 mov r0, r8 movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 movs r1, 0x1E @@ -5247,7 +5247,7 @@ _08141A44: cmp r0, 0 bne _08141A8C mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x3F cmp r0, 0 @@ -5483,11 +5483,11 @@ sub_8141C30: @ 8141C30 movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 ldr r5, _08141CA4 @ =gBattleAnimArgs lsrs r0, 24 @@ -5495,11 +5495,11 @@ sub_8141C30: @ 8141C30 adds r0, r1 strh r0, [r4, 0x32] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -5644,11 +5644,11 @@ sub_8141D7C: @ 8141D7C lsls r4, 24 lsrs r4, 24 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08141DA4 @ =gAnimBankAttacker strb r0, [r1] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08141DA8 @ =gAnimBankTarget strb r0, [r1] adds r0, r4, 0 diff --git a/asm/contest_effect.s b/asm/contest_effect.s deleted file mode 100644 index 341cb0903..000000000 --- a/asm/contest_effect.s +++ /dev/null @@ -1,2941 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start AreMovesContestCombo -AreMovesContestCombo: @ 80B7D24 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsls r1, 16 - ldr r2, _080B7D78 @ =gContestMoves - lsrs r0, 13 - adds r0, r2 - ldrb r4, [r0, 0x2] - mov r3, sp - lsrs r1, 13 - adds r1, r2 - ldrb r0, [r1, 0x3] - strb r0, [r3] - mov r2, sp - ldrb r0, [r1, 0x4] - strb r0, [r2, 0x1] - ldrb r0, [r1, 0x5] - strb r0, [r2, 0x2] - mov r0, sp - ldrb r1, [r1, 0x6] - strb r1, [r0, 0x3] - cmp r4, 0 - beq _080B7D80 - mov r0, sp - ldrb r0, [r0] - cmp r4, r0 - beq _080B7D6E - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r4, r0 - beq _080B7D6E - mov r0, sp - ldrb r0, [r0, 0x2] - cmp r4, r0 - beq _080B7D6E - cmp r4, r1 - bne _080B7D80 -_080B7D6E: - ldr r0, _080B7D7C @ =gComboStarterLookupTable - adds r0, r4, r0 - ldrb r0, [r0] - b _080B7D82 - .align 2, 0 -_080B7D78: .4byte gContestMoves -_080B7D7C: .4byte gComboStarterLookupTable -_080B7D80: - movs r0, 0 -_080B7D82: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end AreMovesContestCombo - - thumb_func_start ContestEffect_00 -ContestEffect_00: @ 80B7D8C - bx lr - thumb_func_end ContestEffect_00 - - thumb_func_start ContestEffect_01 -ContestEffect_01: @ 80B7D90 - push {lr} - ldr r3, _080B7DB8 @ =gSharedMem + 0x192D0 - ldrb r1, [r3, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r3, 0 - subs r1, 0x70 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x10] - ldrb r0, [r3, 0x11] - movs r1, 0 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B7DB8: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_01 - - thumb_func_start ContestEffect_02 -ContestEffect_02: @ 80B7DBC - push {lr} - ldr r3, _080B7DE4 @ =gSharedMem + 0x192D0 - ldrb r1, [r3, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r3, 0 - subs r1, 0x70 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r0, [r3, 0x11] - movs r1, 0x1 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B7DE4: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_02 - - thumb_func_start ContestEffect_03 -ContestEffect_03: @ 80B7DE8 - push {r4,lr} - ldr r3, _080B7E30 @ =gSharedMem + 0x192D0 - ldrb r1, [r3, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r4, r3, 0 - subs r4, 0x70 - adds r0, r4 - ldrb r1, [r0, 0x10] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x10] - ldrb r0, [r3, 0x11] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x15] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x15] - ldrb r0, [r3, 0x11] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0xB] - movs r0, 0x71 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7E30: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_03 - - thumb_func_start ContestEffect_04 -ContestEffect_04: @ 80B7E34 - push {lr} - ldr r2, _080B7E58 @ =gSharedMem + 0x192D0 - ldrb r1, [r2, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r2, 0 - subs r1, 0x70 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0, 0x12] - ldrb r0, [r2, 0x11] - movs r1, 0x2 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B7E58: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_04 - - thumb_func_start ContestEffect_05 -ContestEffect_05: @ 80B7E5C - push {lr} - ldr r3, _080B7E84 @ =gSharedMem + 0x192D0 - ldrb r1, [r3, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r3, 0 - subs r1, 0x70 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x10] - ldrb r0, [r3, 0x11] - movs r1, 0x3 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B7E84: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_05 - - thumb_func_start ContestEffect_06 -ContestEffect_06: @ 80B7E88 - push {lr} - ldr r2, _080B7EAC @ =gSharedMem + 0x192D0 - ldrb r1, [r2, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r2, 0 - subs r1, 0x70 - adds r0, r1 - movs r1, 0x14 - strb r1, [r0, 0xF] - ldrb r0, [r2, 0x11] - movs r1, 0x4 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B7EAC: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_06 - - thumb_func_start ContestEffect_07 -ContestEffect_07: @ 80B7EB0 - push {lr} - ldr r3, _080B7ED8 @ =gSharedMem + 0x192D0 - ldrb r1, [r3, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r3, 0 - subs r1, 0x70 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x10] - ldrb r0, [r3, 0x11] - movs r1, 0x5 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B7ED8: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_07 - - thumb_func_start ContestEffect_08 -ContestEffect_08: @ 80B7EDC - push {r4,lr} - movs r2, 0 - ldr r3, _080B7F38 @ =gSharedMem + 0x192D0 - ldrb r0, [r3, 0x11] - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0 - beq _080B7F1A - subs r0, 0x1 - ldrb r4, [r3] - cmp r0, r4 - beq _080B7F0A - adds r4, r3, 0 - adds r3, r1, 0 -_080B7EF8: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080B7F0A - ldrb r0, [r3] - subs r0, 0x1 - adds r1, r2, r4 - ldrb r1, [r1] - cmp r0, r1 - bne _080B7EF8 -_080B7F0A: - ldr r1, _080B7F38 @ =gSharedMem + 0x192D0 - strb r2, [r1, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80B9120 - lsls r0, 24 - lsrs r2, r0, 24 -_080B7F1A: - cmp r2, 0 - bne _080B7F28 - ldr r0, _080B7F38 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B7F28: - ldr r0, _080B7F38 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7F38: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_08 - - thumb_func_start ContestEffect_09 -ContestEffect_09: @ 80B7F3C - push {r4-r6,lr} - movs r2, 0 - ldr r1, _080B7F9C @ =gSharedMem + 0x192D0 - ldrb r0, [r1, 0x11] - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _080B7F7C - movs r3, 0 - adds r5, r1, 0 - adds r6, r5, 0 - adds r6, 0x8 -_080B7F54: - adds r1, r2, r5 - ldrb r0, [r4] - ldrb r1, [r1] - cmp r0, r1 - bls _080B7F64 - adds r0, r3, r6 - strb r2, [r0] - adds r3, 0x1 -_080B7F64: - adds r2, 0x1 - cmp r2, 0x3 - ble _080B7F54 - ldr r0, _080B7F9C @ =gSharedMem + 0x192D0 - adds r0, 0x8 - adds r0, r3, r0 - movs r1, 0xFF - strb r1, [r0] - bl sub_80B9120 - lsls r0, 24 - lsrs r2, r0, 24 -_080B7F7C: - cmp r2, 0 - bne _080B7F8A - ldr r0, _080B7F9C @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B7F8A: - ldr r0, _080B7F9C @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B7F9C: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_09 - - thumb_func_start ContestEffect_14 -ContestEffect_14: @ 80B7FA0 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x14 - cmp r0, 0x1 - bls _080B7FC2 - movs r1, 0x3C - cmp r0, 0x7 - bhi _080B7FC2 - movs r1, 0x28 -_080B7FC2: - ldr r0, _080B7FD0 @ =gSharedMem + 0x192D0 - strh r1, [r0, 0x4] - bl ContestEffect_08 - pop {r0} - bx r0 - .align 2, 0 -_080B7FD0: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_14 - - thumb_func_start ContestEffect_15 -ContestEffect_15: @ 80B7FD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - ldr r0, _080B806C @ =gSharedMem + 0x192D0 - ldrb r6, [r0, 0x11] - adds r1, r6, r0 - ldrb r1, [r1] - mov r8, r0 - cmp r1, 0 - beq _080B804A - movs r5, 0 - mov r4, r8 -_080B7FEE: - adds r0, r6, r4 - adds r1, r5, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B8044 - strb r5, [r4, 0x8] - movs r0, 0xFF - strb r0, [r4, 0x9] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0 - beq _080B8032 - movs r1, 0xA - cmp r0, 0x2 - bls _080B8032 - movs r1, 0x14 - cmp r0, 0x4 - bls _080B8032 - movs r1, 0x1E - cmp r0, 0x6 - bls _080B8032 - movs r1, 0x3C - cmp r0, 0x8 - bhi _080B8032 - movs r1, 0x28 -_080B8032: - strh r1, [r4, 0x4] - bl sub_80B9120 - lsls r0, 24 - cmp r0, 0 - beq _080B8044 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080B8044: - adds r5, 0x1 - cmp r5, 0x3 - ble _080B7FEE -_080B804A: - mov r1, r8 - ldrb r0, [r1, 0x11] - movs r1, 0x30 - bl sub_80B13EC - cmp r7, 0 - bne _080B8062 - mov r1, r8 - ldrb r0, [r1, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B8062: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B806C: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_15 - - thumb_func_start ContestEffect_16 -ContestEffect_16: @ 80B8070 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r9, r0 - ldr r0, _080B8108 @ =gSharedMem + 0x192D0 - ldrb r7, [r0, 0x11] - adds r1, r7, r0 - ldrb r1, [r1] - mov r10, r0 - cmp r1, 0 - beq _080B80E0 - movs r6, 0 - mov r8, r10 - mov r5, r10 - subs r5, 0x5B -_080B8094: - mov r1, r8 - adds r0, r7, r1 - adds r1, r6, r1 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B80D8 - ldrb r1, [r5] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B80D8 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80B90C0 - lsls r0, 24 - cmp r0, 0 - beq _080B80D8 - ldrb r0, [r5] - movs r2, 0x11 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r5] - adds r0, r4, 0 - movs r1, 0x8 - bl sub_80B13EC - movs r0, 0x1 - mov r9, r0 -_080B80D8: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080B8094 -_080B80E0: - mov r1, r10 - ldrb r0, [r1, 0x11] - movs r1, 0x7 - bl sub_80B13EC - mov r2, r9 - cmp r2, 0 - bne _080B80FA - mov r1, r10 - ldrb r0, [r1, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B80FA: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8108: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_16 - - thumb_func_start ContestEffect_17 -ContestEffect_17: @ 80B810C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r9, r0 - ldr r0, _080B8150 @ =gSharedMem + 0x192D0 - ldrb r1, [r0, 0x11] - mov r8, r1 - adds r1, r0 - ldrb r1, [r1] - adds r6, r0, 0 - cmp r1, 0 - beq _080B817C - movs r5, 0 - adds r4, r6, 0 - movs r7, 0 -_080B812E: - mov r2, r8 - adds r0, r2, r4 - adds r1, r5, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B8172 - adds r0, r6, 0 - subs r0, 0x70 - adds r0, r7, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B8154 - movs r0, 0x32 - b _080B8156 - .align 2, 0 -_080B8150: .4byte gSharedMem + 0x192D0 -_080B8154: - movs r0, 0xA -_080B8156: - strh r0, [r4, 0x4] - strb r5, [r4, 0x8] - movs r0, 0xFF - strb r0, [r4, 0x9] - bl sub_80B9120 - lsls r0, 24 - cmp r0, 0 - beq _080B8172 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080B8172: - adds r7, 0x1C - adds r5, 0x1 - ldr r6, _080B81A0 @ =gSharedMem + 0x192D0 - cmp r5, 0x3 - ble _080B812E -_080B817C: - ldrb r0, [r6, 0x11] - movs r1, 0x30 - bl sub_80B13EC - mov r0, r9 - cmp r0, 0 - bne _080B8192 - ldrb r0, [r6, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B8192: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B81A0: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_17 - - thumb_func_start ContestEffect_18 -ContestEffect_18: @ 80B81A4 - push {r4,lr} - ldr r4, _080B81D0 @ =gSharedMem + 0x192D0 - ldrb r1, [r4, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r4, 0 - subs r1, 0x70 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x11] - bl ContestEffect_09 - ldrb r0, [r4, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B81D0: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_18 - - thumb_func_start ContestEffect_19 -ContestEffect_19: @ 80B81D4 - push {r4,lr} - ldr r4, _080B8208 @ =gSharedMem + 0x192D0 - ldrb r1, [r4, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r4, 0 - subs r1, 0x70 - adds r0, r1 - ldrh r0, [r0, 0x6] - ldr r1, _080B820C @ =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - bl sub_80B9038 - ldrb r0, [r4, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B8208: .4byte gSharedMem + 0x192D0 -_080B820C: .4byte gContestMoves - thumb_func_end ContestEffect_19 - - thumb_func_start ContestEffect_20 -ContestEffect_20: @ 80B8210 - push {lr} - movs r0, 0 - bl sub_80B9038 - ldr r0, _080B8228 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B8228: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_20 - - thumb_func_start ContestEffect_21 -ContestEffect_21: @ 80B822C - push {lr} - movs r0, 0x1 - bl sub_80B9038 - ldr r0, _080B8244 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B8244: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_21 - - thumb_func_start ContestEffect_22 -ContestEffect_22: @ 80B8248 - push {lr} - movs r0, 0x2 - bl sub_80B9038 - ldr r0, _080B8260 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B8260: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_22 - - thumb_func_start ContestEffect_23 -ContestEffect_23: @ 80B8264 - push {lr} - movs r0, 0x3 - bl sub_80B9038 - ldr r0, _080B827C @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B827C: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_23 - - thumb_func_start ContestEffect_24 -ContestEffect_24: @ 80B8280 - push {lr} - movs r0, 0x4 - bl sub_80B9038 - ldr r0, _080B8298 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r0} - bx r0 - .align 2, 0 -_080B8298: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_24 - - thumb_func_start ContestEffect_25 -ContestEffect_25: @ 80B829C - push {r4-r7,lr} - movs r4, 0 - ldr r0, _080B82E0 @ =gSharedMem + 0x192D0 - ldrb r1, [r0, 0x11] - adds r1, r0 - ldrb r1, [r1] - adds r7, r0, 0 - cmp r1, 0x3 - beq _080B82F4 - movs r5, 0 - adds r6, r7, 0 -_080B82B2: - ldrb r0, [r6, 0x11] - adds r0, r6 - ldrb r0, [r0] - adds r0, 0x1 - adds r1, r5, r6 - ldrb r1, [r1] - cmp r0, r1 - bne _080B82EE - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80B90C0 - lsls r0, 24 - cmp r0, 0 - beq _080B82E4 - adds r0, r4, 0 - bl sub_80B157C - adds r0, r4, 0 - movs r1, 0xA - b _080B82E8 - .align 2, 0 -_080B82E0: .4byte gSharedMem + 0x192D0 -_080B82E4: - adds r0, r4, 0 - movs r1, 0x3C -_080B82E8: - bl sub_80B13EC - movs r4, 0x1 -_080B82EE: - adds r5, 0x1 - cmp r5, 0x3 - ble _080B82B2 -_080B82F4: - ldrb r0, [r7, 0x11] - movs r1, 0x9 - bl sub_80B13EC - cmp r4, 0 - bne _080B8308 - ldrb r0, [r7, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B8308: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffect_25 - - thumb_func_start ContestEffect_26 -ContestEffect_26: @ 80B8310 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x18] - mov r0, sp - movs r1, 0xFF - movs r2, 0x5 - bl memset - movs r6, 0 - movs r4, 0 - add r2, sp, 0x10 - mov r8, r2 - add r3, sp, 0x8 - mov r10, r3 - ldr r5, _080B8384 @ =gSharedMem + 0x192D0 - adds r7, r5, 0 - subs r7, 0x70 -_080B8340: - ldrb r0, [r5, 0x11] - adds r0, r5 - adds r1, r6, r5 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _080B836E - ldrb r1, [r7, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B836E - lsls r0, r6, 24 - lsrs r0, 24 - bl Contest_IsMonsTurnDisabled - lsls r0, 24 - cmp r0, 0 - bne _080B836E - mov r1, sp - adds r0, r1, r4 - strb r6, [r0] - adds r4, 0x1 -_080B836E: - adds r7, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080B8340 - cmp r4, 0x1 - bne _080B8388 - movs r0, 0x3C - mov r2, r8 - strh r0, [r2] - b _080B83B6 - .align 2, 0 -_080B8384: .4byte gSharedMem + 0x192D0 -_080B8388: - cmp r4, 0x2 - bne _080B8396 - movs r0, 0x1E - mov r3, r8 - strh r0, [r3] - strh r0, [r3, 0x2] - b _080B83B6 -_080B8396: - cmp r4, 0x3 - bne _080B83A6 - movs r0, 0x14 - mov r7, r8 - strh r0, [r7] - strh r0, [r7, 0x2] - strh r0, [r7, 0x4] - b _080B83B6 -_080B83A6: - mov r1, r8 - movs r2, 0 - mov r0, r8 - adds r0, 0x6 -_080B83AE: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _080B83AE -_080B83B6: - movs r6, 0 - movs r7, 0 - mov r4, r10 -_080B83BC: - ldr r0, _080B83F0 @ =gSharedMem + 0x19260 - adds r5, r7, r0 - ldrb r1, [r5, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B83FC - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_80B214C - lsls r0, 24 - cmp r0, 0 - beq _080B83FC - ldr r1, _080B83F4 @ =gContestMoves - ldrh r0, [r5, 0x8] - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x2] - ldr r1, _080B83F8 @ =gComboStarterLookupTable - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - b _080B83FE - .align 2, 0 -_080B83F0: .4byte gSharedMem + 0x19260 -_080B83F4: .4byte gContestMoves -_080B83F8: .4byte gComboStarterLookupTable -_080B83FC: - movs r0, 0 -_080B83FE: - strh r0, [r4] - ldr r5, _080B8494 @ =gSharedMem + 0x19260 - adds r0, r7, r5 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4] - subs r0, r1 - strh r0, [r4] - adds r7, 0x1C - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _080B83BC - mov r2, r8 - movs r3, 0 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080B84CA - movs r6, 0 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0xFF - beq _080B84CA - adds r5, 0x7D - mov r4, sp -_080B8442: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r6, 1 - add r1, r8 - movs r7, 0 - ldrsh r2, [r1, r7] - ldrb r3, [r4] - lsls r1, r3, 1 - add r1, r10 - movs r7, 0 - ldrsh r1, [r1, r7] - adds r2, r1 - cmp r0, r2 - bge _080B8498 - adds r0, r3, 0 - bl sub_80B90C0 - lsls r0, 24 - cmp r0, 0 - beq _080B84A2 - ldrb r0, [r4] - bl sub_80B157C - ldrb r0, [r4] - movs r1, 0xA - bl sub_80B13EC - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - b _080B849C - .align 2, 0 -_080B8494: .4byte gSharedMem + 0x19260 -_080B8498: - movs r0, 0x1 - str r0, [sp, 0x18] -_080B849C: - ldr r1, [sp, 0x18] - cmp r1, 0 - beq _080B84B8 -_080B84A2: - movs r2, 0 - str r2, [sp, 0x18] - ldrb r0, [r4] - movs r1, 0x3C - bl sub_80B13EC - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080B84B8: - ldrb r0, [r4] - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - adds r4, 0x1 - adds r6, 0x1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _080B8442 -_080B84CA: - ldr r4, _080B84F4 @ =gSharedMem + 0x192D0 - ldrb r0, [r4, 0x11] - movs r1, 0xB - bl sub_80B13EC - mov r3, r9 - cmp r3, 0 - bne _080B84E2 - ldrb r0, [r4, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B84E2: - 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 -_080B84F4: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_26 - - thumb_func_start ContestEffect_27 -ContestEffect_27: @ 80B84F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r6, 0 - ldr r7, _080B8580 @ =gSharedMem + 0x192D0 - adds r5, r7, 0 - subs r5, 0x63 -_080B850A: - ldrb r0, [r7, 0x11] - adds r0, r7 - adds r1, r6, r7 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B8556 - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - ble _080B8556 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80B90C0 - lsls r0, 24 - cmp r0, 0 - beq _080B8556 - movs r0, 0 - strb r0, [r5] - ldrb r1, [r5, 0x3] - movs r2, 0x31 - negs r2, r2 - adds r0, r2, 0 - ands r1, r0 - movs r0, 0x20 - orrs r1, r0 - strb r1, [r5, 0x3] - adds r0, r4, 0 - movs r1, 0xD - bl sub_80B13EC - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080B8556: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080B850A - ldr r4, _080B8580 @ =gSharedMem + 0x192D0 - ldrb r0, [r4, 0x11] - movs r1, 0xC - bl sub_80B13EC - mov r0, r8 - cmp r0, 0 - bne _080B8576 - ldrb r0, [r4, 0x11] - movs r1, 0x39 - bl sub_80B1404 -_080B8576: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8580: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_27 - - thumb_func_start ContestEffect_28 -ContestEffect_28: @ 80B8584 - push {r4-r7,lr} - movs r7, 0 - movs r5, 0 - ldr r4, _080B85B0 @ =gSharedMem + 0x192D0 - movs r6, 0 -_080B858E: - ldrb r0, [r4, 0x11] - adds r0, r4 - adds r1, r5, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B85CE - adds r0, r4, 0 - subs r0, 0x70 - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080B85B4 - movs r0, 0x28 - b _080B85B6 - .align 2, 0 -_080B85B0: .4byte gSharedMem + 0x192D0 -_080B85B4: - movs r0, 0xA -_080B85B6: - strh r0, [r4, 0x4] - strb r5, [r4, 0x8] - movs r0, 0xFF - strb r0, [r4, 0x9] - bl sub_80B9120 - lsls r0, 24 - cmp r0, 0 - beq _080B85CE - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080B85CE: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080B858E - ldr r4, _080B85F4 @ =gSharedMem + 0x192D0 - ldrb r0, [r4, 0x11] - movs r1, 0xE - bl sub_80B13EC - cmp r7, 0 - bne _080B85EC - ldrb r0, [r4, 0x11] - movs r1, 0x39 - bl sub_80B1404 -_080B85EC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B85F4: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_28 - - thumb_func_start ContestEffect_29 -ContestEffect_29: @ 80B85F8 - push {r4,lr} - ldr r0, _080B863C @ =gUnknown_02038696 - ldr r4, _080B8640 @ =gSharedMem + 0x192D0 - ldrb r2, [r4, 0x11] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _080B8636 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r0, r4, 0 - subs r0, 0x70 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, _080B8644 @ =gContestEffects - ldr r2, _080B8648 @ =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0xF - bl sub_80B13EC -_080B8636: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B863C: .4byte gUnknown_02038696 -_080B8640: .4byte gSharedMem + 0x192D0 -_080B8644: .4byte gContestEffects -_080B8648: .4byte gContestMoves - thumb_func_end ContestEffect_29 - - thumb_func_start ContestEffect_30 -ContestEffect_30: @ 80B864C - push {r4,lr} - ldr r0, _080B8690 @ =gUnknown_02038696 - ldr r4, _080B8694 @ =gSharedMem + 0x192D0 - ldrb r2, [r4, 0x11] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080B868A - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r0, r4, 0 - subs r0, 0x70 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, _080B8698 @ =gContestEffects - ldr r2, _080B869C @ =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0x10 - bl sub_80B13EC -_080B868A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B8690: .4byte gUnknown_02038696 -_080B8694: .4byte gSharedMem + 0x192D0 -_080B8698: .4byte gContestEffects -_080B869C: .4byte gContestMoves - thumb_func_end ContestEffect_30 - - thumb_func_start ContestEffect_31 -ContestEffect_31: @ 80B86A0 - push {r4-r7,lr} - movs r1, 0 - movs r3, 0 - ldr r4, _080B86EC @ =gSharedMem + 0x192D0 - ldrb r0, [r4, 0x11] - adds r0, r4 - ldrb r5, [r0] - movs r2, 0 - adds r6, r4, 0 - subs r6, 0x70 -_080B86B4: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r5, r0 - bls _080B86C4 - adds r0, r2, r6 - movs r7, 0x2 - ldrsh r0, [r0, r7] - adds r3, r0 -_080B86C4: - adds r2, 0x1C - adds r1, 0x1 - cmp r1, 0x3 - ble _080B86B4 - cmp r3, 0 - bge _080B86D2 - movs r3, 0 -_080B86D2: - ldr r4, _080B86EC @ =gSharedMem + 0x192D0 - ldrb r2, [r4, 0x11] - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _080B86E2 - cmp r3, 0 - bne _080B86F0 -_080B86E2: - adds r0, r2, 0 - movs r1, 0x12 - bl sub_80B13EC - b _080B8710 - .align 2, 0 -_080B86EC: .4byte gSharedMem + 0x192D0 -_080B86F0: - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r0, r4, 0 - subs r0, 0x70 - adds r1, r0 - lsrs r0, r3, 31 - adds r0, r3, r0 - asrs r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0x11 - bl sub_80B13EC -_080B8710: - ldr r4, _080B873C @ =gSharedMem + 0x192D0 - ldrb r1, [r4, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r5, r4, 0 - subs r5, 0x70 - adds r0, r5 - movs r7, 0x2 - ldrsh r0, [r0, r7] - bl sub_80B9224 - ldrb r2, [r4, 0x11] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r5 - strh r0, [r1, 0x2] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B873C: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_31 - - thumb_func_start ContestEffect_32 -ContestEffect_32: @ 80B8740 - push {r4-r7,lr} - movs r6, 0 - ldr r0, _080B8794 @ =gSharedMem + 0x192D0 - ldrb r1, [r0, 0x11] - adds r3, r1, r0 - ldrb r1, [r3] - adds r4, r0, 0 - cmp r1, 0 - beq _080B8788 - movs r2, 0 - adds r7, r4, 0 - adds r0, r1, 0 - subs r1, r0, 0x1 - movs r3, 0 - adds r5, r4, 0 - subs r5, 0x70 -_080B8760: - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _080B876C - adds r0, r3, r5 - ldrh r6, [r0, 0x2] -_080B876C: - adds r3, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - ble _080B8760 - adds r0, r4, 0 - ldrb r2, [r0, 0x11] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _080B8788 - lsls r0, r6, 16 - asrs r3, r0, 16 - cmp r3, 0 - bgt _080B8798 -_080B8788: - ldrb r0, [r4, 0x11] - movs r1, 0x14 - bl sub_80B13EC - b _080B87B2 - .align 2, 0 -_080B8794: .4byte gSharedMem + 0x192D0 -_080B8798: - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r0, r4, 0 - subs r0, 0x70 - adds r1, r0 - ldrh r0, [r1, 0x2] - adds r0, r3, r0 - strh r0, [r1, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0x13 - bl sub_80B13EC -_080B87B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffect_32 - - thumb_func_start ContestEffect_33 -ContestEffect_33: @ 80B87B8 - push {lr} - ldr r0, _080B87D8 @ =gSharedMem + 0x192D0 - ldrb r2, [r0, 0x11] - adds r1, r2, r0 - ldrb r3, [r1] - mov r12, r0 - cmp r3, 0 - bne _080B87DC - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - mov r1, r12 - subs r1, 0x70 - adds r0, r1 - movs r1, 0xA - b _080B87EE - .align 2, 0 -_080B87D8: .4byte gSharedMem + 0x192D0 -_080B87DC: - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - mov r1, r12 - subs r1, 0x70 - adds r0, r1 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 -_080B87EE: - strh r1, [r0, 0x2] - cmp r3, 0 - bne _080B8800 - mov r1, r12 - ldrb r0, [r1, 0x11] - movs r1, 0x15 - bl sub_80B13EC - b _080B882A -_080B8800: - cmp r3, 0x1 - bne _080B8810 - mov r1, r12 - ldrb r0, [r1, 0x11] - movs r1, 0x16 - bl sub_80B13EC - b _080B882A -_080B8810: - cmp r3, 0x2 - bne _080B8820 - mov r1, r12 - ldrb r0, [r1, 0x11] - movs r1, 0x17 - bl sub_80B13EC - b _080B882A -_080B8820: - mov r1, r12 - ldrb r0, [r1, 0x11] - movs r1, 0x18 - bl sub_80B13EC -_080B882A: - pop {r0} - bx r0 - thumb_func_end ContestEffect_33 - - thumb_func_start ContestEffect_34 -ContestEffect_34: @ 80B8830 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - bhi _080B885C - movs r4, 0xA - ldr r0, _080B8858 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80B13EC - b _080B88B0 - .align 2, 0 -_080B8858: .4byte gSharedMem + 0x192D0 -_080B885C: - cmp r0, 0x5 - bhi _080B8874 - movs r4, 0x14 - ldr r0, _080B8870 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80B13EC - b _080B88B0 - .align 2, 0 -_080B8870: .4byte gSharedMem + 0x192D0 -_080B8874: - cmp r0, 0x7 - bhi _080B888C - movs r4, 0x28 - ldr r0, _080B8888 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80B13EC - b _080B88B0 - .align 2, 0 -_080B8888: .4byte gSharedMem + 0x192D0 -_080B888C: - cmp r1, 0x8 - bhi _080B88A4 - movs r4, 0x3C - ldr r0, _080B88A0 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80B13EC - b _080B88B0 - .align 2, 0 -_080B88A0: .4byte gSharedMem + 0x192D0 -_080B88A4: - movs r4, 0x50 - ldr r0, _080B88C8 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80B13EC -_080B88B0: - ldr r0, _080B88C8 @ =gSharedMem + 0x192D0 - ldrb r2, [r0, 0x11] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - subs r0, 0x70 - adds r1, r0 - strh r4, [r1, 0x2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B88C8: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_34 - - thumb_func_start ContestEffect_35 -ContestEffect_35: @ 80B88CC - push {r4-r7,lr} - ldr r1, _080B8940 @ =gSharedMem + 0x192D0 - ldrb r0, [r1, 0x11] - adds r0, r1 - movs r2, 0 - ldrsb r2, [r0, r2] - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r12, r1 - cmp r2, 0 - beq _080B8994 - ldrb r5, [r1] - mov r6, r12 - subs r6, 0x70 -_080B88EA: - movs r2, 0 - lsls r0, r4, 24 - asrs r1, r0, 24 - adds r4, r0, 0 - cmp r5, r1 - beq _080B8910 - ldr r3, _080B8940 @ =gSharedMem + 0x192D0 -_080B88F8: - lsls r0, r2, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r2, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bgt _080B8910 - adds r0, r3 - ldrb r0, [r0] - cmp r0, r1 - bne _080B88F8 -_080B8910: - lsls r2, 24 - asrs r1, r2, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r3, r0, r6 - ldrb r1, [r3, 0xB] - movs r0, 0x80 - ands r0, r1 - adds r7, r2, 0 - cmp r0, 0 - bne _080B8932 - ldrb r1, [r3, 0xC] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080B8944 -_080B8932: - movs r1, 0xFF - lsls r1, 24 - adds r0, r4, r1 - lsrs r4, r0, 24 - cmp r0, 0 - blt _080B8994 - b _080B88EA - .align 2, 0 -_080B8940: .4byte gSharedMem + 0x192D0 -_080B8944: - mov r2, r12 - ldrb r1, [r2, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r3, r12 - subs r3, 0x70 - adds r5, r0, r3 - ldrh r0, [r5, 0x6] - ldr r4, _080B899C @ =gContestMoves - lsls r0, 3 - adds r6, r0, r4 - ldrb r2, [r6, 0x1] - lsls r2, 29 - asrs r1, r7, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x6] - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r2, r0 - bne _080B8994 - ldr r1, _080B89A0 @ =gContestEffects - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r5, 0x2] - mov r2, r12 - ldrb r0, [r2, 0x11] - movs r1, 0x1F - bl sub_80B13EC -_080B8994: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B899C: .4byte gContestMoves -_080B89A0: .4byte gContestEffects - thumb_func_end ContestEffect_35 - - thumb_func_start ContestEffect_36 -ContestEffect_36: @ 80B89A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _080B8A28 @ =gSharedMem + 0x192D0 - ldrb r2, [r0, 0x11] - adds r1, r2, r0 - ldrb r1, [r1] - mov r8, r0 - cmp r1, 0 - beq _080B8A3C - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - mov r1, r8 - subs r1, 0x70 - adds r0, r1 - ldrh r0, [r0, 0x6] - mov r9, r0 - movs r4, 0 - mov r6, r8 - ldr r0, _080B8A2C @ =gContestMoves - mov r12, r0 - movs r7, 0 -_080B89D4: - ldrb r2, [r6, 0x11] - adds r0, r2, r6 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r4, r6 - ldrb r1, [r1] - cmp r0, r1 - bne _080B8A34 - mov r1, r9 - lsls r0, r1, 3 - mov r1, r12 - adds r3, r0, r1 - ldrb r1, [r3, 0x1] - lsls r1, 29 - mov r5, r8 - subs r5, 0x70 - adds r0, r7, r5 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r12 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r1, r0 - beq _080B8A34 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r5 - ldr r2, _080B8A30 @ =gContestEffects - ldrb r0, [r3] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldrb r0, [r6, 0x11] - movs r1, 0x20 - bl sub_80B13EC - b _080B8A3C - .align 2, 0 -_080B8A28: .4byte gSharedMem + 0x192D0 -_080B8A2C: .4byte gContestMoves -_080B8A30: .4byte gContestEffects -_080B8A34: - adds r7, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080B89D4 -_080B8A3C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffect_36 - - thumb_func_start ContestEffect_37 -ContestEffect_37: @ 80B8A48 - push {r4-r7,lr} - ldr r1, _080B8A94 @ =gSharedMem + 0x192D0 - ldrb r0, [r1, 0x11] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080B8AB0 - movs r5, 0 - adds r4, r1, 0 - adds r6, r4, 0 - subs r6, 0x70 - adds r7, r6, 0 -_080B8A60: - ldrb r2, [r4, 0x11] - adds r0, r2, r4 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r5, r4 - ldrb r1, [r1] - cmp r0, r1 - bne _080B8AA8 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r2, r0, r7 - movs r0, 0x2 - ldrsh r1, [r2, r0] - movs r3, 0x2 - ldrsh r0, [r6, r3] - cmp r1, r0 - ble _080B8A98 - adds r0, r1, 0 - lsls r0, 1 - strh r0, [r2, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0x21 - bl sub_80B13EC - b _080B8AA8 - .align 2, 0 -_080B8A94: .4byte gSharedMem + 0x192D0 -_080B8A98: - cmp r1, r0 - bge _080B8AA8 - movs r0, 0 - strh r0, [r2, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0x22 - bl sub_80B13EC -_080B8AA8: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080B8A60 -_080B8AB0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffect_37 - - thumb_func_start ContestEffect_38 -ContestEffect_38: @ 80B8AB8 - push {r4,r5,lr} - ldr r4, _080B8AFC @ =gSharedMem + 0x192D0 - ldrb r2, [r4, 0x11] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r5, r4, 0 - subs r5, 0x70 - adds r1, r0, r5 - ldrb r3, [r1, 0xD] - movs r0, 0xD - ldrsb r0, [r1, r0] - cmp r0, 0x1D - bgt _080B8B00 - adds r0, r3, 0 - adds r0, 0xA - strb r0, [r1, 0xD] - ldrb r1, [r4, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r2, [r0, 0x10] - movs r1, 0x31 - negs r1, r1 - ands r1, r2 - movs r2, 0x10 - orrs r1, r2 - strb r1, [r0, 0x10] - ldrb r0, [r4, 0x11] - movs r1, 0x23 - bl sub_80B13EC - b _080B8B08 - .align 2, 0 -_080B8AFC: .4byte gSharedMem + 0x192D0 -_080B8B00: - adds r0, r2, 0 - movs r1, 0x3A - bl sub_80B13EC -_080B8B08: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ContestEffect_38 - - thumb_func_start ContestEffect_39 -ContestEffect_39: @ 80B8B10 - push {r4,lr} - ldr r3, _080B8B48 @ =gSharedMem + 0x192D0 - ldrb r1, [r3, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r4, r3, 0 - subs r4, 0x70 - adds r0, r4 - ldrb r1, [r0, 0x11] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r1, [r3, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080B8B4C - adds r0, r1, 0 - movs r1, 0x24 - bl sub_80B13EC - b _080B8B54 - .align 2, 0 -_080B8B48: .4byte gSharedMem + 0x192D0 -_080B8B4C: - adds r0, r1, 0 - movs r1, 0x3B - bl sub_80B13EC -_080B8B54: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ContestEffect_39 - - thumb_func_start ContestEffect_40 -ContestEffect_40: @ 80B8B5C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r1, _080B8BE4 @ =gSharedMem + 0x19204 - ldrb r0, [r1, 0x1] - cmp r0, 0x4 - bne _080B8B6E - b _080B8C76 -_080B8B6E: - movs r6, 0 - adds r7, r1, 0 - adds r7, 0xCC - adds r3, r1, 0 - adds r3, 0x5C -_080B8B78: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r2, r0, r1 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x19] - strb r0, [r2] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080B8B78 - ldrb r0, [r7, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0 - mov r12, r7 - movs r4, 0x70 - negs r4, r4 - adds r4, r7 - mov r8, r4 -_080B8BAE: - movs r5, 0 -_080B8BB0: - lsls r0, r5, 24 - asrs r2, r0, 24 - mov r0, r12 - ldrb r0, [r0, 0x11] - cmp r2, r0 - beq _080B8BE8 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r1, sp - adds r4, r1, r2 - ldrb r0, [r4] - cmp r3, r0 - bne _080B8BE8 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r8 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080B8BE8 - adds r0, r3, 0x1 - strb r0, [r4] - b _080B8BF8 - .align 2, 0 -_080B8BE4: .4byte gSharedMem + 0x19204 -_080B8BE8: - lsls r0, r5, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080B8BB0 -_080B8BF8: - cmp r5, 0x4 - beq _080B8C0C - lsls r0, r6, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080B8BAE -_080B8C0C: - ldrb r0, [r7, 0x11] - mov r4, sp - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldrb r0, [r7, 0x11] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r3, r7, 0 - subs r3, 0x70 - adds r1, r3 - ldrb r2, [r1, 0x10] - movs r0, 0x3F - ands r0, r2 - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1, 0x10] - movs r6, 0 -_080B8C32: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080B8C32 - ldrb r0, [r7, 0x11] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r0, r7, 0 - subs r0, 0x70 - adds r1, r0 - ldrb r2, [r1, 0x11] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1, 0x11] - ldrb r0, [r7, 0x11] - movs r1, 0x25 - bl sub_80B13EC -_080B8C76: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffect_40 - - thumb_func_start ContestEffect_41 -ContestEffect_41: @ 80B8C84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r1, _080B8D14 @ =gSharedMem + 0x19204 - ldrb r0, [r1, 0x1] - cmp r0, 0x4 - bne _080B8C98 - b _080B8DA6 -_080B8C98: - movs r6, 0 - adds r7, r1, 0 - adds r7, 0xCC - adds r3, r1, 0 - adds r3, 0x5C -_080B8CA2: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r2, r0, r1 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x19] - strb r0, [r2] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080B8CA2 - ldrb r0, [r7, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0x3 - mov r12, r7 - movs r4, 0x70 - negs r4, r4 - adds r4, r7 - mov r8, r4 - movs r0, 0x1 - negs r0, r0 - mov r9, r0 -_080B8CDE: - movs r5, 0 -_080B8CE0: - lsls r0, r5, 24 - asrs r2, r0, 24 - mov r1, r12 - ldrb r1, [r1, 0x11] - cmp r2, r1 - beq _080B8D18 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r0, sp - adds r4, r0, r2 - ldrb r1, [r4] - cmp r3, r1 - bne _080B8D18 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r8 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080B8D18 - subs r0, r3, 0x1 - strb r0, [r4] - b _080B8D28 - .align 2, 0 -_080B8D14: .4byte gSharedMem + 0x19204 -_080B8D18: - lsls r0, r5, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080B8CE0 -_080B8D28: - cmp r5, 0x4 - beq _080B8D3C - lsls r0, r6, 24 - movs r4, 0xFF - lsls r4, 24 - adds r0, r4 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, r9 - bgt _080B8CDE -_080B8D3C: - ldrb r0, [r7, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0x3 - strb r0, [r1] - ldrb r0, [r7, 0x11] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r3, r7, 0 - subs r3, 0x70 - adds r1, r3 - ldrb r2, [r1, 0x10] - movs r0, 0x3F - ands r0, r2 - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1, 0x10] - movs r6, 0 -_080B8D62: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080B8D62 - ldrb r0, [r7, 0x11] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r0, r7, 0 - subs r0, 0x70 - adds r1, r0 - ldrb r2, [r1, 0x11] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1, 0x11] - ldrb r0, [r7, 0x11] - movs r1, 0x26 - bl sub_80B13EC -_080B8DA6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffect_41 - - thumb_func_start ContestEffect_42 -ContestEffect_42: @ 80B8DB4 - bx lr - thumb_func_end ContestEffect_42 - - thumb_func_start ContestEffect_43 -ContestEffect_43: @ 80B8DB8 - push {r4-r7,lr} - sub sp, 0x8 - ldr r1, _080B8E30 @ =gSharedMem + 0x19204 - ldrb r0, [r1, 0x1] - cmp r0, 0x4 - beq _080B8EAE - movs r6, 0 - add r3, sp, 0x4 - adds r5, r1, 0 - adds r5, 0x5C - adds r4, r3, 0 -_080B8DCE: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r2, r0, r1 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x19] - strb r0, [r2] - adds r0, r4, r1 - strb r6, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080B8DCE - movs r6, 0 - adds r7, r3, 0 -_080B8DF6: - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r2, r6, 24 - asrs r2, 24 - movs r1, 0x4 - subs r1, r2 - bl __modsi3 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0 -_080B8E10: - lsls r0, r1, 24 - asrs r2, r0, 24 - adds r3, r7, r2 - ldrb r1, [r3] - adds r5, r0, 0 - cmp r1, 0xFF - beq _080B8E3A - cmp r4, 0 - bne _080B8E34 - mov r1, sp - adds r0, r1, r2 - strb r6, [r0] - movs r0, 0xFF - strb r0, [r3] - b _080B8E48 - .align 2, 0 -_080B8E30: .4byte gSharedMem + 0x19204 -_080B8E34: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080B8E3A: - movs r3, 0x80 - lsls r3, 17 - adds r0, r5, r3 - lsrs r1, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080B8E10 -_080B8E48: - lsls r0, r6, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080B8DF6 - movs r6, 0 - ldr r4, _080B8EB8 @ =gSharedMem + 0x192D0 - adds r7, r4, 0 - subs r7, 0x70 - movs r3, 0x3F - mov r12, r3 - movs r5, 0x80 -_080B8E66: - lsls r2, r6, 24 - asrs r2, 24 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r7 - mov r3, sp - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1, 0x19] - ldrb r3, [r1, 0x10] - mov r0, r12 - ands r0, r3 - orrs r0, r5 - strb r0, [r1, 0x10] - adds r2, 0x1 - lsls r2, 24 - lsrs r6, r2, 24 - asrs r2, 24 - cmp r2, 0x3 - ble _080B8E66 - ldrb r1, [r4, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r4, 0 - subs r1, 0x70 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r0, [r4, 0x11] - movs r1, 0x27 - bl sub_80B13EC -_080B8EAE: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8EB8: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_43 - - thumb_func_start ContestEffect_44 -ContestEffect_44: @ 80B8EBC - push {lr} - ldr r3, _080B8EF0 @ =gContestMoves - ldr r1, _080B8EF4 @ =gSharedMem + 0x192D0 - ldrb r2, [r1, 0x11] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - subs r1, 0x70 - adds r2, r0, r1 - ldrh r0, [r2, 0x6] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 29 - ldr r1, _080B8EF8 @ =gSpecialVar_ContestCategory - lsrs r0, 29 - ldrh r1, [r1] - cmp r0, r1 - beq _080B8EEA - ldrb r0, [r2, 0x11] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x11] -_080B8EEA: - pop {r0} - bx r0 - .align 2, 0 -_080B8EF0: .4byte gContestMoves -_080B8EF4: .4byte gSharedMem + 0x192D0 -_080B8EF8: .4byte gSpecialVar_ContestCategory - thumb_func_end ContestEffect_44 - - thumb_func_start ContestEffect_45 -ContestEffect_45: @ 80B8EFC - push {r4-r7,lr} - movs r7, 0 - movs r5, 0 - ldr r4, _080B8F34 @ =gSharedMem + 0x192D0 - movs r6, 0 -_080B8F06: - ldrb r0, [r4, 0x11] - adds r0, r4 - adds r1, r5, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B8F52 - adds r0, r4, 0 - subs r0, 0x70 - adds r1, r6, r0 - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, 0 - ble _080B8F38 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x4] - movs r1, 0x4 - ldrsh r0, [r4, r1] - bl sub_80B9268 - b _080B8F3A - .align 2, 0 -_080B8F34: .4byte gSharedMem + 0x192D0 -_080B8F38: - movs r0, 0xA -_080B8F3A: - strh r0, [r4, 0x4] - strb r5, [r4, 0x8] - movs r0, 0xFF - strb r0, [r4, 0x9] - bl sub_80B9120 - lsls r0, 24 - cmp r0, 0 - beq _080B8F52 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080B8F52: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080B8F06 - cmp r7, 0 - bne _080B8F68 - ldr r0, _080B8F78 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B8F68: - ldr r0, _080B8F78 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80B13EC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8F78: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_45 - - thumb_func_start ContestEffect_46 -ContestEffect_46: @ 80B8F7C - push {r4,lr} - ldr r0, _080B8F98 @ =gSharedMem + 0x19204 - movs r1, 0x13 - ldrsb r1, [r0, r1] - cmp r1, 0 - bne _080B8F9C - movs r4, 0xA - adds r0, 0xCC - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80B13EC - b _080B8FDE - .align 2, 0 -_080B8F98: .4byte gSharedMem + 0x19204 -_080B8F9C: - cmp r1, 0x1 - bne _080B8FAE - movs r4, 0x14 - adds r0, 0xCC - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80B13EC - b _080B8FDE -_080B8FAE: - cmp r1, 0x2 - bne _080B8FC0 - movs r4, 0x1E - adds r0, 0xCC - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80B13EC - b _080B8FDE -_080B8FC0: - cmp r1, 0x3 - bne _080B8FD2 - movs r4, 0x32 - adds r0, 0xCC - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80B13EC - b _080B8FDE -_080B8FD2: - movs r4, 0x3C - adds r0, 0xCC - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80B13EC -_080B8FDE: - ldr r0, _080B8FF4 @ =gSharedMem + 0x192D0 - ldrb r2, [r0, 0x11] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - subs r0, 0x70 - adds r1, r0 - strh r4, [r1, 0x2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B8FF4: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_46 - - thumb_func_start ContestEffect_47 -ContestEffect_47: @ 80B8FF8 - push {lr} - ldr r3, _080B9034 @ =gSharedMem + 0x19328 - ldrb r2, [r3, 0x1] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _080B902E - movs r0, 0x1 - orrs r2, r0 - movs r0, 0x58 - negs r0, r0 - adds r0, r3 - mov r12, r0 - ldrb r1, [r0, 0x11] - movs r0, 0x7 - ands r0, r1 - lsls r0, 1 - movs r1, 0xF - negs r1, r1 - ands r2, r1 - orrs r2, r0 - strb r2, [r3, 0x1] - mov r1, r12 - ldrb r0, [r1, 0x11] - movs r1, 0x3D - bl sub_80B13EC -_080B902E: - pop {r0} - bx r0 - .align 2, 0 -_080B9034: .4byte gSharedMem + 0x19328 - thumb_func_end ContestEffect_47 - - thumb_func_start sub_80B9038 -sub_80B9038: @ 80B9038 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - movs r5, 0 - ldr r4, _080B907C @ =gSharedMem + 0x192D0 - ldr r0, _080B9080 @ =gContestMoves - mov r9, r0 - movs r6, 0 -_080B9052: - ldrb r0, [r4, 0x11] - adds r0, r4 - adds r1, r5, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B909A - adds r0, r4, 0 - subs r0, 0x70 - adds r0, r6, r0 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r9 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - cmp r8, r0 - bne _080B9084 - movs r0, 0x28 - b _080B9086 - .align 2, 0 -_080B907C: .4byte gSharedMem + 0x192D0 -_080B9080: .4byte gContestMoves -_080B9084: - movs r0, 0xA -_080B9086: - strh r0, [r4, 0x4] - strb r5, [r4, 0x8] - movs r0, 0xFF - strb r0, [r4, 0x9] - bl sub_80B9120 - lsls r0, 24 - cmp r0, 0 - beq _080B909A - adds r7, 0x1 -_080B909A: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080B9052 - cmp r7, 0 - bne _080B90B0 - ldr r0, _080B90BC @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80B1404 -_080B90B0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B90BC: .4byte gSharedMem + 0x192D0 - thumb_func_end sub_80B9038 - - thumb_func_start sub_80B90C0 -sub_80B90C0: @ 80B90C0 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080B90EC @ =gSharedMem + 0x192D0 - adds r0, r2, 0 - adds r0, 0xD - adds r0, r3, r0 - movs r1, 0x1 - strb r1, [r0] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - subs r2, 0x70 - adds r2, r0, r2 - ldrb r1, [r2, 0x10] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080B90F0 - adds r0, r3, 0 - movs r1, 0x2D - b _080B9116 - .align 2, 0 -_080B90EC: .4byte gSharedMem + 0x192D0 -_080B90F0: - ldrb r0, [r2, 0x12] - cmp r0, 0 - bne _080B910E - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B911A - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080B911A - movs r0, 0x1 - b _080B911C -_080B910E: - subs r0, 0x1 - strb r0, [r2, 0x12] - adds r0, r3, 0 - movs r1, 0x2C -_080B9116: - bl sub_80B13EC -_080B911A: - movs r0, 0 -_080B911C: - pop {r1} - bx r1 - thumb_func_end sub_80B90C0 - - thumb_func_start sub_80B9120 -sub_80B9120: @ 80B9120 - push {r4-r7,lr} - sub sp, 0xC - mov r0, sp - movs r1, 0 - movs r2, 0x8 - bl memset - movs r7, 0 - ldr r1, _080B918C @ =gSharedMem + 0x192D0 - ldrb r0, [r1, 0x8] - cmp r0, 0xFF - beq _080B91D8 - adds r5, r1, 0 -_080B913A: - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r7, r0 - ldrb r4, [r0] - adds r6, r4, 0 - adds r0, r4, 0 - str r1, [sp, 0x8] - bl sub_80B90C0 - lsls r0, 24 - ldr r1, [sp, 0x8] - cmp r0, 0 - beq _080B91C8 - ldrh r0, [r1, 0x4] - strh r0, [r1, 0x6] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - subs r1, 0x70 - adds r2, r0, r1 - ldrb r1, [r2, 0x10] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080B9174 - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - strh r0, [r5, 0x6] -_080B9174: - ldrb r0, [r2, 0x10] - movs r3, 0x1 - ands r3, r0 - cmp r3, 0 - beq _080B9190 - movs r0, 0xA - strh r0, [r5, 0x6] - adds r0, r4, 0 - movs r1, 0x2F - bl sub_80B13EC - b _080B91C8 - .align 2, 0 -_080B918C: .4byte gSharedMem + 0x192D0 -_080B9190: - ldrb r1, [r2, 0xF] - ldrh r0, [r5, 0x6] - subs r0, r1 - adds r1, r0, 0 - strh r0, [r5, 0x6] - lsls r0, 16 - cmp r0, 0 - bgt _080B91AC - strh r3, [r5, 0x6] - adds r0, r4, 0 - movs r1, 0x2E - bl sub_80B13EC - b _080B91C8 -_080B91AC: - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_80B9200 - ldrb r1, [r5, 0x6] - adds r0, r6, 0 - bl sub_80B141C - lsls r0, r6, 1 - mov r2, sp - adds r1, r2, r0 - ldrh r0, [r5, 0x6] - strh r0, [r1] -_080B91C8: - adds r7, 0x1 - ldr r1, _080B91E8 @ =gSharedMem + 0x192D0 - adds r0, r1, 0 - adds r0, 0x8 - adds r0, r7, r0 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080B913A -_080B91D8: - movs r7, 0 - mov r1, sp -_080B91DC: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080B91EC - movs r0, 0x1 - b _080B91F6 - .align 2, 0 -_080B91E8: .4byte gSharedMem + 0x192D0 -_080B91EC: - adds r1, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _080B91DC - movs r0, 0 -_080B91F6: - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B9120 - - thumb_func_start sub_80B9200 -sub_80B9200: @ 80B9200 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - ldr r0, _080B9220 @ =gSharedMem + 0x19260 - adds r2, r0 - ldrh r0, [r2, 0x2] - subs r0, r1 - strh r0, [r2, 0x2] - ldrb r0, [r2, 0xE] - adds r1, r0 - strb r1, [r2, 0xE] - bx lr - .align 2, 0 -_080B9220: .4byte gSharedMem + 0x19260 - thumb_func_end sub_80B9200 - - thumb_func_start sub_80B9224 -sub_80B9224: @ 80B9224 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080B9234 - negs r0, r4 -_080B9234: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r4, 0 - bge _080B9252 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080B925C - adds r0, r4, 0 - subs r0, 0xA - adds r0, r1, r0 - b _080B9258 -_080B9252: - lsls r0, 16 - asrs r0, 16 - subs r0, r4, r0 -_080B9258: - lsls r0, 16 - lsrs r5, r0, 16 -_080B925C: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B9224 - - thumb_func_start sub_80B9268 -sub_80B9268: @ 80B9268 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080B9278 - negs r0, r4 -_080B9278: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080B9290 - adds r0, r4, 0 - adds r0, 0xA - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_080B9290: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B9268 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s index eaa61e7eb..d9e10324b 100644 --- a/asm/contest_link_80C2020.s +++ b/asm/contest_link_80C2020.s @@ -5,6 +5,305 @@ .text + thumb_func_start sub_80C3158 +sub_80C3158: @ 80C3158 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + mov r9, r0 + lsls r1, 24 + lsrs r1, 24 + lsls r2, r1, 4 + adds r2, r1 + lsls r2, 2 + ldr r3, _080C32C0 @ =gSprites + adds r2, r3 + mov r1, sp + ldrh r0, [r2, 0x4] + lsls r0, 22 + lsrs r0, 22 + strh r0, [r1] + mov r4, sp + movs r0, 0x2E + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0, 0x4] + lsls r0, 22 + lsrs r0, 22 + strh r0, [r4, 0x2] + movs r0, 0x30 + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0, 0x4] + lsls r0, 22 + lsrs r0, 22 + strh r0, [r4, 0x4] + movs r0, 0x32 + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldrh r0, [r0, 0x4] + lsls r0, 22 + lsrs r0, 22 + strh r0, [r4, 0x6] + ldr r1, _080C32C4 @ =gWindowTemplate_81E7278 + mov r8, r1 + ldr r7, _080C32C8 @ =0x06010000 + ldr r2, _080C32CC @ =0x040000d4 + ldr r6, _080C32D0 @ =0x85000100 + mov r1, sp + movs r5, 0 + add r3, sp, 0x8 + movs r4, 0x3 +_080C31CE: + ldrh r0, [r1] + lsls r0, 5 + adds r0, r7 + str r5, [sp, 0x8] + str r3, [r2] + str r0, [r2, 0x4] + str r6, [r2, 0x8] + ldr r0, [r2, 0x8] + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080C31CE + mov r0, r8 + mov r1, r9 + bl Text_GetStringWidthFromWindowTemplate + lsls r0, 24 + lsrs r5, r0, 24 + ldr r2, _080C32D4 @ =gDisplayedStringBattle + ldr r1, _080C32D8 @ =gUnknown_083D17E2 + adds r0, r2, 0 + bl StringCopy + adds r2, r0, 0 + mvns r0, r5 + adds r1, r0, 0x1 + movs r0, 0x7 + ands r1, r0 + cmp r1, 0 + beq _080C3218 + movs r0, 0xFC + strb r0, [r2] + movs r0, 0x11 + strb r0, [r2, 0x1] + lsrs r0, r1, 1 + strb r0, [r2, 0x2] + adds r2, 0x3 +_080C3218: + adds r6, r5, 0x7 + movs r1, 0x8 + negs r1, r1 + adds r0, r1, 0 + ands r6, r0 + lsls r6, 24 + lsrs r5, r6, 24 + adds r0, r2, 0 + mov r1, r9 + bl StringCopy + adds r2, r0, 0 + movs r0, 0xFC + strb r0, [r2] + movs r0, 0x13 + strb r0, [r2, 0x1] + strb r5, [r2, 0x2] + movs r0, 0xFF + strb r0, [r2, 0x3] + ldr r0, _080C32DC @ =gSharedMem + 0x18068 + mov r10, r0 + ldr r1, _080C32D4 @ =gDisplayedStringBattle + bl sub_80034D4 + mov r0, sp + ldrh r4, [r0] + lsls r4, 5 + ldr r1, _080C32C8 @ =0x06010000 + adds r7, r4, r1 + ldr r0, _080C32E0 @ =gUnknown_083D1624 + mov r9, r0 + ldr r1, _080C32E4 @ =REG_BG0CNT + mov r8, r1 + adds r1, r7, 0 + mov r2, r8 + bl CpuSet + mov r5, r9 + adds r5, 0x80 + ldr r0, _080C32E8 @ =0x06010100 + adds r1, r4, r0 + adds r0, r5, 0 + mov r2, r8 + bl CpuSet + ldr r0, _080C32EC @ =0x06010200 + adds r1, r4, r0 + adds r0, r5, 0 + mov r2, r8 + bl CpuSet + mov r0, r9 + adds r0, 0x40 + ldr r1, _080C32F0 @ =0x06010300 + adds r4, r1 + adds r1, r4, 0 + mov r2, r8 + bl CpuSet + lsrs r5, r6, 27 + movs r4, 0 + cmp r4, r5 + bgt _080C3382 + mov r6, sp + mov r0, r10 + adds r0, 0x20 + str r0, [sp, 0xC] + mov r1, r10 + str r1, [sp, 0x10] + ldr r0, _080C32F4 @ =0x0600fd20 + str r0, [sp, 0x14] + ldr r1, _080C32F8 @ =0x0600fe20 + str r1, [sp, 0x18] + ldr r0, _080C32FC @ =0x0600ff20 + mov r10, r0 + ldr r1, _080C3300 @ =0x06010020 + mov r9, r1 +_080C32B2: + cmp r4, 0x6 + bgt _080C3304 + ldrh r0, [r6] + lsls r0, 5 + mov r1, r9 + b _080C3322 + .align 2, 0 +_080C32C0: .4byte gSprites +_080C32C4: .4byte gWindowTemplate_81E7278 +_080C32C8: .4byte 0x06010000 +_080C32CC: .4byte 0x040000d4 +_080C32D0: .4byte 0x85000100 +_080C32D4: .4byte gDisplayedStringBattle +_080C32D8: .4byte gUnknown_083D17E2 +_080C32DC: .4byte gSharedMem + 0x18068 +_080C32E0: .4byte gUnknown_083D1624 +_080C32E4: .4byte REG_BG0CNT +_080C32E8: .4byte 0x06010100 +_080C32EC: .4byte 0x06010200 +_080C32F0: .4byte 0x06010300 +_080C32F4: .4byte 0x0600fd20 +_080C32F8: .4byte 0x0600fe20 +_080C32FC: .4byte 0x0600ff20 +_080C3300: .4byte 0x06010020 +_080C3304: + cmp r4, 0xE + bgt _080C3310 + ldrh r0, [r6, 0x2] + lsls r0, 5 + mov r1, r10 + b _080C3322 +_080C3310: + cmp r4, 0x16 + bgt _080C331C + ldrh r0, [r6, 0x4] + lsls r0, 5 + ldr r1, [sp, 0x18] + b _080C3322 +_080C331C: + ldrh r0, [r6, 0x6] + lsls r0, 5 + ldr r1, [sp, 0x14] +_080C3322: + adds r7, r0, r1 + cmp r4, r5 + beq _080C3382 + ldr r0, _080C33D0 @ =gUnknown_083D16E4 + adds r1, r7, 0 + mov r2, r8 + bl CpuSet + movs r0, 0xC0 + lsls r0, 2 + adds r1, r7, r0 + ldr r0, _080C33D0 @ =gUnknown_083D16E4 + adds r0, 0x20 + mov r2, r8 + bl CpuSet + movs r0, 0x80 + lsls r0, 1 + adds r1, r7, r0 + ldr r0, [sp, 0x10] + mov r2, r8 + bl CpuSet + movs r0, 0x80 + lsls r0, 2 + adds r1, r7, r0 + ldr r0, [sp, 0xC] + mov r2, r8 + bl CpuSet + ldr r1, [sp, 0xC] + adds r1, 0x40 + str r1, [sp, 0xC] + ldr r0, [sp, 0x10] + adds r0, 0x40 + str r0, [sp, 0x10] + ldr r1, [sp, 0x14] + adds r1, 0x20 + str r1, [sp, 0x14] + ldr r0, [sp, 0x18] + adds r0, 0x20 + str r0, [sp, 0x18] + movs r1, 0x20 + add r10, r1 + add r9, r1 + adds r4, 0x1 + cmp r4, r5 + ble _080C32B2 +_080C3382: + ldr r4, _080C33D4 @ =gUnknown_083D1644 + ldr r5, _080C33D8 @ =REG_BG0CNT + adds r0, r4, 0 + adds r1, r7, 0 + adds r2, r5, 0 + bl CpuSet + adds r6, r4, 0 + adds r6, 0x80 + movs r0, 0x80 + lsls r0, 1 + adds r1, r7, r0 + adds r0, r6, 0 + adds r2, r5, 0 + bl CpuSet + movs r0, 0x80 + lsls r0, 2 + adds r1, r7, r0 + adds r0, r6, 0 + adds r2, r5, 0 + bl CpuSet + adds r4, 0x40 + movs r0, 0xC0 + lsls r0, 2 + adds r1, r7, r0 + adds r0, r4, 0 + adds r2, r5, 0 + bl CpuSet + 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 +_080C33D0: .4byte gUnknown_083D16E4 +_080C33D4: .4byte gUnknown_083D1644 +_080C33D8: .4byte REG_BG0CNT + thumb_func_end sub_80C3158 + thumb_func_start sub_80C33DC sub_80C33DC: @ 80C33DC push {r4-r6,lr} diff --git a/asm/cute_sketch.s b/asm/contest_painting_effects.s index bc72a6ef5..bc72a6ef5 100644 --- a/asm/cute_sketch.s +++ b/asm/contest_painting_effects.s diff --git a/asm/current.s b/asm/current.s deleted file mode 100644 index fa3fec58a..000000000 --- a/asm/current.s +++ /dev/null @@ -1,2389 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - @ current - - thumb_func_start sub_80D648C -sub_80D648C: @ 80D648C - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r5, _080D6500 @ =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r6, _080D6504 @ =gAnimBankTarget - ldrb r0, [r6] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl InitAnimSpriteTranslationDeltas - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x38] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x3A] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x3C] - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0xC - ldrsh r0, [r5, r3] - lsls r0, 2 - adds r1, r0 - ldr r3, _080D6508 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080D650C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r1, _080D6510 @ =sub_80D6514 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D6500: .4byte gBattleAnimArgs -_080D6504: .4byte gAnimBankTarget -_080D6508: .4byte 0x000003ff -_080D650C: .4byte 0xfffffc00 -_080D6510: .4byte sub_80D6514 - thumb_func_end sub_80D648C - - thumb_func_start sub_80D6514 -sub_80D6514: @ 80D6514 - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimSpriteByDeltas - lsls r0, 24 - cmp r0, 0 - bne _080D657E - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r2, [r4, 0x3C] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080D6584 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _080D6584 -_080D657E: - adds r0, r4, 0 - bl DestroyAnimSprite -_080D6584: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D6514 - - thumb_func_start sub_80D658C -sub_80D658C: @ 80D658C - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x38] - subs r0, 0x1 - strh r0, [r3, 0x38] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080D65C4 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x36] - strh r0, [r3, 0x38] -_080D65C4: - ldrh r0, [r3, 0x34] - subs r1, r0, 0x1 - strh r1, [r3, 0x34] - lsls r0, 16 - cmp r0, 0 - bgt _080D65D6 - adds r0, r3, 0 - bl DestroyAnimSprite -_080D65D6: - pop {r0} - bx r0 - thumb_func_end sub_80D658C - - thumb_func_start sub_80D65DC -sub_80D65DC: @ 80D65DC - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _080D6644 @ =gMain - ldr r1, _080D6648 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D65FE - ldr r0, _080D664C @ =gAnimBankTarget - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D6606 -_080D65FE: - ldr r1, _080D6650 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] -_080D6606: - ldr r5, _080D664C @ =gAnimBankTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - ldr r4, _080D6650 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x22] - ldrh r0, [r4] - strh r0, [r6, 0x34] - ldrh r0, [r4, 0x6] - strh r0, [r6, 0x36] - strh r0, [r6, 0x38] - ldr r0, _080D6654 @ =sub_80D658C - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D6644: .4byte gMain -_080D6648: .4byte 0x0000043d -_080D664C: .4byte gAnimBankTarget -_080D6650: .4byte gBattleAnimArgs -_080D6654: .4byte sub_80D658C - thumb_func_end sub_80D65DC - - thumb_func_start sub_80D6658 -sub_80D6658: @ 80D6658 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r1, _080D6674 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x2E] - movs r2, 0xE - ldrsh r0, [r1, r2] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080D667C - ldr r0, _080D6678 @ =gAnimBankTarget - b _080D667E - .align 2, 0 -_080D6674: .4byte gBattleAnimArgs -_080D6678: .4byte gAnimBankTarget -_080D667C: - ldr r0, _080D670C @ =gAnimBankAttacker -_080D667E: - ldrb r6, [r0] - ldr r0, _080D6710 @ =gMain - ldr r3, _080D6714 @ =0x0000043d - adds r0, r3 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D669C - adds r0, r6, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D66A4 -_080D669C: - ldr r1, _080D6718 @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_080D66A4: - adds r0, r6, 0 - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - ldr r4, _080D6718 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x2] - adds r0, r2 - strh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - ldr r0, _080D671C @ =0x00007fff - ands r0, r1 - strh r0, [r5, 0x36] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x38] - ldrh r0, [r4, 0xA] - strh r0, [r5, 0x3A] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x3C] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - movs r3, 0xC - ldrsh r0, [r4, r3] - lsls r0, 2 - adds r1, r0 - ldr r3, _080D6720 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080D6724 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldr r1, _080D6728 @ =sub_80D672C - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D670C: .4byte gAnimBankAttacker -_080D6710: .4byte gMain -_080D6714: .4byte 0x0000043d -_080D6718: .4byte gBattleAnimArgs -_080D671C: .4byte 0x00007fff -_080D6720: .4byte 0x000003ff -_080D6724: .4byte 0xfffffc00 -_080D6728: .4byte sub_80D672C - thumb_func_end sub_80D6658 - - thumb_func_start sub_80D672C -sub_80D672C: @ 80D672C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _080D6782 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080D6782: - ldrh r0, [r4, 0x2E] - subs r1, r0, 0x1 - strh r1, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080D6794 - adds r0, r4, 0 - bl DestroyAnimSprite -_080D6794: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D672C - - thumb_func_start sub_80D679C -sub_80D679C: @ 80D679C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8078764 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - ldr r3, _080D67D8 @ =gBattleAnimArgs - movs r5, 0x6 - ldrsh r0, [r3, r5] - lsls r0, 2 - adds r1, r0 - ldr r5, _080D67DC @ =0x000003ff - adds r0, r5, 0 - ands r1, r0 - ldr r0, _080D67E0 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - movs r1, 0x6 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _080D67E4 - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - b _080D67F2 - .align 2, 0 -_080D67D8: .4byte gBattleAnimArgs -_080D67DC: .4byte 0x000003ff -_080D67E0: .4byte 0xfffffc00 -_080D67E4: - cmp r0, 0x2 - bne _080D67F6 - ldrb r0, [r4, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x20 -_080D67F2: - orrs r1, r0 - strb r1, [r4, 0x3] -_080D67F6: - ldr r0, _080D6810 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r0, _080D6814 @ =WaitAnimForDuration - str r0, [r4, 0x1C] - ldr r1, _080D6818 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D6810: .4byte gBattleAnimArgs -_080D6814: .4byte WaitAnimForDuration -_080D6818: .4byte DestroyAnimSprite - thumb_func_end sub_80D679C - - thumb_func_start sub_80D681C -sub_80D681C: @ 80D681C - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _080D6864 @ =gAnimBankTarget - ldrb r0, [r6] - movs r1, 0 - bl GetBankPosition - ldr r1, _080D6868 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - ldr r5, _080D686C @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r4, 0x8] - ldrb r0, [r6] - movs r1, 0x1 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0xC] - ldr r0, _080D6870 @ =sub_80D6874 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D6864: .4byte gAnimBankTarget -_080D6868: .4byte gTasks -_080D686C: .4byte gBattleAnimArgs -_080D6870: .4byte sub_80D6874 - thumb_func_end sub_80D681C - - thumb_func_start sub_80D6874 -sub_80D6874: @ 80D6874 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r5, 0 - movs r7, 0 - ldr r1, _080D68B4 @ =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrb r2, [r0, 0xC] - str r2, [sp] - ldrh r4, [r0, 0x8] - ldrh r6, [r0, 0xA] - movs r3, 0xC - ldrsh r0, [r0, r3] - mov r10, r1 - cmp r0, 0 - bne _080D68B8 - movs r0, 0 - mov r8, r0 - movs r2, 0x1 - movs r1, 0x10 - mov r12, r1 - b _080D68C2 - .align 2, 0 -_080D68B4: .4byte gTasks -_080D68B8: - movs r2, 0x10 - mov r12, r2 - movs r3, 0x8 - mov r8, r3 - movs r2, 0x4 -_080D68C2: - mov r0, r9 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - add r0, r10 - movs r3, 0x1C - ldrsh r0, [r0, r3] - mov r10, r1 - cmp r0, 0xA - bhi _080D69B8 - lsls r0, 2 - ldr r1, _080D68E0 @ =_080D68E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080D68E0: .4byte _080D68E4 - .align 2, 0 -_080D68E4: - .4byte _080D6910 - .4byte _080D69B8 - .4byte _080D6924 - .4byte _080D69B8 - .4byte _080D6944 - .4byte _080D69B8 - .4byte _080D695A - .4byte _080D69B8 - .4byte _080D697C - .4byte _080D69B8 - .4byte _080D69B0 -_080D6910: - ldr r0, _080D6920 @ =gSpriteTemplate_83D9938 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - mov r4, r12 - lsls r3, r4, 16 - b _080D6992 - .align 2, 0 -_080D6920: .4byte gSpriteTemplate_83D9938 -_080D6924: - mov r0, r12 - lsls r3, r0, 17 - mov r1, r8 - adds r0, r1, r2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _080D6940 @ =gSpriteTemplate_83D9938 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - b _080D6992 - .align 2, 0 -_080D6940: .4byte gSpriteTemplate_83D9938 -_080D6944: - mov r3, r12 - lsls r0, r3, 16 - asrs r0, 16 - lsls r3, r0, 1 - adds r3, r0 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _080D6986 -_080D695A: - mov r0, r12 - lsls r3, r0, 18 - lsls r0, r2, 1 - adds r0, r2 - add r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _080D6978 @ =gSpriteTemplate_83D9938 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - b _080D6992 - .align 2, 0 -_080D6978: .4byte gSpriteTemplate_83D9938 -_080D697C: - mov r1, r12 - lsls r0, r1, 16 - asrs r0, 16 - lsls r3, r0, 2 - adds r3, r0 -_080D6986: - ldr r0, _080D69AC @ =gSpriteTemplate_83D9938 - lsls r1, r4, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - lsls r3, 16 -_080D6992: - asrs r3, 16 - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _080D69B8 - .align 2, 0 -_080D69AC: .4byte gSpriteTemplate_83D9938 -_080D69B0: - mov r0, r9 - bl DestroyAnimVisualTask - b _080D69FC -_080D69B8: - cmp r7, 0 - beq _080D69EC - ldr r4, _080D6A0C @ =gSprites - lsls r3, r5, 4 - adds r3, r5 - lsls r3, 2 - adds r0, r3, r4 - ldrh r5, [r0, 0x4] - lsls r2, r5, 22 - lsrs r2, 22 - add r2, r8 - ldr r6, _080D6A10 @ =0x000003ff - adds r1, r6, 0 - ands r2, r1 - ldr r1, _080D6A14 @ =0xfffffc00 - ands r1, r5 - orrs r1, r2 - strh r1, [r0, 0x4] - mov r1, sp - ldrh r1, [r1] - strh r1, [r0, 0x2E] - adds r4, 0x1C - adds r3, r4 - ldr r1, [r3] - bl _call_via_r1 -_080D69EC: - ldr r0, _080D6A18 @ =gTasks - mov r1, r10 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] -_080D69FC: - 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 -_080D6A0C: .4byte gSprites -_080D6A10: .4byte 0x000003ff -_080D6A14: .4byte 0xfffffc00 -_080D6A18: .4byte gTasks - thumb_func_end sub_80D6874 - - thumb_func_start sub_80D6A1C -sub_80D6A1C: @ 80D6A1C - push {lr} - adds r3, r0, 0 - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080D6A3E - ldrb r1, [r3, 0x1] - movs r2, 0x3F - adds r0, r2, 0 - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x1] - ldrb r0, [r3, 0x3] - ands r2, r0 - strb r2, [r3, 0x3] - b _080D6A52 -_080D6A3E: - ldrb r2, [r3, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0x1] - ldrb r0, [r3, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r3, 0x3] -_080D6A52: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _080D6A66 - adds r0, r3, 0 - bl DestroySprite -_080D6A66: - pop {r0} - bx r0 - thumb_func_end sub_80D6A1C - - thumb_func_start sub_80D6A6C -sub_80D6A6C: @ 80D6A6C - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _080D6AD4 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - ldr r0, _080D6AD8 @ =gBattleAnimSpriteTemplate_83D9950 - adds r1, 0x20 - lsls r1, 16 - asrs r1, 16 - movs r7, 0x22 - ldrsh r2, [r4, r7] - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080D6ADC @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r6, r2, r3 - ldrh r5, [r6, 0x4] - lsls r1, r5, 22 - lsrs r1, 22 - adds r1, 0x8 - ldr r7, _080D6AE0 @ =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, _080D6AE4 @ =0xfffffc00 - ands r0, r5 - orrs r0, r1 - strh r0, [r6, 0x4] - ldr r1, _080D6AE8 @ =gAnimVisualTaskCount - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r3, 0x1C - adds r2, r3 - ldr r0, _080D6AEC @ =sub_80D6AF0 - str r0, [r2] - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D6AD4: .4byte gBattleAnimArgs -_080D6AD8: .4byte gBattleAnimSpriteTemplate_83D9950 -_080D6ADC: .4byte gSprites -_080D6AE0: .4byte 0x000003ff -_080D6AE4: .4byte 0xfffffc00 -_080D6AE8: .4byte gAnimVisualTaskCount -_080D6AEC: .4byte sub_80D6AF0 - thumb_func_end sub_80D6A6C - - thumb_func_start sub_80D6AF0 -sub_80D6AF0: @ 80D6AF0 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080D6B24 - movs r0, 0 - strh r0, [r3, 0x2E] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_080D6B24: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080D6B38 - adds r0, r3, 0 - bl DestroyAnimSprite -_080D6B38: - pop {r0} - bx r0 - thumb_func_end sub_80D6AF0 - - thumb_func_start sub_80D6B3C -sub_80D6B3C: @ 80D6B3C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080D6B5C @ =gTasks - adds r5, r1, r0 - ldr r0, _080D6B60 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D6B68 - ldr r4, _080D6B64 @ =gAnimBankAttacker - b _080D6B6A - .align 2, 0 -_080D6B5C: .4byte gTasks -_080D6B60: .4byte gBattleAnimArgs -_080D6B64: .4byte gAnimBankAttacker -_080D6B68: - ldr r4, _080D6BAC @ =gAnimBankTarget -_080D6B6A: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x24] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x26] - ldr r2, _080D6BB0 @ =gBattleAnimArgs - ldrh r0, [r2, 0x2] - movs r1, 0 - strh r0, [r5, 0x14] - strh r1, [r5, 0x16] - strh r1, [r5, 0x18] - strh r1, [r5, 0x1A] - strh r1, [r5, 0x1C] - ldrh r0, [r2, 0x6] - strh r0, [r5, 0x1E] - strh r1, [r5, 0x20] - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x22] - ldr r0, _080D6BB4 @ =sub_80D6BB8 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D6BAC: .4byte gAnimBankTarget -_080D6BB0: .4byte gBattleAnimArgs -_080D6BB4: .4byte sub_80D6BB8 - thumb_func_end sub_80D6B3C - - thumb_func_start sub_80D6BB8 -sub_80D6BB8: @ 80D6BB8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r2, r6, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080D6CA0 @ =gTasks - adds r5, r0, r1 - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080D6CB8 - ldrh r0, [r5, 0x20] - adds r0, 0x1 - movs r7, 0 - strh r0, [r5, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x22 - ldrsh r1, [r5, r2] - cmp r0, r1 - ble _080D6CC6 - strh r7, [r5, 0x20] - ldr r0, _080D6CA4 @ =gSpriteTemplate_83D99B8 - movs r3, 0x24 - ldrsh r1, [r5, r3] - movs r3, 0x26 - ldrsh r2, [r5, r3] - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080D6CC6 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080D6CA8 @ =gSprites - adds r4, r0 - ldr r1, _080D6CAC @ =gUnknown_083D9968 - movs r2, 0x1A - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - movs r3, 0 - ldrsb r3, [r0, r3] - ldrh r0, [r4, 0x20] - adds r3, r0 - strh r3, [r4, 0x20] - movs r2, 0x1A - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - movs r2, 0 - ldrsb r2, [r0, r2] - ldrh r0, [r4, 0x22] - adds r2, r0 - strh r2, [r4, 0x22] - movs r1, 0x18 - ldrsh r0, [r5, r1] - lsls r1, r0, 2 - adds r1, r0 - movs r0, 0x28 - subs r0, r1 - strh r0, [r4, 0x2E] - strh r3, [r4, 0x30] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - ldrh r0, [r5, 0x26] - strh r0, [r4, 0x36] - strh r6, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimSpriteTranslationDeltas - ldr r1, _080D6CB0 @ =sub_80D6D00 - adds r0, r4, 0 - bl StoreSpriteCallbackInData - ldr r0, _080D6CB4 @ =sub_8078600 - str r0, [r4, 0x1C] - ldrh r0, [r5, 0x1A] - adds r0, 0x1 - strh r0, [r5, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080D6C70 - strh r7, [r5, 0x1A] -_080D6C70: - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x1E - ldrsh r1, [r5, r2] - cmp r0, r1 - blt _080D6C92 - strh r7, [r5, 0x1C] - ldrh r1, [r5, 0x18] - movs r3, 0x18 - ldrsh r0, [r5, r3] - cmp r0, 0x5 - bgt _080D6C92 - adds r0, r1, 0x1 - strh r0, [r5, 0x18] -_080D6C92: - ldrh r0, [r5, 0x16] - adds r0, 0x1 - strh r0, [r5, 0x16] - ldrh r0, [r5, 0x14] - subs r0, 0x1 - strh r0, [r5, 0x14] - b _080D6CC6 - .align 2, 0 -_080D6CA0: .4byte gTasks -_080D6CA4: .4byte gSpriteTemplate_83D99B8 -_080D6CA8: .4byte gSprites -_080D6CAC: .4byte gUnknown_083D9968 -_080D6CB0: .4byte sub_80D6D00 -_080D6CB4: .4byte sub_8078600 -_080D6CB8: - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080D6CC6 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080D6CC6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D6BB8 - - thumb_func_start sub_80D6CCC -sub_80D6CCC: @ 80D6CCC - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimSpriteByDeltas - lsls r0, 24 - cmp r0, 0 - beq _080D6CF4 - ldr r2, _080D6CFC @ =gTasks - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x16] - subs r1, 0x1 - strh r1, [r0, 0x16] - adds r0, r4, 0 - bl DestroySprite -_080D6CF4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D6CFC: .4byte gTasks - thumb_func_end sub_80D6CCC - - thumb_func_start sub_80D6D00 -sub_80D6D00: @ 80D6D00 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, _080D6D14 @ =sub_80D6CCC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D6D14: .4byte sub_80D6CCC - thumb_func_end sub_80D6D00 - - thumb_func_start sub_80D6D18 -sub_80D6D18: @ 80D6D18 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080D6D2C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D6D34 - ldr r4, _080D6D30 @ =gAnimBankAttacker - b _080D6D36 - .align 2, 0 -_080D6D2C: .4byte gBattleAnimArgs -_080D6D30: .4byte gAnimBankAttacker -_080D6D34: - ldr r4, _080D6D64 @ =gAnimBankTarget -_080D6D36: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080D6D68 @ =move_anim_8074EE0 - adds r0, r5, 0 - bl StoreSpriteCallbackInData - ldr r0, _080D6D6C @ =sub_80785E4 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D6D64: .4byte gAnimBankTarget -_080D6D68: .4byte move_anim_8074EE0 -_080D6D6C: .4byte sub_80785E4 - thumb_func_end sub_80D6D18 - - thumb_func_start sub_80D6D70 -sub_80D6D70: @ 80D6D70 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080D6D84 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D6D8C - ldr r4, _080D6D88 @ =gAnimBankAttacker - b _080D6D8E - .align 2, 0 -_080D6D84: .4byte gBattleAnimArgs -_080D6D88: .4byte gAnimBankAttacker -_080D6D8C: - ldr r4, _080D6DC8 @ =gAnimBankTarget -_080D6D8E: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080D6DCC @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x24] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x26] - ldr r1, _080D6DD0 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData - ldr r0, _080D6DD4 @ =sub_8078600 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D6DC8: .4byte gAnimBankTarget -_080D6DCC: .4byte gBattleAnimArgs -_080D6DD0: .4byte DestroyAnimSprite -_080D6DD4: .4byte sub_8078600 - thumb_func_end sub_80D6D70 - - thumb_func_start sub_80D6DD8 -sub_80D6DD8: @ 80D6DD8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r4, _080D6E30 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - movs r0, 0x10 - strh r0, [r5, 0x3C] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D6E26 - movs r1, 0x3C - ldrsh r0, [r5, r1] - negs r0, r0 - strh r0, [r5, 0x3C] -_080D6E26: - ldr r0, _080D6E34 @ =sub_80D6E38 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D6E30: .4byte gAnimBankAttacker -_080D6E34: .4byte sub_80D6E38 - thumb_func_end sub_80D6DD8 - - thumb_func_start sub_80D6E38 -sub_80D6E38: @ 80D6E38 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080D6E4A - cmp r0, 0x1 - beq _080D6E60 - b _080D6E90 -_080D6E4A: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080D6E90 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080D6E90 -_080D6E60: - ldrh r2, [r4, 0x3C] - ldrh r1, [r4, 0x20] - adds r0, r2, r1 - strh r0, [r4, 0x20] - ldr r3, _080D6E98 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - adds r2, r1 - strh r2, [r0, 0x24] - ldrh r0, [r4, 0x20] - adds r0, 0x50 - lsls r0, 16 - movs r1, 0xC8 - lsls r1, 17 - cmp r0, r1 - bls _080D6E90 - adds r0, r4, 0 - bl move_anim_8074EE0 -_080D6E90: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D6E98: .4byte gSprites - thumb_func_end sub_80D6E38 - - thumb_func_start sub_80D6E9C -sub_80D6E9C: @ 80D6E9C - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _080D6EC0 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080D6F30 - cmp r0, 0x1 - bgt _080D6EC4 - cmp r0, 0 - beq _080D6ED0 - b _080D7000 - .align 2, 0 -_080D6EC0: .4byte gTasks -_080D6EC4: - cmp r0, 0x2 - beq _080D6F8C - cmp r0, 0x3 - bne _080D6ECE - b _080D6FE0 -_080D6ECE: - b _080D7000 -_080D6ED0: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0x26] - ldr r4, _080D6F04 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x24] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D6F0C - ldr r0, _080D6F08 @ =0x0000ffe0 - strh r0, [r5, 0x24] - movs r0, 0x2 - b _080D6F12 - .align 2, 0 -_080D6F04: .4byte gAnimBankAttacker -_080D6F08: .4byte 0x0000ffe0 -_080D6F0C: - movs r0, 0x20 - strh r0, [r5, 0x24] - ldr r0, _080D6F28 @ =0x0000fffe -_080D6F12: - strh r0, [r5, 0x22] - ldr r2, _080D6F2C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r5, 0x24] - strh r1, [r0, 0x24] - b _080D6FD2 - .align 2, 0 -_080D6F28: .4byte 0x0000fffe -_080D6F2C: .4byte gSprites -_080D6F30: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D7000 - movs r0, 0 - strh r0, [r5, 0xA] - ldr r4, _080D6F88 @ =gSprites - movs r1, 0x26 - ldrsh r0, [r5, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - adds r2, 0x3E - ldrb r3, [r2] - lsls r0, r3, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrh r1, [r5, 0x24] - movs r2, 0x24 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080D6FD2 - ldrh r2, [r5, 0x22] - adds r2, r1, r2 - strh r2, [r5, 0x24] - movs r0, 0x26 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x24] - b _080D7000 - .align 2, 0 -_080D6F88: .4byte gSprites -_080D6F8C: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D7000 - movs r0, 0 - strh r0, [r5, 0xA] - ldr r1, _080D6FDC @ =gSprites - movs r2, 0x26 - ldrsh r0, [r5, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - adds r2, 0x3E - ldrb r3, [r2] - lsls r0, r3, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _080D7000 -_080D6FD2: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080D7000 - .align 2, 0 -_080D6FDC: .4byte gSprites -_080D6FE0: - ldr r2, _080D7008 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080D7000: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D7008: .4byte gSprites - thumb_func_end sub_80D6E9C - - thumb_func_start sub_80D700C -sub_80D700C: @ 80D700C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080D7030 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080D7026 - b _080D714C -_080D7026: - cmp r0, 0x1 - bgt _080D7034 - cmp r0, 0 - beq _080D703C - b _080D718E - .align 2, 0 -_080D7030: .4byte gTasks -_080D7034: - cmp r0, 0x2 - bne _080D703A - b _080D7180 -_080D703A: - b _080D718E -_080D703C: - ldr r4, _080D707C @ =gAnimBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080D7052 - movs r1, 0x1 -_080D7052: - movs r6, 0 - strh r1, [r5, 0xA] - ldr r0, _080D7080 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r2, [r0, r1] - adds r3, r0, 0 - cmp r2, 0 - beq _080D7088 - cmp r2, 0x4 - beq _080D70B0 - ldrh r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D70E8 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0xE] - ldr r0, _080D7084 @ =0x0000fff0 - b _080D70F0 - .align 2, 0 -_080D707C: .4byte gAnimBankAttacker -_080D7080: .4byte gBattleAnimArgs -_080D7084: .4byte 0x0000fff0 -_080D7088: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xE] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 7 - adds r0, 0x78 - strh r0, [r5, 0x10] - b _080D7126 -_080D70B0: - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r1, 7 - movs r0, 0x78 - subs r0, r1 - strh r0, [r5, 0xE] - ldr r4, _080D70E4 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xA - ldrsh r1, [r5, r2] - lsls r1, 5 - subs r0, r1 - strh r0, [r5, 0x10] - b _080D7126 - .align 2, 0 -_080D70E4: .4byte gAnimBankTarget -_080D70E8: - ldr r0, _080D710C @ =0x0000fff0 - strh r0, [r5, 0xE] - movs r0, 0x80 - lsls r0, 1 -_080D70F0: - strh r0, [r5, 0x10] - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080D7110 - movs r2, 0 - ldrsh r0, [r3, r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - movs r0, 0x50 - subs r0, r1 - strh r0, [r5, 0x12] - b _080D7126 - .align 2, 0 -_080D710C: .4byte 0x0000fff0 -_080D7110: - movs r0, 0 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x28 - strh r0, [r5, 0x12] - ldrh r1, [r5, 0xE] - ldrh r0, [r5, 0x10] - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] -_080D7126: - movs r2, 0xE - ldrsh r1, [r5, r2] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r1, r0 - bge _080D713C - movs r1, 0 - movs r0, 0x1 - strh r0, [r5, 0xA] - strh r1, [r5, 0x14] - b _080D7178 -_080D713C: - ldr r0, _080D7148 @ =0x0000ffff - strh r0, [r5, 0xA] - movs r0, 0x3 - strh r0, [r5, 0x14] - b _080D7178 - .align 2, 0 -_080D7148: .4byte 0x0000ffff -_080D714C: - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - ble _080D718E - movs r0, 0 - strh r0, [r5, 0xC] - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80D7194 - lsls r0, 24 - cmp r0, 0 - bne _080D7178 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80D7194 - lsls r0, 24 - cmp r0, 0 - beq _080D718E -_080D7178: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080D718E -_080D7180: - movs r1, 0x16 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080D718E - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080D718E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D700C - - thumb_func_start sub_80D7194 -sub_80D7194: @ 80D7194 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080D7220 @ =gSpriteTemplate_83D9B10 - movs r2, 0xE - ldrsh r1, [r4, r2] - movs r3, 0x12 - ldrsh r2, [r4, r3] - movs r3, 0x23 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080D71CA - ldr r1, _080D7224 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - strh r5, [r0, 0x3A] - movs r1, 0x7 - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_080D71CA: - ldrh r1, [r4, 0xA] - ldrh r5, [r4, 0x14] - adds r0, r1, r5 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bge _080D71DC - movs r0, 0x3 - strh r0, [r4, 0x14] -_080D71DC: - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - ble _080D71E8 - movs r0, 0 - strh r0, [r4, 0x14] -_080D71E8: - movs r3, 0xA - ldrsh r0, [r4, r3] - lsls r0, 4 - ldrh r5, [r4, 0xE] - adds r2, r0, r5 - strh r2, [r4, 0xE] - lsls r0, r1, 16 - asrs r3, r0, 16 - cmp r3, 0x1 - bne _080D7208 - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0x10 - ldrsh r1, [r4, r5] - cmp r0, r1 - bge _080D721C -_080D7208: - movs r0, 0x1 - negs r0, r0 - cmp r3, r0 - bne _080D7228 - lsls r0, r2, 16 - asrs r0, 16 - movs r2, 0x10 - ldrsh r1, [r4, r2] - cmp r0, r1 - bgt _080D7228 -_080D721C: - movs r0, 0x1 - b _080D722A - .align 2, 0 -_080D7220: .4byte gSpriteTemplate_83D9B10 -_080D7224: .4byte gSprites -_080D7228: - movs r0, 0 -_080D722A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80D7194 - - thumb_func_start sub_80D7230 -sub_80D7230: @ 80D7230 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080D7270 - ldr r3, _080D7278 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite -_080D7270: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D7278: .4byte gTasks - thumb_func_end sub_80D7230 - - thumb_func_start sub_80D727C -sub_80D727C: @ 80D727C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080D728E - cmp r0, 0x1 - beq _080D72C0 - b _080D72D4 -_080D728E: - ldr r4, _080D72BC @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080D72D4 - .align 2, 0 -_080D72BC: .4byte gAnimBankAttacker -_080D72C0: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D72D4 - adds r0, r5, 0 - bl move_anim_8074EE0 -_080D72D4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80D727C - - thumb_func_start sub_80D72DC -sub_80D72DC: @ 80D72DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080D7300 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080D72F6 - b _080D7468 -_080D72F6: - lsls r0, 2 - ldr r1, _080D7304 @ =_080D7308 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080D7300: .4byte gTasks -_080D7304: .4byte _080D7308 - .align 2, 0 -_080D7308: - .4byte _080D731C - .4byte _080D73AC - .4byte _080D73E8 - .4byte _080D7444 - .4byte _080D7454 -_080D731C: - ldr r4, _080D73A0 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x16] - movs r0, 0x4 - strh r0, [r5, 0x18] - ldr r0, _080D73A4 @ =gAnimBankTarget - ldrb r0, [r0] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x1C] - movs r2, 0x1C - ldrsh r0, [r5, r2] - movs r2, 0x14 - ldrsh r1, [r5, r2] - subs r0, r1 - movs r1, 0x5 - bl __divsi3 - strh r0, [r5, 0x1A] - movs r0, 0x7 - strh r0, [r5, 0x10] - ldr r0, _080D73A8 @ =0x0000ffff - strh r0, [r5, 0x12] - movs r0, 0xC - strh r0, [r5, 0x1E] - subs r0, 0x4C - bl BattleAnimAdjustPanning - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0x20] - movs r0, 0x3F - bl BattleAnimAdjustPanning - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0x22] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x24] - movs r1, 0x22 - ldrsh r0, [r5, r1] - movs r2, 0x20 - ldrsh r1, [r5, r2] - subs r0, r1 - movs r1, 0x3 - bl __divsi3 - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - b _080D7466 - .align 2, 0 -_080D73A0: .4byte gAnimBankAttacker -_080D73A4: .4byte gAnimBankTarget -_080D73A8: .4byte 0x0000ffff -_080D73AC: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - ble _080D73DC - movs r0, 0 - strh r0, [r5, 0xA] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80D7470 - lsls r0, 24 - cmp r0, 0 - beq _080D73DC - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x5 - bne _080D73D6 - movs r0, 0x3 - b _080D73DA -_080D73D6: - ldrh r0, [r5, 0x8] - adds r0, 0x1 -_080D73DA: - strh r0, [r5, 0x8] -_080D73DC: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080D7468 - b _080D745E -_080D73E8: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080D73F6 - subs r0, r1, 0x1 - strh r0, [r5, 0x1E] -_080D73F6: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - movs r3, 0 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080D7468 - strh r3, [r5, 0xA] - ldrh r1, [r5, 0xC] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080D7422 - movs r0, 0x4 - strh r0, [r5, 0x16] - movs r0, 0x44 - strh r0, [r5, 0x18] - strh r3, [r5, 0x10] - strh r2, [r5, 0x12] - b _080D7432 -_080D7422: - movs r0, 0x44 - strh r0, [r5, 0x16] - movs r0, 0x4 - strh r0, [r5, 0x18] - movs r0, 0x7 - strh r0, [r5, 0x10] - ldr r0, _080D7440 @ =0x0000ffff - strh r0, [r5, 0x12] -_080D7432: - movs r1, 0x1E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080D7464 - movs r0, 0x4 - b _080D7466 - .align 2, 0 -_080D7440: .4byte 0x0000ffff -_080D7444: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080D7468 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080D7468 -_080D7454: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080D7464 -_080D745E: - subs r0, r1, 0x1 - strh r0, [r5, 0x1E] - b _080D7468 -_080D7464: - movs r0, 0x1 -_080D7466: - strh r0, [r5, 0x8] -_080D7468: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80D72DC - - thumb_func_start sub_80D7470 -sub_80D7470: @ 80D7470 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080D7538 @ =gSpriteTemplate_83D9B40 - movs r2, 0x14 - ldrsh r1, [r4, r2] - movs r3, 0x16 - ldrsh r2, [r4, r3] - movs r3, 0x23 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080D74DC - ldr r1, _080D753C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - ldrh r6, [r4, 0x10] - adds r1, r6 - ldr r6, _080D7540 @ =0x000003ff - adds r0, r6, 0 - ands r1, r0 - ldr r0, _080D7544 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _080D74C4 - movs r0, 0x7 - strh r0, [r4, 0x10] -_080D74C4: - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0x7 - ble _080D74D0 - movs r0, 0 - strh r0, [r4, 0x10] -_080D74D0: - strh r5, [r3, 0x3A] - movs r0, 0x3 - strh r0, [r3, 0x3C] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] -_080D74DC: - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080D74FE - movs r5, 0x12 - ldrsh r0, [r4, r5] - cmp r0, 0 - ble _080D74FE - ldrh r1, [r4, 0x26] - ldrh r6, [r4, 0x24] - adds r1, r6 - strh r1, [r4, 0x24] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x76 - bl PlaySE12WithPanning -_080D74FE: - movs r0, 0x12 - ldrsh r3, [r4, r0] - ldrh r2, [r4, 0x16] - cmp r3, 0 - bge _080D7514 - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0x18 - ldrsh r1, [r4, r5] - cmp r0, r1 - ble _080D7524 -_080D7514: - cmp r3, 0 - ble _080D7548 - lsls r0, r2, 16 - asrs r0, 16 - movs r6, 0x18 - ldrsh r1, [r4, r6] - cmp r0, r1 - blt _080D7548 -_080D7524: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x1A] - ldrh r1, [r4, 0x14] - adds r0, r1 - strh r0, [r4, 0x14] - movs r0, 0x1 - b _080D7554 - .align 2, 0 -_080D7538: .4byte gSpriteTemplate_83D9B40 -_080D753C: .4byte gSprites -_080D7540: .4byte 0x000003ff -_080D7544: .4byte 0xfffffc00 -_080D7548: - movs r3, 0x12 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r0, r2, r0 - strh r0, [r4, 0x16] - movs r0, 0 -_080D7554: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80D7470 - - thumb_func_start sub_80D755C -sub_80D755C: @ 80D755C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080D7592 - ldr r3, _080D7598 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080D7592: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D7598: .4byte gTasks - thumb_func_end sub_80D755C - - thumb_func_start sub_80D759C -sub_80D759C: @ 80D759C - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080D75C0 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080D7618 - cmp r0, 0x1 - bgt _080D75C4 - cmp r0, 0 - beq _080D75CA - b _080D764E - .align 2, 0 -_080D75C0: .4byte gTasks -_080D75C4: - cmp r0, 0x2 - beq _080D7640 - b _080D764E -_080D75CA: - ldr r0, _080D7614 @ =gAnimBankTarget - ldrb r0, [r0] - movs r1, 0x1 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r5, 0x26] - strh r0, [r5, 0x24] - cmp r0, 0x10 - ble _080D75F4 - adds r2, r0, 0 -_080D75E4: - adds r1, r2, 0 - subs r1, 0x20 - adds r2, r1, 0 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x10 - bgt _080D75E4 - strh r1, [r5, 0x24] -_080D75F4: - ldr r4, _080D7614 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x2 - strh r0, [r5, 0x20] - b _080D7638 - .align 2, 0 -_080D7614: .4byte gAnimBankTarget -_080D7618: - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D764E - movs r0, 0 - strh r0, [r5, 0xA] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80D7654 - lsls r0, 24 - cmp r0, 0 - beq _080D764E -_080D7638: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080D764E -_080D7640: - movs r1, 0x1C - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080D764E - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080D764E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80D759C - - thumb_func_start sub_80D7654 -sub_80D7654: @ 80D7654 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080D76B0 @ =gBattleAnimSpriteTemplate_83D97D0 - movs r2, 0x22 - ldrsh r1, [r4, r2] - movs r3, 0x24 - ldrsh r2, [r4, r3] - ldrh r3, [r4, 0x20] - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080D7698 - ldr r3, _080D76B4 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r1, r0, r1 - ldr r2, _080D76B8 @ =sub_80D76C4 - str r2, [r1] - adds r0, r3 - strh r5, [r0, 0x3A] - movs r1, 0xA - strh r1, [r0, 0x3C] - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] -_080D7698: - ldrh r2, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r3, 0x26 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _080D76BC - adds r0, r2, 0 - adds r0, 0x20 - strh r0, [r4, 0x24] - movs r0, 0 - b _080D76BE - .align 2, 0 -_080D76B0: .4byte gBattleAnimSpriteTemplate_83D97D0 -_080D76B4: .4byte gSprites -_080D76B8: .4byte sub_80D76C4 -_080D76BC: - movs r0, 0x1 -_080D76BE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80D7654 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/decompress.s b/asm/decompress.s new file mode 100644 index 000000000..99e449d8f --- /dev/null +++ b/asm/decompress.s @@ -0,0 +1,350 @@ + .include "constants/gba_constants.inc" + + .include "include/macros.inc" + + .syntax unified + + .text + + thumb_func_start unref_sub_800D42C +unref_sub_800D42C: @ 800D42C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x24 + mov r9, r0 + str r1, [sp] + str r2, [sp, 0x4] + adds r5, r3, 0 + movs r0, 0x1 + mov r1, r9 + ands r0, r1 + cmp r0, 0 + bne _0800D44C + b _0800D5E4 +_0800D44C: + asrs r0, r1, 1 + adds r0, 0x4 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x8] + movs r0, 0 + ldr r2, [sp] + cmp r0, r2 + blt _0800D460 + b _0800D674 +_0800D460: + movs r4, 0x8 + subs r1, r4, r1 + str r1, [sp, 0x10] +_0800D466: + movs r7, 0 + adds r0, 0x1 + str r0, [sp, 0x14] + ldr r0, [sp, 0x10] + cmp r7, r0 + bge _0800D4E2 + ldr r1, [sp, 0x8] + lsls r1, 8 + str r1, [sp, 0x18] + movs r2, 0 + mov r10, r2 + mov r0, r9 + movs r4, 0x8 + subs r0, r4, r0 + str r0, [sp, 0xC] +_0800D484: + movs r3, 0 + asrs r0, r7, 1 + adds r1, r7, 0 + movs r2, 0x1 + ands r1, r2 + str r1, [sp, 0x20] + lsls r0, 8 + mov r8, r0 + mov r12, r5 +_0800D496: + lsls r1, r3, 5 + ldr r4, [sp, 0x18] + adds r0, r5, r4 + adds r0, r1 + mov r1, r8 + adds r2, r0, r1 + mov r1, r12 + add r1, r8 + movs r6, 0xF +_0800D4A8: + ldr r4, [sp, 0x20] + cmp r4, 0 + bne _0800D4B8 + strb r4, [r1] + add r4, sp, 0x20 + ldrb r4, [r4] + strb r4, [r2, 0x10] + b _0800D4C6 +_0800D4B8: + mov r0, r10 + strb r0, [r1, 0x10] + movs r4, 0x80 + lsls r4, 1 + adds r4, r2, r4 + str r4, [sp, 0x1C] + strb r0, [r4] +_0800D4C6: + adds r2, 0x1 + adds r1, 0x1 + subs r6, 0x1 + cmp r6, 0 + bge _0800D4A8 + movs r0, 0x20 + add r12, r0 + adds r3, 0x1 + cmp r3, 0x7 + ble _0800D496 + adds r7, 0x1 + ldr r1, [sp, 0xC] + cmp r7, r1 + blt _0800D484 +_0800D4E2: + movs r7, 0 + movs r2, 0 +_0800D4E6: + movs r6, 0 + adds r4, r7, 0x1 + mov r8, r4 + lsls r4, r7, 5 +_0800D4EE: + adds r0, r6, 0x1 + mov r10, r0 + lsls r1, r6, 8 + adds r0, r1, 0 + adds r0, 0xC0 + adds r0, r5, r0 + adds r0, r4 + adds r1, r5, r1 + adds r1, r4 + movs r3, 0x1F +_0800D502: + strb r2, [r1] + strb r2, [r0] + adds r0, 0x1 + adds r1, 0x1 + subs r3, 0x1 + cmp r3, 0 + bge _0800D502 + mov r6, r10 + cmp r6, 0x7 + ble _0800D4EE + mov r7, r8 + cmp r7, 0x1 + ble _0800D4E6 + mov r1, r9 + cmp r1, 0x5 + bne _0800D528 + movs r2, 0x90 + lsls r2, 1 + adds r5, r2 +_0800D528: + movs r7, 0 + cmp r7, r9 + bge _0800D5BE +_0800D52E: + movs r3, 0 + adds r7, 0x1 + mov r8, r7 + cmp r3, r9 + bge _0800D59E +_0800D538: + adds r3, 0x1 + mov r10, r3 + ldr r4, [sp, 0x4] + adds r4, 0x20 + adds r7, r5, 0 + adds r7, 0x20 + movs r0, 0x12 + adds r0, r5 + mov r12, r0 + ldr r2, [sp, 0x4] + adds r3, r5, 0 + movs r6, 0x3 +_0800D550: + ldrb r0, [r2] + mov r1, r12 + strb r0, [r1] + ldrb r0, [r2, 0x1] + strb r0, [r1, 0x1] + ldrb r0, [r2, 0x2] + strb r0, [r1, 0x1E] + ldrb r0, [r2, 0x3] + strb r0, [r1, 0x1F] + movs r0, 0x81 + lsls r0, 1 + adds r1, r3, r0 + ldrb r0, [r2, 0x10] + strb r0, [r1] + ldr r0, _0800D5A8 @ =0x00000103 + adds r1, r3, r0 + ldrb r0, [r2, 0x11] + strb r0, [r1] + movs r0, 0x90 + lsls r0, 1 + adds r1, r3, r0 + ldrb r0, [r2, 0x12] + strb r0, [r1] + ldr r0, _0800D5AC @ =0x00000121 + adds r1, r3, r0 + ldrb r0, [r2, 0x13] + strb r0, [r1] + movs r1, 0x4 + add r12, r1 + adds r2, 0x4 + adds r3, 0x4 + subs r6, 0x1 + cmp r6, 0 + bge _0800D550 + str r4, [sp, 0x4] + adds r5, r7, 0 + mov r3, r10 + cmp r3, r9 + blt _0800D538 +_0800D59E: + mov r2, r9 + cmp r2, 0x7 + bne _0800D5B0 + adds r5, 0x20 + b _0800D5B8 + .align 2, 0 +_0800D5A8: .4byte 0x00000103 +_0800D5AC: .4byte 0x00000121 +_0800D5B0: + mov r4, r9 + cmp r4, 0x5 + bne _0800D5B8 + adds r5, 0x60 +_0800D5B8: + mov r7, r8 + cmp r7, r9 + blt _0800D52E +_0800D5BE: + mov r0, r9 + cmp r0, 0x7 + bne _0800D5CC + movs r1, 0x80 + lsls r1, 1 + adds r5, r1 + b _0800D5D8 +_0800D5CC: + mov r2, r9 + cmp r2, 0x5 + bne _0800D5D8 + movs r4, 0xF0 + lsls r4, 1 + adds r5, r4 +_0800D5D8: + ldr r0, [sp, 0x14] + ldr r1, [sp] + cmp r0, r1 + bge _0800D5E2 + b _0800D466 +_0800D5E2: + b _0800D674 +_0800D5E4: + movs r6, 0 + ldr r2, [sp] + cmp r6, r2 + bge _0800D674 +_0800D5EC: + adds r6, 0x1 + mov r10, r6 + mov r4, r9 + cmp r4, 0x6 + bne _0800D604 + movs r0, 0 + movs r3, 0xFF +_0800D5FA: + strb r0, [r5] + adds r5, 0x1 + subs r3, 0x1 + cmp r3, 0 + bge _0800D5FA +_0800D604: + movs r7, 0 + cmp r7, r9 + bge _0800D658 +_0800D60A: + adds r7, 0x1 + mov r8, r7 + mov r1, r9 + lsls r0, r1, 5 + cmp r1, 0x6 + bne _0800D624 + movs r1, 0 + movs r3, 0x1F +_0800D61A: + strb r1, [r5] + adds r5, 0x1 + subs r3, 0x1 + cmp r3, 0 + bge _0800D61A +_0800D624: + adds r1, r0, 0 + cmp r1, 0 + ble _0800D63E + adds r3, r1, 0 +_0800D62C: + ldr r2, [sp, 0x4] + ldrb r0, [r2] + strb r0, [r5] + adds r2, 0x1 + str r2, [sp, 0x4] + adds r5, 0x1 + subs r3, 0x1 + cmp r3, 0 + bne _0800D62C +_0800D63E: + mov r4, r9 + cmp r4, 0x6 + bne _0800D652 + movs r0, 0 + movs r3, 0x1F +_0800D648: + strb r0, [r5] + adds r5, 0x1 + subs r3, 0x1 + cmp r3, 0 + bge _0800D648 +_0800D652: + mov r7, r8 + cmp r7, r9 + blt _0800D60A +_0800D658: + mov r0, r9 + cmp r0, 0x6 + bne _0800D66C + movs r0, 0 + movs r3, 0xFF +_0800D662: + strb r0, [r5] + adds r5, 0x1 + subs r3, 0x1 + cmp r3, 0 + bge _0800D662 +_0800D66C: + mov r6, r10 + ldr r1, [sp] + cmp r6, r1 + blt _0800D5EC +_0800D674: + add sp, 0x24 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end unref_sub_800D42C + + .align 2, 0 diff --git a/asm/flying.s b/asm/flying.s index 1862e3218..126f18206 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -7,601 +7,6 @@ @ flying - thumb_func_start sub_80DA034 -sub_80DA034: @ 80DA034 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8078764 - ldrh r0, [r4, 0x22] - adds r0, 0x14 - strh r0, [r4, 0x22] - movs r0, 0xBF - strh r0, [r4, 0x30] - ldr r1, _080DA058 @ =sub_80DA05C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DA058: .4byte sub_80DA05C - thumb_func_end sub_80DA034 - - thumb_func_start sub_80DA05C -sub_80DA05C: @ 80DA05C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x47 - bne _080DA096 - adds r0, r4, 0 - bl DestroyAnimSprite -_080DA096: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DA05C - - thumb_func_start sub_80DA09C -sub_80DA09C: @ 80DA09C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080DA0CC @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r1, _080DA0D0 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x8] - ldrh r0, [r1] - strh r0, [r4, 0xA] - ldr r0, _080DA0D4 @ =0x00002719 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldr r0, _080DA0D8 @ =sub_80DA0DC - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DA0CC: .4byte gTasks -_080DA0D0: .4byte gBattleAnimArgs -_080DA0D4: .4byte 0x00002719 -_080DA0D8: .4byte sub_80DA0DC - thumb_func_end sub_80DA09C - - thumb_func_start sub_80DA0DC -sub_80DA0DC: @ 80DA0DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _080DA15C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x1C] - adds r1, r0, 0x1 - strh r1, [r3, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xA - ldrsh r1, [r3, r4] - adds r7, r2, 0 - cmp r0, r1 - bne _080DA13A - movs r0, 0 - strh r0, [r3, 0x1C] - ldrb r0, [r3, 0xC] - ldr r2, _080DA160 @ =gPlttBufferFaded - lsls r0, 4 - movs r3, 0x84 - lsls r3, 1 - adds r1, r0, r3 - lsls r1, 1 - adds r1, r2 - ldrh r6, [r1] - movs r4, 0x7 - mov r12, r0 - ldr r0, _080DA164 @ =0x00000107 - add r0, r12 - lsls r0, 1 - adds r3, r0, r2 -_080DA122: - ldrh r0, [r3] - strh r0, [r1] - subs r3, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _080DA122 - ldr r0, _080DA168 @ =0x00000101 - add r0, r12 - lsls r0, 1 - adds r0, r2 - strh r6, [r0] -_080DA13A: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _080DA154 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080DA154: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DA15C: .4byte gTasks -_080DA160: .4byte gPlttBufferFaded -_080DA164: .4byte 0x00000107 -_080DA168: .4byte 0x00000101 - thumb_func_end sub_80DA0DC - - thumb_func_start sub_80DA16C -sub_80DA16C: @ 80DA16C - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, _080DA1D8 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080DA18C - ldr r1, _080DA1DC @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080DA18C: - ldr r4, _080DA1DC @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldr r5, _080DA1E0 @ =gAnimBankTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl InitAnimSpriteTranslationDeltas - ldr r0, _080DA1E4 @ =sub_80785E4 - str r0, [r6, 0x1C] - ldr r1, _080DA1E8 @ =sub_80DA1EC - adds r0, r6, 0 - bl StoreSpriteCallbackInData - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DA1D8: .4byte gAnimBankAttacker -_080DA1DC: .4byte gBattleAnimArgs -_080DA1E0: .4byte gAnimBankTarget -_080DA1E4: .4byte sub_80785E4 -_080DA1E8: .4byte sub_80DA1EC - thumb_func_end sub_80DA16C - - thumb_func_start sub_80DA1EC -sub_80DA1EC: @ 80DA1EC - push {r4,lr} - adds r4, r0, 0 - bl TranslateAnimSpriteByDeltas - lsls r0, 24 - cmp r0, 0 - beq _080DA200 - adds r0, r4, 0 - bl DestroyAnimSprite -_080DA200: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DA1EC - - thumb_func_start sub_80DA208 -sub_80DA208: @ 80DA208 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080DA2A4 @ =gAnimBankAttacker - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080DA234 - ldr r1, _080DA2A8 @ =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r1, 0x6] -_080DA234: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080DA24C - ldr r0, _080DA2A8 @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - negs r1, r1 - strh r1, [r0, 0x2] - ldrh r1, [r0, 0x6] - negs r1, r1 - strh r1, [r0, 0x6] -_080DA24C: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - ldr r2, _080DA2A8 @ =gBattleAnimArgs - ldrh r1, [r2] - ldrh r3, [r5, 0x20] - adds r1, r3 - strh r1, [r5, 0x20] - lsrs r0, 24 - ldrh r1, [r2, 0x2] - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x2E] - movs r3, 0xC - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _080DA2B0 - ldr r4, _080DA2AC @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - b _080DA2C2 - .align 2, 0 -_080DA2A4: .4byte gAnimBankAttacker -_080DA2A8: .4byte gBattleAnimArgs -_080DA2AC: .4byte gAnimBankTarget -_080DA2B0: - ldr r0, _080DA2F0 @ =gAnimBankTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl SetAverageBattlerPositions -_080DA2C2: - ldr r4, _080DA2F4 @ =gBattleAnimArgs - ldrh r0, [r4, 0x4] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r4, 0x6] - ldrh r3, [r5, 0x36] - adds r0, r3 - strh r0, [r5, 0x36] - ldr r0, _080DA2F8 @ =StartTranslateAnimSpriteByDeltas - str r0, [r5, 0x1C] - ldr r1, _080DA2FC @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData - ldrb r1, [r4, 0xA] - adds r0, r5, 0 - bl SeekSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DA2F0: .4byte gAnimBankTarget -_080DA2F4: .4byte gBattleAnimArgs -_080DA2F8: .4byte StartTranslateAnimSpriteByDeltas -_080DA2FC: .4byte DestroyAnimSprite - thumb_func_end sub_80DA208 - - thumb_func_start sub_80DA300 -sub_80DA300: @ 80DA300 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r1, _080DA33C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldr r0, _080DA340 @ =sub_80DA348 - str r0, [r4, 0x1C] - movs r0, 0 - bl GetAnimBankSpriteId - ldr r2, _080DA344 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DA33C: .4byte gBattleAnimArgs -_080DA340: .4byte sub_80DA348 -_080DA344: .4byte gSprites - thumb_func_end sub_80DA300 - - thumb_func_start sub_80DA348 -sub_80DA348: @ 80DA348 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _080DA35C - subs r0, r1, 0x1 - strh r0, [r2, 0x2E] - b _080DA36E -_080DA35C: - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r2, 0x26] - subs r1, r0 - strh r1, [r2, 0x26] -_080DA36E: - movs r3, 0x22 - ldrsh r0, [r2, r3] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080DA386 - adds r0, r2, 0 - bl DestroyAnimSprite -_080DA386: - pop {r0} - bx r0 - thumb_func_end sub_80DA348 - - thumb_func_start sub_80DA38C -sub_80DA38C: @ 80DA38C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080DA3B4 @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080DA3BC - movs r0, 0x88 - lsls r0, 1 - strh r0, [r5, 0x20] - ldr r0, _080DA3B8 @ =0x0000ffe0 - strh r0, [r5, 0x22] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080DA3C2 - .align 2, 0 -_080DA3B4: .4byte gAnimBankAttacker -_080DA3B8: .4byte 0x0000ffe0 -_080DA3BC: - ldr r0, _080DA400 @ =0x0000ffe0 - strh r0, [r5, 0x20] - strh r0, [r5, 0x22] -_080DA3C2: - ldr r0, _080DA404 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080DA408 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimSpriteTranslationDeltas - ldr r0, _080DA40C @ =sub_80DA410 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DA400: .4byte 0x0000ffe0 -_080DA404: .4byte gBattleAnimArgs -_080DA408: .4byte gAnimBankTarget -_080DA40C: .4byte sub_80DA410 - thumb_func_end sub_80DA38C - - thumb_func_start sub_80DA410 -sub_80DA410: @ 80DA410 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl TranslateAnimSpriteByDeltas - ldrh r1, [r4, 0x34] - lsrs r0, r1, 8 - cmp r0, 0xC8 - bls _080DA438 - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x24] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] -_080DA438: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x20 - movs r1, 0x98 - lsls r1, 1 - cmp r0, r1 - bhi _080DA45A - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0xA0 - ble _080DA480 -_080DA45A: - movs r0, 0 - bl GetAnimBankSpriteId - ldr r2, _080DA488 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyAnimSprite -_080DA480: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DA488: .4byte gSprites - thumb_func_end sub_80DA410 - - thumb_func_start sub_80DA48C -sub_80DA48C: @ 80DA48C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r1, r0, 0x1 - strh r1, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080DA4CC - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DA4BE - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] -_080DA4BE: - adds r0, r4, 0 - bl DestroySprite - ldr r1, _080DA4D4 @ =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_080DA4CC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DA4D4: .4byte gAnimVisualTaskCount - thumb_func_end sub_80DA48C - thumb_func_start sub_80DA4D8 sub_80DA4D8: @ 80DA4D8 push {r4-r7,lr} @@ -627,7 +32,7 @@ _080DA500: _080DA502: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080DA518 @@ -638,7 +43,7 @@ _080DA502: _080DA518: adds r0, r6, 0 movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080DA5B4 @ =gBattleAnimArgs lsrs r0, 24 @@ -647,7 +52,7 @@ _080DA518: strh r0, [r7, 0x20] adds r0, r6, 0 movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 ldrh r1, [r4, 0x2] lsrs r0, 24 @@ -1733,13 +1138,13 @@ sub_80DAD30: @ 80DAD30 ldr r5, _080DAD7C @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -1784,7 +1189,7 @@ sub_80DAD84: @ 80DAD84 beq _080DADE0 adds r0, r2, 0 movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -1799,7 +1204,7 @@ _080DADDC: .4byte gAnimBankTarget _080DADE0: adds r0, r2, 0 movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x28 @@ -1849,7 +1254,7 @@ _080DAE44: ldr r0, _080DAEFC @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -2102,7 +1507,7 @@ _080DB024: bne _080DB03C ldr r0, _080DB090 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DB052 @@ -2113,7 +1518,7 @@ _080DB03C: bne _080DB058 ldr r0, _080DB094 @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080DB058 @@ -2239,13 +1644,13 @@ sub_80DB0E8: @ 80DB0E8 ldr r5, _080DB190 @ =gAnimBankTarget ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -2293,7 +1698,7 @@ _080DB1A6: movs r1, 0x1 bl InitAnimSpritePos movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, _080DB1D4 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -2349,7 +1754,7 @@ _080DB210: ldr r0, _080DB228 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -2385,7 +1790,7 @@ _080DB240: cmp r0, r1 bge _080DB27E movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, _080DB284 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -2423,7 +1828,7 @@ sub_80DB288: @ 80DB288 ldr r0, _080DB2C8 @ =sub_80DB2D0 str r0, [r4, 0x1C] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, _080DB2CC @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -2566,13 +1971,13 @@ _080DB3A0: _080DB3A2: ldrb r0, [r4] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2726,13 +2131,13 @@ _080DB4D4: _080DB4D6: ldrb r0, [r4] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -2885,14 +2290,14 @@ sub_80DB5E4: @ 80DB5E4 ldr r6, _080DB698 @ =gAnimBankAttacker ldrb r0, [r6] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r1, r8 strh r0, [r1, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 @@ -3012,7 +2417,7 @@ unref_sub_80DB6E4: @ 80DB6E4 cmp r0, 0 bne _080DB71C movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _080DB718 @ =gSprites @@ -3030,7 +2435,7 @@ _080DB714: .4byte gBattleAnimArgs _080DB718: .4byte gSprites _080DB71C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _080DB748 @ =gSprites diff --git a/asm/ghost.s b/asm/ghost.s index b5620910b..36487210d 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -7,1111 +7,6 @@ @ ghost - thumb_func_start sub_80DDB6C -sub_80DDB6C: @ 80DDB6C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitAnimSpritePos - ldr r0, _080DDBC8 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r5, _080DDBCC @ =gAnimBankTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_8078BD4 - ldr r0, _080DDBD0 @ =sub_80DDBD8 - str r0, [r4, 0x1C] - movs r0, 0x10 - strh r0, [r4, 0x3A] - ldr r1, _080DDBD4 @ =REG_BLDCNT - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r4, 0x3A] - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DDBC8: .4byte gBattleAnimArgs -_080DDBCC: .4byte gAnimBankTarget -_080DDBD0: .4byte sub_80DDBD8 -_080DDBD4: .4byte REG_BLDCNT - thumb_func_end sub_80DDB6C - - thumb_func_start sub_80DDBD8 -sub_80DDBD8: @ 80DDBD8 - push {r4,lr} - adds r4, r0, 0 - bl sub_80DDCC8 - adds r0, r4, 0 - bl TranslateAnimSpriteByDeltas - lsls r0, 24 - cmp r0, 0 - beq _080DDBF8 - ldr r0, _080DDBF4 @ =sub_80DDC4C - str r0, [r4, 0x1C] - b _080DDC42 - .align 2, 0 -_080DDBF4: .4byte sub_80DDC4C -_080DDBF8: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080DDC30 - cmp r2, 0xC4 - ble _080DDC42 -_080DDC30: - lsls r0, 16 - cmp r0, 0 - ble _080DDC42 - ldr r0, _080DDC48 @ =gUnknown_0202F7D2 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xC4 - bl PlaySE12WithPanning -_080DDC42: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DDC48: .4byte gUnknown_0202F7D2 - thumb_func_end sub_80DDBD8 - - thumb_func_start sub_80DDC4C -sub_80DDC4C: @ 80DDC4C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl TranslateAnimSpriteByDeltas - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xF - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080DDC92 - cmp r2, 0xC4 - ble _080DDC9E -_080DDC92: - lsls r0, 16 - cmp r0, 0 - ble _080DDC9E - movs r0, 0xC4 - bl PlaySE -_080DDC9E: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DDCBC - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080DDCB8 @ =sub_807861C - str r0, [r4, 0x1C] - b _080DDCC2 - .align 2, 0 -_080DDCB8: .4byte sub_807861C -_080DDCBC: - adds r0, r4, 0 - bl sub_80DDCC8 -_080DDCC2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DDC4C - - thumb_func_start sub_80DDCC8 -sub_80DDCC8: @ 80DDCC8 - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0xFF - ble _080DDCEC - adds r0, r2, 0x1 - strh r0, [r3, 0x3A] - lsls r0, 16 - ldr r1, _080DDCE8 @ =0x010d0000 - cmp r0, r1 - bne _080DDD4C - movs r0, 0 - b _080DDD4A - .align 2, 0 -_080DDCE8: .4byte 0x010d0000 -_080DDCEC: - ldrh r1, [r3, 0x3C] - adds r4, r1, 0x1 - strh r4, [r3, 0x3C] - movs r0, 0xFF - ands r0, r1 - cmp r0, 0 - bne _080DDD4C - ldr r1, _080DDD10 @ =0xffffff00 - ands r1, r4 - strh r1, [r3, 0x3C] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080DDD14 - adds r0, r2, 0x1 - b _080DDD16 - .align 2, 0 -_080DDD10: .4byte 0xffffff00 -_080DDD14: - subs r0, r2, 0x1 -_080DDD16: - strh r0, [r3, 0x3A] - ldr r2, _080DDD54 @ =REG_BLDALPHA - ldrh r1, [r3, 0x3A] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r0, r1 - strh r0, [r2] - movs r2, 0x3A - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080DDD32 - cmp r0, 0x10 - bne _080DDD3E -_080DDD32: - ldrh r0, [r3, 0x3C] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - eors r0, r1 - strh r0, [r3, 0x3C] -_080DDD3E: - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080DDD4C - movs r0, 0x80 - lsls r0, 1 -_080DDD4A: - strh r0, [r3, 0x3A] -_080DDD4C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DDD54: .4byte REG_BLDALPHA - thumb_func_end sub_80DDCC8 - - thumb_func_start sub_80DDD58 -sub_80DDD58: @ 80DDD58 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r1, _080DDD74 @ =sub_80DDD78 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DDD74: .4byte sub_80DDD78 - thumb_func_end sub_80DDD58 - - thumb_func_start sub_80DDD78 -sub_80DDD78: @ 80DDD78 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x82 - bhi _080DDDAC - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x8 - b _080DDDB6 -_080DDDAC: - ldrb r0, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 -_080DDDB6: - orrs r1, r0 - strb r1, [r4, 0x5] - ldrh r0, [r4, 0x2E] - adds r0, 0x13 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x50 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3D - bne _080DDDE8 - adds r0, r4, 0 - bl DestroyAnimSprite -_080DDDE8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DDD78 - - thumb_func_start sub_80DDDF0 -sub_80DDDF0: @ 80DDDF0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080DDE68 @ =REG_BLDCNT - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r2, 0x80 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - bl GetAnimBankSpriteId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8078E70 - adds r0, r4, 0 - movs r1, 0x80 - movs r2, 0x80 - movs r3, 0 - bl obj_id_set_rotscale - ldr r1, _080DDE6C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r1, _080DDE70 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x80 - strh r1, [r0, 0x8] - ldr r1, _080DDE74 @ =gBattleAnimArgs - ldrh r1, [r1] - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - movs r1, 0x10 - strh r1, [r0, 0xE] - ldr r1, _080DDE78 @ =sub_80DDE7C - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DDE68: .4byte REG_BLDCNT -_080DDE6C: .4byte gSprites -_080DDE70: .4byte gTasks -_080DDE74: .4byte gBattleAnimArgs -_080DDE78: .4byte sub_80DDE7C - thumb_func_end sub_80DDDF0 - - thumb_func_start sub_80DDE7C -sub_80DDE7C: @ 80DDE7C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080DDEC4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r0, [r3, 0x1C] - adds r0, 0x1 - strh r0, [r3, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080DDEBE - movs r0, 0 - strh r0, [r3, 0x1C] - ldrh r1, [r3, 0xC] - adds r1, 0x1 - strh r1, [r3, 0xC] - ldrh r0, [r3, 0xE] - subs r0, 0x1 - strh r0, [r3, 0xE] - ldr r2, _080DDEC8 @ =REG_BLDALPHA - lsls r0, 8 - orrs r1, r0 - strh r1, [r2] - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0x9 - bne _080DDEBE - ldr r0, _080DDECC @ =sub_80DDED0 - str r0, [r3] -_080DDEBE: - pop {r0} - bx r0 - .align 2, 0 -_080DDEC4: .4byte gTasks -_080DDEC8: .4byte REG_BLDALPHA -_080DDECC: .4byte sub_80DDED0 - thumb_func_end sub_80DDE7C - - thumb_func_start sub_80DDED0 -sub_80DDED0: @ 80DDED0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _080DDEF4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080DDEF8 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - b _080DDF36 - .align 2, 0 -_080DDEF4: .4byte gTasks -_080DDEF8: - movs r0, 0 - bl GetAnimBankSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r4, 0x8] - adds r0, 0x8 - movs r6, 0 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _080DDF22 - movs r0, 0x8 - ldrsh r2, [r4, r0] - adds r0, r1, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - b _080DDF36 -_080DDF22: - adds r0, r1, 0 - bl sub_8078F40 - adds r0, r5, 0 - bl DestroyAnimVisualTask - ldr r0, _080DDF3C @ =REG_BLDCNT - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] -_080DDF36: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DDF3C: .4byte REG_BLDCNT - thumb_func_end sub_80DDED0 - - thumb_func_start sub_80DDF40 -sub_80DDF40: @ 80DDF40 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r5, [r4, 0x20] - ldrh r6, [r4, 0x22] - ldr r0, _080DDFDC @ =gAnimBankAttacker - mov r8, r0 - ldrb r0, [r0] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - mov r9, r1 - strh r0, [r4, 0x20] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - mov r1, r9 - strh r1, [r4, 0x2E] - ldr r2, _080DDFE0 @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r4, 0x30] - ldrh r1, [r2, 0x2] - strh r1, [r4, 0x32] - ldrh r1, [r2, 0x4] - strh r1, [r4, 0x34] - ldrh r1, [r4, 0x20] - lsls r1, 4 - strh r1, [r4, 0x36] - lsls r0, 4 - strh r0, [r4, 0x38] - lsls r5, 16 - asrs r5, 16 - movs r1, 0x20 - ldrsh r0, [r4, r1] - subs r5, r0 - lsls r5, 4 - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r1, 1 - adds r0, r5, 0 - str r2, [sp] - bl __divsi3 - strh r0, [r4, 0x3A] - lsls r6, 16 - asrs r6, 16 - movs r1, 0x22 - ldrsh r0, [r4, r1] - subs r6, r0 - lsls r6, 4 - ldr r2, [sp] - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r1, 1 - adds r0, r6, 0 - bl __divsi3 - strh r0, [r4, 0x3C] - ldr r0, _080DDFE4 @ =sub_80DDFE8 - str r0, [r4, 0x1C] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DDFDC: .4byte gAnimBankAttacker -_080DDFE0: .4byte gBattleAnimArgs -_080DDFE4: .4byte sub_80DDFE8 - thumb_func_end sub_80DDF40 - - thumb_func_start sub_80DDFE8 -sub_80DDFE8: @ 80DDFE8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080DE032 - cmp r0, 0x1 - bgt _080DDFFE - cmp r0, 0 - beq _080DE008 - b _080DE0F6 -_080DDFFE: - cmp r0, 0x2 - beq _080DE09C - cmp r0, 0x3 - beq _080DE0F0 - b _080DE0F6 -_080DE008: - ldrh r0, [r5, 0x3A] - ldrh r2, [r5, 0x36] - adds r0, r2 - strh r0, [r5, 0x36] - ldrh r1, [r5, 0x3C] - ldrh r2, [r5, 0x38] - adds r1, r2 - strh r1, [r5, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r5, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r5, 0x22] - ldrh r0, [r5, 0x30] - subs r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - cmp r0, 0 - bgt _080DE0F6 - b _080DE0E2 -_080DE032: - ldrh r0, [r5, 0x32] - subs r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - cmp r0, 0 - bgt _080DE0F6 - ldr r4, _080DE098 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x30] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x20] - lsls r0, 4 - strh r0, [r5, 0x36] - ldrh r0, [r5, 0x22] - lsls r0, 4 - strh r0, [r5, 0x38] - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r2, 0x20 - ldrsh r1, [r5, r2] - subs r0, r1 - lsls r0, 4 - movs r2, 0x34 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0x3A] - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r2, 0x22 - ldrsh r1, [r5, r2] - subs r0, r1 - lsls r0, 4 - movs r2, 0x34 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0x3C] - b _080DE0E2 - .align 2, 0 -_080DE098: .4byte gAnimBankTarget -_080DE09C: - ldrh r0, [r5, 0x3A] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] - ldrh r1, [r5, 0x3C] - ldrh r2, [r5, 0x38] - adds r1, r2 - strh r1, [r5, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r5, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r5, 0x22] - ldrh r0, [r5, 0x34] - subs r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - cmp r0, 0 - bgt _080DE0F6 - ldr r4, _080DE0EC @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBankPosition - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_080DE0E2: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080DE0F6 - .align 2, 0 -_080DE0EC: .4byte gAnimBankTarget -_080DE0F0: - adds r0, r5, 0 - bl move_anim_8074EE0 -_080DE0F6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DDFE8 - - thumb_func_start sub_80DE0FC -sub_80DE0FC: @ 80DE0FC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r0, _080DE110 @ =sub_80DE114 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE110: .4byte sub_80DE114 - thumb_func_end sub_80DE0FC - - thumb_func_start sub_80DE114 -sub_80DE114: @ 80DE114 - push {r4-r6,lr} - adds r3, r0, 0 - movs r5, 0 - movs r6, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DE1AA - adds r1, r3, 0 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x4 - ands r0, r2 - adds r4, r1, 0 - cmp r0, 0 - bne _080DE13E - movs r0, 0x4 - orrs r0, r2 - strb r0, [r4] -_080DE13E: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080DE14E - cmp r0, 0x1 - beq _080DE158 - movs r6, 0x1 - b _080DE162 -_080DE14E: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - bne _080DE162 - b _080DE166 -_080DE158: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x4 - bne _080DE162 - movs r5, 0x1 -_080DE162: - cmp r5, 0 - beq _080DE198 -_080DE166: - ldrb r2, [r4] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r3, 0x32] - strh r1, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080DE1AA - strh r1, [r3, 0x32] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _080DE1AA -_080DE198: - cmp r6, 0 - beq _080DE1A4 - adds r0, r3, 0 - bl DestroyAnimSprite - b _080DE1AA -_080DE1A4: - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] -_080DE1AA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80DE114 - - thumb_func_start sub_80DE1B0 -sub_80DE1B0: @ 80DE1B0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080DE1DC @ =gTasks - adds r5, r0, r1 - movs r0, 0x1 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - movs r6, 0 - movs r1, 0 - strh r0, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bge _080DE1E0 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080DE2C0 - .align 2, 0 -_080DE1DC: .4byte gTasks -_080DE1E0: - strh r1, [r5, 0xA] - movs r0, 0xF - strh r0, [r5, 0xC] - movs r0, 0x2 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - ldr r1, _080DE244 @ =REG_BLDCNT - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - ldr r2, _080DE248 @ =REG_BLDALPHA - ldrh r0, [r5, 0xE] - lsls r0, 8 - ldrh r1, [r5, 0xC] - orrs r0, r1 - strh r0, [r2] - ldr r4, _080DE24C @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x50 - strh r1, [r0, 0x2E] - ldr r0, _080DE250 @ =gAnimBankTarget - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080DE258 - movs r2, 0x8 - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080DE254 @ =0x0000ff70 - strh r1, [r0, 0x30] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x70 - b _080DE276 - .align 2, 0 -_080DE244: .4byte REG_BLDCNT -_080DE248: .4byte REG_BLDALPHA -_080DE24C: .4byte gSprites -_080DE250: .4byte gAnimBankTarget -_080DE254: .4byte 0x0000ff70 -_080DE258: - movs r2, 0x8 - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x90 - strh r1, [r0, 0x30] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080DE2C8 @ =0x0000ff90 -_080DE276: - strh r1, [r0, 0x32] - ldr r4, _080DE2CC @ =gSprites - movs r2, 0x8 - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0 - strh r2, [r0, 0x34] - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x36] - movs r2, 0x8 - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080DE2D0 @ =SpriteCallbackDummy - bl StoreSpriteCallbackInData - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _080DE2D4 @ =sub_8078394 - str r1, [r0] - ldr r0, _080DE2D8 @ =sub_80DE2DC - str r0, [r5] -_080DE2C0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DE2C8: .4byte 0x0000ff90 -_080DE2CC: .4byte gSprites -_080DE2D0: .4byte SpriteCallbackDummy -_080DE2D4: .4byte sub_8078394 -_080DE2D8: .4byte sub_80DE2DC - thumb_func_end sub_80DE1B0 - - thumb_func_start sub_80DE2DC -sub_80DE2DC: @ 80DE2DC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080DE300 @ =gTasks - adds r4, r0, r1 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080DE37C - cmp r0, 0x1 - bgt _080DE304 - cmp r0, 0 - beq _080DE30A - b _080DE3A6 - .align 2, 0 -_080DE300: .4byte gTasks -_080DE304: - cmp r0, 0x2 - beq _080DE3A0 - b _080DE3A6 -_080DE30A: - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r0, 0x3 - ands r0, r1 - strh r0, [r4, 0x12] - cmp r0, 0x1 - bne _080DE328 - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080DE328 - subs r0, r1, 0x1 - strh r0, [r4, 0xC] -_080DE328: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _080DE33E - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080DE33E - adds r0, r1, 0x1 - strh r0, [r4, 0xE] -_080DE33E: - ldr r2, _080DE374 @ =REG_BLDALPHA - ldrh r0, [r4, 0xE] - lsls r0, 8 - ldrh r1, [r4, 0xC] - orrs r0, r1 - strh r0, [r2] - ldr r1, [r4, 0xC] - movs r0, 0x80 - lsls r0, 13 - cmp r1, r0 - bne _080DE3A6 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _080DE3A6 - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DE378 @ =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram - movs r0, 0x1 - strh r0, [r4, 0x10] - b _080DE3A6 - .align 2, 0 -_080DE374: .4byte REG_BLDALPHA -_080DE378: .4byte gSprites -_080DE37C: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080DE3A6 - ldr r0, _080DE39C @ =REG_BLDCNT - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - b _080DE3A6 - .align 2, 0 -_080DE39C: .4byte REG_BLDCNT -_080DE3A0: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080DE3A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DE2DC - - thumb_func_start sub_80DE3AC -sub_80DE3AC: @ 80DE3AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _080DE3CC @ =gTasks - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x26] - ldr r2, _080DE3D0 @ =sub_80DE3D4 - str r2, [r1] - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_080DE3CC: .4byte gTasks -_080DE3D0: .4byte sub_80DE3D4 - thumb_func_end sub_80DE3AC - thumb_func_start sub_80DE3D4 sub_80DE3D4: @ 80DE3D4 push {r4-r7,lr} @@ -1127,7 +22,7 @@ sub_80DE3D4: @ 80DE3D4 adds r5, r0, r1 ldr r0, _080DE410 @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r6, r0, 24 movs r1, 0x26 @@ -1219,7 +114,7 @@ _080DE464: movs r0, 0x10 strh r0, [r5, 0xE] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1487,7 +382,7 @@ sub_80DE6B0: @ 80DE6B0 adds r4, r0, r1 ldr r0, _080DE6E4 @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r6, r0, 24 movs r1, 0x26 @@ -1511,7 +406,7 @@ _080DE6EE: movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] @@ -1620,12 +515,12 @@ sub_80DE7B8: @ 80DE7B8 ldr r4, _080DE7F8 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 @@ -1642,12 +537,12 @@ _080DE800: ldr r4, _080DE8C8 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 @@ -1658,13 +553,13 @@ _080DE800: _080DE824: ldrb r0, [r4] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 ldrb r0, [r4] movs r1, 0x1 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0xE0 @@ -1816,7 +711,7 @@ sub_80DE918: @ 80DE918 ldr r4, _080DEA74 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] @@ -1868,7 +763,7 @@ _080DE98A: beq _080DEA56 adds r0, r4, 0 movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -2261,7 +1156,7 @@ sub_80DECB0: @ 80DECB0 strh r0, [r1] ldr r0, _080DED08 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080DECF4 @@ -2542,7 +1437,7 @@ sub_80DEF3C: @ 80DEF3C bl InitAnimSpritePos ldr r0, _080DEF68 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080DEF70 @@ -2746,7 +1641,7 @@ sub_80DF0B8: @ 80DF0B8 strh r0, [r4, 0x24] ldr r0, _080DF120 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DF0DC @@ -2880,7 +1775,7 @@ sub_80DF1A4: @ 80DF1A4 ldr r5, _080DF240 @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] @@ -2993,7 +1888,7 @@ _080DF292: strh r7, [r5, 0x2E] ldr r0, _080DF2FC @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0 lsls r0, 24 cmp r0, 0 diff --git a/asm/ground.s b/asm/ground.s index ac3f909b5..82e56fcc0 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -14,13 +14,13 @@ sub_80E0F1C: @ 80E0F1C ldr r5, _080E0F74 @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -29,13 +29,13 @@ sub_80E0F1C: @ 80E0F1C ldr r5, _080E0F78 @ =gAnimBankTarget ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -79,13 +79,13 @@ sub_80E0F84: @ 80E0F84 ldr r4, _080E0FE0 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -128,7 +128,7 @@ sub_80E1004: @ 80E1004 bl sub_8078764 ldr r0, _080E1064 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E1024 @@ -143,7 +143,7 @@ _080E1024: ldr r5, _080E106C @ =gAnimBankTarget ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -151,7 +151,7 @@ _080E1024: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -264,7 +264,7 @@ sub_80E1108: @ 80E1108 ldr r4, _080E1174 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x2] @@ -272,7 +272,7 @@ sub_80E1108: @ 80E1108 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r3, [r6, 0x4] @@ -475,13 +475,13 @@ _080E12B0: .4byte _080E1414 _080E12C4: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] ldr r0, _080E12EC @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1E] @@ -670,7 +670,7 @@ sub_80E143C: @ 80E143C lsls r0, 24 lsrs r5, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _080E147C @ =gSprites @@ -689,7 +689,7 @@ sub_80E143C: @ 80E143C strh r4, [r1, 0x26] ldr r0, _080E1480 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -768,7 +768,7 @@ sub_80E14DC: @ 80E14DC _080E14FC: .4byte gTasks _080E1500: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -848,13 +848,13 @@ _080E158C: .4byte _080E165C _080E15A0: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] ldr r0, _080E15C4 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankIdentity_permutated + bl GetBattlerPosition_permutated lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1E] @@ -1082,7 +1082,7 @@ _080E1746: _080E1762: adds r0, r4, 0 movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -1152,7 +1152,7 @@ _080E17EA: ldrb r5, [r0] adds r0, r5, 0 movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r2, _080E184C @ =0x0000fff0 @@ -1288,7 +1288,7 @@ _080E18F8: _080E1904: .4byte gBankSpriteIds _080E1908: ldrb r0, [r6] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] @@ -1700,7 +1700,7 @@ _080E1BE2: adds r4, r0 adds r0, r5, 0 movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x20 @@ -1711,7 +1711,7 @@ _080E1BE2: strh r1, [r4, 0xA] adds r0, r5, 0 movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x40 @@ -7,41 +7,6 @@ @ ice - thumb_func_start sub_80D76C4 -sub_80D76C4: @ 80D76C4 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D76F8 - ldr r3, _080D7700 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_080D76F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D7700: .4byte gTasks - thumb_func_end sub_80D76C4 - thumb_func_start sub_80D7704 sub_80D7704: @ 80D7704 push {r4-r7,lr} @@ -65,26 +30,26 @@ sub_80D7704: @ 80D7704 ldr r4, _080D7814 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r9, r0 ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 ldr r4, _080D7818 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 ldrb r0, [r4] movs r1, 0x3 str r3, [sp] - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldr r1, _080D781C @ =gBattleAnimArgs @@ -329,13 +294,13 @@ sub_80D792C: @ 80D792C ldr r0, _080D7960 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldr r0, _080D7964 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D796C @@ -359,7 +324,7 @@ _080D7976: ldr r0, _080D79A8 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 ldr r1, _080D79A4 @ =gBattleAnimArgs lsrs r0, 24 @@ -409,7 +374,7 @@ _080D79D0: bl SetAverageBattlerPositions ldr r0, _080D7A1C @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D79F6 @@ -495,13 +460,13 @@ sub_80D7A64: @ 80D7A64 ldr r4, _080D7AB0 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -523,7 +488,7 @@ _080D7AB4: _080D7AC6: ldr r0, _080D7AE4 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7AEC @@ -649,7 +614,7 @@ sub_80D7BA0: @ 80D7BA0 strh r0, [r4, 0x2E] ldr r0, _080D7BFC @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _080D7C00 @ =0x0000ffec cmp r0, 0 @@ -687,7 +652,7 @@ sub_80D7C08: @ 80D7C08 adds r4, r0, 0 ldr r0, _080D7C5C @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _080D7C60 @ =0x0000ffec cmp r0, 0 @@ -810,13 +775,13 @@ sub_80D7CD4: @ 80D7CD4 ldr r4, _080D7D1C @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -836,7 +801,7 @@ _080D7D20: _080D7D32: ldr r0, _080D7D54 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7D5C @@ -1039,7 +1004,7 @@ _080D7EAC: bl SetAverageBattlerPositions ldr r0, _080D7EF0 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7ED2 @@ -1108,7 +1073,7 @@ _080D7F34: movs r1, 0 bl SetAverageBattlerPositions ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7F60 @@ -1154,7 +1119,7 @@ _080D7F92: movs r1, 0 bl SetAverageBattlerPositions ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7FBC @@ -1201,7 +1166,7 @@ _080D7FF6: strh r0, [r5, 0x3A] ldr r0, _080D803C @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D800C @@ -1686,13 +1651,13 @@ sub_80D83E0: @ 80D83E0 ldr r5, _080D840C @ =gAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -2074,12 +2039,12 @@ sub_80D8700: @ 80D8700 mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord adds r4, r0, 0 ldr r7, _080D87F0 @ =gAnimBankTarget ldrb r0, [r7] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -2119,7 +2084,7 @@ _080D8734: cmp r0, 0 bne _080D8790 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, _080D87F8 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -2140,13 +2105,13 @@ _080D8794: ldr r4, _080D87EC @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2162,7 +2127,7 @@ _080D8794: ldr r4, _080D87F0 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -2189,7 +2154,7 @@ _080D87FC: ldr r4, _080D886C @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -2202,7 +2167,7 @@ _080D87FC: ldrb r0, [r4] movs r1, 0x1 _080D8824: - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x8] @@ -2301,7 +2266,7 @@ _080D88D6: ldr r6, _080D8928 @ =gAnimBankTarget ldrb r0, [r6] movs r1, 0 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] @@ -2701,7 +2666,7 @@ sub_80D8BA8: @ 80D8BA8 ldrh r0, [r4, 0x2] lsls r0, 20 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 @@ -2713,12 +2678,12 @@ sub_80D8BA8: @ 80D8BA8 str r0, [sp, 0x4] adds r0, r5, 0 movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 adds r0, r5, 0 movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 mov r1, r8 @@ -3032,7 +2997,7 @@ _080D8E6A: strh r0, [r5, 0x2E] ldr r0, _080D8ED4 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D8E92 @@ -3043,7 +3008,7 @@ _080D8E92: ldr r4, _080D8ED8 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -3051,7 +3016,7 @@ _080D8E92: strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] diff --git a/asm/nakamura_debug_menu.s b/asm/nakamura_debug_menu.s deleted file mode 100644 index 21092fe4b..000000000 --- a/asm/nakamura_debug_menu.s +++ /dev/null @@ -1,4686 +0,0 @@ -.if DEBUG - - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .text - - thumb_func_start debug_sub_815F1B8 -debug_sub_815F1B8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0xe - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._1 @ _843E3DC - mov r0, #0x10 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xe - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0xf - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - add sp, sp, #0x8 - pop {r0} - bx r0 -._2: - .align 2, 0 -._1: - .word _843E3DC - - thumb_func_end debug_sub_815F1B8 - - thumb_func_start InitNakamuraDebugMenu -InitNakamuraDebugMenu: - push {lr} - bl debug_sub_815F1B8 - ldr r1, ._3 @ gMenuCallback - ldr r0, ._3 + 4 @ debug_sub_815F214 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._4: - .align 2, 0 -._3: - .word gMenuCallback - .word debug_sub_815F214+1 - - thumb_func_end InitNakamuraDebugMenu - - thumb_func_start debug_sub_815F214 -debug_sub_815F214: - push {r4, lr} - ldr r4, ._9 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._5 @cond_branch - mov r0, #0x1 - neg r0, r0 - bl Menu_MoveCursor -._5: - ldrh r1, [r4, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._6 @cond_branch - mov r0, #0x1 - bl Menu_MoveCursor -._6: - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._7 @cond_branch - ldr r4, ._9 + 4 @ _843E3DC - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r0, r0, #0x15 - add r4, r4, #0x4 - add r0, r0, r4 - ldr r4, [r0] - bl Menu_DestroyCursor - bl _call_via_r4 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._12 -._10: - .align 2, 0 -._9: - .word gMain - .word _843E3DC -._7: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - bne ._11 @cond_branch - mov r0, #0x0 - b ._12 -._11: - bl CloseMenu - mov r0, #0x1 -._12: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_815F214 - - thumb_func_start debug_sub_815F284 -debug_sub_815F284: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r0, ._14 @ gPaletteFade - ldrb r1, [r0, #0x7] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - bne ._13 @cond_branch - bl debug_sub_81381B4 - mov r0, #0x5 - mov r1, #0x0 - bl OpenPartyMenu - add r0, r4, #0 - bl DestroyTask -._13: - pop {r4} - pop {r0} - bx r0 -._15: - .align 2, 0 -._14: - .word gPaletteFade - - thumb_func_end debug_sub_815F284 - - thumb_func_start debug_sub_815F2B4 -debug_sub_815F2B4: - push {lr} - add sp, sp, #0xfffffffc - bl CloseMenu - bl Menu_EraseScreen - ldr r1, ._16 @ gMain - ldr r0, ._16 + 4 @ sub_805469C - str r0, [r1, #0x8] - ldr r0, ._16 + 8 @ debug_sub_815F284 - mov r1, #0x0 - bl CreateTask - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - mov r0, #0x1 - add sp, sp, #0x4 - pop {r1} - bx r1 -._17: - .align 2, 0 -._16: - .word gMain - .word sub_805469C+1 - .word debug_sub_815F284+1 - - thumb_func_end debug_sub_815F2B4 - - thumb_func_start debug_sub_815F2F4 -debug_sub_815F2F4: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xfffffffc - bl CloseMenu - mov r7, #0x1 -._34: - lsl r1, r7, #0x2 - add r0, r1, r7 - lsl r2, r0, #0x5 - ldr r3, ._24 @ gSaveBlock1 - add r0, r2, r3 - ldr r5, ._24 + 4 @ 0x1a08 - add r0, r0, r5 - ldrb r0, [r0] - mov r9, r1 - add r1, r7, #1 - str r1, [sp] - cmp r0, #0 - beq ._18 @cond_branch - b ._19 -._18: - mov r5, #0x0 - ldr r6, ._24 + 8 @ gSaveBlock2 - add r4, r7, #0 - sub r4, r4, #0x46 - ldr r3, ._24 + 12 @ gSaveBlock1 -._21: - add r1, r5, r2 - add r1, r1, r3 - add r0, r5, r6 - ldrb r0, [r0] - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0xff - beq ._20 @cond_branch - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x6 - bls ._21 @cond_branch -._20: - cmp r5, #0x7 - bne ._22 @cond_branch - add r0, r2, #6 - b ._23 -._25: - .align 2, 0 -._24: - .word gSaveBlock1 - .word 0x1a08 - .word gSaveBlock2 - .word gSaveBlock1+0x1a0a -._22: - add r0, r5, r2 -._23: - add r0, r0, r3 - strb r4, [r0] - ldr r1, ._35 @ gSaveBlock1 - ldr r2, ._35 + 4 @ 0x1a08 - add r2, r2, r1 - mov sl, r2 - mov r3, r9 - add r0, r3, r7 - lsl r6, r0, #0x5 - add r1, r6, r1 - ldr r5, ._35 + 4 @ 0x1a08 - add r5, r5, r1 - mov r8, r5 -._30: - bl Random - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0x4b - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0xe - ldr r1, ._35 + 8 @ _843E424 - add r0, r0, r1 - ldrb r0, [r0] - mov r2, r8 - strb r0, [r2] - mov r5, #0x0 - cmp r5, r7 - bcs ._28 @cond_branch - mov r3, sl - ldrb r3, [r3] - cmp r0, r3 - beq ._28 @cond_branch - ldr r4, ._35 @ gSaveBlock1 - add r0, r6, r4 - ldr r2, ._35 + 4 @ 0x1a08 - add r3, r0, r2 -._29: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r7 - bcs ._28 @cond_branch - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x5 - add r0, r0, r4 - add r0, r0, r2 - ldrb r1, [r3] - ldrb r0, [r0] - cmp r1, r0 - bne ._29 @cond_branch -._28: - cmp r5, r7 - bne ._30 @cond_branch - bl Random - mov r5, r9 - add r4, r5, r7 - lsl r4, r4, #0x5 - ldr r1, ._35 @ gSaveBlock1 - add r3, r4, r1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0x1 - ldr r2, ._35 + 12 @ 0x1a09 - add r3, r3, r2 - and r0, r0, r1 - lsl r0, r0, #0x4 - ldrb r1, [r3] - mov r5, #0x11 - neg r5, r5 - add r2, r5, #0 - and r1, r1, r2 - orr r1, r1, r0 - strb r1, [r3] - mov r5, #0x0 - ldr r6, ._35 + 16 @ gSaveBlock1 -._31: - bl Random - add r1, r5, r4 - add r1, r1, r6 - strb r0, [r1] - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x3 - bls ._31 @cond_branch - mov r5, #0x0 - mov r1, r9 - add r0, r1, r7 - lsl r4, r0, #0x5 - ldr r3, ._35 + 20 @ gSaveBlock1 - mov r2, #0x0 - add r6, r3, #0 - add r6, r6, #0x10 -._32: - add r1, r5, r4 - add r0, r1, r3 - strb r2, [r0] - add r1, r1, r6 - strb r2, [r1] - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0xf - bls ._32 @cond_branch - add r0, r7, #0 - bl unref_sub_80BCD7C -._19: - ldr r2, [sp] - lsl r0, r2, #0x18 - lsr r7, r0, #0x18 - cmp r7, #0x13 - bhi ._33 @cond_branch - b ._34 -._33: - mov r0, #0x1 - add sp, sp, #0x4 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._36: - .align 2, 0 -._35: - .word gSaveBlock1 - .word 0x1a08 - .word _843E424 - .word 0x1a09 - .word gSaveBlock1+0x1a11 - .word gSaveBlock1+0x1a1a - - thumb_func_end debug_sub_815F2F4 - - thumb_func_start debug_sub_815F470 -debug_sub_815F470: - push {r4, r5, r6, r7, lr} - add r6, r0, #0 - add r7, r1, #0 - mov ip, r2 - ldr r2, ._39 @ gSaveBlock1 - ldr r0, ._39 + 4 @ _nakamuraData0 - ldrb r1, [r0] - lsl r0, r1, #0x2 - add r0, r0, r1 - lsl r0, r0, #0x5 - add r0, r0, r2 - ldr r1, ._39 + 8 @ 0x1a08 - add r0, r0, r1 - ldrb r4, [r0] - mov r2, #0x0 - ldr r3, ._39 + 12 @ _843E424 - add r5, r3, #0 -._41: - lsl r1, r2, #0x2 - add r0, r1, r5 - ldrb r0, [r0] - cmp r0, r4 - bne ._37 @cond_branch - add r0, r1, #1 - add r0, r0, r3 - ldrb r0, [r0] - strb r0, [r6] - add r0, r1, #2 - add r0, r0, r3 - ldrb r0, [r0] - strb r0, [r7] - add r0, r1, #3 - add r0, r0, r3 - ldrb r0, [r0] - mov r1, ip - strb r0, [r1] - b ._38 -._40: - .align 2, 0 -._39: - .word gSaveBlock1 - .word _nakamuraData0 - .word 0x1a08 - .word _843E424 -._37: - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x4a - bls ._41 @cond_branch -._38: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_sub_815F470 - - thumb_func_start debug_sub_815F4D8 -debug_sub_815F4D8: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xfffffffc - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0xa - mov r3, #0xa - bl Menu_BlankWindowRect - ldr r6, ._43 @ gStringVar1 - ldr r7, ._43 + 4 @ _nakamuraData0 - ldrb r1, [r7] - add r0, r6, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r2, ._43 + 8 @ gSaveBlock1 - ldrb r1, [r7] - lsl r0, r1, #0x2 - add r0, r0, r1 - lsl r0, r0, #0x5 - add r0, r0, r2 - ldr r1, ._43 + 12 @ 0x1a08 - add r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq ._42 @cond_branch - mov r4, sp - add r4, r4, #0x1 - mov r5, sp - add r5, r5, #0x2 - mov r0, sp - add r1, r4, #0 - add r2, r5, #0 - bl debug_sub_815F470 - ldrb r1, [r7] - add r0, r6, #0 - bl sub_80BC190 - add r0, r6, #0 - mov r1, #0x1 - mov r2, #0x3 - bl Menu_PrintText - ldr r0, ._43 + 16 @ Str_843E550 - mov r1, #0x1 - mov r2, #0x5 - bl Menu_PrintText - mov r0, sp - ldrb r1, [r0] - add r0, r6, #0 - mov r2, #0x0 - mov r3, #0x3 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0x2 - mov r2, #0x5 - bl Menu_PrintText - ldr r0, ._43 + 20 @ Str_843E552 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintText - ldrb r1, [r4] - add r0, r6, #0 - mov r2, #0x0 - mov r3, #0x3 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0x3 - mov r2, #0x7 - bl Menu_PrintText - ldr r0, ._43 + 24 @ Str_843E554 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintText - ldrb r1, [r5] - add r0, r6, #0 - mov r2, #0x0 - mov r3, #0x3 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0x3 - mov r2, #0x9 - bl Menu_PrintText -._42: - add sp, sp, #0x4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._44: - .align 2, 0 -._43: - .word gStringVar1 - .word _nakamuraData0 - .word gSaveBlock1 - .word 0x1a08 - .word Str_843E550 - .word Str_843E552 - .word Str_843E554 - - thumb_func_end debug_sub_815F4D8 - - thumb_func_start debug_sub_815F5C4 -debug_sub_815F5C4: - push {lr} - ldr r0, ._48 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - cmp r2, #0 - beq ._45 @cond_branch - ldr r1, ._48 + 4 @ _nakamuraData0 - ldrb r0, [r1] - cmp r0, #0 - bne ._46 @cond_branch - mov r0, #0x13 - b ._50 -._49: - .align 2, 0 -._48: - .word gMain - .word _nakamuraData0 -._46: - sub r0, r0, #0x1 - b ._50 -._45: - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._51 @cond_branch - ldr r1, ._54 @ _nakamuraData0 - ldrb r0, [r1] - cmp r0, #0x13 - bne ._52 @cond_branch - strb r2, [r1] - b ._53 -._55: - .align 2, 0 -._54: - .word _nakamuraData0 -._52: - add r0, r0, #0x1 -._50: - strb r0, [r1] -._53: - bl debug_sub_815F4D8 - mov r0, #0x0 - b ._58 -._51: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - bne ._57 @cond_branch - mov r0, #0x0 - b ._58 -._57: - bl CloseMenu - mov r0, #0x1 -._58: - pop {r1} - bx r1 - - thumb_func_end debug_sub_815F5C4 - - thumb_func_start debug_sub_815F62C -debug_sub_815F62C: - push {lr} - ldr r1, ._59 @ _nakamuraData0 - mov r0, #0x0 - strb r0, [r1] - ldr r1, ._59 + 4 @ gMenuCallback - ldr r0, ._59 + 8 @ debug_sub_815F5C4 - str r0, [r1] - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xb - mov r3, #0xb - bl Menu_DrawStdWindowFrame - bl debug_sub_815F4D8 - mov r0, #0x0 - pop {r1} - bx r1 -._60: - .align 2, 0 -._59: - .word _nakamuraData0 - .word gMenuCallback - .word debug_sub_815F5C4+1 - - thumb_func_end debug_sub_815F62C - - thumb_func_start debug_sub_815F668 -debug_sub_815F668: - push {r4, r5, r6, lr} - ldr r0, ._61 @ _nakamuraData0 - ldrb r0, [r0] - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x5 - ldr r0, ._61 + 4 @ gSaveBlock1 - add r1, r1, r0 - ldrb r4, [r1, #0x3] - lsl r4, r4, #0x18 - ldrb r0, [r1, #0x2] - lsl r0, r0, #0x10 - orr r4, r4, r0 - ldrb r0, [r1, #0x1] - lsl r0, r0, #0x8 - orr r4, r4, r0 - ldrb r0, [r1] - orr r4, r4, r0 - ldr r5, ._61 + 8 @ gStringVar1 - ldr r6, ._61 + 12 @ 0x186a0 - add r0, r4, #0 - add r1, r6, #0 - bl __udivsi3 - add r1, r0, #0 - add r0, r5, #0 - mov r2, #0x2 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r5, #0 - mov r1, #0x2 - mov r2, #0x7 - bl Menu_PrintText - add r0, r4, #0 - add r1, r6, #0 - bl __umodsi3 - add r1, r0, #0 - add r0, r5, #0 - mov r2, #0x2 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r5, #0 - mov r1, #0x7 - mov r2, #0x7 - bl Menu_PrintText - pop {r4, r5, r6} - pop {r0} - bx r0 -._62: - .align 2, 0 -._61: - .word _nakamuraData0 - .word gSaveBlock1+0x1a11 - .word gStringVar1 - .word 0x186a0 - - thumb_func_end debug_sub_815F668 - - thumb_func_start debug_sub_815F6E4 -debug_sub_815F6E4: - push {r4, lr} - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0xb - mov r3, #0x4 - bl Menu_BlankWindowRect - ldr r4, ._63 @ gStringVar1 - ldr r0, ._63 + 4 @ _nakamuraData0 - ldrb r0, [r0] - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x5 - ldr r0, ._63 + 8 @ gSaveBlock1 - add r1, r1, r0 - add r0, r4, #0 - mov r2, #0x7 - bl StringCopyN - mov r1, #0xff - strb r1, [r0] - add r0, r4, #0 - mov r1, #0x2 - mov r2, #0x3 - bl Menu_PrintText - pop {r4} - pop {r0} - bx r0 -._64: - .align 2, 0 -._63: - .word gStringVar1 - .word _nakamuraData0 - .word gSaveBlock1+0x1a0a - - thumb_func_end debug_sub_815F6E4 - - thumb_func_start debug_sub_815F72C -debug_sub_815F72C: - push {r4, r5, lr} - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0xb - mov r3, #0xa - bl Menu_BlankWindowRect - ldr r4, ._66 @ gStringVar1 - ldr r5, ._66 + 4 @ _nakamuraData0 - ldrb r1, [r5] - add r0, r4, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x2 - mov r2, #0x1 - bl Menu_PrintText - ldr r2, ._66 + 8 @ gSaveBlock1 - ldrb r1, [r5] - lsl r0, r1, #0x2 - add r0, r0, r1 - lsl r0, r0, #0x5 - add r0, r0, r2 - ldr r1, ._66 + 12 @ 0x1a08 - add r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq ._65 @cond_branch - bl debug_sub_815F6E4 - bl debug_sub_815F668 -._65: - pop {r4, r5} - pop {r0} - bx r0 -._67: - .align 2, 0 -._66: - .word gStringVar1 - .word _nakamuraData0 - .word gSaveBlock1 - .word 0x1a08 - - thumb_func_end debug_sub_815F72C - - thumb_func_start debug_sub_815F788 -debug_sub_815F788: - push {lr} - mov r0, #0x2 - mov r1, #0x5 - mov r2, #0xb - mov r3, #0x6 - bl Menu_BlankWindowRect - ldr r0, ._68 @ Str_843E574 - ldr r1, ._68 + 4 @ _nakamuraData2 - ldrb r1, [r1] - add r1, r1, #0x2 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - mov r2, #0x5 - bl Menu_PrintText - pop {r0} - bx r0 -._69: - .align 2, 0 -._68: - .word Str_843E574 - .word _nakamuraData2 - - thumb_func_end debug_sub_815F788 - - thumb_func_start debug_sub_815F7B4 -debug_sub_815F7B4: - push {lr} - ldr r0, ._72 @ _nakamuraData1 - ldrb r0, [r0] - cmp r0, #0 - beq ._70 @cond_branch - mov r0, #0xb - mov r1, #0x1 - mov r2, #0xb - mov r3, #0x2 - bl Menu_BlankWindowRect - b ._71 -._73: - .align 2, 0 -._72: - .word _nakamuraData1 -._70: - ldr r0, ._74 @ _nakamuraData3 - ldrb r0, [r0] - lsl r0, r0, #0x1 - ldr r1, ._74 + 4 @ Str_843E576 - add r0, r0, r1 - mov r1, #0xb - mov r2, #0x1 - bl Menu_PrintText -._71: - pop {r0} - bx r0 -._75: - .align 2, 0 -._74: - .word _nakamuraData3 - .word Str_843E576 - - thumb_func_end debug_sub_815F7B4 - - thumb_func_start debug_sub_815F7F0 -debug_sub_815F7F0: - push {r4, r5, lr} - ldr r1, ._78 @ _nakamuraData0 - ldrb r2, [r1] - lsl r1, r2, #0x2 - add r1, r1, r2 - lsl r1, r1, #0x5 - ldr r2, ._78 + 4 @ gSaveBlock1 - add r3, r1, r2 - ldrb r1, [r3, #0x3] - lsl r2, r1, #0x18 - ldrb r1, [r3, #0x2] - lsl r1, r1, #0x10 - orr r2, r2, r1 - ldrb r1, [r3, #0x1] - lsl r1, r1, #0x8 - orr r2, r2, r1 - ldrb r1, [r3] - orr r2, r2, r1 - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r4, #0x9 - ldr r0, ._78 + 8 @ _nakamuraData2 - ldrb r0, [r0] - cmp r4, r0 - ble ._76 @cond_branch - add r5, r0, #0 -._77: - lsl r0, r1, #0x2 - add r0, r0, r1 - lsl r1, r0, #0x1 - lsl r0, r4, #0x18 - mov r4, #0xff - lsl r4, r4, #0x18 - add r0, r0, r4 - lsr r4, r0, #0x18 - asr r0, r0, #0x18 - cmp r0, r5 - bgt ._77 @cond_branch -._76: - add r2, r2, r1 - lsr r0, r2, #0x18 - strb r0, [r3, #0x3] - mov r0, #0xff - lsl r0, r0, #0x10 - and r0, r0, r2 - lsr r0, r0, #0x10 - strb r0, [r3, #0x2] - mov r0, #0xff - lsl r0, r0, #0x8 - and r0, r0, r2 - lsr r0, r0, #0x8 - strb r0, [r3, #0x1] - strb r2, [r3] - bl debug_sub_815F668 - pop {r4, r5} - pop {r0} - bx r0 -._79: - .align 2, 0 -._78: - .word _nakamuraData0 - .word gSaveBlock1+0x1a11 - .word _nakamuraData2 - - thumb_func_end debug_sub_815F7F0 - - thumb_func_start debug_sub_815F86C -debug_sub_815F86C: - push {r4, r5, r6, lr} - lsl r0, r0, #0x18 - ldr r1, ._84 @ _nakamuraData0 - ldrb r2, [r1] - lsl r1, r2, #0x2 - add r1, r1, r2 - lsl r1, r1, #0x5 - ldr r2, ._84 + 4 @ gSaveBlock1 - add r5, r1, r2 - mov r2, #0x0 - mov r3, #0x0 - lsr r6, r0, #0x18 - asr r0, r0, #0x18 - cmp r0, #0x64 - bne ._80 @cond_branch - ldr r0, ._84 + 8 @ _nakamuraData2 - ldrb r1, [r0] - cmp r1, #0x6 - bhi ._100 @cond_branch - mov r2, #0xff -._82: - add r0, r5, r1 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x6 - bls ._82 @cond_branch - b ._100 -._85: - .align 2, 0 -._84: - .word _nakamuraData0 - .word gSaveBlock1+0x1a0a - .word _nakamuraData2 -._80: - ldr r0, ._87 @ _nakamuraData3 - ldrb r0, [r0] - cmp r0, #0x4 - bhi ._98 @cond_branch - lsl r0, r0, #0x2 - ldr r1, ._87 + 4 @ - add r0, r0, r1 - ldr r0, [r0] - mov pc, r0 -._88: - .align 2, 0 -._87: - .word _nakamuraData3 - .word ._89 -._89: - .word ._90 - .word ._91 - .word ._92 - .word ._93 - .word ._94 -._90: - mov r3, #0x1 - mov r2, #0x50 - b ._98 -._91: - mov r3, #0x51 - mov r2, #0xa0 - b ._98 -._92: - mov r3, #0xbb - mov r2, #0xd4 - b ._98 -._93: - mov r3, #0xd5 - mov r2, #0xee - b ._98 -._94: - mov r3, #0xa1 - mov r2, #0xaa -._98: - ldr r4, ._101 @ _nakamuraData2 - ldrb r1, [r4] - add r1, r5, r1 - ldrb r0, [r1] - add r0, r0, r6 - strb r0, [r1] - ldrb r0, [r4] - add r1, r5, r0 - ldrb r0, [r1] - cmp r0, r3 - bcs ._99 @cond_branch - strb r2, [r1] -._99: - ldrb r0, [r4] - add r1, r5, r0 - ldrb r0, [r1] - cmp r0, r2 - bls ._100 @cond_branch - strb r3, [r1] -._100: - bl debug_sub_815F6E4 - pop {r4, r5, r6} - pop {r0} - bx r0 -._102: - .align 2, 0 -._101: - .word _nakamuraData2 - - thumb_func_end debug_sub_815F86C - - thumb_func_start debug_sub_815F930 -debug_sub_815F930: - push {r4, r5, lr} - ldr r0, ._107 @ _nakamuraData1 - ldrb r2, [r0] - mov r4, #0xa - cmp r2, #0 - bne ._103 @cond_branch - mov r4, #0x7 -._103: - ldr r5, ._107 + 4 @ gMain - ldrh r1, [r5, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._104 @cond_branch - cmp r2, #0 - beq ._105 @cond_branch - mov r0, #0x1 - bl debug_sub_815F7F0 - b ._136 -._108: - .align 2, 0 -._107: - .word _nakamuraData1 - .word gMain -._105: - mov r0, #0x1 - b ._113 -._104: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._110 @cond_branch - cmp r2, #0 - beq ._111 @cond_branch - mov r0, #0x1 - neg r0, r0 - bl debug_sub_815F7F0 - b ._136 -._111: - mov r0, #0x1 - neg r0, r0 - b ._113 -._110: - mov r0, #0x20 - and r0, r0, r1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - cmp r3, #0 - beq ._114 @cond_branch - ldr r1, ._117 @ _nakamuraData2 - ldrb r0, [r1] - cmp r0, #0 - bne ._115 @cond_branch - sub r0, r4, #1 - b ._116 -._118: - .align 2, 0 -._117: - .word _nakamuraData2 -._115: - sub r0, r0, #0x1 -._116: - strb r0, [r1] -._125: - bl debug_sub_815F788 - b ._136 -._114: - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._120 @cond_branch - ldr r2, ._123 @ _nakamuraData2 - ldrb r1, [r2] - sub r0, r4, #1 - cmp r1, r0 - bne ._121 @cond_branch - strb r3, [r2] - b ._125 -._124: - .align 2, 0 -._123: - .word _nakamuraData2 -._121: - add r0, r1, #1 - strb r0, [r2] - b ._125 -._120: - ldrh r1, [r5, #0x2e] - mov r0, #0x4 - and r0, r0, r1 - cmp r0, #0 - beq ._126 @cond_branch - cmp r2, #0 - bne ._127 @cond_branch - ldr r4, ._129 @ _nakamuraData3 - ldrb r0, [r4] - add r0, r0, #0x1 - mov r1, #0x5 - bl __modsi3 - strb r0, [r4] -._127: - bl debug_sub_815F7B4 - b ._136 -._130: - .align 2, 0 -._129: - .word _nakamuraData3 -._126: - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._131 @cond_branch - mov r0, #0x2 - mov r1, #0x5 - mov r2, #0xb - mov r3, #0x6 - bl Menu_BlankWindowRect - mov r0, #0xb - mov r1, #0x1 - mov r2, #0xb - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r1, ._133 @ gMenuCallback - ldr r0, ._133 + 4 @ debug_sub_815FA38 - str r0, [r1] - b ._136 -._134: - .align 2, 0 -._133: - .word gMenuCallback - .word debug_sub_815FA38+1 -._131: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._136 @cond_branch - cmp r2, #0 - bne ._136 @cond_branch - mov r0, #0x64 -._113: - bl debug_sub_815F86C -._136: - mov r0, #0x0 - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_815F930 - - thumb_func_start debug_sub_815FA38 -debug_sub_815FA38: - push {r4, lr} - ldr r0, ._139 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._137 @cond_branch - mov r0, #0x2 - neg r0, r0 - b ._138 -._140: - .align 2, 0 -._139: - .word gMain -._137: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._141 @cond_branch - mov r0, #0x2 -._138: - bl Menu_MoveCursor -._161: - mov r0, #0x0 - b ._142 -._141: - mov r0, #0x20 - and r0, r0, r1 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - cmp r2, #0 - beq ._143 @cond_branch - ldr r1, ._146 @ _nakamuraData0 - ldrb r0, [r1] - cmp r0, #0 - bne ._144 @cond_branch - mov r0, #0x13 - b ._148 -._147: - .align 2, 0 -._146: - .word _nakamuraData0 -._144: - sub r0, r0, #0x1 - b ._148 -._143: - mov r0, #0x10 - and r0, r0, r1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0 - beq ._149 @cond_branch - ldr r1, ._152 @ _nakamuraData0 - ldrb r0, [r1] - cmp r0, #0x13 - bne ._150 @cond_branch - strb r2, [r1] - b ._151 -._153: - .align 2, 0 -._152: - .word _nakamuraData0 -._150: - add r0, r0, #0x1 -._148: - strb r0, [r1] -._151: - bl debug_sub_815F72C - b ._161 -._149: - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._155 @cond_branch - ldr r1, ._159 @ _nakamuraData0 - ldrb r0, [r1] - cmp r0, #0 - beq ._161 @cond_branch - ldr r2, ._159 + 4 @ gSaveBlock1 - add r1, r0, #0 - lsl r0, r1, #0x2 - add r0, r0, r1 - lsl r0, r0, #0x5 - add r0, r0, r2 - ldr r1, ._159 + 8 @ 0x1a08 - add r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0 - beq ._161 @cond_branch - bl Menu_GetCursorPos - ldr r1, ._159 + 12 @ _nakamuraData1 - strb r0, [r1] - ldr r0, ._159 + 16 @ _nakamuraData2 - strb r4, [r0] - bl debug_sub_815F788 - bl debug_sub_815F7B4 - ldr r1, ._159 + 20 @ gMenuCallback - ldr r0, ._159 + 24 @ debug_sub_815F930 - str r0, [r1] - b ._161 -._160: - .align 2, 0 -._159: - .word _nakamuraData0 - .word gSaveBlock1 - .word 0x1a08 - .word _nakamuraData1 - .word _nakamuraData2 - .word gMenuCallback - .word debug_sub_815F930+1 -._155: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._161 @cond_branch - bl CloseMenu - mov r0, #0x1 -._142: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_815FA38 - - thumb_func_start debug_sub_815FB1C -debug_sub_815FB1C: - push {lr} - add sp, sp, #0xfffffff8 - ldr r0, ._162 @ _nakamuraData0 - mov r1, #0x0 - strb r1, [r0] - ldr r0, ._162 + 4 @ _nakamuraData3 - strb r1, [r0] - ldr r1, ._162 + 8 @ gMenuCallback - ldr r0, ._162 + 12 @ debug_sub_815FA38 - str r0, [r1] - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xc - mov r3, #0xb - bl Menu_DrawStdWindowFrame - bl debug_sub_815F72C - mov r0, #0x0 - str r0, [sp] - mov r0, #0xb - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x3 - bl InitMenu - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._163: - .align 2, 0 -._162: - .word _nakamuraData0 - .word _nakamuraData3 - .word gMenuCallback - .word debug_sub_815FA38+1 - - thumb_func_end debug_sub_815FB1C - - thumb_func_start debug_sub_815FB78 -debug_sub_815FB78: - push {lr} - ldr r0, ._166 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._164 @cond_branch - mov r0, #0x1 - neg r0, r0 - b ._165 -._167: - .align 2, 0 -._166: - .word gMain -._164: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._168 @cond_branch - mov r0, #0x1 -._165: - bl Menu_MoveCursor - mov r0, #0x0 - b ._177 -._168: - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._170 @cond_branch - bl CloseMenu - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0 - beq ._171 @cond_branch - cmp r0, #0x1 - beq ._172 @cond_branch - b ._175 -._171: - bl debug_sub_814A714 - b ._175 -._172: - bl ClearRoamerData - bl ClearRoamerLocationData - b ._175 -._170: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - bne ._176 @cond_branch - mov r0, #0x0 - b ._177 -._176: - bl CloseMenu -._175: - mov r0, #0x1 -._177: - pop {r1} - bx r1 - - thumb_func_end debug_sub_815FB78 - - thumb_func_start debug_sub_815FBE8 -debug_sub_815FBE8: - push {r4, lr} - add sp, sp, #0xfffffff8 - ldr r1, ._178 @ gMenuCallback - ldr r0, ._178 + 4 @ debug_sub_815FB78 - str r0, [r1] - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - ldr r4, ._178 + 8 @ gStringVar1 - add r0, r4, #0 - bl debug_sub_814A73C - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xb - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - add r0, r4, #0 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._178 + 12 @ Str_843E580 - mov r1, #0x2 - mov r2, #0x3 - bl Menu_PrintText - mov r0, #0x0 - str r0, [sp] - mov r0, #0xa - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x3 - bl InitMenu - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._179: - .align 2, 0 -._178: - .word gMenuCallback - .word debug_sub_815FB78+1 - .word gStringVar1 - .word Str_843E580 - - thumb_func_end debug_sub_815FBE8 - - thumb_func_start debug_sub_815FC54 -debug_sub_815FC54: - push {r4, r5, r6, r7, lr} - mov r3, #0x0 - ldr r7, ._181 @ gSaveBlock1 - mov r6, #0xe8 - lsl r6, r6, #0x3 - ldr r5, ._181 + 4 @ 0x3e7 - ldr r4, ._181 + 8 @ 0x742 -._180: - lsl r1, r3, #0x2 - add r1, r1, r7 - add r2, r3, #0 - add r2, r2, #0x85 - add r0, r1, r6 - strh r2, [r0] - add r1, r1, r4 - strh r5, [r1] - add r0, r3, #1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - cmp r3, #0x2a - bls ._180 @cond_branch - bl CloseMenu - mov r0, #0x1 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._182: - .align 2, 0 -._181: - .word gSaveBlock1 - .word 0x3e7 - .word 0x742 - - thumb_func_end debug_sub_815FC54 - - thumb_func_start debug_sub_815FC94 -debug_sub_815FC94: - push {lr} - bl ClearDecorationInventories - bl debug_sub_814A3A8 - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_815FC94 - - thumb_func_start debug_sub_815FCB4 -debug_sub_815FCB4: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - mov r7, #0x0 - ldr r5, ._188 @ gMapHeader - ldr r0, [r5] - ldr r0, [r0, #0x4] - mov r1, #0x3 - bl __divsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - add r1, r0, #0 - mul r1, r1, r4 - lsl r1, r1, #0x10 - lsr r6, r1, #0x10 - add r0, r6, r0 - mov r9, r5 - cmp r6, r0 - bge ._183 @cond_branch - mov r8, r0 -._187: - mov r4, #0x0 - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - add r5, r6, #1 - cmp r4, r0 - bge ._184 @cond_branch - ldr r0, ._188 @ gMapHeader - mov r9, r0 -._186: - add r0, r4, #7 - add r1, r6, #7 - bl MapGridGetMetatileBehaviorAt - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl sub_805759C - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x1 - bne ._185 @cond_branch - add r0, r7, #1 - lsl r0, r0, #0x10 - lsr r7, r0, #0x10 -._185: - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - ldr r0, ._188 @ gMapHeader - ldr r0, [r0] - ldr r0, [r0] - cmp r4, r0 - blt ._186 @cond_branch -._184: - lsl r0, r5, #0x10 - lsr r6, r0, #0x10 - cmp r6, r8 - blt ._187 @cond_branch -._183: - add r0, r7, #0 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._189: - .align 2, 0 -._188: - .word gMapHeader - - thumb_func_end debug_sub_815FCB4 - - thumb_func_start debug_sub_815FD40 -debug_sub_815FD40: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xfffffffc - mov r6, #0x0 - mov r4, sp - add r4, r4, #0x2 - mov r0, sp - add r1, r4, #0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r1, sp - mov r0, sp - ldrh r0, [r0] - sub r0, r0, #0x7 - strh r0, [r1] - ldrh r0, [r4] - sub r0, r0, #0x7 - strh r0, [r4] - mov r5, #0x0 - ldr r1, ._192 @ gMapHeader - ldr r0, [r1] - ldr r0, [r0, #0x4] - add r7, r4, #0 - cmp r6, r0 - bge ._190 @cond_branch -._199: - mov r4, #0x0 - ldr r0, [r1] - b ._191 -._193: - .align 2, 0 -._192: - .word gMapHeader -._198: - add r0, r4, #7 - add r1, r5, #7 - bl MapGridGetMetatileBehaviorAt - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl sub_805759C - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x1 - bne ._196 @cond_branch - add r0, r6, #1 - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - mov r0, sp - mov r1, #0x0 - ldsh r0, [r0, r1] - cmp r0, r4 - bne ._196 @cond_branch - mov r1, #0x0 - ldsh r0, [r7, r1] - cmp r0, r5 - bne ._196 @cond_branch - add r0, r6, #0 - b ._197 -._196: - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - ldr r0, ._200 @ gMapHeader - ldr r0, [r0] -._191: - ldr r0, [r0] - cmp r4, r0 - blt ._198 @cond_branch - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - ldr r1, ._200 @ gMapHeader - ldr r0, [r1] - ldr r0, [r0, #0x4] - cmp r5, r0 - blt ._199 @cond_branch -._190: - add r0, r6, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 -._197: - add sp, sp, #0x4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._201: - .align 2, 0 -._200: - .word gMapHeader - - thumb_func_end debug_sub_815FD40 - - thumb_func_start debug_sub_815FDE4 -debug_sub_815FDE4: - push {lr} - ldr r0, ._205 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - bne ._202 @cond_branch - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._203 @cond_branch -._202: - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - bl CloseMenu - mov r0, #0x1 - b ._204 -._206: - .align 2, 0 -._205: - .word gMain -._203: - mov r0, #0x0 -._204: - pop {r1} - bx r1 - - thumb_func_end debug_sub_815FDE4 - - thumb_func_start debug_sub_815FE1C -debug_sub_815FE1C: - push {r4, r5, r6, r7, lr} - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x10 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._210 @ Str_843E58D - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r6, ._210 + 4 @ gStringVar1 - mov r0, #0x0 - bl debug_sub_815FCB4 - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0x5 - mov r2, #0x3 - bl Menu_PrintText - mov r0, #0x1 - bl debug_sub_815FCB4 - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0x5 - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0x2 - bl debug_sub_815FCB4 - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0x5 - mov r2, #0x7 - bl Menu_PrintText - mov r0, #0x0 - bl debug_sub_8092344 - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0xb - mov r2, #0x3 - bl Menu_PrintText - mov r0, #0x1 - bl debug_sub_8092344 - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0xb - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0x2 - bl debug_sub_8092344 - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r6, #0 - mov r1, #0xb - mov r2, #0x7 - bl Menu_PrintText - ldr r0, ._210 + 8 @ gSaveBlock1 - ldr r1, ._210 + 12 @ 0x2dd6 - add r0, r0, r1 - ldrh r0, [r0] - bl FeebasSeedRng - mov r0, #0x0 - bl debug_sub_815FCB4 - add r4, r0, #0 - mov r0, #0x1 - bl debug_sub_815FCB4 - add r5, r0, #0 - mov r0, #0x2 - bl debug_sub_815FCB4 - add r4, r4, r5 - add r0, r0, r4 - lsl r0, r0, #0x10 - lsr r7, r0, #0x10 - mov r5, #0x0 -._209: - bl FeebasRandom - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - add r1, r7, #0 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0 - bne ._207 @cond_branch - add r1, r7, #0 -._207: - sub r0, r1, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - cmp r0, #0x2 - bls ._208 @cond_branch - add r0, r6, #0 - mov r2, #0x1 - mov r3, #0x4 - bl ConvertIntToDecimalStringN - add r0, r5, #0 - mov r1, #0x3 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - lsl r4, r0, #0x2 - add r4, r4, r0 - add r4, r4, #0x2 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r5, #0 - mov r1, #0x3 - bl __udivsi3 - add r2, r0, #0 - lsl r2, r2, #0x19 - mov r0, #0xb0 - lsl r0, r0, #0x14 - add r2, r2, r0 - lsr r2, r2, #0x18 - add r0, r6, #0 - add r1, r4, #0 - bl Menu_PrintText - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -._208: - cmp r5, #0x6 - bne ._209 @cond_branch - ldr r4, ._210 + 4 @ gStringVar1 - bl debug_sub_815FD40 - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r4, #0 - mov r2, #0x1 - mov r3, #0x4 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x2 - mov r2, #0x11 - bl Menu_PrintText - ldr r1, ._210 + 16 @ gMenuCallback - ldr r0, ._210 + 20 @ debug_sub_815FDE4 - str r0, [r1] - mov r0, #0x0 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._211: - .align 2, 0 -._210: - .word Str_843E58D - .word gStringVar1 - .word gSaveBlock1 - .word 0x2dd6 - .word gMenuCallback - .word debug_sub_815FDE4+1 - - thumb_func_end debug_sub_815FE1C - - thumb_func_start debug_sub_815FFDC -debug_sub_815FFDC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r0, #0xe - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0xe - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._214 @ Str_843E5D4 - mov r1, #0x1 - mov r2, #0xf - bl Menu_PrintText - mov r5, #0x0 - ldr r0, ._214 + 4 @ _nakamuraStatic0 - mov r8, r0 -._216: - mov r0, #0x64 - add r1, r5, #0 - mul r1, r1, r0 - ldr r0, ._214 + 8 @ gPlayerParty - add r6, r1, r0 - add r0, r6, #0 - mov r1, #0xb - bl GetMonData - lsl r1, r5, #0x2 - mov r2, r8 - add r4, r1, r2 - strh r0, [r4] - lsl r0, r0, #0x10 - add r7, r1, #0 - cmp r0, #0 - beq ._212 @cond_branch - add r0, r6, #0 - mov r1, #0x38 - bl GetMonData - strb r0, [r4, #0x2] - add r0, r5, #0 - bl debug_sub_816009C - add r0, r5, #0 - bl debug_sub_81600D0 - add r0, r5, #0 - bl debug_sub_816013C - b ._213 -._215: - .align 2, 0 -._214: - .word Str_843E5D4 - .word _nakamuraStatic0 - .word gPlayerParty -._212: - mov r0, #0x1 - strb r0, [r4, #0x2] -._213: - mov r0, r8 - add r1, r7, r0 - mov r0, #0x0 - strb r0, [r1, #0x3] - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x5 - bls ._216 @cond_branch - ldr r1, ._217 @ _nakamuraData4 - mov r0, #0x0 - strb r0, [r1] - mov r0, #0xf - mov r1, #0x1 - mov r2, #0xff - bl PrintTriangleCursorWithPalette - ldr r1, ._217 + 4 @ gMenuCallback - ldr r0, ._217 + 8 @ debug_sub_8160498 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._218: - .align 2, 0 -._217: - .word _nakamuraData4 - .word gMenuCallback - .word debug_sub_8160498+1 - - thumb_func_end debug_sub_815FFDC - - thumb_func_start debug_sub_816009C -debug_sub_816009C: - push {lr} - add r2, r0, #0 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - ldr r1, ._219 @ _nakamuraStatic0 - lsl r0, r2, #0x2 - add r0, r0, r1 - mov r3, #0x0 - ldsh r1, [r0, r3] - mov r0, #0xb - mul r0, r0, r1 - ldr r1, ._219 + 4 @ gSpeciesNames - add r0, r0, r1 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r1, #0x10 - bl Menu_PrintText - pop {r0} - bx r0 -._220: - .align 2, 0 -._219: - .word _nakamuraStatic0 - .word gSpeciesNames - - thumb_func_end debug_sub_816009C - - thumb_func_start debug_sub_81600D0 -debug_sub_81600D0: - push {r4, r5, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - add r5, r4, #0 - ldr r1, ._223 @ Str_843E5F0 - mov r0, sp - mov r2, #0x2 - bl memcpy - mov r0, #0x64 - mul r0, r0, r4 - ldr r1, ._223 + 4 @ gPlayerParty - add r0, r0, r1 - bl GetMonGender - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0 - bne ._221 @cond_branch - ldr r0, ._223 + 8 @ gOtherText_MaleSymbol2 - b ._222 -._224: - .align 2, 0 -._223: - .word Str_843E5F0 - .word gPlayerParty - .word gOtherText_MaleSymbol2 -._221: - cmp r0, #0xfe - bne ._225 @cond_branch - ldr r0, ._227 @ gOtherText_FemaleSymbolAndLv -._222: - lsl r2, r4, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r1, #0x17 - bl Menu_PrintText - b ._226 -._228: - .align 2, 0 -._227: - .word gOtherText_FemaleSymbolAndLv -._225: - lsl r2, r5, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r0, sp - mov r1, #0x17 - bl Menu_PrintText -._226: - add sp, sp, #0x4 - pop {r4, r5} - pop {r0} - bx r0 - - thumb_func_end debug_sub_81600D0 - - thumb_func_start debug_sub_816013C -debug_sub_816013C: - push {r4, r5, lr} - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r5, ._229 @ gStringVar1 - ldr r1, ._229 + 4 @ _nakamuraStatic0 - lsl r0, r4, #0x2 - add r0, r0, r1 - mov r1, #0x2 - ldrsb r1, [r0, r1] - add r0, r5, #0 - mov r2, #0x1 - mov r3, #0x3 - bl ConvertIntToDecimalStringN - lsl r4, r4, #0x1 - add r4, r4, #0x1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r5, #0 - mov r1, #0x1a - add r2, r4, #0 - bl Menu_PrintText - pop {r4, r5} - pop {r0} - bx r0 -._230: - .align 2, 0 -._229: - .word gStringVar1 - .word _nakamuraStatic0 - - thumb_func_end debug_sub_816013C - - thumb_func_start debug_sub_816017C -debug_sub_816017C: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - lsl r3, r4, #0x1 - add r1, r3, #1 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r3, r3, #0x2 - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - mov r0, #0x10 - mov r2, #0x1c - bl Menu_BlankWindowRect - ldr r1, ._232 @ _nakamuraStatic0 - lsl r0, r4, #0x2 - add r0, r0, r1 - mov r1, #0x0 - ldsh r0, [r0, r1] - cmp r0, #0 - beq ._231 @cond_branch - add r0, r4, #0 - bl debug_sub_816009C - add r0, r4, #0 - bl debug_sub_81600D0 - add r0, r4, #0 - bl debug_sub_816013C -._231: - mov r0, #0x5 - bl debug_sub_81603B8 - pop {r4} - pop {r0} - bx r0 -._233: - .align 2, 0 -._232: - .word _nakamuraStatic0 - - thumb_func_end debug_sub_816017C - - thumb_func_start debug_sub_81601C8 -debug_sub_81601C8: - push {r4, r5, lr} - add sp, sp, #0xfffffff0 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r1, ._239 @ _nakamuraStatic0 - lsl r0, r5, #0x2 - add r2, r0, r1 - mov r4, #0x0 - ldsh r0, [r2, r4] - cmp r0, #0 - bne ._236 @cond_branch - ldrb r0, [r2, #0x3] - cmp r0, #0 - bne ._236 @cond_branch - cmp r3, #0x1 - bne ._236 @cond_branch - mov r0, #0x8a - lsl r0, r0, #0x1 - strh r0, [r2] -._236: - lsl r0, r5, #0x2 - add r4, r0, r1 - lsl r0, r3, #0x18 - asr r0, r0, #0x18 - ldrh r1, [r4] - add r2, r0, r1 - mov r3, #0x0 - strh r2, [r4] - lsl r1, r2, #0x10 - mov r0, #0xcd - lsl r0, r0, #0x11 - cmp r1, r0 - ble ._237 @cond_branch - ldr r1, ._239 + 4 @ 0xfffffe65 - add r0, r2, r1 - strh r0, [r4] -._237: - ldrh r1, [r4] - mov r2, #0x0 - ldsh r0, [r4, r2] - cmp r0, #0 - bge ._238 @cond_branch - ldr r2, ._239 + 8 @ 0x19b - add r0, r1, r2 - strh r0, [r4] -._238: - mov r0, #0x64 - mul r0, r0, r5 - ldr r1, ._239 + 12 @ gPlayerParty - add r0, r0, r1 - ldrh r1, [r4] - ldrb r2, [r4, #0x2] - str r3, [sp] - str r3, [sp, #0x4] - str r3, [sp, #0x8] - str r3, [sp, #0xc] - mov r3, #0x20 - bl CreateMon - mov r0, #0x1 - strb r0, [r4, #0x3] - add sp, sp, #0x10 - pop {r4, r5} - pop {r0} - bx r0 -._240: - .align 2, 0 -._239: - .word _nakamuraStatic0 - .word 0xfffffe65 - .word 0x19b - .word gPlayerParty - - thumb_func_end debug_sub_81601C8 - - thumb_func_start debug_sub_8160258 -debug_sub_8160258: - push {lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - ldr r1, ._242 @ _nakamuraStatic0 - lsl r0, r2, #0x2 - add r0, r0, r1 - mov r1, #0x0 - ldsh r0, [r0, r1] - cmp r0, #0 - beq ._241 @cond_branch - add r0, r2, #0 - bl debug_sub_816062C -._241: - pop {r0} - bx r0 -._243: - .align 2, 0 -._242: - .word _nakamuraStatic0 - - thumb_func_end debug_sub_8160258 - - thumb_func_start debug_sub_816027C -debug_sub_816027C: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r4, r0, #0 - lsl r1, r1, #0x18 - lsr r2, r1, #0x18 - ldr r1, ._247 @ _nakamuraStatic0 - lsl r0, r4, #0x2 - add r3, r0, r1 - mov r1, #0x0 - ldsh r0, [r3, r1] - cmp r0, #0 - beq ._244 @cond_branch - lsl r0, r2, #0x18 - asr r0, r0, #0x18 - ldrb r1, [r3, #0x2] - add r0, r0, r1 - strb r0, [r3, #0x2] - lsl r0, r0, #0x18 - asr r0, r0, #0x18 - cmp r0, #0x64 - ble ._245 @cond_branch - mov r0, #0x1 - strb r0, [r3, #0x2] -._245: - mov r0, #0x2 - ldrsb r0, [r3, r0] - cmp r0, #0 - bgt ._246 @cond_branch - mov r0, #0x64 - strb r0, [r3, #0x2] -._246: - mov r0, #0x64 - mul r4, r4, r0 - ldr r0, ._247 + 4 @ gPlayerParty - add r4, r4, r0 - ldr r2, ._247 + 8 @ gBaseStats - mov r0, #0x0 - ldsh r1, [r3, r0] - lsl r0, r1, #0x3 - sub r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r2 - ldrb r1, [r0, #0x13] - mov r0, #0xca - lsl r0, r0, #0x1 - add r2, r1, #0 - mul r2, r2, r0 - mov r0, #0x2 - ldrsb r0, [r3, r0] - lsl r0, r0, #0x2 - ldr r1, ._247 + 12 @ gExperienceTables - add r0, r0, r1 - add r2, r2, r0 - add r0, r4, #0 - mov r1, #0x19 - bl SetMonData - add r0, r4, #0 - bl debug_sub_803F55C -._244: - pop {r4} - pop {r0} - bx r0 -._248: - .align 2, 0 -._247: - .word _nakamuraStatic0 - .word gPlayerParty - .word gBaseStats - .word gExperienceTables - - thumb_func_end debug_sub_816027C - - thumb_func_start debug_sub_8160308 -debug_sub_8160308: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add sp, sp, #0xffffff8c - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - mov r2, #0x0 -._252: - add r1, r2, #1 - lsl r0, r1, #0x18 - lsr r5, r0, #0x18 - mov r8, r1 - cmp r5, #0x5 - bhi ._249 @cond_branch - mov r0, #0x64 - mov r9, r0 - mov r0, r9 - mul r0, r0, r2 - ldr r7, ._254 @ gPlayerParty - add r6, r0, r7 -._251: - add r0, r6, #0 - mov r1, #0xb - mov r2, #0x0 - bl GetMonData - cmp r0, #0 - bne ._250 @cond_branch - add r0, sp, #0x10 - add r1, r6, #0 - mov r2, #0x64 - bl memcpy - mov r4, r9 - mul r4, r4, r5 - add r4, r4, r7 - add r0, r6, #0 - add r1, r4, #0 - mov r2, #0x64 - bl memcpy - add r0, r4, #0 - add r1, sp, #0x10 - mov r2, #0x64 - bl memcpy -._250: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x5 - bls ._251 @cond_branch -._249: - mov r1, r8 - lsl r0, r1, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x4 - bls ._252 @cond_branch - bl CalculatePlayerPartyCount - ldr r4, ._254 + 4 @ gPlayerPartyCount - ldrb r1, [r4] - cmp r1, #0 - bne ._253 @cond_branch - ldr r0, ._254 @ gPlayerParty - str r1, [sp] - str r1, [sp, #0x4] - str r1, [sp, #0x8] - str r1, [sp, #0xc] - mov r1, #0x1 - mov r2, #0xa - mov r3, #0x20 - bl CreateMon - mov r0, #0x1 - strb r0, [r4] -._253: - add sp, sp, #0x74 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._255: - .align 2, 0 -._254: - .word gPlayerParty - .word gPlayerPartyCount - - thumb_func_end debug_sub_8160308 - - thumb_func_start debug_sub_81603B8 -debug_sub_81603B8: - push {r4, r5, r6, r7, lr} - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - mov r0, #0x5 - bl PlaySE - ldr r7, ._259 @ _nakamuraData4 - ldrb r4, [r7] - add r0, r4, #0 - mov r1, #0x6 - bl __udivsi3 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - add r0, r4, #0 - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r0, ._259 + 4 @ _843E5D1 - add r0, r5, r0 - ldrb r2, [r0] - lsl r3, r4, #0x1 - add r1, r3, #1 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r3, r3, #0x2 - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - add r0, r2, #0 - bl Menu_BlankWindowRect - cmp r6, #0 - bne ._256 @cond_branch - cmp r4, #0 - beq ._257 @cond_branch - ldrb r0, [r7] - sub r0, r0, #0x1 - b ._258 -._260: - .align 2, 0 -._259: - .word _nakamuraData4 - .word _843E5D1 -._257: - lsl r0, r5, #0x1 - add r0, r0, r5 - lsl r0, r0, #0x1 - add r0, r0, #0x5 -._258: - strb r0, [r7] -._256: - ldr r1, ._264 @ _nakamuraData4 - cmp r6, #0x1 - bne ._261 @cond_branch - cmp r4, #0x5 - beq ._262 @cond_branch - ldrb r0, [r1] - add r0, r0, #0x1 - b ._263 -._265: - .align 2, 0 -._264: - .word _nakamuraData4 -._262: - lsl r0, r5, #0x1 - add r0, r0, r5 - lsl r0, r0, #0x1 -._263: - strb r0, [r1] -._261: - cmp r6, #0x2 - bne ._266 @cond_branch - cmp r5, #0 - beq ._267 @cond_branch - ldrb r0, [r1] - sub r0, r0, #0x6 - b ._268 -._267: - add r0, r4, #0 - add r0, r0, #0xc -._268: - strb r0, [r1] -._266: - cmp r6, #0x3 - bne ._271 @cond_branch - cmp r5, #0x2 - beq ._270 @cond_branch - ldrb r0, [r1] - add r0, r0, #0x6 - strb r0, [r1] - b ._271 -._270: - strb r4, [r1] -._271: - ldrb r4, [r1] - add r0, r4, #0 - mov r1, #0x6 - bl __udivsi3 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - add r0, r4, #0 - mov r1, #0x6 - bl __umodsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - ldr r0, ._272 @ _843E5D1 - add r0, r5, r0 - ldrb r0, [r0] - lsr r1, r1, #0x17 - add r1, r1, #0x1 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - mov r2, #0xff - bl PrintTriangleCursorWithPalette - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._273: - .align 2, 0 -._272: - .word _843E5D1 - - thumb_func_end debug_sub_81603B8 - - thumb_func_start debug_sub_8160498 -debug_sub_8160498: - push {r4, lr} - ldr r1, ._276 @ gMain - ldrh r2, [r1, #0x2e] - mov r0, #0x40 - and r0, r0, r2 - cmp r0, #0 - beq ._274 @cond_branch - mov r0, #0x0 - b ._281 -._277: - .align 2, 0 -._276: - .word gMain -._274: - mov r0, #0x80 - and r0, r0, r2 - cmp r0, #0 - beq ._278 @cond_branch - mov r0, #0x1 - b ._281 -._278: - mov r0, #0x20 - and r0, r0, r2 - cmp r0, #0 - beq ._280 @cond_branch - mov r0, #0x2 - b ._281 -._280: - mov r0, #0x10 - and r0, r0, r2 - cmp r0, #0 - beq ._282 @cond_branch - mov r0, #0x3 -._281: - bl debug_sub_81603B8 - mov r0, #0x0 - b ._311 -._282: - ldrh r1, [r1, #0x30] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._284 @cond_branch - ldr r4, ._289 @ _nakamuraData4 - ldrb r0, [r4] - cmp r0, #0x5 - bhi ._285 @cond_branch - mov r1, #0x1 - bl debug_sub_81601C8 -._285: - ldrb r0, [r4] - sub r0, r0, #0x6 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x5 - bhi ._286 @cond_branch - ldrb r0, [r4] - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl debug_sub_8160258 -._286: - ldrb r0, [r4] - sub r0, r0, #0xc - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x5 - bhi ._306 @cond_branch - ldrb r0, [r4] - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x1 - b ._300 -._290: - .align 2, 0 -._289: - .word _nakamuraData4 -._284: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._291 @cond_branch - ldr r4, ._294 @ _nakamuraData4 - ldrb r0, [r4] - cmp r0, #0x5 - bhi ._304 @cond_branch - mov r1, #0x1 - neg r1, r1 - b ._293 -._295: - .align 2, 0 -._294: - .word _nakamuraData4 -._291: - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._296 @cond_branch - ldr r4, ._301 @ _nakamuraData4 - ldrb r0, [r4] - cmp r0, #0x5 - bhi ._297 @cond_branch - mov r1, #0xa - bl debug_sub_81601C8 -._297: - ldrb r0, [r4] - sub r0, r0, #0x6 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x5 - bhi ._298 @cond_branch - ldrb r0, [r4] - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl debug_sub_8160258 -._298: - ldrb r0, [r4] - sub r0, r0, #0xc - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x5 - bhi ._306 @cond_branch - ldrb r0, [r4] - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x1 - b ._300 -._302: - .align 2, 0 -._301: - .word _nakamuraData4 -._296: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._303 @cond_branch - ldr r4, ._308 @ _nakamuraData4 - ldrb r0, [r4] - cmp r0, #0x5 - bhi ._304 @cond_branch - mov r1, #0xa - neg r1, r1 -._293: - bl debug_sub_81601C8 -._304: - ldrb r0, [r4] - sub r0, r0, #0x6 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x5 - bhi ._305 @cond_branch - ldrb r0, [r4] - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl debug_sub_8160258 -._305: - ldrb r0, [r4] - sub r0, r0, #0xc - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x5 - bhi ._306 @cond_branch - ldrb r0, [r4] - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x1 - neg r1, r1 -._300: - bl debug_sub_816027C -._306: - ldrb r0, [r4] - mov r1, #0x6 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl debug_sub_816017C - mov r0, #0x0 - b ._311 -._309: - .align 2, 0 -._308: - .word _nakamuraData4 -._303: - mov r0, #0x8 - and r0, r0, r2 - cmp r0, #0 - bne ._310 @cond_branch - mov r0, #0x0 - b ._311 -._310: - bl debug_sub_8160308 - bl CloseMenu - mov r0, #0x1 -._311: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_8160498 - - thumb_func_start debug_sub_816062C -debug_sub_816062C: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add sp, sp, #0xfffffff0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r8, r0 - mov r0, #0x64 - mov r4, r8 - mul r4, r4, r0 - ldr r0, ._316 @ gPlayerParty - add r4, r4, r0 - add r0, r4, #0 - mov r1, #0xb - bl GetMonData - lsl r0, r0, #0x10 - lsr r7, r0, #0x10 - add r0, r4, #0 - bl GetMonGender - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - ldr r1, ._316 + 4 @ gBaseStats - lsl r0, r7, #0x3 - sub r0, r0, r7 - lsl r0, r0, #0x2 - add r0, r0, r1 - ldrb r6, [r0, #0x10] - cmp r6, #0 - beq ._313 @cond_branch - cmp r6, #0xfe - beq ._313 @cond_branch - cmp r6, #0xff - bne ._314 @cond_branch -._313: - mov r0, #0x64 - mov r1, r8 - mul r1, r1, r0 - add r0, r1, #0 - ldr r1, ._316 @ gPlayerParty - add r0, r0, r1 - bl GetMonGender - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._320 -._317: - .align 2, 0 -._316: - .word gPlayerParty - .word gBaseStats -._314: - cmp r2, #0 - beq ._318 @cond_branch - cmp r2, #0xfe - beq ._319 @cond_branch - mov r0, #0x0 - b ._320 -._318: - mov r6, #0xfe - b ._321 -._319: - mov r6, #0x0 -._321: - mov r0, r8 - lsl r0, r0, #0x2 - mov r9, r0 -._322: - bl Random - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - bl Random - lsl r0, r0, #0x10 - orr r5, r5, r0 - add r0, r7, #0 - add r1, r5, #0 - bl GetGenderFromSpeciesAndPersonality - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, r6 - bne ._322 @cond_branch - mov r0, #0x64 - mov r4, r8 - mul r4, r4, r0 - ldr r0, ._323 @ gPlayerParty - add r4, r4, r0 - add r0, r4, #0 - mov r1, #0x42 - bl GetMonData - ldr r0, ._323 + 4 @ _nakamuraStatic0 - add r0, r0, r9 - ldrh r1, [r0] - ldrb r2, [r0, #0x2] - mov r0, #0x1 - str r0, [sp] - str r5, [sp, #0x4] - mov r0, #0x0 - str r0, [sp, #0x8] - str r0, [sp, #0xc] - add r0, r4, #0 - mov r3, #0x20 - bl CreateMon - add r0, r6, #0 -._320: - add sp, sp, #0x10 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._324: - .align 2, 0 -._323: - .word gPlayerParty - .word _nakamuraStatic0 - - thumb_func_end debug_sub_816062C - - thumb_func_start debug_sub_8160714 -debug_sub_8160714: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add sp, sp, #0xfffffff0 - add r6, r0, #0 - mov r9, r1 - mov r7, #0x0 - mov r0, #0x0 - mov r8, r0 - mov r2, #0x0 - mov r5, #0x0 -._329: - add r4, r5, #1 - lsl r1, r4, #0x18 - lsr r1, r1, #0x18 - mov r0, r9 - str r2, [sp, #0xc] - bl GetPokeblockData - add r1, r0, #0 - lsl r0, r5, #0x1 - add r0, r0, sp - strh r1, [r0] - ldr r2, [sp, #0xc] - cmp r5, #0x5 - beq ._328 @cond_branch - lsl r0, r1, #0x10 - asr r1, r0, #0x10 - cmp r1, #0 - ble ._326 @cond_branch - add r0, r7, #1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._326: - cmp r1, #0 - bge ._327 @cond_branch - mov r0, r8 - add r0, r0, #0x1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r8, r0 -._327: - cmp r1, #0 - bne ._328 @cond_branch - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 -._328: - lsl r0, r4, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x5 - bls ._329 @cond_branch - mov r0, sp - mov r1, #0x0 - ldsh r0, [r0, r1] - cmp r0, #0x31 - bgt ._333 @cond_branch - mov r0, sp - ldrh r0, [r0, #0x2] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - cmp r0, #0x31 - bgt ._333 @cond_branch - mov r0, sp - mov r4, #0x4 - ldsh r0, [r0, r4] - cmp r0, #0x31 - bgt ._333 @cond_branch - mov r0, sp - mov r1, #0x6 - ldsh r0, [r0, r1] - cmp r0, #0x31 - bgt ._333 @cond_branch - mov r0, sp - mov r4, #0x8 - ldsh r0, [r0, r4] - cmp r0, #0x31 - ble ._334 @cond_branch -._333: - ldr r1, ._336 @ ContestStatsText_GoldPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0xe - b ._400 -._337: - .align 2, 0 -._336: - .word ContestStatsText_GoldPokeBlock -._334: - cmp r7, #0x4 - bne ._338 @cond_branch - ldr r1, ._340 @ ContestStatsText_WhitePokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0xd - b ._400 -._341: - .align 2, 0 -._340: - .word ContestStatsText_WhitePokeBlock -._338: - mov r3, #0x0 - mov r5, #0x0 -._343: - lsl r0, r5, #0x1 - add r0, r0, sp - mov r1, #0x0 - ldsh r0, [r0, r1] - cmp r0, #0x2 - bne ._342 @cond_branch - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 -._342: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x4 - bls ._343 @cond_branch - cmp r3, #0x3 - beq ._345 @cond_branch - cmp r2, #0x5 - beq ._345 @cond_branch - mov r4, r8 - cmp r4, #0x4 - bne ._346 @cond_branch -._345: - ldr r1, ._348 @ ContestStatsText_BlackPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0xc - b ._400 -._349: - .align 2, 0 -._348: - .word ContestStatsText_BlackPokeBlock -._346: - cmp r7, #0x3 - bne ._350 @cond_branch - ldr r1, ._352 @ ContestStatsText_GrayPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0xb - b ._400 -._353: - .align 2, 0 -._352: - .word ContestStatsText_GrayPokeBlock -._350: - cmp r7, #0x2 - beq ._354 @cond_branch - mov r0, r8 - cmp r0, #0x2 - bne ._377 @cond_branch -._354: - mov r3, #0x6 - mov r2, #0x0 - mov r5, #0x0 -._359: - lsl r0, r5, #0x1 - add r0, r0, sp - mov r1, #0x0 - ldsh r0, [r0, r1] - cmp r0, #0 - beq ._358 @cond_branch - cmp r3, #0x6 - bne ._357 @cond_branch - add r3, r5, #0 - b ._358 -._357: - add r2, r5, #0 -._358: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x4 - bls ._359 @cond_branch - lsl r0, r3, #0x1 - mov r4, sp - add r1, r4, r0 - lsl r0, r2, #0x1 - add r0, r0, sp - mov r4, #0x0 - ldsh r1, [r1, r4] - mov r4, #0x0 - ldsh r0, [r0, r4] - cmp r1, r0 - blt ._360 @cond_branch - add r2, r3, #0 -._360: - cmp r2, #0 - bne ._361 @cond_branch - ldr r1, ._363 @ ContestStatsText_PurplePokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x6 - b ._400 -._364: - .align 2, 0 -._363: - .word ContestStatsText_PurplePokeBlock -._361: - cmp r2, #0x1 - bne ._365 @cond_branch - ldr r1, ._367 @ ContestStatsText_IndigoPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x7 - b ._400 -._368: - .align 2, 0 -._367: - .word ContestStatsText_IndigoPokeBlock -._365: - cmp r2, #0x2 - bne ._369 @cond_branch - ldr r1, ._371 @ ContestStatsText_BrownPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x8 - b ._400 -._372: - .align 2, 0 -._371: - .word ContestStatsText_BrownPokeBlock -._369: - cmp r2, #0x3 - bne ._373 @cond_branch - ldr r1, ._375 @ ContestStatsText_LiteBluePokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x9 - b ._400 -._376: - .align 2, 0 -._375: - .word ContestStatsText_LiteBluePokeBlock -._373: - cmp r2, #0x4 - bne ._377 @cond_branch - ldr r1, ._379 @ ContestStatsText_OlivePokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0xa - b ._400 -._380: - .align 2, 0 -._379: - .word ContestStatsText_OlivePokeBlock -._377: - cmp r7, #0x1 - beq ._381 @cond_branch - mov r0, r8 - cmp r0, #0x1 - bne ._399 @cond_branch -._381: - mov r0, sp - mov r1, #0x0 - ldsh r0, [r0, r1] - cmp r0, #0 - beq ._383 @cond_branch - ldr r1, ._385 @ ContestStatsText_RedPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x1 - b ._400 -._386: - .align 2, 0 -._385: - .word ContestStatsText_RedPokeBlock -._383: - mov r0, sp - ldrh r0, [r0, #0x2] - cmp r0, #0 - beq ._387 @cond_branch - ldr r1, ._389 @ ContestStatsText_BluePokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x2 - b ._400 -._390: - .align 2, 0 -._389: - .word ContestStatsText_BluePokeBlock -._387: - mov r0, sp - mov r4, #0x4 - ldsh r0, [r0, r4] - cmp r0, #0 - beq ._391 @cond_branch - ldr r1, ._393 @ ContestStatsText_PinkPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x3 - b ._400 -._394: - .align 2, 0 -._393: - .word ContestStatsText_PinkPokeBlock -._391: - mov r0, sp - mov r1, #0x6 - ldsh r0, [r0, r1] - cmp r0, #0 - beq ._395 @cond_branch - ldr r1, ._397 @ ContestStatsText_GreenPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x4 - b ._400 -._398: - .align 2, 0 -._397: - .word ContestStatsText_GreenPokeBlock -._395: - mov r0, sp - mov r4, #0x8 - ldsh r0, [r0, r4] - cmp r0, #0 - beq ._399 @cond_branch - ldr r1, ._401 @ ContestStatsText_YellowPokeBlock - add r0, r6, #0 - bl StringCopy - mov r0, #0x5 - b ._400 -._402: - .align 2, 0 -._401: - .word ContestStatsText_YellowPokeBlock -._399: - ldr r1, ._403 @ gOtherText_FiveQuestions - add r0, r6, #0 - bl StringCopy - mov r0, #0x0 -._400: - add sp, sp, #0x10 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._404: - .align 2, 0 -._403: - .word gOtherText_FiveQuestions - - thumb_func_end debug_sub_8160714 - - thumb_func_start debug_sub_816097C -debug_sub_816097C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add r7, r0, #0 - lsl r1, r1, #0x10 - lsr r5, r1, #0x10 - mov r6, #0x0 - mov r1, #0x0 -._405: - add r0, r7, r6 - strb r1, [r0] - add r0, r6, #1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, #0x3 - bls ._405 @cond_branch - mov r0, #0xff - strb r0, [r7, #0x4] - lsl r0, r5, #0x10 - asr r0, r0, #0x10 - cmp r0, #0 - bne ._406 @cond_branch - mov r0, #0xa1 - strb r0, [r7, #0x3] - b ._414 -._406: - cmp r0, #0 - ble ._408 @cond_branch - mov r4, #0x64 - mov r0, #0x0 - mov r8, r0 - mov r6, #0x0 -._412: - lsl r5, r5, #0x10 - asr r0, r5, #0x10 - lsl r4, r4, #0x10 - asr r1, r4, #0x10 - bl __divsi3 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - mov r1, r8 - cmp r1, #0 - bne ._410 @cond_branch - cmp r6, #0x2 - beq ._410 @cond_branch - cmp r2, #0 - beq ._411 @cond_branch -._410: - add r1, r6, r7 - add r0, r2, #0 - sub r0, r0, #0x5f - strb r0, [r1, #0x1] - mov r0, #0x1 - mov r8, r0 -._411: - asr r0, r5, #0x10 - asr r4, r4, #0x10 - add r1, r4, #0 - bl __modsi3 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r4, #0 - mov r1, #0xa - bl __divsi3 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - add r0, r6, #1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, #0x2 - bls ._412 @cond_branch - b ._414 -._408: - cmp r0, #0 - bge ._414 @cond_branch - neg r0, r0 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - mov r4, #0x64 - mov r1, #0x0 - mov r8, r1 - mov r6, #0x0 -._419: - lsl r5, r5, #0x10 - asr r0, r5, #0x10 - lsl r4, r4, #0x10 - asr r1, r4, #0x10 - bl __divsi3 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - mov r1, r8 - lsl r0, r1, #0x10 - add r3, r0, #0 - cmp r3, #0 - bne ._416 @cond_branch - cmp r6, #0x2 - beq ._416 @cond_branch - cmp r2, #0 - beq ._417 @cond_branch -._416: - add r1, r6, r7 - add r0, r2, #0 - sub r0, r0, #0x5f - strb r0, [r1, #0x1] - cmp r3, #0 - bne ._418 @cond_branch - mov r0, #0xae - strb r0, [r1] -._418: - mov r0, #0x1 - mov r8, r0 -._417: - asr r0, r5, #0x10 - asr r4, r4, #0x10 - add r1, r4, #0 - bl __modsi3 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r4, #0 - mov r1, #0xa - bl __divsi3 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - add r0, r6, #1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, #0x2 - bls ._419 @cond_branch -._414: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_sub_816097C - - thumb_func_start debug_sub_8160A80 -debug_sub_8160A80: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r2, r0, #0 - ldr r1, ._422 @ _nakamuraStatic18 - cmp r0, #0 - bne ._420 @cond_branch - ldr r4, ._422 + 4 @ gStringVar1 - ldrb r1, [r1, #0x1] - add r0, r4, #0 - bl debug_sub_816097C - add r0, r4, #0 - mov r1, #0x8 - mov r2, #0x3 - bl Menu_PrintText - b ._440 -._423: - .align 2, 0 -._422: - .word _nakamuraStatic18 - .word gStringVar1 -._420: - cmp r0, #0x1 - bne ._424 @cond_branch - ldr r4, ._426 @ gStringVar1 - ldrb r1, [r1, #0x2] - add r0, r4, #0 - bl debug_sub_816097C - add r0, r4, #0 - mov r1, #0x8 - mov r2, #0x5 - bl Menu_PrintText - b ._440 -._427: - .align 2, 0 -._426: - .word gStringVar1 -._424: - cmp r0, #0x2 - bne ._428 @cond_branch - ldr r4, ._430 @ gStringVar1 - ldrb r1, [r1, #0x3] - add r0, r4, #0 - bl debug_sub_816097C - add r0, r4, #0 - mov r1, #0x8 - mov r2, #0x7 - bl Menu_PrintText - b ._440 -._431: - .align 2, 0 -._430: - .word gStringVar1 -._428: - cmp r0, #0x3 - bne ._432 @cond_branch - ldr r4, ._434 @ gStringVar1 - ldrb r1, [r1, #0x4] - add r0, r4, #0 - bl debug_sub_816097C - add r0, r4, #0 - mov r1, #0x8 - mov r2, #0x9 - bl Menu_PrintText - b ._440 -._435: - .align 2, 0 -._434: - .word gStringVar1 -._432: - cmp r0, #0x4 - bne ._436 @cond_branch - ldr r4, ._438 @ gStringVar1 - ldrb r1, [r1, #0x5] - add r0, r4, #0 - bl debug_sub_816097C - add r0, r4, #0 - mov r1, #0x8 - mov r2, #0xb - bl Menu_PrintText - b ._440 -._439: - .align 2, 0 -._438: - .word gStringVar1 -._436: - cmp r2, #0x5 - bne ._440 @cond_branch - ldr r4, ._441 @ gStringVar1 - ldrb r1, [r1, #0x6] - add r0, r4, #0 - bl debug_sub_816097C - add r0, r4, #0 - mov r1, #0x8 - mov r2, #0xd - bl Menu_PrintText -._440: - pop {r4} - pop {r0} - bx r0 -._442: - .align 2, 0 -._441: - .word gStringVar1 - - thumb_func_end debug_sub_8160A80 - - thumb_func_start debug_sub_8160B50 -debug_sub_8160B50: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r3, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r4, r1, #0 - ldr r2, ._445 @ _nakamuraStatic18 - cmp r0, #0 - bne ._443 @cond_branch - ldrb r0, [r2, #0x1] - add r0, r0, r1 - strb r0, [r2, #0x1] - b ._455 -._446: - .align 2, 0 -._445: - .word _nakamuraStatic18 -._443: - cmp r0, #0x1 - bne ._447 @cond_branch - ldrb r0, [r2, #0x2] - add r0, r0, r1 - strb r0, [r2, #0x2] - b ._455 -._447: - cmp r0, #0x2 - bne ._449 @cond_branch - ldrb r0, [r2, #0x3] - add r0, r0, r1 - strb r0, [r2, #0x3] - b ._455 -._449: - cmp r0, #0x3 - bne ._451 @cond_branch - ldrb r0, [r2, #0x4] - add r0, r0, r1 - strb r0, [r2, #0x4] - b ._455 -._451: - cmp r0, #0x4 - bne ._453 @cond_branch - ldrb r0, [r2, #0x5] - add r0, r0, r1 - strb r0, [r2, #0x5] - b ._455 -._453: - cmp r3, #0x5 - bne ._455 @cond_branch - ldrb r0, [r2, #0x6] - add r0, r0, r4 - strb r0, [r2, #0x6] -._455: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_8160B50 - - thumb_func_start debug_sub_8160BB0 -debug_sub_8160BB0: - push {r4, r5, lr} - ldr r5, ._456 @ gStringVar1 - ldr r4, ._456 + 4 @ _nakamuraStatic18 - add r0, r5, #0 - add r1, r4, #0 - bl debug_sub_8160714 - strb r0, [r4] - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x8 - mov r3, #0x2 - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - pop {r4, r5} - pop {r0} - bx r0 -._457: - .align 2, 0 -._456: - .word gStringVar1 - .word _nakamuraStatic18 - - thumb_func_end debug_sub_8160BB0 - - thumb_func_start debug_sub_8160BE4 -debug_sub_8160BE4: - push {r4, lr} - add sp, sp, #0xfffffff8 - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xc - mov r3, #0xf - bl Menu_DrawStdWindowFrame - bl debug_sub_8160BB0 - ldr r0, ._459 @ gContestStatsText_Spicy - mov r1, #0x2 - mov r2, #0x3 - bl Menu_PrintText - ldr r0, ._459 + 4 @ gContestStatsText_Dry - mov r1, #0x2 - mov r2, #0x5 - bl Menu_PrintText - ldr r0, ._459 + 8 @ gContestStatsText_Sweet - mov r1, #0x2 - mov r2, #0x7 - bl Menu_PrintText - ldr r0, ._459 + 12 @ gContestStatsText_Bitter - mov r1, #0x2 - mov r2, #0x9 - bl Menu_PrintText - ldr r0, ._459 + 16 @ gContestStatsText_Sour - mov r1, #0x2 - mov r2, #0xb - bl Menu_PrintText - ldr r0, ._459 + 20 @ gContestStatsText_Tasty - mov r1, #0x2 - mov r2, #0xd - bl Menu_PrintText - mov r4, #0x0 -._458: - add r0, r4, #0 - bl debug_sub_8160A80 - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x5 - bls ._458 @cond_branch - mov r0, #0x0 - str r0, [sp] - mov r0, #0xb - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x6 - bl InitMenu - add sp, sp, #0x8 - pop {r4} - pop {r0} - bx r0 -._460: - .align 2, 0 -._459: - .word gContestStatsText_Spicy - .word gContestStatsText_Dry - .word gContestStatsText_Sweet - .word gContestStatsText_Bitter - .word gContestStatsText_Sour - .word gContestStatsText_Tasty - - thumb_func_end debug_sub_8160BE4 - - thumb_func_start debug_sub_8160C7C -debug_sub_8160C7C: - push {r4, lr} - ldr r2, ._469 @ _nakamuraStatic18 - mov r1, #0x0 - ldrb r0, [r2] - cmp r0, #0xc - bne ._467 @cond_branch - ldrb r0, [r2, #0x1] - cmp r0, #0x2 - bne ._462 @cond_branch - mov r1, #0x1 -._462: - ldrb r0, [r2, #0x3] - cmp r0, #0x2 - bne ._463 @cond_branch - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 -._463: - ldrb r0, [r2, #0x4] - cmp r0, #0x2 - bne ._464 @cond_branch - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 -._464: - ldrb r0, [r2, #0x2] - cmp r0, #0x2 - bne ._465 @cond_branch - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 -._465: - ldrb r0, [r2, #0x5] - cmp r0, #0x2 - bne ._466 @cond_branch - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 -._466: - cmp r1, #0x3 - beq ._467 @cond_branch - mov r0, #0x2 - strb r0, [r2, #0x1] - strb r0, [r2, #0x3] - strb r0, [r2, #0x4] -._467: - add r0, r2, #0 - bl sub_810CA34 - bl debug_sub_8160BB0 - mov r4, #0x0 -._468: - add r0, r4, #0 - bl debug_sub_8160A80 - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x5 - bls ._468 @cond_branch - pop {r4} - pop {r0} - bx r0 -._470: - .align 2, 0 -._469: - .word _nakamuraStatic18 - - thumb_func_end debug_sub_8160C7C - - thumb_func_start debug_sub_8160CF4 -debug_sub_8160CF4: - push {lr} - ldr r2, ._473 @ gMain - ldrh r1, [r2, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._471 @cond_branch - mov r0, #0x1 - neg r0, r0 - b ._472 -._474: - .align 2, 0 -._473: - .word gMain -._471: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._475 @cond_branch - mov r0, #0x1 -._472: - bl Menu_MoveCursor - mov r0, #0x0 - b ._484 -._475: - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._477 @cond_branch - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x1 - neg r1, r1 - b ._478 -._477: - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._479 @cond_branch - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x1 -._478: - bl debug_sub_8160B50 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl debug_sub_8160A80 - bl debug_sub_8160BB0 - mov r0, #0x0 - b ._484 -._479: - ldrh r1, [r2, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._481 @cond_branch - bl debug_sub_8160C7C - mov r0, #0x5 - bl PlaySE - mov r0, #0x0 - b ._484 -._481: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - bne ._483 @cond_branch - mov r0, #0x0 - b ._484 -._483: - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - bl CloseMenu - mov r0, #0x1 -._484: - pop {r1} - bx r1 - - thumb_func_end debug_sub_8160CF4 - - thumb_func_start debug_sub_8160D98 -debug_sub_8160D98: - push {lr} - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - bl debug_sub_8160BE4 - ldr r1, ._485 @ gMenuCallback - ldr r0, ._485 + 4 @ debug_sub_8160CF4 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._486: - .align 2, 0 -._485: - .word gMenuCallback - .word debug_sub_8160CF4+1 - - thumb_func_end debug_sub_8160D98 - - thumb_func_start debug_sub_8160DC0 -debug_sub_8160DC0: - push {lr} - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x16 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._487 @ gOtherText_Slash - mov r1, #0xb - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._487 + 4 @ Str_843E5F2 - mov r1, #0x2 - mov r2, #0x3 - bl Menu_PrintText - ldr r0, ._487 + 8 @ Str_843E5FB - mov r1, #0x2 - mov r2, #0x5 - bl Menu_PrintText - ldr r0, ._487 + 12 @ Str_843E606 - mov r1, #0x2 - mov r2, #0x7 - bl Menu_PrintText - ldr r0, ._487 + 16 @ Str_843E611 - mov r1, #0x2 - mov r2, #0x9 - bl Menu_PrintText - ldr r0, ._487 + 20 @ Str_843E61C - mov r1, #0x2 - mov r2, #0xb - bl Menu_PrintText - ldr r0, ._487 + 24 @ Str_843E627 - mov r1, #0x2 - mov r2, #0xd - bl Menu_PrintText - ldr r0, ._487 + 28 @ Str_843E637 - mov r1, #0x2 - mov r2, #0xf - bl Menu_PrintText - ldr r0, ._487 + 32 @ Str_843E632 - mov r1, #0x2 - mov r2, #0x11 - bl Menu_PrintText - pop {r0} - bx r0 -._488: - .align 2, 0 -._487: - .word gOtherText_Slash - .word Str_843E5F2 - .word Str_843E5FB - .word Str_843E606 - .word Str_843E611 - .word Str_843E61C - .word Str_843E627 - .word Str_843E637 - .word Str_843E632 - - thumb_func_end debug_sub_8160DC0 - - thumb_func_start debug_sub_8160E50 -debug_sub_8160E50: - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0xa - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r5, ._489 @ gStringVar1 - add r0, r6, #0 - mov r1, #0x2 - add r2, r5, #0 - bl GetMonData - add r0, r5, #0 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - mov r0, #0xc - mov r1, #0x1 - mov r2, #0x15 - mov r3, #0x2 - bl Menu_BlankWindowRect - add r0, r6, #0 - mov r1, #0xb - bl GetMonData - mov r1, #0xb - mul r0, r0, r1 - ldr r1, ._489 + 4 @ gSpeciesNames - add r0, r0, r1 - mov r1, #0xc - mov r2, #0x1 - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x1a - bl GetMonData - add r4, r0, #0 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0x3 - mov r2, #0x11 - mov r3, #0x4 - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0x3 - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x1b - bl GetMonData - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r4, r4, r1 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0x5 - mov r2, #0x11 - mov r3, #0x6 - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0x5 - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x1c - bl GetMonData - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r4, r4, r1 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0x7 - mov r2, #0x11 - mov r3, #0x8 - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0x7 - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x1d - bl GetMonData - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r4, r4, r1 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0x9 - mov r2, #0x11 - mov r3, #0xa - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0x9 - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x1e - bl GetMonData - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r4, r4, r1 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0xb - mov r2, #0x11 - mov r3, #0xc - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0xb - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x1f - bl GetMonData - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r4, r4, r1 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0xd - mov r2, #0x11 - mov r3, #0xe - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0xd - bl Menu_PrintText - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0xf - mov r2, #0x11 - mov r3, #0x10 - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0xf - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x20 - bl GetMonData - add r1, r0, #0 - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - mov r0, #0xd - mov r1, #0x11 - mov r2, #0x11 - mov r3, #0x12 - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0xd - mov r2, #0x11 - bl Menu_PrintText - pop {r4, r5, r6} - pop {r0} - bx r0 -._490: - .align 2, 0 -._489: - .word gStringVar1 - .word gSpeciesNames - - thumb_func_end debug_sub_8160E50 - - thumb_func_start debug_sub_8161028 -debug_sub_8161028: - push {r4, r5, r6, lr} - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - bne ._491 @cond_branch - ldr r0, ._496 @ _nakamuraData5 - ldrb r0, [r0] - cmp r0, #0 - bne ._492 @cond_branch - mov r5, #0x5 -._494: - lsl r0, r5, #0x10 - asr r4, r0, #0x10 - mov r0, #0x64 - mul r0, r0, r4 - ldr r1, ._496 + 4 @ gPlayerParty - add r0, r0, r1 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - bne ._493 @cond_branch - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - cmp r0, #0 - bge ._494 @cond_branch -._492: - ldr r1, ._496 @ _nakamuraData5 - ldrb r0, [r1] - add r0, r0, r6 - strb r0, [r1] - b ._506 -._497: - .align 2, 0 -._496: - .word _nakamuraData5 - .word gPlayerParty -._491: - cmp r1, #0x1 - bne ._506 @cond_branch - ldr r4, ._501 @ _nakamuraData5 - ldrb r0, [r4] - add r0, r0, r6 - strb r0, [r4] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x6 - bne ._499 @cond_branch - mov r0, #0x0 - b ._500 -._502: - .align 2, 0 -._501: - .word _nakamuraData5 -._493: - ldr r0, ._504 @ _nakamuraData5 - strb r5, [r0] - b ._506 -._505: - .align 2, 0 -._504: - .word _nakamuraData5 -._499: - ldrb r1, [r4] - mov r0, #0x64 - mul r0, r0, r1 - ldr r1, ._507 @ gPlayerParty - add r0, r0, r1 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - bne ._506 @cond_branch -._500: - strb r0, [r4] -._506: - pop {r4, r5, r6} - pop {r0} - bx r0 -._508: - .align 2, 0 -._507: - .word gPlayerParty - - thumb_func_end debug_sub_8161028 - - thumb_func_start debug_sub_81610BC -debug_sub_81610BC: - push {lr} - ldr r0, ._511 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._509 @cond_branch - mov r0, #0x1 - neg r0, r0 - b ._510 -._512: - .align 2, 0 -._511: - .word gMain -._509: - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._513 @cond_branch - mov r0, #0x1 -._510: - bl debug_sub_8161028 - ldr r0, ._515 @ _nakamuraData5 - ldrb r1, [r0] - mov r0, #0x64 - mul r0, r0, r1 - ldr r1, ._515 + 4 @ gPlayerParty - add r0, r0, r1 - bl debug_sub_8160E50 - mov r0, #0x0 - b ._518 -._516: - .align 2, 0 -._515: - .word _nakamuraData5 - .word gPlayerParty -._513: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - bne ._517 @cond_branch - mov r0, #0x0 - b ._518 -._517: - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - bl CloseMenu - mov r0, #0x1 -._518: - pop {r1} - bx r1 - - thumb_func_end debug_sub_81610BC - - thumb_func_start DebugMenu_EffortValues -DebugMenu_EffortValues: - push {lr} - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - ldr r1, ._519 @ _nakamuraData5 - mov r0, #0x0 - strb r0, [r1] - bl debug_sub_8160DC0 - ldr r0, ._519 + 4 @ gPlayerParty - bl debug_sub_8160E50 - ldr r1, ._519 + 8 @ gMenuCallback - ldr r0, ._519 + 12 @ debug_sub_81610BC - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._520: - .align 2, 0 -._519: - .word _nakamuraData5 - .word gPlayerParty - .word gMenuCallback - .word debug_sub_81610BC+1 - - thumb_func_end DebugMenu_EffortValues - - thumb_func_start debug_sub_8161160 -debug_sub_8161160: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r7, #0x0 - ldr r2, ._523 @ _nakamuraData6 - ldr r1, ._523 + 4 @ _nakamuraData8 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bhi ._521 @cond_branch - add r6, r0, #0 - ldrh r5, [r1] - b ._522 -._524: - .align 2, 0 -._523: - .word _nakamuraData6 - .word _nakamuraData8 -._521: - ldrh r6, [r1] - ldrh r5, [r2] -._522: - mov r4, #0x0 - ldr r0, ._529 @ _nakamuraDataA - ldrh r0, [r0] - cmp r4, r0 - bcs ._525 @cond_branch - ldr r0, ._529 + 4 @ _nakamuraDataC - mov r8, r0 -._528: - bl Random - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r2, r8 - ldrh r1, [r2] - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - cmp r0, r6 - bcc ._527 @cond_branch - cmp r0, r5 - bhi ._527 @cond_branch - add r0, r7, #1 - lsl r0, r0, #0x10 - lsr r7, r0, #0x10 -._527: - add r4, r4, #0x1 - ldr r0, ._529 @ _nakamuraDataA - ldrh r0, [r0] - cmp r4, r0 - bcc ._528 @cond_branch -._525: - add r0, r7, #0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._530: - .align 2, 0 -._529: - .word _nakamuraDataA - .word _nakamuraDataC - - thumb_func_end debug_sub_8161160 - - thumb_func_start debug_sub_81611D8 -debug_sub_81611D8: - push {r4, lr} - add sp, sp, #0xfffffff8 - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xf - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r0, ._531 @ Str_843E642 - mov r1, #0x2 - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._531 + 4 @ Str_843E647 - mov r1, #0x2 - mov r2, #0x3 - bl Menu_PrintText - ldr r0, ._531 + 8 @ Str_843E65A - mov r1, #0x2 - mov r2, #0x5 - bl Menu_PrintText - ldr r0, ._531 + 12 @ Str_843E64C - mov r1, #0x2 - mov r2, #0x7 - bl Menu_PrintText - ldr r0, ._531 + 16 @ Str_843E651 - mov r1, #0x2 - mov r2, #0x9 - bl Menu_PrintText - ldr r0, ._531 + 20 @ Str_843E655 - mov r1, #0xd - mov r2, #0x9 - bl Menu_PrintText - ldr r4, ._531 + 24 @ Str_843E658 - add r0, r4, #0 - mov r1, #0xc - mov r2, #0x1 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0xc - mov r2, #0x3 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0xc - mov r2, #0x5 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0xc - mov r2, #0x7 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0xc - mov r2, #0x9 - bl Menu_PrintText - mov r0, #0x0 - str r0, [sp] - mov r0, #0xe - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x4 - bl InitMenu - add sp, sp, #0x8 - pop {r4} - pop {r0} - bx r0 -._532: - .align 2, 0 -._531: - .word Str_843E642 - .word Str_843E647 - .word Str_843E65A - .word Str_843E64C - .word Str_843E651 - .word Str_843E655 - .word Str_843E658 - - thumb_func_end debug_sub_81611D8 - - thumb_func_start debug_sub_8161290 -debug_sub_8161290: - push {r4, lr} - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - ldr r4, ._533 @ gStringVar1 - add r0, r4, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x8 - mov r2, #0x9 - bl Menu_PrintText - pop {r4} - pop {r0} - bx r0 -._534: - .align 2, 0 -._533: - .word gStringVar1 - - thumb_func_end debug_sub_8161290 - - thumb_func_start debug_sub_81612B8 -debug_sub_81612B8: - push {r4, r5, lr} - add r4, r2, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - lsl r1, r1, #0x18 - asr r1, r1, #0x18 - ldrh r2, [r0] - add r1, r1, r2 - strh r1, [r0] - ldr r5, ._535 @ gStringVar1 - ldrh r1, [r0] - add r0, r5, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r5, #0 - mov r1, #0x8 - add r2, r4, #0 - bl Menu_PrintText - pop {r4, r5} - pop {r0} - bx r0 -._536: - .align 2, 0 -._535: - .word gStringVar1 - - thumb_func_end debug_sub_81612B8 - - thumb_func_start debug_sub_81612EC -debug_sub_81612EC: - push {r4, r5, lr} - ldr r2, ._540 @ gMain - ldrh r1, [r2, #0x2c] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - mov r5, #0x1 - cmp r0, #0 - beq ._537 @cond_branch - mov r5, #0x64 -._537: - ldrh r1, [r2, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._538 @cond_branch - mov r0, #0x1 - neg r0, r0 - b ._539 -._541: - .align 2, 0 -._540: - .word gMain -._538: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._542 @cond_branch - mov r0, #0x1 -._539: - bl Menu_MoveCursor -._565: - mov r0, #0x0 - b ._543 -._542: - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._544 @cond_branch - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - asr r4, r0, #0x18 - cmp r4, #0 - bne ._545 @cond_branch - ldr r0, ._550 @ _nakamuraData6 - neg r1, r5 - mov r2, #0x1 - bl debug_sub_81612B8 -._545: - cmp r4, #0x1 - bne ._546 @cond_branch - ldr r0, ._550 + 4 @ _nakamuraData8 - neg r1, r5 - mov r2, #0x3 - bl debug_sub_81612B8 -._546: - cmp r4, #0x2 - bne ._547 @cond_branch - ldr r0, ._550 + 8 @ _nakamuraDataC - neg r1, r5 - mov r2, #0x5 - bl debug_sub_81612B8 -._547: - cmp r4, #0x3 - bne ._565 @cond_branch - ldr r0, ._550 + 12 @ _nakamuraDataA - neg r1, r5 - mov r2, #0x7 - bl debug_sub_81612B8 - b ._565 -._551: - .align 2, 0 -._550: - .word _nakamuraData6 - .word _nakamuraData8 - .word _nakamuraDataC - .word _nakamuraDataA -._544: - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._552 @cond_branch - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - asr r4, r0, #0x18 - cmp r4, #0 - bne ._553 @cond_branch - ldr r0, ._558 @ _nakamuraData6 - add r1, r5, #0 - mov r2, #0x1 - bl debug_sub_81612B8 -._553: - cmp r4, #0x1 - bne ._554 @cond_branch - ldr r0, ._558 + 4 @ _nakamuraData8 - add r1, r5, #0 - mov r2, #0x3 - bl debug_sub_81612B8 -._554: - cmp r4, #0x2 - bne ._555 @cond_branch - ldr r0, ._558 + 8 @ _nakamuraDataC - add r1, r5, #0 - mov r2, #0x5 - bl debug_sub_81612B8 -._555: - cmp r4, #0x3 - bne ._565 @cond_branch - ldr r0, ._558 + 12 @ _nakamuraDataA - add r1, r5, #0 - mov r2, #0x7 - bl debug_sub_81612B8 - b ._565 -._559: - .align 2, 0 -._558: - .word _nakamuraData6 - .word _nakamuraData8 - .word _nakamuraDataC - .word _nakamuraDataA -._552: - ldrh r1, [r2, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._560 @cond_branch - ldr r0, ._563 @ _nakamuraDataC - ldrh r0, [r0] - cmp r0, #0 - beq ._565 @cond_branch - mov r0, #0x5 - bl PlaySE - bl debug_sub_8161160 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl debug_sub_8161290 - b ._565 -._564: - .align 2, 0 -._563: - .word _nakamuraDataC -._560: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._565 @cond_branch - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - bl CloseMenu - mov r0, #0x1 -._543: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_81612EC - - thumb_func_start DebugMenu_RandomNumberTest -DebugMenu_RandomNumberTest: - push {lr} - ldr r0, ._566 @ _nakamuraData6 - mov r1, #0x0 - strh r1, [r0] - ldr r0, ._566 + 4 @ _nakamuraData8 - strh r1, [r0] - ldr r0, ._566 + 8 @ _nakamuraDataC - strh r1, [r0] - ldr r0, ._566 + 12 @ _nakamuraDataA - strh r1, [r0] - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_EraseWindowRect - bl debug_sub_81611D8 - ldr r1, ._566 + 16 @ gMenuCallback - ldr r0, ._566 + 20 @ debug_sub_81612EC - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._567: - .align 2, 0 -._566: - .word _nakamuraData6 - .word _nakamuraData8 - .word _nakamuraDataC - .word _nakamuraDataA - .word gMenuCallback - .word debug_sub_81612EC+1 - - thumb_func_end DebugMenu_RandomNumberTest - - .align 2, 0 - -.endif diff --git a/asm/nohara_debug_menu.s b/asm/nohara_debug_menu.s deleted file mode 100644 index 1bc077b90..000000000 --- a/asm/nohara_debug_menu.s +++ /dev/null @@ -1,2198 +0,0 @@ -.if DEBUG - - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .text - - thumb_func_start InitNoharaDebugMenu -InitNoharaDebugMenu: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x13 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._1 @ gUnknown_Debug_083C4938 - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x12 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._1 + 4 @ gMenuCallback - ldr r0, ._1 + 8 @ debug_sub_808F414 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._2: - .align 2, 0 -._1: - .word gUnknown_Debug_083C4938 - .word gMenuCallback - .word debug_sub_808F414+1 - - thumb_func_end InitNoharaDebugMenu - - thumb_func_start debug_sub_808F414 -debug_sub_808F414: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._3 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - beq ._4 @cond_branch - ldr r2, ._6 @ gMenuCallback - ldr r0, ._6 + 4 @ gUnknown_Debug_083C4938 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] -._3: - mov r0, #0x0 - b ._5 -._7: - .align 2, 0 -._6: - .word gMenuCallback - .word gUnknown_Debug_083C4938 -._4: - bl CloseMenu - mov r0, #0x1 -._5: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808F414 - - thumb_func_start NoharaDebugMenu_TV -NoharaDebugMenu_TV: - push {lr} - add sp, sp, #0xfffffff8 - ldr r1, ._8 @ gDebug_03000726 - mov r0, #0x0 - strb r0, [r1] - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xa - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._8 + 4 @ gUnknown_Debug_083C4B8C - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x9 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._8 + 8 @ gMenuCallback - ldr r0, ._8 + 12 @ debug_sub_808F4AC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._9: - .align 2, 0 -._8: - .word gDebug_03000726 - .word gUnknown_Debug_083C4B8C - .word gMenuCallback - .word debug_sub_808F4AC+1 - - thumb_func_end NoharaDebugMenu_TV - - thumb_func_start debug_sub_808F4AC -debug_sub_808F4AC: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._10 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - beq ._11 @cond_branch - ldr r2, ._13 @ gMenuCallback - ldr r0, ._13 + 4 @ gUnknown_Debug_083C4B8C - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] -._10: - mov r0, #0x0 - b ._12 -._14: - .align 2, 0 -._13: - .word gMenuCallback - .word gUnknown_Debug_083C4B8C -._11: - bl CloseMenu - mov r0, #0x1 -._12: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808F4AC - - thumb_func_start debug_sub_808F4EC -debug_sub_808F4EC: - push {lr} - bl debug_sub_808F6BC - ldr r0, ._15 @ gUnknown_Debug_083C4980 - bl sub_8071F40 - mov r0, #0x3 - mov r1, #0x3 - mov r2, #0x1 - bl DisplayYesNoMenu - ldr r1, ._15 + 4 @ gMenuCallback - ldr r0, ._15 + 8 @ debug_sub_808F648 - str r0, [r1] - pop {r0} - bx r0 -._16: - .align 2, 0 -._15: - .word gUnknown_Debug_083C4980 - .word gMenuCallback - .word debug_sub_808F648+1 - - thumb_func_end debug_sub_808F4EC - - thumb_func_start debug_sub_808F518 -debug_sub_808F518: - push {r4, lr} - mov r2, #0x0 - ldr r4, ._20 @ gSaveBlock1 - ldr r3, ._20 + 4 @ 0x2738 -._19: - lsl r0, r2, #0x3 - add r0, r0, r2 - lsl r0, r0, #0x2 - add r1, r0, r4 - add r0, r1, r3 - ldrb r0, [r0] - sub r0, r0, #0x15 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x13 - bhi ._18 @cond_branch - ldr r0, ._20 + 8 @ 0x2739 - add r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0 - bne ._18 @cond_branch - mov r0, #0x1 - strb r0, [r1] -._18: - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x17 - bls ._19 @cond_branch - pop {r4} - pop {r0} - bx r0 -._21: - .align 2, 0 -._20: - .word gSaveBlock1 - .word 0x2738 - .word 0x2739 - - thumb_func_end debug_sub_808F518 - - thumb_func_start debug_sub_808F560 -debug_sub_808F560: - push {r4, lr} - mov r1, #0x0 - ldr r4, ._23 @ gSaveBlock1 - ldr r3, ._23 + 4 @ 0x2739 - mov r2, #0x0 -._22: - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r4 - add r0, r0, r3 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x17 - bls ._22 @cond_branch - bl CloseMenu - mov r0, #0x1 - pop {r4} - pop {r1} - bx r1 -._24: - .align 2, 0 -._23: - .word gSaveBlock1 - .word 0x2739 - - thumb_func_end debug_sub_808F560 - - thumb_func_start debug_sub_808F594 -debug_sub_808F594: - push {r4, r5, r6, lr} - mov r2, #0x0 - ldr r6, ._27 @ gSaveBlock1 - ldr r5, ._27 + 4 @ 0x2738 - ldr r4, ._27 + 8 @ 0x2739 - mov r3, #0x1 -._26: - lsl r0, r2, #0x3 - add r0, r0, r2 - lsl r0, r0, #0x2 - add r1, r0, r6 - add r0, r1, r5 - ldrb r0, [r0] - cmp r0, #0 - beq ._25 @cond_branch - add r0, r1, r4 - strb r3, [r0] -._25: - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x17 - bls ._26 @cond_branch - bl CloseMenu - mov r0, #0x1 - pop {r4, r5, r6} - pop {r1} - bx r1 -._28: - .align 2, 0 -._27: - .word gSaveBlock1 - .word 0x2738 - .word 0x2739 - - thumb_func_end debug_sub_808F594 - - thumb_func_start debug_sub_808F5D8 -debug_sub_808F5D8: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r4, #0x0 - ldr r6, ._30 @ gStringVar1 - ldr r7, ._30 + 4 @ gUnknown_Debug_083C4BD4 - add r0, r7, #1 - mov r8, r0 -._29: - ldr r5, ._30 + 8 @ gSpecialVar_0x8004 - strh r4, [r5] - bl GetSlotMachineId - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r6, #0 - mov r2, #0x0 - mov r3, #0x1 - bl ConvertIntToDecimalStringN - lsl r0, r4, #0x1 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r1, r0, r7 - ldrb r1, [r1] - add r0, r0, r8 - ldrb r2, [r0] - add r0, r6, #0 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0xb - bls ._29 @cond_branch - mov r0, #0x0 - strh r0, [r5] - ldr r1, ._30 + 12 @ gMenuCallback - ldr r0, ._30 + 16 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._31: - .align 2, 0 -._30: - .word gStringVar1 - .word gUnknown_Debug_083C4BD4 - .word gSpecialVar_0x8004 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_808F5D8 - - thumb_func_start debug_sub_808F648 -debug_sub_808F648: - push {lr} - ldr r0, ._35 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._32 @cond_branch - mov r0, #0xa - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_EraseWindowRect - ldr r0, ._35 + 4 @ gDebug_03000726 - ldrb r1, [r0] - mov r2, #0x1 - eor r1, r1, r2 - strb r1, [r0] - cmp r1, #0 - beq ._33 @cond_branch - bl debug_sub_808F7B4 - b ._40 -._36: - .align 2, 0 -._35: - .word gMain - .word gDebug_03000726 -._33: - bl debug_sub_808F6BC - b ._40 -._32: - bl Menu_ProcessInputNoWrap_ - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._43 @cond_branch - cmp r1, r0 - bgt ._39 @cond_branch - sub r0, r0, #0x1 - cmp r1, r0 - beq ._40 @cond_branch - b ._43 -._39: - cmp r1, #0 - beq ._42 @cond_branch - b ._43 -._40: - mov r0, #0x0 - b ._44 -._42: - bl debug_sub_808F518 -._43: - bl CloseMenu - mov r0, #0x1 -._44: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808F648 - - thumb_func_start debug_sub_808F6BC -debug_sub_808F6BC: - push {r4, r5, r6, lr} - mov r4, #0x0 - ldr r5, ._48 @ gStringVar1 - ldr r6, ._48 + 4 @ gSaveBlock1 -._45: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._48 + 8 @ 0x2738 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x0 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x4 - bls ._45 @cond_branch - mov r4, #0x5 - ldr r5, ._48 @ gStringVar1 - ldr r6, ._48 + 4 @ gSaveBlock1 -._50: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._48 + 8 @ 0x2738 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0xe - bhi ._46 @cond_branch - lsl r1, r4, #0x19 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x3 - bl Menu_PrintText - b ._47 -._49: - .align 2, 0 -._48: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2738 -._46: - lsl r1, r4, #0x19 - mov r0, #0xec - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x6 - bl Menu_PrintText -._47: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x17 - bls ._50 @cond_branch - mov r4, #0x0 - ldr r5, ._53 @ gStringVar1 -._55: - ldr r0, ._53 + 4 @ gSaveBlock1 - lsl r1, r4, #0x2 - add r1, r1, r0 - ldr r0, ._53 + 8 @ 0x2abc - add r1, r1, r0 - ldrb r1, [r1] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0x7 - bhi ._51 @cond_branch - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x9 - bl Menu_PrintText - b ._52 -._54: - .align 2, 0 -._53: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2abc -._51: - lsl r1, r4, #0x19 - mov r0, #0xfa - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0xc - bl Menu_PrintText -._52: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0xf - bls ._55 @cond_branch - pop {r4, r5, r6} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808F6BC - - thumb_func_start debug_sub_808F7B4 -debug_sub_808F7B4: - push {r4, r5, r6, lr} - mov r4, #0x0 - ldr r5, ._59 @ gStringVar1 - ldr r6, ._59 + 4 @ gSaveBlock1 -._56: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._59 + 8 @ 0x2739 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x0 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x4 - bls ._56 @cond_branch - mov r4, #0x5 - ldr r5, ._59 @ gStringVar1 - ldr r6, ._59 + 4 @ gSaveBlock1 -._61: - lsl r0, r4, #0x3 - add r0, r0, r4 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldr r1, ._59 + 8 @ 0x2739 - add r0, r0, r1 - ldrb r1, [r0] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0xe - bhi ._57 @cond_branch - lsl r1, r4, #0x19 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x3 - bl Menu_PrintText - b ._58 -._60: - .align 2, 0 -._59: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2739 -._57: - lsl r1, r4, #0x19 - mov r0, #0xec - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x6 - bl Menu_PrintText -._58: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x17 - bls ._61 @cond_branch - mov r4, #0x0 - ldr r5, ._64 @ gStringVar1 -._66: - ldr r0, ._64 + 4 @ gSaveBlock1 - lsl r1, r4, #0x2 - add r1, r1, r0 - ldr r0, ._64 + 8 @ 0x2abd - add r1, r1, r0 - ldrb r1, [r1] - add r0, r5, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - cmp r4, #0x7 - bhi ._62 @cond_branch - lsl r1, r4, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x14 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0x9 - bl Menu_PrintText - b ._63 -._65: - .align 2, 0 -._64: - .word gStringVar1 - .word gSaveBlock1 - .word 0x2abd -._62: - lsl r1, r4, #0x19 - mov r0, #0xfa - lsl r0, r0, #0x18 - add r1, r1, r0 - lsr r1, r1, #0x18 - add r0, r5, #0 - mov r2, #0xc - bl Menu_PrintText -._63: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0xf - bls ._66 @cond_branch - pop {r4, r5, r6} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808F7B4 - - thumb_func_start debug_sub_808F8AC -debug_sub_808F8AC: - push {lr} - ldr r0, ._67 @ 0x832 - bl FlagSet - ldr r0, ._67 + 4 @ 0x818 - bl FlagSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._68: - .align 2, 0 -._67: - .word 0x832 - .word 0x818 - - thumb_func_end debug_sub_808F8AC - - thumb_func_start debug_sub_808F8CC -debug_sub_808F8CC: - push {r4, lr} - ldr r1, ._69 @ gDebug_03000724 - mov r0, #0x0 - strb r0, [r1] - ldr r0, ._69 + 4 @ gUnknown_Debug_083C49CA - bl sub_8071F40 - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x1a - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r0, ._69 + 8 @ gUnknown_Debug_083C4ACC - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - mov r0, #0x16 - mov r1, #0x1 - mov r2, #0x18 - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r4, ._69 + 12 @ gStringVar1 - add r0, r4, #0 - mov r1, #0x0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x17 - mov r2, #0x1 - bl Menu_PrintText - ldr r1, ._69 + 16 @ gMenuCallback - ldr r0, ._69 + 20 @ debug_sub_808F93C - str r0, [r1] - pop {r4} - pop {r0} - bx r0 -._70: - .align 2, 0 -._69: - .word gDebug_03000724 - .word gUnknown_Debug_083C49CA - .word gUnknown_Debug_083C4ACC - .word gStringVar1 - .word gMenuCallback - .word debug_sub_808F93C+1 - - thumb_func_end debug_sub_808F8CC - - thumb_func_start debug_sub_808F93C -debug_sub_808F93C: - push {r4, lr} - mov r2, #0x0 - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._71 @cond_branch - ldr r1, ._83 + 4 @ gDebug_03000725 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x18 - bne ._72 @cond_branch - strb r2, [r1] -._72: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._71: - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._73 @cond_branch - ldr r1, ._83 + 4 @ gDebug_03000725 - ldrb r0, [r1] - cmp r0, #0 - bne ._74 @cond_branch - mov r0, #0x18 - strb r0, [r1] -._74: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._73: - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._75 @cond_branch - ldr r1, ._83 + 8 @ gDebug_03000724 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0xc - bne ._76 @cond_branch - mov r0, #0x0 - strb r0, [r1] -._76: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._75: - ldr r0, ._83 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._77 @cond_branch - ldr r1, ._83 + 8 @ gDebug_03000724 - ldrb r0, [r1] - cmp r0, #0 - bne ._78 @cond_branch - mov r0, #0xc - strb r0, [r1] -._78: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._77: - cmp r2, #0 - beq ._79 @cond_branch - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x1a - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r1, ._83 + 12 @ gUnknown_Debug_083C4ACC - ldr r0, ._83 + 8 @ gDebug_03000724 - ldrb r0, [r0] - lsl r0, r0, #0x2 - add r0, r0, r1 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - mov r0, #0x16 - mov r1, #0x1 - mov r2, #0x18 - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r4, ._83 + 16 @ gStringVar1 - ldr r0, ._83 + 4 @ gDebug_03000725 - ldrb r1, [r0] - add r0, r4, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x17 - mov r2, #0x1 - bl Menu_PrintText -._79: - ldr r4, ._83 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._80 @cond_branch - mov r0, #0x15 - bl PlaySE - ldr r0, ._83 + 4 @ gDebug_03000725 - ldrb r0, [r0] - ldr r2, ._83 + 20 @ gUnknown_Debug_083C4ABD - ldr r1, ._83 + 8 @ gDebug_03000724 - ldrb r1, [r1] - add r1, r1, r2 - ldrb r1, [r1] - bl debug_sub_808FA88 -._80: - ldrh r1, [r4, #0x2e] - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._81 @cond_branch - mov r0, #0x0 - b ._82 -._84: - .align 2, 0 -._83: - .word gMain - .word gDebug_03000725 - .word gDebug_03000724 - .word gUnknown_Debug_083C4ACC - .word gStringVar1 - .word gUnknown_Debug_083C4ABD -._81: - ldr r0, ._85 @ gSaveBlock1 - bl sub_80BF588 - bl CloseMenu - mov r0, #0x1 -._82: - pop {r4} - pop {r1} - bx r1 -._86: - .align 2, 0 -._85: - .word gSaveBlock1+0x2738 - - thumb_func_end debug_sub_808F93C - - thumb_func_start debug_sub_808FA88 -debug_sub_808FA88: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add sp, sp, #0xffffffcc - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - lsl r1, r1, #0x18 - lsr r7, r1, #0x18 - bl GetLeadMonIndex - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r9, r0 - ldr r3, ._92 @ gSaveBlock1 - lsl r4, r6, #0x3 - add r2, r4, r6 - lsl r2, r2, #0x2 - add r0, r2, r3 - ldr r5, ._92 + 4 @ 0x2738 - add r1, r0, r5 - strb r7, [r1] - ldr r1, ._92 + 8 @ 0x2739 - add r0, r0, r1 - mov r1, #0x1 - strb r1, [r0] - mov r1, #0x0 - ldr r0, ._92 + 12 @ 0x273a - add r5, r3, r0 - mov r3, #0x1 -._87: - add r0, r1, r2 - add r0, r0, r5 - strb r3, [r0] - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x21 - bls ._87 @cond_branch - add r0, r7, #0 - bl GetTVChannelByShowType - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r1, r0, #0 - cmp r0, #0x3 - beq ._88 @cond_branch - cmp r0, #0x3 - bgt ._89 @cond_branch - cmp r0, #0x2 - beq ._90 @cond_branch - b ._95 -._93: - .align 2, 0 -._92: - .word gSaveBlock1 - .word 0x2738 - .word 0x2739 - .word 0x273a -._89: - cmp r1, #0x4 - bne ._95 @cond_branch -._90: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._96 @ gSaveBlock1 - add r0, r0, r1 - bl sub_80BE160 - b ._95 -._97: - .align 2, 0 -._96: - .word gSaveBlock1+0x2738 -._88: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._100 @ gSaveBlock1 - add r0, r0, r1 - bl sub_80BE138 -._95: - sub r0, r7, #1 - cmp r0, #0x28 - bls ._98 @cond_branch - b ._173 -._98: - lsl r0, r0, #0x2 - ldr r1, ._100 + 4 @ - add r0, r0, r1 - ldr r0, [r0] - mov pc, r0 -._101: - .align 2, 0 -._100: - .word gSaveBlock1+0x2738 - .word ._102 -._102: - .word ._104 - .word ._104 - .word ._105 - .word ._173 - .word ._107 - .word ._108 - .word ._109 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._123 - .word ._124 - .word ._125 - .word ._126 - .word ._127 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._173 - .word ._143 -._104: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._145 @ gSaveBlock1 - add r4, r0, r1 - mov r2, #0x1 - strh r2, [r4, #0x2] - add r1, r1, #0x10 - add r0, r0, r1 - ldr r1, ._145 + 4 @ gSaveBlock2 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0x18] - b ._173 -._146: - .align 2, 0 -._145: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 -._105: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r6, ._148 @ gSaveBlock1 - add r1, r4, r6 - mov r8, r1 - mov r0, #0x1 - strh r0, [r1, #0x2] - add r0, r6, #5 - add r0, r4, r0 - ldr r1, ._148 + 4 @ gSaveBlock2 - bl StringCopy - mov r0, #0x64 - mov r5, r9 - mul r5, r5, r0 - ldr r0, ._148 + 8 @ gPlayerParty - add r5, r5, r0 - add r6, r6, #0x10 - add r4, r4, r6 - add r0, r5, #0 - mov r1, #0x2 - add r2, r4, #0 - bl GetMonData - mov r0, #0x5 - mov r1, r8 - strb r0, [r1, #0xd] - add r0, r5, #0 - mov r1, #0x3 - bl GetMonData - mov r5, r8 - strb r0, [r5, #0xe] - b ._173 -._149: - .align 2, 0 -._148: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 - .word gPlayerParty -._107: - mov r0, #0x64 - mov r1, r9 - mul r1, r1, r0 - mov r8, r1 - ldr r0, ._151 @ gPlayerParty - add r8, r8, r0 - mov r0, r8 - mov r1, #0xb - bl GetMonData - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r5, ._151 + 4 @ gSaveBlock1 - add r6, r4, r5 - strh r0, [r6, #0x2] - mov r0, #0x1 - strh r0, [r6, #0x1c] - add r0, r5, #0 - add r0, r0, #0xf - add r0, r4, r0 - ldr r1, ._151 + 8 @ gSaveBlock2 - bl StringCopy - add r5, r5, #0x4 - add r4, r4, r5 - mov r0, r8 - mov r1, #0x2 - add r2, r4, #0 - bl GetMonData - mov r0, #0x5 - strb r0, [r6, #0x1e] - mov r0, r8 - mov r1, #0x3 - bl GetMonData - strb r0, [r6, #0x1f] - b ._173 -._152: - .align 2, 0 -._151: - .word gPlayerParty - .word gSaveBlock1+0x2738 - .word gSaveBlock2 -._108: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r6, ._154 @ gSaveBlock1 - add r5, r4, r6 - mov r8, r5 - mov r0, #0x1 - strh r0, [r5, #0x2] - add r0, r6, #0 - add r0, r0, #0x16 - add r0, r4, r0 - ldr r1, ._154 + 4 @ gSaveBlock2 - bl StringCopy - mov r0, #0x64 - mov r5, r9 - mul r5, r5, r0 - ldr r0, ._154 + 8 @ gPlayerParty - add r5, r5, r0 - add r6, r6, #0x8 - add r4, r4, r6 - add r0, r5, #0 - mov r1, #0x2 - add r2, r4, #0 - bl GetMonData - mov r0, #0x5 - mov r1, r8 - strb r0, [r1, #0x1e] - add r0, r5, #0 - mov r1, #0x3 - bl GetMonData - mov r5, r8 - strb r0, [r5, #0x1f] - b ._173 -._155: - .align 2, 0 -._154: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 - .word gPlayerParty -._109: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r5, ._157 @ gSaveBlock1 - add r6, r4, r5 - mov r0, #0x1 - strh r0, [r6, #0xa] - strh r0, [r6, #0x14] - add r0, r5, #2 - add r0, r4, r0 - ldr r1, ._157 + 4 @ gSaveBlock2 - mov r8, r1 - bl StringCopy - add r5, r5, #0xc - add r4, r4, r5 - add r0, r4, #0 - mov r1, r8 - bl StringCopy - mov r0, #0x5 - strb r0, [r6, #0x1d] - b ._173 -._158: - .align 2, 0 -._157: - .word gSaveBlock1+0x2738 - .word gSaveBlock2 -._143: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._160 @ gSaveBlock1 - add r0, r0, r1 - mov r1, #0x1 - strh r1, [r0, #0xc] - strh r1, [r0, #0x16] - b ._173 -._161: - .align 2, 0 -._160: - .word gSaveBlock1+0x2738 -._123: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._163 @ gSaveBlock1 - add r4, r4, r0 - ldr r1, ._163 + 4 @ gUnknown_Debug_083C4C64 - mov r0, sp - mov r2, #0x8 - bl memcpy - add r5, sp, #0x8 - ldr r1, ._163 + 8 @ gUnknown_Debug_083C4C6C - add r0, r5, #0 - mov r2, #0xb - bl memcpy - mov r0, #0xff - strb r0, [r4, #0x12] - add r0, r4, #0 - add r0, r0, #0x13 - mov r1, sp - bl StringCopy - add r0, r4, #4 - add r1, r5, #0 - bl StringCopy - mov r0, #0xc - strb r0, [r4, #0xf] - mov r0, #0x28 - strh r0, [r4, #0x10] - mov r0, #0x5 - strb r0, [r4, #0x2] - strb r0, [r4, #0x3] - b ._173 -._164: - .align 2, 0 -._163: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 - .word gUnknown_Debug_083C4C6C -._124: - add r0, r4, r6 - lsl r0, r0, #0x2 - ldr r1, ._168 @ gSaveBlock1 - add r5, r0, r1 - add r4, sp, #0x14 - ldr r1, ._168 + 4 @ gUnknown_Debug_083C4C64 - add r0, r4, #0 - mov r2, #0x8 - bl memcpy - add r1, r4, #0 - mov r3, #0xfe - mov r2, #0x2 - add r0, r5, #0 - add r0, r0, #0x10 -._165: - strh r3, [r0] - sub r0, r0, #0x2 - sub r2, r2, #0x1 - cmp r2, #0 - bge ._165 @cond_branch - mov r0, #0x1 - strb r0, [r5, #0x2] - mov r0, #0x28 - strb r0, [r5, #0x12] - add r0, r5, #0 - add r0, r0, #0x13 - add r3, r5, #6 - mov r6, #0x1e - add r2, r5, #0 - add r2, r2, #0xa -._166: - strh r6, [r2] - sub r2, r2, #0x2 - cmp r2, r3 - bge ._166 @cond_branch - bl StringCopy - mov r0, #0x5 - strb r0, [r5, #0x3] - b ._173 -._169: - .align 2, 0 -._168: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 -._125: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._171 @ gSaveBlock1 - add r4, r4, r0 - add r5, sp, #0x1c - ldr r1, ._171 + 4 @ gUnknown_Debug_083C4C64 - add r0, r5, #0 - mov r2, #0x8 - bl memcpy - mov r0, #0x28 - strh r0, [r4, #0xc] - strh r0, [r4, #0xe] - mov r0, #0x3 - strb r0, [r4, #0x12] - mov r0, #0xff - strb r0, [r4, #0x10] - mov r0, #0x1 - strb r0, [r4, #0x11] - add r0, r4, #0 - add r0, r0, #0x13 - add r1, r5, #0 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0x2] - b ._173 -._172: - .align 2, 0 -._171: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 -._126: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._174 @ gSaveBlock1 - add r4, r4, r0 - add r5, sp, #0x24 - ldr r1, ._174 + 4 @ gUnknown_Debug_083C4C64 - add r0, r5, #0 - mov r2, #0x8 - bl memcpy - mov r0, #0xff - strb r0, [r4, #0x2] - mov r0, #0x0 - strb r0, [r4, #0x3] - mov r0, #0x28 - strh r0, [r4, #0x4] - add r0, r4, #0 - add r0, r0, #0x13 - add r1, r5, #0 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0x6] - b ._173 -._175: - .align 2, 0 -._174: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 -._127: - add r4, r4, r6 - lsl r4, r4, #0x2 - ldr r0, ._176 @ gSaveBlock1 - add r4, r4, r0 - add r5, sp, #0x2c - ldr r1, ._176 + 4 @ gUnknown_Debug_083C4C64 - add r0, r5, #0 - mov r2, #0x8 - bl memcpy - ldr r0, ._176 + 8 @ 0xffff - strh r0, [r4, #0x2] - mov r0, #0x1 - neg r0, r0 - strh r0, [r4, #0x6] - mov r0, #0x28 - strh r0, [r4, #0x4] - strh r0, [r4, #0x8] - mov r0, #0x3 - strb r0, [r4, #0xa] - add r0, r4, #0 - add r0, r0, #0x13 - add r1, r5, #0 - bl StringCopy - mov r0, #0x5 - strb r0, [r4, #0xb] -._173: - add sp, sp, #0x34 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._177: - .align 2, 0 -._176: - .word gSaveBlock1+0x2738 - .word gUnknown_Debug_083C4C64 - .word 0xffff - - thumb_func_end debug_sub_808FA88 - - thumb_func_start debug_sub_808FEBC -debug_sub_808FEBC: - push {lr} - bl ClearTVShowData - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_808FEBC - - thumb_func_start debug_sub_808FECC -debug_sub_808FECC: - push {r4, lr} - ldr r1, ._178 @ gDebug_03000724 - mov r0, #0x0 - strb r0, [r1] - ldr r0, ._178 + 4 @ gUnknown_Debug_083C49CA - bl sub_8071F40 - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x17 - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r0, ._178 + 8 @ gUnknown_Debug_083C4B24 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - mov r0, #0x16 - mov r1, #0x1 - mov r2, #0x18 - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r4, ._178 + 12 @ gStringVar1 - add r0, r4, #0 - mov r1, #0x0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x17 - mov r2, #0x1 - bl Menu_PrintText - ldr r1, ._178 + 16 @ gMenuCallback - ldr r0, ._178 + 20 @ debug_sub_808FF3C - str r0, [r1] - pop {r4} - pop {r0} - bx r0 -._179: - .align 2, 0 -._178: - .word gDebug_03000724 - .word gUnknown_Debug_083C49CA - .word gUnknown_Debug_083C4B24 - .word gStringVar1 - .word gMenuCallback - .word debug_sub_808FF3C+1 - - thumb_func_end debug_sub_808FECC - - thumb_func_start debug_sub_808FF3C -debug_sub_808FF3C: - push {r4, lr} - mov r2, #0x0 - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._180 @cond_branch - ldr r1, ._192 + 4 @ gDebug_03000725 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x10 - bne ._181 @cond_branch - strb r2, [r1] -._181: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._180: - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._182 @cond_branch - ldr r1, ._192 + 4 @ gDebug_03000725 - ldrb r0, [r1] - cmp r0, #0 - bne ._183 @cond_branch - mov r0, #0x10 - strb r0, [r1] -._183: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._182: - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._184 @cond_branch - ldr r1, ._192 + 8 @ gDebug_03000724 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x3 - bne ._185 @cond_branch - mov r0, #0x0 - strb r0, [r1] -._185: - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._184: - ldr r0, ._192 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._186 @cond_branch - ldr r1, ._192 + 8 @ gDebug_03000724 - ldrb r0, [r1] - cmp r0, #0 - bne ._187 @cond_branch - mov r0, #0x3 - strb r0, [r1] -._187: - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x5 - bl PlaySE - mov r2, #0x1 -._186: - cmp r2, #0 - beq ._188 @cond_branch - mov r0, #0xd - mov r1, #0x6 - mov r2, #0x17 - mov r3, #0x8 - bl Menu_BlankWindowRect - ldr r1, ._192 + 12 @ gUnknown_Debug_083C4B24 - ldr r0, ._192 + 8 @ gDebug_03000724 - ldrb r0, [r0] - lsl r0, r0, #0x2 - add r0, r0, r1 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - mov r0, #0x16 - mov r1, #0x1 - mov r2, #0x18 - mov r3, #0x2 - bl Menu_BlankWindowRect - ldr r4, ._192 + 16 @ gStringVar1 - ldr r0, ._192 + 4 @ gDebug_03000725 - ldrb r1, [r0] - add r0, r4, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x17 - mov r2, #0x1 - bl Menu_PrintText -._188: - ldr r4, ._192 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._189 @cond_branch - mov r0, #0x15 - bl PlaySE - ldr r0, ._192 + 4 @ gDebug_03000725 - ldrb r0, [r0] - ldr r2, ._192 + 20 @ gUnknown_Debug_083C4B20 - ldr r1, ._192 + 8 @ gDebug_03000724 - ldrb r1, [r1] - add r1, r1, r2 - ldrb r1, [r1] - bl debug_sub_8090080 -._189: - ldrh r1, [r4, #0x2e] - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._190 @cond_branch - mov r0, #0x0 - b ._191 -._193: - .align 2, 0 -._192: - .word gMain - .word gDebug_03000725 - .word gDebug_03000724 - .word gUnknown_Debug_083C4B24 - .word gStringVar1 - .word gUnknown_Debug_083C4B20 -._190: - bl sub_80BEC40 - bl CloseMenu - mov r0, #0x1 -._191: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808FF3C - - thumb_func_start debug_sub_8090080 -debug_sub_8090080: - lsl r0, r0, #0x18 - ldr r2, ._194 @ gSaveBlock1 - lsr r0, r0, #0x16 - add r0, r0, r2 - ldr r3, ._194 + 4 @ 0x2abc - add r2, r0, r3 - strb r1, [r2] - ldr r1, ._194 + 8 @ 0x2abd - add r2, r0, r1 - mov r1, #0x1 - strb r1, [r2] - add r3, r3, #0x2 - add r0, r0, r3 - mov r1, #0x4 - strh r1, [r0] - bx lr -._195: - .align 2, 0 -._194: - .word gSaveBlock1 - .word 0x2abc - .word 0x2abd - - thumb_func_end debug_sub_8090080 - - thumb_func_start debug_sub_80900AC -debug_sub_80900AC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r7, #0x0 - mov r5, #0x0 - ldr r0, ._202 @ gSaveBlock1 - mov r8, r0 -._198: - lsl r0, r5, #0x3 - add r0, r0, r5 - lsl r0, r0, #0x2 - mov r1, r8 - add r6, r0, r1 - ldr r1, ._202 + 4 @ 0x2738 - add r0, r6, r1 - ldrb r4, [r0] - cmp r4, #0 - bne ._196 @cond_branch - cmp r7, #0xc - bne ._197 @cond_branch - mov r7, #0x0 -._197: - ldr r0, ._202 + 8 @ gUnknown_Debug_083C4ABD - add r0, r7, r0 - ldrb r1, [r0] - add r0, r5, #0 - bl debug_sub_808FA88 - ldr r1, ._202 + 12 @ 0x2739 - add r0, r6, r1 - strb r4, [r0] - add r0, r7, #1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._196: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x17 - bls ._198 @cond_branch - mov r7, #0x0 - mov r5, #0x0 -._201: - ldr r0, ._202 @ gSaveBlock1 - lsl r1, r5, #0x2 - add r1, r1, r0 - ldr r0, ._202 + 16 @ 0x2abc - add r1, r1, r0 - ldrb r0, [r1] - cmp r0, #0 - bne ._199 @cond_branch - cmp r7, #0x3 - bne ._200 @cond_branch - mov r7, #0x0 -._200: - ldr r0, ._202 + 20 @ gUnknown_Debug_083C4B20 - add r0, r7, r0 - ldrb r1, [r0] - add r0, r5, #0 - bl debug_sub_8090080 - add r0, r7, #1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._199: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0xf - bls ._201 @cond_branch - bl CloseMenu - mov r0, #0x1 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._203: - .align 2, 0 -._202: - .word gSaveBlock1 - .word 0x2738 - .word gUnknown_Debug_083C4ABD - .word 0x2739 - .word 0x2abc - .word gUnknown_Debug_083C4B20 - - thumb_func_end debug_sub_80900AC - - thumb_func_start NoharaDebugMenu_Fan -NoharaDebugMenu_Fan: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xb - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._204 @ gUnknown_Debug_083C4D28 - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xa - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._204 + 4 @ gMenuCallback - ldr r0, ._204 + 8 @ debug_sub_80901A4 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._205: - .align 2, 0 -._204: - .word gUnknown_Debug_083C4D28 - .word gMenuCallback - .word debug_sub_80901A4+1 - - thumb_func_end NoharaDebugMenu_Fan - - thumb_func_start debug_sub_80901A4 -debug_sub_80901A4: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._206 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - beq ._207 @cond_branch - ldr r2, ._209 @ gMenuCallback - ldr r0, ._209 + 4 @ gUnknown_Debug_083C4D28 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] -._206: - mov r0, #0x0 - b ._208 -._210: - .align 2, 0 -._209: - .word gMenuCallback - .word gUnknown_Debug_083C4D28 -._207: - bl CloseMenu - mov r0, #0x1 -._208: - pop {r1} - bx r1 - - thumb_func_end debug_sub_80901A4 - - thumb_func_start debug_sub_80901E4 -debug_sub_80901E4: - push {lr} - bl ResetFanClub - bl sub_810FAA0 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_80901E4 - - thumb_func_start debug_sub_80901F8 -debug_sub_80901F8: - push {lr} - bl sub_810FB9C - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._211 @ gUnknown_Debug_083C4CA8 - ldr r1, ._211 + 4 @ gUnknown_083F8408 - add r0, r0, r1 - ldrb r0, [r0] - sub r0, r0, #0x8 - lsl r0, r0, #0x2 - add r0, r0, r2 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - ldr r1, ._211 + 8 @ gMenuCallback - ldr r0, ._211 + 12 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._212: - .align 2, 0 -._211: - .word gUnknown_Debug_083C4CA8 - .word gUnknown_083F8408 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_80901F8 - - thumb_func_start debug_sub_8090238 -debug_sub_8090238: - push {lr} - bl sub_810FC18 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._213 @ gUnknown_Debug_083C4CA8 - ldr r1, ._213 + 4 @ gUnknown_083F8410 - add r0, r0, r1 - ldrb r0, [r0] - sub r0, r0, #0x8 - lsl r0, r0, #0x2 - add r0, r0, r2 - ldr r0, [r0] - mov r1, #0xe - mov r2, #0x7 - bl Menu_PrintText - ldr r1, ._213 + 8 @ gMenuCallback - ldr r0, ._213 + 12 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._214: - .align 2, 0 -._213: - .word gUnknown_Debug_083C4CA8 - .word gUnknown_083F8410 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_8090238 - - thumb_func_start debug_sub_8090278 -debug_sub_8090278: - push {lr} - ldr r0, ._217 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - bne ._215 @cond_branch - mov r0, #0x0 - b ._216 -._218: - .align 2, 0 -._217: - .word gMain -._215: - bl CloseMenu - mov r0, #0x1 -._216: - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090278 - - thumb_func_start debug_sub_809029C -debug_sub_809029C: - push {r4, lr} - ldr r4, ._219 @ gStringVar1 - ldr r0, ._219 + 4 @ gSaveBlock1 - ldr r1, ._219 + 8 @ 0x13c2 - add r0, r0, r1 - ldrh r0, [r0] - mov r1, #0x7f - and r1, r1, r0 - add r0, r4, #0 - mov r2, #0x0 - mov r3, #0x2 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x10 - mov r2, #0x7 - bl Menu_PrintText - ldr r1, ._219 + 12 @ gMenuCallback - ldr r0, ._219 + 16 @ debug_sub_8090278 - str r0, [r1] - mov r0, #0x0 - pop {r4} - pop {r1} - bx r1 -._220: - .align 2, 0 -._219: - .word gStringVar1 - .word gSaveBlock1 - .word 0x13c2 - .word gMenuCallback - .word debug_sub_8090278+1 - - thumb_func_end debug_sub_809029C - - thumb_func_start debug_sub_80902E4 -debug_sub_80902E4: - push {lr} - ldr r1, ._221 @ gSaveBlock2 - ldrh r0, [r1, #0xe] - add r0, r0, #0x6 - strh r0, [r1, #0xe] - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._222: - .align 2, 0 -._221: - .word gSaveBlock2 - - thumb_func_end debug_sub_80902E4 - - thumb_func_start debug_sub_80902FC -debug_sub_80902FC: - push {lr} - mov r0, #0x0 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_80902FC - - thumb_func_start debug_sub_8090310 -debug_sub_8090310: - push {lr} - mov r0, #0x1 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090310 - - thumb_func_start debug_sub_8090324 -debug_sub_8090324: - push {lr} - mov r0, #0x2 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090324 - - thumb_func_start debug_sub_8090338 -debug_sub_8090338: - push {lr} - mov r0, #0x3 - bl sub_810FB10 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090338 - - thumb_func_start NoharaDebugMenu_BattleVSDad -NoharaDebugMenu_BattleVSDad: - push {lr} - ldr r0, ._223 @ 0x4085 - mov r1, #0x6 - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._224: - .align 2, 0 -._223: - .word 0x4085 - - thumb_func_end NoharaDebugMenu_BattleVSDad - - thumb_func_start NoharaDebugMenu_DadAfterBattle -NoharaDebugMenu_DadAfterBattle: - push {lr} - ldr r0, ._225 @ 0x4085 - mov r1, #0x7 - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._226: - .align 2, 0 -._225: - .word 0x4085 - - thumb_func_end NoharaDebugMenu_DadAfterBattle - - thumb_func_start NoharaDebugMenu_SootopolisCity -NoharaDebugMenu_SootopolisCity: - push {lr} - mov r0, #0x81 - bl FlagSet - mov r0, #0x71 - bl FlagSet - ldr r0, ._227 @ 0x32f - bl FlagClear - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._228: - .align 2, 0 -._227: - .word 0x32f - - thumb_func_end NoharaDebugMenu_SootopolisCity - - thumb_func_start NoharaDebugMenu_Embark -NoharaDebugMenu_Embark: - push {lr} - ldr r0, ._229 @ 0x2e3 - bl FlagClear - ldr r0, ._229 + 4 @ 0x4090 - mov r1, #0x1 - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._230: - .align 2, 0 -._229: - .word 0x2e3 - .word 0x4090 - - thumb_func_end NoharaDebugMenu_Embark - - thumb_func_start NoharaDebugMenu_Yes9999 -NoharaDebugMenu_Yes9999: - push {lr} - ldr r0, ._231 @ 0x4048 - ldr r1, ._231 + 4 @ 0x270f - bl VarSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._232: - .align 2, 0 -._231: - .word 0x4048 - .word 0x270f - - thumb_func_end NoharaDebugMenu_Yes9999 - - thumb_func_start NoharaDebugMenu_LegendsFlagOn -NoharaDebugMenu_LegendsFlagOn: - push {lr} - mov r0, #0xe4 - bl FlagSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end NoharaDebugMenu_LegendsFlagOn - - thumb_func_start NoharaDebugMenu_AddNumWinningStreaks -NoharaDebugMenu_AddNumWinningStreaks: - push {lr} - ldr r0, ._235 @ gSaveBlock2 - ldr r1, ._235 + 4 @ 0x572 - add r2, r0, r1 - ldrh r1, [r2] - cmp r1, #0x31 - bhi ._233 @cond_branch - mov r0, #0x32 - b ._244 -._236: - .align 2, 0 -._235: - .word gSaveBlock2 - .word 0x572 -._233: - cmp r1, #0x63 - bhi ._237 @cond_branch - mov r0, #0x64 - b ._244 -._237: - ldr r0, ._241 @ 0x3e7 - cmp r1, r0 - bhi ._239 @cond_branch - add r0, r0, #0x1 - b ._244 -._242: - .align 2, 0 -._241: - .word 0x3e7 -._239: - ldr r0, ._245 @ 0x1387 - cmp r1, r0 - bhi ._243 @cond_branch - ldr r0, ._245 + 4 @ 0x2706 - b ._244 -._246: - .align 2, 0 -._245: - .word 0x1387 - .word 0x2706 -._243: - ldr r0, ._248 @ 0x2705 - cmp r1, r0 - bhi ._247 @cond_branch - add r0, r0, #0xa -._244: - strh r0, [r2] -._247: - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._249: - .align 2, 0 -._248: - .word 0x2705 - - thumb_func_end NoharaDebugMenu_AddNumWinningStreaks - - .align 2, 0 - -.endif diff --git a/asm/normal.s b/asm/normal.s index 732c049ab..55aae48fd 100644 --- a/asm/normal.s +++ b/asm/normal.s @@ -24,7 +24,7 @@ sub_80E1CB4: @ 80E1CB4 strh r0, [r4, 0x2E] ldr r0, _080E1CF0 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -1208,7 +1208,7 @@ _080E25A0: cmp r0, 0x1 bhi _080E25F4 movs r4, 0 - ldr r5, _080E2600 @ =gNoOfAllBanks + ldr r5, _080E2600 @ =gBattlersCount ldrb r0, [r5] cmp r4, r0 bcs _080E25F4 @@ -1243,7 +1243,7 @@ _080E25FA: pop {r0} bx r0 .align 2, 0 -_080E2600: .4byte gNoOfAllBanks +_080E2600: .4byte gBattlersCount _080E2604: .4byte gSprites _080E2608: .4byte gBankSpriteIds thumb_func_end sub_80E255C @@ -1538,7 +1538,7 @@ sub_80E2838: @ 80E2838 adds r4, r0, 0 ldr r0, _080E2868 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E285C @@ -1636,7 +1636,7 @@ sub_80E2908: @ 80E2908 adds r4, r0, 0 ldr r5, _080E2968 @ =gBattleAnimArgs ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] @@ -2512,13 +2512,13 @@ _080E2FAC: bne _080E3028 ldr r5, _080E305C @ =gAnimBankAttacker ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _080E2FDC ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _080E3028 @@ -2585,11 +2585,11 @@ _080E3068: .4byte gSharedMem + 0x19348 _080E306C: ldr r4, _080E308C @ =gAnimBankAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E3098 - ldr r1, _080E3090 @ =gBattlePartyID + ldr r1, _080E3090 @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -2600,10 +2600,10 @@ _080E306C: b _080E30A8 .align 2, 0 _080E308C: .4byte gAnimBankAttacker -_080E3090: .4byte gBattlePartyID +_080E3090: .4byte gBattlerPartyIndexes _080E3094: .4byte gEnemyParty _080E3098: - ldr r1, _080E3160 @ =gBattlePartyID + ldr r1, _080E3160 @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -2619,7 +2619,7 @@ _080E30A8: lsrs r4, r0, 16 _080E30B4: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r5, r0, 24 ldr r0, _080E3168 @ =gAnimBankAttacker @@ -2697,7 +2697,7 @@ _080E3106: pop {r0} bx r0 .align 2, 0 -_080E3160: .4byte gBattlePartyID +_080E3160: .4byte gBattlerPartyIndexes _080E3164: .4byte gPlayerParty _080E3168: .4byte gAnimBankAttacker _080E316C: .4byte 0x040000d4 @@ -2784,7 +2784,7 @@ _080E3208: adds r0, 0x2 strh r5, [r0] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r0, _080E32CC @ =gSprites mov r8, r0 movs r2, 0x8 @@ -3051,13 +3051,13 @@ _080E3432: cmp r0, 0 bne _080E34A4 adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _080E345E adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _080E34A4 @@ -3119,11 +3119,11 @@ _080E34DC: .4byte gBankSpriteIds _080E34E0: .4byte gSharedMem + 0x19348 _080E34E4: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E3508 - ldr r1, _080E3500 @ =gBattlePartyID + ldr r1, _080E3500 @ =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -3132,10 +3132,10 @@ _080E34E4: ldr r1, _080E3504 @ =gEnemyParty b _080E3516 .align 2, 0 -_080E3500: .4byte gBattlePartyID +_080E3500: .4byte gBattlerPartyIndexes _080E3504: .4byte gEnemyParty _080E3508: - ldr r1, _080E3568 @ =gBattlePartyID + ldr r1, _080E3568 @ =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -3182,7 +3182,7 @@ _080E3550: bl LZDecompressVram b _080E3580 .align 2, 0 -_080E3568: .4byte gBattlePartyID +_080E3568: .4byte gBattlerPartyIndexes _080E356C: .4byte gPlayerParty _080E3570: .4byte gBankSpriteIds _080E3574: .4byte gBattleStatMask1_Tilemap @@ -3847,7 +3847,7 @@ sub_80E3A58: @ 80E3A58 beq _080E3A94 ldr r0, _080E3AC8 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E3A94 @@ -3955,7 +3955,7 @@ sub_80E3B4C: @ 80E3B4C lsrs r4, 24 ldr r0, _080E3B70 @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, _080E3B74 @ =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 @@ -3978,7 +3978,7 @@ sub_80E3B78: @ 80E3B78 lsrs r4, 24 ldr r0, _080E3B9C @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, _080E3BA0 @ =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 @@ -4206,11 +4206,11 @@ _080E3D50: .4byte REG_BG1CNT _080E3D54: .4byte gSharedMem + 0x19348 _080E3D58: adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E3D7C - ldr r1, _080E3D74 @ =gBattlePartyID + ldr r1, _080E3D74 @ =gBattlerPartyIndexes lsls r0, r7, 1 adds r0, r1 ldrh r1, [r0] @@ -4219,10 +4219,10 @@ _080E3D58: ldr r1, _080E3D78 @ =gEnemyParty b _080E3D8A .align 2, 0 -_080E3D74: .4byte gBattlePartyID +_080E3D74: .4byte gBattlerPartyIndexes _080E3D78: .4byte gEnemyParty _080E3D7C: - ldr r1, _080E3E48 @ =gBattlePartyID + ldr r1, _080E3E48 @ =gBattlerPartyIndexes lsls r0, r7, 1 adds r0, r1 ldrh r1, [r0] @@ -4320,7 +4320,7 @@ _080E3DE6: pop {r0} bx r0 .align 2, 0 -_080E3E48: .4byte gBattlePartyID +_080E3E48: .4byte gBattlerPartyIndexes _080E3E4C: .4byte gPlayerParty _080E3E50: .4byte gBankSpriteIds _080E3E54: .4byte gBattle_BG1_X @@ -4861,11 +4861,11 @@ sub_80E4264: @ 80E4264 lsrs r5, r0, 24 ldr r0, _080E428C @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r0, _080E4290 @ =gAnimBankTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 diff --git a/asm/pc_screen_effect.s b/asm/pc_screen_effect.s deleted file mode 100644 index 9d36df66c..000000000 --- a/asm/pc_screen_effect.s +++ /dev/null @@ -1,546 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80C5E38 -sub_80C5E38: @ 80C5E38 - push {r4-r7,lr} - sub sp, 0x28 - adds r7, r0, 0 - ldr r0, _080C5EC8 @ =gUnknown_083D1898 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - ldr r0, _080C5ECC @ =gUnknown_083D18A0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x20] - str r1, [sp, 0x24] - mov r1, sp - ldr r0, _080C5ED0 @ =gSpriteTemplate_83D18C0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldrh r3, [r7] - lsls r2, r3, 16 - add r0, sp, 0x18 - ldrh r1, [r0, 0x4] - orrs r1, r2 - str r1, [r0, 0x4] - mov r1, sp - movs r6, 0 - strh r3, [r1] - ldrh r2, [r7, 0x2] - ldr r5, _080C5ED4 @ =0xffff0000 - add r4, sp, 0x20 - ldr r1, [r4, 0x4] - ands r1, r5 - orrs r1, r2 - str r1, [r4, 0x4] - mov r1, sp - strh r2, [r1, 0x2] - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - movs r0, 0x50 - strh r0, [r7, 0xC] - strh r6, [r7, 0x8] - strh r6, [r7, 0xA] - ldrh r0, [r7, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r0 - bics r5, r1 - str r5, [r7, 0x10] - ldrh r0, [r7, 0x4] - cmp r0, 0 - bne _080C5EB2 - movs r0, 0x10 - strh r0, [r7, 0x4] -_080C5EB2: - ldrh r0, [r7, 0x6] - cmp r0, 0 - bne _080C5EBC - movs r0, 0x14 - strh r0, [r7, 0x6] -_080C5EBC: - ldr r0, _080C5ED8 @ =gUnknown_020387EC - str r7, [r0] - movs r5, 0 - ldr r6, _080C5EDC @ =gSprites - b _080C5F4A - .align 2, 0 -_080C5EC8: .4byte gUnknown_083D1898 -_080C5ECC: .4byte gUnknown_083D18A0 -_080C5ED0: .4byte gSpriteTemplate_83D18C0 -_080C5ED4: .4byte 0xffff0000 -_080C5ED8: .4byte gUnknown_020387EC -_080C5EDC: .4byte gSprites -_080C5EE0: - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r7, 0x4] - strh r0, [r1, 0x2E] - movs r0, 0x1 - strh r0, [r1, 0x30] - ldr r1, _080C5EF4 @ =gSprites - b _080C5F2A - .align 2, 0 -_080C5EF4: .4byte gSprites -_080C5EF8: - lsls r1, r5, 21 - movs r0, 0x80 - lsls r0, 16 - adds r1, r0 - asrs r1, 16 - mov r0, sp - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _080C5F6E - lsls r2, r3, 4 - adds r1, r2, r3 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r7, 0x4] - negs r0, r0 - strh r0, [r1, 0x2E] - ldr r0, _080C5F88 @ =0x0000ffff - strh r0, [r1, 0x30] - ldr r1, _080C5F8C @ =gSprites - lsls r4, r5, 5 -_080C5F2A: - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x8 - movs r2, 0 - strh r1, [r0, 0x32] - strh r2, [r0, 0x36] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C5F4A: - cmp r5, 0x7 - bhi _080C5F6E - cmp r5, 0x3 - bhi _080C5EF8 - lsls r4, r5, 5 - adds r1, r4, 0 - subs r1, 0x70 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - bne _080C5EE0 -_080C5F6E: - ldr r1, _080C5F90 @ =REG_BLDCNT - movs r0, 0xFF - strh r0, [r1] - adds r1, 0x4 - movs r0, 0x10 - strh r0, [r1] - ldr r0, _080C5F94 @ =sub_80C6078 - bl sub_80C61B0 - add sp, 0x28 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5F88: .4byte 0x0000ffff -_080C5F8C: .4byte gSprites -_080C5F90: .4byte REG_BLDCNT -_080C5F94: .4byte sub_80C6078 - thumb_func_end sub_80C5E38 - - thumb_func_start sub_80C5F98 -sub_80C5F98: @ 80C5F98 - push {r4,lr} - ldr r4, _080C5FB0 @ =gUnknown_020387EC - ldr r2, [r4] - ldrh r0, [r2, 0x8] - cmp r0, 0x1 - beq _080C5FEC - cmp r0, 0x1 - bgt _080C5FB4 - cmp r0, 0 - beq _080C5FBA - b _080C602C - .align 2, 0 -_080C5FB0: .4byte gUnknown_020387EC -_080C5FB4: - cmp r0, 0x2 - beq _080C6008 - b _080C602C -_080C5FBA: - ldrh r0, [r2, 0xC] - ldrh r1, [r2, 0x6] - subs r0, r1 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _080C6034 - ldr r0, [r2, 0x10] - ldr r2, _080C5FE4 @ =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r0, _080C5FE8 @ =sub_80C603C - bl SetHBlankCallback - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0xC] - b _080C6000 - .align 2, 0 -_080C5FE4: .4byte 0x0000ffff -_080C5FE8: .4byte sub_80C603C -_080C5FEC: - ldrh r0, [r2, 0xA] - cmp r0, 0x8 - bne _080C6034 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, [r4] -_080C6000: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080C6034 -_080C6008: - ldr r0, _080C6030 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - ldrh r0, [r2] - bl FreeSpriteTilesByTag - ldr r0, [r4] - ldrh r0, [r0, 0x2] - bl FreeSpritePaletteByTag - bl ClearGpuRegBits - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_080C602C: - movs r0, 0x1 - b _080C6036 - .align 2, 0 -_080C6030: .4byte REG_BLDCNT -_080C6034: - movs r0, 0 -_080C6036: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C5F98 - - thumb_func_start sub_80C603C -sub_80C603C: @ 80C603C - push {lr} - sub sp, 0x4 - mov r2, sp - ldr r0, _080C6060 @ =REG_VCOUNT - ldrh r1, [r0] - movs r3, 0xFF - adds r0, r3, 0 - ands r0, r1 - strh r0, [r2] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0x50 - bne _080C6068 - ldr r1, _080C6064 @ =REG_BLDCNT - movs r0, 0x8F - strh r0, [r1] - b _080C606C - .align 2, 0 -_080C6060: .4byte REG_VCOUNT -_080C6064: .4byte REG_BLDCNT -_080C6068: - ldr r0, _080C6074 @ =REG_BLDCNT - strh r3, [r0] -_080C606C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080C6074: .4byte REG_BLDCNT - thumb_func_end sub_80C603C - - thumb_func_start sub_80C6078 -sub_80C6078: @ 80C6078 - push {lr} - sub sp, 0x4 - mov r2, sp - ldr r0, _080C60B0 @ =REG_VCOUNT - ldrh r1, [r0] - movs r0, 0xFF - ands r0, r1 - strh r0, [r2] - mov r0, sp - ldrh r1, [r0] - ldr r0, _080C60B4 @ =gUnknown_020387EC - ldr r0, [r0] - movs r3, 0xC - ldrsh r2, [r0, r3] - movs r0, 0x50 - subs r0, r2 - cmp r1, r0 - ble _080C60BC - mov r0, sp - ldrh r1, [r0] - adds r0, r2, 0 - adds r0, 0x50 - cmp r1, r0 - bge _080C60BC - ldr r1, _080C60B8 @ =REG_BLDY - movs r0, 0 - b _080C60C0 - .align 2, 0 -_080C60B0: .4byte REG_VCOUNT -_080C60B4: .4byte gUnknown_020387EC -_080C60B8: .4byte REG_BLDY -_080C60BC: - ldr r1, _080C60C8 @ =REG_BLDY - movs r0, 0x10 -_080C60C0: - strh r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080C60C8: .4byte REG_BLDY - thumb_func_end sub_80C6078 - - thumb_func_start sub_80C60CC -sub_80C60CC: @ 80C60CC - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bls _080C611C - adds r0, r2, 0 - bl DestroySprite - ldr r4, _080C6124 @ =gUnknown_020387EC - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bne _080C611C - ldrh r0, [r1] - bl FreeSpriteTilesByTag - ldr r0, [r4] - ldrh r0, [r0, 0x2] - bl FreeSpritePaletteByTag - ldr r0, [r4] - ldr r0, [r0, 0x10] - ldr r2, _080C6128 @ =0x0000ffff - movs r1, 0 - bl BlendPalettes - ldr r0, _080C612C @ =sub_80C6078 - bl SetHBlankCallback -_080C611C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C6124: .4byte gUnknown_020387EC -_080C6128: .4byte 0x0000ffff -_080C612C: .4byte sub_80C6078 - thumb_func_end sub_80C60CC - - thumb_func_start sub_80C6130 -sub_80C6130: @ 80C6130 - push {r4,r5,lr} - adds r2, r0, 0 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080C61AA - ldr r1, _080C6184 @ =gUnknown_020387EC - ldr r0, [r1] - movs r3, 0xC - ldrsh r4, [r0, r3] - adds r5, r1, 0 - cmp r4, 0x1 - bne _080C61AA - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - adds r0, 0xF - lsls r0, 16 - movs r1, 0x87 - lsls r1, 17 - cmp r0, r1 - bhi _080C616C - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_080C616C: - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _080C6188 - movs r0, 0x20 - ldrsh r1, [r2, r0] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r1, r0 - blt _080C6196 - b _080C6194 - .align 2, 0 -_080C6184: .4byte gUnknown_020387EC -_080C6188: - movs r0, 0x20 - ldrsh r1, [r2, r0] - movs r3, 0x32 - ldrsh r0, [r2, r3] - cmp r1, r0 - bgt _080C6196 -_080C6194: - strh r4, [r2, 0x36] -_080C6196: - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080C61AA - ldr r0, [r5] - ldrh r1, [r0, 0xA] - adds r1, 0x1 - strh r1, [r0, 0xA] - ldrh r0, [r2, 0x32] - strh r0, [r2, 0x20] -_080C61AA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C6130 - - thumb_func_start sub_80C61B0 -sub_80C61B0: @ 80C61B0 - push {r4-r6,lr} - ldr r2, _080C61F0 @ =INTR_CHECK - ldrh r1, [r2] - movs r5, 0x2 - orrs r1, r5 - strh r1, [r2] - ldr r3, _080C61F4 @ =REG_DISPSTAT - ldrh r1, [r3] - movs r2, 0x10 - orrs r1, r2 - strh r1, [r3] - ldr r4, _080C61F8 @ =0x04000208 - ldrh r2, [r4] - movs r6, 0 - strh r6, [r4] - ldr r3, _080C61FC @ =0x04000200 - ldrh r1, [r3] - orrs r1, r5 - strh r1, [r3] - strh r2, [r4] - ldr r2, _080C6200 @ =gMain - ldrh r1, [r2, 0x1C] - orrs r1, r5 - ldrh r3, [r2, 0x1C] - orrs r1, r6 - strh r1, [r2, 0x1C] - bl SetHBlankCallback - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C61F0: .4byte INTR_CHECK -_080C61F4: .4byte REG_DISPSTAT -_080C61F8: .4byte 0x04000208 -_080C61FC: .4byte 0x04000200 -_080C6200: .4byte gMain - thumb_func_end sub_80C61B0 - - thumb_func_start ClearGpuRegBits -ClearGpuRegBits: @ 80C6204 - push {r4,r5,lr} - ldr r3, _080C6248 @ =INTR_CHECK - ldrh r1, [r3] - ldr r2, _080C624C @ =0x0000fffd - adds r0, r2, 0 - ands r0, r1 - strh r0, [r3] - ldr r3, _080C6250 @ =REG_DISPSTAT - ldrh r1, [r3] - ldr r0, _080C6254 @ =0x0000ffef - ands r0, r1 - strh r0, [r3] - ldr r4, _080C6258 @ =0x04000208 - ldrh r3, [r4] - movs r0, 0 - strh r0, [r4] - ldr r5, _080C625C @ =0x04000200 - ldrh r1, [r5] - adds r0, r2, 0 - ands r0, r1 - strh r0, [r5] - strh r3, [r4] - ldr r0, _080C6260 @ =gMain - ldrh r1, [r0, 0x1C] - ands r2, r1 - ldrh r1, [r0, 0x1C] - strh r2, [r0, 0x1C] - movs r0, 0 - bl SetHBlankCallback - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C6248: .4byte INTR_CHECK -_080C624C: .4byte 0x0000fffd -_080C6250: .4byte REG_DISPSTAT -_080C6254: .4byte 0x0000ffef -_080C6258: .4byte 0x04000208 -_080C625C: .4byte 0x04000200 -_080C6260: .4byte gMain - thumb_func_end ClearGpuRegBits - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s deleted file mode 100644 index 779a5a0ed..000000000 --- a/asm/pokedex_area_screen.s +++ /dev/null @@ -1,2370 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start UnusedPokedexAreaScreen -UnusedPokedexAreaScreen: @ 8110664 - push {lr} - ldr r3, _08110678 @ =gSharedMem - str r1, [r3, 0x4] - str r2, [r3, 0x8] - strh r0, [r3, 0xE] - ldr r0, _0811067C @ =CB2_UnusedPokedexAreaScreen - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08110678: .4byte gSharedMem -_0811067C: .4byte CB2_UnusedPokedexAreaScreen - thumb_func_end UnusedPokedexAreaScreen - - thumb_func_start CB2_UnusedPokedexAreaScreen -CB2_UnusedPokedexAreaScreen: @ 8110680 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0811069C @ =gMain - ldr r1, _081106A0 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bls _08110692 - b _081107C0 -_08110692: - lsls r0, 2 - ldr r1, _081106A4 @ =_081106A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811069C: .4byte gMain -_081106A0: .4byte 0x0000043c -_081106A4: .4byte _081106A8 - .align 2, 0 -_081106A8: - .4byte _081106C8 - .4byte _08110720 - .4byte _08110740 - .4byte _08110746 - .4byte _08110752 - .4byte _08110770 - .4byte _08110782 - .4byte _081107A8 -_081106C8: - movs r0, 0 - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xC4 - lsls r2, 7 - adds r0, r2, 0 - strh r0, [r1] - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - ldr r0, _08110710 @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - ldr r2, _08110714 @ =REG_BG0VOFS - ldr r3, _08110718 @ =0x0000fff8 - adds r0, r3, 0 - strh r0, [r2] - ldr r0, _0811071C @ =REG_BG2VOFS - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - b _081107C0 - .align 2, 0 -_08110710: .4byte REG_BG0HOFS -_08110714: .4byte REG_BG0VOFS -_08110718: .4byte 0x0000fff8 -_0811071C: .4byte REG_BG2VOFS -_08110720: - ldr r4, _0811073C @ =gSharedMem + 0x6E8 - adds r0, r4, 0 - movs r1, 0 - bl InitRegionMap - movs r0, 0x88 - lsls r0, 4 - adds r4, r0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - bl StringFill - b _081107C0 - .align 2, 0 -_0811073C: .4byte gSharedMem + 0x6E8 -_08110740: - bl sub_8110824 - b _081107C0 -_08110746: - bl DrawAreaGlow - lsls r0, 24 - cmp r0, 0 - bne _081107CC - b _081107C0 -_08110752: - movs r0, 0x1 - movs r1, 0x1 - bl CreateRegionMapPlayerIcon - movs r1, 0x8 - negs r1, r1 - movs r0, 0 - bl sub_80FB2A4 - ldr r0, _0811076C @ =sub_81107DC - bl SetVBlankCallback - b _081107C0 - .align 2, 0 -_0811076C: .4byte sub_81107DC -_08110770: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _081107C0 -_08110782: - ldr r1, _0811079C @ =REG_BLDCNT - ldr r2, _081107A0 @ =0x00003f41 - adds r0, r2, 0 - strh r0, [r1] - bl sub_8111084 - movs r1, 0x80 - lsls r1, 19 - ldr r3, _081107A4 @ =0x00007741 - adds r0, r3, 0 - strh r0, [r1] - b _081107C0 - .align 2, 0 -_0811079C: .4byte REG_BLDCNT -_081107A0: .4byte 0x00003f41 -_081107A4: .4byte 0x00007741 -_081107A8: - ldr r0, _081107B8 @ =sub_8111288 - bl sub_8110814 - ldr r0, _081107BC @ =sub_81107F0 - bl SetMainCallback2 - b _081107CC - .align 2, 0 -_081107B8: .4byte sub_8111288 -_081107BC: .4byte sub_81107F0 -_081107C0: - ldr r1, _081107D4 @ =gMain - ldr r0, _081107D8 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081107CC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081107D4: .4byte gMain -_081107D8: .4byte 0x0000043c - thumb_func_end CB2_UnusedPokedexAreaScreen - - thumb_func_start sub_81107DC -sub_81107DC: @ 81107DC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81107DC - - thumb_func_start sub_81107F0 -sub_81107F0: @ 81107F0 - push {lr} - ldr r0, _08110810 @ =gSharedMem - ldr r0, [r0] - bl _call_via_r0 - bl sub_8111110 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - .align 2, 0 -_08110810: .4byte gSharedMem - thumb_func_end sub_81107F0 - - thumb_func_start sub_8110814 -sub_8110814: @ 8110814 - ldr r1, _08110820 @ =gSharedMem - str r0, [r1] - movs r0, 0 - strh r0, [r1, 0xC] - bx lr - .align 2, 0 -_08110820: .4byte gSharedMem - thumb_func_end sub_8110814 - - thumb_func_start sub_8110824 -sub_8110824: @ 8110824 - ldr r0, _08110834 @ =gSharedMem - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - bx lr - .align 2, 0 -_08110834: .4byte gSharedMem - thumb_func_end sub_8110824 - - thumb_func_start DrawAreaGlow -DrawAreaGlow: @ 8110838 - push {lr} - ldr r1, _08110854 @ =gSharedMem - movs r2, 0x8A - lsls r2, 1 - adds r0, r1, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, 0x5 - bhi _081108E4 - lsls r0, 2 - ldr r1, _08110858 @ =_0811085C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08110854: .4byte gSharedMem -_08110858: .4byte _0811085C - .align 2, 0 -_0811085C: - .4byte _08110874 - .4byte _08110884 - .4byte _0811088A - .4byte _0811089C - .4byte _081108C0 - .4byte _081108D0 -_08110874: - ldr r0, _08110880 @ =gSharedMem - ldrh r0, [r0, 0xE] - bl FindMapsWithMon - b _081108F0 - .align 2, 0 -_08110880: .4byte gSharedMem -_08110884: - bl BuildAreaGlowTilemap - b _081108F0 -_0811088A: - ldr r0, _08110894 @ =gUnknown_083F8438 - ldr r1, _08110898 @ =0x0600c000 - bl LZ77UnCompVram - b _081108F0 - .align 2, 0 -_08110894: .4byte gUnknown_083F8438 -_08110898: .4byte 0x0600c000 -_0811089C: - ldr r1, _081108B0 @ =0x040000d4 - ldr r0, _081108B4 @ =gSharedMem + 0x116 - str r0, [r1] - ldr r0, _081108B8 @ =0x0600f000 - str r0, [r1, 0x4] - ldr r0, _081108BC @ =0x80000280 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - b _081108F0 - .align 2, 0 -_081108B0: .4byte 0x040000d4 -_081108B4: .4byte gSharedMem + 0x116 -_081108B8: .4byte 0x0600f000 -_081108BC: .4byte 0x80000280 -_081108C0: - ldr r0, _081108CC @ =gUnknown_083F8418 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - b _081108F0 - .align 2, 0 -_081108CC: .4byte gUnknown_083F8418 -_081108D0: - ldr r1, _081108E8 @ =REG_BG0CNT - ldr r3, _081108EC @ =0x00001e0d - adds r0, r3, 0 - strh r0, [r1] - movs r0, 0x8A - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081108E4: - movs r0, 0 - b _08110900 - .align 2, 0 -_081108E8: .4byte REG_BG0CNT -_081108EC: .4byte 0x00001e0d -_081108F0: - ldr r1, _08110904 @ =gSharedMem - movs r2, 0x8A - lsls r2, 1 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 -_08110900: - pop {r1} - bx r1 - .align 2, 0 -_08110904: .4byte gSharedMem - thumb_func_end DrawAreaGlow - - thumb_func_start FindMapsWithMon -FindMapsWithMon: @ 8110908 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r7, r0, 16 - .ifdef SAPPHIRE - ldr r0, _sub_8110908_Latias @ =407 - .else - @ Latios - movs r0, 0xCC - lsls r0, 1 - .endif - cmp r7, r0 - bne _0811091E - b _08110A44 -_0811091E: - ldr r2, _08110988 @ =gSharedMem - movs r1, 0x88 - lsls r1, 1 - adds r0, r2, r1 - movs r1, 0 - strh r1, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r6, 0 - ldr r1, _0811098C @ =gUnknown_083F856C -_08110936: - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - bne _08110942 - b _08110A8C -_08110942: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _08110936 - movs r6, 0 - ldr r4, _08110990 @ =gUnknown_083F856E - ldrh r0, [r4] - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081109D0 - mov r8, r4 - adds r5, r4, 0x4 - mov r9, r1 -_08110960: - lsls r0, r6, 1 - adds r1, r0, r6 - lsls r2, r1, 1 - mov r3, r8 - adds r1, r2, r3 - adds r3, r0, 0 - ldrh r1, [r1] - cmp r7, r1 - bne _081109BA - adds r0, r4, 0x2 - adds r0, r2, r0 - ldrh r0, [r0] - cmp r0, 0x18 - beq _081109A6 - cmp r0, 0x18 - bgt _08110994 - cmp r0, 0 - beq _0811099A - b _081109BA - .align 2, 0 - .ifdef SAPPHIRE -_sub_8110908_Latias: .4byte 407 - .endif -_08110988: .4byte gSharedMem -_0811098C: .4byte gUnknown_083F856C -_08110990: .4byte gUnknown_083F856E -_08110994: - cmp r0, 0x1A - beq _081109A6 - b _081109BA -_0811099A: - adds r0, r2, r5 - ldrh r1, [r0] - movs r0, 0 - bl SetAreaHasMon - b _081109BA -_081109A6: - adds r1, r3, r6 - lsls r1, 1 - mov r0, r8 - adds r0, 0x2 - adds r0, r1, r0 - ldrh r0, [r0] - adds r1, r5 - ldrh r1, [r1] - bl SetSpecialMapHasMon -_081109BA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r4, _08110A00 @ =gUnknown_083F856E - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r9 - bne _08110960 -_081109D0: - movs r6, 0 - ldr r1, _08110A04 @ =gWildMonHeaders - ldrb r0, [r1] - cmp r0, 0xFF - beq _08110A8C -_081109DA: - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 2 - adds r5, r0, r1 - adds r0, r5, 0 - adds r1, r7, 0 - bl MapHasMon - lsls r0, 24 - cmp r0, 0 - beq _08110A28 - ldrb r0, [r5] - cmp r0, 0x18 - beq _08110A18 - cmp r0, 0x18 - bgt _08110A08 - cmp r0, 0 - beq _08110A0E - b _08110A28 - .align 2, 0 -_08110A00: .4byte gUnknown_083F856E -_08110A04: .4byte gWildMonHeaders -_08110A08: - cmp r0, 0x1A - beq _08110A18 - b _08110A28 -_08110A0E: - ldrb r1, [r5, 0x1] - movs r0, 0 - bl SetAreaHasMon - b _08110A28 -_08110A18: - ldr r0, _08110A40 @ =gWildMonHeaders - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl SetSpecialMapHasMon -_08110A28: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _08110A40 @ =gWildMonHeaders - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081109DA - b _08110A8C - .align 2, 0 -_08110A40: .4byte gWildMonHeaders -_08110A44: - ldr r4, _08110A7C @ =gSharedMem - movs r0, 0x89 - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0 - strh r0, [r1] - ldr r0, _08110A80 @ =gSaveBlock1 + 0x3144 - ldrb r2, [r0, 0x13] - cmp r2, 0 - beq _08110A84 - adds r0, r4, 0 - adds r0, 0x10 - adds r1, r4, 0 - adds r1, 0x11 - bl GetRoamerLocation - ldrb r0, [r4, 0x10] - ldrb r1, [r4, 0x11] - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - strh r0, [r4, 0x12] - movs r3, 0x88 - lsls r3, 1 - adds r1, r4, r3 - movs r0, 0x1 - strh r0, [r1] - b _08110A8C - .align 2, 0 -_08110A7C: .4byte gSharedMem -_08110A80: .4byte gSaveBlock1 + 0x3144 -_08110A84: - movs r1, 0x88 - lsls r1, 1 - adds r0, r4, r1 - strh r2, [r0] -_08110A8C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end FindMapsWithMon - - thumb_func_start SetAreaHasMon -SetAreaHasMon: @ 8110A98 - push {r4,r5,lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r5, _08110AE0 @ =gSharedMem - movs r0, 0x88 - lsls r0, 1 - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x3F - bhi _08110AD8 - lsls r0, 2 - adds r0, r5 - strb r2, [r0, 0x10] - ldrh r0, [r4] - lsls r0, 2 - adds r0, r5 - strb r1, [r0, 0x11] - adds r0, r2, 0 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - bl sub_80FBA04 - ldrh r1, [r4] - lsls r1, 2 - adds r1, r5 - strh r0, [r1, 0x12] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_08110AD8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08110AE0: .4byte gSharedMem - thumb_func_end SetAreaHasMon - - thumb_func_start SetSpecialMapHasMon -SetSpecialMapHasMon: @ 8110AE4 - push {r4-r6,lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _08110B9C @ =gSharedMem - movs r3, 0x89 - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0x1F - bhi _08110B96 - adds r0, r2, 0 - bl Overworld_GetMapHeaderByGroupAndId - adds r6, r0, 0 - ldrb r0, [r6, 0x14] - cmp r0, 0x57 - bhi _08110B96 - movs r4, 0 - ldr r1, _08110BA0 @ =gUnknown_083F857A - ldrh r0, [r1] - cmp r0, 0x58 - beq _08110B42 - adds r5, r1, 0 -_08110B16: - lsls r2, r4, 2 - adds r1, r2, r5 - ldrb r0, [r6, 0x14] - ldrh r1, [r1] - cmp r0, r1 - bne _08110B32 - adds r0, r5, 0x2 - adds r0, r2, r0 - ldrh r0, [r0] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08110B96 -_08110B32: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r5 - ldrh r0, [r0] - cmp r0, 0x58 - bne _08110B16 -_08110B42: - movs r4, 0 - ldr r0, _08110B9C @ =gSharedMem - movs r1, 0x89 - lsls r1, 1 - adds r2, r0, r1 - ldrh r3, [r2] - adds r1, r0, 0 - cmp r4, r3 - bcs _08110B76 - movs r0, 0xC4 - lsls r0, 3 - adds r5, r1, r0 - ldrh r0, [r5] - ldrb r2, [r6, 0x14] - cmp r0, r2 - beq _08110B76 -_08110B62: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r3 - bcs _08110B76 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r2 - bne _08110B62 -_08110B76: - movs r3, 0x89 - lsls r3, 1 - adds r2, r1, r3 - ldrh r0, [r2] - cmp r4, r0 - bne _08110B96 - lsls r0, r4, 1 - movs r3, 0xC4 - lsls r3, 3 - adds r1, r3 - adds r0, r1 - ldrb r1, [r6, 0x14] - strh r1, [r0] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] -_08110B96: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08110B9C: .4byte gSharedMem -_08110BA0: .4byte gUnknown_083F857A - thumb_func_end SetSpecialMapHasMon - - thumb_func_start MapHasMon -MapHasMon: @ 8110BA4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r6, r4, 0 - ldr r0, [r5, 0x4] - adds r1, r4, 0 - movs r2, 0xC - bl MonListHasMon - lsls r0, 24 - cmp r0, 0 - bne _08110BF2 - ldr r0, [r5, 0x8] - adds r1, r4, 0 - movs r2, 0x5 - bl MonListHasMon - lsls r0, 24 - cmp r0, 0 - bne _08110BF2 - ldr r0, [r5, 0x10] - adds r1, r4, 0 - movs r2, 0xC - bl MonListHasMon - lsls r0, 24 - cmp r0, 0 - bne _08110BF2 - ldr r0, [r5, 0xC] - adds r1, r6, 0 - movs r2, 0x5 - bl MonListHasMon - lsls r0, 24 - cmp r0, 0 - bne _08110BF2 - movs r0, 0 - b _08110BF4 -_08110BF2: - movs r0, 0x1 -_08110BF4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end MapHasMon - - thumb_func_start MonListHasMon -MonListHasMon: @ 8110BFC - push {r4,lr} - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0 - beq _08110C2A - movs r3, 0 - cmp r3, r2 - bcs _08110C2A - ldr r1, [r0, 0x4] -_08110C12: - lsls r0, r3, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, r4 - bne _08110C20 - movs r0, 0x1 - b _08110C2C -_08110C20: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r2 - bcc _08110C12 -_08110C2A: - movs r0, 0 -_08110C2C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MonListHasMon - - thumb_func_start BuildAreaGlowTilemap -BuildAreaGlowTilemap: @ 8110C34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r1, _08110E5C @ =gUnknown_02039260 - movs r0, 0 - strh r0, [r1] - mov r9, r1 - ldr r0, _08110E60 @ =gSharedMem - mov r8, r0 - ldr r1, _08110E64 @ =gUnknown_02039262 - mov r12, r1 - mov r1, r9 - movs r4, 0x8B - lsls r4, 1 - add r4, r8 - ldr r3, _08110E68 @ =0x0000027f - movs r2, 0 -_08110C5C: - ldrh r0, [r1] - lsls r0, 1 - adds r0, r4 - strh r2, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r3 - bls _08110C5C - movs r0, 0 - mov r3, r9 - strh r0, [r3] - movs r1, 0x88 - lsls r1, 1 - add r1, r8 - ldrh r0, [r1] - cmp r0, 0 - beq _08110D04 - ldr r4, _08110E6C @ =gUnknown_02039266 - movs r2, 0 - ldr r5, _08110E64 @ =gUnknown_02039262 - mov r0, r8 - str r0, [sp, 0x8] - movs r1, 0x8B - lsls r1, 1 - add r1, r8 - mov r10, r1 - ldr r6, _08110E70 @ =gUnknown_02039264 - mov r7, r9 -_08110C9A: - strh r2, [r4] - ldr r3, _08110E70 @ =gUnknown_02039264 - strh r2, [r3] -_08110CA0: - mov r0, r12 - strh r2, [r0] -_08110CA4: - ldrh r0, [r5] - ldrh r1, [r6] - str r2, [sp] - bl GetRegionMapSectionAt_ - ldrh r1, [r7] - lsls r1, 2 - ldr r3, [sp, 0x8] - adds r1, r3 - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp] - ldrh r1, [r1, 0x12] - cmp r0, r1 - bne _08110CCC - ldrh r0, [r4] - lsls r0, 1 - add r0, r10 - ldr r1, _08110E74 @ =0x0000ffff - strh r1, [r0] -_08110CCC: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1F - bls _08110CA4 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08110E64 @ =gUnknown_02039262 - mov r12, r1 - cmp r0, 0x13 - bls _08110CA0 - ldrh r0, [r7] - adds r0, 0x1 - strh r0, [r7] - lsls r0, 16 - lsrs r0, 16 - ldr r3, _08110E78 @ =gSharedMem + 0x110 - ldrh r3, [r3] - cmp r0, r3 - bcc _08110C9A -_08110D04: - movs r0, 0 - ldr r1, _08110E6C @ =gUnknown_02039266 - strh r0, [r1] - ldr r3, _08110E70 @ =gUnknown_02039264 - strh r0, [r3] - ldr r6, _08110E64 @ =gUnknown_02039262 - mov r10, r0 - adds r3, r1, 0 - ldr r5, _08110E7C @ =gSharedMem + 0x116 - ldr r4, _08110E74 @ =0x0000ffff - ldr r7, _08110E70 @ =gUnknown_02039264 -_08110D1A: - mov r0, r10 - strh r0, [r6] -_08110D1E: - ldrh r1, [r3] - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r4 - bne _08110E10 - ldrh r0, [r6] - cmp r0, 0 - beq _08110D42 - subs r0, r1, 0x1 - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110D42 - movs r0, 0x2 - orrs r0, r1 - strh r0, [r2] -_08110D42: - ldrh r0, [r6] - cmp r0, 0x1F - beq _08110D5C - ldrh r0, [r3] - adds r0, 0x1 - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110D5C - movs r0, 0x1 - orrs r0, r1 - strh r0, [r2] -_08110D5C: - ldrh r0, [r7] - cmp r0, 0 - beq _08110D76 - ldrh r0, [r3] - subs r0, 0x20 - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110D76 - movs r0, 0x8 - orrs r0, r1 - strh r0, [r2] -_08110D76: - ldrh r0, [r7] - cmp r0, 0x13 - beq _08110D90 - ldrh r0, [r3] - adds r0, 0x20 - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110D90 - movs r0, 0x4 - orrs r0, r1 - strh r0, [r2] -_08110D90: - ldrh r0, [r6] - cmp r0, 0 - beq _08110DB0 - ldrh r0, [r7] - cmp r0, 0 - beq _08110DB0 - ldrh r0, [r3] - subs r0, 0x21 - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110DB0 - movs r0, 0x10 - orrs r0, r1 - strh r0, [r2] -_08110DB0: - ldrh r0, [r6] - cmp r0, 0x1F - beq _08110DD0 - ldrh r0, [r7] - cmp r0, 0 - beq _08110DD0 - ldrh r0, [r3] - subs r0, 0x1F - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110DD0 - movs r0, 0x40 - orrs r0, r1 - strh r0, [r2] -_08110DD0: - ldrh r0, [r6] - cmp r0, 0 - beq _08110DF0 - ldrh r0, [r7] - cmp r0, 0x13 - beq _08110DF0 - ldrh r0, [r3] - adds r0, 0x1F - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110DF0 - movs r0, 0x20 - orrs r0, r1 - strh r0, [r2] -_08110DF0: - ldrh r0, [r6] - cmp r0, 0x1F - beq _08110E10 - ldrh r0, [r7] - cmp r0, 0x13 - beq _08110E10 - ldrh r0, [r3] - adds r0, 0x21 - lsls r0, 1 - adds r2, r0, r5 - ldrh r1, [r2] - cmp r1, r4 - beq _08110E10 - movs r0, 0x80 - orrs r0, r1 - strh r0, [r2] -_08110E10: - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1F - bhi _08110E26 - b _08110D1E -_08110E26: - ldrh r0, [r7] - adds r0, 0x1 - strh r0, [r7] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bhi _08110E36 - b _08110D1A -_08110E36: - movs r0, 0 - mov r1, r9 - strh r0, [r1] -_08110E3C: - mov r3, r9 - ldrh r0, [r3] - lsls r0, 1 - movs r4, 0x8B - lsls r4, 1 - add r4, r8 - adds r3, r0, r4 - ldrh r2, [r3] - adds r1, r2, 0 - ldr r0, _08110E74 @ =0x0000ffff - cmp r1, r0 - bne _08110E80 - movs r0, 0x10 - strh r0, [r3] - b _0811105E - .align 2, 0 -_08110E5C: .4byte gUnknown_02039260 -_08110E60: .4byte gSharedMem -_08110E64: .4byte gUnknown_02039262 -_08110E68: .4byte 0x0000027f -_08110E6C: .4byte gUnknown_02039266 -_08110E70: .4byte gUnknown_02039264 -_08110E74: .4byte 0x0000ffff -_08110E78: .4byte gSharedMem + 0x110 -_08110E7C: .4byte gSharedMem + 0x116 -_08110E80: - cmp r1, 0 - bne _08110E86 - b _0811105E -_08110E86: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08110E94 - ldr r0, _08110F28 @ =0x0000ffcf - ands r0, r2 - strh r0, [r3] -_08110E94: - mov r1, r9 - ldrh r0, [r1] - lsls r0, 1 - adds r2, r0, r4 - ldrh r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08110EAC - ldr r0, _08110F2C @ =0x0000ff3f - ands r0, r1 - strh r0, [r2] -_08110EAC: - mov r3, r9 - ldrh r0, [r3] - lsls r0, 1 - adds r2, r0, r4 - ldrh r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08110EC4 - ldr r0, _08110F30 @ =0x0000ffaf - ands r0, r1 - strh r0, [r2] -_08110EC4: - mov r1, r9 - ldrh r0, [r1] - lsls r0, 1 - adds r2, r0, r4 - ldrh r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08110EDC - ldr r0, _08110F34 @ =0x0000ff5f - ands r0, r1 - strh r0, [r2] -_08110EDC: - ldr r6, _08110F38 @ =gUnknown_02039268 - mov r3, r9 - ldrh r0, [r3] - lsls r0, 1 - adds r0, r4 - ldrh r1, [r0] - movs r5, 0xF - adds r0, r5, 0 - ands r0, r1 - strh r0, [r6] - ldr r2, _08110F3C @ =gUnknown_0203926A - ldrh r0, [r3] - lsls r0, 1 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0xF0 - ands r0, r1 - strh r0, [r2] - ldrh r1, [r3] - adds r3, r2, 0 - cmp r0, 0 - bne _08110F0A - b _0811105E -_08110F0A: - lsls r0, r1, 1 - adds r0, r4 - ldrh r2, [r0] - adds r1, r5, 0 - ands r1, r2 - strh r1, [r0] - ldrh r0, [r6] - cmp r0, 0xA - bls _08110F1E - b _0811105E -_08110F1E: - lsls r0, 2 - ldr r1, _08110F40 @ =_08110F44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08110F28: .4byte 0x0000ffcf -_08110F2C: .4byte 0x0000ff3f -_08110F30: .4byte 0x0000ffaf -_08110F34: .4byte 0x0000ff5f -_08110F38: .4byte gUnknown_02039268 -_08110F3C: .4byte gUnknown_0203926A -_08110F40: .4byte _08110F44 - .align 2, 0 -_08110F44: - .4byte _08110F70 - .4byte _08110FAC - .4byte _08110F8E - .4byte _0811105E - .4byte _08111002 - .4byte _08111036 - .4byte _08111036 - .4byte _0811105E - .4byte _08110FCE - .4byte _0811104A - .4byte _0811104A -_08110F70: - ldrh r0, [r3] - lsls r1, r0, 16 - cmp r1, 0 - beq _0811105E - mov r0, r9 - ldrh r2, [r0] - lsls r2, 1 - movs r0, 0x8B - lsls r0, 1 - add r0, r8 - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x10 - lsrs r1, 20 - b _08110FC8 -_08110F8E: - ldrh r0, [r3] - lsls r1, r0, 16 - cmp r1, 0 - beq _0811105E - mov r3, r9 - ldrh r2, [r3] - lsls r2, 1 - movs r0, 0x8B - lsls r0, 1 - add r0, r8 - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x1E - lsrs r1, 20 - b _08110FC8 -_08110FAC: - ldrh r0, [r3] - lsls r1, r0, 16 - cmp r1, 0 - beq _0811105E - mov r0, r9 - ldrh r2, [r0] - lsls r2, 1 - movs r0, 0x8B - lsls r0, 1 - add r0, r8 - adds r2, r0 - ldrh r0, [r2] - adds r0, 0x20 - lsrs r1, 22 -_08110FC8: - adds r0, r1 - strh r0, [r2] - b _0811105E -_08110FCE: - ldrh r2, [r3] - cmp r2, 0 - beq _0811105E - movs r0, 0x80 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - negs r0, r0 - lsrs r3, r0, 31 - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _08110FEC - movs r0, 0x2 - orrs r3, r0 -_08110FEC: - mov r0, r9 - ldrh r1, [r0] - lsls r1, 1 - movs r0, 0x8B - lsls r0, 1 - add r0, r8 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x20 - adds r0, r3 - b _0811105C -_08111002: - ldrh r2, [r3] - cmp r2, 0 - beq _0811105E - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - negs r0, r0 - lsrs r3, r0, 31 - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _08111020 - movs r0, 0x2 - orrs r3, r0 -_08111020: - mov r0, r9 - ldrh r1, [r0] - lsls r1, 1 - movs r0, 0x8B - lsls r0, 1 - add r0, r8 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x21 - adds r0, r3 - b _0811105C -_08111036: - mov r3, r9 - ldrh r1, [r3] - lsls r1, 1 - movs r0, 0x8B - lsls r0, 1 - add r0, r8 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x27 - b _0811105C -_0811104A: - mov r0, r9 - ldrh r1, [r0] - lsls r1, 1 - movs r0, 0x8B - lsls r0, 1 - add r0, r8 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x25 -_0811105C: - strh r0, [r1] -_0811105E: - mov r3, r9 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - lsls r0, 16 - ldr r1, _08111080 @ =0x027f0000 - cmp r0, r1 - bhi _08111070 - b _08110E3C -_08111070: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08111080: .4byte 0x027f0000 - thumb_func_end BuildAreaGlowTilemap - - thumb_func_start sub_8111084 -sub_8111084: @ 8111084 - push {lr} - ldr r0, _081110AC @ =gSharedMem - movs r2, 0x89 - lsls r2, 1 - adds r1, r0, r2 - ldrh r1, [r1] - adds r2, r0, 0 - cmp r1, 0 - beq _081110B4 - movs r3, 0x88 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _081110B4 - ldr r0, _081110B0 @ =0x0000061e - adds r1, r2, r0 - movs r0, 0x1 - b _081110BA - .align 2, 0 -_081110AC: .4byte gSharedMem -_081110B0: .4byte 0x0000061e -_081110B4: - ldr r3, _081110FC @ =0x0000061e - adds r1, r2, r3 - movs r0, 0 -_081110BA: - strb r0, [r1] - ldr r1, _08111100 @ =0x00000616 - adds r0, r2, r1 - movs r1, 0 - strh r1, [r0] - movs r3, 0xC3 - lsls r3, 3 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - ldr r0, _08111104 @ =0x0000061c - adds r1, r2, r0 - movs r0, 0x40 - strh r0, [r1] - adds r3, 0x5 - adds r1, r2, r3 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _08111108 @ =REG_BLDCNT - ldr r2, _0811110C @ =0x00003f41 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r3, 0x80 - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r1] - bl sub_8111110 - pop {r0} - bx r0 - .align 2, 0 -_081110FC: .4byte 0x0000061e -_08111100: .4byte 0x00000616 -_08111104: .4byte 0x0000061c -_08111108: .4byte REG_BLDCNT -_0811110C: .4byte 0x00003f41 - thumb_func_end sub_8111084 - - thumb_func_start sub_8111110 -sub_8111110: @ 8111110 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0811114C @ =gSharedMem - ldr r2, _08111150 @ =0x0000061e - adds r1, r0, r2 - ldrb r1, [r1] - adds r5, r0, 0 - cmp r1, 0 - bne _081111DE - ldr r3, _08111154 @ =0x00000616 - adds r1, r5, r3 - ldrh r0, [r1] - cmp r0, 0 - bne _081111D8 - movs r1, 0xC3 - lsls r1, 3 - adds r0, r5, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08111158 - subs r2, 0x4 - adds r0, r5, r2 - b _0811115C - .align 2, 0 -_0811114C: .4byte gSharedMem -_08111150: .4byte 0x0000061e -_08111154: .4byte 0x00000616 -_08111158: - ldr r3, _081111C0 @ =0x0000061c - adds r0, r5, r3 -_0811115C: - ldrh r1, [r0] - adds r1, 0x4 - movs r2, 0x7F - ands r1, r2 - strh r1, [r0] - ldr r2, _081111C4 @ =gSineTable - ldr r1, _081111C8 @ =0x0000061a - adds r0, r5, r1 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - lsls r1, 16 - asrs r1, 20 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _081111C0 @ =0x0000061c - adds r0, r5, r3 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - lsls r0, 16 - ldr r2, _081111CC @ =REG_BLDALPHA - lsrs r0, 8 - orrs r1, r0 - strh r1, [r2] - ldr r1, _081111D0 @ =0x00000616 - adds r0, r5, r1 - movs r2, 0 - strh r2, [r0] - subs r3, 0x4 - adds r1, r5, r3 - ldrh r0, [r1] - cmp r0, 0x40 - bne _0811126E - strh r2, [r1] - movs r1, 0x89 - lsls r1, 1 - adds r0, r5, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0811126E - ldr r2, _081111D4 @ =0x0000061e - adds r1, r5, r2 - movs r0, 0x1 - b _0811126C - .align 2, 0 -_081111C0: .4byte 0x0000061c -_081111C4: .4byte gSineTable -_081111C8: .4byte 0x0000061a -_081111CC: .4byte REG_BLDALPHA -_081111D0: .4byte 0x00000616 -_081111D4: .4byte 0x0000061e -_081111D8: - subs r0, 0x1 - strh r0, [r1] - b _0811126E -_081111DE: - ldr r3, _0811127C @ =0x00000616 - adds r1, r5, r3 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC - bls _0811126E - movs r0, 0 - strh r0, [r1] - ldr r0, _08111280 @ =0x0000061f - adds r1, r5, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r4, 0 - movs r2, 0x89 - lsls r2, 1 - adds r0, r5, r2 - ldrh r3, [r0] - cmp r4, r3 - bcs _0811124C - movs r2, 0xCC - lsls r2, 3 - adds r2, r5 - mov r9, r2 - mov r8, r1 - movs r3, 0x1 - mov r12, r3 - adds r6, r0, 0 - movs r7, 0x5 - negs r7, r7 -_08111220: - lsls r0, r4, 2 - add r0, r9 - ldr r3, [r0] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x1 - adds r3, 0x3E - ands r1, r0 - mov r2, r12 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r3, [r6] - cmp r4, r3 - bcc _08111220 -_0811124C: - ldr r0, _08111280 @ =0x0000061f - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0x4 - bls _0811126E - movs r0, 0x1 - strb r0, [r1] - movs r1, 0x88 - lsls r1, 1 - adds r0, r5, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _0811126E - ldr r2, _08111284 @ =0x0000061e - adds r1, r5, r2 - movs r0, 0 -_0811126C: - strb r0, [r1] -_0811126E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811127C: .4byte 0x00000616 -_08111280: .4byte 0x0000061f -_08111284: .4byte 0x0000061e - thumb_func_end sub_8111110 - - thumb_func_start sub_8111288 -sub_8111288: @ 8111288 - push {lr} - ldr r1, _08111298 @ =gSharedMem - ldrh r0, [r1, 0xC] - cmp r0, 0 - beq _0811129C - cmp r0, 0x1 - beq _081112A2 - b _081112B2 - .align 2, 0 -_08111298: .4byte gSharedMem -_0811129C: - movs r0, 0x1 - strh r0, [r1, 0xC] - b _081112B2 -_081112A2: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _081112B2 - ldr r0, _081112B8 @ =sub_81112BC - bl sub_8110814 -_081112B2: - pop {r0} - bx r0 - .align 2, 0 -_081112B8: .4byte sub_81112BC - thumb_func_end sub_8111288 - - thumb_func_start sub_81112BC -sub_81112BC: @ 81112BC - push {lr} - ldr r0, _081112DC @ =gSharedMem - ldrh r0, [r0, 0xC] - cmp r0, 0 - bne _08111308 - ldr r0, _081112E0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081112E8 - ldr r0, _081112E4 @ =sub_8111314 - bl sub_8110814 - b _08111308 - .align 2, 0 -_081112DC: .4byte gSharedMem -_081112E0: .4byte gMain -_081112E4: .4byte sub_8111314 -_081112E8: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08111302 - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08111308 - ldr r0, _0811130C @ =gSaveBlock2 - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _08111308 -_08111302: - ldr r0, _08111310 @ =sub_8111360 - bl sub_8110814 -_08111308: - pop {r0} - bx r0 - .align 2, 0 -_0811130C: .4byte gSaveBlock2 -_08111310: .4byte sub_8111360 - thumb_func_end sub_81112BC - - thumb_func_start sub_8111314 -sub_8111314: @ 8111314 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08111328 @ =gSharedMem - ldrh r1, [r4, 0xC] - cmp r1, 0 - beq _0811132C - cmp r1, 0x1 - beq _08111344 - b _08111358 - .align 2, 0 -_08111328: .4byte gSharedMem -_0811132C: - movs r0, 0x15 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _08111358 -_08111344: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08111358 - bl FreeRegionMapIconResources - ldr r0, [r4, 0x4] - bl SetMainCallback2 -_08111358: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8111314 - - thumb_func_start sub_8111360 -sub_8111360: @ 8111360 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08111374 @ =gSharedMem - ldrh r1, [r4, 0xC] - cmp r1, 0 - beq _08111378 - cmp r1, 0x1 - beq _08111390 - b _081113A4 - .align 2, 0 -_08111374: .4byte gSharedMem -_08111378: - movs r0, 0x15 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _081113A4 -_08111390: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _081113A4 - bl FreeRegionMapIconResources - ldr r0, [r4, 0x8] - bl SetMainCallback2 -_081113A4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8111360 - - thumb_func_start ShowPokedexAreaScreen -ShowPokedexAreaScreen: @ 81113AC - push {r4,lr} - ldr r2, _081113DC @ =gSharedMem - movs r3, 0 - movs r4, 0 - strh r0, [r2, 0xE] - ldr r0, _081113E0 @ =0x000006e4 - adds r2, r0 - str r1, [r2] - strb r3, [r1] - ldr r0, _081113E4 @ =Task_PokedexAreaScreen_0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081113E8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081113DC: .4byte gSharedMem -_081113E0: .4byte 0x000006e4 -_081113E4: .4byte Task_PokedexAreaScreen_0 -_081113E8: .4byte gTasks - thumb_func_end ShowPokedexAreaScreen - - thumb_func_start Task_PokedexAreaScreen_0 -Task_PokedexAreaScreen_0: @ 81113EC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08111414 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0xB - bls _0811140A - b _08111540 -_0811140A: - lsls r0, 2 - ldr r1, _08111418 @ =_0811141C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08111414: .4byte gTasks -_08111418: .4byte _0811141C - .align 2, 0 -_0811141C: - .4byte _0811144C - .4byte _08111488 - .4byte _08111496 - .4byte _081114B8 - .4byte _081114BE - .4byte _081114CA - .4byte _081114DE - .4byte _081114E4 - .4byte _081114EA - .4byte _081114F0 - .4byte _08111502 - .4byte _08111528 -_0811144C: - movs r1, 0x80 - lsls r1, 19 - movs r3, 0xC4 - lsls r3, 7 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _08111478 @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - ldr r2, _0811147C @ =REG_BG0VOFS - ldr r3, _08111480 @ =0x0000fff8 - adds r0, r3, 0 - strh r0, [r2] - ldr r0, _08111484 @ =REG_BG2VOFS - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - b _08111540 - .align 2, 0 -_08111478: .4byte REG_BG0HOFS -_0811147C: .4byte REG_BG0VOFS -_08111480: .4byte 0x0000fff8 -_08111484: .4byte REG_BG2VOFS -_08111488: - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - b _08111540 -_08111496: - ldr r4, _081114B4 @ =gSharedMem + 0x6E8 - adds r0, r4, 0 - movs r1, 0 - bl InitRegionMap - movs r0, 0x88 - lsls r0, 4 - adds r4, r0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - bl StringFill - b _08111540 - .align 2, 0 -_081114B4: .4byte gSharedMem + 0x6E8 -_081114B8: - bl sub_8110824 - b _08111540 -_081114BE: - bl DrawAreaGlow - lsls r0, 24 - cmp r0, 0 - bne _08111550 - b _08111540 -_081114CA: - movs r0, 0x1 - movs r1, 0x1 - bl CreateRegionMapPlayerIcon - movs r1, 0x8 - negs r1, r1 - movs r0, 0 - bl sub_80FB2A4 - b _08111540 -_081114DE: - bl CreateAreaMarkerSprites - b _08111540 -_081114E4: - bl LoadAreaUnknownGraphics - b _08111540 -_081114EA: - bl CreateAreaUnknownSprites - b _08111540 -_081114F0: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08111540 -_08111502: - ldr r1, _0811151C @ =REG_BLDCNT - ldr r2, _08111520 @ =0x00003f41 - adds r0, r2, 0 - strh r0, [r1] - bl sub_8111084 - movs r1, 0x80 - lsls r1, 19 - ldr r3, _08111524 @ =0x00007741 - adds r0, r3, 0 - strh r0, [r1] - b _08111540 - .align 2, 0 -_0811151C: .4byte REG_BLDCNT -_08111520: .4byte 0x00003f41 -_08111524: .4byte 0x00007741 -_08111528: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldr r1, _0811153C @ =Task_PokedexAreaScreen_1 - str r1, [r0] - movs r1, 0 - strh r1, [r0, 0x8] - b _08111550 - .align 2, 0 -_0811153C: .4byte Task_PokedexAreaScreen_1 -_08111540: - ldr r0, _08111558 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08111550: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111558: .4byte gTasks - thumb_func_end Task_PokedexAreaScreen_0 - - thumb_func_start Task_PokedexAreaScreen_1 -Task_PokedexAreaScreen_1: @ 811155C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8111110 - ldr r1, _08111584 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r1, [r5, r0] - cmp r1, 0x1 - beq _081115B4 - cmp r1, 0x1 - bgt _08111588 - cmp r1, 0 - beq _0811159E - b _08111590 - .align 2, 0 -_08111584: .4byte gTasks -_08111588: - cmp r1, 0x2 - beq _081115F8 - cmp r1, 0x3 - beq _0811160A -_08111590: - ldr r0, _081115AC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] -_0811159E: - ldr r0, _081115B0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811164C - b _0811163C - .align 2, 0 -_081115AC: .4byte gTasks -_081115B0: .4byte gPaletteFade -_081115B4: - ldr r0, _081115CC @ =gMain - ldrh r2, [r0, 0x2E] - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r2 - cmp r0, 0 - beq _081115D0 - strh r1, [r5, 0xA] - movs r0, 0x3 - bl PlaySE - b _0811163C - .align 2, 0 -_081115CC: .4byte gMain -_081115D0: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _081115EA - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _0811164C - ldr r0, _081115F4 @ =gSaveBlock2 - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _0811164C -_081115EA: - strh r3, [r5, 0xA] - movs r0, 0x6D - bl PlaySE - b _0811163C - .align 2, 0 -_081115F4: .4byte gSaveBlock2 -_081115F8: - movs r0, 0x15 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0811163C -_0811160A: - ldr r0, _08111630 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811164C - bl DestroyAreaSprites - ldr r0, _08111634 @ =gSharedMem - ldr r1, _08111638 @ =0x000006e4 - adds r0, r1 - ldr r1, [r0] - ldrh r0, [r5, 0xA] - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask - b _0811164C - .align 2, 0 -_08111630: .4byte gPaletteFade -_08111634: .4byte gSharedMem -_08111638: .4byte 0x000006e4 -_0811163C: - ldr r0, _08111654 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0811164C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111654: .4byte gTasks - thumb_func_end Task_PokedexAreaScreen_1 - - thumb_func_start CreateAreaMarkerSprites -CreateAreaMarkerSprites: @ 8111658 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08111720 @ =gUnknown_083F858C - bl LoadSpriteSheet - ldr r0, _08111724 @ =gUnknown_083F8594 - bl LoadSpritePalette - movs r5, 0 - movs r1, 0 - ldr r0, _08111728 @ =gSharedMem - movs r3, 0x89 - lsls r3, 1 - adds r2, r0, r3 - ldrh r7, [r2] - cmp r5, r7 - bge _0811170C - adds r6, r0, 0 - mov r8, r2 -_08111680: - lsls r0, r1, 16 - asrs r4, r0, 16 - lsls r1, r4, 1 - movs r2, 0xC4 - lsls r2, 3 - adds r0, r6, r2 - adds r1, r0 - ldr r2, _0811172C @ =gRegionMapLocations - movs r3, 0 - ldrsh r0, [r1, r3] - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 3 - adds r1, 0x4 - ldrb r2, [r0, 0x1] - lsls r2, 19 - ldrb r3, [r0, 0x2] - subs r3, 0x1 - lsls r3, 2 - ldrb r0, [r0, 0x3] - subs r0, 0x1 - lsls r0, 2 - movs r7, 0xE0 - lsls r7, 13 - adds r2, r7 - asrs r2, 16 - adds r1, r3 - adds r2, r0 - ldr r0, _08111730 @ =gSpriteTemplate_83F85A4 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _081116FC - ldr r0, _08111734 @ =gSprites - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - adds r1, r5, 0 - lsls r0, r1, 16 - movs r3, 0x80 - lsls r3, 9 - adds r0, r3 - lsrs r5, r0, 16 - lsls r1, 16 - asrs r1, 14 - movs r7, 0xCC - lsls r7, 3 - adds r0, r6, r7 - adds r1, r0 - str r2, [r1] -_081116FC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - mov r2, r8 - ldrh r2, [r2] - cmp r0, r2 - blt _08111680 -_0811170C: - ldr r0, _08111728 @ =gSharedMem - movs r3, 0xDC - lsls r3, 3 - adds r0, r3 - strh r5, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08111720: .4byte gUnknown_083F858C -_08111724: .4byte gUnknown_083F8594 -_08111728: .4byte gSharedMem -_0811172C: .4byte gRegionMapLocations -_08111730: .4byte gSpriteTemplate_83F85A4 -_08111734: .4byte gSprites - thumb_func_end CreateAreaMarkerSprites - - thumb_func_start DestroyAreaSprites -DestroyAreaSprites: @ 8111738 - push {r4-r6,lr} - movs r0, 0x2 - bl FreeSpriteTilesByTag - movs r0, 0x2 - bl FreeSpritePaletteByTag - movs r4, 0 - ldr r1, _081117A4 @ =gSharedMem - movs r2, 0xDC - lsls r2, 3 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r4, r2 - bcs _08111776 - adds r6, r1, 0 - adds r5, r0, 0 -_0811175A: - lsls r0, r4, 2 - movs r2, 0xCC - lsls r2, 3 - adds r1, r6, r2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r5] - cmp r4, r0 - bcc _0811175A -_08111776: - movs r0, 0x3 - bl FreeSpriteTilesByTag - movs r0, 0x3 - bl FreeSpritePaletteByTag - movs r4, 0 - ldr r5, _081117A8 @ =gSharedMem + 0xFA8 -_08111786: - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - cmp r0, 0 - beq _08111794 - bl DestroySprite -_08111794: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _08111786 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081117A4: .4byte gSharedMem -_081117A8: .4byte gSharedMem + 0xFA8 - thumb_func_end DestroyAreaSprites - - thumb_func_start LoadAreaUnknownGraphics -LoadAreaUnknownGraphics: @ 81117AC - push {lr} - sub sp, 0x8 - ldr r0, _081117D4 @ =gUnknown_083F8664 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, _081117D8 @ =gAreaUnknownTiles - ldr r1, _081117DC @ =gSharedMem + 0xFB4 - bl LZ77UnCompWram - mov r0, sp - bl LoadSpriteSheet - ldr r0, _081117E0 @ =gUnknown_083F865C - bl LoadSpritePalette - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_081117D4: .4byte gUnknown_083F8664 -_081117D8: .4byte gAreaUnknownTiles -_081117DC: .4byte gSharedMem + 0xFB4 -_081117E0: .4byte gUnknown_083F865C - thumb_func_end LoadAreaUnknownGraphics - - thumb_func_start CreateAreaUnknownSprites -CreateAreaUnknownSprites: @ 81117E4 - push {r4-r7,lr} - ldr r1, _08111810 @ =gSharedMem - movs r2, 0x88 - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _08111818 - movs r4, 0 - ldr r7, _08111814 @ =0x00000fa8 - adds r2, r1, r7 - movs r1, 0 -_081117FC: - lsls r0, r4, 2 - adds r0, r2 - str r1, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _081117FC - b _0811188E - .align 2, 0 -_08111810: .4byte gSharedMem -_08111814: .4byte 0x00000fa8 -_08111818: - movs r4, 0 - ldr r6, _08111868 @ =gSprites - ldr r0, _0811186C @ =0x00000fa8 - adds r5, r1, r0 -_08111820: - lsls r1, r4, 21 - movs r2, 0xA0 - lsls r2, 16 - adds r1, r2 - asrs r1, 16 - ldr r0, _08111870 @ =gSpriteTemplate_83F8674 - movs r2, 0x8C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0811187C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldrh r3, [r2, 0x4] - lsls r0, r3, 22 - lsrs r0, 22 - lsls r1, r4, 4 - adds r0, r1 - ldr r7, _08111874 @ =0x000003ff - adds r1, r7, 0 - ands r0, r1 - ldr r7, _08111878 @ =0xfffffc00 - adds r1, r7, 0 - ands r3, r1 - orrs r3, r0 - strh r3, [r2, 0x4] - lsls r0, r4, 2 - adds r0, r5 - str r2, [r0] - b _08111884 - .align 2, 0 -_08111868: .4byte gSprites -_0811186C: .4byte 0x00000fa8 -_08111870: .4byte gSpriteTemplate_83F8674 -_08111874: .4byte 0x000003ff -_08111878: .4byte 0xfffffc00 -_0811187C: - lsls r0, r4, 2 - adds r0, r5 - movs r1, 0 - str r1, [r0] -_08111884: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _08111820 -_0811188E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateAreaUnknownSprites - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex_cry_screen.s b/asm/pokedex_cry_screen.s deleted file mode 100644 index 00f8cfe14..000000000 --- a/asm/pokedex_cry_screen.s +++ /dev/null @@ -1,1016 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8119E3C -sub_8119E3C: @ 8119E3C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r2, r1, 24 - movs r0, 0 - mov r9, r0 - ldr r6, _08119E60 @ =gUnknown_03005E98 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08119EE0 - cmp r0, 0x1 - bgt _08119E64 - cmp r0, 0 - beq _08119E6A - b _08119F74 - .align 2, 0 -_08119E60: .4byte gUnknown_03005E98 -_08119E64: - cmp r0, 0x2 - beq _08119F60 - b _08119F74 -_08119E6A: - ldr r4, _08119ECC @ =gSharedMem + 0x1C000 - ldrh r0, [r5] - movs r1, 0 - strh r0, [r4, 0x14] - ldrb r0, [r5, 0x5] - strb r0, [r4, 0x16] - strb r1, [r4, 0x1A] - strb r1, [r4, 0x1B] - strb r1, [r4, 0x10] - movs r0, 0x1C - strb r0, [r4, 0x12] - strb r1, [r4, 0x11] - ldrb r1, [r5, 0x4] - lsls r1, 19 - negs r1, r1 - asrs r1, 16 - adds r0, r2, 0 - movs r2, 0x1 - bl sub_811A350 - movs r0, 0 - mov r12, r6 - ldr r1, _08119ED0 @ =0x040000d4 - ldr r7, _08119ED4 @ =gUnknown_083FB718 - ldr r2, _08119ED8 @ =0xfffe4000 - adds r6, r4, r2 - ldr r5, _08119EDC @ =0x80000010 -_08119EA0: - movs r3, 0 - adds r4, r0, 0x1 - lsls r2, r0, 5 -_08119EA6: - str r7, [r1] - adds r0, r2, r3 - lsls r0, 5 - adds r0, r6 - str r0, [r1, 0x4] - str r5, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _08119EA6 - lsls r0, r4, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _08119EA0 - mov r1, r12 - b _08119F50 - .align 2, 0 -_08119ECC: .4byte gSharedMem + 0x1C000 -_08119ED0: .4byte 0x040000d4 -_08119ED4: .4byte gUnknown_083FB718 -_08119ED8: .4byte 0xfffe4000 -_08119EDC: .4byte 0x80000010 -_08119EE0: - ldrb r0, [r5, 0x2] - lsls r0, 27 - lsrs r7, r0, 16 - ldrb r1, [r5, 0x3] - lsls r1, 12 - ldrh r0, [r5] - lsls r0, 18 - lsrs r0, 23 - adds r1, r0 - lsls r1, 16 - lsrs r6, r1, 16 - movs r0, 0 - ldr r2, _08119F58 @ =gSharedMem + 0x1C000 - mov r8, r2 - movs r1, 0xC0 - lsls r1, 19 - mov r12, r1 -_08119F02: - movs r3, 0 - adds r4, r0, 0x1 - lsls r5, r0, 6 -_08119F08: - lsls r1, r3, 1 - adds r1, r5 - adds r1, r7 - add r1, r12 - adds r2, r6, 0 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - strh r2, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _08119F08 - lsls r0, r4, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _08119F02 - mov r2, r8 - ldrb r0, [r2, 0x16] - movs r4, 0 - cmp r0, 0 - beq _08119F4E - mov r5, r8 -_08119F38: - adds r0, r4, 0 - movs r1, 0 - bl sub_811A1C8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x16] - lsls r0, 3 - cmp r4, r0 - blt _08119F38 -_08119F4E: - ldr r1, _08119F5C @ =gUnknown_03005E98 -_08119F50: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08119F74 - .align 2, 0 -_08119F58: .4byte gSharedMem + 0x1C000 -_08119F5C: .4byte gUnknown_03005E98 -_08119F60: - bl sub_811A324 - ldr r0, _08119F84 @ =gUnknown_083FB6F8 - ldrb r1, [r5, 0x3] - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x1 - mov r9, r0 -_08119F74: - mov r0, r9 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08119F84: .4byte gUnknown_083FB6F8 - thumb_func_end sub_8119E3C - - thumb_func_start sub_8119F88 -sub_8119F88: @ 8119F88 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_811A324 - adds r0, r4, 0 - bl sub_811A15C - ldr r1, _08119FC4 @ =gSharedMem + 0x1C000 - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08119FA6 - subs r0, 0x1 - strb r0, [r1, 0x1B] -_08119FA6: - ldrb r0, [r1, 0x1A] - cmp r0, 0 - beq _08119FC8 - subs r0, 0x1 - strb r0, [r1, 0x1A] - lsls r0, 24 - cmp r0, 0 - bne _08119FC8 - ldrh r0, [r1, 0x18] - bl sub_811A0A0 - bl sub_811A124 - b _0811A044 - .align 2, 0 -_08119FC4: .4byte gSharedMem + 0x1C000 -_08119FC8: - ldr r5, _08119FD8 @ =gSharedMem + 0x1C000 - ldrb r0, [r5, 0x10] - cmp r0, 0 - bne _08119FDC - bl sub_811A124 - b _0811A044 - .align 2, 0 -_08119FD8: .4byte gSharedMem + 0x1C000 -_08119FDC: - cmp r0, 0x1 - bne _08119FE6 - bl sub_811A0C0 - b _0811A006 -_08119FE6: - cmp r0, 0x8 - bls _0811A006 - bl IsCryPlaying - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08119FFE - bl sub_811A124 - strb r4, [r5, 0x10] - b _0811A044 -_08119FFE: - bl sub_811A0C0 - movs r0, 0x1 - strb r0, [r5, 0x10] -_0811A006: - ldr r5, _0811A04C @ =gSharedMem + 0x1C000 - ldrb r4, [r5, 0x10] - subs r4, 0x1 - lsls r4, 25 - lsrs r4, 24 - ldrb r0, [r5, 0x16] - lsls r0, 3 - ldrb r1, [r5, 0x11] - adds r0, r1 - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, r5 - ldrb r1, [r1] - bl sub_811A1C8 - ldrb r0, [r5, 0x16] - lsls r0, 3 - ldrb r1, [r5, 0x11] - adds r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r4, 0x1 - adds r4, r5 - ldrb r1, [r4] - bl sub_811A1C8 - ldrb r0, [r5, 0x10] - adds r0, 0x1 - strb r0, [r5, 0x10] -_0811A044: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811A04C: .4byte gSharedMem + 0x1C000 - thumb_func_end sub_8119F88 - - thumb_func_start sub_811A050 -sub_811A050: @ 811A050 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, r5, 0 - ldr r0, _0811A08C @ =gMPlay_BGM - ldr r0, [r0, 0x4] - cmp r0, 0 - bge _0811A09A - ldr r4, _0811A090 @ =gSharedMem + 0x1C000 - ldrb r0, [r4, 0x1A] - cmp r0, 0 - bne _0811A09A - ldrb r0, [r4, 0x1B] - cmp r0, 0 - bne _0811A09A - movs r0, 0x4 - strb r0, [r4, 0x1B] - bl IsCryPlaying - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0811A094 - bl StopCry - strh r5, [r4, 0x18] - movs r0, 0x2 - strb r0, [r4, 0x1A] - b _0811A09A - .align 2, 0 -_0811A08C: .4byte gMPlay_BGM -_0811A090: .4byte gSharedMem + 0x1C000 -_0811A094: - adds r0, r6, 0 - bl sub_811A0A0 -_0811A09A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_811A050 - - thumb_func_start sub_811A0A0 -sub_811A0A0: @ 811A0A0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - movs r2, 0x7D - movs r3, 0xA - bl PlayCry2 - ldr r1, _0811A0BC @ =gSharedMem + 0x1C000 - movs r0, 0x1 - strb r0, [r1, 0x10] - pop {r0} - bx r0 - .align 2, 0 -_0811A0BC: .4byte gSharedMem + 0x1C000 - thumb_func_end sub_811A0A0 - - thumb_func_start sub_811A0C0 -sub_811A0C0: @ 811A0C0 - push {r4,lr} - ldr r3, _0811A0D0 @ =gPcmDmaCounter - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r0, 0x1 - bgt _0811A0D8 - ldr r0, _0811A0D4 @ =gSoundInfo + 0x350 - b _0811A0F0 - .align 2, 0 -_0811A0D0: .4byte gPcmDmaCounter -_0811A0D4: .4byte gSoundInfo + 0x350 -_0811A0D8: - ldr r2, _0811A11C @ =gSoundInfo - ldrb r1, [r2, 0xB] - movs r0, 0 - ldrsb r0, [r3, r0] - subs r0, 0x1 - subs r1, r0 - ldr r0, [r2, 0x10] - muls r0, r1 - movs r1, 0xD4 - lsls r1, 2 - adds r2, r1 - adds r0, r2 -_0811A0F0: - movs r1, 0xC6 - lsls r1, 3 - adds r3, r0, r1 - movs r2, 0 - ldr r4, _0811A120 @ =gSharedMem + 0x1C000 -_0811A0FA: - adds r1, r2, r4 - lsls r0, r2, 1 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0811A0FA - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811A11C: .4byte gSoundInfo -_0811A120: .4byte gSharedMem + 0x1C000 - thumb_func_end sub_811A0C0 - - thumb_func_start sub_811A124 -sub_811A124: @ 811A124 - push {r4,lr} - ldr r4, _0811A158 @ =gSharedMem + 0x1C000 - ldrb r0, [r4, 0x16] - lsls r0, 3 - ldrb r1, [r4, 0x11] - adds r0, r1 - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_811A1C8 - ldrb r0, [r4, 0x16] - lsls r0, 3 - ldrb r4, [r4, 0x11] - adds r0, r4 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_811A1C8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811A158: .4byte gSharedMem + 0x1C000 - thumb_func_end sub_811A124 - - thumb_func_start sub_811A15C -sub_811A15C: @ 811A15C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0811A1B4 @ =gSharedMem + 0x1C000 - ldrb r1, [r4, 0x11] - movs r2, 0 - bl sub_811A350 - ldrb r0, [r4, 0x11] - adds r0, 0x2 - strb r0, [r4, 0x11] - ldrb r0, [r4, 0x11] - lsrs r0, 3 - ldrb r2, [r4, 0x16] - adds r1, r0, r2 - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r2, r0 - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0 - ldr r2, _0811A1B8 @ =0x040000d4 - ldr r6, _0811A1BC @ =gUnknown_083FB718 - ldr r0, _0811A1C0 @ =0xfffe4000 - adds r5, r4, r0 - ldr r4, _0811A1C4 @ =0x80000010 -_0811A194: - str r6, [r2] - lsls r0, r1, 5 - adds r0, r3 - lsls r0, 5 - adds r0, r5 - str r0, [r2, 0x4] - str r4, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x6 - bls _0811A194 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811A1B4: .4byte gSharedMem + 0x1C000 -_0811A1B8: .4byte 0x040000d4 -_0811A1BC: .4byte gUnknown_083FB718 -_0811A1C0: .4byte 0xfffe4000 -_0811A1C4: .4byte 0x80000010 - thumb_func_end sub_811A15C - - thumb_func_start sub_811A1C8 -sub_811A1C8: @ 811A1C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r5, r0, 24 - lsrs r4, r5, 24 - lsls r1, 24 - movs r0, 0xFE - lsls r0, 23 - adds r1, r0 - lsrs r1, 16 - adds r0, r1, 0 - bl __floatsidf - ldr r3, _0811A280 @ =0x00000000 - ldr r2, _0811A27C @ =0x40920000 - bl __divdf3 - bl __fixunsdfsi - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x37 - bls _0811A1FE - movs r6, 0x37 -_0811A1FE: - str r6, [sp] - movs r7, 0x1 - ands r7, r4 - ldr r0, _0811A284 @ =gSharedMem + 0x1C000 - mov r10, r0 - lsrs r5, 27 - mov r8, r5 - ldr r0, _0811A288 @ =gUnknown_083FB738 - mov r1, r10 - ldrb r1, [r1, 0x12] - cmp r6, r1 - bls _0811A298 - adds r0, r7, r0 - ldrb r0, [r0] - mov r9, r0 - movs r2, 0x7 - ands r2, r4 -_0811A220: - lsls r1, r6, 1 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 4 - adds r1, r0 - ldr r3, _0811A28C @ =gUnknown_083FB274 - adds r1, r3 - mov r3, r8 - lsls r0, r3, 5 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0811A290 @ =gSharedMem - adds r5, r0, r1 - ldrb r4, [r5] - mov r3, r9 - ands r4, r3 - strb r4, [r5] - adds r0, r6, 0 - movs r1, 0x3 - str r2, [sp, 0x8] - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - movs r1, 0xF - ands r0, r1 - lsls r1, r7, 4 - adds r0, r1 - ldr r1, _0811A294 @ =gUnknown_083FB73A - adds r0, r1 - ldrb r0, [r0] - orrs r4, r0 - strb r4, [r5] - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, [sp, 0x8] - ldr r3, _0811A284 @ =gSharedMem + 0x1C000 - ldrb r3, [r3, 0x12] - cmp r6, r3 - bhi _0811A220 - b _0811A2FA - .align 2, 0 -_0811A27C: .4byte 0x40920000 -_0811A280: .4byte 0x00000000 -_0811A284: .4byte gSharedMem + 0x1C000 -_0811A288: .4byte gUnknown_083FB738 -_0811A28C: .4byte gUnknown_083FB274 -_0811A290: .4byte gSharedMem -_0811A294: .4byte gUnknown_083FB73A -_0811A298: - lsls r1, r7, 4 - str r1, [sp, 0x4] - adds r0, r7, r0 - ldrb r0, [r0] - mov r9, r0 - movs r7, 0x7 - ands r7, r4 -_0811A2A6: - lsls r1, r6, 1 - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 4 - adds r1, r0 - ldr r2, _0811A314 @ =gUnknown_083FB274 - adds r1, r2 - mov r3, r8 - lsls r0, r3, 5 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0811A318 @ =gSharedMem - adds r5, r0, r1 - ldrb r4, [r5] - mov r2, r9 - ands r4, r2 - strb r4, [r5] - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - movs r1, 0xF - ands r0, r1 - ldr r3, [sp, 0x4] - adds r0, r3 - ldr r1, _0811A31C @ =gUnknown_083FB73A - adds r0, r1 - ldrb r0, [r0] - orrs r4, r0 - strb r4, [r5] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, _0811A320 @ =gSharedMem + 0x1C000 - ldrb r2, [r2, 0x12] - cmp r6, r2 - bcc _0811A2A6 -_0811A2FA: - mov r3, sp - ldrb r0, [r3] - mov r3, r10 - strb r0, [r3, 0x12] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811A314: .4byte gUnknown_083FB274 -_0811A318: .4byte gSharedMem -_0811A31C: .4byte gUnknown_083FB73A -_0811A320: .4byte gSharedMem + 0x1C000 - thumb_func_end sub_811A1C8 - - thumb_func_start sub_811A324 -sub_811A324: @ 811A324 - ldr r2, _0811A344 @ =0x040000d4 - ldr r0, _0811A348 @ =gSharedMem - str r0, [r2] - movs r1, 0xE0 - lsls r1, 9 - adds r0, r1 - ldrh r0, [r0, 0x14] - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - str r0, [r2, 0x4] - ldr r0, _0811A34C @ =0x80000e00 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - bx lr - .align 2, 0 -_0811A344: .4byte 0x040000d4 -_0811A348: .4byte gSharedMem -_0811A34C: .4byte 0x80000e00 - thumb_func_end sub_811A324 - - thumb_func_start sub_811A350 -sub_811A350: @ 811A350 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0x1 - beq _0811A38C - cmp r0, 0x1 - bgt _0811A36E - cmp r0, 0 - beq _0811A378 - b _0811A3C4 -_0811A36E: - cmp r3, 0x2 - beq _0811A3A0 - cmp r3, 0x3 - beq _0811A3B4 - b _0811A3C4 -_0811A378: - cmp r2, 0 - beq _0811A384 - ldr r0, _0811A380 @ =REG_BG0VOFS - b _0811A3C2 - .align 2, 0 -_0811A380: .4byte REG_BG0VOFS -_0811A384: - ldr r0, _0811A388 @ =REG_BG0HOFS - b _0811A3C2 - .align 2, 0 -_0811A388: .4byte REG_BG0HOFS -_0811A38C: - cmp r2, 0 - beq _0811A398 - ldr r0, _0811A394 @ =REG_BG1VOFS - b _0811A3C2 - .align 2, 0 -_0811A394: .4byte REG_BG1VOFS -_0811A398: - ldr r0, _0811A39C @ =REG_BG1HOFS - b _0811A3C2 - .align 2, 0 -_0811A39C: .4byte REG_BG1HOFS -_0811A3A0: - cmp r2, 0 - beq _0811A3AC - ldr r0, _0811A3A8 @ =REG_BG2VOFS - b _0811A3C2 - .align 2, 0 -_0811A3A8: .4byte REG_BG2VOFS -_0811A3AC: - ldr r0, _0811A3B0 @ =REG_BG2HOFS - b _0811A3C2 - .align 2, 0 -_0811A3B0: .4byte REG_BG2HOFS -_0811A3B4: - cmp r2, 0 - beq _0811A3C0 - ldr r0, _0811A3BC @ =REG_BG3VOFS - b _0811A3C2 - .align 2, 0 -_0811A3BC: .4byte REG_BG3VOFS -_0811A3C0: - ldr r0, _0811A3C8 @ =REG_BG3HOFS -_0811A3C2: - strh r1, [r0] -_0811A3C4: - pop {r0} - bx r0 - .align 2, 0 -_0811A3C8: .4byte REG_BG3HOFS - thumb_func_end sub_811A350 - -.section .text_811A4F8 - - thumb_func_start DestroyCryMeterNeedleSprite -DestroyCryMeterNeedleSprite: @ 811A4F8 - push {r4,r5,lr} - ldr r5, _0811A52C @ =gSprites - ldr r4, _0811A530 @ =gSharedMem + 0x1C800 - ldrh r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - ldrh r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811A52C: .4byte gSprites -_0811A530: .4byte gSharedMem + 0x1C800 - thumb_func_end DestroyCryMeterNeedleSprite - - thumb_func_start sub_811A534 -sub_811A534: @ 811A534 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r0, 0 - ldr r3, _0811A578 @ =gSprites - ldr r5, _0811A57C @ =gSharedMem + 0x1C800 - ldrh r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrh r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x6] - ldr r0, _0811A580 @ =0xfffff800 - adds r1, r5, r0 - ldrb r0, [r1, 0x10] - cmp r0, 0x2 - beq _0811A5AA - cmp r0, 0x2 - bgt _0811A584 - cmp r0, 0 - beq _0811A58A - b _0811A5F4 - .align 2, 0 -_0811A578: .4byte gSprites -_0811A57C: .4byte gSharedMem + 0x1C800 -_0811A580: .4byte 0xfffff800 -_0811A584: - cmp r0, 0x6 - beq _0811A5E2 - b _0811A5F4 -_0811A58A: - movs r0, 0x20 - strb r0, [r5, 0x1] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - ble _0811A5A4 - ldrb r0, [r5, 0x2] - add r4, sp, 0xC - cmp r0, 0x1 - beq _0811A5F6 - subs r0, 0x1 - strb r0, [r5, 0x2] - b _0811A5F6 -_0811A5A4: - movs r0, 0x5 - strb r0, [r5, 0x2] - b _0811A5F4 -_0811A5AA: - movs r3, 0 - movs r2, 0 - add r4, sp, 0xC - adds r5, r1, 0 -_0811A5B2: - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r1, r0 - bge _0811A5C0 - adds r3, r0, 0 -_0811A5C0: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _0811A5B2 - lsls r0, r3, 24 - asrs r0, 24 - movs r1, 0xD0 - muls r0, r1 - cmp r0, 0 - bge _0811A5D8 - adds r0, 0xFF -_0811A5D8: - lsls r0, 16 - asrs r0, 24 - bl sub_811A6D8 - b _0811A5F6 -_0811A5E2: - ldr r1, _0811A620 @ =0xfffff80a - adds r0, r5, r1 - ldrb r1, [r0] - movs r0, 0xD0 - muls r0, r1 - lsls r0, 16 - asrs r0, 24 - bl sub_811A6D8 -_0811A5F4: - add r4, sp, 0xC -_0811A5F6: - ldr r0, _0811A624 @ =gSharedMem + 0x1C800 - ldrb r3, [r0] - movs r2, 0 - ldrsb r2, [r0, r2] - ldrb r6, [r0, 0x1] - movs r1, 0x1 - ldrsb r1, [r0, r1] - adds r5, r0, 0 - cmp r2, r1 - beq _0811A63C - cmp r2, r1 - bge _0811A628 - ldrb r0, [r5, 0x2] - adds r0, r3, r0 - strb r0, [r5] - lsls r0, 24 - asrs r0, 24 - cmp r0, r1 - ble _0811A63C - b _0811A636 - .align 2, 0 -_0811A620: .4byte 0xfffff80a -_0811A624: .4byte gSharedMem + 0x1C800 -_0811A628: - ldrb r0, [r5, 0x2] - subs r0, r3, r0 - strb r0, [r5] - lsls r0, 24 - asrs r0, 24 - cmp r0, r1 - bge _0811A63C -_0811A636: - strb r6, [r5] - movs r0, 0 - strb r0, [r5, 0x1] -_0811A63C: - ldr r2, _0811A6CC @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r2 - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - ldr r1, _0811A6D0 @ =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 17 - orrs r0, r1 - str r0, [sp, 0x4] - movs r1, 0 - ldrsb r1, [r5, r1] - lsls r1, 24 - lsrs r1, 16 - ldr r0, [sp, 0x8] - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x8] - add r0, sp, 0x4 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - add r0, sp, 0xC - ldrh r1, [r0] - ldrh r2, [r4, 0x2] - ldrh r3, [r4, 0x4] - ldrh r0, [r4, 0x6] - str r0, [sp] - movs r0, 0 - bl SetOamMatrix - ldr r2, _0811A6D4 @ =gSineTable - movs r0, 0 - ldrsb r0, [r5, r0] - adds r0, 0x7F - movs r1, 0xFF - ands r0, r1 - lsls r1, r0, 1 - adds r1, r2 - adds r0, 0x40 - lsls r0, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0 - ldrsh r1, [r1, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - cmp r0, 0 - bge _0811A6AA - adds r0, 0xFF -_0811A6AA: - asrs r0, 8 - strh r0, [r7, 0x24] - lsls r1, r2, 16 - asrs r1, 16 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - cmp r0, 0 - bge _0811A6BE - adds r0, 0xFF -_0811A6BE: - asrs r0, 8 - strh r0, [r7, 0x26] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811A6CC: .4byte 0xffff0000 -_0811A6D0: .4byte 0x0000ffff -_0811A6D4: .4byte gSineTable - thumb_func_end sub_811A534 - - thumb_func_start sub_811A6D8 -sub_811A6D8: @ 811A6D8 - push {lr} - lsls r0, 24 - asrs r0, 24 - movs r1, 0x20 - subs r2, r1, r0 - movs r0, 0xFF - ands r2, r0 - adds r0, r2, 0 - subs r0, 0x21 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _0811A6F4 - movs r2, 0xE0 -_0811A6F4: - ldr r1, _0811A700 @ =gSharedMem + 0x1C800 - strb r2, [r1, 0x1] - movs r0, 0x5 - strb r0, [r1, 0x2] - pop {r0} - bx r0 - .align 2, 0 -_0811A700: .4byte gSharedMem + 0x1C800 - thumb_func_end sub_811A6D8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index cee93a9e4..67655e63f 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -582,8 +582,8 @@ sub_809CB74: @ 809CB74 _0809CB90: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809CB74 - thumb_func_start unref_sub_809CB94 -unref_sub_809CB94: @ 809CB94 + thumb_func_start debug_sub_809CB94 +debug_sub_809CB94: @ 809CB94 push {r4,lr} adds r4, r0, 0 ldr r0, _0809CBBC @ =gUnknown_020384E4 @@ -636,7 +636,7 @@ _0809CBF6: .align 2, 0 _0809CBFC: .4byte gPokemonStorage _0809CC00: .4byte gUnknown_020384E5 - thumb_func_end unref_sub_809CB94 + thumb_func_end debug_sub_809CB94 thumb_func_start sub_809CC04 sub_809CC04: @ 809CC04 @@ -896,7 +896,7 @@ sub_809CDEC: @ 809CDEC ldr r0, [r0] str r0, [r1] str r3, [r1, 0x4] - bl sub_8072CA4 + bl GetStringWidthInMenuWindow lsls r0, 24 lsrs r0, 24 adds r1, r0, 0x7 diff --git a/asm/pokenav.s b/asm/pokenav.s index ca65b2e06..7fc2348f5 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -1026,7 +1026,7 @@ _080F0E42: adds r0, r4, 0 movs r2, 0x88 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow lsls r2, r5, 3 adds r0, r4, 0 _080F0E54: @@ -1049,7 +1049,7 @@ _080F0E6C: adds r0, r4, 0 movs r2, 0x88 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow lsls r2, r5, 3 adds r0, r4, 0 movs r1, 0x61 @@ -1270,7 +1270,7 @@ sub_80F0FFC: @ 80F0FFC adds r1, r5, 0 movs r2, 0x58 movs r3, 0x2 - bl sub_8072C74 + bl AlignStringInMenuWindow adds r0, r4, 0 movs r1, 0 movs r2, 0x5 @@ -1880,7 +1880,7 @@ _080F152E: adds r0, r6, 0 movs r2, 0x80 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow ldrh r0, [r5] lsls r0, 3 adds r4, 0x4 @@ -1889,7 +1889,7 @@ _080F152E: adds r0, r7, 0 movs r2, 0x80 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow b _080F158A .align 2, 0 _080F1558: .4byte gUnknown_020388B4 @@ -1904,12 +1904,12 @@ _080F1570: adds r1, r4, 0 movs r2, 0x80 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow adds r0, r7, 0 adds r1, r4, 0 movs r2, 0x80 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow _080F158A: adds r0, r6, 0 movs r1, 0xC @@ -2398,7 +2398,7 @@ sub_80F1934: @ 80F1934 adds r0, r5, 0 movs r2, 0x57 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow b _080F19B8 .align 2, 0 _080F1990: .4byte gUnknown_083DFEC4 @@ -2413,7 +2413,7 @@ _080F19AC: adds r0, r5, 0 movs r2, 0x57 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow _080F19B8: ldr r0, _080F19D4 @ =gUnknown_083DFEC4 ldr r0, [r0] @@ -7975,7 +7975,7 @@ sub_80F443C: @ 80F443C adds r1, r4, 0 movs r2, 0x38 movs r3, 0x1 - bl sub_8072C14 + bl AlignInt1InMenuWindow pop {r4} pop {r1} bx r1 @@ -7990,7 +7990,7 @@ sub_80F445C: @ 80F445C lsrs r1, 16 movs r2, 0x17 movs r3, 0x1 - bl sub_8072C14 + bl AlignInt1InMenuWindow adds r4, r0, 0 movs r3, 0xFC strb r3, [r4] @@ -8016,7 +8016,7 @@ sub_80F445C: @ 80F445C adds r0, r4, 0 movs r2, 0x32 movs r3, 0x1 - bl sub_8072C14 + bl AlignInt1InMenuWindow adds r4, r0, 0 pop {r4} pop {r1} @@ -8190,7 +8190,7 @@ sub_80F45A0: @ 80F45A0 ldr r1, _080F4604 @ =gOtherText_InParty movs r2, 0x40 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow b _080F4624 .align 2, 0 _080F45F0: .4byte gUnknown_083DFEC4 @@ -8212,7 +8212,7 @@ _080F4608: adds r1, r2 movs r2, 0x40 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow _080F4624: ldr r0, _080F463C @ =gUnknown_083DFEC4 ldr r0, [r0] @@ -8236,7 +8236,7 @@ _080F4644: adds r1, r4, 0 movs r2, 0x68 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow lsls r0, r6, 1 adds r0, r6 lsls r0, 3 @@ -8246,7 +8246,7 @@ _080F4644: adds r1, r4, 0 movs r2, 0x40 movs r3, 0 - bl sub_8072C74 + bl AlignStringInMenuWindow ldr r1, _080F4688 @ =0x00008937 adds r0, r5, r1 adds r0, r6 @@ -12397,7 +12397,7 @@ _080F6656: adds r0, r5, 0 movs r2, 0x80 movs r3, 0x1 - bl sub_8072C14 + bl AlignInt1InMenuWindow adds r5, r0, 0 b _080F66CE .align 2, 0 diff --git a/asm/taya_debug_window.s b/asm/taya_debug_window.s deleted file mode 100644 index 68d27390d..000000000 --- a/asm/taya_debug_window.s +++ /dev/null @@ -1,2054 +0,0 @@ -.if DEBUG - - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .text - - thumb_func_start TayaDebugMenu_Trend -TayaDebugMenu_Trend: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xffffffd8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1e - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r5, ._3 @ gSaveBlock1 - mov r7, #0x0 - mov r0, #0x1 - add r0, r0, sp - mov sl, r0 - mov r9, sp - mov r0, #0x0 - mov r8, r0 - add r6, sp, #0x20 -._2: - ldrb r1, [r5, #0x1] - mov r0, #0x40 - and r0, r0, r1 - mov r1, #0xa1 - cmp r0, #0 - beq ._1 @cond_branch - mov r1, #0xa2 -._1: - mov r0, r9 - strb r1, [r0] - ldrh r1, [r5, #0x4] - add r0, r6, #0 - bl EasyChat_GetWordText - mov r0, sl - add r1, r6, #0 - mov r2, #0x0 - mov r3, #0x7 - bl StringCopyPadded - add r4, r0, #0 - ldrh r1, [r5, #0x6] - add r0, r6, #0 - bl EasyChat_GetWordText - add r0, r4, #0 - add r1, r6, #0 - mov r2, #0x0 - mov r3, #0x8 - bl StringCopyPadded - add r4, r0, #0 - ldrb r1, [r5] - lsl r1, r1, #0x19 - lsr r1, r1, #0x19 - mov r2, #0x1 - mov r3, #0x3 - bl ConvertIntToDecimalStringN - add r4, r0, #0 - mov r0, r8 - strb r0, [r4] - add r4, r4, #0x1 - ldrh r1, [r5] - lsl r1, r1, #0x12 - lsr r1, r1, #0x19 - add r0, r4, #0 - mov r2, #0x1 - mov r3, #0x3 - bl ConvertIntToDecimalStringN - add r4, r0, #0 - mov r0, r8 - strb r0, [r4] - add r4, r4, #0x1 - ldrh r1, [r5, #0x2] - add r0, r4, #0 - mov r2, #0x1 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - lsl r2, r7, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r0, sp - mov r1, #0x1 - bl Menu_PrintText - add r5, r5, #0x8 - add r0, r7, #1 - lsl r0, r0, #0x10 - lsr r7, r0, #0x10 - cmp r7, #0x4 - bls ._2 @cond_branch - ldr r1, ._3 + 4 @ gMenuCallback - ldr r0, ._3 + 8 @ debug_sub_8090808 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x28 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._4: - .align 2, 0 -._3: - .word gSaveBlock1+0x2dd4 - .word gMenuCallback - .word debug_sub_8090808+1 - - thumb_func_end TayaDebugMenu_Trend - - thumb_func_start debug_sub_8090808 -debug_sub_8090808: - push {lr} - ldr r0, ._7 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x3 - and r0, r0, r1 - cmp r0, #0 - bne ._5 @cond_branch - mov r0, #0x0 - b ._6 -._8: - .align 2, 0 -._7: - .word gMain -._5: - bl Menu_EraseScreen - bl CloseMenu - mov r0, #0x1 -._6: - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090808 - - thumb_func_start TayaDebugMenu_TrendR -TayaDebugMenu_TrendR: - push {r4, r5, r6, r7, lr} - mov r0, #0x0 - ldr r7, ._11 @ gSaveBlock1 -._10: - mov r4, #0x0 - lsl r5, r0, #0x3 - add r6, r0, #1 -._9: - bl Random - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0x16 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_80EB72C - lsl r1, r4, #0x1 - add r1, r1, r5 - add r1, r1, r7 - strh r0, [r1] - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0x1 - bls ._9 @cond_branch - lsl r0, r6, #0x10 - lsr r0, r0, #0x10 - cmp r0, #0x4 - bls ._10 @cond_branch - bl Menu_EraseScreen - bl CloseMenu - mov r0, #0x1 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._12: - .align 2, 0 -._11: - .word gSaveBlock1+0x2dd8 - - thumb_func_end TayaDebugMenu_TrendR - - thumb_func_start debug_sub_8090880 -debug_sub_8090880: - push {lr} - bl UpdatePaletteFade - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._13 @cond_branch - mov r0, #0x0 - b ._14 -._13: - bl sub_80E60D8 - mov r0, #0x1 -._14: - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090880 - - thumb_func_start debug_sub_809089C -debug_sub_809089C: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._15 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - bne ._16 @cond_branch - bl CloseMenu - mov r0, #0x1 - b ._17 -._16: - ldr r2, ._19 @ gSpecialVar_0x8004 - ldr r0, ._19 + 4 @ gUnknown_Debug_083C4EC0 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - strh r0, [r2] - ldrh r0, [r2] - sub r0, r0, #0x5 - cmp r0, #0x7 - bhi ._27 @cond_branch - lsl r0, r0, #0x2 - ldr r1, ._19 + 8 @ - add r0, r0, r1 - ldr r0, [r0] - mov pc, r0 -._20: - .align 2, 0 -._19: - .word gSpecialVar_0x8004 - .word gUnknown_Debug_083C4EC0 - .word ._21 -._21: - .word ._29 - .word ._27 - .word ._29 - .word ._29 - .word ._27 - .word ._27 - .word ._29 - .word ._29 -._29: - ldr r0, ._30 @ gSpecialVar_0x8005 - mov r1, #0x0 - strh r1, [r0] - ldr r0, ._30 + 4 @ gSpecialVar_0x8006 - strh r1, [r0] -._27: - mov r0, #0x1 - mov r1, #0x0 - bl FadeScreen - ldr r1, ._30 + 8 @ gMenuCallback - ldr r0, ._30 + 12 @ debug_sub_8090880 - str r0, [r1] -._15: - mov r0, #0x0 -._17: - pop {r1} - bx r1 -._31: - .align 2, 0 -._30: - .word gSpecialVar_0x8005 - .word gSpecialVar_0x8006 - .word gMenuCallback - .word debug_sub_8090880+1 - - thumb_func_end debug_sub_809089C - - thumb_func_start TayaDebugMenu_SimpleText -TayaDebugMenu_SimpleText: - push {lr} - add sp, sp, #0xfffffff8 - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xc - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._32 @ gUnknown_Debug_083C4EC0 - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xb - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._32 + 4 @ gMenuCallback - ldr r0, ._32 + 8 @ debug_sub_809089C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._33: - .align 2, 0 -._32: - .word gUnknown_Debug_083C4EC0 - .word gMenuCallback - .word debug_sub_809089C+1 - - thumb_func_end TayaDebugMenu_SimpleText - - thumb_func_start debug_sub_8090984 -debug_sub_8090984: - push {r4, r5, r6, r7, lr} - bl Menu_ProcessInput - lsl r2, r0, #0x18 - asr r1, r2, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._34 @cond_branch - add r0, r0, #0x1 - cmp r1, r0 - beq ._46 @cond_branch - cmp r1, #0x4 - bgt ._36 @cond_branch - lsr r0, r2, #0x18 - bl debug_sub_810B32C - b ._46 -._34: - mov r0, #0x0 - b ._38 -._36: - cmp r1, #0x5 - bne ._39 @cond_branch - bl sub_80F7F30 - b ._46 -._39: - cmp r1, #0x6 - bne ._41 @cond_branch - mov r4, #0x0 - ldr r0, ._44 @ gSaveBlock1 - add r1, r0, #2 - mov ip, r1 - ldr r7, ._44 + 4 @ gUnknown_Debug_083C4F08 - ldr r1, ._44 + 8 @ 0xfffffd94 - add r6, r0, r1 - add r5, r0, #0 - add r5, r5, #0xe -._42: - lsl r1, r4, #0x1 - mov r0, ip - add r3, r1, r0 - add r0, r1, r7 - ldrh r2, [r0] - strh r2, [r3] - add r0, r1, r5 - strh r2, [r0] - add r1, r6, r1 - strh r2, [r1] - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0x2 - bls ._42 @cond_branch - b ._46 -._45: - .align 2, 0 -._44: - .word gSaveBlock1+0x2d94 - .word gUnknown_Debug_083C4F08 - .word 0xfffffd94 -._41: - cmp r1, #0x7 - bne ._46 @cond_branch - mov r4, #0x0 -._47: - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - bl sub_80EB890 - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0x20 - bls ._47 @cond_branch -._46: - bl CloseMenu - mov r0, #0x1 -._38: - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - - thumb_func_end debug_sub_8090984 - - thumb_func_start TayaDebugMenu_OldMan -TayaDebugMenu_OldMan: - push {lr} - add sp, sp, #0xfffffff8 - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xa - mov r3, #0x11 - bl Menu_DrawStdWindowFrame - ldr r3, ._48 @ gUnknown_Debug_083C4F54 - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x8 - bl Menu_PrintItems - bl GetCurrentMauvilleOldMan - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #0x9 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x8 - bl InitMenu - ldr r1, ._48 + 4 @ gMenuCallback - ldr r0, ._48 + 8 @ debug_sub_8090984 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._49: - .align 2, 0 -._48: - .word gUnknown_Debug_083C4F54 - .word gMenuCallback - .word debug_sub_8090984+1 - - thumb_func_end TayaDebugMenu_OldMan - - thumb_func_start TayaDebugMenu_LanettesPC -TayaDebugMenu_LanettesPC: - push {lr} - bl Menu_EraseScreen - bl ShowPokemonStorageSystem - mov r0, #0x1 - pop {r1} - bx r1 - - thumb_func_end TayaDebugMenu_LanettesPC - - thumb_func_start TayaDebugMenu_TownFlags -TayaDebugMenu_TownFlags: - push {lr} - ldr r0, ._50 @ 0x80f - bl FlagSet - mov r0, #0x81 - lsl r0, r0, #0x4 - bl FlagSet - ldr r0, ._50 + 4 @ 0x811 - bl FlagSet - ldr r0, ._50 + 8 @ 0x812 - bl FlagSet - ldr r0, ._50 + 12 @ 0x813 - bl FlagSet - ldr r0, ._50 + 16 @ 0x814 - bl FlagSet - ldr r0, ._50 + 20 @ 0x815 - bl FlagSet - ldr r0, ._50 + 24 @ 0x816 - bl FlagSet - ldr r0, ._50 + 28 @ 0x817 - bl FlagSet - ldr r0, ._50 + 32 @ 0x818 - bl FlagSet - ldr r0, ._50 + 36 @ 0x819 - bl FlagSet - ldr r0, ._50 + 40 @ 0x81a - bl FlagSet - ldr r0, ._50 + 44 @ 0x81b - bl FlagSet - ldr r0, ._50 + 48 @ 0x81c - bl FlagSet - ldr r0, ._50 + 52 @ 0x81d - bl FlagSet - ldr r0, ._50 + 56 @ 0x81e - bl FlagSet - ldr r0, ._50 + 60 @ 0x848 - bl FlagSet - ldr r0, ._50 + 64 @ 0x849 - bl FlagSet - ldr r0, ._50 + 68 @ 0x84a - bl FlagSet - ldr r0, ._50 + 72 @ 0x854 - bl FlagSet - ldr r0, ._50 + 76 @ 0x855 - bl FlagSet - ldr r0, ._50 + 80 @ 0x856 - bl FlagSet - ldr r0, ._50 + 84 @ 0x857 - bl FlagSet - ldr r0, ._50 + 88 @ 0x858 - bl FlagSet - ldr r0, ._50 + 92 @ 0x859 - bl FlagSet - ldr r0, ._50 + 96 @ 0x85a - bl FlagSet - ldr r0, ._50 + 100 @ 0x85b - bl FlagSet - ldr r0, ._50 + 104 @ 0x85c - bl FlagSet - ldr r0, ._50 + 108 @ 0x83c - bl FlagSet - ldr r0, ._50 + 112 @ 0x83d - bl FlagSet - ldr r0, ._50 + 116 @ 0x83e - bl FlagSet - ldr r0, ._50 + 120 @ 0x83f - bl FlagSet - mov r0, #0x84 - lsl r0, r0, #0x4 - bl FlagSet - ldr r0, ._50 + 124 @ 0x841 - bl FlagSet - ldr r0, ._50 + 128 @ 0x842 - bl FlagSet - ldr r0, ._50 + 132 @ 0x843 - bl FlagSet - ldr r0, ._50 + 136 @ 0x844 - bl FlagSet - ldr r0, ._50 + 140 @ 0x845 - bl FlagSet - ldr r0, ._50 + 144 @ 0x846 - bl FlagSet - ldr r0, ._50 + 148 @ 0x847 - bl FlagSet - ldr r0, ._50 + 152 @ 0x83b - bl FlagSet - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._51: - .align 2, 0 -._50: - .word 0x80f - .word 0x811 - .word 0x812 - .word 0x813 - .word 0x814 - .word 0x815 - .word 0x816 - .word 0x817 - .word 0x818 - .word 0x819 - .word 0x81a - .word 0x81b - .word 0x81c - .word 0x81d - .word 0x81e - .word 0x848 - .word 0x849 - .word 0x84a - .word 0x854 - .word 0x855 - .word 0x856 - .word 0x857 - .word 0x858 - .word 0x859 - .word 0x85a - .word 0x85b - .word 0x85c - .word 0x83c - .word 0x83d - .word 0x83e - .word 0x83f - .word 0x841 - .word 0x842 - .word 0x843 - .word 0x844 - .word 0x845 - .word 0x846 - .word 0x847 - .word 0x83b - - thumb_func_end TayaDebugMenu_TownFlags - - thumb_func_start TayaDebugMenu_AwardARibbon -TayaDebugMenu_AwardARibbon: - push {lr} - mov r0, #0x1 - neg r0, r0 - mov r1, #0x10 - mov r2, #0x0 - bl BlendPalettes - ldr r0, ._52 @ debug_sub_80915BC - bl SetMainCallback2 - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._53: - .align 2, 0 -._52: - .word debug_sub_80915BC+1 - - thumb_func_end TayaDebugMenu_AwardARibbon - - thumb_func_start debug_sub_8090C44 -debug_sub_8090C44: - push {r4, r5, lr} - ldr r4, ._54 @ gSharedMem - sub r5, r4, #1 - ldrh r1, [r5, #0x8] - add r0, r4, #0 - mov r2, #0x2 - mov r3, #0x5 - bl ConvertIntToDecimalStringN - add r0, r4, #0 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0x0 - mov r2, #0x5 - bl StringFill - ldrb r0, [r5] - add r0, r0, r4 - mov r1, #0x79 - strb r1, [r0] - add r0, r4, #0 - mov r1, #0x1 - mov r2, #0x3 - bl Menu_PrintText - pop {r4, r5} - pop {r0} - bx r0 -._55: - .align 2, 0 -._54: - .word gSharedMem+1 - - thumb_func_end debug_sub_8090C44 - - thumb_func_start debug_sub_8090C88 -debug_sub_8090C88: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xfffffffc - mov r0, #0x1 - mov r8, r0 - ldr r2, ._59 @ gMain - ldrh r1, [r2, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - add r3, r2, #0 - cmp r0, #0 - beq ._57 @cond_branch - ldr r1, ._59 + 4 @ gSharedMem - ldrb r0, [r1] - cmp r0, #0 - beq ._57 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] - b ._62 -._60: - .align 2, 0 -._59: - .word gMain - .word gSharedMem -._67: - add r0, r0, #0x1 - strb r0, [r1] - b ._62 -._77: - strh r1, [r7, #0x8] - b ._62 -._79: - ldr r0, ._64 @ gSharedMem - ldrh r0, [r0, #0x8] - bl SetLotteryNumber16_Unused -._78: - bl CloseMenu - mov r0, #0x1 - b ._63 -._65: - .align 2, 0 -._64: - .word gSharedMem -._57: - ldrh r1, [r3, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._66 @cond_branch - ldr r1, ._81 @ gSharedMem - ldrb r0, [r1] - cmp r0, #0x3 - bls ._67 @cond_branch -._66: - ldrh r1, [r3, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._68 @cond_branch - ldr r0, ._81 @ gSharedMem - ldrh r1, [r0, #0x8] - str r1, [r0, #0xc] - ldr r1, ._81 + 4 @ 0x2710 - strh r1, [r0, #0x10] - mov r4, #0x0 - ldrb r1, [r0] - add r7, r0, #0 - cmp r4, r1 - bcs ._69 @cond_branch - add r5, r7, #0 - add r6, r1, #0 -._70: - ldrh r0, [r5, #0x10] - mov r1, #0xa - str r3, [sp] - bl __udivsi3 - strh r0, [r5, #0x10] - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r3, [sp] - cmp r4, r6 - bcc ._70 @cond_branch -._69: - ldrh r1, [r7, #0x10] - ldr r0, [r7, #0xc] - add r0, r0, r1 - str r0, [r7, #0xc] - ldr r1, ._81 + 8 @ 0xffff - cmp r0, r1 - ble ._71 @cond_branch - str r1, [r7, #0xc] -._71: - ldrh r0, [r7, #0x8] - ldr r1, [r7, #0xc] - cmp r0, r1 - bne ._77 @cond_branch -._68: - ldrh r1, [r3, #0x30] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._73 @cond_branch - ldr r0, ._81 @ gSharedMem - ldrh r1, [r0, #0x8] - str r1, [r0, #0xc] - ldr r1, ._81 + 4 @ 0x2710 - strh r1, [r0, #0x10] - mov r4, #0x0 - ldrb r1, [r0] - add r7, r0, #0 - cmp r4, r1 - bcs ._74 @cond_branch - add r5, r7, #0 - add r6, r1, #0 -._75: - ldrh r0, [r5, #0x10] - mov r1, #0xa - str r3, [sp] - bl __udivsi3 - strh r0, [r5, #0x10] - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r3, [sp] - cmp r4, r6 - bcc ._75 @cond_branch -._74: - add r2, r7, #0 - ldrh r1, [r2, #0x10] - ldr r0, [r2, #0xc] - sub r0, r0, r1 - str r0, [r2, #0xc] - cmp r0, #0 - bge ._76 @cond_branch - mov r0, #0x0 - str r0, [r2, #0xc] -._76: - ldrh r0, [r2, #0x8] - ldr r1, [r2, #0xc] - cmp r0, r1 - bne ._77 @cond_branch -._73: - ldrh r2, [r3, #0x2e] - mov r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - bne ._78 @cond_branch - mov r0, #0x1 - and r0, r0, r2 - cmp r0, #0 - bne ._79 @cond_branch - mov r0, #0x0 - mov r8, r0 -._62: - mov r0, r8 - cmp r0, #0 - beq ._80 @cond_branch - bl debug_sub_8090C44 -._80: - mov r0, #0x0 -._63: - add sp, sp, #0x4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._82: - .align 2, 0 -._81: - .word gSharedMem - .word 0x2710 - .word 0xffff - - thumb_func_end debug_sub_8090C88 - - thumb_func_start TayaDebugMenu_PKMNLottery -TayaDebugMenu_PKMNLottery: - push {lr} - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x6 - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - bl RetrieveLotteryNumber - ldr r2, ._83 @ gSharedMem - ldr r0, ._83 + 4 @ gSpecialVar_Result - ldrh r0, [r0] - mov r1, #0x0 - strh r0, [r2, #0x8] - strb r1, [r2] - bl debug_sub_8090C44 - ldr r1, ._83 + 8 @ gMenuCallback - ldr r0, ._83 + 12 @ debug_sub_8090C88 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._84: - .align 2, 0 -._83: - .word gSharedMem - .word gSpecialVar_Result - .word gMenuCallback - .word debug_sub_8090C88+1 - - thumb_func_end TayaDebugMenu_PKMNLottery - - thumb_func_start TayaDebugMenu_Trainer -TayaDebugMenu_Trainer: - push {r4, r5, lr} - mov r4, #0x0 - ldr r5, ._86 @ gTrainerEyeTrainers -._85: - lsl r0, r4, #0x4 - add r0, r0, r5 - ldrh r0, [r0] - bl SetTrainerFlag - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0x37 - bls ._85 @cond_branch - ldr r0, ._86 + 4 @ 0x109 - bl SetTrainerFlag - mov r0, #0x85 - lsl r0, r0, #0x1 - bl SetTrainerFlag - ldr r0, ._86 + 8 @ 0x10b - bl SetTrainerFlag - mov r0, #0x86 - lsl r0, r0, #0x1 - bl SetTrainerFlag - ldr r0, ._86 + 12 @ 0x10d - bl SetTrainerFlag - mov r0, #0x87 - lsl r0, r0, #0x1 - bl SetTrainerFlag - ldr r0, ._86 + 16 @ 0x10f - bl SetTrainerFlag - mov r0, #0x88 - lsl r0, r0, #0x1 - bl SetTrainerFlag - ldr r0, ._86 + 20 @ 0x105 - bl SetTrainerFlag - mov r0, #0x83 - lsl r0, r0, #0x1 - bl SetTrainerFlag - ldr r0, ._86 + 24 @ 0x107 - bl SetTrainerFlag - mov r0, #0x84 - lsl r0, r0, #0x1 - bl SetTrainerFlag - ldr r0, ._86 + 28 @ 0x14f - bl SetTrainerFlag - bl CloseMenu - mov r0, #0x1 - pop {r4, r5} - pop {r1} - bx r1 -._87: - .align 2, 0 -._86: - .word gTrainerEyeTrainers - .word 0x109 - .word 0x10b - .word 0x10d - .word 0x10f - .word 0x105 - .word 0x107 - .word 0x14f - - thumb_func_end TayaDebugMenu_Trainer - - thumb_func_start TayaDebugMenu_PokenavD -TayaDebugMenu_PokenavD: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xffffffe4 - bl Menu_DisplayDialogueFrame - mov r0, #0x0 - mov sl, r0 - mov r6, #0x1 - mov r7, #0xff - mov r1, #0x3 - mov r9, r1 -._93: - ldr r4, ._94 @ gSharedMem - add r0, r4, #0 - ldr r1, ._94 + 4 @ gUnknown_Debug_083C4F94 - bl StringCopy - mov r5, sl - add r5, r5, #0x1 - add r1, r5, r4 - mov r0, #0xff - strb r0, [r1] - add r0, r4, #0 - mov r1, #0x2 - mov r2, #0xf - bl Menu_PrintText - mov r0, #0x0 - mov r8, r0 - str r5, [sp, #0x14] - mov r1, sl - lsl r1, r1, #0x2 - str r1, [sp, #0x18] -._91: - bl Random - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - add r0, r0, #0x1 - str r0, [sp, #0x10] - bl Random - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0x64 - bl __umodsi3 - add r0, r0, #0x1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - bl Random - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xc1 - lsl r1, r1, #0x1 - bl __umodsi3 - add r0, r0, #0x1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - cmp r3, #0xfb - bls ._89 @cond_branch - add r0, r3, #0 - add r0, r0, #0x19 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - ldr r0, ._94 + 8 @ 0x19b - cmp r3, r0 - bls ._89 @cond_branch - mov r3, #0x1 -._89: - ldr r0, [sp, #0x18] - add r0, r0, sl - lsl r4, r0, #0x4 - sub r4, r4, r0 - lsl r4, r4, #0x5 - mov r1, r8 - lsl r0, r1, #0x2 - add r0, r0, r8 - lsl r0, r0, #0x4 - ldr r1, ._94 + 12 @ gPokemonStorage - add r0, r0, r1 - add r4, r4, r0 - lsl r2, r5, #0x18 - lsr r2, r2, #0x18 - mov r0, #0x0 - str r0, [sp] - str r0, [sp, #0x4] - str r6, [sp, #0x8] - ldr r0, [sp, #0x10] - str r0, [sp, #0xc] - add r0, r4, #0 - add r1, r3, #0 - mov r3, #0x20 - bl CreateBoxMon - bl Random - add r1, r7, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x16 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r7, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x17 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r7, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x18 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r7, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x21 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r7, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x2f - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r7, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x30 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - mov r1, r9 - and r1, r1, r0 - add r1, r1, #0x1 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x32 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - mov r1, r9 - and r1, r1, r0 - add r1, r1, #0x1 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x33 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - mov r1, r9 - and r1, r1, r0 - add r1, r1, #0x1 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x34 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - mov r1, r9 - and r1, r1, r0 - add r1, r1, #0x1 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x36 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - mov r1, r9 - and r1, r1, r0 - add r1, r1, #0x1 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x35 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x43 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x44 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x45 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x46 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x47 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x48 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x49 - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x4a - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x4b - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x4c - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x4d - add r2, sp, #0x10 - bl SetBoxMonData - bl Random - add r1, r6, #0 - and r1, r1, r0 - str r1, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x4e - add r2, sp, #0x10 - bl SetBoxMonData - mov r0, r8 - add r0, r0, #0x1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r8, r0 - cmp r0, #0x1d - bhi ._90 @cond_branch - b ._91 -._90: - ldr r1, [sp, #0x14] - lsl r0, r1, #0x10 - lsr r0, r0, #0x10 - mov sl, r0 - cmp r0, #0xd - bhi ._92 @cond_branch - b ._93 -._92: - bl TayaDebugMenu_TownFlags - bl TayaDebugMenu_Trainer - bl CloseMenu - mov r0, #0x1 - add sp, sp, #0x1c - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._95: - .align 2, 0 -._94: - .word gSharedMem - .word gUnknown_Debug_083C4F94 - .word 0x19b - .word gPokemonStorage+0x4 - - thumb_func_end TayaDebugMenu_PokenavD - - thumb_func_start TayaDebugMenu_8091190 -TayaDebugMenu_8091190: - push {r4, r5, lr} - add sp, sp, #0xfffffff8 - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r3, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r3, r0 - beq ._96 @cond_branch - add r0, r0, #0x1 - cmp r3, r0 - beq ._97 @cond_branch - ldr r2, ._99 @ gMenuCallback - ldr r1, ._99 + 4 @ gUnknown_Debug_83C5068 - ldr r0, ._99 + 8 @ unk_2030224 - ldrb r0, [r0] - lsl r0, r0, #0x18 - asr r0, r0, #0x18 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, [r0] - lsl r0, r3, #0x3 - add r0, r0, r1 - ldr r0, [r0, #0x4] - str r0, [r2] -._106: - mov r0, #0x0 - b ._98 -._100: - .align 2, 0 -._99: - .word gMenuCallback - .word gUnknown_Debug_83C5068 - .word unk_2030224 -._96: - ldr r3, ._107 @ unk_2030224 - ldrb r4, [r3] - ldr r2, ._107 + 4 @ gMain - ldrh r1, [r2, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - add r5, r3, #0 - cmp r0, #0 - beq ._102 @cond_branch - sub r0, r4, #1 - strb r0, [r5] - lsl r0, r0, #0x18 - cmp r0, #0 - bge ._102 @cond_branch - mov r0, #0x1 - strb r0, [r5] -._102: - ldrh r1, [r2, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._104 @cond_branch - ldrb r0, [r5] - add r0, r0, #0x1 - strb r0, [r5] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x1 - bls ._104 @cond_branch - mov r0, #0x0 - strb r0, [r5] -._104: - lsl r0, r4, #0x18 - asr r0, r0, #0x18 - mov r1, #0x0 - ldrsb r1, [r5, r1] - cmp r0, r1 - beq ._106 @cond_branch - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xb - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r4, ._107 + 8 @ gUnknown_Debug_83C5068 - mov r0, #0x0 - ldrsb r0, [r5, r0] - lsl r0, r0, #0x3 - add r0, r0, r4 - ldrb r2, [r0, #0x4] - ldr r3, [r0] - mov r0, #0x1 - mov r1, #0x1 - bl Menu_PrintItems - mov r0, #0x0 - ldrsb r0, [r5, r0] - lsl r0, r0, #0x3 - add r0, r0, r4 - ldrb r3, [r0, #0x4] - mov r0, #0x0 - str r0, [sp] - mov r0, #0xa - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - bl InitMenu - b ._106 -._108: - .align 2, 0 -._107: - .word unk_2030224 - .word gMain - .word gUnknown_Debug_83C5068 -._97: - bl CloseMenu - mov r0, #0x1 -._98: - add sp, sp, #0x8 - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end TayaDebugMenu_8091190 - - thumb_func_start InitTayaDebugWindow -InitTayaDebugWindow: - push {lr} - add sp, sp, #0xfffffff8 - ldr r1, ._109 @ unk_2030224 - mov r0, #0x0 - strb r0, [r1] - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xb - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._109 + 4 @ gUnknown_Debug_83C5068 - ldr r3, [r0] - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xa - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._109 + 8 @ gMenuCallback - ldr r0, ._109 + 12 @ TayaDebugMenu_8091190 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._110: - .align 2, 0 -._109: - .word unk_2030224 - .word gUnknown_Debug_83C5068 - .word gMenuCallback - .word TayaDebugMenu_8091190+1 - - thumb_func_end InitTayaDebugWindow - - thumb_func_start debug_sub_80912D8 -debug_sub_80912D8: - push {lr} - ldr r0, ._113 @ gPaletteFade - ldrb r1, [r0, #0x7] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._111 @cond_branch - mov r0, #0x0 - b ._112 -._114: - .align 2, 0 -._113: - .word gPaletteFade -._111: - ldr r0, ._115 @ debug_sub_8110F28 - bl SetMainCallback2 - mov r0, #0x1 -._112: - pop {r1} - bx r1 -._116: - .align 2, 0 -._115: - .word debug_sub_8110F28+1 - - thumb_func_end debug_sub_80912D8 - - thumb_func_start debug_sub_8091300 -debug_sub_8091300: - push {lr} - mov r0, #0x1 - mov r1, #0x0 - bl FadeScreen - ldr r1, ._117 @ gMenuCallback - ldr r0, ._117 + 4 @ debug_sub_80912D8 - str r0, [r1] - mov r0, #0x0 - pop {r1} - bx r1 -._118: - .align 2, 0 -._117: - .word gMenuCallback - .word debug_sub_80912D8+1 - - thumb_func_end debug_sub_8091300 - - thumb_func_start debug_sub_8091320 -debug_sub_8091320: - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - - thumb_func_end debug_sub_8091320 - - thumb_func_start debug_sub_8091334 -debug_sub_8091334: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - bl AnimateSprites - bl BuildOamBuffer - ldr r3, ._123 @ gSharedMem - add r0, r3, #0 - add r0, r0, #0x52 - ldrb r4, [r0] - cmp r4, #0 - beq ._119 @cond_branch - cmp r4, #0x1 - bne ._120 @cond_branch - b ._121 -._120: - b ._162 -._124: - .align 2, 0 -._123: - .word gSharedMem -._119: - add r5, r3, #0 - add r5, r5, #0x55 - strb r4, [r5] - ldr r2, ._131 @ gMain - ldrh r1, [r2, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - mov r9, r2 - cmp r0, #0 - beq ._126 @cond_branch - add r1, r3, #0 - add r1, r1, #0x54 - ldrb r0, [r1] - cmp r0, #0 - beq ._126 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] - mov r0, #0x1 - strb r0, [r5] -._126: - mov r0, r9 - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - ldr r5, ._131 + 4 @ gSharedMem - cmp r0, #0 - beq ._133 @cond_branch - add r0, r5, #0 - add r0, r0, #0x53 - ldrb r0, [r0] - cmp r0, #0x2 - beq ._128 @cond_branch - add r1, r5, #0 - add r1, r1, #0x54 - ldrb r0, [r1] - cmp r0, #0x4 - bhi ._133 @cond_branch - b ._130 -._132: - .align 2, 0 -._131: - .word gMain - .word gSharedMem -._128: - add r1, r5, #0 - add r1, r1, #0x54 - ldrb r0, [r1] - cmp r0, #0x3 - bhi ._133 @cond_branch -._130: - add r0, r0, #0x1 - strb r0, [r1] - add r1, r1, #0x1 - mov r0, #0x1 - strb r0, [r1] -._133: - mov r2, r9 - ldrh r1, [r2, #0x2e] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._135 @cond_branch - add r1, r5, #0 - add r1, r1, #0x53 - ldrb r0, [r1] - cmp r0, #0 - beq ._135 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] - add r1, r1, #0x2 - mov r0, #0x1 - strb r0, [r1] -._135: - mov r3, r9 - ldrh r1, [r3, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._140 @cond_branch - add r0, r5, #0 - add r0, r0, #0x54 - ldrb r0, [r0] - cmp r0, #0x5 - beq ._137 @cond_branch - add r1, r5, #0 - add r1, r1, #0x53 - ldrb r0, [r1] - cmp r0, #0x1 - bhi ._140 @cond_branch - b ._139 -._137: - add r1, r5, #0 - add r1, r1, #0x53 - ldrb r0, [r1] - cmp r0, #0 - bne ._140 @cond_branch -._139: - add r0, r0, #0x1 - strb r0, [r1] - add r1, r1, #0x2 - mov r0, #0x1 - strb r0, [r1] -._140: - add r0, r5, #0 - add r0, r0, #0x55 - ldrb r0, [r0] - cmp r0, #0 - bne ._141 @cond_branch - mov r0, r9 - ldrh r2, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r2 - cmp r0, #0 - beq ._142 @cond_branch - ldr r2, ._145 @ gUnknown_Debug_083C50EC - add r3, r5, #0 - add r3, r3, #0x53 - add r0, r5, #0 - add r0, r0, #0x54 - ldrb r1, [r0] - lsl r0, r1, #0x1 - add r0, r0, r1 - ldrb r3, [r3] - add r0, r0, r3 - lsl r0, r0, #0x3 - add r0, r0, r2 - ldrh r0, [r0, #0x4] - sub r0, r0, #0x32 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - cmp r0, #0x4 - bhi ._143 @cond_branch - add r1, r5, #0 - add r1, r1, #0x56 - mov r0, #0x4 - b ._144 -._146: - .align 2, 0 -._145: - .word gUnknown_Debug_083C50EC -._143: - add r1, r5, #0 - add r1, r1, #0x56 - mov r0, #0x1 -._144: - strb r0, [r1] - add r1, r5, #0 - add r1, r1, #0x52 - mov r0, #0x1 - strb r0, [r1] - b ._162 -._142: - mov r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - bne ._148 @cond_branch - b ._162 -._148: - mov r0, #0x1 - neg r0, r0 - mov r1, #0x10 - mov r2, #0x0 - bl BlendPalettes - ldr r0, ._151 @ sub_80546F0 - bl SetMainCallback2 - b ._162 -._152: - .align 2, 0 -._151: - .word sub_80546F0+1 -._121: - add r5, r3, #0 - add r5, r5, #0x55 - mov r0, #0x0 - strb r0, [r5] - ldr r2, ._159 @ gMain - ldrh r1, [r2, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - mov r9, r2 - cmp r0, #0 - beq ._154 @cond_branch - add r2, r3, #0 - add r2, r2, #0x53 - add r0, r3, #0 - add r0, r0, #0x54 - ldrb r1, [r0] - lsl r0, r1, #0x1 - add r0, r0, r1 - ldrb r2, [r2] - add r0, r0, r2 - add r2, r0, r3 - add r0, r3, #0 - add r0, r0, #0x56 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bcs ._154 @cond_branch - add r0, r1, #1 - strb r0, [r2] - strb r4, [r5] -._154: - mov r2, r9 - ldrh r1, [r2, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - ldr r5, ._159 + 4 @ gSharedMem - cmp r0, #0 - beq ._156 @cond_branch - add r2, r5, #0 - add r2, r2, #0x53 - add r0, r5, #0 - add r0, r0, #0x54 - ldrb r1, [r0] - lsl r0, r1, #0x1 - add r0, r0, r1 - ldrb r2, [r2] - add r0, r0, r2 - add r1, r0, r5 - ldrb r0, [r1] - cmp r0, #0 - beq ._156 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] - add r1, r5, #0 - add r1, r1, #0x55 - mov r0, #0x1 - strb r0, [r1] -._156: - add r6, r5, #0 - add r0, r6, #0 - add r0, r0, #0x55 - ldrb r7, [r0] - cmp r7, #0 - beq ._157 @cond_branch -._141: - bl debug_sub_80916AC - b ._162 -._160: - .align 2, 0 -._159: - .word gMain - .word gSharedMem -._157: - mov r3, r9 - ldrh r1, [r3, #0x2e] - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._161 @cond_branch - ldr r0, ._164 @ gPlayerParty - ldr r1, ._164 + 4 @ gUnknown_Debug_083C50EC - mov ip, r1 - mov r2, #0x53 - add r2, r2, r6 - mov r8, r2 - add r4, r6, #0 - add r4, r4, #0x54 - ldrb r2, [r4] - lsl r1, r2, #0x1 - add r1, r1, r2 - mov r3, r8 - ldrb r3, [r3] - add r1, r1, r3 - lsl r1, r1, #0x3 - add r1, r1, ip - ldrh r1, [r1, #0x4] - bl GetMonData - ldrb r2, [r4] - lsl r1, r2, #0x1 - add r1, r1, r2 - mov r2, r8 - ldrb r2, [r2] - add r1, r1, r2 - add r1, r1, r6 - strb r0, [r1] - bl debug_sub_80916AC - add r0, r6, #0 - add r0, r0, #0x52 - strb r7, [r0] -._161: - mov r3, r9 - ldrh r1, [r3, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._162 @cond_branch - ldr r2, ._164 + 4 @ gUnknown_Debug_083C50EC - add r0, r6, #0 - add r0, r0, #0x53 - ldrb r4, [r0] - add r0, r0, #0x1 - ldrb r1, [r0] - lsl r0, r1, #0x1 - add r3, r0, r1 - add r0, r3, r4 - lsl r0, r0, #0x3 - add r1, r0, r2 - ldrh r0, [r1, #0x4] - cmp r0, #0 - beq ._163 @cond_branch - ldr r0, ._164 @ gPlayerParty - ldrh r1, [r1, #0x4] - add r2, r4, r6 - add r2, r3, r2 - bl SetMonData -._163: - add r0, r5, #0 - add r0, r0, #0x52 - strb r7, [r0] -._162: - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._165: - .align 2, 0 -._164: - .word gPlayerParty - .word gUnknown_Debug_083C50EC - - thumb_func_end debug_sub_8091334 - - thumb_func_start debug_sub_80915BC -debug_sub_80915BC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, ._168 @ 0x4000010 - mov r1, #0x0 - strh r1, [r0] - add r0, r0, #0x2 - strh r1, [r0] - mov r1, #0x0 - ldr r0, ._168 + 4 @ gUnknown_Debug_083C50EC - mov r8, r0 - ldr r7, ._168 + 8 @ gSharedMem -._171: - mov r4, #0x0 - lsl r0, r1, #0x1 - add r6, r1, #1 - add r5, r0, r1 -._170: - add r0, r5, r4 - lsl r0, r0, #0x3 - add r0, r0, r8 - ldrh r1, [r0, #0x4] - cmp r1, #0 - beq ._166 @cond_branch - ldr r0, ._168 + 12 @ gPlayerParty - bl GetMonData - add r1, r4, r5 - add r1, r1, r7 - strb r0, [r1] - b ._167 -._169: - .align 2, 0 -._168: - .word 0x4000010 - .word gUnknown_Debug_083C50EC - .word gSharedMem - .word gPlayerParty -._166: - add r0, r4, r5 - add r0, r0, r7 - strb r1, [r0] -._167: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x2 - bls ._170 @cond_branch - lsl r0, r6, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x5 - bls ._171 @cond_branch - ldr r4, ._172 @ gWindowTemplate_81E7224 - add r0, r4, #0 - bl Text_LoadWindowTemplate - add r0, r4, #0 - bl InitMenuWindow - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x3 - bl Menu_DrawStdWindowFrame - ldr r0, ._172 + 4 @ gUnknown_Debug_083C517C - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - mov r0, #0x0 - mov r1, #0x4 - mov r2, #0x1d - mov r3, #0x11 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0x12 - mov r2, #0x1d - mov r3, #0x15 - bl Menu_DrawStdWindowFrame - mov r1, #0x80 - lsl r1, r1, #0x13 - mov r2, #0x8a - lsl r2, r2, #0x5 - add r0, r2, #0 - strh r0, [r1] - ldr r2, ._172 + 8 @ gSharedMem - add r0, r2, #0 - add r0, r0, #0x53 - mov r1, #0x0 - strb r1, [r0] - add r0, r0, #0x1 - strb r1, [r0] - sub r0, r0, #0x2 - strb r1, [r0] - bl debug_sub_80916AC - ldr r0, ._172 + 12 @ debug_sub_8091320 - bl SetVBlankCallback - ldr r0, ._172 + 16 @ debug_sub_8091334 - bl SetMainCallback2 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._173: - .align 2, 0 -._172: - .word gWindowTemplate_81E7224 - .word gUnknown_Debug_083C517C - .word gSharedMem - .word debug_sub_8091320+1 - .word debug_sub_8091334+1 - - thumb_func_end debug_sub_80915BC - - thumb_func_start debug_sub_80916AC -debug_sub_80916AC: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xfffffffc - mov r6, #0x0 - ldr r0, ._177 @ gSharedMem - mov sl, r0 - mov r1, #0x0 - mov r8, r1 -._182: - ldr r2, ._177 + 4 @ gSharedMem - mov r5, #0x0 - lsl r0, r6, #0x1 - mov r9, r0 - add r1, r6, #1 - str r1, [sp] -._181: - mov r0, sl - add r0, r0, #0x53 - ldrb r0, [r0] - cmp r0, r5 - bne ._175 @cond_branch - ldr r1, ._177 + 8 @ gSharedMem - ldrb r0, [r1] - cmp r0, r6 - bne ._175 @cond_branch - mov r0, #0xef - b ._176 -._178: - .align 2, 0 -._177: - .word gSharedMem - .word gSharedMem+0x12 - .word gSharedMem+0x54 -._175: - mov r0, r8 - strb r0, [r2] - add r2, r2, #0x1 -._176: - strb r0, [r2] - add r2, r2, #0x1 - mov r1, r9 - add r4, r1, r6 - add r0, r4, r5 - lsl r0, r0, #0x3 - ldr r1, ._183 @ gUnknown_Debug_083C50EC - add r0, r0, r1 - ldr r1, [r0] - add r0, r2, #0 - bl StringCopy - add r2, r0, #0 - mov r0, r8 - strb r0, [r2] - add r2, r2, #0x1 - ldr r7, ._183 + 4 @ gSharedMem - add r4, r5, r4 - add r4, r4, r7 - ldrb r1, [r4] - add r0, r2, #0 - mov r2, #0x0 - mov r3, #0x1 - bl ConvertIntToDecimalStringN - add r2, r0, #0 - mov r1, r8 - strb r1, [r2] - add r2, r2, #0x1 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x2 - bhi ._179 @cond_branch - cmp r6, #0x5 - bne ._181 @cond_branch - cmp r5, #0x2 - bne ._181 @cond_branch -._179: - sub r1, r2, #1 - mov r0, #0xff - strb r0, [r1] - mov r2, r9 - add r2, r2, #0x5 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - add r0, r7, #0 - add r0, r0, #0x12 - mov r1, #0x1 - bl Menu_PrintText - ldr r1, [sp] - lsl r0, r1, #0x18 - lsr r6, r0, #0x18 - cmp r6, #0x5 - bls ._182 @cond_branch - add sp, sp, #0x4 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._184: - .align 2, 0 -._183: - .word gUnknown_Debug_083C50EC - .word gSharedMem - - thumb_func_end debug_sub_80916AC - - .align 2, 0 - -.endif diff --git a/asm/tomomichi_debug_menu.s b/asm/tomomichi_debug_menu.s deleted file mode 100644 index c0dfe38e0..000000000 --- a/asm/tomomichi_debug_menu.s +++ /dev/null @@ -1,8100 +0,0 @@ -.if DEBUG - - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - thumb_func_start InitTomomichiDebugWindow -InitTomomichiDebugWindow: - push {lr} - bl debug_sub_808B874 - mov r0, #0x0 - pop {r1} - bx r1 - - thumb_func_end InitTomomichiDebugWindow - - thumb_func_start debug_sub_808B868 -debug_sub_808B868: - push {lr} - bl c2_exit_to_overworld_1_continue_scripts_restart_music - pop {r0} - bx r0 - - thumb_func_end debug_sub_808B868 - - thumb_func_start debug_sub_808B874 -debug_sub_808B874: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xd - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._1 @ gUnknown_Debug_083C0CBA - mov r0, #0x1 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - ldr r0, ._1 + 4 @ gDebug_0300071D - ldrb r0, [r0] - str r0, [sp] - mov r0, #0xc - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._1 + 8 @ gMenuCallback - ldr r0, ._1 + 12 @ debug_sub_808B8C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._2: - .align 2, 0 -._1: - .word gUnknown_Debug_083C0CBA - .word gDebug_0300071D - .word gMenuCallback - .word debug_sub_808B8C8+1 - - thumb_func_end debug_sub_808B874 - - thumb_func_start debug_sub_808B8C8 -debug_sub_808B8C8: - push {r4, lr} - ldr r4, ._7 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._3 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - bl Menu_MoveCursor - ldr r1, ._7 + 4 @ gDebug_0300071D - strb r0, [r1] -._3: - ldrh r1, [r4, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._4 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - bl Menu_MoveCursor - ldr r1, ._7 + 4 @ gDebug_0300071D - strb r0, [r1] -._4: - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._5 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r1, ._7 + 8 @ gUnknown_Debug_083C0CBA - ldr r0, ._7 + 4 @ gDebug_0300071D - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r1, r1, #0x4 - add r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._10 -._8: - .align 2, 0 -._7: - .word gMain - .word gDebug_0300071D - .word gUnknown_Debug_083C0CBA -._5: - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._9 @cond_branch - mov r0, #0x0 - b ._10 -._9: - bl CloseMenu - mov r0, #0x1 -._10: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808B8C8 - - thumb_func_start TomomichiDebugMenu_ContestGraphics -TomomichiDebugMenu_ContestGraphics: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x14 - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r0, ._11 @ gUnknown_Debug_083C0CF4 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._11 + 4 @ gUnknown_Debug_083C0D2C - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x4 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x13 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x4 - bl InitMenu - ldr r1, ._11 + 8 @ gMenuCallback - ldr r0, ._11 + 12 @ debug_sub_808BC48 - str r0, [r1] - ldr r0, ._11 + 16 @ gDebug_03000700 - mov r2, #0x1 - strh r2, [r0] - ldr r1, ._11 + 20 @ gDebug_03000704 - ldr r0, ._11 + 24 @ 0x6f33 - str r0, [r1] - ldr r0, ._11 + 28 @ gDebug_03000708 - str r4, [r0] - ldr r0, ._11 + 32 @ gDebug_0300070C - strb r2, [r0] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._12: - .align 2, 0 -._11: - .word gUnknown_Debug_083C0CF4 - .word gUnknown_Debug_083C0D2C - .word gMenuCallback - .word debug_sub_808BC48+1 - .word gDebug_03000700 - .word gDebug_03000704 - .word 0x6f33 - .word gDebug_03000708 - .word gDebug_0300070C - - thumb_func_end TomomichiDebugMenu_ContestGraphics - - thumb_func_start TomomichiDebugMenu_ArtMusGraphics -TomomichiDebugMenu_ArtMusGraphics: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x14 - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r0, ._13 @ gUnknown_Debug_083C0D4C - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._13 + 4 @ gUnknown_Debug_083C0D83 - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x4 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x13 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x4 - bl InitMenu - ldr r1, ._13 + 8 @ gMenuCallback - ldr r0, ._13 + 12 @ debug_sub_808BCBC - str r0, [r1] - ldr r0, ._13 + 16 @ gDebug_03000700 - mov r2, #0x1 - strh r2, [r0] - ldr r1, ._13 + 20 @ gDebug_03000704 - ldr r0, ._13 + 24 @ 0x6f33 - str r0, [r1] - ldr r0, ._13 + 28 @ gDebug_03000708 - str r4, [r0] - ldr r0, ._13 + 32 @ gDebug_0300070D - strb r2, [r0] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._14: - .align 2, 0 -._13: - .word gUnknown_Debug_083C0D4C - .word gUnknown_Debug_083C0D83 - .word gMenuCallback - .word debug_sub_808BCBC+1 - .word gDebug_03000700 - .word gDebug_03000704 - .word 0x6f33 - .word gDebug_03000708 - .word gDebug_0300070D - - thumb_func_end TomomichiDebugMenu_ArtMusGraphics - - thumb_func_start TomomichiDebugMenu_PreviewData -TomomichiDebugMenu_PreviewData: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x14 - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r0, ._15 @ gUnknown_Debug_083C0DA4 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._15 + 4 @ gUnknown_Debug_083C0DD4 - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x4 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x13 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x4 - bl InitMenu - ldr r1, ._15 + 8 @ gMenuCallback - ldr r0, ._15 + 12 @ debug_sub_808BD30 - str r0, [r1] - ldr r0, ._15 + 16 @ gDebug_03000700 - mov r2, #0x1 - strh r2, [r0] - ldr r1, ._15 + 20 @ gDebug_03000704 - ldr r0, ._15 + 24 @ 0x6f33 - str r0, [r1] - ldr r0, ._15 + 28 @ gDebug_03000708 - str r4, [r0] - ldr r0, ._15 + 32 @ gDebug_0300070E - strb r2, [r0] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._16: - .align 2, 0 -._15: - .word gUnknown_Debug_083C0DA4 - .word gUnknown_Debug_083C0DD4 - .word gMenuCallback - .word debug_sub_808BD30+1 - .word gDebug_03000700 - .word gDebug_03000704 - .word 0x6f33 - .word gDebug_03000708 - .word gDebug_0300070E - - thumb_func_end TomomichiDebugMenu_PreviewData - - thumb_func_start TomomichiDebugMenu_TrickHouse -TomomichiDebugMenu_TrickHouse: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - ldr r0, ._17 @ gUnknown_Debug_083C0DF4 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._17 + 4 @ gUnknown_Debug_083C0E15 - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x2 - bl Menu_PrintItems - ldr r0, ._17 + 8 @ gDebug_0300071E - ldrb r0, [r0] - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x2 - bl InitMenu - ldr r1, ._17 + 12 @ gMenuCallback - ldr r0, ._17 + 16 @ debug_sub_808BDA4 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._18: - .align 2, 0 -._17: - .word gUnknown_Debug_083C0DF4 - .word gUnknown_Debug_083C0E15 - .word gDebug_0300071E - .word gMenuCallback - .word debug_sub_808BDA4+1 - - thumb_func_end TomomichiDebugMenu_TrickHouse - - thumb_func_start TomomichiDebugMenu_ControlEvents -TomomichiDebugMenu_ControlEvents: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._19 @ gUnknown_Debug_083C0E32 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - ldr r0, ._19 + 4 @ gDebug_0300071F - ldrb r0, [r0] - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r1, ._19 + 8 @ gMenuCallback - ldr r0, ._19 + 12 @ debug_sub_808BE2C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._20: - .align 2, 0 -._19: - .word gUnknown_Debug_083C0E32 - .word gDebug_0300071F - .word gMenuCallback - .word debug_sub_808BE2C+1 - - thumb_func_end TomomichiDebugMenu_ControlEvents - - thumb_func_start TomomichiDebugMenu_ControlFlags -TomomichiDebugMenu_ControlFlags: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._21 @ gUnknown_Debug_083C0E7F - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - ldr r0, ._21 + 4 @ gDebug_03000720 - ldrb r0, [r0] - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._21 + 8 @ gMenuCallback - ldr r0, ._21 + 12 @ debug_sub_808BEB4 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._22: - .align 2, 0 -._21: - .word gUnknown_Debug_083C0E7F - .word gDebug_03000720 - .word gMenuCallback - .word debug_sub_808BEB4+1 - - thumb_func_end TomomichiDebugMenu_ControlFlags - - thumb_func_start TomomichiDebugMenu_ControlWorks -TomomichiDebugMenu_ControlWorks: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._23 @ gUnknown_Debug_083C0EF1 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - ldr r0, ._23 + 4 @ gDebug_03000721 - ldrb r0, [r0] - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r1, ._23 + 8 @ gMenuCallback - ldr r0, ._23 + 12 @ debug_sub_808BF3C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._24: - .align 2, 0 -._23: - .word gUnknown_Debug_083C0EF1 - .word gDebug_03000721 - .word gMenuCallback - .word debug_sub_808BF3C+1 - - thumb_func_end TomomichiDebugMenu_ControlWorks - - thumb_func_start debug_sub_808BC48 -debug_sub_808BC48: - push {r4, lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - asr r0, r0, #0x18 - cmp r0, #0x1 - beq ._25 @cond_branch - cmp r0, #0x1 - bgt ._26 @cond_branch - cmp r0, #0 - beq ._27 @cond_branch - b ._32 -._26: - cmp r0, #0x2 - beq ._29 @cond_branch - b ._32 -._27: - bl debug_sub_808ED0C - b ._32 -._25: - bl debug_sub_808ED9C - b ._32 -._29: - bl debug_sub_808EE3C -._32: - mov r0, #0x0 - bl debug_sub_808EF8C - lsl r0, r4, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._36 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - bne ._34 @cond_branch - bl CloseMenu - mov r0, #0x1 - b ._35 -._34: - cmp r1, #0x3 - bne ._36 @cond_branch - ldr r0, ._37 @ gMenuCallback - ldr r1, ._37 + 4 @ gUnknown_Debug_083C0D2C - ldr r1, [r1, #0x1c] - str r1, [r0] -._36: - mov r0, #0x0 -._35: - pop {r4} - pop {r1} - bx r1 -._38: - .align 2, 0 -._37: - .word gMenuCallback - .word gUnknown_Debug_083C0D2C - - thumb_func_end debug_sub_808BC48 - - thumb_func_start debug_sub_808BCBC -debug_sub_808BCBC: - push {r4, lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - asr r0, r0, #0x18 - cmp r0, #0x1 - beq ._39 @cond_branch - cmp r0, #0x1 - bgt ._40 @cond_branch - cmp r0, #0 - beq ._41 @cond_branch - b ._46 -._40: - cmp r0, #0x2 - beq ._43 @cond_branch - b ._46 -._41: - bl debug_sub_808ED0C - b ._46 -._39: - bl debug_sub_808ED9C - b ._46 -._43: - bl debug_sub_808EE9C -._46: - mov r0, #0x1 - bl debug_sub_808EF8C - lsl r0, r4, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._50 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - bne ._48 @cond_branch - bl CloseMenu - mov r0, #0x1 - b ._49 -._48: - cmp r1, #0x3 - bne ._50 @cond_branch - ldr r0, ._51 @ gMenuCallback - ldr r1, ._51 + 4 @ gUnknown_Debug_083C0D83 - ldr r1, [r1, #0x1c] - str r1, [r0] -._50: - mov r0, #0x0 -._49: - pop {r4} - pop {r1} - bx r1 -._52: - .align 2, 0 -._51: - .word gMenuCallback - .word gUnknown_Debug_083C0D83 - - thumb_func_end debug_sub_808BCBC - - thumb_func_start debug_sub_808BD30 -debug_sub_808BD30: - push {r4, lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - asr r0, r0, #0x18 - cmp r0, #0x1 - beq ._53 @cond_branch - cmp r0, #0x1 - bgt ._54 @cond_branch - cmp r0, #0 - beq ._55 @cond_branch - b ._60 -._54: - cmp r0, #0x2 - beq ._57 @cond_branch - b ._60 -._55: - bl debug_sub_808ED0C - b ._60 -._53: - bl debug_sub_808ED9C - b ._60 -._57: - bl debug_sub_808EF14 -._60: - mov r0, #0x2 - bl debug_sub_808EF8C - lsl r0, r4, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - beq ._64 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - bne ._62 @cond_branch - bl CloseMenu - mov r0, #0x1 - b ._63 -._62: - cmp r1, #0x3 - bne ._64 @cond_branch - ldr r0, ._65 @ gMenuCallback - ldr r1, ._65 + 4 @ gUnknown_Debug_083C0DD4 - ldr r1, [r1, #0x1c] - str r1, [r0] -._64: - mov r0, #0x0 -._63: - pop {r4} - pop {r1} - bx r1 -._66: - .align 2, 0 -._65: - .word gMenuCallback - .word gUnknown_Debug_083C0DD4 - - thumb_func_end debug_sub_808BD30 - - thumb_func_start debug_sub_808BDA4 -debug_sub_808BDA4: - push {r4, lr} - ldr r4, ._71 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._67 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - bl Menu_MoveCursor - ldr r1, ._71 + 4 @ gDebug_0300071E - strb r0, [r1] -._67: - ldrh r1, [r4, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._68 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - bl Menu_MoveCursor - ldr r1, ._71 + 4 @ gDebug_0300071E - strb r0, [r1] -._68: - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._69 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r1, ._71 + 8 @ gUnknown_Debug_083C0E15 - ldr r0, ._71 + 4 @ gDebug_0300071E - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r1, r1, #0x4 - add r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._74 -._72: - .align 2, 0 -._71: - .word gMain - .word gDebug_0300071E - .word gUnknown_Debug_083C0E15 -._69: - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._73 @cond_branch - mov r0, #0x0 - b ._74 -._73: - bl CloseMenu - mov r0, #0x1 -._74: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808BDA4 - - thumb_func_start debug_sub_808BE2C -debug_sub_808BE2C: - push {r4, lr} - ldr r4, ._79 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._75 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - bl Menu_MoveCursor - ldr r1, ._79 + 4 @ gDebug_0300071F - strb r0, [r1] -._75: - ldrh r1, [r4, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._76 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - bl Menu_MoveCursor - ldr r1, ._79 + 4 @ gDebug_0300071F - strb r0, [r1] -._76: - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._77 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r1, ._79 + 8 @ gUnknown_Debug_083C0E32 - ldr r0, ._79 + 4 @ gDebug_0300071F - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r1, r1, #0x4 - add r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._82 -._80: - .align 2, 0 -._79: - .word gMain - .word gDebug_0300071F - .word gUnknown_Debug_083C0E32 -._77: - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._81 @cond_branch - mov r0, #0x0 - b ._82 -._81: - bl CloseMenu - mov r0, #0x1 -._82: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808BE2C - - thumb_func_start debug_sub_808BEB4 -debug_sub_808BEB4: - push {r4, lr} - ldr r4, ._87 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._83 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - bl Menu_MoveCursor - ldr r1, ._87 + 4 @ gDebug_03000720 - strb r0, [r1] -._83: - ldrh r1, [r4, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._84 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - bl Menu_MoveCursor - ldr r1, ._87 + 4 @ gDebug_03000720 - strb r0, [r1] -._84: - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._85 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r1, ._87 + 8 @ gUnknown_Debug_083C0E7F - ldr r0, ._87 + 4 @ gDebug_03000720 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r1, r1, #0x4 - add r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._90 -._88: - .align 2, 0 -._87: - .word gMain - .word gDebug_03000720 - .word gUnknown_Debug_083C0E7F -._85: - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._89 @cond_branch - mov r0, #0x0 - b ._90 -._89: - bl CloseMenu - mov r0, #0x1 -._90: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808BEB4 - - thumb_func_start debug_sub_808BF3C -debug_sub_808BF3C: - push {r4, lr} - ldr r4, ._95 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._91 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - bl Menu_MoveCursor - ldr r1, ._95 + 4 @ gDebug_03000721 - strb r0, [r1] -._91: - ldrh r1, [r4, #0x2e] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._92 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - bl Menu_MoveCursor - ldr r1, ._95 + 4 @ gDebug_03000721 - strb r0, [r1] -._92: - ldrh r1, [r4, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._93 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r1, ._95 + 8 @ gUnknown_Debug_083C0EF1 - ldr r0, ._95 + 4 @ gDebug_03000721 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r1, r1, #0x4 - add r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._98 -._96: - .align 2, 0 -._95: - .word gMain - .word gDebug_03000721 - .word gUnknown_Debug_083C0EF1 -._93: - mov r0, #0xa - and r0, r0, r1 - cmp r0, #0 - bne ._97 @cond_branch - mov r0, #0x0 - b ._98 -._97: - bl CloseMenu - mov r0, #0x1 -._98: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808BF3C - - thumb_func_start debug_sub_808BFC4 -debug_sub_808BFC4: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._99 @ gUnknown_Debug_083C0F79 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._99 + 4 @ gMenuCallback - ldr r0, ._99 + 8 @ debug_sub_808C064 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._100: - .align 2, 0 -._99: - .word gUnknown_Debug_083C0F79 - .word gMenuCallback - .word debug_sub_808C064+1 - - thumb_func_end debug_sub_808BFC4 - - thumb_func_start debug_sub_808C014 -debug_sub_808C014: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._101 @ gUnknown_Debug_083C0FFC - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r1, ._101 + 4 @ gMenuCallback - ldr r0, ._101 + 8 @ debug_sub_808C0A8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._102: - .align 2, 0 -._101: - .word gUnknown_Debug_083C0FFC - .word gMenuCallback - .word debug_sub_808C0A8+1 - - thumb_func_end debug_sub_808C014 - - thumb_func_start debug_sub_808C064 -debug_sub_808C064: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._103 @cond_branch - mov r0, #0x0 - b ._106 -._103: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._105 @cond_branch - ldr r2, ._107 @ gMenuCallback - ldr r0, ._107 + 4 @ gUnknown_Debug_083C0F79 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._106 -._108: - .align 2, 0 -._107: - .word gMenuCallback - .word gUnknown_Debug_083C0F79 -._105: - bl CloseMenu - mov r0, #0x1 -._106: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C064 - - thumb_func_start debug_sub_808C0A8 -debug_sub_808C0A8: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._109 @cond_branch - mov r0, #0x0 - b ._112 -._109: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._111 @cond_branch - ldr r2, ._113 @ gMenuCallback - ldr r0, ._113 + 4 @ gUnknown_Debug_083C0FFC - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._112 -._114: - .align 2, 0 -._113: - .word gMenuCallback - .word gUnknown_Debug_083C0FFC -._111: - bl CloseMenu - mov r0, #0x1 -._112: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C0A8 - - thumb_func_start debug_sub_808C0EC -debug_sub_808C0EC: - push {lr} - ldr r0, ._115 @ DebugScript_081C1CFE - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._116: - .align 2, 0 -._115: - .word DebugScript_081C1CFE - - thumb_func_end debug_sub_808C0EC - - thumb_func_start debug_sub_808C104 -debug_sub_808C104: - push {lr} - ldr r0, ._117 @ DebugScript_081C1D07 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._118: - .align 2, 0 -._117: - .word DebugScript_081C1D07 - - thumb_func_end debug_sub_808C104 - - thumb_func_start debug_sub_808C11C -debug_sub_808C11C: - push {lr} - ldr r0, ._119 @ DebugScript_081C1D1E - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._120: - .align 2, 0 -._119: - .word DebugScript_081C1D1E - - thumb_func_end debug_sub_808C11C - - thumb_func_start debug_sub_808C134 -debug_sub_808C134: - push {lr} - ldr r0, ._121 @ DebugScript_081C1D24 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._122: - .align 2, 0 -._121: - .word DebugScript_081C1D24 - - thumb_func_end debug_sub_808C134 - - thumb_func_start debug_sub_808C14C -debug_sub_808C14C: - push {lr} - ldr r0, ._123 @ DebugScript_081C1D2A - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._124: - .align 2, 0 -._123: - .word DebugScript_081C1D2A - - thumb_func_end debug_sub_808C14C - - thumb_func_start debug_sub_808C164 -debug_sub_808C164: - push {lr} - ldr r0, ._125 @ DebugScript_081C1D35 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._126: - .align 2, 0 -._125: - .word DebugScript_081C1D35 - - thumb_func_end debug_sub_808C164 - - thumb_func_start debug_sub_808C17C -debug_sub_808C17C: - push {lr} - ldr r0, ._127 @ DebugScript_081C1D46 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._128: - .align 2, 0 -._127: - .word DebugScript_081C1D46 - - thumb_func_end debug_sub_808C17C - - thumb_func_start debug_sub_808C194 -debug_sub_808C194: - push {lr} - ldr r0, ._129 @ DebugScript_081C221F - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._130: - .align 2, 0 -._129: - .word DebugScript_081C221F - - thumb_func_end debug_sub_808C194 - - thumb_func_start debug_sub_808C1AC -debug_sub_808C1AC: - push {lr} - ldr r0, ._131 @ DebugScript_081C23E2 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._132: - .align 2, 0 -._131: - .word DebugScript_081C23E2 - - thumb_func_end debug_sub_808C1AC - - thumb_func_start debug_sub_808C1C4 -debug_sub_808C1C4: - push {lr} - ldr r0, ._133 @ DebugScript_081C23E6 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._134: - .align 2, 0 -._133: - .word DebugScript_081C23E6 - - thumb_func_end debug_sub_808C1C4 - - thumb_func_start debug_sub_808C1DC -debug_sub_808C1DC: - push {lr} - ldr r0, ._135 @ DebugScript_081C23F6 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._136: - .align 2, 0 -._135: - .word DebugScript_081C23F6 - - thumb_func_end debug_sub_808C1DC - - thumb_func_start debug_sub_808C1F4 -debug_sub_808C1F4: - push {lr} - ldr r0, ._137 @ DebugScript_081C2482 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._138: - .align 2, 0 -._137: - .word DebugScript_081C2482 - - thumb_func_end debug_sub_808C1F4 - - thumb_func_start debug_sub_808C20C -debug_sub_808C20C: - push {lr} - ldr r0, ._139 @ DebugScript_081C23FD - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._140: - .align 2, 0 -._139: - .word DebugScript_081C23FD - - thumb_func_end debug_sub_808C20C - - thumb_func_start debug_sub_808C224 -debug_sub_808C224: - push {lr} - ldr r0, ._141 @ DebugScript_081C2518 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._142: - .align 2, 0 -._141: - .word DebugScript_081C2518 - - thumb_func_end debug_sub_808C224 - - thumb_func_start debug_sub_808C23C -debug_sub_808C23C: - push {lr} - ldr r0, ._143 @ DebugScript_081C2507 - bl ScriptContext1_SetupScript - bl CloseMenu - mov r0, #0x1 - pop {r1} - bx r1 -._144: - .align 2, 0 -._143: - .word DebugScript_081C2507 - - thumb_func_end debug_sub_808C23C - - thumb_func_start TomomichiDebugMenu_ContestGraphics_Show -TomomichiDebugMenu_ContestGraphics_Show: - push {lr} - add sp, sp, #0xfffffffc - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r1, ._145 @ gMenuCallback - ldr r0, ._145 + 4 @ debug_sub_808C280 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x4 - pop {r1} - bx r1 -._146: - .align 2, 0 -._145: - .word gMenuCallback - .word debug_sub_808C280+1 - - thumb_func_end TomomichiDebugMenu_ContestGraphics_Show - - thumb_func_start debug_sub_808C280 -debug_sub_808C280: - push {lr} - bl UpdatePaletteFade - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._147 @cond_branch - mov r0, #0x0 - b ._148 -._147: - bl CloseMenu - mov r0, #0x0 - bl debug_sub_808F168 - ldr r0, ._149 @ CB2_ContestPainting - bl SetMainCallback2 - ldr r1, ._149 + 4 @ gMain - ldr r0, ._149 + 8 @ debug_sub_808B868 - str r0, [r1, #0x8] - mov r0, #0x1 -._148: - pop {r1} - bx r1 -._150: - .align 2, 0 -._149: - .word CB2_ContestPainting+1 - .word gMain - .word debug_sub_808B868+1 - - thumb_func_end debug_sub_808C280 - - thumb_func_start TomomichiDebugMenu_MuseumGraphics_Show -TomomichiDebugMenu_MuseumGraphics_Show: - push {lr} - add sp, sp, #0xfffffffc - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r1, ._151 @ gMenuCallback - ldr r0, ._151 + 4 @ debug_sub_808C2E4 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x4 - pop {r1} - bx r1 -._152: - .align 2, 0 -._151: - .word gMenuCallback - .word debug_sub_808C2E4+1 - - thumb_func_end TomomichiDebugMenu_MuseumGraphics_Show - - thumb_func_start debug_sub_808C2E4 -debug_sub_808C2E4: - push {lr} - bl UpdatePaletteFade - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._153 @cond_branch - mov r0, #0x0 - b ._154 -._153: - bl CloseMenu - mov r0, #0x1 - bl debug_sub_808F168 - ldr r0, ._155 @ CB2_ContestPainting - bl SetMainCallback2 - ldr r1, ._155 + 4 @ gMain - ldr r0, ._155 + 8 @ debug_sub_808B868 - str r0, [r1, #0x8] - mov r0, #0x1 -._154: - pop {r1} - bx r1 -._156: - .align 2, 0 -._155: - .word CB2_ContestPainting+1 - .word gMain - .word debug_sub_808B868+1 - - thumb_func_end debug_sub_808C2E4 - - thumb_func_start debug_sub_808C31C -debug_sub_808C31C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._157 @ gUnknown_Debug_083C2828 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._157 + 4 @ gMenuCallback - ldr r0, ._157 + 8 @ debug_sub_808C36C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._158: - .align 2, 0 -._157: - .word gUnknown_Debug_083C2828 - .word gMenuCallback - .word debug_sub_808C36C+1 - - thumb_func_end debug_sub_808C31C - - thumb_func_start debug_sub_808C36C -debug_sub_808C36C: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._159 @cond_branch - mov r0, #0x0 - b ._162 -._159: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._161 @cond_branch - ldr r2, ._163 @ gMenuCallback - ldr r0, ._163 + 4 @ gUnknown_Debug_083C2828 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._162 -._164: - .align 2, 0 -._163: - .word gMenuCallback - .word gUnknown_Debug_083C2828 -._161: - bl CloseMenu - mov r0, #0x1 -._162: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C36C - - thumb_func_start debug_sub_808C3B0 -debug_sub_808C3B0: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._165 @ gUnknown_Debug_083C2938 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r0, ._165 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._165 + 8 @ gMenuCallback - ldr r0, ._165 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._166: - .align 2, 0 -._165: - .word gUnknown_Debug_083C2938 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C3B0 - - thumb_func_start debug_sub_808C408 -debug_sub_808C408: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._167 @ gUnknown_Debug_083C2A48 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._167 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._167 + 8 @ gMenuCallback - ldr r0, ._167 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._168: - .align 2, 0 -._167: - .word gUnknown_Debug_083C2A48 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C408 - - thumb_func_start debug_sub_808C460 -debug_sub_808C460: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._169 @ gUnknown_Debug_083C2B4C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._169 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._169 + 8 @ gMenuCallback - ldr r0, ._169 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._170: - .align 2, 0 -._169: - .word gUnknown_Debug_083C2B4C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C460 - - thumb_func_start debug_sub_808C4B8 -debug_sub_808C4B8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._171 @ gUnknown_Debug_083C2C80 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._171 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._171 + 8 @ gMenuCallback - ldr r0, ._171 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._172: - .align 2, 0 -._171: - .word gUnknown_Debug_083C2C80 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C4B8 - - thumb_func_start debug_sub_808C510 -debug_sub_808C510: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._173 @ gUnknown_Debug_083C2D8C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._173 + 4 @ gDebug_0300070F - mov r0, #0x4 - strb r0, [r1] - ldr r1, ._173 + 8 @ gMenuCallback - ldr r0, ._173 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._174: - .align 2, 0 -._173: - .word gUnknown_Debug_083C2D8C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C510 - - thumb_func_start debug_sub_808C568 -debug_sub_808C568: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._175 @ gUnknown_Debug_083C2EB0 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._175 + 4 @ gDebug_0300070F - mov r0, #0x5 - strb r0, [r1] - ldr r1, ._175 + 8 @ gMenuCallback - ldr r0, ._175 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._176: - .align 2, 0 -._175: - .word gUnknown_Debug_083C2EB0 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C568 - - thumb_func_start debug_sub_808C5C0 -debug_sub_808C5C0: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._177 @ gUnknown_Debug_083C2FE0 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._177 + 4 @ gDebug_0300070F - mov r0, #0x6 - strb r0, [r1] - ldr r1, ._177 + 8 @ gMenuCallback - ldr r0, ._177 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._178: - .align 2, 0 -._177: - .word gUnknown_Debug_083C2FE0 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C5C0 - - thumb_func_start debug_sub_808C618 -debug_sub_808C618: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._179 @ gUnknown_Debug_083C3100 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._179 + 4 @ gDebug_0300070F - mov r0, #0x7 - strb r0, [r1] - ldr r1, ._179 + 8 @ gMenuCallback - ldr r0, ._179 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._180: - .align 2, 0 -._179: - .word gUnknown_Debug_083C3100 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C618 - - thumb_func_start debug_sub_808C670 -debug_sub_808C670: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - ldr r3, ._181 @ gUnknown_Debug_083C3194 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x3 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x3 - bl InitMenu - ldr r1, ._181 + 4 @ gDebug_0300070F - mov r0, #0x8 - strb r0, [r1] - ldr r1, ._181 + 8 @ gMenuCallback - ldr r0, ._181 + 12 @ debug_sub_808C6C8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._182: - .align 2, 0 -._181: - .word gUnknown_Debug_083C3194 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808C6C8+1 - - thumb_func_end debug_sub_808C670 - - thumb_func_start debug_sub_808C6C8 -debug_sub_808C6C8: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._186 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808C714 - ldrb r0, [r5] - bl debug_sub_808C764 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._183 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._184 @cond_branch -._183: - mov r0, #0x0 - b ._185 -._187: - .align 2, 0 -._186: - .word gDebug_0300070F -._184: - bl CloseMenu - mov r0, #0x1 -._185: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C6C8 - - thumb_func_start debug_sub_808C714 -debug_sub_808C714: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._191 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._190 @cond_branch - ldr r0, ._191 + 4 @ gUnknown_Debug_83C31E6 - lsl r1, r2, #0x3 - add r1, r1, r2 - add r1, r1, r3 - lsl r1, r1, #0x1 - add r1, r1, r0 - ldrh r4, [r1] - add r0, r4, #0 - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._189 @cond_branch - add r0, r4, #0 - bl FlagSet - b ._190 -._192: - .align 2, 0 -._191: - .word gMain - .word gUnknown_Debug_83C31E6 -._189: - add r0, r4, #0 - bl FlagClear -._190: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808C714 - - thumb_func_start debug_sub_808C764 -debug_sub_808C764: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._195 @ gUnknown_Debug_083C31DC - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._193 @cond_branch - ldr r0, ._195 + 4 @ gUnknown_Debug_83C31E6 - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._194: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl FlagGet - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - neg r2, r0 - orr r2, r2, r0 - lsr r2, r2, #0x1f - mov r0, #0x1c - add r1, r4, #0 - bl debug_sub_808F2E0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._194 @cond_branch -._193: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._196: - .align 2, 0 -._195: - .word gUnknown_Debug_083C31DC - .word gUnknown_Debug_83C31E6 - - thumb_func_end debug_sub_808C764 - - thumb_func_start debug_sub_808C7C8 -debug_sub_808C7C8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._197 @ gUnknown_Debug_083C1CE8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._197 + 4 @ gMenuCallback - ldr r0, ._197 + 8 @ debug_sub_808C818 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._198: - .align 2, 0 -._197: - .word gUnknown_Debug_083C1CE8 - .word gMenuCallback - .word debug_sub_808C818+1 - - thumb_func_end debug_sub_808C7C8 - - thumb_func_start debug_sub_808C818 -debug_sub_808C818: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._199 @cond_branch - mov r0, #0x0 - b ._202 -._199: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._201 @cond_branch - ldr r2, ._203 @ gMenuCallback - ldr r0, ._203 + 4 @ gUnknown_Debug_083C1CE8 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._202 -._204: - .align 2, 0 -._203: - .word gMenuCallback - .word gUnknown_Debug_083C1CE8 -._201: - bl CloseMenu - mov r0, #0x1 -._202: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808C818 - - thumb_func_start debug_sub_808C85C -debug_sub_808C85C: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._205 @ gUnknown_Debug_083C1E0C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r0, ._205 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._205 + 8 @ gMenuCallback - ldr r0, ._205 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._206: - .align 2, 0 -._205: - .word gUnknown_Debug_083C1E0C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808C85C - - thumb_func_start debug_sub_808C8B4 -debug_sub_808C8B4: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._207 @ gUnknown_Debug_083C1F38 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._207 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._207 + 8 @ gMenuCallback - ldr r0, ._207 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._208: - .align 2, 0 -._207: - .word gUnknown_Debug_083C1F38 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808C8B4 - - thumb_func_start debug_sub_808C90C -debug_sub_808C90C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._209 @ gUnknown_Debug_083C206C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._209 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._209 + 8 @ gMenuCallback - ldr r0, ._209 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._210: - .align 2, 0 -._209: - .word gUnknown_Debug_083C206C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808C90C - - thumb_func_start debug_sub_808C964 -debug_sub_808C964: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._211 @ gUnknown_Debug_083C2190 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._211 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._211 + 8 @ gMenuCallback - ldr r0, ._211 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._212: - .align 2, 0 -._211: - .word gUnknown_Debug_083C2190 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808C964 - - thumb_func_start debug_sub_808C9BC -debug_sub_808C9BC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._213 @ gUnknown_Debug_083C2264 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r1, ._213 + 4 @ gDebug_0300070F - mov r0, #0x4 - strb r0, [r1] - ldr r1, ._213 + 8 @ gMenuCallback - ldr r0, ._213 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._214: - .align 2, 0 -._213: - .word gUnknown_Debug_083C2264 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808C9BC - - thumb_func_start debug_sub_808CA14 -debug_sub_808CA14: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._215 @ gUnknown_Debug_083C2370 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._215 + 4 @ gDebug_0300070F - mov r0, #0x5 - strb r0, [r1] - ldr r1, ._215 + 8 @ gMenuCallback - ldr r0, ._215 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._216: - .align 2, 0 -._215: - .word gUnknown_Debug_083C2370 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808CA14 - - thumb_func_start debug_sub_808CA6C -debug_sub_808CA6C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._217 @ gUnknown_Debug_083C248C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._217 + 4 @ gDebug_0300070F - mov r0, #0x6 - strb r0, [r1] - ldr r1, ._217 + 8 @ gMenuCallback - ldr r0, ._217 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._218: - .align 2, 0 -._217: - .word gUnknown_Debug_083C248C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808CA6C - - thumb_func_start debug_sub_808CAC4 -debug_sub_808CAC4: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._219 @ gUnknown_Debug_083C259C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._219 + 4 @ gDebug_0300070F - mov r0, #0x7 - strb r0, [r1] - ldr r1, ._219 + 8 @ gMenuCallback - ldr r0, ._219 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._220: - .align 2, 0 -._219: - .word gUnknown_Debug_083C259C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808CAC4 - - thumb_func_start debug_sub_808CB1C -debug_sub_808CB1C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._221 @ gUnknown_Debug_083C26C8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._221 + 4 @ gDebug_0300070F - mov r0, #0x8 - strb r0, [r1] - ldr r1, ._221 + 8 @ gMenuCallback - ldr r0, ._221 + 12 @ debug_sub_808CB74 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._222: - .align 2, 0 -._221: - .word gUnknown_Debug_083C26C8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CB74+1 - - thumb_func_end debug_sub_808CB1C - - thumb_func_start debug_sub_808CB74 -debug_sub_808CB74: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._226 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808CBC0 - ldrb r0, [r5] - bl debug_sub_808CC10 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._223 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._224 @cond_branch -._223: - mov r0, #0x0 - b ._225 -._227: - .align 2, 0 -._226: - .word gDebug_0300070F -._224: - bl CloseMenu - mov r0, #0x1 -._225: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808CB74 - - thumb_func_start debug_sub_808CBC0 -debug_sub_808CBC0: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._231 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._230 @cond_branch - ldr r0, ._231 + 4 @ gUnknown_Debug_083C271A - lsl r1, r2, #0x3 - add r1, r1, r2 - add r1, r1, r3 - lsl r1, r1, #0x1 - add r1, r1, r0 - ldrh r4, [r1] - add r0, r4, #0 - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._229 @cond_branch - add r0, r4, #0 - bl FlagSet - b ._230 -._232: - .align 2, 0 -._231: - .word gMain - .word gUnknown_Debug_083C271A -._229: - add r0, r4, #0 - bl FlagClear -._230: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808CBC0 - - thumb_func_start debug_sub_808CC10 -debug_sub_808CC10: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._235 @ gUnknown_Debug_083C2710 - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._233 @cond_branch - ldr r0, ._235 + 4 @ gUnknown_Debug_083C271A - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._234: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl FlagGet - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - neg r2, r0 - orr r2, r2, r0 - lsr r2, r2, #0x1f - mov r0, #0x1c - add r1, r4, #0 - bl debug_sub_808F2E0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._234 @cond_branch -._233: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._236: - .align 2, 0 -._235: - .word gUnknown_Debug_083C2710 - .word gUnknown_Debug_083C271A - - thumb_func_end debug_sub_808CC10 - - thumb_func_start debug_sub_808CC74 -debug_sub_808CC74: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - ldr r3, ._237 @ gUnknown_Debug_083C1ADC - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x3 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x3 - bl InitMenu - ldr r1, ._237 + 4 @ gMenuCallback - ldr r0, ._237 + 8 @ debug_sub_808CCC4 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._238: - .align 2, 0 -._237: - .word gUnknown_Debug_083C1ADC - .word gMenuCallback - .word debug_sub_808CCC4+1 - - thumb_func_end debug_sub_808CC74 - - thumb_func_start debug_sub_808CCC4 -debug_sub_808CCC4: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._239 @cond_branch - mov r0, #0x0 - b ._242 -._239: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._241 @cond_branch - ldr r2, ._243 @ gMenuCallback - ldr r0, ._243 + 4 @ gUnknown_Debug_083C1ADC - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._242 -._244: - .align 2, 0 -._243: - .word gMenuCallback - .word gUnknown_Debug_083C1ADC -._241: - bl CloseMenu - mov r0, #0x1 -._242: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808CCC4 - - thumb_func_start debug_sub_808CD08 -debug_sub_808CD08: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x11 - bl Menu_DrawStdWindowFrame - ldr r3, ._245 @ gUnknown_Debug_083C1B7C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x8 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x8 - bl InitMenu - ldr r0, ._245 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._245 + 8 @ gMenuCallback - ldr r0, ._245 + 12 @ debug_sub_808CE10 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._246: - .align 2, 0 -._245: - .word gUnknown_Debug_083C1B7C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CE10+1 - - thumb_func_end debug_sub_808CD08 - - thumb_func_start debug_sub_808CD60 -debug_sub_808CD60: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - ldr r3, ._247 @ gUnknown_Debug_083C1BF0 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x4 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x4 - bl InitMenu - ldr r1, ._247 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._247 + 8 @ gMenuCallback - ldr r0, ._247 + 12 @ debug_sub_808CE10 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._248: - .align 2, 0 -._247: - .word gUnknown_Debug_083C1BF0 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CE10+1 - - thumb_func_end debug_sub_808CD60 - - thumb_func_start debug_sub_808CDB8 -debug_sub_808CDB8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x3 - bl Menu_DrawStdWindowFrame - ldr r3, ._249 @ gUnknown_Debug_083C1C2C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x1 - bl InitMenu - ldr r1, ._249 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._249 + 8 @ gMenuCallback - ldr r0, ._249 + 12 @ debug_sub_808CE10 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._250: - .align 2, 0 -._249: - .word gUnknown_Debug_083C1C2C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808CE10+1 - - thumb_func_end debug_sub_808CDB8 - - thumb_func_start debug_sub_808CE10 -debug_sub_808CE10: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._254 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808CE5C - ldrb r0, [r5] - bl debug_sub_808CEAC - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._251 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._252 @cond_branch -._251: - mov r0, #0x0 - b ._253 -._255: - .align 2, 0 -._254: - .word gDebug_0300070F -._252: - bl CloseMenu - mov r0, #0x1 -._253: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808CE10 - - thumb_func_start debug_sub_808CE5C -debug_sub_808CE5C: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._259 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._258 @cond_branch - ldr r0, ._259 + 4 @ gUnknown_Debug_083C1C38 - lsl r1, r2, #0x3 - add r1, r1, r2 - add r1, r1, r3 - lsl r1, r1, #0x1 - add r1, r1, r0 - ldrh r4, [r1] - add r0, r4, #0 - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._257 @cond_branch - add r0, r4, #0 - bl FlagSet - b ._258 -._260: - .align 2, 0 -._259: - .word gMain - .word gUnknown_Debug_083C1C38 -._257: - add r0, r4, #0 - bl FlagClear -._258: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808CE5C - - thumb_func_start debug_sub_808CEAC -debug_sub_808CEAC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._263 @ gUnknown_Debug_083C1C34 - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._261 @cond_branch - ldr r0, ._263 + 4 @ gUnknown_Debug_083C1C38 - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._262: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl FlagGet - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - neg r2, r0 - orr r2, r2, r0 - lsr r2, r2, #0x1f - mov r0, #0x1c - add r1, r4, #0 - bl debug_sub_808F2E0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._262 @cond_branch -._261: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._264: - .align 2, 0 -._263: - .word gUnknown_Debug_083C1C34 - .word gUnknown_Debug_083C1C38 - - thumb_func_end debug_sub_808CEAC - - thumb_func_start debug_sub_808CF10 -debug_sub_808CF10: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._265 @ gUnknown_Debug_083C1330 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._265 + 4 @ gMenuCallback - ldr r0, ._265 + 8 @ debug_sub_808CF60 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._266: - .align 2, 0 -._265: - .word gUnknown_Debug_083C1330 - .word gMenuCallback - .word debug_sub_808CF60+1 - - thumb_func_end debug_sub_808CF10 - - thumb_func_start debug_sub_808CF60 -debug_sub_808CF60: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._267 @cond_branch - mov r0, #0x0 - b ._270 -._267: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._269 @cond_branch - ldr r2, ._271 @ gMenuCallback - ldr r0, ._271 + 4 @ gUnknown_Debug_083C1330 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._270 -._272: - .align 2, 0 -._271: - .word gMenuCallback - .word gUnknown_Debug_083C1330 -._269: - bl CloseMenu - mov r0, #0x1 -._270: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808CF60 - - thumb_func_start debug_sub_808CFA4 -debug_sub_808CFA4: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x11 - bl Menu_DrawStdWindowFrame - ldr r3, ._273 @ gUnknown_Debug_083C13D8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x8 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x8 - bl InitMenu - ldr r0, ._273 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._273 + 8 @ gMenuCallback - ldr r0, ._273 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._274: - .align 2, 0 -._273: - .word gUnknown_Debug_083C13D8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808CFA4 - - thumb_func_start debug_sub_808CFFC -debug_sub_808CFFC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._275 @ gUnknown_Debug_083C1465 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._275 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._275 + 8 @ gMenuCallback - ldr r0, ._275 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._276: - .align 2, 0 -._275: - .word gUnknown_Debug_083C1465 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808CFFC - - thumb_func_start debug_sub_808D054 -debug_sub_808D054: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._277 @ gUnknown_Debug_083C1503 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._277 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._277 + 8 @ gMenuCallback - ldr r0, ._277 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._278: - .align 2, 0 -._277: - .word gUnknown_Debug_083C1503 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D054 - - thumb_func_start debug_sub_808D0AC -debug_sub_808D0AC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - ldr r3, ._279 @ gUnknown_Debug_083C158A - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x4 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x4 - bl InitMenu - ldr r1, ._279 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._279 + 8 @ gMenuCallback - ldr r0, ._279 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._280: - .align 2, 0 -._279: - .word gUnknown_Debug_083C158A - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D0AC - - thumb_func_start debug_sub_808D104 -debug_sub_808D104: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._281 @ gUnknown_Debug_083C1647 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._281 + 4 @ gDebug_0300070F - mov r0, #0x4 - strb r0, [r1] - ldr r1, ._281 + 8 @ gMenuCallback - ldr r0, ._281 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._282: - .align 2, 0 -._281: - .word gUnknown_Debug_083C1647 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D104 - - thumb_func_start debug_sub_808D15C -debug_sub_808D15C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._283 @ gUnknown_Debug_083C1712 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._283 + 4 @ gDebug_0300070F - mov r0, #0x5 - strb r0, [r1] - ldr r1, ._283 + 8 @ gMenuCallback - ldr r0, ._283 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._284: - .align 2, 0 -._283: - .word gUnknown_Debug_083C1712 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D15C - - thumb_func_start debug_sub_808D1B4 -debug_sub_808D1B4: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._285 @ gUnknown_Debug_083C17F8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._285 + 4 @ gDebug_0300070F - mov r0, #0x6 - strb r0, [r1] - ldr r1, ._285 + 8 @ gMenuCallback - ldr r0, ._285 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._286: - .align 2, 0 -._285: - .word gUnknown_Debug_083C17F8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D1B4 - - thumb_func_start debug_sub_808D20C -debug_sub_808D20C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._287 @ gUnknown_Debug_083C18B8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._287 + 4 @ gDebug_0300070F - mov r0, #0x7 - strb r0, [r1] - ldr r1, ._287 + 8 @ gMenuCallback - ldr r0, ._287 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._288: - .align 2, 0 -._287: - .word gUnknown_Debug_083C18B8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D20C - - thumb_func_start debug_sub_808D264 -debug_sub_808D264: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r3, ._289 @ gDebug_0x83C1974 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x5 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x5 - bl InitMenu - ldr r1, ._289 + 4 @ gDebug_0300070F - mov r0, #0x8 - strb r0, [r1] - ldr r1, ._289 + 8 @ gMenuCallback - ldr r0, ._289 + 12 @ debug_sub_808D2BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._290: - .align 2, 0 -._289: - .word gDebug_0x83C1974 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D2BC+1 - - thumb_func_end debug_sub_808D264 - - thumb_func_start debug_sub_808D2BC -debug_sub_808D2BC: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._294 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808D308 - ldrb r0, [r5] - bl debug_sub_808D358 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._291 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._292 @cond_branch -._291: - mov r0, #0x0 - b ._293 -._295: - .align 2, 0 -._294: - .word gDebug_0300070F -._292: - bl CloseMenu - mov r0, #0x1 -._293: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808D2BC - - thumb_func_start debug_sub_808D308 -debug_sub_808D308: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._299 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._298 @cond_branch - ldr r0, ._299 + 4 @ gUnknown_Debug_083C19C6 - lsl r1, r2, #0x3 - add r1, r1, r2 - add r1, r1, r3 - lsl r1, r1, #0x1 - add r1, r1, r0 - ldrh r4, [r1] - add r0, r4, #0 - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._297 @cond_branch - add r0, r4, #0 - bl FlagSet - b ._298 -._300: - .align 2, 0 -._299: - .word gMain - .word gUnknown_Debug_083C19C6 -._297: - add r0, r4, #0 - bl FlagClear -._298: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808D308 - - thumb_func_start debug_sub_808D358 -debug_sub_808D358: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._303 @ gUnknown_Debug_083C19BC - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._301 @cond_branch - ldr r0, ._303 + 4 @ gUnknown_Debug_083C19C6 - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._302: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl FlagGet - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - neg r2, r0 - orr r2, r2, r0 - lsr r2, r2, #0x1f - mov r0, #0x1c - add r1, r4, #0 - bl debug_sub_808F2E0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._302 @cond_branch -._301: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._304: - .align 2, 0 -._303: - .word gUnknown_Debug_083C19BC - .word gUnknown_Debug_083C19C6 - - thumb_func_end debug_sub_808D358 - - thumb_func_start debug_sub_808D3BC -debug_sub_808D3BC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._305 @ gUnknown_Debug_083C105C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r1, ._305 + 4 @ gMenuCallback - ldr r0, ._305 + 8 @ debug_sub_808D40C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._306: - .align 2, 0 -._305: - .word gUnknown_Debug_083C105C - .word gMenuCallback - .word debug_sub_808D40C+1 - - thumb_func_end debug_sub_808D3BC - - thumb_func_start debug_sub_808D40C -debug_sub_808D40C: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._307 @cond_branch - mov r0, #0x0 - b ._310 -._307: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._309 @cond_branch - ldr r2, ._311 @ gMenuCallback - ldr r0, ._311 + 4 @ gUnknown_Debug_083C105C - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._310 -._312: - .align 2, 0 -._311: - .word gMenuCallback - .word gUnknown_Debug_083C105C -._309: - bl CloseMenu - mov r0, #0x1 -._310: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808D40C - - thumb_func_start debug_sub_808D450 -debug_sub_808D450: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._313 @ gUnknown_Debug_083C10BD - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r0, ._313 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._313 + 8 @ gMenuCallback - ldr r0, ._313 + 12 @ debug_sub_808D500 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._314: - .align 2, 0 -._313: - .word gUnknown_Debug_083C10BD - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D500+1 - - thumb_func_end debug_sub_808D450 - - thumb_func_start debug_sub_808D4A8 -debug_sub_808D4A8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._315 @ gUnknown_Debug_083C1149 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._315 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._315 + 8 @ gMenuCallback - ldr r0, ._315 + 12 @ debug_sub_808D500 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._316: - .align 2, 0 -._315: - .word gUnknown_Debug_083C1149 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D500+1 - - thumb_func_end debug_sub_808D4A8 - - thumb_func_start debug_sub_808D500 -debug_sub_808D500: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._320 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808D54C - ldrb r0, [r5] - bl debug_sub_808D59C - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._317 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._318 @cond_branch -._317: - mov r0, #0x0 - b ._319 -._321: - .align 2, 0 -._320: - .word gDebug_0300070F -._318: - bl CloseMenu - mov r0, #0x1 -._319: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808D500 - - thumb_func_start debug_sub_808D54C -debug_sub_808D54C: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._325 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._324 @cond_branch - ldr r0, ._325 + 4 @ gUnknown_Debug_083C1196 - lsl r1, r2, #0x3 - add r1, r1, r2 - add r1, r1, r3 - lsl r1, r1, #0x1 - add r1, r1, r0 - ldrh r4, [r1] - add r0, r4, #0 - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._323 @cond_branch - add r0, r4, #0 - bl FlagSet - b ._324 -._326: - .align 2, 0 -._325: - .word gMain - .word gUnknown_Debug_083C1196 -._323: - add r0, r4, #0 - bl FlagClear -._324: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808D54C - - thumb_func_start debug_sub_808D59C -debug_sub_808D59C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._329 @ gUnknown_Debug_083C1194 - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._327 @cond_branch - ldr r0, ._329 + 4 @ gUnknown_Debug_083C1196 - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._328: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl FlagGet - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - neg r2, r0 - orr r2, r2, r0 - lsr r2, r2, #0x1f - mov r0, #0x1c - add r1, r4, #0 - bl debug_sub_808F2E0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._328 @cond_branch -._327: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._330: - .align 2, 0 -._329: - .word gUnknown_Debug_083C1194 - .word gUnknown_Debug_083C1196 - - thumb_func_end debug_sub_808D59C - - thumb_func_start debug_sub_808D600 -debug_sub_808D600: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._331 @ gUnknown_Debug_083C11CC - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r1, ._331 + 4 @ gMenuCallback - ldr r0, ._331 + 8 @ debug_sub_808D650 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._332: - .align 2, 0 -._331: - .word gUnknown_Debug_083C11CC - .word gMenuCallback - .word debug_sub_808D650+1 - - thumb_func_end debug_sub_808D600 - - thumb_func_start debug_sub_808D650 -debug_sub_808D650: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._333 @cond_branch - mov r0, #0x0 - b ._336 -._333: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._335 @cond_branch - ldr r2, ._337 @ gMenuCallback - ldr r0, ._337 + 4 @ gUnknown_Debug_083C11CC - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._336 -._338: - .align 2, 0 -._337: - .word gMenuCallback - .word gUnknown_Debug_083C11CC -._335: - bl CloseMenu - mov r0, #0x1 -._336: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808D650 - - thumb_func_start debug_sub_808D694 -debug_sub_808D694: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._339 @ gUnknown_Debug_083C1212 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r0, ._339 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._339 + 8 @ gMenuCallback - ldr r0, ._339 + 12 @ debug_sub_808D744 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._340: - .align 2, 0 -._339: - .word gUnknown_Debug_083C1212 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D744+1 - - thumb_func_end debug_sub_808D694 - - thumb_func_start debug_sub_808D6EC -debug_sub_808D6EC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._341 @ gUnknown_Debug_083C1288 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._341 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._341 + 8 @ gMenuCallback - ldr r0, ._341 + 12 @ debug_sub_808D744 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._342: - .align 2, 0 -._341: - .word gUnknown_Debug_083C1288 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D744+1 - - thumb_func_end debug_sub_808D6EC - - thumb_func_start debug_sub_808D744 -debug_sub_808D744: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._346 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808D790 - ldrb r0, [r5] - bl debug_sub_808D7E0 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._343 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._344 @cond_branch -._343: - mov r0, #0x0 - b ._345 -._347: - .align 2, 0 -._346: - .word gDebug_0300070F -._344: - bl CloseMenu - mov r0, #0x1 -._345: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808D744 - - thumb_func_start debug_sub_808D790 -debug_sub_808D790: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._351 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._350 @cond_branch - ldr r0, ._351 + 4 @ gUnknown_Debug_083C12D2 - lsl r1, r2, #0x3 - add r1, r1, r2 - add r1, r1, r3 - lsl r1, r1, #0x1 - add r1, r1, r0 - ldrh r4, [r1] - add r0, r4, #0 - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._349 @cond_branch - add r0, r4, #0 - bl FlagSet - b ._350 -._352: - .align 2, 0 -._351: - .word gMain - .word gUnknown_Debug_083C12D2 -._349: - add r0, r4, #0 - bl FlagClear -._350: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808D790 - - thumb_func_start debug_sub_808D7E0 -debug_sub_808D7E0: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._355 @ gUnknown_Debug_083C12D0 - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._353 @cond_branch - ldr r0, ._355 + 4 @ gUnknown_Debug_083C12D2 - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._354: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl FlagGet - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - neg r2, r0 - orr r2, r2, r0 - lsr r2, r2, #0x1f - mov r0, #0x1c - add r1, r4, #0 - bl debug_sub_808F2E0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._354 @cond_branch -._353: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._356: - .align 2, 0 -._355: - .word gUnknown_Debug_083C12D0 - .word gUnknown_Debug_083C12D2 - - thumb_func_end debug_sub_808D7E0 - - thumb_func_start debug_sub_808D844 -debug_sub_808D844: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - mov r3, #0x3 - bl Menu_DrawStdWindowFrame - ldr r3, ._357 @ gUnknown_Debug_083C1A78 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x1 - bl InitMenu - ldr r1, ._357 + 4 @ gMenuCallback - ldr r0, ._357 + 8 @ debug_sub_808D894 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._358: - .align 2, 0 -._357: - .word gUnknown_Debug_083C1A78 - .word gMenuCallback - .word debug_sub_808D894+1 - - thumb_func_end debug_sub_808D844 - - thumb_func_start debug_sub_808D894 -debug_sub_808D894: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r3, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r3, r0 - bne ._359 @cond_branch - mov r0, #0x0 - b ._362 -._359: - mov r0, #0x1 - neg r0, r0 - cmp r3, r0 - beq ._361 @cond_branch - ldr r2, ._363 @ gMenuCallback - ldr r1, ._363 + 4 @ gUnknown_Debug_083C1A78 - lsl r0, r3, #0x3 - add r0, r0, r1 - ldr r0, [r0, #0x4] - str r0, [r2] - mov r0, #0x0 - b ._362 -._364: - .align 2, 0 -._363: - .word gMenuCallback - .word gUnknown_Debug_083C1A78 -._361: - bl CloseMenu - mov r0, #0x1 -._362: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808D894 - - thumb_func_start debug_sub_808D8D8 -debug_sub_808D8D8: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._365 @ gUnknown_Debug_083C1A9C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r0, ._365 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._365 + 8 @ gMenuCallback - ldr r0, ._365 + 12 @ debug_sub_808D930 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._366: - .align 2, 0 -._365: - .word gUnknown_Debug_083C1A9C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808D930+1 - - thumb_func_end debug_sub_808D8D8 - - thumb_func_start debug_sub_808D930 -debug_sub_808D930: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._370 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808D97C - ldrb r0, [r5] - bl debug_sub_808D9CC - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._367 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._368 @cond_branch -._367: - mov r0, #0x0 - b ._369 -._371: - .align 2, 0 -._370: - .word gDebug_0300070F -._368: - bl CloseMenu - mov r0, #0x1 -._369: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808D930 - - thumb_func_start debug_sub_808D97C -debug_sub_808D97C: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._375 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._374 @cond_branch - ldr r0, ._375 + 4 @ gUnknown_Debug_083C1AAE - lsl r1, r2, #0x3 - add r1, r1, r2 - add r1, r1, r3 - lsl r1, r1, #0x1 - add r1, r1, r0 - ldrh r4, [r1] - add r0, r4, #0 - bl FlagGet - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._373 @cond_branch - add r0, r4, #0 - bl FlagSet - b ._374 -._376: - .align 2, 0 -._375: - .word gMain - .word gUnknown_Debug_083C1AAE -._373: - add r0, r4, #0 - bl FlagClear -._374: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_sub_808D97C - - thumb_func_start debug_sub_808D9CC -debug_sub_808D9CC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._379 @ gUnknown_Debug_083C1AAC - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._377 @cond_branch - ldr r0, ._379 + 4 @ gUnknown_Debug_083C1AAE - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._378: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl FlagGet - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - neg r2, r0 - orr r2, r2, r0 - lsr r2, r2, #0x1f - mov r0, #0x1c - add r1, r4, #0 - bl debug_sub_808F2E0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._378 @cond_branch -._377: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._380: - .align 2, 0 -._379: - .word gUnknown_Debug_083C1AAC - .word gUnknown_Debug_083C1AAE - - thumb_func_end debug_sub_808D9CC - - thumb_func_start debug_sub_808DA30 -debug_sub_808DA30: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x3 - bl Menu_DrawStdWindowFrame - ldr r3, ._381 @ gUnknown_Debug_083C103A - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x1 - bl InitMenu - ldr r1, ._381 + 4 @ gMenuCallback - ldr r0, ._381 + 8 @ debug_sub_808DA80 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._382: - .align 2, 0 -._381: - .word gUnknown_Debug_083C103A - .word gMenuCallback - .word debug_sub_808DA80+1 - - thumb_func_end debug_sub_808DA30 - - thumb_func_start debug_sub_808DA80 -debug_sub_808DA80: - push {r4, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - bl debug_sub_808DAD4 - bl debug_sub_808DABC - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._383 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._384 @cond_branch -._383: - mov r0, #0x0 - b ._385 -._384: - bl CloseMenu - mov r0, #0x1 -._385: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808DA80 - - thumb_func_start debug_sub_808DABC -debug_sub_808DABC: - push {lr} - ldr r0, ._386 @ gSpecialVar_Result - ldrh r2, [r0] - mov r0, #0x18 - mov r1, #0x1 - bl debug_sub_808F31C - pop {r0} - bx r0 -._387: - .align 2, 0 -._386: - .word gSpecialVar_Result - - thumb_func_end debug_sub_808DABC - - thumb_func_start debug_sub_808DAD4 -debug_sub_808DAD4: - push {lr} - ldr r0, ._390 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._388 @cond_branch - mov r2, #0x1 - b ._389 -._391: - .align 2, 0 -._390: - .word gMain -._388: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._392 @cond_branch - ldr r2, ._393 @ 0xffff -._389: - ldr r1, ._393 + 4 @ gSpecialVar_Result - ldrh r0, [r1] - add r0, r2, r0 - strh r0, [r1] -._392: - pop {r0} - bx r0 -._394: - .align 2, 0 -._393: - .word 0xffff - .word gSpecialVar_Result - - thumb_func_end debug_sub_808DAD4 - - thumb_func_start debug_sub_808DB0C -debug_sub_808DB0C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._395 @ gUnknown_Debug_083C3D08 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._395 + 4 @ gMenuCallback - ldr r0, ._395 + 8 @ debug_sub_808DB5C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._396: - .align 2, 0 -._395: - .word gUnknown_Debug_083C3D08 - .word gMenuCallback - .word debug_sub_808DB5C+1 - - thumb_func_end debug_sub_808DB0C - - thumb_func_start debug_sub_808DB5C -debug_sub_808DB5C: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._397 @cond_branch - mov r0, #0x0 - b ._400 -._397: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._399 @cond_branch - ldr r2, ._401 @ gMenuCallback - ldr r0, ._401 + 4 @ gUnknown_Debug_083C3D08 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._400 -._402: - .align 2, 0 -._401: - .word gMenuCallback - .word gUnknown_Debug_083C3D08 -._399: - bl CloseMenu - mov r0, #0x1 -._400: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808DB5C - - thumb_func_start debug_sub_808DBA0 -debug_sub_808DBA0: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x11 - bl Menu_DrawStdWindowFrame - ldr r3, ._403 @ gUnknown_Debug_083C432C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x8 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x8 - bl InitMenu - ldr r0, ._403 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._403 + 8 @ gMenuCallback - ldr r0, ._403 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._404: - .align 2, 0 -._403: - .word gUnknown_Debug_083C432C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DBA0 - - thumb_func_start debug_sub_808DBF8 -debug_sub_808DBF8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._405 @ gUnknown_Debug_083C436C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._405 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._405 + 8 @ gMenuCallback - ldr r0, ._405 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._406: - .align 2, 0 -._405: - .word gUnknown_Debug_083C436C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DBF8 - - thumb_func_start debug_sub_808DC50 -debug_sub_808DC50: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._407 @ gUnknown_Debug_083C43B4 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._407 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._407 + 8 @ gMenuCallback - ldr r0, ._407 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._408: - .align 2, 0 -._407: - .word gUnknown_Debug_083C43B4 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DC50 - - thumb_func_start debug_sub_808DCA8 -debug_sub_808DCA8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._409 @ gUnknown_Debug_083C43FC - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._409 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._409 + 8 @ gMenuCallback - ldr r0, ._409 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._410: - .align 2, 0 -._409: - .word gUnknown_Debug_083C43FC - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DCA8 - - thumb_func_start debug_sub_808DD00 -debug_sub_808DD00: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._411 @ gUnknown_Debug_083C4444 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._411 + 4 @ gDebug_0300070F - mov r0, #0x4 - strb r0, [r1] - ldr r1, ._411 + 8 @ gMenuCallback - ldr r0, ._411 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._412: - .align 2, 0 -._411: - .word gUnknown_Debug_083C4444 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DD00 - - thumb_func_start debug_sub_808DD58 -debug_sub_808DD58: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._413 @ gUnknown_Debug_083C448C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._413 + 4 @ gDebug_0300070F - mov r0, #0x5 - strb r0, [r1] - ldr r1, ._413 + 8 @ gMenuCallback - ldr r0, ._413 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._414: - .align 2, 0 -._413: - .word gUnknown_Debug_083C448C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DD58 - - thumb_func_start debug_sub_808DDB0 -debug_sub_808DDB0: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._415 @ gUnknown_Debug_83C44C4 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r1, ._415 + 4 @ gDebug_0300070F - mov r0, #0x6 - strb r0, [r1] - ldr r1, ._415 + 8 @ gMenuCallback - ldr r0, ._415 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._416: - .align 2, 0 -._415: - .word gUnknown_Debug_83C44C4 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DDB0 - - thumb_func_start debug_sub_808DE08 -debug_sub_808DE08: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._417 @ gUnknown_Debug_83C44EC - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._417 + 4 @ gDebug_0300070F - mov r0, #0x7 - strb r0, [r1] - ldr r1, ._417 + 8 @ gMenuCallback - ldr r0, ._417 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._418: - .align 2, 0 -._417: - .word gUnknown_Debug_83C44EC - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DE08 - - thumb_func_start debug_sub_808DE60 -debug_sub_808DE60: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._419 @ gUnknown_Debug_083C4534 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._419 + 4 @ gDebug_0300070F - mov r0, #0x8 - strb r0, [r1] - ldr r1, ._419 + 8 @ gMenuCallback - ldr r0, ._419 + 12 @ debug_sub_808DEB8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._420: - .align 2, 0 -._419: - .word gUnknown_Debug_083C4534 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808DEB8+1 - - thumb_func_end debug_sub_808DE60 - - thumb_func_start debug_sub_808DEB8 -debug_sub_808DEB8: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._424 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808DF64 - ldrb r0, [r5] - bl debug_sub_808DF04 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._421 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._422 @cond_branch -._421: - mov r0, #0x0 - b ._423 -._425: - .align 2, 0 -._424: - .word gDebug_0300070F -._422: - bl CloseMenu - mov r0, #0x1 -._423: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808DEB8 - - thumb_func_start debug_sub_808DF04 -debug_sub_808DF04: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._428 @ gUnknown_Debug_083C457C - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._426 @cond_branch - ldr r0, ._428 + 4 @ gUnknown_Debug_083C4586 - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._427: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl VarGet - add r2, r0, #0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - mov r0, #0x18 - add r1, r4, #0 - bl debug_sub_808F31C - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._427 @cond_branch -._426: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._429: - .align 2, 0 -._428: - .word gUnknown_Debug_083C457C - .word gUnknown_Debug_083C4586 - - thumb_func_end debug_sub_808DF04 - - thumb_func_start debug_sub_808DF64 -debug_sub_808DF64: - push {r4, r5, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._432 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._430 @cond_branch - mov r5, #0x1 - b ._431 -._433: - .align 2, 0 -._432: - .word gMain -._430: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._434 @cond_branch - ldr r5, ._435 @ 0xffff -._431: - ldr r1, ._435 + 4 @ gUnknown_Debug_083C4586 - lsl r0, r2, #0x3 - add r0, r0, r2 - add r0, r0, r3 - lsl r0, r0, #0x1 - add r0, r0, r1 - ldrh r4, [r0] - add r0, r4, #0 - bl VarGet - add r1, r0, #0 - add r1, r5, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r4, #0 - bl VarSet -._434: - pop {r4, r5} - pop {r0} - bx r0 -._436: - .align 2, 0 -._435: - .word 0xffff - .word gUnknown_Debug_083C4586 - - thumb_func_end debug_sub_808DF64 - - thumb_func_start debug_sub_808DFC0 -debug_sub_808DFC0: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._437 @ gUnknown_Debug_083C377C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r1, ._437 + 4 @ gMenuCallback - ldr r0, ._437 + 8 @ debug_sub_808E010 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._438: - .align 2, 0 -._437: - .word gUnknown_Debug_083C377C - .word gMenuCallback - .word debug_sub_808E010+1 - - thumb_func_end debug_sub_808DFC0 - - thumb_func_start debug_sub_808E010 -debug_sub_808E010: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._439 @cond_branch - mov r0, #0x0 - b ._442 -._439: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._441 @cond_branch - ldr r2, ._443 @ gMenuCallback - ldr r0, ._443 + 4 @ gUnknown_Debug_083C377C - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._442 -._444: - .align 2, 0 -._443: - .word gMenuCallback - .word gUnknown_Debug_083C377C -._441: - bl CloseMenu - mov r0, #0x1 -._442: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808E010 - - thumb_func_start debug_sub_808E054 -debug_sub_808E054: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._445 @ gUnknown_Debug_083C3AA0 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r0, ._445 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._445 + 8 @ gMenuCallback - ldr r0, ._445 + 12 @ debug_sub_808E264 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._446: - .align 2, 0 -._445: - .word gUnknown_Debug_083C3AA0 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E264+1 - - thumb_func_end debug_sub_808E054 - - thumb_func_start debug_sub_808E0AC -debug_sub_808E0AC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r3, ._447 @ gUnknown_Debug_83C3AE0 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x5 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x5 - bl InitMenu - ldr r1, ._447 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._447 + 8 @ gMenuCallback - ldr r0, ._447 + 12 @ debug_sub_808E264 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._448: - .align 2, 0 -._447: - .word gUnknown_Debug_83C3AE0 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E264+1 - - thumb_func_end debug_sub_808E0AC - - thumb_func_start debug_sub_808E104 -debug_sub_808E104: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._449 @ gUnknown_Debug_83C3B28 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._449 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._449 + 8 @ gMenuCallback - ldr r0, ._449 + 12 @ debug_sub_808E264 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._450: - .align 2, 0 -._449: - .word gUnknown_Debug_83C3B28 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E264+1 - - thumb_func_end debug_sub_808E104 - - thumb_func_start debug_sub_808E15C -debug_sub_808E15C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._451 @ gUnknown_Debug_83C3B70 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r1, ._451 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._451 + 8 @ gMenuCallback - ldr r0, ._451 + 12 @ debug_sub_808E264 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._452: - .align 2, 0 -._451: - .word gUnknown_Debug_83C3B70 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E264+1 - - thumb_func_end debug_sub_808E15C - - thumb_func_start debug_sub_808E1B4 -debug_sub_808E1B4: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._453 @ gUnknown_Debug_83C3BB8 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._453 + 4 @ gDebug_0300070F - mov r0, #0x4 - strb r0, [r1] - ldr r1, ._453 + 8 @ gMenuCallback - ldr r0, ._453 + 12 @ debug_sub_808E264 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._454: - .align 2, 0 -._453: - .word gUnknown_Debug_83C3BB8 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E264+1 - - thumb_func_end debug_sub_808E1B4 - - thumb_func_start debug_sub_808E20C -debug_sub_808E20C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._455 @ gUnknown_Debug_83C3C00 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r1, ._455 + 4 @ gDebug_0300070F - mov r0, #0x5 - strb r0, [r1] - ldr r1, ._455 + 8 @ gMenuCallback - ldr r0, ._455 + 12 @ debug_sub_808E264 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._456: - .align 2, 0 -._455: - .word gUnknown_Debug_83C3C00 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E264+1 - - thumb_func_end debug_sub_808E20C - - thumb_func_start debug_sub_808E264 -debug_sub_808E264: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._460 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808E310 - ldrb r0, [r5] - bl debug_sub_808E2B0 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._457 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._458 @cond_branch -._457: - mov r0, #0x0 - b ._459 -._461: - .align 2, 0 -._460: - .word gDebug_0300070F -._458: - bl CloseMenu - mov r0, #0x1 -._459: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808E264 - - thumb_func_start debug_sub_808E2B0 -debug_sub_808E2B0: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._464 @ gUnknown_Debug_083C3C48 - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._462 @cond_branch - ldr r0, ._464 + 4 @ gUnknown_Debug_83C3C4E - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._463: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl VarGet - add r2, r0, #0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - mov r0, #0x18 - add r1, r4, #0 - bl debug_sub_808F31C - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._463 @cond_branch -._462: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._465: - .align 2, 0 -._464: - .word gUnknown_Debug_083C3C48 - .word gUnknown_Debug_83C3C4E - - thumb_func_end debug_sub_808E2B0 - - thumb_func_start debug_sub_808E310 -debug_sub_808E310: - push {r4, r5, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._468 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._466 @cond_branch - mov r5, #0x1 - b ._467 -._469: - .align 2, 0 -._468: - .word gMain -._466: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._470 @cond_branch - ldr r5, ._471 @ 0xffff -._467: - ldr r1, ._471 + 4 @ gUnknown_Debug_83C3C4E - lsl r0, r2, #0x3 - add r0, r0, r2 - add r0, r0, r3 - lsl r0, r0, #0x1 - add r0, r0, r1 - ldrh r4, [r0] - add r0, r4, #0 - bl VarGet - add r1, r0, #0 - add r1, r5, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r4, #0 - bl VarSet -._470: - pop {r4, r5} - pop {r0} - bx r0 -._472: - .align 2, 0 -._471: - .word 0xffff - .word gUnknown_Debug_83C3C4E - - thumb_func_end debug_sub_808E310 - - thumb_func_start debug_sub_808E36C -debug_sub_808E36C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r3, ._473 @ gUnknown_Debug_083C32AC - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x5 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x5 - bl InitMenu - ldr r1, ._473 + 4 @ gMenuCallback - ldr r0, ._473 + 8 @ debug_sub_808E3BC - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._474: - .align 2, 0 -._473: - .word gUnknown_Debug_083C32AC - .word gMenuCallback - .word debug_sub_808E3BC+1 - - thumb_func_end debug_sub_808E36C - - thumb_func_start debug_sub_808E3BC -debug_sub_808E3BC: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._475 @cond_branch - mov r0, #0x0 - b ._478 -._475: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._477 @cond_branch - ldr r2, ._479 @ gMenuCallback - ldr r0, ._479 + 4 @ gUnknown_Debug_083C32AC - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._478 -._480: - .align 2, 0 -._479: - .word gMenuCallback - .word gUnknown_Debug_083C32AC -._477: - bl CloseMenu - mov r0, #0x1 -._478: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808E3BC - - thumb_func_start debug_sub_808E400 -debug_sub_808E400: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - ldr r3, ._481 @ gUnknown_Debug_083C347C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x3 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x3 - bl InitMenu - ldr r0, ._481 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._481 + 8 @ gMenuCallback - ldr r0, ._481 + 12 @ debug_sub_808E5B8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._482: - .align 2, 0 -._481: - .word gUnknown_Debug_083C347C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E5B8+1 - - thumb_func_end debug_sub_808E400 - - thumb_func_start debug_sub_808E458 -debug_sub_808E458: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._483 @ gUnknown_Debug_083C3494 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r1, ._483 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._483 + 8 @ gMenuCallback - ldr r0, ._483 + 12 @ debug_sub_808E5B8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._484: - .align 2, 0 -._483: - .word gUnknown_Debug_083C3494 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E5B8+1 - - thumb_func_end debug_sub_808E458 - - thumb_func_start debug_sub_808E4B0 -debug_sub_808E4B0: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r3, ._485 @ gUnknown_Debug_083C34A4 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x6 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x6 - bl InitMenu - ldr r1, ._485 + 4 @ gDebug_0300070F - mov r0, #0x2 - strb r0, [r1] - ldr r1, ._485 + 8 @ gMenuCallback - ldr r0, ._485 + 12 @ debug_sub_808E5B8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._486: - .align 2, 0 -._485: - .word gUnknown_Debug_083C34A4 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E5B8+1 - - thumb_func_end debug_sub_808E4B0 - - thumb_func_start debug_sub_808E508 -debug_sub_808E508: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._487 @ gUnknown_Debug_083C34D4 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r1, ._487 + 4 @ gDebug_0300070F - mov r0, #0x3 - strb r0, [r1] - ldr r1, ._487 + 8 @ gMenuCallback - ldr r0, ._487 + 12 @ debug_sub_808E5B8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._488: - .align 2, 0 -._487: - .word gUnknown_Debug_083C34D4 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E5B8+1 - - thumb_func_end debug_sub_808E508 - - thumb_func_start debug_sub_808E560 -debug_sub_808E560: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xb - bl Menu_DrawStdWindowFrame - ldr r3, ._489 @ gUnknown_Debug_083C351C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x5 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x5 - bl InitMenu - ldr r1, ._489 + 4 @ gDebug_0300070F - mov r0, #0x4 - strb r0, [r1] - ldr r1, ._489 + 8 @ gMenuCallback - ldr r0, ._489 + 12 @ debug_sub_808E5B8 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._490: - .align 2, 0 -._489: - .word gUnknown_Debug_083C351C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E5B8+1 - - thumb_func_end debug_sub_808E560 - - thumb_func_start debug_sub_808E5B8 -debug_sub_808E5B8: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._494 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808E604 - ldrb r0, [r5] - bl debug_sub_808E660 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._491 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._492 @cond_branch -._491: - mov r0, #0x0 - b ._493 -._495: - .align 2, 0 -._494: - .word gDebug_0300070F -._492: - bl CloseMenu - mov r0, #0x1 -._493: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808E5B8 - - thumb_func_start debug_sub_808E604 -debug_sub_808E604: - push {r4, r5, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._498 @ gMain - ldrh r1, [r0, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._496 @cond_branch - mov r5, #0x1 - b ._497 -._499: - .align 2, 0 -._498: - .word gMain -._496: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._500 @cond_branch - ldr r5, ._501 @ 0xffff -._497: - ldr r1, ._501 + 4 @ gUnknown_Debug_083C354A - lsl r0, r2, #0x3 - add r0, r0, r2 - add r0, r0, r3 - lsl r0, r0, #0x1 - add r0, r0, r1 - ldrh r4, [r0] - add r0, r4, #0 - bl VarGet - add r1, r0, #0 - add r1, r5, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r4, #0 - bl VarSet -._500: - pop {r4, r5} - pop {r0} - bx r0 -._502: - .align 2, 0 -._501: - .word 0xffff - .word gUnknown_Debug_083C354A - - thumb_func_end debug_sub_808E604 - - thumb_func_start debug_sub_808E660 -debug_sub_808E660: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._505 @ gUnknown_Debug_083C3544 - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._503 @cond_branch - ldr r0, ._505 + 4 @ gUnknown_Debug_083C354A - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._504: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl VarGet - add r2, r0, #0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - mov r0, #0x18 - add r1, r4, #0 - bl debug_sub_808F31C - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._504 @cond_branch -._503: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._506: - .align 2, 0 -._505: - .word gUnknown_Debug_083C3544 - .word gUnknown_Debug_083C354A - - thumb_func_end debug_sub_808E660 - - thumb_func_start debug_sub_808E6C0 -debug_sub_808E6C0: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._507 @ gUnknown_Debug_083C4644 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r1, ._507 + 4 @ gMenuCallback - ldr r0, ._507 + 8 @ debug_sub_808E710 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._508: - .align 2, 0 -._507: - .word gUnknown_Debug_083C4644 - .word gMenuCallback - .word debug_sub_808E710+1 - - thumb_func_end debug_sub_808E6C0 - - thumb_func_start debug_sub_808E710 -debug_sub_808E710: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._509 @cond_branch - mov r0, #0x0 - b ._512 -._509: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._511 @cond_branch - ldr r2, ._513 @ gMenuCallback - ldr r0, ._513 + 4 @ gUnknown_Debug_083C4644 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._512 -._514: - .align 2, 0 -._513: - .word gMenuCallback - .word gUnknown_Debug_083C4644 -._511: - bl CloseMenu - mov r0, #0x1 -._512: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808E710 - - thumb_func_start debug_sub_808E754 -debug_sub_808E754: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._515 @ gUnknown_Debug_083C470C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r0, ._515 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._515 + 8 @ gMenuCallback - ldr r0, ._515 + 12 @ debug_sub_808E804 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._516: - .align 2, 0 -._515: - .word gUnknown_Debug_083C470C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E804+1 - - thumb_func_end debug_sub_808E754 - - thumb_func_start debug_sub_808E7AC -debug_sub_808E7AC: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._517 @ gUnknown_Debug_083C4754C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._517 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._517 + 8 @ gMenuCallback - ldr r0, ._517 + 12 @ debug_sub_808E804 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._518: - .align 2, 0 -._517: - .word gUnknown_Debug_083C4754C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808E804+1 - - thumb_func_end debug_sub_808E7AC - - thumb_func_start debug_sub_808E804 -debug_sub_808E804: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._522 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808E850 - ldrb r0, [r5] - bl debug_sub_808E8AC - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._519 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._520 @cond_branch -._519: - mov r0, #0x0 - b ._521 -._523: - .align 2, 0 -._522: - .word gDebug_0300070F -._520: - bl CloseMenu - mov r0, #0x1 -._521: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808E804 - - thumb_func_start debug_sub_808E850 -debug_sub_808E850: - push {r4, r5, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._526 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._524 @cond_branch - mov r5, #0x1 - b ._525 -._527: - .align 2, 0 -._526: - .word gMain -._524: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._528 @cond_branch - ldr r5, ._529 @ 0xffff -._525: - ldr r1, ._529 + 4 @ gUnknown_Debug_083C478E - lsl r0, r2, #0x3 - add r0, r0, r2 - add r0, r0, r3 - lsl r0, r0, #0x1 - add r0, r0, r1 - ldrh r4, [r0] - add r0, r4, #0 - bl VarGet - add r1, r0, #0 - add r1, r5, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r4, #0 - bl VarSet -._528: - pop {r4, r5} - pop {r0} - bx r0 -._530: - .align 2, 0 -._529: - .word 0xffff - .word gUnknown_Debug_083C478E - - thumb_func_end debug_sub_808E850 - - thumb_func_start debug_sub_808E8AC -debug_sub_808E8AC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._533 @ gUnknown_Debug_083C478C - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._531 @cond_branch - ldr r0, ._533 + 4 @ gUnknown_Debug_083C478E - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._532: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl VarGet - add r2, r0, #0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - mov r0, #0x18 - add r1, r4, #0 - bl debug_sub_808F31C - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._532 @cond_branch -._531: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._534: - .align 2, 0 -._533: - .word gUnknown_Debug_083C478C - .word gUnknown_Debug_083C478E - - thumb_func_end debug_sub_808E8AC - - thumb_func_start debug_sub_808E90C -debug_sub_808E90C: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x18 - mov r3, #0x5 - bl Menu_DrawStdWindowFrame - ldr r3, ._535 @ gUnknown_Debug_083C35C4 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x2 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x17 - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x2 - bl InitMenu - ldr r1, ._535 + 4 @ gMenuCallback - ldr r0, ._535 + 8 @ debug_sub_808E95C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._536: - .align 2, 0 -._535: - .word gUnknown_Debug_083C35C4 - .word gMenuCallback - .word debug_sub_808E95C+1 - - thumb_func_end debug_sub_808E90C - - thumb_func_start debug_sub_808E95C -debug_sub_808E95C: - push {lr} - bl Menu_ProcessInput - lsl r0, r0, #0x18 - asr r1, r0, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r1, r0 - bne ._537 @cond_branch - mov r0, #0x0 - b ._540 -._537: - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._539 @cond_branch - ldr r2, ._541 @ gMenuCallback - ldr r0, ._541 + 4 @ gUnknown_Debug_083C35C4 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r0, [r1] - str r0, [r2] - mov r0, #0x0 - b ._540 -._542: - .align 2, 0 -._541: - .word gMenuCallback - .word gUnknown_Debug_083C35C4 -._539: - bl CloseMenu - mov r0, #0x1 -._540: - pop {r1} - bx r1 - - thumb_func_end debug_sub_808E95C - - thumb_func_start debug_sub_808E9A0 -debug_sub_808E9A0: - push {r4, lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r3, ._543 @ gUnknown_Debug_083C369C - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x9 - bl Menu_PrintItems - mov r4, #0x0 - str r4, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x9 - bl InitMenu - ldr r0, ._543 + 4 @ gDebug_0300070F - strb r4, [r0] - ldr r1, ._543 + 8 @ gMenuCallback - ldr r0, ._543 + 12 @ debug_sub_808EA50 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r4} - pop {r1} - bx r1 -._544: - .align 2, 0 -._543: - .word gUnknown_Debug_083C369C - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808EA50+1 - - thumb_func_end debug_sub_808E9A0 - - thumb_func_start debug_sub_808E9F8 -debug_sub_808E9F8: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r3, ._545 @ gUnknown_Debug_083C36E4 - mov r0, #0x2 - mov r1, #0x1 - mov r2, #0x7 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0x1c - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0x7 - bl InitMenu - ldr r1, ._545 + 4 @ gDebug_0300070F - mov r0, #0x1 - strb r0, [r1] - ldr r1, ._545 + 8 @ gMenuCallback - ldr r0, ._545 + 12 @ debug_sub_808EA50 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._546: - .align 2, 0 -._545: - .word gUnknown_Debug_083C36E4 - .word gDebug_0300070F - .word gMenuCallback - .word debug_sub_808EA50+1 - - thumb_func_end debug_sub_808E9F8 - - thumb_func_start debug_sub_808EA50 -debug_sub_808EA50: - push {r4, r5, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - add r1, r0, #0 - ldr r5, ._550 @ gDebug_0300070F - ldrb r0, [r5] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl debug_sub_808EAFC - ldrb r0, [r5] - bl debug_sub_808EA9C - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._547 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._548 @cond_branch -._547: - mov r0, #0x0 - b ._549 -._551: - .align 2, 0 -._550: - .word gDebug_0300070F -._548: - bl CloseMenu - mov r0, #0x1 -._549: - pop {r4, r5} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808EA50 - - thumb_func_start debug_sub_808EA9C -debug_sub_808EA9C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - mov r5, #0x0 - ldr r0, ._554 @ gUnknown_Debug_083C371C - add r0, r1, r0 - ldrb r2, [r0] - cmp r5, r2 - bcs ._552 @cond_branch - ldr r0, ._554 + 4 @ gUnknown_Debug_083C371E - mov r8, r0 - lsl r0, r1, #0x3 - add r0, r0, r1 - lsl r7, r0, #0x1 - add r6, r2, #0 -._553: - lsl r0, r5, #0x1 - add r4, r0, #1 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - add r0, r0, r7 - add r0, r0, r8 - ldrh r0, [r0] - bl VarGet - add r2, r0, #0 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - mov r0, #0x18 - add r1, r4, #0 - bl debug_sub_808F31C - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - bcc ._553 @cond_branch -._552: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._555: - .align 2, 0 -._554: - .word gUnknown_Debug_083C371C - .word gUnknown_Debug_083C371E - - thumb_func_end debug_sub_808EA9C - - thumb_func_start debug_sub_808EAFC -debug_sub_808EAFC: - push {r4, r5, lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - ldr r0, ._558 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._556 @cond_branch - mov r5, #0x1 - b ._557 -._559: - .align 2, 0 -._558: - .word gMain -._556: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._560 @cond_branch - ldr r5, ._561 @ 0xffff -._557: - ldr r1, ._561 + 4 @ gUnknown_Debug_083C371E - lsl r0, r2, #0x3 - add r0, r0, r2 - add r0, r0, r3 - lsl r0, r0, #0x1 - add r0, r0, r1 - ldrh r4, [r0] - add r0, r4, #0 - bl VarGet - add r1, r0, #0 - add r1, r5, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r4, #0 - bl VarSet -._560: - pop {r4, r5} - pop {r0} - bx r0 -._562: - .align 2, 0 -._561: - .word 0xffff - .word gUnknown_Debug_083C371E - - thumb_func_end debug_sub_808EAFC - - thumb_func_start debug_sub_808EB58 -debug_sub_808EB58: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xc - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._563 @ gUnknown_Debug_083C47B2 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._563 + 4 @ gUnknown_Debug_083C47F0 - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x8 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xb - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x8 - bl InitMenu - ldr r1, ._563 + 8 @ gMenuCallback - ldr r0, ._563 + 12 @ debug_sub_808EC10 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._564: - .align 2, 0 -._563: - .word gUnknown_Debug_083C47B2 - .word gUnknown_Debug_083C47F0 - .word gMenuCallback - .word debug_sub_808EC10+1 - - thumb_func_end debug_sub_808EB58 - - thumb_func_start debug_sub_808EBB4 -debug_sub_808EBB4: - push {lr} - add sp, sp, #0xfffffff8 - bl Menu_EraseScreen - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xd - mov r3, #0xd - bl Menu_DrawStdWindowFrame - ldr r0, ._565 @ gUnknown_Debug_083C4830 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r3, ._565 + 4 @ gUnknown_Debug_083C4888 - mov r0, #0x2 - mov r1, #0x3 - mov r2, #0x5 - bl Menu_PrintItems - mov r0, #0x0 - str r0, [sp] - mov r0, #0xc - str r0, [sp, #0x4] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x5 - bl InitMenu - ldr r1, ._565 + 8 @ gMenuCallback - ldr r0, ._565 + 12 @ debug_sub_808EC5C - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x8 - pop {r1} - bx r1 -._566: - .align 2, 0 -._565: - .word gUnknown_Debug_083C4830 - .word gUnknown_Debug_083C4888 - .word gMenuCallback - .word debug_sub_808EC5C+1 - - thumb_func_end debug_sub_808EBB4 - - thumb_func_start debug_sub_808EC10 -debug_sub_808EC10: - push {r4, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._568 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._568 @cond_branch - ldr r1, ._570 @ gSaveBlock1 - lsl r0, r2, #0x18 - asr r0, r0, #0x18 - ldr r2, ._570 + 4 @ 0x13c8 - add r1, r1, r2 - strh r0, [r1] - bl CloseMenu - mov r0, #0x1 - b ._569 -._571: - .align 2, 0 -._570: - .word gSaveBlock1 - .word 0x13c8 -._568: - mov r0, #0x0 -._569: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808EC10 - - thumb_func_start debug_sub_808EC5C -debug_sub_808EC5C: - push {r4, lr} - bl Menu_ProcessInput - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl Menu_GetCursorPos - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - lsl r4, r4, #0x18 - asr r4, r4, #0x18 - mov r0, #0x2 - neg r0, r0 - cmp r4, r0 - beq ._573 @cond_branch - mov r0, #0x1 - neg r0, r0 - cmp r4, r0 - beq ._573 @cond_branch - ldr r0, ._575 @ 0x40a7 - lsl r1, r1, #0x18 - asr r1, r1, #0x8 - lsr r1, r1, #0x10 - bl VarSet - bl CloseMenu - mov r0, #0x1 - b ._574 -._576: - .align 2, 0 -._575: - .word 0x40a7 -._573: - mov r0, #0x0 -._574: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_sub_808EC5C - - thumb_func_start debug_sub_808ECA4 -debug_sub_808ECA4: - push {lr} - add sp, sp, #0xfffffffc - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r1, ._577 @ gMenuCallback - ldr r0, ._577 + 4 @ debug_sub_808ECD0 - str r0, [r1] - mov r0, #0x0 - add sp, sp, #0x4 - pop {r1} - bx r1 -._578: - .align 2, 0 -._577: - .word gMenuCallback - .word debug_sub_808ECD0+1 - - thumb_func_end debug_sub_808ECA4 - - thumb_func_start debug_sub_808ECD0 -debug_sub_808ECD0: - push {lr} - bl UpdatePaletteFade - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._579 @cond_branch - mov r0, #0x0 - b ._580 -._579: - bl CloseMenu - mov r0, #0x2 - bl debug_sub_808F168 - ldr r0, ._581 @ CB2_ContestPainting - bl SetMainCallback2 - ldr r1, ._581 + 4 @ gMain - ldr r0, ._581 + 8 @ debug_sub_808B868 - str r0, [r1, #0x8] - mov r0, #0x1 -._580: - pop {r1} - bx r1 -._582: - .align 2, 0 -._581: - .word CB2_ContestPainting+1 - .word gMain - .word debug_sub_808B868+1 - - thumb_func_end debug_sub_808ECD0 - - thumb_func_start TomomichiDebugMenu_Config -TomomichiDebugMenu_Config: - mov r0, #0x0 - bx lr - - thumb_func_end TomomichiDebugMenu_Config - - thumb_func_start debug_sub_808ED0C -debug_sub_808ED0C: - push {lr} - ldr r2, ._590 @ gMain - ldrh r1, [r2, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._584 @cond_branch - ldr r1, ._590 + 4 @ gDebug_03000700 - ldrh r0, [r1] - cmp r0, #0x1 - beq ._584 @cond_branch - sub r0, r0, #0x1 - strh r0, [r1] -._584: - ldrh r1, [r2, #0x30] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._586 @cond_branch - ldr r3, ._590 + 4 @ gDebug_03000700 - ldrh r1, [r3] - ldr r0, ._590 + 8 @ 0x19b - cmp r1, r0 - beq ._586 @cond_branch - add r0, r1, #1 - strh r0, [r3] -._586: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._587 @cond_branch - ldr r1, ._590 + 4 @ gDebug_03000700 - ldrh r0, [r1] - cmp r0, #0xa - bls ._588 @cond_branch - sub r0, r0, #0xa - b ._589 -._591: - .align 2, 0 -._590: - .word gMain - .word gDebug_03000700 - .word 0x19b -._588: - mov r0, #0x1 -._589: - strh r0, [r1] -._587: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._592 @cond_branch - ldr r2, ._595 @ gDebug_03000700 - ldrh r1, [r2] - ldr r0, ._595 + 4 @ 0x191 - cmp r1, r0 - bhi ._593 @cond_branch - add r0, r1, #0 - add r0, r0, #0xa - b ._594 -._596: - .align 2, 0 -._595: - .word gDebug_03000700 - .word 0x191 -._593: - ldr r1, ._597 @ 0x19b - add r0, r1, #0 -._594: - strh r0, [r2] -._592: - pop {r0} - bx r0 -._598: - .align 2, 0 -._597: - .word 0x19b - - thumb_func_end debug_sub_808ED0C - - thumb_func_start debug_sub_808ED9C -debug_sub_808ED9C: - push {lr} - ldr r2, ._606 @ gMain - ldrh r1, [r2, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._600 @cond_branch - ldr r1, ._606 + 4 @ gDebug_03000708 - ldr r0, [r1] - cmp r0, #0 - beq ._600 @cond_branch - sub r0, r0, #0x1 - str r0, [r1] -._600: - ldrh r1, [r2, #0x30] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._602 @cond_branch - ldr r3, ._606 + 4 @ gDebug_03000708 - ldr r1, [r3] - mov r0, #0x1 - neg r0, r0 - cmp r1, r0 - beq ._602 @cond_branch - add r0, r1, #1 - str r0, [r3] -._602: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._603 @cond_branch - ldr r1, ._606 + 4 @ gDebug_03000708 - ldr r0, [r1] - cmp r0, #0xf - bls ._604 @cond_branch - sub r0, r0, #0x10 - b ._605 -._607: - .align 2, 0 -._606: - .word gMain - .word gDebug_03000708 -._604: - mov r0, #0x0 -._605: - str r0, [r1] -._603: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._608 @cond_branch - ldr r3, ._611 @ gDebug_03000708 - ldr r1, [r3] - mov r0, #0x11 - neg r0, r0 - cmp r1, r0 - bhi ._609 @cond_branch - add r0, r1, #0 - add r0, r0, #0x10 - b ._610 -._612: - .align 2, 0 -._611: - .word gDebug_03000708 -._609: - mov r0, #0x1 - neg r0, r0 -._610: - str r0, [r3] -._608: - ldrh r2, [r2, #0x2e] - mov r1, #0xc0 - lsl r1, r1, #0x2 - add r0, r1, #0 - and r0, r0, r2 - cmp r0, r1 - bne ._613 @cond_branch - ldr r1, ._614 @ gDebug_03000708 - mov r0, #0x1 - neg r0, r0 - str r0, [r1] -._613: - pop {r0} - bx r0 -._615: - .align 2, 0 -._614: - .word gDebug_03000708 - - thumb_func_end debug_sub_808ED9C - - thumb_func_start debug_sub_808EE3C -debug_sub_808EE3C: - push {lr} - ldr r2, ._622 @ gMain - ldrh r1, [r2, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._617 @cond_branch - ldr r1, ._622 + 4 @ gDebug_0300070C - ldrb r0, [r1] - cmp r0, #0x1 - beq ._617 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] -._617: - ldrh r1, [r2, #0x30] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._619 @cond_branch - ldr r1, ._622 + 4 @ gDebug_0300070C - ldrb r0, [r1] - cmp r0, #0x5 - beq ._619 @cond_branch - add r0, r0, #0x1 - strb r0, [r1] -._619: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._620 @cond_branch - ldr r1, ._622 + 4 @ gDebug_0300070C - mov r0, #0x1 - strb r0, [r1] -._620: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._621 @cond_branch - ldr r1, ._622 + 4 @ gDebug_0300070C - mov r0, #0x5 - strb r0, [r1] -._621: - pop {r0} - bx r0 -._623: - .align 2, 0 -._622: - .word gMain - .word gDebug_0300070C - - thumb_func_end debug_sub_808EE3C - - thumb_func_start debug_sub_808EE9C -debug_sub_808EE9C: - push {lr} - ldr r2, ._631 @ gMain - ldrh r1, [r2, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._625 @cond_branch - ldr r1, ._631 + 4 @ gDebug_0300070D - ldrb r0, [r1] - cmp r0, #0x1 - beq ._625 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] -._625: - ldrh r1, [r2, #0x30] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._627 @cond_branch - ldr r1, ._631 + 4 @ gDebug_0300070D - ldrb r0, [r1] - cmp r0, #0xf - beq ._627 @cond_branch - add r0, r0, #0x1 - strb r0, [r1] -._627: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._628 @cond_branch - ldr r1, ._631 + 4 @ gDebug_0300070D - ldrb r0, [r1] - cmp r0, #0xa - bls ._629 @cond_branch - sub r0, r0, #0xa - b ._630 -._632: - .align 2, 0 -._631: - .word gMain - .word gDebug_0300070D -._629: - mov r0, #0x0 -._630: - strb r0, [r1] -._628: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._633 @cond_branch - ldr r1, ._636 @ gDebug_0300070D - ldrb r0, [r1] - cmp r0, #0x5 - bhi ._634 @cond_branch - add r0, r0, #0xa - b ._635 -._637: - .align 2, 0 -._636: - .word gDebug_0300070D -._634: - mov r0, #0xf -._635: - strb r0, [r1] -._633: - pop {r0} - bx r0 - - thumb_func_end debug_sub_808EE9C - - thumb_func_start debug_sub_808EF14 -debug_sub_808EF14: - push {lr} - ldr r2, ._645 @ gMain - ldrh r1, [r2, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._639 @cond_branch - ldr r1, ._645 + 4 @ gDebug_0300070E - ldrb r0, [r1] - cmp r0, #0x1 - beq ._639 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] -._639: - ldrh r1, [r2, #0x30] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._641 @cond_branch - ldr r1, ._645 + 4 @ gDebug_0300070E - ldrb r0, [r1] - cmp r0, #0xf - beq ._641 @cond_branch - add r0, r0, #0x1 - strb r0, [r1] -._641: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._642 @cond_branch - ldr r1, ._645 + 4 @ gDebug_0300070E - ldrb r0, [r1] - cmp r0, #0xa - bls ._643 @cond_branch - sub r0, r0, #0xa - b ._644 -._646: - .align 2, 0 -._645: - .word gMain - .word gDebug_0300070E -._643: - mov r0, #0x0 -._644: - strb r0, [r1] -._642: - ldrh r1, [r2, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._647 @cond_branch - ldr r1, ._650 @ gDebug_0300070E - ldrb r0, [r1] - cmp r0, #0x5 - bhi ._648 @cond_branch - add r0, r0, #0xa - b ._649 -._651: - .align 2, 0 -._650: - .word gDebug_0300070E -._648: - mov r0, #0xf -._649: - strb r0, [r1] -._647: - pop {r0} - bx r0 - - thumb_func_end debug_sub_808EF14 - - thumb_func_start debug_sub_808EF8C -debug_sub_808EF8C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, #0x2 - bgt ._653 @cond_branch - cmp r6, #0 - blt ._653 @cond_branch - mov r3, #0x0 - ldr r0, ._656 @ gDebug_03000708 - mov r8, r0 - ldr r4, ._656 + 4 @ gDebug_03000710 - mov r7, #0x7 - mov r5, #0xf -._658: - sub r0, r7, r3 - lsl r0, r0, #0x2 - mov r1, r8 - ldr r2, [r1] - LSR r2, r0 - and r2, r2, r5 - cmp r2, #0x9 - bhi ._654 @cond_branch - add r1, r3, r4 - add r0, r2, #0 - add r0, r0, #0xa1 - b ._655 -._657: - .align 2, 0 -._656: - .word gDebug_03000708 - .word gDebug_03000710 -._654: - add r1, r3, r4 - add r0, r2, #0 - sub r0, r0, #0x4f -._655: - strb r0, [r1] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - cmp r3, #0x7 - bls ._658 @cond_branch - ldr r0, ._666 @ gDebug_03000710 - mov r1, #0xff - strb r1, [r0, #0x8] - mov r1, #0xc - mov r2, #0x5 - bl Menu_PrintText -._653: - mov r3, #0x0 - ldr r7, ._666 @ gDebug_03000710 - ldr r5, ._666 + 4 @ gDebug_03000700 - ldr r2, ._666 + 8 @ gSpeciesNames - mov r8, r2 - add r4, r7, #0 - mov r2, #0x0 -._659: - add r1, r3, #1 - add r0, r1, r4 - strb r2, [r0] - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - cmp r3, #0x9 - bls ._659 @cond_branch - mov r3, #0x0 - ldrh r2, [r5] - mov r0, #0xb - add r1, r2, #0 - mul r1, r1, r0 - mov r2, r8 - add r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0xff - beq ._661 @cond_branch - ldr r0, ._666 @ gDebug_03000710 - mov ip, r0 - mov r5, r8 - add r4, r1, #0 -._662: - add r1, r3, #1 - mov r0, ip - add r2, r1, r0 - add r0, r3, r4 - add r0, r0, r5 - ldrb r0, [r0] - strb r0, [r2] - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - add r0, r3, r4 - add r0, r0, r5 - ldrb r0, [r0] - cmp r0, #0xff - beq ._661 @cond_branch - cmp r3, #0x9 - bls ._662 @cond_branch -._661: - mov r0, #0xb1 - strb r0, [r7] - mov r0, #0xb2 - strb r0, [r7, #0xb] - mov r0, #0xff - strb r0, [r7, #0xc] - cmp r6, #0x2 - bgt ._664 @cond_branch - cmp r6, #0 - blt ._664 @cond_branch - add r0, r7, #0 - mov r1, #0x8 - mov r2, #0x1 - bl Menu_PrintText - b ._665 -._667: - .align 2, 0 -._666: - .word gDebug_03000710 - .word gDebug_03000700 - .word gSpeciesNames -._664: - ldr r0, ._672 @ gDebug_03000710 - mov r1, #0xc - mov r2, #0x1 - bl Menu_PrintText -._665: - ldr r5, ._672 @ gDebug_03000710 - mov r0, #0xff - strb r0, [r5, #0x3] - ldr r4, ._672 + 4 @ gDebug_03000700 - ldrh r0, [r4] - mov r1, #0x64 - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5] - ldrh r0, [r4] - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xa - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x1] - ldrh r0, [r4] - mov r1, #0xa - bl __umodsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x2] - add r0, r5, #0 - mov r1, #0xc - mov r2, #0x3 - bl Menu_PrintText - cmp r6, #0x1 - beq ._668 @cond_branch - cmp r6, #0x1 - bgt ._669 @cond_branch - cmp r6, #0 - beq ._670 @cond_branch - b ._679 -._673: - .align 2, 0 -._672: - .word gDebug_03000710 - .word gDebug_03000700 -._669: - cmp r6, #0x2 - beq ._674 @cond_branch - b ._679 -._670: - ldr r4, ._677 @ gDebug_0300070C - b ._676 -._678: - .align 2, 0 -._677: - .word gDebug_0300070C -._668: - ldr r4, ._680 @ gDebug_0300070D -._676: - ldrb r0, [r4] - mov r1, #0x64 - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5] - ldrb r0, [r4] - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0xa - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x1] - ldrb r0, [r4] - mov r1, #0xa - bl __umodsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x2] - add r0, r5, #0 - mov r1, #0xc - mov r2, #0x7 - bl Menu_PrintText - b ._679 -._681: - .align 2, 0 -._680: - .word gDebug_0300070D -._674: - ldr r4, ._682 @ gDebug_0300070E - ldrb r0, [r4] - mov r1, #0x64 - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5] - ldrb r0, [r4] - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0xa - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x1] - ldrb r0, [r4] - mov r1, #0xa - bl __umodsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x2] - add r0, r5, #0 - mov r1, #0xc - mov r2, #0x7 - bl Menu_PrintText -._679: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._683: - .align 2, 0 -._682: - .word gDebug_0300070E - - thumb_func_end debug_sub_808EF8C - - thumb_func_start debug_sub_808F168 -debug_sub_808F168: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - ldr r4, ._686 @ 0x2015de0 - ldr r0, ._686 + 4 @ gDebug_03000700 - ldrh r0, [r0] - strh r0, [r4, #0x8] - ldr r0, ._686 + 8 @ gDebug_03000704 - ldr r0, [r0] - str r0, [r4, #0x4] - ldr r0, ._686 + 12 @ gDebug_03000708 - ldr r0, [r0] - str r0, [r4] - cmp r1, #0x5 - bls ._684 @cond_branch - b ._707 -._684: - lsl r0, r1, #0x2 - ldr r1, ._686 + 16 @ - add r0, r0, r1 - ldr r0, [r0] - mov pc, r0 -._687: - .align 2, 0 -._686: - .word 0x2015de0 - .word gDebug_03000700 - .word gDebug_03000704 - .word gDebug_03000708 - .word ._688 -._688: - .word ._689 - .word ._690 - .word ._691 - .word ._692 - .word ._693 - .word ._694 -._689: - ldr r0, ._696 @ 0x2000000 - ldr r2, ._696 + 4 @ 0x15ddf - add r1, r0, r2 - mov r2, #0x0 - strb r2, [r1] - ldr r1, ._696 + 8 @ 0x15dde - add r0, r0, r1 - strb r2, [r0] - ldr r0, ._696 + 12 @ gDebug_0300070C - ldrb r0, [r0] - sub r0, r0, #0x1 - strb r0, [r4, #0xa] - add r0, r4, #0 - add r0, r0, #0x16 - ldr r1, ._696 + 16 @ gUnknown_Debug_083C48BB - bl StringCopy - b ._704 -._697: - .align 2, 0 -._696: - .word 0x2000000 - .word 0x15ddf - .word 0x15dde - .word gDebug_0300070C - .word gUnknown_Debug_083C48BB -._690: - ldr r1, ._699 @ 0x2000000 - ldr r0, ._699 + 4 @ 0x15ddf - add r2, r1, r0 - mov r0, #0x0 - strb r0, [r2] - ldr r2, ._699 + 8 @ 0x15dde - add r1, r1, r2 - mov r0, #0x8 - strb r0, [r1] - ldr r0, ._699 + 12 @ gDebug_0300070D - ldrb r0, [r0] - sub r0, r0, #0x1 - b ._698 -._700: - .align 2, 0 -._699: - .word 0x2000000 - .word 0x15ddf - .word 0x15dde - .word gDebug_0300070D -._691: - ldr r1, ._702 @ 0x2000000 - ldr r0, ._702 + 4 @ 0x15ddf - add r2, r1, r0 - mov r0, #0x1 - strb r0, [r2] - ldr r2, ._702 + 8 @ 0x15dde - add r1, r1, r2 - mov r0, #0x8 - strb r0, [r1] - ldr r0, ._702 + 12 @ gDebug_0300070E - ldrb r0, [r0] - sub r0, r0, #0x1 - strb r0, [r4, #0xa] - b ._707 -._703: - .align 2, 0 -._702: - .word 0x2000000 - .word 0x15ddf - .word 0x15dde - .word gDebug_0300070E -._692: - ldr r1, ._705 @ 0x2000000 - ldr r2, ._705 + 4 @ 0x15ddf - add r0, r1, r2 - mov r2, #0x0 - strb r2, [r0] - ldr r0, ._705 + 8 @ 0x15dde - add r1, r1, r0 - mov r0, #0x8 - strb r0, [r1] - strb r2, [r4, #0xa] - b ._704 -._706: - .align 2, 0 -._705: - .word 0x2000000 - .word 0x15ddf - .word 0x15dde -._693: - ldr r1, ._708 @ 0x2000000 - ldr r0, ._708 + 4 @ 0x15ddf - add r2, r1, r0 - mov r0, #0x0 - strb r0, [r2] - ldr r2, ._708 + 8 @ 0x15dde - add r1, r1, r2 - mov r0, #0x8 - strb r0, [r1] - mov r0, #0x3 -._698: - strb r0, [r4, #0xa] -._704: - add r0, r4, #0 - add r0, r0, #0xb - ldr r1, ._708 + 12 @ gUnknown_Debug_083C48B0 - bl StringCopy - b ._707 -._709: - .align 2, 0 -._708: - .word 0x2000000 - .word 0x15ddf - .word 0x15dde - .word gUnknown_Debug_083C48B0 -._694: - ldr r1, ._710 @ 0x2000000 - ldr r0, ._710 + 4 @ 0x15ddf - add r2, r1, r0 - mov r0, #0x0 - strb r0, [r2] - ldr r2, ._710 + 8 @ 0x15dde - add r1, r1, r2 - mov r0, #0x8 - strb r0, [r1] - mov r0, #0x9 - strb r0, [r4, #0xa] - add r0, r4, #0 - add r0, r0, #0xb - ldr r1, ._710 + 12 @ gUnknown_Debug_083C48B0 - bl StringCopy -._707: - pop {r4} - pop {r0} - bx r0 -._711: - .align 2, 0 -._710: - .word 0x2000000 - .word 0x15ddf - .word 0x15dde - .word gUnknown_Debug_083C48B0 - - thumb_func_end debug_sub_808F168 - - thumb_func_start debug_sub_808F2E0 -debug_sub_808F2E0: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - lsl r2, r2, #0x18 - cmp r2, #0 - bne ._712 @cond_branch - ldr r1, ._714 @ gDebug_03000710 - mov r0, #0xa1 - b ._713 -._715: - .align 2, 0 -._714: - .word gDebug_03000710 -._712: - ldr r1, ._716 @ gDebug_03000710 - mov r0, #0xa2 -._713: - strb r0, [r1] - mov r0, #0xff - strb r0, [r1, #0x1] - add r0, r1, #0 - add r1, r4, #0 - add r2, r3, #0 - bl Menu_PrintText - pop {r4} - pop {r0} - bx r0 -._717: - .align 2, 0 -._716: - .word gDebug_03000710 - - thumb_func_end debug_sub_808F2E0 - - thumb_func_start debug_sub_808F31C -debug_sub_808F31C: - push {r4, r5, r6, lr} - mov r6, r9 - mov r5, r8 - push {r5, r6} - mov r8, r0 - mov r9, r1 - add r4, r2, #0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r8, r0 - mov r0, r9 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r9, r0 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - ldr r5, ._718 @ gDebug_03000710 - ldr r6, ._718 + 4 @ 0x2710 - add r0, r4, #0 - add r1, r6, #0 - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5] - add r0, r4, #0 - add r1, r6, #0 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r6, #0xfa - lsl r6, r6, #0x2 - add r1, r6, #0 - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x1] - add r0, r4, #0 - add r1, r6, #0 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0x64 - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x2] - add r0, r4, #0 - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xa - bl __udivsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x3] - add r0, r4, #0 - mov r1, #0xa - bl __umodsi3 - add r0, r0, #0xa1 - strb r0, [r5, #0x4] - mov r0, #0xff - strb r0, [r5, #0x5] - add r0, r5, #0 - mov r1, r8 - mov r2, r9 - bl Menu_PrintText - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6} - pop {r0} - bx r0 -._719: - .align 2, 0 -._718: - .word gDebug_03000710 - .word 0x2710 - - thumb_func_end debug_sub_808F31C - - thumb_func_start debug_nullsub_66 -debug_nullsub_66: - bx lr - - thumb_func_end debug_nullsub_66 - - .align 2, 0 - -.endif diff --git a/asm/unk_debug_menu_3.s b/asm/unk_debug_menu_3.s deleted file mode 100644 index aa156a99b..000000000 --- a/asm/unk_debug_menu_3.s +++ /dev/null @@ -1,747 +0,0 @@ -.if DEBUG - - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .text - - thumb_func_start debug_sub_813C404 -debug_sub_813C404: - push {r4, r5, r6, lr} - add r6, r0, #0 - ldr r5, ._1 @ gUnknown_Debug_845DDB2 - ldr r4, ._1 + 4 @ gUnknown_Debug_845DAE1 - sub r5, r5, r4 - add r1, r4, #0 - add r2, r5, #0 - bl memcpy - add r0, r6, #0 - add r1, r4, #0 - bl unref_sub_812620C - add r0, r5, #0 - pop {r4, r5, r6} - pop {r1} - bx r1 -._2: - .align 2, 0 -._1: - .word gUnknown_Debug_845DDB2 - .word gUnknown_Debug_845DAE1 - - thumb_func_end debug_sub_813C404 - - thumb_func_start debug_sub_813C430 -debug_sub_813C430: - push {r4, r5, r6, lr} - add r6, r0, #0 - ldr r5, ._3 @ gUnknown_Debug_845E402 - ldr r4, ._3 + 4 @ gUnknown_Debug_845E3E0 - sub r5, r5, r4 - add r1, r4, #0 - add r2, r5, #0 - bl memcpy - add r0, r6, #0 - add r1, r4, #0 - bl unref_sub_812620C - add r0, r5, #0 - pop {r4, r5, r6} - pop {r1} - bx r1 -._4: - .align 2, 0 -._3: - .word gUnknown_Debug_845E402 - .word gUnknown_Debug_845E3E0 - - thumb_func_end debug_sub_813C430 - - thumb_func_start debug_sub_813C45C -debug_sub_813C45C: - push {r4, r5, r6, lr} - add r6, r0, #0 - ldr r5, ._5 @ gUnknown_Debug_845E443 - ldr r4, ._5 + 4 @ gUnknown_Debug_845E422 - sub r5, r5, r4 - add r1, r4, #0 - add r2, r5, #0 - bl memcpy - add r0, r6, #0 - add r1, r4, #0 - bl unref_sub_812620C - add r0, r5, #0 - pop {r4, r5, r6} - pop {r1} - bx r1 -._6: - .align 2, 0 -._5: - .word gUnknown_Debug_845E443 - .word gUnknown_Debug_845E422 - - thumb_func_end debug_sub_813C45C - - thumb_func_start debug_sub_813C488 -debug_sub_813C488: - push {r4, r5, r6, lr} - add r6, r0, #0 - ldr r5, ._7 @ gUnknown_Debug_845E422 - ldr r4, ._7 + 4 @ gUnknown_Debug_845E402 - sub r5, r5, r4 - add r1, r4, #0 - add r2, r5, #0 - bl memcpy - add r0, r6, #0 - add r1, r4, #0 - bl unref_sub_812620C - add r0, r5, #0 - pop {r4, r5, r6} - pop {r1} - bx r1 -._8: - .align 2, 0 -._7: - .word gUnknown_Debug_845E422 - .word gUnknown_Debug_845E402 - - thumb_func_end debug_sub_813C488 - - thumb_func_start debug_sub_813C4B4 -debug_sub_813C4B4: - push {r4, lr} - ldr r4, ._9 @ gUnknown_Debug_845E619 - ldr r1, ._9 + 4 @ gUnknown_Debug_845E606 - sub r4, r4, r1 - add r2, r4, #0 - bl memcpy - add r0, r4, #0 - pop {r4} - pop {r1} - bx r1 -._10: - .align 2, 0 -._9: - .word gUnknown_Debug_845E619 - .word gUnknown_Debug_845E606 - - thumb_func_end debug_sub_813C4B4 - - thumb_func_start debug_sub_813C4D4 -debug_sub_813C4D4: - push {r4, r5, r6, lr} - add r6, r0, #0 - ldr r5, ._11 @ gUnknown_Debug_845E712 - ldr r4, ._11 + 4 @ gUnknown_Debug_845E619 - sub r5, r5, r4 - add r1, r4, #0 - add r2, r5, #0 - bl memcpy - add r0, r6, #0 - add r1, r4, #0 - bl unref_sub_81261B4 - add r0, r5, #0 - pop {r4, r5, r6} - pop {r1} - bx r1 -._12: - .align 2, 0 -._11: - .word gUnknown_Debug_845E712 - .word gUnknown_Debug_845E619 - - thumb_func_end debug_sub_813C4D4 - - thumb_func_start debug_sub_813C500 -debug_sub_813C500: - push {r4, r5, r6, lr} - add r6, r0, #0 - ldr r5, ._13 @ gUnknown_Debug_845E797 - ldr r4, ._13 + 4 @ gUnknown_Debug_845E712 - sub r5, r5, r4 - add r1, r4, #0 - add r2, r5, #0 - bl memcpy - add r0, r6, #0 - add r1, r4, #0 - bl unref_sub_812620C - add r0, r5, #0 - pop {r4, r5, r6} - pop {r1} - bx r1 -._14: - .align 2, 0 -._13: - .word gUnknown_Debug_845E797 - .word gUnknown_Debug_845E712 - - thumb_func_end debug_sub_813C500 - - thumb_func_start debug_sub_813C52C -debug_sub_813C52C: - push {r4, r5, r6, lr} - mov r6, r9 - mov r5, r8 - push {r5, r6} - mov r8, r0 - lsl r5, r1, #0x10 - lsr r0, r5, #0x10 - mov r9, r0 - ldr r6, ._15 @ gUnknown_Debug_845E7BB - ldr r4, ._15 + 4 @ gUnknown_Debug_845E797 - sub r6, r6, r4 - mov r0, r8 - add r1, r4, #0 - add r2, r6, #0 - bl memcpy - ldr r0, ._15 + 8 @ gUnknown_Debug_845E7B5 - sub r0, r0, r4 - add r0, r0, r8 - add r0, r0, #0x3 - mov r1, r9 - strb r1, [r0] - lsr r5, r5, #0x18 - strb r5, [r0, #0x1] - mov r0, r8 - add r1, r4, #0 - bl unref_sub_812620C - add r0, r6, #0 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6} - pop {r1} - bx r1 -._16: - .align 2, 0 -._15: - .word gUnknown_Debug_845E7BB - .word gUnknown_Debug_845E797 - .word gUnknown_Debug_845E7B5 - - thumb_func_end debug_sub_813C52C - - thumb_func_start debug_sub_813C580 -debug_sub_813C580: - push {lr} - mov r1, #0xd - bl debug_sub_813C52C - pop {r1} - bx r1 - - thumb_func_end debug_sub_813C580 - - thumb_func_start debug_sub_813C58C -debug_sub_813C58C: - push {lr} - mov r1, #0x4 - bl debug_sub_813C52C - pop {r1} - bx r1 - - thumb_func_end debug_sub_813C58C - - thumb_func_start debug_sub_813C598 -debug_sub_813C598: - push {lr} - mov r1, #0x85 - bl debug_sub_813C52C - pop {r1} - bx r1 - - thumb_func_end debug_sub_813C598 - - thumb_func_start debug_sub_813C5A4 -debug_sub_813C5A4: - push {lr} - ldr r1, ._17 @ 0x121 - bl debug_sub_813C52C - pop {r1} - bx r1 -._18: - .align 2, 0 -._17: - .word 0x121 - - thumb_func_end debug_sub_813C5A4 - - thumb_func_start debug_sub_813C5B4 -debug_sub_813C5B4: - push {r4, r5, r6, r7, lr} - add r4, r0, #0 - ldr r7, ._23 @ gSaveBlock1 - ldr r0, ._23 + 4 @ gUnknown_Debug_845DDD6 - ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2 - sub r0, r0, r1 - add r6, r0, r4 - ldr r0, ._23 + 12 @ gUnknown_Debug_845E306 - sub r5, r0, r1 - ldr r0, ._23 + 16 @ Str_842E23C - mov r1, #0x0 - mov r2, #0x0 - bl debug_sub_80C2C18 - mov r2, #0x0 - ldr r3, ._23 + 20 @ 0xfff - mov r1, #0x0 -._19: - add r0, r4, r2 - strb r1, [r0] - add r2, r2, #0x1 - cmp r2, r3 - ble ._19 @cond_branch - mov r2, #0x0 - cmp r2, r5 - bcs ._20 @cond_branch - ldr r3, ._23 + 8 @ gUnknown_Debug_845DDB2 -._21: - add r0, r4, r2 - add r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - add r2, r2, #0x1 - cmp r2, r5 - bcc ._21 @cond_branch -._20: - mov r2, #0x0 - ldr r3, ._23 + 24 @ 0x52f -._22: - add r0, r6, r2 - add r1, r7, r2 - ldrb r1, [r1] - strb r1, [r0] - add r2, r2, #0x1 - cmp r2, r3 - bls ._22 @cond_branch - bl ClearEnigmaBerries - ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2 - add r0, r4, #0 - bl unref_sub_81261B4 - add r0, r5, #0 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._24: - .align 2, 0 -._23: - .word gSaveBlock1+0x3160 - .word gUnknown_Debug_845DDD6 - .word gUnknown_Debug_845DDB2 - .word gUnknown_Debug_845E306 - .word Str_842E23C - .word 0xfff - .word 0x52f - - thumb_func_end debug_sub_813C5B4 - - thumb_func_start debug_sub_813C638 -debug_sub_813C638: - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - add sp, sp, #0xffffffec - mov r8, r0 - add r4, r1, #0 - add r5, r2, #0 - add r6, r3, #0 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - lsl r6, r6, #0x10 - lsr r6, r6, #0x10 - bl ZeroMonData - mov r0, #0x0 - str r0, [sp] - str r0, [sp, #0x4] - mov r0, #0x1 - str r0, [sp, #0x8] - ldr r0, ._25 @ 0x270f - str r0, [sp, #0xc] - mov r0, r8 - add r1, r4, #0 - add r2, r5, #0 - mov r3, #0x20 - bl CreateMon - ldr r2, ._25 + 4 @ Str_842E240 - mov r0, r8 - mov r1, #0x7 - bl SetMonData - ldr r2, ._25 + 8 @ Str_842E248 - mov r0, r8 - mov r1, #0x2 - bl SetMonData - str r6, [sp, #0x10] - mov r0, r8 - mov r1, #0xc - add r2, sp, #0x10 - bl SetMonData - add sp, sp, #0x14 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 -._26: - .align 2, 0 -._25: - .word 0x270f - .word Str_842E240 - .word Str_842E248 - - thumb_func_end debug_sub_813C638 - - thumb_func_start debug_sub_813C6AC -debug_sub_813C6AC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xfffffff8 - add r6, r0, #0 - add r5, r1, #0 - add r0, r5, #0 - bl ClearMailStruct - add r0, r6, #0 - mov r1, #0xc - bl GetMonData - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r8, r0 - bl ItemIsMail - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._27 @cond_branch - add r4, r5, #0 - add r4, r4, #0x12 - add r7, r5, #0 - add r7, r7, #0x1a - mov r1, #0x9 - add r0, r5, #0 - add r0, r0, #0x10 -._28: - strh r1, [r0] - sub r1, r1, #0x1 - sub r0, r0, #0x2 - cmp r0, r5 - bge ._28 @cond_branch - add r0, r6, #0 - mov r1, #0x7 - mov r2, sp - bl GetMonData - add r0, r4, #0 - mov r1, sp - mov r2, #0x8 - bl StringCopyN - add r0, r6, #0 - mov r1, #0x1 - bl GetMonData - add r1, r7, #0 - bl write_word_to_mem - add r0, r6, #0 - mov r1, #0xb - bl GetMonData - add r4, r0, #0 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r6, #0 - mov r1, #0x0 - bl GetMonData - add r1, r0, #0 - add r0, r4, #0 - bl SpeciesToMailSpecies - strh r0, [r5, #0x1e] - mov r0, r8 - strh r0, [r5, #0x20] -._27: - add sp, sp, #0x8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_sub_813C6AC - - thumb_func_start debug_sub_813C740 -debug_sub_813C740: - push {r4, r5, r6, lr} - mov r6, sl - mov r5, r9 - mov r4, r8 - push {r4, r5, r6} - add sp, sp, #0xffffffd0 - add r6, r0, #0 - ldr r0, ._29 @ gUnknown_Debug_845E443 - mov r8, r0 - ldr r1, ._29 + 4 @ gUnknown_Debug_845E4EF - ldr r5, ._29 + 8 @ gEnemyParty - sub r1, r1, r0 - mov r9, r1 - add r0, r6, #0 - mov r1, r8 - mov r2, r9 - bl memcpy - add r0, r5, #0 - mov r1, #0x19 - mov r2, #0x5 - mov r3, #0x0 - bl debug_sub_813C638 - add r4, sp, #0x24 - mov r0, #0x1 - mov sl, r0 - mov r1, sl - strb r1, [r4] - add r0, r5, #0 - mov r1, #0x2d - add r2, r4, #0 - bl SetMonData - mov r0, #0x3 - strb r0, [r4] - add r0, r5, #0 - mov r1, #0x20 - add r2, r4, #0 - bl SetMonData - mov r0, #0xff - strb r0, [r4] - add r0, r5, #0 - mov r1, #0x23 - add r2, r4, #0 - bl SetMonData - ldr r1, ._29 + 12 @ Str_842E238 - add r0, r4, #0 - mov r2, #0xb - bl StringCopyN - add r0, r5, #0 - mov r1, #0x2 - add r2, r4, #0 - bl SetMonData - mov r0, sl - strb r0, [r4] - add r0, r5, #0 - mov r1, #0x3 - add r2, r4, #0 - bl SetMonData - ldr r0, ._29 + 16 @ gUnknown_Debug_845E467 - add r0, r6, r0 - mov r1, r8 - sub r0, r0, r1 - add r1, r5, #0 - mov r2, #0x64 - bl memcpy - ldr r0, ._29 + 20 @ gUnknown_Debug_845E4CB - add r6, r6, r0 - mov r0, r8 - sub r6, r6, r0 - add r0, r6, #0 - mov r1, sp - mov r2, #0x24 - bl memcpy - mov r0, r9 - add sp, sp, #0x30 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6} - pop {r1} - bx r1 -._30: - .align 2, 0 -._29: - .word gUnknown_Debug_845E443 - .word gUnknown_Debug_845E4EF - .word gEnemyParty - .word Str_842E238 - .word gUnknown_Debug_845E467 - .word gUnknown_Debug_845E4CB - - thumb_func_end debug_sub_813C740 - - thumb_func_start debug_sub_813C810 -debug_sub_813C810: - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - add sp, sp, #0xffffffdc - add r6, r0, #0 - ldr r5, ._31 @ gUnknown_Debug_845E443 - ldr r0, ._31 + 4 @ gUnknown_Debug_845E4EF - ldr r4, ._31 + 8 @ gEnemyParty - sub r0, r0, r5 - mov r8, r0 - add r0, r6, #0 - add r1, r5, #0 - mov r2, r8 - bl memcpy - add r0, r4, #0 - mov r1, #0xc9 - mov r2, #0x15 - mov r3, #0x82 - bl debug_sub_813C638 - add r0, r4, #0 - mov r1, sp - bl debug_sub_813C6AC - ldr r0, ._31 + 12 @ gUnknown_Debug_845E467 - add r0, r6, r0 - sub r0, r0, r5 - add r1, r4, #0 - mov r2, #0x64 - bl memcpy - ldr r0, ._31 + 16 @ gUnknown_Debug_845E4CB - add r0, r6, r0 - sub r0, r0, r5 - mov r1, sp - mov r2, #0x24 - bl memcpy - add r0, r6, #0 - add r1, r5, #0 - bl unref_sub_812620C - mov r0, r8 - add sp, sp, #0x24 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r1} - bx r1 -._32: - .align 2, 0 -._31: - .word gUnknown_Debug_845E443 - .word gUnknown_Debug_845E4EF - .word gEnemyParty - .word gUnknown_Debug_845E467 - .word gUnknown_Debug_845E4CB - - thumb_func_end debug_sub_813C810 - - thumb_func_start debug_sub_813C888 -debug_sub_813C888: - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - add sp, sp, #0xffffffdc - add r6, r0, #0 - ldr r5, ._33 @ gUnknown_Debug_845E443 - ldr r0, ._33 + 4 @ gUnknown_Debug_845E4EF - ldr r4, ._33 + 8 @ gEnemyParty - sub r0, r0, r5 - mov r8, r0 - add r0, r6, #0 - add r1, r5, #0 - mov r2, r8 - bl memcpy - add r0, r4, #0 - mov r1, #0xc9 - mov r2, #0x15 - mov r3, #0x82 - bl debug_sub_813C638 - add r0, r4, #0 - mov r1, sp - bl debug_sub_813C6AC - mov r0, #0x0 - strh r0, [r4, #0x1c] - ldr r0, ._33 + 12 @ gUnknown_Debug_845E467 - add r0, r6, r0 - sub r0, r0, r5 - add r1, r4, #0 - mov r2, #0x64 - bl memcpy - ldr r0, ._33 + 16 @ gUnknown_Debug_845E4CB - add r0, r6, r0 - sub r0, r0, r5 - mov r1, sp - mov r2, #0x24 - bl memcpy - add r0, r6, #0 - add r1, r5, #0 - bl unref_sub_812620C - mov r0, r8 - add sp, sp, #0x24 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r1} - bx r1 -._34: - .align 2, 0 -._33: - .word gUnknown_Debug_845E443 - .word gUnknown_Debug_845E4EF - .word gEnemyParty - .word gUnknown_Debug_845E467 - .word gUnknown_Debug_845E4CB - - thumb_func_end debug_sub_813C888 - - thumb_func_start debug_sub_813C904 -debug_sub_813C904: - push {r4, lr} - ldr r4, ._35 @ gPlayerParty - add r0, r4, #0 - mov r1, #0x5 - mov r2, #0x32 - mov r3, #0xb7 - bl debug_sub_813C638 - add r0, r4, #0 - add r0, r0, #0x64 - mov r1, #0x8 - mov r2, #0x32 - mov r3, #0xc4 - bl debug_sub_813C638 - add r4, r4, #0xc8 - add r0, r4, #0 - mov r1, #0x2 - mov r2, #0x32 - mov r3, #0x8d - bl debug_sub_813C638 - pop {r4} - pop {r0} - bx r0 -._36: - .align 2, 0 -._35: - .word gPlayerParty - - thumb_func_end debug_sub_813C904 - - thumb_func_start debug_sub_813C93C -debug_sub_813C93C: - push {r4, r5, r6, lr} - add sp, sp, #0xffffff44 - add r4, r0, #0 - ldr r6, ._37 @ gUnknown_Debug_845E4EF - ldr r5, ._37 + 4 @ gUnknown_Debug_845E606 - sub r5, r5, r6 - add r1, r6, #0 - add r2, r5, #0 - bl memcpy - bl SavePlayerParty - bl debug_sub_813C904 - ldr r1, ._37 + 8 @ Str_842E253 - ldr r2, ._37 + 12 @ 0x270f - mov r0, sp - bl debug_sub_8075DB4 - bl LoadPlayerParty - ldr r0, ._37 + 16 @ gUnknown_Debug_845E506 - add r4, r4, r0 - sub r4, r4, r6 - add r0, r4, #0 - mov r1, sp - mov r2, #0xbc - bl memcpy - add r0, r5, #0 - add sp, sp, #0xbc - pop {r4, r5, r6} - pop {r1} - bx r1 -._38: - .align 2, 0 -._37: - .word gUnknown_Debug_845E4EF - .word gUnknown_Debug_845E606 - .word Str_842E253+5 @ weird... - .word 0x270f - .word gUnknown_Debug_845E506 - - thumb_func_end debug_sub_813C93C - - .align 2, 0 - -.endif diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s deleted file mode 100644 index 892c2262d..000000000 --- a/asm/watanabe_debug_menu.s +++ /dev/null @@ -1,9578 +0,0 @@ -.if DEBUG - - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .text - - thumb_func_start debug_69 -debug_69: - bx lr - - thumb_func_end debug_69 - - thumb_func_start debug_80C35DC -debug_80C35DC: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xfffffff8 - mov r0, #0x0 - bl SetVBlankCallback - mov r0, #0x80 - lsl r0, r0, #0x13 - mov r1, #0x0 - strh r1, [r0] - add r0, r0, #0xe - strh r1, [r0] - sub r0, r0, #0x2 - strh r1, [r0] - sub r0, r0, #0x2 - strh r1, [r0] - sub r0, r0, #0x2 - strh r1, [r0] - add r0, r0, #0x14 - strh r1, [r0] - add r0, r0, #0x2 - strh r1, [r0] - sub r0, r0, #0x6 - strh r1, [r0] - add r0, r0, #0x2 - strh r1, [r0] - sub r0, r0, #0x6 - strh r1, [r0] - add r0, r0, #0x2 - strh r1, [r0] - sub r0, r0, #0x6 - strh r1, [r0] - add r0, r0, #0x2 - strh r1, [r0] - mov r3, #0xc0 - lsl r3, r3, #0x13 - mov r4, #0xc0 - lsl r4, r4, #0x9 - add r0, sp, #0x4 - mov r8, r0 - mov r2, sp - mov r6, #0x0 - ldr r1, ._2 @ 0x40000d4 - mov r5, #0x80 - lsl r5, r5, #0x5 - ldr r7, ._2 + 4 @ 0x81000800 - mov r0, #0x81 - lsl r0, r0, #0x18 - mov ip, r0 -._1: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, #0x4] - str r7, [r1, #0x8] - ldr r0, [r1, #0x8] - add r3, r3, r5 - sub r4, r4, r5 - cmp r4, r5 - bhi ._1 @cond_branch - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, #0x4] - lsr r0, r4, #0x1 - mov r2, ip - orr r0, r0, r2 - str r0, [r1, #0x8] - ldr r0, [r1, #0x8] - mov r0, #0xe0 - lsl r0, r0, #0x13 - mov r3, #0x80 - lsl r3, r3, #0x3 - mov r4, #0x0 - str r4, [sp, #0x4] - ldr r2, ._2 @ 0x40000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, #0x4] - lsr r0, r3, #0x2 - mov r1, #0x85 - lsl r1, r1, #0x18 - orr r0, r0, r1 - str r0, [r2, #0x8] - ldr r0, [r2, #0x8] - mov r1, #0xa0 - lsl r1, r1, #0x13 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, #0x4] - lsr r3, r3, #0x1 - mov r0, #0x81 - lsl r0, r0, #0x18 - orr r3, r3, r0 - str r3, [r2, #0x8] - ldr r0, [r2, #0x8] - bl ResetPaletteFade - bl ScanlineEffect_Stop - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - ldr r0, ._2 + 8 @ stru_83F8828 - bl LoadSpriteSheet - ldr r0, ._2 + 12 @ stru_83F8838 - bl LoadSpritePalette - ldr r0, ._2 + 16 @ gWindowTemplate_81E6C3C - bl Text_LoadWindowTemplate - ldr r0, ._2 + 20 @ gWindowTemplate_81E6CE4 - bl InitMenuWindow - add sp, sp, #0x8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._3: - .align 2, 0 -._2: - .word 0x40000d4 - .word 0x81000800 - .word stru_83F8828 - .word stru_83F8838 - .word gWindowTemplate_81E6C3C - .word gWindowTemplate_81E6CE4 - - thumb_func_end debug_80C35DC - - thumb_func_start debug_80C36F4 -debug_80C36F4: - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - - thumb_func_end debug_80C36F4 - - thumb_func_start debug_80C370C -debug_80C370C: - push {lr} - ldr r0, ._6 @ gPaletteFade - ldrb r1, [r0, #0x7] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - bne ._4 @cond_branch - ldr r0, ._6 + 4 @ debug_80C36F4 - bl SetMainCallback2 - b ._5 -._7: - .align 2, 0 -._6: - .word gPaletteFade - .word debug_80C36F4+1 -._4: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade -._5: - pop {r0} - bx r0 - - thumb_func_end debug_80C370C - - thumb_func_start debug_80C373C -debug_80C373C: - push {lr} - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl DestroyTask - bl ScriptContext2_Disable - ldr r0, ._8 @ sub_80546F0 - bl SetMainCallback2 - pop {r0} - bx r0 -._9: - .align 2, 0 -._8: - .word sub_80546F0+1 - - thumb_func_end debug_80C373C - - thumb_func_start debug_80C3758 -debug_80C3758: - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - - thumb_func_end debug_80C3758 - - thumb_func_start debug_80C376C -debug_80C376C: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - lsl r1, r1, #0x18 - lsr r7, r1, #0x18 - lsl r2, r2, #0x18 - lsr r6, r2, #0x18 - mov r1, #0x0 - mov r2, #0x0 -._10: - mov r3, sp - add r0, r3, r1 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #0x2 - bls ._10 @cond_branch - mov r1, sp - mov r0, #0xff - strb r0, [r1, #0x3] - mov r4, #0x0 - add r0, r5, #0 - mov r1, #0x64 - bl __udivsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0 - beq ._11 @cond_branch - mov r1, sp - add r0, r0, #0xa1 - strb r0, [r1] - mov r4, #0x1 -._11: - add r0, r5, #0 - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xa - bl __udivsi3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0 - bne ._12 @cond_branch - cmp r4, #0 - beq ._13 @cond_branch -._12: - mov r1, sp - add r0, r0, #0xa1 - strb r0, [r1, #0x1] -._13: - mov r4, sp - add r0, r5, #0 - mov r1, #0x64 - bl __umodsi3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xa - bl __umodsi3 - add r0, r0, #0xa1 - strb r0, [r4, #0x2] - mov r0, sp - add r1, r7, #0 - add r2, r6, #0 - bl Menu_PrintText - add sp, sp, #0x4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_80C376C - - thumb_func_start debug_80C3800 -debug_80C3800: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xfffffff4 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - lsl r1, r1, #0x18 - lsr r6, r1, #0x18 - lsl r2, r2, #0x18 - lsr r5, r2, #0x18 - mov r3, #0x0 - ldr r2, ._18 @ gSpeciesNames - mov r1, #0x0 -._14: - mov r7, sp - add r0, r7, r3 - strb r1, [r0] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - cmp r3, #0x9 - bls ._14 @cond_branch - add r1, r7, r3 - mov r0, #0xff - strb r0, [r1] - mov r3, #0x0 - mov r0, #0xb - add r1, r4, #0 - mul r1, r1, r0 - add r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0xff - beq ._16 @cond_branch - add r4, r2, #0 - add r2, r1, #0 -._17: - mov r0, sp - add r1, r0, r3 - add r0, r3, r2 - add r0, r0, r4 - ldrb r0, [r0] - strb r0, [r1] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - add r0, r3, r2 - add r0, r0, r4 - ldrb r0, [r0] - cmp r0, #0xff - beq ._16 @cond_branch - cmp r3, #0x9 - bls ._17 @cond_branch -._16: - mov r0, sp - add r1, r6, #0 - add r2, r5, #0 - bl Menu_PrintText - add sp, sp, #0xc - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._19: - .align 2, 0 -._18: - .word gSpeciesNames - - thumb_func_end debug_80C3800 - - thumb_func_start debug_80C3878 -debug_80C3878: - push {lr} - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - cmp r0, #0 - beq ._20 @cond_branch - cmp r0, #0x1 - beq ._21 @cond_branch -._20: - cmp r1, #0x1 - bls ._22 @cond_branch - sub r0, r1, #1 - b ._23 -._22: - ldr r1, ._25 @ 0x19b - b ._28 -._26: - .align 2, 0 -._25: - .word 0x19b -._21: - mov r0, #0xcd - lsl r0, r0, #0x1 - cmp r1, r0 - bhi ._27 @cond_branch - add r0, r1, #1 -._23: - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - b ._28 -._27: - mov r1, #0x1 -._28: - add r0, r1, #0 - pop {r1} - bx r1 - - thumb_func_end debug_80C3878 - - thumb_func_start debug_80C38B4 -debug_80C38B4: - push {lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - lsl r1, r1, #0x10 - lsr r0, r1, #0x10 - cmp r2, #0 - beq ._29 @cond_branch - cmp r2, #0x1 - beq ._30 @cond_branch -._29: - cmp r0, #0 - beq ._31 @cond_branch - sub r0, r0, #0x1 - b ._32 -._31: - mov r0, #0x52 - b ._35 -._30: - cmp r0, #0x51 - bhi ._34 @cond_branch - add r0, r0, #0x1 -._32: - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - b ._35 -._34: - mov r0, #0x0 -._35: - pop {r1} - bx r1 - - thumb_func_end debug_80C38B4 - - thumb_func_start debug_80C38E4 -debug_80C38E4: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xfffffffc - add r4, r2, #0 - add r5, r3, #0 - ldr r6, [sp, #0x1c] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r8, r0 - lsl r1, r1, #0x18 - lsr r7, r1, #0x18 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - lsl r6, r6, #0x18 - lsr r6, r6, #0x18 - ldr r1, ._37 @ gUnknown_Debug_083F7FD4 - mov r0, sp - mov r2, #0x2 - bl memcpy - add r0, r7, #0 - add r1, r4, #0 - add r2, r7, #0 - add r3, r5, #0 - bl Menu_BlankWindowRect - cmp r6, #0 - beq ._36 @cond_branch - mov r0, sp - add r1, r7, #0 - mov r2, r8 - bl Menu_PrintText -._36: - add sp, sp, #0x4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._38: - .align 2, 0 -._37: - .word gUnknown_Debug_083F7FD4 - - thumb_func_end debug_80C38E4 - - thumb_func_start debug_80C393C -debug_80C393C: - push {lr} - ldr r1, ._39 @ gUnknown_Debug_083F7FD6 - mov r0, #0x1e - bl ProgramFlashSectorAndVerify - pop {r0} - bx r0 -._40: - .align 2, 0 -._39: - .word gUnknown_Debug_083F7FD6 - - thumb_func_end debug_80C393C - - thumb_func_start InitWatanabeDebugMenu -InitWatanabeDebugMenu: - push {r4, lr} - ldr r0, ._46 @ gMain - ldr r1, ._46 + 4 @ 0x43c - add r4, r0, r1 - ldrb r0, [r4] - cmp r0, #0x1 - beq ._41 @cond_branch - cmp r0, #0x1 - ble ._42 @cond_branch - cmp r0, #0x2 - beq ._43 @cond_branch - cmp r0, #0x3 - beq ._44 @cond_branch -._42: - bl save_serialize_map - bl sub_8125E2C - mov r0, #0x1 - strb r0, [r4] - b ._51 -._47: - .align 2, 0 -._46: - .word gMain - .word 0x43c -._41: - bl sub_8125E6C - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._51 @cond_branch - b ._49 -._43: - mov r0, #0x37 - bl PlaySE -._49: - ldrb r0, [r4] - add r0, r0, #0x1 - strb r0, [r4] - b ._51 -._44: - bl IsSEPlaying - lsl r0, r0, #0x18 - cmp r0, #0 - bne ._51 @cond_branch - bl ScriptContext2_Disable - ldr r0, ._52 @ sub_80546F0 - bl SetMainCallback2 -._51: - pop {r4} - pop {r0} - bx r0 -._53: - .align 2, 0 -._52: - .word sub_80546F0+1 - - thumb_func_end InitWatanabeDebugMenu - - thumb_func_start InitSizeComparison -InitSizeComparison: - push {r4, lr} - add sp, sp, #0xfffffffc - bl debug_80C35DC - ldr r1, ._54 @ gReservedSpritePaletteCount - mov r0, #0x1 - strb r0, [r1] - ldr r0, ._54 + 4 @ gUnknown_Debug_20389EC - mov r1, #0x80 - lsl r1, r1, #0x1 - mov r2, #0x20 - bl LoadPalette - ldr r3, ._54 + 8 @ 0x4000208 - ldrh r2, [r3] - mov r0, #0x0 - strh r0, [r3] - ldr r4, ._54 + 12 @ 0x4000200 - ldrh r0, [r4] - mov r1, #0x1 - orr r0, r0, r1 - strh r0, [r4] - strh r2, [r3] - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x10 - mov r3, #0x0 - bl BeginNormalPaletteFade - ldr r0, ._54 + 16 @ debug_80C3758 - bl SetVBlankCallback - ldr r0, ._54 + 20 @ debug_80C370C - bl SetMainCallback2 - mov r1, #0x80 - lsl r1, r1, #0x13 - mov r2, #0x8a - lsl r2, r2, #0x5 - add r0, r2, #0 - strh r0, [r1] - ldr r0, ._54 + 24 @ debug_80C3A50 - mov r1, #0x0 - bl CreateTask - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._54 + 28 @ gTasks - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x3 - add r1, r1, r2 - mov r0, #0xfc - strh r0, [r1, #0x8] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._55: - .align 2, 0 -._54: - .word gReservedSpritePaletteCount - .word gUnknown_Debug_20389EC - .word 0x4000208 - .word 0x4000200 - .word debug_80C3758+1 - .word debug_80C370C+1 - .word debug_80C3A50+1 - .word gTasks - - thumb_func_end InitSizeComparison - - thumb_func_start debug_80C3A50 -debug_80C3A50: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xffffffd8 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r1, ._56 @ gTasks - lsl r2, r0, #0x2 - add r0, r2, r0 - lsl r0, r0, #0x3 - add r7, r0, r1 - ldrh r0, [r7, #0x8] - str r0, [sp, #0x4] - bl NationalPokedexNumToSpecies - mov r1, sp - strh r0, [r1, #0x8] - add r2, r0, #0 - lsl r2, r2, #0x10 - str r2, [sp, #0xc] - lsr r2, r2, #0x10 - mov r9, r2 - ldr r3, ._56 + 4 @ gSaveBlock2 - mov r8, r3 - mov r0, #0x6 - mov r1, #0x0 - mov r2, #0x17 - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x5 - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - ldr r5, ._56 + 8 @ gUnknown_Debug_083F7FD6 - add r0, r5, #0 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - ldr r4, ._56 + 12 @ gUnknown_Debug_083F7FDE - add r0, r4, #0 - mov r1, #0x1 - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0x18 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - add r0, r5, #0 - mov r1, #0x19 - mov r2, #0x1 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0x19 - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0x0 - mov r1, #0xa - mov r2, #0xb - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._56 + 16 @ gUnknown_Debug_083F7FE2 - mov r1, #0x1 - mov r2, #0xb - bl Menu_PrintText - ldr r0, ._56 + 20 @ gUnknown_Debug_083F7FED - mov r1, #0x1 - mov r2, #0xd - bl Menu_PrintText - ldr r0, ._56 + 24 @ gUnknown_Debug_083F7FF6 - mov r1, #0x1 - mov r2, #0xf - bl Menu_PrintText - ldr r0, ._56 + 28 @ gUnknown_Debug_083F8001 - mov r1, #0x1 - mov r2, #0x11 - bl Menu_PrintText - mov r0, #0xc - mov r1, #0xa - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r0, ._56 + 32 @ gUnknown_Debug_083F800C - mov r1, #0xd - mov r2, #0xb - bl Menu_PrintText - ldr r0, ._56 + 36 @ gUnknown_Debug_083F8019 - mov r1, #0xd - mov r2, #0xd - bl Menu_PrintText - mov r0, #0xc - mov r1, #0x10 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - ldr r0, ._56 + 40 @ gUnknown_Debug_083F8022 - mov r1, #0xd - mov r2, #0x11 - bl Menu_PrintText - ldr r0, ._56 + 44 @ gUnknown_Debug_083F8028 - mov r1, #0x18 - mov r2, #0x11 - bl Menu_PrintText - mov r0, r9 - mov r1, #0x12 - mov r2, #0x11 - bl debug_80C3800 - mov r1, r8 - ldrb r0, [r1, #0x8] - mov r1, #0x98 - mov r2, #0x28 - mov r3, #0x0 - bl sub_8091A4C - mov r2, sp - strh r0, [r2, #0x10] - add r3, r0, #0 - lsl r3, r3, #0x10 - str r3, [sp, #0x18] - lsr r0, r3, #0x10 - str r0, [sp, #0x14] - lsl r4, r0, #0x4 - add r4, r4, r0 - lsl r4, r4, #0x2 - ldr r1, ._56 + 48 @ gSprites - add r4, r4, r1 - ldrb r1, [r4, #0x1] - mov r2, #0x4 - neg r2, r2 - mov sl, r2 - mov r0, sl - and r0, r0, r1 - mov r3, #0x1 - orr r0, r0, r3 - strb r0, [r4, #0x1] - ldrb r1, [r4, #0x3] - mov r0, #0x3f - neg r0, r0 - mov r9, r0 - and r0, r0, r1 - mov r1, #0x4 - orr r0, r0, r1 - strb r0, [r4, #0x3] - ldrb r1, [r4, #0x5] - sub r2, r2, #0x9 - mov r8, r2 - mov r0, r8 - and r0, r0, r1 - mov r3, #0xf - and r0, r0, r3 - strb r0, [r4, #0x5] - mov r0, #0x0 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldr r0, ._56 + 52 @ gPokedexEntries - ldr r1, [sp, #0x4] - lsl r5, r1, #0x3 - add r5, r5, r1 - lsl r5, r5, #0x2 - add r5, r5, r0 - ldrh r6, [r5, #0x20] - strh r6, [r4, #0x26] - ldrh r4, [r5, #0x1e] - str r4, [sp] - mov r0, #0x2 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x0 - bl SetOamMatrix - mov r2, sp - ldrh r2, [r2, #0x14] - strh r2, [r7, #0xe] - strh r6, [r7, #0x10] - strh r4, [r7, #0x14] - ldr r0, [sp, #0x4] - mov r1, #0x58 - mov r2, #0x28 - mov r3, #0x1 - bl sub_80918EC - mov r3, sp - strh r0, [r3, #0x1c] - lsl r0, r0, #0x10 - str r0, [sp, #0x24] - lsr r1, r0, #0x10 - str r1, [sp, #0x20] - lsl r4, r1, #0x4 - add r4, r4, r1 - lsl r4, r4, #0x2 - ldr r2, ._56 + 48 @ gSprites - add r4, r4, r2 - ldrb r0, [r4, #0x1] - mov r3, sl - and r3, r3, r0 - mov r0, #0x1 - orr r3, r3, r0 - strb r3, [r4, #0x1] - ldrb r0, [r4, #0x3] - mov r1, r9 - and r1, r1, r0 - mov r0, #0x2 - orr r1, r1, r0 - strb r1, [r4, #0x3] - ldrb r0, [r4, #0x5] - mov r2, r8 - and r2, r2, r0 - mov r3, #0xf - and r2, r2, r3 - strb r2, [r4, #0x5] - mov r0, #0x0 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldrh r0, [r5, #0x1c] - mov r8, r0 - strh r0, [r4, #0x26] - ldrh r4, [r5, #0x1a] - str r4, [sp] - mov r0, #0x1 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x0 - bl SetOamMatrix - mov r1, sp - ldrh r1, [r1, #0x20] - strh r1, [r7, #0xc] - mov r2, r8 - strh r2, [r7, #0x12] - strh r4, [r7, #0x16] - mov r3, #0x0 - strh r3, [r7, #0x18] - strh r3, [r7, #0x1a] - ldr r1, ._56 + 56 @ 0x4000048 - ldr r2, ._56 + 60 @ 0x3f1f - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x2 - mov r0, #0x1f - strh r0, [r1] - ldr r2, ._56 + 64 @ 0x4000040 - mov r3, #0x18 - ldsh r1, [r7, r3] - lsl r1, r1, #0x6 - add r0, r1, #0 - add r0, r0, #0x38 - lsl r0, r0, #0x8 - add r1, r1, #0x78 - add r0, r0, r1 - strh r0, [r2] - ldr r1, ._56 + 68 @ 0x4000044 - ldr r2, ._56 + 72 @ 0x848 - add r0, r2, #0 - strh r0, [r1] - sub r1, r1, #0x2 - ldr r3, ._56 + 76 @ 0x31bf - add r0, r3, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._56 + 80 @ 0x14f - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0xa - mov r0, #0xe1 - strh r0, [r1] - ldr r0, ._56 + 84 @ 0x4000052 - mov r3, #0x0 - strh r3, [r0] - add r1, r1, #0x4 - mov r0, #0x7 - strh r0, [r1] - mov r2, #0x80 - lsl r2, r2, #0x13 - ldrh r0, [r2] - mov r3, #0xc0 - lsl r3, r3, #0x7 - add r1, r3, #0 - orr r0, r0, r1 - strh r0, [r2] - ldr r0, ._56 + 88 @ debug_80C3D2C - str r0, [r7] - add sp, sp, #0x28 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._57: - .align 2, 0 -._56: - .word gTasks - .word gSaveBlock2 - .word gUnknown_Debug_083F7FD6+0x4 - .word gUnknown_Debug_083F7FDE - .word gUnknown_Debug_083F7FE2 - .word gUnknown_Debug_083F7FED - .word gUnknown_Debug_083F7FF6 - .word gUnknown_Debug_083F8001 - .word gUnknown_Debug_083F800C - .word gUnknown_Debug_083F8019 - .word gUnknown_Debug_083F8022 - .word gUnknown_Debug_083F8028 - .word gSprites - .word gPokedexEntries - .word 0x4000048 - .word 0x3f1f - .word 0x4000040 - .word 0x4000044 - .word 0x848 - .word 0x31bf - .word 0x14f - .word 0x4000052 - .word debug_80C3D2C+1 - - thumb_func_end debug_80C3A50 - - thumb_func_start debug_80C3D2C -debug_80C3D2C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - add r7, r6, #0 - ldr r4, ._60 @ gMain - ldrh r1, [r4, #0x2e] - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._58 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r0, ._60 + 4 @ debug_80C370C - bl SetMainCallback2 - ldr r1, ._60 + 8 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._60 + 12 @ debug_80C373C - str r1, [r0] - b ._117 -._61: - .align 2, 0 -._60: - .word gMain - .word debug_80C370C+1 - .word gTasks - .word debug_80C373C+1 -._58: - mov r5, #0x1 - add r0, r5, #0 - and r0, r0, r1 - cmp r0, #0 - beq ._62 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r1, ._64 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldrh r1, [r0, #0x18] - mov r2, #0x1 - eor r1, r1, r2 - strh r1, [r0, #0x18] - b ._117 -._65: - .align 2, 0 -._64: - .word gTasks -._62: - ldrh r1, [r4, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._66 @cond_branch - ldr r1, ._70 @ gTasks - lsl r2, r6, #0x2 - add r0, r2, r6 - lsl r0, r0, #0x3 - add r3, r0, r1 - mov r5, #0x18 - ldsh r0, [r3, r5] - mov r8, r1 - cmp r0, #0 - beq ._67 @cond_branch - ldrh r1, [r4, #0x2c] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._68 @cond_branch - ldrh r0, [r3, #0x14] - add r0, r0, #0x10 - b ._69 -._71: - .align 2, 0 -._70: - .word gTasks -._68: - ldrh r0, [r3, #0x14] - add r0, r0, #0x1 -._69: - strh r0, [r3, #0x14] - add r0, r2, r7 - lsl r0, r0, #0x3 - mov r2, r8 - add r1, r0, r2 - ldrh r0, [r1, #0x14] - mov r6, #0x80 - lsl r6, r6, #0x8 - cmp r0, r6 - bhi ._72 @cond_branch - b ._117 -._72: - strh r6, [r1, #0x14] - b ._117 -._67: - ldrh r1, [r4, #0x2c] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._75 @cond_branch - ldrh r0, [r3, #0x16] - add r0, r0, #0x10 - b ._76 -._75: - ldrh r0, [r3, #0x16] - add r0, r0, #0x1 -._76: - strh r0, [r3, #0x16] - add r0, r2, r7 - lsl r0, r0, #0x3 - mov r4, r8 - add r1, r0, r4 - ldrh r0, [r1, #0x16] - mov r6, #0x80 - lsl r6, r6, #0x8 - cmp r0, r6 - bhi ._77 @cond_branch - b ._117 -._77: - strh r6, [r1, #0x16] - b ._117 -._66: - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._80 @cond_branch - ldr r1, ._84 @ gTasks - lsl r2, r6, #0x2 - add r0, r2, r6 - lsl r0, r0, #0x3 - add r3, r0, r1 - mov r5, #0x18 - ldsh r0, [r3, r5] - mov r8, r1 - cmp r0, #0 - beq ._81 @cond_branch - ldrh r1, [r4, #0x2c] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._82 @cond_branch - ldrh r0, [r3, #0x14] - sub r0, r0, #0x10 - b ._83 -._85: - .align 2, 0 -._84: - .word gTasks -._82: - ldrh r0, [r3, #0x14] - sub r0, r0, #0x1 -._83: - strh r0, [r3, #0x14] - add r0, r2, r7 - lsl r0, r0, #0x3 - mov r2, r8 - add r1, r0, r2 - mov r4, #0x14 - ldsh r0, [r1, r4] - cmp r0, #0xff - ble ._86 @cond_branch - b ._117 -._86: - mov r0, #0x80 - lsl r0, r0, #0x1 - strh r0, [r1, #0x14] - b ._117 -._81: - ldrh r1, [r4, #0x2c] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._89 @cond_branch - ldrh r0, [r3, #0x16] - sub r0, r0, #0x10 - b ._90 -._89: - ldrh r0, [r3, #0x16] - sub r0, r0, #0x1 -._90: - strh r0, [r3, #0x16] - add r0, r2, r7 - lsl r0, r0, #0x3 - mov r5, r8 - add r1, r0, r5 - mov r2, #0x16 - ldsh r0, [r1, r2] - cmp r0, #0xff - ble ._91 @cond_branch - b ._117 -._91: - mov r0, #0x80 - lsl r0, r0, #0x1 - strh r0, [r1, #0x16] - b ._117 -._80: - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._94 @cond_branch - ldr r0, ._97 @ gTasks - lsl r1, r6, #0x2 - add r1, r1, r6 - lsl r1, r1, #0x3 - add r1, r1, r0 - mov r4, #0x18 - ldsh r0, [r1, r4] - cmp r0, #0 - beq ._95 @cond_branch - ldrh r0, [r1, #0x10] - sub r0, r0, #0x1 - strh r0, [r1, #0x10] - b ._117 -._98: - .align 2, 0 -._97: - .word gTasks -._95: - ldrh r0, [r1, #0x12] - sub r0, r0, #0x1 - strh r0, [r1, #0x12] - b ._117 -._94: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._100 @cond_branch - ldr r0, ._103 @ gTasks - lsl r1, r6, #0x2 - add r1, r1, r6 - lsl r1, r1, #0x3 - add r1, r1, r0 - mov r5, #0x18 - ldsh r0, [r1, r5] - cmp r0, #0 - beq ._101 @cond_branch - ldrh r0, [r1, #0x10] - add r0, r0, #0x1 - strh r0, [r1, #0x10] - b ._117 -._104: - .align 2, 0 -._103: - .word gTasks -._101: - ldrh r0, [r1, #0x12] - add r0, r0, #0x1 - strh r0, [r1, #0x12] - b ._117 -._100: - mov r0, #0x8 - and r0, r0, r1 - cmp r0, #0 - beq ._106 @cond_branch - ldr r2, ._109 @ gTasks - lsl r3, r6, #0x2 - add r0, r3, r6 - lsl r0, r0, #0x3 - add r6, r0, r2 - ldrh r4, [r6, #0x8] - mov r0, #0x8 - ldsh r1, [r6, r0] - ldr r0, ._109 + 4 @ 0x181 - mov r8, r2 - add r2, r3, #0 - cmp r1, r0 - bgt ._107 @cond_branch - add r0, r4, #1 - strh r0, [r6, #0x8] - b ._108 -._110: - .align 2, 0 -._109: - .word gTasks - .word 0x181 -._107: - strh r5, [r6, #0x8] -._108: - add r4, r2, r7 - lsl r4, r4, #0x3 - add r4, r4, r8 - mov r2, #0xc - ldsh r1, [r4, r2] - b ._111 -._106: - mov r0, #0x4 - and r0, r0, r1 - cmp r0, #0 - beq ._112 @cond_branch - ldr r1, ._115 @ gTasks - lsl r2, r6, #0x2 - add r0, r2, r6 - lsl r0, r0, #0x3 - add r3, r0, r1 - ldrh r6, [r3, #0x8] - mov r4, #0x8 - ldsh r0, [r3, r4] - mov r8, r1 - cmp r0, #0x1 - ble ._113 @cond_branch - sub r0, r6, #1 - b ._114 -._116: - .align 2, 0 -._115: - .word gTasks -._113: - mov r0, #0xc1 - lsl r0, r0, #0x1 -._114: - strh r0, [r3, #0x8] - add r4, r2, r7 - lsl r4, r4, #0x3 - add r4, r4, r8 - mov r5, #0xc - ldsh r1, [r4, r5] -._111: - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - ldr r5, ._118 @ gSprites - add r0, r0, r5 - bl DestroySprite - mov r0, #0xe - ldsh r1, [r4, r0] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r5 - bl DestroySprite - ldr r0, ._118 + 4 @ debug_80C3A50 - str r0, [r4] - b ._117 -._119: - .align 2, 0 -._118: - .word gSprites - .word debug_80C3A50+1 -._112: - ldr r0, ._120 @ gTasks - lsl r5, r7, #0x2 - add r5, r5, r7 - lsl r5, r5, #0x3 - add r5, r5, r0 - ldrh r4, [r5, #0x16] - ldrh r6, [r5, #0x12] - str r4, [sp] - mov r0, #0x1 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x0 - bl SetOamMatrix - add r0, r4, #0 - mov r1, #0x1 - mov r2, #0x3 - mov r3, #0x4 - bl debug_80C68CC - add r0, r6, #0 - mov r1, #0x1 - mov r2, #0x7 - mov r3, #0x4 - bl debug_80C68CC - ldr r2, ._120 + 4 @ gSprites - mov r8, r2 - mov r4, #0xc - ldsh r1, [r5, r4] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r8 - strh r6, [r0, #0x26] - ldrh r4, [r5, #0x14] - ldrh r6, [r5, #0x10] - str r4, [sp] - mov r0, #0x2 - add r1, r4, #0 - mov r2, #0x0 - mov r3, #0x0 - bl SetOamMatrix - add r0, r4, #0 - mov r1, #0x19 - mov r2, #0x3 - mov r3, #0x4 - bl debug_80C68CC - add r0, r6, #0 - mov r1, #0x19 - mov r2, #0x7 - mov r3, #0x4 - bl debug_80C68CC - mov r0, #0xe - ldsh r1, [r5, r0] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r8 - strh r6, [r0, #0x26] - ldr r2, ._120 + 8 @ 0x4000040 - mov r4, #0x18 - ldsh r1, [r5, r4] - lsl r1, r1, #0x6 - add r0, r1, #0 - add r0, r0, #0x38 - lsl r0, r0, #0x8 - add r1, r1, #0x78 - add r0, r0, r1 - strh r0, [r2] -._117: - add sp, sp, #0x4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._121: - .align 2, 0 -._120: - .word gTasks - .word gSprites - .word 0x4000040 - - thumb_func_end debug_80C3D2C - - thumb_func_start debug_80C405C -debug_80C405C: - push {r4, r5, lr} - add r4, r0, #0 - lsl r1, r1, #0x10 - lsr r5, r1, #0x10 - mov r2, #0x0 - mov r1, #0x0 -._122: - add r0, r4, r2 - strb r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x9 - bls ._122 @cond_branch - add r0, r4, r2 - mov r1, #0xff - strb r1, [r0] - mov r0, #0xae - strb r0, [r4] - cmp r5, #0 - beq ._125 @cond_branch - mov r2, #0x0 - ldr r3, ._127 @ gSpeciesNames - mov r0, #0xb - add r1, r5, #0 - mul r1, r1, r0 - add r0, r1, r3 - ldrb r0, [r0] - cmp r0, #0xff - beq ._125 @cond_branch - add r5, r3, #0 - add r3, r1, #0 -._126: - add r1, r4, r2 - add r0, r2, r3 - add r0, r0, r5 - ldrb r0, [r0] - strb r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - add r0, r2, r3 - add r0, r0, r5 - ldrb r0, [r0] - cmp r0, #0xff - beq ._125 @cond_branch - cmp r2, #0x9 - bls ._126 @cond_branch -._125: - pop {r4, r5} - pop {r0} - bx r0 -._128: - .align 2, 0 -._127: - .word gSpeciesNames - - thumb_func_end debug_80C405C - - thumb_func_start debug_80C40C4 -debug_80C40C4: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - mov r5, #0x0 - mov r6, sp -._135: - cmp r7, #0 - beq ._129 @cond_branch - mov r0, #0x64 - add r1, r5, #0 - mul r1, r1, r0 - ldr r0, ._132 @ gEnemyParty - add r4, r1, r0 - add r0, r4, #0 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - beq ._134 @cond_branch - add r0, r4, #0 - bl CalculateMonStats - add r0, r4, #0 - mov r1, #0x3a - bl GetMonData - strh r0, [r6] - add r0, r4, #0 - mov r1, #0x39 - mov r2, sp - bl SetMonData - b ._134 -._133: - .align 2, 0 -._132: - .word gEnemyParty -._129: - mov r0, #0x64 - add r1, r5, #0 - mul r1, r1, r0 - ldr r0, ._136 @ gPlayerParty - add r4, r1, r0 - add r0, r4, #0 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - beq ._134 @cond_branch - add r0, r4, #0 - bl CalculateMonStats - add r0, r4, #0 - mov r1, #0x3a - bl GetMonData - strh r0, [r6] - add r0, r4, #0 - mov r1, #0x39 - mov r2, sp - bl SetMonData -._134: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x5 - bls ._135 @cond_branch - add sp, sp, #0x4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._137: - .align 2, 0 -._136: - .word gPlayerParty - - thumb_func_end debug_80C40C4 - - thumb_func_start InitBattleForDebug -InitBattleForDebug: - push {lr} - bl SavePlayerParty - ldr r1, ._138 @ gUnknown_Debug_2038A0C - ldr r0, ._138 + 4 @ gSaveBlock2 - ldrb r2, [r0, #0x8] - mov r0, #0x0 - strb r2, [r1, #0xd] - strb r0, [r1] - strb r0, [r1, #0x1] - strb r0, [r1, #0x2] - strb r0, [r1, #0x3] - strb r0, [r1, #0x4] - strb r0, [r1, #0x5] - strb r0, [r1, #0x6] - strb r0, [r1, #0x7] - strb r0, [r1, #0x8] - strb r0, [r1, #0xc] - ldr r1, ._138 + 8 @ byte_3005E30 - str r0, [r1] - bl ZeroPlayerPartyMons - bl ZeroEnemyPartyMons - mov r0, #0x0 - bl debug_80C4214 - ldr r0, ._138 + 12 @ debug_80C47BC - mov r1, #0x0 - bl CreateTask - pop {r0} - bx r0 -._139: - .align 2, 0 -._138: - .word gUnknown_Debug_2038A0C - .word gSaveBlock2 - .word byte_3005E30 - .word debug_80C47BC+1 - - thumb_func_end InitBattleForDebug - - thumb_func_start debug_80C41A8 -debug_80C41A8: - push {lr} - ldr r1, ._140 @ gUnknown_Debug_2038A0C - mov r0, #0x0 - strb r0, [r1, #0x1] - strb r0, [r1, #0x2] - bl ZeroPlayerPartyMons - bl ZeroEnemyPartyMons - mov r0, #0x0 - bl debug_80C4214 - ldr r0, ._140 + 4 @ debug_80C47BC - mov r1, #0x0 - bl CreateTask - pop {r0} - bx r0 -._141: - .align 2, 0 -._140: - .word gUnknown_Debug_2038A0C - .word debug_80C47BC+1 - - thumb_func_end debug_80C41A8 - - thumb_func_start debug_80C41D4 -debug_80C41D4: - push {lr} - mov r0, #0x0 - bl debug_80C40C4 - mov r0, #0x0 - bl debug_80C4214 - ldr r0, ._142 @ debug_80C42B8 - mov r1, #0x0 - bl CreateTask - pop {r0} - bx r0 -._143: - .align 2, 0 -._142: - .word debug_80C42B8+1 - - thumb_func_end debug_80C41D4 - - thumb_func_start debug_80C41F4 -debug_80C41F4: - push {lr} - mov r0, #0x1 - bl debug_80C40C4 - mov r0, #0x1 - bl debug_80C4214 - ldr r0, ._144 @ debug_80C42B8 - mov r1, #0x0 - bl CreateTask - pop {r0} - bx r0 -._145: - .align 2, 0 -._144: - .word debug_80C42B8+1 - - thumb_func_end debug_80C41F4 - - thumb_func_start debug_80C4214 -debug_80C4214: - push {r4, r5, r6, lr} - bl debug_80C35DC - ldr r6, ._146 @ 0x4000040 - mov r4, #0x0 - strh r4, [r6] - ldr r5, ._146 + 4 @ 0x4000044 - strh r4, [r5] - ldr r0, ._146 + 8 @ 0x4000042 - strh r4, [r0] - add r0, r0, #0x4 - strh r4, [r0] - ldr r1, ._146 + 12 @ 0x4000048 - ldr r2, ._146 + 16 @ 0x1111 - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x2 - mov r0, #0x31 - strh r0, [r1] - add r1, r1, #0x6 - mov r0, #0xe1 - strh r0, [r1] - ldr r0, ._146 + 20 @ 0x4000052 - strh r4, [r0] - add r1, r1, #0x4 - mov r0, #0x7 - strh r0, [r1] - ldr r3, ._146 + 24 @ 0x4000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, ._146 + 28 @ 0x4000200 - ldrh r0, [r4] - mov r1, #0x1 - orr r0, r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, ._146 + 32 @ debug_80C3758 - bl SetVBlankCallback - ldr r0, ._146 + 36 @ debug_80C370C - bl SetMainCallback2 - mov r1, #0x80 - lsl r1, r1, #0x13 - ldr r2, ._146 + 40 @ 0x7140 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._146 + 44 @ 0x1ef - add r0, r1, #0 - strh r0, [r6] - ldr r2, ._146 + 48 @ 0x819f - add r0, r2, #0 - strh r0, [r5] - pop {r4, r5, r6} - pop {r0} - bx r0 -._147: - .align 2, 0 -._146: - .word 0x4000040 - .word 0x4000044 - .word 0x4000042 - .word 0x4000048 - .word 0x1111 - .word 0x4000052 - .word 0x4000208 - .word 0x4000200 - .word debug_80C3758+1 - .word debug_80C370C+1 - .word 0x7140 - .word 0x1ef - .word 0x819f - - thumb_func_end debug_80C4214 - - thumb_func_start debug_80C42B8 -debug_80C42B8: - push {r4, r5, lr} - add sp, sp, #0xffffffe4 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - ldr r1, ._150 @ gUnknown_Debug_083F8194 - mov r0, sp - mov r2, #0xc - bl memcpy - add r4, sp, #0xc - ldr r1, ._150 + 4 @ gUnknown_Debug_083F81A0 - add r0, r4, #0 - mov r2, #0xd - bl memcpy - mov r0, #0x0 - mov r1, #0x10 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r0, sp - mov r1, #0x1 - mov r2, #0x11 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0x14 - mov r2, #0x11 - bl Menu_PrintText - bl debug_80C4694 - bl debug_80C4704 - ldr r0, ._150 + 8 @ gUnknown_Debug_2038A0C - ldrb r0, [r0] - cmp r0, #0 - beq ._148 @cond_branch - ldr r0, ._150 + 12 @ gTasks - lsl r1, r5, #0x2 - add r1, r1, r5 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._150 + 16 @ debug_80C44EC - b ._149 -._151: - .align 2, 0 -._150: - .word gUnknown_Debug_083F8194 - .word gUnknown_Debug_083F81A0 - .word gUnknown_Debug_2038A0C - .word gTasks - .word debug_80C44EC+1 -._148: - ldr r0, ._152 @ gTasks - lsl r1, r5, #0x2 - add r1, r1, r5 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._152 + 4 @ debug_80C4348 -._149: - str r0, [r1] - add sp, sp, #0x1c - pop {r4, r5} - pop {r0} - bx r0 -._153: - .align 2, 0 -._152: - .word gTasks - .word debug_80C4348+1 - - thumb_func_end debug_80C42B8 - - thumb_func_start debug_80C4348 -debug_80C4348: - push {r4, lr} - add sp, sp, #0xfffffffc - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r0, ._154 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x1] - lsl r0, r0, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r0, r0, r1 - lsr r0, r0, #0x18 - mov r1, #0x1 - str r1, [sp] - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r1, ._154 + 4 @ 0x4000042 - ldr r2, ._154 + 8 @ 0x177 - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - add r2, r2, #0x8 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._154 + 12 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._154 + 16 @ debug_80C43A8 - str r1, [r0] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._155: - .align 2, 0 -._154: - .word gUnknown_Debug_2038A0C - .word 0x4000042 - .word 0x177 - .word gTasks - .word debug_80C43A8+1 - - thumb_func_end debug_80C4348 - - thumb_func_start debug_80C43A8 -debug_80C43A8: - push {r4, r5, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r1, ._158 @ gMain - ldrh r2, [r1, #0x2e] - mov r0, #0x1 - and r0, r0, r2 - add r3, r1, #0 - cmp r0, #0 - beq ._156 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r0, ._158 + 4 @ gUnknown_Debug_2038A0C - ldrb r1, [r0, #0x1] - mov r0, #0x64 - mul r0, r0, r1 - ldr r1, ._158 + 8 @ gPlayerParty - add r0, r0, r1 - ldr r1, ._158 + 12 @ debug_80C41D4 - bl debug_sub_80A433C - add r0, r4, #0 - bl DestroyTask - b ._180 -._159: - .align 2, 0 -._158: - .word gMain - .word gUnknown_Debug_2038A0C - .word gPlayerParty - .word debug_80C41D4+1 -._156: - mov r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - beq ._160 @cond_branch - ldr r0, ._162 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._162 + 4 @ debug_80C4F48 - str r0, [r1] - b ._180 -._163: - .align 2, 0 -._162: - .word gTasks - .word debug_80C4F48+1 -._160: - mov r0, #0x8 - and r0, r0, r2 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0 - beq ._164 @cond_branch - bl debug_80C4774 - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._180 @cond_branch - mov r0, #0x5 - bl PlaySE - bl CalculatePlayerPartyCount - bl CalculateEnemyPartyCount - ldr r0, ._167 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._167 + 4 @ debug_80C4D14 - str r0, [r1] - b ._180 -._168: - .align 2, 0 -._167: - .word gTasks - .word debug_80C4D14+1 -._164: - mov r0, #0x88 - lsl r0, r0, #0x1 - and r0, r0, r2 - cmp r0, #0 - beq ._169 @cond_branch - str r1, [sp] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r0, ._171 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._171 + 4 @ debug_80C44EC - str r0, [r1] - b ._180 -._172: - .align 2, 0 -._171: - .word gTasks - .word debug_80C44EC+1 -._169: - ldrh r1, [r3, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._174 @cond_branch - ldr r1, ._176 @ gUnknown_Debug_2038A0C - ldrb r0, [r1, #0x1] - cmp r0, #0 - beq ._174 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1, #0x1] - b ._175 -._177: - .align 2, 0 -._176: - .word gUnknown_Debug_2038A0C -._174: - ldrh r1, [r3, #0x30] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._180 @cond_branch - ldr r5, ._181 @ gUnknown_Debug_2038A0C - ldrb r0, [r5, #0x1] - cmp r0, #0x4 - bhi ._180 @cond_branch - add r1, r0, #0 - mov r0, #0x64 - mul r0, r0, r1 - ldr r1, ._181 + 4 @ gPlayerParty - add r0, r0, r1 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - beq ._180 @cond_branch - ldrb r0, [r5, #0x1] - add r0, r0, #0x1 - strb r0, [r5, #0x1] -._175: - ldr r1, ._181 + 8 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._181 + 12 @ debug_80C4348 - str r1, [r0] -._180: - add sp, sp, #0x4 - pop {r4, r5} - pop {r0} - bx r0 -._182: - .align 2, 0 -._181: - .word gUnknown_Debug_2038A0C - .word gPlayerParty - .word gTasks - .word debug_80C4348+1 - - thumb_func_end debug_80C43A8 - - thumb_func_start debug_80C44EC -debug_80C44EC: - push {r4, lr} - add sp, sp, #0xfffffffc - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r0, ._183 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x2] - lsl r0, r0, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r0, r0, r1 - lsr r0, r0, #0x18 - mov r1, #0x1 - str r1, [sp] - mov r1, #0x10 - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r1, ._183 + 4 @ 0x4000042 - ldr r2, ._183 + 8 @ 0x79ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._183 + 12 @ 0x17f - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._183 + 16 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._183 + 20 @ debug_80C4550 - str r1, [r0] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._184: - .align 2, 0 -._183: - .word gUnknown_Debug_2038A0C - .word 0x4000042 - .word 0x79ef - .word 0x17f - .word gTasks - .word debug_80C4550+1 - - thumb_func_end debug_80C44EC - - thumb_func_start debug_80C4550 -debug_80C4550: - push {r4, r5, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r1, ._187 @ gMain - ldrh r2, [r1, #0x2e] - mov r0, #0x1 - and r0, r0, r2 - add r3, r1, #0 - cmp r0, #0 - beq ._185 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r0, ._187 + 4 @ gUnknown_Debug_2038A0C - ldrb r1, [r0, #0x2] - mov r0, #0x64 - mul r0, r0, r1 - ldr r1, ._187 + 8 @ gEnemyParty - add r0, r0, r1 - ldr r1, ._187 + 12 @ debug_80C41F4 - bl debug_sub_80A433C - add r0, r4, #0 - bl DestroyTask - b ._209 -._188: - .align 2, 0 -._187: - .word gMain - .word gUnknown_Debug_2038A0C - .word gEnemyParty - .word debug_80C41F4+1 -._185: - mov r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - beq ._189 @cond_branch - ldr r0, ._191 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._191 + 4 @ debug_80C4F48 - str r0, [r1] - b ._209 -._192: - .align 2, 0 -._191: - .word gTasks - .word debug_80C4F48+1 -._189: - mov r0, #0x8 - and r0, r0, r2 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0 - beq ._193 @cond_branch - bl debug_80C4774 - lsl r0, r0, #0x18 - cmp r0, #0 - beq ._209 @cond_branch - mov r0, #0x5 - bl PlaySE - bl CalculatePlayerPartyCount - bl CalculateEnemyPartyCount - ldr r0, ._196 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._196 + 4 @ debug_80C4D14 - str r0, [r1] - b ._209 -._197: - .align 2, 0 -._196: - .word gTasks - .word debug_80C4D14+1 -._193: - mov r0, #0x88 - lsl r0, r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - beq ._198 @cond_branch - str r1, [sp] - mov r0, #0x0 - mov r1, #0x10 - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r0, ._200 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._200 + 4 @ debug_80C4348 - str r0, [r1] - b ._209 -._201: - .align 2, 0 -._200: - .word gTasks - .word debug_80C4348+1 -._198: - ldrh r1, [r3, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._203 @cond_branch - ldr r1, ._205 @ gUnknown_Debug_2038A0C - ldrb r0, [r1, #0x2] - cmp r0, #0 - beq ._203 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1, #0x2] - b ._204 -._206: - .align 2, 0 -._205: - .word gUnknown_Debug_2038A0C -._203: - ldrh r1, [r3, #0x30] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._209 @cond_branch - ldr r5, ._210 @ gUnknown_Debug_2038A0C - ldrb r0, [r5, #0x2] - cmp r0, #0x4 - bhi ._209 @cond_branch - add r1, r0, #0 - mov r0, #0x64 - mul r0, r0, r1 - ldr r1, ._210 + 4 @ gEnemyParty - add r0, r0, r1 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - beq ._209 @cond_branch - ldrb r0, [r5, #0x2] - add r0, r0, #0x1 - strb r0, [r5, #0x2] -._204: - ldr r1, ._210 + 8 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._210 + 12 @ debug_80C44EC - str r1, [r0] -._209: - add sp, sp, #0x4 - pop {r4, r5} - pop {r0} - bx r0 -._211: - .align 2, 0 -._210: - .word gUnknown_Debug_2038A0C - .word gEnemyParty - .word gTasks - .word debug_80C44EC+1 - - thumb_func_end debug_80C4550 - - thumb_func_start debug_80C4694 -debug_80C4694: - push {r4, r5, lr} - add sp, sp, #0xffffffe4 - ldr r1, ._213 @ gUnknown_Debug_083F81AD - mov r0, sp - mov r2, #0xd - bl memcpy - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xe - mov r3, #0xf - bl Menu_DrawStdWindowFrame - mov r0, sp - mov r1, #0x2 - mov r2, #0x1 - bl Menu_PrintText - mov r4, #0x0 - add r5, sp, #0x10 -._212: - mov r0, #0x64 - mul r0, r0, r4 - ldr r1, ._213 + 4 @ gPlayerParty - add r0, r0, r1 - mov r1, #0xb - bl GetMonData - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r5, #0 - bl debug_80C405C - lsl r2, r4, #0x19 - mov r0, #0xc0 - lsl r0, r0, #0x12 - add r2, r2, r0 - lsr r2, r2, #0x18 - add r0, r5, #0 - mov r1, #0x2 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x5 - bls ._212 @cond_branch - add sp, sp, #0x1c - pop {r4, r5} - pop {r0} - bx r0 -._214: - .align 2, 0 -._213: - .word gUnknown_Debug_083F81AD - .word gPlayerParty - - thumb_func_end debug_80C4694 - - thumb_func_start debug_80C4704 -debug_80C4704: - push {r4, r5, lr} - add sp, sp, #0xffffffe4 - ldr r1, ._216 @ gUnknown_Debug_083F81BA - mov r0, sp - mov r2, #0xd - bl memcpy - mov r0, #0xf - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - mov r0, sp - mov r1, #0x11 - mov r2, #0x1 - bl Menu_PrintText - mov r4, #0x0 - add r5, sp, #0x10 -._215: - mov r0, #0x64 - mul r0, r0, r4 - ldr r1, ._216 + 4 @ gEnemyParty - add r0, r0, r1 - mov r1, #0xb - bl GetMonData - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - add r0, r5, #0 - bl debug_80C405C - lsl r2, r4, #0x19 - mov r0, #0xc0 - lsl r0, r0, #0x12 - add r2, r2, r0 - lsr r2, r2, #0x18 - add r0, r5, #0 - mov r1, #0x11 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x5 - bls ._215 @cond_branch - add sp, sp, #0x1c - pop {r4, r5} - pop {r0} - bx r0 -._217: - .align 2, 0 -._216: - .word gUnknown_Debug_083F81BA - .word gEnemyParty - - thumb_func_end debug_80C4704 - - thumb_func_start debug_80C4774 -debug_80C4774: - push {r4, lr} - ldr r0, ._221 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0xc] - sub r0, r0, #0x1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x64 - add r4, r0, #0 - mul r4, r4, r1 - ldr r0, ._221 + 4 @ gPlayerParty - add r0, r4, r0 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - beq ._219 @cond_branch - ldr r0, ._221 + 8 @ gEnemyParty - add r0, r4, r0 - mov r1, #0xb - bl GetMonData - cmp r0, #0 - beq ._219 @cond_branch - mov r0, #0x1 - b ._220 -._222: - .align 2, 0 -._221: - .word gUnknown_Debug_2038A0C - .word gPlayerParty - .word gEnemyParty -._219: - mov r0, #0x0 -._220: - pop {r4} - pop {r1} - bx r1 - - thumb_func_end debug_80C4774 - - thumb_func_start debug_80C47BC -debug_80C47BC: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xffffffc0 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r1, ._224 @ gUnknown_Debug_083F81C7 - mov r0, sp - mov r2, #0xf - bl memcpy - add r4, sp, #0x10 - ldr r1, ._224 + 4 @ gUnknown_Debug_083F81A0 - add r0, r4, #0 - mov r2, #0xd - bl memcpy - add r6, sp, #0x20 - ldr r1, ._224 + 8 @ gUnknown_Debug_083F81D6 - add r0, r6, #0 - mov r2, #0xf - bl memcpy - add r5, sp, #0x30 - ldr r1, ._224 + 12 @ gUnknown_Debug_083F81E5 - add r0, r5, #0 - mov r2, #0x10 - bl memcpy - mov r0, #0x0 - mov r1, #0x10 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r0, sp - mov r1, #0x1 - mov r2, #0x11 - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0x14 - mov r2, #0x11 - bl Menu_PrintText - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xe - mov r3, #0xf - bl Menu_DrawStdWindowFrame - add r0, r6, #0 - mov r1, #0x2 - mov r2, #0x1 - bl Menu_PrintText - mov r4, #0x0 - ldr r6, ._224 + 16 @ gUnknown_Debug_083F8068 -._223: - lsl r0, r4, #0x3 - add r0, r0, r6 - ldr r0, [r0] - lsl r2, r4, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r2, r2, r1 - lsr r2, r2, #0x18 - mov r1, #0x2 - bl Menu_PrintText - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x4 - bls ._223 @cond_branch - mov r0, #0xf - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - add r0, r5, #0 - mov r1, #0x11 - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._224 + 20 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x4] - bl debug_80C4C44 - ldr r1, ._224 + 24 @ gTasks - lsl r0, r7, #0x2 - add r0, r0, r7 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._224 + 28 @ debug_80C48A0 - str r1, [r0] - add sp, sp, #0x40 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._225: - .align 2, 0 -._224: - .word gUnknown_Debug_083F81C7 - .word gUnknown_Debug_083F81A0 - .word gUnknown_Debug_083F81D6 - .word gUnknown_Debug_083F81E5 - .word gUnknown_Debug_083F8068 - .word gUnknown_Debug_2038A0C - .word gTasks - .word debug_80C48A0+1 - - thumb_func_end debug_80C47BC - - thumb_func_start debug_80C48A0 -debug_80C48A0: - push {r4, lr} - add sp, sp, #0xfffffffc - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r0, ._226 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x3] - lsl r0, r0, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r0, r0, r1 - lsr r0, r0, #0x18 - mov r1, #0x1 - str r1, [sp] - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r1, ._226 + 4 @ 0x4000042 - ldr r2, ._226 + 8 @ 0x177 - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - add r2, r2, #0x8 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._226 + 12 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._226 + 16 @ debug_80C4900 - str r1, [r0] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._227: - .align 2, 0 -._226: - .word gUnknown_Debug_2038A0C - .word 0x4000042 - .word 0x177 - .word gTasks - .word debug_80C4900+1 - - thumb_func_end debug_80C48A0 - - thumb_func_start debug_80C4900 -debug_80C4900: - push {r4, r5, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - ldr r1, ._230 @ gMain - ldrh r2, [r1, #0x2e] - mov r0, #0x2 - and r0, r0, r2 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - add r3, r1, #0 - cmp r4, #0 - beq ._228 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - mov r4, #0x0 - str r4, [sp] - mov r1, #0x0 - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r0, ._230 + 4 @ debug_80C370C - bl SetMainCallback2 - bl LoadPlayerParty - ldr r1, ._230 + 8 @ gSaveBlock2 - ldr r0, ._230 + 12 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0xd] - strb r0, [r1, #0x8] - ldr r0, ._230 + 16 @ gBattleTypeFlags - mov r1, #0x0 - strh r4, [r0] - ldr r0, ._230 + 20 @ gUnknown_02023A14_50 - strb r1, [r0] - ldr r1, ._230 + 24 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._230 + 28 @ debug_80C373C - b ._229 -._231: - .align 2, 0 -._230: - .word gMain - .word debug_80C370C+1 - .word gSaveBlock2 - .word gUnknown_Debug_2038A0C - .word gBattleTypeFlags - .word gUnknown_02023A14_50 - .word gTasks - .word debug_80C373C+1 -._228: - mov r0, #0x8 - and r0, r0, r2 - cmp r0, #0 - bne ._232 @cond_branch - mov r0, #0x1 - and r0, r0, r2 - cmp r0, #0 - beq ._233 @cond_branch -._232: - mov r0, #0x5 - bl PlaySE - ldr r1, ._236 @ gBattleTypeFlags - ldr r3, ._236 + 4 @ gUnknown_Debug_083F8068 - ldr r2, ._236 + 8 @ gUnknown_Debug_2038A0C - ldrb r0, [r2, #0x3] - lsl r0, r0, #0x3 - add r0, r0, r3 - ldrb r0, [r0, #0x4] - strh r0, [r1] - ldr r1, ._236 + 12 @ gUnknown_02023A14_50 - mov r0, #0x8 - strb r0, [r1] - ldrb r0, [r2, #0x3] - lsl r0, r0, #0x3 - add r0, r0, r3 - ldrb r0, [r0, #0x5] - strb r0, [r2, #0xc] - ldrb r0, [r2, #0x3] - sub r0, r0, #0x1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x1 - bhi ._234 @cond_branch - str r4, [sp] - mov r0, #0x0 - mov r1, #0x1 - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r0, ._236 + 16 @ gTasks - lsl r1, r5, #0x2 - add r1, r1, r5 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._236 + 20 @ debug_80C4A60 - str r0, [r1] - b ._247 -._237: - .align 2, 0 -._236: - .word gBattleTypeFlags - .word gUnknown_Debug_083F8068 - .word gUnknown_Debug_2038A0C - .word gUnknown_02023A14_50 - .word gTasks - .word debug_80C4A60+1 -._234: - ldr r0, ._239 @ gTasks - lsl r1, r5, #0x2 - add r1, r1, r5 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._239 + 4 @ debug_80C4F48 - str r0, [r1] - b ._247 -._240: - .align 2, 0 -._239: - .word gTasks - .word debug_80C4F48+1 -._233: - ldrh r1, [r3, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._242 @cond_branch - ldr r1, ._244 @ gUnknown_Debug_2038A0C - ldrb r0, [r1, #0x3] - cmp r0, #0 - beq ._242 @cond_branch - sub r0, r0, #0x1 - b ._243 -._245: - .align 2, 0 -._244: - .word gUnknown_Debug_2038A0C -._242: - ldrh r1, [r3, #0x30] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._247 @cond_branch - ldr r1, ._248 @ gUnknown_Debug_2038A0C - ldrb r0, [r1, #0x3] - cmp r0, #0x1 - bhi ._247 @cond_branch - add r0, r0, #0x1 -._243: - strb r0, [r1, #0x3] - ldr r1, ._248 + 4 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._248 + 8 @ debug_80C48A0 -._229: - str r1, [r0] -._247: - add sp, sp, #0x4 - pop {r4, r5} - pop {r0} - bx r0 -._249: - .align 2, 0 -._248: - .word gUnknown_Debug_2038A0C - .word gTasks - .word debug_80C48A0+1 - - thumb_func_end debug_80C4900 - - thumb_func_start debug_80C4A60 -debug_80C4A60: - push {r4, lr} - add sp, sp, #0xfffffffc - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r0, ._250 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x5] - lsl r0, r0, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r0, r0, r1 - lsr r0, r0, #0x18 - mov r1, #0x1 - str r1, [sp] - mov r1, #0x10 - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r1, ._250 + 4 @ 0x4000042 - ldr r2, ._250 + 8 @ 0x79ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._250 + 12 @ 0x17f - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._250 + 16 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._250 + 20 @ debug_80C4AC4 - str r1, [r0] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._251: - .align 2, 0 -._250: - .word gUnknown_Debug_2038A0C - .word 0x4000042 - .word 0x79ef - .word 0x17f - .word gTasks - .word debug_80C4AC4+1 - - thumb_func_end debug_80C4A60 - - thumb_func_start debug_80C4AC4 -debug_80C4AC4: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r7, ._255 @ gUnknown_Debug_2038A0C - ldrb r0, [r7, #0x4] - mov ip, r0 - ldrb r5, [r7, #0x5] - mov r1, ip - add r0, r1, r5 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - ldr r2, ._255 + 4 @ gMain - mov r8, r2 - ldrh r2, [r2, #0x2e] - mov r3, #0x1 - and r3, r3, r2 - add r4, r7, #0 - cmp r3, #0 - beq ._252 @cond_branch - ldr r0, ._255 + 8 @ gUnknown_Debug_083F80D8 - lsl r1, r1, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r1, [r1] - ldr r3, ._255 + 12 @ byte_3005E30 - ldr r2, [r3] - add r0, r2, #0 - and r0, r0, r1 - cmp r0, #0 - beq ._253 @cond_branch - ldr r0, ._255 + 16 @ 0xffff - eor r1, r1, r0 - and r2, r2, r1 - b ._254 -._256: - .align 2, 0 -._255: - .word gUnknown_Debug_2038A0C - .word gMain - .word gUnknown_Debug_083F80D8 - .word byte_3005E30 - .word 0xffff -._253: - orr r2, r2, r1 -._254: - str r2, [r3] - ldrb r0, [r4, #0x4] - bl debug_80C4C44 - ldr r1, ._258 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._258 + 4 @ debug_80C4A60 - str r1, [r0] - b ._274 -._259: - .align 2, 0 -._258: - .word gTasks - .word debug_80C4A60+1 -._252: - mov r0, #0x2 - and r0, r0, r2 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0 - beq ._260 @cond_branch - str r3, [sp] - mov r0, #0x0 - mov r1, #0x10 - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r0, ._262 @ gTasks - lsl r1, r6, #0x2 - add r1, r1, r6 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._262 + 4 @ debug_80C48A0 - b ._261 -._263: - .align 2, 0 -._262: - .word gTasks - .word debug_80C48A0+1 -._260: - mov r0, #0x8 - and r0, r0, r2 - cmp r0, #0 - beq ._264 @cond_branch - mov r0, #0x5 - bl PlaySE - ldr r1, ._266 @ gTrainerBattleOpponent - mov r2, #0x80 - lsl r2, r2, #0x3 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._266 + 4 @ 0x2017000 - ldrb r2, [r1, #0x1] - mov r0, #0x11 - neg r0, r0 - and r0, r0, r2 - strb r0, [r1, #0x1] - mov r0, #0xac - strb r0, [r1, #0x2] - mov r0, #0xff - strb r0, [r1, #0x3] - strb r4, [r1, #0x9] - strb r4, [r1, #0xa] - strb r4, [r1, #0xb] - strb r4, [r1, #0xc] - ldr r1, ._266 + 8 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._266 + 12 @ debug_80C4F48 - str r1, [r0] - b ._274 -._267: - .align 2, 0 -._266: - .word gTrainerBattleOpponent - .word 0x2017000 - .word gTasks - .word debug_80C4F48+1 -._264: - mov r0, r8 - ldrh r1, [r0, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._268 @cond_branch - lsl r0, r5, #0x18 - cmp r0, #0 - beq ._269 @cond_branch - sub r0, r5, #1 - strb r0, [r7, #0x5] - b ._277 -._269: - mov r1, ip - lsl r0, r1, #0x18 - cmp r0, #0 - beq ._277 @cond_branch - mov r0, ip - sub r0, r0, #0x1 - b ._272 -._268: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._274 @cond_branch - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x8 - bhi ._274 @cond_branch - cmp r0, #0x4 - bhi ._275 @cond_branch - add r0, r5, #1 - strb r0, [r7, #0x5] - b ._277 -._275: - mov r2, ip - lsl r0, r2, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x3 - bhi ._277 @cond_branch - mov r0, ip - add r0, r0, #0x1 -._272: - strb r0, [r7, #0x4] - ldrb r0, [r7, #0x4] - bl debug_80C4C44 -._277: - ldr r0, ._278 @ gTasks - lsl r1, r6, #0x2 - add r1, r1, r6 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._278 + 4 @ debug_80C4A60 -._261: - str r0, [r1] -._274: - add sp, sp, #0x4 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._279: - .align 2, 0 -._278: - .word gTasks - .word debug_80C4A60+1 - - thumb_func_end debug_80C4AC4 - - thumb_func_start debug_80C4C44 -debug_80C4C44: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xfffffff0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov sl, r0 - mov r2, #0x0 - mov r5, sp -._290: - mov r0, sl - add r6, r2, r0 - add r4, r6, #0 - add r1, r2, #1 - mov r8, r1 - cmp r4, #0x9 - bgt ._280 @cond_branch - mov r3, #0x0 - ldr r1, ._288 @ gUnknown_Debug_083F80D8 - lsl r0, r4, #0x3 - add r0, r0, r1 - ldr r0, [r0] - ldrb r0, [r0] - ldr r7, ._288 + 4 @ byte_3005E30 - mov r9, r7 - lsl r2, r2, #0x1 - mov ip, r2 - cmp r0, #0xff - beq ._282 @cond_branch - add r7, r1, #0 -._283: - add r0, r3, #3 - mov r1, sp - add r2, r1, r0 - lsl r1, r6, #0x3 - add r1, r1, r7 - ldr r0, [r1] - add r0, r0, r3 - ldrb r0, [r0] - strb r0, [r2] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - ldr r0, [r1] - add r0, r0, r3 - ldrb r0, [r0] - cmp r0, #0xff - beq ._282 @cond_branch - cmp r3, #0xb - bls ._283 @cond_branch -._282: - cmp r3, #0xb - bhi ._284 @cond_branch - mov r1, #0x0 -._285: - add r0, r3, #3 - add r0, r0, sp - strb r1, [r0] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - cmp r3, #0xb - bls ._285 @cond_branch -._284: - mov r0, #0xff - strb r0, [r5, #0xe] - mov r0, #0xfc - strb r0, [r5] - mov r2, #0x1 - strb r2, [r5, #0x1] - add r1, r2, #0 - LSL r1, r4 - mov r3, r9 - ldr r0, [r3] - and r0, r0, r1 - cmp r0, #0 - beq ._286 @cond_branch - mov r0, #0x3 - strb r0, [r5, #0x2] - b ._287 -._289: - .align 2, 0 -._288: - .word gUnknown_Debug_083F80D8 - .word byte_3005E30 -._286: - strb r2, [r5, #0x2] -._287: - mov r2, ip - add r2, r2, #0x3 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r0, sp - mov r1, #0x11 - bl Menu_PrintText -._280: - mov r7, r8 - lsl r0, r7, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x5 - bls ._290 @cond_branch - add sp, sp, #0x10 - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_80C4C44 - - thumb_func_start debug_80C4D14 -debug_80C4D14: - push {r4, r5, r6, lr} - add sp, sp, #0xffffffd0 - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r1, ._291 @ gUnknown_Debug_083F81C7 - mov r0, sp - mov r2, #0xf - bl memcpy - add r5, sp, #0x10 - ldr r1, ._291 + 4 @ gUnknown_Debug_083F81F5 - add r0, r5, #0 - mov r2, #0xd - bl memcpy - add r6, sp, #0x20 - ldr r1, ._291 + 8 @ gUnknown_Debug_083F8202 - add r0, r6, #0 - mov r2, #0xf - bl memcpy - mov r0, #0x0 - mov r1, #0x10 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r0, sp - mov r1, #0x1 - mov r2, #0x11 - bl Menu_PrintText - add r0, r5, #0 - mov r1, #0x14 - mov r2, #0x11 - bl Menu_PrintText - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xe - mov r3, #0xf - bl Menu_DrawStdWindowFrame - add r0, r6, #0 - mov r1, #0x2 - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._291 + 12 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x6] - bl debug_80C4F00 - mov r0, #0xf - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r1, ._291 + 16 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._291 + 20 @ debug_80C4DB8 - str r1, [r0] - add sp, sp, #0x30 - pop {r4, r5, r6} - pop {r0} - bx r0 -._292: - .align 2, 0 -._291: - .word gUnknown_Debug_083F81C7 - .word gUnknown_Debug_083F81F5 - .word gUnknown_Debug_083F8202 - .word gUnknown_Debug_2038A0C - .word gTasks - .word debug_80C4DB8+1 - - thumb_func_end debug_80C4D14 - - thumb_func_start debug_80C4DB8 -debug_80C4DB8: - push {r4, lr} - add sp, sp, #0xfffffffc - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r0, ._293 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x7] - lsl r0, r0, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r0, r0, r1 - lsr r0, r0, #0x18 - mov r1, #0x1 - str r1, [sp] - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r1, ._293 + 4 @ 0x4000042 - ldr r2, ._293 + 8 @ 0x177 - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - add r2, r2, #0x8 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._293 + 12 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._293 + 16 @ debug_80C4E18 - str r1, [r0] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._294: - .align 2, 0 -._293: - .word gUnknown_Debug_2038A0C - .word 0x4000042 - .word 0x177 - .word gTasks - .word debug_80C4E18+1 - - thumb_func_end debug_80C4DB8 - - thumb_func_start debug_80C4E18 -debug_80C4E18: - push {r4, r5, r6, r7, lr} - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r5, ._297 @ gUnknown_Debug_2038A0C - ldrb r3, [r5, #0x6] - ldrb r2, [r5, #0x7] - add r0, r3, r2 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r7, ._297 + 4 @ gMain - ldrh r1, [r7, #0x2e] - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._295 @cond_branch - ldr r0, ._297 + 8 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._297 + 12 @ debug_80C42B8 - b ._296 -._298: - .align 2, 0 -._297: - .word gUnknown_Debug_2038A0C - .word gMain - .word gTasks - .word debug_80C42B8+1 -._295: - mov r0, #0x8 - and r0, r0, r1 - cmp r0, #0 - bne ._299 @cond_branch - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._300 @cond_branch -._299: - mov r0, #0x5 - bl PlaySE - ldr r2, ._302 @ gBattleTerrain - ldr r1, ._302 + 4 @ gUnknown_Debug_083F814C - lsl r0, r6, #0x3 - add r0, r0, r1 - ldrb r0, [r0, #0x4] - strb r0, [r2] - ldr r1, ._302 + 8 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._302 + 12 @ debug_80C5158 - str r1, [r0] - b ._310 -._303: - .align 2, 0 -._302: - .word gBattleTerrain - .word gUnknown_Debug_083F814C - .word gTasks - .word debug_80C5158+1 -._300: - ldrh r1, [r7, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._304 @cond_branch - lsl r0, r2, #0x18 - cmp r0, #0 - beq ._305 @cond_branch - sub r0, r2, #1 - strb r0, [r5, #0x7] - b ._313 -._305: - lsl r0, r3, #0x18 - cmp r0, #0 - beq ._313 @cond_branch - sub r0, r3, #1 - b ._308 -._304: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._310 @cond_branch - lsl r0, r2, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x7 - bhi ._310 @cond_branch - cmp r0, #0x4 - bhi ._311 @cond_branch - add r0, r2, #1 - strb r0, [r5, #0x7] - b ._313 -._311: - lsl r0, r3, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0x2 - bhi ._313 @cond_branch - add r0, r3, #1 -._308: - strb r0, [r5, #0x6] - ldrb r0, [r5, #0x6] - bl debug_80C4F00 -._313: - ldr r0, ._314 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._314 + 4 @ debug_80C4DB8 -._296: - str r0, [r1] -._310: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._315: - .align 2, 0 -._314: - .word gTasks - .word debug_80C4DB8+1 - - thumb_func_end debug_80C4E18 - - thumb_func_start debug_80C4F00 -debug_80C4F00: - push {r4, r5, r6, lr} - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - mov r0, #0x1 - mov r1, #0x3 - mov r2, #0xd - mov r3, #0xe - bl Menu_BlankWindowRect - mov r4, #0x0 - ldr r6, ._318 @ gUnknown_Debug_083F814C -._317: - cmp r4, #0x8 - bhi ._316 @cond_branch - add r0, r4, r5 - lsl r0, r0, #0x3 - add r0, r0, r6 - ldr r0, [r0] - lsl r2, r4, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r2, r2, r1 - lsr r2, r2, #0x18 - mov r1, #0x2 - bl Menu_PrintText -._316: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x5 - bls ._317 @cond_branch - pop {r4, r5, r6} - pop {r0} - bx r0 -._319: - .align 2, 0 -._318: - .word gUnknown_Debug_083F814C - - thumb_func_end debug_80C4F00 - - thumb_func_start debug_80C4F48 -debug_80C4F48: - push {r4, r5, r6, lr} - mov r6, r9 - mov r5, r8 - push {r5, r6} - add sp, sp, #0xffffffc4 - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r1, ._320 @ gUnknown_Debug_083F8211 - mov r0, sp - mov r2, #0x11 - bl memcpy - add r6, sp, #0x14 - ldr r1, ._320 + 4 @ gUnknown_Debug_083F81A0 - add r0, r6, #0 - mov r2, #0xd - bl memcpy - add r5, sp, #0x24 - ldr r1, ._320 + 8 @ gUnknown_Debug_083F8222 - add r0, r5, #0 - mov r2, #0xd - bl memcpy - add r0, sp, #0x34 - mov r9, r0 - ldr r1, ._320 + 12 @ gUnknown_Debug_083F822F - mov r2, #0x4 - bl memcpy - add r0, sp, #0x38 - mov r8, r0 - ldr r1, ._320 + 16 @ gUnknown_Debug_083F8233 - mov r2, #0x4 - bl memcpy - mov r0, #0x0 - mov r1, #0x10 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r0, sp - mov r1, #0x1 - mov r2, #0x11 - bl Menu_PrintText - add r0, r6, #0 - mov r1, #0x14 - mov r2, #0x11 - bl Menu_PrintText - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0xe - mov r3, #0xf - bl Menu_DrawStdWindowFrame - add r0, r5, #0 - mov r1, #0x2 - mov r2, #0x1 - bl Menu_PrintText - mov r0, #0x1 - mov r1, #0x3 - mov r2, #0xd - mov r3, #0xe - bl Menu_BlankWindowRect - add r0, r5, #0 - mov r1, #0x2 - mov r2, #0x1 - bl Menu_PrintText - mov r0, r9 - mov r1, #0x2 - mov r2, #0x3 - bl Menu_PrintText - mov r0, r8 - mov r1, #0x2 - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0xf - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0xf - bl Menu_DrawStdWindowFrame - ldr r1, ._320 + 20 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._320 + 24 @ debug_80C5038 - str r1, [r0] - add sp, sp, #0x3c - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6} - pop {r0} - bx r0 -._321: - .align 2, 0 -._320: - .word gUnknown_Debug_083F8211 - .word gUnknown_Debug_083F81A0 - .word gUnknown_Debug_083F8222 - .word gUnknown_Debug_083F822F - .word gUnknown_Debug_083F8233 - .word gTasks - .word debug_80C5038+1 - - thumb_func_end debug_80C4F48 - - thumb_func_start debug_80C5038 -debug_80C5038: - push {r4, lr} - add sp, sp, #0xfffffffc - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - ldr r0, ._322 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x8] - lsl r0, r0, #0x19 - mov r1, #0xc0 - lsl r1, r1, #0x12 - add r0, r0, r1 - lsr r0, r0, #0x18 - mov r1, #0x1 - str r1, [sp] - mov r2, #0x1 - mov r3, #0xe - bl debug_80C38E4 - ldr r1, ._322 + 4 @ 0x4000042 - ldr r2, ._322 + 8 @ 0x177 - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - add r2, r2, #0x8 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._322 + 12 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._322 + 16 @ debug_80C5098 - str r1, [r0] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._323: - .align 2, 0 -._322: - .word gUnknown_Debug_2038A0C - .word 0x4000042 - .word 0x177 - .word gTasks - .word debug_80C5098+1 - - thumb_func_end debug_80C5038 - - thumb_func_start debug_80C5098 -debug_80C5098: - push {r4, lr} - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r1, ._326 @ gMain - ldrh r2, [r1, #0x2e] - mov r0, #0x2 - and r0, r0, r2 - add r3, r1, #0 - cmp r0, #0 - beq ._324 @cond_branch - ldr r0, ._326 + 4 @ gTasks - lsl r1, r4, #0x2 - add r1, r1, r4 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._326 + 8 @ debug_80C47BC - str r0, [r1] - b ._339 -._327: - .align 2, 0 -._326: - .word gMain - .word gTasks - .word debug_80C47BC+1 -._324: - mov r0, #0x8 - and r0, r0, r2 - cmp r0, #0 - bne ._328 @cond_branch - mov r0, #0x1 - and r0, r0, r2 - cmp r0, #0 - beq ._329 @cond_branch -._328: - mov r0, #0x5 - bl PlaySE - ldr r1, ._331 @ gSaveBlock2 - ldr r0, ._331 + 4 @ gUnknown_Debug_2038A0C - ldrb r0, [r0, #0x8] - strb r0, [r1, #0x8] - ldr r1, ._331 + 8 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._331 + 12 @ debug_80C42B8 - b ._330 -._332: - .align 2, 0 -._331: - .word gSaveBlock2 - .word gUnknown_Debug_2038A0C - .word gTasks - .word debug_80C42B8+1 -._329: - ldrh r1, [r3, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._334 @cond_branch - ldr r1, ._336 @ gUnknown_Debug_2038A0C - ldrb r0, [r1, #0x8] - cmp r0, #0 - beq ._334 @cond_branch - sub r0, r0, #0x1 - b ._335 -._337: - .align 2, 0 -._336: - .word gUnknown_Debug_2038A0C -._334: - ldrh r1, [r3, #0x30] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._339 @cond_branch - ldr r1, ._340 @ gUnknown_Debug_2038A0C - ldrb r0, [r1, #0x8] - cmp r0, #0 - bne ._339 @cond_branch - add r0, r0, #0x1 -._335: - strb r0, [r1, #0x8] - ldr r1, ._340 + 4 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._340 + 8 @ debug_80C5038 -._330: - str r1, [r0] -._339: - pop {r4} - pop {r0} - bx r0 -._341: - .align 2, 0 -._340: - .word gUnknown_Debug_2038A0C - .word gTasks - .word debug_80C5038+1 - - thumb_func_end debug_80C5098 - - thumb_func_start debug_80C5158 -debug_80C5158: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._342 @ gTasks - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r0, ._342 + 4 @ debug_80C5174 - str r0, [r1] - bx lr -._343: - .align 2, 0 -._342: - .word gTasks - .word debug_80C5174+1 - - thumb_func_end debug_80C5158 - - thumb_func_start debug_80C5174 -debug_80C5174: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._344 @ gTasks - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r0, ._344 + 4 @ debug_80C5190 - str r0, [r1] - bx lr -._345: - .align 2, 0 -._344: - .word gTasks - .word debug_80C5190+1 - - thumb_func_end debug_80C5174 - - thumb_func_start debug_80C5190 -debug_80C5190: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._346 @ gTasks - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r0, ._346 + 4 @ debug_80C51AC - str r0, [r1] - bx lr -._347: - .align 2, 0 -._346: - .word gTasks - .word debug_80C51AC+1 - - thumb_func_end debug_80C5190 - - thumb_func_start debug_80C51AC -debug_80C51AC: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._348 @ gTasks - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r0, ._348 + 4 @ debug_80C51C8 - str r0, [r1] - bx lr -._349: - .align 2, 0 -._348: - .word gTasks - .word debug_80C51C8+1 - - thumb_func_end debug_80C51AC - - thumb_func_start debug_80C51C8 -debug_80C51C8: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._350 @ gTasks - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r0, ._350 + 4 @ debug_80C51E4 - str r0, [r1] - bx lr -._351: - .align 2, 0 -._350: - .word gTasks - .word debug_80C51E4+1 - - thumb_func_end debug_80C51C8 - - thumb_func_start debug_80C51E4 -debug_80C51E4: - push {lr} - bl sub_80408BC - ldr r0, ._352 @ gMain - ldr r1, ._352 + 4 @ debug_80C41A8 - str r1, [r0, #0x8] - ldr r0, ._352 + 8 @ unref_sub_800D684 - bl SetMainCallback2 - pop {r0} - bx r0 -._353: - .align 2, 0 -._352: - .word gMain - .word debug_80C41A8+1 - .word unref_sub_800D684+1 - - thumb_func_end debug_80C51E4 - - thumb_func_start debug_80C5208 -debug_80C5208: - push {r4, r5, r6, lr} - ldr r1, ._355 @ gUnknown_Debug_2038A1C - ldr r0, ._355 + 4 @ 0x2018000 - str r0, [r1] - mov r3, #0x0 - add r6, r1, #0 - ldr r4, ._355 + 8 @ gSaveBlock2 - add r5, r6, #0 - mov r2, #0x0 -._354: - ldr r0, [r5] - lsl r1, r3, #0x2 - add r0, r0, #0x64 - add r0, r0, r1 - str r2, [r0] - add r0, r3, #1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - cmp r3, #0x3f - bls ._354 @cond_branch - ldr r2, [r6] - mov r0, #0xfc - str r0, [r2, #0x64] - ldrb r1, [r4, #0xa] - ldrb r0, [r4, #0xb] - lsl r0, r0, #0x8 - orr r1, r1, r0 - ldrb r0, [r4, #0xc] - lsl r0, r0, #0x10 - orr r1, r1, r0 - ldrb r0, [r4, #0xd] - lsl r0, r0, #0x18 - orr r1, r1, r0 - str r1, [r2, #0x70] - bl Random - add r4, r0, #0 - bl Random - ldr r1, [r6] - lsl r4, r4, #0x10 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - orr r4, r4, r0 - str r4, [r1, #0x74] - mov r0, #0x1 - str r0, [r1, #0x68] - str r0, [r1, #0x6c] - bl debug_80C5C94 - pop {r4, r5, r6} - pop {r0} - bx r0 -._356: - .align 2, 0 -._355: - .word gUnknown_Debug_2038A1C - .word 0x2018000 - .word gSaveBlock2 - - thumb_func_end debug_80C5208 - - thumb_func_start debug_80C527C -debug_80C527C: - push {r4, r5, r6, r7, lr} - add r6, r0, #0 - mov r5, #0x0 - ldr r7, ._359 @ gPlayerPartyCount -._361: - mov r0, #0x64 - add r1, r5, #0 - mul r1, r1, r0 - ldr r0, ._359 + 4 @ gPlayerParty - add r4, r1, r0 - add r0, r4, #0 - mov r1, #0xb - mov r2, #0x0 - bl GetMonData - cmp r0, #0 - bne ._357 @cond_branch - add r0, r4, #0 - add r1, r6, #0 - mov r2, #0x64 - bl memcpy - add r0, r5, #1 - strb r0, [r7] - mov r0, #0x0 - b ._358 -._360: - .align 2, 0 -._359: - .word gPlayerPartyCount - .word gPlayerParty -._357: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x5 - bls ._361 @cond_branch - ldr r0, ._362 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - bl SendMonToPC - mov r0, #0x1 -._358: - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._363: - .align 2, 0 -._362: - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C527C - - thumb_func_start InitCreatePokemon -InitCreatePokemon: - push {r4, r5, lr} - add sp, sp, #0xffffffd4 - ldr r1, ._364 @ gUnknown_Debug_083F8733 - add r0, sp, #0x4 - mov r2, #0x25 - bl memcpy - bl debug_80C35DC - mov r0, #0x1 - neg r0, r0 - mov r4, #0x0 - str r4, [sp] - mov r1, #0x0 - mov r2, #0x10 - mov r3, #0x0 - bl BeginNormalPaletteFade - ldr r0, ._364 + 4 @ 0x4000050 - mov r5, #0x0 - strh r4, [r0] - add r0, r0, #0x2 - strh r4, [r0] - add r0, r0, #0x2 - strh r4, [r0] - ldr r3, ._364 + 8 @ 0x4000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, ._364 + 12 @ 0x4000200 - ldrh r0, [r4] - mov r1, #0x1 - orr r0, r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, ._364 + 16 @ 0x4000004 - ldrh r0, [r2] - mov r1, #0x8 - orr r0, r0, r1 - strh r0, [r2] - ldr r0, ._364 + 20 @ debug_80C3758 - bl SetVBlankCallback - ldr r0, ._364 + 24 @ debug_80C370C - bl SetMainCallback2 - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x3 - bl Menu_DrawStdWindowFrame - add r0, sp, #0x4 - mov r1, #0x1 - mov r2, #0x1 - bl Menu_PrintText - mov r1, #0x80 - lsl r1, r1, #0x13 - mov r2, #0x8a - lsl r2, r2, #0x5 - add r0, r2, #0 - strh r0, [r1] - ldr r0, ._364 + 28 @ debug_80C53A4 - mov r1, #0x0 - bl CreateTask - bl debug_80C5208 - ldr r1, ._364 + 32 @ gUnknown_Debug_2038A1C - ldr r0, [r1] - mov r2, #0xb4 - lsl r2, r2, #0x1 - add r0, r0, r2 - strb r5, [r0] - ldr r0, [r1] - ldr r1, ._364 + 36 @ 0x169 - add r0, r0, r1 - strb r5, [r0] - add sp, sp, #0x2c - pop {r4, r5} - pop {r0} - bx r0 -._365: - .align 2, 0 -._364: - .word gUnknown_Debug_083F8733 - .word 0x4000050 - .word 0x4000208 - .word 0x4000200 - .word 0x4000004 - .word debug_80C3758+1 - .word debug_80C370C+1 - .word debug_80C53A4+1 - .word gUnknown_Debug_2038A1C - .word 0x169 - - thumb_func_end InitCreatePokemon - - thumb_func_start debug_80C53A4 -debug_80C53A4: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - ldr r2, ._366 @ gTasks - lsl r1, r0, #0x2 - add r1, r1, r0 - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r0, ._366 + 4 @ debug_80C53C0 - str r0, [r1] - bx lr -._367: - .align 2, 0 -._366: - .word gTasks - .word debug_80C53C0+1 - - thumb_func_end debug_80C53A4 - - thumb_func_start debug_80C53C0 -debug_80C53C0: - push {r4, lr} - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - bl debug_80C6384 - mov r0, #0x0 - bl debug_80C627C - ldr r1, ._368 @ gTasks - lsl r0, r4, #0x2 - add r0, r0, r4 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._368 + 4 @ debug_80C53F0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 -._369: - .align 2, 0 -._368: - .word gTasks - .word debug_80C53F0+1 - - thumb_func_end debug_80C53C0 - - thumb_func_start debug_80C53F0 -debug_80C53F0: - push {r4, r5, r6, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - ldr r0, ._372 @ gMain - ldrh r1, [r0, #0x2e] - mov r2, #0x1 - and r2, r2, r1 - add r4, r0, #0 - cmp r2, #0 - beq ._370 @cond_branch - ldr r0, ._372 + 4 @ gUnknown_Debug_2038A1C - ldr r3, [r0] - mov r0, #0xb2 - lsl r0, r0, #0x1 - add r2, r3, r0 - ldr r1, ._372 + 8 @ gUnknown_Debug_083F8698 - mov r4, #0xb4 - lsl r4, r4, #0x1 - add r0, r3, r4 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r6, ._372 + 12 @ 0x169 - add r1, r3, r6 - ldrb r1, [r1] - ldr r0, [r0] - add r0, r0, r1 - ldrb r1, [r0] - lsl r1, r1, #0x2 - add r0, r3, #0 - add r0, r0, #0x64 - add r0, r0, r1 - ldr r0, [r0] - str r0, [r2] - mov r0, #0xb5 - lsl r0, r0, #0x1 - add r1, r3, r0 - mov r0, #0x0 - strb r0, [r1] - bl debug_80C643C - ldr r1, ._372 + 16 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._372 + 20 @ debug_80C55E4 - b ._375 -._373: - .align 2, 0 -._372: - .word gMain - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F8698 - .word 0x169 - .word gTasks - .word debug_80C55E4+1 -._370: - mov r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._374 @cond_branch - mov r0, #0x1 - neg r0, r0 - str r2, [sp] - mov r1, #0x0 - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r0, ._376 @ debug_80C370C - bl SetMainCallback2 - ldr r1, ._376 + 4 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._376 + 8 @ debug_80C373C - b ._375 -._377: - .align 2, 0 -._376: - .word debug_80C370C+1 - .word gTasks - .word debug_80C373C+1 -._374: - mov r0, #0x8 - and r0, r0, r1 - cmp r0, #0 - beq ._378 @cond_branch - mov r0, #0x5 - bl PlaySE - bl debug_80C5FFC - ldr r0, ._381 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - bl debug_80C527C - add r4, r0, #0 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - mov r0, #0x3 - mov r1, #0x8 - mov r2, #0x1a - mov r3, #0xb - bl Menu_DrawStdWindowFrame - cmp r4, #0 - beq ._379 @cond_branch - ldr r0, ._381 + 4 @ gUnknown_Debug_083F872A - mov r1, #0x4 - mov r2, #0x9 - bl Menu_PrintText - b ._380 -._382: - .align 2, 0 -._381: - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F872A -._379: - ldr r0, ._384 @ gUnknown_Debug_083F8720 - mov r1, #0x4 - mov r2, #0x9 - bl Menu_PrintText -._380: - ldr r0, ._384 + 4 @ gTasks - lsl r1, r5, #0x2 - add r1, r1, r5 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._384 + 8 @ debug_80C5708 - str r0, [r1] - b ._400 -._385: - .align 2, 0 -._384: - .word gUnknown_Debug_083F8720 - .word gTasks - .word debug_80C5708+1 -._378: - mov r0, #0x4 - and r0, r0, r1 - cmp r0, #0 - beq ._386 @cond_branch - ldr r0, ._388 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - ldr r4, [r0, #0x64] - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - add r0, r4, #0 - mov r1, #0x2 - bl GetSetPokedexFlag - add r0, r4, #0 - mov r1, #0x3 - bl GetSetPokedexFlag - mov r0, #0x5 - bl PlaySE - b ._400 -._389: - .align 2, 0 -._388: - .word gUnknown_Debug_2038A1C -._386: - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._390 @cond_branch - mov r0, #0x2 - bl debug_80C627C - b ._400 -._390: - mov r0, #0x80 - and r0, r0, r1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - cmp r3, #0 - beq ._392 @cond_branch - mov r0, #0x1 - bl debug_80C627C - b ._400 -._392: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._395 @cond_branch - ldr r2, ._397 @ gUnknown_Debug_2038A1C - ldr r0, [r2] - mov r6, #0xb4 - lsl r6, r6, #0x1 - add r1, r0, r6 - ldrb r0, [r1] - cmp r0, #0 - beq ._395 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] - ldr r0, [r2] - ldr r1, ._397 + 4 @ 0x169 - add r0, r0, r1 - strb r3, [r0] - b ._396 -._398: - .align 2, 0 -._397: - .word gUnknown_Debug_2038A1C - .word 0x169 -._395: - ldrh r1, [r4, #0x2e] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._400 @cond_branch - ldr r3, ._401 @ gUnknown_Debug_2038A1C - ldr r0, [r3] - mov r4, #0xb4 - lsl r4, r4, #0x1 - add r2, r0, r4 - ldrb r0, [r2] - cmp r0, #0x4 - bhi ._400 @cond_branch - add r0, r0, #0x1 - mov r1, #0x0 - strb r0, [r2] - ldr r0, [r3] - ldr r6, ._401 + 4 @ 0x169 - add r0, r0, r6 - strb r1, [r0] -._396: - ldr r1, ._401 + 8 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._401 + 12 @ debug_80C53C0 -._375: - str r1, [r0] -._400: - add sp, sp, #0x4 - pop {r4, r5, r6} - pop {r0} - bx r0 -._402: - .align 2, 0 -._401: - .word gUnknown_Debug_2038A1C - .word 0x169 - .word gTasks - .word debug_80C53C0+1 - - thumb_func_end debug_80C53F0 - - thumb_func_start debug_80C55E4 -debug_80C55E4: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - add r6, r3, #0 - ldr r1, ._405 @ gUnknown_Debug_083F8698 - ldr r2, ._405 + 4 @ gUnknown_Debug_2038A1C - ldr r0, [r2] - mov ip, r0 - mov r0, #0xb4 - lsl r0, r0, #0x1 - add r0, r0, ip - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._405 + 8 @ 0x169 - add r1, r1, ip - ldrb r1, [r1] - ldr r0, [r0] - add r0, r0, r1 - ldrb r5, [r0] - add r7, r5, #0 - ldr r1, ._405 + 12 @ gMain - ldrh r4, [r1, #0x2e] - mov r0, #0x1 - and r0, r0, r4 - mov r8, r2 - add r2, r1, #0 - cmp r0, #0 - beq ._403 @cond_branch - ldr r0, ._405 + 16 @ gTasks - lsl r1, r3, #0x2 - add r1, r1, r3 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._405 + 20 @ debug_80C53C0 - str r0, [r1] - b ._422 -._406: - .align 2, 0 -._405: - .word gUnknown_Debug_083F8698 - .word gUnknown_Debug_2038A1C - .word 0x169 - .word gMain - .word gTasks - .word debug_80C53C0+1 -._403: - mov r0, #0x2 - and r0, r0, r4 - cmp r0, #0 - beq ._407 @cond_branch - lsl r1, r5, #0x2 - mov r0, ip - add r0, r0, #0x64 - add r0, r0, r1 - mov r1, #0xb2 - lsl r1, r1, #0x1 - add r1, r1, ip - ldr r1, [r1] - str r1, [r0] - ldr r1, ._409 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._409 + 4 @ debug_80C53C0 - str r1, [r0] - b ._422 -._410: - .align 2, 0 -._409: - .word gTasks - .word debug_80C53C0+1 -._407: - ldrh r1, [r2, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._411 @cond_branch - mov r0, #0x1 - b ._412 -._411: - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._413 @cond_branch - mov r0, #0x2 -._412: - bl debug_80C6544 - bl debug_80C643C - b ._422 -._413: - ldr r0, ._419 @ gUnknown_Debug_083F8554 - lsl r1, r7, #0x3 - add r0, r0, #0x4 - add r1, r1, r0 - ldr r1, [r1] - ldrb r0, [r1, #0x9] - cmp r0, #0xff - beq ._422 @cond_branch - mov r0, #0x20 - and r0, r0, r4 - cmp r0, #0 - beq ._417 @cond_branch - mov r0, #0xb5 - lsl r0, r0, #0x1 - add ip, ip, r0 - mov r0, ip - ldrb r3, [r0] - ldrb r0, [r1, #0x9] - sub r0, r0, #0x1 - cmp r3, r0 - bge ._417 @cond_branch - add r0, r3, #1 - mov r1, ip - strb r0, [r1] - bl debug_80C643C - b ._422 -._420: - .align 2, 0 -._419: - .word gUnknown_Debug_083F8554 -._417: - ldrh r1, [r2, #0x2e] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._422 @cond_branch - mov r2, r8 - ldr r0, [r2] - mov r2, #0xb5 - lsl r2, r2, #0x1 - add r1, r0, r2 - ldrb r0, [r1] - cmp r0, #0 - beq ._422 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1] - bl debug_80C643C -._422: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_80C55E4 - - thumb_func_start debug_80C5708 -debug_80C5708: - push {lr} - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - ldr r0, ._424 @ gMain - ldrh r1, [r0, #0x2e] - mov r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._423 @cond_branch - ldr r0, ._424 + 4 @ gTasks - lsl r1, r2, #0x2 - add r1, r1, r2 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._424 + 8 @ debug_80C53C0 - str r0, [r1] -._423: - pop {r0} - bx r0 -._425: - .align 2, 0 -._424: - .word gMain - .word gTasks - .word debug_80C53C0+1 - - thumb_func_end debug_80C5708 - - thumb_func_start debug_80C5738 -debug_80C5738: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - add r6, r0, #0 - lsl r1, r1, #0x18 - lsr r4, r1, #0x18 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r8, r2 - cmp r4, #0xfe - bne ._426 @cond_branch - ldr r1, ._428 @ gUnknown_Debug_083F850A - mov r2, #0x7 - bl debug_80C689C - add r0, r6, #7 - ldr r7, ._428 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r7] - add r1, r1, #0xf0 - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - mov r4, #0x0 - strb r4, [r6, #0x13] - strb r4, [r6, #0x14] - add r0, r6, #0 - add r0, r0, #0x15 - ldr r1, ._428 + 8 @ gUnknown_Debug_083F8514 - mov r2, #0x7 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x1c - ldr r1, [r7] - add r1, r1, #0xf4 - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - add r0, r6, #0 - add r0, r0, #0x28 - strb r4, [r0] - add r0, r0, #0x1 - strb r4, [r0] - add r0, r0, #0x1 - ldr r1, ._428 + 12 @ gUnknown_Debug_083F851C - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x31 - ldr r1, [r7] - add r1, r1, #0xf8 -._431: - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - b ._517 -._429: - .align 2, 0 -._428: - .word gUnknown_Debug_083F850A - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F8514 - .word gUnknown_Debug_083F851C -._426: - cmp r4, #0xfd - bne ._430 @cond_branch - ldr r1, ._432 @ gUnknown_Debug_083F8524 - add r0, r6, #0 - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x9 - ldr r7, ._432 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r7] - add r1, r1, #0xfc - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - mov r4, #0x0 - strb r4, [r6, #0x15] - strb r4, [r6, #0x16] - add r0, r6, #0 - add r0, r0, #0x17 - ldr r1, ._432 + 8 @ gUnknown_Debug_083F852D - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x20 - ldr r1, [r7] - mov r2, #0x80 - lsl r2, r2, #0x1 - add r1, r1, r2 - ldr r1, [r1] - mov r2, #0x3 - mov r3, #0x1 - bl debug_80C6678 - add r0, r6, #0 - add r0, r0, #0x2c - strb r4, [r0] - add r0, r0, #0x1 - strb r4, [r0] - add r0, r0, #0x1 - ldr r1, ._432 + 12 @ gUnknown_Debug_083F8537 - mov r2, #0x9 - bl debug_80C689C - add r0, r6, #0 - add r0, r0, #0x37 - ldr r1, [r7] - mov r3, #0x82 - lsl r3, r3, #0x1 - add r1, r1, r3 - b ._431 -._433: - .align 2, 0 -._432: - .word gUnknown_Debug_083F8524 - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F852D - .word gUnknown_Debug_083F8537 -._430: - mov r1, #0x0 - lsl r5, r4, #0x3 - mov r2, #0x0 -._434: - add r0, r6, r1 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0xb - bls ._434 @cond_branch - ldr r0, ._437 @ gUnknown_Debug_083F8554 - add r0, r5, r0 - ldr r1, [r0] - add r0, r6, #0 - mov r2, #0xb - bl debug_80C689C - mov r1, #0xc - mov r2, #0xff -._435: - add r0, r6, r1 - strb r2, [r0] - add r0, r1, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0xff - bls ._435 @cond_branch - ldr r0, ._437 @ gUnknown_Debug_083F8554 - add r0, r0, #0x4 - add r0, r5, r0 - ldr r0, [r0] - ldrb r2, [r0, #0x9] - lsl r0, r2, #0x1a - lsr r5, r0, #0x18 - cmp r4, #0x22 - bhi ._436 @cond_branch - lsl r0, r4, #0x2 - ldr r1, ._437 + 4 @ - add r1, r0, r1 - ldr r1, [r1] - add r7, r0, #0 - mov pc, r1 -._438: - .align 2, 0 -._437: - .word gUnknown_Debug_083F8554 - .word ._439 -._439: - .word ._440 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._445 - .word ._446 - .word ._450 - .word ._450 - .word ._450 - .word ._450 - .word ._451 - .word ._452 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._472 - .word ._473 - .word ._474 -._436: - mov r0, #0xff - strb r0, [r6] - b ._517 -._440: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._477 @ gUnknown_Debug_2038A1C - mov r9, r1 - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - add r1, r5, r6 - mov r0, #0x0 - strb r0, [r1, #0xa] - mov r0, #0xfc - strb r0, [r1, #0xb] - mov r0, #0x1 - strb r0, [r1, #0xc] - mov r2, r8 - strb r2, [r1, #0xd] - add r4, r5, #0 - add r4, r4, #0xe - add r4, r6, r4 - mov r3, r9 - ldr r0, [r3] - add r0, r0, #0x64 - add r0, r0, r7 - ldrh r0, [r0] - bl NationalPokedexNumToSpecies - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0xb - mul r1, r1, r0 - ldr r0, ._477 + 4 @ gSpeciesNames - add r1, r1, r0 - add r0, r4, #0 - mov r2, #0xa - bl debug_80C689C - b ._517 -._478: - .align 2, 0 -._477: - .word gUnknown_Debug_2038A1C - .word gSpeciesNames -._445: - ldr r0, ._483 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - add r0, r0, #0x64 - add r0, r0, r7 - ldr r0, [r0] - cmp r0, #0x1 - beq ._479 @cond_branch - cmp r0, #0x1 - bcc ._480 @cond_branch - cmp r0, #0x2 - beq ._481 @cond_branch - b ._517 -._484: - .align 2, 0 -._483: - .word gUnknown_Debug_2038A1C -._480: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._486 @ gUnknown_Debug_083F8546 - b ._488 -._487: - .align 2, 0 -._486: - .word gUnknown_Debug_083F8546 -._479: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._489 @ gUnknown_Debug_083F8541 - b ._488 -._490: - .align 2, 0 -._489: - .word gUnknown_Debug_083F8541 -._481: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._492 @ gUnknown_Debug_083F8544 -._488: - mov r2, #0x2 - bl debug_80C689C - b ._517 -._493: - .align 2, 0 -._492: - .word gUnknown_Debug_083F8544 -._450: - add r0, r6, #0 - add r0, r0, #0xa - ldr r4, ._495 @ gUnknown_Debug_2038A1C - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - add r1, r5, r6 - mov r0, #0x0 - strb r0, [r1, #0xa] - mov r0, #0xfc - strb r0, [r1, #0xb] - mov r0, #0x1 - strb r0, [r1, #0xc] - mov r0, r8 - strb r0, [r1, #0xd] - add r0, r5, #0 - add r0, r0, #0xe - add r0, r6, r0 - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r2, [r1] - mov r1, #0xd - mul r1, r1, r2 - ldr r2, ._495 + 4 @ gMoveNames - add r1, r1, r2 - b ._494 -._496: - .align 2, 0 -._495: - .word gUnknown_Debug_2038A1C - .word gMoveNames -._451: - add r0, r6, #0 - add r0, r0, #0xa - ldr r4, ._499 @ gUnknown_Debug_2038A1C - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - add r1, r5, r6 - mov r0, #0x0 - strb r0, [r1, #0xa] - mov r0, #0xfc - strb r0, [r1, #0xb] - mov r0, #0x1 - strb r0, [r1, #0xc] - mov r2, r8 - strb r2, [r1, #0xd] - ldr r0, [r4] - add r0, r0, #0x64 - add r0, r0, r7 - ldr r0, [r0] - cmp r0, #0 - beq ._497 @cond_branch - add r4, r5, #0 - add r4, r4, #0xe - add r4, r6, r4 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl ItemId_GetName - add r1, r0, #0 - add r0, r4, #0 - b ._498 -._500: - .align 2, 0 -._499: - .word gUnknown_Debug_2038A1C -._497: - add r0, r5, #0 - add r0, r0, #0xe - add r0, r6, r0 - ldr r1, ._502 @ gUnknown_Debug_083F8541 -._498: - mov r2, #0x9 - bl debug_80C689C - b ._517 -._503: - .align 2, 0 -._502: - .word gUnknown_Debug_083F8541 -._452: - add r6, r6, #0xc - ldr r4, ._505 @ gUnknown_Debug_2038A1C - ldr r0, [r4] - ldr r0, [r0, #0x64] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl NationalPokedexNumToSpecies - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - ldr r1, [r4] - add r1, r1, #0x64 - add r1, r1, r7 - ldrb r1, [r1] - bl GetAbilityBySpecies - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0xd - mul r1, r1, r0 - ldr r0, ._505 + 4 @ gAbilityNames - add r1, r1, r0 - add r0, r6, #0 -._494: - mov r2, #0xc - bl debug_80C689C - b ._517 -._506: - .align 2, 0 -._505: - .word gUnknown_Debug_2038A1C - .word gAbilityNames -._474: - add r0, r6, #0 - add r0, r0, #0xa - ldr r2, ._508 @ gUnknown_Debug_083F86E8 - ldr r1, ._508 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r1, [r1] - b ._514 -._509: - .align 2, 0 -._508: - .word gUnknown_Debug_083F86E8 - .word gUnknown_Debug_2038A1C -._472: - add r0, r6, #0 - add r0, r0, #0xc - ldr r1, ._511 @ gUnknown_Debug_2038A1C - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - mov r3, r8 - bl debug_80C6678 - b ._517 -._512: - .align 2, 0 -._511: - .word gUnknown_Debug_2038A1C -._473: - ldr r0, ._515 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - add r0, r0, #0x64 - add r0, r0, r7 - ldr r0, [r0] - cmp r0, #0 - beq ._513 @cond_branch - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._515 + 4 @ gUnknown_Debug_083F854A - b ._514 -._516: - .align 2, 0 -._515: - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F854A -._513: - add r0, r6, #0 - add r0, r0, #0xa - ldr r1, ._518 @ gUnknown_Debug_083F854D -._514: - mov r2, #0x4 - bl debug_80C689C - b ._517 -._519: - .align 2, 0 -._518: - .word gUnknown_Debug_083F854D -._446: - add r0, r6, #0 - add r0, r0, #0xa - ldr r2, ._520 @ gNatureNames - ldr r1, ._520 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r1] - add r1, r1, #0x64 - add r1, r1, r7 - ldr r1, [r1] - lsl r1, r1, #0x2 - add r1, r1, r2 - ldr r1, [r1] - mov r2, #0x5 - bl debug_80C689C -._517: - mov r0, #0x0 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 -._521: - .align 2, 0 -._520: - .word gNatureNames - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C5738 - - thumb_func_start debug_80C5B60 -debug_80C5B60: - lsl r0, r0, #0x18 - ldr r1, ._522 @ gUnknown_Debug_2038A1C - ldr r1, [r1] - lsr r0, r0, #0x16 - add r1, r1, #0x64 - add r1, r1, r0 - ldr r0, [r1] - bx lr -._523: - .align 2, 0 -._522: - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C5B60 - - thumb_func_start debug_80C5B74 -debug_80C5B74: - push {r4, r5, r6, lr} - add r6, r0, #0 - lsl r1, r1, #0x18 - lsr r2, r1, #0x18 - cmp r2, #0x18 - bhi ._540 @cond_branch - lsl r0, r2, #0x2 - ldr r1, ._526 @ - add r1, r0, r1 - ldr r1, [r1] - add r3, r0, #0 - mov pc, r1 -._527: - .align 2, 0 -._526: - .word ._525 -._525: - .word ._532 - .word ._529 - .word ._530 - .word ._532 - .word ._532 - .word ._540 - .word ._540 - .word ._540 - .word ._540 - .word ._540 - .word ._540 - .word ._540 - .word ._540 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 - .word ._552 -._540: - ldr r0, ._554 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - lsl r1, r2, #0x2 - add r0, r0, #0x64 - add r0, r0, r1 - str r6, [r0] - b ._562 -._555: - .align 2, 0 -._554: - .word gUnknown_Debug_2038A1C -._532: - ldr r0, ._557 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - add r0, r0, #0x64 - add r0, r0, r3 - str r6, [r0] - bl debug_80C5C94 - b ._562 -._558: - .align 2, 0 -._557: - .word gUnknown_Debug_2038A1C -._529: - ldr r4, ._560 @ gUnknown_Debug_2038A1C - ldr r1, [r4] - add r0, r1, #0 - add r0, r0, #0x64 - add r0, r0, r3 - str r6, [r0] - ldr r0, [r1, #0x64] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl NationalPokedexNumToSpecies - ldr r5, [r4] - ldr r4, ._560 + 4 @ gExperienceTables - lsl r2, r6, #0x2 - ldr r3, ._560 + 8 @ gBaseStats - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - lsl r1, r0, #0x3 - sub r1, r1, r0 - lsl r1, r1, #0x2 - add r1, r1, r3 - ldrb r1, [r1, #0x13] - mov r0, #0xca - lsl r0, r0, #0x1 - mul r0, r0, r1 - add r2, r2, r0 - add r2, r2, r4 - ldr r0, [r2] - str r0, [r5, #0x6c] - bl debug_80C5C94 - b ._562 -._561: - .align 2, 0 -._560: - .word gUnknown_Debug_2038A1C - .word gExperienceTables - .word gBaseStats -._530: - ldr r0, ._563 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - add r0, r0, #0x64 - add r0, r0, r3 - str r6, [r0] - bl debug_80C5DEC - b ._562 -._564: - .align 2, 0 -._563: - .word gUnknown_Debug_2038A1C -._552: - ldr r0, ._565 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - add r0, r0, #0x64 - add r0, r0, r3 - str r6, [r0] - bl debug_80C5EF4 -._562: - pop {r4, r5, r6} - pop {r0} - bx r0 -._566: - .align 2, 0 -._565: - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C5B74 - - thumb_func_start debug_80C5C94 -debug_80C5C94: - push {r4, r5, r6, lr} - add sp, sp, #0xfffffff0 - ldr r6, ._567 @ gUnknown_Debug_2038A1C - ldr r2, [r6] - add r0, r2, #0 - add r0, r0, #0x98 - ldr r4, [r0] - mov r1, #0x1f - and r4, r4, r1 - add r0, r0, #0x8 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0x5 - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xa8 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0xa - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xb0 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0xf - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xb8 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0x14 - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xc0 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0x19 - orr r4, r4, r0 - ldr r0, [r2, #0x64] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl NationalPokedexNumToSpecies - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - ldr r0, [r6] - ldr r2, [r0, #0x68] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - mov r5, #0x1 - str r5, [sp] - ldr r3, [r0, #0x74] - str r3, [sp, #0x4] - str r5, [sp, #0x8] - ldr r3, [r0, #0x70] - str r3, [sp, #0xc] - add r3, r4, #0 - bl CreateMon - ldr r0, [r6] - bl GetMonGender - ldr r1, [r6] - add r0, r0, #0x2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [r1, #0x78] - add r0, r1, #0 - bl GetNature - ldr r1, [r6] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [r1, #0x7c] - add r0, r1, #0 - mov r1, #0xd - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0x80 - str r2, [r1] - mov r1, #0xe - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0x84 - str r2, [r1] - mov r1, #0xf - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0x88 - str r2, [r1] - mov r1, #0x10 - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0x8c - str r2, [r1] - mov r1, #0x19 - bl GetMonData - add r1, r0, #0 - ldr r0, [r6] - str r1, [r0, #0x6c] - mov r1, #0x3a - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0xf0 - str r2, [r1] - mov r1, #0x3b - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0xf4 - str r2, [r1] - mov r1, #0x3c - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0xf8 - str r2, [r1] - mov r1, #0x3d - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - add r1, r0, #0 - add r1, r1, #0xfc - str r2, [r1] - mov r1, #0x3e - bl GetMonData - add r2, r0, #0 - ldr r0, [r6] - mov r3, #0x80 - lsl r3, r3, #0x1 - add r1, r0, r3 - str r2, [r1] - mov r1, #0x3f - bl GetMonData - ldr r1, [r6] - mov r2, #0x82 - lsl r2, r2, #0x1 - add r1, r1, r2 - str r0, [r1] - add sp, sp, #0x10 - pop {r4, r5, r6} - pop {r0} - bx r0 -._568: - .align 2, 0 -._567: - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C5C94 - - thumb_func_start debug_80C5DEC -debug_80C5DEC: - push {r4, lr} - add sp, sp, #0xfffffffc - mov r0, #0x0 - str r0, [sp] - ldr r4, ._569 @ gUnknown_Debug_2038A1C - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0x6c - mov r1, #0x19 - bl SetMonData - ldr r0, [r4] - mov r1, #0xd - mov r2, sp - bl SetMonData - ldr r0, [r4] - mov r1, #0xe - mov r2, sp - bl SetMonData - ldr r0, [r4] - mov r1, #0xf - mov r2, sp - bl SetMonData - ldr r0, [r4] - mov r1, #0x10 - mov r2, sp - bl SetMonData - ldr r0, [r4] - bl CalculateMonStats - ldr r0, [r4] - bl GiveMonInitialMoveset - ldr r0, [r4] - mov r1, #0x38 - bl GetMonData - add r1, r0, #0 - ldr r0, [r4] - str r1, [r0, #0x68] - mov r1, #0xd - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0x80 - str r2, [r1] - mov r1, #0xe - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0x84 - str r2, [r1] - mov r1, #0xf - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0x88 - str r2, [r1] - mov r1, #0x10 - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0x8c - str r2, [r1] - mov r1, #0x3a - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xf0 - str r2, [r1] - mov r1, #0x3b - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xf4 - str r2, [r1] - mov r1, #0x3c - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xf8 - str r2, [r1] - mov r1, #0x3d - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xfc - str r2, [r1] - mov r1, #0x3e - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - mov r3, #0x80 - lsl r3, r3, #0x1 - add r1, r0, r3 - str r2, [r1] - mov r1, #0x3f - bl GetMonData - ldr r1, [r4] - mov r2, #0x82 - lsl r2, r2, #0x1 - add r1, r1, r2 - str r0, [r1] - add sp, sp, #0x4 - pop {r4} - pop {r0} - bx r0 -._570: - .align 2, 0 -._569: - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C5DEC - - thumb_func_start debug_80C5EF4 -debug_80C5EF4: - push {r4, lr} - ldr r4, ._571 @ gUnknown_Debug_2038A1C - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0x98 - mov r1, #0x27 - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0x9c - mov r1, #0x1a - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xa0 - mov r1, #0x28 - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xa4 - mov r1, #0x1b - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xa8 - mov r1, #0x29 - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xac - mov r1, #0x1c - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xb0 - mov r1, #0x2a - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xb4 - mov r1, #0x1d - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xb8 - mov r1, #0x2b - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xbc - mov r1, #0x1e - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xc0 - mov r1, #0x2c - bl SetMonData - ldr r0, [r4] - add r2, r0, #0 - add r2, r2, #0xc4 - mov r1, #0x1f - bl SetMonData - ldr r0, [r4] - bl CalculateMonStats - ldr r0, [r4] - mov r1, #0x3a - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xf0 - str r2, [r1] - mov r1, #0x3b - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xf4 - str r2, [r1] - mov r1, #0x3c - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xf8 - str r2, [r1] - mov r1, #0x3d - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - add r1, r0, #0 - add r1, r1, #0xfc - str r2, [r1] - mov r1, #0x3e - bl GetMonData - add r2, r0, #0 - ldr r0, [r4] - mov r3, #0x80 - lsl r3, r3, #0x1 - add r1, r0, r3 - str r2, [r1] - mov r1, #0x3f - bl GetMonData - ldr r1, [r4] - mov r2, #0x82 - lsl r2, r2, #0x1 - add r1, r1, r2 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 -._572: - .align 2, 0 -._571: - .word gUnknown_Debug_2038A1C - - thumb_func_end debug_80C5EF4 - - thumb_func_start debug_80C5FFC -debug_80C5FFC: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xffffffe0 - ldr r1, ._578 @ gUnknown_Debug_083F8758 - add r0, sp, #0x10 - mov r2, #0x4 - bl memcpy - add r7, sp, #0x14 - ldr r1, ._578 + 4 @ gUnknown_Debug_083F875C - add r0, r7, #0 - mov r2, #0x8 - bl memcpy - ldr r5, ._578 + 8 @ gUnknown_Debug_2038A1C - ldr r2, [r5] - add r0, r2, #0 - add r0, r0, #0x98 - ldr r4, [r0] - mov r1, #0x1f - and r4, r4, r1 - add r0, r0, #0x8 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0x5 - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xa8 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0xa - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xb0 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0xf - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xb8 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0x14 - orr r4, r4, r0 - add r0, r2, #0 - add r0, r0, #0xc0 - ldr r0, [r0] - and r0, r0, r1 - lsl r0, r0, #0x19 - orr r4, r4, r0 - ldr r0, [r2, #0x64] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl NationalPokedexNumToSpecies - add r1, r0, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - ldr r0, [r5] - ldr r2, [r0, #0x68] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - lsl r4, r4, #0x18 - lsr r4, r4, #0x18 - mov r6, #0x1 - str r6, [sp] - ldr r3, [r0, #0x74] - str r3, [sp, #0x4] - str r6, [sp, #0x8] - ldr r3, [r0, #0x70] - str r3, [sp, #0xc] - add r3, r4, #0 - bl CreateMon - ldr r2, [r5] - add r0, r2, #0 - add r0, r0, #0x80 - ldr r0, [r0] - cmp r0, #0 - beq ._573 @cond_branch - lsl r1, r0, #0x10 - lsr r1, r1, #0x10 - add r0, r2, #0 - mov r2, #0x0 - bl SetMonMoveSlot -._573: - ldr r2, [r5] - add r0, r2, #0 - add r0, r0, #0x84 - ldr r0, [r0] - cmp r0, #0 - beq ._574 @cond_branch - lsl r1, r0, #0x10 - lsr r1, r1, #0x10 - add r0, r2, #0 - mov r2, #0x1 - bl SetMonMoveSlot -._574: - ldr r2, [r5] - add r0, r2, #0 - add r0, r0, #0x88 - ldr r0, [r0] - cmp r0, #0 - beq ._575 @cond_branch - lsl r1, r0, #0x10 - lsr r1, r1, #0x10 - add r0, r2, #0 - mov r2, #0x2 - bl SetMonMoveSlot -._575: - ldr r2, [r5] - add r0, r2, #0 - add r0, r0, #0x8c - ldr r0, [r0] - cmp r0, #0 - beq ._576 @cond_branch - lsl r1, r0, #0x10 - lsr r1, r1, #0x10 - add r0, r2, #0 - mov r2, #0x3 - bl SetMonMoveSlot -._576: - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0x6c - mov r1, #0x19 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0x98 - mov r1, #0x27 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0x9c - mov r1, #0x1a - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xa0 - mov r1, #0x28 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xa4 - mov r1, #0x1b - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xa8 - mov r1, #0x29 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xac - mov r1, #0x1c - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xb0 - mov r1, #0x2a - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xb4 - mov r1, #0x1d - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xb8 - mov r1, #0x2b - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xbc - mov r1, #0x1e - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xc0 - mov r1, #0x2c - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xc4 - mov r1, #0x1f - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xc8 - mov r1, #0x16 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xcc - mov r1, #0x17 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xd0 - mov r1, #0x18 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xd4 - mov r1, #0x21 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xd8 - mov r1, #0x2f - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xdc - mov r1, #0x30 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xe0 - mov r1, #0x20 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xe4 - mov r1, #0x22 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0x90 - mov r1, #0xc - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0x94 - mov r1, #0x2e - bl SetMonData - ldr r0, [r5] - add r1, r0, #0 - add r1, r1, #0xec - ldr r2, [r1] - lsl r2, r2, #0x3 - ldr r1, ._578 + 12 @ gUnknown_Debug_083F86E8 - add r2, r2, r1 - mov r1, #0x37 - bl SetMonData - ldr r0, [r5] - add r2, r0, #0 - add r2, r2, #0xe8 - mov r1, #0x2d - bl SetMonData - ldr r1, [r5] - add r0, r1, #0 - add r0, r0, #0xe8 - ldr r0, [r0] - cmp r0, #0 - beq ._577 @cond_branch - add r0, r1, #0 - mov r1, #0x2 - add r2, sp, #0x10 - bl SetMonData - add r2, sp, #0x1c - strb r6, [r2] - ldr r0, [r5] - mov r1, #0x3 - bl SetMonData -._577: - ldr r0, [r5] - mov r1, #0x7 - add r2, r7, #0 - bl SetMonData - mov r2, sp - add r2, r2, #0x1e - mov r0, #0xff - strh r0, [r2] - ldr r0, [r5] - mov r1, #0x23 - bl SetMonData - ldr r0, [r5] - bl CalculateMonStats - add sp, sp, #0x20 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._579: - .align 2, 0 -._578: - .word gUnknown_Debug_083F8758 - .word gUnknown_Debug_083F875C - .word gUnknown_Debug_2038A1C - .word gUnknown_Debug_083F86E8+0x4 - - thumb_func_end debug_80C5FFC - - thumb_func_start debug_80C627C -debug_80C627C: - push {r4, r5, r6, lr} - add sp, sp, #0xfffffff8 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - add r6, r4, #0 - ldr r1, ._584 @ gUnknown_Debug_083F7FD4 - mov r0, sp - mov r2, #0x2 - bl memcpy - add r5, sp, #0x4 - ldr r1, ._584 + 4 @ gUnknown_Debug_083F8764 - add r0, r5, #0 - mov r2, #0x2 - bl memcpy - cmp r4, #0x1 - beq ._580 @cond_branch - cmp r4, #0x1 - bgt ._581 @cond_branch - cmp r4, #0 - beq ._582 @cond_branch - b ._595 -._585: - .align 2, 0 -._584: - .word gUnknown_Debug_083F7FD4 - .word gUnknown_Debug_083F8764 -._581: - cmp r6, #0x2 - beq ._586 @cond_branch - b ._595 -._582: - ldr r0, ._589 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - ldr r1, ._589 + 4 @ 0x169 - add r0, r0, r1 - b ._588 -._590: - .align 2, 0 -._589: - .word gUnknown_Debug_2038A1C - .word 0x169 -._580: - ldr r4, ._593 @ gUnknown_Debug_2038A1C - ldr r3, [r4] - ldr r1, ._593 + 4 @ 0x169 - add r0, r3, r1 - ldrb r2, [r0] - ldr r1, ._593 + 8 @ gUnknown_Debug_083F8698 - mov r6, #0xb4 - lsl r6, r6, #0x1 - add r0, r3, r6 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r1 - ldrb r0, [r0, #0x4] - sub r0, r0, #0x1 - cmp r2, r0 - bge ._595 @cond_branch - lsl r2, r2, #0x19 - mov r0, #0xa0 - lsl r0, r0, #0x13 - add r2, r2, r0 - lsr r2, r2, #0x18 - add r0, r5, #0 - mov r1, #0x1 - bl Menu_PrintText - ldr r0, [r4] - ldr r2, ._593 + 4 @ 0x169 - add r1, r0, r2 - ldrb r0, [r1] - add r0, r0, #0x1 - strb r0, [r1] - ldr r0, [r4] - add r0, r0, r2 -._588: - ldrb r2, [r0] - lsl r2, r2, #0x19 - mov r6, #0xa0 - lsl r6, r6, #0x13 - add r2, r2, r6 - lsr r2, r2, #0x18 - mov r0, sp - mov r1, #0x1 - bl Menu_PrintText - b ._595 -._594: - .align 2, 0 -._593: - .word gUnknown_Debug_2038A1C - .word 0x169 - .word gUnknown_Debug_083F8698 -._586: - ldr r4, ._596 @ gUnknown_Debug_2038A1C - ldr r0, [r4] - ldr r2, ._596 + 4 @ 0x169 - add r1, r0, r2 - ldrb r0, [r1] - cmp r0, #0 - beq ._595 @cond_branch - add r2, r0, #0 - lsl r2, r2, #0x19 - mov r6, #0xa0 - lsl r6, r6, #0x13 - add r2, r2, r6 - lsr r2, r2, #0x18 - add r0, r5, #0 - mov r1, #0x1 - bl Menu_PrintText - ldr r0, [r4] - ldr r2, ._596 + 4 @ 0x169 - add r1, r0, r2 - ldrb r0, [r1] - sub r0, r0, #0x1 - strb r0, [r1] - ldr r0, [r4] - add r0, r0, r2 - ldrb r2, [r0] - lsl r2, r2, #0x19 - add r2, r2, r6 - lsr r2, r2, #0x18 - mov r0, sp - mov r1, #0x1 - bl Menu_PrintText -._595: - add sp, sp, #0x8 - pop {r4, r5, r6} - pop {r0} - bx r0 -._597: - .align 2, 0 -._596: - .word gUnknown_Debug_2038A1C - .word 0x169 - - thumb_func_end debug_80C627C - - thumb_func_start debug_80C6384 -debug_80C6384: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - mov r0, #0x0 - mov r1, #0x4 - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r5, #0x0 - ldr r3, ._600 @ gUnknown_Debug_083F8698 - ldr r1, ._600 + 4 @ gUnknown_Debug_2038A1C - ldr r0, [r1] - mov r2, #0xb4 - lsl r2, r2, #0x1 - add r0, r0, r2 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r3 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, #0xff - beq ._598 @cond_branch - add r4, r1, #0 - ldr r0, ._600 + 8 @ 0x16b - mov r9, r0 - mov r8, r3 - add r7, r2, #0 - mov r6, #0x1 -._599: - ldr r0, [r4] - add r0, r0, r9 - mov r1, #0xfc - strb r1, [r0] - ldr r0, [r4] - add r1, r1, #0x70 - add r0, r0, r1 - strb r6, [r0] - ldr r0, [r4] - ldr r2, ._600 + 12 @ 0x16d - add r0, r0, r2 - strb r6, [r0] - ldr r1, [r4] - add r2, r2, #0x1 - add r0, r1, r2 - add r1, r1, r7 - ldrb r1, [r1] - lsl r1, r1, #0x3 - add r1, r1, r8 - ldr r1, [r1] - add r1, r1, r5 - ldrb r1, [r1] - mov r2, #0x1 - bl debug_80C5738 - ldr r0, [r4] - add r0, r0, r9 - lsl r2, r5, #0x19 - mov r1, #0xa0 - lsl r1, r1, #0x13 - add r2, r2, r1 - lsr r2, r2, #0x18 - mov r1, #0x2 - bl Menu_PrintText - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - ldr r0, [r4] - add r0, r0, r7 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r8 - ldr r0, [r0] - add r0, r0, r5 - ldrb r0, [r0] - cmp r0, #0xff - bne ._599 @cond_branch -._598: - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._601: - .align 2, 0 -._600: - .word gUnknown_Debug_083F8698 - .word gUnknown_Debug_2038A1C - .word 0x16b - .word 0x16d - - thumb_func_end debug_80C6384 - - thumb_func_start debug_80C643C -debug_80C643C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r0, #0x2 - mov r1, #0x5 - mov r2, #0x1c - mov r3, #0x12 - bl Menu_BlankWindowRect - mov r5, #0x0 - ldr r6, ._605 @ gUnknown_Debug_083F8698 - ldr r1, ._605 + 4 @ gUnknown_Debug_2038A1C - ldr r0, [r1] - mov r3, #0xb4 - lsl r3, r3, #0x1 - add r0, r0, r3 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r6 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, #0xff - beq ._602 @cond_branch - add r4, r1, #0 - mov r0, #0x1 - mov r8, r0 -._607: - ldr r0, [r4] - ldr r7, ._605 + 8 @ 0x16b - add r2, r0, r7 - mov r0, #0xfc - strb r0, [r2] - ldr r0, [r4] - mov r2, #0xb6 - lsl r2, r2, #0x1 - add r0, r0, r2 - mov r7, r8 - strb r7, [r0] - ldr r2, [r4] - ldr r7, ._605 + 12 @ 0x169 - add r0, r2, r7 - ldrb r0, [r0] - cmp r5, r0 - bne ._603 @cond_branch - ldr r0, ._605 + 16 @ 0x16d - add r2, r2, r0 - mov r0, #0x2 - strb r0, [r2] - ldr r1, [r1] - mov r2, #0xb7 - lsl r2, r2, #0x1 - add r0, r1, r2 - add r1, r1, r3 - ldrb r1, [r1] - lsl r1, r1, #0x3 - add r1, r1, r6 - ldr r1, [r1] - add r1, r1, r5 - ldrb r1, [r1] - mov r2, #0x2 - bl debug_80C5738 - b ._604 -._606: - .align 2, 0 -._605: - .word gUnknown_Debug_083F8698 - .word gUnknown_Debug_2038A1C - .word 0x16b - .word 0x169 - .word 0x16d -._603: - ldr r3, ._608 @ 0x16d - add r0, r2, r3 - mov r7, r8 - strb r7, [r0] - ldr r1, [r1] - mov r2, #0xb7 - lsl r2, r2, #0x1 - add r0, r1, r2 - ldr r2, ._608 + 4 @ gUnknown_Debug_083F8698 - sub r3, r3, #0x5 - add r1, r1, r3 - ldrb r1, [r1] - lsl r1, r1, #0x3 - add r1, r1, r2 - ldr r1, [r1] - add r1, r1, r5 - ldrb r1, [r1] - mov r2, #0x1 - bl debug_80C5738 -._604: - ldr r0, [r4] - ldr r7, ._608 + 8 @ 0x16b - add r0, r0, r7 - lsl r2, r5, #0x19 - mov r1, #0xa0 - lsl r1, r1, #0x13 - add r2, r2, r1 - lsr r2, r2, #0x18 - mov r1, #0x2 - bl Menu_PrintText - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - ldr r6, ._608 + 4 @ gUnknown_Debug_083F8698 - add r1, r4, #0 - ldr r0, [r4] - mov r3, #0xb4 - lsl r3, r3, #0x1 - add r0, r0, r3 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r6 - ldr r0, [r0] - add r0, r0, r5 - ldrb r0, [r0] - cmp r0, #0xff - bne ._607 @cond_branch -._602: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._609: - .align 2, 0 -._608: - .word 0x16d - .word gUnknown_Debug_083F8698 - .word 0x16b - - thumb_func_end debug_80C643C - - thumb_func_start debug_80C6544 -debug_80C6544: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r9, r0 - ldr r0, ._614 @ gUnknown_Debug_083F8698 - mov r8, r0 - ldr r6, ._614 + 4 @ gUnknown_Debug_2038A1C - ldr r1, [r6] - mov r5, #0xb4 - lsl r5, r5, #0x1 - add r0, r1, r5 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r8 - ldr r4, ._614 + 8 @ 0x169 - add r1, r1, r4 - ldrb r1, [r1] - ldr r0, [r0] - add r0, r0, r1 - ldrb r0, [r0] - bl debug_80C5B60 - add r7, r0, #0 - ldr r2, ._614 + 12 @ gUnknown_Debug_083F8554 - ldr r3, [r6] - add r5, r3, r5 - ldrb r0, [r5] - lsl r0, r0, #0x3 - add r0, r0, r8 - add r4, r3, r4 - ldrb r1, [r4] - ldr r0, [r0] - add r0, r0, r1 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r2, r2, #0x4 - add r0, r0, r2 - ldr r1, [r0] - ldr r5, [r1] - ldr r4, [r1, #0x4] - ldr r2, ._614 + 16 @ gUnknown_Debug_083F8768 - mov r6, #0xb5 - lsl r6, r6, #0x1 - add r0, r3, r6 - ldrb r0, [r0] - lsl r0, r0, #0x2 - add r0, r0, r2 - ldr r3, [r0] - ldrb r0, [r1, #0x8] - cmp r0, #0 - bne ._623 @cond_branch - mov r0, r9 - cmp r0, #0x1 - beq ._611 @cond_branch - cmp r0, #0x2 - beq ._612 @cond_branch - b ._623 -._615: - .align 2, 0 -._614: - .word gUnknown_Debug_083F8698 - .word gUnknown_Debug_2038A1C - .word 0x169 - .word gUnknown_Debug_083F8554 - .word gUnknown_Debug_083F8768 -._611: - sub r0, r4, r3 - cmp r7, r0 - bcs ._616 @cond_branch - add r7, r7, r3 - b ._623 -._616: - cmp r7, r4 - bcc ._622 @cond_branch - b ._619 -._612: - add r0, r5, r3 - cmp r7, r0 - bls ._620 @cond_branch - sub r7, r7, r3 - b ._623 -._620: - cmp r7, r5 - bls ._622 @cond_branch -._619: - add r7, r5, #0 - b ._623 -._622: - add r7, r4, #0 -._623: - ldr r1, ._624 @ gUnknown_Debug_083F8698 - ldr r0, ._624 + 4 @ gUnknown_Debug_2038A1C - ldr r2, [r0] - mov r3, #0xb4 - lsl r3, r3, #0x1 - add r0, r2, r3 - ldrb r0, [r0] - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r6, ._624 + 8 @ 0x169 - add r1, r2, r6 - ldrb r1, [r1] - ldr r0, [r0] - add r0, r0, r1 - ldrb r1, [r0] - add r0, r7, #0 - bl debug_80C5B74 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._625: - .align 2, 0 -._624: - .word gUnknown_Debug_083F8698 - .word gUnknown_Debug_2038A1C - .word 0x169 - - thumb_func_end debug_80C6544 - - thumb_func_start debug_80C6630 -debug_80C6630: - push {r4, r5, lr} - add r4, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - mov r0, #0xfc - strb r0, [r4] - add r4, r4, #0x1 - mov r0, #0x1 - strb r0, [r4] - add r4, r4, #0x1 - cmp r2, #0x2 - bne ._626 @cond_branch - ldr r0, ._629 @ gUnknown_Debug_2038A1C - ldr r0, [r0] - mov r5, #0xb5 - lsl r5, r5, #0x1 - add r0, r0, r5 - ldrb r0, [r0] - cmp r3, r0 - beq ._627 @cond_branch - strb r2, [r4] - b ._628 -._630: - .align 2, 0 -._629: - .word gUnknown_Debug_2038A1C -._627: - mov r0, #0x4 -._626: - strb r0, [r4] -._628: - add r0, r1, #0 - add r0, r0, #0xa1 - strb r0, [r4, #0x1] - pop {r4, r5} - pop {r0} - bx r0 - - thumb_func_end debug_80C6630 - - thumb_func_start debug_80C6678 -debug_80C6678: - push {r4, r5, r6, r7, lr} - mov r7, r9 - mov r6, r8 - push {r6, r7} - mov r9, r0 - add r6, r1, #0 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - mov r8, r3 - mov r7, #0x0 - sub r0, r2, #1 - cmp r0, #0x9 - bhi ._644 @cond_branch - lsl r0, r0, #0x2 - ldr r1, ._633 @ - add r0, r0, r1 - ldr r0, [r0] - mov pc, r0 -._634: - .align 2, 0 -._633: - .word ._632 -._632: - .word ._635 - .word ._636 - .word ._637 - .word ._638 - .word ._639 - .word ._640 - .word ._641 - .word ._642 - .word ._643 - .word ._644 -._644: - mov r0, r9 - add r4, r0, r7 - ldr r5, ._645 @ 0x3b9aca00 - add r0, r6, #0 - add r1, r5, #0 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x9 - bl debug_80C6630 - add r0, r6, #0 - add r1, r5, #0 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._643: - mov r1, r9 - add r4, r1, r7 - ldr r5, ._645 + 4 @ 0x5f5e100 - add r0, r6, #0 - add r1, r5, #0 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x8 - bl debug_80C6630 - add r0, r6, #0 - add r1, r5, #0 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._642: - mov r0, r9 - add r4, r0, r7 - ldr r5, ._645 + 8 @ 0x989680 - add r0, r6, #0 - add r1, r5, #0 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x7 - bl debug_80C6630 - add r0, r6, #0 - add r1, r5, #0 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._641: - mov r1, r9 - add r4, r1, r7 - ldr r5, ._645 + 12 @ 0xf4240 - add r0, r6, #0 - add r1, r5, #0 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x6 - bl debug_80C6630 - add r0, r6, #0 - add r1, r5, #0 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._640: - mov r0, r9 - add r4, r0, r7 - ldr r5, ._645 + 16 @ 0x186a0 - add r0, r6, #0 - add r1, r5, #0 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x5 - bl debug_80C6630 - add r0, r6, #0 - add r1, r5, #0 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._639: - mov r1, r9 - add r4, r1, r7 - ldr r5, ._645 + 20 @ 0x2710 - add r0, r6, #0 - add r1, r5, #0 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x4 - bl debug_80C6630 - add r0, r6, #0 - add r1, r5, #0 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._638: - mov r0, r9 - add r4, r0, r7 - mov r5, #0xfa - lsl r5, r5, #0x2 - add r0, r6, #0 - add r1, r5, #0 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x3 - bl debug_80C6630 - add r0, r6, #0 - add r1, r5, #0 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._637: - mov r1, r9 - add r4, r1, r7 - add r0, r6, #0 - mov r1, #0x64 - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x2 - bl debug_80C6630 - add r0, r6, #0 - mov r1, #0x64 - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._636: - mov r0, r9 - add r4, r0, r7 - add r0, r6, #0 - mov r1, #0xa - bl __udivsi3 - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r0, r4, #0 - mov r2, r8 - mov r3, #0x1 - bl debug_80C6630 - add r0, r6, #0 - mov r1, #0xa - bl __umodsi3 - add r6, r0, #0 - add r0, r7, #4 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -._635: - mov r1, r9 - add r0, r1, r7 - lsl r1, r6, #0x18 - lsr r1, r1, #0x18 - mov r2, r8 - mov r3, #0x0 - bl debug_80C6630 - pop {r3, r4} - mov r8, r3 - mov r9, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._646: - .align 2, 0 -._645: - .word 0x3b9aca00 - .word 0x5f5e100 - .word 0x989680 - .word 0xf4240 - .word 0x186a0 - .word 0x2710 - - thumb_func_end debug_80C6678 - - thumb_func_start debug_80C689C -debug_80C689C: - push {r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - mov r3, #0x0 - ldrb r0, [r4] - b ._647 -._649: - add r1, r5, r3 - add r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - add r0, r4, r3 - ldrb r0, [r0] -._647: - cmp r0, #0xff - beq ._648 @cond_branch - cmp r3, r2 - bcc ._649 @cond_branch -._648: - pop {r4, r5} - pop {r0} - bx r0 - - thumb_func_end debug_80C689C - - thumb_func_start debug_80C68CC -debug_80C68CC: - push {r4, r5, r6, r7, lr} - add sp, sp, #0xfffffff8 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - lsl r1, r1, #0x18 - lsr r6, r1, #0x18 - lsl r2, r2, #0x18 - lsr r5, r2, #0x18 - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - mov r2, #0x0 - mov r1, #0x0 -._650: - mov r7, sp - add r0, r7, r2 - strb r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x3 - bls ._650 @cond_branch - mov r1, sp - mov r0, #0xff - strb r0, [r1, #0x4] - cmp r3, #0x2 - beq ._651 @cond_branch - cmp r3, #0x2 - bgt ._652 @cond_branch - cmp r3, #0x1 - beq ._653 @cond_branch - b ._654 -._652: - cmp r3, #0x3 - beq ._655 @cond_branch -._654: - mov r1, sp - lsr r0, r4, #0xc - strb r0, [r1] -._655: - mov r1, sp - mov r0, #0xf0 - lsl r0, r0, #0x4 - and r0, r0, r4 - lsr r0, r0, #0x8 - strb r0, [r1, #0x1] -._651: - mov r1, sp - mov r0, #0xf0 - and r0, r0, r4 - lsr r0, r0, #0x4 - strb r0, [r1, #0x2] -._653: - mov r2, sp - mov r1, #0xf - add r0, r4, #0 - and r0, r0, r1 - strb r0, [r2, #0x3] - mov r2, #0x0 -._658: - mov r0, sp - add r1, r0, r2 - ldrb r0, [r1] - cmp r0, #0x9 - bhi ._656 @cond_branch - add r0, r0, #0xa1 - b ._657 -._656: - add r0, r0, #0xb1 -._657: - strb r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x3 - bls ._658 @cond_branch - mov r0, #0x4 - sub r0, r0, r3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r0, r0, sp - add r1, r6, #0 - add r2, r5, #0 - bl Menu_PrintText - add sp, sp, #0x8 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_end debug_80C68CC - - thumb_func_start InitSeePokemonGraphics -InitSeePokemonGraphics: - push {r4, r5, r6, lr} - add sp, sp, #0xfffffff8 - bl debug_80C35DC - ldr r1, ._659 @ byte_83F88EC - ldr r2, ._659 + 4 @ 0x600e000 - ldr r0, ._659 + 8 @ 0x40000d4 - str r1, [r0] - str r2, [r0, #0x4] - ldr r1, ._659 + 12 @ 0x80000400 - str r1, [r0, #0x8] - ldr r0, [r0, #0x8] - ldr r0, ._659 + 16 @ word_83F888C - mov r1, #0x80 - mov r2, #0x60 - bl LoadPalette - ldr r1, ._659 + 20 @ 0x7fff - add r0, sp, #0x4 - strh r1, [r0] - mov r1, #0x0 - mov r2, #0x2 - bl LoadPalette - mov r0, #0x1 - neg r0, r0 - mov r5, #0x0 - str r5, [sp] - mov r1, #0x0 - mov r2, #0x10 - mov r3, #0x0 - bl BeginNormalPaletteFade - ldr r0, ._659 + 24 @ 0x4000040 - mov r6, #0x0 - strh r5, [r0] - add r0, r0, #0x4 - strh r5, [r0] - sub r0, r0, #0x2 - strh r5, [r0] - add r0, r0, #0x4 - strh r5, [r0] - ldr r1, ._659 + 28 @ 0x4000048 - mov r0, #0x3f - strh r0, [r1] - add r1, r1, #0x2 - mov r0, #0x1f - strh r0, [r1] - add r1, r1, #0x6 - mov r0, #0xf1 - strh r0, [r1] - ldr r0, ._659 + 32 @ 0x4000052 - strh r5, [r0] - add r1, r1, #0x4 - mov r0, #0x7 - strh r0, [r1] - ldr r3, ._659 + 36 @ 0x4000208 - ldrh r2, [r3] - strh r5, [r3] - ldr r4, ._659 + 40 @ 0x4000200 - ldrh r0, [r4] - mov r1, #0x1 - orr r0, r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, ._659 + 44 @ debug_80C3758 - bl SetVBlankCallback - ldr r0, ._659 + 48 @ debug_80C370C - bl SetMainCallback2 - bl sub_809D51C - ldr r1, ._659 + 52 @ 0x4000008 - ldr r2, ._659 + 56 @ 0x1f0b - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x2 - ldr r2, ._659 + 60 @ 0x1e0a - add r0, r2, #0 - strh r0, [r1] - sub r1, r1, #0xa - mov r2, #0xcd - lsl r2, r2, #0x6 - add r0, r2, #0 - strh r0, [r1] - ldr r0, ._659 + 64 @ debug_80C6B00 - mov r1, #0x0 - bl CreateTask - ldr r1, ._659 + 68 @ gUnknown_Debug_2038A20 - ldr r0, ._659 + 72 @ 0x2018000 - str r0, [r1] - ldr r1, ._659 + 76 @ 0x115 - strh r1, [r0] - strb r6, [r0, #0x2] - strb r6, [r0, #0x3] - strb r6, [r0, #0x5] - strb r6, [r0, #0x7] - strb r6, [r0, #0xa] - strb r6, [r0, #0x8] - ldr r4, ._659 + 80 @ gSpriteTemplate_83F8874 - add r0, r4, #0 - mov r1, #0x6c - mov r2, #0x74 - mov r3, #0x0 - bl CreateSprite - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - ldr r6, ._659 + 84 @ gSprites - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - strh r5, [r0, #0x2e] - mov r1, #0x0 - bl StartSpriteAnim - add r0, r4, #0 - mov r1, #0x6c - mov r2, #0x74 - mov r3, #0x0 - bl CreateSprite - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - mov r1, #0x1 - strh r1, [r0, #0x2e] - bl StartSpriteAnim - add r0, r4, #0 - mov r1, #0x6c - mov r2, #0x74 - mov r3, #0x0 - bl CreateSprite - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - mov r1, #0x2 - strh r1, [r0, #0x2e] - bl StartSpriteAnim - add sp, sp, #0x8 - pop {r4, r5, r6} - pop {r0} - bx r0 -._660: - .align 2, 0 -._659: - .word byte_83F88EC - .word 0x600e000 - .word 0x40000d4 - .word 0x80000400 - .word word_83F888C - .word 0x7fff - .word 0x4000040 - .word 0x4000048 - .word 0x4000052 - .word 0x4000208 - .word 0x4000200 - .word debug_80C3758+1 - .word debug_80C370C+1 - .word 0x4000008 - .word 0x1f0b - .word 0x1e0a - .word debug_80C6B00+1 - .word gUnknown_Debug_2038A20 - .word 0x2018000 - .word 0x115 - .word gSpriteTemplate_83F8874 - .word gSprites - - thumb_func_end InitSeePokemonGraphics - - thumb_func_start debug_80C6B00 -debug_80C6B00: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xffffffec - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r1, ._666 @ gUnknown_Debug_083F8815 - mov r0, sp - mov r2, #0x12 - bl memcpy - mov r0, #0xa - mov r1, #0x0 - mov r2, #0xf - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x9 - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0xa - mov r2, #0x9 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r0, #0x10 - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - ldr r0, ._666 + 4 @ gUnknown_Debug_083F87D0 - mov r1, #0x11 - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._666 + 8 @ gUnknown_Debug_083F87D8 - mov r1, #0x1b - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._666 + 12 @ gUnknown_Debug_083F87E0 - mov r1, #0x11 - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0xa - mov r1, #0x8 - mov r2, #0x1d - mov r3, #0xc - bl Menu_DrawStdWindowFrame - mov r2, #0x0 - ldr r4, ._666 + 16 @ 0x600fa56 - ldr r0, ._666 + 20 @ 0xa311 - add r3, r0, #0 -._661: - lsl r0, r2, #0x1 - add r0, r0, r4 - add r1, r2, r3 - strh r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0xe - bls ._661 @cond_branch - mov r2, #0x0 - ldr r5, ._666 + 24 @ gUnknown_Debug_083F87F4 - lsl r6, r7, #0x2 - mov r8, r6 - ldr r4, ._666 + 28 @ 0x600f256 - ldr r0, ._666 + 32 @ 0x8301 - add r3, r0, #0 -._662: - lsl r0, r2, #0x1 - add r0, r0, r4 - add r1, r2, r3 - strh r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0xe - bls ._662 @cond_branch - add r0, r5, #0 - mov r1, #0x14 - mov r2, #0xa - bl Menu_PrintText - mov r0, #0xa - mov r1, #0xd - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r1, sp - mov r0, #0x23 - strb r0, [r1] - mov r2, #0x0 - ldr r4, ._666 + 36 @ 0x600f396 - mov r5, #0x93 - lsl r5, r5, #0x8 - add r3, r5, #0 -._663: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._663 @cond_branch - mov r1, sp - mov r0, #0x24 - strb r0, [r1] - mov r2, #0x0 - ldr r5, ._666 + 40 @ gUnknown_Debug_083F8801 - ldr r4, ._666 + 44 @ 0x600f3d6 - mov r0, #0x93 - lsl r0, r0, #0x8 - add r3, r0, #0 -._664: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._664 @cond_branch - mov r1, sp - mov r0, #0x25 - strb r0, [r1] - mov r2, #0x0 - ldr r4, ._666 + 48 @ 0x600f416 - mov r0, #0x93 - lsl r0, r0, #0x8 - add r3, r0, #0 -._665: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._665 @cond_branch - add r0, r5, #0 - mov r1, #0xf - mov r2, #0x11 - bl Menu_PrintText - ldr r1, ._666 + 52 @ 0x4000040 - ldr r2, ._666 + 56 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r5, ._666 + 60 @ 0x699f - add r0, r5, #0 - strh r0, [r1] - ldr r1, ._666 + 64 @ gTasks - mov r6, r8 - add r0, r6, r7 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._666 + 68 @ debug_80C6CB8 - str r1, [r0] - add sp, sp, #0x14 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._667: - .align 2, 0 -._666: - .word gUnknown_Debug_083F8815 - .word gUnknown_Debug_083F87D0 - .word gUnknown_Debug_083F87D8 - .word gUnknown_Debug_083F87E0 - .word 0x600fa56 - .word 0xa311 - .word gUnknown_Debug_083F87F4 - .word 0x600f256 - .word 0x8301 - .word 0x600f396 - .word gUnknown_Debug_083F8801 - .word 0x600f3d6 - .word 0x600f416 - .word 0x4000040 - .word 0x51ef - .word 0x699f - .word gTasks - .word debug_80C6CB8+1 - - thumb_func_end debug_80C6B00 - - thumb_func_start debug_80C6CB8 -debug_80C6CB8: - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, r9 - mov r5, r8 - push {r5, r6, r7} - add sp, sp, #0xfffffff4 - mov sl, r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov sl, r0 - ldr r5, ._668 @ gUnknown_Debug_2038A20 - ldr r4, [r5] - ldrh r2, [r4] - lsl r0, r2, #0x3 - ldr r1, ._668 + 4 @ gMonFrontPicTable - add r0, r0, r1 - ldr r1, ._668 + 8 @ gMonFrontPicCoords - lsl r2, r2, #0x2 - add r2, r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, #0x1] - ldr r3, ._668 + 12 @ gUnknown_081FAF4C - mov r8, r3 - ldr r6, [r3] - str r6, [sp, #0x8] - ldr r3, [r3, #0x4] - str r3, [sp] - ldrh r3, [r4] - str r3, [sp, #0x4] - add r3, r6, #0 - bl DecompressPicFromTable_2 - ldr r0, [r5] - ldrh r0, [r0] - lsl r0, r0, #0x3 - ldr r7, ._668 + 16 @ gMonPaletteTable - add r0, r0, r7 - bl LoadCompressedObjectPalette - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x1 - bl GetMonSpriteTemplate_803C56C - ldr r0, ._668 + 20 @ gUnknown_02024E8C - mov r1, #0x28 - mov r2, #0x28 - mov r3, #0x0 - bl CreateSprite - ldr r1, [r5] - strb r0, [r1, #0x2] - ldr r2, [r5] - ldrb r1, [r2, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - ldr r1, ._668 + 24 @ gSprites - add r0, r0, r1 - ldr r3, ._668 + 28 @ debug_69 - mov r9, r3 - str r3, [r0] - ldrb r0, [r2, #0x2] - lsl r1, r0, #0x4 - add r1, r1, r0 - lsl r1, r1, #0x2 - ldr r6, ._668 + 32 @ gSprites - add r1, r1, r6 - ldrb r2, [r1, #0x5] - mov r6, #0xd - neg r6, r6 - add r0, r6, #0 - and r0, r0, r2 - strb r0, [r1, #0x5] - ldr r4, [r5] - ldrh r2, [r4] - lsl r0, r2, #0x3 - ldr r1, ._668 + 36 @ gMonBackPicTable - add r0, r0, r1 - ldr r1, ._668 + 40 @ gMonBackPicCoords - lsl r2, r2, #0x2 - add r2, r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, #0x1] - mov r7, r8 - ldr r3, [r7, #0x8] - str r3, [sp] - ldrh r3, [r4] - str r3, [sp, #0x4] - ldr r3, [sp, #0x8] - bl DecompressPicFromTable_2 - ldr r0, [r5] - ldrh r0, [r0] - lsl r0, r0, #0x3 - ldr r1, ._668 + 16 @ gMonPaletteTable - add r0, r0, r1 - bl LoadCompressedObjectPalette - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x2 - bl GetMonSpriteTemplate_803C56C - ldr r0, ._668 + 20 @ gUnknown_02024E8C - mov r1, #0x28 - mov r2, #0x78 - mov r3, #0x0 - bl CreateSprite - ldr r1, [r5] - strb r0, [r1, #0x3] - ldr r2, [r5] - ldrb r1, [r2, #0x3] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - ldr r3, ._668 + 24 @ gSprites - add r0, r0, r3 - mov r7, r9 - str r7, [r0] - ldrb r1, [r2, #0x3] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - ldr r1, ._668 + 32 @ gSprites - add r0, r0, r1 - ldrb r1, [r0, #0x5] - and r6, r6, r1 - strb r6, [r0, #0x5] - ldr r0, [r5] - ldrh r0, [r0] - ldr r1, ._668 + 44 @ sub_809D62C - mov r2, #0x0 - str r2, [sp] - str r2, [sp, #0x4] - mov r2, #0x68 - mov r3, #0x2c - bl CreateMonIcon - ldr r1, [r5] - strb r0, [r1, #0x4] - ldr r0, [r5] - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r2, #0xff - lsl r2, r2, #0x2 - mov r1, #0x2 - bl sub_8091738 - ldr r1, ._668 + 48 @ 0x600f858 - ldr r3, ._668 + 52 @ 0xf3fc - add r0, r3, #0 - strh r0, [r1] - add r1, r1, #0x2 - ldr r6, ._668 + 56 @ 0xf3fd - add r0, r6, #0 - strh r0, [r1] - add r1, r1, #0x3e - ldr r7, ._668 + 60 @ 0xf3fe - add r0, r7, #0 - strh r0, [r1] - add r1, r1, #0x2 - ldr r2, ._668 + 64 @ 0xf3ff - add r0, r2, #0 - strh r0, [r1] - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x11 - mov r2, #0x3 - bl debug_80C3800 - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x1a - mov r2, #0x5 - bl debug_80C376C - ldr r2, [r5] - ldrb r1, [r2, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - ldr r3, ._668 + 32 @ gSprites - add r0, r0, r3 - ldrb r0, [r0, #0x5] - lsr r0, r0, #0x4 - strb r0, [r2, #0x6] - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - ldr r4, ._668 + 68 @ gPlttBufferUnfaded - add r0, r0, r4 - ldr r6, ._668 + 72 @ 0xffffff00 - add r1, r4, r6 - mov r2, #0x10 - bl CpuSet - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - add r0, r0, r4 - ldr r1, ._668 + 76 @ gPlttBufferFaded - mov r2, #0x10 - bl CpuSet - ldr r1, ._668 + 80 @ gTasks - mov r7, sl - lsl r0, r7, #0x2 - add r0, r0, sl - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._668 + 84 @ debug_80C6EE8 - str r1, [r0] - ldr r0, [r5] - mov r1, #0x0 - strb r1, [r0, #0x9] - bl StopCryAndClearCrySongs - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x0 - bl PlayCry1 - add sp, sp, #0xc - pop {r3, r4, r5} - mov r8, r3 - mov r9, r4 - mov sl, r5 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._669: - .align 2, 0 -._668: - .word gUnknown_Debug_2038A20 - .word gMonFrontPicTable - .word gMonFrontPicCoords - .word gUnknown_081FAF4C - .word gMonPaletteTable - .word gUnknown_02024E8C - .word gSprites+0x1c - .word debug_69+1 - .word gSprites - .word gMonBackPicTable - .word gMonBackPicCoords - .word sub_809D62C+1 - .word 0x600f858 - .word 0xf3fc - .word 0xf3fd - .word 0xf3fe - .word 0xf3ff - .word gPlttBufferUnfaded+0x200 - .word 0xffffff00 - .word gPlttBufferFaded+0x100 - .word gTasks - .word debug_80C6EE8+1 - - thumb_func_end debug_80C6CB8 - - thumb_func_start debug_80C6EE8 -debug_80C6EE8: - push {r4, r5, r6, lr} - add r6, r0, #0 - lsl r6, r6, #0x18 - lsr r6, r6, #0x18 - ldr r4, ._670 @ gPlttBufferUnfaded - ldr r5, ._670 + 4 @ gUnknown_Debug_2038A20 - ldr r1, [r5] - add r1, r1, #0x10 - add r0, r4, #0 - mov r2, #0x10 - bl CpuSet - ldr r0, ._670 + 8 @ 0xffffff00 - add r4, r4, r0 - ldr r3, [r5] - ldrb r0, [r3, #0x7] - add r0, r0, #0x81 - lsl r0, r0, #0x1 - add r0, r0, r4 - ldrh r4, [r0] - mov r1, #0x1f - and r1, r1, r4 - ldrb r2, [r3, #0xc] - mov r0, #0x20 - neg r0, r0 - and r0, r0, r2 - orr r0, r0, r1 - strb r0, [r3, #0xc] - ldr r3, [r5] - mov r1, #0xf8 - lsl r1, r1, #0x2 - and r1, r1, r4 - ldrh r2, [r3, #0xc] - ldr r0, ._670 + 12 @ 0xfffffc1f - and r0, r0, r2 - orr r0, r0, r1 - strh r0, [r3, #0xc] - mov r1, #0xf8 - lsl r1, r1, #0x7 - and r1, r1, r4 - lsr r1, r1, #0x8 - ldrb r2, [r3, #0xd] - mov r0, #0x7d - neg r0, r0 - and r0, r0, r2 - orr r0, r0, r1 - strb r0, [r3, #0xd] - ldr r2, [r5] - ldrb r1, [r2, #0xd] - mov r0, #0x7f - and r0, r0, r1 - strb r0, [r2, #0xd] - ldr r0, [r5] - ldrb r0, [r0, #0x7] - add r0, r0, #0x1 - mov r1, #0xb - mov r2, #0xa - mov r3, #0x2 - bl debug_80C68CC - ldr r0, ._670 + 16 @ gUnknown_Debug_083F8813 - mov r1, #0xd - mov r2, #0xa - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0xe - mov r2, #0xa - mov r3, #0x4 - bl debug_80C68CC - ldr r1, ._670 + 20 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._670 + 24 @ debug_80C6FA8 - str r1, [r0] - pop {r4, r5, r6} - pop {r0} - bx r0 -._671: - .align 2, 0 -._670: - .word gPlttBufferUnfaded+0x100 - .word gUnknown_Debug_2038A20 - .word 0xffffff00 - .word 0xfffffc1f - .word gUnknown_Debug_083F8813 - .word gTasks - .word debug_80C6FA8+1 - - thumb_func_end debug_80C6EE8 - - thumb_func_start debug_80C6FA8 -debug_80C6FA8: - push {r4, r5, r6, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r1, ._674 @ gMain - ldrh r2, [r1, #0x2e] - mov r0, #0x2 - and r0, r0, r2 - add r4, r1, #0 - cmp r0, #0 - beq ._672 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r0, ._674 + 4 @ debug_80C370C - bl SetMainCallback2 - ldr r1, ._674 + 8 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._674 + 12 @ debug_80C373C - str r1, [r0] - b ._703 -._675: - .align 2, 0 -._674: - .word gMain - .word debug_80C370C+1 - .word gTasks - .word debug_80C373C+1 -._672: - ldrh r1, [r4, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._676 @cond_branch - ldr r4, ._678 @ gUnknown_Debug_2038A20 - ldr r0, [r4] - ldrh r1, [r0] - mov r0, #0x0 - b ._677 -._679: - .align 2, 0 -._678: - .word gUnknown_Debug_2038A20 -._676: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._680 @cond_branch - ldr r4, ._682 @ gUnknown_Debug_2038A20 - ldr r0, [r4] - ldrh r1, [r0] - mov r0, #0x1 -._677: - bl debug_80C3878 - ldr r1, [r4] - strh r0, [r1] - ldr r1, ._682 + 4 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._682 + 8 @ debug_80C71FC - str r1, [r0] - b ._703 -._683: - .align 2, 0 -._682: - .word gUnknown_Debug_2038A20 - .word gTasks - .word debug_80C71FC+1 -._680: - mov r3, #0x1 - and r3, r3, r2 - cmp r3, #0 - beq ._684 @cond_branch - ldr r0, ._686 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - mov r0, #0x1 - strb r0, [r1, #0x5] - ldr r1, ._686 + 4 @ 0x4000040 - ldr r2, ._686 + 8 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._686 + 12 @ 0x4167 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._686 + 16 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._686 + 20 @ debug_80C7294 - str r1, [r0] - b ._703 -._687: - .align 2, 0 -._686: - .word gUnknown_Debug_2038A20 - .word 0x4000040 - .word 0x51ef - .word 0x4167 - .word gTasks - .word debug_80C7294+1 -._684: - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._689 @cond_branch - ldr r1, ._691 @ gUnknown_Debug_2038A20 - ldr r2, [r1] - ldrb r0, [r2, #0x7] - cmp r0, #0xd - bhi ._689 @cond_branch - lsl r0, r0, #0x1 - ldr r2, ._691 + 4 @ 0x5000102 - add r0, r0, r2 - strh r3, [r0] - ldr r1, [r1] - ldrb r0, [r1, #0x7] - add r0, r0, #0x1 - strb r0, [r1, #0x7] - b ._695 -._692: - .align 2, 0 -._691: - .word gUnknown_Debug_2038A20 - .word 0x5000102 -._689: - ldrh r1, [r4, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._694 @cond_branch - ldr r2, ._696 @ gUnknown_Debug_2038A20 - ldr r1, [r2] - ldrb r0, [r1, #0x7] - cmp r0, #0 - beq ._694 @cond_branch - lsl r0, r0, #0x1 - ldr r1, ._696 + 4 @ 0x5000102 - add r0, r0, r1 - mov r1, #0x0 - strh r1, [r0] - ldr r1, [r2] - ldrb r0, [r1, #0x7] - sub r0, r0, #0x1 - strb r0, [r1, #0x7] - b ._695 -._697: - .align 2, 0 -._696: - .word gUnknown_Debug_2038A20 - .word 0x5000102 -._694: - ldrh r1, [r4, #0x2e] - mov r0, #0x8 - and r0, r0, r1 - cmp r0, #0 - beq ._698 @cond_branch - ldr r4, ._701 @ gUnknown_Debug_2038A20 - ldr r2, [r4] - ldrb r0, [r2, #0x9] - mov r1, #0x1 - eor r0, r0, r1 - strb r0, [r2, #0x9] - ldr r1, [r4] - ldrb r0, [r1, #0x9] - cmp r0, #0 - beq ._699 @cond_branch - ldrh r0, [r1] - mov r1, #0x0 - mov r2, #0x0 - bl GetMonSpritePalFromOtIdPersonality - ldr r1, [r4] - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x14 - mov r2, #0x80 - lsl r2, r2, #0x11 - add r1, r1, r2 - lsr r1, r1, #0x10 - mov r2, #0x20 - bl LoadCompressedPalette - b ._700 -._702: - .align 2, 0 -._701: - .word gUnknown_Debug_2038A20 -._699: - ldrh r0, [r1] - mov r1, #0x0 - mov r2, #0x9 - bl GetMonSpritePalFromOtIdPersonality - ldr r1, [r4] - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x14 - mov r2, #0x80 - lsl r2, r2, #0x11 - add r1, r1, r2 - lsr r1, r1, #0x10 - mov r2, #0x20 - bl LoadCompressedPalette -._700: - ldr r5, ._704 @ gUnknown_Debug_2038A20 - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - ldr r4, ._704 + 4 @ gPlttBufferUnfaded - add r0, r0, r4 - ldr r2, ._704 + 8 @ 0xffffff00 - add r1, r4, r2 - mov r2, #0x10 - bl CpuSet - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - add r0, r0, r4 - ldr r1, ._704 + 12 @ gPlttBufferFaded - mov r2, #0x10 - bl CpuSet -._695: - ldr r1, ._704 + 16 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._704 + 20 @ debug_80C6EE8 - str r1, [r0] - b ._703 -._705: - .align 2, 0 -._704: - .word gUnknown_Debug_2038A20 - .word gPlttBufferUnfaded+0x200 - .word 0xffffff00 - .word gPlttBufferFaded+0x100 - .word gTasks - .word debug_80C6EE8+1 -._698: - mov r0, #0x4 - and r0, r0, r1 - cmp r0, #0 - beq ._706 @cond_branch - bl StopCryAndClearCrySongs - ldr r0, ._707 @ gUnknown_Debug_2038A20 - ldr r0, [r0] - ldrh r0, [r0] - mov r1, #0x0 - bl PlayCry1 -._706: - ldr r2, ._707 @ gUnknown_Debug_2038A20 - ldr r1, [r2] - ldrb r0, [r1, #0x8] - add r0, r0, #0x4 - strb r0, [r1, #0x8] - ldr r3, [r2] - ldrb r1, [r3, #0x8] - mov r0, #0x1f - and r0, r0, r1 - strb r0, [r3, #0x8] - ldr r0, [r2] - ldrb r1, [r0, #0x7] - lsl r1, r1, #0x1 - ldr r2, ._707 + 4 @ 0x5000142 - add r1, r1, r2 - ldr r2, ._707 + 8 @ gUnknown_Debug_083F8790 - ldrb r0, [r0, #0x8] - lsl r0, r0, #0x1 - add r0, r0, r2 - ldrh r0, [r0] - strh r0, [r1] -._703: - add sp, sp, #0x4 - pop {r4, r5, r6} - pop {r0} - bx r0 -._708: - .align 2, 0 -._707: - .word gUnknown_Debug_2038A20 - .word 0x5000142 - .word gUnknown_Debug_083F8790 - - thumb_func_end debug_80C6FA8 - - thumb_func_start debug_80C71FC -debug_80C71FC: - push {r4, r5, r6, lr} - add r5, r0, #0 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - ldr r6, ._709 @ gSprites - ldr r4, ._709 + 4 @ gUnknown_Debug_2038A20 - ldr r0, [r4] - ldrb r1, [r0, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldrb r0, [r0, #0x5] - lsr r0, r0, #0x4 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldr r0, [r4] - ldrb r1, [r0, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - bl DestroySprite - ldr r0, [r4] - ldrb r1, [r0, #0x3] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldrb r0, [r0, #0x5] - lsr r0, r0, #0x4 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldr r0, [r4] - ldrb r1, [r0, #0x3] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - bl DestroySprite - ldr r0, [r4] - ldrb r1, [r0, #0x4] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - bl sub_809D510 - ldr r1, ._709 + 8 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._709 + 12 @ debug_80C6CB8 - str r1, [r0] - pop {r4, r5, r6} - pop {r0} - bx r0 -._710: - .align 2, 0 -._709: - .word gSprites - .word gUnknown_Debug_2038A20 - .word gTasks - .word debug_80C6CB8+1 - - thumb_func_end debug_80C71FC - - thumb_func_start debug_80C7294 -debug_80C7294: - push {r4, r5, r6, r7, lr} - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r0, ._713 @ gMain - ldrh r2, [r0, #0x2e] - mov r1, #0x1 - and r1, r1, r2 - add r3, r0, #0 - cmp r1, #0 - beq ._711 @cond_branch - ldr r0, ._713 + 4 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - mov r0, #0x0 - strb r0, [r1, #0x5] - ldr r1, ._713 + 8 @ 0x4000040 - ldr r2, ._713 + 12 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._713 + 16 @ 0x699f - add r0, r2, #0 - strh r0, [r1] - b ._712 -._714: - .align 2, 0 -._713: - .word gMain - .word gUnknown_Debug_2038A20 - .word 0x4000040 - .word 0x51ef - .word 0x699f -._711: - mov r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - beq ._715 @cond_branch - ldr r6, ._717 @ gUnknown_Debug_2038A20 - ldr r0, [r6] - strb r1, [r0, #0x5] - ldr r1, ._717 + 4 @ 0x4000040 - ldr r2, ._717 + 8 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._717 + 12 @ 0x699f - add r0, r2, #0 - strh r0, [r1] - ldr r0, [r6] - add r0, r0, #0x10 - ldr r4, ._717 + 16 @ gPlttBufferUnfaded - add r1, r4, #0 - mov r2, #0x10 - bl CpuSet - ldr r0, [r6] - add r0, r0, #0x10 - ldr r5, ._717 + 20 @ gPlttBufferFaded - add r1, r5, #0 - mov r2, #0x10 - bl CpuSet - ldr r1, [r6] - add r0, r1, #0 - add r0, r0, #0x10 - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x5 - mov r2, #0x80 - lsl r2, r2, #0x1 - add r4, r4, r2 - add r1, r1, r4 - mov r2, #0x10 - bl CpuSet - ldr r1, [r6] - add r0, r1, #0 - add r0, r0, #0x10 - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x5 - mov r2, #0x80 - lsl r2, r2, #0x1 - add r5, r5, r2 - add r1, r1, r5 - mov r2, #0x10 - bl CpuSet -._712: - ldr r1, ._717 + 24 @ gTasks - lsl r0, r7, #0x2 - add r0, r0, r7 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._717 + 28 @ debug_80C6EE8 - str r1, [r0] - b ._754 -._718: - .align 2, 0 -._717: - .word gUnknown_Debug_2038A20 - .word 0x4000040 - .word 0x51ef - .word 0x699f - .word gPlttBufferUnfaded+0x100 - .word gPlttBufferFaded+0x100 - .word gTasks - .word debug_80C6EE8+1 -._715: - ldrh r1, [r3, #0x30] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._720 @cond_branch - ldr r0, ._722 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - ldrb r0, [r1, #0xa] - cmp r0, #0x1 - bhi ._720 @cond_branch - add r0, r0, #0x1 - strb r0, [r1, #0xa] - b ._754 -._723: - .align 2, 0 -._722: - .word gUnknown_Debug_2038A20 -._720: - ldrh r1, [r3, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._725 @cond_branch - ldr r0, ._727 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - ldrb r0, [r1, #0xa] - cmp r0, #0 - beq ._725 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1, #0xa] - b ._754 -._728: - .align 2, 0 -._727: - .word gUnknown_Debug_2038A20 -._725: - ldrh r1, [r3, #0x30] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._729 @cond_branch - ldr r0, ._734 @ gUnknown_Debug_2038A20 - ldr r2, [r0] - ldrb r0, [r2, #0xa] - cmp r0, #0x1 - beq ._730 @cond_branch - cmp r0, #0x1 - bgt ._731 @cond_branch - cmp r0, #0 - beq ._732 @cond_branch - b ._754 -._735: - .align 2, 0 -._734: - .word gUnknown_Debug_2038A20 -._731: - cmp r0, #0x2 - beq ._736 @cond_branch - b ._754 -._732: - ldrb r3, [r2, #0xc] - lsl r1, r3, #0x1b - lsr r0, r1, #0x1b - cmp r0, #0x1e - bhi ._761 @cond_branch - add r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - mov r1, #0x20 - neg r1, r1 - and r1, r1, r3 - orr r1, r1, r0 - strb r1, [r2, #0xc] - b ._761 -._730: - ldrh r3, [r2, #0xc] - lsl r1, r3, #0x16 - lsr r0, r1, #0x1b - cmp r0, #0x1e - bhi ._761 @cond_branch - add r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x5 - ldr r1, ._742 @ 0xfffffc1f - and r1, r1, r3 - orr r1, r1, r0 - strh r1, [r2, #0xc] - b ._761 -._743: - .align 2, 0 -._742: - .word 0xfffffc1f -._736: - ldrb r3, [r2, #0xd] - lsl r1, r3, #0x19 - lsr r0, r1, #0x1b - cmp r0, #0x1e - bhi ._761 @cond_branch - add r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x2 - mov r1, #0x7d - neg r1, r1 - and r1, r1, r3 - orr r1, r1, r0 - strb r1, [r2, #0xd] - b ._761 -._729: - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._754 @cond_branch - ldr r0, ._751 @ gUnknown_Debug_2038A20 - ldr r3, [r0] - ldrb r0, [r3, #0xa] - cmp r0, #0x1 - beq ._747 @cond_branch - cmp r0, #0x1 - bgt ._748 @cond_branch - cmp r0, #0 - beq ._749 @cond_branch - b ._754 -._752: - .align 2, 0 -._751: - .word gUnknown_Debug_2038A20 -._748: - cmp r0, #0x2 - beq ._753 @cond_branch - b ._754 -._749: - ldrb r2, [r3, #0xc] - mov r0, #0x1f - and r0, r0, r2 - cmp r0, #0 - beq ._761 @cond_branch - lsl r0, r2, #0x1b - lsr r0, r0, #0x1b - sub r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - mov r1, #0x20 - neg r1, r1 - and r1, r1, r2 - orr r1, r1, r0 - strb r1, [r3, #0xc] - b ._761 -._747: - ldrh r2, [r3, #0xc] - mov r0, #0xf8 - lsl r0, r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - beq ._761 @cond_branch - lsl r0, r2, #0x16 - lsr r0, r0, #0x1b - sub r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x5 - ldr r1, ._759 @ 0xfffffc1f - and r1, r1, r2 - orr r1, r1, r0 - strh r1, [r3, #0xc] - b ._761 -._760: - .align 2, 0 -._759: - .word 0xfffffc1f -._753: - ldrb r2, [r3, #0xd] - mov r0, #0x7c - and r0, r0, r2 - cmp r0, #0 - beq ._761 @cond_branch - lsl r0, r2, #0x19 - lsr r0, r0, #0x1b - sub r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x2 - mov r1, #0x7d - neg r1, r1 - and r1, r1, r2 - orr r1, r1, r0 - strb r1, [r3, #0xd] -._761: - ldr r0, ._762 @ gTasks - lsl r1, r7, #0x2 - add r1, r1, r7 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._762 + 4 @ debug_80C74E4 - str r0, [r1] -._754: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._763: - .align 2, 0 -._762: - .word gTasks - .word debug_80C74E4+1 - - thumb_func_end debug_80C7294 - - thumb_func_start debug_80C74E4 -debug_80C74E4: - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - add r5, r0, #0 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - ldr r0, ._764 @ gUnknown_Debug_2038A20 - ldr r3, [r0] - ldrb r0, [r3, #0xc] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1b - ldrh r2, [r3, #0xc] - mov r1, #0xf8 - lsl r1, r1, #0x2 - and r1, r1, r2 - add r0, r0, r1 - ldrb r1, [r3, #0xd] - lsl r1, r1, #0x19 - lsr r1, r1, #0x1b - lsl r1, r1, #0xa - add r0, r0, r1 - ldr r6, ._764 + 4 @ gPlttBufferUnfaded - ldrb r1, [r3, #0x7] - add r1, r1, #0x81 - lsl r1, r1, #0x1 - add r1, r1, r6 - strh r0, [r1] - ldr r1, ._764 + 8 @ gPlttBufferFaded - mov r8, r1 - ldrb r1, [r3, #0x7] - add r1, r1, #0x81 - lsl r1, r1, #0x1 - add r1, r1, r8 - strh r0, [r1] - ldrb r1, [r3, #0x6] - lsl r1, r1, #0x4 - ldrb r2, [r3, #0x7] - ldr r4, ._764 + 12 @ 0x101 - add r2, r2, r4 - add r1, r1, r2 - lsl r1, r1, #0x1 - add r1, r1, r6 - strh r0, [r1] - ldrb r1, [r3, #0x6] - lsl r1, r1, #0x4 - ldrb r2, [r3, #0x7] - add r2, r2, r4 - add r1, r1, r2 - lsl r1, r1, #0x1 - add r1, r1, r8 - strh r0, [r1] - mov r1, #0xe - mov r2, #0xa - mov r3, #0x4 - bl debug_80C68CC - ldr r1, ._764 + 16 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._764 + 20 @ debug_80C7294 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 -._765: - .align 2, 0 -._764: - .word gUnknown_Debug_2038A20 - .word gPlttBufferUnfaded - .word gPlttBufferFaded - .word 0x101 - .word gTasks - .word debug_80C7294+1 - - thumb_func_end debug_80C74E4 - - thumb_func_start debug_80C7584 -debug_80C7584: - push {r4, lr} - add r2, r0, #0 - ldr r0, ._771 @ gUnknown_Debug_2038A20 - ldr r3, [r0] - ldrb r1, [r3, #0x5] - add r4, r0, #0 - cmp r1, #0 - beq ._766 @cond_branch - mov r1, #0x2e - ldsh r0, [r2, r1] - cmp r0, #0x1 - beq ._767 @cond_branch - cmp r0, #0x1 - ble ._768 @cond_branch - cmp r0, #0x2 - beq ._769 @cond_branch -._768: - ldrb r0, [r3, #0xc] - lsl r0, r0, #0x1b - b ._773 -._772: - .align 2, 0 -._771: - .word gUnknown_Debug_2038A20 -._767: - ldrh r0, [r3, #0xc] - lsl r0, r0, #0x16 - b ._773 -._769: - ldrb r0, [r3, #0xd] - lsl r0, r0, #0x19 -._773: - lsr r0, r0, #0x1b - lsl r0, r0, #0x2 - strh r0, [r2, #0x24] - mov r1, #0x2e - ldsh r0, [r2, r1] - lsl r0, r0, #0x3 - strh r0, [r2, #0x26] - ldrh r0, [r2, #0x30] - add r3, r0, #1 - strh r3, [r2, #0x30] - mov r0, #0x2e - ldsh r1, [r2, r0] - ldr r0, [r4] - ldrb r0, [r0, #0xa] - cmp r1, r0 - bne ._775 @cond_branch - mov r0, #0x8 - and r3, r3, r0 - cmp r3, #0 - bne ._775 @cond_branch -._766: - add r0, r2, #0 - add r0, r0, #0x3e - ldrb r1, [r0] - mov r2, #0x4 - orr r1, r1, r2 - strb r1, [r0] - b ._776 -._775: - add r2, r2, #0x3e - ldrb r1, [r2] - mov r0, #0x5 - neg r0, r0 - and r0, r0, r1 - strb r0, [r2] -._776: - pop {r4} - pop {r0} - bx r0 - - thumb_func_end debug_80C7584 - - thumb_func_start InitSeeTrainers -InitSeeTrainers: - push {r4, r5, r6, lr} - add sp, sp, #0xfffffffc - bl debug_80C35DC - ldr r1, ._777 @ byte_83F88EC - ldr r2, ._777 + 4 @ 0x600e000 - ldr r0, ._777 + 8 @ 0x40000d4 - str r1, [r0] - str r2, [r0, #0x4] - ldr r1, ._777 + 12 @ 0x80000400 - str r1, [r0, #0x8] - ldr r0, [r0, #0x8] - ldr r0, ._777 + 16 @ word_83F888C - mov r1, #0x80 - mov r2, #0x60 - bl LoadPalette - mov r0, #0x1 - neg r0, r0 - mov r5, #0x0 - str r5, [sp] - mov r1, #0x0 - mov r2, #0x10 - mov r3, #0x0 - bl BeginNormalPaletteFade - ldr r0, ._777 + 20 @ 0x4000040 - mov r6, #0x0 - strh r5, [r0] - add r0, r0, #0x4 - strh r5, [r0] - sub r0, r0, #0x2 - strh r5, [r0] - add r0, r0, #0x4 - strh r5, [r0] - ldr r1, ._777 + 24 @ 0x4000048 - mov r0, #0x3f - strh r0, [r1] - add r1, r1, #0x2 - mov r0, #0x1f - strh r0, [r1] - add r1, r1, #0x6 - mov r0, #0xf1 - strh r0, [r1] - ldr r0, ._777 + 28 @ 0x4000052 - strh r5, [r0] - add r1, r1, #0x4 - mov r0, #0x7 - strh r0, [r1] - ldr r3, ._777 + 32 @ 0x4000208 - ldrh r2, [r3] - strh r5, [r3] - ldr r4, ._777 + 36 @ 0x4000200 - ldrh r0, [r4] - mov r1, #0x1 - orr r0, r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, ._777 + 40 @ debug_80C3758 - bl SetVBlankCallback - ldr r0, ._777 + 44 @ debug_80C370C - bl SetMainCallback2 - ldr r1, ._777 + 48 @ 0x4000008 - ldr r2, ._777 + 52 @ 0x1f0b - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x2 - ldr r2, ._777 + 56 @ 0x1e0a - add r0, r2, #0 - strh r0, [r1] - sub r1, r1, #0xa - mov r2, #0xcd - lsl r2, r2, #0x6 - add r0, r2, #0 - strh r0, [r1] - ldr r0, ._777 + 60 @ debug_80C777C - mov r1, #0x0 - bl CreateTask - ldr r1, ._777 + 64 @ gUnknown_Debug_2038A20 - ldr r0, ._777 + 68 @ 0x2018000 - str r0, [r1] - strh r5, [r0] - strb r6, [r0, #0x2] - strb r6, [r0, #0x3] - strb r6, [r0, #0x5] - strb r6, [r0, #0x7] - strb r6, [r0, #0xa] - strb r6, [r0, #0x8] - ldr r4, ._777 + 72 @ gSpriteTemplate_83F8874 - add r0, r4, #0 - mov r1, #0x6c - mov r2, #0x74 - mov r3, #0x0 - bl CreateSprite - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - ldr r6, ._777 + 76 @ gSprites - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - strh r5, [r0, #0x2e] - mov r1, #0x0 - bl StartSpriteAnim - add r0, r4, #0 - mov r1, #0x6c - mov r2, #0x74 - mov r3, #0x0 - bl CreateSprite - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - mov r1, #0x1 - strh r1, [r0, #0x2e] - bl StartSpriteAnim - add r0, r4, #0 - mov r1, #0x6c - mov r2, #0x74 - mov r3, #0x0 - bl CreateSprite - add r1, r0, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - mov r1, #0x2 - strh r1, [r0, #0x2e] - bl StartSpriteAnim - add sp, sp, #0x4 - pop {r4, r5, r6} - pop {r0} - bx r0 -._778: - .align 2, 0 -._777: - .word byte_83F88EC - .word 0x600e000 - .word 0x40000d4 - .word 0x80000400 - .word word_83F888C - .word 0x4000040 - .word 0x4000048 - .word 0x4000052 - .word 0x4000208 - .word 0x4000200 - .word debug_80C3758+1 - .word debug_80C370C+1 - .word 0x4000008 - .word 0x1f0b - .word 0x1e0a - .word debug_80C777C+1 - .word gUnknown_Debug_2038A20 - .word 0x2018000 - .word gSpriteTemplate_83F8874 - .word gSprites - - thumb_func_end InitSeeTrainers - - thumb_func_start debug_80C777C -debug_80C777C: - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - add sp, sp, #0xffffffec - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r1, ._784 @ gUnknown_Debug_083F8815 - mov r0, sp - mov r2, #0x12 - bl memcpy - mov r0, #0x9 - mov r1, #0x0 - mov r2, #0xe - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0x0 - mov r2, #0x9 - mov r3, #0x9 - bl Menu_DrawStdWindowFrame - mov r0, #0x0 - mov r1, #0xa - mov r2, #0x9 - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r0, #0xe - mov r1, #0x0 - mov r2, #0x1d - mov r3, #0x7 - bl Menu_DrawStdWindowFrame - ldr r0, ._784 + 4 @ gUnknown_Debug_083F87D0 - mov r1, #0xf - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._784 + 8 @ gUnknown_Debug_083F87D8 - mov r1, #0x19 - mov r2, #0x1 - bl Menu_PrintText - ldr r0, ._784 + 12 @ gUnknown_Debug_083F87E0 - mov r1, #0xf - mov r2, #0x5 - bl Menu_PrintText - mov r0, #0xa - mov r1, #0x8 - mov r2, #0x1d - mov r3, #0xc - bl Menu_DrawStdWindowFrame - mov r2, #0x0 - ldr r4, ._784 + 16 @ 0x600fa56 - ldr r0, ._784 + 20 @ 0xa311 - add r3, r0, #0 -._779: - lsl r0, r2, #0x1 - add r0, r0, r4 - add r1, r2, r3 - strh r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0xe - bls ._779 @cond_branch - mov r2, #0x0 - ldr r5, ._784 + 24 @ gUnknown_Debug_083F87F4 - lsl r6, r7, #0x2 - mov r8, r6 - ldr r4, ._784 + 28 @ 0x600f256 - ldr r0, ._784 + 32 @ 0x8301 - add r3, r0, #0 -._780: - lsl r0, r2, #0x1 - add r0, r0, r4 - add r1, r2, r3 - strh r1, [r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0xe - bls ._780 @cond_branch - add r0, r5, #0 - mov r1, #0x14 - mov r2, #0xa - bl Menu_PrintText - mov r0, #0xa - mov r1, #0xd - mov r2, #0x1d - mov r3, #0x13 - bl Menu_DrawStdWindowFrame - mov r1, sp - mov r0, #0x23 - strb r0, [r1] - mov r2, #0x0 - ldr r4, ._784 + 36 @ 0x600f396 - mov r5, #0x93 - lsl r5, r5, #0x8 - add r3, r5, #0 -._781: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._781 @cond_branch - mov r1, sp - mov r0, #0x24 - strb r0, [r1] - mov r2, #0x0 - ldr r5, ._784 + 40 @ gUnknown_Debug_083F8801 - ldr r4, ._784 + 44 @ 0x600f3d6 - mov r0, #0x93 - lsl r0, r0, #0x8 - add r3, r0, #0 -._782: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._782 @cond_branch - mov r1, sp - mov r0, #0x25 - strb r0, [r1] - mov r2, #0x0 - ldr r4, ._784 + 48 @ 0x600f416 - mov r0, #0x93 - lsl r0, r0, #0x8 - add r3, r0, #0 -._783: - lsl r1, r2, #0x1 - add r1, r1, r4 - mov r6, sp - add r0, r6, r2 - ldrb r0, [r0] - add r0, r0, r3 - strh r0, [r1] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #0x11 - bls ._783 @cond_branch - add r0, r5, #0 - mov r1, #0xf - mov r2, #0x11 - bl Menu_PrintText - ldr r1, ._784 + 52 @ 0x4000040 - ldr r2, ._784 + 56 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r5, ._784 + 60 @ 0x699f - add r0, r5, #0 - strh r0, [r1] - ldr r1, ._784 + 64 @ gTasks - mov r6, r8 - add r0, r6, r7 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._784 + 68 @ debug_80C7934 - str r1, [r0] - add sp, sp, #0x14 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._785: - .align 2, 0 -._784: - .word gUnknown_Debug_083F8815 - .word gUnknown_Debug_083F87D0 - .word gUnknown_Debug_083F87D8 - .word gUnknown_Debug_083F87E0 - .word 0x600fa56 - .word 0xa311 - .word gUnknown_Debug_083F87F4 - .word 0x600f256 - .word 0x8301 - .word 0x600f396 - .word gUnknown_Debug_083F8801 - .word 0x600f3d6 - .word 0x600f416 - .word 0x4000040 - .word 0x51ef - .word 0x699f - .word gTasks - .word debug_80C7934+1 - - thumb_func_end debug_80C777C - - thumb_func_start debug_80C7934 -debug_80C7934: - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - add sp, sp, #0xfffffff8 - mov r8, r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r8, r0 - ldr r5, ._786 @ gUnknown_Debug_2038A20 - ldr r6, [r5] - ldrh r2, [r6] - lsl r0, r2, #0x3 - ldr r1, ._786 + 4 @ gTrainerFrontPicTable - add r0, r0, r1 - ldr r1, ._786 + 8 @ gTrainerFrontPicCoords - lsl r2, r2, #0x2 - add r2, r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, #0x1] - ldr r4, ._786 + 12 @ gUnknown_081FAF4C - ldr r3, [r4] - ldr r4, [r4, #0x4] - str r4, [sp] - ldrh r4, [r6] - str r4, [sp, #0x4] - bl DecompressPicFromTable_2 - ldr r0, [r5] - ldrh r0, [r0] - lsl r0, r0, #0x3 - ldr r1, ._786 + 16 @ gTrainerFrontPicPaletteTable - add r0, r0, r1 - bl LoadCompressedObjectPalette - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x1 - bl GetMonSpriteTemplate_803C5A0 - ldr r0, ._786 + 20 @ gUnknown_02024E8C - mov r1, #0x28 - mov r2, #0x28 - mov r3, #0x0 - bl CreateSprite - ldr r1, [r5] - mov r6, #0x0 - strb r0, [r1, #0x2] - ldr r4, ._786 + 24 @ gSprites - ldr r2, [r5] - ldrb r1, [r2, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r1, r4, #0 - add r1, r1, #0x1c - add r0, r0, r1 - ldr r1, ._786 + 28 @ debug_69 - str r1, [r0] - ldrb r0, [r2, #0x2] - lsl r1, r0, #0x4 - add r1, r1, r0 - lsl r1, r1, #0x2 - add r1, r1, r4 - ldrb r2, [r1, #0x5] - mov r0, #0xd - neg r0, r0 - and r0, r0, r2 - strb r0, [r1, #0x5] - ldr r0, [r5] - ldrh r0, [r0] - mov r1, #0x1a - mov r2, #0x5 - bl debug_80C376C - ldr r2, [r5] - ldrb r1, [r2, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r4 - ldrb r0, [r0, #0x5] - lsr r0, r0, #0x4 - strb r0, [r2, #0x6] - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - ldr r4, ._786 + 32 @ gPlttBufferUnfaded - add r0, r0, r4 - ldr r2, ._786 + 36 @ 0xffffff00 - add r1, r4, r2 - mov r2, #0x10 - bl CpuSet - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - add r0, r0, r4 - ldr r1, ._786 + 40 @ gPlttBufferFaded - mov r2, #0x10 - bl CpuSet - ldr r1, ._786 + 44 @ gTasks - mov r2, r8 - lsl r0, r2, #0x2 - add r0, r0, r8 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._786 + 48 @ debug_80C7A54 - str r1, [r0] - ldr r0, [r5] - strb r6, [r0, #0x9] - add sp, sp, #0x8 - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 -._787: - .align 2, 0 -._786: - .word gUnknown_Debug_2038A20 - .word gTrainerFrontPicTable - .word gTrainerFrontPicCoords - .word gUnknown_081FAF4C - .word gTrainerFrontPicPaletteTable - .word gUnknown_02024E8C - .word gSprites - .word debug_69+1 - .word gPlttBufferUnfaded+0x200 - .word 0xffffff00 - .word gPlttBufferFaded+0x100 - .word gTasks - .word debug_80C7A54+1 - - thumb_func_end debug_80C7934 - - thumb_func_start debug_80C7A54 -debug_80C7A54: - push {r4, r5, r6, lr} - add r6, r0, #0 - lsl r6, r6, #0x18 - lsr r6, r6, #0x18 - ldr r4, ._788 @ gPlttBufferUnfaded - ldr r5, ._788 + 4 @ gUnknown_Debug_2038A20 - ldr r1, [r5] - add r1, r1, #0x10 - add r0, r4, #0 - mov r2, #0x10 - bl CpuSet - ldr r0, ._788 + 8 @ 0xffffff00 - add r4, r4, r0 - ldr r3, [r5] - ldrb r0, [r3, #0x7] - add r0, r0, #0x81 - lsl r0, r0, #0x1 - add r0, r0, r4 - ldrh r4, [r0] - mov r1, #0x1f - and r1, r1, r4 - ldrb r2, [r3, #0xc] - mov r0, #0x20 - neg r0, r0 - and r0, r0, r2 - orr r0, r0, r1 - strb r0, [r3, #0xc] - ldr r3, [r5] - mov r1, #0xf8 - lsl r1, r1, #0x2 - and r1, r1, r4 - ldrh r2, [r3, #0xc] - ldr r0, ._788 + 12 @ 0xfffffc1f - and r0, r0, r2 - orr r0, r0, r1 - strh r0, [r3, #0xc] - mov r1, #0xf8 - lsl r1, r1, #0x7 - and r1, r1, r4 - lsr r1, r1, #0x8 - ldrb r2, [r3, #0xd] - mov r0, #0x7d - neg r0, r0 - and r0, r0, r2 - orr r0, r0, r1 - strb r0, [r3, #0xd] - ldr r2, [r5] - ldrb r1, [r2, #0xd] - mov r0, #0x7f - and r0, r0, r1 - strb r0, [r2, #0xd] - ldr r0, [r5] - ldrb r0, [r0, #0x7] - add r0, r0, #0x1 - mov r1, #0xb - mov r2, #0xa - mov r3, #0x2 - bl debug_80C68CC - ldr r0, ._788 + 16 @ gUnknown_Debug_083F8813 - mov r1, #0xd - mov r2, #0xa - bl Menu_PrintText - add r0, r4, #0 - mov r1, #0xe - mov r2, #0xa - mov r3, #0x4 - bl debug_80C68CC - ldr r1, ._788 + 20 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._788 + 24 @ debug_80C7B14 - str r1, [r0] - pop {r4, r5, r6} - pop {r0} - bx r0 -._789: - .align 2, 0 -._788: - .word gPlttBufferUnfaded+0x100 - .word gUnknown_Debug_2038A20 - .word 0xffffff00 - .word 0xfffffc1f - .word gUnknown_Debug_083F8813 - .word gTasks - .word debug_80C7B14+1 - - thumb_func_end debug_80C7A54 - - thumb_func_start debug_80C7B14 -debug_80C7B14: - push {r4, r5, r6, lr} - add sp, sp, #0xfffffffc - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r1, ._792 @ gMain - ldrh r3, [r1, #0x2e] - mov r0, #0x2 - and r0, r0, r3 - add r4, r1, #0 - cmp r0, #0 - beq ._790 @cond_branch - mov r0, #0x5 - bl PlaySE - mov r0, #0x1 - neg r0, r0 - mov r1, #0x0 - str r1, [sp] - mov r2, #0x0 - mov r3, #0x10 - bl BeginNormalPaletteFade - ldr r0, ._792 + 4 @ debug_80C370C - bl SetMainCallback2 - ldr r1, ._792 + 8 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._792 + 12 @ debug_80C373C - str r1, [r0] - b ._821 -._793: - .align 2, 0 -._792: - .word gMain - .word debug_80C370C+1 - .word gTasks - .word debug_80C373C+1 -._790: - ldrh r1, [r4, #0x30] - mov r0, #0x80 - lsl r0, r0, #0x1 - and r0, r0, r1 - cmp r0, #0 - beq ._794 @cond_branch - ldr r4, ._796 @ gUnknown_Debug_2038A20 - ldr r0, [r4] - ldrh r1, [r0] - mov r0, #0x0 - b ._795 -._797: - .align 2, 0 -._796: - .word gUnknown_Debug_2038A20 -._794: - mov r0, #0x80 - lsl r0, r0, #0x2 - and r0, r0, r1 - cmp r0, #0 - beq ._798 @cond_branch - ldr r4, ._800 @ gUnknown_Debug_2038A20 - ldr r0, [r4] - ldrh r1, [r0] - mov r0, #0x1 -._795: - bl debug_80C38B4 - ldr r1, [r4] - strh r0, [r1] - ldr r1, ._800 + 4 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._800 + 8 @ debug_80C7D44 - str r1, [r0] - b ._821 -._801: - .align 2, 0 -._800: - .word gUnknown_Debug_2038A20 - .word gTasks - .word debug_80C7D44+1 -._798: - mov r2, #0x1 - and r2, r2, r3 - cmp r2, #0 - beq ._802 @cond_branch - ldr r0, ._804 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - mov r0, #0x1 - strb r0, [r1, #0x5] - ldr r1, ._804 + 4 @ 0x4000040 - ldr r2, ._804 + 8 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._804 + 12 @ 0x4167 - add r0, r2, #0 - strh r0, [r1] - ldr r1, ._804 + 16 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._804 + 20 @ debug_80C7DDC - str r1, [r0] - b ._821 -._805: - .align 2, 0 -._804: - .word gUnknown_Debug_2038A20 - .word 0x4000040 - .word 0x51ef - .word 0x4167 - .word gTasks - .word debug_80C7DDC+1 -._802: - mov r0, #0x10 - and r0, r0, r1 - ldr r3, ._809 @ gUnknown_Debug_2038A20 - cmp r0, #0 - beq ._807 @cond_branch - ldr r1, [r3] - ldrb r0, [r1, #0x7] - cmp r0, #0xd - bhi ._807 @cond_branch - lsl r0, r0, #0x1 - ldr r1, ._809 + 4 @ 0x5000102 - add r0, r0, r1 - strh r2, [r0] - ldr r1, [r3] - ldrb r0, [r1, #0x7] - add r0, r0, #0x1 - strb r0, [r1, #0x7] - b ._813 -._810: - .align 2, 0 -._809: - .word gUnknown_Debug_2038A20 - .word 0x5000102 -._807: - ldrh r1, [r4, #0x30] - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._812 @cond_branch - ldr r1, [r3] - ldrb r0, [r1, #0x7] - cmp r0, #0 - beq ._812 @cond_branch - lsl r0, r0, #0x1 - ldr r2, ._814 @ 0x5000102 - add r0, r0, r2 - mov r1, #0x0 - strh r1, [r0] - ldr r1, [r3] - ldrb r0, [r1, #0x7] - sub r0, r0, #0x1 - strb r0, [r1, #0x7] - b ._813 -._815: - .align 2, 0 -._814: - .word 0x5000102 -._812: - ldrh r1, [r4, #0x2e] - mov r0, #0x8 - and r0, r0, r1 - cmp r0, #0 - beq ._816 @cond_branch - ldr r4, ._819 @ gUnknown_Debug_2038A20 - ldr r2, [r4] - ldrb r0, [r2, #0x9] - mov r1, #0x1 - eor r0, r0, r1 - strb r0, [r2, #0x9] - ldr r1, [r4] - ldrb r0, [r1, #0x9] - cmp r0, #0 - beq ._817 @cond_branch - ldrh r0, [r1] - mov r1, #0x0 - mov r2, #0x0 - bl GetMonSpritePalFromOtIdPersonality - ldr r1, [r4] - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x14 - mov r2, #0x80 - lsl r2, r2, #0x11 - add r1, r1, r2 - lsr r1, r1, #0x10 - mov r2, #0x20 - bl LoadCompressedPalette - b ._818 -._820: - .align 2, 0 -._819: - .word gUnknown_Debug_2038A20 -._817: - ldrh r0, [r1] - mov r1, #0x0 - mov r2, #0x9 - bl GetMonSpritePalFromOtIdPersonality - ldr r1, [r4] - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x14 - mov r2, #0x80 - lsl r2, r2, #0x11 - add r1, r1, r2 - lsr r1, r1, #0x10 - mov r2, #0x20 - bl LoadCompressedPalette -._818: - ldr r5, ._822 @ gUnknown_Debug_2038A20 - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - ldr r4, ._822 + 4 @ gPlttBufferUnfaded - add r0, r0, r4 - ldr r2, ._822 + 8 @ 0xffffff00 - add r1, r4, r2 - mov r2, #0x10 - bl CpuSet - ldr r0, [r5] - ldrb r0, [r0, #0x6] - lsl r0, r0, #0x5 - add r0, r0, r4 - ldr r1, ._822 + 12 @ gPlttBufferFaded - mov r2, #0x10 - bl CpuSet -._813: - ldr r1, ._822 + 16 @ gTasks - lsl r0, r6, #0x2 - add r0, r0, r6 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._822 + 20 @ debug_80C7A54 - str r1, [r0] - b ._821 -._823: - .align 2, 0 -._822: - .word gUnknown_Debug_2038A20 - .word gPlttBufferUnfaded+0x200 - .word 0xffffff00 - .word gPlttBufferFaded+0x100 - .word gTasks - .word debug_80C7A54+1 -._816: - ldr r1, [r3] - ldrb r0, [r1, #0x8] - add r0, r0, #0x4 - strb r0, [r1, #0x8] - ldr r2, [r3] - ldrb r1, [r2, #0x8] - mov r0, #0x1f - and r0, r0, r1 - strb r0, [r2, #0x8] - ldr r0, [r3] - ldrb r1, [r0, #0x7] - lsl r1, r1, #0x1 - ldr r2, ._824 @ 0x5000142 - add r1, r1, r2 - ldr r2, ._824 + 4 @ gUnknown_Debug_083F8790 - ldrb r0, [r0, #0x8] - lsl r0, r0, #0x1 - add r0, r0, r2 - ldrh r0, [r0] - strh r0, [r1] -._821: - add sp, sp, #0x4 - pop {r4, r5, r6} - pop {r0} - bx r0 -._825: - .align 2, 0 -._824: - .word 0x5000142 - .word gUnknown_Debug_083F8790 - - thumb_func_end debug_80C7B14 - - thumb_func_start debug_80C7D44 -debug_80C7D44: - push {r4, r5, r6, lr} - add r5, r0, #0 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - ldr r6, ._826 @ gSprites - ldr r4, ._826 + 4 @ gUnknown_Debug_2038A20 - ldr r0, [r4] - ldrb r1, [r0, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldrb r0, [r0, #0x5] - lsr r0, r0, #0x4 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldr r0, [r4] - ldrb r1, [r0, #0x2] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - bl DestroySprite - ldr r0, [r4] - ldrb r1, [r0, #0x3] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - ldrb r0, [r0, #0x5] - lsr r0, r0, #0x4 - bl GetSpritePaletteTagByPaletteNum - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FreeSpritePaletteByTag - ldr r0, [r4] - ldrb r1, [r0, #0x3] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - bl DestroySprite - ldr r0, [r4] - ldrb r1, [r0, #0x4] - lsl r0, r1, #0x4 - add r0, r0, r1 - lsl r0, r0, #0x2 - add r0, r0, r6 - bl sub_809D510 - ldr r1, ._826 + 8 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._826 + 12 @ debug_80C7934 - str r1, [r0] - pop {r4, r5, r6} - pop {r0} - bx r0 -._827: - .align 2, 0 -._826: - .word gSprites - .word gUnknown_Debug_2038A20 - .word gTasks - .word debug_80C7934+1 - - thumb_func_end debug_80C7D44 - - thumb_func_start debug_80C7DDC -debug_80C7DDC: - push {r4, r5, r6, r7, lr} - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r0, ._830 @ gMain - ldrh r2, [r0, #0x2e] - mov r1, #0x1 - and r1, r1, r2 - add r3, r0, #0 - cmp r1, #0 - beq ._828 @cond_branch - ldr r0, ._830 + 4 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - mov r0, #0x0 - strb r0, [r1, #0x5] - ldr r1, ._830 + 8 @ 0x4000040 - ldr r2, ._830 + 12 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._830 + 16 @ 0x699f - add r0, r2, #0 - strh r0, [r1] - b ._829 -._831: - .align 2, 0 -._830: - .word gMain - .word gUnknown_Debug_2038A20 - .word 0x4000040 - .word 0x51ef - .word 0x699f -._828: - mov r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - beq ._832 @cond_branch - ldr r6, ._834 @ gUnknown_Debug_2038A20 - ldr r0, [r6] - strb r1, [r0, #0x5] - ldr r1, ._834 + 4 @ 0x4000040 - ldr r2, ._834 + 8 @ 0x51ef - add r0, r2, #0 - strh r0, [r1] - add r1, r1, #0x4 - ldr r2, ._834 + 12 @ 0x699f - add r0, r2, #0 - strh r0, [r1] - ldr r0, [r6] - add r0, r0, #0x10 - ldr r4, ._834 + 16 @ gPlttBufferUnfaded - add r1, r4, #0 - mov r2, #0x10 - bl CpuSet - ldr r0, [r6] - add r0, r0, #0x10 - ldr r5, ._834 + 20 @ gPlttBufferFaded - add r1, r5, #0 - mov r2, #0x10 - bl CpuSet - ldr r1, [r6] - add r0, r1, #0 - add r0, r0, #0x10 - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x5 - mov r2, #0x80 - lsl r2, r2, #0x1 - add r4, r4, r2 - add r1, r1, r4 - mov r2, #0x10 - bl CpuSet - ldr r1, [r6] - add r0, r1, #0 - add r0, r0, #0x10 - ldrb r1, [r1, #0x6] - lsl r1, r1, #0x5 - mov r2, #0x80 - lsl r2, r2, #0x1 - add r5, r5, r2 - add r1, r1, r5 - mov r2, #0x10 - bl CpuSet -._829: - ldr r1, ._834 + 24 @ gTasks - lsl r0, r7, #0x2 - add r0, r0, r7 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._834 + 28 @ debug_80C7A54 - str r1, [r0] - b ._871 -._835: - .align 2, 0 -._834: - .word gUnknown_Debug_2038A20 - .word 0x4000040 - .word 0x51ef - .word 0x699f - .word gPlttBufferUnfaded+0x100 - .word gPlttBufferFaded+0x100 - .word gTasks - .word debug_80C7A54+1 -._832: - ldrh r1, [r3, #0x30] - mov r0, #0x80 - and r0, r0, r1 - cmp r0, #0 - beq ._837 @cond_branch - ldr r0, ._839 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - ldrb r0, [r1, #0xa] - cmp r0, #0x1 - bhi ._837 @cond_branch - add r0, r0, #0x1 - strb r0, [r1, #0xa] - b ._871 -._840: - .align 2, 0 -._839: - .word gUnknown_Debug_2038A20 -._837: - ldrh r1, [r3, #0x30] - mov r0, #0x40 - and r0, r0, r1 - cmp r0, #0 - beq ._842 @cond_branch - ldr r0, ._844 @ gUnknown_Debug_2038A20 - ldr r1, [r0] - ldrb r0, [r1, #0xa] - cmp r0, #0 - beq ._842 @cond_branch - sub r0, r0, #0x1 - strb r0, [r1, #0xa] - b ._871 -._845: - .align 2, 0 -._844: - .word gUnknown_Debug_2038A20 -._842: - ldrh r1, [r3, #0x30] - mov r0, #0x10 - and r0, r0, r1 - cmp r0, #0 - beq ._846 @cond_branch - ldr r0, ._851 @ gUnknown_Debug_2038A20 - ldr r2, [r0] - ldrb r0, [r2, #0xa] - cmp r0, #0x1 - beq ._847 @cond_branch - cmp r0, #0x1 - bgt ._848 @cond_branch - cmp r0, #0 - beq ._849 @cond_branch - b ._871 -._852: - .align 2, 0 -._851: - .word gUnknown_Debug_2038A20 -._848: - cmp r0, #0x2 - beq ._853 @cond_branch - b ._871 -._849: - ldrb r3, [r2, #0xc] - lsl r1, r3, #0x1b - lsr r0, r1, #0x1b - cmp r0, #0x1e - bhi ._878 @cond_branch - add r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - mov r1, #0x20 - neg r1, r1 - and r1, r1, r3 - orr r1, r1, r0 - strb r1, [r2, #0xc] - b ._878 -._847: - ldrh r3, [r2, #0xc] - lsl r1, r3, #0x16 - lsr r0, r1, #0x1b - cmp r0, #0x1e - bhi ._878 @cond_branch - add r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x5 - ldr r1, ._859 @ 0xfffffc1f - and r1, r1, r3 - orr r1, r1, r0 - strh r1, [r2, #0xc] - b ._878 -._860: - .align 2, 0 -._859: - .word 0xfffffc1f -._853: - ldrb r3, [r2, #0xd] - lsl r1, r3, #0x19 - lsr r0, r1, #0x1b - cmp r0, #0x1e - bhi ._878 @cond_branch - add r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x2 - mov r1, #0x7d - neg r1, r1 - and r1, r1, r3 - orr r1, r1, r0 - strb r1, [r2, #0xd] - b ._878 -._846: - mov r0, #0x20 - and r0, r0, r1 - cmp r0, #0 - beq ._871 @cond_branch - ldr r0, ._868 @ gUnknown_Debug_2038A20 - ldr r3, [r0] - ldrb r0, [r3, #0xa] - cmp r0, #0x1 - beq ._864 @cond_branch - cmp r0, #0x1 - bgt ._865 @cond_branch - cmp r0, #0 - beq ._866 @cond_branch - b ._871 -._869: - .align 2, 0 -._868: - .word gUnknown_Debug_2038A20 -._865: - cmp r0, #0x2 - beq ._870 @cond_branch - b ._871 -._866: - ldrb r2, [r3, #0xc] - mov r0, #0x1f - and r0, r0, r2 - cmp r0, #0 - beq ._878 @cond_branch - lsl r0, r2, #0x1b - lsr r0, r0, #0x1b - sub r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - mov r1, #0x20 - neg r1, r1 - and r1, r1, r2 - orr r1, r1, r0 - strb r1, [r3, #0xc] - b ._878 -._864: - ldrh r2, [r3, #0xc] - mov r0, #0xf8 - lsl r0, r0, #0x2 - and r0, r0, r2 - cmp r0, #0 - beq ._878 @cond_branch - lsl r0, r2, #0x16 - lsr r0, r0, #0x1b - sub r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x5 - ldr r1, ._876 @ 0xfffffc1f - and r1, r1, r2 - orr r1, r1, r0 - strh r1, [r3, #0xc] - b ._878 -._877: - .align 2, 0 -._876: - .word 0xfffffc1f -._870: - ldrb r2, [r3, #0xd] - mov r0, #0x7c - and r0, r0, r2 - cmp r0, #0 - beq ._878 @cond_branch - lsl r0, r2, #0x19 - lsr r0, r0, #0x1b - sub r0, r0, #0x1 - mov r1, #0x1f - and r0, r0, r1 - lsl r0, r0, #0x2 - mov r1, #0x7d - neg r1, r1 - and r1, r1, r2 - orr r1, r1, r0 - strb r1, [r3, #0xd] -._878: - ldr r0, ._879 @ gTasks - lsl r1, r7, #0x2 - add r1, r1, r7 - lsl r1, r1, #0x3 - add r1, r1, r0 - ldr r0, ._879 + 4 @ debug_80C802C - str r0, [r1] -._871: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 -._880: - .align 2, 0 -._879: - .word gTasks - .word debug_80C802C+1 - - thumb_func_end debug_80C7DDC - - thumb_func_start debug_80C802C -debug_80C802C: - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - add r5, r0, #0 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - ldr r0, ._881 @ gUnknown_Debug_2038A20 - ldr r3, [r0] - ldrb r0, [r3, #0xc] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1b - ldrh r2, [r3, #0xc] - mov r1, #0xf8 - lsl r1, r1, #0x2 - and r1, r1, r2 - add r0, r0, r1 - ldrb r1, [r3, #0xd] - lsl r1, r1, #0x19 - lsr r1, r1, #0x1b - lsl r1, r1, #0xa - add r0, r0, r1 - ldr r6, ._881 + 4 @ gPlttBufferUnfaded - ldrb r1, [r3, #0x7] - add r1, r1, #0x81 - lsl r1, r1, #0x1 - add r1, r1, r6 - strh r0, [r1] - ldr r1, ._881 + 8 @ gPlttBufferFaded - mov r8, r1 - ldrb r1, [r3, #0x7] - add r1, r1, #0x81 - lsl r1, r1, #0x1 - add r1, r1, r8 - strh r0, [r1] - ldrb r1, [r3, #0x6] - lsl r1, r1, #0x4 - ldrb r2, [r3, #0x7] - ldr r4, ._881 + 12 @ 0x101 - add r2, r2, r4 - add r1, r1, r2 - lsl r1, r1, #0x1 - add r1, r1, r6 - strh r0, [r1] - ldrb r1, [r3, #0x6] - lsl r1, r1, #0x4 - ldrb r2, [r3, #0x7] - add r2, r2, r4 - add r1, r1, r2 - lsl r1, r1, #0x1 - add r1, r1, r8 - strh r0, [r1] - mov r1, #0xe - mov r2, #0xa - mov r3, #0x4 - bl debug_80C68CC - ldr r1, ._881 + 16 @ gTasks - lsl r0, r5, #0x2 - add r0, r0, r5 - lsl r0, r0, #0x3 - add r0, r0, r1 - ldr r1, ._881 + 20 @ debug_80C7DDC - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4, r5, r6} - pop {r0} - bx r0 -._882: - .align 2, 0 -._881: - .word gUnknown_Debug_2038A20 - .word gPlttBufferUnfaded - .word gPlttBufferFaded - .word 0x101 - .word gTasks - .word debug_80C7DDC+1 - - thumb_func_end debug_80C802C - - .align 2, 0 - -.endif diff --git a/asm/water.s b/asm/water.s index 2f0ebb8f8..6f9c5cb9d 100644 --- a/asm/water.s +++ b/asm/water.s @@ -757,7 +757,7 @@ sub_80D40F4: @ 80D40F4 ldr r0, _080D4144 @ =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -1085,11 +1085,11 @@ sub_80D4394: @ 80D4394 push {r4,r5,lr} ldr r4, _080D43B8 @ =gAnimBankAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D43C8 - ldr r1, _080D43BC @ =gBattlePartyID + ldr r1, _080D43BC @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -1100,13 +1100,13 @@ sub_80D4394: @ 80D4394 b _080D43D8 .align 2, 0 _080D43B8: .4byte gAnimBankAttacker -_080D43BC: .4byte gBattlePartyID +_080D43BC: .4byte gBattlerPartyIndexes _080D43C0: .4byte gPlayerParty _080D43C4: adds r0, r2, 0 b _080D440A _080D43C8: - ldr r1, _080D4410 @ =gBattlePartyID + ldr r1, _080D4410 @ =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -1144,7 +1144,7 @@ _080D440A: pop {r1} bx r1 .align 2, 0 -_080D4410: .4byte gBattlePartyID +_080D4410: .4byte gBattlerPartyIndexes _080D4414: .4byte gEnemyParty thumb_func_end sub_80D4394 @@ -1163,13 +1163,13 @@ sub_80D4418: @ 80D4418 ldr r4, _080D4520 @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 movs r5, 0xAC @@ -1392,7 +1392,7 @@ sub_80D45D8: @ 80D45D8 strh r0, [r4, 0xA] ldr r0, _080D460C @ =gAnimBankAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D4610 @@ -1791,19 +1791,19 @@ sub_80D48F4: @ 80D48F4 ldr r4, _080D497C @ =gAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0xE] ldrb r0, [r4] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -2268,13 +2268,13 @@ sub_80D4CA4: @ 80D4CA4 ldr r5, _080D4CE0 @ =gAnimBankTarget ldrb r0, [r5] movs r1, 0x2 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] ldrb r0, [r5] movs r1, 0x3 - bl GetBankPosition + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] |