From 91cfb6a564f73f02eb57792f8a0f4aa82e1867d1 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 16 Jan 2018 22:25:35 -0600 Subject: add debug ifdefs --- src/battle/battle_2.c | 7964 ++++++++++++++++++++++++++++++ src/battle/battle_ai.c | 209 + src/battle/battle_interface.c | 669 ++- src/battle/battle_records.c | 29 +- src/debug/kagaya_debug_menu.c | 420 ++ src/debug/nakamura_debug_menu.c | 5031 +++++++++++++++++++ src/debug/nohara_debug_menu.c | 2316 +++++++++ src/debug/taya_debug_window.c | 2122 ++++++++ src/debug/tomomichi_debug_menu.c | 8643 +++++++++++++++++++++++++++++++++ src/debug/watanabe_debug_menu.c | 9846 ++++++++++++++++++++++++++++++++++++++ src/engine/cable_club.c | 4 + src/engine/clock.c | 3 +- src/engine/link.c | 141 + src/engine/rtc.c | 29 + src/engine/save.c | 77 + src/engine/sprite.c | 14 + src/engine/task.c | 10 +- src/engine/trainer_card.c | 97 +- src/field/berry.c | 521 ++ src/field/bike.c | 21 + src/field/choose_party.c | 101 + src/field/decoration_inventory.c | 11 + src/field/field_control_avatar.c | 472 +- src/field/field_map_obj.c | 515 ++ src/field/field_player_avatar.c | 100 +- src/field/mauville_man.c | 81 + src/field/overworld.c | 95 + src/field/party_menu.c | 14 +- src/field/pokeblock.c | 46 +- src/field/roamer.c | 19 + src/field/slot_machine.c | 1237 ++++- src/field/start_menu.c | 303 ++ src/field/wild_encounter.c | 31 + src/pokemon/mail.c | 1866 +++++++- src/pokemon/pokemon_1.c | 322 ++ src/rom3.c | 14 + src/rom6.c | 18 +- src/roulette.c | 5 +- src/scene/cable_car.c | 218 + src/scene/new_game.c | 77 + src/scene/title_screen.c | 17 + 41 files changed, 43665 insertions(+), 63 deletions(-) create mode 100644 src/debug/kagaya_debug_menu.c create mode 100644 src/debug/nakamura_debug_menu.c create mode 100644 src/debug/nohara_debug_menu.c create mode 100644 src/debug/taya_debug_window.c create mode 100644 src/debug/tomomichi_debug_menu.c create mode 100644 src/debug/watanabe_debug_menu.c (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 990535b4e..5212f5bdc 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -203,6 +203,231 @@ void sub_800E7C4(void) } } +#if DEBUG +__attribute__((naked)) +void InitBattle(void) +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x0\n" + " bl SetHBlankCallback\n" + " mov r0, #0x0\n" + " bl SetVBlankCallback\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x13\n" + " ldr r2, ._10\n" + " mov r0, sp\n" + " bl gScriptFuncs_End+0x3cb4\n" + " ldr r0, ._10 + 4\n" + " strh r4, [r0]\n" + " sub r0, r0, #0xc\n" + " mov r2, #0xf0\n" + " strh r2, [r0]\n" + " add r0, r0, #0x4\n" + " ldr r3, ._10 + 8\n" + " add r1, r3, #0\n" + " strh r1, [r0]\n" + " add r0, r0, #0x4\n" + " strh r4, [r0]\n" + " add r0, r0, #0x2\n" + " strh r4, [r0]\n" + " ldr r0, ._10 + 12\n" + " strh r2, [r0]\n" + " ldr r0, ._10 + 16\n" + " strh r1, [r0]\n" + " bl dp12_8087EA4\n" + " ldr r0, ._10 + 20\n" + " mov r3, #0xf0\n" + " mov r5, #0xf0\n" + " lsl r5, r5, #0x3\n" + " add r2, r0, r5\n" + " mov r1, #0x4f\n" + "._5:\n" + " strh r3, [r0]\n" + " strh r3, [r2]\n" + " add r2, r2, #0x2\n" + " add r0, r0, #0x2\n" + " sub r1, r1, #0x1\n" + " cmp r1, #0\n" + " bge ._5 @cond_branch\n" + " mov r1, #0x50\n" + " ldr r4, ._10 + 24\n" + " ldr r0, ._10 + 20\n" + " ldr r3, ._10 + 28\n" + " mov r5, #0x82\n" + " lsl r5, r5, #0x4\n" + " add r2, r0, r5\n" + " add r0, r0, #0xa0\n" + "._6:\n" + " strh r3, [r0]\n" + " strh r3, [r2]\n" + " add r2, r2, #0x2\n" + " add r0, r0, #0x2\n" + " add r1, r1, #0x1\n" + " cmp r1, #0x9f\n" + " ble ._6 @cond_branch\n" + " ldr r0, [r4]\n" + " ldr r1, [r4, #0x4]\n" + " ldr r2, [r4, #0x8]\n" + " bl sub_80895F8\n" + " ldr r4, ._10 + 32\n" + " add r0, r4, #0\n" + " bl SetUpWindowConfig\n" + " bl ResetPaletteFade\n" + " ldr r0, ._10 + 36\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 40\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 44\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 48\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 52\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 56\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 60\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 64\n" + " strh r1, [r0]\n" + " ldr r0, ._10 + 68\n" + " ldrb r1, [r0]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._7 @cond_branch\n" + " bl GetBattleTerrain\n" + " ldr r1, ._10 + 72\n" + " strb r0, [r1]\n" + "._7:\n" + " ldr r0, ._10 + 76\n" + " add r1, r4, #0\n" + " bl InitWindowFromConfig\n" + " ldr r0, ._10 + 80\n" + " ldr r1, ._10 + 84\n" + " bl InitWindowFromConfig\n" + " ldr r0, ._10 + 88\n" + " ldr r1, ._10 + 92\n" + " bl InitWindowFromConfig\n" + " bl sub_800D6D4\n" + " bl sub_800DAB8\n" + " bl ResetSpriteData\n" + " bl ResetTasks\n" + " bl sub_800E23C\n" + " bl FreeAllSpritePalettes\n" + " ldr r1, ._10 + 96\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r0, ._10 + 100\n" + " bl SetVBlankCallback\n" + " bl setup_poochyena_battle\n" + " ldr r0, ._10 + 104\n" + " ldrh r1, [r0]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._8 @cond_branch\n" + " ldr r0, ._10 + 108\n" + " bl SetMainCallback2\n" + " b ._9\n" + "._11:\n" + " .align 2, 0\n" + "._10:\n" + " .word 0x5006000\n" + " .word 0x400004c\n" + " .word 0x5051\n" + " .word gUnknown_030042C4\n" + " .word gUnknown_03004240\n" + " .word gUnknown_03004DE0\n" + " .word gUnknown_081F9674\n" + " .word 0xff10\n" + " .word gWindowConfig_81E6C58\n" + " .word gUnknown_030042A4\n" + " .word gUnknown_030042A0\n" + " .word gUnknown_030042C0\n" + " .word gUnknown_030041B4\n" + " .word gUnknown_03004288\n" + " .word gUnknown_03004280\n" + " .word gUnknown_030041B0\n" + " .word gUnknown_030041B8\n" + " .word gUnknown_02023A14+0x50\n" + " .word gBattleTerrain\n" + " .word gUnknown_03004210\n" + " .word gUnknown_030041D0\n" + " .word gWindowConfig_81E71D0\n" + " .word gUnknown_03004250\n" + " .word gWindowConfig_81E71EC\n" + " .word gReservedSpritePaletteCount\n" + " .word sub_800FCFC+1\n" + " .word gBattleTypeFlags\n" + " .word sub_800F298+1\n" + "._8:\n" + " ldr r0, ._15\n" + " bl SetMainCallback2\n" + "._9:\n" + " ldr r0, ._15 + 4\n" + " ldrh r1, [r0]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._13 @cond_branch\n" + " ldr r0, ._15 + 8\n" + " ldrb r1, [r0]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._13 @cond_branch\n" + " ldr r0, ._15 + 12\n" + " ldr r1, ._15 + 16\n" + " ldrh r1, [r1]\n" + " bl CreateNPCTrainerParty\n" + " bl SetWildMonHeldItem\n" + "._13:\n" + " ldr r0, ._15 + 20\n" + " ldr r1, ._15 + 24\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " mov r2, #0x2\n" + " orr r1, r1, r2\n" + " strb r1, [r0]\n" + " ldr r4, ._15 + 28\n" + " mov r3, #0xfa\n" + " lsl r3, r3, #0x1\n" + " add r5, r4, r3\n" + "._14:\n" + " add r0, r4, #0\n" + " mov r1, #0x3\n" + " bl AdjustFriendship\n" + " add r4, r4, #0x64\n" + " cmp r4, r5\n" + " ble ._14 @cond_branch\n" + " mov r1, #0x0\n" + " ldr r0, ._15 + 32\n" + " strb r1, [r0]\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._16:\n" + " .align 2, 0\n" + "._15:\n" + " .word sub_800EC9C+1\n" + " .word gBattleTypeFlags\n" + " .word gUnknown_02023A14+0x50\n" + " .word gEnemyParty\n" + " .word gTrainerBattleOpponent\n" + " .word gMain\n" + " .word 0x43d\n" + " .word gPlayerParty\n" + " .word gBattleCommunication\n" + "\n" + ); +} +#else void InitBattle(void) { s32 i; @@ -271,6 +496,7 @@ void InitBattle(void) AdjustFriendship(&gPlayerParty[i], 3); gBattleCommunication[0] = 0; } +#endif void sub_800E9EC(void) { @@ -379,6 +605,476 @@ void shedinja_something(struct Pokemon *pkmn) } } +#if DEBUG +__attribute__((naked)) +void sub_800EC9C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " bl RunTasks\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " bl GetMultiplayerId\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, ._55\n" + " ldr r1, ._55 + 4\n" + " add r0, r0, r1\n" + " strb r4, [r0]\n" + " mov r0, #0x1\n" + " add r5, r4, #0\n" + " eor r5, r5, r0\n" + " ldr r0, ._55 + 8\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x9\n" + " bls ._53 @cond_branch\n" + " b ._140\n" + "._53:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._55 + 12\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._56:\n" + " .align 2, 0\n" + "._55:\n" + " .word +0x2000000\n" + " .word 0x160cb\n" + " .word gBattleCommunication\n" + " .word ._57\n" + "._57:\n" + " .word ._58\n" + " .word ._59\n" + " .word ._60\n" + " .word ._61\n" + " .word ._62\n" + " .word ._63\n" + " .word ._64\n" + " .word ._65\n" + " .word ._66\n" + " .word ._67\n" + "._58:\n" + " ldr r2, ._76\n" + " ldrh r1, [r2]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._68 @cond_branch\n" + " ldr r0, ._76 + 4\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._69 @cond_branch\n" + " b ._140\n" + "._69:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._71 @cond_branch\n" + " b ._140\n" + "._71:\n" + " ldr r1, ._76 + 8\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " strb r0, [r1, #0x1]\n" + " bl sub_800E9EC\n" + " bl sub_800EAAC\n" + " ldr r0, ._76 + 12\n" + " ldrb r1, [r0]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._73 @cond_branch\n" + " mov r3, #0x0\n" + " ldr r1, ._76 + 16\n" + " ldr r0, ._76 + 20\n" + "._74:\n" + " strh r3, [r0, #0x18]\n" + " str r1, [r0, #0x14]\n" + " add r0, r0, #0x1c\n" + " add r3, r3, #0x1\n" + " cmp r3, #0x1\n" + " ble ._74 @cond_branch\n" + "._73:\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._76 + 8\n" + " mov r2, #0x20\n" + " bl SendBlock\n" + " ldr r1, ._76 + 24\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " b ._140\n" + "._77:\n" + " .align 2, 0\n" + "._76:\n" + " .word gBattleTypeFlags\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word +0x2000000\n" + " .word gUnknown_02023A14+0x50\n" + " .word 0x2211\n" + " .word gLinkPlayers\n" + " .word gBattleCommunication\n" + "._68:\n" + " mov r0, #0x4\n" + " orr r0, r0, r1\n" + " strh r0, [r2]\n" + " ldr r1, ._79\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " bl sub_800EB08\n" + " b ._140\n" + "._80:\n" + " .align 2, 0\n" + "._79:\n" + " .word gBattleCommunication\n" + "._59:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0x3\n" + " and r1, r1, r0\n" + " cmp r1, #0x3\n" + " beq ._81 @cond_branch\n" + " b ._140\n" + "._81:\n" + " bl ResetBlockReceivedFlags\n" + " mov r3, #0x0\n" + " ldr r0, ._86\n" + " ldrh r1, [r0]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._83 @cond_branch\n" + " cmp r4, #0\n" + " bne ._84 @cond_branch\n" + " ldr r0, ._86 + 4\n" + " ldrh r1, [r0]\n" + " mov r2, #0xc\n" + " b ._85\n" + "._87:\n" + " .align 2, 0\n" + "._86:\n" + " .word gBlockRecvBuffer\n" + " .word gBattleTypeFlags\n" + "._84:\n" + " ldr r0, ._92\n" + " ldrh r1, [r0]\n" + " mov r2, #0x8\n" + "._85:\n" + " orr r1, r1, r2\n" + " strh r1, [r0]\n" + " add r3, r3, #0x1\n" + "._83:\n" + " lsl r7, r5, #0x8\n" + " cmp r3, #0\n" + " bne ._94 @cond_branch\n" + " ldr r0, ._92 + 4\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x1\n" + " add r2, r0, r1\n" + " ldrh r1, [r0]\n" + " add r6, r0, #0\n" + " ldrh r2, [r2]\n" + " cmp r1, r2\n" + " bne ._89 @cond_branch\n" + " cmp r4, #0\n" + " bne ._90 @cond_branch\n" + " ldr r0, ._92\n" + " ldrh r1, [r0]\n" + " mov r2, #0xc\n" + " b ._91\n" + "._93:\n" + " .align 2, 0\n" + "._92:\n" + " .word gBattleTypeFlags\n" + " .word gBlockRecvBuffer\n" + "._90:\n" + " ldr r0, ._96\n" + " ldrh r1, [r0]\n" + " mov r2, #0x8\n" + "._91:\n" + " orr r1, r1, r2\n" + " strh r1, [r0]\n" + " add r3, r3, #0x1\n" + "._89:\n" + " lsl r7, r5, #0x8\n" + " cmp r3, #0\n" + " bne ._94 @cond_branch\n" + " ldrh r1, [r6]\n" + " ldr r0, ._96 + 4\n" + " ldr r2, ._96\n" + " b ._95\n" + "._97:\n" + " .align 2, 0\n" + "._96:\n" + " .word gBattleTypeFlags\n" + " .word 0x101\n" + "._100:\n" + " add r3, r3, #0x1\n" + " cmp r3, #0x1\n" + " bgt ._98 @cond_branch\n" + " lsl r0, r3, #0x8\n" + " add r0, r0, r6\n" + " ldrh r1, [r0]\n" + " ldr r0, ._103\n" + "._95:\n" + " cmp r1, r0\n" + " bls ._100 @cond_branch\n" + " cmp r3, r4\n" + " beq ._100 @cond_branch\n" + "._98:\n" + " cmp r3, #0x2\n" + " bne ._101 @cond_branch\n" + " ldrh r0, [r2]\n" + " mov r1, #0xc\n" + " b ._102\n" + "._104:\n" + " .align 2, 0\n" + "._103:\n" + " .word 0x101\n" + "._101:\n" + " ldrh r0, [r2]\n" + " mov r1, #0x8\n" + "._102:\n" + " orr r0, r0, r1\n" + " strh r0, [r2]\n" + "._94:\n" + " bl sub_800EB08\n" + " ldr r0, ._106\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._106 + 4\n" + " lsl r2, r0, #0x2\n" + " add r2, r2, r0\n" + " lsl r2, r2, #0x3\n" + " add r2, r2, r1\n" + " mov r1, #0x0\n" + " mov r0, #0x87\n" + " lsl r0, r0, #0x1\n" + " strh r0, [r2, #0xa]\n" + " mov r0, #0x5a\n" + " strh r0, [r2, #0xc]\n" + " strh r1, [r2, #0x12]\n" + " ldr r0, ._106 + 8\n" + " ldrb r1, [r0, #0x2]\n" + " ldrb r0, [r0, #0x3]\n" + " lsl r0, r0, #0x8\n" + " orr r1, r1, r0\n" + " strh r1, [r2, #0xe]\n" + " ldr r0, ._106 + 12\n" + " add r0, r0, #0x2\n" + " add r0, r7, r0\n" + " ldrh r0, [r0]\n" + " strh r0, [r2, #0x10]\n" + " b ._129\n" + "._107:\n" + " .align 2, 0\n" + "._106:\n" + " .word sub_800DE30+1\n" + " .word gTasks\n" + " .word +0x2000000\n" + " .word gBlockRecvBuffer\n" + "._60:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._108 @cond_branch\n" + " b ._140\n" + "._108:\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._111\n" + " mov r2, #0xc8\n" + " bl SendBlock\n" + " b ._129\n" + "._112:\n" + " .align 2, 0\n" + "._111:\n" + " .word gPlayerParty\n" + "._61:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0x3\n" + " and r1, r1, r0\n" + " cmp r1, #0x3\n" + " beq ._113 @cond_branch\n" + " b ._140\n" + "._113:\n" + " bl ResetBlockReceivedFlags\n" + " ldr r0, ._116\n" + " lsl r1, r5, #0x8\n" + " ldr r2, ._116 + 4\n" + " add r1, r1, r2\n" + " mov r2, #0xc8\n" + " bl gScriptFuncs_End+0x5bc4\n" + " b ._129\n" + "._117:\n" + " .align 2, 0\n" + "._116:\n" + " .word gEnemyParty\n" + " .word gBlockRecvBuffer\n" + "._62:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._118 @cond_branch\n" + " b ._140\n" + "._118:\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._121\n" + " mov r2, #0xc8\n" + " bl SendBlock\n" + " b ._129\n" + "._122:\n" + " .align 2, 0\n" + "._121:\n" + " .word gPlayerParty+0xc8\n" + "._63:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0x3\n" + " and r1, r1, r0\n" + " cmp r1, #0x3\n" + " beq ._123 @cond_branch\n" + " b ._140\n" + "._123:\n" + " bl ResetBlockReceivedFlags\n" + " ldr r0, ._126\n" + " lsl r1, r5, #0x8\n" + " ldr r2, ._126 + 4\n" + " add r1, r1, r2\n" + " mov r2, #0xc8\n" + " bl gScriptFuncs_End+0x5bc4\n" + " b ._129\n" + "._127:\n" + " .align 2, 0\n" + "._126:\n" + " .word gEnemyParty+0xc8\n" + " .word gBlockRecvBuffer\n" + "._64:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._140 @cond_branch\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._130\n" + " mov r2, #0xc8\n" + " bl SendBlock\n" + " b ._129\n" + "._131:\n" + " .align 2, 0\n" + "._130:\n" + " .word gPlayerParty+0x190\n" + "._65:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0x3\n" + " and r1, r1, r0\n" + " cmp r1, #0x3\n" + " bne ._140 @cond_branch\n" + " bl ResetBlockReceivedFlags\n" + " ldr r4, ._134\n" + " lsl r1, r5, #0x8\n" + " ldr r0, ._134 + 4\n" + " add r1, r1, r0\n" + " add r0, r4, #0\n" + " mov r2, #0xc8\n" + " bl gScriptFuncs_End+0x5bc4\n" + " ldr r1, ._134 + 8\n" + " add r0, r4, r1\n" + " bl shedinja_something\n" + " ldr r1, ._134 + 12\n" + " add r0, r4, r1\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " sub r0, r0, #0xc8\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " sub r0, r0, #0x64\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " add r0, r0, #0x64\n" + " bl shedinja_something\n" + "._129:\n" + " ldr r1, ._134 + 16\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._140\n" + "._135:\n" + " .align 2, 0\n" + "._134:\n" + " .word gEnemyParty+0x190\n" + " .word gBlockRecvBuffer\n" + " .word 0xfffffe70\n" + " .word 0xfffffed4\n" + " .word gBattleCommunication\n" + "._66:\n" + " bl sub_800B950\n" + " ldr r0, ._137\n" + " ldrb r1, [r0]\n" + " add r1, r1, #0x1\n" + " mov r2, #0x0\n" + " strb r1, [r0]\n" + " strb r2, [r0, #0x1]\n" + " strb r2, [r0, #0x2]\n" + " b ._140\n" + "._138:\n" + " .align 2, 0\n" + "._137:\n" + " .word gBattleCommunication\n" + "._67:\n" + " ldr r0, ._141\n" + " add r1, r0, #1\n" + " bl battle_load_something\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._140 @cond_branch\n" + " ldr r2, ._141 + 4\n" + " ldr r1, ._141 + 8\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " ldr r0, ._141 + 12\n" + " str r0, [r1]\n" + " ldr r0, ._141 + 16\n" + " bl SetMainCallback2\n" + " ldr r3, ._141 + 20\n" + " ldrh r2, [r3]\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._140 @cond_branch\n" + " ldr r1, ._141 + 24\n" + " mov r4, #0x80\n" + " lsl r4, r4, #0x4\n" + " add r0, r4, #0\n" + " strh r0, [r1]\n" + " mov r0, #0x20\n" + " orr r0, r0, r2\n" + " strh r0, [r3]\n" + "._140:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._142:\n" + " .align 2, 0\n" + "._141:\n" + " .word gUnknown_02024D1F\n" + " .word gPreBattleCallback1\n" + " .word gMain\n" + " .word debug_sub_80139E4+1\n" + " .word sub_800F808+1\n" + " .word gBattleTypeFlags\n" + " .word gTrainerBattleOpponent\n" + "\n" + ); +} +#else void sub_800EC9C(void) { u8 playerId; @@ -535,6 +1231,7 @@ void sub_800EC9C(void) break; } } +#endif void sub_800F02C(void) { @@ -561,6 +1258,236 @@ void sub_800F02C(void) memcpy(gSharedMem, gUnknown_02023A00, 0x60); } +#ifdef DEBUG +__attribute__((naked)) +void sub_800F104() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " bl GetMultiplayerId\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " ldr r0, ._151\n" + " ldr r2, ._151 + 4\n" + " add r1, r0, r2\n" + " strb r6, [r1]\n" + " ldr r1, ._151 + 8\n" + " add r1, r1, r0\n" + " mov r9, r1\n" + " sub r2, r2, #0x9\n" + " add r2, r2, r0\n" + " mov r8, r2\n" + " bl RunTasks\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " ldr r2, ._151 + 12\n" + " ldrb r0, [r2]\n" + " cmp r0, #0x1\n" + " beq ._147 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._148 @cond_branch\n" + " cmp r0, #0\n" + " beq ._149 @cond_branch\n" + " b ._183\n" + "._152:\n" + " .align 2, 0\n" + "._151:\n" + " .word +0x2000000\n" + " .word 0x160cb\n" + " .word 0x160c4\n" + " .word gBattleCommunication\n" + "._148:\n" + " cmp r0, #0x2\n" + " bne ._153 @cond_branch\n" + " b ._154\n" + "._153:\n" + " cmp r0, #0x3\n" + " bne ._155 @cond_branch\n" + " b ._156\n" + "._155:\n" + " b ._183\n" + "._149:\n" + " ldr r0, ._165\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._158 @cond_branch\n" + " b ._183\n" + "._158:\n" + " ldr r0, ._165 + 4\n" + " ldrb r1, [r0]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._160 @cond_branch\n" + " mov r4, #0x0\n" + " ldr r1, ._165 + 8\n" + " ldr r0, ._165 + 12\n" + "._161:\n" + " strh r4, [r0, #0x18]\n" + " str r1, [r0, #0x14]\n" + " add r0, r0, #0x1c\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x3\n" + " ble ._161 @cond_branch\n" + "._160:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._162 @cond_branch\n" + " b ._183\n" + "._162:\n" + " bl sub_800F02C\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._165 + 16\n" + " mov r2, #0x60\n" + " bl SendBlock\n" + " ldr r1, ._165 + 20\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._183\n" + "._166:\n" + " .align 2, 0\n" + "._165:\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word gUnknown_02023A14+0x50\n" + " .word 0x2211\n" + " .word gLinkPlayers\n" + " .word +0x2000000\n" + " .word gBattleCommunication\n" + "._147:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0xf\n" + " and r1, r1, r0\n" + " cmp r1, #0xf\n" + " bne ._183 @cond_branch\n" + " bl ResetBlockReceivedFlags\n" + " mov r4, #0x0\n" + " lsl r0, r6, #0x3\n" + " sub r0, r0, r6\n" + " lsl r5, r0, #0x2\n" + " mov r7, #0x0\n" + "._175:\n" + " cmp r4, r6\n" + " beq ._174 @cond_branch\n" + " ldr r2, ._172\n" + " add r0, r7, r2\n" + " ldrh r1, [r0, #0x18]\n" + " mov r3, #0x1\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._169 @cond_branch\n" + " add r0, r5, r2\n" + " ldrh r1, [r0, #0x18]\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._170 @cond_branch\n" + " b ._174\n" + "._173:\n" + " .align 2, 0\n" + "._172:\n" + " .word gLinkPlayers\n" + "._169:\n" + " add r0, r5, r2\n" + " ldrh r1, [r0, #0x18]\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._174 @cond_branch\n" + "._170:\n" + " lsl r1, r4, #0x8\n" + " ldr r0, ._177\n" + " add r1, r1, r0\n" + " ldr r0, ._177 + 4\n" + " mov r2, #0x60\n" + " bl gScriptFuncs_End+0x5bc4\n" + "._174:\n" + " add r7, r7, #0x1c\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x3\n" + " ble ._175 @cond_branch\n" + " ldr r1, ._177 + 8\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._177 + 12\n" + " ldr r0, [r1, #0x8]\n" + " mov r2, r9\n" + " str r0, [r2]\n" + " ldr r0, ._177 + 16\n" + " ldrh r0, [r0]\n" + " mov r2, r8\n" + " strh r0, [r2]\n" + " ldr r0, ._177 + 20\n" + " str r0, [r1, #0x8]\n" + " mov r0, #0x5\n" + " mov r1, #0x0\n" + " bl OpenPartyMenu\n" + " b ._183\n" + "._178:\n" + " .align 2, 0\n" + "._177:\n" + " .word gBlockRecvBuffer\n" + " .word gUnknown_02023A00\n" + " .word gBattleCommunication\n" + " .word gMain\n" + " .word gBattleTypeFlags\n" + " .word sub_800F104+1\n" + "._154:\n" + " ldr r0, ._181\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._183 @cond_branch\n" + " mov r0, #0x3\n" + " strb r0, [r2]\n" + " bl sub_800832C\n" + " b ._183\n" + "._182:\n" + " .align 2, 0\n" + "._181:\n" + " .word gPaletteFade\n" + "._156:\n" + " ldr r0, ._184\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._183 @cond_branch\n" + " ldr r1, ._184 + 4\n" + " mov r2, r8\n" + " ldrh r0, [r2]\n" + " strh r0, [r1]\n" + " ldr r1, ._184 + 8\n" + " mov r2, r9\n" + " ldr r0, [r2]\n" + " str r0, [r1, #0x8]\n" + " ldr r0, ._184 + 12\n" + " bl SetMainCallback2\n" + "._183:\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._185:\n" + " .align 2, 0\n" + "._184:\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word gBattleTypeFlags\n" + " .word gMain\n" + " .word InitBattle+1\n" + "\n" + ); +} +#else void sub_800F104(void) { u8 playerId; @@ -625,7 +1552,774 @@ void sub_800F104(void) break; } } +#endif +#ifdef DEBUG +__attribute__((naked)) +void sub_800F298() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " bl GetMultiplayerId\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " ldr r0, ._188\n" + " ldr r1, ._188 + 4\n" + " add r0, r0, r1\n" + " strb r6, [r0]\n" + " bl RunTasks\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " ldr r0, ._188 + 8\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x7\n" + " bls ._186 @cond_branch\n" + " b ._352\n" + "._186:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._188 + 12\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._189:\n" + " .align 2, 0\n" + "._188:\n" + " .word +0x2000000\n" + " .word 0x160cb\n" + " .word gBattleCommunication\n" + " .word ._190\n" + "._190:\n" + " .word ._191\n" + " .word ._192\n" + " .word ._193\n" + " .word ._194\n" + " .word ._195\n" + " .word ._196\n" + " .word ._197\n" + " .word ._198\n" + "._191:\n" + " ldr r0, ._206\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._199 @cond_branch\n" + " b ._352\n" + "._199:\n" + " ldr r0, ._206 + 4\n" + " ldrb r1, [r0]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._201 @cond_branch\n" + " mov r4, #0x0\n" + " ldr r1, ._206 + 8\n" + " ldr r0, ._206 + 12\n" + "._202:\n" + " strh r4, [r0, #0x18]\n" + " str r1, [r0, #0x14]\n" + " add r0, r0, #0x1c\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x3\n" + " ble ._202 @cond_branch\n" + "._201:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._203 @cond_branch\n" + " b ._352\n" + "._203:\n" + " ldr r4, ._206 + 16\n" + " mov r0, #0x1\n" + " strb r0, [r4]\n" + " strb r0, [r4, #0x1]\n" + " bl sub_800E9EC\n" + " bl sub_800EAAC\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r1, r4, #0\n" + " mov r2, #0x20\n" + " bl SendBlock\n" + " b ._300\n" + "._207:\n" + " .align 2, 0\n" + "._206:\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word gUnknown_02023A14+0x50\n" + " .word 0x2211\n" + " .word gLinkPlayers\n" + " .word +0x2000000\n" + "._192:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0xf\n" + " and r1, r1, r0\n" + " cmp r1, #0xf\n" + " beq ._208 @cond_branch\n" + " b ._352\n" + "._208:\n" + " bl ResetBlockReceivedFlags\n" + " mov r4, #0x0\n" + " ldr r0, ._213\n" + " ldrh r1, [r0]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._210 @cond_branch\n" + " cmp r6, #0\n" + " bne ._211 @cond_branch\n" + " ldr r0, ._213 + 4\n" + " ldrh r1, [r0]\n" + " mov r2, #0xc\n" + " b ._212\n" + "._214:\n" + " .align 2, 0\n" + "._213:\n" + " .word gBlockRecvBuffer\n" + " .word gBattleTypeFlags\n" + "._211:\n" + " ldr r0, ._221\n" + " ldrh r1, [r0]\n" + " mov r2, #0x8\n" + "._212:\n" + " orr r1, r1, r2\n" + " strh r1, [r0]\n" + " add r4, r4, #0x1\n" + "._210:\n" + " cmp r4, #0\n" + " bne ._223 @cond_branch\n" + " mov r2, #0x0\n" + " ldr r1, ._221 + 4\n" + " add r5, r1, #0\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + "._217:\n" + " add r1, r1, r3\n" + " add r2, r2, #0x1\n" + " cmp r2, #0x3\n" + " bgt ._216 @cond_branch\n" + " ldrh r0, [r5]\n" + " ldrh r7, [r1]\n" + " cmp r0, r7\n" + " beq ._217 @cond_branch\n" + "._216:\n" + " cmp r2, #0x4\n" + " bne ._218 @cond_branch\n" + " cmp r6, #0\n" + " bne ._219 @cond_branch\n" + " ldr r0, ._221\n" + " ldrh r1, [r0]\n" + " mov r2, #0xc\n" + " b ._220\n" + "._222:\n" + " .align 2, 0\n" + "._221:\n" + " .word gBattleTypeFlags\n" + " .word gBlockRecvBuffer\n" + "._219:\n" + " ldr r0, ._233\n" + " ldrh r1, [r0]\n" + " mov r2, #0x8\n" + "._220:\n" + " orr r1, r1, r2\n" + " strh r1, [r0]\n" + " add r4, r4, #0x1\n" + "._218:\n" + " cmp r4, #0\n" + " bne ._223 @cond_branch\n" + " ldr r0, ._233 + 4\n" + " ldrh r2, [r0]\n" + " ldr r1, ._233 + 8\n" + " add r3, r0, #0\n" + " ldr r5, ._233\n" + " cmp r2, r1\n" + " beq ._224 @cond_branch\n" + "._230:\n" + " lsl r0, r4, #0x8\n" + " add r0, r0, r3\n" + " ldrh r0, [r0]\n" + " ldr r1, ._233 + 8\n" + " cmp r0, r1\n" + " bls ._225 @cond_branch\n" + " cmp r4, r6\n" + " bne ._227 @cond_branch\n" + "._225:\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x3\n" + " bgt ._227 @cond_branch\n" + " lsl r0, r4, #0x8\n" + " add r0, r0, r3\n" + " ldrh r0, [r0]\n" + " cmp r0, r1\n" + " bne ._230 @cond_branch\n" + "._224:\n" + " cmp r4, r6\n" + " beq ._230 @cond_branch\n" + " cmp r4, r6\n" + " bge ._230 @cond_branch\n" + "._227:\n" + " cmp r4, #0x4\n" + " bne ._231 @cond_branch\n" + " ldrh r0, [r5]\n" + " mov r1, #0xc\n" + " b ._232\n" + "._234:\n" + " .align 2, 0\n" + "._233:\n" + " .word gBattleTypeFlags\n" + " .word gBlockRecvBuffer\n" + " .word 0x101\n" + "._231:\n" + " ldrh r0, [r5]\n" + " mov r1, #0x8\n" + "._232:\n" + " orr r0, r0, r1\n" + " strh r0, [r5]\n" + "._223:\n" + " bl sub_800EB08\n" + " ldr r0, ._239\n" + " ldr r1, ._239 + 4\n" + " mov r2, #0x96\n" + " lsl r2, r2, #0x1\n" + " bl gScriptFuncs_End+0x5bc4\n" + " ldr r0, ._239 + 8\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._239 + 12\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " mov r2, #0x0\n" + " mov r0, #0x87\n" + " lsl r0, r0, #0x1\n" + " strh r0, [r1, #0xa]\n" + " mov r0, #0x5a\n" + " strh r0, [r1, #0xc]\n" + " strh r2, [r1, #0x12]\n" + " strh r2, [r1, #0xe]\n" + " strh r2, [r1, #0x10]\n" + " add r2, r1, #0\n" + " ldr r0, ._239 + 16\n" + " add r3, r0, #2\n" + " ldr r6, ._239 + 20\n" + " mov r5, #0x3f\n" + " mov r7, #0x80\n" + " lsl r7, r7, #0x1\n" + " mov r4, #0x3\n" + "._247:\n" + " ldrh r0, [r6, #0x18]\n" + " cmp r0, #0x1\n" + " beq ._235 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._236 @cond_branch\n" + " cmp r0, #0\n" + " beq ._237 @cond_branch\n" + " b ._246\n" + "._240:\n" + " .align 2, 0\n" + "._239:\n" + " .word +0x201d000\n" + " .word gPlayerParty\n" + " .word sub_800DE30+1\n" + " .word gTasks\n" + " .word gBlockRecvBuffer\n" + " .word gLinkPlayers\n" + "._236:\n" + " cmp r0, #0x2\n" + " beq ._241 @cond_branch\n" + " cmp r0, #0x3\n" + " beq ._242 @cond_branch\n" + " b ._246\n" + "._237:\n" + " ldrh r0, [r3]\n" + " add r1, r5, #0\n" + " and r1, r1, r0\n" + " b ._244\n" + "._235:\n" + " ldrh r0, [r3]\n" + " add r1, r5, #0\n" + " and r1, r1, r0\n" + " b ._245\n" + "._241:\n" + " ldrh r0, [r3]\n" + " add r1, r5, #0\n" + " and r1, r1, r0\n" + " lsl r1, r1, #0x6\n" + "._244:\n" + " ldrh r0, [r2, #0xe]\n" + " orr r1, r1, r0\n" + " strh r1, [r2, #0xe]\n" + " b ._246\n" + "._242:\n" + " ldrh r0, [r3]\n" + " add r1, r5, #0\n" + " and r1, r1, r0\n" + " lsl r1, r1, #0x6\n" + "._245:\n" + " ldrh r0, [r2, #0x10]\n" + " orr r1, r1, r0\n" + " strh r1, [r2, #0x10]\n" + "._246:\n" + " add r3, r3, r7\n" + " add r6, r6, #0x1c\n" + " sub r4, r4, #0x1\n" + " cmp r4, #0\n" + " bge ._247 @cond_branch\n" + " bl ZeroPlayerPartyMons\n" + " bl ZeroEnemyPartyMons\n" + " ldr r1, ._251\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._193:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._248 @cond_branch\n" + " b ._352\n" + "._248:\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._251 + 4\n" + " mov r2, #0xc8\n" + " bl SendBlock\n" + " b ._300\n" + "._252:\n" + " .align 2, 0\n" + "._251:\n" + " .word gBattleCommunication\n" + " .word +0x201d000\n" + "._194:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0xf\n" + " and r1, r1, r0\n" + " cmp r1, #0xf\n" + " beq ._253 @cond_branch\n" + " b ._352\n" + "._253:\n" + " bl ResetBlockReceivedFlags\n" + " mov r4, #0x0\n" + " lsl r0, r6, #0x3\n" + " sub r0, r0, r6\n" + " lsl r0, r0, #0x2\n" + " mov r8, r0\n" + " ldr r5, ._260\n" + " mov r7, #0x0\n" + "._294:\n" + " cmp r4, r6\n" + " bne ._255 @cond_branch\n" + " ldr r0, ._260 + 4\n" + " add r0, r7, r0\n" + " ldrh r0, [r0, #0x18]\n" + " cmp r0, #0x2\n" + " bgt ._256 @cond_branch\n" + " cmp r0, #0x1\n" + " bge ._257 @cond_branch\n" + " cmp r0, #0\n" + " beq ._258 @cond_branch\n" + " b ._291\n" + "._261:\n" + " .align 2, 0\n" + "._260:\n" + " .word gBlockRecvBuffer\n" + " .word gLinkPlayers\n" + "._256:\n" + " cmp r0, #0x3\n" + " bne ._291 @cond_branch\n" + "._258:\n" + " ldr r0, ._264\n" + " b ._283\n" + "._265:\n" + " .align 2, 0\n" + "._264:\n" + " .word gPlayerParty\n" + "._257:\n" + " ldr r0, ._267\n" + " b ._283\n" + "._268:\n" + " .align 2, 0\n" + "._267:\n" + " .word gPlayerParty+0x12c\n" + "._255:\n" + " ldr r2, ._272\n" + " add r0, r7, r2\n" + " ldrh r1, [r0, #0x18]\n" + " mov r3, #0x1\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._269 @cond_branch\n" + " mov r1, r8\n" + " add r0, r1, r2\n" + " ldrh r1, [r0, #0x18]\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._270 @cond_branch\n" + " b ._274\n" + "._273:\n" + " .align 2, 0\n" + "._272:\n" + " .word gLinkPlayers\n" + "._269:\n" + " mov r1, r8\n" + " add r0, r1, r2\n" + " ldrh r1, [r0, #0x18]\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._274 @cond_branch\n" + "._270:\n" + " add r0, r7, r2\n" + " ldrh r2, [r0, #0x18]\n" + " cmp r2, #0x2\n" + " bgt ._275 @cond_branch\n" + " cmp r2, #0x1\n" + " bge ._276 @cond_branch\n" + " cmp r2, #0\n" + " beq ._277 @cond_branch\n" + " b ._291\n" + "._275:\n" + " cmp r2, #0x3\n" + " bne ._291 @cond_branch\n" + "._277:\n" + " ldr r0, ._281\n" + " b ._283\n" + "._282:\n" + " .align 2, 0\n" + "._281:\n" + " .word gPlayerParty\n" + "._276:\n" + " ldr r0, ._284\n" + " b ._283\n" + "._285:\n" + " .align 2, 0\n" + "._284:\n" + " .word gPlayerParty+0x12c\n" + "._274:\n" + " add r0, r7, r2\n" + " ldrh r2, [r0, #0x18]\n" + " cmp r2, #0x2\n" + " bgt ._286 @cond_branch\n" + " cmp r2, #0x1\n" + " bge ._287 @cond_branch\n" + " cmp r2, #0\n" + " beq ._288 @cond_branch\n" + " b ._291\n" + "._286:\n" + " cmp r2, #0x3\n" + " bne ._291 @cond_branch\n" + "._288:\n" + " ldr r0, ._292\n" + "._283:\n" + " add r1, r5, #0\n" + " mov r2, #0xc8\n" + " bl gScriptFuncs_End+0x5bc4\n" + " b ._291\n" + "._293:\n" + " .align 2, 0\n" + "._292:\n" + " .word gEnemyParty\n" + "._287:\n" + " ldr r0, ._296\n" + " add r1, r5, #0\n" + " mov r2, #0xc8\n" + " bl gScriptFuncs_End+0x5bc4\n" + "._291:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " add r5, r5, r0\n" + " add r7, r7, #0x1c\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x3\n" + " ble ._294 @cond_branch\n" + " b ._300\n" + "._297:\n" + " .align 2, 0\n" + "._296:\n" + " .word gEnemyParty+0x12c\n" + "._195:\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._298 @cond_branch\n" + " b ._352\n" + "._298:\n" + " bl bitmask_all_link_players_but_self\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._301\n" + " mov r2, #0x64\n" + " bl SendBlock\n" + " b ._300\n" + "._302:\n" + " .align 2, 0\n" + "._301:\n" + " .word +0x201d0c8\n" + "._196:\n" + " bl GetBlockReceivedStatus\n" + " mov r1, #0xf\n" + " and r1, r1, r0\n" + " cmp r1, #0xf\n" + " beq ._303 @cond_branch\n" + " b ._352\n" + "._303:\n" + " bl ResetBlockReceivedFlags\n" + " mov r4, #0x0\n" + " lsl r0, r6, #0x3\n" + " sub r0, r0, r6\n" + " lsl r0, r0, #0x2\n" + " mov r8, r0\n" + " ldr r5, ._310\n" + " mov r7, #0x0\n" + "._344:\n" + " cmp r4, r6\n" + " bne ._305 @cond_branch\n" + " ldr r0, ._310 + 4\n" + " add r0, r7, r0\n" + " ldrh r0, [r0, #0x18]\n" + " cmp r0, #0x2\n" + " bgt ._306 @cond_branch\n" + " cmp r0, #0x1\n" + " bge ._307 @cond_branch\n" + " cmp r0, #0\n" + " beq ._308 @cond_branch\n" + " b ._341\n" + "._311:\n" + " .align 2, 0\n" + "._310:\n" + " .word gBlockRecvBuffer\n" + " .word gLinkPlayers\n" + "._306:\n" + " cmp r0, #0x3\n" + " bne ._341 @cond_branch\n" + "._308:\n" + " ldr r0, ._314\n" + " b ._333\n" + "._315:\n" + " .align 2, 0\n" + "._314:\n" + " .word gPlayerParty+0xc8\n" + "._307:\n" + " ldr r0, ._317\n" + " b ._333\n" + "._318:\n" + " .align 2, 0\n" + "._317:\n" + " .word gPlayerParty+0x1f4\n" + "._305:\n" + " ldr r2, ._322\n" + " add r0, r7, r2\n" + " ldrh r1, [r0, #0x18]\n" + " mov r3, #0x1\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._319 @cond_branch\n" + " mov r1, r8\n" + " add r0, r1, r2\n" + " ldrh r1, [r0, #0x18]\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._320 @cond_branch\n" + " b ._324\n" + "._323:\n" + " .align 2, 0\n" + "._322:\n" + " .word gLinkPlayers\n" + "._319:\n" + " mov r1, r8\n" + " add r0, r1, r2\n" + " ldrh r1, [r0, #0x18]\n" + " add r0, r3, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._324 @cond_branch\n" + "._320:\n" + " add r0, r7, r2\n" + " ldrh r2, [r0, #0x18]\n" + " cmp r2, #0x2\n" + " bgt ._325 @cond_branch\n" + " cmp r2, #0x1\n" + " bge ._326 @cond_branch\n" + " cmp r2, #0\n" + " beq ._327 @cond_branch\n" + " b ._341\n" + "._325:\n" + " cmp r2, #0x3\n" + " bne ._341 @cond_branch\n" + "._327:\n" + " ldr r0, ._331\n" + " b ._333\n" + "._332:\n" + " .align 2, 0\n" + "._331:\n" + " .word gPlayerParty+0xc8\n" + "._326:\n" + " ldr r0, ._334\n" + " b ._333\n" + "._335:\n" + " .align 2, 0\n" + "._334:\n" + " .word gPlayerParty+0x1f4\n" + "._324:\n" + " add r0, r7, r2\n" + " ldrh r2, [r0, #0x18]\n" + " cmp r2, #0x2\n" + " bgt ._336 @cond_branch\n" + " cmp r2, #0x1\n" + " bge ._337 @cond_branch\n" + " cmp r2, #0\n" + " beq ._338 @cond_branch\n" + " b ._341\n" + "._336:\n" + " cmp r2, #0x3\n" + " bne ._341 @cond_branch\n" + "._338:\n" + " ldr r0, ._342\n" + "._333:\n" + " add r1, r5, #0\n" + " mov r2, #0x64\n" + " bl gScriptFuncs_End+0x5bc4\n" + " b ._341\n" + "._343:\n" + " .align 2, 0\n" + "._342:\n" + " .word gEnemyParty+0xc8\n" + "._337:\n" + " ldr r0, ._346\n" + " add r1, r5, #0\n" + " mov r2, #0x64\n" + " bl gScriptFuncs_End+0x5bc4\n" + "._341:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " add r5, r5, r0\n" + " add r7, r7, #0x1c\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x3\n" + " ble ._344 @cond_branch\n" + " ldr r4, ._346 + 4\n" + " add r0, r4, #0\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " add r0, r0, #0x64\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " add r0, r0, #0xc8\n" + " bl shedinja_something\n" + " mov r1, #0x96\n" + " lsl r1, r1, #0x1\n" + " add r0, r4, r1\n" + " bl shedinja_something\n" + " mov r7, #0xc8\n" + " lsl r7, r7, #0x1\n" + " add r0, r4, r7\n" + " bl shedinja_something\n" + " mov r1, #0xfa\n" + " lsl r1, r1, #0x1\n" + " add r0, r4, r1\n" + " bl shedinja_something\n" + " ldr r4, ._346 + 8\n" + " add r0, r4, #0\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " add r0, r0, #0x64\n" + " bl shedinja_something\n" + " add r0, r4, #0\n" + " add r0, r0, #0xc8\n" + " bl shedinja_something\n" + " sub r7, r7, #0x64\n" + " add r0, r4, r7\n" + " bl shedinja_something\n" + " mov r1, #0xc8\n" + " lsl r1, r1, #0x1\n" + " add r0, r4, r1\n" + " bl shedinja_something\n" + " add r7, r7, #0xc8\n" + " add r0, r4, r7\n" + " bl shedinja_something\n" + "._300:\n" + " ldr r1, ._346 + 12\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._352\n" + "._347:\n" + " .align 2, 0\n" + "._346:\n" + " .word gEnemyParty+0x1f4\n" + " .word gPlayerParty\n" + " .word gEnemyParty\n" + " .word gBattleCommunication\n" + "._197:\n" + " bl sub_800B950\n" + " ldr r0, ._349\n" + " ldrb r1, [r0]\n" + " add r1, r1, #0x1\n" + " mov r2, #0x0\n" + " strb r1, [r0]\n" + " strb r2, [r0, #0x1]\n" + " strb r2, [r0, #0x2]\n" + " b ._352\n" + "._350:\n" + " .align 2, 0\n" + "._349:\n" + " .word gBattleCommunication\n" + "._198:\n" + " ldr r0, ._353\n" + " add r1, r0, #1\n" + " bl battle_load_something\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._352 @cond_branch\n" + " ldr r2, ._353 + 4\n" + " ldr r1, ._353 + 8\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " ldr r0, ._353 + 12\n" + " str r0, [r1]\n" + " ldr r0, ._353 + 16\n" + " bl SetMainCallback2\n" + " ldr r3, ._353 + 20\n" + " ldrh r2, [r3]\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._352 @cond_branch\n" + " ldr r1, ._353 + 24\n" + " mov r4, #0x80\n" + " lsl r4, r4, #0x4\n" + " add r0, r4, #0\n" + " strh r0, [r1]\n" + " mov r0, #0x20\n" + " orr r0, r0, r2\n" + " strh r0, [r3]\n" + "._352:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._354:\n" + " .align 2, 0\n" + "._353:\n" + " .word gUnknown_02024D1F\n" + " .word gPreBattleCallback1\n" + " .word gMain\n" + " .word debug_sub_80139E4+1\n" + " .word sub_800F808+1\n" + " .word gBattleTypeFlags\n" + " .word gTrainerBattleOpponent\n" + "\n" + ); +} +#else void sub_800F298(void) { u8 playerId; @@ -893,7 +2587,119 @@ void sub_800F298(void) break; } } +#endif +#if DEBUG +__attribute__((naked)) +void BattleMainCB2(void) +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " ldr r4, ._358\n" + " ldrh r2, [r4, #0x2c]\n" + " mov r1, #0x82\n" + " lsl r1, r1, #0x1\n" + " add r0, r1, #0\n" + " and r0, r0, r2\n" + " cmp r0, r1\n" + " bne ._357 @cond_branch\n" + " ldr r2, ._358 + 4\n" + " ldr r1, ._358 + 8\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x1\n" + " strh r0, [r2]\n" + " ldr r0, ._358 + 12\n" + " add r2, r4, r0\n" + " ldrb r1, [r2]\n" + " mov r0, #0x3\n" + " neg r0, r0\n" + " and r0, r0, r1\n" + " strb r0, [r2]\n" + " ldr r1, ._358 + 16\n" + " mov r0, #0x3\n" + " strb r0, [r1, #0x15]\n" + " ldr r0, ._358 + 20\n" + " ldr r0, [r0]\n" + " str r0, [r4]\n" + " bl ZeroEnemyPartyMons\n" + " mov r0, #0x5a\n" + " bl gScriptFuncs_End+0x148c\n" + " ldr r0, ._358 + 24\n" + " ldrh r1, [r0]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._356 @cond_branch\n" + " ldr r0, ._358 + 28\n" + " bl SetMainCallback2\n" + " b ._357\n" + "._359:\n" + " .align 2, 0\n" + "._358:\n" + " .word gMain\n" + " .word gScriptResult\n" + " .word gBattleOutcome\n" + " .word 0x43d\n" + " .word gUnknown_03004DC0\n" + " .word gPreBattleCallback1\n" + " .word gBattleTypeFlags\n" + " .word sub_805465C+1\n" + "._356:\n" + " ldr r0, [r4, #0x8]\n" + " bl SetMainCallback2\n" + "._357:\n" + " ldr r5, ._361\n" + " ldrh r1, [r5]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._360 @cond_branch\n" + " lsr r0, r1, #0x2\n" + " mov r4, #0x1\n" + " and r0, r0, r4\n" + " str r4, [sp]\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl debug_sub_8008264\n" + " ldrh r0, [r5]\n" + " lsr r0, r0, #0x2\n" + " and r0, r0, r4\n" + " str r4, [sp]\n" + " mov r1, #0x1\n" + " mov r2, #0x15\n" + " mov r3, #0x1\n" + " bl debug_sub_8008264\n" + " ldrh r0, [r5]\n" + " lsr r0, r0, #0x2\n" + " and r0, r0, r4\n" + " str r4, [sp]\n" + " mov r1, #0x1\n" + " mov r2, #0x29\n" + " mov r3, #0x1\n" + " bl debug_sub_8008264\n" + "._360:\n" + " ldr r0, ._361 + 4\n" + " bl sub_800374C\n" + " bl UpdatePaletteFade\n" + " bl RunTasks\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._362:\n" + " .align 2, 0\n" + "._361:\n" + " .word gBattleTypeFlags\n" + " .word gUnknown_03004210\n" + "\n" + ); +} +#else void BattleMainCB2(void) { AnimateSprites(); @@ -902,6 +2708,7 @@ void BattleMainCB2(void) UpdatePaletteFade(); RunTasks(); } +#endif void sub_800F828(struct Sprite *sprite) { @@ -1275,6 +3082,5525 @@ void c2_081284E0(void) } } +// A LOT of debug code! +#if DEBUG +__attribute__((naked)) +void debug_sub_8010800() +{ + asm( + " push {lr}\n" + " bl debug_sub_8010818\n" + " bl debug_sub_80108B8\n" + " ldr r1, ._496\n" + " mov r0, #0x0\n" + " str r0, [r1]\n" + " pop {r0}\n" + " bx r0\n" + "._497:\n" + " .align 2, 0\n" + "._496:\n" + " .word gBattleBuffersTransferData+0x100\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8010818() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " ldr r1, ._501\n" + " ldr r0, ._501 + 4\n" + " strh r0, [r1]\n" + " add r2, r1, #0\n" + " add r2, r2, #0x46\n" + " strh r0, [r2]\n" + " ldr r0, ._501 + 8\n" + " add r4, r1, #0\n" + " add r4, r4, #0x48\n" + " add r3, r0, #0\n" + " add r3, r3, #0x12\n" + " add r2, r1, #2\n" + " mov r1, #0x1d\n" + "._498:\n" + " ldrh r0, [r3]\n" + " strh r0, [r2]\n" + " strh r0, [r4]\n" + " add r4, r4, #0x2\n" + " add r3, r3, #0xa\n" + " add r2, r2, #0x2\n" + " sub r1, r1, #0x1\n" + " cmp r1, #0\n" + " bge ._498 @cond_branch\n" + " mov r1, #0x0\n" + " ldr r4, ._501 + 12\n" + " ldr r7, ._501 + 16\n" + " ldr r6, ._501 + 20\n" + " mov r0, #0x30\n" + " add r0, r0, r7\n" + " mov ip, r0\n" + "._500:\n" + " mov r0, #0x0\n" + " strb r0, [r4]\n" + " add r5, r1, #1\n" + " lsl r3, r1, #0x3\n" + "._499:\n" + " ldrb r2, [r4]\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r3\n" + " add r1, r1, r7\n" + " lsl r0, r2, #0x2\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r6\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " ldrb r2, [r4]\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r3\n" + " add r1, r1, ip\n" + " lsl r0, r2, #0x2\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r6\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " strb r0, [r4]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x3\n" + " bls ._499 @cond_branch\n" + " add r1, r5, #0\n" + " cmp r1, #0x5\n" + " ble ._500 @cond_branch\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._502:\n" + " .align 2, 0\n" + "._501:\n" + " .word gUnknown_02023A14+0x52\n" + " .word 0x115\n" + " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_030043A8\n" + " .word gUnknown_02023A14+0xde\n" + " .word UnkDebug0+0x1b4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80108B8() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " bl gScriptFuncs_End+0x19f4\n" + " mov r0, #0x0\n" + " bl SetHBlankCallback\n" + " mov r0, #0x0\n" + " bl SetVBlankCallback\n" + " mov r3, #0x0\n" + " str r3, [sp]\n" + " ldr r2, ._507\n" + " mov r0, sp\n" + " str r0, [r2]\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x13\n" + " str r1, [r2, #0x4]\n" + " ldr r0, ._507 + 4\n" + " str r0, [r2, #0x8]\n" + " ldr r0, [r2, #0x8]\n" + " ldr r2, ._507 + 8\n" + " mov r0, #0x1\n" + " strh r0, [r2]\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x13\n" + " mov r4, #0x9a\n" + " lsl r4, r4, #0x5\n" + " add r0, r4, #0\n" + " strh r0, [r2]\n" + " ldr r0, ._507 + 12\n" + " mov r5, #0x0\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 16\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 20\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 24\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 28\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 32\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 36\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 40\n" + " strh r3, [r0]\n" + " add r2, r2, #0x8\n" + " ldr r4, ._507 + 44\n" + " add r0, r4, #0\n" + " strh r0, [r2]\n" + " add r2, r2, #0x2\n" + " ldr r4, ._507 + 48\n" + " add r0, r4, #0\n" + " strh r0, [r2]\n" + " ldr r0, ._507 + 52\n" + " strh r3, [r0]\n" + " add r0, r0, #0x4\n" + " strh r3, [r0]\n" + " ldr r0, ._507 + 56\n" + " bl LZDecompressVram\n" + " ldr r0, ._507 + 60\n" + " ldr r1, ._507 + 64\n" + " bl sub_800D238\n" + " ldr r4, ._507 + 68\n" + " mov r1, #0xa0\n" + " lsl r1, r1, #0x13\n" + " add r0, r4, #0\n" + " bl LZDecompressVram\n" + " ldr r1, ._507 + 72\n" + " add r0, r4, #0\n" + " bl LZDecompressVram\n" + " bl gScriptFuncs_End+0x1a70\n" + " ldr r0, ._507 + 76\n" + " bl SetVBlankCallback\n" + " ldr r0, ._507 + 80\n" + " bl SetMainCallback2\n" + " bl ResetTasks\n" + " bl ResetSpriteData\n" + " bl remove_some_task\n" + " ldr r4, ._507 + 84\n" + " add r0, r4, #0\n" + " bl SetUpWindowConfig\n" + " ldr r0, ._507 + 88\n" + " add r1, r4, #0\n" + " bl InitWindowFromConfig\n" + " ldr r0, ._507 + 92\n" + " strb r5, [r0]\n" + " ldr r0, ._507 + 96\n" + " strb r5, [r0]\n" + " ldr r0, ._507 + 100\n" + " strb r5, [r0]\n" + " mov r4, #0x0\n" + "._503:\n" + " lsl r0, r4, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x1e\n" + " ble ._503 @cond_branch\n" + " ldr r1, ._507 + 104\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " add r4, r1, #0\n" + "._504:\n" + " bl debug_sub_8012294\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " strb r0, [r4]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x3\n" + " bls ._504 @cond_branch\n" + " ldr r0, ._507 + 100\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + " bl debug_sub_8012540\n" + " bl debug_nullsub_3\n" + " ldr r1, ._507 + 104\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " bl debug_sub_80125A0\n" + " ldr r0, ._507 + 108\n" + " add r0, r0, #0x44\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x8\n" + " bne ._505 @cond_branch\n" + " bl debug_sub_801174C\n" + " b ._506\n" + "._508:\n" + " .align 2, 0\n" + "._507:\n" + " .word 0x40000d4\n" + " .word 0x85006000\n" + " .word 0x4000200\n" + " .word gUnknown_030042A4\n" + " .word gUnknown_030042A0\n" + " .word gUnknown_030042C0\n" + " .word gUnknown_030041B4\n" + " .word gUnknown_03004288\n" + " .word gUnknown_03004280\n" + " .word gUnknown_030041B0\n" + " .word gUnknown_030041B8\n" + " .word 0x1f09\n" + " .word 0x4801\n" + " .word 0x4000050\n" + " .word gMonShinyPalette_CircledQuestionMark+0x18\n" + " .word gMonShinyPalette_CircledQuestionMark+0x834\n" + " .word +0x2000000\n" + " .word gMonShinyPalette_CircledQuestionMark+0xa8c\n" + " .word 0x50001e0\n" + " .word debug_sub_8011D40+1\n" + " .word debug_sub_8010CAC+1\n" + " .word gWindowConfig_81E6C3C\n" + " .word gUnknown_Debug_03004370\n" + " .word gUnknown_Debug_03004360\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_030043A8\n" + " .word gUnknown_02023A14+0x52\n" + "._505:\n" + " ldr r0, ._510\n" + " mov r1, #0x0\n" + " mov r4, #0x7\n" + " ldr r2, ._510 + 4\n" + " add r0, r0, r2\n" + "._509:\n" + " strb r1, [r0]\n" + " sub r0, r0, #0x1\n" + " sub r4, r4, #0x1\n" + " cmp r4, #0\n" + " bge ._509 @cond_branch\n" + "._506:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._511:\n" + " .align 2, 0\n" + "._510:\n" + " .word +0x2000000\n" + " .word 0x160bb\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8010A7C() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r2, r1, #0x18\n" + " mov r1, #0x0\n" + " ldr r5, ._514\n" + " cmp r1, r2\n" + " bge ._512 @cond_branch\n" + " add r3, r5, #0\n" + "._513:\n" + " add r0, r1, r3\n" + " strb r4, [r0]\n" + " add r1, r1, #0x1\n" + " cmp r1, r2\n" + " blt ._513 @cond_branch\n" + "._512:\n" + " add r1, r1, r5\n" + " mov r0, #0xff\n" + " strb r0, [r1]\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._515:\n" + " .align 2, 0\n" + "._514:\n" + " .word gBattleTextBuff1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8010AAC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov ip, r0\n" + " ldr r6, ._520\n" + " ldr r4, ._520 + 4\n" + " ldr r5, ._520 + 8\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x2\n" + " add r7, r0, r1\n" + " lsl r1, r7, #0x1\n" + " ldr r3, ._520 + 12\n" + " ldrb r2, [r3]\n" + " mov r0, #0x46\n" + " mul r2, r2, r0\n" + " add r1, r1, r2\n" + " add r1, r1, r4\n" + " mov r0, #0x0\n" + " ldsh r1, [r1, r0]\n" + " lsl r0, r1, #0x3\n" + " sub r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldrb r0, [r0, #0x10]\n" + " add r6, r3, #0\n" + " cmp r0, #0xfe\n" + " beq ._516 @cond_branch\n" + " cmp r0, #0xfe\n" + " bgt ._517 @cond_branch\n" + " cmp r0, #0\n" + " beq ._518 @cond_branch\n" + " b ._523\n" + "._521:\n" + " .align 2, 0\n" + "._520:\n" + " .word gBaseStats\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_03004360\n" + "._517:\n" + " cmp r0, #0xff\n" + " beq ._522 @cond_branch\n" + " b ._523\n" + "._518:\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r2\n" + " add r0, r0, r4\n" + " mov r1, #0x2\n" + " b ._528\n" + "._516:\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r2\n" + " add r0, r0, r4\n" + " mov r1, #0x3\n" + " b ._528\n" + "._522:\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r2\n" + " add r0, r0, r4\n" + " mov r1, #0x4\n" + " b ._528\n" + "._523:\n" + " ldrb r0, [r5]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " add r1, r1, #0x4\n" + " lsl r1, r1, #0x1\n" + " ldrb r0, [r6]\n" + " mov r3, #0x46\n" + " mul r0, r0, r3\n" + " add r1, r1, r0\n" + " add r1, r1, r4\n" + " ldrh r2, [r1]\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " strh r0, [r1]\n" + " mov r1, ip\n" + " cmp r1, #0\n" + " beq ._527 @cond_branch\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r0, #0x4\n" + " lsl r0, r0, #0x1\n" + " ldrb r1, [r6]\n" + " mul r1, r1, r3\n" + " add r0, r0, r1\n" + " add r0, r0, r4\n" + " ldrh r1, [r0]\n" + " mov r2, #0x1\n" + " eor r1, r1, r2\n" + " b ._528\n" + "._527:\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r0, #0x4\n" + " lsl r0, r0, #0x1\n" + " ldrb r1, [r6]\n" + " mul r1, r1, r3\n" + " add r0, r0, r1\n" + " add r0, r0, r4\n" + " mov r1, ip\n" + "._528:\n" + " strh r1, [r0]\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8010B80() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " mov r0, #0x0\n" + " mov ip, r0\n" + " ldr r4, ._534\n" + " ldr r1, ._534 + 4\n" + " mov r8, r1\n" + " ldr r5, ._534 + 8\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " mov r2, r8\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x1\n" + " ldr r3, ._534 + 12\n" + " ldrb r2, [r3]\n" + " mov r1, #0x46\n" + " mul r1, r1, r2\n" + " add r0, r0, r1\n" + " add r0, r0, r4\n" + " ldrb r7, [r0]\n" + " lsl r1, r7, #0x18\n" + " asr r0, r1, #0x18\n" + " mov r9, r4\n" + " add r2, r5, #0\n" + " add r4, r3, #0\n" + " cmp r0, #0x9\n" + " ble ._529 @cond_branch\n" + "._530:\n" + " mov r3, #0xf6\n" + " lsl r3, r3, #0x18\n" + " add r0, r1, r3\n" + " lsr r7, r0, #0x18\n" + " mov r1, ip\n" + " lsl r0, r1, #0x18\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x11\n" + " add r0, r0, r3\n" + " lsr r0, r0, #0x18\n" + " mov ip, r0\n" + " lsl r1, r7, #0x18\n" + " asr r0, r1, #0x18\n" + " cmp r0, #0x9\n" + " bgt ._530 @cond_branch\n" + "._529:\n" + " mov r0, #0x2\n" + " and r0, r0, r6\n" + " cmp r0, #0\n" + " beq ._531 @cond_branch\n" + " mov r0, #0x1\n" + " and r0, r0, r6\n" + " cmp r0, #0\n" + " beq ._532 @cond_branch\n" + " mov r1, ip\n" + " lsl r0, r1, #0x18\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x11\n" + " b ._533\n" + "._535:\n" + " .align 2, 0\n" + "._534:\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_03004360\n" + "._532:\n" + " mov r1, ip\n" + " lsl r0, r1, #0x18\n" + " mov r3, #0xff\n" + " lsl r3, r3, #0x18\n" + "._533:\n" + " add r0, r0, r3\n" + " lsr r0, r0, #0x18\n" + " mov ip, r0\n" + " mov r1, ip\n" + " lsl r0, r1, #0x18\n" + " cmp r0, #0\n" + " bge ._536 @cond_branch\n" + " mov r3, #0x9\n" + " mov ip, r3\n" + "._536:\n" + " mov r1, ip\n" + " lsl r0, r1, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, #0x9\n" + " ble ._542 @cond_branch\n" + " mov r3, #0x0\n" + " mov ip, r3\n" + " b ._542\n" + "._531:\n" + " mov r0, #0x1\n" + " and r0, r0, r6\n" + " cmp r0, #0\n" + " beq ._539 @cond_branch\n" + " lsl r0, r7, #0x18\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x11\n" + " add r0, r0, r1\n" + " b ._540\n" + "._539:\n" + " lsl r0, r7, #0x18\n" + " mov r3, #0xff\n" + " lsl r3, r3, #0x18\n" + " add r0, r0, r3\n" + "._540:\n" + " lsr r7, r0, #0x18\n" + " lsl r0, r7, #0x18\n" + " cmp r0, #0\n" + " bgt ._541 @cond_branch\n" + " mov r7, #0x9\n" + "._541:\n" + " lsl r0, r7, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, #0x9\n" + " ble ._542 @cond_branch\n" + " mov r7, #0x1\n" + "._542:\n" + " ldrb r0, [r2]\n" + " lsl r2, r0, #0x2\n" + " add r2, r2, r0\n" + " mov r0, r8\n" + " ldrb r0, [r0]\n" + " add r2, r2, r0\n" + " lsl r2, r2, #0x1\n" + " ldrb r1, [r4]\n" + " mov r0, #0x1\n" + " eor r0, r0, r1\n" + " mov r1, #0x46\n" + " add r3, r0, #0\n" + " mul r3, r3, r1\n" + " add r3, r2, r3\n" + " add r3, r3, r9\n" + " ldrb r0, [r4]\n" + " mul r0, r0, r1\n" + " add r2, r2, r0\n" + " add r2, r2, r9\n" + " mov r1, ip\n" + " lsl r0, r1, #0x18\n" + " asr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x1\n" + " lsl r0, r7, #0x18\n" + " asr r0, r0, #0x18\n" + " add r0, r0, r1\n" + " strh r0, [r2]\n" + " strh r0, [r3]\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8010CAC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffff0\n" + " ldr r4, ._553\n" + " ldrh r1, [r4, #0x28]\n" + " mov r0, #0x81\n" + " lsl r0, r0, #0x2\n" + " cmp r1, r0\n" + " bne ._543 @cond_branch\n" + " bl DoSoftReset\n" + "._543:\n" + " ldrh r0, [r4, #0x2a]\n" + " cmp r0, #0x4\n" + " beq ._544 @cond_branch\n" + " b ._559\n" + "._544:\n" + " ldr r0, ._553 + 4\n" + " ldrb r1, [r0]\n" + " mov r8, r0\n" + " cmp r1, #0x5\n" + " bhi ._546 @cond_branch\n" + " ldr r0, ._553 + 8\n" + " mov r1, #0x0\n" + " strb r1, [r0]\n" + " bl debug_sub_8012628\n" + " ldr r0, ._553 + 12\n" + " bl SetMainCallback2\n" + "._546:\n" + " ldr r0, ._553 + 16\n" + " ldrb r3, [r0]\n" + " cmp r3, #0\n" + " bne ._555 @cond_branch\n" + " mov r1, r8\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x6\n" + " bne ._555 @cond_branch\n" + " ldr r0, ._553 + 20\n" + " str r0, [r4, #0x8]\n" + " ldr r4, ._553 + 24\n" + " ldr r0, ._553 + 28\n" + " ldrh r1, [r0]\n" + " ldrb r2, [r0, #0x2]\n" + " str r3, [sp]\n" + " str r3, [sp, #0x4]\n" + " str r3, [sp, #0x8]\n" + " str r3, [sp, #0xc]\n" + " add r0, r4, #0\n" + " mov r3, #0x20\n" + " bl CreateMon\n" + " mov r5, #0x0\n" + " add r6, r4, #0\n" + "._549:\n" + " add r1, r5, #0\n" + " add r1, r1, #0xd\n" + " lsl r4, r5, #0x1\n" + " ldr r0, ._553 + 32\n" + " add r4, r4, r0\n" + " add r0, r6, #0\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " add r1, r5, #0\n" + " add r1, r1, #0x11\n" + " mov r2, #0x0\n" + " ldsh r0, [r4, r2]\n" + " lsl r2, r0, #0x1\n" + " add r2, r2, r0\n" + " lsl r2, r2, #0x2\n" + " ldr r0, ._553 + 36\n" + " add r2, r2, r0\n" + " add r0, r6, #0\n" + " bl SetMonData\n" + " add r5, r5, #0x1\n" + " cmp r5, #0x3\n" + " ble ._549 @cond_branch\n" + " ldr r2, ._553 + 28\n" + " mov r4, #0x3c\n" + " ldsh r0, [r2, r4]\n" + " cmp r0, #0x1\n" + " beq ._550 @cond_branch\n" + " cmp r0, #0x2\n" + " beq ._551 @cond_branch\n" + " b ._555\n" + "._554:\n" + " .align 2, 0\n" + "._553:\n" + " .word gMain\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_030043A8\n" + " .word debug_sub_8011498+1\n" + " .word gUnknown_Debug_030043A0\n" + " .word debug_sub_80108B8+1\n" + " .word gPlayerParty\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_02023A14+0xde\n" + " .word gBattleMoves+0x4\n" + "._550:\n" + " ldr r1, ._556\n" + " ldr r0, ._556 + 4\n" + " str r0, [r1]\n" + " ldr r0, ._556 + 8\n" + " ldrh r1, [r2, #0xa]\n" + " mov r2, #0x1\n" + " mov r3, #0x0\n" + " bl EvolutionScene\n" + " b ._555\n" + "._557:\n" + " .align 2, 0\n" + "._556:\n" + " .word gUnknown_03005E94\n" + " .word debug_sub_80108B8+1\n" + " .word gPlayerParty\n" + "._551:\n" + " bl debug_sub_8012688\n" + "._555:\n" + " ldr r0, ._565\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x1\n" + " bne ._559 @cond_branch\n" + " ldr r0, ._565 + 4\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x6\n" + " bne ._559 @cond_branch\n" + " ldr r3, ._565 + 8\n" + " ldrb r2, [r3, #0x15]\n" + " lsl r0, r2, #0x1d\n" + " lsr r5, r0, #0x1f\n" + " lsl r0, r2, #0x1f\n" + " lsr r0, r0, #0x1f\n" + " lsl r0, r0, #0x1\n" + " orr r5, r5, r0\n" + " add r5, r5, #0x1\n" + " cmp r5, #0x4\n" + " bne ._560 @cond_branch\n" + " mov r5, #0x0\n" + "._560:\n" + " mov r0, #0x1\n" + " add r1, r5, #0\n" + " and r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " mov r0, #0x5\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " mov r1, #0x2\n" + " and r5, r5, r1\n" + " lsr r2, r5, #0x1\n" + " sub r1, r1, #0x4\n" + " and r0, r0, r1\n" + " orr r0, r0, r2\n" + " strb r0, [r3, #0x15]\n" + " lsl r0, r0, #0x1f\n" + " lsr r0, r0, #0x1f\n" + " bl gScriptFuncs_End+0x2aa0\n" + " bl debug_nullsub_3\n" + "._559:\n" + " ldr r4, ._565 + 12\n" + " ldrh r0, [r4, #0x2a]\n" + " cmp r0, #0x8\n" + " bne ._561 @cond_branch\n" + " bl debug_sub_801174C\n" + "._561:\n" + " ldrh r0, [r4, #0x2a]\n" + " cmp r0, #0x40\n" + " bne ._562 @cond_branch\n" + " bl debug_sub_80125E4\n" + " ldr r1, ._565 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._563 @cond_branch\n" + " sub r0, r0, #0x1\n" + " b ._564\n" + "._566:\n" + " .align 2, 0\n" + "._565:\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gSaveBlock2\n" + " .word gMain\n" + "._563:\n" + " mov r0, #0x6\n" + "._564:\n" + " strb r0, [r1]\n" + " bl debug_sub_8011E74\n" + " ldr r0, ._570\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + " bl debug_sub_80125A0\n" + "._562:\n" + " ldr r0, ._570 + 4\n" + " ldrh r0, [r0, #0x2a]\n" + " cmp r0, #0x80\n" + " bne ._567 @cond_branch\n" + " bl debug_sub_80125E4\n" + " ldr r1, ._570\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x6\n" + " bne ._568 @cond_branch\n" + " mov r0, #0x0\n" + " b ._569\n" + "._571:\n" + " .align 2, 0\n" + "._570:\n" + " .word gUnknown_Debug_030043A4\n" + " .word gMain\n" + "._568:\n" + " add r0, r0, #0x1\n" + "._569:\n" + " strb r0, [r1]\n" + " bl debug_sub_8011E74\n" + " ldr r0, ._575\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + " bl debug_sub_80125A0\n" + "._567:\n" + " ldr r0, ._575 + 4\n" + " ldrh r0, [r0, #0x2a]\n" + " cmp r0, #0x20\n" + " bne ._572 @cond_branch\n" + " bl debug_sub_80125E4\n" + " ldr r2, ._575 + 8\n" + " ldrb r0, [r2]\n" + " add r1, r0, #0\n" + " cmp r1, #0\n" + " beq ._573 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r2]\n" + " b ._577\n" + "._576:\n" + " .align 2, 0\n" + "._575:\n" + " .word gUnknown_Debug_030043A4\n" + " .word gMain\n" + " .word gUnknown_Debug_030043A0\n" + "._573:\n" + " ldr r3, ._581\n" + " ldrb r0, [r3]\n" + " cmp r0, #0\n" + " beq ._577 @cond_branch\n" + " strb r1, [r3]\n" + " mov r0, #0x4\n" + " strb r0, [r2]\n" + " ldr r0, ._581 + 4\n" + " strh r1, [r0]\n" + " bl debug_sub_8011E5C\n" + " bl debug_sub_8011E74\n" + " ldr r0, ._581 + 8\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + "._577:\n" + " bl debug_sub_80125A0\n" + "._572:\n" + " ldr r0, ._581 + 12\n" + " ldrh r0, [r0, #0x2a]\n" + " cmp r0, #0x10\n" + " bne ._578 @cond_branch\n" + " bl debug_sub_80125E4\n" + " ldr r2, ._581 + 16\n" + " ldrb r0, [r2]\n" + " cmp r0, #0x4\n" + " beq ._579 @cond_branch\n" + " add r0, r0, #0x1\n" + " strb r0, [r2]\n" + " b ._583\n" + "._582:\n" + " .align 2, 0\n" + "._581:\n" + " .word gUnknown_Debug_03004360\n" + " .word gUnknown_030042C0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gMain\n" + " .word gUnknown_Debug_030043A0\n" + "._579:\n" + " ldr r3, ._587\n" + " ldrb r1, [r3]\n" + " cmp r1, #0\n" + " bne ._583 @cond_branch\n" + " mov r0, #0x1\n" + " strb r0, [r3]\n" + " strb r1, [r2]\n" + " ldr r1, ._587 + 4\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " bl debug_sub_8011E5C\n" + " bl debug_sub_8011E74\n" + " ldr r0, ._587 + 8\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + "._583:\n" + " bl debug_sub_80125A0\n" + "._578:\n" + " ldr r0, ._587 + 12\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._584 @cond_branch\n" + " b ._607\n" + "._584:\n" + " ldr r0, ._587 + 16\n" + " ldrb r2, [r0]\n" + " ldr r0, ._587 + 8\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r2, r0\n" + " sub r0, r0, #0x1e\n" + " cmp r0, #0x4\n" + " bhi ._586 @cond_branch\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._587 + 20\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._588:\n" + " .align 2, 0\n" + "._587:\n" + " .word gUnknown_Debug_03004360\n" + " .word gUnknown_030042C0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gMain\n" + " .word gUnknown_Debug_030043A0\n" + " .word ._589\n" + "._589:\n" + " .word ._590\n" + " .word ._591\n" + " .word ._592\n" + " .word ._593\n" + " .word ._594\n" + "._591:\n" + " bl debug_sub_8010818\n" + " b ._595\n" + "._592:\n" + " ldr r1, ._597\n" + " mov r0, #0x1f\n" + " mov r2, #0xec\n" + " bl debug_sub_80132C8\n" + "._595:\n" + " bl debug_sub_8011E5C\n" + " bl debug_sub_8011E74\n" + " bl debug_sub_8012540\n" + " bl debug_nullsub_3\n" + " ldr r0, ._597 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + " b ._607\n" + "._598:\n" + " .align 2, 0\n" + "._597:\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_030043A4\n" + "._593:\n" + " ldr r1, ._600\n" + " mov r0, #0x1f\n" + " mov r2, #0xec\n" + " bl debug_sub_8013294\n" + " b ._607\n" + "._601:\n" + " .align 2, 0\n" + "._600:\n" + " .word gUnknown_02023A14+0x52\n" + "._594:\n" + " ldr r3, ._604\n" + " add r2, r3, #0\n" + " add r2, r2, #0x44\n" + " ldrh r1, [r2]\n" + " mov r4, #0x0\n" + " ldsh r0, [r2, r4]\n" + " cmp r0, #0\n" + " beq ._602 @cond_branch\n" + " sub r0, r1, #1\n" + " strh r0, [r2]\n" + " add r1, r3, #0\n" + " add r1, r1, #0x8a\n" + " ldrh r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r1]\n" + " b ._603\n" + "._605:\n" + " .align 2, 0\n" + "._604:\n" + " .word gUnknown_02023A14+0x52\n" + "._602:\n" + " mov r1, #0x8\n" + " strh r1, [r2]\n" + " add r0, r3, #0\n" + " add r0, r0, #0x8a\n" + " strh r1, [r0]\n" + "._603:\n" + " bl debug_sub_8012540\n" + " b ._607\n" + "._590:\n" + " mov r0, #0x0\n" + " bl debug_sub_8010B80\n" + " ldr r2, ._608\n" + " ldr r0, ._608 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " b ._607\n" + "._609:\n" + " .align 2, 0\n" + "._608:\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + "._586:\n" + " cmp r2, #0x4\n" + " bne ._611 @cond_branch\n" + " cmp r1, #0x5\n" + " bhi ._611 @cond_branch\n" + " mov r0, #0x1\n" + " bl debug_sub_8010AAC\n" + " b ._613\n" + "._611:\n" + " ldr r6, ._618\n" + " ldr r5, ._618 + 4\n" + " ldr r4, ._618 + 8\n" + " ldrb r0, [r4]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " ldrb r0, [r5]\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x1\n" + " ldr r2, ._618 + 12\n" + " ldrb r0, [r2]\n" + " mov r3, #0x46\n" + " mul r0, r0, r3\n" + " add r1, r1, r0\n" + " add r1, r1, r6\n" + " ldrh r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r1]\n" + " ldrb r0, [r4]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " ldrb r5, [r5]\n" + " add r1, r1, r5\n" + " lsl r0, r1, #0x1\n" + " ldrb r2, [r2]\n" + " mul r2, r2, r3\n" + " add r0, r0, r2\n" + " add r3, r0, r6\n" + " mov r4, #0x0\n" + " ldsh r2, [r3, r4]\n" + " ldr r4, ._618 + 16\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r1, r0, #0x1\n" + " add r0, r4, #0\n" + " add r0, r0, #0x8\n" + " add r0, r1, r0\n" + " ldrh r0, [r0]\n" + " cmp r2, r0\n" + " bge ._613 @cond_branch\n" + " add r0, r4, #6\n" + " add r0, r1, r0\n" + " ldrh r0, [r0]\n" + " strh r0, [r3]\n" + "._613:\n" + " ldr r5, ._618 + 4\n" + " ldrb r0, [r5]\n" + " cmp r0, #0\n" + " bne ._614 @cond_branch\n" + " mov r0, #0x0\n" + " bl debug_sub_8010AAC\n" + " ldr r0, ._618 + 8\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r0, #0x4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + "._614:\n" + " ldr r4, ._618 + 8\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r5, [r5]\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + "._607:\n" + " ldr r0, ._618 + 20\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._615 @cond_branch\n" + " b ._638\n" + "._615:\n" + " ldr r0, ._618 + 4\n" + " ldrb r2, [r0]\n" + " ldr r0, ._618 + 8\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r2, r0\n" + " sub r0, r0, #0x1e\n" + " cmp r0, #0x4\n" + " bhi ._617 @cond_branch\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._618 + 24\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._619:\n" + " .align 2, 0\n" + "._618:\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_03004360\n" + " .word UnkDebug0+0x6c\n" + " .word gMain\n" + " .word ._620\n" + "._620:\n" + " .word ._621\n" + " .word ._622\n" + " .word ._623\n" + " .word ._624\n" + " .word ._625\n" + "._622:\n" + " bl debug_sub_8010818\n" + " b ._626\n" + "._623:\n" + " ldr r1, ._628\n" + " mov r0, #0x1f\n" + " mov r2, #0xec\n" + " bl debug_sub_80132C8\n" + "._626:\n" + " bl debug_sub_8011E5C\n" + " bl debug_sub_8011E74\n" + " bl debug_sub_8012540\n" + " bl debug_nullsub_3\n" + " ldr r0, ._628 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + " b ._638\n" + "._629:\n" + " .align 2, 0\n" + "._628:\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_030043A4\n" + "._624:\n" + " ldr r1, ._631\n" + " mov r0, #0x1f\n" + " mov r2, #0xec\n" + " bl debug_sub_8013294\n" + " b ._638\n" + "._632:\n" + " .align 2, 0\n" + "._631:\n" + " .word gUnknown_02023A14+0x52\n" + "._625:\n" + " ldr r3, ._635\n" + " add r2, r3, #0\n" + " add r2, r2, #0x44\n" + " ldrh r1, [r2]\n" + " mov r4, #0x0\n" + " ldsh r0, [r2, r4]\n" + " cmp r0, #0x7\n" + " bgt ._633 @cond_branch\n" + " add r0, r1, #1\n" + " strh r0, [r2]\n" + " add r1, r3, #0\n" + " add r1, r1, #0x8a\n" + " ldrh r0, [r1]\n" + " add r0, r0, #0x1\n" + " strh r0, [r1]\n" + " b ._634\n" + "._636:\n" + " .align 2, 0\n" + "._635:\n" + " .word gUnknown_02023A14+0x52\n" + "._633:\n" + " mov r1, #0x0\n" + " strh r1, [r2]\n" + " add r0, r3, #0\n" + " add r0, r0, #0x8a\n" + " strh r1, [r0]\n" + "._634:\n" + " bl debug_sub_8012540\n" + " b ._638\n" + "._621:\n" + " mov r0, #0x1\n" + " bl debug_sub_8010B80\n" + " ldr r2, ._639\n" + " ldr r0, ._639 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " b ._638\n" + "._640:\n" + " .align 2, 0\n" + "._639:\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + "._617:\n" + " cmp r2, #0x4\n" + " bne ._642 @cond_branch\n" + " cmp r1, #0x5\n" + " bhi ._642 @cond_branch\n" + " mov r0, #0x1\n" + " bl debug_sub_8010AAC\n" + " b ._644\n" + "._642:\n" + " ldr r6, ._650\n" + " ldr r5, ._650 + 4\n" + " ldr r4, ._650 + 8\n" + " ldrb r0, [r4]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " ldrb r0, [r5]\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x1\n" + " ldr r2, ._650 + 12\n" + " ldrb r0, [r2]\n" + " mov r3, #0x46\n" + " mul r0, r0, r3\n" + " add r1, r1, r0\n" + " add r1, r1, r6\n" + " ldrh r0, [r1]\n" + " add r0, r0, #0x1\n" + " strh r0, [r1]\n" + " ldrb r0, [r4]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " ldrb r5, [r5]\n" + " add r1, r1, r5\n" + " lsl r0, r1, #0x1\n" + " ldrb r2, [r2]\n" + " mul r2, r2, r3\n" + " add r0, r0, r2\n" + " add r3, r0, r6\n" + " mov r4, #0x0\n" + " ldsh r2, [r3, r4]\n" + " ldr r4, ._650 + 16\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r1, r0, #0x1\n" + " add r0, r4, #6\n" + " add r0, r1, r0\n" + " ldrh r0, [r0]\n" + " cmp r2, r0\n" + " ble ._644 @cond_branch\n" + " add r0, r4, #0\n" + " add r0, r0, #0x8\n" + " add r0, r1, r0\n" + " ldrh r0, [r0]\n" + " strh r0, [r3]\n" + "._644:\n" + " ldr r5, ._650 + 4\n" + " ldrb r0, [r5]\n" + " cmp r0, #0\n" + " bne ._645 @cond_branch\n" + " mov r0, #0x0\n" + " bl debug_sub_8010AAC\n" + " ldr r0, ._650 + 8\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r0, #0x4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + "._645:\n" + " ldr r4, ._650 + 8\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r5, [r5]\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + "._638:\n" + " ldr r0, ._650 + 20\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._646 @cond_branch\n" + " ldr r0, ._650 + 4\n" + " ldrb r1, [r0]\n" + " ldr r2, ._650 + 8\n" + " mov r8, r2\n" + " add r7, r0, #0\n" + " cmp r1, #0x4\n" + " bne ._648 @cond_branch\n" + " ldrb r0, [r2]\n" + " cmp r0, #0x5\n" + " bhi ._648 @cond_branch\n" + " mov r0, #0x1\n" + " bl debug_sub_8010AAC\n" + " b ._653\n" + "._651:\n" + " .align 2, 0\n" + "._650:\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_03004360\n" + " .word UnkDebug0+0x6c\n" + " .word gMain\n" + "._648:\n" + " mov r4, r8\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r1, [r7]\n" + " add r0, r0, r1\n" + " cmp r0, #0x1e\n" + " bne ._652 @cond_branch\n" + " mov r0, #0x2\n" + " bl debug_sub_8010B80\n" + " b ._653\n" + "._652:\n" + " ldr r4, ._655\n" + " lsl r1, r0, #0x1\n" + " ldr r3, ._655 + 4\n" + " ldrb r2, [r3]\n" + " mov r0, #0x46\n" + " mul r0, r0, r2\n" + " add r1, r1, r0\n" + " add r1, r1, r4\n" + " ldrh r0, [r1]\n" + " sub r0, r0, #0xa\n" + " strh r0, [r1]\n" + " add r6, r3, #0\n" + " ldr r5, ._655 + 8\n" + " b ._654\n" + "._656:\n" + " .align 2, 0\n" + "._655:\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_03004360\n" + " .word UnkDebug0+0x6c\n" + "._657:\n" + " add r0, r5, #6\n" + " add r0, r1, r0\n" + " ldrh r0, [r0]\n" + " ldrh r2, [r3]\n" + " add r0, r0, r2\n" + " strh r0, [r3]\n" + "._654:\n" + " mov r1, r8\n" + " ldrb r0, [r1]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " ldrb r2, [r7]\n" + " add r1, r1, r2\n" + " lsl r2, r1, #0x1\n" + " ldrb r3, [r6]\n" + " mov r0, #0x46\n" + " mul r0, r0, r3\n" + " add r2, r2, r0\n" + " add r3, r2, r4\n" + " mov r0, #0x0\n" + " ldsh r2, [r3, r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r1, r0, #0x1\n" + " add r0, r5, #0\n" + " add r0, r0, #0x8\n" + " add r0, r1, r0\n" + " ldrh r0, [r0]\n" + " cmp r2, r0\n" + " blt ._657 @cond_branch\n" + "._653:\n" + " ldr r5, ._663\n" + " ldrb r0, [r5]\n" + " cmp r0, #0\n" + " bne ._658 @cond_branch\n" + " mov r0, #0x0\n" + " bl debug_sub_8010AAC\n" + " ldr r0, ._663 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r0, #0x4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + "._658:\n" + " ldr r4, ._663 + 4\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r5, [r5]\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + "._646:\n" + " ldr r0, ._663 + 8\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._659 @cond_branch\n" + " ldr r0, ._663\n" + " ldrb r1, [r0]\n" + " ldr r2, ._663 + 4\n" + " mov r8, r2\n" + " add r7, r0, #0\n" + " cmp r1, #0x4\n" + " bne ._661 @cond_branch\n" + " ldrb r0, [r2]\n" + " cmp r0, #0x5\n" + " bhi ._661 @cond_branch\n" + " mov r0, #0x1\n" + " bl debug_sub_8010AAC\n" + " b ._666\n" + "._664:\n" + " .align 2, 0\n" + "._663:\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gMain\n" + "._661:\n" + " mov r4, r8\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r1, [r7]\n" + " add r0, r0, r1\n" + " cmp r0, #0x1e\n" + " bne ._665 @cond_branch\n" + " mov r0, #0x3\n" + " bl debug_sub_8010B80\n" + " b ._666\n" + "._665:\n" + " ldr r4, ._668\n" + " lsl r1, r0, #0x1\n" + " ldr r3, ._668 + 4\n" + " ldrb r2, [r3]\n" + " mov r0, #0x46\n" + " mul r0, r0, r2\n" + " add r1, r1, r0\n" + " add r1, r1, r4\n" + " ldrh r0, [r1]\n" + " add r0, r0, #0xa\n" + " strh r0, [r1]\n" + " add r6, r3, #0\n" + " ldr r5, ._668 + 8\n" + " b ._667\n" + "._669:\n" + " .align 2, 0\n" + "._668:\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_03004360\n" + " .word UnkDebug0+0x6c\n" + "._670:\n" + " ldrh r0, [r3]\n" + " sub r0, r0, r1\n" + " strh r0, [r3]\n" + "._667:\n" + " mov r2, r8\n" + " ldrb r0, [r2]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " ldrb r0, [r7]\n" + " add r1, r1, r0\n" + " lsl r2, r1, #0x1\n" + " ldrb r3, [r6]\n" + " mov r0, #0x46\n" + " mul r0, r0, r3\n" + " add r2, r2, r0\n" + " add r3, r2, r4\n" + " mov r0, #0x0\n" + " ldsh r2, [r3, r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x1\n" + " add r1, r5, #6\n" + " add r0, r0, r1\n" + " ldrh r1, [r0]\n" + " cmp r2, r1\n" + " bgt ._670 @cond_branch\n" + "._666:\n" + " ldr r5, ._672\n" + " ldrb r0, [r5]\n" + " cmp r0, #0\n" + " bne ._671 @cond_branch\n" + " mov r0, #0x0\n" + " bl debug_sub_8010AAC\n" + " ldr r0, ._672 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " add r0, r0, #0x4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + "._671:\n" + " ldr r4, ._672 + 4\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r5, [r5]\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " ldrb r1, [r4]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_80123D8\n" + "._659:\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " add sp, sp, #0x10\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._673:\n" + " .align 2, 0\n" + "._672:\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8011498() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " ldr r2, ._687\n" + " ldr r0, ._687 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r9, r0\n" + " ldr r4, ._687 + 8\n" + " ldrh r1, [r4, #0x28]\n" + " mov r0, #0x81\n" + " lsl r0, r0, #0x2\n" + " cmp r1, r0\n" + " bne ._674 @cond_branch\n" + " bl DoSoftReset\n" + "._674:\n" + " ldrh r0, [r4, #0x2a]\n" + " cmp r0, #0x4\n" + " bne ._675 @cond_branch\n" + " bl debug_sub_8012658\n" + " ldr r0, ._687 + 12\n" + " bl SetMainCallback2\n" + "._675:\n" + " ldrh r0, [r4, #0x2a]\n" + " cmp r0, #0x8\n" + " bne ._676 @cond_branch\n" + " bl debug_sub_801174C\n" + "._676:\n" + " ldrh r0, [r4, #0x2a]\n" + " cmp r0, #0x40\n" + " beq ._677 @cond_branch\n" + " cmp r0, #0x80\n" + " bne ._678 @cond_branch\n" + "._677:\n" + " bl debug_sub_8012658\n" + " ldr r0, ._687 + 16\n" + " ldrb r1, [r0]\n" + " mov r2, #0x2\n" + " eor r1, r1, r2\n" + " strb r1, [r0]\n" + " bl debug_sub_8012628\n" + "._678:\n" + " ldr r0, ._687 + 8\n" + " ldrh r0, [r0, #0x2a]\n" + " cmp r0, #0x20\n" + " beq ._679 @cond_branch\n" + " cmp r0, #0x10\n" + " bne ._680 @cond_branch\n" + "._679:\n" + " bl debug_sub_8012658\n" + " ldr r0, ._687 + 16\n" + " ldrb r1, [r0]\n" + " mov r2, #0x1\n" + " eor r1, r1, r2\n" + " strb r1, [r0]\n" + " bl debug_sub_8012628\n" + "._680:\n" + " ldr r0, ._687 + 8\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._681 @cond_branch\n" + " ldr r0, ._687 + 20\n" + " mov r8, r0\n" + " ldr r6, ._687 + 16\n" + " ldrb r4, [r6]\n" + " lsl r4, r4, #0x1\n" + " mov r0, r9\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x4358\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x15\n" + " add r4, r4, r0\n" + " ldr r5, ._687 + 24\n" + " ldrb r2, [r5]\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x4\n" + " add r4, r4, r1\n" + " add r4, r4, r8\n" + " ldrh r1, [r4]\n" + " sub r1, r1, #0x1\n" + " strh r1, [r4]\n" + " ldrb r3, [r6]\n" + " lsl r1, r3, #0x1\n" + " add r1, r1, r0\n" + " ldrb r2, [r5]\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x4\n" + " add r1, r1, r0\n" + " mov r0, r8\n" + " add r4, r1, r0\n" + " mov r0, #0x0\n" + " ldsh r1, [r4, r0]\n" + " ldr r5, ._687 + 28\n" + " lsl r0, r3, #0x2\n" + " add r0, r0, r3\n" + " lsl r2, r0, #0x1\n" + " add r0, r5, #0\n" + " add r0, r0, #0x8\n" + " add r0, r2, r0\n" + " ldrh r0, [r0]\n" + " cmp r1, r0\n" + " bge ._682 @cond_branch\n" + " add r0, r5, #6\n" + " add r0, r2, r0\n" + " ldrh r0, [r0]\n" + " strh r0, [r4]\n" + "._682:\n" + " bl debug_sub_8012294\n" + "._681:\n" + " ldr r0, ._687 + 8\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._683 @cond_branch\n" + " ldr r1, ._687 + 20\n" + " mov r8, r1\n" + " ldr r6, ._687 + 16\n" + " ldrb r4, [r6]\n" + " lsl r4, r4, #0x1\n" + " mov r0, r9\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x4358\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x15\n" + " add r4, r4, r0\n" + " ldr r5, ._687 + 24\n" + " ldrb r2, [r5]\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x4\n" + " add r4, r4, r1\n" + " add r4, r4, r8\n" + " ldrh r1, [r4]\n" + " add r1, r1, #0x1\n" + " strh r1, [r4]\n" + " ldrb r3, [r6]\n" + " lsl r1, r3, #0x1\n" + " add r1, r1, r0\n" + " ldrb r2, [r5]\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x4\n" + " add r1, r1, r0\n" + " mov r0, r8\n" + " add r4, r1, r0\n" + " mov r0, #0x0\n" + " ldsh r1, [r4, r0]\n" + " ldr r5, ._687 + 28\n" + " lsl r0, r3, #0x2\n" + " add r0, r0, r3\n" + " lsl r2, r0, #0x1\n" + " add r0, r5, #6\n" + " add r0, r2, r0\n" + " ldrh r0, [r0]\n" + " cmp r1, r0\n" + " ble ._684 @cond_branch\n" + " add r0, r5, #0\n" + " add r0, r0, #0x8\n" + " add r0, r2, r0\n" + " ldrh r0, [r0]\n" + " strh r0, [r4]\n" + "._684:\n" + " bl debug_sub_8012294\n" + "._683:\n" + " ldr r0, ._687 + 8\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._685 @cond_branch\n" + " ldr r6, ._687 + 20\n" + " ldr r5, ._687 + 16\n" + " ldrb r4, [r5]\n" + " lsl r4, r4, #0x1\n" + " mov r0, r9\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x4358\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x15\n" + " add r4, r4, r0\n" + " ldr r2, ._687 + 24\n" + " ldrb r1, [r2]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x4\n" + " add r4, r4, r0\n" + " add r4, r4, r6\n" + " ldrh r0, [r4]\n" + " sub r0, r0, #0xa\n" + " strh r0, [r4]\n" + " mov sl, r5\n" + " mov r8, r6\n" + " add r7, r2, #0\n" + " ldr r6, ._687 + 28\n" + " b ._686\n" + "._688:\n" + " .align 2, 0\n" + "._687:\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gMain\n" + " .word debug_sub_8010CAC+1\n" + " .word gUnknown_Debug_030043A8\n" + " .word gUnknown_02023A14+0xde\n" + " .word gUnknown_Debug_03004360\n" + " .word UnkDebug0+0x1ac\n" + "._689:\n" + " add r0, r6, #6\n" + " add r0, r2, r0\n" + " ldrh r0, [r0]\n" + " ldrh r1, [r4]\n" + " add r0, r0, r1\n" + " strh r0, [r4]\n" + "._686:\n" + " mov r0, sl\n" + " ldrb r5, [r0]\n" + " lsl r4, r5, #0x1\n" + " mov r0, r9\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x4358\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x15\n" + " add r4, r4, r0\n" + " ldrb r1, [r7]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x4\n" + " add r4, r4, r0\n" + " add r4, r4, r8\n" + " mov r0, #0x0\n" + " ldsh r1, [r4, r0]\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r2, r0, #0x1\n" + " add r0, r6, #0\n" + " add r0, r0, #0x8\n" + " add r0, r2, r0\n" + " ldrh r0, [r0]\n" + " cmp r1, r0\n" + " blt ._689 @cond_branch\n" + " bl debug_sub_8012294\n" + "._685:\n" + " ldr r0, ._692\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._690 @cond_branch\n" + " ldr r6, ._692 + 4\n" + " ldr r5, ._692 + 8\n" + " ldrb r4, [r5]\n" + " lsl r4, r4, #0x1\n" + " mov r0, r9\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x4358\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x15\n" + " add r4, r4, r0\n" + " ldr r2, ._692 + 12\n" + " ldrb r1, [r2]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x4\n" + " add r4, r4, r0\n" + " add r4, r4, r6\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0xa\n" + " strh r0, [r4]\n" + " mov sl, r5\n" + " mov r8, r6\n" + " add r7, r2, #0\n" + " ldr r6, ._692 + 16\n" + " b ._691\n" + "._693:\n" + " .align 2, 0\n" + "._692:\n" + " .word gMain\n" + " .word gUnknown_02023A14+0xde\n" + " .word gUnknown_Debug_030043A8\n" + " .word gUnknown_Debug_03004360\n" + " .word UnkDebug0+0x1ac\n" + "._694:\n" + " ldrh r0, [r4]\n" + " sub r0, r0, r1\n" + " strh r0, [r4]\n" + "._691:\n" + " mov r1, sl\n" + " ldrb r5, [r1]\n" + " lsl r4, r5, #0x1\n" + " mov r0, r9\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x4358\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x15\n" + " add r4, r4, r0\n" + " ldrb r1, [r7]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x4\n" + " add r4, r4, r0\n" + " add r4, r4, r8\n" + " mov r0, #0x0\n" + " ldsh r2, [r4, r0]\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x1\n" + " add r1, r6, #6\n" + " add r0, r0, r1\n" + " ldrh r1, [r0]\n" + " cmp r2, r1\n" + " bgt ._694 @cond_branch\n" + " bl debug_sub_8012294\n" + "._690:\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_801174C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xffffffe8\n" + " mov r0, #0x0\n" + " mov r9, r0\n" + " ldr r1, ._704\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " bl Random\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " mov r0, #0x3\n" + " and r4, r4, r0\n" + " lsl r4, r4, #0x18\n" + " lsr r6, r4, #0x18\n" + " ldr r5, ._704 + 4\n" + " lsl r1, r6, #0x1\n" + " add r1, r1, r6\n" + " lsl r1, r1, #0x1\n" + " ldr r0, ._704 + 8\n" + " add r1, r1, r0\n" + " add r0, r5, #0\n" + " bl StringCopy\n" + " lsr r4, r4, #0x19\n" + " strb r4, [r5, #0x8]\n" + " bl ZeroPlayerPartyMons\n" + " bl ZeroEnemyPartyMons\n" + " ldr r0, ._704 + 12\n" + " mov r1, #0x3c\n" + " ldsh r7, [r0, r1]\n" + " mov r2, r9\n" + " str r2, [sp, #0xc]\n" + " cmp r7, #0x9\n" + " ble ._695 @cond_branch\n" + " mov r0, #0x0\n" + "._696:\n" + " sub r7, r7, #0xa\n" + " add r0, r0, #0x1\n" + " cmp r7, #0x9\n" + " bgt ._696 @cond_branch\n" + " str r0, [sp, #0xc]\n" + "._695:\n" + " ldr r2, ._704 + 16\n" + " ldr r1, ._704 + 20\n" + " sub r0, r7, #1\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " ldrh r3, [r0]\n" + " strh r3, [r2]\n" + " ldr r1, ._704 + 24\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldr r1, ._704 + 28\n" + " add r0, sp, #0xc\n" + " ldrb r0, [r0]\n" + " strb r0, [r1]\n" + " mov r0, #0x80\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._697 @cond_branch\n" + " bl EnterSafariMode\n" + "._697:\n" + " ldr r5, ._704 + 12\n" + " ldrh r0, [r5, #0x3c]\n" + " sub r0, r0, #0x2\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0x2\n" + " bhi ._698 @cond_branch\n" + " ldr r4, ._704 + 32\n" + " bl Random\n" + " mov r1, #0x7\n" + " and r1, r1, r0\n" + " add r1, r1, #0x1\n" + " strh r1, [r4]\n" + "._698:\n" + " ldr r1, ._704 + 36\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " mov r7, #0x0\n" + "._745:\n" + " lsl r0, r7, #0x1\n" + " ldr r3, ._704 + 12\n" + " add r1, r0, r3\n" + " mov r2, #0x0\n" + " ldsh r1, [r1, r2]\n" + " add r2, r3, #0\n" + " mov r8, r0\n" + " add r3, r7, #5\n" + " mov sl, r3\n" + " cmp r1, #0\n" + " beq ._699 @cond_branch\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, #0\n" + " add r0, r0, r1\n" + " mov r3, #0x0\n" + " ldsh r0, [r0, r3]\n" + " cmp r0, #0x1\n" + " beq ._707 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._701 @cond_branch\n" + " cmp r0, #0\n" + " beq ._706 @cond_branch\n" + " b ._708\n" + "._705:\n" + " .align 2, 0\n" + "._704:\n" + " .word gUnknown_020297ED\n" + " .word gSaveBlock2\n" + " .word UnkDebug0+0x279\n" + " .word gUnknown_02023A14+0x52\n" + " .word gBattleTypeFlags\n" + " .word UnkDebug0+0x1e0\n" + " .word gUnknown_02023A14+0x50\n" + " .word gBattleTerrain\n" + " .word gTrainerBattleOpponent\n" + " .word gPlayerPartyCount\n" + "._701:\n" + " cmp r0, #0x2\n" + " beq ._706 @cond_branch\n" + " cmp r0, #0x3\n" + " beq ._707 @cond_branch\n" + " b ._708\n" + "._706:\n" + " mov r6, #0x0\n" + " b ._710\n" + "._707:\n" + " mov r6, #0xfe\n" + " b ._710\n" + "._708:\n" + " mov r6, #0xff\n" + "._710:\n" + " mov r1, r8\n" + " add r0, r1, r2\n" + " mov r3, #0x0\n" + " ldsh r0, [r0, r3]\n" + " add r1, r7, #5\n" + " mov sl, r1\n" + " cmp r0, #0xc9\n" + " bne ._712 @cond_branch\n" + " cmp r1, #0x1d\n" + " bgt ._712 @cond_branch\n" + " add r0, r7, #7\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r2\n" + " ldrb r0, [r0]\n" + " mov r9, r0\n" + " b ._713\n" + "._712:\n" + " mov r2, #0x0\n" + " mov r9, r2\n" + "._713:\n" + " add r0, r7, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x3d30\n" + " mov r3, #0x64\n" + " mul r0, r0, r3\n" + " ldr r1, ._719\n" + " add r0, r0, r1\n" + " ldr r1, ._719 + 4\n" + " add r1, r1, r8\n" + " ldrh r1, [r1]\n" + " add r2, r7, #1\n" + " lsl r2, r2, #0x1\n" + " ldr r3, ._719 + 4\n" + " add r2, r2, r3\n" + " ldrb r2, [r2]\n" + " str r6, [sp]\n" + " mov r3, #0x0\n" + " str r3, [sp, #0x4]\n" + " mov r3, r9\n" + " str r3, [sp, #0x8]\n" + " mov r3, #0x0\n" + " bl CreateMonWithGenderNatureLetter\n" + "._699:\n" + " add r0, r7, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x3d30\n" + " mov r2, #0x64\n" + " add r1, r0, #0\n" + " mul r1, r1, r2\n" + " ldr r0, ._719\n" + " add r5, r1, r0\n" + " ldr r4, ._719 + 8\n" + " mov r3, r8\n" + " add r6, r3, r4\n" + " add r0, r5, #0\n" + " mov r1, #0xc\n" + " add r2, r6, #0\n" + " bl SetMonData\n" + " sub r4, r4, #0x4\n" + " add r1, r7, #2\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r4\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " str r1, [sp, #0x10]\n" + " cmp r0, #0xb\n" + " bhi ._714 @cond_branch\n" + " add r0, r5, #0\n" + " mov r1, #0x26\n" + " add r2, r6, #0\n" + " bl SetMonData\n" + "._714:\n" + " add r1, r7, #3\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r4\n" + " mov r3, #0x0\n" + " ldsh r2, [r0, r3]\n" + " str r1, [sp, #0x14]\n" + " cmp r2, #0\n" + " beq ._716 @cond_branch\n" + " cmp r2, #0x3\n" + " beq ._716 @cond_branch\n" + " cmp r2, #0x2\n" + " bgt ._717 @cond_branch\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " sub r0, r0, #0x1\n" + " b ._718\n" + "._720:\n" + " .align 2, 0\n" + "._719:\n" + " .word gEnemyParty\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_02023A14+0x56\n" + "._717:\n" + " mov r2, #0x0\n" + " ldsh r0, [r0, r2]\n" + " sub r0, r0, #0x4\n" + "._718:\n" + " str r0, [sp, #0xc]\n" + " add r0, r7, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x3d30\n" + " mov r3, #0x64\n" + " mul r0, r0, r3\n" + " ldr r1, ._726\n" + " add r0, r0, r1\n" + " mov r1, #0x2e\n" + " add r2, sp, #0xc\n" + " bl SetMonData\n" + "._716:\n" + " ldr r1, ._726 + 4\n" + " add r1, r1, #0x46\n" + " mov r2, r8\n" + " add r0, r2, r1\n" + " mov r3, #0x0\n" + " ldsh r0, [r0, r3]\n" + " ldr r2, ._726 + 4\n" + " cmp r0, #0\n" + " beq ._721 @cond_branch\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x1\n" + " beq ._729 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._723 @cond_branch\n" + " cmp r0, #0\n" + " beq ._728 @cond_branch\n" + " b ._730\n" + "._727:\n" + " .align 2, 0\n" + "._726:\n" + " .word gEnemyParty\n" + " .word gUnknown_02023A14+0x52\n" + "._723:\n" + " cmp r0, #0x2\n" + " beq ._728 @cond_branch\n" + " cmp r0, #0x3\n" + " beq ._729 @cond_branch\n" + " b ._730\n" + "._728:\n" + " mov r6, #0x0\n" + " b ._732\n" + "._729:\n" + " mov r6, #0xfe\n" + " b ._732\n" + "._730:\n" + " mov r6, #0xff\n" + "._732:\n" + " add r1, r2, #0\n" + " add r1, r1, #0x46\n" + " mov r2, r8\n" + " add r0, r2, r1\n" + " mov r3, #0x0\n" + " ldsh r0, [r0, r3]\n" + " cmp r0, #0xc9\n" + " bne ._734 @cond_branch\n" + " mov r0, sl\n" + " cmp r0, #0x1d\n" + " bgt ._734 @cond_branch\n" + " add r0, r7, #7\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " mov r9, r0\n" + " b ._735\n" + "._734:\n" + " mov r1, #0x0\n" + " mov r9, r1\n" + "._735:\n" + " add r0, r7, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x3d30\n" + " mov r2, #0x64\n" + " mul r0, r0, r2\n" + " ldr r1, ._741\n" + " add r0, r0, r1\n" + " ldr r1, ._741 + 4\n" + " add r1, r1, r8\n" + " ldrh r1, [r1]\n" + " add r2, r7, #1\n" + " lsl r2, r2, #0x1\n" + " ldr r3, ._741 + 4\n" + " add r2, r2, r3\n" + " ldrb r2, [r2]\n" + " str r6, [sp]\n" + " mov r3, #0x0\n" + " str r3, [sp, #0x4]\n" + " mov r3, r9\n" + " str r3, [sp, #0x8]\n" + " mov r3, #0x0\n" + " bl CreateMonWithGenderNatureLetter\n" + " ldr r1, ._741 + 8\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._721:\n" + " add r0, r7, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x3d30\n" + " mov r2, #0x64\n" + " add r1, r0, #0\n" + " mul r1, r1, r2\n" + " ldr r0, ._741\n" + " add r4, r1, r0\n" + " ldr r0, ._741 + 12\n" + " mov r3, r8\n" + " add r5, r3, r0\n" + " add r0, r4, #0\n" + " mov r1, #0xc\n" + " add r2, r5, #0\n" + " bl SetMonData\n" + " ldr r1, [sp, #0x10]\n" + " lsl r0, r1, #0x1\n" + " ldr r2, ._741 + 16\n" + " add r0, r0, r2\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi ._736 @cond_branch\n" + " add r0, r4, #0\n" + " mov r1, #0x26\n" + " add r2, r5, #0\n" + " bl SetMonData\n" + "._736:\n" + " ldr r3, [sp, #0x14]\n" + " lsl r0, r3, #0x1\n" + " ldr r1, ._741 + 4\n" + " add r0, r0, r1\n" + " mov r2, #0x0\n" + " ldsh r1, [r0, r2]\n" + " cmp r1, #0\n" + " beq ._738 @cond_branch\n" + " cmp r1, #0x3\n" + " beq ._738 @cond_branch\n" + " cmp r1, #0x2\n" + " bgt ._739 @cond_branch\n" + " add r0, r1, #0\n" + " sub r0, r0, #0x1\n" + " b ._740\n" + "._742:\n" + " .align 2, 0\n" + "._741:\n" + " .word gPlayerParty\n" + " .word gUnknown_02023A14+0x98\n" + " .word gPlayerPartyCount\n" + " .word gUnknown_02023A14+0x9c\n" + " .word gUnknown_02023A14+0x52\n" + "._739:\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " sub r0, r0, #0x4\n" + "._740:\n" + " str r0, [sp, #0xc]\n" + " add r0, r7, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x3d30\n" + " mov r2, #0x64\n" + " mul r0, r0, r2\n" + " ldr r1, ._750\n" + " add r0, r0, r1\n" + " mov r1, #0x2e\n" + " add r2, sp, #0xc\n" + " bl SetMonData\n" + "._738:\n" + " ldr r3, [sp, #0x14]\n" + " lsl r0, r3, #0x1\n" + " ldr r1, ._750 + 4\n" + " add r0, r0, r1\n" + " mov r2, #0x0\n" + " ldsh r0, [r0, r2]\n" + " cmp r0, #0x2\n" + " ble ._743 @cond_branch\n" + " add r0, r7, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x3d30\n" + " mov r3, #0x64\n" + " mul r0, r0, r3\n" + " ldr r1, ._750\n" + " add r0, r0, r1\n" + " mov r1, #0x7\n" + " ldr r2, ._750 + 8\n" + " bl SetMonData\n" + " ldr r2, ._750 + 12\n" + " ldrb r0, [r2]\n" + " mov r1, #0x40\n" + " orr r0, r0, r1\n" + " strb r0, [r2]\n" + "._743:\n" + " mov r7, sl\n" + " cmp r7, #0x1d\n" + " bgt ._744 @cond_branch\n" + " b ._745\n" + "._744:\n" + " mov r0, #0x0\n" + " str r0, [sp, #0xc]\n" + " mov r0, #0x64\n" + " mov r8, r0\n" + " ldr r1, ._750 + 16\n" + " mov r9, r1\n" + " ldr r2, ._750\n" + " mov sl, r2\n" + "._747:\n" + " mov r7, #0x0\n" + "._746:\n" + " ldr r2, [sp, #0xc]\n" + " mov r0, r8\n" + " mul r0, r0, r2\n" + " ldr r3, ._750 + 20\n" + " add r0, r0, r3\n" + " add r5, r7, #0\n" + " add r5, r5, #0xd\n" + " lsl r2, r2, #0x3\n" + " lsl r4, r7, #0x1\n" + " mov r3, r9\n" + " add r1, r4, r3\n" + " add r2, r2, r1\n" + " add r1, r5, #0\n" + " bl SetMonData\n" + " ldr r1, [sp, #0xc]\n" + " mov r0, r8\n" + " mul r0, r0, r1\n" + " ldr r2, ._750 + 20\n" + " add r0, r0, r2\n" + " add r6, r7, #0\n" + " add r6, r6, #0x11\n" + " lsl r1, r1, #0x3\n" + " add r1, r4, r1\n" + " add r1, r1, r9\n" + " mov r3, #0x0\n" + " ldsh r1, [r1, r3]\n" + " lsl r2, r1, #0x1\n" + " add r2, r2, r1\n" + " lsl r2, r2, #0x2\n" + " ldr r1, ._750 + 24\n" + " add r2, r2, r1\n" + " add r1, r6, #0\n" + " bl SetMonData\n" + " ldr r2, [sp, #0xc]\n" + " mov r0, r8\n" + " mul r0, r0, r2\n" + " add r0, r0, sl\n" + " lsl r2, r2, #0x3\n" + " ldr r3, ._750 + 28\n" + " add r1, r4, r3\n" + " add r2, r2, r1\n" + " add r1, r5, #0\n" + " bl SetMonData\n" + " ldr r1, [sp, #0xc]\n" + " mov r0, r8\n" + " mul r0, r0, r1\n" + " add r0, r0, sl\n" + " lsl r1, r1, #0x3\n" + " add r4, r4, r1\n" + " ldr r1, ._750 + 28\n" + " add r4, r4, r1\n" + " mov r2, #0x0\n" + " ldsh r1, [r4, r2]\n" + " lsl r2, r1, #0x1\n" + " add r2, r2, r1\n" + " lsl r2, r2, #0x2\n" + " ldr r3, ._750 + 24\n" + " add r2, r2, r3\n" + " add r1, r6, #0\n" + " bl SetMonData\n" + " add r7, r7, #0x1\n" + " cmp r7, #0x3\n" + " ble ._746 @cond_branch\n" + " ldr r0, [sp, #0xc]\n" + " add r0, r0, #0x1\n" + " str r0, [sp, #0xc]\n" + " cmp r0, #0x5\n" + " ble ._747 @cond_branch\n" + " ldr r3, ._750 + 32\n" + " add r4, r3, #0\n" + " add r4, r4, #0x44\n" + " ldrh r1, [r4]\n" + " mov r2, #0x0\n" + " ldsh r0, [r4, r2]\n" + " cmp r0, #0x8\n" + " bne ._748 @cond_branch\n" + " ldr r0, ._750 + 12\n" + " ldrb r1, [r0]\n" + " mov r2, #0x80\n" + " b ._753\n" + "._751:\n" + " .align 2, 0\n" + "._750:\n" + " .word gPlayerParty\n" + " .word gUnknown_02023A14+0x98\n" + " .word UnkDebug0+0x291\n" + " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14+0xde\n" + " .word gEnemyParty\n" + " .word gBattleMoves+0x4\n" + " .word gUnknown_02023A14+0x10e\n" + " .word gUnknown_02023A14+0x52\n" + "._748:\n" + " cmp r0, #0x7\n" + " bne ._752 @cond_branch\n" + " ldr r0, ._754\n" + " ldrb r1, [r0]\n" + " mov r2, #0x20\n" + " b ._753\n" + "._755:\n" + " .align 2, 0\n" + "._754:\n" + " .word gUnknown_02023A14+0x50\n" + "._752:\n" + " cmp r0, #0x6\n" + " bne ._756 @cond_branch\n" + " ldr r2, ._759\n" + " ldrb r0, [r2]\n" + " mov r1, #0x10\n" + " orr r0, r0, r1\n" + " strb r0, [r2]\n" + " ldrh r1, [r3, #0x4]\n" + " mov r2, #0x4\n" + " ldsh r0, [r3, r2]\n" + " cmp r0, #0x5\n" + " ble ._757 @cond_branch\n" + " ldr r0, ._759 + 4\n" + " sub r1, r1, #0x2\n" + " ldr r3, ._759 + 8\n" + " add r0, r0, r3\n" + " b ._761\n" + "._760:\n" + " .align 2, 0\n" + "._759:\n" + " .word gUnknown_02023A14+0x50\n" + " .word +0x2000000\n" + " .word 0x160a3\n" + "._757:\n" + " ldr r0, ._762\n" + " ldr r2, ._762 + 4\n" + " add r0, r0, r2\n" + " b ._761\n" + "._763:\n" + " .align 2, 0\n" + "._762:\n" + " .word +0x2000000\n" + " .word 0x160a3\n" + "._756:\n" + " cmp r0, #0x5\n" + " bne ._764 @cond_branch\n" + " ldr r0, ._766\n" + " ldrb r1, [r0]\n" + " mov r2, #0x21\n" + "._753:\n" + " orr r1, r1, r2\n" + "._761:\n" + " strb r1, [r0]\n" + " bl sub_80408BC\n" + " b ._770\n" + "._767:\n" + " .align 2, 0\n" + "._766:\n" + " .word gUnknown_02023A14+0x50\n" + "._764:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._768 @cond_branch\n" + " bl sub_80408BC\n" + "._768:\n" + " ldrh r3, [r4]\n" + " mov r0, #0x2\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._769 @cond_branch\n" + " ldr r0, ._772\n" + " ldrb r1, [r0]\n" + " mov r2, #0x4\n" + " orr r1, r1, r2\n" + " strb r1, [r0]\n" + "._769:\n" + " mov r0, #0x4\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._770 @cond_branch\n" + " ldr r0, ._772\n" + " ldrb r1, [r0]\n" + " mov r2, #0x6\n" + " orr r1, r1, r2\n" + " strb r1, [r0]\n" + "._770:\n" + " ldr r0, ._772 + 4\n" + " ldr r1, ._772 + 8\n" + " str r1, [r0, #0x8]\n" + " ldr r0, ._772 + 12\n" + " bl SetMainCallback2\n" + " bl ClearBag\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x2\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x3\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x4\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x5\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x6\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x7\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x8\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x9\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0xa\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0xb\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0xc\n" + " mov r1, #0xa\n" + " bl AddBagItem\n" + " mov r0, #0x13\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x14\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x19\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x22\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x23\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x25\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x49\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x4a\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x4b\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x4c\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x4d\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x4e\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " mov r0, #0x50\n" + " mov r1, #0x63\n" + " bl AddBagItem\n" + " ldr r4, ._772 + 16\n" + " mov r7, #0xe\n" + "._771:\n" + " add r0, r4, #0\n" + " bl sub_810CA34\n" + " add r4, r4, #0x8\n" + " sub r7, r7, #0x1\n" + " cmp r7, #0\n" + " bge ._771 @cond_branch\n" + " add sp, sp, #0x18\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._773:\n" + " .align 2, 0\n" + "._772:\n" + " .word gUnknown_02023A14+0x50\n" + " .word gMain\n" + " .word debug_sub_80108B8+1\n" + " .word unref_sub_800D684+1\n" + " .word UnkDebug0+0x1f4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8011D40() +{ + asm( + " push {lr}\n" + " ldr r1, ._774\n" + " ldr r0, ._774 + 4\n" + " str r0, [r1]\n" + " ldr r0, ._774 + 8\n" + " str r0, [r1, #0x4]\n" + " ldr r0, ._774 + 12\n" + " str r0, [r1, #0x8]\n" + " ldr r0, [r1, #0x8]\n" + " sub r1, r1, #0xc4\n" + " ldr r0, ._774 + 16\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._774 + 20\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._774 + 24\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._774 + 28\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._774 + 32\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._774 + 36\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._774 + 40\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._774 + 44\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " bl LoadOam\n" + " bl ProcessSpriteCopyRequests\n" + " pop {r0}\n" + " bx r0\n" + "._775:\n" + " .align 2, 0\n" + "._774:\n" + " .word 0x40000d4\n" + " .word +0x2000000\n" + " .word 0x6004000\n" + " .word 0x80000800\n" + " .word gUnknown_030042A4\n" + " .word gUnknown_030042A0\n" + " .word gUnknown_030042C0\n" + " .word gUnknown_030041B4\n" + " .word gUnknown_03004288\n" + " .word gUnknown_03004280\n" + " .word gUnknown_030041B0\n" + " .word gUnknown_030041B8\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_nullsub_45() +{ + asm( + " bx lr\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8011DD4() +{ + asm( + " push {lr}\n" + " ldr r1, ._776\n" + " ldr r2, ._776 + 4\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x8\n" + " ldr r0, ._776 + 8\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._776 + 12\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._776 + 16\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._776 + 20\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._776 + 24\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._776 + 28\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._776 + 32\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r0, ._776 + 36\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + " bl LoadOam\n" + " bl ProcessSpriteCopyRequests\n" + " bl TransferPlttBuffer\n" + " bl sub_8089668\n" + " pop {r0}\n" + " bx r0\n" + "._777:\n" + " .align 2, 0\n" + "._776:\n" + " .word 0x4000008\n" + " .word 0x9803\n" + " .word gUnknown_030042A4\n" + " .word gUnknown_030042A0\n" + " .word gUnknown_030042C0\n" + " .word gUnknown_030041B4\n" + " .word gUnknown_03004288\n" + " .word gUnknown_03004280\n" + " .word gUnknown_030041B0\n" + " .word gUnknown_030041B8\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8011E5C() +{ + asm( + " push {r4, lr}\n" + " mov r4, #0x0\n" + "._778:\n" + " lsl r0, r4, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8011EA0\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x1e\n" + " ble ._778 @cond_branch\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8011E74() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r0, ._780\n" + " ldrb r5, [r0]\n" + " mov r1, #0x0\n" + " strb r1, [r0]\n" + " add r4, r0, #0\n" + "._779:\n" + " bl debug_sub_8012294\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " strb r0, [r4]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x3\n" + " bls ._779 @cond_branch\n" + " ldr r0, ._780\n" + " strb r5, [r0]\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._781:\n" + " .align 2, 0\n" + "._780:\n" + " .word gUnknown_Debug_030043A8\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8011EA0() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffff4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " cmp r7, #0x22\n" + " bls ._782 @cond_branch\n" + " b ._815\n" + "._782:\n" + " lsl r0, r7, #0x2\n" + " ldr r1, ._785\n" + " add r1, r0, r1\n" + " ldr r1, [r1]\n" + " str r0, [sp, #0x8]\n" + " mov pc, r1\n" + "._786:\n" + " .align 2, 0\n" + "._785:\n" + " .word ._784\n" + "._784:\n" + " .word ._812\n" + " .word ._817\n" + " .word ._814\n" + " .word ._815\n" + " .word ._816\n" + " .word ._812\n" + " .word ._817\n" + " .word ._814\n" + " .word ._815\n" + " .word ._816\n" + " .word ._812\n" + " .word ._817\n" + " .word ._814\n" + " .word ._815\n" + " .word ._816\n" + " .word ._812\n" + " .word ._817\n" + " .word ._814\n" + " .word ._815\n" + " .word ._816\n" + " .word ._812\n" + " .word ._817\n" + " .word ._814\n" + " .word ._815\n" + " .word ._816\n" + " .word ._812\n" + " .word ._817\n" + " .word ._814\n" + " .word ._815\n" + " .word ._816\n" + " .word ._817\n" + " .word ._848\n" + " .word ._848\n" + " .word ._848\n" + " .word ._848\n" + "._812:\n" + " mov r0, #0x0\n" + " mov r1, #0x14\n" + " bl debug_sub_8010A7C\n" + " ldr r6, ._823\n" + " ldr r2, ._823 + 4\n" + " ldr r0, [sp, #0x8]\n" + " add r1, r0, r7\n" + " lsl r1, r1, #0x1\n" + " add r0, r1, r2\n" + " ldrh r0, [r0]\n" + " str r0, [sp, #0x4]\n" + " add r0, r2, #2\n" + " add r0, r1, r0\n" + " ldrb r0, [r0]\n" + " mov r8, r0\n" + " add r2, r2, #0x4\n" + " add r1, r1, r2\n" + " ldrb r1, [r1]\n" + " mov r9, r1\n" + " str r1, [sp]\n" + " ldr r0, ._823 + 8\n" + " add r1, r6, #0\n" + " ldr r2, [sp, #0x4]\n" + " mov r3, r8\n" + " bl InitWindow\n" + " ldr r0, ._823 + 8\n" + " bl sub_8002F44\n" + " ldr r1, ._823 + 12\n" + " mov sl, r1\n" + " lsl r4, r7, #0x1\n" + " ldr r5, ._823 + 16\n" + " ldrb r0, [r5]\n" + " mov r7, #0x46\n" + " mul r0, r0, r7\n" + " add r0, r4, r0\n" + " add r0, r0, sl\n" + " mov r2, #0x0\n" + " ldsh r1, [r0, r2]\n" + " add r0, r6, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r2, #0xd3\n" + " lsl r2, r2, #0x1\n" + " ldrb r3, [r5]\n" + " lsl r3, r3, #0x5\n" + " add r3, r3, #0x19\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " ldr r0, ._823 + 8\n" + " add r1, r6, #0\n" + " bl InitWindow\n" + " ldr r0, ._823 + 8\n" + " bl sub_8002F44\n" + " mov r0, #0xff\n" + " strb r0, [r6]\n" + " ldrb r0, [r5]\n" + " mul r0, r0, r7\n" + " add r4, r4, r0\n" + " add r4, r4, sl\n" + " mov r0, #0x0\n" + " ldsh r1, [r4, r0]\n" + " mov r0, #0xb\n" + " mul r1, r1, r0\n" + " ldr r0, ._823 + 20\n" + " add r1, r1, r0\n" + " add r0, r6, #0\n" + " bl StringAppend\n" + " mov r1, r9\n" + " str r1, [sp]\n" + " ldr r0, ._823 + 8\n" + " add r1, r6, #0\n" + " ldr r2, [sp, #0x4]\n" + " mov r3, r8\n" + " bl InitWindow\n" + " ldr r0, ._823 + 8\n" + " bl sub_8002F44\n" + " b ._848\n" + "._824:\n" + " .align 2, 0\n" + "._823:\n" + " .word gBattleTextBuff1\n" + " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_03004370\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_03004360\n" + " .word gSpeciesNames\n" + "._817:\n" + " ldr r6, ._826\n" + " ldr r3, ._826 + 4\n" + " lsl r1, r7, #0x1\n" + " ldr r0, ._826 + 8\n" + " ldrb r2, [r0]\n" + " mov r0, #0x46\n" + " mul r0, r0, r2\n" + " add r1, r1, r0\n" + " add r1, r1, r3\n" + " mov r2, #0x0\n" + " ldsh r1, [r1, r2]\n" + " add r0, r6, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " b ._825\n" + "._827:\n" + " .align 2, 0\n" + "._826:\n" + " .word gBattleTextBuff1\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_03004360\n" + "._814:\n" + " mov r0, #0x0\n" + " mov r1, #0x18\n" + " bl debug_sub_8010A7C\n" + " ldr r6, ._830\n" + " ldr r1, ._830 + 4\n" + " mov sl, r1\n" + " ldr r4, ._830 + 8\n" + " ldr r2, [sp, #0x8]\n" + " add r1, r2, r7\n" + " lsl r1, r1, #0x1\n" + " add r0, r1, r4\n" + " ldrh r2, [r0]\n" + " add r0, r4, #2\n" + " add r0, r1, r0\n" + " ldrb r3, [r0]\n" + " add r4, r4, #0x4\n" + " add r1, r1, r4\n" + " ldrb r0, [r1]\n" + " str r0, [sp]\n" + " add r0, r6, #0\n" + " mov r1, sl\n" + " bl InitWindow\n" + " add r0, r6, #0\n" + " bl sub_8002F44\n" + " lsl r4, r7, #0x1\n" + " ldr r5, ._830 + 12\n" + " ldrb r0, [r5]\n" + " mov r1, #0x46\n" + " mul r0, r0, r1\n" + " add r0, r4, r0\n" + " ldr r2, ._830 + 16\n" + " add r0, r0, r2\n" + " mov r2, #0x0\n" + " ldsh r1, [r0, r2]\n" + " mov r0, sl\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r2, #0xd3\n" + " lsl r2, r2, #0x1\n" + " ldrb r3, [r5]\n" + " lsl r3, r3, #0x5\n" + " add r3, r3, #0x19\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " add r0, r6, #0\n" + " mov r1, sl\n" + " bl InitWindow\n" + " add r0, r6, #0\n" + " bl sub_8002F44\n" + " mov r0, #0xff\n" + " mov r1, sl\n" + " strb r0, [r1]\n" + " ldrb r0, [r5]\n" + " mov r2, #0x46\n" + " mul r0, r0, r2\n" + " add r4, r4, r0\n" + " ldr r0, ._830 + 16\n" + " add r4, r4, r0\n" + " mov r1, #0x0\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0\n" + " beq ._828 @cond_branch\n" + " ldrh r0, [r4]\n" + " bl ItemId_GetItem\n" + " add r1, r0, #0\n" + " mov r0, sl\n" + " bl StringAppend\n" + " b ._829\n" + "._831:\n" + " .align 2, 0\n" + "._830:\n" + " .word gUnknown_Debug_03004370\n" + " .word gBattleTextBuff1\n" + " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_03004360\n" + " .word gUnknown_02023A14+0x52\n" + "._828:\n" + " ldr r1, ._833\n" + " mov r0, sl\n" + " bl StringAppend\n" + "._829:\n" + " ldr r6, ._833 + 4\n" + " ldr r1, ._833 + 8\n" + " ldr r5, ._833 + 12\n" + " ldr r2, [sp, #0x8]\n" + " add r4, r2, r7\n" + " lsl r4, r4, #0x1\n" + " add r0, r4, r5\n" + " ldrh r2, [r0]\n" + " add r0, r5, #2\n" + " add r0, r4, r0\n" + " ldrb r3, [r0]\n" + " add r5, r5, #0x4\n" + " add r4, r4, r5\n" + " ldrb r0, [r4]\n" + " str r0, [sp]\n" + " add r0, r6, #0\n" + " bl InitWindow\n" + " add r0, r6, #0\n" + " bl sub_8002F44\n" + " b ._848\n" + "._834:\n" + " .align 2, 0\n" + "._833:\n" + " .word UnkDebug0+0x26c\n" + " .word gUnknown_Debug_03004370\n" + " .word gBattleTextBuff1\n" + " .word UnkDebug0+0x6c\n" + "._816:\n" + " mov r0, #0x0\n" + " mov r1, #0x4\n" + " bl debug_sub_8010A7C\n" + " ldr r5, ._839\n" + " ldr r6, ._839 + 4\n" + " ldr r4, ._839 + 8\n" + " ldr r0, [sp, #0x8]\n" + " add r1, r0, r7\n" + " lsl r1, r1, #0x1\n" + " add r0, r1, r4\n" + " ldrh r2, [r0]\n" + " add r0, r4, #2\n" + " add r0, r1, r0\n" + " ldrb r3, [r0]\n" + " add r4, r4, #0x4\n" + " add r1, r1, r4\n" + " ldrb r0, [r1]\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " add r1, r6, #0\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + " mov r4, #0x0\n" + " ldr r3, ._839 + 12\n" + " lsl r1, r7, #0x1\n" + " ldr r0, ._839 + 16\n" + " ldrb r2, [r0]\n" + " mov r0, #0x46\n" + " mul r0, r0, r2\n" + " add r1, r1, r0\n" + " add r1, r1, r3\n" + " mov r2, #0x0\n" + " ldsh r0, [r1, r2]\n" + " cmp r0, #0x1\n" + " beq ._835 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._836 @cond_branch\n" + " cmp r0, #0\n" + " beq ._837 @cond_branch\n" + " b ._843\n" + "._840:\n" + " .align 2, 0\n" + "._839:\n" + " .word gUnknown_Debug_03004370\n" + " .word gBattleTextBuff1\n" + " .word UnkDebug0+0x6c\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_03004360\n" + "._836:\n" + " cmp r0, #0x2\n" + " beq ._841 @cond_branch\n" + " cmp r0, #0x3\n" + " beq ._842 @cond_branch\n" + " b ._843\n" + "._837:\n" + " mov r0, #0xb5\n" + " b ._844\n" + "._835:\n" + " mov r0, #0xb6\n" + "._844:\n" + " strb r0, [r6]\n" + " mov r4, #0x1\n" + " b ._847\n" + "._841:\n" + " mov r0, #0xb5\n" + " b ._846\n" + "._842:\n" + " mov r0, #0xb6\n" + "._846:\n" + " strb r0, [r6]\n" + " strb r0, [r6, #0x1]\n" + " mov r4, #0x2\n" + " b ._847\n" + "._843:\n" + " ldr r2, ._849\n" + " add r1, r4, r2\n" + " mov r0, #0xac\n" + " strb r0, [r1]\n" + " add r4, r4, #0x1\n" + " add r6, r2, #0\n" + "._847:\n" + " add r1, r4, r6\n" + " mov r0, #0xff\n" + " strb r0, [r1]\n" + "._825:\n" + " ldr r5, ._849 + 4\n" + " ldr r4, ._849 + 8\n" + " ldr r0, [sp, #0x8]\n" + " add r1, r0, r7\n" + " lsl r1, r1, #0x1\n" + " add r0, r1, r4\n" + " ldrh r2, [r0]\n" + " add r0, r4, #2\n" + " add r0, r1, r0\n" + " ldrb r3, [r0]\n" + " add r4, r4, #0x4\n" + " add r1, r1, r4\n" + " ldrb r0, [r1]\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " add r1, r6, #0\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + " b ._848\n" + "._850:\n" + " .align 2, 0\n" + "._849:\n" + " .word gBattleTextBuff1\n" + " .word gUnknown_Debug_03004370\n" + " .word UnkDebug0+0x6c\n" + "._815:\n" + " ldr r6, ._851\n" + " ldr r3, ._851 + 4\n" + " lsl r1, r7, #0x1\n" + " ldr r0, ._851 + 8\n" + " ldrb r2, [r0]\n" + " mov r0, #0x46\n" + " mul r0, r0, r2\n" + " add r1, r1, r0\n" + " add r1, r1, r3\n" + " mov r2, #0x0\n" + " ldsh r1, [r1, r2]\n" + " add r0, r6, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r5, ._851 + 12\n" + " ldr r4, ._851 + 16\n" + " lsl r1, r7, #0x2\n" + " add r1, r1, r7\n" + " lsl r1, r1, #0x1\n" + " add r0, r1, r4\n" + " ldrh r2, [r0]\n" + " add r0, r4, #2\n" + " add r0, r1, r0\n" + " ldrb r3, [r0]\n" + " add r4, r4, #0x4\n" + " add r1, r1, r4\n" + " ldrb r0, [r1]\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " add r1, r6, #0\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + "._848:\n" + " add sp, sp, #0xc\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._852:\n" + " .align 2, 0\n" + "._851:\n" + " .word gBattleTextBuff1\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_03004360\n" + " .word gUnknown_Debug_03004370\n" + " .word UnkDebug0+0x6c\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012294() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " ldr r2, ._854\n" + " ldr r0, ._854 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x1d\n" + " bhi ._853 @cond_branch\n" + " mov r0, #0x0\n" + " mov r1, #0x18\n" + " bl debug_sub_8010A7C\n" + " ldr r0, ._854 + 8\n" + " mov sl, r0\n" + " ldr r1, ._854 + 12\n" + " mov r9, r1\n" + " ldr r2, ._854 + 16\n" + " mov r8, r2\n" + " ldr r7, ._854 + 20\n" + " ldrb r1, [r7]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x1\n" + " add r1, r0, r2\n" + " ldrh r2, [r1]\n" + " ldr r3, ._854 + 24\n" + " add r1, r0, r3\n" + " ldrb r3, [r1]\n" + " ldr r1, ._854 + 28\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, sl\n" + " mov r1, r9\n" + " bl InitWindow\n" + " mov r0, sl\n" + " bl sub_8002F44\n" + " ldrb r4, [r7]\n" + " lsl r4, r4, #0x1\n" + " add r0, r5, #0\n" + " mov r1, #0x5\n" + " bl gScriptFuncs_End+0x4358\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x15\n" + " add r4, r4, r5\n" + " ldr r6, ._854 + 32\n" + " ldrb r1, [r6]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x4\n" + " add r4, r4, r0\n" + " ldr r2, ._854 + 36\n" + " add r4, r4, r2\n" + " mov r3, #0x0\n" + " ldsh r1, [r4, r3]\n" + " mov r0, r9\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r2, #0xd3\n" + " lsl r2, r2, #0x1\n" + " ldrb r3, [r6]\n" + " lsl r3, r3, #0x5\n" + " add r3, r3, #0x19\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, sl\n" + " mov r1, r9\n" + " bl InitWindow\n" + " mov r0, sl\n" + " bl sub_8002F44\n" + " mov r0, #0xff\n" + " mov r1, r9\n" + " strb r0, [r1]\n" + " ldrb r1, [r7]\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r5\n" + " ldrb r2, [r6]\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r2, ._854 + 36\n" + " add r1, r1, r2\n" + " mov r3, #0x0\n" + " ldsh r1, [r1, r3]\n" + " mov r0, #0xd\n" + " mul r1, r1, r0\n" + " ldr r0, ._854 + 40\n" + " add r1, r1, r0\n" + " mov r0, r9\n" + " bl StringAppend\n" + " ldrb r1, [r7]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x1\n" + " add r8, r8, r0\n" + " mov r1, r8\n" + " ldrh r2, [r1]\n" + " ldr r3, ._854 + 24\n" + " add r1, r0, r3\n" + " ldrb r3, [r1]\n" + " ldr r1, ._854 + 28\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, sl\n" + " mov r1, r9\n" + " bl InitWindow\n" + " mov r0, sl\n" + " bl sub_8002F44\n" + "._853:\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._855:\n" + " .align 2, 0\n" + "._854:\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_03004370\n" + " .word gBattleTextBuff1\n" + " .word UnkDebug0+0x1ac\n" + " .word gUnknown_Debug_030043A8\n" + " .word UnkDebug0+0x1ae\n" + " .word UnkDebug0+0x1b0\n" + " .word gUnknown_Debug_03004360\n" + " .word gUnknown_02023A14+0xde\n" + " .word gMoveNames\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80123D8() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x1d\n" + " bhi ._856 @cond_branch\n" + " mov r0, #0x0\n" + " mov r1, #0x12\n" + " bl debug_sub_8010A7C\n" + " ldr r4, ._858\n" + " ldr r0, ._858 + 4\n" + " mov r8, r0\n" + " ldr r6, ._858 + 8\n" + " ldrh r1, [r6]\n" + " mov sl, r1\n" + " ldrb r7, [r6, #0x2]\n" + " ldrb r2, [r6, #0x4]\n" + " mov r9, r2\n" + " str r2, [sp]\n" + " add r0, r4, #0\n" + " mov r1, r8\n" + " mov r2, sl\n" + " add r3, r7, #0\n" + " bl InitWindow\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " lsl r5, r5, #0x1\n" + " ldr r1, ._858 + 12\n" + " ldrb r0, [r1]\n" + " mov r2, #0x46\n" + " mul r0, r0, r2\n" + " add r0, r5, r0\n" + " ldr r1, ._858 + 16\n" + " add r0, r0, r1\n" + " mov r2, #0x0\n" + " ldsh r1, [r0, r2]\n" + " lsl r0, r1, #0x3\n" + " sub r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._858 + 20\n" + " add r0, r0, r1\n" + " ldrb r0, [r0, #0x16]\n" + " mov r2, #0xd\n" + " add r1, r0, #0\n" + " mul r1, r1, r2\n" + " ldr r0, ._858 + 24\n" + " add r1, r1, r0\n" + " mov r0, r8\n" + " bl StringCopy\n" + " mov r1, r9\n" + " str r1, [sp]\n" + " add r0, r4, #0\n" + " mov r1, r8\n" + " mov r2, sl\n" + " add r3, r7, #0\n" + " bl InitWindow\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " mov r0, #0x0\n" + " mov r1, #0x12\n" + " bl debug_sub_8010A7C\n" + " ldrh r2, [r6, #0x6]\n" + " mov r9, r2\n" + " ldrb r0, [r6, #0x8]\n" + " mov sl, r0\n" + " ldrb r6, [r6, #0xa]\n" + " str r6, [sp]\n" + " add r0, r4, #0\n" + " mov r1, r8\n" + " mov r3, sl\n" + " bl InitWindow\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " ldr r1, ._858 + 12\n" + " ldrb r0, [r1]\n" + " mov r2, #0x46\n" + " mul r0, r0, r2\n" + " add r5, r5, r0\n" + " ldr r0, ._858 + 16\n" + " add r5, r5, r0\n" + " mov r2, #0x0\n" + " ldsh r1, [r5, r2]\n" + " lsl r0, r1, #0x3\n" + " sub r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._858 + 20\n" + " add r0, r0, r1\n" + " ldrb r0, [r0, #0x17]\n" + " mov r2, #0xd\n" + " add r1, r0, #0\n" + " mul r1, r1, r2\n" + " ldr r0, ._858 + 24\n" + " add r1, r1, r0\n" + " mov r0, r8\n" + " bl StringCopy\n" + " str r6, [sp]\n" + " add r0, r4, #0\n" + " mov r1, r8\n" + " mov r2, r9\n" + " mov r3, sl\n" + " bl InitWindow\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " b ._857\n" + "._859:\n" + " .align 2, 0\n" + "._858:\n" + " .word gUnknown_Debug_03004370\n" + " .word gBattleTextBuff1\n" + " .word UnkDebug0+0x1d4\n" + " .word gUnknown_Debug_03004360\n" + " .word gUnknown_02023A14+0x52\n" + " .word gBaseStats\n" + " .word gAbilityNames\n" + "._856:\n" + " ldr r6, ._860\n" + " ldr r1, ._860 + 4\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " ldr r5, ._860 + 8\n" + " ldr r4, ._860 + 12\n" + " ldrh r2, [r4]\n" + " ldrb r3, [r4, #0x2]\n" + " ldrb r0, [r4, #0x4]\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " add r1, r6, #0\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + " ldrh r2, [r4, #0x6]\n" + " ldrb r3, [r4, #0x8]\n" + " ldrb r0, [r4, #0xa]\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " add r1, r6, #0\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + "._857:\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._861:\n" + " .align 2, 0\n" + "._860:\n" + " .word gBattleTextBuff1\n" + " .word gAbilityNames\n" + " .word gUnknown_Debug_03004370\n" + " .word UnkDebug0+0x1d4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012540() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " ldr r5, ._862\n" + " ldr r0, ._862 + 4\n" + " add r0, r0, #0x44\n" + " mov r2, #0x0\n" + " ldsh r1, [r0, r2]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r4, ._862 + 8\n" + " ldr r1, ._862 + 12\n" + " mov r3, #0x9b\n" + " lsl r3, r3, #0x1\n" + " add r0, r1, r3\n" + " ldrh r2, [r0]\n" + " mov r6, #0x9c\n" + " lsl r6, r6, #0x1\n" + " add r0, r1, r6\n" + " ldrb r3, [r0]\n" + " add r6, r6, #0x2\n" + " add r0, r1, r6\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " add r0, r4, #0\n" + " add r1, r5, #0\n" + " bl InitWindow\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._863:\n" + " .align 2, 0\n" + "._862:\n" + " .word gBattleTextBuff1\n" + " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_03004370\n" + " .word UnkDebug0+0x6c\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_nullsub_3() +{ + asm( + " bx lr\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80125A0() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._864\n" + " ldr r3, ._864 + 4\n" + " ldr r2, ._864 + 8\n" + " ldr r0, ._864 + 12\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._864 + 16\n" + " ldrb r2, [r1]\n" + " mov r1, #0x8c\n" + " mul r1, r1, r2\n" + " add r0, r0, r1\n" + " add r0, r0, r3\n" + " ldr r0, [r0]\n" + " add r0, r0, r4\n" + " mov r1, #0x6d\n" + " strb r1, [r0]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._865:\n" + " .align 2, 0\n" + "._864:\n" + " .word +0x2000000\n" + " .word UnkDebug0+0x2c8\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_03004360\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80125E4() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._866\n" + " ldr r3, ._866 + 4\n" + " ldr r2, ._866 + 8\n" + " ldr r0, ._866 + 12\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._866 + 16\n" + " ldrb r2, [r1]\n" + " mov r1, #0x8c\n" + " mul r1, r1, r2\n" + " add r0, r0, r1\n" + " add r0, r0, r3\n" + " ldr r0, [r0]\n" + " add r0, r0, r4\n" + " mov r1, #0x81\n" + " strb r1, [r0]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._867:\n" + " .align 2, 0\n" + "._866:\n" + " .word +0x2000000\n" + " .word UnkDebug0+0x2c8\n" + " .word gUnknown_Debug_030043A0\n" + " .word gUnknown_Debug_030043A4\n" + " .word gUnknown_Debug_03004360\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012628() +{ + asm( + " ldr r3, ._868\n" + " ldr r2, ._868 + 4\n" + " ldr r0, ._868 + 8\n" + " ldrb r1, [r0]\n" + " lsl r1, r1, #0x2\n" + " ldr r0, ._868 + 12\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x4\n" + " add r1, r1, r0\n" + " add r1, r1, r2\n" + " ldr r0, [r1]\n" + " add r0, r0, r3\n" + " mov r1, #0x6d\n" + " strb r1, [r0]\n" + " bx lr\n" + "._869:\n" + " .align 2, 0\n" + "._868:\n" + " .word +0x2000000\n" + " .word UnkDebug0+0x3e0\n" + " .word gUnknown_Debug_030043A8\n" + " .word gUnknown_Debug_03004360\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012658() +{ + asm( + " ldr r3, ._870\n" + " ldr r2, ._870 + 4\n" + " ldr r0, ._870 + 8\n" + " ldrb r1, [r0]\n" + " lsl r1, r1, #0x2\n" + " ldr r0, ._870 + 12\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x4\n" + " add r1, r1, r0\n" + " add r1, r1, r2\n" + " ldr r0, [r1]\n" + " add r0, r0, r3\n" + " mov r1, #0x81\n" + " strb r1, [r0]\n" + " bx lr\n" + "._871:\n" + " .align 2, 0\n" + "._870:\n" + " .word +0x2000000\n" + " .word UnkDebug0+0x3e0\n" + " .word gUnknown_Debug_030043A8\n" + " .word gUnknown_Debug_03004360\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012688() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xfffffff4\n" + " mov r1, #0x0\n" + " mov r4, #0xcd\n" + " lsl r4, r4, #0x1\n" + " ldr r3, ._873\n" + " mov r2, #0x0\n" + "._872:\n" + " add r0, r1, r3\n" + " strb r2, [r0]\n" + " add r1, r1, #0x1\n" + " cmp r1, r4\n" + " ble ._872 @cond_branch\n" + " mov r0, #0x0\n" + " bl SetHBlankCallback\n" + " mov r0, #0x0\n" + " bl SetVBlankCallback\n" + " mov r5, #0x0\n" + " str r5, [sp, #0x8]\n" + " ldr r1, ._873 + 4\n" + " add r0, sp, #0x8\n" + " str r0, [r1]\n" + " mov r0, #0xc0\n" + " lsl r0, r0, #0x13\n" + " str r0, [r1, #0x4]\n" + " ldr r0, ._873 + 8\n" + " str r0, [r1, #0x8]\n" + " ldr r0, [r1, #0x8]\n" + " ldr r0, ._873 + 12\n" + " strh r5, [r0]\n" + " sub r0, r0, #0xc\n" + " strh r5, [r0]\n" + " add r0, r0, #0x4\n" + " strh r5, [r0]\n" + " sub r0, r0, #0x2\n" + " strh r5, [r0]\n" + " add r0, r0, #0x4\n" + " strh r5, [r0]\n" + " add r0, r0, #0x2\n" + " strh r5, [r0]\n" + " add r0, r0, #0x2\n" + " strh r5, [r0]\n" + " ldr r4, ._873 + 16\n" + " add r0, r4, #0\n" + " bl SetUpWindowConfig\n" + " bl ResetPaletteFade\n" + " ldr r0, ._873 + 20\n" + " strh r5, [r0]\n" + " ldr r1, ._873 + 24\n" + " mov r0, #0xa0\n" + " strh r0, [r1]\n" + " ldr r0, ._873 + 28\n" + " strh r5, [r0]\n" + " ldr r0, ._873 + 32\n" + " strh r5, [r0]\n" + " ldr r0, ._873 + 36\n" + " strh r5, [r0]\n" + " ldr r0, ._873 + 40\n" + " strh r5, [r0]\n" + " ldr r0, ._873 + 44\n" + " strh r5, [r0]\n" + " ldr r0, ._873 + 48\n" + " strh r5, [r0]\n" + " ldr r1, ._873 + 52\n" + " mov r0, #0x9\n" + " strb r0, [r1]\n" + " bl sub_800D6D4\n" + " bl sub_800DAB8\n" + " bl ResetSpriteData\n" + " bl ResetTasks\n" + " bl FreeAllSpritePalettes\n" + " ldr r1, ._873 + 56\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r6, ._873 + 60\n" + " mov r0, #0x1\n" + " strh r0, [r6]\n" + " ldr r0, ._873 + 64\n" + " add r1, r4, #0\n" + " bl InitWindowFromConfig\n" + " ldrh r2, [r6]\n" + " lsl r0, r2, #0x3\n" + " ldr r1, ._873 + 68\n" + " add r0, r0, r1\n" + " ldr r1, ._873 + 72\n" + " mov r8, r1\n" + " lsl r2, r2, #0x2\n" + " add r2, r2, r8\n" + " ldrb r1, [r2]\n" + " ldrb r2, [r2, #0x1]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x12\n" + " ldr r4, ._873 + 76\n" + " ldr r4, [r4, #0x4]\n" + " str r4, [sp]\n" + " ldrh r4, [r6]\n" + " str r4, [sp, #0x4]\n" + " bl DecompressPicFromTable_2\n" + " ldr r1, ._873 + 80\n" + " ldrh r0, [r6]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x88\n" + " lsl r1, r1, #0x1\n" + " mov r2, #0x20\n" + " bl LoadCompressedPalette\n" + " ldrh r0, [r6]\n" + " mov r1, #0x1\n" + " bl GetMonSpriteTemplate_803C56C\n" + " ldr r0, ._873 + 84\n" + " ldrh r1, [r6]\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r8\n" + " ldrb r2, [r1, #0x1]\n" + " add r2, r2, #0x28\n" + " mov r1, #0xb0\n" + " mov r3, #0x28\n" + " bl CreateSprite\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r3, ._873 + 88\n" + " lsl r1, r4, #0x4\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x2\n" + " add r0, r3, #0\n" + " add r0, r0, #0x1c\n" + " add r0, r1, r0\n" + " ldr r2, ._873 + 92\n" + " str r2, [r0]\n" + " add r1, r1, r3\n" + " ldrb r2, [r1, #0x5]\n" + " mov r0, #0xf\n" + " and r0, r0, r2\n" + " mov r2, #0x10\n" + " orr r0, r0, r2\n" + " strb r0, [r1, #0x5]\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x13\n" + " mov r2, #0xfa\n" + " lsl r2, r2, #0x5\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, ._873 + 96\n" + " bl SetHBlankCallback\n" + " ldr r0, ._873 + 100\n" + " bl SetVBlankCallback\n" + " bl gScriptFuncs_End+0x14f4\n" + " ldr r0, ._873 + 104\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._873 + 108\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " strh r5, [r1, #0x8]\n" + " strh r4, [r1, #0xa]\n" + " ldr r0, ._873 + 112\n" + " bl SetMainCallback2\n" + " add sp, sp, #0xc\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._874:\n" + " .align 2, 0\n" + "._873:\n" + " .word gUnknown_02023A14+0x13e\n" + " .word 0x40000d4\n" + " .word 0x85006000\n" + " .word 0x400004c\n" + " .word gWindowConfig_81E6C58\n" + " .word gUnknown_030042A4\n" + " .word gUnknown_030042A0\n" + " .word gUnknown_030042C0\n" + " .word gUnknown_030041B4\n" + " .word gUnknown_03004288\n" + " .word gUnknown_03004280\n" + " .word gUnknown_030041B0\n" + " .word gUnknown_030041B8\n" + " .word gBattleTerrain\n" + " .word gReservedSpritePaletteCount\n" + " .word gCurrentMove\n" + " .word gUnknown_03004210\n" + " .word gMonFrontPicTable\n" + " .word gMonFrontPicCoords\n" + " .word gUnknown_081FAF4C\n" + " .word gMonPaletteTable\n" + " .word gUnknown_02024E8C\n" + " .word gSprites\n" + " .word nullsub_37+1\n" + " .word debug_nullsub_45+1\n" + " .word debug_sub_8011DD4+1\n" + " .word debug_sub_8012D10+1\n" + " .word gTasks\n" + " .word debug_sub_8012878+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012878() +{ + asm( + " push {lr}\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " ldr r0, ._876\n" + " bl sub_800374C\n" + " bl UpdatePaletteFade\n" + " bl RunTasks\n" + " ldr r0, ._876 + 4\n" + " ldrh r1, [r0, #0x2c]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._875 @cond_branch\n" + " ldr r0, ._876 + 8\n" + " bl SetMainCallback2\n" + "._875:\n" + " pop {r0}\n" + " bx r0\n" + "._877:\n" + " .align 2, 0\n" + "._876:\n" + " .word gUnknown_03004210\n" + " .word gMain\n" + " .word debug_sub_80108B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80128B4() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x0\n" + " mov r1, #0x9\n" + " bl debug_sub_8010A7C\n" + " ldr r5, ._878\n" + " ldr r4, ._878 + 4\n" + " mov r0, #0x23\n" + " mov r8, r0\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " mov r2, #0x90\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + " ldr r6, ._878 + 8\n" + " ldrh r1, [r6]\n" + " add r0, r4, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0x0\n" + " strb r0, [r4, #0x3]\n" + " mov r0, #0xff\n" + " strb r0, [r4, #0x4]\n" + " ldrh r1, [r6]\n" + " mov r0, #0xb\n" + " mul r1, r1, r0\n" + " ldr r0, ._878 + 12\n" + " add r1, r1, r0\n" + " add r0, r4, #0\n" + " bl StringAppend\n" + " mov r0, r8\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " mov r2, #0x90\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + " add sp, sp, #0x4\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._879:\n" + " .align 2, 0\n" + "._878:\n" + " .word gUnknown_03004210\n" + " .word gBattleTextBuff1\n" + " .word gCurrentMove\n" + " .word gSpeciesNames\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012938() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, sl\n" + " mov r5, r9\n" + " mov r4, r8\n" + " push {r4, r5, r6}\n" + " add sp, sp, #0xfffffffc\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " mov r0, #0x0\n" + " mov r1, #0x7\n" + " bl debug_sub_8010A7C\n" + " ldr r6, ._880\n" + " ldr r4, ._880 + 4\n" + " mov r0, #0x25\n" + " mov r8, r0\n" + " str r0, [sp]\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " mov r2, #0xa2\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + " add r0, r6, #0\n" + " bl sub_8002F44\n" + " ldr r1, ._880 + 8\n" + " add r0, r4, #0\n" + " bl StringCopy\n" + " add r0, r4, #4\n" + " ldr r1, ._880 + 12\n" + " mov sl, r1\n" + " ldr r2, ._880 + 16\n" + " mov r9, r2\n" + " ldrh r1, [r2]\n" + " sub r1, r1, #0x1\n" + " add r1, r1, sl\n" + " ldrb r1, [r1]\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, r8\n" + " str r0, [sp]\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " mov r2, #0xa2\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + " add r0, r6, #0\n" + " bl sub_8002F44\n" + " ldr r2, ._880 + 20\n" + " ldr r1, ._880 + 24\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0xa\n" + " ldsh r0, [r0, r1]\n" + " lsl r1, r0, #0x4\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r2\n" + " mov r2, r9\n" + " ldrh r0, [r2]\n" + " sub r0, r0, #0x1\n" + " add r0, r0, sl\n" + " ldrb r0, [r0]\n" + " neg r0, r0\n" + " strh r0, [r1, #0x26]\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._881:\n" + " .align 2, 0\n" + "._880:\n" + " .word gUnknown_03004210\n" + " .word gBattleTextBuff1\n" + " .word UnkDebug0+0x400\n" + " .word gUnknown_02023A14+0x13e\n" + " .word gCurrentMove\n" + " .word gSprites\n" + " .word gTasks\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80129F8() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xfffffff8\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " ldr r6, ._882\n" + " ldrh r2, [r6]\n" + " lsl r0, r2, #0x3\n" + " ldr r1, ._882 + 4\n" + " add r0, r0, r1\n" + " ldr r1, ._882 + 8\n" + " mov r8, r1\n" + " lsl r2, r2, #0x2\n" + " add r2, r2, r8\n" + " ldrb r1, [r2]\n" + " ldrb r2, [r2, #0x1]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x12\n" + " ldr r4, ._882 + 12\n" + " ldr r4, [r4, #0x4]\n" + " str r4, [sp]\n" + " ldrh r4, [r6]\n" + " str r4, [sp, #0x4]\n" + " bl DecompressPicFromTable_2\n" + " ldr r1, ._882 + 16\n" + " ldrh r0, [r6]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x88\n" + " lsl r1, r1, #0x1\n" + " mov r2, #0x20\n" + " bl LoadCompressedPalette\n" + " ldr r4, ._882 + 20\n" + " ldr r0, ._882 + 24\n" + " lsl r2, r5, #0x2\n" + " add r2, r2, r5\n" + " lsl r2, r2, #0x3\n" + " add r2, r2, r0\n" + " mov r1, #0xa\n" + " ldsh r0, [r2, r1]\n" + " lsl r1, r0, #0x4\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r4\n" + " ldrh r0, [r6]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r8\n" + " ldrb r0, [r0, #0x1]\n" + " add r0, r0, #0x28\n" + " strh r0, [r1, #0x22]\n" + " mov r1, #0xa\n" + " ldsh r0, [r2, r1]\n" + " lsl r1, r0, #0x4\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r4\n" + " ldr r3, ._882 + 28\n" + " ldrh r0, [r6]\n" + " sub r0, r0, #0x1\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " neg r0, r0\n" + " strh r0, [r1, #0x26]\n" + " mov r0, #0xa\n" + " ldsh r1, [r2, r0]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r4\n" + " mov r1, #0x0\n" + " bl StartSpriteAnim\n" + " add sp, sp, #0x8\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._883:\n" + " .align 2, 0\n" + "._882:\n" + " .word gCurrentMove\n" + " .word gMonFrontPicTable\n" + " .word gMonFrontPicCoords\n" + " .word gUnknown_081FAF4C\n" + " .word gMonPaletteTable\n" + " .word gSprites\n" + " .word gTasks\n" + " .word gUnknown_02023A14+0x13e\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012AC0() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r6, r1, #0x18\n" + " ldr r3, ._885\n" + " ldr r4, ._885 + 4\n" + " b ._884\n" + "._886:\n" + " .align 2, 0\n" + "._885:\n" + " .word gCurrentMove\n" + " .word gBaseStats\n" + "._890:\n" + " ldrb r0, [r1, #0x7]\n" + " cmp r0, #0x2\n" + " beq ._887 @cond_branch\n" + "._884:\n" + " add r2, r3, #0\n" + " lsl r0, r5, #0x18\n" + " asr r0, r0, #0x18\n" + " ldrh r1, [r2]\n" + " add r0, r0, r1\n" + " strh r0, [r2]\n" + " lsl r0, r0, #0x10\n" + " cmp r0, #0\n" + " bne ._888 @cond_branch\n" + " ldr r1, ._891\n" + " add r0, r1, #0\n" + " strh r0, [r2]\n" + "._888:\n" + " ldrh r1, [r2]\n" + " ldr r0, ._891\n" + " cmp r1, r0\n" + " bne ._889 @cond_branch\n" + " mov r0, #0x1\n" + " strh r0, [r2]\n" + "._889:\n" + " ldrh r0, [r3]\n" + " lsl r1, r0, #0x3\n" + " sub r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r4\n" + " ldrb r0, [r1, #0x6]\n" + " cmp r0, #0x2\n" + " bne ._890 @cond_branch\n" + "._887:\n" + " bl debug_sub_80128B4\n" + " add r0, r6, #0\n" + " bl debug_sub_8012938\n" + " add r0, r6, #0\n" + " bl debug_sub_80129F8\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._892:\n" + " .align 2, 0\n" + "._891:\n" + " .word 0x19b\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012B2C() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x11\n" + " ldr r1, ._893\n" + " add r2, r0, r1\n" + " mov r1, #0x1\n" + " strh r1, [r2]\n" + " ldr r1, ._893 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0x2\n" + " strh r1, [r0]\n" + " bx lr\n" + "._894:\n" + " .align 2, 0\n" + "._893:\n" + " .word 0x600c772\n" + " .word 0x600c7b2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012B4C() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x11\n" + " ldr r2, ._895\n" + " add r1, r0, r2\n" + " ldr r3, ._895 + 4\n" + " add r2, r3, #0\n" + " strh r2, [r1]\n" + " ldr r1, ._895 + 8\n" + " add r0, r0, r1\n" + " strh r2, [r0]\n" + " bx lr\n" + "._896:\n" + " .align 2, 0\n" + "._895:\n" + " .word 0x600c772\n" + " .word 0x1016\n" + " .word 0x600c7b2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012B70() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r6, r1, #0x18\n" + " cmp r6, #0\n" + " beq ._897 @cond_branch\n" + " mov r4, #0x1\n" + " str r4, [sp]\n" + " mov r0, #0x18\n" + " mov r1, #0x1c\n" + " mov r2, #0x1d\n" + " mov r3, #0x21\n" + " bl sub_802BBD4\n" + " bl debug_sub_80128B4\n" + " add r0, r5, #0\n" + " bl debug_sub_8012938\n" + " add r0, r5, #0\n" + " bl debug_sub_80129F8\n" + " ldr r1, ._899\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " strh r4, [r0, #0x8]\n" + " b ._898\n" + "._900:\n" + " .align 2, 0\n" + "._899:\n" + " .word gTasks\n" + "._897:\n" + " str r6, [sp]\n" + " mov r0, #0x18\n" + " mov r1, #0x1c\n" + " mov r2, #0x1d\n" + " mov r3, #0x21\n" + " bl sub_802BBD4\n" + " ldr r0, ._901\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " mov r0, #0x2\n" + " strh r0, [r4, #0x8]\n" + " ldr r5, ._901 + 4\n" + " ldr r1, ._901 + 8\n" + " mov r2, #0xa4\n" + " lsl r2, r2, #0x2\n" + " mov r0, #0x1d\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " mov r3, #0x1a\n" + " bl InitWindow\n" + " add r0, r5, #0\n" + " bl sub_8002F44\n" + " strh r6, [r4, #0xe]\n" + " mov r0, #0x0\n" + " bl debug_sub_8012B2C\n" + "._898:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._902:\n" + " .align 2, 0\n" + "._901:\n" + " .word gTasks\n" + " .word gUnknown_03004210\n" + " .word UnkDebug0+0x422\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012C08() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r1, #0\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " mov r0, #0x0\n" + " mov r1, #0x9\n" + " bl debug_sub_8010A7C\n" + " ldr r7, ._905\n" + " ldr r5, ._905 + 4\n" + " mov r0, #0x23\n" + " mov r8, r0\n" + " str r0, [sp]\n" + " add r0, r7, #0\n" + " add r1, r5, #0\n" + " mov r2, #0x90\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + " add r0, r7, #0\n" + " bl sub_8002F44\n" + " mov r0, #0x0\n" + " mov r1, #0x7\n" + " bl debug_sub_8010A7C\n" + " mov r0, #0x25\n" + " str r0, [sp]\n" + " add r0, r7, #0\n" + " add r1, r5, #0\n" + " mov r2, #0xa2\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + " add r0, r7, #0\n" + " bl sub_8002F44\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x18\n" + " mov r1, #0x1c\n" + " mov r2, #0x1d\n" + " mov r3, #0x21\n" + " bl sub_802BBD4\n" + " cmp r4, #0\n" + " beq ._903 @cond_branch\n" + " ldr r1, ._905 + 8\n" + " lsl r4, r6, #0x2\n" + " add r0, r4, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0x4\n" + " strh r1, [r0, #0x8]\n" + " ldr r1, ._905 + 12\n" + " mov r0, r8\n" + " str r0, [sp]\n" + " add r0, r7, #0\n" + " mov r2, #0x90\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + " b ._904\n" + "._906:\n" + " .align 2, 0\n" + "._905:\n" + " .word gUnknown_03004210\n" + " .word gBattleTextBuff1\n" + " .word gTasks\n" + " .word gUnknown_Debug_821F7F3\n" + "._903:\n" + " ldr r1, ._907\n" + " lsl r4, r6, #0x2\n" + " add r0, r4, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0x3\n" + " strh r1, [r0, #0x8]\n" + " ldr r1, ._907 + 4\n" + " mov r0, r8\n" + " str r0, [sp]\n" + " add r0, r7, #0\n" + " mov r2, #0x90\n" + " mov r3, #0x2\n" + " bl InitWindow\n" + "._904:\n" + " add r5, r4, #0\n" + " ldr r4, ._907 + 8\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " ldr r1, ._907 + 12\n" + " mov r2, #0xa4\n" + " lsl r2, r2, #0x2\n" + " mov r0, #0x1d\n" + " str r0, [sp]\n" + " add r0, r4, #0\n" + " mov r3, #0x1a\n" + " bl InitWindow\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " ldr r1, ._907\n" + " add r0, r5, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0x1\n" + " strh r1, [r0, #0xe]\n" + " mov r0, #0x1\n" + " bl debug_sub_8012B2C\n" + " add sp, sp, #0x4\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._908:\n" + " .align 2, 0\n" + "._907:\n" + " .word gTasks\n" + " .word UnkDebug0+0x432\n" + " .word gUnknown_03004210\n" + " .word gUnknown_08400D7A\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8012D10() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._911\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0x8\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x4\n" + " bls ._909 @cond_branch\n" + " b ._1067\n" + "._909:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._911 + 4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._912:\n" + " .align 2, 0\n" + "._911:\n" + " .word gTasks\n" + " .word ._913\n" + "._913:\n" + " .word ._914\n" + " .word ._915\n" + " .word ._916\n" + " .word ._917\n" + " .word ._918\n" + "._914:\n" + " bl debug_sub_80128B4\n" + " add r0, r5, #0\n" + " bl debug_sub_8012938\n" + " ldr r4, ._920\n" + " ldr r1, ._920 + 4\n" + " mov r2, #0xc8\n" + " lsl r2, r2, #0x1\n" + " mov r0, #0x23\n" + " str r0, [sp]\n" + " add r0, r4, #0\n" + " mov r3, #0x13\n" + " bl InitWindow\n" + " add r0, r4, #0\n" + " bl sub_8002F44\n" + " ldr r1, ._920 + 8\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldrh r1, [r0, #0x8]\n" + " add r1, r1, #0x1\n" + " strh r1, [r0, #0x8]\n" + " ldrb r0, [r0, #0xc]\n" + " b ._919\n" + "._921:\n" + " .align 2, 0\n" + "._920:\n" + " .word gUnknown_03004210\n" + " .word UnkDebug0+0x405\n" + " .word gTasks\n" + "._915:\n" + " ldr r2, ._924\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._922 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._924 + 4\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xc]\n" + " bl nullsub_8\n" + " ldrh r1, [r4, #0xc]\n" + " mov r0, #0x3\n" + " neg r0, r0\n" + " and r0, r0, r1\n" + " b ._931\n" + "._925:\n" + " .align 2, 0\n" + "._924:\n" + " .word gMain\n" + " .word gTasks\n" + "._922:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._926 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._928\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xc]\n" + " bl nullsub_8\n" + " ldrh r1, [r4, #0xc]\n" + " mov r0, #0x2\n" + " b ._927\n" + "._929:\n" + " .align 2, 0\n" + "._928:\n" + " .word gTasks\n" + "._926:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._930 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._932\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xc]\n" + " bl nullsub_8\n" + " ldrh r1, [r4, #0xc]\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " and r0, r0, r1\n" + " b ._931\n" + "._933:\n" + " .align 2, 0\n" + "._932:\n" + " .word gTasks\n" + "._930:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._934 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._936\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xc]\n" + " bl nullsub_8\n" + " ldrh r1, [r4, #0xc]\n" + " mov r0, #0x1\n" + "._927:\n" + " orr r0, r0, r1\n" + "._931:\n" + " strh r0, [r4, #0xc]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + "._919:\n" + " mov r1, #0x0\n" + " bl sub_802E3E4\n" + " b ._1067\n" + "._937:\n" + " .align 2, 0\n" + "._936:\n" + " .word gTasks\n" + "._934:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r4, #0x1\n" + " add r0, r4, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._938 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._943\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r2, #0xc\n" + " ldsh r0, [r0, r2]\n" + " cmp r0, #0x1\n" + " beq ._939 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._940 @cond_branch\n" + " cmp r0, #0\n" + " beq ._941 @cond_branch\n" + " b ._1067\n" + "._944:\n" + " .align 2, 0\n" + "._943:\n" + " .word gTasks\n" + "._940:\n" + " cmp r0, #0x2\n" + " beq ._945 @cond_branch\n" + "._990:\n" + " cmp r0, #0x3\n" + " bne ._946 @cond_branch\n" + " b ._1014\n" + "._946:\n" + " b ._1067\n" + "._941:\n" + " ldr r1, ._952\n" + " ldr r0, ._952 + 4\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x1\n" + " add r1, r0, r1\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x3f\n" + " bls ._949 @cond_branch\n" + " b ._1067\n" + "._949:\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._1019\n" + "._953:\n" + " .align 2, 0\n" + "._952:\n" + " .word gUnknown_02023A14+0x13e\n" + " .word gCurrentMove\n" + "._939:\n" + " mov r0, #0x1\n" + " b ._997\n" + "._945:\n" + " ldr r1, ._957\n" + " ldrh r2, [r1]\n" + " mov r0, #0xcd\n" + " lsl r0, r0, #0x1\n" + " cmp r2, r0\n" + " bhi ._955 @cond_branch\n" + " add r0, r2, #1\n" + "._979:\n" + " strh r0, [r1]\n" + " b ._1025\n" + "._958:\n" + " .align 2, 0\n" + "._957:\n" + " .word gCurrentMove\n" + "._955:\n" + " strh r4, [r1]\n" + " b ._1025\n" + "._938:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._960 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._966\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0xc\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x1\n" + " bne ._961 @cond_branch\n" + " b ._1007\n" + "._961:\n" + " cmp r0, #0x1\n" + " bgt ._963 @cond_branch\n" + " cmp r0, #0\n" + " beq ._964 @cond_branch\n" + " b ._1067\n" + "._967:\n" + " .align 2, 0\n" + "._966:\n" + " .word gTasks\n" + "._963:\n" + " cmp r0, #0x2\n" + " beq ._968 @cond_branch\n" + " b ._990\n" + "._964:\n" + " ldr r1, ._973\n" + " ldr r0, ._973 + 4\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x1\n" + " add r1, r0, r1\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._970 @cond_branch\n" + " b ._1067\n" + "._970:\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._1019\n" + "._974:\n" + " .align 2, 0\n" + "._973:\n" + " .word gUnknown_02023A14+0x13e\n" + " .word gCurrentMove\n" + "._968:\n" + " ldr r1, ._977\n" + " ldrh r0, [r1]\n" + " cmp r0, #0x1\n" + " bls ._975 @cond_branch\n" + " sub r0, r0, #0x1\n" + " b ._979\n" + "._978:\n" + " .align 2, 0\n" + "._977:\n" + " .word gCurrentMove\n" + "._975:\n" + " ldr r2, ._980\n" + " add r0, r2, #0\n" + " b ._979\n" + "._981:\n" + " .align 2, 0\n" + "._980:\n" + " .word 0x19b\n" + "._960:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._982 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._987\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0xc\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x1\n" + " beq ._983 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._984 @cond_branch\n" + " cmp r0, #0\n" + " beq ._985 @cond_branch\n" + " b ._1067\n" + "._988:\n" + " .align 2, 0\n" + "._987:\n" + " .word gTasks\n" + "._984:\n" + " cmp r0, #0x2\n" + " beq ._989 @cond_branch\n" + " b ._990\n" + "._985:\n" + " ldr r3, ._995\n" + " ldr r2, ._995 + 4\n" + " ldrh r0, [r2]\n" + " sub r0, r0, #0x1\n" + " add r1, r0, r3\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x3f\n" + " bls ._991 @cond_branch\n" + " b ._1067\n" + "._991:\n" + " add r0, r0, #0x8\n" + " strb r0, [r1]\n" + " ldrh r0, [r2]\n" + " sub r0, r0, #0x1\n" + " add r1, r0, r3\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x40\n" + " bls ._1019 @cond_branch\n" + " mov r0, #0x40\n" + " strb r0, [r1]\n" + " b ._1019\n" + "._996:\n" + " .align 2, 0\n" + "._995:\n" + " .word gUnknown_02023A14+0x13e\n" + " .word gCurrentMove\n" + "._983:\n" + " mov r0, #0x1\n" + " b ._997\n" + "._989:\n" + " ldr r3, ._1000\n" + " ldrh r2, [r3]\n" + " add r1, r2, #0\n" + " add r1, r1, #0xa\n" + " ldr r0, ._1000 + 4\n" + " cmp r1, r0\n" + " bgt ._998 @cond_branch\n" + " strh r1, [r3]\n" + " b ._1025\n" + "._1001:\n" + " .align 2, 0\n" + "._1000:\n" + " .word gCurrentMove\n" + " .word 0x19b\n" + "._998:\n" + " ldr r1, ._1003\n" + " add r0, r2, r1\n" + " strh r0, [r3]\n" + " b ._1025\n" + "._1004:\n" + " .align 2, 0\n" + "._1003:\n" + " .word 0xfffffe70\n" + "._982:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._1005 @cond_branch\n" + " b ._1067\n" + "._1005:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._1011\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r2, #0xc\n" + " ldsh r3, [r0, r2]\n" + " cmp r3, #0x1\n" + " beq ._1007 @cond_branch\n" + " cmp r3, #0x1\n" + " bgt ._1008 @cond_branch\n" + " cmp r3, #0\n" + " beq ._1009 @cond_branch\n" + " b ._1067\n" + "._1012:\n" + " .align 2, 0\n" + "._1011:\n" + " .word gTasks\n" + "._1008:\n" + " cmp r3, #0x2\n" + " beq ._1013 @cond_branch\n" + " cmp r3, #0x3\n" + " beq ._1014 @cond_branch\n" + " b ._1067\n" + "._1009:\n" + " ldr r1, ._1020\n" + " ldr r0, ._1020 + 4\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x1\n" + " add r2, r0, r1\n" + " ldrb r0, [r2]\n" + " add r1, r0, #0\n" + " cmp r1, #0\n" + " bne ._1016 @cond_branch\n" + " b ._1067\n" + "._1016:\n" + " cmp r1, #0x8\n" + " bls ._1018 @cond_branch\n" + " sub r0, r0, #0x8\n" + " strb r0, [r2]\n" + " b ._1019\n" + "._1021:\n" + " .align 2, 0\n" + "._1020:\n" + " .word gUnknown_02023A14+0x13e\n" + " .word gCurrentMove\n" + "._1018:\n" + " strb r3, [r2]\n" + "._1019:\n" + " add r0, r5, #0\n" + " bl debug_sub_8012938\n" + " b ._1067\n" + "._1007:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + "._997:\n" + " add r1, r5, #0\n" + " bl debug_sub_8012AC0\n" + " b ._1067\n" + "._1013:\n" + " ldr r2, ._1026\n" + " ldrh r0, [r2]\n" + " add r1, r0, #0\n" + " sub r1, r1, #0xa\n" + " cmp r1, #0x1\n" + " ble ._1024 @cond_branch\n" + " strh r1, [r2]\n" + " b ._1025\n" + "._1027:\n" + " .align 2, 0\n" + "._1026:\n" + " .word gCurrentMove\n" + "._1024:\n" + " mov r1, #0xc8\n" + " lsl r1, r1, #0x1\n" + " add r0, r0, r1\n" + " strh r0, [r2]\n" + "._1025:\n" + " bl debug_sub_80128B4\n" + " add r0, r5, #0\n" + " bl debug_sub_8012938\n" + " add r0, r5, #0\n" + " bl debug_sub_80129F8\n" + " b ._1067\n" + "._1014:\n" + " add r0, r5, #0\n" + " mov r1, #0x0\n" + " bl debug_sub_8012B70\n" + " b ._1067\n" + "._916:\n" + " ldr r0, ._1032\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1030 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._1032 + 4\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xe]\n" + " bl debug_sub_8012B4C\n" + " mov r0, #0x0\n" + " b ._1055\n" + "._1033:\n" + " .align 2, 0\n" + "._1032:\n" + " .word gMain\n" + " .word gTasks\n" + "._1030:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._1046 @cond_branch\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1035 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._1037\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldrb r1, [r1, #0xe]\n" + " add r0, r5, #0\n" + " bl debug_sub_8012C08\n" + " b ._1067\n" + "._1038:\n" + " .align 2, 0\n" + "._1037:\n" + " .word gTasks\n" + "._1035:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._1039 @cond_branch\n" + " b ._1067\n" + "._1039:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " b ._1063\n" + "._917:\n" + " ldr r0, ._1044\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1042 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._1044 + 4\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xe]\n" + " bl debug_sub_8012B4C\n" + " mov r0, #0x0\n" + " b ._1055\n" + "._1045:\n" + " .align 2, 0\n" + "._1044:\n" + " .word gMain\n" + " .word gTasks\n" + "._1042:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._1046 @cond_branch\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1047 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._1050\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " mov r2, #0xe\n" + " ldsh r0, [r1, r2]\n" + " cmp r0, #0\n" + " bne ._1063 @cond_branch\n" + " ldr r1, ._1050 + 4\n" + " ldr r2, ._1050 + 8\n" + " mov r0, #0x1f\n" + " bl debug_sub_80132C8\n" + " b ._1063\n" + "._1051:\n" + " .align 2, 0\n" + "._1050:\n" + " .word gTasks\n" + " .word gUnknown_02023A14+0x13e\n" + " .word 0x19b\n" + "._1047:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1067 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " b ._1063\n" + "._918:\n" + " ldr r0, ._1056\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1054 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._1056 + 4\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xe]\n" + " bl debug_sub_8012B4C\n" + " mov r0, #0x0\n" + " b ._1055\n" + "._1057:\n" + " .align 2, 0\n" + "._1056:\n" + " .word gMain\n" + " .word gTasks\n" + "._1054:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1058 @cond_branch\n" + "._1046:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._1060\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " ldrb r0, [r4, #0xe]\n" + " bl debug_sub_8012B4C\n" + " mov r0, #0x1\n" + "._1055:\n" + " strh r0, [r4, #0xe]\n" + " bl debug_sub_8012B2C\n" + " b ._1067\n" + "._1061:\n" + " .align 2, 0\n" + "._1060:\n" + " .word gTasks\n" + "._1058:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1062 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._1065\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " mov r2, #0xe\n" + " ldsh r0, [r1, r2]\n" + " cmp r0, #0\n" + " bne ._1063 @cond_branch\n" + " ldr r1, ._1065 + 4\n" + " ldr r2, ._1065 + 8\n" + " mov r0, #0x1f\n" + " bl debug_sub_8013294\n" + "._1063:\n" + " add r0, r5, #0\n" + " mov r1, #0x1\n" + " bl debug_sub_8012B70\n" + " b ._1067\n" + "._1066:\n" + " .align 2, 0\n" + "._1065:\n" + " .word gTasks\n" + " .word gUnknown_02023A14+0x13e\n" + " .word 0x19b\n" + "._1062:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1067 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " add r0, r5, #0\n" + " mov r1, #0x1\n" + " bl debug_sub_8012B70\n" + "._1067:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8013240() +{ + asm( + " push {lr}\n" + " bl gScriptFuncs_End+0x2fec\n" + " lsl r0, r0, #0x10\n" + " cmp r0, #0\n" + " beq ._1068 @cond_branch\n" + " mov r0, #0x1\n" + " b ._1069\n" + "._1068:\n" + " mov r0, #0x0\n" + "._1069:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8013258() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r1, #0\n" + " add r5, r2, #0\n" + " b ._1070\n" + "._1072:\n" + " ldr r0, ._1074\n" + " add r5, r5, r0\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x5\n" + " add r6, r6, r0\n" + " add r0, r4, #1\n" + "._1070:\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl gScriptFuncs_End+0x2f60\n" + " cmp r0, #0\n" + " bne ._1071 @cond_branch\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x5\n" + " cmp r5, r0\n" + " bhi ._1072 @cond_branch\n" + " mov r0, #0x1\n" + " b ._1073\n" + "._1075:\n" + " .align 2, 0\n" + "._1074:\n" + " .word 0xfffff000\n" + "._1071:\n" + " mov r0, #0x0\n" + "._1073:\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8013294() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r5, r1, #0\n" + " add r6, r2, #0\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " bl debug_sub_8013240\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._1076 @cond_branch\n" + " bl gScriptFuncs_End+0x19f4\n" + " add r0, r4, #0\n" + " add r1, r5, #0\n" + " add r2, r6, #0\n" + " bl debug_sub_8013258\n" + " add r4, r0, #0\n" + " bl gScriptFuncs_End+0x1a70\n" + " add r0, r4, #0\n" + " b ._1077\n" + "._1076:\n" + " mov r0, #0x0\n" + "._1077:\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80132C8() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r5, r1, #0\n" + " add r6, r2, #0\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " bl debug_sub_8013240\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._1078 @cond_branch\n" + " add r0, r4, #0\n" + " mov r1, #0x0\n" + " add r2, r5, #0\n" + " add r3, r6, #0\n" + " bl gScriptFuncs_End+0x2d64\n" + "._1078:\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} +#endif + void oac_poke_opponent(struct Sprite *sprite) { sprite->callback = sub_8010278; @@ -1554,6 +8880,269 @@ void sub_8010800(void) gBattleMainFunc = bc_8012FAC; } +#if DEBUG +__attribute__((naked)) +void debug_sub_80138CC() +{ + asm( + " push {lr}\n" + " ldr r0, ._1167\n" + " ldrb r0, [r0]\n" + " bl GetBankSide\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._1163 @cond_branch\n" + " b ._1186\n" + "._1163:\n" + " ldr r1, ._1167 + 4\n" + " ldr r2, ._1167 + 8\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " add r2, r1, #0\n" + " cmp r0, #0x4\n" + " bls ._1165 @cond_branch\n" + " b ._1186\n" + "._1165:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._1167 + 12\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._1168:\n" + " .align 2, 0\n" + "._1167:\n" + " .word gActiveBank\n" + " .word +0x2000000\n" + " .word 0x160fd\n" + " .word ._1169\n" + "._1169:\n" + " .word ._1170\n" + " .word ._1171\n" + " .word ._1172\n" + " .word ._1173\n" + " .word ._1174\n" + "._1170:\n" + " ldr r1, ._1177\n" + " ldr r0, ._1177 + 4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r1, [r0]\n" + " ldr r0, ._1177 + 8\n" + " cmp r1, r0\n" + " bne ._1186 @cond_branch\n" + " ldr r0, ._1177 + 12\n" + " add r1, r2, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " b ._1187\n" + "._1178:\n" + " .align 2, 0\n" + "._1177:\n" + " .word gBattleBankFunc\n" + " .word gActiveBank\n" + " .word sub_802C098+1\n" + " .word 0x160fd\n" + "._1171:\n" + " ldr r1, ._1180\n" + " mov r0, #0x1\n" + " strh r0, [r1, #0x2c]\n" + " strh r0, [r1, #0x2e]\n" + " ldr r0, ._1180 + 4\n" + " add r1, r2, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r0, ._1180 + 8\n" + " add r1, r2, r0\n" + " mov r0, #0x80\n" + " b ._1187\n" + "._1181:\n" + " .align 2, 0\n" + "._1180:\n" + " .word gMain\n" + " .word 0x160fd\n" + " .word 0x160fe\n" + "._1172:\n" + " ldr r0, ._1184\n" + " add r3, r2, r0\n" + " ldrb r0, [r3]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r3]\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._1186 @cond_branch\n" + " ldr r1, ._1184 + 4\n" + " mov r0, #0x1\n" + " strh r0, [r1, #0x2c]\n" + " strh r0, [r1, #0x2e]\n" + " ldr r0, ._1184 + 8\n" + " add r1, r2, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x80\n" + " strb r0, [r3]\n" + " b ._1186\n" + "._1185:\n" + " .align 2, 0\n" + "._1184:\n" + " .word 0x160fe\n" + " .word gMain\n" + " .word 0x160fd\n" + "._1173:\n" + " ldr r0, ._1188\n" + " add r1, r2, r0\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._1186 @cond_branch\n" + " ldr r1, ._1188 + 4\n" + " mov r0, #0x1\n" + " strh r0, [r1, #0x2c]\n" + " strh r0, [r1, #0x2e]\n" + " ldr r0, ._1188 + 8\n" + " add r1, r2, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " b ._1187\n" + "._1189:\n" + " .align 2, 0\n" + "._1188:\n" + " .word 0x160fe\n" + " .word gMain\n" + " .word 0x160fd\n" + "._1174:\n" + " ldr r0, ._1190\n" + " add r1, r2, r0\n" + " mov r0, #0x0\n" + "._1187:\n" + " strb r0, [r1]\n" + "._1186:\n" + " pop {r0}\n" + " bx r0\n" + "._1191:\n" + " .align 2, 0\n" + "._1190:\n" + " .word 0x160fd\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80139E4() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r0, ._1198\n" + " ldrb r1, [r0]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0\n" + " beq ._1192 @cond_branch\n" + " ldr r2, ._1198 + 4\n" + " mov r0, #0x0\n" + " strb r0, [r2]\n" + " ldr r1, ._1198 + 8\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._1193 @cond_branch\n" + " add r4, r2, #0\n" + " add r5, r1, #0\n" + "._1194:\n" + " bl debug_sub_80138CC\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " strb r0, [r4]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldrb r1, [r5]\n" + " cmp r0, r1\n" + " bcc ._1194 @cond_branch\n" + "._1193:\n" + " ldr r0, ._1198 + 12\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " ldr r1, ._1198 + 4\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " ldr r0, ._1198 + 8\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._1200 @cond_branch\n" + " ldr r5, ._1198 + 16\n" + " add r4, r1, #0\n" + "._1196:\n" + " ldrb r0, [r4]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r5\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " strb r0, [r4]\n" + " ldr r1, ._1198 + 8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldrb r1, [r1]\n" + " cmp r0, r1\n" + " bcc ._1196 @cond_branch\n" + " b ._1200\n" + "._1199:\n" + " .align 2, 0\n" + "._1198:\n" + " .word gUnknown_02023A14+0x50\n" + " .word gActiveBank\n" + " .word gNoOfAllBanks\n" + " .word gBattleMainFunc\n" + " .word gBattleBankFunc\n" + "._1192:\n" + " ldr r0, ._1202\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " ldr r1, ._1202 + 4\n" + " strb r4, [r1]\n" + " ldr r0, ._1202 + 8\n" + " ldrb r0, [r0]\n" + " cmp r4, r0\n" + " bcs ._1200 @cond_branch\n" + " ldr r5, ._1202 + 12\n" + " add r4, r1, #0\n" + "._1201:\n" + " ldrb r0, [r4]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r5\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " strb r0, [r4]\n" + " ldr r1, ._1202 + 8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldrb r1, [r1]\n" + " cmp r0, r1\n" + " bcc ._1201 @cond_branch\n" + "._1200:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._1203:\n" + " .align 2, 0\n" + "._1202:\n" + " .word gBattleMainFunc\n" + " .word gActiveBank\n" + " .word gNoOfAllBanks\n" + " .word gBattleBankFunc\n" + "\n" + ); +} +#endif + void sub_8010824(void) { gBattleMainFunc(); @@ -1562,6 +9151,380 @@ void sub_8010824(void) gBattleBankFunc[gActiveBank](); } +#if DEBUG +__attribute__((naked)) +void sub_8010874() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " mov r0, #0x0\n" + " bl TurnValuesCleanUp\n" + " bl SpecialStatusesClear\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " ldr r0, ._1215\n" + " mov sl, r0\n" + " ldr r1, ._1215 + 4\n" + " mov r9, r1\n" + " ldr r4, ._1215 + 8\n" + " mov r8, r4\n" + " ldr r0, ._1215 + 12\n" + " mov ip, r0\n" + " ldr r4, ._1215 + 16\n" + " mov r5, #0x0\n" + " ldr r7, ._1215 + 20\n" + " ldr r6, ._1215 + 24\n" + "._1205:\n" + " ldr r0, ._1215 + 28\n" + " add r0, r5, r0\n" + " str r3, [r0]\n" + " mov r1, #0x0\n" + "._1204:\n" + " add r0, r4, r1\n" + " strb r3, [r0]\n" + " add r1, r1, #0x1\n" + " cmp r1, #0x1b\n" + " bls ._1204 @cond_branch\n" + " mov r0, #0x2\n" + " strb r0, [r4, #0x16]\n" + " ldr r1, ._1215 + 32\n" + " add r0, r2, r1\n" + " strb r3, [r0]\n" + " mov r0, ip\n" + " strh r3, [r0]\n" + " mov r1, r8\n" + " strh r3, [r1]\n" + " mov r0, r9\n" + " strh r3, [r0]\n" + " mov r1, sl\n" + " strh r3, [r1]\n" + " ldr r0, ._1215 + 36\n" + " add r1, r2, r0\n" + " mov r0, #0xff\n" + " strb r0, [r1]\n" + " strh r3, [r6]\n" + " strh r3, [r7]\n" + " ldr r1, ._1215 + 40\n" + " add r0, r5, r1\n" + " str r3, [r0]\n" + " mov r0, #0x2\n" + " add sl, sl, r0\n" + " add r9, r9, r0\n" + " add r8, r8, r0\n" + " add ip, ip, r0\n" + " add r4, r4, #0x1c\n" + " add r5, r5, #0x4\n" + " add r7, r7, #0x2\n" + " add r6, r6, #0x2\n" + " add r2, r2, #0x1\n" + " cmp r2, #0x3\n" + " ble ._1205 @cond_branch\n" + " mov r5, #0x0\n" + " ldr r3, ._1215 + 44\n" + " ldr r4, ._1215 + 48\n" + " mov r2, #0x1\n" + "._1207:\n" + " strh r5, [r4]\n" + " mov r1, #0x0\n" + "._1206:\n" + " add r0, r3, r1\n" + " strb r5, [r0]\n" + " add r1, r1, #0x1\n" + " cmp r1, #0xb\n" + " bls ._1206 @cond_branch\n" + " add r3, r3, #0xc\n" + " add r4, r4, #0x2\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bge ._1207 @cond_branch\n" + " mov r1, #0x0\n" + " ldr r2, ._1215 + 52\n" + " strb r1, [r2]\n" + " ldr r3, ._1215 + 56\n" + " strb r1, [r3]\n" + " ldr r4, ._1215 + 60\n" + " strh r1, [r4]\n" + " ldr r1, ._1215 + 64\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + "._1208:\n" + " add r0, r1, r2\n" + " strb r3, [r0]\n" + " add r2, r2, #0x1\n" + " cmp r2, #0x2b\n" + " bls ._1208 @cond_branch\n" + " mov r0, #0x0\n" + " ldr r1, ._1215 + 68\n" + " str r0, [r1]\n" + " ldr r2, ._1215 + 72\n" + " ldrh r1, [r2]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._1210 @cond_branch\n" + " ldr r3, ._1215 + 76\n" + " ldrb r1, [r3, #0x15]\n" + " mov r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._1210 @cond_branch\n" + " mov r0, #0x80\n" + " ldr r4, ._1215 + 68\n" + " str r0, [r4]\n" + "._1210:\n" + " ldr r1, ._1215 + 76\n" + " ldrb r0, [r1, #0x15]\n" + " lsl r0, r0, #0x1e\n" + " lsr r0, r0, #0x1f\n" + " ldr r3, ._1215 + 80\n" + " ldr r4, ._1215 + 84\n" + " add r2, r3, r4\n" + " mov r1, #0x0\n" + " strb r0, [r2]\n" + " ldr r0, ._1215 + 88\n" + " strb r1, [r0]\n" + " ldr r2, ._1215 + 92\n" + " strb r1, [r2]\n" + " ldr r3, ._1215 + 96\n" + " str r1, [r3]\n" + " mov r2, #0x0\n" + " ldr r4, ._1215 + 100\n" + " strh r1, [r4]\n" + " ldr r1, ._1215 + 80\n" + " ldr r3, ._1215 + 104\n" + " add r0, r1, r3\n" + " strb r2, [r0]\n" + " ldr r4, ._1215 + 108\n" + " add r0, r1, r4\n" + " strb r2, [r0]\n" + " ldr r1, ._1215 + 112\n" + " mov r2, #0x0\n" + " add r0, r1, #7\n" + "._1211:\n" + " strb r2, [r0]\n" + " sub r0, r0, #0x1\n" + " cmp r0, r1\n" + " bge ._1211 @cond_branch\n" + " mov r5, #0x0\n" + " ldr r0, ._1215 + 116\n" + " strh r5, [r0]\n" + " mov r0, #0x0\n" + " ldr r1, ._1215 + 120\n" + " str r0, [r1]\n" + " ldr r2, ._1215 + 124\n" + " strh r0, [r2]\n" + " ldr r4, ._1215 + 80\n" + " ldr r3, ._1215 + 128\n" + " add r0, r4, r3\n" + " strb r5, [r0]\n" + " ldr r1, ._1215 + 132\n" + " add r0, r4, r1\n" + " strb r5, [r0]\n" + " ldr r2, ._1215 + 136\n" + " strb r5, [r2]\n" + " ldr r3, ._1215 + 140\n" + " strb r5, [r3]\n" + " sub r1, r1, #0x29\n" + " add r0, r4, r1\n" + " strb r5, [r0]\n" + " ldr r2, ._1215 + 144\n" + " add r0, r4, r2\n" + " strb r5, [r0]\n" + " ldr r3, ._1215 + 148\n" + " add r0, r4, r3\n" + " strb r5, [r0]\n" + " ldr r0, ._1215 + 152\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " ldr r2, ._1215 + 156\n" + " lsl r1, r0, #0x3\n" + " sub r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r2\n" + " ldrb r1, [r1, #0x8]\n" + " mov r0, #0x64\n" + " mul r0, r0, r1\n" + " ldr r1, ._1215 + 160\n" + " bl gScriptFuncs_End+0x3d30\n" + " ldr r2, ._1215 + 164\n" + " add r1, r4, r2\n" + " strb r0, [r1]\n" + " ldr r3, ._1215 + 168\n" + " add r1, r4, r3\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + " ldr r1, ._1215 + 172\n" + " add r0, r4, r1\n" + " strb r5, [r0]\n" + " sub r2, r2, #0x33\n" + " add r1, r4, r2\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " mov r2, #0x0\n" + " mov r1, #0x0\n" + "._1212:\n" + " ldr r3, ._1215 + 176\n" + " add r0, r2, r3\n" + " add r0, r0, r4\n" + " strb r1, [r0]\n" + " add r3, r3, #0x20\n" + " add r0, r2, r3\n" + " add r0, r0, r4\n" + " strb r1, [r0]\n" + " add r3, r3, #0x1c\n" + " add r0, r2, r3\n" + " add r0, r0, r4\n" + " strb r1, [r0]\n" + " add r3, r3, #0x8\n" + " add r0, r2, r3\n" + " add r0, r0, r4\n" + " strb r1, [r0]\n" + " add r3, r3, #0x10\n" + " add r0, r2, r3\n" + " add r0, r0, r4\n" + " strb r1, [r0]\n" + " add r3, r3, #0x8\n" + " add r0, r2, r3\n" + " add r0, r0, r4\n" + " strb r1, [r0]\n" + " add r2, r2, #0x1\n" + " cmp r2, #0x7\n" + " ble ._1212 @cond_branch\n" + " ldr r4, ._1215 + 80\n" + " ldr r1, ._1215 + 180\n" + " add r0, r4, r1\n" + " mov r2, #0x0\n" + " mov r1, #0x6\n" + " strb r1, [r0]\n" + " sub r3, r3, #0x3f\n" + " add r0, r4, r3\n" + " strb r1, [r0]\n" + " ldr r1, ._1215 + 184\n" + " add r0, r4, r1\n" + " strb r2, [r0]\n" + " ldr r3, ._1215 + 188\n" + " mov r1, #0x0\n" + " mov r2, #0xa\n" + " add r0, r3, #0\n" + " add r0, r0, #0x40\n" + "._1213:\n" + " strb r1, [r0]\n" + " sub r0, r0, #0x1\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bge ._1213 @cond_branch\n" + " mov r1, #0x0\n" + " strb r1, [r3, #0x13]\n" + " strb r1, [r3]\n" + " strb r1, [r3, #0x1]\n" + " strb r1, [r3, #0x2]\n" + " strb r1, [r3, #0x3]\n" + " strb r1, [r3, #0x4]\n" + " ldrb r2, [r3, #0x5]\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " mov r2, #0x3\n" + " neg r2, r2\n" + " and r0, r0, r2\n" + " strb r0, [r3, #0x5]\n" + " strh r1, [r3, #0x20]\n" + " strh r1, [r3, #0x22]\n" + " strh r1, [r3, #0x24]\n" + " strh r1, [r3, #0x6]\n" + " strh r1, [r3, #0x26]\n" + " strh r1, [r3, #0x28]\n" + " mov r2, #0x0\n" + " add r5, r3, #0\n" + " add r5, r5, #0x8\n" + " mov r4, #0x0\n" + " add r1, r3, #0\n" + " add r1, r1, #0x14\n" + "._1214:\n" + " add r0, r2, r5\n" + " strb r4, [r0]\n" + " strb r4, [r1]\n" + " strb r4, [r1, #0x16]\n" + " add r1, r1, #0x1\n" + " add r2, r2, #0x1\n" + " cmp r2, #0x9\n" + " ble ._1214 @cond_branch\n" + " ldr r2, ._1215 + 80\n" + " ldr r3, ._1215 + 192\n" + " add r0, r2, r3\n" + " mov r1, #0x0\n" + " strb r1, [r0]\n" + " ldr r4, ._1215 + 196\n" + " add r0, r2, r4\n" + " strb r1, [r0]\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._1216:\n" + " .align 2, 0\n" + "._1215:\n" + " .word gUnknown_02024C4C\n" + " .word gUnknown_02024C44\n" + " .word gMoveHitWith\n" + " .word gLastUsedMove\n" + " .word gDisableStructs\n" + " .word gUnknown_02024C2C\n" + " .word gLockedMove\n" + " .word gStatuses3\n" + " .word gUnknown_02024C70\n" + " .word gUnknown_02024C5C\n" + " .word +0x2017100\n" + " .word gSideTimer\n" + " .word gSideAffecting\n" + " .word gBankAttacker\n" + " .word gBankTarget\n" + " .word gBattleWeather\n" + " .word gWishFutureKnock\n" + " .word gHitMarker\n" + " .word gBattleTypeFlags\n" + " .word gSaveBlock2\n" + " .word +0x2000000\n" + " .word 0x16084\n" + " .word gMultiHitCounter\n" + " .word gBattleOutcome\n" + " .word gBattleExecBuffer\n" + " .word gPaydayMoney\n" + " .word 0x17130\n" + " .word 0x17160\n" + " .word gBattleCommunication\n" + " .word gPauseCounterBattle\n" + " .word gBattleMoveDamage\n" + " .word gUnknown_02024DE8\n" + " .word 0x16002\n" + " .word 0x160a1\n" + " .word gLeveledUpInBattle\n" + " .word gAbsentBankFlags\n" + " .word 0x16086\n" + " .word 0x16087\n" + " .word gEnemyParty\n" + " .word gBaseStats\n" + " .word 0x4fb\n" + " .word 0x16089\n" + " .word 0x16088\n" + " .word 0x1601b\n" + " .word 0x160ac\n" + " .word 0x160c8\n" + " .word 0x16113\n" + " .word gBattleResults\n" + " .word 0x1609e\n" + " .word 0x1609f\n" + "\n" + ); +} +#else void sub_8010874(void) { s32 i; @@ -1663,6 +9626,7 @@ void sub_8010874(void) gBattleResults.caughtNick[i] = 0; } } +#endif void SwitchInClearStructs(void) { diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 977e91f5c..613f2ebe0 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -289,6 +289,214 @@ void BattleAI_HandleItemUseBeforeAISetup(void) BattleAI_SetupAIData(); } +#if DEBUG +__attribute__((naked)) +void BattleAI_SetupAIData() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " ldr r2, ._16\n" + " mov r4, #0x0\n" + " ldr r3, ._16 + 4\n" + " mov r1, #0x0\n" + "._9:\n" + " add r0, r2, r4\n" + " strb r1, [r0]\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x1b\n" + " bls ._9 @cond_branch\n" + " ldr r0, ._16\n" + " mov r1, #0x64\n" + " mov r4, #0x3\n" + " add r0, r0, #0x7\n" + "._10:\n" + " strb r1, [r0]\n" + " sub r0, r0, #0x1\n" + " sub r4, r4, #0x1\n" + " cmp r4, #0\n" + " bge ._10 @cond_branch\n" + " ldrb r0, [r3]\n" + " mov r1, #0x0\n" + " mov r2, #0xff\n" + " bl sub_8015A98\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " mov r4, #0x0\n" + " ldr r0, ._16\n" + " add r5, r0, #4\n" + " ldr r6, ._16 + 8\n" + "._12:\n" + " ldr r0, [r6]\n" + " and r0, r0, r7\n" + " cmp r0, #0\n" + " beq ._11 @cond_branch\n" + " mov r0, #0x0\n" + " strb r0, [r5]\n" + "._11:\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0xf\n" + " and r0, r0, r1\n" + " mov r1, #0x64\n" + " sub r1, r1, r0\n" + " strb r1, [r5, #0x14]\n" + " add r5, r5, #0x1\n" + " add r6, r6, #0x4\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x3\n" + " ble ._12 @cond_branch\n" + " ldr r0, ._16 + 12\n" + " add r0, r0, #0x20\n" + " mov r1, #0x0\n" + " strb r1, [r0]\n" + " ldr r1, ._16 + 16\n" + " ldr r0, ._16 + 4\n" + " ldrb r2, [r0]\n" + " strb r2, [r1]\n" + " ldr r0, ._16 + 20\n" + " ldrh r1, [r0]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._13 @cond_branch\n" + " ldr r4, ._16 + 24\n" + " bl Random\n" + " mov r5, #0x2\n" + " and r0, r0, r5\n" + " strb r0, [r4]\n" + " ldr r0, ._16 + 28\n" + " ldrb r1, [r0]\n" + " ldr r2, ._16 + 8\n" + " ldrb r3, [r4]\n" + " lsl r0, r3, #0x2\n" + " add r0, r0, r2\n" + " ldr r0, [r0]\n" + " and r1, r1, r0\n" + " cmp r1, #0\n" + " beq ._15 @cond_branch\n" + " eor r3, r3, r5\n" + " strb r3, [r4]\n" + " b ._15\n" + "._17:\n" + " .align 2, 0\n" + "._16:\n" + " .word +0x2016800\n" + " .word gActiveBank\n" + " .word gBitTable\n" + " .word +0x2016c00\n" + " .word gBankAttacker\n" + " .word gBattleTypeFlags\n" + " .word gBankTarget\n" + " .word gAbsentBankFlags\n" + "._13:\n" + " ldr r0, ._20\n" + " mov r1, #0x1\n" + " eor r1, r1, r2\n" + " strb r1, [r0]\n" + "._15:\n" + " ldr r0, ._20 + 4\n" + " ldrh r1, [r0]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._18 @cond_branch\n" + " ldr r1, ._20 + 8\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x17\n" + " b ._27\n" + "._21:\n" + " .align 2, 0\n" + "._20:\n" + " .word gBankTarget\n" + " .word gBattleTypeFlags\n" + " .word +0x2016800\n" + "._18:\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x3\n" + " add r0, r2, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._22 @cond_branch\n" + " ldr r1, ._24\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x16\n" + " b ._27\n" + "._25:\n" + " .align 2, 0\n" + "._24:\n" + " .word +0x2016800\n" + "._22:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._26 @cond_branch\n" + " ldr r1, ._28\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x18\n" + " b ._27\n" + "._29:\n" + " .align 2, 0\n" + "._28:\n" + " .word +0x2016800\n" + "._26:\n" + " mov r0, #0x90\n" + " lsl r0, r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._30 @cond_branch\n" + " ldr r1, ._33\n" + " ldrh r0, [r1]\n" + " cmp r0, r2\n" + " bne ._31 @cond_branch\n" + "._30:\n" + " ldr r1, ._33 + 4\n" + " mov r0, #0x7\n" + "._27:\n" + " str r0, [r1, #0xc]\n" + " add r3, r1, #0\n" + " b ._32\n" + "._34:\n" + " .align 2, 0\n" + "._33:\n" + " .word gTrainerBattleOpponent\n" + " .word +0x2016800\n" + "._31:\n" + " ldr r3, ._36\n" + " ldr r2, ._36 + 4\n" + " ldrh r1, [r1]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x3\n" + " add r2, r2, #0x1c\n" + " add r0, r0, r2\n" + " ldr r0, [r0]\n" + " str r0, [r3, #0xc]\n" + "._32:\n" + " ldr r0, ._36 + 8\n" + " ldrb r1, [r0]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._35 @cond_branch\n" + " ldr r0, ._36 + 12\n" + " ldr r0, [r0]\n" + " str r0, [r3, #0xc]\n" + "._35:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._37:\n" + " .align 2, 0\n" + "._36:\n" + " .word +0x2016800\n" + " .word gTrainers\n" + " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14+0x4c\n" + "\n" + ); +} +#else void BattleAI_SetupAIData(void) { s32 i; @@ -342,6 +550,7 @@ void BattleAI_SetupAIData(void) else // otherwise, just set aiFlags to whatever flags the trainer has set in their data. AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent].aiFlags; } +#endif u8 BattleAI_GetAIActionToUse(void) { diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 97568d254..f7734301c 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -79,8 +79,8 @@ extern const u16 gBattleInterfaceStatusIcons_DynPal[]; static void sub_8043D5C(struct Sprite *); static const void *sub_8043CDC(u8); -static void sub_8044210(u8, s16, u8); -static void draw_status_ailment_maybe(u8); +/*static*/ void sub_8044210(u8, s16, u8); +/*static*/ void draw_status_ailment_maybe(u8); extern void sub_8045180(struct Sprite *); static void sub_8045110(struct Sprite *); static void sub_8045048(struct Sprite *); @@ -651,7 +651,7 @@ void sub_8043F44(u8 a) #define CHAR_LV_SEPARATOR CHAR_PERIOD #endif -static void sub_8043FC0(u8 a, u8 b) +/*static*/ void sub_8043FC0(u8 a, u8 b) { u8 str[30]; void *const *r7; @@ -905,7 +905,7 @@ _0804420C: .4byte 0x04000008\n\ } #endif -static void sub_8044210(u8 a, s16 b, u8 c) +/*static*/ void sub_8044210(u8 a, s16 b, u8 c) { u8 str[0x14]; u8 *ptr; @@ -1277,6 +1277,353 @@ _08044548: .4byte 0x04000008\n\ } #endif +#if DEBUG +__attribute__((naked)) +void sub_804454C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x0\n" + " mov r8, r0\n" + " ldr r0, ._150\n" + " ldrb r0, [r0]\n" + " cmp r8, r0\n" + " blt ._133 @cond_branch\n" + " b ._164\n" + "._133:\n" + " ldr r1, ._150 + 4\n" + " mov r9, r1\n" + " mov r2, #0x64\n" + " mov sl, r2\n" + " ldr r7, ._150 + 8\n" + "._165:\n" + " ldr r0, ._150 + 12\n" + " mov r6, r8\n" + " add r5, r6, r0\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " mov r1, r9\n" + " add r1, r1, #0x1c\n" + " add r0, r0, r1\n" + " ldr r1, [r0]\n" + " ldr r0, ._150 + 16\n" + " cmp r1, r0\n" + " beq ._135 @cond_branch\n" + " b ._147\n" + "._135:\n" + " ldr r0, ._150 + 20\n" + " ldrb r0, [r0]\n" + " lsl r4, r6, #0x18\n" + " cmp r0, #0\n" + " bne ._138 @cond_branch\n" + " lsr r0, r4, #0x18\n" + " bl GetBankSide\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._138 @cond_branch\n" + " b ._147\n" + "._138:\n" + " bl IsDoubleBattle\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._141 @cond_branch\n" + " lsr r0, r4, #0x18\n" + " bl GetBankSide\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._141 @cond_branch\n" + " b ._147\n" + "._141:\n" + " mov r0, r8\n" + " lsl r3, r0, #0x2\n" + " ldr r0, ._150 + 24\n" + " add r3, r3, r0\n" + " ldr r0, [r3]\n" + " lsl r0, r0, #0x1b\n" + " lsr r0, r0, #0x1f\n" + " mov r2, #0x1\n" + " eor r2, r2, r0\n" + " lsl r2, r2, #0x4\n" + " ldrb r0, [r3]\n" + " mov r6, #0x11\n" + " neg r6, r6\n" + " add r1, r6, #0\n" + " and r0, r0, r1\n" + " orr r0, r0, r2\n" + " strb r0, [r3]\n" + " ldr r0, [r3]\n" + " lsl r0, r0, #0x1b\n" + " lsr r6, r0, #0x1f\n" + " lsr r0, r4, #0x18\n" + " bl GetBankSide\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._143 @cond_branch\n" + " bl IsDoubleBattle\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._144 @cond_branch\n" + " b ._147\n" + "._144:\n" + " ldr r0, ._150 + 28\n" + " ldrh r1, [r0]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " cmp r2, #0\n" + " beq ._146 @cond_branch\n" + " b ._147\n" + "._146:\n" + " cmp r6, #0x1\n" + " bne ._148 @cond_branch\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r9\n" + " ldrh r0, [r0, #0x38]\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " str r2, [sp]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r9\n" + " ldrh r1, [r0, #0x4]\n" + " lsl r1, r1, #0x16\n" + " lsr r1, r1, #0x11\n" + " ldr r0, ._150 + 32\n" + " add r1, r1, r0\n" + " mov r0, sp\n" + " ldr r2, ._150 + 36\n" + " bl gScriptFuncs_End+0x3cb4\n" + " ldrb r4, [r5]\n" + " ldrh r0, [r7]\n" + " mov r1, sl\n" + " mul r1, r1, r0\n" + " add r0, r1, #0\n" + " ldr r2, ._150 + 40\n" + " add r0, r0, r2\n" + " mov r1, #0x39\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " mov r2, #0x0\n" + " bl sub_8044210\n" + " ldrb r4, [r5]\n" + " ldrh r0, [r7]\n" + " mov r6, sl\n" + " mul r6, r6, r0\n" + " add r0, r6, #0\n" + " ldr r1, ._150 + 40\n" + " b ._149\n" + "._151:\n" + " .align 2, 0\n" + "._150:\n" + " .word gNoOfAllBanks\n" + " .word gSprites\n" + " .word gBattlePartyID\n" + " .word gHealthboxIDs\n" + " .word SpriteCallbackDummy+1\n" + " .word gUnknown_020297ED\n" + " .word +0x2017800\n" + " .word gBattleTypeFlags\n" + " .word 0x6010000\n" + " .word 0x5000040\n" + " .word gPlayerParty\n" + "._148:\n" + " ldrb r0, [r5]\n" + " bl draw_status_ailment_maybe\n" + " ldrb r0, [r5]\n" + " ldrh r1, [r7]\n" + " mov r2, sl\n" + " mul r2, r2, r1\n" + " add r1, r2, #0\n" + " ldr r6, ._153\n" + " add r1, r1, r6\n" + " mov r2, #0x5\n" + " bl sub_8045A5C\n" + " mov r0, #0x75\n" + " bl sub_8043CDC\n" + " ldrb r2, [r5]\n" + " lsl r1, r2, #0x4\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r9\n" + " ldrh r1, [r1, #0x4]\n" + " lsl r1, r1, #0x16\n" + " lsr r1, r1, #0x11\n" + " ldr r2, ._153 + 4\n" + " add r1, r1, r2\n" + " ldr r2, ._153 + 8\n" + " bl gScriptFuncs_End+0x3cb4\n" + " b ._163\n" + "._154:\n" + " .align 2, 0\n" + "._153:\n" + " .word gPlayerParty\n" + " .word 0x6010680\n" + " .word 0x4000008\n" + "._143:\n" + " cmp r6, #0x1\n" + " bne ._155 @cond_branch\n" + " ldr r0, ._158\n" + " ldrh r1, [r0]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " cmp r2, #0\n" + " beq ._156 @cond_branch\n" + " ldrb r0, [r5]\n" + " ldrh r1, [r7]\n" + " mov r6, sl\n" + " mul r6, r6, r1\n" + " add r1, r6, #0\n" + " ldr r2, ._158 + 4\n" + " add r1, r1, r2\n" + " bl sub_8044338\n" + " b ._163\n" + "._159:\n" + " .align 2, 0\n" + "._158:\n" + " .word gBattleTypeFlags\n" + " .word gEnemyParty\n" + "._156:\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r9\n" + " ldrh r0, [r0, #0x38]\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " str r2, [sp]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r9\n" + " ldrh r1, [r0, #0x4]\n" + " lsl r1, r1, #0x16\n" + " lsr r1, r1, #0x11\n" + " ldr r6, ._161\n" + " add r1, r1, r6\n" + " mov r0, sp\n" + " ldr r2, ._161 + 4\n" + " bl gScriptFuncs_End+0x3cb4\n" + " ldrb r4, [r5]\n" + " ldrh r0, [r7]\n" + " mov r1, sl\n" + " mul r1, r1, r0\n" + " add r0, r1, #0\n" + " ldr r2, ._161 + 8\n" + " add r0, r0, r2\n" + " mov r1, #0x39\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " mov r2, #0x0\n" + " bl sub_8044210\n" + " ldrb r4, [r5]\n" + " ldrh r0, [r7]\n" + " mov r6, sl\n" + " mul r6, r6, r0\n" + " add r0, r6, #0\n" + " ldr r1, ._161 + 8\n" + "._149:\n" + " add r0, r0, r1\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " bl sub_8044210\n" + " b ._163\n" + "._162:\n" + " .align 2, 0\n" + "._161:\n" + " .word 0x6010000\n" + " .word 0x5000040\n" + " .word gEnemyParty\n" + "._155:\n" + " ldrb r0, [r5]\n" + " bl draw_status_ailment_maybe\n" + " ldrb r0, [r5]\n" + " ldrh r1, [r7]\n" + " mov r6, #0x64\n" + " mul r1, r1, r6\n" + " ldr r4, ._166\n" + " add r1, r1, r4\n" + " mov r2, #0x5\n" + " bl sub_8045A5C\n" + " ldr r0, ._166 + 4\n" + " ldrh r1, [r0]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._163 @cond_branch\n" + " ldrb r0, [r5]\n" + " ldrh r1, [r7]\n" + " mul r1, r1, r6\n" + " add r1, r1, r4\n" + " mov r2, #0x4\n" + " bl sub_8045A5C\n" + "._163:\n" + " ldr r0, ._166 + 8\n" + " add r0, r0, r8\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r9\n" + " ldrh r1, [r0, #0x3c]\n" + " mov r2, #0x1\n" + " eor r1, r1, r2\n" + " strh r1, [r0, #0x3c]\n" + "._147:\n" + " add r7, r7, #0x2\n" + " mov r2, #0x1\n" + " add r8, r8, r2\n" + " ldr r0, ._166 + 12\n" + " ldrb r0, [r0]\n" + " cmp r8, r0\n" + " bge ._164 @cond_branch\n" + " b ._165\n" + "._164:\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._167:\n" + " .align 2, 0\n" + "._166:\n" + " .word gEnemyParty\n" + " .word gBattleTypeFlags\n" + " .word gHealthboxIDs\n" + " .word gNoOfAllBanks\n" + "\n" + ); +} +#else void sub_804454C(void) { s32 i; @@ -1344,6 +1691,7 @@ void sub_804454C(void) } } } +#endif // This function almost matches except for just two instructions around 0x08044B52 that are swapped. #ifdef NONMATCHING @@ -2359,7 +2707,7 @@ void sub_8045180(struct Sprite *sprite) sprite->pos2.y = gSprites[spriteId].pos2.y; } -static void sub_80451A0(u8 a, struct Pokemon *pkmn) +/*static*/ void sub_80451A0(u8 a, struct Pokemon *pkmn) { u8 nickname[POKEMON_NAME_LENGTH]; u8 gender; @@ -2507,7 +2855,7 @@ static void sub_8045458(u8 a, u8 b) } } -static void draw_status_ailment_maybe(u8 a) +/*static*/ void draw_status_ailment_maybe(u8 a) { s32 r4; s32 r4_2; @@ -2649,7 +2997,7 @@ static u8 sub_80457E8(u8 a, u8 b) return ret; } -static void sub_80458B0(u8 a) +/*static*/ void sub_80458B0(u8 a) { u8 *r6; u8 r8; @@ -2675,7 +3023,7 @@ static void sub_80458B0(u8 a) } -static void sub_8045998(u8 a) +/*static*/ void sub_8045998(u8 a) { u8 *r7; u8 status; @@ -2697,6 +3045,310 @@ static void sub_8045998(u8 a) } } +#ifdef DEBUG +__attribute__((naked)) +void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffff8\n" + " mov r9, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " lsl r2, r2, #0x18\n" + " lsr r7, r2, #0x18\n" + " ldr r1, ._429\n" + " lsl r0, r0, #0x4\n" + " add r0, r0, r8\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldrh r0, [r0, #0x3a]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov sl, r0\n" + " bl GetBankSide\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._410 @cond_branch\n" + " b ._411\n" + "._410:\n" + " cmp r7, #0x3\n" + " beq ._412 @cond_branch\n" + " cmp r7, #0\n" + " bne ._413 @cond_branch\n" + "._412:\n" + " mov r0, r9\n" + " mov r1, #0x38\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r0, r8\n" + " bl sub_8043FC0\n" + "._413:\n" + " cmp r7, #0x1\n" + " bhi ._414 @cond_branch\n" + " mov r0, r9\n" + " mov r1, #0x39\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " mov r0, r8\n" + " mov r2, #0x0\n" + " bl sub_80440EC\n" + "._414:\n" + " cmp r7, #0x2\n" + " beq ._415 @cond_branch\n" + " cmp r7, #0\n" + " bne ._416 @cond_branch\n" + "._415:\n" + " mov r0, r9\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " mov r0, r8\n" + " mov r2, #0x1\n" + " bl sub_80440EC\n" + "._416:\n" + " cmp r7, #0x5\n" + " beq ._417 @cond_branch\n" + " cmp r7, #0\n" + " bne ._418 @cond_branch\n" + "._417:\n" + " mov r0, #0x0\n" + " bl load_gfxc_health_bar\n" + " mov r0, r9\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r4, r0, #0\n" + " mov r0, r9\n" + " mov r1, #0x39\n" + " bl GetMonData\n" + " add r3, r0, #0\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, sl\n" + " mov r1, r8\n" + " add r2, r4, #0\n" + " bl sub_8043D84\n" + " mov r0, sl\n" + " mov r1, r8\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " bl sub_8045C78\n" + "._418:\n" + " bl IsDoubleBattle\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " str r0, [sp, #0x4]\n" + " cmp r0, #0\n" + " bne ._421 @cond_branch\n" + " cmp r7, #0x6\n" + " beq ._420 @cond_branch\n" + " cmp r7, #0\n" + " bne ._421 @cond_branch\n" + "._420:\n" + " mov r0, #0x3\n" + " bl load_gfxc_health_bar\n" + " mov r0, r9\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x10\n" + " lsr r5, r5, #0x10\n" + " mov r0, r9\n" + " mov r1, #0x38\n" + " bl GetMonData\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " mov r0, r9\n" + " mov r1, #0x19\n" + " bl GetMonData\n" + " add r3, r0, #0\n" + " ldr r6, ._429 + 4\n" + " lsl r1, r4, #0x2\n" + " ldr r2, ._429 + 8\n" + " lsl r0, r5, #0x3\n" + " sub r0, r0, r5\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldrb r2, [r0, #0x13]\n" + " mov r0, #0xca\n" + " lsl r0, r0, #0x1\n" + " mul r0, r0, r2\n" + " add r1, r1, r0\n" + " add r1, r1, r6\n" + " ldr r1, [r1]\n" + " sub r3, r3, r1\n" + " add r4, r4, #0x1\n" + " lsl r4, r4, #0x2\n" + " add r4, r4, r0\n" + " add r4, r4, r6\n" + " ldr r2, [r4]\n" + " sub r2, r2, r1\n" + " ldr r0, [sp, #0x4]\n" + " str r0, [sp]\n" + " mov r0, sl\n" + " mov r1, r8\n" + " bl sub_8043D84\n" + " mov r0, sl\n" + " mov r1, r8\n" + " mov r2, #0x1\n" + " mov r3, #0x0\n" + " bl sub_8045C78\n" + "._421:\n" + " cmp r7, #0x4\n" + " beq ._422 @cond_branch\n" + " cmp r7, #0\n" + " bne ._423 @cond_branch\n" + "._422:\n" + " mov r0, r8\n" + " mov r1, r9\n" + " bl sub_80451A0\n" + "._423:\n" + " cmp r7, #0x9\n" + " beq ._424 @cond_branch\n" + " cmp r7, #0\n" + " bne ._425 @cond_branch\n" + "._424:\n" + " mov r0, r8\n" + " bl draw_status_ailment_maybe\n" + "._425:\n" + " cmp r7, #0xa\n" + " bne ._426 @cond_branch\n" + " mov r0, r8\n" + " bl sub_80458B0\n" + "._426:\n" + " add r0, r7, #0\n" + " sub r0, r0, #0xa\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bhi ._442 @cond_branch\n" + " mov r0, r8\n" + " bl sub_8045998\n" + " b ._442\n" + "._430:\n" + " .align 2, 0\n" + "._429:\n" + " .word gSprites\n" + " .word gExperienceTables\n" + " .word gBaseStats\n" + "._411:\n" + " cmp r7, #0x3\n" + " beq ._431 @cond_branch\n" + " cmp r7, #0\n" + " bne ._432 @cond_branch\n" + "._431:\n" + " mov r0, r9\n" + " mov r1, #0x38\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r0, r8\n" + " bl sub_8043FC0\n" + "._432:\n" + " ldr r0, ._443\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x1\n" + " bne ._436 @cond_branch\n" + " cmp r7, #0x1\n" + " bhi ._434 @cond_branch\n" + " mov r0, r9\n" + " mov r1, #0x39\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " mov r0, r8\n" + " mov r2, #0x0\n" + " bl sub_80440EC\n" + "._434:\n" + " cmp r7, #0x2\n" + " beq ._435 @cond_branch\n" + " cmp r7, #0\n" + " bne ._436 @cond_branch\n" + "._435:\n" + " mov r0, r9\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " mov r0, r8\n" + " mov r2, #0x1\n" + " bl sub_80440EC\n" + "._436:\n" + " cmp r7, #0x5\n" + " beq ._437 @cond_branch\n" + " cmp r7, #0\n" + " bne ._438 @cond_branch\n" + "._437:\n" + " mov r0, #0x0\n" + " bl load_gfxc_health_bar\n" + " mov r0, r9\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r4, r0, #0\n" + " mov r0, r9\n" + " mov r1, #0x39\n" + " bl GetMonData\n" + " add r3, r0, #0\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, sl\n" + " mov r1, r8\n" + " add r2, r4, #0\n" + " bl sub_8043D84\n" + " mov r0, sl\n" + " mov r1, r8\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " bl sub_8045C78\n" + "._438:\n" + " cmp r7, #0x4\n" + " beq ._439 @cond_branch\n" + " cmp r7, #0\n" + " bne ._440 @cond_branch\n" + "._439:\n" + " mov r0, r8\n" + " mov r1, r9\n" + " bl sub_80451A0\n" + "._440:\n" + " cmp r7, #0x9\n" + " beq ._441 @cond_branch\n" + " cmp r7, #0\n" + " bne ._442 @cond_branch\n" + "._441:\n" + " mov r0, r8\n" + " bl draw_status_ailment_maybe\n" + "._442:\n" + " add sp, sp, #0x8\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._444:\n" + " .align 2, 0\n" + "._443:\n" + " .word gUnknown_020297ED\n" + "\n" + ); +} +#else void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) { u8 r10; @@ -2766,6 +3418,7 @@ void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) draw_status_ailment_maybe(a); } } +#endif s32 sub_8045C78(u8 a, u8 unused1, u8 c, u8 unused2) { diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index 4979760d7..a03a215fd 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -8,9 +8,35 @@ #include "strings2.h" #include "trainer_card.h" +struct DebugStruct1 +{ + u16 var0; + u8 var1[10]; +}; + extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; extern u8 gBattleOutcome; +#ifdef DEBUG +const struct DebugStruct1 gUnknown_Debug_4245CC[] = +{ + { 1, _("NUMBER1") }, + { 2, _("ナンバー2") }, + { 3, _("ナンバー3") }, + { 4, _("ナンバー4") }, + { 5, _("ナンバー5") }, + { 6, _("ナンバー6") }, + { 7, _("ナンバー7") }, +}; + +const u8 gUnknown_Debug_8424620[][4] = +{ + { 1, 1, 0, 0 }, + { 2, 1, 0, 0 }, + { 3, 1, 0, 0 }, +}; +#endif + static void InitLinkBattleRecord(struct LinkBattleRecord *record) { CpuFill16(0, record, sizeof(struct LinkBattleRecord)); @@ -240,7 +266,8 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y) } } -void ShowLinkBattleRecords(void) { +void ShowLinkBattleRecords(void) +{ s32 i; Menu_DrawStdWindowFrame(1, 0, 28, 18); sub_8072BD8(gOtherText_BattleResults, 0, 1, 240); diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c new file mode 100644 index 000000000..6f2734b08 --- /dev/null +++ b/src/debug/kagaya_debug_menu.c @@ -0,0 +1,420 @@ +#ifdef DEBUG +#include "global.h" +#include "menu.h" + +u8 KagayaDebugMenu_TrainerCard(); +u8 KagayaDebugMenu_CardToExchange(); +u8 KagayaDebugMenu_SlotMachine(); + +const u8 Str_83EBB34[] = _("Trainer’s card"); +const u8 Str_83EBB43[] = _("Card to exchange"); +const u8 Str_83EBB54[] = _("Slot machine"); + +const struct MenuAction _83EBB64[] = { + { Str_83EBB34, KagayaDebugMenu_TrainerCard }, + { Str_83EBB43, KagayaDebugMenu_CardToExchange }, + { Str_83EBB54, KagayaDebugMenu_SlotMachine }, +}; + +__attribute__((naked)) +void InitKagayaDebugMenu_A() +{ + asm( + " push {lr}\n" + " bl InitKagayaDebugMenu_B\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void InitKagayaDebugMenu_B() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xe\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._1\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xd\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl InitMenu\n" + " ldr r1, ._1 + 4\n" + " ldr r0, ._1 + 8\n" + " str r0, [r1]\n" + " add sp, sp, #0x8\n" + " pop {r0}\n" + " bx r0\n" + "._2:\n" + " .align 2, 0\n" + "._1:\n" + " .word _83EBB64\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_80B061C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80B061C() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._3 @cond_branch\n" + " mov r0, #0x0\n" + " b ._6\n" + "._3:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._5 @cond_branch\n" + " ldr r2, ._7\n" + " ldr r0, ._7 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._6\n" + "._8:\n" + " .align 2, 0\n" + "._7:\n" + " .word gCallback_03004AE8\n" + " .word _83EBB64\n" + "._5:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._6:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 KagayaDebugMenu_TrainerCard() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._9\n" + " ldr r0, ._9 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._10:\n" + " .align 2, 0\n" + "._9:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_80B068C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80B068C() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._11 @cond_branch\n" + " mov r0, #0x0\n" + " b ._12\n" + "._11:\n" + " ldr r0, ._13\n" + " bl debug_sub_80A0710\n" + " bl CloseMenu\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + "._12:\n" + " pop {r1}\n" + " bx r1\n" + "._14:\n" + " .align 2, 0\n" + "._13:\n" + " .word sub_805469C+1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 KagayaDebugMenu_CardToExchange() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._15\n" + " ldr r0, ._15 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._16:\n" + " .align 2, 0\n" + "._15:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_80B06E0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80B06E0() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._17 @cond_branch\n" + " mov r0, #0x0\n" + " b ._18\n" + "._17:\n" + " ldr r0, ._19\n" + " bl debug_sub_80A073C\n" + " bl CloseMenu\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + "._18:\n" + " pop {r1}\n" + " bx r1\n" + "._20:\n" + " .align 2, 0\n" + "._19:\n" + " .word sub_805469C+1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 KagayaDebugMenu_SlotMachine() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._21\n" + " ldr r0, ._21 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._22:\n" + " .align 2, 0\n" + "._21:\n" + " .word gCallback_03004AE8\n" + " .word Kagaya_80B0734+1\n" + "\n" + ); +} + +__attribute__((naked)) +void Kagaya_80B0734() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._23 @cond_branch\n" + " mov r0, #0x0\n" + " b ._24\n" + "._23:\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._25\n" + " bl debug_sub_811609C\n" + " bl CloseMenu\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + "._24:\n" + " pop {r1}\n" + " bx r1\n" + "._26:\n" + " .align 2, 0\n" + "._25:\n" + " .word sub_805469C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80B0770() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._30\n" + " ldrb r1, [r0]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0\n" + " bne ._27 @cond_branch\n" + " bl CloseMenu\n" + " bl IsPlayerFacingSurfableFishableWater\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._29 @cond_branch\n" + " ldr r0, ._30 + 4\n" + " str r4, [r0]\n" + " mov r0, #0x9\n" + " bl FieldEffectStart\n" + " b ._29\n" + "._31:\n" + " .align 2, 0\n" + "._30:\n" + " .word gPlayerAvatar\n" + " .word gUnknown_0202FF84\n" + "._27:\n" + " bl CloseMenu\n" + "._29:\n" + " mov r0, #0x1\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80B07B0() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._32\n" + " ldr r0, ._32 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._33:\n" + " .align 2, 0\n" + "._32:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_80B07DC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80B07DC() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._34 @cond_branch\n" + " mov r0, #0x0\n" + " b ._35\n" + "._34:\n" + " bl CloseMenu\n" + " ldr r0, ._36\n" + " bl SetMainCallback2\n" + " mov r0, #0x1\n" + "._35:\n" + " pop {r1}\n" + " bx r1\n" + "._37:\n" + " .align 2, 0\n" + "._36:\n" + " .word sub_80FC074+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80B0800() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl sub_8068F18\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0\n" + " beq ._38 @cond_branch\n" + " ldr r0, ._39\n" + " mov r1, #0x0\n" + " str r1, [r0]\n" + " sub r1, r2, #1\n" + " str r1, [r0, #0x4]\n" + " mov r0, #0x2c\n" + " bl FieldEffectStart\n" + "._38:\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._40:\n" + " .align 2, 0\n" + "._39:\n" + " .word gUnknown_0202FF84\n" + "\n" + ); +} + +#endif // DEBUG diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c new file mode 100644 index 000000000..48b6d91b8 --- /dev/null +++ b/src/debug/nakamura_debug_menu.c @@ -0,0 +1,5031 @@ +#ifdef DEBUG +#include "global.h" +#include "menu.h" + +EWRAM_DATA u8 _nakamuraData[0x10] = {0}; + +static u8 _nakamuraStatic[32] __attribute__((unused)); + +u8 debug_sub_815FC54(); +u8 debug_sub_815F2B4(); +u8 debug_sub_815FC94(); +u8 debug_sub_815FB1C(); +u8 debug_sub_815F2F4(); +u8 debug_sub_815F62C(); +u8 debug_sub_815FBE8(); +u8 debug_sub_815FE1C(); +u8 debug_sub_8160D98(); + +const u8 Str_843E36C[] = _("Berries"); +const u8 Str_843E374[] = _("Goods"); +const u8 Str_843E37A[] = _("{PKMN} list"); +const u8 Str_843E382[] = _("トラップ"); +const u8 Str_843E387[] = _("Move your base"); +const u8 Str_843E396[] = _("Moving {PKMN}"); +const u8 Str_843E3A0[] = _("Fishing points"); +const u8 Str_843E3AF[] = _("Set {POKEBLOCK}"); +const u8 Str_843E3B9[] = _("Make bases(to max)"); +const u8 Str_843E3CC[] = _("Base location"); + +const struct MenuAction _843E3DC[] = { + { Str_843E36C, debug_sub_815FC54 }, + { Str_843E37A, debug_sub_815F2B4 }, + { Str_843E374, debug_sub_815FC94 }, + { Str_843E387, debug_sub_815FB1C }, + { Str_843E3B9, debug_sub_815F2F4 }, + { Str_843E3CC, debug_sub_815F62C }, + { Str_843E396, debug_sub_815FBE8 }, + { Str_843E3A0, debug_sub_815FE1C }, + { Str_843E3AF, debug_sub_8160D98 }, +}; + +const u8 _843E424[][4] = { + { 1, 118, 47, 14 }, + { 2, 125, 53, 10 }, + { 3, 113, 49, 8 }, + { 0xB, 118, 67, 6 }, + { 0xC, 121, 40, 11 }, + { 0xD, 111, 35, 1 }, + { 0x15, 115, 20, 53 }, + { 0x16, 121, 18, 13 }, + { 0x17, 119, 26, 81 }, + { 0x1F, 127, 59, 67 }, + { 0x20, 125, 55, 11 }, + { 0x21, 111, 27, 27 }, + { 0x29, 114, 9, 47 }, + { 0x2A, 115, 32, 39 }, + { 0x2B, 115, 23, 8 }, + { 0x33, 114, 30, 51 }, + { 0x34, 115, 26, 15 }, + { 0x35, 115, 32, 46 }, + { 0x3D, 114, 11, 62 }, + { 0x3E, 115, 21, 18 }, + { 0x3F, 115, 25, 24 }, + { 0x47, 114, 19, 70 }, + { 0x48, 115, 32, 6 }, + { 0x49, 114, 32, 57 }, + { 0x51, 116, 71, 4 }, + { 0x52, 123, 47, 3 }, + { 0x53, 123, 57, 5 }, + { 0x5B, 116, 79, 11 }, + { 0x5C, 123, 49, 3 }, + { 0x5D, 120, 18, 12 }, + { 0x65, 120, 28, 62 }, + { 0x66, 116, 56, 6 }, + { 0x67, 119, 16, 81 }, + { 0x6F, 120, 30, 62 }, + { 0x70, 116, 55, 15 }, + { 0x71, 119, 16, 28 }, + { 0x79, 111, 33, 34 }, + { 0x7A, 118, 29, 5 }, + { 0x7B, 127, 45, 24 }, + { 0x83, 111, 24, 36 }, + { 0x84, 125, 7, 25 }, + { 0x85, 115, 8, 30 }, + { 0x8D, 111, 34, 50 }, + { 0x8E, 127, 59, 72 }, + { 0x8F, 127, 61, 21 }, + { 0x97, 127, 67, 63 }, + { 0x98, 125, 24, 32 }, + { 0x99, 111, 35, 31 }, + { 0xA1, 111, 13, 19 }, + { 0xA2, 121, 43, 7 }, + { 0xA3, 118, 47, 5 }, + { 0xA4, 111, 14, 19 }, + { 0xAB, 118, 46, 5 }, + { 0xAC, 121, 42, 7 }, + { 0xAD, 119, 19, 76 }, + { 0xAE, 115, 7, 20 }, + { 0xB5, 110, 16, 25 }, + { 0xB6, 114, 11, 27 }, + { 0xB7, 115, 8, 20 }, + { 0xBF, 110, 17, 25 }, + { 0xC0, 114, 12, 27 }, + { 0xC1, 119, 18, 76 }, + { 0xC9, 119, 5, 2 }, + { 0xCA, 119, 4, 89 }, + { 0xCB, 120, 38, 54 }, + { 0xCC, 120, 5, 76 }, + { 0xD3, 119, 5, 15 }, + { 0xD4, 119, 7, 101 }, + { 0xD5, 120, 31, 23 }, + { 0xDD, 119, 34, 24 }, + { 0xDE, 120, 26, 10 }, + { 0xDF, 119, 4, 15 }, + { 0xE7, 119, 31, 73 }, + { 0xE8, 120, 29, 85 }, + { 0xE9, 119, 6, 2 }, +}; + +const u8 Str_843E550[] = _("R"); +const u8 Str_843E552[] = _("X"); +const u8 Str_843E554[] = _("Y"); +const u8 Str_843E556[] = _( + "♂1\n" + "♂2\n" + "♂3\n" + "♂4\n" + "♂5\n" + "♀1\n" + "♀2\n" + "♀3\n" + "♀4\n" + "♀5"); +const u8 Str_843E574[] = _("ー"); +const u8 Str_843E576[] = _("あ"); +const u8 Str_843E578[] = _("ア"); +const u8 Str_843E57A[] = _("A"); +const u8 Str_843E57C[] = _("a"); +const u8 Str_843E57E[] = _("0"); +const u8 Str_843E580[] = _( + "ADD\n" + "DEL\n" + "EXIT"); +const u8 Str_843E58D[] = _( + "Fishing location R119\n" + " Y1\n" + " Y2\n" + " Y3\n" + "Encounter location\n" + "\n" + "\n" + "front of you"); +const u8 _843E5D1[] = {0x0F, 0x16, 0x19}; +const u8 Str_843E5D4[] = _( + "Aボタン {ESCAPE}\p" + "  Bボタン ー\n" + "START けってい"); +const u8 Str_843E5F0[] = _("?"); +const u8 Str_843E5F2[] = _("HP どりょくち"); +const u8 Str_843E5FB[] = _("こうげき どりょくち"); +const u8 Str_843E606[] = _("ぼうぎょ どりょくち"); +const u8 Str_843E611[] = _("すばやさ どりょくち"); +const u8 Str_843E61C[] = _("とくこう どりょくち"); +const u8 Str_843E627[] = _("とくぼう どりょくち"); +const u8 Str_843E632[] = _("なつきど"); +const u8 Str_843E637[] = _("どりょくち ごうけい"); +const u8 Str_843E642[] = _("ここから"); +const u8 Str_843E647[] = _("ここまで"); +const u8 Str_843E64C[] = _("かいすう"); +const u8 Str_843E651[] = _("けっか"); +const u8 Str_843E655[] = _("かい"); +const u8 Str_843E658[] = _("0"); +const u8 Str_843E65A[] = _("はんい"); + +__attribute__((naked)) +void debug_sub_815F1B8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0xe\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._1\n" + " mov r0, #0x10\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xe\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0xf\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " add sp, sp, #0x8\n" + " pop {r0}\n" + " bx r0\n" + "._2:\n" + " .align 2, 0\n" + "._1:\n" + " .word _843E3DC\n" + "\n" + ); +} + +__attribute__((naked)) +void InitNakamuraDebugMenu() +{ + asm( + " push {lr}\n" + " bl debug_sub_815F1B8\n" + " ldr r1, ._3\n" + " ldr r0, ._3 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_815F214+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F214() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._9\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._5 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + "._5:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._6 @cond_branch\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + "._6:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._7 @cond_branch\n" + " ldr r4, ._9 + 4\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x15\n" + " add r4, r4, #0x4\n" + " add r0, r0, r4\n" + " ldr r4, [r0]\n" + " bl HandleDestroyMenuCursors\n" + " bl _call_via_r4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._12\n" + "._10:\n" + " .align 2, 0\n" + "._9:\n" + " .word gMain\n" + " .word _843E3DC\n" + "._7:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._11 @cond_branch\n" + " mov r0, #0x0\n" + " b ._12\n" + "._11:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._12:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F284() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, ._14\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._13 @cond_branch\n" + " bl debug_sub_81381B4\n" + " mov r0, #0x5\n" + " mov r1, #0x0\n" + " bl OpenPartyMenu\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + "._13:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._15:\n" + " .align 2, 0\n" + "._14:\n" + " .word gPaletteFade\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815F2B4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " bl CloseMenu\n" + " bl MenuZeroFillScreen\n" + " ldr r1, ._16\n" + " ldr r0, ._16 + 4\n" + " str r0, [r1, #0x8]\n" + " ldr r0, ._16 + 8\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " mov r0, #0x1\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._17:\n" + " .align 2, 0\n" + "._16:\n" + " .word gMain\n" + " .word sub_805469C+1\n" + " .word debug_sub_815F284+1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815F2F4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " bl CloseMenu\n" + " mov r7, #0x1\n" + "._34:\n" + " lsl r1, r7, #0x2\n" + " add r0, r1, r7\n" + " lsl r2, r0, #0x5\n" + " ldr r3, ._24\n" + " add r0, r2, r3\n" + " ldr r5, ._24 + 4\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " mov r9, r1\n" + " add r1, r7, #1\n" + " str r1, [sp]\n" + " cmp r0, #0\n" + " beq ._18 @cond_branch\n" + " b ._19\n" + "._18:\n" + " mov r5, #0x0\n" + " ldr r6, ._24 + 8\n" + " add r4, r7, #0\n" + " sub r4, r4, #0x46\n" + " ldr r3, ._24 + 12\n" + "._21:\n" + " add r1, r5, r2\n" + " add r1, r1, r3\n" + " add r0, r5, r6\n" + " ldrb r0, [r0]\n" + " strb r0, [r1]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0xff\n" + " beq ._20 @cond_branch\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x6\n" + " bls ._21 @cond_branch\n" + "._20:\n" + " cmp r5, #0x7\n" + " bne ._22 @cond_branch\n" + " add r0, r2, #6\n" + " b ._23\n" + "._25:\n" + " .align 2, 0\n" + "._24:\n" + " .word gSaveBlock1\n" + " .word 0x1a08\n" + " .word gSaveBlock2\n" + " .word gSaveBlock1+0x1a0a\n" + "._22:\n" + " add r0, r5, r2\n" + "._23:\n" + " add r0, r0, r3\n" + " strb r4, [r0]\n" + " ldr r1, ._35\n" + " ldr r2, ._35 + 4\n" + " add r2, r2, r1\n" + " mov sl, r2\n" + " mov r3, r9\n" + " add r0, r3, r7\n" + " lsl r6, r0, #0x5\n" + " add r1, r6, r1\n" + " ldr r5, ._35 + 4\n" + " add r5, r5, r1\n" + " mov r8, r5\n" + "._30:\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0x4b\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0xe\n" + " ldr r1, ._35 + 8\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " mov r2, r8\n" + " strb r0, [r2]\n" + " mov r5, #0x0\n" + " cmp r5, r7\n" + " bcs ._28 @cond_branch\n" + " mov r3, sl\n" + " ldrb r3, [r3]\n" + " cmp r0, r3\n" + " beq ._28 @cond_branch\n" + " ldr r4, ._35\n" + " add r0, r6, r4\n" + " ldr r2, ._35 + 4\n" + " add r3, r0, r2\n" + "._29:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r7\n" + " bcs ._28 @cond_branch\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r4\n" + " add r0, r0, r2\n" + " ldrb r1, [r3]\n" + " ldrb r0, [r0]\n" + " cmp r1, r0\n" + " bne ._29 @cond_branch\n" + "._28:\n" + " cmp r5, r7\n" + " bne ._30 @cond_branch\n" + " bl Random\n" + " mov r5, r9\n" + " add r4, r5, r7\n" + " lsl r4, r4, #0x5\n" + " ldr r1, ._35\n" + " add r3, r4, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0x1\n" + " ldr r2, ._35 + 12\n" + " add r3, r3, r2\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x4\n" + " ldrb r1, [r3]\n" + " mov r5, #0x11\n" + " neg r5, r5\n" + " add r2, r5, #0\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strb r1, [r3]\n" + " mov r5, #0x0\n" + " ldr r6, ._35 + 16\n" + "._31:\n" + " bl Random\n" + " add r1, r5, r4\n" + " add r1, r1, r6\n" + " strb r0, [r1]\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x3\n" + " bls ._31 @cond_branch\n" + " mov r5, #0x0\n" + " mov r1, r9\n" + " add r0, r1, r7\n" + " lsl r4, r0, #0x5\n" + " ldr r3, ._35 + 20\n" + " mov r2, #0x0\n" + " add r6, r3, #0\n" + " add r6, r6, #0x10\n" + "._32:\n" + " add r1, r5, r4\n" + " add r0, r1, r3\n" + " strb r2, [r0]\n" + " add r1, r1, r6\n" + " strb r2, [r1]\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0xf\n" + " bls ._32 @cond_branch\n" + " add r0, r7, #0\n" + " bl unref_sub_80BCD7C\n" + "._19:\n" + " ldr r2, [sp]\n" + " lsl r0, r2, #0x18\n" + " lsr r7, r0, #0x18\n" + " cmp r7, #0x13\n" + " bhi ._33 @cond_branch\n" + " b ._34\n" + "._33:\n" + " mov r0, #0x1\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._36:\n" + " .align 2, 0\n" + "._35:\n" + " .word gSaveBlock1\n" + " .word 0x1a08\n" + " .word _843E424\n" + " .word 0x1a09\n" + " .word gSaveBlock1+0x1a11\n" + " .word gSaveBlock1+0x1a1a\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F470() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add r6, r0, #0\n" + " add r7, r1, #0\n" + " mov ip, r2\n" + " ldr r2, ._39\n" + " ldr r0, ._39 + 4\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r2\n" + " ldr r1, ._39 + 8\n" + " add r0, r0, r1\n" + " ldrb r4, [r0]\n" + " mov r2, #0x0\n" + " ldr r3, ._39 + 12\n" + " add r5, r3, #0\n" + "._41:\n" + " lsl r1, r2, #0x2\n" + " add r0, r1, r5\n" + " ldrb r0, [r0]\n" + " cmp r0, r4\n" + " bne ._37 @cond_branch\n" + " add r0, r1, #1\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " strb r0, [r6]\n" + " add r0, r1, #2\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " strb r0, [r7]\n" + " add r0, r1, #3\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " mov r1, ip\n" + " strb r0, [r1]\n" + " b ._38\n" + "._40:\n" + " .align 2, 0\n" + "._39:\n" + " .word gSaveBlock1\n" + " .word _nakamuraData\n" + " .word 0x1a08\n" + " .word _843E424\n" + "._37:\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x4a\n" + " bls ._41 @cond_branch\n" + "._38:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F4D8() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0xa\n" + " mov r3, #0xa\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r6, ._43\n" + " ldr r7, ._43 + 4\n" + " ldrb r1, [r7]\n" + " add r0, r6, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r2, ._43 + 8\n" + " ldrb r1, [r7]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r2\n" + " ldr r1, ._43 + 12\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._42 @cond_branch\n" + " mov r4, sp\n" + " add r4, r4, #0x1\n" + " mov r5, sp\n" + " add r5, r5, #0x2\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl debug_sub_815F470\n" + " ldrb r1, [r7]\n" + " add r0, r6, #0\n" + " bl sub_80BC190\n" + " add r0, r6, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r0, ._43 + 16\n" + " mov r1, #0x1\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, sp\n" + " ldrb r1, [r0]\n" + " add r0, r6, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldr r0, ._43 + 20\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldrb r1, [r4]\n" + " add r0, r6, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0x3\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r0, ._43 + 24\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " ldrb r1, [r5]\n" + " add r0, r6, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0x3\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + "._42:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._44:\n" + " .align 2, 0\n" + "._43:\n" + " .word gStringVar1\n" + " .word _nakamuraData\n" + " .word gSaveBlock1\n" + " .word 0x1a08\n" + " .word Str_843E550\n" + " .word Str_843E552\n" + " .word Str_843E554\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F5C4() +{ + asm( + " push {lr}\n" + " ldr r0, ._48\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " cmp r2, #0\n" + " beq ._45 @cond_branch\n" + " ldr r1, ._48 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._46 @cond_branch\n" + " mov r0, #0x13\n" + " b ._50\n" + "._49:\n" + " .align 2, 0\n" + "._48:\n" + " .word gMain\n" + " .word _nakamuraData\n" + "._46:\n" + " sub r0, r0, #0x1\n" + " b ._50\n" + "._45:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._51 @cond_branch\n" + " ldr r1, ._54\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x13\n" + " bne ._52 @cond_branch\n" + " strb r2, [r1]\n" + " b ._53\n" + "._55:\n" + " .align 2, 0\n" + "._54:\n" + " .word _nakamuraData\n" + "._52:\n" + " add r0, r0, #0x1\n" + "._50:\n" + " strb r0, [r1]\n" + "._53:\n" + " bl debug_sub_815F4D8\n" + " mov r0, #0x0\n" + " b ._58\n" + "._51:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._57 @cond_branch\n" + " mov r0, #0x0\n" + " b ._58\n" + "._57:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._58:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815F62C() +{ + asm( + " push {lr}\n" + " ldr r1, ._59\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " ldr r1, ._59 + 4\n" + " ldr r0, ._59 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xb\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " bl debug_sub_815F4D8\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._60:\n" + " .align 2, 0\n" + "._59:\n" + " .word _nakamuraData\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_815F5C4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F668() +{ + asm( + " push {r4, r5, r6, lr}\n" + " ldr r0, ._61\n" + " ldrb r0, [r0]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x5\n" + " ldr r0, ._61 + 4\n" + " add r1, r1, r0\n" + " ldrb r4, [r1, #0x3]\n" + " lsl r4, r4, #0x18\n" + " ldrb r0, [r1, #0x2]\n" + " lsl r0, r0, #0x10\n" + " orr r4, r4, r0\n" + " ldrb r0, [r1, #0x1]\n" + " lsl r0, r0, #0x8\n" + " orr r4, r4, r0\n" + " ldrb r0, [r1]\n" + " orr r4, r4, r0\n" + " ldr r5, ._61 + 8\n" + " ldr r6, ._61 + 12\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " add r0, r5, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl __umodsi3\n" + " add r1, r0, #0\n" + " add r0, r5, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r5, #0\n" + " mov r1, #0x7\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._62:\n" + " .align 2, 0\n" + "._61:\n" + " .word _nakamuraData\n" + " .word gSaveBlock1+0x1a11\n" + " .word gStringVar1\n" + " .word 0x186a0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F6E4() +{ + asm( + " push {r4, lr}\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0xb\n" + " mov r3, #0x4\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r4, ._63\n" + " ldr r0, ._63 + 4\n" + " ldrb r0, [r0]\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x5\n" + " ldr r0, ._63 + 8\n" + " add r1, r1, r0\n" + " add r0, r4, #0\n" + " mov r2, #0x7\n" + " bl StringCopyN\n" + " mov r1, #0xff\n" + " strb r1, [r0]\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._64:\n" + " .align 2, 0\n" + "._63:\n" + " .word gStringVar1\n" + " .word _nakamuraData\n" + " .word gSaveBlock1+0x1a0a\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F72C() +{ + asm( + " push {r4, r5, lr}\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0xb\n" + " mov r3, #0xa\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r4, ._66\n" + " ldr r5, ._66 + 4\n" + " ldrb r1, [r5]\n" + " add r0, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r2, ._66 + 8\n" + " ldrb r1, [r5]\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r2\n" + " ldr r1, ._66 + 12\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._65 @cond_branch\n" + " bl debug_sub_815F6E4\n" + " bl debug_sub_815F668\n" + "._65:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._67:\n" + " .align 2, 0\n" + "._66:\n" + " .word gStringVar1\n" + " .word _nakamuraData\n" + " .word gSaveBlock1\n" + " .word 0x1a08\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F788() +{ + asm( + " push {lr}\n" + " mov r0, #0x2\n" + " mov r1, #0x5\n" + " mov r2, #0xb\n" + " mov r3, #0x6\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r0, ._68\n" + " ldr r1, ._68 + 4\n" + " ldrb r1, [r1]\n" + " add r1, r1, #0x2\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " pop {r0}\n" + " bx r0\n" + "._69:\n" + " .align 2, 0\n" + "._68:\n" + " .word Str_843E574\n" + " .word _nakamuraData+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F7B4() +{ + asm( + " push {lr}\n" + " ldr r0, ._72\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._70 @cond_branch\n" + " mov r0, #0xb\n" + " mov r1, #0x1\n" + " mov r2, #0xb\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " b ._71\n" + "._73:\n" + " .align 2, 0\n" + "._72:\n" + " .word _nakamuraData+0x1\n" + "._70:\n" + " ldr r0, ._74\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x1\n" + " ldr r1, ._74 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xb\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + "._71:\n" + " pop {r0}\n" + " bx r0\n" + "._75:\n" + " .align 2, 0\n" + "._74:\n" + " .word _nakamuraData+0x3\n" + " .word Str_843E576\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F7F0() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r1, ._78\n" + " ldrb r2, [r1]\n" + " lsl r1, r2, #0x2\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x5\n" + " ldr r2, ._78 + 4\n" + " add r3, r1, r2\n" + " ldrb r1, [r3, #0x3]\n" + " lsl r2, r1, #0x18\n" + " ldrb r1, [r3, #0x2]\n" + " lsl r1, r1, #0x10\n" + " orr r2, r2, r1\n" + " ldrb r1, [r3, #0x1]\n" + " lsl r1, r1, #0x8\n" + " orr r2, r2, r1\n" + " ldrb r1, [r3]\n" + " orr r2, r2, r1\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r4, #0x9\n" + " ldr r0, ._78 + 8\n" + " ldrb r0, [r0]\n" + " cmp r4, r0\n" + " ble ._76 @cond_branch\n" + " add r5, r0, #0\n" + "._77:\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r1, r0, #0x1\n" + " lsl r0, r4, #0x18\n" + " mov r4, #0xff\n" + " lsl r4, r4, #0x18\n" + " add r0, r0, r4\n" + " lsr r4, r0, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, r5\n" + " bgt ._77 @cond_branch\n" + "._76:\n" + " add r2, r2, r1\n" + " lsr r0, r2, #0x18\n" + " strb r0, [r3, #0x3]\n" + " mov r0, #0xff\n" + " lsl r0, r0, #0x10\n" + " and r0, r0, r2\n" + " lsr r0, r0, #0x10\n" + " strb r0, [r3, #0x2]\n" + " mov r0, #0xff\n" + " lsl r0, r0, #0x8\n" + " and r0, r0, r2\n" + " lsr r0, r0, #0x8\n" + " strb r0, [r3, #0x1]\n" + " strb r2, [r3]\n" + " bl debug_sub_815F668\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._79:\n" + " .align 2, 0\n" + "._78:\n" + " .word _nakamuraData\n" + " .word gSaveBlock1+0x1a11\n" + " .word _nakamuraData+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F86C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " ldr r1, ._84\n" + " ldrb r2, [r1]\n" + " lsl r1, r2, #0x2\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x5\n" + " ldr r2, ._84 + 4\n" + " add r5, r1, r2\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " lsr r6, r0, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, #0x64\n" + " bne ._80 @cond_branch\n" + " ldr r0, ._84 + 8\n" + " ldrb r1, [r0]\n" + " cmp r1, #0x6\n" + " bhi ._100 @cond_branch\n" + " mov r2, #0xff\n" + "._82:\n" + " add r0, r5, r1\n" + " strb r2, [r0]\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " cmp r1, #0x6\n" + " bls ._82 @cond_branch\n" + " b ._100\n" + "._85:\n" + " .align 2, 0\n" + "._84:\n" + " .word _nakamuraData\n" + " .word gSaveBlock1+0x1a0a\n" + " .word _nakamuraData+0x2\n" + "._80:\n" + " ldr r0, ._87\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x4\n" + " bhi ._98 @cond_branch\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._87 + 4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._88:\n" + " .align 2, 0\n" + "._87:\n" + " .word _nakamuraData+0x3\n" + " .word ._89\n" + "._89:\n" + " .word ._90\n" + " .word ._91\n" + " .word ._92\n" + " .word ._93\n" + " .word ._94\n" + "._90:\n" + " mov r3, #0x1\n" + " mov r2, #0x50\n" + " b ._98\n" + "._91:\n" + " mov r3, #0x51\n" + " mov r2, #0xa0\n" + " b ._98\n" + "._92:\n" + " mov r3, #0xbb\n" + " mov r2, #0xd4\n" + " b ._98\n" + "._93:\n" + " mov r3, #0xd5\n" + " mov r2, #0xee\n" + " b ._98\n" + "._94:\n" + " mov r3, #0xa1\n" + " mov r2, #0xaa\n" + "._98:\n" + " ldr r4, ._101\n" + " ldrb r1, [r4]\n" + " add r1, r5, r1\n" + " ldrb r0, [r1]\n" + " add r0, r0, r6\n" + " strb r0, [r1]\n" + " ldrb r0, [r4]\n" + " add r1, r5, r0\n" + " ldrb r0, [r1]\n" + " cmp r0, r3\n" + " bcs ._99 @cond_branch\n" + " strb r2, [r1]\n" + "._99:\n" + " ldrb r0, [r4]\n" + " add r1, r5, r0\n" + " ldrb r0, [r1]\n" + " cmp r0, r2\n" + " bls ._100 @cond_branch\n" + " strb r3, [r1]\n" + "._100:\n" + " bl debug_sub_815F6E4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._102:\n" + " .align 2, 0\n" + "._101:\n" + " .word _nakamuraData+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815F930() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r0, ._107\n" + " ldrb r2, [r0]\n" + " mov r4, #0xa\n" + " cmp r2, #0\n" + " bne ._103 @cond_branch\n" + " mov r4, #0x7\n" + "._103:\n" + " ldr r5, ._107 + 4\n" + " ldrh r1, [r5, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._104 @cond_branch\n" + " cmp r2, #0\n" + " beq ._105 @cond_branch\n" + " mov r0, #0x1\n" + " bl debug_sub_815F7F0\n" + " b ._136\n" + "._108:\n" + " .align 2, 0\n" + "._107:\n" + " .word _nakamuraData+0x1\n" + " .word gMain\n" + "._105:\n" + " mov r0, #0x1\n" + " b ._113\n" + "._104:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._110 @cond_branch\n" + " cmp r2, #0\n" + " beq ._111 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl debug_sub_815F7F0\n" + " b ._136\n" + "._111:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " b ._113\n" + "._110:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r3, r0, #0x10\n" + " cmp r3, #0\n" + " beq ._114 @cond_branch\n" + " ldr r1, ._117\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._115 @cond_branch\n" + " sub r0, r4, #1\n" + " b ._116\n" + "._118:\n" + " .align 2, 0\n" + "._117:\n" + " .word _nakamuraData+0x2\n" + "._115:\n" + " sub r0, r0, #0x1\n" + "._116:\n" + " strb r0, [r1]\n" + "._125:\n" + " bl debug_sub_815F788\n" + " b ._136\n" + "._114:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._120 @cond_branch\n" + " ldr r2, ._123\n" + " ldrb r1, [r2]\n" + " sub r0, r4, #1\n" + " cmp r1, r0\n" + " bne ._121 @cond_branch\n" + " strb r3, [r2]\n" + " b ._125\n" + "._124:\n" + " .align 2, 0\n" + "._123:\n" + " .word _nakamuraData+0x2\n" + "._121:\n" + " add r0, r1, #1\n" + " strb r0, [r2]\n" + " b ._125\n" + "._120:\n" + " ldrh r1, [r5, #0x2e]\n" + " mov r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._126 @cond_branch\n" + " cmp r2, #0\n" + " bne ._127 @cond_branch\n" + " ldr r4, ._129\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " mov r1, #0x5\n" + " bl __modsi3\n" + " strb r0, [r4]\n" + "._127:\n" + " bl debug_sub_815F7B4\n" + " b ._136\n" + "._130:\n" + " .align 2, 0\n" + "._129:\n" + " .word _nakamuraData+0x3\n" + "._126:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._131 @cond_branch\n" + " mov r0, #0x2\n" + " mov r1, #0x5\n" + " mov r2, #0xb\n" + " mov r3, #0x6\n" + " bl MenuFillWindowRectWithBlankTile\n" + " mov r0, #0xb\n" + " mov r1, #0x1\n" + " mov r2, #0xb\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r1, ._133\n" + " ldr r0, ._133 + 4\n" + " str r0, [r1]\n" + " b ._136\n" + "._134:\n" + " .align 2, 0\n" + "._133:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_815FA38+1\n" + "._131:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._136 @cond_branch\n" + " cmp r2, #0\n" + " bne ._136 @cond_branch\n" + " mov r0, #0x64\n" + "._113:\n" + " bl debug_sub_815F86C\n" + "._136:\n" + " mov r0, #0x0\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815FA38() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._139\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._137 @cond_branch\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " b ._138\n" + "._140:\n" + " .align 2, 0\n" + "._139:\n" + " .word gMain\n" + "._137:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._141 @cond_branch\n" + " mov r0, #0x2\n" + "._138:\n" + " bl MoveMenuCursor\n" + "._161:\n" + " mov r0, #0x0\n" + " b ._142\n" + "._141:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " cmp r2, #0\n" + " beq ._143 @cond_branch\n" + " ldr r1, ._146\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._144 @cond_branch\n" + " mov r0, #0x13\n" + " b ._148\n" + "._147:\n" + " .align 2, 0\n" + "._146:\n" + " .word _nakamuraData\n" + "._144:\n" + " sub r0, r0, #0x1\n" + " b ._148\n" + "._143:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " cmp r4, #0\n" + " beq ._149 @cond_branch\n" + " ldr r1, ._152\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x13\n" + " bne ._150 @cond_branch\n" + " strb r2, [r1]\n" + " b ._151\n" + "._153:\n" + " .align 2, 0\n" + "._152:\n" + " .word _nakamuraData\n" + "._150:\n" + " add r0, r0, #0x1\n" + "._148:\n" + " strb r0, [r1]\n" + "._151:\n" + " bl debug_sub_815F72C\n" + " b ._161\n" + "._149:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._155 @cond_branch\n" + " ldr r1, ._159\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._161 @cond_branch\n" + " ldr r2, ._159 + 4\n" + " add r1, r0, #0\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r2\n" + " ldr r1, ._159 + 8\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._161 @cond_branch\n" + " bl GetMenuCursorPos\n" + " ldr r1, ._159 + 12\n" + " strb r0, [r1]\n" + " ldr r0, ._159 + 16\n" + " strb r4, [r0]\n" + " bl debug_sub_815F788\n" + " bl debug_sub_815F7B4\n" + " ldr r1, ._159 + 20\n" + " ldr r0, ._159 + 24\n" + " str r0, [r1]\n" + " b ._161\n" + "._160:\n" + " .align 2, 0\n" + "._159:\n" + " .word _nakamuraData\n" + " .word gSaveBlock1\n" + " .word 0x1a08\n" + " .word _nakamuraData+0x1\n" + " .word _nakamuraData+0x2\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_815F930+1\n" + "._155:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._161 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._142:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815FB1C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " ldr r0, ._162\n" + " mov r1, #0x0\n" + " strb r1, [r0]\n" + " ldr r0, ._162 + 4\n" + " strb r1, [r0]\n" + " ldr r1, ._162 + 8\n" + " ldr r0, ._162 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xc\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " bl debug_sub_815F72C\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xb\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x3\n" + " bl InitMenu\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._163:\n" + " .align 2, 0\n" + "._162:\n" + " .word _nakamuraData\n" + " .word _nakamuraData+0x3\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_815FA38+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815FB78() +{ + asm( + " push {lr}\n" + " ldr r0, ._166\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._164 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " b ._165\n" + "._167:\n" + " .align 2, 0\n" + "._166:\n" + " .word gMain\n" + "._164:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._168 @cond_branch\n" + " mov r0, #0x1\n" + "._165:\n" + " bl MoveMenuCursor\n" + " mov r0, #0x0\n" + " b ._177\n" + "._168:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._170 @cond_branch\n" + " bl CloseMenu\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._171 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._172 @cond_branch\n" + " b ._175\n" + "._171:\n" + " bl debug_sub_814A714\n" + " b ._175\n" + "._172:\n" + " bl ClearRoamerData\n" + " bl ClearRoamerLocationData\n" + " b ._175\n" + "._170:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._176 @cond_branch\n" + " mov r0, #0x0\n" + " b ._177\n" + "._176:\n" + " bl CloseMenu\n" + "._175:\n" + " mov r0, #0x1\n" + "._177:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815FBE8() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " ldr r1, ._178\n" + " ldr r0, ._178 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " ldr r4, ._178 + 8\n" + " add r0, r4, #0\n" + " bl debug_sub_814A73C\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xb\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " add r0, r4, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._178 + 12\n" + " mov r1, #0x2\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xa\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x3\n" + " bl InitMenu\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._179:\n" + " .align 2, 0\n" + "._178:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_815FB78+1\n" + " .word gStringVar1\n" + " .word Str_843E580\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815FC54() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r3, #0x0\n" + " ldr r7, ._181\n" + " mov r6, #0xe8\n" + " lsl r6, r6, #0x3\n" + " ldr r5, ._181 + 4\n" + " ldr r4, ._181 + 8\n" + "._180:\n" + " lsl r1, r3, #0x2\n" + " add r1, r1, r7\n" + " add r2, r3, #0\n" + " add r2, r2, #0x85\n" + " add r0, r1, r6\n" + " strh r2, [r0]\n" + " add r1, r1, r4\n" + " strh r5, [r1]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r3, r0, #0x10\n" + " cmp r3, #0x2a\n" + " bls ._180 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._182:\n" + " .align 2, 0\n" + "._181:\n" + " .word gSaveBlock1\n" + " .word 0x3e7\n" + " .word 0x742\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815FC94() +{ + asm( + " push {lr}\n" + " bl ClearDecorationInventories\n" + " bl debug_sub_814A3A8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815FCB4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " mov r7, #0x0\n" + " ldr r5, ._188\n" + " ldr r0, [r5]\n" + " ldr r0, [r0, #0x4]\n" + " mov r1, #0x3\n" + " bl __divsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " add r1, r0, #0\n" + " mul r1, r1, r4\n" + " lsl r1, r1, #0x10\n" + " lsr r6, r1, #0x10\n" + " add r0, r6, r0\n" + " mov r9, r5\n" + " cmp r6, r0\n" + " bge ._183 @cond_branch\n" + " mov r8, r0\n" + "._187:\n" + " mov r4, #0x0\n" + " mov r1, r9\n" + " ldr r0, [r1]\n" + " ldr r0, [r0]\n" + " add r5, r6, #1\n" + " cmp r4, r0\n" + " bge ._184 @cond_branch\n" + " ldr r0, ._188\n" + " mov r9, r0\n" + "._186:\n" + " add r0, r4, #7\n" + " add r1, r6, #7\n" + " bl MapGridGetMetatileBehaviorAt\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl sub_805759C\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._185 @cond_branch\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r7, r0, #0x10\n" + "._185:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " ldr r0, ._188\n" + " ldr r0, [r0]\n" + " ldr r0, [r0]\n" + " cmp r4, r0\n" + " blt ._186 @cond_branch\n" + "._184:\n" + " lsl r0, r5, #0x10\n" + " lsr r6, r0, #0x10\n" + " cmp r6, r8\n" + " blt ._187 @cond_branch\n" + "._183:\n" + " add r0, r7, #0\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._189:\n" + " .align 2, 0\n" + "._188:\n" + " .word gMapHeader\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815FD40() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r6, #0x0\n" + " mov r4, sp\n" + " add r4, r4, #0x2\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " bl GetXYCoordsOneStepInFrontOfPlayer\n" + " mov r1, sp\n" + " mov r0, sp\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x7\n" + " strh r0, [r1]\n" + " ldrh r0, [r4]\n" + " sub r0, r0, #0x7\n" + " strh r0, [r4]\n" + " mov r5, #0x0\n" + " ldr r1, ._192\n" + " ldr r0, [r1]\n" + " ldr r0, [r0, #0x4]\n" + " add r7, r4, #0\n" + " cmp r6, r0\n" + " bge ._190 @cond_branch\n" + "._199:\n" + " mov r4, #0x0\n" + " ldr r0, [r1]\n" + " b ._191\n" + "._193:\n" + " .align 2, 0\n" + "._192:\n" + " .word gMapHeader\n" + "._198:\n" + " add r0, r4, #7\n" + " add r1, r5, #7\n" + " bl MapGridGetMetatileBehaviorAt\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl sub_805759C\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._196 @cond_branch\n" + " add r0, r6, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r6, r0, #0x10\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, r4\n" + " bne ._196 @cond_branch\n" + " mov r1, #0x0\n" + " ldsh r0, [r7, r1]\n" + " cmp r0, r5\n" + " bne ._196 @cond_branch\n" + " add r0, r6, #0\n" + " b ._197\n" + "._196:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " ldr r0, ._200\n" + " ldr r0, [r0]\n" + "._191:\n" + " ldr r0, [r0]\n" + " cmp r4, r0\n" + " blt ._198 @cond_branch\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " ldr r1, ._200\n" + " ldr r0, [r1]\n" + " ldr r0, [r0, #0x4]\n" + " cmp r5, r0\n" + " blt ._199 @cond_branch\n" + "._190:\n" + " add r0, r6, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + "._197:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._201:\n" + " .align 2, 0\n" + "._200:\n" + " .word gMapHeader\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815FDE4() +{ + asm( + " push {lr}\n" + " ldr r0, ._205\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._202 @cond_branch\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._203 @cond_branch\n" + "._202:\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._204\n" + "._206:\n" + " .align 2, 0\n" + "._205:\n" + " .word gMain\n" + "._203:\n" + " mov r0, #0x0\n" + "._204:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_815FE1C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x10\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._210\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r6, ._210 + 4\n" + " mov r0, #0x0\n" + " bl debug_sub_815FCB4\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0x5\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " mov r0, #0x1\n" + " bl debug_sub_815FCB4\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0x5\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0x2\n" + " bl debug_sub_815FCB4\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0x5\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " bl debug_sub_8092344\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " mov r0, #0x1\n" + " bl debug_sub_8092344\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0x2\n" + " bl debug_sub_8092344\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r6, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r0, ._210 + 8\n" + " ldr r1, ._210 + 12\n" + " add r0, r0, r1\n" + " ldrh r0, [r0]\n" + " bl FeebasSeedRng\n" + " mov r0, #0x0\n" + " bl debug_sub_815FCB4\n" + " add r4, r0, #0\n" + " mov r0, #0x1\n" + " bl debug_sub_815FCB4\n" + " add r5, r0, #0\n" + " mov r0, #0x2\n" + " bl debug_sub_815FCB4\n" + " add r4, r4, r5\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x10\n" + " lsr r7, r0, #0x10\n" + " mov r5, #0x0\n" + "._209:\n" + " bl FeebasRandom\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " add r1, r7, #0\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r1, r0, #0x10\n" + " cmp r1, #0\n" + " bne ._207 @cond_branch\n" + " add r1, r7, #0\n" + "._207:\n" + " sub r0, r1, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0x2\n" + " bls ._208 @cond_branch\n" + " add r0, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r5, #0\n" + " mov r1, #0x3\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " lsl r4, r0, #0x2\n" + " add r4, r4, r0\n" + " add r4, r4, #0x2\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r5, #0\n" + " mov r1, #0x3\n" + " bl __udivsi3\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x19\n" + " mov r0, #0xb0\n" + " lsl r0, r0, #0x14\n" + " add r2, r2, r0\n" + " lsr r2, r2, #0x18\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " bl MenuPrint\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + "._208:\n" + " cmp r5, #0x6\n" + " bne ._209 @cond_branch\n" + " ldr r4, ._210 + 4\n" + " bl debug_sub_815FD40\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " ldr r1, ._210 + 16\n" + " ldr r0, ._210 + 20\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._211:\n" + " .align 2, 0\n" + "._210:\n" + " .word Str_843E58D\n" + " .word gStringVar1\n" + " .word gSaveBlock1\n" + " .word 0x2dd6\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_815FDE4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_815FFDC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " mov r0, #0xe\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x0\n" + " mov r1, #0xe\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._214\n" + " mov r1, #0x1\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " mov r5, #0x0\n" + " ldr r0, ._214 + 4\n" + " mov r8, r0\n" + "._216:\n" + " mov r0, #0x64\n" + " add r1, r5, #0\n" + " mul r1, r1, r0\n" + " ldr r0, ._214 + 8\n" + " add r6, r1, r0\n" + " add r0, r6, #0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " lsl r1, r5, #0x2\n" + " mov r2, r8\n" + " add r4, r1, r2\n" + " strh r0, [r4]\n" + " lsl r0, r0, #0x10\n" + " add r7, r1, #0\n" + " cmp r0, #0\n" + " beq ._212 @cond_branch\n" + " add r0, r6, #0\n" + " mov r1, #0x38\n" + " bl GetMonData\n" + " strb r0, [r4, #0x2]\n" + " add r0, r5, #0\n" + " bl debug_sub_816009C\n" + " add r0, r5, #0\n" + " bl debug_sub_81600D0\n" + " add r0, r5, #0\n" + " bl debug_sub_816013C\n" + " b ._213\n" + "._215:\n" + " .align 2, 0\n" + "._214:\n" + " .word Str_843E5D4\n" + " .word _nakamuraStatic\n" + " .word gPlayerParty\n" + "._212:\n" + " mov r0, #0x1\n" + " strb r0, [r4, #0x2]\n" + "._213:\n" + " mov r0, r8\n" + " add r1, r7, r0\n" + " mov r0, #0x0\n" + " strb r0, [r1, #0x3]\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x5\n" + " bls ._216 @cond_branch\n" + " ldr r1, ._217\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " mov r0, #0xf\n" + " mov r1, #0x1\n" + " mov r2, #0xff\n" + " bl unref_sub_80F924C\n" + " ldr r1, ._217 + 4\n" + " ldr r0, ._217 + 8\n" + " str r0, [r1]\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._218:\n" + " .align 2, 0\n" + "._217:\n" + " .word _nakamuraData+0x4\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8160498+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_816009C() +{ + asm( + " push {lr}\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " ldr r1, ._219\n" + " lsl r0, r2, #0x2\n" + " add r0, r0, r1\n" + " mov r3, #0x0\n" + " ldsh r1, [r0, r3]\n" + " mov r0, #0xb\n" + " mul r0, r0, r1\n" + " ldr r1, ._219 + 4\n" + " add r0, r0, r1\n" + " lsl r2, r2, #0x1\n" + " add r2, r2, #0x1\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r1, #0x10\n" + " bl MenuPrint\n" + " pop {r0}\n" + " bx r0\n" + "._220:\n" + " .align 2, 0\n" + "._219:\n" + " .word _nakamuraStatic\n" + " .word gSpeciesNames\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_81600D0() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " add r5, r4, #0\n" + " ldr r1, ._223\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " bl memcpy\n" + " mov r0, #0x64\n" + " mul r0, r0, r4\n" + " ldr r1, ._223 + 4\n" + " add r0, r0, r1\n" + " bl GetMonGender\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._221 @cond_branch\n" + " ldr r0, ._223 + 8\n" + " b ._222\n" + "._224:\n" + " .align 2, 0\n" + "._223:\n" + " .word Str_843E5F0\n" + " .word gPlayerParty\n" + " .word gOtherText_MaleSymbol2\n" + "._221:\n" + " cmp r0, #0xfe\n" + " bne ._225 @cond_branch\n" + " ldr r0, ._227\n" + "._222:\n" + " lsl r2, r4, #0x1\n" + " add r2, r2, #0x1\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r1, #0x17\n" + " bl MenuPrint\n" + " b ._226\n" + "._228:\n" + " .align 2, 0\n" + "._227:\n" + " .word gOtherText_FemaleSymbolAndLv\n" + "._225:\n" + " lsl r2, r5, #0x1\n" + " add r2, r2, #0x1\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r0, sp\n" + " mov r1, #0x17\n" + " bl MenuPrint\n" + "._226:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_816013C() +{ + asm( + " push {r4, r5, lr}\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r5, ._229\n" + " ldr r1, ._229 + 4\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r1\n" + " mov r1, #0x2\n" + " ldrsb r1, [r0, r1]\n" + " add r0, r5, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " lsl r4, r4, #0x1\n" + " add r4, r4, #0x1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r5, #0\n" + " mov r1, #0x1a\n" + " add r2, r4, #0\n" + " bl MenuPrint\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._230:\n" + " .align 2, 0\n" + "._229:\n" + " .word gStringVar1\n" + " .word _nakamuraStatic\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_816017C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " lsl r3, r4, #0x1\n" + " add r1, r3, #1\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r3, r3, #0x2\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0x10\n" + " mov r2, #0x1c\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r1, ._232\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0\n" + " beq ._231 @cond_branch\n" + " add r0, r4, #0\n" + " bl debug_sub_816009C\n" + " add r0, r4, #0\n" + " bl debug_sub_81600D0\n" + " add r0, r4, #0\n" + " bl debug_sub_816013C\n" + "._231:\n" + " mov r0, #0x5\n" + " bl debug_sub_81603B8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._233:\n" + " .align 2, 0\n" + "._232:\n" + " .word _nakamuraStatic\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_81601C8() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffff0\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r1, ._239\n" + " lsl r0, r5, #0x2\n" + " add r2, r0, r1\n" + " mov r4, #0x0\n" + " ldsh r0, [r2, r4]\n" + " cmp r0, #0\n" + " bne ._236 @cond_branch\n" + " ldrb r0, [r2, #0x3]\n" + " cmp r0, #0\n" + " bne ._236 @cond_branch\n" + " cmp r3, #0x1\n" + " bne ._236 @cond_branch\n" + " mov r0, #0x8a\n" + " lsl r0, r0, #0x1\n" + " strh r0, [r2]\n" + "._236:\n" + " lsl r0, r5, #0x2\n" + " add r4, r0, r1\n" + " lsl r0, r3, #0x18\n" + " asr r0, r0, #0x18\n" + " ldrh r1, [r4]\n" + " add r2, r0, r1\n" + " mov r3, #0x0\n" + " strh r2, [r4]\n" + " lsl r1, r2, #0x10\n" + " mov r0, #0xcd\n" + " lsl r0, r0, #0x11\n" + " cmp r1, r0\n" + " ble ._237 @cond_branch\n" + " ldr r1, ._239 + 4\n" + " add r0, r2, r1\n" + " strh r0, [r4]\n" + "._237:\n" + " ldrh r1, [r4]\n" + " mov r2, #0x0\n" + " ldsh r0, [r4, r2]\n" + " cmp r0, #0\n" + " bge ._238 @cond_branch\n" + " ldr r2, ._239 + 8\n" + " add r0, r1, r2\n" + " strh r0, [r4]\n" + "._238:\n" + " mov r0, #0x64\n" + " mul r0, r0, r5\n" + " ldr r1, ._239 + 12\n" + " add r0, r0, r1\n" + " ldrh r1, [r4]\n" + " ldrb r2, [r4, #0x2]\n" + " str r3, [sp]\n" + " str r3, [sp, #0x4]\n" + " str r3, [sp, #0x8]\n" + " str r3, [sp, #0xc]\n" + " mov r3, #0x20\n" + " bl CreateMon\n" + " mov r0, #0x1\n" + " strb r0, [r4, #0x3]\n" + " add sp, sp, #0x10\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._240:\n" + " .align 2, 0\n" + "._239:\n" + " .word _nakamuraStatic\n" + " .word 0xfffffe65\n" + " .word 0x19b\n" + " .word gPlayerParty\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160258() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " ldr r1, ._242\n" + " lsl r0, r2, #0x2\n" + " add r0, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0\n" + " beq ._241 @cond_branch\n" + " add r0, r2, #0\n" + " bl debug_sub_816062C\n" + "._241:\n" + " pop {r0}\n" + " bx r0\n" + "._243:\n" + " .align 2, 0\n" + "._242:\n" + " .word _nakamuraStatic\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_816027C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r4, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r2, r1, #0x18\n" + " ldr r1, ._247\n" + " lsl r0, r4, #0x2\n" + " add r3, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r3, r1]\n" + " cmp r0, #0\n" + " beq ._244 @cond_branch\n" + " lsl r0, r2, #0x18\n" + " asr r0, r0, #0x18\n" + " ldrb r1, [r3, #0x2]\n" + " add r0, r0, r1\n" + " strb r0, [r3, #0x2]\n" + " lsl r0, r0, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, #0x64\n" + " ble ._245 @cond_branch\n" + " mov r0, #0x1\n" + " strb r0, [r3, #0x2]\n" + "._245:\n" + " mov r0, #0x2\n" + " ldrsb r0, [r3, r0]\n" + " cmp r0, #0\n" + " bgt ._246 @cond_branch\n" + " mov r0, #0x64\n" + " strb r0, [r3, #0x2]\n" + "._246:\n" + " mov r0, #0x64\n" + " mul r4, r4, r0\n" + " ldr r0, ._247 + 4\n" + " add r4, r4, r0\n" + " ldr r2, ._247 + 8\n" + " mov r0, #0x0\n" + " ldsh r1, [r3, r0]\n" + " lsl r0, r1, #0x3\n" + " sub r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldrb r1, [r0, #0x13]\n" + " mov r0, #0xca\n" + " lsl r0, r0, #0x1\n" + " add r2, r1, #0\n" + " mul r2, r2, r0\n" + " mov r0, #0x2\n" + " ldrsb r0, [r3, r0]\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._247 + 12\n" + " add r0, r0, r1\n" + " add r2, r2, r0\n" + " add r0, r4, #0\n" + " mov r1, #0x19\n" + " bl SetMonData\n" + " add r0, r4, #0\n" + " bl debug_sub_803F55C\n" + "._244:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._248:\n" + " .align 2, 0\n" + "._247:\n" + " .word _nakamuraStatic\n" + " .word gPlayerParty\n" + " .word gBaseStats\n" + " .word gExperienceTables\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160308() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add sp, sp, #0xffffff8c\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " mov r2, #0x0\n" + "._252:\n" + " add r1, r2, #1\n" + " lsl r0, r1, #0x18\n" + " lsr r5, r0, #0x18\n" + " mov r8, r1\n" + " cmp r5, #0x5\n" + " bhi ._249 @cond_branch\n" + " mov r0, #0x64\n" + " mov r9, r0\n" + " mov r0, r9\n" + " mul r0, r0, r2\n" + " ldr r7, ._254\n" + " add r6, r0, r7\n" + "._251:\n" + " add r0, r6, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " bne ._250 @cond_branch\n" + " add r0, sp, #0x10\n" + " add r1, r6, #0\n" + " mov r2, #0x64\n" + " bl memcpy\n" + " mov r4, r9\n" + " mul r4, r4, r5\n" + " add r4, r4, r7\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " mov r2, #0x64\n" + " bl memcpy\n" + " add r0, r4, #0\n" + " add r1, sp, #0x10\n" + " mov r2, #0x64\n" + " bl memcpy\n" + "._250:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x5\n" + " bls ._251 @cond_branch\n" + "._249:\n" + " mov r1, r8\n" + " lsl r0, r1, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x4\n" + " bls ._252 @cond_branch\n" + " bl CalculatePlayerPartyCount\n" + " ldr r4, ._254 + 4\n" + " ldrb r1, [r4]\n" + " cmp r1, #0\n" + " bne ._253 @cond_branch\n" + " ldr r0, ._254\n" + " str r1, [sp]\n" + " str r1, [sp, #0x4]\n" + " str r1, [sp, #0x8]\n" + " str r1, [sp, #0xc]\n" + " mov r1, #0x1\n" + " mov r2, #0xa\n" + " mov r3, #0x20\n" + " bl CreateMon\n" + " mov r0, #0x1\n" + " strb r0, [r4]\n" + "._253:\n" + " add sp, sp, #0x74\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._255:\n" + " .align 2, 0\n" + "._254:\n" + " .word gPlayerParty\n" + " .word gPlayerPartyCount\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_81603B8() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r7, ._259\n" + " ldrb r4, [r7]\n" + " add r0, r4, #0\n" + " mov r1, #0x6\n" + " bl __udivsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " add r0, r4, #0\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, ._259 + 4\n" + " add r0, r5, r0\n" + " ldrb r2, [r0]\n" + " lsl r3, r4, #0x1\n" + " add r1, r3, #1\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r3, r3, #0x2\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " add r0, r2, #0\n" + " bl MenuFillWindowRectWithBlankTile\n" + " cmp r6, #0\n" + " bne ._256 @cond_branch\n" + " cmp r4, #0\n" + " beq ._257 @cond_branch\n" + " ldrb r0, [r7]\n" + " sub r0, r0, #0x1\n" + " b ._258\n" + "._260:\n" + " .align 2, 0\n" + "._259:\n" + " .word _nakamuraData+0x4\n" + " .word _843E5D1\n" + "._257:\n" + " lsl r0, r5, #0x1\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, #0x5\n" + "._258:\n" + " strb r0, [r7]\n" + "._256:\n" + " ldr r1, ._264\n" + " cmp r6, #0x1\n" + " bne ._261 @cond_branch\n" + " cmp r4, #0x5\n" + " beq ._262 @cond_branch\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " b ._263\n" + "._265:\n" + " .align 2, 0\n" + "._264:\n" + " .word _nakamuraData+0x4\n" + "._262:\n" + " lsl r0, r5, #0x1\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x1\n" + "._263:\n" + " strb r0, [r1]\n" + "._261:\n" + " cmp r6, #0x2\n" + " bne ._266 @cond_branch\n" + " cmp r5, #0\n" + " beq ._267 @cond_branch\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x6\n" + " b ._268\n" + "._267:\n" + " add r0, r4, #0\n" + " add r0, r0, #0xc\n" + "._268:\n" + " strb r0, [r1]\n" + "._266:\n" + " cmp r6, #0x3\n" + " bne ._271 @cond_branch\n" + " cmp r5, #0x2\n" + " beq ._270 @cond_branch\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x6\n" + " strb r0, [r1]\n" + " b ._271\n" + "._270:\n" + " strb r4, [r1]\n" + "._271:\n" + " ldrb r4, [r1]\n" + " add r0, r4, #0\n" + " mov r1, #0x6\n" + " bl __udivsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " add r0, r4, #0\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " ldr r0, ._272\n" + " add r0, r5, r0\n" + " ldrb r0, [r0]\n" + " lsr r1, r1, #0x17\n" + " add r1, r1, #0x1\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r2, #0xff\n" + " bl unref_sub_80F924C\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._273:\n" + " .align 2, 0\n" + "._272:\n" + " .word _843E5D1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160498() +{ + asm( + " push {r4, lr}\n" + " ldr r1, ._276\n" + " ldrh r2, [r1, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._274 @cond_branch\n" + " mov r0, #0x0\n" + " b ._281\n" + "._277:\n" + " .align 2, 0\n" + "._276:\n" + " .word gMain\n" + "._274:\n" + " mov r0, #0x80\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._278 @cond_branch\n" + " mov r0, #0x1\n" + " b ._281\n" + "._278:\n" + " mov r0, #0x20\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._280 @cond_branch\n" + " mov r0, #0x2\n" + " b ._281\n" + "._280:\n" + " mov r0, #0x10\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._282 @cond_branch\n" + " mov r0, #0x3\n" + "._281:\n" + " bl debug_sub_81603B8\n" + " mov r0, #0x0\n" + " b ._311\n" + "._282:\n" + " ldrh r1, [r1, #0x30]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._284 @cond_branch\n" + " ldr r4, ._289\n" + " ldrb r0, [r4]\n" + " cmp r0, #0x5\n" + " bhi ._285 @cond_branch\n" + " mov r1, #0x1\n" + " bl debug_sub_81601C8\n" + "._285:\n" + " ldrb r0, [r4]\n" + " sub r0, r0, #0x6\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x5\n" + " bhi ._286 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8160258\n" + "._286:\n" + " ldrb r0, [r4]\n" + " sub r0, r0, #0xc\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x5\n" + " bhi ._306 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " b ._300\n" + "._290:\n" + " .align 2, 0\n" + "._289:\n" + " .word _nakamuraData+0x4\n" + "._284:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._291 @cond_branch\n" + " ldr r4, ._294\n" + " ldrb r0, [r4]\n" + " cmp r0, #0x5\n" + " bhi ._304 @cond_branch\n" + " mov r1, #0x1\n" + " neg r1, r1\n" + " b ._293\n" + "._295:\n" + " .align 2, 0\n" + "._294:\n" + " .word _nakamuraData+0x4\n" + "._291:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._296 @cond_branch\n" + " ldr r4, ._301\n" + " ldrb r0, [r4]\n" + " cmp r0, #0x5\n" + " bhi ._297 @cond_branch\n" + " mov r1, #0xa\n" + " bl debug_sub_81601C8\n" + "._297:\n" + " ldrb r0, [r4]\n" + " sub r0, r0, #0x6\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x5\n" + " bhi ._298 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8160258\n" + "._298:\n" + " ldrb r0, [r4]\n" + " sub r0, r0, #0xc\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x5\n" + " bhi ._306 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " b ._300\n" + "._302:\n" + " .align 2, 0\n" + "._301:\n" + " .word _nakamuraData+0x4\n" + "._296:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._303 @cond_branch\n" + " ldr r4, ._308\n" + " ldrb r0, [r4]\n" + " cmp r0, #0x5\n" + " bhi ._304 @cond_branch\n" + " mov r1, #0xa\n" + " neg r1, r1\n" + "._293:\n" + " bl debug_sub_81601C8\n" + "._304:\n" + " ldrb r0, [r4]\n" + " sub r0, r0, #0x6\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x5\n" + " bhi ._305 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8160258\n" + "._305:\n" + " ldrb r0, [r4]\n" + " sub r0, r0, #0xc\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x5\n" + " bhi ._306 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " neg r1, r1\n" + "._300:\n" + " bl debug_sub_816027C\n" + "._306:\n" + " ldrb r0, [r4]\n" + " mov r1, #0x6\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_816017C\n" + " mov r0, #0x0\n" + " b ._311\n" + "._309:\n" + " .align 2, 0\n" + "._308:\n" + " .word _nakamuraData+0x4\n" + "._303:\n" + " mov r0, #0x8\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._310 @cond_branch\n" + " mov r0, #0x0\n" + " b ._311\n" + "._310:\n" + " bl debug_sub_8160308\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._311:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_816062C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add sp, sp, #0xfffffff0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " mov r0, #0x64\n" + " mov r4, r8\n" + " mul r4, r4, r0\n" + " ldr r0, ._316\n" + " add r4, r4, r0\n" + " add r0, r4, #0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " lsl r0, r0, #0x10\n" + " lsr r7, r0, #0x10\n" + " add r0, r4, #0\n" + " bl GetMonGender\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " ldr r1, ._316 + 4\n" + " lsl r0, r7, #0x3\n" + " sub r0, r0, r7\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldrb r6, [r0, #0x10]\n" + " cmp r6, #0\n" + " beq ._313 @cond_branch\n" + " cmp r6, #0xfe\n" + " beq ._313 @cond_branch\n" + " cmp r6, #0xff\n" + " bne ._314 @cond_branch\n" + "._313:\n" + " mov r0, #0x64\n" + " mov r1, r8\n" + " mul r1, r1, r0\n" + " add r0, r1, #0\n" + " ldr r1, ._316\n" + " add r0, r0, r1\n" + " bl GetMonGender\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._320\n" + "._317:\n" + " .align 2, 0\n" + "._316:\n" + " .word gPlayerParty\n" + " .word gBaseStats\n" + "._314:\n" + " cmp r2, #0\n" + " beq ._318 @cond_branch\n" + " cmp r2, #0xfe\n" + " beq ._319 @cond_branch\n" + " mov r0, #0x0\n" + " b ._320\n" + "._318:\n" + " mov r6, #0xfe\n" + " b ._321\n" + "._319:\n" + " mov r6, #0x0\n" + "._321:\n" + " mov r0, r8\n" + " lsl r0, r0, #0x2\n" + " mov r9, r0\n" + "._322:\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " orr r5, r5, r0\n" + " add r0, r7, #0\n" + " add r1, r5, #0\n" + " bl GetGenderFromSpeciesAndPersonality\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, r6\n" + " bne ._322 @cond_branch\n" + " mov r0, #0x64\n" + " mov r4, r8\n" + " mul r4, r4, r0\n" + " ldr r0, ._323\n" + " add r4, r4, r0\n" + " add r0, r4, #0\n" + " mov r1, #0x42\n" + " bl GetMonData\n" + " ldr r0, ._323 + 4\n" + " add r0, r0, r9\n" + " ldrh r1, [r0]\n" + " ldrb r2, [r0, #0x2]\n" + " mov r0, #0x1\n" + " str r0, [sp]\n" + " str r5, [sp, #0x4]\n" + " mov r0, #0x0\n" + " str r0, [sp, #0x8]\n" + " str r0, [sp, #0xc]\n" + " add r0, r4, #0\n" + " mov r3, #0x20\n" + " bl CreateMon\n" + " add r0, r6, #0\n" + "._320:\n" + " add sp, sp, #0x10\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._324:\n" + " .align 2, 0\n" + "._323:\n" + " .word gPlayerParty\n" + " .word _nakamuraStatic\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160714() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add sp, sp, #0xfffffff0\n" + " add r6, r0, #0\n" + " mov r9, r1\n" + " mov r7, #0x0\n" + " mov r0, #0x0\n" + " mov r8, r0\n" + " mov r2, #0x0\n" + " mov r5, #0x0\n" + "._329:\n" + " add r4, r5, #1\n" + " lsl r1, r4, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r0, r9\n" + " str r2, [sp, #0xc]\n" + " bl sub_810CA9C\n" + " add r1, r0, #0\n" + " lsl r0, r5, #0x1\n" + " add r0, r0, sp\n" + " strh r1, [r0]\n" + " ldr r2, [sp, #0xc]\n" + " cmp r5, #0x5\n" + " beq ._328 @cond_branch\n" + " lsl r0, r1, #0x10\n" + " asr r1, r0, #0x10\n" + " cmp r1, #0\n" + " ble ._326 @cond_branch\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._326:\n" + " cmp r1, #0\n" + " bge ._327 @cond_branch\n" + " mov r0, r8\n" + " add r0, r0, #0x1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + "._327:\n" + " cmp r1, #0\n" + " bne ._328 @cond_branch\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + "._328:\n" + " lsl r0, r4, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x5\n" + " bls ._329 @cond_branch\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x31\n" + " bgt ._333 @cond_branch\n" + " mov r0, sp\n" + " ldrh r0, [r0, #0x2]\n" + " lsl r0, r0, #0x10\n" + " asr r0, r0, #0x10\n" + " cmp r0, #0x31\n" + " bgt ._333 @cond_branch\n" + " mov r0, sp\n" + " mov r4, #0x4\n" + " ldsh r0, [r0, r4]\n" + " cmp r0, #0x31\n" + " bgt ._333 @cond_branch\n" + " mov r0, sp\n" + " mov r1, #0x6\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x31\n" + " bgt ._333 @cond_branch\n" + " mov r0, sp\n" + " mov r4, #0x8\n" + " ldsh r0, [r0, r4]\n" + " cmp r0, #0x31\n" + " ble ._334 @cond_branch\n" + "._333:\n" + " ldr r1, ._336\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0xe\n" + " b ._400\n" + "._337:\n" + " .align 2, 0\n" + "._336:\n" + " .word ContestStatsText_GoldPokeBlock\n" + "._334:\n" + " cmp r7, #0x4\n" + " bne ._338 @cond_branch\n" + " ldr r1, ._340\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0xd\n" + " b ._400\n" + "._341:\n" + " .align 2, 0\n" + "._340:\n" + " .word ContestStatsText_WhitePokeBlock\n" + "._338:\n" + " mov r3, #0x0\n" + " mov r5, #0x0\n" + "._343:\n" + " lsl r0, r5, #0x1\n" + " add r0, r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0x2\n" + " bne ._342 @cond_branch\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + "._342:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x4\n" + " bls ._343 @cond_branch\n" + " cmp r3, #0x3\n" + " beq ._345 @cond_branch\n" + " cmp r2, #0x5\n" + " beq ._345 @cond_branch\n" + " mov r4, r8\n" + " cmp r4, #0x4\n" + " bne ._346 @cond_branch\n" + "._345:\n" + " ldr r1, ._348\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0xc\n" + " b ._400\n" + "._349:\n" + " .align 2, 0\n" + "._348:\n" + " .word ContestStatsText_BlackPokeBlock\n" + "._346:\n" + " cmp r7, #0x3\n" + " bne ._350 @cond_branch\n" + " ldr r1, ._352\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0xb\n" + " b ._400\n" + "._353:\n" + " .align 2, 0\n" + "._352:\n" + " .word ContestStatsText_GrayPokeBlock\n" + "._350:\n" + " cmp r7, #0x2\n" + " beq ._354 @cond_branch\n" + " mov r0, r8\n" + " cmp r0, #0x2\n" + " bne ._377 @cond_branch\n" + "._354:\n" + " mov r3, #0x6\n" + " mov r2, #0x0\n" + " mov r5, #0x0\n" + "._359:\n" + " lsl r0, r5, #0x1\n" + " add r0, r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0\n" + " beq ._358 @cond_branch\n" + " cmp r3, #0x6\n" + " bne ._357 @cond_branch\n" + " add r3, r5, #0\n" + " b ._358\n" + "._357:\n" + " add r2, r5, #0\n" + "._358:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x4\n" + " bls ._359 @cond_branch\n" + " lsl r0, r3, #0x1\n" + " mov r4, sp\n" + " add r1, r4, r0\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, sp\n" + " mov r4, #0x0\n" + " ldsh r1, [r1, r4]\n" + " mov r4, #0x0\n" + " ldsh r0, [r0, r4]\n" + " cmp r1, r0\n" + " blt ._360 @cond_branch\n" + " add r2, r3, #0\n" + "._360:\n" + " cmp r2, #0\n" + " bne ._361 @cond_branch\n" + " ldr r1, ._363\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x6\n" + " b ._400\n" + "._364:\n" + " .align 2, 0\n" + "._363:\n" + " .word ContestStatsText_PurplePokeBlock\n" + "._361:\n" + " cmp r2, #0x1\n" + " bne ._365 @cond_branch\n" + " ldr r1, ._367\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x7\n" + " b ._400\n" + "._368:\n" + " .align 2, 0\n" + "._367:\n" + " .word ContestStatsText_IndigoPokeBlock\n" + "._365:\n" + " cmp r2, #0x2\n" + " bne ._369 @cond_branch\n" + " ldr r1, ._371\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x8\n" + " b ._400\n" + "._372:\n" + " .align 2, 0\n" + "._371:\n" + " .word ContestStatsText_BrownPokeBlock\n" + "._369:\n" + " cmp r2, #0x3\n" + " bne ._373 @cond_branch\n" + " ldr r1, ._375\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x9\n" + " b ._400\n" + "._376:\n" + " .align 2, 0\n" + "._375:\n" + " .word ContestStatsText_LiteBluePokeBlock\n" + "._373:\n" + " cmp r2, #0x4\n" + " bne ._377 @cond_branch\n" + " ldr r1, ._379\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0xa\n" + " b ._400\n" + "._380:\n" + " .align 2, 0\n" + "._379:\n" + " .word ContestStatsText_OlivePokeBlock\n" + "._377:\n" + " cmp r7, #0x1\n" + " beq ._381 @cond_branch\n" + " mov r0, r8\n" + " cmp r0, #0x1\n" + " bne ._399 @cond_branch\n" + "._381:\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0\n" + " beq ._383 @cond_branch\n" + " ldr r1, ._385\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x1\n" + " b ._400\n" + "._386:\n" + " .align 2, 0\n" + "._385:\n" + " .word ContestStatsText_RedPokeBlock\n" + "._383:\n" + " mov r0, sp\n" + " ldrh r0, [r0, #0x2]\n" + " cmp r0, #0\n" + " beq ._387 @cond_branch\n" + " ldr r1, ._389\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x2\n" + " b ._400\n" + "._390:\n" + " .align 2, 0\n" + "._389:\n" + " .word ContestStatsText_BluePokeBlock\n" + "._387:\n" + " mov r0, sp\n" + " mov r4, #0x4\n" + " ldsh r0, [r0, r4]\n" + " cmp r0, #0\n" + " beq ._391 @cond_branch\n" + " ldr r1, ._393\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x3\n" + " b ._400\n" + "._394:\n" + " .align 2, 0\n" + "._393:\n" + " .word ContestStatsText_PinkPokeBlock\n" + "._391:\n" + " mov r0, sp\n" + " mov r1, #0x6\n" + " ldsh r0, [r0, r1]\n" + " cmp r0, #0\n" + " beq ._395 @cond_branch\n" + " ldr r1, ._397\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x4\n" + " b ._400\n" + "._398:\n" + " .align 2, 0\n" + "._397:\n" + " .word ContestStatsText_GreenPokeBlock\n" + "._395:\n" + " mov r0, sp\n" + " mov r4, #0x8\n" + " ldsh r0, [r0, r4]\n" + " cmp r0, #0\n" + " beq ._399 @cond_branch\n" + " ldr r1, ._401\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x5\n" + " b ._400\n" + "._402:\n" + " .align 2, 0\n" + "._401:\n" + " .word ContestStatsText_YellowPokeBlock\n" + "._399:\n" + " ldr r1, ._403\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " mov r0, #0x0\n" + "._400:\n" + " add sp, sp, #0x10\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._404:\n" + " .align 2, 0\n" + "._403:\n" + " .word gOtherText_FiveQuestions\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_816097C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add r7, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r5, r1, #0x10\n" + " mov r6, #0x0\n" + " mov r1, #0x0\n" + "._405:\n" + " add r0, r7, r6\n" + " strb r1, [r0]\n" + " add r0, r6, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " cmp r6, #0x3\n" + " bls ._405 @cond_branch\n" + " mov r0, #0xff\n" + " strb r0, [r7, #0x4]\n" + " lsl r0, r5, #0x10\n" + " asr r0, r0, #0x10\n" + " cmp r0, #0\n" + " bne ._406 @cond_branch\n" + " mov r0, #0xa1\n" + " strb r0, [r7, #0x3]\n" + " b ._414\n" + "._406:\n" + " cmp r0, #0\n" + " ble ._408 @cond_branch\n" + " mov r4, #0x64\n" + " mov r0, #0x0\n" + " mov r8, r0\n" + " mov r6, #0x0\n" + "._412:\n" + " lsl r5, r5, #0x10\n" + " asr r0, r5, #0x10\n" + " lsl r4, r4, #0x10\n" + " asr r1, r4, #0x10\n" + " bl __divsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " mov r1, r8\n" + " cmp r1, #0\n" + " bne ._410 @cond_branch\n" + " cmp r6, #0x2\n" + " beq ._410 @cond_branch\n" + " cmp r2, #0\n" + " beq ._411 @cond_branch\n" + "._410:\n" + " add r1, r6, r7\n" + " add r0, r2, #0\n" + " sub r0, r0, #0x5f\n" + " strb r0, [r1, #0x1]\n" + " mov r0, #0x1\n" + " mov r8, r0\n" + "._411:\n" + " asr r0, r5, #0x10\n" + " asr r4, r4, #0x10\n" + " add r1, r4, #0\n" + " bl __modsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " add r0, r4, #0\n" + " mov r1, #0xa\n" + " bl __divsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " add r0, r6, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " cmp r6, #0x2\n" + " bls ._412 @cond_branch\n" + " b ._414\n" + "._408:\n" + " cmp r0, #0\n" + " bge ._414 @cond_branch\n" + " neg r0, r0\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " mov r4, #0x64\n" + " mov r1, #0x0\n" + " mov r8, r1\n" + " mov r6, #0x0\n" + "._419:\n" + " lsl r5, r5, #0x10\n" + " asr r0, r5, #0x10\n" + " lsl r4, r4, #0x10\n" + " asr r1, r4, #0x10\n" + " bl __divsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " mov r1, r8\n" + " lsl r0, r1, #0x10\n" + " add r3, r0, #0\n" + " cmp r3, #0\n" + " bne ._416 @cond_branch\n" + " cmp r6, #0x2\n" + " beq ._416 @cond_branch\n" + " cmp r2, #0\n" + " beq ._417 @cond_branch\n" + "._416:\n" + " add r1, r6, r7\n" + " add r0, r2, #0\n" + " sub r0, r0, #0x5f\n" + " strb r0, [r1, #0x1]\n" + " cmp r3, #0\n" + " bne ._418 @cond_branch\n" + " mov r0, #0xae\n" + " strb r0, [r1]\n" + "._418:\n" + " mov r0, #0x1\n" + " mov r8, r0\n" + "._417:\n" + " asr r0, r5, #0x10\n" + " asr r4, r4, #0x10\n" + " add r1, r4, #0\n" + " bl __modsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " add r0, r4, #0\n" + " mov r1, #0xa\n" + " bl __divsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " add r0, r6, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " cmp r6, #0x2\n" + " bls ._419 @cond_branch\n" + "._414:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160A80() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r2, r0, #0\n" + " ldr r1, ._422\n" + " cmp r0, #0\n" + " bne ._420 @cond_branch\n" + " ldr r4, ._422 + 4\n" + " ldrb r1, [r1, #0x1]\n" + " add r0, r4, #0\n" + " bl debug_sub_816097C\n" + " add r0, r4, #0\n" + " mov r1, #0x8\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " b ._440\n" + "._423:\n" + " .align 2, 0\n" + "._422:\n" + " .word _nakamuraStatic+0x18\n" + " .word gStringVar1\n" + "._420:\n" + " cmp r0, #0x1\n" + " bne ._424 @cond_branch\n" + " ldr r4, ._426\n" + " ldrb r1, [r1, #0x2]\n" + " add r0, r4, #0\n" + " bl debug_sub_816097C\n" + " add r0, r4, #0\n" + " mov r1, #0x8\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " b ._440\n" + "._427:\n" + " .align 2, 0\n" + "._426:\n" + " .word gStringVar1\n" + "._424:\n" + " cmp r0, #0x2\n" + " bne ._428 @cond_branch\n" + " ldr r4, ._430\n" + " ldrb r1, [r1, #0x3]\n" + " add r0, r4, #0\n" + " bl debug_sub_816097C\n" + " add r0, r4, #0\n" + " mov r1, #0x8\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " b ._440\n" + "._431:\n" + " .align 2, 0\n" + "._430:\n" + " .word gStringVar1\n" + "._428:\n" + " cmp r0, #0x3\n" + " bne ._432 @cond_branch\n" + " ldr r4, ._434\n" + " ldrb r1, [r1, #0x4]\n" + " add r0, r4, #0\n" + " bl debug_sub_816097C\n" + " add r0, r4, #0\n" + " mov r1, #0x8\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " b ._440\n" + "._435:\n" + " .align 2, 0\n" + "._434:\n" + " .word gStringVar1\n" + "._432:\n" + " cmp r0, #0x4\n" + " bne ._436 @cond_branch\n" + " ldr r4, ._438\n" + " ldrb r1, [r1, #0x5]\n" + " add r0, r4, #0\n" + " bl debug_sub_816097C\n" + " add r0, r4, #0\n" + " mov r1, #0x8\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " b ._440\n" + "._439:\n" + " .align 2, 0\n" + "._438:\n" + " .word gStringVar1\n" + "._436:\n" + " cmp r2, #0x5\n" + " bne ._440 @cond_branch\n" + " ldr r4, ._441\n" + " ldrb r1, [r1, #0x6]\n" + " add r0, r4, #0\n" + " bl debug_sub_816097C\n" + " add r0, r4, #0\n" + " mov r1, #0x8\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + "._440:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._442:\n" + " .align 2, 0\n" + "._441:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160B50() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r3, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r4, r1, #0\n" + " ldr r2, ._445\n" + " cmp r0, #0\n" + " bne ._443 @cond_branch\n" + " ldrb r0, [r2, #0x1]\n" + " add r0, r0, r1\n" + " strb r0, [r2, #0x1]\n" + " b ._455\n" + "._446:\n" + " .align 2, 0\n" + "._445:\n" + " .word _nakamuraStatic+0x18\n" + "._443:\n" + " cmp r0, #0x1\n" + " bne ._447 @cond_branch\n" + " ldrb r0, [r2, #0x2]\n" + " add r0, r0, r1\n" + " strb r0, [r2, #0x2]\n" + " b ._455\n" + "._447:\n" + " cmp r0, #0x2\n" + " bne ._449 @cond_branch\n" + " ldrb r0, [r2, #0x3]\n" + " add r0, r0, r1\n" + " strb r0, [r2, #0x3]\n" + " b ._455\n" + "._449:\n" + " cmp r0, #0x3\n" + " bne ._451 @cond_branch\n" + " ldrb r0, [r2, #0x4]\n" + " add r0, r0, r1\n" + " strb r0, [r2, #0x4]\n" + " b ._455\n" + "._451:\n" + " cmp r0, #0x4\n" + " bne ._453 @cond_branch\n" + " ldrb r0, [r2, #0x5]\n" + " add r0, r0, r1\n" + " strb r0, [r2, #0x5]\n" + " b ._455\n" + "._453:\n" + " cmp r3, #0x5\n" + " bne ._455 @cond_branch\n" + " ldrb r0, [r2, #0x6]\n" + " add r0, r0, r4\n" + " strb r0, [r2, #0x6]\n" + "._455:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160BB0() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r5, ._456\n" + " ldr r4, ._456 + 4\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " bl debug_sub_8160714\n" + " strb r0, [r4]\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x8\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._457:\n" + " .align 2, 0\n" + "._456:\n" + " .word gStringVar1\n" + " .word _nakamuraStatic+0x18\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160BE4() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xc\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " bl debug_sub_8160BB0\n" + " ldr r0, ._459\n" + " mov r1, #0x2\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r0, ._459 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldr r0, ._459 + 8\n" + " mov r1, #0x2\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r0, ._459 + 12\n" + " mov r1, #0x2\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " ldr r0, ._459 + 16\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " ldr r0, ._459 + 20\n" + " mov r1, #0x2\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " mov r4, #0x0\n" + "._458:\n" + " add r0, r4, #0\n" + " bl debug_sub_8160A80\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x5\n" + " bls ._458 @cond_branch\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xb\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._460:\n" + " .align 2, 0\n" + "._459:\n" + " .word gContestStatsText_Spicy\n" + " .word gContestStatsText_Dry\n" + " .word gContestStatsText_Sweet\n" + " .word gContestStatsText_Bitter\n" + " .word gContestStatsText_Sour\n" + " .word gContestStatsText_Tasty\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160C7C() +{ + asm( + " push {r4, lr}\n" + " ldr r2, ._469\n" + " mov r1, #0x0\n" + " ldrb r0, [r2]\n" + " cmp r0, #0xc\n" + " bne ._467 @cond_branch\n" + " ldrb r0, [r2, #0x1]\n" + " cmp r0, #0x2\n" + " bne ._462 @cond_branch\n" + " mov r1, #0x1\n" + "._462:\n" + " ldrb r0, [r2, #0x3]\n" + " cmp r0, #0x2\n" + " bne ._463 @cond_branch\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + "._463:\n" + " ldrb r0, [r2, #0x4]\n" + " cmp r0, #0x2\n" + " bne ._464 @cond_branch\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + "._464:\n" + " ldrb r0, [r2, #0x2]\n" + " cmp r0, #0x2\n" + " bne ._465 @cond_branch\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + "._465:\n" + " ldrb r0, [r2, #0x5]\n" + " cmp r0, #0x2\n" + " bne ._466 @cond_branch\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + "._466:\n" + " cmp r1, #0x3\n" + " beq ._467 @cond_branch\n" + " mov r0, #0x2\n" + " strb r0, [r2, #0x1]\n" + " strb r0, [r2, #0x3]\n" + " strb r0, [r2, #0x4]\n" + "._467:\n" + " add r0, r2, #0\n" + " bl sub_810CA34\n" + " bl debug_sub_8160BB0\n" + " mov r4, #0x0\n" + "._468:\n" + " add r0, r4, #0\n" + " bl debug_sub_8160A80\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x5\n" + " bls ._468 @cond_branch\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._470:\n" + " .align 2, 0\n" + "._469:\n" + " .word _nakamuraStatic+0x18\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160CF4() +{ + asm( + " push {lr}\n" + " ldr r2, ._473\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._471 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " b ._472\n" + "._474:\n" + " .align 2, 0\n" + "._473:\n" + " .word gMain\n" + "._471:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._475 @cond_branch\n" + " mov r0, #0x1\n" + "._472:\n" + " bl MoveMenuCursor\n" + " mov r0, #0x0\n" + " b ._484\n" + "._475:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._477 @cond_branch\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " neg r1, r1\n" + " b ._478\n" + "._477:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._479 @cond_branch\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + "._478:\n" + " bl debug_sub_8160B50\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl debug_sub_8160A80\n" + " bl debug_sub_8160BB0\n" + " mov r0, #0x0\n" + " b ._484\n" + "._479:\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._481 @cond_branch\n" + " bl debug_sub_8160C7C\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x0\n" + " b ._484\n" + "._481:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._483 @cond_branch\n" + " mov r0, #0x0\n" + " b ._484\n" + "._483:\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._484:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +u8 debug_sub_8160D98() +{ + asm( + " push {lr}\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " bl debug_sub_8160BE4\n" + " ldr r1, ._485\n" + " ldr r0, ._485 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._486:\n" + " .align 2, 0\n" + "._485:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8160CF4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160DC0() +{ + asm( + " push {lr}\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x16\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._487\n" + " mov r1, #0xb\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 8\n" + " mov r1, #0x2\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 12\n" + " mov r1, #0x2\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 16\n" + " mov r1, #0x2\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 20\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 24\n" + " mov r1, #0x2\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 28\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r0, ._487 + 32\n" + " mov r1, #0x2\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " pop {r0}\n" + " bx r0\n" + "._488:\n" + " .align 2, 0\n" + "._487:\n" + " .word gOtherText_Slash\n" + " .word Str_843E5F2\n" + " .word Str_843E5FB\n" + " .word Str_843E606\n" + " .word Str_843E611\n" + " .word Str_843E61C\n" + " .word Str_843E627\n" + " .word Str_843E637\n" + " .word Str_843E632\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8160E50() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0xa\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r5, ._489\n" + " add r0, r6, #0\n" + " mov r1, #0x2\n" + " add r2, r5, #0\n" + " bl GetMonData\n" + " add r0, r5, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r0, #0xc\n" + " mov r1, #0x1\n" + " mov r2, #0x15\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r6, #0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " mov r1, #0xb\n" + " mul r0, r0, r1\n" + " ldr r1, ._489 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xc\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x1a\n" + " bl GetMonData\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0x3\n" + " mov r2, #0x11\n" + " mov r3, #0x4\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x1b\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r4, r4, r1\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0x5\n" + " mov r2, #0x11\n" + " mov r3, #0x6\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x1c\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r4, r4, r1\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0x7\n" + " mov r2, #0x11\n" + " mov r3, #0x8\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x1d\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r4, r4, r1\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0x9\n" + " mov r2, #0x11\n" + " mov r3, #0xa\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x1e\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r4, r4, r1\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0xb\n" + " mov r2, #0x11\n" + " mov r3, #0xc\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x1f\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r4, r4, r1\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0xd\n" + " mov r2, #0x11\n" + " mov r3, #0xe\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0xf\n" + " mov r2, #0x11\n" + " mov r3, #0x10\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x20\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0xd\n" + " mov r1, #0x11\n" + " mov r2, #0x11\n" + " mov r3, #0x12\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0xd\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._490:\n" + " .align 2, 0\n" + "._489:\n" + " .word gStringVar1\n" + " .word gSpeciesNames\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8161028() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._491 @cond_branch\n" + " ldr r0, ._496\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._492 @cond_branch\n" + " mov r5, #0x5\n" + "._494:\n" + " lsl r0, r5, #0x10\n" + " asr r4, r0, #0x10\n" + " mov r0, #0x64\n" + " mul r0, r0, r4\n" + " ldr r1, ._496 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " bne ._493 @cond_branch\n" + " sub r0, r4, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " cmp r0, #0\n" + " bge ._494 @cond_branch\n" + "._492:\n" + " ldr r1, ._496\n" + " ldrb r0, [r1]\n" + " add r0, r0, r6\n" + " strb r0, [r1]\n" + " b ._506\n" + "._497:\n" + " .align 2, 0\n" + "._496:\n" + " .word _nakamuraData+0x5\n" + " .word gPlayerParty\n" + "._491:\n" + " cmp r1, #0x1\n" + " bne ._506 @cond_branch\n" + " ldr r4, ._501\n" + " ldrb r0, [r4]\n" + " add r0, r0, r6\n" + " strb r0, [r4]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x6\n" + " bne ._499 @cond_branch\n" + " mov r0, #0x0\n" + " b ._500\n" + "._502:\n" + " .align 2, 0\n" + "._501:\n" + " .word _nakamuraData+0x5\n" + "._493:\n" + " ldr r0, ._504\n" + " strb r5, [r0]\n" + " b ._506\n" + "._505:\n" + " .align 2, 0\n" + "._504:\n" + " .word _nakamuraData+0x5\n" + "._499:\n" + " ldrb r1, [r4]\n" + " mov r0, #0x64\n" + " mul r0, r0, r1\n" + " ldr r1, ._507\n" + " add r0, r0, r1\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " bne ._506 @cond_branch\n" + "._500:\n" + " strb r0, [r4]\n" + "._506:\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._508:\n" + " .align 2, 0\n" + "._507:\n" + " .word gPlayerParty\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_81610BC() +{ + asm( + " push {lr}\n" + " ldr r0, ._511\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._509 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " b ._510\n" + "._512:\n" + " .align 2, 0\n" + "._511:\n" + " .word gMain\n" + "._509:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._513 @cond_branch\n" + " mov r0, #0x1\n" + "._510:\n" + " bl debug_sub_8161028\n" + " ldr r0, ._515\n" + " ldrb r1, [r0]\n" + " mov r0, #0x64\n" + " mul r0, r0, r1\n" + " ldr r1, ._515 + 4\n" + " add r0, r0, r1\n" + " bl debug_sub_8160E50\n" + " mov r0, #0x0\n" + " b ._518\n" + "._516:\n" + " .align 2, 0\n" + "._515:\n" + " .word _nakamuraData+0x5\n" + " .word gPlayerParty\n" + "._513:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._517 @cond_branch\n" + " mov r0, #0x0\n" + " b ._518\n" + "._517:\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._518:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_EffortValues() +{ + asm( + " push {lr}\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " ldr r1, ._519\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " bl debug_sub_8160DC0\n" + " ldr r0, ._519 + 4\n" + " bl debug_sub_8160E50\n" + " ldr r1, ._519 + 8\n" + " ldr r0, ._519 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._520:\n" + " .align 2, 0\n" + "._519:\n" + " .word _nakamuraData+0x5\n" + " .word gPlayerParty\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_81610BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8161160() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " mov r7, #0x0\n" + " ldr r2, ._523\n" + " ldr r1, ._523 + 4\n" + " ldrh r0, [r2]\n" + " ldrh r3, [r1]\n" + " cmp r0, r3\n" + " bhi ._521 @cond_branch\n" + " add r6, r0, #0\n" + " ldrh r5, [r1]\n" + " b ._522\n" + "._524:\n" + " .align 2, 0\n" + "._523:\n" + " .word _nakamuraData+0x6\n" + " .word _nakamuraData+0x8\n" + "._521:\n" + " ldrh r6, [r1]\n" + " ldrh r5, [r2]\n" + "._522:\n" + " mov r4, #0x0\n" + " ldr r0, ._529\n" + " ldrh r0, [r0]\n" + " cmp r4, r0\n" + " bcs ._525 @cond_branch\n" + " ldr r0, ._529 + 4\n" + " mov r8, r0\n" + "._528:\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r2, r8\n" + " ldrh r1, [r2]\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, r6\n" + " bcc ._527 @cond_branch\n" + " cmp r0, r5\n" + " bhi ._527 @cond_branch\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r7, r0, #0x10\n" + "._527:\n" + " add r4, r4, #0x1\n" + " ldr r0, ._529\n" + " ldrh r0, [r0]\n" + " cmp r4, r0\n" + " bcc ._528 @cond_branch\n" + "._525:\n" + " add r0, r7, #0\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._530:\n" + " .align 2, 0\n" + "._529:\n" + " .word _nakamuraData+0xa\n" + " .word _nakamuraData+0xc\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_81611D8() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xf\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._531\n" + " mov r1, #0x2\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._531 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r0, ._531 + 8\n" + " mov r1, #0x2\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldr r0, ._531 + 12\n" + " mov r1, #0x2\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r0, ._531 + 16\n" + " mov r1, #0x2\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " ldr r0, ._531 + 20\n" + " mov r1, #0xd\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " ldr r4, ._531 + 24\n" + " add r0, r4, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xe\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._532:\n" + " .align 2, 0\n" + "._531:\n" + " .word Str_843E642\n" + " .word Str_843E647\n" + " .word Str_843E65A\n" + " .word Str_843E64C\n" + " .word Str_843E651\n" + " .word Str_843E655\n" + " .word Str_843E658\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8161290() +{ + asm( + " push {r4, lr}\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " ldr r4, ._533\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x8\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._534:\n" + " .align 2, 0\n" + "._533:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_81612B8() +{ + asm( + " push {r4, r5, lr}\n" + " add r4, r2, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " lsl r1, r1, #0x18\n" + " asr r1, r1, #0x18\n" + " ldrh r2, [r0]\n" + " add r1, r1, r2\n" + " strh r1, [r0]\n" + " ldr r5, ._535\n" + " ldrh r1, [r0]\n" + " add r0, r5, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r5, #0\n" + " mov r1, #0x8\n" + " add r2, r4, #0\n" + " bl MenuPrint\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._536:\n" + " .align 2, 0\n" + "._535:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_81612EC() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r2, ._540\n" + " ldrh r1, [r2, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " mov r5, #0x1\n" + " cmp r0, #0\n" + " beq ._537 @cond_branch\n" + " mov r5, #0x64\n" + "._537:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._538 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " b ._539\n" + "._541:\n" + " .align 2, 0\n" + "._540:\n" + " .word gMain\n" + "._538:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._542 @cond_branch\n" + " mov r0, #0x1\n" + "._539:\n" + " bl MoveMenuCursor\n" + "._565:\n" + " mov r0, #0x0\n" + " b ._543\n" + "._542:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._544 @cond_branch\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " asr r4, r0, #0x18\n" + " cmp r4, #0\n" + " bne ._545 @cond_branch\n" + " ldr r0, ._550\n" + " neg r1, r5\n" + " mov r2, #0x1\n" + " bl debug_sub_81612B8\n" + "._545:\n" + " cmp r4, #0x1\n" + " bne ._546 @cond_branch\n" + " ldr r0, ._550 + 4\n" + " neg r1, r5\n" + " mov r2, #0x3\n" + " bl debug_sub_81612B8\n" + "._546:\n" + " cmp r4, #0x2\n" + " bne ._547 @cond_branch\n" + " ldr r0, ._550 + 8\n" + " neg r1, r5\n" + " mov r2, #0x5\n" + " bl debug_sub_81612B8\n" + "._547:\n" + " cmp r4, #0x3\n" + " bne ._565 @cond_branch\n" + " ldr r0, ._550 + 12\n" + " neg r1, r5\n" + " mov r2, #0x7\n" + " bl debug_sub_81612B8\n" + " b ._565\n" + "._551:\n" + " .align 2, 0\n" + "._550:\n" + " .word _nakamuraData+0x6\n" + " .word _nakamuraData+0x8\n" + " .word _nakamuraData+0xc\n" + " .word _nakamuraData+0xa\n" + "._544:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._552 @cond_branch\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " asr r4, r0, #0x18\n" + " cmp r4, #0\n" + " bne ._553 @cond_branch\n" + " ldr r0, ._558\n" + " add r1, r5, #0\n" + " mov r2, #0x1\n" + " bl debug_sub_81612B8\n" + "._553:\n" + " cmp r4, #0x1\n" + " bne ._554 @cond_branch\n" + " ldr r0, ._558 + 4\n" + " add r1, r5, #0\n" + " mov r2, #0x3\n" + " bl debug_sub_81612B8\n" + "._554:\n" + " cmp r4, #0x2\n" + " bne ._555 @cond_branch\n" + " ldr r0, ._558 + 8\n" + " add r1, r5, #0\n" + " mov r2, #0x5\n" + " bl debug_sub_81612B8\n" + "._555:\n" + " cmp r4, #0x3\n" + " bne ._565 @cond_branch\n" + " ldr r0, ._558 + 12\n" + " add r1, r5, #0\n" + " mov r2, #0x7\n" + " bl debug_sub_81612B8\n" + " b ._565\n" + "._559:\n" + " .align 2, 0\n" + "._558:\n" + " .word _nakamuraData+0x6\n" + " .word _nakamuraData+0x8\n" + " .word _nakamuraData+0xc\n" + " .word _nakamuraData+0xa\n" + "._552:\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._560 @cond_branch\n" + " ldr r0, ._563\n" + " ldrh r0, [r0]\n" + " cmp r0, #0\n" + " beq ._565 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " bl debug_sub_8161160\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl debug_sub_8161290\n" + " b ._565\n" + "._564:\n" + " .align 2, 0\n" + "._563:\n" + " .word _nakamuraData+0xc\n" + "._560:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._565 @cond_branch\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._543:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_RandomNumberTest() +{ + asm( + " push {lr}\n" + " ldr r0, ._566\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " ldr r0, ._566 + 4\n" + " strh r1, [r0]\n" + " ldr r0, ._566 + 8\n" + " strh r1, [r0]\n" + " ldr r0, ._566 + 12\n" + " strh r1, [r0]\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " bl debug_sub_81611D8\n" + " ldr r1, ._566 + 16\n" + " ldr r0, ._566 + 20\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._567:\n" + " .align 2, 0\n" + "._566:\n" + " .word _nakamuraData+0x6\n" + " .word _nakamuraData+0x8\n" + " .word _nakamuraData+0xc\n" + " .word _nakamuraData+0xa\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_81612EC+1\n" + "\n" + ); +} + +#endif // DEBUG diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c new file mode 100644 index 000000000..b7e62481b --- /dev/null +++ b/src/debug/nohara_debug_menu.c @@ -0,0 +1,2316 @@ +#ifdef DEBUG +#include "global.h" + +#define BSS_DATA __attribute__((section(".bss"))) + +BSS_DATA u8 gDebug_03000724[4] = { 0 }; + +__attribute__((naked)) +void InitNoharaDebugMenu() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x13\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._1\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x12\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._1 + 4\n" + " ldr r0, ._1 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._2:\n" + " .align 2, 0\n" + "._1:\n" + " .word gUnknown_Debug_083C4938\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808F414+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F414() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._3 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " beq ._4 @cond_branch\n" + " ldr r2, ._6\n" + " ldr r0, ._6 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + "._3:\n" + " mov r0, #0x0\n" + " b ._5\n" + "._7:\n" + " .align 2, 0\n" + "._6:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C4938\n" + "._4:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._5:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_TV() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " ldr r1, ._8\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xa\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._8 + 4\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x9\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._8 + 8\n" + " ldr r0, ._8 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._9:\n" + " .align 2, 0\n" + "._8:\n" + " .word gDebug_03000724+0x2\n" + " .word gUnknown_Debug_083C4B8C\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808F4AC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F4AC() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._10 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " beq ._11 @cond_branch\n" + " ldr r2, ._13\n" + " ldr r0, ._13 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + "._10:\n" + " mov r0, #0x0\n" + " b ._12\n" + "._14:\n" + " .align 2, 0\n" + "._13:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C4B8C\n" + "._11:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._12:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F4EC() +{ + asm( + " push {lr}\n" + " bl debug_sub_808F6BC\n" + " ldr r0, ._15\n" + " bl sub_8071F40\n" + " mov r0, #0x3\n" + " mov r1, #0x3\n" + " mov r2, #0x1\n" + " bl DisplayYesNoMenu\n" + " ldr r1, ._15 + 4\n" + " ldr r0, ._15 + 8\n" + " str r0, [r1]\n" + " pop {r0}\n" + " bx r0\n" + "._16:\n" + " .align 2, 0\n" + "._15:\n" + " .word gUnknown_Debug_083C4980\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808F648+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F518() +{ + asm( + " push {r4, lr}\n" + " mov r2, #0x0\n" + " ldr r4, ._20\n" + " ldr r3, ._20 + 4\n" + "._19:\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x2\n" + " add r1, r0, r4\n" + " add r0, r1, r3\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x15\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x13\n" + " bhi ._18 @cond_branch\n" + " ldr r0, ._20 + 8\n" + " add r1, r1, r0\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._18 @cond_branch\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + "._18:\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x17\n" + " bls ._19 @cond_branch\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._21:\n" + " .align 2, 0\n" + "._20:\n" + " .word gSaveBlock1\n" + " .word 0x2738\n" + " .word 0x2739\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F560() +{ + asm( + " push {r4, lr}\n" + " mov r1, #0x0\n" + " ldr r4, ._23\n" + " ldr r3, ._23 + 4\n" + " mov r2, #0x0\n" + "._22:\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r4\n" + " add r0, r0, r3\n" + " strb r2, [r0]\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " cmp r1, #0x17\n" + " bls ._22 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._24:\n" + " .align 2, 0\n" + "._23:\n" + " .word gSaveBlock1\n" + " .word 0x2739\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F594() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r2, #0x0\n" + " ldr r6, ._27\n" + " ldr r5, ._27 + 4\n" + " ldr r4, ._27 + 8\n" + " mov r3, #0x1\n" + "._26:\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x2\n" + " add r1, r0, r6\n" + " add r0, r1, r5\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._25 @cond_branch\n" + " add r0, r1, r4\n" + " strb r3, [r0]\n" + "._25:\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x17\n" + " bls ._26 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._28:\n" + " .align 2, 0\n" + "._27:\n" + " .word gSaveBlock1\n" + " .word 0x2738\n" + " .word 0x2739\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F5D8() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " mov r4, #0x0\n" + " ldr r6, ._30\n" + " ldr r7, ._30 + 4\n" + " add r0, r7, #1\n" + " mov r8, r0\n" + "._29:\n" + " ldr r5, ._30 + 8\n" + " strh r4, [r5]\n" + " bl sub_810F424\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r6, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " lsl r0, r4, #0x1\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x2\n" + " add r1, r0, r7\n" + " ldrb r1, [r1]\n" + " add r0, r0, r8\n" + " ldrb r2, [r0]\n" + " add r0, r6, #0\n" + " bl MenuPrint\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0xb\n" + " bls ._29 @cond_branch\n" + " mov r0, #0x0\n" + " strh r0, [r5]\n" + " ldr r1, ._30 + 12\n" + " ldr r0, ._30 + 16\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._31:\n" + " .align 2, 0\n" + "._30:\n" + " .word gStringVar1\n" + " .word gUnknown_Debug_083C4BD4\n" + " .word gSpecialVar_0x8004\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090278+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F648() +{ + asm( + " push {lr}\n" + " ldr r0, ._35\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._32 @cond_branch\n" + " mov r0, #0xa\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xd\n" + " bl MenuZeroFillWindowRect\n" + " ldr r0, ._35 + 4\n" + " ldrb r1, [r0]\n" + " mov r2, #0x1\n" + " eor r1, r1, r2\n" + " strb r1, [r0]\n" + " cmp r1, #0\n" + " beq ._33 @cond_branch\n" + " bl debug_sub_808F7B4\n" + " b ._40\n" + "._36:\n" + " .align 2, 0\n" + "._35:\n" + " .word gMain\n" + " .word gDebug_03000724+0x2\n" + "._33:\n" + " bl debug_sub_808F6BC\n" + " b ._40\n" + "._32:\n" + " bl ProcessMenuInputNoWrap_\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._43 @cond_branch\n" + " cmp r1, r0\n" + " bgt ._39 @cond_branch\n" + " sub r0, r0, #0x1\n" + " cmp r1, r0\n" + " beq ._40 @cond_branch\n" + " b ._43\n" + "._39:\n" + " cmp r1, #0\n" + " beq ._42 @cond_branch\n" + " b ._43\n" + "._40:\n" + " mov r0, #0x0\n" + " b ._44\n" + "._42:\n" + " bl debug_sub_808F518\n" + "._43:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._44:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F6BC() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r4, #0x0\n" + " ldr r5, ._48\n" + " ldr r6, ._48 + 4\n" + "._45:\n" + " lsl r0, r4, #0x3\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldr r1, ._48 + 8\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xa0\n" + " lsl r0, r0, #0x14\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " bl MenuPrint\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x4\n" + " bls ._45 @cond_branch\n" + " mov r4, #0x5\n" + " ldr r5, ._48\n" + " ldr r6, ._48 + 4\n" + "._50:\n" + " lsl r0, r4, #0x3\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldr r1, ._48 + 8\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " cmp r4, #0xe\n" + " bhi ._46 @cond_branch\n" + " lsl r1, r4, #0x19\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " b ._47\n" + "._49:\n" + " .align 2, 0\n" + "._48:\n" + " .word gStringVar1\n" + " .word gSaveBlock1\n" + " .word 0x2738\n" + "._46:\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xec\n" + " lsl r0, r0, #0x18\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x6\n" + " bl MenuPrint\n" + "._47:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x17\n" + " bls ._50 @cond_branch\n" + " mov r4, #0x0\n" + " ldr r5, ._53\n" + "._55:\n" + " ldr r0, ._53 + 4\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r0\n" + " ldr r0, ._53 + 8\n" + " add r1, r1, r0\n" + " ldrb r1, [r1]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " cmp r4, #0x7\n" + " bhi ._51 @cond_branch\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xa0\n" + " lsl r0, r0, #0x14\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " b ._52\n" + "._54:\n" + " .align 2, 0\n" + "._53:\n" + " .word gStringVar1\n" + " .word gSaveBlock1\n" + " .word 0x2abc\n" + "._51:\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xfa\n" + " lsl r0, r0, #0x18\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0xc\n" + " bl MenuPrint\n" + "._52:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0xf\n" + " bls ._55 @cond_branch\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F7B4() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r4, #0x0\n" + " ldr r5, ._59\n" + " ldr r6, ._59 + 4\n" + "._56:\n" + " lsl r0, r4, #0x3\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldr r1, ._59 + 8\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xa0\n" + " lsl r0, r0, #0x14\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " bl MenuPrint\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x4\n" + " bls ._56 @cond_branch\n" + " mov r4, #0x5\n" + " ldr r5, ._59\n" + " ldr r6, ._59 + 4\n" + "._61:\n" + " lsl r0, r4, #0x3\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldr r1, ._59 + 8\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " cmp r4, #0xe\n" + " bhi ._57 @cond_branch\n" + " lsl r1, r4, #0x19\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " b ._58\n" + "._60:\n" + " .align 2, 0\n" + "._59:\n" + " .word gStringVar1\n" + " .word gSaveBlock1\n" + " .word 0x2739\n" + "._57:\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xec\n" + " lsl r0, r0, #0x18\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x6\n" + " bl MenuPrint\n" + "._58:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x17\n" + " bls ._61 @cond_branch\n" + " mov r4, #0x0\n" + " ldr r5, ._64\n" + "._66:\n" + " ldr r0, ._64 + 4\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r0\n" + " ldr r0, ._64 + 8\n" + " add r1, r1, r0\n" + " ldrb r1, [r1]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " cmp r4, #0x7\n" + " bhi ._62 @cond_branch\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xa0\n" + " lsl r0, r0, #0x14\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " b ._63\n" + "._65:\n" + " .align 2, 0\n" + "._64:\n" + " .word gStringVar1\n" + " .word gSaveBlock1\n" + " .word 0x2abd\n" + "._62:\n" + " lsl r1, r4, #0x19\n" + " mov r0, #0xfa\n" + " lsl r0, r0, #0x18\n" + " add r1, r1, r0\n" + " lsr r1, r1, #0x18\n" + " add r0, r5, #0\n" + " mov r2, #0xc\n" + " bl MenuPrint\n" + "._63:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0xf\n" + " bls ._66 @cond_branch\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F8AC() +{ + asm( + " push {lr}\n" + " ldr r0, ._67\n" + " bl FlagSet\n" + " ldr r0, ._67 + 4\n" + " bl FlagSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._68:\n" + " .align 2, 0\n" + "._67:\n" + " .word 0x832\n" + " .word 0x818\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F8CC() +{ + asm( + " push {r4, lr}\n" + " ldr r1, ._69\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " ldr r0, ._69 + 4\n" + " bl sub_8071F40\n" + " mov r0, #0xd\n" + " mov r1, #0x6\n" + " mov r2, #0x1a\n" + " mov r3, #0x8\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r0, ._69 + 8\n" + " ldr r0, [r0]\n" + " mov r1, #0xe\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " mov r0, #0x16\n" + " mov r1, #0x1\n" + " mov r2, #0x18\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r4, ._69 + 12\n" + " add r0, r4, #0\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x17\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r1, ._69 + 16\n" + " ldr r0, ._69 + 20\n" + " str r0, [r1]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._70:\n" + " .align 2, 0\n" + "._69:\n" + " .word gDebug_03000724\n" + " .word gUnknown_Debug_083C49CA\n" + " .word gUnknown_Debug_083C4ABD+0xf\n" + " .word gStringVar1\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808F93C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F93C() +{ + asm( + " push {r4, lr}\n" + " mov r2, #0x0\n" + " ldr r0, ._83\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._71 @cond_branch\n" + " ldr r1, ._83 + 4\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x18\n" + " bne ._72 @cond_branch\n" + " strb r2, [r1]\n" + "._72:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._71:\n" + " ldr r0, ._83\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._73 @cond_branch\n" + " ldr r1, ._83 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._74 @cond_branch\n" + " mov r0, #0x18\n" + " strb r0, [r1]\n" + "._74:\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._73:\n" + " ldr r0, ._83\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._75 @cond_branch\n" + " ldr r1, ._83 + 8\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0xc\n" + " bne ._76 @cond_branch\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + "._76:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._75:\n" + " ldr r0, ._83\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._77 @cond_branch\n" + " ldr r1, ._83 + 8\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._78 @cond_branch\n" + " mov r0, #0xc\n" + " strb r0, [r1]\n" + "._78:\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._77:\n" + " cmp r2, #0\n" + " beq ._79 @cond_branch\n" + " mov r0, #0xd\n" + " mov r1, #0x6\n" + " mov r2, #0x1a\n" + " mov r3, #0x8\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r1, ._83 + 12\n" + " ldr r0, ._83 + 8\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0xe\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " mov r0, #0x16\n" + " mov r1, #0x1\n" + " mov r2, #0x18\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r4, ._83 + 16\n" + " ldr r0, ._83 + 4\n" + " ldrb r1, [r0]\n" + " add r0, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x17\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + "._79:\n" + " ldr r4, ._83\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._80 @cond_branch\n" + " mov r0, #0x15\n" + " bl PlaySE\n" + " ldr r0, ._83 + 4\n" + " ldrb r0, [r0]\n" + " ldr r2, ._83 + 20\n" + " ldr r1, ._83 + 8\n" + " ldrb r1, [r1]\n" + " add r1, r1, r2\n" + " ldrb r1, [r1]\n" + " bl debug_sub_808FA88\n" + "._80:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._81 @cond_branch\n" + " mov r0, #0x0\n" + " b ._82\n" + "._84:\n" + " .align 2, 0\n" + "._83:\n" + " .word gMain\n" + " .word gDebug_03000724+0x1\n" + " .word gDebug_03000724\n" + " .word gUnknown_Debug_083C4ABD+0xf\n" + " .word gStringVar1\n" + " .word gUnknown_Debug_083C4ABD\n" + "._81:\n" + " ldr r0, ._85\n" + " bl sub_80BF588\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._82:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._86:\n" + " .align 2, 0\n" + "._85:\n" + " .word gSaveBlock1+0x2738\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808FA88() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add sp, sp, #0xffffffcc\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r7, r1, #0x18\n" + " bl GetLeadMonIndex\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r9, r0\n" + " ldr r3, ._92\n" + " lsl r4, r6, #0x3\n" + " add r2, r4, r6\n" + " lsl r2, r2, #0x2\n" + " add r0, r2, r3\n" + " ldr r5, ._92 + 4\n" + " add r1, r0, r5\n" + " strb r7, [r1]\n" + " ldr r1, ._92 + 8\n" + " add r0, r0, r1\n" + " mov r1, #0x1\n" + " strb r1, [r0]\n" + " mov r1, #0x0\n" + " ldr r0, ._92 + 12\n" + " add r5, r3, r0\n" + " mov r3, #0x1\n" + "._87:\n" + " add r0, r1, r2\n" + " add r0, r0, r5\n" + " strb r3, [r0]\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " cmp r1, #0x21\n" + " bls ._87 @cond_branch\n" + " add r0, r7, #0\n" + " bl sub_80BFB54\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r1, r0, #0\n" + " cmp r0, #0x3\n" + " beq ._88 @cond_branch\n" + " cmp r0, #0x3\n" + " bgt ._89 @cond_branch\n" + " cmp r0, #0x2\n" + " beq ._90 @cond_branch\n" + " b ._95\n" + "._93:\n" + " .align 2, 0\n" + "._92:\n" + " .word gSaveBlock1\n" + " .word 0x2738\n" + " .word 0x2739\n" + " .word 0x273a\n" + "._89:\n" + " cmp r1, #0x4\n" + " bne ._95 @cond_branch\n" + "._90:\n" + " add r0, r4, r6\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._96\n" + " add r0, r0, r1\n" + " bl sub_80BE160\n" + " b ._95\n" + "._97:\n" + " .align 2, 0\n" + "._96:\n" + " .word gSaveBlock1+0x2738\n" + "._88:\n" + " add r0, r4, r6\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._100\n" + " add r0, r0, r1\n" + " bl sub_80BE138\n" + "._95:\n" + " sub r0, r7, #1\n" + " cmp r0, #0x28\n" + " bls ._98 @cond_branch\n" + " b ._173\n" + "._98:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._100 + 4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._101:\n" + " .align 2, 0\n" + "._100:\n" + " .word gSaveBlock1+0x2738\n" + " .word ._102\n" + "._102:\n" + " .word ._104\n" + " .word ._104\n" + " .word ._105\n" + " .word ._173\n" + " .word ._107\n" + " .word ._108\n" + " .word ._109\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._123\n" + " .word ._124\n" + " .word ._125\n" + " .word ._126\n" + " .word ._127\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._173\n" + " .word ._143\n" + "._104:\n" + " add r0, r4, r6\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._145\n" + " add r4, r0, r1\n" + " mov r2, #0x1\n" + " strh r2, [r4, #0x2]\n" + " add r1, r1, #0x10\n" + " add r0, r0, r1\n" + " ldr r1, ._145 + 4\n" + " bl StringCopy\n" + " mov r0, #0x5\n" + " strb r0, [r4, #0x18]\n" + " b ._173\n" + "._146:\n" + " .align 2, 0\n" + "._145:\n" + " .word gSaveBlock1+0x2738\n" + " .word gSaveBlock2\n" + "._105:\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r6, ._148\n" + " add r1, r4, r6\n" + " mov r8, r1\n" + " mov r0, #0x1\n" + " strh r0, [r1, #0x2]\n" + " add r0, r6, #5\n" + " add r0, r4, r0\n" + " ldr r1, ._148 + 4\n" + " bl StringCopy\n" + " mov r0, #0x64\n" + " mov r5, r9\n" + " mul r5, r5, r0\n" + " ldr r0, ._148 + 8\n" + " add r5, r5, r0\n" + " add r6, r6, #0x10\n" + " add r4, r4, r6\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " add r2, r4, #0\n" + " bl GetMonData\n" + " mov r0, #0x5\n" + " mov r1, r8\n" + " strb r0, [r1, #0xd]\n" + " add r0, r5, #0\n" + " mov r1, #0x3\n" + " bl GetMonData\n" + " mov r5, r8\n" + " strb r0, [r5, #0xe]\n" + " b ._173\n" + "._149:\n" + " .align 2, 0\n" + "._148:\n" + " .word gSaveBlock1+0x2738\n" + " .word gSaveBlock2\n" + " .word gPlayerParty\n" + "._107:\n" + " mov r0, #0x64\n" + " mov r1, r9\n" + " mul r1, r1, r0\n" + " mov r8, r1\n" + " ldr r0, ._151\n" + " add r8, r8, r0\n" + " mov r0, r8\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r5, ._151 + 4\n" + " add r6, r4, r5\n" + " strh r0, [r6, #0x2]\n" + " mov r0, #0x1\n" + " strh r0, [r6, #0x1c]\n" + " add r0, r5, #0\n" + " add r0, r0, #0xf\n" + " add r0, r4, r0\n" + " ldr r1, ._151 + 8\n" + " bl StringCopy\n" + " add r5, r5, #0x4\n" + " add r4, r4, r5\n" + " mov r0, r8\n" + " mov r1, #0x2\n" + " add r2, r4, #0\n" + " bl GetMonData\n" + " mov r0, #0x5\n" + " strb r0, [r6, #0x1e]\n" + " mov r0, r8\n" + " mov r1, #0x3\n" + " bl GetMonData\n" + " strb r0, [r6, #0x1f]\n" + " b ._173\n" + "._152:\n" + " .align 2, 0\n" + "._151:\n" + " .word gPlayerParty\n" + " .word gSaveBlock1+0x2738\n" + " .word gSaveBlock2\n" + "._108:\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r6, ._154\n" + " add r5, r4, r6\n" + " mov r8, r5\n" + " mov r0, #0x1\n" + " strh r0, [r5, #0x2]\n" + " add r0, r6, #0\n" + " add r0, r0, #0x16\n" + " add r0, r4, r0\n" + " ldr r1, ._154 + 4\n" + " bl StringCopy\n" + " mov r0, #0x64\n" + " mov r5, r9\n" + " mul r5, r5, r0\n" + " ldr r0, ._154 + 8\n" + " add r5, r5, r0\n" + " add r6, r6, #0x8\n" + " add r4, r4, r6\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " add r2, r4, #0\n" + " bl GetMonData\n" + " mov r0, #0x5\n" + " mov r1, r8\n" + " strb r0, [r1, #0x1e]\n" + " add r0, r5, #0\n" + " mov r1, #0x3\n" + " bl GetMonData\n" + " mov r5, r8\n" + " strb r0, [r5, #0x1f]\n" + " b ._173\n" + "._155:\n" + " .align 2, 0\n" + "._154:\n" + " .word gSaveBlock1+0x2738\n" + " .word gSaveBlock2\n" + " .word gPlayerParty\n" + "._109:\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r5, ._157\n" + " add r6, r4, r5\n" + " mov r0, #0x1\n" + " strh r0, [r6, #0xa]\n" + " strh r0, [r6, #0x14]\n" + " add r0, r5, #2\n" + " add r0, r4, r0\n" + " ldr r1, ._157 + 4\n" + " mov r8, r1\n" + " bl StringCopy\n" + " add r5, r5, #0xc\n" + " add r4, r4, r5\n" + " add r0, r4, #0\n" + " mov r1, r8\n" + " bl StringCopy\n" + " mov r0, #0x5\n" + " strb r0, [r6, #0x1d]\n" + " b ._173\n" + "._158:\n" + " .align 2, 0\n" + "._157:\n" + " .word gSaveBlock1+0x2738\n" + " .word gSaveBlock2\n" + "._143:\n" + " add r0, r4, r6\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._160\n" + " add r0, r0, r1\n" + " mov r1, #0x1\n" + " strh r1, [r0, #0xc]\n" + " strh r1, [r0, #0x16]\n" + " b ._173\n" + "._161:\n" + " .align 2, 0\n" + "._160:\n" + " .word gSaveBlock1+0x2738\n" + "._123:\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r0, ._163\n" + " add r4, r4, r0\n" + " ldr r1, ._163 + 4\n" + " mov r0, sp\n" + " mov r2, #0x8\n" + " bl memcpy\n" + " add r5, sp, #0x8\n" + " ldr r1, ._163 + 8\n" + " add r0, r5, #0\n" + " mov r2, #0xb\n" + " bl memcpy\n" + " mov r0, #0xff\n" + " strb r0, [r4, #0x12]\n" + " add r0, r4, #0\n" + " add r0, r0, #0x13\n" + " mov r1, sp\n" + " bl StringCopy\n" + " add r0, r4, #4\n" + " add r1, r5, #0\n" + " bl StringCopy\n" + " mov r0, #0xc\n" + " strb r0, [r4, #0xf]\n" + " mov r0, #0x28\n" + " strh r0, [r4, #0x10]\n" + " mov r0, #0x5\n" + " strb r0, [r4, #0x2]\n" + " strb r0, [r4, #0x3]\n" + " b ._173\n" + "._164:\n" + " .align 2, 0\n" + "._163:\n" + " .word gSaveBlock1+0x2738\n" + " .word gUnknown_Debug_083C4C64\n" + " .word gUnknown_Debug_083C4C6C\n" + "._124:\n" + " add r0, r4, r6\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._168\n" + " add r5, r0, r1\n" + " add r4, sp, #0x14\n" + " ldr r1, ._168 + 4\n" + " add r0, r4, #0\n" + " mov r2, #0x8\n" + " bl memcpy\n" + " add r1, r4, #0\n" + " mov r3, #0xfe\n" + " mov r2, #0x2\n" + " add r0, r5, #0\n" + " add r0, r0, #0x10\n" + "._165:\n" + " strh r3, [r0]\n" + " sub r0, r0, #0x2\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bge ._165 @cond_branch\n" + " mov r0, #0x1\n" + " strb r0, [r5, #0x2]\n" + " mov r0, #0x28\n" + " strb r0, [r5, #0x12]\n" + " add r0, r5, #0\n" + " add r0, r0, #0x13\n" + " add r3, r5, #6\n" + " mov r6, #0x1e\n" + " add r2, r5, #0\n" + " add r2, r2, #0xa\n" + "._166:\n" + " strh r6, [r2]\n" + " sub r2, r2, #0x2\n" + " cmp r2, r3\n" + " bge ._166 @cond_branch\n" + " bl StringCopy\n" + " mov r0, #0x5\n" + " strb r0, [r5, #0x3]\n" + " b ._173\n" + "._169:\n" + " .align 2, 0\n" + "._168:\n" + " .word gSaveBlock1+0x2738\n" + " .word gUnknown_Debug_083C4C64\n" + "._125:\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r0, ._171\n" + " add r4, r4, r0\n" + " add r5, sp, #0x1c\n" + " ldr r1, ._171 + 4\n" + " add r0, r5, #0\n" + " mov r2, #0x8\n" + " bl memcpy\n" + " mov r0, #0x28\n" + " strh r0, [r4, #0xc]\n" + " strh r0, [r4, #0xe]\n" + " mov r0, #0x3\n" + " strb r0, [r4, #0x12]\n" + " mov r0, #0xff\n" + " strb r0, [r4, #0x10]\n" + " mov r0, #0x1\n" + " strb r0, [r4, #0x11]\n" + " add r0, r4, #0\n" + " add r0, r0, #0x13\n" + " add r1, r5, #0\n" + " bl StringCopy\n" + " mov r0, #0x5\n" + " strb r0, [r4, #0x2]\n" + " b ._173\n" + "._172:\n" + " .align 2, 0\n" + "._171:\n" + " .word gSaveBlock1+0x2738\n" + " .word gUnknown_Debug_083C4C64\n" + "._126:\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r0, ._174\n" + " add r4, r4, r0\n" + " add r5, sp, #0x24\n" + " ldr r1, ._174 + 4\n" + " add r0, r5, #0\n" + " mov r2, #0x8\n" + " bl memcpy\n" + " mov r0, #0xff\n" + " strb r0, [r4, #0x2]\n" + " mov r0, #0x0\n" + " strb r0, [r4, #0x3]\n" + " mov r0, #0x28\n" + " strh r0, [r4, #0x4]\n" + " add r0, r4, #0\n" + " add r0, r0, #0x13\n" + " add r1, r5, #0\n" + " bl StringCopy\n" + " mov r0, #0x5\n" + " strb r0, [r4, #0x6]\n" + " b ._173\n" + "._175:\n" + " .align 2, 0\n" + "._174:\n" + " .word gSaveBlock1+0x2738\n" + " .word gUnknown_Debug_083C4C64\n" + "._127:\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x2\n" + " ldr r0, ._176\n" + " add r4, r4, r0\n" + " add r5, sp, #0x2c\n" + " ldr r1, ._176 + 4\n" + " add r0, r5, #0\n" + " mov r2, #0x8\n" + " bl memcpy\n" + " ldr r0, ._176 + 8\n" + " strh r0, [r4, #0x2]\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " strh r0, [r4, #0x6]\n" + " mov r0, #0x28\n" + " strh r0, [r4, #0x4]\n" + " strh r0, [r4, #0x8]\n" + " mov r0, #0x3\n" + " strb r0, [r4, #0xa]\n" + " add r0, r4, #0\n" + " add r0, r0, #0x13\n" + " add r1, r5, #0\n" + " bl StringCopy\n" + " mov r0, #0x5\n" + " strb r0, [r4, #0xb]\n" + "._173:\n" + " add sp, sp, #0x34\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._177:\n" + " .align 2, 0\n" + "._176:\n" + " .word gSaveBlock1+0x2738\n" + " .word gUnknown_Debug_083C4C64\n" + " .word 0xffff\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808FEBC() +{ + asm( + " push {lr}\n" + " bl ClearTVShowData\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808FECC() +{ + asm( + " push {r4, lr}\n" + " ldr r1, ._178\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " ldr r0, ._178 + 4\n" + " bl sub_8071F40\n" + " mov r0, #0xd\n" + " mov r1, #0x6\n" + " mov r2, #0x17\n" + " mov r3, #0x8\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r0, ._178 + 8\n" + " ldr r0, [r0]\n" + " mov r1, #0xe\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " mov r0, #0x16\n" + " mov r1, #0x1\n" + " mov r2, #0x18\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r4, ._178 + 12\n" + " add r0, r4, #0\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x17\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r1, ._178 + 16\n" + " ldr r0, ._178 + 20\n" + " str r0, [r1]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._179:\n" + " .align 2, 0\n" + "._178:\n" + " .word gDebug_03000724\n" + " .word gUnknown_Debug_083C49CA\n" + " .word gUnknown_Debug_083C4B20+0x4\n" + " .word gStringVar1\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808FF3C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808FF3C() +{ + asm( + " push {r4, lr}\n" + " mov r2, #0x0\n" + " ldr r0, ._192\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._180 @cond_branch\n" + " ldr r1, ._192 + 4\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x10\n" + " bne ._181 @cond_branch\n" + " strb r2, [r1]\n" + "._181:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._180:\n" + " ldr r0, ._192\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._182 @cond_branch\n" + " ldr r1, ._192 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._183 @cond_branch\n" + " mov r0, #0x10\n" + " strb r0, [r1]\n" + "._183:\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._182:\n" + " ldr r0, ._192\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._184 @cond_branch\n" + " ldr r1, ._192 + 8\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x3\n" + " bne ._185 @cond_branch\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + "._185:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._184:\n" + " ldr r0, ._192\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._186 @cond_branch\n" + " ldr r1, ._192 + 8\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._187 @cond_branch\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + "._187:\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r2, #0x1\n" + "._186:\n" + " cmp r2, #0\n" + " beq ._188 @cond_branch\n" + " mov r0, #0xd\n" + " mov r1, #0x6\n" + " mov r2, #0x17\n" + " mov r3, #0x8\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r1, ._192 + 12\n" + " ldr r0, ._192 + 8\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0xe\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " mov r0, #0x16\n" + " mov r1, #0x1\n" + " mov r2, #0x18\n" + " mov r3, #0x2\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r4, ._192 + 16\n" + " ldr r0, ._192 + 4\n" + " ldrb r1, [r0]\n" + " add r0, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x17\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + "._188:\n" + " ldr r4, ._192\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._189 @cond_branch\n" + " mov r0, #0x15\n" + " bl PlaySE\n" + " ldr r0, ._192 + 4\n" + " ldrb r0, [r0]\n" + " ldr r2, ._192 + 20\n" + " ldr r1, ._192 + 8\n" + " ldrb r1, [r1]\n" + " add r1, r1, r2\n" + " ldrb r1, [r1]\n" + " bl debug_sub_8090080\n" + "._189:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._190 @cond_branch\n" + " mov r0, #0x0\n" + " b ._191\n" + "._193:\n" + " .align 2, 0\n" + "._192:\n" + " .word gMain\n" + " .word gDebug_03000724+0x1\n" + " .word gDebug_03000724\n" + " .word gUnknown_Debug_083C4B20+0x4\n" + " .word gStringVar1\n" + " .word gUnknown_Debug_083C4B20\n" + "._190:\n" + " bl sub_80BEC40\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._191:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090080() +{ + asm( + " lsl r0, r0, #0x18\n" + " ldr r2, ._194\n" + " lsr r0, r0, #0x16\n" + " add r0, r0, r2\n" + " ldr r3, ._194 + 4\n" + " add r2, r0, r3\n" + " strb r1, [r2]\n" + " ldr r1, ._194 + 8\n" + " add r2, r0, r1\n" + " mov r1, #0x1\n" + " strb r1, [r2]\n" + " add r3, r3, #0x2\n" + " add r0, r0, r3\n" + " mov r1, #0x4\n" + " strh r1, [r0]\n" + " bx lr\n" + "._195:\n" + " .align 2, 0\n" + "._194:\n" + " .word gSaveBlock1\n" + " .word 0x2abc\n" + " .word 0x2abd\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80900AC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " mov r7, #0x0\n" + " mov r5, #0x0\n" + " ldr r0, ._202\n" + " mov r8, r0\n" + "._198:\n" + " lsl r0, r5, #0x3\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x2\n" + " mov r1, r8\n" + " add r6, r0, r1\n" + " ldr r1, ._202 + 4\n" + " add r0, r6, r1\n" + " ldrb r4, [r0]\n" + " cmp r4, #0\n" + " bne ._196 @cond_branch\n" + " cmp r7, #0xc\n" + " bne ._197 @cond_branch\n" + " mov r7, #0x0\n" + "._197:\n" + " ldr r0, ._202 + 8\n" + " add r0, r7, r0\n" + " ldrb r1, [r0]\n" + " add r0, r5, #0\n" + " bl debug_sub_808FA88\n" + " ldr r1, ._202 + 12\n" + " add r0, r6, r1\n" + " strb r4, [r0]\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._196:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x17\n" + " bls ._198 @cond_branch\n" + " mov r7, #0x0\n" + " mov r5, #0x0\n" + "._201:\n" + " ldr r0, ._202\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r0\n" + " ldr r0, ._202 + 16\n" + " add r1, r1, r0\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._199 @cond_branch\n" + " cmp r7, #0x3\n" + " bne ._200 @cond_branch\n" + " mov r7, #0x0\n" + "._200:\n" + " ldr r0, ._202 + 20\n" + " add r0, r7, r0\n" + " ldrb r1, [r0]\n" + " add r0, r5, #0\n" + " bl debug_sub_8090080\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._199:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0xf\n" + " bls ._201 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._203:\n" + " .align 2, 0\n" + "._202:\n" + " .word gSaveBlock1\n" + " .word 0x2738\n" + " .word gUnknown_Debug_083C4ABD\n" + " .word 0x2739\n" + " .word 0x2abc\n" + " .word gUnknown_Debug_083C4B20\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_Fan() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xb\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._204\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xa\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._204 + 4\n" + " ldr r0, ._204 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._205:\n" + " .align 2, 0\n" + "._204:\n" + " .word gUnknown_Debug_083C4D28\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_80901A4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80901A4() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._206 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " beq ._207 @cond_branch\n" + " ldr r2, ._209\n" + " ldr r0, ._209 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + "._206:\n" + " mov r0, #0x0\n" + " b ._208\n" + "._210:\n" + " .align 2, 0\n" + "._209:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C4D28\n" + "._207:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._208:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80901E4() +{ + asm( + " push {lr}\n" + " bl ResetFanClub\n" + " bl sub_810FAA0\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80901F8() +{ + asm( + " push {lr}\n" + " bl sub_810FB9C\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._211\n" + " ldr r1, ._211 + 4\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x8\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldr r0, [r0]\n" + " mov r1, #0xe\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r1, ._211 + 8\n" + " ldr r0, ._211 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._212:\n" + " .align 2, 0\n" + "._211:\n" + " .word gUnknown_Debug_083C4CA8\n" + " .word gUnknown_083F8408\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090278+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090238() +{ + asm( + " push {lr}\n" + " bl sub_810FC18\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._213\n" + " ldr r1, ._213 + 4\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x8\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldr r0, [r0]\n" + " mov r1, #0xe\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r1, ._213 + 8\n" + " ldr r0, ._213 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._214:\n" + " .align 2, 0\n" + "._213:\n" + " .word gUnknown_Debug_083C4CA8\n" + " .word gUnknown_083F8410\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090278+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090278() +{ + asm( + " push {lr}\n" + " ldr r0, ._217\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._215 @cond_branch\n" + " mov r0, #0x0\n" + " b ._216\n" + "._218:\n" + " .align 2, 0\n" + "._217:\n" + " .word gMain\n" + "._215:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._216:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_809029C() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._219\n" + " ldr r0, ._219 + 4\n" + " ldr r1, ._219 + 8\n" + " add r0, r0, r1\n" + " ldrh r0, [r0]\n" + " mov r1, #0x7f\n" + " and r1, r1, r0\n" + " add r0, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x10\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r1, ._219 + 12\n" + " ldr r0, ._219 + 16\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._220:\n" + " .align 2, 0\n" + "._219:\n" + " .word gStringVar1\n" + " .word gSaveBlock1\n" + " .word 0x13c2\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090278+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80902E4() +{ + asm( + " push {lr}\n" + " ldr r1, ._221\n" + " ldrh r0, [r1, #0xe]\n" + " add r0, r0, #0x6\n" + " strh r0, [r1, #0xe]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._222:\n" + " .align 2, 0\n" + "._221:\n" + " .word gSaveBlock2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80902FC() +{ + asm( + " push {lr}\n" + " mov r0, #0x0\n" + " bl sub_810FB10\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090310() +{ + asm( + " push {lr}\n" + " mov r0, #0x1\n" + " bl sub_810FB10\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090324() +{ + asm( + " push {lr}\n" + " mov r0, #0x2\n" + " bl sub_810FB10\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090338() +{ + asm( + " push {lr}\n" + " mov r0, #0x3\n" + " bl sub_810FB10\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_BattleVSDad() +{ + asm( + " push {lr}\n" + " ldr r0, ._223\n" + " mov r1, #0x6\n" + " bl VarSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._224:\n" + " .align 2, 0\n" + "._223:\n" + " .word 0x4085\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_DadAfterBattle() +{ + asm( + " push {lr}\n" + " ldr r0, ._225\n" + " mov r1, #0x7\n" + " bl VarSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._226:\n" + " .align 2, 0\n" + "._225:\n" + " .word 0x4085\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_SootopolisCity() +{ + asm( + " push {lr}\n" + " mov r0, #0x81\n" + " bl FlagSet\n" + " mov r0, #0x71\n" + " bl FlagSet\n" + " ldr r0, ._227\n" + " bl FlagReset\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._228:\n" + " .align 2, 0\n" + "._227:\n" + " .word 0x32f\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_Embark() +{ + asm( + " push {lr}\n" + " ldr r0, ._229\n" + " bl FlagReset\n" + " ldr r0, ._229 + 4\n" + " mov r1, #0x1\n" + " bl VarSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._230:\n" + " .align 2, 0\n" + "._229:\n" + " .word 0x2e3\n" + " .word 0x4090\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_Yes9999() +{ + asm( + " push {lr}\n" + " ldr r0, ._231\n" + " ldr r1, ._231 + 4\n" + " bl VarSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._232:\n" + " .align 2, 0\n" + "._231:\n" + " .word 0x4048\n" + " .word 0x270f\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_LegendsFlagOn() +{ + asm( + " push {lr}\n" + " mov r0, #0xe4\n" + " bl FlagSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void NoharaDebugMenu_AddNumWinningStreaks() +{ + asm( + " push {lr}\n" + " ldr r0, ._235\n" + " ldr r1, ._235 + 4\n" + " add r2, r0, r1\n" + " ldrh r1, [r2]\n" + " cmp r1, #0x31\n" + " bhi ._233 @cond_branch\n" + " mov r0, #0x32\n" + " b ._244\n" + "._236:\n" + " .align 2, 0\n" + "._235:\n" + " .word gSaveBlock2\n" + " .word 0x572\n" + "._233:\n" + " cmp r1, #0x63\n" + " bhi ._237 @cond_branch\n" + " mov r0, #0x64\n" + " b ._244\n" + "._237:\n" + " ldr r0, ._241\n" + " cmp r1, r0\n" + " bhi ._239 @cond_branch\n" + " add r0, r0, #0x1\n" + " b ._244\n" + "._242:\n" + " .align 2, 0\n" + "._241:\n" + " .word 0x3e7\n" + "._239:\n" + " ldr r0, ._245\n" + " cmp r1, r0\n" + " bhi ._243 @cond_branch\n" + " ldr r0, ._245 + 4\n" + " b ._244\n" + "._246:\n" + " .align 2, 0\n" + "._245:\n" + " .word 0x1387\n" + " .word 0x2706\n" + "._243:\n" + " ldr r0, ._248\n" + " cmp r1, r0\n" + " bhi ._247 @cond_branch\n" + " add r0, r0, #0xa\n" + "._244:\n" + " strh r0, [r2]\n" + "._247:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._249:\n" + " .align 2, 0\n" + "._248:\n" + " .word 0x2705\n" + "\n" + ); +} + +#endif diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c new file mode 100644 index 000000000..4f9b588d8 --- /dev/null +++ b/src/debug/taya_debug_window.c @@ -0,0 +1,2122 @@ +#ifdef DEBUG +#include "global.h" + +EWRAM_DATA u8 unk_2030224[4] = { 0 }; + +__attribute__((naked)) +void TayaDebugMenu_Trend() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xffffffd8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1e\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r5, ._3\n" + " mov r7, #0x0\n" + " mov r0, #0x1\n" + " add r0, r0, sp\n" + " mov sl, r0\n" + " mov r9, sp\n" + " mov r0, #0x0\n" + " mov r8, r0\n" + " add r6, sp, #0x20\n" + "._2:\n" + " ldrb r1, [r5, #0x1]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " mov r1, #0xa1\n" + " cmp r0, #0\n" + " beq ._1 @cond_branch\n" + " mov r1, #0xa2\n" + "._1:\n" + " mov r0, r9\n" + " strb r1, [r0]\n" + " ldrh r1, [r5, #0x4]\n" + " add r0, r6, #0\n" + " bl sub_80EB3FC\n" + " mov r0, sl\n" + " add r1, r6, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x7\n" + " bl StringCopyPadded\n" + " add r4, r0, #0\n" + " ldrh r1, [r5, #0x6]\n" + " add r0, r6, #0\n" + " bl sub_80EB3FC\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x8\n" + " bl StringCopyPadded\n" + " add r4, r0, #0\n" + " ldrb r1, [r5]\n" + " lsl r1, r1, #0x19\n" + " lsr r1, r1, #0x19\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r4, r0, #0\n" + " mov r0, r8\n" + " strb r0, [r4]\n" + " add r4, r4, #0x1\n" + " ldrh r1, [r5]\n" + " lsl r1, r1, #0x12\n" + " lsr r1, r1, #0x19\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r4, r0, #0\n" + " mov r0, r8\n" + " strb r0, [r4]\n" + " add r4, r4, #0x1\n" + " ldrh r1, [r5, #0x2]\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " lsl r2, r7, #0x1\n" + " add r2, r2, #0x1\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r0, sp\n" + " mov r1, #0x1\n" + " bl MenuPrint\n" + " add r5, r5, #0x8\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r7, r0, #0x10\n" + " cmp r7, #0x4\n" + " bls ._2 @cond_branch\n" + " ldr r1, ._3 + 4\n" + " ldr r0, ._3 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x28\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word gSaveBlock1+0x2dd4\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090808+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090808() +{ + asm( + " push {lr}\n" + " ldr r0, ._7\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x3\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._5 @cond_branch\n" + " mov r0, #0x0\n" + " b ._6\n" + "._8:\n" + " .align 2, 0\n" + "._7:\n" + " .word gMain\n" + "._5:\n" + " bl MenuZeroFillScreen\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._6:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_TrendR() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r0, #0x0\n" + " ldr r7, ._11\n" + "._10:\n" + " mov r4, #0x0\n" + " lsl r5, r0, #0x3\n" + " add r6, r0, #1\n" + "._9:\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0x16\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl sub_80EB72C\n" + " lsl r1, r4, #0x1\n" + " add r1, r1, r5\n" + " add r1, r1, r7\n" + " strh r0, [r1]\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " cmp r4, #0x1\n" + " bls ._9 @cond_branch\n" + " lsl r0, r6, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0x4\n" + " bls ._10 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._12:\n" + " .align 2, 0\n" + "._11:\n" + " .word gSaveBlock1+0x2dd8\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090880() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._13 @cond_branch\n" + " mov r0, #0x0\n" + " b ._14\n" + "._13:\n" + " bl sub_80E60D8\n" + " mov r0, #0x1\n" + "._14:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_809089C() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._15 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._16 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._17\n" + "._16:\n" + " ldr r2, ._19\n" + " ldr r0, ._19 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " strh r0, [r2]\n" + " ldrh r0, [r2]\n" + " sub r0, r0, #0x5\n" + " cmp r0, #0x7\n" + " bhi ._27 @cond_branch\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._19 + 8\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._20:\n" + " .align 2, 0\n" + "._19:\n" + " .word gSpecialVar_0x8004\n" + " .word gUnknown_Debug_083C4EC0\n" + " .word ._21\n" + "._21:\n" + " .word ._29\n" + " .word ._27\n" + " .word ._29\n" + " .word ._29\n" + " .word ._27\n" + " .word ._27\n" + " .word ._29\n" + " .word ._29\n" + "._29:\n" + " ldr r0, ._30\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " ldr r0, ._30 + 4\n" + " strh r1, [r0]\n" + "._27:\n" + " mov r0, #0x1\n" + " mov r1, #0x0\n" + " bl fade_screen\n" + " ldr r1, ._30 + 8\n" + " ldr r0, ._30 + 12\n" + " str r0, [r1]\n" + "._15:\n" + " mov r0, #0x0\n" + "._17:\n" + " pop {r1}\n" + " bx r1\n" + "._31:\n" + " .align 2, 0\n" + "._30:\n" + " .word gSpecialVar_0x8005\n" + " .word gSpecialVar_0x8006\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090880+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_SimpleText() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xc\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._32\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xb\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._32 + 4\n" + " ldr r0, ._32 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._33:\n" + " .align 2, 0\n" + "._32:\n" + " .word gUnknown_Debug_083C4EC0\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_809089C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090984() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " bl ProcessMenuInput\n" + " lsl r2, r0, #0x18\n" + " asr r1, r2, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._34 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " beq ._46 @cond_branch\n" + " cmp r1, #0x4\n" + " bgt ._36 @cond_branch\n" + " lsr r0, r2, #0x18\n" + " bl debug_sub_810B32C\n" + " b ._46\n" + "._34:\n" + " mov r0, #0x0\n" + " b ._38\n" + "._36:\n" + " cmp r1, #0x5\n" + " bne ._39 @cond_branch\n" + " bl sub_80F7F30\n" + " b ._46\n" + "._39:\n" + " cmp r1, #0x6\n" + " bne ._41 @cond_branch\n" + " mov r4, #0x0\n" + " ldr r0, ._44\n" + " add r1, r0, #2\n" + " mov ip, r1\n" + " ldr r7, ._44 + 4\n" + " ldr r1, ._44 + 8\n" + " add r6, r0, r1\n" + " add r5, r0, #0\n" + " add r5, r5, #0xe\n" + "._42:\n" + " lsl r1, r4, #0x1\n" + " mov r0, ip\n" + " add r3, r1, r0\n" + " add r0, r1, r7\n" + " ldrh r2, [r0]\n" + " strh r2, [r3]\n" + " add r0, r1, r5\n" + " strh r2, [r0]\n" + " add r1, r6, r1\n" + " strh r2, [r1]\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " cmp r4, #0x2\n" + " bls ._42 @cond_branch\n" + " b ._46\n" + "._45:\n" + " .align 2, 0\n" + "._44:\n" + " .word gSaveBlock1+0x2d94\n" + " .word gUnknown_Debug_083C4F08\n" + " .word 0xfffffd94\n" + "._41:\n" + " cmp r1, #0x7\n" + " bne ._46 @cond_branch\n" + " mov r4, #0x0\n" + "._47:\n" + " lsl r0, r4, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl sub_80EB890\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " cmp r4, #0x20\n" + " bls ._47 @cond_branch\n" + "._46:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._38:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_OldMan() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xa\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._48\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x8\n" + " bl PrintMenuItems\n" + " bl GetCurrentMauvilleOldMan\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " str r0, [sp]\n" + " mov r0, #0x9\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " ldr r1, ._48 + 4\n" + " ldr r0, ._48 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._49:\n" + " .align 2, 0\n" + "._48:\n" + " .word gUnknown_Debug_083C4F54\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090984+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_LanettesPC() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " bl ShowPokemonStorageSystem\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_TownFlags() +{ + asm( + " push {lr}\n" + " ldr r0, ._50\n" + " bl FlagSet\n" + " mov r0, #0x81\n" + " lsl r0, r0, #0x4\n" + " bl FlagSet\n" + " ldr r0, ._50 + 4\n" + " bl FlagSet\n" + " ldr r0, ._50 + 8\n" + " bl FlagSet\n" + " ldr r0, ._50 + 12\n" + " bl FlagSet\n" + " ldr r0, ._50 + 16\n" + " bl FlagSet\n" + " ldr r0, ._50 + 20\n" + " bl FlagSet\n" + " ldr r0, ._50 + 24\n" + " bl FlagSet\n" + " ldr r0, ._50 + 28\n" + " bl FlagSet\n" + " ldr r0, ._50 + 32\n" + " bl FlagSet\n" + " ldr r0, ._50 + 36\n" + " bl FlagSet\n" + " ldr r0, ._50 + 40\n" + " bl FlagSet\n" + " ldr r0, ._50 + 44\n" + " bl FlagSet\n" + " ldr r0, ._50 + 48\n" + " bl FlagSet\n" + " ldr r0, ._50 + 52\n" + " bl FlagSet\n" + " ldr r0, ._50 + 56\n" + " bl FlagSet\n" + " ldr r0, ._50 + 60\n" + " bl FlagSet\n" + " ldr r0, ._50 + 64\n" + " bl FlagSet\n" + " ldr r0, ._50 + 68\n" + " bl FlagSet\n" + " ldr r0, ._50 + 72\n" + " bl FlagSet\n" + " ldr r0, ._50 + 76\n" + " bl FlagSet\n" + " ldr r0, ._50 + 80\n" + " bl FlagSet\n" + " ldr r0, ._50 + 84\n" + " bl FlagSet\n" + " ldr r0, ._50 + 88\n" + " bl FlagSet\n" + " ldr r0, ._50 + 92\n" + " bl FlagSet\n" + " ldr r0, ._50 + 96\n" + " bl FlagSet\n" + " ldr r0, ._50 + 100\n" + " bl FlagSet\n" + " ldr r0, ._50 + 104\n" + " bl FlagSet\n" + " ldr r0, ._50 + 108\n" + " bl FlagSet\n" + " ldr r0, ._50 + 112\n" + " bl FlagSet\n" + " ldr r0, ._50 + 116\n" + " bl FlagSet\n" + " ldr r0, ._50 + 120\n" + " bl FlagSet\n" + " mov r0, #0x84\n" + " lsl r0, r0, #0x4\n" + " bl FlagSet\n" + " ldr r0, ._50 + 124\n" + " bl FlagSet\n" + " ldr r0, ._50 + 128\n" + " bl FlagSet\n" + " ldr r0, ._50 + 132\n" + " bl FlagSet\n" + " ldr r0, ._50 + 136\n" + " bl FlagSet\n" + " ldr r0, ._50 + 140\n" + " bl FlagSet\n" + " ldr r0, ._50 + 144\n" + " bl FlagSet\n" + " ldr r0, ._50 + 148\n" + " bl FlagSet\n" + " ldr r0, ._50 + 152\n" + " bl FlagSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._51:\n" + " .align 2, 0\n" + "._50:\n" + " .word 0x80f\n" + " .word 0x811\n" + " .word 0x812\n" + " .word 0x813\n" + " .word 0x814\n" + " .word 0x815\n" + " .word 0x816\n" + " .word 0x817\n" + " .word 0x818\n" + " .word 0x819\n" + " .word 0x81a\n" + " .word 0x81b\n" + " .word 0x81c\n" + " .word 0x81d\n" + " .word 0x81e\n" + " .word 0x848\n" + " .word 0x849\n" + " .word 0x84a\n" + " .word 0x854\n" + " .word 0x855\n" + " .word 0x856\n" + " .word 0x857\n" + " .word 0x858\n" + " .word 0x859\n" + " .word 0x85a\n" + " .word 0x85b\n" + " .word 0x85c\n" + " .word 0x83c\n" + " .word 0x83d\n" + " .word 0x83e\n" + " .word 0x83f\n" + " .word 0x841\n" + " .word 0x842\n" + " .word 0x843\n" + " .word 0x844\n" + " .word 0x845\n" + " .word 0x846\n" + " .word 0x847\n" + " .word 0x83b\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_AwardARibbon() +{ + asm( + " push {lr}\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x10\n" + " mov r2, #0x0\n" + " bl BlendPalettes\n" + " ldr r0, ._52\n" + " bl SetMainCallback2\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._53:\n" + " .align 2, 0\n" + "._52:\n" + " .word debug_sub_80915BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090C44() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r4, ._54\n" + " sub r5, r4, #1\n" + " ldrh r1, [r5, #0x8]\n" + " add r0, r4, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x5\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0x0\n" + " mov r2, #0x5\n" + " bl StringFill\n" + " ldrb r0, [r5]\n" + " add r0, r0, r4\n" + " mov r1, #0x79\n" + " strb r1, [r0]\n" + " add r0, r4, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._55:\n" + " .align 2, 0\n" + "._54:\n" + " .word +0x2000001\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8090C88() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " mov r8, r0\n" + " ldr r2, ._59\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " add r3, r2, #0\n" + " cmp r0, #0\n" + " beq ._57 @cond_branch\n" + " ldr r1, ._59 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._57 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._62\n" + "._60:\n" + " .align 2, 0\n" + "._59:\n" + " .word gMain\n" + " .word +0x2000000\n" + "._67:\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._62\n" + "._77:\n" + " strh r1, [r7, #0x8]\n" + " b ._62\n" + "._79:\n" + " ldr r0, ._64\n" + " ldrh r0, [r0, #0x8]\n" + " bl SetLotteryNumber16_Unused\n" + "._78:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._63\n" + "._65:\n" + " .align 2, 0\n" + "._64:\n" + " .word +0x2000000\n" + "._57:\n" + " ldrh r1, [r3, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._66 @cond_branch\n" + " ldr r1, ._81\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x3\n" + " bls ._67 @cond_branch\n" + "._66:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._68 @cond_branch\n" + " ldr r0, ._81\n" + " ldrh r1, [r0, #0x8]\n" + " str r1, [r0, #0xc]\n" + " ldr r1, ._81 + 4\n" + " strh r1, [r0, #0x10]\n" + " mov r4, #0x0\n" + " ldrb r1, [r0]\n" + " add r7, r0, #0\n" + " cmp r4, r1\n" + " bcs ._69 @cond_branch\n" + " add r5, r7, #0\n" + " add r6, r1, #0\n" + "._70:\n" + " ldrh r0, [r5, #0x10]\n" + " mov r1, #0xa\n" + " str r3, [sp]\n" + " bl __udivsi3\n" + " strh r0, [r5, #0x10]\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r3, [sp]\n" + " cmp r4, r6\n" + " bcc ._70 @cond_branch\n" + "._69:\n" + " ldrh r1, [r7, #0x10]\n" + " ldr r0, [r7, #0xc]\n" + " add r0, r0, r1\n" + " str r0, [r7, #0xc]\n" + " ldr r1, ._81 + 8\n" + " cmp r0, r1\n" + " ble ._71 @cond_branch\n" + " str r1, [r7, #0xc]\n" + "._71:\n" + " ldrh r0, [r7, #0x8]\n" + " ldr r1, [r7, #0xc]\n" + " cmp r0, r1\n" + " bne ._77 @cond_branch\n" + "._68:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._73 @cond_branch\n" + " ldr r0, ._81\n" + " ldrh r1, [r0, #0x8]\n" + " str r1, [r0, #0xc]\n" + " ldr r1, ._81 + 4\n" + " strh r1, [r0, #0x10]\n" + " mov r4, #0x0\n" + " ldrb r1, [r0]\n" + " add r7, r0, #0\n" + " cmp r4, r1\n" + " bcs ._74 @cond_branch\n" + " add r5, r7, #0\n" + " add r6, r1, #0\n" + "._75:\n" + " ldrh r0, [r5, #0x10]\n" + " mov r1, #0xa\n" + " str r3, [sp]\n" + " bl __udivsi3\n" + " strh r0, [r5, #0x10]\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r3, [sp]\n" + " cmp r4, r6\n" + " bcc ._75 @cond_branch\n" + "._74:\n" + " add r2, r7, #0\n" + " ldrh r1, [r2, #0x10]\n" + " ldr r0, [r2, #0xc]\n" + " sub r0, r0, r1\n" + " str r0, [r2, #0xc]\n" + " cmp r0, #0\n" + " bge ._76 @cond_branch\n" + " mov r0, #0x0\n" + " str r0, [r2, #0xc]\n" + "._76:\n" + " ldrh r0, [r2, #0x8]\n" + " ldr r1, [r2, #0xc]\n" + " cmp r0, r1\n" + " bne ._77 @cond_branch\n" + "._73:\n" + " ldrh r2, [r3, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._78 @cond_branch\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._79 @cond_branch\n" + " mov r0, #0x0\n" + " mov r8, r0\n" + "._62:\n" + " mov r0, r8\n" + " cmp r0, #0\n" + " beq ._80 @cond_branch\n" + " bl debug_sub_8090C44\n" + "._80:\n" + " mov r0, #0x0\n" + "._63:\n" + " add sp, sp, #0x4\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._82:\n" + " .align 2, 0\n" + "._81:\n" + " .word +0x2000000\n" + " .word 0x2710\n" + " .word 0xffff\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_PKMNLottery() +{ + asm( + " push {lr}\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x6\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " bl RetrieveLotteryNumber\n" + " ldr r2, ._83\n" + " ldr r0, ._83 + 4\n" + " ldrh r0, [r0]\n" + " mov r1, #0x0\n" + " strh r0, [r2, #0x8]\n" + " strb r1, [r2]\n" + " bl debug_sub_8090C44\n" + " ldr r1, ._83 + 8\n" + " ldr r0, ._83 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._84:\n" + " .align 2, 0\n" + "._83:\n" + " .word +0x2000000\n" + " .word gScriptResult\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_8090C88+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_Trainer() +{ + asm( + " push {r4, r5, lr}\n" + " mov r4, #0x0\n" + " ldr r5, ._86\n" + "._85:\n" + " lsl r0, r4, #0x4\n" + " add r0, r0, r5\n" + " ldrh r0, [r0]\n" + " bl trainer_flag_set\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " cmp r4, #0x37\n" + " bls ._85 @cond_branch\n" + " ldr r0, ._86 + 4\n" + " bl trainer_flag_set\n" + " mov r0, #0x85\n" + " lsl r0, r0, #0x1\n" + " bl trainer_flag_set\n" + " ldr r0, ._86 + 8\n" + " bl trainer_flag_set\n" + " mov r0, #0x86\n" + " lsl r0, r0, #0x1\n" + " bl trainer_flag_set\n" + " ldr r0, ._86 + 12\n" + " bl trainer_flag_set\n" + " mov r0, #0x87\n" + " lsl r0, r0, #0x1\n" + " bl trainer_flag_set\n" + " ldr r0, ._86 + 16\n" + " bl trainer_flag_set\n" + " mov r0, #0x88\n" + " lsl r0, r0, #0x1\n" + " bl trainer_flag_set\n" + " ldr r0, ._86 + 20\n" + " bl trainer_flag_set\n" + " mov r0, #0x83\n" + " lsl r0, r0, #0x1\n" + " bl trainer_flag_set\n" + " ldr r0, ._86 + 24\n" + " bl trainer_flag_set\n" + " mov r0, #0x84\n" + " lsl r0, r0, #0x1\n" + " bl trainer_flag_set\n" + " ldr r0, ._86 + 28\n" + " bl trainer_flag_set\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "._87:\n" + " .align 2, 0\n" + "._86:\n" + " .word gTrainerEyeTrainers\n" + " .word 0x109\n" + " .word 0x10b\n" + " .word 0x10d\n" + " .word 0x10f\n" + " .word 0x105\n" + " .word 0x107\n" + " .word 0x14f\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_PokenavD() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xffffffe4\n" + " bl MenuDisplayMessageBox\n" + " mov r0, #0x0\n" + " mov sl, r0\n" + " mov r6, #0x1\n" + " mov r7, #0xff\n" + " mov r1, #0x3\n" + " mov r9, r1\n" + "._93:\n" + " ldr r4, ._94\n" + " add r0, r4, #0\n" + " ldr r1, ._94 + 4\n" + " bl StringCopy\n" + " mov r5, sl\n" + " add r5, r5, #0x1\n" + " add r1, r5, r4\n" + " mov r0, #0xff\n" + " strb r0, [r1]\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " mov r8, r0\n" + " str r5, [sp, #0x14]\n" + " mov r1, sl\n" + " lsl r1, r1, #0x2\n" + " str r1, [sp, #0x18]\n" + "._91:\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " add r0, r0, #0x1\n" + " str r0, [sp, #0x10]\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " add r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " bl Random\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0xc1\n" + " lsl r1, r1, #0x1\n" + " bl __umodsi3\n" + " add r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r3, r0, #0x10\n" + " cmp r3, #0xfb\n" + " bls ._89 @cond_branch\n" + " add r0, r3, #0\n" + " add r0, r0, #0x19\n" + " lsl r0, r0, #0x10\n" + " lsr r3, r0, #0x10\n" + " ldr r0, ._94 + 8\n" + " cmp r3, r0\n" + " bls ._89 @cond_branch\n" + " mov r3, #0x1\n" + "._89:\n" + " ldr r0, [sp, #0x18]\n" + " add r0, r0, sl\n" + " lsl r4, r0, #0x4\n" + " sub r4, r4, r0\n" + " lsl r4, r4, #0x5\n" + " mov r1, r8\n" + " lsl r0, r1, #0x2\n" + " add r0, r0, r8\n" + " lsl r0, r0, #0x4\n" + " ldr r1, ._94 + 12\n" + " add r0, r0, r1\n" + " add r4, r4, r0\n" + " lsl r2, r5, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " str r0, [sp, #0x4]\n" + " str r6, [sp, #0x8]\n" + " ldr r0, [sp, #0x10]\n" + " str r0, [sp, #0xc]\n" + " add r0, r4, #0\n" + " add r1, r3, #0\n" + " mov r3, #0x20\n" + " bl CreateBoxMon\n" + " bl Random\n" + " add r1, r7, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x16\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r7, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x17\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r7, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x18\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r7, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x21\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r7, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x2f\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r7, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x30\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " mov r1, r9\n" + " and r1, r1, r0\n" + " add r1, r1, #0x1\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x32\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " mov r1, r9\n" + " and r1, r1, r0\n" + " add r1, r1, #0x1\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x33\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " mov r1, r9\n" + " and r1, r1, r0\n" + " add r1, r1, #0x1\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x34\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " mov r1, r9\n" + " and r1, r1, r0\n" + " add r1, r1, #0x1\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x36\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " mov r1, r9\n" + " and r1, r1, r0\n" + " add r1, r1, #0x1\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x35\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x43\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x44\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x45\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x46\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x47\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x48\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x49\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x4a\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x4b\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x4c\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x4d\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " bl Random\n" + " add r1, r6, #0\n" + " and r1, r1, r0\n" + " str r1, [sp, #0x10]\n" + " add r0, r4, #0\n" + " mov r1, #0x4e\n" + " add r2, sp, #0x10\n" + " bl SetBoxMonData\n" + " mov r0, r8\n" + " add r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r8, r0\n" + " cmp r0, #0x1d\n" + " bhi ._90 @cond_branch\n" + " b ._91\n" + "._90:\n" + " ldr r1, [sp, #0x14]\n" + " lsl r0, r1, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov sl, r0\n" + " cmp r0, #0xd\n" + " bhi ._92 @cond_branch\n" + " b ._93\n" + "._92:\n" + " bl TayaDebugMenu_TownFlags\n" + " bl TayaDebugMenu_Trainer\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " add sp, sp, #0x1c\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._95:\n" + " .align 2, 0\n" + "._94:\n" + " .word +0x2000000\n" + " .word gUnknown_Debug_083C4F94\n" + " .word 0x19b\n" + " .word gPokemonStorage+0x4\n" + "\n" + ); +} + +__attribute__((naked)) +void TayaDebugMenu_8091190() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r3, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r3, r0\n" + " beq ._96 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r3, r0\n" + " beq ._97 @cond_branch\n" + " ldr r2, ._99\n" + " ldr r1, ._99 + 4\n" + " ldr r0, ._99 + 8\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x18\n" + " asr r0, r0, #0x18\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, [r0]\n" + " lsl r0, r3, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0, #0x4]\n" + " str r0, [r2]\n" + "._106:\n" + " mov r0, #0x0\n" + " b ._98\n" + "._100:\n" + " .align 2, 0\n" + "._99:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_83C5068\n" + " .word unk_2030224\n" + "._96:\n" + " ldr r3, ._107\n" + " ldrb r4, [r3]\n" + " ldr r2, ._107 + 4\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " add r5, r3, #0\n" + " cmp r0, #0\n" + " beq ._102 @cond_branch\n" + " sub r0, r4, #1\n" + " strb r0, [r5]\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bge ._102 @cond_branch\n" + " mov r0, #0x1\n" + " strb r0, [r5]\n" + "._102:\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._104 @cond_branch\n" + " ldrb r0, [r5]\n" + " add r0, r0, #0x1\n" + " strb r0, [r5]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bls ._104 @cond_branch\n" + " mov r0, #0x0\n" + " strb r0, [r5]\n" + "._104:\n" + " lsl r0, r4, #0x18\n" + " asr r0, r0, #0x18\n" + " mov r1, #0x0\n" + " ldrsb r1, [r5, r1]\n" + " cmp r0, r1\n" + " beq ._106 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xb\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r4, ._107 + 8\n" + " mov r0, #0x0\n" + " ldrsb r0, [r5, r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r4\n" + " ldrb r2, [r0, #0x4]\n" + " ldr r3, [r0]\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " ldrsb r0, [r5, r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r4\n" + " ldrb r3, [r0, #0x4]\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xa\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl InitMenu\n" + " b ._106\n" + "._108:\n" + " .align 2, 0\n" + "._107:\n" + " .word unk_2030224\n" + " .word gMain\n" + " .word gUnknown_Debug_83C5068\n" + "._97:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._98:\n" + " add sp, sp, #0x8\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void InitTayaDebugWindow() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " ldr r1, ._109\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xb\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._109 + 4\n" + " ldr r3, [r0]\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xa\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._109 + 8\n" + " ldr r0, ._109 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._110:\n" + " .align 2, 0\n" + "._109:\n" + " .word unk_2030224\n" + " .word gUnknown_Debug_83C5068\n" + " .word gCallback_03004AE8\n" + " .word TayaDebugMenu_8091190+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80912D8() +{ + asm( + " push {lr}\n" + " ldr r0, ._113\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._111 @cond_branch\n" + " mov r0, #0x0\n" + " b ._112\n" + "._114:\n" + " .align 2, 0\n" + "._113:\n" + " .word gPaletteFade\n" + "._111:\n" + " ldr r0, ._115\n" + " bl SetMainCallback2\n" + " mov r0, #0x1\n" + "._112:\n" + " pop {r1}\n" + " bx r1\n" + "._116:\n" + " .align 2, 0\n" + "._115:\n" + " .word debug_sub_8110F28+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8091300() +{ + asm( + " push {lr}\n" + " mov r0, #0x1\n" + " mov r1, #0x0\n" + " bl fade_screen\n" + " ldr r1, ._117\n" + " ldr r0, ._117 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._118:\n" + " .align 2, 0\n" + "._117:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_80912D8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8091320() +{ + asm( + " push {lr}\n" + " bl LoadOam\n" + " bl ProcessSpriteCopyRequests\n" + " bl TransferPlttBuffer\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8091334() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " ldr r3, ._123\n" + " add r0, r3, #0\n" + " add r0, r0, #0x52\n" + " ldrb r4, [r0]\n" + " cmp r4, #0\n" + " beq ._119 @cond_branch\n" + " cmp r4, #0x1\n" + " bne ._120 @cond_branch\n" + " b ._121\n" + "._120:\n" + " b ._162\n" + "._124:\n" + " .align 2, 0\n" + "._123:\n" + " .word +0x2000000\n" + "._119:\n" + " add r5, r3, #0\n" + " add r5, r5, #0x55\n" + " strb r4, [r5]\n" + " ldr r2, ._131\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " mov r9, r2\n" + " cmp r0, #0\n" + " beq ._126 @cond_branch\n" + " add r1, r3, #0\n" + " add r1, r1, #0x54\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._126 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x1\n" + " strb r0, [r5]\n" + "._126:\n" + " mov r0, r9\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " ldr r5, ._131 + 4\n" + " cmp r0, #0\n" + " beq ._133 @cond_branch\n" + " add r0, r5, #0\n" + " add r0, r0, #0x53\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x2\n" + " beq ._128 @cond_branch\n" + " add r1, r5, #0\n" + " add r1, r1, #0x54\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x4\n" + " bhi ._133 @cond_branch\n" + " b ._130\n" + "._132:\n" + " .align 2, 0\n" + "._131:\n" + " .word gMain\n" + " .word +0x2000000\n" + "._128:\n" + " add r1, r5, #0\n" + " add r1, r1, #0x54\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x3\n" + " bhi ._133 @cond_branch\n" + "._130:\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " add r1, r1, #0x1\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + "._133:\n" + " mov r2, r9\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._135 @cond_branch\n" + " add r1, r5, #0\n" + " add r1, r1, #0x53\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._135 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " add r1, r1, #0x2\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + "._135:\n" + " mov r3, r9\n" + " ldrh r1, [r3, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._140 @cond_branch\n" + " add r0, r5, #0\n" + " add r0, r0, #0x54\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x5\n" + " beq ._137 @cond_branch\n" + " add r1, r5, #0\n" + " add r1, r1, #0x53\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x1\n" + " bhi ._140 @cond_branch\n" + " b ._139\n" + "._137:\n" + " add r1, r5, #0\n" + " add r1, r1, #0x53\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._140 @cond_branch\n" + "._139:\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " add r1, r1, #0x2\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + "._140:\n" + " add r0, r5, #0\n" + " add r0, r0, #0x55\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._141 @cond_branch\n" + " mov r0, r9\n" + " ldrh r2, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._142 @cond_branch\n" + " ldr r2, ._145\n" + " add r3, r5, #0\n" + " add r3, r3, #0x53\n" + " add r0, r5, #0\n" + " add r0, r0, #0x54\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " ldrb r3, [r3]\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r2\n" + " ldrh r0, [r0, #0x4]\n" + " sub r0, r0, #0x32\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0x4\n" + " bhi ._143 @cond_branch\n" + " add r1, r5, #0\n" + " add r1, r1, #0x56\n" + " mov r0, #0x4\n" + " b ._144\n" + "._146:\n" + " .align 2, 0\n" + "._145:\n" + " .word gUnknown_Debug_083C50EC\n" + "._143:\n" + " add r1, r5, #0\n" + " add r1, r1, #0x56\n" + " mov r0, #0x1\n" + "._144:\n" + " strb r0, [r1]\n" + " add r1, r5, #0\n" + " add r1, r1, #0x52\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " b ._162\n" + "._142:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._148 @cond_branch\n" + " b ._162\n" + "._148:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x10\n" + " mov r2, #0x0\n" + " bl BlendPalettes\n" + " ldr r0, ._151\n" + " bl SetMainCallback2\n" + " b ._162\n" + "._152:\n" + " .align 2, 0\n" + "._151:\n" + " .word sub_80546F0+1\n" + "._121:\n" + " add r5, r3, #0\n" + " add r5, r5, #0x55\n" + " mov r0, #0x0\n" + " strb r0, [r5]\n" + " ldr r2, ._159\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " mov r9, r2\n" + " cmp r0, #0\n" + " beq ._154 @cond_branch\n" + " add r2, r3, #0\n" + " add r2, r2, #0x53\n" + " add r0, r3, #0\n" + " add r0, r0, #0x54\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " add r2, r0, r3\n" + " add r0, r3, #0\n" + " add r0, r0, #0x56\n" + " ldrb r1, [r2]\n" + " ldrb r0, [r0]\n" + " cmp r1, r0\n" + " bcs ._154 @cond_branch\n" + " add r0, r1, #1\n" + " strb r0, [r2]\n" + " strb r4, [r5]\n" + "._154:\n" + " mov r2, r9\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " ldr r5, ._159 + 4\n" + " cmp r0, #0\n" + " beq ._156 @cond_branch\n" + " add r2, r5, #0\n" + " add r2, r2, #0x53\n" + " add r0, r5, #0\n" + " add r0, r0, #0x54\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x1\n" + " add r0, r0, r1\n" + " ldrb r2, [r2]\n" + " add r0, r0, r2\n" + " add r1, r0, r5\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._156 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " add r1, r5, #0\n" + " add r1, r1, #0x55\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + "._156:\n" + " add r6, r5, #0\n" + " add r0, r6, #0\n" + " add r0, r0, #0x55\n" + " ldrb r7, [r0]\n" + " cmp r7, #0\n" + " beq ._157 @cond_branch\n" + "._141:\n" + " bl debug_sub_80916AC\n" + " b ._162\n" + "._160:\n" + " .align 2, 0\n" + "._159:\n" + " .word gMain\n" + " .word +0x2000000\n" + "._157:\n" + " mov r3, r9\n" + " ldrh r1, [r3, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._161 @cond_branch\n" + " ldr r0, ._164\n" + " ldr r1, ._164 + 4\n" + " mov ip, r1\n" + " mov r2, #0x53\n" + " add r2, r2, r6\n" + " mov r8, r2\n" + " add r4, r6, #0\n" + " add r4, r4, #0x54\n" + " ldrb r2, [r4]\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r2\n" + " mov r3, r8\n" + " ldrb r3, [r3]\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, ip\n" + " ldrh r1, [r1, #0x4]\n" + " bl GetMonData\n" + " ldrb r2, [r4]\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r2\n" + " mov r2, r8\n" + " ldrb r2, [r2]\n" + " add r1, r1, r2\n" + " add r1, r1, r6\n" + " strb r0, [r1]\n" + " bl debug_sub_80916AC\n" + " add r0, r6, #0\n" + " add r0, r0, #0x52\n" + " strb r7, [r0]\n" + "._161:\n" + " mov r3, r9\n" + " ldrh r1, [r3, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._162 @cond_branch\n" + " ldr r2, ._164 + 4\n" + " add r0, r6, #0\n" + " add r0, r0, #0x53\n" + " ldrb r4, [r0]\n" + " add r0, r0, #0x1\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x1\n" + " add r3, r0, r1\n" + " add r0, r3, r4\n" + " lsl r0, r0, #0x3\n" + " add r1, r0, r2\n" + " ldrh r0, [r1, #0x4]\n" + " cmp r0, #0\n" + " beq ._163 @cond_branch\n" + " ldr r0, ._164\n" + " ldrh r1, [r1, #0x4]\n" + " add r2, r4, r6\n" + " add r2, r3, r2\n" + " bl SetMonData\n" + "._163:\n" + " add r0, r5, #0\n" + " add r0, r0, #0x52\n" + " strb r7, [r0]\n" + "._162:\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._165:\n" + " .align 2, 0\n" + "._164:\n" + " .word gPlayerParty\n" + " .word gUnknown_Debug_083C50EC\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80915BC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " ldr r0, ._168\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " mov r1, #0x0\n" + " ldr r0, ._168 + 4\n" + " mov r8, r0\n" + " ldr r7, ._168 + 8\n" + "._171:\n" + " mov r4, #0x0\n" + " lsl r0, r1, #0x1\n" + " add r6, r1, #1\n" + " add r5, r0, r1\n" + "._170:\n" + " add r0, r5, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r8\n" + " ldrh r1, [r0, #0x4]\n" + " cmp r1, #0\n" + " beq ._166 @cond_branch\n" + " ldr r0, ._168 + 12\n" + " bl GetMonData\n" + " add r1, r4, r5\n" + " add r1, r1, r7\n" + " strb r0, [r1]\n" + " b ._167\n" + "._169:\n" + " .align 2, 0\n" + "._168:\n" + " .word 0x4000010\n" + " .word gUnknown_Debug_083C50EC\n" + " .word +0x2000000\n" + " .word gPlayerParty\n" + "._166:\n" + " add r0, r4, r5\n" + " add r0, r0, r7\n" + " strb r1, [r0]\n" + "._167:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x2\n" + " bls ._170 @cond_branch\n" + " lsl r0, r6, #0x18\n" + " lsr r1, r0, #0x18\n" + " cmp r1, #0x5\n" + " bls ._171 @cond_branch\n" + " ldr r4, ._172\n" + " add r0, r4, #0\n" + " bl SetUpWindowConfig\n" + " add r0, r4, #0\n" + " bl InitMenuWindow\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x3\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._172 + 4\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " mov r1, #0x4\n" + " mov r2, #0x1d\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x0\n" + " mov r1, #0x12\n" + " mov r2, #0x1d\n" + " mov r3, #0x15\n" + " bl MenuDrawTextWindow\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x13\n" + " mov r2, #0x8a\n" + " lsl r2, r2, #0x5\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r2, ._172 + 8\n" + " add r0, r2, #0\n" + " add r0, r0, #0x53\n" + " mov r1, #0x0\n" + " strb r1, [r0]\n" + " add r0, r0, #0x1\n" + " strb r1, [r0]\n" + " sub r0, r0, #0x2\n" + " strb r1, [r0]\n" + " bl debug_sub_80916AC\n" + " ldr r0, ._172 + 12\n" + " bl SetVBlankCallback\n" + " ldr r0, ._172 + 16\n" + " bl SetMainCallback2\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._173:\n" + " .align 2, 0\n" + "._172:\n" + " .word gWindowConfig_81E7224\n" + " .word gUnknown_Debug_083C517C\n" + " .word +0x2000000\n" + " .word debug_sub_8091320+1\n" + " .word debug_sub_8091334+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80916AC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " mov r6, #0x0\n" + " ldr r0, ._177\n" + " mov sl, r0\n" + " mov r1, #0x0\n" + " mov r8, r1\n" + "._182:\n" + " ldr r2, ._177 + 4\n" + " mov r5, #0x0\n" + " lsl r0, r6, #0x1\n" + " mov r9, r0\n" + " add r1, r6, #1\n" + " str r1, [sp]\n" + "._181:\n" + " mov r0, sl\n" + " add r0, r0, #0x53\n" + " ldrb r0, [r0]\n" + " cmp r0, r5\n" + " bne ._175 @cond_branch\n" + " ldr r1, ._177 + 8\n" + " ldrb r0, [r1]\n" + " cmp r0, r6\n" + " bne ._175 @cond_branch\n" + " mov r0, #0xef\n" + " b ._176\n" + "._178:\n" + " .align 2, 0\n" + "._177:\n" + " .word +0x2000000\n" + " .word +0x2000012\n" + " .word +0x2000054\n" + "._175:\n" + " mov r0, r8\n" + " strb r0, [r2]\n" + " add r2, r2, #0x1\n" + "._176:\n" + " strb r0, [r2]\n" + " add r2, r2, #0x1\n" + " mov r1, r9\n" + " add r4, r1, r6\n" + " add r0, r4, r5\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._183\n" + " add r0, r0, r1\n" + " ldr r1, [r0]\n" + " add r0, r2, #0\n" + " bl StringCopy\n" + " add r2, r0, #0\n" + " mov r0, r8\n" + " strb r0, [r2]\n" + " add r2, r2, #0x1\n" + " ldr r7, ._183 + 4\n" + " add r4, r5, r4\n" + " add r4, r4, r7\n" + " ldrb r1, [r4]\n" + " add r0, r2, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " add r2, r0, #0\n" + " mov r1, r8\n" + " strb r1, [r2]\n" + " add r2, r2, #0x1\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x2\n" + " bhi ._179 @cond_branch\n" + " cmp r6, #0x5\n" + " bne ._181 @cond_branch\n" + " cmp r5, #0x2\n" + " bne ._181 @cond_branch\n" + "._179:\n" + " sub r1, r2, #1\n" + " mov r0, #0xff\n" + " strb r0, [r1]\n" + " mov r2, r9\n" + " add r2, r2, #0x5\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " add r0, r7, #0\n" + " add r0, r0, #0x12\n" + " mov r1, #0x1\n" + " bl MenuPrint\n" + " ldr r1, [sp]\n" + " lsl r0, r1, #0x18\n" + " lsr r6, r0, #0x18\n" + " cmp r6, #0x5\n" + " bls ._182 @cond_branch\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._184:\n" + " .align 2, 0\n" + "._183:\n" + " .word gUnknown_Debug_083C50EC\n" + " .word +0x2000000\n" + "\n" + ); +} + +#endif diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c new file mode 100644 index 000000000..f745f2993 --- /dev/null +++ b/src/debug/tomomichi_debug_menu.c @@ -0,0 +1,8643 @@ +#ifdef DEBUG +#include "global.h" + +#define BSS_DATA __attribute__((section(".bss"))) + +BSS_DATA u8 gDebug_03000700[0x24] = { 0 }; + +__attribute__((naked)) +void InitTomomichiDebugWindow() +{ + asm( + " push {lr}\n" + " bl debug_sub_808B874\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808B868() +{ + asm( + " push {lr}\n" + " bl c2_exit_to_overworld_1_continue_scripts_restart_music\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808B874() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xd\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._1\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " ldr r0, ._1 + 4\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, #0xc\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._1 + 8\n" + " ldr r0, ._1 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._2:\n" + " .align 2, 0\n" + "._1:\n" + " .word gUnknown_Debug_083C0CBA\n" + " .word gDebug_03000700+0x1d\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808B8C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808B8C8() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._7\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._3 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + " ldr r1, ._7 + 4\n" + " strb r0, [r1]\n" + "._3:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._4 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + " ldr r1, ._7 + 4\n" + " strb r0, [r1]\n" + "._4:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._5 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._7 + 8\n" + " ldr r0, ._7 + 4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r1, r1, #0x4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " bl _call_via_r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._10\n" + "._8:\n" + " .align 2, 0\n" + "._7:\n" + " .word gMain\n" + " .word gDebug_03000700+0x1d\n" + " .word gUnknown_Debug_083C0CBA\n" + "._5:\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._9 @cond_branch\n" + " mov r0, #0x0\n" + " b ._10\n" + "._9:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._10:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_ContestGraphics() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x14\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._11\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r3, ._11 + 4\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0x4\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x13\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " ldr r1, ._11 + 8\n" + " ldr r0, ._11 + 12\n" + " str r0, [r1]\n" + " ldr r0, ._11 + 16\n" + " mov r2, #0x1\n" + " strh r2, [r0]\n" + " ldr r1, ._11 + 20\n" + " ldr r0, ._11 + 24\n" + " str r0, [r1]\n" + " ldr r0, ._11 + 28\n" + " str r4, [r0]\n" + " ldr r0, ._11 + 32\n" + " strb r2, [r0]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._12:\n" + " .align 2, 0\n" + "._11:\n" + " .word gUnknown_Debug_083C0CF4\n" + " .word gUnknown_Debug_083C0D2C\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808BC48+1\n" + " .word gDebug_03000700\n" + " .word gDebug_03000700+0x4\n" + " .word 0x6f33\n" + " .word gDebug_03000700+0x8\n" + " .word gDebug_03000700+0xc\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_ArtMusGraphics() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x14\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._13\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r3, ._13 + 4\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0x4\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x13\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " ldr r1, ._13 + 8\n" + " ldr r0, ._13 + 12\n" + " str r0, [r1]\n" + " ldr r0, ._13 + 16\n" + " mov r2, #0x1\n" + " strh r2, [r0]\n" + " ldr r1, ._13 + 20\n" + " ldr r0, ._13 + 24\n" + " str r0, [r1]\n" + " ldr r0, ._13 + 28\n" + " str r4, [r0]\n" + " ldr r0, ._13 + 32\n" + " strb r2, [r0]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._14:\n" + " .align 2, 0\n" + "._13:\n" + " .word gUnknown_Debug_083C0D4C\n" + " .word gUnknown_Debug_083C0D83\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808BCBC+1\n" + " .word gDebug_03000700\n" + " .word gDebug_03000700+0x4\n" + " .word 0x6f33\n" + " .word gDebug_03000700+0x8\n" + " .word gDebug_03000700+0xd\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_PreviewData() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x14\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._15\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r3, ._15 + 4\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0x4\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x13\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " ldr r1, ._15 + 8\n" + " ldr r0, ._15 + 12\n" + " str r0, [r1]\n" + " ldr r0, ._15 + 16\n" + " mov r2, #0x1\n" + " strh r2, [r0]\n" + " ldr r1, ._15 + 20\n" + " ldr r0, ._15 + 24\n" + " str r0, [r1]\n" + " ldr r0, ._15 + 28\n" + " str r4, [r0]\n" + " ldr r0, ._15 + 32\n" + " strb r2, [r0]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._16:\n" + " .align 2, 0\n" + "._15:\n" + " .word gUnknown_Debug_083C0DA4\n" + " .word gUnknown_Debug_083C0DD4\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808BD30+1\n" + " .word gDebug_03000700\n" + " .word gDebug_03000700+0x4\n" + " .word 0x6f33\n" + " .word gDebug_03000700+0x8\n" + " .word gDebug_03000700+0xe\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_TrickHouse() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._17\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r3, ._17 + 4\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " ldr r0, ._17 + 8\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._17 + 12\n" + " ldr r0, ._17 + 16\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._18:\n" + " .align 2, 0\n" + "._17:\n" + " .word gUnknown_Debug_083C0DF4\n" + " .word gUnknown_Debug_083C0E15\n" + " .word gDebug_03000700+0x1e\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808BDA4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_ControlEvents() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._19\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " ldr r0, ._19 + 4\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._19 + 8\n" + " ldr r0, ._19 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._20:\n" + " .align 2, 0\n" + "._19:\n" + " .word gUnknown_Debug_083C0E32\n" + " .word gDebug_03000700+0x1f\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808BE2C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_ControlFlags() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._21\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " ldr r0, ._21 + 4\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._21 + 8\n" + " ldr r0, ._21 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._22:\n" + " .align 2, 0\n" + "._21:\n" + " .word gUnknown_Debug_083C0E7F\n" + " .word gDebug_03000700+0x20\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808BEB4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_ControlWorks() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._23\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " ldr r0, ._23 + 4\n" + " ldrb r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r1, ._23 + 8\n" + " ldr r0, ._23 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._24:\n" + " .align 2, 0\n" + "._23:\n" + " .word gUnknown_Debug_083C0EF1\n" + " .word gDebug_03000700+0x21\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808BF3C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BC48() +{ + asm( + " push {r4, lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._25 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._26 @cond_branch\n" + " cmp r0, #0\n" + " beq ._27 @cond_branch\n" + " b ._32\n" + "._26:\n" + " cmp r0, #0x2\n" + " beq ._29 @cond_branch\n" + " b ._32\n" + "._27:\n" + " bl debug_sub_808ED0C\n" + " b ._32\n" + "._25:\n" + " bl debug_sub_808ED9C\n" + " b ._32\n" + "._29:\n" + " bl debug_sub_808EE3C\n" + "._32:\n" + " mov r0, #0x0\n" + " bl debug_sub_808EF8C\n" + " lsl r0, r4, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._36 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._34 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._35\n" + "._34:\n" + " cmp r1, #0x3\n" + " bne ._36 @cond_branch\n" + " ldr r0, ._37\n" + " ldr r1, ._37 + 4\n" + " ldr r1, [r1, #0x1c]\n" + " str r1, [r0]\n" + "._36:\n" + " mov r0, #0x0\n" + "._35:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._38:\n" + " .align 2, 0\n" + "._37:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C0D2C\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BCBC() +{ + asm( + " push {r4, lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._39 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._40 @cond_branch\n" + " cmp r0, #0\n" + " beq ._41 @cond_branch\n" + " b ._46\n" + "._40:\n" + " cmp r0, #0x2\n" + " beq ._43 @cond_branch\n" + " b ._46\n" + "._41:\n" + " bl debug_sub_808ED0C\n" + " b ._46\n" + "._39:\n" + " bl debug_sub_808ED9C\n" + " b ._46\n" + "._43:\n" + " bl debug_sub_808EE9C\n" + "._46:\n" + " mov r0, #0x1\n" + " bl debug_sub_808EF8C\n" + " lsl r0, r4, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._50 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._48 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._49\n" + "._48:\n" + " cmp r1, #0x3\n" + " bne ._50 @cond_branch\n" + " ldr r0, ._51\n" + " ldr r1, ._51 + 4\n" + " ldr r1, [r1, #0x1c]\n" + " str r1, [r0]\n" + "._50:\n" + " mov r0, #0x0\n" + "._49:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._52:\n" + " .align 2, 0\n" + "._51:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C0D83\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BD30() +{ + asm( + " push {r4, lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " asr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._53 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._54 @cond_branch\n" + " cmp r0, #0\n" + " beq ._55 @cond_branch\n" + " b ._60\n" + "._54:\n" + " cmp r0, #0x2\n" + " beq ._57 @cond_branch\n" + " b ._60\n" + "._55:\n" + " bl debug_sub_808ED0C\n" + " b ._60\n" + "._53:\n" + " bl debug_sub_808ED9C\n" + " b ._60\n" + "._57:\n" + " bl debug_sub_808EF14\n" + "._60:\n" + " mov r0, #0x2\n" + " bl debug_sub_808EF8C\n" + " lsl r0, r4, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._64 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._62 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._63\n" + "._62:\n" + " cmp r1, #0x3\n" + " bne ._64 @cond_branch\n" + " ldr r0, ._65\n" + " ldr r1, ._65 + 4\n" + " ldr r1, [r1, #0x1c]\n" + " str r1, [r0]\n" + "._64:\n" + " mov r0, #0x0\n" + "._63:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._66:\n" + " .align 2, 0\n" + "._65:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C0DD4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BDA4() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._71\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._67 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + " ldr r1, ._71 + 4\n" + " strb r0, [r1]\n" + "._67:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._68 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + " ldr r1, ._71 + 4\n" + " strb r0, [r1]\n" + "._68:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._69 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._71 + 8\n" + " ldr r0, ._71 + 4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r1, r1, #0x4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " bl _call_via_r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._74\n" + "._72:\n" + " .align 2, 0\n" + "._71:\n" + " .word gMain\n" + " .word gDebug_03000700+0x1e\n" + " .word gUnknown_Debug_083C0E15\n" + "._69:\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._73 @cond_branch\n" + " mov r0, #0x0\n" + " b ._74\n" + "._73:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._74:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BE2C() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._79\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._75 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + " ldr r1, ._79 + 4\n" + " strb r0, [r1]\n" + "._75:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._76 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + " ldr r1, ._79 + 4\n" + " strb r0, [r1]\n" + "._76:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._77 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._79 + 8\n" + " ldr r0, ._79 + 4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r1, r1, #0x4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " bl _call_via_r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._82\n" + "._80:\n" + " .align 2, 0\n" + "._79:\n" + " .word gMain\n" + " .word gDebug_03000700+0x1f\n" + " .word gUnknown_Debug_083C0E32\n" + "._77:\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._81 @cond_branch\n" + " mov r0, #0x0\n" + " b ._82\n" + "._81:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._82:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BEB4() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._87\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._83 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + " ldr r1, ._87 + 4\n" + " strb r0, [r1]\n" + "._83:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._84 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + " ldr r1, ._87 + 4\n" + " strb r0, [r1]\n" + "._84:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._85 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._87 + 8\n" + " ldr r0, ._87 + 4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r1, r1, #0x4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " bl _call_via_r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._90\n" + "._88:\n" + " .align 2, 0\n" + "._87:\n" + " .word gMain\n" + " .word gDebug_03000700+0x20\n" + " .word gUnknown_Debug_083C0E7F\n" + "._85:\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._89 @cond_branch\n" + " mov r0, #0x0\n" + " b ._90\n" + "._89:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._90:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BF3C() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._95\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._91 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + " ldr r1, ._95 + 4\n" + " strb r0, [r1]\n" + "._91:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._92 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + " ldr r1, ._95 + 4\n" + " strb r0, [r1]\n" + "._92:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._93 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._95 + 8\n" + " ldr r0, ._95 + 4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r1, r1, #0x4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " bl _call_via_r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._98\n" + "._96:\n" + " .align 2, 0\n" + "._95:\n" + " .word gMain\n" + " .word gDebug_03000700+0x21\n" + " .word gUnknown_Debug_083C0EF1\n" + "._93:\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._97 @cond_branch\n" + " mov r0, #0x0\n" + " b ._98\n" + "._97:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._98:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808BFC4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._99\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._99 + 4\n" + " ldr r0, ._99 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._100:\n" + " .align 2, 0\n" + "._99:\n" + " .word gUnknown_Debug_083C0F79\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C064+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C014() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._101\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r1, ._101 + 4\n" + " ldr r0, ._101 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._102:\n" + " .align 2, 0\n" + "._101:\n" + " .word gUnknown_Debug_083C0FFC\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C0A8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C064() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._103 @cond_branch\n" + " mov r0, #0x0\n" + " b ._106\n" + "._103:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._105 @cond_branch\n" + " ldr r2, ._107\n" + " ldr r0, ._107 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._106\n" + "._108:\n" + " .align 2, 0\n" + "._107:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C0F79\n" + "._105:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._106:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C0A8() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._109 @cond_branch\n" + " mov r0, #0x0\n" + " b ._112\n" + "._109:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._111 @cond_branch\n" + " ldr r2, ._113\n" + " ldr r0, ._113 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._112\n" + "._114:\n" + " .align 2, 0\n" + "._113:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C0FFC\n" + "._111:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._112:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C0EC() +{ + asm( + " push {lr}\n" + " ldr r0, ._115\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._116:\n" + " .align 2, 0\n" + "._115:\n" + " .word DebugScript_081C1CFE\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C104() +{ + asm( + " push {lr}\n" + " ldr r0, ._117\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._118:\n" + " .align 2, 0\n" + "._117:\n" + " .word DebugScript_081C1D07\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C11C() +{ + asm( + " push {lr}\n" + " ldr r0, ._119\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._120:\n" + " .align 2, 0\n" + "._119:\n" + " .word DebugScript_081C1D1E\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C134() +{ + asm( + " push {lr}\n" + " ldr r0, ._121\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._122:\n" + " .align 2, 0\n" + "._121:\n" + " .word DebugScript_081C1D24\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C14C() +{ + asm( + " push {lr}\n" + " ldr r0, ._123\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._124:\n" + " .align 2, 0\n" + "._123:\n" + " .word DebugScript_081C1D2A\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C164() +{ + asm( + " push {lr}\n" + " ldr r0, ._125\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._126:\n" + " .align 2, 0\n" + "._125:\n" + " .word DebugScript_081C1D35\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C17C() +{ + asm( + " push {lr}\n" + " ldr r0, ._127\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._128:\n" + " .align 2, 0\n" + "._127:\n" + " .word DebugScript_081C1D46\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C194() +{ + asm( + " push {lr}\n" + " ldr r0, ._129\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._130:\n" + " .align 2, 0\n" + "._129:\n" + " .word DebugScript_081C221F\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C1AC() +{ + asm( + " push {lr}\n" + " ldr r0, ._131\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._132:\n" + " .align 2, 0\n" + "._131:\n" + " .word DebugScript_081C23E2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C1C4() +{ + asm( + " push {lr}\n" + " ldr r0, ._133\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._134:\n" + " .align 2, 0\n" + "._133:\n" + " .word DebugScript_081C23E6\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C1DC() +{ + asm( + " push {lr}\n" + " ldr r0, ._135\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._136:\n" + " .align 2, 0\n" + "._135:\n" + " .word DebugScript_081C23F6\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C1F4() +{ + asm( + " push {lr}\n" + " ldr r0, ._137\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._138:\n" + " .align 2, 0\n" + "._137:\n" + " .word DebugScript_081C2482\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C20C() +{ + asm( + " push {lr}\n" + " ldr r0, ._139\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._140:\n" + " .align 2, 0\n" + "._139:\n" + " .word DebugScript_081C23FD\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C224() +{ + asm( + " push {lr}\n" + " ldr r0, ._141\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._142:\n" + " .align 2, 0\n" + "._141:\n" + " .word DebugScript_081C2518\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C23C() +{ + asm( + " push {lr}\n" + " ldr r0, ._143\n" + " bl ScriptContext1_SetupScript\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._144:\n" + " .align 2, 0\n" + "._143:\n" + " .word DebugScript_081C2507\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_ContestGraphics_Show() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._145\n" + " ldr r0, ._145 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._146:\n" + " .align 2, 0\n" + "._145:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C280+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C280() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._147 @cond_branch\n" + " mov r0, #0x0\n" + " b ._148\n" + "._147:\n" + " bl CloseMenu\n" + " mov r0, #0x0\n" + " bl debug_sub_808F168\n" + " ldr r0, ._149\n" + " bl SetMainCallback2\n" + " ldr r1, ._149 + 4\n" + " ldr r0, ._149 + 8\n" + " str r0, [r1, #0x8]\n" + " mov r0, #0x1\n" + "._148:\n" + " pop {r1}\n" + " bx r1\n" + "._150:\n" + " .align 2, 0\n" + "._149:\n" + " .word CB2_ContestPainting+1\n" + " .word gMain\n" + " .word debug_sub_808B868+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_MuseumGraphics_Show() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._151\n" + " ldr r0, ._151 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._152:\n" + " .align 2, 0\n" + "._151:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C2E4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C2E4() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._153 @cond_branch\n" + " mov r0, #0x0\n" + " b ._154\n" + "._153:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " bl debug_sub_808F168\n" + " ldr r0, ._155\n" + " bl SetMainCallback2\n" + " ldr r1, ._155 + 4\n" + " ldr r0, ._155 + 8\n" + " str r0, [r1, #0x8]\n" + " mov r0, #0x1\n" + "._154:\n" + " pop {r1}\n" + " bx r1\n" + "._156:\n" + " .align 2, 0\n" + "._155:\n" + " .word CB2_ContestPainting+1\n" + " .word gMain\n" + " .word debug_sub_808B868+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C31C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._157\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._157 + 4\n" + " ldr r0, ._157 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._158:\n" + " .align 2, 0\n" + "._157:\n" + " .word gUnknown_Debug_083C2828\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C36C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C36C() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._159 @cond_branch\n" + " mov r0, #0x0\n" + " b ._162\n" + "._159:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._161 @cond_branch\n" + " ldr r2, ._163\n" + " ldr r0, ._163 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._162\n" + "._164:\n" + " .align 2, 0\n" + "._163:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C2828\n" + "._161:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._162:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C3B0() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._165\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r0, ._165 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._165 + 8\n" + " ldr r0, ._165 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._166:\n" + " .align 2, 0\n" + "._165:\n" + " .word gUnknown_Debug_083C2938\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C408() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._167\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._167 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._167 + 8\n" + " ldr r0, ._167 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._168:\n" + " .align 2, 0\n" + "._167:\n" + " .word gUnknown_Debug_083C2A48\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C460() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._169\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._169 + 4\n" + " mov r0, #0x2\n" + " strb r0, [r1]\n" + " ldr r1, ._169 + 8\n" + " ldr r0, ._169 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._170:\n" + " .align 2, 0\n" + "._169:\n" + " .word gUnknown_Debug_083C2B4C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C4B8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._171\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._171 + 4\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + " ldr r1, ._171 + 8\n" + " ldr r0, ._171 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._172:\n" + " .align 2, 0\n" + "._171:\n" + " .word gUnknown_Debug_083C2C80\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C510() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._173\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._173 + 4\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r1, ._173 + 8\n" + " ldr r0, ._173 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._174:\n" + " .align 2, 0\n" + "._173:\n" + " .word gUnknown_Debug_083C2D8C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C568() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._175\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._175 + 4\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r1, ._175 + 8\n" + " ldr r0, ._175 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._176:\n" + " .align 2, 0\n" + "._175:\n" + " .word gUnknown_Debug_083C2EB0\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C5C0() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._177\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._177 + 4\n" + " mov r0, #0x6\n" + " strb r0, [r1]\n" + " ldr r1, ._177 + 8\n" + " ldr r0, ._177 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._178:\n" + " .align 2, 0\n" + "._177:\n" + " .word gUnknown_Debug_083C2FE0\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C618() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._179\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._179 + 4\n" + " mov r0, #0x7\n" + " strb r0, [r1]\n" + " ldr r1, ._179 + 8\n" + " ldr r0, ._179 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._180:\n" + " .align 2, 0\n" + "._179:\n" + " .word gUnknown_Debug_083C3100\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C670() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._181\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl InitMenu\n" + " ldr r1, ._181 + 4\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldr r1, ._181 + 8\n" + " ldr r0, ._181 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._182:\n" + " .align 2, 0\n" + "._181:\n" + " .word gUnknown_Debug_083C3194\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C6C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C6C8() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._186\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808C714\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808C764\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._183 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._184 @cond_branch\n" + "._183:\n" + " mov r0, #0x0\n" + " b ._185\n" + "._187:\n" + " .align 2, 0\n" + "._186:\n" + " .word gDebug_03000700+0xf\n" + "._184:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._185:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C714() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._191\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._190 @cond_branch\n" + " ldr r0, ._191 + 4\n" + " lsl r1, r2, #0x3\n" + " add r1, r1, r2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r0\n" + " ldrh r4, [r1]\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._189 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._190\n" + "._192:\n" + " .align 2, 0\n" + "._191:\n" + " .word gMain\n" + " .word gUnknown_Debug_083C31DC+0xa\n" + "._189:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + "._190:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C764() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._195\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._193 @cond_branch\n" + " ldr r0, ._195 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._194:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " neg r2, r0\n" + " orr r2, r2, r0\n" + " lsr r2, r2, #0x1f\n" + " mov r0, #0x1c\n" + " add r1, r4, #0\n" + " bl debug_sub_808F2E0\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._194 @cond_branch\n" + "._193:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._196:\n" + " .align 2, 0\n" + "._195:\n" + " .word gUnknown_Debug_083C31DC\n" + " .word gUnknown_Debug_083C31DC+0xa\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C7C8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._197\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._197 + 4\n" + " ldr r0, ._197 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._198:\n" + " .align 2, 0\n" + "._197:\n" + " .word gUnknown_Debug_083C1CE8\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808C818+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C818() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._199 @cond_branch\n" + " mov r0, #0x0\n" + " b ._202\n" + "._199:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._201 @cond_branch\n" + " ldr r2, ._203\n" + " ldr r0, ._203 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._202\n" + "._204:\n" + " .align 2, 0\n" + "._203:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C1CE8\n" + "._201:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._202:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C85C() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._205\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r0, ._205 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._205 + 8\n" + " ldr r0, ._205 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._206:\n" + " .align 2, 0\n" + "._205:\n" + " .word gUnknown_Debug_083C1E0C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C8B4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._207\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._207 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._207 + 8\n" + " ldr r0, ._207 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._208:\n" + " .align 2, 0\n" + "._207:\n" + " .word gUnknown_Debug_083C1F38\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C90C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._209\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._209 + 4\n" + " mov r0, #0x2\n" + " strb r0, [r1]\n" + " ldr r1, ._209 + 8\n" + " ldr r0, ._209 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._210:\n" + " .align 2, 0\n" + "._209:\n" + " .word gUnknown_Debug_083C206C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C964() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._211\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._211 + 4\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + " ldr r1, ._211 + 8\n" + " ldr r0, ._211 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._212:\n" + " .align 2, 0\n" + "._211:\n" + " .word gUnknown_Debug_083C2190\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808C9BC() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._213\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r1, ._213 + 4\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r1, ._213 + 8\n" + " ldr r0, ._213 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._214:\n" + " .align 2, 0\n" + "._213:\n" + " .word gUnknown_Debug_083C2264\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CA14() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._215\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._215 + 4\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r1, ._215 + 8\n" + " ldr r0, ._215 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._216:\n" + " .align 2, 0\n" + "._215:\n" + " .word gUnknown_Debug_083C2370\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CA6C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._217\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._217 + 4\n" + " mov r0, #0x6\n" + " strb r0, [r1]\n" + " ldr r1, ._217 + 8\n" + " ldr r0, ._217 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._218:\n" + " .align 2, 0\n" + "._217:\n" + " .word gUnknown_Debug_083C248C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CAC4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._219\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._219 + 4\n" + " mov r0, #0x7\n" + " strb r0, [r1]\n" + " ldr r1, ._219 + 8\n" + " ldr r0, ._219 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._220:\n" + " .align 2, 0\n" + "._219:\n" + " .word gUnknown_Debug_083C259C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CB1C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._221\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._221 + 4\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldr r1, ._221 + 8\n" + " ldr r0, ._221 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._222:\n" + " .align 2, 0\n" + "._221:\n" + " .word gUnknown_Debug_083C26C8\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CB74+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CB74() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._226\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808CBC0\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808CC10\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._223 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._224 @cond_branch\n" + "._223:\n" + " mov r0, #0x0\n" + " b ._225\n" + "._227:\n" + " .align 2, 0\n" + "._226:\n" + " .word gDebug_03000700+0xf\n" + "._224:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._225:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CBC0() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._231\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._230 @cond_branch\n" + " ldr r0, ._231 + 4\n" + " lsl r1, r2, #0x3\n" + " add r1, r1, r2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r0\n" + " ldrh r4, [r1]\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._229 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._230\n" + "._232:\n" + " .align 2, 0\n" + "._231:\n" + " .word gMain\n" + " .word gUnknown_Debug_083C2710+0xa\n" + "._229:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + "._230:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CC10() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._235\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._233 @cond_branch\n" + " ldr r0, ._235 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._234:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " neg r2, r0\n" + " orr r2, r2, r0\n" + " lsr r2, r2, #0x1f\n" + " mov r0, #0x1c\n" + " add r1, r4, #0\n" + " bl debug_sub_808F2E0\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._234 @cond_branch\n" + "._233:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._236:\n" + " .align 2, 0\n" + "._235:\n" + " .word gUnknown_Debug_083C2710\n" + " .word gUnknown_Debug_083C2710+0xa\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CC74() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._237\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl InitMenu\n" + " ldr r1, ._237 + 4\n" + " ldr r0, ._237 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._238:\n" + " .align 2, 0\n" + "._237:\n" + " .word gUnknown_Debug_083C1ADC\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CCC4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CCC4() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._239 @cond_branch\n" + " mov r0, #0x0\n" + " b ._242\n" + "._239:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._241 @cond_branch\n" + " ldr r2, ._243\n" + " ldr r0, ._243 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._242\n" + "._244:\n" + " .align 2, 0\n" + "._243:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C1ADC\n" + "._241:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._242:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CD08() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._245\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x8\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " ldr r0, ._245 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._245 + 8\n" + " ldr r0, ._245 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._246:\n" + " .align 2, 0\n" + "._245:\n" + " .word gUnknown_Debug_083C1B7C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CE10+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CD60() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._247\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x4\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " ldr r1, ._247 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._247 + 8\n" + " ldr r0, ._247 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._248:\n" + " .align 2, 0\n" + "._247:\n" + " .word gUnknown_Debug_083C1BF0\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CE10+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CDB8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x3\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._249\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl InitMenu\n" + " ldr r1, ._249 + 4\n" + " mov r0, #0x2\n" + " strb r0, [r1]\n" + " ldr r1, ._249 + 8\n" + " ldr r0, ._249 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._250:\n" + " .align 2, 0\n" + "._249:\n" + " .word gUnknown_Debug_083C1C2C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CE10+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CE10() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._254\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808CE5C\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808CEAC\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._251 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._252 @cond_branch\n" + "._251:\n" + " mov r0, #0x0\n" + " b ._253\n" + "._255:\n" + " .align 2, 0\n" + "._254:\n" + " .word gDebug_03000700+0xf\n" + "._252:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._253:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CE5C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._259\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._258 @cond_branch\n" + " ldr r0, ._259 + 4\n" + " lsl r1, r2, #0x3\n" + " add r1, r1, r2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r0\n" + " ldrh r4, [r1]\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._257 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._258\n" + "._260:\n" + " .align 2, 0\n" + "._259:\n" + " .word gMain\n" + " .word gUnknown_Debug_083C1C34+0x4\n" + "._257:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + "._258:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CEAC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._263\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._261 @cond_branch\n" + " ldr r0, ._263 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._262:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " neg r2, r0\n" + " orr r2, r2, r0\n" + " lsr r2, r2, #0x1f\n" + " mov r0, #0x1c\n" + " add r1, r4, #0\n" + " bl debug_sub_808F2E0\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._262 @cond_branch\n" + "._261:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._264:\n" + " .align 2, 0\n" + "._263:\n" + " .word gUnknown_Debug_083C1C34\n" + " .word gUnknown_Debug_083C1C34+0x4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CF10() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._265\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._265 + 4\n" + " ldr r0, ._265 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._266:\n" + " .align 2, 0\n" + "._265:\n" + " .word gUnknown_Debug_083C1330\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808CF60+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CF60() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._267 @cond_branch\n" + " mov r0, #0x0\n" + " b ._270\n" + "._267:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._269 @cond_branch\n" + " ldr r2, ._271\n" + " ldr r0, ._271 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._270\n" + "._272:\n" + " .align 2, 0\n" + "._271:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C1330\n" + "._269:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._270:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CFA4() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._273\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x8\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " ldr r0, ._273 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._273 + 8\n" + " ldr r0, ._273 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._274:\n" + " .align 2, 0\n" + "._273:\n" + " .word gUnknown_Debug_083C13D8\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808CFFC() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._275\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._275 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._275 + 8\n" + " ldr r0, ._275 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._276:\n" + " .align 2, 0\n" + "._275:\n" + " .word gUnknown_Debug_083C1465\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D054() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._277\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._277 + 4\n" + " mov r0, #0x2\n" + " strb r0, [r1]\n" + " ldr r1, ._277 + 8\n" + " ldr r0, ._277 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._278:\n" + " .align 2, 0\n" + "._277:\n" + " .word gUnknown_Debug_083C1503\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D0AC() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._279\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x4\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " ldr r1, ._279 + 4\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + " ldr r1, ._279 + 8\n" + " ldr r0, ._279 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._280:\n" + " .align 2, 0\n" + "._279:\n" + " .word gUnknown_Debug_083C158A\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D104() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._281\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._281 + 4\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r1, ._281 + 8\n" + " ldr r0, ._281 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._282:\n" + " .align 2, 0\n" + "._281:\n" + " .word gUnknown_Debug_083C1647\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D15C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._283\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._283 + 4\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r1, ._283 + 8\n" + " ldr r0, ._283 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._284:\n" + " .align 2, 0\n" + "._283:\n" + " .word gUnknown_Debug_083C1712\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D1B4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._285\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._285 + 4\n" + " mov r0, #0x6\n" + " strb r0, [r1]\n" + " ldr r1, ._285 + 8\n" + " ldr r0, ._285 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._286:\n" + " .align 2, 0\n" + "._285:\n" + " .word gUnknown_Debug_083C17F8\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D20C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._287\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._287 + 4\n" + " mov r0, #0x7\n" + " strb r0, [r1]\n" + " ldr r1, ._287 + 8\n" + " ldr r0, ._287 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._288:\n" + " .align 2, 0\n" + "._287:\n" + " .word gUnknown_Debug_083C18B8\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D264() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._289\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x5\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl InitMenu\n" + " ldr r1, ._289 + 4\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldr r1, ._289 + 8\n" + " ldr r0, ._289 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._290:\n" + " .align 2, 0\n" + "._289:\n" + " .word gDebug_0x83C1974\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D2BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D2BC() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._294\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808D308\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808D358\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._291 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._292 @cond_branch\n" + "._291:\n" + " mov r0, #0x0\n" + " b ._293\n" + "._295:\n" + " .align 2, 0\n" + "._294:\n" + " .word gDebug_03000700+0xf\n" + "._292:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._293:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D308() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._299\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._298 @cond_branch\n" + " ldr r0, ._299 + 4\n" + " lsl r1, r2, #0x3\n" + " add r1, r1, r2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r0\n" + " ldrh r4, [r1]\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._297 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._298\n" + "._300:\n" + " .align 2, 0\n" + "._299:\n" + " .word gMain\n" + " .word gUnknown_Debug_083C19C6\n" + "._297:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + "._298:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D358() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._303\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._301 @cond_branch\n" + " ldr r0, ._303 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._302:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " neg r2, r0\n" + " orr r2, r2, r0\n" + " lsr r2, r2, #0x1f\n" + " mov r0, #0x1c\n" + " add r1, r4, #0\n" + " bl debug_sub_808F2E0\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._302 @cond_branch\n" + "._301:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._304:\n" + " .align 2, 0\n" + "._303:\n" + " .word gUnknown_Debug_083C19BC\n" + " .word gUnknown_Debug_083C19C6\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D3BC() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._305\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._305 + 4\n" + " ldr r0, ._305 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._306:\n" + " .align 2, 0\n" + "._305:\n" + " .word gUnknown_Debug_083C105C\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D40C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D40C() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._307 @cond_branch\n" + " mov r0, #0x0\n" + " b ._310\n" + "._307:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._309 @cond_branch\n" + " ldr r2, ._311\n" + " ldr r0, ._311 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._310\n" + "._312:\n" + " .align 2, 0\n" + "._311:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C105C\n" + "._309:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._310:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D450() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._313\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r0, ._313 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._313 + 8\n" + " ldr r0, ._313 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._314:\n" + " .align 2, 0\n" + "._313:\n" + " .word gUnknown_Debug_083C10BD\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D500+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D4A8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._315\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._315 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._315 + 8\n" + " ldr r0, ._315 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._316:\n" + " .align 2, 0\n" + "._315:\n" + " .word gUnknown_Debug_083C1149\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D500+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D500() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._320\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808D54C\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808D59C\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._317 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._318 @cond_branch\n" + "._317:\n" + " mov r0, #0x0\n" + " b ._319\n" + "._321:\n" + " .align 2, 0\n" + "._320:\n" + " .word gDebug_03000700+0xf\n" + "._318:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._319:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D54C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._325\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._324 @cond_branch\n" + " ldr r0, ._325 + 4\n" + " lsl r1, r2, #0x3\n" + " add r1, r1, r2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r0\n" + " ldrh r4, [r1]\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._323 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._324\n" + "._326:\n" + " .align 2, 0\n" + "._325:\n" + " .word gMain\n" + " .word gUnknown_Debug_083C1194+0x2\n" + "._323:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + "._324:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D59C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._329\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._327 @cond_branch\n" + " ldr r0, ._329 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._328:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " neg r2, r0\n" + " orr r2, r2, r0\n" + " lsr r2, r2, #0x1f\n" + " mov r0, #0x1c\n" + " add r1, r4, #0\n" + " bl debug_sub_808F2E0\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._328 @cond_branch\n" + "._327:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._330:\n" + " .align 2, 0\n" + "._329:\n" + " .word gUnknown_Debug_083C1194\n" + " .word gUnknown_Debug_083C1194+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D600() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._331\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._331 + 4\n" + " ldr r0, ._331 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._332:\n" + " .align 2, 0\n" + "._331:\n" + " .word gUnknown_Debug_083C11CC\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D650+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D650() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._333 @cond_branch\n" + " mov r0, #0x0\n" + " b ._336\n" + "._333:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._335 @cond_branch\n" + " ldr r2, ._337\n" + " ldr r0, ._337 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._336\n" + "._338:\n" + " .align 2, 0\n" + "._337:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C11CC\n" + "._335:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._336:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D694() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._339\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r0, ._339 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._339 + 8\n" + " ldr r0, ._339 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._340:\n" + " .align 2, 0\n" + "._339:\n" + " .word gUnknown_Debug_083C1212\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D744+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D6EC() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._341\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._341 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._341 + 8\n" + " ldr r0, ._341 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._342:\n" + " .align 2, 0\n" + "._341:\n" + " .word gUnknown_Debug_083C1288\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D744+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D744() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._346\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808D790\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808D7E0\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._343 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._344 @cond_branch\n" + "._343:\n" + " mov r0, #0x0\n" + " b ._345\n" + "._347:\n" + " .align 2, 0\n" + "._346:\n" + " .word gDebug_03000700+0xf\n" + "._344:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._345:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D790() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._351\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._350 @cond_branch\n" + " ldr r0, ._351 + 4\n" + " lsl r1, r2, #0x3\n" + " add r1, r1, r2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r0\n" + " ldrh r4, [r1]\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._349 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._350\n" + "._352:\n" + " .align 2, 0\n" + "._351:\n" + " .word gMain\n" + " .word gUnknown_Debug_083C12D0+0x2\n" + "._349:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + "._350:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D7E0() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._355\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._353 @cond_branch\n" + " ldr r0, ._355 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._354:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " neg r2, r0\n" + " orr r2, r2, r0\n" + " lsr r2, r2, #0x1f\n" + " mov r0, #0x1c\n" + " add r1, r4, #0\n" + " bl debug_sub_808F2E0\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._354 @cond_branch\n" + "._353:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._356:\n" + " .align 2, 0\n" + "._355:\n" + " .word gUnknown_Debug_083C12D0\n" + " .word gUnknown_Debug_083C12D0+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D844() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1c\n" + " mov r3, #0x3\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._357\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1b\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl InitMenu\n" + " ldr r1, ._357 + 4\n" + " ldr r0, ._357 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._358:\n" + " .align 2, 0\n" + "._357:\n" + " .word gUnknown_Debug_083C1A78\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D894+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D894() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r3, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r3, r0\n" + " bne ._359 @cond_branch\n" + " mov r0, #0x0\n" + " b ._362\n" + "._359:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r3, r0\n" + " beq ._361 @cond_branch\n" + " ldr r2, ._363\n" + " ldr r1, ._363 + 4\n" + " lsl r0, r3, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0, #0x4]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._362\n" + "._364:\n" + " .align 2, 0\n" + "._363:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C1A78\n" + "._361:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._362:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D8D8() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._365\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r0, ._365 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._365 + 8\n" + " ldr r0, ._365 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._366:\n" + " .align 2, 0\n" + "._365:\n" + " .word gUnknown_Debug_083C1A9C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808D930+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D930() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._370\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808D97C\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808D9CC\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._367 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._368 @cond_branch\n" + "._367:\n" + " mov r0, #0x0\n" + " b ._369\n" + "._371:\n" + " .align 2, 0\n" + "._370:\n" + " .word gDebug_03000700+0xf\n" + "._368:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._369:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D97C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._375\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._374 @cond_branch\n" + " ldr r0, ._375 + 4\n" + " lsl r1, r2, #0x3\n" + " add r1, r1, r2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r0\n" + " ldrh r4, [r1]\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._373 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._374\n" + "._376:\n" + " .align 2, 0\n" + "._375:\n" + " .word gMain\n" + " .word gUnknown_Debug_083C1AAC+0x2\n" + "._373:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + "._374:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808D9CC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._379\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._377 @cond_branch\n" + " ldr r0, ._379 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._378:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " neg r2, r0\n" + " orr r2, r2, r0\n" + " lsr r2, r2, #0x1f\n" + " mov r0, #0x1c\n" + " add r1, r4, #0\n" + " bl debug_sub_808F2E0\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._378 @cond_branch\n" + "._377:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._380:\n" + " .align 2, 0\n" + "._379:\n" + " .word gUnknown_Debug_083C1AAC\n" + " .word gUnknown_Debug_083C1AAC+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DA30() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x3\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._381\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl InitMenu\n" + " ldr r1, ._381 + 4\n" + " ldr r0, ._381 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._382:\n" + " .align 2, 0\n" + "._381:\n" + " .word gUnknown_Debug_083C103A\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DA80+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DA80() +{ + asm( + " push {r4, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " bl debug_sub_808DAD4\n" + " bl debug_sub_808DABC\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._383 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._384 @cond_branch\n" + "._383:\n" + " mov r0, #0x0\n" + " b ._385\n" + "._384:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._385:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DABC() +{ + asm( + " push {lr}\n" + " ldr r0, ._386\n" + " ldrh r2, [r0]\n" + " mov r0, #0x18\n" + " mov r1, #0x1\n" + " bl debug_sub_808F31C\n" + " pop {r0}\n" + " bx r0\n" + "._387:\n" + " .align 2, 0\n" + "._386:\n" + " .word gScriptResult\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DAD4() +{ + asm( + " push {lr}\n" + " ldr r0, ._390\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._388 @cond_branch\n" + " mov r2, #0x1\n" + " b ._389\n" + "._391:\n" + " .align 2, 0\n" + "._390:\n" + " .word gMain\n" + "._388:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._392 @cond_branch\n" + " ldr r2, ._393\n" + "._389:\n" + " ldr r1, ._393 + 4\n" + " ldrh r0, [r1]\n" + " add r0, r2, r0\n" + " strh r0, [r1]\n" + "._392:\n" + " pop {r0}\n" + " bx r0\n" + "._394:\n" + " .align 2, 0\n" + "._393:\n" + " .word 0xffff\n" + " .word gScriptResult\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DB0C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._395\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._395 + 4\n" + " ldr r0, ._395 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._396:\n" + " .align 2, 0\n" + "._395:\n" + " .word gUnknown_Debug_083C3D08\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DB5C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DB5C() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._397 @cond_branch\n" + " mov r0, #0x0\n" + " b ._400\n" + "._397:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._399 @cond_branch\n" + " ldr r2, ._401\n" + " ldr r0, ._401 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._400\n" + "._402:\n" + " .align 2, 0\n" + "._401:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C3D08\n" + "._399:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._400:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DBA0() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._403\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x8\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " ldr r0, ._403 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._403 + 8\n" + " ldr r0, ._403 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._404:\n" + " .align 2, 0\n" + "._403:\n" + " .word gUnknown_Debug_083C432C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DBF8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._405\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._405 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._405 + 8\n" + " ldr r0, ._405 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._406:\n" + " .align 2, 0\n" + "._405:\n" + " .word gUnknown_Debug_083C436C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DC50() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._407\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._407 + 4\n" + " mov r0, #0x2\n" + " strb r0, [r1]\n" + " ldr r1, ._407 + 8\n" + " ldr r0, ._407 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._408:\n" + " .align 2, 0\n" + "._407:\n" + " .word gUnknown_Debug_083C43B4\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DCA8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._409\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._409 + 4\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + " ldr r1, ._409 + 8\n" + " ldr r0, ._409 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._410:\n" + " .align 2, 0\n" + "._409:\n" + " .word gUnknown_Debug_083C43FC\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DD00() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._411\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._411 + 4\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r1, ._411 + 8\n" + " ldr r0, ._411 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._412:\n" + " .align 2, 0\n" + "._411:\n" + " .word gUnknown_Debug_083C4444\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DD58() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._413\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._413 + 4\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r1, ._413 + 8\n" + " ldr r0, ._413 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._414:\n" + " .align 2, 0\n" + "._413:\n" + " .word gUnknown_Debug_083C448C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DDB0() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._415\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r1, ._415 + 4\n" + " mov r0, #0x6\n" + " strb r0, [r1]\n" + " ldr r1, ._415 + 8\n" + " ldr r0, ._415 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._416:\n" + " .align 2, 0\n" + "._415:\n" + " .word gUnknown_Debug_83C44C4\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DE08() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._417\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._417 + 4\n" + " mov r0, #0x7\n" + " strb r0, [r1]\n" + " ldr r1, ._417 + 8\n" + " ldr r0, ._417 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._418:\n" + " .align 2, 0\n" + "._417:\n" + " .word gUnknown_Debug_83C44EC\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DE60() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._419\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._419 + 4\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldr r1, ._419 + 8\n" + " ldr r0, ._419 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._420:\n" + " .align 2, 0\n" + "._419:\n" + " .word gUnknown_Debug_083C4534\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808DEB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DEB8() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._424\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808DF64\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808DF04\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._421 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._422 @cond_branch\n" + "._421:\n" + " mov r0, #0x0\n" + " b ._423\n" + "._425:\n" + " .align 2, 0\n" + "._424:\n" + " .word gDebug_03000700+0xf\n" + "._422:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._423:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DF04() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._428\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._426 @cond_branch\n" + " ldr r0, ._428 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._427:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl VarGet\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x10\n" + " lsr r2, r2, #0x10\n" + " mov r0, #0x18\n" + " add r1, r4, #0\n" + " bl debug_sub_808F31C\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._427 @cond_branch\n" + "._426:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._429:\n" + " .align 2, 0\n" + "._428:\n" + " .word gUnknown_Debug_083C457C\n" + " .word gUnknown_Debug_083C457C+0xa\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DF64() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._432\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._430 @cond_branch\n" + " mov r5, #0x1\n" + " b ._431\n" + "._433:\n" + " .align 2, 0\n" + "._432:\n" + " .word gMain\n" + "._430:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._434 @cond_branch\n" + " ldr r5, ._435\n" + "._431:\n" + " ldr r1, ._435 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " ldrh r4, [r0]\n" + " add r0, r4, #0\n" + " bl VarGet\n" + " add r1, r0, #0\n" + " add r1, r5, r1\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " bl VarSet\n" + "._434:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._436:\n" + " .align 2, 0\n" + "._435:\n" + " .word 0xffff\n" + " .word gUnknown_Debug_083C457C+0xa\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808DFC0() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._437\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r1, ._437 + 4\n" + " ldr r0, ._437 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._438:\n" + " .align 2, 0\n" + "._437:\n" + " .word gUnknown_Debug_083C377C\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E010+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E010() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._439 @cond_branch\n" + " mov r0, #0x0\n" + " b ._442\n" + "._439:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._441 @cond_branch\n" + " ldr r2, ._443\n" + " ldr r0, ._443 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._442\n" + "._444:\n" + " .align 2, 0\n" + "._443:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C377C\n" + "._441:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._442:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E054() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._445\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r0, ._445 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._445 + 8\n" + " ldr r0, ._445 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._446:\n" + " .align 2, 0\n" + "._445:\n" + " .word gUnknown_Debug_083C3AA0\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E264+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E0AC() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._447\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x5\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl InitMenu\n" + " ldr r1, ._447 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._447 + 8\n" + " ldr r0, ._447 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._448:\n" + " .align 2, 0\n" + "._447:\n" + " .word gUnknown_Debug_83C3AE0\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E264+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E104() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._449\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._449 + 4\n" + " mov r0, #0x2\n" + " strb r0, [r1]\n" + " ldr r1, ._449 + 8\n" + " ldr r0, ._449 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._450:\n" + " .align 2, 0\n" + "._449:\n" + " .word gUnknown_Debug_83C3B28\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E264+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E15C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._451\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._451 + 4\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + " ldr r1, ._451 + 8\n" + " ldr r0, ._451 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._452:\n" + " .align 2, 0\n" + "._451:\n" + " .word gUnknown_Debug_83C3B70\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E264+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E1B4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._453\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._453 + 4\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r1, ._453 + 8\n" + " ldr r0, ._453 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._454:\n" + " .align 2, 0\n" + "._453:\n" + " .word gUnknown_Debug_83C3BB8\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E264+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E20C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._455\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r1, ._455 + 4\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r1, ._455 + 8\n" + " ldr r0, ._455 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._456:\n" + " .align 2, 0\n" + "._455:\n" + " .word gUnknown_Debug_83C3C00\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E264+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E264() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._460\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808E310\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808E2B0\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._457 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._458 @cond_branch\n" + "._457:\n" + " mov r0, #0x0\n" + " b ._459\n" + "._461:\n" + " .align 2, 0\n" + "._460:\n" + " .word gDebug_03000700+0xf\n" + "._458:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._459:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E2B0() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._464\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._462 @cond_branch\n" + " ldr r0, ._464 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._463:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl VarGet\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x10\n" + " lsr r2, r2, #0x10\n" + " mov r0, #0x18\n" + " add r1, r4, #0\n" + " bl debug_sub_808F31C\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._463 @cond_branch\n" + "._462:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._465:\n" + " .align 2, 0\n" + "._464:\n" + " .word gUnknown_Debug_083C3C48\n" + " .word gUnknown_Debug_083C3C48+0x6\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E310() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._468\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._466 @cond_branch\n" + " mov r5, #0x1\n" + " b ._467\n" + "._469:\n" + " .align 2, 0\n" + "._468:\n" + " .word gMain\n" + "._466:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._470 @cond_branch\n" + " ldr r5, ._471\n" + "._467:\n" + " ldr r1, ._471 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " ldrh r4, [r0]\n" + " add r0, r4, #0\n" + " bl VarGet\n" + " add r1, r0, #0\n" + " add r1, r5, r1\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " bl VarSet\n" + "._470:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._472:\n" + " .align 2, 0\n" + "._471:\n" + " .word 0xffff\n" + " .word gUnknown_Debug_083C3C48+0x6\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E36C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._473\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x5\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl InitMenu\n" + " ldr r1, ._473 + 4\n" + " ldr r0, ._473 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._474:\n" + " .align 2, 0\n" + "._473:\n" + " .word gUnknown_Debug_083C32AC\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E3BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E3BC() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._475 @cond_branch\n" + " mov r0, #0x0\n" + " b ._478\n" + "._475:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._477 @cond_branch\n" + " ldr r2, ._479\n" + " ldr r0, ._479 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._478\n" + "._480:\n" + " .align 2, 0\n" + "._479:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C32AC\n" + "._477:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._478:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E400() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._481\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl InitMenu\n" + " ldr r0, ._481 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._481 + 8\n" + " ldr r0, ._481 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._482:\n" + " .align 2, 0\n" + "._481:\n" + " .word gUnknown_Debug_083C347C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E5B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E458() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._483\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._483 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._483 + 8\n" + " ldr r0, ._483 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._484:\n" + " .align 2, 0\n" + "._483:\n" + " .word gUnknown_Debug_083C3494\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E5B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E4B0() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._485\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x6\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x6\n" + " bl InitMenu\n" + " ldr r1, ._485 + 4\n" + " mov r0, #0x2\n" + " strb r0, [r1]\n" + " ldr r1, ._485 + 8\n" + " ldr r0, ._485 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._486:\n" + " .align 2, 0\n" + "._485:\n" + " .word gUnknown_Debug_083C34A4\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E5B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E508() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._487\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r1, ._487 + 4\n" + " mov r0, #0x3\n" + " strb r0, [r1]\n" + " ldr r1, ._487 + 8\n" + " ldr r0, ._487 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._488:\n" + " .align 2, 0\n" + "._487:\n" + " .word gUnknown_Debug_083C34D4\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E5B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E560() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._489\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x5\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x5\n" + " bl InitMenu\n" + " ldr r1, ._489 + 4\n" + " mov r0, #0x4\n" + " strb r0, [r1]\n" + " ldr r1, ._489 + 8\n" + " ldr r0, ._489 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._490:\n" + " .align 2, 0\n" + "._489:\n" + " .word gUnknown_Debug_083C351C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E5B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E5B8() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._494\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808E604\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808E660\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._491 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._492 @cond_branch\n" + "._491:\n" + " mov r0, #0x0\n" + " b ._493\n" + "._495:\n" + " .align 2, 0\n" + "._494:\n" + " .word gDebug_03000700+0xf\n" + "._492:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._493:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E604() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._498\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._496 @cond_branch\n" + " mov r5, #0x1\n" + " b ._497\n" + "._499:\n" + " .align 2, 0\n" + "._498:\n" + " .word gMain\n" + "._496:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._500 @cond_branch\n" + " ldr r5, ._501\n" + "._497:\n" + " ldr r1, ._501 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " ldrh r4, [r0]\n" + " add r0, r4, #0\n" + " bl VarGet\n" + " add r1, r0, #0\n" + " add r1, r5, r1\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " bl VarSet\n" + "._500:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._502:\n" + " .align 2, 0\n" + "._501:\n" + " .word 0xffff\n" + " .word gUnknown_Debug_083C3544+0x6\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E660() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._505\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._503 @cond_branch\n" + " ldr r0, ._505 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._504:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl VarGet\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x10\n" + " lsr r2, r2, #0x10\n" + " mov r0, #0x18\n" + " add r1, r4, #0\n" + " bl debug_sub_808F31C\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._504 @cond_branch\n" + "._503:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._506:\n" + " .align 2, 0\n" + "._505:\n" + " .word gUnknown_Debug_083C3544\n" + " .word gUnknown_Debug_083C3544+0x6\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E6C0() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._507\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._507 + 4\n" + " ldr r0, ._507 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._508:\n" + " .align 2, 0\n" + "._507:\n" + " .word gUnknown_Debug_083C4644\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E710+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E710() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._509 @cond_branch\n" + " mov r0, #0x0\n" + " b ._512\n" + "._509:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._511 @cond_branch\n" + " ldr r2, ._513\n" + " ldr r0, ._513 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._512\n" + "._514:\n" + " .align 2, 0\n" + "._513:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C4644\n" + "._511:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._512:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E754() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._515\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r0, ._515 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._515 + 8\n" + " ldr r0, ._515 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._516:\n" + " .align 2, 0\n" + "._515:\n" + " .word gUnknown_Debug_083C470C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E804+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E7AC() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._517\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._517 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._517 + 8\n" + " ldr r0, ._517 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._518:\n" + " .align 2, 0\n" + "._517:\n" + " .word gUnknown_Debug_083C4754C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E804+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E804() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._522\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808E850\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808E8AC\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._519 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._520 @cond_branch\n" + "._519:\n" + " mov r0, #0x0\n" + " b ._521\n" + "._523:\n" + " .align 2, 0\n" + "._522:\n" + " .word gDebug_03000700+0xf\n" + "._520:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._521:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E850() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._526\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._524 @cond_branch\n" + " mov r5, #0x1\n" + " b ._525\n" + "._527:\n" + " .align 2, 0\n" + "._526:\n" + " .word gMain\n" + "._524:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._528 @cond_branch\n" + " ldr r5, ._529\n" + "._525:\n" + " ldr r1, ._529 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " ldrh r4, [r0]\n" + " add r0, r4, #0\n" + " bl VarGet\n" + " add r1, r0, #0\n" + " add r1, r5, r1\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " bl VarSet\n" + "._528:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._530:\n" + " .align 2, 0\n" + "._529:\n" + " .word 0xffff\n" + " .word gUnknown_Debug_083C478C+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E8AC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._533\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._531 @cond_branch\n" + " ldr r0, ._533 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._532:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl VarGet\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x10\n" + " lsr r2, r2, #0x10\n" + " mov r0, #0x18\n" + " add r1, r4, #0\n" + " bl debug_sub_808F31C\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._532 @cond_branch\n" + "._531:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._534:\n" + " .align 2, 0\n" + "._533:\n" + " .word gUnknown_Debug_083C478C\n" + " .word gUnknown_Debug_083C478C+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E90C() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._535\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x2\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x17\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x2\n" + " bl InitMenu\n" + " ldr r1, ._535 + 4\n" + " ldr r0, ._535 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._536:\n" + " .align 2, 0\n" + "._535:\n" + " .word gUnknown_Debug_083C35C4\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808E95C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E95C() +{ + asm( + " push {lr}\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bne ._537 @cond_branch\n" + " mov r0, #0x0\n" + " b ._540\n" + "._537:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._539 @cond_branch\n" + " ldr r2, ._541\n" + " ldr r0, ._541 + 4\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " str r0, [r2]\n" + " mov r0, #0x0\n" + " b ._540\n" + "._542:\n" + " .align 2, 0\n" + "._541:\n" + " .word gCallback_03004AE8\n" + " .word gUnknown_Debug_083C35C4\n" + "._539:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._540:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E9A0() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._543\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl PrintMenuItems\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " ldr r0, ._543 + 4\n" + " strb r4, [r0]\n" + " ldr r1, ._543 + 8\n" + " ldr r0, ._543 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._544:\n" + " .align 2, 0\n" + "._543:\n" + " .word gUnknown_Debug_083C369C\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808EA50+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808E9F8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._545\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x1c\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x7\n" + " bl InitMenu\n" + " ldr r1, ._545 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._545 + 8\n" + " ldr r0, ._545 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._546:\n" + " .align 2, 0\n" + "._545:\n" + " .word gUnknown_Debug_083C36E4\n" + " .word gDebug_03000700+0xf\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808EA50+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EA50() +{ + asm( + " push {r4, r5, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " add r1, r0, #0\n" + " ldr r5, ._550\n" + " ldrb r0, [r5]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " bl debug_sub_808EAFC\n" + " ldrb r0, [r5]\n" + " bl debug_sub_808EA9C\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._547 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._548 @cond_branch\n" + "._547:\n" + " mov r0, #0x0\n" + " b ._549\n" + "._551:\n" + " .align 2, 0\n" + "._550:\n" + " .word gDebug_03000700+0xf\n" + "._548:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._549:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EA9C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " mov r5, #0x0\n" + " ldr r0, ._554\n" + " add r0, r1, r0\n" + " ldrb r2, [r0]\n" + " cmp r5, r2\n" + " bcs ._552 @cond_branch\n" + " ldr r0, ._554 + 4\n" + " mov r8, r0\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r7, r0, #0x1\n" + " add r6, r2, #0\n" + "._553:\n" + " lsl r0, r5, #0x1\n" + " add r4, r0, #1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " add r0, r0, r7\n" + " add r0, r0, r8\n" + " ldrh r0, [r0]\n" + " bl VarGet\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x10\n" + " lsr r2, r2, #0x10\n" + " mov r0, #0x18\n" + " add r1, r4, #0\n" + " bl debug_sub_808F31C\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, r6\n" + " bcc ._553 @cond_branch\n" + "._552:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._555:\n" + " .align 2, 0\n" + "._554:\n" + " .word gUnknown_Debug_083C371C\n" + " .word gUnknown_Debug_083C371C+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EAFC() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " ldr r0, ._558\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._556 @cond_branch\n" + " mov r5, #0x1\n" + " b ._557\n" + "._559:\n" + " .align 2, 0\n" + "._558:\n" + " .word gMain\n" + "._556:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._560 @cond_branch\n" + " ldr r5, ._561\n" + "._557:\n" + " ldr r1, ._561 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r1\n" + " ldrh r4, [r0]\n" + " add r0, r4, #0\n" + " bl VarGet\n" + " add r1, r0, #0\n" + " add r1, r5, r1\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r4, #0\n" + " bl VarSet\n" + "._560:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._562:\n" + " .align 2, 0\n" + "._561:\n" + " .word 0xffff\n" + " .word gUnknown_Debug_083C371C+0x2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EB58() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xc\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._563\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r3, ._563 + 4\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0x8\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xb\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " ldr r1, ._563 + 8\n" + " ldr r0, ._563 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._564:\n" + " .align 2, 0\n" + "._563:\n" + " .word gUnknown_Debug_083C47B2\n" + " .word gUnknown_Debug_083C47F0\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808EC10+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EBB4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xd\n" + " mov r3, #0xd\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._565\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r3, ._565 + 4\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0x5\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xc\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x5\n" + " bl InitMenu\n" + " ldr r1, ._565 + 8\n" + " ldr r0, ._565 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._566:\n" + " .align 2, 0\n" + "._565:\n" + " .word gUnknown_Debug_083C4830\n" + " .word gUnknown_Debug_083C4888\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808EC5C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EC10() +{ + asm( + " push {r4, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._568 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._568 @cond_branch\n" + " ldr r1, ._570\n" + " lsl r0, r2, #0x18\n" + " asr r0, r0, #0x18\n" + " ldr r2, ._570 + 4\n" + " add r1, r1, r2\n" + " strh r0, [r1]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._569\n" + "._571:\n" + " .align 2, 0\n" + "._570:\n" + " .word gSaveBlock1\n" + " .word 0x13c8\n" + "._568:\n" + " mov r0, #0x0\n" + "._569:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EC5C() +{ + asm( + " push {r4, lr}\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._573 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._573 @cond_branch\n" + " ldr r0, ._575\n" + " lsl r1, r1, #0x18\n" + " asr r1, r1, #0x8\n" + " lsr r1, r1, #0x10\n" + " bl VarSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._574\n" + "._576:\n" + " .align 2, 0\n" + "._575:\n" + " .word 0x40a7\n" + "._573:\n" + " mov r0, #0x0\n" + "._574:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808ECA4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._577\n" + " ldr r0, ._577 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x4\n" + " pop {r1}\n" + " bx r1\n" + "._578:\n" + " .align 2, 0\n" + "._577:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_808ECD0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808ECD0() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._579 @cond_branch\n" + " mov r0, #0x0\n" + " b ._580\n" + "._579:\n" + " bl CloseMenu\n" + " mov r0, #0x2\n" + " bl debug_sub_808F168\n" + " ldr r0, ._581\n" + " bl SetMainCallback2\n" + " ldr r1, ._581 + 4\n" + " ldr r0, ._581 + 8\n" + " str r0, [r1, #0x8]\n" + " mov r0, #0x1\n" + "._580:\n" + " pop {r1}\n" + " bx r1\n" + "._582:\n" + " .align 2, 0\n" + "._581:\n" + " .word CB2_ContestPainting+1\n" + " .word gMain\n" + " .word debug_sub_808B868+1\n" + "\n" + ); +} + +__attribute__((naked)) +void TomomichiDebugMenu_Config() +{ + asm( + " mov r0, #0x0\n" + " bx lr\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808ED0C() +{ + asm( + " push {lr}\n" + " ldr r2, ._590\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._584 @cond_branch\n" + " ldr r1, ._590 + 4\n" + " ldrh r0, [r1]\n" + " cmp r0, #0x1\n" + " beq ._584 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strh r0, [r1]\n" + "._584:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._586 @cond_branch\n" + " ldr r3, ._590 + 4\n" + " ldrh r1, [r3]\n" + " ldr r0, ._590 + 8\n" + " cmp r1, r0\n" + " beq ._586 @cond_branch\n" + " add r0, r1, #1\n" + " strh r0, [r3]\n" + "._586:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._587 @cond_branch\n" + " ldr r1, ._590 + 4\n" + " ldrh r0, [r1]\n" + " cmp r0, #0xa\n" + " bls ._588 @cond_branch\n" + " sub r0, r0, #0xa\n" + " b ._589\n" + "._591:\n" + " .align 2, 0\n" + "._590:\n" + " .word gMain\n" + " .word gDebug_03000700\n" + " .word 0x19b\n" + "._588:\n" + " mov r0, #0x1\n" + "._589:\n" + " strh r0, [r1]\n" + "._587:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._592 @cond_branch\n" + " ldr r2, ._595\n" + " ldrh r1, [r2]\n" + " ldr r0, ._595 + 4\n" + " cmp r1, r0\n" + " bhi ._593 @cond_branch\n" + " add r0, r1, #0\n" + " add r0, r0, #0xa\n" + " b ._594\n" + "._596:\n" + " .align 2, 0\n" + "._595:\n" + " .word gDebug_03000700\n" + " .word 0x191\n" + "._593:\n" + " ldr r1, ._597\n" + " add r0, r1, #0\n" + "._594:\n" + " strh r0, [r2]\n" + "._592:\n" + " pop {r0}\n" + " bx r0\n" + "._598:\n" + " .align 2, 0\n" + "._597:\n" + " .word 0x19b\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808ED9C() +{ + asm( + " push {lr}\n" + " ldr r2, ._606\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._600 @cond_branch\n" + " ldr r1, ._606 + 4\n" + " ldr r0, [r1]\n" + " cmp r0, #0\n" + " beq ._600 @cond_branch\n" + " sub r0, r0, #0x1\n" + " str r0, [r1]\n" + "._600:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._602 @cond_branch\n" + " ldr r3, ._606 + 4\n" + " ldr r1, [r3]\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._602 @cond_branch\n" + " add r0, r1, #1\n" + " str r0, [r3]\n" + "._602:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._603 @cond_branch\n" + " ldr r1, ._606 + 4\n" + " ldr r0, [r1]\n" + " cmp r0, #0xf\n" + " bls ._604 @cond_branch\n" + " sub r0, r0, #0x10\n" + " b ._605\n" + "._607:\n" + " .align 2, 0\n" + "._606:\n" + " .word gMain\n" + " .word gDebug_03000700+0x8\n" + "._604:\n" + " mov r0, #0x0\n" + "._605:\n" + " str r0, [r1]\n" + "._603:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._608 @cond_branch\n" + " ldr r3, ._611\n" + " ldr r1, [r3]\n" + " mov r0, #0x11\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " bhi ._609 @cond_branch\n" + " add r0, r1, #0\n" + " add r0, r0, #0x10\n" + " b ._610\n" + "._612:\n" + " .align 2, 0\n" + "._611:\n" + " .word gDebug_03000700+0x8\n" + "._609:\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + "._610:\n" + " str r0, [r3]\n" + "._608:\n" + " ldrh r2, [r2, #0x2e]\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x2\n" + " add r0, r1, #0\n" + " and r0, r0, r2\n" + " cmp r0, r1\n" + " bne ._613 @cond_branch\n" + " ldr r1, ._614\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " str r0, [r1]\n" + "._613:\n" + " pop {r0}\n" + " bx r0\n" + "._615:\n" + " .align 2, 0\n" + "._614:\n" + " .word gDebug_03000700+0x8\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EE3C() +{ + asm( + " push {lr}\n" + " ldr r2, ._622\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._617 @cond_branch\n" + " ldr r1, ._622 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x1\n" + " beq ._617 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._617:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._619 @cond_branch\n" + " ldr r1, ._622 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x5\n" + " beq ._619 @cond_branch\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._619:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._620 @cond_branch\n" + " ldr r1, ._622 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + "._620:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._621 @cond_branch\n" + " ldr r1, ._622 + 4\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + "._621:\n" + " pop {r0}\n" + " bx r0\n" + "._623:\n" + " .align 2, 0\n" + "._622:\n" + " .word gMain\n" + " .word gDebug_03000700+0xc\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EE9C() +{ + asm( + " push {lr}\n" + " ldr r2, ._631\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._625 @cond_branch\n" + " ldr r1, ._631 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x1\n" + " beq ._625 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._625:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._627 @cond_branch\n" + " ldr r1, ._631 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0xf\n" + " beq ._627 @cond_branch\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._627:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._628 @cond_branch\n" + " ldr r1, ._631 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0xa\n" + " bls ._629 @cond_branch\n" + " sub r0, r0, #0xa\n" + " b ._630\n" + "._632:\n" + " .align 2, 0\n" + "._631:\n" + " .word gMain\n" + " .word gDebug_03000700+0xd\n" + "._629:\n" + " mov r0, #0x0\n" + "._630:\n" + " strb r0, [r1]\n" + "._628:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._633 @cond_branch\n" + " ldr r1, ._636\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x5\n" + " bhi ._634 @cond_branch\n" + " add r0, r0, #0xa\n" + " b ._635\n" + "._637:\n" + " .align 2, 0\n" + "._636:\n" + " .word gDebug_03000700+0xd\n" + "._634:\n" + " mov r0, #0xf\n" + "._635:\n" + " strb r0, [r1]\n" + "._633:\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EF14() +{ + asm( + " push {lr}\n" + " ldr r2, ._645\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._639 @cond_branch\n" + " ldr r1, ._645 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x1\n" + " beq ._639 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._639:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._641 @cond_branch\n" + " ldr r1, ._645 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0xf\n" + " beq ._641 @cond_branch\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._641:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._642 @cond_branch\n" + " ldr r1, ._645 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0xa\n" + " bls ._643 @cond_branch\n" + " sub r0, r0, #0xa\n" + " b ._644\n" + "._646:\n" + " .align 2, 0\n" + "._645:\n" + " .word gMain\n" + " .word gDebug_03000700+0xe\n" + "._643:\n" + " mov r0, #0x0\n" + "._644:\n" + " strb r0, [r1]\n" + "._642:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._647 @cond_branch\n" + " ldr r1, ._650\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x5\n" + " bhi ._648 @cond_branch\n" + " add r0, r0, #0xa\n" + " b ._649\n" + "._651:\n" + " .align 2, 0\n" + "._650:\n" + " .word gDebug_03000700+0xe\n" + "._648:\n" + " mov r0, #0xf\n" + "._649:\n" + " strb r0, [r1]\n" + "._647:\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808EF8C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " cmp r6, #0x2\n" + " bgt ._653 @cond_branch\n" + " cmp r6, #0\n" + " blt ._653 @cond_branch\n" + " mov r3, #0x0\n" + " ldr r0, ._656\n" + " mov r8, r0\n" + " ldr r4, ._656 + 4\n" + " mov r7, #0x7\n" + " mov r5, #0xf\n" + "._658:\n" + " sub r0, r7, r3\n" + " lsl r0, r0, #0x2\n" + " mov r1, r8\n" + " ldr r2, [r1]\n" + " LSR r2, r0\n" + " and r2, r2, r5\n" + " cmp r2, #0x9\n" + " bhi ._654 @cond_branch\n" + " add r1, r3, r4\n" + " add r0, r2, #0\n" + " add r0, r0, #0xa1\n" + " b ._655\n" + "._657:\n" + " .align 2, 0\n" + "._656:\n" + " .word gDebug_03000700+0x8\n" + " .word gDebug_03000700+0x10\n" + "._654:\n" + " add r1, r3, r4\n" + " add r0, r2, #0\n" + " sub r0, r0, #0x4f\n" + "._655:\n" + " strb r0, [r1]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " cmp r3, #0x7\n" + " bls ._658 @cond_branch\n" + " ldr r0, ._666\n" + " mov r1, #0xff\n" + " strb r1, [r0, #0x8]\n" + " mov r1, #0xc\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + "._653:\n" + " mov r3, #0x0\n" + " ldr r7, ._666\n" + " ldr r5, ._666 + 4\n" + " ldr r2, ._666 + 8\n" + " mov r8, r2\n" + " add r4, r7, #0\n" + " mov r2, #0x0\n" + "._659:\n" + " add r1, r3, #1\n" + " add r0, r1, r4\n" + " strb r2, [r0]\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " cmp r3, #0x9\n" + " bls ._659 @cond_branch\n" + " mov r3, #0x0\n" + " ldrh r2, [r5]\n" + " mov r0, #0xb\n" + " add r1, r2, #0\n" + " mul r1, r1, r0\n" + " mov r2, r8\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._661 @cond_branch\n" + " ldr r0, ._666\n" + " mov ip, r0\n" + " mov r5, r8\n" + " add r4, r1, #0\n" + "._662:\n" + " add r1, r3, #1\n" + " mov r0, ip\n" + " add r2, r1, r0\n" + " add r0, r3, r4\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " strb r0, [r2]\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " add r0, r3, r4\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._661 @cond_branch\n" + " cmp r3, #0x9\n" + " bls ._662 @cond_branch\n" + "._661:\n" + " mov r0, #0xb1\n" + " strb r0, [r7]\n" + " mov r0, #0xb2\n" + " strb r0, [r7, #0xb]\n" + " mov r0, #0xff\n" + " strb r0, [r7, #0xc]\n" + " cmp r6, #0x2\n" + " bgt ._664 @cond_branch\n" + " cmp r6, #0\n" + " blt ._664 @cond_branch\n" + " add r0, r7, #0\n" + " mov r1, #0x8\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " b ._665\n" + "._667:\n" + " .align 2, 0\n" + "._666:\n" + " .word gDebug_03000700+0x10\n" + " .word gDebug_03000700\n" + " .word gSpeciesNames\n" + "._664:\n" + " ldr r0, ._672\n" + " mov r1, #0xc\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + "._665:\n" + " ldr r5, ._672\n" + " mov r0, #0xff\n" + " strb r0, [r5, #0x3]\n" + " ldr r4, ._672 + 4\n" + " ldrh r0, [r4]\n" + " mov r1, #0x64\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5]\n" + " ldrh r0, [r4]\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0xa\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x1]\n" + " ldrh r0, [r4]\n" + " mov r1, #0xa\n" + " bl __umodsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x2]\n" + " add r0, r5, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " cmp r6, #0x1\n" + " beq ._668 @cond_branch\n" + " cmp r6, #0x1\n" + " bgt ._669 @cond_branch\n" + " cmp r6, #0\n" + " beq ._670 @cond_branch\n" + " b ._679\n" + "._673:\n" + " .align 2, 0\n" + "._672:\n" + " .word gDebug_03000700+0x10\n" + " .word gDebug_03000700\n" + "._669:\n" + " cmp r6, #0x2\n" + " beq ._674 @cond_branch\n" + " b ._679\n" + "._670:\n" + " ldr r4, ._677\n" + " b ._676\n" + "._678:\n" + " .align 2, 0\n" + "._677:\n" + " .word gDebug_03000700+0xc\n" + "._668:\n" + " ldr r4, ._680\n" + "._676:\n" + " ldrb r0, [r4]\n" + " mov r1, #0x64\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5]\n" + " ldrb r0, [r4]\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0xa\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x1]\n" + " ldrb r0, [r4]\n" + " mov r1, #0xa\n" + " bl __umodsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x2]\n" + " add r0, r5, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " b ._679\n" + "._681:\n" + " .align 2, 0\n" + "._680:\n" + " .word gDebug_03000700+0xd\n" + "._674:\n" + " ldr r4, ._682\n" + " ldrb r0, [r4]\n" + " mov r1, #0x64\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5]\n" + " ldrb r0, [r4]\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0xa\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x1]\n" + " ldrb r0, [r4]\n" + " mov r1, #0xa\n" + " bl __umodsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x2]\n" + " add r0, r5, #0\n" + " mov r1, #0xc\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + "._679:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._683:\n" + " .align 2, 0\n" + "._682:\n" + " .word gDebug_03000700+0xe\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F168() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " ldr r4, ._686\n" + " ldr r0, ._686 + 4\n" + " ldrh r0, [r0]\n" + " strh r0, [r4, #0x8]\n" + " ldr r0, ._686 + 8\n" + " ldr r0, [r0]\n" + " str r0, [r4, #0x4]\n" + " ldr r0, ._686 + 12\n" + " ldr r0, [r0]\n" + " str r0, [r4]\n" + " cmp r1, #0x5\n" + " bls ._684 @cond_branch\n" + " b ._707\n" + "._684:\n" + " lsl r0, r1, #0x2\n" + " ldr r1, ._686 + 16\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._687:\n" + " .align 2, 0\n" + "._686:\n" + " .word +0x2015de0\n" + " .word gDebug_03000700\n" + " .word gDebug_03000700+0x4\n" + " .word gDebug_03000700+0x8\n" + " .word ._688\n" + "._688:\n" + " .word ._689\n" + " .word ._690\n" + " .word ._691\n" + " .word ._692\n" + " .word ._693\n" + " .word ._694\n" + "._689:\n" + " ldr r0, ._696\n" + " ldr r2, ._696 + 4\n" + " add r1, r0, r2\n" + " mov r2, #0x0\n" + " strb r2, [r1]\n" + " ldr r1, ._696 + 8\n" + " add r0, r0, r1\n" + " strb r2, [r0]\n" + " ldr r0, ._696 + 12\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r4, #0xa]\n" + " add r0, r4, #0\n" + " add r0, r0, #0x16\n" + " ldr r1, ._696 + 16\n" + " bl StringCopy\n" + " b ._704\n" + "._697:\n" + " .align 2, 0\n" + "._696:\n" + " .word +0x2000000\n" + " .word 0x15ddf\n" + " .word 0x15dde\n" + " .word gDebug_03000700+0xc\n" + " .word gUnknown_Debug_083C48BB\n" + "._690:\n" + " ldr r1, ._699\n" + " ldr r0, ._699 + 4\n" + " add r2, r1, r0\n" + " mov r0, #0x0\n" + " strb r0, [r2]\n" + " ldr r2, ._699 + 8\n" + " add r1, r1, r2\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldr r0, ._699 + 12\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x1\n" + " b ._698\n" + "._700:\n" + " .align 2, 0\n" + "._699:\n" + " .word +0x2000000\n" + " .word 0x15ddf\n" + " .word 0x15dde\n" + " .word gDebug_03000700+0xd\n" + "._691:\n" + " ldr r1, ._702\n" + " ldr r0, ._702 + 4\n" + " add r2, r1, r0\n" + " mov r0, #0x1\n" + " strb r0, [r2]\n" + " ldr r2, ._702 + 8\n" + " add r1, r1, r2\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldr r0, ._702 + 12\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r4, #0xa]\n" + " b ._707\n" + "._703:\n" + " .align 2, 0\n" + "._702:\n" + " .word +0x2000000\n" + " .word 0x15ddf\n" + " .word 0x15dde\n" + " .word gDebug_03000700+0xe\n" + "._692:\n" + " ldr r1, ._705\n" + " ldr r2, ._705 + 4\n" + " add r0, r1, r2\n" + " mov r2, #0x0\n" + " strb r2, [r0]\n" + " ldr r0, ._705 + 8\n" + " add r1, r1, r0\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " strb r2, [r4, #0xa]\n" + " b ._704\n" + "._706:\n" + " .align 2, 0\n" + "._705:\n" + " .word +0x2000000\n" + " .word 0x15ddf\n" + " .word 0x15dde\n" + "._693:\n" + " ldr r1, ._708\n" + " ldr r0, ._708 + 4\n" + " add r2, r1, r0\n" + " mov r0, #0x0\n" + " strb r0, [r2]\n" + " ldr r2, ._708 + 8\n" + " add r1, r1, r2\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " mov r0, #0x3\n" + "._698:\n" + " strb r0, [r4, #0xa]\n" + "._704:\n" + " add r0, r4, #0\n" + " add r0, r0, #0xb\n" + " ldr r1, ._708 + 12\n" + " bl StringCopy\n" + " b ._707\n" + "._709:\n" + " .align 2, 0\n" + "._708:\n" + " .word +0x2000000\n" + " .word 0x15ddf\n" + " .word 0x15dde\n" + " .word gUnknown_Debug_083C48B0\n" + "._694:\n" + " ldr r1, ._710\n" + " ldr r0, ._710 + 4\n" + " add r2, r1, r0\n" + " mov r0, #0x0\n" + " strb r0, [r2]\n" + " ldr r2, ._710 + 8\n" + " add r1, r1, r2\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " mov r0, #0x9\n" + " strb r0, [r4, #0xa]\n" + " add r0, r4, #0\n" + " add r0, r0, #0xb\n" + " ldr r1, ._710 + 12\n" + " bl StringCopy\n" + "._707:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._711:\n" + " .align 2, 0\n" + "._710:\n" + " .word +0x2000000\n" + " .word 0x15ddf\n" + " .word 0x15dde\n" + " .word gUnknown_Debug_083C48B0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F2E0() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " lsl r1, r1, #0x18\n" + " lsr r3, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " cmp r2, #0\n" + " bne ._712 @cond_branch\n" + " ldr r1, ._714\n" + " mov r0, #0xa1\n" + " b ._713\n" + "._715:\n" + " .align 2, 0\n" + "._714:\n" + " .word gDebug_03000700+0x10\n" + "._712:\n" + " ldr r1, ._716\n" + " mov r0, #0xa2\n" + "._713:\n" + " strb r0, [r1]\n" + " mov r0, #0xff\n" + " strb r0, [r1, #0x1]\n" + " add r0, r1, #0\n" + " add r1, r4, #0\n" + " add r2, r3, #0\n" + " bl MenuPrint\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._717:\n" + " .align 2, 0\n" + "._716:\n" + " .word gDebug_03000700+0x10\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_808F31C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6}\n" + " mov r8, r0\n" + " mov r9, r1\n" + " add r4, r2, #0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " mov r0, r9\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r9, r0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " ldr r5, ._718\n" + " ldr r6, ._718 + 4\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5]\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r6, #0xfa\n" + " lsl r6, r6, #0x2\n" + " add r1, r6, #0\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x1]\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0x64\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x2]\n" + " add r0, r4, #0\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0xa\n" + " bl __udivsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x3]\n" + " add r0, r4, #0\n" + " mov r1, #0xa\n" + " bl __umodsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r5, #0x4]\n" + " mov r0, #0xff\n" + " strb r0, [r5, #0x5]\n" + " add r0, r5, #0\n" + " mov r1, r8\n" + " mov r2, r9\n" + " bl MenuPrint\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._719:\n" + " .align 2, 0\n" + "._718:\n" + " .word gDebug_03000700+0x10\n" + " .word 0x2710\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_nullsub_66() +{ + asm( + " bx lr\n" + "\n" + ); +} + +#endif diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c new file mode 100644 index 000000000..fed5b4e52 --- /dev/null +++ b/src/debug/watanabe_debug_menu.c @@ -0,0 +1,9846 @@ +#ifdef DEBUG +#include "global.h" + +EWRAM_DATA u8 unk_debug_ewram_0[56] = { 0 }; + +u8 byte_3005E30[0x20]; + +__attribute__((naked)) +void debug_69() +{ + asm( + " bx lr\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C35DC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " bl SetVBlankCallback\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x13\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " add r0, r0, #0xe\n" + " strh r1, [r0]\n" + " sub r0, r0, #0x2\n" + " strh r1, [r0]\n" + " sub r0, r0, #0x2\n" + " strh r1, [r0]\n" + " sub r0, r0, #0x2\n" + " strh r1, [r0]\n" + " add r0, r0, #0x14\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " sub r0, r0, #0x6\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " sub r0, r0, #0x6\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " sub r0, r0, #0x6\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " mov r3, #0xc0\n" + " lsl r3, r3, #0x13\n" + " mov r4, #0xc0\n" + " lsl r4, r4, #0x9\n" + " add r0, sp, #0x4\n" + " mov r8, r0\n" + " mov r2, sp\n" + " mov r6, #0x0\n" + " ldr r1, ._2\n" + " mov r5, #0x80\n" + " lsl r5, r5, #0x5\n" + " ldr r7, ._2 + 4\n" + " mov r0, #0x81\n" + " lsl r0, r0, #0x18\n" + " mov ip, r0\n" + "._1:\n" + " strh r6, [r2]\n" + " mov r0, sp\n" + " str r0, [r1]\n" + " str r3, [r1, #0x4]\n" + " str r7, [r1, #0x8]\n" + " ldr r0, [r1, #0x8]\n" + " add r3, r3, r5\n" + " sub r4, r4, r5\n" + " cmp r4, r5\n" + " bhi ._1 @cond_branch\n" + " strh r6, [r2]\n" + " mov r2, sp\n" + " str r2, [r1]\n" + " str r3, [r1, #0x4]\n" + " lsr r0, r4, #0x1\n" + " mov r2, ip\n" + " orr r0, r0, r2\n" + " str r0, [r1, #0x8]\n" + " ldr r0, [r1, #0x8]\n" + " mov r0, #0xe0\n" + " lsl r0, r0, #0x13\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x3\n" + " mov r4, #0x0\n" + " str r4, [sp, #0x4]\n" + " ldr r2, ._2\n" + " mov r1, r8\n" + " str r1, [r2]\n" + " str r0, [r2, #0x4]\n" + " lsr r0, r3, #0x2\n" + " mov r1, #0x85\n" + " lsl r1, r1, #0x18\n" + " orr r0, r0, r1\n" + " str r0, [r2, #0x8]\n" + " ldr r0, [r2, #0x8]\n" + " mov r1, #0xa0\n" + " lsl r1, r1, #0x13\n" + " mov r0, sp\n" + " strh r4, [r0]\n" + " str r0, [r2]\n" + " str r1, [r2, #0x4]\n" + " lsr r3, r3, #0x1\n" + " mov r0, #0x81\n" + " lsl r0, r0, #0x18\n" + " orr r3, r3, r0\n" + " str r3, [r2, #0x8]\n" + " ldr r0, [r2, #0x8]\n" + " bl ResetPaletteFade\n" + " bl remove_some_task\n" + " bl ResetTasks\n" + " bl ResetSpriteData\n" + " bl ResetPaletteFade\n" + " bl FreeAllSpritePalettes\n" + " ldr r0, ._2 + 8\n" + " bl LoadSpriteSheet\n" + " ldr r0, ._2 + 12\n" + " bl LoadSpritePalette\n" + " ldr r0, ._2 + 16\n" + " bl SetUpWindowConfig\n" + " ldr r0, ._2 + 20\n" + " bl InitMenuWindow\n" + " add sp, sp, #0x8\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._3:\n" + " .align 2, 0\n" + "._2:\n" + " .word 0x40000d4\n" + " .word 0x81000800\n" + " .word stru_83F8828\n" + " .word stru_83F8838\n" + " .word gWindowConfig_81E6C3C\n" + " .word gWindowConfig_81E6CE4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C36F4() +{ + asm( + " push {lr}\n" + " bl RunTasks\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " bl UpdatePaletteFade\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C370C() +{ + asm( + " push {lr}\n" + " ldr r0, ._6\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._4 @cond_branch\n" + " ldr r0, ._6 + 4\n" + " bl SetMainCallback2\n" + " b ._5\n" + "._7:\n" + " .align 2, 0\n" + "._6:\n" + " .word gPaletteFade\n" + " .word debug_80C36F4+1\n" + "._4:\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " bl UpdatePaletteFade\n" + "._5:\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C373C() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl DestroyTask\n" + " bl ScriptContext2_Disable\n" + " ldr r0, ._8\n" + " bl SetMainCallback2\n" + " pop {r0}\n" + " bx r0\n" + "._9:\n" + " .align 2, 0\n" + "._8:\n" + " .word sub_80546F0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C3758() +{ + asm( + " push {lr}\n" + " bl LoadOam\n" + " bl ProcessSpriteCopyRequests\n" + " bl TransferPlttBuffer\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C376C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " lsl r1, r1, #0x18\n" + " lsr r7, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " lsr r6, r2, #0x18\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + "._10:\n" + " mov r3, sp\n" + " add r0, r3, r1\n" + " strb r2, [r0]\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " cmp r1, #0x2\n" + " bls ._10 @cond_branch\n" + " mov r1, sp\n" + " mov r0, #0xff\n" + " strb r0, [r1, #0x3]\n" + " mov r4, #0x0\n" + " add r0, r5, #0\n" + " mov r1, #0x64\n" + " bl __udivsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._11 @cond_branch\n" + " mov r1, sp\n" + " add r0, r0, #0xa1\n" + " strb r0, [r1]\n" + " mov r4, #0x1\n" + "._11:\n" + " add r0, r5, #0\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0xa\n" + " bl __udivsi3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._12 @cond_branch\n" + " cmp r4, #0\n" + " beq ._13 @cond_branch\n" + "._12:\n" + " mov r1, sp\n" + " add r0, r0, #0xa1\n" + " strb r0, [r1, #0x1]\n" + "._13:\n" + " mov r4, sp\n" + " add r0, r5, #0\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0xa\n" + " bl __umodsi3\n" + " add r0, r0, #0xa1\n" + " strb r0, [r4, #0x2]\n" + " mov r0, sp\n" + " add r1, r7, #0\n" + " add r2, r6, #0\n" + " bl MenuPrint\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C3800() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffff4\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " lsl r1, r1, #0x18\n" + " lsr r6, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " lsr r5, r2, #0x18\n" + " mov r3, #0x0\n" + " ldr r2, ._18\n" + " mov r1, #0x0\n" + "._14:\n" + " mov r7, sp\n" + " add r0, r7, r3\n" + " strb r1, [r0]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " cmp r3, #0x9\n" + " bls ._14 @cond_branch\n" + " add r1, r7, r3\n" + " mov r0, #0xff\n" + " strb r0, [r1]\n" + " mov r3, #0x0\n" + " mov r0, #0xb\n" + " add r1, r4, #0\n" + " mul r1, r1, r0\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._16 @cond_branch\n" + " add r4, r2, #0\n" + " add r2, r1, #0\n" + "._17:\n" + " mov r0, sp\n" + " add r1, r0, r3\n" + " add r0, r3, r2\n" + " add r0, r0, r4\n" + " ldrb r0, [r0]\n" + " strb r0, [r1]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " add r0, r3, r2\n" + " add r0, r0, r4\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._16 @cond_branch\n" + " cmp r3, #0x9\n" + " bls ._17 @cond_branch\n" + "._16:\n" + " mov r0, sp\n" + " add r1, r6, #0\n" + " add r2, r5, #0\n" + " bl MenuPrint\n" + " add sp, sp, #0xc\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._19:\n" + " .align 2, 0\n" + "._18:\n" + " .word gSpeciesNames\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C3878() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " cmp r0, #0\n" + " beq ._20 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._21 @cond_branch\n" + "._20:\n" + " cmp r1, #0x1\n" + " bls ._22 @cond_branch\n" + " sub r0, r1, #1\n" + " b ._23\n" + "._22:\n" + " ldr r1, ._25\n" + " b ._28\n" + "._26:\n" + " .align 2, 0\n" + "._25:\n" + " .word 0x19b\n" + "._21:\n" + " mov r0, #0xcd\n" + " lsl r0, r0, #0x1\n" + " cmp r1, r0\n" + " bhi ._27 @cond_branch\n" + " add r0, r1, #1\n" + "._23:\n" + " lsl r0, r0, #0x10\n" + " lsr r1, r0, #0x10\n" + " b ._28\n" + "._27:\n" + " mov r1, #0x1\n" + "._28:\n" + " add r0, r1, #0\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C38B4() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r1, r1, #0x10\n" + " lsr r0, r1, #0x10\n" + " cmp r2, #0\n" + " beq ._29 @cond_branch\n" + " cmp r2, #0x1\n" + " beq ._30 @cond_branch\n" + "._29:\n" + " cmp r0, #0\n" + " beq ._31 @cond_branch\n" + " sub r0, r0, #0x1\n" + " b ._32\n" + "._31:\n" + " mov r0, #0x52\n" + " b ._35\n" + "._30:\n" + " cmp r0, #0x51\n" + " bhi ._34 @cond_branch\n" + " add r0, r0, #0x1\n" + "._32:\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " b ._35\n" + "._34:\n" + " mov r0, #0x0\n" + "._35:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C38E4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r2, #0\n" + " add r5, r3, #0\n" + " ldr r6, [sp, #0x1c]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " lsl r1, r1, #0x18\n" + " lsr r7, r1, #0x18\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " lsl r6, r6, #0x18\n" + " lsr r6, r6, #0x18\n" + " ldr r1, ._37\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " bl memcpy\n" + " add r0, r7, #0\n" + " add r1, r4, #0\n" + " add r2, r7, #0\n" + " add r3, r5, #0\n" + " bl MenuFillWindowRectWithBlankTile\n" + " cmp r6, #0\n" + " beq ._36 @cond_branch\n" + " mov r0, sp\n" + " add r1, r7, #0\n" + " mov r2, r8\n" + " bl MenuPrint\n" + "._36:\n" + " add sp, sp, #0x4\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._38:\n" + " .align 2, 0\n" + "._37:\n" + " .word gUnknown_Debug_083F7FD4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C393C() +{ + asm( + " push {lr}\n" + " ldr r1, ._39\n" + " mov r0, #0x1e\n" + " bl ProgramFlashSectorAndVerify\n" + " pop {r0}\n" + " bx r0\n" + "._40:\n" + " .align 2, 0\n" + "._39:\n" + " .word gUnknown_Debug_083F7FD6\n" + "\n" + ); +} + +__attribute__((naked)) +void InitWatanabeDebugMenu() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._46\n" + " ldr r1, ._46 + 4\n" + " add r4, r0, r1\n" + " ldrb r0, [r4]\n" + " cmp r0, #0x1\n" + " beq ._41 @cond_branch\n" + " cmp r0, #0x1\n" + " ble ._42 @cond_branch\n" + " cmp r0, #0x2\n" + " beq ._43 @cond_branch\n" + " cmp r0, #0x3\n" + " beq ._44 @cond_branch\n" + "._42:\n" + " bl save_serialize_map\n" + " bl sub_8125E2C\n" + " mov r0, #0x1\n" + " strb r0, [r4]\n" + " b ._51\n" + "._47:\n" + " .align 2, 0\n" + "._46:\n" + " .word gMain\n" + " .word 0x43c\n" + "._41:\n" + " bl sub_8125E6C\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._51 @cond_branch\n" + " b ._49\n" + "._43:\n" + " mov r0, #0x37\n" + " bl PlaySE\n" + "._49:\n" + " ldrb r0, [r4]\n" + " add r0, r0, #0x1\n" + " strb r0, [r4]\n" + " b ._51\n" + "._44:\n" + " bl IsSEPlaying\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._51 @cond_branch\n" + " bl ScriptContext2_Disable\n" + " ldr r0, ._52\n" + " bl SetMainCallback2\n" + "._51:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._53:\n" + " .align 2, 0\n" + "._52:\n" + " .word sub_80546F0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void InitSizeComparison() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " bl debug_80C35DC\n" + " ldr r1, ._54\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r0, ._54 + 4\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x1\n" + " mov r2, #0x20\n" + " bl LoadPalette\n" + " ldr r3, ._54 + 8\n" + " ldrh r2, [r3]\n" + " mov r0, #0x0\n" + " strh r0, [r3]\n" + " ldr r4, ._54 + 12\n" + " ldrh r0, [r4]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " strh r0, [r4]\n" + " strh r2, [r3]\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x10\n" + " mov r3, #0x0\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._54 + 16\n" + " bl SetVBlankCallback\n" + " ldr r0, ._54 + 20\n" + " bl SetMainCallback2\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x13\n" + " mov r2, #0x8a\n" + " lsl r2, r2, #0x5\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, ._54 + 24\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._54 + 28\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " mov r0, #0xfc\n" + " strh r0, [r1, #0x8]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._55:\n" + " .align 2, 0\n" + "._54:\n" + " .word gReservedSpritePaletteCount\n" + " .word unk_debug_ewram_0\n" + " .word 0x4000208\n" + " .word 0x4000200\n" + " .word debug_80C3758+1\n" + " .word debug_80C370C+1\n" + " .word debug_80C3A50+1\n" + " .word gTasks\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C3A50() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xffffffd8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r1, ._56\n" + " lsl r2, r0, #0x2\n" + " add r0, r2, r0\n" + " lsl r0, r0, #0x3\n" + " add r7, r0, r1\n" + " ldrh r0, [r7, #0x8]\n" + " str r0, [sp, #0x4]\n" + " bl NationalPokedexNumToSpecies\n" + " mov r1, sp\n" + " strh r0, [r1, #0x8]\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x10\n" + " str r2, [sp, #0xc]\n" + " lsr r2, r2, #0x10\n" + " mov r9, r2\n" + " ldr r3, ._56 + 4\n" + " mov r8, r3\n" + " mov r0, #0x6\n" + " mov r1, #0x0\n" + " mov r2, #0x17\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x5\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " ldr r5, ._56 + 8\n" + " add r0, r5, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r4, ._56 + 12\n" + " add r0, r4, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0x18\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " add r0, r5, #0\n" + " mov r1, #0x19\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0x19\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " mov r1, #0xa\n" + " mov r2, #0xb\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._56 + 16\n" + " mov r1, #0x1\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " ldr r0, ._56 + 20\n" + " mov r1, #0x1\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " ldr r0, ._56 + 24\n" + " mov r1, #0x1\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r0, ._56 + 28\n" + " mov r1, #0x1\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " mov r0, #0xc\n" + " mov r1, #0xa\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._56 + 32\n" + " mov r1, #0xd\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " ldr r0, ._56 + 36\n" + " mov r1, #0xd\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " mov r0, #0xc\n" + " mov r1, #0x10\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._56 + 40\n" + " mov r1, #0xd\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " ldr r0, ._56 + 44\n" + " mov r1, #0x18\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " mov r0, r9\n" + " mov r1, #0x12\n" + " mov r2, #0x11\n" + " bl debug_80C3800\n" + " mov r1, r8\n" + " ldrb r0, [r1, #0x8]\n" + " mov r1, #0x98\n" + " mov r2, #0x28\n" + " mov r3, #0x0\n" + " bl sub_8091A4C\n" + " mov r2, sp\n" + " strh r0, [r2, #0x10]\n" + " add r3, r0, #0\n" + " lsl r3, r3, #0x10\n" + " str r3, [sp, #0x18]\n" + " lsr r0, r3, #0x10\n" + " str r0, [sp, #0x14]\n" + " lsl r4, r0, #0x4\n" + " add r4, r4, r0\n" + " lsl r4, r4, #0x2\n" + " ldr r1, ._56 + 48\n" + " add r4, r4, r1\n" + " ldrb r1, [r4, #0x1]\n" + " mov r2, #0x4\n" + " neg r2, r2\n" + " mov sl, r2\n" + " mov r0, sl\n" + " and r0, r0, r1\n" + " mov r3, #0x1\n" + " orr r0, r0, r3\n" + " strb r0, [r4, #0x1]\n" + " ldrb r1, [r4, #0x3]\n" + " mov r0, #0x3f\n" + " neg r0, r0\n" + " mov r9, r0\n" + " and r0, r0, r1\n" + " mov r1, #0x4\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0x3]\n" + " ldrb r1, [r4, #0x5]\n" + " sub r2, r2, #0x9\n" + " mov r8, r2\n" + " mov r0, r8\n" + " and r0, r0, r1\n" + " mov r3, #0xf\n" + " and r0, r0, r3\n" + " strb r0, [r4, #0x5]\n" + " mov r0, #0x0\n" + " bl GetSpritePaletteTagByPaletteNum\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl FreeSpritePaletteByTag\n" + " ldr r0, ._56 + 52\n" + " ldr r1, [sp, #0x4]\n" + " lsl r5, r1, #0x3\n" + " add r5, r5, r1\n" + " lsl r5, r5, #0x2\n" + " add r5, r5, r0\n" + " ldrh r6, [r5, #0x20]\n" + " strh r6, [r4, #0x26]\n" + " ldrh r4, [r5, #0x1e]\n" + " str r4, [sp]\n" + " mov r0, #0x2\n" + " add r1, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " bl SetOamMatrix\n" + " mov r2, sp\n" + " ldrh r2, [r2, #0x14]\n" + " strh r2, [r7, #0xe]\n" + " strh r6, [r7, #0x10]\n" + " strh r4, [r7, #0x14]\n" + " ldr r0, [sp, #0x4]\n" + " mov r1, #0x58\n" + " mov r2, #0x28\n" + " mov r3, #0x1\n" + " bl sub_80918EC\n" + " mov r3, sp\n" + " strh r0, [r3, #0x1c]\n" + " lsl r0, r0, #0x10\n" + " str r0, [sp, #0x24]\n" + " lsr r1, r0, #0x10\n" + " str r1, [sp, #0x20]\n" + " lsl r4, r1, #0x4\n" + " add r4, r4, r1\n" + " lsl r4, r4, #0x2\n" + " ldr r2, ._56 + 48\n" + " add r4, r4, r2\n" + " ldrb r0, [r4, #0x1]\n" + " mov r3, sl\n" + " and r3, r3, r0\n" + " mov r0, #0x1\n" + " orr r3, r3, r0\n" + " strb r3, [r4, #0x1]\n" + " ldrb r0, [r4, #0x3]\n" + " mov r1, r9\n" + " and r1, r1, r0\n" + " mov r0, #0x2\n" + " orr r1, r1, r0\n" + " strb r1, [r4, #0x3]\n" + " ldrb r0, [r4, #0x5]\n" + " mov r2, r8\n" + " and r2, r2, r0\n" + " mov r3, #0xf\n" + " and r2, r2, r3\n" + " strb r2, [r4, #0x5]\n" + " mov r0, #0x0\n" + " bl GetSpritePaletteTagByPaletteNum\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl FreeSpritePaletteByTag\n" + " ldrh r0, [r5, #0x1c]\n" + " mov r8, r0\n" + " strh r0, [r4, #0x26]\n" + " ldrh r4, [r5, #0x1a]\n" + " str r4, [sp]\n" + " mov r0, #0x1\n" + " add r1, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " bl SetOamMatrix\n" + " mov r1, sp\n" + " ldrh r1, [r1, #0x20]\n" + " strh r1, [r7, #0xc]\n" + " mov r2, r8\n" + " strh r2, [r7, #0x12]\n" + " strh r4, [r7, #0x16]\n" + " mov r3, #0x0\n" + " strh r3, [r7, #0x18]\n" + " strh r3, [r7, #0x1a]\n" + " ldr r1, ._56 + 56\n" + " ldr r2, ._56 + 60\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " mov r0, #0x1f\n" + " strh r0, [r1]\n" + " ldr r2, ._56 + 64\n" + " mov r3, #0x18\n" + " ldsh r1, [r7, r3]\n" + " lsl r1, r1, #0x6\n" + " add r0, r1, #0\n" + " add r0, r0, #0x38\n" + " lsl r0, r0, #0x8\n" + " add r1, r1, #0x78\n" + " add r0, r0, r1\n" + " strh r0, [r2]\n" + " ldr r1, ._56 + 68\n" + " ldr r2, ._56 + 72\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " sub r1, r1, #0x2\n" + " ldr r3, ._56 + 76\n" + " add r0, r3, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._56 + 80\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0xa\n" + " mov r0, #0xe1\n" + " strh r0, [r1]\n" + " ldr r0, ._56 + 84\n" + " mov r3, #0x0\n" + " strh r3, [r0]\n" + " add r1, r1, #0x4\n" + " mov r0, #0x7\n" + " strh r0, [r1]\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x13\n" + " ldrh r0, [r2]\n" + " mov r3, #0xc0\n" + " lsl r3, r3, #0x7\n" + " add r1, r3, #0\n" + " orr r0, r0, r1\n" + " strh r0, [r2]\n" + " ldr r0, ._56 + 88\n" + " str r0, [r7]\n" + " add sp, sp, #0x28\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._57:\n" + " .align 2, 0\n" + "._56:\n" + " .word gTasks\n" + " .word gSaveBlock2\n" + " .word gUnknown_Debug_083F7FD6+0x4\n" + " .word gUnknown_Debug_083F7FDE\n" + " .word gUnknown_Debug_083F7FE2\n" + " .word gUnknown_Debug_083F7FED\n" + " .word gUnknown_Debug_083F7FF6\n" + " .word gUnknown_Debug_083F8001\n" + " .word gUnknown_Debug_083F800C\n" + " .word gUnknown_Debug_083F8019\n" + " .word gUnknown_Debug_083F8022\n" + " .word gUnknown_Debug_083F8028\n" + " .word gSprites\n" + " .word gPokedexEntries\n" + " .word 0x4000048\n" + " .word 0x3f1f\n" + " .word 0x4000040\n" + " .word 0x4000044\n" + " .word 0x848\n" + " .word 0x31bf\n" + " .word 0x14f\n" + " .word 0x4000052\n" + " .word debug_80C3D2C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C3D2C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " add r7, r6, #0\n" + " ldr r4, ._60\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._58 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._60 + 4\n" + " bl SetMainCallback2\n" + " ldr r1, ._60 + 8\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._60 + 12\n" + " str r1, [r0]\n" + " b ._117\n" + "._61:\n" + " .align 2, 0\n" + "._60:\n" + " .word gMain\n" + " .word debug_80C370C+1\n" + " .word gTasks\n" + " .word debug_80C373C+1\n" + "._58:\n" + " mov r5, #0x1\n" + " add r0, r5, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._62 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._64\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldrh r1, [r0, #0x18]\n" + " mov r2, #0x1\n" + " eor r1, r1, r2\n" + " strh r1, [r0, #0x18]\n" + " b ._117\n" + "._65:\n" + " .align 2, 0\n" + "._64:\n" + " .word gTasks\n" + "._62:\n" + " ldrh r1, [r4, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._66 @cond_branch\n" + " ldr r1, ._70\n" + " lsl r2, r6, #0x2\n" + " add r0, r2, r6\n" + " lsl r0, r0, #0x3\n" + " add r3, r0, r1\n" + " mov r5, #0x18\n" + " ldsh r0, [r3, r5]\n" + " mov r8, r1\n" + " cmp r0, #0\n" + " beq ._67 @cond_branch\n" + " ldrh r1, [r4, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._68 @cond_branch\n" + " ldrh r0, [r3, #0x14]\n" + " add r0, r0, #0x10\n" + " b ._69\n" + "._71:\n" + " .align 2, 0\n" + "._70:\n" + " .word gTasks\n" + "._68:\n" + " ldrh r0, [r3, #0x14]\n" + " add r0, r0, #0x1\n" + "._69:\n" + " strh r0, [r3, #0x14]\n" + " add r0, r2, r7\n" + " lsl r0, r0, #0x3\n" + " mov r2, r8\n" + " add r1, r0, r2\n" + " ldrh r0, [r1, #0x14]\n" + " mov r6, #0x80\n" + " lsl r6, r6, #0x8\n" + " cmp r0, r6\n" + " bhi ._72 @cond_branch\n" + " b ._117\n" + "._72:\n" + " strh r6, [r1, #0x14]\n" + " b ._117\n" + "._67:\n" + " ldrh r1, [r4, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._75 @cond_branch\n" + " ldrh r0, [r3, #0x16]\n" + " add r0, r0, #0x10\n" + " b ._76\n" + "._75:\n" + " ldrh r0, [r3, #0x16]\n" + " add r0, r0, #0x1\n" + "._76:\n" + " strh r0, [r3, #0x16]\n" + " add r0, r2, r7\n" + " lsl r0, r0, #0x3\n" + " mov r4, r8\n" + " add r1, r0, r4\n" + " ldrh r0, [r1, #0x16]\n" + " mov r6, #0x80\n" + " lsl r6, r6, #0x8\n" + " cmp r0, r6\n" + " bhi ._77 @cond_branch\n" + " b ._117\n" + "._77:\n" + " strh r6, [r1, #0x16]\n" + " b ._117\n" + "._66:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._80 @cond_branch\n" + " ldr r1, ._84\n" + " lsl r2, r6, #0x2\n" + " add r0, r2, r6\n" + " lsl r0, r0, #0x3\n" + " add r3, r0, r1\n" + " mov r5, #0x18\n" + " ldsh r0, [r3, r5]\n" + " mov r8, r1\n" + " cmp r0, #0\n" + " beq ._81 @cond_branch\n" + " ldrh r1, [r4, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._82 @cond_branch\n" + " ldrh r0, [r3, #0x14]\n" + " sub r0, r0, #0x10\n" + " b ._83\n" + "._85:\n" + " .align 2, 0\n" + "._84:\n" + " .word gTasks\n" + "._82:\n" + " ldrh r0, [r3, #0x14]\n" + " sub r0, r0, #0x1\n" + "._83:\n" + " strh r0, [r3, #0x14]\n" + " add r0, r2, r7\n" + " lsl r0, r0, #0x3\n" + " mov r2, r8\n" + " add r1, r0, r2\n" + " mov r4, #0x14\n" + " ldsh r0, [r1, r4]\n" + " cmp r0, #0xff\n" + " ble ._86 @cond_branch\n" + " b ._117\n" + "._86:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " strh r0, [r1, #0x14]\n" + " b ._117\n" + "._81:\n" + " ldrh r1, [r4, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._89 @cond_branch\n" + " ldrh r0, [r3, #0x16]\n" + " sub r0, r0, #0x10\n" + " b ._90\n" + "._89:\n" + " ldrh r0, [r3, #0x16]\n" + " sub r0, r0, #0x1\n" + "._90:\n" + " strh r0, [r3, #0x16]\n" + " add r0, r2, r7\n" + " lsl r0, r0, #0x3\n" + " mov r5, r8\n" + " add r1, r0, r5\n" + " mov r2, #0x16\n" + " ldsh r0, [r1, r2]\n" + " cmp r0, #0xff\n" + " ble ._91 @cond_branch\n" + " b ._117\n" + "._91:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " strh r0, [r1, #0x16]\n" + " b ._117\n" + "._80:\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._94 @cond_branch\n" + " ldr r0, ._97\n" + " lsl r1, r6, #0x2\n" + " add r1, r1, r6\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " mov r4, #0x18\n" + " ldsh r0, [r1, r4]\n" + " cmp r0, #0\n" + " beq ._95 @cond_branch\n" + " ldrh r0, [r1, #0x10]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r1, #0x10]\n" + " b ._117\n" + "._98:\n" + " .align 2, 0\n" + "._97:\n" + " .word gTasks\n" + "._95:\n" + " ldrh r0, [r1, #0x12]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r1, #0x12]\n" + " b ._117\n" + "._94:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._100 @cond_branch\n" + " ldr r0, ._103\n" + " lsl r1, r6, #0x2\n" + " add r1, r1, r6\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " mov r5, #0x18\n" + " ldsh r0, [r1, r5]\n" + " cmp r0, #0\n" + " beq ._101 @cond_branch\n" + " ldrh r0, [r1, #0x10]\n" + " add r0, r0, #0x1\n" + " strh r0, [r1, #0x10]\n" + " b ._117\n" + "._104:\n" + " .align 2, 0\n" + "._103:\n" + " .word gTasks\n" + "._101:\n" + " ldrh r0, [r1, #0x12]\n" + " add r0, r0, #0x1\n" + " strh r0, [r1, #0x12]\n" + " b ._117\n" + "._100:\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._106 @cond_branch\n" + " ldr r2, ._109\n" + " lsl r3, r6, #0x2\n" + " add r0, r3, r6\n" + " lsl r0, r0, #0x3\n" + " add r6, r0, r2\n" + " ldrh r4, [r6, #0x8]\n" + " mov r0, #0x8\n" + " ldsh r1, [r6, r0]\n" + " ldr r0, ._109 + 4\n" + " mov r8, r2\n" + " add r2, r3, #0\n" + " cmp r1, r0\n" + " bgt ._107 @cond_branch\n" + " add r0, r4, #1\n" + " strh r0, [r6, #0x8]\n" + " b ._108\n" + "._110:\n" + " .align 2, 0\n" + "._109:\n" + " .word gTasks\n" + " .word 0x181\n" + "._107:\n" + " strh r5, [r6, #0x8]\n" + "._108:\n" + " add r4, r2, r7\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r8\n" + " mov r2, #0xc\n" + " ldsh r1, [r4, r2]\n" + " b ._111\n" + "._106:\n" + " mov r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._112 @cond_branch\n" + " ldr r1, ._115\n" + " lsl r2, r6, #0x2\n" + " add r0, r2, r6\n" + " lsl r0, r0, #0x3\n" + " add r3, r0, r1\n" + " ldrh r6, [r3, #0x8]\n" + " mov r4, #0x8\n" + " ldsh r0, [r3, r4]\n" + " mov r8, r1\n" + " cmp r0, #0x1\n" + " ble ._113 @cond_branch\n" + " sub r0, r6, #1\n" + " b ._114\n" + "._116:\n" + " .align 2, 0\n" + "._115:\n" + " .word gTasks\n" + "._113:\n" + " mov r0, #0xc1\n" + " lsl r0, r0, #0x1\n" + "._114:\n" + " strh r0, [r3, #0x8]\n" + " add r4, r2, r7\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r8\n" + " mov r5, #0xc\n" + " ldsh r1, [r4, r5]\n" + "._111:\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r5, ._118\n" + " add r0, r0, r5\n" + " bl DestroySprite\n" + " mov r0, #0xe\n" + " ldsh r1, [r4, r0]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r5\n" + " bl DestroySprite\n" + " ldr r0, ._118 + 4\n" + " str r0, [r4]\n" + " b ._117\n" + "._119:\n" + " .align 2, 0\n" + "._118:\n" + " .word gSprites\n" + " .word debug_80C3A50+1\n" + "._112:\n" + " ldr r0, ._120\n" + " lsl r5, r7, #0x2\n" + " add r5, r5, r7\n" + " lsl r5, r5, #0x3\n" + " add r5, r5, r0\n" + " ldrh r4, [r5, #0x16]\n" + " ldrh r6, [r5, #0x12]\n" + " str r4, [sp]\n" + " mov r0, #0x1\n" + " add r1, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " bl SetOamMatrix\n" + " add r0, r4, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " add r0, r6, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " ldr r2, ._120 + 4\n" + " mov r8, r2\n" + " mov r4, #0xc\n" + " ldsh r1, [r5, r4]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r8\n" + " strh r6, [r0, #0x26]\n" + " ldrh r4, [r5, #0x14]\n" + " ldrh r6, [r5, #0x10]\n" + " str r4, [sp]\n" + " mov r0, #0x2\n" + " add r1, r4, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " bl SetOamMatrix\n" + " add r0, r4, #0\n" + " mov r1, #0x19\n" + " mov r2, #0x3\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " add r0, r6, #0\n" + " mov r1, #0x19\n" + " mov r2, #0x7\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " mov r0, #0xe\n" + " ldsh r1, [r5, r0]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r8\n" + " strh r6, [r0, #0x26]\n" + " ldr r2, ._120 + 8\n" + " mov r4, #0x18\n" + " ldsh r1, [r5, r4]\n" + " lsl r1, r1, #0x6\n" + " add r0, r1, #0\n" + " add r0, r0, #0x38\n" + " lsl r0, r0, #0x8\n" + " add r1, r1, #0x78\n" + " add r0, r0, r1\n" + " strh r0, [r2]\n" + "._117:\n" + " add sp, sp, #0x4\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._121:\n" + " .align 2, 0\n" + "._120:\n" + " .word gTasks\n" + " .word gSprites\n" + " .word 0x4000040\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C405C() +{ + asm( + " push {r4, r5, lr}\n" + " add r4, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r5, r1, #0x10\n" + " mov r2, #0x0\n" + " mov r1, #0x0\n" + "._122:\n" + " add r0, r4, r2\n" + " strb r1, [r0]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x9\n" + " bls ._122 @cond_branch\n" + " add r0, r4, r2\n" + " mov r1, #0xff\n" + " strb r1, [r0]\n" + " mov r0, #0xae\n" + " strb r0, [r4]\n" + " cmp r5, #0\n" + " beq ._125 @cond_branch\n" + " mov r2, #0x0\n" + " ldr r3, ._127\n" + " mov r0, #0xb\n" + " add r1, r5, #0\n" + " mul r1, r1, r0\n" + " add r0, r1, r3\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._125 @cond_branch\n" + " add r5, r3, #0\n" + " add r3, r1, #0\n" + "._126:\n" + " add r1, r4, r2\n" + " add r0, r2, r3\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " strb r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " add r0, r2, r3\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._125 @cond_branch\n" + " cmp r2, #0x9\n" + " bls ._126 @cond_branch\n" + "._125:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._128:\n" + " .align 2, 0\n" + "._127:\n" + " .word gSpeciesNames\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C40C4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " mov r5, #0x0\n" + " mov r6, sp\n" + "._135:\n" + " cmp r7, #0\n" + " beq ._129 @cond_branch\n" + " mov r0, #0x64\n" + " add r1, r5, #0\n" + " mul r1, r1, r0\n" + " ldr r0, ._132\n" + " add r4, r1, r0\n" + " add r0, r4, #0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " beq ._134 @cond_branch\n" + " add r0, r4, #0\n" + " bl CalculateMonStats\n" + " add r0, r4, #0\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " strh r0, [r6]\n" + " add r0, r4, #0\n" + " mov r1, #0x39\n" + " mov r2, sp\n" + " bl SetMonData\n" + " b ._134\n" + "._133:\n" + " .align 2, 0\n" + "._132:\n" + " .word gEnemyParty\n" + "._129:\n" + " mov r0, #0x64\n" + " add r1, r5, #0\n" + " mul r1, r1, r0\n" + " ldr r0, ._136\n" + " add r4, r1, r0\n" + " add r0, r4, #0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " beq ._134 @cond_branch\n" + " add r0, r4, #0\n" + " bl CalculateMonStats\n" + " add r0, r4, #0\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " strh r0, [r6]\n" + " add r0, r4, #0\n" + " mov r1, #0x39\n" + " mov r2, sp\n" + " bl SetMonData\n" + "._134:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x5\n" + " bls ._135 @cond_branch\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._137:\n" + " .align 2, 0\n" + "._136:\n" + " .word gPlayerParty\n" + "\n" + ); +} + +__attribute__((naked)) +void InitBattleForDebug() +{ + asm( + " push {lr}\n" + " bl SavePlayerParty\n" + " ldr r1, ._138\n" + " ldr r0, ._138 + 4\n" + " ldrb r2, [r0, #0x8]\n" + " mov r0, #0x0\n" + " strb r2, [r1, #0xd]\n" + " strb r0, [r1]\n" + " strb r0, [r1, #0x1]\n" + " strb r0, [r1, #0x2]\n" + " strb r0, [r1, #0x3]\n" + " strb r0, [r1, #0x4]\n" + " strb r0, [r1, #0x5]\n" + " strb r0, [r1, #0x6]\n" + " strb r0, [r1, #0x7]\n" + " strb r0, [r1, #0x8]\n" + " strb r0, [r1, #0xc]\n" + " ldr r1, ._138 + 8\n" + " str r0, [r1]\n" + " bl ZeroPlayerPartyMons\n" + " bl ZeroEnemyPartyMons\n" + " mov r0, #0x0\n" + " bl debug_80C4214\n" + " ldr r0, ._138 + 12\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._139:\n" + " .align 2, 0\n" + "._138:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gSaveBlock2\n" + " .word byte_3005E30\n" + " .word debug_80C47BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C41A8() +{ + asm( + " push {lr}\n" + " ldr r1, ._140\n" + " mov r0, #0x0\n" + " strb r0, [r1, #0x1]\n" + " strb r0, [r1, #0x2]\n" + " bl ZeroPlayerPartyMons\n" + " bl ZeroEnemyPartyMons\n" + " mov r0, #0x0\n" + " bl debug_80C4214\n" + " ldr r0, ._140 + 4\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._141:\n" + " .align 2, 0\n" + "._140:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word debug_80C47BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C41D4() +{ + asm( + " push {lr}\n" + " mov r0, #0x0\n" + " bl debug_80C40C4\n" + " mov r0, #0x0\n" + " bl debug_80C4214\n" + " ldr r0, ._142\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._143:\n" + " .align 2, 0\n" + "._142:\n" + " .word debug_80C42B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C41F4() +{ + asm( + " push {lr}\n" + " mov r0, #0x1\n" + " bl debug_80C40C4\n" + " mov r0, #0x1\n" + " bl debug_80C4214\n" + " ldr r0, ._144\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._145:\n" + " .align 2, 0\n" + "._144:\n" + " .word debug_80C42B8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4214() +{ + asm( + " push {r4, r5, r6, lr}\n" + " bl debug_80C35DC\n" + " ldr r6, ._146\n" + " mov r4, #0x0\n" + " strh r4, [r6]\n" + " ldr r5, ._146 + 4\n" + " strh r4, [r5]\n" + " ldr r0, ._146 + 8\n" + " strh r4, [r0]\n" + " add r0, r0, #0x4\n" + " strh r4, [r0]\n" + " ldr r1, ._146 + 12\n" + " ldr r2, ._146 + 16\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " mov r0, #0x31\n" + " strh r0, [r1]\n" + " add r1, r1, #0x6\n" + " mov r0, #0xe1\n" + " strh r0, [r1]\n" + " ldr r0, ._146 + 20\n" + " strh r4, [r0]\n" + " add r1, r1, #0x4\n" + " mov r0, #0x7\n" + " strh r0, [r1]\n" + " ldr r3, ._146 + 24\n" + " ldrh r2, [r3]\n" + " strh r4, [r3]\n" + " ldr r4, ._146 + 28\n" + " ldrh r0, [r4]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " strh r0, [r4]\n" + " strh r2, [r3]\n" + " ldr r0, ._146 + 32\n" + " bl SetVBlankCallback\n" + " ldr r0, ._146 + 36\n" + " bl SetMainCallback2\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x13\n" + " ldr r2, ._146 + 40\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._146 + 44\n" + " add r0, r1, #0\n" + " strh r0, [r6]\n" + " ldr r2, ._146 + 48\n" + " add r0, r2, #0\n" + " strh r0, [r5]\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._147:\n" + " .align 2, 0\n" + "._146:\n" + " .word 0x4000040\n" + " .word 0x4000044\n" + " .word 0x4000042\n" + " .word 0x4000048\n" + " .word 0x1111\n" + " .word 0x4000052\n" + " .word 0x4000208\n" + " .word 0x4000200\n" + " .word debug_80C3758+1\n" + " .word debug_80C370C+1\n" + " .word 0x7140\n" + " .word 0x1ef\n" + " .word 0x819f\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C42B8() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xffffffe4\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._150\n" + " mov r0, sp\n" + " mov r2, #0xc\n" + " bl memcpy\n" + " add r4, sp, #0xc\n" + " ldr r1, ._150 + 4\n" + " add r0, r4, #0\n" + " mov r2, #0xd\n" + " bl memcpy\n" + " mov r0, #0x0\n" + " mov r1, #0x10\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, sp\n" + " mov r1, #0x1\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0x14\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " bl debug_80C4694\n" + " bl debug_80C4704\n" + " ldr r0, ._150 + 8\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._148 @cond_branch\n" + " ldr r0, ._150 + 12\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._150 + 16\n" + " b ._149\n" + "._151:\n" + " .align 2, 0\n" + "._150:\n" + " .word gUnknown_Debug_083F8194\n" + " .word gUnknown_Debug_083F81A0\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gTasks\n" + " .word debug_80C44EC+1\n" + "._148:\n" + " ldr r0, ._152\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._152 + 4\n" + "._149:\n" + " str r0, [r1]\n" + " add sp, sp, #0x1c\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._153:\n" + " .align 2, 0\n" + "._152:\n" + " .word gTasks\n" + " .word debug_80C4348+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4348() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r0, ._154\n" + " ldrb r0, [r0, #0x1]\n" + " lsl r0, r0, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r0, r0, r1\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " str r1, [sp]\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r1, ._154 + 4\n" + " ldr r2, ._154 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " add r2, r2, #0x8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._154 + 12\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._154 + 16\n" + " str r1, [r0]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._155:\n" + " .align 2, 0\n" + "._154:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word 0x4000042\n" + " .word 0x177\n" + " .word gTasks\n" + " .word debug_80C43A8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C43A8() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r1, ._158\n" + " ldrh r2, [r1, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " add r3, r1, #0\n" + " cmp r0, #0\n" + " beq ._156 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._158 + 4\n" + " ldrb r1, [r0, #0x1]\n" + " mov r0, #0x64\n" + " mul r0, r0, r1\n" + " ldr r1, ._158 + 8\n" + " add r0, r0, r1\n" + " ldr r1, ._158 + 12\n" + " bl debug_sub_80A433C\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + " b ._180\n" + "._159:\n" + " .align 2, 0\n" + "._158:\n" + " .word gMain\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gPlayerParty\n" + " .word debug_80C41D4+1\n" + "._156:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._160 @cond_branch\n" + " ldr r0, ._162\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._162 + 4\n" + " str r0, [r1]\n" + " b ._180\n" + "._163:\n" + " .align 2, 0\n" + "._162:\n" + " .word gTasks\n" + " .word debug_80C4F48+1\n" + "._160:\n" + " mov r0, #0x8\n" + " and r0, r0, r2\n" + " lsl r0, r0, #0x10\n" + " lsr r1, r0, #0x10\n" + " cmp r1, #0\n" + " beq ._164 @cond_branch\n" + " bl debug_80C4774\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._180 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " bl CalculatePlayerPartyCount\n" + " bl CalculateEnemyPartyCount\n" + " ldr r0, ._167\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._167 + 4\n" + " str r0, [r1]\n" + " b ._180\n" + "._168:\n" + " .align 2, 0\n" + "._167:\n" + " .word gTasks\n" + " .word debug_80C4D14+1\n" + "._164:\n" + " mov r0, #0x88\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._169 @cond_branch\n" + " str r1, [sp]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r0, ._171\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._171 + 4\n" + " str r0, [r1]\n" + " b ._180\n" + "._172:\n" + " .align 2, 0\n" + "._171:\n" + " .word gTasks\n" + " .word debug_80C44EC+1\n" + "._169:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._174 @cond_branch\n" + " ldr r1, ._176\n" + " ldrb r0, [r1, #0x1]\n" + " cmp r0, #0\n" + " beq ._174 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1, #0x1]\n" + " b ._175\n" + "._177:\n" + " .align 2, 0\n" + "._176:\n" + " .word unk_debug_ewram_0+0x20\n" + "._174:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._180 @cond_branch\n" + " ldr r5, ._181\n" + " ldrb r0, [r5, #0x1]\n" + " cmp r0, #0x4\n" + " bhi ._180 @cond_branch\n" + " add r1, r0, #0\n" + " mov r0, #0x64\n" + " mul r0, r0, r1\n" + " ldr r1, ._181 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " beq ._180 @cond_branch\n" + " ldrb r0, [r5, #0x1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r5, #0x1]\n" + "._175:\n" + " ldr r1, ._181 + 8\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._181 + 12\n" + " str r1, [r0]\n" + "._180:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._182:\n" + " .align 2, 0\n" + "._181:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gPlayerParty\n" + " .word gTasks\n" + " .word debug_80C4348+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C44EC() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r0, ._183\n" + " ldrb r0, [r0, #0x2]\n" + " lsl r0, r0, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r0, r0, r1\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " str r1, [sp]\n" + " mov r1, #0x10\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r1, ._183 + 4\n" + " ldr r2, ._183 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._183 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._183 + 16\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._183 + 20\n" + " str r1, [r0]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._184:\n" + " .align 2, 0\n" + "._183:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word 0x4000042\n" + " .word 0x79ef\n" + " .word 0x17f\n" + " .word gTasks\n" + " .word debug_80C4550+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4550() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r1, ._187\n" + " ldrh r2, [r1, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " add r3, r1, #0\n" + " cmp r0, #0\n" + " beq ._185 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r0, ._187 + 4\n" + " ldrb r1, [r0, #0x2]\n" + " mov r0, #0x64\n" + " mul r0, r0, r1\n" + " ldr r1, ._187 + 8\n" + " add r0, r0, r1\n" + " ldr r1, ._187 + 12\n" + " bl debug_sub_80A433C\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + " b ._209\n" + "._188:\n" + " .align 2, 0\n" + "._187:\n" + " .word gMain\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gEnemyParty\n" + " .word debug_80C41F4+1\n" + "._185:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._189 @cond_branch\n" + " ldr r0, ._191\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._191 + 4\n" + " str r0, [r1]\n" + " b ._209\n" + "._192:\n" + " .align 2, 0\n" + "._191:\n" + " .word gTasks\n" + " .word debug_80C4F48+1\n" + "._189:\n" + " mov r0, #0x8\n" + " and r0, r0, r2\n" + " lsl r0, r0, #0x10\n" + " lsr r1, r0, #0x10\n" + " cmp r1, #0\n" + " beq ._193 @cond_branch\n" + " bl debug_80C4774\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._209 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " bl CalculatePlayerPartyCount\n" + " bl CalculateEnemyPartyCount\n" + " ldr r0, ._196\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._196 + 4\n" + " str r0, [r1]\n" + " b ._209\n" + "._197:\n" + " .align 2, 0\n" + "._196:\n" + " .word gTasks\n" + " .word debug_80C4D14+1\n" + "._193:\n" + " mov r0, #0x88\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._198 @cond_branch\n" + " str r1, [sp]\n" + " mov r0, #0x0\n" + " mov r1, #0x10\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r0, ._200\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._200 + 4\n" + " str r0, [r1]\n" + " b ._209\n" + "._201:\n" + " .align 2, 0\n" + "._200:\n" + " .word gTasks\n" + " .word debug_80C4348+1\n" + "._198:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._203 @cond_branch\n" + " ldr r1, ._205\n" + " ldrb r0, [r1, #0x2]\n" + " cmp r0, #0\n" + " beq ._203 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1, #0x2]\n" + " b ._204\n" + "._206:\n" + " .align 2, 0\n" + "._205:\n" + " .word unk_debug_ewram_0+0x20\n" + "._203:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._209 @cond_branch\n" + " ldr r5, ._210\n" + " ldrb r0, [r5, #0x2]\n" + " cmp r0, #0x4\n" + " bhi ._209 @cond_branch\n" + " add r1, r0, #0\n" + " mov r0, #0x64\n" + " mul r0, r0, r1\n" + " ldr r1, ._210 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " beq ._209 @cond_branch\n" + " ldrb r0, [r5, #0x2]\n" + " add r0, r0, #0x1\n" + " strb r0, [r5, #0x2]\n" + "._204:\n" + " ldr r1, ._210 + 8\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._210 + 12\n" + " str r1, [r0]\n" + "._209:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._211:\n" + " .align 2, 0\n" + "._210:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gEnemyParty\n" + " .word gTasks\n" + " .word debug_80C44EC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4694() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xffffffe4\n" + " ldr r1, ._213\n" + " mov r0, sp\n" + " mov r2, #0xd\n" + " bl memcpy\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xe\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " mov r0, sp\n" + " mov r1, #0x2\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r4, #0x0\n" + " add r5, sp, #0x10\n" + "._212:\n" + " mov r0, #0x64\n" + " mul r0, r0, r4\n" + " ldr r1, ._213 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r5, #0\n" + " bl debug_80C405C\n" + " lsl r2, r4, #0x19\n" + " mov r0, #0xc0\n" + " lsl r0, r0, #0x12\n" + " add r2, r2, r0\n" + " lsr r2, r2, #0x18\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " bl MenuPrint\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x5\n" + " bls ._212 @cond_branch\n" + " add sp, sp, #0x1c\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._214:\n" + " .align 2, 0\n" + "._213:\n" + " .word gUnknown_Debug_083F81AD\n" + " .word gPlayerParty\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4704() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xffffffe4\n" + " ldr r1, ._216\n" + " mov r0, sp\n" + " mov r2, #0xd\n" + " bl memcpy\n" + " mov r0, #0xf\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " mov r0, sp\n" + " mov r1, #0x11\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r4, #0x0\n" + " add r5, sp, #0x10\n" + "._215:\n" + " mov r0, #0x64\n" + " mul r0, r0, r4\n" + " ldr r1, ._216 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r5, #0\n" + " bl debug_80C405C\n" + " lsl r2, r4, #0x19\n" + " mov r0, #0xc0\n" + " lsl r0, r0, #0x12\n" + " add r2, r2, r0\n" + " lsr r2, r2, #0x18\n" + " add r0, r5, #0\n" + " mov r1, #0x11\n" + " bl MenuPrint\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x5\n" + " bls ._215 @cond_branch\n" + " add sp, sp, #0x1c\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._217:\n" + " .align 2, 0\n" + "._216:\n" + " .word gUnknown_Debug_083F81BA\n" + " .word gEnemyParty\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4774() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._221\n" + " ldrb r0, [r0, #0xc]\n" + " sub r0, r0, #0x1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x64\n" + " add r4, r0, #0\n" + " mul r4, r4, r1\n" + " ldr r0, ._221 + 4\n" + " add r0, r4, r0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " beq ._219 @cond_branch\n" + " ldr r0, ._221 + 8\n" + " add r0, r4, r0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " beq ._219 @cond_branch\n" + " mov r0, #0x1\n" + " b ._220\n" + "._222:\n" + " .align 2, 0\n" + "._221:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gPlayerParty\n" + " .word gEnemyParty\n" + "._219:\n" + " mov r0, #0x0\n" + "._220:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C47BC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xffffffc0\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " ldr r1, ._224\n" + " mov r0, sp\n" + " mov r2, #0xf\n" + " bl memcpy\n" + " add r4, sp, #0x10\n" + " ldr r1, ._224 + 4\n" + " add r0, r4, #0\n" + " mov r2, #0xd\n" + " bl memcpy\n" + " add r6, sp, #0x20\n" + " ldr r1, ._224 + 8\n" + " add r0, r6, #0\n" + " mov r2, #0xf\n" + " bl memcpy\n" + " add r5, sp, #0x30\n" + " ldr r1, ._224 + 12\n" + " add r0, r5, #0\n" + " mov r2, #0x10\n" + " bl memcpy\n" + " mov r0, #0x0\n" + " mov r1, #0x10\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, sp\n" + " mov r1, #0x1\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0x14\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xe\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " add r0, r6, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r4, #0x0\n" + " ldr r6, ._224 + 16\n" + "._223:\n" + " lsl r0, r4, #0x3\n" + " add r0, r0, r6\n" + " ldr r0, [r0]\n" + " lsl r2, r4, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r2, r2, r1\n" + " lsr r2, r2, #0x18\n" + " mov r1, #0x2\n" + " bl MenuPrint\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x4\n" + " bls ._223 @cond_branch\n" + " mov r0, #0xf\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " add r0, r5, #0\n" + " mov r1, #0x11\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._224 + 20\n" + " ldrb r0, [r0, #0x4]\n" + " bl debug_80C4C44\n" + " ldr r1, ._224 + 24\n" + " lsl r0, r7, #0x2\n" + " add r0, r0, r7\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._224 + 28\n" + " str r1, [r0]\n" + " add sp, sp, #0x40\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._225:\n" + " .align 2, 0\n" + "._224:\n" + " .word gUnknown_Debug_083F81C7\n" + " .word gUnknown_Debug_083F81A0\n" + " .word gUnknown_Debug_083F81D6\n" + " .word gUnknown_Debug_083F81E5\n" + " .word gUnknown_Debug_083F8068\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gTasks\n" + " .word debug_80C48A0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C48A0() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r0, ._226\n" + " ldrb r0, [r0, #0x3]\n" + " lsl r0, r0, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r0, r0, r1\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " str r1, [sp]\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r1, ._226 + 4\n" + " ldr r2, ._226 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " add r2, r2, #0x8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._226 + 12\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._226 + 16\n" + " str r1, [r0]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._227:\n" + " .align 2, 0\n" + "._226:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word 0x4000042\n" + " .word 0x177\n" + " .word gTasks\n" + " .word debug_80C4900+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4900() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._230\n" + " ldrh r2, [r1, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " add r3, r1, #0\n" + " cmp r4, #0\n" + " beq ._228 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._230 + 4\n" + " bl SetMainCallback2\n" + " bl LoadPlayerParty\n" + " ldr r1, ._230 + 8\n" + " ldr r0, ._230 + 12\n" + " ldrb r0, [r0, #0xd]\n" + " strb r0, [r1, #0x8]\n" + " ldr r0, ._230 + 16\n" + " mov r1, #0x0\n" + " strh r4, [r0]\n" + " ldr r0, ._230 + 20\n" + " strb r1, [r0]\n" + " ldr r1, ._230 + 24\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._230 + 28\n" + " b ._229\n" + "._231:\n" + " .align 2, 0\n" + "._230:\n" + " .word gMain\n" + " .word debug_80C370C+1\n" + " .word gSaveBlock2\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gBattleTypeFlags\n" + " .word gUnknown_02023A14_50\n" + " .word gTasks\n" + " .word debug_80C373C+1\n" + "._228:\n" + " mov r0, #0x8\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._232 @cond_branch\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._233 @cond_branch\n" + "._232:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._236\n" + " ldr r3, ._236 + 4\n" + " ldr r2, ._236 + 8\n" + " ldrb r0, [r2, #0x3]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r3\n" + " ldrb r0, [r0, #0x4]\n" + " strh r0, [r1]\n" + " ldr r1, ._236 + 12\n" + " mov r0, #0x8\n" + " strb r0, [r1]\n" + " ldrb r0, [r2, #0x3]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r3\n" + " ldrb r0, [r0, #0x5]\n" + " strb r0, [r2, #0xc]\n" + " ldrb r0, [r2, #0x3]\n" + " sub r0, r0, #0x1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bhi ._234 @cond_branch\n" + " str r4, [sp]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r0, ._236 + 16\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._236 + 20\n" + " str r0, [r1]\n" + " b ._247\n" + "._237:\n" + " .align 2, 0\n" + "._236:\n" + " .word gBattleTypeFlags\n" + " .word gUnknown_Debug_083F8068\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_02023A14_50\n" + " .word gTasks\n" + " .word debug_80C4A60+1\n" + "._234:\n" + " ldr r0, ._239\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._239 + 4\n" + " str r0, [r1]\n" + " b ._247\n" + "._240:\n" + " .align 2, 0\n" + "._239:\n" + " .word gTasks\n" + " .word debug_80C4F48+1\n" + "._233:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._242 @cond_branch\n" + " ldr r1, ._244\n" + " ldrb r0, [r1, #0x3]\n" + " cmp r0, #0\n" + " beq ._242 @cond_branch\n" + " sub r0, r0, #0x1\n" + " b ._243\n" + "._245:\n" + " .align 2, 0\n" + "._244:\n" + " .word unk_debug_ewram_0+0x20\n" + "._242:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._247 @cond_branch\n" + " ldr r1, ._248\n" + " ldrb r0, [r1, #0x3]\n" + " cmp r0, #0x1\n" + " bhi ._247 @cond_branch\n" + " add r0, r0, #0x1\n" + "._243:\n" + " strb r0, [r1, #0x3]\n" + " ldr r1, ._248 + 4\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._248 + 8\n" + "._229:\n" + " str r1, [r0]\n" + "._247:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._249:\n" + " .align 2, 0\n" + "._248:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gTasks\n" + " .word debug_80C48A0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4A60() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r0, ._250\n" + " ldrb r0, [r0, #0x5]\n" + " lsl r0, r0, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r0, r0, r1\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " str r1, [sp]\n" + " mov r1, #0x10\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r1, ._250 + 4\n" + " ldr r2, ._250 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._250 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._250 + 16\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._250 + 20\n" + " str r1, [r0]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._251:\n" + " .align 2, 0\n" + "._250:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word 0x4000042\n" + " .word 0x79ef\n" + " .word 0x17f\n" + " .word gTasks\n" + " .word debug_80C4AC4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4AC4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " ldr r7, ._255\n" + " ldrb r0, [r7, #0x4]\n" + " mov ip, r0\n" + " ldrb r5, [r7, #0x5]\n" + " mov r1, ip\n" + " add r0, r1, r5\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " ldr r2, ._255 + 4\n" + " mov r8, r2\n" + " ldrh r2, [r2, #0x2e]\n" + " mov r3, #0x1\n" + " and r3, r3, r2\n" + " add r4, r7, #0\n" + " cmp r3, #0\n" + " beq ._252 @cond_branch\n" + " ldr r0, ._255 + 8\n" + " lsl r1, r1, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r1, [r1]\n" + " ldr r3, ._255 + 12\n" + " ldr r2, [r3]\n" + " add r0, r2, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._253 @cond_branch\n" + " ldr r0, ._255 + 16\n" + " eor r1, r1, r0\n" + " and r2, r2, r1\n" + " b ._254\n" + "._256:\n" + " .align 2, 0\n" + "._255:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gMain\n" + " .word gUnknown_Debug_083F80D8\n" + " .word byte_3005E30\n" + " .word 0xffff\n" + "._253:\n" + " orr r2, r2, r1\n" + "._254:\n" + " str r2, [r3]\n" + " ldrb r0, [r4, #0x4]\n" + " bl debug_80C4C44\n" + " ldr r1, ._258\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._258 + 4\n" + " str r1, [r0]\n" + " b ._274\n" + "._259:\n" + " .align 2, 0\n" + "._258:\n" + " .word gTasks\n" + " .word debug_80C4A60+1\n" + "._252:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " cmp r4, #0\n" + " beq ._260 @cond_branch\n" + " str r3, [sp]\n" + " mov r0, #0x0\n" + " mov r1, #0x10\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r0, ._262\n" + " lsl r1, r6, #0x2\n" + " add r1, r1, r6\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._262 + 4\n" + " b ._261\n" + "._263:\n" + " .align 2, 0\n" + "._262:\n" + " .word gTasks\n" + " .word debug_80C48A0+1\n" + "._260:\n" + " mov r0, #0x8\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._264 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._266\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x3\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._266 + 4\n" + " ldrb r2, [r1, #0x1]\n" + " mov r0, #0x11\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " strb r0, [r1, #0x1]\n" + " mov r0, #0xac\n" + " strb r0, [r1, #0x2]\n" + " mov r0, #0xff\n" + " strb r0, [r1, #0x3]\n" + " strb r4, [r1, #0x9]\n" + " strb r4, [r1, #0xa]\n" + " strb r4, [r1, #0xb]\n" + " strb r4, [r1, #0xc]\n" + " ldr r1, ._266 + 8\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._266 + 12\n" + " str r1, [r0]\n" + " b ._274\n" + "._267:\n" + " .align 2, 0\n" + "._266:\n" + " .word gTrainerBattleOpponent\n" + " .word +0x2017000\n" + " .word gTasks\n" + " .word debug_80C4F48+1\n" + "._264:\n" + " mov r0, r8\n" + " ldrh r1, [r0, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._268 @cond_branch\n" + " lsl r0, r5, #0x18\n" + " cmp r0, #0\n" + " beq ._269 @cond_branch\n" + " sub r0, r5, #1\n" + " strb r0, [r7, #0x5]\n" + " b ._277\n" + "._269:\n" + " mov r1, ip\n" + " lsl r0, r1, #0x18\n" + " cmp r0, #0\n" + " beq ._277 @cond_branch\n" + " mov r0, ip\n" + " sub r0, r0, #0x1\n" + " b ._272\n" + "._268:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._274 @cond_branch\n" + " lsl r0, r5, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x8\n" + " bhi ._274 @cond_branch\n" + " cmp r0, #0x4\n" + " bhi ._275 @cond_branch\n" + " add r0, r5, #1\n" + " strb r0, [r7, #0x5]\n" + " b ._277\n" + "._275:\n" + " mov r2, ip\n" + " lsl r0, r2, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x3\n" + " bhi ._277 @cond_branch\n" + " mov r0, ip\n" + " add r0, r0, #0x1\n" + "._272:\n" + " strb r0, [r7, #0x4]\n" + " ldrb r0, [r7, #0x4]\n" + " bl debug_80C4C44\n" + "._277:\n" + " ldr r0, ._278\n" + " lsl r1, r6, #0x2\n" + " add r1, r1, r6\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._278 + 4\n" + "._261:\n" + " str r0, [r1]\n" + "._274:\n" + " add sp, sp, #0x4\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._279:\n" + " .align 2, 0\n" + "._278:\n" + " .word gTasks\n" + " .word debug_80C4A60+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4C44() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffff0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov sl, r0\n" + " mov r2, #0x0\n" + " mov r5, sp\n" + "._290:\n" + " mov r0, sl\n" + " add r6, r2, r0\n" + " add r4, r6, #0\n" + " add r1, r2, #1\n" + " mov r8, r1\n" + " cmp r4, #0x9\n" + " bgt ._280 @cond_branch\n" + " mov r3, #0x0\n" + " ldr r1, ._288\n" + " lsl r0, r4, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " ldrb r0, [r0]\n" + " ldr r7, ._288 + 4\n" + " mov r9, r7\n" + " lsl r2, r2, #0x1\n" + " mov ip, r2\n" + " cmp r0, #0xff\n" + " beq ._282 @cond_branch\n" + " add r7, r1, #0\n" + "._283:\n" + " add r0, r3, #3\n" + " mov r1, sp\n" + " add r2, r1, r0\n" + " lsl r1, r6, #0x3\n" + " add r1, r1, r7\n" + " ldr r0, [r1]\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " strb r0, [r2]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " ldr r0, [r1]\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._282 @cond_branch\n" + " cmp r3, #0xb\n" + " bls ._283 @cond_branch\n" + "._282:\n" + " cmp r3, #0xb\n" + " bhi ._284 @cond_branch\n" + " mov r1, #0x0\n" + "._285:\n" + " add r0, r3, #3\n" + " add r0, r0, sp\n" + " strb r1, [r0]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " cmp r3, #0xb\n" + " bls ._285 @cond_branch\n" + "._284:\n" + " mov r0, #0xff\n" + " strb r0, [r5, #0xe]\n" + " mov r0, #0xfc\n" + " strb r0, [r5]\n" + " mov r2, #0x1\n" + " strb r2, [r5, #0x1]\n" + " add r1, r2, #0\n" + " LSL r1, r4\n" + " mov r3, r9\n" + " ldr r0, [r3]\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._286 @cond_branch\n" + " mov r0, #0x3\n" + " strb r0, [r5, #0x2]\n" + " b ._287\n" + "._289:\n" + " .align 2, 0\n" + "._288:\n" + " .word gUnknown_Debug_083F80D8\n" + " .word byte_3005E30\n" + "._286:\n" + " strb r2, [r5, #0x2]\n" + "._287:\n" + " mov r2, ip\n" + " add r2, r2, #0x3\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r0, sp\n" + " mov r1, #0x11\n" + " bl MenuPrint\n" + "._280:\n" + " mov r7, r8\n" + " lsl r0, r7, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x5\n" + " bls ._290 @cond_branch\n" + " add sp, sp, #0x10\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4D14() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xffffffd0\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r1, ._291\n" + " mov r0, sp\n" + " mov r2, #0xf\n" + " bl memcpy\n" + " add r5, sp, #0x10\n" + " ldr r1, ._291 + 4\n" + " add r0, r5, #0\n" + " mov r2, #0xd\n" + " bl memcpy\n" + " add r6, sp, #0x20\n" + " ldr r1, ._291 + 8\n" + " add r0, r6, #0\n" + " mov r2, #0xf\n" + " bl memcpy\n" + " mov r0, #0x0\n" + " mov r1, #0x10\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, sp\n" + " mov r1, #0x1\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " add r0, r5, #0\n" + " mov r1, #0x14\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xe\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " add r0, r6, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._291 + 12\n" + " ldrb r0, [r0, #0x6]\n" + " bl debug_80C4F00\n" + " mov r0, #0xf\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r1, ._291 + 16\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._291 + 20\n" + " str r1, [r0]\n" + " add sp, sp, #0x30\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._292:\n" + " .align 2, 0\n" + "._291:\n" + " .word gUnknown_Debug_083F81C7\n" + " .word gUnknown_Debug_083F81F5\n" + " .word gUnknown_Debug_083F8202\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gTasks\n" + " .word debug_80C4DB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4DB8() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r0, ._293\n" + " ldrb r0, [r0, #0x7]\n" + " lsl r0, r0, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r0, r0, r1\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " str r1, [sp]\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r1, ._293 + 4\n" + " ldr r2, ._293 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " add r2, r2, #0x8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._293 + 12\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._293 + 16\n" + " str r1, [r0]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._294:\n" + " .align 2, 0\n" + "._293:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word 0x4000042\n" + " .word 0x177\n" + " .word gTasks\n" + " .word debug_80C4E18+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4E18() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r5, ._297\n" + " ldrb r3, [r5, #0x6]\n" + " ldrb r2, [r5, #0x7]\n" + " add r0, r3, r2\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " ldr r7, ._297 + 4\n" + " ldrh r1, [r7, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._295 @cond_branch\n" + " ldr r0, ._297 + 8\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._297 + 12\n" + " b ._296\n" + "._298:\n" + " .align 2, 0\n" + "._297:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gMain\n" + " .word gTasks\n" + " .word debug_80C42B8+1\n" + "._295:\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._299 @cond_branch\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._300 @cond_branch\n" + "._299:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r2, ._302\n" + " ldr r1, ._302 + 4\n" + " lsl r0, r6, #0x3\n" + " add r0, r0, r1\n" + " ldrb r0, [r0, #0x4]\n" + " strb r0, [r2]\n" + " ldr r1, ._302 + 8\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._302 + 12\n" + " str r1, [r0]\n" + " b ._310\n" + "._303:\n" + " .align 2, 0\n" + "._302:\n" + " .word gBattleTerrain\n" + " .word gUnknown_Debug_083F814C\n" + " .word gTasks\n" + " .word debug_80C5158+1\n" + "._300:\n" + " ldrh r1, [r7, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._304 @cond_branch\n" + " lsl r0, r2, #0x18\n" + " cmp r0, #0\n" + " beq ._305 @cond_branch\n" + " sub r0, r2, #1\n" + " strb r0, [r5, #0x7]\n" + " b ._313\n" + "._305:\n" + " lsl r0, r3, #0x18\n" + " cmp r0, #0\n" + " beq ._313 @cond_branch\n" + " sub r0, r3, #1\n" + " b ._308\n" + "._304:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._310 @cond_branch\n" + " lsl r0, r2, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x7\n" + " bhi ._310 @cond_branch\n" + " cmp r0, #0x4\n" + " bhi ._311 @cond_branch\n" + " add r0, r2, #1\n" + " strb r0, [r5, #0x7]\n" + " b ._313\n" + "._311:\n" + " lsl r0, r3, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x2\n" + " bhi ._313 @cond_branch\n" + " add r0, r3, #1\n" + "._308:\n" + " strb r0, [r5, #0x6]\n" + " ldrb r0, [r5, #0x6]\n" + " bl debug_80C4F00\n" + "._313:\n" + " ldr r0, ._314\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._314 + 4\n" + "._296:\n" + " str r0, [r1]\n" + "._310:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._315:\n" + " .align 2, 0\n" + "._314:\n" + " .word gTasks\n" + " .word debug_80C4DB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4F00() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " mov r0, #0x1\n" + " mov r1, #0x3\n" + " mov r2, #0xd\n" + " mov r3, #0xe\n" + " bl MenuFillWindowRectWithBlankTile\n" + " mov r4, #0x0\n" + " ldr r6, ._318\n" + "._317:\n" + " cmp r4, #0x8\n" + " bhi ._316 @cond_branch\n" + " add r0, r4, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r6\n" + " ldr r0, [r0]\n" + " lsl r2, r4, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r2, r2, r1\n" + " lsr r2, r2, #0x18\n" + " mov r1, #0x2\n" + " bl MenuPrint\n" + "._316:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x5\n" + " bls ._317 @cond_branch\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._319:\n" + " .align 2, 0\n" + "._318:\n" + " .word gUnknown_Debug_083F814C\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C4F48() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6}\n" + " add sp, sp, #0xffffffc4\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r1, ._320\n" + " mov r0, sp\n" + " mov r2, #0x11\n" + " bl memcpy\n" + " add r6, sp, #0x14\n" + " ldr r1, ._320 + 4\n" + " add r0, r6, #0\n" + " mov r2, #0xd\n" + " bl memcpy\n" + " add r5, sp, #0x24\n" + " ldr r1, ._320 + 8\n" + " add r0, r5, #0\n" + " mov r2, #0xd\n" + " bl memcpy\n" + " add r0, sp, #0x34\n" + " mov r9, r0\n" + " ldr r1, ._320 + 12\n" + " mov r2, #0x4\n" + " bl memcpy\n" + " add r0, sp, #0x38\n" + " mov r8, r0\n" + " ldr r1, ._320 + 16\n" + " mov r2, #0x4\n" + " bl memcpy\n" + " mov r0, #0x0\n" + " mov r1, #0x10\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, sp\n" + " mov r1, #0x1\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " add r0, r6, #0\n" + " mov r1, #0x14\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xe\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r0, #0x1\n" + " mov r1, #0x3\n" + " mov r2, #0xd\n" + " mov r3, #0xe\n" + " bl MenuFillWindowRectWithBlankTile\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r0, r9\n" + " mov r1, #0x2\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " mov r0, r8\n" + " mov r1, #0x2\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0xf\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r1, ._320 + 20\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._320 + 24\n" + " str r1, [r0]\n" + " add sp, sp, #0x3c\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._321:\n" + " .align 2, 0\n" + "._320:\n" + " .word gUnknown_Debug_083F8211\n" + " .word gUnknown_Debug_083F81A0\n" + " .word gUnknown_Debug_083F8222\n" + " .word gUnknown_Debug_083F822F\n" + " .word gUnknown_Debug_083F8233\n" + " .word gTasks\n" + " .word debug_80C5038+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5038() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r0, ._322\n" + " ldrb r0, [r0, #0x8]\n" + " lsl r0, r0, #0x19\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x12\n" + " add r0, r0, r1\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " str r1, [sp]\n" + " mov r2, #0x1\n" + " mov r3, #0xe\n" + " bl debug_80C38E4\n" + " ldr r1, ._322 + 4\n" + " ldr r2, ._322 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " add r2, r2, #0x8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._322 + 12\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._322 + 16\n" + " str r1, [r0]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._323:\n" + " .align 2, 0\n" + "._322:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word 0x4000042\n" + " .word 0x177\n" + " .word gTasks\n" + " .word debug_80C5098+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5098() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r1, ._326\n" + " ldrh r2, [r1, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " add r3, r1, #0\n" + " cmp r0, #0\n" + " beq ._324 @cond_branch\n" + " ldr r0, ._326 + 4\n" + " lsl r1, r4, #0x2\n" + " add r1, r1, r4\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._326 + 8\n" + " str r0, [r1]\n" + " b ._339\n" + "._327:\n" + " .align 2, 0\n" + "._326:\n" + " .word gMain\n" + " .word gTasks\n" + " .word debug_80C47BC+1\n" + "._324:\n" + " mov r0, #0x8\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._328 @cond_branch\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._329 @cond_branch\n" + "._328:\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._331\n" + " ldr r0, ._331 + 4\n" + " ldrb r0, [r0, #0x8]\n" + " strb r0, [r1, #0x8]\n" + " ldr r1, ._331 + 8\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._331 + 12\n" + " b ._330\n" + "._332:\n" + " .align 2, 0\n" + "._331:\n" + " .word gSaveBlock2\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gTasks\n" + " .word debug_80C42B8+1\n" + "._329:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._334 @cond_branch\n" + " ldr r1, ._336\n" + " ldrb r0, [r1, #0x8]\n" + " cmp r0, #0\n" + " beq ._334 @cond_branch\n" + " sub r0, r0, #0x1\n" + " b ._335\n" + "._337:\n" + " .align 2, 0\n" + "._336:\n" + " .word unk_debug_ewram_0+0x20\n" + "._334:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._339 @cond_branch\n" + " ldr r1, ._340\n" + " ldrb r0, [r1, #0x8]\n" + " cmp r0, #0\n" + " bne ._339 @cond_branch\n" + " add r0, r0, #0x1\n" + "._335:\n" + " strb r0, [r1, #0x8]\n" + " ldr r1, ._340 + 4\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._340 + 8\n" + "._330:\n" + " str r1, [r0]\n" + "._339:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._341:\n" + " .align 2, 0\n" + "._340:\n" + " .word unk_debug_ewram_0+0x20\n" + " .word gTasks\n" + " .word debug_80C5038+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5158() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._342\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r0, ._342 + 4\n" + " str r0, [r1]\n" + " bx lr\n" + "._343:\n" + " .align 2, 0\n" + "._342:\n" + " .word gTasks\n" + " .word debug_80C5174+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5174() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._344\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r0, ._344 + 4\n" + " str r0, [r1]\n" + " bx lr\n" + "._345:\n" + " .align 2, 0\n" + "._344:\n" + " .word gTasks\n" + " .word debug_80C5190+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5190() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._346\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r0, ._346 + 4\n" + " str r0, [r1]\n" + " bx lr\n" + "._347:\n" + " .align 2, 0\n" + "._346:\n" + " .word gTasks\n" + " .word debug_80C51AC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C51AC() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._348\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r0, ._348 + 4\n" + " str r0, [r1]\n" + " bx lr\n" + "._349:\n" + " .align 2, 0\n" + "._348:\n" + " .word gTasks\n" + " .word debug_80C51C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C51C8() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._350\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r0, ._350 + 4\n" + " str r0, [r1]\n" + " bx lr\n" + "._351:\n" + " .align 2, 0\n" + "._350:\n" + " .word gTasks\n" + " .word debug_80C51E4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C51E4() +{ + asm( + " push {lr}\n" + " bl sub_80408BC\n" + " ldr r0, ._352\n" + " ldr r1, ._352 + 4\n" + " str r1, [r0, #0x8]\n" + " ldr r0, ._352 + 8\n" + " bl SetMainCallback2\n" + " pop {r0}\n" + " bx r0\n" + "._353:\n" + " .align 2, 0\n" + "._352:\n" + " .word gMain\n" + " .word debug_80C41A8+1\n" + " .word unref_sub_800D684+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5208() +{ + asm( + " push {r4, r5, r6, lr}\n" + " ldr r1, ._355\n" + " ldr r0, ._355 + 4\n" + " str r0, [r1]\n" + " mov r3, #0x0\n" + " add r6, r1, #0\n" + " ldr r4, ._355 + 8\n" + " add r5, r6, #0\n" + " mov r2, #0x0\n" + "._354:\n" + " ldr r0, [r5]\n" + " lsl r1, r3, #0x2\n" + " add r0, r0, #0x64\n" + " add r0, r0, r1\n" + " str r2, [r0]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r3, r0, #0x10\n" + " cmp r3, #0x3f\n" + " bls ._354 @cond_branch\n" + " ldr r2, [r6]\n" + " mov r0, #0xfc\n" + " str r0, [r2, #0x64]\n" + " ldrb r1, [r4, #0xa]\n" + " ldrb r0, [r4, #0xb]\n" + " lsl r0, r0, #0x8\n" + " orr r1, r1, r0\n" + " ldrb r0, [r4, #0xc]\n" + " lsl r0, r0, #0x10\n" + " orr r1, r1, r0\n" + " ldrb r0, [r4, #0xd]\n" + " lsl r0, r0, #0x18\n" + " orr r1, r1, r0\n" + " str r1, [r2, #0x70]\n" + " bl Random\n" + " add r4, r0, #0\n" + " bl Random\n" + " ldr r1, [r6]\n" + " lsl r4, r4, #0x10\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " orr r4, r4, r0\n" + " str r4, [r1, #0x74]\n" + " mov r0, #0x1\n" + " str r0, [r1, #0x68]\n" + " str r0, [r1, #0x6c]\n" + " bl debug_80C5C94\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._356:\n" + " .align 2, 0\n" + "._355:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word +0x2018000\n" + " .word gSaveBlock2\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C527C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add r6, r0, #0\n" + " mov r5, #0x0\n" + " ldr r7, ._359\n" + "._361:\n" + " mov r0, #0x64\n" + " add r1, r5, #0\n" + " mul r1, r1, r0\n" + " ldr r0, ._359 + 4\n" + " add r4, r1, r0\n" + " add r0, r4, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " cmp r0, #0\n" + " bne ._357 @cond_branch\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " mov r2, #0x64\n" + " bl memcpy\n" + " add r0, r5, #1\n" + " strb r0, [r7]\n" + " mov r0, #0x0\n" + " b ._358\n" + "._360:\n" + " .align 2, 0\n" + "._359:\n" + " .word gPlayerPartyCount\n" + " .word gPlayerParty\n" + "._357:\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x5\n" + " bls ._361 @cond_branch\n" + " ldr r0, ._362\n" + " ldr r0, [r0]\n" + " bl SendMonToPC\n" + " mov r0, #0x1\n" + "._358:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._363:\n" + " .align 2, 0\n" + "._362:\n" + " .word unk_debug_ewram_0+0x30\n" + "\n" + ); +} + +__attribute__((naked)) +void InitCreatePokemon() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xffffffd4\n" + " ldr r1, ._364\n" + " add r0, sp, #0x4\n" + " mov r2, #0x25\n" + " bl memcpy\n" + " bl debug_80C35DC\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r4, #0x0\n" + " str r4, [sp]\n" + " mov r1, #0x0\n" + " mov r2, #0x10\n" + " mov r3, #0x0\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._364 + 4\n" + " mov r5, #0x0\n" + " strh r4, [r0]\n" + " add r0, r0, #0x2\n" + " strh r4, [r0]\n" + " add r0, r0, #0x2\n" + " strh r4, [r0]\n" + " ldr r3, ._364 + 8\n" + " ldrh r2, [r3]\n" + " strh r4, [r3]\n" + " ldr r4, ._364 + 12\n" + " ldrh r0, [r4]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " strh r0, [r4]\n" + " strh r2, [r3]\n" + " ldr r2, ._364 + 16\n" + " ldrh r0, [r2]\n" + " mov r1, #0x8\n" + " orr r0, r0, r1\n" + " strh r0, [r2]\n" + " ldr r0, ._364 + 20\n" + " bl SetVBlankCallback\n" + " ldr r0, ._364 + 24\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x3\n" + " bl MenuDrawTextWindow\n" + " add r0, sp, #0x4\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " mov r1, #0x80\n" + " lsl r1, r1, #0x13\n" + " mov r2, #0x8a\n" + " lsl r2, r2, #0x5\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, ._364 + 28\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " bl debug_80C5208\n" + " ldr r1, ._364 + 32\n" + " ldr r0, [r1]\n" + " mov r2, #0xb4\n" + " lsl r2, r2, #0x1\n" + " add r0, r0, r2\n" + " strb r5, [r0]\n" + " ldr r0, [r1]\n" + " ldr r1, ._364 + 36\n" + " add r0, r0, r1\n" + " strb r5, [r0]\n" + " add sp, sp, #0x2c\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._365:\n" + " .align 2, 0\n" + "._364:\n" + " .word gUnknown_Debug_083F8733\n" + " .word 0x4000050\n" + " .word 0x4000208\n" + " .word 0x4000200\n" + " .word 0x4000004\n" + " .word debug_80C3758+1\n" + " .word debug_80C370C+1\n" + " .word debug_80C53A4+1\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C53A4() +{ + asm( + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._366\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r0, ._366 + 4\n" + " str r0, [r1]\n" + " bx lr\n" + "._367:\n" + " .align 2, 0\n" + "._366:\n" + " .word gTasks\n" + " .word debug_80C53C0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C53C0() +{ + asm( + " push {r4, lr}\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl debug_80C6384\n" + " mov r0, #0x0\n" + " bl debug_80C627C\n" + " ldr r1, ._368\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._368 + 4\n" + " str r1, [r0]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._369:\n" + " .align 2, 0\n" + "._368:\n" + " .word gTasks\n" + " .word debug_80C53F0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C53F0() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r0, ._372\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r2, #0x1\n" + " and r2, r2, r1\n" + " add r4, r0, #0\n" + " cmp r2, #0\n" + " beq ._370 @cond_branch\n" + " ldr r0, ._372 + 4\n" + " ldr r3, [r0]\n" + " mov r0, #0xb2\n" + " lsl r0, r0, #0x1\n" + " add r2, r3, r0\n" + " ldr r1, ._372 + 8\n" + " mov r4, #0xb4\n" + " lsl r4, r4, #0x1\n" + " add r0, r3, r4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r6, ._372 + 12\n" + " add r1, r3, r6\n" + " ldrb r1, [r1]\n" + " ldr r0, [r0]\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " lsl r1, r1, #0x2\n" + " add r0, r3, #0\n" + " add r0, r0, #0x64\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " str r0, [r2]\n" + " mov r0, #0xb5\n" + " lsl r0, r0, #0x1\n" + " add r1, r3, r0\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " bl debug_80C643C\n" + " ldr r1, ._372 + 16\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._372 + 20\n" + " b ._375\n" + "._373:\n" + " .align 2, 0\n" + "._372:\n" + " .word gMain\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_083F8698\n" + " .word 0x169\n" + " .word gTasks\n" + " .word debug_80C55E4+1\n" + "._370:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._374 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " str r2, [sp]\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._376\n" + " bl SetMainCallback2\n" + " ldr r1, ._376 + 4\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._376 + 8\n" + " b ._375\n" + "._377:\n" + " .align 2, 0\n" + "._376:\n" + " .word debug_80C370C+1\n" + " .word gTasks\n" + " .word debug_80C373C+1\n" + "._374:\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._378 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " bl debug_80C5FFC\n" + " ldr r0, ._381\n" + " ldr r0, [r0]\n" + " bl debug_80C527C\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " mov r0, #0x3\n" + " mov r1, #0x8\n" + " mov r2, #0x1a\n" + " mov r3, #0xb\n" + " bl MenuDrawTextWindow\n" + " cmp r4, #0\n" + " beq ._379 @cond_branch\n" + " ldr r0, ._381 + 4\n" + " mov r1, #0x4\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " b ._380\n" + "._382:\n" + " .align 2, 0\n" + "._381:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_083F872A\n" + "._379:\n" + " ldr r0, ._384\n" + " mov r1, #0x4\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + "._380:\n" + " ldr r0, ._384 + 4\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._384 + 8\n" + " str r0, [r1]\n" + " b ._400\n" + "._385:\n" + " .align 2, 0\n" + "._384:\n" + " .word gUnknown_Debug_083F8720\n" + " .word gTasks\n" + " .word debug_80C5708+1\n" + "._378:\n" + " mov r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._386 @cond_branch\n" + " ldr r0, ._388\n" + " ldr r0, [r0]\n" + " ldr r4, [r0, #0x64]\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " bl GetNationalPokedexFlag\n" + " add r0, r4, #0\n" + " mov r1, #0x3\n" + " bl GetNationalPokedexFlag\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " b ._400\n" + "._389:\n" + " .align 2, 0\n" + "._388:\n" + " .word unk_debug_ewram_0+0x30\n" + "._386:\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._390 @cond_branch\n" + " mov r0, #0x2\n" + " bl debug_80C627C\n" + " b ._400\n" + "._390:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r3, r0, #0x10\n" + " cmp r3, #0\n" + " beq ._392 @cond_branch\n" + " mov r0, #0x1\n" + " bl debug_80C627C\n" + " b ._400\n" + "._392:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._395 @cond_branch\n" + " ldr r2, ._397\n" + " ldr r0, [r2]\n" + " mov r6, #0xb4\n" + " lsl r6, r6, #0x1\n" + " add r1, r0, r6\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._395 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r0, [r2]\n" + " ldr r1, ._397 + 4\n" + " add r0, r0, r1\n" + " strb r3, [r0]\n" + " b ._396\n" + "._398:\n" + " .align 2, 0\n" + "._397:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + "._395:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._400 @cond_branch\n" + " ldr r3, ._401\n" + " ldr r0, [r3]\n" + " mov r4, #0xb4\n" + " lsl r4, r4, #0x1\n" + " add r2, r0, r4\n" + " ldrb r0, [r2]\n" + " cmp r0, #0x4\n" + " bhi ._400 @cond_branch\n" + " add r0, r0, #0x1\n" + " mov r1, #0x0\n" + " strb r0, [r2]\n" + " ldr r0, [r3]\n" + " ldr r6, ._401 + 4\n" + " add r0, r0, r6\n" + " strb r1, [r0]\n" + "._396:\n" + " ldr r1, ._401 + 8\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._401 + 12\n" + "._375:\n" + " str r1, [r0]\n" + "._400:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._402:\n" + " .align 2, 0\n" + "._401:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + " .word gTasks\n" + " .word debug_80C53C0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C55E4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " add r6, r3, #0\n" + " ldr r1, ._405\n" + " ldr r2, ._405 + 4\n" + " ldr r0, [r2]\n" + " mov ip, r0\n" + " mov r0, #0xb4\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, ip\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._405 + 8\n" + " add r1, r1, ip\n" + " ldrb r1, [r1]\n" + " ldr r0, [r0]\n" + " add r0, r0, r1\n" + " ldrb r5, [r0]\n" + " add r7, r5, #0\n" + " ldr r1, ._405 + 12\n" + " ldrh r4, [r1, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r4\n" + " mov r8, r2\n" + " add r2, r1, #0\n" + " cmp r0, #0\n" + " beq ._403 @cond_branch\n" + " ldr r0, ._405 + 16\n" + " lsl r1, r3, #0x2\n" + " add r1, r1, r3\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._405 + 20\n" + " str r0, [r1]\n" + " b ._422\n" + "._406:\n" + " .align 2, 0\n" + "._405:\n" + " .word gUnknown_Debug_083F8698\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + " .word gMain\n" + " .word gTasks\n" + " .word debug_80C53C0+1\n" + "._403:\n" + " mov r0, #0x2\n" + " and r0, r0, r4\n" + " cmp r0, #0\n" + " beq ._407 @cond_branch\n" + " lsl r1, r5, #0x2\n" + " mov r0, ip\n" + " add r0, r0, #0x64\n" + " add r0, r0, r1\n" + " mov r1, #0xb2\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, ip\n" + " ldr r1, [r1]\n" + " str r1, [r0]\n" + " ldr r1, ._409\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._409 + 4\n" + " str r1, [r0]\n" + " b ._422\n" + "._410:\n" + " .align 2, 0\n" + "._409:\n" + " .word gTasks\n" + " .word debug_80C53C0+1\n" + "._407:\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._411 @cond_branch\n" + " mov r0, #0x1\n" + " b ._412\n" + "._411:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._413 @cond_branch\n" + " mov r0, #0x2\n" + "._412:\n" + " bl debug_80C6544\n" + " bl debug_80C643C\n" + " b ._422\n" + "._413:\n" + " ldr r0, ._419\n" + " lsl r1, r7, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r1, [r1]\n" + " ldrb r0, [r1, #0x9]\n" + " cmp r0, #0xff\n" + " beq ._422 @cond_branch\n" + " mov r0, #0x20\n" + " and r0, r0, r4\n" + " cmp r0, #0\n" + " beq ._417 @cond_branch\n" + " mov r0, #0xb5\n" + " lsl r0, r0, #0x1\n" + " add ip, ip, r0\n" + " mov r0, ip\n" + " ldrb r3, [r0]\n" + " ldrb r0, [r1, #0x9]\n" + " sub r0, r0, #0x1\n" + " cmp r3, r0\n" + " bge ._417 @cond_branch\n" + " add r0, r3, #1\n" + " mov r1, ip\n" + " strb r0, [r1]\n" + " bl debug_80C643C\n" + " b ._422\n" + "._420:\n" + " .align 2, 0\n" + "._419:\n" + " .word gUnknown_Debug_083F8554\n" + "._417:\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._422 @cond_branch\n" + " mov r2, r8\n" + " ldr r0, [r2]\n" + " mov r2, #0xb5\n" + " lsl r2, r2, #0x1\n" + " add r1, r0, r2\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._422 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " bl debug_80C643C\n" + "._422:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5708() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " ldr r0, ._424\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._423 @cond_branch\n" + " ldr r0, ._424 + 4\n" + " lsl r1, r2, #0x2\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._424 + 8\n" + " str r0, [r1]\n" + "._423:\n" + " pop {r0}\n" + " bx r0\n" + "._425:\n" + " .align 2, 0\n" + "._424:\n" + " .word gMain\n" + " .word gTasks\n" + " .word debug_80C53C0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5738() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add r6, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r4, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r8, r2\n" + " cmp r4, #0xfe\n" + " bne ._426 @cond_branch\n" + " ldr r1, ._428\n" + " mov r2, #0x7\n" + " bl debug_80C689C\n" + " add r0, r6, #7\n" + " ldr r7, ._428 + 4\n" + " ldr r1, [r7]\n" + " add r1, r1, #0xf0\n" + " ldr r1, [r1]\n" + " mov r2, #0x3\n" + " mov r3, #0x1\n" + " bl debug_80C6678\n" + " mov r4, #0x0\n" + " strb r4, [r6, #0x13]\n" + " strb r4, [r6, #0x14]\n" + " add r0, r6, #0\n" + " add r0, r0, #0x15\n" + " ldr r1, ._428 + 8\n" + " mov r2, #0x7\n" + " bl debug_80C689C\n" + " add r0, r6, #0\n" + " add r0, r0, #0x1c\n" + " ldr r1, [r7]\n" + " add r1, r1, #0xf4\n" + " ldr r1, [r1]\n" + " mov r2, #0x3\n" + " mov r3, #0x1\n" + " bl debug_80C6678\n" + " add r0, r6, #0\n" + " add r0, r0, #0x28\n" + " strb r4, [r0]\n" + " add r0, r0, #0x1\n" + " strb r4, [r0]\n" + " add r0, r0, #0x1\n" + " ldr r1, ._428 + 12\n" + " mov r2, #0x9\n" + " bl debug_80C689C\n" + " add r0, r6, #0\n" + " add r0, r0, #0x31\n" + " ldr r1, [r7]\n" + " add r1, r1, #0xf8\n" + "._431:\n" + " ldr r1, [r1]\n" + " mov r2, #0x3\n" + " mov r3, #0x1\n" + " bl debug_80C6678\n" + " b ._517\n" + "._429:\n" + " .align 2, 0\n" + "._428:\n" + " .word gUnknown_Debug_083F850A\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_083F8514\n" + " .word gUnknown_Debug_083F851C\n" + "._426:\n" + " cmp r4, #0xfd\n" + " bne ._430 @cond_branch\n" + " ldr r1, ._432\n" + " add r0, r6, #0\n" + " mov r2, #0x9\n" + " bl debug_80C689C\n" + " add r0, r6, #0\n" + " add r0, r0, #0x9\n" + " ldr r7, ._432 + 4\n" + " ldr r1, [r7]\n" + " add r1, r1, #0xfc\n" + " ldr r1, [r1]\n" + " mov r2, #0x3\n" + " mov r3, #0x1\n" + " bl debug_80C6678\n" + " mov r4, #0x0\n" + " strb r4, [r6, #0x15]\n" + " strb r4, [r6, #0x16]\n" + " add r0, r6, #0\n" + " add r0, r0, #0x17\n" + " ldr r1, ._432 + 8\n" + " mov r2, #0x9\n" + " bl debug_80C689C\n" + " add r0, r6, #0\n" + " add r0, r0, #0x20\n" + " ldr r1, [r7]\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r1, r1, r2\n" + " ldr r1, [r1]\n" + " mov r2, #0x3\n" + " mov r3, #0x1\n" + " bl debug_80C6678\n" + " add r0, r6, #0\n" + " add r0, r0, #0x2c\n" + " strb r4, [r0]\n" + " add r0, r0, #0x1\n" + " strb r4, [r0]\n" + " add r0, r0, #0x1\n" + " ldr r1, ._432 + 12\n" + " mov r2, #0x9\n" + " bl debug_80C689C\n" + " add r0, r6, #0\n" + " add r0, r0, #0x37\n" + " ldr r1, [r7]\n" + " mov r3, #0x82\n" + " lsl r3, r3, #0x1\n" + " add r1, r1, r3\n" + " b ._431\n" + "._433:\n" + " .align 2, 0\n" + "._432:\n" + " .word gUnknown_Debug_083F8524\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_083F852D\n" + " .word gUnknown_Debug_083F8537\n" + "._430:\n" + " mov r1, #0x0\n" + " lsl r5, r4, #0x3\n" + " mov r2, #0x0\n" + "._434:\n" + " add r0, r6, r1\n" + " strb r2, [r0]\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r1, r0, #0x10\n" + " cmp r1, #0xb\n" + " bls ._434 @cond_branch\n" + " ldr r0, ._437\n" + " add r0, r5, r0\n" + " ldr r1, [r0]\n" + " add r0, r6, #0\n" + " mov r2, #0xb\n" + " bl debug_80C689C\n" + " mov r1, #0xc\n" + " mov r2, #0xff\n" + "._435:\n" + " add r0, r6, r1\n" + " strb r2, [r0]\n" + " add r0, r1, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r1, r0, #0x10\n" + " cmp r1, #0xff\n" + " bls ._435 @cond_branch\n" + " ldr r0, ._437\n" + " add r0, r0, #0x4\n" + " add r0, r5, r0\n" + " ldr r0, [r0]\n" + " ldrb r2, [r0, #0x9]\n" + " lsl r0, r2, #0x1a\n" + " lsr r5, r0, #0x18\n" + " cmp r4, #0x22\n" + " bhi ._436 @cond_branch\n" + " lsl r0, r4, #0x2\n" + " ldr r1, ._437 + 4\n" + " add r1, r0, r1\n" + " ldr r1, [r1]\n" + " add r7, r0, #0\n" + " mov pc, r1\n" + "._438:\n" + " .align 2, 0\n" + "._437:\n" + " .word gUnknown_Debug_083F8554\n" + " .word ._439\n" + "._439:\n" + " .word ._440\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._445\n" + " .word ._446\n" + " .word ._450\n" + " .word ._450\n" + " .word ._450\n" + " .word ._450\n" + " .word ._451\n" + " .word ._452\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._472\n" + " .word ._473\n" + " .word ._474\n" + "._436:\n" + " mov r0, #0xff\n" + " strb r0, [r6]\n" + " b ._517\n" + "._440:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r1, ._477\n" + " mov r9, r1\n" + " ldr r1, [r1]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldr r1, [r1]\n" + " mov r3, r8\n" + " bl debug_80C6678\n" + " add r1, r5, r6\n" + " mov r0, #0x0\n" + " strb r0, [r1, #0xa]\n" + " mov r0, #0xfc\n" + " strb r0, [r1, #0xb]\n" + " mov r0, #0x1\n" + " strb r0, [r1, #0xc]\n" + " mov r2, r8\n" + " strb r2, [r1, #0xd]\n" + " add r4, r5, #0\n" + " add r4, r4, #0xe\n" + " add r4, r6, r4\n" + " mov r3, r9\n" + " ldr r0, [r3]\n" + " add r0, r0, #0x64\n" + " add r0, r0, r7\n" + " ldrh r0, [r0]\n" + " bl NationalPokedexNumToSpecies\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r1, #0xb\n" + " mul r1, r1, r0\n" + " ldr r0, ._477 + 4\n" + " add r1, r1, r0\n" + " add r0, r4, #0\n" + " mov r2, #0xa\n" + " bl debug_80C689C\n" + " b ._517\n" + "._478:\n" + " .align 2, 0\n" + "._477:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gSpeciesNames\n" + "._445:\n" + " ldr r0, ._483\n" + " ldr r0, [r0]\n" + " add r0, r0, #0x64\n" + " add r0, r0, r7\n" + " ldr r0, [r0]\n" + " cmp r0, #0x1\n" + " beq ._479 @cond_branch\n" + " cmp r0, #0x1\n" + " bcc ._480 @cond_branch\n" + " cmp r0, #0x2\n" + " beq ._481 @cond_branch\n" + " b ._517\n" + "._484:\n" + " .align 2, 0\n" + "._483:\n" + " .word unk_debug_ewram_0+0x30\n" + "._480:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r1, ._486\n" + " b ._488\n" + "._487:\n" + " .align 2, 0\n" + "._486:\n" + " .word gUnknown_Debug_083F8546\n" + "._479:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r1, ._489\n" + " b ._488\n" + "._490:\n" + " .align 2, 0\n" + "._489:\n" + " .word gUnknown_Debug_083F8541\n" + "._481:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r1, ._492\n" + "._488:\n" + " mov r2, #0x2\n" + " bl debug_80C689C\n" + " b ._517\n" + "._493:\n" + " .align 2, 0\n" + "._492:\n" + " .word gUnknown_Debug_083F8544\n" + "._450:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r4, ._495\n" + " ldr r1, [r4]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldr r1, [r1]\n" + " mov r3, r8\n" + " bl debug_80C6678\n" + " add r1, r5, r6\n" + " mov r0, #0x0\n" + " strb r0, [r1, #0xa]\n" + " mov r0, #0xfc\n" + " strb r0, [r1, #0xb]\n" + " mov r0, #0x1\n" + " strb r0, [r1, #0xc]\n" + " mov r0, r8\n" + " strb r0, [r1, #0xd]\n" + " add r0, r5, #0\n" + " add r0, r0, #0xe\n" + " add r0, r6, r0\n" + " ldr r1, [r4]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldr r2, [r1]\n" + " mov r1, #0xd\n" + " mul r1, r1, r2\n" + " ldr r2, ._495 + 4\n" + " add r1, r1, r2\n" + " b ._494\n" + "._496:\n" + " .align 2, 0\n" + "._495:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gMoveNames\n" + "._451:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r4, ._499\n" + " ldr r1, [r4]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldr r1, [r1]\n" + " mov r3, r8\n" + " bl debug_80C6678\n" + " add r1, r5, r6\n" + " mov r0, #0x0\n" + " strb r0, [r1, #0xa]\n" + " mov r0, #0xfc\n" + " strb r0, [r1, #0xb]\n" + " mov r0, #0x1\n" + " strb r0, [r1, #0xc]\n" + " mov r2, r8\n" + " strb r2, [r1, #0xd]\n" + " ldr r0, [r4]\n" + " add r0, r0, #0x64\n" + " add r0, r0, r7\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._497 @cond_branch\n" + " add r4, r5, #0\n" + " add r4, r4, #0xe\n" + " add r4, r6, r4\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl ItemId_GetItem\n" + " add r1, r0, #0\n" + " add r0, r4, #0\n" + " b ._498\n" + "._500:\n" + " .align 2, 0\n" + "._499:\n" + " .word unk_debug_ewram_0+0x30\n" + "._497:\n" + " add r0, r5, #0\n" + " add r0, r0, #0xe\n" + " add r0, r6, r0\n" + " ldr r1, ._502\n" + "._498:\n" + " mov r2, #0x9\n" + " bl debug_80C689C\n" + " b ._517\n" + "._503:\n" + " .align 2, 0\n" + "._502:\n" + " .word gUnknown_Debug_083F8541\n" + "._452:\n" + " add r6, r6, #0xc\n" + " ldr r4, ._505\n" + " ldr r0, [r4]\n" + " ldr r0, [r0, #0x64]\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl NationalPokedexNumToSpecies\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " ldr r1, [r4]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldrb r1, [r1]\n" + " bl GetAbilityBySpecies\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0xd\n" + " mul r1, r1, r0\n" + " ldr r0, ._505 + 4\n" + " add r1, r1, r0\n" + " add r0, r6, #0\n" + "._494:\n" + " mov r2, #0xc\n" + " bl debug_80C689C\n" + " b ._517\n" + "._506:\n" + " .align 2, 0\n" + "._505:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gAbilityNames\n" + "._474:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r2, ._508\n" + " ldr r1, ._508 + 4\n" + " ldr r1, [r1]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldr r1, [r1]\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r1, [r1]\n" + " b ._514\n" + "._509:\n" + " .align 2, 0\n" + "._508:\n" + " .word gUnknown_Debug_083F86E8\n" + " .word unk_debug_ewram_0+0x30\n" + "._472:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xc\n" + " ldr r1, ._511\n" + " ldr r1, [r1]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldr r1, [r1]\n" + " mov r3, r8\n" + " bl debug_80C6678\n" + " b ._517\n" + "._512:\n" + " .align 2, 0\n" + "._511:\n" + " .word unk_debug_ewram_0+0x30\n" + "._473:\n" + " ldr r0, ._515\n" + " ldr r0, [r0]\n" + " add r0, r0, #0x64\n" + " add r0, r0, r7\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._513 @cond_branch\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r1, ._515 + 4\n" + " b ._514\n" + "._516:\n" + " .align 2, 0\n" + "._515:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_083F854A\n" + "._513:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r1, ._518\n" + "._514:\n" + " mov r2, #0x4\n" + " bl debug_80C689C\n" + " b ._517\n" + "._519:\n" + " .align 2, 0\n" + "._518:\n" + " .word gUnknown_Debug_083F854D\n" + "._446:\n" + " add r0, r6, #0\n" + " add r0, r0, #0xa\n" + " ldr r2, ._520\n" + " ldr r1, ._520 + 4\n" + " ldr r1, [r1]\n" + " add r1, r1, #0x64\n" + " add r1, r1, r7\n" + " ldr r1, [r1]\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r2\n" + " ldr r1, [r1]\n" + " mov r2, #0x5\n" + " bl debug_80C689C\n" + "._517:\n" + " mov r0, #0x0\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._521:\n" + " .align 2, 0\n" + "._520:\n" + " .word gNatureNames\n" + " .word unk_debug_ewram_0+0x30\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5B60() +{ + asm( + " lsl r0, r0, #0x18\n" + " ldr r1, ._522\n" + " ldr r1, [r1]\n" + " lsr r0, r0, #0x16\n" + " add r1, r1, #0x64\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " bx lr\n" + "._523:\n" + " .align 2, 0\n" + "._522:\n" + " .word unk_debug_ewram_0+0x30\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5B74() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r2, r1, #0x18\n" + " cmp r2, #0x18\n" + " bhi ._540 @cond_branch\n" + " lsl r0, r2, #0x2\n" + " ldr r1, ._526\n" + " add r1, r0, r1\n" + " ldr r1, [r1]\n" + " add r3, r0, #0\n" + " mov pc, r1\n" + "._527:\n" + " .align 2, 0\n" + "._526:\n" + " .word ._525\n" + "._525:\n" + " .word ._532\n" + " .word ._529\n" + " .word ._530\n" + " .word ._532\n" + " .word ._532\n" + " .word ._540\n" + " .word ._540\n" + " .word ._540\n" + " .word ._540\n" + " .word ._540\n" + " .word ._540\n" + " .word ._540\n" + " .word ._540\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + " .word ._552\n" + "._540:\n" + " ldr r0, ._554\n" + " ldr r0, [r0]\n" + " lsl r1, r2, #0x2\n" + " add r0, r0, #0x64\n" + " add r0, r0, r1\n" + " str r6, [r0]\n" + " b ._562\n" + "._555:\n" + " .align 2, 0\n" + "._554:\n" + " .word unk_debug_ewram_0+0x30\n" + "._532:\n" + " ldr r0, ._557\n" + " ldr r0, [r0]\n" + " add r0, r0, #0x64\n" + " add r0, r0, r3\n" + " str r6, [r0]\n" + " bl debug_80C5C94\n" + " b ._562\n" + "._558:\n" + " .align 2, 0\n" + "._557:\n" + " .word unk_debug_ewram_0+0x30\n" + "._529:\n" + " ldr r4, ._560\n" + " ldr r1, [r4]\n" + " add r0, r1, #0\n" + " add r0, r0, #0x64\n" + " add r0, r0, r3\n" + " str r6, [r0]\n" + " ldr r0, [r1, #0x64]\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl NationalPokedexNumToSpecies\n" + " ldr r5, [r4]\n" + " ldr r4, ._560 + 4\n" + " lsl r2, r6, #0x2\n" + " ldr r3, ._560 + 8\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " lsl r1, r0, #0x3\n" + " sub r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r3\n" + " ldrb r1, [r1, #0x13]\n" + " mov r0, #0xca\n" + " lsl r0, r0, #0x1\n" + " mul r0, r0, r1\n" + " add r2, r2, r0\n" + " add r2, r2, r4\n" + " ldr r0, [r2]\n" + " str r0, [r5, #0x6c]\n" + " bl debug_80C5C94\n" + " b ._562\n" + "._561:\n" + " .align 2, 0\n" + "._560:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gExperienceTables\n" + " .word gBaseStats\n" + "._530:\n" + " ldr r0, ._563\n" + " ldr r0, [r0]\n" + " add r0, r0, #0x64\n" + " add r0, r0, r3\n" + " str r6, [r0]\n" + " bl debug_80C5DEC\n" + " b ._562\n" + "._564:\n" + " .align 2, 0\n" + "._563:\n" + " .word unk_debug_ewram_0+0x30\n" + "._552:\n" + " ldr r0, ._565\n" + " ldr r0, [r0]\n" + " add r0, r0, #0x64\n" + " add r0, r0, r3\n" + " str r6, [r0]\n" + " bl debug_80C5EF4\n" + "._562:\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._566:\n" + " .align 2, 0\n" + "._565:\n" + " .word unk_debug_ewram_0+0x30\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5C94() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffff0\n" + " ldr r6, ._567\n" + " ldr r2, [r6]\n" + " add r0, r2, #0\n" + " add r0, r0, #0x98\n" + " ldr r4, [r0]\n" + " mov r1, #0x1f\n" + " and r4, r4, r1\n" + " add r0, r0, #0x8\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xa8\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0xa\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xb0\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0xf\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xb8\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x14\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xc0\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x19\n" + " orr r4, r4, r0\n" + " ldr r0, [r2, #0x64]\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl NationalPokedexNumToSpecies\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " ldr r0, [r6]\n" + " ldr r2, [r0, #0x68]\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " mov r5, #0x1\n" + " str r5, [sp]\n" + " ldr r3, [r0, #0x74]\n" + " str r3, [sp, #0x4]\n" + " str r5, [sp, #0x8]\n" + " ldr r3, [r0, #0x70]\n" + " str r3, [sp, #0xc]\n" + " add r3, r4, #0\n" + " bl CreateMon\n" + " ldr r0, [r6]\n" + " bl GetMonGender\n" + " ldr r1, [r6]\n" + " add r0, r0, #0x2\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " str r0, [r1, #0x78]\n" + " add r0, r1, #0\n" + " bl GetNature\n" + " ldr r1, [r6]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " str r0, [r1, #0x7c]\n" + " add r0, r1, #0\n" + " mov r1, #0xd\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x80\n" + " str r2, [r1]\n" + " mov r1, #0xe\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x84\n" + " str r2, [r1]\n" + " mov r1, #0xf\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x88\n" + " str r2, [r1]\n" + " mov r1, #0x10\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x8c\n" + " str r2, [r1]\n" + " mov r1, #0x19\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " ldr r0, [r6]\n" + " str r1, [r0, #0x6c]\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf0\n" + " str r2, [r1]\n" + " mov r1, #0x3b\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf4\n" + " str r2, [r1]\n" + " mov r1, #0x3c\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf8\n" + " str r2, [r1]\n" + " mov r1, #0x3d\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfc\n" + " str r2, [r1]\n" + " mov r1, #0x3e\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r6]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r1, r0, r3\n" + " str r2, [r1]\n" + " mov r1, #0x3f\n" + " bl GetMonData\n" + " ldr r1, [r6]\n" + " mov r2, #0x82\n" + " lsl r2, r2, #0x1\n" + " add r1, r1, r2\n" + " str r0, [r1]\n" + " add sp, sp, #0x10\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._568:\n" + " .align 2, 0\n" + "._567:\n" + " .word unk_debug_ewram_0+0x30\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5DEC() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " ldr r4, ._569\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x6c\n" + " mov r1, #0x19\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " mov r1, #0xd\n" + " mov r2, sp\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " mov r1, #0xe\n" + " mov r2, sp\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " mov r1, #0xf\n" + " mov r2, sp\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " mov r1, #0x10\n" + " mov r2, sp\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " bl CalculateMonStats\n" + " ldr r0, [r4]\n" + " bl GiveMonInitialMoveset\n" + " ldr r0, [r4]\n" + " mov r1, #0x38\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " ldr r0, [r4]\n" + " str r1, [r0, #0x68]\n" + " mov r1, #0xd\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x80\n" + " str r2, [r1]\n" + " mov r1, #0xe\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x84\n" + " str r2, [r1]\n" + " mov r1, #0xf\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x88\n" + " str r2, [r1]\n" + " mov r1, #0x10\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0x8c\n" + " str r2, [r1]\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf0\n" + " str r2, [r1]\n" + " mov r1, #0x3b\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf4\n" + " str r2, [r1]\n" + " mov r1, #0x3c\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf8\n" + " str r2, [r1]\n" + " mov r1, #0x3d\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfc\n" + " str r2, [r1]\n" + " mov r1, #0x3e\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r1, r0, r3\n" + " str r2, [r1]\n" + " mov r1, #0x3f\n" + " bl GetMonData\n" + " ldr r1, [r4]\n" + " mov r2, #0x82\n" + " lsl r2, r2, #0x1\n" + " add r1, r1, r2\n" + " str r0, [r1]\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._570:\n" + " .align 2, 0\n" + "._569:\n" + " .word unk_debug_ewram_0+0x30\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5EF4() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._571\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x98\n" + " mov r1, #0x27\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x9c\n" + " mov r1, #0x1a\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xa0\n" + " mov r1, #0x28\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xa4\n" + " mov r1, #0x1b\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xa8\n" + " mov r1, #0x29\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xac\n" + " mov r1, #0x1c\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xb0\n" + " mov r1, #0x2a\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xb4\n" + " mov r1, #0x1d\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xb8\n" + " mov r1, #0x2b\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xbc\n" + " mov r1, #0x1e\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xc0\n" + " mov r1, #0x2c\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xc4\n" + " mov r1, #0x1f\n" + " bl SetMonData\n" + " ldr r0, [r4]\n" + " bl CalculateMonStats\n" + " ldr r0, [r4]\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf0\n" + " str r2, [r1]\n" + " mov r1, #0x3b\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf4\n" + " str r2, [r1]\n" + " mov r1, #0x3c\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xf8\n" + " str r2, [r1]\n" + " mov r1, #0x3d\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfc\n" + " str r2, [r1]\n" + " mov r1, #0x3e\n" + " bl GetMonData\n" + " add r2, r0, #0\n" + " ldr r0, [r4]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r1, r0, r3\n" + " str r2, [r1]\n" + " mov r1, #0x3f\n" + " bl GetMonData\n" + " ldr r1, [r4]\n" + " mov r2, #0x82\n" + " lsl r2, r2, #0x1\n" + " add r1, r1, r2\n" + " str r0, [r1]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._572:\n" + " .align 2, 0\n" + "._571:\n" + " .word unk_debug_ewram_0+0x30\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C5FFC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xffffffe0\n" + " ldr r1, ._578\n" + " add r0, sp, #0x10\n" + " mov r2, #0x4\n" + " bl memcpy\n" + " add r7, sp, #0x14\n" + " ldr r1, ._578 + 4\n" + " add r0, r7, #0\n" + " mov r2, #0x8\n" + " bl memcpy\n" + " ldr r5, ._578 + 8\n" + " ldr r2, [r5]\n" + " add r0, r2, #0\n" + " add r0, r0, #0x98\n" + " ldr r4, [r0]\n" + " mov r1, #0x1f\n" + " and r4, r4, r1\n" + " add r0, r0, #0x8\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xa8\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0xa\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xb0\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0xf\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xb8\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x14\n" + " orr r4, r4, r0\n" + " add r0, r2, #0\n" + " add r0, r0, #0xc0\n" + " ldr r0, [r0]\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x19\n" + " orr r4, r4, r0\n" + " ldr r0, [r2, #0x64]\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl NationalPokedexNumToSpecies\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " ldr r0, [r5]\n" + " ldr r2, [r0, #0x68]\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " mov r6, #0x1\n" + " str r6, [sp]\n" + " ldr r3, [r0, #0x74]\n" + " str r3, [sp, #0x4]\n" + " str r6, [sp, #0x8]\n" + " ldr r3, [r0, #0x70]\n" + " str r3, [sp, #0xc]\n" + " add r3, r4, #0\n" + " bl CreateMon\n" + " ldr r2, [r5]\n" + " add r0, r2, #0\n" + " add r0, r0, #0x80\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._573 @cond_branch\n" + " lsl r1, r0, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r2, #0\n" + " mov r2, #0x0\n" + " bl SetMonMoveSlot\n" + "._573:\n" + " ldr r2, [r5]\n" + " add r0, r2, #0\n" + " add r0, r0, #0x84\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._574 @cond_branch\n" + " lsl r1, r0, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r2, #0\n" + " mov r2, #0x1\n" + " bl SetMonMoveSlot\n" + "._574:\n" + " ldr r2, [r5]\n" + " add r0, r2, #0\n" + " add r0, r0, #0x88\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._575 @cond_branch\n" + " lsl r1, r0, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r2, #0\n" + " mov r2, #0x2\n" + " bl SetMonMoveSlot\n" + "._575:\n" + " ldr r2, [r5]\n" + " add r0, r2, #0\n" + " add r0, r0, #0x8c\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._576 @cond_branch\n" + " lsl r1, r0, #0x10\n" + " lsr r1, r1, #0x10\n" + " add r0, r2, #0\n" + " mov r2, #0x3\n" + " bl SetMonMoveSlot\n" + "._576:\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x6c\n" + " mov r1, #0x19\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x98\n" + " mov r1, #0x27\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x9c\n" + " mov r1, #0x1a\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xa0\n" + " mov r1, #0x28\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xa4\n" + " mov r1, #0x1b\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xa8\n" + " mov r1, #0x29\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xac\n" + " mov r1, #0x1c\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xb0\n" + " mov r1, #0x2a\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xb4\n" + " mov r1, #0x1d\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xb8\n" + " mov r1, #0x2b\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xbc\n" + " mov r1, #0x1e\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xc0\n" + " mov r1, #0x2c\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xc4\n" + " mov r1, #0x1f\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xc8\n" + " mov r1, #0x16\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xcc\n" + " mov r1, #0x17\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xd0\n" + " mov r1, #0x18\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xd4\n" + " mov r1, #0x21\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xd8\n" + " mov r1, #0x2f\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xdc\n" + " mov r1, #0x30\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xe0\n" + " mov r1, #0x20\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xe4\n" + " mov r1, #0x22\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x90\n" + " mov r1, #0xc\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0x94\n" + " mov r1, #0x2e\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r1, r0, #0\n" + " add r1, r1, #0xec\n" + " ldr r2, [r1]\n" + " lsl r2, r2, #0x3\n" + " ldr r1, ._578 + 12\n" + " add r2, r2, r1\n" + " mov r1, #0x37\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " add r2, r0, #0\n" + " add r2, r2, #0xe8\n" + " mov r1, #0x2d\n" + " bl SetMonData\n" + " ldr r1, [r5]\n" + " add r0, r1, #0\n" + " add r0, r0, #0xe8\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._577 @cond_branch\n" + " add r0, r1, #0\n" + " mov r1, #0x2\n" + " add r2, sp, #0x10\n" + " bl SetMonData\n" + " add r2, sp, #0x1c\n" + " strb r6, [r2]\n" + " ldr r0, [r5]\n" + " mov r1, #0x3\n" + " bl SetMonData\n" + "._577:\n" + " ldr r0, [r5]\n" + " mov r1, #0x7\n" + " add r2, r7, #0\n" + " bl SetMonData\n" + " mov r2, sp\n" + " add r2, r2, #0x1e\n" + " mov r0, #0xff\n" + " strh r0, [r2]\n" + " ldr r0, [r5]\n" + " mov r1, #0x23\n" + " bl SetMonData\n" + " ldr r0, [r5]\n" + " bl CalculateMonStats\n" + " add sp, sp, #0x20\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._579:\n" + " .align 2, 0\n" + "._578:\n" + " .word gUnknown_Debug_083F8758\n" + " .word gUnknown_Debug_083F875C\n" + " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_083F86E8+0x4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C627C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffff8\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " add r6, r4, #0\n" + " ldr r1, ._584\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " bl memcpy\n" + " add r5, sp, #0x4\n" + " ldr r1, ._584 + 4\n" + " add r0, r5, #0\n" + " mov r2, #0x2\n" + " bl memcpy\n" + " cmp r4, #0x1\n" + " beq ._580 @cond_branch\n" + " cmp r4, #0x1\n" + " bgt ._581 @cond_branch\n" + " cmp r4, #0\n" + " beq ._582 @cond_branch\n" + " b ._595\n" + "._585:\n" + " .align 2, 0\n" + "._584:\n" + " .word gUnknown_Debug_083F7FD4\n" + " .word gUnknown_Debug_083F8764\n" + "._581:\n" + " cmp r6, #0x2\n" + " beq ._586 @cond_branch\n" + " b ._595\n" + "._582:\n" + " ldr r0, ._589\n" + " ldr r0, [r0]\n" + " ldr r1, ._589 + 4\n" + " add r0, r0, r1\n" + " b ._588\n" + "._590:\n" + " .align 2, 0\n" + "._589:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + "._580:\n" + " ldr r4, ._593\n" + " ldr r3, [r4]\n" + " ldr r1, ._593 + 4\n" + " add r0, r3, r1\n" + " ldrb r2, [r0]\n" + " ldr r1, ._593 + 8\n" + " mov r6, #0xb4\n" + " lsl r6, r6, #0x1\n" + " add r0, r3, r6\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldrb r0, [r0, #0x4]\n" + " sub r0, r0, #0x1\n" + " cmp r2, r0\n" + " bge ._595 @cond_branch\n" + " lsl r2, r2, #0x19\n" + " mov r0, #0xa0\n" + " lsl r0, r0, #0x13\n" + " add r2, r2, r0\n" + " lsr r2, r2, #0x18\n" + " add r0, r5, #0\n" + " mov r1, #0x1\n" + " bl MenuPrint\n" + " ldr r0, [r4]\n" + " ldr r2, ._593 + 4\n" + " add r1, r0, r2\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r0, [r4]\n" + " add r0, r0, r2\n" + "._588:\n" + " ldrb r2, [r0]\n" + " lsl r2, r2, #0x19\n" + " mov r6, #0xa0\n" + " lsl r6, r6, #0x13\n" + " add r2, r2, r6\n" + " lsr r2, r2, #0x18\n" + " mov r0, sp\n" + " mov r1, #0x1\n" + " bl MenuPrint\n" + " b ._595\n" + "._594:\n" + " .align 2, 0\n" + "._593:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + " .word gUnknown_Debug_083F8698\n" + "._586:\n" + " ldr r4, ._596\n" + " ldr r0, [r4]\n" + " ldr r2, ._596 + 4\n" + " add r1, r0, r2\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._595 @cond_branch\n" + " add r2, r0, #0\n" + " lsl r2, r2, #0x19\n" + " mov r6, #0xa0\n" + " lsl r6, r6, #0x13\n" + " add r2, r2, r6\n" + " lsr r2, r2, #0x18\n" + " add r0, r5, #0\n" + " mov r1, #0x1\n" + " bl MenuPrint\n" + " ldr r0, [r4]\n" + " ldr r2, ._596 + 4\n" + " add r1, r0, r2\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r0, [r4]\n" + " add r0, r0, r2\n" + " ldrb r2, [r0]\n" + " lsl r2, r2, #0x19\n" + " add r2, r2, r6\n" + " lsr r2, r2, #0x18\n" + " mov r0, sp\n" + " mov r1, #0x1\n" + " bl MenuPrint\n" + "._595:\n" + " add sp, sp, #0x8\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._597:\n" + " .align 2, 0\n" + "._596:\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6384() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " mov r0, #0x0\n" + " mov r1, #0x4\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r5, #0x0\n" + " ldr r3, ._600\n" + " ldr r1, ._600 + 4\n" + " ldr r0, [r1]\n" + " mov r2, #0xb4\n" + " lsl r2, r2, #0x1\n" + " add r0, r0, r2\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r3\n" + " ldr r0, [r0]\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._598 @cond_branch\n" + " add r4, r1, #0\n" + " ldr r0, ._600 + 8\n" + " mov r9, r0\n" + " mov r8, r3\n" + " add r7, r2, #0\n" + " mov r6, #0x1\n" + "._599:\n" + " ldr r0, [r4]\n" + " add r0, r0, r9\n" + " mov r1, #0xfc\n" + " strb r1, [r0]\n" + " ldr r0, [r4]\n" + " add r1, r1, #0x70\n" + " add r0, r0, r1\n" + " strb r6, [r0]\n" + " ldr r0, [r4]\n" + " ldr r2, ._600 + 12\n" + " add r0, r0, r2\n" + " strb r6, [r0]\n" + " ldr r1, [r4]\n" + " add r2, r2, #0x1\n" + " add r0, r1, r2\n" + " add r1, r1, r7\n" + " ldrb r1, [r1]\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r8\n" + " ldr r1, [r1]\n" + " add r1, r1, r5\n" + " ldrb r1, [r1]\n" + " mov r2, #0x1\n" + " bl debug_80C5738\n" + " ldr r0, [r4]\n" + " add r0, r0, r9\n" + " lsl r2, r5, #0x19\n" + " mov r1, #0xa0\n" + " lsl r1, r1, #0x13\n" + " add r2, r2, r1\n" + " lsr r2, r2, #0x18\n" + " mov r1, #0x2\n" + " bl MenuPrint\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " ldr r0, [r4]\n" + " add r0, r0, r7\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r8\n" + " ldr r0, [r0]\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " bne ._599 @cond_branch\n" + "._598:\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._601:\n" + " .align 2, 0\n" + "._600:\n" + " .word gUnknown_Debug_083F8698\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x16b\n" + " .word 0x16d\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C643C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " mov r0, #0x2\n" + " mov r1, #0x5\n" + " mov r2, #0x1c\n" + " mov r3, #0x12\n" + " bl MenuFillWindowRectWithBlankTile\n" + " mov r5, #0x0\n" + " ldr r6, ._605\n" + " ldr r1, ._605 + 4\n" + " ldr r0, [r1]\n" + " mov r3, #0xb4\n" + " lsl r3, r3, #0x1\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r6\n" + " ldr r0, [r0]\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " beq ._602 @cond_branch\n" + " add r4, r1, #0\n" + " mov r0, #0x1\n" + " mov r8, r0\n" + "._607:\n" + " ldr r0, [r4]\n" + " ldr r7, ._605 + 8\n" + " add r2, r0, r7\n" + " mov r0, #0xfc\n" + " strb r0, [r2]\n" + " ldr r0, [r4]\n" + " mov r2, #0xb6\n" + " lsl r2, r2, #0x1\n" + " add r0, r0, r2\n" + " mov r7, r8\n" + " strb r7, [r0]\n" + " ldr r2, [r4]\n" + " ldr r7, ._605 + 12\n" + " add r0, r2, r7\n" + " ldrb r0, [r0]\n" + " cmp r5, r0\n" + " bne ._603 @cond_branch\n" + " ldr r0, ._605 + 16\n" + " add r2, r2, r0\n" + " mov r0, #0x2\n" + " strb r0, [r2]\n" + " ldr r1, [r1]\n" + " mov r2, #0xb7\n" + " lsl r2, r2, #0x1\n" + " add r0, r1, r2\n" + " add r1, r1, r3\n" + " ldrb r1, [r1]\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r6\n" + " ldr r1, [r1]\n" + " add r1, r1, r5\n" + " ldrb r1, [r1]\n" + " mov r2, #0x2\n" + " bl debug_80C5738\n" + " b ._604\n" + "._606:\n" + " .align 2, 0\n" + "._605:\n" + " .word gUnknown_Debug_083F8698\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x16b\n" + " .word 0x169\n" + " .word 0x16d\n" + "._603:\n" + " ldr r3, ._608\n" + " add r0, r2, r3\n" + " mov r7, r8\n" + " strb r7, [r0]\n" + " ldr r1, [r1]\n" + " mov r2, #0xb7\n" + " lsl r2, r2, #0x1\n" + " add r0, r1, r2\n" + " ldr r2, ._608 + 4\n" + " sub r3, r3, #0x5\n" + " add r1, r1, r3\n" + " ldrb r1, [r1]\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldr r1, [r1]\n" + " add r1, r1, r5\n" + " ldrb r1, [r1]\n" + " mov r2, #0x1\n" + " bl debug_80C5738\n" + "._604:\n" + " ldr r0, [r4]\n" + " ldr r7, ._608 + 8\n" + " add r0, r0, r7\n" + " lsl r2, r5, #0x19\n" + " mov r1, #0xa0\n" + " lsl r1, r1, #0x13\n" + " add r2, r2, r1\n" + " lsr r2, r2, #0x18\n" + " mov r1, #0x2\n" + " bl MenuPrint\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " ldr r6, ._608 + 4\n" + " add r1, r4, #0\n" + " ldr r0, [r4]\n" + " mov r3, #0xb4\n" + " lsl r3, r3, #0x1\n" + " add r0, r0, r3\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r6\n" + " ldr r0, [r0]\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " bne ._607 @cond_branch\n" + "._602:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._609:\n" + " .align 2, 0\n" + "._608:\n" + " .word 0x16d\n" + " .word gUnknown_Debug_083F8698\n" + " .word 0x16b\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6544() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r9, r0\n" + " ldr r0, ._614\n" + " mov r8, r0\n" + " ldr r6, ._614 + 4\n" + " ldr r1, [r6]\n" + " mov r5, #0xb4\n" + " lsl r5, r5, #0x1\n" + " add r0, r1, r5\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r8\n" + " ldr r4, ._614 + 8\n" + " add r1, r1, r4\n" + " ldrb r1, [r1]\n" + " ldr r0, [r0]\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " bl debug_80C5B60\n" + " add r7, r0, #0\n" + " ldr r2, ._614 + 12\n" + " ldr r3, [r6]\n" + " add r5, r3, r5\n" + " ldrb r0, [r5]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r8\n" + " add r4, r3, r4\n" + " ldrb r1, [r4]\n" + " ldr r0, [r0]\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r2, r2, #0x4\n" + " add r0, r0, r2\n" + " ldr r1, [r0]\n" + " ldr r5, [r1]\n" + " ldr r4, [r1, #0x4]\n" + " ldr r2, ._614 + 16\n" + " mov r6, #0xb5\n" + " lsl r6, r6, #0x1\n" + " add r0, r3, r6\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldr r3, [r0]\n" + " ldrb r0, [r1, #0x8]\n" + " cmp r0, #0\n" + " bne ._623 @cond_branch\n" + " mov r0, r9\n" + " cmp r0, #0x1\n" + " beq ._611 @cond_branch\n" + " cmp r0, #0x2\n" + " beq ._612 @cond_branch\n" + " b ._623\n" + "._615:\n" + " .align 2, 0\n" + "._614:\n" + " .word gUnknown_Debug_083F8698\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + " .word gUnknown_Debug_083F8554\n" + " .word gUnknown_Debug_083F8768\n" + "._611:\n" + " sub r0, r4, r3\n" + " cmp r7, r0\n" + " bcs ._616 @cond_branch\n" + " add r7, r7, r3\n" + " b ._623\n" + "._616:\n" + " cmp r7, r4\n" + " bcc ._622 @cond_branch\n" + " b ._619\n" + "._612:\n" + " add r0, r5, r3\n" + " cmp r7, r0\n" + " bls ._620 @cond_branch\n" + " sub r7, r7, r3\n" + " b ._623\n" + "._620:\n" + " cmp r7, r5\n" + " bls ._622 @cond_branch\n" + "._619:\n" + " add r7, r5, #0\n" + " b ._623\n" + "._622:\n" + " add r7, r4, #0\n" + "._623:\n" + " ldr r1, ._624\n" + " ldr r0, ._624 + 4\n" + " ldr r2, [r0]\n" + " mov r3, #0xb4\n" + " lsl r3, r3, #0x1\n" + " add r0, r2, r3\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r6, ._624 + 8\n" + " add r1, r2, r6\n" + " ldrb r1, [r1]\n" + " ldr r0, [r0]\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " add r0, r7, #0\n" + " bl debug_80C5B74\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._625:\n" + " .align 2, 0\n" + "._624:\n" + " .word gUnknown_Debug_083F8698\n" + " .word unk_debug_ewram_0+0x30\n" + " .word 0x169\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6630() +{ + asm( + " push {r4, r5, lr}\n" + " add r4, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0xfc\n" + " strb r0, [r4]\n" + " add r4, r4, #0x1\n" + " mov r0, #0x1\n" + " strb r0, [r4]\n" + " add r4, r4, #0x1\n" + " cmp r2, #0x2\n" + " bne ._626 @cond_branch\n" + " ldr r0, ._629\n" + " ldr r0, [r0]\n" + " mov r5, #0xb5\n" + " lsl r5, r5, #0x1\n" + " add r0, r0, r5\n" + " ldrb r0, [r0]\n" + " cmp r3, r0\n" + " beq ._627 @cond_branch\n" + " strb r2, [r4]\n" + " b ._628\n" + "._630:\n" + " .align 2, 0\n" + "._629:\n" + " .word unk_debug_ewram_0+0x30\n" + "._627:\n" + " mov r0, #0x4\n" + "._626:\n" + " strb r0, [r4]\n" + "._628:\n" + " add r0, r1, #0\n" + " add r0, r0, #0xa1\n" + " strb r0, [r4, #0x1]\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6678() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " mov r9, r0\n" + " add r6, r1, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r8, r3\n" + " mov r7, #0x0\n" + " sub r0, r2, #1\n" + " cmp r0, #0x9\n" + " bhi ._644 @cond_branch\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._633\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._634:\n" + " .align 2, 0\n" + "._633:\n" + " .word ._632\n" + "._632:\n" + " .word ._635\n" + " .word ._636\n" + " .word ._637\n" + " .word ._638\n" + " .word ._639\n" + " .word ._640\n" + " .word ._641\n" + " .word ._642\n" + " .word ._643\n" + " .word ._644\n" + "._644:\n" + " mov r0, r9\n" + " add r4, r0, r7\n" + " ldr r5, ._645\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x9\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._643:\n" + " mov r1, r9\n" + " add r4, r1, r7\n" + " ldr r5, ._645 + 4\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x8\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._642:\n" + " mov r0, r9\n" + " add r4, r0, r7\n" + " ldr r5, ._645 + 8\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x7\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._641:\n" + " mov r1, r9\n" + " add r4, r1, r7\n" + " ldr r5, ._645 + 12\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x6\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._640:\n" + " mov r0, r9\n" + " add r4, r0, r7\n" + " ldr r5, ._645 + 16\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x5\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._639:\n" + " mov r1, r9\n" + " add r4, r1, r7\n" + " ldr r5, ._645 + 20\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x4\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._638:\n" + " mov r0, r9\n" + " add r4, r0, r7\n" + " mov r5, #0xfa\n" + " lsl r5, r5, #0x2\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x3\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._637:\n" + " mov r1, r9\n" + " add r4, r1, r7\n" + " add r0, r6, #0\n" + " mov r1, #0x64\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x2\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " mov r1, #0x64\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._636:\n" + " mov r0, r9\n" + " add r4, r0, r7\n" + " add r0, r6, #0\n" + " mov r1, #0xa\n" + " bl __udivsi3\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " mov r2, r8\n" + " mov r3, #0x1\n" + " bl debug_80C6630\n" + " add r0, r6, #0\n" + " mov r1, #0xa\n" + " bl __umodsi3\n" + " add r6, r0, #0\n" + " add r0, r7, #4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + "._635:\n" + " mov r1, r9\n" + " add r0, r1, r7\n" + " lsl r1, r6, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r2, r8\n" + " mov r3, #0x0\n" + " bl debug_80C6630\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._646:\n" + " .align 2, 0\n" + "._645:\n" + " .word 0x3b9aca00\n" + " .word 0x5f5e100\n" + " .word 0x989680\n" + " .word 0xf4240\n" + " .word 0x186a0\n" + " .word 0x2710\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C689C() +{ + asm( + " push {r4, r5, lr}\n" + " add r5, r0, #0\n" + " add r4, r1, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r3, #0x0\n" + " ldrb r0, [r4]\n" + " b ._647\n" + "._649:\n" + " add r1, r5, r3\n" + " add r0, r4, r3\n" + " ldrb r0, [r0]\n" + " strb r0, [r1]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " add r0, r4, r3\n" + " ldrb r0, [r0]\n" + "._647:\n" + " cmp r0, #0xff\n" + " beq ._648 @cond_branch\n" + " cmp r3, r2\n" + " bcc ._649 @cond_branch\n" + "._648:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C68CC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffff8\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " lsl r1, r1, #0x18\n" + " lsr r6, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " lsr r5, r2, #0x18\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r2, #0x0\n" + " mov r1, #0x0\n" + "._650:\n" + " mov r7, sp\n" + " add r0, r7, r2\n" + " strb r1, [r0]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x3\n" + " bls ._650 @cond_branch\n" + " mov r1, sp\n" + " mov r0, #0xff\n" + " strb r0, [r1, #0x4]\n" + " cmp r3, #0x2\n" + " beq ._651 @cond_branch\n" + " cmp r3, #0x2\n" + " bgt ._652 @cond_branch\n" + " cmp r3, #0x1\n" + " beq ._653 @cond_branch\n" + " b ._654\n" + "._652:\n" + " cmp r3, #0x3\n" + " beq ._655 @cond_branch\n" + "._654:\n" + " mov r1, sp\n" + " lsr r0, r4, #0xc\n" + " strb r0, [r1]\n" + "._655:\n" + " mov r1, sp\n" + " mov r0, #0xf0\n" + " lsl r0, r0, #0x4\n" + " and r0, r0, r4\n" + " lsr r0, r0, #0x8\n" + " strb r0, [r1, #0x1]\n" + "._651:\n" + " mov r1, sp\n" + " mov r0, #0xf0\n" + " and r0, r0, r4\n" + " lsr r0, r0, #0x4\n" + " strb r0, [r1, #0x2]\n" + "._653:\n" + " mov r2, sp\n" + " mov r1, #0xf\n" + " add r0, r4, #0\n" + " and r0, r0, r1\n" + " strb r0, [r2, #0x3]\n" + " mov r2, #0x0\n" + "._658:\n" + " mov r0, sp\n" + " add r1, r0, r2\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x9\n" + " bhi ._656 @cond_branch\n" + " add r0, r0, #0xa1\n" + " b ._657\n" + "._656:\n" + " add r0, r0, #0xb1\n" + "._657:\n" + " strb r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x3\n" + " bls ._658 @cond_branch\n" + " mov r0, #0x4\n" + " sub r0, r0, r3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r0, r0, sp\n" + " add r1, r6, #0\n" + " add r2, r5, #0\n" + " bl MenuPrint\n" + " add sp, sp, #0x8\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void InitSeePokemonGraphics() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl debug_80C35DC\n" + " ldr r1, ._659\n" + " ldr r2, ._659 + 4\n" + " ldr r0, ._659 + 8\n" + " str r1, [r0]\n" + " str r2, [r0, #0x4]\n" + " ldr r1, ._659 + 12\n" + " str r1, [r0, #0x8]\n" + " ldr r0, [r0, #0x8]\n" + " ldr r0, ._659 + 16\n" + " mov r1, #0x80\n" + " mov r2, #0x60\n" + " bl LoadPalette\n" + " ldr r1, ._659 + 20\n" + " add r0, sp, #0x4\n" + " strh r1, [r0]\n" + " mov r1, #0x0\n" + " mov r2, #0x2\n" + " bl LoadPalette\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r5, #0x0\n" + " str r5, [sp]\n" + " mov r1, #0x0\n" + " mov r2, #0x10\n" + " mov r3, #0x0\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._659 + 24\n" + " mov r6, #0x0\n" + " strh r5, [r0]\n" + " add r0, r0, #0x4\n" + " strh r5, [r0]\n" + " sub r0, r0, #0x2\n" + " strh r5, [r0]\n" + " add r0, r0, #0x4\n" + " strh r5, [r0]\n" + " ldr r1, ._659 + 28\n" + " mov r0, #0x3f\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " mov r0, #0x1f\n" + " strh r0, [r1]\n" + " add r1, r1, #0x6\n" + " mov r0, #0xf1\n" + " strh r0, [r1]\n" + " ldr r0, ._659 + 32\n" + " strh r5, [r0]\n" + " add r1, r1, #0x4\n" + " mov r0, #0x7\n" + " strh r0, [r1]\n" + " ldr r3, ._659 + 36\n" + " ldrh r2, [r3]\n" + " strh r5, [r3]\n" + " ldr r4, ._659 + 40\n" + " ldrh r0, [r4]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " strh r0, [r4]\n" + " strh r2, [r3]\n" + " ldr r0, ._659 + 44\n" + " bl SetVBlankCallback\n" + " ldr r0, ._659 + 48\n" + " bl SetMainCallback2\n" + " bl sub_809D51C\n" + " ldr r1, ._659 + 52\n" + " ldr r2, ._659 + 56\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r2, ._659 + 60\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " sub r1, r1, #0xa\n" + " mov r2, #0xcd\n" + " lsl r2, r2, #0x6\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, ._659 + 64\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " ldr r1, ._659 + 68\n" + " ldr r0, ._659 + 72\n" + " str r0, [r1]\n" + " ldr r1, ._659 + 76\n" + " strh r1, [r0]\n" + " strb r6, [r0, #0x2]\n" + " strb r6, [r0, #0x3]\n" + " strb r6, [r0, #0x5]\n" + " strb r6, [r0, #0x7]\n" + " strb r6, [r0, #0xa]\n" + " strb r6, [r0, #0x8]\n" + " ldr r4, ._659 + 80\n" + " add r0, r4, #0\n" + " mov r1, #0x6c\n" + " mov r2, #0x74\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " ldr r6, ._659 + 84\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " strh r5, [r0, #0x2e]\n" + " mov r1, #0x0\n" + " bl StartSpriteAnim\n" + " add r0, r4, #0\n" + " mov r1, #0x6c\n" + " mov r2, #0x74\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " mov r1, #0x1\n" + " strh r1, [r0, #0x2e]\n" + " bl StartSpriteAnim\n" + " add r0, r4, #0\n" + " mov r1, #0x6c\n" + " mov r2, #0x74\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " mov r1, #0x2\n" + " strh r1, [r0, #0x2e]\n" + " bl StartSpriteAnim\n" + " add sp, sp, #0x8\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._660:\n" + " .align 2, 0\n" + "._659:\n" + " .word byte_83F88EC\n" + " .word 0x600e000\n" + " .word 0x40000d4\n" + " .word 0x80000400\n" + " .word word_83F888C\n" + " .word 0x7fff\n" + " .word 0x4000040\n" + " .word 0x4000048\n" + " .word 0x4000052\n" + " .word 0x4000208\n" + " .word 0x4000200\n" + " .word debug_80C3758+1\n" + " .word debug_80C370C+1\n" + " .word 0x4000008\n" + " .word 0x1f0b\n" + " .word 0x1e0a\n" + " .word debug_80C6B00+1\n" + " .word unk_debug_ewram_0+0x34\n" + " .word +0x2018000\n" + " .word 0x115\n" + " .word unk_83F8868+0xc\n" + " .word gSprites\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6B00() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xffffffec\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " ldr r1, ._666\n" + " mov r0, sp\n" + " mov r2, #0x12\n" + " bl memcpy\n" + " mov r0, #0xa\n" + " mov r1, #0x0\n" + " mov r2, #0xf\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x9\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x0\n" + " mov r1, #0xa\n" + " mov r2, #0x9\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x10\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._666 + 4\n" + " mov r1, #0x11\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._666 + 8\n" + " mov r1, #0x1b\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._666 + 12\n" + " mov r1, #0x11\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0xa\n" + " mov r1, #0x8\n" + " mov r2, #0x1d\n" + " mov r3, #0xc\n" + " bl MenuDrawTextWindow\n" + " mov r2, #0x0\n" + " ldr r4, ._666 + 16\n" + " ldr r0, ._666 + 20\n" + " add r3, r0, #0\n" + "._661:\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, r4\n" + " add r1, r2, r3\n" + " strh r1, [r0]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0xe\n" + " bls ._661 @cond_branch\n" + " mov r2, #0x0\n" + " ldr r5, ._666 + 24\n" + " lsl r6, r7, #0x2\n" + " mov r8, r6\n" + " ldr r4, ._666 + 28\n" + " ldr r0, ._666 + 32\n" + " add r3, r0, #0\n" + "._662:\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, r4\n" + " add r1, r2, r3\n" + " strh r1, [r0]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0xe\n" + " bls ._662 @cond_branch\n" + " add r0, r5, #0\n" + " mov r1, #0x14\n" + " mov r2, #0xa\n" + " bl MenuPrint\n" + " mov r0, #0xa\n" + " mov r1, #0xd\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r1, sp\n" + " mov r0, #0x23\n" + " strb r0, [r1]\n" + " mov r2, #0x0\n" + " ldr r4, ._666 + 36\n" + " mov r5, #0x93\n" + " lsl r5, r5, #0x8\n" + " add r3, r5, #0\n" + "._663:\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r4\n" + " mov r6, sp\n" + " add r0, r6, r2\n" + " ldrb r0, [r0]\n" + " add r0, r0, r3\n" + " strh r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x11\n" + " bls ._663 @cond_branch\n" + " mov r1, sp\n" + " mov r0, #0x24\n" + " strb r0, [r1]\n" + " mov r2, #0x0\n" + " ldr r5, ._666 + 40\n" + " ldr r4, ._666 + 44\n" + " mov r0, #0x93\n" + " lsl r0, r0, #0x8\n" + " add r3, r0, #0\n" + "._664:\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r4\n" + " mov r6, sp\n" + " add r0, r6, r2\n" + " ldrb r0, [r0]\n" + " add r0, r0, r3\n" + " strh r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x11\n" + " bls ._664 @cond_branch\n" + " mov r1, sp\n" + " mov r0, #0x25\n" + " strb r0, [r1]\n" + " mov r2, #0x0\n" + " ldr r4, ._666 + 48\n" + " mov r0, #0x93\n" + " lsl r0, r0, #0x8\n" + " add r3, r0, #0\n" + "._665:\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r4\n" + " mov r6, sp\n" + " add r0, r6, r2\n" + " ldrb r0, [r0]\n" + " add r0, r0, r3\n" + " strh r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x11\n" + " bls ._665 @cond_branch\n" + " add r0, r5, #0\n" + " mov r1, #0xf\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " ldr r1, ._666 + 52\n" + " ldr r2, ._666 + 56\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r5, ._666 + 60\n" + " add r0, r5, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._666 + 64\n" + " mov r6, r8\n" + " add r0, r6, r7\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._666 + 68\n" + " str r1, [r0]\n" + " add sp, sp, #0x14\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._667:\n" + " .align 2, 0\n" + "._666:\n" + " .word gUnknown_Debug_083F8815\n" + " .word gUnknown_Debug_083F87D0\n" + " .word gUnknown_Debug_083F87D8\n" + " .word gUnknown_Debug_083F87E0\n" + " .word 0x600fa56\n" + " .word 0xa311\n" + " .word gUnknown_Debug_083F87F4\n" + " .word 0x600f256\n" + " .word 0x8301\n" + " .word 0x600f396\n" + " .word gUnknown_Debug_083F8801\n" + " .word 0x600f3d6\n" + " .word 0x600f416\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x699f\n" + " .word gTasks\n" + " .word debug_80C6CB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6CB8() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffff4\n" + " mov sl, r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov sl, r0\n" + " ldr r5, ._668\n" + " ldr r4, [r5]\n" + " ldrh r2, [r4]\n" + " lsl r0, r2, #0x3\n" + " ldr r1, ._668 + 4\n" + " add r0, r0, r1\n" + " ldr r1, ._668 + 8\n" + " lsl r2, r2, #0x2\n" + " add r2, r2, r1\n" + " ldrb r1, [r2]\n" + " ldrb r2, [r2, #0x1]\n" + " ldr r3, ._668 + 12\n" + " mov r8, r3\n" + " ldr r6, [r3]\n" + " str r6, [sp, #0x8]\n" + " ldr r3, [r3, #0x4]\n" + " str r3, [sp]\n" + " ldrh r3, [r4]\n" + " str r3, [sp, #0x4]\n" + " add r3, r6, #0\n" + " bl DecompressPicFromTable_2\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r7, ._668 + 16\n" + " add r0, r0, r7\n" + " bl LoadCompressedObjectPalette\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x1\n" + " bl GetMonSpriteTemplate_803C56C\n" + " ldr r0, ._668 + 20\n" + " mov r1, #0x28\n" + " mov r2, #0x28\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " ldr r1, [r5]\n" + " strb r0, [r1, #0x2]\n" + " ldr r2, [r5]\n" + " ldrb r1, [r2, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._668 + 24\n" + " add r0, r0, r1\n" + " ldr r3, ._668 + 28\n" + " mov r9, r3\n" + " str r3, [r0]\n" + " ldrb r0, [r2, #0x2]\n" + " lsl r1, r0, #0x4\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " ldr r6, ._668 + 32\n" + " add r1, r1, r6\n" + " ldrb r2, [r1, #0x5]\n" + " mov r6, #0xd\n" + " neg r6, r6\n" + " add r0, r6, #0\n" + " and r0, r0, r2\n" + " strb r0, [r1, #0x5]\n" + " ldr r4, [r5]\n" + " ldrh r2, [r4]\n" + " lsl r0, r2, #0x3\n" + " ldr r1, ._668 + 36\n" + " add r0, r0, r1\n" + " ldr r1, ._668 + 40\n" + " lsl r2, r2, #0x2\n" + " add r2, r2, r1\n" + " ldrb r1, [r2]\n" + " ldrb r2, [r2, #0x1]\n" + " mov r7, r8\n" + " ldr r3, [r7, #0x8]\n" + " str r3, [sp]\n" + " ldrh r3, [r4]\n" + " str r3, [sp, #0x4]\n" + " ldr r3, [sp, #0x8]\n" + " bl DecompressPicFromTable_2\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._668 + 16\n" + " add r0, r0, r1\n" + " bl LoadCompressedObjectPalette\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x2\n" + " bl GetMonSpriteTemplate_803C56C\n" + " ldr r0, ._668 + 20\n" + " mov r1, #0x28\n" + " mov r2, #0x78\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " ldr r1, [r5]\n" + " strb r0, [r1, #0x3]\n" + " ldr r2, [r5]\n" + " ldrb r1, [r2, #0x3]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r3, ._668 + 24\n" + " add r0, r0, r3\n" + " mov r7, r9\n" + " str r7, [r0]\n" + " ldrb r1, [r2, #0x3]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._668 + 32\n" + " add r0, r0, r1\n" + " ldrb r1, [r0, #0x5]\n" + " and r6, r6, r1\n" + " strb r6, [r0, #0x5]\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " ldr r1, ._668 + 44\n" + " mov r2, #0x0\n" + " str r2, [sp]\n" + " str r2, [sp, #0x4]\n" + " mov r2, #0x68\n" + " mov r3, #0x2c\n" + " bl CreateMonIcon\n" + " ldr r1, [r5]\n" + " strb r0, [r1, #0x4]\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " bl SpeciesToNationalPokedexNum\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r2, #0xff\n" + " lsl r2, r2, #0x2\n" + " mov r1, #0x2\n" + " bl sub_8091738\n" + " ldr r1, ._668 + 48\n" + " ldr r3, ._668 + 52\n" + " add r0, r3, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r6, ._668 + 56\n" + " add r0, r6, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x3e\n" + " ldr r7, ._668 + 60\n" + " add r0, r7, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r2, ._668 + 64\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x11\n" + " mov r2, #0x3\n" + " bl debug_80C3800\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x1a\n" + " mov r2, #0x5\n" + " bl debug_80C376C\n" + " ldr r2, [r5]\n" + " ldrb r1, [r2, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r3, ._668 + 32\n" + " add r0, r0, r3\n" + " ldrb r0, [r0, #0x5]\n" + " lsr r0, r0, #0x4\n" + " strb r0, [r2, #0x6]\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " ldr r4, ._668 + 68\n" + " add r0, r0, r4\n" + " ldr r6, ._668 + 72\n" + " add r1, r4, r6\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r4\n" + " ldr r1, ._668 + 76\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r1, ._668 + 80\n" + " mov r7, sl\n" + " lsl r0, r7, #0x2\n" + " add r0, r0, sl\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._668 + 84\n" + " str r1, [r0]\n" + " ldr r0, [r5]\n" + " mov r1, #0x0\n" + " strb r1, [r0, #0x9]\n" + " bl StopCryAndClearCrySongs\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x0\n" + " bl PlayCry1\n" + " add sp, sp, #0xc\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._669:\n" + " .align 2, 0\n" + "._668:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gMonFrontPicTable\n" + " .word gMonFrontPicCoords\n" + " .word gUnknown_081FAF4C\n" + " .word gMonPaletteTable\n" + " .word gUnknown_02024E8C\n" + " .word gSprites+0x1c\n" + " .word debug_69+1\n" + " .word gSprites\n" + " .word gMonBackPicTable\n" + " .word gMonBackPicCoords\n" + " .word sub_809D62C+1\n" + " .word 0x600f858\n" + " .word 0xf3fc\n" + " .word 0xf3fd\n" + " .word 0xf3fe\n" + " .word 0xf3ff\n" + " .word gPlttBufferUnfaded+0x200\n" + " .word 0xffffff00\n" + " .word gPlttBufferFaded+0x100\n" + " .word gTasks\n" + " .word debug_80C6EE8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6EE8() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " lsl r6, r6, #0x18\n" + " lsr r6, r6, #0x18\n" + " ldr r4, ._670\n" + " ldr r5, ._670 + 4\n" + " ldr r1, [r5]\n" + " add r1, r1, #0x10\n" + " add r0, r4, #0\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, ._670 + 8\n" + " add r4, r4, r0\n" + " ldr r3, [r5]\n" + " ldrb r0, [r3, #0x7]\n" + " add r0, r0, #0x81\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r4\n" + " ldrh r4, [r0]\n" + " mov r1, #0x1f\n" + " and r1, r1, r4\n" + " ldrb r2, [r3, #0xc]\n" + " mov r0, #0x20\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r3, #0xc]\n" + " ldr r3, [r5]\n" + " mov r1, #0xf8\n" + " lsl r1, r1, #0x2\n" + " and r1, r1, r4\n" + " ldrh r2, [r3, #0xc]\n" + " ldr r0, ._670 + 12\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strh r0, [r3, #0xc]\n" + " mov r1, #0xf8\n" + " lsl r1, r1, #0x7\n" + " and r1, r1, r4\n" + " lsr r1, r1, #0x8\n" + " ldrb r2, [r3, #0xd]\n" + " mov r0, #0x7d\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r3, #0xd]\n" + " ldr r2, [r5]\n" + " ldrb r1, [r2, #0xd]\n" + " mov r0, #0x7f\n" + " and r0, r0, r1\n" + " strb r0, [r2, #0xd]\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x7]\n" + " add r0, r0, #0x1\n" + " mov r1, #0xb\n" + " mov r2, #0xa\n" + " mov r3, #0x2\n" + " bl debug_80C68CC\n" + " ldr r0, ._670 + 16\n" + " mov r1, #0xd\n" + " mov r2, #0xa\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0xe\n" + " mov r2, #0xa\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " ldr r1, ._670 + 20\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._670 + 24\n" + " str r1, [r0]\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._671:\n" + " .align 2, 0\n" + "._670:\n" + " .word gPlttBufferUnfaded+0x100\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0xffffff00\n" + " .word 0xfffffc1f\n" + " .word gUnknown_Debug_083F8813\n" + " .word gTasks\n" + " .word debug_80C6FA8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C6FA8() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " ldr r1, ._674\n" + " ldrh r2, [r1, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " add r4, r1, #0\n" + " cmp r0, #0\n" + " beq ._672 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._674 + 4\n" + " bl SetMainCallback2\n" + " ldr r1, ._674 + 8\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._674 + 12\n" + " str r1, [r0]\n" + " b ._703\n" + "._675:\n" + " .align 2, 0\n" + "._674:\n" + " .word gMain\n" + " .word debug_80C370C+1\n" + " .word gTasks\n" + " .word debug_80C373C+1\n" + "._672:\n" + " ldrh r1, [r4, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._676 @cond_branch\n" + " ldr r4, ._678\n" + " ldr r0, [r4]\n" + " ldrh r1, [r0]\n" + " mov r0, #0x0\n" + " b ._677\n" + "._679:\n" + " .align 2, 0\n" + "._678:\n" + " .word unk_debug_ewram_0+0x34\n" + "._676:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._680 @cond_branch\n" + " ldr r4, ._682\n" + " ldr r0, [r4]\n" + " ldrh r1, [r0]\n" + " mov r0, #0x1\n" + "._677:\n" + " bl debug_80C3878\n" + " ldr r1, [r4]\n" + " strh r0, [r1]\n" + " ldr r1, ._682 + 4\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._682 + 8\n" + " str r1, [r0]\n" + " b ._703\n" + "._683:\n" + " .align 2, 0\n" + "._682:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gTasks\n" + " .word debug_80C71FC+1\n" + "._680:\n" + " mov r3, #0x1\n" + " and r3, r3, r2\n" + " cmp r3, #0\n" + " beq ._684 @cond_branch\n" + " ldr r0, ._686\n" + " ldr r1, [r0]\n" + " mov r0, #0x1\n" + " strb r0, [r1, #0x5]\n" + " ldr r1, ._686 + 4\n" + " ldr r2, ._686 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._686 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._686 + 16\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._686 + 20\n" + " str r1, [r0]\n" + " b ._703\n" + "._687:\n" + " .align 2, 0\n" + "._686:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x4167\n" + " .word gTasks\n" + " .word debug_80C7294+1\n" + "._684:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._689 @cond_branch\n" + " ldr r1, ._691\n" + " ldr r2, [r1]\n" + " ldrb r0, [r2, #0x7]\n" + " cmp r0, #0xd\n" + " bhi ._689 @cond_branch\n" + " lsl r0, r0, #0x1\n" + " ldr r2, ._691 + 4\n" + " add r0, r0, r2\n" + " strh r3, [r0]\n" + " ldr r1, [r1]\n" + " ldrb r0, [r1, #0x7]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1, #0x7]\n" + " b ._695\n" + "._692:\n" + " .align 2, 0\n" + "._691:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x5000102\n" + "._689:\n" + " ldrh r1, [r4, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._694 @cond_branch\n" + " ldr r2, ._696\n" + " ldr r1, [r2]\n" + " ldrb r0, [r1, #0x7]\n" + " cmp r0, #0\n" + " beq ._694 @cond_branch\n" + " lsl r0, r0, #0x1\n" + " ldr r1, ._696 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " ldr r1, [r2]\n" + " ldrb r0, [r1, #0x7]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1, #0x7]\n" + " b ._695\n" + "._697:\n" + " .align 2, 0\n" + "._696:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x5000102\n" + "._694:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._698 @cond_branch\n" + " ldr r4, ._701\n" + " ldr r2, [r4]\n" + " ldrb r0, [r2, #0x9]\n" + " mov r1, #0x1\n" + " eor r0, r0, r1\n" + " strb r0, [r2, #0x9]\n" + " ldr r1, [r4]\n" + " ldrb r0, [r1, #0x9]\n" + " cmp r0, #0\n" + " beq ._699 @cond_branch\n" + " ldrh r0, [r1]\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " bl species_and_otid_get_pal\n" + " ldr r1, [r4]\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x14\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x11\n" + " add r1, r1, r2\n" + " lsr r1, r1, #0x10\n" + " mov r2, #0x20\n" + " bl LoadCompressedPalette\n" + " b ._700\n" + "._702:\n" + " .align 2, 0\n" + "._701:\n" + " .word unk_debug_ewram_0+0x34\n" + "._699:\n" + " ldrh r0, [r1]\n" + " mov r1, #0x0\n" + " mov r2, #0x9\n" + " bl species_and_otid_get_pal\n" + " ldr r1, [r4]\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x14\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x11\n" + " add r1, r1, r2\n" + " lsr r1, r1, #0x10\n" + " mov r2, #0x20\n" + " bl LoadCompressedPalette\n" + "._700:\n" + " ldr r5, ._704\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " ldr r4, ._704 + 4\n" + " add r0, r0, r4\n" + " ldr r2, ._704 + 8\n" + " add r1, r4, r2\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r4\n" + " ldr r1, ._704 + 12\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + "._695:\n" + " ldr r1, ._704 + 16\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._704 + 20\n" + " str r1, [r0]\n" + " b ._703\n" + "._705:\n" + " .align 2, 0\n" + "._704:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gPlttBufferUnfaded+0x200\n" + " .word 0xffffff00\n" + " .word gPlttBufferFaded+0x100\n" + " .word gTasks\n" + " .word debug_80C6EE8+1\n" + "._698:\n" + " mov r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._706 @cond_branch\n" + " bl StopCryAndClearCrySongs\n" + " ldr r0, ._707\n" + " ldr r0, [r0]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x0\n" + " bl PlayCry1\n" + "._706:\n" + " ldr r2, ._707\n" + " ldr r1, [r2]\n" + " ldrb r0, [r1, #0x8]\n" + " add r0, r0, #0x4\n" + " strb r0, [r1, #0x8]\n" + " ldr r3, [r2]\n" + " ldrb r1, [r3, #0x8]\n" + " mov r0, #0x1f\n" + " and r0, r0, r1\n" + " strb r0, [r3, #0x8]\n" + " ldr r0, [r2]\n" + " ldrb r1, [r0, #0x7]\n" + " lsl r1, r1, #0x1\n" + " ldr r2, ._707 + 4\n" + " add r1, r1, r2\n" + " ldr r2, ._707 + 8\n" + " ldrb r0, [r0, #0x8]\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r2\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + "._703:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._708:\n" + " .align 2, 0\n" + "._707:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x5000142\n" + " .word gUnknown_Debug_083F8790\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C71FC() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " ldr r6, ._709\n" + " ldr r4, ._709 + 4\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldrb r0, [r0, #0x5]\n" + " lsr r0, r0, #0x4\n" + " bl GetSpritePaletteTagByPaletteNum\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl FreeSpritePaletteByTag\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " bl DestroySprite\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x3]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldrb r0, [r0, #0x5]\n" + " lsr r0, r0, #0x4\n" + " bl GetSpritePaletteTagByPaletteNum\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl FreeSpritePaletteByTag\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x3]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " bl DestroySprite\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x4]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " bl sub_809D510\n" + " ldr r1, ._709 + 8\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._709 + 12\n" + " str r1, [r0]\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._710:\n" + " .align 2, 0\n" + "._709:\n" + " .word gSprites\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gTasks\n" + " .word debug_80C6CB8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C7294() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " ldr r0, ._713\n" + " ldrh r2, [r0, #0x2e]\n" + " mov r1, #0x1\n" + " and r1, r1, r2\n" + " add r3, r0, #0\n" + " cmp r1, #0\n" + " beq ._711 @cond_branch\n" + " ldr r0, ._713 + 4\n" + " ldr r1, [r0]\n" + " mov r0, #0x0\n" + " strb r0, [r1, #0x5]\n" + " ldr r1, ._713 + 8\n" + " ldr r2, ._713 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._713 + 16\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " b ._712\n" + "._714:\n" + " .align 2, 0\n" + "._713:\n" + " .word gMain\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x699f\n" + "._711:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._715 @cond_branch\n" + " ldr r6, ._717\n" + " ldr r0, [r6]\n" + " strb r1, [r0, #0x5]\n" + " ldr r1, ._717 + 4\n" + " ldr r2, ._717 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._717 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, [r6]\n" + " add r0, r0, #0x10\n" + " ldr r4, ._717 + 16\n" + " add r1, r4, #0\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, [r6]\n" + " add r0, r0, #0x10\n" + " ldr r5, ._717 + 20\n" + " add r1, r5, #0\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r1, [r6]\n" + " add r0, r1, #0\n" + " add r0, r0, #0x10\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x5\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r4, r4, r2\n" + " add r1, r1, r4\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r1, [r6]\n" + " add r0, r1, #0\n" + " add r0, r0, #0x10\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x5\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r5, r5, r2\n" + " add r1, r1, r5\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + "._712:\n" + " ldr r1, ._717 + 24\n" + " lsl r0, r7, #0x2\n" + " add r0, r0, r7\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._717 + 28\n" + " str r1, [r0]\n" + " b ._754\n" + "._718:\n" + " .align 2, 0\n" + "._717:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x699f\n" + " .word gPlttBufferUnfaded+0x100\n" + " .word gPlttBufferFaded+0x100\n" + " .word gTasks\n" + " .word debug_80C6EE8+1\n" + "._715:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._720 @cond_branch\n" + " ldr r0, ._722\n" + " ldr r1, [r0]\n" + " ldrb r0, [r1, #0xa]\n" + " cmp r0, #0x1\n" + " bhi ._720 @cond_branch\n" + " add r0, r0, #0x1\n" + " strb r0, [r1, #0xa]\n" + " b ._754\n" + "._723:\n" + " .align 2, 0\n" + "._722:\n" + " .word unk_debug_ewram_0+0x34\n" + "._720:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._725 @cond_branch\n" + " ldr r0, ._727\n" + " ldr r1, [r0]\n" + " ldrb r0, [r1, #0xa]\n" + " cmp r0, #0\n" + " beq ._725 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1, #0xa]\n" + " b ._754\n" + "._728:\n" + " .align 2, 0\n" + "._727:\n" + " .word unk_debug_ewram_0+0x34\n" + "._725:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._729 @cond_branch\n" + " ldr r0, ._734\n" + " ldr r2, [r0]\n" + " ldrb r0, [r2, #0xa]\n" + " cmp r0, #0x1\n" + " beq ._730 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._731 @cond_branch\n" + " cmp r0, #0\n" + " beq ._732 @cond_branch\n" + " b ._754\n" + "._735:\n" + " .align 2, 0\n" + "._734:\n" + " .word unk_debug_ewram_0+0x34\n" + "._731:\n" + " cmp r0, #0x2\n" + " beq ._736 @cond_branch\n" + " b ._754\n" + "._732:\n" + " ldrb r3, [r2, #0xc]\n" + " lsl r1, r3, #0x1b\n" + " lsr r0, r1, #0x1b\n" + " cmp r0, #0x1e\n" + " bhi ._761 @cond_branch\n" + " add r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " mov r1, #0x20\n" + " neg r1, r1\n" + " and r1, r1, r3\n" + " orr r1, r1, r0\n" + " strb r1, [r2, #0xc]\n" + " b ._761\n" + "._730:\n" + " ldrh r3, [r2, #0xc]\n" + " lsl r1, r3, #0x16\n" + " lsr r0, r1, #0x1b\n" + " cmp r0, #0x1e\n" + " bhi ._761 @cond_branch\n" + " add r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " ldr r1, ._742\n" + " and r1, r1, r3\n" + " orr r1, r1, r0\n" + " strh r1, [r2, #0xc]\n" + " b ._761\n" + "._743:\n" + " .align 2, 0\n" + "._742:\n" + " .word 0xfffffc1f\n" + "._736:\n" + " ldrb r3, [r2, #0xd]\n" + " lsl r1, r3, #0x19\n" + " lsr r0, r1, #0x1b\n" + " cmp r0, #0x1e\n" + " bhi ._761 @cond_branch\n" + " add r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " mov r1, #0x7d\n" + " neg r1, r1\n" + " and r1, r1, r3\n" + " orr r1, r1, r0\n" + " strb r1, [r2, #0xd]\n" + " b ._761\n" + "._729:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._754 @cond_branch\n" + " ldr r0, ._751\n" + " ldr r3, [r0]\n" + " ldrb r0, [r3, #0xa]\n" + " cmp r0, #0x1\n" + " beq ._747 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._748 @cond_branch\n" + " cmp r0, #0\n" + " beq ._749 @cond_branch\n" + " b ._754\n" + "._752:\n" + " .align 2, 0\n" + "._751:\n" + " .word unk_debug_ewram_0+0x34\n" + "._748:\n" + " cmp r0, #0x2\n" + " beq ._753 @cond_branch\n" + " b ._754\n" + "._749:\n" + " ldrb r2, [r3, #0xc]\n" + " mov r0, #0x1f\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._761 @cond_branch\n" + " lsl r0, r2, #0x1b\n" + " lsr r0, r0, #0x1b\n" + " sub r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " mov r1, #0x20\n" + " neg r1, r1\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strb r1, [r3, #0xc]\n" + " b ._761\n" + "._747:\n" + " ldrh r2, [r3, #0xc]\n" + " mov r0, #0xf8\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._761 @cond_branch\n" + " lsl r0, r2, #0x16\n" + " lsr r0, r0, #0x1b\n" + " sub r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " ldr r1, ._759\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strh r1, [r3, #0xc]\n" + " b ._761\n" + "._760:\n" + " .align 2, 0\n" + "._759:\n" + " .word 0xfffffc1f\n" + "._753:\n" + " ldrb r2, [r3, #0xd]\n" + " mov r0, #0x7c\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._761 @cond_branch\n" + " lsl r0, r2, #0x19\n" + " lsr r0, r0, #0x1b\n" + " sub r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " mov r1, #0x7d\n" + " neg r1, r1\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strb r1, [r3, #0xd]\n" + "._761:\n" + " ldr r0, ._762\n" + " lsl r1, r7, #0x2\n" + " add r1, r1, r7\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._762 + 4\n" + " str r0, [r1]\n" + "._754:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._763:\n" + " .align 2, 0\n" + "._762:\n" + " .word gTasks\n" + " .word debug_80C74E4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C74E4() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " ldr r0, ._764\n" + " ldr r3, [r0]\n" + " ldrb r0, [r3, #0xc]\n" + " lsl r0, r0, #0x1b\n" + " lsr r0, r0, #0x1b\n" + " ldrh r2, [r3, #0xc]\n" + " mov r1, #0xf8\n" + " lsl r1, r1, #0x2\n" + " and r1, r1, r2\n" + " add r0, r0, r1\n" + " ldrb r1, [r3, #0xd]\n" + " lsl r1, r1, #0x19\n" + " lsr r1, r1, #0x1b\n" + " lsl r1, r1, #0xa\n" + " add r0, r0, r1\n" + " ldr r6, ._764 + 4\n" + " ldrb r1, [r3, #0x7]\n" + " add r1, r1, #0x81\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r6\n" + " strh r0, [r1]\n" + " ldr r1, ._764 + 8\n" + " mov r8, r1\n" + " ldrb r1, [r3, #0x7]\n" + " add r1, r1, #0x81\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r8\n" + " strh r0, [r1]\n" + " ldrb r1, [r3, #0x6]\n" + " lsl r1, r1, #0x4\n" + " ldrb r2, [r3, #0x7]\n" + " ldr r4, ._764 + 12\n" + " add r2, r2, r4\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r6\n" + " strh r0, [r1]\n" + " ldrb r1, [r3, #0x6]\n" + " lsl r1, r1, #0x4\n" + " ldrb r2, [r3, #0x7]\n" + " add r2, r2, r4\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r8\n" + " strh r0, [r1]\n" + " mov r1, #0xe\n" + " mov r2, #0xa\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " ldr r1, ._764 + 16\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._764 + 20\n" + " str r1, [r0]\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._765:\n" + " .align 2, 0\n" + "._764:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gPlttBufferUnfaded\n" + " .word gPlttBufferFaded\n" + " .word 0x101\n" + " .word gTasks\n" + " .word debug_80C7294+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C7584() +{ + asm( + " push {r4, lr}\n" + " add r2, r0, #0\n" + " ldr r0, ._771\n" + " ldr r3, [r0]\n" + " ldrb r1, [r3, #0x5]\n" + " add r4, r0, #0\n" + " cmp r1, #0\n" + " beq ._766 @cond_branch\n" + " mov r1, #0x2e\n" + " ldsh r0, [r2, r1]\n" + " cmp r0, #0x1\n" + " beq ._767 @cond_branch\n" + " cmp r0, #0x1\n" + " ble ._768 @cond_branch\n" + " cmp r0, #0x2\n" + " beq ._769 @cond_branch\n" + "._768:\n" + " ldrb r0, [r3, #0xc]\n" + " lsl r0, r0, #0x1b\n" + " b ._773\n" + "._772:\n" + " .align 2, 0\n" + "._771:\n" + " .word unk_debug_ewram_0+0x34\n" + "._767:\n" + " ldrh r0, [r3, #0xc]\n" + " lsl r0, r0, #0x16\n" + " b ._773\n" + "._769:\n" + " ldrb r0, [r3, #0xd]\n" + " lsl r0, r0, #0x19\n" + "._773:\n" + " lsr r0, r0, #0x1b\n" + " lsl r0, r0, #0x2\n" + " strh r0, [r2, #0x24]\n" + " mov r1, #0x2e\n" + " ldsh r0, [r2, r1]\n" + " lsl r0, r0, #0x3\n" + " strh r0, [r2, #0x26]\n" + " ldrh r0, [r2, #0x30]\n" + " add r3, r0, #1\n" + " strh r3, [r2, #0x30]\n" + " mov r0, #0x2e\n" + " ldsh r1, [r2, r0]\n" + " ldr r0, [r4]\n" + " ldrb r0, [r0, #0xa]\n" + " cmp r1, r0\n" + " bne ._775 @cond_branch\n" + " mov r0, #0x8\n" + " and r3, r3, r0\n" + " cmp r3, #0\n" + " bne ._775 @cond_branch\n" + "._766:\n" + " add r0, r2, #0\n" + " add r0, r0, #0x3e\n" + " ldrb r1, [r0]\n" + " mov r2, #0x4\n" + " orr r1, r1, r2\n" + " strb r1, [r0]\n" + " b ._776\n" + "._775:\n" + " add r2, r2, #0x3e\n" + " ldrb r1, [r2]\n" + " mov r0, #0x5\n" + " neg r0, r0\n" + " and r0, r0, r1\n" + " strb r0, [r2]\n" + "._776:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void InitSeeTrainers() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " bl debug_80C35DC\n" + " ldr r1, ._777\n" + " ldr r2, ._777 + 4\n" + " ldr r0, ._777 + 8\n" + " str r1, [r0]\n" + " str r2, [r0, #0x4]\n" + " ldr r1, ._777 + 12\n" + " str r1, [r0, #0x8]\n" + " ldr r0, [r0, #0x8]\n" + " ldr r0, ._777 + 16\n" + " mov r1, #0x80\n" + " mov r2, #0x60\n" + " bl LoadPalette\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r5, #0x0\n" + " str r5, [sp]\n" + " mov r1, #0x0\n" + " mov r2, #0x10\n" + " mov r3, #0x0\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._777 + 20\n" + " mov r6, #0x0\n" + " strh r5, [r0]\n" + " add r0, r0, #0x4\n" + " strh r5, [r0]\n" + " sub r0, r0, #0x2\n" + " strh r5, [r0]\n" + " add r0, r0, #0x4\n" + " strh r5, [r0]\n" + " ldr r1, ._777 + 24\n" + " mov r0, #0x3f\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " mov r0, #0x1f\n" + " strh r0, [r1]\n" + " add r1, r1, #0x6\n" + " mov r0, #0xf1\n" + " strh r0, [r1]\n" + " ldr r0, ._777 + 28\n" + " strh r5, [r0]\n" + " add r1, r1, #0x4\n" + " mov r0, #0x7\n" + " strh r0, [r1]\n" + " ldr r3, ._777 + 32\n" + " ldrh r2, [r3]\n" + " strh r5, [r3]\n" + " ldr r4, ._777 + 36\n" + " ldrh r0, [r4]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " strh r0, [r4]\n" + " strh r2, [r3]\n" + " ldr r0, ._777 + 40\n" + " bl SetVBlankCallback\n" + " ldr r0, ._777 + 44\n" + " bl SetMainCallback2\n" + " ldr r1, ._777 + 48\n" + " ldr r2, ._777 + 52\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r2, ._777 + 56\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " sub r1, r1, #0xa\n" + " mov r2, #0xcd\n" + " lsl r2, r2, #0x6\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, ._777 + 60\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " ldr r1, ._777 + 64\n" + " ldr r0, ._777 + 68\n" + " str r0, [r1]\n" + " strh r5, [r0]\n" + " strb r6, [r0, #0x2]\n" + " strb r6, [r0, #0x3]\n" + " strb r6, [r0, #0x5]\n" + " strb r6, [r0, #0x7]\n" + " strb r6, [r0, #0xa]\n" + " strb r6, [r0, #0x8]\n" + " ldr r4, ._777 + 72\n" + " add r0, r4, #0\n" + " mov r1, #0x6c\n" + " mov r2, #0x74\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " ldr r6, ._777 + 76\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " strh r5, [r0, #0x2e]\n" + " mov r1, #0x0\n" + " bl StartSpriteAnim\n" + " add r0, r4, #0\n" + " mov r1, #0x6c\n" + " mov r2, #0x74\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " mov r1, #0x1\n" + " strh r1, [r0, #0x2e]\n" + " bl StartSpriteAnim\n" + " add r0, r4, #0\n" + " mov r1, #0x6c\n" + " mov r2, #0x74\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " mov r1, #0x2\n" + " strh r1, [r0, #0x2e]\n" + " bl StartSpriteAnim\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._778:\n" + " .align 2, 0\n" + "._777:\n" + " .word byte_83F88EC\n" + " .word 0x600e000\n" + " .word 0x40000d4\n" + " .word 0x80000400\n" + " .word word_83F888C\n" + " .word 0x4000040\n" + " .word 0x4000048\n" + " .word 0x4000052\n" + " .word 0x4000208\n" + " .word 0x4000200\n" + " .word debug_80C3758+1\n" + " .word debug_80C370C+1\n" + " .word 0x4000008\n" + " .word 0x1f0b\n" + " .word 0x1e0a\n" + " .word debug_80C777C+1\n" + " .word unk_debug_ewram_0+0x34\n" + " .word +0x2018000\n" + " .word unk_83F8868+0xc\n" + " .word gSprites\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C777C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xffffffec\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " ldr r1, ._784\n" + " mov r0, sp\n" + " mov r2, #0x12\n" + " bl memcpy\n" + " mov r0, #0x9\n" + " mov r1, #0x0\n" + " mov r2, #0xe\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x9\n" + " mov r3, #0x9\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x0\n" + " mov r1, #0xa\n" + " mov r2, #0x9\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0xe\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._784 + 4\n" + " mov r1, #0xf\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._784 + 8\n" + " mov r1, #0x19\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._784 + 12\n" + " mov r1, #0xf\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0xa\n" + " mov r1, #0x8\n" + " mov r2, #0x1d\n" + " mov r3, #0xc\n" + " bl MenuDrawTextWindow\n" + " mov r2, #0x0\n" + " ldr r4, ._784 + 16\n" + " ldr r0, ._784 + 20\n" + " add r3, r0, #0\n" + "._779:\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, r4\n" + " add r1, r2, r3\n" + " strh r1, [r0]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0xe\n" + " bls ._779 @cond_branch\n" + " mov r2, #0x0\n" + " ldr r5, ._784 + 24\n" + " lsl r6, r7, #0x2\n" + " mov r8, r6\n" + " ldr r4, ._784 + 28\n" + " ldr r0, ._784 + 32\n" + " add r3, r0, #0\n" + "._780:\n" + " lsl r0, r2, #0x1\n" + " add r0, r0, r4\n" + " add r1, r2, r3\n" + " strh r1, [r0]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0xe\n" + " bls ._780 @cond_branch\n" + " add r0, r5, #0\n" + " mov r1, #0x14\n" + " mov r2, #0xa\n" + " bl MenuPrint\n" + " mov r0, #0xa\n" + " mov r1, #0xd\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r1, sp\n" + " mov r0, #0x23\n" + " strb r0, [r1]\n" + " mov r2, #0x0\n" + " ldr r4, ._784 + 36\n" + " mov r5, #0x93\n" + " lsl r5, r5, #0x8\n" + " add r3, r5, #0\n" + "._781:\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r4\n" + " mov r6, sp\n" + " add r0, r6, r2\n" + " ldrb r0, [r0]\n" + " add r0, r0, r3\n" + " strh r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x11\n" + " bls ._781 @cond_branch\n" + " mov r1, sp\n" + " mov r0, #0x24\n" + " strb r0, [r1]\n" + " mov r2, #0x0\n" + " ldr r5, ._784 + 40\n" + " ldr r4, ._784 + 44\n" + " mov r0, #0x93\n" + " lsl r0, r0, #0x8\n" + " add r3, r0, #0\n" + "._782:\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r4\n" + " mov r6, sp\n" + " add r0, r6, r2\n" + " ldrb r0, [r0]\n" + " add r0, r0, r3\n" + " strh r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x11\n" + " bls ._782 @cond_branch\n" + " mov r1, sp\n" + " mov r0, #0x25\n" + " strb r0, [r1]\n" + " mov r2, #0x0\n" + " ldr r4, ._784 + 48\n" + " mov r0, #0x93\n" + " lsl r0, r0, #0x8\n" + " add r3, r0, #0\n" + "._783:\n" + " lsl r1, r2, #0x1\n" + " add r1, r1, r4\n" + " mov r6, sp\n" + " add r0, r6, r2\n" + " ldrb r0, [r0]\n" + " add r0, r0, r3\n" + " strh r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x11\n" + " bls ._783 @cond_branch\n" + " add r0, r5, #0\n" + " mov r1, #0xf\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " ldr r1, ._784 + 52\n" + " ldr r2, ._784 + 56\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r5, ._784 + 60\n" + " add r0, r5, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._784 + 64\n" + " mov r6, r8\n" + " add r0, r6, r7\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._784 + 68\n" + " str r1, [r0]\n" + " add sp, sp, #0x14\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._785:\n" + " .align 2, 0\n" + "._784:\n" + " .word gUnknown_Debug_083F8815\n" + " .word gUnknown_Debug_083F87D0\n" + " .word gUnknown_Debug_083F87D8\n" + " .word gUnknown_Debug_083F87E0\n" + " .word 0x600fa56\n" + " .word 0xa311\n" + " .word gUnknown_Debug_083F87F4\n" + " .word 0x600f256\n" + " .word 0x8301\n" + " .word 0x600f396\n" + " .word gUnknown_Debug_083F8801\n" + " .word 0x600f3d6\n" + " .word 0x600f416\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x699f\n" + " .word gTasks\n" + " .word debug_80C7934+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C7934() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xfffffff8\n" + " mov r8, r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " ldr r5, ._786\n" + " ldr r6, [r5]\n" + " ldrh r2, [r6]\n" + " lsl r0, r2, #0x3\n" + " ldr r1, ._786 + 4\n" + " add r0, r0, r1\n" + " ldr r1, ._786 + 8\n" + " lsl r2, r2, #0x2\n" + " add r2, r2, r1\n" + " ldrb r1, [r2]\n" + " ldrb r2, [r2, #0x1]\n" + " ldr r4, ._786 + 12\n" + " ldr r3, [r4]\n" + " ldr r4, [r4, #0x4]\n" + " str r4, [sp]\n" + " ldrh r4, [r6]\n" + " str r4, [sp, #0x4]\n" + " bl DecompressPicFromTable_2\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._786 + 16\n" + " add r0, r0, r1\n" + " bl LoadCompressedObjectPalette\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x1\n" + " bl GetMonSpriteTemplate_803C5A0\n" + " ldr r0, ._786 + 20\n" + " mov r1, #0x28\n" + " mov r2, #0x28\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " ldr r1, [r5]\n" + " mov r6, #0x0\n" + " strb r0, [r1, #0x2]\n" + " ldr r4, ._786 + 24\n" + " ldr r2, [r5]\n" + " ldrb r1, [r2, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r1, r4, #0\n" + " add r1, r1, #0x1c\n" + " add r0, r0, r1\n" + " ldr r1, ._786 + 28\n" + " str r1, [r0]\n" + " ldrb r0, [r2, #0x2]\n" + " lsl r1, r0, #0x4\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r4\n" + " ldrb r2, [r1, #0x5]\n" + " mov r0, #0xd\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " strb r0, [r1, #0x5]\n" + " ldr r0, [r5]\n" + " ldrh r0, [r0]\n" + " mov r1, #0x1a\n" + " mov r2, #0x5\n" + " bl debug_80C376C\n" + " ldr r2, [r5]\n" + " ldrb r1, [r2, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r4\n" + " ldrb r0, [r0, #0x5]\n" + " lsr r0, r0, #0x4\n" + " strb r0, [r2, #0x6]\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " ldr r4, ._786 + 32\n" + " add r0, r0, r4\n" + " ldr r2, ._786 + 36\n" + " add r1, r4, r2\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r4\n" + " ldr r1, ._786 + 40\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r1, ._786 + 44\n" + " mov r2, r8\n" + " lsl r0, r2, #0x2\n" + " add r0, r0, r8\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._786 + 48\n" + " str r1, [r0]\n" + " ldr r0, [r5]\n" + " strb r6, [r0, #0x9]\n" + " add sp, sp, #0x8\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._787:\n" + " .align 2, 0\n" + "._786:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gTrainerFrontPicTable\n" + " .word gTrainerFrontPicCoords\n" + " .word gUnknown_081FAF4C\n" + " .word gTrainerFrontPicPaletteTable\n" + " .word gUnknown_02024E8C\n" + " .word gSprites\n" + " .word debug_69+1\n" + " .word gPlttBufferUnfaded+0x200\n" + " .word 0xffffff00\n" + " .word gPlttBufferFaded+0x100\n" + " .word gTasks\n" + " .word debug_80C7A54+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C7A54() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " lsl r6, r6, #0x18\n" + " lsr r6, r6, #0x18\n" + " ldr r4, ._788\n" + " ldr r5, ._788 + 4\n" + " ldr r1, [r5]\n" + " add r1, r1, #0x10\n" + " add r0, r4, #0\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, ._788 + 8\n" + " add r4, r4, r0\n" + " ldr r3, [r5]\n" + " ldrb r0, [r3, #0x7]\n" + " add r0, r0, #0x81\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r4\n" + " ldrh r4, [r0]\n" + " mov r1, #0x1f\n" + " and r1, r1, r4\n" + " ldrb r2, [r3, #0xc]\n" + " mov r0, #0x20\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r3, #0xc]\n" + " ldr r3, [r5]\n" + " mov r1, #0xf8\n" + " lsl r1, r1, #0x2\n" + " and r1, r1, r4\n" + " ldrh r2, [r3, #0xc]\n" + " ldr r0, ._788 + 12\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strh r0, [r3, #0xc]\n" + " mov r1, #0xf8\n" + " lsl r1, r1, #0x7\n" + " and r1, r1, r4\n" + " lsr r1, r1, #0x8\n" + " ldrb r2, [r3, #0xd]\n" + " mov r0, #0x7d\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r3, #0xd]\n" + " ldr r2, [r5]\n" + " ldrb r1, [r2, #0xd]\n" + " mov r0, #0x7f\n" + " and r0, r0, r1\n" + " strb r0, [r2, #0xd]\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x7]\n" + " add r0, r0, #0x1\n" + " mov r1, #0xb\n" + " mov r2, #0xa\n" + " mov r3, #0x2\n" + " bl debug_80C68CC\n" + " ldr r0, ._788 + 16\n" + " mov r1, #0xd\n" + " mov r2, #0xa\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " mov r1, #0xe\n" + " mov r2, #0xa\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " ldr r1, ._788 + 20\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._788 + 24\n" + " str r1, [r0]\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._789:\n" + " .align 2, 0\n" + "._788:\n" + " .word gPlttBufferUnfaded+0x100\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0xffffff00\n" + " .word 0xfffffc1f\n" + " .word gUnknown_Debug_083F8813\n" + " .word gTasks\n" + " .word debug_80C7B14+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C7B14() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " ldr r1, ._792\n" + " ldrh r3, [r1, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r3\n" + " add r4, r1, #0\n" + " cmp r0, #0\n" + " beq ._790 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._792 + 4\n" + " bl SetMainCallback2\n" + " ldr r1, ._792 + 8\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._792 + 12\n" + " str r1, [r0]\n" + " b ._821\n" + "._793:\n" + " .align 2, 0\n" + "._792:\n" + " .word gMain\n" + " .word debug_80C370C+1\n" + " .word gTasks\n" + " .word debug_80C373C+1\n" + "._790:\n" + " ldrh r1, [r4, #0x30]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._794 @cond_branch\n" + " ldr r4, ._796\n" + " ldr r0, [r4]\n" + " ldrh r1, [r0]\n" + " mov r0, #0x0\n" + " b ._795\n" + "._797:\n" + " .align 2, 0\n" + "._796:\n" + " .word unk_debug_ewram_0+0x34\n" + "._794:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._798 @cond_branch\n" + " ldr r4, ._800\n" + " ldr r0, [r4]\n" + " ldrh r1, [r0]\n" + " mov r0, #0x1\n" + "._795:\n" + " bl debug_80C38B4\n" + " ldr r1, [r4]\n" + " strh r0, [r1]\n" + " ldr r1, ._800 + 4\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._800 + 8\n" + " str r1, [r0]\n" + " b ._821\n" + "._801:\n" + " .align 2, 0\n" + "._800:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gTasks\n" + " .word debug_80C7D44+1\n" + "._798:\n" + " mov r2, #0x1\n" + " and r2, r2, r3\n" + " cmp r2, #0\n" + " beq ._802 @cond_branch\n" + " ldr r0, ._804\n" + " ldr r1, [r0]\n" + " mov r0, #0x1\n" + " strb r0, [r1, #0x5]\n" + " ldr r1, ._804 + 4\n" + " ldr r2, ._804 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._804 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r1, ._804 + 16\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._804 + 20\n" + " str r1, [r0]\n" + " b ._821\n" + "._805:\n" + " .align 2, 0\n" + "._804:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x4167\n" + " .word gTasks\n" + " .word debug_80C7DDC+1\n" + "._802:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " ldr r3, ._809\n" + " cmp r0, #0\n" + " beq ._807 @cond_branch\n" + " ldr r1, [r3]\n" + " ldrb r0, [r1, #0x7]\n" + " cmp r0, #0xd\n" + " bhi ._807 @cond_branch\n" + " lsl r0, r0, #0x1\n" + " ldr r1, ._809 + 4\n" + " add r0, r0, r1\n" + " strh r2, [r0]\n" + " ldr r1, [r3]\n" + " ldrb r0, [r1, #0x7]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1, #0x7]\n" + " b ._813\n" + "._810:\n" + " .align 2, 0\n" + "._809:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x5000102\n" + "._807:\n" + " ldrh r1, [r4, #0x30]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._812 @cond_branch\n" + " ldr r1, [r3]\n" + " ldrb r0, [r1, #0x7]\n" + " cmp r0, #0\n" + " beq ._812 @cond_branch\n" + " lsl r0, r0, #0x1\n" + " ldr r2, ._814\n" + " add r0, r0, r2\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " ldr r1, [r3]\n" + " ldrb r0, [r1, #0x7]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1, #0x7]\n" + " b ._813\n" + "._815:\n" + " .align 2, 0\n" + "._814:\n" + " .word 0x5000102\n" + "._812:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._816 @cond_branch\n" + " ldr r4, ._819\n" + " ldr r2, [r4]\n" + " ldrb r0, [r2, #0x9]\n" + " mov r1, #0x1\n" + " eor r0, r0, r1\n" + " strb r0, [r2, #0x9]\n" + " ldr r1, [r4]\n" + " ldrb r0, [r1, #0x9]\n" + " cmp r0, #0\n" + " beq ._817 @cond_branch\n" + " ldrh r0, [r1]\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " bl species_and_otid_get_pal\n" + " ldr r1, [r4]\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x14\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x11\n" + " add r1, r1, r2\n" + " lsr r1, r1, #0x10\n" + " mov r2, #0x20\n" + " bl LoadCompressedPalette\n" + " b ._818\n" + "._820:\n" + " .align 2, 0\n" + "._819:\n" + " .word unk_debug_ewram_0+0x34\n" + "._817:\n" + " ldrh r0, [r1]\n" + " mov r1, #0x0\n" + " mov r2, #0x9\n" + " bl species_and_otid_get_pal\n" + " ldr r1, [r4]\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x14\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x11\n" + " add r1, r1, r2\n" + " lsr r1, r1, #0x10\n" + " mov r2, #0x20\n" + " bl LoadCompressedPalette\n" + "._818:\n" + " ldr r5, ._822\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " ldr r4, ._822 + 4\n" + " add r0, r0, r4\n" + " ldr r2, ._822 + 8\n" + " add r1, r4, r2\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, [r5]\n" + " ldrb r0, [r0, #0x6]\n" + " lsl r0, r0, #0x5\n" + " add r0, r0, r4\n" + " ldr r1, ._822 + 12\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + "._813:\n" + " ldr r1, ._822 + 16\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._822 + 20\n" + " str r1, [r0]\n" + " b ._821\n" + "._823:\n" + " .align 2, 0\n" + "._822:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gPlttBufferUnfaded+0x200\n" + " .word 0xffffff00\n" + " .word gPlttBufferFaded+0x100\n" + " .word gTasks\n" + " .word debug_80C7A54+1\n" + "._816:\n" + " ldr r1, [r3]\n" + " ldrb r0, [r1, #0x8]\n" + " add r0, r0, #0x4\n" + " strb r0, [r1, #0x8]\n" + " ldr r2, [r3]\n" + " ldrb r1, [r2, #0x8]\n" + " mov r0, #0x1f\n" + " and r0, r0, r1\n" + " strb r0, [r2, #0x8]\n" + " ldr r0, [r3]\n" + " ldrb r1, [r0, #0x7]\n" + " lsl r1, r1, #0x1\n" + " ldr r2, ._824\n" + " add r1, r1, r2\n" + " ldr r2, ._824 + 4\n" + " ldrb r0, [r0, #0x8]\n" + " lsl r0, r0, #0x1\n" + " add r0, r0, r2\n" + " ldrh r0, [r0]\n" + " strh r0, [r1]\n" + "._821:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._825:\n" + " .align 2, 0\n" + "._824:\n" + " .word 0x5000142\n" + " .word gUnknown_Debug_083F8790\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C7D44() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " ldr r6, ._826\n" + " ldr r4, ._826 + 4\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldrb r0, [r0, #0x5]\n" + " lsr r0, r0, #0x4\n" + " bl GetSpritePaletteTagByPaletteNum\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl FreeSpritePaletteByTag\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x2]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " bl DestroySprite\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x3]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldrb r0, [r0, #0x5]\n" + " lsr r0, r0, #0x4\n" + " bl GetSpritePaletteTagByPaletteNum\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl FreeSpritePaletteByTag\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x3]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " bl DestroySprite\n" + " ldr r0, [r4]\n" + " ldrb r1, [r0, #0x4]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " bl sub_809D510\n" + " ldr r1, ._826 + 8\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._826 + 12\n" + " str r1, [r0]\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._827:\n" + " .align 2, 0\n" + "._826:\n" + " .word gSprites\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gTasks\n" + " .word debug_80C7934+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C7DDC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " ldr r0, ._830\n" + " ldrh r2, [r0, #0x2e]\n" + " mov r1, #0x1\n" + " and r1, r1, r2\n" + " add r3, r0, #0\n" + " cmp r1, #0\n" + " beq ._828 @cond_branch\n" + " ldr r0, ._830 + 4\n" + " ldr r1, [r0]\n" + " mov r0, #0x0\n" + " strb r0, [r1, #0x5]\n" + " ldr r1, ._830 + 8\n" + " ldr r2, ._830 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._830 + 16\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " b ._829\n" + "._831:\n" + " .align 2, 0\n" + "._830:\n" + " .word gMain\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x699f\n" + "._828:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._832 @cond_branch\n" + " ldr r6, ._834\n" + " ldr r0, [r6]\n" + " strb r1, [r0, #0x5]\n" + " ldr r1, ._834 + 4\n" + " ldr r2, ._834 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x4\n" + " ldr r2, ._834 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " ldr r0, [r6]\n" + " add r0, r0, #0x10\n" + " ldr r4, ._834 + 16\n" + " add r1, r4, #0\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r0, [r6]\n" + " add r0, r0, #0x10\n" + " ldr r5, ._834 + 20\n" + " add r1, r5, #0\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r1, [r6]\n" + " add r0, r1, #0\n" + " add r0, r0, #0x10\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x5\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r4, r4, r2\n" + " add r1, r1, r4\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + " ldr r1, [r6]\n" + " add r0, r1, #0\n" + " add r0, r0, #0x10\n" + " ldrb r1, [r1, #0x6]\n" + " lsl r1, r1, #0x5\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r5, r5, r2\n" + " add r1, r1, r5\n" + " mov r2, #0x10\n" + " bl CpuSet\n" + "._829:\n" + " ldr r1, ._834 + 24\n" + " lsl r0, r7, #0x2\n" + " add r0, r0, r7\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._834 + 28\n" + " str r1, [r0]\n" + " b ._871\n" + "._835:\n" + " .align 2, 0\n" + "._834:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word 0x4000040\n" + " .word 0x51ef\n" + " .word 0x699f\n" + " .word gPlttBufferUnfaded+0x100\n" + " .word gPlttBufferFaded+0x100\n" + " .word gTasks\n" + " .word debug_80C7A54+1\n" + "._832:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._837 @cond_branch\n" + " ldr r0, ._839\n" + " ldr r1, [r0]\n" + " ldrb r0, [r1, #0xa]\n" + " cmp r0, #0x1\n" + " bhi ._837 @cond_branch\n" + " add r0, r0, #0x1\n" + " strb r0, [r1, #0xa]\n" + " b ._871\n" + "._840:\n" + " .align 2, 0\n" + "._839:\n" + " .word unk_debug_ewram_0+0x34\n" + "._837:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._842 @cond_branch\n" + " ldr r0, ._844\n" + " ldr r1, [r0]\n" + " ldrb r0, [r1, #0xa]\n" + " cmp r0, #0\n" + " beq ._842 @cond_branch\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1, #0xa]\n" + " b ._871\n" + "._845:\n" + " .align 2, 0\n" + "._844:\n" + " .word unk_debug_ewram_0+0x34\n" + "._842:\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._846 @cond_branch\n" + " ldr r0, ._851\n" + " ldr r2, [r0]\n" + " ldrb r0, [r2, #0xa]\n" + " cmp r0, #0x1\n" + " beq ._847 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._848 @cond_branch\n" + " cmp r0, #0\n" + " beq ._849 @cond_branch\n" + " b ._871\n" + "._852:\n" + " .align 2, 0\n" + "._851:\n" + " .word unk_debug_ewram_0+0x34\n" + "._848:\n" + " cmp r0, #0x2\n" + " beq ._853 @cond_branch\n" + " b ._871\n" + "._849:\n" + " ldrb r3, [r2, #0xc]\n" + " lsl r1, r3, #0x1b\n" + " lsr r0, r1, #0x1b\n" + " cmp r0, #0x1e\n" + " bhi ._878 @cond_branch\n" + " add r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " mov r1, #0x20\n" + " neg r1, r1\n" + " and r1, r1, r3\n" + " orr r1, r1, r0\n" + " strb r1, [r2, #0xc]\n" + " b ._878\n" + "._847:\n" + " ldrh r3, [r2, #0xc]\n" + " lsl r1, r3, #0x16\n" + " lsr r0, r1, #0x1b\n" + " cmp r0, #0x1e\n" + " bhi ._878 @cond_branch\n" + " add r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " ldr r1, ._859\n" + " and r1, r1, r3\n" + " orr r1, r1, r0\n" + " strh r1, [r2, #0xc]\n" + " b ._878\n" + "._860:\n" + " .align 2, 0\n" + "._859:\n" + " .word 0xfffffc1f\n" + "._853:\n" + " ldrb r3, [r2, #0xd]\n" + " lsl r1, r3, #0x19\n" + " lsr r0, r1, #0x1b\n" + " cmp r0, #0x1e\n" + " bhi ._878 @cond_branch\n" + " add r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " mov r1, #0x7d\n" + " neg r1, r1\n" + " and r1, r1, r3\n" + " orr r1, r1, r0\n" + " strb r1, [r2, #0xd]\n" + " b ._878\n" + "._846:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._871 @cond_branch\n" + " ldr r0, ._868\n" + " ldr r3, [r0]\n" + " ldrb r0, [r3, #0xa]\n" + " cmp r0, #0x1\n" + " beq ._864 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._865 @cond_branch\n" + " cmp r0, #0\n" + " beq ._866 @cond_branch\n" + " b ._871\n" + "._869:\n" + " .align 2, 0\n" + "._868:\n" + " .word unk_debug_ewram_0+0x34\n" + "._865:\n" + " cmp r0, #0x2\n" + " beq ._870 @cond_branch\n" + " b ._871\n" + "._866:\n" + " ldrb r2, [r3, #0xc]\n" + " mov r0, #0x1f\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._878 @cond_branch\n" + " lsl r0, r2, #0x1b\n" + " lsr r0, r0, #0x1b\n" + " sub r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " mov r1, #0x20\n" + " neg r1, r1\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strb r1, [r3, #0xc]\n" + " b ._878\n" + "._864:\n" + " ldrh r2, [r3, #0xc]\n" + " mov r0, #0xf8\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._878 @cond_branch\n" + " lsl r0, r2, #0x16\n" + " lsr r0, r0, #0x1b\n" + " sub r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x5\n" + " ldr r1, ._876\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strh r1, [r3, #0xc]\n" + " b ._878\n" + "._877:\n" + " .align 2, 0\n" + "._876:\n" + " .word 0xfffffc1f\n" + "._870:\n" + " ldrb r2, [r3, #0xd]\n" + " mov r0, #0x7c\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._878 @cond_branch\n" + " lsl r0, r2, #0x19\n" + " lsr r0, r0, #0x1b\n" + " sub r0, r0, #0x1\n" + " mov r1, #0x1f\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " mov r1, #0x7d\n" + " neg r1, r1\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strb r1, [r3, #0xd]\n" + "._878:\n" + " ldr r0, ._879\n" + " lsl r1, r7, #0x2\n" + " add r1, r1, r7\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " ldr r0, ._879 + 4\n" + " str r0, [r1]\n" + "._871:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._880:\n" + " .align 2, 0\n" + "._879:\n" + " .word gTasks\n" + " .word debug_80C802C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_80C802C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " ldr r0, ._881\n" + " ldr r3, [r0]\n" + " ldrb r0, [r3, #0xc]\n" + " lsl r0, r0, #0x1b\n" + " lsr r0, r0, #0x1b\n" + " ldrh r2, [r3, #0xc]\n" + " mov r1, #0xf8\n" + " lsl r1, r1, #0x2\n" + " and r1, r1, r2\n" + " add r0, r0, r1\n" + " ldrb r1, [r3, #0xd]\n" + " lsl r1, r1, #0x19\n" + " lsr r1, r1, #0x1b\n" + " lsl r1, r1, #0xa\n" + " add r0, r0, r1\n" + " ldr r6, ._881 + 4\n" + " ldrb r1, [r3, #0x7]\n" + " add r1, r1, #0x81\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r6\n" + " strh r0, [r1]\n" + " ldr r1, ._881 + 8\n" + " mov r8, r1\n" + " ldrb r1, [r3, #0x7]\n" + " add r1, r1, #0x81\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r8\n" + " strh r0, [r1]\n" + " ldrb r1, [r3, #0x6]\n" + " lsl r1, r1, #0x4\n" + " ldrb r2, [r3, #0x7]\n" + " ldr r4, ._881 + 12\n" + " add r2, r2, r4\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r6\n" + " strh r0, [r1]\n" + " ldrb r1, [r3, #0x6]\n" + " lsl r1, r1, #0x4\n" + " ldrb r2, [r3, #0x7]\n" + " add r2, r2, r4\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x1\n" + " add r1, r1, r8\n" + " strh r0, [r1]\n" + " mov r1, #0xe\n" + " mov r2, #0xa\n" + " mov r3, #0x4\n" + " bl debug_80C68CC\n" + " ldr r1, ._881 + 16\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._881 + 20\n" + " str r1, [r0]\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._882:\n" + " .align 2, 0\n" + "._881:\n" + " .word unk_debug_ewram_0+0x34\n" + " .word gPlttBufferUnfaded\n" + " .word gPlttBufferFaded\n" + " .word 0x101\n" + " .word gTasks\n" + " .word debug_80C7DDC+1\n" + "\n" + ); +} + +#endif diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 44d832e2b..03a64afc6 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -360,6 +360,10 @@ void sub_80831F8(u8 taskId) || sub_8082DF4(taskId) == TRUE) return; +#ifdef DEBUG + sub_8082D60(taskId, GetLinkPlayerCount_2()); +#endif + gSpecialVar_Result = sub_8082D9C(local1, local2); if (gSpecialVar_Result == 0) return; diff --git a/src/engine/clock.c b/src/engine/clock.c index 416aaa6bb..fceccdfcb 100644 --- a/src/engine/clock.c +++ b/src/engine/clock.c @@ -13,12 +13,11 @@ #include "tv.h" #include "wallclock.h" -static void InitTimeBasedEvents(void); static void UpdatePerDay(struct Time *time); static void UpdatePerMinute(struct Time *time); static void ReturnFromStartWallClock(void); -static void InitTimeBasedEvents(void) +void InitTimeBasedEvents(void) { FlagSet(FLAG_SYS_CLOCK_SET); RtcCalcLocalTime(); diff --git a/src/engine/link.c b/src/engine/link.c index 34016d607..502715116 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1,4 +1,5 @@ #include "global.h" +#include "cable_club.h" #include "link.h" #include "battle.h" #include "berry.h" @@ -543,6 +544,9 @@ static void ProcessRecvCmds(u8 unusedParam) else { SetBlockReceivedFlag(i); +#ifdef DEBUG + debug_sub_808B838(i); +#endif } } break; @@ -975,6 +979,143 @@ static void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) } } +#ifdef DEBUG + +EWRAM_DATA u16 *debugCharacterBase = NULL; +EWRAM_DATA void *unk_20238C8 = NULL; +EWRAM_DATA u16 (*debugTileMap)[] = NULL; +EWRAM_DATA u32 unk_20238D0 = 0; + +void debug_sub_8008218(u16 *buffer, void *arg1, u16 (*arg2)[], u32 arg3) +{ + CpuSet(sLinkTestDigitTiles, buffer, 272); + debugCharacterBase = buffer; + unk_20238C8 = arg1; + debugTileMap = arg2; + unk_20238D0 = arg3; +} + +#ifdef NONMATCHING +void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) +{ + u32 buffer[8]; + u32 *ptr; + + u16 *dest; + + int i; + + if (unk_20238D0 != sp0) + return; + + r3 = max(r3, 8); + + ptr = &buffer[0]; + dest = &(*debugTileMap)[left + top * 32]; + + for (i = r3; i != 0; i--) + { + *(ptr++) = value & 0xF; + value = value >> 4; + } + + ptr = &buffer[8 - r3]; + for (i = r3; i != 0; i--) + { + int charOffset = (((uintptr_t) debugCharacterBase) - ((uintptr_t) unk_20238C8)) / 32; + *dest = *ptr + charOffset + 1; + ptr--; + dest++; + } +} +#else +__attribute__((naked)) +void debug_sub_8008264() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xffffffe0\n" + " add r5, r0, #0\n" + " add r6, r1, #0\n" + " add r4, r3, #0\n" + " ldr r0, [sp, #0x38]\n" + " ldr r1, ._347\n" + " ldr r1, [r1]\n" + " cmp r1, r0\n" + " bne ._345 @cond_branch\n" + " cmp r4, #0x8\n" + " ble ._342 @cond_branch\n" + " mov r4, #0x8\n" + "._342:\n" + " mov r3, sp\n" + " ldr r0, ._347 + 4\n" + " mov r8, r0\n" + " lsl r2, r2, #0x6\n" + " mov ip, r2\n" + " lsl r6, r6, #0x1\n" + " lsl r7, r4, #0x2\n" + " cmp r4, #0\n" + " ble ._343 @cond_branch\n" + " mov r1, #0xf\n" + " add r2, r4, #0\n" + "._344:\n" + " add r0, r5, #0\n" + " and r0, r0, r1\n" + " stmia r3!, {r0}\n" + " lsr r5, r5, #0x4\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bne ._344 @cond_branch\n" + "._343:\n" + " mov r1, r8\n" + " ldr r0, [r1]\n" + " add r0, r0, ip\n" + " add r5, r0, r6\n" + " mov r1, sp\n" + " add r0, r1, r7\n" + " sub r3, r0, #4\n" + " cmp r4, #0\n" + " ble ._345 @cond_branch\n" + " ldr r7, ._347 + 8\n" + " ldr r6, ._347 + 12\n" + " add r2, r4, #0\n" + "._346:\n" + " ldr r1, [r7]\n" + " ldr r0, [r6]\n" + " sub r1, r1, r0\n" + " lsr r1, r1, #0x5\n" + " ldr r0, [r3]\n" + " add r0, r0, r1\n" + " add r0, r0, #0x1\n" + " strh r0, [r5]\n" + " sub r3, r3, #0x4\n" + " add r5, r5, #0x2\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bne ._346 @cond_branch\n" + "._345:\n" + " add sp, sp, #0x20\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._348:\n" + " .align 2, 0\n" + "._347:\n" + " .word unk_20238D0\n" + " .word debugTileMap\n" + " .word debugCharacterBase\n" + " .word unk_20238C8\n" + "\n" + ); +} +#endif + +#endif + static void LinkCB_RequestPlayerDataExchange(void) { // Only one request needs to be sent, so only the master sends it. diff --git a/src/engine/rtc.c b/src/engine/rtc.c index d73f943d2..a56fcd44e 100644 --- a/src/engine/rtc.c +++ b/src/engine/rtc.c @@ -268,6 +268,28 @@ void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day) *dest = EOS; } +#ifdef DEBUG + +void debug_sub_800987C(u8 *dest) +{ + FormatHexDate(dest, sRtc.year, sRtc.month, sRtc.day); +} + +void debug_sub_8009894(u8 *dest) +{ + u16 dayCount; + + dayCount = RtcGetDayCount(&sRtc); + ConvertIntToDecimalStringN(dest, dayCount, STR_CONV_MODE_RIGHT_ALIGN, 4); +} + +void debug_sub_80098B8(u8 *dest) +{ + ConvertIntToHexStringN(dest, sRtc.status, STR_CONV_MODE_LEADING_ZEROS, 2); +} + +#endif + void RtcCalcTimeDifference(struct SiiRtcInfo *rtc, struct Time *result, struct Time *t) { u16 days = RtcGetDayCount(rtc); @@ -347,3 +369,10 @@ u32 RtcGetMinuteCount() RtcGetInfo(&sRtc); return (24 * 60) * RtcGetDayCount(&sRtc) + 60 * sRtc.hour + sRtc.minute; } + +#ifdef DEBUG +void debug_sub_8009A60() +{ + RtcGetRawInfo(&sRtc); +} +#endif diff --git a/src/engine/save.c b/src/engine/save.c index d5de2e408..8b045eaaa 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -574,6 +574,83 @@ u16 CalculateChecksum(void *data, u16 size) return ((checksum >> 16) + checksum); } +#ifdef DEBUG +__attribute__((naked)) +void sub_813B79C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " ldr r4, ._163\n" + " ldr r6, ._163 + 4\n" + " mov r5, #0x0\n" + "._161:\n" + " lsl r0, r5, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r1, r4, #0\n" + " bl DoReadFlashWholeSection\n" + " ldr r1, ._163 + 8\n" + " add r0, r4, r1\n" + " ldrh r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r6\n" + " ldrh r1, [r0, #0x4]\n" + " add r0, r4, #0\n" + " bl CalculateChecksum\n" + " ldr r2, ._163 + 12\n" + " add r1, r4, r2\n" + " strh r0, [r1]\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " bl gScriptFuncs_End+0x2f60\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " cmp r5, #0x1b\n" + " bls ._161 @cond_branch\n" + " ldr r6, ._163\n" + " ldr r7, ._163 + 16\n" + " mov r5, #0x0\n" + "._162:\n" + " add r4, r5, #0\n" + " add r4, r4, #0x1c\n" + " lsl r0, r4, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r1, r6, #0\n" + " bl DoReadFlashWholeSection\n" + " lsl r0, r5, #0x3\n" + " add r0, r0, r7\n" + " ldrh r1, [r0, #0x4]\n" + " add r0, r6, #0\n" + " bl CalculateChecksum\n" + " ldr r2, ._163 + 8\n" + " add r1, r6, r2\n" + " strh r0, [r1]\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl gScriptFuncs_End+0x2f60\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x10\n" + " lsr r5, r0, #0x10\n" + " cmp r5, #0x1\n" + " bls ._162 @cond_branch\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._164:\n" + " .align 2, 0\n" + "._163:\n" + " .word +0x2000000\n" + " .word gSaveSectionLocations\n" + " .word 0xff4\n" + " .word 0xff6\n" + " .word gHallOfFameSaveSectionLocations\n" + "\n" + ); +} +#endif + u8 HandleSavingData(u8 saveType) { u8 i; diff --git a/src/engine/sprite.c b/src/engine/sprite.c index cf35e12a3..cec3d0b3a 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -1,8 +1,10 @@ #include "global.h" +#include "debug.h" #include "sprite.h" #include "main.h" #include "menu_cursor.h" #include "palette.h" +#include "sprite.h" #define MAX_SPRITE_COPY_REQUESTS 64 @@ -822,6 +824,12 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } +#ifdef DEBUG + else + { + unref_sub_80AB084(sDmaOverErrorMsg); + } +#endif } void RequestSpriteCopy(const void *src, u8 *dest, u16 size) @@ -833,6 +841,12 @@ void RequestSpriteCopy(const void *src, u8 *dest, u16 size) gSpriteCopyRequests[gSpriteCopyRequestCount].size = size; gSpriteCopyRequestCount++; } +#ifdef DEBUG + else + { + unref_sub_80AB084(sDmaOverErrorMsg); + } +#endif } // these two functions are unused. diff --git a/src/engine/task.c b/src/engine/task.c index 7bd2b5937..ed17d28bb 100644 --- a/src/engine/task.c +++ b/src/engine/task.c @@ -1,4 +1,5 @@ #include "global.h" +#include "debug.h" #include "task.h" #define ACTIVE_SENTINEL 0x10 @@ -11,8 +12,9 @@ struct Task gTasks[ACTIVE_SENTINEL]; static void InsertTask(u8 newTaskId); static u8 FindFirstActiveTask(); -// Unused string -const u8 sTaskOverString[] = _("TASK OVER\nタスクがオーバーしました"); +const u8 gError_NoTasksLeft[] = _( + "TASK OVER\n" + "タスクがオーバーしました"); void ResetTasks() { @@ -49,6 +51,10 @@ u8 CreateTask(TaskFunc func, u8 priority) } } +#ifdef DEBUG + unref_sub_80AB084(gError_NoTasksLeft); +#endif + return 0; } diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index 9d09575c8..daa513145 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -5,6 +5,7 @@ #include "field_effect.h" #include "graphics.h" #include "link.h" +#include "m4a.h" #include "main.h" #include "menu.h" #include "money.h" @@ -52,7 +53,6 @@ extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; -extern const u8 gBadgesTiles[]; extern const u16 gUnknown_083B5F0C[]; extern const u16 gBadgesPalette[]; extern const u16 gUnknown_083B5F4C[]; @@ -63,6 +63,34 @@ const u8 gBadgesTiles[] = INCBIN_U8("graphics/trainer_card/badges.4bpp"); // XXX: what is this? u8 *const ewram_ = gSharedMem; +#ifdef DEBUG +const struct TrainerCard gUnknown_Debug_083E0448 = +{ + .gender = FEMALE, + .stars = 4, + .hasPokedex = TRUE, + .var_3 = TRUE, + .var_4 = TRUE, + .firstHallOfFameA = 999, + .firstHallOfFameB = 99, + .firstHallOfFameC = 99, + .pokedexSeen = 411, + .trainerId = 12345, + .playTimeHours = 99, + .playTimeMinutes = 99, + .linkBattleWins = 9999, + .linkBattleLosses = 9999, + .battleTowerWins = 9999, + .battleTowerLosses = 9999, + .contestsWithFriends = 999, + .pokeblocksWithFriends = 0xFFFF, + .pokemonTrades = 0xFFFF, + .money = 99999, + .var_28 = {1, 2, 3, 4}, + .playerName = _("てすと"), +}; +#endif + bool8 TrainerCard_Init(struct Task *); bool8 TrainerCard_WaitForFadeInToFinish(struct Task *); bool8 TrainerCard_WaitForKeys(struct Task *); @@ -176,8 +204,15 @@ static void TrainerCard_Back_PrintPokemonTrades_Label(void); static void TrainerCard_Back_PrintPokemonTrades(void); void unref_sub_8094588(u16 left, u16 top); +#ifdef DEBUG +static u8 gDebug_03000748; +#endif + void TrainerCard_ShowPlayerCard(Callback arg1) { +#ifdef DEBUG + gDebug_03000748 = 0; +#endif TrainerCard_InitScreenForPlayer(arg1); SetMainCallback2(sub_8093174); ewram0_2.language = GAME_LANGUAGE; @@ -185,11 +220,41 @@ void TrainerCard_ShowPlayerCard(Callback arg1) void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) { +#ifdef DEBUG + gDebug_03000748 = 0; +#endif TrainerCard_InitScreenForLinkPlayer(playerIndex, arg2); SetMainCallback2(sub_8093174); ewram0_2.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; } +#ifdef DEBUG +void debug_sub_80A0710(Callback callback) +{ + gDebug_03000748 = TRUE; + TrainerCard_InitScreenForPlayer(callback); + SetMainCallback2(sub_8093174); + ewram0_2.language = GAME_LANGUAGE; +} + +void debug_sub_80A073C(Callback callback) +{ + memcpy(&gTrainerCards[0], &gUnknown_Debug_083E0448, sizeof(struct TrainerCard)); + gDebug_03000748=TRUE; + TrainerCard_InitScreenForLinkPlayer(0, callback); + SetMainCallback2(sub_8093174); + ewram0_2.language = GAME_LANGUAGE; +} + +void debug_sub_80A0780() +{ + int i; + + for (i = 0; i < 4; i++) + memcpy(&gTrainerCards[i], &gUnknown_Debug_083E0448, sizeof(struct TrainerCard)); +} +#endif + static void sub_8093174(void) { switch (gMain.state) @@ -553,6 +618,19 @@ static void TrainerCard_FillFlags(void) } } } + +#ifdef DEBUG + if (gDebug_03000748 != 0) + { + ewram0_2.showHallOfFame = TRUE; + ewram0_2.showLinkBattleStatus = TRUE; + ewram0_2.showBattleTowerStatus = TRUE; + ewram0_2.showContestRecord = TRUE; + ewram0_2.showMixingRecord = TRUE; + ewram0_2.showTradingRecord = TRUE; + memset(ewram0_2.ownedBadges, TRUE, sizeof(ewram0_2.ownedBadges)); + } +#endif } void sub_80937A4() @@ -645,6 +723,17 @@ bool8 TrainerCard_WaitForKeys(struct Task *task) } return TRUE; } +#ifdef DEBUG + else if (gDebug_03000748 && gMain.newKeys & R_BUTTON) + { + ewram0_2.starCount++; + ewram0_2.starCount %= 5; + TrainerCard_LoadPalettes(); + if (ewram0_2.backSideShown == 0) + TrainerCard_DrawStars(); + } +#endif + return FALSE; } @@ -1372,7 +1461,11 @@ static void TrainerCard_Front_PrintPokedexCount(void) { u8 buffer[16]; - if (!ewram0_2.showPokedexCount) + if ( +#ifdef DEBUG + gDebug_03000748 == 0 && +#endif + !ewram0_2.showPokedexCount) { TrainerCard_ClearPokedexLabel(); } diff --git a/src/field/berry.c b/src/field/berry.c index 088267ad0..7c6640dc8 100644 --- a/src/field/berry.c +++ b/src/field/berry.c @@ -999,6 +999,66 @@ extern u16 gSpecialVar_0x8006; static u8 CalcBerryYield(struct BerryTree *tree); static u16 GetStageDurationByBerryType(u8 berry); +#if DEBUG +__attribute__((naked)) +void debug_sub_80C2B04() +{ + asm( + " push {lr}\n" + " mov r0, #0x0\n" + " bl sub_80B47D8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._1\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldrh r0, [r1, #0x10]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r1, #0x10]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._2:\n" + " .align 2, 0\n" + "._1:\n" + " .word gTasks\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_80C2B30() +{ + asm( + " push {lr}\n" + " mov r0, #0x1\n" + " bl sub_80B47D8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._3\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r2\n" + " ldrh r0, [r1, #0x10]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r1, #0x10]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word gTasks\n" + "\n" + ); +} +#endif + // unused // this could be static, but making it so causes a compile-time warning. void ClearEnigmaBerries(void) @@ -1022,6 +1082,180 @@ void SetEnigmaBerry(u8 *src) gSaveBlock1.enigmaBerry.berry.description2 = gSaveBlock1.enigmaBerry.description2; } +#if DEBUG +__attribute__((naked)) +void debug_sub_80C2BD0() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " ldr r3, ._11\n" + " ldr r1, ._11 + 4\n" + " add r4, r3, r1\n" + " ldr r6, [r4]\n" + " add r1, r1, #0x4\n" + " add r2, r3, r1\n" + " ldr r7, [r2]\n" + " mov r1, #0x0\n" + " str r1, [r4]\n" + " str r1, [r2]\n" + " add r4, r0, #0\n" + " mov r2, #0x0\n" + " ldr r5, ._11 + 8\n" + "._10:\n" + " add r0, r4, r1\n" + " ldrb r0, [r0]\n" + " add r2, r2, r0\n" + " add r1, r1, #0x1\n" + " cmp r1, r5\n" + " bls ._10 @cond_branch\n" + " ldr r1, ._11 + 4\n" + " add r0, r3, r1\n" + " str r6, [r0]\n" + " add r1, r1, #0x4\n" + " add r0, r3, r1\n" + " str r7, [r0]\n" + " add r0, r2, #0\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._12:\n" + " .align 2, 0\n" + "._11:\n" + " .word gSaveBlock1\n" + " .word 0x316c\n" + " .word 0x52b\n" + "\n" + ); +} +#endif + +#if DEBUG +__attribute__((naked)) +u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add r3, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r9, r1\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r8, r2\n" + " ldr r4, ._16\n" + " ldr r1, ._16 + 4\n" + " add r0, r4, r1\n" + " add r2, r0, #0\n" + " ldr r1, ._16 + 8\n" + " ldmia r1!, {r5, r6, r7}\n" + " stmia r2!, {r5, r6, r7}\n" + " ldmia r1!, {r5, r6, r7}\n" + " stmia r2!, {r5, r6, r7}\n" + " ldr r1, [r1]\n" + " str r1, [r2]\n" + " add r1, r3, #0\n" + " bl StringCopy\n" + " ldr r0, ._16 + 12\n" + " add r6, r4, r0\n" + " ldr r1, ._16 + 16\n" + " add r0, r6, #0\n" + " bl StringCopy\n" + " ldr r1, ._16 + 20\n" + " add r5, r4, r1\n" + " ldr r1, ._16 + 24\n" + " add r0, r5, #0\n" + " bl StringCopy\n" + " ldr r2, ._16 + 28\n" + " add r0, r4, r2\n" + " str r6, [r0]\n" + " ldr r6, ._16 + 32\n" + " add r0, r4, r6\n" + " str r5, [r0]\n" + " mov r2, #0x0\n" + " ldr r6, ._16 + 36\n" + " ldr r7, ._16 + 40\n" + " add r5, r4, r7\n" + " ldr r3, ._16 + 44\n" + "._13:\n" + " add r0, r2, r5\n" + " add r1, r2, r3\n" + " ldrb r1, [r1]\n" + " strb r1, [r0]\n" + " add r2, r2, #0x1\n" + " cmp r2, r6\n" + " ble ._13 @cond_branch\n" + " ldr r0, ._16\n" + " ldr r3, ._16 + 48\n" + " ldr r2, ._16 + 52\n" + " add r1, r0, r2\n" + " mov r2, #0xf\n" + "._14:\n" + " ldrh r0, [r3]\n" + " strh r0, [r1]\n" + " add r3, r3, #0x2\n" + " add r1, r1, #0x2\n" + " sub r2, r2, #0x1\n" + " cmp r2, #0\n" + " bge ._14 @cond_branch\n" + " mov r2, #0x0\n" + " ldr r5, ._16 + 56\n" + " ldr r3, ._16 + 60\n" + "._15:\n" + " add r0, r2, r5\n" + " add r1, r2, r3\n" + " ldrb r1, [r1]\n" + " strb r1, [r0]\n" + " add r2, r2, #0x1\n" + " cmp r2, #0x11\n" + " ble ._15 @cond_branch\n" + " ldr r5, ._16 + 64\n" + " add r0, r4, r5\n" + " mov r6, r9\n" + " strb r6, [r0]\n" + " ldr r7, ._16 + 68\n" + " add r0, r4, r7\n" + " mov r1, r8\n" + " strb r1, [r0]\n" + " ldr r2, ._16 + 4\n" + " add r0, r4, r2\n" + " bl debug_sub_80C2BD0\n" + " add r5, r5, #0x4\n" + " add r1, r4, r5\n" + " str r0, [r1]\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._17:\n" + " .align 2, 0\n" + "._16:\n" + " .word gSaveBlock1\n" + " .word 0x3160\n" + " .word gBerries\n" + " .word 0x361c\n" + " .word gUnknown_Debug_083F7F84\n" + " .word 0x3649\n" + " .word gUnknown_Debug_083F7F90\n" + " .word 0x316c\n" + " .word 0x3170\n" + " .word 0x47f\n" + " .word 0x317c\n" + " .word gSpriteImage_83C172C+0x80\n" + " .word gSpriteImage_83C172C+0x500\n" + " .word 0x35fc\n" + " .word gSaveBlock1+0x3676\n" + " .word gUnknown_Debug_839B6CE\n" + " .word 0x3688\n" + " .word 0x3689\n" + "\n" + ); +} +#else static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) { const u8 *description1; @@ -1051,9 +1285,110 @@ static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) return checksum; } +#endif + +#if DEBUG +__attribute__((naked)) +void debug_sub_80C2D24() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " ldr r6, [sp, #0x18]\n" + " ldr r4, [sp, #0x1c]\n" + " mov r8, r4\n" + " ldr r5, ._18\n" + " ldr r7, ._18 + 4\n" + " add r4, r5, r7\n" + " strb r0, [r4]\n" + " ldr r4, ._18 + 8\n" + " add r0, r5, r4\n" + " strb r1, [r0]\n" + " add r7, r7, #0x2\n" + " add r0, r5, r7\n" + " strb r2, [r0]\n" + " ldr r1, ._18 + 12\n" + " add r0, r5, r1\n" + " strb r3, [r0]\n" + " add r4, r4, #0x3\n" + " add r0, r5, r4\n" + " strb r6, [r0]\n" + " add r7, r7, #0x3\n" + " add r0, r5, r7\n" + " mov r1, r8\n" + " strb r1, [r0]\n" + " sub r4, r4, #0x19\n" + " add r0, r5, r4\n" + " bl debug_sub_80C2BD0\n" + " ldr r7, ._18 + 16\n" + " add r5, r5, r7\n" + " str r0, [r5]\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._19:\n" + " .align 2, 0\n" + "._18:\n" + " .word gSaveBlock1\n" + " .word 0x3175\n" + " .word 0x3176\n" + " .word 0x3178\n" + " .word 0x368c\n" + "\n" + ); +} +#endif // due to e-reader scans being particularly volatile to failure, it is a requirement to check for // their integrity here due to scans possibly failing to produce the correct result. +#if DEBUG +__attribute__((naked)) +bool32 IsEnigmaBerryValid() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._24\n" + " ldr r1, ._24 + 4\n" + " add r0, r4, r1\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._22 @cond_branch\n" + " ldr r2, ._24 + 8\n" + " add r0, r4, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._22 @cond_branch\n" + " ldr r1, ._24 + 12\n" + " add r0, r4, r1\n" + " bl debug_sub_80C2BD0\n" + " ldr r2, ._24 + 16\n" + " add r1, r4, r2\n" + " ldr r1, [r1]\n" + " cmp r0, r1\n" + " bne ._22 @cond_branch\n" + " mov r0, #0x1\n" + " b ._23\n" + "._25:\n" + " .align 2, 0\n" + "._24:\n" + " .word gSaveBlock1\n" + " .word 0x3174\n" + " .word 0x316a\n" + " .word 0x3160\n" + " .word 0x368c\n" + "._22:\n" + " mov r0, #0x0\n" + "._23:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} +#else bool32 IsEnigmaBerryValid(void) { if (gSaveBlock1.enigmaBerry.berry.stageDuration == 0) @@ -1064,6 +1399,7 @@ bool32 IsEnigmaBerryValid(void) return FALSE; return TRUE; } +#endif const struct Berry *GetBerryInfo(u8 berry) { @@ -1417,6 +1753,177 @@ bool8 PlayerHasBerries(void) return IsBagPocketNonEmpty(BAG_BERRIES); } +#if DEBUG +void debug_sub_80C33FC(u8 *buffer, s32 value, u8 n) +{ + StringAppend(gStringVar4, buffer); + ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEADING_ZEROS, n); + StringAppend(gStringVar4, gStringVar1); +} + +extern const u8 gUnknown_Debug_083F7F9D[]; +extern const u8 gUnknown_Debug_083F7FA2[]; +extern const u8 gUnknown_Debug_083F7FA9[]; +extern const u8 gUnknown_Debug_083F7FB0[]; +extern const u8 gUnknown_Debug_083F7FB7[]; +extern const u8 gUnknown_Debug_083F7FBE[]; +extern const u8 gUnknown_Debug_083F7FC5[]; +extern const u8 gUnknown_Debug_083F7FCC[]; +extern const u8 gUnknown_Debug_083F7FD3[]; +extern const u8 gUnknown_Debug_083F7FD3[]; +extern const u8 gUnknown_Debug_083F7FD3[]; + +#ifdef NONMATCHING +u8* DebugOpenBerryInfo(void) +{ + s32 i; + u8 berryTreeId; + struct BerryTree *berryTree; + + if (GetFieldObjectScriptPointerForComparison() != &BerryTreeScript) + return NULL; + + berryTreeId = FieldObjectGetBerryTreeId(gSelectedMapObject); + berryTree = GetBerryTreeInfo(berryTreeId); + + for (i = 0; i < 500; i++) + gStringVar4[i] |= 0xFF; + + debug_sub_80C33FC(gUnknown_Debug_083F7F9D, berryTreeId, 3); + debug_sub_80C33FC(gUnknown_Debug_083F7FA2, berryTree->berry, 2); + debug_sub_80C33FC(gUnknown_Debug_083F7FA9, berryTree->stage, 2); + debug_sub_80C33FC(gUnknown_Debug_083F7FB0, berryTree->secondsUntilNextStage, 5); + debug_sub_80C33FC(gUnknown_Debug_083F7FB7, berryTree->berryYield, 2); + debug_sub_80C33FC(gUnknown_Debug_083F7FBE, berryTree->regrowthCount, 3); + debug_sub_80C33FC(gUnknown_Debug_083F7FC5, berryTree->growthSparkle, 1); + debug_sub_80C33FC(gUnknown_Debug_083F7FCC, berryTree->watered1, 1); + debug_sub_80C33FC(gUnknown_Debug_083F7FD3, berryTree->watered2, 1); + debug_sub_80C33FC(gUnknown_Debug_083F7FD3, berryTree->watered3, 1); + debug_sub_80C33FC(gUnknown_Debug_083F7FD3, berryTree->watered4, 1); + + return gStringVar4; +} +#else +__attribute__((naked)) +void DebugOpenBerryInfo() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " bl GetFieldObjectScriptPointerForComparison\n" + " ldr r1, ._138\n" + " cmp r0, r1\n" + " beq ._136 @cond_branch\n" + " mov r0, #0x0\n" + " b ._137\n" + "._139:\n" + " .align 2, 0\n" + "._138:\n" + " .word BerryTreeScript\n" + "._136:\n" + " ldr r0, ._141\n" + " ldrb r0, [r0]\n" + " bl FieldObjectGetBerryTreeId\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " add r0, r6, #0\n" + " bl GetBerryTreeInfo\n" + " add r5, r0, #0\n" + " mov r2, #0x0\n" + " ldr r7, ._141 + 4\n" + " ldr r4, ._141 + 8\n" + " mov r3, #0xff\n" + "._140:\n" + " add r1, r2, r4\n" + " ldrb r0, [r1]\n" + " orr r0, r0, r3\n" + " strb r0, [r1]\n" + " add r2, r2, #0x1\n" + " cmp r2, r7\n" + " ble ._140 @cond_branch\n" + " ldr r0, ._141 + 12\n" + " add r1, r6, #0\n" + " mov r2, #0x3\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 16\n" + " ldrb r1, [r5]\n" + " mov r2, #0x2\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 20\n" + " ldrb r1, [r5, #0x1]\n" + " lsl r1, r1, #0x19\n" + " lsr r1, r1, #0x19\n" + " mov r2, #0x2\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 24\n" + " ldrh r1, [r5, #0x2]\n" + " mov r2, #0x5\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 28\n" + " ldrb r1, [r5, #0x4]\n" + " mov r2, #0x2\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 32\n" + " ldrb r1, [r5, #0x5]\n" + " lsl r1, r1, #0x1c\n" + " lsr r1, r1, #0x1c\n" + " mov r2, #0x3\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 36\n" + " ldrb r1, [r5, #0x1]\n" + " lsr r1, r1, #0x7\n" + " mov r2, #0x1\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 40\n" + " ldrb r1, [r5, #0x5]\n" + " lsl r1, r1, #0x1b\n" + " lsr r1, r1, #0x1f\n" + " mov r2, #0x1\n" + " bl debug_sub_80C33FC\n" + " ldr r4, ._141 + 44\n" + " ldrb r1, [r5, #0x5]\n" + " lsl r1, r1, #0x1a\n" + " lsr r1, r1, #0x1f\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " bl debug_sub_80C33FC\n" + " ldrb r1, [r5, #0x5]\n" + " lsl r1, r1, #0x19\n" + " lsr r1, r1, #0x1f\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " bl debug_sub_80C33FC\n" + " ldrb r1, [r5, #0x5]\n" + " lsr r1, r1, #0x7\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " bl debug_sub_80C33FC\n" + " ldr r0, ._141 + 8\n" + "._137:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._142:\n" + " .align 2, 0\n" + "._141:\n" + " .word gSelectedMapObject\n" + " .word 0x1f3\n" + " .word gStringVar4\n" + " .word gUnknown_Debug_083F7F9D\n" + " .word gUnknown_Debug_083F7FA2\n" + " .word gUnknown_Debug_083F7FA9\n" + " .word gUnknown_Debug_083F7FB0\n" + " .word gUnknown_Debug_083F7FB7\n" + " .word gUnknown_Debug_083F7FBE\n" + " .word gUnknown_Debug_083F7FC5\n" + " .word gUnknown_Debug_083F7FCC\n" + " .word gUnknown_Debug_083F7FD3\n" + "\n" + ); +} +#endif + +#endif + // whenever the player is not within view of the berry tree during its sparkle state, the // sparkle state will be reset. void ResetBerryTreeSparkleFlags(void) @@ -1445,3 +1952,17 @@ void ResetBerryTreeSparkleFlags(void) } } } + +#if DEBUG +static const u8 gUnknown_Debug_083F7F84[] = _("そとから きた きのみ"); +static const u8 gUnknown_Debug_083F7F90[] = _("ただいま かいはつちゅう"); +static const u8 gUnknown_Debug_083F7F9D[] = _("POS:"); +static const u8 gUnknown_Debug_083F7FA2[] = _("\nTYPE:"); +static const u8 gUnknown_Debug_083F7FA9[] = _("\nGROW:"); +static const u8 gUnknown_Debug_083F7FB0[] = _("\nTIME:"); +static const u8 gUnknown_Debug_083F7FB7[] = _("\nFCNT:"); +static const u8 gUnknown_Debug_083F7FBE[] = _("\nSCNT:"); +static const u8 gUnknown_Debug_083F7FC5[] = _("\nHOOK:"); +static const u8 gUnknown_Debug_083F7FCC[] = _("\nWBIT:"); +static const u8 gUnknown_Debug_083F7FD3[] = _(""); +#endif diff --git a/src/field/bike.c b/src/field/bike.c index 8db01b4b4..736dbc837 100644 --- a/src/field/bike.c +++ b/src/field/bike.c @@ -14,6 +14,11 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; extern u8 gUnusedBikeCameraAheadPanback; +#ifdef DEBUG +extern u8 gUnknown_020297ED; +u8 debug_sub_805F2B0(u8); +#endif + static void MovePlayerOnMachBike(u8, u16, u16); static u8 GetMachBikeTransition(u8 *); static void MachBikeTransition_FaceDirection(u8); @@ -126,6 +131,14 @@ static const struct BikeHistoryInputInfo gAcroBikeTricksList[] = void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) { +#ifdef DEBUG + if (gUnknown_020297ED && debug_sub_805F2B0(direction)) + { + Bike_SetBikeStill(); + return; + } +#endif + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) MovePlayerOnMachBike(direction, newKeys, heldKeys); else @@ -271,6 +284,14 @@ static void MachBikeTransition_TrySlowDown(u8 var) // the acro bike requires the input handler to be executed before the transition can. static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys) { +#ifdef DEBUG + if (gUnknown_020297ED && debug_sub_805F2B0(newDirection)) + { + Bike_SetBikeStill(); + return; + } +#endif + sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection); } diff --git a/src/field/choose_party.c b/src/field/choose_party.c index 3ba04e489..545c19dfa 100644 --- a/src/field/choose_party.c +++ b/src/field/choose_party.c @@ -527,6 +527,107 @@ static void BattleTowerEntryMenuCallback_Exit(u8 taskId) sub_81227FC(taskId); } +#if DEBUG +__attribute__((naked)) +void debug_sub_81381B4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " ldr r4, ._189\n" + " add r0, r4, #0\n" + " mov r1, #0x0\n" + " mov r2, #0x60\n" + " bl gScriptFuncs_End+0x5c24\n" + " mov r7, #0x0\n" + " mov r8, r4\n" + " mov r0, #0x4\n" + " add r0, r0, r8\n" + " mov r9, r0\n" + "._188:\n" + " mov r0, #0x64\n" + " add r1, r7, #0\n" + " mul r1, r1, r0\n" + " ldr r0, ._189 + 4\n" + " add r5, r1, r0\n" + " add r0, r5, #0\n" + " mov r1, #0x41\n" + " bl GetMonData\n" + " lsl r4, r7, #0x5\n" + " mov r1, r8\n" + " add r6, r4, r1\n" + " strh r0, [r6]\n" + " lsl r0, r0, #0x10\n" + " cmp r0, #0\n" + " beq ._187 @cond_branch\n" + " add r0, r5, #0\n" + " mov r1, #0x38\n" + " bl GetMonData\n" + " strb r0, [r6, #0xf]\n" + " add r0, r5, #0\n" + " mov r1, #0x39\n" + " bl GetMonData\n" + " strh r0, [r6, #0x10]\n" + " add r0, r5, #0\n" + " mov r1, #0x3a\n" + " bl GetMonData\n" + " strh r0, [r6, #0x12]\n" + " add r0, r5, #0\n" + " mov r1, #0x37\n" + " bl GetMonData\n" + " mov r1, r8\n" + " add r1, r1, #0x14\n" + " add r1, r4, r1\n" + " str r0, [r1]\n" + " add r0, r5, #0\n" + " mov r1, #0xc\n" + " bl GetMonData\n" + " strh r0, [r6, #0x2]\n" + " add r0, r5, #0\n" + " mov r1, #0x0\n" + " bl GetMonData\n" + " mov r1, r8\n" + " add r1, r1, #0x18\n" + " add r1, r4, r1\n" + " str r0, [r1]\n" + " add r0, r5, #0\n" + " bl GetMonGender\n" + " strb r0, [r6, #0x1c]\n" + " add r4, r4, r9\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " add r2, r4, #0\n" + " bl GetMonData\n" + " add r0, r4, #0\n" + " bl StripExtCtrlCodes\n" + " add r0, r5, #0\n" + " mov r1, #0x3\n" + " bl GetMonData\n" + " strb r0, [r6, #0x1d]\n" + "._187:\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " cmp r7, #0x2\n" + " bls ._188 @cond_branch\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._190:\n" + " .align 2, 0\n" + "._189:\n" + " .word gUnknown_02023A00\n" + " .word gPlayerParty+0x12c\n" + "\n" + ); +} +#endif + bool8 SetupLinkMultiBattlePartyMenu(void) { switch (ewram1B000_alt.setupState) diff --git a/src/field/decoration_inventory.c b/src/field/decoration_inventory.c index dd0e972aa..21ced1be8 100644 --- a/src/field/decoration_inventory.c +++ b/src/field/decoration_inventory.c @@ -164,3 +164,14 @@ u8 sub_81341D4(void) } return count; } + + +#ifdef DEBUG +void debug_sub_814A3A8(void) +{ + u8 decor; + + for (decor = 0; decor < DECOR_COUNT; decor++) + IsThereStorageSpaceForDecoration(decor); +} +#endif diff --git a/src/field/field_control_avatar.c b/src/field/field_control_avatar.c index 52e66f16e..dad2fb1d2 100644 --- a/src/field/field_control_avatar.c +++ b/src/field/field_control_avatar.c @@ -82,25 +82,25 @@ extern u8 gUnknown_081C6BDE[]; static void player_get_pos_to_and_height(struct MapPosition *); static void player_get_next_pos_and_height(struct MapPosition *); -static u16 cur_mapdata_block_role_at_player_pos(int); -static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c); +/*static*/ u16 cur_mapdata_block_role_at_player_pos(int); +/*static*/ bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c); static u8 *TryGetScriptOnPressingA(struct MapPosition *position, u8 b, u8 c); static u8 *sub_8068364(struct MapPosition *, u8, u8); static u8 *TryGetInvisibleMapObjectScript(struct MapPosition *, u8, u8 c); static u8 *sub_8068500(struct MapPosition *, u8, u8); static u8 *TryGetFieldMoveScript(struct MapPosition *, u8, u8); -static bool32 sub_8068770(void); -static bool32 sub_80687A4(void); -static bool8 sub_80687E4(struct MapPosition *, u16, u16); +/*static*/ bool32 sub_8068770(void); +/*static*/ bool32 sub_80687A4(void); +/*static*/ bool8 sub_80687E4(struct MapPosition *, u16, u16); static void happiness_algorithm_step(void); static bool8 overworld_poison_step(void); -static bool8 is_it_battle_time_3(u16); -static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8); +/*static*/ bool8 is_it_battle_time_3(u16); +/*static*/ bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8); static bool8 sub_8068B30(u16); static bool8 is_non_stair_warp_tile(u16, u8); static s8 map_warp_check_packed(struct MapHeader *, struct MapPosition *); static void sub_8068C30(struct MapHeader *, s8, struct MapPosition *); -static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); +/*static*/ bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); static s8 map_warp_check(struct MapHeader *, u16, u16, u8); static u8 *mapheader_trigger_activate_at(struct MapHeader *, u16, u16, u8); static struct BgEvent *FindInvisibleMapObjectByPosition(struct MapHeader *, u16, u16, u8); @@ -122,6 +122,230 @@ void FieldClearPlayerInput(struct FieldInput *input) input->dpadDirection = 0; } +#if DEBUG +__attribute__((naked)) +void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add r4, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " mov r8, r1\n" + " lsl r2, r2, #0x10\n" + " lsr r5, r2, #0x10\n" + " ldr r0, ._17\n" + " ldrb r6, [r0, #0x3]\n" + " ldrb r0, [r0, #0x2]\n" + " mov r9, r0\n" + " bl cur_mapdata_block_role_at_player_pos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl MetatileBehavior_IsMoveTile\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " cmp r6, #0x2\n" + " bne ._1 @cond_branch\n" + " cmp r7, #0\n" + " beq ._2 @cond_branch\n" + "._1:\n" + " cmp r6, #0\n" + " bne ._9 @cond_branch\n" + "._2:\n" + " bl GetPlayerSpeed\n" + " lsl r0, r0, #0x10\n" + " asr r0, r0, #0x10\n" + " cmp r0, #0x4\n" + " beq ._8 @cond_branch\n" + " mov r0, #0x8\n" + " mov r1, r8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._5 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x4\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + "._5:\n" + " mov r0, #0x4\n" + " mov r3, r8\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._6 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x8\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + "._6:\n" + " mov r0, #0x1\n" + " mov r1, r8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._7 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + "._7:\n" + " mov r0, #0x2\n" + " mov r3, r8\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._8 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x80\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + "._8:\n" + " mov r0, #0xf0\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._9 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x10\n" + " orr r0, r0, r1\n" + " mov r1, #0x20\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + "._9:\n" + " cmp r7, #0\n" + " bne ._14 @cond_branch\n" + " cmp r6, #0x2\n" + " bne ._12 @cond_branch\n" + " mov r0, r9\n" + " cmp r0, #0x2\n" + " bne ._12 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x40\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + "._12:\n" + " cmp r7, #0\n" + " bne ._14 @cond_branch\n" + " cmp r6, #0x2\n" + " bne ._14 @cond_branch\n" + " ldrb r0, [r4]\n" + " mov r1, #0x2\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + "._14:\n" + " mov r0, #0x40\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._15 @cond_branch\n" + " mov r0, #0x2\n" + " b ._22\n" + "._18:\n" + " .align 2, 0\n" + "._17:\n" + " .word gPlayerAvatar\n" + "._15:\n" + " mov r0, #0x80\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._19 @cond_branch\n" + " mov r0, #0x1\n" + " b ._22\n" + "._19:\n" + " mov r0, #0x20\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._21 @cond_branch\n" + " mov r0, #0x3\n" + " b ._22\n" + "._21:\n" + " mov r0, #0x10\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._23 @cond_branch\n" + " mov r0, #0x4\n" + "._22:\n" + " strb r0, [r4, #0x2]\n" + "._23:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._25 @cond_branch\n" + " ldrb r2, [r4]\n" + " mov r0, #0x4\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._25 @cond_branch\n" + " ldrb r0, [r4, #0x1]\n" + " mov r1, #0x4\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0x1]\n" + " mov r0, #0x5\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " strb r0, [r4]\n" + "._25:\n" + " ldr r0, ._30\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._29 @cond_branch\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._28 @cond_branch\n" + " ldrb r1, [r4, #0x1]\n" + " mov r0, #0x2\n" + " orr r1, r1, r0\n" + " strb r1, [r4, #0x1]\n" + " ldrb r0, [r4]\n" + " mov r2, #0x41\n" + " neg r2, r2\n" + " and r2, r2, r0\n" + " mov r0, #0x3\n" + " neg r0, r0\n" + " and r2, r2, r0\n" + " sub r0, r0, #0xe\n" + " and r2, r2, r0\n" + " sub r0, r0, #0x10\n" + " and r2, r2, r0\n" + " strb r2, [r4]\n" + " mov r0, #0x4\n" + " mov r3, r8\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._28 @cond_branch\n" + " mov r0, #0x1\n" + " orr r1, r1, r0\n" + " strb r1, [r4, #0x1]\n" + " mov r0, #0x9\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " strb r0, [r4]\n" + "._28:\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x2\n" + " and r0, r0, r5\n" + " cmp r0, #0\n" + " beq ._29 @cond_branch\n" + " ldrb r0, [r4, #0x1]\n" + " mov r1, #0x8\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0x1]\n" + "._29:\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._31:\n" + " .align 2, 0\n" + "._30:\n" + " .word gUnknown_020297ED\n" + "\n" + ); +} +#else void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) { u8 r6 = gPlayerAvatar.tileTransitionState; @@ -163,7 +387,222 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) else if (heldKeys & DPAD_RIGHT) input->dpadDirection = DIR_EAST; } +#endif +#if DEBUG +__attribute__((naked)) +int sub_8068024(struct FieldInput *input) +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffff8\n" + " add r5, r0, #0\n" + " bl player_get_direction_lower_nybble\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " mov r4, sp\n" + " mov r0, sp\n" + " bl player_get_pos_to_and_height\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " mov r2, #0x2\n" + " ldsh r1, [r4, r2]\n" + " bl MapGridGetMetatileBehaviorAt\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " ldrb r1, [r5, #0x1]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._33 @cond_branch\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " bl dive_warp\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._33 @cond_branch\n" + " b ._63\n" + "._33:\n" + " ldrb r1, [r5, #0x1]\n" + " mov r6, #0x2\n" + " add r0, r6, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._39 @cond_branch\n" + " bl CheckTrainers\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._36 @cond_branch\n" + " b ._63\n" + "._36:\n" + " ldrb r1, [r5, #0x1]\n" + " add r0, r6, #0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._39 @cond_branch\n" + " bl mapheader_run_first_tag2_script_list_match\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._39 @cond_branch\n" + " b ._63\n" + "._39:\n" + " ldrb r1, [r5]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._42 @cond_branch\n" + " bl sub_80687A4\n" + " cmp r0, #0x1\n" + " bne ._42 @cond_branch\n" + " b ._63\n" + "._42:\n" + " ldrb r1, [r5]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._44 @cond_branch\n" + " mov r0, #0x5\n" + " bl IncrementGameStat\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " add r2, r7, #0\n" + " bl sub_80687E4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._63 @cond_branch\n" + "._44:\n" + " ldrb r1, [r5]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._46 @cond_branch\n" + " add r0, r4, #0\n" + " bl is_it_battle_time_3\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._63 @cond_branch\n" + "._46:\n" + " ldrb r1, [r5]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._49 @cond_branch\n" + " ldrb r0, [r5, #0x2]\n" + " cmp r0, r7\n" + " bne ._49 @cond_branch\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " add r2, r7, #0\n" + " bl mapheader_run_first_tag2_script_list_match_conditionally\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._63 @cond_branch\n" + "._49:\n" + " mov r4, sp\n" + " mov r0, sp\n" + " bl player_get_next_pos_and_height\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " mov r2, #0x2\n" + " ldsh r1, [r4, r2]\n" + " bl MapGridGetMetatileBehaviorAt\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " ldrb r1, [r5]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._51 @cond_branch\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " add r2, r7, #0\n" + " bl sub_80681F0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._63 @cond_branch\n" + "._51:\n" + " ldrb r1, [r5]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._54 @cond_branch\n" + " ldrb r0, [r5, #0x2]\n" + " cmp r0, r7\n" + " bne ._54 @cond_branch\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " add r2, r7, #0\n" + " bl map_warp_consider_2_to_inside\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._63 @cond_branch\n" + "._54:\n" + " ldrb r1, [r5]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._56 @cond_branch\n" + " bl sub_8068770\n" + " cmp r0, #0x1\n" + " beq ._63 @cond_branch\n" + "._56:\n" + " ldrb r1, [r5]\n" + " mov r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._58 @cond_branch\n" + " mov r0, #0x6\n" + " bl PlaySE\n" + " bl sub_8071310\n" + " b ._63\n" + "._58:\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._60 @cond_branch\n" + " bl sub_80A6D1C\n" + " cmp r0, #0x1\n" + " beq ._63 @cond_branch\n" + "._60:\n" + " ldrb r1, [r5, #0x1]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._62 @cond_branch\n" + " bl debug_sub_80888D8\n" + " b ._63\n" + "._62:\n" + " mov r0, #0x4\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._64 @cond_branch\n" + " mov r0, #0x0\n" + " b ._65\n" + "._64:\n" + " mov r0, #0x6\n" + " bl PlaySE\n" + " bl DebugMenu_8077048\n" + "._63:\n" + " mov r0, #0x1\n" + "._65:\n" + " add sp, sp, #0x8\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} +#else int sub_8068024(struct FieldInput *input) { struct MapPosition position; @@ -213,6 +652,7 @@ int sub_8068024(struct FieldInput *input) return TRUE; return FALSE; } +#endif static void player_get_pos_to_and_height(struct MapPosition *position) { @@ -232,7 +672,7 @@ static void player_get_next_pos_and_height(struct MapPosition *position) position->height = 0; } -static u16 cur_mapdata_block_role_at_player_pos(int unused) +/*static*/ u16 cur_mapdata_block_role_at_player_pos(int unused) { s16 x, y; @@ -240,7 +680,7 @@ static u16 cur_mapdata_block_role_at_player_pos(int unused) return MapGridGetMetatileBehaviorAt(x, y); } -static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c) +/*static*/ bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c) { u8 *script = TryGetScriptOnPressingA(position, b, c); @@ -435,7 +875,7 @@ static u8 *TryGetFieldMoveScript(struct MapPosition *unused1, u8 b, u8 unused2) return NULL; } -static bool32 sub_8068770(void) +/*static*/ bool32 sub_8068770(void) { if (FlagGet(FLAG_BADGE07_GET) && sub_8068F18() == 2) { @@ -445,7 +885,7 @@ static bool32 sub_8068770(void) return FALSE; } -static bool32 sub_80687A4(void) +/*static*/ bool32 sub_80687A4(void) { if (FlagGet(FLAG_BADGE07_GET) && gMapHeader.mapType == MAP_TYPE_UNDERWATER && sub_8068F18() == 1) { @@ -455,7 +895,7 @@ static bool32 sub_80687A4(void) return FALSE; } -static bool8 sub_80687E4(struct MapPosition *position, u16 b, u16 unused) +/*static*/ bool8 sub_80687E4(struct MapPosition *position, u16 b, u16 unused) { if (mapheader_trigger_activate_at__run_now(position) == TRUE) return TRUE; @@ -575,7 +1015,7 @@ void prev_quest_postbuffer_cursor_backup_reset(void) gUnknown_0202E8C0 = 0; } -static bool8 is_it_battle_time_3(u16 a) +/*static*/ bool8 is_it_battle_time_3(u16 a) { if (gUnknown_0202E8C0 < 4) { @@ -596,7 +1036,7 @@ static bool8 is_it_battle_time_3(u16 a) } } -static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 b, u8 c) +/*static*/ bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 b, u8 c) { s8 r6 = map_warp_check_packed(&gMapHeader, position); @@ -704,7 +1144,7 @@ static void sub_8068C30(struct MapHeader *unused, s8 b, struct MapPosition *posi } } -static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 b, u8 c) +/*static*/ bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 b, u8 c) { s8 r4; diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c index 77b4c8b5c..1c0cefacb 100644 --- a/src/field/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -1917,6 +1917,40 @@ void npc_clear_ids_and_state(struct MapObject *mapObj) mapObj->mapobj_unk_1C = 0xFF; } +#if DEBUG +__attribute__((naked)) +void npcs_clear_ids_and_state() +{ + asm( + " push {r4, r5, lr}\n" + " mov r4, #0x0\n" + " ldr r5, ._2\n" + "._1:\n" + " lsl r0, r4, #0x3\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r5\n" + " bl npc_clear_ids_and_state\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0xf\n" + " bls ._1 @cond_branch\n" + " ldr r1, ._2 + 4\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._3:\n" + " .align 2, 0\n" + "._2:\n" + " .word gMapObjects\n" + " .word gUnknown_Debug_03004BC0\n" + "\n" + ); +} +#else void npcs_clear_ids_and_state(void) { u8 i; @@ -1924,6 +1958,7 @@ void npcs_clear_ids_and_state(void) for (i = 0; i < 16; i++) npc_clear_ids_and_state(&gMapObjects[i]); } +#endif void sub_805AA98(void) { @@ -2017,6 +2052,176 @@ u8 GetFieldObjectIdByLocalId(u8 localId) return 16; } +#if DEBUG +__attribute__((naked)) +u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 c) +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r9\n" + " mov r6, r8\n" + " push {r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " add r5, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r6, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " lsr r7, r2, #0x18\n" + " ldrb r0, [r5]\n" + " add r1, r6, #0\n" + " add r2, r7, #0\n" + " mov r3, sp\n" + " bl GetAvailableFieldObjectSlot\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._35 @cond_branch\n" + " mov r0, #0x10\n" + " b ._36\n" + "._35:\n" + " mov r0, sp\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._40\n" + " add r4, r0, r1\n" + " add r0, r4, #0\n" + " bl npc_clear_ids_and_state\n" + " ldrh r3, [r5, #0x4]\n" + " add r3, r3, #0x7\n" + " lsl r3, r3, #0x10\n" + " lsr r3, r3, #0x10\n" + " ldrh r2, [r5, #0x6]\n" + " add r2, r2, #0x7\n" + " lsl r2, r2, #0x10\n" + " lsr r2, r2, #0x10\n" + " ldrb r0, [r4]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " mov r1, #0x4\n" + " orr r0, r0, r1\n" + " strb r0, [r4]\n" + " ldrb r0, [r5, #0x1]\n" + " strb r0, [r4, #0x5]\n" + " ldrb r0, [r5, #0x9]\n" + " strb r0, [r4, #0x6]\n" + " ldrb r0, [r5]\n" + " strb r0, [r4, #0x8]\n" + " strb r6, [r4, #0x9]\n" + " strb r7, [r4, #0xa]\n" + " strh r3, [r4, #0xc]\n" + " strh r2, [r4, #0xe]\n" + " strh r3, [r4, #0x10]\n" + " strh r2, [r4, #0x12]\n" + " strh r3, [r4, #0x14]\n" + " strh r2, [r4, #0x16]\n" + " ldrb r0, [r5, #0x8]\n" + " mov r7, #0xf\n" + " add r1, r7, #0\n" + " and r1, r1, r0\n" + " ldrb r2, [r4, #0xb]\n" + " mov r0, #0x10\n" + " neg r0, r0\n" + " mov r8, r0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0xb]\n" + " ldrb r1, [r5, #0x8]\n" + " lsl r1, r1, #0x4\n" + " and r0, r0, r7\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0xb]\n" + " ldrb r1, [r5, #0xa]\n" + " lsl r1, r1, #0x1c\n" + " mov r0, #0xf\n" + " mov r9, r0\n" + " lsr r1, r1, #0x1c\n" + " ldrb r2, [r4, #0x19]\n" + " mov r0, r8\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0x19]\n" + " ldrb r1, [r5, #0xa]\n" + " lsr r1, r1, #0x4\n" + " lsl r1, r1, #0x4\n" + " and r0, r0, r7\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0x19]\n" + " ldrh r0, [r5, #0xc]\n" + " strb r0, [r4, #0x7]\n" + " ldrh r0, [r5, #0xe]\n" + " strb r0, [r4, #0x1d]\n" + " ldr r1, ._40 + 4\n" + " ldrb r0, [r5, #0x9]\n" + " add r0, r0, r1\n" + " ldrb r1, [r0]\n" + " add r0, r4, #0\n" + " add r0, r0, #0x20\n" + " strb r1, [r0]\n" + " ldrb r1, [r0]\n" + " add r0, r4, #0\n" + " bl FieldObjectSetDirection\n" + " add r0, r4, #0\n" + " bl FieldObjectHandleDynamicGraphicsId\n" + " ldr r1, ._40 + 8\n" + " ldrb r0, [r4, #0x6]\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._39 @cond_branch\n" + " ldrb r2, [r4, #0x19]\n" + " add r0, r7, #0\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._38 @cond_branch\n" + " lsl r0, r2, #0x1c\n" + " lsr r0, r0, #0x1c\n" + " add r0, r0, #0x1\n" + " mov r1, r9\n" + " and r0, r0, r1\n" + " mov r1, r8\n" + " and r1, r1, r2\n" + " orr r1, r1, r0\n" + " strb r1, [r4, #0x19]\n" + "._38:\n" + " ldrb r2, [r4, #0x19]\n" + " mov r0, #0xf0\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._39 @cond_branch\n" + " lsr r1, r2, #0x4\n" + " add r1, r1, #0x1\n" + " lsl r1, r1, #0x4\n" + " add r0, r7, #0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0x19]\n" + "._39:\n" + " ldr r1, ._40 + 12\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, sp\n" + " ldrb r0, [r0]\n" + "._36:\n" + " add sp, sp, #0x4\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._41:\n" + " .align 2, 0\n" + "._40:\n" + " .word gMapObjects\n" + " .word gUnknown_0836DC09\n" + " .word gUnknown_0836DBBC\n" + " .word gUnknown_Debug_03004BC0\n" + "\n" + ); +} +#else #ifdef NONMATCHING u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 c) { @@ -2227,6 +2432,7 @@ _0805ADD8: .4byte gUnknown_0836DBBC\n\ .syntax divided\n"); } #endif +#endif u8 sub_805ADDC(u8 localId) { @@ -2266,11 +2472,38 @@ u8 GetAvailableFieldObjectSlot(u16 a, u8 b, u8 c, u8 *d) return 0; } +#if DEBUG +__attribute__((naked)) +void RemoveFieldObject(struct MapObject *mapObject) +{ + asm( + " push {lr}\n" + " ldrb r2, [r0]\n" + " mov r1, #0x2\n" + " neg r1, r1\n" + " and r1, r1, r2\n" + " strb r1, [r0]\n" + " bl RemoveFieldObjectInternal\n" + " ldr r1, ._72\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " pop {r0}\n" + " bx r0\n" + "._73:\n" + " .align 2, 0\n" + "._72:\n" + " .word gUnknown_Debug_03004BC0\n" + "\n" + ); +} +#else void RemoveFieldObject(struct MapObject *mapObject) { mapObject->active = FALSE; RemoveFieldObjectInternal(mapObject); } +#endif void RemoveFieldObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { @@ -2303,6 +2536,226 @@ void npc_hide_all_but_player(void) } } +#if DEBUG +__attribute__((naked)) +u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, u8 c, u8 d, s16 e, s16 f) +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add r7, r1, #0\n" + " add r1, r2, #0\n" + " add r2, r3, #0\n" + " ldr r3, [sp, #0x20]\n" + " ldr r4, [sp, #0x24]\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " lsl r3, r3, #0x10\n" + " lsr r3, r3, #0x10\n" + " mov r9, r3\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " mov sl, r4\n" + " bl InitFieldObjectStateFromTemplate\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " cmp r0, #0x10\n" + " bne ._83 @cond_branch\n" + " mov r0, #0x10\n" + " b ._92\n" + "._83:\n" + " mov r0, r8\n" + " lsl r4, r0, #0x3\n" + " add r0, r4, r0\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._87\n" + " add r5, r0, r1\n" + " ldrb r0, [r5, #0x5]\n" + " bl GetFieldObjectGraphicsInfo\n" + " add r6, r0, #0\n" + " ldrb r1, [r6, #0xc]\n" + " mov r0, #0xf\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._85 @cond_branch\n" + " ldrh r0, [r6, #0x2]\n" + " lsl r1, r1, #0x1c\n" + " lsr r1, r1, #0x1c\n" + " bl npc_load_two_palettes__no_record\n" + " b ._89\n" + "._88:\n" + " .align 2, 0\n" + "._87:\n" + " .word gMapObjects\n" + "._85:\n" + " cmp r0, #0xa\n" + " bne ._89 @cond_branch\n" + " ldrh r0, [r6, #0x2]\n" + " lsl r1, r1, #0x1c\n" + " lsr r1, r1, #0x1c\n" + " bl npc_load_two_palettes__and_record\n" + "._89:\n" + " ldrb r0, [r5, #0x6]\n" + " cmp r0, #0x4c\n" + " bne ._90 @cond_branch\n" + " ldrb r0, [r5, #0x1]\n" + " mov r1, #0x20\n" + " orr r0, r0, r1\n" + " strb r0, [r5, #0x1]\n" + "._90:\n" + " ldr r1, ._93\n" + " add r0, r1, #0\n" + " strh r0, [r7, #0x2]\n" + " add r0, r7, #0\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " mov r3, #0x0\n" + " bl CreateSprite\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " cmp r7, #0x40\n" + " bne ._91 @cond_branch\n" + " ldr r1, ._93 + 4\n" + " ldrb r0, [r1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r0, ._93 + 8\n" + " mov r2, r8\n" + " add r1, r4, r2\n" + " lsl r1, r1, #0x2\n" + " add r1, r1, r0\n" + " ldrb r2, [r1]\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " strb r0, [r1]\n" + " mov r0, #0x10\n" + " b ._92\n" + "._94:\n" + " .align 2, 0\n" + "._93:\n" + " .word 0xffff\n" + " .word gUnknown_Debug_03004BC0\n" + " .word gMapObjects\n" + "._91:\n" + " lsl r0, r7, #0x4\n" + " add r0, r0, r7\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._96\n" + " add r4, r0, r1\n" + " mov r1, r9\n" + " lsl r0, r1, #0x10\n" + " asr r0, r0, #0x10\n" + " ldrh r2, [r5, #0x10]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x10\n" + " asr r0, r0, #0x10\n" + " mov r2, sl\n" + " lsl r1, r2, #0x10\n" + " asr r1, r1, #0x10\n" + " ldrh r2, [r5, #0x12]\n" + " add r1, r1, r2\n" + " lsl r1, r1, #0x10\n" + " asr r1, r1, #0x10\n" + " add r2, r4, #0\n" + " add r2, r2, #0x20\n" + " add r3, r4, #0\n" + " add r3, r3, #0x22\n" + " bl sub_8060388\n" + " ldrh r0, [r6, #0x8]\n" + " lsl r0, r0, #0x10\n" + " asr r0, r0, #0x11\n" + " neg r0, r0\n" + " add r1, r4, #0\n" + " add r1, r1, #0x28\n" + " strb r0, [r1]\n" + " ldrh r0, [r6, #0xa]\n" + " lsl r0, r0, #0x10\n" + " asr r0, r0, #0x11\n" + " neg r0, r0\n" + " add r2, r4, #0\n" + " add r2, r2, #0x29\n" + " strb r0, [r2]\n" + " ldrh r0, [r4, #0x20]\n" + " add r0, r0, #0x8\n" + " strh r0, [r4, #0x20]\n" + " ldrh r1, [r4, #0x22]\n" + " add r1, r1, #0x10\n" + " mov r0, #0x0\n" + " ldsb r0, [r2, r0]\n" + " add r0, r0, r1\n" + " strh r0, [r4, #0x22]\n" + " ldrb r1, [r6, #0xc]\n" + " lsl r1, r1, #0x1c\n" + " lsr r1, r1, #0x18\n" + " ldrb r2, [r4, #0x5]\n" + " mov r0, #0xf\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r4, #0x5]\n" + " add r2, r4, #0\n" + " add r2, r2, #0x3e\n" + " ldrb r0, [r2]\n" + " mov r1, #0x2\n" + " orr r0, r0, r1\n" + " strb r0, [r2]\n" + " mov r0, r8\n" + " strh r0, [r4, #0x2e]\n" + " strb r7, [r5, #0x4]\n" + " ldrb r1, [r6, #0xc]\n" + " lsl r1, r1, #0x19\n" + " lsr r1, r1, #0x1f\n" + " lsl r1, r1, #0x4\n" + " ldrb r2, [r5, #0x1]\n" + " mov r0, #0x11\n" + " neg r0, r0\n" + " and r0, r0, r2\n" + " orr r0, r0, r1\n" + " strb r0, [r5, #0x1]\n" + " lsl r0, r0, #0x1b\n" + " cmp r0, #0\n" + " blt ._95 @cond_branch\n" + " ldrb r0, [r5, #0x18]\n" + " lsl r0, r0, #0x1c\n" + " lsr r0, r0, #0x1c\n" + " bl FieldObjectDirectionToImageAnimId\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " add r0, r4, #0\n" + " bl StartSpriteAnim\n" + "._95:\n" + " ldrb r0, [r5, #0xb]\n" + " lsr r0, r0, #0x4\n" + " add r1, r4, #0\n" + " mov r2, #0x1\n" + " bl SetObjectSubpriorityByZCoord\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " bl sub_80634D0\n" + " mov r0, r8\n" + "._92:\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._97:\n" + " .align 2, 0\n" + "._96:\n" + " .word gSprites\n" + "\n" + ); +} +#else u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, u8 c, u8 d, s16 e, s16 f) { u8 mapObjectId; @@ -2352,6 +2805,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * sub_80634D0(mapObject, sprite); return mapObjectId; } +#endif u8 SpawnFieldObject(struct MapObjectTemplate *mapObjTemplate, u8 b, u8 c, s16 d, s16 e) { @@ -2574,6 +3028,66 @@ void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) void sub_805B75C(u8, s16, s16); +#if DEBUG +__attribute__((naked)) +void sub_805B710(u16 u161, u16 u162) +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add r4, r0, #0\n" + " add r5, r1, #0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " lsl r5, r5, #0x10\n" + " lsr r5, r5, #0x10\n" + " ldr r6, ._153\n" + " mov r0, #0x0\n" + " strb r0, [r6]\n" + " bl ClearPlayerAvatarInfo\n" + " mov r7, #0x0\n" + " ldr r0, ._153 + 4\n" + " mov r8, r0\n" + " lsl r4, r4, #0x10\n" + " lsl r5, r5, #0x10\n" + "._152:\n" + " lsl r0, r7, #0x3\n" + " add r0, r0, r7\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r8\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x1f\n" + " cmp r0, #0\n" + " beq ._151 @cond_branch\n" + " add r0, r7, #0\n" + " asr r1, r4, #0x10\n" + " asr r2, r5, #0x10\n" + " bl sub_805B75C\n" + " ldrb r0, [r6]\n" + " add r0, r0, #0x1\n" + " strb r0, [r6]\n" + "._151:\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " cmp r7, #0xf\n" + " bls ._152 @cond_branch\n" + " bl sub_805AAB0\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._154:\n" + " .align 2, 0\n" + "._153:\n" + " .word gUnknown_Debug_03004BC0\n" + " .word gMapObjects\n" + "\n" + ); +} +#else void sub_805B710(u16 a, u16 b) { u8 i; @@ -2586,6 +3100,7 @@ void sub_805B710(u16 a, u16 b) } sub_805AAB0(); } +#endif extern void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8); extern void sub_805B914(struct MapObject *); diff --git a/src/field/field_player_avatar.c b/src/field/field_player_avatar.c index 9a29e2e92..747edf816 100644 --- a/src/field/field_player_avatar.c +++ b/src/field/field_player_avatar.c @@ -32,9 +32,9 @@ static void npc_clear_strange_bits(struct MapObject *a); static void MovePlayerAvatarUsingKeypadInput(u8 a, u16 b, u16 c); static void PlayerAllowForcedMovementIfMovingSameDirection(void); static bool8 TryDoMetatileBehaviorForcedMovement(void); -static u8 GetForcedMovementByMetatileBehavior(void); +/*static*/ u8 GetForcedMovementByMetatileBehavior(void); static void MovePlayerNotOnBike(u8 a, u16 b); -static u8 CheckMovementInputNotOnBike(u8 a); +/*static*/ u8 CheckMovementInputNotOnBike(u8 a); static u8 CheckForPlayerAvatarCollision(u8 a); static u8 sub_8058EF0(s16 a, s16 b, u8 c); static bool8 ShouldJumpLedge(s16 a, s16 b, u8 c); @@ -260,12 +260,59 @@ static void PlayerAllowForcedMovementIfMovingSameDirection(void) gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_5; } +#if DEBUG +__attribute__((naked)) +u8 TryDoMetatileBehaviorForcedMovement() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._27\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._25 @cond_branch\n" + " ldr r0, ._27 + 4\n" + " ldrh r1, [r0, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._25 @cond_branch\n" + " mov r0, #0x0\n" + " b ._26\n" + "._28:\n" + " .align 2, 0\n" + "._27:\n" + " .word gUnknown_020297ED\n" + " .word gMain\n" + "._25:\n" + " ldr r4, ._29\n" + " bl GetForcedMovementByMetatileBehavior\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x16\n" + " add r0, r0, r4\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + "._26:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._30:\n" + " .align 2, 0\n" + "._29:\n" + " .word gUnknown_0830FBA0\n" + "\n" + ); +} +#else static bool8 TryDoMetatileBehaviorForcedMovement(void) { return gUnknown_0830FBA0[GetForcedMovementByMetatileBehavior()](); } +#endif -static u8 GetForcedMovementByMetatileBehavior(void) +/*static*/ u8 GetForcedMovementByMetatileBehavior(void) { u8 i; @@ -436,12 +483,57 @@ bool8 ForcedMovement_MuddySlope(void) } } +#if DEBUG +__attribute__((naked)) +void MovePlayerNotOnBike(u8 u81, u16 u161) +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " add r5, r2, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r6, r1, #0x10\n" + " ldr r0, ._84\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._82 @cond_branch\n" + " add r0, r2, #0\n" + " bl debug_sub_805F2B0\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._83 @cond_branch\n" + "._82:\n" + " ldr r4, ._84 + 4\n" + " add r0, r5, #0\n" + " bl CheckMovementInputNotOnBike\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x16\n" + " add r0, r0, r4\n" + " ldr r2, [r0]\n" + " add r0, r5, #0\n" + " add r1, r6, #0\n" + " bl gScriptFuncs_End+0x3cfc\n" + "._83:\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._85:\n" + " .align 2, 0\n" + "._84:\n" + " .word gUnknown_020297ED\n" + " .word gUnknown_0830FBEC\n" + "\n" + ); +} +#else static void MovePlayerNotOnBike(u8 direction, u16 heldKeys) { gUnknown_0830FBEC[CheckMovementInputNotOnBike(direction)](direction, heldKeys); } +#endif -static u8 CheckMovementInputNotOnBike(u8 direction) +/*static*/ u8 CheckMovementInputNotOnBike(u8 direction) { if (direction == DIR_NONE) { diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 0a841eed1..1b53df6be 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -250,6 +250,87 @@ void SetupMauvilleOldMan(void) sub_80F83D0(); } +#ifdef DEBUG +__attribute__((naked)) +void debug_sub_810B32C() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x4\n" + " bhi ._37 @cond_branch\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._23\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._24:\n" + " .align 2, 0\n" + "._23:\n" + " .word ._22\n" + "._22:\n" + " .word ._25\n" + " .word ._26\n" + " .word ._27\n" + " .word ._28\n" + " .word ._29\n" + "._25:\n" + " bl sub_80F7A34\n" + " b ._37\n" + "._26:\n" + " mov r2, #0x0\n" + " ldr r3, ._34\n" + "._31:\n" + " mov r0, sp\n" + " add r1, r0, r2\n" + " add r0, r2, r3\n" + " ldrb r0, [r0]\n" + " strb r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x7\n" + " bls ._31 @cond_branch\n" + " bl sub_80F7A6C\n" + " mov r2, #0x0\n" + " ldr r3, ._34\n" + "._32:\n" + " add r1, r2, r3\n" + " mov r4, sp\n" + " add r0, r4, r2\n" + " ldrb r0, [r0]\n" + " strb r0, [r1]\n" + " add r0, r2, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " cmp r2, #0x7\n" + " bls ._32 @cond_branch\n" + " b ._37\n" + "._35:\n" + " .align 2, 0\n" + "._34:\n" + " .word gSaveBlock1+0x2d8c\n" + "._27:\n" + " bl sub_80F7A98\n" + " b ._37\n" + "._28:\n" + " bl sub_80F7A7C\n" + " b ._37\n" + "._29:\n" + " bl sub_80F7A88\n" + "._37:\n" + " bl sub_80F83D0\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} +#endif + static u8 GetCurrentMauvilleOldMan(void) { struct MauvilleManCommon *common = &gSaveBlock1.mauvilleMan.common; diff --git a/src/field/overworld.c b/src/field/overworld.c index 86b0a5dac..8346ce3f9 100644 --- a/src/field/overworld.c +++ b/src/field/overworld.c @@ -25,6 +25,7 @@ #include "link.h" #include "load_save.h" #include "main.h" +#include "m4a.h" #include "constants/maps.h" #include "map_name_popup.h" #include "menu.h" @@ -62,6 +63,7 @@ struct UnkTVStruct u32 tv_field_4; }; +extern u8 gUnknown_020297ED; extern u16 gUnknown_03004898; extern u16 gUnknown_0300489C; @@ -1106,6 +1108,68 @@ u8 sav1_map_get_battletype(void) return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum)->battleType; } +#if DEBUG + +void debug_sub_8076B68(void); + +void debug_sub_80589D8(void); + +void debug_sub_8058A50(void); + +void CB2_InitTestMenu(void) +{ + m4aSoundVSyncOff(); + SetVBlankCallback(NULL); + DmaFill32(3, 0, (void *) VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *) PLTT, PLTT_SIZE); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + ScanlineEffect_Stop(); + Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gWindowTemplate_81E6CE4); + debug_sub_8076B68(); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + REG_IE |= 1; + REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP; + m4aSoundVSyncOn(); + SetVBlankCallback(debug_sub_8058A50); + m4aSongNumStart(0x19D); + SetMainCallback2(debug_sub_80589D8); +} + +void debug_sub_80589D8(void) +{ + if (UpdatePaletteFade()) + return; + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); +} + +void debug_sub_80589F4(void) +{ + if (UpdatePaletteFade()) + return; + + SetVBlankCallback(NULL); + + DmaFill32(3, 0, (void *) VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *) PLTT, PLTT_SIZE); + + SetMainCallback2(gMain.savedCallback); +} + +void debug_sub_8058A50(void) +{ + ProcessSpriteCopyRequests(); + LoadOam(); + TransferPlttBuffer(); +} + +#endif + void ResetSafariZoneFlag_(void) { ResetSafariZoneFlag(); @@ -1210,6 +1274,33 @@ void CB2_NewGame(void) SetMainCallback2(c2_overworld); } +#if DEBUG + +extern void (*gFieldCallback)(void); + +void debug_sub_8058C00(void) +{ + FieldClearVBlankHBlankCallbacks(); + StopMapMusic(); + ResetSafariZoneFlag_(); + player_avatar_init_params_reset(); + PlayTimeCounter_Start(); + ScriptContext1_Init(); + ScriptContext2_Disable(); + + if (gMain.heldKeys & R_BUTTON) + gFieldCallback = ExecuteTruckSequence; + else + gFieldCallback = sub_8080B60; + + do_load_map_stuff_loop(&gMain.state); + SetFieldVBlankCallback(); + set_callback1(c1_overworld); + SetMainCallback2(c2_overworld); +} + +#endif + void CB2_WhiteOut(void) { u8 val; @@ -1365,6 +1456,10 @@ void CB2_ContinueSavedGame(void) { FieldClearVBlankHBlankCallbacks(); StopMapMusic(); +#if DEBUG + if (gMain.heldKeys & R_BUTTON) + gUnknown_020297ED = TRUE; +#endif ResetSafariZoneFlag_(); LoadSaveblockMapHeader(); LoadSaveblockMapObjScripts(); diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 7d243f569..053368a0e 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -4022,6 +4022,10 @@ void TeachMonTMMove(u8 taskId, u16 move, TaskFunc func) CreateTask(Task_TeamMonTMMove, 5); } +#ifdef DEBUG +extern u8 gUnknown_020297ED; +#endif + void Task_TeamMonTMMove(u8 taskId) { GetMonNickname(ewram1C000.pokemon, gStringVar1); @@ -4036,7 +4040,11 @@ void Task_TeamMonTMMove(u8 taskId) } else { - if (!CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33)) + if ( +#ifdef DEBUG + !gUnknown_020297ED && +#endif + !CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33)) { StringExpandPlaceholders(gStringVar4, gOtherText_NotCompatible); sub_806E834(gStringVar4, 1); @@ -5514,9 +5522,13 @@ _08070F8A:\n\ } #endif // NONMATCHING + +// Maybe this goes in start_menu.c +#if !DEBUG void unref_sub_8070F90(void) { FlagSet(FLAG_SYS_POKEDEX_GET); FlagSet(FLAG_SYS_POKEMON_GET); FlagSet(FLAG_SYS_POKENAV_GET); } +#endif diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c index 7e8bdc2ce..73fa53d97 100644 --- a/src/field/pokeblock.c +++ b/src/field/pokeblock.c @@ -95,7 +95,8 @@ static const u8 *gUnknown_03000758; #define GFX_TAG_POKEBLOCK_CASE 14800 -const s8 gPokeblockFlavorCompatibilityTable[] = { +const s8 gPokeblockFlavorCompatibilityTable[] = +{ // Cool, Beauty, Cute, Smart, Tough 0, 0, 0, 0, 0, // Hardy 1, 0, 0, 0, -1, // Lonely @@ -124,14 +125,16 @@ const s8 gPokeblockFlavorCompatibilityTable[] = { 0, 0, 0, 0, 0 // Quirky }; -void (*const gUnknown_083F7EA8[])(void) = { +void (*const gUnknown_083F7EA8[])(void) = +{ sub_80A5B40, c2_exit_to_overworld_2_switch, sub_802E424, c2_exit_to_overworld_2_switch }; -const u8 *const gPokeblockNames[] = { +const u8 *const gPokeblockNames[] = +{ NULL, ContestStatsText_RedPokeBlock, ContestStatsText_BluePokeBlock, @@ -149,7 +152,8 @@ const u8 *const gPokeblockNames[] = { ContestStatsText_GoldPokeBlock }; -const struct MenuAction2 gUnknown_083F7EF4[] = { +const struct MenuAction2 gUnknown_083F7EF4[] = +{ {OtherText_Use, sub_810C508}, {OtherText_Toss, sub_810C5C0}, {gOtherText_CancelNoTerminator, sub_810C748}, @@ -165,21 +169,25 @@ const struct YesNoFuncTable gUnknown_083F7F24 = {sub_810C610, sub_810C668}; const u8 UnreferencedData_083F7F2C[] = {0x16, 0x17, 0x18, 0x21, 0x2f}; -const struct OamData gOamData_83F7F34 = { +const struct OamData gOamData_83F7F34 = +{ .size = 3, .priority = 2 }; -const union AnimCmd gSpriteAnim_83F7F3C[] = { +const union AnimCmd gSpriteAnim_83F7F3C[] = +{ ANIMCMD_FRAME(.imageValue = 0, .duration = 0), ANIMCMD_END }; -const union AnimCmd *const gSpriteAnimTable_83F7F44[] = { +const union AnimCmd *const gSpriteAnimTable_83F7F44[] = +{ gSpriteAnim_83F7F3C }; -const union AffineAnimCmd gSpriteAffineAnim_83F7F48[] = { +const union AffineAnimCmd gSpriteAffineAnim_83F7F48[] = +{ AFFINEANIMCMD_FRAME(0, 0, -2, 2), AFFINEANIMCMD_FRAME(0, 0, 2, 4), AFFINEANIMCMD_FRAME(0, 0, -2, 4), @@ -187,22 +195,26 @@ const union AffineAnimCmd gSpriteAffineAnim_83F7F48[] = { AFFINEANIMCMD_END }; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83F7F70[] = { +const union AffineAnimCmd *const gSpriteAffineAnimTable_83F7F70[] = +{ gSpriteAffineAnim_83F7F48 }; -const struct CompressedSpriteSheet gUnknown_083F7F74 = { +const struct CompressedSpriteSheet gUnknown_083F7F74 = +{ gMenuPokeblockDevice_Gfx, 0x800, GFX_TAG_POKEBLOCK_CASE }; -const struct CompressedSpritePalette gUnknown_083F7F7C = { +const struct CompressedSpritePalette gUnknown_083F7F7C = +{ gMenuPokeblockDevice_Pal, GFX_TAG_POKEBLOCK_CASE }; -const struct SpriteTemplate gSpriteTemplate_83F7F84 = { +const struct SpriteTemplate gSpriteTemplate_83F7F84 = +{ GFX_TAG_POKEBLOCK_CASE, GFX_TAG_POKEBLOCK_CASE, &gOamData_83F7F34, @@ -212,7 +224,8 @@ const struct SpriteTemplate gSpriteTemplate_83F7F84 = { SpriteCallbackDummy }; -const struct Pokeblock gUnknown_083F7F9C[] = { +const struct Pokeblock gUnknown_083F7F9C[] = +{ { PBLOCK_CLR_RED, 20, 0, 0, 0, 0, 20}, { PBLOCK_CLR_BLUE, 0, 20, 0, 0, 0, 20}, { PBLOCK_CLR_PINK, 0, 0, 20, 0, 0, 20}, @@ -432,14 +445,13 @@ void OpenPokeblockCaseOnFeeder(void) SetMainCallback2(sub_810B96C); } -#ifdef DEBUG +#if DEBUG void debug_sub_8120F98(void) { u8 i; - for (i=0; i<40 && gUnknown_083F7F9C[i].color != 0; i++) - { + + for (i = 0; i < 40 && gUnknown_083F7F9C[i].color != 0; i++) gSaveBlock1.pokeblocks[i] = gUnknown_083F7F9C[i]; - } } #endif diff --git a/src/field/roamer.c b/src/field/roamer.c index 2eb26ef9d..16a42e9f1 100644 --- a/src/field/roamer.c +++ b/src/field/roamer.c @@ -1,7 +1,9 @@ #include "global.h" +#include "debug.h" #include "roamer.h" #include "pokemon.h" #include "random.h" +#include "region_map.h" #include "constants/species.h" #ifdef SAPPHIRE @@ -224,3 +226,20 @@ void GetRoamerLocation(u8 *mapGroup, u8 *mapNum) *mapGroup = sRoamerLocation[MAP_GRP]; *mapNum = sRoamerLocation[MAP_NUM]; } + +#ifdef DEBUG +void debug_sub_814A714(void) +{ + if (gSaveBlock1.location.mapGroup == 0) + { + CreateInitialRoamerMon(); + sRoamerLocation[0] = 0; + sRoamerLocation[1] = gSaveBlock1.location.mapNum; + } +} + +void debug_sub_814A73C(u8* str) +{ + GetMapSectionName(str, sRoamerLocation[1], 0); +} +#endif diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 9ff3a037c..e231f686d 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -17,7 +17,8 @@ #include "menu.h" #include "ewram.h" -struct UnkStruct1 { +struct UnkStruct1 +{ /*0x00*/ u8 unk00; /*0x01*/ u8 unk01; /*0x02*/ s16 unk02; @@ -2854,7 +2855,13 @@ static void sub_8104C5C(void) static void LoadSlotMachineWheelOverlay(void); -static void sub_8104CAC(u8 arg0) { +#ifdef DEBUG +// should be static +__attribute__((section(".bss"))) u8 unk_debug_bss_1[0xC] = { 0 }; +#endif + +static void sub_8104CAC(u8 arg0) +{ u8 i; struct Task *task; @@ -2875,9 +2882,7 @@ static void sub_8104CAC(u8 arg0) { #ifdef GERMAN if (arg0 == 5 && i <= 2) - { gSprites[spriteId].invisible = TRUE; - } #endif } } @@ -3966,7 +3971,8 @@ static void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) { vram[16 * 32 + 1 + arg0] = arg4; } -static void sub_81065DC(void) { +static void sub_81065DC(void) +{ s16 y, x; u16 *screen; @@ -3982,7 +3988,1226 @@ static void sub_81065DC(void) { } } -static const u8 sReelSymbols[][21] = { +#if DEBUG +__attribute__((naked)) +void debug_sub_811B1C4() +{ + asm( + " ldr r1, ._1\n" + " ldrb r0, [r1]\n" + " mov r3, #0x2\n" + " orr r0, r0, r3\n" + " strb r0, [r1]\n" + " ldr r2, ._1 + 4\n" + " ldrb r1, [r2]\n" + " mov r0, #0x2\n" + " eor r1, r1, r0\n" + " neg r0, r1\n" + " orr r0, r0, r1\n" + " asr r0, r0, #0x1f\n" + " and r0, r0, r3\n" + " strb r0, [r2]\n" + " bx lr\n" + "._2:\n" + " .align 2, 0\n" + "._1:\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B1EC() +{ + asm( + " ldr r2, ._3\n" + " ldrb r0, [r2]\n" + " mov r1, #0x1\n" + " orr r0, r0, r1\n" + " strb r0, [r2]\n" + " ldr r2, ._3 + 4\n" + " ldrb r0, [r2]\n" + " mov r1, #0x1\n" + " eor r0, r0, r1\n" + " neg r0, r0\n" + " lsr r0, r0, #0x1f\n" + " strb r0, [r2]\n" + " bx lr\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B210() +{ + asm( + " ldr r1, ._5\n" + " ldrb r0, [r1]\n" + " mov r3, #0x4\n" + " orr r0, r0, r3\n" + " strb r0, [r1]\n" + " ldr r2, ._5 + 4\n" + " ldrb r1, [r2]\n" + " mov r0, #0x4\n" + " eor r1, r1, r0\n" + " neg r0, r1\n" + " orr r0, r0, r1\n" + " asr r0, r0, #0x1f\n" + " and r0, r0, r3\n" + " strb r0, [r2]\n" + " bx lr\n" + "._6:\n" + " .align 2, 0\n" + "._5:\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B238() +{ + asm( + " ldr r1, ._7\n" + " ldrb r0, [r1]\n" + " mov r3, #0x8\n" + " orr r0, r0, r3\n" + " strb r0, [r1]\n" + " ldr r2, ._7 + 4\n" + " ldrb r1, [r2]\n" + " mov r0, #0x8\n" + " eor r1, r1, r0\n" + " neg r0, r1\n" + " orr r0, r0, r1\n" + " asr r0, r0, #0x1f\n" + " and r0, r0, r3\n" + " strb r0, [r2]\n" + " bx lr\n" + "._8:\n" + " .align 2, 0\n" + "._7:\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B260() +{ + asm( + " ldr r1, ._9\n" + " ldrb r0, [r1]\n" + " mov r3, #0x10\n" + " orr r0, r0, r3\n" + " strb r0, [r1]\n" + " ldr r2, ._9 + 4\n" + " ldrb r1, [r2]\n" + " mov r0, #0x10\n" + " eor r1, r1, r0\n" + " neg r0, r1\n" + " orr r0, r0, r1\n" + " asr r0, r0, #0x1f\n" + " and r0, r0, r3\n" + " strb r0, [r2]\n" + " bx lr\n" + "._10:\n" + " .align 2, 0\n" + "._9:\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B288() +{ + asm( + " ldr r1, ._11\n" + " ldrb r0, [r1]\n" + " mov r3, #0x40\n" + " orr r0, r0, r3\n" + " strb r0, [r1]\n" + " ldr r2, ._11 + 4\n" + " ldrb r1, [r2]\n" + " mov r0, #0x40\n" + " eor r1, r1, r0\n" + " neg r0, r1\n" + " orr r0, r0, r1\n" + " asr r0, r0, #0x1f\n" + " and r0, r0, r3\n" + " strb r0, [r2]\n" + " bx lr\n" + "._12:\n" + " .align 2, 0\n" + "._11:\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B2B0() +{ + asm( + " ldr r1, ._13\n" + " ldrb r0, [r1]\n" + " mov r3, #0x80\n" + " orr r0, r0, r3\n" + " strb r0, [r1]\n" + " ldr r2, ._13 + 4\n" + " ldrb r1, [r2]\n" + " mov r0, #0x80\n" + " eor r1, r1, r0\n" + " neg r0, r1\n" + " orr r0, r0, r1\n" + " asr r0, r0, #0x1f\n" + " and r0, r0, r3\n" + " strb r0, [r2]\n" + " bx lr\n" + "._14:\n" + " .align 2, 0\n" + "._13:\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B2D8() +{ + asm( + " ldr r0, ._15\n" + " ldrb r1, [r0]\n" + " mov r2, #0x20\n" + " orr r1, r1, r2\n" + " strb r1, [r0]\n" + " bx lr\n" + "._16:\n" + " .align 2, 0\n" + "._15:\n" + " .word unk_debug_bss_1+0x3\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B2E8() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffffc\n" + " ldr r0, ._17\n" + " ldrb r1, [r0, #0x1]\n" + " add r1, r1, #0x1\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x6\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " add sp, sp, #0x4\n" + " pop {r0}\n" + " bx r0\n" + "._18:\n" + " .align 2, 0\n" + "._17:\n" + " .word +0x2000000\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B310() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " ldr r0, ._21\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 4\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 8\n" + " mov r1, #0x1\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 12\n" + " mov r1, #0x1\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 16\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 20\n" + " mov r1, #0x1\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 24\n" + " mov r1, #0x1\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 28\n" + " mov r1, #0x1\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 32\n" + " mov r1, #0x1\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 36\n" + " mov r1, #0xf\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 40\n" + " mov r1, #0xf\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 44\n" + " mov r1, #0xf\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 48\n" + " mov r1, #0xf\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 52\n" + " mov r1, #0xf\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 56\n" + " mov r1, #0xf\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 60\n" + " mov r1, #0xf\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 64\n" + " mov r1, #0xf\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 68\n" + " mov r1, #0xf\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " ldr r0, ._21 + 72\n" + " ldrb r0, [r0, #0x3]\n" + " cmp r0, #0\n" + " bne ._19 @cond_branch\n" + " ldr r0, ._21 + 76\n" + " mov r1, #0xa\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " b ._20\n" + "._22:\n" + " .align 2, 0\n" + "._21:\n" + " .word Str_841B1C4\n" + " .word Str_841B1CB\n" + " .word Str_841B1D4\n" + " .word Str_841B1DB\n" + " .word Str_841B1E2\n" + " .word Str_841B1E8\n" + " .word Str_841B1F3\n" + " .word Str_841B202\n" + " .word Str_841B24C\n" + " .word Str_841B211\n" + " .word Str_841B219\n" + " .word Str_841B220\n" + " .word Str_841B227\n" + " .word Str_841B22E\n" + " .word Str_841B235\n" + " .word Str_841B23B\n" + " .word Str_841B23F\n" + " .word Str_841B243\n" + " .word +0x2000000\n" + " .word Str_841B246\n" + "._19:\n" + " ldr r0, ._30\n" + " mov r1, #0xa\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + "._20:\n" + " ldr r4, ._30 + 4\n" + " ldr r1, [r4, #0x68]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0xa\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r1, [r4, #0x6c]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0xa\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " mov r0, #0x10\n" + " ldsh r1, [r4, r0]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0xa\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r1, [r4, #0x70]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r1, [r4, #0x74]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldr r1, [r4, #0x78]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0x7\n" + " bl MenuPrint\n" + " ldr r1, [r4, #0x7c]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " add r0, r0, #0x80\n" + " ldr r1, [r0]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0xb\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " add r0, r0, #0x84\n" + " ldr r1, [r0]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " add r0, r0, #0x88\n" + " ldr r1, [r0]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " add r0, r0, #0x8c\n" + " ldr r1, [r0]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0x14\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " ldr r1, ._30 + 8\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._23 @cond_branch\n" + " mov r2, #0x0\n" + " cmp r0, #0x8\n" + " beq ._24 @cond_branch\n" + " cmp r0, #0x8\n" + " bgt ._25 @cond_branch\n" + " cmp r0, #0x2\n" + " beq ._26 @cond_branch\n" + " cmp r0, #0x2\n" + " bgt ._27 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._28 @cond_branch\n" + " b ._45\n" + "._31:\n" + " .align 2, 0\n" + "._30:\n" + " .word Str_841B249\n" + " .word +0x2000000\n" + " .word unk_debug_bss_1\n" + "._27:\n" + " cmp r0, #0x4\n" + " beq ._32 @cond_branch\n" + " b ._45\n" + "._25:\n" + " cmp r0, #0x40\n" + " beq ._34 @cond_branch\n" + " cmp r0, #0x40\n" + " bgt ._35 @cond_branch\n" + " cmp r0, #0x10\n" + " beq ._36 @cond_branch\n" + " b ._45\n" + "._35:\n" + " cmp r0, #0x80\n" + " beq ._38 @cond_branch\n" + " b ._45\n" + "._26:\n" + " mov r2, #0x3\n" + " b ._45\n" + "._28:\n" + " mov r2, #0x5\n" + " b ._45\n" + "._32:\n" + " mov r2, #0x7\n" + " b ._45\n" + "._24:\n" + " mov r2, #0x9\n" + " b ._45\n" + "._36:\n" + " mov r2, #0xb\n" + " b ._45\n" + "._34:\n" + " mov r2, #0xd\n" + " b ._45\n" + "._38:\n" + " mov r2, #0xf\n" + "._45:\n" + " ldr r0, ._46\n" + " mov r1, #0x17\n" + " bl MenuPrint\n" + "._23:\n" + " bl debug_sub_811B2E8\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._47:\n" + " .align 2, 0\n" + "._46:\n" + " .word Str_841B26D\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B5B4() +{ + asm( + " push {lr}\n" + " add r2, r0, #0\n" + " ldr r0, [r2]\n" + " add r0, r0, r1\n" + " str r0, [r2]\n" + " ldr r1, ._49\n" + " cmp r0, r1\n" + " ble ._48 @cond_branch\n" + " str r1, [r2]\n" + "._48:\n" + " pop {r0}\n" + " bx r0\n" + "._50:\n" + " .align 2, 0\n" + "._49:\n" + " .word 0x270f\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B5D0() +{ + asm( + " ldr r0, ._51\n" + " mov r1, #0x0\n" + " strb r1, [r0]\n" + " ldr r0, ._51 + 4\n" + " strb r1, [r0]\n" + " ldr r0, ._51 + 8\n" + " strb r1, [r0]\n" + " ldr r0, ._51 + 12\n" + " strb r1, [r0]\n" + " ldr r2, ._51 + 16\n" + " mov r0, #0x0\n" + " str r0, [r2, #0x68]\n" + " str r0, [r2, #0x6c]\n" + " str r0, [r2, #0x70]\n" + " str r0, [r2, #0x74]\n" + " str r0, [r2, #0x78]\n" + " str r0, [r2, #0x7c]\n" + " add r1, r2, #0\n" + " add r1, r1, #0x80\n" + " str r0, [r1]\n" + " add r1, r1, #0x4\n" + " str r0, [r1]\n" + " add r1, r1, #0x4\n" + " str r0, [r1]\n" + " add r1, r1, #0x4\n" + " str r0, [r1]\n" + " add r1, r1, #0x4\n" + " str r0, [r1]\n" + " bx lr\n" + "._52:\n" + " .align 2, 0\n" + "._51:\n" + " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1+0x2\n" + " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1+0x4\n" + " .word +0x2000000\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B620() +{ + asm( + " push {lr}\n" + " ldr r0, ._53\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._54:\n" + " .align 2, 0\n" + "._53:\n" + " .word debug_sub_811B654+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B634() +{ + asm( + " push {lr}\n" + " ldr r0, ._57\n" + " bl FindTaskIdByFunc\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0xff\n" + " beq ._55 @cond_branch\n" + " mov r0, #0x0\n" + " b ._56\n" + "._58:\n" + " .align 2, 0\n" + "._57:\n" + " .word debug_sub_811B654+1\n" + "._55:\n" + " mov r0, #0x1\n" + "._56:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B654() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xfffffff8\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " lsl r0, r6, #0x2\n" + " add r0, r0, r6\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._63\n" + " add r5, r0, r1\n" + " mov r0, #0x8\n" + " ldsh r1, [r5, r0]\n" + " cmp r1, #0x1\n" + " beq ._59 @cond_branch\n" + " cmp r1, #0x1\n" + " bgt ._60 @cond_branch\n" + " cmp r1, #0\n" + " beq ._61 @cond_branch\n" + " b ._116\n" + "._64:\n" + " .align 2, 0\n" + "._63:\n" + " .word gTasks\n" + "._60:\n" + " cmp r1, #0x2\n" + " bne ._65 @cond_branch\n" + " b ._66\n" + "._65:\n" + " cmp r1, #0x3\n" + " bne ._67 @cond_branch\n" + " b ._68\n" + "._67:\n" + " b ._116\n" + "._61:\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x18\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " bl debug_sub_811B310\n" + " ldrh r0, [r5, #0x8]\n" + " add r0, r0, #0x1\n" + " strh r0, [r5, #0x8]\n" + " b ._116\n" + "._59:\n" + " ldr r7, ._76\n" + " ldrh r2, [r7, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._71 @cond_branch\n" + " b ._94\n" + "._71:\n" + " mov r0, #0x20\n" + " and r0, r0, r2\n" + " lsl r0, r0, #0x10\n" + " lsr r3, r0, #0x10\n" + " cmp r3, #0\n" + " beq ._73 @cond_branch\n" + " ldr r1, ._76 + 4\n" + " ldrb r0, [r1, #0x1]\n" + " sub r0, r0, #0x1\n" + " strb r0, [r1, #0x1]\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bge ._79 @cond_branch\n" + " mov r0, #0x5\n" + " strb r0, [r1, #0x1]\n" + " b ._79\n" + "._77:\n" + " .align 2, 0\n" + "._76:\n" + " .word gMain\n" + " .word +0x2000000\n" + "._73:\n" + " mov r0, #0x10\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._78 @cond_branch\n" + " ldr r1, ._81\n" + " ldrb r0, [r1, #0x1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1, #0x1]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x5\n" + " bls ._79 @cond_branch\n" + " strb r3, [r1, #0x1]\n" + "._79:\n" + " bl debug_sub_811B2E8\n" + " b ._116\n" + "._82:\n" + " .align 2, 0\n" + "._81:\n" + " .word +0x2000000\n" + "._78:\n" + " and r1, r1, r2\n" + " lsl r0, r1, #0x10\n" + " lsr r4, r0, #0x10\n" + " cmp r4, #0\n" + " beq ._83 @cond_branch\n" + " mov r0, #0x3\n" + " strh r0, [r5, #0x8]\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x9\n" + " mov r3, #0x5\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._85\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._85 + 4\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " b ._116\n" + "._86:\n" + " .align 2, 0\n" + "._85:\n" + " .word Str_841B25C\n" + " .word Str_841B264\n" + "._83:\n" + " mov r0, #0x4\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._87 @cond_branch\n" + " ldr r0, ._91\n" + " strb r4, [r0]\n" + " ldr r0, ._91 + 4\n" + " strb r4, [r0]\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xa\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._91 + 8\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r3, ._91 + 12\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " mov r2, #0x8\n" + " bl PrintMenuItems\n" + " str r4, [sp]\n" + " mov r0, #0x9\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " ldrh r0, [r5, #0x8]\n" + " add r0, r0, #0x1\n" + " strh r0, [r5, #0x8]\n" + "._87:\n" + " ldrh r1, [r7, #0x2e]\n" + " mov r0, #0x8\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._88 @cond_branch\n" + " b ._116\n" + "._88:\n" + " ldr r1, ._91 + 16\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " b ._94\n" + "._92:\n" + " .align 2, 0\n" + "._91:\n" + " .word unk_debug_bss_1+0x2\n" + " .word unk_debug_bss_1+0x3\n" + " .word Str_841B254\n" + " .word _841B270\n" + " .word unk_debug_bss_1+0x4\n" + "._66:\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r2, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r2, r0\n" + " beq ._116 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r2, r0\n" + " beq ._94 @cond_branch\n" + " ldr r1, ._96\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r0, ._96 + 4\n" + " lsl r1, r2, #0x3\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, [r1]\n" + " bl _call_via_r0\n" + "._94:\n" + " bl MenuZeroFillScreen\n" + " add r0, r6, #0\n" + " bl DestroyTask\n" + " b ._116\n" + "._97:\n" + " .align 2, 0\n" + "._96:\n" + " .word unk_debug_bss_1+0x2\n" + " .word _841B270\n" + "._68:\n" + " ldr r2, ._100\n" + " ldrh r1, [r2, #0x30]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._98 @cond_branch\n" + " ldr r2, ._100 + 4\n" + " ldrh r0, [r2, #0xc]\n" + " add r0, r0, #0x64\n" + " b ._99\n" + "._101:\n" + " .align 2, 0\n" + "._100:\n" + " .word gMain\n" + " .word +0x2000000\n" + "._98:\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._102 @cond_branch\n" + " ldr r1, ._104\n" + " ldrh r0, [r1, #0xc]\n" + " sub r0, r0, #0x64\n" + " b ._103\n" + "._105:\n" + " .align 2, 0\n" + "._104:\n" + " .word +0x2000000\n" + "._102:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._106 @cond_branch\n" + " ldr r1, ._109\n" + " ldr r2, ._109 + 4\n" + " add r0, r2, #0\n" + " ldrh r2, [r1, #0xc]\n" + " add r0, r0, r2\n" + "._103:\n" + " strh r0, [r1, #0xc]\n" + " lsl r0, r0, #0x10\n" + " cmp r0, #0\n" + " bgt ._116 @cond_branch\n" + " ldr r0, ._109 + 8\n" + " strh r0, [r1, #0xc]\n" + " b ._116\n" + "._110:\n" + " .align 2, 0\n" + "._109:\n" + " .word +0x2000000\n" + " .word 0xfffffc18\n" + " .word 0x270f\n" + "._106:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._111 @cond_branch\n" + " ldr r2, ._114\n" + " mov r1, #0xfa\n" + " lsl r1, r1, #0x2\n" + " add r0, r1, #0\n" + " ldrh r1, [r2, #0xc]\n" + " add r0, r0, r1\n" + "._99:\n" + " strh r0, [r2, #0xc]\n" + " lsl r0, r0, #0x10\n" + " asr r0, r0, #0x10\n" + " ldr r1, ._114 + 4\n" + " cmp r0, r1\n" + " ble ._116 @cond_branch\n" + " strh r1, [r2, #0xc]\n" + " b ._116\n" + "._115:\n" + " .align 2, 0\n" + "._114:\n" + " .word +0x2000000\n" + " .word 0x270f\n" + "._111:\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._116 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " add r0, r6, #0\n" + " bl DestroyTask\n" + "._116:\n" + " add sp, sp, #0x8\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_811B894() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " ldr r1, ._122\n" + " ldrh r2, [r1, #0x8]\n" + " mov r0, #0xc0\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r2\n" + " add r4, r1, #0\n" + " cmp r0, #0\n" + " beq ._117 @cond_branch\n" + " add r1, r1, #0x90\n" + " ldr r0, [r1]\n" + " add r0, r0, #0x1\n" + " str r0, [r1]\n" + " ldr r2, ._122 + 4\n" + " cmp r0, r2\n" + " ble ._118 @cond_branch\n" + " str r2, [r1]\n" + "._118:\n" + " add r0, r4, #0\n" + " add r0, r0, #0x88\n" + " ldr r1, [r1]\n" + " ldr r0, [r0]\n" + " cmp r1, r0\n" + " beq ._119 @cond_branch\n" + " ldr r0, ._122 + 8\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r1, ._122 + 12\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + "._119:\n" + " ldrb r1, [r4, #0x4]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0\n" + " bne ._126 @cond_branch\n" + " ldr r0, ._122 + 16\n" + " mov r1, #0x4\n" + " mov r2, #0x11\n" + " b ._121\n" + "._123:\n" + " .align 2, 0\n" + "._122:\n" + " .word +0x2000000\n" + " .word 0x270f\n" + " .word Str_841B2B0\n" + " .word unk_debug_bss_1+0x4\n" + " .word Str_841B2D3\n" + "._117:\n" + " lsl r0, r2, #0x10\n" + " cmp r0, #0\n" + " beq ._127 @cond_branch\n" + " ldrb r1, [r4, #0x4]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._126 @cond_branch\n" + " mov r4, #0x3\n" + " and r4, r4, r2\n" + " cmp r4, #0\n" + " bne ._126 @cond_branch\n" + " ldr r0, ._163\n" + " mov r1, #0x4\n" + " mov r2, #0x2\n" + "._121:\n" + " bl MenuPrint\n" + " ldr r0, ._163 + 4\n" + " strb r4, [r0]\n" + "._126:\n" + " ldr r0, ._163 + 8\n" + " ldrh r1, [r0, #0x8]\n" + " add r4, r0, #0\n" + " cmp r1, #0\n" + " beq ._127 @cond_branch\n" + " b ._162\n" + "._127:\n" + " mov r1, #0x12\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0x3\n" + " beq ._129 @cond_branch\n" + " b ._162\n" + "._129:\n" + " ldrb r1, [r4, #0x4]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._131 @cond_branch\n" + " b ._162\n" + "._131:\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " mov r0, #0x0\n" + " mov r1, #0x2\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " str r0, [sp]\n" + " mov r0, #0x0\n" + " mov r1, #0x3\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r9, r0\n" + " mov r0, #0x1\n" + " mov r1, #0x2\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " mov r0, #0x1\n" + " mov r1, #0x3\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov sl, r0\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " mov r0, #0x2\n" + " mov r1, #0x2\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " mov r0, #0x2\n" + " mov r1, #0x3\n" + " bl sub_8102BA4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r7, #0\n" + " bne ._134 @cond_branch\n" + " mov r1, r9\n" + " cmp r1, #0x1\n" + " bne ._134 @cond_branch\n" + " cmp r5, #0\n" + " beq ._159 @cond_branch\n" + "._134:\n" + " ldr r1, [sp]\n" + " cmp r1, #0\n" + " bne ._137 @cond_branch\n" + " cmp r4, #0x1\n" + " bne ._137 @cond_branch\n" + " mov r1, r8\n" + " cmp r1, #0\n" + " beq ._159 @cond_branch\n" + "._137:\n" + " cmp r6, #0\n" + " bne ._140 @cond_branch\n" + " mov r1, sl\n" + " cmp r1, #0x1\n" + " bne ._140 @cond_branch\n" + " cmp r0, #0\n" + " beq ._159 @cond_branch\n" + "._140:\n" + " cmp r7, #0\n" + " bne ._143 @cond_branch\n" + " cmp r4, #0x1\n" + " bne ._143 @cond_branch\n" + " cmp r0, #0\n" + " beq ._159 @cond_branch\n" + "._143:\n" + " cmp r6, #0\n" + " bne ._146 @cond_branch\n" + " cmp r4, #0x1\n" + " bne ._146 @cond_branch\n" + " cmp r5, #0\n" + " beq ._159 @cond_branch\n" + "._146:\n" + " cmp r7, #0x1\n" + " bne ._149 @cond_branch\n" + " mov r1, r9\n" + " cmp r1, #0\n" + " bne ._149 @cond_branch\n" + " cmp r5, #0x1\n" + " beq ._159 @cond_branch\n" + "._149:\n" + " ldr r1, [sp]\n" + " cmp r1, #0x1\n" + " bne ._152 @cond_branch\n" + " cmp r4, #0\n" + " bne ._152 @cond_branch\n" + " mov r1, r8\n" + " cmp r1, #0x1\n" + " beq ._159 @cond_branch\n" + "._152:\n" + " cmp r6, #0x1\n" + " bne ._155 @cond_branch\n" + " mov r1, sl\n" + " cmp r1, #0\n" + " bne ._155 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._159 @cond_branch\n" + "._155:\n" + " cmp r7, #0x1\n" + " bne ._158 @cond_branch\n" + " cmp r4, #0\n" + " bne ._158 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._159 @cond_branch\n" + "._158:\n" + " cmp r6, #0x1\n" + " bne ._162 @cond_branch\n" + " cmp r4, #0\n" + " bne ._162 @cond_branch\n" + " cmp r5, #0x1\n" + " bne ._162 @cond_branch\n" + "._159:\n" + " ldr r0, ._163 + 12\n" + " mov r1, #0x4\n" + " mov r2, #0x0\n" + " bl MenuPrint\n" + " ldr r1, ._163 + 4\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + "._162:\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._164:\n" + " .align 2, 0\n" + "._163:\n" + " .word Str_841B2E4\n" + " .word unk_debug_bss_1+0x4\n" + " .word +0x2000000\n" + " .word Str_841B2BF\n" + "\n" + ); +} +#endif + +static const u8 sReelSymbols[][21] = +{ { SLOT_MACHINE_TAG_7_RED, SLOT_MACHINE_TAG_CHERRY, diff --git a/src/field/start_menu.c b/src/field/start_menu.c index 2f6f1e7dd..5e76d30a6 100644 --- a/src/field/start_menu.c +++ b/src/field/start_menu.c @@ -44,6 +44,11 @@ enum { MENU_ACTION_PLAYER_LINK }; +#ifdef DEBUG +static u32 _debugStartMenu_0 __attribute__((unused)); +static u32 _debugStartMenu_1 __attribute__((unused)); +#endif + static u8 (*saveDialogCallback)(void); static u8 saveDialogTimer; //Number of frames to keep the window on screen after save was completed static bool8 savingComplete; @@ -132,6 +137,304 @@ static bool32 sub_80719FC(u8 *ptr); static void sub_8071B54(void); static void Task_8071B64(u8 taskId); +#ifdef DEBUG +__attribute__((naked)) +void debug_sub_8075C30() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl debug_sub_8075D9C\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8075C40() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._5\n" + " add r5, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r5, r1]\n" + " cmp r0, #0x1\n" + " beq ._1 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._2 @cond_branch\n" + " cmp r0, #0\n" + " beq ._3 @cond_branch\n" + " b ._18\n" + "._6:\n" + " .align 2, 0\n" + "._5:\n" + " .word gTasks+0x8\n" + "._2:\n" + " cmp r0, #0x2\n" + " beq ._7 @cond_branch\n" + " cmp r0, #0x3\n" + " beq ._8 @cond_branch\n" + " b ._18\n" + "._3:\n" + " bl m4aSoundVSyncOff\n" + " b ._12\n" + "._1:\n" + " ldr r1, ._13\n" + " ldrh r0, [r1]\n" + " mov sl, r0\n" + " mov r0, #0x0\n" + " strh r0, [r1]\n" + " ldr r1, ._13 + 4\n" + " strh r0, [r1]\n" + " mov r0, #0x83\n" + " lsl r0, r0, #0x10\n" + " str r0, [r1]\n" + " ldr r4, ._13 + 8\n" + " mov r9, r4\n" + " ldr r2, ._13 + 12\n" + " ldr r0, ._13 + 16\n" + " mov ip, r0\n" + " ldr r1, ._13 + 20\n" + " mov r8, r1\n" + " ldr r7, ._13 + 24\n" + " mov r3, r9\n" + " add r3, r3, #0x1\n" + " ldr r6, ._13 + 28\n" + " ldr r4, ._13 + 32\n" + "._11:\n" + " mov r0, ip\n" + " str r0, [r2]\n" + " str r6, [r2, #0x4]\n" + " str r4, [r2, #0x8]\n" + " ldr r0, [r2, #0x8]\n" + " ldrh r1, [r2, #0xa]\n" + " mov r0, r8\n" + " and r0, r0, r1\n" + " strh r0, [r2, #0xa]\n" + " ldrh r1, [r2, #0xa]\n" + " add r0, r7, #0\n" + " and r0, r0, r1\n" + " strh r0, [r2, #0xa]\n" + " ldrh r0, [r2, #0xa]\n" + " sub r3, r3, #0x1\n" + " cmp r3, #0\n" + " bne ._11 @cond_branch\n" + " mov r3, r9\n" + " add r3, r3, #0x1\n" + " ldr r0, ._13 + 36\n" + " mov r2, #0x0\n" + " strh r2, [r0]\n" + " ldr r1, ._13 + 4\n" + " ldrh r0, [r1]\n" + " ldr r4, ._13 + 40\n" + " str r0, [r4]\n" + " strh r2, [r1]\n" + " ldr r0, ._13\n" + " mov r1, sl\n" + " strh r1, [r0]\n" + " ldr r4, ._13 + 44\n" + " str r3, [r4]\n" + " bl m4aSoundVSyncOn\n" + " b ._12\n" + "._14:\n" + " .align 2, 0\n" + "._13:\n" + " .word 0x4000208\n" + " .word 0x4000108\n" + " .word 0xc34f\n" + " .word 0x40000b0\n" + " .word gUnknown_03004DE0\n" + " .word 0xc5ff\n" + " .word 0x7fff\n" + " .word 0x4000040\n" + " .word 0xa2600001\n" + " .word 0x400010a\n" + " .word _debugStartMenu_0\n" + " .word _debugStartMenu_1\n" + "._7:\n" + " mov r0, #0x15\n" + " bl PlaySE\n" + " ldr r0, ._16\n" + " ldr r1, ._16 + 4\n" + " ldr r1, [r1]\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r0, ._16 + 8\n" + " ldr r1, ._16 + 12\n" + " ldr r1, [r1]\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl ConvertIntToDecimalStringN\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._16 + 16\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + "._12:\n" + " ldrh r0, [r5]\n" + " add r0, r0, #0x1\n" + " strh r0, [r5]\n" + " b ._18\n" + "._17:\n" + " .align 2, 0\n" + "._16:\n" + " .word gStringVar1\n" + " .word _debugStartMenu_1\n" + " .word gStringVar2\n" + " .word _debugStartMenu_0\n" + " .word gUnknown_Debug_839B6D8\n" + "._8:\n" + " ldr r0, ._19\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._18 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + "._18:\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._20:\n" + " .align 2, 0\n" + "._19:\n" + " .word gMain\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8075D9C() +{ + asm( + " push {lr}\n" + " ldr r0, ._21\n" + " mov r1, #0xa\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " pop {r0}\n" + " bx r0\n" + "._22:\n" + " .align 2, 0\n" + "._21:\n" + " .word debug_sub_8075C40+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8075DB4() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " add r5, r1, #0\n" + " add r4, r2, #0\n" + " add r0, r4, #0\n" + " mov r1, #0x4d\n" + " bl __umodsi3\n" + " strb r0, [r6, #0x1]\n" + " add r1, r6, #0\n" + " add r1, r1, #0xc\n" + " add r0, r4, #0\n" + " bl write_word_to_mem\n" + " add r0, r6, #4\n" + " add r1, r5, #0\n" + " bl StringCopy8\n" + " mov r3, #0x7\n" + " mov r4, #0x0\n" + " ldr r0, ._25\n" + " ldr r1, ._25 + 4\n" + " add r5, r0, r1\n" + " add r2, r6, #0\n" + " add r2, r2, #0x10\n" + " add r1, r6, #0\n" + " add r1, r1, #0x1c\n" + "._23:\n" + " ldrh r0, [r5]\n" + " strh r0, [r2]\n" + " strh r3, [r1]\n" + " add r0, r3, #6\n" + " strh r0, [r1, #0xc]\n" + " add r3, r3, #0x1\n" + " add r5, r5, #0x2\n" + " add r2, r2, #0x2\n" + " add r1, r1, #0x2\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x5\n" + " ble ._23 @cond_branch\n" + " mov r4, #0x0\n" + "._24:\n" + " mov r0, #0x64\n" + " mul r0, r0, r4\n" + " ldr r1, ._25 + 8\n" + " add r0, r0, r1\n" + " mov r1, #0x2c\n" + " mul r1, r1, r4\n" + " add r1, r1, #0x34\n" + " add r1, r6, r1\n" + " bl sub_803AF78\n" + " add r4, r4, #0x1\n" + " cmp r4, #0x2\n" + " ble ._24 @cond_branch\n" + " add r0, r6, #0\n" + " bl sub_8136088\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._26:\n" + " .align 2, 0\n" + "._25:\n" + " .word gSaveBlock1\n" + " .word 0x2b28\n" + " .word gPlayerParty\n" + "\n" + ); +} + +__attribute__((naked)) +void unref_sub_8070F90() +{ + asm( + " push {lr}\n" + " ldr r0, ._27\n" + " bl FlagSet\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x4\n" + " bl FlagSet\n" + " ldr r0, ._27 + 4\n" + " bl FlagSet\n" + " pop {r0}\n" + " bx r0\n" + "._28:\n" + " .align 2, 0\n" + "._27:\n" + " .word 0x801\n" + " .word 0x802\n" + "\n" + ); +} +#endif static void BuildStartMenuActions(void) { diff --git a/src/field/wild_encounter.c b/src/field/wild_encounter.c index 4bf83cad8..08913f40d 100644 --- a/src/field/wild_encounter.c +++ b/src/field/wild_encounter.c @@ -3802,6 +3802,19 @@ static void FeebasSeedRng(u16 seed) sFeebasRngValue = seed; } +#if DEBUG +u16 debug_sub_8092344(u8 arg0) +{ + if (arg0 == 0) + return 131; + if (arg0 == 1) + return 167; + if (arg0 == 2) + return 149; + return 0; +} +#endif + static u8 ChooseWildMonIndex_Land(void) { u8 rand = Random() % 100; @@ -4042,6 +4055,24 @@ static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate) return FALSE; } +#if DEBUG +u16 debug_sub_809283C(u16 attempts) +{ + u16 retval = 0; + u16 i = 0; + + while (i < attempts) + { + if (DoWildEncounterRateDiceRoll(320) == TRUE) + retval++; + + i++; + } + + return retval; +} +#endif + static bool8 DoWildEncounterTest(u32 encounterRate, bool8 ignoreAbility) { encounterRate *= 16; diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 921a3ad93..c652b9398 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -238,7 +238,7 @@ const struct MailLayout gUnknown_083E57A4[] = static u8 *const sSharedMemPtr = gSharedMem; static u8 sub_80F8A28(void); -static void sub_80F8D50(void); +/*static*/ void sub_80F8D50(void); static void sub_80F8DA0(void); static void sub_80F8E80(void); static void sub_80F8F18(void); @@ -247,6 +247,205 @@ static void sub_80F8F58(void); static void sub_80F8F78(void); static void sub_80F8FB4(void); + +#if DEBUG + +// should be static +__attribute__((section(".bss"))) u8 unk_debug_bss_2; + +__attribute__((naked)) +void HandleReadMail(struct MailStruct *aStruct, MainCallback callback, bool8 bool81) +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " add r6, r1, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r5, r2, #0x18\n" + " ldr r0, ._3\n" + " ldrb r3, [r0]\n" + " cmp r3, #0\n" + " beq ._1 @cond_branch\n" + " ldr r2, ._3 + 4\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r0, ._3 + 8\n" + " ldrh r1, [r0]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r0, r2, r3\n" + " strb r1, [r0]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, ._3 + 12\n" + " str r0, [r1]\n" + " add r3, r3, #0x8\n" + " add r1, r2, r3\n" + " ldr r0, ._3 + 16\n" + " str r0, [r1]\n" + " ldr r0, ._3 + 20\n" + " ldrh r1, [r0]\n" + " b ._2\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word gUnknown_03000748+0x4\n" + " .word +0x2000000\n" + " .word gSpecialVar_0x8004\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + " .word gSpecialVar_0x8006\n" + "._1:\n" + " ldr r2, ._7\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " add r0, r0, #0xfb\n" + " add r1, r2, r0\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, ._7 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x84\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, ._7 + 8\n" + " str r0, [r1]\n" + " ldrh r1, [r4, #0x20]\n" + " add r0, r1, #0\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi ._5 @cond_branch\n" + " sub r1, r1, #0x79\n" + "._2:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r1, [r0]\n" + " b ._6\n" + "._8:\n" + " .align 2, 0\n" + "._7:\n" + " .word +0x2000000\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + "._5:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r3, [r0]\n" + " mov r5, #0x0\n" + "._6:\n" + " ldr r1, ._12\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq ._9 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._10 @cond_branch\n" + "._9:\n" + " mov r3, #0x86\n" + " lsl r3, r3, #0x1\n" + " add r2, r1, r3\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._12 + 4\n" + " b ._11\n" + "._13:\n" + " .align 2, 0\n" + "._12:\n" + " .word +0x2000000\n" + " .word gUnknown_083E5730\n" + "._10:\n" + " mov r0, #0x86\n" + " lsl r0, r0, #0x1\n" + " add r2, r1, r0\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._18\n" + "._11:\n" + " add r0, r0, r1\n" + " str r0, [r2]\n" + " ldrh r0, [r4, #0x1e]\n" + " mov r1, sp\n" + " bl MailSpeciesToSpecies\n" + " lsl r0, r0, #0x10\n" + " ldr r1, ._18 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xcd\n" + " lsl r1, r1, #0x11\n" + " cmp r0, r1\n" + " bhi ._14 @cond_branch\n" + " ldr r0, ._18 + 8\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfa\n" + " ldrb r2, [r1]\n" + " add r1, r0, #0\n" + " cmp r2, #0x6\n" + " beq ._15 @cond_branch\n" + " cmp r2, #0x9\n" + " beq ._16 @cond_branch\n" + " b ._17\n" + "._19:\n" + " .align 2, 0\n" + "._18:\n" + " .word gUnknown_083E57A4\n" + " .word 0xffff0000\n" + " .word +0x2000000\n" + "._15:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x1\n" + " b ._21\n" + "._16:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x2\n" + " b ._21\n" + "._14:\n" + " ldr r1, ._22\n" + "._17:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x0\n" + "._21:\n" + " strb r0, [r2]\n" + " add r0, r1, #0\n" + " add r0, r0, #0xf4\n" + " str r4, [r0]\n" + " sub r0, r0, #0x8\n" + " str r6, [r0]\n" + " add r0, r0, #0xc\n" + " strb r5, [r0]\n" + " ldr r0, ._22 + 4\n" + " bl SetMainCallback2\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._23:\n" + " .align 2, 0\n" + "._22:\n" + " .word +0x2000000\n" + " .word sub_80F8D50+1\n" + "\n" + ); +} +#else void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { u16 mailDesign; @@ -310,6 +509,7 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) SetMainCallback2(sub_80F8D50); } +#endif #define RETURN_UP_STATE break #define RETURN_SKIP_STATE return FALSE @@ -456,7 +656,7 @@ static u8 sub_80F8A28(void) return FALSE; } -static void sub_80F8D50(void) +/*static*/ void sub_80F8D50(void) { do { @@ -573,6 +773,60 @@ static void sub_80F8F78(void) } } +#if DEBUG +__attribute__((naked)) +void sub_80F8FB4() +{ + asm( + " push {r4, lr}\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._135 @cond_branch\n" + " ldr r4, ._138\n" + " add r0, r4, #0\n" + " add r0, r0, #0xec\n" + " ldr r0, [r0]\n" + " bl SetMainCallback2\n" + " add r0, r4, #0\n" + " add r0, r0, #0xfb\n" + " ldrb r0, [r0]\n" + " cmp r0, #0x2\n" + " bgt ._137 @cond_branch\n" + " cmp r0, #0x1\n" + " blt ._137 @cond_branch\n" + " add r0, r4, #0\n" + " add r0, r0, #0xf4\n" + " ldr r0, [r0]\n" + " ldrh r0, [r0, #0x1e]\n" + " bl sub_809D4A8\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " bl sub_809D608\n" + " add r0, r4, #0\n" + " add r0, r0, #0xfc\n" + " ldrb r1, [r0]\n" + " lsl r0, r1, #0x4\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._138 + 4\n" + " add r0, r0, r1\n" + " bl sub_809D510\n" + "._137:\n" + " bl ResetPaletteFade\n" + "._135:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._139:\n" + " .align 2, 0\n" + "._138:\n" + " .word +0x2000000\n" + " .word gSprites\n" + "\n" + ); +} +#else static void sub_80F8FB4(void) { u16 local1; @@ -597,3 +851,1611 @@ static void sub_80F8FB4(void) memset(&ewram0_4, 0, 0x110); ResetPaletteFade(); } +#endif + +#if DEBUG +__attribute__((naked)) +void debug_sub_810C910() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, ._143\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._142 @cond_branch\n" + " ldr r1, ._143 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " bl Menu_EraseScreen\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + " ldr r2, ._143 + 8\n" + " ldr r0, ._143 + 12\n" + " ldrh r1, [r0]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r1, r0, #0x2\n" + " add r0, r1, r2\n" + " ldr r3, ._143 + 16\n" + " add r0, r0, r3\n" + " ldrh r0, [r0]\n" + " cmp r0, #0\n" + " bne ._141 @cond_branch\n" + " sub r3, r3, #0x20\n" + " add r0, r2, r3\n" + " add r0, r1, r0\n" + " ldr r1, ._143 + 20\n" + " mov r2, #0x0\n" + " bl HandleReadMail\n" + " b ._142\n" + "._144:\n" + " .align 2, 0\n" + "._143:\n" + " .word gPaletteFade\n" + " .word unk_debug_bss_2\n" + " .word gSaveBlock1\n" + " .word gSpecialVar_0x8005\n" + " .word 0x2b6c\n" + " .word debug_sub_810D388+1\n" + "._141:\n" + " ldr r3, ._145\n" + " add r0, r2, r3\n" + " add r0, r1, r0\n" + " ldr r1, ._145 + 4\n" + " mov r2, #0x1\n" + " bl HandleReadMail\n" + "._142:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._146:\n" + " .align 2, 0\n" + "._145:\n" + " .word 0x2b4c\n" + " .word debug_sub_810D388+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810C990() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " add r5, r4, #0\n" + " ldr r0, ._149\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0xa0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._147 @cond_branch\n" + " ldr r4, ._149 + 4\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0xb\n" + " b ._148\n" + "._150:\n" + " .align 2, 0\n" + "._149:\n" + " .word gMain\n" + " .word gSpecialVar_0x8006\n" + "._147:\n" + " mov r2, #0x50\n" + " and r2, r2, r1\n" + " cmp r2, #0\n" + " beq ._151 @cond_branch\n" + " ldr r4, ._153\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0x1\n" + "._148:\n" + " mov r1, #0xc\n" + " bl __modsi3\n" + " strh r0, [r4]\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0xa\n" + " mov r3, #0x4\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r1, ._153 + 4\n" + " ldrh r0, [r4]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x2\n" + " mov r2, #0x2\n" + " bl Menu_PrintText\n" + " b ._159\n" + "._154:\n" + " .align 2, 0\n" + "._153:\n" + " .word gSpecialVar_0x8006\n" + " .word _84115C4\n" + "._151:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._155 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " str r2, [sp]\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._157\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._157 + 4\n" + " b ._156\n" + "._158:\n" + " .align 2, 0\n" + "._157:\n" + " .word gTasks\n" + " .word debug_sub_810C910+1\n" + "._155:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._159 @cond_branch\n" + " bl Menu_DisplayDialogueFrame\n" + " ldr r0, ._160\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + " ldr r1, ._160 + 4\n" + " ldr r0, ._160 + 8\n" + " ldrh r0, [r0]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x2\n" + " mov r2, #0x2\n" + " bl Menu_PrintText\n" + " ldr r1, ._160 + 12\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._160 + 16\n" + "._156:\n" + " str r1, [r0]\n" + "._159:\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._161:\n" + " .align 2, 0\n" + "._160:\n" + " .word Str_8411540\n" + " .word _8411560\n" + " .word gSpecialVar_0x8004\n" + " .word gTasks\n" + " .word debug_sub_810CA7C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CA7C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r3, ._164\n" + " ldrh r1, [r3, #0x2e]\n" + " mov r2, #0xf0\n" + " and r2, r2, r1\n" + " cmp r2, #0\n" + " beq ._162 @cond_branch\n" + " ldr r2, ._164 + 4\n" + " ldrh r0, [r2]\n" + " mov r1, #0x1\n" + " eor r0, r0, r1\n" + " strh r0, [r2]\n" + " ldr r1, ._164 + 8\n" + " ldrh r0, [r2]\n" + " b ._163\n" + "._165:\n" + " .align 2, 0\n" + "._164:\n" + " .word gMain\n" + " .word gSpecialVar_0x8004\n" + " .word _8411560\n" + "._162:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._168 @cond_branch\n" + " ldrh r0, [r3, #0x34]\n" + " cmp r0, #0\n" + " beq ._167 @cond_branch\n" + " strh r2, [r3, #0x34]\n" + " bl Menu_DisplayDialogueFrame\n" + " ldr r0, ._169\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0xa\n" + " mov r3, #0x4\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r1, ._169 + 4\n" + " ldr r0, ._169 + 8\n" + " ldrh r0, [r0]\n" + "._163:\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x2\n" + " mov r2, #0x2\n" + " bl Menu_PrintText\n" + " b ._168\n" + "._170:\n" + " .align 2, 0\n" + "._169:\n" + " .word Str_8411540\n" + " .word _8411560\n" + " .word gSpecialVar_0x8004\n" + "._167:\n" + " bl Menu_DisplayDialogueFrame\n" + " ldr r0, ._171\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0xa\n" + " mov r3, #0x4\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r1, ._171 + 4\n" + " ldr r0, ._171 + 8\n" + " ldrh r0, [r0]\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x2\n" + " mov r2, #0x2\n" + " bl Menu_PrintText\n" + " ldr r1, ._171 + 12\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._171 + 16\n" + " str r1, [r0]\n" + "._168:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._172:\n" + " .align 2, 0\n" + "._171:\n" + " .word Str_8411568\n" + " .word _84115C4\n" + " .word gSpecialVar_0x8006\n" + " .word gTasks\n" + " .word debug_sub_810C990+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CB50() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xffffffec\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " ldr r1, ._175\n" + " mov r0, sp\n" + " mov r2, #0x6\n" + " bl memcpy\n" + " add r7, sp, #0x8\n" + " ldr r1, ._175 + 4\n" + " add r0, r7, #0\n" + " mov r2, #0x9\n" + " bl memcpy\n" + " mov r2, #0x0\n" + " ldr r0, ._175 + 8\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._173 @cond_branch\n" + " ldr r0, ._175 + 12\n" + " ldr r5, ._175 + 16\n" + " ldrh r1, [r5]\n" + " mov r2, #0x2\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r0, ._175 + 20\n" + " ldr r1, ._175 + 24\n" + " lsl r4, r6, #0x2\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r1\n" + " mov r1, #0x8\n" + " ldsh r2, [r4, r1]\n" + " mov r1, #0xb\n" + " mul r1, r1, r2\n" + " ldr r2, ._175 + 28\n" + " add r1, r1, r2\n" + " bl StringCopy\n" + " ldr r2, ._175 + 32\n" + " ldrh r1, [r5]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldrh r1, [r4, #0x8]\n" + " ldr r2, ._175 + 36\n" + " add r0, r0, r2\n" + " strh r1, [r0]\n" + " ldr r4, ._175 + 40\n" + " add r0, r4, #0\n" + " add r1, r7, #0\n" + " bl StringExpandPlaceholders\n" + " bl Menu_DisplayDialogueFrame\n" + " add r0, r4, #0\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + " add r0, r6, #0\n" + " bl DestroyTask\n" + " b ._174\n" + "._176:\n" + " .align 2, 0\n" + "._175:\n" + " .word Str_841160F\n" + " .word Str_841161A\n" + " .word gMain\n" + " .word gStringVar1\n" + " .word gSpecialVar_0x8005\n" + " .word gStringVar2\n" + " .word gTasks\n" + " .word gSpeciesNames\n" + " .word gSaveBlock1\n" + " .word 0x2b6a\n" + " .word gStringVar4\n" + "._173:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._177 @cond_branch\n" + " add r0, r6, #0\n" + " bl DestroyTask\n" + " bl Menu_EraseScreen\n" + "._174:\n" + " ldr r0, ._179\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " bl debug_sub_810D340\n" + " b ._186\n" + "._180:\n" + " .align 2, 0\n" + "._179:\n" + " .word debug_sub_810CE1C+1\n" + "._177:\n" + " mov r0, #0xa0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._181 @cond_branch\n" + " ldr r0, ._183\n" + " lsl r4, r6, #0x2\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " mov r1, #0x8\n" + " ldsh r0, [r4, r1]\n" + " ldr r2, ._183 + 4\n" + " add r0, r0, r2\n" + " mov r1, #0xce\n" + " lsl r1, r1, #0x1\n" + " bl __modsi3\n" + " strh r0, [r4, #0x8]\n" + " b ._182\n" + "._184:\n" + " .align 2, 0\n" + "._183:\n" + " .word gTasks\n" + " .word 0x19b\n" + "._181:\n" + " mov r0, #0x50\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._185 @cond_branch\n" + " ldr r0, ._187\n" + " lsl r4, r6, #0x2\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r0\n" + " mov r1, #0x8\n" + " ldsh r0, [r4, r1]\n" + " add r0, r0, #0x1\n" + " mov r1, #0xce\n" + " lsl r1, r1, #0x1\n" + " bl __modsi3\n" + " strh r0, [r4, #0x8]\n" + " mov r2, #0x1\n" + "._185:\n" + " cmp r2, #0\n" + " beq ._186 @cond_branch\n" + "._182:\n" + " ldr r0, ._187 + 4\n" + " ldr r1, ._187\n" + " lsl r4, r6, #0x2\n" + " add r4, r4, r6\n" + " lsl r4, r4, #0x3\n" + " add r4, r4, r1\n" + " mov r2, #0x8\n" + " ldsh r1, [r4, r2]\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r0, ._187 + 8\n" + " mov r1, #0x8\n" + " ldsh r2, [r4, r1]\n" + " mov r1, #0xb\n" + " mul r1, r1, r2\n" + " ldr r2, ._187 + 12\n" + " add r1, r1, r2\n" + " bl StringCopy\n" + " ldr r4, ._187 + 16\n" + " add r0, r4, #0\n" + " mov r1, sp\n" + " bl StringExpandPlaceholders\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xc\n" + " mov r3, #0x3\n" + " bl Menu_DrawStdWindowFrame\n" + " add r0, r4, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl Menu_PrintText\n" + "._186:\n" + " add sp, sp, #0x14\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._188:\n" + " .align 2, 0\n" + "._187:\n" + " .word gTasks\n" + " .word gStringVar1\n" + " .word gStringVar2\n" + " .word gSpeciesNames\n" + " .word gStringVar4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CCEC() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xffffffe4\n" + " add r5, r0, #0\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " ldr r1, ._189\n" + " mov r0, sp\n" + " mov r2, #0x11\n" + " bl memcpy\n" + " add r6, sp, #0x14\n" + " ldr r1, ._189 + 4\n" + " add r0, r6, #0\n" + " mov r2, #0x7\n" + " bl memcpy\n" + " ldr r0, ._189 + 8\n" + " mov r8, r0\n" + " ldr r0, ._189 + 12\n" + " ldrh r1, [r0]\n" + " mov r0, r8\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r4, ._189 + 16\n" + " add r0, r4, #0\n" + " mov r1, sp\n" + " bl StringExpandPlaceholders\n" + " bl Menu_DisplayDialogueFrame\n" + " add r0, r4, #0\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + " ldr r1, ._189 + 20\n" + " mov r0, r8\n" + " bl StringCopy\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl StringExpandPlaceholders\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xc\n" + " mov r3, #0x3\n" + " bl Menu_DrawStdWindowFrame\n" + " add r0, r6, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl Menu_PrintText\n" + " ldr r1, ._189 + 24\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r1, ._189 + 28\n" + " str r1, [r0]\n" + " add sp, sp, #0x1c\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._190:\n" + " .align 2, 0\n" + "._189:\n" + " .word Str_8411623\n" + " .word Str_8411634\n" + " .word gStringVar1\n" + " .word gSpecialVar_0x8005\n" + " .word gStringVar4\n" + " .word gSpeciesNames\n" + " .word gTasks\n" + " .word debug_sub_810CB50+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CD9C() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl ScriptContext1_Stop\n" + " bl ScriptContext2_Enable\n" + " ldr r1, ._191\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " ldr r3, ._191 + 4\n" + " ldr r2, ._191 + 8\n" + " ldr r1, ._191 + 12\n" + " mov r0, #0x0\n" + " strh r0, [r1]\n" + " strh r0, [r2]\n" + " strh r0, [r3]\n" + " ldr r0, ._191 + 16\n" + " bl SetMainCallback2\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._192:\n" + " .align 2, 0\n" + "._191:\n" + " .word unk_debug_bss_2\n" + " .word gSpecialVar_0x8004\n" + " .word gSpecialVar_0x8005\n" + " .word gSpecialVar_0x8006\n" + " .word debug_sub_810D388+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CDE0() +{ + asm( + " push {lr}\n" + " bl UpdatePaletteFade\n" + " bl RunTasks\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CDF0() +{ + asm( + " push {lr}\n" + " ldr r1, ._193\n" + " mov r0, #0x0\n" + " strh r0, [r1, #0x34]\n" + " strh r0, [r1, #0x36]\n" + " ldr r1, ._193 + 4\n" + " ldr r0, ._193 + 8\n" + " str r0, [r1]\n" + " ldr r0, ._193 + 12\n" + " bl SetMainCallback2\n" + " pop {r0}\n" + " bx r0\n" + "._194:\n" + " .align 2, 0\n" + "._193:\n" + " .word gMain\n" + " .word gFieldCallback\n" + " .word mapldr_default+1\n" + " .word c2_exit_to_overworld_2_switch+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CE1C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, ._196\n" + " ldr r0, [r0]\n" + " bl _call_via_r0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._195 @cond_branch\n" + " bl CloseMenu\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + "._195:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._197:\n" + " .align 2, 0\n" + "._196:\n" + " .word gCallback_03004AE8\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CE48() +{ + asm( + " push {r4, lr}\n" + " bl Menu_ProcessInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._198 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._199 @cond_branch\n" + " bl Menu_EraseScreen\n" + " bl debug_sub_810D340\n" + "._198:\n" + " mov r0, #0x0\n" + " b ._200\n" + "._199:\n" + " ldr r0, ._201\n" + " strh r1, [r0]\n" + " ldr r4, ._201 + 4\n" + " ldrh r0, [r4]\n" + " mov r1, #0xc\n" + " bl __umodsi3\n" + " strh r0, [r4]\n" + " ldr r0, ._201 + 8\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " ldr r1, ._201 + 12\n" + " mov r2, #0x0\n" + " mov r0, #0x1\n" + " strh r0, [r1, #0x34]\n" + " strh r2, [r1, #0x36]\n" + "._200:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._202:\n" + " .align 2, 0\n" + "._201:\n" + " .word gSpecialVar_0x8005\n" + " .word gSpecialVar_0x8006\n" + " .word debug_sub_810CA7C+1\n" + " .word gMain\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CEA4() +{ + asm( + " push {lr}\n" + " ldr r0, ._205\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._203 @cond_branch\n" + " mov r0, #0x0\n" + " b ._204\n" + "._206:\n" + " .align 2, 0\n" + "._205:\n" + " .word gPaletteFade\n" + "._203:\n" + " ldr r1, ._207\n" + " mov r0, #0x4\n" + " strh r0, [r1]\n" + " bl sub_80E60D8\n" + " mov r0, #0x1\n" + "._204:\n" + " pop {r1}\n" + " bx r1\n" + "._208:\n" + " .align 2, 0\n" + "._207:\n" + " .word gSpecialVar_0x8004\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CED0() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xffffffdc\n" + " ldr r1, ._212\n" + " mov r0, sp\n" + " mov r2, #0x23\n" + " bl memcpy\n" + " bl Menu_ProcessInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._215 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._210 @cond_branch\n" + " bl Menu_EraseScreen\n" + " b ._211\n" + "._213:\n" + " .align 2, 0\n" + "._212:\n" + " .word Str_841163B\n" + "._210:\n" + " ldr r5, ._216\n" + " strh r1, [r5]\n" + " ldr r6, ._216 + 4\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldr r1, ._216 + 8\n" + " add r0, r0, r1\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bls ._214 @cond_branch\n" + " ldrh r1, [r5]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r6\n" + " ldr r2, ._216 + 8\n" + " add r0, r0, r2\n" + " ldr r1, ._216 + 12\n" + " strh r1, [r0]\n" + " ldrh r1, [r5]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " sub r2, r2, #0xe\n" + " add r1, r6, r2\n" + " add r0, r0, r1\n" + " ldr r4, ._216 + 16\n" + " add r1, r4, #0\n" + " bl StringCopy\n" + " ldrh r1, [r5]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " ldr r2, ._216 + 20\n" + " add r1, r6, r2\n" + " add r0, r0, r1\n" + " add r4, r4, #0xa\n" + " ldr r1, [r4]\n" + " str r1, [r0]\n" + " ldr r1, ._216 + 24\n" + " ldr r0, ._216 + 28\n" + " str r0, [r1]\n" + " b ._215\n" + "._217:\n" + " .align 2, 0\n" + "._216:\n" + " .word gSpecialVar_0x8005\n" + " .word gSaveBlock1\n" + " .word 0x2b6c\n" + " .word 0xffff\n" + " .word gSaveBlock2\n" + " .word 0x2b66\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_810CEA4+1\n" + "._214:\n" + " bl Menu_EraseScreen\n" + " bl Menu_DisplayDialogueFrame\n" + " mov r0, sp\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + "._211:\n" + " bl debug_sub_810D340\n" + "._215:\n" + " mov r0, #0x0\n" + " add sp, sp, #0x24\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810CFA4() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xffffffe0\n" + " ldr r1, ._221\n" + " mov r0, sp\n" + " mov r2, #0x1f\n" + " bl memcpy\n" + " bl Menu_ProcessInput\n" + " lsl r0, r0, #0x18\n" + " asr r2, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r2, r0\n" + " beq ._218 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r2, r0\n" + " bne ._219 @cond_branch\n" + " bl Menu_EraseScreen\n" + " b ._220\n" + "._222:\n" + " .align 2, 0\n" + "._221:\n" + " .word Str_841165E\n" + "._219:\n" + " ldr r0, ._225\n" + " strh r2, [r0]\n" + " ldr r1, ._225 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldr r1, ._225 + 8\n" + " add r0, r0, r1\n" + " ldrh r0, [r0]\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bls ._223 @cond_branch\n" + " ldr r0, ._225 + 12\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " mov r0, #0x1\n" + " b ._224\n" + "._226:\n" + " .align 2, 0\n" + "._225:\n" + " .word gSpecialVar_0x8005\n" + " .word gSaveBlock1\n" + " .word 0x2b6c\n" + " .word debug_sub_810CCEC+1\n" + "._223:\n" + " bl Menu_EraseScreen\n" + " bl Menu_DisplayDialogueFrame\n" + " mov r0, sp\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + "._220:\n" + " bl debug_sub_810D340\n" + "._218:\n" + " mov r0, #0x0\n" + "._224:\n" + " add sp, sp, #0x20\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810D030() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add sp, sp, #0xffffffcc\n" + " ldr r1, ._230\n" + " mov r0, sp\n" + " mov r2, #0x10\n" + " bl memcpy\n" + " add r5, sp, #0x10\n" + " ldr r1, ._230 + 4\n" + " add r0, r5, #0\n" + " mov r2, #0x21\n" + " bl memcpy\n" + " bl Menu_ProcessInput\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._227 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._228 @cond_branch\n" + " bl Menu_EraseScreen\n" + " b ._229\n" + "._231:\n" + " .align 2, 0\n" + "._230:\n" + " .word Str_841167D\n" + " .word Str_841168D\n" + "._228:\n" + " ldr r2, ._235\n" + " strh r1, [r2]\n" + " ldr r3, ._235 + 4\n" + " ldrh r1, [r2]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r3\n" + " ldr r1, ._235 + 8\n" + " add r0, r0, r1\n" + " ldrh r1, [r0]\n" + " ldr r0, ._235 + 12\n" + " add r4, r2, #0\n" + " cmp r1, r0\n" + " beq ._233 @cond_branch\n" + " cmp r1, #0\n" + " beq ._233 @cond_branch\n" + " bl Menu_EraseScreen\n" + " bl Menu_DisplayDialogueFrame\n" + " add r0, r5, #0\n" + " b ._234\n" + "._236:\n" + " .align 2, 0\n" + "._235:\n" + " .word gSpecialVar_0x8005\n" + " .word gSaveBlock1\n" + " .word 0x2b6c\n" + " .word 0xffff\n" + "._233:\n" + " ldrh r1, [r4]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r3\n" + " ldr r5, ._238\n" + " add r0, r0, r5\n" + " mov r2, #0x0\n" + " strh r2, [r0]\n" + " ldrh r1, [r4]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r3\n" + " ldr r1, ._238 + 4\n" + " add r0, r0, r1\n" + " strh r2, [r0]\n" + " ldrh r1, [r4]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r3\n" + " sub r5, r5, #0xe\n" + " add r0, r0, r5\n" + " mov r1, #0xff\n" + " strb r1, [r0]\n" + " ldrh r1, [r4]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r5, r5, #0x8\n" + " add r1, r3, r5\n" + " add r0, r0, r1\n" + " str r2, [r0]\n" + " mov r0, #0x0\n" + " ldr r1, ._238 + 8\n" + " mov ip, r1\n" + " sub r5, r5, #0x1a\n" + " add r7, r3, r5\n" + " add r6, r4, #0\n" + " ldr r1, ._238 + 12\n" + " add r5, r1, #0\n" + "._237:\n" + " lsl r1, r0, #0x18\n" + " asr r1, r1, #0x18\n" + " lsl r3, r1, #0x1\n" + " ldrh r2, [r6]\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x2\n" + " add r3, r3, r0\n" + " add r3, r3, r7\n" + " ldrh r0, [r3]\n" + " orr r0, r0, r5\n" + " strh r0, [r3]\n" + " add r1, r1, #0x1\n" + " lsl r1, r1, #0x18\n" + " lsr r0, r1, #0x18\n" + " asr r1, r1, #0x18\n" + " cmp r1, #0x8\n" + " ble ._237 @cond_branch\n" + " ldrh r1, [r4]\n" + " mov r0, ip\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r4, ._238 + 16\n" + " add r0, r4, #0\n" + " mov r1, sp\n" + " bl StringExpandPlaceholders\n" + " bl Menu_EraseScreen\n" + " bl Menu_DisplayDialogueFrame\n" + " add r0, r4, #0\n" + "._234:\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl Menu_PrintText\n" + "._229:\n" + " bl debug_sub_810D340\n" + "._227:\n" + " mov r0, #0x0\n" + " add sp, sp, #0x34\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._239:\n" + " .align 2, 0\n" + "._238:\n" + " .word 0x2b6c\n" + " .word 0x2b6a\n" + " .word gStringVar1\n" + " .word 0xffff\n" + " .word gStringVar4\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810D174() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffeec\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " ldr r1, ._242\n" + " add r0, sp, #0x8\n" + " mov r2, #0xc\n" + " bl memcpy\n" + " mov r5, #0x0\n" + " mov r0, sp\n" + " add r0, r0, #0x14\n" + " str r0, [sp, #0x110]\n" + " add r1, sp, #0xc8\n" + " mov r8, r1\n" + " add r2, sp, #0xcc\n" + " mov sl, r2\n" + " ldr r0, ._242 + 4\n" + " mov r9, r0\n" + "._248:\n" + " ldr r0, ._242 + 8\n" + " add r1, r5, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " lsl r1, r5, #0x3\n" + " add r0, r1, r5\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r9\n" + " ldr r2, ._242 + 12\n" + " add r4, r0, r2\n" + " ldrh r0, [r4]\n" + " add r6, r1, #0\n" + " ldr r1, ._242 + 16\n" + " cmp r0, r1\n" + " bne ._240 @cond_branch\n" + " ldr r0, ._242 + 20\n" + " mov r1, #0x1\n" + " b ._241\n" + "._243:\n" + " .align 2, 0\n" + "._242:\n" + " .word Str_84116AE\n" + " .word gSaveBlock1\n" + " .word gStringVar1\n" + " .word 0x2b6c\n" + " .word 0xffff\n" + " .word gStringVar2\n" + "._240:\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi ._244 @cond_branch\n" + " ldr r0, ._246\n" + " mov r1, #0x2\n" + "._241:\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " b ._245\n" + "._247:\n" + " .align 2, 0\n" + "._246:\n" + " .word gStringVar2\n" + "._244:\n" + " ldr r0, ._253\n" + " mov r1, #0x0\n" + " mov r2, #0x1\n" + " mov r3, #0x1\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0x0\n" + " strh r0, [r4]\n" + "._245:\n" + " add r0, r6, r5\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r9\n" + " ldr r2, ._253 + 4\n" + " add r0, r0, r2\n" + " ldrh r1, [r0]\n" + " mov r0, #0xb\n" + " mul r1, r1, r0\n" + " ldr r0, ._253 + 8\n" + " add r1, r1, r0\n" + " ldr r0, ._253 + 12\n" + " bl StringCopy\n" + " lsl r4, r5, #0x2\n" + " add r4, r4, r5\n" + " lsl r4, r4, #0x2\n" + " ldr r0, [sp, #0x110]\n" + " add r4, r0, r4\n" + " add r0, r4, #0\n" + " add r1, sp, #0x8\n" + " bl StringExpandPlaceholders\n" + " mov r1, r8\n" + " add r0, r1, r6\n" + " str r4, [r0]\n" + " mov r2, sl\n" + " add r0, r2, r6\n" + " mov r4, #0x0\n" + " str r4, [r0]\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x8\n" + " bls ._248 @cond_branch\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x10\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " mov r3, r8\n" + " bl Menu_PrintItems\n" + " str r4, [sp]\n" + " mov r0, #0xf\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x9\n" + " bl InitMenu\n" + " cmp r7, #0x1\n" + " beq ._249 @cond_branch\n" + " cmp r7, #0x1\n" + " bgt ._250 @cond_branch\n" + " cmp r7, #0\n" + " beq ._251 @cond_branch\n" + " b ._257\n" + "._254:\n" + " .align 2, 0\n" + "._253:\n" + " .word gStringVar2\n" + " .word 0x2b6a\n" + " .word gSpeciesNames\n" + " .word gStringVar3\n" + "._250:\n" + " cmp r7, #0x2\n" + " beq ._255 @cond_branch\n" + " cmp r7, #0x3\n" + " beq ._256 @cond_branch\n" + " b ._257\n" + "._251:\n" + " ldr r1, ._259\n" + " ldr r0, ._259 + 4\n" + " b ._264\n" + "._260:\n" + " .align 2, 0\n" + "._259:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_810CE48+1\n" + "._249:\n" + " ldr r1, ._262\n" + " ldr r0, ._262 + 4\n" + " b ._264\n" + "._263:\n" + " .align 2, 0\n" + "._262:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_810CED0+1\n" + "._255:\n" + " ldr r1, ._265\n" + " ldr r0, ._265 + 4\n" + " b ._264\n" + "._266:\n" + " .align 2, 0\n" + "._265:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_810CFA4+1\n" + "._256:\n" + " ldr r1, ._267\n" + " ldr r0, ._267 + 4\n" + "._264:\n" + " str r0, [r1]\n" + "._257:\n" + " add sp, sp, #0x114\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._268:\n" + " .align 2, 0\n" + "._267:\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_810D030+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810D2F4() +{ + asm( + " push {lr}\n" + " bl Menu_ProcessInput\n" + " lsl r2, r0, #0x18\n" + " asr r1, r2, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._269 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r1, r0\n" + " bne ._270 @cond_branch\n" + " ldr r0, ._272\n" + " bl SetMainCallback2\n" + " b ._279\n" + "._273:\n" + " .align 2, 0\n" + "._272:\n" + " .word debug_sub_810CDF0+1\n" + "._270:\n" + " cmp r1, #0x1\n" + " beq ._278 @cond_branch\n" + " cmp r1, #0x1\n" + " bgt ._275 @cond_branch\n" + " cmp r1, #0\n" + " beq ._278 @cond_branch\n" + " b ._279\n" + "._275:\n" + " cmp r1, #0x2\n" + " beq ._278 @cond_branch\n" + " cmp r1, #0x3\n" + " bne ._279 @cond_branch\n" + "._278:\n" + " lsr r0, r2, #0x18\n" + " bl debug_sub_810D174\n" + "._269:\n" + " mov r0, #0x0\n" + " b ._280\n" + "._279:\n" + " mov r0, #0x1\n" + "._280:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810D340() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x9\n" + " mov r3, #0x9\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r3, ._281\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x4\n" + " bl Menu_PrintItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x8\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " ldr r1, ._281 + 4\n" + " ldr r0, ._281 + 8\n" + " str r0, [r1]\n" + " add sp, sp, #0x8\n" + " pop {r0}\n" + " bx r0\n" + "._282:\n" + " .align 2, 0\n" + "._281:\n" + " .word _84116BC\n" + " .word gCallback_03004AE8\n" + " .word debug_sub_810D2F4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_810D388() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " ldr r1, ._285\n" + " ldr r2, ._285 + 4\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " add r2, r1, #0\n" + " cmp r0, #0x8\n" + " bls ._283 @cond_branch\n" + " b ._320\n" + "._283:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._285 + 8\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._286:\n" + " .align 2, 0\n" + "._285:\n" + " .word gMain\n" + " .word 0x43c\n" + " .word ._287\n" + "._287:\n" + " .word ._288\n" + " .word ._289\n" + " .word ._290\n" + " .word ._291\n" + " .word ._292\n" + " .word ._293\n" + " .word ._294\n" + " .word ._295\n" + " .word ._296\n" + "._288:\n" + " ldr r3, ._299\n" + " ldrb r4, [r3]\n" + " cmp r4, #0\n" + " beq ._297 @cond_branch\n" + " ldr r1, ._299 + 4\n" + " add r0, r2, r1\n" + " mov r2, #0x0\n" + " mov r1, #0x2\n" + " strb r1, [r0]\n" + " strb r2, [r3]\n" + " b ._320\n" + "._300:\n" + " .align 2, 0\n" + "._299:\n" + " .word unk_debug_bss_2\n" + " .word 0x43c\n" + "._297:\n" + " bl remove_some_task\n" + " bl ResetPaletteFade\n" + " ldr r0, ._302\n" + " bl SetVBlankCallback\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " str r4, [sp]\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " b ._321\n" + "._303:\n" + " .align 2, 0\n" + "._302:\n" + " .word sub_80F8F18+1\n" + "._289:\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._304 @cond_branch\n" + " b ._320\n" + "._304:\n" + " b ._321\n" + "._290:\n" + " mov r0, #0x0\n" + " bl SetVBlankCallback\n" + " ldr r0, ._308\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " add r0, r0, #0x4\n" + " strh r1, [r0]\n" + " sub r0, r0, #0x2\n" + " strh r1, [r0]\n" + " add r0, r0, #0x4\n" + " strh r1, [r0]\n" + " add r0, r0, #0x2\n" + " strh r1, [r0]\n" + " b ._321\n" + "._309:\n" + " .align 2, 0\n" + "._308:\n" + " .word 0x4000010\n" + "._291:\n" + " bl ResetSpriteData\n" + " bl ResetTasks\n" + " bl FreeAllSpritePalettes\n" + " b ._321\n" + "._292:\n" + " ldr r4, ._312\n" + " add r0, r4, #0\n" + " bl Text_LoadWindowTemplate\n" + " add r0, r4, #0\n" + " bl InitMenuWindow\n" + " bl Menu_EraseScreen\n" + " b ._321\n" + "._313:\n" + " .align 2, 0\n" + "._312:\n" + " .word gWindowTemplate_81E6CE4\n" + "._293:\n" + " ldr r4, ._315\n" + " ldr r0, [r4]\n" + " mov r1, #0x0\n" + " mov r2, #0x20\n" + " bl LoadPalette\n" + " ldr r0, [r4, #0x4]\n" + " mov r1, #0xc0\n" + " lsl r1, r1, #0x13\n" + " bl LZ77UnCompVram\n" + " add r1, sp, #0x4\n" + " mov r0, #0x1\n" + " strh r0, [r1]\n" + " ldr r1, ._315 + 4\n" + " add r2, sp, #0x4\n" + " str r2, [r1]\n" + " ldr r0, ._315 + 8\n" + " str r0, [r1, #0x4]\n" + " ldr r0, ._315 + 12\n" + " str r0, [r1, #0x8]\n" + " ldr r0, [r1, #0x8]\n" + " b ._321\n" + "._316:\n" + " .align 2, 0\n" + "._315:\n" + " .word gMailGraphicsTable\n" + " .word 0x40000d4\n" + " .word 0x6004000\n" + " .word 0x81000280\n" + "._294:\n" + " ldr r1, ._318\n" + " ldr r2, ._318 + 4\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x2\n" + " ldr r2, ._318 + 8\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " add r1, r1, #0x46\n" + " mov r0, #0x0\n" + " strh r0, [r1]\n" + " sub r1, r1, #0x50\n" + " mov r2, #0xd0\n" + " lsl r2, r2, #0x2\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " bl debug_sub_810D340\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x10\n" + " mov r3, #0x0\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._318 + 12\n" + " bl SetVBlankCallback\n" + " b ._321\n" + "._319:\n" + " .align 2, 0\n" + "._318:\n" + " .word 0x4000008\n" + " .word 0x9f08\n" + " .word 0x801\n" + " .word sub_80F8F18+1\n" + "._295:\n" + " bl UpdatePaletteFade\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._320 @cond_branch\n" + " b ._321\n" + "._296:\n" + " ldr r0, ._322\n" + " mov r1, #0x0\n" + " bl CreateTask\n" + " ldr r0, ._322 + 4\n" + " bl SetMainCallback2\n" + "._321:\n" + " ldr r1, ._322 + 8\n" + " ldr r0, ._322 + 12\n" + " add r1, r1, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._320:\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._323:\n" + " .align 2, 0\n" + "._322:\n" + " .word debug_sub_810CE1C+1\n" + " .word debug_sub_810CDE0+1\n" + " .word gMain\n" + " .word 0x43c\n" + "\n" + ); +} +#endif \ No newline at end of file diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 0242e7444..079bcf489 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -524,6 +524,328 @@ void CalculateMonStats(struct Pokemon *mon) SetMonData(mon, MON_DATA_HP, ¤tHP); } +#ifdef DEBUG +__attribute__((naked)) +void debug_sub_803F55C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xffffffc4\n" + " add r5, r0, #0\n" + " mov r1, #0x39\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x1c]\n" + " add r0, r5, #0\n" + " mov r1, #0x27\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " add r7, r0, #0\n" + " add r0, r5, #0\n" + " mov r1, #0x1a\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " add r4, r0, #0\n" + " add r0, r5, #0\n" + " mov r1, #0x28\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " mov r9, r0\n" + " add r0, r5, #0\n" + " mov r1, #0x1b\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " mov r8, r0\n" + " add r0, r5, #0\n" + " mov r1, #0x29\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x20]\n" + " add r0, r5, #0\n" + " mov r1, #0x1c\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " mov sl, r0\n" + " add r0, r5, #0\n" + " mov r1, #0x2a\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x24]\n" + " add r0, r5, #0\n" + " mov r1, #0x1d\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x28]\n" + " add r0, r5, #0\n" + " mov r1, #0x2b\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x2c]\n" + " add r0, r5, #0\n" + " mov r1, #0x1e\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x30]\n" + " add r0, r5, #0\n" + " mov r1, #0x2c\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x34]\n" + " add r0, r5, #0\n" + " mov r1, #0x1f\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " str r0, [sp, #0x38]\n" + " add r0, r5, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x0\n" + " bl GetMonData\n" + " lsl r0, r0, #0x10\n" + " lsr r6, r0, #0x10\n" + " add r0, r5, #0\n" + " bl GetLevelFromMonExp\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " str r0, [sp]\n" + " add r0, r5, #0\n" + " mov r1, #0x38\n" + " mov r2, sp\n" + " bl SetMonData\n" + " ldr r0, ._71\n" + " cmp r6, r0\n" + " bne ._69 @cond_branch\n" + " mov r0, #0x1\n" + " str r0, [sp, #0x4]\n" + " lsl r7, r6, #0x3\n" + " b ._70\n" + "._72:\n" + " .align 2, 0\n" + "._71:\n" + " .word 0x12f\n" + "._69:\n" + " ldr r1, ._80\n" + " lsl r2, r6, #0x3\n" + " sub r0, r2, r6\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x1\n" + " add r1, r0, r7\n" + " add r0, r4, #0\n" + " add r7, r2, #0\n" + " cmp r0, #0\n" + " bge ._73 @cond_branch\n" + " add r0, r0, #0x3\n" + "._73:\n" + " asr r0, r0, #0x2\n" + " add r0, r1, r0\n" + " ldr r4, [sp]\n" + " mul r0, r0, r4\n" + " mov r1, #0x64\n" + " bl gScriptFuncs_End+0x3d30\n" + " add r0, r0, r4\n" + " add r0, r0, #0xa\n" + " str r0, [sp, #0x4]\n" + "._70:\n" + " add r2, sp, #0x4\n" + " add r0, r5, #0\n" + " mov r1, #0x3a\n" + " bl SetMonData\n" + " ldr r1, ._80\n" + " sub r0, r7, r6\n" + " lsl r0, r0, #0x2\n" + " add r6, r0, r1\n" + " ldrb r0, [r6, #0x1]\n" + " lsl r0, r0, #0x1\n" + " mov r2, r9\n" + " add r1, r0, r2\n" + " mov r0, r8\n" + " cmp r0, #0\n" + " bge ._74 @cond_branch\n" + " add r0, r0, #0x3\n" + "._74:\n" + " asr r0, r0, #0x2\n" + " add r0, r1, r0\n" + " ldr r1, [sp]\n" + " mul r0, r0, r1\n" + " mov r1, #0x64\n" + " bl gScriptFuncs_End+0x3d30\n" + " add r0, r0, #0x5\n" + " str r0, [sp, #0x8]\n" + " add r0, r5, #0\n" + " bl GetNature\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r4, sp, #0x8\n" + " ldrh r1, [r4]\n" + " mov r2, #0x1\n" + " bl nature_stat_mod\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " str r0, [sp, #0x8]\n" + " add r0, r5, #0\n" + " mov r1, #0x3b\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " ldrb r0, [r6, #0x2]\n" + " lsl r0, r0, #0x1\n" + " ldr r2, [sp, #0x20]\n" + " add r1, r0, r2\n" + " mov r0, sl\n" + " cmp r0, #0\n" + " bge ._75 @cond_branch\n" + " add r0, r0, #0x3\n" + "._75:\n" + " asr r0, r0, #0x2\n" + " add r0, r1, r0\n" + " ldr r1, [sp]\n" + " mul r0, r0, r1\n" + " mov r1, #0x64\n" + " bl gScriptFuncs_End+0x3d30\n" + " add r0, r0, #0x5\n" + " str r0, [sp, #0xc]\n" + " add r0, r5, #0\n" + " bl GetNature\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r4, sp, #0xc\n" + " ldrh r1, [r4]\n" + " mov r2, #0x2\n" + " bl nature_stat_mod\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " str r0, [sp, #0xc]\n" + " add r0, r5, #0\n" + " mov r1, #0x3c\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " ldrb r0, [r6, #0x3]\n" + " lsl r0, r0, #0x1\n" + " ldr r2, [sp, #0x24]\n" + " add r1, r0, r2\n" + " ldr r0, [sp, #0x28]\n" + " cmp r0, #0\n" + " bge ._76 @cond_branch\n" + " add r0, r0, #0x3\n" + "._76:\n" + " asr r0, r0, #0x2\n" + " add r0, r1, r0\n" + " ldr r1, [sp]\n" + " mul r0, r0, r1\n" + " mov r1, #0x64\n" + " bl gScriptFuncs_End+0x3d30\n" + " add r0, r0, #0x5\n" + " str r0, [sp, #0x10]\n" + " add r0, r5, #0\n" + " bl GetNature\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r4, sp, #0x10\n" + " ldrh r1, [r4]\n" + " mov r2, #0x3\n" + " bl nature_stat_mod\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " str r0, [sp, #0x10]\n" + " add r0, r5, #0\n" + " mov r1, #0x3d\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " ldrb r0, [r6, #0x4]\n" + " lsl r0, r0, #0x1\n" + " ldr r2, [sp, #0x2c]\n" + " add r1, r0, r2\n" + " ldr r0, [sp, #0x30]\n" + " cmp r0, #0\n" + " bge ._77 @cond_branch\n" + " add r0, r0, #0x3\n" + "._77:\n" + " asr r0, r0, #0x2\n" + " add r0, r1, r0\n" + " ldr r1, [sp]\n" + " mul r0, r0, r1\n" + " mov r1, #0x64\n" + " bl gScriptFuncs_End+0x3d30\n" + " add r0, r0, #0x5\n" + " str r0, [sp, #0x14]\n" + " add r0, r5, #0\n" + " bl GetNature\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r4, sp, #0x14\n" + " ldrh r1, [r4]\n" + " mov r2, #0x4\n" + " bl nature_stat_mod\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " str r0, [sp, #0x14]\n" + " add r0, r5, #0\n" + " mov r1, #0x3e\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " ldrb r0, [r6, #0x5]\n" + " lsl r0, r0, #0x1\n" + " ldr r1, [sp, #0x34]\n" + " add r2, r0, r1\n" + " ldr r0, [sp, #0x38]\n" + " cmp r0, #0\n" + " bge ._78 @cond_branch\n" + " add r0, r0, #0x3\n" + "._78:\n" + " asr r0, r0, #0x2\n" + " add r0, r2, r0\n" + " ldr r1, [sp]\n" + " mul r0, r0, r1\n" + " mov r1, #0x64\n" + " bl gScriptFuncs_End+0x3d30\n" + " add r0, r0, #0x5\n" + " str r0, [sp, #0x18]\n" + " add r0, r5, #0\n" + " bl GetNature\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " add r4, sp, #0x18\n" + " ldrh r1, [r4]\n" + " mov r2, #0x5\n" + " bl nature_stat_mod\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " str r0, [sp, #0x18]\n" + " add r0, r5, #0\n" + " mov r1, #0x3f\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " ldr r1, [sp, #0x4]\n" + " ldr r0, [sp, #0x1c]\n" + " cmp r1, r0\n" + " bge ._79 @cond_branch\n" + " str r1, [sp, #0x1c]\n" + "._79:\n" + " add r2, sp, #0x1c\n" + " add r0, r5, #0\n" + " mov r1, #0x39\n" + " bl SetMonData\n" + " add sp, sp, #0x3c\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._81:\n" + " .align 2, 0\n" + "._80:\n" + " .word gBaseStats\n" + "\n" + ); +} +#endif + void sub_803B4B4(const struct BoxPokemon *src, struct Pokemon *dest) { u32 value = 0; diff --git a/src/rom3.c b/src/rom3.c index 11239a681..2b719d14a 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -67,6 +67,10 @@ void sub_800B858(void) } } +#ifdef DEBUG +extern u8 gUnknown_02023A14_50; +#endif + void setup_poochyena_battle(void) { s32 i; @@ -93,6 +97,16 @@ void setup_poochyena_battle(void) } gUnknown_020239FC = 0; gUnknown_02024C78 = 0; + +#ifdef DEBUG + if (gUnknown_02023A14_50 & 0x80) + { + ewram[0x160fd] = 0; + ewram[0x160fe] = 0; + ewram[0x160ff] = 0; + ((u32 *) gBattleBuffersTransferData)[64]++; + } +#endif } void sub_800B950(void) diff --git a/src/rom6.c b/src/rom6.c index e71484b0a..1c0654538 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -1,4 +1,6 @@ #include "global.h" +#include "constants/map_objects.h" +#include "constants/songs.h" #include "rom6.h" #include "braille_puzzles.h" #include "field_effect.h" @@ -8,7 +10,6 @@ #include "pokemon_menu.h" #include "overworld.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" #include "sprite.h" #include "task.h" @@ -116,6 +117,21 @@ static void sub_810B4CC(u8 taskId) DestroyTask(taskId); } +#ifdef DEBUG +void debug_sub_8120968(void) +{ + if (npc_before_player_of_type(MAP_OBJ_GFX_BREAKABLE_ROCK) == TRUE) + { + gLastFieldPokeMenuOpened = 0; + sub_810B53C(); + } + else + { + ScriptContext2_Disable(); + } +} +#endif + bool8 SetUpFieldMove_RockSmash(void) { if (npc_before_player_of_type(0x56) == TRUE) diff --git a/src/roulette.c b/src/roulette.c index 6d79f9d38..ce95bc1c9 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -308,7 +308,10 @@ extern const u16 gUnknown_083FA632[]; extern const s8 gUnknown_083FA64A[0x2]; extern const s8 gUnknown_083FA64C[0x8][0x2]; - +#if DEBUG +EWRAM_DATA u8 unk_203955C[4] = { 0 }; +EWRAM_DATA u8 unk_2039560[4] = { 0 }; +#endif void sub_81150FC(void) diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c index d8e099130..4bf0cef09 100644 --- a/src/scene/cable_car.c +++ b/src/scene/cable_car.c @@ -6,6 +6,7 @@ #include "palette.h" #include "random.h" #include "main.h" +#include "menu.h" #include "script.h" #include "task.h" #include "sound.h" @@ -102,6 +103,31 @@ static void sub_81248AC(u8); // .rodata +#if DEBUG + +u8 debug_sub_8138D74(void); +u8 debug_sub_8138D8C(void); +u8 debug_sub_8138C14(void); +u8 debug_sub_8138C34(void); +u8 debug_sub_810CD9C(void); + +const u8 Str_842DBD0[] = _("CABLE CAR U"); +const u8 Str_842DBDC[] = _("CABLE CAR D"); +const u8 Str_842DBE8[] = _("ROULETTE1"); +const u8 Str_842DBF2[] = _("ROULETTE3"); +const u8 Str_842DBFC[] = _("View a MAIL"); + +const struct MenuAction gUnkDebug4Menu[] = +{ + {Str_842DBD0, debug_sub_8138D74}, + {Str_842DBDC, debug_sub_8138D8C}, + {Str_842DBE8, debug_sub_8138C14}, + {Str_842DBF2, debug_sub_8138C34}, + {Str_842DBFC, debug_sub_810CD9C}, +}; + +#endif + static const u8 gCableCarMtChimneyTilemap[] = INCBIN_U8("graphics/misc/cable_car_mt_chimney_map.bin.lz"); static const u8 gCableCarTreeTilemap[] = INCBIN_U8("graphics/misc/cable_car_tree_map.bin.lz"); @@ -182,6 +208,158 @@ static const struct SpriteTemplate gSpriteTemplate_8401D40[] = { // .text +#if DEBUG + +__attribute__((naked)) +u8 debug_sub_8138C14(void) +{ + asm("\n\ + push {lr}\n\ + ldr r0, ._1\n\ + mov r1, #0x1\n\ + strb r1, [r0]\n\ + ldr r0, ._1 + 4\n\ + bl ScriptContext1_SetupScript\n\ + bl CloseMenu\n\ + mov r0, #0x1\n\ + pop {r1}\n\ + bx r1\n\ +._2:\n\ + .align 2, 0\n\ +._1:\n\ + .word unk_203955C\n\ + .word MauvilleCity_GameCorner_EventScript_1C407E"); +} + +__attribute__((naked)) +u8 debug_sub_8138C34(void) +{ + asm("\n\ + push {lr}\n\ + ldr r0, ._3\n\ + mov r1, #0x1\n\ + strb r1, [r0]\n\ + ldr r0, ._3 + 4\n\ + bl ScriptContext1_SetupScript\n\ + bl CloseMenu\n\ + mov r0, #0x1\n\ + pop {r1}\n\ + bx r1\n\ +._4:\n\ + .align 2, 0\n\ +._3:\n\ + .word unk_203955C\n\ + .word MauvilleCity_GameCorner_EventScript_1C40AC"); +} + +__attribute__((naked)) +u8 debug_sub_8138C54(void) +{ + asm("\n\ + push {r4, lr}\n\ + ldr r4, ._10\n\ + ldrh r0, [r4, #0x2e]\n\ + cmp r0, #0x40\n\ + bne ._5 @cond_branch\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + bl Menu_MoveCursor\n\ +._5:\n\ + ldrh r0, [r4, #0x2e]\n\ + cmp r0, #0x80\n\ + bne ._6 @cond_branch\n\ + mov r0, #0x1\n\ + bl Menu_MoveCursor\n\ +._6:\n\ + ldrh r1, [r4, #0x2e]\n\ + cmp r1, #0x1\n\ + beq ._7 @cond_branch\n\ + ldr r0, ._10 + 4\n\ + cmp r1, r0\n\ + bne ._8 @cond_branch\n\ + ldr r1, ._10 + 8\n\ + mov r0, #0x1\n\ + strh r0, [r1]\n\ +._7:\n\ + ldr r4, ._10 + 12\n\ + bl Menu_GetCursorPos\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x15\n\ + add r4, r4, #0x4\n\ + add r0, r0, r4\n\ + ldr r0, [r0]\n\ + bl _call_via_r0\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + b ._13\n\ +._11:\n\ + .align 2, 0\n\ +._10:\n\ + .word gMain\n\ + .word 0x101\n\ + .word gSpecialVar_0x8004\n\ + .word gUnkDebug4Menu\n\ +._8:\n\ + cmp r1, #0x2\n\ + beq ._12 @cond_branch\n\ + mov r0, #0x0\n\ + b ._13\n\ +._12:\n\ + bl CloseMenu\n\ + mov r0, #0x1\n\ +._13:\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1"); +} + +__attribute__((naked)) +u8 debug_sub_8138CC4(void) +{ + asm("\n\ + push {lr}\n\ + add sp, sp, #0xfffffff8\n\ + ldr r1, ._14\n\ + mov r0, #0x0\n\ + strh r0, [r1]\n\ + bl Menu_EraseScreen\n\ + mov r0, #0x13\n\ + mov r1, #0x0\n\ + mov r2, #0x1d\n\ + mov r3, #0xc\n\ + bl Menu_DrawStdWindowFrame\n\ + ldr r3, ._14 + 4\n\ + mov r0, #0x14\n\ + mov r1, #0x1\n\ + mov r2, #0x5\n\ + bl Menu_PrintItems\n\ + mov r0, #0x0\n\ + str r0, [sp]\n\ + mov r0, #0x8\n\ + str r0, [sp, #0x4]\n\ + mov r0, #0x0\n\ + mov r1, #0x14\n\ + mov r2, #0x1\n\ + mov r3, #0x5\n\ + bl InitMenu\n\ + ldr r1, ._14 + 8\n\ + ldr r0, ._14 + 12\n\ + str r0, [r1]\n\ + mov r0, #0x0\n\ + add sp, sp, #0x8\n\ + pop {r1}\n\ + bx r1\n\ +._15:\n\ + .align 2, 0\n\ +._14:\n\ + .word gSpecialVar_0x8004\n\ + .word gUnkDebug4Menu\n\ + .word gCallback_03004AE8\n\ + .word debug_sub_8138C54+1"); +} + +#endif + static void CableCarTask1(u8 taskId) { if (!gPaletteFade.active) @@ -198,6 +376,46 @@ void CableCar(void) BeginNormalPaletteFade(-1, 0, 0, 16, 0); } +#if DEBUG + +__attribute__((naked)) +u8 debug_sub_8138D74(void) +{ + asm("\n\ + push {lr}\n\ + ldr r1, ._21\n\ + mov r0, #0x0\n\ + strh r0, [r1]\n\ + bl CloseMenu\n\ + bl CableCar\n\ + pop {r0}\n\ + bx r0\n\ +._22:\n\ + .align 2, 0\n\ +._21:\n\ + .word gSpecialVar_0x8004"); +} + +__attribute__((naked)) +u8 debug_sub_8138D8C(void) +{ + asm("\n\ + push {lr}\n\ + ldr r1, ._23\n\ + mov r0, #0x1\n\ + strh r0, [r1]\n\ + bl CloseMenu\n\ + bl CableCar\n\ + pop {r0}\n\ + bx r0\n\ +._24:\n\ + .align 2, 0\n\ +._23:\n\ + .word gSpecialVar_0x8004"); +} + +#endif + static void CableCarMainCallback_Setup(void) { u8 i; diff --git a/src/scene/new_game.c b/src/scene/new_game.c index 0279f99c6..d954fb3c8 100644 --- a/src/scene/new_game.c +++ b/src/scene/new_game.c @@ -1,4 +1,7 @@ #include "global.h" +#include "constants/maps.h" +#include "constants/species.h" +#include "clock.h" #include "new_game.h" #include "battle_records.h" #include "berry.h" @@ -20,6 +23,7 @@ #include "pokemon_storage_system.h" #include "random.h" #include "roamer.h" +#include "script_pokemon_80C4.h" #include "overworld.h" #include "rtc.h" #include "script.h" @@ -27,6 +31,10 @@ #include "text.h" #include "tv.h" +#ifdef DEBUG +extern u8 gUnknown_020297ED; +#endif + EWRAM_DATA u8 gDifferentSaveFile = 0; EWRAM_DATA u8 gUnknown_020297ED = 0; @@ -42,6 +50,18 @@ static const struct ContestWinner sEmptyMuseumPortrait = .trainerName = {EOS}, }; +#ifdef DEBUG +const s8 gUnknown_Debug_0823C788[][2] = +{ + { MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK) }, + { MAP_GROUP(OLDALE_TOWN_POKEMON_CENTER_2F), MAP_NUM(OLDALE_TOWN_POKEMON_CENTER_2F) }, + { MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN) }, + { MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F) } +}; + +const u8 gUnknown_Debug_0823C790[] = _("KRÖTE"); +#endif + void write_word_to_mem(u32 var, u8 *dataPtr) { dataPtr[0] = var; @@ -94,6 +114,30 @@ void ZeroBattleTowerData(void) CpuFill32(0, &gSaveBlock2.battleTower, sizeof(gSaveBlock2.battleTower)); } +#ifdef DEBUG +void debug_sub_8052E04() +{ + u8 i; + + for (i = 0; i < 4; i++) + { + if (gUnknown_Debug_0823C788[i][0] == gSaveBlock1.location.mapGroup && + gUnknown_Debug_0823C788[i][1] == gSaveBlock1.location.mapNum) + { + break; + } + } + + i++; + if (i >= 4) + { + i = 0; + } + + Overworld_SetWarpDestination(gUnknown_Debug_0823C788[i][0], gUnknown_Debug_0823C788[i][1], -1, -1, -1); +} +#endif + void WarpToTruck(void) { Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck @@ -109,6 +153,9 @@ void ClearSav2(void) void sub_8052E4C(void) { gDifferentSaveFile = 0; +#ifdef DEBUG + gUnknown_020297ED = 0; +#endif sub_808C0A0(); ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); @@ -161,3 +208,33 @@ void NewGameInitData(void) WarpToTruck(); ScriptContext2_RunNewScript(gUnknown_0819FA81); } + +#ifdef DEBUG +extern void debug_sub_80A3904(void); +extern void debug_sub_80A3714(void); +extern void debug_sub_8120F98(void); +extern void unref_sub_8070F90(void); + +void debug_sub_8057508(bool32 arg0) +{ + gUnknown_020297ED = 1; + NewGameInitData(); + gSaveBlock1.money = 999999; + FlagSet(FLAG_SYS_POKEMON_GET); + FlagSet(FLAG_SYS_POKEDEX_GET); + FlagSet(FLAG_SYS_POKENAV_GET); + FlagSet(FLAG_SYS_B_DASH); + ScriptGiveMon(SPECIES_TREECKO, 99, 0, 0, 0, 0); + + if (arg0 == TRUE) + SetMonData(&gPlayerParty[0], MON_DATA_NICKNAME, gUnknown_Debug_0823C790); + + debug_sub_80A3904(); + debug_sub_80A3714(); + debug_sub_8120F98(); + FlagSet(FLAG_SYS_HIPSTER_MEET); + sub_80EB8EC(); + unref_sub_8070F90(); + InitTimeBasedEvents(); +} +#endif diff --git a/src/scene/title_screen.c b/src/scene/title_screen.c index 202b752a6..8d5c4da13 100644 --- a/src/scene/title_screen.c +++ b/src/scene/title_screen.c @@ -8,6 +8,7 @@ #include "m4a.h" #include "main.h" #include "main_menu.h" +#include "overworld.h" #include "palette.h" #include "reset_rtc_screen.h" #include "sound.h" @@ -353,6 +354,7 @@ static void Task_TitleScreenPhase1(u8); static void Task_TitleScreenPhase2(u8); static void Task_TitleScreenPhase3(u8); static void CB2_GoToMainMenu(void); +static void CB2_GoToTestMenu(void); static void CB2_GoToClearSaveDataScreen(void); static void CB2_GoToResetRtcScreen(void); static void CB2_GoToCopyrightScreen(void); @@ -829,6 +831,13 @@ static void Task_TitleScreenPhase3(u8 taskId) BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); SetMainCallback2(CB2_GoToResetRtcScreen); } +#ifdef DEBUG + else if (gMain.heldKeys == SELECT_BUTTON) + { + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + SetMainCallback2(CB2_GoToTestMenu); + } +#endif else { REG_BG2Y = 0; @@ -855,6 +864,14 @@ static void CB2_GoToMainMenu(void) SetMainCallback2(CB2_InitMainMenu); } +#ifdef DEBUG +static void CB2_GoToTestMenu(void) +{ + if (!UpdatePaletteFade()) + SetMainCallback2(CB2_InitTestMenu); +} +#endif + static void CB2_GoToCopyrightScreen(void) { if (!UpdatePaletteFade()) -- cgit v1.2.3 From bcf3fb87450883c9c26afec55f5f0ddc04864e84 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 12:07:40 -0600 Subject: add more debug data --- src/debug/start_menu_debug.c | 6130 ++++++++++++++++++++++++++++++++++++++++++ src/debug/unk_debug_menu_3.c | 797 ++++++ src/engine/sprite.c | 4 +- 3 files changed, 6929 insertions(+), 2 deletions(-) create mode 100644 src/debug/start_menu_debug.c create mode 100644 src/debug/unk_debug_menu_3.c (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c new file mode 100644 index 000000000..28f3a26d1 --- /dev/null +++ b/src/debug/start_menu_debug.c @@ -0,0 +1,6130 @@ +__attribute__((naked)) +void debug_sub_8076AC8() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " ldr r2, ._3\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x1\n" + " ldr r0, ._3 + 4\n" + " add r1, r1, r0\n" + " str r1, [r2]\n" + " mov r4, #0x0\n" + " ldrb r0, [r1]\n" + " cmp r0, #0xff\n" + " beq ._1 @cond_branch\n" + "._2:\n" + " add r4, r4, #0x1\n" + " add r0, r1, r4\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " bne ._2 @cond_branch\n" + "._1:\n" + " mov r0, #0x10\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuZeroFillWindowRect\n" + " lsl r3, r4, #0x1\n" + " add r3, r3, #0x1\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0x10\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " bl MenuDrawTextWindow\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r3, ._3 + 8\n" + " ldr r0, ._3\n" + " ldr r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, #0x11\n" + " mov r1, #0x1\n" + " add r2, r4, #0\n" + " bl PrintMenuItemsReordered\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0xc\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x11\n" + " mov r2, #0x1\n" + " add r3, r4, #0\n" + " bl InitMenu\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word 0x30006c4 @ gTileset1AnimLength\n" + " .word gUnknown_Debug_0839BBC1+0x153\n" + " .word gUnknown_Debug_0839BBC1+0xd3\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8076B4C() +{ + asm( + " push {lr}\n" + " ldr r0, ._6\n" + " bl FindTaskIdByFunc\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0xff\n" + " beq ._5 @cond_branch\n" + " bl DestroyTask\n" + "._5:\n" + " pop {r0}\n" + " bx r0\n" + "._7:\n" + " .align 2, 0\n" + "._6:\n" + " .word debug_sub_8076BB4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8076B68() +{ + asm( + " push {lr}\n" + " ldr r0, ._8\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r0, ._8 + 4\n" + " mov r1, #0x1\n" + " mov r2, #0x3\n" + " bl MenuPrint\n" + " ldr r0, ._8 + 8\n" + " mov r1, #0x1\n" + " mov r2, #0x9\n" + " bl MenuPrint\n" + " mov r0, #0x4\n" + " mov r1, #0xb\n" + " bl debug_sub_8077CF4\n" + " mov r0, #0x0\n" + " bl debug_sub_8076AC8\n" + " ldr r0, ._8 + 12\n" + " mov r1, #0x1\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._9:\n" + " .align 2, 0\n" + "._8:\n" + " .word gUnknown_Debug_0839BBB6\n" + " .word gUnknown_Debug_0839BBC1\n" + " .word gUnknown_Debug_0839BBA4\n" + " .word debug_sub_8076BB4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8076BB4() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " ldr r0, ._13\n" + " add r5, r1, r0\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r1, r0, #0x18\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._10 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r4, r0\n" + " beq ._11 @cond_branch\n" + " ldr r2, ._13 + 4\n" + " lsl r1, r1, #0x18\n" + " asr r1, r1, #0x18\n" + " ldr r0, ._13 + 8\n" + " ldr r0, [r0]\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r2, r2, #0x4\n" + " add r0, r0, r2\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " b ._24\n" + "._14:\n" + " .align 2, 0\n" + "._13:\n" + " .word gTasks+0x8\n" + " .word gUnknown_Debug_0839BBC1+0xd3\n" + " .word 0x30006c4 @ gTileset1AnimLength\n" + "._10:\n" + " ldr r0, ._18\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " cmp r2, #0\n" + " beq ._15 @cond_branch\n" + " ldrh r1, [r5]\n" + " mov r2, #0x0\n" + " ldsh r0, [r5, r2]\n" + " cmp r0, #0\n" + " bne ._16 @cond_branch\n" + " mov r0, #0x1\n" + " b ._20\n" + "._19:\n" + " .align 2, 0\n" + "._18:\n" + " .word gMain\n" + "._16:\n" + " sub r0, r1, #1\n" + " b ._20\n" + "._15:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._24 @cond_branch\n" + " ldrh r1, [r5]\n" + " mov r3, #0x0\n" + " ldsh r0, [r5, r3]\n" + " cmp r0, #0x1\n" + " bne ._22 @cond_branch\n" + " strh r2, [r5]\n" + " b ._23\n" + "._22:\n" + " add r0, r1, #1\n" + "._20:\n" + " strh r0, [r5]\n" + "._23:\n" + " ldrb r0, [r5]\n" + " bl debug_sub_8076AC8\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " b ._24\n" + "._11:\n" + " bl DoSoftReset\n" + "._24:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076C6C() +{ + asm( + " push {lr}\n" + " ldr r0, ._25\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._26:\n" + " .align 2, 0\n" + "._25:\n" + " .word debug_sub_8010800+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076C80() +{ + asm( + " push {lr}\n" + " bl debug_sub_8076B4C\n" + " bl DebugMenu_8076FEC\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076C90() +{ + asm( + " push {lr}\n" + " ldr r0, ._29\n" + " ldrh r0, [r0]\n" + " cmp r0, #0xff\n" + " bne ._27 @cond_branch\n" + " mov r0, #0x16\n" + " bl PlaySE\n" + " b ._28\n" + "._30:\n" + " .align 2, 0\n" + "._29:\n" + " .word gSaveFileStatus\n" + "._27:\n" + " bl debug_sub_8076B4C\n" + " ldr r0, ._31\n" + " bl SetMainCallback2\n" + "._28:\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._32:\n" + " .align 2, 0\n" + "._31:\n" + " .word CB2_ContinueSavedGame+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076CBC() +{ + asm( + " mov r0, #0x0\n" + " bx lr\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076CC0() +{ + asm( + " push {lr}\n" + " ldr r0, ._33\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._34:\n" + " .align 2, 0\n" + "._33:\n" + " .word debug_nullsub_66+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076CD4() +{ + asm( + " mov r0, #0x0\n" + " bx lr\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076CD8() +{ + asm( + " push {lr}\n" + " ldr r0, ._35\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._36:\n" + " .align 2, 0\n" + "._35:\n" + " .word unref_sub_80524BC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076CEC() +{ + asm( + " push {lr}\n" + " ldr r0, ._37\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._38:\n" + " .align 2, 0\n" + "._37:\n" + " .word CB2_InitMysteryEventMenu+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076D00() +{ + asm( + " push {lr}\n" + " ldr r0, ._39\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._40:\n" + " .align 2, 0\n" + "._39:\n" + " .word debug_sub_815D15C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076D14() +{ + asm( + " push {lr}\n" + " ldr r0, ._41\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._42:\n" + " .align 2, 0\n" + "._41:\n" + " .word sub_804B790+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076D28() +{ + asm( + " push {lr}\n" + " ldr r0, ._43\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._44:\n" + " .align 2, 0\n" + "._43:\n" + " .word LinkTestScreen+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076D3C() +{ + asm( + " push {lr}\n" + " ldr r0, ._45\n" + " bl SetMainCallback2\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._46:\n" + " .align 2, 0\n" + "._45:\n" + " .word CB2_StartSoundCheckMenu+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076D50() +{ + asm( + " push {lr}\n" + " bl ClearSaveData\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076D5C() +{ + asm( + " push {lr}\n" + " bl debug_sub_8076B4C\n" + " bl debug_sub_806F8F8\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076D6C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " lsl r0, r3, #0x2\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._51\n" + " add r4, r0, r1\n" + " mov r0, #0x0\n" + " ldsh r1, [r4, r0]\n" + " cmp r1, #0x1\n" + " beq ._47 @cond_branch\n" + " cmp r1, #0x1\n" + " bgt ._48 @cond_branch\n" + " cmp r1, #0\n" + " beq ._49 @cond_branch\n" + " b ._64\n" + "._52:\n" + " .align 2, 0\n" + "._51:\n" + " .word gTasks+0x8\n" + "._48:\n" + " cmp r1, #0x2\n" + " beq ._53 @cond_branch\n" + " b ._64\n" + "._49:\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._56\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " b ._55\n" + "._57:\n" + " .align 2, 0\n" + "._56:\n" + " .word gUnknown_Debug_0839BBC1+0x16b\n" + "._47:\n" + " ldr r0, ._60\n" + " ldrh r2, [r0, #0x2e]\n" + " and r1, r1, r2\n" + " cmp r1, #0\n" + " beq ._58 @cond_branch\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._60 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " mov r0, #0x49\n" + " bl PlaySE\n" + " bl RtcReset\n" + "._55:\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4]\n" + " b ._64\n" + "._61:\n" + " .align 2, 0\n" + "._60:\n" + " .word gMain\n" + " .word gUnknown_Debug_0839BBC1+0x18b\n" + "._58:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._64 @cond_branch\n" + " add r0, r3, #0\n" + " bl DestroyTask\n" + " bl DoSoftReset\n" + " b ._64\n" + "._53:\n" + " ldr r0, ._65\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._64 @cond_branch\n" + " add r0, r3, #0\n" + " bl DestroyTask\n" + " bl DoSoftReset\n" + "._64:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._66:\n" + " .align 2, 0\n" + "._65:\n" + " .word gMain\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076E18() +{ + asm( + " push {lr}\n" + " bl debug_sub_8076B4C\n" + " ldr r0, ._67\n" + " mov r1, #0xa\n" + " bl CreateTask\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._68:\n" + " .align 2, 0\n" + "._67:\n" + " .word DebugMenu_8076D6C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076E30() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " lsl r0, r3, #0x2\n" + " add r0, r0, r3\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._73\n" + " add r4, r0, r1\n" + " mov r0, #0x0\n" + " ldsh r1, [r4, r0]\n" + " cmp r1, #0x1\n" + " beq ._69 @cond_branch\n" + " cmp r1, #0x1\n" + " bgt ._70 @cond_branch\n" + " cmp r1, #0\n" + " beq ._71 @cond_branch\n" + " b ._86\n" + "._74:\n" + " .align 2, 0\n" + "._73:\n" + " .word gTasks+0x8\n" + "._70:\n" + " cmp r1, #0x2\n" + " beq ._75 @cond_branch\n" + " b ._86\n" + "._71:\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._78\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " b ._77\n" + "._79:\n" + " .align 2, 0\n" + "._78:\n" + " .word gUnknown_Debug_0839BBC1+0x199\n" + "._69:\n" + " ldr r0, ._82\n" + " ldrh r2, [r0, #0x2e]\n" + " and r1, r1, r2\n" + " cmp r1, #0\n" + " beq ._80 @cond_branch\n" + " bl MenuDisplayMessageBox\n" + " bl sub_813B79C\n" + " ldr r0, ._82 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " mov r0, #0x49\n" + " bl PlaySE\n" + "._77:\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4]\n" + " b ._86\n" + "._83:\n" + " .align 2, 0\n" + "._82:\n" + " .word gMain\n" + " .word gUnknown_Debug_0839BBC1+0x1bc\n" + "._80:\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._86 @cond_branch\n" + " add r0, r3, #0\n" + " bl DestroyTask\n" + " bl DoSoftReset\n" + " b ._86\n" + "._75:\n" + " ldr r0, ._87\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._86 @cond_branch\n" + " add r0, r3, #0\n" + " bl DestroyTask\n" + " bl DoSoftReset\n" + "._86:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._88:\n" + " .align 2, 0\n" + "._87:\n" + " .word gMain\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076EDC() +{ + asm( + " push {lr}\n" + " bl debug_sub_8076B4C\n" + " ldr r0, ._89\n" + " mov r1, #0xa\n" + " bl CreateTask\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._90:\n" + " .align 2, 0\n" + "._89:\n" + " .word DebugMenu_8076E30+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076EF4() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xb\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " ldr r4, ._93\n" + " mov r0, #0x2\n" + " mov r1, #0x1\n" + " mov r2, #0x8\n" + " add r3, r4, #0\n" + " bl PrintMenuItems\n" + " mov r5, #0x0\n" + " add r4, r4, #0x4\n" + "._92:\n" + " lsl r0, r5, #0x3\n" + " add r0, r0, r4\n" + " ldr r1, [r0]\n" + " mov r0, #0x1\n" + " and r1, r1, r0\n" + " mov r0, #0xb6\n" + " cmp r1, #0\n" + " bne ._91 @cond_branch\n" + " mov r0, #0xb5\n" + "._91:\n" + " lsl r2, r5, #0x1\n" + " add r2, r2, #0x1\n" + " lsl r2, r2, #0x18\n" + " lsr r2, r2, #0x18\n" + " mov r1, #0xa\n" + " bl sub_8071F60\n" + " add r0, r5, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " cmp r5, #0x7\n" + " bls ._92 @cond_branch\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x9\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " add sp, sp, #0x8\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._94:\n" + " .align 2, 0\n" + "._93:\n" + " .word gUnknown_Debug_0839BBC1+0x203\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076F60() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " bl ProcessMenuInput\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " lsl r4, r4, #0x18\n" + " asr r4, r4, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._97 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r4, r0\n" + " bne ._96 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " bl debug_sub_8076B68\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + " b ._97\n" + "._96:\n" + " ldr r3, ._100\n" + " lsl r2, r2, #0x18\n" + " asr r2, r2, #0x15\n" + " add r0, r3, #4\n" + " add r0, r2, r0\n" + " ldrb r4, [r0]\n" + " ldr r0, ._100 + 4\n" + " mov r1, #0x1\n" + " and r1, r1, r4\n" + " strb r1, [r0, #0x8]\n" + " add r2, r2, r3\n" + " ldr r1, [r2]\n" + " bl StringCopy\n" + " mov r0, #0x80\n" + " and r4, r4, r0\n" + " cmp r4, #0\n" + " bne ._98 @cond_branch\n" + " mov r0, #0x0\n" + " bl debug_sub_8057508\n" + " b ._99\n" + "._101:\n" + " .align 2, 0\n" + "._100:\n" + " .word gUnknown_Debug_0839BBC1+0x203\n" + " .word gSaveBlock2\n" + "._98:\n" + " mov r0, #0x1\n" + " bl debug_sub_8057508\n" + "._99:\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + " ldr r0, ._102\n" + " bl SetMainCallback2\n" + "._97:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._103:\n" + " .align 2, 0\n" + "._102:\n" + " .word debug_sub_8058C00+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8076FEC() +{ + asm( + " push {lr}\n" + " bl DebugMenu_8076EF4\n" + " ldr r0, ._104\n" + " mov r1, #0xa\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._105:\n" + " .align 2, 0\n" + "._104:\n" + " .word DebugMenu_8076F60+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077004() +{ + asm( + " ldr r2, ._106\n" + " ldr r0, ._106 + 4\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._106 + 8\n" + " add r0, r0, r1\n" + " str r0, [r2]\n" + " bx lr\n" + "._107:\n" + " .align 2, 0\n" + "._106:\n" + " .word 0x30006c4 @ gTileset1AnimLength\n" + " .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n" + " .word gDebug0x839B9BC+0x1a8\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077020() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, ._109\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._108 @cond_branch\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + "._108:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._110:\n" + " .align 2, 0\n" + "._109:\n" + " .word gCallback_03004AE8\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077048() +{ + asm( + " push {lr}\n" + " ldr r0, ._111\n" + " ldr r1, ._111 + 4\n" + " str r1, [r0]\n" + " bl ScriptContext2_Enable\n" + " ldr r0, ._111 + 8\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " pop {r0}\n" + " bx r0\n" + "._112:\n" + " .align 2, 0\n" + "._111:\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_807706C+1\n" + " .word DebugMenu_8077020+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807706C() +{ + asm( + " push {lr}\n" + " ldr r0, ._113\n" + " bl InitMenuWindow\n" + " bl DebugMenu_8077004\n" + " bl DebugMenu_807719C\n" + " bl DebugMenu_80771EC\n" + " bl DebugMenu_8077238\n" + " ldr r1, ._113 + 4\n" + " ldr r0, ._113 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._114:\n" + " .align 2, 0\n" + "._113:\n" + " .word gWindowConfig_81E6CE4\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_807709C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807709C() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._120\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._115 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + " ldr r1, ._120 + 4\n" + " strb r0, [r1]\n" + "._115:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._116 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + " ldr r1, ._120 + 4\n" + " strb r0, [r1]\n" + "._116:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._117 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._120 + 8\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " bne ._118 @cond_branch\n" + " mov r0, #0x7\n" + " b ._119\n" + "._121:\n" + " .align 2, 0\n" + "._120:\n" + " .word gMain\n" + " .word 0x030006c0 @ gNumTilesetAnimDmas\n" + " .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n" + "._118:\n" + " sub r0, r0, #0x1\n" + "._119:\n" + " strb r0, [r1]\n" + " bl DebugMenu_8077004\n" + " bl DebugMenu_807719C\n" + "._117:\n" + " ldr r0, ._125\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._122 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._125 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x7\n" + " bne ._123 @cond_branch\n" + " mov r0, #0x0\n" + " b ._124\n" + "._126:\n" + " .align 2, 0\n" + "._125:\n" + " .word gMain\n" + " .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n" + "._123:\n" + " add r0, r0, #0x1\n" + "._124:\n" + " strb r0, [r1]\n" + " bl DebugMenu_8077004\n" + " bl DebugMenu_807719C\n" + "._122:\n" + " ldr r0, ._129\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._127 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r1, ._129 + 4\n" + " ldr r0, ._129 + 8\n" + " ldrb r2, [r0]\n" + " ldr r0, ._129 + 12\n" + " ldr r0, [r0]\n" + " add r0, r0, r2\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " add r1, r1, #0x4\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " bl gScriptFuncs_End+0x3cf4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " b ._132\n" + "._130:\n" + " .align 2, 0\n" + "._129:\n" + " .word gMain\n" + " .word gDebug0x839B9BC\n" + " .word 0x030006c0 @ gNumTilesetAnimDmas\n" + " .word 0x30006c4 @ gTileset1AnimLength\n" + "._127:\n" + " mov r0, #0xa\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._131 @cond_branch\n" + " mov r0, #0x0\n" + " b ._132\n" + "._131:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._132:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807719C() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0xe\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " ldr r3, ._133\n" + " ldr r0, ._133 + 4\n" + " ldr r0, [r0]\n" + " str r0, [sp]\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " mov r2, #0x8\n" + " bl PrintMenuItemsReordered\n" + " ldr r4, ._133 + 8\n" + " ldrb r0, [r4]\n" + " str r0, [sp]\n" + " mov r0, #0xd\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " mov r3, #0x8\n" + " bl InitMenu\n" + " strb r0, [r4]\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._134:\n" + " .align 2, 0\n" + "._133:\n" + " .word gDebug0x839B9BC\n" + " .word 0x30006c4 @ gTileset1AnimLength\n" + " .word 0x030006c0 @ gNumTilesetAnimDmas\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80771EC() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._135\n" + " ldr r1, ._135 + 4\n" + " bl StringCopy\n" + " ldr r4, ._135 + 8\n" + " mov r1, #0x4\n" + " ldsb r1, [r4, r1]\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r1, #0x5\n" + " ldsb r1, [r4, r1]\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, #0x13\n" + " mov r1, #0xc\n" + " mov r2, #0x1d\n" + " mov r3, #0xf\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._135\n" + " mov r1, #0x14\n" + " mov r2, #0xd\n" + " bl MenuPrint\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._136:\n" + " .align 2, 0\n" + "._135:\n" + " .word gStringVar4\n" + " .word gUnknown_Debug_0839BBC1+0x243\n" + " .word gSaveBlock1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077238() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xffffffe8\n" + " ldr r1, ._139\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, sp, #0x4\n" + " mov r9, r0\n" + " ldr r1, ._139 + 4\n" + " mov r2, #0x3\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r1, sp, #0x8\n" + " mov sl, r1\n" + " ldr r1, ._139 + 8\n" + " mov r0, sl\n" + " mov r2, #0x3\n" + " bl gScriptFuncs_End+0x5bc4\n" + " mov r2, #0x0\n" + " str r2, [sp, #0x14]\n" + " add r4, sp, #0x10\n" + " mov r6, sp\n" + " add r6, r6, #0x12\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl PlayerGetDestCoords\n" + " mov r1, #0x0\n" + " ldsh r0, [r4, r1]\n" + " mov r2, #0x0\n" + " ldsh r1, [r6, r2]\n" + " bl MapGridGetZCoordAt\n" + " mov r8, r0\n" + " mov r0, r8\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r8, r0\n" + " ldrh r0, [r4]\n" + " sub r0, r0, #0x7\n" + " strh r0, [r4]\n" + " ldrh r0, [r6]\n" + " sub r0, r0, #0x7\n" + " strh r0, [r6]\n" + " ldr r7, ._139 + 12\n" + " add r0, r7, #0\n" + " mov r1, sp\n" + " bl StringCopy\n" + " add r5, sp, #0xc\n" + " mov r2, #0x0\n" + " ldsh r1, [r4, r2]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r7, #0\n" + " add r1, r5, #0\n" + " bl StringAppend\n" + " add r0, r7, #0\n" + " mov r1, r9\n" + " bl StringAppend\n" + " mov r0, #0x0\n" + " ldsh r1, [r6, r0]\n" + " add r0, r5, #0\n" + " mov r2, #0x0\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r7, #0\n" + " add r1, r5, #0\n" + " bl StringAppend\n" + " add r0, r7, #0\n" + " mov r1, sl\n" + " bl StringAppend\n" + " add r0, r5, #0\n" + " mov r1, r8\n" + " mov r2, #0x0\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r7, #0\n" + " add r1, r5, #0\n" + " bl StringAppend\n" + " ldrb r0, [r7]\n" + " cmp r0, #0xff\n" + " beq ._137 @cond_branch\n" + " add r1, r7, #0\n" + "._138:\n" + " ldr r0, [sp, #0x14]\n" + " add r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " str r0, [sp, #0x14]\n" + " add r0, r0, r1\n" + " ldrb r0, [r0]\n" + " cmp r0, #0xff\n" + " bne ._138 @cond_branch\n" + "._137:\n" + " mov r0, #0x1c\n" + " ldr r1, [sp, #0x14]\n" + " sub r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x10\n" + " mov r2, #0x1d\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._139 + 12\n" + " mov r1, #0x1d\n" + " ldr r2, [sp, #0x14]\n" + " sub r1, r1, r2\n" + " lsl r1, r1, #0x18\n" + " lsr r1, r1, #0x18\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " add sp, sp, #0x18\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._140:\n" + " .align 2, 0\n" + "._139:\n" + " .word gUnknown_Debug_0839BBC1+0x246\n" + " .word gUnknown_Debug_0839BBC1+0x248\n" + " .word gUnknown_Debug_0839BBC1+0x24b\n" + " .word gStringVar4\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_Exit() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenSogabe() +{ + asm( + " push {lr}\n" + " bl unref_sub_814A414\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenTamada() +{ + asm( + " push {lr}\n" + " bl debug_sub_8075C30\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenKagaya() +{ + asm( + " push {lr}\n" + " bl InitKagayaDebugMenu_A\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenMatsuda() +{ + asm( + " push {lr}\n" + " bl unref_sub_80A9B28\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenNohara() +{ + asm( + " push {lr}\n" + " bl InitNoharaDebugMenu\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenWatanabe() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._141\n" + " bl SetMainCallback2\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._142:\n" + " .align 2, 0\n" + "._141:\n" + " .word InitWatanabeDebugMenu+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_EndSequenceDemo() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._143\n" + " bl SetMainCallback2\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._144:\n" + " .align 2, 0\n" + "._143:\n" + " .word sub_81439D0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_HallOfFame() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl GameClear\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenSizeComparison() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl InitSizeComparison\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_HoennNationalDex() +{ + asm( + " push {lr}\n" + " bl IsNationalPokedexEnabled\n" + " cmp r0, #0\n" + " beq ._145 @cond_branch\n" + " bl DisableNationalPokedex\n" + " b ._146\n" + "._145:\n" + " bl EnableNationalPokedex\n" + "._146:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077434() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x4\n" + " bhi ._165 @cond_branch\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._149\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._150:\n" + " .align 2, 0\n" + "._149:\n" + " .word ._148\n" + "._148:\n" + " .word ._151\n" + " .word ._152\n" + " .word ._153\n" + " .word ._154\n" + " .word ._155\n" + "._151:\n" + " ldr r0, ._157\n" + " mov r1, #0x1\n" + " mov r2, #0x4\n" + " bl GetEnigmaBerryChecksum\n" + " mov r0, #0xff\n" + " str r0, [sp]\n" + " str r0, [sp, #0x4]\n" + " mov r1, #0xff\n" + " mov r2, #0xff\n" + " mov r3, #0x0\n" + " bl debug_sub_80C2D24\n" + " b ._165\n" + "._158:\n" + " .align 2, 0\n" + "._157:\n" + " .word gUnknown_Debug_0839BBC1+0x24e\n" + "._152:\n" + " ldr r0, ._160\n" + " mov r1, #0x2\n" + " mov r2, #0x0\n" + " bl GetEnigmaBerryChecksum\n" + " mov r0, #0xff\n" + " str r0, [sp]\n" + " str r0, [sp, #0x4]\n" + " mov r1, #0xff\n" + " mov r2, #0x0\n" + " b ._159\n" + "._161:\n" + " .align 2, 0\n" + "._160:\n" + " .word gUnknown_Debug_0839BBC1+0x251\n" + "._153:\n" + " ldr r0, ._163\n" + " mov r1, #0x3\n" + " mov r2, #0x0\n" + " bl GetEnigmaBerryChecksum\n" + " mov r0, #0xff\n" + " str r0, [sp]\n" + " str r0, [sp, #0x4]\n" + " mov r1, #0x0\n" + " b ._162\n" + "._164:\n" + " .align 2, 0\n" + "._163:\n" + " .word gUnknown_Debug_0839BBC1+0x255\n" + "._154:\n" + " ldr r0, ._166\n" + " mov r1, #0x4\n" + " mov r2, #0x0\n" + " bl GetEnigmaBerryChecksum\n" + " mov r0, #0xff\n" + " str r0, [sp]\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0xff\n" + "._162:\n" + " mov r2, #0xff\n" + "._159:\n" + " mov r3, #0xff\n" + " bl debug_sub_80C2D24\n" + " b ._165\n" + "._167:\n" + " .align 2, 0\n" + "._166:\n" + " .word gUnknown_Debug_0839BBC1+0x259\n" + "._155:\n" + " ldr r0, ._168\n" + " mov r1, #0x4\n" + " mov r2, #0x0\n" + " bl GetEnigmaBerryChecksum\n" + " mov r0, #0xff\n" + " str r0, [sp]\n" + " str r0, [sp, #0x4]\n" + " mov r1, #0xff\n" + " mov r2, #0xff\n" + " mov r3, #0xff\n" + " bl debug_sub_80C2D24\n" + "._165:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._169:\n" + " .align 2, 0\n" + "._168:\n" + " .word gUnknown_Debug_0839BBC1+0x25d\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807750C() +{ + asm( + " push {lr}\n" + " ldr r0, ._170\n" + " bl DebugMenu_8077D78\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._171:\n" + " .align 2, 0\n" + "._170:\n" + " .word gUnknown_Debug_0839BBC1+0x263\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_SetRamBerry() +{ + asm( + " push {lr}\n" + " ldr r0, ._172\n" + " mov r1, #0xc\n" + " mov r2, #0x5\n" + " bl DebugMenu_8077D24\n" + " ldr r1, ._172 + 4\n" + " ldr r0, ._172 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._173:\n" + " .align 2, 0\n" + "._172:\n" + " .word gUnknown_Debug_0839BBC1+0x263\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_807750C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_ToggleBGM() +{ + asm( + " push {lr}\n" + " ldr r2, ._175\n" + " mov r1, #0x0\n" + " ldrb r0, [r2]\n" + " cmp r0, #0\n" + " bne ._174 @cond_branch\n" + " mov r1, #0x1\n" + "._174:\n" + " strb r1, [r2]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._176:\n" + " .align 2, 0\n" + "._175:\n" + " .word gDisableMusic\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_BattleForDebug() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl InitBattleForDebug\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_NationalDex() +{ + asm( + " push {r4, r5, lr}\n" + " mov r4, #0x0\n" + " ldr r5, ._178\n" + "._177:\n" + " add r4, r4, #0x1\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " bl GetNationalPokedexFlag\n" + " add r0, r4, #0\n" + " mov r1, #0x3\n" + " bl GetNationalPokedexFlag\n" + " cmp r4, r5\n" + " bls ._177 @cond_branch\n" + " ldr r1, ._178 + 4\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "._179:\n" + " .align 2, 0\n" + "._178:\n" + " .word 0x181\n" + " .word gUnknown_03005CE8\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_HoennDex() +{ + asm( + " push {r4, r5, lr}\n" + " mov r5, #0x0\n" + "._180:\n" + " add r5, r5, #0x1\n" + " lsl r5, r5, #0x10\n" + " lsr r5, r5, #0x10\n" + " add r0, r5, #0\n" + " bl HoennToNationalOrder\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " bl GetNationalPokedexFlag\n" + " add r0, r4, #0\n" + " mov r1, #0x3\n" + " bl GetNationalPokedexFlag\n" + " cmp r5, #0xc9\n" + " bls ._180 @cond_branch\n" + " ldr r1, ._181\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "._182:\n" + " .align 2, 0\n" + "._181:\n" + " .word gUnknown_03005CE8\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_CreatePKMN() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl InitCreatePokemon\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_ViewPokemonGraphics() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl InitSeePokemonGraphics\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenSeeTrainers() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl InitSeeTrainers\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenMori() +{ + asm( + " push {lr}\n" + " bl InitMoriDebugMenu\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenTomomichi() +{ + asm( + " push {lr}\n" + " bl InitTomomichiDebugWindow\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenAoki() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenTaya() +{ + asm( + " push {lr}\n" + " bl InitTayaDebugWindow\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenNakamura() +{ + asm( + " push {lr}\n" + " bl InitNakamuraDebugMenu\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenIwasawa() +{ + asm( + " push {lr}\n" + " bl debug_sub_8138CC4\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_Teleport() +{ + asm( + " push {lr}\n" + " bl sub_8053570\n" + " bl sub_8080E88\n" + " bl ScriptContext2_Enable\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_EditPKMN() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " bl debug_sub_815FFDC\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80776B4() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffff8\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r1, ._183\n" + " mov r0, sp\n" + " mov r2, #0x7\n" + " bl gScriptFuncs_End+0x5bc4\n" + " lsl r3, r4, #0x1\n" + " lsl r5, r4, #0x19\n" + " lsr r5, r5, #0x18\n" + " add r3, r3, #0x1\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0x19\n" + " add r1, r5, #0\n" + " mov r2, #0x1d\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r0, ._183 + 4\n" + " ldrb r0, [r0]\n" + " ASR r0, r4\n" + " mov r1, #0x1\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, sp\n" + " mov r1, #0x19\n" + " add r2, r5, #0\n" + " bl MenuPrint\n" + " add sp, sp, #0x8\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._184:\n" + " .align 2, 0\n" + "._183:\n" + " .word gUnknown_Debug_0839BBC1+0x28b\n" + " .word 0x30006c8 @ gTileset2AnimLength\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077704() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xffffffec\n" + " ldr r1, ._185\n" + " mov r0, sp\n" + " mov r2, #0x11\n" + " bl gScriptFuncs_End+0x5bc4\n" + " mov r0, #0x13\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x8\n" + " bl MenuFillWindowRectWithBlankTile\n" + " mov r0, sp\n" + " mov r1, #0x15\n" + " mov r2, #0x0\n" + " bl MenuPrint\n" + " ldr r2, ._185 + 4\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x13\n" + " ldrh r0, [r0]\n" + " lsr r0, r0, #0x8\n" + " mov r1, #0xf\n" + " and r0, r0, r1\n" + " strb r0, [r2]\n" + " mov r0, #0x0\n" + " bl DebugMenu_80776B4\n" + " mov r0, #0x1\n" + " bl DebugMenu_80776B4\n" + " mov r0, #0x2\n" + " bl DebugMenu_80776B4\n" + " mov r0, #0x3\n" + " bl DebugMenu_80776B4\n" + " add sp, sp, #0x14\n" + " pop {r0}\n" + " bx r0\n" + "._186:\n" + " .align 2, 0\n" + "._185:\n" + " .word gUnknown_Debug_0839BBC1+0x292\n" + " .word 0x30006c8 @ gTileset2AnimLength\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077760() +{ + asm( + " push {r4, r5, lr}\n" + " ldr r2, ._190\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " add r5, r2, #0\n" + " cmp r0, #0\n" + " beq ._187 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " bl MoveMenuCursor\n" + " ldr r1, ._190 + 4\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._188 @cond_branch\n" + " sub r0, r0, #0x1\n" + " b ._189\n" + "._191:\n" + " .align 2, 0\n" + "._190:\n" + " .word gMain\n" + " .word 0x030006b0+0x8 @ gMenu+0x8\n" + "._188:\n" + " mov r0, #0x3\n" + "._189:\n" + " strb r0, [r1]\n" + "._187:\n" + " ldrh r1, [r5, #0x2e]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._192 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + " bl MoveMenuCursor\n" + " ldr r1, ._195\n" + " ldrb r0, [r1]\n" + " cmp r0, #0x3\n" + " beq ._193 @cond_branch\n" + " add r0, r0, #0x1\n" + " b ._194\n" + "._196:\n" + " .align 2, 0\n" + "._195:\n" + " .word 0x030006b0+0x8 @ gMenu+0x8\n" + "._193:\n" + " mov r0, #0x0\n" + "._194:\n" + " strb r0, [r1]\n" + "._192:\n" + " ldrh r1, [r5, #0x2e]\n" + " mov r0, #0x30\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._197 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r4, ._201\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x1\n" + " LSL r1, r0\n" + " ldrb r0, [r4]\n" + " eor r1, r1, r0\n" + " strb r1, [r4]\n" + " bl GetMenuCursorPos\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl DebugMenu_80776B4\n" + "._197:\n" + " ldrh r2, [r5, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " bne ._198 @cond_branch\n" + " mov r0, #0x2\n" + " and r0, r0, r2\n" + " cmp r0, #0\n" + " beq ._199 @cond_branch\n" + "._198:\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x13\n" + " ldrh r0, [r2]\n" + " ldr r1, ._201 + 4\n" + " and r1, r1, r0\n" + " ldr r0, ._201\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x8\n" + " add r1, r1, r0\n" + " strh r1, [r2]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._200\n" + "._202:\n" + " .align 2, 0\n" + "._201:\n" + " .word 0x30006c8 @ gTileset2AnimLength\n" + " .word 0xf0ff\n" + "._199:\n" + " mov r0, #0x0\n" + "._200:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_SwitchBG() +{ + asm( + " push {lr}\n" + " add sp, sp, #0xfffffff8\n" + " bl MenuZeroFillScreen\n" + " bl DebugMenu_8077704\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " mov r0, #0x6\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x0\n" + " mov r1, #0x14\n" + " mov r2, #0x0\n" + " mov r3, #0x4\n" + " bl InitMenu\n" + " ldr r1, ._203\n" + " ldr r0, ._203 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " add sp, sp, #0x8\n" + " pop {r1}\n" + " bx r1\n" + "._204:\n" + " .align 2, 0\n" + "._203:\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077760+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807786C() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffff8\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " ldr r1, ._205\n" + " mov r0, sp\n" + " mov r2, #0x7\n" + " bl gScriptFuncs_End+0x5bc4\n" + " mov r0, #0x19\n" + " mov r1, #0x0\n" + " mov r2, #0x1d\n" + " mov r3, #0x3\n" + " bl MenuDrawTextWindow\n" + " lsl r0, r4, #0x1\n" + " add r0, r0, r4\n" + " add r0, r0, sp\n" + " mov r1, #0x1a\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " add sp, sp, #0x8\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._206:\n" + " .align 2, 0\n" + "._205:\n" + " .word gUnknown_Debug_0839BBC1+0x2a3\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80778A8() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._211\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x30\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._207 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r2, ._211 + 4\n" + " ldrb r0, [r2]\n" + " mov r1, #0x1\n" + " eor r0, r0, r1\n" + " strb r0, [r2]\n" + " ldrb r0, [r2]\n" + " bl DebugMenu_807786C\n" + "._207:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._208 @cond_branch\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._209 @cond_branch\n" + "._208:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._210\n" + "._212:\n" + " .align 2, 0\n" + "._211:\n" + " .word gMain\n" + " .word sWildEncountersDisabled\n" + "._209:\n" + " mov r0, #0x0\n" + "._210:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_ControlEncounter() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._213\n" + " ldrb r0, [r0]\n" + " bl DebugMenu_807786C\n" + " ldr r1, ._213 + 4\n" + " ldr r0, ._213 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._214:\n" + " .align 2, 0\n" + "._213:\n" + " .word sWildEncountersDisabled\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_80778A8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_UseHM() +{ + asm( + " ldr r1, ._215\n" + " ldr r0, ._215 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " bx lr\n" + "._216:\n" + " .align 2, 0\n" + "._215:\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077C14+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077934() +{ + asm( + " push {lr}\n" + " mov r1, #0x0\n" + " ldr r3, ._218\n" + " mov r2, #0x1\n" + "._217:\n" + " add r0, r1, r3\n" + " strb r2, [r0]\n" + " add r1, r1, #0x1\n" + " cmp r1, #0x63\n" + " bls ._217 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._219:\n" + " .align 2, 0\n" + "._218:\n" + " .word gSaveBlock1+0x97a\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077954() +{ + asm( + " push {lr}\n" + " mov r1, #0x0\n" + " ldr r3, ._222\n" + " mov r2, #0x0\n" + "._221:\n" + " add r0, r1, r3\n" + " strb r2, [r0]\n" + " add r1, r1, #0x1\n" + " cmp r1, #0x63\n" + " bls ._221 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._223:\n" + " .align 2, 0\n" + "._222:\n" + " .word gSaveBlock1+0x97a\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077974() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r1, ._226\n" + " mov r0, #0x4\n" + " ldsb r0, [r1, r0]\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " ldrb r1, [r1, #0x5]\n" + " lsl r1, r1, #0x18\n" + " asr r1, r1, #0x18\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " bl unref_sub_8082C2C\n" + " cmp r0, #0\n" + " beq ._224 @cond_branch\n" + " ldr r0, ._226 + 4\n" + " ldr r1, ._226 + 8\n" + " bl StringCopy\n" + " b ._225\n" + "._227:\n" + " .align 2, 0\n" + "._226:\n" + " .word gSaveBlock1\n" + " .word gStringVar1\n" + " .word gUnknown_Debug_0839BBC1+0x2cc\n" + "._224:\n" + " ldr r0, ._230\n" + " ldr r1, ._230 + 4\n" + " bl StringCopy\n" + "._225:\n" + " ldr r1, ._230 + 8\n" + " mov r0, #0x4\n" + " ldsb r0, [r1, r0]\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " ldrb r1, [r1, #0x5]\n" + " lsl r1, r1, #0x18\n" + " asr r1, r1, #0x18\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " bl sub_8082C0C\n" + " cmp r0, #0\n" + " beq ._228 @cond_branch\n" + " ldr r0, ._230 + 12\n" + " ldr r1, ._230 + 16\n" + " bl StringCopy\n" + " b ._229\n" + "._231:\n" + " .align 2, 0\n" + "._230:\n" + " .word gStringVar1\n" + " .word gUnknown_Debug_0839BBC1+0x2cf\n" + " .word gSaveBlock1\n" + " .word gStringVar2\n" + " .word gUnknown_Debug_0839BBC1+0x2cc\n" + "._228:\n" + " ldr r0, ._232\n" + " ldr r1, ._232 + 4\n" + " bl StringCopy\n" + "._229:\n" + " ldr r0, ._232 + 8\n" + " bl sub_8071F40\n" + " ldr r1, ._232 + 12\n" + " ldr r0, ._232 + 16\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._233:\n" + " .align 2, 0\n" + "._232:\n" + " .word gStringVar2\n" + " .word gUnknown_Debug_0839BBC1+0x2cf\n" + " .word gUnknown_Debug_0839BBC1+0x2aa\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077DB4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077A20() +{ + asm( + " push {lr}\n" + " ldr r0, ._234\n" + " ldr r1, ._234 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xff\n" + " strh r1, [r0]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._235:\n" + " .align 2, 0\n" + "._234:\n" + " .word gSaveBlock1\n" + " .word 0x978\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077A40() +{ + asm( + " push {lr}\n" + " ldr r0, ._236\n" + " ldr r1, ._236 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0x0\n" + " strh r1, [r0]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._237:\n" + " .align 2, 0\n" + "._236:\n" + " .word gSaveBlock1\n" + " .word 0x978\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077A60() +{ + asm( + " push {lr}\n" + " ldr r0, ._238\n" + " bl DebugMenu_8077D78\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._239:\n" + " .align 2, 0\n" + "._238:\n" + " .word gUnknown_Debug_0839BBC1+0x323\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_RematchTrainers() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._240\n" + " mov r1, #0xd\n" + " mov r2, #0x5\n" + " bl DebugMenu_8077D24\n" + " ldr r1, ._240 + 4\n" + " ldr r0, ._240 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._241:\n" + " .align 2, 0\n" + "._240:\n" + " .word gUnknown_Debug_0839BBC1+0x323\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077A60+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077A9C() +{ + asm( + " push {lr}\n" + " ldr r1, ._242\n" + " mov r0, #0x1e\n" + " strb r0, [r1]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._243:\n" + " .align 2, 0\n" + "._242:\n" + " .word gNumSafariBalls\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077AB4() +{ + asm( + " push {lr}\n" + " ldr r1, ._244\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._245:\n" + " .align 2, 0\n" + "._244:\n" + " .word gNumSafariBalls\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077ACC() +{ + asm( + " push {lr}\n" + " ldr r1, ._246\n" + " mov r2, #0xfa\n" + " lsl r2, r2, #0x1\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._247:\n" + " .align 2, 0\n" + "._246:\n" + " .word gSafariZoneStepCounter\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077AE8() +{ + asm( + " push {lr}\n" + " ldr r1, ._248\n" + " mov r0, #0x1\n" + " strh r0, [r1]\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._249:\n" + " .align 2, 0\n" + "._248:\n" + " .word gSafariZoneStepCounter\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077B00() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " bl unref_sub_80C853C\n" + " cmp r0, #0\n" + " beq ._250 @cond_branch\n" + " ldr r0, ._252\n" + " bl sub_8071F40\n" + " b ._251\n" + "._253:\n" + " .align 2, 0\n" + "._252:\n" + " .word gUnknown_Debug_0839BBC1+0x353\n" + "._250:\n" + " ldr r0, ._254\n" + " bl sub_8071F40\n" + "._251:\n" + " ldr r1, ._254 + 4\n" + " ldr r0, ._254 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._255:\n" + " .align 2, 0\n" + "._254:\n" + " .word gUnknown_Debug_0839BBC1+0x35e\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077DB4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077B3C() +{ + asm( + " push {lr}\n" + " ldr r0, ._256\n" + " bl DebugMenu_8077D78\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._257:\n" + " .align 2, 0\n" + "._256:\n" + " .word gUnknown_Debug_0839BBC1+0x3ab\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_Safari() +{ + asm( + " push {lr}\n" + " bl GetSafariZoneFlag\n" + " cmp r0, #0\n" + " beq ._258 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._260\n" + " mov r1, #0xe\n" + " mov r2, #0x5\n" + " bl DebugMenu_8077D24\n" + " ldr r0, ._260 + 4\n" + " ldr r1, ._260 + 8\n" + " ldrh r1, [r1]\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r0, ._260 + 12\n" + " bl sub_8071F40\n" + " ldr r1, ._260 + 16\n" + " ldr r0, ._260 + 20\n" + " str r0, [r1]\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x0\n" + " b ._259\n" + "._261:\n" + " .align 2, 0\n" + "._260:\n" + " .word gUnknown_Debug_0839BBC1+0x3ab\n" + " .word gStringVar1\n" + " .word gSafariZoneStepCounter\n" + " .word gUnknown_Debug_0839BBC1+0x34b\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077B3C+1\n" + "._258:\n" + " bl CloseMenu\n" + " mov r0, #0x16\n" + " bl PlaySE\n" + " mov r0, #0x1\n" + "._259:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077BB4() +{ + asm( + " push {lr}\n" + " bl debug_sub_80AFEE4\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077BC0() +{ + asm( + " push {lr}\n" + " bl debug_sub_8122080\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077BCC() +{ + asm( + " push {lr}\n" + " bl debug_sub_8120968\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077BD8() +{ + asm( + " push {lr}\n" + " bl debug_sub_8130318\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077BE4() +{ + asm( + " push {lr}\n" + " bl debug_sub_80986AC\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077BF4() +{ + asm( + " push {lr}\n" + " bl debug_sub_80D93F4\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077C00() +{ + asm( + " push {lr}\n" + " ldr r0, ._262\n" + " bl DebugMenu_8077D78\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._263:\n" + " .align 2, 0\n" + "._262:\n" + " .word gUnknown_Debug_0839BBC1+0x3d3\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077C14() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._264\n" + " mov r1, #0xa\n" + " mov r2, #0x9\n" + " bl DebugMenu_8077D24\n" + " ldr r1, ._264 + 4\n" + " ldr r0, ._264 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._265:\n" + " .align 2, 0\n" + "._264:\n" + " .word gUnknown_Debug_0839BBC1+0x3d3\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077C00+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077C3C() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, sl\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6, r7}\n" + " add sp, sp, #0xfffffffc\n" + " mov sl, r0\n" + " add r7, r1, #0\n" + " ldr r0, ._271\n" + " ldr r1, ._271 + 4\n" + " str r1, [r0]\n" + " mov r1, #0x0\n" + " strb r1, [r7]\n" + " add r7, r7, #0x1\n" + " strb r1, [r7]\n" + " add r7, r7, #0x1\n" + " mov r3, #0x0\n" + " mov r8, r0\n" + "._269:\n" + " mov r5, #0x0\n" + " ldr r1, ._271\n" + " ldr r0, [r1]\n" + " ldr r2, [r0, #0x4]\n" + " mov r4, #0x0\n" + " ldr r1, [r0, #0x8]\n" + " add r3, r3, #0x1\n" + " mov r9, r3\n" + " cmp r5, r1\n" + " bge ._266 @cond_branch\n" + " add r3, r0, #0\n" + " add r6, r1, #0\n" + "._267:\n" + " ldr r0, [r3, #0xc]\n" + " add r0, r0, r4\n" + " add r0, r0, sl\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x30\n" + " mul r0, r0, r2\n" + " add r5, r5, r0\n" + " add r4, r4, #0x1\n" + " add r0, r2, #0\n" + " mov r1, #0xa\n" + " str r3, [sp]\n" + " bl gScriptFuncs_End+0x3d30\n" + " add r2, r0, #0\n" + " ldr r3, [sp]\n" + " cmp r4, r6\n" + " blt ._267 @cond_branch\n" + "._266:\n" + " mov r0, r8\n" + " ldr r1, [r0]\n" + " ldr r0, [r1]\n" + " cmp r0, r5\n" + " bcs ._268 @cond_branch\n" + " add r5, r0, #0\n" + "._268:\n" + " ldrb r3, [r1, #0x8]\n" + " add r0, r7, #0\n" + " add r1, r5, #0\n" + " mov r2, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r7, r0, #0\n" + " mov r3, r9\n" + " mov r1, r8\n" + " ldr r0, [r1]\n" + " add r0, r0, #0x10\n" + " str r0, [r1]\n" + " cmp r3, #0x1\n" + " ble ._269 @cond_branch\n" + " mov r1, sl\n" + " ldrb r0, [r1, #0x1d]\n" + " add r0, r0, #0x7a\n" + " strb r0, [r7]\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0xf6\n" + " bls ._270 @cond_branch\n" + " mov r0, #0xf6\n" + " strb r0, [r7]\n" + "._270:\n" + " mov r0, #0xff\n" + " strb r0, [r7, #0x1]\n" + " add sp, sp, #0x4\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._272:\n" + " .align 2, 0\n" + "._271:\n" + " .word 0x030006b0+0xc @ gMenu+0xc\n" + " .word gUnknown_Debug_0839BBC1+0x427\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_8077CF4() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r4, r0, #0\n" + " add r5, r1, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " ldr r0, ._273\n" + " ldr r6, ._273 + 4\n" + " add r1, r6, #0\n" + " bl DebugMenu_8077C3C\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl MenuPrint\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._274:\n" + " .align 2, 0\n" + "._273:\n" + " .word BuildDateTime\n" + " .word gStringVar4\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077D24() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffff8\n" + " add r6, r0, #0\n" + " add r4, r1, #0\n" + " add r5, r2, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " bl MenuZeroFillScreen\n" + " lsl r3, r5, #0x1\n" + " add r3, r3, #0x1\n" + " lsl r3, r3, #0x18\n" + " lsr r3, r3, #0x18\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " add r2, r4, #0\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x1\n" + " mov r1, #0x1\n" + " add r2, r5, #0\n" + " add r3, r6, #0\n" + " bl PrintMenuItems\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " sub r4, r4, #0x1\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " str r4, [sp, #0x4]\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " add r3, r5, #0\n" + " bl InitMenu\n" + " add sp, sp, #0x8\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077D78() +{ + asm( + " push {r4, r5, lr}\n" + " add r5, r0, #0\n" + " bl ProcessMenuInput\n" + " lsl r0, r0, #0x18\n" + " asr r4, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r4, r0\n" + " beq ._275 @cond_branch\n" + " add r0, r0, #0x1\n" + " cmp r4, r0\n" + " beq ._276 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._278\n" + " lsl r1, r4, #0x3\n" + " add r1, r1, r5\n" + " ldr r1, [r1, #0x4]\n" + " str r1, [r0]\n" + "._275:\n" + " mov r0, #0x0\n" + " b ._277\n" + "._279:\n" + " .align 2, 0\n" + "._278:\n" + " .word gCallback_03004AE8\n" + "._276:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._277:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077DB4() +{ + asm( + " push {lr}\n" + " ldr r0, ._282\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._280 @cond_branch\n" + " mov r0, #0x0\n" + " b ._281\n" + "._283:\n" + " .align 2, 0\n" + "._282:\n" + " .word gMain\n" + "._280:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._281:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077DD8() +{ + asm( + " push {r4, r5, lr}\n" + " add r4, r0, #0\n" + " add r5, r1, #0\n" + " lsl r3, r3, #0x10\n" + " lsr r3, r3, #0x10\n" + " add r1, r3, #0\n" + " mov r0, #0x80\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._284 @cond_branch\n" + " ldrh r0, [r4]\n" + " sub r0, r0, #0x1\n" + " b ._285\n" + "._284:\n" + " mov r0, #0x40\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._286 @cond_branch\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0x1\n" + " b ._287\n" + "._286:\n" + " mov r0, #0x20\n" + " and r0, r0, r3\n" + " cmp r0, #0\n" + " beq ._288 @cond_branch\n" + " ldrh r0, [r4]\n" + " sub r0, r0, #0xa\n" + "._285:\n" + " strh r0, [r4]\n" + " mov r1, #0x0\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, r5\n" + " bge ._293 @cond_branch\n" + " strh r2, [r4]\n" + " b ._293\n" + "._288:\n" + " mov r0, #0x10\n" + " and r1, r1, r0\n" + " cmp r1, #0\n" + " bne ._291 @cond_branch\n" + " mov r0, #0x0\n" + " b ._292\n" + "._291:\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0xa\n" + "._287:\n" + " strh r0, [r4]\n" + " mov r1, #0x0\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, r2\n" + " ble ._293 @cond_branch\n" + " strh r5, [r4]\n" + "._293:\n" + " mov r0, #0x1\n" + "._292:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077E40() +{ + asm( + " push {r4, lr}\n" + " add r4, r0, #0\n" + " ldr r0, ._297\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._294 @cond_branch\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._295 @cond_branch\n" + "._294:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " b ._302\n" + "._298:\n" + " .align 2, 0\n" + "._297:\n" + " .word gMain\n" + "._295:\n" + " mov r0, #0x30\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._299 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " cmp r4, #0\n" + " beq ._300 @cond_branch\n" + " mov r0, #0x1\n" + " bl DebugMenu_807786C\n" + " mov r0, #0x0\n" + " b ._302\n" + "._300:\n" + " mov r0, #0x0\n" + " bl DebugMenu_807786C\n" + " mov r0, #0x1\n" + " b ._302\n" + "._299:\n" + " add r0, r4, #0\n" + "._302:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_MakeItems() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl DebugMenu_8077EAC\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077EAC() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._303\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl MenuZeroFillScreen\n" + " ldr r1, ._303 + 4\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0x1\n" + " strh r1, [r0, #0xa]\n" + " strh r1, [r0, #0xc]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._304:\n" + " .align 2, 0\n" + "._303:\n" + " .word DebugMenu_8077F40+1\n" + " .word gTasks\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077EE0() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r4, r0, #0\n" + " add r6, r1, #0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " lsl r6, r6, #0x10\n" + " lsr r6, r6, #0x10\n" + " mov r0, #0x4\n" + " mov r1, #0x11\n" + " mov r2, #0x16\n" + " mov r3, #0x12\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r5, ._305\n" + " add r0, r5, #0\n" + " add r1, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r5, #0\n" + " mov r1, #0x4\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " add r0, r4, #0\n" + " bl ItemId_GetItem\n" + " mov r1, #0x8\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " add r0, r5, #0\n" + " add r1, r6, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r5, #0\n" + " mov r1, #0x12\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._306:\n" + " .align 2, 0\n" + "._305:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077F40() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r4, r0, #0x2\n" + " add r4, r4, r0\n" + " lsl r4, r4, #0x3\n" + " ldr r0, ._307\n" + " add r4, r4, r0\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._307 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldrh r0, [r4, #0xa]\n" + " ldrh r1, [r4, #0xc]\n" + " bl DebugMenu_8077EE0\n" + " ldr r0, ._307 + 8\n" + " str r0, [r4]\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._308:\n" + " .align 2, 0\n" + "._307:\n" + " .word gTasks\n" + " .word gDebug0x839C008\n" + " .word DebugMenu_8077F7C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077F7C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " ldr r0, ._311\n" + " add r4, r1, r0\n" + " ldr r3, ._311 + 4\n" + " ldrh r1, [r3, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._309 @cond_branch\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._311 + 8\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldrh r0, [r4, #0xa]\n" + " ldrh r1, [r4, #0xc]\n" + " bl DebugMenu_8077EE0\n" + " ldr r0, ._311 + 12\n" + " str r0, [r4]\n" + " b ._317\n" + "._312:\n" + " .align 2, 0\n" + "._311:\n" + " .word gTasks\n" + " .word gMain\n" + " .word gDebug0x839C008+0xc\n" + " .word DebugMenu_8077FFC+1\n" + "._309:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._313 @cond_branch\n" + " ldr r0, ._315\n" + " str r0, [r4]\n" + " b ._317\n" + "._316:\n" + " .align 2, 0\n" + "._315:\n" + " .word DebugMenu_807806C+1\n" + "._313:\n" + " add r0, r4, #0\n" + " add r0, r0, #0xa\n" + " mov r2, #0xae\n" + " lsl r2, r2, #0x1\n" + " ldrh r3, [r3, #0x30]\n" + " mov r1, #0x1\n" + " bl DebugMenu_8077DD8\n" + " cmp r0, #0x1\n" + " bne ._317 @cond_branch\n" + " ldrh r0, [r4, #0xa]\n" + " ldrh r1, [r4, #0xc]\n" + " bl DebugMenu_8077EE0\n" + "._317:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8077FFC() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " ldr r0, ._321\n" + " add r4, r1, r0\n" + " ldr r2, ._321 + 4\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._318 @cond_branch\n" + " ldrh r0, [r4, #0xa]\n" + " ldrh r1, [r4, #0xc]\n" + " bl AddBagItem\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._320 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " b ._320\n" + "._322:\n" + " .align 2, 0\n" + "._321:\n" + " .word gTasks\n" + " .word gMain\n" + "._318:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._323 @cond_branch\n" + "._320:\n" + " ldr r0, ._325\n" + " str r0, [r4]\n" + " b ._327\n" + "._326:\n" + " .align 2, 0\n" + "._325:\n" + " .word DebugMenu_8077F40+1\n" + "._323:\n" + " add r0, r4, #0\n" + " add r0, r0, #0xc\n" + " ldrh r3, [r2, #0x30]\n" + " mov r1, #0x1\n" + " mov r2, #0x63\n" + " bl DebugMenu_8077DD8\n" + " cmp r0, #0x1\n" + " bne ._327 @cond_branch\n" + " ldrh r0, [r4, #0xa]\n" + " ldrh r1, [r4, #0xc]\n" + " bl DebugMenu_8077EE0\n" + "._327:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807806C() +{ + asm( + " push {r4, lr}\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + " bl DebugMenu_8077048\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807808C() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffff4\n" + " add r4, r0, #0\n" + " sub r0, r4, #1\n" + " cmp r0, #0xc\n" + " bls ._328 @cond_branch\n" + " mov r4, #0x1\n" + "._328:\n" + " lsl r1, r4, #0x5\n" + " ldr r0, ._331\n" + " add r5, r1, r0\n" + " bl MenuZeroFillScreen\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x13\n" + " mov r3, #0x11\n" + " bl MenuDrawTextWindow\n" + " ldr r0, ._331 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0x2\n" + " bl MenuPrint\n" + " mov r0, sp\n" + " add r1, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0xb\n" + " mov r2, #0x2\n" + " bl MenuPrint\n" + " ldrh r1, [r5, #0x8]\n" + " mov r0, sp\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0xb\n" + " mov r2, #0x4\n" + " bl MenuPrint\n" + " add r4, r5, #0\n" + " add r4, r4, #0xb\n" + " add r0, r4, #0\n" + " bl StringLength\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi ._329 @cond_branch\n" + " add r0, r4, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x6\n" + " bl MenuPrint\n" + " b ._330\n" + "._332:\n" + " .align 2, 0\n" + "._331:\n" + " .word gSaveBlock1+0x2ddc\n" + " .word gDebug0x839C008+0x16\n" + "._329:\n" + " ldr r0, ._335\n" + " mov r1, #0xb\n" + " mov r2, #0x6\n" + " bl MenuPrint\n" + "._330:\n" + " add r4, r5, #0\n" + " add r4, r4, #0x16\n" + " add r0, r4, #0\n" + " bl StringLength\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi ._333 @cond_branch\n" + " add r0, r4, #0\n" + " mov r1, #0xb\n" + " mov r2, #0x8\n" + " bl MenuPrint\n" + " b ._334\n" + "._336:\n" + " .align 2, 0\n" + "._335:\n" + " .word gDebug0x839C008+0x45\n" + "._333:\n" + " ldr r0, ._337\n" + " mov r1, #0xb\n" + " mov r2, #0x8\n" + " bl MenuPrint\n" + "._334:\n" + " ldrb r1, [r5, #0xa]\n" + " mov r0, sp\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r0, sp\n" + " mov r1, #0xb\n" + " mov r2, #0xa\n" + " bl MenuPrint\n" + " ldr r1, [r5]\n" + " mov r0, sp\n" + " mov r2, #0x2\n" + " mov r3, #0x8\n" + " bl ConvertIntToHexStringN\n" + " mov r0, sp\n" + " mov r1, #0xb\n" + " mov r2, #0xc\n" + " bl MenuPrint\n" + " add sp, sp, #0xc\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._338:\n" + " .align 2, 0\n" + "._337:\n" + " .word gDebug0x839C008+0x45\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807817C() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, ._340\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._339 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + " bl ScriptContext2_Disable\n" + "._339:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._341:\n" + " .align 2, 0\n" + "._340:\n" + " .word gMain\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80781A8() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r1, r1, #0x3\n" + " ldr r0, ._344\n" + " add r5, r1, r0\n" + " ldrh r1, [r5, #0x8]\n" + " mov r2, #0x8\n" + " ldsh r0, [r5, r2]\n" + " cmp r0, #0\n" + " bne ._342 @cond_branch\n" + " add r0, r1, #1\n" + " strh r0, [r5, #0x8]\n" + " b ._343\n" + "._345:\n" + " .align 2, 0\n" + "._344:\n" + " .word gTasks\n" + "._342:\n" + " ldr r2, ._348\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._346 @cond_branch\n" + " mov r1, #0x8\n" + " ldsh r0, [r5, r1]\n" + " bl DebugMenu_807808C\n" + " ldr r0, ._348 + 4\n" + " str r0, [r5]\n" + " b ._350\n" + "._349:\n" + " .align 2, 0\n" + "._348:\n" + " .word gMain\n" + " .word DebugMenu_807817C+1\n" + "._346:\n" + " add r0, r5, #0\n" + " add r0, r0, #0x8\n" + " ldrh r1, [r2, #0x30]\n" + " mov r3, #0xc0\n" + " and r3, r3, r1\n" + " mov r1, #0x1\n" + " mov r2, #0xd\n" + " bl DebugMenu_8077DD8\n" + " cmp r0, #0\n" + " beq ._350 @cond_branch\n" + "._343:\n" + " mov r0, #0x4\n" + " mov r1, #0x11\n" + " mov r2, #0x16\n" + " mov r3, #0x12\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r4, ._351\n" + " mov r2, #0x8\n" + " ldsh r1, [r5, r2]\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x4\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + "._350:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._352:\n" + " .align 2, 0\n" + "._351:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_ViewPortraits() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._353\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._354:\n" + " .align 2, 0\n" + "._353:\n" + " .word DebugMenu_80781A8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078254() +{ + asm( + " push {lr}\n" + " bl DebugMenu_807808C\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_AllBadges() +{ + asm( + " push {lr}\n" + " ldr r0, ._355\n" + " bl FlagSet\n" + " ldr r0, ._355 + 4\n" + " bl FlagSet\n" + " ldr r0, ._355 + 8\n" + " bl FlagSet\n" + " ldr r0, ._355 + 12\n" + " bl FlagSet\n" + " ldr r0, ._355 + 16\n" + " bl FlagSet\n" + " ldr r0, ._355 + 20\n" + " bl FlagSet\n" + " ldr r0, ._355 + 24\n" + " bl FlagSet\n" + " ldr r0, ._355 + 28\n" + " bl FlagSet\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._356:\n" + " .align 2, 0\n" + "._355:\n" + " .word 0x807\n" + " .word 0x808\n" + " .word 0x809\n" + " .word 0x80a\n" + " .word 0x80b\n" + " .word 0x80c\n" + " .word 0x80d\n" + " .word 0x80e\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_TimeRecords() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._357\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._358:\n" + " .align 2, 0\n" + "._357:\n" + " .word debug_sub_806F9E4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_SetTime() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl debug_sub_806F99C\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80782EC() +{ + asm( + " push {lr}\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " ldr r0, ._359\n" + " mov r2, #0x0\n" + " mov r3, #0x4\n" + " bl ConvertIntToHexStringN\n" + " ldr r0, ._359 + 4\n" + " bl sub_8071F40\n" + " pop {r0}\n" + " bx r0\n" + "._360:\n" + " .align 2, 0\n" + "._359:\n" + " .word gStringVar1\n" + " .word gDebug0x839C008+0x4b\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078310() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._364\n" + " add r4, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0\n" + " beq ._361 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._362 @cond_branch\n" + " b ._375\n" + "._365:\n" + " .align 2, 0\n" + "._364:\n" + " .word gTasks+0x8\n" + "._361:\n" + " ldr r0, ._367\n" + " bl VarGet\n" + " strh r0, [r4, #0x2]\n" + " ldrh r0, [r4, #0x2]\n" + " bl DebugMenu_80782EC\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4]\n" + " b ._375\n" + "._368:\n" + " .align 2, 0\n" + "._367:\n" + " .word 0x4024\n" + "._362:\n" + " ldr r3, ._371\n" + " ldrh r1, [r3, #0x2e]\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._369 @cond_branch\n" + " mov r0, #0x49\n" + " bl PlaySE\n" + " ldr r0, ._371 + 4\n" + " bl GetVarPointer\n" + " ldrh r1, [r4, #0x2]\n" + " strh r1, [r0]\n" + " b ._370\n" + "._372:\n" + " .align 2, 0\n" + "._371:\n" + " .word gMain\n" + " .word 0x4024\n" + "._369:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._373 @cond_branch\n" + "._370:\n" + " bl MenuZeroFillScreen\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + " bl ScriptContext2_Disable\n" + " b ._375\n" + "._373:\n" + " add r0, r4, #2\n" + " ldr r2, ._376\n" + " ldrh r3, [r3, #0x30]\n" + " mov r1, #0x0\n" + " bl DebugMenu_8077DD8\n" + " cmp r0, #0x1\n" + " bne ._375 @cond_branch\n" + " ldrh r0, [r4, #0x2]\n" + " bl DebugMenu_80782EC\n" + "._375:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._377:\n" + " .align 2, 0\n" + "._376:\n" + " .word 0xffff\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_MiragaIslandRND() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._378\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._379:\n" + " .align 2, 0\n" + "._378:\n" + " .word DebugMenu_8078310+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80783C8() +{ + asm( + " push {r4, lr}\n" + " ldr r0, ._383\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x30\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._382 @cond_branch\n" + " mov r0, #0x5\n" + " bl PlaySE\n" + " ldr r4, ._383 + 4\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._381 @cond_branch\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " mov r0, #0x0\n" + " bl DebugMenu_807786C\n" + " b ._382\n" + "._384:\n" + " .align 2, 0\n" + "._383:\n" + " .word gMain\n" + " .word 0x804\n" + "._381:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + " mov r0, #0x1\n" + " bl DebugMenu_807786C\n" + "._382:\n" + " ldr r0, ._388\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._385 @cond_branch\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._386 @cond_branch\n" + "._385:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._387\n" + "._389:\n" + " .align 2, 0\n" + "._388:\n" + " .word gMain\n" + "._386:\n" + " mov r0, #0x0\n" + "._387:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_ToggleClearFlag() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._390\n" + " bl FlagGet\n" + " mov r1, #0x1\n" + " eor r0, r0, r1\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl DebugMenu_807786C\n" + " ldr r1, ._390 + 4\n" + " ldr r0, ._390 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._391:\n" + " .align 2, 0\n" + "._390:\n" + " .word 0x804\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_80783C8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078464() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._396\n" + " add r0, r4, #0\n" + " bl FlagGet\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl DebugMenu_8077E40\n" + " add r1, r0, #0\n" + " cmp r1, #0\n" + " beq ._392 @cond_branch\n" + " cmp r1, #0\n" + " bgt ._393 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._394 @cond_branch\n" + " b ._401\n" + "._397:\n" + " .align 2, 0\n" + "._396:\n" + " .word 0x82a\n" + "._393:\n" + " cmp r1, #0x1\n" + " beq ._398 @cond_branch\n" + " b ._401\n" + "._392:\n" + " add r0, r4, #0\n" + " bl FlagReset\n" + " b ._401\n" + "._398:\n" + " add r0, r4, #0\n" + " bl FlagSet\n" + " b ._401\n" + "._394:\n" + " mov r0, #0x1\n" + " b ._402\n" + "._401:\n" + " mov r0, #0x0\n" + "._402:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenWeatherEvents() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._404\n" + " bl FlagGet\n" + " mov r1, #0x0\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._403 @cond_branch\n" + " mov r1, #0x1\n" + "._403:\n" + " add r0, r1, #0\n" + " bl DebugMenu_807786C\n" + " ldr r1, ._404 + 4\n" + " ldr r0, ._404 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._405:\n" + " .align 2, 0\n" + "._404:\n" + " .word 0x82a\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8078464+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80784E8() +{ + asm( + " push {lr}\n" + " bl IsMysteryGiftEnabled\n" + " bl DebugMenu_8077E40\n" + " add r1, r0, #0\n" + " cmp r1, #0\n" + " beq ._406 @cond_branch\n" + " cmp r1, #0\n" + " bgt ._407 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._408 @cond_branch\n" + " b ._413\n" + "._407:\n" + " cmp r1, #0x1\n" + " beq ._410 @cond_branch\n" + " b ._413\n" + "._406:\n" + " bl DisableMysteryGift\n" + " b ._413\n" + "._410:\n" + " bl EnableMysteryGift\n" + " b ._413\n" + "._408:\n" + " mov r0, #0x1\n" + " b ._414\n" + "._413:\n" + " mov r0, #0x0\n" + "._414:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenMysteryEvent() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " bl IsMysteryGiftEnabled\n" + " mov r1, #0x0\n" + " cmp r0, #0\n" + " bne ._415 @cond_branch\n" + " mov r1, #0x1\n" + "._415:\n" + " add r0, r1, #0\n" + " bl DebugMenu_807786C\n" + " ldr r1, ._416\n" + " ldr r0, ._416 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._417:\n" + " .align 2, 0\n" + "._416:\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_80784E8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078550() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " lsl r0, r0, #0x10\n" + " lsr r6, r0, #0x10\n" + " lsl r0, r6, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl GetGameStat\n" + " add r7, r0, #0\n" + " ldr r0, ._420\n" + " add r1, r6, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " ldr r0, ._420 + 4\n" + " ldr r5, ._420 + 8\n" + " lsl r4, r6, #0x3\n" + " add r1, r5, #4\n" + " add r1, r4, r1\n" + " ldr r1, [r1]\n" + " bl StringCopy\n" + " add r4, r4, r5\n" + " ldr r0, [r4]\n" + " cmp r0, #0\n" + " bne ._418 @cond_branch\n" + " ldr r0, ._420 + 12\n" + " ldr r1, ._420 + 16\n" + " bl StringCopy\n" + " b ._423\n" + "._421:\n" + " .align 2, 0\n" + "._420:\n" + " .word gStringVar1\n" + " .word gStringVar2\n" + " .word gDebug0x839C008+0x264\n" + " .word gStringVar3\n" + " .word gDebug0x839C008+0x7d\n" + "._418:\n" + " cmp r6, #0x1\n" + " beq ._422 @cond_branch\n" + " ldr r0, ._424\n" + " add r1, r7, #0\n" + " mov r2, #0x1\n" + " mov r3, #0xa\n" + " bl ConvertIntToDecimalStringN\n" + " b ._423\n" + "._425:\n" + " .align 2, 0\n" + "._424:\n" + " .word gStringVar3\n" + "._422:\n" + " ldr r4, ._426\n" + " lsr r1, r7, #0x10\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " mov r6, #0xf0\n" + " strb r6, [r4, #0x3]\n" + " add r0, r4, #4\n" + " lsr r1, r7, #0x8\n" + " mov r5, #0xff\n" + " and r1, r1, r5\n" + " mov r2, #0x2\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " strb r6, [r4, #0x6]\n" + " add r4, r4, #0x7\n" + " and r7, r7, r5\n" + " add r0, r4, #0\n" + " add r1, r7, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + "._423:\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._426 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._427:\n" + " .align 2, 0\n" + "._426:\n" + " .word gStringVar3\n" + " .word gDebug0x839C008+0x74\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807860C() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._432\n" + " add r4, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0x1\n" + " beq ._428 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._429 @cond_branch\n" + " cmp r0, #0\n" + " beq ._430 @cond_branch\n" + " b ._447\n" + "._433:\n" + " .align 2, 0\n" + "._432:\n" + " .word gTasks+0x8\n" + "._429:\n" + " cmp r0, #0x2\n" + " beq ._434 @cond_branch\n" + " b ._447\n" + "._430:\n" + " ldrh r0, [r4, #0x2]\n" + " bl DebugMenu_8078550\n" + "._441:\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4]\n" + " b ._447\n" + "._428:\n" + " ldr r3, ._439\n" + " ldrh r1, [r3, #0x2e]\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._437 @cond_branch\n" + " ldrh r0, [r4]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r4]\n" + " mov r0, #0x1\n" + " b ._438\n" + "._440:\n" + " .align 2, 0\n" + "._439:\n" + " .word gMain\n" + "._437:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " lsl r0, r0, #0x10\n" + " lsr r2, r0, #0x10\n" + " cmp r2, #0\n" + " bne ._441 @cond_branch\n" + " ldrh r1, [r3, #0x30]\n" + " mov r0, #0x40\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._442 @cond_branch\n" + " ldrh r0, [r4, #0x2]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4, #0x2]\n" + " lsl r0, r0, #0x10\n" + " asr r0, r0, #0x10\n" + " cmp r0, #0x32\n" + " bne ._446 @cond_branch\n" + " strh r2, [r4, #0x2]\n" + " b ._446\n" + "._442:\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._447 @cond_branch\n" + " ldrh r0, [r4, #0x2]\n" + " sub r0, r0, #0x1\n" + " strh r0, [r4, #0x2]\n" + " lsl r0, r0, #0x10\n" + " cmp r0, #0\n" + " bge ._446 @cond_branch\n" + " mov r0, #0x31\n" + " strh r0, [r4, #0x2]\n" + "._446:\n" + " ldrh r0, [r4, #0x2]\n" + " bl DebugMenu_8078550\n" + " b ._447\n" + "._434:\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + "._447:\n" + " mov r0, #0x0\n" + "._438:\n" + " pop {r4, r5}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80786C0() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " bl DebugMenu_807860C\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80786D0() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " add r0, r4, #0\n" + " bl DebugMenu_807860C\n" + " cmp r0, #0\n" + " beq ._449 @cond_branch\n" + " ldr r1, ._450\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldrb r2, [r0, #0xa]\n" + " ldr r1, ._450 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._449 @cond_branch\n" + " sub r1, r0, #1\n" + " add r0, r2, #0\n" + " bl SetGameStat\n" + " mov r0, #0x15\n" + " bl PlaySE\n" + "._449:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._451:\n" + " .align 2, 0\n" + "._450:\n" + " .word gTasks\n" + " .word gDebug0x839C008+0x264\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078714() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " add r0, r4, #0\n" + " bl DebugMenu_807860C\n" + " cmp r0, #0\n" + " beq ._453 @cond_branch\n" + " ldr r1, ._454\n" + " lsl r0, r4, #0x2\n" + " add r0, r0, r4\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldrb r2, [r0, #0xa]\n" + " ldr r1, ._454 + 4\n" + " lsl r0, r2, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " beq ._453 @cond_branch\n" + " add r0, r2, #0\n" + " mov r1, #0x0\n" + " bl SetGameStat\n" + " mov r0, #0x15\n" + " bl PlaySE\n" + "._453:\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._455:\n" + " .align 2, 0\n" + "._454:\n" + " .word gTasks\n" + " .word gDebug0x839C008+0x264\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078758() +{ + asm( + " push {r4, lr}\n" + " add r4, r0, #0\n" + " bl CloseMenu\n" + " bl ScriptContext2_Enable\n" + " add r0, r4, #0\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " mov r0, #0x1\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078774() +{ + asm( + " push {lr}\n" + " ldr r0, ._456\n" + " bl DebugMenu_8078758\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._457:\n" + " .align 2, 0\n" + "._456:\n" + " .word DebugMenu_80786C0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078788() +{ + asm( + " push {lr}\n" + " ldr r0, ._458\n" + " bl DebugMenu_8078758\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._459:\n" + " .align 2, 0\n" + "._458:\n" + " .word DebugMenu_80786D0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_807879C() +{ + asm( + " push {lr}\n" + " ldr r0, ._460\n" + " bl DebugMenu_8078758\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._461:\n" + " .align 2, 0\n" + "._460:\n" + " .word DebugMenu_8078714+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80787B0() +{ + asm( + " push {lr}\n" + " ldr r0, ._462\n" + " bl DebugMenu_8077D78\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._463:\n" + " .align 2, 0\n" + "._462:\n" + " .word gDebug0x839C008+0x3f4\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenLegendsRecord() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._464\n" + " mov r1, #0xc\n" + " mov r2, #0x3\n" + " bl DebugMenu_8077D24\n" + " ldr r1, ._464 + 4\n" + " ldr r0, ._464 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._465:\n" + " .align 2, 0\n" + "._464:\n" + " .word gDebug0x839C008+0x3f4\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_80787B0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80787EC() +{ + asm( + " push {r4, r5, lr}\n" + " add sp, sp, #0xfffffffc\n" + " mov r5, sp\n" + " add r5, r5, #0x2\n" + " mov r0, sp\n" + " add r1, r5, #0\n" + " bl GetXYCoordsOneStepInFrontOfPlayer\n" + " ldr r4, ._466\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " mov r2, #0x0\n" + " ldsh r1, [r5, r2]\n" + " bl MapGridGetMetatileBehaviorAt\n" + " strh r0, [r4]\n" + " ldr r0, ._466 + 4\n" + " ldrh r1, [r4]\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToHexStringN\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " mov r2, #0x0\n" + " ldsh r1, [r5, r2]\n" + " bl MapGridGetMetatileIdAt\n" + " strh r0, [r4]\n" + " ldr r0, ._466 + 8\n" + " ldrh r1, [r4]\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToHexStringN\n" + " mov r0, sp\n" + " mov r1, #0x0\n" + " ldsh r0, [r0, r1]\n" + " mov r2, #0x0\n" + " ldsh r1, [r5, r2]\n" + " bl MapGridGetZCoordAt\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " strh r0, [r4]\n" + " ldr r0, ._466 + 12\n" + " ldrh r1, [r4]\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToHexStringN\n" + " ldr r0, ._466 + 16\n" + " ldr r1, ._466 + 20\n" + " bl StringExpandPlaceholders\n" + " add sp, sp, #0x4\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._467:\n" + " .align 2, 0\n" + "._466:\n" + " .word gScriptResult\n" + " .word gStringVar1\n" + " .word gStringVar2\n" + " .word gStringVar3\n" + " .word gStringVar4\n" + " .word gDebug0x839C008+0x40c\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078880() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._472\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r4, r0, r1\n" + " mov r1, #0x8\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0x1\n" + " beq ._468 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._469 @cond_branch\n" + " cmp r0, #0\n" + " beq ._470 @cond_branch\n" + " b ._480\n" + "._473:\n" + " .align 2, 0\n" + "._472:\n" + " .word gTasks\n" + "._469:\n" + " cmp r0, #0x2\n" + " beq ._474 @cond_branch\n" + " b ._480\n" + "._470:\n" + " bl MenuDisplayMessageBox\n" + " b ._476\n" + "._468:\n" + " ldr r0, ._478\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + "._476:\n" + " ldrh r0, [r4, #0x8]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4, #0x8]\n" + " b ._480\n" + "._479:\n" + " .align 2, 0\n" + "._478:\n" + " .word gStringVar4\n" + "._474:\n" + " ldr r0, ._481\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._480 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + "._480:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._482:\n" + " .align 2, 0\n" + "._481:\n" + " .word gMain\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_CellInfo() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._483\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl DebugMenu_80787EC\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._484:\n" + " .align 2, 0\n" + "._483:\n" + " .word DebugMenu_8078880+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenBerryInfo() +{ + asm( + " push {r4, lr}\n" + " bl DebugOpenBerryInfo\n" + " add r4, r0, #0\n" + " cmp r4, #0\n" + " bne ._485 @cond_branch\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + " b ._486\n" + "._485:\n" + " mov r0, #0x0\n" + " mov r1, #0x0\n" + " mov r2, #0x13\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " add r0, r4, #0\n" + " mov r1, #0x1\n" + " mov r2, #0x1\n" + " bl MenuPrint\n" + " ldr r1, ._487\n" + " ldr r0, ._487 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + "._486:\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._488:\n" + " .align 2, 0\n" + "._487:\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8077DB4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078950() +{ + asm( + " push {lr}\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._489\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " pop {r0}\n" + " bx r0\n" + "._490:\n" + " .align 2, 0\n" + "._489:\n" + " .word gDebug0x839C008+0x426\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078968() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x10\n" + " cmp r0, #0\n" + " bne ._491 @cond_branch\n" + " ldr r0, ._493\n" + " mov r1, #0x32\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " b ._492\n" + "._494:\n" + " .align 2, 0\n" + "._493:\n" + " .word gStringVar1\n" + "._491:\n" + " ldr r0, ._495\n" + " mov r1, #0x64\n" + " mov r2, #0x2\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + "._492:\n" + " ldr r0, ._495\n" + " mov r1, #0x4\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " pop {r0}\n" + " bx r0\n" + "._496:\n" + " .align 2, 0\n" + "._495:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80789A4() +{ + asm( + " push {r4, lr}\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " ldr r4, ._497\n" + " add r0, r4, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x4\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x9\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._498:\n" + " .align 2, 0\n" + "._497:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_80789CC() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r4, r0, #0x2\n" + " add r4, r4, r0\n" + " lsl r4, r4, #0x3\n" + " ldr r6, ._499\n" + " add r5, r4, r6\n" + " mov r0, #0x0\n" + " strh r0, [r5]\n" + " ldr r0, ._499 + 4\n" + " ldr r1, ._499 + 8\n" + " add r0, r0, r1\n" + " ldrh r0, [r0]\n" + " strh r0, [r5, #0x2]\n" + " bl DebugMenu_8078950\n" + " ldrh r0, [r5]\n" + " bl DebugMenu_8078968\n" + " sub r6, r6, #0x8\n" + " add r4, r4, r6\n" + " ldr r0, ._499 + 12\n" + " str r0, [r4]\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._500:\n" + " .align 2, 0\n" + "._499:\n" + " .word gTasks+0x8\n" + " .word gSaveBlock2\n" + " .word 0x55c\n" + " .word DebugMenu_8078A14+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078A14() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r4, r1, #0x3\n" + " ldr r5, ._504\n" + " add r2, r4, r5\n" + " ldr r0, ._504 + 4\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0xc0\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._501 @cond_branch\n" + " mov r1, #0x0\n" + " mov r3, #0x0\n" + " ldsh r0, [r2, r3]\n" + " cmp r0, #0\n" + " bne ._502 @cond_branch\n" + " mov r1, #0x1\n" + "._502:\n" + " strh r1, [r2]\n" + " ldrh r0, [r2]\n" + " bl DebugMenu_8078968\n" + " b ._510\n" + "._505:\n" + " .align 2, 0\n" + "._504:\n" + " .word gTasks+0x8\n" + " .word gMain\n" + "._501:\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._506 @cond_branch\n" + " ldr r1, ._508\n" + " mov r3, #0x0\n" + " ldsh r0, [r2, r3]\n" + " lsl r0, r0, #0x1\n" + " ldr r3, ._508 + 4\n" + " add r1, r1, r3\n" + " add r0, r0, r1\n" + " ldrh r0, [r0]\n" + " strh r0, [r2, #0x2]\n" + " ldrh r0, [r2, #0x2]\n" + " bl DebugMenu_80789A4\n" + " add r0, r5, #0\n" + " sub r0, r0, #0x8\n" + " add r0, r4, r0\n" + " ldr r1, ._508 + 8\n" + " b ._507\n" + "._509:\n" + " .align 2, 0\n" + "._508:\n" + " .word gSaveBlock2\n" + " .word 0x55c\n" + " .word DebugMenu_8078AA4+1\n" + "._506:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._510 @cond_branch\n" + " add r0, r5, #0\n" + " sub r0, r0, #0x8\n" + " add r0, r4, r0\n" + " ldr r1, ._511\n" + "._507:\n" + " str r1, [r0]\n" + "._510:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._512:\n" + " .align 2, 0\n" + "._511:\n" + " .word DebugMenu_8078B38+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078AA4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r5, r1, #0x3\n" + " ldr r7, ._515\n" + " add r4, r5, r7\n" + " add r0, r4, #2\n" + " mov r2, #0xfa\n" + " lsl r2, r2, #0x3\n" + " ldr r6, ._515 + 4\n" + " ldrh r3, [r6, #0x30]\n" + " mov r1, #0x0\n" + " bl DebugMenu_8077DD8\n" + " cmp r0, #0x1\n" + " bne ._513 @cond_branch\n" + " ldrh r0, [r4, #0x2]\n" + " bl DebugMenu_80789A4\n" + " b ._521\n" + "._516:\n" + " .align 2, 0\n" + "._515:\n" + " .word gTasks+0x8\n" + " .word gMain\n" + "._513:\n" + " ldrh r1, [r6, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._517 @cond_branch\n" + " ldr r1, ._519\n" + " mov r2, #0x0\n" + " ldsh r0, [r4, r2]\n" + " lsl r0, r0, #0x1\n" + " ldr r2, ._519 + 4\n" + " add r1, r1, r2\n" + " add r0, r0, r1\n" + " ldrh r1, [r4, #0x2]\n" + " strh r1, [r0]\n" + " mov r0, #0x49\n" + " bl PlaySE\n" + " add r0, r7, #0\n" + " sub r0, r0, #0x8\n" + " add r0, r5, r0\n" + " ldr r1, ._519 + 8\n" + " b ._518\n" + "._520:\n" + " .align 2, 0\n" + "._519:\n" + " .word gSaveBlock2\n" + " .word 0x55c\n" + " .word DebugMenu_8078B38+1\n" + "._517:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._521 @cond_branch\n" + " bl DebugMenu_8078950\n" + " ldrh r0, [r4]\n" + " bl DebugMenu_8078968\n" + " add r0, r7, #0\n" + " sub r0, r0, #0x8\n" + " add r0, r5, r0\n" + " ldr r1, ._522\n" + "._518:\n" + " str r1, [r0]\n" + "._521:\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "._523:\n" + " .align 2, 0\n" + "._522:\n" + " .word DebugMenu_8078A14+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078B38() +{ + asm( + " push {r4, lr}\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_BattleTowerStages() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " bl ScriptContext2_Enable\n" + " ldr r0, ._524\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._525:\n" + " .align 2, 0\n" + "._524:\n" + " .word DebugMenu_80789CC+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078B70() +{ + asm( + " push {lr}\n" + " add r1, r0, #0\n" + " lsl r1, r1, #0x10\n" + " lsr r1, r1, #0x10\n" + " ldr r0, ._526\n" + " mov r2, #0x0\n" + " mov r3, #0x1\n" + " bl ConvertIntToHexStringN\n" + " ldr r0, ._526 + 4\n" + " bl sub_8071F40\n" + " pop {r0}\n" + " bx r0\n" + "._527:\n" + " .align 2, 0\n" + "._526:\n" + " .word gStringVar1\n" + " .word gDebug0x839C008+0x430\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078B94() +{ + asm( + " push {r4, r5, lr}\n" + " mov r3, #0x0\n" + " ldr r1, ._531\n" + " ldrb r0, [r1]\n" + " cmp r0, #0\n" + " beq ._529 @cond_branch\n" + " ldr r5, ._531 + 4\n" + " add r4, r1, #0\n" + "._530:\n" + " lsl r0, r3, #0x3\n" + " add r2, r0, r5\n" + " add r0, r0, r4\n" + " ldr r1, [r0, #0x4]\n" + " ldr r0, [r0]\n" + " str r0, [r2]\n" + " str r1, [r2, #0x4]\n" + " add r0, r3, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r3, r0, #0x18\n" + " cmp r3, #0x27\n" + " bhi ._529 @cond_branch\n" + " lsl r0, r3, #0x3\n" + " add r0, r0, r4\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._530 @cond_branch\n" + "._529:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._532:\n" + " .align 2, 0\n" + "._531:\n" + " .word gDebug0x839C008+0x43c\n" + " .word gSaveBlock1+0x7f8\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078BD4() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " ldr r1, ._536\n" + " add r4, r0, r1\n" + " mov r1, #0x0\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0\n" + " beq ._533 @cond_branch\n" + " cmp r0, #0x1\n" + " beq ._534 @cond_branch\n" + " b ._545\n" + "._537:\n" + " .align 2, 0\n" + "._536:\n" + " .word gTasks+0x8\n" + "._533:\n" + " ldrh r0, [r4, #0x2]\n" + " bl DebugMenu_8078B70\n" + " ldrh r0, [r4]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4]\n" + " b ._545\n" + "._534:\n" + " ldr r2, ._541\n" + " ldrh r1, [r2, #0x2e]\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._539 @cond_branch\n" + " mov r0, #0x49\n" + " bl PlaySE\n" + " bl MenuZeroFillScreen\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + " bl ScriptContext2_Disable\n" + " bl DebugMenu_8078B94\n" + " b ._545\n" + "._542:\n" + " .align 2, 0\n" + "._541:\n" + " .word gMain\n" + "._539:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._543 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + " bl ScriptContext2_Disable\n" + " b ._545\n" + "._543:\n" + " add r0, r4, #2\n" + " ldrh r3, [r2, #0x30]\n" + " mov r1, #0x0\n" + " mov r2, #0x4\n" + " bl DebugMenu_8077DD8\n" + " cmp r0, #0x1\n" + " bne ._545 @cond_branch\n" + " ldrh r0, [r4, #0x2]\n" + " bl DebugMenu_8078B70\n" + "._545:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_CheckPKBLCK() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._546\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._547:\n" + " .align 2, 0\n" + "._546:\n" + " .word DebugMenu_8078BD4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078C80() +{ + asm( + " push {lr}\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._548\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r1, ._548 + 4\n" + " ldr r0, ._548 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._549:\n" + " .align 2, 0\n" + "._548:\n" + " .word gDebug0x839C574+0x30\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8078CA8+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078CA8() +{ + asm( + " push {lr}\n" + " ldr r0, ._552\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._550 @cond_branch\n" + " ldr r1, ._552 + 4\n" + " ldr r0, ._552 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " b ._555\n" + "._553:\n" + " .align 2, 0\n" + "._552:\n" + " .word gMain\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8078CE4+1\n" + "._550:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._554 @cond_branch\n" + " mov r0, #0x0\n" + " b ._555\n" + "._554:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._555:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078CE4() +{ + asm( + " push {lr}\n" + " ldr r1, ._558\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0xa\n" + " mov r0, #0x0\n" + " bl DebugMenu_8078E40\n" + " cmp r0, #0x1\n" + " bne ._556 @cond_branch\n" + " ldr r0, ._558 + 4\n" + " ldr r1, ._558 + 8\n" + " bl StringCopy\n" + " b ._557\n" + "._559:\n" + " .align 2, 0\n" + "._558:\n" + " .word +0x2000000\n" + " .word gStringVar4\n" + " .word gDebug0x839C574+0x58\n" + "._556:\n" + " ldr r0, ._560\n" + " ldr r1, ._560 + 4\n" + " bl StringCopy\n" + "._557:\n" + " ldr r1, ._560 + 8\n" + " ldr r0, ._560 + 12\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._561:\n" + " .align 2, 0\n" + "._560:\n" + " .word gStringVar4\n" + " .word gDebug0x839C574+0x6b\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8078D7C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078D30() +{ + asm( + " push {r4, r5, r6, lr}\n" + " ldr r5, ._563\n" + " mov r4, #0x0\n" + " mov r6, #0x80\n" + " lsl r6, r6, #0x5\n" + "._562:\n" + " add r0, r4, #0\n" + " add r1, r5, #0\n" + " add r2, r6, #0\n" + " bl DebugMenu_8078E68\n" + " add r5, r5, r6\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0x1f\n" + " bls ._562 @cond_branch\n" + " ldr r0, ._563 + 4\n" + " ldr r1, ._563 + 8\n" + " bl StringCopy\n" + " ldr r1, ._563 + 12\n" + " ldr r0, ._563 + 16\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._564:\n" + " .align 2, 0\n" + "._563:\n" + " .word +0x2000000\n" + " .word gStringVar4\n" + " .word gDebug0x839C574+0x62\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8078D7C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078D7C() +{ + asm( + " push {lr}\n" + " bl MenuDisplayMessageBox\n" + " ldr r0, ._565\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r1, ._565 + 4\n" + " ldr r0, ._565 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._566:\n" + " .align 2, 0\n" + "._565:\n" + " .word gStringVar4\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8078DA4+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078DA4() +{ + asm( + " push {lr}\n" + " ldr r0, ._569\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._567 @cond_branch\n" + " mov r0, #0x0\n" + " b ._568\n" + "._570:\n" + " .align 2, 0\n" + "._569:\n" + " .word gMain\n" + "._567:\n" + " bl CloseMenu\n" + " mov r0, #0x1\n" + "._568:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_MeTooBackupMan() +{ + asm( + " push {lr}\n" + " bl MenuZeroFillScreen\n" + " ldr r0, ._571\n" + " mov r1, #0xc\n" + " mov r2, #0x2\n" + " bl DebugMenu_8077D24\n" + " ldr r1, ._571 + 4\n" + " ldr r0, ._571 + 8\n" + " str r0, [r1]\n" + " mov r0, #0x0\n" + " pop {r1}\n" + " bx r1\n" + "._572:\n" + " .align 2, 0\n" + "._571:\n" + " .word gDebug0x839C574+0x20\n" + " .word gCallback_03004AE8\n" + " .word DebugMenu_8078DF0+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078DF0() +{ + asm( + " push {lr}\n" + " ldr r0, ._573\n" + " bl DebugMenu_8077D78\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " pop {r1}\n" + " bx r1\n" + "._574:\n" + " .align 2, 0\n" + "._573:\n" + " .word gDebug0x839C574+0x20\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078E04() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r1, #0\n" + " add r5, r2, #0\n" + " b ._575\n" + "._577:\n" + " ldr r0, ._579\n" + " add r5, r5, r0\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x5\n" + " add r6, r6, r0\n" + " add r0, r4, #1\n" + "._575:\n" + " lsl r0, r0, #0x10\n" + " lsr r4, r0, #0x10\n" + " add r0, r4, #0\n" + " add r1, r6, #0\n" + " bl gScriptFuncs_End+0x2f60\n" + " cmp r0, #0\n" + " bne ._576 @cond_branch\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x5\n" + " cmp r5, r0\n" + " bhi ._577 @cond_branch\n" + " mov r0, #0x1\n" + " b ._578\n" + "._580:\n" + " .align 2, 0\n" + "._579:\n" + " .word 0xfffff000\n" + "._576:\n" + " mov r0, #0x0\n" + "._578:\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078E40() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r4, r0, #0\n" + " add r5, r1, #0\n" + " add r6, r2, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl gScriptFuncs_End+0x19f4\n" + " add r0, r4, #0\n" + " add r1, r5, #0\n" + " add r2, r6, #0\n" + " bl DebugMenu_8078E04\n" + " add r4, r0, #0\n" + " bl gScriptFuncs_End+0x1a70\n" + " add r0, r4, #0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078E68() +{ + asm( + " push {r4, lr}\n" + " add r4, r1, #0\n" + " add r3, r2, #0\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r1, #0x0\n" + " add r2, r4, #0\n" + " bl gScriptFuncs_End+0x2d64\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078E80() +{ + asm( + " push {r4, lr}\n" + " add r4, r0, #0\n" + " mov r0, #0x2\n" + " mov r1, #0xf\n" + " mov r2, #0x16\n" + " mov r3, #0x10\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r1, ._581\n" + " mov r2, #0x0\n" + " ldsh r0, [r4, r2]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldrb r1, [r0, #0x4]\n" + " mov r0, #0xd0\n" + " mov r2, #0xf\n" + " bl sub_8071F60\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._582:\n" + " .align 2, 0\n" + "._581:\n" + " .word gDebug0x839C574+0x80\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078EB0() +{ + asm( + " push {r4, r5, lr}\n" + " add r5, r0, #0\n" + " ldr r4, ._583\n" + " mov r0, #0x2\n" + " ldsh r1, [r5, r0]\n" + " add r0, r4, #0\n" + " mov r2, #0x1\n" + " mov r3, #0x3\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " mov r0, #0xf0\n" + " mov r1, #0x5\n" + " mov r2, #0x11\n" + " bl sub_8071F60\n" + " mov r0, #0x4\n" + " ldsh r1, [r5, r0]\n" + " add r0, r4, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x6\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " mov r0, #0xf0\n" + " mov r1, #0x8\n" + " mov r2, #0x11\n" + " bl sub_8071F60\n" + " mov r0, #0x6\n" + " ldsh r1, [r5, r0]\n" + " add r0, r4, #0\n" + " mov r2, #0x2\n" + " mov r3, #0x2\n" + " bl ConvertIntToDecimalStringN\n" + " add r0, r4, #0\n" + " mov r1, #0x9\n" + " mov r2, #0x11\n" + " bl MenuPrint\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._584:\n" + " .align 2, 0\n" + "._583:\n" + " .word gStringVar1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078F1C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r4, r0, #0x2\n" + " add r4, r4, r0\n" + " lsl r4, r4, #0x3\n" + " ldr r6, ._585\n" + " add r5, r4, r6\n" + " mov r0, #0x0\n" + " strh r0, [r5]\n" + " ldr r1, ._585 + 4\n" + " ldrh r0, [r1, #0xe]\n" + " strh r0, [r5, #0x2]\n" + " ldrb r0, [r1, #0x10]\n" + " strh r0, [r5, #0x4]\n" + " ldrb r0, [r1, #0x11]\n" + " strh r0, [r5, #0x6]\n" + " bl MenuDisplayMessageBox\n" + " add r0, r5, #0\n" + " bl DebugMenu_8078EB0\n" + " add r0, r5, #0\n" + " bl DebugMenu_8078E80\n" + " sub r6, r6, #0x8\n" + " add r4, r4, r6\n" + " ldr r0, ._585 + 8\n" + " str r0, [r4]\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._586:\n" + " .align 2, 0\n" + "._585:\n" + " .word gTasks+0x8\n" + " .word gSaveBlock2\n" + " .word DebugMenu_8078F68+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8078F68() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " lsl r1, r0, #0x2\n" + " add r1, r1, r0\n" + " lsl r5, r1, #0x3\n" + " ldr r6, ._589\n" + " add r4, r5, r6\n" + " ldr r3, ._589 + 4\n" + " ldrh r1, [r3, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._587 @cond_branch\n" + " ldr r1, ._589 + 8\n" + " ldrh r0, [r4, #0x2]\n" + " strh r0, [r1, #0xe]\n" + " ldrh r0, [r4, #0x4]\n" + " strb r0, [r1, #0x10]\n" + " ldrh r0, [r4, #0x6]\n" + " strb r0, [r1, #0x11]\n" + " mov r0, #0x49\n" + " bl PlaySE\n" + " b ._588\n" + "._590:\n" + " .align 2, 0\n" + "._589:\n" + " .word gTasks+0x8\n" + " .word gMain\n" + " .word gSaveBlock2\n" + "._587:\n" + " mov r0, #0x2\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._591 @cond_branch\n" + "._588:\n" + " add r0, r6, #0\n" + " sub r0, r0, #0x8\n" + " add r0, r5, r0\n" + " ldr r1, ._593\n" + " str r1, [r0]\n" + " b ._601\n" + "._594:\n" + " .align 2, 0\n" + "._593:\n" + " .word DebugMenu_8079020+1\n" + "._591:\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._595 @cond_branch\n" + " ldrh r1, [r4]\n" + " mov r2, #0x0\n" + " ldsh r0, [r4, r2]\n" + " cmp r0, #0\n" + " beq ._601 @cond_branch\n" + " sub r0, r1, #1\n" + " b ._597\n" + "._595:\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._598 @cond_branch\n" + " ldrh r0, [r4]\n" + " cmp r0, #0x1\n" + " bhi ._601 @cond_branch\n" + " add r0, r0, #0x1\n" + "._597:\n" + " strh r0, [r4]\n" + " add r0, r4, #0\n" + " bl DebugMenu_8078E80\n" + " b ._601\n" + "._598:\n" + " mov r0, #0x0\n" + " ldsh r2, [r4, r0]\n" + " lsl r2, r2, #0x3\n" + " ldr r0, ._602\n" + " add r2, r2, r0\n" + " ldrb r0, [r2, #0x5]\n" + " lsl r0, r0, #0x1\n" + " add r0, r4, r0\n" + " ldrh r1, [r2]\n" + " ldrh r2, [r2, #0x2]\n" + " ldrh r3, [r3, #0x30]\n" + " bl DebugMenu_8077DD8\n" + " cmp r0, #0x1\n" + " bne ._601 @cond_branch\n" + " add r0, r4, #0\n" + " bl DebugMenu_8078EB0\n" + "._601:\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._603:\n" + " .align 2, 0\n" + "._602:\n" + " .word gDebug0x839C574+0x80\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8079020() +{ + asm( + " push {r4, lr}\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x18\n" + " lsr r4, r4, #0x18\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r4, #0\n" + " bl DestroyTask\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_PTime() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._604\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._605:\n" + " .align 2, 0\n" + "._604:\n" + " .word DebugMenu_8078F1C+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8079058() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._610\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r4, r0, r1\n" + " mov r0, #0x8\n" + " ldsh r1, [r4, r0]\n" + " cmp r1, #0x1\n" + " beq ._606 @cond_branch\n" + " cmp r1, #0x1\n" + " bgt ._607 @cond_branch\n" + " cmp r1, #0\n" + " beq ._608 @cond_branch\n" + " b ._620\n" + "._611:\n" + " .align 2, 0\n" + "._610:\n" + " .word gTasks\n" + "._607:\n" + " cmp r1, #0x2\n" + " beq ._612 @cond_branch\n" + " b ._620\n" + "._608:\n" + " ldr r0, ._615\n" + " str r1, [r0]\n" + " bl MenuDisplayMessageBox\n" + " b ._614\n" + "._616:\n" + " .align 2, 0\n" + "._615:\n" + " .word gUnknown_Debug_03004BD0\n" + "._606:\n" + " ldr r0, ._618\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " mov r0, #0x14\n" + " mov r1, #0x8\n" + " mov r2, #0x1\n" + " bl DisplayYesNoMenu\n" + "._614:\n" + " ldrh r0, [r4, #0x8]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4, #0x8]\n" + " b ._620\n" + "._619:\n" + " .align 2, 0\n" + "._618:\n" + " .word gDebug0x839C60C\n" + "._612:\n" + " bl ProcessMenuInputNoWrap_\n" + " lsl r0, r0, #0x18\n" + " asr r1, r0, #0x18\n" + " mov r0, #0x2\n" + " neg r0, r0\n" + " cmp r1, r0\n" + " beq ._620 @cond_branch\n" + " cmp r1, #0\n" + " bne ._621 @cond_branch\n" + " ldr r1, ._623\n" + " mov r0, #0x1\n" + " b ._622\n" + "._624:\n" + " .align 2, 0\n" + "._623:\n" + " .word gUnknown_Debug_03004BD0\n" + "._621:\n" + " ldr r1, ._625\n" + " mov r0, #0x0\n" + "._622:\n" + " str r0, [r1]\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + "._620:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._626:\n" + " .align 2, 0\n" + "._625:\n" + " .word gUnknown_Debug_03004BD0\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenMurakawa() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._627\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " mov r0, #0x1\n" + " pop {r1}\n" + " bx r1\n" + "._628:\n" + " .align 2, 0\n" + "._627:\n" + " .word DebugMenu_8079058+1\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_8079110() +{ + asm( + " push {r4, r5, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._633\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r4, r0, r1\n" + " mov r1, #0x8\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0x1\n" + " beq ._629 @cond_branch\n" + " cmp r0, #0x1\n" + " bgt ._630 @cond_branch\n" + " cmp r0, #0\n" + " beq ._631 @cond_branch\n" + " b ._642\n" + "._634:\n" + " .align 2, 0\n" + "._633:\n" + " .word gTasks\n" + "._630:\n" + " cmp r0, #0x2\n" + " beq ._635 @cond_branch\n" + " b ._642\n" + "._631:\n" + " bl MenuDisplayMessageBox\n" + " b ._637\n" + "._629:\n" + " ldr r0, ._639\n" + " mov r1, #0x2\n" + " mov r2, #0xf\n" + " bl MenuPrintMessage\n" + "._637:\n" + " ldrh r0, [r4, #0x8]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4, #0x8]\n" + " b ._642\n" + "._640:\n" + " .align 2, 0\n" + "._639:\n" + " .word gDebug0x839C60C+0xe\n" + "._635:\n" + " bl MenuUpdateWindowText\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._642 @cond_branch\n" + " ldr r0, ._643\n" + " ldrh r1, [r0, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._642 @cond_branch\n" + " bl MenuZeroFillScreen\n" + " bl ScriptContext2_Disable\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + "._642:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._644:\n" + " .align 2, 0\n" + "._643:\n" + " .word gMain\n" + "\n" + ); +} + +__attribute__((naked)) +void DebugMenu_OpenKiwa() +{ + asm( + " push {lr}\n" + " bl CloseMenu\n" + " ldr r0, ._645\n" + " mov r1, #0x50\n" + " bl CreateTask\n" + " bl ScriptContext2_Enable\n" + " pop {r1}\n" + " bx r1\n" + "._646:\n" + " .align 2, 0\n" + "._645:\n" + " .word DebugMenu_8079110+1\n" + "\n" + ); +} + diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c new file mode 100644 index 000000000..70e194907 --- /dev/null +++ b/src/debug/unk_debug_menu_3.c @@ -0,0 +1,797 @@ +__attribute__((naked)) +void debug_sub_813C404() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " ldr r5, ._1\n" + " ldr r4, ._1 + 4\n" + " sub r5, r5, r4\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " bl unref_sub_812620C\n" + " add r0, r5, #0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._2:\n" + " .align 2, 0\n" + "._1:\n" + " .word gOtherText_DataCannotUseVersion+0x30d\n" + " .word gOtherText_DataCannotUseVersion+0x3c\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C430() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " ldr r5, ._3\n" + " ldr r4, ._3 + 4\n" + " sub r5, r5, r4\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " bl unref_sub_812620C\n" + " add r0, r5, #0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word gOtherText_DataCannotUseVersion+0x95d\n" + " .word gOtherText_DataCannotUseVersion+0x93b\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C45C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " ldr r5, ._5\n" + " ldr r4, ._5 + 4\n" + " sub r5, r5, r4\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " bl unref_sub_812620C\n" + " add r0, r5, #0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._6:\n" + " .align 2, 0\n" + "._5:\n" + " .word gOtherText_DataCannotUseVersion+0x99e\n" + " .word gOtherText_DataCannotUseVersion+0x97d\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C488() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " ldr r5, ._7\n" + " ldr r4, ._7 + 4\n" + " sub r5, r5, r4\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " bl unref_sub_812620C\n" + " add r0, r5, #0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._8:\n" + " .align 2, 0\n" + "._7:\n" + " .word gOtherText_DataCannotUseVersion+0x97d\n" + " .word gOtherText_DataCannotUseVersion+0x95d\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C4B4() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._9\n" + " ldr r1, ._9 + 4\n" + " sub r4, r4, r1\n" + " add r2, r4, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r4, #0\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "._10:\n" + " .align 2, 0\n" + "._9:\n" + " .word gOtherText_DataCannotUseVersion+0xb74\n" + " .word gOtherText_DataCannotUseVersion+0xb61\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C4D4() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " ldr r5, ._11\n" + " ldr r4, ._11 + 4\n" + " sub r5, r5, r4\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " bl unref_sub_81261B4\n" + " add r0, r5, #0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._12:\n" + " .align 2, 0\n" + "._11:\n" + " .word gOtherText_DataCannotUseVersion+0xc6d\n" + " .word gOtherText_DataCannotUseVersion+0xb74\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C500() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add r6, r0, #0\n" + " ldr r5, ._13\n" + " ldr r4, ._13 + 4\n" + " sub r5, r5, r4\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r4, #0\n" + " bl unref_sub_812620C\n" + " add r0, r5, #0\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._14:\n" + " .align 2, 0\n" + "._13:\n" + " .word gOtherText_DataCannotUseVersion+0xcf2\n" + " .word gOtherText_DataCannotUseVersion+0xc6d\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C52C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r9\n" + " mov r5, r8\n" + " push {r5, r6}\n" + " mov r8, r0\n" + " lsl r5, r1, #0x10\n" + " lsr r0, r5, #0x10\n" + " mov r9, r0\n" + " ldr r6, ._15\n" + " ldr r4, ._15 + 4\n" + " sub r6, r6, r4\n" + " mov r0, r8\n" + " add r1, r4, #0\n" + " add r2, r6, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " ldr r0, ._15 + 8\n" + " sub r0, r0, r4\n" + " add r0, r0, r8\n" + " add r0, r0, #0x3\n" + " mov r1, r9\n" + " strb r1, [r0]\n" + " lsr r5, r5, #0x18\n" + " strb r5, [r0, #0x1]\n" + " mov r0, r8\n" + " add r1, r4, #0\n" + " bl unref_sub_812620C\n" + " add r0, r6, #0\n" + " pop {r3, r4}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._16:\n" + " .align 2, 0\n" + "._15:\n" + " .word gOtherText_DataCannotUseVersion+0xd16\n" + " .word gOtherText_DataCannotUseVersion+0xcf2\n" + " .word gOtherText_DataCannotUseVersion+0xd10\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C580() +{ + asm( + " push {lr}\n" + " mov r1, #0xd\n" + " bl debug_sub_813C52C\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C58C() +{ + asm( + " push {lr}\n" + " mov r1, #0x4\n" + " bl debug_sub_813C52C\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C598() +{ + asm( + " push {lr}\n" + " mov r1, #0x85\n" + " bl debug_sub_813C52C\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C5A4() +{ + asm( + " push {lr}\n" + " ldr r1, ._17\n" + " bl debug_sub_813C52C\n" + " pop {r1}\n" + " bx r1\n" + "._18:\n" + " .align 2, 0\n" + "._17:\n" + " .word 0x121\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C5B4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " add r4, r0, #0\n" + " ldr r7, ._23\n" + " ldr r0, ._23 + 4\n" + " ldr r1, ._23 + 8\n" + " sub r0, r0, r1\n" + " add r6, r0, r4\n" + " ldr r0, ._23 + 12\n" + " sub r5, r0, r1\n" + " ldr r0, ._23 + 16\n" + " mov r1, #0x0\n" + " mov r2, #0x0\n" + " bl GetEnigmaBerryChecksum\n" + " mov r2, #0x0\n" + " ldr r3, ._23 + 20\n" + " mov r1, #0x0\n" + "._19:\n" + " add r0, r4, r2\n" + " strb r1, [r0]\n" + " add r2, r2, #0x1\n" + " cmp r2, r3\n" + " ble ._19 @cond_branch\n" + " mov r2, #0x0\n" + " cmp r2, r5\n" + " bcs ._20 @cond_branch\n" + " ldr r3, ._23 + 8\n" + "._21:\n" + " add r0, r4, r2\n" + " add r1, r2, r3\n" + " ldrb r1, [r1]\n" + " strb r1, [r0]\n" + " add r2, r2, #0x1\n" + " cmp r2, r5\n" + " bcc ._21 @cond_branch\n" + "._20:\n" + " mov r2, #0x0\n" + " ldr r3, ._23 + 24\n" + "._22:\n" + " add r0, r6, r2\n" + " add r1, r7, r2\n" + " ldrb r1, [r1]\n" + " strb r1, [r0]\n" + " add r2, r2, #0x1\n" + " cmp r2, r3\n" + " bls ._22 @cond_branch\n" + " bl ClearEnigmaBerries\n" + " ldr r1, ._23 + 8\n" + " add r0, r4, #0\n" + " bl unref_sub_81261B4\n" + " add r0, r5, #0\n" + " pop {r4, r5, r6, r7}\n" + " pop {r1}\n" + " bx r1\n" + "._24:\n" + " .align 2, 0\n" + "._23:\n" + " .word gSaveBlock1+0x3160\n" + " .word gOtherText_DataCannotUseVersion+0x331\n" + " .word gOtherText_DataCannotUseVersion+0x30d\n" + " .word gOtherText_DataCannotUseVersion+0x861\n" + " .word gFlashSectors+0x8\n" + " .word 0xfff\n" + " .word 0x52f\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C638() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xffffffec\n" + " mov r8, r0\n" + " add r4, r1, #0\n" + " add r5, r2, #0\n" + " add r6, r3, #0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " lsl r5, r5, #0x18\n" + " lsr r5, r5, #0x18\n" + " lsl r6, r6, #0x10\n" + " lsr r6, r6, #0x10\n" + " bl ZeroMonData\n" + " mov r0, #0x0\n" + " str r0, [sp]\n" + " str r0, [sp, #0x4]\n" + " mov r0, #0x1\n" + " str r0, [sp, #0x8]\n" + " ldr r0, ._25\n" + " str r0, [sp, #0xc]\n" + " mov r0, r8\n" + " add r1, r4, #0\n" + " add r2, r5, #0\n" + " mov r3, #0x20\n" + " bl CreateMon\n" + " ldr r2, ._25 + 4\n" + " mov r0, r8\n" + " mov r1, #0x7\n" + " bl SetMonData\n" + " ldr r2, ._25 + 8\n" + " mov r0, r8\n" + " mov r1, #0x2\n" + " bl SetMonData\n" + " str r6, [sp, #0x10]\n" + " mov r0, r8\n" + " mov r1, #0xc\n" + " add r2, sp, #0x10\n" + " bl SetMonData\n" + " add sp, sp, #0x14\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._26:\n" + " .align 2, 0\n" + "._25:\n" + " .word 0x270f\n" + " .word gFlashSectors+0xc\n" + " .word gFlashSectors+0x14\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C6AC() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " add sp, sp, #0xfffffff8\n" + " add r6, r0, #0\n" + " add r5, r1, #0\n" + " add r0, r5, #0\n" + " bl ClearMailStruct\n" + " add r0, r6, #0\n" + " mov r1, #0xc\n" + " bl GetMonData\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " mov r8, r0\n" + " bl ItemIsMail\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._27 @cond_branch\n" + " add r4, r5, #0\n" + " add r4, r4, #0x12\n" + " add r7, r5, #0\n" + " add r7, r7, #0x1a\n" + " mov r1, #0x9\n" + " add r0, r5, #0\n" + " add r0, r0, #0x10\n" + "._28:\n" + " strh r1, [r0]\n" + " sub r1, r1, #0x1\n" + " sub r0, r0, #0x2\n" + " cmp r0, r5\n" + " bge ._28 @cond_branch\n" + " add r0, r6, #0\n" + " mov r1, #0x7\n" + " mov r2, sp\n" + " bl GetMonData\n" + " add r0, r4, #0\n" + " mov r1, sp\n" + " mov r2, #0x8\n" + " bl StringCopyN\n" + " add r0, r6, #0\n" + " mov r1, #0x1\n" + " bl GetMonData\n" + " add r1, r7, #0\n" + " bl write_word_to_mem\n" + " add r0, r6, #0\n" + " mov r1, #0xb\n" + " bl GetMonData\n" + " add r4, r0, #0\n" + " lsl r4, r4, #0x10\n" + " lsr r4, r4, #0x10\n" + " add r0, r6, #0\n" + " mov r1, #0x0\n" + " bl GetMonData\n" + " add r1, r0, #0\n" + " add r0, r4, #0\n" + " bl SpeciesToMailSpecies\n" + " strh r0, [r5, #0x1e]\n" + " mov r0, r8\n" + " strh r0, [r5, #0x20]\n" + "._27:\n" + " add sp, sp, #0x8\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C740() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, sl\n" + " mov r5, r9\n" + " mov r4, r8\n" + " push {r4, r5, r6}\n" + " add sp, sp, #0xffffffd0\n" + " add r6, r0, #0\n" + " ldr r0, ._29\n" + " mov r8, r0\n" + " ldr r1, ._29 + 4\n" + " ldr r5, ._29 + 8\n" + " sub r1, r1, r0\n" + " mov r9, r1\n" + " add r0, r6, #0\n" + " mov r1, r8\n" + " mov r2, r9\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r5, #0\n" + " mov r1, #0x19\n" + " mov r2, #0x5\n" + " mov r3, #0x0\n" + " bl debug_sub_813C638\n" + " add r4, sp, #0x24\n" + " mov r0, #0x1\n" + " mov sl, r0\n" + " mov r1, sl\n" + " strb r1, [r4]\n" + " add r0, r5, #0\n" + " mov r1, #0x2d\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " mov r0, #0x3\n" + " strb r0, [r4]\n" + " add r0, r5, #0\n" + " mov r1, #0x20\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " mov r0, #0xff\n" + " strb r0, [r4]\n" + " add r0, r5, #0\n" + " mov r1, #0x23\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " ldr r1, ._29 + 12\n" + " add r0, r4, #0\n" + " mov r2, #0xb\n" + " bl StringCopyN\n" + " add r0, r5, #0\n" + " mov r1, #0x2\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " mov r0, sl\n" + " strb r0, [r4]\n" + " add r0, r5, #0\n" + " mov r1, #0x3\n" + " add r2, r4, #0\n" + " bl SetMonData\n" + " ldr r0, ._29 + 16\n" + " add r0, r6, r0\n" + " mov r1, r8\n" + " sub r0, r0, r1\n" + " add r1, r5, #0\n" + " mov r2, #0x64\n" + " bl gScriptFuncs_End+0x5bc4\n" + " ldr r0, ._29 + 20\n" + " add r6, r6, r0\n" + " mov r0, r8\n" + " sub r6, r6, r0\n" + " add r0, r6, #0\n" + " mov r1, sp\n" + " mov r2, #0x24\n" + " bl gScriptFuncs_End+0x5bc4\n" + " mov r0, r9\n" + " add sp, sp, #0x30\n" + " pop {r3, r4, r5}\n" + " mov r8, r3\n" + " mov r9, r4\n" + " mov sl, r5\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._30:\n" + " .align 2, 0\n" + "._29:\n" + " .word gOtherText_DataCannotUseVersion+0x99e\n" + " .word gOtherText_DataCannotUseVersion+0xa4a\n" + " .word gEnemyParty\n" + " .word gFlashSectors+0x4\n" + " .word gOtherText_DataCannotUseVersion+0x9c2\n" + " .word gOtherText_DataCannotUseVersion+0xa26\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C810() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xffffffdc\n" + " add r6, r0, #0\n" + " ldr r5, ._31\n" + " ldr r0, ._31 + 4\n" + " ldr r4, ._31 + 8\n" + " sub r0, r0, r5\n" + " mov r8, r0\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " mov r2, r8\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r4, #0\n" + " mov r1, #0xc9\n" + " mov r2, #0x15\n" + " mov r3, #0x82\n" + " bl debug_sub_813C638\n" + " add r0, r4, #0\n" + " mov r1, sp\n" + " bl debug_sub_813C6AC\n" + " ldr r0, ._31 + 12\n" + " add r0, r6, r0\n" + " sub r0, r0, r5\n" + " add r1, r4, #0\n" + " mov r2, #0x64\n" + " bl gScriptFuncs_End+0x5bc4\n" + " ldr r0, ._31 + 16\n" + " add r0, r6, r0\n" + " sub r0, r0, r5\n" + " mov r1, sp\n" + " mov r2, #0x24\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl unref_sub_812620C\n" + " mov r0, r8\n" + " add sp, sp, #0x24\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._32:\n" + " .align 2, 0\n" + "._31:\n" + " .word gOtherText_DataCannotUseVersion+0x99e\n" + " .word gOtherText_DataCannotUseVersion+0xa4a\n" + " .word gEnemyParty\n" + " .word gOtherText_DataCannotUseVersion+0x9c2\n" + " .word gOtherText_DataCannotUseVersion+0xa26\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C888() +{ + asm( + " push {r4, r5, r6, lr}\n" + " mov r6, r8\n" + " push {r6}\n" + " add sp, sp, #0xffffffdc\n" + " add r6, r0, #0\n" + " ldr r5, ._33\n" + " ldr r0, ._33 + 4\n" + " ldr r4, ._33 + 8\n" + " sub r0, r0, r5\n" + " mov r8, r0\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " mov r2, r8\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r4, #0\n" + " mov r1, #0xc9\n" + " mov r2, #0x15\n" + " mov r3, #0x82\n" + " bl debug_sub_813C638\n" + " add r0, r4, #0\n" + " mov r1, sp\n" + " bl debug_sub_813C6AC\n" + " mov r0, #0x0\n" + " strh r0, [r4, #0x1c]\n" + " ldr r0, ._33 + 12\n" + " add r0, r6, r0\n" + " sub r0, r0, r5\n" + " add r1, r4, #0\n" + " mov r2, #0x64\n" + " bl gScriptFuncs_End+0x5bc4\n" + " ldr r0, ._33 + 16\n" + " add r0, r6, r0\n" + " sub r0, r0, r5\n" + " mov r1, sp\n" + " mov r2, #0x24\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r6, #0\n" + " add r1, r5, #0\n" + " bl unref_sub_812620C\n" + " mov r0, r8\n" + " add sp, sp, #0x24\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._34:\n" + " .align 2, 0\n" + "._33:\n" + " .word gOtherText_DataCannotUseVersion+0x99e\n" + " .word gOtherText_DataCannotUseVersion+0xa4a\n" + " .word gEnemyParty\n" + " .word gOtherText_DataCannotUseVersion+0x9c2\n" + " .word gOtherText_DataCannotUseVersion+0xa26\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C904() +{ + asm( + " push {r4, lr}\n" + " ldr r4, ._35\n" + " add r0, r4, #0\n" + " mov r1, #0x5\n" + " mov r2, #0x32\n" + " mov r3, #0xb7\n" + " bl debug_sub_813C638\n" + " add r0, r4, #0\n" + " add r0, r0, #0x64\n" + " mov r1, #0x8\n" + " mov r2, #0x32\n" + " mov r3, #0xc4\n" + " bl debug_sub_813C638\n" + " add r4, r4, #0xc8\n" + " add r0, r4, #0\n" + " mov r1, #0x2\n" + " mov r2, #0x32\n" + " mov r3, #0x8d\n" + " bl debug_sub_813C638\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._36:\n" + " .align 2, 0\n" + "._35:\n" + " .word gPlayerParty\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_813C93C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xffffff44\n" + " add r4, r0, #0\n" + " ldr r6, ._37\n" + " ldr r5, ._37 + 4\n" + " sub r5, r5, r6\n" + " add r1, r6, #0\n" + " add r2, r5, #0\n" + " bl gScriptFuncs_End+0x5bc4\n" + " bl SavePlayerParty\n" + " bl debug_sub_813C904\n" + " ldr r1, ._37 + 8\n" + " ldr r2, ._37 + 12\n" + " mov r0, sp\n" + " bl debug_sub_8075DB4\n" + " bl LoadPlayerParty\n" + " ldr r0, ._37 + 16\n" + " add r4, r4, r0\n" + " sub r4, r4, r6\n" + " add r0, r4, #0\n" + " mov r1, sp\n" + " mov r2, #0xbc\n" + " bl gScriptFuncs_End+0x5bc4\n" + " add r0, r5, #0\n" + " add sp, sp, #0xbc\n" + " pop {r4, r5, r6}\n" + " pop {r1}\n" + " bx r1\n" + "._38:\n" + " .align 2, 0\n" + "._37:\n" + " .word gOtherText_DataCannotUseVersion+0xa4a\n" + " .word gOtherText_DataCannotUseVersion+0xb61\n" + " .word gFlashSectors+0x24\n" + " .word 0x270f\n" + " .word gOtherText_DataCannotUseVersion+0xa61\n" + "\n" + ); +} + diff --git a/src/engine/sprite.c b/src/engine/sprite.c index cec3d0b3a..ed143ae8e 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -815,7 +815,7 @@ void ProcessSpriteCopyRequests(void) } } -static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) +/*static*/ void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { @@ -824,7 +824,7 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } -#ifdef DEBUG +#if DEBUG else { unref_sub_80AB084(sDmaOverErrorMsg); -- cgit v1.2.3 From d79f440b8d4c5af26a98011719807b05745533e1 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 12:10:41 -0600 Subject: use 'if DEBUG' instead of 'ifdef DEBUG' --- src/battle/battle_2.c | 4 ++-- src/battle/battle_interface.c | 2 +- src/battle/battle_records.c | 2 +- src/debug/kagaya_debug_menu.c | 2 +- src/debug/nakamura_debug_menu.c | 2 +- src/debug/nohara_debug_menu.c | 2 +- src/debug/taya_debug_window.c | 2 +- src/debug/tomomichi_debug_menu.c | 2 +- src/debug/watanabe_debug_menu.c | 2 +- src/engine/cable_club.c | 2 +- src/engine/link.c | 4 ++-- src/engine/rtc.c | 4 ++-- src/engine/save.c | 2 +- src/engine/sprite.c | 2 +- src/engine/task.c | 2 +- src/engine/trainer_card.c | 16 ++++++++-------- src/field/bike.c | 6 +++--- src/field/decoration_inventory.c | 2 +- src/field/mauville_man.c | 2 +- src/field/party_menu.c | 4 ++-- src/field/roamer.c | 2 +- src/field/slot_machine.c | 2 +- src/field/start_menu.c | 4 ++-- src/pokemon/pokemon_1.c | 2 +- src/rom3.c | 4 ++-- src/rom6.c | 2 +- src/scene/new_game.c | 10 +++++----- src/scene/title_screen.c | 4 ++-- 28 files changed, 48 insertions(+), 48 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 12b18bb52..5700d1b7e 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1258,7 +1258,7 @@ void sub_800F02C(void) memcpy(gSharedMem, gUnknown_02023A00, 0x60); } -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void sub_800F104() { @@ -1554,7 +1554,7 @@ void sub_800F104(void) } #endif -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void sub_800F298() { diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index f7734301c..b19547d52 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -3045,7 +3045,7 @@ static u8 sub_80457E8(u8 a, u8 b) } } -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) { diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index a03a215fd..17e2352ff 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -17,7 +17,7 @@ struct DebugStruct1 extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; extern u8 gBattleOutcome; -#ifdef DEBUG +#if DEBUG const struct DebugStruct1 gUnknown_Debug_4245CC[] = { { 1, _("NUMBER1") }, diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 6f2734b08..e54e0d17f 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -1,4 +1,4 @@ -#ifdef DEBUG +#if DEBUG #include "global.h" #include "menu.h" diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 48b6d91b8..343d56bc2 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1,4 +1,4 @@ -#ifdef DEBUG +#if DEBUG #include "global.h" #include "menu.h" diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index b7e62481b..2e739ef4d 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -1,4 +1,4 @@ -#ifdef DEBUG +#if DEBUG #include "global.h" #define BSS_DATA __attribute__((section(".bss"))) diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index 4f9b588d8..c20d9b87c 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -1,4 +1,4 @@ -#ifdef DEBUG +#if DEBUG #include "global.h" EWRAM_DATA u8 unk_2030224[4] = { 0 }; diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index f745f2993..eb2fd8a7e 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1,4 +1,4 @@ -#ifdef DEBUG +#if DEBUG #include "global.h" #define BSS_DATA __attribute__((section(".bss"))) diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index fed5b4e52..dcb3bd90b 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1,4 +1,4 @@ -#ifdef DEBUG +#if DEBUG #include "global.h" EWRAM_DATA u8 unk_debug_ewram_0[56] = { 0 }; diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 03a64afc6..688560218 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -360,7 +360,7 @@ void sub_80831F8(u8 taskId) || sub_8082DF4(taskId) == TRUE) return; -#ifdef DEBUG +#if DEBUG sub_8082D60(taskId, GetLinkPlayerCount_2()); #endif diff --git a/src/engine/link.c b/src/engine/link.c index f93fb775f..5747915d7 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -544,7 +544,7 @@ static void ProcessRecvCmds(u8 unusedParam) else { SetBlockReceivedFlag(i); -#ifdef DEBUG +#if DEBUG debug_sub_808B838(i); #endif } @@ -979,7 +979,7 @@ static void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) } } -#ifdef DEBUG +#if DEBUG EWRAM_DATA u16 *debugCharacterBase = NULL; EWRAM_DATA void *unk_20238C8 = NULL; diff --git a/src/engine/rtc.c b/src/engine/rtc.c index a56fcd44e..5462298ed 100644 --- a/src/engine/rtc.c +++ b/src/engine/rtc.c @@ -268,7 +268,7 @@ void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day) *dest = EOS; } -#ifdef DEBUG +#if DEBUG void debug_sub_800987C(u8 *dest) { @@ -370,7 +370,7 @@ u32 RtcGetMinuteCount() return (24 * 60) * RtcGetDayCount(&sRtc) + 60 * sRtc.hour + sRtc.minute; } -#ifdef DEBUG +#if DEBUG void debug_sub_8009A60() { RtcGetRawInfo(&sRtc); diff --git a/src/engine/save.c b/src/engine/save.c index d7df98e5f..5564a6ce3 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -663,7 +663,7 @@ static u16 CalculateChecksum(void *data, u16 size) return ((checksum >> 16) + checksum); } -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void sub_813B79C() { diff --git a/src/engine/sprite.c b/src/engine/sprite.c index ed143ae8e..eaffedfdc 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -841,7 +841,7 @@ void RequestSpriteCopy(const void *src, u8 *dest, u16 size) gSpriteCopyRequests[gSpriteCopyRequestCount].size = size; gSpriteCopyRequestCount++; } -#ifdef DEBUG +#if DEBUG else { unref_sub_80AB084(sDmaOverErrorMsg); diff --git a/src/engine/task.c b/src/engine/task.c index ed17d28bb..d1f2cb5df 100644 --- a/src/engine/task.c +++ b/src/engine/task.c @@ -51,7 +51,7 @@ u8 CreateTask(TaskFunc func, u8 priority) } } -#ifdef DEBUG +#if DEBUG unref_sub_80AB084(gError_NoTasksLeft); #endif diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index daa513145..f9adc5777 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -63,7 +63,7 @@ const u8 gBadgesTiles[] = INCBIN_U8("graphics/trainer_card/badges.4bpp"); // XXX: what is this? u8 *const ewram_ = gSharedMem; -#ifdef DEBUG +#if DEBUG const struct TrainerCard gUnknown_Debug_083E0448 = { .gender = FEMALE, @@ -204,13 +204,13 @@ static void TrainerCard_Back_PrintPokemonTrades_Label(void); static void TrainerCard_Back_PrintPokemonTrades(void); void unref_sub_8094588(u16 left, u16 top); -#ifdef DEBUG +#if DEBUG static u8 gDebug_03000748; #endif void TrainerCard_ShowPlayerCard(Callback arg1) { -#ifdef DEBUG +#if DEBUG gDebug_03000748 = 0; #endif TrainerCard_InitScreenForPlayer(arg1); @@ -220,7 +220,7 @@ void TrainerCard_ShowPlayerCard(Callback arg1) void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) { -#ifdef DEBUG +#if DEBUG gDebug_03000748 = 0; #endif TrainerCard_InitScreenForLinkPlayer(playerIndex, arg2); @@ -228,7 +228,7 @@ void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) ewram0_2.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; } -#ifdef DEBUG +#if DEBUG void debug_sub_80A0710(Callback callback) { gDebug_03000748 = TRUE; @@ -619,7 +619,7 @@ static void TrainerCard_FillFlags(void) } } -#ifdef DEBUG +#if DEBUG if (gDebug_03000748 != 0) { ewram0_2.showHallOfFame = TRUE; @@ -723,7 +723,7 @@ bool8 TrainerCard_WaitForKeys(struct Task *task) } return TRUE; } -#ifdef DEBUG +#if DEBUG else if (gDebug_03000748 && gMain.newKeys & R_BUTTON) { ewram0_2.starCount++; @@ -1462,7 +1462,7 @@ static void TrainerCard_Front_PrintPokedexCount(void) u8 buffer[16]; if ( -#ifdef DEBUG +#if DEBUG gDebug_03000748 == 0 && #endif !ewram0_2.showPokedexCount) diff --git a/src/field/bike.c b/src/field/bike.c index 736dbc837..eb9d56a64 100644 --- a/src/field/bike.c +++ b/src/field/bike.c @@ -14,7 +14,7 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; extern u8 gUnusedBikeCameraAheadPanback; -#ifdef DEBUG +#if DEBUG extern u8 gUnknown_020297ED; u8 debug_sub_805F2B0(u8); #endif @@ -131,7 +131,7 @@ static const struct BikeHistoryInputInfo gAcroBikeTricksList[] = void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) { -#ifdef DEBUG +#if DEBUG if (gUnknown_020297ED && debug_sub_805F2B0(direction)) { Bike_SetBikeStill(); @@ -284,7 +284,7 @@ static void MachBikeTransition_TrySlowDown(u8 var) // the acro bike requires the input handler to be executed before the transition can. static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys) { -#ifdef DEBUG +#if DEBUG if (gUnknown_020297ED && debug_sub_805F2B0(newDirection)) { Bike_SetBikeStill(); diff --git a/src/field/decoration_inventory.c b/src/field/decoration_inventory.c index 21ced1be8..8f7f5eb92 100644 --- a/src/field/decoration_inventory.c +++ b/src/field/decoration_inventory.c @@ -166,7 +166,7 @@ u8 sub_81341D4(void) } -#ifdef DEBUG +#if DEBUG void debug_sub_814A3A8(void) { u8 decor; diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 1b53df6be..00368c2f5 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -250,7 +250,7 @@ void SetupMauvilleOldMan(void) sub_80F83D0(); } -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void debug_sub_810B32C() { diff --git a/src/field/party_menu.c b/src/field/party_menu.c index c099fd8f4..7994dd60c 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -4025,7 +4025,7 @@ void TeachMonTMMove(u8 taskId, u16 move, TaskFunc func) CreateTask(Task_TeamMonTMMove, 5); } -#ifdef DEBUG +#if DEBUG extern u8 gUnknown_020297ED; #endif @@ -4044,7 +4044,7 @@ void Task_TeamMonTMMove(u8 taskId) else { if ( -#ifdef DEBUG +#if DEBUG !gUnknown_020297ED && #endif !CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33)) diff --git a/src/field/roamer.c b/src/field/roamer.c index 16a42e9f1..6ed5b6c89 100644 --- a/src/field/roamer.c +++ b/src/field/roamer.c @@ -227,7 +227,7 @@ void GetRoamerLocation(u8 *mapGroup, u8 *mapNum) *mapNum = sRoamerLocation[MAP_NUM]; } -#ifdef DEBUG +#if DEBUG void debug_sub_814A714(void) { if (gSaveBlock1.location.mapGroup == 0) diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index e231f686d..311679cb7 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -2855,7 +2855,7 @@ static void sub_8104C5C(void) static void LoadSlotMachineWheelOverlay(void); -#ifdef DEBUG +#if DEBUG // should be static __attribute__((section(".bss"))) u8 unk_debug_bss_1[0xC] = { 0 }; #endif diff --git a/src/field/start_menu.c b/src/field/start_menu.c index 105ef1756..36295b3f8 100644 --- a/src/field/start_menu.c +++ b/src/field/start_menu.c @@ -44,7 +44,7 @@ enum { MENU_ACTION_PLAYER_LINK }; -#ifdef DEBUG +#if DEBUG static u32 _debugStartMenu_0 __attribute__((unused)); static u32 _debugStartMenu_1 __attribute__((unused)); #endif @@ -137,7 +137,7 @@ static bool32 sub_80719FC(u8 *ptr); static void sub_8071B54(void); static void Task_8071B64(u8 taskId); -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void debug_sub_8075C30() { diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 079bcf489..fd4684832 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -524,7 +524,7 @@ void CalculateMonStats(struct Pokemon *mon) SetMonData(mon, MON_DATA_HP, ¤tHP); } -#ifdef DEBUG +#if DEBUG __attribute__((naked)) void debug_sub_803F55C() { diff --git a/src/rom3.c b/src/rom3.c index 0fe67dcec..efaa1d97f 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -67,7 +67,7 @@ void sub_800B858(void) } } -#ifdef DEBUG +#if DEBUG extern u8 gUnknown_02023A14_50; #endif @@ -98,7 +98,7 @@ void setup_poochyena_battle(void) gUnknown_020239FC = 0; gUnknown_02024C78 = 0; -#ifdef DEBUG +#if DEBUG if (gUnknown_02023A14_50 & 0x80) { ewram[0x160fd] = 0; diff --git a/src/rom6.c b/src/rom6.c index 1c0654538..b23f1c15a 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -117,7 +117,7 @@ static void sub_810B4CC(u8 taskId) DestroyTask(taskId); } -#ifdef DEBUG +#if DEBUG void debug_sub_8120968(void) { if (npc_before_player_of_type(MAP_OBJ_GFX_BREAKABLE_ROCK) == TRUE) diff --git a/src/scene/new_game.c b/src/scene/new_game.c index d954fb3c8..cec7134a3 100644 --- a/src/scene/new_game.c +++ b/src/scene/new_game.c @@ -31,7 +31,7 @@ #include "text.h" #include "tv.h" -#ifdef DEBUG +#if DEBUG extern u8 gUnknown_020297ED; #endif @@ -50,7 +50,7 @@ static const struct ContestWinner sEmptyMuseumPortrait = .trainerName = {EOS}, }; -#ifdef DEBUG +#if DEBUG const s8 gUnknown_Debug_0823C788[][2] = { { MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK) }, @@ -114,7 +114,7 @@ void ZeroBattleTowerData(void) CpuFill32(0, &gSaveBlock2.battleTower, sizeof(gSaveBlock2.battleTower)); } -#ifdef DEBUG +#if DEBUG void debug_sub_8052E04() { u8 i; @@ -153,7 +153,7 @@ void ClearSav2(void) void sub_8052E4C(void) { gDifferentSaveFile = 0; -#ifdef DEBUG +#if DEBUG gUnknown_020297ED = 0; #endif sub_808C0A0(); @@ -209,7 +209,7 @@ void NewGameInitData(void) ScriptContext2_RunNewScript(gUnknown_0819FA81); } -#ifdef DEBUG +#if DEBUG extern void debug_sub_80A3904(void); extern void debug_sub_80A3714(void); extern void debug_sub_8120F98(void); diff --git a/src/scene/title_screen.c b/src/scene/title_screen.c index 8d5c4da13..4ff02d93c 100644 --- a/src/scene/title_screen.c +++ b/src/scene/title_screen.c @@ -831,7 +831,7 @@ static void Task_TitleScreenPhase3(u8 taskId) BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); SetMainCallback2(CB2_GoToResetRtcScreen); } -#ifdef DEBUG +#if DEBUG else if (gMain.heldKeys == SELECT_BUTTON) { BeginNormalPaletteFade(-1, 0, 0, 16, 0); @@ -864,7 +864,7 @@ static void CB2_GoToMainMenu(void) SetMainCallback2(CB2_InitMainMenu); } -#ifdef DEBUG +#if DEBUG static void CB2_GoToTestMenu(void) { if (!UpdatePaletteFade()) -- cgit v1.2.3 From 6903b3626aed4e5521243b4517c43fed3c4d0ff5 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 13:11:10 -0600 Subject: resolve some undefined references --- src/battle/battle_2.c | 90 +++--- src/debug/kagaya_debug_menu.c | 8 +- src/debug/nakamura_debug_menu.c | 272 ++++++++-------- src/debug/nohara_debug_menu.c | 86 +++--- src/debug/start_menu_debug.c | 224 +++++++------- src/debug/taya_debug_window.c | 62 ++-- src/debug/tomomichi_debug_menu.c | 652 +++++++++++++++++++-------------------- src/debug/watanabe_debug_menu.c | 194 ++++++------ src/field/slot_machine.c | 96 +++--- src/field/start_menu.c | 6 +- 10 files changed, 845 insertions(+), 845 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 5700d1b7e..78fc35ba5 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -275,7 +275,7 @@ void InitBattle(void) " bl sub_80895F8\n" " ldr r4, ._10 + 32\n" " add r0, r4, #0\n" - " bl SetUpWindowConfig\n" + " bl Text_LoadWindowTemplate\n" " bl ResetPaletteFade\n" " ldr r0, ._10 + 36\n" " mov r1, #0x0\n" @@ -306,13 +306,13 @@ void InitBattle(void) "._7:\n" " ldr r0, ._10 + 76\n" " add r1, r4, #0\n" - " bl InitWindowFromConfig\n" + " bl Text_InitWindowWithTemplate\n" " ldr r0, ._10 + 80\n" " ldr r1, ._10 + 84\n" - " bl InitWindowFromConfig\n" + " bl Text_InitWindowWithTemplate\n" " ldr r0, ._10 + 88\n" " ldr r1, ._10 + 92\n" - " bl InitWindowFromConfig\n" + " bl Text_InitWindowWithTemplate\n" " bl sub_800D6D4\n" " bl sub_800DAB8\n" " bl ResetSpriteData\n" @@ -348,7 +348,7 @@ void InitBattle(void) " .word gWindowConfig_81E6C58\n" " .word gUnknown_030042A4\n" " .word gUnknown_030042A0\n" - " .word gUnknown_030042C0\n" + " .word gBattle_BG1_X\n" " .word gUnknown_030041B4\n" " .word gUnknown_03004288\n" " .word gUnknown_03004280\n" @@ -3274,10 +3274,10 @@ void debug_sub_80108B8() " bl remove_some_task\n" " ldr r4, ._507 + 84\n" " add r0, r4, #0\n" - " bl SetUpWindowConfig\n" + " bl Text_LoadWindowTemplate\n" " ldr r0, ._507 + 88\n" " add r1, r4, #0\n" - " bl InitWindowFromConfig\n" + " bl Text_InitWindowWithTemplate\n" " ldr r0, ._507 + 92\n" " strb r5, [r0]\n" " ldr r0, ._507 + 96\n" @@ -3334,7 +3334,7 @@ void debug_sub_80108B8() " .word 0x4000200\n" " .word gUnknown_030042A4\n" " .word gUnknown_030042A0\n" - " .word gUnknown_030042C0\n" + " .word gBattle_BG1_X\n" " .word gUnknown_030041B4\n" " .word gUnknown_03004288\n" " .word gUnknown_03004280\n" @@ -3987,7 +3987,7 @@ void debug_sub_8010CAC() " .align 2, 0\n" "._581:\n" " .word gUnknown_Debug_03004360\n" - " .word gUnknown_030042C0\n" + " .word gBattle_BG1_X\n" " .word gUnknown_Debug_030043A4\n" " .word gMain\n" " .word gUnknown_Debug_030043A0\n" @@ -4043,7 +4043,7 @@ void debug_sub_8010CAC() " .align 2, 0\n" "._587:\n" " .word gUnknown_Debug_03004360\n" - " .word gUnknown_030042C0\n" + " .word gBattle_BG1_X\n" " .word gUnknown_Debug_030043A4\n" " .word gMain\n" " .word gUnknown_Debug_030043A0\n" @@ -5839,7 +5839,7 @@ void debug_sub_8011D40() " .word 0x80000800\n" " .word gUnknown_030042A4\n" " .word gUnknown_030042A0\n" - " .word gUnknown_030042C0\n" + " .word gBattle_BG1_X\n" " .word gUnknown_030041B4\n" " .word gUnknown_03004288\n" " .word gUnknown_03004280\n" @@ -5912,7 +5912,7 @@ void debug_sub_8011DD4() " .word 0x9803\n" " .word gUnknown_030042A4\n" " .word gUnknown_030042A0\n" - " .word gUnknown_030042C0\n" + " .word gBattle_BG1_X\n" " .word gUnknown_030041B4\n" " .word gUnknown_03004288\n" " .word gUnknown_03004280\n" @@ -6061,7 +6061,7 @@ void debug_sub_8011EA0() " add r1, r6, #0\n" " ldr r2, [sp, #0x4]\n" " mov r3, r8\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " ldr r0, ._823 + 8\n" " bl sub_8002F44\n" " ldr r1, ._823 + 12\n" @@ -6090,7 +6090,7 @@ void debug_sub_8011EA0() " str r0, [sp]\n" " ldr r0, ._823 + 8\n" " add r1, r6, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " ldr r0, ._823 + 8\n" " bl sub_8002F44\n" " mov r0, #0xff\n" @@ -6113,7 +6113,7 @@ void debug_sub_8011EA0() " add r1, r6, #0\n" " ldr r2, [sp, #0x4]\n" " mov r3, r8\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " ldr r0, ._823 + 8\n" " bl sub_8002F44\n" " b ._848\n" @@ -6171,7 +6171,7 @@ void debug_sub_8011EA0() " str r0, [sp]\n" " add r0, r6, #0\n" " mov r1, sl\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r6, #0\n" " bl sub_8002F44\n" " lsl r4, r7, #0x1\n" @@ -6199,7 +6199,7 @@ void debug_sub_8011EA0() " str r0, [sp]\n" " add r0, r6, #0\n" " mov r1, sl\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r6, #0\n" " bl sub_8002F44\n" " mov r0, #0xff\n" @@ -6250,7 +6250,7 @@ void debug_sub_8011EA0() " ldrb r0, [r4]\n" " str r0, [sp]\n" " add r0, r6, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r6, #0\n" " bl sub_8002F44\n" " b ._848\n" @@ -6282,7 +6282,7 @@ void debug_sub_8011EA0() " str r0, [sp]\n" " add r0, r5, #0\n" " add r1, r6, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" " mov r4, #0x0\n" @@ -6364,7 +6364,7 @@ void debug_sub_8011EA0() " str r0, [sp]\n" " add r0, r5, #0\n" " add r1, r6, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" " b ._848\n" @@ -6406,7 +6406,7 @@ void debug_sub_8011EA0() " str r0, [sp]\n" " add r0, r5, #0\n" " add r1, r6, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" "._848:\n" @@ -6476,7 +6476,7 @@ void debug_sub_8012294() " str r0, [sp]\n" " mov r0, sl\n" " mov r1, r9\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " mov r0, sl\n" " bl sub_8002F44\n" " ldrb r4, [r7]\n" @@ -6513,7 +6513,7 @@ void debug_sub_8012294() " str r0, [sp]\n" " mov r0, sl\n" " mov r1, r9\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " mov r0, sl\n" " bl sub_8002F44\n" " mov r0, #0xff\n" @@ -6553,7 +6553,7 @@ void debug_sub_8012294() " str r0, [sp]\n" " mov r0, sl\n" " mov r1, r9\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " mov r0, sl\n" " bl sub_8002F44\n" "._853:\n" @@ -6614,7 +6614,7 @@ void debug_sub_80123D8() " mov r1, r8\n" " mov r2, sl\n" " add r3, r7, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl sub_8002F44\n" " lsl r5, r5, #0x1\n" @@ -6646,7 +6646,7 @@ void debug_sub_80123D8() " mov r1, r8\n" " mov r2, sl\n" " add r3, r7, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl sub_8002F44\n" " mov r0, #0x0\n" @@ -6661,7 +6661,7 @@ void debug_sub_80123D8() " add r0, r4, #0\n" " mov r1, r8\n" " mov r3, sl\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl sub_8002F44\n" " ldr r1, ._858 + 12\n" @@ -6691,7 +6691,7 @@ void debug_sub_80123D8() " mov r1, r8\n" " mov r2, r9\n" " mov r3, sl\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl sub_8002F44\n" " b ._857\n" @@ -6718,7 +6718,7 @@ void debug_sub_80123D8() " str r0, [sp]\n" " add r0, r5, #0\n" " add r1, r6, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" " ldrh r2, [r4, #0x6]\n" @@ -6727,7 +6727,7 @@ void debug_sub_80123D8() " str r0, [sp]\n" " add r0, r5, #0\n" " add r1, r6, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" "._857:\n" @@ -6781,7 +6781,7 @@ void debug_sub_8012540() " str r0, [sp]\n" " add r0, r4, #0\n" " add r1, r5, #0\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl sub_8002F44\n" " add sp, sp, #0x4\n" @@ -6998,7 +6998,7 @@ void debug_sub_8012688() " strh r5, [r0]\n" " ldr r4, ._873 + 16\n" " add r0, r4, #0\n" - " bl SetUpWindowConfig\n" + " bl Text_LoadWindowTemplate\n" " bl ResetPaletteFade\n" " ldr r0, ._873 + 20\n" " strh r5, [r0]\n" @@ -7033,7 +7033,7 @@ void debug_sub_8012688() " strh r0, [r6]\n" " ldr r0, ._873 + 64\n" " add r1, r4, #0\n" - " bl InitWindowFromConfig\n" + " bl Text_InitWindowWithTemplate\n" " ldrh r2, [r6]\n" " lsl r0, r2, #0x3\n" " ldr r1, ._873 + 68\n" @@ -7133,7 +7133,7 @@ void debug_sub_8012688() " .word gWindowConfig_81E6C58\n" " .word gUnknown_030042A4\n" " .word gUnknown_030042A0\n" - " .word gUnknown_030042C0\n" + " .word gBattle_BG1_X\n" " .word gUnknown_030041B4\n" " .word gUnknown_03004288\n" " .word gUnknown_03004280\n" @@ -7211,7 +7211,7 @@ void debug_sub_80128B4() " add r1, r4, #0\n" " mov r2, #0x90\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" " ldr r6, ._878 + 8\n" @@ -7237,7 +7237,7 @@ void debug_sub_80128B4() " add r1, r4, #0\n" " mov r2, #0x90\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" " add sp, sp, #0x4\n" @@ -7282,7 +7282,7 @@ void debug_sub_8012938() " add r1, r4, #0\n" " mov r2, #0xa2\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r6, #0\n" " bl sub_8002F44\n" " ldr r1, ._880 + 8\n" @@ -7306,7 +7306,7 @@ void debug_sub_8012938() " add r1, r4, #0\n" " mov r2, #0xa2\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r6, #0\n" " bl sub_8002F44\n" " ldr r2, ._880 + 20\n" @@ -7622,7 +7622,7 @@ void debug_sub_8012B70() " str r0, [sp]\n" " add r0, r5, #0\n" " mov r3, #0x1a\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl sub_8002F44\n" " strh r6, [r4, #0xe]\n" @@ -7668,7 +7668,7 @@ void debug_sub_8012C08() " add r1, r5, #0\n" " mov r2, #0x90\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r7, #0\n" " bl sub_8002F44\n" " mov r0, #0x0\n" @@ -7680,7 +7680,7 @@ void debug_sub_8012C08() " add r1, r5, #0\n" " mov r2, #0xa2\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r7, #0\n" " bl sub_8002F44\n" " mov r0, #0x0\n" @@ -7705,7 +7705,7 @@ void debug_sub_8012C08() " add r0, r7, #0\n" " mov r2, #0x90\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " b ._904\n" "._906:\n" " .align 2, 0\n" @@ -7728,7 +7728,7 @@ void debug_sub_8012C08() " add r0, r7, #0\n" " mov r2, #0x90\n" " mov r3, #0x2\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" "._904:\n" " add r5, r4, #0\n" " ldr r4, ._907 + 8\n" @@ -7741,7 +7741,7 @@ void debug_sub_8012C08() " str r0, [sp]\n" " add r0, r4, #0\n" " mov r3, #0x1a\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl sub_8002F44\n" " ldr r1, ._907\n" @@ -7816,7 +7816,7 @@ void debug_sub_8012D10() " str r0, [sp]\n" " add r0, r4, #0\n" " mov r3, #0x13\n" - " bl InitWindow\n" + " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl sub_8002F44\n" " ldr r1, ._920 + 8\n" diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index e54e0d17f..8ece4ebec 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -35,17 +35,17 @@ void InitKagayaDebugMenu_B() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xe\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._1\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xd\n" @@ -76,7 +76,7 @@ void debug_sub_80B061C() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 343d56bc2..1d36d528f 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -178,17 +178,17 @@ void debug_sub_815F1B8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0xe\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._1\n" " mov r0, #0x10\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xe\n" @@ -243,7 +243,7 @@ void debug_sub_815F214() " beq ._5 @cond_branch\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" "._5:\n" " ldrh r1, [r4, #0x2e]\n" " mov r0, #0x80\n" @@ -251,7 +251,7 @@ void debug_sub_815F214() " cmp r0, #0\n" " beq ._6 @cond_branch\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" "._6:\n" " ldrh r1, [r4, #0x2e]\n" " mov r0, #0x1\n" @@ -259,13 +259,13 @@ void debug_sub_815F214() " cmp r0, #0\n" " beq ._7 @cond_branch\n" " ldr r4, ._9 + 4\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, #0x4\n" " add r0, r0, r4\n" " ldr r4, [r0]\n" - " bl HandleDestroyMenuCursors\n" + " bl Menu_DestroyCursor\n" " bl _call_via_r4\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -331,7 +331,7 @@ u8 debug_sub_815F2B4() " push {lr}\n" " add sp, sp, #0xfffffffc\n" " bl CloseMenu\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r1, ._16\n" " ldr r0, ._16 + 4\n" " str r0, [r1, #0x8]\n" @@ -632,7 +632,7 @@ void debug_sub_815F4D8() " mov r1, #0x1\n" " mov r2, #0xa\n" " mov r3, #0xa\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r6, ._43\n" " ldr r7, ._43 + 4\n" " ldrb r1, [r7]\n" @@ -643,7 +643,7 @@ void debug_sub_815F4D8() " add r0, r6, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r2, ._43 + 8\n" " ldrb r1, [r7]\n" " lsl r0, r1, #0x2\n" @@ -669,11 +669,11 @@ void debug_sub_815F4D8() " add r0, r6, #0\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._43 + 16\n" " mov r1, #0x1\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, sp\n" " ldrb r1, [r0]\n" " add r0, r6, #0\n" @@ -683,11 +683,11 @@ void debug_sub_815F4D8() " add r0, r6, #0\n" " mov r1, #0x2\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._43 + 20\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldrb r1, [r4]\n" " add r0, r6, #0\n" " mov r2, #0x0\n" @@ -696,11 +696,11 @@ void debug_sub_815F4D8() " add r0, r6, #0\n" " mov r1, #0x3\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._43 + 24\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldrb r1, [r5]\n" " add r0, r6, #0\n" " mov r2, #0x0\n" @@ -709,7 +709,7 @@ void debug_sub_815F4D8() " add r0, r6, #0\n" " mov r1, #0x3\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._42:\n" " add sp, sp, #0x4\n" " pop {r4, r5, r6, r7}\n" @@ -811,12 +811,12 @@ u8 debug_sub_815F62C() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xb\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " bl debug_sub_815F4D8\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -866,7 +866,7 @@ void debug_sub_815F668() " add r0, r5, #0\n" " mov r1, #0x2\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " add r1, r6, #0\n" " bl __umodsi3\n" @@ -878,7 +878,7 @@ void debug_sub_815F668() " add r0, r5, #0\n" " mov r1, #0x7\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5, r6}\n" " pop {r0}\n" " bx r0\n" @@ -902,7 +902,7 @@ void debug_sub_815F6E4() " mov r1, #0x3\n" " mov r2, #0xb\n" " mov r3, #0x4\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r4, ._63\n" " ldr r0, ._63 + 4\n" " ldrb r0, [r0]\n" @@ -919,7 +919,7 @@ void debug_sub_815F6E4() " add r0, r4, #0\n" " mov r1, #0x2\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" @@ -942,7 +942,7 @@ void debug_sub_815F72C() " mov r1, #0x1\n" " mov r2, #0xb\n" " mov r3, #0xa\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r4, ._66\n" " ldr r5, ._66 + 4\n" " ldrb r1, [r5]\n" @@ -953,7 +953,7 @@ void debug_sub_815F72C() " add r0, r4, #0\n" " mov r1, #0x2\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r2, ._66 + 8\n" " ldrb r1, [r5]\n" " lsl r0, r1, #0x2\n" @@ -991,7 +991,7 @@ void debug_sub_815F788() " mov r1, #0x5\n" " mov r2, #0xb\n" " mov r3, #0x6\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r0, ._68\n" " ldr r1, ._68 + 4\n" " ldrb r1, [r1]\n" @@ -999,7 +999,7 @@ void debug_sub_815F788() " lsl r1, r1, #0x18\n" " lsr r1, r1, #0x18\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r0}\n" " bx r0\n" "._69:\n" @@ -1024,7 +1024,7 @@ void debug_sub_815F7B4() " mov r1, #0x1\n" " mov r2, #0xb\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " b ._71\n" "._73:\n" " .align 2, 0\n" @@ -1038,7 +1038,7 @@ void debug_sub_815F7B4() " add r0, r0, r1\n" " mov r1, #0xb\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._71:\n" " pop {r0}\n" " bx r0\n" @@ -1354,12 +1354,12 @@ void debug_sub_815F930() " mov r1, #0x5\n" " mov r2, #0xb\n" " mov r3, #0x6\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " mov r0, #0xb\n" " mov r1, #0x1\n" " mov r2, #0xb\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r1, ._133\n" " ldr r0, ._133 + 4\n" " str r0, [r1]\n" @@ -1413,7 +1413,7 @@ void debug_sub_815FA38() " beq ._141 @cond_branch\n" " mov r0, #0x2\n" "._138:\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" "._161:\n" " mov r0, #0x0\n" " b ._142\n" @@ -1481,7 +1481,7 @@ void debug_sub_815FA38() " ldrb r0, [r0]\n" " cmp r0, #0\n" " beq ._161 @cond_branch\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " ldr r1, ._159 + 12\n" " strb r0, [r1]\n" " ldr r0, ._159 + 16\n" @@ -1535,12 +1535,12 @@ u8 debug_sub_815FB1C() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xc\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " bl debug_sub_815F72C\n" " mov r0, #0x0\n" " str r0, [sp]\n" @@ -1591,7 +1591,7 @@ void debug_sub_815FB78() " beq ._168 @cond_branch\n" " mov r0, #0x1\n" "._165:\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " mov r0, #0x0\n" " b ._177\n" "._168:\n" @@ -1600,7 +1600,7 @@ void debug_sub_815FB78() " cmp r0, #0\n" " beq ._170 @cond_branch\n" " bl CloseMenu\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " cmp r0, #0\n" @@ -1646,7 +1646,7 @@ u8 debug_sub_815FBE8() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " ldr r4, ._178 + 8\n" " add r0, r4, #0\n" " bl debug_sub_814A73C\n" @@ -1654,15 +1654,15 @@ u8 debug_sub_815FBE8() " mov r1, #0x0\n" " mov r2, #0xb\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, r4, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._178 + 12\n" " mov r1, #0x2\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xa\n" @@ -1739,7 +1739,7 @@ u8 debug_sub_815FC94() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " bl CloseMenu\n" " mov r0, #0x1\n" " pop {r1}\n" @@ -1945,7 +1945,7 @@ void debug_sub_815FDE4() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " bl CloseMenu\n" " mov r0, #0x1\n" " b ._204\n" @@ -1971,16 +1971,16 @@ u8 debug_sub_815FE1C() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x10\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._210\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r6, ._210 + 4\n" " mov r0, #0x0\n" " bl debug_sub_815FCB4\n" @@ -1994,7 +1994,7 @@ u8 debug_sub_815FE1C() " add r0, r6, #0\n" " mov r1, #0x5\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x1\n" " bl debug_sub_815FCB4\n" " add r1, r0, #0\n" @@ -2007,7 +2007,7 @@ u8 debug_sub_815FE1C() " add r0, r6, #0\n" " mov r1, #0x5\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x2\n" " bl debug_sub_815FCB4\n" " add r1, r0, #0\n" @@ -2020,7 +2020,7 @@ u8 debug_sub_815FE1C() " add r0, r6, #0\n" " mov r1, #0x5\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " bl debug_sub_8092344\n" " add r1, r0, #0\n" @@ -2033,7 +2033,7 @@ u8 debug_sub_815FE1C() " add r0, r6, #0\n" " mov r1, #0xb\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x1\n" " bl debug_sub_8092344\n" " add r1, r0, #0\n" @@ -2046,7 +2046,7 @@ u8 debug_sub_815FE1C() " add r0, r6, #0\n" " mov r1, #0xb\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x2\n" " bl debug_sub_8092344\n" " add r1, r0, #0\n" @@ -2059,7 +2059,7 @@ u8 debug_sub_815FE1C() " add r0, r6, #0\n" " mov r1, #0xb\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._210 + 8\n" " ldr r1, ._210 + 12\n" " add r0, r0, r1\n" @@ -2120,7 +2120,7 @@ u8 debug_sub_815FE1C() " lsr r2, r2, #0x18\n" " add r0, r6, #0\n" " add r1, r4, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" @@ -2139,7 +2139,7 @@ u8 debug_sub_815FE1C() " add r0, r4, #0\n" " mov r1, #0x2\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._210 + 16\n" " ldr r0, ._210 + 20\n" " str r0, [r1]\n" @@ -2171,16 +2171,16 @@ void debug_sub_815FFDC() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x0\n" " mov r1, #0xe\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._214\n" " mov r1, #0x1\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r5, #0x0\n" " ldr r0, ._214 + 4\n" " mov r8, r0\n" @@ -2278,7 +2278,7 @@ void debug_sub_816009C() " lsl r2, r2, #0x18\n" " lsr r2, r2, #0x18\n" " mov r1, #0x10\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r0}\n" " bx r0\n" "._220:\n" @@ -2330,7 +2330,7 @@ void debug_sub_81600D0() " lsl r2, r2, #0x18\n" " lsr r2, r2, #0x18\n" " mov r1, #0x17\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._226\n" "._228:\n" " .align 2, 0\n" @@ -2343,7 +2343,7 @@ void debug_sub_81600D0() " lsr r2, r2, #0x18\n" " mov r0, sp\n" " mov r1, #0x17\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._226:\n" " add sp, sp, #0x4\n" " pop {r4, r5}\n" @@ -2378,7 +2378,7 @@ void debug_sub_816013C() " add r0, r5, #0\n" " mov r1, #0x1a\n" " add r2, r4, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5}\n" " pop {r0}\n" " bx r0\n" @@ -2407,7 +2407,7 @@ void debug_sub_816017C() " lsr r3, r3, #0x18\n" " mov r0, #0x10\n" " mov r2, #0x1c\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r1, ._232\n" " lsl r0, r4, #0x2\n" " add r0, r0, r1\n" @@ -2634,7 +2634,7 @@ void debug_sub_8160308() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " mov r2, #0x0\n" "._252:\n" " add r1, r2, #1\n" @@ -2748,7 +2748,7 @@ void debug_sub_81603B8() " lsl r3, r3, #0x18\n" " lsr r3, r3, #0x18\n" " add r0, r2, #0\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " cmp r6, #0\n" " bne ._256 @cond_branch\n" " cmp r4, #0\n" @@ -3698,7 +3698,7 @@ void debug_sub_8160A80() " add r0, r4, #0\n" " mov r1, #0x8\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._440\n" "._423:\n" " .align 2, 0\n" @@ -3715,7 +3715,7 @@ void debug_sub_8160A80() " add r0, r4, #0\n" " mov r1, #0x8\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._440\n" "._427:\n" " .align 2, 0\n" @@ -3731,7 +3731,7 @@ void debug_sub_8160A80() " add r0, r4, #0\n" " mov r1, #0x8\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._440\n" "._431:\n" " .align 2, 0\n" @@ -3747,7 +3747,7 @@ void debug_sub_8160A80() " add r0, r4, #0\n" " mov r1, #0x8\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._440\n" "._435:\n" " .align 2, 0\n" @@ -3763,7 +3763,7 @@ void debug_sub_8160A80() " add r0, r4, #0\n" " mov r1, #0x8\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._440\n" "._439:\n" " .align 2, 0\n" @@ -3779,7 +3779,7 @@ void debug_sub_8160A80() " add r0, r4, #0\n" " mov r1, #0x8\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._440:\n" " pop {r4}\n" " pop {r0}\n" @@ -3871,11 +3871,11 @@ void debug_sub_8160BB0() " mov r1, #0x1\n" " mov r2, #0x8\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5}\n" " pop {r0}\n" " bx r0\n" @@ -3898,32 +3898,32 @@ void debug_sub_8160BE4() " mov r1, #0x0\n" " mov r2, #0xc\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " bl debug_sub_8160BB0\n" " ldr r0, ._459\n" " mov r1, #0x2\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._459 + 4\n" " mov r1, #0x2\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._459 + 8\n" " mov r1, #0x2\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._459 + 12\n" " mov r1, #0x2\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._459 + 16\n" " mov r1, #0x2\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._459 + 20\n" " mov r1, #0x2\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r4, #0x0\n" "._458:\n" " add r0, r4, #0\n" @@ -4057,7 +4057,7 @@ void debug_sub_8160CF4() " beq ._475 @cond_branch\n" " mov r0, #0x1\n" "._472:\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " mov r0, #0x0\n" " b ._484\n" "._475:\n" @@ -4065,7 +4065,7 @@ void debug_sub_8160CF4() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._477 @cond_branch\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov r1, #0x1\n" @@ -4076,13 +4076,13 @@ void debug_sub_8160CF4() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._479 @cond_branch\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov r1, #0x1\n" "._478:\n" " bl debug_sub_8160B50\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " bl debug_sub_8160A80\n" @@ -4112,7 +4112,7 @@ void debug_sub_8160CF4() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " bl CloseMenu\n" " mov r0, #0x1\n" "._484:\n" @@ -4131,7 +4131,7 @@ u8 debug_sub_8160D98() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " bl debug_sub_8160BE4\n" " ldr r1, ._485\n" " ldr r0, ._485 + 4\n" @@ -4157,43 +4157,43 @@ void debug_sub_8160DC0() " mov r1, #0x0\n" " mov r2, #0x16\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._487\n" " mov r1, #0xb\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 4\n" " mov r1, #0x2\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 8\n" " mov r1, #0x2\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 12\n" " mov r1, #0x2\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 16\n" " mov r1, #0x2\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 20\n" " mov r1, #0x2\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 24\n" " mov r1, #0x2\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 28\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._487 + 32\n" " mov r1, #0x2\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r0}\n" " bx r0\n" "._488:\n" @@ -4222,7 +4222,7 @@ void debug_sub_8160E50() " mov r1, #0x1\n" " mov r2, #0xa\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r5, ._489\n" " add r0, r6, #0\n" " mov r1, #0x2\n" @@ -4231,12 +4231,12 @@ void debug_sub_8160E50() " add r0, r5, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xc\n" " mov r1, #0x1\n" " mov r2, #0x15\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r6, #0\n" " mov r1, #0xb\n" " bl GetMonData\n" @@ -4246,7 +4246,7 @@ void debug_sub_8160E50() " add r0, r0, r1\n" " mov r1, #0xc\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x1a\n" " bl GetMonData\n" @@ -4262,11 +4262,11 @@ void debug_sub_8160E50() " mov r1, #0x3\n" " mov r2, #0x11\n" " mov r3, #0x4\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x1b\n" " bl GetMonData\n" @@ -4284,11 +4284,11 @@ void debug_sub_8160E50() " mov r1, #0x5\n" " mov r2, #0x11\n" " mov r3, #0x6\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x1c\n" " bl GetMonData\n" @@ -4306,11 +4306,11 @@ void debug_sub_8160E50() " mov r1, #0x7\n" " mov r2, #0x11\n" " mov r3, #0x8\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x1d\n" " bl GetMonData\n" @@ -4328,11 +4328,11 @@ void debug_sub_8160E50() " mov r1, #0x9\n" " mov r2, #0x11\n" " mov r3, #0xa\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x1e\n" " bl GetMonData\n" @@ -4350,11 +4350,11 @@ void debug_sub_8160E50() " mov r1, #0xb\n" " mov r2, #0x11\n" " mov r3, #0xc\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x1f\n" " bl GetMonData\n" @@ -4372,11 +4372,11 @@ void debug_sub_8160E50() " mov r1, #0xd\n" " mov r2, #0x11\n" " mov r3, #0xe\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r5, #0\n" " add r1, r4, #0\n" " mov r2, #0x0\n" @@ -4386,11 +4386,11 @@ void debug_sub_8160E50() " mov r1, #0xf\n" " mov r2, #0x11\n" " mov r3, #0x10\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x20\n" " bl GetMonData\n" @@ -4403,11 +4403,11 @@ void debug_sub_8160E50() " mov r1, #0x11\n" " mov r2, #0x11\n" " mov r3, #0x12\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0xd\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5, r6}\n" " pop {r0}\n" " bx r0\n" @@ -4565,7 +4565,7 @@ void debug_sub_81610BC() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " bl CloseMenu\n" " mov r0, #0x1\n" "._518:\n" @@ -4584,7 +4584,7 @@ void DebugMenu_EffortValues() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " ldr r1, ._519\n" " mov r0, #0x0\n" " strb r0, [r1]\n" @@ -4689,52 +4689,52 @@ void debug_sub_81611D8() " mov r1, #0x0\n" " mov r2, #0xf\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._531\n" " mov r1, #0x2\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._531 + 4\n" " mov r1, #0x2\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._531 + 8\n" " mov r1, #0x2\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._531 + 12\n" " mov r1, #0x2\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._531 + 16\n" " mov r1, #0x2\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._531 + 20\n" " mov r1, #0xd\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r4, ._531 + 24\n" " add r0, r4, #0\n" " mov r1, #0xc\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0xc\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0xc\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0xc\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0xc\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xe\n" @@ -4778,7 +4778,7 @@ void debug_sub_8161290() " add r0, r4, #0\n" " mov r1, #0x8\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" @@ -4812,7 +4812,7 @@ void debug_sub_81612B8() " add r0, r5, #0\n" " mov r1, #0x8\n" " add r2, r4, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5}\n" " pop {r0}\n" " bx r0\n" @@ -4858,7 +4858,7 @@ void debug_sub_81612EC() " beq ._542 @cond_branch\n" " mov r0, #0x1\n" "._539:\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" "._565:\n" " mov r0, #0x0\n" " b ._543\n" @@ -4867,7 +4867,7 @@ void debug_sub_81612EC() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._544 @cond_branch\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " asr r4, r0, #0x18\n" " cmp r4, #0\n" @@ -4910,7 +4910,7 @@ void debug_sub_81612EC() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._552 @cond_branch\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " asr r4, r0, #0x18\n" " cmp r4, #0\n" @@ -4978,7 +4978,7 @@ void debug_sub_81612EC() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " bl CloseMenu\n" " mov r0, #0x1\n" "._543:\n" @@ -5007,7 +5007,7 @@ void DebugMenu_RandomNumberTest() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " bl debug_sub_81611D8\n" " ldr r1, ._566 + 16\n" " ldr r0, ._566 + 20\n" diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index 2e739ef4d..f929170fd 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -11,17 +11,17 @@ void InitNoharaDebugMenu() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x13\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._1\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x12\n" @@ -53,7 +53,7 @@ void debug_sub_808F414() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -97,17 +97,17 @@ void NoharaDebugMenu_TV() " ldr r1, ._8\n" " mov r0, #0x0\n" " strb r0, [r1]\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xa\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._8 + 4\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x9\n" @@ -140,7 +140,7 @@ void debug_sub_808F4AC() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -356,7 +356,7 @@ void debug_sub_808F5D8() " add r0, r0, r8\n" " ldrb r2, [r0]\n" " add r0, r6, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" @@ -400,7 +400,7 @@ void debug_sub_808F648() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xd\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " ldr r0, ._35 + 4\n" " ldrb r1, [r0]\n" " mov r2, #0x1\n" @@ -478,7 +478,7 @@ void debug_sub_808F6BC() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" @@ -505,7 +505,7 @@ void debug_sub_808F6BC() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._47\n" "._49:\n" " .align 2, 0\n" @@ -521,7 +521,7 @@ void debug_sub_808F6BC() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x6\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._47:\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" @@ -550,7 +550,7 @@ void debug_sub_808F6BC() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._52\n" "._54:\n" " .align 2, 0\n" @@ -566,7 +566,7 @@ void debug_sub_808F6BC() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0xc\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._52:\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" @@ -607,7 +607,7 @@ void debug_sub_808F7B4() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" @@ -634,7 +634,7 @@ void debug_sub_808F7B4() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._58\n" "._60:\n" " .align 2, 0\n" @@ -650,7 +650,7 @@ void debug_sub_808F7B4() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x6\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._58:\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" @@ -679,7 +679,7 @@ void debug_sub_808F7B4() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._63\n" "._65:\n" " .align 2, 0\n" @@ -695,7 +695,7 @@ void debug_sub_808F7B4() " lsr r1, r1, #0x18\n" " add r0, r5, #0\n" " mov r2, #0xc\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._63:\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" @@ -745,17 +745,17 @@ void debug_sub_808F8CC() " mov r1, #0x6\n" " mov r2, #0x1a\n" " mov r3, #0x8\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r0, ._69 + 8\n" " ldr r0, [r0]\n" " mov r1, #0xe\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x16\n" " mov r1, #0x1\n" " mov r2, #0x18\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r4, ._69 + 12\n" " add r0, r4, #0\n" " mov r1, #0x0\n" @@ -765,7 +765,7 @@ void debug_sub_808F8CC() " add r0, r4, #0\n" " mov r1, #0x17\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._69 + 16\n" " ldr r0, ._69 + 20\n" " str r0, [r1]\n" @@ -878,7 +878,7 @@ void debug_sub_808F93C() " mov r1, #0x6\n" " mov r2, #0x1a\n" " mov r3, #0x8\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r1, ._83 + 12\n" " ldr r0, ._83 + 8\n" " ldrb r0, [r0]\n" @@ -887,12 +887,12 @@ void debug_sub_808F93C() " ldr r0, [r0]\n" " mov r1, #0xe\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x16\n" " mov r1, #0x1\n" " mov r2, #0x18\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r4, ._83 + 16\n" " ldr r0, ._83 + 4\n" " ldrb r1, [r0]\n" @@ -903,7 +903,7 @@ void debug_sub_808F93C() " add r0, r4, #0\n" " mov r1, #0x17\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._79:\n" " ldr r4, ._83\n" " ldrh r1, [r4, #0x2e]\n" @@ -1483,17 +1483,17 @@ void debug_sub_808FECC() " mov r1, #0x6\n" " mov r2, #0x17\n" " mov r3, #0x8\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r0, ._178 + 8\n" " ldr r0, [r0]\n" " mov r1, #0xe\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x16\n" " mov r1, #0x1\n" " mov r2, #0x18\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r4, ._178 + 12\n" " add r0, r4, #0\n" " mov r1, #0x0\n" @@ -1503,7 +1503,7 @@ void debug_sub_808FECC() " add r0, r4, #0\n" " mov r1, #0x17\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._178 + 16\n" " ldr r0, ._178 + 20\n" " str r0, [r1]\n" @@ -1616,7 +1616,7 @@ void debug_sub_808FF3C() " mov r1, #0x6\n" " mov r2, #0x17\n" " mov r3, #0x8\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r1, ._192 + 12\n" " ldr r0, ._192 + 8\n" " ldrb r0, [r0]\n" @@ -1625,12 +1625,12 @@ void debug_sub_808FF3C() " ldr r0, [r0]\n" " mov r1, #0xe\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x16\n" " mov r1, #0x1\n" " mov r2, #0x18\n" " mov r3, #0x2\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r4, ._192 + 16\n" " ldr r0, ._192 + 4\n" " ldrb r1, [r0]\n" @@ -1641,7 +1641,7 @@ void debug_sub_808FF3C() " add r0, r4, #0\n" " mov r1, #0x17\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._188:\n" " ldr r4, ._192\n" " ldrh r1, [r4, #0x2e]\n" @@ -1816,17 +1816,17 @@ void NoharaDebugMenu_Fan() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xb\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._204\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xa\n" @@ -1858,7 +1858,7 @@ void debug_sub_80901A4() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -1926,7 +1926,7 @@ void debug_sub_80901F8() " ldr r0, [r0]\n" " mov r1, #0xe\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._211 + 8\n" " ldr r0, ._211 + 12\n" " str r0, [r1]\n" @@ -1962,7 +1962,7 @@ void debug_sub_8090238() " ldr r0, [r0]\n" " mov r1, #0xe\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._213 + 8\n" " ldr r0, ._213 + 12\n" " str r0, [r1]\n" @@ -2026,7 +2026,7 @@ void debug_sub_809029C() " add r0, r4, #0\n" " mov r1, #0x10\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._219 + 12\n" " ldr r0, ._219 + 16\n" " str r0, [r1]\n" diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 28f3a26d1..6f9f0d02c 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -28,7 +28,7 @@ void debug_sub_8076AC8() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuZeroFillWindowRect\n" + " bl Menu_EraseWindowRect\n" " lsl r3, r4, #0x1\n" " add r3, r3, #0x1\n" " lsl r3, r3, #0x18\n" @@ -36,7 +36,7 @@ void debug_sub_8076AC8() " mov r0, #0x10\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" " ldr r3, ._3 + 8\n" @@ -101,15 +101,15 @@ void debug_sub_8076B68() " ldr r0, ._8\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._8 + 4\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._8 + 8\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x4\n" " mov r1, #0xb\n" " bl debug_sub_8077CF4\n" @@ -143,11 +143,11 @@ void debug_sub_8076BB4() " lsl r1, r1, #0x3\n" " ldr r0, ._13\n" " add r5, r1, r0\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r1, r0, #0x18\n" " lsl r4, r4, #0x18\n" @@ -500,11 +500,11 @@ void DebugMenu_8076D6C() " beq ._53 @cond_branch\n" " b ._64\n" "._49:\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._56\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._55\n" "._57:\n" " .align 2, 0\n" @@ -516,11 +516,11 @@ void DebugMenu_8076D6C() " and r1, r1, r2\n" " cmp r1, #0\n" " beq ._58 @cond_branch\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._60 + 4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x49\n" " bl PlaySE\n" " bl RtcReset\n" @@ -615,11 +615,11 @@ void DebugMenu_8076E30() " beq ._75 @cond_branch\n" " b ._86\n" "._71:\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._78\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._77\n" "._79:\n" " .align 2, 0\n" @@ -631,12 +631,12 @@ void DebugMenu_8076E30() " and r1, r1, r2\n" " cmp r1, #0\n" " beq ._80 @cond_branch\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " bl sub_813B79C\n" " ldr r0, ._82 + 4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x49\n" " bl PlaySE\n" "._77:\n" @@ -710,13 +710,13 @@ void DebugMenu_8076EF4() " mov r1, #0x0\n" " mov r2, #0xb\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r4, ._93\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x8\n" " add r3, r4, #0\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r5, #0x0\n" " add r4, r4, #0x4\n" "._92:\n" @@ -769,11 +769,11 @@ void DebugMenu_8076F60() " push {r4, r5, lr}\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r2, r0, #0x18\n" " lsl r4, r4, #0x18\n" @@ -785,7 +785,7 @@ void DebugMenu_8076F60() " add r0, r0, #0x1\n" " cmp r4, r0\n" " bne ._96 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl debug_sub_8076B68\n" " add r0, r5, #0\n" " bl DestroyTask\n" @@ -971,7 +971,7 @@ void DebugMenu_807709C() " bl PlaySE\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._120 + 4\n" " strb r0, [r1]\n" "._115:\n" @@ -983,7 +983,7 @@ void DebugMenu_807709C() " mov r0, #0x5\n" " bl PlaySE\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._120 + 4\n" " strb r0, [r1]\n" "._116:\n" @@ -1097,7 +1097,7 @@ void DebugMenu_807719C() " mov r1, #0x0\n" " mov r2, #0xe\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._133\n" " ldr r0, ._133 + 4\n" " ldr r0, [r0]\n" @@ -1154,11 +1154,11 @@ void DebugMenu_80771EC() " mov r1, #0xc\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._135\n" " mov r1, #0x14\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" @@ -1281,7 +1281,7 @@ void DebugMenu_8077238() " mov r1, #0x10\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._139 + 12\n" " mov r1, #0x1d\n" " ldr r2, [sp, #0x14]\n" @@ -1289,7 +1289,7 @@ void DebugMenu_8077238() " lsl r1, r1, #0x18\n" " lsr r1, r1, #0x18\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0x18\n" " pop {r3, r4, r5}\n" " mov r8, r3\n" @@ -1489,7 +1489,7 @@ void DebugMenu_8077434() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " cmp r0, #0x4\n" @@ -1909,7 +1909,7 @@ void DebugMenu_EditPKMN() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl debug_sub_815FFDC\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -1940,7 +1940,7 @@ void DebugMenu_80776B4() " mov r0, #0x19\n" " add r1, r5, #0\n" " mov r2, #0x1d\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r0, ._183 + 4\n" " ldrb r0, [r0]\n" " ASR r0, r4\n" @@ -1950,7 +1950,7 @@ void DebugMenu_80776B4() " add r0, r0, sp\n" " mov r1, #0x19\n" " add r2, r5, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0x8\n" " pop {r4, r5}\n" " pop {r0}\n" @@ -1978,11 +1978,11 @@ void DebugMenu_8077704() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x8\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " mov r0, sp\n" " mov r1, #0x15\n" " mov r2, #0x0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r2, ._185 + 4\n" " mov r0, #0x80\n" " lsl r0, r0, #0x13\n" @@ -2027,7 +2027,7 @@ void DebugMenu_8077760() " bl PlaySE\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._190 + 4\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" @@ -2052,7 +2052,7 @@ void DebugMenu_8077760() " mov r0, #0x5\n" " bl PlaySE\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._195\n" " ldrb r0, [r1]\n" " cmp r0, #0x3\n" @@ -2076,7 +2076,7 @@ void DebugMenu_8077760() " mov r0, #0x5\n" " bl PlaySE\n" " ldr r4, ._201\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov r1, #0x1\n" @@ -2084,7 +2084,7 @@ void DebugMenu_8077760() " ldrb r0, [r4]\n" " eor r1, r1, r0\n" " strb r1, [r4]\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " bl DebugMenu_80776B4\n" @@ -2133,7 +2133,7 @@ void DebugMenu_SwitchBG() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl DebugMenu_8077704\n" " mov r0, #0x0\n" " str r0, [sp]\n" @@ -2177,13 +2177,13 @@ void DebugMenu_807786C() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x3\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " lsl r0, r4, #0x1\n" " add r0, r0, r4\n" " add r0, r0, sp\n" " mov r1, #0x1a\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0x8\n" " pop {r4}\n" " pop {r0}\n" @@ -2250,7 +2250,7 @@ void DebugMenu_ControlEncounter() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._213\n" " ldrb r0, [r0]\n" " bl DebugMenu_807786C\n" @@ -2345,7 +2345,7 @@ void DebugMenu_8077974() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r1, ._226\n" " mov r0, #0x4\n" " ldsb r0, [r1, r0]\n" @@ -2494,7 +2494,7 @@ void DebugMenu_RematchTrainers() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._240\n" " mov r1, #0xd\n" " mov r2, #0x5\n" @@ -2602,7 +2602,7 @@ void DebugMenu_8077B00() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl unref_sub_80C853C\n" " cmp r0, #0\n" " beq ._250 @cond_branch\n" @@ -2660,7 +2660,7 @@ void DebugMenu_Safari() " bl GetSafariZoneFlag\n" " cmp r0, #0\n" " beq ._258 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._260\n" " mov r1, #0xe\n" " mov r2, #0x5\n" @@ -2803,7 +2803,7 @@ void DebugMenu_8077C14() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._264\n" " mov r1, #0xa\n" " mov r2, #0x9\n" @@ -2945,7 +2945,7 @@ void debug_sub_8077CF4() " add r0, r6, #0\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5, r6}\n" " pop {r0}\n" " bx r0\n" @@ -2971,7 +2971,7 @@ void DebugMenu_8077D24() " lsr r4, r4, #0x18\n" " lsl r5, r5, #0x18\n" " lsr r5, r5, #0x18\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " lsl r3, r5, #0x1\n" " add r3, r3, #0x1\n" " lsl r3, r3, #0x18\n" @@ -2979,12 +2979,12 @@ void DebugMenu_8077D24() " mov r0, #0x0\n" " mov r1, #0x0\n" " add r2, r4, #0\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " add r2, r5, #0\n" " add r3, r6, #0\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " sub r4, r4, #0x1\n" @@ -3009,7 +3009,7 @@ void DebugMenu_8077D78() asm( " push {r4, r5, lr}\n" " add r5, r0, #0\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r4, r0, #0x18\n" " mov r0, #0x2\n" @@ -3019,7 +3019,7 @@ void DebugMenu_8077D78() " add r0, r0, #0x1\n" " cmp r4, r0\n" " beq ._276 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._278\n" " lsl r1, r4, #0x3\n" " add r1, r1, r5\n" @@ -3216,7 +3216,7 @@ void DebugMenu_8077EAC() " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r1, ._303 + 4\n" " lsl r0, r4, #0x2\n" " add r0, r0, r4\n" @@ -3252,7 +3252,7 @@ void DebugMenu_8077EE0() " mov r1, #0x11\n" " mov r2, #0x16\n" " mov r3, #0x12\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r5, ._305\n" " add r0, r5, #0\n" " add r1, r4, #0\n" @@ -3262,12 +3262,12 @@ void DebugMenu_8077EE0() " add r0, r5, #0\n" " mov r1, #0x4\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " bl ItemId_GetItem\n" " mov r1, #0x8\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r5, #0\n" " add r1, r6, #0\n" " mov r2, #0x1\n" @@ -3276,7 +3276,7 @@ void DebugMenu_8077EE0() " add r0, r5, #0\n" " mov r1, #0x12\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5, r6}\n" " pop {r0}\n" " bx r0\n" @@ -3300,11 +3300,11 @@ void DebugMenu_8077F40() " lsl r4, r4, #0x3\n" " ldr r0, ._307\n" " add r4, r4, r0\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._307 + 4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldrh r0, [r4, #0xa]\n" " ldrh r1, [r4, #0xc]\n" " bl DebugMenu_8077EE0\n" @@ -3341,11 +3341,11 @@ void DebugMenu_8077F7C() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._309 @cond_branch\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._311 + 8\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldrh r0, [r4, #0xa]\n" " ldrh r1, [r4, #0xc]\n" " bl DebugMenu_8077EE0\n" @@ -3466,7 +3466,7 @@ void DebugMenu_807806C() " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r4, #0\n" " bl DestroyTask\n" @@ -3493,16 +3493,16 @@ void DebugMenu_807808C() " lsl r1, r4, #0x5\n" " ldr r0, ._331\n" " add r5, r1, r0\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x13\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._331 + 4\n" " mov r1, #0x2\n" " mov r2, #0x2\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, sp\n" " add r1, r4, #0\n" " mov r2, #0x1\n" @@ -3511,7 +3511,7 @@ void DebugMenu_807808C() " mov r0, sp\n" " mov r1, #0xb\n" " mov r2, #0x2\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldrh r1, [r5, #0x8]\n" " mov r0, sp\n" " mov r2, #0x1\n" @@ -3520,7 +3520,7 @@ void DebugMenu_807808C() " mov r0, sp\n" " mov r1, #0xb\n" " mov r2, #0x4\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r4, r5, #0\n" " add r4, r4, #0xb\n" " add r0, r4, #0\n" @@ -3532,7 +3532,7 @@ void DebugMenu_807808C() " add r0, r4, #0\n" " mov r1, #0xb\n" " mov r2, #0x6\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._330\n" "._332:\n" " .align 2, 0\n" @@ -3543,7 +3543,7 @@ void DebugMenu_807808C() " ldr r0, ._335\n" " mov r1, #0xb\n" " mov r2, #0x6\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._330:\n" " add r4, r5, #0\n" " add r4, r4, #0x16\n" @@ -3556,7 +3556,7 @@ void DebugMenu_807808C() " add r0, r4, #0\n" " mov r1, #0xb\n" " mov r2, #0x8\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._334\n" "._336:\n" " .align 2, 0\n" @@ -3566,7 +3566,7 @@ void DebugMenu_807808C() " ldr r0, ._337\n" " mov r1, #0xb\n" " mov r2, #0x8\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._334:\n" " ldrb r1, [r5, #0xa]\n" " mov r0, sp\n" @@ -3576,7 +3576,7 @@ void DebugMenu_807808C() " mov r0, sp\n" " mov r1, #0xb\n" " mov r2, #0xa\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, [r5]\n" " mov r0, sp\n" " mov r2, #0x2\n" @@ -3585,7 +3585,7 @@ void DebugMenu_807808C() " mov r0, sp\n" " mov r1, #0xb\n" " mov r2, #0xc\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0xc\n" " pop {r4, r5}\n" " pop {r0}\n" @@ -3611,7 +3611,7 @@ void DebugMenu_807817C() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._339 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " add r0, r4, #0\n" " bl DestroyTask\n" " bl ScriptContext2_Disable\n" @@ -3685,7 +3685,7 @@ void DebugMenu_80781A8() " mov r1, #0x11\n" " mov r2, #0x16\n" " mov r3, #0x12\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r4, ._351\n" " mov r2, #0x8\n" " ldsh r1, [r5, r2]\n" @@ -3696,7 +3696,7 @@ void DebugMenu_80781A8() " add r0, r4, #0\n" " mov r1, #0x4\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._350:\n" " pop {r4, r5}\n" " pop {r0}\n" @@ -3904,7 +3904,7 @@ void DebugMenu_8078310() " cmp r0, #0\n" " beq ._373 @cond_branch\n" "._370:\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " add r0, r5, #0\n" " bl DestroyTask\n" " bl ScriptContext2_Disable\n" @@ -4020,7 +4020,7 @@ void DebugMenu_ToggleClearFlag() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._390\n" " bl FlagGet\n" " mov r1, #0x1\n" @@ -4099,7 +4099,7 @@ void DebugMenu_OpenWeatherEvents() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._404\n" " bl FlagGet\n" " mov r1, #0x0\n" @@ -4170,7 +4170,7 @@ void DebugMenu_OpenMysteryEvent() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl IsMysteryGiftEnabled\n" " mov r1, #0x0\n" " cmp r0, #0\n" @@ -4271,11 +4271,11 @@ void DebugMenu_8078550() " mov r3, #0x2\n" " bl ConvertIntToDecimalStringN\n" "._423:\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._426 + 4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5, r6, r7}\n" " pop {r0}\n" " bx r0\n" @@ -4379,7 +4379,7 @@ void DebugMenu_807860C() " bl DebugMenu_8078550\n" " b ._447\n" "._434:\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r5, #0\n" " bl DestroyTask\n" @@ -4589,7 +4589,7 @@ void DebugMenu_OpenLegendsRecord() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._464\n" " mov r1, #0xc\n" " mov r2, #0x3\n" @@ -4710,13 +4710,13 @@ void DebugMenu_8078880() " beq ._474 @cond_branch\n" " b ._480\n" "._470:\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " b ._476\n" "._468:\n" " ldr r0, ._478\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._476:\n" " ldrh r0, [r4, #0x8]\n" " add r0, r0, #0x1\n" @@ -4733,7 +4733,7 @@ void DebugMenu_8078880() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._480 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r5, #0\n" " bl DestroyTask\n" @@ -4788,11 +4788,11 @@ void DebugMenu_OpenBerryInfo() " mov r1, #0x0\n" " mov r2, #0x13\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, r4, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._487\n" " ldr r0, ._487 + 4\n" " str r0, [r1]\n" @@ -4815,11 +4815,11 @@ void DebugMenu_8078950() { asm( " push {lr}\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._489\n" " mov r1, #0x4\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r0}\n" " bx r0\n" "._490:\n" @@ -4858,7 +4858,7 @@ void DebugMenu_8078968() " ldr r0, ._495\n" " mov r1, #0x4\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r0}\n" " bx r0\n" "._496:\n" @@ -4885,7 +4885,7 @@ void DebugMenu_80789A4() " add r0, r4, #0\n" " mov r1, #0x9\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" @@ -5112,7 +5112,7 @@ void DebugMenu_8078B38() " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r4, #0\n" " bl DestroyTask\n" @@ -5250,7 +5250,7 @@ void DebugMenu_8078BD4() " beq ._539 @cond_branch\n" " mov r0, #0x49\n" " bl PlaySE\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " add r0, r5, #0\n" " bl DestroyTask\n" " bl ScriptContext2_Disable\n" @@ -5265,7 +5265,7 @@ void DebugMenu_8078BD4() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._543 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " add r0, r5, #0\n" " bl DestroyTask\n" " bl ScriptContext2_Disable\n" @@ -5314,11 +5314,11 @@ void DebugMenu_8078C80() { asm( " push {lr}\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._548\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._548 + 4\n" " ldr r0, ._548 + 8\n" " str r0, [r1]\n" @@ -5465,11 +5465,11 @@ void DebugMenu_8078D7C() { asm( " push {lr}\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._565\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._565 + 4\n" " ldr r0, ._565 + 8\n" " str r0, [r1]\n" @@ -5518,7 +5518,7 @@ void DebugMenu_MeTooBackupMan() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " ldr r0, ._571\n" " mov r1, #0xc\n" " mov r2, #0x2\n" @@ -5655,7 +5655,7 @@ void DebugMenu_8078E80() " mov r1, #0xf\n" " mov r2, #0x16\n" " mov r3, #0x10\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r1, ._581\n" " mov r2, #0x0\n" " ldsh r0, [r4, r2]\n" @@ -5692,7 +5692,7 @@ void DebugMenu_8078EB0() " add r0, r4, #0\n" " mov r1, #0x2\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xf0\n" " mov r1, #0x5\n" " mov r2, #0x11\n" @@ -5706,7 +5706,7 @@ void DebugMenu_8078EB0() " add r0, r4, #0\n" " mov r1, #0x6\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xf0\n" " mov r1, #0x8\n" " mov r2, #0x11\n" @@ -5720,7 +5720,7 @@ void DebugMenu_8078EB0() " add r0, r4, #0\n" " mov r1, #0x9\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5}\n" " pop {r0}\n" " bx r0\n" @@ -5753,7 +5753,7 @@ void DebugMenu_8078F1C() " strh r0, [r5, #0x4]\n" " ldrb r0, [r1, #0x11]\n" " strh r0, [r5, #0x6]\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " add r0, r5, #0\n" " bl DebugMenu_8078EB0\n" " add r0, r5, #0\n" @@ -5888,7 +5888,7 @@ void DebugMenu_8079020() " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r4, #0\n" " bl DestroyTask\n" @@ -5952,7 +5952,7 @@ void DebugMenu_8079058() "._608:\n" " ldr r0, ._615\n" " str r1, [r0]\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " b ._614\n" "._616:\n" " .align 2, 0\n" @@ -5962,7 +5962,7 @@ void DebugMenu_8079058() " ldr r0, ._618\n" " mov r1, #0x4\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x14\n" " mov r1, #0x8\n" " mov r2, #0x1\n" @@ -5998,7 +5998,7 @@ void DebugMenu_8079058() " mov r0, #0x0\n" "._622:\n" " str r0, [r1]\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r5, #0\n" " bl DestroyTask\n" @@ -6065,7 +6065,7 @@ void DebugMenu_8079110() " beq ._635 @cond_branch\n" " b ._642\n" "._631:\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " b ._637\n" "._629:\n" " ldr r0, ._639\n" @@ -6092,7 +6092,7 @@ void DebugMenu_8079110() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._642 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r5, #0\n" " bl DestroyTask\n" diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index c20d9b87c..ce1cc47ee 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -13,12 +13,12 @@ void TayaDebugMenu_Trend() " mov r5, r8\n" " push {r5, r6, r7}\n" " add sp, sp, #0xffffffd8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1e\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r5, ._3\n" " mov r7, #0x0\n" " mov r0, #0x1\n" @@ -89,7 +89,7 @@ void TayaDebugMenu_Trend() " lsr r2, r2, #0x18\n" " mov r0, sp\n" " mov r1, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r5, r5, #0x8\n" " add r0, r7, #1\n" " lsl r0, r0, #0x10\n" @@ -136,7 +136,7 @@ void debug_sub_8090808() "._7:\n" " .word gMain\n" "._5:\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl CloseMenu\n" " mov r0, #0x1\n" "._6:\n" @@ -179,7 +179,7 @@ void TayaDebugMenu_TrendR() " lsr r0, r0, #0x10\n" " cmp r0, #0x4\n" " bls ._10 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl CloseMenu\n" " mov r0, #0x1\n" " pop {r4, r5, r6, r7}\n" @@ -219,7 +219,7 @@ void debug_sub_809089C() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -303,12 +303,12 @@ void TayaDebugMenu_SimpleText() " mov r1, #0x0\n" " mov r2, #0xc\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._32\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xb\n" @@ -340,7 +340,7 @@ void debug_sub_8090984() { asm( " push {r4, r5, r6, r7, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r2, r0, #0x18\n" " asr r1, r2, #0x18\n" " mov r0, #0x2\n" @@ -432,12 +432,12 @@ void TayaDebugMenu_OldMan() " mov r1, #0x0\n" " mov r2, #0xa\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._48\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x8\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " bl GetCurrentMauvilleOldMan\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -471,7 +471,7 @@ void TayaDebugMenu_LanettesPC() { asm( " push {lr}\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ShowPokemonStorageSystem\n" " mov r0, #0x1\n" " pop {r1}\n" @@ -658,7 +658,7 @@ void debug_sub_8090C44() " add r0, r4, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0x0\n" " mov r2, #0x5\n" @@ -670,7 +670,7 @@ void debug_sub_8090C44() " add r0, r4, #0\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4, r5}\n" " pop {r0}\n" " bx r0\n" @@ -874,7 +874,7 @@ void TayaDebugMenu_PKMNLottery() " mov r1, #0x0\n" " mov r2, #0x6\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " bl RetrieveLotteryNumber\n" " ldr r2, ._83\n" " ldr r0, ._83 + 4\n" @@ -979,7 +979,7 @@ void TayaDebugMenu_PokenavD() " mov r5, r8\n" " push {r5, r6, r7}\n" " add sp, sp, #0xffffffe4\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " mov r0, #0x0\n" " mov sl, r0\n" " mov r6, #0x1\n" @@ -999,7 +999,7 @@ void TayaDebugMenu_PokenavD() " add r0, r4, #0\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " mov r8, r0\n" " str r5, [sp, #0x14]\n" @@ -1299,7 +1299,7 @@ void TayaDebugMenu_8091190() asm( " push {r4, r5, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r3, r0, #0x18\n" " mov r0, #0x2\n" @@ -1370,12 +1370,12 @@ void TayaDebugMenu_8091190() " ldrsb r1, [r5, r1]\n" " cmp r0, r1\n" " beq ._106 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xb\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r4, ._107 + 8\n" " mov r0, #0x0\n" " ldrsb r0, [r5, r0]\n" @@ -1385,7 +1385,7 @@ void TayaDebugMenu_8091190() " ldr r3, [r0]\n" " mov r0, #0x1\n" " mov r1, #0x1\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " ldrsb r0, [r5, r0]\n" " lsl r0, r0, #0x3\n" @@ -1427,18 +1427,18 @@ void InitTayaDebugWindow() " ldr r1, ._109\n" " mov r0, #0x0\n" " strb r0, [r1]\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xb\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._109 + 4\n" " ldr r3, [r0]\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xa\n" @@ -1944,29 +1944,29 @@ void debug_sub_80915BC() " bls ._171 @cond_branch\n" " ldr r4, ._172\n" " add r0, r4, #0\n" - " bl SetUpWindowConfig\n" + " bl Text_LoadWindowTemplate\n" " add r0, r4, #0\n" " bl InitMenuWindow\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x3\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._172 + 4\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " mov r1, #0x4\n" " mov r2, #0x1d\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x0\n" " mov r1, #0x12\n" " mov r2, #0x1d\n" " mov r3, #0x15\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r1, #0x80\n" " lsl r1, r1, #0x13\n" " mov r2, #0x8a\n" @@ -2096,7 +2096,7 @@ void debug_sub_80916AC() " add r0, r7, #0\n" " add r0, r0, #0x12\n" " mov r1, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, [sp]\n" " lsl r0, r1, #0x18\n" " lsr r6, r0, #0x18\n" diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index eb2fd8a7e..cc2bdd80e 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -36,17 +36,17 @@ void debug_sub_808B874() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xd\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._1\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " ldr r0, ._1 + 4\n" " ldrb r0, [r0]\n" " str r0, [sp]\n" @@ -90,7 +90,7 @@ void debug_sub_808B8C8() " bl PlaySE\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._7 + 4\n" " strb r0, [r1]\n" "._3:\n" @@ -102,7 +102,7 @@ void debug_sub_808B8C8() " mov r0, #0x5\n" " bl PlaySE\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._7 + 4\n" " strb r0, [r1]\n" "._4:\n" @@ -154,21 +154,21 @@ void TomomichiDebugMenu_ContestGraphics() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x14\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._11\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r3, ._11 + 4\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x4\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x13\n" @@ -218,21 +218,21 @@ void TomomichiDebugMenu_ArtMusGraphics() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x14\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._13\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r3, ._13 + 4\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x4\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x13\n" @@ -282,21 +282,21 @@ void TomomichiDebugMenu_PreviewData() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x14\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._15\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r3, ._15 + 4\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x4\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x13\n" @@ -346,21 +346,21 @@ void TomomichiDebugMenu_TrickHouse() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._17\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r3, ._17 + 4\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " ldr r0, ._17 + 8\n" " ldrb r0, [r0]\n" " str r0, [sp]\n" @@ -396,17 +396,17 @@ void TomomichiDebugMenu_ControlEvents() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._19\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " ldr r0, ._19 + 4\n" " ldrb r0, [r0]\n" " str r0, [sp]\n" @@ -441,17 +441,17 @@ void TomomichiDebugMenu_ControlFlags() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._21\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " ldr r0, ._21 + 4\n" " ldrb r0, [r0]\n" " str r0, [sp]\n" @@ -486,17 +486,17 @@ void TomomichiDebugMenu_ControlWorks() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._23\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " ldr r0, ._23 + 4\n" " ldrb r0, [r0]\n" " str r0, [sp]\n" @@ -530,10 +530,10 @@ void debug_sub_808BC48() { asm( " push {r4, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " asr r0, r0, #0x18\n" " cmp r0, #0x1\n" @@ -598,10 +598,10 @@ void debug_sub_808BCBC() { asm( " push {r4, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " asr r0, r0, #0x18\n" " cmp r0, #0x1\n" @@ -666,10 +666,10 @@ void debug_sub_808BD30() { asm( " push {r4, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " asr r0, r0, #0x18\n" " cmp r0, #0x1\n" @@ -744,7 +744,7 @@ void debug_sub_808BDA4() " bl PlaySE\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._71 + 4\n" " strb r0, [r1]\n" "._67:\n" @@ -756,7 +756,7 @@ void debug_sub_808BDA4() " mov r0, #0x5\n" " bl PlaySE\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._71 + 4\n" " strb r0, [r1]\n" "._68:\n" @@ -817,7 +817,7 @@ void debug_sub_808BE2C() " bl PlaySE\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._79 + 4\n" " strb r0, [r1]\n" "._75:\n" @@ -829,7 +829,7 @@ void debug_sub_808BE2C() " mov r0, #0x5\n" " bl PlaySE\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._79 + 4\n" " strb r0, [r1]\n" "._76:\n" @@ -890,7 +890,7 @@ void debug_sub_808BEB4() " bl PlaySE\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._87 + 4\n" " strb r0, [r1]\n" "._83:\n" @@ -902,7 +902,7 @@ void debug_sub_808BEB4() " mov r0, #0x5\n" " bl PlaySE\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._87 + 4\n" " strb r0, [r1]\n" "._84:\n" @@ -963,7 +963,7 @@ void debug_sub_808BF3C() " bl PlaySE\n" " mov r0, #0x1\n" " neg r0, r0\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._95 + 4\n" " strb r0, [r1]\n" "._91:\n" @@ -975,7 +975,7 @@ void debug_sub_808BF3C() " mov r0, #0x5\n" " bl PlaySE\n" " mov r0, #0x1\n" - " bl MoveMenuCursor\n" + " bl Menu_MoveCursor\n" " ldr r1, ._95 + 4\n" " strb r0, [r1]\n" "._92:\n" @@ -1027,17 +1027,17 @@ void debug_sub_808BFC4() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._99\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -1070,17 +1070,17 @@ void debug_sub_808C014() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._101\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -1112,7 +1112,7 @@ void debug_sub_808C064() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -1155,7 +1155,7 @@ void debug_sub_808C0A8() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -1610,17 +1610,17 @@ void debug_sub_808C31C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._157\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -1652,7 +1652,7 @@ void debug_sub_808C36C() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -1696,17 +1696,17 @@ void debug_sub_808C3B0() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._165\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -1743,17 +1743,17 @@ void debug_sub_808C408() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._167\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -1790,17 +1790,17 @@ void debug_sub_808C460() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._169\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -1837,17 +1837,17 @@ void debug_sub_808C4B8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._171\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -1884,17 +1884,17 @@ void debug_sub_808C510() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._173\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -1931,17 +1931,17 @@ void debug_sub_808C568() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._175\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -1978,17 +1978,17 @@ void debug_sub_808C5C0() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._177\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2025,17 +2025,17 @@ void debug_sub_808C618() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._179\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2072,17 +2072,17 @@ void debug_sub_808C670() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._181\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2118,11 +2118,11 @@ void debug_sub_808C6C8() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._186\n" " ldrb r0, [r5]\n" @@ -2270,17 +2270,17 @@ void debug_sub_808C7C8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._197\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -2312,7 +2312,7 @@ void debug_sub_808C818() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -2356,17 +2356,17 @@ void debug_sub_808C85C() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._205\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -2403,17 +2403,17 @@ void debug_sub_808C8B4() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._207\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2450,17 +2450,17 @@ void debug_sub_808C90C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._209\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2497,17 +2497,17 @@ void debug_sub_808C964() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._211\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2544,17 +2544,17 @@ void debug_sub_808C9BC() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._213\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2591,17 +2591,17 @@ void debug_sub_808CA14() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._215\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2638,17 +2638,17 @@ void debug_sub_808CA6C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._217\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2685,17 +2685,17 @@ void debug_sub_808CAC4() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._219\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -2732,17 +2732,17 @@ void debug_sub_808CB1C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._221\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -2778,11 +2778,11 @@ void debug_sub_808CB74() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._226\n" " ldrb r0, [r5]\n" @@ -2930,17 +2930,17 @@ void debug_sub_808CC74() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._237\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -2972,7 +2972,7 @@ void debug_sub_808CCC4() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -3016,17 +3016,17 @@ void debug_sub_808CD08() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._245\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x8\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -3063,17 +3063,17 @@ void debug_sub_808CD60() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._247\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x4\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3110,17 +3110,17 @@ void debug_sub_808CDB8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x3\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._249\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3156,11 +3156,11 @@ void debug_sub_808CE10() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._254\n" " ldrb r0, [r5]\n" @@ -3308,17 +3308,17 @@ void debug_sub_808CF10() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._265\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -3350,7 +3350,7 @@ void debug_sub_808CF60() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -3394,17 +3394,17 @@ void debug_sub_808CFA4() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._273\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x8\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -3441,17 +3441,17 @@ void debug_sub_808CFFC() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._275\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3488,17 +3488,17 @@ void debug_sub_808D054() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._277\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3535,17 +3535,17 @@ void debug_sub_808D0AC() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._279\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x4\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3582,17 +3582,17 @@ void debug_sub_808D104() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._281\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3629,17 +3629,17 @@ void debug_sub_808D15C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._283\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3676,17 +3676,17 @@ void debug_sub_808D1B4() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._285\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3723,17 +3723,17 @@ void debug_sub_808D20C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._287\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3770,17 +3770,17 @@ void debug_sub_808D264() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._289\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x5\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -3816,11 +3816,11 @@ void debug_sub_808D2BC() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._294\n" " ldrb r0, [r5]\n" @@ -3968,17 +3968,17 @@ void debug_sub_808D3BC() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._305\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -4010,7 +4010,7 @@ void debug_sub_808D40C() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -4054,17 +4054,17 @@ void debug_sub_808D450() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._313\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -4101,17 +4101,17 @@ void debug_sub_808D4A8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._315\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -4147,11 +4147,11 @@ void debug_sub_808D500() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._320\n" " ldrb r0, [r5]\n" @@ -4299,17 +4299,17 @@ void debug_sub_808D600() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._331\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -4341,7 +4341,7 @@ void debug_sub_808D650() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -4385,17 +4385,17 @@ void debug_sub_808D694() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._339\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -4432,17 +4432,17 @@ void debug_sub_808D6EC() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._341\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -4478,11 +4478,11 @@ void debug_sub_808D744() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._346\n" " ldrb r0, [r5]\n" @@ -4630,17 +4630,17 @@ void debug_sub_808D844() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1c\n" " mov r3, #0x3\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._357\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1b\n" @@ -4672,7 +4672,7 @@ void debug_sub_808D894() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r3, r0, #0x18\n" " mov r0, #0x2\n" @@ -4715,17 +4715,17 @@ void debug_sub_808D8D8() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._365\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -4761,11 +4761,11 @@ void debug_sub_808D930() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._370\n" " ldrb r0, [r5]\n" @@ -4913,17 +4913,17 @@ void debug_sub_808DA30() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x3\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._381\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -4955,11 +4955,11 @@ void debug_sub_808DA80() { asm( " push {r4, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " bl debug_sub_808DAD4\n" " bl debug_sub_808DABC\n" " lsl r4, r4, #0x18\n" @@ -5054,17 +5054,17 @@ void debug_sub_808DB0C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._395\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x17\n" @@ -5096,7 +5096,7 @@ void debug_sub_808DB5C() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -5140,17 +5140,17 @@ void debug_sub_808DBA0() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x11\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._403\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x8\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -5187,17 +5187,17 @@ void debug_sub_808DBF8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._405\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5234,17 +5234,17 @@ void debug_sub_808DC50() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._407\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5281,17 +5281,17 @@ void debug_sub_808DCA8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._409\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5328,17 +5328,17 @@ void debug_sub_808DD00() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._411\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5375,17 +5375,17 @@ void debug_sub_808DD58() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._413\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5422,17 +5422,17 @@ void debug_sub_808DDB0() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._415\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5469,17 +5469,17 @@ void debug_sub_808DE08() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._417\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5516,17 +5516,17 @@ void debug_sub_808DE60() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._419\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5562,11 +5562,11 @@ void debug_sub_808DEB8() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._424\n" " ldrb r0, [r5]\n" @@ -5723,17 +5723,17 @@ void debug_sub_808DFC0() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._437\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x17\n" @@ -5765,7 +5765,7 @@ void debug_sub_808E010() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -5809,17 +5809,17 @@ void debug_sub_808E054() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._445\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -5856,17 +5856,17 @@ void debug_sub_808E0AC() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._447\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x5\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5903,17 +5903,17 @@ void debug_sub_808E104() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._449\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5950,17 +5950,17 @@ void debug_sub_808E15C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._451\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -5997,17 +5997,17 @@ void debug_sub_808E1B4() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._453\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -6044,17 +6044,17 @@ void debug_sub_808E20C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._455\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -6090,11 +6090,11 @@ void debug_sub_808E264() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._460\n" " ldrb r0, [r5]\n" @@ -6251,17 +6251,17 @@ void debug_sub_808E36C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._473\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x5\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x17\n" @@ -6293,7 +6293,7 @@ void debug_sub_808E3BC() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -6337,17 +6337,17 @@ void debug_sub_808E400() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._481\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -6384,17 +6384,17 @@ void debug_sub_808E458() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._483\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -6431,17 +6431,17 @@ void debug_sub_808E4B0() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._485\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x6\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -6478,17 +6478,17 @@ void debug_sub_808E508() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._487\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -6525,17 +6525,17 @@ void debug_sub_808E560() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._489\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x5\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -6571,11 +6571,11 @@ void debug_sub_808E5B8() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._494\n" " ldrb r0, [r5]\n" @@ -6732,17 +6732,17 @@ void debug_sub_808E6C0() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._507\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x17\n" @@ -6774,7 +6774,7 @@ void debug_sub_808E710() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -6818,17 +6818,17 @@ void debug_sub_808E754() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._515\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -6865,17 +6865,17 @@ void debug_sub_808E7AC() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._517\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -6911,11 +6911,11 @@ void debug_sub_808E804() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._522\n" " ldrb r0, [r5]\n" @@ -7072,17 +7072,17 @@ void debug_sub_808E90C() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._535\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x2\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x17\n" @@ -7114,7 +7114,7 @@ void debug_sub_808E95C() { asm( " push {lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -7158,17 +7158,17 @@ void debug_sub_808E9A0() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._543\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r4, #0x0\n" " str r4, [sp]\n" " mov r0, #0x1c\n" @@ -7205,17 +7205,17 @@ void debug_sub_808E9F8() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r3, ._545\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x1c\n" @@ -7251,11 +7251,11 @@ void debug_sub_808EA50() { asm( " push {r4, r5, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " add r1, r0, #0\n" " ldr r5, ._550\n" " ldrb r0, [r5]\n" @@ -7412,21 +7412,21 @@ void debug_sub_808EB58() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xc\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._563\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r3, ._563 + 4\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x8\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xb\n" @@ -7460,21 +7460,21 @@ void debug_sub_808EBB4() asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xd\n" " mov r3, #0xd\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._565\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r3, ._565 + 4\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x5\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xc\n" @@ -7507,11 +7507,11 @@ void debug_sub_808EC10() { asm( " push {r4, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r2, r0, #0x18\n" " lsl r4, r4, #0x18\n" @@ -7553,11 +7553,11 @@ void debug_sub_808EC5C() { asm( " push {r4, lr}\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl GetMenuCursorPos\n" + " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r1, r0, #0x18\n" " lsl r4, r4, #0x18\n" @@ -8127,7 +8127,7 @@ void debug_sub_808EF8C() " strb r1, [r0, #0x8]\n" " mov r1, #0xc\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._653:\n" " mov r3, #0x0\n" " ldr r7, ._666\n" @@ -8189,7 +8189,7 @@ void debug_sub_808EF8C() " add r0, r7, #0\n" " mov r1, #0x8\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._665\n" "._667:\n" " .align 2, 0\n" @@ -8201,7 +8201,7 @@ void debug_sub_808EF8C() " ldr r0, ._672\n" " mov r1, #0xc\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._665:\n" " ldr r5, ._672\n" " mov r0, #0xff\n" @@ -8229,7 +8229,7 @@ void debug_sub_808EF8C() " add r0, r5, #0\n" " mov r1, #0xc\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " cmp r6, #0x1\n" " beq ._668 @cond_branch\n" " cmp r6, #0x1\n" @@ -8278,7 +8278,7 @@ void debug_sub_808EF8C() " add r0, r5, #0\n" " mov r1, #0xc\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._679\n" "._681:\n" " .align 2, 0\n" @@ -8308,7 +8308,7 @@ void debug_sub_808EF8C() " add r0, r5, #0\n" " mov r1, #0xc\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._679:\n" " pop {r3}\n" " mov r8, r3\n" @@ -8537,7 +8537,7 @@ void debug_sub_808F2E0() " add r0, r1, #0\n" " add r1, r4, #0\n" " add r2, r3, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" @@ -8615,7 +8615,7 @@ void debug_sub_808F31C() " add r0, r5, #0\n" " mov r1, r8\n" " mov r2, r9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " pop {r3, r4}\n" " mov r8, r3\n" " mov r9, r4\n" diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index dcb3bd90b..731e58986 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -126,7 +126,7 @@ void debug_80C35DC() " ldr r0, ._2 + 12\n" " bl LoadSpritePalette\n" " ldr r0, ._2 + 16\n" - " bl SetUpWindowConfig\n" + " bl Text_LoadWindowTemplate\n" " ldr r0, ._2 + 20\n" " bl InitMenuWindow\n" " add sp, sp, #0x8\n" @@ -298,7 +298,7 @@ void debug_80C376C() " mov r0, sp\n" " add r1, r7, #0\n" " add r2, r6, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0x4\n" " pop {r4, r5, r6, r7}\n" " pop {r0}\n" @@ -365,7 +365,7 @@ void debug_80C3800() " mov r0, sp\n" " add r1, r6, #0\n" " add r2, r5, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0xc\n" " pop {r4, r5, r6, r7}\n" " pop {r0}\n" @@ -491,13 +491,13 @@ void debug_80C38E4() " add r1, r4, #0\n" " add r2, r7, #0\n" " add r3, r5, #0\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " cmp r6, #0\n" " beq ._36 @cond_branch\n" " mov r0, sp\n" " add r1, r7, #0\n" " mov r2, r8\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._36:\n" " add sp, sp, #0x4\n" " pop {r3}\n" @@ -699,82 +699,82 @@ void debug_80C3A50() " mov r1, #0x0\n" " mov r2, #0x17\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x5\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r5, ._56 + 8\n" " add r0, r5, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r4, ._56 + 12\n" " add r0, r4, #0\n" " mov r1, #0x1\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x18\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, r5, #0\n" " mov r1, #0x19\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0x19\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " mov r1, #0xa\n" " mov r2, #0xb\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._56 + 16\n" " mov r1, #0x1\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._56 + 20\n" " mov r1, #0x1\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._56 + 24\n" " mov r1, #0x1\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._56 + 28\n" " mov r1, #0x1\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xc\n" " mov r1, #0xa\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._56 + 32\n" " mov r1, #0xd\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._56 + 36\n" " mov r1, #0xd\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xc\n" " mov r1, #0x10\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._56 + 40\n" " mov r1, #0xd\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._56 + 44\n" " mov r1, #0x18\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, r9\n" " mov r1, #0x12\n" " mov r2, #0x11\n" @@ -1788,15 +1788,15 @@ void debug_80C42B8() " mov r1, #0x10\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, sp\n" " mov r1, #0x1\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0x14\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " bl debug_80C4694\n" " bl debug_80C4704\n" " ldr r0, ._150 + 8\n" @@ -2298,11 +2298,11 @@ void debug_80C4694() " mov r1, #0x0\n" " mov r2, #0xe\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, sp\n" " mov r1, #0x2\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r4, #0x0\n" " add r5, sp, #0x10\n" "._212:\n" @@ -2324,7 +2324,7 @@ void debug_80C4694() " lsr r2, r2, #0x18\n" " add r0, r5, #0\n" " mov r1, #0x2\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" @@ -2357,11 +2357,11 @@ void debug_80C4704() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, sp\n" " mov r1, #0x11\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r4, #0x0\n" " add r5, sp, #0x10\n" "._215:\n" @@ -2383,7 +2383,7 @@ void debug_80C4704() " lsr r2, r2, #0x18\n" " add r0, r5, #0\n" " mov r1, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" @@ -2476,24 +2476,24 @@ void debug_80C47BC() " mov r1, #0x10\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, sp\n" " mov r1, #0x1\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0x14\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xe\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, r6, #0\n" " mov r1, #0x2\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r4, #0x0\n" " ldr r6, ._224 + 16\n" "._223:\n" @@ -2506,7 +2506,7 @@ void debug_80C47BC() " add r2, r2, r1\n" " lsr r2, r2, #0x18\n" " mov r1, #0x2\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" @@ -2516,11 +2516,11 @@ void debug_80C47BC() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, r5, #0\n" " mov r1, #0x11\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._224 + 20\n" " ldrb r0, [r0, #0x4]\n" " bl debug_80C4C44\n" @@ -3142,7 +3142,7 @@ void debug_80C4C44() " lsr r2, r2, #0x18\n" " mov r0, sp\n" " mov r1, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._280:\n" " mov r7, r8\n" " lsl r0, r7, #0x18\n" @@ -3188,24 +3188,24 @@ void debug_80C4D14() " mov r1, #0x10\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, sp\n" " mov r1, #0x1\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r5, #0\n" " mov r1, #0x14\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xe\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, r6, #0\n" " mov r1, #0x2\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._291 + 12\n" " ldrb r0, [r0, #0x6]\n" " bl debug_80C4F00\n" @@ -3213,7 +3213,7 @@ void debug_80C4D14() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r1, ._291 + 16\n" " lsl r0, r4, #0x2\n" " add r0, r0, r4\n" @@ -3431,7 +3431,7 @@ void debug_80C4F00() " mov r1, #0x3\n" " mov r2, #0xd\n" " mov r3, #0xe\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " mov r4, #0x0\n" " ldr r6, ._318\n" "._317:\n" @@ -3447,7 +3447,7 @@ void debug_80C4F00() " add r2, r2, r1\n" " lsr r2, r2, #0x18\n" " mov r1, #0x2\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._316:\n" " add r0, r4, #1\n" " lsl r0, r0, #0x18\n" @@ -3505,46 +3505,46 @@ void debug_80C4F48() " mov r1, #0x10\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, sp\n" " mov r1, #0x1\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r6, #0\n" " mov r1, #0x14\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xe\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, r5, #0\n" " mov r1, #0x2\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x1\n" " mov r1, #0x3\n" " mov r2, #0xd\n" " mov r3, #0xe\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " add r0, r5, #0\n" " mov r1, #0x2\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, r9\n" " mov r1, #0x2\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, r8\n" " mov r1, #0x2\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xf\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0xf\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r1, ._320 + 20\n" " lsl r0, r4, #0x2\n" " add r0, r0, r4\n" @@ -4039,11 +4039,11 @@ void InitCreatePokemon() " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x3\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " add r0, sp, #0x4\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r1, #0x80\n" " lsl r1, r1, #0x13\n" " mov r2, #0x8a\n" @@ -4244,13 +4244,13 @@ void debug_80C53F0() " mov r1, #0x8\n" " mov r2, #0x1a\n" " mov r3, #0xb\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " cmp r4, #0\n" " beq ._379 @cond_branch\n" " ldr r0, ._381 + 4\n" " mov r1, #0x4\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._380\n" "._382:\n" " .align 2, 0\n" @@ -4261,7 +4261,7 @@ void debug_80C53F0() " ldr r0, ._384\n" " mov r1, #0x4\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._380:\n" " ldr r0, ._384 + 4\n" " lsl r1, r5, #0x2\n" @@ -6028,7 +6028,7 @@ void debug_80C627C() " lsr r2, r2, #0x18\n" " add r0, r5, #0\n" " mov r1, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, [r4]\n" " ldr r2, ._593 + 4\n" " add r1, r0, r2\n" @@ -6046,7 +6046,7 @@ void debug_80C627C() " lsr r2, r2, #0x18\n" " mov r0, sp\n" " mov r1, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._595\n" "._594:\n" " .align 2, 0\n" @@ -6070,7 +6070,7 @@ void debug_80C627C() " lsr r2, r2, #0x18\n" " add r0, r5, #0\n" " mov r1, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, [r4]\n" " ldr r2, ._596 + 4\n" " add r1, r0, r2\n" @@ -6085,7 +6085,7 @@ void debug_80C627C() " lsr r2, r2, #0x18\n" " mov r0, sp\n" " mov r1, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._595:\n" " add sp, sp, #0x8\n" " pop {r4, r5, r6}\n" @@ -6112,7 +6112,7 @@ void debug_80C6384() " mov r1, #0x4\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r5, #0x0\n" " ldr r3, ._600\n" " ldr r1, ._600 + 4\n" @@ -6166,7 +6166,7 @@ void debug_80C6384() " add r2, r2, r1\n" " lsr r2, r2, #0x18\n" " mov r1, #0x2\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" @@ -6209,7 +6209,7 @@ void debug_80C643C() " mov r1, #0x5\n" " mov r2, #0x1c\n" " mov r3, #0x12\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " mov r5, #0x0\n" " ldr r6, ._605\n" " ldr r1, ._605 + 4\n" @@ -6301,7 +6301,7 @@ void debug_80C643C() " add r2, r2, r1\n" " lsr r2, r2, #0x18\n" " mov r1, #0x2\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" @@ -6888,7 +6888,7 @@ void debug_80C68CC() " add r0, r0, sp\n" " add r1, r6, #0\n" " add r2, r5, #0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0x8\n" " pop {r4, r5, r6, r7}\n" " pop {r0}\n" @@ -7092,39 +7092,39 @@ void debug_80C6B00() " mov r1, #0x0\n" " mov r2, #0xf\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x9\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x0\n" " mov r1, #0xa\n" " mov r2, #0x9\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x10\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._666 + 4\n" " mov r1, #0x11\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._666 + 8\n" " mov r1, #0x1b\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._666 + 12\n" " mov r1, #0x11\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xa\n" " mov r1, #0x8\n" " mov r2, #0x1d\n" " mov r3, #0xc\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r2, #0x0\n" " ldr r4, ._666 + 16\n" " ldr r0, ._666 + 20\n" @@ -7159,12 +7159,12 @@ void debug_80C6B00() " add r0, r5, #0\n" " mov r1, #0x14\n" " mov r2, #0xa\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xa\n" " mov r1, #0xd\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r1, sp\n" " mov r0, #0x23\n" " strb r0, [r1]\n" @@ -7232,7 +7232,7 @@ void debug_80C6B00() " add r0, r5, #0\n" " mov r1, #0xf\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._666 + 52\n" " ldr r2, ._666 + 56\n" " add r0, r2, #0\n" @@ -7595,7 +7595,7 @@ void debug_80C6EE8() " ldr r0, ._670 + 16\n" " mov r1, #0xd\n" " mov r2, #0xa\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0xe\n" " mov r2, #0xa\n" @@ -8665,39 +8665,39 @@ void debug_80C777C() " mov r1, #0x0\n" " mov r2, #0xe\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x9\n" " mov r3, #0x9\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x0\n" " mov r1, #0xa\n" " mov r2, #0x9\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0xe\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._784 + 4\n" " mov r1, #0xf\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._784 + 8\n" " mov r1, #0x19\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._784 + 12\n" " mov r1, #0xf\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xa\n" " mov r1, #0x8\n" " mov r2, #0x1d\n" " mov r3, #0xc\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r2, #0x0\n" " ldr r4, ._784 + 16\n" " ldr r0, ._784 + 20\n" @@ -8732,12 +8732,12 @@ void debug_80C777C() " add r0, r5, #0\n" " mov r1, #0x14\n" " mov r2, #0xa\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0xa\n" " mov r1, #0xd\n" " mov r2, #0x1d\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r1, sp\n" " mov r0, #0x23\n" " strb r0, [r1]\n" @@ -8805,7 +8805,7 @@ void debug_80C777C() " add r0, r5, #0\n" " mov r1, #0xf\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._784 + 52\n" " ldr r2, ._784 + 56\n" " add r0, r2, #0\n" @@ -9052,7 +9052,7 @@ void debug_80C7A54() " ldr r0, ._788 + 16\n" " mov r1, #0xd\n" " mov r2, #0xa\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " mov r1, #0xe\n" " mov r2, #0xa\n" diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 311679cb7..3aefa80de 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -4217,7 +4217,7 @@ void debug_sub_811B2E8() " mov r0, sp\n" " mov r1, #0x6\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add sp, sp, #0x4\n" " pop {r0}\n" " bx r0\n" @@ -4238,75 +4238,75 @@ void debug_sub_811B310() " ldr r0, ._21\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 4\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 8\n" " mov r1, #0x1\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 12\n" " mov r1, #0x1\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 16\n" " mov r1, #0x1\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 20\n" " mov r1, #0x1\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 24\n" " mov r1, #0x1\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 28\n" " mov r1, #0x1\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 32\n" " mov r1, #0x1\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 36\n" " mov r1, #0xf\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 40\n" " mov r1, #0xf\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 44\n" " mov r1, #0xf\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 48\n" " mov r1, #0xf\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 52\n" " mov r1, #0xf\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 56\n" " mov r1, #0xf\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 60\n" " mov r1, #0xf\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 64\n" " mov r1, #0xf\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 68\n" " mov r1, #0xf\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._21 + 72\n" " ldrb r0, [r0, #0x3]\n" " cmp r0, #0\n" @@ -4314,7 +4314,7 @@ void debug_sub_811B310() " ldr r0, ._21 + 76\n" " mov r1, #0xa\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._20\n" "._22:\n" " .align 2, 0\n" @@ -4343,7 +4343,7 @@ void debug_sub_811B310() " ldr r0, ._30\n" " mov r1, #0xa\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._20:\n" " ldr r4, ._30 + 4\n" " ldr r1, [r4, #0x68]\n" @@ -4354,7 +4354,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0xa\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, [r4, #0x6c]\n" " mov r0, sp\n" " mov r2, #0x2\n" @@ -4363,7 +4363,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0xa\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " mov r0, #0x10\n" " ldsh r1, [r4, r0]\n" " mov r0, sp\n" @@ -4373,7 +4373,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0xa\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, [r4, #0x70]\n" " mov r0, sp\n" " mov r2, #0x2\n" @@ -4382,7 +4382,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, [r4, #0x74]\n" " mov r0, sp\n" " mov r2, #0x2\n" @@ -4391,7 +4391,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, [r4, #0x78]\n" " mov r0, sp\n" " mov r2, #0x2\n" @@ -4400,7 +4400,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0x7\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, [r4, #0x7c]\n" " mov r0, sp\n" " mov r2, #0x2\n" @@ -4409,7 +4409,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0x9\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " add r0, r0, #0x80\n" " ldr r1, [r0]\n" @@ -4420,7 +4420,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0xb\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " add r0, r0, #0x84\n" " ldr r1, [r0]\n" @@ -4431,7 +4431,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0xd\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " add r0, r0, #0x88\n" " ldr r1, [r0]\n" @@ -4442,7 +4442,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " add r0, r4, #0\n" " add r0, r0, #0x8c\n" " ldr r1, [r0]\n" @@ -4453,7 +4453,7 @@ void debug_sub_811B310() " mov r0, sp\n" " mov r1, #0x14\n" " mov r2, #0x11\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._30 + 8\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" @@ -4515,7 +4515,7 @@ void debug_sub_811B310() "._45:\n" " ldr r0, ._46\n" " mov r1, #0x17\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._23:\n" " bl debug_sub_811B2E8\n" " add sp, sp, #0x8\n" @@ -4684,7 +4684,7 @@ void debug_sub_811B654() " mov r1, #0x0\n" " mov r2, #0x18\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " bl debug_sub_811B310\n" " ldrh r0, [r5, #0x8]\n" " add r0, r0, #0x1\n" @@ -4749,20 +4749,20 @@ void debug_sub_811B654() " beq ._83 @cond_branch\n" " mov r0, #0x3\n" " strh r0, [r5, #0x8]\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x9\n" " mov r3, #0x5\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._85\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._85 + 4\n" " mov r1, #0x1\n" " mov r2, #0x3\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " b ._116\n" "._86:\n" " .align 2, 0\n" @@ -4778,21 +4778,21 @@ void debug_sub_811B654() " strb r4, [r0]\n" " ldr r0, ._91 + 4\n" " strb r4, [r0]\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0xa\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._91 + 8\n" " mov r1, #0x1\n" " mov r2, #0x1\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r3, ._91 + 12\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x8\n" - " bl PrintMenuItems\n" + " bl Menu_PrintItems\n" " str r4, [sp]\n" " mov r0, #0x9\n" " str r0, [sp, #0x4]\n" @@ -4825,7 +4825,7 @@ void debug_sub_811B654() " .word _841B270\n" " .word unk_debug_bss_1+0x4\n" "._66:\n" - " bl ProcessMenuInput\n" + " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r2, r0, #0x18\n" " mov r0, #0x2\n" @@ -4845,7 +4845,7 @@ void debug_sub_811B654() " ldr r0, [r1]\n" " bl _call_via_r0\n" "._94:\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " add r0, r6, #0\n" " bl DestroyTask\n" " b ._116\n" @@ -4938,7 +4938,7 @@ void debug_sub_811B654() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._116 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " add r0, r6, #0\n" " bl DestroyTask\n" "._116:\n" @@ -4986,7 +4986,7 @@ void debug_sub_811B894() " ldr r0, ._122 + 8\n" " mov r1, #0x4\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._122 + 12\n" " mov r0, #0x0\n" " strb r0, [r1]\n" @@ -5027,7 +5027,7 @@ void debug_sub_811B894() " mov r1, #0x4\n" " mov r2, #0x2\n" "._121:\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r0, ._163 + 4\n" " strb r4, [r0]\n" "._126:\n" @@ -5181,7 +5181,7 @@ void debug_sub_811B894() " ldr r0, ._163 + 12\n" " mov r1, #0x4\n" " mov r2, #0x0\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._163 + 4\n" " mov r0, #0x0\n" " strb r0, [r1]\n" diff --git a/src/field/start_menu.c b/src/field/start_menu.c index 36295b3f8..1e4eace87 100644 --- a/src/field/start_menu.c +++ b/src/field/start_menu.c @@ -278,11 +278,11 @@ void debug_sub_8075C40() " mov r2, #0x1\n" " mov r3, #0x8\n" " bl ConvertIntToDecimalStringN\n" - " bl MenuDisplayMessageBox\n" + " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._16 + 16\n" " mov r1, #0x2\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" "._12:\n" " ldrh r0, [r5]\n" " add r0, r0, #0x1\n" @@ -303,7 +303,7 @@ void debug_sub_8075C40() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._18 @cond_branch\n" - " bl MenuZeroFillScreen\n" + " bl Menu_EraseScreen\n" " bl ScriptContext2_Disable\n" " add r0, r4, #0\n" " bl DestroyTask\n" -- cgit v1.2.3 From 6efb614f3f3bf1b1b381bdfe220391e152fc8ebe Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 15:49:51 -0600 Subject: add more debug things --- src/battle/battle_2.c | 140 +-- src/battle/battle_ai.c | 2 +- src/battle/battle_interface.c | 6 +- src/debug/nakamura_debug_menu.c | 6 +- src/debug/nohara_debug_menu.c | 4 +- src/debug/start_menu_debug.c | 32 +- src/debug/tomomichi_debug_menu.c | 14 +- src/debug/unk_debug_menu_3.c | 38 +- src/engine/save.c | 4 +- src/field/choose_party.c | 2 +- src/field/field_player_avatar.c | 99 +- src/field/field_weather.c | 181 ++++ src/field/fldeff_secretpower.c | 96 ++ src/field/mauville_man.c | 2 +- src/field/party_menu.c | 17 +- src/field/region_map.c | 4 +- src/field/slot_machine.c | 1863 ++++++++++++++++++++++++++++------ src/pokemon/mail.c | 75 ++ src/pokemon/pokemon_1.c | 12 +- src/pokemon/pokemon_storage_system.c | 3 +- 20 files changed, 2150 insertions(+), 450 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 78fc35ba5..454b47e08 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -220,7 +220,7 @@ void InitBattle(void) " lsl r1, r1, #0x13\n" " ldr r2, ._10\n" " mov r0, sp\n" - " bl gScriptFuncs_End+0x3cb4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" " ldr r0, ._10 + 4\n" " strh r4, [r0]\n" " sub r0, r0, #0xc\n" @@ -347,13 +347,13 @@ void InitBattle(void) " .word 0xff10\n" " .word gWindowConfig_81E6C58\n" " .word gUnknown_030042A4\n" - " .word gUnknown_030042A0\n" + " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" - " .word gUnknown_030041B4\n" - " .word gUnknown_03004288\n" - " .word gUnknown_03004280\n" - " .word gUnknown_030041B0\n" - " .word gUnknown_030041B8\n" + " .word gBattle_BG1_Y\n" + " .word gBattle_BG2_X\n" + " .word gBattle_BG2_Y\n" + " .word gBattle_BG3_X\n" + " .word gBattle_BG3_Y\n" " .word gUnknown_02023A14+0x50\n" " .word gBattleTerrain\n" " .word gUnknown_03004210\n" @@ -907,7 +907,7 @@ void sub_800EC9C() " ldr r2, ._116 + 4\n" " add r1, r1, r2\n" " mov r2, #0xc8\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " b ._129\n" "._117:\n" " .align 2, 0\n" @@ -946,7 +946,7 @@ void sub_800EC9C() " ldr r2, ._126 + 4\n" " add r1, r1, r2\n" " mov r2, #0xc8\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " b ._129\n" "._127:\n" " .align 2, 0\n" @@ -982,7 +982,7 @@ void sub_800EC9C() " add r1, r1, r0\n" " add r0, r4, #0\n" " mov r2, #0xc8\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " ldr r1, ._134 + 8\n" " add r0, r4, r1\n" " bl shedinja_something\n" @@ -1407,7 +1407,7 @@ void sub_800F104() " add r1, r1, r0\n" " ldr r0, ._177 + 4\n" " mov r2, #0x60\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" "._174:\n" " add r7, r7, #0x1c\n" " add r4, r4, #0x1\n" @@ -1781,7 +1781,7 @@ void sub_800F298() " ldr r1, ._239 + 4\n" " mov r2, #0x96\n" " lsl r2, r2, #0x1\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " ldr r0, ._239 + 8\n" " mov r1, #0x0\n" " bl CreateTask\n" @@ -2018,7 +2018,7 @@ void sub_800F298() "._283:\n" " add r1, r5, #0\n" " mov r2, #0xc8\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " b ._291\n" "._293:\n" " .align 2, 0\n" @@ -2028,7 +2028,7 @@ void sub_800F298() " ldr r0, ._296\n" " add r1, r5, #0\n" " mov r2, #0xc8\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" "._291:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" @@ -2185,7 +2185,7 @@ void sub_800F298() "._333:\n" " add r1, r5, #0\n" " mov r2, #0x64\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " b ._341\n" "._343:\n" " .align 2, 0\n" @@ -2195,7 +2195,7 @@ void sub_800F298() " ldr r0, ._346\n" " add r1, r5, #0\n" " mov r2, #0x64\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" "._341:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" @@ -2627,7 +2627,7 @@ void BattleMainCB2(void) " str r0, [r4]\n" " bl ZeroEnemyPartyMons\n" " mov r0, #0x5a\n" - " bl gScriptFuncs_End+0x148c\n" + " bl gMysteryEventScriptCmdTableEnd+0x148c\n" " ldr r0, ._358 + 24\n" " ldrh r1, [r0]\n" " mov r0, #0x2\n" @@ -3197,7 +3197,7 @@ void debug_sub_80108B8() asm( " push {r4, r5, lr}\n" " add sp, sp, #0xfffffffc\n" - " bl gScriptFuncs_End+0x19f4\n" + " bl gMysteryEventScriptCmdTableEnd+0x19f4\n" " mov r0, #0x0\n" " bl SetHBlankCallback\n" " mov r0, #0x0\n" @@ -3264,7 +3264,7 @@ void debug_sub_80108B8() " ldr r1, ._507 + 72\n" " add r0, r4, #0\n" " bl LZDecompressVram\n" - " bl gScriptFuncs_End+0x1a70\n" + " bl gMysteryEventScriptCmdTableEnd+0x1a70\n" " ldr r0, ._507 + 76\n" " bl SetVBlankCallback\n" " ldr r0, ._507 + 80\n" @@ -3333,13 +3333,13 @@ void debug_sub_80108B8() " .word 0x85006000\n" " .word 0x4000200\n" " .word gUnknown_030042A4\n" - " .word gUnknown_030042A0\n" + " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" - " .word gUnknown_030041B4\n" - " .word gUnknown_03004288\n" - " .word gUnknown_03004280\n" - " .word gUnknown_030041B0\n" - " .word gUnknown_030041B8\n" + " .word gBattle_BG1_Y\n" + " .word gBattle_BG2_X\n" + " .word gBattle_BG2_Y\n" + " .word gBattle_BG3_X\n" + " .word gBattle_BG3_Y\n" " .word 0x1f09\n" " .word 0x4801\n" " .word 0x4000050\n" @@ -3860,7 +3860,7 @@ void debug_sub_8010CAC() " strb r0, [r3, #0x15]\n" " lsl r0, r0, #0x1f\n" " lsr r0, r0, #0x1f\n" - " bl gScriptFuncs_End+0x2aa0\n" + " bl gMysteryEventScriptCmdTableEnd+0x2aa0\n" " bl debug_nullsub_3\n" "._559:\n" " ldr r4, ._565 + 12\n" @@ -4774,7 +4774,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x4358\n" + " bl gMysteryEventScriptCmdTableEnd+0x4358\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4830,7 +4830,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x4358\n" + " bl gMysteryEventScriptCmdTableEnd+0x4358\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4886,7 +4886,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x4358\n" + " bl gMysteryEventScriptCmdTableEnd+0x4358\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4929,7 +4929,7 @@ void debug_sub_8011498() " lsl r4, r5, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x4358\n" + " bl gMysteryEventScriptCmdTableEnd+0x4358\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4965,7 +4965,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x4358\n" + " bl gMysteryEventScriptCmdTableEnd+0x4358\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -5002,7 +5002,7 @@ void debug_sub_8011498() " lsl r4, r5, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x4358\n" + " bl gMysteryEventScriptCmdTableEnd+0x4358\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -5200,7 +5200,7 @@ void debug_sub_801174C() "._713:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" " ldr r1, ._719\n" @@ -5223,7 +5223,7 @@ void debug_sub_801174C() "._699:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " mov r2, #0x64\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" @@ -5282,7 +5282,7 @@ void debug_sub_801174C() " str r0, [sp, #0xc]\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" " ldr r1, ._726\n" @@ -5355,7 +5355,7 @@ void debug_sub_801174C() "._735:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " mov r2, #0x64\n" " mul r0, r0, r2\n" " ldr r1, ._741\n" @@ -5382,7 +5382,7 @@ void debug_sub_801174C() "._721:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " mov r2, #0x64\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" @@ -5441,7 +5441,7 @@ void debug_sub_801174C() " str r0, [sp, #0xc]\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " mov r2, #0x64\n" " mul r0, r0, r2\n" " ldr r1, ._750\n" @@ -5460,7 +5460,7 @@ void debug_sub_801174C() " ble ._743 @cond_branch\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" " ldr r1, ._750\n" @@ -5838,13 +5838,13 @@ void debug_sub_8011D40() " .word 0x6004000\n" " .word 0x80000800\n" " .word gUnknown_030042A4\n" - " .word gUnknown_030042A0\n" + " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" - " .word gUnknown_030041B4\n" - " .word gUnknown_03004288\n" - " .word gUnknown_03004280\n" - " .word gUnknown_030041B0\n" - " .word gUnknown_030041B8\n" + " .word gBattle_BG1_Y\n" + " .word gBattle_BG2_X\n" + " .word gBattle_BG2_Y\n" + " .word gBattle_BG3_X\n" + " .word gBattle_BG3_Y\n" "\n" ); } @@ -5911,13 +5911,13 @@ void debug_sub_8011DD4() " .word 0x4000008\n" " .word 0x9803\n" " .word gUnknown_030042A4\n" - " .word gUnknown_030042A0\n" + " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" - " .word gUnknown_030041B4\n" - " .word gUnknown_03004288\n" - " .word gUnknown_03004280\n" - " .word gUnknown_030041B0\n" - " .word gUnknown_030041B8\n" + " .word gBattle_BG1_Y\n" + " .word gBattle_BG2_X\n" + " .word gBattle_BG2_Y\n" + " .word gBattle_BG3_X\n" + " .word gBattle_BG3_Y\n" "\n" ); } @@ -6483,7 +6483,7 @@ void debug_sub_8012294() " lsl r4, r4, #0x1\n" " add r0, r5, #0\n" " mov r1, #0x5\n" - " bl gScriptFuncs_End+0x4358\n" + " bl gMysteryEventScriptCmdTableEnd+0x4358\n" " add r5, r0, #0\n" " lsl r5, r5, #0x18\n" " lsr r5, r5, #0x15\n" @@ -7102,7 +7102,7 @@ void debug_sub_8012688() " bl SetHBlankCallback\n" " ldr r0, ._873 + 100\n" " bl SetVBlankCallback\n" - " bl gScriptFuncs_End+0x14f4\n" + " bl gMysteryEventScriptCmdTableEnd+0x14f4\n" " ldr r0, ._873 + 104\n" " mov r1, #0x0\n" " bl CreateTask\n" @@ -7132,13 +7132,13 @@ void debug_sub_8012688() " .word 0x400004c\n" " .word gWindowConfig_81E6C58\n" " .word gUnknown_030042A4\n" - " .word gUnknown_030042A0\n" + " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" - " .word gUnknown_030041B4\n" - " .word gUnknown_03004288\n" - " .word gUnknown_03004280\n" - " .word gUnknown_030041B0\n" - " .word gUnknown_030041B8\n" + " .word gBattle_BG1_Y\n" + " .word gBattle_BG2_X\n" + " .word gBattle_BG2_Y\n" + " .word gBattle_BG3_X\n" + " .word gBattle_BG3_Y\n" " .word gBattleTerrain\n" " .word gReservedSpritePaletteCount\n" " .word gCurrentMove\n" @@ -7764,7 +7764,7 @@ void debug_sub_8012C08() " .word gTasks\n" " .word UnkDebug0+0x432\n" " .word gUnknown_03004210\n" - " .word gUnknown_08400D7A\n" + " .word BattleText_YesNo\n" "\n" ); } @@ -8484,7 +8484,7 @@ void debug_sub_8013240() { asm( " push {lr}\n" - " bl gScriptFuncs_End+0x2fec\n" + " bl gMysteryEventScriptCmdTableEnd+0x2fec\n" " lsl r0, r0, #0x10\n" " cmp r0, #0\n" " beq ._1068 @cond_branch\n" @@ -8519,7 +8519,7 @@ void debug_sub_8013258() " lsr r4, r0, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gScriptFuncs_End+0x2f60\n" + " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" " cmp r0, #0\n" " bne ._1071 @cond_branch\n" " mov r0, #0x80\n" @@ -8555,13 +8555,13 @@ void debug_sub_8013294() " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._1076 @cond_branch\n" - " bl gScriptFuncs_End+0x19f4\n" + " bl gMysteryEventScriptCmdTableEnd+0x19f4\n" " add r0, r4, #0\n" " add r1, r5, #0\n" " add r2, r6, #0\n" " bl debug_sub_8013258\n" " add r4, r0, #0\n" - " bl gScriptFuncs_End+0x1a70\n" + " bl gMysteryEventScriptCmdTableEnd+0x1a70\n" " add r0, r4, #0\n" " b ._1077\n" "._1076:\n" @@ -8591,7 +8591,7 @@ void debug_sub_80132C8() " mov r1, #0x0\n" " add r2, r5, #0\n" " add r3, r6, #0\n" - " bl gScriptFuncs_End+0x2d64\n" + " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" "._1078:\n" " pop {r4, r5, r6}\n" " pop {r0}\n" @@ -9066,7 +9066,7 @@ void debug_sub_80139E4() "._1193:\n" " ldr r0, ._1198 + 12\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " ldr r1, ._1198 + 4\n" " mov r0, #0x0\n" " strb r0, [r1]\n" @@ -9081,7 +9081,7 @@ void debug_sub_80139E4() " lsl r0, r0, #0x2\n" " add r0, r0, r5\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " ldrb r0, [r4]\n" " add r0, r0, #0x1\n" " strb r0, [r4]\n" @@ -9103,7 +9103,7 @@ void debug_sub_80139E4() "._1192:\n" " ldr r0, ._1202\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " ldr r1, ._1202 + 4\n" " strb r4, [r1]\n" " ldr r0, ._1202 + 8\n" @@ -9117,7 +9117,7 @@ void debug_sub_80139E4() " lsl r0, r0, #0x2\n" " add r0, r0, r5\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " ldrb r0, [r4]\n" " add r0, r0, #0x1\n" " strb r0, [r4]\n" @@ -9349,7 +9349,7 @@ void sub_8010874() " mov r0, #0x64\n" " mul r0, r0, r1\n" " ldr r1, ._1215 + 160\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " ldr r2, ._1215 + 164\n" " add r1, r4, r2\n" " strb r0, [r1]\n" diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 938d0fde1..ffc9281e4 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -318,7 +318,7 @@ void BattleAI_SetupAIData() " ldrb r0, [r3]\n" " mov r1, #0x0\n" " mov r2, #0xff\n" - " bl sub_8015A98\n" + " bl CheckMoveLimitations\n" " lsl r0, r0, #0x18\n" " lsr r7, r0, #0x18\n" " mov r4, #0x0\n" diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index b19547d52..1b6240159 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -1405,7 +1405,7 @@ void sub_804454C() " add r1, r1, r0\n" " mov r0, sp\n" " ldr r2, ._150 + 36\n" - " bl gScriptFuncs_End+0x3cb4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" " ldrb r4, [r5]\n" " ldrh r0, [r7]\n" " mov r1, sl\n" @@ -1467,7 +1467,7 @@ void sub_804454C() " ldr r2, ._153 + 4\n" " add r1, r1, r2\n" " ldr r2, ._153 + 8\n" - " bl gScriptFuncs_End+0x3cb4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" " b ._163\n" "._154:\n" " .align 2, 0\n" @@ -1521,7 +1521,7 @@ void sub_804454C() " add r1, r1, r6\n" " mov r0, sp\n" " ldr r2, ._161 + 4\n" - " bl gScriptFuncs_End+0x3cb4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" " ldrb r4, [r5]\n" " ldrh r0, [r7]\n" " mov r1, sl\n" diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 1d36d528f..b86fa0abf 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -2237,7 +2237,7 @@ void debug_sub_815FFDC() " mov r0, #0xf\n" " mov r1, #0x1\n" " mov r2, #0xff\n" - " bl unref_sub_80F924C\n" + " bl PrintTriangleCursorWithPalette\n" " ldr r1, ._217 + 4\n" " ldr r0, ._217 + 8\n" " str r0, [r1]\n" @@ -2831,7 +2831,7 @@ void debug_sub_81603B8() " lsl r1, r1, #0x18\n" " lsr r1, r1, #0x18\n" " mov r2, #0xff\n" - " bl unref_sub_80F924C\n" + " bl PrintTriangleCursorWithPalette\n" " pop {r4, r5, r6, r7}\n" " pop {r0}\n" " bx r0\n" @@ -3206,7 +3206,7 @@ void debug_sub_8160714() " lsr r1, r1, #0x18\n" " mov r0, r9\n" " str r2, [sp, #0xc]\n" - " bl sub_810CA9C\n" + " bl GetPokeblockData\n" " add r1, r0, #0\n" " lsl r0, r5, #0x1\n" " add r0, r0, sp\n" diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index f929170fd..766137871 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -2177,7 +2177,7 @@ void NoharaDebugMenu_SootopolisCity() " mov r0, #0x71\n" " bl FlagSet\n" " ldr r0, ._227\n" - " bl FlagReset\n" + " bl FlagClear\n" " bl CloseMenu\n" " mov r0, #0x1\n" " pop {r1}\n" @@ -2196,7 +2196,7 @@ void NoharaDebugMenu_Embark() asm( " push {lr}\n" " ldr r0, ._229\n" - " bl FlagReset\n" + " bl FlagClear\n" " ldr r0, ._229 + 4\n" " mov r1, #0x1\n" " bl VarSet\n" diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 6f9f0d02c..e4ae404e2 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -170,7 +170,7 @@ void debug_sub_8076BB4() " add r2, r2, #0x4\n" " add r0, r0, r2\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " b ._24\n" "._14:\n" " .align 2, 0\n" @@ -886,7 +886,7 @@ void DebugMenu_8077020() " lsr r4, r0, #0x18\n" " ldr r0, ._109\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " cmp r0, #0x1\n" @@ -1058,7 +1058,7 @@ void DebugMenu_807709C() " add r1, r1, #0x4\n" " add r0, r0, r1\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " b ._132\n" @@ -1185,18 +1185,18 @@ void DebugMenu_8077238() " ldr r1, ._139\n" " mov r0, sp\n" " mov r2, #0x2\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, sp, #0x4\n" " mov r9, r0\n" " ldr r1, ._139 + 4\n" " mov r2, #0x3\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r1, sp, #0x8\n" " mov sl, r1\n" " ldr r1, ._139 + 8\n" " mov r0, sl\n" " mov r2, #0x3\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " mov r2, #0x0\n" " str r2, [sp, #0x14]\n" " add r4, sp, #0x10\n" @@ -1930,7 +1930,7 @@ void DebugMenu_80776B4() " ldr r1, ._183\n" " mov r0, sp\n" " mov r2, #0x7\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " lsl r3, r4, #0x1\n" " lsl r5, r4, #0x19\n" " lsr r5, r5, #0x18\n" @@ -1973,7 +1973,7 @@ void DebugMenu_8077704() " ldr r1, ._185\n" " mov r0, sp\n" " mov r2, #0x11\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " mov r0, #0x13\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" @@ -2172,7 +2172,7 @@ void DebugMenu_807786C() " ldr r1, ._205\n" " mov r0, sp\n" " mov r2, #0x7\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " mov r0, #0x19\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" @@ -2871,7 +2871,7 @@ void DebugMenu_8077C3C() " add r0, r2, #0\n" " mov r1, #0xa\n" " str r3, [sp]\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " add r2, r0, #0\n" " ldr r3, [sp]\n" " cmp r4, r6\n" @@ -3983,7 +3983,7 @@ void DebugMenu_80783C8() " .word 0x804\n" "._381:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" " mov r0, #0x1\n" " bl DebugMenu_807786C\n" "._382:\n" @@ -4075,7 +4075,7 @@ void DebugMenu_8078464() " b ._401\n" "._392:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" " b ._401\n" "._398:\n" " add r0, r4, #0\n" @@ -5578,7 +5578,7 @@ void DebugMenu_8078E04() " lsr r4, r0, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gScriptFuncs_End+0x2f60\n" + " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" " cmp r0, #0\n" " bne ._576 @cond_branch\n" " mov r0, #0x80\n" @@ -5611,13 +5611,13 @@ void DebugMenu_8078E40() " add r6, r2, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl gScriptFuncs_End+0x19f4\n" + " bl gMysteryEventScriptCmdTableEnd+0x19f4\n" " add r0, r4, #0\n" " add r1, r5, #0\n" " add r2, r6, #0\n" " bl DebugMenu_8078E04\n" " add r4, r0, #0\n" - " bl gScriptFuncs_End+0x1a70\n" + " bl gMysteryEventScriptCmdTableEnd+0x1a70\n" " add r0, r4, #0\n" " pop {r4, r5, r6}\n" " pop {r1}\n" @@ -5637,7 +5637,7 @@ void DebugMenu_8078E68() " lsr r0, r0, #0x18\n" " mov r1, #0x0\n" " add r2, r4, #0\n" - " bl gScriptFuncs_End+0x2d64\n" + " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index cc2bdd80e..2d9074d19 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -2197,7 +2197,7 @@ void debug_sub_808C714() " .word gUnknown_Debug_083C31DC+0xa\n" "._189:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" "._190:\n" " pop {r4}\n" " pop {r0}\n" @@ -2857,7 +2857,7 @@ void debug_sub_808CBC0() " .word gUnknown_Debug_083C2710+0xa\n" "._229:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" "._230:\n" " pop {r4}\n" " pop {r0}\n" @@ -3235,7 +3235,7 @@ void debug_sub_808CE5C() " .word gUnknown_Debug_083C1C34+0x4\n" "._257:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" "._258:\n" " pop {r4}\n" " pop {r0}\n" @@ -3895,7 +3895,7 @@ void debug_sub_808D308() " .word gUnknown_Debug_083C19C6\n" "._297:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" "._298:\n" " pop {r4}\n" " pop {r0}\n" @@ -4226,7 +4226,7 @@ void debug_sub_808D54C() " .word gUnknown_Debug_083C1194+0x2\n" "._323:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" "._324:\n" " pop {r4}\n" " pop {r0}\n" @@ -4557,7 +4557,7 @@ void debug_sub_808D790() " .word gUnknown_Debug_083C12D0+0x2\n" "._349:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" "._350:\n" " pop {r4}\n" " pop {r0}\n" @@ -4840,7 +4840,7 @@ void debug_sub_808D97C() " .word gUnknown_Debug_083C1AAC+0x2\n" "._373:\n" " add r0, r4, #0\n" - " bl FlagReset\n" + " bl FlagClear\n" "._374:\n" " pop {r4}\n" " pop {r0}\n" diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 70e194907..a217a0258 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -9,7 +9,7 @@ void debug_sub_813C404() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -37,7 +37,7 @@ void debug_sub_813C430() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -65,7 +65,7 @@ void debug_sub_813C45C() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -93,7 +93,7 @@ void debug_sub_813C488() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -119,7 +119,7 @@ void debug_sub_813C4B4() " ldr r1, ._9 + 4\n" " sub r4, r4, r1\n" " add r2, r4, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r4, #0\n" " pop {r4}\n" " pop {r1}\n" @@ -144,7 +144,7 @@ void debug_sub_813C4D4() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_81261B4\n" @@ -172,7 +172,7 @@ void debug_sub_813C500() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -207,7 +207,7 @@ void debug_sub_813C52C() " mov r0, r8\n" " add r1, r4, #0\n" " add r2, r6, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " ldr r0, ._15 + 8\n" " sub r0, r0, r4\n" " add r0, r0, r8\n" @@ -517,7 +517,7 @@ void debug_sub_813C740() " add r0, r6, #0\n" " mov r1, r8\n" " mov r2, r9\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r5, #0\n" " mov r1, #0x19\n" " mov r2, #0x5\n" @@ -564,7 +564,7 @@ void debug_sub_813C740() " sub r0, r0, r1\n" " add r1, r5, #0\n" " mov r2, #0x64\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " ldr r0, ._29 + 20\n" " add r6, r6, r0\n" " mov r0, r8\n" @@ -572,7 +572,7 @@ void debug_sub_813C740() " add r0, r6, #0\n" " mov r1, sp\n" " mov r2, #0x24\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " mov r0, r9\n" " add sp, sp, #0x30\n" " pop {r3, r4, r5}\n" @@ -612,7 +612,7 @@ void debug_sub_813C810() " add r0, r6, #0\n" " add r1, r5, #0\n" " mov r2, r8\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r4, #0\n" " mov r1, #0xc9\n" " mov r2, #0x15\n" @@ -626,13 +626,13 @@ void debug_sub_813C810() " sub r0, r0, r5\n" " add r1, r4, #0\n" " mov r2, #0x64\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " ldr r0, ._31 + 16\n" " add r0, r6, r0\n" " sub r0, r0, r5\n" " mov r1, sp\n" " mov r2, #0x24\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r5, #0\n" " bl unref_sub_812620C\n" @@ -672,7 +672,7 @@ void debug_sub_813C888() " add r0, r6, #0\n" " add r1, r5, #0\n" " mov r2, r8\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r4, #0\n" " mov r1, #0xc9\n" " mov r2, #0x15\n" @@ -688,13 +688,13 @@ void debug_sub_813C888() " sub r0, r0, r5\n" " add r1, r4, #0\n" " mov r2, #0x64\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " ldr r0, ._33 + 16\n" " add r0, r6, r0\n" " sub r0, r0, r5\n" " mov r1, sp\n" " mov r2, #0x24\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r6, #0\n" " add r1, r5, #0\n" " bl unref_sub_812620C\n" @@ -763,7 +763,7 @@ void debug_sub_813C93C() " sub r5, r5, r6\n" " add r1, r6, #0\n" " add r2, r5, #0\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " bl SavePlayerParty\n" " bl debug_sub_813C904\n" " ldr r1, ._37 + 8\n" @@ -777,7 +777,7 @@ void debug_sub_813C93C() " add r0, r4, #0\n" " mov r1, sp\n" " mov r2, #0xbc\n" - " bl gScriptFuncs_End+0x5bc4\n" + " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" " add r0, r5, #0\n" " add sp, sp, #0xbc\n" " pop {r4, r5, r6}\n" diff --git a/src/engine/save.c b/src/engine/save.c index 5564a6ce3..e1fb47dcc 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -690,7 +690,7 @@ void sub_813B79C() " strh r0, [r1]\n" " add r0, r5, #0\n" " add r1, r4, #0\n" - " bl gScriptFuncs_End+0x2f60\n" + " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" @@ -718,7 +718,7 @@ void sub_813B79C() " lsr r4, r4, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gScriptFuncs_End+0x2f60\n" + " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" diff --git a/src/field/choose_party.c b/src/field/choose_party.c index 545c19dfa..8a54b0ad0 100644 --- a/src/field/choose_party.c +++ b/src/field/choose_party.c @@ -540,7 +540,7 @@ void debug_sub_81381B4() " add r0, r4, #0\n" " mov r1, #0x0\n" " mov r2, #0x60\n" - " bl gScriptFuncs_End+0x5c24\n" + " bl gMysteryEventScriptCmdTableEnd+0x5c24\n" " mov r7, #0x0\n" " mov r8, r4\n" " mov r0, #0x4\n" diff --git a/src/field/field_player_avatar.c b/src/field/field_player_avatar.c index 747edf816..db674e52f 100644 --- a/src/field/field_player_avatar.c +++ b/src/field/field_player_avatar.c @@ -291,7 +291,7 @@ u8 TryDoMetatileBehaviorForcedMovement() " lsr r0, r0, #0x16\n" " add r0, r0, r4\n" " ldr r0, [r0]\n" - " bl gScriptFuncs_End+0x3cf4\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" "._26:\n" @@ -513,7 +513,7 @@ void MovePlayerNotOnBike(u8 u81, u16 u161) " ldr r2, [r0]\n" " add r0, r5, #0\n" " add r1, r6, #0\n" - " bl gScriptFuncs_End+0x3cfc\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cfc\n" "._83:\n" " pop {r4, r5, r6}\n" " pop {r0}\n" @@ -1855,3 +1855,98 @@ static void sub_805A954(void) if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1A, 1, playerSprite->pos2.y); } + +#if DEBUG +__attribute__((naked)) +void debug_sub_805F2B0() +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r2, r0, #0x18\n" + " ldr r0, ._422\n" + " ldrh r1, [r0, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._420 @cond_branch\n" + " mov r0, #0x0\n" + " b ._421\n" + "._423:\n" + " .align 2, 0\n" + "._422:\n" + " .word gMain\n" + "._420:\n" + " add r0, r2, #0\n" + " bl debug_sub_805F2DC\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + "._421:\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} + +__attribute__((naked)) +void debug_sub_805F2DC() +{ + asm( + " push {r4, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " cmp r4, #0\n" + " bne ._424 @cond_branch\n" + " ldr r2, ._426\n" + " ldr r0, ._426 + 4\n" + " ldrb r1, [r0, #0x5]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldrb r0, [r0, #0x18]\n" + " lsr r0, r0, #0x4\n" + " bl PlayerFaceDirection\n" + " b ._430\n" + "._427:\n" + " .align 2, 0\n" + "._426:\n" + " .word gMapObjects\n" + " .word gPlayerAvatar\n" + "._424:\n" + " ldr r2, ._431\n" + " ldr r0, ._431 + 4\n" + " ldrb r1, [r0, #0x5]\n" + " lsl r0, r1, #0x3\n" + " add r0, r0, r1\n" + " lsl r0, r0, #0x2\n" + " add r0, r0, r2\n" + " ldrb r0, [r0, #0x1]\n" + " lsr r0, r0, #0x7\n" + " cmp r0, #0\n" + " beq ._429 @cond_branch\n" + " add r0, r4, #0\n" + " bl CanCameraMoveInDirection\n" + " cmp r0, #0\n" + " bne ._429 @cond_branch\n" + " add r0, r4, #0\n" + " bl PlayerOnBikeCollide\n" + " b ._430\n" + "._432:\n" + " .align 2, 0\n" + "._431:\n" + " .word gMapObjects\n" + " .word gPlayerAvatar\n" + "._429:\n" + " add r0, r4, #0\n" + " bl sub_80593F4\n" + "._430:\n" + " mov r0, #0x1\n" + " pop {r4}\n" + " pop {r1}\n" + " bx r1\n" + "\n" + ); +} +#endif diff --git a/src/field/field_weather.c b/src/field/field_weather.c index b6475d8ff..97eba16e0 100644 --- a/src/field/field_weather.c +++ b/src/field/field_weather.c @@ -188,6 +188,45 @@ const u8 gUnknown_083970C8[] = 1, }; +#if DEBUG + +const u8 gDebugText_Weather_0[] = _("なし   "); +const u8 gDebugText_Weather_1[] = _("はれ   "); +const u8 gDebugText_Weather_2[] = _("はれ2  "); +const u8 gDebugText_Weather_3[] = _("あめ   "); +const u8 gDebugText_Weather_4[] = _("ゆき   "); +const u8 gDebugText_Weather_5[] = _("かみなり "); +const u8 gDebugText_Weather_6[] = _("きり   "); +const u8 gDebugText_Weather_7[] = _("かざんばい"); +const u8 gDebugText_Weather_8[] = _("すなあらし"); +const u8 gDebugText_Weather_9[] = _("きり2  "); +const u8 gDebugText_Weather_10[] = _("かいてい "); +const u8 gDebugText_Weather_11[] = _("くもり  "); +const u8 gDebugText_Weather_12[] = _("はれ3  "); +const u8 gDebugText_Weather_13[] = _("おおあめ"); +const u8 gDebugText_Weather_14[] = _("かいてい2"); + +const u8 *const gDebugText_Weather[] = +{ + gDebugText_Weather_0, + gDebugText_Weather_1, + gDebugText_Weather_2, + gDebugText_Weather_3, + gDebugText_Weather_4, + gDebugText_Weather_5, + gDebugText_Weather_6, + gDebugText_Weather_7, + gDebugText_Weather_8, + gDebugText_Weather_9, + gDebugText_Weather_10, + gDebugText_Weather_11, + gDebugText_Weather_12, + gDebugText_Weather_13, + gDebugText_Weather_14, +}; + +#endif + const u16 gUnknown_083970E8[] = INCBIN_U16("graphics/weather/0.gbapal"); void StartWeather(void) @@ -1159,3 +1198,145 @@ void sub_807DE68(void) { gUnknown_030006DC = gUnknown_083970C8; } + +#if DEBUG + +__attribute__((naked)) +u8 debug_sub_8085564(void) +{ + asm("\ + push {lr}\n\ + mov r2, #0x0\n\ + ldr r0, ._375\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._370 @cond_branch\n\ + ldr r1, ._375 + 4\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xf\n\ + bne ._371 @cond_branch\n\ + strb r2, [r1]\n\ +._371:\n\ + mov r2, #0x1\n\ +._370:\n\ + ldr r0, ._375\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._372 @cond_branch\n\ + ldr r1, ._375 + 4\n\ + ldrb r0, [r1]\n\ + cmp r0, #0\n\ + beq ._373 @cond_branch\n\ + sub r0, r0, #0x1\n\ + b ._374\n\ +._376:\n\ + .align 2, 0\n\ +._375:\n\ + .word gMain\n\ + .word gUnknown_0202FF58+0x2\n\ +._373:\n\ + mov r0, #0xe\n\ +._374:\n\ + strb r0, [r1]\n\ + mov r2, #0x1\n\ +._372:\n\ + cmp r2, #0\n\ + beq ._377 @cond_branch\n\ + mov r0, #0x16\n\ + mov r1, #0x1\n\ + mov r2, #0x1c\n\ + mov r3, #0x2\n\ + bl MenuFillWindowRectWithBlankTile\n\ + ldr r1, ._380\n\ + ldr r0, ._380 + 4\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x17\n\ + mov r2, #0x1\n\ + bl MenuPrint\n\ +._377:\n\ + ldr r0, ._380 + 8\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._378 @cond_branch\n\ + mov r0, #0x0\n\ + b ._379\n\ +._381:\n\ + .align 2, 0\n\ +._380:\n\ + .word gDebugText_Weather\n\ + .word gUnknown_0202FF58+0x2\n\ + .word gMain\n\ +._378:\n\ + ldr r0, ._382\n\ + ldrb r0, [r0]\n\ + bl DoWeatherEffect\n\ + bl CloseMenu\n\ + mov r0, #0x1\n\ +._379:\n\ + pop {r1}\n\ + bx r1\n\ +._383:\n\ + .align 2, 0\n\ +._382:\n\ + .word gUnknown_0202FF58+0x2"); +} + +__attribute__((naked)) +u8 debug_sub_808560C(void) +{ + asm("\ + push {r4, lr}\n\ + ldr r4, ._384\n\ + ldr r0, ._384 + 4\n\ + mov r1, #0xda\n\ + lsl r1, r1, #0x3\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + strb r0, [r4]\n\ + bl MenuZeroFillScreen\n\ + mov r0, #0x16\n\ + mov r1, #0x1\n\ + mov r2, #0x1c\n\ + mov r3, #0x2\n\ + bl MenuFillWindowRectWithBlankTile\n\ + ldr r1, ._384 + 8\n\ + ldrb r0, [r4]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x17\n\ + mov r2, #0x1\n\ + bl MenuPrint\n\ + ldr r1, ._384 + 12\n\ + ldr r0, ._384 + 16\n\ + str r0, [r1]\n\ + mov r0, #0x0\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1\n\ +._385:\n\ + .align 2, 0\n\ +._384:\n\ + .word gUnknown_0202FF58+0x2\n\ + .word gUnknown_0202F7E8\n\ + .word gDebugText_Weather\n\ + .word gCallback_03004AE8\n\ + .word debug_sub_8085564+1"); +} + +#endif diff --git a/src/field/fldeff_secretpower.c b/src/field/fldeff_secretpower.c index bf8e98403..c200ce2f5 100644 --- a/src/field/fldeff_secretpower.c +++ b/src/field/fldeff_secretpower.c @@ -243,6 +243,102 @@ void sub_80C6280(void) } } +#if DEBUG + +__attribute__((naked)) +void debug_sub_80D93F4() +{ + asm("\ + push {r4, lr}\n\ + bl sub_80BB63C\n\ + ldr r0, ._98\n\ + ldrh r0, [r0]\n\ + cmp r0, #0x1\n\ + beq ._95 @cond_branch\n\ + bl player_get_direction_lower_nybble\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x2\n\ + beq ._96 @cond_branch\n\ +._95:\n\ + bl ScriptContext2_Disable\n\ + b ._109\n\ +._99:\n\ + .align 2, 0\n\ +._98:\n\ + .word gScriptResult\n\ +._96:\n\ + ldr r4, ._102\n\ + add r1, r4, #2\n\ + add r0, r4, #0\n\ + bl GetXYCoordsOneStepInFrontOfPlayer\n\ + mov r1, #0x0\n\ + ldsh r0, [r4, r1]\n\ + mov r2, #0x2\n\ + ldsh r1, [r4, r2]\n\ + bl MapGridGetMetatileBehaviorAt\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + add r0, r4, #0\n\ + bl MetatileBehavior_IsSecretBaseCave\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bne ._100 @cond_branch\n\ + bl sub_80C6264\n\ + ldr r1, ._102 + 4\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + bl sub_80C639C\n\ + b ._109\n\ +._103:\n\ + .align 2, 0\n\ +._102:\n\ + .word gUnknown_0203923C\n\ + .word gLastFieldPokeMenuOpened\n\ +._100:\n\ + add r0, r4, #0\n\ + bl MetatileBehavior_IsSecretBaseTree\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bne ._104 @cond_branch\n\ + bl sub_80C6264\n\ + ldr r1, ._106\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + bl sub_80C64A8\n\ + b ._109\n\ +._107:\n\ + .align 2, 0\n\ +._106:\n\ + .word gLastFieldPokeMenuOpened\n\ +._104:\n\ + add r0, r4, #0\n\ + bl MetatileBehavior_IsSecretBaseShrub\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bne ._108 @cond_branch\n\ + bl sub_80C6264\n\ + ldr r1, ._110\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + bl sub_80C660C\n\ + b ._109\n\ +._111:\n\ + .align 2, 0\n\ +._110:\n\ + .word gLastFieldPokeMenuOpened\n\ +._108:\n\ + bl ScriptContext2_Disable\n\ +._109:\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0"); +} +#endif + bool8 SetUpFieldMove_SecretPower(void) { u8 behavior; diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 00368c2f5..1bce9bc3f 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -277,7 +277,7 @@ void debug_sub_810B32C() " .word ._28\n" " .word ._29\n" "._25:\n" - " bl sub_80F7A34\n" + " bl SetupBard\n" " b ._37\n" "._26:\n" " mov r2, #0x0\n" diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 7994dd60c..75c0cba78 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -4777,7 +4777,8 @@ void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c) gMain.newKeys = 0; } -static const u8 *const StatNames[] = { +static const u8 *const StatNames[] = +{ gOtherText_HP, gOtherText_Attack, gOtherText_Defense, @@ -4786,7 +4787,8 @@ static const u8 *const StatNames[] = { gOtherText_Speed, }; -static const u8 StatDataTypes[] = { +static const u8 StatDataTypes[] = +{ MON_DATA_MAX_HP, MON_DATA_ATK, MON_DATA_DEF, @@ -4794,6 +4796,17 @@ static const u8 StatDataTypes[] = { MON_DATA_SPDEF, MON_DATA_SPEED, }; + +#if DEBUG + +const u8 gUnknown_Debug_839B6CE[] = {0x40, 0, 0, 0, 0x44, 0, 0xFF, 0, 0, 0}; + +const u8 gUnknown_Debug_839B6D8[] = _( + "{STR_VAR_1}かい じっこう\n" + "{STR_VAR_2}たんいじかん しょうひ"); + +#endif + void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c) { u8 i; diff --git a/src/field/region_map.c b/src/field/region_map.c index a098eb73d..3bd64a8a0 100644 --- a/src/field/region_map.c +++ b/src/field/region_map.c @@ -280,7 +280,7 @@ static u16 sub_80FB9C0(u16); static void sub_80FBA18(void); static bool8 sub_80FBAA0(u16); void CreateRegionMapCursor(u16, u16); -static void sub_80FBCA0(void); +void sub_80FBCA0(void); static void sub_80FBDF8(void); static void sub_80FBE24(void); static void SpriteCB_PlayerIconZoomedOut(struct Sprite *); @@ -1127,7 +1127,7 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag) } } -static void sub_80FBCA0(void) +void sub_80FBCA0(void) { if (gRegionMap->cursorSprite != NULL) { diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 3aefa80de..d84a6e592 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -30,6 +30,8 @@ struct UnkStruct1 #define SLOTMACHINE_GFX_TILES 236 #endif +// TODO: figure out which functions are static and which are not. +#define static static void CB2_SlotMachineSetup(void); static void CB2_SlotMachineLoop(void); @@ -77,6 +79,7 @@ static bool8 sub_81023E0(struct Task *task); static bool8 sub_81023FC(struct Task *task); static bool8 sub_8102424(struct Task *task); static bool8 sub_8102460(struct Task *task); +static bool8 debug_sub_8116E74(struct Task *); static void sub_8102484(void); static void sub_81024F0(void); static bool8 sub_8102540(void); @@ -230,11 +233,59 @@ static const u8 gUnknown_083ECE3A[]; static const u16 gUnknown_083ECE42[]; static const u16 gUnknown_083ECE48[]; +#if DEBUG +__attribute__((naked)) +void PlaySlotMachine(u8 arg0, MainCallback cb) +{ + asm("\ + push {lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r3, ._1\n\ + mov r2, #0x0\n\ + strb r2, [r3]\n\ + bl sub_81019B0\n\ + ldr r0, ._1 + 4\n\ + bl SetMainCallback2\n\ + pop {r0}\n\ + bx r0\n\ +._2:\n\ + .align 2, 0\n\ +._1:\n\ + .word unk_debug_bss_1+0x1\n\ + .word sub_81018B8+1"); +} +#else void PlaySlotMachine(u8 arg0, MainCallback cb) { PlaySlotMachine_Internal(arg0, cb); SetMainCallback2(CB2_SlotMachineSetup); } +#endif + +#if DEBUG +__attribute__((naked)) +void debug_sub_811609C() +{ + asm("\ + push {lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r3, ._3\n\ + mov r2, #0x1\n\ + strb r2, [r3]\n\ + bl sub_81019B0\n\ + ldr r0, ._3 + 4\n\ + bl SetMainCallback2\n\ + pop {r0}\n\ + bx r0\n\ +._4:\n\ + .align 2, 0\n\ +._3:\n\ + .word unk_debug_bss_1+0x1\n\ + .word sub_81018B8+1"); +} +#endif static void CB2_SlotMachineSetup(void) { @@ -367,6 +418,135 @@ static void SlotMachineSetup_2_1(void) static const s16 gUnknown_083ECCF8[][2]; +#if DEBUG +__attribute__((naked)) +static void SlotMachineSetup_0_1(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, sl\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6, r7}\n\ + bl sub_81019EC\n\ + ldr r5, ._43\n\ + mov r4, #0x0\n\ + strb r4, [r5]\n\ + strb r4, [r5, #0x2]\n\ + bl Random\n\ + mov r1, #0x1\n\ + and r1, r1, r0\n\ + strb r1, [r5, #0x3]\n\ + strb r4, [r5, #0x4]\n\ + mov r0, #0x0\n\ + strh r4, [r5, #0x8]\n\ + strb r0, [r5, #0xa]\n\ + strb r0, [r5, #0xb]\n\ + ldr r0, ._43 + 4\n\ + ldr r1, ._43 + 8\n\ + add r0, r0, r1\n\ + ldrh r0, [r0]\n\ + strh r0, [r5, #0xc]\n\ + strh r4, [r5, #0xe]\n\ + strh r4, [r5, #0x10]\n\ + strh r4, [r5, #0x12]\n\ + strh r4, [r5, #0x18]\n\ + mov r0, #0x8\n\ + strh r0, [r5, #0x1a]\n\ + add r1, r5, #0\n\ + add r1, r1, #0x58\n\ + mov r0, #0xf0\n\ + strh r0, [r1]\n\ + add r1, r1, #0x2\n\ + mov r0, #0xa0\n\ + strh r0, [r1]\n\ + add r0, r5, #0\n\ + add r0, r0, #0x5c\n\ + mov r1, #0x3f\n\ + strh r1, [r0]\n\ + add r0, r0, #0x2\n\ + strh r1, [r0]\n\ + bl GetCurrentMapMusic\n\ + add r1, r5, #0\n\ + add r1, r1, #0x60\n\ + strh r0, [r1]\n\ + mov r7, #0x0\n\ + add r6, r5, #0\n\ + ldr r2, ._43 + 12\n\ + mov sl, r2\n\ + mov r0, #0x1c\n\ + add r0, r0, r6\n\ + mov r9, r0\n\ +._41:\n\ + lsl r5, r7, #0x1\n\ + mov r1, #0x22\n\ + add r1, r1, r6\n\ + mov r8, r1\n\ + add r1, r5, r1\n\ + mov r0, #0x0\n\ + strh r0, [r1]\n\ + add r4, r6, #0\n\ + add r4, r4, #0x28\n\ + add r4, r5, r4\n\ + ldrb r0, [r6, #0x3]\n\ + lsl r0, r0, #0x1\n\ + lsl r1, r7, #0x2\n\ + add r0, r0, r1\n\ + add r0, r0, sl\n\ + mov r2, #0x0\n\ + ldsh r0, [r0, r2]\n\ + mov r1, #0x15\n\ + bl __modsi3\n\ + strh r0, [r4]\n\ + add r5, r5, r9\n\ + mov r1, #0x0\n\ + ldsh r0, [r4, r1]\n\ + lsl r1, r0, #0x1\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + mov r2, #0xfc\n\ + lsl r2, r2, #0x1\n\ + add r0, r2, #0\n\ + sub r0, r0, r1\n\ + strh r0, [r5]\n\ + mov r1, #0x0\n\ + ldsh r0, [r5, r1]\n\ + add r1, r2, #0\n\ + bl __modsi3\n\ + strh r0, [r5]\n\ + add r0, r7, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + cmp r7, #0x2\n\ + bls ._41 @cond_branch\n\ + bl debug_sub_811B5D0\n\ + ldr r0, ._43 + 16\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._42 @cond_branch\n\ + mov r1, r8\n\ + sub r1, r1, #0x22\n\ + mov r0, #0xfa\n\ + lsl r0, r0, #0x2\n\ + strh r0, [r1, #0xc]\n\ +._42:\n\ + pop {r3, r4, r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov sl, r5\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._44:\n\ + .align 2, 0\n\ +._43:\n\ + .word +0x2000000\n\ + .word gSaveBlock1\n\ + .word 0x494\n\ + .word gUnknown_083ECCF8\n\ + .word unk_debug_bss_1+0x1"); +} +#else static void SlotMachineSetup_0_1(void) { u8 i; @@ -398,6 +578,7 @@ static void SlotMachineSetup_0_1(void) eSlotMachine->unk1C[i] %= 0x1f8; } } +#endif static void SlotMachineSetup_3_0(void) { @@ -442,7 +623,8 @@ static void sub_8101D04(void) sub_8101D24(CreateTask(sub_8101D24, 0)); } -static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { +static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = +{ sub_8101D5C, sub_8101D8C, sub_8101DB0, @@ -471,7 +653,10 @@ static bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = { sub_81023E0, sub_81023FC, sub_8102424, - sub_8102460 + sub_8102460, +#if DEBUG + debug_sub_8116E74, +#endif }; static void sub_8101D24(u8 taskId) @@ -524,6 +709,46 @@ static bool8 sub_8101DF4(struct Task *task) return FALSE; } +#if DEBUG +__attribute__((naked)) +static bool8 sub_8101E10(struct Task *task) +{ + asm("\ + push {lr}\n\ + mov r0, #0x0\n\ + bl sub_8104CAC\n\ + ldr r2, ._70\n\ + mov r0, #0x5\n\ + strb r0, [r2]\n\ + ldr r0, ._70 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._67 @cond_branch\n\ + ldr r0, ._70 + 8\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._69 @cond_branch\n\ +._67:\n\ + mov r0, #0xc\n\ + ldsh r1, [r2, r0]\n\ + ldr r0, ._70 + 12\n\ + cmp r1, r0\n\ + ble ._69 @cond_branch\n\ + mov r0, #0x17\n\ + strb r0, [r2]\n\ +._69:\n\ + mov r0, #0x1\n\ + pop {r1}\n\ + bx r1\n\ +._71:\n\ + .align 2, 0\n\ +._70:\n\ + .word +0x2000000\n\ + .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1+0x4\n\ + .word 0x270e"); +} +#else static bool8 sub_8101E10(struct Task *task) { sub_8104CAC(0); @@ -534,7 +759,205 @@ static bool8 sub_8101E10(struct Task *task) } return TRUE; } +#endif +#if DEBUG +__attribute__((naked)) +static bool8 sub_8101E3C(struct Task *task) +{ + asm("\ + push {r4, r5, lr}\n\ + ldr r0, ._77\n\ + ldrb r1, [r0]\n\ + add r3, r0, #0\n\ + ldr r5, ._77 + 4\n\ + cmp r1, #0\n\ + beq ._76 @cond_branch\n\ + ldr r2, ._77 + 8\n\ + ldrb r0, [r2]\n\ + cmp r0, #0\n\ + beq ._76 @cond_branch\n\ + ldr r4, ._77 + 12\n\ + mov r1, #0xc\n\ + ldsh r0, [r4, r1]\n\ + cmp r0, #0x3\n\ + ble ._74 @cond_branch\n\ + ldrh r1, [r5, #0x2c]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._75 @cond_branch\n\ +._74:\n\ + mov r0, #0x0\n\ + strb r0, [r2]\n\ + b ._76\n\ +._78:\n\ + .align 2, 0\n\ +._77:\n\ + .word unk_debug_bss_1+0x1\n\ + .word gMain\n\ + .word unk_debug_bss_1+0x4\n\ + .word +0x2000000\n\ +._75:\n\ + mov r0, #0x0\n\ + bl sub_8103D50\n\ + mov r0, #0x1\n\ + bl sub_8103D50\n\ + mov r0, #0x2\n\ + bl sub_8103D50\n\ + ldrh r0, [r4, #0xc]\n\ + sub r0, r0, #0x3\n\ + strh r0, [r4, #0xc]\n\ + mov r0, #0x3\n\ + strh r0, [r4, #0x12]\n\ + mov r0, #0x9\n\ + strb r0, [r4]\n\ + b ._102\n\ +._76:\n\ + ldrb r0, [r3]\n\ + cmp r0, #0\n\ + beq ._81 @cond_branch\n\ + ldrh r1, [r5, #0x2e]\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._81 @cond_branch\n\ + bl debug_sub_811B620\n\ + ldr r1, ._83\n\ + mov r0, #0x1d\n\ + strb r0, [r1]\n\ + b ._102\n\ +._84:\n\ + .align 2, 0\n\ +._83:\n\ + .word +0x2000000\n\ +._81:\n\ + ldrh r1, [r5, #0x2e]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._85 @cond_branch\n\ + mov r0, #0x0\n\ + bl sub_8104AB8\n\ + ldr r1, ._87\n\ + mov r0, #0x8\n\ + strb r0, [r1]\n\ + b ._102\n\ +._88:\n\ + .align 2, 0\n\ +._87:\n\ + .word +0x2000000\n\ +._85:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._89 @cond_branch\n\ + ldr r2, ._94\n\ + mov r3, #0xc\n\ + ldsh r0, [r2, r3]\n\ + sub r0, r0, #0x3\n\ + mov r3, #0x12\n\ + ldsh r1, [r2, r3]\n\ + add r0, r0, r1\n\ + cmp r0, #0\n\ + blt ._90 @cond_branch\n\ + ldrh r4, [r2, #0x12]\n\ + add r0, r1, #0\n\ + cmp r0, #0x2\n\ + bgt ._91 @cond_branch\n\ +._92:\n\ + lsl r0, r4, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl sub_8103D50\n\ + lsl r0, r4, #0x10\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0x9\n\ + add r0, r0, r2\n\ + lsr r4, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0x2\n\ + ble ._92 @cond_branch\n\ +._91:\n\ + ldr r1, ._94\n\ + ldrh r0, [r1, #0xc]\n\ + sub r0, r0, #0x3\n\ + ldrh r3, [r1, #0x12]\n\ + add r0, r0, r3\n\ + strh r0, [r1, #0xc]\n\ + mov r0, #0x3\n\ + strh r0, [r1, #0x12]\n\ + mov r0, #0x9\n\ + strb r0, [r1]\n\ + mov r0, #0x5f\n\ + bl PlaySE\n\ + b ._102\n\ +._95:\n\ + .align 2, 0\n\ +._94:\n\ + .word +0x2000000\n\ +._90:\n\ + mov r0, #0x6\n\ + b ._96\n\ +._89:\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._98 @cond_branch\n\ + ldr r4, ._103\n\ + mov r1, #0xc\n\ + ldsh r0, [r4, r1]\n\ + cmp r0, #0\n\ + beq ._98 @cond_branch\n\ + mov r0, #0x5f\n\ + bl PlaySE\n\ + ldrb r0, [r4, #0x12]\n\ + bl sub_8103D50\n\ + ldrh r0, [r4, #0xc]\n\ + sub r0, r0, #0x1\n\ + strh r0, [r4, #0xc]\n\ + ldrh r0, [r4, #0x12]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4, #0x12]\n\ +._98:\n\ + ldr r0, ._103\n\ + mov r2, #0x12\n\ + ldsh r1, [r0, r2]\n\ + add r2, r0, #0\n\ + ldr r5, ._103 + 4\n\ + cmp r1, #0x2\n\ + bgt ._99 @cond_branch\n\ + cmp r1, #0\n\ + beq ._101 @cond_branch\n\ + ldrh r1, [r5, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._101 @cond_branch\n\ +._99:\n\ + mov r0, #0x9\n\ + strb r0, [r2]\n\ +._101:\n\ + ldrh r1, [r5, #0x2e]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._102 @cond_branch\n\ + mov r0, #0x15\n\ +._96:\n\ + strb r0, [r2]\n\ +._102:\n\ + mov r0, #0x0\n\ + pop {r4, r5}\n\ + pop {r1}\n\ + bx r1\n\ +._104:\n\ + .align 2, 0\n\ +._103:\n\ + .word +0x2000000\n\ + .word gMain"); +} +#else static bool8 sub_8101E3C(struct Task *task) { s16 i; @@ -582,6 +1005,7 @@ static bool8 sub_8101E3C(struct Task *task) } return FALSE; } +#endif static void sub_8101F2C(const u8 *str) { @@ -615,6 +1039,71 @@ static bool8 sub_8101F88(struct Task *task) return FALSE; } +#if DEBUG +__attribute__((naked)) +static bool8 sub_8101FA4(struct Task *task) +{ + asm("\ + push {r4, lr}\n\ + add r4, r0, #0\n\ + bl sub_8102484\n\ + bl sub_8104DA4\n\ + mov r0, #0x0\n\ + bl sub_8102DEC\n\ + mov r0, #0x1\n\ + bl sub_8102DEC\n\ + mov r0, #0x2\n\ + bl sub_8102DEC\n\ + mov r0, #0x0\n\ + strh r0, [r4, #0x8]\n\ + ldr r4, ._115\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._113 @cond_branch\n\ + bl sub_810430C\n\ + mov r0, #0xa\n\ + b ._114\n\ +._116:\n\ + .align 2, 0\n\ +._115:\n\ + .word +0x2000000\n\ +._113:\n\ + mov r0, #0x1\n\ + bl sub_8104CAC\n\ + mov r0, #0xb\n\ +._114:\n\ + strb r0, [r4]\n\ + ldr r4, ._119\n\ + mov r0, #0x8\n\ + strh r0, [r4, #0x1a]\n\ + ldrb r0, [r4, #0xa]\n\ + cmp r0, #0\n\ + beq ._117 @cond_branch\n\ + bl dp15_jump_random_unknown\n\ + strh r0, [r4, #0x1a]\n\ +._117:\n\ + ldr r0, ._119 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._118 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x68\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._118:\n\ + mov r0, #0x0\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1\n\ +._120:\n\ + .align 2, 0\n\ +._119:\n\ + .word +0x2000000\n\ + .word unk_debug_bss_1+0x1"); +} +#else static bool8 sub_8101FA4(struct Task *task) { sub_8102484(); @@ -640,6 +1129,7 @@ static bool8 sub_8101FA4(struct Task *task) } return FALSE; } +#endif static bool8 sub_8102008(struct Task *task) { @@ -652,6 +1142,52 @@ static bool8 sub_8102008(struct Task *task) return FALSE; } +#if DEBUG +__attribute__((naked)) +static bool8 sub_8102034(struct Task *task) +{ + asm("\ + push {r4, lr}\n\ + ldrh r1, [r0, #0x8]\n\ + add r1, r1, #0x1\n\ + strh r1, [r0, #0x8]\n\ + lsl r1, r1, #0x10\n\ + asr r1, r1, #0x10\n\ + cmp r1, #0x1d\n\ + ble ._124 @cond_branch\n\ + ldr r0, ._127\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._126 @cond_branch\n\ + ldr r0, ._127 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._126 @cond_branch\n\ + ldr r4, ._127 + 8\n\ + bl Random\n\ + mov r1, #0x1f\n\ + and r1, r1, r0\n\ + add r1, r1, #0x1\n\ + str r1, [r4]\n\ +._126:\n\ + bl sub_81024F0\n\ + ldr r1, ._127 + 12\n\ + mov r0, #0xc\n\ + strb r0, [r1]\n\ +._124:\n\ + mov r0, #0x0\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1\n\ +._128:\n\ + .align 2, 0\n\ +._127:\n\ + .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1+0x4\n\ + .word unk_debug_bss_1+0x8\n\ + .word +0x2000000"); +} +#else static bool8 sub_8102034(struct Task *task) { if (++task->data[0] >= 30) @@ -661,7 +1197,77 @@ static bool8 sub_8102034(struct Task *task) } return FALSE; } +#endif +#if DEBUG +__attribute__((naked)) +static bool8 sub_8102058(struct Task *task) +{ + asm("\ + push {r4, r5, lr}\n\ + ldr r0, ._133\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._130 @cond_branch\n\ + ldr r0, ._133 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._130 @cond_branch\n\ + ldr r5, ._133 + 8\n\ + ldr r0, [r5]\n\ + sub r0, r0, #0x1\n\ + str r0, [r5]\n\ + cmp r0, #0\n\ + bne ._135 @cond_branch\n\ + mov r0, #0x18\n\ + bl PlaySE\n\ + ldr r4, ._133 + 12\n\ + ldrb r0, [r4, #0x18]\n\ + bl sub_8102E1C\n\ + ldrb r0, [r4, #0x18]\n\ + bl sub_8103C14\n\ + bl Random\n\ + mov r1, #0x1f\n\ + and r1, r1, r0\n\ + add r1, r1, #0x1\n\ + str r1, [r5]\n\ + b ._132\n\ +._134:\n\ + .align 2, 0\n\ +._133:\n\ + .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1+0x4\n\ + .word unk_debug_bss_1+0x8\n\ + .word +0x2000000\n\ +._130:\n\ + ldr r0, ._136\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._135 @cond_branch\n\ + mov r0, #0x18\n\ + bl PlaySE\n\ + ldr r4, ._136 + 4\n\ + ldrb r0, [r4, #0x18]\n\ + bl sub_8102E1C\n\ + ldrb r0, [r4, #0x18]\n\ + bl sub_8103C14\n\ +._132:\n\ + mov r0, #0xd\n\ + strb r0, [r4]\n\ +._135:\n\ + mov r0, #0x0\n\ + pop {r4, r5}\n\ + pop {r1}\n\ + bx r1\n\ +._137:\n\ + .align 2, 0\n\ +._136:\n\ + .word gMain\n\ + .word +0x2000000"); +} +#else static bool8 sub_8102058(struct Task *task) { if (gMain.newKeys & A_BUTTON) @@ -673,7 +1279,121 @@ static bool8 sub_8102058(struct Task *task) } return FALSE; } +#endif +#if DEBUG +__attribute__((naked)) +static bool8 sub_8102090(struct Task *task) +{ + asm("\ + push {r4, lr}\n\ + ldr r4, ._146\n\ + ldrb r0, [r4, #0x18]\n\ + bl sub_8102E40\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + bne ._138 @cond_branch\n\ + ldrh r0, [r4, #0x18]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4, #0x18]\n\ + mov r1, #0xc\n\ + strb r1, [r4]\n\ + lsl r0, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0x2\n\ + ble ._161 @cond_branch\n\ + mov r0, #0xe\n\ + strb r0, [r4]\n\ + ldr r0, ._146 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x8\n\ + beq ._140 @cond_branch\n\ + cmp r0, #0x8\n\ + bgt ._141 @cond_branch\n\ + cmp r0, #0x2\n\ + beq ._142 @cond_branch\n\ + cmp r0, #0x2\n\ + bgt ._143 @cond_branch\n\ + cmp r0, #0x1\n\ + beq ._144 @cond_branch\n\ + b ._161\n\ +._147:\n\ + .align 2, 0\n\ +._146:\n\ + .word +0x2000000\n\ + .word unk_debug_bss_1\n\ +._143:\n\ + cmp r0, #0x4\n\ + beq ._148 @cond_branch\n\ + b ._161\n\ +._141:\n\ + cmp r0, #0x40\n\ + beq ._150 @cond_branch\n\ + cmp r0, #0x40\n\ + bgt ._151 @cond_branch\n\ + cmp r0, #0x10\n\ + beq ._152 @cond_branch\n\ + b ._161\n\ +._151:\n\ + cmp r0, #0x80\n\ + beq ._154 @cond_branch\n\ + b ._161\n\ +._142:\n\ + mov r0, #0x14\n\ + strh r0, [r4, #0x28]\n\ + strh r0, [r4, #0x2a]\n\ + mov r0, #0x12\n\ + b ._160\n\ +._144:\n\ + mov r0, #0x14\n\ + strh r0, [r4, #0x28]\n\ + strh r0, [r4, #0x2a]\n\ + mov r0, #0x12\n\ + b ._160\n\ +._148:\n\ + mov r0, #0x3\n\ + strh r0, [r4, #0x28]\n\ + mov r0, #0x1\n\ + strh r0, [r4, #0x2a]\n\ + mov r0, #0x2\n\ + b ._160\n\ +._140:\n\ + strh r2, [r4, #0x28]\n\ + mov r0, #0x2\n\ + strh r0, [r4, #0x2a]\n\ + mov r0, #0x3\n\ + b ._160\n\ +._152:\n\ + mov r0, #0x2\n\ + strh r0, [r4, #0x28]\n\ + mov r0, #0x5\n\ + strh r0, [r4, #0x2a]\n\ + mov r0, #0x14\n\ + b ._160\n\ +._150:\n\ + mov r0, #0x13\n\ + strh r0, [r4, #0x28]\n\ + strh r0, [r4, #0x2a]\n\ + strh r2, [r4, #0x2c]\n\ + b ._161\n\ +._154:\n\ + mov r0, #0x13\n\ + strh r0, [r4, #0x28]\n\ + strh r0, [r4, #0x2a]\n\ +._160:\n\ + strh r0, [r4, #0x2c]\n\ +._161:\n\ + mov r0, #0x1\n\ + b ._162\n\ +._138:\n\ + mov r0, #0x0\n\ +._162:\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1"); +} +#else static bool8 sub_8102090(struct Task *task) { if (!sub_8102E40(eSlotMachine->unk18)) @@ -688,7 +1408,168 @@ static bool8 sub_8102090(struct Task *task) } return FALSE; } +#endif +#if DEBUG +__attribute__((naked)) +static bool8 sub_81020C8(struct Task *task) +{ + asm("\ + push {r4, lr}\n\ + ldr r4, ._165\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0xc0\n\ + and r0, r0, r1\n\ + strb r0, [r4, #0x4]\n\ + bl sub_81027A0\n\ + ldrb r0, [r4, #0xa]\n\ + cmp r0, #0\n\ + beq ._163 @cond_branch\n\ + sub r0, r0, #0x1\n\ + strb r0, [r4, #0xa]\n\ + ldrb r0, [r4, #0xb]\n\ + add r0, r0, #0x1\n\ + strb r0, [r4, #0xb]\n\ + b ._164\n\ +._166:\n\ + .align 2, 0\n\ +._165:\n\ + .word +0x2000000\n\ +._163:\n\ + bl debug_sub_811B894\n\ +._164:\n\ + ldr r4, ._171\n\ + ldrh r0, [r4, #0x8]\n\ + cmp r0, #0\n\ + beq ._167 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x6c\n\ + mov r2, #0xe\n\ + ldsh r1, [r4, r2]\n\ + bl debug_sub_811B5B4\n\ + mov r0, #0xf\n\ + strb r0, [r4]\n\ + bl sub_8102A24\n\ + bl sub_8103F70\n\ + ldrh r0, [r4, #0x10]\n\ + ldrh r1, [r4, #0xe]\n\ + sub r0, r0, r1\n\ + strh r0, [r4, #0x10]\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + bge ._168 @cond_branch\n\ + mov r0, #0x0\n\ + strh r0, [r4, #0x10]\n\ +._168:\n\ + ldrh r1, [r4, #0x8]\n\ + mov r0, #0xc0\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._169 @cond_branch\n\ + ldr r0, ._171 + 4\n\ + bl PlayFanfare\n\ + mov r0, #0x6\n\ + bl sub_8104CAC\n\ + b ._174\n\ +._172:\n\ + .align 2, 0\n\ +._171:\n\ + .word +0x2000000\n\ + .word 0x185\n\ +._169:\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._173 @cond_branch\n\ + ldr r0, ._175\n\ + bl PlayFanfare\n\ + mov r0, #0x5\n\ + bl sub_8104CAC\n\ + b ._174\n\ +._176:\n\ + .align 2, 0\n\ +._175:\n\ + .word 0x185\n\ +._173:\n\ + mov r0, #0xc3\n\ + lsl r0, r0, #0x1\n\ + bl PlayFanfare\n\ + mov r0, #0x2\n\ + bl sub_8104CAC\n\ +._174:\n\ + ldr r1, ._183\n\ + ldrh r3, [r1, #0x8]\n\ + mov r0, #0xe0\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r3\n\ + add r2, r1, #0\n\ + cmp r0, #0\n\ + beq ._179 @cond_branch\n\ + ldrb r1, [r2, #0x4]\n\ + mov r0, #0x3f\n\ + and r0, r0, r1\n\ + mov r1, #0x0\n\ + strb r0, [r2, #0x4]\n\ + mov r0, #0xc0\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r3\n\ + cmp r0, #0\n\ + beq ._179 @cond_branch\n\ + strb r1, [r2, #0xa]\n\ + strb r1, [r2, #0xb]\n\ + strb r1, [r2, #0x3]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r3\n\ + cmp r0, #0\n\ + beq ._179 @cond_branch\n\ + mov r0, #0x1\n\ + strb r0, [r2, #0x3]\n\ +._179:\n\ + ldrh r1, [r2, #0x8]\n\ + mov r0, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._185 @cond_branch\n\ + ldrb r0, [r2, #0x2]\n\ + cmp r0, #0xf\n\ + bhi ._185 @cond_branch\n\ + add r0, r0, #0x1\n\ + strb r0, [r2, #0x2]\n\ + ldrb r0, [r2, #0x2]\n\ + bl sub_8104064\n\ + b ._185\n\ +._184:\n\ + .align 2, 0\n\ +._183:\n\ + .word +0x2000000\n\ +._167:\n\ + mov r0, #0x3\n\ + bl sub_8104CAC\n\ + mov r0, #0x14\n\ + strb r0, [r4]\n\ + ldrh r0, [r4, #0x12]\n\ + ldrh r1, [r4, #0x10]\n\ + add r0, r0, r1\n\ + strh r0, [r4, #0x10]\n\ + lsl r0, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + ldr r1, ._186\n\ + cmp r0, r1\n\ + ble ._185 @cond_branch\n\ + strh r1, [r4, #0x10]\n\ +._185:\n\ + mov r0, #0x0\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1\n\ +._187:\n\ + .align 2, 0\n\ +._186:\n\ + .word 0x270f"); +} +#else static bool8 sub_81020C8(struct Task *task) { eSlotMachine->unk04 &= 0xc0; @@ -753,6 +1634,7 @@ static bool8 sub_81020C8(struct Task *task) } return FALSE; } +#endif static bool8 sub_81021E0(struct Task *task) { @@ -903,6 +1785,48 @@ static bool8 sub_81023FC(struct Task *task) return FALSE; } +#if DEBUG +__attribute__((naked)) +static bool8 sub_8102424(struct Task *task) +{ + asm("\ + push {lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._234\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._233 @cond_branch\n\ + ldr r0, ._234 + 4\n\ + ldr r1, ._234 + 8\n\ + ldrh r1, [r1, #0xc]\n\ + ldr r2, ._234 + 12\n\ + add r0, r0, r2\n\ + strh r1, [r0]\n\ +._233:\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + ldr r1, ._234 + 8\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + mov r0, #0x0\n\ + add sp, sp, #0x4\n\ + pop {r1}\n\ + bx r1\n\ +._235:\n\ + .align 2, 0\n\ +._234:\n\ + .word unk_debug_bss_1+0x1\n\ + .word gSaveBlock1\n\ + .word +0x2000000\n\ + .word 0x494"); +} +#else static bool8 sub_8102424(struct Task *task) { gSaveBlock1.coins = eSlotMachine->coins; @@ -910,6 +1834,7 @@ static bool8 sub_8102424(struct Task *task) eSlotMachine->state++; return FALSE; } +#endif static bool8 sub_8102460(struct Task *task) { @@ -920,6 +1845,272 @@ static bool8 sub_8102460(struct Task *task) return FALSE; } +#if DEBUG +__attribute__((naked)) +static bool8 debug_sub_8116E74(struct Task *task) +{ + asm("\ + push {lr}\n\ + bl debug_sub_811B634\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._239 @cond_branch\n\ + ldr r1, ._240\n\ + mov r0, #0x5\n\ + strb r0, [r1]\n\ +._239:\n\ + mov r0, #0x0\n\ + pop {r1}\n\ + bx r1\n\ +._241:\n\ + .align 2, 0\n\ +._240:\n\ + .word +0x2000000"); +} +#endif + +#if DEBUG +__attribute__((naked)) +static void sub_8102484(void) +{ + asm("\ + push {r4, r5, r6, lr}\n\ + ldr r0, ._256\n\ + ldrb r2, [r0, #0xa]\n\ + add r4, r0, #0\n\ + cmp r2, #0\n\ + beq ._242 @cond_branch\n\ + b ._270\n\ +._242:\n\ + ldr r0, ._256 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._245 @cond_branch\n\ + ldr r3, ._256 + 8\n\ + ldrb r0, [r3]\n\ + cmp r0, #0\n\ + beq ._245 @cond_branch\n\ + ldr r0, ._256 + 12\n\ + ldrb r1, [r0]\n\ + strb r1, [r4, #0x4]\n\ + strb r2, [r3]\n\ + strb r2, [r0]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._246 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x88\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._246:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._247 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x84\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._247:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._248 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x8c\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._248:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._249 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x80\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._249:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._250 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x7c\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._250:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._251 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x78\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._251:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._252 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x74\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._252:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._253 @cond_branch\n\ + b ._270\n\ +._253:\n\ + add r0, r4, #0\n\ + add r0, r0, #0x70\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ + b ._270\n\ +._257:\n\ + .align 2, 0\n\ +._256:\n\ + .word +0x2000000\n\ + .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1+0x2\n\ + .word unk_debug_bss_1+0x3\n\ +._245:\n\ + add r5, r4, #0\n\ + ldrb r1, [r5, #0x4]\n\ + mov r0, #0xc0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._270 @cond_branch\n\ + bl sub_8102540\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._260 @cond_branch\n\ + bl sub_8102578\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ + cmp r6, #0x3\n\ + beq ._260 @cond_branch\n\ + ldr r1, ._271\n\ + lsl r0, r6, #0x1\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + ldrb r0, [r5, #0x4]\n\ + orr r0, r0, r1\n\ + strb r0, [r5, #0x4]\n\ + mov r1, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._261 @cond_branch\n\ + add r0, r5, #0\n\ + add r0, r0, #0x88\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._261:\n\ + ldrb r1, [r5, #0x4]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._262 @cond_branch\n\ + add r0, r5, #0\n\ + add r0, r0, #0x84\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._262:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._263 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x8c\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._263:\n\ + cmp r6, #0x1\n\ + bne ._270 @cond_branch\n\ +._260:\n\ + bl sub_81025BC\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ + cmp r6, #0x5\n\ + beq ._270 @cond_branch\n\ + ldr r4, ._271 + 4\n\ + ldr r1, ._271 + 8\n\ + lsl r0, r6, #0x1\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + ldrb r0, [r4, #0x4]\n\ + orr r0, r0, r1\n\ + strb r0, [r4, #0x4]\n\ + mov r1, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._266 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x80\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._266:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._267 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x7c\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._267:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._268 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x78\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._268:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._269 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x74\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._269:\n\ + ldrb r1, [r4, #0x4]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._270 @cond_branch\n\ + add r0, r4, #0\n\ + add r0, r0, #0x70\n\ + mov r1, #0x1\n\ + bl debug_sub_811B5B4\n\ +._270:\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._272:\n\ + .align 2, 0\n\ +._271:\n\ + .word gUnknown_083ECE42\n\ + .word +0x2000000\n\ + .word gUnknown_083ECE48"); +} +#else static void sub_8102484(void) { u8 r3; @@ -945,6 +2136,7 @@ static void sub_8102484(void) } } } +#endif static void sub_81024F0(void) { @@ -3993,12 +5185,12 @@ __attribute__((naked)) void debug_sub_811B1C4() { asm( - " ldr r1, ._1\n" + " ldr r1, .__1_\n" " ldrb r0, [r1]\n" " mov r3, #0x2\n" " orr r0, r0, r3\n" " strb r0, [r1]\n" - " ldr r2, ._1 + 4\n" + " ldr r2, .__1_ + 4\n" " ldrb r1, [r2]\n" " mov r0, #0x2\n" " eor r1, r1, r0\n" @@ -4008,9 +5200,9 @@ void debug_sub_811B1C4() " and r0, r0, r3\n" " strb r0, [r2]\n" " bx lr\n" - "._2:\n" + ".__2_:\n" " .align 2, 0\n" - "._1:\n" + ".__1_:\n" " .word unk_debug_bss_1+0x3\n" " .word unk_debug_bss_1\n" "\n" @@ -4021,12 +5213,12 @@ __attribute__((naked)) void debug_sub_811B1EC() { asm( - " ldr r2, ._3\n" + " ldr r2, .__3\n" " ldrb r0, [r2]\n" " mov r1, #0x1\n" " orr r0, r0, r1\n" " strb r0, [r2]\n" - " ldr r2, ._3 + 4\n" + " ldr r2, .__3 + 4\n" " ldrb r0, [r2]\n" " mov r1, #0x1\n" " eor r0, r0, r1\n" @@ -4034,9 +5226,9 @@ void debug_sub_811B1EC() " lsr r0, r0, #0x1f\n" " strb r0, [r2]\n" " bx lr\n" - "._4:\n" + ".__4:\n" " .align 2, 0\n" - "._3:\n" + ".__3:\n" " .word unk_debug_bss_1+0x3\n" " .word unk_debug_bss_1\n" "\n" @@ -4047,12 +5239,12 @@ __attribute__((naked)) void debug_sub_811B210() { asm( - " ldr r1, ._5\n" + " ldr r1, .__5\n" " ldrb r0, [r1]\n" " mov r3, #0x4\n" " orr r0, r0, r3\n" " strb r0, [r1]\n" - " ldr r2, ._5 + 4\n" + " ldr r2, .__5 + 4\n" " ldrb r1, [r2]\n" " mov r0, #0x4\n" " eor r1, r1, r0\n" @@ -4062,9 +5254,9 @@ void debug_sub_811B210() " and r0, r0, r3\n" " strb r0, [r2]\n" " bx lr\n" - "._6:\n" + ".__6:\n" " .align 2, 0\n" - "._5:\n" + ".__5:\n" " .word unk_debug_bss_1+0x3\n" " .word unk_debug_bss_1\n" "\n" @@ -4075,12 +5267,12 @@ __attribute__((naked)) void debug_sub_811B238() { asm( - " ldr r1, ._7\n" + " ldr r1, .__7\n" " ldrb r0, [r1]\n" " mov r3, #0x8\n" " orr r0, r0, r3\n" " strb r0, [r1]\n" - " ldr r2, ._7 + 4\n" + " ldr r2, .__7 + 4\n" " ldrb r1, [r2]\n" " mov r0, #0x8\n" " eor r1, r1, r0\n" @@ -4090,9 +5282,9 @@ void debug_sub_811B238() " and r0, r0, r3\n" " strb r0, [r2]\n" " bx lr\n" - "._8:\n" + ".__8:\n" " .align 2, 0\n" - "._7:\n" + ".__7:\n" " .word unk_debug_bss_1+0x3\n" " .word unk_debug_bss_1\n" "\n" @@ -4103,12 +5295,12 @@ __attribute__((naked)) void debug_sub_811B260() { asm( - " ldr r1, ._9\n" + " ldr r1, .__9\n" " ldrb r0, [r1]\n" " mov r3, #0x10\n" " orr r0, r0, r3\n" " strb r0, [r1]\n" - " ldr r2, ._9 + 4\n" + " ldr r2, .__9 + 4\n" " ldrb r1, [r2]\n" " mov r0, #0x10\n" " eor r1, r1, r0\n" @@ -4118,9 +5310,9 @@ void debug_sub_811B260() " and r0, r0, r3\n" " strb r0, [r2]\n" " bx lr\n" - "._10:\n" + ".__10:\n" " .align 2, 0\n" - "._9:\n" + ".__9:\n" " .word unk_debug_bss_1+0x3\n" " .word unk_debug_bss_1\n" "\n" @@ -4131,12 +5323,12 @@ __attribute__((naked)) void debug_sub_811B288() { asm( - " ldr r1, ._11\n" + " ldr r1, .__11\n" " ldrb r0, [r1]\n" " mov r3, #0x40\n" " orr r0, r0, r3\n" " strb r0, [r1]\n" - " ldr r2, ._11 + 4\n" + " ldr r2, .__11 + 4\n" " ldrb r1, [r2]\n" " mov r0, #0x40\n" " eor r1, r1, r0\n" @@ -4146,9 +5338,9 @@ void debug_sub_811B288() " and r0, r0, r3\n" " strb r0, [r2]\n" " bx lr\n" - "._12:\n" + ".__12:\n" " .align 2, 0\n" - "._11:\n" + ".__11:\n" " .word unk_debug_bss_1+0x3\n" " .word unk_debug_bss_1\n" "\n" @@ -4159,12 +5351,12 @@ __attribute__((naked)) void debug_sub_811B2B0() { asm( - " ldr r1, ._13\n" + " ldr r1, .__13\n" " ldrb r0, [r1]\n" " mov r3, #0x80\n" " orr r0, r0, r3\n" " strb r0, [r1]\n" - " ldr r2, ._13 + 4\n" + " ldr r2, .__13 + 4\n" " ldrb r1, [r2]\n" " mov r0, #0x80\n" " eor r1, r1, r0\n" @@ -4174,9 +5366,9 @@ void debug_sub_811B2B0() " and r0, r0, r3\n" " strb r0, [r2]\n" " bx lr\n" - "._14:\n" + ".__14:\n" " .align 2, 0\n" - "._13:\n" + ".__13:\n" " .word unk_debug_bss_1+0x3\n" " .word unk_debug_bss_1\n" "\n" @@ -4187,15 +5379,15 @@ __attribute__((naked)) void debug_sub_811B2D8() { asm( - " ldr r0, ._15\n" + " ldr r0, .__15\n" " ldrb r1, [r0]\n" " mov r2, #0x20\n" " orr r1, r1, r2\n" " strb r1, [r0]\n" " bx lr\n" - "._16:\n" + ".__16:\n" " .align 2, 0\n" - "._15:\n" + ".__15:\n" " .word unk_debug_bss_1+0x3\n" "\n" ); @@ -4207,7 +5399,7 @@ void debug_sub_811B2E8() asm( " push {lr}\n" " add sp, sp, #0xfffffffc\n" - " ldr r0, ._17\n" + " ldr r0, .__17\n" " ldrb r1, [r0, #0x1]\n" " add r1, r1, #0x1\n" " mov r0, sp\n" @@ -4221,9 +5413,9 @@ void debug_sub_811B2E8() " add sp, sp, #0x4\n" " pop {r0}\n" " bx r0\n" - "._18:\n" + ".__18:\n" " .align 2, 0\n" - "._17:\n" + ".__17:\n" " .word +0x2000000\n" "\n" ); @@ -4235,90 +5427,90 @@ void debug_sub_811B310() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffff8\n" - " ldr r0, ._21\n" + " ldr r0, .__21\n" " mov r1, #0x1\n" " mov r2, #0x1\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 4\n" + " ldr r0, .__21 + 4\n" " mov r1, #0x1\n" " mov r2, #0x3\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 8\n" + " ldr r0, .__21 + 8\n" " mov r1, #0x1\n" " mov r2, #0x5\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 12\n" + " ldr r0, .__21 + 12\n" " mov r1, #0x1\n" " mov r2, #0x7\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 16\n" + " ldr r0, .__21 + 16\n" " mov r1, #0x1\n" " mov r2, #0x9\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 20\n" + " ldr r0, .__21 + 20\n" " mov r1, #0x1\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 24\n" + " ldr r0, .__21 + 24\n" " mov r1, #0x1\n" " mov r2, #0xd\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 28\n" + " ldr r0, .__21 + 28\n" " mov r1, #0x1\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 32\n" + " ldr r0, .__21 + 32\n" " mov r1, #0x1\n" " mov r2, #0x11\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 36\n" + " ldr r0, .__21 + 36\n" " mov r1, #0xf\n" " mov r2, #0x1\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 40\n" + " ldr r0, .__21 + 40\n" " mov r1, #0xf\n" " mov r2, #0x3\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 44\n" + " ldr r0, .__21 + 44\n" " mov r1, #0xf\n" " mov r2, #0x5\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 48\n" + " ldr r0, .__21 + 48\n" " mov r1, #0xf\n" " mov r2, #0x7\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 52\n" + " ldr r0, .__21 + 52\n" " mov r1, #0xf\n" " mov r2, #0x9\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 56\n" + " ldr r0, .__21 + 56\n" " mov r1, #0xf\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 60\n" + " ldr r0, .__21 + 60\n" " mov r1, #0xf\n" " mov r2, #0xd\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 64\n" + " ldr r0, .__21 + 64\n" " mov r1, #0xf\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 68\n" + " ldr r0, .__21 + 68\n" " mov r1, #0xf\n" " mov r2, #0x11\n" " bl Menu_PrintText\n" - " ldr r0, ._21 + 72\n" + " ldr r0, .__21 + 72\n" " ldrb r0, [r0, #0x3]\n" " cmp r0, #0\n" - " bne ._19 @cond_branch\n" - " ldr r0, ._21 + 76\n" + " bne .__19 @cond_branch\n" + " ldr r0, .__21 + 76\n" " mov r1, #0xa\n" " mov r2, #0x9\n" " bl Menu_PrintText\n" - " b ._20\n" - "._22:\n" + " b .__20\n" + ".__22:\n" " .align 2, 0\n" - "._21:\n" + ".__21:\n" " .word Str_841B1C4\n" " .word Str_841B1CB\n" " .word Str_841B1D4\n" @@ -4339,13 +5531,13 @@ void debug_sub_811B310() " .word Str_841B243\n" " .word +0x2000000\n" " .word Str_841B246\n" - "._19:\n" - " ldr r0, ._30\n" + ".__19:\n" + " ldr r0, .__30\n" " mov r1, #0xa\n" " mov r2, #0x9\n" " bl Menu_PrintText\n" - "._20:\n" - " ldr r4, ._30 + 4\n" + ".__20:\n" + " ldr r4, .__30 + 4\n" " ldr r1, [r4, #0x68]\n" " mov r0, sp\n" " mov r2, #0x2\n" @@ -4454,77 +5646,77 @@ void debug_sub_811B310() " mov r1, #0x14\n" " mov r2, #0x11\n" " bl Menu_PrintText\n" - " ldr r1, ._30 + 8\n" + " ldr r1, .__30 + 8\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" - " beq ._23 @cond_branch\n" + " beq .__23 @cond_branch\n" " mov r2, #0x0\n" " cmp r0, #0x8\n" - " beq ._24 @cond_branch\n" + " beq .__24 @cond_branch\n" " cmp r0, #0x8\n" - " bgt ._25 @cond_branch\n" + " bgt .__25 @cond_branch\n" " cmp r0, #0x2\n" - " beq ._26 @cond_branch\n" + " beq .__26 @cond_branch\n" " cmp r0, #0x2\n" - " bgt ._27 @cond_branch\n" + " bgt .__27 @cond_branch\n" " cmp r0, #0x1\n" - " beq ._28 @cond_branch\n" - " b ._45\n" - "._31:\n" + " beq .__28 @cond_branch\n" + " b .__45\n" + ".__31:\n" " .align 2, 0\n" - "._30:\n" + ".__30:\n" " .word Str_841B249\n" " .word +0x2000000\n" " .word unk_debug_bss_1\n" - "._27:\n" + ".__27:\n" " cmp r0, #0x4\n" - " beq ._32 @cond_branch\n" - " b ._45\n" - "._25:\n" + " beq .__32 @cond_branch\n" + " b .__45\n" + ".__25:\n" " cmp r0, #0x40\n" - " beq ._34 @cond_branch\n" + " beq .__34 @cond_branch\n" " cmp r0, #0x40\n" - " bgt ._35 @cond_branch\n" + " bgt .__35 @cond_branch\n" " cmp r0, #0x10\n" - " beq ._36 @cond_branch\n" - " b ._45\n" - "._35:\n" + " beq .__36 @cond_branch\n" + " b .__45\n" + ".__35:\n" " cmp r0, #0x80\n" - " beq ._38 @cond_branch\n" - " b ._45\n" - "._26:\n" + " beq .__38 @cond_branch\n" + " b .__45\n" + ".__26:\n" " mov r2, #0x3\n" - " b ._45\n" - "._28:\n" + " b .__45\n" + ".__28:\n" " mov r2, #0x5\n" - " b ._45\n" - "._32:\n" + " b .__45\n" + ".__32:\n" " mov r2, #0x7\n" - " b ._45\n" - "._24:\n" + " b .__45\n" + ".__24:\n" " mov r2, #0x9\n" - " b ._45\n" - "._36:\n" + " b .__45\n" + ".__36:\n" " mov r2, #0xb\n" - " b ._45\n" - "._34:\n" + " b .__45\n" + ".__34:\n" " mov r2, #0xd\n" - " b ._45\n" - "._38:\n" + " b .__45\n" + ".__38:\n" " mov r2, #0xf\n" - "._45:\n" - " ldr r0, ._46\n" + ".__45:\n" + " ldr r0, .__46\n" " mov r1, #0x17\n" " bl Menu_PrintText\n" - "._23:\n" + ".__23:\n" " bl debug_sub_811B2E8\n" " add sp, sp, #0x8\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" - "._47:\n" + ".__47:\n" " .align 2, 0\n" - "._46:\n" + ".__46:\n" " .word Str_841B26D\n" "\n" ); @@ -4539,16 +5731,16 @@ void debug_sub_811B5B4() " ldr r0, [r2]\n" " add r0, r0, r1\n" " str r0, [r2]\n" - " ldr r1, ._49\n" + " ldr r1, .__49\n" " cmp r0, r1\n" - " ble ._48 @cond_branch\n" + " ble .__48 @cond_branch\n" " str r1, [r2]\n" - "._48:\n" + ".__48:\n" " pop {r0}\n" " bx r0\n" - "._50:\n" + ".__50:\n" " .align 2, 0\n" - "._49:\n" + ".__49:\n" " .word 0x270f\n" "\n" ); @@ -4558,16 +5750,16 @@ __attribute__((naked)) void debug_sub_811B5D0() { asm( - " ldr r0, ._51\n" + " ldr r0, .__51\n" " mov r1, #0x0\n" " strb r1, [r0]\n" - " ldr r0, ._51 + 4\n" + " ldr r0, .__51 + 4\n" " strb r1, [r0]\n" - " ldr r0, ._51 + 8\n" + " ldr r0, .__51 + 8\n" " strb r1, [r0]\n" - " ldr r0, ._51 + 12\n" + " ldr r0, .__51 + 12\n" " strb r1, [r0]\n" - " ldr r2, ._51 + 16\n" + " ldr r2, .__51 + 16\n" " mov r0, #0x0\n" " str r0, [r2, #0x68]\n" " str r0, [r2, #0x6c]\n" @@ -4587,9 +5779,9 @@ void debug_sub_811B5D0() " add r1, r1, #0x4\n" " str r0, [r1]\n" " bx lr\n" - "._52:\n" + ".__52:\n" " .align 2, 0\n" - "._51:\n" + ".__51:\n" " .word unk_debug_bss_1\n" " .word unk_debug_bss_1+0x2\n" " .word unk_debug_bss_1+0x3\n" @@ -4604,14 +5796,14 @@ void debug_sub_811B620() { asm( " push {lr}\n" - " ldr r0, ._53\n" + " ldr r0, .__53\n" " mov r1, #0x0\n" " bl CreateTask\n" " pop {r0}\n" " bx r0\n" - "._54:\n" + ".__54:\n" " .align 2, 0\n" - "._53:\n" + ".__53:\n" " .word debug_sub_811B654+1\n" "\n" ); @@ -4622,21 +5814,21 @@ void debug_sub_811B634() { asm( " push {lr}\n" - " ldr r0, ._57\n" + " ldr r0, .__57\n" " bl FindTaskIdByFunc\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " cmp r0, #0xff\n" - " beq ._55 @cond_branch\n" + " beq .__55 @cond_branch\n" " mov r0, #0x0\n" - " b ._56\n" - "._58:\n" + " b .__56\n" + ".__58:\n" " .align 2, 0\n" - "._57:\n" + ".__57:\n" " .word debug_sub_811B654+1\n" - "._55:\n" + ".__55:\n" " mov r0, #0x1\n" - "._56:\n" + ".__56:\n" " pop {r1}\n" " bx r1\n" "\n" @@ -4654,32 +5846,32 @@ void debug_sub_811B654() " lsl r0, r6, #0x2\n" " add r0, r0, r6\n" " lsl r0, r0, #0x3\n" - " ldr r1, ._63\n" + " ldr r1, .__63\n" " add r5, r0, r1\n" " mov r0, #0x8\n" " ldsh r1, [r5, r0]\n" " cmp r1, #0x1\n" - " beq ._59 @cond_branch\n" + " beq .__59 @cond_branch\n" " cmp r1, #0x1\n" - " bgt ._60 @cond_branch\n" + " bgt .__60 @cond_branch\n" " cmp r1, #0\n" - " beq ._61 @cond_branch\n" - " b ._116\n" - "._64:\n" + " beq .__61 @cond_branch\n" + " b .__116\n" + ".__64:\n" " .align 2, 0\n" - "._63:\n" + ".__63:\n" " .word gTasks\n" - "._60:\n" + ".__60:\n" " cmp r1, #0x2\n" - " bne ._65 @cond_branch\n" - " b ._66\n" - "._65:\n" + " bne .__65 @cond_branch\n" + " b .__66\n" + ".__65:\n" " cmp r1, #0x3\n" - " bne ._67 @cond_branch\n" - " b ._68\n" - "._67:\n" - " b ._116\n" - "._61:\n" + " bne .__67 @cond_branch\n" + " b .__68\n" + ".__67:\n" + " b .__116\n" + ".__61:\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x18\n" @@ -4689,64 +5881,64 @@ void debug_sub_811B654() " ldrh r0, [r5, #0x8]\n" " add r0, r0, #0x1\n" " strh r0, [r5, #0x8]\n" - " b ._116\n" - "._59:\n" - " ldr r7, ._76\n" + " b .__116\n" + ".__59:\n" + " ldr r7, .__76\n" " ldrh r2, [r7, #0x2e]\n" " mov r0, #0x2\n" " and r0, r0, r2\n" " cmp r0, #0\n" - " beq ._71 @cond_branch\n" - " b ._94\n" - "._71:\n" + " beq .__71 @cond_branch\n" + " b .__94\n" + ".__71:\n" " mov r0, #0x20\n" " and r0, r0, r2\n" " lsl r0, r0, #0x10\n" " lsr r3, r0, #0x10\n" " cmp r3, #0\n" - " beq ._73 @cond_branch\n" - " ldr r1, ._76 + 4\n" + " beq .__73 @cond_branch\n" + " ldr r1, .__76 + 4\n" " ldrb r0, [r1, #0x1]\n" " sub r0, r0, #0x1\n" " strb r0, [r1, #0x1]\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" - " bge ._79 @cond_branch\n" + " bge .__79 @cond_branch\n" " mov r0, #0x5\n" " strb r0, [r1, #0x1]\n" - " b ._79\n" - "._77:\n" + " b .__79\n" + ".__77:\n" " .align 2, 0\n" - "._76:\n" + ".__76:\n" " .word gMain\n" " .word +0x2000000\n" - "._73:\n" + ".__73:\n" " mov r0, #0x10\n" " and r0, r0, r2\n" " cmp r0, #0\n" - " beq ._78 @cond_branch\n" - " ldr r1, ._81\n" + " beq .__78 @cond_branch\n" + " ldr r1, .__81\n" " ldrb r0, [r1, #0x1]\n" " add r0, r0, #0x1\n" " strb r0, [r1, #0x1]\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " cmp r0, #0x5\n" - " bls ._79 @cond_branch\n" + " bls .__79 @cond_branch\n" " strb r3, [r1, #0x1]\n" - "._79:\n" + ".__79:\n" " bl debug_sub_811B2E8\n" - " b ._116\n" - "._82:\n" + " b .__116\n" + ".__82:\n" " .align 2, 0\n" - "._81:\n" + ".__81:\n" " .word +0x2000000\n" - "._78:\n" + ".__78:\n" " and r1, r1, r2\n" " lsl r0, r1, #0x10\n" " lsr r4, r0, #0x10\n" " cmp r4, #0\n" - " beq ._83 @cond_branch\n" + " beq .__83 @cond_branch\n" " mov r0, #0x3\n" " strh r0, [r5, #0x8]\n" " bl Menu_EraseScreen\n" @@ -4755,28 +5947,28 @@ void debug_sub_811B654() " mov r2, #0x9\n" " mov r3, #0x5\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._85\n" + " ldr r0, .__85\n" " mov r1, #0x1\n" " mov r2, #0x1\n" " bl Menu_PrintText\n" - " ldr r0, ._85 + 4\n" + " ldr r0, .__85 + 4\n" " mov r1, #0x1\n" " mov r2, #0x3\n" " bl Menu_PrintText\n" - " b ._116\n" - "._86:\n" + " b .__116\n" + ".__86:\n" " .align 2, 0\n" - "._85:\n" + ".__85:\n" " .word Str_841B25C\n" " .word Str_841B264\n" - "._83:\n" + ".__83:\n" " mov r0, #0x4\n" " and r0, r0, r2\n" " cmp r0, #0\n" - " beq ._87 @cond_branch\n" - " ldr r0, ._91\n" + " beq .__87 @cond_branch\n" + " ldr r0, .__91\n" " strb r4, [r0]\n" - " ldr r0, ._91 + 4\n" + " ldr r0, .__91 + 4\n" " strb r4, [r0]\n" " bl Menu_EraseScreen\n" " mov r0, #0x0\n" @@ -4784,11 +5976,11 @@ void debug_sub_811B654() " mov r2, #0xa\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._91 + 8\n" + " ldr r0, .__91 + 8\n" " mov r1, #0x1\n" " mov r2, #0x1\n" " bl Menu_PrintText\n" - " ldr r3, ._91 + 12\n" + " ldr r3, .__91 + 12\n" " mov r0, #0x2\n" " mov r1, #0x3\n" " mov r2, #0x8\n" @@ -4804,144 +5996,144 @@ void debug_sub_811B654() " ldrh r0, [r5, #0x8]\n" " add r0, r0, #0x1\n" " strh r0, [r5, #0x8]\n" - "._87:\n" + ".__87:\n" " ldrh r1, [r7, #0x2e]\n" " mov r0, #0x8\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " bne ._88 @cond_branch\n" - " b ._116\n" - "._88:\n" - " ldr r1, ._91 + 16\n" + " bne .__88 @cond_branch\n" + " b .__116\n" + ".__88:\n" + " ldr r1, .__91 + 16\n" " mov r0, #0x1\n" " strb r0, [r1]\n" - " b ._94\n" - "._92:\n" + " b .__94\n" + ".__92:\n" " .align 2, 0\n" - "._91:\n" + ".__91:\n" " .word unk_debug_bss_1+0x2\n" " .word unk_debug_bss_1+0x3\n" " .word Str_841B254\n" " .word _841B270\n" " .word unk_debug_bss_1+0x4\n" - "._66:\n" + ".__66:\n" " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" " asr r2, r0, #0x18\n" " mov r0, #0x2\n" " neg r0, r0\n" " cmp r2, r0\n" - " beq ._116 @cond_branch\n" + " beq .__116 @cond_branch\n" " add r0, r0, #0x1\n" " cmp r2, r0\n" - " beq ._94 @cond_branch\n" - " ldr r1, ._96\n" + " beq .__94 @cond_branch\n" + " ldr r1, .__96\n" " mov r0, #0x1\n" " strb r0, [r1]\n" - " ldr r0, ._96 + 4\n" + " ldr r0, .__96 + 4\n" " lsl r1, r2, #0x3\n" " add r0, r0, #0x4\n" " add r1, r1, r0\n" " ldr r0, [r1]\n" " bl _call_via_r0\n" - "._94:\n" + ".__94:\n" " bl Menu_EraseScreen\n" " add r0, r6, #0\n" " bl DestroyTask\n" - " b ._116\n" - "._97:\n" + " b .__116\n" + ".__97:\n" " .align 2, 0\n" - "._96:\n" + ".__96:\n" " .word unk_debug_bss_1+0x2\n" " .word _841B270\n" - "._68:\n" - " ldr r2, ._100\n" + ".__68:\n" + " ldr r2, .__100\n" " ldrh r1, [r2, #0x30]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " beq ._98 @cond_branch\n" - " ldr r2, ._100 + 4\n" + " beq .__98 @cond_branch\n" + " ldr r2, .__100 + 4\n" " ldrh r0, [r2, #0xc]\n" " add r0, r0, #0x64\n" - " b ._99\n" - "._101:\n" + " b .__99\n" + ".__101:\n" " .align 2, 0\n" - "._100:\n" + ".__100:\n" " .word gMain\n" " .word +0x2000000\n" - "._98:\n" + ".__98:\n" " mov r0, #0x40\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " beq ._102 @cond_branch\n" - " ldr r1, ._104\n" + " beq .__102 @cond_branch\n" + " ldr r1, .__104\n" " ldrh r0, [r1, #0xc]\n" " sub r0, r0, #0x64\n" - " b ._103\n" - "._105:\n" + " b .__103\n" + ".__105:\n" " .align 2, 0\n" - "._104:\n" + ".__104:\n" " .word +0x2000000\n" - "._102:\n" + ".__102:\n" " mov r0, #0x20\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " beq ._106 @cond_branch\n" - " ldr r1, ._109\n" - " ldr r2, ._109 + 4\n" + " beq .__106 @cond_branch\n" + " ldr r1, .__109\n" + " ldr r2, .__109 + 4\n" " add r0, r2, #0\n" " ldrh r2, [r1, #0xc]\n" " add r0, r0, r2\n" - "._103:\n" + ".__103:\n" " strh r0, [r1, #0xc]\n" " lsl r0, r0, #0x10\n" " cmp r0, #0\n" - " bgt ._116 @cond_branch\n" - " ldr r0, ._109 + 8\n" + " bgt .__116 @cond_branch\n" + " ldr r0, .__109 + 8\n" " strh r0, [r1, #0xc]\n" - " b ._116\n" - "._110:\n" + " b .__116\n" + ".__110:\n" " .align 2, 0\n" - "._109:\n" + ".__109:\n" " .word +0x2000000\n" " .word 0xfffffc18\n" " .word 0x270f\n" - "._106:\n" + ".__106:\n" " mov r0, #0x10\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " beq ._111 @cond_branch\n" - " ldr r2, ._114\n" + " beq .__111 @cond_branch\n" + " ldr r2, .__114\n" " mov r1, #0xfa\n" " lsl r1, r1, #0x2\n" " add r0, r1, #0\n" " ldrh r1, [r2, #0xc]\n" " add r0, r0, r1\n" - "._99:\n" + ".__99:\n" " strh r0, [r2, #0xc]\n" " lsl r0, r0, #0x10\n" " asr r0, r0, #0x10\n" - " ldr r1, ._114 + 4\n" + " ldr r1, .__114 + 4\n" " cmp r0, r1\n" - " ble ._116 @cond_branch\n" + " ble .__116 @cond_branch\n" " strh r1, [r2, #0xc]\n" - " b ._116\n" - "._115:\n" + " b .__116\n" + ".__115:\n" " .align 2, 0\n" - "._114:\n" + ".__114:\n" " .word +0x2000000\n" " .word 0x270f\n" - "._111:\n" + ".__111:\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x2\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " beq ._116 @cond_branch\n" + " beq .__116 @cond_branch\n" " bl Menu_EraseScreen\n" " add r0, r6, #0\n" " bl DestroyTask\n" - "._116:\n" + ".__116:\n" " add sp, sp, #0x8\n" " pop {r4, r5, r6, r7}\n" " pop {r0}\n" @@ -4960,232 +6152,232 @@ void debug_sub_811B894() " mov r5, r8\n" " push {r5, r6, r7}\n" " add sp, sp, #0xfffffffc\n" - " ldr r1, ._122\n" + " ldr r1, .__122\n" " ldrh r2, [r1, #0x8]\n" " mov r0, #0xc0\n" " lsl r0, r0, #0x1\n" " and r0, r0, r2\n" " add r4, r1, #0\n" " cmp r0, #0\n" - " beq ._117 @cond_branch\n" + " beq .__117 @cond_branch\n" " add r1, r1, #0x90\n" " ldr r0, [r1]\n" " add r0, r0, #0x1\n" " str r0, [r1]\n" - " ldr r2, ._122 + 4\n" + " ldr r2, .__122 + 4\n" " cmp r0, r2\n" - " ble ._118 @cond_branch\n" + " ble .__118 @cond_branch\n" " str r2, [r1]\n" - "._118:\n" + ".__118:\n" " add r0, r4, #0\n" " add r0, r0, #0x88\n" " ldr r1, [r1]\n" " ldr r0, [r0]\n" " cmp r1, r0\n" - " beq ._119 @cond_branch\n" - " ldr r0, ._122 + 8\n" + " beq .__119 @cond_branch\n" + " ldr r0, .__122 + 8\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" - " ldr r1, ._122 + 12\n" + " ldr r1, .__122 + 12\n" " mov r0, #0x0\n" " strb r0, [r1]\n" - "._119:\n" + ".__119:\n" " ldrb r1, [r4, #0x4]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" " cmp r4, #0\n" - " bne ._126 @cond_branch\n" - " ldr r0, ._122 + 16\n" + " bne .__126 @cond_branch\n" + " ldr r0, .__122 + 16\n" " mov r1, #0x4\n" " mov r2, #0x11\n" - " b ._121\n" - "._123:\n" + " b .__121\n" + ".__123:\n" " .align 2, 0\n" - "._122:\n" + ".__122:\n" " .word +0x2000000\n" " .word 0x270f\n" " .word Str_841B2B0\n" " .word unk_debug_bss_1+0x4\n" " .word Str_841B2D3\n" - "._117:\n" + ".__117:\n" " lsl r0, r2, #0x10\n" " cmp r0, #0\n" - " beq ._127 @cond_branch\n" + " beq .__127 @cond_branch\n" " ldrb r1, [r4, #0x4]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " beq ._126 @cond_branch\n" + " beq .__126 @cond_branch\n" " mov r4, #0x3\n" " and r4, r4, r2\n" " cmp r4, #0\n" - " bne ._126 @cond_branch\n" - " ldr r0, ._163\n" + " bne .__126 @cond_branch\n" + " ldr r0, .__163\n" " mov r1, #0x4\n" " mov r2, #0x2\n" - "._121:\n" + ".__121:\n" " bl Menu_PrintText\n" - " ldr r0, ._163 + 4\n" + " ldr r0, .__163 + 4\n" " strb r4, [r0]\n" - "._126:\n" - " ldr r0, ._163 + 8\n" + ".__126:\n" + " ldr r0, .__163 + 8\n" " ldrh r1, [r0, #0x8]\n" " add r4, r0, #0\n" " cmp r1, #0\n" - " beq ._127 @cond_branch\n" - " b ._162\n" - "._127:\n" + " beq .__127 @cond_branch\n" + " b .__162\n" + ".__127:\n" " mov r1, #0x12\n" " ldsh r0, [r4, r1]\n" " cmp r0, #0x3\n" - " beq ._129 @cond_branch\n" - " b ._162\n" - "._129:\n" + " beq .__129 @cond_branch\n" + " b .__162\n" + ".__129:\n" " ldrb r1, [r4, #0x4]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" " cmp r0, #0\n" - " beq ._131 @cond_branch\n" - " b ._162\n" - "._131:\n" + " beq .__131 @cond_branch\n" + " b .__162\n" + ".__131:\n" " mov r0, #0x0\n" " mov r1, #0x1\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r7, r0, #0x18\n" " mov r0, #0x0\n" " mov r1, #0x2\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " str r0, [sp]\n" " mov r0, #0x0\n" " mov r1, #0x3\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r6, r0, #0x18\n" " mov r0, #0x1\n" " mov r1, #0x1\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov r9, r0\n" " mov r0, #0x1\n" " mov r1, #0x2\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" " mov r0, #0x1\n" " mov r1, #0x3\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov sl, r0\n" " mov r0, #0x2\n" " mov r1, #0x1\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" " mov r0, #0x2\n" " mov r1, #0x2\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov r8, r0\n" " mov r0, #0x2\n" " mov r1, #0x3\n" - " bl sub_8102BA4\n" + " bl GetTagOfReelSymbolOnScreenAtPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " cmp r7, #0\n" - " bne ._134 @cond_branch\n" + " bne .__134 @cond_branch\n" " mov r1, r9\n" " cmp r1, #0x1\n" - " bne ._134 @cond_branch\n" + " bne .__134 @cond_branch\n" " cmp r5, #0\n" - " beq ._159 @cond_branch\n" - "._134:\n" + " beq .__159 @cond_branch\n" + ".__134:\n" " ldr r1, [sp]\n" " cmp r1, #0\n" - " bne ._137 @cond_branch\n" + " bne .__137 @cond_branch\n" " cmp r4, #0x1\n" - " bne ._137 @cond_branch\n" + " bne .__137 @cond_branch\n" " mov r1, r8\n" " cmp r1, #0\n" - " beq ._159 @cond_branch\n" - "._137:\n" + " beq .__159 @cond_branch\n" + ".__137:\n" " cmp r6, #0\n" - " bne ._140 @cond_branch\n" + " bne .__140 @cond_branch\n" " mov r1, sl\n" " cmp r1, #0x1\n" - " bne ._140 @cond_branch\n" + " bne .__140 @cond_branch\n" " cmp r0, #0\n" - " beq ._159 @cond_branch\n" - "._140:\n" + " beq .__159 @cond_branch\n" + ".__140:\n" " cmp r7, #0\n" - " bne ._143 @cond_branch\n" + " bne .__143 @cond_branch\n" " cmp r4, #0x1\n" - " bne ._143 @cond_branch\n" + " bne .__143 @cond_branch\n" " cmp r0, #0\n" - " beq ._159 @cond_branch\n" - "._143:\n" + " beq .__159 @cond_branch\n" + ".__143:\n" " cmp r6, #0\n" - " bne ._146 @cond_branch\n" + " bne .__146 @cond_branch\n" " cmp r4, #0x1\n" - " bne ._146 @cond_branch\n" + " bne .__146 @cond_branch\n" " cmp r5, #0\n" - " beq ._159 @cond_branch\n" - "._146:\n" + " beq .__159 @cond_branch\n" + ".__146:\n" " cmp r7, #0x1\n" - " bne ._149 @cond_branch\n" + " bne .__149 @cond_branch\n" " mov r1, r9\n" " cmp r1, #0\n" - " bne ._149 @cond_branch\n" + " bne .__149 @cond_branch\n" " cmp r5, #0x1\n" - " beq ._159 @cond_branch\n" - "._149:\n" + " beq .__159 @cond_branch\n" + ".__149:\n" " ldr r1, [sp]\n" " cmp r1, #0x1\n" - " bne ._152 @cond_branch\n" + " bne .__152 @cond_branch\n" " cmp r4, #0\n" - " bne ._152 @cond_branch\n" + " bne .__152 @cond_branch\n" " mov r1, r8\n" " cmp r1, #0x1\n" - " beq ._159 @cond_branch\n" - "._152:\n" + " beq .__159 @cond_branch\n" + ".__152:\n" " cmp r6, #0x1\n" - " bne ._155 @cond_branch\n" + " bne .__155 @cond_branch\n" " mov r1, sl\n" " cmp r1, #0\n" - " bne ._155 @cond_branch\n" + " bne .__155 @cond_branch\n" " cmp r0, #0x1\n" - " beq ._159 @cond_branch\n" - "._155:\n" + " beq .__159 @cond_branch\n" + ".__155:\n" " cmp r7, #0x1\n" - " bne ._158 @cond_branch\n" + " bne .__158 @cond_branch\n" " cmp r4, #0\n" - " bne ._158 @cond_branch\n" + " bne .__158 @cond_branch\n" " cmp r0, #0x1\n" - " beq ._159 @cond_branch\n" - "._158:\n" + " beq .__159 @cond_branch\n" + ".__158:\n" " cmp r6, #0x1\n" - " bne ._162 @cond_branch\n" + " bne .__162 @cond_branch\n" " cmp r4, #0\n" - " bne ._162 @cond_branch\n" + " bne .__162 @cond_branch\n" " cmp r5, #0x1\n" - " bne ._162 @cond_branch\n" - "._159:\n" - " ldr r0, ._163 + 12\n" + " bne .__162 @cond_branch\n" + ".__159:\n" + " ldr r0, .__163 + 12\n" " mov r1, #0x4\n" " mov r2, #0x0\n" " bl Menu_PrintText\n" - " ldr r1, ._163 + 4\n" + " ldr r1, .__163 + 4\n" " mov r0, #0x0\n" " strb r0, [r1]\n" - "._162:\n" + ".__162:\n" " add sp, sp, #0x4\n" " pop {r3, r4, r5}\n" " mov r8, r3\n" @@ -5194,9 +6386,9 @@ void debug_sub_811B894() " pop {r4, r5, r6, r7}\n" " pop {r0}\n" " bx r0\n" - "._164:\n" + ".__164:\n" " .align 2, 0\n" - "._163:\n" + ".__163:\n" " .word Str_841B2E4\n" " .word unk_debug_bss_1+0x4\n" " .word +0x2000000\n" @@ -6636,3 +7828,50 @@ static const struct SpritePalette gSlotMachineSpritePalettes[] = { static const u8 sReelTimeGfx[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); static const u16 sReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/reel_time_window_map.bin"); + +#if DEBUG + +const u8 Str_841B1C4[] = _("SETTEI"); +const u8 Str_841B1CB[] = _("MAWASITA"); +const u8 Str_841B1D4[] = _("MODOSI"); +const u8 Str_841B1DB[] = _("NOMARE"); +const u8 Str_841B1E2[] = _("MAE 7"); +const u8 Str_841B1E8[] = _("LR  HENKOU"); +const u8 Str_841B1F3[] = _("START  JIDOUSU"); +const u8 Str_841B202[] = _("SELECT  SETTEI"); +const u8 Str_841B211[] = _("TYUHSEN"); +const u8 Str_841B219[] = _("CHERRY"); +const u8 Str_841B220[] = _("REPLAY"); +const u8 Str_841B227[] = _("HASUBO"); +const u8 Str_841B22E[] = _("RURIRI"); +const u8 Str_841B235[] = _("INAZU"); +const u8 Str_841B23B[] = _("REG"); +const u8 Str_841B23F[] = _("BIG"); +const u8 Str_841B243[] = _("BD"); +const u8 Str_841B246[] = _("R7"); +const u8 Str_841B249[] = _("B7"); +const u8 Str_841B24C[] = _("A  COIN"); +const u8 Str_841B254[] = _("TYUHSEN"); +const u8 Str_841B25C[] = _("UD  100"); +const u8 Str_841B264[] = _("LR  1000"); +const u8 Str_841B26D[] = _("×"); + +// Is this MenuAction2? I'm not sure. +const struct {const u8 *text; void (*func)();} _841B270[] = +{ + {Str_841B219, debug_sub_811B1C4}, + {Str_841B220, debug_sub_811B1EC}, + {Str_841B227, debug_sub_811B210}, + {Str_841B22E, debug_sub_811B238}, + {Str_841B235, debug_sub_811B260}, + {Str_841B23B, debug_sub_811B288}, + {Str_841B23F, debug_sub_811B2B0}, + {Str_841B243, debug_sub_811B2D8}, +}; + +const u8 Str_841B2B0[] = _("·カウントエラーがおきました"); +const u8 Str_841B2BF[] = _("·リールそうさで エラーが おきました"); +const u8 Str_841B2D3[] = _("·フラグオフエラーが おきました"); +const u8 Str_841B2E4[] = _("·ボーナスこやくの エラーが おきました"); + +#endif diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index c652b9398..ecff15c21 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -234,9 +234,84 @@ const struct MailLayout gUnknown_083E57A4[] = {5, 15, 15, 4, 3, Unknown_3E5790}, }; +#if DEBUG + +const u8 Str_8411540[] = _("レイアウトを にほんごで ひょうじ?"); // Display using Japanese layout? +const u8 Str_8411553[] = _("にほんご "); // Japanese +const u8 Str_8411559[] = _("かいがい "); // Overseas + +const u8 *const _8411560[] = +{ + Str_8411553, + Str_8411559, +}; + +const u8 Str_8411568[] = _("イメージ タイプを えらんでね"); // Choose an image type +const u8 Str_8411578[] = _("{STR_VAR_1}"); +const u8 Str_841157B[] = _("オレンジ "); // Orange +const u8 Str_8411581[] = _("ハーバー "); // Harbor +const u8 Str_8411587[] = _("キラキラ "); // Glitter +const u8 Str_841158D[] = _("メカニカル"); // Mech +const u8 Str_8411593[] = _("ウッディー"); // Wood +const u8 Str_8411599[] = _("クロス  "); // Wave +const u8 Str_841159F[] = _("トレジャー"); // Bead +const u8 Str_84115A5[] = _("シャドウ "); // Shadow +const u8 Str_84115AB[] = _("トロピカル"); // Tropic +const u8 Str_84115B1[] = _("ドリーム "); // Dream +const u8 Str_84115B7[] = _("ミラクル "); // Fab +const u8 Str_84115BD[] = _("レトロ  "); // Retro + +const u8 *const _84115C4[] = +{ + Str_841157B, + Str_8411581, + Str_8411587, + Str_841158D, + Str_8411593, + Str_8411599, + Str_841159F, + Str_84115A5, + Str_84115AB, + Str_84115B1, + Str_84115B7, + Str_84115BD, +}; + +const u8 Str_84115F4[] = _("メールをみる"); // View Mail +const u8 Str_84115FB[] = _("メールとうろく"); // Register Mail +const u8 Str_8411603[] = _("もたせる"); // Give to Pokémon +const u8 Str_8411608[] = _("メールをけす"); // Delete Mail + +#endif + // XXX: what is this? static u8 *const sSharedMemPtr = gSharedMem; +#if DEBUG + +const u8 Str_841160F[] = _("{STR_VAR_1} {STR_VAR_2}"); +const u8 Str_841161A[] = _("メール{STR_VAR_1} {STR_VAR_2}"); +const u8 Str_8411623[] = _("メール{STR_VAR_1}を だれに もたせる?"); +const u8 Str_8411634[] = _("000 {STR_VAR_1}"); +const u8 Str_841163B[] = _("せいきの データが とうろくずみ です\n"); +const u8 Str_841163B_after[] = _("しんき とうろく できません"); +const u8 Str_841165E[] = _("せいきに とうろくされたメールデータは\n"); +const u8 Str_841165E_after[] = _("へんこう できません"); +const u8 Str_841167D[] = _("メール{STR_VAR_1} とうろく かいじょ"); +const u8 Str_841168D[] = _("デバッグメニューから とうろくした\n"); +const u8 Str_841168D_after[] = _("メール いがいは けせません"); +const u8 Str_84116AE[] = _("メール{STR_VAR_1} {STR_VAR_2} {STR_VAR_3}"); + +const struct MenuAction _84116BC[] = +{ + {Str_84115F4, NULL}, + {Str_84115FB, NULL}, + {Str_8411603, NULL}, + {Str_8411608, NULL}, +}; + +#endif + static u8 sub_80F8A28(void); /*static*/ void sub_80F8D50(void); static void sub_80F8DA0(void); diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index fd4684832..63f1b322a 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -646,7 +646,7 @@ void debug_sub_803F55C() " ldr r4, [sp]\n" " mul r0, r0, r4\n" " mov r1, #0x64\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " add r0, r0, r4\n" " add r0, r0, #0xa\n" " str r0, [sp, #0x4]\n" @@ -673,7 +673,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x8]\n" " add r0, r5, #0\n" @@ -705,7 +705,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " add r0, r0, #0x5\n" " str r0, [sp, #0xc]\n" " add r0, r5, #0\n" @@ -737,7 +737,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x10]\n" " add r0, r5, #0\n" @@ -769,7 +769,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x14]\n" " add r0, r5, #0\n" @@ -801,7 +801,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gScriptFuncs_End+0x3d30\n" + " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x18]\n" " add r0, r5, #0\n" diff --git a/src/pokemon/pokemon_storage_system.c b/src/pokemon/pokemon_storage_system.c index 001cebe45..cd4c18252 100644 --- a/src/pokemon/pokemon_storage_system.c +++ b/src/pokemon/pokemon_storage_system.c @@ -13,7 +13,8 @@ extern const struct StorageAction gUnknown_083B6DF4[]; EWRAM_DATA struct PokemonStorage gPokemonStorage = {0}; -void sub_8098898(u8 index) { +void sub_8098898(u8 index) +{ u8 *ptr; Menu_DrawStdWindowFrame(10, 16, 29, 19); -- cgit v1.2.3 From c3534e7b0e2df48fe989deb74c26f98e1fe759b8 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 16:46:54 -0600 Subject: add more debug code --- src/engine/cable_club.c | 436 +++++++++++++++++++++++++++++++++- src/engine/mystery_event_menu.c | 460 ++++++++++++++++++++++++++++++++++++ src/engine/reset_rtc_screen.c | 316 +++++++++++++++++++++++++ src/field/field_fadetransition.c | 16 ++ src/field/fldeff_cut.c | 109 +++++++++ src/field/fldeff_flash.c | 30 +++ src/field/fldeff_strength.c | 23 ++ src/field/item_menu.c | 498 +++++++++++++++++++++++++++++++++++++++ src/pokemon/pokemon_menu.c | 42 ++++ 9 files changed, 1929 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 688560218..c0397f67b 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -95,6 +95,325 @@ const u8 *const gTrainerCardColorNames[] = TrainerCardColorName_Gold, }; +#if DEBUG + +__attribute__((naked)) +int debug_sub_808A4D0() +{ + asm("\ + push {lr}\n\ + add r1, r0, #0\n\ + ldr r0, ._3\n\ + cmp r1, r0\n\ + bne ._1 @cond_branch\n\ + mov r0, #0x1\n\ + b ._30\n\ +._4:\n\ + .align 2, 0\n\ +._3:\n\ + .word sub_8082F68+1\n\ +._1:\n\ + ldr r0, ._7\n\ + cmp r1, r0\n\ + bne ._5 @cond_branch\n\ + mov r0, #0x11\n\ + b ._30\n\ +._8:\n\ + .align 2, 0\n\ +._7:\n\ + .word sub_8082FEC+1\n\ +._5:\n\ + ldr r0, ._11\n\ + cmp r1, r0\n\ + bne ._9 @cond_branch\n\ + mov r0, #0x12\n\ + b ._30\n\ +._12:\n\ + .align 2, 0\n\ +._11:\n\ + .word sub_808303C+1\n\ +._9:\n\ + ldr r0, ._15\n\ + cmp r1, r0\n\ + bne ._13 @cond_branch\n\ + mov r0, #0x13\n\ + b ._30\n\ +._16:\n\ + .align 2, 0\n\ +._15:\n\ + .word sub_8083188+1\n\ +._13:\n\ + ldr r0, ._19\n\ + cmp r1, r0\n\ + bne ._17 @cond_branch\n\ + mov r0, #0x14\n\ + b ._30\n\ +._20:\n\ + .align 2, 0\n\ +._19:\n\ + .word sub_80830E4+1\n\ +._17:\n\ + ldr r0, ._23\n\ + cmp r1, r0\n\ + bne ._21 @cond_branch\n\ + mov r0, #0x21\n\ + b ._30\n\ +._24:\n\ + .align 2, 0\n\ +._23:\n\ + .word sub_80831F8+1\n\ +._21:\n\ + ldr r0, ._27\n\ + cmp r1, r0\n\ + bne ._25 @cond_branch\n\ + mov r0, #0x2\n\ + b ._30\n\ +._28:\n\ + .align 2, 0\n\ +._27:\n\ + .word sub_8083314+1\n\ +._25:\n\ + ldr r0, ._31\n\ + cmp r1, r0\n\ + beq ._29 @cond_branch\n\ + mov r0, #0x0\n\ + b ._30\n\ +._32:\n\ + .align 2, 0\n\ +._31:\n\ + .word sub_80833C4+1\n\ +._29:\n\ + mov r0, #0x3\n\ +._30:\n\ + pop {r1}\n\ + bx r1"); +} + +__attribute__((naked)) +void debug_sub_808A55C() +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + ldr r2, ._37\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r4, r0, r2\n\ + mov r0, #0x8\n\ + ldsh r1, [r4, r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + ldrb r0, [r0, #0x4]\n\ + cmp r0, #0\n\ + bne ._33 @cond_branch\n\ + mov r1, #0xa\n\ + ldsh r0, [r4, r1]\n\ + cmp r0, #0x5\n\ + bne ._34 @cond_branch\n\ + add r0, r7, #0\n\ + bl DestroyTask\n\ +._34:\n\ + ldrh r0, [r4, #0xa]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4, #0xa]\n\ +._33:\n\ + ldr r0, ._37 + 4\n\ + ldrb r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0x0\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, ._37 + 8\n\ + ldrb r0, [r0]\n\ + mov r1, #0x16\n\ + mov r2, #0x5\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + mov r4, #0x0\n\ + lsl r3, r7, #0x2\n\ + mov r8, r3\n\ + mov r6, #0xc0\n\ + lsl r6, r6, #0x13\n\ + mov r5, #0xa0\n\ + lsl r5, r5, #0x13\n\ +._35:\n\ + ldr r0, ._37 + 12\n\ + add r0, r4, r0\n\ + ldrb r0, [r0]\n\ + lsr r1, r5, #0x18\n\ + mov r2, #0x0\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r1, ._37 + 16\n\ + lsl r0, r4, #0x8\n\ + add r0, r0, r1\n\ + ldrh r0, [r0]\n\ + lsr r2, r6, #0x18\n\ + mov r1, #0x16\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x11\n\ + add r6, r6, r0\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x12\n\ + add r5, r5, r1\n\ + add r4, r4, #0x1\n\ + cmp r4, #0x3\n\ + ble ._35 @cond_branch\n\ + ldr r4, ._37 + 20\n\ + ldr r0, [r4]\n\ + mov r1, #0xf\n\ + mov r2, #0x0\n\ + mov r3, #0x8\n\ + bl PrintHex\n\ + ldr r0, ._37 + 24\n\ + ldrb r0, [r0, #0x1]\n\ + mov r1, #0x2\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + bl GetMultiplayerId\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x7\n\ + mov r2, #0xc\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + bl GetBlockReceivedStatus\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x7\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, ._37 + 28\n\ + ldrb r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0xc\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r0, ._37 + 32\n\ + ldrh r0, [r0]\n\ + mov r1, #0xb\n\ + mov r2, #0x8\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, [r4]\n\ + mov r1, #0x1c\n\ + and r0, r0, r1\n\ + lsr r0, r0, #0x2\n\ + mov r1, #0xb\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + bl IsLinkConnectionEstablished\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0xb\n\ + mov r2, #0xc\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + bl sub_8007ECC\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0xf\n\ + mov r2, #0xa\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r2, ._37\n\ + mov r3, r8\n\ + add r0, r3, r7\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + mov r3, #0x8\n\ + ldsh r1, [r0, r3]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + ldr r0, [r0]\n\ + bl debug_sub_808A4D0\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0xf\n\ + mov r2, #0xc\n\ + mov r3, #0x2\n\ + bl PrintHex\n\ + ldr r0, ._37 + 36\n\ + ldr r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0xd\n\ + mov r3, #0x8\n\ + bl PrintHex\n\ + bl HasLinkErrorOccurred\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x2\n\ + mov r2, #0x2\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + ldr r0, ._37 + 40\n\ + mov r6, #0x80\n\ + lsl r6, r6, #0x12\n\ + add r5, r0, #0\n\ + add r5, r5, #0x14\n\ + mov r4, #0x3\n\ +._36:\n\ + ldr r0, [r5]\n\ + lsr r1, r6, #0x18\n\ + mov r2, #0x3\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + mov r0, #0xc0\n\ + lsl r0, r0, #0x13\n\ + add r6, r6, r0\n\ + add r5, r5, #0x1c\n\ + sub r4, r4, #0x1\n\ + cmp r4, #0\n\ + bge ._36 @cond_branch\n\ + ldr r0, ._37 + 44\n\ + ldrh r0, [r0]\n\ + mov r1, #0x2\n\ + mov r2, #0x6\n\ + mov r3, #0x4\n\ + bl PrintHex\n\ + bl debug_sub_808B850\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r1, #0x19\n\ + mov r2, #0x3\n\ + mov r3, #0x1\n\ + bl PrintHex\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._38:\n\ + .align 2, 0\n\ +._37:\n\ + .word gTasks\n\ + .word gShouldAdvanceLinkState\n\ + .word gBlockSendBuffer\n\ + .word gLinkPlayerPending\n\ + .word gBlockRecvBuffer\n\ + .word gLinkStatus\n\ + .word gLink\n\ + .word gReceivedRemoteLinkPlayers\n\ + .word gScriptResult\n\ + .word gLinkCallback\n\ + .word gLinkPlayers\n\ + .word 0x4000128"); +} +#endif + static void sub_8082CD4(u8 arg0, u8 arg1) { if (FindTaskIdByFunc(sub_8082F20) == 0xFF) @@ -912,6 +1231,74 @@ void sub_8083C50(u8 taskId) DestroyTask(taskId); } +#if DEBUG + +__attribute__((naked)) +void debug_sub_808B778() +{ + asm("\ + push {r4, lr}\n\ + ldr r4, ._390\n\ + add r0, r4, #0\n\ + bl FuncIsActiveTask\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._389 @cond_branch\n\ + add r0, r4, #0\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ +._389:\n\ + ldr r1, ._390 + 4\n\ + ldr r0, [r1]\n\ + add r0, r0, #0x1\n\ + str r0, [r1]\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._391:\n\ + .align 2, 0\n\ +._390:\n\ + .word debug_sub_808B7A8+1\n\ + .word unk_3004E98"); +} + +__attribute__((naked)) +void debug_sub_808B7A8() +{ + asm("\ + push {lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r2, ._393\n\ + lsl r1, r0, #0x2\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r2\n\ + ldrh r0, [r1, #0x8]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1, #0x8]\n\ + lsl r0, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0x1e\n\ + bne ._392 @cond_branch\n\ + mov r0, #0x0\n\ + strh r0, [r1, #0x8]\n\ + ldr r2, ._393 + 4\n\ + ldrh r0, [r2]\n\ + mov r1, #0x1\n\ + orr r0, r0, r1\n\ + strh r0, [r2]\n\ +._392:\n\ + pop {r0}\n\ + bx r0\n\ +._394:\n\ + .align 2, 0\n\ +._393:\n\ + .word gTasks\n\ + .word unk_3004E94"); +} +#endif + static void sub_8083CA4(u8 taskId) { if (!gReceivedRemoteLinkPlayers) @@ -925,4 +1312,51 @@ void unref_sub_8083CC8(u8 taskId) { sub_800832C(); gTasks[taskId].func = sub_8083CA4; -} \ No newline at end of file +} + +#if DEBUG + +void debug_sub_808B82C() +{ + asm("\ + ldr r1, ._400\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + bx lr\n\ +._401:\n\ + .align 2, 0\n\ +._400:\n\ + .word unk_2030220"); +} + +void debug_sub_808B838(u8 a) +{ + asm("\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r2, ._402\n\ + mov r1, #0x1\n\ + LSL r1, r0\n\ + ldrb r0, [r2]\n\ + orr r1, r1, r0\n\ + strb r1, [r2]\n\ + bx lr\n\ +._403:\n\ + .align 2, 0\n\ +._402:\n\ + .word unk_2030220"); +} + +int debug_sub_808B850() +{ + asm("\ + ldr r0, ._404\n\ + ldrb r0, [r0]\n\ + bx lr\n\ +._405:\n\ + .align 2, 0\n\ +._404:\n\ + .word unk_2030220"); +} + +#endif \ No newline at end of file diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 8fad563e6..522a185c8 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -338,3 +338,463 @@ static void CB2_MysteryEventMenu(void) BuildOamBuffer(); UpdatePaletteFade(); } + +#if DEBUG + +void debug_sub_815D1D8(); + +__attribute__((naked)) +void debug_sub_815D04C() +{ + asm( + " push {r4, r5, r6, lr}\n" + " lsl r0, r0, #0x18\n" + " lsr r5, r0, #0x18\n" + " ldr r1, ._125\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r4, r0, r1\n" + " mov r1, #0x8\n" + " ldsh r0, [r4, r1]\n" + " cmp r0, #0\n" + " bne ._121 @cond_branch\n" + " mov r0, #0x4\n" + " mov r1, #0x4\n" + " mov r2, #0xd\n" + " mov r3, #0x7\n" + " bl MenuDrawTextWindow\n" + " ldr r1, ._125 + 4\n" + " mov r2, #0xa\n" + " ldsh r0, [r4, r2]\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov r1, #0x5\n" + " mov r2, #0x5\n" + " bl MenuPrint\n" + " ldrh r0, [r4, #0x8]\n" + " add r0, r0, #0x1\n" + " strh r0, [r4, #0x8]\n" + "._121:\n" + " ldr r2, ._125 + 8\n" + " ldrh r1, [r2, #0x2e]\n" + " mov r0, #0x20\n" + " and r0, r0, r1\n" + " add r6, r2, #0\n" + " cmp r0, #0\n" + " beq ._122 @cond_branch\n" + " ldrh r1, [r4, #0xa]\n" + " mov r2, #0xa\n" + " ldsh r0, [r4, r2]\n" + " cmp r0, #0\n" + " bne ._123 @cond_branch\n" + " ldr r0, ._125 + 12\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x1\n" + " b ._124\n" + "._126:\n" + " .align 2, 0\n" + "._125:\n" + " .word gTasks\n" + " .word gFlashSectors+0x9c\n" + " .word gMain\n" + " .word gFlashSectors+0x11c\n" + "._123:\n" + " sub r0, r1, #1\n" + "._124:\n" + " strh r0, [r4, #0xa]\n" + " ldr r0, ._130\n" + " lsl r1, r5, #0x2\n" + " add r1, r1, r5\n" + " lsl r1, r1, #0x3\n" + " add r1, r1, r0\n" + " mov r0, #0x0\n" + " strh r0, [r1, #0x8]\n" + "._122:\n" + " ldrh r1, [r6, #0x2e]\n" + " mov r0, #0x10\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._127 @cond_branch\n" + " ldr r1, ._130\n" + " lsl r2, r5, #0x2\n" + " add r0, r2, r5\n" + " lsl r0, r0, #0x3\n" + " add r4, r0, r1\n" + " mov r0, #0xa\n" + " ldsh r3, [r4, r0]\n" + " ldr r0, ._130 + 4\n" + " ldrb r0, [r0]\n" + " sub r0, r0, #0x1\n" + " cmp r3, r0\n" + " bne ._128 @cond_branch\n" + " mov r0, #0x0\n" + " b ._129\n" + "._131:\n" + " .align 2, 0\n" + "._130:\n" + " .word gTasks\n" + " .word gFlashSectors+0x11c\n" + "._128:\n" + " ldrh r0, [r4, #0xa]\n" + " add r0, r0, #0x1\n" + "._129:\n" + " strh r0, [r4, #0xa]\n" + " add r0, r2, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r1, #0x0\n" + " strh r1, [r0, #0x8]\n" + "._127:\n" + " ldrh r1, [r6, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._132 @cond_branch\n" + " ldr r1, ._133\n" + " lsl r0, r5, #0x2\n" + " add r0, r0, r5\n" + " lsl r0, r0, #0x3\n" + " add r0, r0, r1\n" + " mov r2, #0xa\n" + " ldsh r1, [r0, r2]\n" + " lsl r1, r1, #0x3\n" + " ldr r0, ._133 + 4\n" + " add r0, r0, #0x4\n" + " add r1, r1, r0\n" + " ldr r0, ._133 + 8\n" + " ldr r1, [r1]\n" + " bl gScriptFuncs_End+0x3cf8\n" + " ldr r0, ._133 + 12\n" + " add r1, r6, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " add r0, r5, #0\n" + " bl DestroyTask\n" + "._132:\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + "._134:\n" + " .align 2, 0\n" + "._133:\n" + " .word gTasks\n" + " .word gFlashSectors+0x9c\n" + " .word +0x2004000\n" + " .word 0x43c\n" + "\n" + ); +} + +void debug_sub_815D15C(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + SetVBlankCallback(VBlankCB); + Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gWindowTemplate_81E6CE4); + Menu_EraseScreen(); + REG_DISPCNT = DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_MODE_0; + REG_BLDCNT = 0; + + CreateTask(Task_DestroySelf, 0); + StopMapMusic(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + FillPalette(0, 0, 2); + SetMainCallback2(debug_sub_815D1D8); +} + +__attribute__((naked)) +void debug_sub_815D1D8() +{ + asm( + " push {r4, lr}\n" + " add sp, sp, #0xfffffffc\n" + " ldr r1, ._139\n" + " ldr r2, ._139 + 4\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " add r4, r1, #0\n" + " cmp r0, #0xb\n" + " bls ._137 @cond_branch\n" + " b ._196\n" + "._137:\n" + " lsl r0, r0, #0x2\n" + " ldr r1, ._139 + 8\n" + " add r0, r0, r1\n" + " ldr r0, [r0]\n" + " mov pc, r0\n" + "._140:\n" + " .align 2, 0\n" + "._139:\n" + " .word gMain\n" + " .word 0x43c\n" + " .word ._141\n" + "._141:\n" + " .word ._142\n" + " .word ._143\n" + " .word ._144\n" + " .word ._145\n" + " .word ._146\n" + " .word ._196\n" + " .word ._148\n" + " .word ._149\n" + " .word ._150\n" + " .word ._151\n" + " .word ._152\n" + " .word ._153\n" + "._142:\n" + " mov r0, #0x3\n" + " mov r1, #0xe\n" + " mov r2, #0x1b\n" + " mov r3, #0x13\n" + " bl MenuDrawTextWindow\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x10\n" + " mov r3, #0x0\n" + " bl BeginNormalPaletteFade\n" + " ldr r1, ._155\n" + " ldr r0, ._155 + 4\n" + " add r1, r1, r0\n" + " b ._189\n" + "._156:\n" + " .align 2, 0\n" + "._155:\n" + " .word gMain\n" + " .word 0x43c\n" + "._143:\n" + " ldr r0, ._161\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._157 @cond_branch\n" + " b ._196\n" + "._157:\n" + " ldrh r1, [r4, #0x2c]\n" + " mov r0, #0x80\n" + " lsl r0, r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._159 @cond_branch\n" + " ldr r1, ._161 + 4\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + "._159:\n" + " ldr r0, ._161 + 8\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrintMessage\n" + " ldr r2, ._161 + 12\n" + " add r1, r4, r2\n" + " b ._189\n" + "._162:\n" + " .align 2, 0\n" + "._161:\n" + " .word gPaletteFade\n" + " .word gLinkTestBlockChecksums+0x8\n" + " .word gUnknown_0841192C+0x14\n" + " .word 0x43c\n" + "._144:\n" + " bl MenuUpdateWindowText\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._163 @cond_branch\n" + " b ._196\n" + "._163:\n" + " ldr r1, ._166\n" + " ldr r0, ._166 + 4\n" + " add r1, r1, r0\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " ldr r1, ._166 + 8\n" + " ldr r2, ._166 + 12\n" + " add r0, r2, #0\n" + " strh r0, [r1]\n" + " bl OpenLink\n" + " b ._196\n" + "._167:\n" + " .align 2, 0\n" + "._166:\n" + " .word gMain\n" + " .word 0x43c\n" + " .word gLinkType\n" + " .word 0x5501\n" + "._145:\n" + " ldr r0, ._171\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._168 @cond_branch\n" + " b ._196\n" + "._168:\n" + " ldr r1, ._171 + 4\n" + " add r0, r4, r1\n" + " ldrb r1, [r0]\n" + " add r1, r1, #0x1\n" + " strb r1, [r0]\n" + " ldr r0, ._171 + 8\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrintMessage\n" + " b ._196\n" + "._172:\n" + " .align 2, 0\n" + "._171:\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word 0x43c\n" + " .word gUnknown_0841192C+0x28\n" + "._146:\n" + " bl MenuUpdateWindowText\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._173 @cond_branch\n" + " b ._196\n" + "._173:\n" + " ldr r0, ._176\n" + " mov r1, #0xa\n" + " bl CreateTask\n" + " ldr r1, ._176 + 4\n" + " ldr r2, ._176 + 8\n" + " add r1, r1, r2\n" + " b ._189\n" + "._177:\n" + " .align 2, 0\n" + "._176:\n" + " .word debug_sub_815D04C+1\n" + " .word gMain\n" + " .word 0x43c\n" + "._148:\n" + " ldr r0, ._179\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrintMessage\n" + " ldr r1, ._179 + 4\n" + " ldr r2, ._179 + 8\n" + " mov r0, #0x0\n" + " bl SendBlock\n" + " ldr r1, ._179 + 12\n" + " ldr r0, ._179 + 16\n" + " add r1, r1, r0\n" + " b ._189\n" + "._180:\n" + " .align 2, 0\n" + "._179:\n" + " .word gUnknown_0841192C+0x3c\n" + " .word +0x2004000\n" + " .word 0x2004\n" + " .word gMain\n" + " .word 0x43c\n" + "._149:\n" + " bl MenuUpdateWindowText\n" + " bl sub_8007ECC\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " beq ._196 @cond_branch\n" + " ldr r1, ._183\n" + " ldr r2, ._183 + 4\n" + " add r1, r1, r2\n" + " b ._189\n" + "._184:\n" + " .align 2, 0\n" + "._183:\n" + " .word gMain\n" + " .word 0x43c\n" + "._150:\n" + " bl sub_800832C\n" + " ldr r1, ._186\n" + " ldr r0, ._186 + 4\n" + " add r1, r1, r0\n" + " b ._189\n" + "._187:\n" + " .align 2, 0\n" + "._186:\n" + " .word gMain\n" + " .word 0x43c\n" + "._151:\n" + " ldr r0, ._190\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " bne ._196 @cond_branch\n" + " mov r0, #0x4\n" + " mov r1, #0xf\n" + " mov r2, #0x1a\n" + " mov r3, #0x12\n" + " bl MenuFillWindowRectWithBlankTile\n" + " ldr r0, ._190 + 4\n" + " mov r1, #0x4\n" + " mov r2, #0xf\n" + " bl MenuPrint\n" + " ldr r1, ._190 + 8\n" + " ldr r2, ._190 + 12\n" + " add r1, r1, r2\n" + " b ._189\n" + "._191:\n" + " .align 2, 0\n" + "._190:\n" + " .word gReceivedRemoteLinkPlayers\n" + " .word gUnknown_0841192C+0x47\n" + " .word gMain\n" + " .word 0x43c\n" + "._152:\n" + " ldrh r1, [r4, #0x2e]\n" + " mov r0, #0x1\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " beq ._196 @cond_branch\n" + " mov r0, #0x1\n" + " neg r0, r0\n" + " mov r1, #0x0\n" + " str r1, [sp]\n" + " mov r2, #0x0\n" + " mov r3, #0x10\n" + " bl BeginNormalPaletteFade\n" + " ldr r0, ._194\n" + " add r1, r4, r0\n" + "._189:\n" + " ldrb r0, [r1]\n" + " add r0, r0, #0x1\n" + " strb r0, [r1]\n" + " b ._196\n" + "._195:\n" + " .align 2, 0\n" + "._194:\n" + " .word 0x43c\n" + "._153:\n" + " ldr r0, ._197\n" + " ldrb r1, [r0, #0x7]\n" + " mov r0, #0x80\n" + " and r0, r0, r1\n" + " cmp r0, #0\n" + " bne ._196 @cond_branch\n" + " ldr r0, ._197 + 4\n" + " bl SetMainCallback2\n" + "._196:\n" + " bl RunTasks\n" + " bl AnimateSprites\n" + " bl BuildOamBuffer\n" + " bl UpdatePaletteFade\n" + " add sp, sp, #0x4\n" + " pop {r4}\n" + " pop {r0}\n" + " bx r0\n" + "._198:\n" + " .align 2, 0\n" + "._197:\n" + " .word gPaletteFade\n" + " .word CB2_InitTitleScreen+1\n" + "\n" + ); +} + +#endif diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index c7d45e929..a11e1b3e3 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -605,3 +605,319 @@ void Task_ResetRtcScreen(u8 taskId) } } } + +#if DEBUG + +__attribute__((naked)) +void debug_sub_806F8F8(void) +{ + asm("\ + push {lr}\n\ + ldr r0, ._131\n\ + bl SetMainCallback2\n\ + pop {r0}\n\ + bx r0\n\ +._132:\n\ + .align 2, 0\n\ +._131:\n\ + .word CB2_InitResetRtcScreen+1"); +} + +__attribute__((naked)) +void debug_sub_806F908(u8 a) +{ + asm("\ + push {r4, r5, lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + lsl r0, r5, #0x2\n\ + add r0, r0, r5\n\ + lsl r0, r0, #0x3\n\ + ldr r2, ._136\n\ + add r4, r0, r2\n\ + mov r1, #0x0\n\ + ldsh r0, [r4, r1]\n\ + cmp r0, #0\n\ + beq ._133 @cond_branch\n\ + cmp r0, #0x1\n\ + beq ._134 @cond_branch\n\ + b ._141\n\ +._137:\n\ + .align 2, 0\n\ +._136:\n\ + .word gTasks+0x8\n\ +._133:\n\ + ldr r0, ._139\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + strh r0, [r4, #0x2]\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._141\n\ +._140:\n\ + .align 2, 0\n\ +._139:\n\ + .word Task_ResetRtc_0+1\n\ +._134:\n\ + sub r2, r2, #0x8\n\ + mov r0, #0x2\n\ + ldsh r1, [r4, r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r2, r0, r2\n\ + mov r1, #0x8\n\ + ldsh r0, [r2, r1]\n\ + cmp r0, #0\n\ + beq ._141 @cond_branch\n\ + mov r1, #0xa\n\ + ldsh r0, [r2, r1]\n\ + cmp r0, #0x1\n\ + bne ._142 @cond_branch\n\ + ldr r3, ._143\n\ + mov r1, #0x0\n\ + ldsh r0, [r3, r1]\n\ + mov r1, #0x2\n\ + ldsb r1, [r3, r1]\n\ + mov r2, #0x3\n\ + ldsb r2, [r3, r2]\n\ + ldrb r3, [r3, #0x4]\n\ + lsl r3, r3, #0x18\n\ + asr r3, r3, #0x18\n\ + bl RtcCalcLocalTimeOffset\n\ +._142:\n\ + ldrb r0, [r4, #0x2]\n\ + bl DestroyTask\n\ + bl MenuZeroFillScreen\n\ + bl ScriptContext2_Disable\n\ + add r0, r5, #0\n\ + bl DestroyTask\n\ +._141:\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._144:\n\ + .align 2, 0\n\ +._143:\n\ + .word gLocalTime"); +} + +__attribute__((naked)) +void debug_sub_806F99C() +{ + asm("\ + push {lr}\n\ + bl RtcCalcLocalTime\n\ + ldr r0, ._145\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + bl ScriptContext2_Enable\n\ + pop {r0}\n\ + bx r0\n\ +._146:\n\ + .align 2, 0\n\ +._145:\n\ + .word debug_sub_806F908+1"); +} + +__attribute__((naked)) +void debug_sub_806F9B8() +{ + asm("\ + push {lr}\n\ + ldr r2, ._147\n\ + ldr r0, ._147 + 4\n\ + add r0, r0, #0xa0\n\ + ldr r1, [r0, #0x4]\n\ + ldr r0, [r0]\n\ + str r0, [r2]\n\ + str r1, [r2, #0x4]\n\ + ldr r0, ._147 + 8\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + bl ScriptContext2_Enable\n\ + pop {r0}\n\ + bx r0\n\ +._148:\n\ + .align 2, 0\n\ +._147:\n\ + .word gLocalTime\n\ + .word gSaveBlock2\n\ + .word debug_sub_806F908+1"); +} + +__attribute__((naked)) +void debug_sub_806F9E4() +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, sl\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6, r7}\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + ldr r1, ._153\n\ + add r5, r0, r1\n\ + ldr r6, ._153 + 4\n\ + mov r1, #0x0\n\ + ldsh r0, [r5, r1]\n\ + cmp r0, #0x1\n\ + beq ._149 @cond_branch\n\ + cmp r0, #0x1\n\ + bgt ._150 @cond_branch\n\ + cmp r0, #0\n\ + beq ._151 @cond_branch\n\ + b ._165\n\ +._154:\n\ + .align 2, 0\n\ +._153:\n\ + .word gTasks+0x8\n\ + .word gStringVar4\n\ +._150:\n\ + cmp r0, #0x2\n\ + beq ._155 @cond_branch\n\ + b ._165\n\ +._149:\n\ + mov r0, #0x0\n\ + mov r1, #0x9\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl MenuDrawTextWindow\n\ + add r4, r6, #0\n\ + add r4, r4, #0x50\n\ + bl RtcGetErrorStatus\n\ + add r1, r0, #0\n\ + lsl r1, r1, #0x10\n\ + lsr r1, r1, #0x10\n\ + add r0, r4, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x4\n\ + bl ConvertIntToHexStringN\n\ + add r0, r4, #0\n\ + mov r1, #0x2\n\ + mov r2, #0xa\n\ + bl MenuPrint\n\ + ldr r0, ._158\n\ + mov r1, #0xc\n\ + mov r2, #0xc\n\ + bl MenuPrint\n\ + ldr r0, ._158 + 4\n\ + mov r1, #0x14\n\ + mov r2, #0xc\n\ + bl MenuPrint\n\ + ldr r0, ._158 + 8\n\ + mov r1, #0x1\n\ + mov r2, #0xe\n\ + bl MenuPrint\n\ + ldr r0, ._158 + 12\n\ + mov r1, #0x1\n\ + mov r2, #0x10\n\ + bl MenuPrint\n\ +._151:\n\ + ldrh r0, [r5]\n\ + add r0, r0, #0x1\n\ + strh r0, [r5]\n\ + b ._165\n\ +._159:\n\ + .align 2, 0\n\ +._158:\n\ + .word gUnknown_08376500+0x4\n\ + .word gUnknown_08376500+0x9\n\ + .word gUnknown_08376500+0x17\n\ + .word gUnknown_08376500+0xd\n\ +._155:\n\ + bl RtcCalcLocalTime\n\ + add r0, r6, #0\n\ + bl FormatHexRtcTime\n\ + mov r2, #0x14\n\ + add r2, r2, r6\n\ + mov r9, r2\n\ + mov r0, r9\n\ + bl debug_sub_8009894\n\ + mov r0, #0x28\n\ + add r0, r0, r6\n\ + mov sl, r0\n\ + ldr r4, ._163\n\ + mov r1, #0x2\n\ + ldsb r1, [r4, r1]\n\ + mov r2, #0x3\n\ + ldsb r2, [r4, r2]\n\ + mov r3, #0x4\n\ + ldsb r3, [r4, r3]\n\ + bl FormatDecimalTime\n\ + mov r1, #0x3c\n\ + add r1, r1, r6\n\ + mov r8, r1\n\ + mov r2, #0x0\n\ + ldsh r1, [r4, r2]\n\ + mov r0, r8\n\ + mov r2, #0x1\n\ + mov r3, #0x4\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, ._163 + 4\n\ + ldrb r0, [r0, #0x12]\n\ + cmp r0, #0\n\ + bne ._160 @cond_branch\n\ + add r0, r6, #0\n\ + mov r1, #0x14\n\ + mov r2, #0xe\n\ + bl MenuPrint\n\ + mov r0, r9\n\ + mov r1, #0xc\n\ + mov r2, #0xe\n\ + bl MenuPrint\n\ + mov r0, sl\n\ + mov r1, #0x14\n\ + mov r2, #0x10\n\ + bl MenuPrint\n\ + mov r0, r8\n\ + mov r1, #0xc\n\ + mov r2, #0x10\n\ + bl MenuPrint\n\ +._160:\n\ + ldrh r1, [r5, #0x2]\n\ + mov r2, #0x2\n\ + ldsh r0, [r5, r2]\n\ + cmp r0, #0x13\n\ + ble ._161 @cond_branch\n\ + add r0, r1, #1\n\ + strh r0, [r5, #0x2]\n\ + b ._165\n\ +._164:\n\ + .align 2, 0\n\ +._163:\n\ + .word gLocalTime\n\ + .word gSaveBlock2\n\ +._161:\n\ + ldr r0, ._166\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._165 @cond_branch\n\ + bl MenuZeroFillScreen\n\ + add r0, r7, #0\n\ + bl DestroyTask\n\ + bl ScriptContext2_Disable\n\ +._165:\n\ + pop {r3, r4, r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov sl, r5\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._167:\n\ + .align 2, 0\n\ +._166:\n\ + .word gMain"); +} + +#endif \ No newline at end of file diff --git a/src/field/field_fadetransition.c b/src/field/field_fadetransition.c index 5014e97e3..6d40c53aa 100644 --- a/src/field/field_fadetransition.c +++ b/src/field/field_fadetransition.c @@ -511,6 +511,22 @@ void sub_80810DC(void) CreateTask(sub_8081050, 10); } +#if DEBUG + +__attribute__((naked)) +void debug_sub_80888D8() +{ + asm("\ + PUSH {LR}\n\ + BL debug_sub_8052E04\n\ + BL sub_8080E88\n\ + BL ScriptContext2_Enable\n\ + POP {R0}\n\ + BX R0"); +} + +#endif + void task0A_fade_n_map_maybe(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index e4328acfc..7d90b9f4d 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -72,6 +72,115 @@ static const struct SpriteTemplate gSpriteTemplate_CutGrass = .callback = sub_80A2A48, }; +#if DEBUG +__attribute__((naked)) +void debug_sub_80AFEE4() +{ + asm( + " push {r4, r5, r6, r7, lr}\n" + " mov r7, r8\n" + " push {r7}\n" + " mov r0, #0x52\n" + " bl npc_before_player_of_type\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._1 @cond_branch\n" + " ldr r1, ._3\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " bl sub_80A2634\n" + " b ._8\n" + "._4:\n" + " .align 2, 0\n" + "._3:\n" + " .word gLastFieldPokeMenuOpened\n" + "._1:\n" + " ldr r4, ._9\n" + " add r1, r4, #2\n" + " add r0, r4, #0\n" + " bl PlayerGetDestCoords\n" + " mov r7, #0x0\n" + " mov r8, r4\n" + "._12:\n" + " ldr r1, ._9 + 4\n" + " add r0, r7, r1\n" + " mov r2, r8\n" + " ldrh r2, [r2, #0x2]\n" + " add r0, r0, r2\n" + " mov r6, #0x0\n" + " lsl r0, r0, #0x10\n" + " asr r5, r0, #0x10\n" + "._11:\n" + " ldr r1, ._9 + 4\n" + " add r0, r6, r1\n" + " mov r2, r8\n" + " ldrh r2, [r2]\n" + " add r0, r0, r2\n" + " lsl r0, r0, #0x10\n" + " asr r4, r0, #0x10\n" + " add r0, r4, #0\n" + " add r1, r5, #0\n" + " bl MapGridGetZCoordAt\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " mov r2, r8\n" + " mov r1, #0x4\n" + " ldsb r1, [r2, r1]\n" + " cmp r0, r1\n" + " bne ._7 @cond_branch\n" + " add r0, r4, #0\n" + " add r1, r5, #0\n" + " bl MapGridGetMetatileBehaviorAt\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " add r0, r4, #0\n" + " bl MetatileBehavior_IsPokeGrass\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " beq ._6 @cond_branch\n" + " add r0, r4, #0\n" + " bl MetatileBehavior_IsAshGrass\n" + " lsl r0, r0, #0x18\n" + " lsr r0, r0, #0x18\n" + " cmp r0, #0x1\n" + " bne ._7 @cond_branch\n" + "._6:\n" + " ldr r1, ._9 + 8\n" + " mov r0, #0x0\n" + " strb r0, [r1]\n" + " bl sub_80A25E8\n" + " b ._8\n" + "._10:\n" + " .align 2, 0\n" + "._9:\n" + " .word gUnknown_0203923C\n" + " .word 0xffff\n" + " .word gLastFieldPokeMenuOpened\n" + "._7:\n" + " add r0, r6, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r6, r0, #0x18\n" + " cmp r6, #0x2\n" + " bls ._11 @cond_branch\n" + " add r0, r7, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r7, r0, #0x18\n" + " cmp r7, #0x2\n" + " bls ._12 @cond_branch\n" + " bl ScriptContext2_Disable\n" + "._8:\n" + " pop {r3}\n" + " mov r8, r3\n" + " pop {r4, r5, r6, r7}\n" + " pop {r0}\n" + " bx r0\n" + "\n" + ); +} +#endif + bool8 SetUpFieldMove_Cut(void) { s16 x, y; diff --git a/src/field/fldeff_flash.c b/src/field/fldeff_flash.c index 22f170184..d8f70200c 100644 --- a/src/field/fldeff_flash.c +++ b/src/field/fldeff_flash.c @@ -71,6 +71,36 @@ static const u16 gUnknown_083F809C[] = INCBIN_U16("graphics/misc/83F809C.gbapal" static const u16 gCaveTransitionTilemap[] = INCBIN_U16("graphics/misc/cave_transition_map.bin.lz"); static const u8 gCaveTransitionTiles[] = INCBIN_U8("graphics/misc/cave_transition.4bpp.lz"); +#if DEBUG +__attribute__((naked)) +void debug_sub_8122080(void) +{ + asm("\ + push {lr}\n\ + ldr r0, ._4\n\ + ldrb r0, [r0, #0x15]\n\ + cmp r0, #0x1\n\ + bne ._2 @cond_branch\n\ + ldr r0, ._4 + 4\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._2 @cond_branch\n\ + bl sub_810CBFC\n\ + b ._3\n\ +._5:\n\ + .align 2, 0\n\ +._4:\n\ + .word gMapHeader\n\ + .word 0x828\n\ +._2:\n\ + bl ScriptContext2_Disable\n\ +._3:\n\ + pop {r0}\n\ + bx r0"); +} +#endif + bool8 SetUpFieldMove_Flash(void) { if (gMapHeader.cave == TRUE && !FlagGet(FLAG_SYS_USE_FLASH)) diff --git a/src/field/fldeff_strength.c b/src/field/fldeff_strength.c index 565ac1651..9f9cd4013 100644 --- a/src/field/fldeff_strength.c +++ b/src/field/fldeff_strength.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/map_objects.h" #include "braille_puzzles.h" #include "field_effect.h" #include "party_menu.h" @@ -20,6 +21,28 @@ extern void (*gUnknown_03005CE4)(void); extern u8 S_UseStrength[]; +#if DEBUG +void debug_sub_8130318(void) +{ + if (ShouldDoBrailleStrengthEffect()) + { + gLastFieldPokeMenuOpened = 0; + gSpecialVar_Result = 0; + sub_811AA38(); + } + else if (npc_before_player_of_type(MAP_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) + { + gLastFieldPokeMenuOpened = 0; + gSpecialVar_Result = 0; + sub_811AA18(); + } + else + { + ScriptContext2_Disable(); + } +} +#endif + bool8 SetUpFieldMove_Strength(void) { if (ShouldDoBrailleStrengthEffect()) diff --git a/src/field/item_menu.c b/src/field/item_menu.c index e0575af4c..125edfef2 100644 --- a/src/field/item_menu.c +++ b/src/field/item_menu.c @@ -158,6 +158,9 @@ extern struct PocketScrollState gBagPocketScrollStates[]; extern struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots extern const u8 Event_NoRegisteredItem[]; +// TODO: decompile the debug code so we can use static in this file +#define static + extern const struct CompressedSpriteSheet sMaleBagSpriteSheet; extern const struct CompressedSpriteSheet sFemaleBagSpriteSheet; extern const struct CompressedSpritePalette sBagSpritePalette; @@ -384,6 +387,390 @@ static void sub_80A3134(void) } } +#if DEBUG +__attribute__((naked)) +static bool8 SetupBagMultistep(void) +{ + asm("\ + push {r4, r5, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._5\n\ + ldr r1, ._5 + 4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x10\n\ + bls ._3 @cond_branch\n\ + b ._66\n\ +._3:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._5 + 8\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._6:\n\ + .align 2, 0\n\ +._5:\n\ + .word gMain\n\ + .word 0x43c\n\ + .word ._7\n\ +._7:\n\ + .word ._8\n\ + .word ._9\n\ + .word ._10\n\ + .word ._11\n\ + .word ._12\n\ + .word ._13\n\ + .word ._14\n\ + .word ._15\n\ + .word ._16\n\ + .word ._17\n\ + .word ._18\n\ + .word ._19\n\ + .word ._20\n\ + .word ._21\n\ + .word ._22\n\ + .word ._23\n\ + .word ._24\n\ +._8:\n\ + bl sub_80F9438\n\ + bl sub_80A34E8\n\ + b ._61\n\ +._9:\n\ + bl remove_some_task\n\ + ldr r1, ._27\n\ + ldr r0, ._27 + 4\n\ + add r1, r1, r0\n\ + b ._62\n\ +._28:\n\ + .align 2, 0\n\ +._27:\n\ + .word gMain\n\ + .word 0x43c\n\ +._10:\n\ + bl gpu_pal_allocator_reset__manage_upper_four\n\ + b ._61\n\ +._11:\n\ + bl sub_80F9020\n\ + ldr r0, ._31\n\ + ldr r1, ._31 + 4\n\ + add r0, r0, r1\n\ + mov r1, #0x0\n\ + strb r1, [r0]\n\ + b ._61\n\ +._32:\n\ + .align 2, 0\n\ +._31:\n\ + .word +0x2000000\n\ + .word 0x1ffff\n\ +._12:\n\ + bl ResetPaletteFade\n\ + ldr r2, ._34\n\ + ldrb r0, [r2, #0x8]\n\ + mov r1, #0x80\n\ + orr r0, r0, r1\n\ + strb r0, [r2, #0x8]\n\ + ldr r1, ._34 + 4\n\ + ldr r0, ._34 + 8\n\ + add r1, r1, r0\n\ + b ._62\n\ +._35:\n\ + .align 2, 0\n\ +._34:\n\ + .word gPaletteFade\n\ + .word gMain\n\ + .word 0x43c\n\ +._13:\n\ + bl ResetSpriteData\n\ + b ._61\n\ +._14:\n\ + bl sub_80A3520\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._37 @cond_branch\n\ + b ._66\n\ +._37:\n\ + ldr r1, ._40\n\ + ldr r0, ._40 + 4\n\ + add r1, r1, r0\n\ + b ._62\n\ +._41:\n\ + .align 2, 0\n\ +._40:\n\ + .word gMain\n\ + .word 0x43c\n\ +._15:\n\ + ldr r0, ._43\n\ + bl SetUpWindowConfig\n\ + b ._61\n\ +._44:\n\ + .align 2, 0\n\ +._43:\n\ + .word gWindowConfig_81E6DFC\n\ +._16:\n\ + ldr r0, ._46\n\ + bl MultistepInitMenuWindowBegin\n\ + ldr r1, ._46 + 4\n\ + ldr r0, ._46 + 8\n\ + add r1, r1, r0\n\ + b ._62\n\ +._47:\n\ + .align 2, 0\n\ +._46:\n\ + .word gWindowConfig_81E6DFC\n\ + .word gMain\n\ + .word 0x43c\n\ +._17:\n\ + bl MultistepInitMenuWindowContinue\n\ + cmp r0, #0\n\ + bne ._48 @cond_branch\n\ + b ._66\n\ +._48:\n\ + b ._61\n\ +._18:\n\ + bl sub_80F944C\n\ + bl LoadScrollIndicatorPalette\n\ + mov r0, #0x0\n\ + mov r1, #0xac\n\ + mov r2, #0xc\n\ + bl CreateVerticalScrollIndicators\n\ + mov r0, #0x1\n\ + mov r1, #0xac\n\ + mov r2, #0x94\n\ + bl CreateVerticalScrollIndicators\n\ + mov r0, #0x2\n\ + mov r1, #0x1c\n\ + mov r2, #0x58\n\ + bl CreateVerticalScrollIndicators\n\ + mov r0, #0x3\n\ + mov r1, #0x64\n\ + mov r2, #0x58\n\ + bl CreateVerticalScrollIndicators\n\ + mov r0, #0x0\n\ + mov r1, #0x2\n\ + bl sub_80F9988\n\ + mov r0, #0x1\n\ + mov r1, #0x2\n\ + bl sub_80F9988\n\ + mov r0, #0x2\n\ + mov r1, #0x2\n\ + bl sub_80F9988\n\ + mov r0, #0x3\n\ + mov r1, #0x2\n\ + bl sub_80F9988\n\ + ldr r0, ._53\n\ + ldrb r0, [r0]\n\ + sub r0, r0, #0x4\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bhi ._51 @cond_branch\n\ + mov r0, #0x2\n\ + mov r1, #0x1\n\ + bl sub_80F979C\n\ + mov r0, #0x3\n\ + mov r1, #0x1\n\ + bl sub_80F979C\n\ +._51:\n\ + ldr r1, ._53 + 4\n\ + ldr r0, ._53 + 8\n\ + add r1, r1, r0\n\ + b ._62\n\ +._54:\n\ + .align 2, 0\n\ +._53:\n\ + .word gUnknown_03000701\n\ + .word gMain\n\ + .word 0x43c\n\ +._19:\n\ + ldr r1, ._56\n\ + mov r0, #0x10\n\ + strb r0, [r1]\n\ + ldr r4, ._56 + 4\n\ + ldr r5, ._56 + 8\n\ + ldrb r1, [r5]\n\ + add r1, r1, #0x1\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + add r0, r4, #0\n\ + bl sub_80A39B8\n\ + ldrb r1, [r5]\n\ + add r0, r4, #0\n\ + bl sub_80A3AC0\n\ + bl sub_80A3D08\n\ + ldr r4, ._56 + 12\n\ + ldr r0, [r4, #0x10]\n\ + ldr r1, [r4, #0x14]\n\ + bl sub_80A3C34\n\ + ldr r0, [r4, #0x18]\n\ + ldr r1, [r4, #0x1c]\n\ + bl sub_80A3C34\n\ + bl sub_80A3D40\n\ + ldr r1, ._56 + 16\n\ + mov r0, #0x0\n\ + ldsb r0, [r5, r0]\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r4\n\ + ldr r0, [r0]\n\ + str r0, [r1]\n\ + bl sub_80A362C\n\ + b ._61\n\ +._57:\n\ + .align 2, 0\n\ +._56:\n\ + .word gUnknown_0203855A\n\ + .word gBGTilemapBuffers+0x1000\n\ + .word gUnknown_02038559\n\ + .word gBagPockets\n\ + .word gUnknown_03005D24\n\ +._20:\n\ + ldr r0, ._59\n\ + mov r1, #0x0\n\ + mov r2, #0x7\n\ + bl sub_80A48E8\n\ + ldr r1, ._59 + 4\n\ + ldr r4, ._59 + 8\n\ + mov r0, #0x0\n\ + ldsb r0, [r4, r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x1]\n\ + ldrb r0, [r0]\n\ + add r1, r1, r0\n\ + ldr r0, ._59 + 12\n\ + ldr r0, [r0]\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r0\n\ + mov r2, #0x0\n\ + ldsh r0, [r1, r2]\n\ + bl ItemListMenu_InitDescription\n\ + bl ItemListMenu_InitMenu\n\ + ldr r1, ._59 + 16\n\ + ldrb r0, [r4]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + ldr r1, ._59 + 20\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + ldr r1, ._59 + 24\n\ + ldr r0, ._59 + 28\n\ + add r1, r1, r0\n\ + b ._62\n\ +._60:\n\ + .align 2, 0\n\ +._59:\n\ + .word 0xffff\n\ + .word gUnknown_03005D10\n\ + .word gUnknown_02038559\n\ + .word gUnknown_03005D24\n\ + .word gUnknown_0203855B\n\ + .word gUnknown_0203855C\n\ + .word gMain\n\ + .word 0x43c\n\ +._21:\n\ + bl CreateBagSprite\n\ + mov r0, #0x0\n\ + bl CreateBagPokeballSprite\n\ + bl sub_80A3740\n\ + b ._61\n\ +._22:\n\ + ldr r3, ._63\n\ + ldrh r2, [r3]\n\ + mov r0, #0x0\n\ + strh r0, [r3]\n\ + ldr r4, ._63 + 4\n\ + ldrh r0, [r4]\n\ + mov r1, #0x1\n\ + orr r0, r0, r1\n\ + strh r0, [r4]\n\ + strh r2, [r3]\n\ + ldr r2, ._63 + 8\n\ + ldrh r0, [r2]\n\ + mov r1, #0x8\n\ + orr r0, r0, r1\n\ + strh r0, [r2]\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r2, ._63 + 12\n\ + ldrb r1, [r2, #0x8]\n\ + mov r0, #0x7f\n\ + and r0, r0, r1\n\ + strb r0, [r2, #0x8]\n\ + ldr r1, ._63 + 16\n\ + ldr r0, ._63 + 20\n\ + add r1, r1, r0\n\ + b ._62\n\ +._64:\n\ + .align 2, 0\n\ +._63:\n\ + .word 0x4000208\n\ + .word 0x4000200\n\ + .word 0x4000004\n\ + .word gPaletteFade\n\ + .word gMain\n\ + .word 0x43c\n\ +._23:\n\ + bl sub_8055870\n\ + cmp r0, #0x1\n\ + beq ._66 @cond_branch\n\ +._61:\n\ + ldr r1, ._67\n\ + ldr r2, ._67 + 4\n\ + add r1, r1, r2\n\ +._62:\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + b ._66\n\ +._68:\n\ + .align 2, 0\n\ +._67:\n\ + .word gMain\n\ + .word 0x43c\n\ +._24:\n\ + ldr r0, ._71\n\ + bl SetVBlankCallback\n\ + ldr r0, ._71 + 4\n\ + bl SetMainCallback2\n\ + bl sub_80A751C\n\ + bl sub_80A7630\n\ + bl sub_80A770C\n\ + bl sub_80A7828\n\ + bl sub_80A78B8\n\ + ldr r0, ._71 + 8\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._69 @cond_branch\n\ + ldr r0, ._71 + 12\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x8\n\ + ldr r2, ._71 + 16\n\ + mov r3, #0x0\n\ + bl debug_sub_8008218\n\ +._69:\n\ + mov r0, #0x1\n\ + b ._70\n\ +._72:\n\ + .align 2, 0\n\ +._71:\n\ + .word sub_80A3134+1\n\ + .word sub_80A3118+1\n\ + .word gLinkOpen\n\ + .word 0x600f5e0\n\ + .word 0x600f800\n\ +._66:\n\ + mov r0, #0x0\n\ +._70:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5}\n\ + pop {r1}\n\ + bx r1"); +} +#else static bool8 SetupBagMultistep(void) { u32 index; @@ -508,6 +895,7 @@ static bool8 SetupBagMultistep(void) } return FALSE; } +#endif static bool8 sub_80A34B4(void) { @@ -634,6 +1022,79 @@ void ClearBag(void) ResetBagScrollPositions(); } +#if DEBUG +__attribute__((naked)) +void debug_sub_80A3714() +{ + asm("\ + push {r4, r5, r6, lr}\n\ + add sp, sp, #0xfffffff4\n\ + mov r5, #0x0\n\ + ldr r2, ._138\n\ + mov r1, #0x0\n\ +._134:\n\ + lsl r0, r5, #0x1\n\ + add r0, r0, sp\n\ + strh r1, [r0]\n\ + add r0, r5, #1\n\ + lsl r0, r0, #0x10\n\ + lsr r5, r0, #0x10\n\ + cmp r5, #0x4\n\ + bls ._134 @cond_branch\n\ + mov r5, #0x0\n\ + ldrh r0, [r2]\n\ + cmp r0, #0\n\ + beq ._136 @cond_branch\n\ + add r6, r2, #0\n\ +._137:\n\ + lsl r4, r5, #0x2\n\ + add r4, r4, r6\n\ + ldrh r0, [r4]\n\ + bl ItemId_GetPocket\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x8\n\ + ldr r1, ._138 + 4\n\ + add r0, r0, r1\n\ + lsr r0, r0, #0x10\n\ + ldr r1, ._138 + 8\n\ + lsl r2, r0, #0x3\n\ + add r2, r2, r1\n\ + lsl r0, r0, #0x1\n\ + mov r1, sp\n\ + add r3, r1, r0\n\ + ldrh r1, [r3]\n\ + ldr r0, [r2]\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r0\n\ + ldr r0, [r4]\n\ + str r0, [r1]\n\ + ldrh r0, [r3]\n\ + add r0, r0, #0x1\n\ + strh r0, [r3]\n\ + add r0, r5, #1\n\ + lsl r0, r0, #0x10\n\ + lsr r5, r0, #0x10\n\ + cmp r5, #0x3b\n\ + bhi ._136 @cond_branch\n\ + lsl r0, r5, #0x2\n\ + add r0, r0, r6\n\ + ldrh r0, [r0]\n\ + cmp r0, #0\n\ + bne ._137 @cond_branch\n\ +._136:\n\ + add sp, sp, #0xc\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._139:\n\ + .align 2, 0\n\ +._138:\n\ + .word gUnknown_Debug_083EBC68\n\ + .word 0xffff0000\n\ + .word gBagPockets"); +} +#endif + static void sub_80A3740(void) { const u16 colors[2] = {RGB(14, 15, 16), RGB_WHITE}; @@ -3573,12 +4034,49 @@ static void sub_80A73FC(void) MenuCursor_Destroy814AD44(); } +#if DEBUG +__attribute__((naked)) +static void sub_80A740C(void) +{ + asm("\ + push {lr}\n\ + add sp, sp, #0xfffffffc\n\ + bl sub_80A75E4\n\ + bl sub_80A7768\n\ + bl sub_80A7420\n\ + ldr r0, ._931\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._930 @cond_branch\n\ + ldr r0, ._931 + 4\n\ + ldr r1, ._931 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r1, #0x1\n\ + mov r2, #0x1\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._930:\n\ + add sp, sp, #0x4\n\ + pop {r0}\n\ + bx r0\n\ +._932:\n\ + .align 2, 0\n\ +._931:\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else static void sub_80A740C(void) { sub_80A75E4(); sub_80A7768(); sub_80A7420(); } +#endif static void sub_80A7420(void) { diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c index 70234ac48..2b3405640 100644 --- a/src/pokemon/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -912,6 +912,48 @@ static bool8 SetUpFieldMove_Waterfall(void) return FALSE; } +#if DEBUG +__attribute__((naked)) +void debug_sub_80986AC() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + mov r4, sp\n\ + add r4, r4, #0x2\n\ + mov r0, sp\n\ + add r1, r4, #0\n\ + bl GetXYCoordsOneStepInFrontOfPlayer\n\ + mov r0, sp\n\ + mov r1, #0x0\n\ + ldsh r0, [r0, r1]\n\ + mov r2, #0x0\n\ + ldsh r1, [r4, r2]\n\ + bl MapGridGetMetatileBehaviorAt\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl MetatileBehavior_IsWaterfall\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bne ._274 @cond_branch\n\ + bl IsPlayerSurfingNorth\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bne ._274 @cond_branch\n\ + bl sub_808AE08\n\ + b ._275\n\ +._274:\n\ + bl ScriptContext2_Disable\n\ +._275:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0"); +} +#endif + static void sub_808AE8C(void) { u8 i; -- cgit v1.2.3 From 233654746815b884d303cc3416c3fe6c377b4a73 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 17:30:45 -0600 Subject: resolve more undefined references --- src/battle/battle_2.c | 86 ++++++++++++++++++++--------------------- src/debug/kagaya_debug_menu.c | 6 +-- src/debug/nohara_debug_menu.c | 4 +- src/debug/start_menu_debug.c | 10 ++--- src/debug/taya_debug_window.c | 6 +-- src/debug/unk_debug_menu_3.c | 10 ++--- src/debug/watanabe_debug_menu.c | 4 +- src/engine/mystery_event_menu.c | 24 ++++++------ src/engine/reset_rtc_screen.c | 20 +++++----- src/engine/save.c | 4 +- src/field/berry_tag_screen.c | 2 +- src/field/choose_party.c | 2 +- src/field/field_weather.c | 10 ++--- src/field/item_menu.c | 28 +++++++------- src/field/mauville_man.c | 10 ++--- src/field/region_map.c | 14 +++---- src/field/slot_machine.c | 16 ++++---- src/field/start_menu.c | 2 +- src/pokemon/pokedex.c | 4 +- 19 files changed, 131 insertions(+), 131 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 454b47e08..7a819a8ef 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -340,13 +340,13 @@ void InitBattle(void) " .word 0x5006000\n" " .word 0x400004c\n" " .word 0x5051\n" - " .word gUnknown_030042C4\n" + " .word gBattle_WIN0H\n" " .word gUnknown_03004240\n" - " .word gUnknown_03004DE0\n" + " .word gScanlineEffectRegBuffers\n" " .word gUnknown_081F9674\n" " .word 0xff10\n" - " .word gWindowConfig_81E6C58\n" - " .word gUnknown_030042A4\n" + " .word gWindowTemplate_81E6C58\n" + " .word gBattle_BG0_X\n" " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" " .word gBattle_BG1_Y\n" @@ -358,9 +358,9 @@ void InitBattle(void) " .word gBattleTerrain\n" " .word gUnknown_03004210\n" " .word gUnknown_030041D0\n" - " .word gWindowConfig_81E71D0\n" + " .word gWindowTemplate_81E71D0\n" " .word gUnknown_03004250\n" - " .word gWindowConfig_81E71EC\n" + " .word gWindowTemplate_81E71EC\n" " .word gReservedSpritePaletteCount\n" " .word sub_800FCFC+1\n" " .word gBattleTypeFlags\n" @@ -1068,7 +1068,7 @@ void sub_800EC9C() " .word gPreBattleCallback1\n" " .word gMain\n" " .word debug_sub_80139E4+1\n" - " .word sub_800F808+1\n" + " .word BattleMainCB2+1\n" " .word gBattleTypeFlags\n" " .word gTrainerBattleOpponent\n" "\n" @@ -2313,7 +2313,7 @@ void sub_800F298() " .word gPreBattleCallback1\n" " .word gMain\n" " .word debug_sub_80139E4+1\n" - " .word sub_800F808+1\n" + " .word BattleMainCB2+1\n" " .word gBattleTypeFlags\n" " .word gTrainerBattleOpponent\n" "\n" @@ -3332,7 +3332,7 @@ void debug_sub_80108B8() " .word 0x40000d4\n" " .word 0x85006000\n" " .word 0x4000200\n" - " .word gUnknown_030042A4\n" + " .word gBattle_BG0_X\n" " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" " .word gBattle_BG1_Y\n" @@ -3350,7 +3350,7 @@ void debug_sub_80108B8() " .word 0x50001e0\n" " .word debug_sub_8011D40+1\n" " .word debug_sub_8010CAC+1\n" - " .word gWindowConfig_81E6C3C\n" + " .word gWindowTemplate_81E6C3C\n" " .word gUnknown_Debug_03004370\n" " .word gUnknown_Debug_03004360\n" " .word gUnknown_Debug_030043A0\n" @@ -5837,7 +5837,7 @@ void debug_sub_8011D40() " .word +0x2000000\n" " .word 0x6004000\n" " .word 0x80000800\n" - " .word gUnknown_030042A4\n" + " .word gBattle_BG0_X\n" " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" " .word gBattle_BG1_Y\n" @@ -5910,7 +5910,7 @@ void debug_sub_8011DD4() "._776:\n" " .word 0x4000008\n" " .word 0x9803\n" - " .word gUnknown_030042A4\n" + " .word gBattle_BG0_X\n" " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" " .word gBattle_BG1_Y\n" @@ -6063,7 +6063,7 @@ void debug_sub_8011EA0() " mov r3, r8\n" " bl Text_InitWindow\n" " ldr r0, ._823 + 8\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r1, ._823 + 12\n" " mov sl, r1\n" " lsl r4, r7, #0x1\n" @@ -6092,7 +6092,7 @@ void debug_sub_8011EA0() " add r1, r6, #0\n" " bl Text_InitWindow\n" " ldr r0, ._823 + 8\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " mov r0, #0xff\n" " strb r0, [r6]\n" " ldrb r0, [r5]\n" @@ -6115,7 +6115,7 @@ void debug_sub_8011EA0() " mov r3, r8\n" " bl Text_InitWindow\n" " ldr r0, ._823 + 8\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " b ._848\n" "._824:\n" " .align 2, 0\n" @@ -6173,7 +6173,7 @@ void debug_sub_8011EA0() " mov r1, sl\n" " bl Text_InitWindow\n" " add r0, r6, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " lsl r4, r7, #0x1\n" " ldr r5, ._830 + 12\n" " ldrb r0, [r5]\n" @@ -6201,7 +6201,7 @@ void debug_sub_8011EA0() " mov r1, sl\n" " bl Text_InitWindow\n" " add r0, r6, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " mov r0, #0xff\n" " mov r1, sl\n" " strb r0, [r1]\n" @@ -6252,7 +6252,7 @@ void debug_sub_8011EA0() " add r0, r6, #0\n" " bl Text_InitWindow\n" " add r0, r6, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " b ._848\n" "._834:\n" " .align 2, 0\n" @@ -6284,7 +6284,7 @@ void debug_sub_8011EA0() " add r1, r6, #0\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " mov r4, #0x0\n" " ldr r3, ._839 + 12\n" " lsl r1, r7, #0x1\n" @@ -6366,7 +6366,7 @@ void debug_sub_8011EA0() " add r1, r6, #0\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " b ._848\n" "._850:\n" " .align 2, 0\n" @@ -6408,7 +6408,7 @@ void debug_sub_8011EA0() " add r1, r6, #0\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" "._848:\n" " add sp, sp, #0xc\n" " pop {r3, r4, r5}\n" @@ -6478,7 +6478,7 @@ void debug_sub_8012294() " mov r1, r9\n" " bl Text_InitWindow\n" " mov r0, sl\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldrb r4, [r7]\n" " lsl r4, r4, #0x1\n" " add r0, r5, #0\n" @@ -6515,7 +6515,7 @@ void debug_sub_8012294() " mov r1, r9\n" " bl Text_InitWindow\n" " mov r0, sl\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " mov r0, #0xff\n" " mov r1, r9\n" " strb r0, [r1]\n" @@ -6555,7 +6555,7 @@ void debug_sub_8012294() " mov r1, r9\n" " bl Text_InitWindow\n" " mov r0, sl\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" "._853:\n" " add sp, sp, #0x4\n" " pop {r3, r4, r5}\n" @@ -6616,7 +6616,7 @@ void debug_sub_80123D8() " add r3, r7, #0\n" " bl Text_InitWindow\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " lsl r5, r5, #0x1\n" " ldr r1, ._858 + 12\n" " ldrb r0, [r1]\n" @@ -6648,7 +6648,7 @@ void debug_sub_80123D8() " add r3, r7, #0\n" " bl Text_InitWindow\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " mov r0, #0x0\n" " mov r1, #0x12\n" " bl debug_sub_8010A7C\n" @@ -6663,7 +6663,7 @@ void debug_sub_80123D8() " mov r3, sl\n" " bl Text_InitWindow\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r1, ._858 + 12\n" " ldrb r0, [r1]\n" " mov r2, #0x46\n" @@ -6693,7 +6693,7 @@ void debug_sub_80123D8() " mov r3, sl\n" " bl Text_InitWindow\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " b ._857\n" "._859:\n" " .align 2, 0\n" @@ -6720,7 +6720,7 @@ void debug_sub_80123D8() " add r1, r6, #0\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldrh r2, [r4, #0x6]\n" " ldrb r3, [r4, #0x8]\n" " ldrb r0, [r4, #0xa]\n" @@ -6729,7 +6729,7 @@ void debug_sub_80123D8() " add r1, r6, #0\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" "._857:\n" " add sp, sp, #0x4\n" " pop {r3, r4, r5}\n" @@ -6783,7 +6783,7 @@ void debug_sub_8012540() " add r1, r5, #0\n" " bl Text_InitWindow\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " add sp, sp, #0x4\n" " pop {r4, r5, r6}\n" " pop {r0}\n" @@ -7130,8 +7130,8 @@ void debug_sub_8012688() " .word 0x40000d4\n" " .word 0x85006000\n" " .word 0x400004c\n" - " .word gWindowConfig_81E6C58\n" - " .word gUnknown_030042A4\n" + " .word gWindowTemplate_81E6C58\n" + " .word gBattle_BG0_X\n" " .word gBattle_BG0_Y\n" " .word gBattle_BG1_X\n" " .word gBattle_BG1_Y\n" @@ -7213,7 +7213,7 @@ void debug_sub_80128B4() " mov r3, #0x2\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r6, ._878 + 8\n" " ldrh r1, [r6]\n" " add r0, r4, #0\n" @@ -7239,7 +7239,7 @@ void debug_sub_80128B4() " mov r3, #0x2\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " add sp, sp, #0x4\n" " pop {r3}\n" " mov r8, r3\n" @@ -7284,7 +7284,7 @@ void debug_sub_8012938() " mov r3, #0x2\n" " bl Text_InitWindow\n" " add r0, r6, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r1, ._880 + 8\n" " add r0, r4, #0\n" " bl StringCopy\n" @@ -7308,7 +7308,7 @@ void debug_sub_8012938() " mov r3, #0x2\n" " bl Text_InitWindow\n" " add r0, r6, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r2, ._880 + 20\n" " ldr r1, ._880 + 24\n" " lsl r0, r5, #0x2\n" @@ -7624,7 +7624,7 @@ void debug_sub_8012B70() " mov r3, #0x1a\n" " bl Text_InitWindow\n" " add r0, r5, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " strh r6, [r4, #0xe]\n" " mov r0, #0x0\n" " bl debug_sub_8012B2C\n" @@ -7670,7 +7670,7 @@ void debug_sub_8012C08() " mov r3, #0x2\n" " bl Text_InitWindow\n" " add r0, r7, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " mov r0, #0x0\n" " mov r1, #0x7\n" " bl debug_sub_8010A7C\n" @@ -7682,7 +7682,7 @@ void debug_sub_8012C08() " mov r3, #0x2\n" " bl Text_InitWindow\n" " add r0, r7, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0x18\n" @@ -7733,7 +7733,7 @@ void debug_sub_8012C08() " add r5, r4, #0\n" " ldr r4, ._907 + 8\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r1, ._907 + 12\n" " mov r2, #0xa4\n" " lsl r2, r2, #0x2\n" @@ -7743,7 +7743,7 @@ void debug_sub_8012C08() " mov r3, #0x1a\n" " bl Text_InitWindow\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r1, ._907\n" " add r0, r5, r6\n" " lsl r0, r0, #0x3\n" @@ -7818,7 +7818,7 @@ void debug_sub_8012D10() " mov r3, #0x13\n" " bl Text_InitWindow\n" " add r0, r4, #0\n" - " bl sub_8002F44\n" + " bl Text_PrintWindow8002F44\n" " ldr r1, ._920 + 8\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 8ece4ebec..321627a10 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -319,7 +319,7 @@ void debug_sub_80B0770() " .align 2, 0\n" "._30:\n" " .word gPlayerAvatar\n" - " .word gUnknown_0202FF84\n" + " .word gFieldEffectArguments\n" "._27:\n" " bl CloseMenu\n" "._29:\n" @@ -382,7 +382,7 @@ void debug_sub_80B07DC() "._37:\n" " .align 2, 0\n" "._36:\n" - " .word sub_80FC074+1\n" + " .word CB2_InitFlyRegionMap+1\n" "\n" ); } @@ -412,7 +412,7 @@ void debug_sub_80B0800() "._40:\n" " .align 2, 0\n" "._39:\n" - " .word gUnknown_0202FF84\n" + " .word gFieldEffectArguments\n" "\n" ); } diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index 766137871..53c6394ba 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -419,7 +419,7 @@ void debug_sub_808F648() " bl debug_sub_808F6BC\n" " b ._40\n" "._32:\n" - " bl ProcessMenuInputNoWrap_\n" + " bl Menu_ProcessInputNoWrap_\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x1\n" @@ -998,7 +998,7 @@ void debug_sub_808FA88() " cmp r1, #0x21\n" " bls ._87 @cond_branch\n" " add r0, r7, #0\n" - " bl sub_80BFB54\n" + " bl GetTVChannelByShowType\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " add r1, r0, #0\n" diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index e4ae404e2..321bbb951 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -949,7 +949,7 @@ void DebugMenu_807706C() "._114:\n" " .align 2, 0\n" "._113:\n" - " .word gWindowConfig_81E6CE4\n" + " .word gWindowTemplate_81E6CE4\n" " .word gCallback_03004AE8\n" " .word DebugMenu_807709C+1\n" "\n" @@ -1893,7 +1893,7 @@ void DebugMenu_Teleport() { asm( " push {lr}\n" - " bl sub_8053570\n" + " bl Overworld_SetWarpDestToLastHealLoc\n" " bl sub_8080E88\n" " bl ScriptContext2_Enable\n" " bl CloseMenu\n" @@ -2384,7 +2384,7 @@ void DebugMenu_8077974() " asr r1, r1, #0x18\n" " lsl r1, r1, #0x10\n" " lsr r1, r1, #0x10\n" - " bl sub_8082C0C\n" + " bl DoesSomeoneWantRematchIn\n" " cmp r0, #0\n" " beq ._228 @cond_branch\n" " ldr r0, ._230 + 12\n" @@ -5977,7 +5977,7 @@ void DebugMenu_8079058() "._618:\n" " .word gDebug0x839C60C\n" "._612:\n" - " bl ProcessMenuInputNoWrap_\n" + " bl Menu_ProcessInputNoWrap_\n" " lsl r0, r0, #0x18\n" " asr r1, r0, #0x18\n" " mov r0, #0x2\n" @@ -6082,7 +6082,7 @@ void DebugMenu_8079110() "._639:\n" " .word gDebug0x839C60C+0xe\n" "._635:\n" - " bl MenuUpdateWindowText\n" + " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " beq ._642 @cond_branch\n" diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index ce1cc47ee..842837b18 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -41,7 +41,7 @@ void TayaDebugMenu_Trend() " strb r1, [r0]\n" " ldrh r1, [r5, #0x4]\n" " add r0, r6, #0\n" - " bl sub_80EB3FC\n" + " bl EasyChat_GetWordText\n" " mov r0, sl\n" " add r1, r6, #0\n" " mov r2, #0x0\n" @@ -50,7 +50,7 @@ void TayaDebugMenu_Trend() " add r4, r0, #0\n" " ldrh r1, [r5, #0x6]\n" " add r0, r6, #0\n" - " bl sub_80EB3FC\n" + " bl EasyChat_GetWordText\n" " add r0, r4, #0\n" " add r1, r6, #0\n" " mov r2, #0x0\n" @@ -1995,7 +1995,7 @@ void debug_sub_80915BC() "._173:\n" " .align 2, 0\n" "._172:\n" - " .word gWindowConfig_81E7224\n" + " .word gWindowTemplate_81E7224\n" " .word gUnknown_Debug_083C517C\n" " .word +0x2000000\n" " .word debug_sub_8091320+1\n" diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index a217a0258..dfb92feb9 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -356,7 +356,7 @@ void debug_sub_813C5B4() " .word gOtherText_DataCannotUseVersion+0x331\n" " .word gOtherText_DataCannotUseVersion+0x30d\n" " .word gOtherText_DataCannotUseVersion+0x861\n" - " .word gFlashSectors+0x8\n" + " .word sUnusedFlashSectors+0x8\n" " .word 0xfff\n" " .word 0x52f\n" "\n" @@ -417,8 +417,8 @@ void debug_sub_813C638() " .align 2, 0\n" "._25:\n" " .word 0x270f\n" - " .word gFlashSectors+0xc\n" - " .word gFlashSectors+0x14\n" + " .word sUnusedFlashSectors+0xc\n" + " .word sUnusedFlashSectors+0x14\n" "\n" ); } @@ -588,7 +588,7 @@ void debug_sub_813C740() " .word gOtherText_DataCannotUseVersion+0x99e\n" " .word gOtherText_DataCannotUseVersion+0xa4a\n" " .word gEnemyParty\n" - " .word gFlashSectors+0x4\n" + " .word sUnusedFlashSectors+0x4\n" " .word gOtherText_DataCannotUseVersion+0x9c2\n" " .word gOtherText_DataCannotUseVersion+0xa26\n" "\n" @@ -788,7 +788,7 @@ void debug_sub_813C93C() "._37:\n" " .word gOtherText_DataCannotUseVersion+0xa4a\n" " .word gOtherText_DataCannotUseVersion+0xb61\n" - " .word gFlashSectors+0x24\n" + " .word sUnusedFlashSectors+0x24\n" " .word 0x270f\n" " .word gOtherText_DataCannotUseVersion+0xa61\n" "\n" diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 731e58986..7288f602e 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -142,8 +142,8 @@ void debug_80C35DC() " .word 0x81000800\n" " .word stru_83F8828\n" " .word stru_83F8838\n" - " .word gWindowConfig_81E6C3C\n" - " .word gWindowConfig_81E6CE4\n" + " .word gWindowTemplate_81E6C3C\n" + " .word gWindowTemplate_81E6CE4\n" "\n" ); } diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 522a185c8..8f280dc18 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -363,7 +363,7 @@ void debug_sub_815D04C() " mov r1, #0x4\n" " mov r2, #0xd\n" " mov r3, #0x7\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " ldr r1, ._125 + 4\n" " mov r2, #0xa\n" " ldsh r0, [r4, r2]\n" @@ -372,7 +372,7 @@ void debug_sub_815D04C() " ldr r0, [r0]\n" " mov r1, #0x5\n" " mov r2, #0x5\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldrh r0, [r4, #0x8]\n" " add r0, r0, #0x1\n" " strh r0, [r4, #0x8]\n" @@ -397,9 +397,9 @@ void debug_sub_815D04C() " .align 2, 0\n" "._125:\n" " .word gTasks\n" - " .word gFlashSectors+0x9c\n" + " .word sUnusedFlashSectors+0x9c\n" " .word gMain\n" - " .word gFlashSectors+0x11c\n" + " .word sUnusedFlashSectors+0x11c\n" "._123:\n" " sub r0, r1, #1\n" "._124:\n" @@ -435,7 +435,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._130:\n" " .word gTasks\n" - " .word gFlashSectors+0x11c\n" + " .word sUnusedFlashSectors+0x11c\n" "._128:\n" " ldrh r0, [r4, #0xa]\n" " add r0, r0, #0x1\n" @@ -481,7 +481,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._133:\n" " .word gTasks\n" - " .word gFlashSectors+0x9c\n" + " .word sUnusedFlashSectors+0x9c\n" " .word +0x2004000\n" " .word 0x43c\n" "\n" @@ -554,7 +554,7 @@ void debug_sub_815D1D8() " mov r1, #0xe\n" " mov r2, #0x1b\n" " mov r3, #0x13\n" - " bl MenuDrawTextWindow\n" + " bl Menu_DrawStdWindowFrame\n" " mov r0, #0x1\n" " neg r0, r0\n" " mov r1, #0x0\n" @@ -606,7 +606,7 @@ void debug_sub_815D1D8() " .word gUnknown_0841192C+0x14\n" " .word 0x43c\n" "._144:\n" - " bl MenuUpdateWindowText\n" + " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._163 @cond_branch\n" @@ -655,7 +655,7 @@ void debug_sub_815D1D8() " .word 0x43c\n" " .word gUnknown_0841192C+0x28\n" "._146:\n" - " bl MenuUpdateWindowText\n" + " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._173 @cond_branch\n" @@ -696,7 +696,7 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._149:\n" - " bl MenuUpdateWindowText\n" + " bl Menu_UpdateWindowText\n" " bl sub_8007ECC\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" @@ -730,11 +730,11 @@ void debug_sub_815D1D8() " mov r1, #0xf\n" " mov r2, #0x1a\n" " mov r3, #0x12\n" - " bl MenuFillWindowRectWithBlankTile\n" + " bl Menu_BlankWindowRect\n" " ldr r0, ._190 + 4\n" " mov r1, #0x4\n" " mov r2, #0xf\n" - " bl MenuPrint\n" + " bl Menu_PrintText\n" " ldr r1, ._190 + 8\n" " ldr r2, ._190 + 12\n" " add r1, r1, r2\n" diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index a11e1b3e3..df4ab4f76 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -789,7 +789,7 @@ void debug_sub_806F9E4() mov r1, #0x9\n\ mov r2, #0x1d\n\ mov r3, #0x13\n\ - bl MenuDrawTextWindow\n\ + bl Menu_DrawStdWindowFrame\n\ add r4, r6, #0\n\ add r4, r4, #0x50\n\ bl RtcGetErrorStatus\n\ @@ -803,23 +803,23 @@ void debug_sub_806F9E4() add r0, r4, #0\n\ mov r1, #0x2\n\ mov r2, #0xa\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158\n\ mov r1, #0xc\n\ mov r2, #0xc\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158 + 4\n\ mov r1, #0x14\n\ mov r2, #0xc\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158 + 8\n\ mov r1, #0x1\n\ mov r2, #0xe\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r0, ._158 + 12\n\ mov r1, #0x1\n\ mov r2, #0x10\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ._151:\n\ ldrh r0, [r5]\n\ add r0, r0, #0x1\n\ @@ -868,19 +868,19 @@ void debug_sub_806F9E4() add r0, r6, #0\n\ mov r1, #0x14\n\ mov r2, #0xe\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ mov r0, r9\n\ mov r1, #0xc\n\ mov r2, #0xe\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ mov r0, sl\n\ mov r1, #0x14\n\ mov r2, #0x10\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ mov r0, r8\n\ mov r1, #0xc\n\ mov r2, #0x10\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ._160:\n\ ldrh r1, [r5, #0x2]\n\ mov r2, #0x2\n\ diff --git a/src/engine/save.c b/src/engine/save.c index e1fb47dcc..1245d0a62 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -731,7 +731,7 @@ void sub_813B79C() " .align 2, 0\n" "._163:\n" " .word +0x2000000\n" - " .word gSaveSectionLocations\n" + " .word sSaveBlockChunks\n" " .word 0xff4\n" " .word 0xff6\n" " .word gHallOfFameSaveSectionLocations\n" @@ -892,7 +892,7 @@ u8 Save_LoadGameData(u8 saveType) return result; } -static const u8 sUnusedFlashSectors[] = { 30, 31 }; +const u8 sUnusedFlashSectors[] = { 30, 31 }; bool8 unref_sub_8125F4C(struct UnkSaveSection *a1) { diff --git a/src/field/berry_tag_screen.c b/src/field/berry_tag_screen.c index a05d9bf87..56d578464 100644 --- a/src/field/berry_tag_screen.c +++ b/src/field/berry_tag_screen.c @@ -42,7 +42,7 @@ extern u8 gBerryCheck_Pal[]; extern u8 gUnknown_08E788E4[]; extern u8 gUnknown_08E78A84[]; -static const u8 *const gUnknown_0841192C[] = +const u8 *const gUnknown_0841192C[] = { ContestStatsText_VerySoft, ContestStatsText_Soft, diff --git a/src/field/choose_party.c b/src/field/choose_party.c index 8a54b0ad0..b108ede5a 100644 --- a/src/field/choose_party.c +++ b/src/field/choose_party.c @@ -601,7 +601,7 @@ void debug_sub_81381B4() " add r2, r4, #0\n" " bl GetMonData\n" " add r0, r4, #0\n" - " bl StripExtCtrlCodes\n" + " bl Text_StripExtCtrlCodes\n" " add r0, r5, #0\n" " mov r1, #0x3\n" " bl GetMonData\n" diff --git a/src/field/field_weather.c b/src/field/field_weather.c index 97eba16e0..1a4985892 100644 --- a/src/field/field_weather.c +++ b/src/field/field_weather.c @@ -1256,7 +1256,7 @@ u8 debug_sub_8085564(void) mov r1, #0x1\n\ mov r2, #0x1c\n\ mov r3, #0x2\n\ - bl MenuFillWindowRectWithBlankTile\n\ + bl Menu_BlankWindowRect\n\ ldr r1, ._380\n\ ldr r0, ._380 + 4\n\ ldrb r0, [r0]\n\ @@ -1265,7 +1265,7 @@ u8 debug_sub_8085564(void) ldr r0, [r0]\n\ mov r1, #0x17\n\ mov r2, #0x1\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ._377:\n\ ldr r0, ._380 + 8\n\ ldrh r1, [r0, #0x2e]\n\ @@ -1313,7 +1313,7 @@ u8 debug_sub_808560C(void) mov r1, #0x1\n\ mov r2, #0x1c\n\ mov r3, #0x2\n\ - bl MenuFillWindowRectWithBlankTile\n\ + bl Menu_BlankWindowRect\n\ ldr r1, ._384 + 8\n\ ldrb r0, [r4]\n\ lsl r0, r0, #0x2\n\ @@ -1321,7 +1321,7 @@ u8 debug_sub_808560C(void) ldr r0, [r0]\n\ mov r1, #0x17\n\ mov r2, #0x1\n\ - bl MenuPrint\n\ + bl Menu_PrintText\n\ ldr r1, ._384 + 12\n\ ldr r0, ._384 + 16\n\ str r0, [r1]\n\ @@ -1333,7 +1333,7 @@ u8 debug_sub_808560C(void) .align 2, 0\n\ ._384:\n\ .word gUnknown_0202FF58+0x2\n\ - .word gUnknown_0202F7E8\n\ + .word gWeather\n\ .word gDebugText_Weather\n\ .word gCallback_03004AE8\n\ .word debug_sub_8085564+1"); diff --git a/src/field/item_menu.c b/src/field/item_menu.c index 125edfef2..ce1f18cdb 100644 --- a/src/field/item_menu.c +++ b/src/field/item_menu.c @@ -483,7 +483,7 @@ static bool8 SetupBagMultistep(void) bl ResetSpriteData\n\ b ._61\n\ ._14:\n\ - bl sub_80A3520\n\ + bl LoadBagGraphicsMultistep\n\ lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._37 @cond_branch\n\ @@ -500,12 +500,12 @@ static bool8 SetupBagMultistep(void) .word 0x43c\n\ ._15:\n\ ldr r0, ._43\n\ - bl SetUpWindowConfig\n\ + bl Text_LoadWindowTemplate\n\ b ._61\n\ ._44:\n\ .align 2, 0\n\ ._43:\n\ - .word gWindowConfig_81E6DFC\n\ + .word gWindowTemplate_81E6DFC\n\ ._16:\n\ ldr r0, ._46\n\ bl MultistepInitMenuWindowBegin\n\ @@ -516,7 +516,7 @@ static bool8 SetupBagMultistep(void) ._47:\n\ .align 2, 0\n\ ._46:\n\ - .word gWindowConfig_81E6DFC\n\ + .word gWindowTemplate_81E6DFC\n\ .word gMain\n\ .word 0x43c\n\ ._17:\n\ @@ -578,7 +578,7 @@ static bool8 SetupBagMultistep(void) ._54:\n\ .align 2, 0\n\ ._53:\n\ - .word gUnknown_03000701\n\ + .word sReturnLocation\n\ .word gMain\n\ .word 0x43c\n\ ._19:\n\ @@ -595,15 +595,15 @@ static bool8 SetupBagMultistep(void) bl sub_80A39B8\n\ ldrb r1, [r5]\n\ add r0, r4, #0\n\ - bl sub_80A3AC0\n\ - bl sub_80A3D08\n\ + bl DrawPocketIndicatorDots\n\ + bl UpdateAllBagPockets\n\ ldr r4, ._56 + 12\n\ ldr r0, [r4, #0x10]\n\ ldr r1, [r4, #0x14]\n\ - bl sub_80A3C34\n\ + bl SortItemSlots\n\ ldr r0, [r4, #0x18]\n\ ldr r1, [r4, #0x1c]\n\ - bl sub_80A3C34\n\ + bl SortItemSlots\n\ bl sub_80A3D40\n\ ldr r1, ._56 + 16\n\ mov r0, #0x0\n\ @@ -619,9 +619,9 @@ static bool8 SetupBagMultistep(void) ._56:\n\ .word gUnknown_0203855A\n\ .word gBGTilemapBuffers+0x1000\n\ - .word gUnknown_02038559\n\ + .word sCurrentBagPocket\n\ .word gBagPockets\n\ - .word gUnknown_03005D24\n\ + .word gCurrentBagPocketItemSlots\n\ ._20:\n\ ldr r0, ._59\n\ mov r1, #0x0\n\ @@ -659,9 +659,9 @@ static bool8 SetupBagMultistep(void) .align 2, 0\n\ ._59:\n\ .word 0xffff\n\ - .word gUnknown_03005D10\n\ - .word gUnknown_02038559\n\ - .word gUnknown_03005D24\n\ + .word gBagPocketScrollStates\n\ + .word sCurrentBagPocket\n\ + .word gCurrentBagPocketItemSlots\n\ .word gUnknown_0203855B\n\ .word gUnknown_0203855C\n\ .word gMain\n\ diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 1bce9bc3f..91165a2ee 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -293,7 +293,7 @@ void debug_sub_810B32C() " lsr r2, r0, #0x18\n" " cmp r2, #0x7\n" " bls ._31 @cond_branch\n" - " bl sub_80F7A6C\n" + " bl SetupHipster\n" " mov r2, #0x0\n" " ldr r3, ._34\n" "._32:\n" @@ -313,13 +313,13 @@ void debug_sub_810B32C() "._34:\n" " .word gSaveBlock1+0x2d8c\n" "._27:\n" - " bl sub_80F7A98\n" + " bl SetupTrader\n" " b ._37\n" "._28:\n" - " bl sub_80F7A7C\n" + " bl SetupStoryteller\n" " b ._37\n" "._29:\n" - " bl sub_80F7A88\n" + " bl SetupGiddy\n" "._37:\n" " bl sub_80F83D0\n" " add sp, sp, #0x8\n" @@ -1313,7 +1313,7 @@ static void PrintStoryList(void) Menu_PrintText(gPCText_Cancel, 1, 2 + i * 2); } -static u8 gUnknown_03000748; +u8 gUnknown_03000748; static void Task_StoryListMenu(u8 taskId) { diff --git a/src/field/region_map.c b/src/field/region_map.c index 3bd64a8a0..d6ebf0b9f 100644 --- a/src/field/region_map.c +++ b/src/field/region_map.c @@ -289,7 +289,7 @@ static void SpriteCB_PlayerIconZoomedIn(struct Sprite *); const u8 *GetMapSectionName(u8 *, u16, u16); static void VBlankCB_FlyRegionMap(void); static void CB2_FlyRegionMap(void); -static void sub_80FC244(void (*func)(void)); +void sub_80FC244(void (*func)(void)); static void PrintFlyTargetName(void); static void CreateFlyTargetGraphics(void); static void CreateCityTownFlyTargetIcons(void); @@ -297,7 +297,7 @@ static void CreateSpecialAreaFlyTargetIcons(void); static void SpriteCB_FlyTargetIcons(struct Sprite *); static void sub_80FC5B4(void); static void sub_80FC600(void); -static void sub_80FC69C(void); +void sub_80FC69C(void); void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed) { @@ -1420,7 +1420,7 @@ struct UnknownStruct4 static const u8 *const sEverGrandeCityAreaNames[] = {OtherText_PokeLeague, OtherText_PokeCenter}; -static const struct UnknownStruct4 sUnknown_083E79C0[1] = +const struct UnknownStruct4 gUnknown_083E79C0[1] = { {sEverGrandeCityAreaNames, MAPSEC_EVER_GRANDE_CITY, FLAG_SYS_POKEMON_LEAGUE_FLY}, }; @@ -1598,7 +1598,7 @@ static void CB2_FlyRegionMap(void) BuildOamBuffer(); } -static void sub_80FC244(void (*func)(void)) +void sub_80FC244(void (*func)(void)) { ewram0_3.unk0 = func; ewram0_3.unk4 = 0; @@ -1611,9 +1611,9 @@ static void PrintFlyTargetName(void) u16 i = 0; int zero; - for (i = 0; i < ARRAY_COUNT(sUnknown_083E79C0); i++) + for (i = 0; i < ARRAY_COUNT(gUnknown_083E79C0); i++) { - const struct UnknownStruct4 *r4 = &sUnknown_083E79C0[i]; + const struct UnknownStruct4 *r4 = &gUnknown_083E79C0[i]; if (ewram0_3.regionMap.mapSectionId == r4->mapSectionId) { @@ -1796,7 +1796,7 @@ static void sub_80FC600(void) } } -static void sub_80FC69C(void) +void sub_80FC69C(void) { switch (ewram0_3.unk4) { diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index d84a6e592..c4a4128b3 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -64,7 +64,7 @@ static bool8 sub_8102008(struct Task *task); static bool8 sub_8102034(struct Task *task); static bool8 sub_8102058(struct Task *task); static bool8 sub_8102090(struct Task *task); -static bool8 sub_81020C8(struct Task *task); +bool8 sub_81020C8(struct Task *task); static bool8 sub_81021E0(struct Task *task); static bool8 sub_81021FC(struct Task *task); static bool8 sub_8102264(struct Task *task); @@ -244,7 +244,7 @@ void PlaySlotMachine(u8 arg0, MainCallback cb) ldr r3, ._1\n\ mov r2, #0x0\n\ strb r2, [r3]\n\ - bl sub_81019B0\n\ + bl PlaySlotMachine_Internal\n\ ldr r0, ._1 + 4\n\ bl SetMainCallback2\n\ pop {r0}\n\ @@ -253,7 +253,7 @@ void PlaySlotMachine(u8 arg0, MainCallback cb) .align 2, 0\n\ ._1:\n\ .word unk_debug_bss_1+0x1\n\ - .word sub_81018B8+1"); + .word CB2_SlotMachineSetup+1"); } #else void PlaySlotMachine(u8 arg0, MainCallback cb) @@ -274,7 +274,7 @@ void debug_sub_811609C() ldr r3, ._3\n\ mov r2, #0x1\n\ strb r2, [r3]\n\ - bl sub_81019B0\n\ + bl PlaySlotMachine_Internal\n\ ldr r0, ._3 + 4\n\ bl SetMainCallback2\n\ pop {r0}\n\ @@ -283,7 +283,7 @@ void debug_sub_811609C() .align 2, 0\n\ ._3:\n\ .word unk_debug_bss_1+0x1\n\ - .word sub_81018B8+1"); + .word CB2_SlotMachineSetup+1"); } #endif @@ -1412,7 +1412,7 @@ static bool8 sub_8102090(struct Task *task) #if DEBUG __attribute__((naked)) -static bool8 sub_81020C8(struct Task *task) +bool8 sub_81020C8(struct Task *task) { asm("\ push {r4, lr}\n\ @@ -1421,7 +1421,7 @@ static bool8 sub_81020C8(struct Task *task) mov r0, #0xc0\n\ and r0, r0, r1\n\ strb r0, [r4, #0x4]\n\ - bl sub_81027A0\n\ + bl CheckMatch\n\ ldrb r0, [r4, #0xa]\n\ cmp r0, #0\n\ beq ._163 @cond_branch\n\ @@ -1570,7 +1570,7 @@ static bool8 sub_81020C8(struct Task *task) .word 0x270f"); } #else -static bool8 sub_81020C8(struct Task *task) +bool8 sub_81020C8(struct Task *task) { eSlotMachine->unk04 &= 0xc0; CheckMatch(); diff --git a/src/field/start_menu.c b/src/field/start_menu.c index 1e4eace87..17aeb8242 100644 --- a/src/field/start_menu.c +++ b/src/field/start_menu.c @@ -255,7 +255,7 @@ void debug_sub_8075C40() " .word 0x4000108\n" " .word 0xc34f\n" " .word 0x40000b0\n" - " .word gUnknown_03004DE0\n" + " .word gScanlineEffectRegBuffers\n" " .word 0xc5ff\n" " .word 0x7fff\n" " .word 0x4000040\n" diff --git a/src/pokemon/pokedex.c b/src/pokemon/pokedex.c index 4fb6a4920..4f656a910 100644 --- a/src/pokemon/pokedex.c +++ b/src/pokemon/pokedex.c @@ -1273,7 +1273,7 @@ static u8 sub_8091260(u16 num, u8, u8, u8); static void sub_8091304(const u8 *name, u8, u8); static void sub_8091458(u16 height, u8 i, u8 i1); static void sub_8091564(u16 weight, u8 i, u8 i1); -static void sub_8091738(u16, u16, u16); +void sub_8091738(u16, u16, u16); static void sub_80917CC(u16 i, u16 i1); static u16 sub_8091818(u8, u16, u16, u16); u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d); @@ -4457,7 +4457,7 @@ static void sub_8091564(u16 arg0, u8 left, u8 top) } #endif -static void sub_8091738(u16 num, u16 b, u16 c) +void sub_8091738(u16 num, u16 b, u16 c) { u8 arr[0x80]; u16 i; -- cgit v1.2.3 From 73392181fe47fd0fe5ac3702978307926a442ef4 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 18:08:02 -0600 Subject: resolve more undefined references --- src/battle/battle_2.c | 26 +++++++++++++------------- src/data/pokedex_entries_de.h | 3 ++- src/data/pokedex_entries_en.h | 2 +- src/debug/nohara_debug_menu.c | 2 +- src/debug/start_menu_debug.c | 18 +++++++++--------- src/debug/taya_debug_window.c | 30 +++++++++++++++--------------- src/debug/tomomichi_debug_menu.c | 4 ++-- src/debug/watanabe_debug_menu.c | 14 +++++++------- src/engine/cable_club.c | 2 +- src/engine/link.c | 4 ++-- src/engine/reset_rtc_screen.c | 4 ++-- src/engine/save.c | 2 +- src/engine/trade.c | 2 +- src/field/berry.c | 6 +++--- src/field/field_player_avatar.c | 2 +- src/field/field_weather.c | 2 +- src/field/fldeff_secretpower.c | 2 +- src/field/item_menu.c | 2 +- src/field/mauville_man.c | 2 +- src/field/region_map.c | 4 ++-- src/field/safari_zone.c | 2 +- src/field/start_menu.c | 2 +- src/field/wild_encounter.c | 10 +++++----- src/pokemon/mail.c | 2 +- 24 files changed, 75 insertions(+), 74 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 7a819a8ef..bedcb0bb6 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -238,7 +238,7 @@ void InitBattle(void) " strh r2, [r0]\n" " ldr r0, ._10 + 16\n" " strh r1, [r0]\n" - " bl dp12_8087EA4\n" + " bl ScanlineEffect_Clear\n" " ldr r0, ._10 + 20\n" " mov r3, #0xf0\n" " mov r5, #0xf0\n" @@ -272,7 +272,7 @@ void InitBattle(void) " ldr r0, [r4]\n" " ldr r1, [r4, #0x4]\n" " ldr r2, [r4, #0x8]\n" - " bl sub_80895F8\n" + " bl ScanlineEffect_SetParams\n" " ldr r4, ._10 + 32\n" " add r0, r4, #0\n" " bl Text_LoadWindowTemplate\n" @@ -300,7 +300,7 @@ void InitBattle(void) " and r0, r0, r1\n" " cmp r0, #0\n" " bne ._7 @cond_branch\n" - " bl GetBattleTerrain\n" + " bl BattleSetup_GetTerrain\n" " ldr r1, ._10 + 72\n" " strb r0, [r1]\n" "._7:\n" @@ -341,7 +341,7 @@ void InitBattle(void) " .word 0x400004c\n" " .word 0x5051\n" " .word gBattle_WIN0H\n" - " .word gUnknown_03004240\n" + " .word gBattle_WIN0V\n" " .word gScanlineEffectRegBuffers\n" " .word gUnknown_081F9674\n" " .word 0xff10\n" @@ -2641,10 +2641,10 @@ void BattleMainCB2(void) " .align 2, 0\n" "._358:\n" " .word gMain\n" - " .word gScriptResult\n" + " .word gSpecialVar_Result\n" " .word gBattleOutcome\n" " .word 0x43d\n" - " .word gUnknown_03004DC0\n" + " .word gScanlineEffect\n" " .word gPreBattleCallback1\n" " .word gBattleTypeFlags\n" " .word sub_805465C+1\n" @@ -2684,7 +2684,7 @@ void BattleMainCB2(void) " bl debug_sub_8008264\n" "._360:\n" " ldr r0, ._361 + 4\n" - " bl sub_800374C\n" + " bl Text_UpdateWindowInBattle\n" " bl UpdatePaletteFade\n" " bl RunTasks\n" " add sp, sp, #0x4\n" @@ -3255,7 +3255,7 @@ void debug_sub_80108B8() " bl LZDecompressVram\n" " ldr r0, ._507 + 60\n" " ldr r1, ._507 + 64\n" - " bl sub_800D238\n" + " bl LZDecompressWram\n" " ldr r4, ._507 + 68\n" " mov r1, #0xa0\n" " lsl r1, r1, #0x13\n" @@ -3271,7 +3271,7 @@ void debug_sub_80108B8() " bl SetMainCallback2\n" " bl ResetTasks\n" " bl ResetSpriteData\n" - " bl remove_some_task\n" + " bl ScanlineEffect_Stop\n" " ldr r4, ._507 + 84\n" " add r0, r4, #0\n" " bl Text_LoadWindowTemplate\n" @@ -3816,7 +3816,7 @@ void debug_sub_8010CAC() "._557:\n" " .align 2, 0\n" "._556:\n" - " .word gUnknown_03005E94\n" + " .word gCB2_AfterEvolution\n" " .word debug_sub_80108B8+1\n" " .word gPlayerParty\n" "._551:\n" @@ -5902,7 +5902,7 @@ void debug_sub_8011DD4() " bl LoadOam\n" " bl ProcessSpriteCopyRequests\n" " bl TransferPlttBuffer\n" - " bl sub_8089668\n" + " bl ScanlineEffect_InitHBlankDmaTransfer\n" " pop {r0}\n" " bx r0\n" "._777:\n" @@ -7167,7 +7167,7 @@ void debug_sub_8012878() " bl AnimateSprites\n" " bl BuildOamBuffer\n" " ldr r0, ._876\n" - " bl sub_800374C\n" + " bl Text_UpdateWindowInBattle\n" " bl UpdatePaletteFade\n" " bl RunTasks\n" " ldr r0, ._876 + 4\n" @@ -9472,7 +9472,7 @@ void sub_8010874() " .align 2, 0\n" "._1215:\n" " .word gUnknown_02024C4C\n" - " .word gUnknown_02024C44\n" + " .word gLastHitByType\n" " .word gMoveHitWith\n" " .word gLastUsedMove\n" " .word gDisableStructs\n" diff --git a/src/data/pokedex_entries_de.h b/src/data/pokedex_entries_de.h index 0f64cba66..413b73d90 100644 --- a/src/data/pokedex_entries_de.h +++ b/src/data/pokedex_entries_de.h @@ -6337,7 +6337,8 @@ static const u8 DexDescription_Deoxys_2[] = _( "dieses POKéMON ist sein Gehirn."); #endif -static const struct PokedexEntry gPokedexEntries[] = { +const struct PokedexEntry gPokedexEntries[] = +{ { // Dummy .categoryName = _("UNBEKANNT"), diff --git a/src/data/pokedex_entries_en.h b/src/data/pokedex_entries_en.h index 86da3d67b..933b1fc7d 100644 --- a/src/data/pokedex_entries_en.h +++ b/src/data/pokedex_entries_en.h @@ -5389,7 +5389,7 @@ static const u8 DexDescription_Deoxys_2[] = _( "chest appears to be its brain."); #endif -static const struct PokedexEntry gPokedexEntries[] = +const struct PokedexEntry gPokedexEntries[] = { { //Dummy .categoryName = _("UNKNOWN"), diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index 53c6394ba..629b7b9eb 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -340,7 +340,7 @@ void debug_sub_808F5D8() "._29:\n" " ldr r5, ._30 + 8\n" " strh r4, [r5]\n" - " bl sub_810F424\n" + " bl GetSlotMachineId\n" " add r1, r0, #0\n" " lsl r1, r1, #0x10\n" " lsr r1, r1, #0x10\n" diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 321bbb951..b376a4076 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -46,7 +46,7 @@ void debug_sub_8076AC8() " mov r0, #0x11\n" " mov r1, #0x1\n" " add r2, r4, #0\n" - " bl PrintMenuItemsReordered\n" + " bl Menu_PrintItemsReordered\n" " mov r0, #0x0\n" " str r0, [sp]\n" " mov r0, #0xc\n" @@ -448,7 +448,7 @@ void DebugMenu_8076D50() { asm( " push {lr}\n" - " bl ClearSaveData\n" + " bl Save_EraseAllData\n" " mov r0, #0x0\n" " pop {r1}\n" " bx r1\n" @@ -1105,7 +1105,7 @@ void DebugMenu_807719C() " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x8\n" - " bl PrintMenuItemsReordered\n" + " bl Menu_PrintItemsReordered\n" " ldr r4, ._133 + 8\n" " ldrb r0, [r4]\n" " str r0, [sp]\n" @@ -1698,10 +1698,10 @@ void DebugMenu_NationalDex() " lsr r4, r4, #0x10\n" " add r0, r4, #0\n" " mov r1, #0x2\n" - " bl GetNationalPokedexFlag\n" + " bl GetSetPokedexFlag\n" " add r0, r4, #0\n" " mov r1, #0x3\n" - " bl GetNationalPokedexFlag\n" + " bl GetSetPokedexFlag\n" " cmp r4, r5\n" " bls ._177 @cond_branch\n" " ldr r1, ._178 + 4\n" @@ -1738,10 +1738,10 @@ void DebugMenu_HoennDex() " lsr r4, r4, #0x10\n" " add r0, r4, #0\n" " mov r1, #0x2\n" - " bl GetNationalPokedexFlag\n" + " bl GetSetPokedexFlag\n" " add r0, r4, #0\n" " mov r1, #0x3\n" - " bl GetNationalPokedexFlag\n" + " bl GetSetPokedexFlag\n" " cmp r5, #0xc9\n" " bls ._180 @cond_branch\n" " ldr r1, ._181\n" @@ -2356,7 +2356,7 @@ void DebugMenu_8077974() " asr r1, r1, #0x18\n" " lsl r1, r1, #0x10\n" " lsr r1, r1, #0x10\n" - " bl unref_sub_8082C2C\n" + " bl IsRematchTrainerIn\n" " cmp r0, #0\n" " beq ._224 @cond_branch\n" " ldr r0, ._226 + 4\n" @@ -4670,7 +4670,7 @@ void DebugMenu_80787EC() "._467:\n" " .align 2, 0\n" "._466:\n" - " .word gScriptResult\n" + " .word gSpecialVar_Result\n" " .word gStringVar1\n" " .word gStringVar2\n" " .word gStringVar3\n" diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index 842837b18..8b586deb2 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -893,7 +893,7 @@ void TayaDebugMenu_PKMNLottery() " .align 2, 0\n" "._83:\n" " .word +0x2000000\n" - " .word gScriptResult\n" + " .word gSpecialVar_Result\n" " .word gCallback_03004AE8\n" " .word debug_sub_8090C88+1\n" "\n" @@ -911,44 +911,44 @@ void TayaDebugMenu_Trainer() " lsl r0, r4, #0x4\n" " add r0, r0, r5\n" " ldrh r0, [r0]\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " add r0, r4, #1\n" " lsl r0, r0, #0x10\n" " lsr r4, r0, #0x10\n" " cmp r4, #0x37\n" " bls ._85 @cond_branch\n" " ldr r0, ._86 + 4\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " mov r0, #0x85\n" " lsl r0, r0, #0x1\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " ldr r0, ._86 + 8\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " mov r0, #0x86\n" " lsl r0, r0, #0x1\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " ldr r0, ._86 + 12\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " mov r0, #0x87\n" " lsl r0, r0, #0x1\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " ldr r0, ._86 + 16\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " mov r0, #0x88\n" " lsl r0, r0, #0x1\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " ldr r0, ._86 + 20\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " mov r0, #0x83\n" " lsl r0, r0, #0x1\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " ldr r0, ._86 + 24\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " mov r0, #0x84\n" " lsl r0, r0, #0x1\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " ldr r0, ._86 + 28\n" - " bl trainer_flag_set\n" + " bl SetTrainerFlag\n" " bl CloseMenu\n" " mov r0, #0x1\n" " pop {r4, r5}\n" diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 2d9074d19..28bb2717d 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -5001,7 +5001,7 @@ void debug_sub_808DABC() "._387:\n" " .align 2, 0\n" "._386:\n" - " .word gScriptResult\n" + " .word gSpecialVar_Result\n" "\n" ); } @@ -5043,7 +5043,7 @@ void debug_sub_808DAD4() " .align 2, 0\n" "._393:\n" " .word 0xffff\n" - " .word gScriptResult\n" + " .word gSpecialVar_Result\n" "\n" ); } diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 7288f602e..b0fbebac1 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -116,7 +116,7 @@ void debug_80C35DC() " str r3, [r2, #0x8]\n" " ldr r0, [r2, #0x8]\n" " bl ResetPaletteFade\n" - " bl remove_some_task\n" + " bl ScanlineEffect_Stop\n" " bl ResetTasks\n" " bl ResetSpriteData\n" " bl ResetPaletteFade\n" @@ -4289,10 +4289,10 @@ void debug_80C53F0() " lsr r4, r4, #0x10\n" " add r0, r4, #0\n" " mov r1, #0x2\n" - " bl GetNationalPokedexFlag\n" + " bl GetSetPokedexFlag\n" " add r0, r4, #0\n" " mov r1, #0x3\n" - " bl GetNationalPokedexFlag\n" + " bl GetSetPokedexFlag\n" " mov r0, #0x5\n" " bl PlaySE\n" " b ._400\n" @@ -7813,7 +7813,7 @@ void debug_80C6FA8() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x0\n" - " bl species_and_otid_get_pal\n" + " bl GetMonSpritePal\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" @@ -7832,7 +7832,7 @@ void debug_80C6FA8() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x9\n" - " bl species_and_otid_get_pal\n" + " bl GetMonSpritePal\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" @@ -9268,7 +9268,7 @@ void debug_80C7B14() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x0\n" - " bl species_and_otid_get_pal\n" + " bl GetMonSpritePal\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" @@ -9287,7 +9287,7 @@ void debug_80C7B14() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x9\n" - " bl species_and_otid_get_pal\n" + " bl GetMonSpritePal\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index c0397f67b..4063aee3a 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -407,7 +407,7 @@ void debug_sub_808A55C() .word gLinkStatus\n\ .word gLink\n\ .word gReceivedRemoteLinkPlayers\n\ - .word gScriptResult\n\ + .word gSpecialVar_Result\n\ .word gLinkCallback\n\ .word gLinkPlayers\n\ .word 0x4000128"); diff --git a/src/engine/link.c b/src/engine/link.c index 5747915d7..3bcacd12b 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -67,7 +67,7 @@ u32 sub_8007E40(void); static void SetBlockReceivedFlag(u8); static u16 LinkTestCalcBlockChecksum(void *, u16); static void PrintHexDigit(u8, u8, u8); -static void PrintHex(u32, u8, u8, u8); +void PrintHex(u32, u8, u8, u8); static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8); bool8 sub_8008224(void); @@ -961,7 +961,7 @@ static void PrintHexDigit(u8 tileNum, u8 x, u8 y) tilemap[(32 * y) + x] = (gLinkTestBGInfo.paletteNum << 12) | (tileNum + 1); } -static void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) +void PrintHex(u32 num, u8 x, u8 y, u8 maxDigits) { u8 buffer[16]; s32 i; diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index df4ab4f76..0cfa1e71a 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -691,7 +691,7 @@ void debug_sub_806F908(u8 a) ._142:\n\ ldrb r0, [r4, #0x2]\n\ bl DestroyTask\n\ - bl MenuZeroFillScreen\n\ + bl Menu_EraseScreen\n\ bl ScriptContext2_Disable\n\ add r0, r5, #0\n\ bl DestroyTask\n\ @@ -902,7 +902,7 @@ void debug_sub_806F9E4() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._165 @cond_branch\n\ - bl MenuZeroFillScreen\n\ + bl Menu_EraseScreen\n\ add r0, r7, #0\n\ bl DestroyTask\n\ bl ScriptContext2_Disable\n\ diff --git a/src/engine/save.c b/src/engine/save.c index 1245d0a62..a9945a80d 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -734,7 +734,7 @@ void sub_813B79C() " .word sSaveBlockChunks\n" " .word 0xff4\n" " .word 0xff6\n" - " .word gHallOfFameSaveSectionLocations\n" + " .word sHallOfFameChunks\n" "\n" ); } diff --git a/src/engine/trade.c b/src/engine/trade.c index e49cde6cd..715cc0377 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -4514,8 +4514,8 @@ static __attribute__((naked)) void sub_804B41C(void) } #endif -static void sub_804B790(void) // In-game trade init +void sub_804B790(void) { u8 otName[11]; switch (gMain.state) diff --git a/src/field/berry.c b/src/field/berry.c index 7c6640dc8..d6982479e 100644 --- a/src/field/berry.c +++ b/src/field/berry.c @@ -1780,7 +1780,7 @@ u8* DebugOpenBerryInfo(void) u8 berryTreeId; struct BerryTree *berryTree; - if (GetFieldObjectScriptPointerForComparison() != &BerryTreeScript) + if (GetFieldObjectScriptPointerPlayerFacing() != &S_BerryTree) return NULL; berryTreeId = FieldObjectGetBerryTreeId(gSelectedMapObject); @@ -1809,7 +1809,7 @@ void DebugOpenBerryInfo() { asm( " push {r4, r5, r6, r7, lr}\n" - " bl GetFieldObjectScriptPointerForComparison\n" + " bl GetFieldObjectScriptPointerPlayerFacing\n" " ldr r1, ._138\n" " cmp r0, r1\n" " beq ._136 @cond_branch\n" @@ -1818,7 +1818,7 @@ void DebugOpenBerryInfo() "._139:\n" " .align 2, 0\n" "._138:\n" - " .word BerryTreeScript\n" + " .word S_BerryTree\n" "._136:\n" " ldr r0, ._141\n" " ldrb r0, [r0]\n" diff --git a/src/field/field_player_avatar.c b/src/field/field_player_avatar.c index db674e52f..795a53d0b 100644 --- a/src/field/field_player_avatar.c +++ b/src/field/field_player_avatar.c @@ -1940,7 +1940,7 @@ void debug_sub_805F2DC() " .word gPlayerAvatar\n" "._429:\n" " add r0, r4, #0\n" - " bl sub_80593F4\n" + " bl PlayerGoSpeed4\n" "._430:\n" " mov r0, #0x1\n" " pop {r4}\n" diff --git a/src/field/field_weather.c b/src/field/field_weather.c index 1a4985892..4a03322d5 100644 --- a/src/field/field_weather.c +++ b/src/field/field_weather.c @@ -1308,7 +1308,7 @@ u8 debug_sub_808560C(void) add r0, r0, r1\n\ ldrb r0, [r0]\n\ strb r0, [r4]\n\ - bl MenuZeroFillScreen\n\ + bl Menu_EraseScreen\n\ mov r0, #0x16\n\ mov r1, #0x1\n\ mov r2, #0x1c\n\ diff --git a/src/field/fldeff_secretpower.c b/src/field/fldeff_secretpower.c index c200ce2f5..3f539fc6e 100644 --- a/src/field/fldeff_secretpower.c +++ b/src/field/fldeff_secretpower.c @@ -266,7 +266,7 @@ void debug_sub_80D93F4() ._99:\n\ .align 2, 0\n\ ._98:\n\ - .word gScriptResult\n\ + .word gSpecialVar_Result\n\ ._96:\n\ ldr r4, ._102\n\ add r1, r4, #2\n\ diff --git a/src/field/item_menu.c b/src/field/item_menu.c index ce1f18cdb..61774f816 100644 --- a/src/field/item_menu.c +++ b/src/field/item_menu.c @@ -436,7 +436,7 @@ static bool8 SetupBagMultistep(void) bl sub_80A34E8\n\ b ._61\n\ ._9:\n\ - bl remove_some_task\n\ + bl ScanlineEffect_Stop\n\ ldr r1, ._27\n\ ldr r0, ._27 + 4\n\ add r1, r1, r0\n\ diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 91165a2ee..51bd9bb35 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -331,7 +331,7 @@ void debug_sub_810B32C() } #endif -static u8 GetCurrentMauvilleOldMan(void) +u8 GetCurrentMauvilleOldMan(void) { struct MauvilleManCommon *common = &gSaveBlock1.mauvilleMan.common; diff --git a/src/field/region_map.c b/src/field/region_map.c index d6ebf0b9f..9194e791d 100644 --- a/src/field/region_map.c +++ b/src/field/region_map.c @@ -288,7 +288,7 @@ static void UpdateIconBlink(struct Sprite *); static void SpriteCB_PlayerIconZoomedIn(struct Sprite *); const u8 *GetMapSectionName(u8 *, u16, u16); static void VBlankCB_FlyRegionMap(void); -static void CB2_FlyRegionMap(void); +void CB2_FlyRegionMap(void); void sub_80FC244(void (*func)(void)); static void PrintFlyTargetName(void); static void CreateFlyTargetGraphics(void); @@ -1591,7 +1591,7 @@ static void VBlankCB_FlyRegionMap(void) TransferPlttBuffer(); } -static void CB2_FlyRegionMap(void) +void CB2_FlyRegionMap(void) { ewram0_3.unk0(); AnimateSprites(); diff --git a/src/field/safari_zone.c b/src/field/safari_zone.c index e9ca3a9f9..2829001f6 100644 --- a/src/field/safari_zone.c +++ b/src/field/safari_zone.c @@ -26,7 +26,7 @@ static void DecrementFeederStepCounters(void); extern u8 gBattleOutcome; EWRAM_DATA u8 gNumSafariBalls = 0; -EWRAM_DATA static u16 gSafariZoneStepCounter = 0; +EWRAM_DATA u16 gSafariZoneStepCounter = 0; EWRAM_DATA static struct PokeblockFeeder gPokeblockFeeders[NUM_POKEBLOCK_FEEDERS] = {0}; extern void (*gFieldCallback)(void); diff --git a/src/field/start_menu.c b/src/field/start_menu.c index 17aeb8242..47c7fca05 100644 --- a/src/field/start_menu.c +++ b/src/field/start_menu.c @@ -398,7 +398,7 @@ void debug_sub_8075DB4() " cmp r4, #0x2\n" " ble ._24 @cond_branch\n" " add r0, r6, #0\n" - " bl sub_8136088\n" + " bl SetEReaderTrainerChecksum\n" " pop {r4, r5, r6}\n" " pop {r0}\n" " bx r0\n" diff --git a/src/field/wild_encounter.c b/src/field/wild_encounter.c index 08913f40d..10391348d 100644 --- a/src/field/wild_encounter.c +++ b/src/field/wild_encounter.c @@ -3698,13 +3698,13 @@ const u16 gRoute119WaterTileData[] = extern u16 gSpecialVar_Result; extern u8 S_RepelWoreOff[]; -EWRAM_DATA static u8 sWildEncountersDisabled = 0; +EWRAM_DATA u8 sWildEncountersDisabled = 0; EWRAM_DATA static u32 sFeebasRngValue = 0; #define NUM_FEEBAS_SPOTS 6 -static u16 FeebasRandom(void); -static void FeebasSeedRng(u16 seed); +u16 FeebasRandom(void); +void FeebasSeedRng(u16 seed); static bool8 IsWildLevelAllowedByRepel(u8 level); static void ApplyFluteEncounterRateMod(u32 *encRate); @@ -3791,13 +3791,13 @@ static bool8 CheckFeebas(void) return FALSE; } -static u16 FeebasRandom(void) +u16 FeebasRandom(void) { sFeebasRngValue = 12345 + 0x41C64E6D * sFeebasRngValue; return sFeebasRngValue >> 16; } -static void FeebasSeedRng(u16 seed) +void FeebasSeedRng(u16 seed) { sFeebasRngValue = seed; } diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index ecff15c21..565a9861b 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -2369,7 +2369,7 @@ void debug_sub_810D388() " .word unk_debug_bss_2\n" " .word 0x43c\n" "._297:\n" - " bl remove_some_task\n" + " bl ScanlineEffect_Stop\n" " bl ResetPaletteFade\n" " ldr r0, ._302\n" " bl SetVBlankCallback\n" -- cgit v1.2.3 From 8835353325d9c7eba7664bde5d5a2d4c40c4376d Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 18:24:33 -0600 Subject: resolve more undefined references --- src/battle/battle_2.c | 6 +++--- src/engine/mystery_event_menu.c | 2 +- src/field/battle_tower.c | 2 +- src/field/trader.c | 2 +- src/pokemon/pokemon_summary_screen.c | 4 ++-- src/rom3.c | 6 +++--- src/strings.c | 14 ++++++++++---- 7 files changed, 21 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index bedcb0bb6..6d2045604 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -9473,16 +9473,16 @@ void sub_8010874() "._1215:\n" " .word gUnknown_02024C4C\n" " .word gLastHitByType\n" - " .word gMoveHitWith\n" + " .word gLastLandedMoves\n" " .word gLastUsedMove\n" " .word gDisableStructs\n" " .word gUnknown_02024C2C\n" - " .word gLockedMove\n" + " .word gLockedMoves\n" " .word gStatuses3\n" " .word gUnknown_02024C70\n" " .word gUnknown_02024C5C\n" " .word +0x2017100\n" - " .word gSideTimer\n" + " .word gSideTimers\n" " .word gSideAffecting\n" " .word gBankAttacker\n" " .word gBankTarget\n" diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 8f280dc18..656e774c5 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -465,7 +465,7 @@ void debug_sub_815D04C() " add r1, r1, r0\n" " ldr r0, ._133 + 8\n" " ldr r1, [r1]\n" - " bl gScriptFuncs_End+0x3cf8\n" + " bl gMysteryEventScriptCmdTableEnd+0x3cf8\n" " ldr r0, ._133 + 12\n" " add r1, r6, r0\n" " ldrb r0, [r1]\n" diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c index ab2a818a7..41d5ae9d1 100644 --- a/src/field/battle_tower.c +++ b/src/field/battle_tower.c @@ -259,7 +259,7 @@ static void SaveCurrentWinStreak(void); static void sub_8135CFC(void); static void CheckMonBattleTowerBanlist(u16, u16, u16, u8, u8, u16 *, u16 *, u8 *); static void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *); -static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer); +void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer); static void SetBattleTowerRecordChecksum(struct BattleTowerRecord *); static void ClearBattleTowerRecord(struct BattleTowerRecord *); diff --git a/src/field/trader.c b/src/field/trader.c index b4732ab15..2801df322 100644 --- a/src/field/trader.c +++ b/src/field/trader.c @@ -108,7 +108,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) { if (trader->unk1[i] > DECOR_REGISTEEL_DOLL) { - Menu_PrintText(gOtherText_FiveQuestionsAndSlash, 1, numDecorations * 2 + 2); + Menu_PrintText(gOtherText_FiveQuestions, 1, numDecorations * 2 + 2); } else { diff --git a/src/pokemon/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c index 7b40918e9..0102b7526 100644 --- a/src/pokemon/pokemon_summary_screen.c +++ b/src/pokemon/pokemon_summary_screen.c @@ -2576,14 +2576,14 @@ static void sub_809FC34(struct Pokemon *mon) buffer = gStringVar1; buffer = sub_80A1E58(buffer, 13); buffer = StringCopy(buffer, gOtherText_OriginalTrainer); - buffer = StringCopy(buffer, gOtherText_FiveQuestionsAndSlash); + buffer = StringCopy(buffer, gOtherText_FiveQuestions); buffer[0] = EXT_CTRL_CODE_BEGIN; buffer[1] = 0x13; buffer[2] = 0x4E; buffer[3] = EOS; Menu_PrintText(gStringVar1, 11, 4); - sub_80A1EF8(gOtherText_FiveQuestionsAndSlash, 13, 193, 32, 1); + sub_80A1EF8(gOtherText_FiveQuestions, 13, 193, 32, 1); sub_80A198C(9, 120, 48, 0); friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); diff --git a/src/rom3.c b/src/rom3.c index efaa1d97f..34746c1a8 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -101,9 +101,9 @@ void setup_poochyena_battle(void) #if DEBUG if (gUnknown_02023A14_50 & 0x80) { - ewram[0x160fd] = 0; - ewram[0x160fe] = 0; - ewram[0x160ff] = 0; + gSharedMem[0x160fd] = 0; + gSharedMem[0x160fe] = 0; + gSharedMem[0x160ff] = 0; ((u32 *) gBattleBuffersTransferData)[64]++; } #endif diff --git a/src/strings.c b/src/strings.c index 06bbadb8f..0f599db72 100644 --- a/src/strings.c +++ b/src/strings.c @@ -173,7 +173,8 @@ const u8 gOtherText_None[] = _("NONE"); const u8 gOtherText_ThreeQuestions2[] = _("???"); -const u8 gOtherText_FiveQuestionsAndSlash[] = _("?????$/"); +const u8 gOtherText_FiveQuestions[] = _("?????"); +const u8 gOtherText_Slash[] = _("/"); const u8 gOtherText_OneDash[] = _("-"); const u8 gOtherText_TwoDashes[] = _("--"); @@ -267,7 +268,9 @@ const u8 gContestStatsText_Spicy[] = _("SPICY"); const u8 gContestStatsText_Dry[] = _("DRY"); const u8 gContestStatsText_Sweet[] = _("SWEET"); const u8 gContestStatsText_Bitter[] = _("BITTER"); -const u8 gContestStatsText_Sour[] = _("SOUR$TASTY$FEEL"); // tasty is unused, feel might not be +const u8 gContestStatsText_Sour[] = _("SOUR"); +const u8 gContestStatsText_Tasty[] = _("TASTY"); +const u8 gContestStatsText_Feel[] = _("FEEL"); const u8 gContestStatsText_StowCase[] = _("Stow CASE."); const u8 gContestStatsText_ThrowAwayPrompt[] = _("Throw away this\n{STR_VAR_1}?"); @@ -1096,7 +1099,8 @@ const u8 gOtherText_None[] = _("KEINES"); const u8 gOtherText_ThreeQuestions2[] = _("???"); -const u8 gOtherText_FiveQuestionsAndSlash[] = _("?????$/"); +const u8 gOtherText_FiveQuestions[] = _("?????"); +const u8 gOtherText_Slash[] = _("/"); const u8 gOtherText_OneDash[] = _("-"); const u8 gOtherText_TwoDashes[] = _("--"); @@ -1190,7 +1194,9 @@ const u8 gContestStatsText_Spicy[] = _("SCHARF"); const u8 gContestStatsText_Dry[] = _("TROCKEN"); const u8 gContestStatsText_Sweet[] = _("SÜSS"); const u8 gContestStatsText_Bitter[] = _("BITTER"); -const u8 gContestStatsText_Sour[] = _("SAUER$LECKER$WÜRZE"); +const u8 gContestStatsText_Sour[] = _("SAUER"); +const u8 gContestStatsText_Tasty[] = _("LECKER"); +const u8 gContestStatsText_Feel[] = _("WÜRZE"); const u8 gContestStatsText_StowCase[] = _("BOX verstauen."); const u8 gContestStatsText_ThrowAwayPrompt[] = _("{STR_VAR_1}\nwegwerfen?"); -- cgit v1.2.3 From a02a85f477cbf44aa0370de8f40bd8ced77513c2 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 18:56:16 -0600 Subject: get nonmatching debug rom to build --- src/field/field_map_obj.c | 3 + src/field/item_menu.c | 18 ++++ src/field/mauville_man.c | 197 +++++++++++++++++++++++++++++++++++++++++++- src/pokemon/mail.c | 205 ++-------------------------------------------- 4 files changed, 222 insertions(+), 201 deletions(-) (limited to 'src') diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c index 1c0cefacb..c255d3013 100644 --- a/src/field/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -1907,6 +1907,9 @@ static u8 gUnknown_030005A4; static u16 gUnknown_030005A6; struct MapObject gMapObjects[16]; +#if DEBUG +u8 gUnknown_Debug_03004BC0[4]; // unknown type +#endif void npc_clear_ids_and_state(struct MapObject *mapObj) { diff --git a/src/field/item_menu.c b/src/field/item_menu.c index 61774f816..7922bf69d 100644 --- a/src/field/item_menu.c +++ b/src/field/item_menu.c @@ -289,6 +289,24 @@ static void sub_80A6618(u8); const struct YesNoFuncTable gUnknown_083C16FC = {sub_80A65AC, sub_80A6618}; +#if DEBUG +const struct {u16 item; u8 unk;} gUnknown_Debug_083EBC68[12+48] = +{ + {ITEM_POKE_BALL, 10}, + {ITEM_ULTRA_BALL, 15}, + {ITEM_GREAT_BALL, 20}, + {ITEM_MASTER_BALL, 25}, + {ITEM_ACRO_BIKE, 1 }, + {ITEM_OLD_ROD, 1 }, + {ITEM_GOOD_ROD, 1 }, + {ITEM_SUPER_ROD, 1 }, + {ITEM_POKEBLOCK_CASE, 1 }, + {ITEM_WAILMER_PAIL, 1 }, + {ITEM_ITEMFINDER, 1 }, + {ITEM_NONE, 1 }, +}; +#endif + void sub_80A34E8(void); static bool8 LoadBagGraphicsMultistep(void); static void sub_80A362C(void); diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 51bd9bb35..144c0235a 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -1313,7 +1313,7 @@ static void PrintStoryList(void) Menu_PrintText(gPCText_Cancel, 1, 2 + i * 2); } -u8 gUnknown_03000748; +static u8 gUnknown_03000748; static void Task_StoryListMenu(u8 taskId) { @@ -1392,3 +1392,198 @@ bool8 ScrSpecial_StorytellerInitializeRandomStat(void) { return StorytellerInitializeRandomStat(); } + +#if DEBUG +__attribute__((naked)) +void This_is_not_HandleReadMail() +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " add r6, r1, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r5, r2, #0x18\n" + " ldr r0, .__3\n" + " ldrb r3, [r0]\n" + " cmp r3, #0\n" + " beq .__1 @cond_branch\n" + " ldr r2, .__3 + 4\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r0, .__3 + 8\n" + " ldrh r1, [r0]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r0, r2, r3\n" + " strb r1, [r0]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__3 + 12\n" + " str r0, [r1]\n" + " add r3, r3, #0x8\n" + " add r1, r2, r3\n" + " ldr r0, .__3 + 16\n" + " str r0, [r1]\n" + " ldr r0, .__3 + 20\n" + " ldrh r1, [r0]\n" + " b .__2\n" + ".__4:\n" + " .align 2, 0\n" + ".__3:\n" + " .word gUnknown_03000748+0x4\n" + " .word +0x2000000\n" + " .word gSpecialVar_0x8004\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + " .word gSpecialVar_0x8006\n" + ".__1:\n" + " ldr r2, .__7\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " add r0, r0, #0xfb\n" + " add r1, r2, r0\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x84\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 8\n" + " str r0, [r1]\n" + " ldrh r1, [r4, #0x20]\n" + " add r0, r1, #0\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi .__5 @cond_branch\n" + " sub r1, r1, #0x79\n" + ".__2:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r1, [r0]\n" + " b .__6\n" + ".__8:\n" + " .align 2, 0\n" + ".__7:\n" + " .word +0x2000000\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + ".__5:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r3, [r0]\n" + " mov r5, #0x0\n" + ".__6:\n" + " ldr r1, .__12\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq .__9 @cond_branch\n" + " cmp r0, #0x1\n" + " beq .__10 @cond_branch\n" + ".__9:\n" + " mov r3, #0x86\n" + " lsl r3, r3, #0x1\n" + " add r2, r1, r3\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__12 + 4\n" + " b .__11\n" + ".__13:\n" + " .align 2, 0\n" + ".__12:\n" + " .word +0x2000000\n" + " .word gUnknown_083E5730\n" + ".__10:\n" + " mov r0, #0x86\n" + " lsl r0, r0, #0x1\n" + " add r2, r1, r0\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__18\n" + ".__11:\n" + " add r0, r0, r1\n" + " str r0, [r2]\n" + " ldrh r0, [r4, #0x1e]\n" + " mov r1, sp\n" + " bl MailSpeciesToSpecies\n" + " lsl r0, r0, #0x10\n" + " ldr r1, .__18 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xcd\n" + " lsl r1, r1, #0x11\n" + " cmp r0, r1\n" + " bhi .__14 @cond_branch\n" + " ldr r0, .__18 + 8\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfa\n" + " ldrb r2, [r1]\n" + " add r1, r0, #0\n" + " cmp r2, #0x6\n" + " beq .__15 @cond_branch\n" + " cmp r2, #0x9\n" + " beq .__16 @cond_branch\n" + " b .__17\n" + ".__19:\n" + " .align 2, 0\n" + ".__18:\n" + " .word gUnknown_083E57A4\n" + " .word 0xffff0000\n" + " .word +0x2000000\n" + ".__15:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x1\n" + " b .__21\n" + ".__16:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x2\n" + " b .__21\n" + ".__14:\n" + " ldr r1, .__22\n" + ".__17:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x0\n" + ".__21:\n" + " strb r0, [r2]\n" + " add r0, r1, #0\n" + " add r0, r0, #0xf4\n" + " str r4, [r0]\n" + " sub r0, r0, #0x8\n" + " str r6, [r0]\n" + " add r0, r0, #0xc\n" + " strb r5, [r0]\n" + " ldr r0, .__22 + 4\n" + " bl SetMainCallback2\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + ".__23:\n" + " .align 2, 0\n" + ".__22:\n" + " .word +0x2000000\n" + " .word sub_80F8D50+1\n" + "\n" + ); +} +#endif diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 565a9861b..6e03958e6 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -68,6 +68,11 @@ struct MailGraphics u16 color12; }; +#if DEBUG +// should be static +__attribute__((section(".bss"))) u8 unk_debug_bss_2; +#endif + const u16 gUnknown_083E562C[][2] = { {0x6ACD, 0x51A5}, @@ -322,205 +327,6 @@ static void sub_80F8F58(void); static void sub_80F8F78(void); static void sub_80F8FB4(void); - -#if DEBUG - -// should be static -__attribute__((section(".bss"))) u8 unk_debug_bss_2; - -__attribute__((naked)) -void HandleReadMail(struct MailStruct *aStruct, MainCallback callback, bool8 bool81) -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " add r6, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " ldr r0, ._3\n" - " ldrb r3, [r0]\n" - " cmp r3, #0\n" - " beq ._1 @cond_branch\n" - " ldr r2, ._3 + 4\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r0, ._3 + 8\n" - " ldrh r1, [r0]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r0, r2, r3\n" - " strb r1, [r0]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, ._3 + 12\n" - " str r0, [r1]\n" - " add r3, r3, #0x8\n" - " add r1, r2, r3\n" - " ldr r0, ._3 + 16\n" - " str r0, [r1]\n" - " ldr r0, ._3 + 20\n" - " ldrh r1, [r0]\n" - " b ._2\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gUnknown_03000748+0x4\n" - " .word +0x2000000\n" - " .word gSpecialVar_0x8004\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - " .word gSpecialVar_0x8006\n" - "._1:\n" - " ldr r2, ._7\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " add r0, r0, #0xfb\n" - " add r1, r2, r0\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, ._7 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, ._7 + 8\n" - " str r0, [r1]\n" - " ldrh r1, [r4, #0x20]\n" - " add r0, r1, #0\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi ._5 @cond_branch\n" - " sub r1, r1, #0x79\n" - "._2:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r1, [r0]\n" - " b ._6\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word +0x2000000\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - "._5:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r3, [r0]\n" - " mov r5, #0x0\n" - "._6:\n" - " ldr r1, ._12\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._9 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._10 @cond_branch\n" - "._9:\n" - " mov r3, #0x86\n" - " lsl r3, r3, #0x1\n" - " add r2, r1, r3\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._12 + 4\n" - " b ._11\n" - "._13:\n" - " .align 2, 0\n" - "._12:\n" - " .word +0x2000000\n" - " .word gUnknown_083E5730\n" - "._10:\n" - " mov r0, #0x86\n" - " lsl r0, r0, #0x1\n" - " add r2, r1, r0\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._18\n" - "._11:\n" - " add r0, r0, r1\n" - " str r0, [r2]\n" - " ldrh r0, [r4, #0x1e]\n" - " mov r1, sp\n" - " bl MailSpeciesToSpecies\n" - " lsl r0, r0, #0x10\n" - " ldr r1, ._18 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xcd\n" - " lsl r1, r1, #0x11\n" - " cmp r0, r1\n" - " bhi ._14 @cond_branch\n" - " ldr r0, ._18 + 8\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfa\n" - " ldrb r2, [r1]\n" - " add r1, r0, #0\n" - " cmp r2, #0x6\n" - " beq ._15 @cond_branch\n" - " cmp r2, #0x9\n" - " beq ._16 @cond_branch\n" - " b ._17\n" - "._19:\n" - " .align 2, 0\n" - "._18:\n" - " .word gUnknown_083E57A4\n" - " .word 0xffff0000\n" - " .word +0x2000000\n" - "._15:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x1\n" - " b ._21\n" - "._16:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x2\n" - " b ._21\n" - "._14:\n" - " ldr r1, ._22\n" - "._17:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x0\n" - "._21:\n" - " strb r0, [r2]\n" - " add r0, r1, #0\n" - " add r0, r0, #0xf4\n" - " str r4, [r0]\n" - " sub r0, r0, #0x8\n" - " str r6, [r0]\n" - " add r0, r0, #0xc\n" - " strb r5, [r0]\n" - " ldr r0, ._22 + 4\n" - " bl SetMainCallback2\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._23:\n" - " .align 2, 0\n" - "._22:\n" - " .word +0x2000000\n" - " .word sub_80F8D50+1\n" - "\n" - ); -} -#else void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { u16 mailDesign; @@ -584,7 +390,6 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) SetMainCallback2(sub_80F8D50); } -#endif #define RETURN_UP_STATE break #define RETURN_SKIP_STATE return FALSE -- cgit v1.2.3 From 8a21a49a35d91ba9b07ac5027a0560ddf1f4ad25 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 21:04:48 -0600 Subject: add some debug changes that I missed --- src/battle/battle_2.c | 19 +- src/battle/battle_util.c | 4473 ++++++++++++++++++++++++++++++++++++++++++++++ src/engine/link.c | 22 +- 3 files changed, 4503 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 6d2045604..696f1fde0 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -9141,17 +9141,7 @@ void debug_sub_80139E4() "\n" ); } -#endif - -void sub_8010824(void) -{ - gBattleMainFunc(); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - gBattleBankFunc[gActiveBank](); -} - -#if DEBUG __attribute__((naked)) void sub_8010874() { @@ -9525,6 +9515,15 @@ void sub_8010874() ); } #else + +void sub_8010824(void) +{ + gBattleMainFunc(); + + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + gBattleBankFunc[gActiveBank](); +} + void sub_8010874(void) { s32 i; diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index f93664593..3bb99f845 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -1683,6 +1683,4066 @@ u8 CastformDataTypeChange(u8 bank) return formChange; } +#if DEBUG +__attribute__((naked)) +u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, sl\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6, r7}\n\ + add sp, sp, #0xffffffd8\n\ + ldr r4, [sp, #0x48]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + str r0, [sp, #0x4]\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + mov sl, r1\n\ + lsl r2, r2, #0x18\n\ + lsr r6, r2, #0x18\n\ + lsl r3, r3, #0x18\n\ + lsr r3, r3, #0x18\n\ + mov r8, r3\n\ + lsl r4, r4, #0x10\n\ + lsr r4, r4, #0x10\n\ + mov r0, #0x0\n\ + mov r9, r0\n\ + ldr r5, ._718\n\ + ldr r1, ._718 + 4\n\ + ldrb r0, [r5]\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcc ._715 @cond_branch\n\ + mov r1, sl\n\ + strb r1, [r5]\n\ +._715:\n\ + ldrb r0, [r5]\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._716 @cond_branch\n\ + ldr r1, ._718 + 8\n\ + ldrb r0, [r5]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + mov r0, #0x64\n\ + mul r1, r1, r0\n\ + ldr r0, ._718 + 12\n\ + b ._717\n\ +._719:\n\ + .align 2, 0\n\ +._718:\n\ + .word gBankAttacker\n\ + .word gNoOfAllBanks\n\ + .word gBattlePartyID\n\ + .word gPlayerParty\n\ +._716:\n\ + ldr r1, ._723\n\ + ldrb r0, [r5]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + mov r0, #0x64\n\ + mul r1, r1, r0\n\ + ldr r0, ._723 + 4\n\ +._717:\n\ + add r7, r1, r0\n\ + ldr r5, ._723 + 8\n\ + ldr r1, ._723 + 12\n\ + ldrb r0, [r5]\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcc ._720 @cond_branch\n\ + mov r2, sl\n\ + strb r2, [r5]\n\ +._720:\n\ + ldrb r0, [r5]\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._721 @cond_branch\n\ + ldr r1, ._723\n\ + ldrb r0, [r5]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + mov r0, #0x64\n\ + mul r1, r1, r0\n\ + ldr r0, ._723 + 16\n\ + b ._722\n\ +._724:\n\ + .align 2, 0\n\ +._723:\n\ + .word gBattlePartyID\n\ + .word gEnemyParty\n\ + .word gBankTarget\n\ + .word gNoOfAllBanks\n\ + .word gPlayerParty\n\ +._721:\n\ + ldr r1, ._729\n\ + ldrb r0, [r5]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + mov r0, #0x64\n\ + mul r1, r1, r0\n\ + ldr r0, ._729 + 4\n\ +._722:\n\ + add r5, r1, r0\n\ + add r0, r7, #0\n\ + mov r1, #0xb\n\ + bl GetMonData\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + str r0, [sp, #0x8]\n\ + add r0, r7, #0\n\ + mov r1, #0x0\n\ + bl GetMonData\n\ + str r0, [sp, #0x10]\n\ + add r0, r5, #0\n\ + mov r1, #0xb\n\ + bl GetMonData\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + str r0, [sp, #0xc]\n\ + add r0, r5, #0\n\ + mov r1, #0x0\n\ + bl GetMonData\n\ + str r0, [sp, #0x14]\n\ + ldr r0, ._729 + 8\n\ + ldrh r1, [r0]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._725 @cond_branch\n\ + bl ._1540\n\ +._725:\n\ + mov r3, r8\n\ + cmp r3, #0\n\ + beq ._727 @cond_branch\n\ + ldr r0, ._729 + 12\n\ + strb r3, [r0]\n\ + mov r8, r0\n\ + b ._728\n\ +._730:\n\ + .align 2, 0\n\ +._729:\n\ + .word gBattlePartyID\n\ + .word gEnemyParty\n\ + .word gBattleTypeFlags\n\ + .word gLastUsedAbility\n\ +._727:\n\ + ldr r2, ._733\n\ + ldr r1, ._733 + 4\n\ + mov r0, #0x58\n\ + mov r5, sl\n\ + mul r5, r5, r0\n\ + add r0, r5, #0\n\ + add r0, r0, r1\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + strb r0, [r2]\n\ + mov r8, r2\n\ +._728:\n\ + cmp r4, #0\n\ + beq ._731 @cond_branch\n\ + add r3, r4, #0\n\ + b ._732\n\ +._734:\n\ + .align 2, 0\n\ +._733:\n\ + .word gLastUsedAbility\n\ + .word gBattleMons\n\ +._731:\n\ + ldr r0, ._737\n\ + ldrh r3, [r0]\n\ +._732:\n\ + ldr r1, ._737 + 4\n\ + ldr r2, ._737 + 8\n\ + add r0, r1, r2\n\ + ldrb r0, [r0]\n\ + add r7, r1, #0\n\ + cmp r0, #0\n\ + beq ._735 @cond_branch\n\ + mov r4, #0x3f\n\ + and r4, r4, r0\n\ + b ._736\n\ +._738:\n\ + .align 2, 0\n\ +._737:\n\ + .word gCurrentMove\n\ + .word +0x2000000\n\ + .word 0x1601c\n\ +._735:\n\ + ldr r1, ._741\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r4, [r0, #0x2]\n\ +._736:\n\ + ldr r5, [sp, #0x4]\n\ + cmp r5, #0x13\n\ + bls ._739 @cond_branch\n\ + bl ._1534\n\ +._739:\n\ + lsl r0, r5, #0x2\n\ + ldr r1, ._741 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._742:\n\ + .align 2, 0\n\ +._741:\n\ + .word gBattleMoves\n\ + .word ._743\n\ +._743:\n\ + .word ._744\n\ + .word ._745\n\ + .word ._746\n\ + .word ._747\n\ + .word ._748\n\ + .word ._749\n\ + .word ._750\n\ + .word ._751\n\ + .word ._752\n\ + .word ._753\n\ + .word ._754\n\ + .word ._755\n\ + .word ._756\n\ + .word ._757\n\ + .word ._758\n\ + .word ._759\n\ + .word ._760\n\ + .word ._761\n\ + .word ._762\n\ + .word ._763\n\ +._744:\n\ + ldr r2, ._774\n\ + ldr r0, ._774 + 4\n\ + ldrb r1, [r2]\n\ + add r5, r0, #0\n\ + ldrb r0, [r5]\n\ + cmp r1, r0\n\ + bcc ._764 @cond_branch\n\ + mov r1, sl\n\ + strb r1, [r2]\n\ +._764:\n\ + mov r2, r8\n\ + ldrb r0, [r2]\n\ + cmp r0, #0x2d\n\ + bne ._765 @cond_branch\n\ + b ._766\n\ +._765:\n\ + cmp r0, #0x2d\n\ + bgt ._767 @cond_branch\n\ + cmp r0, #0xd\n\ + bne ._768 @cond_branch\n\ + b ._788\n\ +._768:\n\ + cmp r0, #0xd\n\ + bgt ._770 @cond_branch\n\ + cmp r0, #0x2\n\ + bne ._771 @cond_branch\n\ + b ._772\n\ +._771:\n\ + bl ._1534\n\ +._775:\n\ + .align 2, 0\n\ +._774:\n\ + .word gBankAttacker\n\ + .word gNoOfAllBanks\n\ +._770:\n\ + cmp r0, #0x16\n\ + bne ._776 @cond_branch\n\ + b ._777\n\ +._776:\n\ + cmp r0, #0x24\n\ + bne ._778 @cond_branch\n\ + b ._779\n\ +._778:\n\ + bl ._1534\n\ +._767:\n\ + cmp r0, #0x46\n\ + bne ._781 @cond_branch\n\ + b ._782\n\ +._781:\n\ + cmp r0, #0x46\n\ + bgt ._783 @cond_branch\n\ + cmp r0, #0x3b\n\ + bne ._784 @cond_branch\n\ + b ._785\n\ +._784:\n\ + bl ._1534\n\ +._783:\n\ + cmp r0, #0x4d\n\ + bne ._787 @cond_branch\n\ + b ._788\n\ +._787:\n\ + cmp r0, #0xff\n\ + beq ._789 @cond_branch\n\ + bl ._1534\n\ +._789:\n\ + bl weather_get_current\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + sub r0, r0, #0x3\n\ + cmp r0, #0xa\n\ + bhi ._814 @cond_branch\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._793\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._794:\n\ + .align 2, 0\n\ +._793:\n\ + .word ._792\n\ +._792:\n\ + .word ._805\n\ + .word ._814\n\ + .word ._805\n\ + .word ._814\n\ + .word ._814\n\ + .word ._800\n\ + .word ._814\n\ + .word ._814\n\ + .word ._814\n\ + .word ._804\n\ + .word ._805\n\ +._805:\n\ + ldr r2, ._808\n\ + ldrh r1, [r2]\n\ + mov r0, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._814 @cond_branch\n\ + mov r0, #0x5\n\ + strh r0, [r2]\n\ + ldr r0, ._808 + 4\n\ + ldr r3, ._808 + 8\n\ + add r2, r0, r3\n\ + mov r1, #0xa\n\ + b ._811\n\ +._809:\n\ + .align 2, 0\n\ +._808:\n\ + .word gBattleWeather\n\ + .word +0x2000000\n\ + .word 0x160a4\n\ +._800:\n\ + ldr r3, ._812\n\ + ldrh r1, [r3]\n\ + mov r2, #0x18\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._814 @cond_branch\n\ + strh r2, [r3]\n\ + ldr r0, ._812 + 4\n\ + ldr r3, ._812 + 8\n\ + add r2, r0, r3\n\ + mov r1, #0xc\n\ + b ._811\n\ +._813:\n\ + .align 2, 0\n\ +._812:\n\ + .word gBattleWeather\n\ + .word +0x2000000\n\ + .word 0x160a4\n\ +._804:\n\ + ldr r3, ._818\n\ + ldrh r1, [r3]\n\ + mov r2, #0x60\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._814 @cond_branch\n\ + strh r2, [r3]\n\ + ldr r0, ._818 + 4\n\ + ldr r3, ._818 + 8\n\ + add r2, r0, r3\n\ + mov r1, #0xb\n\ +._811:\n\ + strb r1, [r2]\n\ + ldr r5, ._818 + 12\n\ + add r0, r0, r5\n\ + mov r1, sl\n\ + strb r1, [r0]\n\ + mov r0, r9\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._814:\n\ + mov r2, r9\n\ + cmp r2, #0\n\ + bne ._815 @cond_branch\n\ + bl ._1540\n\ +._815:\n\ + bl weather_get_current\n\ + ldr r1, ._818 + 16\n\ + strb r0, [r1, #0x5]\n\ + ldr r0, ._818 + 20\n\ + bl BattleScriptPushCursorAndCallback\n\ + bl ._1534\n\ +._819:\n\ + .align 2, 0\n\ +._818:\n\ + .word gBattleWeather\n\ + .word +0x2000000\n\ + .word 0x160a4\n\ + .word 0x16003\n\ + .word gBattleCommunication\n\ + .word BattleScript_OverworldWeatherStarts\n\ +._772:\n\ + ldr r2, ._823\n\ + ldrh r1, [r2]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._820 @cond_branch\n\ + bl ._1534\n\ +._820:\n\ + mov r0, #0x5\n\ + strh r0, [r2]\n\ + ldr r0, ._823 + 4\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r0, ._823 + 8\n\ + ldr r3, ._823 + 12\n\ + add r0, r0, r3\n\ + mov r5, sl\n\ + strb r5, [r0]\n\ + bl ._1392\n\ +._824:\n\ + .align 2, 0\n\ +._823:\n\ + .word gBattleWeather\n\ + .word BattleScript_DrizzleActivates\n\ + .word +0x2000000\n\ + .word 0x16003\n\ +._766:\n\ + ldr r2, ._828\n\ + ldrh r1, [r2]\n\ + mov r0, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._825 @cond_branch\n\ + bl ._1534\n\ +._825:\n\ + mov r0, #0x18\n\ + strh r0, [r2]\n\ + ldr r0, ._828 + 4\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r0, ._828 + 8\n\ + ldr r1, ._828 + 12\n\ + add r0, r0, r1\n\ + mov r2, sl\n\ + strb r2, [r0]\n\ + bl ._1392\n\ +._829:\n\ + .align 2, 0\n\ +._828:\n\ + .word gBattleWeather\n\ + .word BattleScript_SandstreamActivates\n\ + .word +0x2000000\n\ + .word 0x16003\n\ +._782:\n\ + ldr r2, ._833\n\ + ldrh r1, [r2]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._830 @cond_branch\n\ + bl ._1534\n\ +._830:\n\ + mov r0, #0x60\n\ + strh r0, [r2]\n\ + ldr r0, ._833 + 4\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r0, ._833 + 8\n\ + ldr r3, ._833 + 12\n\ + add r0, r0, r3\n\ + mov r5, sl\n\ + strb r5, [r0]\n\ + bl ._1392\n\ +._834:\n\ + .align 2, 0\n\ +._833:\n\ + .word gBattleWeather\n\ + .word BattleScript_DroughtActivates\n\ + .word +0x2000000\n\ + .word 0x16003\n\ +._777:\n\ + ldr r0, ._838\n\ + mov r1, sl\n\ + lsl r2, r1, #0x2\n\ + add r1, r2, r1\n\ + lsl r1, r1, #0x2\n\ + add r3, r1, r0\n\ + ldrb r0, [r3]\n\ + lsl r0, r0, #0x1c\n\ + cmp r0, #0\n\ + bge ._835 @cond_branch\n\ + bl ._1534\n\ +._835:\n\ + ldr r1, ._838 + 4\n\ + add r1, r2, r1\n\ + ldr r0, [r1]\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0xc\n\ + orr r0, r0, r2\n\ + str r0, [r1]\n\ + ldrb r0, [r3]\n\ + mov r1, #0x8\n\ + b ._837\n\ +._839:\n\ + .align 2, 0\n\ +._838:\n\ + .word gSpecialStatuses\n\ + .word gStatuses3\n\ +._785:\n\ + mov r0, sl\n\ + bl CastformDataTypeChange\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ + cmp r0, #0\n\ + bne ._840 @cond_branch\n\ + bl ._1540\n\ +._840:\n\ + ldr r0, ._843\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r0, ._843 + 4\n\ + ldr r2, ._843 + 8\n\ + add r1, r0, r2\n\ + mov r3, sl\n\ + strb r3, [r1]\n\ + mov r1, r9\n\ + sub r1, r1, #0x1\n\ + ldr r5, ._843 + 12\n\ + add r0, r0, r5\n\ + strb r1, [r0]\n\ + bl ._1534\n\ +._844:\n\ + .align 2, 0\n\ +._843:\n\ + .word BattleScript_CastformChange\n\ + .word +0x2000000\n\ + .word 0x16003\n\ + .word 0x1609b\n\ +._779:\n\ + ldr r0, ._848\n\ + mov r1, sl\n\ + lsl r2, r1, #0x2\n\ + add r1, r2, r1\n\ + lsl r1, r1, #0x2\n\ + add r3, r1, r0\n\ + ldrb r0, [r3]\n\ + lsl r0, r0, #0x1b\n\ + cmp r0, #0\n\ + bge ._845 @cond_branch\n\ + bl ._1534\n\ +._845:\n\ + ldr r1, ._848 + 4\n\ + add r1, r2, r1\n\ + ldr r0, [r1]\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0xd\n\ + orr r0, r0, r2\n\ + str r0, [r1]\n\ + ldrb r0, [r3]\n\ + mov r1, #0x10\n\ +._837:\n\ + orr r0, r0, r1\n\ + strb r0, [r3]\n\ + bl ._1534\n\ +._849:\n\ + .align 2, 0\n\ +._848:\n\ + .word gSpecialStatuses\n\ + .word gStatuses3\n\ +._788:\n\ + mov r6, #0x0\n\ + ldrb r5, [r5]\n\ + cmp r6, r5\n\ + bcc ._854 @cond_branch\n\ + bl ._1534\n\ +._854:\n\ + add r0, r6, #0\n\ + bl CastformDataTypeChange\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ + cmp r0, #0\n\ + beq ._852 @cond_branch\n\ + bl ._853\n\ +._852:\n\ + add r0, r6, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ + ldr r0, ._856\n\ + ldrb r0, [r0]\n\ + cmp r6, r0\n\ + bcc ._854 @cond_branch\n\ + bl ._1534\n\ +._857:\n\ + .align 2, 0\n\ +._856:\n\ + .word gNoOfAllBanks\n\ +._745:\n\ + ldr r2, ._865\n\ + mov r0, #0x58\n\ + mov r1, sl\n\ + mul r1, r1, r0\n\ + add r4, r1, r2\n\ + ldrh r0, [r4, #0x28]\n\ + cmp r0, #0\n\ + bne ._858 @cond_branch\n\ + bl ._1534\n\ +._858:\n\ + ldr r0, ._865 + 4\n\ + mov r3, sl\n\ + strb r3, [r0]\n\ + mov r3, r8\n\ + ldrb r5, [r3]\n\ + cmp r5, #0x2c\n\ + beq ._860 @cond_branch\n\ + cmp r5, #0x2c\n\ + bgt ._861 @cond_branch\n\ + cmp r5, #0x3\n\ + bne ._862 @cond_branch\n\ + b ._863\n\ +._862:\n\ + bl ._1534\n\ +._866:\n\ + .align 2, 0\n\ +._865:\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ +._861:\n\ + cmp r5, #0x36\n\ + bne ._867 @cond_branch\n\ + b ._868\n\ +._867:\n\ + cmp r5, #0x3d\n\ + beq ._869 @cond_branch\n\ + bl ._1534\n\ +._860:\n\ + mov r0, #0x0\n\ + str r0, [sp]\n\ + mov r0, #0x13\n\ + mov r1, #0x0\n\ + mov r2, #0xd\n\ + mov r3, #0x0\n\ + bl AbilityBattleEffects\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._871 @cond_branch\n\ + bl ._1534\n\ +._871:\n\ + str r0, [sp]\n\ + mov r0, #0x13\n\ + mov r1, #0x0\n\ + mov r2, #0x4d\n\ + mov r3, #0x0\n\ + bl AbilityBattleEffects\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._873 @cond_branch\n\ + bl ._1534\n\ +._873:\n\ + ldr r0, ._881\n\ + ldrh r1, [r0]\n\ + mov r0, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._875 @cond_branch\n\ + bl ._1534\n\ +._875:\n\ + ldrh r0, [r4, #0x2c]\n\ + ldrh r1, [r4, #0x28]\n\ + cmp r0, r1\n\ + bhi ._877 @cond_branch\n\ + bl ._1534\n\ +._877:\n\ + mov r2, r8\n\ + strb r5, [r2]\n\ + ldr r0, ._881 + 4\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r1, ._881 + 8\n\ + ldrh r0, [r4, #0x2c]\n\ + lsr r0, r0, #0x4\n\ + str r0, [r1]\n\ + cmp r0, #0\n\ + bne ._879 @cond_branch\n\ + mov r0, #0x1\n\ + str r0, [r1]\n\ +._879:\n\ + ldr r0, [r1]\n\ + neg r0, r0\n\ + str r0, [r1]\n\ + bl ._1392\n\ +._882:\n\ + .align 2, 0\n\ +._881:\n\ + .word gBattleWeather\n\ + .word BattleScript_RainDishActivates\n\ + .word gBattleMoveDamage\n\ +._869:\n\ + add r0, r2, #0\n\ + add r0, r0, #0x4c\n\ + add r5, r1, r0\n\ + ldrb r0, [r5]\n\ + cmp r0, #0\n\ + bne ._883 @cond_branch\n\ + bl ._1534\n\ +._883:\n\ + bl Random\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + mov r1, #0x3\n\ + bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + lsl r0, r0, #0x10\n\ + lsr r4, r0, #0x10\n\ + cmp r4, #0\n\ + beq ._885 @cond_branch\n\ + bl ._1534\n\ +._885:\n\ + ldr r0, [r5]\n\ + mov r1, #0x88\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._887 @cond_branch\n\ + ldr r0, ._893\n\ + ldr r1, ._893 + 4\n\ + bl StringCopy\n\ +._887:\n\ + ldr r0, [r5]\n\ + mov r1, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._888 @cond_branch\n\ + ldr r0, ._893\n\ + ldr r1, ._893 + 8\n\ + bl StringCopy\n\ +._888:\n\ + ldr r0, [r5]\n\ + mov r1, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._889 @cond_branch\n\ + ldr r0, ._893\n\ + ldr r1, ._893 + 12\n\ + bl StringCopy\n\ +._889:\n\ + ldr r0, [r5]\n\ + mov r1, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._890 @cond_branch\n\ + ldr r0, ._893\n\ + ldr r1, ._893 + 16\n\ + bl StringCopy\n\ +._890:\n\ + ldr r0, [r5]\n\ + mov r1, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._891 @cond_branch\n\ + ldr r0, ._893\n\ + ldr r1, ._893 + 20\n\ + bl StringCopy\n\ +._891:\n\ + str r4, [r5]\n\ + ldr r0, ._893 + 24\n\ + ldr r4, ._893 + 28\n\ + mov r3, sl\n\ + strb r3, [r4]\n\ + ldr r1, ._893 + 32\n\ + add r0, r0, r1\n\ + strb r3, [r0]\n\ + ldr r0, ._893 + 36\n\ + bl BattleScriptPushCursorAndCallback\n\ + str r5, [sp]\n\ + mov r0, #0x0\n\ + mov r1, #0x28\n\ + mov r2, #0x0\n\ + mov r3, #0x4\n\ + bl EmitSetMonData\n\ + ldrb r0, [r4]\n\ + bl MarkBufferBankForExecution\n\ + bl ._1392\n\ +._894:\n\ + .align 2, 0\n\ +._893:\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_PoisonJpn\n\ + .word gStatusConditionString_SleepJpn\n\ + .word gStatusConditionString_ParalysisJpn\n\ + .word gStatusConditionString_BurnJpn\n\ + .word gStatusConditionString_IceJpn\n\ + .word +0x2000000\n\ + .word gActiveBank\n\ + .word 0x16003\n\ + .word BattleScript_ShedSkinActivates\n\ +._863:\n\ + ldrb r2, [r4, #0x1b]\n\ + mov r0, #0x1b\n\ + ldsb r0, [r4, r0]\n\ + cmp r0, #0xb\n\ + ble ._895 @cond_branch\n\ + bl ._1534\n\ +._895:\n\ + ldr r0, ._900\n\ + mov r3, sl\n\ + lsl r1, r3, #0x3\n\ + sub r1, r1, r3\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x16]\n\ + cmp r0, #0x2\n\ + bne ._897 @cond_branch\n\ + bl ._1534\n\ +._897:\n\ + add r0, r2, #1\n\ + mov r2, #0x0\n\ + strb r0, [r4, #0x1b]\n\ + ldr r5, ._900 + 4\n\ + add r1, r7, r5\n\ + mov r0, #0x11\n\ + strb r0, [r1]\n\ + ldr r1, ._900 + 8\n\ + add r0, r7, r1\n\ + strb r2, [r0]\n\ + ldr r0, ._900 + 12\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r2, ._900 + 16\n\ + add r0, r7, r2\n\ + mov r3, sl\n\ + strb r3, [r0]\n\ + bl ._1392\n\ +._901:\n\ + .align 2, 0\n\ +._900:\n\ + .word gDisableStructs\n\ + .word 0x160a4\n\ + .word 0x160a5\n\ + .word BattleScript_SpeedBoostActivates\n\ + .word 0x16003\n\ +._868:\n\ + ldr r2, ._903\n\ + ldrb r0, [r0]\n\ + lsl r1, r0, #0x3\n\ + sub r1, r1, r0\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r2\n\ + ldrb r3, [r1, #0x18]\n\ + lsl r0, r3, #0x1f\n\ + lsr r0, r0, #0x1f\n\ + mov r2, #0x1\n\ + eor r2, r2, r0\n\ + mov r0, #0x2\n\ + neg r0, r0\n\ + and r0, r0, r3\n\ + orr r0, r0, r2\n\ + strb r0, [r1, #0x18]\n\ + bl ._1534\n\ +._904:\n\ + .align 2, 0\n\ +._903:\n\ + .word gDisableStructs\n\ +._746:\n\ + mov r5, r8\n\ + ldrb r0, [r5]\n\ + cmp r0, #0x2b\n\ + beq ._905 @cond_branch\n\ + bl ._1534\n\ +._905:\n\ + mov r4, #0x0\n\ + ldr r0, ._917\n\ + ldrh r2, [r0]\n\ + ldr r5, ._917 + 4\n\ + add r1, r0, #0\n\ + cmp r2, r5\n\ + bne ._907 @cond_branch\n\ + bl ._1534\n\ +._907:\n\ + cmp r2, r3\n\ + beq ._909 @cond_branch\n\ + add r2, r1, #0\n\ +._912:\n\ + add r2, r2, #0x2\n\ + add r4, r4, #0x1\n\ + ldrh r0, [r2]\n\ + cmp r0, r5\n\ + bne ._910 @cond_branch\n\ + bl ._1534\n\ +._910:\n\ + cmp r0, r3\n\ + bne ._912 @cond_branch\n\ +._909:\n\ + lsl r0, r4, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + ldr r0, ._917 + 4\n\ + cmp r1, r0\n\ + bne ._913 @cond_branch\n\ + bl ._1534\n\ +._913:\n\ + ldr r1, ._917 + 8\n\ + ldr r0, ._917 + 12\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r1, r1, #0x50\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x5\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._915 @cond_branch\n\ + ldr r0, ._917 + 16\n\ + ldr r1, [r0]\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0x4\n\ + orr r1, r1, r2\n\ + str r1, [r0]\n\ +._915:\n\ + ldr r1, ._917 + 20\n\ + ldr r0, ._917 + 24\n\ + str r0, [r1]\n\ + mov r0, #0x1\n\ + mov r9, r0\n\ + bl ._916\n\ +._918:\n\ + .align 2, 0\n\ +._917:\n\ + .word gSoundMovesTable\n\ + .word 0xffff\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gHitMarker\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_SoundproofProtected\n\ +._747:\n\ + cmp r3, #0\n\ + bne ._919 @cond_branch\n\ + bl ._1534\n\ +._919:\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + cmp r0, #0xb\n\ + beq ._921 @cond_branch\n\ + cmp r0, #0xb\n\ + bgt ._922 @cond_branch\n\ + cmp r0, #0xa\n\ + beq ._923 @cond_branch\n\ + b ._956\n\ +._922:\n\ + cmp r0, #0x12\n\ + beq ._925 @cond_branch\n\ + b ._956\n\ +._923:\n\ + cmp r4, #0xd\n\ + beq ._927 @cond_branch\n\ + b ._956\n\ +._927:\n\ + ldr r0, ._933\n\ + lsl r1, r3, #0x1\n\ + add r1, r1, r3\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + cmp r0, #0\n\ + bne ._929 @cond_branch\n\ + b ._956\n\ +._929:\n\ + ldr r1, ._933 + 4\n\ + ldr r0, ._933 + 8\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0, #0x2]\n\ + lsl r0, r0, #0x1c\n\ + cmp r0, #0\n\ + bge ._931 @cond_branch\n\ + ldr r1, ._933 + 12\n\ + ldr r0, ._933 + 16\n\ + b ._932\n\ +._934:\n\ + .align 2, 0\n\ +._933:\n\ + .word gBattleMoves\n\ + .word gProtectStructs\n\ + .word gBankAttacker\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_MoveHPDrain\n\ +._931:\n\ + ldr r1, ._936\n\ + ldr r0, ._936 + 4\n\ +._932:\n\ + str r0, [r1]\n\ + mov r2, #0x1\n\ + b ._935\n\ +._937:\n\ + .align 2, 0\n\ +._936:\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_MoveHPDrain_PPLoss\n\ +._921:\n\ + cmp r4, #0xb\n\ + beq ._938 @cond_branch\n\ + b ._956\n\ +._938:\n\ + ldr r0, ._944\n\ + lsl r1, r3, #0x1\n\ + add r1, r1, r3\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + cmp r0, #0\n\ + bne ._940 @cond_branch\n\ + b ._956\n\ +._940:\n\ + ldr r1, ._944 + 4\n\ + ldr r0, ._944 + 8\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0, #0x2]\n\ + lsl r0, r0, #0x1c\n\ + cmp r0, #0\n\ + bge ._942 @cond_branch\n\ + ldr r1, ._944 + 12\n\ + ldr r0, ._944 + 16\n\ + b ._943\n\ +._945:\n\ + .align 2, 0\n\ +._944:\n\ + .word gBattleMoves\n\ + .word gProtectStructs\n\ + .word gBankAttacker\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_MoveHPDrain\n\ +._942:\n\ + ldr r1, ._947\n\ + ldr r0, ._947 + 4\n\ +._943:\n\ + str r0, [r1]\n\ + mov r3, #0x1\n\ + mov r9, r3\n\ + b ._956\n\ +._948:\n\ + .align 2, 0\n\ +._947:\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_MoveHPDrain_PPLoss\n\ +._925:\n\ + cmp r4, #0xa\n\ + bne ._956 @cond_branch\n\ + ldr r1, ._954\n\ + mov r0, #0x58\n\ + mov r5, sl\n\ + mul r5, r5, r0\n\ + add r0, r5, #0\n\ + add r1, r1, #0x4c\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._956 @cond_branch\n\ + ldr r2, ._954 + 4\n\ + mov r0, sl\n\ + lsl r1, r0, #0x2\n\ + add r0, r1, r2\n\ + ldr r3, [r0]\n\ + mov r4, #0x1\n\ + and r3, r3, r4\n\ + add r5, r1, #0\n\ + cmp r3, #0\n\ + bne ._951 @cond_branch\n\ + ldr r0, ._954 + 8\n\ + strb r3, [r0, #0x5]\n\ + ldr r1, ._954 + 12\n\ + ldr r0, ._954 + 16\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0, #0x2]\n\ + lsl r0, r0, #0x1c\n\ + cmp r0, #0\n\ + bge ._952 @cond_branch\n\ + ldr r1, ._954 + 20\n\ + ldr r0, ._954 + 24\n\ + b ._953\n\ +._955:\n\ + .align 2, 0\n\ +._954:\n\ + .word gBattleMons\n\ + .word +0x2017100\n\ + .word gBattleCommunication\n\ + .word gProtectStructs\n\ + .word gBankAttacker\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_FlashFireBoost\n\ +._952:\n\ + ldr r1, ._957\n\ + ldr r0, ._957 + 4\n\ +._953:\n\ + str r0, [r1]\n\ + add r0, r5, r2\n\ + ldr r1, [r0]\n\ + mov r2, #0x1\n\ + orr r1, r1, r2\n\ + str r1, [r0]\n\ + mov r1, #0x2\n\ + mov r9, r1\n\ + b ._956\n\ +._958:\n\ + .align 2, 0\n\ +._957:\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_FlashFireBoost_PPLoss\n\ +._951:\n\ + ldr r0, ._961\n\ + strb r4, [r0, #0x5]\n\ + ldr r1, ._961 + 4\n\ + ldr r0, ._961 + 8\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0, #0x2]\n\ + lsl r0, r0, #0x1c\n\ + cmp r0, #0\n\ + bge ._959 @cond_branch\n\ + ldr r1, ._961 + 12\n\ + ldr r0, ._961 + 16\n\ + b ._960\n\ +._962:\n\ + .align 2, 0\n\ +._961:\n\ + .word gBattleCommunication\n\ + .word gProtectStructs\n\ + .word gBankAttacker\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_FlashFireBoost\n\ +._959:\n\ + ldr r1, ._968\n\ + ldr r0, ._968 + 4\n\ +._960:\n\ + str r0, [r1]\n\ + mov r2, #0x2\n\ +._935:\n\ + mov r9, r2\n\ +._956:\n\ + mov r3, r9\n\ + cmp r3, #0x1\n\ + beq ._963 @cond_branch\n\ + bl ._1534\n\ +._963:\n\ + ldr r1, ._968 + 8\n\ + mov r0, #0x58\n\ + mov r5, sl\n\ + mul r5, r5, r0\n\ + add r0, r5, #0\n\ + add r1, r0, r1\n\ + ldrh r0, [r1, #0x2c]\n\ + ldrh r2, [r1, #0x28]\n\ + cmp r0, r2\n\ + bne ._965 @cond_branch\n\ + ldr r1, ._968 + 12\n\ + ldr r0, ._968 + 16\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0, #0x2]\n\ + lsl r0, r0, #0x1c\n\ + cmp r0, #0\n\ + bge ._966 @cond_branch\n\ + ldr r1, ._968\n\ + ldr r0, ._968 + 20\n\ + str r0, [r1]\n\ + bl ._1534\n\ +._969:\n\ + .align 2, 0\n\ +._968:\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_FlashFireBoost_PPLoss\n\ + .word gBattleMons\n\ + .word gProtectStructs\n\ + .word gBankAttacker\n\ + .word BattleScript_MoveHPDrain_FullHP\n\ +._966:\n\ + ldr r1, ._971\n\ + ldr r0, ._971 + 4\n\ + str r0, [r1]\n\ + bl ._1534\n\ +._972:\n\ + .align 2, 0\n\ +._971:\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_MoveHPDrain_FullHP_PPLoss\n\ +._965:\n\ + ldr r2, ._975\n\ + ldrh r0, [r1, #0x2c]\n\ + lsr r0, r0, #0x2\n\ + str r0, [r2]\n\ + cmp r0, #0\n\ + bne ._973 @cond_branch\n\ + mov r3, r9\n\ + str r3, [r2]\n\ +._973:\n\ + ldr r0, [r2]\n\ + neg r0, r0\n\ + str r0, [r2]\n\ + bl ._1534\n\ +._976:\n\ + .align 2, 0\n\ +._975:\n\ + .word gBattleMoveDamage\n\ +._748:\n\ + mov r5, r8\n\ + ldrb r0, [r5]\n\ + sub r0, r0, #0x9\n\ + cmp r0, #0x2f\n\ + bls ._977 @cond_branch\n\ + bl ._1534\n\ +._977:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._980\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._981:\n\ + .align 2, 0\n\ +._980:\n\ + .word ._979\n\ +._979:\n\ + .word ._982\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._989\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._997\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1000\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1011\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1022\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1534\n\ + .word ._1029\n\ +._989:\n\ + ldr r0, ._1046\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1030 @cond_branch\n\ + bl ._1534\n\ +._1030:\n\ + cmp r3, #0xa5\n\ + bne ._1032 @cond_branch\n\ + bl ._1534\n\ +._1032:\n\ + ldr r0, ._1046 + 4\n\ + lsl r1, r3, #0x1\n\ + add r1, r1, r3\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + cmp r0, #0\n\ + bne ._1034 @cond_branch\n\ + bl ._1534\n\ +._1034:\n\ + ldr r2, ._1046 + 8\n\ + ldr r0, ._1046 + 12\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1037 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1037 @cond_branch\n\ + bl ._1534\n\ +._1037:\n\ + ldr r1, ._1046 + 16\n\ + mov r0, #0x58\n\ + mov r2, sl\n\ + mul r2, r2, r0\n\ + add r0, r2, #0\n\ + add r1, r0, r1\n\ + add r3, r1, #0\n\ + add r3, r3, #0x21\n\ + ldrb r0, [r3]\n\ + cmp r0, r4\n\ + bne ._1039 @cond_branch\n\ + bl ._1534\n\ +._1039:\n\ + add r2, r1, #0\n\ + add r2, r2, #0x22\n\ + ldrb r0, [r2]\n\ + cmp r0, r4\n\ + bne ._1041 @cond_branch\n\ + bl ._1534\n\ +._1041:\n\ + ldrh r0, [r1, #0x28]\n\ + cmp r0, #0\n\ + bne ._1043 @cond_branch\n\ + bl ._1534\n\ +._1043:\n\ + strb r4, [r3]\n\ + strb r4, [r2]\n\ + ldr r1, ._1046 + 20\n\ + mov r0, #0xfd\n\ + strb r0, [r1]\n\ + mov r0, #0x3\n\ + strb r0, [r1, #0x1]\n\ + strb r4, [r1, #0x2]\n\ + mov r0, #0xff\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1046 + 24\n\ + ldr r0, ._1046 + 28\n\ + str r0, [r1]\n\ + bl ._1392\n\ +._1047:\n\ + .align 2, 0\n\ +._1046:\n\ + .word gBattleMoveFlags\n\ + .word gBattleMoves\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMons\n\ + .word gBattleTextBuff1\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ColorChangeActivates\n\ +._997:\n\ + ldr r0, ._1061\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1048 @cond_branch\n\ + bl ._1534\n\ +._1048:\n\ + ldr r1, ._1061 + 4\n\ + ldr r0, ._1061 + 8\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r4, r0, r1\n\ + ldrh r0, [r4, #0x28]\n\ + cmp r0, #0\n\ + bne ._1050 @cond_branch\n\ + bl ._1534\n\ +._1050:\n\ + ldr r0, ._1061 + 12\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1052 @cond_branch\n\ + bl ._1534\n\ +._1052:\n\ + ldr r2, ._1061 + 16\n\ + ldr r0, ._1061 + 20\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1055 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1055 @cond_branch\n\ + bl ._1534\n\ +._1055:\n\ + ldr r1, ._1061 + 24\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r2, #0x1\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1057 @cond_branch\n\ + bl ._1534\n\ +._1057:\n\ + ldr r1, ._1061 + 28\n\ + ldrh r0, [r4, #0x2c]\n\ + lsr r0, r0, #0x4\n\ + str r0, [r1]\n\ + cmp r0, #0\n\ + bne ._1059 @cond_branch\n\ + str r2, [r1]\n\ +._1059:\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1061 + 32\n\ + ldr r0, ._1061 + 36\n\ + str r0, [r1]\n\ + bl ._1392\n\ +._1062:\n\ + .align 2, 0\n\ +._1061:\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMoves\n\ + .word gBattleMoveDamage\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_RoughSkinActivates\n\ +._1000:\n\ + ldr r0, ._1078\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1063 @cond_branch\n\ + ldr r0, ._1078 + 4\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1064 @cond_branch\n\ + bl ._1534\n\ +._1064:\n\ + ldr r1, ._1078 + 8\n\ + ldr r0, ._1078 + 12\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1066 @cond_branch\n\ + bl ._1534\n\ +._1066:\n\ + ldr r0, ._1078 + 16\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1068 @cond_branch\n\ + bl ._1534\n\ +._1068:\n\ + ldr r2, ._1078 + 20\n\ + ldr r0, ._1078 + 24\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1071 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1071 @cond_branch\n\ + bl ._1534\n\ +._1071:\n\ + ldr r1, ._1078 + 28\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1073 @cond_branch\n\ + bl ._1534\n\ +._1073:\n\ + ldr r5, ._1078 + 32\n\ + mov r4, #0x3\n\ +._1075:\n\ + bl Random\n\ + and r0, r0, r4\n\ + strb r0, [r5, #0x3]\n\ + cmp r0, #0\n\ + beq ._1075 @cond_branch\n\ + ldr r1, ._1078 + 32\n\ + ldrb r0, [r1, #0x3]\n\ + cmp r0, #0x3\n\ + bne ._1076 @cond_branch\n\ + add r0, r0, #0x2\n\ + strb r0, [r1, #0x3]\n\ +._1076:\n\ + ldrb r0, [r1, #0x3]\n\ + add r0, r0, #0x40\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1078 + 36\n\ + ldr r0, ._1078 + 40\n\ + str r0, [r1]\n\ + ldr r2, ._1078 + 44\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1079:\n\ + .align 2, 0\n\ +._1078:\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMoves\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._1063:\n\ + ldr r0, ._1096\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1080 @cond_branch\n\ + bl ._1534\n\ +._1080:\n\ + ldr r1, ._1096 + 4\n\ + ldr r0, ._1096 + 8\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1082 @cond_branch\n\ + bl ._1534\n\ +._1082:\n\ + ldr r0, ._1096 + 12\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1084 @cond_branch\n\ + bl ._1534\n\ +._1084:\n\ + ldr r2, ._1096 + 16\n\ + ldr r0, ._1096 + 20\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1087 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1087 @cond_branch\n\ + bl ._1534\n\ +._1087:\n\ + ldr r1, ._1096 + 24\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1089 @cond_branch\n\ + bl ._1534\n\ +._1089:\n\ + bl Random\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + mov r1, #0xa\n\ + bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + beq ._1091 @cond_branch\n\ + bl ._1534\n\ +._1091:\n\ + ldr r5, ._1096 + 28\n\ + mov r4, #0x3\n\ +._1093:\n\ + bl Random\n\ + and r0, r0, r4\n\ + strb r0, [r5, #0x3]\n\ + cmp r0, #0\n\ + beq ._1093 @cond_branch\n\ + ldr r1, ._1096 + 28\n\ + ldrb r0, [r1, #0x3]\n\ + cmp r0, #0x3\n\ + bne ._1094 @cond_branch\n\ + add r0, r0, #0x2\n\ + strb r0, [r1, #0x3]\n\ +._1094:\n\ + ldrb r0, [r1, #0x3]\n\ + add r0, r0, #0x40\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1096 + 32\n\ + ldr r0, ._1096 + 36\n\ + str r0, [r1]\n\ + ldr r2, ._1096 + 40\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1097:\n\ + .align 2, 0\n\ +._1096:\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMoves\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._1011:\n\ + ldr r0, ._1111\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1098 @cond_branch\n\ + ldr r0, ._1111 + 4\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1099 @cond_branch\n\ + bl ._1534\n\ +._1099:\n\ + ldr r1, ._1111 + 8\n\ + ldr r0, ._1111 + 12\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1101 @cond_branch\n\ + bl ._1534\n\ +._1101:\n\ + ldr r0, ._1111 + 16\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1103 @cond_branch\n\ + bl ._1534\n\ +._1103:\n\ + ldr r2, ._1111 + 20\n\ + ldr r0, ._1111 + 24\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1106 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1106 @cond_branch\n\ + bl ._1534\n\ +._1106:\n\ + ldr r1, ._1111 + 28\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1108 @cond_branch\n\ + bl ._1534\n\ +._1108:\n\ + ldr r1, ._1111 + 32\n\ + mov r0, #0x42\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1111 + 36\n\ + ldr r0, ._1111 + 40\n\ + str r0, [r1]\n\ + ldr r2, ._1111 + 44\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1112:\n\ + .align 2, 0\n\ +._1111:\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMoves\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._1098:\n\ + ldr r0, ._1127\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1113 @cond_branch\n\ + bl ._1534\n\ +._1113:\n\ + ldr r1, ._1127 + 4\n\ + ldr r0, ._1127 + 8\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1115 @cond_branch\n\ + bl ._1534\n\ +._1115:\n\ + ldr r0, ._1127 + 12\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1117 @cond_branch\n\ + bl ._1534\n\ +._1117:\n\ + ldr r2, ._1127 + 16\n\ + ldr r0, ._1127 + 20\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1120 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1120 @cond_branch\n\ + bl ._1534\n\ +._1120:\n\ + ldr r1, ._1127 + 24\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1122 @cond_branch\n\ + bl ._1534\n\ +._1122:\n\ + bl Random\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + mov r1, #0x3\n\ + bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + beq ._1124 @cond_branch\n\ + bl ._1534\n\ +._1124:\n\ + ldr r1, ._1127 + 28\n\ + mov r0, #0x42\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1127 + 32\n\ + ldr r0, ._1127 + 36\n\ + str r0, [r1]\n\ + ldr r2, ._1127 + 40\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1128:\n\ + .align 2, 0\n\ +._1127:\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMoves\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._982:\n\ + ldr r0, ._1142\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1129 @cond_branch\n\ + ldr r0, ._1142 + 4\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1130 @cond_branch\n\ + bl ._1534\n\ +._1130:\n\ + ldr r1, ._1142 + 8\n\ + ldr r0, ._1142 + 12\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1132 @cond_branch\n\ + bl ._1534\n\ +._1132:\n\ + ldr r0, ._1142 + 16\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1134 @cond_branch\n\ + bl ._1534\n\ +._1134:\n\ + ldr r2, ._1142 + 20\n\ + ldr r0, ._1142 + 24\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1137 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1137 @cond_branch\n\ + bl ._1534\n\ +._1137:\n\ + ldr r1, ._1142 + 28\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1139 @cond_branch\n\ + bl ._1534\n\ +._1139:\n\ + ldr r1, ._1142 + 32\n\ + mov r0, #0x45\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1142 + 36\n\ + ldr r0, ._1142 + 40\n\ + str r0, [r1]\n\ + ldr r2, ._1142 + 44\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1143:\n\ + .align 2, 0\n\ +._1142:\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMoves\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._1129:\n\ + ldr r0, ._1158\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1144 @cond_branch\n\ + bl ._1534\n\ +._1144:\n\ + ldr r1, ._1158 + 4\n\ + ldr r0, ._1158 + 8\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1146 @cond_branch\n\ + bl ._1534\n\ +._1146:\n\ + ldr r0, ._1158 + 12\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1148 @cond_branch\n\ + bl ._1534\n\ +._1148:\n\ + ldr r2, ._1158 + 16\n\ + ldr r0, ._1158 + 20\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1151 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1151 @cond_branch\n\ + bl ._1534\n\ +._1151:\n\ + ldr r1, ._1158 + 24\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1153 @cond_branch\n\ + bl ._1534\n\ +._1153:\n\ + bl Random\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + mov r1, #0x3\n\ + bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + beq ._1155 @cond_branch\n\ + bl ._1534\n\ +._1155:\n\ + ldr r1, ._1158 + 28\n\ + mov r0, #0x45\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1158 + 32\n\ + ldr r0, ._1158 + 36\n\ + str r0, [r1]\n\ + ldr r2, ._1158 + 40\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1159:\n\ + .align 2, 0\n\ +._1158:\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleMoves\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._1022:\n\ + ldr r0, ._1173\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1160 @cond_branch\n\ + ldr r0, ._1173 + 4\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1161 @cond_branch\n\ + bl ._1534\n\ +._1161:\n\ + ldr r1, ._1173 + 8\n\ + ldr r0, ._1173 + 12\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1163 @cond_branch\n\ + bl ._1534\n\ +._1163:\n\ + ldr r0, ._1173 + 16\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1165 @cond_branch\n\ + bl ._1534\n\ +._1165:\n\ + ldr r1, ._1173 + 20\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1167 @cond_branch\n\ + bl ._1534\n\ +._1167:\n\ + ldr r2, ._1173 + 24\n\ + ldr r0, ._1173 + 28\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1170 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1170 @cond_branch\n\ + bl ._1534\n\ +._1170:\n\ + ldr r1, ._1173 + 32\n\ + mov r0, #0x43\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1173 + 36\n\ + ldr r0, ._1173 + 40\n\ + str r0, [r1]\n\ + ldr r2, ._1173 + 44\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1174:\n\ + .align 2, 0\n\ +._1173:\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gBattleMoves\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._1160:\n\ + ldr r0, ._1189\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1175 @cond_branch\n\ + bl ._1534\n\ +._1175:\n\ + ldr r1, ._1189 + 4\n\ + ldr r0, ._1189 + 8\n\ + ldrb r2, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1177 @cond_branch\n\ + bl ._1534\n\ +._1177:\n\ + ldr r0, ._1189 + 12\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1179 @cond_branch\n\ + bl ._1534\n\ +._1179:\n\ + ldr r1, ._1189 + 16\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1181 @cond_branch\n\ + bl ._1534\n\ +._1181:\n\ + ldr r2, ._1189 + 20\n\ + ldr r0, ._1189 + 24\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r1, r0, #0x2\n\ + add r0, r2, #0\n\ + add r0, r0, #0x8\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1184 @cond_branch\n\ + add r0, r2, #0\n\ + add r0, r0, #0xc\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1184 @cond_branch\n\ + bl ._1534\n\ +._1184:\n\ + bl Random\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + mov r1, #0x3\n\ + bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + beq ._1186 @cond_branch\n\ + bl ._1534\n\ +._1186:\n\ + ldr r1, ._1189 + 28\n\ + mov r0, #0x43\n\ + strb r0, [r1, #0x3]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1189 + 32\n\ + ldr r0, ._1189 + 36\n\ + str r0, [r1]\n\ + ldr r2, ._1189 + 40\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl ._1392\n\ +._1190:\n\ + .align 2, 0\n\ +._1189:\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gBattleMoves\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_ApplySecondaryEffect\n\ + .word gHitMarker\n\ +._1029:\n\ + ldr r0, ._1217\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1191 @cond_branch\n\ + b ._1192\n\ +._1191:\n\ + ldr r0, ._1217 + 4\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1193 @cond_branch\n\ + bl ._1534\n\ +._1193:\n\ + ldr r5, ._1217 + 8\n\ + ldr r7, ._1217 + 12\n\ + ldrb r1, [r7]\n\ + mov r6, #0x58\n\ + add r0, r1, #0\n\ + mul r0, r0, r6\n\ + add r4, r0, r5\n\ + ldrh r0, [r4, #0x28]\n\ + cmp r0, #0\n\ + bne ._1195 @cond_branch\n\ + bl ._1534\n\ +._1195:\n\ + ldr r0, ._1217 + 16\n\ + lsl r1, r1, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1197 @cond_branch\n\ + bl ._1534\n\ +._1197:\n\ + ldr r1, ._1217 + 20\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1199 @cond_branch\n\ + bl ._1534\n\ +._1199:\n\ + ldr r3, ._1217 + 24\n\ + ldr r0, ._1217 + 28\n\ + mov r8, r0\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r2, r0, #0x2\n\ + add r0, r3, #0\n\ + add r0, r0, #0x8\n\ + add r0, r2, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1202 @cond_branch\n\ + add r0, r3, #0\n\ + add r0, r0, #0xc\n\ + add r0, r2, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1202 @cond_branch\n\ + bl ._1534\n\ +._1202:\n\ + add r0, r1, #0\n\ + mul r0, r0, r6\n\ + add r0, r0, r5\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1204 @cond_branch\n\ + bl ._1534\n\ +._1204:\n\ + add r0, r4, #0\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0xc\n\ + bne ._1206 @cond_branch\n\ + bl ._1534\n\ +._1206:\n\ + ldr r0, [sp, #0x8]\n\ + ldr r1, [sp, #0x10]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + add r4, r0, #0\n\ + ldr r0, [sp, #0xc]\n\ + ldr r1, [sp, #0x14]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + lsl r4, r4, #0x18\n\ + lsl r0, r0, #0x18\n\ + cmp r4, r0\n\ + bne ._1208 @cond_branch\n\ + bl ._1534\n\ +._1208:\n\ + ldrb r0, [r7]\n\ + mul r0, r0, r6\n\ + add r4, r5, #0\n\ + add r4, r4, #0x50\n\ + add r0, r0, r4\n\ + ldr r0, [r0]\n\ + mov r1, #0xf0\n\ + lsl r1, r1, #0xc\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1210 @cond_branch\n\ + bl ._1534\n\ +._1210:\n\ + ldr r0, [sp, #0x8]\n\ + ldr r1, [sp, #0x10]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xff\n\ + bne ._1212 @cond_branch\n\ + bl ._1534\n\ +._1212:\n\ + ldr r0, [sp, #0xc]\n\ + ldr r1, [sp, #0x14]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xff\n\ + bne ._1214 @cond_branch\n\ + bl ._1534\n\ +._1214:\n\ + ldrb r0, [r7]\n\ + add r2, r0, #0\n\ + mul r2, r2, r6\n\ + add r2, r2, r4\n\ + ldr r1, ._1217 + 32\n\ + mov r3, r8\n\ + ldrb r0, [r3]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, [r0]\n\ + lsl r1, r1, #0x10\n\ + ldr r0, [r2]\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1217 + 36\n\ + ldr r0, ._1217 + 40\n\ + str r0, [r1]\n\ + bl ._1392\n\ +._1218:\n\ + .align 2, 0\n\ +._1217:\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gBattleMoves\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBitTable\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_CuteCharmActivates\n\ +._1192:\n\ + ldr r0, ._1245\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1219 @cond_branch\n\ + bl ._1534\n\ +._1219:\n\ + ldr r5, ._1245 + 4\n\ + ldr r7, ._1245 + 8\n\ + ldrb r1, [r7]\n\ + mov r6, #0x58\n\ + add r0, r1, #0\n\ + mul r0, r0, r6\n\ + add r0, r0, r5\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1221 @cond_branch\n\ + bl ._1534\n\ +._1221:\n\ + ldr r0, ._1245 + 12\n\ + lsl r1, r1, #0x4\n\ + add r1, r1, r0\n\ + ldrb r0, [r1, #0x1]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._1223 @cond_branch\n\ + bl ._1534\n\ +._1223:\n\ + ldr r1, ._1245 + 16\n\ + lsl r0, r3, #0x1\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x8]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1225 @cond_branch\n\ + bl ._1534\n\ +._1225:\n\ + ldr r3, ._1245 + 20\n\ + ldr r0, ._1245 + 24\n\ + mov r8, r0\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r2, r0, #0x2\n\ + add r0, r3, #0\n\ + add r0, r0, #0x8\n\ + add r0, r2, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1228 @cond_branch\n\ + add r0, r3, #0\n\ + add r0, r0, #0xc\n\ + add r0, r2, r0\n\ + ldr r0, [r0]\n\ + cmp r0, #0\n\ + bne ._1228 @cond_branch\n\ + bl ._1534\n\ +._1228:\n\ + add r0, r1, #0\n\ + mul r0, r0, r6\n\ + add r0, r0, r5\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + bne ._1230 @cond_branch\n\ + bl ._1534\n\ +._1230:\n\ + bl Random\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + mov r1, #0x3\n\ + bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + beq ._1232 @cond_branch\n\ + bl ._1534\n\ +._1232:\n\ + ldrb r0, [r7]\n\ + mul r0, r0, r6\n\ + add r0, r0, r5\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0xc\n\ + bne ._1234 @cond_branch\n\ + bl ._1534\n\ +._1234:\n\ + ldr r0, [sp, #0x8]\n\ + ldr r1, [sp, #0x10]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + add r4, r0, #0\n\ + ldr r0, [sp, #0xc]\n\ + ldr r1, [sp, #0x14]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + lsl r4, r4, #0x18\n\ + lsl r0, r0, #0x18\n\ + cmp r4, r0\n\ + bne ._1236 @cond_branch\n\ + bl ._1534\n\ +._1236:\n\ + ldrb r0, [r7]\n\ + mul r0, r0, r6\n\ + add r4, r5, #0\n\ + add r4, r4, #0x50\n\ + add r0, r0, r4\n\ + ldr r0, [r0]\n\ + mov r1, #0xf0\n\ + lsl r1, r1, #0xc\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1238 @cond_branch\n\ + bl ._1534\n\ +._1238:\n\ + ldr r0, [sp, #0x8]\n\ + ldr r1, [sp, #0x10]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xff\n\ + bne ._1240 @cond_branch\n\ + bl ._1534\n\ +._1240:\n\ + ldr r0, [sp, #0xc]\n\ + ldr r1, [sp, #0x14]\n\ + bl GetGenderFromSpeciesAndPersonality\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xff\n\ + bne ._1242 @cond_branch\n\ + bl ._1534\n\ +._1242:\n\ + ldrb r0, [r7]\n\ + add r2, r0, #0\n\ + mul r2, r2, r6\n\ + add r2, r2, r4\n\ + ldr r1, ._1245 + 28\n\ + mov r3, r8\n\ + ldrb r0, [r3]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, [r0]\n\ + lsl r1, r1, #0x10\n\ + ldr r0, [r2]\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1245 + 32\n\ + ldr r0, ._1245 + 36\n\ + str r0, [r1]\n\ + bl ._1392\n\ +._1246:\n\ + .align 2, 0\n\ +._1245:\n\ + .word gBattleMoveFlags\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gProtectStructs\n\ + .word gBattleMoves\n\ + .word gSpecialStatuses\n\ + .word gBankTarget\n\ + .word gBitTable\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_CuteCharmActivates\n\ +._749:\n\ + mov r5, #0x0\n\ + mov sl, r5\n\ + ldr r0, ._1251\n\ + ldrb r0, [r0]\n\ + cmp sl, r0\n\ + bcc ._1366 @cond_branch\n\ + bl ._1534\n\ +._1366:\n\ + ldr r1, ._1251 + 4\n\ + mov r0, #0x58\n\ + mov r2, sl\n\ + mul r2, r2, r0\n\ + add r0, r2, #0\n\ + add r0, r0, r1\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + sub r0, r0, #0x7\n\ + add r2, r1, #0\n\ + cmp r0, #0x41\n\ + bls ._1249 @cond_branch\n\ + b ._1346\n\ +._1249:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._1251 + 8\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._1252:\n\ + .align 2, 0\n\ +._1251:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word ._1253\n\ +._1253:\n\ + .word ._1254\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1259\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1319\n\ + .word ._1346\n\ + .word ._1264\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1267\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1287\n\ + .word ._1288\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1346\n\ + .word ._1319\n\ +._1264:\n\ + mov r0, #0x58\n\ + mov r3, sl\n\ + mul r3, r3, r0\n\ + add r0, r3, #0\n\ + add r1, r2, #0\n\ + add r1, r1, #0x4c\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + ldr r1, ._1323\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1320 @cond_branch\n\ + b ._1346\n\ +._1320:\n\ + ldr r0, ._1323 + 4\n\ + ldr r1, ._1323 + 8\n\ + b ._1331\n\ +._1324:\n\ + .align 2, 0\n\ +._1323:\n\ + .word 0xf88\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_PoisonJpn\n\ +._1267:\n\ + mov r0, #0x58\n\ + mov r1, sl\n\ + mul r1, r1, r0\n\ + add r0, r1, #0\n\ + add r1, r2, #0\n\ + add r1, r1, #0x50\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1325 @cond_branch\n\ + b ._1346\n\ +._1325:\n\ + ldr r0, ._1328\n\ + ldr r1, ._1328 + 4\n\ + bl StringCopy\n\ + mov r2, #0x2\n\ + mov r9, r2\n\ + b ._1343\n\ +._1329:\n\ + .align 2, 0\n\ +._1328:\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_ConfusionJpn\n\ +._1254:\n\ + mov r0, #0x58\n\ + mov r3, sl\n\ + mul r3, r3, r0\n\ + add r0, r3, #0\n\ + add r1, r2, #0\n\ + add r1, r1, #0x4c\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1346 @cond_branch\n\ + ldr r0, ._1332\n\ + ldr r1, ._1332 + 4\n\ + b ._1331\n\ +._1333:\n\ + .align 2, 0\n\ +._1332:\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_ParalysisJpn\n\ +._1319:\n\ + mov r0, #0x58\n\ + mov r3, sl\n\ + mul r3, r3, r0\n\ + add r0, r2, #0\n\ + add r0, r0, #0x4c\n\ + add r0, r3, r0\n\ + ldr r0, [r0]\n\ + mov r1, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1346 @cond_branch\n\ + add r2, r2, #0x50\n\ + add r2, r3, r2\n\ + ldr r0, [r2]\n\ + ldr r1, ._1336\n\ + and r0, r0, r1\n\ + str r0, [r2]\n\ + ldr r0, ._1336 + 4\n\ + ldr r1, ._1336 + 8\n\ + bl StringCopy\n\ + mov r0, #0x1\n\ + mov r9, r0\n\ + b ._1343\n\ +._1337:\n\ + .align 2, 0\n\ +._1336:\n\ + .word 0xf7ffffff\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_SleepJpn\n\ +._1288:\n\ + mov r0, #0x58\n\ + mov r1, sl\n\ + mul r1, r1, r0\n\ + add r0, r1, #0\n\ + add r1, r2, #0\n\ + add r1, r1, #0x4c\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1346 @cond_branch\n\ + ldr r0, ._1340\n\ + ldr r1, ._1340 + 4\n\ + bl StringCopy\n\ + mov r2, #0x1\n\ + mov r9, r2\n\ + b ._1343\n\ +._1341:\n\ + .align 2, 0\n\ +._1340:\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_BurnJpn\n\ +._1287:\n\ + mov r0, #0x58\n\ + mov r3, sl\n\ + mul r3, r3, r0\n\ + add r0, r3, #0\n\ + add r1, r2, #0\n\ + add r1, r1, #0x4c\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1346 @cond_branch\n\ + ldr r0, ._1344\n\ + ldr r1, ._1344 + 4\n\ +._1331:\n\ + bl StringCopy\n\ + mov r5, #0x1\n\ + mov r9, r5\n\ + b ._1343\n\ +._1345:\n\ + .align 2, 0\n\ +._1344:\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_IceJpn\n\ +._1259:\n\ + mov r0, #0x58\n\ + mov r1, sl\n\ + mul r1, r1, r0\n\ + add r0, r1, #0\n\ + add r1, r2, #0\n\ + add r1, r1, #0x50\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0xf0\n\ + lsl r1, r1, #0xc\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1346 @cond_branch\n\ + ldr r0, ._1352\n\ + ldr r1, ._1352 + 4\n\ + bl StringCopy\n\ + mov r2, #0x3\n\ + mov r9, r2\n\ +._1346:\n\ + mov r3, r9\n\ + cmp r3, #0\n\ + beq ._1347 @cond_branch\n\ +._1343:\n\ + mov r5, r9\n\ + cmp r5, #0x2\n\ + beq ._1348 @cond_branch\n\ + cmp r5, #0x2\n\ + bgt ._1349 @cond_branch\n\ + cmp r5, #0x1\n\ + beq ._1350 @cond_branch\n\ + b ._1355\n\ +._1353:\n\ + .align 2, 0\n\ +._1352:\n\ + .word gBattleTextBuff1\n\ + .word gStatusConditionString_LoveJpn\n\ +._1349:\n\ + mov r0, r9\n\ + cmp r0, #0x3\n\ + beq ._1354 @cond_branch\n\ + b ._1355\n\ +._1350:\n\ + ldr r1, ._1357\n\ + mov r0, #0x58\n\ + mov r2, sl\n\ + mul r2, r2, r0\n\ + add r1, r1, #0x4c\n\ + add r2, r2, r1\n\ + mov r0, #0x0\n\ + b ._1356\n\ +._1358:\n\ + .align 2, 0\n\ +._1357:\n\ + .word gBattleMons\n\ +._1348:\n\ + ldr r1, ._1360\n\ + mov r0, #0x58\n\ + mov r2, sl\n\ + mul r2, r2, r0\n\ + add r1, r1, #0x50\n\ + add r2, r2, r1\n\ + ldr r0, [r2]\n\ + mov r1, #0x8\n\ + neg r1, r1\n\ + b ._1359\n\ +._1361:\n\ + .align 2, 0\n\ +._1360:\n\ + .word gBattleMons\n\ +._1354:\n\ + ldr r1, ._1363\n\ + mov r0, #0x58\n\ + mov r2, sl\n\ + mul r2, r2, r0\n\ + add r1, r1, #0x50\n\ + add r2, r2, r1\n\ + ldr r0, [r2]\n\ + ldr r1, ._1363 + 4\n\ +._1359:\n\ + and r0, r0, r1\n\ +._1356:\n\ + str r0, [r2]\n\ +._1355:\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1363 + 8\n\ + ldr r0, ._1363 + 12\n\ + str r0, [r1]\n\ + ldr r0, ._1363 + 16\n\ + ldr r1, ._1363 + 20\n\ + add r0, r0, r1\n\ + mov r2, sl\n\ + strb r2, [r0]\n\ + ldr r4, ._1363 + 24\n\ + strb r2, [r4]\n\ + ldrb r1, [r4]\n\ + mov r0, #0x58\n\ + mul r0, r0, r1\n\ + ldr r1, ._1363 + 28\n\ + add r0, r0, r1\n\ + str r0, [sp]\n\ + mov r0, #0x0\n\ + mov r1, #0x28\n\ + mov r2, #0x0\n\ + mov r3, #0x4\n\ + bl EmitSetMonData\n\ + ldrb r0, [r4]\n\ + bl MarkBufferBankForExecution\n\ + bl ._1540\n\ +._1364:\n\ + .align 2, 0\n\ +._1363:\n\ + .word gBattleMons\n\ + .word 0xfff0ffff\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_AbilityCuredStatus\n\ + .word +0x2000000\n\ + .word 0x16003\n\ + .word gActiveBank\n\ + .word gUnknown_02024ACC\n\ +._1347:\n\ + mov r0, sl\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov sl, r0\n\ + ldr r0, ._1368\n\ + ldrb r0, [r0]\n\ + cmp sl, r0\n\ + bcs ._1365 @cond_branch\n\ + b ._1366\n\ +._1365:\n\ + bl ._1534\n\ +._1369:\n\ + .align 2, 0\n\ +._1368:\n\ + .word gNoOfAllBanks\n\ +._750:\n\ + mov r3, #0x0\n\ + mov sl, r3\n\ + ldr r0, ._1377\n\ + ldrb r0, [r0]\n\ + cmp sl, r0\n\ + bcc ._1370 @cond_branch\n\ + b ._1534\n\ +._1370:\n\ + ldr r4, ._1377 + 4\n\ +._1375:\n\ + mov r0, #0x58\n\ + mov r5, sl\n\ + mul r5, r5, r0\n\ + add r0, r5, #0\n\ + add r0, r0, r4\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x3b\n\ + bne ._1373 @cond_branch\n\ + mov r0, sl\n\ + bl CastformDataTypeChange\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ + cmp r0, #0\n\ + beq ._1373 @cond_branch\n\ + b ._1374\n\ +._1373:\n\ + mov r0, sl\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov sl, r0\n\ + ldr r0, ._1377\n\ + ldrb r0, [r0]\n\ + cmp sl, r0\n\ + bcc ._1375 @cond_branch\n\ + b ._1534\n\ +._1378:\n\ + .align 2, 0\n\ +._1377:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ +._751:\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + cmp r0, #0x1c\n\ + beq ._1379 @cond_branch\n\ + b ._1534\n\ +._1379:\n\ + ldr r4, ._1385\n\ + ldr r1, [r4]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1381 @cond_branch\n\ + b ._1534\n\ +._1381:\n\ + ldr r0, ._1385 + 4\n\ + and r1, r1, r0\n\ + str r1, [r4]\n\ + ldr r3, ._1385 + 8\n\ + add r2, r7, r3\n\ + ldrb r1, [r2]\n\ + mov r0, #0x3f\n\ + and r0, r0, r1\n\ + strb r0, [r2]\n\ + cmp r0, #0x6\n\ + bne ._1383 @cond_branch\n\ + mov r0, #0x2\n\ + strb r0, [r2]\n\ +._1383:\n\ + ldr r1, ._1385 + 12\n\ + ldrb r0, [r2]\n\ + add r0, r0, #0x40\n\ + strb r0, [r1, #0x3]\n\ + ldr r0, ._1385 + 16\n\ + ldrb r1, [r0]\n\ + ldr r5, ._1385 + 20\n\ + add r0, r7, r5\n\ + strb r1, [r0]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1385 + 24\n\ + ldr r0, ._1385 + 28\n\ + str r0, [r1]\n\ + ldr r0, [r4]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r4]\n\ + b ._1392\n\ +._1386:\n\ + .align 2, 0\n\ +._1385:\n\ + .word gHitMarker\n\ + .word 0xffffbfff\n\ + .word 0x160ca\n\ + .word gBattleCommunication\n\ + .word gBankTarget\n\ + .word 0x16003\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_SynchronizeActivates\n\ +._752:\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + cmp r0, #0x1c\n\ + beq ._1387 @cond_branch\n\ + b ._1534\n\ +._1387:\n\ + ldr r4, ._1393\n\ + ldr r1, [r4]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1389 @cond_branch\n\ + b ._1534\n\ +._1389:\n\ + ldr r0, ._1393 + 4\n\ + and r1, r1, r0\n\ + str r1, [r4]\n\ + ldr r3, ._1393 + 8\n\ + add r2, r7, r3\n\ + ldrb r1, [r2]\n\ + mov r0, #0x3f\n\ + and r0, r0, r1\n\ + strb r0, [r2]\n\ + cmp r0, #0x6\n\ + bne ._1391 @cond_branch\n\ + mov r0, #0x2\n\ + strb r0, [r2]\n\ +._1391:\n\ + ldr r1, ._1393 + 12\n\ + ldrb r0, [r2]\n\ + strb r0, [r1, #0x3]\n\ + ldr r0, ._1393 + 16\n\ + ldrb r1, [r0]\n\ + ldr r5, ._1393 + 20\n\ + add r0, r7, r5\n\ + strb r1, [r0]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1393 + 24\n\ + ldr r0, ._1393 + 28\n\ + str r0, [r1]\n\ + ldr r0, [r4]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x6\n\ + orr r0, r0, r1\n\ + str r0, [r4]\n\ + b ._1392\n\ +._1394:\n\ + .align 2, 0\n\ +._1393:\n\ + .word gHitMarker\n\ + .word 0xffffbfff\n\ + .word 0x160ca\n\ + .word gBattleCommunication\n\ + .word gBankAttacker\n\ + .word 0x16003\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_SynchronizeActivates\n\ +._753:\n\ + mov r4, #0x0\n\ + ldr r0, ._1402\n\ + ldrb r1, [r0]\n\ + cmp r4, r1\n\ + blt ._1395 @cond_branch\n\ + b ._1534\n\ +._1395:\n\ + ldr r0, ._1402 + 4\n\ + add r5, r1, #0\n\ + ldr r2, ._1402 + 8\n\ + add r3, r0, #0\n\ + add r3, r3, #0x20\n\ + mov r6, #0x80\n\ + lsl r6, r6, #0xc\n\ +._1400:\n\ + ldrb r1, [r3]\n\ + cmp r1, #0x16\n\ + bne ._1398 @cond_branch\n\ + ldr r0, [r2]\n\ + and r0, r0, r6\n\ + cmp r0, #0\n\ + beq ._1398 @cond_branch\n\ + b ._1399\n\ +._1398:\n\ + add r2, r2, #0x4\n\ + add r3, r3, #0x58\n\ + add r4, r4, #0x1\n\ + cmp r4, r5\n\ + blt ._1400 @cond_branch\n\ + b ._1534\n\ +._1403:\n\ + .align 2, 0\n\ +._1402:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gStatuses3\n\ +._755:\n\ + mov r4, #0x0\n\ + ldr r0, ._1417\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1404 @cond_branch\n\ + b ._1534\n\ +._1404:\n\ + ldr r0, ._1417 + 4\n\ + mov r8, r0\n\ + ldr r1, ._1417 + 8\n\ + add r1, r1, #0x20\n\ + str r1, [sp, #0x1c]\n\ + mov r2, #0x0\n\ + str r2, [sp, #0x20]\n\ +._1434:\n\ + ldr r3, [sp, #0x1c]\n\ + ldrb r0, [r3]\n\ + cmp r0, #0x24\n\ + beq ._1406 @cond_branch\n\ + b ._1431\n\ +._1406:\n\ + ldr r0, ._1417 + 12\n\ + ldr r5, [sp, #0x20]\n\ + add r0, r5, r0\n\ + ldr r1, [r0]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0xd\n\ + and r1, r1, r0\n\ + str r5, [sp, #0x18]\n\ + cmp r1, #0\n\ + bne ._1408 @cond_branch\n\ + b ._1431\n\ +._1408:\n\ + lsl r0, r4, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl GetBankIdentity\n\ + mov r1, #0x1\n\ + add r5, r0, #0\n\ + eor r5, r5, r1\n\ + and r5, r5, r1\n\ + add r0, r5, #0\n\ + bl GetBankByIdentity\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ + add r0, r5, #2\n\ + bl GetBankByIdentity\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + ldr r0, ._1417 + 16\n\ + ldrh r1, [r0]\n\ + mov r2, #0x1\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1410 @cond_branch\n\ + b ._1411\n\ +._1410:\n\ + mov r1, #0x58\n\ + add r0, r6, #0\n\ + mul r0, r0, r1\n\ + ldr r3, ._1417 + 8\n\ + add r1, r0, r3\n\ + add r0, r1, #0\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._1420 @cond_branch\n\ + ldrh r0, [r1, #0x28]\n\ + cmp r0, #0\n\ + beq ._1415 @cond_branch\n\ + mov r1, #0x58\n\ + add r0, r7, #0\n\ + mul r0, r0, r1\n\ + add r1, r0, r3\n\ + add r0, r1, #0\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._1415 @cond_branch\n\ + ldrh r0, [r1, #0x28]\n\ + cmp r0, #0\n\ + beq ._1415 @cond_branch\n\ + str r2, [sp, #0x24]\n\ + bl Random\n\ + ldr r2, [sp, #0x24]\n\ + add r1, r2, #0\n\ + and r1, r1, r0\n\ + lsl r1, r1, #0x1\n\ + orr r5, r5, r1\n\ + add r0, r5, #0\n\ + bl GetBankByIdentity\n\ + mov r2, r8\n\ + strb r0, [r2]\n\ + ldrb r0, [r2]\n\ + mov r3, #0x58\n\ + mul r0, r0, r3\n\ + ldr r5, ._1417 + 8\n\ + add r0, r0, r5\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + ldr r1, [sp, #0x1c]\n\ + strb r0, [r1]\n\ + ldrb r0, [r2]\n\ + mul r0, r0, r3\n\ + add r0, r0, r5\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + ldr r2, ._1417 + 20\n\ + strb r0, [r2]\n\ + b ._1416\n\ +._1418:\n\ + .align 2, 0\n\ +._1417:\n\ + .word gNoOfAllBanks\n\ + .word gActiveBank\n\ + .word gBattleMons\n\ + .word gStatuses3\n\ + .word gBattleTypeFlags\n\ + .word gLastUsedAbility\n\ +._1415:\n\ + ldr r3, ._1422\n\ + mov r2, #0x58\n\ + add r0, r6, #0\n\ + mul r0, r0, r2\n\ + add r1, r0, r3\n\ + add r0, r1, #0\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._1420 @cond_branch\n\ + ldrh r0, [r1, #0x28]\n\ + cmp r0, #0\n\ + beq ._1420 @cond_branch\n\ + mov r5, r8\n\ + strb r6, [r5]\n\ + add r1, r4, #0\n\ + mul r1, r1, r2\n\ + add r1, r1, r3\n\ + ldrb r0, [r5]\n\ + mul r0, r0, r2\n\ + add r0, r0, r3\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + add r1, r1, #0x20\n\ + strb r0, [r1]\n\ + ldrb r0, [r5]\n\ + mul r0, r0, r2\n\ + add r0, r0, r3\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + b ._1426\n\ +._1423:\n\ + .align 2, 0\n\ +._1422:\n\ + .word gBattleMons\n\ +._1420:\n\ + ldr r3, ._1427\n\ + mov r2, #0x58\n\ + add r0, r7, #0\n\ + mul r0, r0, r2\n\ + add r1, r0, r3\n\ + add r0, r1, #0\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._1430 @cond_branch\n\ + ldrh r0, [r1, #0x28]\n\ + cmp r0, #0\n\ + beq ._1430 @cond_branch\n\ + mov r5, r8\n\ + strb r7, [r5]\n\ + add r1, r4, #0\n\ + mul r1, r1, r2\n\ + add r1, r1, r3\n\ + ldrb r0, [r5]\n\ + mul r0, r0, r2\n\ + add r0, r0, r3\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + add r1, r1, #0x20\n\ + strb r0, [r1]\n\ + ldrb r0, [r5]\n\ + mul r0, r0, r2\n\ + add r0, r0, r3\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + b ._1426\n\ +._1428:\n\ + .align 2, 0\n\ +._1427:\n\ + .word gBattleMons\n\ +._1411:\n\ + mov r2, r8\n\ + strb r6, [r2]\n\ + mov r3, #0x58\n\ + add r0, r6, #0\n\ + mul r0, r0, r3\n\ + ldr r5, ._1436\n\ + add r0, r0, r5\n\ + add r2, r0, #0\n\ + add r2, r2, #0x20\n\ + ldrb r1, [r2]\n\ + cmp r1, #0\n\ + beq ._1430 @cond_branch\n\ + ldrh r0, [r0, #0x28]\n\ + cmp r0, #0\n\ + beq ._1430 @cond_branch\n\ + ldr r0, [sp, #0x1c]\n\ + strb r1, [r0]\n\ + ldrb r0, [r2]\n\ +._1426:\n\ + ldr r1, ._1436 + 4\n\ + strb r0, [r1]\n\ +._1416:\n\ + mov r0, r9\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1430:\n\ + mov r2, r9\n\ + cmp r2, #0\n\ + beq ._1431 @cond_branch\n\ + b ._1432\n\ +._1431:\n\ + ldr r3, [sp, #0x1c]\n\ + add r3, r3, #0x58\n\ + str r3, [sp, #0x1c]\n\ + ldr r5, [sp, #0x20]\n\ + add r5, r5, #0x4\n\ + str r5, [sp, #0x20]\n\ + add r4, r4, #0x1\n\ + ldr r0, ._1436 + 8\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + bge ._1433 @cond_branch\n\ + b ._1434\n\ +._1433:\n\ + b ._1534\n\ +._1437:\n\ + .align 2, 0\n\ +._1436:\n\ + .word gBattleMons\n\ + .word gLastUsedAbility\n\ + .word gNoOfAllBanks\n\ +._754:\n\ + mov r4, #0x0\n\ + ldr r0, ._1445\n\ + ldrb r1, [r0]\n\ + cmp r4, r1\n\ + blt ._1438 @cond_branch\n\ + b ._1534\n\ +._1438:\n\ + ldr r0, ._1445 + 4\n\ + add r5, r1, #0\n\ + ldr r2, ._1445 + 8\n\ + add r3, r0, #0\n\ + add r3, r3, #0x20\n\ + mov r6, #0x80\n\ + lsl r6, r6, #0xc\n\ +._1443:\n\ + ldrb r1, [r3]\n\ + cmp r1, #0x16\n\ + bne ._1441 @cond_branch\n\ + ldr r0, [r2]\n\ + and r0, r0, r6\n\ + cmp r0, #0\n\ + beq ._1441 @cond_branch\n\ + b ._1442\n\ +._1441:\n\ + add r2, r2, #0x4\n\ + add r3, r3, #0x58\n\ + add r4, r4, #0x1\n\ + cmp r4, r5\n\ + blt ._1443 @cond_branch\n\ + b ._1534\n\ +._1446:\n\ + .align 2, 0\n\ +._1445:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gStatuses3\n\ +._756:\n\ + mov r0, sl\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + mov r4, #0x0\n\ + ldr r0, ._1453\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1447 @cond_branch\n\ + b ._1534\n\ +._1447:\n\ + ldr r7, ._1453 + 4\n\ +._1451:\n\ + lsl r0, r4, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + add r3, r4, #1\n\ + cmp r0, r5\n\ + beq ._1450 @cond_branch\n\ + mov r0, #0x58\n\ + mul r0, r0, r4\n\ + add r0, r0, r7\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, r6\n\ + bne ._1450 @cond_branch\n\ + ldr r0, ._1453 + 8\n\ + strb r6, [r0]\n\ + lsl r0, r3, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1450:\n\ + add r4, r3, #0\n\ + ldr r0, ._1453\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1451 @cond_branch\n\ + b ._1534\n\ +._1454:\n\ + .align 2, 0\n\ +._1453:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gLastUsedAbility\n\ +._757:\n\ + mov r0, sl\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + mov r4, #0x0\n\ + ldr r0, ._1461\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1455 @cond_branch\n\ + b ._1534\n\ +._1455:\n\ + ldr r7, ._1461 + 4\n\ +._1459:\n\ + lsl r0, r4, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + add r3, r4, #1\n\ + cmp r0, r5\n\ + bne ._1458 @cond_branch\n\ + mov r0, #0x58\n\ + mul r0, r0, r4\n\ + add r0, r0, r7\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, r6\n\ + bne ._1458 @cond_branch\n\ + ldr r0, ._1461 + 8\n\ + strb r6, [r0]\n\ + lsl r0, r3, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1458:\n\ + add r4, r3, #0\n\ + ldr r0, ._1461\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1459 @cond_branch\n\ + b ._1534\n\ +._1462:\n\ + .align 2, 0\n\ +._1461:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gLastUsedAbility\n\ +._758:\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + cmp r0, #0xfd\n\ + beq ._1463 @cond_branch\n\ + cmp r0, #0xfe\n\ + beq ._1464 @cond_branch\n\ + mov r4, #0x0\n\ + ldr r0, ._1468\n\ + add r5, r0, #0\n\ + ldrb r2, [r5]\n\ + cmp r4, r2\n\ + blt ._1465 @cond_branch\n\ + b ._1534\n\ +._1465:\n\ + ldr r2, ._1468 + 4\n\ + b ._1485\n\ +._1469:\n\ + .align 2, 0\n\ +._1468:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ +._1463:\n\ + mov r4, #0x0\n\ + ldr r0, ._1475\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1470 @cond_branch\n\ + b ._1534\n\ +._1470:\n\ + ldr r5, ._1475 + 4\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0x9\n\ + add r1, r0, #0\n\ +._1473:\n\ + lsl r0, r4, #0x2\n\ + add r0, r0, r5\n\ + ldr r0, [r0]\n\ + and r0, r0, r2\n\ + add r3, r4, #1\n\ + cmp r0, #0\n\ + beq ._1472 @cond_branch\n\ + lsl r0, r3, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1472:\n\ + add r4, r3, #0\n\ + cmp r4, r1\n\ + blt ._1473 @cond_branch\n\ + b ._1534\n\ +._1476:\n\ + .align 2, 0\n\ +._1475:\n\ + .word gNoOfAllBanks\n\ + .word gStatuses3\n\ +._1464:\n\ + mov r4, #0x0\n\ + ldr r0, ._1482\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1477 @cond_branch\n\ + b ._1534\n\ +._1477:\n\ + ldr r5, ._1482 + 4\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0xa\n\ + add r1, r0, #0\n\ +._1480:\n\ + lsl r0, r4, #0x2\n\ + add r0, r0, r5\n\ + ldr r0, [r0]\n\ + and r0, r0, r2\n\ + add r3, r4, #1\n\ + cmp r0, #0\n\ + beq ._1479 @cond_branch\n\ + lsl r0, r3, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1479:\n\ + add r4, r3, #0\n\ + cmp r4, r1\n\ + blt ._1480 @cond_branch\n\ + b ._1534\n\ +._1483:\n\ + .align 2, 0\n\ +._1482:\n\ + .word gNoOfAllBanks\n\ + .word gStatuses3\n\ +._1485:\n\ + mov r0, #0x58\n\ + mul r0, r0, r4\n\ + add r0, r0, r2\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + add r3, r4, #1\n\ + cmp r0, r6\n\ + bne ._1484 @cond_branch\n\ + mov r0, r8\n\ + strb r6, [r0]\n\ + lsl r0, r3, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1484:\n\ + add r4, r3, #0\n\ + ldrb r1, [r5]\n\ + cmp r4, r1\n\ + blt ._1485 @cond_branch\n\ + b ._1534\n\ +._763:\n\ + mov r4, #0x0\n\ + ldr r0, ._1493\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1487 @cond_branch\n\ + b ._1534\n\ +._1487:\n\ + ldr r7, ._1493 + 4\n\ + add r2, r0, #0\n\ + mov r5, #0x58\n\ +._1491:\n\ + add r0, r4, #0\n\ + mul r0, r0, r5\n\ + add r1, r0, r7\n\ + add r0, r1, #0\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + add r3, r4, #1\n\ + cmp r0, r6\n\ + bne ._1490 @cond_branch\n\ + ldrh r0, [r1, #0x28]\n\ + cmp r0, #0\n\ + beq ._1490 @cond_branch\n\ + mov r0, r8\n\ + strb r6, [r0]\n\ + lsl r0, r3, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1490:\n\ + add r4, r3, #0\n\ + cmp r4, r2\n\ + blt ._1491 @cond_branch\n\ + b ._1534\n\ +._1494:\n\ + .align 2, 0\n\ +._1493:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ +._759:\n\ + mov r4, #0x0\n\ + ldr r0, ._1501\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1495 @cond_branch\n\ + b ._1534\n\ +._1495:\n\ + ldr r7, ._1501 + 4\n\ + add r1, r0, #0\n\ + mov r5, #0x58\n\ + ldr r2, ._1501 + 8\n\ +._1499:\n\ + add r0, r4, #0\n\ + mul r0, r0, r5\n\ + add r0, r0, r7\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + add r3, r4, #1\n\ + cmp r0, r6\n\ + bne ._1498 @cond_branch\n\ + cmp r4, sl\n\ + beq ._1498 @cond_branch\n\ + strb r6, [r2]\n\ + lsl r0, r3, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1498:\n\ + add r4, r3, #0\n\ + cmp r4, r1\n\ + blt ._1499 @cond_branch\n\ + b ._1534\n\ +._1502:\n\ + .align 2, 0\n\ +._1501:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gLastUsedAbility\n\ +._760:\n\ + mov r0, sl\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + mov r4, #0x0\n\ + ldr r0, ._1509\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1503 @cond_branch\n\ + b ._1534\n\ +._1503:\n\ + ldr r7, ._1509 + 4\n\ +._1507:\n\ + lsl r0, r4, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, r5\n\ + beq ._1506 @cond_branch\n\ + mov r0, #0x58\n\ + mul r0, r0, r4\n\ + add r0, r0, r7\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, r6\n\ + bne ._1506 @cond_branch\n\ + ldr r0, ._1509 + 8\n\ + strb r6, [r0]\n\ + mov r0, r9\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1506:\n\ + add r4, r4, #0x1\n\ + ldr r0, ._1509\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1507 @cond_branch\n\ + b ._1534\n\ +._1510:\n\ + .align 2, 0\n\ +._1509:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gLastUsedAbility\n\ +._761:\n\ + mov r0, sl\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + mov r4, #0x0\n\ + ldr r0, ._1517\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1511 @cond_branch\n\ + b ._1534\n\ +._1511:\n\ + ldr r7, ._1517 + 4\n\ +._1515:\n\ + lsl r0, r4, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, r5\n\ + bne ._1514 @cond_branch\n\ + mov r0, #0x58\n\ + mul r0, r0, r4\n\ + add r0, r0, r7\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, r6\n\ + bne ._1514 @cond_branch\n\ + ldr r0, ._1517 + 8\n\ + strb r6, [r0]\n\ + mov r0, r9\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1514:\n\ + add r4, r4, #0x1\n\ + ldr r0, ._1517\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._1515 @cond_branch\n\ + b ._1534\n\ +._1518:\n\ + .align 2, 0\n\ +._1517:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gLastUsedAbility\n\ +._853:\n\ + ldr r0, ._1520\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r0, ._1520 + 4\n\ + ldr r2, ._1520 + 8\n\ + add r1, r0, r2\n\ + strb r6, [r1]\n\ + mov r1, r9\n\ + sub r1, r1, #0x1\n\ + ldr r3, ._1520 + 12\n\ + add r0, r0, r3\n\ + strb r1, [r0]\n\ + b ._1534\n\ +._1521:\n\ + .align 2, 0\n\ +._1520:\n\ + .word BattleScript_CastformChange\n\ + .word +0x2000000\n\ + .word 0x16003\n\ + .word 0x1609b\n\ +._1374:\n\ + ldr r0, ._1523\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r0, ._1523 + 4\n\ + ldr r5, ._1523 + 8\n\ + add r1, r0, r5\n\ + mov r2, sl\n\ + strb r2, [r1]\n\ + mov r1, r9\n\ + sub r1, r1, #0x1\n\ + ldr r3, ._1523 + 12\n\ + add r0, r0, r3\n\ + strb r1, [r0]\n\ + b ._1540\n\ +._1524:\n\ + .align 2, 0\n\ +._1523:\n\ + .word BattleScript_CastformChange\n\ + .word +0x2000000\n\ + .word 0x16003\n\ + .word 0x1609b\n\ +._1399:\n\ + mov r5, r8\n\ + strb r1, [r5]\n\ + ldr r0, [r2]\n\ + ldr r1, ._1526\n\ + and r0, r0, r1\n\ + str r0, [r2]\n\ + ldr r0, ._1526 + 4\n\ + bl BattleScriptPushCursorAndCallback\n\ + b ._1525\n\ +._1527:\n\ + .align 2, 0\n\ +._1526:\n\ + .word 0xfff7ffff\n\ + .word gUnknown_081D978C\n\ +._1432:\n\ + ldr r0, ._1529\n\ + bl BattleScriptPushCursorAndCallback\n\ + ldr r1, ._1529 + 4\n\ + ldr r2, [sp, #0x18]\n\ + add r1, r2, r1\n\ + ldr r0, [r1]\n\ + ldr r2, ._1529 + 8\n\ + and r0, r0, r2\n\ + str r0, [r1]\n\ + ldr r0, ._1529 + 12\n\ + ldr r3, ._1529 + 16\n\ + add r0, r0, r3\n\ + strb r4, [r0]\n\ + ldr r1, ._1529 + 20\n\ + mov r4, #0xfd\n\ + strb r4, [r1]\n\ + mov r0, #0x4\n\ + strb r0, [r1, #0x1]\n\ + ldr r2, ._1529 + 24\n\ + ldrb r0, [r2]\n\ + strb r0, [r1, #0x2]\n\ + ldr r3, ._1529 + 28\n\ + ldrb r0, [r2]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r3\n\ + ldrh r0, [r0]\n\ + strb r0, [r1, #0x3]\n\ + mov r0, #0xff\n\ + strb r0, [r1, #0x4]\n\ + ldr r1, ._1529 + 32\n\ + strb r4, [r1]\n\ + mov r0, #0x9\n\ + strb r0, [r1, #0x1]\n\ + ldr r0, ._1529 + 36\n\ + ldrb r0, [r0]\n\ + strb r0, [r1, #0x2]\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + strb r0, [r1, #0x3]\n\ + b ._1534\n\ +._1530:\n\ + .align 2, 0\n\ +._1529:\n\ + .word BattleScript_TraceActivates\n\ + .word gStatuses3\n\ + .word 0xffefffff\n\ + .word +0x2000000\n\ + .word 0x16003\n\ + .word gBattleTextBuff1\n\ + .word gActiveBank\n\ + .word gBattlePartyID\n\ + .word gBattleTextBuff2\n\ + .word gLastUsedAbility\n\ +._1442:\n\ + mov r5, r8\n\ + strb r1, [r5]\n\ + ldr r0, [r2]\n\ + ldr r1, ._1532\n\ + and r0, r0, r1\n\ + str r0, [r2]\n\ + bl BattleScriptPushCursor\n\ + ldr r1, ._1532 + 4\n\ + ldr r0, ._1532 + 8\n\ + str r0, [r1]\n\ +._1525:\n\ + ldr r0, ._1532 + 12\n\ + ldr r1, ._1532 + 16\n\ + add r0, r0, r1\n\ + strb r4, [r0]\n\ +._1392:\n\ + mov r0, r9\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ + b ._1534\n\ +._1533:\n\ + .align 2, 0\n\ +._1532:\n\ + .word 0xfff7ffff\n\ + .word gBattlescriptCurrInstr\n\ + .word gUnknown_081D9795\n\ + .word +0x2000000\n\ + .word 0x160dd\n\ +._762:\n\ + mov r4, #0x0\n\ + ldr r0, ._1541\n\ + ldrb r1, [r0]\n\ + cmp r4, r1\n\ + bge ._1534 @cond_branch\n\ + ldr r0, ._1541 + 4\n\ + add r2, r1, #0\n\ + add r1, r0, #0\n\ + add r1, r1, #0x20\n\ + ldr r3, ._1541 + 8\n\ +._1537:\n\ + ldrb r0, [r1]\n\ + cmp r0, r6\n\ + bne ._1536 @cond_branch\n\ + cmp r4, sl\n\ + beq ._1536 @cond_branch\n\ + strb r6, [r3]\n\ + mov r0, r9\n\ + add r0, r0, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r9, r0\n\ +._1536:\n\ + add r1, r1, #0x58\n\ + add r4, r4, #0x1\n\ + cmp r4, r2\n\ + blt ._1537 @cond_branch\n\ +._1534:\n\ + mov r2, r9\n\ + cmp r2, #0\n\ + beq ._1540 @cond_branch\n\ +._916:\n\ + ldr r3, [sp, #0x4]\n\ + cmp r3, #0xb\n\ + bhi ._1540 @cond_branch\n\ + ldr r1, ._1541 + 8\n\ + ldrb r0, [r1]\n\ + cmp r0, #0xff\n\ + beq ._1540 @cond_branch\n\ + add r1, r0, #0\n\ + mov r0, sl\n\ + bl RecordAbilityBattle\n\ +._1540:\n\ + mov r0, r9\n\ + add sp, sp, #0x28\n\ + pop {r3, r4, r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov sl, r5\n\ + pop {r4, r5, r6, r7}\n\ + pop {r1}\n\ + bx r1\n\ +._1542:\n\ + .align 2, 0\n\ +._1541:\n\ + .word gNoOfAllBanks\n\ + .word gBattleMons\n\ + .word gLastUsedAbility"); +} +#else u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { u8 effect = 0; @@ -2498,6 +6558,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) return effect; } +#endif void BattleScriptExecute(const u8* BS_ptr) { @@ -3377,6 +7438,417 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target return targetBank; } +#if DEBUG +__attribute__((naked)) +u8 IsMonDisobedient(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6, r7}\n\ + add sp, sp, #0xfffffff0\n\ + ldr r0, ._1785\n\ + ldrh r1, [r0]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1791 @cond_branch\n\ + ldr r4, ._1785 + 4\n\ + ldrb r0, [r4]\n\ + bl GetBankSide\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + beq ._1791 @cond_branch\n\ + ldr r2, ._1785 + 8\n\ + ldrb r1, [r4]\n\ + mov r0, #0x58\n\ + mul r1, r1, r0\n\ + add r0, r2, #0\n\ + add r0, r0, #0x54\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + add r2, r2, #0x3c\n\ + add r1, r1, r2\n\ + bl IsOtherTrainer\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1791 @cond_branch\n\ + ldr r0, ._1785 + 12\n\ + ldrb r1, [r0]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1783 @cond_branch\n\ + mov r0, #0xa\n\ + b ._1784\n\ +._1786:\n\ + .align 2, 0\n\ +._1785:\n\ + .word gBattleTypeFlags\n\ + .word gBankAttacker\n\ + .word gBattleMons\n\ + .word gUnknown_02023A14+0x50\n\ +._1783:\n\ + ldr r0, ._1794\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1791 @cond_branch\n\ + mov r1, #0xa\n\ + mov r8, r1\n\ + ldr r0, ._1794 + 4\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1788 @cond_branch\n\ + mov r2, #0x1e\n\ + mov r8, r2\n\ +._1788:\n\ + ldr r0, ._1794 + 8\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1789 @cond_branch\n\ + mov r4, #0x32\n\ + mov r8, r4\n\ +._1789:\n\ + ldr r0, ._1794 + 12\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1790 @cond_branch\n\ + mov r0, #0x46\n\ +._1784:\n\ + mov r8, r0\n\ +._1790:\n\ + ldr r5, ._1794 + 16\n\ + ldr r7, ._1794 + 20\n\ + ldrb r0, [r7]\n\ + mov r6, #0x58\n\ + mul r0, r0, r6\n\ + add r0, r0, r5\n\ + add r0, r0, #0x2a\n\ + ldrb r0, [r0]\n\ + cmp r0, r8\n\ + bls ._1791 @cond_branch\n\ + bl Random\n\ + mov r1, #0xff\n\ + and r1, r1, r0\n\ + ldrb r0, [r7]\n\ + add r2, r0, #0\n\ + mul r2, r2, r6\n\ + add r0, r2, r5\n\ + add r0, r0, #0x2a\n\ + ldrb r0, [r0]\n\ + add r0, r0, r8\n\ + mul r0, r0, r1\n\ + asr r4, r0, #0x8\n\ + cmp r4, r8\n\ + bge ._1792 @cond_branch\n\ +._1791:\n\ + mov r0, #0x0\n\ + b ._1823\n\ +._1795:\n\ + .align 2, 0\n\ +._1794:\n\ + .word 0x80e\n\ + .word 0x808\n\ + .word 0x80a\n\ + .word 0x80c\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ +._1792:\n\ + ldr r3, ._1801\n\ + ldrh r0, [r3]\n\ + cmp r0, #0x63\n\ + bne ._1796 @cond_branch\n\ + add r0, r5, #0\n\ + add r0, r0, #0x50\n\ + add r0, r2, r0\n\ + ldr r1, [r0]\n\ + ldr r2, ._1801 + 4\n\ + and r1, r1, r2\n\ + str r1, [r0]\n\ +._1796:\n\ + ldrb r0, [r7]\n\ + mul r0, r0, r6\n\ + add r1, r5, #0\n\ + add r1, r1, #0x4c\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x7\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1799 @cond_branch\n\ + ldrh r0, [r3]\n\ + cmp r0, #0xad\n\ + beq ._1798 @cond_branch\n\ + cmp r0, #0xd6\n\ + bne ._1799 @cond_branch\n\ +._1798:\n\ + ldr r1, ._1801 + 8\n\ + ldr r0, ._1801 + 12\n\ + b ._1819\n\ +._1802:\n\ + .align 2, 0\n\ +._1801:\n\ + .word gCurrentMove\n\ + .word 0xff7fffff\n\ + .word gBattlescriptCurrInstr\n\ + .word gUnknown_081D995F\n\ +._1799:\n\ + bl Random\n\ + mov r5, #0xff\n\ + add r1, r5, #0\n\ + and r1, r1, r0\n\ + ldr r6, ._1808\n\ + ldr r2, ._1808 + 4\n\ + mov r9, r2\n\ + ldrb r3, [r2]\n\ + mov r7, #0x58\n\ + add r0, r3, #0\n\ + mul r0, r0, r7\n\ + add r0, r0, r6\n\ + add r0, r0, #0x2a\n\ + ldrb r2, [r0]\n\ + mov r4, r8\n\ + add r0, r2, r4\n\ + mul r0, r0, r1\n\ + asr r4, r0, #0x8\n\ + cmp r4, r8\n\ + bge ._1803 @cond_branch\n\ + ldr r7, ._1808 + 8\n\ + ldr r5, ._1808 + 12\n\ + ldrb r0, [r5]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r7\n\ + ldrb r1, [r0]\n\ + add r0, r3, #0\n\ + mov r2, #0xff\n\ + bl CheckMoveLimitations\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + cmp r4, #0xf\n\ + bne ._1804 @cond_branch\n\ + b ._1805\n\ +._1804:\n\ + add r6, r5, #0\n\ + ldr r0, ._1808 + 16\n\ + mov r9, r0\n\ + mov r1, #0x3\n\ + mov r8, r1\n\ +._1806:\n\ + bl Random\n\ + mov r2, r8\n\ + and r0, r0, r2\n\ + mov r1, r9\n\ + strb r0, [r1]\n\ + strb r0, [r6]\n\ + ldrb r0, [r6]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r7\n\ + ldr r5, [r0]\n\ + and r5, r5, r4\n\ + cmp r5, #0\n\ + bne ._1806 @cond_branch\n\ + ldr r4, ._1808 + 20\n\ + ldr r3, ._1808\n\ + ldr r0, ._1808 + 12\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x1\n\ + ldr r1, ._1808 + 4\n\ + ldrb r2, [r1]\n\ + mov r1, #0x58\n\ + mul r1, r1, r2\n\ + add r0, r0, r1\n\ + add r3, r3, #0xc\n\ + add r0, r0, r3\n\ + ldrh r0, [r0]\n\ + strh r0, [r4]\n\ + ldr r0, ._1808 + 24\n\ + strb r5, [r0, #0x3]\n\ + ldr r0, ._1808 + 28\n\ + mov r1, #0x0\n\ + strh r5, [r0]\n\ + ldr r0, ._1808 + 32\n\ + ldr r2, ._1808 + 36\n\ + add r0, r0, r2\n\ + strb r1, [r0]\n\ + ldr r1, ._1808 + 40\n\ + ldr r0, ._1808 + 44\n\ + str r0, [r1]\n\ + ldrh r0, [r4]\n\ + mov r1, #0x0\n\ + bl GetMoveTarget\n\ + ldr r1, ._1808 + 48\n\ + strb r0, [r1]\n\ + ldr r2, ._1808 + 52\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0xe\n\ + b ._1807\n\ +._1809:\n\ + .align 2, 0\n\ +._1808:\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gBitTable\n\ + .word gCurrMovePos\n\ + .word gUnknown_02024BE5\n\ + .word gRandomMove\n\ + .word gBattleCommunication\n\ + .word gDynamicBasePower\n\ + .word +0x2000000\n\ + .word 0x1601c\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_IgnoresAndUsesRandomMove\n\ + .word gBankTarget\n\ + .word gHitMarker\n\ +._1803:\n\ + mov r4, r8\n\ + sub r0, r2, r4\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + mov r8, r0\n\ + bl Random\n\ + add r4, r5, #0\n\ + and r4, r4, r0\n\ + cmp r4, r8\n\ + bge ._1818 @cond_branch\n\ + mov r1, r9\n\ + ldrb r0, [r1]\n\ + add r1, r0, #0\n\ + mul r1, r1, r7\n\ + add r0, r6, #0\n\ + add r0, r0, #0x4c\n\ + add r0, r1, r0\n\ + ldr r0, [r0]\n\ + and r0, r0, r5\n\ + cmp r0, #0\n\ + bne ._1818 @cond_branch\n\ + add r0, r1, r6\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x48\n\ + beq ._1818 @cond_branch\n\ + cmp r0, #0xf\n\ + beq ._1818 @cond_branch\n\ + mov r2, #0x0\n\ + ldr r0, ._1820\n\ + ldrb r3, [r0]\n\ + add r7, r0, #0\n\ + cmp r2, r3\n\ + bge ._1816 @cond_branch\n\ + ldr r0, [r6, #0x50]\n\ + mov r1, #0x70\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1816 @cond_branch\n\ + add r1, r6, #0\n\ + add r1, r1, #0x50\n\ + mov r5, #0x70\n\ +._1817:\n\ + add r1, r1, #0x58\n\ + add r2, r2, #0x1\n\ + cmp r2, r3\n\ + bge ._1816 @cond_branch\n\ + ldr r0, [r1]\n\ + and r0, r0, r5\n\ + cmp r0, #0\n\ + beq ._1817 @cond_branch\n\ +._1816:\n\ + ldrb r7, [r7]\n\ + cmp r2, r7\n\ + bne ._1818 @cond_branch\n\ + ldr r1, ._1820 + 4\n\ + ldr r0, ._1820 + 8\n\ + b ._1819\n\ +._1821:\n\ + .align 2, 0\n\ +._1820:\n\ + .word gNoOfAllBanks\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_IgnoresAndFallsAsleep\n\ +._1818:\n\ + mov r2, r8\n\ + sub r4, r4, r2\n\ + cmp r4, r8\n\ + blt ._1822 @cond_branch\n\ +._1805:\n\ + bl Random\n\ + ldr r2, ._1824\n\ + mov r1, #0x3\n\ + and r1, r1, r0\n\ + strb r1, [r2, #0x5]\n\ + ldr r1, ._1824 + 4\n\ + ldr r0, ._1824 + 8\n\ +._1819:\n\ + str r0, [r1]\n\ + mov r0, #0x1\n\ + b ._1823\n\ +._1825:\n\ + .align 2, 0\n\ +._1824:\n\ + .word gBattleCommunication\n\ + .word gBattlescriptCurrInstr\n\ + .word BattleScript_MoveUsedLoafingAround\n\ +._1822:\n\ + ldr r4, ._1826\n\ + ldrb r1, [r4]\n\ + mov r0, #0x58\n\ + mul r1, r1, r0\n\ + ldr r0, ._1826 + 4\n\ + add r1, r1, r0\n\ + mov r0, #0x28\n\ + str r0, [sp]\n\ + mov r0, #0x0\n\ + str r0, [sp, #0x4]\n\ + ldrb r0, [r4]\n\ + str r0, [sp, #0x8]\n\ + ldrb r0, [r4]\n\ + str r0, [sp, #0xc]\n\ + add r0, r1, #0\n\ + mov r2, #0x1\n\ + mov r3, #0x0\n\ + bl CalculateBaseDamage\n\ + ldr r1, ._1826 + 8\n\ + str r0, [r1]\n\ + ldr r1, ._1826 + 12\n\ + ldrb r0, [r4]\n\ + strb r0, [r1]\n\ + ldr r1, ._1826 + 16\n\ + ldr r0, ._1826 + 20\n\ + str r0, [r1]\n\ + ldr r2, ._1826 + 24\n\ + ldr r0, [r2]\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0xc\n\ +._1807:\n\ + orr r0, r0, r1\n\ + str r0, [r2]\n\ + mov r0, #0x2\n\ +._1823:\n\ + add sp, sp, #0x10\n\ + pop {r3, r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4, r5, r6, r7}\n\ + pop {r1}\n\ + bx r1\n\ +._1827:\n\ + .align 2, 0\n\ +._1826:\n\ + .word gBankAttacker\n\ + .word gBattleMons\n\ + .word gBattleMoveDamage\n\ + .word gBankTarget\n\ + .word gBattlescriptCurrInstr\n\ + .word gUnknown_081D99A0\n\ + .word gHitMarker"); +} +#else u8 IsMonDisobedient(void) { u8 obedienceLevel; @@ -3477,3 +7949,4 @@ u8 IsMonDisobedient(void) } } } +#endif diff --git a/src/engine/link.c b/src/engine/link.c index 3bcacd12b..a716d5c2b 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -13,6 +13,7 @@ #include "constants/songs.h" #include "sound.h" #include "sprite.h" +#include "string_util.h" #include "strings2.h" #include "task.h" #include "text.h" @@ -1396,12 +1397,31 @@ void CB2_LinkError(void) static void CB2_PrintErrorMessage(void) { - u8 array[64] __attribute__((unused)); // unused + u8 array[32] __attribute__((unused)); // unused + u8 array2[32] __attribute__((unused)); // unused switch (gMain.state) { case 0: Menu_PrintTextPixelCoords(gMultiText_LinkError, 20, 56, 1); +#ifdef DEBUG + StringCopy(array, sColorCodes); + + ConvertIntToHexStringN(array2, sErrorLinkStatus, STR_CONV_MODE_LEADING_ZEROS, 8); + StringAppend(array, array2); + + StringAppend(array, sEmptyString); + + ConvertIntToHexStringN(array2, sErrorLastSendQueueCount, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(array, array2); + + StringAppend(array, sEmptyString); + + ConvertIntToHexStringN(array2, sErrorLastRecvQueueCount, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(array, array2); + + Menu_PrintText(array, 2, 15); +#endif break; case 30: case 60: -- cgit v1.2.3 From 6dea1a4af13d039c2bfe13170b3542cda535001b Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 17 Jan 2018 21:59:28 -0600 Subject: add debug code in battle_4.c and battle_controller_player.c --- src/battle/battle_4.c | 342 +++++++- src/battle/battle_controller_player.c | 1402 +++++++++++++++++++++++++++++++++ 2 files changed, 1742 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 3763fc309..038b4f5cf 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -1090,7 +1090,7 @@ static const u8 sTerrainToType[] = TYPE_NORMAL, // plain }; -static const u8 sBallCatchBonuses[] = +const u8 sBallCatchBonuses[] = { 20, 15, 10, 15 // Ultra, Great, Poke, Safari }; @@ -5018,7 +5018,156 @@ _0801F610: .4byte BattleScript_SAtkDown2\n\ } #endif // NONMATCHING - +#if DEBUG +__attribute__((naked)) +static void atk15_seteffectwithchance(void) +{ + asm("\ + push {r4, lr}\n\ + ldr r2, ._1037\n\ + ldr r0, ._1037 + 4\n\ + ldrb r1, [r0]\n\ + mov r0, #0x58\n\ + mul r0, r0, r1\n\ + add r0, r0, r2\n\ + add r0, r0, #0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x20\n\ + bne ._1035 @cond_branch\n\ + ldr r2, ._1037 + 8\n\ + ldr r0, ._1037 + 12\n\ + ldrh r1, [r0]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r2\n\ + ldrb r0, [r0, #0x5]\n\ + lsl r4, r0, #0x1\n\ + b ._1036\n\ +._1038:\n\ + .align 2, 0\n\ +._1037:\n\ + .word gBattleMons\n\ + .word gBankAttacker\n\ + .word gBattleMoves\n\ + .word gCurrentMove\n\ +._1035:\n\ + ldr r2, ._1045\n\ + ldr r0, ._1045 + 4\n\ + ldrh r1, [r0]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r2\n\ + ldrb r4, [r0, #0x5]\n\ +._1036:\n\ + ldr r0, ._1045 + 8\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + ldr r2, ._1045 + 12\n\ + cmp r0, #0\n\ + beq ._1039 @cond_branch\n\ + ldrb r1, [r2, #0x3]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1040 @cond_branch\n\ + ldr r0, ._1045 + 16\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1050 @cond_branch\n\ +._1039:\n\ + ldrb r1, [r2, #0x3]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1043 @cond_branch\n\ +._1040:\n\ + ldr r0, ._1045 + 16\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1043 @cond_branch\n\ + ldr r2, ._1045 + 12\n\ + ldrb r1, [r2, #0x3]\n\ + mov r0, #0x7f\n\ + and r0, r0, r1\n\ + strb r0, [r2, #0x3]\n\ + b ._1044\n\ +._1046:\n\ + .align 2, 0\n\ +._1045:\n\ + .word gBattleMoves\n\ + .word gCurrentMove\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleCommunication\n\ + .word gBattleMoveFlags\n\ +._1043:\n\ + bl Random\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + mov r1, #0x64\n\ + bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + lsl r0, r0, #0x10\n\ + lsr r0, r0, #0x10\n\ + cmp r0, r4\n\ + bhi ._1049 @cond_branch\n\ + ldr r0, ._1052\n\ + ldrb r0, [r0, #0x3]\n\ + cmp r0, #0\n\ + beq ._1049 @cond_branch\n\ + ldr r0, ._1052 + 4\n\ + ldrb r1, [r0]\n\ + mov r0, #0x29\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1049 @cond_branch\n\ + cmp r4, #0x63\n\ + bls ._1050 @cond_branch\n\ +._1044:\n\ + mov r0, #0x0\n\ + mov r1, #0x80\n\ + bl SetMoveEffect\n\ + b ._1054\n\ +._1053:\n\ + .align 2, 0\n\ +._1052:\n\ + .word gBattleCommunication\n\ + .word gBattleMoveFlags\n\ +._1050:\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl SetMoveEffect\n\ + b ._1054\n\ +._1049:\n\ + ldr r1, ._1055\n\ + ldr r0, [r1]\n\ + add r0, r0, #0x1\n\ + str r0, [r1]\n\ +._1054:\n\ + ldr r0, ._1055 + 4\n\ + mov r1, #0x0\n\ + strb r1, [r0, #0x3]\n\ + ldr r0, ._1055 + 8\n\ + ldr r2, ._1055 + 12\n\ + add r0, r0, r2\n\ + strb r1, [r0]\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._1056:\n\ + .align 2, 0\n\ +._1055:\n\ + .word gBattlescriptCurrInstr\n\ + .word gBattleCommunication\n\ + .word +0x2000000\n\ + .word 0x16112"); +} +#else static void atk15_seteffectwithchance(void) { u32 PercentChance; @@ -5043,6 +5192,7 @@ static void atk15_seteffectwithchance(void) gBattleCommunication[MOVE_EFFECT_BYTE] = 0; gBattleStruct->unk16112 = 0; } +#endif static void atk16_seteffectprimary(void) { @@ -12620,6 +12770,193 @@ static void atk9D_mimicattackcopy(void) } } +#if DEBUG +__attribute__((naked)) +static void atk9E_metronome(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + ldr r6, ._3076\n\ + ldrb r2, [r6]\n\ + lsl r1, r2, #0x1\n\ + ldr r0, ._3076 + 4\n\ + add r3, r1, r0\n\ + ldr r5, ._3076 + 8\n\ + mov r4, #0x58\n\ + add r0, r2, #0\n\ + mul r0, r0, r4\n\ + add r1, r0, r5\n\ + ldrh r0, [r1, #0xe]\n\ + cmp r0, #0\n\ + bne ._3071 @cond_branch\n\ + ldrh r2, [r1, #0x10]\n\ + cmp r2, #0\n\ + beq ._3071 @cond_branch\n\ + ldrh r0, [r1, #0x12]\n\ + cmp r0, #0\n\ + beq ._3071 @cond_branch\n\ + ldrh r0, [r3]\n\ + cmp r0, #0\n\ + bne ._3072 @cond_branch\n\ + strh r2, [r3]\n\ +._3072:\n\ + ldr r1, ._3076 + 12\n\ + ldrh r0, [r3]\n\ + strh r0, [r1]\n\ + ldrb r0, [r6]\n\ + mul r0, r0, r4\n\ + add r0, r0, r5\n\ + ldrh r5, [r0, #0x10]\n\ + ldrh r2, [r0, #0x12]\n\ + add r7, r1, #0\n\ + cmp r5, r2\n\ + bcs ._3073 @cond_branch\n\ + ldrh r0, [r3]\n\ + cmp r0, r2\n\ + beq ._3074 @cond_branch\n\ + add r0, r0, #0x1\n\ + b ._3079\n\ +._3077:\n\ + .align 2, 0\n\ +._3076:\n\ + .word gBankAttacker\n\ + .word +0x20160b4\n\ + .word gBattleMons\n\ + .word gCurrentMove\n\ +._3073:\n\ + ldrh r4, [r3]\n\ + add r1, r4, #0\n\ + mov r0, #0xb1\n\ + lsl r0, r0, #0x1\n\ + cmp r1, r0\n\ + bne ._3078 @cond_branch\n\ + mov r0, #0x1\n\ + b ._3079\n\ +._3078:\n\ + cmp r1, r2\n\ + bne ._3080 @cond_branch\n\ +._3074:\n\ + strh r5, [r3]\n\ + b ._3081\n\ +._3080:\n\ + add r0, r4, #1\n\ +._3079:\n\ + strh r0, [r3]\n\ +._3081:\n\ + ldr r4, ._3083\n\ + ldr r2, [r4]\n\ + ldr r0, ._3083 + 4\n\ + and r2, r2, r0\n\ + str r2, [r4]\n\ + ldr r6, ._3083 + 8\n\ + ldr r5, ._3083 + 12\n\ + ldr r3, ._3083 + 16\n\ + ldrh r1, [r7]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r3\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r5\n\ + ldr r0, [r0]\n\ + str r0, [r6]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x4\n\ + orr r2, r2, r0\n\ + str r2, [r4]\n\ + ldrh r0, [r7]\n\ + b ._3082\n\ +._3084:\n\ + .align 2, 0\n\ +._3083:\n\ + .word gHitMarker\n\ + .word 0xfffffbff\n\ + .word gBattlescriptCurrInstr\n\ + .word gBattleScriptsForMoveEffects\n\ + .word gBattleMoves\n\ +._3071:\n\ + ldr r7, ._3090\n\ + mov r6, #0xb1\n\ + lsl r6, r6, #0x1\n\ + ldr r5, ._3090 + 4\n\ + ldr r0, ._3090 + 8\n\ + mov r8, r0\n\ +._3089:\n\ + bl Random\n\ + ldr r2, ._3090 + 12\n\ + add r1, r2, #0\n\ + and r0, r0, r1\n\ + add r0, r0, #0x1\n\ + strh r0, [r7]\n\ + cmp r0, r6\n\ + bhi ._3089 @cond_branch\n\ + mov r0, #0x3\n\ +._3086:\n\ + sub r0, r0, #0x1\n\ + cmp r0, #0\n\ + bge ._3086 @cond_branch\n\ + ldr r4, ._3090\n\ + ldrh r2, [r4]\n\ + ldr r3, ._3090 + 16\n\ + sub r0, r5, #2\n\ +._3088:\n\ + add r0, r0, #0x2\n\ + ldrh r1, [r0]\n\ + cmp r1, r2\n\ + beq ._3087 @cond_branch\n\ + cmp r1, r3\n\ + bne ._3088 @cond_branch\n\ +._3087:\n\ + ldr r0, ._3090 + 16\n\ + cmp r1, r0\n\ + bne ._3089 @cond_branch\n\ + ldr r2, ._3090 + 20\n\ + ldr r0, [r2]\n\ + ldr r1, ._3090 + 24\n\ + and r0, r0, r1\n\ + str r0, [r2]\n\ + ldr r3, ._3090 + 28\n\ + ldr r2, ._3090 + 32\n\ + ldrh r1, [r4]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r2\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r3\n\ + ldr r0, [r0]\n\ + mov r1, r8\n\ + str r0, [r1]\n\ + ldrh r0, [r4]\n\ +._3082:\n\ + mov r1, #0x0\n\ + bl GetMoveTarget\n\ + ldr r1, ._3090 + 36\n\ + strb r0, [r1]\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._3091:\n\ + .align 2, 0\n\ +._3090:\n\ + .word gCurrentMove\n\ + .word sMovesForbiddenToCopy\n\ + .word gBattlescriptCurrInstr\n\ + .word 0x1ff\n\ + .word 0xffff\n\ + .word gHitMarker\n\ + .word 0xfffffbff\n\ + .word gBattleScriptsForMoveEffects\n\ + .word gBattleMoves\n\ + .word gBankTarget"); +} +#else #ifdef NONMATCHING static void atk9E_metronome(void) { @@ -12721,6 +13058,7 @@ _0802795C: .4byte gBankTarget\n\ .syntax divided"); } #endif // NONMATCHING +#endif static void atk9F_dmgtolevel(void) { diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 0d05b7aed..eaabe9b53 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -617,6 +617,725 @@ struct ChooseMoveStruct const u8 gUnknown_081FAE80[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW WHITE LIGHT_BLUE WHITE2}"); +#if DEBUG +__attribute__((naked)) +void sub_802C68C(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, sl\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6, r7}\n\ + add sp, sp, #0xfffffff8\n\ + mov r0, #0x0\n\ + mov r8, r0\n\ + mov r7, #0x0\n\ + ldr r1, ._131\n\ + ldrb r2, [r1]\n\ + lsl r1, r2, #0x9\n\ + ldr r0, ._131 + 4\n\ + add r6, r1, r0\n\ + ldr r0, ._131 + 8\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r5, #0x1\n\ + add r0, r5, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._126 @cond_branch\n\ + b ._127\n\ +._126:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r1, ._131 + 12\n\ + ldr r2, ._131\n\ + ldrb r0, [r2]\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x1\n\ + add r1, r6, r0\n\ + ldrh r0, [r1]\n\ + cmp r0, #0xae\n\ + bne ._128 @cond_branch\n\ + ldrb r0, [r6, #0x12]\n\ + mov r4, #0x0\n\ + cmp r0, #0x7\n\ + beq ._130 @cond_branch\n\ + ldrb r1, [r6, #0x13]\n\ + mov r0, #0x7\n\ + eor r1, r1, r0\n\ + neg r0, r1\n\ + orr r0, r0, r1\n\ + asr r4, r0, #0x1f\n\ + mov r0, #0x10\n\ + and r4, r4, r0\n\ + b ._130\n\ +._132:\n\ + .align 2, 0\n\ +._131:\n\ + .word gActiveBank\n\ + .word gUnknown_02023A64\n\ + .word gMain\n\ + .word gMoveSelectionCursor\n\ +._128:\n\ + ldr r2, ._135\n\ + ldrh r1, [r1]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r2\n\ + ldrb r4, [r0, #0x6]\n\ +._130:\n\ + mov r0, #0x10\n\ + and r0, r0, r4\n\ + cmp r0, #0\n\ + beq ._133 @cond_branch\n\ + ldr r0, ._135 + 4\n\ + ldr r1, ._135 + 8\n\ + ldrb r1, [r1]\n\ + strb r1, [r0]\n\ + b ._134\n\ +._136:\n\ + .align 2, 0\n\ +._135:\n\ + .word gBattleMoves\n\ + .word gUnknown_03004344\n\ + .word gActiveBank\n\ +._133:\n\ + ldr r0, ._141\n\ + ldrb r0, [r0]\n\ + bl GetBankIdentity\n\ + add r1, r0, #0\n\ + mov r2, #0x1\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + eor r0, r0, r2\n\ + bl GetBankByIdentity\n\ + ldr r1, ._141 + 4\n\ + strb r0, [r1]\n\ +._134:\n\ + ldr r3, ._141 + 8\n\ + ldr r5, ._141\n\ + ldrb r2, [r5]\n\ + lsl r1, r2, #0x9\n\ + add r0, r3, #1\n\ + add r0, r1, r0\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._137 @cond_branch\n\ + mov r0, #0x2\n\ + and r0, r0, r4\n\ + cmp r0, #0\n\ + beq ._146 @cond_branch\n\ + add r0, r3, #2\n\ + add r0, r1, r0\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._146 @cond_branch\n\ + mov r0, #0x1\n\ + add r8, r8, r0\n\ + b ._146\n\ +._142:\n\ + .align 2, 0\n\ +._141:\n\ + .word gActiveBank\n\ + .word gUnknown_03004344\n\ + .word gBattleBufferA\n\ +._137:\n\ + mov r0, #0x7d\n\ + and r0, r0, r4\n\ + cmp r0, #0\n\ + bne ._143 @cond_branch\n\ + mov r1, #0x1\n\ + add r8, r8, r1\n\ +._143:\n\ + ldr r0, ._149\n\ + add r0, r2, r0\n\ + add r1, r6, #0\n\ + add r1, r1, #0x8\n\ + ldrb r0, [r0]\n\ + add r1, r1, r0\n\ + ldrb r0, [r1]\n\ + cmp r0, #0\n\ + beq ._144 @cond_branch\n\ + mov r0, #0x12\n\ + and r0, r0, r4\n\ + cmp r0, #0\n\ + bne ._146 @cond_branch\n\ + mov r0, #0x0\n\ + bl CountAliveMons\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bhi ._146 @cond_branch\n\ + ldrb r0, [r5]\n\ + bl sub_803C434\n\ + ldr r1, ._149 + 4\n\ + strb r0, [r1]\n\ + mov r2, #0x0\n\ + mov r8, r2\n\ +._146:\n\ + mov r0, r8\n\ + cmp r0, #0\n\ + bne ._147 @cond_branch\n\ +._144:\n\ + bl DestroyMenuCursor\n\ + ldr r1, ._149\n\ + ldr r0, ._149 + 8\n\ + ldrb r0, [r0]\n\ + add r0, r0, r1\n\ + ldrb r2, [r0]\n\ + ldr r0, ._149 + 4\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x8\n\ + orr r2, r2, r0\n\ + b ._148\n\ +._150:\n\ + .align 2, 0\n\ +._149:\n\ + .word gMoveSelectionCursor\n\ + .word gUnknown_03004344\n\ + .word gActiveBank\n\ +._147:\n\ + ldr r1, ._153\n\ + ldr r2, ._153 + 4\n\ + ldrb r0, [r2]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._153 + 8\n\ + str r1, [r0]\n\ + mov r0, #0x12\n\ + and r4, r4, r0\n\ + cmp r4, #0\n\ + beq ._151 @cond_branch\n\ + ldr r1, ._153 + 12\n\ + ldrb r0, [r2]\n\ + b ._152\n\ +._154:\n\ + .align 2, 0\n\ +._153:\n\ + .word gBattleBankFunc\n\ + .word gActiveBank\n\ + .word sub_802C2EC+1\n\ + .word gUnknown_03004344\n\ +._151:\n\ + mov r0, #0x1\n\ + bl GetBankByIdentity\n\ + ldr r1, ._157\n\ + ldrb r1, [r1]\n\ + ldr r2, ._157 + 4\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x16\n\ + add r0, r0, r2\n\ + ldr r0, [r0]\n\ + and r1, r1, r0\n\ + cmp r1, #0\n\ + beq ._155 @cond_branch\n\ + mov r0, #0x3\n\ + b ._156\n\ +._158:\n\ + .align 2, 0\n\ +._157:\n\ + .word gAbsentBankFlags\n\ + .word gBitTable\n\ +._155:\n\ + mov r0, #0x1\n\ +._156:\n\ + bl GetBankByIdentity\n\ + ldr r1, ._160\n\ +._152:\n\ + strb r0, [r1]\n\ + ldr r2, ._160 + 4\n\ + ldr r1, ._160 + 8\n\ + ldr r0, ._160\n\ + ldrb r0, [r0]\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r2, r2, #0x1c\n\ + add r0, r0, r2\n\ + ldr r1, ._160 + 12\n\ + b ._203\n\ +._161:\n\ + .align 2, 0\n\ +._160:\n\ + .word gUnknown_03004344\n\ + .word gSprites\n\ + .word gObjectBankIDs\n\ + .word sub_8010520+1\n\ +._127:\n\ + mov r6, #0x2\n\ + add r0, r6, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._162 @cond_branch\n\ + bl DestroyMenuCursor\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._164\n\ + strh r7, [r0]\n\ + ldr r1, ._164 + 4\n\ + mov r2, #0xa0\n\ + lsl r2, r2, #0x1\n\ + add r0, r2, #0\n\ + strh r0, [r1]\n\ + ldr r2, ._164 + 8\n\ +._148:\n\ + mov r0, #0x1\n\ + mov r1, #0xa\n\ + bl Emitcmd33\n\ + bl PlayerBufferExecCompleted\n\ + b ._209\n\ +._165:\n\ + .align 2, 0\n\ +._164:\n\ + .word gBattle_BG0_X\n\ + .word gBattle_BG0_Y\n\ + .word 0xffff\n\ +._162:\n\ + mov r0, #0x20\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._166 @cond_branch\n\ + ldr r4, ._170\n\ + add r2, r2, r4\n\ + ldrb r1, [r2]\n\ + add r0, r5, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._167 @cond_branch\n\ + b ._209\n\ +._167:\n\ + ldrb r0, [r2]\n\ + bl nullsub_7\n\ + ldr r0, ._170 + 4\n\ + ldrb r1, [r0]\n\ + add r1, r1, r4\n\ + ldrb r0, [r1]\n\ + mov r2, #0x1\n\ + eor r0, r0, r2\n\ + b ._183\n\ +._171:\n\ + .align 2, 0\n\ +._170:\n\ + .word gMoveSelectionCursor\n\ + .word gActiveBank\n\ +._166:\n\ + mov r3, #0x10\n\ + add r0, r3, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._172 @cond_branch\n\ + ldr r4, ._178\n\ + add r3, r2, r4\n\ + ldrb r2, [r3]\n\ + mov r6, #0x1\n\ + add r0, r5, #0\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + beq ._173 @cond_branch\n\ + b ._209\n\ +._173:\n\ + ldr r1, ._178 + 4\n\ + add r0, r6, #0\n\ + eor r0, r0, r2\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcc ._175 @cond_branch\n\ + b ._209\n\ +._175:\n\ + ldrb r0, [r3]\n\ + bl nullsub_7\n\ + ldr r2, ._178 + 8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r4\n\ + ldrb r0, [r1]\n\ + eor r0, r0, r6\n\ + b ._183\n\ +._179:\n\ + .align 2, 0\n\ +._178:\n\ + .word gMoveSelectionCursor\n\ + .word gUnknown_03004348\n\ + .word gActiveBank\n\ +._172:\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._180 @cond_branch\n\ + ldr r4, ._184\n\ + add r2, r2, r4\n\ + ldrb r1, [r2]\n\ + add r0, r6, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._181 @cond_branch\n\ + b ._209\n\ +._181:\n\ + ldrb r0, [r2]\n\ + bl nullsub_7\n\ + ldr r2, ._184 + 4\n\ + ldrb r1, [r2]\n\ + add r1, r1, r4\n\ + ldrb r0, [r1]\n\ + mov r2, #0x2\n\ + eor r0, r0, r2\n\ + b ._183\n\ +._185:\n\ + .align 2, 0\n\ +._184:\n\ + .word gMoveSelectionCursor\n\ + .word gActiveBank\n\ +._180:\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._186 @cond_branch\n\ + ldr r4, ._192\n\ + add r3, r2, r4\n\ + ldrb r2, [r3]\n\ + mov r5, #0x2\n\ + add r0, r6, #0\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + beq ._187 @cond_branch\n\ + b ._209\n\ +._187:\n\ + ldr r1, ._192 + 4\n\ + add r0, r5, #0\n\ + eor r0, r0, r2\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcc ._189 @cond_branch\n\ + b ._209\n\ +._189:\n\ + ldrb r0, [r3]\n\ + bl nullsub_7\n\ + ldr r2, ._192 + 8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r4\n\ + ldrb r0, [r1]\n\ + eor r0, r0, r5\n\ +._183:\n\ + strb r0, [r1]\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r1, ._192 + 8\n\ + ldrb r0, [r1]\n\ + add r0, r0, r4\n\ + ldrb r0, [r0]\n\ + mov r1, #0x0\n\ + bl sub_802E3B4\n\ + bl sub_802E220\n\ + bl sub_802E2D4\n\ + b ._209\n\ +._193:\n\ + .align 2, 0\n\ +._192:\n\ + .word gMoveSelectionCursor\n\ + .word gUnknown_03004348\n\ + .word gActiveBank\n\ +._186:\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._194 @cond_branch\n\ + ldr r0, ._201\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bhi ._195 @cond_branch\n\ + b ._209\n\ +._195:\n\ + ldr r0, ._201 + 4\n\ + ldrh r1, [r0]\n\ + add r0, r6, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._197 @cond_branch\n\ + b ._209\n\ +._197:\n\ + ldr r4, ._201 + 8\n\ + add r0, r2, r4\n\ + ldrb r0, [r0]\n\ + ldr r1, ._201 + 12\n\ + bl sub_802E12C\n\ + ldr r2, ._201 + 16\n\ + ldrb r0, [r2]\n\ + add r0, r0, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._199 @cond_branch\n\ + ldr r0, ._201 + 20\n\ + strb r7, [r0]\n\ + b ._200\n\ +._202:\n\ + .align 2, 0\n\ +._201:\n\ + .word gUnknown_03004348\n\ + .word gBattleTypeFlags\n\ + .word gMoveSelectionCursor\n\ + .word gUnknown_081FAE80\n\ + .word gActiveBank\n\ + .word gUnknown_03004344\n\ +._199:\n\ + ldr r1, ._204\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + add r0, r1, #0\n\ +._200:\n\ + ldrb r0, [r0]\n\ + mov r1, #0x1b\n\ + bl sub_802E3B4\n\ + ldr r4, ._204 + 4\n\ + ldr r1, ._204 + 8\n\ + mov r0, #0x1c\n\ + str r0, [sp]\n\ + mov r0, #0x3a\n\ + str r0, [sp, #0x4]\n\ + add r0, r4, #0\n\ + mov r2, #0x17\n\ + mov r3, #0x37\n\ + bl Text_FillWindowRect\n\ + ldr r1, ._204 + 12\n\ + mov r2, #0xa4\n\ + lsl r2, r2, #0x2\n\ + mov r0, #0x37\n\ + str r0, [sp]\n\ + add r0, r4, #0\n\ + mov r3, #0x17\n\ + bl Text_InitWindow\n\ + add r0, r4, #0\n\ + bl Text_PrintWindow8002F44\n\ + ldr r1, ._204 + 16\n\ + ldr r0, ._204 + 20\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._204 + 24\n\ + b ._203\n\ +._205:\n\ + .align 2, 0\n\ +._204:\n\ + .word gUnknown_03004344\n\ + .word gUnknown_03004210\n\ + .word 0x1016\n\ + .word BattleText_SwitchWhich\n\ + .word gBattleBankFunc\n\ + .word gActiveBank\n\ + .word sub_802CA60+1\n\ +._194:\n\ + ldr r0, ._214\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + beq ._206 @cond_branch\n\ + b ._209\n\ +._206:\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._208 @cond_branch\n\ + b ._209\n\ +._208:\n\ + ldr r6, ._214 + 4\n\ + ldr r1, ._214 + 8\n\ + str r3, [sp]\n\ + mov r0, #0x3a\n\ + str r0, [sp, #0x4]\n\ + add r0, r6, #0\n\ + mov r2, #0x1\n\ + mov r3, #0x37\n\ + bl Text_FillWindowRect\n\ + ldr r0, ._214 + 12\n\ + mov sl, r0\n\ + ldr r1, ._214 + 16\n\ + ldrb r0, [r1]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, sl\n\ + ldrh r0, [r0]\n\ + mov r2, #0x64\n\ + mov r9, r2\n\ + mov r1, r9\n\ + mul r1, r1, r0\n\ + add r0, r1, #0\n\ + ldr r5, ._214 + 20\n\ + add r0, r0, r5\n\ + mov r1, #0xd\n\ + bl GetMonData\n\ + mov r1, #0xd\n\ + mul r1, r1, r0\n\ + ldr r0, ._214 + 24\n\ + add r1, r1, r0\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0x1\n\ + mov r0, #0x37\n\ + mov r8, r0\n\ + str r0, [sp]\n\ + add r0, r6, #0\n\ + mov r3, #0x2\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r4, ._214 + 28\n\ + ldr r1, ._214 + 16\n\ + ldrb r0, [r1]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, sl\n\ + ldrh r0, [r0]\n\ + mov r2, r9\n\ + mul r2, r2, r0\n\ + add r0, r2, #0\n\ + add r0, r0, r5\n\ + mov r1, #0xd\n\ + bl GetMonData\n\ + add r1, r0, #0\n\ + add r0, r4, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x3\n\ + bl ConvertIntToDecimalStringN\n\ + mov r2, #0x88\n\ + lsl r2, r2, #0x1\n\ + mov r0, r8\n\ + str r0, [sp]\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + mov r3, #0xa\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r1, ._214 + 32\n\ + mov r2, #0x8b\n\ + lsl r2, r2, #0x1\n\ + mov r5, #0x39\n\ + str r5, [sp]\n\ + add r0, r6, #0\n\ + mov r3, #0x1\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r0, ._214 + 36\n\ + ldrb r1, [r0]\n\ + add r0, r4, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x3\n\ + bl ConvertIntToDecimalStringN\n\ + mov r2, #0x8e\n\ + lsl r2, r2, #0x1\n\ + str r5, [sp]\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + mov r3, #0x4\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r0, ._214 + 40\n\ + add r2, r0, #0\n\ + add r2, r2, #0x3e\n\ + mov r1, #0x3f\n\ +._211:\n\ + ldrb r0, [r2]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._210 @cond_branch\n\ + add r0, r7, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ +._210:\n\ + add r2, r2, #0x44\n\ + sub r1, r1, #0x1\n\ + cmp r1, #0\n\ + bge ._211 @cond_branch\n\ + ldr r4, ._214 + 28\n\ + add r0, r4, #0\n\ + add r1, r7, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x2\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r6, ._214 + 4\n\ + mov r2, #0x91\n\ + lsl r2, r2, #0x1\n\ + mov r5, #0x39\n\ + str r5, [sp]\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + mov r3, #0x8\n\ + bl Text_InitWindowAndPrintText\n\ + bl GetTaskCount\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + add r0, r4, #0\n\ + add r1, r7, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x2\n\ + bl ConvertIntToDecimalStringN\n\ + mov r2, #0x93\n\ + lsl r2, r2, #0x1\n\ + str r5, [sp]\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + mov r3, #0xb\n\ + bl Text_InitWindowAndPrintText\n\ + mov r1, #0x0\n\ + mov r7, #0x0\n\ + ldr r0, ._214 + 44\n\ + mov r3, #0x1\n\ + ldr r2, [r0]\n\ +._213:\n\ + add r0, r3, #0\n\ + LSL r0, r1\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + beq ._212 @cond_branch\n\ + add r0, r7, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ +._212:\n\ + add r1, r1, #0x1\n\ + cmp r1, #0x1f\n\ + ble ._213 @cond_branch\n\ + ldr r4, ._214 + 28\n\ + add r0, r4, #0\n\ + add r1, r7, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x2\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, ._214 + 4\n\ + mov r2, #0x95\n\ + lsl r2, r2, #0x1\n\ + mov r1, #0x39\n\ + str r1, [sp]\n\ + add r1, r4, #0\n\ + mov r3, #0xe\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r1, ._214 + 48\n\ + ldr r0, ._214 + 16\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._214 + 52\n\ +._203:\n\ + str r1, [r0]\n\ +._209:\n\ + add sp, sp, #0x8\n\ + pop {r3, r4, r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov sl, r5\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._215:\n\ + .align 2, 0\n\ +._214:\n\ + .word gUnknown_020297ED\n\ + .word gUnknown_03004210\n\ + .word 0x1016\n\ + .word gBattlePartyID\n\ + .word gActiveBank\n\ + .word gPlayerParty\n\ + .word gMoveNames\n\ + .word gDisplayedStringBattle\n\ + .word sBallCatchBonuses+0x4\n\ + .word gAnimMoveTurn\n\ + .word gSprites\n\ + .word gOamMatrixAllocBitmap\n\ + .word gBattleBankFunc\n\ + .word debug_sub_8030C24+1"); +} +#else void sub_802C68C(void) { u32 r8 = 0; @@ -751,6 +1470,7 @@ void sub_802C68C(void) } } } +#endif extern const u8 BattleText_Format[]; @@ -956,6 +1676,688 @@ void sub_802D18C(void) } } +#if DEBUG +__attribute__((naked)) +void debug_sub_8030C24(void) +{ + asm("\ + push {r4, r5, r6, lr}\n\ + add sp, sp, #0xfffffff4\n\ + ldr r1, ._293\n\ + ldr r4, ._293 + 4\n\ + ldrb r0, [r4]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + mov r0, #0x64\n\ + mul r0, r0, r1\n\ + ldr r1, ._293 + 8\n\ + add r0, r0, r1\n\ + mov r1, #0xd\n\ + bl GetMonData\n\ + add r1, sp, #0x8\n\ + strh r0, [r1]\n\ + ldr r5, ._293 + 12\n\ + ldrh r1, [r5, #0x30]\n\ + cmp r1, #0x20\n\ + bne ._286 @cond_branch\n\ + b ._287\n\ +._286:\n\ + cmp r1, #0x20\n\ + bgt ._288 @cond_branch\n\ + cmp r1, #0x8\n\ + beq ._289 @cond_branch\n\ + cmp r1, #0x8\n\ + bgt ._290 @cond_branch\n\ + cmp r1, #0x4\n\ + beq ._291 @cond_branch\n\ + b ._348\n\ +._294:\n\ + .align 2, 0\n\ +._293:\n\ + .word gBattlePartyID\n\ + .word gActiveBank\n\ + .word gPlayerParty\n\ + .word gMain\n\ +._290:\n\ + cmp r1, #0x10\n\ + bne ._295 @cond_branch\n\ + b ._296\n\ +._295:\n\ + b ._348\n\ +._288:\n\ + cmp r1, #0x80\n\ + bne ._298 @cond_branch\n\ + b ._302\n\ +._298:\n\ + cmp r1, #0x80\n\ + bgt ._300 @cond_branch\n\ + cmp r1, #0x40\n\ + bne ._301 @cond_branch\n\ + b ._302\n\ +._301:\n\ + b ._348\n\ +._300:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + cmp r1, r0\n\ + bne ._304 @cond_branch\n\ + b ._305\n\ +._304:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x2\n\ + cmp r1, r0\n\ + bne ._306 @cond_branch\n\ + b ._307\n\ +._306:\n\ + b ._348\n\ +._289:\n\ + ldrb r0, [r4]\n\ + mov r1, #0x1\n\ + bl dp11b_obj_free\n\ + ldrb r0, [r4]\n\ + mov r1, #0x0\n\ + bl dp11b_obj_free\n\ + ldr r0, ._312\n\ + ldrb r2, [r4]\n\ + strb r2, [r0]\n\ + ldrh r1, [r5, #0x28]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._310 @cond_branch\n\ + ldr r0, ._312 + 4\n\ + ldrh r1, [r0]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._310 @cond_branch\n\ + ldr r0, ._312 + 8\n\ + mov r1, #0x2\n\ + eor r1, r1, r2\n\ + strb r1, [r0]\n\ + b ._311\n\ +._313:\n\ + .align 2, 0\n\ +._312:\n\ + .word gBankAttacker\n\ + .word gBattleTypeFlags\n\ + .word gBankTarget\n\ +._310:\n\ + ldr r0, ._317\n\ + ldrh r1, [r0, #0x28]\n\ + mov r2, #0x1\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._315 @cond_branch\n\ + ldr r0, ._317 + 4\n\ + ldrh r1, [r0]\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._315 @cond_branch\n\ + mov r0, #0x3\n\ + b ._316\n\ +._318:\n\ + .align 2, 0\n\ +._317:\n\ + .word gMain\n\ + .word gBattleTypeFlags\n\ +._315:\n\ + mov r0, #0x1\n\ +._316:\n\ + bl GetBankByIdentity\n\ + ldr r1, ._320\n\ + strb r0, [r1]\n\ +._311:\n\ + mov r0, #0x0\n\ + bl sub_80326EC\n\ + add r0, sp, #0x8\n\ + ldrh r0, [r0]\n\ + bl DoMoveAnim\n\ + ldr r1, ._320 + 4\n\ + ldr r0, ._320 + 8\n\ + ldrb r0, [r0]\n\ + b ._332\n\ +._321:\n\ + .align 2, 0\n\ +._320:\n\ + .word gBankTarget\n\ + .word gBattleBankFunc\n\ + .word gActiveBank\n\ +._291:\n\ + ldrb r0, [r4]\n\ + mov r1, #0x1\n\ + bl dp11b_obj_free\n\ + ldrb r0, [r4]\n\ + mov r1, #0x0\n\ + bl dp11b_obj_free\n\ + ldr r0, ._325\n\ + ldrb r2, [r4]\n\ + strb r2, [r0]\n\ + ldrh r1, [r5, #0x28]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._323 @cond_branch\n\ + ldr r0, ._325 + 4\n\ + ldrh r1, [r0]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._323 @cond_branch\n\ + ldr r0, ._325 + 8\n\ + mov r1, #0x2\n\ + eor r1, r1, r2\n\ + strb r1, [r0]\n\ + b ._324\n\ +._326:\n\ + .align 2, 0\n\ +._325:\n\ + .word gBankTarget\n\ + .word gBattleTypeFlags\n\ + .word gBankAttacker\n\ +._323:\n\ + ldr r0, ._330\n\ + ldrh r1, [r0, #0x28]\n\ + mov r2, #0x1\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._328 @cond_branch\n\ + ldr r0, ._330 + 4\n\ + ldrh r1, [r0]\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._328 @cond_branch\n\ + mov r0, #0x3\n\ + b ._329\n\ +._331:\n\ + .align 2, 0\n\ +._330:\n\ + .word gMain\n\ + .word gBattleTypeFlags\n\ +._328:\n\ + mov r0, #0x1\n\ +._329:\n\ + bl GetBankByIdentity\n\ + ldr r1, ._333\n\ + strb r0, [r1]\n\ +._324:\n\ + mov r0, #0x0\n\ + bl sub_80326EC\n\ + add r0, sp, #0x8\n\ + ldrh r0, [r0]\n\ + bl DoMoveAnim\n\ + ldr r1, ._333 + 4\n\ + ldr r0, ._333 + 8\n\ + ldrb r0, [r0]\n\ + b ._332\n\ +._334:\n\ + .align 2, 0\n\ +._333:\n\ + .word gBankAttacker\n\ + .word gBattleBankFunc\n\ + .word gActiveBank\n\ +._305:\n\ + ldrh r1, [r5, #0x28]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._336 @cond_branch\n\ + ldr r0, ._338\n\ + ldrh r1, [r0]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._336 @cond_branch\n\ + ldrb r0, [r4]\n\ + mov r1, #0x1\n\ + bl dp11b_obj_free\n\ + ldrb r0, [r4]\n\ + mov r1, #0x0\n\ + bl dp11b_obj_free\n\ + mov r0, #0x3\n\ + bl GetBankByIdentity\n\ + ldr r1, ._338 + 4\n\ + strb r0, [r1]\n\ + mov r0, #0x1\n\ + b ._337\n\ +._339:\n\ + .align 2, 0\n\ +._338:\n\ + .word gBattleTypeFlags\n\ + .word gBankAttacker\n\ +._336:\n\ + add r0, sp, #0x8\n\ + mov r1, #0x0\n\ + ldsh r0, [r0, r1]\n\ + add r0, r0, #0x9\n\ + add r1, sp, #0x8\n\ + strh r0, [r1]\n\ +._296:\n\ + add r0, sp, #0x8\n\ + mov r2, #0x0\n\ + ldsh r0, [r0, r2]\n\ + add r0, r0, #0x1\n\ + lsl r2, r0, #0x10\n\ + add r1, sp, #0x8\n\ + strh r0, [r1]\n\ + mov r0, #0xb1\n\ + lsl r0, r0, #0x11\n\ + cmp r2, r0\n\ + ble ._347 @cond_branch\n\ + mov r1, #0x1\n\ + add r0, sp, #0x8\n\ + strh r1, [r0]\n\ + b ._347\n\ +._307:\n\ + ldrh r1, [r5, #0x28]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._343 @cond_branch\n\ + ldr r0, ._345\n\ + ldrh r1, [r0]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._343 @cond_branch\n\ + ldrb r0, [r4]\n\ + mov r1, #0x1\n\ + bl dp11b_obj_free\n\ + ldrb r0, [r4]\n\ + mov r1, #0x0\n\ + bl dp11b_obj_free\n\ + mov r0, #0x1\n\ + bl GetBankByIdentity\n\ + ldr r1, ._345 + 4\n\ + strb r0, [r1]\n\ + mov r0, #0x3\n\ +._337:\n\ + bl GetBankByIdentity\n\ + ldr r1, ._345 + 8\n\ + strb r0, [r1]\n\ + mov r0, #0x0\n\ + bl sub_80326EC\n\ + add r0, sp, #0x8\n\ + ldrh r0, [r0]\n\ + bl DoMoveAnim\n\ + ldr r1, ._345 + 12\n\ + ldrb r0, [r4]\n\ +._332:\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._345 + 16\n\ + str r1, [r0]\n\ + b ._348\n\ +._346:\n\ + .align 2, 0\n\ +._345:\n\ + .word gBattleTypeFlags\n\ + .word gBankAttacker\n\ + .word gBankTarget\n\ + .word gBattleBankFunc\n\ + .word debug_sub_803107C+1\n\ +._343:\n\ + add r1, sp, #0x8\n\ + add r0, r1, #0\n\ + ldrh r0, [r0]\n\ + sub r0, r0, #0x9\n\ + strh r0, [r1]\n\ +._287:\n\ + add r1, sp, #0x8\n\ + add r0, r1, #0\n\ + ldrh r0, [r0]\n\ + sub r0, r0, #0x1\n\ + strh r0, [r1]\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + bgt ._347 @cond_branch\n\ + mov r2, #0xb1\n\ + lsl r2, r2, #0x1\n\ + add r0, r2, #0\n\ + strh r0, [r1]\n\ +._347:\n\ + ldr r1, ._349\n\ + ldr r4, ._349 + 4\n\ + ldrb r0, [r4]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + mov r0, #0x64\n\ + mul r0, r0, r1\n\ + ldr r1, ._349 + 8\n\ + add r0, r0, r1\n\ + mov r1, #0xd\n\ + add r2, sp, #0x8\n\ + bl SetMonData\n\ + ldr r2, ._349 + 12\n\ + ldrb r1, [r4]\n\ + mov r0, #0x58\n\ + mul r0, r0, r1\n\ + add r0, r0, r2\n\ + add r1, sp, #0x8\n\ + ldrh r1, [r1]\n\ + strh r1, [r0, #0xc]\n\ + ldr r5, ._349 + 16\n\ + ldr r1, ._349 + 20\n\ + mov r0, #0x10\n\ + str r0, [sp]\n\ + mov r0, #0x38\n\ + str r0, [sp, #0x4]\n\ + add r0, r5, #0\n\ + mov r2, #0x1\n\ + mov r3, #0x37\n\ + bl Text_FillWindowRect\n\ + add r0, sp, #0x8\n\ + mov r2, #0x0\n\ + ldsh r1, [r0, r2]\n\ + mov r0, #0xd\n\ + mul r1, r1, r0\n\ + ldr r0, ._349 + 24\n\ + add r1, r1, r0\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0x1\n\ + mov r6, #0x37\n\ + str r6, [sp]\n\ + add r0, r5, #0\n\ + mov r3, #0x2\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r4, ._349 + 28\n\ + add r0, sp, #0x8\n\ + mov r2, #0x0\n\ + ldsh r1, [r0, r2]\n\ + add r0, r4, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x3\n\ + bl ConvertIntToDecimalStringN\n\ + mov r2, #0x88\n\ + lsl r2, r2, #0x1\n\ + str r6, [sp]\n\ + add r0, r5, #0\n\ + add r1, r4, #0\n\ + mov r3, #0xa\n\ + bl Text_InitWindowAndPrintText\n\ + b ._348\n\ +._350:\n\ + .align 2, 0\n\ +._349:\n\ + .word gBattlePartyID\n\ + .word gActiveBank\n\ + .word gPlayerParty\n\ + .word gBattleMons\n\ + .word gUnknown_03004210\n\ + .word 0x1016\n\ + .word gMoveNames\n\ + .word gDisplayedStringBattle\n\ +._302:\n\ + ldr r0, ._353\n\ + ldrh r0, [r0, #0x30]\n\ + cmp r0, #0x40\n\ + bne ._351 @cond_branch\n\ + ldr r1, ._353 + 4\n\ + ldrb r0, [r1]\n\ + sub r0, r0, #0x1\n\ + b ._352\n\ +._354:\n\ + .align 2, 0\n\ +._353:\n\ + .word gMain\n\ + .word gAnimMoveTurn\n\ +._351:\n\ + ldr r1, ._359\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ +._352:\n\ + strb r0, [r1]\n\ + ldr r4, ._359 + 4\n\ + ldrb r1, [r1]\n\ + add r0, r4, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x3\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, ._359 + 8\n\ + mov r2, #0x8e\n\ + lsl r2, r2, #0x1\n\ + mov r1, #0x39\n\ + str r1, [sp]\n\ + add r1, r4, #0\n\ + mov r3, #0x4\n\ + bl Text_InitWindowAndPrintText\n\ +._348:\n\ + ldr r0, ._359 + 12\n\ + ldrh r2, [r0, #0x28]\n\ + mov r1, #0xc0\n\ + lsl r1, r1, #0x2\n\ + add r0, r1, #0\n\ + and r0, r0, r2\n\ + cmp r0, r1\n\ + bne ._355 @cond_branch\n\ + mov r4, #0x0\n\ + ldr r5, ._359 + 4\n\ + ldr r6, ._359 + 8\n\ +._361:\n\ + add r0, r5, #0\n\ + ldr r1, ._359 + 16\n\ + bl StringCopy\n\ + ldr r1, ._359 + 20\n\ + ldr r0, ._359 + 24\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x1\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + mov r0, #0x64\n\ + mul r0, r0, r1\n\ + ldr r1, ._359 + 28\n\ + add r0, r0, r1\n\ + add r1, r4, #0\n\ + add r1, r1, #0xd\n\ + bl GetMonData\n\ + mov r1, #0xd\n\ + mul r1, r1, r0\n\ + ldr r0, ._359 + 32\n\ + add r1, r1, r0\n\ + add r0, r5, #0\n\ + bl StringAppend\n\ + lsl r0, r4, #0x14\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x11\n\ + add r0, r0, r1\n\ + lsr r2, r0, #0x10\n\ + mov r0, #0x1\n\ + and r0, r0, r4\n\ + mov r3, #0x2\n\ + cmp r0, #0\n\ + beq ._356 @cond_branch\n\ + mov r3, #0xa\n\ +._356:\n\ + cmp r4, #0x1\n\ + bhi ._357 @cond_branch\n\ + mov r0, #0x37\n\ + b ._358\n\ +._360:\n\ + .align 2, 0\n\ +._359:\n\ + .word gAnimMoveTurn\n\ + .word gDisplayedStringBattle\n\ + .word gUnknown_03004210\n\ + .word gMain\n\ + .word BattleText_Format\n\ + .word gBattlePartyID\n\ + .word gActiveBank\n\ + .word gPlayerParty\n\ + .word gMoveNames\n\ +._357:\n\ + mov r0, #0x39\n\ +._358:\n\ + str r0, [sp]\n\ + add r0, r6, #0\n\ + add r1, r5, #0\n\ + bl Text_InitWindow\n\ + ldr r0, ._362\n\ + bl Text_PrintWindow8002F44\n\ + add r0, r4, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + cmp r4, #0x3\n\ + bls ._361 @cond_branch\n\ + ldr r1, ._362 + 4\n\ + ldr r0, ._362 + 8\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._362 + 12\n\ + str r1, [r0]\n\ +._355:\n\ + add sp, sp, #0xc\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._363:\n\ + .align 2, 0\n\ +._362:\n\ + .word gUnknown_03004210\n\ + .word gBattleBankFunc\n\ + .word gActiveBank\n\ + .word sub_802C68C+1"); +} + +__attribute__((naked)) +void debug_sub_803107C(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + add sp, sp, #0xfffffffc\n\ + mov r7, #0x0\n\ + ldr r0, ._369\n\ + ldr r0, [r0]\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ + ldr r0, ._369 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._364 @cond_branch\n\ + mov r0, #0x1\n\ + bl sub_80326EC\n\ + ldr r4, ._369 + 8\n\ + ldrb r0, [r4]\n\ + mov r1, #0x1\n\ + mov r2, #0x7\n\ + mov r3, #0x1\n\ + bl dp11b_obj_instanciate\n\ + ldrb r0, [r4]\n\ + mov r1, #0x0\n\ + mov r2, #0x7\n\ + mov r3, #0x1\n\ + bl dp11b_obj_instanciate\n\ + ldr r0, ._369 + 12\n\ + add r2, r0, #0\n\ + add r2, r2, #0x3e\n\ + mov r1, #0x3f\n\ +._366:\n\ + ldrb r0, [r2]\n\ + lsl r0, r0, #0x1f\n\ + cmp r0, #0\n\ + beq ._365 @cond_branch\n\ + add r0, r7, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ +._365:\n\ + add r2, r2, #0x44\n\ + sub r1, r1, #0x1\n\ + cmp r1, #0\n\ + bge ._366 @cond_branch\n\ + ldr r4, ._369 + 16\n\ + add r0, r4, #0\n\ + add r1, r7, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x2\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r6, ._369 + 20\n\ + mov r2, #0x91\n\ + lsl r2, r2, #0x1\n\ + mov r5, #0x39\n\ + str r5, [sp]\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + mov r3, #0x8\n\ + bl Text_InitWindowAndPrintText\n\ + bl GetTaskCount\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + add r0, r4, #0\n\ + add r1, r7, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x2\n\ + bl ConvertIntToDecimalStringN\n\ + mov r2, #0x93\n\ + lsl r2, r2, #0x1\n\ + str r5, [sp]\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + mov r3, #0xb\n\ + bl Text_InitWindowAndPrintText\n\ + mov r1, #0x0\n\ + mov r7, #0x0\n\ + ldr r0, ._369 + 24\n\ + mov r3, #0x1\n\ + ldr r2, [r0]\n\ +._368:\n\ + add r0, r3, #0\n\ + LSL r0, r1\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + beq ._367 @cond_branch\n\ + add r0, r7, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ +._367:\n\ + add r1, r1, #0x1\n\ + cmp r1, #0x1f\n\ + ble ._368 @cond_branch\n\ + ldr r4, ._369 + 16\n\ + add r0, r4, #0\n\ + add r1, r7, #0\n\ + mov r2, #0x2\n\ + mov r3, #0x2\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, ._369 + 20\n\ + mov r2, #0x95\n\ + lsl r2, r2, #0x1\n\ + mov r1, #0x39\n\ + str r1, [sp]\n\ + add r1, r4, #0\n\ + mov r3, #0xe\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r1, ._369 + 28\n\ + ldr r0, ._369 + 8\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._369 + 32\n\ + str r1, [r0]\n\ +._364:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._370:\n\ + .align 2, 0\n\ +._369:\n\ + .word gAnimScriptCallback\n\ + .word gAnimScriptActive\n\ + .word gActiveBank\n\ + .word gSprites\n\ + .word gDisplayedStringBattle\n\ + .word gUnknown_03004210\n\ + .word gOamMatrixAllocBitmap\n\ + .word gBattleBankFunc\n\ + .word debug_sub_8030C24+1"); +} +#endif + void sub_802D204(void) { if (gSprites[gObjectBankIDs[gActiveBank]].callback == SpriteCallbackDummy) -- cgit v1.2.3 From ec84ae801985ac7f83397979bde6a15508eb02ed Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 11:54:49 -0600 Subject: add more debug code --- src/battle/battle_controller_opponent.c | 548 ++++++++++++++++++++++++++++++++ src/engine/cable_club.c | 65 +++- src/field/party_menu.c | 492 +++++++++++++++++++++++++++- src/pokemon/pokemon_menu.c | 92 ++++++ src/scene/berry_blender.c | 21 +- 5 files changed, 1207 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 5947053b6..cc69c0120 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1209,6 +1209,243 @@ void sub_8034B74(void) } } +#if DEBUG +__attribute__((naked)) +void OpponentHandleTrainerThrow(void) +{ + asm("\ + push {r4, r5, r6, lr}\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6}\n\ + ldr r0, ._480\n\ + ldrb r1, [r0]\n\ + mov r0, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._478 @cond_branch\n\ + ldr r0, ._480 + 4\n\ + ldr r1, ._480 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + b ._491\n\ +._481:\n\ + .align 2, 0\n\ +._480:\n\ + .word gUnknown_02023A14+0x50\n\ + .word +0x2000000\n\ + .word 0x160a3\n\ +._478:\n\ + ldr r3, ._484\n\ + ldrh r1, [r3]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x3\n\ + cmp r1, r0\n\ + bne ._482 @cond_branch\n\ + bl GetSecretBaseTrainerPicIndex\n\ + b ._487\n\ +._485:\n\ + .align 2, 0\n\ +._484:\n\ + .word gTrainerBattleOpponent\n\ +._482:\n\ + ldr r0, ._488\n\ + ldrh r1, [r0]\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._486 @cond_branch\n\ + bl get_trainer_class_pic_index\n\ + b ._487\n\ +._489:\n\ + .align 2, 0\n\ +._488:\n\ + .word gBattleTypeFlags\n\ +._486:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._490 @cond_branch\n\ + bl GetEReaderTrainerPicIndex\n\ +._487:\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + b ._491\n\ +._490:\n\ + ldr r2, ._492\n\ + ldrh r1, [r3]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + ldrb r0, [r0, #0x3]\n\ +._491:\n\ + mov r9, r0\n\ + ldr r2, ._492 + 4\n\ + mov r8, r2\n\ + ldrb r1, [r2]\n\ + bl sub_8031A6C\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + bl GetBankIdentity\n\ + add r1, r0, #0\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + mov r0, r9\n\ + bl GetMonSpriteTemplate_803C5A0\n\ + ldr r5, ._492 + 8\n\ + ldr r1, ._492 + 12\n\ + mov r2, r9\n\ + lsl r0, r2, #0x2\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r4, #0x8\n\ + sub r4, r4, r0\n\ + lsl r4, r4, #0x12\n\ + mov r0, #0xa0\n\ + lsl r0, r0, #0xe\n\ + add r4, r4, r0\n\ + asr r4, r4, #0x10\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + bl sub_8079E90\n\ + add r3, r0, #0\n\ + lsl r3, r3, #0x18\n\ + lsr r3, r3, #0x18\n\ + add r0, r5, #0\n\ + mov r1, #0xb0\n\ + add r2, r4, #0\n\ + bl CreateSprite\n\ + ldr r5, ._492 + 16\n\ + mov r2, r8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r5\n\ + strb r0, [r1]\n\ + ldr r4, ._492 + 20\n\ + ldrb r0, [r2]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r4\n\ + ldr r1, ._492 + 24\n\ + strh r1, [r0, #0x24]\n\ + ldrb r0, [r2]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r4\n\ + mov r1, #0x2\n\ + strh r1, [r0, #0x2e]\n\ + ldr r0, ._492 + 28\n\ + mov r1, r9\n\ + lsl r6, r1, #0x3\n\ + add r0, r6, r0\n\ + ldrh r0, [r0, #0x4]\n\ + bl IndexOfSpritePaletteTag\n\ + mov r2, r8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r5\n\ + ldrb r1, [r1]\n\ + lsl r2, r1, #0x4\n\ + add r2, r2, r1\n\ + lsl r2, r2, #0x2\n\ + add r2, r2, r4\n\ + lsl r0, r0, #0x4\n\ + ldrb r3, [r2, #0x5]\n\ + mov r1, #0xf\n\ + and r1, r1, r3\n\ + orr r1, r1, r0\n\ + strb r1, [r2, #0x5]\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + add r0, r0, r5\n\ + ldrb r0, [r0]\n\ + lsl r1, r0, #0x4\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r4\n\ + ldrh r0, [r1, #0x4]\n\ + lsl r0, r0, #0x16\n\ + lsr r0, r0, #0x16\n\ + strh r0, [r1, #0x38]\n\ + ldr r0, ._492 + 32\n\ + add r6, r6, r0\n\ + ldrh r0, [r6, #0x6]\n\ + bl GetSpriteTileStartByTag\n\ + mov r2, r8\n\ + ldrb r1, [r2]\n\ + add r1, r1, r5\n\ + ldrb r2, [r1]\n\ + lsl r1, r2, #0x4\n\ + add r1, r1, r2\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r4\n\ + ldr r2, ._492 + 36\n\ + and r2, r2, r0\n\ + ldrh r3, [r1, #0x4]\n\ + ldr r0, ._492 + 40\n\ + and r0, r0, r3\n\ + orr r0, r0, r2\n\ + strh r0, [r1, #0x4]\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r4\n\ + mov r2, r9\n\ + strh r2, [r0, #0x6]\n\ + mov r1, r8\n\ + ldrb r0, [r1]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x4\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r4, r4, #0x1c\n\ + add r0, r0, r4\n\ + ldr r1, ._492 + 44\n\ + str r1, [r0]\n\ + ldr r1, ._492 + 48\n\ + mov r2, r8\n\ + ldrb r0, [r2]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r1, ._492 + 52\n\ + str r1, [r0]\n\ + pop {r3, r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._493:\n\ + .align 2, 0\n\ +._492:\n\ + .word gTrainers\n\ + .word gActiveBank\n\ + .word gUnknown_02024E8C\n\ + .word gTrainerFrontPicCoords\n\ + .word gObjectBankIDs\n\ + .word gSprites\n\ + .word 0xff10\n\ + .word gTrainerFrontPicPaletteTable\n\ + .word gTrainerFrontPicTable\n\ + .word 0x3ff\n\ + .word 0xfffffc00\n\ + .word sub_80313A0+1\n\ + .word gBattleBankFunc\n\ + .word sub_8032B4C+1"); +} +#else void OpponentHandleTrainerThrow(void) { u32 trainerPicIndex; @@ -1238,6 +1475,7 @@ void OpponentHandleTrainerThrow(void) gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B4C; } +#endif void OpponentHandleTrainerSlide(void) { @@ -1427,6 +1665,315 @@ void OpponentHandlecmd19(void) OpponentBufferExecCompleted(); } +#if DEBUG +__attribute__((naked)) +void OpponentHandlecmd20(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, sl\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6, r7}\n\ + ldr r6, ._549\n\ + ldrb r0, [r6]\n\ + lsl r0, r0, #0x9\n\ + ldr r1, ._549 + 4\n\ + add r5, r0, r1\n\ + ldr r2, ._549 + 8\n\ + ldrb r1, [r2]\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + mov sl, r6\n\ + cmp r0, #0\n\ + beq ._546 @cond_branch\n\ + ldr r0, ._549 + 12\n\ + mov r9, r0\n\ + ldr r1, ._549 + 16\n\ + mov ip, r1\n\ + add r7, r6, #0\n\ + mov r0, #0x2\n\ + mov r8, r0\n\ + ldr r6, ._549 + 20\n\ +._552:\n\ + ldrb r1, [r7]\n\ + mov r0, r8\n\ + and r0, r0, r1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x19\n\ + add r0, r0, r6\n\ + mov r1, ip\n\ + add r3, r0, r1\n\ + ldrb r1, [r3]\n\ + lsl r0, r1, #0x1\n\ + add r0, r5, r0\n\ + ldrh r2, [r0]\n\ + add r4, r1, #0\n\ + cmp r2, #0\n\ + beq ._547 @cond_branch\n\ + add r0, r4, #1\n\ + strb r0, [r3]\n\ + b ._548\n\ +._550:\n\ + .align 2, 0\n\ +._549:\n\ + .word gActiveBank\n\ + .word gUnknown_02023A64\n\ + .word gUnknown_02023A14+0x50\n\ + .word gBattleMoves\n\ + .word +0x2000000\n\ + .word 0x1609e\n\ +._547:\n\ + strb r2, [r3]\n\ +._548:\n\ + ldrb r0, [r7]\n\ + mov r1, r8\n\ + and r1, r1, r0\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x19\n\ + add r1, r1, r6\n\ + add r1, r1, ip\n\ + ldrb r0, [r1]\n\ + cmp r0, #0x3\n\ + bls ._551 @cond_branch\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ +._551:\n\ + cmp r2, #0\n\ + beq ._552 @cond_branch\n\ + lsl r0, r2, #0x1\n\ + add r0, r0, r2\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r9\n\ + ldrb r3, [r0, #0x6]\n\ + mov r0, #0x12\n\ + and r0, r0, r3\n\ + cmp r0, #0\n\ + beq ._553 @cond_branch\n\ + mov r1, sl\n\ + ldrb r0, [r1]\n\ + b ._561\n\ +._553:\n\ + ldr r0, ._559\n\ + ldrh r1, [r0]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._557 @cond_branch\n\ + ldr r0, ._559 + 4\n\ + ldrb r1, [r0]\n\ + mov r5, #0x2\n\ + add r0, r5, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._556 @cond_branch\n\ + cmp r3, #0\n\ + bne ._557 @cond_branch\n\ + mov r1, sl\n\ + ldrb r0, [r1]\n\ + bl GetBankIdentity\n\ + mov r1, #0x2\n\ + eor r0, r0, r1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + b ._558\n\ +._560:\n\ + .align 2, 0\n\ +._559:\n\ + .word gBattleTypeFlags\n\ + .word gUnknown_02023A14+0x50\n\ +._556:\n\ + bl Random\n\ + add r1, r5, #0\n\ + and r1, r1, r0\n\ + lsl r1, r1, #0x10\n\ + lsr r0, r1, #0x10\n\ + b ._561\n\ +._557:\n\ + mov r0, #0x0\n\ +._558:\n\ + bl GetBankByIdentity\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ +._561:\n\ + lsl r2, r0, #0x8\n\ + orr r2, r2, r4\n\ + mov r0, #0x1\n\ + mov r1, #0xa\n\ +._569:\n\ + bl Emitcmd33\n\ +._573:\n\ + bl OpponentBufferExecCompleted\n\ + b ._562\n\ +._546:\n\ + ldr r0, ._567\n\ + ldrh r1, [r0]\n\ + mov r0, #0x93\n\ + lsl r0, r0, #0x3\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._563 @cond_branch\n\ + bl BattleAI_SetupAIData\n\ + bl BattleAI_GetAIActionToUse\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + cmp r4, #0x4\n\ + beq ._564 @cond_branch\n\ + cmp r4, #0x5\n\ + bne ._565 @cond_branch\n\ + mov r0, #0x1\n\ + mov r1, #0x4\n\ + b ._566\n\ +._568:\n\ + .align 2, 0\n\ +._567:\n\ + .word gBattleTypeFlags\n\ +._564:\n\ + mov r0, #0x1\n\ + mov r1, #0x3\n\ +._566:\n\ + mov r2, #0x0\n\ + b ._569\n\ +._565:\n\ + ldr r3, ._574\n\ + lsl r0, r4, #0x1\n\ + add r2, r5, r0\n\ + ldrh r1, [r2]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r3\n\ + ldrb r1, [r0, #0x6]\n\ + mov r0, #0x12\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._570 @cond_branch\n\ + ldr r1, ._574 + 4\n\ + ldrb r0, [r6]\n\ + strb r0, [r1]\n\ +._570:\n\ + ldrh r1, [r2]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r3\n\ + ldrb r1, [r0, #0x6]\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._572 @cond_branch\n\ + mov r0, #0x0\n\ + bl GetBankByIdentity\n\ + ldr r5, ._574 + 4\n\ + strb r0, [r5]\n\ + ldr r0, ._574 + 8\n\ + ldrb r1, [r0]\n\ + ldr r2, ._574 + 12\n\ + ldrb r0, [r5]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r2\n\ + ldr r0, [r0]\n\ + and r1, r1, r0\n\ + cmp r1, #0\n\ + beq ._572 @cond_branch\n\ + mov r0, #0x2\n\ + bl GetBankByIdentity\n\ + strb r0, [r5]\n\ +._572:\n\ + ldr r0, ._574 + 4\n\ + ldrb r2, [r0]\n\ + lsl r2, r2, #0x8\n\ + orr r2, r2, r4\n\ + mov r0, #0x1\n\ + mov r1, #0xa\n\ + bl Emitcmd33\n\ + b ._573\n\ +._575:\n\ + .align 2, 0\n\ +._574:\n\ + .word gBattleMoves\n\ + .word gBankTarget\n\ + .word gAbsentBankFlags\n\ + .word gBitTable\n\ +._563:\n\ + mov r6, #0x3\n\ +._576:\n\ + bl Random\n\ + add r4, r0, #0\n\ + and r4, r4, r6\n\ + lsl r0, r4, #0x1\n\ + add r0, r5, r0\n\ + ldrh r2, [r0]\n\ + cmp r2, #0\n\ + beq ._576 @cond_branch\n\ + ldr r1, ._579\n\ + lsl r0, r2, #0x1\n\ + add r0, r0, r2\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0, #0x6]\n\ + mov r0, #0x12\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._577 @cond_branch\n\ + ldr r0, ._579 + 4\n\ + ldrb r2, [r0]\n\ + lsl r2, r2, #0x8\n\ + b ._578\n\ +._580:\n\ + .align 2, 0\n\ +._579:\n\ + .word gBattleMoves\n\ + .word gActiveBank\n\ +._577:\n\ + ldr r0, ._583\n\ + ldrh r1, [r0]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._581 @cond_branch\n\ + bl Random\n\ + mov r1, #0x2\n\ + and r1, r1, r0\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + add r0, r1, #0\n\ + bl GetBankByIdentity\n\ + add r2, r0, #0\n\ + lsl r2, r2, #0x18\n\ + lsr r2, r2, #0x10\n\ +._578:\n\ + orr r2, r2, r4\n\ + mov r0, #0x1\n\ + mov r1, #0xa\n\ + bl Emitcmd33\n\ + b ._582\n\ +._584:\n\ + .align 2, 0\n\ +._583:\n\ + .word gBattleTypeFlags\n\ +._581:\n\ + mov r0, #0x0\n\ + bl GetBankByIdentity\n\ + add r2, r0, #0\n\ + lsl r2, r2, #0x18\n\ + lsr r2, r2, #0x10\n\ + orr r2, r2, r4\n\ + mov r0, #0x1\n\ + mov r1, #0xa\n\ + bl Emitcmd33\n\ +._582:\n\ + bl OpponentBufferExecCompleted\n\ +._562:\n\ + pop {r3, r4, r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov sl, r5\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0"); +} +#else #ifdef NONMATCHING void OpponentHandlecmd20(void) { @@ -1670,6 +2217,7 @@ _0803558A:\n\ .syntax divided\n"); } #endif +#endif void OpponentHandleOpenBag(void) { diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 4063aee3a..d40c31b1b 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -41,7 +41,7 @@ extern struct u8 field1; } gUnknown_020297D8; -static void sub_8082F20(u8 taskId); +/*static*/ void sub_8082F20(u8 taskId); static void sub_8082F68(u8 taskId); static void sub_8082FEC(u8 taskId); static void sub_808303C(u8 taskId); @@ -414,6 +414,63 @@ void debug_sub_808A55C() } #endif +#if DEBUG +__attribute__((naked)) +static void sub_8082CD4(u8 arg0, u8 arg1) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + lsl r1, r1, #0x18\n\ + lsr r6, r1, #0x18\n\ + mov r0, #0xc\n\ + mov r1, #0x0\n\ + mov r2, #0x1f\n\ + mov r3, #0x2\n\ + bl InitLinkTestBG_Unused\n\ + ldr r4, ._40\n\ + add r0, r4, #0\n\ + bl FindTaskIdByFunc\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xff\n\ + bne ._39 @cond_branch\n\ + add r0, r4, #0\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + add r4, r0, #0\n\ + lsl r4, r4, #0x18\n\ + lsr r4, r4, #0x18\n\ + ldr r5, ._40 + 4\n\ + lsl r0, r4, #0x2\n\ + add r0, r0, r4\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r5\n\ + strh r7, [r0, #0xa]\n\ + strh r6, [r0, #0xc]\n\ + ldr r0, ._40 + 8\n\ + mov r1, #0x50\n\ + bl CreateTask\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + lsl r1, r0, #0x2\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r5\n\ + strh r4, [r1, #0x8]\n\ +._39:\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._41:\n\ + .align 2, 0\n\ +._40:\n\ + .word sub_8082F20+1\n\ + .word gTasks\n\ + .word debug_sub_808A55C+1"); +} +#else static void sub_8082CD4(u8 arg0, u8 arg1) { if (FindTaskIdByFunc(sub_8082F20) == 0xFF) @@ -424,6 +481,7 @@ static void sub_8082CD4(u8 arg0, u8 arg1) gTasks[taskId].data[2] = arg1; } } +#endif static void sub_8082D18(u32 value) { @@ -526,7 +584,7 @@ void unref_sub_8082EEC(u8 taskId) } } -static void sub_8082F20(u8 taskId) +/*static*/ void sub_8082F20(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -1316,6 +1374,7 @@ void unref_sub_8083CC8(u8 taskId) #if DEBUG +__attribute__((naked)) void debug_sub_808B82C() { asm("\ @@ -1329,6 +1388,7 @@ void debug_sub_808B82C() .word unk_2030220"); } +__attribute__((naked)) void debug_sub_808B838(u8 a) { asm("\ @@ -1347,6 +1407,7 @@ void debug_sub_808B838(u8 a) .word unk_2030220"); } +__attribute__((naked)) int debug_sub_808B850() { asm("\ diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 75c0cba78..e26b801bc 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -94,9 +94,9 @@ static void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite); static void ItemUseMoveMenu_HandleMoveSelection(u8 taskId); static void ItemUseMoveMenu_HandleCancel(u8 taskId); static bool8 SetupDefaultPartyMenu(void); -static void sub_806B4A8(void); -static void VBlankCB_PartyMenu(void); -static bool8 LoadPartyMenuGraphics(u8 a); +/*static*/ void sub_806B4A8(void); +/*static*/ void VBlankCB_PartyMenu(void); +/*static*/ bool8 LoadPartyMenuGraphics(u8 a); static void sub_806BF24(const u8 *a, u8 monIndex, u8 c, u8 d); static void sub_806BB9C(u8 a); static void sub_806BBEC(u8 a); @@ -493,6 +493,71 @@ extern const u8 gStatusPal_Icons[]; #define WINDOW_RIGHT (29) #endif +#if DEBUG +__attribute__((naked)) +void CB2_PartyMenuMain(void) +{ + asm("\ + push {r4, r5, r6, lr}\n\ + add sp, sp, #0xfffffffc\n\ + bl AnimateSprites\n\ + bl BuildOamBuffer\n\ + ldr r0, ._3\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x4\n\ + ldr r1, ._3 + 4\n\ + add r5, r0, r1\n\ + mov r6, #0x0\n\ +._1:\n\ + ldrb r0, [r5]\n\ + lsl r0, r0, #0x3\n\ + ldrb r1, [r5, #0x1]\n\ + lsl r1, r1, #0x3\n\ + ldr r2, [r5, #0x4]\n\ + lsl r3, r6, #0x5\n\ + mov r4, #0x80\n\ + lsl r4, r4, #0x2\n\ + orr r3, r3, r4\n\ + str r3, [sp]\n\ + mov r3, #0x0\n\ + bl DrawPartyMenuMonText\n\ + add r5, r5, #0x8\n\ + add r6, r6, #0x1\n\ + cmp r6, #0x5\n\ + ble ._1 @cond_branch\n\ + bl RunTasks\n\ + bl UpdatePaletteFade\n\ + ldr r0, ._3 + 8\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._2 @cond_branch\n\ + ldr r0, ._3 + 12\n\ + ldr r1, ._3 + 16\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x2\n\ + str r1, [sp]\n\ + mov r1, #0x1\n\ + mov r2, #0x1\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._2:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._4:\n\ + .align 2, 0\n\ +._3:\n\ + .word gPartyMenuType\n\ + .word PartyMonTextSettings\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else void CB2_PartyMenuMain(void) { const struct PartyMonTextSettingsStruct *textSettings; @@ -517,6 +582,7 @@ void CB2_PartyMenuMain(void) RunTasks(); UpdatePaletteFade(); } +#endif void VBlankCB_PartyMenu(void) { @@ -621,6 +687,425 @@ bool8 SetupDefaultPartyMenu(void) return FALSE; } +#if DEBUG +__attribute__((naked)) +bool8 InitPartyMenu(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + add sp, sp, #0xfffffff4\n\ + ldr r0, ._55\n\ + ldr r1, ._55 + 4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x11\n\ + bls ._53 @cond_branch\n\ + b ._125\n\ +._53:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._55 + 8\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._56:\n\ + .align 2, 0\n\ +._55:\n\ + .word gMain\n\ + .word 0x43c\n\ + .word ._57\n\ +._57:\n\ + .word ._58\n\ + .word ._59\n\ + .word ._60\n\ + .word ._61\n\ + .word ._62\n\ + .word ._63\n\ + .word ._64\n\ + .word ._65\n\ + .word ._66\n\ + .word ._67\n\ + .word ._68\n\ + .word ._69\n\ + .word ._70\n\ + .word ._71\n\ + .word ._72\n\ + .word ._73\n\ + .word ._74\n\ + .word ._75\n\ +._58:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + mov r3, #0xc0\n\ + lsl r3, r3, #0x13\n\ + mov r4, #0xc0\n\ + lsl r4, r4, #0x9\n\ + add r2, sp, #0x8\n\ + mov r8, r2\n\ + add r2, sp, #0x4\n\ + mov r6, #0x0\n\ + ldr r1, ._78\n\ + mov r5, #0x80\n\ + lsl r5, r5, #0x5\n\ + ldr r7, ._78 + 4\n\ + mov r0, #0x81\n\ + lsl r0, r0, #0x18\n\ + mov ip, r0\n\ +._76:\n\ + strh r6, [r2]\n\ + add r0, sp, #0x4\n\ + str r0, [r1]\n\ + str r3, [r1, #0x4]\n\ + str r7, [r1, #0x8]\n\ + ldr r0, [r1, #0x8]\n\ + add r3, r3, r5\n\ + sub r4, r4, r5\n\ + cmp r4, r5\n\ + bhi ._76 @cond_branch\n\ + strh r6, [r2]\n\ + add r2, sp, #0x4\n\ + str r2, [r1]\n\ + str r3, [r1, #0x4]\n\ + lsr r0, r4, #0x1\n\ + mov r3, ip\n\ + orr r0, r0, r3\n\ + str r0, [r1, #0x8]\n\ + ldr r0, [r1, #0x8]\n\ + mov r0, #0xe0\n\ + lsl r0, r0, #0x13\n\ + mov r3, #0x80\n\ + lsl r3, r3, #0x3\n\ + mov r4, #0x0\n\ + str r4, [sp, #0x8]\n\ + ldr r2, ._78\n\ + mov r1, r8\n\ + str r1, [r2]\n\ + str r0, [r2, #0x4]\n\ + lsr r0, r3, #0x2\n\ + mov r1, #0x85\n\ + lsl r1, r1, #0x18\n\ + orr r0, r0, r1\n\ + str r0, [r2, #0x8]\n\ + ldr r0, [r2, #0x8]\n\ + mov r1, #0xa0\n\ + lsl r1, r1, #0x13\n\ + add r0, sp, #0x4\n\ + strh r4, [r0]\n\ + str r0, [r2]\n\ + str r1, [r2, #0x4]\n\ + lsr r3, r3, #0x1\n\ + mov r0, #0x81\n\ + lsl r0, r0, #0x18\n\ + orr r3, r3, r0\n\ + str r3, [r2, #0x8]\n\ + ldr r0, [r2, #0x8]\n\ + ldr r2, ._78 + 8\n\ + ldrb r0, [r2, #0x8]\n\ + mov r1, #0x80\n\ + orr r0, r0, r1\n\ + strb r0, [r2, #0x8]\n\ + ldr r1, ._78 + 12\n\ + ldr r2, ._78 + 16\n\ + add r1, r1, r2\n\ + b ._122\n\ +._79:\n\ + .align 2, 0\n\ +._78:\n\ + .word 0x40000d4\n\ + .word 0x81000800\n\ + .word gPaletteFade\n\ + .word gMain\n\ + .word 0x43c\n\ +._59:\n\ + bl ScanlineEffect_Stop\n\ + b ._115\n\ +._60:\n\ + bl sub_806B4A8\n\ + ldr r1, ._82\n\ + mov r2, #0x99\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + mov r2, #0x0\n\ + strh r2, [r0]\n\ + ldr r3, ._82 + 4\n\ + add r0, r1, r3\n\ + strh r2, [r0]\n\ + mov r0, #0x9a\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + strh r2, [r1]\n\ + ldr r1, ._82 + 8\n\ + ldr r2, ._82 + 12\n\ + add r1, r1, r2\n\ + b ._122\n\ +._83:\n\ + .align 2, 0\n\ +._82:\n\ + .word +0x201b000\n\ + .word 0x266\n\ + .word gMain\n\ + .word 0x43c\n\ +._61:\n\ + bl ResetSpriteData\n\ + b ._115\n\ +._62:\n\ + ldr r0, ._88\n\ + mov r1, #0x96\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + beq ._86 @cond_branch\n\ + cmp r0, #0x5\n\ + beq ._86 @cond_branch\n\ + bl ResetTasks\n\ +._86:\n\ + ldr r1, ._88 + 4\n\ + ldr r2, ._88 + 8\n\ + add r1, r1, r2\n\ + b ._122\n\ +._89:\n\ + .align 2, 0\n\ +._88:\n\ + .word +0x201b000\n\ + .word gMain\n\ + .word 0x43c\n\ +._63:\n\ + bl FreeAllSpritePalettes\n\ + b ._115\n\ +._64:\n\ + ldr r4, ._92\n\ + mov r1, #0x97\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x0\n\ + bl CreateTask\n\ + mov r2, #0x98\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + strb r0, [r1]\n\ + b ._115\n\ +._93:\n\ + .align 2, 0\n\ +._92:\n\ + .word +0x201b000\n\ +._65:\n\ + ldr r0, ._95\n\ + bl Text_LoadWindowTemplate\n\ + ldr r1, ._95 + 4\n\ + ldr r0, ._95 + 8\n\ + add r1, r1, r0\n\ + b ._122\n\ +._96:\n\ + .align 2, 0\n\ +._95:\n\ + .word gWindowTemplate_81E6C90\n\ + .word gMain\n\ + .word 0x43c\n\ +._66:\n\ + ldr r4, ._98\n\ + ldr r1, ._98 + 4\n\ + add r0, r4, #0\n\ + bl Text_InitWindowWithTemplate\n\ + add r0, r4, #0\n\ + mov r1, #0x1\n\ + bl MultistepInitWindowTileData\n\ + ldr r1, ._98 + 8\n\ + ldr r2, ._98 + 12\n\ + add r1, r1, r2\n\ + b ._122\n\ +._99:\n\ + .align 2, 0\n\ +._98:\n\ + .word gUnknown_03004210\n\ + .word gWindowTemplate_81E6C90\n\ + .word gMain\n\ + .word 0x43c\n\ +._67:\n\ + bl MultistepLoadFont\n\ + cmp r0, #0\n\ + bne ._100 @cond_branch\n\ + b ._125\n\ +._100:\n\ + ldr r0, ._103\n\ + mov r3, #0x99\n\ + lsl r3, r3, #0x2\n\ + add r0, r0, r3\n\ + mov r1, #0x1\n\ + strh r1, [r0]\n\ + ldr r1, ._103 + 4\n\ + ldr r0, ._103 + 8\n\ + add r1, r1, r0\n\ + b ._122\n\ +._104:\n\ + .align 2, 0\n\ +._103:\n\ + .word +0x201b000\n\ + .word gMain\n\ + .word 0x43c\n\ +._68:\n\ + ldr r0, ._107\n\ + mov r1, #0x99\n\ + lsl r1, r1, #0x2\n\ + add r4, r0, r1\n\ + ldrb r0, [r4]\n\ + bl LoadPartyMenuGraphics\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bne ._105 @cond_branch\n\ + mov r0, #0x0\n\ + strh r0, [r4]\n\ + ldr r1, ._107 + 4\n\ + ldr r2, ._107 + 8\n\ + add r1, r1, r2\n\ + b ._122\n\ +._108:\n\ + .align 2, 0\n\ +._107:\n\ + .word +0x201b000\n\ + .word gMain\n\ + .word 0x43c\n\ +._105:\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._125\n\ +._69:\n\ + bl sub_809D51C\n\ + b ._115\n\ +._70:\n\ + ldr r2, ._113\n\ + ldr r0, ._113 + 4\n\ + mov r1, #0x96\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x1\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + add r2, r2, #0x4\n\ + add r0, r0, r2\n\ + ldr r0, [r0]\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bne ._125 @cond_branch\n\ + ldr r1, ._113 + 8\n\ + ldr r2, ._113 + 12\n\ + add r1, r1, r2\n\ + b ._122\n\ +._114:\n\ + .align 2, 0\n\ +._113:\n\ + .word PartyMenuHandlers\n\ + .word +0x201b000\n\ + .word gMain\n\ + .word 0x43c\n\ +._71:\n\ + ldr r0, ._116\n\ + bl MultistepInitMenuWindowBegin\n\ + b ._115\n\ +._117:\n\ + .align 2, 0\n\ +._116:\n\ + .word gWindowTemplate_81E6CC8\n\ +._72:\n\ + bl MultistepInitMenuWindowContinue\n\ + cmp r0, #0\n\ + beq ._125 @cond_branch\n\ + ldr r1, ._120\n\ + ldr r0, ._120 + 4\n\ + add r1, r1, r0\n\ + b ._122\n\ +._121:\n\ + .align 2, 0\n\ +._120:\n\ + .word gMain\n\ + .word 0x43c\n\ +._73:\n\ + ldr r0, ._123\n\ + ldr r1, ._123 + 4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x0\n\ + bl PrintPartyMenuPromptText\n\ + ldr r1, ._123 + 8\n\ + ldr r2, ._123 + 12\n\ + add r1, r1, r2\n\ + b ._122\n\ +._124:\n\ + .align 2, 0\n\ +._123:\n\ + .word +0x201b000\n\ + .word 0x259\n\ + .word gMain\n\ + .word 0x43c\n\ +._74:\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r2, ._126\n\ + ldrb r1, [r2, #0x8]\n\ + mov r0, #0x7f\n\ + and r0, r0, r1\n\ + strb r0, [r2, #0x8]\n\ +._115:\n\ + ldr r1, ._126 + 4\n\ + ldr r3, ._126 + 8\n\ + add r1, r1, r3\n\ +._122:\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + b ._125\n\ +._127:\n\ + .align 2, 0\n\ +._126:\n\ + .word gPaletteFade\n\ + .word gMain\n\ + .word 0x43c\n\ +._75:\n\ + ldr r0, ._130\n\ + bl SetVBlankCallback\n\ + ldr r0, ._130 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._128 @cond_branch\n\ + ldr r0, ._130 + 8\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x8\n\ + ldr r2, ._130 + 12\n\ + mov r3, #0x2\n\ + bl debug_sub_8008218\n\ +._128:\n\ + mov r0, #0x1\n\ + b ._129\n\ +._131:\n\ + .align 2, 0\n\ +._130:\n\ + .word VBlankCB_PartyMenu+1\n\ + .word gLinkOpen\n\ + .word 0x600e5e0\n\ + .word 0x6007800\n\ +._125:\n\ + mov r0, #0x0\n\ +._129:\n\ + add sp, sp, #0xc\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4, r5, r6, r7}\n\ + pop {r1}\n\ + bx r1"); +} +#else bool8 InitPartyMenu(void) { u8 *addr; @@ -744,6 +1229,7 @@ bool8 InitPartyMenu(void) return FALSE; } +#endif void CB2_InitPartyMenu(void) { diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c index 2b3405640..34d816387 100644 --- a/src/pokemon/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -954,6 +954,97 @@ void debug_sub_80986AC() } #endif +#if DEBUG +__attribute__((naked)) +static void sub_808AE8C(void) +{ + asm("\ + push {r4, r5, r6, lr}\n\ + ldr r0, ._281\n\ + ldrb r0, [r0]\n\ + sub r0, r0, #0x21\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ + mov r5, #0x0\n\ +._287:\n\ + mov r0, #0x64\n\ + add r1, r5, #0\n\ + mul r1, r1, r0\n\ + ldr r0, ._281 + 4\n\ + add r4, r1, r0\n\ + add r0, r4, #0\n\ + mov r1, #0xb\n\ + bl GetMonData\n\ + cmp r0, #0\n\ + beq ._284 @cond_branch\n\ + add r0, r5, #0\n\ + bl sub_806D668\n\ + ldr r0, ._281 + 8\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._279 @cond_branch\n\ + add r0, r4, #0\n\ + mov r1, #0x2d\n\ + bl GetMonData\n\ + cmp r0, #0\n\ + bne ._278 @cond_branch\n\ + add r0, r4, #0\n\ + add r1, r6, #0\n\ + bl CanMonLearnTMHM\n\ + cmp r0, #0\n\ + bne ._279 @cond_branch\n\ +._278:\n\ + add r0, r5, #0\n\ + mov r1, #0x9a\n\ + bl sub_806BC3C\n\ + b ._284\n\ +._282:\n\ + .align 2, 0\n\ +._281:\n\ + .word gSpecialVar_ItemId\n\ + .word gPlayerParty\n\ + .word gUnknown_020297ED\n\ +._279:\n\ + mov r0, #0x64\n\ + add r4, r5, #0\n\ + mul r4, r4, r0\n\ + ldr r0, ._285\n\ + add r4, r4, r0\n\ + ldr r0, ._285 + 4\n\ + ldrh r0, [r0]\n\ + bl ItemIdToBattleMoveId\n\ + add r1, r0, #0\n\ + lsl r1, r1, #0x10\n\ + lsr r1, r1, #0x10\n\ + add r0, r4, #0\n\ + bl pokemon_has_move\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._283 @cond_branch\n\ + add r0, r5, #0\n\ + mov r1, #0xa8\n\ + bl sub_806BC3C\n\ + b ._284\n\ +._286:\n\ + .align 2, 0\n\ +._285:\n\ + .word gPlayerParty\n\ + .word gSpecialVar_ItemId\n\ +._283:\n\ + add r0, r5, #0\n\ + mov r1, #0x8c\n\ + bl sub_806BC3C\n\ +._284:\n\ + add r0, r5, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + cmp r5, #0x5\n\ + bls ._287 @cond_branch\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0"); +} +#else static void sub_808AE8C(void) { u8 i; @@ -972,6 +1063,7 @@ static void sub_808AE8C(void) } } } +#endif static void sub_808AF20(void) { diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index b59d02939..a93313e37 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -278,8 +278,8 @@ static bool8 Blender_PrintBlendingResults(void); static void sub_80510E8(void); static void sub_8050E30(void); static void sub_805197C(u16 a0, u16 a1); -static void Blender_PrintMadePokeblockString(struct Pokeblock* pokeblock, u8* dst); -static void sub_8052BD0(u8 taskID); +/*static*/ void Blender_PrintMadePokeblockString(struct Pokeblock* pokeblock, u8* dst); +/*static*/ void sub_8052BD0(u8 taskID); static void sub_8052AF8(void); static void sub_804F8C8(u8 taskID); static void sub_804F9F4(u8 taskID); @@ -2446,7 +2446,7 @@ static void BlenderDebug_CalculatePokeblock(struct BlenderBerry* berries, struct Blender_CalculatePokeblock(berries, pokeblock, playersNo, flavours, a4); } -static void sub_8050760(void) +/*static*/ void sub_8050760(void) { u32 frames = (u16)(gBerryBlenderData->gameFrameTime); u16 max_RPM = gBerryBlenderData->max_RPM; @@ -3305,12 +3305,20 @@ static void sub_8051C04(struct Sprite* sprite) sprite->pos2.y = -(gBerryBlenderData->field_146); } -static void Blender_TrySettingRecord(void) +/*static*/ void Blender_TrySettingRecord(void) { if (gSaveBlock1.berryBlenderRecords[gBerryBlenderData->playersNo - 2] < gBerryBlenderData->max_RPM) gSaveBlock1.berryBlenderRecords[gBerryBlenderData->playersNo - 2] = gBerryBlenderData->max_RPM; } +#if DEBUG +__attribute__((naked)) +static bool8 Blender_PrintBlendingResults(void) +{ + // TODO: disassemble this! + asm(".incbin \"baserom_de_debug.gba\", 0x56178, 0x5655C-0x56178"); +} +#else static bool8 Blender_PrintBlendingResults(void) { u16 i; @@ -3445,8 +3453,9 @@ static bool8 Blender_PrintBlendingResults(void) } return FALSE; } +#endif -static void Blender_PrintMadePokeblockString(struct Pokeblock* pokeblock, u8* dst) +/*static*/ void Blender_PrintMadePokeblockString(struct Pokeblock* pokeblock, u8* dst) { u8 text[12]; u8 flavourLvl, feel; @@ -3869,7 +3878,7 @@ void ShowBerryBlenderRecordWindow(void) } } -static void sub_8052BD0(u8 taskID) +/*static*/ void sub_8052BD0(u8 taskID) { if (gTasks[taskID].data[0] == 0) { -- cgit v1.2.3 From 2ca829a4abda20bb1b053f50a9f1c9b6c8e93223 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 13:06:47 -0600 Subject: add more debug code --- src/contest.c | 840 ++++++ src/field/bike.c | 15 +- src/field/secret_base.c | 173 ++ src/field/shop.c | 21 + src/pokemon/pokemon_summary_screen.c | 552 +++- src/pokenav_before.c | 5192 +++++++++++++++++++++++++++++++++- 6 files changed, 6769 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 972c19c2c..d559ca81f 100644 --- a/src/contest.c +++ b/src/contest.c @@ -611,6 +611,35 @@ void sub_80AB9A0(u8 taskId) } } +#if DEBUG +__attribute__((naked)) +void ContestMainCallback2(void) +{ + asm("\ + push {lr}\n\ + ldr r0, ._122\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._121 @cond_branch\n\ + ldr r0, ._122 + 4\n\ + ldrh r0, [r0, #0x2e]\n\ + cmp r0, #0x4\n\ + bne ._121 @cond_branch\n\ + bl unref_sub_80B0CF4\n\ +._121:\n\ + bl AnimateSprites\n\ + bl RunTasks\n\ + bl BuildOamBuffer\n\ + bl UpdatePaletteFade\n\ + pop {r0}\n\ + bx r0\n\ +._123:\n\ + .align 2, 0\n\ +._122:\n\ + .word gUnknown_020297ED\n\ + .word gMain"); +} +#else void ContestMainCallback2(void) { AnimateSprites(); @@ -618,6 +647,7 @@ void ContestMainCallback2(void) BuildOamBuffer(); UpdatePaletteFade(); } +#endif void ContestVBlankCallback(void) { @@ -733,6 +763,272 @@ void sub_80ABCDC(u8 taskId) } // Handle move selection input +#if DEBUG +__attribute__((naked)) +void sub_80ABEA0(u8 taskId) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + add sp, sp, #0xfffffff8\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + mov r6, #0x0\n\ + ldr r0, ._161\n\ + mov ip, r0\n\ + ldr r4, ._161 + 4\n\ + ldr r3, ._161 + 8\n\ + ldrb r0, [r4]\n\ + lsl r0, r0, #0x6\n\ + mov r1, ip\n\ + add r1, r1, #0x1e\n\ + add r1, r0, r1\n\ + mov r2, #0x3\n\ +._158:\n\ + ldrh r0, [r1]\n\ + cmp r0, #0\n\ + beq ._157 @cond_branch\n\ + add r0, r6, #1\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ +._157:\n\ + add r1, r1, #0x2\n\ + sub r2, r2, #0x1\n\ + cmp r2, #0\n\ + bge ._158 @cond_branch\n\ + ldrh r0, [r3, #0x2e]\n\ + mov r5, #0x1\n\ + and r5, r5, r0\n\ + cmp r5, #0\n\ + beq ._159 @cond_branch\n\ + bl DestroyMenuCursor\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._161 + 12\n\ + lsl r1, r7, #0x2\n\ + add r1, r1, r7\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r0\n\ + ldr r0, ._161 + 16\n\ + b ._160\n\ +._162:\n\ + .align 2, 0\n\ +._161:\n\ + .word gContestMons\n\ + .word gContestPlayerMonIndex\n\ + .word gMain\n\ + .word gTasks\n\ + .word sub_80AC0C8+1\n\ +._159:\n\ + ldrh r0, [r3, #0x30]\n\ + cmp r0, #0x10\n\ + bne ._163 @cond_branch\n\ + b ._196\n\ +._163:\n\ + cmp r0, #0x10\n\ + bgt ._165 @cond_branch\n\ + cmp r0, #0x2\n\ + beq ._166 @cond_branch\n\ + cmp r0, #0x8\n\ + bne ._167 @cond_branch\n\ + b ._168\n\ +._167:\n\ + b ._196\n\ +._165:\n\ + cmp r0, #0x40\n\ + beq ._170 @cond_branch\n\ + cmp r0, #0x40\n\ + bgt ._171 @cond_branch\n\ + b ._196\n\ +._171:\n\ + cmp r0, #0x80\n\ + beq ._173 @cond_branch\n\ + b ._196\n\ +._166:\n\ + bl sub_814A904\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r0, #0x0\n\ + bl sub_80AFFE0\n\ + ldr r0, ._177\n\ + ldr r1, ._177 + 4\n\ + ldrb r2, [r1]\n\ + ldrb r3, [r1, #0x1]\n\ + ldrb r4, [r1, #0x2]\n\ + str r4, [sp]\n\ + ldrb r1, [r1, #0x3]\n\ + str r1, [sp, #0x4]\n\ + mov r1, #0x0\n\ + bl Text_FillWindowRectDefPalette\n\ + ldr r0, ._177 + 8\n\ + ldrb r0, [r0]\n\ + bl Contest_IsMonsTurnDisabled\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._175 @cond_branch\n\ + ldr r0, ._177 + 12\n\ + ldr r1, ._177 + 16\n\ + bl StringCopy\n\ + b ._176\n\ +._178:\n\ + .align 2, 0\n\ +._177:\n\ + .word gUnknown_03004210\n\ + .word gUnknown_083CA340\n\ + .word gContestPlayerMonIndex\n\ + .word gDisplayedStringBattle\n\ + .word gText_Contest_WhichMoveWillBePlayed\n\ +._175:\n\ + ldr r0, ._180\n\ + ldr r1, ._180 + 4\n\ + bl StringCopy\n\ +._176:\n\ + ldr r5, ._180\n\ + ldr r0, ._180 + 8\n\ + ldrb r1, [r0, #0x1]\n\ + add r1, r1, #0x1\n\ + add r0, r5, #0\n\ + bl InsertStringDigit\n\ + bl sub_80AF138\n\ + ldr r4, ._180 + 12\n\ + add r0, r4, #0\n\ + add r1, r5, #0\n\ + bl StringExpandPlaceholders\n\ + ldr r0, ._180 + 16\n\ + mov r2, #0xc2\n\ + lsl r2, r2, #0x2\n\ + mov r1, #0xf\n\ + str r1, [sp]\n\ + add r1, r4, #0\n\ + mov r3, #0x1\n\ + bl Text_InitWindowAndPrintText\n\ + ldr r0, ._180 + 20\n\ + mov r1, #0x0\n\ + strh r1, [r0]\n\ + ldr r0, ._180 + 24\n\ + strh r1, [r0]\n\ + ldr r1, ._180 + 28\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r1\n\ + ldr r1, ._180 + 32\n\ + str r1, [r0]\n\ + b ._196\n\ +._181:\n\ + .align 2, 0\n\ +._180:\n\ + .word gDisplayedStringBattle\n\ + .word gText_Contest_ButItCantParticipate\n\ + .word +0x2019204\n\ + .word gStringVar4\n\ + .word gMenuWindow\n\ + .word gBattle_BG0_Y\n\ + .word gBattle_BG2_Y\n\ + .word gTasks\n\ + .word sub_80ABC70+1\n\ +._170:\n\ + ldr r4, ._184\n\ + mov r0, #0x0\n\ + ldsb r0, [r4, r0]\n\ + bl nullsub_17\n\ + ldrb r0, [r4]\n\ + cmp r0, #0\n\ + bne ._182 @cond_branch\n\ + sub r0, r6, #1\n\ + b ._186\n\ +._185:\n\ + .align 2, 0\n\ +._184:\n\ + .word +0x2019204\n\ +._182:\n\ + sub r0, r0, #0x1\n\ + b ._186\n\ +._173:\n\ + ldr r4, ._189\n\ + mov r0, #0x0\n\ + ldsb r0, [r4, r0]\n\ + bl nullsub_17\n\ + ldrb r1, [r4]\n\ + sub r0, r6, #1\n\ + cmp r1, r0\n\ + bne ._187 @cond_branch\n\ + strb r5, [r4]\n\ + b ._188\n\ +._190:\n\ + .align 2, 0\n\ +._189:\n\ + .word +0x2019204\n\ +._187:\n\ + add r0, r1, #1\n\ +._186:\n\ + strb r0, [r4]\n\ +._188:\n\ + ldr r4, ._193\n\ + mov r0, #0x0\n\ + ldsb r0, [r4, r0]\n\ + bl sub_80AC0AC\n\ + bl sub_80AED58\n\ + ldr r2, ._193 + 4\n\ + ldrb r1, [r4]\n\ + lsl r1, r1, #0x1\n\ + ldr r0, ._193 + 8\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x6\n\ + add r1, r1, r0\n\ + add r2, r2, #0x1e\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + bl sub_80AEBEC\n\ + cmp r6, #0x1\n\ + bls ._196 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + b ._196\n\ +._194:\n\ + .align 2, 0\n\ +._193:\n\ + .word +0x2019204\n\ + .word gContestMons\n\ + .word gContestPlayerMonIndex\n\ +._168:\n\ + ldr r0, ._197\n\ + ldrb r1, [r0]\n\ + cmp r1, #0x1\n\ + bne ._196 @cond_branch\n\ + ldr r0, ._197 + 4\n\ + ldrb r0, [r0]\n\ + add r2, r0, #0\n\ + and r2, r2, r1\n\ + cmp r2, #0\n\ + bne ._196 @cond_branch\n\ + ldr r0, ._197 + 8\n\ + lsl r1, r7, #0x2\n\ + add r1, r1, r7\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r0\n\ + strh r2, [r1, #0x8]\n\ + ldrb r0, [r4]\n\ + lsl r0, r0, #0x6\n\ + add r0, r0, ip\n\ + ldrh r0, [r0, #0x1e]\n\ + strh r0, [r1, #0xa]\n\ + ldr r0, ._197 + 12\n\ +._160:\n\ + str r0, [r1]\n\ +._196:\n\ + add sp, sp, #0x8\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._198:\n\ + .align 2, 0\n\ +._197:\n\ + .word gUnknown_020297ED\n\ + .word gIsLinkContest\n\ + .word gTasks\n\ + .word debug_sub_80B9EBC+1"); +} +#else void sub_80ABEA0(u8 taskId) { u8 numMoves = 0; @@ -807,6 +1103,550 @@ void sub_80ABEA0(u8 taskId) } } } +#endif + +#if DEBUG +__attribute__((naked)) +void debug_sub_80B9EBC() +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + add sp, sp, #0xffffff94\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + ldr r1, ._202\n\ + lsl r0, r4, #0x2\n\ + add r0, r0, r4\n\ + lsl r0, r0, #0x3\n\ + add r7, r0, r1\n\ + mov r0, #0x8\n\ + ldsh r2, [r7, r0]\n\ + cmp r2, #0\n\ + beq ._199 @cond_branch\n\ + cmp r2, #0x1\n\ + beq ._200 @cond_branch\n\ + b ._229\n\ +._203:\n\ + .align 2, 0\n\ +._202:\n\ + .word gTasks\n\ +._199:\n\ + ldr r5, ._205\n\ + ldr r4, ._205 + 4\n\ + ldrb r0, [r4]\n\ + mov r8, r0\n\ + ldrb r6, [r4, #0x1]\n\ + ldrb r0, [r4, #0x2]\n\ + str r0, [sp]\n\ + ldrb r0, [r4, #0x3]\n\ + str r0, [sp, #0x4]\n\ + add r0, r5, #0\n\ + mov r1, #0x0\n\ + mov r2, r8\n\ + add r3, r6, #0\n\ + bl Text_FillWindowRectDefPalette\n\ + mov r0, #0xa\n\ + ldsh r1, [r7, r0]\n\ + mov r0, #0xd\n\ + mul r1, r1, r0\n\ + ldr r0, ._205 + 8\n\ + add r1, r1, r0\n\ + mov r2, #0xc2\n\ + lsl r2, r2, #0x2\n\ + str r6, [sp]\n\ + add r0, r5, #0\n\ + mov r3, r8\n\ + bl Text_InitWindowAndPrintText\n\ + mov r0, #0xa\n\ + ldsh r1, [r7, r0]\n\ + add r0, sp, #0x8\n\ + mov r2, #0x2\n\ + mov r3, #0x3\n\ + bl ConvertIntToDecimalStringN\n\ + mov r2, #0xc7\n\ + lsl r2, r2, #0x2\n\ + ldrb r3, [r4, #0x4]\n\ + ldrb r0, [r4, #0x5]\n\ + str r0, [sp]\n\ + add r0, r5, #0\n\ + add r1, sp, #0x8\n\ + bl Text_InitWindowAndPrintText\n\ + bl sub_80AED58\n\ + ldrh r0, [r7, #0xa]\n\ + bl sub_80AEBEC\n\ + ldrh r0, [r7, #0x8]\n\ + add r0, r0, #0x1\n\ + strh r0, [r7, #0x8]\n\ + b ._229\n\ +._206:\n\ + .align 2, 0\n\ +._205:\n\ + .word gUnknown_03004210\n\ + .word gUnknown_083CA340\n\ + .word gMoveNames\n\ +._200:\n\ + ldr r0, ._213\n\ + ldrh r1, [r0, #0x30]\n\ + cmp r1, #0x10\n\ + beq ._207 @cond_branch\n\ + cmp r1, #0x10\n\ + bgt ._208 @cond_branch\n\ + cmp r1, #0x4\n\ + beq ._215 @cond_branch\n\ + cmp r1, #0x4\n\ + bgt ._210 @cond_branch\n\ + cmp r1, #0x2\n\ + beq ._211 @cond_branch\n\ + b ._229\n\ +._214:\n\ + .align 2, 0\n\ +._213:\n\ + .word gMain\n\ +._210:\n\ + cmp r1, #0x8\n\ + beq ._215 @cond_branch\n\ + b ._229\n\ +._208:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + cmp r1, r0\n\ + beq ._217 @cond_branch\n\ + cmp r1, r0\n\ + bgt ._218 @cond_branch\n\ + cmp r1, #0x20\n\ + beq ._219 @cond_branch\n\ + b ._229\n\ +._218:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x2\n\ + cmp r1, r0\n\ + beq ._221 @cond_branch\n\ + b ._229\n\ +._219:\n\ + ldrh r0, [r7, #0xa]\n\ + sub r0, r0, #0x1\n\ + b ._223\n\ +._221:\n\ + ldrh r0, [r7, #0xa]\n\ + sub r0, r0, #0xa\n\ +._223:\n\ + strh r0, [r7, #0xa]\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + bgt ._227 @cond_branch\n\ + mov r0, #0xb1\n\ + lsl r0, r0, #0x1\n\ + strh r0, [r7, #0xa]\n\ + b ._227\n\ +._207:\n\ + ldrh r0, [r7, #0xa]\n\ + add r0, r0, #0x1\n\ + b ._226\n\ +._217:\n\ + ldrh r0, [r7, #0xa]\n\ + add r0, r0, #0xa\n\ +._226:\n\ + strh r0, [r7, #0xa]\n\ + lsl r0, r0, #0x10\n\ + mov r1, #0xb1\n\ + lsl r1, r1, #0x11\n\ + cmp r0, r1\n\ + ble ._227 @cond_branch\n\ + strh r2, [r7, #0xa]\n\ +._227:\n\ + ldrh r0, [r7, #0x8]\n\ + sub r0, r0, #0x1\n\ + strh r0, [r7, #0x8]\n\ + b ._229\n\ +._215:\n\ + ldr r0, ._230\n\ + mov r1, #0x0\n\ + strh r1, [r0]\n\ + ldr r0, ._230 + 4\n\ + strh r1, [r0]\n\ + bl sub_80B1BDC\n\ + ldr r1, ._230 + 8\n\ + lsl r0, r4, #0x2\n\ + add r0, r0, r4\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r1\n\ + mov r1, #0x0\n\ + strh r1, [r0, #0x8]\n\ + ldr r1, ._230 + 12\n\ + str r1, [r0]\n\ + b ._229\n\ +._231:\n\ + .align 2, 0\n\ +._230:\n\ + .word gBattle_BG0_Y\n\ + .word gBattle_BG2_Y\n\ + .word gTasks\n\ + .word debug_sub_80BA054+1\n\ +._211:\n\ + ldr r0, ._232\n\ + mov r1, #0xa0\n\ + strh r1, [r0]\n\ + ldr r0, ._232 + 4\n\ + strh r1, [r0]\n\ + ldr r1, ._232 + 8\n\ + ldr r0, ._232 + 12\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x6\n\ + add r0, r0, r1\n\ + ldrh r2, [r7, #0xa]\n\ + mov r1, #0x0\n\ + strh r2, [r0, #0x1e]\n\ + strh r1, [r7, #0x8]\n\ + strh r1, [r7, #0xa]\n\ + strh r1, [r7, #0xc]\n\ + strh r1, [r7, #0xe]\n\ + ldr r0, ._232 + 16\n\ + str r0, [r7]\n\ +._229:\n\ + add sp, sp, #0x6c\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._233:\n\ + .align 2, 0\n\ +._232:\n\ + .word gBattle_BG0_Y\n\ + .word gBattle_BG2_Y\n\ + .word gContestMons\n\ + .word gContestPlayerMonIndex\n\ + .word sub_80ABCDC+1"); +} + +__attribute__((naked)) +void debug_sub_80BA054() +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6, r7}\n\ + lsl r0, r0, #0x18\n\ + lsr r7, r0, #0x18\n\ + ldr r1, ._236\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r1\n\ + mov r2, #0x8\n\ + ldsh r0, [r0, r2]\n\ + add r2, r1, #0\n\ + cmp r0, #0x14\n\ + bls ._234 @cond_branch\n\ + b ._286\n\ +._234:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._236 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._237:\n\ + .align 2, 0\n\ +._236:\n\ + .word gTasks\n\ + .word ._238\n\ +._238:\n\ + .word ._239\n\ + .word ._240\n\ + .word ._241\n\ + .word ._242\n\ + .word ._243\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._286\n\ + .word ._259\n\ +._239:\n\ + lsl r0, r7, #0x2\n\ + mov r8, r0\n\ + ldr r2, ._262\n\ + mov r9, r2\n\ + ldr r1, ._262 + 4\n\ + mov r2, #0x0\n\ + add r0, r1, #3\n\ +._260:\n\ + strb r2, [r0]\n\ + sub r0, r0, #0x1\n\ + cmp r0, r1\n\ + bge ._260 @cond_branch\n\ + mov r5, #0x0\n\ + mov r0, r9\n\ + mov r1, #0x0\n\ + mov r2, #0x14\n\ + bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + ldr r4, ._262 + 8\n\ + ldrb r0, [r4]\n\ + bl sub_80B28F0\n\ + ldr r3, ._262 + 12\n\ + ldrb r2, [r4]\n\ + lsl r2, r2, #0x6\n\ + add r0, r2, r3\n\ + ldrh r0, [r0]\n\ + add r1, r3, #0\n\ + add r1, r1, #0x3c\n\ + add r1, r2, r1\n\ + ldr r1, [r1]\n\ + add r3, r3, #0x38\n\ + add r2, r2, r3\n\ + ldr r2, [r2]\n\ + bl sub_80AE9FC\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ + ldr r2, ._262 + 16\n\ + lsl r0, r6, #0x4\n\ + add r0, r0, r6\n\ + lsl r0, r0, #0x2\n\ + add r3, r0, r2\n\ + mov r4, #0x0\n\ + mov r1, #0x78\n\ + strh r1, [r3, #0x24]\n\ + add r2, r2, #0x1c\n\ + add r0, r0, r2\n\ + ldr r1, ._262 + 20\n\ + str r1, [r0]\n\ + ldr r0, ._262 + 24\n\ + mov r2, r8\n\ + add r1, r2, r7\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r0\n\ + strh r6, [r1, #0xc]\n\ + ldr r2, ._262 + 28\n\ + ldr r0, ._262 + 32\n\ + ldrb r0, [r0]\n\ + add r0, r0, r2\n\ + strb r6, [r0]\n\ + strh r5, [r1, #0xe]\n\ + ldrh r0, [r1, #0x8]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1, #0x8]\n\ + mov r0, r9\n\ + sub r0, r0, #0xea\n\ + strb r4, [r0]\n\ + b ._286\n\ +._263:\n\ + .align 2, 0\n\ +._262:\n\ + .word +0x2019348\n\ + .word gBattleMonForms\n\ + .word gContestPlayerMonIndex\n\ + .word gContestMons\n\ + .word gSprites\n\ + .word sub_80AD8FC+1\n\ + .word gTasks\n\ + .word gObjectBankIDs\n\ + .word gBankAttacker\n\ +._240:\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r7, r0, r2\n\ + ldrb r6, [r7, #0xc]\n\ + ldr r1, ._267\n\ + lsl r0, r6, #0x4\n\ + add r0, r0, r6\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, #0x1c\n\ + add r0, r0, r1\n\ + ldr r1, [r0]\n\ + ldr r0, ._267 + 4\n\ + cmp r1, r0\n\ + beq ._264 @cond_branch\n\ + b ._286\n\ +._264:\n\ + ldr r4, ._267 + 8\n\ + ldrb r1, [r4]\n\ + lsl r0, r1, #0x3\n\ + sub r0, r0, r1\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._267 + 12\n\ + add r0, r0, r1\n\ + ldrh r1, [r7, #0xa]\n\ + mov r5, #0x0\n\ + strh r1, [r0, #0x6]\n\ + ldrb r0, [r4]\n\ + bl sub_80B2790\n\ + ldrb r0, [r4]\n\ + bl sub_80B28F0\n\ + ldrh r0, [r7, #0xa]\n\ + bl SelectContestMoveBankTarget\n\ + ldrh r0, [r7, #0xa]\n\ + bl DoMoveAnim\n\ + strh r5, [r7, #0xe]\n\ + ldrh r0, [r7, #0x8]\n\ + add r0, r0, #0x1\n\ + strh r0, [r7, #0x8]\n\ + b ._286\n\ +._268:\n\ + .align 2, 0\n\ +._267:\n\ + .word gSprites\n\ + .word SpriteCallbackDummy+1\n\ + .word gContestPlayerMonIndex\n\ + .word +0x2019260\n\ +._241:\n\ + ldr r0, ._273\n\ + ldr r0, [r0]\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ + ldr r0, ._273 + 4\n\ + ldrb r4, [r0]\n\ + cmp r4, #0\n\ + beq ._269 @cond_branch\n\ + b ._286\n\ +._269:\n\ + ldr r0, ._273 + 8\n\ + ldrb r0, [r0]\n\ + bl sub_80B28CC\n\ + ldr r0, ._273 + 12\n\ + add r0, r0, #0x5a\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._271 @cond_branch\n\ + ldr r0, ._273 + 16\n\ + lsl r1, r7, #0x2\n\ + add r1, r1, r7\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r0\n\ + strh r4, [r1, #0x1c]\n\ + mov r0, #0x14\n\ + strh r0, [r1, #0x8]\n\ + b ._286\n\ +._274:\n\ + .align 2, 0\n\ +._273:\n\ + .word gAnimScriptCallback\n\ + .word gAnimScriptActive\n\ + .word gContestPlayerMonIndex\n\ + .word +0x2019204\n\ + .word gTasks\n\ +._271:\n\ + ldr r0, ._276\n\ + lsl r1, r7, #0x2\n\ + add r1, r1, r7\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r0\n\ + ldrh r0, [r1, #0x8]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1, #0x8]\n\ + b ._286\n\ +._277:\n\ + .align 2, 0\n\ +._276:\n\ + .word gTasks\n\ +._242:\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r4, r0, r2\n\ + ldrh r0, [r4, #0xe]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4, #0xe]\n\ + lsl r0, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0x15\n\ + bne ._286 @cond_branch\n\ + ldrb r6, [r4, #0xc]\n\ + ldr r1, ._280\n\ + lsl r0, r6, #0x4\n\ + add r0, r0, r6\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, #0x1c\n\ + add r0, r0, r1\n\ + ldr r1, ._280 + 4\n\ + str r1, [r0]\n\ + bl sub_80B1B14\n\ + mov r0, #0x0\n\ + strh r0, [r4, #0xe]\n\ + ldrh r0, [r4, #0x8]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4, #0x8]\n\ + b ._286\n\ +._281:\n\ + .align 2, 0\n\ +._280:\n\ + .word gSprites\n\ + .word sub_80AD92C+1\n\ +._243:\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r5, r0, r2\n\ + ldrb r6, [r5, #0xc]\n\ + ldr r1, ._284\n\ + lsl r0, r6, #0x4\n\ + add r0, r0, r6\n\ + lsl r0, r0, #0x2\n\ + add r4, r0, r1\n\ + add r0, r4, #0\n\ + add r0, r0, #0x3e\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x1d\n\ + cmp r0, #0\n\ + bge ._286 @cond_branch\n\ + add r0, r4, #0\n\ + bl FreeSpriteOamMatrix\n\ + add r0, r4, #0\n\ + bl DestroySprite\n\ + mov r0, #0x0\n\ + strh r0, [r5, #0x8]\n\ + ldr r0, ._284 + 4\n\ + str r0, [r5]\n\ + ldr r0, ._284 + 8\n\ + mov r1, #0xa0\n\ + strh r1, [r0]\n\ + ldr r0, ._284 + 12\n\ + strh r1, [r0]\n\ + b ._286\n\ +._285:\n\ + .align 2, 0\n\ +._284:\n\ + .word gSprites\n\ + .word debug_sub_80B9EBC+1\n\ + .word gBattle_BG0_Y\n\ + .word gBattle_BG2_Y\n\ +._259:\n\ + lsl r0, r7, #0x2\n\ + add r0, r0, r7\n\ + lsl r0, r0, #0x3\n\ + add r2, r0, r2\n\ + ldrh r0, [r2, #0x1c]\n\ + add r1, r0, #1\n\ + strh r1, [r2, #0x1c]\n\ + lsl r0, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0x1e\n\ + ble ._286 @cond_branch\n\ + mov r0, #0x0\n\ + strh r0, [r2, #0x1c]\n\ + mov r0, #0x1\n\ + strh r0, [r2, #0x8]\n\ +._286:\n\ + pop {r3, r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0"); +} +#endif void sub_80AC0AC(s8 a) { diff --git a/src/field/bike.c b/src/field/bike.c index eb9d56a64..98966ebd4 100644 --- a/src/field/bike.c +++ b/src/field/bike.c @@ -131,14 +131,6 @@ static const struct BikeHistoryInputInfo gAcroBikeTricksList[] = void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) { -#if DEBUG - if (gUnknown_020297ED && debug_sub_805F2B0(direction)) - { - Bike_SetBikeStill(); - return; - } -#endif - if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) MovePlayerOnMachBike(direction, newKeys, heldKeys); else @@ -147,6 +139,13 @@ void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys) { +#if DEBUG + if (gUnknown_020297ED && debug_sub_805F2B0(direction)) + { + Bike_SetBikeStill(); + return; + } +#endif sMachBikeTransitions[GetMachBikeTransition(&direction)](direction); } diff --git a/src/field/secret_base.c b/src/field/secret_base.c index 728decc9c..1bdc76b23 100644 --- a/src/field/secret_base.c +++ b/src/field/secret_base.c @@ -1648,6 +1648,178 @@ void sub_80BD610(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases sub_80BD328(basesC, 0); } +#if DEBUG +__attribute__((naked)) +void sub_80BD674(void *playerRecords, u32 size, u8 c) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + add r6, r0, #0\n\ + add r5, r1, #0\n\ + lsl r2, r2, #0x18\n\ + lsr r7, r2, #0x18\n\ + ldr r0, ._503\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._498 @cond_branch\n\ + mov r0, #0x60\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._498 @cond_branch\n\ + b ._520\n\ +._498:\n\ + bl GetLinkPlayerCount\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x2\n\ + beq ._500 @cond_branch\n\ + cmp r0, #0x3\n\ + beq ._501 @cond_branch\n\ + b ._505\n\ +._504:\n\ + .align 2, 0\n\ +._503:\n\ + .word gUnknown_020297ED\n\ +._500:\n\ + lsl r4, r5, #0x1\n\ + add r0, r6, r4\n\ + mov r1, #0x0\n\ + add r2, r5, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + add r4, r4, r5\n\ + add r4, r6, r4\n\ + add r0, r4, #0\n\ + mov r1, #0x0\n\ + add r2, r5, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + b ._505\n\ +._501:\n\ + lsl r0, r5, #0x1\n\ + add r0, r0, r5\n\ + add r0, r6, r0\n\ + mov r1, #0x0\n\ + add r2, r5, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ +._505:\n\ + cmp r7, #0x1\n\ + beq ._506 @cond_branch\n\ + cmp r7, #0x1\n\ + bgt ._507 @cond_branch\n\ + cmp r7, #0\n\ + beq ._508 @cond_branch\n\ + b ._515\n\ +._507:\n\ + cmp r7, #0x2\n\ + beq ._510 @cond_branch\n\ + cmp r7, #0x3\n\ + beq ._511 @cond_branch\n\ + b ._515\n\ +._508:\n\ + add r0, r6, r5\n\ + lsl r2, r5, #0x1\n\ + add r1, r6, r2\n\ + add r2, r2, r5\n\ + add r2, r6, r2\n\ + bl sub_80BD610\n\ + b ._515\n\ +._506:\n\ + lsl r1, r5, #0x1\n\ + add r0, r6, r1\n\ + add r1, r1, r5\n\ + add r1, r6, r1\n\ + add r2, r6, #0\n\ + bl sub_80BD610\n\ + b ._515\n\ +._510:\n\ + lsl r0, r5, #0x1\n\ + add r0, r0, r5\n\ + add r0, r6, r0\n\ + add r2, r6, r5\n\ + add r1, r6, #0\n\ + bl sub_80BD610\n\ + b ._515\n\ +._511:\n\ + add r1, r6, r5\n\ + lsl r2, r5, #0x1\n\ + add r2, r6, r2\n\ + add r0, r6, #0\n\ + bl sub_80BD610\n\ +._515:\n\ + mov r3, #0x1\n\ + ldr r6, ._521\n\ + mov r5, #0x10\n\ + neg r5, r5\n\ + ldr r4, ._521 + 4\n\ +._517:\n\ + lsl r0, r3, #0x2\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x5\n\ + add r0, r0, r6\n\ + add r2, r0, r4\n\ + ldrb r1, [r2]\n\ + lsl r0, r1, #0x1c\n\ + lsr r0, r0, #0x1c\n\ + cmp r0, #0x1\n\ + bne ._516 @cond_branch\n\ + mov r0, #0x3f\n\ + and r0, r0, r1\n\ + mov r1, #0x40\n\ + orr r0, r0, r1\n\ + and r0, r0, r5\n\ + strb r0, [r2]\n\ +._516:\n\ + add r0, r3, #1\n\ + lsl r0, r0, #0x10\n\ + lsr r3, r0, #0x10\n\ + cmp r3, #0x13\n\ + bls ._517 @cond_branch\n\ + bl sub_80BD280\n\ + mov r3, #0x1\n\ + ldr r4, ._521\n\ + ldr r6, ._521 + 4\n\ + add r7, r4, #0\n\ + mov r5, #0x3f\n\ +._519:\n\ + lsl r0, r3, #0x2\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x5\n\ + add r0, r0, r4\n\ + add r2, r0, r6\n\ + ldrb r1, [r2]\n\ + lsr r0, r1, #0x6\n\ + cmp r0, #0x2\n\ + bne ._518 @cond_branch\n\ + add r0, r5, #0\n\ + and r0, r0, r1\n\ + strb r0, [r2]\n\ +._518:\n\ + add r0, r3, #1\n\ + lsl r0, r0, #0x10\n\ + lsr r3, r0, #0x10\n\ + cmp r3, #0x13\n\ + bls ._519 @cond_branch\n\ + ldr r0, ._521 + 8\n\ + add r2, r7, r0\n\ + ldrh r1, [r2]\n\ + ldr r0, ._521 + 12\n\ + cmp r1, r0\n\ + beq ._520 @cond_branch\n\ + add r0, r1, #1\n\ + strh r0, [r2]\n\ +._520:\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._522:\n\ + .align 2, 0\n\ +._521:\n\ + .word gSaveBlock1\n\ + .word 0x1a09\n\ + .word 0x1a16\n\ + .word 0xffff"); +} +#else void sub_80BD674(void *playerRecords, u32 size, u8 c) { if (FlagGet(FLAG_RECEIVED_SECRET_POWER)) @@ -1706,3 +1878,4 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) } } } +#endif diff --git a/src/field/shop.c b/src/field/shop.c index 1dc6ba0cd..df271743d 100644 --- a/src/field/shop.c +++ b/src/field/shop.c @@ -1222,6 +1222,27 @@ void CreateDecorationShop2Menu(u16 *itemList) SetShopMenuCallback(EnableBothScriptContexts); } +#if DEBUG +__attribute__((naked)) +void debug_sub_80C2818(void) +{ + asm("\ + push {lr}\n\ + mov r0, #0x0\n\ + bl CreateShopMenu\n\ + ldr r0, ._290\n\ + bl SetShopItemsForSale\n\ + mov r0, #0x0\n\ + bl SetShopMenuCallback\n\ + pop {r0}\n\ + bx r0\n\ +._291:\n\ + .align 2, 0\n\ +._290:\n\ + .word gUnknown_083CC6EB+0x3"); +} +#endif + void sub_80B45B4(u8 taskId, const s16 *list, u16 c) { s16 r5 = gTasks[taskId].data[4] - 1; diff --git a/src/pokemon/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c index 0102b7526..8f7c8728d 100644 --- a/src/pokemon/pokemon_summary_screen.c +++ b/src/pokemon/pokemon_summary_screen.c @@ -41,11 +41,11 @@ static void sub_80A0090(struct Pokemon *); static void sub_80A015C(struct Pokemon *); static void sub_809DE44(void); static void sub_809EB40(u8); -static void sub_809EBC4(void); -static void sub_809E044(void); +/*static*/ void sub_809EBC4(void); +/*static*/ void sub_809E044(void); static void sub_80A1D84(struct Pokemon *); -static void sub_80A18C4(void); -static bool8 LoadPokemonSummaryScreenGraphics(void); +/*static*/ void sub_80A18C4(void); +/*static*/ bool8 LoadPokemonSummaryScreenGraphics(void); static bool8 MonKnowsMultipleMoves(struct Pokemon *); static void PrintSummaryWindowHeaderText(void); static void sub_80A1DCC(struct Pokemon *); @@ -63,8 +63,8 @@ static void PrintHeldItemName(u16, u8, u8); static void PrintNumRibbons(struct Pokemon *); static void DrawExperienceProgressBar(struct Pokemon *, u8, u8); static void sub_809E13C(u8 taskId); -static void sub_80A1950(void); -static void sub_809DE64(void); +/*static*/ void sub_80A1950(void); +/*static*/ void sub_809DE64(void); static void SummaryScreenHandleAButton(u8); static void SummaryScreenHandleUpDownInput(u8, s8); static bool8 sub_809F7D0(u8); @@ -572,7 +572,43 @@ static const u8 sUnknown_083C15BC[] = { -1, 15, 0, 10, }; - +#if DEBUG +__attribute__((naked)) +void sub_809D844(void) +{ + asm("\ + push {lr}\n\ + add sp, sp, #0xfffffffc\n\ + bl RunTasks\n\ + bl AnimateSprites\n\ + bl BuildOamBuffer\n\ + bl UpdatePaletteFade\n\ + ldr r0, ._2\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1 @cond_branch\n\ + ldr r0, ._2 + 4\n\ + ldr r1, ._2 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x3\n\ + str r1, [sp]\n\ + mov r1, #0x14\n\ + mov r2, #0x1\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._1:\n\ + add sp, sp, #0x4\n\ + pop {r0}\n\ + bx r0\n\ +._3:\n\ + .align 2, 0\n\ +._2:\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else void sub_809D844(void) { RunTasks(); @@ -580,6 +616,7 @@ void sub_809D844(void) BuildOamBuffer(); UpdatePaletteFade(); } +#endif void sub_809D85C(void) { @@ -689,6 +726,491 @@ void sub_809DA1C(void) } } +#if DEBUG +__attribute__((naked)) +bool8 sub_809DA84(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + add sp, sp, #0xfffffff8\n\ + ldr r1, ._52\n\ + ldr r2, ._52 + 4\n\ + add r0, r1, r2\n\ + ldrb r0, [r0]\n\ + mov ip, r1\n\ + cmp r0, #0x16\n\ + bls ._50 @cond_branch\n\ + b ._51\n\ +._50:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._52 + 8\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._53:\n\ + .align 2, 0\n\ +._52:\n\ + .word gMain\n\ + .word 0x43c\n\ + .word ._54\n\ +._54:\n\ + .word ._55\n\ + .word ._56\n\ + .word ._57\n\ + .word ._58\n\ + .word ._59\n\ + .word ._60\n\ + .word ._61\n\ + .word ._62\n\ + .word ._63\n\ + .word ._64\n\ + .word ._65\n\ + .word ._66\n\ + .word ._67\n\ + .word ._68\n\ + .word ._69\n\ + .word ._70\n\ + .word ._71\n\ + .word ._72\n\ + .word ._73\n\ + .word ._74\n\ + .word ._75\n\ + .word ._76\n\ + .word ._77\n\ +._55:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl ResetSpriteData\n\ + b ._146\n\ +._56:\n\ + bl ScanlineEffect_Stop\n\ + ldr r1, ._80\n\ + ldr r2, ._80 + 4\n\ + add r1, r1, r2\n\ + b ._153\n\ +._81:\n\ + .align 2, 0\n\ +._80:\n\ + .word gMain\n\ + .word 0x43c\n\ +._57:\n\ + bl FreeAllSpritePalettes\n\ + b ._146\n\ +._58:\n\ + mov r2, #0xc0\n\ + lsl r2, r2, #0x13\n\ + mov r3, #0x80\n\ + lsl r3, r3, #0x9\n\ + mov r5, #0x0\n\ + ldr r1, ._85\n\ + mov r4, #0x80\n\ + lsl r4, r4, #0x5\n\ + ldr r6, ._85 + 4\n\ + mov r7, #0x85\n\ + lsl r7, r7, #0x18\n\ +._83:\n\ + str r5, [sp, #0x4]\n\ + add r0, sp, #0x4\n\ + str r0, [r1]\n\ + str r2, [r1, #0x4]\n\ + str r6, [r1, #0x8]\n\ + ldr r0, [r1, #0x8]\n\ + add r2, r2, r4\n\ + sub r3, r3, r4\n\ + cmp r3, r4\n\ + bhi ._83 @cond_branch\n\ + str r5, [sp, #0x4]\n\ + add r0, sp, #0x4\n\ + str r0, [r1]\n\ + str r2, [r1, #0x4]\n\ + lsr r0, r3, #0x2\n\ + orr r0, r0, r7\n\ + str r0, [r1, #0x8]\n\ + ldr r0, [r1, #0x8]\n\ + ldr r1, ._85 + 8\n\ + add r1, r1, ip\n\ + b ._153\n\ +._86:\n\ + .align 2, 0\n\ +._85:\n\ + .word 0x40000d4\n\ + .word 0x85000400\n\ + .word 0x43c\n\ +._59:\n\ + bl sub_809DE64\n\ + ldr r1, ._88\n\ + ldr r2, ._88 + 4\n\ + add r1, r1, r2\n\ + b ._153\n\ +._89:\n\ + .align 2, 0\n\ +._88:\n\ + .word gMain\n\ + .word 0x43c\n\ +._60:\n\ + ldr r0, ._91\n\ + bl Text_LoadWindowTemplate\n\ + b ._146\n\ +._92:\n\ + .align 2, 0\n\ +._91:\n\ + .word gWindowTemplate_81E6E6C\n\ +._61:\n\ + ldr r0, ._94\n\ + bl MultistepInitMenuWindowBegin\n\ + ldr r1, ._94 + 4\n\ + ldr r2, ._94 + 8\n\ + add r1, r1, r2\n\ + b ._153\n\ +._95:\n\ + .align 2, 0\n\ +._94:\n\ + .word gWindowTemplate_81E6E6C\n\ + .word gMain\n\ + .word 0x43c\n\ +._62:\n\ + bl MultistepInitMenuWindowContinue\n\ + cmp r0, #0\n\ + bne ._96 @cond_branch\n\ + b ._157\n\ +._96:\n\ + b ._146\n\ +._63:\n\ + bl sub_809DA1C\n\ + ldr r1, ._100\n\ + ldr r2, ._100 + 4\n\ + add r1, r1, r2\n\ + b ._153\n\ +._101:\n\ + .align 2, 0\n\ +._100:\n\ + .word gMain\n\ + .word 0x43c\n\ +._64:\n\ + ldr r1, ._103\n\ + ldr r2, ._103 + 4\n\ + ldr r0, ._103 + 8\n\ + str r1, [r0]\n\ + str r2, [r0, #0x4]\n\ + ldr r1, ._103 + 12\n\ + str r1, [r0, #0x8]\n\ + ldr r1, [r0, #0x8]\n\ + ldr r1, ._103 + 16\n\ + ldr r2, ._103 + 20\n\ + str r1, [r0]\n\ + str r2, [r0, #0x4]\n\ + ldr r1, ._103 + 24\n\ + str r1, [r0, #0x8]\n\ + ldr r0, [r0, #0x8]\n\ + ldr r0, ._103 + 28\n\ + add r0, r0, #0x74\n\ + mov r1, #0x0\n\ + strb r1, [r0]\n\ + ldr r1, ._103 + 32\n\ + add r1, r1, ip\n\ + b ._153\n\ +._104:\n\ + .align 2, 0\n\ +._103:\n\ + .word gSummaryScreenTextTiles\n\ + .word 0x600d000\n\ + .word 0x40000d4\n\ + .word 0x800000a0\n\ + .word sSummaryScreenButtonTiles\n\ + .word 0x600d140\n\ + .word 0x80000080\n\ + .word +0x2018000\n\ + .word 0x43c\n\ +._65:\n\ + bl LoadPokemonSummaryScreenGraphics\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._105 @cond_branch\n\ + b ._157\n\ +._105:\n\ + ldr r0, ._108\n\ + add r0, r0, #0x74\n\ + mov r1, #0x0\n\ + strb r1, [r0]\n\ + b ._146\n\ +._109:\n\ + .align 2, 0\n\ +._108:\n\ + .word +0x2018000\n\ +._66:\n\ + bl sub_80A18C4\n\ + ldr r1, ._111\n\ + ldr r2, ._111 + 4\n\ + add r1, r1, r2\n\ + b ._153\n\ +._112:\n\ + .align 2, 0\n\ +._111:\n\ + .word gMain\n\ + .word 0x43c\n\ +._67:\n\ + ldr r4, ._115\n\ + add r0, r4, #0\n\ + bl sub_809F678\n\ + add r0, r4, #0\n\ + bl GetMonStatusAndPokerus\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._113 @cond_branch\n\ + mov r0, #0x0\n\ + bl sub_80A12D0\n\ + b ._114\n\ +._116:\n\ + .align 2, 0\n\ +._115:\n\ + .word +0x2018010\n\ +._113:\n\ + mov r0, #0xa\n\ + bl sub_80A12D0\n\ +._114:\n\ + ldr r0, ._118\n\ + bl DrawPokerusSurvivorDot\n\ + b ._146\n\ +._119:\n\ + .align 2, 0\n\ +._118:\n\ + .word +0x2018010\n\ +._68:\n\ + bl sub_80A1950\n\ + ldr r0, ._121\n\ + bl sub_80A1D84\n\ + ldr r1, ._121 + 4\n\ + ldr r2, ._121 + 8\n\ + add r1, r1, r2\n\ + b ._153\n\ +._122:\n\ + .align 2, 0\n\ +._121:\n\ + .word +0x2018010\n\ + .word gMain\n\ + .word 0x43c\n\ +._69:\n\ + ldr r4, ._124\n\ + add r0, r4, #0\n\ + bl sub_80A1DE8\n\ + add r4, r4, #0x64\n\ + mov r0, #0x0\n\ + strb r0, [r4]\n\ + b ._146\n\ +._125:\n\ + .align 2, 0\n\ +._124:\n\ + .word +0x2018010\n\ +._70:\n\ + ldr r4, ._129\n\ + add r5, r4, #0\n\ + add r5, r5, #0x64\n\ + add r0, r4, #0\n\ + add r1, r5, #0\n\ + bl sub_809F6B4\n\ + sub r4, r4, #0x10\n\ + strb r0, [r4, #0xc]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0xff\n\ + bne ._126 @cond_branch\n\ + b ._157\n\ +._126:\n\ + mov r0, #0x0\n\ + strb r0, [r5]\n\ + ldr r1, ._129 + 4\n\ + ldr r2, ._129 + 8\n\ + add r1, r1, r2\n\ + b ._153\n\ +._130:\n\ + .align 2, 0\n\ +._129:\n\ + .word +0x2018010\n\ + .word gMain\n\ + .word 0x43c\n\ +._71:\n\ + bl sub_809E044\n\ + bl DrawSummaryScreenNavigationDots\n\ + b ._146\n\ +._72:\n\ + ldr r1, ._134\n\ + ldrb r0, [r1, #0xb]\n\ + cmp r0, #0x1\n\ + bhi ._132 @cond_branch\n\ + ldr r0, ._134 + 4\n\ + ldrb r1, [r1, #0xb]\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r0\n\ + ldr r0, [r1]\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ +._132:\n\ + ldr r1, ._134 + 8\n\ + ldr r2, ._134 + 12\n\ + add r1, r1, r2\n\ + b ._153\n\ +._135:\n\ + .align 2, 0\n\ +._134:\n\ + .word +0x2018000\n\ + .word sUnknown_083C1580\n\ + .word gMain\n\ + .word 0x43c\n\ +._73:\n\ + ldr r0, ._137\n\ + bl sub_809FAC8\n\ + b ._146\n\ +._138:\n\ + .align 2, 0\n\ +._137:\n\ + .word +0x2018010\n\ +._74:\n\ + ldr r2, ._140\n\ + ldr r0, ._140 + 4\n\ + ldrb r1, [r0, #0xb]\n\ + lsl r1, r1, #0x2\n\ + add r1, r1, r2\n\ + add r0, r0, #0x10\n\ + ldr r1, [r1]\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cf8\n\ + ldr r1, ._140 + 8\n\ + ldr r2, ._140 + 12\n\ + add r1, r1, r2\n\ + b ._153\n\ +._141:\n\ + .align 2, 0\n\ +._140:\n\ + .word sUnknown_083C1598\n\ + .word +0x2018000\n\ + .word gMain\n\ + .word 0x43c\n\ +._75:\n\ + ldr r0, ._144\n\ + mov r1, #0x2d\n\ + bl GetMonData\n\ + add r1, r0, #0\n\ + cmp r1, #0\n\ + beq ._142 @cond_branch\n\ + ldr r1, ._144 + 4\n\ + mov r2, #0x80\n\ + lsl r2, r2, #0x1\n\ + add r0, r2, #0\n\ + strh r0, [r1]\n\ + b ._146\n\ +._145:\n\ + .align 2, 0\n\ +._144:\n\ + .word +0x2018010\n\ + .word gBattle_BG3_X\n\ +._142:\n\ + ldr r0, ._147\n\ + strh r1, [r0]\n\ + b ._146\n\ +._148:\n\ + .align 2, 0\n\ +._147:\n\ + .word gBattle_BG3_X\n\ +._76:\n\ + bl sub_809EBC4\n\ + ldr r0, ._151\n\ + add r0, r0, #0x79\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._149 @cond_branch\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl sub_80A1488\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl sub_80A1654\n\ + b ._150\n\ +._152:\n\ + .align 2, 0\n\ +._151:\n\ + .word +0x2018000\n\ +._149:\n\ + mov r0, #0xa\n\ + mov r1, #0x0\n\ + bl sub_80A1488\n\ + mov r0, #0xa\n\ + mov r1, #0x0\n\ + bl sub_80A1654\n\ +._150:\n\ + bl PrintSummaryWindowHeaderText\n\ + ldr r1, ._154\n\ + ldr r2, ._154 + 4\n\ + add r1, r1, r2\n\ + b ._153\n\ +._155:\n\ + .align 2, 0\n\ +._154:\n\ + .word gMain\n\ + .word 0x43c\n\ +._77:\n\ + bl sub_8055870\n\ + cmp r0, #0x1\n\ + beq ._157 @cond_branch\n\ +._146:\n\ + ldr r1, ._158\n\ + ldr r0, ._158 + 4\n\ + add r1, r1, r0\n\ +._153:\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + b ._157\n\ +._159:\n\ + .align 2, 0\n\ +._158:\n\ + .word gMain\n\ + .word 0x43c\n\ +._51:\n\ + ldr r0, ._162\n\ + bl SetVBlankCallback\n\ + mov r0, #0x1\n\ + str r0, [sp]\n\ + mov r0, #0xff\n\ + mov r1, #0x0\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginHardwarePaletteFade\n\ + ldr r0, ._162 + 4\n\ + bl SetMainCallback2\n\ + ldr r2, ._162 + 8\n\ + ldrb r1, [r2, #0x8]\n\ + mov r0, #0x7f\n\ + and r0, r0, r1\n\ + strb r0, [r2, #0x8]\n\ + ldr r0, ._162 + 12\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._160 @cond_branch\n\ + ldr r0, ._162 + 16\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x8\n\ + ldr r2, ._162 + 20\n\ + mov r3, #0x3\n\ + bl debug_sub_8008218\n\ +._160:\n\ + mov r0, #0x1\n\ + b ._161\n\ +._163:\n\ + .align 2, 0\n\ +._162:\n\ + .word sub_809D85C+1\n\ + .word sub_809D844+1\n\ + .word gPaletteFade\n\ + .word gLinkOpen\n\ + .word 0x600dde0\n\ + .word 0x600f000\n\ +._157:\n\ + mov r0, #0x0\n\ +._161:\n\ + add sp, sp, #0x8\n\ + pop {r4, r5, r6, r7}\n\ + pop {r1}\n\ + bx r1"); +} +#else bool8 sub_809DA84(void) { const u16 *src; @@ -856,13 +1378,15 @@ bool8 sub_809DA84(void) return FALSE; } +#endif static void sub_809DE44(void) { - while (sub_809DA84() != TRUE && sub_80F9344() != TRUE); + while (sub_809DA84() != TRUE && sub_80F9344() != TRUE) + ; } -static void sub_809DE64(void) +/*static*/ void sub_809DE64(void) { REG_BG0CNT = 0x1E08; REG_BG1CNT = 0x4801; @@ -889,7 +1413,7 @@ static void sub_809DE64(void) REG_DISPCNT = 0x1F40; } -static bool8 LoadPokemonSummaryScreenGraphics(void) +/*static*/ bool8 LoadPokemonSummaryScreenGraphics(void) { switch (pssData.loadGfxState) { @@ -939,7 +1463,7 @@ static bool8 LoadPokemonSummaryScreenGraphics(void) return FALSE; } -static void sub_809E044(void) +/*static*/ void sub_809E044(void) { LoadPalette(&gUnknownPalette_81E6692[28], 129, 2); LoadPalette(&gUnknownPalette_81E6692[30], 136, 2); @@ -1518,7 +2042,7 @@ static void sub_809EB40(u8 taskId) } } -static void sub_809EBC4(void) +/*static*/ void sub_809EBC4(void) { if (pssData.page != PSS_PAGE_INFO) { @@ -4887,7 +5411,7 @@ static void sub_80A1888(struct Sprite *sprite) } } -static void sub_80A18C4(void) +/*static*/ void sub_80A18C4(void) { u8 i; @@ -4911,7 +5435,7 @@ static void sub_80A1918(u8 a, u8 invisible) gSprites[ewram1A000[a]].invisible = invisible; } -static void sub_80A1950(void) +/*static*/ void sub_80A1950(void) { u8 i; diff --git a/src/pokenav_before.c b/src/pokenav_before.c index b31be2ce1..f9e2beccb 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -132,6 +132,10 @@ extern const u8 gUnknown_08E99FB0[]; extern const u8 gUnknown_08E9A100[]; extern const u16 gPokenavHoennMap1_Pal[]; +// TODO: decompile the debug code so the compiler doesn't complain about +// unused static functions +#define static + static void sub_80EBCA8(); static void sub_80EEE20(); static bool8 sub_80EEE54(); @@ -297,7 +301,6 @@ extern void sub_80F19FC(); extern u16 gKeyRepeatStartDelay; - void sub_80EBA5C() { switch (gMain.state) @@ -469,6 +472,315 @@ void sub_80EBDBC(void (*func)(void)) ewram0_10.var304 = 0; } +#if DEBUG +__attribute__((naked)) +void sub_80EBDD8() +{ + asm("\ + push {lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._64\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r2, r1, #0\n\ + cmp r0, #0x11\n\ + bls ._62 @cond_branch\n\ + b ._131\n\ +._62:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._64 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._65:\n\ + .align 2, 0\n\ +._64:\n\ + .word +0x2000000\n\ + .word ._66\n\ +._66:\n\ + .word ._67\n\ + .word ._68\n\ + .word ._69\n\ + .word ._70\n\ + .word ._71\n\ + .word ._72\n\ + .word ._73\n\ + .word ._74\n\ + .word ._75\n\ + .word ._76\n\ + .word ._77\n\ + .word ._78\n\ + .word ._79\n\ + .word ._80\n\ + .word ._81\n\ + .word ._82\n\ + .word ._83\n\ + .word ._84\n\ +._67:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x13\n\ + mov r0, #0x0\n\ + strh r0, [r1]\n\ + ldr r1, ._86\n\ + ldr r3, ._86 + 4\n\ + add r0, r1, r3\n\ + ldrb r2, [r0]\n\ + sub r3, r3, #0x2f\n\ + add r0, r1, r3\n\ + strb r2, [r0]\n\ + ldr r0, ._86 + 8\n\ + add r2, r1, r0\n\ + mov r0, #0x5\n\ + strb r0, [r2]\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._124\n\ +._87:\n\ + .align 2, 0\n\ +._86:\n\ + .word +0x2000000\n\ + .word 0x6ddc\n\ + .word 0x6dae\n\ +._68:\n\ + bl sub_80F3FF0\n\ + ldr r1, ._91\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._69:\n\ + bl sub_80F4024\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._88 @cond_branch\n\ + b ._131\n\ +._88:\n\ + ldr r1, ._91\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._124\n\ +._92:\n\ + .align 2, 0\n\ +._91:\n\ + .word +0x2000000\n\ +._70:\n\ + bl sub_80F2598\n\ + ldr r1, ._94\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._124\n\ +._95:\n\ + .align 2, 0\n\ +._94:\n\ + .word +0x2000000\n\ +._71:\n\ + bl sub_80EEE20\n\ + ldr r1, ._99\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._72:\n\ + bl sub_80EEE54\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._96 @cond_branch\n\ + b ._131\n\ +._96:\n\ + bl sub_80EEE08\n\ + ldr r1, ._99\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._124\n\ +._100:\n\ + .align 2, 0\n\ +._99:\n\ + .word +0x2000000\n\ +._73:\n\ + mov r0, #0x0\n\ + bl sub_80EF248\n\ + ldr r1, ._104\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._74:\n\ + mov r0, #0x0\n\ + bl sub_80EF284\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._101 @cond_branch\n\ + b ._131\n\ +._101:\n\ + b ._110\n\ +._105:\n\ + .align 2, 0\n\ +._104:\n\ + .word +0x2000000\n\ +._75:\n\ + mov r0, #0x0\n\ + bl sub_80F1B8C\n\ + ldr r1, ._108\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._76:\n\ + mov r0, #0x0\n\ + bl sub_80F1BC8\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._131 @cond_branch\n\ + ldr r1, ._108\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._124\n\ +._109:\n\ + .align 2, 0\n\ +._108:\n\ + .word +0x2000000\n\ +._77:\n\ + ldr r0, ._111\n\ + bl SetVBlankCallback\n\ + b ._110\n\ +._112:\n\ + .align 2, 0\n\ +._111:\n\ + .word sub_80EBD18+1\n\ +._78:\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r1, ._114\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._124\n\ +._115:\n\ + .align 2, 0\n\ +._114:\n\ + .word +0x2000000\n\ +._79:\n\ + mov r0, #0x0\n\ + bl sub_80EED2C\n\ + ldr r1, ._117\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._124\n\ +._118:\n\ + .align 2, 0\n\ +._117:\n\ + .word +0x2000000\n\ +._80:\n\ + ldr r0, ._121\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._131 @cond_branch\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r2, r3\n\ + b ._124\n\ +._122:\n\ + .align 2, 0\n\ +._121:\n\ + .word gPaletteFade\n\ +._81:\n\ + mov r0, #0x0\n\ + bl sub_80F2C80\n\ + ldr r1, ._125\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._82:\n\ + mov r0, #0x0\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._131 @cond_branch\n\ + ldr r1, ._125\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._124\n\ +._126:\n\ + .align 2, 0\n\ +._125:\n\ + .word +0x2000000\n\ +._83:\n\ + bl sub_80F1DF0\n\ +._110:\n\ + ldr r1, ._128\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ +._124:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._131\n\ +._129:\n\ + .align 2, 0\n\ +._128:\n\ + .word +0x2000000\n\ +._84:\n\ + bl sub_80F1E50\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._131 @cond_branch\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl sub_80EF428\n\ + ldr r0, ._132\n\ + bl sub_80EBDBC\n\ + ldr r0, ._132 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._131 @cond_branch\n\ + ldr r0, ._132 + 8\n\ + ldr r2, ._132 + 12\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ +._131:\n\ + add sp, sp, #0x4\n\ + pop {r0}\n\ + bx r0\n\ +._133:\n\ + .align 2, 0\n\ +._132:\n\ + .word sub_80EC268+1\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800"); +} +#else void sub_80EBDD8() { switch (ewram0_10.var304) @@ -556,7 +868,285 @@ void sub_80EBDD8() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EC00C() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._136\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0xd\n\ + bls ._134 @cond_branch\n\ + b ._191\n\ +._134:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._136 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._137:\n\ + .align 2, 0\n\ +._136:\n\ + .word +0x2000000\n\ + .word ._138\n\ +._138:\n\ + .word ._139\n\ + .word ._140\n\ + .word ._141\n\ + .word ._142\n\ + .word ._143\n\ + .word ._144\n\ + .word ._145\n\ + .word ._146\n\ + .word ._147\n\ + .word ._148\n\ + .word ._149\n\ + .word ._150\n\ + .word ._151\n\ + .word ._152\n\ +._139:\n\ + bl sub_80EEF78\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._153 @cond_branch\n\ + b ._191\n\ +._153:\n\ + ldr r0, ._156\n\ + bl SetVBlankCallback\n\ + bl sub_80EED1C\n\ + ldr r4, ._156 + 4\n\ + ldr r1, ._156 + 8\n\ + add r0, r4, r1\n\ + ldrb r1, [r0]\n\ + ldr r2, ._156 + 12\n\ + add r0, r4, r2\n\ + strb r1, [r0]\n\ + ldr r0, ._156 + 16\n\ + add r1, r4, r0\n\ + mov r0, #0x5\n\ + strb r0, [r1]\n\ + bl sub_80EEE08\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r4, r4, r1\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._191\n\ +._157:\n\ + .align 2, 0\n\ +._156:\n\ + .word sub_80EBD80+1\n\ + .word +0x2000000\n\ + .word 0x6ddc\n\ + .word 0x6dad\n\ + .word 0x6dae\n\ +._140:\n\ + mov r0, #0x0\n\ + bl sub_80EF248\n\ + ldr r1, ._161\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._141:\n\ + mov r0, #0x0\n\ + bl sub_80EF284\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._158 @cond_branch\n\ + b ._191\n\ +._158:\n\ + ldr r1, ._161\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._184\n\ +._162:\n\ + .align 2, 0\n\ +._161:\n\ + .word +0x2000000\n\ +._142:\n\ + mov r0, #0x0\n\ + bl sub_80F1B8C\n\ + ldr r1, ._166\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._143:\n\ + mov r0, #0x0\n\ + bl sub_80F1BC8\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._163 @cond_branch\n\ + b ._191\n\ +._163:\n\ + ldr r1, ._166\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._184\n\ +._167:\n\ + .align 2, 0\n\ +._166:\n\ + .word +0x2000000\n\ +._144:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._191 @cond_branch\n\ + b ._169\n\ +._145:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._171\n\ + bl SetVBlankCallback\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._184\n\ +._172:\n\ + .align 2, 0\n\ +._171:\n\ + .word sub_80EBD18+1\n\ +._146:\n\ + mov r0, #0x0\n\ + bl sub_80EED2C\n\ + ldr r1, ._174\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._184\n\ +._175:\n\ + .align 2, 0\n\ +._174:\n\ + .word +0x2000000\n\ +._147:\n\ + ldr r0, ._178\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._191 @cond_branch\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._184\n\ +._179:\n\ + .align 2, 0\n\ +._178:\n\ + .word gPaletteFade\n\ +._148:\n\ + bl sub_80F2598\n\ + ldr r1, ._181\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._184\n\ +._182:\n\ + .align 2, 0\n\ +._181:\n\ + .word +0x2000000\n\ +._149:\n\ + mov r0, #0x0\n\ + bl sub_80F2C80\n\ + ldr r1, ._185\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._150:\n\ + mov r0, #0x0\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._191 @cond_branch\n\ + ldr r1, ._185\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._184\n\ +._186:\n\ + .align 2, 0\n\ +._185:\n\ + .word +0x2000000\n\ +._151:\n\ + bl sub_80F1DF0\n\ +._169:\n\ + ldr r1, ._188\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ +._184:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._191\n\ +._189:\n\ + .align 2, 0\n\ +._188:\n\ + .word +0x2000000\n\ +._152:\n\ + bl sub_80F1E50\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._191 @cond_branch\n\ + ldr r0, ._192\n\ + ldr r1, ._192 + 4\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + mov r0, #0x0\n\ + bl sub_80EF428\n\ + ldr r0, ._192 + 8\n\ + bl sub_80EBDBC\n\ + ldr r0, ._192 + 12\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._191 @cond_branch\n\ + ldr r0, ._192 + 16\n\ + ldr r2, ._192 + 20\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ +._191:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._193:\n\ + .align 2, 0\n\ +._192:\n\ + .word +0x2000000\n\ + .word 0x6dad\n\ + .word sub_80EC268+1\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800"); +} +#else void sub_80EC00C() { switch (ewram0_10.var304) @@ -630,6 +1220,7 @@ void sub_80EC00C() break; } } +#endif void sub_80EC210() { @@ -751,6 +1342,262 @@ void sub_80EC268() } } +#if DEBUG +__attribute__((naked)) +void sub_80EC4A0() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._285\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0xe\n\ + bls ._283 @cond_branch\n\ + b ._340\n\ +._283:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._285 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._286:\n\ + .align 2, 0\n\ +._285:\n\ + .word +0x2000000\n\ + .word ._287\n\ +._287:\n\ + .word ._288\n\ + .word ._289\n\ + .word ._290\n\ + .word ._291\n\ + .word ._292\n\ + .word ._293\n\ + .word ._294\n\ + .word ._295\n\ + .word ._296\n\ + .word ._297\n\ + .word ._298\n\ + .word ._299\n\ + .word ._300\n\ + .word ._301\n\ + .word ._302\n\ +._288:\n\ + bl sub_80F1E84\n\ + mov r0, #0x0\n\ + bl sub_80F2D04\n\ + b ._336\n\ +._289:\n\ + bl sub_80F1F10\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._304 @cond_branch\n\ + b ._340\n\ +._304:\n\ + ldr r0, ._308\n\ + ldrb r1, [r0, #0x15]\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + mov r1, #0x8\n\ + cmp r0, #0\n\ + beq ._306 @cond_branch\n\ + mov r1, #0x7\n\ +._306:\n\ + add r0, r1, #0\n\ + bl sub_80EEFBC\n\ + ldr r1, ._308 + 4\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._335\n\ +._309:\n\ + .align 2, 0\n\ +._308:\n\ + .word gSaveBlock2\n\ + .word +0x2000000\n\ +._290:\n\ + bl sub_80EEF34\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + beq ._310 @cond_branch\n\ + b ._340\n\ +._310:\n\ + ldr r4, ._313\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + str r2, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._335\n\ +._314:\n\ + .align 2, 0\n\ +._313:\n\ + .word +0x2000000\n\ +._291:\n\ + ldr r0, ._318\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._315 @cond_branch\n\ + b ._340\n\ +._315:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + b ._336\n\ +._319:\n\ + .align 2, 0\n\ +._318:\n\ + .word gPaletteFade\n\ +._292:\n\ + bl sub_80F2620\n\ + ldr r1, ._321\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._335\n\ +._322:\n\ + .align 2, 0\n\ +._321:\n\ + .word +0x2000000\n\ +._293:\n\ + bl sub_80EF814\n\ + b ._336\n\ +._294:\n\ + bl sub_80EF840\n\ + ldr r1, ._326\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._295:\n\ + bl sub_80EF874\n\ +._328:\n\ + lsl r0, r0, #0x18\n\ +._334:\n\ + cmp r0, #0\n\ + bne ._340 @cond_branch\n\ + b ._336\n\ +._327:\n\ + .align 2, 0\n\ +._326:\n\ + .word +0x2000000\n\ +._296:\n\ + mov r0, #0x4\n\ + bl sub_80F2C80\n\ + ldr r1, ._329\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._297:\n\ + mov r0, #0x4\n\ + bl sub_80F2CBC\n\ + b ._328\n\ +._330:\n\ + .align 2, 0\n\ +._329:\n\ + .word +0x2000000\n\ +._298:\n\ + bl sub_80F2DD8\n\ + ldr r0, ._332\n\ + bl SetVBlankCallback\n\ + ldr r1, ._332 + 4\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._335\n\ +._333:\n\ + .align 2, 0\n\ +._332:\n\ + .word sub_80EBD30+1\n\ + .word +0x2000000\n\ +._299:\n\ + bl sub_8055870\n\ + b ._334\n\ +._300:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._335\n\ +._301:\n\ + mov r0, #0x1\n\ + bl sub_80EED2C\n\ + ldr r0, ._338\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._336 @cond_branch\n\ + ldr r0, ._338 + 4\n\ + ldr r2, ._338 + 8\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ +._336:\n\ + ldr r1, ._338 + 12\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ +._335:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._340\n\ +._339:\n\ + .align 2, 0\n\ +._338:\n\ + .word gLinkOpen\n\ + .word 0x60075e0\n\ + .word 0x600f800\n\ + .word +0x2000000\n\ +._302:\n\ + ldr r0, ._341\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._340 @cond_branch\n\ + ldr r0, ._341 + 4\n\ + bl sub_80EBDBC\n\ +._340:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._342:\n\ + .align 2, 0\n\ +._341:\n\ + .word gPaletteFade\n\ + .word sub_80EC67C+1"); +} +#else void sub_80EC4A0() { u32 var1; @@ -835,7 +1682,243 @@ void sub_80EC4A0() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EC67C() +{ + asm("\ + push {r4, r5, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._345\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x5\n\ + bls ._343 @cond_branch\n\ + b ._386\n\ +._343:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._345 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._346:\n\ + .align 2, 0\n\ +._345:\n\ + .word +0x2000000\n\ + .word ._347\n\ +._347:\n\ + .word ._348\n\ + .word ._349\n\ + .word ._350\n\ + .word ._351\n\ + .word ._352\n\ + .word ._353\n\ +._348:\n\ + bl sub_80FAB60\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x3\n\ + beq ._354 @cond_branch\n\ + cmp r0, #0x3\n\ + bgt ._355 @cond_branch\n\ + cmp r0, #0x1\n\ + beq ._356 @cond_branch\n\ + b ._386\n\ +._355:\n\ + cmp r0, #0x4\n\ + beq ._358 @cond_branch\n\ + cmp r0, #0x5\n\ + beq ._359 @cond_branch\n\ + b ._386\n\ +._356:\n\ + bl sub_80EED9C\n\ + b ._386\n\ +._354:\n\ + bl sub_80EF9F8\n\ + b ._386\n\ +._358:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._364\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + mov r1, #0x1\n\ + strh r1, [r0]\n\ + b ._386\n\ +._365:\n\ + .align 2, 0\n\ +._364:\n\ + .word +0x2000000\n\ +._359:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._367\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r0, r2\n\ + mov r1, #0x4\n\ + strh r1, [r0]\n\ + b ._386\n\ +._368:\n\ + .align 2, 0\n\ +._367:\n\ + .word +0x2000000\n\ +._349:\n\ + ldr r1, ._371\n\ + add r0, r4, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._369 @cond_branch\n\ + bl sub_80FAEC4\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._380\n\ +._372:\n\ + .align 2, 0\n\ +._371:\n\ + .word 0x6e90\n\ +._369:\n\ + mov r0, #0x1\n\ + bl sub_80EFBDC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._386 @cond_branch\n\ + bl sub_80FAEC4\n\ + b ._374\n\ +._350:\n\ + bl sub_80FAFC0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._386 @cond_branch\n\ + ldr r5, ._378\n\ + ldr r1, ._378 + 4\n\ + add r0, r5, r1\n\ + ldrb r4, [r0]\n\ + cmp r4, #0\n\ + bne ._376 @cond_branch\n\ + bl sub_80EFBB0\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r5, r2\n\ + strh r4, [r0]\n\ + b ._386\n\ +._379:\n\ + .align 2, 0\n\ +._378:\n\ + .word +0x2000000\n\ + .word 0x6e90\n\ +._376:\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r5, r0\n\ + b ._380\n\ +._351:\n\ + mov r0, #0x0\n\ + bl sub_80EFBDC\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + cmp r4, #0\n\ + bne ._386 @cond_branch\n\ + bl sub_80EFBB0\n\ + ldr r0, ._383\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + strh r4, [r0]\n\ + b ._386\n\ +._384:\n\ + .align 2, 0\n\ +._383:\n\ + .word +0x2000000\n\ +._352:\n\ + mov r2, #0xc2\n\ + lsl r2, r2, #0x2\n\ + add r0, r4, r2\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ +._374:\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ +._380:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._386\n\ +._353:\n\ + ldr r0, ._389\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._386 @cond_branch\n\ + bl sub_80F2DF4\n\ + mov r0, #0x4\n\ + bl sub_80F2D04\n\ + ldr r3, ._389 + 4\n\ + mov r2, #0x0\n\ + ldr r0, ._389 + 8\n\ + ldr r1, ._389 + 12\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._387 @cond_branch\n\ + mov r2, #0x1\n\ +._387:\n\ + lsl r2, r2, #0x3\n\ + ldrb r1, [r3, #0x15]\n\ + mov r0, #0x9\n\ + neg r0, r0\n\ + and r0, r0, r1\n\ + orr r0, r0, r2\n\ + strb r0, [r3, #0x15]\n\ + ldr r0, ._389 + 16\n\ + bl sub_80EBDBC\n\ +._386:\n\ + ldr r0, ._389 + 20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._388 @cond_branch\n\ + ldr r0, ._389 + 24\n\ + ldr r2, ._389 + 28\n\ + add r0, r0, r2\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x1\n\ + mov r2, #0x1\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._388:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._390:\n\ + .align 2, 0\n\ +._389:\n\ + .word gPaletteFade\n\ + .word gSaveBlock2\n\ + .word +0x2000000\n\ + .word 0x6e90\n\ + .word sub_80EC00C+1\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else void sub_80EC67C() { switch (ewram0_10.var304) @@ -907,6 +1990,7 @@ void sub_80EC67C() break; } } +#endif void sub_80EC81C() { @@ -1001,6 +2085,275 @@ void sub_80EC9A8() } } +#if DEBUG +__attribute__((naked)) +void sub_80ECA10() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._456\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0xd\n\ + bls ._454 @cond_branch\n\ + b ._509\n\ +._454:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._456 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._457:\n\ + .align 2, 0\n\ +._456:\n\ + .word +0x2000000\n\ + .word ._458\n\ +._458:\n\ + .word ._459\n\ + .word ._460\n\ + .word ._461\n\ + .word ._462\n\ + .word ._463\n\ + .word ._464\n\ + .word ._465\n\ + .word ._466\n\ + .word ._467\n\ + .word ._468\n\ + .word ._469\n\ + .word ._470\n\ + .word ._471\n\ + .word ._472\n\ +._459:\n\ + bl sub_80EEF78\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._473 @cond_branch\n\ + b ._509\n\ +._473:\n\ + ldr r0, ._476\n\ + bl SetVBlankCallback\n\ + bl sub_80EED1C\n\ + ldr r4, ._476 + 4\n\ + ldr r1, ._476 + 8\n\ + add r0, r4, r1\n\ + ldrb r1, [r0]\n\ + ldr r2, ._476 + 12\n\ + add r0, r4, r2\n\ + strb r1, [r0]\n\ + ldr r0, ._476 + 16\n\ + add r1, r4, r0\n\ + mov r0, #0x3\n\ + strb r0, [r1]\n\ + bl sub_80EEE08\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r4, r4, r1\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._509\n\ +._477:\n\ + .align 2, 0\n\ +._476:\n\ + .word sub_80EBD80+1\n\ + .word +0x2000000\n\ + .word 0x6df0\n\ + .word 0x6dad\n\ + .word 0x6dae\n\ +._460:\n\ + mov r0, #0x1\n\ + bl sub_80EF248\n\ + ldr r1, ._481\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._461:\n\ + mov r0, #0x1\n\ + bl sub_80EF284\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._478 @cond_branch\n\ + b ._509\n\ +._478:\n\ + ldr r1, ._481\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._502\n\ +._482:\n\ + .align 2, 0\n\ +._481:\n\ + .word +0x2000000\n\ +._462:\n\ + mov r0, #0x1\n\ + bl sub_80F1B8C\n\ + ldr r1, ._486\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._463:\n\ + mov r0, #0x1\n\ + bl sub_80F1BC8\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._483 @cond_branch\n\ + b ._509\n\ +._483:\n\ + ldr r1, ._486\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._502\n\ +._487:\n\ + .align 2, 0\n\ +._486:\n\ + .word +0x2000000\n\ +._464:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._509 @cond_branch\n\ + b ._496\n\ +._465:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._491\n\ + bl SetVBlankCallback\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._502\n\ +._492:\n\ + .align 2, 0\n\ +._491:\n\ + .word sub_80EBD18+1\n\ +._466:\n\ + mov r0, #0x0\n\ + bl sub_80EED2C\n\ + ldr r1, ._494\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._502\n\ +._495:\n\ + .align 2, 0\n\ +._494:\n\ + .word +0x2000000\n\ +._467:\n\ + bl sub_80F2598\n\ + b ._496\n\ +._468:\n\ + ldr r0, ._499\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._509 @cond_branch\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ + b ._502\n\ +._500:\n\ + .align 2, 0\n\ +._499:\n\ + .word gPaletteFade\n\ +._469:\n\ + mov r0, #0x1\n\ + bl sub_80F2C80\n\ + ldr r1, ._503\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._470:\n\ + mov r0, #0x1\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._509 @cond_branch\n\ + ldr r1, ._503\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._502\n\ +._504:\n\ + .align 2, 0\n\ +._503:\n\ + .word +0x2000000\n\ +._471:\n\ + bl sub_80F1DF0\n\ +._496:\n\ + ldr r1, ._506\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ +._502:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._509\n\ +._507:\n\ + .align 2, 0\n\ +._506:\n\ + .word +0x2000000\n\ +._472:\n\ + bl sub_80F1E50\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._509 @cond_branch\n\ + ldr r0, ._510\n\ + ldr r1, ._510 + 4\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + mov r0, #0x1\n\ + bl sub_80EF428\n\ + ldr r0, ._510 + 8\n\ + bl sub_80EBDBC\n\ + ldr r0, ._510 + 12\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._509 @cond_branch\n\ + ldr r0, ._510 + 16\n\ + ldr r2, ._510 + 20\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ +._509:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._511:\n\ + .align 2, 0\n\ +._510:\n\ + .word +0x2000000\n\ + .word 0x6dad\n\ + .word sub_80EC86C+1\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800"); +} +#else void sub_80ECA10() { switch (ewram0_10.var304) @@ -1072,6 +2425,7 @@ void sub_80ECA10() break; } } +#endif void sub_80ECC08() { @@ -1127,6 +2481,362 @@ void sub_80ECC08() } } +#if DEBUG +__attribute__((naked)) +void sub_80ECD80() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._564\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x14\n\ + bls ._562 @cond_branch\n\ + b ._642\n\ +._562:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._564 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._565:\n\ + .align 2, 0\n\ +._564:\n\ + .word +0x2000000\n\ + .word ._566\n\ +._566:\n\ + .word ._567\n\ + .word ._568\n\ + .word ._569\n\ + .word ._570\n\ + .word ._571\n\ + .word ._572\n\ + .word ._573\n\ + .word ._574\n\ + .word ._575\n\ + .word ._576\n\ + .word ._577\n\ + .word ._578\n\ + .word ._579\n\ + .word ._580\n\ + .word ._581\n\ + .word ._582\n\ + .word ._583\n\ + .word ._584\n\ + .word ._585\n\ + .word ._586\n\ + .word ._587\n\ +._567:\n\ + mov r3, #0xc2\n\ + lsl r3, r3, #0x2\n\ + add r0, r4, r3\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ + b ._630\n\ +._568:\n\ + ldr r0, ._592\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._589 @cond_branch\n\ + b ._642\n\ +._589:\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._630\n\ +._593:\n\ + .align 2, 0\n\ +._592:\n\ + .word gPaletteFade\n\ +._569:\n\ + bl sub_80EEF78\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._594 @cond_branch\n\ + b ._642\n\ +._594:\n\ + ldr r0, ._597\n\ + bl SetVBlankCallback\n\ + b ._625\n\ +._598:\n\ + .align 2, 0\n\ +._597:\n\ + .word sub_80EBD80+1\n\ +._570:\n\ + bl sub_80EED1C\n\ + bl sub_80F3130\n\ + ldr r1, ._600\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._630\n\ +._601:\n\ + .align 2, 0\n\ +._600:\n\ + .word +0x2000000\n\ +._571:\n\ + mov r0, #0x1\n\ + bl sub_80F2D6C\n\ + ldr r1, ._603\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._630\n\ +._604:\n\ + .align 2, 0\n\ +._603:\n\ + .word +0x2000000\n\ +._572:\n\ + mov r0, #0x5\n\ + bl sub_80F2D6C\n\ + b ._625\n\ +._573:\n\ + ldr r1, ._607\n\ + add r0, r4, r1\n\ + ldrb r1, [r0]\n\ + ldr r2, ._607 + 4\n\ + add r0, r4, r2\n\ + strb r1, [r0]\n\ + ldr r3, ._607 + 8\n\ + add r1, r4, r3\n\ + mov r0, #0x6\n\ + strb r0, [r1]\n\ + bl sub_80EEE08\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ + b ._630\n\ +._608:\n\ + .align 2, 0\n\ +._607:\n\ + .word 0x6dfc\n\ + .word 0x6dad\n\ + .word 0x6dae\n\ +._574:\n\ + mov r0, #0x2\n\ + bl sub_80EF248\n\ + ldr r1, ._612\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._575:\n\ + mov r0, #0x2\n\ + bl sub_80EF284\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._609 @cond_branch\n\ + b ._642\n\ +._609:\n\ + b ._625\n\ +._613:\n\ + .align 2, 0\n\ +._612:\n\ + .word +0x2000000\n\ +._576:\n\ + mov r0, #0x2\n\ + bl sub_80F1B8C\n\ + ldr r1, ._617\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._577:\n\ + mov r0, #0x2\n\ + bl sub_80F1BC8\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._614 @cond_branch\n\ + b ._642\n\ +._614:\n\ + ldr r1, ._617\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._630\n\ +._618:\n\ + .align 2, 0\n\ +._617:\n\ + .word +0x2000000\n\ +._578:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + beq ._619 @cond_branch\n\ + b ._642\n\ +._619:\n\ + b ._625\n\ +._579:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._623\n\ + bl SetVBlankCallback\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._630\n\ +._624:\n\ + .align 2, 0\n\ +._623:\n\ + .word sub_80EBD18+1\n\ +._580:\n\ + mov r0, #0x0\n\ + bl sub_80EED2C\n\ + b ._625\n\ +._581:\n\ + bl sub_80F2598\n\ + ldr r1, ._627\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._630\n\ +._628:\n\ + .align 2, 0\n\ +._627:\n\ + .word +0x2000000\n\ +._582:\n\ + ldr r0, ._631\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._642 @cond_branch\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._630\n\ +._632:\n\ + .align 2, 0\n\ +._631:\n\ + .word gPaletteFade\n\ +._583:\n\ + mov r0, #0x1\n\ + bl sub_80F2C80\n\ + ldr r1, ._635\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._584:\n\ + mov r0, #0x1\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + bne ._642 @cond_branch\n\ + ldr r0, ._635\n\ + ldr r3, ._635 + 4\n\ + add r1, r0, r3\n\ + strh r2, [r1]\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + add r1, r1, #0x1\n\ + strh r1, [r0]\n\ + b ._642\n\ +._636:\n\ + .align 2, 0\n\ +._635:\n\ + .word +0x2000000\n\ + .word 0x306\n\ +._585:\n\ + mov r0, #0x5\n\ + bl sub_80F2C80\n\ + ldr r1, ._639\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._586:\n\ + mov r0, #0x5\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._642 @cond_branch\n\ + bl sub_80F1DF0\n\ +._625:\n\ + ldr r1, ._639\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ +._630:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._642\n\ +._640:\n\ + .align 2, 0\n\ +._639:\n\ + .word +0x2000000\n\ +._587:\n\ + bl sub_80F1E50\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._642 @cond_branch\n\ + ldr r0, ._643\n\ + ldr r1, ._643 + 4\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + mov r0, #0x2\n\ + bl sub_80EF428\n\ + ldr r0, ._643 + 8\n\ + bl sub_80EBDBC\n\ + ldr r0, ._643 + 12\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._642 @cond_branch\n\ + ldr r0, ._643 + 16\n\ + ldr r2, ._643 + 20\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ +._642:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._644:\n\ + .align 2, 0\n\ +._643:\n\ + .word +0x2000000\n\ + .word 0x6dad\n\ + .word sub_80ECC08+1\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800"); +} +#else void sub_80ECD80() { switch (ewram0_10.var304) @@ -1233,7 +2943,418 @@ void sub_80ECD80() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80ED01C() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._647\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x13\n\ + bls ._645 @cond_branch\n\ + b ._736\n\ +._645:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._647 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._648:\n\ + .align 2, 0\n\ +._647:\n\ + .word +0x2000000\n\ + .word ._649\n\ +._649:\n\ + .word ._650\n\ + .word ._651\n\ + .word ._652\n\ + .word ._653\n\ + .word ._654\n\ + .word ._655\n\ + .word ._656\n\ + .word ._657\n\ + .word ._658\n\ + .word ._659\n\ + .word ._660\n\ + .word ._661\n\ + .word ._662\n\ + .word ._663\n\ + .word ._664\n\ + .word ._665\n\ + .word ._666\n\ + .word ._667\n\ + .word ._668\n\ + .word ._669\n\ +._650:\n\ + bl sub_80F1E84\n\ + mov r0, #0x1\n\ + bl sub_80F2D04\n\ + mov r0, #0x5\n\ + bl sub_80F2D04\n\ + ldr r1, ._671\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + b ._724\n\ +._672:\n\ + .align 2, 0\n\ +._671:\n\ + .word +0x2000000\n\ +._651:\n\ + bl sub_80F1F10\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._673 @cond_branch\n\ + b ._736\n\ +._673:\n\ + mov r0, #0x0\n\ + bl sub_80EEFBC\n\ + ldr r1, ._676\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._724\n\ +._677:\n\ + .align 2, 0\n\ +._676:\n\ + .word +0x2000000\n\ +._652:\n\ + bl sub_80EEF34\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + beq ._678 @cond_branch\n\ + b ._736\n\ +._678:\n\ + ldr r4, ._681\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + str r2, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._724\n\ +._682:\n\ + .align 2, 0\n\ +._681:\n\ + .word +0x2000000\n\ +._653:\n\ + ldr r0, ._686\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._683 @cond_branch\n\ + b ._736\n\ +._683:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + bl sub_80EF814\n\ + ldr r1, ._686 + 4\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + b ._724\n\ +._687:\n\ + .align 2, 0\n\ +._686:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ +._654:\n\ + bl sub_80F2620\n\ + ldr r1, ._689\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._724\n\ +._690:\n\ + .align 2, 0\n\ +._689:\n\ + .word +0x2000000\n\ +._655:\n\ + bl sub_80F4D44\n\ + ldr r1, ._693\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._656:\n\ + bl sub_80F4D88\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._691 @cond_branch\n\ + ldr r1, ._693\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x2\n\ + strh r0, [r1]\n\ + b ._736\n\ +._694:\n\ + .align 2, 0\n\ +._693:\n\ + .word +0x2000000\n\ +._691:\n\ + ldr r1, ._696\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._724\n\ +._697:\n\ + .align 2, 0\n\ +._696:\n\ + .word +0x2000000\n\ +._657:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + beq ._698 @cond_branch\n\ + b ._736\n\ +._698:\n\ + ldr r1, ._701\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + sub r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._736\n\ +._702:\n\ + .align 2, 0\n\ +._701:\n\ + .word +0x2000000\n\ +._658:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + beq ._703 @cond_branch\n\ + b ._736\n\ +._703:\n\ + ldr r1, ._706\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + b ._724\n\ +._707:\n\ + .align 2, 0\n\ +._706:\n\ + .word +0x2000000\n\ +._659:\n\ + mov r0, #0x0\n\ + bl sub_80F0264\n\ + ldr r1, ._711\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._660:\n\ + bl sub_80F02A0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._708 @cond_branch\n\ + b ._736\n\ +._708:\n\ + ldr r1, ._711\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._724\n\ +._712:\n\ + .align 2, 0\n\ +._711:\n\ + .word +0x2000000\n\ +._661:\n\ + mov r0, #0x0\n\ + bl sub_80F3008\n\ + ldr r1, ._714\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + b ._724\n\ +._715:\n\ + .align 2, 0\n\ +._714:\n\ + .word +0x2000000\n\ +._662:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + beq ._716 @cond_branch\n\ + b ._736\n\ +._716:\n\ + ldr r1, ._719\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._724\n\ +._720:\n\ + .align 2, 0\n\ +._719:\n\ + .word +0x2000000\n\ +._663:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._722\n\ + bl SetVBlankCallback\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._724\n\ +._723:\n\ + .align 2, 0\n\ +._722:\n\ + .word sub_80EBD18+1\n\ +._664:\n\ + mov r0, #0x4\n\ + bl sub_80EED2C\n\ + ldr r1, ._725\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r1, r3\n\ + b ._724\n\ +._726:\n\ + .align 2, 0\n\ +._725:\n\ + .word +0x2000000\n\ +._665:\n\ + ldr r0, ._729\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + lsl r0, r0, #0x18\n\ + lsr r1, r0, #0x18\n\ + cmp r1, #0\n\ + bne ._736 @cond_branch\n\ + ldr r2, ._729 + 4\n\ + add r0, r4, r2\n\ + strh r1, [r0]\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r1, r4, r3\n\ +._724:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._736\n\ +._730:\n\ + .align 2, 0\n\ +._729:\n\ + .word gPaletteFade\n\ + .word 0x306\n\ +._666:\n\ + mov r0, #0x1\n\ + bl sub_80F2C80\n\ + ldr r1, ._733\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._667:\n\ + mov r0, #0x1\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + bne ._736 @cond_branch\n\ + ldr r0, ._733\n\ + ldr r3, ._733 + 4\n\ + add r1, r0, r3\n\ + strh r2, [r1]\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + add r1, r1, #0x1\n\ + strh r1, [r0]\n\ + b ._736\n\ +._734:\n\ + .align 2, 0\n\ +._733:\n\ + .word +0x2000000\n\ + .word 0x306\n\ +._668:\n\ + ldr r4, ._737\n\ + ldr r2, ._737 + 4\n\ + add r0, r4, r2\n\ + ldrb r0, [r0]\n\ + add r0, r0, #0x7\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl sub_80F2C80\n\ + mov r3, #0xc1\n\ + lsl r3, r3, #0x2\n\ + add r4, r4, r3\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ +._669:\n\ + ldr r0, ._737\n\ + ldr r1, ._737 + 4\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + add r0, r0, #0x7\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._736 @cond_branch\n\ + ldr r0, ._737 + 8\n\ + bl sub_80EBDBC\n\ + ldr r0, ._737 + 12\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._736 @cond_branch\n\ + ldr r0, ._737 + 16\n\ + ldr r2, ._737 + 20\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ +._736:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._738:\n\ + .align 2, 0\n\ +._737:\n\ + .word +0x2000000\n\ + .word 0x6dfc\n\ + .word sub_80ED31C+1\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800"); +} +#else void sub_80ED01C() { switch (ewram0_10.var304) @@ -1342,7 +3463,129 @@ void sub_80ED01C() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80ED31C() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._743\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r4, r0, r1\n\ + ldrh r0, [r4]\n\ + cmp r0, #0x1\n\ + beq ._739 @cond_branch\n\ + cmp r0, #0x1\n\ + bgt ._740 @cond_branch\n\ + cmp r0, #0\n\ + beq ._741 @cond_branch\n\ + b ._761\n\ +._744:\n\ + .align 2, 0\n\ +._743:\n\ + .word +0x2000000\n\ +._740:\n\ + cmp r0, #0x2\n\ + beq ._745 @cond_branch\n\ + b ._761\n\ +._741:\n\ + bl sub_80F5DD4\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + beq ._747 @cond_branch\n\ + cmp r0, #0x2\n\ + beq ._748 @cond_branch\n\ + ldr r0, ._751\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._749 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._751 + 4\n\ + bl sub_80EBDBC\n\ + b ._762\n\ +._752:\n\ + .align 2, 0\n\ +._751:\n\ + .word gMain\n\ + .word sub_80ED4D8+1\n\ +._747:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + bl ShowMapNamePopUpWindow\n\ + b ._762\n\ +._748:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._762\n\ +._749:\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._761 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._757\n\ + bl sub_80EBDBC\n\ + b ._762\n\ +._758:\n\ + .align 2, 0\n\ +._757:\n\ + .word sub_80ECD80+1\n\ +._739:\n\ + bl sub_80F0718\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._761 @cond_branch\n\ + bl ShowMapNamePopUpWindow\n\ + bl sub_80F3264\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + b ._760\n\ +._745:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._761 @cond_branch\n\ +._760:\n\ + strh r0, [r4]\n\ +._761:\n\ + ldr r0, ._763\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._762 @cond_branch\n\ + ldr r0, ._763 + 4\n\ + ldr r1, ._763 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x1\n\ + mov r2, #0x8\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._762:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._764:\n\ + .align 2, 0\n\ +._763:\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else void sub_80ED31C() { switch (ewram0_10.var304) @@ -1386,7 +3629,195 @@ void sub_80ED31C() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80ED3D0() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._767\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0]\n\ + cmp r0, #0x8\n\ + bls ._765 @cond_branch\n\ + b ._803\n\ +._765:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._767 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._768:\n\ + .align 2, 0\n\ +._767:\n\ + .word +0x2000000\n\ + .word ._769\n\ +._769:\n\ + .word ._770\n\ + .word ._771\n\ + .word ._772\n\ + .word ._773\n\ + .word ._774\n\ + .word ._775\n\ + .word ._776\n\ + .word ._777\n\ + .word ._778\n\ +._770:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + ldr r1, ._780\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._793\n\ +._781:\n\ + .align 2, 0\n\ +._780:\n\ + .word +0x2000000\n\ +._771:\n\ + bl sub_80EED0C\n\ + bl sub_80F6134\n\ + ldr r1, ._783\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._793\n\ +._784:\n\ + .align 2, 0\n\ +._783:\n\ + .word +0x2000000\n\ +._772:\n\ + mov r0, #0x0\n\ + bl sub_80EEFBC\n\ + ldr r1, ._786\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._793\n\ +._787:\n\ + .align 2, 0\n\ +._786:\n\ + .word +0x2000000\n\ +._773:\n\ + mov r0, #0x0\n\ + bl sub_80F0264\n\ + ldr r1, ._790\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._774:\n\ + bl sub_80F02A0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._803 @cond_branch\n\ + ldr r1, ._790\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._793\n\ +._791:\n\ + .align 2, 0\n\ +._790:\n\ + .word +0x2000000\n\ +._775:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._803 @cond_branch\n\ + ldr r1, ._794\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._793\n\ +._795:\n\ + .align 2, 0\n\ +._794:\n\ + .word +0x2000000\n\ +._776:\n\ + mov r0, #0x0\n\ + bl sub_80F3008\n\ + ldr r4, ._797\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._797 + 4\n\ + bl SetVBlankCallback\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ +._793:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._803\n\ +._798:\n\ + .align 2, 0\n\ +._797:\n\ + .word +0x2000000\n\ + .word sub_80EBD18+1\n\ +._777:\n\ + mov r0, #0x4\n\ + bl sub_80EED2C\n\ + ldr r1, ._801\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + ldr r0, ._801 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._803 @cond_branch\n\ + ldr r0, ._801 + 8\n\ + ldr r2, ._801 + 12\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ + b ._803\n\ +._802:\n\ + .align 2, 0\n\ +._801:\n\ + .word +0x2000000\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800\n\ +._778:\n\ + ldr r0, ._804\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._803 @cond_branch\n\ + ldr r0, ._804 + 4\n\ + bl sub_80EBDBC\n\ +._803:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._805:\n\ + .align 2, 0\n\ +._804:\n\ + .word gPaletteFade\n\ + .word sub_80ED31C+1"); +} +#else void sub_80ED3D0() { switch (ewram0_10.var304) @@ -1432,7 +3863,207 @@ void sub_80ED3D0() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80ED4D8() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._808\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x8\n\ + bls ._806 @cond_branch\n\ + b ._844\n\ +._806:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._808 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._809:\n\ + .align 2, 0\n\ +._808:\n\ + .word +0x2000000\n\ + .word ._810\n\ +._810:\n\ + .word ._811\n\ + .word ._812\n\ + .word ._813\n\ + .word ._814\n\ + .word ._815\n\ + .word ._816\n\ + .word ._817\n\ + .word ._818\n\ + .word ._819\n\ +._811:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + b ._820\n\ +._812:\n\ + ldr r0, ._824\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._821 @cond_branch\n\ + b ._844\n\ +._821:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + bl sub_80F3130\n\ + ldr r1, ._824 + 4\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._834\n\ +._825:\n\ + .align 2, 0\n\ +._824:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ +._813:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._844 @cond_branch\n\ + ldr r1, ._828\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._834\n\ +._829:\n\ + .align 2, 0\n\ +._828:\n\ + .word +0x2000000\n\ +._814:\n\ + bl sub_80F4CF0\n\ + ldr r1, ._831\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._834\n\ +._832:\n\ + .align 2, 0\n\ +._831:\n\ + .word +0x2000000\n\ +._815:\n\ + bl sub_80EFF34\n\ + ldr r1, ._835\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._816:\n\ + bl sub_80EFF68\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._844 @cond_branch\n\ + ldr r1, ._835\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._834\n\ +._836:\n\ + .align 2, 0\n\ +._835:\n\ + .word +0x2000000\n\ +._817:\n\ + bl sub_80F35B4\n\ + mov r0, #0x2\n\ + bl sub_80EEFBC\n\ + ldr r4, ._838\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._838 + 4\n\ + bl SetVBlankCallback\n\ +._820:\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ +._834:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._844\n\ +._839:\n\ + .align 2, 0\n\ +._838:\n\ + .word +0x2000000\n\ + .word sub_80EBD4C+1\n\ +._818:\n\ + mov r0, #0x2\n\ + bl sub_80EED2C\n\ + ldr r1, ._842\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + ldr r0, ._842 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._844 @cond_branch\n\ + ldr r0, ._842 + 8\n\ + ldr r2, ._842 + 12\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ + b ._844\n\ +._843:\n\ + .align 2, 0\n\ +._842:\n\ + .word +0x2000000\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f000\n\ +._819:\n\ + ldr r0, ._845\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._844 @cond_branch\n\ + ldr r0, ._845 + 4\n\ + bl sub_80EBDBC\n\ +._844:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._846:\n\ + .align 2, 0\n\ +._845:\n\ + .word gPaletteFade\n\ + .word sub_80ED858+1"); +} +#else void sub_80ED4D8() { switch (ewram0_10.var304) @@ -1483,7 +4114,310 @@ void sub_80ED4D8() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80ED620() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._849\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x10\n\ + bls ._847 @cond_branch\n\ + b ._912\n\ +._847:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._849 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._850:\n\ + .align 2, 0\n\ +._849:\n\ + .word +0x2000000\n\ + .word ._851\n\ +._851:\n\ + .word ._852\n\ + .word ._853\n\ + .word ._854\n\ + .word ._855\n\ + .word ._856\n\ + .word ._857\n\ + .word ._858\n\ + .word ._859\n\ + .word ._860\n\ + .word ._861\n\ + .word ._862\n\ + .word ._863\n\ + .word ._864\n\ + .word ._865\n\ + .word ._866\n\ + .word ._867\n\ + .word ._868\n\ +._852:\n\ + bl sub_80F1E84\n\ + mov r0, #0x1\n\ + bl sub_80F2D04\n\ + ldr r1, ._870\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._904\n\ +._871:\n\ + .align 2, 0\n\ +._870:\n\ + .word +0x2000000\n\ +._853:\n\ + bl sub_80F1F10\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._872 @cond_branch\n\ + b ._912\n\ +._872:\n\ + mov r0, #0x1\n\ + bl sub_80EEFBC\n\ + b ._885\n\ +._854:\n\ + bl sub_80EEF34\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + beq ._875 @cond_branch\n\ + b ._912\n\ +._875:\n\ + ldr r4, ._878\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + str r2, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._904\n\ +._879:\n\ + .align 2, 0\n\ +._878:\n\ + .word +0x2000000\n\ +._855:\n\ + ldr r0, ._883\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + cmp r4, #0\n\ + beq ._880 @cond_branch\n\ + b ._912\n\ +._880:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + bl sub_80EF814\n\ + ldr r0, ._883 + 4\n\ + ldr r2, ._883 + 8\n\ + add r1, r0, r2\n\ + strb r4, [r1]\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + ldrh r1, [r0]\n\ + add r1, r1, #0x1\n\ + strh r1, [r0]\n\ + b ._912\n\ +._884:\n\ + .align 2, 0\n\ +._883:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ + .word 0x76aa\n\ +._856:\n\ + bl sub_80F2620\n\ + b ._885\n\ +._857:\n\ + ldr r0, ._887\n\ + add r1, r4, r0\n\ + mov r0, #0x2\n\ + strb r0, [r1]\n\ + bl sub_80F4BD0\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._904\n\ +._888:\n\ + .align 2, 0\n\ +._887:\n\ + .word 0xd162\n\ +._858:\n\ + bl sub_80EFF34\n\ + ldr r1, ._890\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._859:\n\ + bl sub_80EFF68\n\ + b ._889\n\ +._891:\n\ + .align 2, 0\n\ +._890:\n\ + .word +0x2000000\n\ +._860:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._912 @cond_branch\n\ + ldr r1, ._894\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._904\n\ +._895:\n\ + .align 2, 0\n\ +._894:\n\ + .word +0x2000000\n\ +._861:\n\ + bl sub_8055870\n\ + b ._896\n\ +._862:\n\ + bl sub_80F33A8\n\ + ldr r4, ._898\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._898 + 4\n\ + bl SetVBlankCallback\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._904\n\ +._899:\n\ + .align 2, 0\n\ +._898:\n\ + .word +0x2000000\n\ + .word sub_80EBD4C+1\n\ +._863:\n\ + mov r0, #0x2\n\ + bl sub_80EED2C\n\ + ldr r1, ._901\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._904\n\ +._902:\n\ + .align 2, 0\n\ +._901:\n\ + .word +0x2000000\n\ +._864:\n\ + ldr r0, ._905\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._912 @cond_branch\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ + b ._904\n\ +._906:\n\ + .align 2, 0\n\ +._905:\n\ + .word gPaletteFade\n\ +._865:\n\ + mov r0, #0x1\n\ + bl sub_80F2C80\n\ + ldr r1, ._909\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._866:\n\ + mov r0, #0x1\n\ + bl sub_80F2CBC\n\ +._889:\n\ + lsl r0, r0, #0x18\n\ +._896:\n\ + cmp r0, #0\n\ + bne ._912 @cond_branch\n\ +._885:\n\ + ldr r1, ._909\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ +._904:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._912\n\ +._910:\n\ + .align 2, 0\n\ +._909:\n\ + .word +0x2000000\n\ +._867:\n\ + mov r0, #0x6\n\ + bl sub_80F2C80\n\ + ldr r1, ._913\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._868:\n\ + mov r0, #0x6\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._912 @cond_branch\n\ + ldr r0, ._913 + 4\n\ + bl sub_80EBDBC\n\ + ldr r0, ._913 + 8\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._912 @cond_branch\n\ + ldr r0, ._913 + 12\n\ + ldr r2, ._913 + 16\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ +._912:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._914:\n\ + .align 2, 0\n\ +._913:\n\ + .word +0x2000000\n\ + .word sub_80ED858+1\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f000"); +} +#else void sub_80ED620() { switch (ewram0_10.var304) @@ -1573,6 +4507,7 @@ void sub_80ED620() break; } } +#endif #if 0 void sub_80F4F78(); @@ -1742,8 +4677,433 @@ label2: } #else +#if DEBUG __attribute__((naked)) -void sub_80ED858() { +void sub_80ED858() +{ + asm("\ + push {r4, r5, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._917\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r5, r1, #0\n\ + cmp r0, #0xb\n\ + bls ._915 @cond_branch\n\ + b ._999\n\ +._915:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._917 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._918:\n\ + .align 2, 0\n\ +._917:\n\ + .word +0x2000000\n\ + .word ._919\n\ +._919:\n\ + .word ._920\n\ + .word ._921\n\ + .word ._922\n\ + .word ._923\n\ + .word ._924\n\ + .word ._925\n\ + .word ._926\n\ + .word ._927\n\ + .word ._928\n\ + .word ._929\n\ + .word ._999\n\ + .word ._931\n\ +._920:\n\ + bl sub_80F4F78\n\ + bl sub_80F5B38\n\ + ldr r0, ._933\n\ + mov r4, #0xc1\n\ + lsl r4, r4, #0x2\n\ + add r0, r0, r4\n\ + mov r1, #0x1\n\ + strh r1, [r0]\n\ + b ._999\n\ +._934:\n\ + .align 2, 0\n\ +._933:\n\ + .word +0x2000000\n\ +._921:\n\ + bl sub_80F5B50\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._935 @cond_branch\n\ + b ._999\n\ +._935:\n\ + ldr r0, ._938\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + mov r1, #0x2\n\ + strh r1, [r0]\n\ + b ._999\n\ +._939:\n\ + .align 2, 0\n\ +._938:\n\ + .word +0x2000000\n\ +._922:\n\ + mov r0, #0x1\n\ + bl sub_80F0174\n\ + ldr r0, ._941\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r0, r2\n\ + mov r1, #0x3\n\ + strh r1, [r0]\n\ + b ._999\n\ +._942:\n\ + .align 2, 0\n\ +._941:\n\ + .word +0x2000000\n\ +._923:\n\ + bl sub_80F4FB4\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._943 @cond_branch\n\ + b ._999\n\ +._943:\n\ + bl sub_80F3C94\n\ + bl sub_80F3D00\n\ + b ._945\n\ +._924:\n\ + ldr r2, ._951\n\ + ldrh r1, [r2, #0x2c]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + add r3, r2, #0\n\ + cmp r0, #0\n\ + beq ._949 @cond_branch\n\ + ldr r1, ._951 + 4\n\ + add r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._949 @cond_branch\n\ + ldr r2, ._951 + 8\n\ + add r0, r5, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._948 @cond_branch\n\ + ldr r4, ._951 + 12\n\ + add r0, r5, r4\n\ + mov r1, #0x0\n\ + ldsh r0, [r0, r1]\n\ + cmp r0, #0\n\ + beq ._949 @cond_branch\n\ +._948:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r0, #0x1\n\ + bl sub_80F5060\n\ + bl move_anim_execute\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r5, r2\n\ + b ._950\n\ +._952:\n\ + .align 2, 0\n\ +._951:\n\ + .word gMain\n\ + .word 0x87cb\n\ + .word 0x76aa\n\ + .word 0x87dc\n\ +._949:\n\ + ldrh r1, [r3, #0x2c]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._956 @cond_branch\n\ + ldr r4, ._958\n\ + add r0, r5, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._956 @cond_branch\n\ + ldr r1, ._958 + 4\n\ + add r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._955 @cond_branch\n\ + ldr r2, ._958 + 8\n\ + add r0, r5, r2\n\ + sub r4, r4, #0x57\n\ + add r1, r5, r4\n\ + mov r4, #0x0\n\ + ldsh r2, [r0, r4]\n\ + mov r4, #0x0\n\ + ldsh r0, [r1, r4]\n\ + cmp r2, r0\n\ + bge ._956 @cond_branch\n\ +._955:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r0, #0x0\n\ + bl sub_80F5060\n\ + bl move_anim_execute\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r5, r0\n\ +._950:\n\ + mov r0, #0x5\n\ + strh r0, [r1]\n\ + b ._999\n\ +._959:\n\ + .align 2, 0\n\ +._958:\n\ + .word 0x87cb\n\ + .word 0x76aa\n\ + .word 0x87dc\n\ +._956:\n\ + ldrh r2, [r3, #0x2e]\n\ + mov r0, #0x2\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + beq ._960 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + bl sub_80F4FDC\n\ + bl move_anim_execute\n\ + ldr r0, ._962\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + mov r1, #0x9\n\ + strh r1, [r0]\n\ + b ._999\n\ +._963:\n\ + .align 2, 0\n\ +._962:\n\ + .word +0x2000000\n\ +._960:\n\ + mov r0, #0x1\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + bne ._964 @cond_branch\n\ + b ._999\n\ +._964:\n\ + add r4, r5, #0\n\ + ldr r2, ._970\n\ + add r0, r4, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._966 @cond_branch\n\ + ldr r1, ._970 + 4\n\ + add r0, r4, r1\n\ + mov r2, #0x0\n\ + ldsh r1, [r0, r2]\n\ + ldr r2, ._970 + 8\n\ + add r0, r4, r2\n\ + mov r2, #0x0\n\ + ldsh r0, [r0, r2]\n\ + sub r0, r0, #0x1\n\ + cmp r1, r0\n\ + beq ._967 @cond_branch\n\ + b ._999\n\ +._967:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ + mov r0, #0x9\n\ + strh r0, [r1]\n\ + b ._999\n\ +._971:\n\ + .align 2, 0\n\ +._970:\n\ + .word 0x76aa\n\ + .word 0x87dc\n\ + .word 0x87da\n\ +._966:\n\ + ldr r1, ._975\n\ + add r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._972 @cond_branch\n\ + b ._999\n\ +._972:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r5, r2\n\ + mov r0, #0x7\n\ + strh r0, [r1]\n\ + b ._999\n\ +._976:\n\ + .align 2, 0\n\ +._975:\n\ + .word 0x6dac\n\ +._925:\n\ + bl gpu_sync_bg_show\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._977 @cond_branch\n\ + b ._999\n\ +._977:\n\ + bl sub_80F3D00\n\ + ldr r0, ._980\n\ + mov r4, #0xc1\n\ + lsl r4, r4, #0x2\n\ + add r0, r0, r4\n\ + mov r1, #0x6\n\ + strh r1, [r0]\n\ + b ._999\n\ +._981:\n\ + .align 2, 0\n\ +._980:\n\ + .word +0x2000000\n\ +._926:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._999 @cond_branch\n\ + ldr r0, ._984\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + b ._983\n\ +._985:\n\ + .align 2, 0\n\ +._984:\n\ + .word +0x2000000\n\ +._927:\n\ + mov r0, #0x3\n\ + bl sub_80EEFBC\n\ + bl sub_80F3668\n\ + ldr r0, ._987\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r0, r2\n\ + mov r1, #0x8\n\ + strh r1, [r0]\n\ + b ._999\n\ +._988:\n\ + .align 2, 0\n\ +._987:\n\ + .word +0x2000000\n\ +._928:\n\ + bl sub_80F7500\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._999 @cond_branch\n\ + mov r0, #0x2\n\ + bl sub_80EEFBC\n\ + bl sub_80F3698\n\ +._945:\n\ + ldr r0, ._991\n\ + mov r4, #0xc1\n\ + lsl r4, r4, #0x2\n\ + add r0, r0, r4\n\ +._983:\n\ + mov r1, #0x4\n\ + strh r1, [r0]\n\ + b ._999\n\ +._992:\n\ + .align 2, 0\n\ +._991:\n\ + .word +0x2000000\n\ +._929:\n\ + bl sub_80F5038\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + cmp r4, #0\n\ + bne ._999 @cond_branch\n\ + mov r0, #0x0\n\ + bl sub_80F0174\n\ + bl sub_80F2F48\n\ + ldr r5, ._995\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r5, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + str r4, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r5, r2\n\ + mov r0, #0xb\n\ + strh r0, [r1]\n\ + b ._999\n\ +._996:\n\ + .align 2, 0\n\ +._995:\n\ + .word +0x2000000\n\ +._931:\n\ + ldr r0, ._1000\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._999 @cond_branch\n\ + bl sub_80F3CE8\n\ + bl sub_80F5BDC\n\ + ldr r0, ._1000 + 4\n\ + ldr r4, ._1000 + 8\n\ + add r0, r0, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + bne ._998 @cond_branch\n\ + bl sub_80F357C\n\ + mov r0, #0x1\n\ + bl sub_80F2D6C\n\ + mov r0, #0x6\n\ + bl sub_80F2D6C\n\ + ldr r0, ._1000 + 12\n\ + bl sub_80EBDBC\n\ + b ._999\n\ +._1001:\n\ + .align 2, 0\n\ +._1000:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ + .word 0x76aa\n\ + .word sub_80ECA10+1\n\ +._998:\n\ + bl sub_80F3614\n\ + ldr r0, ._1003\n\ + bl sub_80EBDBC\n\ +._999:\n\ + ldr r0, ._1003 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1002 @cond_branch\n\ + ldr r0, ._1003 + 8\n\ + ldr r1, ._1003 + 12\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x9\n\ + mov r2, #0x6\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._1002:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._1004:\n\ + .align 2, 0\n\ +._1003:\n\ + .word sub_80ED3D0+1\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else +__attribute__((naked)) +void sub_80ED858() +{ asm_unified("push {r4,r5,lr}\n\ sub sp, 0x4\n\ ldr r1, _080ED878 @ =gSharedMem\n\ @@ -2114,7 +5474,361 @@ _080EDB7A:\n\ _080EDB84: .4byte sub_80ED3D0\n"); } #endif +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EDB88() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._1007\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x11\n\ + bls ._1005 @cond_branch\n\ + b ._1088\n\ +._1005:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._1007 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._1008:\n\ + .align 2, 0\n\ +._1007:\n\ + .word +0x2000000\n\ + .word ._1009\n\ +._1009:\n\ + .word ._1010\n\ + .word ._1011\n\ + .word ._1012\n\ + .word ._1013\n\ + .word ._1014\n\ + .word ._1015\n\ + .word ._1016\n\ + .word ._1017\n\ + .word ._1018\n\ + .word ._1019\n\ + .word ._1020\n\ + .word ._1021\n\ + .word ._1022\n\ + .word ._1023\n\ + .word ._1024\n\ + .word ._1025\n\ + .word ._1026\n\ + .word ._1027\n\ +._1010:\n\ + bl sub_80F1E84\n\ + mov r0, #0x0\n\ + bl sub_80F2D04\n\ + ldr r1, ._1029\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1078\n\ +._1030:\n\ + .align 2, 0\n\ +._1029:\n\ + .word +0x2000000\n\ +._1011:\n\ + bl sub_80F1F10\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1031 @cond_branch\n\ + b ._1088\n\ +._1031:\n\ + mov r0, #0x4\n\ + bl sub_80EEFBC\n\ + ldr r1, ._1034\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._1078\n\ +._1035:\n\ + .align 2, 0\n\ +._1034:\n\ + .word +0x2000000\n\ +._1012:\n\ + bl sub_80EEF34\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + beq ._1036 @cond_branch\n\ + b ._1088\n\ +._1036:\n\ + ldr r4, ._1039\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + str r2, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + b ._1038\n\ +._1040:\n\ + .align 2, 0\n\ +._1039:\n\ + .word +0x2000000\n\ +._1013:\n\ + ldr r0, ._1044\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1041 @cond_branch\n\ + b ._1088\n\ +._1041:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + bl sub_80EF814\n\ + ldr r1, ._1044 + 4\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1078\n\ +._1045:\n\ + .align 2, 0\n\ +._1044:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ +._1014:\n\ + bl sub_80F2620\n\ + ldr r1, ._1047\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._1078\n\ +._1048:\n\ + .align 2, 0\n\ +._1047:\n\ + .word +0x2000000\n\ +._1015:\n\ + bl sub_80F638C\n\ + ldr r1, ._1051\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._1016:\n\ + bl sub_80F63D0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1049 @cond_branch\n\ + ldr r1, ._1051\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x2\n\ + strh r0, [r1]\n\ + b ._1088\n\ +._1052:\n\ + .align 2, 0\n\ +._1051:\n\ + .word +0x2000000\n\ +._1049:\n\ + ldr r1, ._1054\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1078\n\ +._1055:\n\ + .align 2, 0\n\ +._1054:\n\ + .word +0x2000000\n\ +._1017:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + beq ._1056 @cond_branch\n\ + b ._1088\n\ +._1056:\n\ + ldr r1, ._1059\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + sub r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._1088\n\ +._1060:\n\ + .align 2, 0\n\ +._1059:\n\ + .word +0x2000000\n\ +._1018:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + beq ._1061 @cond_branch\n\ + b ._1088\n\ +._1061:\n\ + ldr r1, ._1064\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1078\n\ +._1065:\n\ + .align 2, 0\n\ +._1064:\n\ + .word +0x2000000\n\ +._1019:\n\ + mov r0, #0x1\n\ + bl sub_80F0264\n\ + ldr r1, ._1068\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._1020:\n\ + bl sub_80F02A0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1088 @cond_branch\n\ + ldr r1, ._1068\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1078\n\ +._1069:\n\ + .align 2, 0\n\ +._1068:\n\ + .word +0x2000000\n\ +._1021:\n\ + mov r0, #0x2\n\ + bl sub_80F2C80\n\ + ldr r1, ._1072\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._1022:\n\ + mov r0, #0x2\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1088 @cond_branch\n\ + ldr r1, ._1072\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1078\n\ +._1073:\n\ + .align 2, 0\n\ +._1072:\n\ + .word +0x2000000\n\ +._1023:\n\ + mov r0, #0x1\n\ + bl sub_80F3008\n\ + ldr r1, ._1075\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._1078\n\ +._1076:\n\ + .align 2, 0\n\ +._1075:\n\ + .word +0x2000000\n\ +._1024:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._1088 @cond_branch\n\ + ldr r1, ._1079\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1078\n\ +._1080:\n\ + .align 2, 0\n\ +._1079:\n\ + .word +0x2000000\n\ +._1025:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._1082\n\ + bl SetVBlankCallback\n\ +._1038:\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ +._1078:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._1088\n\ +._1083:\n\ + .align 2, 0\n\ +._1082:\n\ + .word sub_80EBD18+1\n\ +._1026:\n\ + mov r0, #0x4\n\ + bl sub_80EED2C\n\ + ldr r1, ._1086\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + ldr r0, ._1086 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1088 @cond_branch\n\ + ldr r0, ._1086 + 8\n\ + ldr r2, ._1086 + 12\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ + b ._1088\n\ +._1087:\n\ + .align 2, 0\n\ +._1086:\n\ + .word +0x2000000\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800\n\ +._1027:\n\ + ldr r0, ._1089\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1088 @cond_branch\n\ + ldr r0, ._1089 + 4\n\ + bl sub_80EBDBC\n\ +._1088:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._1090:\n\ + .align 2, 0\n\ +._1089:\n\ + .word gPaletteFade\n\ + .word sub_80EDDBC+1"); +} +#else void sub_80EDB88() { switch (ewram0_10.var304) @@ -2205,7 +5919,129 @@ void sub_80EDB88() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EDDBC() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._1095\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r4, r0, r1\n\ + ldrh r0, [r4]\n\ + cmp r0, #0x1\n\ + beq ._1091 @cond_branch\n\ + cmp r0, #0x1\n\ + bgt ._1092 @cond_branch\n\ + cmp r0, #0\n\ + beq ._1093 @cond_branch\n\ + b ._1113\n\ +._1096:\n\ + .align 2, 0\n\ +._1095:\n\ + .word +0x2000000\n\ +._1092:\n\ + cmp r0, #0x2\n\ + beq ._1097 @cond_branch\n\ + b ._1113\n\ +._1093:\n\ + bl sub_80F5DD4\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + beq ._1099 @cond_branch\n\ + cmp r0, #0x2\n\ + beq ._1100 @cond_branch\n\ + ldr r0, ._1103\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1101 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._1103 + 4\n\ + bl sub_80EBDBC\n\ + b ._1114\n\ +._1104:\n\ + .align 2, 0\n\ +._1103:\n\ + .word gMain\n\ + .word sub_80EDEE4+1\n\ +._1099:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + bl ShowMapNamePopUpWindow\n\ + b ._1114\n\ +._1100:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._1114\n\ +._1101:\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1113 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._1109\n\ + bl sub_80EBDBC\n\ + b ._1114\n\ +._1110:\n\ + .align 2, 0\n\ +._1109:\n\ + .word sub_80EDE70+1\n\ +._1091:\n\ + bl sub_80F0718\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1113 @cond_branch\n\ + bl ShowMapNamePopUpWindow\n\ + bl sub_80F3264\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + b ._1112\n\ +._1097:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._1113 @cond_branch\n\ +._1112:\n\ + strh r0, [r4]\n\ +._1113:\n\ + ldr r0, ._1115\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1114 @cond_branch\n\ + ldr r0, ._1115 + 4\n\ + ldr r1, ._1115 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x1\n\ + mov r2, #0x8\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._1114:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._1116:\n\ + .align 2, 0\n\ +._1115:\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else void sub_80EDDBC() { switch (ewram0_10.var304) @@ -2250,6 +6086,7 @@ void sub_80EDDBC() } } +#endif void sub_80EDE70() { @@ -2274,6 +6111,228 @@ void sub_80EDE70() } +#if DEBUG +__attribute__((naked)) +void sub_80EDEE4() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._1134\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0xa\n\ + bls ._1132 @cond_branch\n\ + b ._1180\n\ +._1132:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._1134 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._1135:\n\ + .align 2, 0\n\ +._1134:\n\ + .word +0x2000000\n\ + .word ._1136\n\ +._1136:\n\ + .word ._1137\n\ + .word ._1138\n\ + .word ._1139\n\ + .word ._1140\n\ + .word ._1141\n\ + .word ._1142\n\ + .word ._1143\n\ + .word ._1144\n\ + .word ._1145\n\ + .word ._1146\n\ + .word ._1147\n\ +._1137:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + b ._1169\n\ +._1138:\n\ + ldr r0, ._1152\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1149 @cond_branch\n\ + b ._1180\n\ +._1149:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + bl sub_80F3130\n\ + ldr r1, ._1152 + 4\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1166\n\ +._1153:\n\ + .align 2, 0\n\ +._1152:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ +._1139:\n\ + bl sub_80F66E0\n\ + bl sub_80EEE08\n\ + ldr r1, ._1155\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._1166\n\ +._1156:\n\ + .align 2, 0\n\ +._1155:\n\ + .word +0x2000000\n\ +._1140:\n\ + bl sub_80F1080\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1180 @cond_branch\n\ + ldr r1, ._1159\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1166\n\ +._1160:\n\ + .align 2, 0\n\ +._1159:\n\ + .word +0x2000000\n\ +._1141:\n\ + mov r0, #0x5\n\ + bl sub_80EEFBC\n\ + bl sub_80F38B8\n\ + ldr r1, ._1163\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._1142:\n\ + bl sub_80F38EC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1180 @cond_branch\n\ + ldr r1, ._1163\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1166\n\ +._1164:\n\ + .align 2, 0\n\ +._1163:\n\ + .word +0x2000000\n\ +._1143:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._1180 @cond_branch\n\ + ldr r1, ._1167\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._1166\n\ +._1168:\n\ + .align 2, 0\n\ +._1167:\n\ + .word +0x2000000\n\ +._1144:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._1170\n\ + bl SetVBlankCallback\n\ + b ._1169\n\ +._1171:\n\ + .align 2, 0\n\ +._1170:\n\ + .word sub_80EBD18+1\n\ +._1145:\n\ + mov r0, #0x3\n\ + bl sub_80EED2C\n\ + ldr r1, ._1174\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + ldr r0, ._1174 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1180 @cond_branch\n\ + ldr r0, ._1174 + 8\n\ + ldr r2, ._1174 + 12\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ + b ._1180\n\ +._1175:\n\ + .align 2, 0\n\ +._1174:\n\ + .word +0x2000000\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f000\n\ +._1146:\n\ + ldr r0, ._1178\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1180 @cond_branch\n\ +._1169:\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ +._1166:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._1180\n\ +._1179:\n\ + .align 2, 0\n\ +._1178:\n\ + .word gPaletteFade\n\ +._1147:\n\ + bl sub_80F170C\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1180 @cond_branch\n\ + ldr r0, ._1181\n\ + bl sub_80EBDBC\n\ +._1180:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._1182:\n\ + .align 2, 0\n\ +._1181:\n\ + .word sub_80EE06C+1"); +} +#else void sub_80EDEE4() { switch (ewram0_10.var304) @@ -2331,7 +6390,316 @@ void sub_80EDEE4() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EE06C() +{ + asm("\ + push {r4, r5, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._1185\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x8\n\ + bls ._1183 @cond_branch\n\ + b ._1248\n\ +._1183:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._1185 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._1186:\n\ + .align 2, 0\n\ +._1185:\n\ + .word +0x2000000\n\ + .word ._1187\n\ +._1187:\n\ + .word ._1188\n\ + .word ._1189\n\ + .word ._1190\n\ + .word ._1191\n\ + .word ._1192\n\ + .word ._1193\n\ + .word ._1194\n\ + .word ._1195\n\ + .word ._1196\n\ +._1188:\n\ + bl sub_80F15A8\n\ + ldr r1, ._1198\n\ + mov r5, #0xc1\n\ + lsl r5, r5, #0x2\n\ + add r1, r1, r5\n\ + b ._1221\n\ +._1199:\n\ + .align 2, 0\n\ +._1198:\n\ + .word +0x2000000\n\ +._1189:\n\ + ldr r2, ._1203\n\ + ldrh r1, [r2, #0x30]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + add r3, r2, #0\n\ + cmp r0, #0\n\ + beq ._1201 @cond_branch\n\ + ldr r1, ._1203 + 4\n\ + add r0, r4, r1\n\ + mov r2, #0x0\n\ + ldsh r0, [r0, r2]\n\ + cmp r0, #0\n\ + beq ._1201 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + bl sub_80F6A4C\n\ + mov r5, #0xc1\n\ + lsl r5, r5, #0x2\n\ + add r1, r4, r5\n\ + b ._1221\n\ +._1204:\n\ + .align 2, 0\n\ +._1203:\n\ + .word gMain\n\ + .word 0x87dc\n\ +._1201:\n\ + ldrh r1, [r3, #0x30]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1206 @cond_branch\n\ + ldr r1, ._1208\n\ + add r0, r4, r1\n\ + ldr r2, ._1208 + 4\n\ + add r1, r4, r2\n\ + mov r5, #0x0\n\ + ldsh r2, [r0, r5]\n\ + mov r5, #0x0\n\ + ldsh r0, [r1, r5]\n\ + cmp r2, r0\n\ + bge ._1206 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r0, #0x1\n\ + bl sub_80F6A4C\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ + b ._1221\n\ +._1209:\n\ + .align 2, 0\n\ +._1208:\n\ + .word 0x87dc\n\ + .word 0x8774\n\ +._1206:\n\ + ldrh r2, [r3, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + beq ._1210 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + mov r0, #0xb\n\ + bl sub_80EEFBC\n\ + ldr r0, ._1212\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + b ._1211\n\ +._1213:\n\ + .align 2, 0\n\ +._1212:\n\ + .word +0x2000000\n\ +._1210:\n\ + mov r0, #0x2\n\ + and r0, r0, r2\n\ + cmp r0, #0\n\ + bne ._1214 @cond_branch\n\ + b ._1248\n\ +._1214:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._1217\n\ + bl sub_80EBDBC\n\ + b ._1248\n\ +._1218:\n\ + .align 2, 0\n\ +._1217:\n\ + .word sub_80EE294+1\n\ +._1190:\n\ + bl sub_80F6AF0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1219 @cond_branch\n\ + b ._1248\n\ +._1219:\n\ + ldr r1, ._1222\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._1221\n\ +._1223:\n\ + .align 2, 0\n\ +._1222:\n\ + .word +0x2000000\n\ +._1191:\n\ + bl sub_8055870\n\ + add r1, r0, #0\n\ + cmp r1, #0\n\ + bne ._1248 @cond_branch\n\ + ldr r0, ._1226\n\ + mov r5, #0xc1\n\ + lsl r5, r5, #0x2\n\ + add r0, r0, r5\n\ + strh r1, [r0]\n\ + b ._1248\n\ +._1227:\n\ + .align 2, 0\n\ +._1226:\n\ + .word +0x2000000\n\ +._1192:\n\ + bl sub_80F3B00\n\ + ldr r1, ._1229\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ +._1221:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._1248\n\ +._1230:\n\ + .align 2, 0\n\ +._1229:\n\ + .word +0x2000000\n\ +._1193:\n\ + bl sub_80F3B58\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1248 @cond_branch\n\ + bl sub_80F1494\n\ + ldr r1, ._1233\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + bl sub_80EED9C\n\ + b ._1248\n\ +._1234:\n\ + .align 2, 0\n\ +._1233:\n\ + .word +0x2000000\n\ +._1194:\n\ + bl sub_80F68E8\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1236 @cond_branch\n\ + cmp r0, #0x1\n\ + bne ._1236 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + bl sub_80F3B94\n\ + ldr r0, ._1238\n\ + mov r5, #0xc1\n\ + lsl r5, r5, #0x2\n\ + add r0, r0, r5\n\ + mov r1, #0x7\n\ + strh r1, [r0]\n\ + b ._1249\n\ +._1239:\n\ + .align 2, 0\n\ +._1238:\n\ + .word +0x2000000\n\ +._1236:\n\ + ldr r0, ._1242\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1248 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + bl sub_80F3B94\n\ + ldr r0, ._1242 + 4\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + mov r1, #0x8\n\ + strh r1, [r0]\n\ + b ._1248\n\ +._1243:\n\ + .align 2, 0\n\ +._1242:\n\ + .word gMain\n\ + .word +0x2000000\n\ +._1195:\n\ + bl sub_80F3BD4\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1248 @cond_branch\n\ + ldr r0, ._1246\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r0, r2\n\ +._1211:\n\ + mov r1, #0x4\n\ + strh r1, [r0]\n\ + b ._1248\n\ +._1247:\n\ + .align 2, 0\n\ +._1246:\n\ + .word +0x2000000\n\ +._1196:\n\ + bl sub_80F3BD4\n\ + lsl r0, r0, #0x18\n\ + lsr r4, r0, #0x18\n\ + cmp r4, #0\n\ + bne ._1248 @cond_branch\n\ + mov r0, #0x5\n\ + bl sub_80EEFBC\n\ + ldr r0, ._1250\n\ + mov r5, #0xc1\n\ + lsl r5, r5, #0x2\n\ + add r0, r0, r5\n\ + strh r4, [r0]\n\ +._1248:\n\ + ldr r0, ._1250 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1249 @cond_branch\n\ + ldr r0, ._1250 + 8\n\ + ldr r1, ._1250 + 12\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x1\n\ + mov r2, #0x4\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._1249:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._1251:\n\ + .align 2, 0\n\ +._1250:\n\ + .word +0x2000000\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else void sub_80EE06C() { switch (ewram0_10.var304) @@ -2417,7 +6785,204 @@ void sub_80EE06C() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EE294() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._1254\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r0, r1, r2\n\ + ldrh r0, [r0]\n\ + add r4, r1, #0\n\ + cmp r0, #0x8\n\ + bls ._1252 @cond_branch\n\ + b ._1288\n\ +._1252:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._1254 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._1255:\n\ + .align 2, 0\n\ +._1254:\n\ + .word +0x2000000\n\ + .word ._1256\n\ +._1256:\n\ + .word ._1257\n\ + .word ._1258\n\ + .word ._1259\n\ + .word ._1260\n\ + .word ._1261\n\ + .word ._1262\n\ + .word ._1263\n\ + .word ._1264\n\ + .word ._1265\n\ +._1257:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r3, #0x10\n\ + b ._1266\n\ +._1258:\n\ + ldr r0, ._1270\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1267 @cond_branch\n\ + b ._1288\n\ +._1267:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + bl sub_80F3C2C\n\ + bl sub_80EEE08\n\ + ldr r1, ._1270 + 4\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1280\n\ +._1271:\n\ + .align 2, 0\n\ +._1270:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ +._1259:\n\ + bl sub_80F6134\n\ + mov r0, #0x1\n\ + bl sub_80F0264\n\ + ldr r1, ._1274\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._1260:\n\ + bl sub_80F02A0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1288 @cond_branch\n\ + ldr r1, ._1274\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1280\n\ +._1275:\n\ + .align 2, 0\n\ +._1274:\n\ + .word +0x2000000\n\ +._1261:\n\ + mov r0, #0x4\n\ + bl sub_80EEFBC\n\ + mov r0, #0x1\n\ + bl sub_80F3008\n\ + ldr r0, ._1277\n\ + bl SetVBlankCallback\n\ + ldr r1, ._1277 + 4\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r1, r2\n\ + b ._1280\n\ +._1278:\n\ + .align 2, 0\n\ +._1277:\n\ + .word sub_80EBD18+1\n\ + .word +0x2000000\n\ +._1262:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._1288 @cond_branch\n\ + ldr r1, ._1281\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1280\n\ +._1282:\n\ + .align 2, 0\n\ +._1281:\n\ + .word +0x2000000\n\ +._1263:\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ +._1266:\n\ + bl BeginNormalPaletteFade\n\ + mov r2, #0xc1\n\ + lsl r2, r2, #0x2\n\ + add r1, r4, r2\n\ +._1280:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._1288\n\ +._1264:\n\ + mov r0, #0x4\n\ + bl sub_80EED2C\n\ + ldr r1, ._1286\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + ldr r0, ._1286 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1288 @cond_branch\n\ + ldr r0, ._1286 + 8\n\ + ldr r2, ._1286 + 12\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ + b ._1288\n\ +._1287:\n\ + .align 2, 0\n\ +._1286:\n\ + .word +0x2000000\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800\n\ +._1265:\n\ + ldr r0, ._1289\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1288 @cond_branch\n\ + ldr r0, ._1289 + 4\n\ + bl sub_80EBDBC\n\ +._1288:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._1290:\n\ + .align 2, 0\n\ +._1289:\n\ + .word gPaletteFade\n\ + .word sub_80EDDBC+1"); +} +#else void sub_80EE294() { switch (ewram0_10.var304) @@ -2468,7 +7033,293 @@ void sub_80EE294() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EE3D8() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._1293\n\ + mov r1, #0xc1\n\ + lsl r1, r1, #0x2\n\ + add r0, r0, r1\n\ + ldrh r0, [r0]\n\ + cmp r0, #0xd\n\ + bls ._1291 @cond_branch\n\ + b ._1354\n\ +._1291:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._1293 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._1294:\n\ + .align 2, 0\n\ +._1293:\n\ + .word +0x2000000\n\ + .word ._1295\n\ +._1295:\n\ + .word ._1296\n\ + .word ._1297\n\ + .word ._1298\n\ + .word ._1299\n\ + .word ._1300\n\ + .word ._1301\n\ + .word ._1302\n\ + .word ._1303\n\ + .word ._1304\n\ + .word ._1305\n\ + .word ._1306\n\ + .word ._1307\n\ + .word ._1308\n\ + .word ._1309\n\ +._1296:\n\ + bl sub_80F1E84\n\ + mov r0, #0x0\n\ + bl sub_80F2D04\n\ + ldr r1, ._1311\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1312:\n\ + .align 2, 0\n\ +._1311:\n\ + .word +0x2000000\n\ +._1297:\n\ + bl sub_80F1F10\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1313 @cond_branch\n\ + b ._1354\n\ +._1313:\n\ + mov r0, #0x9\n\ + bl sub_80EEFBC\n\ + ldr r1, ._1316\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1317:\n\ + .align 2, 0\n\ +._1316:\n\ + .word +0x2000000\n\ +._1298:\n\ + bl sub_80EEF34\n\ + lsl r0, r0, #0x18\n\ + lsr r2, r0, #0x18\n\ + cmp r2, #0\n\ + beq ._1318 @cond_branch\n\ + b ._1354\n\ +._1318:\n\ + ldr r4, ._1321\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + str r2, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + b ._1320\n\ +._1322:\n\ + .align 2, 0\n\ +._1321:\n\ + .word +0x2000000\n\ +._1299:\n\ + ldr r0, ._1326\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1323 @cond_branch\n\ + b ._1354\n\ +._1323:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl sub_80EED0C\n\ + bl sub_80EF814\n\ + bl sub_80EEE08\n\ + ldr r1, ._1326 + 4\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1327:\n\ + .align 2, 0\n\ +._1326:\n\ + .word gPaletteFade\n\ + .word +0x2000000\n\ +._1300:\n\ + bl sub_80F2620\n\ + ldr r1, ._1329\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1330:\n\ + .align 2, 0\n\ +._1329:\n\ + .word +0x2000000\n\ +._1301:\n\ + mov r0, #0x2\n\ + bl sub_80F0264\n\ + ldr r1, ._1334\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._1302:\n\ + bl sub_80F02A0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._1331 @cond_branch\n\ + b ._1354\n\ +._1331:\n\ + ldr r1, ._1334\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1335:\n\ + .align 2, 0\n\ +._1334:\n\ + .word +0x2000000\n\ +._1303:\n\ + mov r0, #0x3\n\ + bl sub_80F2C80\n\ + ldr r1, ._1338\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ +._1304:\n\ + mov r0, #0x3\n\ + bl sub_80F2CBC\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1354 @cond_branch\n\ + ldr r1, ._1338\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1339:\n\ + .align 2, 0\n\ +._1338:\n\ + .word +0x2000000\n\ +._1305:\n\ + mov r0, #0x2\n\ + bl sub_80F3008\n\ + ldr r1, ._1341\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1342:\n\ + .align 2, 0\n\ +._1341:\n\ + .word +0x2000000\n\ +._1306:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._1354 @cond_branch\n\ + ldr r1, ._1345\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + b ._1344\n\ +._1346:\n\ + .align 2, 0\n\ +._1345:\n\ + .word +0x2000000\n\ +._1307:\n\ + bl sub_80F6F10\n\ + ldr r4, ._1348\n\ + mov r1, #0xc2\n\ + lsl r1, r1, #0x2\n\ + add r0, r4, r1\n\ + ldr r0, [r0]\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + mov r2, #0x0\n\ + str r2, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, ._1348 + 4\n\ + bl SetVBlankCallback\n\ +._1320:\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r4, r0\n\ +._1344:\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + b ._1354\n\ +._1349:\n\ + .align 2, 0\n\ +._1348:\n\ + .word +0x2000000\n\ + .word sub_80EBD68+1\n\ +._1308:\n\ + mov r0, #0x5\n\ + bl sub_80EED2C\n\ + ldr r1, ._1352\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r1, r1, r0\n\ + ldrh r0, [r1]\n\ + add r0, r0, #0x1\n\ + strh r0, [r1]\n\ + ldr r0, ._1352 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1354 @cond_branch\n\ + ldr r0, ._1352 + 8\n\ + ldr r2, ._1352 + 12\n\ + mov r1, #0x0\n\ + mov r3, #0x4\n\ + bl debug_sub_8008218\n\ + b ._1354\n\ +._1353:\n\ + .align 2, 0\n\ +._1352:\n\ + .word +0x2000000\n\ + .word gLinkOpen\n\ + .word 0x6007de0\n\ + .word 0x600f800\n\ +._1309:\n\ + ldr r0, ._1355\n\ + ldrb r1, [r0, #0x7]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._1354 @cond_branch\n\ + ldr r0, ._1355 + 4\n\ + bl sub_80EBDBC\n\ +._1354:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._1356:\n\ + .align 2, 0\n\ +._1355:\n\ + .word gPaletteFade\n\ + .word sub_80EE58C+1"); +} +#else void sub_80EE3D8() { switch (ewram0_10.var304) @@ -2544,7 +7395,143 @@ void sub_80EE3D8() break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_80EE58C() +{ + asm("\ + push {r4, r5, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r5, ._1361\n\ + mov r0, #0xc1\n\ + lsl r0, r0, #0x2\n\ + add r4, r5, r0\n\ + ldrh r0, [r4]\n\ + cmp r0, #0x1\n\ + beq ._1357 @cond_branch\n\ + cmp r0, #0x1\n\ + bgt ._1358 @cond_branch\n\ + cmp r0, #0\n\ + beq ._1359 @cond_branch\n\ + b ._1383\n\ +._1362:\n\ + .align 2, 0\n\ +._1361:\n\ + .word +0x2000000\n\ +._1358:\n\ + cmp r0, #0x2\n\ + beq ._1363 @cond_branch\n\ + b ._1383\n\ +._1359:\n\ + bl sub_80F5DD4\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + beq ._1365 @cond_branch\n\ + cmp r0, #0x2\n\ + beq ._1366 @cond_branch\n\ + ldr r0, ._1369\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1367 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._1369 + 4\n\ + bl sub_80EBDBC\n\ + b ._1384\n\ +._1370:\n\ + .align 2, 0\n\ +._1369:\n\ + .word gMain\n\ + .word sub_80EE658+1\n\ +._1365:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r1, ._1372\n\ + add r0, r5, r1\n\ + ldrb r0, [r0]\n\ + bl sub_80F0FFC\n\ + b ._1384\n\ +._1373:\n\ + .align 2, 0\n\ +._1372:\n\ + .word 0x876e\n\ +._1366:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + strh r0, [r4]\n\ + b ._1384\n\ +._1367:\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1383 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldr r0, ._1377\n\ + bl sub_80EBDBC\n\ + b ._1384\n\ +._1378:\n\ + .align 2, 0\n\ +._1377:\n\ + .word sub_80EE8F4+1\n\ +._1357:\n\ + bl sub_80F0718\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._1383 @cond_branch\n\ + ldr r1, ._1381\n\ + add r0, r5, r1\n\ + ldrb r0, [r0]\n\ + bl sub_80F0FFC\n\ + bl sub_80F3264\n\ + ldrh r0, [r4]\n\ + add r0, r0, #0x1\n\ + b ._1380\n\ +._1382:\n\ + .align 2, 0\n\ +._1381:\n\ + .word 0x876e\n\ +._1363:\n\ + bl sub_8055870\n\ + cmp r0, #0\n\ + bne ._1383 @cond_branch\n\ +._1380:\n\ + strh r0, [r4]\n\ +._1383:\n\ + ldr r0, ._1385\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1384 @cond_branch\n\ + ldr r0, ._1385 + 4\n\ + ldr r1, ._1385 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x1\n\ + mov r2, #0x3\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._1384:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._1386:\n\ + .align 2, 0\n\ +._1385:\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else void sub_80EE58C() { switch (ewram0_10.var304) @@ -2588,6 +7575,7 @@ void sub_80EE58C() break; } } +#endif void sub_80EE658() { @@ -3018,6 +8006,108 @@ _080EEC0A:\n\ #endif // var6dad and var6dae must be s8 in this func +#if DEBUG +__attribute__((naked)) +bool8 sub_80EEC10() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._1563\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1559 @cond_branch\n\ + ldr r1, ._1563 + 4\n\ + add r3, r1, #1\n\ + add r2, r1, #5\n\ +._1561:\n\ + ldrb r0, [r1]\n\ + sub r0, r0, #0x1\n\ + strb r0, [r1]\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bge ._1560 @cond_branch\n\ + ldrb r0, [r3]\n\ + sub r0, r0, #0x1\n\ + strb r0, [r1]\n\ +._1560:\n\ + mov r0, #0x0\n\ + ldsb r0, [r1, r0]\n\ + add r0, r0, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._1561 @cond_branch\n\ + mov r0, #0x1\n\ + b ._1568\n\ +._1564:\n\ + .align 2, 0\n\ +._1563:\n\ + .word gMain\n\ + .word +0x2006dad\n\ +._1559:\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1565 @cond_branch\n\ + ldr r1, ._1569\n\ + mov r4, #0x0\n\ + mov r2, #0x1\n\ + ldsb r2, [r1, r2]\n\ + add r3, r1, #5\n\ +._1567:\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + lsl r0, r0, #0x18\n\ + asr r0, r0, #0x18\n\ + cmp r0, r2\n\ + blt ._1566 @cond_branch\n\ + strb r4, [r1]\n\ +._1566:\n\ + mov r0, #0x0\n\ + ldsb r0, [r1, r0]\n\ + add r0, r0, r3\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._1567 @cond_branch\n\ + mov r0, #0x1\n\ + b ._1568\n\ +._1570:\n\ + .align 2, 0\n\ +._1569:\n\ + .word +0x2006dad\n\ +._1565:\n\ + ldr r0, ._1572\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1571 @cond_branch\n\ + ldr r0, ._1572 + 4\n\ + ldr r1, ._1572 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x6\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._1571:\n\ + mov r0, #0x0\n\ +._1568:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1\n\ +._1573:\n\ + .align 2, 0\n\ +._1572:\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else bool8 sub_80EEC10() { if (gMain.newKeys & 0x40) @@ -3040,7 +8130,104 @@ bool8 sub_80EEC10() } return FALSE; } +#endif +#if DEBUG +__attribute__((naked)) +bool8 sub_80EEC90() +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._1577\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + lsl r0, r0, #0x10\n\ + lsr r3, r0, #0x10\n\ + cmp r3, #0\n\ + beq ._1574 @cond_branch\n\ + ldr r2, ._1577 + 4\n\ + ldr r0, ._1577 + 8\n\ + add r1, r2, r0\n\ + ldrb r0, [r1]\n\ + sub r0, r0, #0x1\n\ + strb r0, [r1]\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bge ._1580 @cond_branch\n\ + ldr r3, ._1577 + 12\n\ + add r0, r2, r3\n\ + ldrb r0, [r0]\n\ + sub r0, r0, #0x1\n\ + strb r0, [r1]\n\ + b ._1580\n\ +._1578:\n\ + .align 2, 0\n\ +._1577:\n\ + .word gMain\n\ + .word +0x2000000\n\ + .word 0x6dad\n\ + .word 0x6dae\n\ +._1574:\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._1579 @cond_branch\n\ + ldr r0, ._1582\n\ + ldr r4, ._1582 + 4\n\ + add r2, r0, r4\n\ + ldrb r1, [r2]\n\ + add r1, r1, #0x1\n\ + strb r1, [r2]\n\ + add r4, r4, #0x1\n\ + add r0, r0, r4\n\ + lsl r1, r1, #0x18\n\ + asr r1, r1, #0x18\n\ + ldrb r0, [r0]\n\ + lsl r0, r0, #0x18\n\ + asr r0, r0, #0x18\n\ + cmp r1, r0\n\ + blt ._1580 @cond_branch\n\ + strb r3, [r2]\n\ +._1580:\n\ + mov r0, #0x1\n\ + b ._1581\n\ +._1583:\n\ + .align 2, 0\n\ +._1582:\n\ + .word +0x2000000\n\ + .word 0x6dad\n\ +._1579:\n\ + ldr r0, ._1585\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + bne ._1584 @cond_branch\n\ + ldr r0, ._1585 + 4\n\ + ldr r1, ._1585 + 8\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + mov r1, #0x4\n\ + str r1, [sp]\n\ + mov r1, #0x6\n\ + mov r2, #0xa\n\ + mov r3, #0x2\n\ + bl debug_sub_8008264\n\ +._1584:\n\ + mov r0, #0x0\n\ +._1581:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r1}\n\ + bx r1\n\ +._1586:\n\ + .align 2, 0\n\ +._1585:\n\ + .word gLinkOpen\n\ + .word gLink\n\ + .word 0xfbd"); +} +#else bool8 sub_80EEC90() { if (gMain.newKeys & 0x40) @@ -3057,6 +8244,7 @@ bool8 sub_80EEC90() } return FALSE; } +#endif void sub_80EED0C() { -- cgit v1.2.3 From 9c2f7c88f0d7e57c99d548870e78185e05cc472a Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 13:54:10 -0600 Subject: add more debug code --- src/battle/battle_records.c | 60 ++++++++ src/field/mauville_man.c | 195 ------------------------- src/pokemon/mail.c | 199 +++++++++++++++++++++++++ src/scene/cute_sketch.c | 344 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 603 insertions(+), 195 deletions(-) (limited to 'src') diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index 17e2352ff..4fce958fa 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -223,6 +223,66 @@ void UpdateLinkBattleRecords(int id) gLinkPlayers[gLinkPlayerMapObjects[id].linkPlayerId].language); } +#if DEBUG +__attribute__((naked)) +void debug_sub_81257E0(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + add sp, sp, #0xfffffffc\n\ + bl InitLinkBattleRecords\n\ + mov r5, #0x0\n\ + ldr r6, ._62\n\ + sub r0, r6, #2\n\ + mov r8, r0\n\ + ldr r7, ._62 + 4\n\ +._61:\n\ + ldr r0, ._62 + 8\n\ + lsl r3, r5, #0x2\n\ + add r3, r3, r0\n\ + ldrb r4, [r3]\n\ + sub r4, r4, #0x1\n\ + lsl r0, r4, #0x1\n\ + add r0, r0, r4\n\ + lsl r0, r0, #0x2\n\ + add r1, r0, r6\n\ + add r0, r0, r8\n\ + ldrh r2, [r0]\n\ + ldrb r3, [r3, #0x1]\n\ + ldr r0, ._62 + 12\n\ + lsl r4, r4, #0x2\n\ + add r4, r4, r0\n\ + ldrb r4, [r4, #0x1]\n\ + lsl r0, r4, #0x3\n\ + sub r0, r0, r4\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r7\n\ + ldrb r0, [r0, #0x1a]\n\ + str r0, [sp]\n\ + ldr r0, ._62 + 16\n\ + bl UpdateLinkBattleRecords_\n\ + add r5, r5, #0x1\n\ + cmp r5, #0x2\n\ + bls ._61 @cond_branch\n\ + add sp, sp, #0x4\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._63:\n\ + .align 2, 0\n\ +._62:\n\ + .word gUnknown_083F8410+0xa\n\ + .word gLinkPlayers\n\ + .word gUnknown_083F8410+0x5c\n\ + .word gLinkPlayerMapObjects\n\ + .word gSaveBlock1+0x30b8"); +} +#endif + static void PrintLinkBattleWinsLossesDraws(struct LinkBattleRecord *records) { ConvertIntToDecimalStringN_DigitWidth6(gStringVar1, GetGameStat(GAME_STAT_LINK_BATTLE_WINS), STR_CONV_MODE_RIGHT_ALIGN, 4); diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index 144c0235a..e41ea1628 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -1392,198 +1392,3 @@ bool8 ScrSpecial_StorytellerInitializeRandomStat(void) { return StorytellerInitializeRandomStat(); } - -#if DEBUG -__attribute__((naked)) -void This_is_not_HandleReadMail() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " add r6, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " ldr r0, .__3\n" - " ldrb r3, [r0]\n" - " cmp r3, #0\n" - " beq .__1 @cond_branch\n" - " ldr r2, .__3 + 4\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r0, .__3 + 8\n" - " ldrh r1, [r0]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r0, r2, r3\n" - " strb r1, [r0]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__3 + 12\n" - " str r0, [r1]\n" - " add r3, r3, #0x8\n" - " add r1, r2, r3\n" - " ldr r0, .__3 + 16\n" - " str r0, [r1]\n" - " ldr r0, .__3 + 20\n" - " ldrh r1, [r0]\n" - " b .__2\n" - ".__4:\n" - " .align 2, 0\n" - ".__3:\n" - " .word gUnknown_03000748+0x4\n" - " .word +0x2000000\n" - " .word gSpecialVar_0x8004\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - " .word gSpecialVar_0x8006\n" - ".__1:\n" - " ldr r2, .__7\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " add r0, r0, #0xfb\n" - " add r1, r2, r0\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__7 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__7 + 8\n" - " str r0, [r1]\n" - " ldrh r1, [r4, #0x20]\n" - " add r0, r1, #0\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi .__5 @cond_branch\n" - " sub r1, r1, #0x79\n" - ".__2:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r1, [r0]\n" - " b .__6\n" - ".__8:\n" - " .align 2, 0\n" - ".__7:\n" - " .word +0x2000000\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - ".__5:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r3, [r0]\n" - " mov r5, #0x0\n" - ".__6:\n" - " ldr r1, .__12\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq .__9 @cond_branch\n" - " cmp r0, #0x1\n" - " beq .__10 @cond_branch\n" - ".__9:\n" - " mov r3, #0x86\n" - " lsl r3, r3, #0x1\n" - " add r2, r1, r3\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, .__12 + 4\n" - " b .__11\n" - ".__13:\n" - " .align 2, 0\n" - ".__12:\n" - " .word +0x2000000\n" - " .word gUnknown_083E5730\n" - ".__10:\n" - " mov r0, #0x86\n" - " lsl r0, r0, #0x1\n" - " add r2, r1, r0\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, .__18\n" - ".__11:\n" - " add r0, r0, r1\n" - " str r0, [r2]\n" - " ldrh r0, [r4, #0x1e]\n" - " mov r1, sp\n" - " bl MailSpeciesToSpecies\n" - " lsl r0, r0, #0x10\n" - " ldr r1, .__18 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xcd\n" - " lsl r1, r1, #0x11\n" - " cmp r0, r1\n" - " bhi .__14 @cond_branch\n" - " ldr r0, .__18 + 8\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfa\n" - " ldrb r2, [r1]\n" - " add r1, r0, #0\n" - " cmp r2, #0x6\n" - " beq .__15 @cond_branch\n" - " cmp r2, #0x9\n" - " beq .__16 @cond_branch\n" - " b .__17\n" - ".__19:\n" - " .align 2, 0\n" - ".__18:\n" - " .word gUnknown_083E57A4\n" - " .word 0xffff0000\n" - " .word +0x2000000\n" - ".__15:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x1\n" - " b .__21\n" - ".__16:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x2\n" - " b .__21\n" - ".__14:\n" - " ldr r1, .__22\n" - ".__17:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x0\n" - ".__21:\n" - " strb r0, [r2]\n" - " add r0, r1, #0\n" - " add r0, r0, #0xf4\n" - " str r4, [r0]\n" - " sub r0, r0, #0x8\n" - " str r6, [r0]\n" - " add r0, r0, #0xc\n" - " strb r5, [r0]\n" - " ldr r0, .__22 + 4\n" - " bl SetMainCallback2\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - ".__23:\n" - " .align 2, 0\n" - ".__22:\n" - " .word +0x2000000\n" - " .word sub_80F8D50+1\n" - "\n" - ); -} -#endif diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 6e03958e6..1ad8d8376 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -327,6 +327,204 @@ static void sub_80F8F58(void); static void sub_80F8F78(void); static void sub_80F8FB4(void); +// some debug variable, I guess. +// TODO: where exactly is this located? +__attribute__((section(".bss"))) /*static*/ u8 gUnknown_0300074C = 0; + +#if DEBUG +__attribute__((naked)) +void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) +{ + asm( + " push {r4, r5, r6, lr}\n" + " add sp, sp, #0xfffffffc\n" + " add r4, r0, #0\n" + " add r6, r1, #0\n" + " lsl r2, r2, #0x18\n" + " lsr r5, r2, #0x18\n" + " ldr r0, .__3\n" + " ldrb r3, [r0]\n" + " cmp r3, #0\n" + " beq .__1 @cond_branch\n" + " ldr r2, .__3 + 4\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " ldr r0, .__3 + 8\n" + " ldrh r1, [r0]\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x1\n" + " add r0, r2, r3\n" + " strb r1, [r0]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__3 + 12\n" + " str r0, [r1]\n" + " add r3, r3, #0x8\n" + " add r1, r2, r3\n" + " ldr r0, .__3 + 16\n" + " str r0, [r1]\n" + " ldr r0, .__3 + 20\n" + " ldrh r1, [r0]\n" + " b .__2\n" + ".__4:\n" + " .align 2, 0\n" + ".__3:\n" + " .word gUnknown_0300074C\n" + " .word +0x2000000\n" + " .word gSpecialVar_0x8004\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + " .word gSpecialVar_0x8006\n" + ".__1:\n" + " ldr r2, .__7\n" + " add r1, r2, #0\n" + " add r1, r1, #0xff\n" + " mov r0, #0x5\n" + " strb r0, [r1]\n" + " add r0, r0, #0xfb\n" + " add r1, r2, r0\n" + " mov r0, #0x1\n" + " strb r0, [r1]\n" + " mov r0, #0x82\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 4\n" + " str r0, [r1]\n" + " mov r0, #0x84\n" + " lsl r0, r0, #0x1\n" + " add r1, r2, r0\n" + " ldr r0, .__7 + 8\n" + " str r0, [r1]\n" + " ldrh r1, [r4, #0x20]\n" + " add r0, r1, #0\n" + " sub r0, r0, #0x79\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, #0xb\n" + " bhi .__5 @cond_branch\n" + " sub r1, r1, #0x79\n" + ".__2:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r1, [r0]\n" + " b .__6\n" + ".__8:\n" + " .align 2, 0\n" + ".__7:\n" + " .word +0x2000000\n" + " .word EasyChat_GetWordText+1\n" + " .word ConvertEasyChatWordsToString+1\n" + ".__5:\n" + " add r0, r2, #0\n" + " add r0, r0, #0xfa\n" + " strb r3, [r0]\n" + " mov r5, #0x0\n" + ".__6:\n" + " ldr r1, .__12\n" + " mov r2, #0x80\n" + " lsl r2, r2, #0x1\n" + " add r0, r1, r2\n" + " ldrb r0, [r0]\n" + " cmp r0, #0\n" + " beq .__9 @cond_branch\n" + " cmp r0, #0x1\n" + " beq .__10 @cond_branch\n" + ".__9:\n" + " mov r3, #0x86\n" + " lsl r3, r3, #0x1\n" + " add r2, r1, r3\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__12 + 4\n" + " b .__11\n" + ".__13:\n" + " .align 2, 0\n" + ".__12:\n" + " .word +0x2000000\n" + " .word gUnknown_083E5730\n" + ".__10:\n" + " mov r0, #0x86\n" + " lsl r0, r0, #0x1\n" + " add r2, r1, r0\n" + " add r0, r1, #0\n" + " add r0, r0, #0xfa\n" + " ldrb r0, [r0]\n" + " lsl r0, r0, #0x3\n" + " ldr r1, .__18\n" + ".__11:\n" + " add r0, r0, r1\n" + " str r0, [r2]\n" + " ldrh r0, [r4, #0x1e]\n" + " mov r1, sp\n" + " bl MailSpeciesToSpecies\n" + " lsl r0, r0, #0x10\n" + " ldr r1, .__18 + 4\n" + " add r0, r0, r1\n" + " mov r1, #0xcd\n" + " lsl r1, r1, #0x11\n" + " cmp r0, r1\n" + " bhi .__14 @cond_branch\n" + " ldr r0, .__18 + 8\n" + " add r1, r0, #0\n" + " add r1, r1, #0xfa\n" + " ldrb r2, [r1]\n" + " add r1, r0, #0\n" + " cmp r2, #0x6\n" + " beq .__15 @cond_branch\n" + " cmp r2, #0x9\n" + " beq .__16 @cond_branch\n" + " b .__17\n" + ".__19:\n" + " .align 2, 0\n" + ".__18:\n" + " .word gUnknown_083E57A4\n" + " .word 0xffff0000\n" + " .word +0x2000000\n" + ".__15:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x1\n" + " b .__21\n" + ".__16:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x2\n" + " b .__21\n" + ".__14:\n" + " ldr r1, .__22\n" + ".__17:\n" + " add r2, r1, #0\n" + " add r2, r2, #0xfb\n" + " mov r0, #0x0\n" + ".__21:\n" + " strb r0, [r2]\n" + " add r0, r1, #0\n" + " add r0, r0, #0xf4\n" + " str r4, [r0]\n" + " sub r0, r0, #0x8\n" + " str r6, [r0]\n" + " add r0, r0, #0xc\n" + " strb r5, [r0]\n" + " ldr r0, .__22 + 4\n" + " bl SetMainCallback2\n" + " add sp, sp, #0x4\n" + " pop {r4, r5, r6}\n" + " pop {r0}\n" + " bx r0\n" + ".__23:\n" + " .align 2, 0\n" + ".__22:\n" + " .word +0x2000000\n" + " .word sub_80F8D50+1\n" + "\n" + ); +} +#else void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { u16 mailDesign; @@ -390,6 +588,7 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) SetMainCallback2(sub_80F8D50); } +#endif #define RETURN_UP_STATE break #define RETURN_SKIP_STATE return FALSE diff --git a/src/scene/cute_sketch.c b/src/scene/cute_sketch.c index 5317bc334..c4d9463f5 100644 --- a/src/scene/cute_sketch.c +++ b/src/scene/cute_sketch.c @@ -29,6 +29,350 @@ void sub_80FD1C8(u16); u16 sub_80FD39C(u16*); u16 sub_80FD68C(u16*, u16*, u16*); +#if DEBUG + +__attribute__((naked)) +void debug_sub_8110CCC(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, #0x0\n\ + mov r1, #0x0\n\ + ldr r2, ._5\n\ + ldr r6, ._5 + 4\n\ +._7:\n\ + lsl r0, r1, #0x3\n\ + add r4, r0, r2\n\ + ldrh r0, [r6, #0x1c]\n\ + ldrh r3, [r4, #0x4]\n\ + cmp r0, r3\n\ + bne ._1 @cond_branch\n\ + ldrh r0, [r4, #0x6]\n\ + bl FlagGet\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._4 @cond_branch\n\ + ldrb r0, [r6, #0x1f]\n\ + ldr r1, [r4]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + bl StringLength\n\ + mov r1, #0xc\n\ + sub r1, r1, r0\n\ + lsl r1, r1, #0x10\n\ + lsr r5, r1, #0x10\n\ + cmp r1, #0\n\ + bge ._3 @cond_branch\n\ + mov r5, #0x0\n\ +._3:\n\ + mov r7, #0x1\n\ + mov r0, #0x10\n\ + mov r1, #0xe\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl Menu_DrawStdWindowFrame\n\ + add r0, r6, #0\n\ + add r0, r0, #0x8\n\ + mov r1, #0x11\n\ + mov r2, #0xf\n\ + bl Menu_PrintText\n\ + ldrb r0, [r6, #0x1f]\n\ + ldr r1, [r4]\n\ + lsl r0, r0, #0x2\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + add r1, r5, #0\n\ + add r1, r1, #0x11\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + mov r2, #0x11\n\ + bl Menu_PrintText\n\ + b ._4\n\ +._6:\n\ + .align 2, 0\n\ +._5:\n\ + .word gUnknown_083E79C0\n\ + .word +0x2000000\n\ +._1:\n\ + add r0, r1, #1\n\ + lsl r0, r0, #0x10\n\ + lsr r1, r0, #0x10\n\ + cmp r1, #0\n\ + beq ._7 @cond_branch\n\ +._4:\n\ + cmp r7, #0\n\ + bne ._8 @cond_branch\n\ + mov r0, #0x10\n\ + mov r1, #0x10\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl Menu_DrawStdWindowFrame\n\ + ldr r0, ._9\n\ + mov r1, #0x11\n\ + mov r2, #0x11\n\ + bl Menu_PrintText\n\ + mov r0, #0x10\n\ + mov r1, #0xe\n\ + mov r2, #0x1d\n\ + mov r3, #0xf\n\ + bl Menu_EraseWindowRect\n\ +._8:\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._10:\n\ + .align 2, 0\n\ +._9:\n\ + .word +0x2000008"); +} + +__attribute__((naked)) +void debug_sub_8110D84(void) +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._13\n\ + ldrh r0, [r0, #0x4]\n\ + cmp r0, #0x7\n\ + bls ._11 @cond_branch\n\ + b ._65\n\ +._11:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._13 + 4\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._14:\n\ + .align 2, 0\n\ +._13:\n\ + .word +0x2000000\n\ + .word ._15\n\ +._15:\n\ + .word ._16\n\ + .word ._17\n\ + .word ._18\n\ + .word ._19\n\ + .word ._20\n\ + .word ._21\n\ + .word ._22\n\ + .word ._23\n\ +._16:\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginNormalPaletteFade\n\ + ldr r1, ._25\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._26:\n\ + .align 2, 0\n\ +._25:\n\ + .word +0x2000000\n\ +._17:\n\ + bl UpdatePaletteFade\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._27 @cond_branch\n\ + b ._65\n\ +._27:\n\ + ldr r1, ._30\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._31:\n\ + .align 2, 0\n\ +._30:\n\ + .word +0x2000000\n\ +._18:\n\ + bl sub_80FAB60\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x3\n\ + beq ._32 @cond_branch\n\ + cmp r0, #0x3\n\ + bgt ._33 @cond_branch\n\ + b ._65\n\ +._33:\n\ + cmp r0, #0x4\n\ + beq ._35 @cond_branch\n\ + cmp r0, #0x5\n\ + beq ._36 @cond_branch\n\ + b ._65\n\ +._35:\n\ + ldr r4, ._41\n\ + ldrb r0, [r4, #0x1e]\n\ + cmp r0, #0\n\ + bne ._38 @cond_branch\n\ + b ._65\n\ +._38:\n\ + mov r0, #0x5\n\ + bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + ldr r1, ._41 + 4\n\ + add r0, r4, r1\n\ + mov r1, #0x1\n\ + strb r1, [r0]\n\ + ldr r0, ._41 + 8\n\ + bl sub_80FC244\n\ + b ._65\n\ +._42:\n\ + .align 2, 0\n\ +._41:\n\ + .word +0x2000000\n\ + .word 0xa6e\n\ + .word sub_80FC69C+1\n\ +._36:\n\ + mov r0, #0x5\n\ + bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + mov r0, #0x1\n\ + neg r0, r0\n\ + mov r1, #0x0\n\ + str r1, [sp]\n\ + mov r2, #0x0\n\ + mov r3, #0x10\n\ + bl BeginNormalPaletteFade\n\ + ldr r1, ._44\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._45:\n\ + .align 2, 0\n\ +._44:\n\ + .word +0x2000000\n\ +._19:\n\ + bl UpdatePaletteFade\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._65 @cond_branch\n\ + ldr r0, ._48\n\ + bl SetMainCallback2\n\ + b ._65\n\ +._49:\n\ + .align 2, 0\n\ +._48:\n\ + .word sub_805469C+1\n\ +._20:\n\ + bl sub_80FAB60\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._50 @cond_branch\n\ +._32:\n\ + bl debug_sub_8110CCC\n\ + b ._65\n\ +._50:\n\ + ldr r0, ._54\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._65 @cond_branch\n\ + bl sub_80FBCA0\n\ + bl sub_80FAEC4\n\ + ldr r1, ._54 + 4\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._55:\n\ + .align 2, 0\n\ +._54:\n\ + .word gMain\n\ + .word +0x2000000\n\ +._21:\n\ + bl sub_80FAFC0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._65 @cond_branch\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl CreateRegionMapCursor\n\ + ldr r1, ._58\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._59:\n\ + .align 2, 0\n\ +._58:\n\ + .word +0x2000000\n\ +._22:\n\ + bl sub_80FAB60\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._60 @cond_branch\n\ + bl debug_sub_8110CCC\n\ +._60:\n\ + ldr r0, ._63\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._65 @cond_branch\n\ + bl sub_80FBCA0\n\ + bl sub_80FAEC4\n\ + ldr r1, ._63 + 4\n\ + ldrh r0, [r1, #0x4]\n\ + add r0, r0, #0x1\n\ + b ._62\n\ +._64:\n\ + .align 2, 0\n\ +._63:\n\ + .word gMain\n\ + .word +0x2000000\n\ +._23:\n\ + bl sub_80FAFC0\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._65 @cond_branch\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + bl CreateRegionMapCursor\n\ + ldr r1, ._66\n\ + mov r0, #0x3\n\ +._62:\n\ + strh r0, [r1, #0x4]\n\ +._65:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._67:\n\ + .align 2, 0\n\ +._66:\n\ + .word +0x2000000"); +} + +__attribute__((naked)) +void debug_sub_8110F28(void) +{ + asm("\ + push {lr}\n\ + bl CB2_InitFlyRegionMap\n\ + ldr r0, ._69\n\ + ldr r1, [r0, #0x4]\n\ + ldr r0, ._69 + 4\n\ + cmp r1, r0\n\ + bne ._68 @cond_branch\n\ + bl sub_80FBF94\n\ + ldr r0, ._69 + 8\n\ + bl sub_80FC244\n\ + bl debug_sub_8110CCC\n\ +._68:\n\ + pop {r0}\n\ + bx r0\n\ +._70:\n\ + .align 2, 0\n\ +._69:\n\ + .word gMain\n\ + .word CB2_FlyRegionMap+1\n\ + .word debug_sub_8110D84+1"); +} + +#endif + void sub_80FC7A0(struct Unk03005E20* info) { gUnknown_03005DEC = info->var_4; -- cgit v1.2.3 From 8d14b68921bf5a355e71031a9311125af114cbfe Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 14:30:07 -0600 Subject: add more debug code --- src/engine/save.c | 10 +- src/roulette.c | 1093 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1101 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/engine/save.c b/src/engine/save.c index a9945a80d..de5fd2846 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -783,13 +783,21 @@ u8 Save_WriteDataInternal(u8 saveType) return 0; } +#ifdef DEBUG +extern u32 gUnknown_Debug_03004BD0; +#endif + u8 Save_WriteData(u8 saveType) // TrySave { if (gFlashMemoryPresent != TRUE) return SAVE_STATUS_ERROR; Save_WriteDataInternal(saveType); - if (!gDamagedSaveSectors) + if (!gDamagedSaveSectors +#ifdef DEBUG + && gUnknown_Debug_03004BD0 == 0 +#endif + ) return SAVE_STATUS_OK; DoSaveFailedScreen(saveType); diff --git a/src/roulette.c b/src/roulette.c index ce95bc1c9..240ca11fa 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -131,6 +131,12 @@ struct StructgUnknown_083F8D90 u32 var04; }; +#if DEBUG +u8 gUnknown_Debug_03005FB8; +#endif + +#define static + static void sub_81150FC(void); static void sub_8115124(void); static void sub_8115238(void); @@ -573,6 +579,305 @@ void sub_8115238(void) } #endif +#if DEBUG +__attribute__((naked)) +void sub_8115384(void) +{ + asm("\ + push {r4, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r1, ._35\n\ + ldr r0, ._35 + 4\n\ + str r0, [r1]\n\ + ldr r1, ._35 + 8\n\ + ldr r2, ._35 + 12\n\ + add r0, r1, r2\n\ + ldrb r0, [r0]\n\ + add r2, r1, #0\n\ + cmp r0, #0x7\n\ + bls ._33 @cond_branch\n\ + b ._64\n\ +._33:\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._35 + 16\n\ + add r0, r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ +._36:\n\ + .align 2, 0\n\ +._35:\n\ + .word gUnknown_Debug_03005FB8\n\ + .word +0x2019000\n\ + .word gMain\n\ + .word 0x43c\n\ + .word ._37\n\ +._37:\n\ + .word ._38\n\ + .word ._39\n\ + .word ._40\n\ + .word ._41\n\ + .word ._42\n\ + .word ._43\n\ + .word ._44\n\ + .word ._45\n\ +._38:\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + bl ScanlineEffect_Stop\n\ + bl sub_80F9438\n\ + bl sub_80F9368\n\ + ldr r1, ._47\n\ + ldr r3, ._47 + 4\n\ + add r0, r3, #0\n\ + strh r0, [r1]\n\ + sub r1, r1, #0x2\n\ + ldr r2, ._47 + 8\n\ + add r0, r2, #0\n\ + strh r0, [r1]\n\ + add r1, r1, #0x46\n\ + mov r3, #0x90\n\ + lsl r3, r3, #0x6\n\ + add r0, r3, #0\n\ + strh r0, [r1]\n\ + add r1, r1, #0x2\n\ + ldr r2, ._47 + 12\n\ + add r0, r2, #0\n\ + strh r0, [r1]\n\ + ldr r0, ._47 + 16\n\ + mov r1, #0xc0\n\ + lsl r1, r1, #0x13\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cb8\n\ + ldr r0, ._47 + 20\n\ + ldr r1, ._47 + 24\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cb8\n\ + ldr r1, ._47 + 28\n\ + ldr r3, ._47 + 32\n\ + add r1, r1, r3\n\ + b ._61\n\ +._48:\n\ + .align 2, 0\n\ +._47:\n\ + .word 0x400000c\n\ + .word 0x4686\n\ + .word 0x4401\n\ + .word 0x60a\n\ + .word gUnknown_08E8096C\n\ + .word gRouletteWheelTiles\n\ + .word 0x6004000\n\ + .word gMain\n\ + .word 0x43c\n\ +._39:\n\ + bl ResetPaletteFade\n\ + bl ResetSpriteData\n\ + bl ResetTasks\n\ + ldr r1, ._50\n\ + ldr r0, ._50 + 4\n\ + add r1, r1, r0\n\ + b ._61\n\ +._51:\n\ + .align 2, 0\n\ +._50:\n\ + .word gMain\n\ + .word 0x43c\n\ +._40:\n\ + ldr r0, ._53\n\ + bl Text_LoadWindowTemplate\n\ + ldr r0, ._53 + 4\n\ + bl InitMenuWindow\n\ + ldr r0, ._53 + 8\n\ + mov r2, #0xe0\n\ + lsl r2, r2, #0x1\n\ + mov r1, #0x0\n\ + bl LoadPalette\n\ + ldr r1, ._53 + 12\n\ + ldr r2, ._53 + 16\n\ + add r1, r1, r2\n\ + b ._61\n\ +._54:\n\ + .align 2, 0\n\ +._53:\n\ + .word gWindowTemplate_81E6C3C\n\ + .word gWindowTemplate_81E6CE4\n\ + .word gUnknown_083F86BC\n\ + .word gMain\n\ + .word 0x43c\n\ +._41:\n\ + bl sub_8115238\n\ + bl sub_80F9020\n\ + ldr r0, ._56\n\ + ldr r1, ._56 + 4\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cbc\n\ + ldr r0, ._56 + 8\n\ + ldr r1, ._56 + 12\n\ + bl gMysteryEventScriptCmdTableEnd+0x3cb8\n\ + ldr r1, ._56 + 16\n\ + ldr r3, ._56 + 20\n\ + add r1, r1, r3\n\ + b ._61\n\ +._57:\n\ + .align 2, 0\n\ +._56:\n\ + .word gUnknown_083F88BC\n\ + .word +0x2018800\n\ + .word gUnknown_083F8A60\n\ + .word 0x6003000\n\ + .word gMain\n\ + .word 0x43c\n\ +._42:\n\ + mov r0, #0x0\n\ + bl sub_8117838\n\ + bl sub_811857C\n\ + bl sub_81184D8\n\ + bl sub_8117F2C\n\ + bl sub_8117900\n\ + bl sub_8117BBC\n\ + bl sub_8117DF4\n\ + ldr r1, ._59\n\ + ldr r0, ._59 + 4\n\ + add r1, r1, r0\n\ + b ._61\n\ +._60:\n\ + .align 2, 0\n\ +._59:\n\ + .word gMain\n\ + .word 0x43c\n\ +._43:\n\ + bl AnimateSprites\n\ + bl BuildOamBuffer\n\ + ldr r0, ._62\n\ + ldr r1, ._62 + 4\n\ + add r0, r0, r1\n\ + ldrh r0, [r0]\n\ + bl sub_81180F4\n\ + mov r0, #0x6\n\ + bl sub_81182F8\n\ + mov r0, #0x0\n\ + bl sub_811829C\n\ + mov r0, #0x0\n\ + bl sub_8117158\n\ + mov r0, #0x0\n\ + mov r1, #0xe\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl Menu_DrawStdWindowFrame\n\ + ldr r0, ._62 + 8\n\ + mov r1, #0x1\n\ + mov r2, #0xf\n\ + bl Menu_PrintText\n\ + ldr r1, ._62 + 12\n\ + mov r2, #0x3c\n\ + neg r2, r2\n\ + add r0, r2, #0\n\ + strh r0, [r1]\n\ + ldr r1, ._62 + 16\n\ + mov r0, #0x0\n\ + strh r0, [r1]\n\ + ldr r1, ._62 + 20\n\ + ldr r3, ._62 + 24\n\ + add r1, r1, r3\n\ + b ._61\n\ +._63:\n\ + .align 2, 0\n\ +._62:\n\ + .word gSaveBlock1\n\ + .word 0x494\n\ + .word gUnknown_081C4157\n\ + .word gSpriteCoordOffsetX\n\ + .word gSpriteCoordOffsetY\n\ + .word gMain\n\ + .word 0x43c\n\ +._44:\n\ + mov r1, #0x80\n\ + lsl r1, r1, #0x13\n\ + ldr r3, ._65\n\ + add r0, r3, #0\n\ + strh r0, [r1]\n\ + ldr r0, ._65 + 4\n\ + add r1, r2, r0\n\ +._61:\n\ + ldrb r0, [r1]\n\ + add r0, r0, #0x1\n\ + strb r0, [r1]\n\ + b ._64\n\ +._66:\n\ + .align 2, 0\n\ +._65:\n\ + .word 0x1741\n\ + .word 0x43c\n\ +._45:\n\ + ldr r3, ._67\n\ + ldrh r2, [r3]\n\ + mov r0, #0x0\n\ + strh r0, [r3]\n\ + ldr r4, ._67 + 4\n\ + ldrh r0, [r4]\n\ + mov r1, #0x1\n\ + orr r0, r0, r1\n\ + strh r0, [r4]\n\ + strh r2, [r3]\n\ + ldr r2, ._67 + 8\n\ + ldrh r0, [r2]\n\ + mov r1, #0x8\n\ + orr r0, r0, r1\n\ + strh r0, [r2]\n\ + ldr r0, ._67 + 12\n\ + bl SetVBlankCallback\n\ + mov r0, #0x1\n\ + str r0, [sp]\n\ + mov r0, #0xff\n\ + mov r1, #0x0\n\ + mov r2, #0x10\n\ + mov r3, #0x0\n\ + bl BeginHardwarePaletteFade\n\ + ldr r0, ._67 + 16\n\ + mov r1, #0x0\n\ + bl CreateTask\n\ + ldr r4, ._67 + 20\n\ + add r1, r4, #0\n\ + add r1, r1, #0xa4\n\ + strb r0, [r1]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r2, ._67 + 24\n\ + lsl r1, r0, #0x2\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r2\n\ + mov r0, #0x6\n\ + strh r0, [r1, #0x14]\n\ + ldr r0, ._67 + 28\n\ + ldr r2, ._67 + 32\n\ + add r0, r0, r2\n\ + ldrh r0, [r0]\n\ + strh r0, [r1, #0x22]\n\ + ldr r0, ._67 + 36\n\ + mov r1, #0x1\n\ + bl CreateTask\n\ + add r4, r4, #0xa5\n\ + strb r0, [r4]\n\ + ldr r0, ._67 + 40\n\ + bl SetMainCallback2\n\ +._64:\n\ + add sp, sp, #0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ +._68:\n\ + .align 2, 0\n\ +._67:\n\ + .word 0x4000208\n\ + .word 0x4000200\n\ + .word 0x4000004\n\ + .word sub_8115124+1\n\ + .word sub_81156BC+1\n\ + .word +0x2019000\n\ + .word gTasks\n\ + .word gSaveBlock1\n\ + .word 0x494\n\ + .word sub_8115634+1\n\ + .word sub_81150FC+1"); +} +#else void sub_8115384(void) { u32 temp_IME; @@ -654,7 +959,120 @@ void sub_8115384(void) break; } } +#endif +#if DEBUG +__attribute__((naked)) +void sub_8115634(u8 unused) +{ + asm("\ + push {r4, r5, r6, lr}\n\ + ldr r0, ._75\n\ + add r3, r0, #0\n\ + add r3, r3, #0x21\n\ + ldrb r1, [r3]\n\ + add r2, r1, #1\n\ + strb r2, [r3]\n\ + add r2, r0, #0\n\ + add r2, r2, #0x23\n\ + lsl r1, r1, #0x18\n\ + lsr r1, r1, #0x18\n\ + add r6, r0, #0\n\ + ldrb r2, [r2]\n\ + cmp r1, r2\n\ + bne ._70 @cond_branch\n\ + mov r0, #0x0\n\ + strb r0, [r3]\n\ + add r2, r6, #0\n\ + add r2, r2, #0x22\n\ + ldrb r1, [r2]\n\ + ldrh r0, [r6, #0x24]\n\ + sub r0, r0, r1\n\ + strh r0, [r6, #0x24]\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + bge ._70 @cond_branch\n\ + ldrb r1, [r2]\n\ + mov r2, #0xb4\n\ + lsl r2, r2, #0x1\n\ + add r0, r2, #0\n\ + sub r0, r0, r1\n\ + strh r0, [r6, #0x24]\n\ +._70:\n\ + add r4, r6, #0\n\ + ldrh r0, [r4, #0x24]\n\ + bl Sin2\n\ + lsl r0, r0, #0x10\n\ + lsr r5, r0, #0x10\n\ + ldrh r0, [r4, #0x24]\n\ + bl Cos2\n\ + lsl r0, r0, #0x10\n\ + lsr r1, r0, #0x10\n\ + lsl r0, r5, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0\n\ + bge ._71 @cond_branch\n\ + add r0, r0, #0xf\n\ +._71:\n\ + lsl r0, r0, #0xc\n\ + lsr r5, r0, #0x10\n\ + lsl r0, r1, #0x10\n\ + asr r0, r0, #0x10\n\ + cmp r0, #0\n\ + bge ._72 @cond_branch\n\ + add r0, r0, #0xf\n\ +._72:\n\ + asr r0, r0, #0x4\n\ + strh r0, [r6, #0x32]\n\ + strh r0, [r6, #0x2c]\n\ + strh r5, [r6, #0x2e]\n\ + lsl r0, r5, #0x10\n\ + asr r0, r0, #0x10\n\ + neg r0, r0\n\ + strh r0, [r6, #0x30]\n\ + ldr r0, ._75 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._74 @cond_branch\n\ + ldr r0, ._75 + 8\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._74 @cond_branch\n\ + ldr r2, ._75 + 12\n\ + add r0, r6, #0\n\ + add r0, r0, #0xa4\n\ + ldrb r1, [r0]\n\ + lsl r0, r1, #0x2\n\ + add r0, r0, r1\n\ + lsl r0, r0, #0x3\n\ + add r0, r0, r2\n\ + ldr r1, ._75 + 16\n\ + str r1, [r0]\n\ + ldr r0, ._75 + 20\n\ + bl gMysteryEventScriptCmdTableEnd+0x1c08\n\ + ldr r0, ._75 + 24\n\ + bl gMysteryEventScriptCmdTableEnd+0x1c08\n\ + ldr r0, ._75 + 28\n\ + bl gMysteryEventScriptCmdTableEnd+0x1c08\n\ +._74:\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._76:\n\ + .align 2, 0\n\ +._75:\n\ + .word +0x2019000\n\ + .word unk_203955C\n\ + .word gMain\n\ + .word gTasks\n\ + .word sub_81157AC+1\n\ + .word gMPlay_SE1\n\ + .word gMPlay_SE2\n\ + .word gMPlay_SE3"); +} +#else void sub_8115634(u8 unused) { s16 sin; @@ -675,6 +1093,7 @@ void sub_8115634(u8 unused) eRoulette->var2C.b = sin; eRoulette->var2C.c = -sin; } +#endif void sub_81156BC(u8 taskid) { @@ -1596,7 +2015,69 @@ void sub_8116AB0(u8 taskid) gTasks[taskid].func = &sub_8116B40; } -void sub_8116B40(u8 taskid) // end oulette ? +#if DEBUG +__attribute__((naked)) +void sub_8116B40(u8 taskid) // end roulette ? +{ + asm("\ + push {r4, r5, r6, lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r6, r0, #0x18\n\ + bl UpdatePaletteFade\n\ + lsl r0, r0, #0x18\n\ + lsr r5, r0, #0x18\n\ + cmp r5, #0\n\ + bne ._380 @cond_branch\n\ + mov r0, #0x0\n\ + bl SetVBlankCallback\n\ + ldr r0, ._381\n\ + mov r2, #0xbe\n\ + lsl r2, r2, #0x1\n\ + mov r1, #0x0\n\ + bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + ldr r1, ._381 + 4\n\ + ldr r0, ._381 + 8\n\ + mov r4, #0x0\n\ + strh r5, [r0]\n\ + strh r5, [r1]\n\ + bl sub_80F9368\n\ + bl FreeAllSpritePalettes\n\ + bl ResetPaletteFade\n\ + bl ResetSpriteData\n\ + bl sub_80F9020\n\ + ldr r0, ._381 + 12\n\ + strh r5, [r0]\n\ + add r0, r0, #0x2\n\ + strh r5, [r0]\n\ + add r0, r0, #0x2\n\ + strh r5, [r0]\n\ + ldr r1, ._381 + 16\n\ + ldr r0, ._381 + 20\n\ + str r0, [r1]\n\ + ldr r0, ._381 + 24\n\ + bl SetMainCallback2\n\ + add r0, r6, #0\n\ + bl DestroyTask\n\ + ldr r0, ._381 + 28\n\ + strb r4, [r0]\n\ +._380:\n\ + pop {r4, r5, r6}\n\ + pop {r0}\n\ + bx r0\n\ +._382:\n\ + .align 2, 0\n\ +._381:\n\ + .word +0x2019000\n\ + .word gSpriteCoordOffsetX\n\ + .word gSpriteCoordOffsetY\n\ + .word 0x4000050\n\ + .word gFieldCallback\n\ + .word sub_8080990+1\n\ + .word c2_exit_to_overworld_2_switch+1\n\ + .word unk_203955C"); +} +#else +void sub_8116B40(u8 taskid) // end roulette ? { if (UpdatePaletteFade() == 0) { @@ -1616,6 +2097,7 @@ void sub_8116B40(u8 taskid) // end oulette ? DestroyTask(taskid); } } +#endif void sub_8116BC0(u8 taskid) { @@ -2632,6 +3114,9 @@ void sub_811755C(u8 taskid) void sub_81175C0(u8 taskid) { +#if DEBUG + unk_203955C[0] = 0; +#endif Menu_EraseScreen(); ScriptContext2_Disable(); DestroyTask(taskid); @@ -2694,6 +3179,386 @@ void Task_Roulette_0(u8 taskid) } } +#if DEBUG + +__attribute__((naked)) +void debug_sub_812CDE4() +{ + asm("\ + push {r4, r5, lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r3, r0, #0x18\n\ + add r4, r3, #0\n\ + ldr r0, ._575\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._572 @cond_branch\n\ + ldr r1, ._575 + 4\n\ + lsl r0, r3, #0x2\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x3\n\ + add r2, r0, r1\n\ + ldrh r0, [r2, #0x22]\n\ + add r0, r0, #0x1\n\ + strh r0, [r2, #0x22]\n\ + lsl r0, r0, #0x10\n\ + ldr r1, ._575 + 8\n\ + cmp r0, r1\n\ + bne ._573 @cond_branch\n\ + mov r0, #0x0\n\ + strh r0, [r2, #0x22]\n\ +._573:\n\ + ldr r0, ._575 + 12\n\ + mov r3, #0x22\n\ + ldsh r1, [r2, r3]\n\ + b ._584\n\ +._576:\n\ + .align 2, 0\n\ +._575:\n\ + .word gMain\n\ + .word gTasks\n\ + .word 0x27100000\n\ + .word gStringVar1\n\ +._572:\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._577 @cond_branch\n\ + ldr r1, ._580\n\ + lsl r0, r3, #0x2\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x3\n\ + add r2, r0, r1\n\ + ldrh r0, [r2, #0x22]\n\ + sub r0, r0, #0x1\n\ + strh r0, [r2, #0x22]\n\ + lsl r0, r0, #0x10\n\ + asr r0, r0, #0x10\n\ + mov r1, #0x1\n\ + neg r1, r1\n\ + cmp r0, r1\n\ + bne ._578 @cond_branch\n\ + ldr r0, ._580 + 4\n\ + strh r0, [r2, #0x22]\n\ +._578:\n\ + ldr r0, ._580 + 8\n\ + mov r3, #0x22\n\ + ldsh r1, [r2, r3]\n\ + b ._584\n\ +._581:\n\ + .align 2, 0\n\ +._580:\n\ + .word gTasks\n\ + .word 0x270f\n\ + .word gStringVar1\n\ +._577:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._582 @cond_branch\n\ + ldr r1, ._585\n\ + lsl r0, r3, #0x2\n\ + add r0, r0, r3\n\ + lsl r0, r0, #0x3\n\ + add r2, r0, r1\n\ + ldrh r3, [r2, #0x22]\n\ + add r0, r3, #0\n\ + add r0, r0, #0xa\n\ + strh r0, [r2, #0x22]\n\ + lsl r0, r0, #0x10\n\ + ldr r1, ._585 + 4\n\ + cmp r0, r1\n\ + ble ._583 @cond_branch\n\ + ldr r1, ._585 + 8\n\ + add r0, r3, r1\n\ + strh r0, [r2, #0x22]\n\ +._583:\n\ + ldr r0, ._585 + 12\n\ + mov r3, #0x22\n\ + ldsh r1, [r2, r3]\n\ + b ._584\n\ +._586:\n\ + .align 2, 0\n\ +._585:\n\ + .word gTasks\n\ + .word 0x270f0000\n\ + .word 0xffffd8fb\n\ + .word gStringVar1\n\ +._582:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._587 @cond_branch\n\ + ldr r0, ._590\n\ + lsl r1, r3, #0x2\n\ + add r1, r1, r3\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r0\n\ + ldrh r2, [r1, #0x22]\n\ + add r0, r2, #0\n\ + sub r0, r0, #0xa\n\ + strh r0, [r1, #0x22]\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + bge ._588 @cond_branch\n\ + ldr r3, ._590 + 4\n\ + add r0, r2, r3\n\ + strh r0, [r1, #0x22]\n\ +._588:\n\ + ldr r0, ._590 + 8\n\ + mov r2, #0x22\n\ + ldsh r1, [r1, r2]\n\ +._584:\n\ + mov r2, #0x1\n\ + mov r3, #0x4\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r4, ._590 + 12\n\ + ldr r1, ._590 + 16\n\ + add r0, r4, #0\n\ + bl StringExpandPlaceholders\n\ + add r0, r4, #0\n\ + mov r1, #0x9\n\ + mov r2, #0x1\n\ + bl MenuPrint_RightAligned\n\ + b ._596\n\ +._591:\n\ + .align 2, 0\n\ +._590:\n\ + .word gTasks\n\ + .word 0x2705\n\ + .word gStringVar1\n\ + .word gStringVar4\n\ + .word gOtherText_Coins\n\ +._587:\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._592 @cond_branch\n\ + ldr r0, ._594\n\ + ldr r2, ._594 + 4\n\ + lsl r1, r3, #0x2\n\ + add r1, r1, r3\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r2\n\ + ldrh r2, [r1, #0x22]\n\ + ldr r3, ._594 + 8\n\ + add r0, r0, r3\n\ + mov r5, #0x0\n\ + strh r2, [r0]\n\ + ldr r0, ._594 + 12\n\ + str r0, [r1]\n\ + ldr r0, ._594 + 16\n\ + mov r2, #0x22\n\ + ldsh r1, [r1, r2]\n\ + mov r2, #0x1\n\ + mov r3, #0x4\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r4, ._594 + 20\n\ + ldr r1, ._594 + 24\n\ + add r0, r4, #0\n\ + bl StringExpandPlaceholders\n\ + add r0, r4, #0\n\ + mov r1, #0x9\n\ + mov r2, #0x1\n\ + bl MenuPrint_RightAligned\n\ + ldr r0, ._594 + 28\n\ + strb r5, [r0]\n\ + b ._596\n\ +._595:\n\ + .align 2, 0\n\ +._594:\n\ + .word gSaveBlock1\n\ + .word gTasks\n\ + .word 0x494\n\ + .word Task_Roulette_0+1\n\ + .word gStringVar1\n\ + .word gStringVar4\n\ + .word gOtherText_Coins\n\ + .word unk_2039560\n\ +._592:\n\ + mov r0, #0x4\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._596 @cond_branch\n\ + ldr r0, ._597\n\ + ldr r2, ._597 + 4\n\ + lsl r1, r4, #0x2\n\ + add r1, r1, r4\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r2\n\ + ldrh r2, [r1, #0x22]\n\ + ldr r3, ._597 + 8\n\ + add r0, r0, r3\n\ + strh r2, [r0]\n\ + ldr r0, ._597 + 12\n\ + str r0, [r1]\n\ + ldr r0, ._597 + 16\n\ + mov r2, #0x22\n\ + ldsh r1, [r1, r2]\n\ + mov r2, #0x1\n\ + mov r3, #0x4\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r4, ._597 + 20\n\ + ldr r1, ._597 + 24\n\ + add r0, r4, #0\n\ + bl StringExpandPlaceholders\n\ + add r0, r4, #0\n\ + mov r1, #0x9\n\ + mov r2, #0x1\n\ + bl MenuPrint_RightAligned\n\ + ldr r1, ._597 + 28\n\ + mov r0, #0x1\n\ + strb r0, [r1]\n\ +._596:\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._598:\n\ + .align 2, 0\n\ +._597:\n\ + .word gSaveBlock1\n\ + .word gTasks\n\ + .word 0x494\n\ + .word Task_Roulette_0+1\n\ + .word gStringVar1\n\ + .word gStringVar4\n\ + .word gOtherText_Coins\n\ + .word unk_2039560"); +} + +__attribute__((naked)) +void debug_sub_812CFE8() +{ + asm("\ + push {r4, r5, lr}\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r2, ._600\n\ + lsl r1, r0, #0x2\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + add r5, r1, r2\n\ + ldr r0, ._600 + 4\n\ + ldr r1, ._600 + 8\n\ + add r0, r0, r1\n\ + ldrh r0, [r0]\n\ + strh r0, [r5, #0x22]\n\ + bl Random\n\ + mov r1, #0x1\n\ + and r1, r1, r0\n\ + cmp r1, #0\n\ + beq ._599 @cond_branch\n\ + ldr r0, ._600 + 12\n\ + ldrh r1, [r0]\n\ + mov r2, #0x80\n\ + orr r1, r1, r2\n\ + strh r1, [r0]\n\ +._599:\n\ + ldr r0, ._600 + 16\n\ + mov r2, #0x22\n\ + ldsh r1, [r5, r2]\n\ + mov r2, #0x1\n\ + mov r3, #0x4\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r4, ._600 + 20\n\ + ldr r1, ._600 + 24\n\ + add r0, r4, #0\n\ + bl StringExpandPlaceholders\n\ + mov r0, #0x0\n\ + mov r1, #0x0\n\ + mov r2, #0x9\n\ + mov r3, #0x3\n\ + bl Menu_DrawStdWindowFrame\n\ + add r0, r4, #0\n\ + mov r1, #0x9\n\ + mov r2, #0x1\n\ + bl MenuPrint_RightAligned\n\ + mov r0, #0x0\n\ + mov r1, #0xe\n\ + mov r2, #0x1d\n\ + mov r3, #0x13\n\ + bl Menu_DrawStdWindowFrame\n\ + ldr r0, ._600 + 28\n\ + mov r1, #0x1\n\ + mov r2, #0xf\n\ + bl Menu_PrintText\n\ + ldr r0, ._600 + 32\n\ + str r0, [r5]\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0\n\ +._601:\n\ + .align 2, 0\n\ +._600:\n\ + .word gTasks\n\ + .word gSaveBlock1\n\ + .word 0x494\n\ + .word gSpecialVar_0x8004\n\ + .word gStringVar1\n\ + .word gStringVar4\n\ + .word gOtherText_Coins\n\ + .word gUnknown_Debug_0842510D\n\ + .word debug_sub_812CDE4+1"); +} + +#endif + +#if DEBUG +__attribute__((naked)) +void PlayRoulette(void) +{ + asm("\ + push {lr}\n\ + bl ScriptContext2_Enable\n\ + ldr r1, ._604\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + ldr r0, ._604 + 4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._602 @cond_branch\n\ + ldr r0, ._604 + 8\n\ + mov r1, #0x0\n\ + bl CreateTask\n\ + b ._603\n\ +._605:\n\ + .align 2, 0\n\ +._604:\n\ + .word unk_2039560\n\ + .word unk_203955C\n\ + .word debug_sub_812CFE8+1\n\ +._602:\n\ + ldr r0, ._606\n\ + mov r1, #0x0\n\ + bl CreateTask\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r2, ._606 + 4\n\ + lsl r1, r0, #0x2\n\ + add r1, r1, r0\n\ + lsl r1, r1, #0x3\n\ + add r1, r1, r2\n\ + ldr r0, ._606 + 8\n\ + ldr r2, ._606 + 12\n\ + add r0, r0, r2\n\ + ldrh r0, [r0]\n\ + strh r0, [r1, #0x22]\n\ +._603:\n\ + pop {r0}\n\ + bx r0\n\ +._607:\n\ + .align 2, 0\n\ +._606:\n\ + .word Task_Roulette_0+1\n\ + .word gTasks\n\ + .word gSaveBlock1\n\ + .word 0x494"); +} +#else void PlayRoulette(void) { u8 taskid; @@ -2701,6 +3566,7 @@ void PlayRoulette(void) taskid = CreateTask(&Task_Roulette_0, 0x0); gTasks[taskid].data[0xD] = gSaveBlock1.coins; } +#endif void sub_8117838(u8 r0) { @@ -3594,6 +4460,99 @@ void sub_8118D2C(struct Sprite *sprite) } } +#if DEBUG +__attribute__((naked)) +void debug_sub_812E698() +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + add r7, r0, #0\n\ + bl sub_8118724\n\ + mov r0, #0x0\n\ + strh r0, [r7, #0x32]\n\ + add r0, r7, #0\n\ + bl sub_81186B8\n\ + mov r0, #0x38\n\ + bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + bl Random\n\ + mov r1, #0x1\n\ + and r1, r1, r0\n\ + cmp r1, #0\n\ + beq ._837 @cond_branch\n\ + ldr r4, ._839\n\ + add r1, r4, #0\n\ + add r1, r1, #0x8c\n\ + ldr r0, ._839 + 4\n\ + str r0, [r1]\n\ + add r0, r4, #0\n\ + add r0, r0, #0x7e\n\ + ldrb r0, [r0]\n\ + add r0, r0, #0x1\n\ + mov r1, #0xc\n\ + bl gMysteryEventScriptCmdTableEnd+0x3e40\n\ + add r1, r4, #0\n\ + add r1, r1, #0x7f\n\ + strb r0, [r1]\n\ + add r1, r4, #0\n\ + ldr r4, ._839 + 8\n\ + b ._838\n\ +._840:\n\ + .align 2, 0\n\ +._839:\n\ + .word +0x2019000\n\ + .word 0x0\n\ + .word gUnknown_083F8DF4\n\ +._837:\n\ + ldr r6, ._841\n\ + add r5, r6, #0\n\ + add r5, r5, #0x8c\n\ + ldr r4, ._841 + 4\n\ + ldrb r0, [r6, #0x4]\n\ + lsl r0, r0, #0x1e\n\ + lsr r0, r0, #0x19\n\ + add r1, r4, #0\n\ + add r1, r1, #0x1c\n\ + add r0, r0, r1\n\ + ldr r1, [r0]\n\ + add r0, r1, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x54dc\n\ + str r0, [r5]\n\ + add r0, r6, #0\n\ + add r0, r0, #0x7e\n\ + ldrb r0, [r0]\n\ + add r1, r6, #0\n\ + add r1, r1, #0x7f\n\ + strb r0, [r1]\n\ + add r1, r6, #0\n\ +._838:\n\ + mov r0, #0x1\n\ + strh r0, [r7, #0x2e]\n\ + ldrb r0, [r1, #0x4]\n\ + lsl r0, r0, #0x1e\n\ + lsr r0, r0, #0x19\n\ + add r0, r0, r4\n\ + ldrb r0, [r0, #0x2]\n\ + strh r0, [r7, #0x32]\n\ + add r1, r1, #0x98\n\ + ldr r0, ._841 + 8\n\ + str r0, [r1]\n\ + ldr r0, ._841 + 12\n\ + str r0, [r7, #0x1c]\n\ + mov r0, #0x5\n\ + strh r0, [r7, #0x30]\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._842:\n\ + .align 2, 0\n\ +._841:\n\ + .word +0x2019000\n\ + .word gUnknown_083F8DF4\n\ + .word 0x3dae147b\n\ + .word sub_8118D2C+1"); +} +#endif + #ifdef NONMATCHING void sub_8118DE4(struct Sprite *sprite) { @@ -3869,6 +4828,137 @@ _08118F88: .4byte sub_8118D2C\n\ } #endif +#if DEBUG +__attribute__((naked)) +void sub_8118F8C(struct Sprite *sprite) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6, r7}\n\ + add r6, r0, #0\n\ + bl sub_8118724\n\ + ldr r5, ._868\n\ + mov r0, #0x8c\n\ + add r0, r0, r5\n\ + mov r8, r0\n\ + ldr r0, [r0]\n\ + ldr r1, ._868 + 4\n\ + bl gMysteryEventScriptCmdTableEnd+0x5928\n\ + cmp r0, #0\n\ + bgt ._874 @cond_branch\n\ + add r0, r6, #0\n\ + bl sub_81186B8\n\ + add r0, r6, #0\n\ + bl sub_81186E8\n\ + lsl r0, r0, #0x10\n\ + cmp r0, #0\n\ + bne ._864 @cond_branch\n\ + add r1, r5, #0\n\ + add r1, r1, #0x90\n\ + ldr r0, ._868 + 8\n\ + str r0, [r1]\n\ + ldr r1, ._868 + 12\n\ + mov r9, r1\n\ + ldrb r0, [r5, #0x4]\n\ + lsl r7, r0, #0x1e\n\ + lsr r0, r7, #0x19\n\ + add r0, r0, r9\n\ + mov r4, #0x3\n\ + ldsb r4, [r0, r4]\n\ + add r0, r4, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x5a48\n\ + add r5, r0, #0\n\ + cmp r4, #0\n\ + bge ._865 @cond_branch\n\ + ldr r1, ._868 + 16\n\ + bl gMysteryEventScriptCmdTableEnd+0x54dc\n\ + add r5, r0, #0\n\ +._865:\n\ + lsr r0, r7, #0x19\n\ + add r0, r0, r9\n\ + ldrb r0, [r0, #0x4]\n\ + add r0, r0, #0x1\n\ + bl gMysteryEventScriptCmdTableEnd+0x5a48\n\ + add r1, r0, #0\n\ + add r0, r5, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x56a0\n\ + add r1, r0, #0\n\ + mov r2, r8\n\ + ldr r0, [r2]\n\ + bl gMysteryEventScriptCmdTableEnd+0x5508\n\ + mov r1, r8\n\ + str r0, [r1]\n\ + mov r0, #0x4\n\ + strh r0, [r6, #0x30]\n\ + ldr r0, ._868 + 20\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq ._866 @cond_branch\n\ + ldr r0, ._868 + 24\n\ + str r0, [r6, #0x1c]\n\ + b ._874\n\ +._869:\n\ + .align 2, 0\n\ +._868:\n\ + .word +0x2019000\n\ + .word 0x3f000000\n\ + .word 0x0\n\ + .word gUnknown_083F8DF4\n\ + .word 0x43800000\n\ + .word unk_2039560\n\ + .word debug_sub_812E698+1\n\ +._866:\n\ + ldr r0, ._871\n\ + str r0, [r6, #0x1c]\n\ + b ._874\n\ +._872:\n\ + .align 2, 0\n\ +._871:\n\ + .word sub_8118DE4+1\n\ +._864:\n\ + add r6, r5, #0\n\ + add r6, r6, #0x90\n\ + ldr r0, [r6]\n\ + ldr r4, ._875\n\ + add r1, r4, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x58e0\n\ + cmp r0, #0\n\ + beq ._874 @cond_branch\n\ + mov r2, r8\n\ + ldr r0, [r2]\n\ + add r1, r4, #0\n\ + bl gMysteryEventScriptCmdTableEnd+0x59b8\n\ + cmp r0, #0\n\ + bge ._874 @cond_branch\n\ + str r4, [r6]\n\ + mov r0, r8\n\ + str r4, [r0]\n\ + add r4, r5, #0\n\ + add r4, r4, #0x98\n\ + ldr r0, [r4]\n\ + bl gMysteryEventScriptCmdTableEnd+0x5b4c\n\ + ldr r2, ._875 + 4\n\ + ldr r3, ._875 + 8\n\ + bl gMysteryEventScriptCmdTableEnd+0x4c2c\n\ + bl gMysteryEventScriptCmdTableEnd+0x51e8\n\ + str r0, [r4]\n\ +._874:\n\ + pop {r3, r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._876:\n\ + .align 2, 0\n\ +._875:\n\ + .word 0x0\n\ + .word 0x3ff33333\n\ + .word 0x33333333"); +} +#else void sub_8118F8C(struct Sprite *sprite) { sub_8118724(sprite); @@ -3899,6 +4989,7 @@ void sub_8118F8C(struct Sprite *sprite) } } } +#endif void sub_8119088(struct Sprite *sprite) { -- cgit v1.2.3 From bcbc9d040ba671df27183bff0b7356da3d9511f6 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 15:19:31 -0600 Subject: finish adding all debug code --- src/battle/battle_controller_safari.c | 231 ++++++++++++++++++++++++++++++++++ src/engine/save_failed_screen.c | 192 +++++++++++++++++++++++++++- src/field/party_menu.c | 64 ++++++++++ 3 files changed, 483 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 0d193d68f..4af8adbbb 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -207,6 +207,236 @@ void SafariBufferRunCommand(void) } } +#if DEBUG +__attribute__((naked)) +void bx_battle_menu_t6_2(void) +{ + asm("\ + push {r4, r5, lr}\n\ + add sp, sp, #0xfffffffc\n\ + ldr r0, ._94\n\ + ldrh r1, [r0, #0x2e]\n\ + mov r2, #0x1\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._89 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + bl DestroyMenuCursor\n\ + ldr r1, ._94 + 4\n\ + ldr r0, ._94 + 8\n\ + ldrb r0, [r0]\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + beq ._90 @cond_branch\n\ + cmp r0, #0x1\n\ + bgt ._91 @cond_branch\n\ + cmp r0, #0\n\ + beq ._92 @cond_branch\n\ + b ._101\n\ +._95:\n\ + .align 2, 0\n\ +._94:\n\ + .word gMain\n\ + .word gActionSelectionCursor\n\ + .word gActiveBank\n\ +._91:\n\ + cmp r0, #0x2\n\ + beq ._96 @cond_branch\n\ + cmp r0, #0x3\n\ + beq ._97 @cond_branch\n\ + b ._101\n\ +._92:\n\ + mov r0, #0x1\n\ + mov r1, #0x5\n\ + b ._100\n\ +._90:\n\ + mov r0, #0x1\n\ + mov r1, #0x6\n\ + b ._100\n\ +._96:\n\ + mov r0, #0x1\n\ + mov r1, #0x7\n\ +._100:\n\ + mov r2, #0x0\n\ + bl Emitcmd33\n\ + b ._101\n\ +._97:\n\ + mov r0, #0x1\n\ + mov r1, #0x8\n\ + mov r2, #0x0\n\ + bl Emitcmd33\n\ +._101:\n\ + bl SafariBufferExecCompleted\n\ + b ._129\n\ +._89:\n\ + mov r3, #0x20\n\ + add r0, r3, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._103 @cond_branch\n\ + ldr r5, ._107\n\ + ldr r4, ._107 + 4\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._104 @cond_branch\n\ + b ._129\n\ +._104:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r0, [r0]\n\ + bl nullsub_8\n\ + ldrb r1, [r4]\n\ + add r1, r1, r5\n\ + ldrb r0, [r1]\n\ + mov r2, #0x1\n\ + b ._111\n\ +._108:\n\ + .align 2, 0\n\ +._107:\n\ + .word gActionSelectionCursor\n\ + .word gActiveBank\n\ +._103:\n\ + mov r0, #0x10\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._109 @cond_branch\n\ + ldr r5, ._112\n\ + ldr r4, ._112 + 4\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + add r0, r2, #0\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._129 @cond_branch\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r0, [r0]\n\ + bl nullsub_8\n\ + ldrb r1, [r4]\n\ + add r1, r1, r5\n\ + ldrb r0, [r1]\n\ + mov r2, #0x1\n\ + b ._111\n\ +._113:\n\ + .align 2, 0\n\ +._112:\n\ + .word gActionSelectionCursor\n\ + .word gActiveBank\n\ +._109:\n\ + mov r0, #0x40\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._114 @cond_branch\n\ + ldr r5, ._117\n\ + ldr r4, ._117 + 4\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._129 @cond_branch\n\ + b ._116\n\ +._118:\n\ + .align 2, 0\n\ +._117:\n\ + .word gActionSelectionCursor\n\ + .word gActiveBank\n\ +._114:\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._119 @cond_branch\n\ + ldr r5, ._122\n\ + ldr r4, ._122 + 4\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r1, [r0]\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + bne ._129 @cond_branch\n\ +._116:\n\ + mov r0, #0x5\n\ + bl PlaySE\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r0, [r0]\n\ + bl nullsub_8\n\ + ldrb r1, [r4]\n\ + add r1, r1, r5\n\ + ldrb r0, [r1]\n\ + mov r2, #0x2\n\ +._111:\n\ + eor r0, r0, r2\n\ + strb r0, [r1]\n\ + ldrb r0, [r4]\n\ + add r0, r0, r5\n\ + ldrb r0, [r0]\n\ + mov r1, #0x0\n\ + bl sub_802E3E4\n\ + b ._129\n\ +._123:\n\ + .align 2, 0\n\ +._122:\n\ + .word gActionSelectionCursor\n\ + .word gActiveBank\n\ +._119:\n\ + mov r0, #0x80\n\ + lsl r0, r0, #0x1\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._124 @cond_branch\n\ + ldr r0, ._127\n\ + ldrb r2, [r0]\n\ + lsl r0, r2, #0x1\n\ + add r0, r0, r2\n\ + lsl r0, r0, #0x2\n\ + ldr r1, ._127 + 4\n\ + add r0, r0, r1\n\ + ldrb r1, [r0]\n\ + add r0, r3, #0\n\ + and r0, r0, r1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0\n\ + bne ._129 @cond_branch\n\ + str r0, [sp]\n\ + add r0, r2, #0\n\ + add r1, r2, #0\n\ + mov r3, #0x4\n\ + bl move_anim_start_t3\n\ + b ._129\n\ +._128:\n\ + .align 2, 0\n\ +._127:\n\ + .word gActiveBank\n\ + .word +0x2017810\n\ +._124:\n\ + mov r0, #0x8\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._129 @cond_branch\n\ + bl sub_804454C\n\ +._129:\n\ + add sp, sp, #0x4\n\ + pop {r4, r5}\n\ + pop {r0}\n\ + bx r0"); +} +#else void bx_battle_menu_t6_2(void) { if (gMain.newKeys & A_BUTTON) @@ -273,6 +503,7 @@ void bx_battle_menu_t6_2(void) } } } +#endif void sub_812B65C(void) { diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 74a1e9612..421cd0779 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -61,16 +61,18 @@ static const u8 sClockFrames[8][3] = static const u8 gSaveFailedClockPal[] = INCBIN_U8("graphics/misc/clock_small.gbapal"); static const u8 gSaveFailedClockGfx[] = INCBIN_U8("graphics/misc/clock_small.4bpp.lz"); +#define static + static void VBlankCB(void); static void CB2_SaveFailedScreen(void); static void CB2_WipeSave(void); -static void CB2_GameplayCannotBeContinued(void); +/*static*/ void CB2_GameplayCannotBeContinued(void); static void CB2_FadeAndReturnToTitleScreen(void); static void CB2_ReturnToTitleScreen(void); static void VBlankCB_UpdateClockGraphics(void); static bool8 VerifySectorWipe(u16 sector); static bool8 WipeSector(u16 sector); -static bool8 WipeSectors(u32 sectorBits); +/*static*/ bool8 WipeSectors(u32 sectorBits); void DoSaveFailedScreen(u8 saveType) { @@ -148,6 +150,151 @@ static void CB2_SaveFailedScreen(void) } } +#if DEBUG +__attribute__((naked)) +void CB2_WipeSave() +{ + asm( + " push {r4, r5, lr}\n" + " mov r4, #0x0\n" + " ldr r0, ._20\n" + " mov r2, #0x1\n" + " strh r2, [r0]\n" + " ldr r0, ._20 + 4\n" + " ldr r0, [r0]\n" + " ldr r1, ._20 + 8\n" + " cmp r0, #0\n" + " beq ._12 @cond_branch\n" + " str r2, [r1]\n" + "._12:\n" + " ldr r0, [r1]\n" + " cmp r0, #0\n" + " beq ._16 @cond_branch\n" + " add r5, r1, #0\n" + "._17:\n" + " ldr r0, [r5]\n" + " bl WipeSectors\n" + " lsl r0, r0, #0x18\n" + " cmp r0, #0\n" + " bne ._14 @cond_branch\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._20 + 12\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " ldr r0, ._20 + 16\n" + " ldrb r0, [r0]\n" + " bl Save_WriteDataInternal\n" + " ldr r0, [r5]\n" + " cmp r0, #0\n" + " beq ._15 @cond_branch\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._20 + 20\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + "._15:\n" + " add r0, r4, #1\n" + " lsl r0, r0, #0x18\n" + " lsr r4, r0, #0x18\n" + " ldr r0, [r5]\n" + " cmp r0, #0\n" + " beq ._16 @cond_branch\n" + " cmp r4, #0x2\n" + " bls ._17 @cond_branch\n" + "._16:\n" + " cmp r4, #0x3\n" + " bne ._18 @cond_branch\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._20 + 24\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " ldr r0, ._20 + 28\n" + " bl SetMainCallback2\n" + " b ._23\n" + "._21:\n" + " .align 2, 0\n" + "._20:\n" + " .word gSaveFailedClockInfo\n" + " .word gUnknown_Debug_03004BD0\n" + " .word gDamagedSaveSectors\n" + " .word gSystemText_CheckCompleteSaveAttempt\n" + " .word gSaveFailedType\n" + " .word gSystemText_SaveFailedBackupCheck\n" + " .word gSystemText_BackupDamagedGameContinue\n" + " .word CB2_FadeAndReturnToTitleScreen+1\n" + "._18:\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._24\n" + " ldr r0, [r0]\n" + " cmp r0, #0\n" + " bne ._22 @cond_branch\n" + " ldr r0, ._24 + 4\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " b ._23\n" + "._25:\n" + " .align 2, 0\n" + "._24:\n" + " .word gGameContinueCallback\n" + " .word gSystemText_SaveCompletedGameEnd\n" + "._14:\n" + " mov r0, #0x1\n" + " mov r1, #0xa\n" + " mov r2, #0x1c\n" + " mov r3, #0x13\n" + " bl Menu_DrawStdWindowFrame\n" + " ldr r0, ._27\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + " ldr r0, ._27 + 4\n" + " bl SetMainCallback2\n" + " b ._26\n" + "._28:\n" + " .align 2, 0\n" + "._27:\n" + " .word gSystemText_BackupDamagedGameContinue\n" + " .word CB2_GameplayCannotBeContinued+1\n" + "._22:\n" + " ldr r0, ._29\n" + " mov r1, #0x2\n" + " mov r2, #0xb\n" + " bl Menu_PrintText\n" + "._23:\n" + " ldr r0, ._29 + 4\n" + " bl SetMainCallback2\n" + "._26:\n" + " pop {r4, r5}\n" + " pop {r0}\n" + " bx r0\n" + "._30:\n" + " .align 2, 0\n" + "._29:\n" + " .word gSystemText_SaveCompletedPressA\n" + " .word CB2_FadeAndReturnToTitleScreen+1\n" + "\n" + ); +} +#else static void CB2_WipeSave(void) { u8 wipeTries = 0; @@ -198,8 +345,9 @@ static void CB2_WipeSave(void) SetMainCallback2(CB2_FadeAndReturnToTitleScreen); } +#endif -static void CB2_GameplayCannotBeContinued(void) +/*static*/ void CB2_GameplayCannotBeContinued(void) { gSaveFailedClockInfo[0] = FALSE; @@ -264,6 +412,41 @@ static void VBlankCB_UpdateClockGraphics(void) gSaveFailedClockInfo[1]--; } +#if DEBUG +__attribute__((naked)) +bool8 VerifySectorWipe(u16 sector) +{ + asm( + " push {lr}\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " ldr r2, ._50\n" + " mov r3, #0x80\n" + " lsl r3, r3, #0x5\n" + " mov r1, #0x0\n" + " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" + " mov r0, #0x0\n" + " ldr r1, ._50 + 4\n" + "._49:\n" + " add r0, r0, #0x1\n" + " lsl r0, r0, #0x10\n" + " lsr r0, r0, #0x10\n" + " cmp r0, r1\n" + " bls ._49 @cond_branch\n" + " ldr r0, ._50 + 8\n" + " ldrb r0, [r0]\n" + " pop {r1}\n" + " bx r1\n" + "._51:\n" + " .align 2, 0\n" + "._50:\n" + " .word +0x2000000\n" + " .word 0x3ff\n" + " .word gUnknown_Debug_03004BD0\n" + "\n" + ); +} +#else static bool8 VerifySectorWipe(u16 sector) { u32 *ptr = (u32 *)&gSharedMem; @@ -277,6 +460,7 @@ static bool8 VerifySectorWipe(u16 sector) return FALSE; } +#endif static bool8 WipeSector(u16 sector) { @@ -294,7 +478,7 @@ static bool8 WipeSector(u16 sector) return failed; } -static bool8 WipeSectors(u32 sectorBits) +/*static*/ bool8 WipeSectors(u32 sectorBits) { u16 i; diff --git a/src/field/party_menu.c b/src/field/party_menu.c index e26b801bc..b76710a2d 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -107,6 +107,69 @@ EWRAM_DATA u8 gUnknown_0202E8F6 = 0; EWRAM_DATA u16 gUnknown_0202E8F8 = 0; EWRAM_DATA u8 gPartyMenuType = 0; +#if 0 +const u16 TMHMMoves[] = +{ + 0x5016, + 0x030D, + 0x3DFF, + MOVE_CALM_MIND, + MOVE_ROAR, + MOVE_TOXIC, + MOVE_HAIL, + MOVE_BULK_UP, + MOVE_BULLET_SEED, + MOVE_HIDDEN_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_ICE_BEAM, + MOVE_BLIZZARD, + MOVE_HYPER_BEAM, + MOVE_LIGHT_SCREEN, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_GIGA_DRAIN, + MOVE_SAFEGUARD, + MOVE_FRUSTRATION, + MOVE_SOLAR_BEAM, + MOVE_IRON_TAIL, + MOVE_THUNDERBOLT, + MOVE_THUNDER, + MOVE_EARTHQUAKE, + MOVE_RETURN, + MOVE_DIG, + MOVE_PSYCHIC, + MOVE_SHADOW_BALL, + MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_REFLECT, + MOVE_SHOCK_WAVE, + MOVE_FLAMETHROWER, + MOVE_SLUDGE_BOMB, + MOVE_SANDSTORM, + MOVE_FIRE_BLAST, + MOVE_ROCK_TOMB, + MOVE_AERIAL_ACE, + MOVE_TORMENT, + MOVE_FACADE, + MOVE_SECRET_POWER, + MOVE_REST, + MOVE_ATTRACT, + MOVE_THIEF, + MOVE_STEEL_WING, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_OVERHEAT, + MOVE_CUT, + MOVE_FLY, + MOVE_SURF, + MOVE_STRENGTH, + MOVE_FLASH, + MOVE_ROCK_SMASH, + MOVE_WATERFALL, + MOVE_DIVE, +}; +#else const u16 TMHMMoves[] = { MOVE_FOCUS_PUNCH, @@ -168,6 +231,7 @@ const u16 TMHMMoves[] = MOVE_WATERFALL, MOVE_DIVE, }; +#endif //FIXME //const u8 *unrefTileBuffer = gTileBuffer; -- cgit v1.2.3 From b85e23c15a5cbdd88d6c3111d2f54de0a2adac35 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 18 Jan 2018 17:07:11 -0600 Subject: add some debug data --- src/debug/unk_debug_menu_3.c | 39 ++++++++++++++---------- src/engine/menu_cursor.c | 9 ++++++ src/engine/reset_rtc_screen.c | 7 +++++ src/field/field_effect_helpers.c | 2 -- src/field/party_menu.c | 64 ---------------------------------------- src/field/pokeblock.c | 5 ++++ src/pokemon/mail.c | 12 ++++---- 7 files changed, 50 insertions(+), 88 deletions(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index dfb92feb9..fe2e6317e 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -1,5 +1,10 @@ +#include "global.h" +#include "menu.h" + +#if DEBUG + __attribute__((naked)) -void debug_sub_813C404() +int debug_sub_813C404() { asm( " push {r4, r5, r6, lr}\n" @@ -27,7 +32,7 @@ void debug_sub_813C404() } __attribute__((naked)) -void debug_sub_813C430() +int debug_sub_813C430() { asm( " push {r4, r5, r6, lr}\n" @@ -55,7 +60,7 @@ void debug_sub_813C430() } __attribute__((naked)) -void debug_sub_813C45C() +int debug_sub_813C45C() { asm( " push {r4, r5, r6, lr}\n" @@ -83,7 +88,7 @@ void debug_sub_813C45C() } __attribute__((naked)) -void debug_sub_813C488() +int debug_sub_813C488() { asm( " push {r4, r5, r6, lr}\n" @@ -111,7 +116,7 @@ void debug_sub_813C488() } __attribute__((naked)) -void debug_sub_813C4B4() +int debug_sub_813C4B4() { asm( " push {r4, lr}\n" @@ -134,7 +139,7 @@ void debug_sub_813C4B4() } __attribute__((naked)) -void debug_sub_813C4D4() +int debug_sub_813C4D4() { asm( " push {r4, r5, r6, lr}\n" @@ -162,7 +167,7 @@ void debug_sub_813C4D4() } __attribute__((naked)) -void debug_sub_813C500() +int debug_sub_813C500() { asm( " push {r4, r5, r6, lr}\n" @@ -237,7 +242,7 @@ void debug_sub_813C52C() } __attribute__((naked)) -void debug_sub_813C580() +int debug_sub_813C580() { asm( " push {lr}\n" @@ -250,7 +255,7 @@ void debug_sub_813C580() } __attribute__((naked)) -void debug_sub_813C58C() +int debug_sub_813C58C() { asm( " push {lr}\n" @@ -263,7 +268,7 @@ void debug_sub_813C58C() } __attribute__((naked)) -void debug_sub_813C598() +int debug_sub_813C598() { asm( " push {lr}\n" @@ -276,7 +281,7 @@ void debug_sub_813C598() } __attribute__((naked)) -void debug_sub_813C5A4() +int debug_sub_813C5A4() { asm( " push {lr}\n" @@ -293,7 +298,7 @@ void debug_sub_813C5A4() } __attribute__((naked)) -void debug_sub_813C5B4() +int debug_sub_813C5B4() { asm( " push {r4, r5, r6, r7, lr}\n" @@ -498,7 +503,7 @@ void debug_sub_813C6AC() } __attribute__((naked)) -void debug_sub_813C740() +int debug_sub_813C740() { asm( " push {r4, r5, r6, lr}\n" @@ -596,7 +601,7 @@ void debug_sub_813C740() } __attribute__((naked)) -void debug_sub_813C810() +int debug_sub_813C810() { asm( " push {r4, r5, r6, lr}\n" @@ -656,7 +661,7 @@ void debug_sub_813C810() } __attribute__((naked)) -void debug_sub_813C888() +int debug_sub_813C888() { asm( " push {r4, r5, r6, lr}\n" @@ -752,7 +757,7 @@ void debug_sub_813C904() } __attribute__((naked)) -void debug_sub_813C93C() +int debug_sub_813C93C() { asm( " push {r4, r5, r6, lr}\n" @@ -795,3 +800,5 @@ void debug_sub_813C93C() ); } +#endif + diff --git a/src/engine/menu_cursor.c b/src/engine/menu_cursor.c index 35116d40b..ae4d5b14a 100644 --- a/src/engine/menu_cursor.c +++ b/src/engine/menu_cursor.c @@ -11,6 +11,15 @@ EWRAM_DATA static u8 gUnknown_0203A3D2 = 0; EWRAM_DATA static u8 gUnknown_0203A3D3 = 0; EWRAM_DATA static u8 gUnknown_0203A3D4 = 0; +#if DEBUG +//const u8 gEmptySpace_08459A8C[0x1C0] = {0}; +//const u8 gEmptySpace_08459A8C[0xE300-0xC700] = {0}; +asm(".section .rodata\n\ + .global gEmptySpace_08459A8C\n\ +gEmptySpace_08459A8C:\n\ + .incbin \"pokeruby_de_debug.gba\", 0x459A8C, 0x1C00"); +#endif + #if ENGLISH #include "../src/data/menu_cursor_en.h" #elif GERMAN diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index 0cfa1e71a..cda73f96b 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -147,6 +147,13 @@ const struct SpriteTemplate gSpriteTemplate_83764E8 = const u8 gUnknown_08376500[] = _(" : "); +#if DEBUG +const u8 gUnknown_Debug_0839AE94[] = _("にっすう"); +const u8 gUnknown_Debug_0839AE99[] = _("じかん"); +const u8 gUnknown_Debug_0839AE9D[] = _("ゲームない じかん"); +const u8 gUnknown_Debug_0839AEA7[] = _("RTC じかん"); +#endif + void SpriteCB_ResetRtcCusor0(struct Sprite *sprite) { int state = gTasks[sprite->data[0]].data[2]; diff --git a/src/field/field_effect_helpers.c b/src/field/field_effect_helpers.c index 165829a55..e2514df90 100644 --- a/src/field/field_effect_helpers.c +++ b/src/field/field_effect_helpers.c @@ -29,8 +29,6 @@ static void sub_81280A0(struct MapObject *, struct Sprite *, struct Sprite *); static void sub_8128174(struct Sprite *); static u32 ShowDisguiseFieldEffect(u8, u8, u8); -const u8 UnusedEggString_8401E28[] = _("タマゴ"); - void SetUpReflection(struct MapObject *mapObject, struct Sprite *sprite, bool8 flag) { struct Sprite *newSprite; diff --git a/src/field/party_menu.c b/src/field/party_menu.c index b76710a2d..e26b801bc 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -107,69 +107,6 @@ EWRAM_DATA u8 gUnknown_0202E8F6 = 0; EWRAM_DATA u16 gUnknown_0202E8F8 = 0; EWRAM_DATA u8 gPartyMenuType = 0; -#if 0 -const u16 TMHMMoves[] = -{ - 0x5016, - 0x030D, - 0x3DFF, - MOVE_CALM_MIND, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLAR_BEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#else const u16 TMHMMoves[] = { MOVE_FOCUS_PUNCH, @@ -231,7 +168,6 @@ const u16 TMHMMoves[] = MOVE_WATERFALL, MOVE_DIVE, }; -#endif //FIXME //const u8 *unrefTileBuffer = gTileBuffer; diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c index 73fa53d97..b69d8ac06 100644 --- a/src/field/pokeblock.c +++ b/src/field/pokeblock.c @@ -233,6 +233,11 @@ const struct Pokeblock gUnknown_083F7F9C[] = { PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20} }; +#if DEBUG +// possibly continuation of gUnknown_083F7F9C? +asm(".incbin \"baserom_de_debug.gba\", 0x424128, 0x50"); +#endif + // text static void sub_810B674(void) diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 1ad8d8376..160bce913 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -298,13 +298,13 @@ const u8 Str_841160F[] = _("{STR_VAR_1} {STR_VAR_2}"); const u8 Str_841161A[] = _("メール{STR_VAR_1} {STR_VAR_2}"); const u8 Str_8411623[] = _("メール{STR_VAR_1}を だれに もたせる?"); const u8 Str_8411634[] = _("000 {STR_VAR_1}"); -const u8 Str_841163B[] = _("せいきの データが とうろくずみ です\n"); -const u8 Str_841163B_after[] = _("しんき とうろく できません"); -const u8 Str_841165E[] = _("せいきに とうろくされたメールデータは\n"); -const u8 Str_841165E_after[] = _("へんこう できません"); +const u8 Str_841163B[] = _("せいきの データが とうろくずみ です\n" + "しんき とうろく できません"); +const u8 Str_841165E[] = _("せいきに とうろくされたメールデータは\n" + "へんこう できません"); const u8 Str_841167D[] = _("メール{STR_VAR_1} とうろく かいじょ"); -const u8 Str_841168D[] = _("デバッグメニューから とうろくした\n"); -const u8 Str_841168D_after[] = _("メール いがいは けせません"); +const u8 Str_841168D[] = _("デバッグメニューから とうろくした\n" + "メール いがいは けせません"); const u8 Str_84116AE[] = _("メール{STR_VAR_1} {STR_VAR_2} {STR_VAR_3}"); const struct MenuAction _84116BC[] = -- cgit v1.2.3 From c9f2902f0ebce0cff90c9a06f9ae05b921b17448 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Fri, 19 Jan 2018 15:48:40 -0600 Subject: dump outline cursors for debug ROM --- src/data/menu_cursor_de.h | 19 +++++++++++++++++++ src/engine/menu_cursor.c | 9 --------- 2 files changed, 19 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/data/menu_cursor_de.h b/src/data/menu_cursor_de.h index cd56f51d9..7be9e96aa 100644 --- a/src/data/menu_cursor_de.h +++ b/src/data/menu_cursor_de.h @@ -1,6 +1,24 @@ #ifndef GUARD_DATA_MENU_CURSOR_H #define GUARD_DATA_MENU_CURSOR_H +#if DEBUG +const u8 OutlineCursorTiles_00[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_00.4bpp"); +const u8 OutlineCursorTiles_01[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_01.4bpp"); +const u8 OutlineCursorTiles_02[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_02.4bpp"); +const u8 OutlineCursorTiles_03[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_03.4bpp"); +const u8 OutlineCursorTiles_04[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_04.4bpp"); +const u8 OutlineCursorTiles_05[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_05.4bpp"); +const u8 OutlineCursorTiles_06[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_06.4bpp"); +const u8 OutlineCursorTiles_07[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_07.4bpp"); +const u8 OutlineCursorTiles_08[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_08.4bpp"); +const u8 OutlineCursorTiles_09[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_09.4bpp"); +const u8 OutlineCursorTiles_10[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_10.4bpp"); +const u8 OutlineCursorTiles_11[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_11.4bpp"); +const u8 OutlineCursorTiles_12[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_12.4bpp"); +const u8 OutlineCursorTiles_13[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_13.4bpp"); +const u8 OutlineCursorTiles_14[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_14.4bpp"); +const u8 OutlineCursorTiles_15[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_15.4bpp"); +#else const u8 OutlineCursorTiles_00[] = INCBIN_U8("graphics/interface/outline_cursor_00.4bpp"); const u8 OutlineCursorTiles_01[] = INCBIN_U8("graphics/interface/outline_cursor_01.4bpp"); const u8 OutlineCursorTiles_02[] = INCBIN_U8("graphics/interface/outline_cursor_02.4bpp"); @@ -17,6 +35,7 @@ const u8 OutlineCursorTiles_12[] = INCBIN_U8("graphics/interface/outline_cursor_ const u8 OutlineCursorTiles_13[] = INCBIN_U8("graphics/interface/outline_cursor_13.4bpp"); const u8 OutlineCursorTiles_14[] = INCBIN_U8("graphics/interface/outline_cursor_14.4bpp"); const u8 OutlineCursorTiles_15[] = INCBIN_U8("graphics/interface/outline_cursor_15.4bpp"); +#endif const struct OamData gOamData_842F11C = { .objMode = ST_OAM_OBJ_NORMAL, diff --git a/src/engine/menu_cursor.c b/src/engine/menu_cursor.c index ae4d5b14a..35116d40b 100644 --- a/src/engine/menu_cursor.c +++ b/src/engine/menu_cursor.c @@ -11,15 +11,6 @@ EWRAM_DATA static u8 gUnknown_0203A3D2 = 0; EWRAM_DATA static u8 gUnknown_0203A3D3 = 0; EWRAM_DATA static u8 gUnknown_0203A3D4 = 0; -#if DEBUG -//const u8 gEmptySpace_08459A8C[0x1C0] = {0}; -//const u8 gEmptySpace_08459A8C[0xE300-0xC700] = {0}; -asm(".section .rodata\n\ - .global gEmptySpace_08459A8C\n\ -gEmptySpace_08459A8C:\n\ - .incbin \"pokeruby_de_debug.gba\", 0x459A8C, 0x1C00"); -#endif - #if ENGLISH #include "../src/data/menu_cursor_en.h" #elif GERMAN -- cgit v1.2.3 From 7383117626ebb2b3d993e5ad8855da5752c9cce8 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sat, 20 Jan 2018 14:36:32 -0600 Subject: turns out graphics are the same. I forgot to run 'make clean' :( --- src/data/menu_cursor_de.h | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'src') diff --git a/src/data/menu_cursor_de.h b/src/data/menu_cursor_de.h index 7be9e96aa..cd56f51d9 100644 --- a/src/data/menu_cursor_de.h +++ b/src/data/menu_cursor_de.h @@ -1,24 +1,6 @@ #ifndef GUARD_DATA_MENU_CURSOR_H #define GUARD_DATA_MENU_CURSOR_H -#if DEBUG -const u8 OutlineCursorTiles_00[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_00.4bpp"); -const u8 OutlineCursorTiles_01[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_01.4bpp"); -const u8 OutlineCursorTiles_02[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_02.4bpp"); -const u8 OutlineCursorTiles_03[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_03.4bpp"); -const u8 OutlineCursorTiles_04[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_04.4bpp"); -const u8 OutlineCursorTiles_05[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_05.4bpp"); -const u8 OutlineCursorTiles_06[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_06.4bpp"); -const u8 OutlineCursorTiles_07[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_07.4bpp"); -const u8 OutlineCursorTiles_08[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_08.4bpp"); -const u8 OutlineCursorTiles_09[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_09.4bpp"); -const u8 OutlineCursorTiles_10[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_10.4bpp"); -const u8 OutlineCursorTiles_11[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_11.4bpp"); -const u8 OutlineCursorTiles_12[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_12.4bpp"); -const u8 OutlineCursorTiles_13[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_13.4bpp"); -const u8 OutlineCursorTiles_14[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_14.4bpp"); -const u8 OutlineCursorTiles_15[] = INCBIN_U8("graphics/interface/outline_cursor_debug/outline_cursor_15.4bpp"); -#else const u8 OutlineCursorTiles_00[] = INCBIN_U8("graphics/interface/outline_cursor_00.4bpp"); const u8 OutlineCursorTiles_01[] = INCBIN_U8("graphics/interface/outline_cursor_01.4bpp"); const u8 OutlineCursorTiles_02[] = INCBIN_U8("graphics/interface/outline_cursor_02.4bpp"); @@ -35,7 +17,6 @@ const u8 OutlineCursorTiles_12[] = INCBIN_U8("graphics/interface/outline_cursor_ const u8 OutlineCursorTiles_13[] = INCBIN_U8("graphics/interface/outline_cursor_13.4bpp"); const u8 OutlineCursorTiles_14[] = INCBIN_U8("graphics/interface/outline_cursor_14.4bpp"); const u8 OutlineCursorTiles_15[] = INCBIN_U8("graphics/interface/outline_cursor_15.4bpp"); -#endif const struct OamData gOamData_842F11C = { .objMode = ST_OAM_OBJ_NORMAL, -- cgit v1.2.3 From 608e06126acdc8b6d32a0aa71fdc57bc188b8d7b Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sun, 21 Jan 2018 14:27:32 -0600 Subject: fix build of normal ROMs --- src/debug/start_menu_debug.c | 3 +++ src/engine/link.c | 2 +- src/engine/save.c | 4 ++-- src/pokemon/mail.c | 2 ++ src/scene/title_screen.c | 2 ++ 5 files changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index f8e10baa2..572251fb4 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -1,3 +1,5 @@ +#if DEBUG + __attribute__((naked)) void debug_sub_8076AC8() { @@ -6128,3 +6130,4 @@ void DebugMenu_OpenKiwa() ); } +#endif diff --git a/src/engine/link.c b/src/engine/link.c index a716d5c2b..f800f4aad 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1404,7 +1404,7 @@ static void CB2_PrintErrorMessage(void) { case 0: Menu_PrintTextPixelCoords(gMultiText_LinkError, 20, 56, 1); -#ifdef DEBUG +#if DEBUG StringCopy(array, sColorCodes); ConvertIntToHexStringN(array2, sErrorLinkStatus, STR_CONV_MODE_LEADING_ZEROS, 8); diff --git a/src/engine/save.c b/src/engine/save.c index 8217652f9..d11eebaac 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -783,7 +783,7 @@ u8 Save_WriteDataInternal(u8 saveType) return 0; } -#ifdef DEBUG +#if DEBUG extern u32 gUnknown_Debug_03004BD0; #endif @@ -794,7 +794,7 @@ u8 Save_WriteData(u8 saveType) // TrySave Save_WriteDataInternal(saveType); if (!gDamagedSaveSectors -#ifdef DEBUG +#if DEBUG && gUnknown_Debug_03004BD0 == 0 #endif ) diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index db0c96938..3187fef9f 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -327,9 +327,11 @@ static void sub_80F8F58(void); static void sub_80F8F78(void); static void sub_80F8FB4(void); +#if DEBUG // some debug variable, I guess. // TODO: where exactly is this located? __attribute__((section(".bss"))) /*static*/ u8 gUnknown_0300074C = 0; +#endif #if DEBUG __attribute__((naked)) diff --git a/src/scene/title_screen.c b/src/scene/title_screen.c index 4ff02d93c..a1c8e081d 100644 --- a/src/scene/title_screen.c +++ b/src/scene/title_screen.c @@ -354,7 +354,9 @@ static void Task_TitleScreenPhase1(u8); static void Task_TitleScreenPhase2(u8); static void Task_TitleScreenPhase3(u8); static void CB2_GoToMainMenu(void); +#if DEBUG static void CB2_GoToTestMenu(void); +#endif static void CB2_GoToClearSaveDataScreen(void); static void CB2_GoToResetRtcScreen(void); static void CB2_GoToCopyrightScreen(void); -- cgit v1.2.3 From ffb74a0211f750506650b66fe2bcdf7ddf770668 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sun, 21 Jan 2018 18:14:47 -0600 Subject: match debug ROM --- src/battle/battle_2.c | 6 ++++++ src/debug/watanabe_debug_menu.c | 8 ++++---- src/engine/link.c | 18 ++++++++++++++---- src/pokemon/mail.c | 11 +++-------- 4 files changed, 27 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 696f1fde0..03391cf92 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -12104,6 +12104,12 @@ void SetActionsAndBanksTurnOrder(void) } } } + // Debug ROM has a register swap from the retail ROM. + // And doing this seems to fix it. +#if DEBUG + asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm(""); + asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm(""); +#endif gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; eFocusPunchBank = 0; } diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index b0fbebac1..ff6f97933 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -7813,7 +7813,7 @@ void debug_80C6FA8() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x0\n" - " bl GetMonSpritePal\n" + " bl GetMonSpritePalFromOtIdPersonality\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" @@ -7832,7 +7832,7 @@ void debug_80C6FA8() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x9\n" - " bl GetMonSpritePal\n" + " bl GetMonSpritePalFromOtIdPersonality\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" @@ -9268,7 +9268,7 @@ void debug_80C7B14() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x0\n" - " bl GetMonSpritePal\n" + " bl GetMonSpritePalFromOtIdPersonality\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" @@ -9287,7 +9287,7 @@ void debug_80C7B14() " ldrh r0, [r1]\n" " mov r1, #0x0\n" " mov r2, #0x9\n" - " bl GetMonSpritePal\n" + " bl GetMonSpritePalFromOtIdPersonality\n" " ldr r1, [r4]\n" " ldrb r1, [r1, #0x6]\n" " lsl r1, r1, #0x14\n" diff --git a/src/engine/link.c b/src/engine/link.c index f800f4aad..5785a5a56 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -81,7 +81,7 @@ static void sub_80084C8(void); static void sub_80084F4(void); static void CheckErrorStatus(void); -static void CB2_PrintErrorMessage(void); +void CB2_PrintErrorMessage(void); static u8 IsSioMultiMaster(void); static void DisableSerial(void); static void EnableSerial(void); @@ -191,9 +191,19 @@ const struct BlockRequest sBlockRequestLookupTable[5] = static const u8 sTestString[] = _("テストな"); -ALIGNED(4) static const u8 sMagic[] = "GameFreak inc."; +// TODO: fix the alignment here -ALIGNED(4) static const u8 sEmptyString[] = _(""); +ALIGNED(4) const u8 sMagic[] = "GameFreak inc."; + +#if DEBUG +const u8 sEmptyString[] = _(" "); +#else +ALIGNED(4) const u8 sEmptyString[] = _(""); +#endif + +#if DEBUG +const u8 linkDebugFillerPleaseRemove[2] = {0}; +#endif void Task_DestroySelf(u8 taskId) { @@ -1395,7 +1405,7 @@ void CB2_LinkError(void) SetMainCallback2(CB2_PrintErrorMessage); } -static void CB2_PrintErrorMessage(void) +void CB2_PrintErrorMessage(void) { u8 array[32] __attribute__((unused)); // unused u8 array2[32] __attribute__((unused)); // unused diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 3187fef9f..11851410b 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -68,11 +68,6 @@ struct MailGraphics u16 color12; }; -#if DEBUG -// should be static -__attribute__((section(".bss"))) u8 unk_debug_bss_2; -#endif - const u16 gUnknown_083E562C[][2] = { {0x6ACD, 0x51A5}, @@ -977,7 +972,7 @@ void debug_sub_810C910() " .align 2, 0\n" "._143:\n" " .word gPaletteFade\n" - " .word unk_debug_bss_2\n" + " .word gUnknown_0300074C\n" " .word gSaveBlock1\n" " .word gSpecialVar_0x8005\n" " .word 0x2b6c\n" @@ -1529,7 +1524,7 @@ void debug_sub_810CD9C() "._192:\n" " .align 2, 0\n" "._191:\n" - " .word unk_debug_bss_2\n" + " .word gUnknown_0300074C\n" " .word gSpecialVar_0x8004\n" " .word gSpecialVar_0x8005\n" " .word gSpecialVar_0x8006\n" @@ -2372,7 +2367,7 @@ void debug_sub_810D388() "._300:\n" " .align 2, 0\n" "._299:\n" - " .word unk_debug_bss_2\n" + " .word gUnknown_0300074C\n" " .word 0x43c\n" "._297:\n" " bl ScanlineEffect_Stop\n" -- cgit v1.2.3 From bcba136599ff2cecf4eeb0e6d592186509a98a59 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Mon, 22 Jan 2018 19:33:29 -0600 Subject: disassemble debug Blender_PrintBlendingResults --- src/scene/berry_blender.c | 487 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 483 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index 2535f02a6..5b013e8de 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -274,7 +274,7 @@ static void sub_8051B18(void); static void sub_805123C(void); static void sub_8050954(void); static bool8 Blender_PrintBlendingRanking(void); -static bool8 Blender_PrintBlendingResults(void); +bool8 Blender_PrintBlendingResults(void); static void sub_80510E8(void); static void sub_8050E30(void); static void sub_805197C(u16 a0, u16 a1); @@ -3278,10 +3278,489 @@ static void sub_8051C04(struct Sprite* sprite) #if DEBUG __attribute__((naked)) -static bool8 Blender_PrintBlendingResults(void) +bool8 Blender_PrintBlendingResults(void) { - // TODO: disassemble this! - asm(".incbin \"baserom_de_debug.gba\", 0x56178, 0x5655C-0x56178"); + asm(".syntax unified\n\ +loc_8056178:\n\ + PUSH {R4-R7,LR}\n\ + MOV R7, R10\n\ + MOV R6, R9\n\ + MOV R5, R8\n\ + PUSH {R5-R7}\n\ + SUB SP, SP, #0x34\n\ + LDR R1, off_805619C\n\ + LDR R0, [R1]\n\ + LDRB R0, [R0]\n\ + ADDS R2, R1, #0\n\ + CMP R0, #6 @ switch 7 cases\n\ + BLS loc_8056192\n\ + B def_805619A @ jumptable 0805619A default case\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_8056192:\n\ + LSLS R0, R0, #2\n\ + LDR R1, off_80561A0\n\ + ADDS R0, R0, R1\n\ + LDR R0, [R0]\n\ + MOV PC, R0 @ switch jump\n\ +@ ---------------------------------------------------------------------------\n\ +off_805619C: .4byte gBerryBlenderData\n\ +off_80561A0: .4byte jpt_805619A\n\ +jpt_805619A: .4byte loc_80561C0 @ jump table for switch statement\n\ + .4byte loc_80561D6 @ jumptable 0805619A case 1\n\ + .4byte loc_80561F0 @ jumptable 0805619A case 2\n\ + .4byte loc_8056240 @ jumptable 0805619A case 3\n\ + .4byte loc_805645C @ jumptable 0805619A case 4\n\ + .4byte loc_8056470 @ jumptable 0805619A case 5\n\ + .4byte loc_8056538 @ jumptable 0805619A case 6\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_80561C0: @ jumptable 0805619A case 0\n\ + LDR R1, [R2]\n\ + LDRB R0, [R1]\n\ + ADDS R0, #1\n\ + STRB R0, [R1]\n\ + LDR R0, [R2]\n\ + MOVS R1, #0x98\n\ + LSLS R1, R1, #1\n\ + ADDS R0, R0, R1\n\ + MOVS R1, #0x11\n\ + STR R1, [R0]\n\ + B def_805619A @ jumptable 0805619A default case\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_80561D6: @ jumptable 0805619A case 1\n\ + LDR R1, [R2]\n\ + MOVS R0, #0x98\n\ + LSLS R0, R0, #1\n\ + ADDS R2, R1, R0\n\ + LDR R0, [R2]\n\ + SUBS R0, #0xA\n\ + STR R0, [R2]\n\ + CMP R0, #0\n\ + BLT loc_80561EA\n\ + B def_805619A @ jumptable 0805619A default case\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_80561EA:\n\ + MOVS R0, #0\n\ + STR R0, [R2]\n\ + B loc_8056520\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_80561F0: @ jumptable 0805619A case 2\n\ + LDR R1, [R2]\n\ + MOVS R2, #0x98\n\ + LSLS R2, R2, #1\n\ + ADDS R1, R1, R2\n\ + LDR R0, [R1]\n\ + ADDS R0, #1\n\ + STR R0, [R1]\n\ + CMP R0, #0x14\n\ + BGT loc_8056204\n\ + B def_805619A @ jumptable 0805619A default case\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_8056204:\n\ + MOVS R6, #0\n\ +\n\ +loc_8056206:\n\ + LDR R4, off_8056238\n\ + LDR R0, [R4]\n\ + ADDS R0, #0x50\n\ + ADDS R0, R0, R6\n\ + LDRB R1, [R0]\n\ + LSLS R0, R1, #4\n\ + ADDS R0, R0, R1\n\ + LSLS R0, R0, #2\n\ + LDR R1, off_805623C\n\ + ADDS R0, R0, R1\n\ + BL DestroySprite\n\ + ADDS R0, R6, #1\n\ + LSLS R0, R0, #0x10\n\ + LSRS R6, R0, #0x10\n\ + CMP R6, #2\n\ + BLS loc_8056206\n\ + LDR R1, [R4]\n\ + MOVS R0, #0x98\n\ + LSLS R0, R0, #1\n\ + ADDS R2, R1, R0\n\ + MOVS R0, #0\n\ + STR R0, [R2]\n\ + B loc_8056520\n\ +@ ---------------------------------------------------------------------------\n\ + .align 2, 0\n\ +off_8056238: .4byte gBerryBlenderData\n\ +off_805623C: .4byte gSprites\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_8056240: @ jumptable 0805619A case 3\n\ + MOVS R0, #4\n\ + MOVS R1, #2\n\ + MOVS R2, #0x19\n\ + MOVS R3, #0x11\n\ + BL Menu_DrawStdWindowFrame\n\ + LDR R0, dword_805642C\n\ + MOVS R1, #5\n\ + MOVS R2, #3\n\ + MOVS R3, #0xA0\n\ + BL sub_8072BD8\n\ + MOVS R6, #0\n\ + LDR R1, off_8056430\n\ + LDR R0, [R1]\n\ + ADDS R0, #0x88\n\ + ADD R2, SP, #0xC\n\ + MOV R8, R2\n\ + MOV R2, SP\n\ + ADDS R2, #0x16\n\ + STR R2, [SP,#0x30]\n\ + LDRB R0, [R0]\n\ + CMP R6, R0\n\ + BCS loc_8056322\n\ + MOV R9, R1\n\ + LDR R0, off_8056434\n\ + MOV R10, R0\n\ +\n\ +loc_8056276:\n\ + MOV R1, R9\n\ + LDR R2, [R1]\n\ + MOVS R1, #0xB2\n\ + LSLS R1, R1, #1\n\ + ADDS R0, R2, R1\n\ + ADDS R0, R0, R6\n\ + LDRB R4, [R0]\n\ + LSLS R1, R4, #4\n\ + ADDS R1, R1, R2\n\ + MOVS R2, #0xBF\n\ + LSLS R2, R2, #1\n\ + ADDS R1, R1, R2\n\ + MOV R0, R8\n\ + BL StringCopy\n\ + LSLS R5, R4, #3\n\ + SUBS R5, R5, R4\n\ + LSLS R5, R5, #2\n\ + MOV R1, R10\n\ + ADDS R0, R5, R1\n\ + LDRB R1, [R0,#0x1A]\n\ + MOV R0, R8\n\ + BL ConvertInternationalString\n\ + MOV R0, R8\n\ + LDR R1, dword_8056438\n\ + BL de_sub_8073174\n\ + MOV R2, R9\n\ + LDR R0, [R2]\n\ + ADDS R7, R0, #0\n\ + ADDS R7, #0xAB\n\ + ADDS R4, R6, #1\n\ + ADDS R0, R7, #0\n\ + ADDS R1, R4, #0\n\ + BL ConvertIntToDecimalString\n\ + ADDS R7, R0, #0\n\ + MOVS R1, #0\n\ + STRB R1, [R7]\n\ + MOVS R0, #0xAD\n\ + STRB R0, [R7,#1]\n\ + STRB R1, [R7,#2]\n\ + ADDS R7, #3\n\ + LDR R0, off_805643C\n\ + ADDS R5, R5, R0\n\ + ADDS R0, R7, #0\n\ + ADDS R1, R5, #0\n\ + MOVS R2, #0x58\n\ + MOVS R3, #0\n\ + BL sub_8072C74\n\ + ADDS R7, R0, #0\n\ + ADD R1, SP, #0xC\n\ + MOVS R2, #0x9D\n\ + MOVS R3, #0\n\ + BL sub_8072C74\n\ + MOV R2, R9\n\ + LDR R1, [R2]\n\ + ADDS R0, R1, #0\n\ + ADDS R0, #0xAB\n\ + LDR R3, dword_8056440\n\ + ADDS R1, #0x88\n\ + LDRB R2, [R1]\n\ + ADDS R3, R2, R3\n\ + LDR R1, dword_8056444\n\ + ADDS R2, R2, R1\n\ + LDRB R1, [R2]\n\ + ADDS R2, R6, #0\n\ + MULS R2, R1\n\ + LDRB R3, [R3]\n\ + ADDS R2, R2, R3\n\ + LSLS R2, R2, #0x18\n\ + LSRS R2, R2, #0x18\n\ + MOVS R1, #5\n\ + BL Menu_PrintText\n\ + LSLS R4, R4, #0x10\n\ + LSRS R6, R4, #0x10\n\ + MOV R1, R9\n\ + LDR R0, [R1]\n\ + ADDS R0, #0x88\n\ + LDRB R0, [R0]\n\ + CMP R6, R0\n\ + BCC loc_8056276\n\ +\n\ +loc_8056322:\n\ + LDR R6, off_8056430\n\ + LDR R0, [R6]\n\ + ADDS R0, #0x5A\n\ + LDRH R0, [R0]\n\ + MOVS R1, #0x64\n\ + BL __umodsi3\n\ + ADDS R1, R0, #0\n\ + LSLS R1, R1, #0x10\n\ + LSRS R1, R1, #0x10\n\ + MOV R0, R8\n\ + MOVS R2, #2\n\ + MOVS R3, #2\n\ + BL ConvertIntToDecimalStringN\n\ + LDR R0, [R6]\n\ + ADDS R7, R0, #0\n\ + ADDS R7, #0xAB\n\ + LDR R1, dword_8056448\n\ + ADDS R0, R7, #0\n\ + BL StringCopy\n\ + ADDS R7, R0, #0\n\ + LDR R0, [R6]\n\ + ADDS R0, #0x5A\n\ + LDRH R0, [R0]\n\ + MOVS R1, #0x64\n\ + BL __udivsi3\n\ + ADDS R1, R0, #0\n\ + LSLS R1, R1, #0x10\n\ + LSRS R1, R1, #0x10\n\ + ADDS R0, R7, #0\n\ + MOVS R2, #0x79\n\ + MOVS R3, #1\n\ + BL sub_8072C14\n\ + ADDS R7, R0, #0\n\ + MOVS R0, #0xB8\n\ + STRB R0, [R7]\n\ + ADDS R7, #1\n\ + ADDS R0, R7, #0\n\ + MOV R1, R8\n\ + MOVS R2, #0x88\n\ + MOVS R3, #1\n\ + BL sub_8072C74\n\ + ADDS R7, R0, #0\n\ + LDR R1, off_805644C\n\ + BL StringCopy\n\ + LDR R0, [R6]\n\ + ADDS R0, #0xAB\n\ + MOVS R1, #5\n\ + MOVS R2, #0xD\n\ + BL Menu_PrintText\n\ + LDR R0, [R6]\n\ + MOVS R2, #0x96\n\ + LSLS R2, R2, #1\n\ + ADDS R0, R0, R2\n\ + LDR R0, [R0]\n\ + MOVS R1, #0x3C\n\ + BL __udivsi3\n\ + ADDS R4, R0, #0\n\ + LSLS R4, R4, #0x10\n\ + LSRS R4, R4, #0x10\n\ + ADDS R0, R4, #0\n\ + MOVS R1, #0x3C\n\ + BL __umodsi3\n\ + ADDS R5, R0, #0\n\ + LSLS R5, R5, #0x10\n\ + LSRS R5, R5, #0x10\n\ + ADDS R0, R4, #0\n\ + MOVS R1, #0x3C\n\ + BL __udivsi3\n\ + ADDS R1, R0, #0\n\ + LSLS R1, R1, #0x10\n\ + LSRS R1, R1, #0x10\n\ + MOV R0, R8\n\ + MOVS R2, #2\n\ + MOVS R3, #2\n\ + BL ConvertIntToDecimalStringN\n\ + LDR R0, [SP,#0x30]\n\ + ADDS R1, R5, #0\n\ + MOVS R2, #2\n\ + MOVS R3, #2\n\ + BL ConvertIntToDecimalStringN\n\ + LDR R0, [R6]\n\ + ADDS R7, R0, #0\n\ + ADDS R7, #0xAB\n\ + LDR R1, dword_8056450\n\ + ADDS R0, R7, #0\n\ + BL StringCopy\n\ + ADDS R7, R0, #0\n\ + MOV R1, R8\n\ + MOVS R2, #0x63\n\ + MOVS R3, #1\n\ + BL sub_8072C74\n\ + ADDS R7, R0, #0\n\ + LDR R1, dword_8056454\n\ + BL StringAppend\n\ + ADDS R7, R0, #0\n\ + LDR R1, [SP,#0x30]\n\ + MOVS R2, #0x88\n\ + MOVS R3, #1\n\ + BL sub_8072C74\n\ + ADDS R7, R0, #0\n\ + LDR R1, dword_8056458\n\ + BL StringCopy\n\ + LDR R0, [R6]\n\ + ADDS R0, #0xAB\n\ + MOVS R1, #5\n\ + MOVS R2, #0xF\n\ + BL Menu_PrintText\n\ + LDR R1, [R6]\n\ + MOVS R0, #0x98\n\ + LSLS R0, R0, #1\n\ + ADDS R2, R1, R0\n\ + MOVS R0, #0\n\ + STR R0, [R2]\n\ + B loc_8056520\n\ +@ ---------------------------------------------------------------------------\n\ +dword_805642C: .4byte gOtherText_ResultsOfBlending\n\ +off_8056430: .4byte gBerryBlenderData\n\ +off_8056434: .4byte gLinkPlayers\n\ +dword_8056438: .4byte gOtherText_Berry\n\ +off_805643C: .4byte gLinkPlayers+0x8\n\ +dword_8056440: .4byte gUnknown_082165E9\n\ +dword_8056444: .4byte gUnknown_082165EE\n\ +dword_8056448: .4byte gOtherText_MaxSpeed\n\ +off_805644C: .4byte gOtherText_RPM\n\ +dword_8056450: .4byte gOtherText_RequiredTime\n\ +dword_8056454: .4byte gOtherText_Min\n\ +dword_8056458: .4byte gOtherText_Sec\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_805645C: @ jumptable 0805619A case 4\n\ + LDR R0, off_805646C\n\ + LDRH R1, [R0,#0x2E]\n\ + MOVS R0, #1\n\ + ANDS R0, R1\n\ + CMP R0, #0\n\ + BEQ def_805619A @ jumptable 0805619A default case\n\ + LDR R1, [R2]\n\ + B loc_8056520\n\ +@ ---------------------------------------------------------------------------\n\ +off_805646C: .4byte gMain\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_8056470: @ jumptable 0805619A case 5\n\ + BL Menu_EraseScreen\n\ + MOVS R0, #0\n\ + MOVS R1, #0xE\n\ + MOVS R2, #0x1D\n\ + MOVS R3, #0x13\n\ + BL Menu_DrawStdWindowFrame\n\ + MOVS R6, #0\n\ + ADD R1, SP, #0xC\n\ + MOV R8, R1\n\ + ADD R5, SP, #0x28\n\ + LDR R0, off_8056528\n\ + LDR R0, [R0]\n\ + ADDS R3, R0, #0\n\ + ADDS R3, #0x80\n\ + ADD R2, SP, #0x20\n\ +\n\ +loc_8056492:\n\ + LSLS R1, R6, #1\n\ + ADDS R0, R3, R1\n\ + LDRH R0, [R0]\n\ + CMP R0, #0\n\ + BEQ loc_80564A2\n\ + ADDS R1, R2, R1\n\ + SUBS R0, #0x85\n\ + STRH R0, [R1]\n\ +\n\ +loc_80564A2:\n\ + ADDS R0, R6, #1\n\ + LSLS R0, R0, #0x10\n\ + LSRS R6, R0, #0x10\n\ + CMP R6, #3\n\ + BLS loc_8056492\n\ + BL sub_8050760\n\ + LDR R4, off_8056528\n\ + LDR R3, [R4]\n\ + MOVS R2, #0xBE\n\ + LSLS R2, R2, #1\n\ + ADDS R0, R3, R2\n\ + ADDS R1, R3, #0\n\ + ADDS R1, #0x88\n\ + LDRB R2, [R1]\n\ + SUBS R1, #0x2E\n\ + LDRH R1, [R1]\n\ + STR R1, [SP]\n\ + ADDS R1, R5, #0\n\ + ADD R3, SP, #4\n\ + BL Blender_CalculatePokeblock\n\ + LDR R1, [R4]\n\ + ADDS R1, #0xAB\n\ + ADDS R0, R5, #0\n\ + BL Blender_PrintMadePokeblockString\n\ + LDR R0, off_805652C\n\ + MOVS R1, #6\n\ + BL CreateTask\n\ + BL sub_8007E40\n\ + ADDS R1, R0, #0\n\ + MOV R0, R8\n\ + MOVS R2, #0\n\ + MOVS R3, #4\n\ + BL ConvertIntToHexStringN\n\ + LDR R1, dword_8056530\n\ + MOV R0, R8\n\ + BL StringAppend\n\ + LDR R0, [R4]\n\ + ADDS R0, #0xAB\n\ + MOV R1, R8\n\ + BL StringAppend\n\ + LDR R0, [R4]\n\ + ADDS R0, #0xAB\n\ + MOVS R1, #1\n\ + MOVS R2, #0xF\n\ + BL MenuPrintMessage\n\ + LDR R0, off_8056534\n\ + LDRH R0, [R0]\n\ + MOVS R1, #1\n\ + BL RemoveBagItem\n\ + ADDS R0, R5, #0\n\ + BL sub_810CA34\n\ + LDR R1, [R4]\n\ +\n\ +loc_8056520:\n\ + LDRB R0, [R1]\n\ + ADDS R0, #1\n\ + STRB R0, [R1]\n\ + B def_805619A @ jumptable 0805619A default case\n\ +@ ---------------------------------------------------------------------------\n\ +off_8056528: .4byte gBerryBlenderData\n\ +off_805652C: .4byte sub_8052BD0+1\n\ +dword_8056530: .4byte gUnknown_08216249\n\ +off_8056534: .4byte gSpecialVar_ItemId\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +loc_8056538: @ jumptable 0805619A case 6\n\ + BL Menu_UpdateWindowText\n\ + LSLS R0, R0, #0x18\n\ + CMP R0, #0\n\ + BEQ def_805619A @ jumptable 0805619A default case\n\ + BL Blender_TrySettingRecord\n\ + MOVS R0, #1\n\ + B loc_805654C\n\ +@ ---------------------------------------------------------------------------\n\ +\n\ +def_805619A: @ jumptable 0805619A default case\n\ + MOVS R0, #0\n\ +\n\ +loc_805654C:\n\ + ADD SP, SP, #0x34\n\ + POP {R3-R5}\n\ + MOV R8, R3\n\ + MOV R9, R4\n\ + MOV R10, R5\n\ + POP {R4-R7}\n\ + POP {R1}\n\ + BX R1\n\ + .syntax divided\n"); } #else static bool8 Blender_PrintBlendingResults(void) -- cgit v1.2.3 From 1685a7977a652f35998a717395407d625878e20e Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Mon, 22 Jan 2018 21:42:14 -0600 Subject: dump some debug baseroms --- src/battle/battle_2.c | 4 ++-- src/debug/watanabe_debug_menu.c | 4 ++-- src/field/pokeblock.c | 25 ++++++++++++++++--------- 3 files changed, 20 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 03391cf92..478499ad7 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -5155,7 +5155,7 @@ void debug_sub_801174C() "._704:\n" " .word gUnknown_020297ED\n" " .word gSaveBlock2\n" - " .word UnkDebug0+0x279\n" + " .word str_821F631\n" " .word gUnknown_02023A14+0x52\n" " .word gBattleTypeFlags\n" " .word UnkDebug0+0x1e0\n" @@ -5575,7 +5575,7 @@ void debug_sub_801174C() "._750:\n" " .word gPlayerParty\n" " .word gUnknown_02023A14+0x98\n" - " .word UnkDebug0+0x291\n" + " .word Str_821F649\n" " .word gUnknown_02023A14+0x50\n" " .word gUnknown_02023A14+0xde\n" " .word gEnemyParty\n" diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index ff6f97933..58ae28510 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -7068,7 +7068,7 @@ void InitSeePokemonGraphics() " .word unk_debug_ewram_0+0x34\n" " .word +0x2018000\n" " .word 0x115\n" - " .word unk_83F8868+0xc\n" + " .word gSpriteTemplate_83F8874\n" " .word gSprites\n" "\n" ); @@ -8641,7 +8641,7 @@ void InitSeeTrainers() " .word debug_80C777C+1\n" " .word unk_debug_ewram_0+0x34\n" " .word +0x2018000\n" - " .word unk_83F8868+0xc\n" + " .word gSpriteTemplate_83F8874\n" " .word gSprites\n" "\n" ); diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c index 43684dfec..b4be44aa2 100644 --- a/src/field/pokeblock.c +++ b/src/field/pokeblock.c @@ -222,17 +222,24 @@ const struct SpriteTemplate gSpriteTemplate_83F7F84 = const struct Pokeblock gUnknown_083F7F9C[] = { - { PBLOCK_CLR_RED, 20, 0, 0, 0, 0, 20}, - { PBLOCK_CLR_BLUE, 0, 20, 0, 0, 0, 20}, - { PBLOCK_CLR_PINK, 0, 0, 20, 0, 0, 20}, - { PBLOCK_CLR_GREEN, 0, 0, 0, 20, 0, 20}, - { PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20} -}; - + { PBLOCK_CLR_RED, 20, 0, 0, 0, 0, 20 }, + { PBLOCK_CLR_BLUE, 0, 20, 0, 0, 0, 20 }, + { PBLOCK_CLR_PINK, 0, 0, 20, 0, 0, 20 }, + { PBLOCK_CLR_GREEN, 0, 0, 0, 20, 0, 20 }, + { PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20 }, #if DEBUG -// possibly continuation of gUnknown_083F7F9C? -asm(".incbin \"baserom_de_debug.gba\", 0x424128, 0x50"); + { PBLOCK_CLR_PURPLE, 20, 0, 20, 0, 0, 20 }, + { PBLOCK_CLR_INDIGO, 0, 20, 0, 20, 0, 20 }, + { PBLOCK_CLR_BROWN, 0, 0, 20, 0, 20, 20 }, + { PBLOCK_CLR_LITEBLUE, 20, 0, 0, 20, 0, 20 }, + { PBLOCK_CLR_OLIVE, 0, 20, 0, 0, 20, 20 }, + { PBLOCK_CLR_GRAY, 0, 2, 0, 2, 2, 0 }, + { PBLOCK_CLR_BLACK, 3, 3, 3, 4, 3, 0 }, + { PBLOCK_CLR_WHITE, 1, 1, 1, 1, 1, 1 }, + { PBLOCK_CLR_GOLD, 20, 0, 0, 0, 0, 20 }, + { 0 }, #endif +}; // text -- cgit v1.2.3 From 0f09d2e7046a54c95e2ed4a7ff759d4cd1db87f7 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Mon, 22 Jan 2018 22:35:27 -0600 Subject: fix false gMysteryEventScriptCmdTableEnd offsets --- src/battle/battle_2.c | 78 +++++++++++++++++------------------ src/battle/battle_4.c | 2 +- src/battle/battle_controller_player.c | 2 +- src/battle/battle_interface.c | 6 +-- src/battle/battle_util.c | 12 +++--- src/contest.c | 4 +- src/debug/start_menu_debug.c | 28 ++++++------- src/debug/unk_debug_menu_3.c | 38 ++++++++--------- src/engine/mystery_event_menu.c | 2 +- src/engine/save.c | 4 +- src/engine/save_failed_screen.c | 2 +- src/field/choose_party.c | 2 +- src/field/field_player_avatar.c | 4 +- src/field/party_menu.c | 2 +- src/field/secret_base.c | 6 +-- src/pokemon/pokemon_1.c | 12 +++--- src/pokemon/pokemon_summary_screen.c | 4 +- src/roulette.c | 44 ++++++++++---------- src/scene/cute_sketch.c | 4 +- 19 files changed, 128 insertions(+), 128 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 478499ad7..41d00546d 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -220,7 +220,7 @@ void InitBattle(void) " lsl r1, r1, #0x13\n" " ldr r2, ._10\n" " mov r0, sp\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" + " bl CpuSet\n" " ldr r0, ._10 + 4\n" " strh r4, [r0]\n" " sub r0, r0, #0xc\n" @@ -907,7 +907,7 @@ void sub_800EC9C() " ldr r2, ._116 + 4\n" " add r1, r1, r2\n" " mov r2, #0xc8\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " b ._129\n" "._117:\n" " .align 2, 0\n" @@ -946,7 +946,7 @@ void sub_800EC9C() " ldr r2, ._126 + 4\n" " add r1, r1, r2\n" " mov r2, #0xc8\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " b ._129\n" "._127:\n" " .align 2, 0\n" @@ -982,7 +982,7 @@ void sub_800EC9C() " add r1, r1, r0\n" " add r0, r4, #0\n" " mov r2, #0xc8\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " ldr r1, ._134 + 8\n" " add r0, r4, r1\n" " bl shedinja_something\n" @@ -1407,7 +1407,7 @@ void sub_800F104() " add r1, r1, r0\n" " ldr r0, ._177 + 4\n" " mov r2, #0x60\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" "._174:\n" " add r7, r7, #0x1c\n" " add r4, r4, #0x1\n" @@ -1781,7 +1781,7 @@ void sub_800F298() " ldr r1, ._239 + 4\n" " mov r2, #0x96\n" " lsl r2, r2, #0x1\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " ldr r0, ._239 + 8\n" " mov r1, #0x0\n" " bl CreateTask\n" @@ -2018,7 +2018,7 @@ void sub_800F298() "._283:\n" " add r1, r5, #0\n" " mov r2, #0xc8\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " b ._291\n" "._293:\n" " .align 2, 0\n" @@ -2028,7 +2028,7 @@ void sub_800F298() " ldr r0, ._296\n" " add r1, r5, #0\n" " mov r2, #0xc8\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" "._291:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" @@ -2185,7 +2185,7 @@ void sub_800F298() "._333:\n" " add r1, r5, #0\n" " mov r2, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " b ._341\n" "._343:\n" " .align 2, 0\n" @@ -2195,7 +2195,7 @@ void sub_800F298() " ldr r0, ._346\n" " add r1, r5, #0\n" " mov r2, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" "._341:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" @@ -2627,7 +2627,7 @@ void BattleMainCB2(void) " str r0, [r4]\n" " bl ZeroEnemyPartyMons\n" " mov r0, #0x5a\n" - " bl gMysteryEventScriptCmdTableEnd+0x148c\n" + " bl m4aSongNumStop\n" " ldr r0, ._358 + 24\n" " ldrh r1, [r0]\n" " mov r0, #0x2\n" @@ -3197,7 +3197,7 @@ void debug_sub_80108B8() asm( " push {r4, r5, lr}\n" " add sp, sp, #0xfffffffc\n" - " bl gMysteryEventScriptCmdTableEnd+0x19f4\n" + " bl m4aSoundVSyncOff\n" " mov r0, #0x0\n" " bl SetHBlankCallback\n" " mov r0, #0x0\n" @@ -3264,7 +3264,7 @@ void debug_sub_80108B8() " ldr r1, ._507 + 72\n" " add r0, r4, #0\n" " bl LZDecompressVram\n" - " bl gMysteryEventScriptCmdTableEnd+0x1a70\n" + " bl m4aSoundVSyncOn\n" " ldr r0, ._507 + 76\n" " bl SetVBlankCallback\n" " ldr r0, ._507 + 80\n" @@ -3860,7 +3860,7 @@ void debug_sub_8010CAC() " strb r0, [r3, #0x15]\n" " lsl r0, r0, #0x1f\n" " lsr r0, r0, #0x1f\n" - " bl gMysteryEventScriptCmdTableEnd+0x2aa0\n" + " bl SetPokemonCryStereo\n" " bl debug_nullsub_3\n" "._559:\n" " ldr r4, ._565 + 12\n" @@ -4774,7 +4774,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x4358\n" + " bl __udivsi3\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4830,7 +4830,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x4358\n" + " bl __udivsi3\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4886,7 +4886,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x4358\n" + " bl __udivsi3\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4929,7 +4929,7 @@ void debug_sub_8011498() " lsl r4, r5, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x4358\n" + " bl __udivsi3\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -4965,7 +4965,7 @@ void debug_sub_8011498() " lsl r4, r4, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x4358\n" + " bl __udivsi3\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -5002,7 +5002,7 @@ void debug_sub_8011498() " lsl r4, r5, #0x1\n" " mov r0, r9\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x4358\n" + " bl __udivsi3\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" @@ -5200,7 +5200,7 @@ void debug_sub_801174C() "._713:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" " ldr r1, ._719\n" @@ -5223,7 +5223,7 @@ void debug_sub_801174C() "._699:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " mov r2, #0x64\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" @@ -5282,7 +5282,7 @@ void debug_sub_801174C() " str r0, [sp, #0xc]\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" " ldr r1, ._726\n" @@ -5355,7 +5355,7 @@ void debug_sub_801174C() "._735:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " mov r2, #0x64\n" " mul r0, r0, r2\n" " ldr r1, ._741\n" @@ -5382,7 +5382,7 @@ void debug_sub_801174C() "._721:\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " mov r2, #0x64\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" @@ -5441,7 +5441,7 @@ void debug_sub_801174C() " str r0, [sp, #0xc]\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " mov r2, #0x64\n" " mul r0, r0, r2\n" " ldr r1, ._750\n" @@ -5460,7 +5460,7 @@ void debug_sub_801174C() " ble ._743 @cond_branch\n" " add r0, r7, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" " ldr r1, ._750\n" @@ -6483,7 +6483,7 @@ void debug_sub_8012294() " lsl r4, r4, #0x1\n" " add r0, r5, #0\n" " mov r1, #0x5\n" - " bl gMysteryEventScriptCmdTableEnd+0x4358\n" + " bl __udivsi3\n" " add r5, r0, #0\n" " lsl r5, r5, #0x18\n" " lsr r5, r5, #0x15\n" @@ -7102,7 +7102,7 @@ void debug_sub_8012688() " bl SetHBlankCallback\n" " ldr r0, ._873 + 100\n" " bl SetVBlankCallback\n" - " bl gMysteryEventScriptCmdTableEnd+0x14f4\n" + " bl m4aMPlayAllStop\n" " ldr r0, ._873 + 104\n" " mov r1, #0x0\n" " bl CreateTask\n" @@ -8484,7 +8484,7 @@ void debug_sub_8013240() { asm( " push {lr}\n" - " bl gMysteryEventScriptCmdTableEnd+0x2fec\n" + " bl IdentifyFlash\n" " lsl r0, r0, #0x10\n" " cmp r0, #0\n" " beq ._1068 @cond_branch\n" @@ -8519,7 +8519,7 @@ void debug_sub_8013258() " lsr r4, r0, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" + " bl ProgramFlashSectorAndVerify\n" " cmp r0, #0\n" " bne ._1071 @cond_branch\n" " mov r0, #0x80\n" @@ -8555,13 +8555,13 @@ void debug_sub_8013294() " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._1076 @cond_branch\n" - " bl gMysteryEventScriptCmdTableEnd+0x19f4\n" + " bl m4aSoundVSyncOff\n" " add r0, r4, #0\n" " add r1, r5, #0\n" " add r2, r6, #0\n" " bl debug_sub_8013258\n" " add r4, r0, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x1a70\n" + " bl m4aSoundVSyncOn\n" " add r0, r4, #0\n" " b ._1077\n" "._1076:\n" @@ -8591,7 +8591,7 @@ void debug_sub_80132C8() " mov r1, #0x0\n" " add r2, r5, #0\n" " add r3, r6, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" + " bl ReadFlash\n" "._1078:\n" " pop {r4, r5, r6}\n" " pop {r0}\n" @@ -9066,7 +9066,7 @@ void debug_sub_80139E4() "._1193:\n" " ldr r0, ._1198 + 12\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " ldr r1, ._1198 + 4\n" " mov r0, #0x0\n" " strb r0, [r1]\n" @@ -9081,7 +9081,7 @@ void debug_sub_80139E4() " lsl r0, r0, #0x2\n" " add r0, r0, r5\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " ldrb r0, [r4]\n" " add r0, r0, #0x1\n" " strb r0, [r4]\n" @@ -9103,7 +9103,7 @@ void debug_sub_80139E4() "._1192:\n" " ldr r0, ._1202\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " ldr r1, ._1202 + 4\n" " strb r4, [r1]\n" " ldr r0, ._1202 + 8\n" @@ -9117,7 +9117,7 @@ void debug_sub_80139E4() " lsl r0, r0, #0x2\n" " add r0, r0, r5\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " ldrb r0, [r4]\n" " add r0, r0, #0x1\n" " strb r0, [r4]\n" @@ -9339,7 +9339,7 @@ void sub_8010874() " mov r0, #0x64\n" " mul r0, r0, r1\n" " ldr r1, ._1215 + 160\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " ldr r2, ._1215 + 164\n" " add r1, r4, r2\n" " strb r0, [r1]\n" diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 038b4f5cf..3415d9337 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -5111,7 +5111,7 @@ static void atk15_seteffectwithchance(void) lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ mov r1, #0x64\n\ - bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + bl __umodsi3\n\ lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ cmp r0, r4\n\ diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 7e3655e4a..cbca4a586 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -2234,7 +2234,7 @@ void debug_sub_803107C(void) mov r7, #0x0\n\ ldr r0, ._369\n\ ldr r0, [r0]\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ + bl _call_via_r0\n\ ldr r0, ._369 + 4\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 1b6240159..b703bc7b8 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -1405,7 +1405,7 @@ void sub_804454C() " add r1, r1, r0\n" " mov r0, sp\n" " ldr r2, ._150 + 36\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" + " bl CpuSet\n" " ldrb r4, [r5]\n" " ldrh r0, [r7]\n" " mov r1, sl\n" @@ -1467,7 +1467,7 @@ void sub_804454C() " ldr r2, ._153 + 4\n" " add r1, r1, r2\n" " ldr r2, ._153 + 8\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" + " bl CpuSet\n" " b ._163\n" "._154:\n" " .align 2, 0\n" @@ -1521,7 +1521,7 @@ void sub_804454C() " add r1, r1, r6\n" " mov r0, sp\n" " ldr r2, ._161 + 4\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cb4\n" + " bl CpuSet\n" " ldrb r4, [r5]\n" " ldrh r0, [r7]\n" " mov r1, sl\n" diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index 8dae98b66..817382911 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -2407,7 +2407,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ mov r1, #0x3\n\ - bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + bl __umodsi3\n\ lsl r0, r0, #0x10\n\ lsr r4, r0, #0x10\n\ cmp r4, #0\n\ @@ -3332,7 +3332,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ mov r1, #0xa\n\ - bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + bl __umodsi3\n\ lsl r0, r0, #0x10\n\ cmp r0, #0\n\ beq ._1091 @cond_branch\n\ @@ -3542,7 +3542,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ mov r1, #0x3\n\ - bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + bl __umodsi3\n\ lsl r0, r0, #0x10\n\ cmp r0, #0\n\ beq ._1124 @cond_branch\n\ @@ -3737,7 +3737,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ mov r1, #0x3\n\ - bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + bl __umodsi3\n\ lsl r0, r0, #0x10\n\ cmp r0, #0\n\ beq ._1155 @cond_branch\n\ @@ -3932,7 +3932,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ mov r1, #0x3\n\ - bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + bl __umodsi3\n\ lsl r0, r0, #0x10\n\ cmp r0, #0\n\ beq ._1186 @cond_branch\n\ @@ -4204,7 +4204,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) lsl r0, r0, #0x10\n\ lsr r0, r0, #0x10\n\ mov r1, #0x3\n\ - bl gMysteryEventScriptCmdTableEnd+0x43d0\n\ + bl __umodsi3\n\ lsl r0, r0, #0x10\n\ cmp r0, #0\n\ beq ._1232 @cond_branch\n\ diff --git a/src/contest.c b/src/contest.c index 20e202d80..834d641d0 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1392,7 +1392,7 @@ void debug_sub_80BA054() mov r0, r9\n\ mov r1, #0x0\n\ mov r2, #0x14\n\ - bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + bl memset\n\ ldr r4, ._262 + 8\n\ ldrb r0, [r4]\n\ bl sub_80B28F0\n\ @@ -1505,7 +1505,7 @@ void debug_sub_80BA054() ._241:\n\ ldr r0, ._273\n\ ldr r0, [r0]\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ + bl _call_via_r0\n\ ldr r0, ._273 + 4\n\ ldrb r4, [r0]\n\ cmp r4, #0\n\ diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 572251fb4..d9f14a6b8 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -172,7 +172,7 @@ void debug_sub_8076BB4() " add r2, r2, #0x4\n" " add r0, r0, r2\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " b ._24\n" "._14:\n" " .align 2, 0\n" @@ -888,7 +888,7 @@ void DebugMenu_8077020() " lsr r4, r0, #0x18\n" " ldr r0, ._109\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " cmp r0, #0x1\n" @@ -1060,7 +1060,7 @@ void DebugMenu_807709C() " add r1, r1, #0x4\n" " add r0, r0, r1\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " b ._132\n" @@ -1187,18 +1187,18 @@ void DebugMenu_8077238() " ldr r1, ._139\n" " mov r0, sp\n" " mov r2, #0x2\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, sp, #0x4\n" " mov r9, r0\n" " ldr r1, ._139 + 4\n" " mov r2, #0x3\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r1, sp, #0x8\n" " mov sl, r1\n" " ldr r1, ._139 + 8\n" " mov r0, sl\n" " mov r2, #0x3\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " mov r2, #0x0\n" " str r2, [sp, #0x14]\n" " add r4, sp, #0x10\n" @@ -1932,7 +1932,7 @@ void DebugMenu_80776B4() " ldr r1, ._183\n" " mov r0, sp\n" " mov r2, #0x7\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " lsl r3, r4, #0x1\n" " lsl r5, r4, #0x19\n" " lsr r5, r5, #0x18\n" @@ -1975,7 +1975,7 @@ void DebugMenu_8077704() " ldr r1, ._185\n" " mov r0, sp\n" " mov r2, #0x11\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " mov r0, #0x13\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" @@ -2174,7 +2174,7 @@ void DebugMenu_807786C() " ldr r1, ._205\n" " mov r0, sp\n" " mov r2, #0x7\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " mov r0, #0x19\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" @@ -2873,7 +2873,7 @@ void DebugMenu_8077C3C() " add r0, r2, #0\n" " mov r1, #0xa\n" " str r3, [sp]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " add r2, r0, #0\n" " ldr r3, [sp]\n" " cmp r4, r6\n" @@ -5580,7 +5580,7 @@ void DebugMenu_8078E04() " lsr r4, r0, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" + " bl ProgramFlashSectorAndVerify\n" " cmp r0, #0\n" " bne ._576 @cond_branch\n" " mov r0, #0x80\n" @@ -5613,13 +5613,13 @@ void DebugMenu_8078E40() " add r6, r2, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " bl gMysteryEventScriptCmdTableEnd+0x19f4\n" + " bl m4aSoundVSyncOff\n" " add r0, r4, #0\n" " add r1, r5, #0\n" " add r2, r6, #0\n" " bl DebugMenu_8078E04\n" " add r4, r0, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x1a70\n" + " bl m4aSoundVSyncOn\n" " add r0, r4, #0\n" " pop {r4, r5, r6}\n" " pop {r1}\n" @@ -5639,7 +5639,7 @@ void DebugMenu_8078E68() " lsr r0, r0, #0x18\n" " mov r1, #0x0\n" " add r2, r4, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" + " bl ReadFlash\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index fe2e6317e..411b32fe3 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -14,7 +14,7 @@ int debug_sub_813C404() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -42,7 +42,7 @@ int debug_sub_813C430() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -70,7 +70,7 @@ int debug_sub_813C45C() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -98,7 +98,7 @@ int debug_sub_813C488() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -124,7 +124,7 @@ int debug_sub_813C4B4() " ldr r1, ._9 + 4\n" " sub r4, r4, r1\n" " add r2, r4, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r4, #0\n" " pop {r4}\n" " pop {r1}\n" @@ -149,7 +149,7 @@ int debug_sub_813C4D4() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_81261B4\n" @@ -177,7 +177,7 @@ int debug_sub_813C500() " sub r5, r5, r4\n" " add r1, r4, #0\n" " add r2, r5, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r4, #0\n" " bl unref_sub_812620C\n" @@ -212,7 +212,7 @@ void debug_sub_813C52C() " mov r0, r8\n" " add r1, r4, #0\n" " add r2, r6, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " ldr r0, ._15 + 8\n" " sub r0, r0, r4\n" " add r0, r0, r8\n" @@ -522,7 +522,7 @@ int debug_sub_813C740() " add r0, r6, #0\n" " mov r1, r8\n" " mov r2, r9\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r5, #0\n" " mov r1, #0x19\n" " mov r2, #0x5\n" @@ -569,7 +569,7 @@ int debug_sub_813C740() " sub r0, r0, r1\n" " add r1, r5, #0\n" " mov r2, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " ldr r0, ._29 + 20\n" " add r6, r6, r0\n" " mov r0, r8\n" @@ -577,7 +577,7 @@ int debug_sub_813C740() " add r0, r6, #0\n" " mov r1, sp\n" " mov r2, #0x24\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " mov r0, r9\n" " add sp, sp, #0x30\n" " pop {r3, r4, r5}\n" @@ -617,7 +617,7 @@ int debug_sub_813C810() " add r0, r6, #0\n" " add r1, r5, #0\n" " mov r2, r8\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r4, #0\n" " mov r1, #0xc9\n" " mov r2, #0x15\n" @@ -631,13 +631,13 @@ int debug_sub_813C810() " sub r0, r0, r5\n" " add r1, r4, #0\n" " mov r2, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " ldr r0, ._31 + 16\n" " add r0, r6, r0\n" " sub r0, r0, r5\n" " mov r1, sp\n" " mov r2, #0x24\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r5, #0\n" " bl unref_sub_812620C\n" @@ -677,7 +677,7 @@ int debug_sub_813C888() " add r0, r6, #0\n" " add r1, r5, #0\n" " mov r2, r8\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r4, #0\n" " mov r1, #0xc9\n" " mov r2, #0x15\n" @@ -693,13 +693,13 @@ int debug_sub_813C888() " sub r0, r0, r5\n" " add r1, r4, #0\n" " mov r2, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " ldr r0, ._33 + 16\n" " add r0, r6, r0\n" " sub r0, r0, r5\n" " mov r1, sp\n" " mov r2, #0x24\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r6, #0\n" " add r1, r5, #0\n" " bl unref_sub_812620C\n" @@ -768,7 +768,7 @@ int debug_sub_813C93C() " sub r5, r5, r6\n" " add r1, r6, #0\n" " add r2, r5, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " bl SavePlayerParty\n" " bl debug_sub_813C904\n" " ldr r1, ._37 + 8\n" @@ -782,7 +782,7 @@ int debug_sub_813C93C() " add r0, r4, #0\n" " mov r1, sp\n" " mov r2, #0xbc\n" - " bl gMysteryEventScriptCmdTableEnd+0x5bc4\n" + " bl memcpy\n" " add r0, r5, #0\n" " add sp, sp, #0xbc\n" " pop {r4, r5, r6}\n" diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 656e774c5..da2973945 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -465,7 +465,7 @@ void debug_sub_815D04C() " add r1, r1, r0\n" " ldr r0, ._133 + 8\n" " ldr r1, [r1]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf8\n" + " bl _call_via_r1\n" " ldr r0, ._133 + 12\n" " add r1, r6, r0\n" " ldrb r0, [r1]\n" diff --git a/src/engine/save.c b/src/engine/save.c index d11eebaac..0eb93eb1d 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -690,7 +690,7 @@ void sub_813B79C() " strh r0, [r1]\n" " add r0, r5, #0\n" " add r1, r4, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" + " bl ProgramFlashSectorAndVerify\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" @@ -718,7 +718,7 @@ void sub_813B79C() " lsr r4, r4, #0x10\n" " add r0, r4, #0\n" " add r1, r6, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2f60\n" + " bl ProgramFlashSectorAndVerify\n" " add r0, r5, #1\n" " lsl r0, r0, #0x10\n" " lsr r5, r0, #0x10\n" diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 421cd0779..7902427e0 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -424,7 +424,7 @@ bool8 VerifySectorWipe(u16 sector) " mov r3, #0x80\n" " lsl r3, r3, #0x5\n" " mov r1, #0x0\n" - " bl gMysteryEventScriptCmdTableEnd+0x2d64\n" + " bl ReadFlash\n" " mov r0, #0x0\n" " ldr r1, ._50 + 4\n" "._49:\n" diff --git a/src/field/choose_party.c b/src/field/choose_party.c index fd5808fc3..b2d950e35 100644 --- a/src/field/choose_party.c +++ b/src/field/choose_party.c @@ -540,7 +540,7 @@ void debug_sub_81381B4() " add r0, r4, #0\n" " mov r1, #0x0\n" " mov r2, #0x60\n" - " bl gMysteryEventScriptCmdTableEnd+0x5c24\n" + " bl memset\n" " mov r7, #0x0\n" " mov r8, r4\n" " mov r0, #0x4\n" diff --git a/src/field/field_player_avatar.c b/src/field/field_player_avatar.c index 85cfdb829..c382db19f 100644 --- a/src/field/field_player_avatar.c +++ b/src/field/field_player_avatar.c @@ -291,7 +291,7 @@ u8 TryDoMetatileBehaviorForcedMovement() " lsr r0, r0, #0x16\n" " add r0, r0, r4\n" " ldr r0, [r0]\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cf4\n" + " bl _call_via_r0\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" "._26:\n" @@ -513,7 +513,7 @@ void MovePlayerNotOnBike(u8 u81, u16 u161) " ldr r2, [r0]\n" " add r0, r5, #0\n" " add r1, r6, #0\n" - " bl gMysteryEventScriptCmdTableEnd+0x3cfc\n" + " bl _call_via_r2\n" "._83:\n" " pop {r4, r5, r6}\n" " pop {r0}\n" diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 4fdb17786..4108145c1 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -989,7 +989,7 @@ bool8 InitPartyMenu(void) add r2, r2, #0x4\n\ add r0, r0, r2\n\ ldr r0, [r0]\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ + bl _call_via_r0\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ cmp r0, #0x1\n\ diff --git a/src/field/secret_base.c b/src/field/secret_base.c index 082e8ebc6..01e9711dc 100644 --- a/src/field/secret_base.c +++ b/src/field/secret_base.c @@ -1686,13 +1686,13 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) add r0, r6, r4\n\ mov r1, #0x0\n\ add r2, r5, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + bl memset\n\ add r4, r4, r5\n\ add r4, r6, r4\n\ add r0, r4, #0\n\ mov r1, #0x0\n\ add r2, r5, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + bl memset\n\ b ._505\n\ ._501:\n\ lsl r0, r5, #0x1\n\ @@ -1700,7 +1700,7 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) add r0, r6, r0\n\ mov r1, #0x0\n\ add r2, r5, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + bl memset\n\ ._505:\n\ cmp r7, #0x1\n\ beq ._506 @cond_branch\n\ diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 63f1b322a..6f187ad71 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -646,7 +646,7 @@ void debug_sub_803F55C() " ldr r4, [sp]\n" " mul r0, r0, r4\n" " mov r1, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " add r0, r0, r4\n" " add r0, r0, #0xa\n" " str r0, [sp, #0x4]\n" @@ -673,7 +673,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x8]\n" " add r0, r5, #0\n" @@ -705,7 +705,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " add r0, r0, #0x5\n" " str r0, [sp, #0xc]\n" " add r0, r5, #0\n" @@ -737,7 +737,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x10]\n" " add r0, r5, #0\n" @@ -769,7 +769,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x14]\n" " add r0, r5, #0\n" @@ -801,7 +801,7 @@ void debug_sub_803F55C() " ldr r1, [sp]\n" " mul r0, r0, r1\n" " mov r1, #0x64\n" - " bl gMysteryEventScriptCmdTableEnd+0x3d30\n" + " bl __divsi3\n" " add r0, r0, #0x5\n" " str r0, [sp, #0x18]\n" " add r0, r5, #0\n" diff --git a/src/pokemon/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c index 29973fd99..f1bded592 100644 --- a/src/pokemon/pokemon_summary_screen.c +++ b/src/pokemon/pokemon_summary_screen.c @@ -1042,7 +1042,7 @@ bool8 sub_809DA84(void) lsl r1, r1, #0x2\n\ add r1, r1, r0\n\ ldr r0, [r1]\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cf4\n\ + bl _call_via_r0\n\ ._132:\n\ ldr r1, ._134 + 8\n\ ldr r2, ._134 + 12\n\ @@ -1071,7 +1071,7 @@ bool8 sub_809DA84(void) add r1, r1, r2\n\ add r0, r0, #0x10\n\ ldr r1, [r1]\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cf8\n\ + bl _call_via_r1\n\ ldr r1, ._140 + 8\n\ ldr r2, ._140 + 12\n\ add r1, r1, r2\n\ diff --git a/src/roulette.c b/src/roulette.c index e01f085a2..5a8d35647 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -646,10 +646,10 @@ void sub_8115384(void) ldr r0, ._47 + 16\n\ mov r1, #0xc0\n\ lsl r1, r1, #0x13\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cb8\n\ + bl LZ77UnCompVram\n\ ldr r0, ._47 + 20\n\ ldr r1, ._47 + 24\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cb8\n\ + bl LZ77UnCompVram\n\ ldr r1, ._47 + 28\n\ ldr r3, ._47 + 32\n\ add r1, r1, r3\n\ @@ -706,10 +706,10 @@ void sub_8115384(void) bl ClearBGTilemapBuffers\n\ ldr r0, ._56\n\ ldr r1, ._56 + 4\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cbc\n\ + bl LZ77UnCompWram\n\ ldr r0, ._56 + 8\n\ ldr r1, ._56 + 12\n\ - bl gMysteryEventScriptCmdTableEnd+0x3cb8\n\ + bl LZ77UnCompVram\n\ ldr r1, ._56 + 16\n\ ldr r3, ._56 + 20\n\ add r1, r1, r3\n\ @@ -1051,11 +1051,11 @@ void sub_8115634(u8 unused) ldr r1, ._75 + 16\n\ str r1, [r0]\n\ ldr r0, ._75 + 20\n\ - bl gMysteryEventScriptCmdTableEnd+0x1c08\n\ + bl m4aMPlayStop\n\ ldr r0, ._75 + 24\n\ - bl gMysteryEventScriptCmdTableEnd+0x1c08\n\ + bl m4aMPlayStop\n\ ldr r0, ._75 + 28\n\ - bl gMysteryEventScriptCmdTableEnd+0x1c08\n\ + bl m4aMPlayStop\n\ ._74:\n\ pop {r4, r5, r6}\n\ pop {r0}\n\ @@ -2034,7 +2034,7 @@ void sub_8116B40(u8 taskid) // end roulette ? mov r2, #0xbe\n\ lsl r2, r2, #0x1\n\ mov r1, #0x0\n\ - bl gMysteryEventScriptCmdTableEnd+0x5c24\n\ + bl memset\n\ ldr r1, ._381 + 4\n\ ldr r0, ._381 + 8\n\ mov r4, #0x0\n\ @@ -4473,7 +4473,7 @@ void debug_sub_812E698() add r0, r7, #0\n\ bl sub_81186B8\n\ mov r0, #0x38\n\ - bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + bl m4aSongNumStart\n\ bl Random\n\ mov r1, #0x1\n\ and r1, r1, r0\n\ @@ -4489,7 +4489,7 @@ void debug_sub_812E698() ldrb r0, [r0]\n\ add r0, r0, #0x1\n\ mov r1, #0xc\n\ - bl gMysteryEventScriptCmdTableEnd+0x3e40\n\ + bl __modsi3\n\ add r1, r4, #0\n\ add r1, r1, #0x7f\n\ strb r0, [r1]\n\ @@ -4515,7 +4515,7 @@ void debug_sub_812E698() add r0, r0, r1\n\ ldr r1, [r0]\n\ add r0, r1, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x54dc\n\ + bl __addsf3\n\ str r0, [r5]\n\ add r0, r6, #0\n\ add r0, r0, #0x7e\n\ @@ -4845,7 +4845,7 @@ void sub_8118F8C(struct Sprite *sprite) mov r8, r0\n\ ldr r0, [r0]\n\ ldr r1, ._868 + 4\n\ - bl gMysteryEventScriptCmdTableEnd+0x5928\n\ + bl __gtsf2\n\ cmp r0, #0\n\ bgt ._874 @cond_branch\n\ add r0, r6, #0\n\ @@ -4868,26 +4868,26 @@ void sub_8118F8C(struct Sprite *sprite) mov r4, #0x3\n\ ldsb r4, [r0, r4]\n\ add r0, r4, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x5a48\n\ + bl __floatsisf\n\ add r5, r0, #0\n\ cmp r4, #0\n\ bge ._865 @cond_branch\n\ ldr r1, ._868 + 16\n\ - bl gMysteryEventScriptCmdTableEnd+0x54dc\n\ + bl __addsf3\n\ add r5, r0, #0\n\ ._865:\n\ lsr r0, r7, #0x19\n\ add r0, r0, r9\n\ ldrb r0, [r0, #0x4]\n\ add r0, r0, #0x1\n\ - bl gMysteryEventScriptCmdTableEnd+0x5a48\n\ + bl __floatsisf\n\ add r1, r0, #0\n\ add r0, r5, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x56a0\n\ + bl __divsf3\n\ add r1, r0, #0\n\ mov r2, r8\n\ ldr r0, [r2]\n\ - bl gMysteryEventScriptCmdTableEnd+0x5508\n\ + bl __subsf3\n\ mov r1, r8\n\ str r0, [r1]\n\ mov r0, #0x4\n\ @@ -4923,13 +4923,13 @@ void sub_8118F8C(struct Sprite *sprite) ldr r0, [r6]\n\ ldr r4, ._875\n\ add r1, r4, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x58e0\n\ + bl __nesf2\n\ cmp r0, #0\n\ beq ._874 @cond_branch\n\ mov r2, r8\n\ ldr r0, [r2]\n\ add r1, r4, #0\n\ - bl gMysteryEventScriptCmdTableEnd+0x59b8\n\ + bl __ltsf2\n\ cmp r0, #0\n\ bge ._874 @cond_branch\n\ str r4, [r6]\n\ @@ -4938,11 +4938,11 @@ void sub_8118F8C(struct Sprite *sprite) add r4, r5, #0\n\ add r4, r4, #0x98\n\ ldr r0, [r4]\n\ - bl gMysteryEventScriptCmdTableEnd+0x5b4c\n\ + bl __extendsfdf2\n\ ldr r2, ._875 + 4\n\ ldr r3, ._875 + 8\n\ - bl gMysteryEventScriptCmdTableEnd+0x4c2c\n\ - bl gMysteryEventScriptCmdTableEnd+0x51e8\n\ + bl __divdf3\n\ + bl __truncdfsf2\n\ str r0, [r4]\n\ ._874:\n\ pop {r3, r4}\n\ diff --git a/src/scene/cute_sketch.c b/src/scene/cute_sketch.c index c4d9463f5..848249528 100644 --- a/src/scene/cute_sketch.c +++ b/src/scene/cute_sketch.c @@ -212,7 +212,7 @@ void debug_sub_8110D84(void) b ._65\n\ ._38:\n\ mov r0, #0x5\n\ - bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + bl m4aSongNumStart\n\ ldr r1, ._41 + 4\n\ add r0, r4, r1\n\ mov r1, #0x1\n\ @@ -228,7 +228,7 @@ void debug_sub_8110D84(void) .word sub_80FC69C+1\n\ ._36:\n\ mov r0, #0x5\n\ - bl gMysteryEventScriptCmdTableEnd+0x13c0\n\ + bl m4aSongNumStart\n\ mov r0, #0x1\n\ neg r0, r0\n\ mov r1, #0x0\n\ -- cgit v1.2.3 From 305f571fb55bedea92eb0afad0d908fafc60f5c6 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 00:32:33 -0600 Subject: dump more baseroms and fix more false offsets --- src/debug/tomomichi_debug_menu.c | 8 ++-- src/debug/unk_debug_menu_3.c | 80 ++++++++++++++++++++-------------------- src/engine/mystery_event_menu.c | 18 ++++----- 3 files changed, 53 insertions(+), 53 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 0549cb5c0..68c05270f 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -4223,7 +4223,7 @@ void debug_sub_808D54C() " .align 2, 0\n" "._325:\n" " .word gMain\n" - " .word gUnknown_Debug_083C1194+0x2\n" + " .word gUnknown_Debug_083C1196\n" "._323:\n" " add r0, r4, #0\n" " bl FlagClear\n" @@ -4288,7 +4288,7 @@ void debug_sub_808D59C() " .align 2, 0\n" "._329:\n" " .word gUnknown_Debug_083C1194\n" - " .word gUnknown_Debug_083C1194+0x2\n" + " .word gUnknown_Debug_083C1196\n" "\n" ); } @@ -4554,7 +4554,7 @@ void debug_sub_808D790() " .align 2, 0\n" "._351:\n" " .word gMain\n" - " .word gUnknown_Debug_083C12D0+0x2\n" + " .word gUnknown_Debug_083C12D2\n" "._349:\n" " add r0, r4, #0\n" " bl FlagClear\n" @@ -4619,7 +4619,7 @@ void debug_sub_808D7E0() " .align 2, 0\n" "._355:\n" " .word gUnknown_Debug_083C12D0\n" - " .word gUnknown_Debug_083C12D0+0x2\n" + " .word gUnknown_Debug_083C12D2\n" "\n" ); } diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 411b32fe3..fa944b25f 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -25,8 +25,8 @@ int debug_sub_813C404() "._2:\n" " .align 2, 0\n" "._1:\n" - " .word gOtherText_DataCannotUseVersion+0x30d\n" - " .word gOtherText_DataCannotUseVersion+0x3c\n" + " .word gUnknown_Debug_845DDB2\n" + " .word gUnknown_Debug_845DAE1\n" "\n" ); } @@ -53,8 +53,8 @@ int debug_sub_813C430() "._4:\n" " .align 2, 0\n" "._3:\n" - " .word gOtherText_DataCannotUseVersion+0x95d\n" - " .word gOtherText_DataCannotUseVersion+0x93b\n" + " .word gUnknown_Debug_845E402\n" + " .word gUnknown_Debug_845E3E0\n" "\n" ); } @@ -81,8 +81,8 @@ int debug_sub_813C45C() "._6:\n" " .align 2, 0\n" "._5:\n" - " .word gOtherText_DataCannotUseVersion+0x99e\n" - " .word gOtherText_DataCannotUseVersion+0x97d\n" + " .word gUnknown_Debug_845E443\n" + " .word gUnknown_Debug_845E422\n" "\n" ); } @@ -109,8 +109,8 @@ int debug_sub_813C488() "._8:\n" " .align 2, 0\n" "._7:\n" - " .word gOtherText_DataCannotUseVersion+0x97d\n" - " .word gOtherText_DataCannotUseVersion+0x95d\n" + " .word gUnknown_Debug_845E422\n" + " .word gUnknown_Debug_845E402\n" "\n" ); } @@ -132,8 +132,8 @@ int debug_sub_813C4B4() "._10:\n" " .align 2, 0\n" "._9:\n" - " .word gOtherText_DataCannotUseVersion+0xb74\n" - " .word gOtherText_DataCannotUseVersion+0xb61\n" + " .word gUnknown_Debug_845E619\n" + " .word gUnknown_Debug_845E606\n" "\n" ); } @@ -160,8 +160,8 @@ int debug_sub_813C4D4() "._12:\n" " .align 2, 0\n" "._11:\n" - " .word gOtherText_DataCannotUseVersion+0xc6d\n" - " .word gOtherText_DataCannotUseVersion+0xb74\n" + " .word gUnknown_Debug_845E712\n" + " .word gUnknown_Debug_845E619\n" "\n" ); } @@ -188,8 +188,8 @@ int debug_sub_813C500() "._14:\n" " .align 2, 0\n" "._13:\n" - " .word gOtherText_DataCannotUseVersion+0xcf2\n" - " .word gOtherText_DataCannotUseVersion+0xc6d\n" + " .word gUnknown_Debug_845E797\n" + " .word gUnknown_Debug_845E712\n" "\n" ); } @@ -234,9 +234,9 @@ void debug_sub_813C52C() "._16:\n" " .align 2, 0\n" "._15:\n" - " .word gOtherText_DataCannotUseVersion+0xd16\n" - " .word gOtherText_DataCannotUseVersion+0xcf2\n" - " .word gOtherText_DataCannotUseVersion+0xd10\n" + " .word gUnknown_Debug_845E7BB\n" + " .word gUnknown_Debug_845E797\n" + " .word gUnknown_Debug_845E7B5\n" "\n" ); } @@ -358,10 +358,10 @@ int debug_sub_813C5B4() " .align 2, 0\n" "._23:\n" " .word gSaveBlock1+0x3160\n" - " .word gOtherText_DataCannotUseVersion+0x331\n" - " .word gOtherText_DataCannotUseVersion+0x30d\n" - " .word gOtherText_DataCannotUseVersion+0x861\n" - " .word sUnusedFlashSectors+0x8\n" + " .word gUnknown_Debug_845DDD6\n" + " .word gUnknown_Debug_845DDB2\n" + " .word gUnknown_Debug_845E306\n" + " .word Str_842E23C\n" " .word 0xfff\n" " .word 0x52f\n" "\n" @@ -422,8 +422,8 @@ void debug_sub_813C638() " .align 2, 0\n" "._25:\n" " .word 0x270f\n" - " .word sUnusedFlashSectors+0xc\n" - " .word sUnusedFlashSectors+0x14\n" + " .word Str_842E240\n" + " .word Str_842E248\n" "\n" ); } @@ -590,12 +590,12 @@ int debug_sub_813C740() "._30:\n" " .align 2, 0\n" "._29:\n" - " .word gOtherText_DataCannotUseVersion+0x99e\n" - " .word gOtherText_DataCannotUseVersion+0xa4a\n" + " .word gUnknown_Debug_845E443\n" + " .word gUnknown_Debug_845E4EF\n" " .word gEnemyParty\n" - " .word sUnusedFlashSectors+0x4\n" - " .word gOtherText_DataCannotUseVersion+0x9c2\n" - " .word gOtherText_DataCannotUseVersion+0xa26\n" + " .word Str_842E238\n" + " .word gUnknown_Debug_845E467\n" + " .word gUnknown_Debug_845E4CB\n" "\n" ); } @@ -651,11 +651,11 @@ int debug_sub_813C810() "._32:\n" " .align 2, 0\n" "._31:\n" - " .word gOtherText_DataCannotUseVersion+0x99e\n" - " .word gOtherText_DataCannotUseVersion+0xa4a\n" + " .word gUnknown_Debug_845E443\n" + " .word gUnknown_Debug_845E4EF\n" " .word gEnemyParty\n" - " .word gOtherText_DataCannotUseVersion+0x9c2\n" - " .word gOtherText_DataCannotUseVersion+0xa26\n" + " .word gUnknown_Debug_845E467\n" + " .word gUnknown_Debug_845E4CB\n" "\n" ); } @@ -713,11 +713,11 @@ int debug_sub_813C888() "._34:\n" " .align 2, 0\n" "._33:\n" - " .word gOtherText_DataCannotUseVersion+0x99e\n" - " .word gOtherText_DataCannotUseVersion+0xa4a\n" + " .word gUnknown_Debug_845E443\n" + " .word gUnknown_Debug_845E4EF\n" " .word gEnemyParty\n" - " .word gOtherText_DataCannotUseVersion+0x9c2\n" - " .word gOtherText_DataCannotUseVersion+0xa26\n" + " .word gUnknown_Debug_845E467\n" + " .word gUnknown_Debug_845E4CB\n" "\n" ); } @@ -791,11 +791,11 @@ int debug_sub_813C93C() "._38:\n" " .align 2, 0\n" "._37:\n" - " .word gOtherText_DataCannotUseVersion+0xa4a\n" - " .word gOtherText_DataCannotUseVersion+0xb61\n" - " .word sUnusedFlashSectors+0x24\n" + " .word gUnknown_Debug_845E4EF\n" + " .word gUnknown_Debug_845E606\n" + " .word Str_842E253+5 @ weird...\n" " .word 0x270f\n" - " .word gOtherText_DataCannotUseVersion+0xa61\n" + " .word gUnknown_Debug_845E506\n" "\n" ); } diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index da2973945..c80a8f3e9 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -397,9 +397,9 @@ void debug_sub_815D04C() " .align 2, 0\n" "._125:\n" " .word gTasks\n" - " .word sUnusedFlashSectors+0x9c\n" + " .word gUnknown_Debug_842E2D0\n" " .word gMain\n" - " .word sUnusedFlashSectors+0x11c\n" + " .word gUnknown_Debug_842E350\n" "._123:\n" " sub r0, r1, #1\n" "._124:\n" @@ -435,7 +435,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._130:\n" " .word gTasks\n" - " .word sUnusedFlashSectors+0x11c\n" + " .word gUnknown_Debug_842E350\n" "._128:\n" " ldrh r0, [r4, #0xa]\n" " add r0, r0, #0x1\n" @@ -481,7 +481,7 @@ void debug_sub_815D04C() " .align 2, 0\n" "._133:\n" " .word gTasks\n" - " .word sUnusedFlashSectors+0x9c\n" + " .word gUnknown_Debug_842E2D0\n" " .word +0x2004000\n" " .word 0x43c\n" "\n" @@ -603,7 +603,7 @@ void debug_sub_815D1D8() "._161:\n" " .word gPaletteFade\n" " .word gLinkTestBlockChecksums+0x8\n" - " .word gUnknown_0841192C+0x14\n" + " .word Str_843DA70\n" " .word 0x43c\n" "._144:\n" " bl Menu_UpdateWindowText\n" @@ -653,7 +653,7 @@ void debug_sub_815D1D8() "._171:\n" " .word gReceivedRemoteLinkPlayers\n" " .word 0x43c\n" - " .word gUnknown_0841192C+0x28\n" + " .word Str_843DA84\n" "._146:\n" " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" @@ -690,8 +690,8 @@ void debug_sub_815D1D8() "._180:\n" " .align 2, 0\n" "._179:\n" - " .word gUnknown_0841192C+0x3c\n" - " .word +0x2004000\n" + " .word Str_843DA98\n" + " .word 0x2004000\n" " .word 0x2004\n" " .word gMain\n" " .word 0x43c\n" @@ -743,7 +743,7 @@ void debug_sub_815D1D8() " .align 2, 0\n" "._190:\n" " .word gReceivedRemoteLinkPlayers\n" - " .word gUnknown_0841192C+0x47\n" + " .word Str_843DAA3\n" " .word gMain\n" " .word 0x43c\n" "._152:\n" -- cgit v1.2.3 From 960bc2dd01bfc5bada0cbd96318440c81cfc235d Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 15:29:39 -0600 Subject: fix more false offsets --- src/debug/nakamura_debug_menu.c | 152 +++++++++++---------- src/debug/start_menu_debug.c | 171 ++++++++++++------------ src/debug/taya_debug_window.c | 30 ++--- src/debug/tomomichi_debug_menu.c | 278 ++++++++++++++++++++------------------- src/debug/watanabe_debug_menu.c | 211 ++++++++++++++--------------- src/engine/reset_rtc_screen.c | 8 +- 6 files changed, 442 insertions(+), 408 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 67f4a1af7..328903126 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -2,9 +2,19 @@ #include "global.h" #include "menu.h" -EWRAM_DATA u8 _nakamuraData[0x10] = {0}; +EWRAM_DATA u8 _nakamuraData0 = 0; +EWRAM_DATA u8 _nakamuraData1 = 0; +EWRAM_DATA u8 _nakamuraData2 = 0; +EWRAM_DATA u8 _nakamuraData3 = 0; +EWRAM_DATA u8 _nakamuraData4 = 0; +EWRAM_DATA u8 _nakamuraData5 = 0; +EWRAM_DATA u16 _nakamuraData6 = 0; +EWRAM_DATA u16 _nakamuraData8 = 0; +EWRAM_DATA u16 _nakamuraDataA = 0; +EWRAM_DATA u16 _nakamuraDataC = 0; -static u8 _nakamuraStatic[32] __attribute__((unused)); +__attribute__((unused)) static u8 _nakamuraStatic0[0x18]; +__attribute__((unused)) static u8 _nakamuraStatic18; u8 debug_sub_815FC54(); u8 debug_sub_815F2B4(); @@ -605,7 +615,7 @@ void debug_sub_815F470() " .align 2, 0\n" "._39:\n" " .word gSaveBlock1\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word 0x1a08\n" " .word _843E424\n" "._37:\n" @@ -719,7 +729,7 @@ void debug_sub_815F4D8() " .align 2, 0\n" "._43:\n" " .word gStringVar1\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gSaveBlock1\n" " .word 0x1a08\n" " .word Str_843E550\n" @@ -752,7 +762,7 @@ void debug_sub_815F5C4() " .align 2, 0\n" "._48:\n" " .word gMain\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" "._46:\n" " sub r0, r0, #0x1\n" " b ._50\n" @@ -770,7 +780,7 @@ void debug_sub_815F5C4() "._55:\n" " .align 2, 0\n" "._54:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" "._52:\n" " add r0, r0, #0x1\n" "._50:\n" @@ -824,7 +834,7 @@ u8 debug_sub_815F62C() "._60:\n" " .align 2, 0\n" "._59:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gMenuCallback\n" " .word debug_sub_815F5C4+1\n" "\n" @@ -885,7 +895,7 @@ void debug_sub_815F668() "._62:\n" " .align 2, 0\n" "._61:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gSaveBlock1+0x1a11\n" " .word gStringVar1\n" " .word 0x186a0\n" @@ -927,7 +937,7 @@ void debug_sub_815F6E4() " .align 2, 0\n" "._63:\n" " .word gStringVar1\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gSaveBlock1+0x1a0a\n" "\n" ); @@ -975,7 +985,7 @@ void debug_sub_815F72C() " .align 2, 0\n" "._66:\n" " .word gStringVar1\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gSaveBlock1\n" " .word 0x1a08\n" "\n" @@ -1006,7 +1016,7 @@ void debug_sub_815F788() " .align 2, 0\n" "._68:\n" " .word Str_843E574\n" - " .word _nakamuraData+0x2\n" + " .word _nakamuraData2\n" "\n" ); } @@ -1029,7 +1039,7 @@ void debug_sub_815F7B4() "._73:\n" " .align 2, 0\n" "._72:\n" - " .word _nakamuraData+0x1\n" + " .word _nakamuraData1\n" "._70:\n" " ldr r0, ._74\n" " ldrb r0, [r0]\n" @@ -1045,7 +1055,7 @@ void debug_sub_815F7B4() "._75:\n" " .align 2, 0\n" "._74:\n" - " .word _nakamuraData+0x3\n" + " .word _nakamuraData3\n" " .word Str_843E576\n" "\n" ); @@ -1115,9 +1125,9 @@ void debug_sub_815F7F0() "._79:\n" " .align 2, 0\n" "._78:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gSaveBlock1+0x1a11\n" - " .word _nakamuraData+0x2\n" + " .word _nakamuraData2\n" "\n" ); } @@ -1158,9 +1168,9 @@ void debug_sub_815F86C() "._85:\n" " .align 2, 0\n" "._84:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gSaveBlock1+0x1a0a\n" - " .word _nakamuraData+0x2\n" + " .word _nakamuraData2\n" "._80:\n" " ldr r0, ._87\n" " ldrb r0, [r0]\n" @@ -1174,7 +1184,7 @@ void debug_sub_815F86C() "._88:\n" " .align 2, 0\n" "._87:\n" - " .word _nakamuraData+0x3\n" + " .word _nakamuraData3\n" " .word ._89\n" "._89:\n" " .word ._90\n" @@ -1229,7 +1239,7 @@ void debug_sub_815F86C() "._102:\n" " .align 2, 0\n" "._101:\n" - " .word _nakamuraData+0x2\n" + " .word _nakamuraData2\n" "\n" ); } @@ -1260,7 +1270,7 @@ void debug_sub_815F930() "._108:\n" " .align 2, 0\n" "._107:\n" - " .word _nakamuraData+0x1\n" + " .word _nakamuraData1\n" " .word gMain\n" "._105:\n" " mov r0, #0x1\n" @@ -1296,7 +1306,7 @@ void debug_sub_815F930() "._118:\n" " .align 2, 0\n" "._117:\n" - " .word _nakamuraData+0x2\n" + " .word _nakamuraData2\n" "._115:\n" " sub r0, r0, #0x1\n" "._116:\n" @@ -1319,7 +1329,7 @@ void debug_sub_815F930() "._124:\n" " .align 2, 0\n" "._123:\n" - " .word _nakamuraData+0x2\n" + " .word _nakamuraData2\n" "._121:\n" " add r0, r1, #1\n" " strb r0, [r2]\n" @@ -1344,7 +1354,7 @@ void debug_sub_815F930() "._130:\n" " .align 2, 0\n" "._129:\n" - " .word _nakamuraData+0x3\n" + " .word _nakamuraData3\n" "._126:\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -1433,7 +1443,7 @@ void debug_sub_815FA38() "._147:\n" " .align 2, 0\n" "._146:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" "._144:\n" " sub r0, r0, #0x1\n" " b ._148\n" @@ -1453,7 +1463,7 @@ void debug_sub_815FA38() "._153:\n" " .align 2, 0\n" "._152:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" "._150:\n" " add r0, r0, #0x1\n" "._148:\n" @@ -1495,11 +1505,11 @@ void debug_sub_815FA38() "._160:\n" " .align 2, 0\n" "._159:\n" - " .word _nakamuraData\n" + " .word _nakamuraData0\n" " .word gSaveBlock1\n" " .word 0x1a08\n" - " .word _nakamuraData+0x1\n" - " .word _nakamuraData+0x2\n" + " .word _nakamuraData1\n" + " .word _nakamuraData2\n" " .word gMenuCallback\n" " .word debug_sub_815F930+1\n" "._155:\n" @@ -1558,8 +1568,8 @@ u8 debug_sub_815FB1C() "._163:\n" " .align 2, 0\n" "._162:\n" - " .word _nakamuraData\n" - " .word _nakamuraData+0x3\n" + " .word _nakamuraData0\n" + " .word _nakamuraData3\n" " .word gMenuCallback\n" " .word debug_sub_815FA38+1\n" "\n" @@ -2216,7 +2226,7 @@ void debug_sub_815FFDC() " .align 2, 0\n" "._214:\n" " .word Str_843E5D4\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" " .word gPlayerParty\n" "._212:\n" " mov r0, #0x1\n" @@ -2249,7 +2259,7 @@ void debug_sub_815FFDC() "._218:\n" " .align 2, 0\n" "._217:\n" - " .word _nakamuraData+0x4\n" + " .word _nakamuraData4\n" " .word gMenuCallback\n" " .word debug_sub_8160498+1\n" "\n" @@ -2284,7 +2294,7 @@ void debug_sub_816009C() "._220:\n" " .align 2, 0\n" "._219:\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" " .word gSpeciesNames\n" "\n" ); @@ -2386,7 +2396,7 @@ void debug_sub_816013C() " .align 2, 0\n" "._229:\n" " .word gStringVar1\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" "\n" ); } @@ -2430,7 +2440,7 @@ void debug_sub_816017C() "._233:\n" " .align 2, 0\n" "._232:\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" "\n" ); } @@ -2508,7 +2518,7 @@ void debug_sub_81601C8() "._240:\n" " .align 2, 0\n" "._239:\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" " .word 0xfffffe65\n" " .word 0x19b\n" " .word gPlayerParty\n" @@ -2538,7 +2548,7 @@ void debug_sub_8160258() "._243:\n" " .align 2, 0\n" "._242:\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" "\n" ); } @@ -2613,7 +2623,7 @@ void debug_sub_816027C() "._248:\n" " .align 2, 0\n" "._247:\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" " .word gPlayerParty\n" " .word gBaseStats\n" " .word gExperienceTables\n" @@ -2759,7 +2769,7 @@ void debug_sub_81603B8() "._260:\n" " .align 2, 0\n" "._259:\n" - " .word _nakamuraData+0x4\n" + " .word _nakamuraData4\n" " .word _843E5D1\n" "._257:\n" " lsl r0, r5, #0x1\n" @@ -2780,7 +2790,7 @@ void debug_sub_81603B8() "._265:\n" " .align 2, 0\n" "._264:\n" - " .word _nakamuraData+0x4\n" + " .word _nakamuraData4\n" "._262:\n" " lsl r0, r5, #0x1\n" " add r0, r0, r5\n" @@ -2926,7 +2936,7 @@ void debug_sub_8160498() "._290:\n" " .align 2, 0\n" "._289:\n" - " .word _nakamuraData+0x4\n" + " .word _nakamuraData4\n" "._284:\n" " mov r0, #0x2\n" " and r0, r0, r1\n" @@ -2942,7 +2952,7 @@ void debug_sub_8160498() "._295:\n" " .align 2, 0\n" "._294:\n" - " .word _nakamuraData+0x4\n" + " .word _nakamuraData4\n" "._291:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" @@ -2985,7 +2995,7 @@ void debug_sub_8160498() "._302:\n" " .align 2, 0\n" "._301:\n" - " .word _nakamuraData+0x4\n" + " .word _nakamuraData4\n" "._296:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x2\n" @@ -3041,7 +3051,7 @@ void debug_sub_8160498() "._309:\n" " .align 2, 0\n" "._308:\n" - " .word _nakamuraData+0x4\n" + " .word _nakamuraData4\n" "._303:\n" " mov r0, #0x8\n" " and r0, r0, r2\n" @@ -3179,7 +3189,7 @@ void debug_sub_816062C() " .align 2, 0\n" "._323:\n" " .word gPlayerParty\n" - " .word _nakamuraStatic\n" + " .word _nakamuraStatic0\n" "\n" ); } @@ -3703,7 +3713,7 @@ void debug_sub_8160A80() "._423:\n" " .align 2, 0\n" "._422:\n" - " .word _nakamuraStatic+0x18\n" + " .word _nakamuraStatic18\n" " .word gStringVar1\n" "._420:\n" " cmp r0, #0x1\n" @@ -3813,7 +3823,7 @@ void debug_sub_8160B50() "._446:\n" " .align 2, 0\n" "._445:\n" - " .word _nakamuraStatic+0x18\n" + " .word _nakamuraStatic18\n" "._443:\n" " cmp r0, #0x1\n" " bne ._447 @cond_branch\n" @@ -3883,7 +3893,7 @@ void debug_sub_8160BB0() " .align 2, 0\n" "._456:\n" " .word gStringVar1\n" - " .word _nakamuraStatic+0x18\n" + " .word _nakamuraStatic18\n" "\n" ); } @@ -4027,7 +4037,7 @@ void debug_sub_8160C7C() "._470:\n" " .align 2, 0\n" "._469:\n" - " .word _nakamuraStatic+0x18\n" + " .word _nakamuraStatic18\n" "\n" ); } @@ -4462,7 +4472,7 @@ void debug_sub_8161028() "._497:\n" " .align 2, 0\n" "._496:\n" - " .word _nakamuraData+0x5\n" + " .word _nakamuraData5\n" " .word gPlayerParty\n" "._491:\n" " cmp r1, #0x1\n" @@ -4480,7 +4490,7 @@ void debug_sub_8161028() "._502:\n" " .align 2, 0\n" "._501:\n" - " .word _nakamuraData+0x5\n" + " .word _nakamuraData5\n" "._493:\n" " ldr r0, ._504\n" " strb r5, [r0]\n" @@ -4488,7 +4498,7 @@ void debug_sub_8161028() "._505:\n" " .align 2, 0\n" "._504:\n" - " .word _nakamuraData+0x5\n" + " .word _nakamuraData5\n" "._499:\n" " ldrb r1, [r4]\n" " mov r0, #0x64\n" @@ -4551,7 +4561,7 @@ void debug_sub_81610BC() "._516:\n" " .align 2, 0\n" "._515:\n" - " .word _nakamuraData+0x5\n" + " .word _nakamuraData5\n" " .word gPlayerParty\n" "._513:\n" " mov r0, #0x2\n" @@ -4600,7 +4610,7 @@ void DebugMenu_EffortValues() "._520:\n" " .align 2, 0\n" "._519:\n" - " .word _nakamuraData+0x5\n" + " .word _nakamuraData5\n" " .word gPlayerParty\n" " .word gMenuCallback\n" " .word debug_sub_81610BC+1\n" @@ -4628,8 +4638,8 @@ void debug_sub_8161160() "._524:\n" " .align 2, 0\n" "._523:\n" - " .word _nakamuraData+0x6\n" - " .word _nakamuraData+0x8\n" + " .word _nakamuraData6\n" + " .word _nakamuraData8\n" "._521:\n" " ldrh r6, [r1]\n" " ldrh r5, [r2]\n" @@ -4673,8 +4683,8 @@ void debug_sub_8161160() "._530:\n" " .align 2, 0\n" "._529:\n" - " .word _nakamuraData+0xa\n" - " .word _nakamuraData+0xc\n" + " .word _nakamuraDataA\n" + " .word _nakamuraDataC\n" "\n" ); } @@ -4901,10 +4911,10 @@ void debug_sub_81612EC() "._551:\n" " .align 2, 0\n" "._550:\n" - " .word _nakamuraData+0x6\n" - " .word _nakamuraData+0x8\n" - " .word _nakamuraData+0xc\n" - " .word _nakamuraData+0xa\n" + " .word _nakamuraData6\n" + " .word _nakamuraData8\n" + " .word _nakamuraDataC\n" + " .word _nakamuraDataA\n" "._544:\n" " mov r0, #0x10\n" " and r0, r0, r1\n" @@ -4944,10 +4954,10 @@ void debug_sub_81612EC() "._559:\n" " .align 2, 0\n" "._558:\n" - " .word _nakamuraData+0x6\n" - " .word _nakamuraData+0x8\n" - " .word _nakamuraData+0xc\n" - " .word _nakamuraData+0xa\n" + " .word _nakamuraData6\n" + " .word _nakamuraData8\n" + " .word _nakamuraDataC\n" + " .word _nakamuraDataA\n" "._552:\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x1\n" @@ -4968,7 +4978,7 @@ void debug_sub_81612EC() "._564:\n" " .align 2, 0\n" "._563:\n" - " .word _nakamuraData+0xc\n" + " .word _nakamuraDataC\n" "._560:\n" " mov r0, #0x2\n" " and r0, r0, r1\n" @@ -5018,10 +5028,10 @@ void DebugMenu_RandomNumberTest() "._567:\n" " .align 2, 0\n" "._566:\n" - " .word _nakamuraData+0x6\n" - " .word _nakamuraData+0x8\n" - " .word _nakamuraData+0xc\n" - " .word _nakamuraData+0xa\n" + " .word _nakamuraData6\n" + " .word _nakamuraData8\n" + " .word _nakamuraDataC\n" + " .word _nakamuraDataA\n" " .word gMenuCallback\n" " .word debug_sub_81612EC+1\n" "\n" diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index d9f14a6b8..318785945 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -1,5 +1,14 @@ #if DEBUG +#include "global.h" + +__attribute__((unused)) static u8 gUnknown_030006B8[4]; +__attribute__((unused)) static u8 gUnknown_030006BC[4]; +__attribute__((unused)) static u8 gUnknown_030006C0; +__attribute__((unused)) static u8 gUnknown_030006C1; +__attribute__((unused)) static void *gUnknown_030006C4; +__attribute__((unused)) static u8 gUnknown_030006C8; + __attribute__((naked)) void debug_sub_8076AC8() { @@ -65,9 +74,9 @@ void debug_sub_8076AC8() "._4:\n" " .align 2, 0\n" "._3:\n" - " .word 0x30006c4 @ gTileset1AnimLength\n" - " .word gUnknown_Debug_0839BBC1+0x153\n" - " .word gUnknown_Debug_0839BBC1+0xd3\n" + " .word gUnknown_030006C4 \n" + " .word Str_839BD14\n" + " .word gUnknown_Debug_839BC94\n" "\n" ); } @@ -178,8 +187,8 @@ void debug_sub_8076BB4() " .align 2, 0\n" "._13:\n" " .word gTasks+0x8\n" - " .word gUnknown_Debug_0839BBC1+0xd3\n" - " .word 0x30006c4 @ gTileset1AnimLength\n" + " .word gUnknown_Debug_839BC94\n" + " .word gUnknown_030006C4 \n" "._10:\n" " ldr r0, ._18\n" " ldrh r1, [r0, #0x2e]\n" @@ -511,7 +520,7 @@ void DebugMenu_8076D6C() "._57:\n" " .align 2, 0\n" "._56:\n" - " .word gUnknown_Debug_0839BBC1+0x16b\n" + " .word Str_839BD2C\n" "._47:\n" " ldr r0, ._60\n" " ldrh r2, [r0, #0x2e]\n" @@ -535,7 +544,7 @@ void DebugMenu_8076D6C() " .align 2, 0\n" "._60:\n" " .word gMain\n" - " .word gUnknown_Debug_0839BBC1+0x18b\n" + " .word Str_839BD4C\n" "._58:\n" " mov r0, #0x2\n" " and r0, r0, r2\n" @@ -626,7 +635,7 @@ void DebugMenu_8076E30() "._79:\n" " .align 2, 0\n" "._78:\n" - " .word gUnknown_Debug_0839BBC1+0x199\n" + " .word Str_839BD5A\n" "._69:\n" " ldr r0, ._82\n" " ldrh r2, [r0, #0x2e]\n" @@ -650,7 +659,7 @@ void DebugMenu_8076E30() " .align 2, 0\n" "._82:\n" " .word gMain\n" - " .word gUnknown_Debug_0839BBC1+0x1bc\n" + " .word Str_839BD7D\n" "._80:\n" " mov r0, #0x2\n" " and r0, r0, r2\n" @@ -759,7 +768,7 @@ void DebugMenu_8076EF4() "._94:\n" " .align 2, 0\n" "._93:\n" - " .word gUnknown_Debug_0839BBC1+0x203\n" + " .word gUnknown_Debug_839BDC4\n" "\n" ); } @@ -816,7 +825,7 @@ void DebugMenu_8076F60() "._101:\n" " .align 2, 0\n" "._100:\n" - " .word gUnknown_Debug_0839BBC1+0x203\n" + " .word gUnknown_Debug_839BDC4\n" " .word gSaveBlock2\n" "._98:\n" " mov r0, #0x1\n" @@ -872,9 +881,9 @@ void DebugMenu_8077004() "._107:\n" " .align 2, 0\n" "._106:\n" - " .word 0x30006c4 @ gTileset1AnimLength\n" - " .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n" - " .word gDebug0x839B9BC+0x1a8\n" + " .word gUnknown_030006C4 \n" + " .word gUnknown_030006C1 \n" + " .word gUnknown_Debug_839BB64\n" "\n" ); } @@ -1006,8 +1015,8 @@ void DebugMenu_807709C() " .align 2, 0\n" "._120:\n" " .word gMain\n" - " .word 0x030006c0 @ gNumTilesetAnimDmas\n" - " .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n" + " .word gUnknown_030006C0 \n" + " .word gUnknown_030006C1 \n" "._118:\n" " sub r0, r0, #0x1\n" "._119:\n" @@ -1033,7 +1042,7 @@ void DebugMenu_807709C() " .align 2, 0\n" "._125:\n" " .word gMain\n" - " .word 0x030006c0+0x1 @ gNumTilesetAnimDmas+0x1\n" + " .word gUnknown_030006C1 \n" "._123:\n" " add r0, r0, #0x1\n" "._124:\n" @@ -1069,8 +1078,8 @@ void DebugMenu_807709C() "._129:\n" " .word gMain\n" " .word gDebug0x839B9BC\n" - " .word 0x030006c0 @ gNumTilesetAnimDmas\n" - " .word 0x30006c4 @ gTileset1AnimLength\n" + " .word gUnknown_030006C0 \n" + " .word gUnknown_030006C4 \n" "._127:\n" " mov r0, #0xa\n" " and r0, r0, r1\n" @@ -1127,8 +1136,8 @@ void DebugMenu_807719C() " .align 2, 0\n" "._133:\n" " .word gDebug0x839B9BC\n" - " .word 0x30006c4 @ gTileset1AnimLength\n" - " .word 0x030006c0 @ gNumTilesetAnimDmas\n" + " .word gUnknown_030006C4 \n" + " .word gUnknown_030006C0 \n" "\n" ); } @@ -1168,7 +1177,7 @@ void DebugMenu_80771EC() " .align 2, 0\n" "._135:\n" " .word gStringVar4\n" - " .word gUnknown_Debug_0839BBC1+0x243\n" + " .word Str_839BE04\n" " .word gSaveBlock1\n" "\n" ); @@ -1303,9 +1312,9 @@ void DebugMenu_8077238() "._140:\n" " .align 2, 0\n" "._139:\n" - " .word gUnknown_Debug_0839BBC1+0x246\n" - " .word gUnknown_Debug_0839BBC1+0x248\n" - " .word gUnknown_Debug_0839BBC1+0x24b\n" + " .word Str_839BE07\n" + " .word Str_839BE09\n" + " .word Str_839BE0C\n" " .word gStringVar4\n" "\n" ); @@ -1527,7 +1536,7 @@ void DebugMenu_8077434() "._158:\n" " .align 2, 0\n" "._157:\n" - " .word gUnknown_Debug_0839BBC1+0x24e\n" + " .word Str_839BE0F\n" "._152:\n" " ldr r0, ._160\n" " mov r1, #0x2\n" @@ -1542,7 +1551,7 @@ void DebugMenu_8077434() "._161:\n" " .align 2, 0\n" "._160:\n" - " .word gUnknown_Debug_0839BBC1+0x251\n" + " .word Str_839BE12\n" "._153:\n" " ldr r0, ._163\n" " mov r1, #0x3\n" @@ -1556,7 +1565,7 @@ void DebugMenu_8077434() "._164:\n" " .align 2, 0\n" "._163:\n" - " .word gUnknown_Debug_0839BBC1+0x255\n" + " .word Str_839BE16\n" "._154:\n" " ldr r0, ._166\n" " mov r1, #0x4\n" @@ -1576,7 +1585,7 @@ void DebugMenu_8077434() "._167:\n" " .align 2, 0\n" "._166:\n" - " .word gUnknown_Debug_0839BBC1+0x259\n" + " .word Str_839BE1A\n" "._155:\n" " ldr r0, ._168\n" " mov r1, #0x4\n" @@ -1598,7 +1607,7 @@ void DebugMenu_8077434() "._169:\n" " .align 2, 0\n" "._168:\n" - " .word gUnknown_Debug_0839BBC1+0x25d\n" + " .word Str_839BE1E\n" "\n" ); } @@ -1617,7 +1626,7 @@ void DebugMenu_807750C() "._171:\n" " .align 2, 0\n" "._170:\n" - " .word gUnknown_Debug_0839BBC1+0x263\n" + " .word gUnknown_Debug_839BE24\n" "\n" ); } @@ -1640,7 +1649,7 @@ void DebugMenu_SetRamBerry() "._173:\n" " .align 2, 0\n" "._172:\n" - " .word gUnknown_Debug_0839BBC1+0x263\n" + " .word gUnknown_Debug_839BE24\n" " .word gMenuCallback\n" " .word DebugMenu_807750C+1\n" "\n" @@ -1960,8 +1969,8 @@ void DebugMenu_80776B4() "._184:\n" " .align 2, 0\n" "._183:\n" - " .word gUnknown_Debug_0839BBC1+0x28b\n" - " .word 0x30006c8 @ gTileset2AnimLength\n" + " .word Str_839BE4C\n" + " .word gUnknown_030006C8 \n" "\n" ); } @@ -2007,8 +2016,8 @@ void DebugMenu_8077704() "._186:\n" " .align 2, 0\n" "._185:\n" - " .word gUnknown_Debug_0839BBC1+0x292\n" - " .word 0x30006c8 @ gTileset2AnimLength\n" + " .word Str_839BE53\n" + " .word gUnknown_030006C8 \n" "\n" ); } @@ -2040,7 +2049,7 @@ void DebugMenu_8077760() " .align 2, 0\n" "._190:\n" " .word gMain\n" - " .word 0x030006b0+0x8 @ gMenu+0x8\n" + " .word gUnknown_030006B8 \n" "._188:\n" " mov r0, #0x3\n" "._189:\n" @@ -2064,7 +2073,7 @@ void DebugMenu_8077760() "._196:\n" " .align 2, 0\n" "._195:\n" - " .word 0x030006b0+0x8 @ gMenu+0x8\n" + " .word gUnknown_030006B8 \n" "._193:\n" " mov r0, #0x0\n" "._194:\n" @@ -2117,7 +2126,7 @@ void DebugMenu_8077760() "._202:\n" " .align 2, 0\n" "._201:\n" - " .word 0x30006c8 @ gTileset2AnimLength\n" + " .word gUnknown_030006C8 \n" " .word 0xf0ff\n" "._199:\n" " mov r0, #0x0\n" @@ -2193,7 +2202,7 @@ void DebugMenu_807786C() "._206:\n" " .align 2, 0\n" "._205:\n" - " .word gUnknown_Debug_0839BBC1+0x2a3\n" + " .word Str_839BE64\n" "\n" ); } @@ -2370,7 +2379,7 @@ void DebugMenu_8077974() "._226:\n" " .word gSaveBlock1\n" " .word gStringVar1\n" - " .word gUnknown_Debug_0839BBC1+0x2cc\n" + " .word Str_839BE8D\n" "._224:\n" " ldr r0, ._230\n" " ldr r1, ._230 + 4\n" @@ -2397,10 +2406,10 @@ void DebugMenu_8077974() " .align 2, 0\n" "._230:\n" " .word gStringVar1\n" - " .word gUnknown_Debug_0839BBC1+0x2cf\n" + " .word Str_839BE90\n" " .word gSaveBlock1\n" " .word gStringVar2\n" - " .word gUnknown_Debug_0839BBC1+0x2cc\n" + " .word Str_839BE8D\n" "._228:\n" " ldr r0, ._232\n" " ldr r1, ._232 + 4\n" @@ -2418,8 +2427,8 @@ void DebugMenu_8077974() " .align 2, 0\n" "._232:\n" " .word gStringVar2\n" - " .word gUnknown_Debug_0839BBC1+0x2cf\n" - " .word gUnknown_Debug_0839BBC1+0x2aa\n" + " .word Str_839BE90\n" + " .word Str_839BE6B\n" " .word gMenuCallback\n" " .word DebugMenu_8077DB4+1\n" "\n" @@ -2486,7 +2495,7 @@ void DebugMenu_8077A60() "._239:\n" " .align 2, 0\n" "._238:\n" - " .word gUnknown_Debug_0839BBC1+0x323\n" + " .word gUnknown_Debug_839BEE4\n" "\n" ); } @@ -2510,7 +2519,7 @@ void DebugMenu_RematchTrainers() "._241:\n" " .align 2, 0\n" "._240:\n" - " .word gUnknown_Debug_0839BBC1+0x323\n" + " .word gUnknown_Debug_839BEE4\n" " .word gMenuCallback\n" " .word DebugMenu_8077A60+1\n" "\n" @@ -2614,7 +2623,7 @@ void DebugMenu_8077B00() "._253:\n" " .align 2, 0\n" "._252:\n" - " .word gUnknown_Debug_0839BBC1+0x353\n" + " .word Str_839BF14\n" "._250:\n" " ldr r0, ._254\n" " bl sub_8071F40\n" @@ -2628,7 +2637,7 @@ void DebugMenu_8077B00() "._255:\n" " .align 2, 0\n" "._254:\n" - " .word gUnknown_Debug_0839BBC1+0x35e\n" + " .word Str_839BF1F\n" " .word gMenuCallback\n" " .word DebugMenu_8077DB4+1\n" "\n" @@ -2649,7 +2658,7 @@ void DebugMenu_8077B3C() "._257:\n" " .align 2, 0\n" "._256:\n" - " .word gUnknown_Debug_0839BBC1+0x3ab\n" + " .word gUnknown_Debug_839BF6C\n" "\n" ); } @@ -2684,10 +2693,10 @@ void DebugMenu_Safari() "._261:\n" " .align 2, 0\n" "._260:\n" - " .word gUnknown_Debug_0839BBC1+0x3ab\n" + " .word gUnknown_Debug_839BF6C\n" " .word gStringVar1\n" " .word gSafariZoneStepCounter\n" - " .word gUnknown_Debug_0839BBC1+0x34b\n" + " .word Str_839BF0C\n" " .word gMenuCallback\n" " .word DebugMenu_8077B3C+1\n" "._258:\n" @@ -2795,7 +2804,7 @@ void DebugMenu_8077C00() "._263:\n" " .align 2, 0\n" "._262:\n" - " .word gUnknown_Debug_0839BBC1+0x3d3\n" + " .word gUnknown_Debug_839BF94\n" "\n" ); } @@ -2819,7 +2828,7 @@ void DebugMenu_8077C14() "._265:\n" " .align 2, 0\n" "._264:\n" - " .word gUnknown_Debug_0839BBC1+0x3d3\n" + " .word gUnknown_Debug_839BF94\n" " .word gMenuCallback\n" " .word DebugMenu_8077C00+1\n" "\n" @@ -2923,8 +2932,8 @@ void DebugMenu_8077C3C() "._272:\n" " .align 2, 0\n" "._271:\n" - " .word 0x030006b0+0xc @ gMenu+0xc\n" - " .word gUnknown_Debug_0839BBC1+0x427\n" + " .word gUnknown_030006BC \n" + " .word gUnknown_Debug_839BFE8\n" "\n" ); } @@ -3359,7 +3368,7 @@ void DebugMenu_8077F7C() "._311:\n" " .word gTasks\n" " .word gMain\n" - " .word gDebug0x839C008+0xc\n" + " .word Str_839C014\n" " .word DebugMenu_8077FFC+1\n" "._309:\n" " mov r0, #0x2\n" @@ -3540,7 +3549,7 @@ void DebugMenu_807808C() " .align 2, 0\n" "._331:\n" " .word gSaveBlock1+0x2ddc\n" - " .word gDebug0x839C008+0x16\n" + " .word Str_839C01E\n" "._329:\n" " ldr r0, ._335\n" " mov r1, #0xb\n" @@ -3563,7 +3572,7 @@ void DebugMenu_807808C() "._336:\n" " .align 2, 0\n" "._335:\n" - " .word gDebug0x839C008+0x45\n" + " .word Str_839C04D\n" "._333:\n" " ldr r0, ._337\n" " mov r1, #0xb\n" @@ -3595,7 +3604,7 @@ void DebugMenu_807808C() "._338:\n" " .align 2, 0\n" "._337:\n" - " .word gDebug0x839C008+0x45\n" + " .word Str_839C04D\n" "\n" ); } @@ -3840,7 +3849,7 @@ void DebugMenu_80782EC() " .align 2, 0\n" "._359:\n" " .word gStringVar1\n" - " .word gDebug0x839C008+0x4b\n" + " .word Str_839C053\n" "\n" ); } @@ -4232,9 +4241,9 @@ void DebugMenu_8078550() "._420:\n" " .word gStringVar1\n" " .word gStringVar2\n" - " .word gDebug0x839C008+0x264\n" + " .word gUnknown_Debug_839C26C\n" " .word gStringVar3\n" - " .word gDebug0x839C008+0x7d\n" + " .word Str_839C085\n" "._418:\n" " cmp r6, #0x1\n" " beq ._422 @cond_branch\n" @@ -4285,7 +4294,7 @@ void DebugMenu_8078550() " .align 2, 0\n" "._426:\n" " .word gStringVar3\n" - " .word gDebug0x839C008+0x74\n" + " .word Str_839C07C\n" "\n" ); } @@ -4445,7 +4454,7 @@ void DebugMenu_80786D0() " .align 2, 0\n" "._450:\n" " .word gTasks\n" - " .word gDebug0x839C008+0x264\n" + " .word gUnknown_Debug_839C26C\n" "\n" ); } @@ -4486,7 +4495,7 @@ void DebugMenu_8078714() " .align 2, 0\n" "._454:\n" " .word gTasks\n" - " .word gDebug0x839C008+0x264\n" + " .word gUnknown_Debug_839C26C\n" "\n" ); } @@ -4581,7 +4590,7 @@ void DebugMenu_80787B0() "._463:\n" " .align 2, 0\n" "._462:\n" - " .word gDebug0x839C008+0x3f4\n" + " .word gUnknown_Debug_839C3FC\n" "\n" ); } @@ -4605,7 +4614,7 @@ void DebugMenu_OpenLegendsRecord() "._465:\n" " .align 2, 0\n" "._464:\n" - " .word gDebug0x839C008+0x3f4\n" + " .word gUnknown_Debug_839C3FC\n" " .word gMenuCallback\n" " .word DebugMenu_80787B0+1\n" "\n" @@ -4677,7 +4686,7 @@ void DebugMenu_80787EC() " .word gStringVar2\n" " .word gStringVar3\n" " .word gStringVar4\n" - " .word gDebug0x839C008+0x40c\n" + " .word Str_839C414\n" "\n" ); } @@ -4827,7 +4836,7 @@ void DebugMenu_8078950() "._490:\n" " .align 2, 0\n" "._489:\n" - " .word gDebug0x839C008+0x426\n" + " .word Str_839C42E\n" "\n" ); } @@ -5166,7 +5175,7 @@ void DebugMenu_8078B70() " .align 2, 0\n" "._526:\n" " .word gStringVar1\n" - " .word gDebug0x839C008+0x430\n" + " .word Str_839C438\n" "\n" ); } @@ -5208,7 +5217,7 @@ void DebugMenu_8078B94() "._532:\n" " .align 2, 0\n" "._531:\n" - " .word gDebug0x839C008+0x43c\n" + " .word gUnknown_Debug_839C444\n" " .word gSaveBlock1+0x7f8\n" "\n" ); @@ -5330,7 +5339,7 @@ void DebugMenu_8078C80() "._549:\n" " .align 2, 0\n" "._548:\n" - " .word gDebug0x839C574+0x30\n" + " .word Str_839C5A4\n" " .word gMenuCallback\n" " .word DebugMenu_8078CA8+1\n" "\n" @@ -5397,7 +5406,7 @@ void DebugMenu_8078CE4() "._558:\n" " .word +0x2000000\n" " .word gStringVar4\n" - " .word gDebug0x839C574+0x58\n" + " .word Str_839C5CC\n" "._556:\n" " ldr r0, ._560\n" " ldr r1, ._560 + 4\n" @@ -5413,7 +5422,7 @@ void DebugMenu_8078CE4() " .align 2, 0\n" "._560:\n" " .word gStringVar4\n" - " .word gDebug0x839C574+0x6b\n" + " .word Str_839C5DF\n" " .word gMenuCallback\n" " .word DebugMenu_8078D7C+1\n" "\n" @@ -5455,7 +5464,7 @@ void DebugMenu_8078D30() "._563:\n" " .word +0x2000000\n" " .word gStringVar4\n" - " .word gDebug0x839C574+0x62\n" + " .word Str_839C5D6\n" " .word gMenuCallback\n" " .word DebugMenu_8078D7C+1\n" "\n" @@ -5534,7 +5543,7 @@ void DebugMenu_MeTooBackupMan() "._572:\n" " .align 2, 0\n" "._571:\n" - " .word gDebug0x839C574+0x20\n" + " .word gUnknown_Debug_839C594\n" " .word gMenuCallback\n" " .word DebugMenu_8078DF0+1\n" "\n" @@ -5555,7 +5564,7 @@ void DebugMenu_8078DF0() "._574:\n" " .align 2, 0\n" "._573:\n" - " .word gDebug0x839C574+0x20\n" + " .word gUnknown_Debug_839C594\n" "\n" ); } @@ -5673,7 +5682,7 @@ void DebugMenu_8078E80() "._582:\n" " .align 2, 0\n" "._581:\n" - " .word gDebug0x839C574+0x80\n" + " .word gUnknown_Debug_839C5F4\n" "\n" ); } @@ -5877,7 +5886,7 @@ void DebugMenu_8078F68() "._603:\n" " .align 2, 0\n" "._602:\n" - " .word gDebug0x839C574+0x80\n" + " .word gUnknown_Debug_839C5F4\n" "\n" ); } @@ -6082,7 +6091,7 @@ void DebugMenu_8079110() "._640:\n" " .align 2, 0\n" "._639:\n" - " .word gDebug0x839C60C+0xe\n" + " .word Str_839C61A\n" "._635:\n" " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index 954974e50..d479c59c8 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -677,7 +677,7 @@ void debug_sub_8090C44() "._55:\n" " .align 2, 0\n" "._54:\n" - " .word +0x2000001\n" + " .word gSharedMem+1\n" "\n" ); } @@ -710,7 +710,7 @@ void debug_sub_8090C88() " .align 2, 0\n" "._59:\n" " .word gMain\n" - " .word +0x2000000\n" + " .word gSharedMem\n" "._67:\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" @@ -729,7 +729,7 @@ void debug_sub_8090C88() "._65:\n" " .align 2, 0\n" "._64:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" "._57:\n" " ldrh r1, [r3, #0x2e]\n" " mov r0, #0x10\n" @@ -858,7 +858,7 @@ void debug_sub_8090C88() "._82:\n" " .align 2, 0\n" "._81:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x2710\n" " .word 0xffff\n" "\n" @@ -892,7 +892,7 @@ void TayaDebugMenu_PKMNLottery() "._84:\n" " .align 2, 0\n" "._83:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word gSpecialVar_Result\n" " .word gMenuCallback\n" " .word debug_sub_8090C88+1\n" @@ -1285,7 +1285,7 @@ void TayaDebugMenu_PokenavD() "._95:\n" " .align 2, 0\n" "._94:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word gUnknown_Debug_083C4F94\n" " .word 0x19b\n" " .word gPokemonStorage+0x4\n" @@ -1559,7 +1559,7 @@ void debug_sub_8091334() "._124:\n" " .align 2, 0\n" "._123:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" "._119:\n" " add r5, r3, #0\n" " add r5, r5, #0x55\n" @@ -1603,7 +1603,7 @@ void debug_sub_8091334() " .align 2, 0\n" "._131:\n" " .word gMain\n" - " .word +0x2000000\n" + " .word gSharedMem\n" "._128:\n" " add r1, r5, #0\n" " add r1, r1, #0x54\n" @@ -1803,7 +1803,7 @@ void debug_sub_8091334() " .align 2, 0\n" "._159:\n" " .word gMain\n" - " .word +0x2000000\n" + " .word gSharedMem\n" "._157:\n" " mov r3, r9\n" " ldrh r1, [r3, #0x2e]\n" @@ -1926,7 +1926,7 @@ void debug_sub_80915BC() "._168:\n" " .word 0x4000010\n" " .word gUnknown_Debug_083C50EC\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word gPlayerParty\n" "._166:\n" " add r0, r4, r5\n" @@ -1997,7 +1997,7 @@ void debug_sub_80915BC() "._172:\n" " .word gWindowTemplate_81E7224\n" " .word gUnknown_Debug_083C517C\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word debug_sub_8091320+1\n" " .word debug_sub_8091334+1\n" "\n" @@ -2041,9 +2041,9 @@ void debug_sub_80916AC() "._178:\n" " .align 2, 0\n" "._177:\n" - " .word +0x2000000\n" - " .word +0x2000012\n" - " .word +0x2000054\n" + " .word gSharedMem\n" + " .word gSharedMem+0x12\n" + " .word gSharedMem+0x54\n" "._175:\n" " mov r0, r8\n" " strb r0, [r2]\n" @@ -2114,7 +2114,7 @@ void debug_sub_80916AC() " .align 2, 0\n" "._183:\n" " .word gUnknown_Debug_083C50EC\n" - " .word +0x2000000\n" + " .word gSharedMem\n" "\n" ); } diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 68c05270f..8451a104d 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1,9 +1,21 @@ #if DEBUG #include "global.h" +// These should be static, uninitialized once it gets decompiled. #define BSS_DATA __attribute__((section(".bss"))) - -BSS_DATA u8 gDebug_03000700[0x24] = { 0 }; +BSS_DATA u8 gDebug_03000700[4] = {0}; +BSS_DATA u8 gDebug_03000704[4] = {0}; +BSS_DATA u8 gDebug_03000708[4] = {0}; +BSS_DATA u8 gDebug_0300070C = 0; +BSS_DATA u8 gDebug_0300070D = 0; +BSS_DATA u8 gDebug_0300070E = 0; +BSS_DATA u8 gDebug_0300070F = 0; +BSS_DATA u8 gDebug_03000710[13] = {0}; +BSS_DATA u8 gDebug_0300071D = 0; +BSS_DATA u8 gDebug_0300071E = 0; +BSS_DATA u8 gDebug_0300071F = 0; +BSS_DATA u8 gDebug_03000720 = 0; +BSS_DATA u8 gDebug_03000721 = 0; __attribute__((naked)) void InitTomomichiDebugWindow() @@ -68,7 +80,7 @@ void debug_sub_808B874() " .align 2, 0\n" "._1:\n" " .word gUnknown_Debug_083C0CBA\n" - " .word gDebug_03000700+0x1d\n" + " .word gDebug_0300071D\n" " .word gMenuCallback\n" " .word debug_sub_808B8C8+1\n" "\n" @@ -128,7 +140,7 @@ void debug_sub_808B8C8() " .align 2, 0\n" "._7:\n" " .word gMain\n" - " .word gDebug_03000700+0x1d\n" + " .word gDebug_0300071D\n" " .word gUnknown_Debug_083C0CBA\n" "._5:\n" " mov r0, #0xa\n" @@ -204,10 +216,10 @@ void TomomichiDebugMenu_ContestGraphics() " .word gMenuCallback\n" " .word debug_sub_808BC48+1\n" " .word gDebug_03000700\n" - " .word gDebug_03000700+0x4\n" + " .word gDebug_03000704\n" " .word 0x6f33\n" - " .word gDebug_03000700+0x8\n" - " .word gDebug_03000700+0xc\n" + " .word gDebug_03000708\n" + " .word gDebug_0300070C\n" "\n" ); } @@ -268,10 +280,10 @@ void TomomichiDebugMenu_ArtMusGraphics() " .word gMenuCallback\n" " .word debug_sub_808BCBC+1\n" " .word gDebug_03000700\n" - " .word gDebug_03000700+0x4\n" + " .word gDebug_03000704\n" " .word 0x6f33\n" - " .word gDebug_03000700+0x8\n" - " .word gDebug_03000700+0xd\n" + " .word gDebug_03000708\n" + " .word gDebug_0300070D\n" "\n" ); } @@ -332,10 +344,10 @@ void TomomichiDebugMenu_PreviewData() " .word gMenuCallback\n" " .word debug_sub_808BD30+1\n" " .word gDebug_03000700\n" - " .word gDebug_03000700+0x4\n" + " .word gDebug_03000704\n" " .word 0x6f33\n" - " .word gDebug_03000700+0x8\n" - " .word gDebug_03000700+0xe\n" + " .word gDebug_03000708\n" + " .word gDebug_0300070E\n" "\n" ); } @@ -383,7 +395,7 @@ void TomomichiDebugMenu_TrickHouse() "._17:\n" " .word gUnknown_Debug_083C0DF4\n" " .word gUnknown_Debug_083C0E15\n" - " .word gDebug_03000700+0x1e\n" + " .word gDebug_0300071E\n" " .word gMenuCallback\n" " .word debug_sub_808BDA4+1\n" "\n" @@ -428,7 +440,7 @@ void TomomichiDebugMenu_ControlEvents() " .align 2, 0\n" "._19:\n" " .word gUnknown_Debug_083C0E32\n" - " .word gDebug_03000700+0x1f\n" + " .word gDebug_0300071F\n" " .word gMenuCallback\n" " .word debug_sub_808BE2C+1\n" "\n" @@ -473,7 +485,7 @@ void TomomichiDebugMenu_ControlFlags() " .align 2, 0\n" "._21:\n" " .word gUnknown_Debug_083C0E7F\n" - " .word gDebug_03000700+0x20\n" + " .word gDebug_03000720\n" " .word gMenuCallback\n" " .word debug_sub_808BEB4+1\n" "\n" @@ -518,7 +530,7 @@ void TomomichiDebugMenu_ControlWorks() " .align 2, 0\n" "._23:\n" " .word gUnknown_Debug_083C0EF1\n" - " .word gDebug_03000700+0x21\n" + " .word gDebug_03000721\n" " .word gMenuCallback\n" " .word debug_sub_808BF3C+1\n" "\n" @@ -782,7 +794,7 @@ void debug_sub_808BDA4() " .align 2, 0\n" "._71:\n" " .word gMain\n" - " .word gDebug_03000700+0x1e\n" + " .word gDebug_0300071E\n" " .word gUnknown_Debug_083C0E15\n" "._69:\n" " mov r0, #0xa\n" @@ -855,7 +867,7 @@ void debug_sub_808BE2C() " .align 2, 0\n" "._79:\n" " .word gMain\n" - " .word gDebug_03000700+0x1f\n" + " .word gDebug_0300071F\n" " .word gUnknown_Debug_083C0E32\n" "._77:\n" " mov r0, #0xa\n" @@ -928,7 +940,7 @@ void debug_sub_808BEB4() " .align 2, 0\n" "._87:\n" " .word gMain\n" - " .word gDebug_03000700+0x20\n" + " .word gDebug_03000720\n" " .word gUnknown_Debug_083C0E7F\n" "._85:\n" " mov r0, #0xa\n" @@ -1001,7 +1013,7 @@ void debug_sub_808BF3C() " .align 2, 0\n" "._95:\n" " .word gMain\n" - " .word gDebug_03000700+0x21\n" + " .word gDebug_03000721\n" " .word gUnknown_Debug_083C0EF1\n" "._93:\n" " mov r0, #0xa\n" @@ -1730,7 +1742,7 @@ void debug_sub_808C3B0() " .align 2, 0\n" "._165:\n" " .word gUnknown_Debug_083C2938\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -1777,7 +1789,7 @@ void debug_sub_808C408() " .align 2, 0\n" "._167:\n" " .word gUnknown_Debug_083C2A48\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -1824,7 +1836,7 @@ void debug_sub_808C460() " .align 2, 0\n" "._169:\n" " .word gUnknown_Debug_083C2B4C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -1871,7 +1883,7 @@ void debug_sub_808C4B8() " .align 2, 0\n" "._171:\n" " .word gUnknown_Debug_083C2C80\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -1918,7 +1930,7 @@ void debug_sub_808C510() " .align 2, 0\n" "._173:\n" " .word gUnknown_Debug_083C2D8C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -1965,7 +1977,7 @@ void debug_sub_808C568() " .align 2, 0\n" "._175:\n" " .word gUnknown_Debug_083C2EB0\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -2012,7 +2024,7 @@ void debug_sub_808C5C0() " .align 2, 0\n" "._177:\n" " .word gUnknown_Debug_083C2FE0\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -2059,7 +2071,7 @@ void debug_sub_808C618() " .align 2, 0\n" "._179:\n" " .word gUnknown_Debug_083C3100\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -2106,7 +2118,7 @@ void debug_sub_808C670() " .align 2, 0\n" "._181:\n" " .word gUnknown_Debug_083C3194\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808C6C8+1\n" "\n" @@ -2147,7 +2159,7 @@ void debug_sub_808C6C8() "._187:\n" " .align 2, 0\n" "._186:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._184:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -2194,7 +2206,7 @@ void debug_sub_808C714() " .align 2, 0\n" "._191:\n" " .word gMain\n" - " .word gUnknown_Debug_083C31DC+0xa\n" + " .word gUnknown_Debug_83C31E6\n" "._189:\n" " add r0, r4, #0\n" " bl FlagClear\n" @@ -2259,7 +2271,7 @@ void debug_sub_808C764() " .align 2, 0\n" "._195:\n" " .word gUnknown_Debug_083C31DC\n" - " .word gUnknown_Debug_083C31DC+0xa\n" + " .word gUnknown_Debug_83C31E6\n" "\n" ); } @@ -2390,7 +2402,7 @@ void debug_sub_808C85C() " .align 2, 0\n" "._205:\n" " .word gUnknown_Debug_083C1E0C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2437,7 +2449,7 @@ void debug_sub_808C8B4() " .align 2, 0\n" "._207:\n" " .word gUnknown_Debug_083C1F38\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2484,7 +2496,7 @@ void debug_sub_808C90C() " .align 2, 0\n" "._209:\n" " .word gUnknown_Debug_083C206C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2531,7 +2543,7 @@ void debug_sub_808C964() " .align 2, 0\n" "._211:\n" " .word gUnknown_Debug_083C2190\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2578,7 +2590,7 @@ void debug_sub_808C9BC() " .align 2, 0\n" "._213:\n" " .word gUnknown_Debug_083C2264\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2625,7 +2637,7 @@ void debug_sub_808CA14() " .align 2, 0\n" "._215:\n" " .word gUnknown_Debug_083C2370\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2672,7 +2684,7 @@ void debug_sub_808CA6C() " .align 2, 0\n" "._217:\n" " .word gUnknown_Debug_083C248C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2719,7 +2731,7 @@ void debug_sub_808CAC4() " .align 2, 0\n" "._219:\n" " .word gUnknown_Debug_083C259C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2766,7 +2778,7 @@ void debug_sub_808CB1C() " .align 2, 0\n" "._221:\n" " .word gUnknown_Debug_083C26C8\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CB74+1\n" "\n" @@ -2807,7 +2819,7 @@ void debug_sub_808CB74() "._227:\n" " .align 2, 0\n" "._226:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._224:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -2854,7 +2866,7 @@ void debug_sub_808CBC0() " .align 2, 0\n" "._231:\n" " .word gMain\n" - " .word gUnknown_Debug_083C2710+0xa\n" + " .word gUnknown_Debug_083C271A\n" "._229:\n" " add r0, r4, #0\n" " bl FlagClear\n" @@ -2919,7 +2931,7 @@ void debug_sub_808CC10() " .align 2, 0\n" "._235:\n" " .word gUnknown_Debug_083C2710\n" - " .word gUnknown_Debug_083C2710+0xa\n" + " .word gUnknown_Debug_083C271A\n" "\n" ); } @@ -3050,7 +3062,7 @@ void debug_sub_808CD08() " .align 2, 0\n" "._245:\n" " .word gUnknown_Debug_083C1B7C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CE10+1\n" "\n" @@ -3097,7 +3109,7 @@ void debug_sub_808CD60() " .align 2, 0\n" "._247:\n" " .word gUnknown_Debug_083C1BF0\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CE10+1\n" "\n" @@ -3144,7 +3156,7 @@ void debug_sub_808CDB8() " .align 2, 0\n" "._249:\n" " .word gUnknown_Debug_083C1C2C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808CE10+1\n" "\n" @@ -3185,7 +3197,7 @@ void debug_sub_808CE10() "._255:\n" " .align 2, 0\n" "._254:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._252:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -3232,7 +3244,7 @@ void debug_sub_808CE5C() " .align 2, 0\n" "._259:\n" " .word gMain\n" - " .word gUnknown_Debug_083C1C34+0x4\n" + " .word gUnknown_Debug_083C1C38\n" "._257:\n" " add r0, r4, #0\n" " bl FlagClear\n" @@ -3297,7 +3309,7 @@ void debug_sub_808CEAC() " .align 2, 0\n" "._263:\n" " .word gUnknown_Debug_083C1C34\n" - " .word gUnknown_Debug_083C1C34+0x4\n" + " .word gUnknown_Debug_083C1C38\n" "\n" ); } @@ -3428,7 +3440,7 @@ void debug_sub_808CFA4() " .align 2, 0\n" "._273:\n" " .word gUnknown_Debug_083C13D8\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3475,7 +3487,7 @@ void debug_sub_808CFFC() " .align 2, 0\n" "._275:\n" " .word gUnknown_Debug_083C1465\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3522,7 +3534,7 @@ void debug_sub_808D054() " .align 2, 0\n" "._277:\n" " .word gUnknown_Debug_083C1503\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3569,7 +3581,7 @@ void debug_sub_808D0AC() " .align 2, 0\n" "._279:\n" " .word gUnknown_Debug_083C158A\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3616,7 +3628,7 @@ void debug_sub_808D104() " .align 2, 0\n" "._281:\n" " .word gUnknown_Debug_083C1647\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3663,7 +3675,7 @@ void debug_sub_808D15C() " .align 2, 0\n" "._283:\n" " .word gUnknown_Debug_083C1712\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3710,7 +3722,7 @@ void debug_sub_808D1B4() " .align 2, 0\n" "._285:\n" " .word gUnknown_Debug_083C17F8\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3757,7 +3769,7 @@ void debug_sub_808D20C() " .align 2, 0\n" "._287:\n" " .word gUnknown_Debug_083C18B8\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3804,7 +3816,7 @@ void debug_sub_808D264() " .align 2, 0\n" "._289:\n" " .word gDebug_0x83C1974\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D2BC+1\n" "\n" @@ -3845,7 +3857,7 @@ void debug_sub_808D2BC() "._295:\n" " .align 2, 0\n" "._294:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._292:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -4088,7 +4100,7 @@ void debug_sub_808D450() " .align 2, 0\n" "._313:\n" " .word gUnknown_Debug_083C10BD\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D500+1\n" "\n" @@ -4135,7 +4147,7 @@ void debug_sub_808D4A8() " .align 2, 0\n" "._315:\n" " .word gUnknown_Debug_083C1149\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D500+1\n" "\n" @@ -4176,7 +4188,7 @@ void debug_sub_808D500() "._321:\n" " .align 2, 0\n" "._320:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._318:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -4419,7 +4431,7 @@ void debug_sub_808D694() " .align 2, 0\n" "._339:\n" " .word gUnknown_Debug_083C1212\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D744+1\n" "\n" @@ -4466,7 +4478,7 @@ void debug_sub_808D6EC() " .align 2, 0\n" "._341:\n" " .word gUnknown_Debug_083C1288\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D744+1\n" "\n" @@ -4507,7 +4519,7 @@ void debug_sub_808D744() "._347:\n" " .align 2, 0\n" "._346:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._344:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -4749,7 +4761,7 @@ void debug_sub_808D8D8() " .align 2, 0\n" "._365:\n" " .word gUnknown_Debug_083C1A9C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808D930+1\n" "\n" @@ -4790,7 +4802,7 @@ void debug_sub_808D930() "._371:\n" " .align 2, 0\n" "._370:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._368:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -4837,7 +4849,7 @@ void debug_sub_808D97C() " .align 2, 0\n" "._375:\n" " .word gMain\n" - " .word gUnknown_Debug_083C1AAC+0x2\n" + " .word gUnknown_Debug_083C1AAE\n" "._373:\n" " add r0, r4, #0\n" " bl FlagClear\n" @@ -4902,7 +4914,7 @@ void debug_sub_808D9CC() " .align 2, 0\n" "._379:\n" " .word gUnknown_Debug_083C1AAC\n" - " .word gUnknown_Debug_083C1AAC+0x2\n" + " .word gUnknown_Debug_083C1AAE\n" "\n" ); } @@ -5174,7 +5186,7 @@ void debug_sub_808DBA0() " .align 2, 0\n" "._403:\n" " .word gUnknown_Debug_083C432C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5221,7 +5233,7 @@ void debug_sub_808DBF8() " .align 2, 0\n" "._405:\n" " .word gUnknown_Debug_083C436C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5268,7 +5280,7 @@ void debug_sub_808DC50() " .align 2, 0\n" "._407:\n" " .word gUnknown_Debug_083C43B4\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5315,7 +5327,7 @@ void debug_sub_808DCA8() " .align 2, 0\n" "._409:\n" " .word gUnknown_Debug_083C43FC\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5362,7 +5374,7 @@ void debug_sub_808DD00() " .align 2, 0\n" "._411:\n" " .word gUnknown_Debug_083C4444\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5409,7 +5421,7 @@ void debug_sub_808DD58() " .align 2, 0\n" "._413:\n" " .word gUnknown_Debug_083C448C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5456,7 +5468,7 @@ void debug_sub_808DDB0() " .align 2, 0\n" "._415:\n" " .word gUnknown_Debug_83C44C4\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5503,7 +5515,7 @@ void debug_sub_808DE08() " .align 2, 0\n" "._417:\n" " .word gUnknown_Debug_83C44EC\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5550,7 +5562,7 @@ void debug_sub_808DE60() " .align 2, 0\n" "._419:\n" " .word gUnknown_Debug_083C4534\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808DEB8+1\n" "\n" @@ -5591,7 +5603,7 @@ void debug_sub_808DEB8() "._425:\n" " .align 2, 0\n" "._424:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._422:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -5654,7 +5666,7 @@ void debug_sub_808DF04() " .align 2, 0\n" "._428:\n" " .word gUnknown_Debug_083C457C\n" - " .word gUnknown_Debug_083C457C+0xa\n" + " .word gUnknown_Debug_083C4586\n" "\n" ); } @@ -5712,7 +5724,7 @@ void debug_sub_808DF64() " .align 2, 0\n" "._435:\n" " .word 0xffff\n" - " .word gUnknown_Debug_083C457C+0xa\n" + " .word gUnknown_Debug_083C4586\n" "\n" ); } @@ -5843,7 +5855,7 @@ void debug_sub_808E054() " .align 2, 0\n" "._445:\n" " .word gUnknown_Debug_083C3AA0\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E264+1\n" "\n" @@ -5890,7 +5902,7 @@ void debug_sub_808E0AC() " .align 2, 0\n" "._447:\n" " .word gUnknown_Debug_83C3AE0\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E264+1\n" "\n" @@ -5937,7 +5949,7 @@ void debug_sub_808E104() " .align 2, 0\n" "._449:\n" " .word gUnknown_Debug_83C3B28\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E264+1\n" "\n" @@ -5984,7 +5996,7 @@ void debug_sub_808E15C() " .align 2, 0\n" "._451:\n" " .word gUnknown_Debug_83C3B70\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E264+1\n" "\n" @@ -6031,7 +6043,7 @@ void debug_sub_808E1B4() " .align 2, 0\n" "._453:\n" " .word gUnknown_Debug_83C3BB8\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E264+1\n" "\n" @@ -6078,7 +6090,7 @@ void debug_sub_808E20C() " .align 2, 0\n" "._455:\n" " .word gUnknown_Debug_83C3C00\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E264+1\n" "\n" @@ -6119,7 +6131,7 @@ void debug_sub_808E264() "._461:\n" " .align 2, 0\n" "._460:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._458:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -6182,7 +6194,7 @@ void debug_sub_808E2B0() " .align 2, 0\n" "._464:\n" " .word gUnknown_Debug_083C3C48\n" - " .word gUnknown_Debug_083C3C48+0x6\n" + " .word gUnknown_Debug_83C3C4E\n" "\n" ); } @@ -6240,7 +6252,7 @@ void debug_sub_808E310() " .align 2, 0\n" "._471:\n" " .word 0xffff\n" - " .word gUnknown_Debug_083C3C48+0x6\n" + " .word gUnknown_Debug_83C3C4E\n" "\n" ); } @@ -6371,7 +6383,7 @@ void debug_sub_808E400() " .align 2, 0\n" "._481:\n" " .word gUnknown_Debug_083C347C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E5B8+1\n" "\n" @@ -6418,7 +6430,7 @@ void debug_sub_808E458() " .align 2, 0\n" "._483:\n" " .word gUnknown_Debug_083C3494\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E5B8+1\n" "\n" @@ -6465,7 +6477,7 @@ void debug_sub_808E4B0() " .align 2, 0\n" "._485:\n" " .word gUnknown_Debug_083C34A4\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E5B8+1\n" "\n" @@ -6512,7 +6524,7 @@ void debug_sub_808E508() " .align 2, 0\n" "._487:\n" " .word gUnknown_Debug_083C34D4\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E5B8+1\n" "\n" @@ -6559,7 +6571,7 @@ void debug_sub_808E560() " .align 2, 0\n" "._489:\n" " .word gUnknown_Debug_083C351C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E5B8+1\n" "\n" @@ -6600,7 +6612,7 @@ void debug_sub_808E5B8() "._495:\n" " .align 2, 0\n" "._494:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._492:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -6665,7 +6677,7 @@ void debug_sub_808E604() " .align 2, 0\n" "._501:\n" " .word 0xffff\n" - " .word gUnknown_Debug_083C3544+0x6\n" + " .word gUnknown_Debug_083C354A\n" "\n" ); } @@ -6721,7 +6733,7 @@ void debug_sub_808E660() " .align 2, 0\n" "._505:\n" " .word gUnknown_Debug_083C3544\n" - " .word gUnknown_Debug_083C3544+0x6\n" + " .word gUnknown_Debug_083C354A\n" "\n" ); } @@ -6852,7 +6864,7 @@ void debug_sub_808E754() " .align 2, 0\n" "._515:\n" " .word gUnknown_Debug_083C470C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E804+1\n" "\n" @@ -6899,7 +6911,7 @@ void debug_sub_808E7AC() " .align 2, 0\n" "._517:\n" " .word gUnknown_Debug_083C4754C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808E804+1\n" "\n" @@ -6940,7 +6952,7 @@ void debug_sub_808E804() "._523:\n" " .align 2, 0\n" "._522:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._520:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -7005,7 +7017,7 @@ void debug_sub_808E850() " .align 2, 0\n" "._529:\n" " .word 0xffff\n" - " .word gUnknown_Debug_083C478C+0x2\n" + " .word gUnknown_Debug_083C478E\n" "\n" ); } @@ -7061,7 +7073,7 @@ void debug_sub_808E8AC() " .align 2, 0\n" "._533:\n" " .word gUnknown_Debug_083C478C\n" - " .word gUnknown_Debug_083C478C+0x2\n" + " .word gUnknown_Debug_083C478E\n" "\n" ); } @@ -7192,7 +7204,7 @@ void debug_sub_808E9A0() " .align 2, 0\n" "._543:\n" " .word gUnknown_Debug_083C369C\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808EA50+1\n" "\n" @@ -7239,7 +7251,7 @@ void debug_sub_808E9F8() " .align 2, 0\n" "._545:\n" " .word gUnknown_Debug_083C36E4\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" " .word gMenuCallback\n" " .word debug_sub_808EA50+1\n" "\n" @@ -7280,7 +7292,7 @@ void debug_sub_808EA50() "._551:\n" " .align 2, 0\n" "._550:\n" - " .word gDebug_03000700+0xf\n" + " .word gDebug_0300070F\n" "._548:\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -7343,7 +7355,7 @@ void debug_sub_808EA9C() " .align 2, 0\n" "._554:\n" " .word gUnknown_Debug_083C371C\n" - " .word gUnknown_Debug_083C371C+0x2\n" + " .word gUnknown_Debug_083C371E\n" "\n" ); } @@ -7401,7 +7413,7 @@ void debug_sub_808EAFC() " .align 2, 0\n" "._561:\n" " .word 0xffff\n" - " .word gUnknown_Debug_083C371C+0x2\n" + " .word gUnknown_Debug_083C371E\n" "\n" ); } @@ -7802,7 +7814,7 @@ void debug_sub_808ED9C() " .align 2, 0\n" "._606:\n" " .word gMain\n" - " .word gDebug_03000700+0x8\n" + " .word gDebug_03000708\n" "._604:\n" " mov r0, #0x0\n" "._605:\n" @@ -7826,7 +7838,7 @@ void debug_sub_808ED9C() "._612:\n" " .align 2, 0\n" "._611:\n" - " .word gDebug_03000700+0x8\n" + " .word gDebug_03000708\n" "._609:\n" " mov r0, #0x1\n" " neg r0, r0\n" @@ -7850,7 +7862,7 @@ void debug_sub_808ED9C() "._615:\n" " .align 2, 0\n" "._614:\n" - " .word gDebug_03000700+0x8\n" + " .word gDebug_03000708\n" "\n" ); } @@ -7911,7 +7923,7 @@ void debug_sub_808EE3C() " .align 2, 0\n" "._622:\n" " .word gMain\n" - " .word gDebug_03000700+0xc\n" + " .word gDebug_0300070C\n" "\n" ); } @@ -7962,7 +7974,7 @@ void debug_sub_808EE9C() " .align 2, 0\n" "._631:\n" " .word gMain\n" - " .word gDebug_03000700+0xd\n" + " .word gDebug_0300070D\n" "._629:\n" " mov r0, #0x0\n" "._630:\n" @@ -7983,7 +7995,7 @@ void debug_sub_808EE9C() "._637:\n" " .align 2, 0\n" "._636:\n" - " .word gDebug_03000700+0xd\n" + " .word gDebug_0300070D\n" "._634:\n" " mov r0, #0xf\n" "._635:\n" @@ -8041,7 +8053,7 @@ void debug_sub_808EF14() " .align 2, 0\n" "._645:\n" " .word gMain\n" - " .word gDebug_03000700+0xe\n" + " .word gDebug_0300070E\n" "._643:\n" " mov r0, #0x0\n" "._644:\n" @@ -8062,7 +8074,7 @@ void debug_sub_808EF14() "._651:\n" " .align 2, 0\n" "._650:\n" - " .word gDebug_03000700+0xe\n" + " .word gDebug_0300070E\n" "._648:\n" " mov r0, #0xf\n" "._649:\n" @@ -8109,8 +8121,8 @@ void debug_sub_808EF8C() "._657:\n" " .align 2, 0\n" "._656:\n" - " .word gDebug_03000700+0x8\n" - " .word gDebug_03000700+0x10\n" + " .word gDebug_03000708\n" + " .word gDebug_03000710\n" "._654:\n" " add r1, r3, r4\n" " add r0, r2, #0\n" @@ -8194,7 +8206,7 @@ void debug_sub_808EF8C() "._667:\n" " .align 2, 0\n" "._666:\n" - " .word gDebug_03000700+0x10\n" + " .word gDebug_03000710\n" " .word gDebug_03000700\n" " .word gSpeciesNames\n" "._664:\n" @@ -8240,7 +8252,7 @@ void debug_sub_808EF8C() "._673:\n" " .align 2, 0\n" "._672:\n" - " .word gDebug_03000700+0x10\n" + " .word gDebug_03000710\n" " .word gDebug_03000700\n" "._669:\n" " cmp r6, #0x2\n" @@ -8252,7 +8264,7 @@ void debug_sub_808EF8C() "._678:\n" " .align 2, 0\n" "._677:\n" - " .word gDebug_03000700+0xc\n" + " .word gDebug_0300070C\n" "._668:\n" " ldr r4, ._680\n" "._676:\n" @@ -8283,7 +8295,7 @@ void debug_sub_808EF8C() "._681:\n" " .align 2, 0\n" "._680:\n" - " .word gDebug_03000700+0xd\n" + " .word gDebug_0300070D\n" "._674:\n" " ldr r4, ._682\n" " ldrb r0, [r4]\n" @@ -8318,7 +8330,7 @@ void debug_sub_808EF8C() "._683:\n" " .align 2, 0\n" "._682:\n" - " .word gDebug_03000700+0xe\n" + " .word gDebug_0300070E\n" "\n" ); } @@ -8354,8 +8366,8 @@ void debug_sub_808F168() "._686:\n" " .word +0x2015de0\n" " .word gDebug_03000700\n" - " .word gDebug_03000700+0x4\n" - " .word gDebug_03000700+0x8\n" + " .word gDebug_03000704\n" + " .word gDebug_03000708\n" " .word ._688\n" "._688:\n" " .word ._689\n" @@ -8388,7 +8400,7 @@ void debug_sub_808F168() " .word +0x2000000\n" " .word 0x15ddf\n" " .word 0x15dde\n" - " .word gDebug_03000700+0xc\n" + " .word gDebug_0300070C\n" " .word gUnknown_Debug_083C48BB\n" "._690:\n" " ldr r1, ._699\n" @@ -8410,7 +8422,7 @@ void debug_sub_808F168() " .word +0x2000000\n" " .word 0x15ddf\n" " .word 0x15dde\n" - " .word gDebug_03000700+0xd\n" + " .word gDebug_0300070D\n" "._691:\n" " ldr r1, ._702\n" " ldr r0, ._702 + 4\n" @@ -8432,7 +8444,7 @@ void debug_sub_808F168() " .word +0x2000000\n" " .word 0x15ddf\n" " .word 0x15dde\n" - " .word gDebug_03000700+0xe\n" + " .word gDebug_0300070E\n" "._692:\n" " ldr r1, ._705\n" " ldr r2, ._705 + 4\n" @@ -8526,7 +8538,7 @@ void debug_sub_808F2E0() "._715:\n" " .align 2, 0\n" "._714:\n" - " .word gDebug_03000700+0x10\n" + " .word gDebug_03000710\n" "._712:\n" " ldr r1, ._716\n" " mov r0, #0xa2\n" @@ -8544,7 +8556,7 @@ void debug_sub_808F2E0() "._717:\n" " .align 2, 0\n" "._716:\n" - " .word gDebug_03000700+0x10\n" + " .word gDebug_03000710\n" "\n" ); } @@ -8625,7 +8637,7 @@ void debug_sub_808F31C() "._719:\n" " .align 2, 0\n" "._718:\n" - " .word gDebug_03000700+0x10\n" + " .word gDebug_03000710\n" " .word 0x2710\n" "\n" ); diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 58ae28510..cc53f8c95 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1,7 +1,10 @@ #if DEBUG #include "global.h" -EWRAM_DATA u8 unk_debug_ewram_0[56] = { 0 }; +EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; +EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; +EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 }; +EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; @@ -655,7 +658,7 @@ void InitSizeComparison() " .align 2, 0\n" "._54:\n" " .word gReservedSpritePaletteCount\n" - " .word unk_debug_ewram_0\n" + " .word gUnknown_Debug_20389EC\n" " .word 0x4000208\n" " .word 0x4000200\n" " .word debug_80C3758+1\n" @@ -1611,7 +1614,7 @@ void InitBattleForDebug() "._139:\n" " .align 2, 0\n" "._138:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gSaveBlock2\n" " .word byte_3005E30\n" " .word debug_80C47BC+1\n" @@ -1640,7 +1643,7 @@ void debug_80C41A8() "._141:\n" " .align 2, 0\n" "._140:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word debug_80C47BC+1\n" "\n" ); @@ -1815,7 +1818,7 @@ void debug_80C42B8() "._150:\n" " .word gUnknown_Debug_083F8194\n" " .word gUnknown_Debug_083F81A0\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gTasks\n" " .word debug_80C44EC+1\n" "._148:\n" @@ -1883,7 +1886,7 @@ void debug_80C4348() "._155:\n" " .align 2, 0\n" "._154:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word 0x4000042\n" " .word 0x177\n" " .word gTasks\n" @@ -1924,7 +1927,7 @@ void debug_80C43A8() " .align 2, 0\n" "._158:\n" " .word gMain\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gPlayerParty\n" " .word debug_80C41D4+1\n" "._156:\n" @@ -2014,7 +2017,7 @@ void debug_80C43A8() "._177:\n" " .align 2, 0\n" "._176:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" "._174:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x80\n" @@ -2053,7 +2056,7 @@ void debug_80C43A8() "._182:\n" " .align 2, 0\n" "._181:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gPlayerParty\n" " .word gTasks\n" " .word debug_80C4348+1\n" @@ -2105,7 +2108,7 @@ void debug_80C44EC() "._184:\n" " .align 2, 0\n" "._183:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word 0x4000042\n" " .word 0x79ef\n" " .word 0x17f\n" @@ -2147,7 +2150,7 @@ void debug_80C4550() " .align 2, 0\n" "._187:\n" " .word gMain\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gEnemyParty\n" " .word debug_80C41F4+1\n" "._185:\n" @@ -2237,7 +2240,7 @@ void debug_80C4550() "._206:\n" " .align 2, 0\n" "._205:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" "._203:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x80\n" @@ -2276,7 +2279,7 @@ void debug_80C4550() "._211:\n" " .align 2, 0\n" "._210:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gEnemyParty\n" " .word gTasks\n" " .word debug_80C44EC+1\n" @@ -2432,7 +2435,7 @@ void debug_80C4774() "._222:\n" " .align 2, 0\n" "._221:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gPlayerParty\n" " .word gEnemyParty\n" "._219:\n" @@ -2543,7 +2546,7 @@ void debug_80C47BC() " .word gUnknown_Debug_083F81D6\n" " .word gUnknown_Debug_083F81E5\n" " .word gUnknown_Debug_083F8068\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gTasks\n" " .word debug_80C48A0+1\n" "\n" @@ -2593,7 +2596,7 @@ void debug_80C48A0() "._227:\n" " .align 2, 0\n" "._226:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word 0x4000042\n" " .word 0x177\n" " .word gTasks\n" @@ -2654,7 +2657,7 @@ void debug_80C4900() " .word gMain\n" " .word debug_80C370C+1\n" " .word gSaveBlock2\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gBattleTypeFlags\n" " .word gUnknown_02023A14_50\n" " .word gTasks\n" @@ -2712,7 +2715,7 @@ void debug_80C4900() "._236:\n" " .word gBattleTypeFlags\n" " .word gUnknown_Debug_083F8068\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gUnknown_02023A14_50\n" " .word gTasks\n" " .word debug_80C4A60+1\n" @@ -2745,7 +2748,7 @@ void debug_80C4900() "._245:\n" " .align 2, 0\n" "._244:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" "._242:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x80\n" @@ -2775,7 +2778,7 @@ void debug_80C4900() "._249:\n" " .align 2, 0\n" "._248:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gTasks\n" " .word debug_80C48A0+1\n" "\n" @@ -2826,7 +2829,7 @@ void debug_80C4A60() "._251:\n" " .align 2, 0\n" "._250:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word 0x4000042\n" " .word 0x79ef\n" " .word 0x17f\n" @@ -2880,7 +2883,7 @@ void debug_80C4AC4() "._256:\n" " .align 2, 0\n" "._255:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gMain\n" " .word gUnknown_Debug_083F80D8\n" " .word byte_3005E30\n" @@ -3231,7 +3234,7 @@ void debug_80C4D14() " .word gUnknown_Debug_083F81C7\n" " .word gUnknown_Debug_083F81F5\n" " .word gUnknown_Debug_083F8202\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gTasks\n" " .word debug_80C4DB8+1\n" "\n" @@ -3281,7 +3284,7 @@ void debug_80C4DB8() "._294:\n" " .align 2, 0\n" "._293:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word 0x4000042\n" " .word 0x177\n" " .word gTasks\n" @@ -3319,7 +3322,7 @@ void debug_80C4E18() "._298:\n" " .align 2, 0\n" "._297:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gMain\n" " .word gTasks\n" " .word debug_80C42B8+1\n" @@ -3616,7 +3619,7 @@ void debug_80C5038() "._323:\n" " .align 2, 0\n" "._322:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word 0x4000042\n" " .word 0x177\n" " .word gTasks\n" @@ -3680,7 +3683,7 @@ void debug_80C5098() " .align 2, 0\n" "._331:\n" " .word gSaveBlock2\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gTasks\n" " .word debug_80C42B8+1\n" "._329:\n" @@ -3698,7 +3701,7 @@ void debug_80C5098() "._337:\n" " .align 2, 0\n" "._336:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" "._334:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x80\n" @@ -3727,7 +3730,7 @@ void debug_80C5098() "._341:\n" " .align 2, 0\n" "._340:\n" - " .word unk_debug_ewram_0+0x20\n" + " .word gUnknown_Debug_2038A0C\n" " .word gTasks\n" " .word debug_80C5038+1\n" "\n" @@ -3929,7 +3932,7 @@ void debug_80C5208() "._356:\n" " .align 2, 0\n" "._355:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word +0x2018000\n" " .word gSaveBlock2\n" "\n" @@ -3986,7 +3989,7 @@ void debug_80C527C() "._363:\n" " .align 2, 0\n" "._362:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "\n" ); } @@ -4079,7 +4082,7 @@ void InitCreatePokemon() " .word debug_80C3758+1\n" " .word debug_80C370C+1\n" " .word debug_80C53A4+1\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" "\n" ); @@ -4194,7 +4197,7 @@ void debug_80C53F0() " .align 2, 0\n" "._372:\n" " .word gMain\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gUnknown_Debug_083F8698\n" " .word 0x169\n" " .word gTasks\n" @@ -4255,7 +4258,7 @@ void debug_80C53F0() "._382:\n" " .align 2, 0\n" "._381:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gUnknown_Debug_083F872A\n" "._379:\n" " ldr r0, ._384\n" @@ -4299,7 +4302,7 @@ void debug_80C53F0() "._389:\n" " .align 2, 0\n" "._388:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._386:\n" " mov r0, #0x40\n" " and r0, r0, r1\n" @@ -4342,7 +4345,7 @@ void debug_80C53F0() "._398:\n" " .align 2, 0\n" "._397:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" "._395:\n" " ldrh r1, [r4, #0x2e]\n" @@ -4383,7 +4386,7 @@ void debug_80C53F0() "._402:\n" " .align 2, 0\n" "._401:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" " .word gTasks\n" " .word debug_80C53C0+1\n" @@ -4438,7 +4441,7 @@ void debug_80C55E4() " .align 2, 0\n" "._405:\n" " .word gUnknown_Debug_083F8698\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" " .word gMain\n" " .word gTasks\n" @@ -4645,7 +4648,7 @@ void debug_80C5738() " .align 2, 0\n" "._428:\n" " .word gUnknown_Debug_083F850A\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gUnknown_Debug_083F8514\n" " .word gUnknown_Debug_083F851C\n" "._426:\n" @@ -4702,7 +4705,7 @@ void debug_80C5738() " .align 2, 0\n" "._432:\n" " .word gUnknown_Debug_083F8524\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gUnknown_Debug_083F852D\n" " .word gUnknown_Debug_083F8537\n" "._430:\n" @@ -4835,7 +4838,7 @@ void debug_80C5738() "._478:\n" " .align 2, 0\n" "._477:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gSpeciesNames\n" "._445:\n" " ldr r0, ._483\n" @@ -4853,7 +4856,7 @@ void debug_80C5738() "._484:\n" " .align 2, 0\n" "._483:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._480:\n" " add r0, r6, #0\n" " add r0, r0, #0xa\n" @@ -4918,7 +4921,7 @@ void debug_80C5738() "._496:\n" " .align 2, 0\n" "._495:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gMoveNames\n" "._451:\n" " add r0, r6, #0\n" @@ -4957,7 +4960,7 @@ void debug_80C5738() "._500:\n" " .align 2, 0\n" "._499:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._497:\n" " add r0, r5, #0\n" " add r0, r0, #0xe\n" @@ -5000,7 +5003,7 @@ void debug_80C5738() "._506:\n" " .align 2, 0\n" "._505:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gAbilityNames\n" "._474:\n" " add r0, r6, #0\n" @@ -5019,7 +5022,7 @@ void debug_80C5738() " .align 2, 0\n" "._508:\n" " .word gUnknown_Debug_083F86E8\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._472:\n" " add r0, r6, #0\n" " add r0, r0, #0xc\n" @@ -5034,7 +5037,7 @@ void debug_80C5738() "._512:\n" " .align 2, 0\n" "._511:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._473:\n" " ldr r0, ._515\n" " ldr r0, [r0]\n" @@ -5050,7 +5053,7 @@ void debug_80C5738() "._516:\n" " .align 2, 0\n" "._515:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gUnknown_Debug_083F854A\n" "._513:\n" " add r0, r6, #0\n" @@ -5090,7 +5093,7 @@ void debug_80C5738() " .align 2, 0\n" "._520:\n" " .word gNatureNames\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "\n" ); } @@ -5110,7 +5113,7 @@ void debug_80C5B60() "._523:\n" " .align 2, 0\n" "._522:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "\n" ); } @@ -5172,7 +5175,7 @@ void debug_80C5B74() "._555:\n" " .align 2, 0\n" "._554:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._532:\n" " ldr r0, ._557\n" " ldr r0, [r0]\n" @@ -5184,7 +5187,7 @@ void debug_80C5B74() "._558:\n" " .align 2, 0\n" "._557:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._529:\n" " ldr r4, ._560\n" " ldr r1, [r4]\n" @@ -5219,7 +5222,7 @@ void debug_80C5B74() "._561:\n" " .align 2, 0\n" "._560:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gExperienceTables\n" " .word gBaseStats\n" "._530:\n" @@ -5233,7 +5236,7 @@ void debug_80C5B74() "._564:\n" " .align 2, 0\n" "._563:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._552:\n" " ldr r0, ._565\n" " ldr r0, [r0]\n" @@ -5248,7 +5251,7 @@ void debug_80C5B74() "._566:\n" " .align 2, 0\n" "._565:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "\n" ); } @@ -5414,7 +5417,7 @@ void debug_80C5C94() "._568:\n" " .align 2, 0\n" "._567:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "\n" ); } @@ -5537,7 +5540,7 @@ void debug_80C5DEC() "._570:\n" " .align 2, 0\n" "._569:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "\n" ); } @@ -5660,7 +5663,7 @@ void debug_80C5EF4() "._572:\n" " .align 2, 0\n" "._571:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "\n" ); } @@ -5953,7 +5956,7 @@ void debug_80C5FFC() "._578:\n" " .word gUnknown_Debug_083F8758\n" " .word gUnknown_Debug_083F875C\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word gUnknown_Debug_083F86E8+0x4\n" "\n" ); @@ -6002,7 +6005,7 @@ void debug_80C627C() "._590:\n" " .align 2, 0\n" "._589:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" "._580:\n" " ldr r4, ._593\n" @@ -6051,7 +6054,7 @@ void debug_80C627C() "._594:\n" " .align 2, 0\n" "._593:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" " .word gUnknown_Debug_083F8698\n" "._586:\n" @@ -6094,7 +6097,7 @@ void debug_80C627C() "._597:\n" " .align 2, 0\n" "._596:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" "\n" ); @@ -6191,7 +6194,7 @@ void debug_80C6384() " .align 2, 0\n" "._600:\n" " .word gUnknown_Debug_083F8698\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x16b\n" " .word 0x16d\n" "\n" @@ -6267,7 +6270,7 @@ void debug_80C643C() " .align 2, 0\n" "._605:\n" " .word gUnknown_Debug_083F8698\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x16b\n" " .word 0x169\n" " .word 0x16d\n" @@ -6402,7 +6405,7 @@ void debug_80C6544() " .align 2, 0\n" "._614:\n" " .word gUnknown_Debug_083F8698\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" " .word gUnknown_Debug_083F8554\n" " .word gUnknown_Debug_083F8768\n" @@ -6458,7 +6461,7 @@ void debug_80C6544() " .align 2, 0\n" "._624:\n" " .word gUnknown_Debug_083F8698\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" " .word 0x169\n" "\n" ); @@ -6497,7 +6500,7 @@ void debug_80C6630() "._630:\n" " .align 2, 0\n" "._629:\n" - " .word unk_debug_ewram_0+0x30\n" + " .word gUnknown_Debug_2038A1C\n" "._627:\n" " mov r0, #0x4\n" "._626:\n" @@ -7065,7 +7068,7 @@ void InitSeePokemonGraphics() " .word 0x1f0b\n" " .word 0x1e0a\n" " .word debug_80C6B00+1\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word +0x2018000\n" " .word 0x115\n" " .word gSpriteTemplate_83F8874\n" @@ -7504,7 +7507,7 @@ void debug_80C6CB8() "._669:\n" " .align 2, 0\n" "._668:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gMonFrontPicTable\n" " .word gMonFrontPicCoords\n" " .word gUnknown_081FAF4C\n" @@ -7615,7 +7618,7 @@ void debug_80C6EE8() " .align 2, 0\n" "._670:\n" " .word gPlttBufferUnfaded+0x100\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0xffffff00\n" " .word 0xfffffc1f\n" " .word gUnknown_Debug_083F8813\n" @@ -7681,7 +7684,7 @@ void debug_80C6FA8() "._679:\n" " .align 2, 0\n" "._678:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._676:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x2\n" @@ -7707,7 +7710,7 @@ void debug_80C6FA8() "._683:\n" " .align 2, 0\n" "._682:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gTasks\n" " .word debug_80C71FC+1\n" "._680:\n" @@ -7738,7 +7741,7 @@ void debug_80C6FA8() "._687:\n" " .align 2, 0\n" "._686:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x4000040\n" " .word 0x51ef\n" " .word 0x4167\n" @@ -7766,7 +7769,7 @@ void debug_80C6FA8() "._692:\n" " .align 2, 0\n" "._691:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x5000102\n" "._689:\n" " ldrh r1, [r4, #0x30]\n" @@ -7792,7 +7795,7 @@ void debug_80C6FA8() "._697:\n" " .align 2, 0\n" "._696:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x5000102\n" "._694:\n" " ldrh r1, [r4, #0x2e]\n" @@ -7827,7 +7830,7 @@ void debug_80C6FA8() "._702:\n" " .align 2, 0\n" "._701:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._699:\n" " ldrh r0, [r1]\n" " mov r1, #0x0\n" @@ -7872,7 +7875,7 @@ void debug_80C6FA8() "._705:\n" " .align 2, 0\n" "._704:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gPlttBufferUnfaded+0x200\n" " .word 0xffffff00\n" " .word gPlttBufferFaded+0x100\n" @@ -7919,7 +7922,7 @@ void debug_80C6FA8() "._708:\n" " .align 2, 0\n" "._707:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x5000142\n" " .word gUnknown_Debug_083F8790\n" "\n" @@ -7995,7 +7998,7 @@ void debug_80C71FC() " .align 2, 0\n" "._709:\n" " .word gSprites\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gTasks\n" " .word debug_80C6CB8+1\n" "\n" @@ -8033,7 +8036,7 @@ void debug_80C7294() " .align 2, 0\n" "._713:\n" " .word gMain\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x4000040\n" " .word 0x51ef\n" " .word 0x699f\n" @@ -8099,7 +8102,7 @@ void debug_80C7294() "._718:\n" " .align 2, 0\n" "._717:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x4000040\n" " .word 0x51ef\n" " .word 0x699f\n" @@ -8124,7 +8127,7 @@ void debug_80C7294() "._723:\n" " .align 2, 0\n" "._722:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._720:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x40\n" @@ -8142,7 +8145,7 @@ void debug_80C7294() "._728:\n" " .align 2, 0\n" "._727:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._725:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x10\n" @@ -8162,7 +8165,7 @@ void debug_80C7294() "._735:\n" " .align 2, 0\n" "._734:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._731:\n" " cmp r0, #0x2\n" " beq ._736 @cond_branch\n" @@ -8235,7 +8238,7 @@ void debug_80C7294() "._752:\n" " .align 2, 0\n" "._751:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._748:\n" " cmp r0, #0x2\n" " beq ._753 @cond_branch\n" @@ -8391,7 +8394,7 @@ void debug_80C74E4() "._765:\n" " .align 2, 0\n" "._764:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gPlttBufferUnfaded\n" " .word gPlttBufferFaded\n" " .word 0x101\n" @@ -8428,7 +8431,7 @@ void debug_80C7584() "._772:\n" " .align 2, 0\n" "._771:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._767:\n" " ldrh r0, [r3, #0xc]\n" " lsl r0, r0, #0x16\n" @@ -8639,7 +8642,7 @@ void InitSeeTrainers() " .word 0x1f0b\n" " .word 0x1e0a\n" " .word debug_80C777C+1\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word +0x2018000\n" " .word gSpriteTemplate_83F8874\n" " .word gSprites\n" @@ -8970,7 +8973,7 @@ void debug_80C7934() "._787:\n" " .align 2, 0\n" "._786:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gTrainerFrontPicTable\n" " .word gTrainerFrontPicCoords\n" " .word gUnknown_081FAF4C\n" @@ -9072,7 +9075,7 @@ void debug_80C7A54() " .align 2, 0\n" "._788:\n" " .word gPlttBufferUnfaded+0x100\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0xffffff00\n" " .word 0xfffffc1f\n" " .word gUnknown_Debug_083F8813\n" @@ -9138,7 +9141,7 @@ void debug_80C7B14() "._797:\n" " .align 2, 0\n" "._796:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._794:\n" " mov r0, #0x80\n" " lsl r0, r0, #0x2\n" @@ -9164,7 +9167,7 @@ void debug_80C7B14() "._801:\n" " .align 2, 0\n" "._800:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gTasks\n" " .word debug_80C7D44+1\n" "._798:\n" @@ -9195,7 +9198,7 @@ void debug_80C7B14() "._805:\n" " .align 2, 0\n" "._804:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x4000040\n" " .word 0x51ef\n" " .word 0x4167\n" @@ -9223,7 +9226,7 @@ void debug_80C7B14() "._810:\n" " .align 2, 0\n" "._809:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x5000102\n" "._807:\n" " ldrh r1, [r4, #0x30]\n" @@ -9282,7 +9285,7 @@ void debug_80C7B14() "._820:\n" " .align 2, 0\n" "._819:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._817:\n" " ldrh r0, [r1]\n" " mov r1, #0x0\n" @@ -9327,7 +9330,7 @@ void debug_80C7B14() "._823:\n" " .align 2, 0\n" "._822:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gPlttBufferUnfaded+0x200\n" " .word 0xffffff00\n" " .word gPlttBufferFaded+0x100\n" @@ -9437,7 +9440,7 @@ void debug_80C7D44() " .align 2, 0\n" "._826:\n" " .word gSprites\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gTasks\n" " .word debug_80C7934+1\n" "\n" @@ -9475,7 +9478,7 @@ void debug_80C7DDC() " .align 2, 0\n" "._830:\n" " .word gMain\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x4000040\n" " .word 0x51ef\n" " .word 0x699f\n" @@ -9541,7 +9544,7 @@ void debug_80C7DDC() "._835:\n" " .align 2, 0\n" "._834:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word 0x4000040\n" " .word 0x51ef\n" " .word 0x699f\n" @@ -9566,7 +9569,7 @@ void debug_80C7DDC() "._840:\n" " .align 2, 0\n" "._839:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._837:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x40\n" @@ -9584,7 +9587,7 @@ void debug_80C7DDC() "._845:\n" " .align 2, 0\n" "._844:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._842:\n" " ldrh r1, [r3, #0x30]\n" " mov r0, #0x10\n" @@ -9604,7 +9607,7 @@ void debug_80C7DDC() "._852:\n" " .align 2, 0\n" "._851:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._848:\n" " cmp r0, #0x2\n" " beq ._853 @cond_branch\n" @@ -9677,7 +9680,7 @@ void debug_80C7DDC() "._869:\n" " .align 2, 0\n" "._868:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" "._865:\n" " cmp r0, #0x2\n" " beq ._870 @cond_branch\n" @@ -9833,7 +9836,7 @@ void debug_80C802C() "._882:\n" " .align 2, 0\n" "._881:\n" - " .word unk_debug_ewram_0+0x34\n" + " .word gUnknown_Debug_2038A20\n" " .word gPlttBufferUnfaded\n" " .word gPlttBufferFaded\n" " .word 0x101\n" diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index 45cde2cc0..9324ea1c1 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -817,10 +817,10 @@ void debug_sub_806F9E4() ._159:\n\ .align 2, 0\n\ ._158:\n\ - .word gUnknown_08376500+0x4\n\ - .word gUnknown_08376500+0x9\n\ - .word gUnknown_08376500+0x17\n\ - .word gUnknown_08376500+0xd\n\ + .word gUnknown_Debug_0839AE94\n\ + .word gUnknown_Debug_0839AE99\n\ + .word gUnknown_Debug_0839AEA7\n\ + .word gUnknown_Debug_0839AE9D\n\ ._155:\n\ bl RtcCalcLocalTime\n\ add r0, r6, #0\n\ -- cgit v1.2.3 From e03633d6bc1e1cd155bc258edbb7783020b4bdb7 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 16:55:48 -0600 Subject: fix more false offsets --- src/battle/battle_2.c | 218 ++++++++++----------- src/battle/battle_4.c | 4 +- src/battle/battle_ai.c | 16 +- src/battle/battle_controller_opponent.c | 12 +- src/battle/battle_controller_player.c | 4 +- src/battle/battle_records.c | 4 +- src/battle/battle_util.c | 12 +- src/contest.c | 14 +- src/debug/nohara_debug_menu.c | 14 +- src/engine/link.c | 13 +- src/engine/mystery_event_menu.c | 2 +- src/field/berry.c | 4 +- src/field/field_weather.c | 13 +- src/field/slot_machine.c | 104 ++++++----- src/pokenav_before.c | 322 ++++++++++++++++---------------- 15 files changed, 383 insertions(+), 373 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 41d00546d..6808ad61c 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -354,7 +354,7 @@ void InitBattle(void) " .word gBattle_BG2_Y\n" " .word gBattle_BG3_X\n" " .word gBattle_BG3_Y\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" " .word gBattleTerrain\n" " .word gUnknown_03004210\n" " .word gUnknown_030041D0\n" @@ -417,7 +417,7 @@ void InitBattle(void) "._15:\n" " .word sub_800EC9C+1\n" " .word gBattleTypeFlags\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" " .word gEnemyParty\n" " .word gTrainerBattleOpponent\n" " .word gMain\n" @@ -638,7 +638,7 @@ void sub_800EC9C() "._56:\n" " .align 2, 0\n" "._55:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x160cb\n" " .word gBattleCommunication\n" " .word ._57\n" @@ -710,8 +710,8 @@ void sub_800EC9C() "._76:\n" " .word gBattleTypeFlags\n" " .word gReceivedRemoteLinkPlayers\n" - " .word +0x2000000\n" - " .word gUnknown_02023A14+0x50\n" + " .word gSharedMem\n" + " .word gUnknown_02023A14_50\n" " .word 0x2211\n" " .word gLinkPlayers\n" " .word gBattleCommunication\n" @@ -873,7 +873,7 @@ void sub_800EC9C() "._106:\n" " .word sub_800DE30+1\n" " .word gTasks\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word gBlockRecvBuffer\n" "._60:\n" " bl sub_8007ECC\n" @@ -1295,7 +1295,7 @@ void sub_800F104() "._152:\n" " .align 2, 0\n" "._151:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x160cb\n" " .word 0x160c4\n" " .word gBattleCommunication\n" @@ -1355,10 +1355,10 @@ void sub_800F104() " .align 2, 0\n" "._165:\n" " .word gReceivedRemoteLinkPlayers\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" " .word 0x2211\n" " .word gLinkPlayers\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word gBattleCommunication\n" "._147:\n" " bl GetBlockReceivedStatus\n" @@ -1586,7 +1586,7 @@ void sub_800F298() "._189:\n" " .align 2, 0\n" "._188:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x160cb\n" " .word gBattleCommunication\n" " .word ._190\n" @@ -1646,10 +1646,10 @@ void sub_800F298() " .align 2, 0\n" "._206:\n" " .word gReceivedRemoteLinkPlayers\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" " .word 0x2211\n" " .word gLinkPlayers\n" - " .word +0x2000000\n" + " .word gSharedMem\n" "._192:\n" " bl GetBlockReceivedStatus\n" " mov r1, #0xf\n" @@ -3181,12 +3181,12 @@ void debug_sub_8010818() "._502:\n" " .align 2, 0\n" "._501:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word 0x115\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" " .word gUnknown_Debug_030043A8\n" - " .word gUnknown_02023A14+0xde\n" - " .word UnkDebug0+0x1b4\n" + " .word gUnknown_Debug_2023B02\n" + " .word gUnknown_Debug_821F56C\n" "\n" ); } @@ -3345,7 +3345,7 @@ void debug_sub_80108B8() " .word 0x4000050\n" " .word gMonShinyPalette_CircledQuestionMark+0x18\n" " .word gMonShinyPalette_CircledQuestionMark+0x834\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word gMonShinyPalette_CircledQuestionMark+0xa8c\n" " .word 0x50001e0\n" " .word debug_sub_8011D40+1\n" @@ -3356,7 +3356,7 @@ void debug_sub_80108B8() " .word gUnknown_Debug_030043A0\n" " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_030043A8\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" "._505:\n" " ldr r0, ._510\n" " mov r1, #0x0\n" @@ -3377,7 +3377,7 @@ void debug_sub_80108B8() "._511:\n" " .align 2, 0\n" "._510:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x160bb\n" "\n" ); @@ -3458,7 +3458,7 @@ void debug_sub_8010AAC() " .align 2, 0\n" "._520:\n" " .word gBaseStats\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_03004360\n" "._517:\n" @@ -3607,7 +3607,7 @@ void debug_sub_8010B80() "._535:\n" " .align 2, 0\n" "._534:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A0\n" " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_03004360\n" @@ -3800,8 +3800,8 @@ void debug_sub_8010CAC() " .word gUnknown_Debug_030043A0\n" " .word debug_sub_80108B8+1\n" " .word gPlayerParty\n" - " .word gUnknown_02023A14+0x52\n" - " .word gUnknown_02023A14+0xde\n" + " .word gUnknown_Debug_2023A76\n" + " .word gUnknown_Debug_2023B02\n" " .word gBattleMoves+0x4\n" "._550:\n" " ldr r1, ._556\n" @@ -4078,7 +4078,7 @@ void debug_sub_8010CAC() "._598:\n" " .align 2, 0\n" "._597:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A4\n" "._593:\n" " ldr r1, ._600\n" @@ -4089,7 +4089,7 @@ void debug_sub_8010CAC() "._601:\n" " .align 2, 0\n" "._600:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" "._594:\n" " ldr r3, ._604\n" " add r2, r3, #0\n" @@ -4110,7 +4110,7 @@ void debug_sub_8010CAC() "._605:\n" " .align 2, 0\n" "._604:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" "._602:\n" " mov r1, #0x8\n" " strh r1, [r2]\n" @@ -4250,11 +4250,11 @@ void debug_sub_8010CAC() "._619:\n" " .align 2, 0\n" "._618:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A0\n" " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_03004360\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" " .word gMain\n" " .word ._620\n" "._620:\n" @@ -4287,7 +4287,7 @@ void debug_sub_8010CAC() "._629:\n" " .align 2, 0\n" "._628:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A4\n" "._624:\n" " ldr r1, ._631\n" @@ -4298,7 +4298,7 @@ void debug_sub_8010CAC() "._632:\n" " .align 2, 0\n" "._631:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" "._625:\n" " ldr r3, ._635\n" " add r2, r3, #0\n" @@ -4319,7 +4319,7 @@ void debug_sub_8010CAC() "._636:\n" " .align 2, 0\n" "._635:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" "._633:\n" " mov r1, #0x0\n" " strh r1, [r2]\n" @@ -4456,11 +4456,11 @@ void debug_sub_8010CAC() "._651:\n" " .align 2, 0\n" "._650:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A0\n" " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_03004360\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" " .word gMain\n" "._648:\n" " mov r4, r8\n" @@ -4492,9 +4492,9 @@ void debug_sub_8010CAC() "._656:\n" " .align 2, 0\n" "._655:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_03004360\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" "._657:\n" " add r0, r5, #6\n" " add r0, r1, r0\n" @@ -4614,9 +4614,9 @@ void debug_sub_8010CAC() "._669:\n" " .align 2, 0\n" "._668:\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_03004360\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" "._670:\n" " ldrh r0, [r3]\n" " sub r0, r0, r1\n" @@ -4913,9 +4913,9 @@ void debug_sub_8011498() " .word gMain\n" " .word debug_sub_8010CAC+1\n" " .word gUnknown_Debug_030043A8\n" - " .word gUnknown_02023A14+0xde\n" + " .word gUnknown_Debug_2023B02\n" " .word gUnknown_Debug_03004360\n" - " .word UnkDebug0+0x1ac\n" + " .word gUnknown_Debug_821F564\n" "._689:\n" " add r0, r6, #6\n" " add r0, r2, r0\n" @@ -4988,10 +4988,10 @@ void debug_sub_8011498() " .align 2, 0\n" "._692:\n" " .word gMain\n" - " .word gUnknown_02023A14+0xde\n" + " .word gUnknown_Debug_2023B02\n" " .word gUnknown_Debug_030043A8\n" " .word gUnknown_Debug_03004360\n" - " .word UnkDebug0+0x1ac\n" + " .word gUnknown_Debug_821F564\n" "._694:\n" " ldrh r0, [r4]\n" " sub r0, r0, r1\n" @@ -5156,10 +5156,10 @@ void debug_sub_801174C() " .word gUnknown_020297ED\n" " .word gSaveBlock2\n" " .word str_821F631\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gBattleTypeFlags\n" - " .word UnkDebug0+0x1e0\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_Debug_821F598\n" + " .word gUnknown_02023A14_50\n" " .word gBattleTerrain\n" " .word gTrainerBattleOpponent\n" " .word gPlayerPartyCount\n" @@ -5272,8 +5272,8 @@ void debug_sub_801174C() " .align 2, 0\n" "._719:\n" " .word gEnemyParty\n" - " .word gUnknown_02023A14+0x52\n" - " .word gUnknown_02023A14+0x56\n" + " .word gUnknown_Debug_2023A76\n" + " .word gUnknown_Debug_2023A7A\n" "._717:\n" " mov r2, #0x0\n" " ldsh r0, [r0, r2]\n" @@ -5316,7 +5316,7 @@ void debug_sub_801174C() " .align 2, 0\n" "._726:\n" " .word gEnemyParty\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" "._723:\n" " cmp r0, #0x2\n" " beq ._728 @cond_branch\n" @@ -5429,10 +5429,10 @@ void debug_sub_801174C() " .align 2, 0\n" "._741:\n" " .word gPlayerParty\n" - " .word gUnknown_02023A14+0x98\n" + " .word gUnknown_Debug_2023ABC\n" " .word gPlayerPartyCount\n" - " .word gUnknown_02023A14+0x9c\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023AC0\n" + " .word gUnknown_Debug_2023A76\n" "._739:\n" " mov r1, #0x0\n" " ldsh r0, [r0, r1]\n" @@ -5574,14 +5574,14 @@ void debug_sub_801174C() " .align 2, 0\n" "._750:\n" " .word gPlayerParty\n" - " .word gUnknown_02023A14+0x98\n" + " .word gUnknown_Debug_2023ABC\n" " .word Str_821F649\n" - " .word gUnknown_02023A14+0x50\n" - " .word gUnknown_02023A14+0xde\n" + " .word gUnknown_02023A14_50\n" + " .word gUnknown_Debug_2023B02\n" " .word gEnemyParty\n" " .word gBattleMoves+0x4\n" - " .word gUnknown_02023A14+0x10e\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023B32\n" + " .word gUnknown_Debug_2023A76\n" "._748:\n" " cmp r0, #0x7\n" " bne ._752 @cond_branch\n" @@ -5592,7 +5592,7 @@ void debug_sub_801174C() "._755:\n" " .align 2, 0\n" "._754:\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" "._752:\n" " cmp r0, #0x6\n" " bne ._756 @cond_branch\n" @@ -5614,8 +5614,8 @@ void debug_sub_801174C() "._760:\n" " .align 2, 0\n" "._759:\n" - " .word gUnknown_02023A14+0x50\n" - " .word +0x2000000\n" + " .word gUnknown_02023A14_50\n" + " .word gSharedMem\n" " .word 0x160a3\n" "._757:\n" " ldr r0, ._762\n" @@ -5625,7 +5625,7 @@ void debug_sub_801174C() "._763:\n" " .align 2, 0\n" "._762:\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x160a3\n" "._756:\n" " cmp r0, #0x5\n" @@ -5642,7 +5642,7 @@ void debug_sub_801174C() "._767:\n" " .align 2, 0\n" "._766:\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" "._764:\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -5772,11 +5772,11 @@ void debug_sub_801174C() "._773:\n" " .align 2, 0\n" "._772:\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" " .word gMain\n" " .word debug_sub_80108B8+1\n" " .word unref_sub_800D684+1\n" - " .word UnkDebug0+0x1f4\n" + " .word gUnknown_Debug_821F5AC\n" "\n" ); } @@ -5834,7 +5834,7 @@ void debug_sub_8011D40() " .align 2, 0\n" "._774:\n" " .word 0x40000d4\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x6004000\n" " .word 0x80000800\n" " .word gBattle_BG0_X\n" @@ -6121,9 +6121,9 @@ void debug_sub_8011EA0() " .align 2, 0\n" "._823:\n" " .word gBattleTextBuff1\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" " .word gUnknown_Debug_03004370\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_03004360\n" " .word gSpeciesNames\n" "._817:\n" @@ -6147,7 +6147,7 @@ void debug_sub_8011EA0() " .align 2, 0\n" "._826:\n" " .word gBattleTextBuff1\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_03004360\n" "._814:\n" " mov r0, #0x0\n" @@ -6226,9 +6226,9 @@ void debug_sub_8011EA0() "._830:\n" " .word gUnknown_Debug_03004370\n" " .word gBattleTextBuff1\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" " .word gUnknown_Debug_03004360\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" "._828:\n" " ldr r1, ._833\n" " mov r0, sl\n" @@ -6257,10 +6257,10 @@ void debug_sub_8011EA0() "._834:\n" " .align 2, 0\n" "._833:\n" - " .word UnkDebug0+0x26c\n" + " .word Str_821F624\n" " .word gUnknown_Debug_03004370\n" " .word gBattleTextBuff1\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" "._816:\n" " mov r0, #0x0\n" " mov r1, #0x4\n" @@ -6308,8 +6308,8 @@ void debug_sub_8011EA0() "._839:\n" " .word gUnknown_Debug_03004370\n" " .word gBattleTextBuff1\n" - " .word UnkDebug0+0x6c\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_821F424\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_03004360\n" "._836:\n" " cmp r0, #0x2\n" @@ -6373,7 +6373,7 @@ void debug_sub_8011EA0() "._849:\n" " .word gBattleTextBuff1\n" " .word gUnknown_Debug_03004370\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" "._815:\n" " ldr r6, ._851\n" " ldr r3, ._851 + 4\n" @@ -6422,10 +6422,10 @@ void debug_sub_8011EA0() " .align 2, 0\n" "._851:\n" " .word gBattleTextBuff1\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_03004360\n" " .word gUnknown_Debug_03004370\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" "\n" ); } @@ -6572,12 +6572,12 @@ void debug_sub_8012294() " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_03004370\n" " .word gBattleTextBuff1\n" - " .word UnkDebug0+0x1ac\n" + " .word gUnknown_Debug_821F564\n" " .word gUnknown_Debug_030043A8\n" - " .word UnkDebug0+0x1ae\n" - " .word UnkDebug0+0x1b0\n" + " .word gUnknown_Debug_821F566\n" + " .word gUnknown_Debug_821F568\n" " .word gUnknown_Debug_03004360\n" - " .word gUnknown_02023A14+0xde\n" + " .word gUnknown_Debug_2023B02\n" " .word gMoveNames\n" "\n" ); @@ -6700,9 +6700,9 @@ void debug_sub_80123D8() "._858:\n" " .word gUnknown_Debug_03004370\n" " .word gBattleTextBuff1\n" - " .word UnkDebug0+0x1d4\n" + " .word gUnknown_Debug_821F58C\n" " .word gUnknown_Debug_03004360\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gBaseStats\n" " .word gAbilityNames\n" "._856:\n" @@ -6745,7 +6745,7 @@ void debug_sub_80123D8() " .word gBattleTextBuff1\n" " .word gAbilityNames\n" " .word gUnknown_Debug_03004370\n" - " .word UnkDebug0+0x1d4\n" + " .word gUnknown_Debug_821F58C\n" "\n" ); } @@ -6792,9 +6792,9 @@ void debug_sub_8012540() " .align 2, 0\n" "._862:\n" " .word gBattleTextBuff1\n" - " .word gUnknown_02023A14+0x52\n" + " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_03004370\n" - " .word UnkDebug0+0x6c\n" + " .word gUnknown_Debug_821F424\n" "\n" ); } @@ -6839,8 +6839,8 @@ void debug_sub_80125A0() "._865:\n" " .align 2, 0\n" "._864:\n" - " .word +0x2000000\n" - " .word UnkDebug0+0x2c8\n" + " .word gSharedMem\n" + " .word gUnknown_Debug_821F680\n" " .word gUnknown_Debug_030043A0\n" " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_03004360\n" @@ -6879,8 +6879,8 @@ void debug_sub_80125E4() "._867:\n" " .align 2, 0\n" "._866:\n" - " .word +0x2000000\n" - " .word UnkDebug0+0x2c8\n" + " .word gSharedMem\n" + " .word gUnknown_Debug_821F680\n" " .word gUnknown_Debug_030043A0\n" " .word gUnknown_Debug_030043A4\n" " .word gUnknown_Debug_03004360\n" @@ -6910,8 +6910,8 @@ void debug_sub_8012628() "._869:\n" " .align 2, 0\n" "._868:\n" - " .word +0x2000000\n" - " .word UnkDebug0+0x3e0\n" + " .word gSharedMem\n" + " .word gUnknown_Debug_821F798\n" " .word gUnknown_Debug_030043A8\n" " .word gUnknown_Debug_03004360\n" "\n" @@ -6940,8 +6940,8 @@ void debug_sub_8012658() "._871:\n" " .align 2, 0\n" "._870:\n" - " .word +0x2000000\n" - " .word UnkDebug0+0x3e0\n" + " .word gSharedMem\n" + " .word gUnknown_Debug_821F798\n" " .word gUnknown_Debug_030043A8\n" " .word gUnknown_Debug_03004360\n" "\n" @@ -7126,7 +7126,7 @@ void debug_sub_8012688() "._874:\n" " .align 2, 0\n" "._873:\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" " .word 0x40000d4\n" " .word 0x85006000\n" " .word 0x400004c\n" @@ -7341,8 +7341,8 @@ void debug_sub_8012938() "._880:\n" " .word gUnknown_03004210\n" " .word gBattleTextBuff1\n" - " .word UnkDebug0+0x400\n" - " .word gUnknown_02023A14+0x13e\n" + " .word Str_821F7B8\n" + " .word gUnknown_Debug_2023B62\n" " .word gCurrentMove\n" " .word gSprites\n" " .word gTasks\n" @@ -7444,7 +7444,7 @@ void debug_sub_80129F8() " .word gMonPaletteTable\n" " .word gSprites\n" " .word gTasks\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" "\n" ); } @@ -7638,7 +7638,7 @@ void debug_sub_8012B70() "._901:\n" " .word gTasks\n" " .word gUnknown_03004210\n" - " .word UnkDebug0+0x422\n" + " .word Str_821F7DA\n" "\n" ); } @@ -7762,7 +7762,7 @@ void debug_sub_8012C08() " .align 2, 0\n" "._907:\n" " .word gTasks\n" - " .word UnkDebug0+0x432\n" + " .word Str_821F7EA\n" " .word gUnknown_03004210\n" " .word BattleText_YesNo\n" "\n" @@ -7833,7 +7833,7 @@ void debug_sub_8012D10() " .align 2, 0\n" "._920:\n" " .word gUnknown_03004210\n" - " .word UnkDebug0+0x405\n" + " .word Str_821F7BD\n" " .word gTasks\n" "._915:\n" " ldr r2, ._924\n" @@ -7988,7 +7988,7 @@ void debug_sub_8012D10() "._953:\n" " .align 2, 0\n" "._952:\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" " .word gCurrentMove\n" "._939:\n" " mov r0, #0x1\n" @@ -8059,7 +8059,7 @@ void debug_sub_8012D10() "._974:\n" " .align 2, 0\n" "._973:\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" " .word gCurrentMove\n" "._968:\n" " ldr r1, ._977\n" @@ -8135,7 +8135,7 @@ void debug_sub_8012D10() "._996:\n" " .align 2, 0\n" "._995:\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" " .word gCurrentMove\n" "._983:\n" " mov r0, #0x1\n" @@ -8218,7 +8218,7 @@ void debug_sub_8012D10() "._1021:\n" " .align 2, 0\n" "._1020:\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" " .word gCurrentMove\n" "._1018:\n" " strb r3, [r2]\n" @@ -8372,7 +8372,7 @@ void debug_sub_8012D10() " .align 2, 0\n" "._1050:\n" " .word gTasks\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" " .word 0x19b\n" "._1047:\n" " mov r0, #0x2\n" @@ -8458,7 +8458,7 @@ void debug_sub_8012D10() " .align 2, 0\n" "._1065:\n" " .word gTasks\n" - " .word gUnknown_02023A14+0x13e\n" + " .word gUnknown_Debug_2023B62\n" " .word 0x19b\n" "._1062:\n" " mov r0, #0x2\n" @@ -8912,7 +8912,7 @@ void debug_sub_80138CC() " .align 2, 0\n" "._1167:\n" " .word gActiveBank\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x160fd\n" " .word ._1169\n" "._1169:\n" @@ -9095,7 +9095,7 @@ void debug_sub_80139E4() "._1199:\n" " .align 2, 0\n" "._1198:\n" - " .word gUnknown_02023A14+0x50\n" + " .word gUnknown_02023A14_50\n" " .word gActiveBank\n" " .word gNoOfAllBanks\n" " .word gBattleMainFunc\n" @@ -9471,7 +9471,7 @@ void sub_8010874() " .word gStatuses3\n" " .word gUnknown_02024C70\n" " .word gUnknown_02024C5C\n" - " .word +0x2017100\n" + " .word gSharedMem+0x17100\n" " .word gSideTimers\n" " .word gSideAffecting\n" " .word gBankAttacker\n" @@ -9481,7 +9481,7 @@ void sub_8010874() " .word gHitMarker\n" " .word gBattleTypeFlags\n" " .word gSaveBlock2\n" - " .word +0x2000000\n" + " .word gSharedMem\n" " .word 0x16084\n" " .word gMultiHitCounter\n" " .word gBattleOutcome\n" diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 3415d9337..9fe1f6cb0 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -1090,7 +1090,7 @@ static const u8 sTerrainToType[] = TYPE_NORMAL, // plain }; -const u8 sBallCatchBonuses[] = +static const u8 sBallCatchBonuses[] = { 20, 15, 10, 15 // Ultra, Great, Poke, Safari }; @@ -5103,7 +5103,7 @@ static void atk15_seteffectwithchance(void) ._1045:\n\ .word gBattleMoves\n\ .word gCurrentMove\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word gBattleCommunication\n\ .word gBattleMoveFlags\n\ ._1043:\n\ diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index ffc9281e4..87a66c2c7 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -381,7 +381,7 @@ void BattleAI_SetupAIData() "._17:\n" " .align 2, 0\n" "._16:\n" - " .word +0x2016800\n" + " .word gSharedMem+0x16800\n" " .word gActiveBank\n" " .word gBitTable\n" " .word +0x2016c00\n" @@ -410,7 +410,7 @@ void BattleAI_SetupAIData() "._20:\n" " .word gBankTarget\n" " .word gBattleTypeFlags\n" - " .word +0x2016800\n" + " .word gSharedMem+0x16800\n" "._18:\n" " mov r2, #0x80\n" " lsl r2, r2, #0x3\n" @@ -425,7 +425,7 @@ void BattleAI_SetupAIData() "._25:\n" " .align 2, 0\n" "._24:\n" - " .word +0x2016800\n" + " .word gSharedMem+0x16800\n" "._22:\n" " mov r0, #0x10\n" " and r0, r0, r1\n" @@ -438,7 +438,7 @@ void BattleAI_SetupAIData() "._29:\n" " .align 2, 0\n" "._28:\n" - " .word +0x2016800\n" + " .word gSharedMem+0x16800\n" "._26:\n" " mov r0, #0x90\n" " lsl r0, r0, #0x4\n" @@ -460,7 +460,7 @@ void BattleAI_SetupAIData() " .align 2, 0\n" "._33:\n" " .word gTrainerBattleOpponent\n" - " .word +0x2016800\n" + " .word gSharedMem+0x16800\n" "._31:\n" " ldr r3, ._36\n" " ldr r2, ._36 + 4\n" @@ -489,10 +489,10 @@ void BattleAI_SetupAIData() "._37:\n" " .align 2, 0\n" "._36:\n" - " .word +0x2016800\n" + " .word gSharedMem+0x16800\n" " .word gTrainers\n" - " .word gUnknown_02023A14+0x50\n" - " .word gUnknown_02023A14+0x4c\n" + " .word gUnknown_02023A14_50\n" + " .word gUnknown_02023A14_4C\n" "\n" ); } diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index cc69c0120..d2045b6c4 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1232,7 +1232,7 @@ void OpponentHandleTrainerThrow(void) ._481:\n\ .align 2, 0\n\ ._480:\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word +0x2000000\n\ .word 0x160a3\n\ ._478:\n\ @@ -1718,8 +1718,8 @@ void OpponentHandlecmd20(void) .align 2, 0\n\ ._549:\n\ .word gActiveBank\n\ - .word gUnknown_02023A64\n\ - .word gUnknown_02023A14+0x50\n\ + .word gBattleBufferA+4\n\ + .word gUnknown_02023A14_50\n\ .word gBattleMoves\n\ .word +0x2000000\n\ .word 0x1609e\n\ @@ -1781,7 +1781,7 @@ void OpponentHandlecmd20(void) .align 2, 0\n\ ._559:\n\ .word gBattleTypeFlags\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ ._556:\n\ bl Random\n\ add r1, r5, #0\n\ @@ -2048,7 +2048,7 @@ void OpponentHandlecmd20(void) ldr r6, _0803545C @ =gActiveBank\n\ ldrb r0, [r6]\n\ lsls r0, 9\n\ - ldr r1, _08035460 @ =gUnknown_02023A64\n\ + ldr r1, _08035460 @ =gBattleBufferA+4\n\ adds r5, r0, r1\n\ ldr r0, _08035464 @ =gBattleTypeFlags\n\ ldrh r1, [r0]\n\ @@ -2070,7 +2070,7 @@ void OpponentHandlecmd20(void) b _0803546C\n\ .align 2, 0\n\ _0803545C: .4byte gActiveBank\n\ -_08035460: .4byte gUnknown_02023A64\n\ +_08035460: .4byte gBattleBufferA+4\n\ _08035464: .4byte gBattleTypeFlags\n\ _08035468:\n\ movs r0, 0x1\n\ diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index cbca4a586..8875d5148 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -674,7 +674,7 @@ void sub_802C68C(void) .align 2, 0\n\ ._131:\n\ .word gActiveBank\n\ - .word gUnknown_02023A64\n\ + .word gBattleBufferA+4\n\ .word gMain\n\ .word gMoveSelectionCursor\n\ ._128:\n\ @@ -1328,7 +1328,7 @@ void sub_802C68C(void) .word gPlayerParty\n\ .word gMoveNames\n\ .word gDisplayedStringBattle\n\ - .word sBallCatchBonuses+0x4\n\ + .word gString_TurnJP\n\ .word gAnimMoveTurn\n\ .word gSprites\n\ .word gOamMatrixAllocBitmap\n\ diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index 4fce958fa..9dd1d7b53 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -275,9 +275,9 @@ void debug_sub_81257E0(void) ._63:\n\ .align 2, 0\n\ ._62:\n\ - .word gUnknown_083F8410+0xa\n\ + .word gUnknown_Debug_4245CC+2\n\ .word gLinkPlayers\n\ - .word gUnknown_083F8410+0x5c\n\ + .word gUnknown_Debug_8424620\n\ .word gLinkPlayerMapObjects\n\ .word gSaveBlock1+0x30b8"); } diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index 817382911..620e0690a 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -3255,7 +3255,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) ._1079:\n\ .align 2, 0\n\ ._1078:\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word gBattleMoveFlags\n\ .word gBattleMons\n\ .word gBankAttacker\n\ @@ -3465,7 +3465,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) ._1112:\n\ .align 2, 0\n\ ._1111:\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word gBattleMoveFlags\n\ .word gBattleMons\n\ .word gBankAttacker\n\ @@ -3660,7 +3660,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) ._1143:\n\ .align 2, 0\n\ ._1142:\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word gBattleMoveFlags\n\ .word gBattleMons\n\ .word gBankAttacker\n\ @@ -3855,7 +3855,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) ._1174:\n\ .align 2, 0\n\ ._1173:\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word gBattleMoveFlags\n\ .word gBattleMons\n\ .word gBankAttacker\n\ @@ -4118,7 +4118,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) ._1218:\n\ .align 2, 0\n\ ._1217:\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ .word gBattleMoveFlags\n\ .word gBattleMons\n\ .word gBankAttacker\n\ @@ -7489,7 +7489,7 @@ u8 IsMonDisobedient(void) .word gBattleTypeFlags\n\ .word gBankAttacker\n\ .word gBattleMons\n\ - .word gUnknown_02023A14+0x50\n\ + .word gUnknown_02023A14_50\n\ ._1783:\n\ ldr r0, ._1794\n\ bl FlagGet\n\ diff --git a/src/contest.c b/src/contest.c index 834d641d0..950b26d0c 100644 --- a/src/contest.c +++ b/src/contest.c @@ -919,7 +919,7 @@ void sub_80ABEA0(u8 taskId) ._180:\n\ .word gDisplayedStringBattle\n\ .word gText_Contest_ButItCantParticipate\n\ - .word +0x2019204\n\ + .word gSharedMem+0x19204\n\ .word gStringVar4\n\ .word gMenuWindow\n\ .word gBattle_BG0_Y\n\ @@ -939,7 +939,7 @@ void sub_80ABEA0(u8 taskId) ._185:\n\ .align 2, 0\n\ ._184:\n\ - .word +0x2019204\n\ + .word gSharedMem+0x19204\n\ ._182:\n\ sub r0, r0, #0x1\n\ b ._186\n\ @@ -957,7 +957,7 @@ void sub_80ABEA0(u8 taskId) ._190:\n\ .align 2, 0\n\ ._189:\n\ - .word +0x2019204\n\ + .word gSharedMem+0x19204\n\ ._187:\n\ add r0, r1, #1\n\ ._186:\n\ @@ -987,7 +987,7 @@ void sub_80ABEA0(u8 taskId) ._194:\n\ .align 2, 0\n\ ._193:\n\ - .word +0x2019204\n\ + .word gSharedMem+0x19204\n\ .word gContestMons\n\ .word gContestPlayerMonIndex\n\ ._168:\n\ @@ -1445,7 +1445,7 @@ void debug_sub_80BA054() ._263:\n\ .align 2, 0\n\ ._262:\n\ - .word +0x2019348\n\ + .word gSharedMem+0x19348\n\ .word gBattleMonForms\n\ .word gContestPlayerMonIndex\n\ .word gContestMons\n\ @@ -1501,7 +1501,7 @@ void debug_sub_80BA054() .word gSprites\n\ .word SpriteCallbackDummy+1\n\ .word gContestPlayerMonIndex\n\ - .word +0x2019260\n\ + .word gSharedMem+0x19260\n\ ._241:\n\ ldr r0, ._273\n\ ldr r0, [r0]\n\ @@ -1535,7 +1535,7 @@ void debug_sub_80BA054() .word gAnimScriptCallback\n\ .word gAnimScriptActive\n\ .word gContestPlayerMonIndex\n\ - .word +0x2019204\n\ + .word gSharedMem+0x19204\n\ .word gTasks\n\ ._271:\n\ ldr r0, ._276\n\ diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index a932fee8d..bdfc8f9c5 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -1,9 +1,9 @@ #if DEBUG #include "global.h" -#define BSS_DATA __attribute__((section(".bss"))) - -BSS_DATA u8 gDebug_03000724[4] = { 0 }; +__attribute__((unused)) static u8 gDebug_03000724; +__attribute__((unused)) static u8 gDebug_03000725; +__attribute__((unused)) static u8 gDebug_03000726; __attribute__((naked)) void InitNoharaDebugMenu() @@ -127,7 +127,7 @@ void NoharaDebugMenu_TV() "._9:\n" " .align 2, 0\n" "._8:\n" - " .word gDebug_03000724+0x2\n" + " .word gDebug_03000726\n" " .word gUnknown_Debug_083C4B8C\n" " .word gMenuCallback\n" " .word debug_sub_808F4AC+1\n" @@ -414,7 +414,7 @@ void debug_sub_808F648() " .align 2, 0\n" "._35:\n" " .word gMain\n" - " .word gDebug_03000724+0x2\n" + " .word gDebug_03000726\n" "._33:\n" " bl debug_sub_808F6BC\n" " b ._40\n" @@ -933,7 +933,7 @@ void debug_sub_808F93C() " .align 2, 0\n" "._83:\n" " .word gMain\n" - " .word gDebug_03000724+0x1\n" + " .word gDebug_03000725\n" " .word gDebug_03000724\n" " .word gUnknown_Debug_083C4ABD+0xf\n" " .word gStringVar1\n" @@ -1671,7 +1671,7 @@ void debug_sub_808FF3C() " .align 2, 0\n" "._192:\n" " .word gMain\n" - " .word gDebug_03000724+0x1\n" + " .word gDebug_03000725\n" " .word gDebug_03000724\n" " .word gUnknown_Debug_083C4B20+0x4\n" " .word gStringVar1\n" diff --git a/src/engine/link.c b/src/engine/link.c index 5785a5a56..eb0ae4731 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -147,6 +147,9 @@ void (*gLinkCallback)(void); struct LinkPlayer gSavedLinkPlayers[MAX_LINK_PLAYERS]; u8 gShouldAdvanceLinkState; u16 gLinkTestBlockChecksums[MAX_LINK_PLAYERS]; +#if DEBUG +u8 gUnknown_Debug_30030E0; +#endif u8 gBlockRequestType; u8 gLastSendQueueCount; struct Link gLink; @@ -158,11 +161,11 @@ u8 deUnkValue1; u8 deUnkValue2; #endif -EWRAM_DATA bool8 gLinkTestDebugValuesEnabled = {0}; -EWRAM_DATA bool8 gLinkTestDummyBool = {0}; -EWRAM_DATA u32 gFiller_20238B8 = {0}; -EWRAM_DATA u32 dword_20238BC = {0}; -EWRAM_DATA bool8 gLinkOpen = {0}; +EWRAM_DATA bool8 gLinkTestDebugValuesEnabled = 0; +EWRAM_DATA bool8 gLinkTestDummyBool = 0; +EWRAM_DATA u32 gFiller_20238B8 = 0; +EWRAM_DATA u32 dword_20238BC = 0; +EWRAM_DATA bool8 gLinkOpen = 0; static const u16 sLinkTestDigitPalette[] = INCBIN_U16("graphics/interface/link_test_digits.gbapal"); static const u32 sLinkTestDigitTiles[] = INCBIN_U32("graphics/interface/link_test_digits.4bpp"); diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index c80a8f3e9..2e526bb4a 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -602,7 +602,7 @@ void debug_sub_815D1D8() " .align 2, 0\n" "._161:\n" " .word gPaletteFade\n" - " .word gLinkTestBlockChecksums+0x8\n" + " .word gUnknown_Debug_30030E0\n" " .word Str_843DA70\n" " .word 0x43c\n" "._144:\n" diff --git a/src/field/berry.c b/src/field/berry.c index d6982479e..5c1ecd699 100644 --- a/src/field/berry.c +++ b/src/field/berry.c @@ -1245,8 +1245,8 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) " .word 0x3170\n" " .word 0x47f\n" " .word 0x317c\n" - " .word gSpriteImage_83C172C+0x80\n" - " .word gSpriteImage_83C172C+0x500\n" + " .word gSpriteImage_UnusedCherry\n" + " .word gSpritePalette_UnusedCherry\n" " .word 0x35fc\n" " .word gSaveBlock1+0x3676\n" " .word gUnknown_Debug_839B6CE\n" diff --git a/src/field/field_weather.c b/src/field/field_weather.c index cf96b2e87..c411bf20b 100644 --- a/src/field/field_weather.c +++ b/src/field/field_weather.c @@ -43,7 +43,10 @@ struct WeatherCallbacks EWRAM_DATA struct Weather gWeather = {0}; EWRAM_DATA u8 gFieldEffectPaletteGammaTypes[32] = {0}; -EWRAM_DATA u16 gUnknown_0202FF58 = {0}; +EWRAM_DATA u16 gUnknown_0202FF58 = 0; +#if DEBUG +EWRAM_DATA u16 gUnknown_Debug_20301FE = 0; +#endif static const u8 *sPaletteGammaTypes; @@ -1297,7 +1300,7 @@ u8 debug_sub_8085564(void) .align 2, 0\n\ ._375:\n\ .word gMain\n\ - .word gUnknown_0202FF58+0x2\n\ + .word gUnknown_Debug_20301FE\n\ ._373:\n\ mov r0, #0xe\n\ ._374:\n\ @@ -1333,7 +1336,7 @@ u8 debug_sub_8085564(void) .align 2, 0\n\ ._380:\n\ .word gDebugText_Weather\n\ - .word gUnknown_0202FF58+0x2\n\ + .word gUnknown_Debug_20301FE\n\ .word gMain\n\ ._378:\n\ ldr r0, ._382\n\ @@ -1347,7 +1350,7 @@ u8 debug_sub_8085564(void) ._383:\n\ .align 2, 0\n\ ._382:\n\ - .word gUnknown_0202FF58+0x2"); + .word gUnknown_Debug_20301FE"); } __attribute__((naked)) @@ -1386,7 +1389,7 @@ u8 debug_sub_808560C(void) ._385:\n\ .align 2, 0\n\ ._384:\n\ - .word gUnknown_0202FF58+0x2\n\ + .word gUnknown_Debug_20301FE\n\ .word gWeather\n\ .word gDebugText_Weather\n\ .word gMenuCallback\n\ diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index b5b13c533..99770f6e3 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -226,6 +226,15 @@ static void sub_81064B8(void); static void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); static void sub_81065DC(void); +#if DEBUG +__attribute__((section(".bss"))) u8 unk_debug_bss_1_0 = 0; +__attribute__((section(".bss"))) u8 unk_debug_bss_1_1 = 0; +__attribute__((section(".bss"))) u8 unk_debug_bss_1_2 = 0; +__attribute__((section(".bss"))) u8 unk_debug_bss_1_3 = 0; +__attribute__((section(".bss"))) u8 unk_debug_bss_1_4 = 0; +__attribute__((section(".bss"))) u32 unk_debug_bss_1_8 = 0; +#endif + static const struct UnkStruct1 *const gUnknown_083ED048[]; static const u16 gPalette_83EDE24[]; static const u8 gUnknown_083ECD04[][3]; @@ -252,7 +261,7 @@ void PlaySlotMachine(u8 arg0, MainCallback cb) ._2:\n\ .align 2, 0\n\ ._1:\n\ - .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1_1\n\ .word CB2_SlotMachineSetup+1"); } #else @@ -282,7 +291,7 @@ void debug_sub_811609C() ._4:\n\ .align 2, 0\n\ ._3:\n\ - .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1_1\n\ .word CB2_SlotMachineSetup+1"); } #endif @@ -544,7 +553,7 @@ static void SlotMachineSetup_0_1(void) .word gSaveBlock1\n\ .word 0x494\n\ .word gUnknown_083ECCF8\n\ - .word unk_debug_bss_1+0x1"); + .word unk_debug_bss_1_1"); } #else static void SlotMachineSetup_0_1(void) @@ -744,8 +753,8 @@ static bool8 sub_8101E10(struct Task *task) .align 2, 0\n\ ._70:\n\ .word +0x2000000\n\ - .word unk_debug_bss_1+0x1\n\ - .word unk_debug_bss_1+0x4\n\ + .word unk_debug_bss_1_1\n\ + .word unk_debug_bss_1_4\n\ .word 0x270e"); } #else @@ -794,9 +803,9 @@ static bool8 sub_8101E3C(struct Task *task) ._78:\n\ .align 2, 0\n\ ._77:\n\ - .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1_1\n\ .word gMain\n\ - .word unk_debug_bss_1+0x4\n\ + .word unk_debug_bss_1_4\n\ .word +0x2000000\n\ ._75:\n\ mov r0, #0x0\n\ @@ -1101,7 +1110,7 @@ static bool8 sub_8101FA4(struct Task *task) .align 2, 0\n\ ._119:\n\ .word +0x2000000\n\ - .word unk_debug_bss_1+0x1"); + .word unk_debug_bss_1_1"); } #else static bool8 sub_8101FA4(struct Task *task) @@ -1182,9 +1191,9 @@ static bool8 sub_8102034(struct Task *task) ._128:\n\ .align 2, 0\n\ ._127:\n\ - .word unk_debug_bss_1+0x1\n\ - .word unk_debug_bss_1+0x4\n\ - .word unk_debug_bss_1+0x8\n\ + .word unk_debug_bss_1_1\n\ + .word unk_debug_bss_1_4\n\ + .word unk_debug_bss_1_8\n\ .word +0x2000000"); } #else @@ -1235,9 +1244,9 @@ static bool8 sub_8102058(struct Task *task) ._134:\n\ .align 2, 0\n\ ._133:\n\ - .word unk_debug_bss_1+0x1\n\ - .word unk_debug_bss_1+0x4\n\ - .word unk_debug_bss_1+0x8\n\ + .word unk_debug_bss_1_1\n\ + .word unk_debug_bss_1_4\n\ + .word unk_debug_bss_1_8\n\ .word +0x2000000\n\ ._130:\n\ ldr r0, ._136\n\ @@ -1322,7 +1331,7 @@ static bool8 sub_8102090(struct Task *task) .align 2, 0\n\ ._146:\n\ .word +0x2000000\n\ - .word unk_debug_bss_1\n\ + .word unk_debug_bss_1_0\n\ ._143:\n\ cmp r0, #0x4\n\ beq ._148 @cond_branch\n\ @@ -1821,7 +1830,7 @@ static bool8 sub_8102424(struct Task *task) ._235:\n\ .align 2, 0\n\ ._234:\n\ - .word unk_debug_bss_1+0x1\n\ + .word unk_debug_bss_1_1\n\ .word gSaveBlock1\n\ .word +0x2000000\n\ .word 0x494"); @@ -1980,9 +1989,9 @@ static void sub_8102484(void) .align 2, 0\n\ ._256:\n\ .word +0x2000000\n\ - .word unk_debug_bss_1+0x1\n\ - .word unk_debug_bss_1+0x2\n\ - .word unk_debug_bss_1+0x3\n\ + .word unk_debug_bss_1_1\n\ + .word unk_debug_bss_1_2\n\ + .word unk_debug_bss_1_3\n\ ._245:\n\ add r5, r4, #0\n\ ldrb r1, [r5, #0x4]\n\ @@ -4047,11 +4056,6 @@ static void sub_8104C5C(void) static void LoadSlotMachineWheelOverlay(void); -#if DEBUG -// should be static -__attribute__((section(".bss"))) u8 unk_debug_bss_1[0xC] = { 0 }; -#endif - static void sub_8104CAC(u8 arg0) { u8 i; @@ -5186,8 +5190,8 @@ void debug_sub_811B1C4() ".__2_:\n" " .align 2, 0\n" ".__1_:\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_0\n" "\n" ); } @@ -5212,8 +5216,8 @@ void debug_sub_811B1EC() ".__4:\n" " .align 2, 0\n" ".__3:\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_0\n" "\n" ); } @@ -5240,8 +5244,8 @@ void debug_sub_811B210() ".__6:\n" " .align 2, 0\n" ".__5:\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_0\n" "\n" ); } @@ -5268,8 +5272,8 @@ void debug_sub_811B238() ".__8:\n" " .align 2, 0\n" ".__7:\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_0\n" "\n" ); } @@ -5296,8 +5300,8 @@ void debug_sub_811B260() ".__10:\n" " .align 2, 0\n" ".__9:\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_0\n" "\n" ); } @@ -5324,8 +5328,8 @@ void debug_sub_811B288() ".__12:\n" " .align 2, 0\n" ".__11:\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_0\n" "\n" ); } @@ -5352,8 +5356,8 @@ void debug_sub_811B2B0() ".__14:\n" " .align 2, 0\n" ".__13:\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_0\n" "\n" ); } @@ -5371,7 +5375,7 @@ void debug_sub_811B2D8() ".__16:\n" " .align 2, 0\n" ".__15:\n" - " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1_3\n" "\n" ); } @@ -5650,7 +5654,7 @@ void debug_sub_811B310() ".__30:\n" " .word Str_841B249\n" " .word +0x2000000\n" - " .word unk_debug_bss_1\n" + " .word unk_debug_bss_1_0\n" ".__27:\n" " cmp r0, #0x4\n" " beq .__32 @cond_branch\n" @@ -5765,10 +5769,10 @@ void debug_sub_811B5D0() ".__52:\n" " .align 2, 0\n" ".__51:\n" - " .word unk_debug_bss_1\n" - " .word unk_debug_bss_1+0x2\n" - " .word unk_debug_bss_1+0x3\n" - " .word unk_debug_bss_1+0x4\n" + " .word unk_debug_bss_1_0\n" + " .word unk_debug_bss_1_2\n" + " .word unk_debug_bss_1_3\n" + " .word unk_debug_bss_1_4\n" " .word +0x2000000\n" "\n" ); @@ -5994,11 +5998,11 @@ void debug_sub_811B654() ".__92:\n" " .align 2, 0\n" ".__91:\n" - " .word unk_debug_bss_1+0x2\n" - " .word unk_debug_bss_1+0x3\n" + " .word unk_debug_bss_1_2\n" + " .word unk_debug_bss_1_3\n" " .word Str_841B254\n" " .word _841B270\n" - " .word unk_debug_bss_1+0x4\n" + " .word unk_debug_bss_1_4\n" ".__66:\n" " bl Menu_ProcessInput\n" " lsl r0, r0, #0x18\n" @@ -6027,7 +6031,7 @@ void debug_sub_811B654() ".__97:\n" " .align 2, 0\n" ".__96:\n" - " .word unk_debug_bss_1+0x2\n" + " .word unk_debug_bss_1_2\n" " .word _841B270\n" ".__68:\n" " ldr r2, .__100\n" @@ -6183,7 +6187,7 @@ void debug_sub_811B894() " .word +0x2000000\n" " .word 0x270f\n" " .word Str_841B2B0\n" - " .word unk_debug_bss_1+0x4\n" + " .word unk_debug_bss_1_4\n" " .word Str_841B2D3\n" ".__117:\n" " lsl r0, r2, #0x10\n" @@ -6373,7 +6377,7 @@ void debug_sub_811B894() " .align 2, 0\n" ".__163:\n" " .word Str_841B2E4\n" - " .word unk_debug_bss_1+0x4\n" + " .word unk_debug_bss_1_4\n" " .word +0x2000000\n" " .word Str_841B2BF\n" "\n" diff --git a/src/pokenav_before.c b/src/pokenav_before.c index f9e2beccb..b292e80c4 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -497,7 +497,7 @@ void sub_80EBDD8() ._65:\n\ .align 2, 0\n\ ._64:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._66\n\ ._66:\n\ .word ._67\n\ @@ -543,7 +543,7 @@ void sub_80EBDD8() ._87:\n\ .align 2, 0\n\ ._86:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6ddc\n\ .word 0x6dae\n\ ._68:\n\ @@ -570,7 +570,7 @@ void sub_80EBDD8() ._92:\n\ .align 2, 0\n\ ._91:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._70:\n\ bl sub_80F2598\n\ ldr r1, ._94\n\ @@ -581,7 +581,7 @@ void sub_80EBDD8() ._95:\n\ .align 2, 0\n\ ._94:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._71:\n\ bl sub_80EEE20\n\ ldr r1, ._99\n\ @@ -607,7 +607,7 @@ void sub_80EBDD8() ._100:\n\ .align 2, 0\n\ ._99:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._73:\n\ mov r0, #0x0\n\ bl sub_80EF248\n\ @@ -630,7 +630,7 @@ void sub_80EBDD8() ._105:\n\ .align 2, 0\n\ ._104:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._75:\n\ mov r0, #0x0\n\ bl sub_80F1B8C\n\ @@ -655,7 +655,7 @@ void sub_80EBDD8() ._109:\n\ .align 2, 0\n\ ._108:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._77:\n\ ldr r0, ._111\n\ bl SetVBlankCallback\n\ @@ -680,7 +680,7 @@ void sub_80EBDD8() ._115:\n\ .align 2, 0\n\ ._114:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._79:\n\ mov r0, #0x0\n\ bl sub_80EED2C\n\ @@ -692,7 +692,7 @@ void sub_80EBDD8() ._118:\n\ .align 2, 0\n\ ._117:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._80:\n\ ldr r0, ._121\n\ ldrb r1, [r0, #0x7]\n\ @@ -732,7 +732,7 @@ void sub_80EBDD8() ._126:\n\ .align 2, 0\n\ ._125:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._83:\n\ bl sub_80F1DF0\n\ ._110:\n\ @@ -748,7 +748,7 @@ void sub_80EBDD8() ._129:\n\ .align 2, 0\n\ ._128:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._84:\n\ bl sub_80F1E50\n\ lsl r0, r0, #0x18\n\ @@ -895,7 +895,7 @@ void sub_80EC00C() ._137:\n\ .align 2, 0\n\ ._136:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._138\n\ ._138:\n\ .word ._139\n\ @@ -945,7 +945,7 @@ void sub_80EC00C() .align 2, 0\n\ ._156:\n\ .word sub_80EBD80+1\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6ddc\n\ .word 0x6dad\n\ .word 0x6dae\n\ @@ -975,7 +975,7 @@ void sub_80EC00C() ._162:\n\ .align 2, 0\n\ ._161:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._142:\n\ mov r0, #0x0\n\ bl sub_80F1B8C\n\ @@ -1002,7 +1002,7 @@ void sub_80EC00C() ._167:\n\ .align 2, 0\n\ ._166:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._144:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -1041,7 +1041,7 @@ void sub_80EC00C() ._175:\n\ .align 2, 0\n\ ._174:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._147:\n\ ldr r0, ._178\n\ ldrb r1, [r0, #0x7]\n\ @@ -1067,7 +1067,7 @@ void sub_80EC00C() ._182:\n\ .align 2, 0\n\ ._181:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._149:\n\ mov r0, #0x0\n\ bl sub_80F2C80\n\ @@ -1092,7 +1092,7 @@ void sub_80EC00C() ._186:\n\ .align 2, 0\n\ ._185:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._151:\n\ bl sub_80F1DF0\n\ ._169:\n\ @@ -1108,7 +1108,7 @@ void sub_80EC00C() ._189:\n\ .align 2, 0\n\ ._188:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._152:\n\ bl sub_80F1E50\n\ lsl r0, r0, #0x18\n\ @@ -1139,7 +1139,7 @@ void sub_80EC00C() ._193:\n\ .align 2, 0\n\ ._192:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6dad\n\ .word sub_80EC268+1\n\ .word gLinkOpen\n\ @@ -1367,7 +1367,7 @@ void sub_80EC4A0() ._286:\n\ .align 2, 0\n\ ._285:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._287\n\ ._287:\n\ .word ._288\n\ @@ -1417,7 +1417,7 @@ void sub_80EC4A0() .align 2, 0\n\ ._308:\n\ .word gSaveBlock2\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._290:\n\ bl sub_80EEF34\n\ lsl r0, r0, #0x18\n\ @@ -1444,7 +1444,7 @@ void sub_80EC4A0() ._314:\n\ .align 2, 0\n\ ._313:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._291:\n\ ldr r0, ._318\n\ ldrb r1, [r0, #0x7]\n\ @@ -1472,7 +1472,7 @@ void sub_80EC4A0() ._322:\n\ .align 2, 0\n\ ._321:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._293:\n\ bl sub_80EF814\n\ b ._336\n\ @@ -1496,7 +1496,7 @@ void sub_80EC4A0() ._327:\n\ .align 2, 0\n\ ._326:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._296:\n\ mov r0, #0x4\n\ bl sub_80F2C80\n\ @@ -1514,7 +1514,7 @@ void sub_80EC4A0() ._330:\n\ .align 2, 0\n\ ._329:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._298:\n\ bl sub_80F2DD8\n\ ldr r0, ._332\n\ @@ -1528,7 +1528,7 @@ void sub_80EC4A0() .align 2, 0\n\ ._332:\n\ .word sub_80EBD30+1\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._299:\n\ bl sub_8055870\n\ b ._334\n\ @@ -1576,7 +1576,7 @@ void sub_80EC4A0() .word gLinkOpen\n\ .word 0x60075e0\n\ .word 0x600f800\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._302:\n\ ldr r0, ._341\n\ ldrb r1, [r0, #0x7]\n\ @@ -1709,7 +1709,7 @@ void sub_80EC67C() ._346:\n\ .align 2, 0\n\ ._345:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._347\n\ ._347:\n\ .word ._348\n\ @@ -1754,7 +1754,7 @@ void sub_80EC67C() ._365:\n\ .align 2, 0\n\ ._364:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._359:\n\ mov r0, #0x5\n\ bl PlaySE\n\ @@ -1768,7 +1768,7 @@ void sub_80EC67C() ._368:\n\ .align 2, 0\n\ ._367:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._349:\n\ ldr r1, ._371\n\ add r0, r4, r1\n\ @@ -1812,7 +1812,7 @@ void sub_80EC67C() ._379:\n\ .align 2, 0\n\ ._378:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6e90\n\ ._376:\n\ mov r0, #0xc1\n\ @@ -1836,7 +1836,7 @@ void sub_80EC67C() ._384:\n\ .align 2, 0\n\ ._383:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._352:\n\ mov r2, #0xc2\n\ lsl r2, r2, #0x2\n\ @@ -1911,7 +1911,7 @@ void sub_80EC67C() ._389:\n\ .word gPaletteFade\n\ .word gSaveBlock2\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6e90\n\ .word sub_80EC00C+1\n\ .word gLinkOpen\n\ @@ -2110,7 +2110,7 @@ void sub_80ECA10() ._457:\n\ .align 2, 0\n\ ._456:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._458\n\ ._458:\n\ .word ._459\n\ @@ -2160,7 +2160,7 @@ void sub_80ECA10() .align 2, 0\n\ ._476:\n\ .word sub_80EBD80+1\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6df0\n\ .word 0x6dad\n\ .word 0x6dae\n\ @@ -2190,7 +2190,7 @@ void sub_80ECA10() ._482:\n\ .align 2, 0\n\ ._481:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._462:\n\ mov r0, #0x1\n\ bl sub_80F1B8C\n\ @@ -2217,7 +2217,7 @@ void sub_80ECA10() ._487:\n\ .align 2, 0\n\ ._486:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._464:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -2256,7 +2256,7 @@ void sub_80ECA10() ._495:\n\ .align 2, 0\n\ ._494:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._467:\n\ bl sub_80F2598\n\ b ._496\n\ @@ -2299,7 +2299,7 @@ void sub_80ECA10() ._504:\n\ .align 2, 0\n\ ._503:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._471:\n\ bl sub_80F1DF0\n\ ._496:\n\ @@ -2315,7 +2315,7 @@ void sub_80ECA10() ._507:\n\ .align 2, 0\n\ ._506:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._472:\n\ bl sub_80F1E50\n\ lsl r0, r0, #0x18\n\ @@ -2346,7 +2346,7 @@ void sub_80ECA10() ._511:\n\ .align 2, 0\n\ ._510:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6dad\n\ .word sub_80EC86C+1\n\ .word gLinkOpen\n\ @@ -2506,7 +2506,7 @@ void sub_80ECD80() ._565:\n\ .align 2, 0\n\ ._564:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._566\n\ ._566:\n\ .word ._567\n\ @@ -2587,7 +2587,7 @@ void sub_80ECD80() ._601:\n\ .align 2, 0\n\ ._600:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._571:\n\ mov r0, #0x1\n\ bl sub_80F2D6C\n\ @@ -2599,7 +2599,7 @@ void sub_80ECD80() ._604:\n\ .align 2, 0\n\ ._603:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._572:\n\ mov r0, #0x5\n\ bl sub_80F2D6C\n\ @@ -2648,7 +2648,7 @@ void sub_80ECD80() ._613:\n\ .align 2, 0\n\ ._612:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._576:\n\ mov r0, #0x2\n\ bl sub_80F1B8C\n\ @@ -2675,7 +2675,7 @@ void sub_80ECD80() ._618:\n\ .align 2, 0\n\ ._617:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._578:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -2719,7 +2719,7 @@ void sub_80ECD80() ._628:\n\ .align 2, 0\n\ ._627:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._582:\n\ ldr r0, ._631\n\ ldrb r1, [r0, #0x7]\n\ @@ -2766,7 +2766,7 @@ void sub_80ECD80() ._636:\n\ .align 2, 0\n\ ._635:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x306\n\ ._585:\n\ mov r0, #0x5\n\ @@ -2798,7 +2798,7 @@ void sub_80ECD80() ._640:\n\ .align 2, 0\n\ ._639:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._587:\n\ bl sub_80F1E50\n\ lsl r0, r0, #0x18\n\ @@ -2829,7 +2829,7 @@ void sub_80ECD80() ._644:\n\ .align 2, 0\n\ ._643:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6dad\n\ .word sub_80ECC08+1\n\ .word gLinkOpen\n\ @@ -2970,7 +2970,7 @@ void sub_80ED01C() ._648:\n\ .align 2, 0\n\ ._647:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._649\n\ ._649:\n\ .word ._650\n\ @@ -3007,7 +3007,7 @@ void sub_80ED01C() ._672:\n\ .align 2, 0\n\ ._671:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._651:\n\ bl sub_80F1F10\n\ lsl r0, r0, #0x18\n\ @@ -3025,7 +3025,7 @@ void sub_80ED01C() ._677:\n\ .align 2, 0\n\ ._676:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._652:\n\ bl sub_80EEF34\n\ lsl r0, r0, #0x18\n\ @@ -3052,7 +3052,7 @@ void sub_80ED01C() ._682:\n\ .align 2, 0\n\ ._681:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._653:\n\ ldr r0, ._686\n\ ldrb r1, [r0, #0x7]\n\ @@ -3075,7 +3075,7 @@ void sub_80ED01C() .align 2, 0\n\ ._686:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._654:\n\ bl sub_80F2620\n\ ldr r1, ._689\n\ @@ -3086,7 +3086,7 @@ void sub_80ED01C() ._690:\n\ .align 2, 0\n\ ._689:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._655:\n\ bl sub_80F4D44\n\ ldr r1, ._693\n\ @@ -3112,7 +3112,7 @@ void sub_80ED01C() ._694:\n\ .align 2, 0\n\ ._693:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._691:\n\ ldr r1, ._696\n\ mov r0, #0xc1\n\ @@ -3122,7 +3122,7 @@ void sub_80ED01C() ._697:\n\ .align 2, 0\n\ ._696:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._657:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -3140,7 +3140,7 @@ void sub_80ED01C() ._702:\n\ .align 2, 0\n\ ._701:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._658:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -3155,7 +3155,7 @@ void sub_80ED01C() ._707:\n\ .align 2, 0\n\ ._706:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._659:\n\ mov r0, #0x0\n\ bl sub_80F0264\n\ @@ -3181,7 +3181,7 @@ void sub_80ED01C() ._712:\n\ .align 2, 0\n\ ._711:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._661:\n\ mov r0, #0x0\n\ bl sub_80F3008\n\ @@ -3193,7 +3193,7 @@ void sub_80ED01C() ._715:\n\ .align 2, 0\n\ ._714:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._662:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -3208,7 +3208,7 @@ void sub_80ED01C() ._720:\n\ .align 2, 0\n\ ._719:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._663:\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ @@ -3242,7 +3242,7 @@ void sub_80ED01C() ._726:\n\ .align 2, 0\n\ ._725:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._665:\n\ ldr r0, ._729\n\ ldrb r1, [r0, #0x7]\n\ @@ -3299,7 +3299,7 @@ void sub_80ED01C() ._734:\n\ .align 2, 0\n\ ._733:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x306\n\ ._668:\n\ ldr r4, ._737\n\ @@ -3347,7 +3347,7 @@ void sub_80ED01C() ._738:\n\ .align 2, 0\n\ ._737:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6dfc\n\ .word sub_80ED31C+1\n\ .word gLinkOpen\n\ @@ -3487,7 +3487,7 @@ void sub_80ED31C() ._744:\n\ .align 2, 0\n\ ._743:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._740:\n\ cmp r0, #0x2\n\ beq ._745 @cond_branch\n\ @@ -3655,7 +3655,7 @@ void sub_80ED3D0() ._768:\n\ .align 2, 0\n\ ._767:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._769\n\ ._769:\n\ .word ._770\n\ @@ -3678,7 +3678,7 @@ void sub_80ED3D0() ._781:\n\ .align 2, 0\n\ ._780:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._771:\n\ bl sub_80EED0C\n\ bl sub_80F6134\n\ @@ -3690,7 +3690,7 @@ void sub_80ED3D0() ._784:\n\ .align 2, 0\n\ ._783:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._772:\n\ mov r0, #0x0\n\ bl sub_80EEFBC\n\ @@ -3702,7 +3702,7 @@ void sub_80ED3D0() ._787:\n\ .align 2, 0\n\ ._786:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._773:\n\ mov r0, #0x0\n\ bl sub_80F0264\n\ @@ -3726,7 +3726,7 @@ void sub_80ED3D0() ._791:\n\ .align 2, 0\n\ ._790:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._775:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -3739,7 +3739,7 @@ void sub_80ED3D0() ._795:\n\ .align 2, 0\n\ ._794:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._776:\n\ mov r0, #0x0\n\ bl sub_80F3008\n\ @@ -3768,7 +3768,7 @@ void sub_80ED3D0() ._798:\n\ .align 2, 0\n\ ._797:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word sub_80EBD18+1\n\ ._777:\n\ mov r0, #0x4\n\ @@ -3793,7 +3793,7 @@ void sub_80ED3D0() ._802:\n\ .align 2, 0\n\ ._801:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word gLinkOpen\n\ .word 0x6007de0\n\ .word 0x600f800\n\ @@ -3890,7 +3890,7 @@ void sub_80ED4D8() ._809:\n\ .align 2, 0\n\ ._808:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._810\n\ ._810:\n\ .word ._811\n\ @@ -3936,7 +3936,7 @@ void sub_80ED4D8() .align 2, 0\n\ ._824:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._813:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -3949,7 +3949,7 @@ void sub_80ED4D8() ._829:\n\ .align 2, 0\n\ ._828:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._814:\n\ bl sub_80F4CF0\n\ ldr r1, ._831\n\ @@ -3960,7 +3960,7 @@ void sub_80ED4D8() ._832:\n\ .align 2, 0\n\ ._831:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._815:\n\ bl sub_80EFF34\n\ ldr r1, ._835\n\ @@ -3983,7 +3983,7 @@ void sub_80ED4D8() ._836:\n\ .align 2, 0\n\ ._835:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._817:\n\ bl sub_80F35B4\n\ mov r0, #0x2\n\ @@ -4014,7 +4014,7 @@ void sub_80ED4D8() ._839:\n\ .align 2, 0\n\ ._838:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word sub_80EBD4C+1\n\ ._818:\n\ mov r0, #0x2\n\ @@ -4039,7 +4039,7 @@ void sub_80ED4D8() ._843:\n\ .align 2, 0\n\ ._842:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word gLinkOpen\n\ .word 0x6007de0\n\ .word 0x600f000\n\ @@ -4141,7 +4141,7 @@ void sub_80ED620() ._850:\n\ .align 2, 0\n\ ._849:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._851\n\ ._851:\n\ .word ._852\n\ @@ -4173,7 +4173,7 @@ void sub_80ED620() ._871:\n\ .align 2, 0\n\ ._870:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._853:\n\ bl sub_80F1F10\n\ lsl r0, r0, #0x18\n\ @@ -4210,7 +4210,7 @@ void sub_80ED620() ._879:\n\ .align 2, 0\n\ ._878:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._855:\n\ ldr r0, ._883\n\ ldrb r1, [r0, #0x7]\n\ @@ -4241,7 +4241,7 @@ void sub_80ED620() .align 2, 0\n\ ._883:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x76aa\n\ ._856:\n\ bl sub_80F2620\n\ @@ -4275,7 +4275,7 @@ void sub_80ED620() ._891:\n\ .align 2, 0\n\ ._890:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._860:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -4288,7 +4288,7 @@ void sub_80ED620() ._895:\n\ .align 2, 0\n\ ._894:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._861:\n\ bl sub_8055870\n\ b ._896\n\ @@ -4315,7 +4315,7 @@ void sub_80ED620() ._899:\n\ .align 2, 0\n\ ._898:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word sub_80EBD4C+1\n\ ._863:\n\ mov r0, #0x2\n\ @@ -4328,7 +4328,7 @@ void sub_80ED620() ._902:\n\ .align 2, 0\n\ ._901:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._864:\n\ ldr r0, ._905\n\ ldrb r1, [r0, #0x7]\n\ @@ -4375,7 +4375,7 @@ void sub_80ED620() ._910:\n\ .align 2, 0\n\ ._909:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._867:\n\ mov r0, #0x6\n\ bl sub_80F2C80\n\ @@ -4411,7 +4411,7 @@ void sub_80ED620() ._914:\n\ .align 2, 0\n\ ._913:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word sub_80ED858+1\n\ .word gLinkOpen\n\ .word 0x6007de0\n\ @@ -4702,7 +4702,7 @@ void sub_80ED858() ._918:\n\ .align 2, 0\n\ ._917:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._919\n\ ._919:\n\ .word ._920\n\ @@ -4730,7 +4730,7 @@ void sub_80ED858() ._934:\n\ .align 2, 0\n\ ._933:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._921:\n\ bl sub_80F5B50\n\ lsl r0, r0, #0x18\n\ @@ -4748,7 +4748,7 @@ void sub_80ED858() ._939:\n\ .align 2, 0\n\ ._938:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._922:\n\ mov r0, #0x1\n\ bl sub_80F0174\n\ @@ -4762,7 +4762,7 @@ void sub_80ED858() ._942:\n\ .align 2, 0\n\ ._941:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._923:\n\ bl sub_80F4FB4\n\ lsl r0, r0, #0x18\n\ @@ -4879,7 +4879,7 @@ void sub_80ED858() ._963:\n\ .align 2, 0\n\ ._962:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._960:\n\ mov r0, #0x1\n\ and r0, r0, r2\n\ @@ -4958,7 +4958,7 @@ void sub_80ED858() ._981:\n\ .align 2, 0\n\ ._980:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._926:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -4971,7 +4971,7 @@ void sub_80ED858() ._985:\n\ .align 2, 0\n\ ._984:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._927:\n\ mov r0, #0x3\n\ bl sub_80EEFBC\n\ @@ -4986,7 +4986,7 @@ void sub_80ED858() ._988:\n\ .align 2, 0\n\ ._987:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._928:\n\ bl sub_80F7500\n\ lsl r0, r0, #0x18\n\ @@ -5007,7 +5007,7 @@ void sub_80ED858() ._992:\n\ .align 2, 0\n\ ._991:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._929:\n\ bl sub_80F5038\n\ lsl r0, r0, #0x18\n\ @@ -5037,7 +5037,7 @@ void sub_80ED858() ._996:\n\ .align 2, 0\n\ ._995:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._931:\n\ ldr r0, ._1000\n\ ldrb r1, [r0, #0x7]\n\ @@ -5065,7 +5065,7 @@ void sub_80ED858() .align 2, 0\n\ ._1000:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x76aa\n\ .word sub_80ECA10+1\n\ ._998:\n\ @@ -5501,7 +5501,7 @@ void sub_80EDB88() ._1008:\n\ .align 2, 0\n\ ._1007:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._1009\n\ ._1009:\n\ .word ._1010\n\ @@ -5534,7 +5534,7 @@ void sub_80EDB88() ._1030:\n\ .align 2, 0\n\ ._1029:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1011:\n\ bl sub_80F1F10\n\ lsl r0, r0, #0x18\n\ @@ -5552,7 +5552,7 @@ void sub_80EDB88() ._1035:\n\ .align 2, 0\n\ ._1034:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1012:\n\ bl sub_80EEF34\n\ lsl r0, r0, #0x18\n\ @@ -5576,7 +5576,7 @@ void sub_80EDB88() ._1040:\n\ .align 2, 0\n\ ._1039:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1013:\n\ ldr r0, ._1044\n\ ldrb r1, [r0, #0x7]\n\ @@ -5599,7 +5599,7 @@ void sub_80EDB88() .align 2, 0\n\ ._1044:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1014:\n\ bl sub_80F2620\n\ ldr r1, ._1047\n\ @@ -5610,7 +5610,7 @@ void sub_80EDB88() ._1048:\n\ .align 2, 0\n\ ._1047:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1015:\n\ bl sub_80F638C\n\ ldr r1, ._1051\n\ @@ -5636,7 +5636,7 @@ void sub_80EDB88() ._1052:\n\ .align 2, 0\n\ ._1051:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1049:\n\ ldr r1, ._1054\n\ mov r0, #0xc1\n\ @@ -5646,7 +5646,7 @@ void sub_80EDB88() ._1055:\n\ .align 2, 0\n\ ._1054:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1017:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -5664,7 +5664,7 @@ void sub_80EDB88() ._1060:\n\ .align 2, 0\n\ ._1059:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1018:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -5679,7 +5679,7 @@ void sub_80EDB88() ._1065:\n\ .align 2, 0\n\ ._1064:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1019:\n\ mov r0, #0x1\n\ bl sub_80F0264\n\ @@ -5703,7 +5703,7 @@ void sub_80EDB88() ._1069:\n\ .align 2, 0\n\ ._1068:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1021:\n\ mov r0, #0x2\n\ bl sub_80F2C80\n\ @@ -5728,7 +5728,7 @@ void sub_80EDB88() ._1073:\n\ .align 2, 0\n\ ._1072:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1023:\n\ mov r0, #0x1\n\ bl sub_80F3008\n\ @@ -5740,7 +5740,7 @@ void sub_80EDB88() ._1076:\n\ .align 2, 0\n\ ._1075:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1024:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -5753,7 +5753,7 @@ void sub_80EDB88() ._1080:\n\ .align 2, 0\n\ ._1079:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1025:\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ @@ -5804,7 +5804,7 @@ void sub_80EDB88() ._1087:\n\ .align 2, 0\n\ ._1086:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word gLinkOpen\n\ .word 0x6007de0\n\ .word 0x600f800\n\ @@ -5943,7 +5943,7 @@ void sub_80EDDBC() ._1096:\n\ .align 2, 0\n\ ._1095:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1092:\n\ cmp r0, #0x2\n\ beq ._1097 @cond_branch\n\ @@ -6136,7 +6136,7 @@ void sub_80EDEE4() ._1135:\n\ .align 2, 0\n\ ._1134:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._1136\n\ ._1136:\n\ .word ._1137\n\ @@ -6184,7 +6184,7 @@ void sub_80EDEE4() .align 2, 0\n\ ._1152:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1139:\n\ bl sub_80F66E0\n\ bl sub_80EEE08\n\ @@ -6196,7 +6196,7 @@ void sub_80EDEE4() ._1156:\n\ .align 2, 0\n\ ._1155:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1140:\n\ bl sub_80F1080\n\ lsl r0, r0, #0x18\n\ @@ -6210,7 +6210,7 @@ void sub_80EDEE4() ._1160:\n\ .align 2, 0\n\ ._1159:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1141:\n\ mov r0, #0x5\n\ bl sub_80EEFBC\n\ @@ -6235,7 +6235,7 @@ void sub_80EDEE4() ._1164:\n\ .align 2, 0\n\ ._1163:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1143:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -6248,7 +6248,7 @@ void sub_80EDEE4() ._1168:\n\ .align 2, 0\n\ ._1167:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1144:\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ @@ -6291,7 +6291,7 @@ void sub_80EDEE4() ._1175:\n\ .align 2, 0\n\ ._1174:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word gLinkOpen\n\ .word 0x6007de0\n\ .word 0x600f000\n\ @@ -6417,7 +6417,7 @@ void sub_80EE06C() ._1186:\n\ .align 2, 0\n\ ._1185:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._1187\n\ ._1187:\n\ .word ._1188\n\ @@ -6439,7 +6439,7 @@ void sub_80EE06C() ._1199:\n\ .align 2, 0\n\ ._1198:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1189:\n\ ldr r2, ._1203\n\ ldrh r1, [r2, #0x30]\n\ @@ -6515,7 +6515,7 @@ void sub_80EE06C() ._1213:\n\ .align 2, 0\n\ ._1212:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1210:\n\ mov r0, #0x2\n\ and r0, r0, r2\n\ @@ -6547,7 +6547,7 @@ void sub_80EE06C() ._1223:\n\ .align 2, 0\n\ ._1222:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1191:\n\ bl sub_8055870\n\ add r1, r0, #0\n\ @@ -6562,7 +6562,7 @@ void sub_80EE06C() ._1227:\n\ .align 2, 0\n\ ._1226:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1192:\n\ bl sub_80F3B00\n\ ldr r1, ._1229\n\ @@ -6577,7 +6577,7 @@ void sub_80EE06C() ._1230:\n\ .align 2, 0\n\ ._1229:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1193:\n\ bl sub_80F3B58\n\ lsl r0, r0, #0x18\n\ @@ -6596,7 +6596,7 @@ void sub_80EE06C() ._1234:\n\ .align 2, 0\n\ ._1233:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1194:\n\ bl sub_80F68E8\n\ lsl r0, r0, #0x18\n\ @@ -6618,7 +6618,7 @@ void sub_80EE06C() ._1239:\n\ .align 2, 0\n\ ._1238:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1236:\n\ ldr r0, ._1242\n\ ldrh r1, [r0, #0x2e]\n\ @@ -6640,7 +6640,7 @@ void sub_80EE06C() .align 2, 0\n\ ._1242:\n\ .word gMain\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1195:\n\ bl sub_80F3BD4\n\ lsl r0, r0, #0x18\n\ @@ -6657,7 +6657,7 @@ void sub_80EE06C() ._1247:\n\ .align 2, 0\n\ ._1246:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1196:\n\ bl sub_80F3BD4\n\ lsl r0, r0, #0x18\n\ @@ -6694,7 +6694,7 @@ void sub_80EE06C() ._1251:\n\ .align 2, 0\n\ ._1250:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word gLinkOpen\n\ .word gLink\n\ .word 0xfbd"); @@ -6812,7 +6812,7 @@ void sub_80EE294() ._1255:\n\ .align 2, 0\n\ ._1254:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._1256\n\ ._1256:\n\ .word ._1257\n\ @@ -6858,7 +6858,7 @@ void sub_80EE294() .align 2, 0\n\ ._1270:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1259:\n\ bl sub_80F6134\n\ mov r0, #0x1\n\ @@ -6883,7 +6883,7 @@ void sub_80EE294() ._1275:\n\ .align 2, 0\n\ ._1274:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1261:\n\ mov r0, #0x4\n\ bl sub_80EEFBC\n\ @@ -6900,7 +6900,7 @@ void sub_80EE294() .align 2, 0\n\ ._1277:\n\ .word sub_80EBD18+1\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1262:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -6913,7 +6913,7 @@ void sub_80EE294() ._1282:\n\ .align 2, 0\n\ ._1281:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1263:\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ @@ -6958,7 +6958,7 @@ void sub_80EE294() ._1287:\n\ .align 2, 0\n\ ._1286:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word gLinkOpen\n\ .word 0x6007de0\n\ .word 0x600f800\n\ @@ -7059,7 +7059,7 @@ void sub_80EE3D8() ._1294:\n\ .align 2, 0\n\ ._1293:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word ._1295\n\ ._1295:\n\ .word ._1296\n\ @@ -7088,7 +7088,7 @@ void sub_80EE3D8() ._1312:\n\ .align 2, 0\n\ ._1311:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1297:\n\ bl sub_80F1F10\n\ lsl r0, r0, #0x18\n\ @@ -7106,7 +7106,7 @@ void sub_80EE3D8() ._1317:\n\ .align 2, 0\n\ ._1316:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1298:\n\ bl sub_80EEF34\n\ lsl r0, r0, #0x18\n\ @@ -7130,7 +7130,7 @@ void sub_80EE3D8() ._1322:\n\ .align 2, 0\n\ ._1321:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1299:\n\ ldr r0, ._1326\n\ ldrb r1, [r0, #0x7]\n\ @@ -7154,7 +7154,7 @@ void sub_80EE3D8() .align 2, 0\n\ ._1326:\n\ .word gPaletteFade\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1300:\n\ bl sub_80F2620\n\ ldr r1, ._1329\n\ @@ -7165,7 +7165,7 @@ void sub_80EE3D8() ._1330:\n\ .align 2, 0\n\ ._1329:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1301:\n\ mov r0, #0x2\n\ bl sub_80F0264\n\ @@ -7191,7 +7191,7 @@ void sub_80EE3D8() ._1335:\n\ .align 2, 0\n\ ._1334:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1303:\n\ mov r0, #0x3\n\ bl sub_80F2C80\n\ @@ -7216,7 +7216,7 @@ void sub_80EE3D8() ._1339:\n\ .align 2, 0\n\ ._1338:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1305:\n\ mov r0, #0x2\n\ bl sub_80F3008\n\ @@ -7228,7 +7228,7 @@ void sub_80EE3D8() ._1342:\n\ .align 2, 0\n\ ._1341:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1306:\n\ bl sub_8055870\n\ cmp r0, #0\n\ @@ -7241,7 +7241,7 @@ void sub_80EE3D8() ._1346:\n\ .align 2, 0\n\ ._1345:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1307:\n\ bl sub_80F6F10\n\ ldr r4, ._1348\n\ @@ -7270,7 +7270,7 @@ void sub_80EE3D8() ._1349:\n\ .align 2, 0\n\ ._1348:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word sub_80EBD68+1\n\ ._1308:\n\ mov r0, #0x5\n\ @@ -7295,7 +7295,7 @@ void sub_80EE3D8() ._1353:\n\ .align 2, 0\n\ ._1352:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word gLinkOpen\n\ .word 0x6007de0\n\ .word 0x600f800\n\ @@ -7419,7 +7419,7 @@ void sub_80EE58C() ._1362:\n\ .align 2, 0\n\ ._1361:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ ._1358:\n\ cmp r0, #0x2\n\ beq ._1363 @cond_branch\n\ @@ -8045,7 +8045,7 @@ bool8 sub_80EEC10() .align 2, 0\n\ ._1563:\n\ .word gMain\n\ - .word +0x2006dad\n\ + .word gSharedMem+0x6dad\n\ ._1559:\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -8077,7 +8077,7 @@ bool8 sub_80EEC10() ._1570:\n\ .align 2, 0\n\ ._1569:\n\ - .word +0x2006dad\n\ + .word gSharedMem+0x6dad\n\ ._1565:\n\ ldr r0, ._1572\n\ ldrb r0, [r0]\n\ @@ -8166,7 +8166,7 @@ bool8 sub_80EEC90() .align 2, 0\n\ ._1577:\n\ .word gMain\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6dad\n\ .word 0x6dae\n\ ._1574:\n\ @@ -8196,7 +8196,7 @@ bool8 sub_80EEC90() ._1583:\n\ .align 2, 0\n\ ._1582:\n\ - .word +0x2000000\n\ + .word gSharedMem\n\ .word 0x6dad\n\ ._1579:\n\ ldr r0, ._1585\n\ -- cgit v1.2.3 From f2885be7da921ef0a5058b2b36d4473481db1022 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 17:03:59 -0600 Subject: remove some unnecessary DEBUG conditionals in symbol files --- src/scene/berry_blender.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index 5b013e8de..0799531cd 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -3763,7 +3763,7 @@ loc_805654C:\n\ .syntax divided\n"); } #else -static bool8 Blender_PrintBlendingResults(void) +bool8 Blender_PrintBlendingResults(void) { u16 i; -- cgit v1.2.3 From 1e6cb59a0cd0dff15f749a5274bee17ca994c178 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 20:43:28 -0600 Subject: start decompiling start_menu_debug.c --- src/debug/start_menu_debug.c | 1041 +++++++++++++++++++----------------------- 1 file changed, 475 insertions(+), 566 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 318785945..5d9b150e7 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -1,583 +1,492 @@ #if DEBUG #include "global.h" +#include "constants/songs.h" +#include "battle.h" +#include "debug.h" +#include "link.h" +#include "main.h" +#include "menu.h" +#include "mystery_event_menu.h" +#include "overworld.h" +#include "reset_rtc_screen.h" +#include "rtc.h" +#include "save.h" +#include "sound.h" +#include "task.h" +#include "text.h" +#include "trade.h" + +// berry_blender.c +extern void unref_sub_80524BC(void); + +void debug_sub_8076BB4(u8); +void debug_sub_8077CF4(); + +u8 DebugMenu_Exit(void); +u8 DebugMenu_OpenWatanabe(void); +u8 DebugMenu_OpenSogabe(void); +u8 DebugMenu_OpenTamada(void); +u8 DebugMenu_OpenKagaya(void); +u8 DebugMenu_OpenMatsuda(void); +u8 DebugMenu_OpenNohara(void); +u8 DebugMenu_OpenNakamura(void); +u8 DebugMenu_Teleport(void); +u8 DebugMenu_EditPKMN(void); +u8 DebugMenu_SwitchBG(void); +u8 DebugMenu_OpenMori(void); +u8 DebugMenu_OpenTomomichi(void); +u8 DebugMenu_OpenAoki(void); +u8 DebugMenu_OpenTaya(void); +u8 DebugMenu_ToggleClearFlag(void); +u8 DebugMenu_ControlEncounter(void); +u8 DebugMenu_PTime(void); +u8 DebugMenu_MakeItems(void); +u8 debug_sub_8091300(void); +u8 DebugMenu_ViewPortraits(void); +u8 DebugMenu_TimeRecords(void); +u8 DebugMenu_SetTime(void); +u8 DebugMenu_NationalDex(void); +u8 DebugMenu_CreatePKMN(void); +u8 DebugMenu_ViewPokemonGraphics(void); +u8 DebugMenu_BattleForDebug(void); +u8 DebugMenu_AllBadges(void); +u8 DebugMenu_HoennNationalDex(void); +u8 DebugMenu_SetRamBerry(void); +u8 DebugMenu_UseHM(void); +u8 DebugMenu_OpenIwasawa(void); +u8 DebugMenu_ToggleBGM(void); +u8 DebugMenu_OpenSizeComparison(void); +u8 DebugMenu_Safari(void); +u8 DebugMenu_RematchTrainers(void); +u8 DebugMenu_MiragaIslandRND(void); +u8 DebugMenu_HallOfFame(void); +u8 DebugMenu_OpenMysteryEvent(void); +u8 DebugMenu_OpenLegendsRecord(void); +u8 DebugMenu_OpenWeatherEvents(void); +u8 DebugMenu_CellInfo(void); +u8 DebugMenu_CheckPKBLCK(void); +u8 DebugMenu_EffortValues(void); +u8 DebugMenu_HoennDex(void); +u8 DebugMenu_OpenSeeTrainers(void); +u8 DebugMenu_OpenBerryInfo(void); +u8 DebugMenu_BattleTowerStages(void); +u8 DebugMenu_EndSequenceDemo(void); +u8 DebugMenu_RandomNumberTest(void); +u8 DebugMenu_MeTooBackupMan(void); +u8 DebugMenu_OpenMurakawa(void); +u8 DebugMenu_OpenKiwa(void); +u8 DebugMenu_8076CBC(void); +u8 DebugMenu_8076CC0(void); +u8 DebugMenu_8076CD4(void); +u8 DebugMenu_8076C6C(void); +u8 DebugMenu_8076CD8(void); +u8 DebugMenu_8076D28(void); +u8 DebugMenu_8076D3C(void); +u8 DebugMenu_8076C80(void); +u8 DebugMenu_8076C90(void); +u8 DebugMenu_8076D50(void); +u8 DebugMenu_8076CEC(void); +u8 DebugMenu_8076D14(void); +u8 DebugMenu_8076D00(void); +u8 DebugMenu_8076D5C(void); +u8 DebugMenu_8076E18(void); +u8 DebugMenu_8076EDC(void); +void DebugMenu_8076FEC(void); + +const u8 Str_839B740[] = _("·WATANABE"); +const u8 Str_839B74A[] = _("SOGABE"); +const u8 Str_839B751[] = _("·TAMADA"); +const u8 Str_839B759[] = _("KAGAYA"); +const u8 Str_839B760[] = _("MATUDA"); +const u8 Str_839B767[] = _("NOHARA"); +const u8 Str_839B76E[] = _("NAKAMURA"); +const u8 Str_839B777[] = _("EXIT"); +const u8 Str_839B77C[] = _("Teleport"); +const u8 Str_839B785[] = _("Switch BG"); +const u8 Str_839B78F[] = _("Edit your {PKMN}"); +const u8 Str_839B79C[] = _("MORI"); +const u8 Str_839B7A1[] = _("TOMOMITI"); +const u8 Str_839B7AA[] = _("·AOKI"); +const u8 Str_839B7B0[] = _("TAYA"); +const u8 Str_839B7B5[] = _("Control Encounter"); +const u8 Str_839B7C7[] = _("PTIME"); +const u8 Str_839B7CD[] = _("Make items"); +const u8 Str_839B7D8[] = _("Transport"); +const u8 Str_839B7E2[] = _("See portraits"); +const u8 Str_839B7F0[] = _("Time records"); +const u8 Str_839B7FD[] = _("Set time"); +const u8 Str_839B806[] = _("National オカDex"); +const u8 Str_839B815[] = _("Hoenn オカDex"); +const u8 Str_839B821[] = _("Create {PKMN}"); +const u8 Str_839B82B[] = _("See {PKMN} graphics"); +const u8 Str_839B83B[] = _("See trainers"); +const u8 Str_839B848[] = _("Battle for debug"); +const u8 Str_839B859[] = _("Full set of badges"); +const u8 Str_839B86C[] = _("Hoenn National Dex"); +const u8 Str_839B87F[] = _("Set Ram berry"); +const u8 Str_839B88D[] = _("Use HM"); +const u8 Str_839B894[] = _("IWASAWA"); +const u8 Str_839B89C[] = _("BGM ON/OFF"); +const u8 Str_839B8A7[] = _("Size comparison"); +const u8 Str_839B8B7[] = _("Clear flag ON/OFF"); +const u8 Str_839B8C9[] = _("Safari"); +const u8 Str_839B8D0[] = _("Rematch trainers"); +const u8 Str_839B8E1[] = _("Mirage island RND"); +const u8 Str_839B8F3[] = _("Hall of fame"); +const u8 Str_839B900[] = _("Mystery event"); +const u8 Str_839B90E[] = _("Legends records"); +const u8 Str_839B91E[] = _("Weather events"); +const u8 Str_839B92D[] = _("Cell info."); +const u8 Str_839B938[] = _("Check {POKEBLOCK}"); +const u8 Str_839B944[] = _("Effort values"); +const u8 Str_839B952[] = _("Berrie Info"); +const u8 Str_839B95E[] = _("Battle Tower stages"); +const u8 Str_839B972[] = _("End sequence demo"); +const u8 Str_839B984[] = _("Random number test"); +const u8 Str_839B997[] = _("Me-too BackupMan"); +const u8 Str_839B9A8[] = _("MURAKAWA"); +const u8 Str_839B9B1[] = _("KINA(FONT)"); + +const struct MenuAction gDebug0x839B9BC[] = +{ + { Str_839B777, DebugMenu_Exit }, + { Str_839B740, DebugMenu_OpenWatanabe }, + { Str_839B74A, DebugMenu_OpenSogabe }, + { Str_839B751, DebugMenu_OpenTamada }, + { Str_839B759, DebugMenu_OpenKagaya }, + { Str_839B760, DebugMenu_OpenMatsuda }, + { Str_839B767, DebugMenu_OpenNohara }, + { Str_839B76E, DebugMenu_OpenNakamura }, + { Str_839B77C, DebugMenu_Teleport }, + { Str_839B78F, DebugMenu_EditPKMN }, + { Str_839B785, DebugMenu_SwitchBG }, + { Str_839B79C, DebugMenu_OpenMori }, + { Str_839B7A1, DebugMenu_OpenTomomichi }, + { Str_839B7AA, DebugMenu_OpenAoki }, + { Str_839B7B0, DebugMenu_OpenTaya }, + { Str_839B8B7, DebugMenu_ToggleClearFlag }, + { Str_839B7B5, DebugMenu_ControlEncounter }, + { Str_839B7C7, DebugMenu_PTime }, + { Str_839B7CD, DebugMenu_MakeItems }, + { Str_839B7D8, debug_sub_8091300 }, + { Str_839B7E2, DebugMenu_ViewPortraits }, + { Str_839B7F0, DebugMenu_TimeRecords }, + { Str_839B7FD, DebugMenu_SetTime }, + { Str_839B806, DebugMenu_NationalDex }, + { Str_839B821, DebugMenu_CreatePKMN }, + { Str_839B82B, DebugMenu_ViewPokemonGraphics }, + { Str_839B848, DebugMenu_BattleForDebug }, + { Str_839B859, DebugMenu_AllBadges }, + { Str_839B86C, DebugMenu_HoennNationalDex }, + { Str_839B87F, DebugMenu_SetRamBerry }, + { Str_839B88D, DebugMenu_UseHM }, + { Str_839B894, DebugMenu_OpenIwasawa }, + { Str_839B89C, DebugMenu_ToggleBGM }, + { Str_839B8A7, DebugMenu_OpenSizeComparison }, + { Str_839B8C9, DebugMenu_Safari }, + { Str_839B8D0, DebugMenu_RematchTrainers }, + { Str_839B8E1, DebugMenu_MiragaIslandRND }, + { Str_839B8F3, DebugMenu_HallOfFame }, + { Str_839B900, DebugMenu_OpenMysteryEvent }, + { Str_839B90E, DebugMenu_OpenLegendsRecord }, + { Str_839B91E, DebugMenu_OpenWeatherEvents }, + { Str_839B92D, DebugMenu_CellInfo }, + { Str_839B938, DebugMenu_CheckPKBLCK }, + { Str_839B944, DebugMenu_EffortValues }, + { Str_839B815, DebugMenu_HoennDex }, + { Str_839B83B, DebugMenu_OpenSeeTrainers }, + { Str_839B952, DebugMenu_OpenBerryInfo }, + { Str_839B95E, DebugMenu_BattleTowerStages }, + { Str_839B972, DebugMenu_EndSequenceDemo }, + { Str_839B984, DebugMenu_RandomNumberTest }, + { Str_839B997, DebugMenu_MeTooBackupMan }, + { Str_839B9A8, DebugMenu_OpenMurakawa }, + { Str_839B9B1, DebugMenu_OpenKiwa }, +}; + +const u8 gUnknown_Debug_839BB64[] = +{ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x00, 0x0b, 0x0c, 0x0d, 0x0e, 0x1f, 0x12, 0x13, 0x00, 0x08, 0x09, 0x0a, 0x1e, 0x10, 0x24, 0x0f, 0x00, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x00, + 0x1c, 0x1d, 0x14, 0x20, 0x21, 0x22, 0x23, 0x00, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x00, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x00, 0x11, 0x33, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const u8 gUnknown_Debug_0839BBA4[] = _("Debugging Version"); +const u8 gUnknown_Debug_0839BBB6[] = _("{VERSION} Version"); +const u8 gUnknown_Debug_0839BBC1[] = _("Normal RTC compatible"); +const u8 Str_839BBD7[] = _("か の じっけん"); +const u8 Str_839BBE0[] = _("じっけん2"); +const u8 Str_839BBE6[] = _("BGじっけん"); +const u8 Str_839BBED[] = _("Battle"); +const u8 Str_839BBF4[] = _("つうしん じっけん"); +const u8 Str_839BBFE[] = _("LINK Test2"); +const u8 Str_839BC09[] = _("フィールド はじめる"); +const u8 Str_839BC14[] = _("フィールド つづき"); +const u8 Str_839BC1E[] = _("Sound test"); +const u8 Str_839BC29[] = _("{POKEBLOCK} test"); +const u8 Str_839BC34[] = _("Crash backup data"); +const u8 Str_839BC46[] = _("e-Card test"); +const u8 Str_839BC52[] = _("こうかんデモ   "); +const u8 Str_839BC5C[] = _("Time in game"); +const u8 Str_839BC69[] = _("フェスタ モード"); +const u8 Str_839BC72[] = _("Mimic e-Card"); +const u8 Str_839BC7F[] = _("RTC reset"); +const u8 Str_839BC89[] = _("Converter"); + +const struct MenuAction gUnknown_Debug_839BC94[] = +{ + { Str_839BBD7, DebugMenu_8076CBC }, + { Str_839BBE0, DebugMenu_8076CC0 }, + { Str_839BBE6, DebugMenu_8076CD4 }, + { Str_839BBED, DebugMenu_8076C6C }, + { Str_839BC29, DebugMenu_8076CD8 }, + { Str_839BBFE, DebugMenu_8076D28 }, + { Str_839BC1E, DebugMenu_8076D3C }, + { Str_839BC09, DebugMenu_8076C80 }, + { Str_839BC14, DebugMenu_8076C90 }, + { Str_839BC34, DebugMenu_8076D50 }, + { Str_839BC46, DebugMenu_8076CEC }, + { Str_839BC52, DebugMenu_8076D14 }, + { Str_839BC72, DebugMenu_8076D00 }, + { Str_839BC5C, DebugMenu_8076D5C }, + { Str_839BC7F, DebugMenu_8076E18 }, + { Str_839BC89, DebugMenu_8076EDC }, +}; + +// NOTE: When decompiling this file, I found out that having an extraneous extern +// in a C file can affect the generated asm. If this extern is commented out, +// debug_sub_8076BB4 will access the array differently and no longer match. +//extern const struct MenuAction gUnknown_Debug_839BC94[]; + +const u8 Str_839BD14[][10] = +{ + _("うかえ"), + _("おけこしすせそ"), +}; + +const u8 Str_839BD26[] = {2, 0, 0, 0}; // doesn't appear to be referenced + +const u8 Str_839BD2C[] = _("RTCを リセット します\n" + "Aで じっこう   Bでキャンセル"); + +const u8 Str_839BD4C[] = _("RTCを リセット した!"); + +const u8 Str_839BD5A[] = _("セーブデータを コンバートします\n" + "Aで けってい  Bで キャンセル"); + +const u8 Str_839BD7D[] = _("へんかんが しゅうりょう しました!"); + + +extern const u8 Str_839BD2C[]; +extern const u8 Str_839BD4C[]; __attribute__((unused)) static u8 gUnknown_030006B8[4]; __attribute__((unused)) static u8 gUnknown_030006BC[4]; __attribute__((unused)) static u8 gUnknown_030006C0; __attribute__((unused)) static u8 gUnknown_030006C1; -__attribute__((unused)) static void *gUnknown_030006C4; +static const u8 *gUnknown_030006C4; __attribute__((unused)) static u8 gUnknown_030006C8; -__attribute__((naked)) -void debug_sub_8076AC8() +void debug_sub_8076AC8(u8 a) { - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._3\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x1\n" - " ldr r0, ._3 + 4\n" - " add r1, r1, r0\n" - " str r1, [r2]\n" - " mov r4, #0x0\n" - " ldrb r0, [r1]\n" - " cmp r0, #0xff\n" - " beq ._1 @cond_branch\n" - "._2:\n" - " add r4, r4, #0x1\n" - " add r0, r1, r4\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " bne ._2 @cond_branch\n" - "._1:\n" - " mov r0, #0x10\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " lsl r3, r4, #0x1\n" - " add r3, r3, #0x1\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r0, #0x10\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " bl Menu_DrawStdWindowFrame\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r3, ._3 + 8\n" - " ldr r0, ._3\n" - " ldr r0, [r0]\n" - " str r0, [sp]\n" - " mov r0, #0x11\n" - " mov r1, #0x1\n" - " add r2, r4, #0\n" - " bl Menu_PrintItemsReordered\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xc\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x11\n" - " mov r2, #0x1\n" - " add r3, r4, #0\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gUnknown_030006C4 \n" - " .word Str_839BD14\n" - " .word gUnknown_Debug_839BC94\n" - "\n" - ); + s32 r4; + + gUnknown_030006C4 = Str_839BD14[a]; + for (r4 = 0; gUnknown_030006C4[r4] != EOS; r4++) + ; + Menu_EraseWindowRect(16, 0, 29, 19); + Menu_DrawStdWindowFrame(16, 0, 29, r4 * 2 + 1); + Menu_PrintItemsReordered(17, 1, r4, (struct MenuAction2 *)gUnknown_Debug_839BC94, gUnknown_030006C4); + InitMenu(0, 17, 1, r4, 0, 12); } -__attribute__((naked)) -void debug_sub_8076B4C() +void debug_sub_8076B4C(void) { - asm( - " push {lr}\n" - " ldr r0, ._6\n" - " bl FindTaskIdByFunc\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0xff\n" - " beq ._5 @cond_branch\n" - " bl DestroyTask\n" - "._5:\n" - " pop {r0}\n" - " bx r0\n" - "._7:\n" - " .align 2, 0\n" - "._6:\n" - " .word debug_sub_8076BB4+1\n" - "\n" - ); + u8 taskId = FindTaskIdByFunc(debug_sub_8076BB4); + + if (taskId != 0xFF) + DestroyTask(taskId); } -__attribute__((naked)) -void debug_sub_8076B68() +// Initializes test menu +void debug_sub_8076B68(void) { - asm( - " push {lr}\n" - " ldr r0, ._8\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._8 + 4\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._8 + 8\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " mov r0, #0x4\n" - " mov r1, #0xb\n" - " bl debug_sub_8077CF4\n" - " mov r0, #0x0\n" - " bl debug_sub_8076AC8\n" - " ldr r0, ._8 + 12\n" - " mov r1, #0x1\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._9:\n" - " .align 2, 0\n" - "._8:\n" - " .word gUnknown_Debug_0839BBB6\n" - " .word gUnknown_Debug_0839BBC1\n" - " .word gUnknown_Debug_0839BBA4\n" - " .word debug_sub_8076BB4+1\n" - "\n" - ); + Menu_PrintText(gUnknown_Debug_0839BBB6, 1, 1); + Menu_PrintText(gUnknown_Debug_0839BBC1, 1, 3); + Menu_PrintText(gUnknown_Debug_0839BBA4, 1, 9); + debug_sub_8077CF4(4, 11); + debug_sub_8076AC8(0); + CreateTask(debug_sub_8076BB4, 1); } -__attribute__((naked)) -void debug_sub_8076BB4() +// Handles input for the test menu +void debug_sub_8076BB4(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " ldr r0, ._13\n" - " add r5, r1, r0\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._10 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r4, r0\n" - " beq ._11 @cond_branch\n" - " ldr r2, ._13 + 4\n" - " lsl r1, r1, #0x18\n" - " asr r1, r1, #0x18\n" - " ldr r0, ._13 + 8\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r2, r2, #0x4\n" - " add r0, r0, r2\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " b ._24\n" - "._14:\n" - " .align 2, 0\n" - "._13:\n" - " .word gTasks+0x8\n" - " .word gUnknown_Debug_839BC94\n" - " .word gUnknown_030006C4 \n" - "._10:\n" - " ldr r0, ._18\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " beq ._15 @cond_branch\n" - " ldrh r1, [r5]\n" - " mov r2, #0x0\n" - " ldsh r0, [r5, r2]\n" - " cmp r0, #0\n" - " bne ._16 @cond_branch\n" - " mov r0, #0x1\n" - " b ._20\n" - "._19:\n" - " .align 2, 0\n" - "._18:\n" - " .word gMain\n" - "._16:\n" - " sub r0, r1, #1\n" - " b ._20\n" - "._15:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._24 @cond_branch\n" - " ldrh r1, [r5]\n" - " mov r3, #0x0\n" - " ldsh r0, [r5, r3]\n" - " cmp r0, #0x1\n" - " bne ._22 @cond_branch\n" - " strh r2, [r5]\n" - " b ._23\n" - "._22:\n" - " add r0, r1, #1\n" - "._20:\n" - " strh r0, [r5]\n" - "._23:\n" - " ldrb r0, [r5]\n" - " bl debug_sub_8076AC8\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " b ._24\n" - "._11:\n" - " bl DoSoftReset\n" - "._24:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + s16 *data = gTasks[taskId].data; + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + switch (input) + { + default: + gUnknown_Debug_839BC94[gUnknown_030006C4[cursorPos]].func(); + break; + case -2: + if (gMain.newKeys & 0x20) + { + if (data[0] == 0) + data[0] = 1; + else + data[0]--; + debug_sub_8076AC8(data[0]); + PlaySE(SE_SELECT); + } + else if (gMain.newKeys & 0x10) + { + if (data[0] == 1) + data[0] = 0; + else + data[0]++; + debug_sub_8076AC8(data[0]); + PlaySE(SE_SELECT); + } + break; + case -1: + DoSoftReset(); + break; + } } -__attribute__((naked)) -void DebugMenu_8076C6C() +u8 DebugMenu_8076C6C(void) { - asm( - " push {lr}\n" - " ldr r0, ._25\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._26:\n" - " .align 2, 0\n" - "._25:\n" - " .word debug_sub_8010800+1\n" - "\n" - ); + SetMainCallback2(debug_sub_8010800); + return 0; } -__attribute__((naked)) -void DebugMenu_8076C80() +u8 DebugMenu_8076C80(void) { - asm( - " push {lr}\n" - " bl debug_sub_8076B4C\n" - " bl DebugMenu_8076FEC\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_8076B4C(); + DebugMenu_8076FEC(); + return 0; } -__attribute__((naked)) -void DebugMenu_8076C90() +u8 DebugMenu_8076C90(void) { - asm( - " push {lr}\n" - " ldr r0, ._29\n" - " ldrh r0, [r0]\n" - " cmp r0, #0xff\n" - " bne ._27 @cond_branch\n" - " mov r0, #0x16\n" - " bl PlaySE\n" - " b ._28\n" - "._30:\n" - " .align 2, 0\n" - "._29:\n" - " .word gSaveFileStatus\n" - "._27:\n" - " bl debug_sub_8076B4C\n" - " ldr r0, ._31\n" - " bl SetMainCallback2\n" - "._28:\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._32:\n" - " .align 2, 0\n" - "._31:\n" - " .word CB2_ContinueSavedGame+1\n" - "\n" - ); + if (gSaveFileStatus == SAVE_STATUS_ERROR) + { + PlaySE(0x16); + } + else + { + debug_sub_8076B4C(); + SetMainCallback2(CB2_ContinueSavedGame); + } + return 0; } -__attribute__((naked)) -void DebugMenu_8076CBC() +u8 DebugMenu_8076CBC(void) { - asm( - " mov r0, #0x0\n" - " bx lr\n" - "\n" - ); + return 0; } -__attribute__((naked)) -void DebugMenu_8076CC0() +u8 DebugMenu_8076CC0(void) { - asm( - " push {lr}\n" - " ldr r0, ._33\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._34:\n" - " .align 2, 0\n" - "._33:\n" - " .word debug_nullsub_66+1\n" - "\n" - ); + SetMainCallback2(debug_nullsub_66); + return 0; } -__attribute__((naked)) -void DebugMenu_8076CD4() +u8 DebugMenu_8076CD4(void) { - asm( - " mov r0, #0x0\n" - " bx lr\n" - "\n" - ); + return 0; } -__attribute__((naked)) -void DebugMenu_8076CD8() +u8 DebugMenu_8076CD8(void) { - asm( - " push {lr}\n" - " ldr r0, ._35\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._36:\n" - " .align 2, 0\n" - "._35:\n" - " .word unref_sub_80524BC+1\n" - "\n" - ); + SetMainCallback2(unref_sub_80524BC); + return 0; } -__attribute__((naked)) -void DebugMenu_8076CEC() +u8 DebugMenu_8076CEC(void) { - asm( - " push {lr}\n" - " ldr r0, ._37\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._38:\n" - " .align 2, 0\n" - "._37:\n" - " .word CB2_InitMysteryEventMenu+1\n" - "\n" - ); + SetMainCallback2(CB2_InitMysteryEventMenu); + return 0; } -__attribute__((naked)) -void DebugMenu_8076D00() +u8 DebugMenu_8076D00(void) { - asm( - " push {lr}\n" - " ldr r0, ._39\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._40:\n" - " .align 2, 0\n" - "._39:\n" - " .word debug_sub_815D15C+1\n" - "\n" - ); + SetMainCallback2(debug_sub_815D15C); + return 0; } -__attribute__((naked)) -void DebugMenu_8076D14() +u8 DebugMenu_8076D14(void) { - asm( - " push {lr}\n" - " ldr r0, ._41\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._42:\n" - " .align 2, 0\n" - "._41:\n" - " .word sub_804B790+1\n" - "\n" - ); + SetMainCallback2(sub_804B790); + return 0; } -__attribute__((naked)) -void DebugMenu_8076D28() +u8 DebugMenu_8076D28(void) { - asm( - " push {lr}\n" - " ldr r0, ._43\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._44:\n" - " .align 2, 0\n" - "._43:\n" - " .word LinkTestScreen+1\n" - "\n" - ); + SetMainCallback2(LinkTestScreen); + return 0; } -__attribute__((naked)) -void DebugMenu_8076D3C() +u8 DebugMenu_8076D3C(void) { - asm( - " push {lr}\n" - " ldr r0, ._45\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._46:\n" - " .align 2, 0\n" - "._45:\n" - " .word CB2_StartSoundCheckMenu+1\n" - "\n" - ); + SetMainCallback2(CB2_StartSoundCheckMenu); + return 0; } -__attribute__((naked)) -void DebugMenu_8076D50() +u8 DebugMenu_8076D50(void) { - asm( - " push {lr}\n" - " bl Save_EraseAllData\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + Save_EraseAllData(); + return 0; } -__attribute__((naked)) -void DebugMenu_8076D5C() +u8 DebugMenu_8076D5C(void) { - asm( - " push {lr}\n" - " bl debug_sub_8076B4C\n" - " bl debug_sub_806F8F8\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_8076B4C(); + debug_sub_806F8F8(); + return 0; } -__attribute__((naked)) -void DebugMenu_8076D6C() +void DebugMenu_8076D6C(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " lsl r0, r3, #0x2\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._51\n" - " add r4, r0, r1\n" - " mov r0, #0x0\n" - " ldsh r1, [r4, r0]\n" - " cmp r1, #0x1\n" - " beq ._47 @cond_branch\n" - " cmp r1, #0x1\n" - " bgt ._48 @cond_branch\n" - " cmp r1, #0\n" - " beq ._49 @cond_branch\n" - " b ._64\n" - "._52:\n" - " .align 2, 0\n" - "._51:\n" - " .word gTasks+0x8\n" - "._48:\n" - " cmp r1, #0x2\n" - " beq ._53 @cond_branch\n" - " b ._64\n" - "._49:\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._56\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " b ._55\n" - "._57:\n" - " .align 2, 0\n" - "._56:\n" - " .word Str_839BD2C\n" - "._47:\n" - " ldr r0, ._60\n" - " ldrh r2, [r0, #0x2e]\n" - " and r1, r1, r2\n" - " cmp r1, #0\n" - " beq ._58 @cond_branch\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._60 + 4\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r0, #0x49\n" - " bl PlaySE\n" - " bl RtcReset\n" - "._55:\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4]\n" - " b ._64\n" - "._61:\n" - " .align 2, 0\n" - "._60:\n" - " .word gMain\n" - " .word Str_839BD4C\n" - "._58:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._64 @cond_branch\n" - " add r0, r3, #0\n" - " bl DestroyTask\n" - " bl DoSoftReset\n" - " b ._64\n" - "._53:\n" - " ldr r0, ._65\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._64 @cond_branch\n" - " add r0, r3, #0\n" - " bl DestroyTask\n" - " bl DoSoftReset\n" - "._64:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._66:\n" - " .align 2, 0\n" - "._65:\n" - " .word gMain\n" - "\n" - ); + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_839BD2C, 2, 15); + data[0]++; + break; + case 1: + if (gMain.newKeys & A_BUTTON) + { + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_839BD4C, 2, 15); + PlaySE(0x49); + RtcReset(); + data[0]++; + } + else if (gMain.newKeys & B_BUTTON) + { + DestroyTask(taskId); + DoSoftReset(); + } + break; + case 2: + if (gMain.newKeys & A_BUTTON) + { + DestroyTask(taskId); + DoSoftReset(); + } + break; + } } __attribute__((naked)) -void DebugMenu_8076E18() +u8 DebugMenu_8076E18() { asm( " push {lr}\n" @@ -692,7 +601,7 @@ void DebugMenu_8076E30() } __attribute__((naked)) -void DebugMenu_8076EDC() +u8 DebugMenu_8076EDC() { asm( " push {lr}\n" @@ -1321,7 +1230,7 @@ void DebugMenu_8077238() } __attribute__((naked)) -void DebugMenu_Exit() +u8 DebugMenu_Exit() { asm( " push {lr}\n" @@ -1334,7 +1243,7 @@ void DebugMenu_Exit() } __attribute__((naked)) -void DebugMenu_OpenSogabe() +u8 DebugMenu_OpenSogabe() { asm( " push {lr}\n" @@ -1348,7 +1257,7 @@ void DebugMenu_OpenSogabe() } __attribute__((naked)) -void DebugMenu_OpenTamada() +u8 DebugMenu_OpenTamada() { asm( " push {lr}\n" @@ -1362,7 +1271,7 @@ void DebugMenu_OpenTamada() } __attribute__((naked)) -void DebugMenu_OpenKagaya() +u8 DebugMenu_OpenKagaya() { asm( " push {lr}\n" @@ -1376,7 +1285,7 @@ void DebugMenu_OpenKagaya() } __attribute__((naked)) -void DebugMenu_OpenMatsuda() +u8 DebugMenu_OpenMatsuda() { asm( " push {lr}\n" @@ -1390,7 +1299,7 @@ void DebugMenu_OpenMatsuda() } __attribute__((naked)) -void DebugMenu_OpenNohara() +u8 DebugMenu_OpenNohara() { asm( " push {lr}\n" @@ -1404,7 +1313,7 @@ void DebugMenu_OpenNohara() } __attribute__((naked)) -void DebugMenu_OpenWatanabe() +u8 DebugMenu_OpenWatanabe() { asm( " push {lr}\n" @@ -1424,7 +1333,7 @@ void DebugMenu_OpenWatanabe() } __attribute__((naked)) -void DebugMenu_EndSequenceDemo() +u8 DebugMenu_EndSequenceDemo() { asm( " push {lr}\n" @@ -1444,7 +1353,7 @@ void DebugMenu_EndSequenceDemo() } __attribute__((naked)) -void DebugMenu_HallOfFame() +u8 DebugMenu_HallOfFame() { asm( " push {lr}\n" @@ -1459,7 +1368,7 @@ void DebugMenu_HallOfFame() } __attribute__((naked)) -void DebugMenu_OpenSizeComparison() +u8 DebugMenu_OpenSizeComparison() { asm( " push {lr}\n" @@ -1474,7 +1383,7 @@ void DebugMenu_OpenSizeComparison() } __attribute__((naked)) -void DebugMenu_HoennNationalDex() +u8 DebugMenu_HoennNationalDex() { asm( " push {lr}\n" @@ -1495,7 +1404,7 @@ void DebugMenu_HoennNationalDex() } __attribute__((naked)) -void DebugMenu_8077434() +u8 DebugMenu_8077434() { asm( " push {lr}\n" @@ -1613,7 +1522,7 @@ void DebugMenu_8077434() } __attribute__((naked)) -void DebugMenu_807750C() +u8 DebugMenu_807750C() { asm( " push {lr}\n" @@ -1632,7 +1541,7 @@ void DebugMenu_807750C() } __attribute__((naked)) -void DebugMenu_SetRamBerry() +u8 DebugMenu_SetRamBerry() { asm( " push {lr}\n" @@ -1657,7 +1566,7 @@ void DebugMenu_SetRamBerry() } __attribute__((naked)) -void DebugMenu_ToggleBGM() +u8 DebugMenu_ToggleBGM() { asm( " push {lr}\n" @@ -1682,7 +1591,7 @@ void DebugMenu_ToggleBGM() } __attribute__((naked)) -void DebugMenu_BattleForDebug() +u8 DebugMenu_BattleForDebug() { asm( " push {lr}\n" @@ -1697,7 +1606,7 @@ void DebugMenu_BattleForDebug() } __attribute__((naked)) -void DebugMenu_NationalDex() +u8 DebugMenu_NationalDex() { asm( " push {r4, r5, lr}\n" @@ -1733,7 +1642,7 @@ void DebugMenu_NationalDex() } __attribute__((naked)) -void DebugMenu_HoennDex() +u8 DebugMenu_HoennDex() { asm( " push {r4, r5, lr}\n" @@ -1772,7 +1681,7 @@ void DebugMenu_HoennDex() } __attribute__((naked)) -void DebugMenu_CreatePKMN() +u8 DebugMenu_CreatePKMN() { asm( " push {lr}\n" @@ -1787,7 +1696,7 @@ void DebugMenu_CreatePKMN() } __attribute__((naked)) -void DebugMenu_ViewPokemonGraphics() +u8 DebugMenu_ViewPokemonGraphics() { asm( " push {lr}\n" @@ -1802,7 +1711,7 @@ void DebugMenu_ViewPokemonGraphics() } __attribute__((naked)) -void DebugMenu_OpenSeeTrainers() +u8 DebugMenu_OpenSeeTrainers() { asm( " push {lr}\n" @@ -1817,7 +1726,7 @@ void DebugMenu_OpenSeeTrainers() } __attribute__((naked)) -void DebugMenu_OpenMori() +u8 DebugMenu_OpenMori() { asm( " push {lr}\n" @@ -1831,7 +1740,7 @@ void DebugMenu_OpenMori() } __attribute__((naked)) -void DebugMenu_OpenTomomichi() +u8 DebugMenu_OpenTomomichi() { asm( " push {lr}\n" @@ -1845,7 +1754,7 @@ void DebugMenu_OpenTomomichi() } __attribute__((naked)) -void DebugMenu_OpenAoki() +u8 DebugMenu_OpenAoki() { asm( " push {lr}\n" @@ -1858,7 +1767,7 @@ void DebugMenu_OpenAoki() } __attribute__((naked)) -void DebugMenu_OpenTaya() +u8 DebugMenu_OpenTaya() { asm( " push {lr}\n" @@ -1872,7 +1781,7 @@ void DebugMenu_OpenTaya() } __attribute__((naked)) -void DebugMenu_OpenNakamura() +u8 DebugMenu_OpenNakamura() { asm( " push {lr}\n" @@ -1886,7 +1795,7 @@ void DebugMenu_OpenNakamura() } __attribute__((naked)) -void DebugMenu_OpenIwasawa() +u8 DebugMenu_OpenIwasawa() { asm( " push {lr}\n" @@ -1900,7 +1809,7 @@ void DebugMenu_OpenIwasawa() } __attribute__((naked)) -void DebugMenu_Teleport() +u8 DebugMenu_Teleport() { asm( " push {lr}\n" @@ -1916,7 +1825,7 @@ void DebugMenu_Teleport() } __attribute__((naked)) -void DebugMenu_EditPKMN() +u8 DebugMenu_EditPKMN() { asm( " push {lr}\n" @@ -2023,7 +1932,7 @@ void DebugMenu_8077704() } __attribute__((naked)) -void DebugMenu_8077760() +u8 DebugMenu_8077760() { asm( " push {r4, r5, lr}\n" @@ -2139,7 +2048,7 @@ void DebugMenu_8077760() } __attribute__((naked)) -void DebugMenu_SwitchBG() +u8 DebugMenu_SwitchBG() { asm( " push {lr}\n" @@ -2257,7 +2166,7 @@ void DebugMenu_80778A8() } __attribute__((naked)) -void DebugMenu_ControlEncounter() +u8 DebugMenu_ControlEncounter() { asm( " push {lr}\n" @@ -2282,7 +2191,7 @@ void DebugMenu_ControlEncounter() } __attribute__((naked)) -void DebugMenu_UseHM() +u8 DebugMenu_UseHM() { asm( " ldr r1, ._215\n" @@ -2501,7 +2410,7 @@ void DebugMenu_8077A60() } __attribute__((naked)) -void DebugMenu_RematchTrainers() +u8 DebugMenu_RematchTrainers() { asm( " push {lr}\n" @@ -2664,7 +2573,7 @@ void DebugMenu_8077B3C() } __attribute__((naked)) -void DebugMenu_Safari() +u8 DebugMenu_Safari() { asm( " push {lr}\n" @@ -3202,7 +3111,7 @@ void DebugMenu_8077E40() } __attribute__((naked)) -void DebugMenu_MakeItems() +u8 DebugMenu_MakeItems() { asm( " push {lr}\n" @@ -3721,7 +3630,7 @@ void DebugMenu_80781A8() } __attribute__((naked)) -void DebugMenu_ViewPortraits() +u8 DebugMenu_ViewPortraits() { asm( " push {lr}\n" @@ -3754,7 +3663,7 @@ void DebugMenu_8078254() } __attribute__((naked)) -void DebugMenu_AllBadges() +u8 DebugMenu_AllBadges() { asm( " push {lr}\n" @@ -3794,7 +3703,7 @@ void DebugMenu_AllBadges() } __attribute__((naked)) -void DebugMenu_TimeRecords() +u8 DebugMenu_TimeRecords() { asm( " push {lr}\n" @@ -3815,7 +3724,7 @@ void DebugMenu_TimeRecords() } __attribute__((naked)) -void DebugMenu_SetTime() +u8 DebugMenu_SetTime() { asm( " push {lr}\n" @@ -3943,7 +3852,7 @@ void DebugMenu_8078310() } __attribute__((naked)) -void DebugMenu_MiragaIslandRND() +u8 DebugMenu_MiragaIslandRND() { asm( " push {lr}\n" @@ -4027,7 +3936,7 @@ void DebugMenu_80783C8() } __attribute__((naked)) -void DebugMenu_ToggleClearFlag() +u8 DebugMenu_ToggleClearFlag() { asm( " push {lr}\n" @@ -4106,7 +4015,7 @@ void DebugMenu_8078464() } __attribute__((naked)) -void DebugMenu_OpenWeatherEvents() +u8 DebugMenu_OpenWeatherEvents() { asm( " push {lr}\n" @@ -4177,7 +4086,7 @@ void DebugMenu_80784E8() } __attribute__((naked)) -void DebugMenu_OpenMysteryEvent() +u8 DebugMenu_OpenMysteryEvent() { asm( " push {lr}\n" @@ -4596,7 +4505,7 @@ void DebugMenu_80787B0() } __attribute__((naked)) -void DebugMenu_OpenLegendsRecord() +u8 DebugMenu_OpenLegendsRecord() { asm( " push {lr}\n" @@ -4761,7 +4670,7 @@ void DebugMenu_8078880() } __attribute__((naked)) -void DebugMenu_CellInfo() +u8 DebugMenu_CellInfo() { asm( " push {lr}\n" @@ -4783,7 +4692,7 @@ void DebugMenu_CellInfo() } __attribute__((naked)) -void DebugMenu_OpenBerryInfo() +u8 DebugMenu_OpenBerryInfo() { asm( " push {r4, lr}\n" @@ -5135,7 +5044,7 @@ void DebugMenu_8078B38() } __attribute__((naked)) -void DebugMenu_BattleTowerStages() +u8 DebugMenu_BattleTowerStages() { asm( " push {lr}\n" @@ -5300,7 +5209,7 @@ void DebugMenu_8078BD4() } __attribute__((naked)) -void DebugMenu_CheckPKBLCK() +u8 DebugMenu_CheckPKBLCK() { asm( " push {lr}\n" @@ -5525,7 +5434,7 @@ void DebugMenu_8078DA4() } __attribute__((naked)) -void DebugMenu_MeTooBackupMan() +u8 DebugMenu_MeTooBackupMan() { asm( " push {lr}\n" @@ -5911,7 +5820,7 @@ void DebugMenu_8079020() } __attribute__((naked)) -void DebugMenu_PTime() +u8 DebugMenu_PTime() { asm( " push {lr}\n" @@ -6026,7 +5935,7 @@ void DebugMenu_8079058() } __attribute__((naked)) -void DebugMenu_OpenMurakawa() +u8 DebugMenu_OpenMurakawa() { asm( " push {lr}\n" @@ -6120,7 +6029,7 @@ void DebugMenu_8079110() } __attribute__((naked)) -void DebugMenu_OpenKiwa() +u8 DebugMenu_OpenKiwa() { asm( " push {lr}\n" -- cgit v1.2.3 From 6437a2acd5b662db779352c24f34116852a1c605 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 21:44:01 -0600 Subject: decompile kagaya_debug_menu.c --- src/debug/kagaya_debug_menu.c | 497 +++++++++++------------------------------- src/field/slot_machine.c | 50 +---- 2 files changed, 137 insertions(+), 410 deletions(-) (limited to 'src') diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 53e3fac1a..89df82f04 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -1,420 +1,183 @@ #if DEBUG + #include "global.h" +#include "field_effect.h" +#include "field_control_avatar.h" +#include "field_player_avatar.h" +#include "main.h" #include "menu.h" - -u8 KagayaDebugMenu_TrainerCard(); -u8 KagayaDebugMenu_CardToExchange(); -u8 KagayaDebugMenu_SlotMachine(); +#include "overworld.h" +#include "palette.h" +#include "random.h" +#include "region_map.h" +#include "script.h" +#include "slot_machine.h" +#include "trainer_card.h" + +extern u8 (*gMenuCallback)(void); + +void InitKagayaDebugMenu_B(void); +u8 debug_sub_80B061C(void); +u8 KagayaDebugMenu_TrainerCard(void); +u8 debug_sub_80B068C(void); +u8 KagayaDebugMenu_CardToExchange(void); +u8 debug_sub_80B06E0(void); +u8 KagayaDebugMenu_SlotMachine(void); +u8 Kagaya_80B0734(void); +u8 debug_sub_80B07DC(void); const u8 Str_83EBB34[] = _("Trainer’s card"); const u8 Str_83EBB43[] = _("Card to exchange"); const u8 Str_83EBB54[] = _("Slot machine"); -const struct MenuAction _83EBB64[] = { +const struct MenuAction _83EBB64[] = +{ { Str_83EBB34, KagayaDebugMenu_TrainerCard }, { Str_83EBB43, KagayaDebugMenu_CardToExchange }, { Str_83EBB54, KagayaDebugMenu_SlotMachine }, }; -__attribute__((naked)) -void InitKagayaDebugMenu_A() +u8 InitKagayaDebugMenu_A(void) { - asm( - " push {lr}\n" - " bl InitKagayaDebugMenu_B\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + InitKagayaDebugMenu_B(); + return 0; } -__attribute__((naked)) -void InitKagayaDebugMenu_B() +void InitKagayaDebugMenu_B(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._1\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xd\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl InitMenu\n" - " ldr r1, ._1 + 4\n" - " ldr r0, ._1 + 8\n" - " str r0, [r1]\n" - " add sp, sp, #0x8\n" - " pop {r0}\n" - " bx r0\n" - "._2:\n" - " .align 2, 0\n" - "._1:\n" - " .word _83EBB64\n" - " .word gMenuCallback\n" - " .word debug_sub_80B061C+1\n" - "\n" - ); + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 14, 7); + Menu_PrintItems(2, 1, 3, _83EBB64); + InitMenu(0, 1, 1, 3, 0, 13); + gMenuCallback = debug_sub_80B061C; } -__attribute__((naked)) -void debug_sub_80B061C() +u8 debug_sub_80B061C(void) { - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._3 @cond_branch\n" - " mov r0, #0x0\n" - " b ._6\n" - "._3:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._5 @cond_branch\n" - " ldr r2, ._7\n" - " ldr r0, ._7 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._6\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word gMenuCallback\n" - " .word _83EBB64\n" - "._5:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._6:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + s8 input = Menu_ProcessInput(); + + if (input == -2) + { + return 0; + } + else if (input == -1) + { + CloseMenu(); + return 1; + } + else + { + gMenuCallback = _83EBB64[input].func; + return 0; + } } -__attribute__((naked)) -u8 KagayaDebugMenu_TrainerCard() +u8 KagayaDebugMenu_TrainerCard(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._9\n" - " ldr r0, ._9 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._10:\n" - " .align 2, 0\n" - "._9:\n" - " .word gMenuCallback\n" - " .word debug_sub_80B068C+1\n" - "\n" - ); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gMenuCallback = debug_sub_80B068C; + return 0; } -__attribute__((naked)) -void debug_sub_80B068C() +u8 debug_sub_80B068C(void) { - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._11 @cond_branch\n" - " mov r0, #0x0\n" - " b ._12\n" - "._11:\n" - " ldr r0, ._13\n" - " bl debug_sub_80A0710\n" - " bl CloseMenu\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - "._12:\n" - " pop {r1}\n" - " bx r1\n" - "._14:\n" - " .align 2, 0\n" - "._13:\n" - " .word sub_805469C+1\n" - "\n" - ); + if (!UpdatePaletteFade()) + { + debug_sub_80A0710(sub_805469C); + CloseMenu(); + ScriptContext2_Enable(); + return 1; + } + return 0; } -__attribute__((naked)) -u8 KagayaDebugMenu_CardToExchange() +u8 KagayaDebugMenu_CardToExchange(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._15\n" - " ldr r0, ._15 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._16:\n" - " .align 2, 0\n" - "._15:\n" - " .word gMenuCallback\n" - " .word debug_sub_80B06E0+1\n" - "\n" - ); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gMenuCallback = debug_sub_80B06E0; + return 0; } -__attribute__((naked)) -void debug_sub_80B06E0() +u8 debug_sub_80B06E0(void) { - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._17 @cond_branch\n" - " mov r0, #0x0\n" - " b ._18\n" - "._17:\n" - " ldr r0, ._19\n" - " bl debug_sub_80A073C\n" - " bl CloseMenu\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - "._18:\n" - " pop {r1}\n" - " bx r1\n" - "._20:\n" - " .align 2, 0\n" - "._19:\n" - " .word sub_805469C+1\n" - "\n" - ); + if (!UpdatePaletteFade()) + { + debug_sub_80A073C(sub_805469C); + CloseMenu(); + ScriptContext2_Enable(); + return 1; + } + return 0; } -__attribute__((naked)) -u8 KagayaDebugMenu_SlotMachine() +u8 KagayaDebugMenu_SlotMachine(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._21\n" - " ldr r0, ._21 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._22:\n" - " .align 2, 0\n" - "._21:\n" - " .word gMenuCallback\n" - " .word Kagaya_80B0734+1\n" - "\n" - ); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gMenuCallback = Kagaya_80B0734; + return 0; } -__attribute__((naked)) -void Kagaya_80B0734() +u8 Kagaya_80B0734(void) { - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._23 @cond_branch\n" - " mov r0, #0x0\n" - " b ._24\n" - "._23:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._25\n" - " bl debug_sub_811609C\n" - " bl CloseMenu\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - "._24:\n" - " pop {r1}\n" - " bx r1\n" - "._26:\n" - " .align 2, 0\n" - "._25:\n" - " .word sub_805469C+1\n" - "\n" - ); + if (!UpdatePaletteFade()) + { + debug_sub_811609C(Random() % 6, sub_805469C); + CloseMenu(); + ScriptContext2_Enable(); + return 1; + } + return 0; } -__attribute__((naked)) -void debug_sub_80B0770() +u8 debug_sub_80B0770(void) { - asm( - " push {r4, lr}\n" - " ldr r0, ._30\n" - " ldrb r1, [r0]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0\n" - " bne ._27 @cond_branch\n" - " bl CloseMenu\n" - " bl IsPlayerFacingSurfableFishableWater\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._29 @cond_branch\n" - " ldr r0, ._30 + 4\n" - " str r4, [r0]\n" - " mov r0, #0x9\n" - " bl FieldEffectStart\n" - " b ._29\n" - "._31:\n" - " .align 2, 0\n" - "._30:\n" - " .word gPlayerAvatar\n" - " .word gFieldEffectArguments\n" - "._27:\n" - " bl CloseMenu\n" - "._29:\n" - " mov r0, #0x1\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (!(gPlayerAvatar.flags & 8)) + { + CloseMenu(); + if (IsPlayerFacingSurfableFishableWater()) + { + gFieldEffectArguments[0] = 0; + FieldEffectStart(9); + } + } + else + { + CloseMenu(); + } + return 1; } -__attribute__((naked)) -void debug_sub_80B07B0() +u8 debug_sub_80B07B0(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._32\n" - " ldr r0, ._32 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._33:\n" - " .align 2, 0\n" - "._32:\n" - " .word gMenuCallback\n" - " .word debug_sub_80B07DC+1\n" - "\n" - ); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gMenuCallback = debug_sub_80B07DC; + return 0; } -__attribute__((naked)) -void debug_sub_80B07DC() +u8 debug_sub_80B07DC(void) { - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._34 @cond_branch\n" - " mov r0, #0x0\n" - " b ._35\n" - "._34:\n" - " bl CloseMenu\n" - " ldr r0, ._36\n" - " bl SetMainCallback2\n" - " mov r0, #0x1\n" - "._35:\n" - " pop {r1}\n" - " bx r1\n" - "._37:\n" - " .align 2, 0\n" - "._36:\n" - " .word CB2_InitFlyRegionMap+1\n" - "\n" - ); + if (!UpdatePaletteFade()) + { + CloseMenu(); + SetMainCallback2(CB2_InitFlyRegionMap); + return 1; + } + return 0; } -__attribute__((naked)) -void debug_sub_80B0800() +u8 debug_sub_80B0800(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl sub_8068F18\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0\n" - " beq ._38 @cond_branch\n" - " ldr r0, ._39\n" - " mov r1, #0x0\n" - " str r1, [r0]\n" - " sub r1, r2, #1\n" - " str r1, [r0, #0x4]\n" - " mov r0, #0x2c\n" - " bl FieldEffectStart\n" - "._38:\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._40:\n" - " .align 2, 0\n" - "._39:\n" - " .word gFieldEffectArguments\n" - "\n" - ); + u8 r2; + + CloseMenu(); + r2 = sub_8068F18(); + if (r2 != 0) + { + gFieldEffectArguments[0] = 0; + gFieldEffectArguments[1] = r2 - 1; + FieldEffectStart(0x2C); + } + return 1; } #endif // DEBUG diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 99770f6e3..0d4ebe3f0 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -242,57 +242,21 @@ static const u8 gUnknown_083ECE3A[]; static const u16 gUnknown_083ECE42[]; static const u16 gUnknown_083ECE48[]; -#if DEBUG -__attribute__((naked)) -void PlaySlotMachine(u8 arg0, MainCallback cb) -{ - asm("\ - push {lr}\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - ldr r3, ._1\n\ - mov r2, #0x0\n\ - strb r2, [r3]\n\ - bl PlaySlotMachine_Internal\n\ - ldr r0, ._1 + 4\n\ - bl SetMainCallback2\n\ - pop {r0}\n\ - bx r0\n\ -._2:\n\ - .align 2, 0\n\ -._1:\n\ - .word unk_debug_bss_1_1\n\ - .word CB2_SlotMachineSetup+1"); -} -#else void PlaySlotMachine(u8 arg0, MainCallback cb) { +#if DEBUG + unk_debug_bss_1_1 = 0; +#endif PlaySlotMachine_Internal(arg0, cb); SetMainCallback2(CB2_SlotMachineSetup); } -#endif #if DEBUG -__attribute__((naked)) -void debug_sub_811609C() +void debug_sub_811609C(u8 a, void (*func)(void)) { - asm("\ - push {lr}\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - ldr r3, ._3\n\ - mov r2, #0x1\n\ - strb r2, [r3]\n\ - bl PlaySlotMachine_Internal\n\ - ldr r0, ._3 + 4\n\ - bl SetMainCallback2\n\ - pop {r0}\n\ - bx r0\n\ -._4:\n\ - .align 2, 0\n\ -._3:\n\ - .word unk_debug_bss_1_1\n\ - .word CB2_SlotMachineSetup+1"); + unk_debug_bss_1_1 = 1; + PlaySlotMachine_Internal(a, func); + SetMainCallback2(CB2_SlotMachineSetup); } #endif -- cgit v1.2.3 From 8cfc82726a0712e8c86d30294cee6506c1f0dc97 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 22:36:44 -0600 Subject: move undecompiled debug menu code to asm --- src/debug/kagaya_debug_menu.c | 2 +- src/debug/nakamura_debug_menu.c | 4859 +------------------ src/debug/nohara_debug_menu.c | 2310 +-------- src/debug/taya_debug_window.c | 2116 -------- src/debug/tomomichi_debug_menu.c | 8635 --------------------------------- src/debug/unk_debug_menu_3.c | 804 ---- src/debug/watanabe_debug_menu.c | 9838 -------------------------------------- 7 files changed, 7 insertions(+), 28557 deletions(-) delete mode 100644 src/debug/unk_debug_menu_3.c (limited to 'src') diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 89df82f04..3cb36ce0c 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -168,7 +168,7 @@ u8 debug_sub_80B07DC(void) u8 debug_sub_80B0800(void) { u8 r2; - + CloseMenu(); r2 = sub_8068F18(); if (r2 != 0) diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 328903126..b8c4ed73e 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -16,6 +16,9 @@ EWRAM_DATA u16 _nakamuraDataC = 0; __attribute__((unused)) static u8 _nakamuraStatic0[0x18]; __attribute__((unused)) static u8 _nakamuraStatic18; +asm(".global _nakamuraStatic0"); +asm(".global _nakamuraStatic18"); + u8 debug_sub_815FC54(); u8 debug_sub_815F2B4(); u8 debug_sub_815FC94(); @@ -182,4860 +185,4 @@ const u8 Str_843E655[] = _("かい"); const u8 Str_843E658[] = _("0"); const u8 Str_843E65A[] = _("はんい"); -__attribute__((naked)) -void debug_sub_815F1B8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0xe\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._1\n" - " mov r0, #0x10\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xe\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0xf\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r0}\n" - " bx r0\n" - "._2:\n" - " .align 2, 0\n" - "._1:\n" - " .word _843E3DC\n" - "\n" - ); -} - -__attribute__((naked)) -void InitNakamuraDebugMenu() -{ - asm( - " push {lr}\n" - " bl debug_sub_815F1B8\n" - " ldr r1, ._3\n" - " ldr r0, ._3 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gMenuCallback\n" - " .word debug_sub_815F214+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F214() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._9\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._5 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - "._5:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._6 @cond_branch\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - "._6:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._7 @cond_branch\n" - " ldr r4, ._9 + 4\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x15\n" - " add r4, r4, #0x4\n" - " add r0, r0, r4\n" - " ldr r4, [r0]\n" - " bl Menu_DestroyCursor\n" - " bl _call_via_r4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._12\n" - "._10:\n" - " .align 2, 0\n" - "._9:\n" - " .word gMain\n" - " .word _843E3DC\n" - "._7:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._11 @cond_branch\n" - " mov r0, #0x0\n" - " b ._12\n" - "._11:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._12:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F284() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._14\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._13 @cond_branch\n" - " bl debug_sub_81381B4\n" - " mov r0, #0x5\n" - " mov r1, #0x0\n" - " bl OpenPartyMenu\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - "._13:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._15:\n" - " .align 2, 0\n" - "._14:\n" - " .word gPaletteFade\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815F2B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl CloseMenu\n" - " bl Menu_EraseScreen\n" - " ldr r1, ._16\n" - " ldr r0, ._16 + 4\n" - " str r0, [r1, #0x8]\n" - " ldr r0, ._16 + 8\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " mov r0, #0x1\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._17:\n" - " .align 2, 0\n" - "._16:\n" - " .word gMain\n" - " .word sub_805469C+1\n" - " .word debug_sub_815F284+1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815F2F4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffffc\n" - " bl CloseMenu\n" - " mov r7, #0x1\n" - "._34:\n" - " lsl r1, r7, #0x2\n" - " add r0, r1, r7\n" - " lsl r2, r0, #0x5\n" - " ldr r3, ._24\n" - " add r0, r2, r3\n" - " ldr r5, ._24 + 4\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " mov r9, r1\n" - " add r1, r7, #1\n" - " str r1, [sp]\n" - " cmp r0, #0\n" - " beq ._18 @cond_branch\n" - " b ._19\n" - "._18:\n" - " mov r5, #0x0\n" - " ldr r6, ._24 + 8\n" - " add r4, r7, #0\n" - " sub r4, r4, #0x46\n" - " ldr r3, ._24 + 12\n" - "._21:\n" - " add r1, r5, r2\n" - " add r1, r1, r3\n" - " add r0, r5, r6\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0xff\n" - " beq ._20 @cond_branch\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x6\n" - " bls ._21 @cond_branch\n" - "._20:\n" - " cmp r5, #0x7\n" - " bne ._22 @cond_branch\n" - " add r0, r2, #6\n" - " b ._23\n" - "._25:\n" - " .align 2, 0\n" - "._24:\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word gSaveBlock2\n" - " .word gSaveBlock1+0x1a0a\n" - "._22:\n" - " add r0, r5, r2\n" - "._23:\n" - " add r0, r0, r3\n" - " strb r4, [r0]\n" - " ldr r1, ._35\n" - " ldr r2, ._35 + 4\n" - " add r2, r2, r1\n" - " mov sl, r2\n" - " mov r3, r9\n" - " add r0, r3, r7\n" - " lsl r6, r0, #0x5\n" - " add r1, r6, r1\n" - " ldr r5, ._35 + 4\n" - " add r5, r5, r1\n" - " mov r8, r5\n" - "._30:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x4b\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0xe\n" - " ldr r1, ._35 + 8\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " mov r2, r8\n" - " strb r0, [r2]\n" - " mov r5, #0x0\n" - " cmp r5, r7\n" - " bcs ._28 @cond_branch\n" - " mov r3, sl\n" - " ldrb r3, [r3]\n" - " cmp r0, r3\n" - " beq ._28 @cond_branch\n" - " ldr r4, ._35\n" - " add r0, r6, r4\n" - " ldr r2, ._35 + 4\n" - " add r3, r0, r2\n" - "._29:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r7\n" - " bcs ._28 @cond_branch\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " add r0, r0, r2\n" - " ldrb r1, [r3]\n" - " ldrb r0, [r0]\n" - " cmp r1, r0\n" - " bne ._29 @cond_branch\n" - "._28:\n" - " cmp r5, r7\n" - " bne ._30 @cond_branch\n" - " bl Random\n" - " mov r5, r9\n" - " add r4, r5, r7\n" - " lsl r4, r4, #0x5\n" - " ldr r1, ._35\n" - " add r3, r4, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x1\n" - " ldr r2, ._35 + 12\n" - " add r3, r3, r2\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x4\n" - " ldrb r1, [r3]\n" - " mov r5, #0x11\n" - " neg r5, r5\n" - " add r2, r5, #0\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3]\n" - " mov r5, #0x0\n" - " ldr r6, ._35 + 16\n" - "._31:\n" - " bl Random\n" - " add r1, r5, r4\n" - " add r1, r1, r6\n" - " strb r0, [r1]\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x3\n" - " bls ._31 @cond_branch\n" - " mov r5, #0x0\n" - " mov r1, r9\n" - " add r0, r1, r7\n" - " lsl r4, r0, #0x5\n" - " ldr r3, ._35 + 20\n" - " mov r2, #0x0\n" - " add r6, r3, #0\n" - " add r6, r6, #0x10\n" - "._32:\n" - " add r1, r5, r4\n" - " add r0, r1, r3\n" - " strb r2, [r0]\n" - " add r1, r1, r6\n" - " strb r2, [r1]\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0xf\n" - " bls ._32 @cond_branch\n" - " add r0, r7, #0\n" - " bl unref_sub_80BCD7C\n" - "._19:\n" - " ldr r2, [sp]\n" - " lsl r0, r2, #0x18\n" - " lsr r7, r0, #0x18\n" - " cmp r7, #0x13\n" - " bhi ._33 @cond_branch\n" - " b ._34\n" - "._33:\n" - " mov r0, #0x1\n" - " add sp, sp, #0x4\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._36:\n" - " .align 2, 0\n" - "._35:\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word _843E424\n" - " .word 0x1a09\n" - " .word gSaveBlock1+0x1a11\n" - " .word gSaveBlock1+0x1a1a\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F470() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add r6, r0, #0\n" - " add r7, r1, #0\n" - " mov ip, r2\n" - " ldr r2, ._39\n" - " ldr r0, ._39 + 4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._39 + 8\n" - " add r0, r0, r1\n" - " ldrb r4, [r0]\n" - " mov r2, #0x0\n" - " ldr r3, ._39 + 12\n" - " add r5, r3, #0\n" - "._41:\n" - " lsl r1, r2, #0x2\n" - " add r0, r1, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, r4\n" - " bne ._37 @cond_branch\n" - " add r0, r1, #1\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r6]\n" - " add r0, r1, #2\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r7]\n" - " add r0, r1, #3\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " mov r1, ip\n" - " strb r0, [r1]\n" - " b ._38\n" - "._40:\n" - " .align 2, 0\n" - "._39:\n" - " .word gSaveBlock1\n" - " .word _nakamuraData0\n" - " .word 0x1a08\n" - " .word _843E424\n" - "._37:\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x4a\n" - " bls ._41 @cond_branch\n" - "._38:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F4D8() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0xa\n" - " bl Menu_BlankWindowRect\n" - " ldr r6, ._43\n" - " ldr r7, ._43 + 4\n" - " ldrb r1, [r7]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r2, ._43 + 8\n" - " ldrb r1, [r7]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._43 + 12\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._42 @cond_branch\n" - " mov r4, sp\n" - " add r4, r4, #0x1\n" - " mov r5, sp\n" - " add r5, r5, #0x2\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl debug_sub_815F470\n" - " ldrb r1, [r7]\n" - " add r0, r6, #0\n" - " bl sub_80BC190\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._43 + 16\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, sp\n" - " ldrb r1, [r0]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._43 + 20\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldrb r1, [r4]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x3\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._43 + 24\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldrb r1, [r5]\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x3\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - "._42:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._44:\n" - " .align 2, 0\n" - "._43:\n" - " .word gStringVar1\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word Str_843E550\n" - " .word Str_843E552\n" - " .word Str_843E554\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F5C4() -{ - asm( - " push {lr}\n" - " ldr r0, ._48\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " beq ._45 @cond_branch\n" - " ldr r1, ._48 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._46 @cond_branch\n" - " mov r0, #0x13\n" - " b ._50\n" - "._49:\n" - " .align 2, 0\n" - "._48:\n" - " .word gMain\n" - " .word _nakamuraData0\n" - "._46:\n" - " sub r0, r0, #0x1\n" - " b ._50\n" - "._45:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._51 @cond_branch\n" - " ldr r1, ._54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x13\n" - " bne ._52 @cond_branch\n" - " strb r2, [r1]\n" - " b ._53\n" - "._55:\n" - " .align 2, 0\n" - "._54:\n" - " .word _nakamuraData0\n" - "._52:\n" - " add r0, r0, #0x1\n" - "._50:\n" - " strb r0, [r1]\n" - "._53:\n" - " bl debug_sub_815F4D8\n" - " mov r0, #0x0\n" - " b ._58\n" - "._51:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._57 @cond_branch\n" - " mov r0, #0x0\n" - " b ._58\n" - "._57:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._58:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815F62C() -{ - asm( - " push {lr}\n" - " ldr r1, ._59\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " ldr r1, ._59 + 4\n" - " ldr r0, ._59 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " bl debug_sub_815F4D8\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._60:\n" - " .align 2, 0\n" - "._59:\n" - " .word _nakamuraData0\n" - " .word gMenuCallback\n" - " .word debug_sub_815F5C4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F668() -{ - asm( - " push {r4, r5, r6, lr}\n" - " ldr r0, ._61\n" - " ldrb r0, [r0]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x5\n" - " ldr r0, ._61 + 4\n" - " add r1, r1, r0\n" - " ldrb r4, [r1, #0x3]\n" - " lsl r4, r4, #0x18\n" - " ldrb r0, [r1, #0x2]\n" - " lsl r0, r0, #0x10\n" - " orr r4, r4, r0\n" - " ldrb r0, [r1, #0x1]\n" - " lsl r0, r0, #0x8\n" - " orr r4, r4, r0\n" - " ldrb r0, [r1]\n" - " orr r4, r4, r0\n" - " ldr r5, ._61 + 8\n" - " ldr r6, ._61 + 12\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " add r0, r5, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl __umodsi3\n" - " add r1, r0, #0\n" - " add r0, r5, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x7\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._62:\n" - " .align 2, 0\n" - "._61:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a11\n" - " .word gStringVar1\n" - " .word 0x186a0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F6E4() -{ - asm( - " push {r4, lr}\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0xb\n" - " mov r3, #0x4\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._63\n" - " ldr r0, ._63 + 4\n" - " ldrb r0, [r0]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x5\n" - " ldr r0, ._63 + 8\n" - " add r1, r1, r0\n" - " add r0, r4, #0\n" - " mov r2, #0x7\n" - " bl StringCopyN\n" - " mov r1, #0xff\n" - " strb r1, [r0]\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._64:\n" - " .align 2, 0\n" - "._63:\n" - " .word gStringVar1\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a0a\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F72C() -{ - asm( - " push {r4, r5, lr}\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " mov r3, #0xa\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._66\n" - " ldr r5, ._66 + 4\n" - " ldrb r1, [r5]\n" - " add r0, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r2, ._66 + 8\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._66 + 12\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._65 @cond_branch\n" - " bl debug_sub_815F6E4\n" - " bl debug_sub_815F668\n" - "._65:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._67:\n" - " .align 2, 0\n" - "._66:\n" - " .word gStringVar1\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F788() -{ - asm( - " push {lr}\n" - " mov r0, #0x2\n" - " mov r1, #0x5\n" - " mov r2, #0xb\n" - " mov r3, #0x6\n" - " bl Menu_BlankWindowRect\n" - " ldr r0, ._68\n" - " ldr r1, ._68 + 4\n" - " ldrb r1, [r1]\n" - " add r1, r1, #0x2\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._69:\n" - " .align 2, 0\n" - "._68:\n" - " .word Str_843E574\n" - " .word _nakamuraData2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F7B4() -{ - asm( - " push {lr}\n" - " ldr r0, ._72\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._70 @cond_branch\n" - " mov r0, #0xb\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " b ._71\n" - "._73:\n" - " .align 2, 0\n" - "._72:\n" - " .word _nakamuraData1\n" - "._70:\n" - " ldr r0, ._74\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x1\n" - " ldr r1, ._74 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - "._71:\n" - " pop {r0}\n" - " bx r0\n" - "._75:\n" - " .align 2, 0\n" - "._74:\n" - " .word _nakamuraData3\n" - " .word Str_843E576\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F7F0() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r1, ._78\n" - " ldrb r2, [r1]\n" - " lsl r1, r2, #0x2\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x5\n" - " ldr r2, ._78 + 4\n" - " add r3, r1, r2\n" - " ldrb r1, [r3, #0x3]\n" - " lsl r2, r1, #0x18\n" - " ldrb r1, [r3, #0x2]\n" - " lsl r1, r1, #0x10\n" - " orr r2, r2, r1\n" - " ldrb r1, [r3, #0x1]\n" - " lsl r1, r1, #0x8\n" - " orr r2, r2, r1\n" - " ldrb r1, [r3]\n" - " orr r2, r2, r1\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r4, #0x9\n" - " ldr r0, ._78 + 8\n" - " ldrb r0, [r0]\n" - " cmp r4, r0\n" - " ble ._76 @cond_branch\n" - " add r5, r0, #0\n" - "._77:\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r1, r0, #0x1\n" - " lsl r0, r4, #0x18\n" - " mov r4, #0xff\n" - " lsl r4, r4, #0x18\n" - " add r0, r0, r4\n" - " lsr r4, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, r5\n" - " bgt ._77 @cond_branch\n" - "._76:\n" - " add r2, r2, r1\n" - " lsr r0, r2, #0x18\n" - " strb r0, [r3, #0x3]\n" - " mov r0, #0xff\n" - " lsl r0, r0, #0x10\n" - " and r0, r0, r2\n" - " lsr r0, r0, #0x10\n" - " strb r0, [r3, #0x2]\n" - " mov r0, #0xff\n" - " lsl r0, r0, #0x8\n" - " and r0, r0, r2\n" - " lsr r0, r0, #0x8\n" - " strb r0, [r3, #0x1]\n" - " strb r2, [r3]\n" - " bl debug_sub_815F668\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._79:\n" - " .align 2, 0\n" - "._78:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a11\n" - " .word _nakamuraData2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F86C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " ldr r1, ._84\n" - " ldrb r2, [r1]\n" - " lsl r1, r2, #0x2\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x5\n" - " ldr r2, ._84 + 4\n" - " add r5, r1, r2\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " lsr r6, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x64\n" - " bne ._80 @cond_branch\n" - " ldr r0, ._84 + 8\n" - " ldrb r1, [r0]\n" - " cmp r1, #0x6\n" - " bhi ._100 @cond_branch\n" - " mov r2, #0xff\n" - "._82:\n" - " add r0, r5, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x6\n" - " bls ._82 @cond_branch\n" - " b ._100\n" - "._85:\n" - " .align 2, 0\n" - "._84:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1+0x1a0a\n" - " .word _nakamuraData2\n" - "._80:\n" - " ldr r0, ._87\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x4\n" - " bhi ._98 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._87 + 4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._88:\n" - " .align 2, 0\n" - "._87:\n" - " .word _nakamuraData3\n" - " .word ._89\n" - "._89:\n" - " .word ._90\n" - " .word ._91\n" - " .word ._92\n" - " .word ._93\n" - " .word ._94\n" - "._90:\n" - " mov r3, #0x1\n" - " mov r2, #0x50\n" - " b ._98\n" - "._91:\n" - " mov r3, #0x51\n" - " mov r2, #0xa0\n" - " b ._98\n" - "._92:\n" - " mov r3, #0xbb\n" - " mov r2, #0xd4\n" - " b ._98\n" - "._93:\n" - " mov r3, #0xd5\n" - " mov r2, #0xee\n" - " b ._98\n" - "._94:\n" - " mov r3, #0xa1\n" - " mov r2, #0xaa\n" - "._98:\n" - " ldr r4, ._101\n" - " ldrb r1, [r4]\n" - " add r1, r5, r1\n" - " ldrb r0, [r1]\n" - " add r0, r0, r6\n" - " strb r0, [r1]\n" - " ldrb r0, [r4]\n" - " add r1, r5, r0\n" - " ldrb r0, [r1]\n" - " cmp r0, r3\n" - " bcs ._99 @cond_branch\n" - " strb r2, [r1]\n" - "._99:\n" - " ldrb r0, [r4]\n" - " add r1, r5, r0\n" - " ldrb r0, [r1]\n" - " cmp r0, r2\n" - " bls ._100 @cond_branch\n" - " strb r3, [r1]\n" - "._100:\n" - " bl debug_sub_815F6E4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._102:\n" - " .align 2, 0\n" - "._101:\n" - " .word _nakamuraData2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815F930() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r0, ._107\n" - " ldrb r2, [r0]\n" - " mov r4, #0xa\n" - " cmp r2, #0\n" - " bne ._103 @cond_branch\n" - " mov r4, #0x7\n" - "._103:\n" - " ldr r5, ._107 + 4\n" - " ldrh r1, [r5, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._104 @cond_branch\n" - " cmp r2, #0\n" - " beq ._105 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_sub_815F7F0\n" - " b ._136\n" - "._108:\n" - " .align 2, 0\n" - "._107:\n" - " .word _nakamuraData1\n" - " .word gMain\n" - "._105:\n" - " mov r0, #0x1\n" - " b ._113\n" - "._104:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._110 @cond_branch\n" - " cmp r2, #0\n" - " beq ._111 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl debug_sub_815F7F0\n" - " b ._136\n" - "._111:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._113\n" - "._110:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0\n" - " beq ._114 @cond_branch\n" - " ldr r1, ._117\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._115 @cond_branch\n" - " sub r0, r4, #1\n" - " b ._116\n" - "._118:\n" - " .align 2, 0\n" - "._117:\n" - " .word _nakamuraData2\n" - "._115:\n" - " sub r0, r0, #0x1\n" - "._116:\n" - " strb r0, [r1]\n" - "._125:\n" - " bl debug_sub_815F788\n" - " b ._136\n" - "._114:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._120 @cond_branch\n" - " ldr r2, ._123\n" - " ldrb r1, [r2]\n" - " sub r0, r4, #1\n" - " cmp r1, r0\n" - " bne ._121 @cond_branch\n" - " strb r3, [r2]\n" - " b ._125\n" - "._124:\n" - " .align 2, 0\n" - "._123:\n" - " .word _nakamuraData2\n" - "._121:\n" - " add r0, r1, #1\n" - " strb r0, [r2]\n" - " b ._125\n" - "._120:\n" - " ldrh r1, [r5, #0x2e]\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._126 @cond_branch\n" - " cmp r2, #0\n" - " bne ._127 @cond_branch\n" - " ldr r4, ._129\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " mov r1, #0x5\n" - " bl __modsi3\n" - " strb r0, [r4]\n" - "._127:\n" - " bl debug_sub_815F7B4\n" - " b ._136\n" - "._130:\n" - " .align 2, 0\n" - "._129:\n" - " .word _nakamuraData3\n" - "._126:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._131 @cond_branch\n" - " mov r0, #0x2\n" - " mov r1, #0x5\n" - " mov r2, #0xb\n" - " mov r3, #0x6\n" - " bl Menu_BlankWindowRect\n" - " mov r0, #0xb\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r1, ._133\n" - " ldr r0, ._133 + 4\n" - " str r0, [r1]\n" - " b ._136\n" - "._134:\n" - " .align 2, 0\n" - "._133:\n" - " .word gMenuCallback\n" - " .word debug_sub_815FA38+1\n" - "._131:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._136 @cond_branch\n" - " cmp r2, #0\n" - " bne ._136 @cond_branch\n" - " mov r0, #0x64\n" - "._113:\n" - " bl debug_sub_815F86C\n" - "._136:\n" - " mov r0, #0x0\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FA38() -{ - asm( - " push {r4, lr}\n" - " ldr r0, ._139\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._137 @cond_branch\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " b ._138\n" - "._140:\n" - " .align 2, 0\n" - "._139:\n" - " .word gMain\n" - "._137:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._141 @cond_branch\n" - " mov r0, #0x2\n" - "._138:\n" - " bl Menu_MoveCursor\n" - "._161:\n" - " mov r0, #0x0\n" - " b ._142\n" - "._141:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " beq ._143 @cond_branch\n" - " ldr r1, ._146\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._144 @cond_branch\n" - " mov r0, #0x13\n" - " b ._148\n" - "._147:\n" - " .align 2, 0\n" - "._146:\n" - " .word _nakamuraData0\n" - "._144:\n" - " sub r0, r0, #0x1\n" - " b ._148\n" - "._143:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0\n" - " beq ._149 @cond_branch\n" - " ldr r1, ._152\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x13\n" - " bne ._150 @cond_branch\n" - " strb r2, [r1]\n" - " b ._151\n" - "._153:\n" - " .align 2, 0\n" - "._152:\n" - " .word _nakamuraData0\n" - "._150:\n" - " add r0, r0, #0x1\n" - "._148:\n" - " strb r0, [r1]\n" - "._151:\n" - " bl debug_sub_815F72C\n" - " b ._161\n" - "._149:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._155 @cond_branch\n" - " ldr r1, ._159\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " ldr r2, ._159 + 4\n" - " add r1, r0, #0\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r2\n" - " ldr r1, ._159 + 8\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " ldr r1, ._159 + 12\n" - " strb r0, [r1]\n" - " ldr r0, ._159 + 16\n" - " strb r4, [r0]\n" - " bl debug_sub_815F788\n" - " bl debug_sub_815F7B4\n" - " ldr r1, ._159 + 20\n" - " ldr r0, ._159 + 24\n" - " str r0, [r1]\n" - " b ._161\n" - "._160:\n" - " .align 2, 0\n" - "._159:\n" - " .word _nakamuraData0\n" - " .word gSaveBlock1\n" - " .word 0x1a08\n" - " .word _nakamuraData1\n" - " .word _nakamuraData2\n" - " .word gMenuCallback\n" - " .word debug_sub_815F930+1\n" - "._155:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._142:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FB1C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r0, ._162\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " ldr r0, ._162 + 4\n" - " strb r1, [r0]\n" - " ldr r1, ._162 + 8\n" - " ldr r0, ._162 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " bl debug_sub_815F72C\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xb\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x3\n" - " bl InitMenu\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._163:\n" - " .align 2, 0\n" - "._162:\n" - " .word _nakamuraData0\n" - " .word _nakamuraData3\n" - " .word gMenuCallback\n" - " .word debug_sub_815FA38+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FB78() -{ - asm( - " push {lr}\n" - " ldr r0, ._166\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._164 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._165\n" - "._167:\n" - " .align 2, 0\n" - "._166:\n" - " .word gMain\n" - "._164:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._168 @cond_branch\n" - " mov r0, #0x1\n" - "._165:\n" - " bl Menu_MoveCursor\n" - " mov r0, #0x0\n" - " b ._177\n" - "._168:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._170 @cond_branch\n" - " bl CloseMenu\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._171 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._172 @cond_branch\n" - " b ._175\n" - "._171:\n" - " bl debug_sub_814A714\n" - " b ._175\n" - "._172:\n" - " bl ClearRoamerData\n" - " bl ClearRoamerLocationData\n" - " b ._175\n" - "._170:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._176 @cond_branch\n" - " mov r0, #0x0\n" - " b ._177\n" - "._176:\n" - " bl CloseMenu\n" - "._175:\n" - " mov r0, #0x1\n" - "._177:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FBE8() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r1, ._178\n" - " ldr r0, ._178 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " ldr r4, ._178 + 8\n" - " add r0, r4, #0\n" - " bl debug_sub_814A73C\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._178 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xa\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x3\n" - " bl InitMenu\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._179:\n" - " .align 2, 0\n" - "._178:\n" - " .word gMenuCallback\n" - " .word debug_sub_815FB78+1\n" - " .word gStringVar1\n" - " .word Str_843E580\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FC54() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r3, #0x0\n" - " ldr r7, ._181\n" - " mov r6, #0xe8\n" - " lsl r6, r6, #0x3\n" - " ldr r5, ._181 + 4\n" - " ldr r4, ._181 + 8\n" - "._180:\n" - " lsl r1, r3, #0x2\n" - " add r1, r1, r7\n" - " add r2, r3, #0\n" - " add r2, r2, #0x85\n" - " add r0, r1, r6\n" - " strh r2, [r0]\n" - " add r1, r1, r4\n" - " strh r5, [r1]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0x2a\n" - " bls ._180 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._182:\n" - " .align 2, 0\n" - "._181:\n" - " .word gSaveBlock1\n" - " .word 0x3e7\n" - " .word 0x742\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FC94() -{ - asm( - " push {lr}\n" - " bl ClearDecorationInventories\n" - " bl debug_sub_814A3A8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FCB4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r7, #0x0\n" - " ldr r5, ._188\n" - " ldr r0, [r5]\n" - " ldr r0, [r0, #0x4]\n" - " mov r1, #0x3\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " add r1, r0, #0\n" - " mul r1, r1, r4\n" - " lsl r1, r1, #0x10\n" - " lsr r6, r1, #0x10\n" - " add r0, r6, r0\n" - " mov r9, r5\n" - " cmp r6, r0\n" - " bge ._183 @cond_branch\n" - " mov r8, r0\n" - "._187:\n" - " mov r4, #0x0\n" - " mov r1, r9\n" - " ldr r0, [r1]\n" - " ldr r0, [r0]\n" - " add r5, r6, #1\n" - " cmp r4, r0\n" - " bge ._184 @cond_branch\n" - " ldr r0, ._188\n" - " mov r9, r0\n" - "._186:\n" - " add r0, r4, #7\n" - " add r1, r6, #7\n" - " bl MapGridGetMetatileBehaviorAt\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl sub_805759C\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._185 @cond_branch\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - "._185:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " ldr r0, ._188\n" - " ldr r0, [r0]\n" - " ldr r0, [r0]\n" - " cmp r4, r0\n" - " blt ._186 @cond_branch\n" - "._184:\n" - " lsl r0, r5, #0x10\n" - " lsr r6, r0, #0x10\n" - " cmp r6, r8\n" - " blt ._187 @cond_branch\n" - "._183:\n" - " add r0, r7, #0\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._189:\n" - " .align 2, 0\n" - "._188:\n" - " .word gMapHeader\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FD40() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r6, #0x0\n" - " mov r4, sp\n" - " add r4, r4, #0x2\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " bl GetXYCoordsOneStepInFrontOfPlayer\n" - " mov r1, sp\n" - " mov r0, sp\n" - " ldrh r0, [r0]\n" - " sub r0, r0, #0x7\n" - " strh r0, [r1]\n" - " ldrh r0, [r4]\n" - " sub r0, r0, #0x7\n" - " strh r0, [r4]\n" - " mov r5, #0x0\n" - " ldr r1, ._192\n" - " ldr r0, [r1]\n" - " ldr r0, [r0, #0x4]\n" - " add r7, r4, #0\n" - " cmp r6, r0\n" - " bge ._190 @cond_branch\n" - "._199:\n" - " mov r4, #0x0\n" - " ldr r0, [r1]\n" - " b ._191\n" - "._193:\n" - " .align 2, 0\n" - "._192:\n" - " .word gMapHeader\n" - "._198:\n" - " add r0, r4, #7\n" - " add r1, r5, #7\n" - " bl MapGridGetMetatileBehaviorAt\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl sub_805759C\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._196 @cond_branch\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r6, r0, #0x10\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, r4\n" - " bne ._196 @cond_branch\n" - " mov r1, #0x0\n" - " ldsh r0, [r7, r1]\n" - " cmp r0, r5\n" - " bne ._196 @cond_branch\n" - " add r0, r6, #0\n" - " b ._197\n" - "._196:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " ldr r0, ._200\n" - " ldr r0, [r0]\n" - "._191:\n" - " ldr r0, [r0]\n" - " cmp r4, r0\n" - " blt ._198 @cond_branch\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " ldr r1, ._200\n" - " ldr r0, [r1]\n" - " ldr r0, [r0, #0x4]\n" - " cmp r5, r0\n" - " blt ._199 @cond_branch\n" - "._190:\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - "._197:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._201:\n" - " .align 2, 0\n" - "._200:\n" - " .word gMapHeader\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FDE4() -{ - asm( - " push {lr}\n" - " ldr r0, ._205\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._202 @cond_branch\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._203 @cond_branch\n" - "._202:\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._204\n" - "._206:\n" - " .align 2, 0\n" - "._205:\n" - " .word gMain\n" - "._203:\n" - " mov r0, #0x0\n" - "._204:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_815FE1C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._210\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r6, ._210 + 4\n" - " mov r0, #0x0\n" - " bl debug_sub_815FCB4\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " bl debug_sub_815FCB4\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x2\n" - " bl debug_sub_815FCB4\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " bl debug_sub_8092344\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " bl debug_sub_8092344\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x2\n" - " bl debug_sub_8092344\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._210 + 8\n" - " ldr r1, ._210 + 12\n" - " add r0, r0, r1\n" - " ldrh r0, [r0]\n" - " bl FeebasSeedRng\n" - " mov r0, #0x0\n" - " bl debug_sub_815FCB4\n" - " add r4, r0, #0\n" - " mov r0, #0x1\n" - " bl debug_sub_815FCB4\n" - " add r5, r0, #0\n" - " mov r0, #0x2\n" - " bl debug_sub_815FCB4\n" - " add r4, r4, r5\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - " mov r5, #0x0\n" - "._209:\n" - " bl FeebasRandom\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " add r1, r7, #0\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0\n" - " bne ._207 @cond_branch\n" - " add r1, r7, #0\n" - "._207:\n" - " sub r0, r1, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0x2\n" - " bls ._208 @cond_branch\n" - " add r0, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " lsl r4, r0, #0x2\n" - " add r4, r4, r0\n" - " add r4, r4, #0x2\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " bl __udivsi3\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x19\n" - " mov r0, #0xb0\n" - " lsl r0, r0, #0x14\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl Menu_PrintText\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - "._208:\n" - " cmp r5, #0x6\n" - " bne ._209 @cond_branch\n" - " ldr r4, ._210 + 4\n" - " bl debug_sub_815FD40\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r1, ._210 + 16\n" - " ldr r0, ._210 + 20\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._211:\n" - " .align 2, 0\n" - "._210:\n" - " .word Str_843E58D\n" - " .word gStringVar1\n" - " .word gSaveBlock1\n" - " .word 0x2dd6\n" - " .word gMenuCallback\n" - " .word debug_sub_815FDE4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_815FFDC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r0, #0xe\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0xe\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._214\n" - " mov r1, #0x1\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r5, #0x0\n" - " ldr r0, ._214 + 4\n" - " mov r8, r0\n" - "._216:\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._214 + 8\n" - " add r6, r1, r0\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " lsl r1, r5, #0x2\n" - " mov r2, r8\n" - " add r4, r1, r2\n" - " strh r0, [r4]\n" - " lsl r0, r0, #0x10\n" - " add r7, r1, #0\n" - " cmp r0, #0\n" - " beq ._212 @cond_branch\n" - " add r0, r6, #0\n" - " mov r1, #0x38\n" - " bl GetMonData\n" - " strb r0, [r4, #0x2]\n" - " add r0, r5, #0\n" - " bl debug_sub_816009C\n" - " add r0, r5, #0\n" - " bl debug_sub_81600D0\n" - " add r0, r5, #0\n" - " bl debug_sub_816013C\n" - " b ._213\n" - "._215:\n" - " .align 2, 0\n" - "._214:\n" - " .word Str_843E5D4\n" - " .word _nakamuraStatic0\n" - " .word gPlayerParty\n" - "._212:\n" - " mov r0, #0x1\n" - " strb r0, [r4, #0x2]\n" - "._213:\n" - " mov r0, r8\n" - " add r1, r7, r0\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x3]\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._216 @cond_branch\n" - " ldr r1, ._217\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " mov r0, #0xf\n" - " mov r1, #0x1\n" - " mov r2, #0xff\n" - " bl PrintTriangleCursorWithPalette\n" - " ldr r1, ._217 + 4\n" - " ldr r0, ._217 + 8\n" - " str r0, [r1]\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._218:\n" - " .align 2, 0\n" - "._217:\n" - " .word _nakamuraData4\n" - " .word gMenuCallback\n" - " .word debug_sub_8160498+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816009C() -{ - asm( - " push {lr}\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " ldr r1, ._219\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r1\n" - " mov r3, #0x0\n" - " ldsh r1, [r0, r3]\n" - " mov r0, #0xb\n" - " mul r0, r0, r1\n" - " ldr r1, ._219 + 4\n" - " add r0, r0, r1\n" - " lsl r2, r2, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x10\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._220:\n" - " .align 2, 0\n" - "._219:\n" - " .word _nakamuraStatic0\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81600D0() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " add r5, r4, #0\n" - " ldr r1, ._223\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._223 + 4\n" - " add r0, r0, r1\n" - " bl GetMonGender\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._221 @cond_branch\n" - " ldr r0, ._223 + 8\n" - " b ._222\n" - "._224:\n" - " .align 2, 0\n" - "._223:\n" - " .word Str_843E5F0\n" - " .word gPlayerParty\n" - " .word gOtherText_MaleSymbol2\n" - "._221:\n" - " cmp r0, #0xfe\n" - " bne ._225 @cond_branch\n" - " ldr r0, ._227\n" - "._222:\n" - " lsl r2, r4, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x17\n" - " bl Menu_PrintText\n" - " b ._226\n" - "._228:\n" - " .align 2, 0\n" - "._227:\n" - " .word gOtherText_FemaleSymbolAndLv\n" - "._225:\n" - " lsl r2, r5, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x17\n" - " bl Menu_PrintText\n" - "._226:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816013C() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r5, ._229\n" - " ldr r1, ._229 + 4\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r1\n" - " mov r1, #0x2\n" - " ldrsb r1, [r0, r1]\n" - " add r0, r5, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r4, r4, #0x1\n" - " add r4, r4, #0x1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x1a\n" - " add r2, r4, #0\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._230:\n" - " .align 2, 0\n" - "._229:\n" - " .word gStringVar1\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816017C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " lsl r3, r4, #0x1\n" - " add r1, r3, #1\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r3, r3, #0x2\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r0, #0x10\n" - " mov r2, #0x1c\n" - " bl Menu_BlankWindowRect\n" - " ldr r1, ._232\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._231 @cond_branch\n" - " add r0, r4, #0\n" - " bl debug_sub_816009C\n" - " add r0, r4, #0\n" - " bl debug_sub_81600D0\n" - " add r0, r4, #0\n" - " bl debug_sub_816013C\n" - "._231:\n" - " mov r0, #0x5\n" - " bl debug_sub_81603B8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._233:\n" - " .align 2, 0\n" - "._232:\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81601C8() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffff0\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r1, ._239\n" - " lsl r0, r5, #0x2\n" - " add r2, r0, r1\n" - " mov r4, #0x0\n" - " ldsh r0, [r2, r4]\n" - " cmp r0, #0\n" - " bne ._236 @cond_branch\n" - " ldrb r0, [r2, #0x3]\n" - " cmp r0, #0\n" - " bne ._236 @cond_branch\n" - " cmp r3, #0x1\n" - " bne ._236 @cond_branch\n" - " mov r0, #0x8a\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r2]\n" - "._236:\n" - " lsl r0, r5, #0x2\n" - " add r4, r0, r1\n" - " lsl r0, r3, #0x18\n" - " asr r0, r0, #0x18\n" - " ldrh r1, [r4]\n" - " add r2, r0, r1\n" - " mov r3, #0x0\n" - " strh r2, [r4]\n" - " lsl r1, r2, #0x10\n" - " mov r0, #0xcd\n" - " lsl r0, r0, #0x11\n" - " cmp r1, r0\n" - " ble ._237 @cond_branch\n" - " ldr r1, ._239 + 4\n" - " add r0, r2, r1\n" - " strh r0, [r4]\n" - "._237:\n" - " ldrh r1, [r4]\n" - " mov r2, #0x0\n" - " ldsh r0, [r4, r2]\n" - " cmp r0, #0\n" - " bge ._238 @cond_branch\n" - " ldr r2, ._239 + 8\n" - " add r0, r1, r2\n" - " strh r0, [r4]\n" - "._238:\n" - " mov r0, #0x64\n" - " mul r0, r0, r5\n" - " ldr r1, ._239 + 12\n" - " add r0, r0, r1\n" - " ldrh r1, [r4]\n" - " ldrb r2, [r4, #0x2]\n" - " str r3, [sp]\n" - " str r3, [sp, #0x4]\n" - " str r3, [sp, #0x8]\n" - " str r3, [sp, #0xc]\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " mov r0, #0x1\n" - " strb r0, [r4, #0x3]\n" - " add sp, sp, #0x10\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._240:\n" - " .align 2, 0\n" - "._239:\n" - " .word _nakamuraStatic0\n" - " .word 0xfffffe65\n" - " .word 0x19b\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160258() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " ldr r1, ._242\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._241 @cond_branch\n" - " add r0, r2, #0\n" - " bl debug_sub_816062C\n" - "._241:\n" - " pop {r0}\n" - " bx r0\n" - "._243:\n" - " .align 2, 0\n" - "._242:\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816027C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r4, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r2, r1, #0x18\n" - " ldr r1, ._247\n" - " lsl r0, r4, #0x2\n" - " add r3, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r3, r1]\n" - " cmp r0, #0\n" - " beq ._244 @cond_branch\n" - " lsl r0, r2, #0x18\n" - " asr r0, r0, #0x18\n" - " ldrb r1, [r3, #0x2]\n" - " add r0, r0, r1\n" - " strb r0, [r3, #0x2]\n" - " lsl r0, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x64\n" - " ble ._245 @cond_branch\n" - " mov r0, #0x1\n" - " strb r0, [r3, #0x2]\n" - "._245:\n" - " mov r0, #0x2\n" - " ldrsb r0, [r3, r0]\n" - " cmp r0, #0\n" - " bgt ._246 @cond_branch\n" - " mov r0, #0x64\n" - " strb r0, [r3, #0x2]\n" - "._246:\n" - " mov r0, #0x64\n" - " mul r4, r4, r0\n" - " ldr r0, ._247 + 4\n" - " add r4, r4, r0\n" - " ldr r2, ._247 + 8\n" - " mov r0, #0x0\n" - " ldsh r1, [r3, r0]\n" - " lsl r0, r1, #0x3\n" - " sub r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldrb r1, [r0, #0x13]\n" - " mov r0, #0xca\n" - " lsl r0, r0, #0x1\n" - " add r2, r1, #0\n" - " mul r2, r2, r0\n" - " mov r0, #0x2\n" - " ldrsb r0, [r3, r0]\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._247 + 12\n" - " add r0, r0, r1\n" - " add r2, r2, r0\n" - " add r0, r4, #0\n" - " mov r1, #0x19\n" - " bl SetMonData\n" - " add r0, r4, #0\n" - " bl debug_sub_803F55C\n" - "._244:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._248:\n" - " .align 2, 0\n" - "._247:\n" - " .word _nakamuraStatic0\n" - " .word gPlayerParty\n" - " .word gBaseStats\n" - " .word gExperienceTables\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160308() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add sp, sp, #0xffffff8c\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " mov r2, #0x0\n" - "._252:\n" - " add r1, r2, #1\n" - " lsl r0, r1, #0x18\n" - " lsr r5, r0, #0x18\n" - " mov r8, r1\n" - " cmp r5, #0x5\n" - " bhi ._249 @cond_branch\n" - " mov r0, #0x64\n" - " mov r9, r0\n" - " mov r0, r9\n" - " mul r0, r0, r2\n" - " ldr r7, ._254\n" - " add r6, r0, r7\n" - "._251:\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._250 @cond_branch\n" - " add r0, sp, #0x10\n" - " add r1, r6, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " mov r4, r9\n" - " mul r4, r4, r5\n" - " add r4, r4, r7\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " add r1, sp, #0x10\n" - " mov r2, #0x64\n" - " bl memcpy\n" - "._250:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._251 @cond_branch\n" - "._249:\n" - " mov r1, r8\n" - " lsl r0, r1, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x4\n" - " bls ._252 @cond_branch\n" - " bl CalculatePlayerPartyCount\n" - " ldr r4, ._254 + 4\n" - " ldrb r1, [r4]\n" - " cmp r1, #0\n" - " bne ._253 @cond_branch\n" - " ldr r0, ._254\n" - " str r1, [sp]\n" - " str r1, [sp, #0x4]\n" - " str r1, [sp, #0x8]\n" - " str r1, [sp, #0xc]\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " mov r0, #0x1\n" - " strb r0, [r4]\n" - "._253:\n" - " add sp, sp, #0x74\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._255:\n" - " .align 2, 0\n" - "._254:\n" - " .word gPlayerParty\n" - " .word gPlayerPartyCount\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81603B8() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r7, ._259\n" - " ldrb r4, [r7]\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __udivsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._259 + 4\n" - " add r0, r5, r0\n" - " ldrb r2, [r0]\n" - " lsl r3, r4, #0x1\n" - " add r1, r3, #1\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r3, r3, #0x2\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " add r0, r2, #0\n" - " bl Menu_BlankWindowRect\n" - " cmp r6, #0\n" - " bne ._256 @cond_branch\n" - " cmp r4, #0\n" - " beq ._257 @cond_branch\n" - " ldrb r0, [r7]\n" - " sub r0, r0, #0x1\n" - " b ._258\n" - "._260:\n" - " .align 2, 0\n" - "._259:\n" - " .word _nakamuraData4\n" - " .word _843E5D1\n" - "._257:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, #0x5\n" - "._258:\n" - " strb r0, [r7]\n" - "._256:\n" - " ldr r1, ._264\n" - " cmp r6, #0x1\n" - " bne ._261 @cond_branch\n" - " cmp r4, #0x5\n" - " beq ._262 @cond_branch\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " b ._263\n" - "._265:\n" - " .align 2, 0\n" - "._264:\n" - " .word _nakamuraData4\n" - "._262:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x1\n" - "._263:\n" - " strb r0, [r1]\n" - "._261:\n" - " cmp r6, #0x2\n" - " bne ._266 @cond_branch\n" - " cmp r5, #0\n" - " beq ._267 @cond_branch\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x6\n" - " b ._268\n" - "._267:\n" - " add r0, r4, #0\n" - " add r0, r0, #0xc\n" - "._268:\n" - " strb r0, [r1]\n" - "._266:\n" - " cmp r6, #0x3\n" - " bne ._271 @cond_branch\n" - " cmp r5, #0x2\n" - " beq ._270 @cond_branch\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x6\n" - " strb r0, [r1]\n" - " b ._271\n" - "._270:\n" - " strb r4, [r1]\n" - "._271:\n" - " ldrb r4, [r1]\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __udivsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " ldr r0, ._272\n" - " add r0, r5, r0\n" - " ldrb r0, [r0]\n" - " lsr r1, r1, #0x17\n" - " add r1, r1, #0x1\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r2, #0xff\n" - " bl PrintTriangleCursorWithPalette\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._273:\n" - " .align 2, 0\n" - "._272:\n" - " .word _843E5D1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160498() -{ - asm( - " push {r4, lr}\n" - " ldr r1, ._276\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._274 @cond_branch\n" - " mov r0, #0x0\n" - " b ._281\n" - "._277:\n" - " .align 2, 0\n" - "._276:\n" - " .word gMain\n" - "._274:\n" - " mov r0, #0x80\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._278 @cond_branch\n" - " mov r0, #0x1\n" - " b ._281\n" - "._278:\n" - " mov r0, #0x20\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._280 @cond_branch\n" - " mov r0, #0x2\n" - " b ._281\n" - "._280:\n" - " mov r0, #0x10\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._282 @cond_branch\n" - " mov r0, #0x3\n" - "._281:\n" - " bl debug_sub_81603B8\n" - " mov r0, #0x0\n" - " b ._311\n" - "._282:\n" - " ldrh r1, [r1, #0x30]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._284 @cond_branch\n" - " ldr r4, ._289\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._285 @cond_branch\n" - " mov r1, #0x1\n" - " bl debug_sub_81601C8\n" - "._285:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0x6\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._286 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160258\n" - "._286:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0xc\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._306 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " b ._300\n" - "._290:\n" - " .align 2, 0\n" - "._289:\n" - " .word _nakamuraData4\n" - "._284:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._291 @cond_branch\n" - " ldr r4, ._294\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._304 @cond_branch\n" - " mov r1, #0x1\n" - " neg r1, r1\n" - " b ._293\n" - "._295:\n" - " .align 2, 0\n" - "._294:\n" - " .word _nakamuraData4\n" - "._291:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._296 @cond_branch\n" - " ldr r4, ._301\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._297 @cond_branch\n" - " mov r1, #0xa\n" - " bl debug_sub_81601C8\n" - "._297:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0x6\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._298 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160258\n" - "._298:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0xc\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._306 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " b ._300\n" - "._302:\n" - " .align 2, 0\n" - "._301:\n" - " .word _nakamuraData4\n" - "._296:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._303 @cond_branch\n" - " ldr r4, ._308\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x5\n" - " bhi ._304 @cond_branch\n" - " mov r1, #0xa\n" - " neg r1, r1\n" - "._293:\n" - " bl debug_sub_81601C8\n" - "._304:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0x6\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._305 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160258\n" - "._305:\n" - " ldrb r0, [r4]\n" - " sub r0, r0, #0xc\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x5\n" - " bhi ._306 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " neg r1, r1\n" - "._300:\n" - " bl debug_sub_816027C\n" - "._306:\n" - " ldrb r0, [r4]\n" - " mov r1, #0x6\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_816017C\n" - " mov r0, #0x0\n" - " b ._311\n" - "._309:\n" - " .align 2, 0\n" - "._308:\n" - " .word _nakamuraData4\n" - "._303:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._310 @cond_branch\n" - " mov r0, #0x0\n" - " b ._311\n" - "._310:\n" - " bl debug_sub_8160308\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._311:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816062C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add sp, sp, #0xfffffff0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " mov r0, #0x64\n" - " mov r4, r8\n" - " mul r4, r4, r0\n" - " ldr r0, ._316\n" - " add r4, r4, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - " add r0, r4, #0\n" - " bl GetMonGender\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " ldr r1, ._316 + 4\n" - " lsl r0, r7, #0x3\n" - " sub r0, r0, r7\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldrb r6, [r0, #0x10]\n" - " cmp r6, #0\n" - " beq ._313 @cond_branch\n" - " cmp r6, #0xfe\n" - " beq ._313 @cond_branch\n" - " cmp r6, #0xff\n" - " bne ._314 @cond_branch\n" - "._313:\n" - " mov r0, #0x64\n" - " mov r1, r8\n" - " mul r1, r1, r0\n" - " add r0, r1, #0\n" - " ldr r1, ._316\n" - " add r0, r0, r1\n" - " bl GetMonGender\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._320\n" - "._317:\n" - " .align 2, 0\n" - "._316:\n" - " .word gPlayerParty\n" - " .word gBaseStats\n" - "._314:\n" - " cmp r2, #0\n" - " beq ._318 @cond_branch\n" - " cmp r2, #0xfe\n" - " beq ._319 @cond_branch\n" - " mov r0, #0x0\n" - " b ._320\n" - "._318:\n" - " mov r6, #0xfe\n" - " b ._321\n" - "._319:\n" - " mov r6, #0x0\n" - "._321:\n" - " mov r0, r8\n" - " lsl r0, r0, #0x2\n" - " mov r9, r0\n" - "._322:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " orr r5, r5, r0\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " bl GetGenderFromSpeciesAndPersonality\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, r6\n" - " bne ._322 @cond_branch\n" - " mov r0, #0x64\n" - " mov r4, r8\n" - " mul r4, r4, r0\n" - " ldr r0, ._323\n" - " add r4, r4, r0\n" - " add r0, r4, #0\n" - " mov r1, #0x42\n" - " bl GetMonData\n" - " ldr r0, ._323 + 4\n" - " add r0, r0, r9\n" - " ldrh r1, [r0]\n" - " ldrb r2, [r0, #0x2]\n" - " mov r0, #0x1\n" - " str r0, [sp]\n" - " str r5, [sp, #0x4]\n" - " mov r0, #0x0\n" - " str r0, [sp, #0x8]\n" - " str r0, [sp, #0xc]\n" - " add r0, r4, #0\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " add r0, r6, #0\n" - "._320:\n" - " add sp, sp, #0x10\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._324:\n" - " .align 2, 0\n" - "._323:\n" - " .word gPlayerParty\n" - " .word _nakamuraStatic0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160714() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add sp, sp, #0xfffffff0\n" - " add r6, r0, #0\n" - " mov r9, r1\n" - " mov r7, #0x0\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " mov r2, #0x0\n" - " mov r5, #0x0\n" - "._329:\n" - " add r4, r5, #1\n" - " lsl r1, r4, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r0, r9\n" - " str r2, [sp, #0xc]\n" - " bl GetPokeblockData\n" - " add r1, r0, #0\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, sp\n" - " strh r1, [r0]\n" - " ldr r2, [sp, #0xc]\n" - " cmp r5, #0x5\n" - " beq ._328 @cond_branch\n" - " lsl r0, r1, #0x10\n" - " asr r1, r0, #0x10\n" - " cmp r1, #0\n" - " ble ._326 @cond_branch\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._326:\n" - " cmp r1, #0\n" - " bge ._327 @cond_branch\n" - " mov r0, r8\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - "._327:\n" - " cmp r1, #0\n" - " bne ._328 @cond_branch\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - "._328:\n" - " lsl r0, r4, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._329 @cond_branch\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " ldrh r0, [r0, #0x2]\n" - " lsl r0, r0, #0x10\n" - " asr r0, r0, #0x10\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " mov r4, #0x4\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " mov r1, #0x6\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x31\n" - " bgt ._333 @cond_branch\n" - " mov r0, sp\n" - " mov r4, #0x8\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0x31\n" - " ble ._334 @cond_branch\n" - "._333:\n" - " ldr r1, ._336\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xe\n" - " b ._400\n" - "._337:\n" - " .align 2, 0\n" - "._336:\n" - " .word ContestStatsText_GoldPokeBlock\n" - "._334:\n" - " cmp r7, #0x4\n" - " bne ._338 @cond_branch\n" - " ldr r1, ._340\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xd\n" - " b ._400\n" - "._341:\n" - " .align 2, 0\n" - "._340:\n" - " .word ContestStatsText_WhitePokeBlock\n" - "._338:\n" - " mov r3, #0x0\n" - " mov r5, #0x0\n" - "._343:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x2\n" - " bne ._342 @cond_branch\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - "._342:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x4\n" - " bls ._343 @cond_branch\n" - " cmp r3, #0x3\n" - " beq ._345 @cond_branch\n" - " cmp r2, #0x5\n" - " beq ._345 @cond_branch\n" - " mov r4, r8\n" - " cmp r4, #0x4\n" - " bne ._346 @cond_branch\n" - "._345:\n" - " ldr r1, ._348\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xc\n" - " b ._400\n" - "._349:\n" - " .align 2, 0\n" - "._348:\n" - " .word ContestStatsText_BlackPokeBlock\n" - "._346:\n" - " cmp r7, #0x3\n" - " bne ._350 @cond_branch\n" - " ldr r1, ._352\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xb\n" - " b ._400\n" - "._353:\n" - " .align 2, 0\n" - "._352:\n" - " .word ContestStatsText_GrayPokeBlock\n" - "._350:\n" - " cmp r7, #0x2\n" - " beq ._354 @cond_branch\n" - " mov r0, r8\n" - " cmp r0, #0x2\n" - " bne ._377 @cond_branch\n" - "._354:\n" - " mov r3, #0x6\n" - " mov r2, #0x0\n" - " mov r5, #0x0\n" - "._359:\n" - " lsl r0, r5, #0x1\n" - " add r0, r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._358 @cond_branch\n" - " cmp r3, #0x6\n" - " bne ._357 @cond_branch\n" - " add r3, r5, #0\n" - " b ._358\n" - "._357:\n" - " add r2, r5, #0\n" - "._358:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x4\n" - " bls ._359 @cond_branch\n" - " lsl r0, r3, #0x1\n" - " mov r4, sp\n" - " add r1, r4, r0\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, sp\n" - " mov r4, #0x0\n" - " ldsh r1, [r1, r4]\n" - " mov r4, #0x0\n" - " ldsh r0, [r0, r4]\n" - " cmp r1, r0\n" - " blt ._360 @cond_branch\n" - " add r2, r3, #0\n" - "._360:\n" - " cmp r2, #0\n" - " bne ._361 @cond_branch\n" - " ldr r1, ._363\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x6\n" - " b ._400\n" - "._364:\n" - " .align 2, 0\n" - "._363:\n" - " .word ContestStatsText_PurplePokeBlock\n" - "._361:\n" - " cmp r2, #0x1\n" - " bne ._365 @cond_branch\n" - " ldr r1, ._367\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x7\n" - " b ._400\n" - "._368:\n" - " .align 2, 0\n" - "._367:\n" - " .word ContestStatsText_IndigoPokeBlock\n" - "._365:\n" - " cmp r2, #0x2\n" - " bne ._369 @cond_branch\n" - " ldr r1, ._371\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x8\n" - " b ._400\n" - "._372:\n" - " .align 2, 0\n" - "._371:\n" - " .word ContestStatsText_BrownPokeBlock\n" - "._369:\n" - " cmp r2, #0x3\n" - " bne ._373 @cond_branch\n" - " ldr r1, ._375\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x9\n" - " b ._400\n" - "._376:\n" - " .align 2, 0\n" - "._375:\n" - " .word ContestStatsText_LiteBluePokeBlock\n" - "._373:\n" - " cmp r2, #0x4\n" - " bne ._377 @cond_branch\n" - " ldr r1, ._379\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0xa\n" - " b ._400\n" - "._380:\n" - " .align 2, 0\n" - "._379:\n" - " .word ContestStatsText_OlivePokeBlock\n" - "._377:\n" - " cmp r7, #0x1\n" - " beq ._381 @cond_branch\n" - " mov r0, r8\n" - " cmp r0, #0x1\n" - " bne ._399 @cond_branch\n" - "._381:\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._383 @cond_branch\n" - " ldr r1, ._385\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x1\n" - " b ._400\n" - "._386:\n" - " .align 2, 0\n" - "._385:\n" - " .word ContestStatsText_RedPokeBlock\n" - "._383:\n" - " mov r0, sp\n" - " ldrh r0, [r0, #0x2]\n" - " cmp r0, #0\n" - " beq ._387 @cond_branch\n" - " ldr r1, ._389\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x2\n" - " b ._400\n" - "._390:\n" - " .align 2, 0\n" - "._389:\n" - " .word ContestStatsText_BluePokeBlock\n" - "._387:\n" - " mov r0, sp\n" - " mov r4, #0x4\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0\n" - " beq ._391 @cond_branch\n" - " ldr r1, ._393\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x3\n" - " b ._400\n" - "._394:\n" - " .align 2, 0\n" - "._393:\n" - " .word ContestStatsText_PinkPokeBlock\n" - "._391:\n" - " mov r0, sp\n" - " mov r1, #0x6\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0\n" - " beq ._395 @cond_branch\n" - " ldr r1, ._397\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x4\n" - " b ._400\n" - "._398:\n" - " .align 2, 0\n" - "._397:\n" - " .word ContestStatsText_GreenPokeBlock\n" - "._395:\n" - " mov r0, sp\n" - " mov r4, #0x8\n" - " ldsh r0, [r0, r4]\n" - " cmp r0, #0\n" - " beq ._399 @cond_branch\n" - " ldr r1, ._401\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " b ._400\n" - "._402:\n" - " .align 2, 0\n" - "._401:\n" - " .word ContestStatsText_YellowPokeBlock\n" - "._399:\n" - " ldr r1, ._403\n" - " add r0, r6, #0\n" - " bl StringCopy\n" - " mov r0, #0x0\n" - "._400:\n" - " add sp, sp, #0x10\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._404:\n" - " .align 2, 0\n" - "._403:\n" - " .word gOtherText_FiveQuestions\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_816097C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add r7, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r5, r1, #0x10\n" - " mov r6, #0x0\n" - " mov r1, #0x0\n" - "._405:\n" - " add r0, r7, r6\n" - " strb r1, [r0]\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x3\n" - " bls ._405 @cond_branch\n" - " mov r0, #0xff\n" - " strb r0, [r7, #0x4]\n" - " lsl r0, r5, #0x10\n" - " asr r0, r0, #0x10\n" - " cmp r0, #0\n" - " bne ._406 @cond_branch\n" - " mov r0, #0xa1\n" - " strb r0, [r7, #0x3]\n" - " b ._414\n" - "._406:\n" - " cmp r0, #0\n" - " ble ._408 @cond_branch\n" - " mov r4, #0x64\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " mov r6, #0x0\n" - "._412:\n" - " lsl r5, r5, #0x10\n" - " asr r0, r5, #0x10\n" - " lsl r4, r4, #0x10\n" - " asr r1, r4, #0x10\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " mov r1, r8\n" - " cmp r1, #0\n" - " bne ._410 @cond_branch\n" - " cmp r6, #0x2\n" - " beq ._410 @cond_branch\n" - " cmp r2, #0\n" - " beq ._411 @cond_branch\n" - "._410:\n" - " add r1, r6, r7\n" - " add r0, r2, #0\n" - " sub r0, r0, #0x5f\n" - " strb r0, [r1, #0x1]\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - "._411:\n" - " asr r0, r5, #0x10\n" - " asr r4, r4, #0x10\n" - " add r1, r4, #0\n" - " bl __modsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0xa\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x2\n" - " bls ._412 @cond_branch\n" - " b ._414\n" - "._408:\n" - " cmp r0, #0\n" - " bge ._414 @cond_branch\n" - " neg r0, r0\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " mov r4, #0x64\n" - " mov r1, #0x0\n" - " mov r8, r1\n" - " mov r6, #0x0\n" - "._419:\n" - " lsl r5, r5, #0x10\n" - " asr r0, r5, #0x10\n" - " lsl r4, r4, #0x10\n" - " asr r1, r4, #0x10\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " mov r1, r8\n" - " lsl r0, r1, #0x10\n" - " add r3, r0, #0\n" - " cmp r3, #0\n" - " bne ._416 @cond_branch\n" - " cmp r6, #0x2\n" - " beq ._416 @cond_branch\n" - " cmp r2, #0\n" - " beq ._417 @cond_branch\n" - "._416:\n" - " add r1, r6, r7\n" - " add r0, r2, #0\n" - " sub r0, r0, #0x5f\n" - " strb r0, [r1, #0x1]\n" - " cmp r3, #0\n" - " bne ._418 @cond_branch\n" - " mov r0, #0xae\n" - " strb r0, [r1]\n" - "._418:\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - "._417:\n" - " asr r0, r5, #0x10\n" - " asr r4, r4, #0x10\n" - " add r1, r4, #0\n" - " bl __modsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0xa\n" - " bl __divsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r0, r6, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x2\n" - " bls ._419 @cond_branch\n" - "._414:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160A80() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r2, r0, #0\n" - " ldr r1, ._422\n" - " cmp r0, #0\n" - " bne ._420 @cond_branch\n" - " ldr r4, ._422 + 4\n" - " ldrb r1, [r1, #0x1]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._423:\n" - " .align 2, 0\n" - "._422:\n" - " .word _nakamuraStatic18\n" - " .word gStringVar1\n" - "._420:\n" - " cmp r0, #0x1\n" - " bne ._424 @cond_branch\n" - " ldr r4, ._426\n" - " ldrb r1, [r1, #0x2]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._427:\n" - " .align 2, 0\n" - "._426:\n" - " .word gStringVar1\n" - "._424:\n" - " cmp r0, #0x2\n" - " bne ._428 @cond_branch\n" - " ldr r4, ._430\n" - " ldrb r1, [r1, #0x3]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._431:\n" - " .align 2, 0\n" - "._430:\n" - " .word gStringVar1\n" - "._428:\n" - " cmp r0, #0x3\n" - " bne ._432 @cond_branch\n" - " ldr r4, ._434\n" - " ldrb r1, [r1, #0x4]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._435:\n" - " .align 2, 0\n" - "._434:\n" - " .word gStringVar1\n" - "._432:\n" - " cmp r0, #0x4\n" - " bne ._436 @cond_branch\n" - " ldr r4, ._438\n" - " ldrb r1, [r1, #0x5]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " b ._440\n" - "._439:\n" - " .align 2, 0\n" - "._438:\n" - " .word gStringVar1\n" - "._436:\n" - " cmp r2, #0x5\n" - " bne ._440 @cond_branch\n" - " ldr r4, ._441\n" - " ldrb r1, [r1, #0x6]\n" - " add r0, r4, #0\n" - " bl debug_sub_816097C\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - "._440:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._442:\n" - " .align 2, 0\n" - "._441:\n" - " .word gStringVar1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160B50() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r3, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r4, r1, #0\n" - " ldr r2, ._445\n" - " cmp r0, #0\n" - " bne ._443 @cond_branch\n" - " ldrb r0, [r2, #0x1]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x1]\n" - " b ._455\n" - "._446:\n" - " .align 2, 0\n" - "._445:\n" - " .word _nakamuraStatic18\n" - "._443:\n" - " cmp r0, #0x1\n" - " bne ._447 @cond_branch\n" - " ldrb r0, [r2, #0x2]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x2]\n" - " b ._455\n" - "._447:\n" - " cmp r0, #0x2\n" - " bne ._449 @cond_branch\n" - " ldrb r0, [r2, #0x3]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x3]\n" - " b ._455\n" - "._449:\n" - " cmp r0, #0x3\n" - " bne ._451 @cond_branch\n" - " ldrb r0, [r2, #0x4]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x4]\n" - " b ._455\n" - "._451:\n" - " cmp r0, #0x4\n" - " bne ._453 @cond_branch\n" - " ldrb r0, [r2, #0x5]\n" - " add r0, r0, r1\n" - " strb r0, [r2, #0x5]\n" - " b ._455\n" - "._453:\n" - " cmp r3, #0x5\n" - " bne ._455 @cond_branch\n" - " ldrb r0, [r2, #0x6]\n" - " add r0, r0, r4\n" - " strb r0, [r2, #0x6]\n" - "._455:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160BB0() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r5, ._456\n" - " ldr r4, ._456 + 4\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " bl debug_sub_8160714\n" - " strb r0, [r4]\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._457:\n" - " .align 2, 0\n" - "._456:\n" - " .word gStringVar1\n" - " .word _nakamuraStatic18\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160BE4() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " bl debug_sub_8160BB0\n" - " ldr r0, ._459\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 4\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 8\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 16\n" - " mov r1, #0x2\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._459 + 20\n" - " mov r1, #0x2\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - "._458:\n" - " add r0, r4, #0\n" - " bl debug_sub_8160A80\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._458 @cond_branch\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xb\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._460:\n" - " .align 2, 0\n" - "._459:\n" - " .word gContestStatsText_Spicy\n" - " .word gContestStatsText_Dry\n" - " .word gContestStatsText_Sweet\n" - " .word gContestStatsText_Bitter\n" - " .word gContestStatsText_Sour\n" - " .word gContestStatsText_Tasty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160C7C() -{ - asm( - " push {r4, lr}\n" - " ldr r2, ._469\n" - " mov r1, #0x0\n" - " ldrb r0, [r2]\n" - " cmp r0, #0xc\n" - " bne ._467 @cond_branch\n" - " ldrb r0, [r2, #0x1]\n" - " cmp r0, #0x2\n" - " bne ._462 @cond_branch\n" - " mov r1, #0x1\n" - "._462:\n" - " ldrb r0, [r2, #0x3]\n" - " cmp r0, #0x2\n" - " bne ._463 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._463:\n" - " ldrb r0, [r2, #0x4]\n" - " cmp r0, #0x2\n" - " bne ._464 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._464:\n" - " ldrb r0, [r2, #0x2]\n" - " cmp r0, #0x2\n" - " bne ._465 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._465:\n" - " ldrb r0, [r2, #0x5]\n" - " cmp r0, #0x2\n" - " bne ._466 @cond_branch\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - "._466:\n" - " cmp r1, #0x3\n" - " beq ._467 @cond_branch\n" - " mov r0, #0x2\n" - " strb r0, [r2, #0x1]\n" - " strb r0, [r2, #0x3]\n" - " strb r0, [r2, #0x4]\n" - "._467:\n" - " add r0, r2, #0\n" - " bl sub_810CA34\n" - " bl debug_sub_8160BB0\n" - " mov r4, #0x0\n" - "._468:\n" - " add r0, r4, #0\n" - " bl debug_sub_8160A80\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._468 @cond_branch\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._470:\n" - " .align 2, 0\n" - "._469:\n" - " .word _nakamuraStatic18\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160CF4() -{ - asm( - " push {lr}\n" - " ldr r2, ._473\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._471 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._472\n" - "._474:\n" - " .align 2, 0\n" - "._473:\n" - " .word gMain\n" - "._471:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._475 @cond_branch\n" - " mov r0, #0x1\n" - "._472:\n" - " bl Menu_MoveCursor\n" - " mov r0, #0x0\n" - " b ._484\n" - "._475:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._477 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " neg r1, r1\n" - " b ._478\n" - "._477:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._479 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - "._478:\n" - " bl debug_sub_8160B50\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8160A80\n" - " bl debug_sub_8160BB0\n" - " mov r0, #0x0\n" - " b ._484\n" - "._479:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._481 @cond_branch\n" - " bl debug_sub_8160C7C\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x0\n" - " b ._484\n" - "._481:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._483 @cond_branch\n" - " mov r0, #0x0\n" - " b ._484\n" - "._483:\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._484:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -u8 debug_sub_8160D98() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl debug_sub_8160BE4\n" - " ldr r1, ._485\n" - " ldr r0, ._485 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._486:\n" - " .align 2, 0\n" - "._485:\n" - " .word gMenuCallback\n" - " .word debug_sub_8160CF4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160DC0() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x16\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._487\n" - " mov r1, #0xb\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 4\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 8\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 16\n" - " mov r1, #0x2\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 20\n" - " mov r1, #0x2\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 24\n" - " mov r1, #0x2\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 28\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r0, ._487 + 32\n" - " mov r1, #0x2\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._488:\n" - " .align 2, 0\n" - "._487:\n" - " .word gOtherText_Slash\n" - " .word Str_843E5F2\n" - " .word Str_843E5FB\n" - " .word Str_843E606\n" - " .word Str_843E611\n" - " .word Str_843E61C\n" - " .word Str_843E627\n" - " .word Str_843E637\n" - " .word Str_843E632\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8160E50() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r5, ._489\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " add r2, r5, #0\n" - " bl GetMonData\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, #0xc\n" - " mov r1, #0x1\n" - " mov r2, #0x15\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " mov r1, #0xb\n" - " mul r0, r0, r1\n" - " ldr r1, ._489 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xc\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1a\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x3\n" - " mov r2, #0x11\n" - " mov r3, #0x4\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1b\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x5\n" - " mov r2, #0x11\n" - " mov r3, #0x6\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1c\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x7\n" - " mov r2, #0x11\n" - " mov r3, #0x8\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1d\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x9\n" - " mov r2, #0x11\n" - " mov r3, #0xa\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1e\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0xb\n" - " mov r2, #0x11\n" - " mov r3, #0xc\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x1f\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0xd\n" - " mov r2, #0x11\n" - " mov r3, #0xe\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0xf\n" - " mov r2, #0x11\n" - " mov r3, #0x10\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x20\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0xd\n" - " mov r1, #0x11\n" - " mov r2, #0x11\n" - " mov r3, #0x12\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0xd\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._490:\n" - " .align 2, 0\n" - "._489:\n" - " .word gStringVar1\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8161028() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._491 @cond_branch\n" - " ldr r0, ._496\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._492 @cond_branch\n" - " mov r5, #0x5\n" - "._494:\n" - " lsl r0, r5, #0x10\n" - " asr r4, r0, #0x10\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._496 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._493 @cond_branch\n" - " sub r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " cmp r0, #0\n" - " bge ._494 @cond_branch\n" - "._492:\n" - " ldr r1, ._496\n" - " ldrb r0, [r1]\n" - " add r0, r0, r6\n" - " strb r0, [r1]\n" - " b ._506\n" - "._497:\n" - " .align 2, 0\n" - "._496:\n" - " .word _nakamuraData5\n" - " .word gPlayerParty\n" - "._491:\n" - " cmp r1, #0x1\n" - " bne ._506 @cond_branch\n" - " ldr r4, ._501\n" - " ldrb r0, [r4]\n" - " add r0, r0, r6\n" - " strb r0, [r4]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x6\n" - " bne ._499 @cond_branch\n" - " mov r0, #0x0\n" - " b ._500\n" - "._502:\n" - " .align 2, 0\n" - "._501:\n" - " .word _nakamuraData5\n" - "._493:\n" - " ldr r0, ._504\n" - " strb r5, [r0]\n" - " b ._506\n" - "._505:\n" - " .align 2, 0\n" - "._504:\n" - " .word _nakamuraData5\n" - "._499:\n" - " ldrb r1, [r4]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._507\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._506 @cond_branch\n" - "._500:\n" - " strb r0, [r4]\n" - "._506:\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._508:\n" - " .align 2, 0\n" - "._507:\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81610BC() -{ - asm( - " push {lr}\n" - " ldr r0, ._511\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._509 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._510\n" - "._512:\n" - " .align 2, 0\n" - "._511:\n" - " .word gMain\n" - "._509:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._513 @cond_branch\n" - " mov r0, #0x1\n" - "._510:\n" - " bl debug_sub_8161028\n" - " ldr r0, ._515\n" - " ldrb r1, [r0]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._515 + 4\n" - " add r0, r0, r1\n" - " bl debug_sub_8160E50\n" - " mov r0, #0x0\n" - " b ._518\n" - "._516:\n" - " .align 2, 0\n" - "._515:\n" - " .word _nakamuraData5\n" - " .word gPlayerParty\n" - "._513:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._517 @cond_branch\n" - " mov r0, #0x0\n" - " b ._518\n" - "._517:\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._518:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void DebugMenu_EffortValues() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " ldr r1, ._519\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " bl debug_sub_8160DC0\n" - " ldr r0, ._519 + 4\n" - " bl debug_sub_8160E50\n" - " ldr r1, ._519 + 8\n" - " ldr r0, ._519 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._520:\n" - " .align 2, 0\n" - "._519:\n" - " .word _nakamuraData5\n" - " .word gPlayerParty\n" - " .word gMenuCallback\n" - " .word debug_sub_81610BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8161160() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r7, #0x0\n" - " ldr r2, ._523\n" - " ldr r1, ._523 + 4\n" - " ldrh r0, [r2]\n" - " ldrh r3, [r1]\n" - " cmp r0, r3\n" - " bhi ._521 @cond_branch\n" - " add r6, r0, #0\n" - " ldrh r5, [r1]\n" - " b ._522\n" - "._524:\n" - " .align 2, 0\n" - "._523:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - "._521:\n" - " ldrh r6, [r1]\n" - " ldrh r5, [r2]\n" - "._522:\n" - " mov r4, #0x0\n" - " ldr r0, ._529\n" - " ldrh r0, [r0]\n" - " cmp r4, r0\n" - " bcs ._525 @cond_branch\n" - " ldr r0, ._529 + 4\n" - " mov r8, r0\n" - "._528:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r2, r8\n" - " ldrh r1, [r2]\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, r6\n" - " bcc ._527 @cond_branch\n" - " cmp r0, r5\n" - " bhi ._527 @cond_branch\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - "._527:\n" - " add r4, r4, #0x1\n" - " ldr r0, ._529\n" - " ldrh r0, [r0]\n" - " cmp r4, r0\n" - " bcc ._528 @cond_branch\n" - "._525:\n" - " add r0, r7, #0\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._530:\n" - " .align 2, 0\n" - "._529:\n" - " .word _nakamuraDataA\n" - " .word _nakamuraDataC\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81611D8() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xf\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._531\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 4\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 8\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 12\n" - " mov r1, #0x2\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 16\n" - " mov r1, #0x2\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r0, ._531 + 20\n" - " mov r1, #0xd\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " ldr r4, ._531 + 24\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xe\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._532:\n" - " .align 2, 0\n" - "._531:\n" - " .word Str_843E642\n" - " .word Str_843E647\n" - " .word Str_843E65A\n" - " .word Str_843E64C\n" - " .word Str_843E651\n" - " .word Str_843E655\n" - " .word Str_843E658\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8161290() -{ - asm( - " push {r4, lr}\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r4, ._533\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._534:\n" - " .align 2, 0\n" - "._533:\n" - " .word gStringVar1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81612B8() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r2, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " lsl r1, r1, #0x18\n" - " asr r1, r1, #0x18\n" - " ldrh r2, [r0]\n" - " add r1, r1, r2\n" - " strh r1, [r0]\n" - " ldr r5, ._535\n" - " ldrh r1, [r0]\n" - " add r0, r5, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x8\n" - " add r2, r4, #0\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._536:\n" - " .align 2, 0\n" - "._535:\n" - " .word gStringVar1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_81612EC() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r2, ._540\n" - " ldrh r1, [r2, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " mov r5, #0x1\n" - " cmp r0, #0\n" - " beq ._537 @cond_branch\n" - " mov r5, #0x64\n" - "._537:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._538 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._539\n" - "._541:\n" - " .align 2, 0\n" - "._540:\n" - " .word gMain\n" - "._538:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._542 @cond_branch\n" - " mov r0, #0x1\n" - "._539:\n" - " bl Menu_MoveCursor\n" - "._565:\n" - " mov r0, #0x0\n" - " b ._543\n" - "._542:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._544 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " asr r4, r0, #0x18\n" - " cmp r4, #0\n" - " bne ._545 @cond_branch\n" - " ldr r0, ._550\n" - " neg r1, r5\n" - " mov r2, #0x1\n" - " bl debug_sub_81612B8\n" - "._545:\n" - " cmp r4, #0x1\n" - " bne ._546 @cond_branch\n" - " ldr r0, ._550 + 4\n" - " neg r1, r5\n" - " mov r2, #0x3\n" - " bl debug_sub_81612B8\n" - "._546:\n" - " cmp r4, #0x2\n" - " bne ._547 @cond_branch\n" - " ldr r0, ._550 + 8\n" - " neg r1, r5\n" - " mov r2, #0x5\n" - " bl debug_sub_81612B8\n" - "._547:\n" - " cmp r4, #0x3\n" - " bne ._565 @cond_branch\n" - " ldr r0, ._550 + 12\n" - " neg r1, r5\n" - " mov r2, #0x7\n" - " bl debug_sub_81612B8\n" - " b ._565\n" - "._551:\n" - " .align 2, 0\n" - "._550:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - " .word _nakamuraDataC\n" - " .word _nakamuraDataA\n" - "._544:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._552 @cond_branch\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " asr r4, r0, #0x18\n" - " cmp r4, #0\n" - " bne ._553 @cond_branch\n" - " ldr r0, ._558\n" - " add r1, r5, #0\n" - " mov r2, #0x1\n" - " bl debug_sub_81612B8\n" - "._553:\n" - " cmp r4, #0x1\n" - " bne ._554 @cond_branch\n" - " ldr r0, ._558 + 4\n" - " add r1, r5, #0\n" - " mov r2, #0x3\n" - " bl debug_sub_81612B8\n" - "._554:\n" - " cmp r4, #0x2\n" - " bne ._555 @cond_branch\n" - " ldr r0, ._558 + 8\n" - " add r1, r5, #0\n" - " mov r2, #0x5\n" - " bl debug_sub_81612B8\n" - "._555:\n" - " cmp r4, #0x3\n" - " bne ._565 @cond_branch\n" - " ldr r0, ._558 + 12\n" - " add r1, r5, #0\n" - " mov r2, #0x7\n" - " bl debug_sub_81612B8\n" - " b ._565\n" - "._559:\n" - " .align 2, 0\n" - "._558:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - " .word _nakamuraDataC\n" - " .word _nakamuraDataA\n" - "._552:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._560 @cond_branch\n" - " ldr r0, ._563\n" - " ldrh r0, [r0]\n" - " cmp r0, #0\n" - " beq ._565 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl debug_sub_8161160\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl debug_sub_8161290\n" - " b ._565\n" - "._564:\n" - " .align 2, 0\n" - "._563:\n" - " .word _nakamuraDataC\n" - "._560:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._565 @cond_branch\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._543:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void DebugMenu_RandomNumberTest() -{ - asm( - " push {lr}\n" - " ldr r0, ._566\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r0, ._566 + 4\n" - " strh r1, [r0]\n" - " ldr r0, ._566 + 8\n" - " strh r1, [r0]\n" - " ldr r0, ._566 + 12\n" - " strh r1, [r0]\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_EraseWindowRect\n" - " bl debug_sub_81611D8\n" - " ldr r1, ._566 + 16\n" - " ldr r0, ._566 + 20\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._567:\n" - " .align 2, 0\n" - "._566:\n" - " .word _nakamuraData6\n" - " .word _nakamuraData8\n" - " .word _nakamuraDataC\n" - " .word _nakamuraDataA\n" - " .word gMenuCallback\n" - " .word debug_sub_81612EC+1\n" - "\n" - ); -} - #endif // DEBUG diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index bdfc8f9c5..b3885ff76 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -5,2312 +5,8 @@ __attribute__((unused)) static u8 gDebug_03000724; __attribute__((unused)) static u8 gDebug_03000725; __attribute__((unused)) static u8 gDebug_03000726; -__attribute__((naked)) -void InitNoharaDebugMenu() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x13\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._1\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x12\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._1 + 4\n" - " ldr r0, ._1 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._2:\n" - " .align 2, 0\n" - "._1:\n" - " .word gUnknown_Debug_083C4938\n" - " .word gMenuCallback\n" - " .word debug_sub_808F414+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F414() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._3 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " beq ._4 @cond_branch\n" - " ldr r2, ._6\n" - " ldr r0, ._6 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - "._3:\n" - " mov r0, #0x0\n" - " b ._5\n" - "._7:\n" - " .align 2, 0\n" - "._6:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C4938\n" - "._4:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._5:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_TV() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r1, ._8\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xa\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._8 + 4\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x9\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._8 + 8\n" - " ldr r0, ._8 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._9:\n" - " .align 2, 0\n" - "._8:\n" - " .word gDebug_03000726\n" - " .word gUnknown_Debug_083C4B8C\n" - " .word gMenuCallback\n" - " .word debug_sub_808F4AC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F4AC() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._10 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " beq ._11 @cond_branch\n" - " ldr r2, ._13\n" - " ldr r0, ._13 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - "._10:\n" - " mov r0, #0x0\n" - " b ._12\n" - "._14:\n" - " .align 2, 0\n" - "._13:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C4B8C\n" - "._11:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._12:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F4EC() -{ - asm( - " push {lr}\n" - " bl debug_sub_808F6BC\n" - " ldr r0, ._15\n" - " bl sub_8071F40\n" - " mov r0, #0x3\n" - " mov r1, #0x3\n" - " mov r2, #0x1\n" - " bl DisplayYesNoMenu\n" - " ldr r1, ._15 + 4\n" - " ldr r0, ._15 + 8\n" - " str r0, [r1]\n" - " pop {r0}\n" - " bx r0\n" - "._16:\n" - " .align 2, 0\n" - "._15:\n" - " .word gUnknown_Debug_083C4980\n" - " .word gMenuCallback\n" - " .word debug_sub_808F648+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F518() -{ - asm( - " push {r4, lr}\n" - " mov r2, #0x0\n" - " ldr r4, ._20\n" - " ldr r3, ._20 + 4\n" - "._19:\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x2\n" - " add r1, r0, r4\n" - " add r0, r1, r3\n" - " ldrb r0, [r0]\n" - " sub r0, r0, #0x15\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x13\n" - " bhi ._18 @cond_branch\n" - " ldr r0, ._20 + 8\n" - " add r1, r1, r0\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._18 @cond_branch\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._18:\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x17\n" - " bls ._19 @cond_branch\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._21:\n" - " .align 2, 0\n" - "._20:\n" - " .word gSaveBlock1\n" - " .word 0x2738\n" - " .word 0x2739\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F560() -{ - asm( - " push {r4, lr}\n" - " mov r1, #0x0\n" - " ldr r4, ._23\n" - " ldr r3, ._23 + 4\n" - " mov r2, #0x0\n" - "._22:\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r4\n" - " add r0, r0, r3\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x17\n" - " bls ._22 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._24:\n" - " .align 2, 0\n" - "._23:\n" - " .word gSaveBlock1\n" - " .word 0x2739\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F594() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r2, #0x0\n" - " ldr r6, ._27\n" - " ldr r5, ._27 + 4\n" - " ldr r4, ._27 + 8\n" - " mov r3, #0x1\n" - "._26:\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x2\n" - " add r1, r0, r6\n" - " add r0, r1, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._25 @cond_branch\n" - " add r0, r1, r4\n" - " strb r3, [r0]\n" - "._25:\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x17\n" - " bls ._26 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._28:\n" - " .align 2, 0\n" - "._27:\n" - " .word gSaveBlock1\n" - " .word 0x2738\n" - " .word 0x2739\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F5D8() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r4, #0x0\n" - " ldr r6, ._30\n" - " ldr r7, ._30 + 4\n" - " add r0, r7, #1\n" - " mov r8, r0\n" - "._29:\n" - " ldr r5, ._30 + 8\n" - " strh r4, [r5]\n" - " bl GetSlotMachineId\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r0, r4, #0x1\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x2\n" - " add r1, r0, r7\n" - " ldrb r1, [r1]\n" - " add r0, r0, r8\n" - " ldrb r2, [r0]\n" - " add r0, r6, #0\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0xb\n" - " bls ._29 @cond_branch\n" - " mov r0, #0x0\n" - " strh r0, [r5]\n" - " ldr r1, ._30 + 12\n" - " ldr r0, ._30 + 16\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._31:\n" - " .align 2, 0\n" - "._30:\n" - " .word gStringVar1\n" - " .word gUnknown_Debug_083C4BD4\n" - " .word gSpecialVar_0x8004\n" - " .word gMenuCallback\n" - " .word debug_sub_8090278+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F648() -{ - asm( - " push {lr}\n" - " ldr r0, ._35\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._32 @cond_branch\n" - " mov r0, #0xa\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_EraseWindowRect\n" - " ldr r0, ._35 + 4\n" - " ldrb r1, [r0]\n" - " mov r2, #0x1\n" - " eor r1, r1, r2\n" - " strb r1, [r0]\n" - " cmp r1, #0\n" - " beq ._33 @cond_branch\n" - " bl debug_sub_808F7B4\n" - " b ._40\n" - "._36:\n" - " .align 2, 0\n" - "._35:\n" - " .word gMain\n" - " .word gDebug_03000726\n" - "._33:\n" - " bl debug_sub_808F6BC\n" - " b ._40\n" - "._32:\n" - " bl Menu_ProcessInputNoWrap_\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._43 @cond_branch\n" - " cmp r1, r0\n" - " bgt ._39 @cond_branch\n" - " sub r0, r0, #0x1\n" - " cmp r1, r0\n" - " beq ._40 @cond_branch\n" - " b ._43\n" - "._39:\n" - " cmp r1, #0\n" - " beq ._42 @cond_branch\n" - " b ._43\n" - "._40:\n" - " mov r0, #0x0\n" - " b ._44\n" - "._42:\n" - " bl debug_sub_808F518\n" - "._43:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._44:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F6BC() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r4, #0x0\n" - " ldr r5, ._48\n" - " ldr r6, ._48 + 4\n" - "._45:\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldr r1, ._48 + 8\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xa0\n" - " lsl r0, r0, #0x14\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x4\n" - " bls ._45 @cond_branch\n" - " mov r4, #0x5\n" - " ldr r5, ._48\n" - " ldr r6, ._48 + 4\n" - "._50:\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldr r1, ._48 + 8\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " cmp r4, #0xe\n" - " bhi ._46 @cond_branch\n" - " lsl r1, r4, #0x19\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " b ._47\n" - "._49:\n" - " .align 2, 0\n" - "._48:\n" - " .word gStringVar1\n" - " .word gSaveBlock1\n" - " .word 0x2738\n" - "._46:\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xec\n" - " lsl r0, r0, #0x18\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x6\n" - " bl Menu_PrintText\n" - "._47:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x17\n" - " bls ._50 @cond_branch\n" - " mov r4, #0x0\n" - " ldr r5, ._53\n" - "._55:\n" - " ldr r0, ._53 + 4\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r0\n" - " ldr r0, ._53 + 8\n" - " add r1, r1, r0\n" - " ldrb r1, [r1]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " cmp r4, #0x7\n" - " bhi ._51 @cond_branch\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xa0\n" - " lsl r0, r0, #0x14\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " b ._52\n" - "._54:\n" - " .align 2, 0\n" - "._53:\n" - " .word gStringVar1\n" - " .word gSaveBlock1\n" - " .word 0x2abc\n" - "._51:\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xfa\n" - " lsl r0, r0, #0x18\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0xc\n" - " bl Menu_PrintText\n" - "._52:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0xf\n" - " bls ._55 @cond_branch\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F7B4() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r4, #0x0\n" - " ldr r5, ._59\n" - " ldr r6, ._59 + 4\n" - "._56:\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldr r1, ._59 + 8\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xa0\n" - " lsl r0, r0, #0x14\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x4\n" - " bls ._56 @cond_branch\n" - " mov r4, #0x5\n" - " ldr r5, ._59\n" - " ldr r6, ._59 + 4\n" - "._61:\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldr r1, ._59 + 8\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " cmp r4, #0xe\n" - " bhi ._57 @cond_branch\n" - " lsl r1, r4, #0x19\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " b ._58\n" - "._60:\n" - " .align 2, 0\n" - "._59:\n" - " .word gStringVar1\n" - " .word gSaveBlock1\n" - " .word 0x2739\n" - "._57:\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xec\n" - " lsl r0, r0, #0x18\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x6\n" - " bl Menu_PrintText\n" - "._58:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x17\n" - " bls ._61 @cond_branch\n" - " mov r4, #0x0\n" - " ldr r5, ._64\n" - "._66:\n" - " ldr r0, ._64 + 4\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r0\n" - " ldr r0, ._64 + 8\n" - " add r1, r1, r0\n" - " ldrb r1, [r1]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " cmp r4, #0x7\n" - " bhi ._62 @cond_branch\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xa0\n" - " lsl r0, r0, #0x14\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " b ._63\n" - "._65:\n" - " .align 2, 0\n" - "._64:\n" - " .word gStringVar1\n" - " .word gSaveBlock1\n" - " .word 0x2abd\n" - "._62:\n" - " lsl r1, r4, #0x19\n" - " mov r0, #0xfa\n" - " lsl r0, r0, #0x18\n" - " add r1, r1, r0\n" - " lsr r1, r1, #0x18\n" - " add r0, r5, #0\n" - " mov r2, #0xc\n" - " bl Menu_PrintText\n" - "._63:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0xf\n" - " bls ._66 @cond_branch\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F8AC() -{ - asm( - " push {lr}\n" - " ldr r0, ._67\n" - " bl FlagSet\n" - " ldr r0, ._67 + 4\n" - " bl FlagSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._68:\n" - " .align 2, 0\n" - "._67:\n" - " .word 0x832\n" - " .word 0x818\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F8CC() -{ - asm( - " push {r4, lr}\n" - " ldr r1, ._69\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " ldr r0, ._69 + 4\n" - " bl sub_8071F40\n" - " mov r0, #0xd\n" - " mov r1, #0x6\n" - " mov r2, #0x1a\n" - " mov r3, #0x8\n" - " bl Menu_BlankWindowRect\n" - " ldr r0, ._69 + 8\n" - " ldr r0, [r0]\n" - " mov r1, #0xe\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " mov r0, #0x16\n" - " mov r1, #0x1\n" - " mov r2, #0x18\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._69 + 12\n" - " add r0, r4, #0\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x17\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r1, ._69 + 16\n" - " ldr r0, ._69 + 20\n" - " str r0, [r1]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._70:\n" - " .align 2, 0\n" - "._69:\n" - " .word gDebug_03000724\n" - " .word gUnknown_Debug_083C49CA\n" - " .word gUnknown_Debug_083C4ABD+0xf\n" - " .word gStringVar1\n" - " .word gMenuCallback\n" - " .word debug_sub_808F93C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F93C() -{ - asm( - " push {r4, lr}\n" - " mov r2, #0x0\n" - " ldr r0, ._83\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._71 @cond_branch\n" - " ldr r1, ._83 + 4\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x18\n" - " bne ._72 @cond_branch\n" - " strb r2, [r1]\n" - "._72:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._71:\n" - " ldr r0, ._83\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._73 @cond_branch\n" - " ldr r1, ._83 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._74 @cond_branch\n" - " mov r0, #0x18\n" - " strb r0, [r1]\n" - "._74:\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._73:\n" - " ldr r0, ._83\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._75 @cond_branch\n" - " ldr r1, ._83 + 8\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0xc\n" - " bne ._76 @cond_branch\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - "._76:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._75:\n" - " ldr r0, ._83\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._77 @cond_branch\n" - " ldr r1, ._83 + 8\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._78 @cond_branch\n" - " mov r0, #0xc\n" - " strb r0, [r1]\n" - "._78:\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._77:\n" - " cmp r2, #0\n" - " beq ._79 @cond_branch\n" - " mov r0, #0xd\n" - " mov r1, #0x6\n" - " mov r2, #0x1a\n" - " mov r3, #0x8\n" - " bl Menu_BlankWindowRect\n" - " ldr r1, ._83 + 12\n" - " ldr r0, ._83 + 8\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0xe\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " mov r0, #0x16\n" - " mov r1, #0x1\n" - " mov r2, #0x18\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._83 + 16\n" - " ldr r0, ._83 + 4\n" - " ldrb r1, [r0]\n" - " add r0, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x17\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - "._79:\n" - " ldr r4, ._83\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._80 @cond_branch\n" - " mov r0, #0x15\n" - " bl PlaySE\n" - " ldr r0, ._83 + 4\n" - " ldrb r0, [r0]\n" - " ldr r2, ._83 + 20\n" - " ldr r1, ._83 + 8\n" - " ldrb r1, [r1]\n" - " add r1, r1, r2\n" - " ldrb r1, [r1]\n" - " bl debug_sub_808FA88\n" - "._80:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._81 @cond_branch\n" - " mov r0, #0x0\n" - " b ._82\n" - "._84:\n" - " .align 2, 0\n" - "._83:\n" - " .word gMain\n" - " .word gDebug_03000725\n" - " .word gDebug_03000724\n" - " .word gUnknown_Debug_083C4ABD+0xf\n" - " .word gStringVar1\n" - " .word gUnknown_Debug_083C4ABD\n" - "._81:\n" - " ldr r0, ._85\n" - " bl sub_80BF588\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._82:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._86:\n" - " .align 2, 0\n" - "._85:\n" - " .word gSaveBlock1+0x2738\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808FA88() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add sp, sp, #0xffffffcc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r7, r1, #0x18\n" - " bl GetLeadMonIndex\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r9, r0\n" - " ldr r3, ._92\n" - " lsl r4, r6, #0x3\n" - " add r2, r4, r6\n" - " lsl r2, r2, #0x2\n" - " add r0, r2, r3\n" - " ldr r5, ._92 + 4\n" - " add r1, r0, r5\n" - " strb r7, [r1]\n" - " ldr r1, ._92 + 8\n" - " add r0, r0, r1\n" - " mov r1, #0x1\n" - " strb r1, [r0]\n" - " mov r1, #0x0\n" - " ldr r0, ._92 + 12\n" - " add r5, r3, r0\n" - " mov r3, #0x1\n" - "._87:\n" - " add r0, r1, r2\n" - " add r0, r0, r5\n" - " strb r3, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x21\n" - " bls ._87 @cond_branch\n" - " add r0, r7, #0\n" - " bl GetTVChannelByShowType\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r1, r0, #0\n" - " cmp r0, #0x3\n" - " beq ._88 @cond_branch\n" - " cmp r0, #0x3\n" - " bgt ._89 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._90 @cond_branch\n" - " b ._95\n" - "._93:\n" - " .align 2, 0\n" - "._92:\n" - " .word gSaveBlock1\n" - " .word 0x2738\n" - " .word 0x2739\n" - " .word 0x273a\n" - "._89:\n" - " cmp r1, #0x4\n" - " bne ._95 @cond_branch\n" - "._90:\n" - " add r0, r4, r6\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._96\n" - " add r0, r0, r1\n" - " bl sub_80BE160\n" - " b ._95\n" - "._97:\n" - " .align 2, 0\n" - "._96:\n" - " .word gSaveBlock1+0x2738\n" - "._88:\n" - " add r0, r4, r6\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._100\n" - " add r0, r0, r1\n" - " bl sub_80BE138\n" - "._95:\n" - " sub r0, r7, #1\n" - " cmp r0, #0x28\n" - " bls ._98 @cond_branch\n" - " b ._173\n" - "._98:\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._100 + 4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._101:\n" - " .align 2, 0\n" - "._100:\n" - " .word gSaveBlock1+0x2738\n" - " .word ._102\n" - "._102:\n" - " .word ._104\n" - " .word ._104\n" - " .word ._105\n" - " .word ._173\n" - " .word ._107\n" - " .word ._108\n" - " .word ._109\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._123\n" - " .word ._124\n" - " .word ._125\n" - " .word ._126\n" - " .word ._127\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._173\n" - " .word ._143\n" - "._104:\n" - " add r0, r4, r6\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._145\n" - " add r4, r0, r1\n" - " mov r2, #0x1\n" - " strh r2, [r4, #0x2]\n" - " add r1, r1, #0x10\n" - " add r0, r0, r1\n" - " ldr r1, ._145 + 4\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " strb r0, [r4, #0x18]\n" - " b ._173\n" - "._146:\n" - " .align 2, 0\n" - "._145:\n" - " .word gSaveBlock1+0x2738\n" - " .word gSaveBlock2\n" - "._105:\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r6, ._148\n" - " add r1, r4, r6\n" - " mov r8, r1\n" - " mov r0, #0x1\n" - " strh r0, [r1, #0x2]\n" - " add r0, r6, #5\n" - " add r0, r4, r0\n" - " ldr r1, ._148 + 4\n" - " bl StringCopy\n" - " mov r0, #0x64\n" - " mov r5, r9\n" - " mul r5, r5, r0\n" - " ldr r0, ._148 + 8\n" - " add r5, r5, r0\n" - " add r6, r6, #0x10\n" - " add r4, r4, r6\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " add r2, r4, #0\n" - " bl GetMonData\n" - " mov r0, #0x5\n" - " mov r1, r8\n" - " strb r0, [r1, #0xd]\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " bl GetMonData\n" - " mov r5, r8\n" - " strb r0, [r5, #0xe]\n" - " b ._173\n" - "._149:\n" - " .align 2, 0\n" - "._148:\n" - " .word gSaveBlock1+0x2738\n" - " .word gSaveBlock2\n" - " .word gPlayerParty\n" - "._107:\n" - " mov r0, #0x64\n" - " mov r1, r9\n" - " mul r1, r1, r0\n" - " mov r8, r1\n" - " ldr r0, ._151\n" - " add r8, r8, r0\n" - " mov r0, r8\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r5, ._151 + 4\n" - " add r6, r4, r5\n" - " strh r0, [r6, #0x2]\n" - " mov r0, #0x1\n" - " strh r0, [r6, #0x1c]\n" - " add r0, r5, #0\n" - " add r0, r0, #0xf\n" - " add r0, r4, r0\n" - " ldr r1, ._151 + 8\n" - " bl StringCopy\n" - " add r5, r5, #0x4\n" - " add r4, r4, r5\n" - " mov r0, r8\n" - " mov r1, #0x2\n" - " add r2, r4, #0\n" - " bl GetMonData\n" - " mov r0, #0x5\n" - " strb r0, [r6, #0x1e]\n" - " mov r0, r8\n" - " mov r1, #0x3\n" - " bl GetMonData\n" - " strb r0, [r6, #0x1f]\n" - " b ._173\n" - "._152:\n" - " .align 2, 0\n" - "._151:\n" - " .word gPlayerParty\n" - " .word gSaveBlock1+0x2738\n" - " .word gSaveBlock2\n" - "._108:\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r6, ._154\n" - " add r5, r4, r6\n" - " mov r8, r5\n" - " mov r0, #0x1\n" - " strh r0, [r5, #0x2]\n" - " add r0, r6, #0\n" - " add r0, r0, #0x16\n" - " add r0, r4, r0\n" - " ldr r1, ._154 + 4\n" - " bl StringCopy\n" - " mov r0, #0x64\n" - " mov r5, r9\n" - " mul r5, r5, r0\n" - " ldr r0, ._154 + 8\n" - " add r5, r5, r0\n" - " add r6, r6, #0x8\n" - " add r4, r4, r6\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " add r2, r4, #0\n" - " bl GetMonData\n" - " mov r0, #0x5\n" - " mov r1, r8\n" - " strb r0, [r1, #0x1e]\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " bl GetMonData\n" - " mov r5, r8\n" - " strb r0, [r5, #0x1f]\n" - " b ._173\n" - "._155:\n" - " .align 2, 0\n" - "._154:\n" - " .word gSaveBlock1+0x2738\n" - " .word gSaveBlock2\n" - " .word gPlayerParty\n" - "._109:\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r5, ._157\n" - " add r6, r4, r5\n" - " mov r0, #0x1\n" - " strh r0, [r6, #0xa]\n" - " strh r0, [r6, #0x14]\n" - " add r0, r5, #2\n" - " add r0, r4, r0\n" - " ldr r1, ._157 + 4\n" - " mov r8, r1\n" - " bl StringCopy\n" - " add r5, r5, #0xc\n" - " add r4, r4, r5\n" - " add r0, r4, #0\n" - " mov r1, r8\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " strb r0, [r6, #0x1d]\n" - " b ._173\n" - "._158:\n" - " .align 2, 0\n" - "._157:\n" - " .word gSaveBlock1+0x2738\n" - " .word gSaveBlock2\n" - "._143:\n" - " add r0, r4, r6\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._160\n" - " add r0, r0, r1\n" - " mov r1, #0x1\n" - " strh r1, [r0, #0xc]\n" - " strh r1, [r0, #0x16]\n" - " b ._173\n" - "._161:\n" - " .align 2, 0\n" - "._160:\n" - " .word gSaveBlock1+0x2738\n" - "._123:\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r0, ._163\n" - " add r4, r4, r0\n" - " ldr r1, ._163 + 4\n" - " mov r0, sp\n" - " mov r2, #0x8\n" - " bl memcpy\n" - " add r5, sp, #0x8\n" - " ldr r1, ._163 + 8\n" - " add r0, r5, #0\n" - " mov r2, #0xb\n" - " bl memcpy\n" - " mov r0, #0xff\n" - " strb r0, [r4, #0x12]\n" - " add r0, r4, #0\n" - " add r0, r0, #0x13\n" - " mov r1, sp\n" - " bl StringCopy\n" - " add r0, r4, #4\n" - " add r1, r5, #0\n" - " bl StringCopy\n" - " mov r0, #0xc\n" - " strb r0, [r4, #0xf]\n" - " mov r0, #0x28\n" - " strh r0, [r4, #0x10]\n" - " mov r0, #0x5\n" - " strb r0, [r4, #0x2]\n" - " strb r0, [r4, #0x3]\n" - " b ._173\n" - "._164:\n" - " .align 2, 0\n" - "._163:\n" - " .word gSaveBlock1+0x2738\n" - " .word gUnknown_Debug_083C4C64\n" - " .word gUnknown_Debug_083C4C6C\n" - "._124:\n" - " add r0, r4, r6\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._168\n" - " add r5, r0, r1\n" - " add r4, sp, #0x14\n" - " ldr r1, ._168 + 4\n" - " add r0, r4, #0\n" - " mov r2, #0x8\n" - " bl memcpy\n" - " add r1, r4, #0\n" - " mov r3, #0xfe\n" - " mov r2, #0x2\n" - " add r0, r5, #0\n" - " add r0, r0, #0x10\n" - "._165:\n" - " strh r3, [r0]\n" - " sub r0, r0, #0x2\n" - " sub r2, r2, #0x1\n" - " cmp r2, #0\n" - " bge ._165 @cond_branch\n" - " mov r0, #0x1\n" - " strb r0, [r5, #0x2]\n" - " mov r0, #0x28\n" - " strb r0, [r5, #0x12]\n" - " add r0, r5, #0\n" - " add r0, r0, #0x13\n" - " add r3, r5, #6\n" - " mov r6, #0x1e\n" - " add r2, r5, #0\n" - " add r2, r2, #0xa\n" - "._166:\n" - " strh r6, [r2]\n" - " sub r2, r2, #0x2\n" - " cmp r2, r3\n" - " bge ._166 @cond_branch\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " strb r0, [r5, #0x3]\n" - " b ._173\n" - "._169:\n" - " .align 2, 0\n" - "._168:\n" - " .word gSaveBlock1+0x2738\n" - " .word gUnknown_Debug_083C4C64\n" - "._125:\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r0, ._171\n" - " add r4, r4, r0\n" - " add r5, sp, #0x1c\n" - " ldr r1, ._171 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0x8\n" - " bl memcpy\n" - " mov r0, #0x28\n" - " strh r0, [r4, #0xc]\n" - " strh r0, [r4, #0xe]\n" - " mov r0, #0x3\n" - " strb r0, [r4, #0x12]\n" - " mov r0, #0xff\n" - " strb r0, [r4, #0x10]\n" - " mov r0, #0x1\n" - " strb r0, [r4, #0x11]\n" - " add r0, r4, #0\n" - " add r0, r0, #0x13\n" - " add r1, r5, #0\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " strb r0, [r4, #0x2]\n" - " b ._173\n" - "._172:\n" - " .align 2, 0\n" - "._171:\n" - " .word gSaveBlock1+0x2738\n" - " .word gUnknown_Debug_083C4C64\n" - "._126:\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r0, ._174\n" - " add r4, r4, r0\n" - " add r5, sp, #0x24\n" - " ldr r1, ._174 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0x8\n" - " bl memcpy\n" - " mov r0, #0xff\n" - " strb r0, [r4, #0x2]\n" - " mov r0, #0x0\n" - " strb r0, [r4, #0x3]\n" - " mov r0, #0x28\n" - " strh r0, [r4, #0x4]\n" - " add r0, r4, #0\n" - " add r0, r0, #0x13\n" - " add r1, r5, #0\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " strb r0, [r4, #0x6]\n" - " b ._173\n" - "._175:\n" - " .align 2, 0\n" - "._174:\n" - " .word gSaveBlock1+0x2738\n" - " .word gUnknown_Debug_083C4C64\n" - "._127:\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x2\n" - " ldr r0, ._176\n" - " add r4, r4, r0\n" - " add r5, sp, #0x2c\n" - " ldr r1, ._176 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0x8\n" - " bl memcpy\n" - " ldr r0, ._176 + 8\n" - " strh r0, [r4, #0x2]\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " strh r0, [r4, #0x6]\n" - " mov r0, #0x28\n" - " strh r0, [r4, #0x4]\n" - " strh r0, [r4, #0x8]\n" - " mov r0, #0x3\n" - " strb r0, [r4, #0xa]\n" - " add r0, r4, #0\n" - " add r0, r0, #0x13\n" - " add r1, r5, #0\n" - " bl StringCopy\n" - " mov r0, #0x5\n" - " strb r0, [r4, #0xb]\n" - "._173:\n" - " add sp, sp, #0x34\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._177:\n" - " .align 2, 0\n" - "._176:\n" - " .word gSaveBlock1+0x2738\n" - " .word gUnknown_Debug_083C4C64\n" - " .word 0xffff\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808FEBC() -{ - asm( - " push {lr}\n" - " bl ClearTVShowData\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808FECC() -{ - asm( - " push {r4, lr}\n" - " ldr r1, ._178\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " ldr r0, ._178 + 4\n" - " bl sub_8071F40\n" - " mov r0, #0xd\n" - " mov r1, #0x6\n" - " mov r2, #0x17\n" - " mov r3, #0x8\n" - " bl Menu_BlankWindowRect\n" - " ldr r0, ._178 + 8\n" - " ldr r0, [r0]\n" - " mov r1, #0xe\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " mov r0, #0x16\n" - " mov r1, #0x1\n" - " mov r2, #0x18\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._178 + 12\n" - " add r0, r4, #0\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x17\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r1, ._178 + 16\n" - " ldr r0, ._178 + 20\n" - " str r0, [r1]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._179:\n" - " .align 2, 0\n" - "._178:\n" - " .word gDebug_03000724\n" - " .word gUnknown_Debug_083C49CA\n" - " .word gUnknown_Debug_083C4B20+0x4\n" - " .word gStringVar1\n" - " .word gMenuCallback\n" - " .word debug_sub_808FF3C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808FF3C() -{ - asm( - " push {r4, lr}\n" - " mov r2, #0x0\n" - " ldr r0, ._192\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._180 @cond_branch\n" - " ldr r1, ._192 + 4\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x10\n" - " bne ._181 @cond_branch\n" - " strb r2, [r1]\n" - "._181:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._180:\n" - " ldr r0, ._192\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._182 @cond_branch\n" - " ldr r1, ._192 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._183 @cond_branch\n" - " mov r0, #0x10\n" - " strb r0, [r1]\n" - "._183:\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._182:\n" - " ldr r0, ._192\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._184 @cond_branch\n" - " ldr r1, ._192 + 8\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x3\n" - " bne ._185 @cond_branch\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - "._185:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._184:\n" - " ldr r0, ._192\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._186 @cond_branch\n" - " ldr r1, ._192 + 8\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._187 @cond_branch\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - "._187:\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r2, #0x1\n" - "._186:\n" - " cmp r2, #0\n" - " beq ._188 @cond_branch\n" - " mov r0, #0xd\n" - " mov r1, #0x6\n" - " mov r2, #0x17\n" - " mov r3, #0x8\n" - " bl Menu_BlankWindowRect\n" - " ldr r1, ._192 + 12\n" - " ldr r0, ._192 + 8\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0xe\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " mov r0, #0x16\n" - " mov r1, #0x1\n" - " mov r2, #0x18\n" - " mov r3, #0x2\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._192 + 16\n" - " ldr r0, ._192 + 4\n" - " ldrb r1, [r0]\n" - " add r0, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x17\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - "._188:\n" - " ldr r4, ._192\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._189 @cond_branch\n" - " mov r0, #0x15\n" - " bl PlaySE\n" - " ldr r0, ._192 + 4\n" - " ldrb r0, [r0]\n" - " ldr r2, ._192 + 20\n" - " ldr r1, ._192 + 8\n" - " ldrb r1, [r1]\n" - " add r1, r1, r2\n" - " ldrb r1, [r1]\n" - " bl debug_sub_8090080\n" - "._189:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._190 @cond_branch\n" - " mov r0, #0x0\n" - " b ._191\n" - "._193:\n" - " .align 2, 0\n" - "._192:\n" - " .word gMain\n" - " .word gDebug_03000725\n" - " .word gDebug_03000724\n" - " .word gUnknown_Debug_083C4B20+0x4\n" - " .word gStringVar1\n" - " .word gUnknown_Debug_083C4B20\n" - "._190:\n" - " bl sub_80BEC40\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._191:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090080() -{ - asm( - " lsl r0, r0, #0x18\n" - " ldr r2, ._194\n" - " lsr r0, r0, #0x16\n" - " add r0, r0, r2\n" - " ldr r3, ._194 + 4\n" - " add r2, r0, r3\n" - " strb r1, [r2]\n" - " ldr r1, ._194 + 8\n" - " add r2, r0, r1\n" - " mov r1, #0x1\n" - " strb r1, [r2]\n" - " add r3, r3, #0x2\n" - " add r0, r0, r3\n" - " mov r1, #0x4\n" - " strh r1, [r0]\n" - " bx lr\n" - "._195:\n" - " .align 2, 0\n" - "._194:\n" - " .word gSaveBlock1\n" - " .word 0x2abc\n" - " .word 0x2abd\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80900AC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r7, #0x0\n" - " mov r5, #0x0\n" - " ldr r0, ._202\n" - " mov r8, r0\n" - "._198:\n" - " lsl r0, r5, #0x3\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x2\n" - " mov r1, r8\n" - " add r6, r0, r1\n" - " ldr r1, ._202 + 4\n" - " add r0, r6, r1\n" - " ldrb r4, [r0]\n" - " cmp r4, #0\n" - " bne ._196 @cond_branch\n" - " cmp r7, #0xc\n" - " bne ._197 @cond_branch\n" - " mov r7, #0x0\n" - "._197:\n" - " ldr r0, ._202 + 8\n" - " add r0, r7, r0\n" - " ldrb r1, [r0]\n" - " add r0, r5, #0\n" - " bl debug_sub_808FA88\n" - " ldr r1, ._202 + 12\n" - " add r0, r6, r1\n" - " strb r4, [r0]\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._196:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x17\n" - " bls ._198 @cond_branch\n" - " mov r7, #0x0\n" - " mov r5, #0x0\n" - "._201:\n" - " ldr r0, ._202\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r0\n" - " ldr r0, ._202 + 16\n" - " add r1, r1, r0\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._199 @cond_branch\n" - " cmp r7, #0x3\n" - " bne ._200 @cond_branch\n" - " mov r7, #0x0\n" - "._200:\n" - " ldr r0, ._202 + 20\n" - " add r0, r7, r0\n" - " ldrb r1, [r0]\n" - " add r0, r5, #0\n" - " bl debug_sub_8090080\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._199:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0xf\n" - " bls ._201 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._203:\n" - " .align 2, 0\n" - "._202:\n" - " .word gSaveBlock1\n" - " .word 0x2738\n" - " .word gUnknown_Debug_083C4ABD\n" - " .word 0x2739\n" - " .word 0x2abc\n" - " .word gUnknown_Debug_083C4B20\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_Fan() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._204\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xa\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._204 + 4\n" - " ldr r0, ._204 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._205:\n" - " .align 2, 0\n" - "._204:\n" - " .word gUnknown_Debug_083C4D28\n" - " .word gMenuCallback\n" - " .word debug_sub_80901A4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80901A4() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._206 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " beq ._207 @cond_branch\n" - " ldr r2, ._209\n" - " ldr r0, ._209 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - "._206:\n" - " mov r0, #0x0\n" - " b ._208\n" - "._210:\n" - " .align 2, 0\n" - "._209:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C4D28\n" - "._207:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._208:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80901E4() -{ - asm( - " push {lr}\n" - " bl ResetFanClub\n" - " bl sub_810FAA0\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80901F8() -{ - asm( - " push {lr}\n" - " bl sub_810FB9C\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._211\n" - " ldr r1, ._211 + 4\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " sub r0, r0, #0x8\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldr r0, [r0]\n" - " mov r1, #0xe\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r1, ._211 + 8\n" - " ldr r0, ._211 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._212:\n" - " .align 2, 0\n" - "._211:\n" - " .word gUnknown_Debug_083C4CA8\n" - " .word gUnknown_083F8408\n" - " .word gMenuCallback\n" - " .word debug_sub_8090278+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090238() -{ - asm( - " push {lr}\n" - " bl sub_810FC18\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._213\n" - " ldr r1, ._213 + 4\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " sub r0, r0, #0x8\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldr r0, [r0]\n" - " mov r1, #0xe\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r1, ._213 + 8\n" - " ldr r0, ._213 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._214:\n" - " .align 2, 0\n" - "._213:\n" - " .word gUnknown_Debug_083C4CA8\n" - " .word gUnknown_083F8410\n" - " .word gMenuCallback\n" - " .word debug_sub_8090278+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090278() -{ - asm( - " push {lr}\n" - " ldr r0, ._217\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._215 @cond_branch\n" - " mov r0, #0x0\n" - " b ._216\n" - "._218:\n" - " .align 2, 0\n" - "._217:\n" - " .word gMain\n" - "._215:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._216:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_809029C() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._219\n" - " ldr r0, ._219 + 4\n" - " ldr r1, ._219 + 8\n" - " add r0, r0, r1\n" - " ldrh r0, [r0]\n" - " mov r1, #0x7f\n" - " and r1, r1, r0\n" - " add r0, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x10\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " ldr r1, ._219 + 12\n" - " ldr r0, ._219 + 16\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._220:\n" - " .align 2, 0\n" - "._219:\n" - " .word gStringVar1\n" - " .word gSaveBlock1\n" - " .word 0x13c2\n" - " .word gMenuCallback\n" - " .word debug_sub_8090278+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80902E4() -{ - asm( - " push {lr}\n" - " ldr r1, ._221\n" - " ldrh r0, [r1, #0xe]\n" - " add r0, r0, #0x6\n" - " strh r0, [r1, #0xe]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._222:\n" - " .align 2, 0\n" - "._221:\n" - " .word gSaveBlock2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80902FC() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " bl sub_810FB10\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090310() -{ - asm( - " push {lr}\n" - " mov r0, #0x1\n" - " bl sub_810FB10\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090324() -{ - asm( - " push {lr}\n" - " mov r0, #0x2\n" - " bl sub_810FB10\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090338() -{ - asm( - " push {lr}\n" - " mov r0, #0x3\n" - " bl sub_810FB10\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_BattleVSDad() -{ - asm( - " push {lr}\n" - " ldr r0, ._223\n" - " mov r1, #0x6\n" - " bl VarSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._224:\n" - " .align 2, 0\n" - "._223:\n" - " .word 0x4085\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_DadAfterBattle() -{ - asm( - " push {lr}\n" - " ldr r0, ._225\n" - " mov r1, #0x7\n" - " bl VarSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._226:\n" - " .align 2, 0\n" - "._225:\n" - " .word 0x4085\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_SootopolisCity() -{ - asm( - " push {lr}\n" - " mov r0, #0x81\n" - " bl FlagSet\n" - " mov r0, #0x71\n" - " bl FlagSet\n" - " ldr r0, ._227\n" - " bl FlagClear\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._228:\n" - " .align 2, 0\n" - "._227:\n" - " .word 0x32f\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_Embark() -{ - asm( - " push {lr}\n" - " ldr r0, ._229\n" - " bl FlagClear\n" - " ldr r0, ._229 + 4\n" - " mov r1, #0x1\n" - " bl VarSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._230:\n" - " .align 2, 0\n" - "._229:\n" - " .word 0x2e3\n" - " .word 0x4090\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_Yes9999() -{ - asm( - " push {lr}\n" - " ldr r0, ._231\n" - " ldr r1, ._231 + 4\n" - " bl VarSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._232:\n" - " .align 2, 0\n" - "._231:\n" - " .word 0x4048\n" - " .word 0x270f\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_LegendsFlagOn() -{ - asm( - " push {lr}\n" - " mov r0, #0xe4\n" - " bl FlagSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void NoharaDebugMenu_AddNumWinningStreaks() -{ - asm( - " push {lr}\n" - " ldr r0, ._235\n" - " ldr r1, ._235 + 4\n" - " add r2, r0, r1\n" - " ldrh r1, [r2]\n" - " cmp r1, #0x31\n" - " bhi ._233 @cond_branch\n" - " mov r0, #0x32\n" - " b ._244\n" - "._236:\n" - " .align 2, 0\n" - "._235:\n" - " .word gSaveBlock2\n" - " .word 0x572\n" - "._233:\n" - " cmp r1, #0x63\n" - " bhi ._237 @cond_branch\n" - " mov r0, #0x64\n" - " b ._244\n" - "._237:\n" - " ldr r0, ._241\n" - " cmp r1, r0\n" - " bhi ._239 @cond_branch\n" - " add r0, r0, #0x1\n" - " b ._244\n" - "._242:\n" - " .align 2, 0\n" - "._241:\n" - " .word 0x3e7\n" - "._239:\n" - " ldr r0, ._245\n" - " cmp r1, r0\n" - " bhi ._243 @cond_branch\n" - " ldr r0, ._245 + 4\n" - " b ._244\n" - "._246:\n" - " .align 2, 0\n" - "._245:\n" - " .word 0x1387\n" - " .word 0x2706\n" - "._243:\n" - " ldr r0, ._248\n" - " cmp r1, r0\n" - " bhi ._247 @cond_branch\n" - " add r0, r0, #0xa\n" - "._244:\n" - " strh r0, [r2]\n" - "._247:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._249:\n" - " .align 2, 0\n" - "._248:\n" - " .word 0x2705\n" - "\n" - ); -} +asm(".global gDebug_03000724"); +asm(".global gDebug_03000725"); +asm(".global gDebug_03000726"); #endif diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index d479c59c8..f7e0e3770 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -3,2120 +3,4 @@ EWRAM_DATA u8 unk_2030224[4] = { 0 }; -__attribute__((naked)) -void TayaDebugMenu_Trend() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffd8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1e\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r5, ._3\n" - " mov r7, #0x0\n" - " mov r0, #0x1\n" - " add r0, r0, sp\n" - " mov sl, r0\n" - " mov r9, sp\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " add r6, sp, #0x20\n" - "._2:\n" - " ldrb r1, [r5, #0x1]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " mov r1, #0xa1\n" - " cmp r0, #0\n" - " beq ._1 @cond_branch\n" - " mov r1, #0xa2\n" - "._1:\n" - " mov r0, r9\n" - " strb r1, [r0]\n" - " ldrh r1, [r5, #0x4]\n" - " add r0, r6, #0\n" - " bl EasyChat_GetWordText\n" - " mov r0, sl\n" - " add r1, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x7\n" - " bl StringCopyPadded\n" - " add r4, r0, #0\n" - " ldrh r1, [r5, #0x6]\n" - " add r0, r6, #0\n" - " bl EasyChat_GetWordText\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x8\n" - " bl StringCopyPadded\n" - " add r4, r0, #0\n" - " ldrb r1, [r5]\n" - " lsl r1, r1, #0x19\n" - " lsr r1, r1, #0x19\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r4, r0, #0\n" - " mov r0, r8\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " ldrh r1, [r5]\n" - " lsl r1, r1, #0x12\n" - " lsr r1, r1, #0x19\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r4, r0, #0\n" - " mov r0, r8\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " ldrh r1, [r5, #0x2]\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r2, r7, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " add r5, r5, #0x8\n" - " add r0, r7, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r7, r0, #0x10\n" - " cmp r7, #0x4\n" - " bls ._2 @cond_branch\n" - " ldr r1, ._3 + 4\n" - " ldr r0, ._3 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x28\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gSaveBlock1+0x2dd4\n" - " .word gMenuCallback\n" - " .word debug_sub_8090808+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090808() -{ - asm( - " push {lr}\n" - " ldr r0, ._7\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x3\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._5 @cond_branch\n" - " mov r0, #0x0\n" - " b ._6\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word gMain\n" - "._5:\n" - " bl Menu_EraseScreen\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._6:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_TrendR() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r0, #0x0\n" - " ldr r7, ._11\n" - "._10:\n" - " mov r4, #0x0\n" - " lsl r5, r0, #0x3\n" - " add r6, r0, #1\n" - "._9:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x16\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl sub_80EB72C\n" - " lsl r1, r4, #0x1\n" - " add r1, r1, r5\n" - " add r1, r1, r7\n" - " strh r0, [r1]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x1\n" - " bls ._9 @cond_branch\n" - " lsl r0, r6, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0x4\n" - " bls ._10 @cond_branch\n" - " bl Menu_EraseScreen\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._12:\n" - " .align 2, 0\n" - "._11:\n" - " .word gSaveBlock1+0x2dd8\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090880() -{ - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._13 @cond_branch\n" - " mov r0, #0x0\n" - " b ._14\n" - "._13:\n" - " bl sub_80E60D8\n" - " mov r0, #0x1\n" - "._14:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_809089C() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._15 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._16 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._17\n" - "._16:\n" - " ldr r2, ._19\n" - " ldr r0, ._19 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " strh r0, [r2]\n" - " ldrh r0, [r2]\n" - " sub r0, r0, #0x5\n" - " cmp r0, #0x7\n" - " bhi ._27 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._19 + 8\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._20:\n" - " .align 2, 0\n" - "._19:\n" - " .word gSpecialVar_0x8004\n" - " .word gUnknown_Debug_083C4EC0\n" - " .word ._21\n" - "._21:\n" - " .word ._29\n" - " .word ._27\n" - " .word ._29\n" - " .word ._29\n" - " .word ._27\n" - " .word ._27\n" - " .word ._29\n" - " .word ._29\n" - "._29:\n" - " ldr r0, ._30\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r0, ._30 + 4\n" - " strh r1, [r0]\n" - "._27:\n" - " mov r0, #0x1\n" - " mov r1, #0x0\n" - " bl FadeScreen\n" - " ldr r1, ._30 + 8\n" - " ldr r0, ._30 + 12\n" - " str r0, [r1]\n" - "._15:\n" - " mov r0, #0x0\n" - "._17:\n" - " pop {r1}\n" - " bx r1\n" - "._31:\n" - " .align 2, 0\n" - "._30:\n" - " .word gSpecialVar_0x8005\n" - " .word gSpecialVar_0x8006\n" - " .word gMenuCallback\n" - " .word debug_sub_8090880+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_SimpleText() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._32\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xb\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._32 + 4\n" - " ldr r0, ._32 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._33:\n" - " .align 2, 0\n" - "._32:\n" - " .word gUnknown_Debug_083C4EC0\n" - " .word gMenuCallback\n" - " .word debug_sub_809089C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090984() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r2, r0, #0x18\n" - " asr r1, r2, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._34 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " beq ._46 @cond_branch\n" - " cmp r1, #0x4\n" - " bgt ._36 @cond_branch\n" - " lsr r0, r2, #0x18\n" - " bl debug_sub_810B32C\n" - " b ._46\n" - "._34:\n" - " mov r0, #0x0\n" - " b ._38\n" - "._36:\n" - " cmp r1, #0x5\n" - " bne ._39 @cond_branch\n" - " bl sub_80F7F30\n" - " b ._46\n" - "._39:\n" - " cmp r1, #0x6\n" - " bne ._41 @cond_branch\n" - " mov r4, #0x0\n" - " ldr r0, ._44\n" - " add r1, r0, #2\n" - " mov ip, r1\n" - " ldr r7, ._44 + 4\n" - " ldr r1, ._44 + 8\n" - " add r6, r0, r1\n" - " add r5, r0, #0\n" - " add r5, r5, #0xe\n" - "._42:\n" - " lsl r1, r4, #0x1\n" - " mov r0, ip\n" - " add r3, r1, r0\n" - " add r0, r1, r7\n" - " ldrh r2, [r0]\n" - " strh r2, [r3]\n" - " add r0, r1, r5\n" - " strh r2, [r0]\n" - " add r1, r6, r1\n" - " strh r2, [r1]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x2\n" - " bls ._42 @cond_branch\n" - " b ._46\n" - "._45:\n" - " .align 2, 0\n" - "._44:\n" - " .word gSaveBlock1+0x2d94\n" - " .word gUnknown_Debug_083C4F08\n" - " .word 0xfffffd94\n" - "._41:\n" - " cmp r1, #0x7\n" - " bne ._46 @cond_branch\n" - " mov r4, #0x0\n" - "._47:\n" - " lsl r0, r4, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl sub_80EB890\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x20\n" - " bls ._47 @cond_branch\n" - "._46:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._38:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_OldMan() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xa\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._48\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\n" - " bl GetCurrentMauvilleOldMan\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " str r0, [sp]\n" - " mov r0, #0x9\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x8\n" - " bl InitMenu\n" - " ldr r1, ._48 + 4\n" - " ldr r0, ._48 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._49:\n" - " .align 2, 0\n" - "._48:\n" - " .word gUnknown_Debug_083C4F54\n" - " .word gMenuCallback\n" - " .word debug_sub_8090984+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_LanettesPC() -{ - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " bl ShowPokemonStorageSystem\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_TownFlags() -{ - asm( - " push {lr}\n" - " ldr r0, ._50\n" - " bl FlagSet\n" - " mov r0, #0x81\n" - " lsl r0, r0, #0x4\n" - " bl FlagSet\n" - " ldr r0, ._50 + 4\n" - " bl FlagSet\n" - " ldr r0, ._50 + 8\n" - " bl FlagSet\n" - " ldr r0, ._50 + 12\n" - " bl FlagSet\n" - " ldr r0, ._50 + 16\n" - " bl FlagSet\n" - " ldr r0, ._50 + 20\n" - " bl FlagSet\n" - " ldr r0, ._50 + 24\n" - " bl FlagSet\n" - " ldr r0, ._50 + 28\n" - " bl FlagSet\n" - " ldr r0, ._50 + 32\n" - " bl FlagSet\n" - " ldr r0, ._50 + 36\n" - " bl FlagSet\n" - " ldr r0, ._50 + 40\n" - " bl FlagSet\n" - " ldr r0, ._50 + 44\n" - " bl FlagSet\n" - " ldr r0, ._50 + 48\n" - " bl FlagSet\n" - " ldr r0, ._50 + 52\n" - " bl FlagSet\n" - " ldr r0, ._50 + 56\n" - " bl FlagSet\n" - " ldr r0, ._50 + 60\n" - " bl FlagSet\n" - " ldr r0, ._50 + 64\n" - " bl FlagSet\n" - " ldr r0, ._50 + 68\n" - " bl FlagSet\n" - " ldr r0, ._50 + 72\n" - " bl FlagSet\n" - " ldr r0, ._50 + 76\n" - " bl FlagSet\n" - " ldr r0, ._50 + 80\n" - " bl FlagSet\n" - " ldr r0, ._50 + 84\n" - " bl FlagSet\n" - " ldr r0, ._50 + 88\n" - " bl FlagSet\n" - " ldr r0, ._50 + 92\n" - " bl FlagSet\n" - " ldr r0, ._50 + 96\n" - " bl FlagSet\n" - " ldr r0, ._50 + 100\n" - " bl FlagSet\n" - " ldr r0, ._50 + 104\n" - " bl FlagSet\n" - " ldr r0, ._50 + 108\n" - " bl FlagSet\n" - " ldr r0, ._50 + 112\n" - " bl FlagSet\n" - " ldr r0, ._50 + 116\n" - " bl FlagSet\n" - " ldr r0, ._50 + 120\n" - " bl FlagSet\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x4\n" - " bl FlagSet\n" - " ldr r0, ._50 + 124\n" - " bl FlagSet\n" - " ldr r0, ._50 + 128\n" - " bl FlagSet\n" - " ldr r0, ._50 + 132\n" - " bl FlagSet\n" - " ldr r0, ._50 + 136\n" - " bl FlagSet\n" - " ldr r0, ._50 + 140\n" - " bl FlagSet\n" - " ldr r0, ._50 + 144\n" - " bl FlagSet\n" - " ldr r0, ._50 + 148\n" - " bl FlagSet\n" - " ldr r0, ._50 + 152\n" - " bl FlagSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._51:\n" - " .align 2, 0\n" - "._50:\n" - " .word 0x80f\n" - " .word 0x811\n" - " .word 0x812\n" - " .word 0x813\n" - " .word 0x814\n" - " .word 0x815\n" - " .word 0x816\n" - " .word 0x817\n" - " .word 0x818\n" - " .word 0x819\n" - " .word 0x81a\n" - " .word 0x81b\n" - " .word 0x81c\n" - " .word 0x81d\n" - " .word 0x81e\n" - " .word 0x848\n" - " .word 0x849\n" - " .word 0x84a\n" - " .word 0x854\n" - " .word 0x855\n" - " .word 0x856\n" - " .word 0x857\n" - " .word 0x858\n" - " .word 0x859\n" - " .word 0x85a\n" - " .word 0x85b\n" - " .word 0x85c\n" - " .word 0x83c\n" - " .word 0x83d\n" - " .word 0x83e\n" - " .word 0x83f\n" - " .word 0x841\n" - " .word 0x842\n" - " .word 0x843\n" - " .word 0x844\n" - " .word 0x845\n" - " .word 0x846\n" - " .word 0x847\n" - " .word 0x83b\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_AwardARibbon() -{ - asm( - " push {lr}\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x10\n" - " mov r2, #0x0\n" - " bl BlendPalettes\n" - " ldr r0, ._52\n" - " bl SetMainCallback2\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._53:\n" - " .align 2, 0\n" - "._52:\n" - " .word debug_sub_80915BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090C44() -{ - asm( - " push {r4, r5, lr}\n" - " ldr r4, ._54\n" - " sub r5, r4, #1\n" - " ldrh r1, [r5, #0x8]\n" - " add r0, r4, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x5\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x0\n" - " mov r2, #0x5\n" - " bl StringFill\n" - " ldrb r0, [r5]\n" - " add r0, r0, r4\n" - " mov r1, #0x79\n" - " strb r1, [r0]\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._55:\n" - " .align 2, 0\n" - "._54:\n" - " .word gSharedMem+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8090C88() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - " ldr r2, ._59\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " add r3, r2, #0\n" - " cmp r0, #0\n" - " beq ._57 @cond_branch\n" - " ldr r1, ._59 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._57 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._62\n" - "._60:\n" - " .align 2, 0\n" - "._59:\n" - " .word gMain\n" - " .word gSharedMem\n" - "._67:\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._62\n" - "._77:\n" - " strh r1, [r7, #0x8]\n" - " b ._62\n" - "._79:\n" - " ldr r0, ._64\n" - " ldrh r0, [r0, #0x8]\n" - " bl SetLotteryNumber16_Unused\n" - "._78:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._63\n" - "._65:\n" - " .align 2, 0\n" - "._64:\n" - " .word gSharedMem\n" - "._57:\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._66 @cond_branch\n" - " ldr r1, ._81\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x3\n" - " bls ._67 @cond_branch\n" - "._66:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._68 @cond_branch\n" - " ldr r0, ._81\n" - " ldrh r1, [r0, #0x8]\n" - " str r1, [r0, #0xc]\n" - " ldr r1, ._81 + 4\n" - " strh r1, [r0, #0x10]\n" - " mov r4, #0x0\n" - " ldrb r1, [r0]\n" - " add r7, r0, #0\n" - " cmp r4, r1\n" - " bcs ._69 @cond_branch\n" - " add r5, r7, #0\n" - " add r6, r1, #0\n" - "._70:\n" - " ldrh r0, [r5, #0x10]\n" - " mov r1, #0xa\n" - " str r3, [sp]\n" - " bl __udivsi3\n" - " strh r0, [r5, #0x10]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r3, [sp]\n" - " cmp r4, r6\n" - " bcc ._70 @cond_branch\n" - "._69:\n" - " ldrh r1, [r7, #0x10]\n" - " ldr r0, [r7, #0xc]\n" - " add r0, r0, r1\n" - " str r0, [r7, #0xc]\n" - " ldr r1, ._81 + 8\n" - " cmp r0, r1\n" - " ble ._71 @cond_branch\n" - " str r1, [r7, #0xc]\n" - "._71:\n" - " ldrh r0, [r7, #0x8]\n" - " ldr r1, [r7, #0xc]\n" - " cmp r0, r1\n" - " bne ._77 @cond_branch\n" - "._68:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._73 @cond_branch\n" - " ldr r0, ._81\n" - " ldrh r1, [r0, #0x8]\n" - " str r1, [r0, #0xc]\n" - " ldr r1, ._81 + 4\n" - " strh r1, [r0, #0x10]\n" - " mov r4, #0x0\n" - " ldrb r1, [r0]\n" - " add r7, r0, #0\n" - " cmp r4, r1\n" - " bcs ._74 @cond_branch\n" - " add r5, r7, #0\n" - " add r6, r1, #0\n" - "._75:\n" - " ldrh r0, [r5, #0x10]\n" - " mov r1, #0xa\n" - " str r3, [sp]\n" - " bl __udivsi3\n" - " strh r0, [r5, #0x10]\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r3, [sp]\n" - " cmp r4, r6\n" - " bcc ._75 @cond_branch\n" - "._74:\n" - " add r2, r7, #0\n" - " ldrh r1, [r2, #0x10]\n" - " ldr r0, [r2, #0xc]\n" - " sub r0, r0, r1\n" - " str r0, [r2, #0xc]\n" - " cmp r0, #0\n" - " bge ._76 @cond_branch\n" - " mov r0, #0x0\n" - " str r0, [r2, #0xc]\n" - "._76:\n" - " ldrh r0, [r2, #0x8]\n" - " ldr r1, [r2, #0xc]\n" - " cmp r0, r1\n" - " bne ._77 @cond_branch\n" - "._73:\n" - " ldrh r2, [r3, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._78 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._79 @cond_branch\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - "._62:\n" - " mov r0, r8\n" - " cmp r0, #0\n" - " beq ._80 @cond_branch\n" - " bl debug_sub_8090C44\n" - "._80:\n" - " mov r0, #0x0\n" - "._63:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._82:\n" - " .align 2, 0\n" - "._81:\n" - " .word gSharedMem\n" - " .word 0x2710\n" - " .word 0xffff\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_PKMNLottery() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x6\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " bl RetrieveLotteryNumber\n" - " ldr r2, ._83\n" - " ldr r0, ._83 + 4\n" - " ldrh r0, [r0]\n" - " mov r1, #0x0\n" - " strh r0, [r2, #0x8]\n" - " strb r1, [r2]\n" - " bl debug_sub_8090C44\n" - " ldr r1, ._83 + 8\n" - " ldr r0, ._83 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._84:\n" - " .align 2, 0\n" - "._83:\n" - " .word gSharedMem\n" - " .word gSpecialVar_Result\n" - " .word gMenuCallback\n" - " .word debug_sub_8090C88+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_Trainer() -{ - asm( - " push {r4, r5, lr}\n" - " mov r4, #0x0\n" - " ldr r5, ._86\n" - "._85:\n" - " lsl r0, r4, #0x4\n" - " add r0, r0, r5\n" - " ldrh r0, [r0]\n" - " bl SetTrainerFlag\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0x37\n" - " bls ._85 @cond_branch\n" - " ldr r0, ._86 + 4\n" - " bl SetTrainerFlag\n" - " mov r0, #0x85\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 8\n" - " bl SetTrainerFlag\n" - " mov r0, #0x86\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 12\n" - " bl SetTrainerFlag\n" - " mov r0, #0x87\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 16\n" - " bl SetTrainerFlag\n" - " mov r0, #0x88\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 20\n" - " bl SetTrainerFlag\n" - " mov r0, #0x83\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 24\n" - " bl SetTrainerFlag\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x1\n" - " bl SetTrainerFlag\n" - " ldr r0, ._86 + 28\n" - " bl SetTrainerFlag\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "._87:\n" - " .align 2, 0\n" - "._86:\n" - " .word gTrainerEyeTrainers\n" - " .word 0x109\n" - " .word 0x10b\n" - " .word 0x10d\n" - " .word 0x10f\n" - " .word 0x105\n" - " .word 0x107\n" - " .word 0x14f\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_PokenavD() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffe4\n" - " bl Menu_DisplayDialogueFrame\n" - " mov r0, #0x0\n" - " mov sl, r0\n" - " mov r6, #0x1\n" - " mov r7, #0xff\n" - " mov r1, #0x3\n" - " mov r9, r1\n" - "._93:\n" - " ldr r4, ._94\n" - " add r0, r4, #0\n" - " ldr r1, ._94 + 4\n" - " bl StringCopy\n" - " mov r5, sl\n" - " add r5, r5, #0x1\n" - " add r1, r5, r4\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " str r5, [sp, #0x14]\n" - " mov r1, sl\n" - " lsl r1, r1, #0x2\n" - " str r1, [sp, #0x18]\n" - "._91:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " add r0, r0, #0x1\n" - " str r0, [sp, #0x10]\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xc1\n" - " lsl r1, r1, #0x1\n" - " bl __umodsi3\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0xfb\n" - " bls ._89 @cond_branch\n" - " add r0, r3, #0\n" - " add r0, r0, #0x19\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " ldr r0, ._94 + 8\n" - " cmp r3, r0\n" - " bls ._89 @cond_branch\n" - " mov r3, #0x1\n" - "._89:\n" - " ldr r0, [sp, #0x18]\n" - " add r0, r0, sl\n" - " lsl r4, r0, #0x4\n" - " sub r4, r4, r0\n" - " lsl r4, r4, #0x5\n" - " mov r1, r8\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r8\n" - " lsl r0, r0, #0x4\n" - " ldr r1, ._94 + 12\n" - " add r0, r0, r1\n" - " add r4, r4, r0\n" - " lsl r2, r5, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " str r6, [sp, #0x8]\n" - " ldr r0, [sp, #0x10]\n" - " str r0, [sp, #0xc]\n" - " add r0, r4, #0\n" - " add r1, r3, #0\n" - " mov r3, #0x20\n" - " bl CreateBoxMon\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x16\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x17\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x18\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x21\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x2f\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r7, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x30\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x32\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x33\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x34\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x36\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " add r1, r1, #0x1\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x35\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x43\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x44\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x45\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x46\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x47\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x48\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x49\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4a\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4b\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4c\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4d\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " bl Random\n" - " add r1, r6, #0\n" - " and r1, r1, r0\n" - " str r1, [sp, #0x10]\n" - " add r0, r4, #0\n" - " mov r1, #0x4e\n" - " add r2, sp, #0x10\n" - " bl SetBoxMonData\n" - " mov r0, r8\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r8, r0\n" - " cmp r0, #0x1d\n" - " bhi ._90 @cond_branch\n" - " b ._91\n" - "._90:\n" - " ldr r1, [sp, #0x14]\n" - " lsl r0, r1, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov sl, r0\n" - " cmp r0, #0xd\n" - " bhi ._92 @cond_branch\n" - " b ._93\n" - "._92:\n" - " bl TayaDebugMenu_TownFlags\n" - " bl TayaDebugMenu_Trainer\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " add sp, sp, #0x1c\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._95:\n" - " .align 2, 0\n" - "._94:\n" - " .word gSharedMem\n" - " .word gUnknown_Debug_083C4F94\n" - " .word 0x19b\n" - " .word gPokemonStorage+0x4\n" - "\n" - ); -} - -__attribute__((naked)) -void TayaDebugMenu_8091190() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r3, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r3, r0\n" - " beq ._96 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r3, r0\n" - " beq ._97 @cond_branch\n" - " ldr r2, ._99\n" - " ldr r1, ._99 + 4\n" - " ldr r0, ._99 + 8\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, [r0]\n" - " lsl r0, r3, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0, #0x4]\n" - " str r0, [r2]\n" - "._106:\n" - " mov r0, #0x0\n" - " b ._98\n" - "._100:\n" - " .align 2, 0\n" - "._99:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_83C5068\n" - " .word unk_2030224\n" - "._96:\n" - " ldr r3, ._107\n" - " ldrb r4, [r3]\n" - " ldr r2, ._107 + 4\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " add r5, r3, #0\n" - " cmp r0, #0\n" - " beq ._102 @cond_branch\n" - " sub r0, r4, #1\n" - " strb r0, [r5]\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bge ._102 @cond_branch\n" - " mov r0, #0x1\n" - " strb r0, [r5]\n" - "._102:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._104 @cond_branch\n" - " ldrb r0, [r5]\n" - " add r0, r0, #0x1\n" - " strb r0, [r5]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bls ._104 @cond_branch\n" - " mov r0, #0x0\n" - " strb r0, [r5]\n" - "._104:\n" - " lsl r0, r4, #0x18\n" - " asr r0, r0, #0x18\n" - " mov r1, #0x0\n" - " ldrsb r1, [r5, r1]\n" - " cmp r0, r1\n" - " beq ._106 @cond_branch\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r4, ._107 + 8\n" - " mov r0, #0x0\n" - " ldrsb r0, [r5, r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r4\n" - " ldrb r2, [r0, #0x4]\n" - " ldr r3, [r0]\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " ldrsb r0, [r5, r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r4\n" - " ldrb r3, [r0, #0x4]\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xa\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl InitMenu\n" - " b ._106\n" - "._108:\n" - " .align 2, 0\n" - "._107:\n" - " .word unk_2030224\n" - " .word gMain\n" - " .word gUnknown_Debug_83C5068\n" - "._97:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._98:\n" - " add sp, sp, #0x8\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void InitTayaDebugWindow() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r1, ._109\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._109 + 4\n" - " ldr r3, [r0]\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xa\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._109 + 8\n" - " ldr r0, ._109 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._110:\n" - " .align 2, 0\n" - "._109:\n" - " .word unk_2030224\n" - " .word gUnknown_Debug_83C5068\n" - " .word gMenuCallback\n" - " .word TayaDebugMenu_8091190+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80912D8() -{ - asm( - " push {lr}\n" - " ldr r0, ._113\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._111 @cond_branch\n" - " mov r0, #0x0\n" - " b ._112\n" - "._114:\n" - " .align 2, 0\n" - "._113:\n" - " .word gPaletteFade\n" - "._111:\n" - " ldr r0, ._115\n" - " bl SetMainCallback2\n" - " mov r0, #0x1\n" - "._112:\n" - " pop {r1}\n" - " bx r1\n" - "._116:\n" - " .align 2, 0\n" - "._115:\n" - " .word debug_sub_8110F28+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8091300() -{ - asm( - " push {lr}\n" - " mov r0, #0x1\n" - " mov r1, #0x0\n" - " bl FadeScreen\n" - " ldr r1, ._117\n" - " ldr r0, ._117 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._118:\n" - " .align 2, 0\n" - "._117:\n" - " .word gMenuCallback\n" - " .word debug_sub_80912D8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8091320() -{ - asm( - " push {lr}\n" - " bl LoadOam\n" - " bl ProcessSpriteCopyRequests\n" - " bl TransferPlttBuffer\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8091334() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " ldr r3, ._123\n" - " add r0, r3, #0\n" - " add r0, r0, #0x52\n" - " ldrb r4, [r0]\n" - " cmp r4, #0\n" - " beq ._119 @cond_branch\n" - " cmp r4, #0x1\n" - " bne ._120 @cond_branch\n" - " b ._121\n" - "._120:\n" - " b ._162\n" - "._124:\n" - " .align 2, 0\n" - "._123:\n" - " .word gSharedMem\n" - "._119:\n" - " add r5, r3, #0\n" - " add r5, r5, #0x55\n" - " strb r4, [r5]\n" - " ldr r2, ._131\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " mov r9, r2\n" - " cmp r0, #0\n" - " beq ._126 @cond_branch\n" - " add r1, r3, #0\n" - " add r1, r1, #0x54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._126 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x1\n" - " strb r0, [r5]\n" - "._126:\n" - " mov r0, r9\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " ldr r5, ._131 + 4\n" - " cmp r0, #0\n" - " beq ._133 @cond_branch\n" - " add r0, r5, #0\n" - " add r0, r0, #0x53\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x2\n" - " beq ._128 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x4\n" - " bhi ._133 @cond_branch\n" - " b ._130\n" - "._132:\n" - " .align 2, 0\n" - "._131:\n" - " .word gMain\n" - " .word gSharedMem\n" - "._128:\n" - " add r1, r5, #0\n" - " add r1, r1, #0x54\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x3\n" - " bhi ._133 @cond_branch\n" - "._130:\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r1, #0x1\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._133:\n" - " mov r2, r9\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._135 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x53\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._135 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._135:\n" - " mov r3, r9\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._140 @cond_branch\n" - " add r0, r5, #0\n" - " add r0, r0, #0x54\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x5\n" - " beq ._137 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x53\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x1\n" - " bhi ._140 @cond_branch\n" - " b ._139\n" - "._137:\n" - " add r1, r5, #0\n" - " add r1, r1, #0x53\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._140 @cond_branch\n" - "._139:\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._140:\n" - " add r0, r5, #0\n" - " add r0, r0, #0x55\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._141 @cond_branch\n" - " mov r0, r9\n" - " ldrh r2, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._142 @cond_branch\n" - " ldr r2, ._145\n" - " add r3, r5, #0\n" - " add r3, r3, #0x53\n" - " add r0, r5, #0\n" - " add r0, r0, #0x54\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r0, r0, r1\n" - " ldrb r3, [r3]\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r2\n" - " ldrh r0, [r0, #0x4]\n" - " sub r0, r0, #0x32\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0x4\n" - " bhi ._143 @cond_branch\n" - " add r1, r5, #0\n" - " add r1, r1, #0x56\n" - " mov r0, #0x4\n" - " b ._144\n" - "._146:\n" - " .align 2, 0\n" - "._145:\n" - " .word gUnknown_Debug_083C50EC\n" - "._143:\n" - " add r1, r5, #0\n" - " add r1, r1, #0x56\n" - " mov r0, #0x1\n" - "._144:\n" - " strb r0, [r1]\n" - " add r1, r5, #0\n" - " add r1, r1, #0x52\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " b ._162\n" - "._142:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._148 @cond_branch\n" - " b ._162\n" - "._148:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x10\n" - " mov r2, #0x0\n" - " bl BlendPalettes\n" - " ldr r0, ._151\n" - " bl SetMainCallback2\n" - " b ._162\n" - "._152:\n" - " .align 2, 0\n" - "._151:\n" - " .word sub_80546F0+1\n" - "._121:\n" - " add r5, r3, #0\n" - " add r5, r5, #0x55\n" - " mov r0, #0x0\n" - " strb r0, [r5]\n" - " ldr r2, ._159\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " mov r9, r2\n" - " cmp r0, #0\n" - " beq ._154 @cond_branch\n" - " add r2, r3, #0\n" - " add r2, r2, #0x53\n" - " add r0, r3, #0\n" - " add r0, r0, #0x54\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r0, r0, r1\n" - " ldrb r2, [r2]\n" - " add r0, r0, r2\n" - " add r2, r0, r3\n" - " add r0, r3, #0\n" - " add r0, r0, #0x56\n" - " ldrb r1, [r2]\n" - " ldrb r0, [r0]\n" - " cmp r1, r0\n" - " bcs ._154 @cond_branch\n" - " add r0, r1, #1\n" - " strb r0, [r2]\n" - " strb r4, [r5]\n" - "._154:\n" - " mov r2, r9\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " ldr r5, ._159 + 4\n" - " cmp r0, #0\n" - " beq ._156 @cond_branch\n" - " add r2, r5, #0\n" - " add r2, r2, #0x53\n" - " add r0, r5, #0\n" - " add r0, r0, #0x54\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r0, r0, r1\n" - " ldrb r2, [r2]\n" - " add r0, r0, r2\n" - " add r1, r0, r5\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._156 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " add r1, r5, #0\n" - " add r1, r1, #0x55\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._156:\n" - " add r6, r5, #0\n" - " add r0, r6, #0\n" - " add r0, r0, #0x55\n" - " ldrb r7, [r0]\n" - " cmp r7, #0\n" - " beq ._157 @cond_branch\n" - "._141:\n" - " bl debug_sub_80916AC\n" - " b ._162\n" - "._160:\n" - " .align 2, 0\n" - "._159:\n" - " .word gMain\n" - " .word gSharedMem\n" - "._157:\n" - " mov r3, r9\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._161 @cond_branch\n" - " ldr r0, ._164\n" - " ldr r1, ._164 + 4\n" - " mov ip, r1\n" - " mov r2, #0x53\n" - " add r2, r2, r6\n" - " mov r8, r2\n" - " add r4, r6, #0\n" - " add r4, r4, #0x54\n" - " ldrb r2, [r4]\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r2\n" - " mov r3, r8\n" - " ldrb r3, [r3]\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, ip\n" - " ldrh r1, [r1, #0x4]\n" - " bl GetMonData\n" - " ldrb r2, [r4]\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r2\n" - " mov r2, r8\n" - " ldrb r2, [r2]\n" - " add r1, r1, r2\n" - " add r1, r1, r6\n" - " strb r0, [r1]\n" - " bl debug_sub_80916AC\n" - " add r0, r6, #0\n" - " add r0, r0, #0x52\n" - " strb r7, [r0]\n" - "._161:\n" - " mov r3, r9\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._162 @cond_branch\n" - " ldr r2, ._164 + 4\n" - " add r0, r6, #0\n" - " add r0, r0, #0x53\n" - " ldrb r4, [r0]\n" - " add r0, r0, #0x1\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x1\n" - " add r3, r0, r1\n" - " add r0, r3, r4\n" - " lsl r0, r0, #0x3\n" - " add r1, r0, r2\n" - " ldrh r0, [r1, #0x4]\n" - " cmp r0, #0\n" - " beq ._163 @cond_branch\n" - " ldr r0, ._164\n" - " ldrh r1, [r1, #0x4]\n" - " add r2, r4, r6\n" - " add r2, r3, r2\n" - " bl SetMonData\n" - "._163:\n" - " add r0, r5, #0\n" - " add r0, r0, #0x52\n" - " strb r7, [r0]\n" - "._162:\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._165:\n" - " .align 2, 0\n" - "._164:\n" - " .word gPlayerParty\n" - " .word gUnknown_Debug_083C50EC\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80915BC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " ldr r0, ._168\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " mov r1, #0x0\n" - " ldr r0, ._168 + 4\n" - " mov r8, r0\n" - " ldr r7, ._168 + 8\n" - "._171:\n" - " mov r4, #0x0\n" - " lsl r0, r1, #0x1\n" - " add r6, r1, #1\n" - " add r5, r0, r1\n" - "._170:\n" - " add r0, r5, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " ldrh r1, [r0, #0x4]\n" - " cmp r1, #0\n" - " beq ._166 @cond_branch\n" - " ldr r0, ._168 + 12\n" - " bl GetMonData\n" - " add r1, r4, r5\n" - " add r1, r1, r7\n" - " strb r0, [r1]\n" - " b ._167\n" - "._169:\n" - " .align 2, 0\n" - "._168:\n" - " .word 0x4000010\n" - " .word gUnknown_Debug_083C50EC\n" - " .word gSharedMem\n" - " .word gPlayerParty\n" - "._166:\n" - " add r0, r4, r5\n" - " add r0, r0, r7\n" - " strb r1, [r0]\n" - "._167:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x2\n" - " bls ._170 @cond_branch\n" - " lsl r0, r6, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x5\n" - " bls ._171 @cond_branch\n" - " ldr r4, ._172\n" - " add r0, r4, #0\n" - " bl Text_LoadWindowTemplate\n" - " add r0, r4, #0\n" - " bl InitMenuWindow\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._172 + 4\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x4\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x12\n" - " mov r2, #0x1d\n" - " mov r3, #0x15\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " mov r2, #0x8a\n" - " lsl r2, r2, #0x5\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r2, ._172 + 8\n" - " add r0, r2, #0\n" - " add r0, r0, #0x53\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " add r0, r0, #0x1\n" - " strb r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strb r1, [r0]\n" - " bl debug_sub_80916AC\n" - " ldr r0, ._172 + 12\n" - " bl SetVBlankCallback\n" - " ldr r0, ._172 + 16\n" - " bl SetMainCallback2\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._173:\n" - " .align 2, 0\n" - "._172:\n" - " .word gWindowTemplate_81E7224\n" - " .word gUnknown_Debug_083C517C\n" - " .word gSharedMem\n" - " .word debug_sub_8091320+1\n" - " .word debug_sub_8091334+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_80916AC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffffc\n" - " mov r6, #0x0\n" - " ldr r0, ._177\n" - " mov sl, r0\n" - " mov r1, #0x0\n" - " mov r8, r1\n" - "._182:\n" - " ldr r2, ._177 + 4\n" - " mov r5, #0x0\n" - " lsl r0, r6, #0x1\n" - " mov r9, r0\n" - " add r1, r6, #1\n" - " str r1, [sp]\n" - "._181:\n" - " mov r0, sl\n" - " add r0, r0, #0x53\n" - " ldrb r0, [r0]\n" - " cmp r0, r5\n" - " bne ._175 @cond_branch\n" - " ldr r1, ._177 + 8\n" - " ldrb r0, [r1]\n" - " cmp r0, r6\n" - " bne ._175 @cond_branch\n" - " mov r0, #0xef\n" - " b ._176\n" - "._178:\n" - " .align 2, 0\n" - "._177:\n" - " .word gSharedMem\n" - " .word gSharedMem+0x12\n" - " .word gSharedMem+0x54\n" - "._175:\n" - " mov r0, r8\n" - " strb r0, [r2]\n" - " add r2, r2, #0x1\n" - "._176:\n" - " strb r0, [r2]\n" - " add r2, r2, #0x1\n" - " mov r1, r9\n" - " add r4, r1, r6\n" - " add r0, r4, r5\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._183\n" - " add r0, r0, r1\n" - " ldr r1, [r0]\n" - " add r0, r2, #0\n" - " bl StringCopy\n" - " add r2, r0, #0\n" - " mov r0, r8\n" - " strb r0, [r2]\n" - " add r2, r2, #0x1\n" - " ldr r7, ._183 + 4\n" - " add r4, r5, r4\n" - " add r4, r4, r7\n" - " ldrb r1, [r4]\n" - " add r0, r2, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " add r2, r0, #0\n" - " mov r1, r8\n" - " strb r1, [r2]\n" - " add r2, r2, #0x1\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x2\n" - " bhi ._179 @cond_branch\n" - " cmp r6, #0x5\n" - " bne ._181 @cond_branch\n" - " cmp r5, #0x2\n" - " bne ._181 @cond_branch\n" - "._179:\n" - " sub r1, r2, #1\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " mov r2, r9\n" - " add r2, r2, #0x5\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " add r0, r7, #0\n" - " add r0, r0, #0x12\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " ldr r1, [sp]\n" - " lsl r0, r1, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x5\n" - " bls ._182 @cond_branch\n" - " add sp, sp, #0x4\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._184:\n" - " .align 2, 0\n" - "._183:\n" - " .word gUnknown_Debug_083C50EC\n" - " .word gSharedMem\n" - "\n" - ); -} - #endif diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 8451a104d..c3616797e 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -17,8639 +17,4 @@ BSS_DATA u8 gDebug_0300071F = 0; BSS_DATA u8 gDebug_03000720 = 0; BSS_DATA u8 gDebug_03000721 = 0; -__attribute__((naked)) -void InitTomomichiDebugWindow() -{ - asm( - " push {lr}\n" - " bl debug_sub_808B874\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808B868() -{ - asm( - " push {lr}\n" - " bl c2_exit_to_overworld_1_continue_scripts_restart_music\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808B874() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xd\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._1\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " ldr r0, ._1 + 4\n" - " ldrb r0, [r0]\n" - " str r0, [sp]\n" - " mov r0, #0xc\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._1 + 8\n" - " ldr r0, ._1 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._2:\n" - " .align 2, 0\n" - "._1:\n" - " .word gUnknown_Debug_083C0CBA\n" - " .word gDebug_0300071D\n" - " .word gMenuCallback\n" - " .word debug_sub_808B8C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808B8C8() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._7\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._3 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._7 + 4\n" - " strb r0, [r1]\n" - "._3:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._4 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._7 + 4\n" - " strb r0, [r1]\n" - "._4:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._5 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._7 + 8\n" - " ldr r0, ._7 + 4\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r1, r1, #0x4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._10\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word gMain\n" - " .word gDebug_0300071D\n" - " .word gUnknown_Debug_083C0CBA\n" - "._5:\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._9 @cond_branch\n" - " mov r0, #0x0\n" - " b ._10\n" - "._9:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._10:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ContestGraphics() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x14\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._11\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._11 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x13\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " ldr r1, ._11 + 8\n" - " ldr r0, ._11 + 12\n" - " str r0, [r1]\n" - " ldr r0, ._11 + 16\n" - " mov r2, #0x1\n" - " strh r2, [r0]\n" - " ldr r1, ._11 + 20\n" - " ldr r0, ._11 + 24\n" - " str r0, [r1]\n" - " ldr r0, ._11 + 28\n" - " str r4, [r0]\n" - " ldr r0, ._11 + 32\n" - " strb r2, [r0]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._12:\n" - " .align 2, 0\n" - "._11:\n" - " .word gUnknown_Debug_083C0CF4\n" - " .word gUnknown_Debug_083C0D2C\n" - " .word gMenuCallback\n" - " .word debug_sub_808BC48+1\n" - " .word gDebug_03000700\n" - " .word gDebug_03000704\n" - " .word 0x6f33\n" - " .word gDebug_03000708\n" - " .word gDebug_0300070C\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ArtMusGraphics() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x14\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._13\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._13 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x13\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " ldr r1, ._13 + 8\n" - " ldr r0, ._13 + 12\n" - " str r0, [r1]\n" - " ldr r0, ._13 + 16\n" - " mov r2, #0x1\n" - " strh r2, [r0]\n" - " ldr r1, ._13 + 20\n" - " ldr r0, ._13 + 24\n" - " str r0, [r1]\n" - " ldr r0, ._13 + 28\n" - " str r4, [r0]\n" - " ldr r0, ._13 + 32\n" - " strb r2, [r0]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._14:\n" - " .align 2, 0\n" - "._13:\n" - " .word gUnknown_Debug_083C0D4C\n" - " .word gUnknown_Debug_083C0D83\n" - " .word gMenuCallback\n" - " .word debug_sub_808BCBC+1\n" - " .word gDebug_03000700\n" - " .word gDebug_03000704\n" - " .word 0x6f33\n" - " .word gDebug_03000708\n" - " .word gDebug_0300070D\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_PreviewData() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x14\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._15\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._15 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x13\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " ldr r1, ._15 + 8\n" - " ldr r0, ._15 + 12\n" - " str r0, [r1]\n" - " ldr r0, ._15 + 16\n" - " mov r2, #0x1\n" - " strh r2, [r0]\n" - " ldr r1, ._15 + 20\n" - " ldr r0, ._15 + 24\n" - " str r0, [r1]\n" - " ldr r0, ._15 + 28\n" - " str r4, [r0]\n" - " ldr r0, ._15 + 32\n" - " strb r2, [r0]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._16:\n" - " .align 2, 0\n" - "._15:\n" - " .word gUnknown_Debug_083C0DA4\n" - " .word gUnknown_Debug_083C0DD4\n" - " .word gMenuCallback\n" - " .word debug_sub_808BD30+1\n" - " .word gDebug_03000700\n" - " .word gDebug_03000704\n" - " .word 0x6f33\n" - " .word gDebug_03000708\n" - " .word gDebug_0300070E\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_TrickHouse() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._17\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._17 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " ldr r0, ._17 + 8\n" - " ldrb r0, [r0]\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._17 + 12\n" - " ldr r0, ._17 + 16\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._18:\n" - " .align 2, 0\n" - "._17:\n" - " .word gUnknown_Debug_083C0DF4\n" - " .word gUnknown_Debug_083C0E15\n" - " .word gDebug_0300071E\n" - " .word gMenuCallback\n" - " .word debug_sub_808BDA4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ControlEvents() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._19\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " ldr r0, ._19 + 4\n" - " ldrb r0, [r0]\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._19 + 8\n" - " ldr r0, ._19 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._20:\n" - " .align 2, 0\n" - "._19:\n" - " .word gUnknown_Debug_083C0E32\n" - " .word gDebug_0300071F\n" - " .word gMenuCallback\n" - " .word debug_sub_808BE2C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ControlFlags() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._21\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " ldr r0, ._21 + 4\n" - " ldrb r0, [r0]\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._21 + 8\n" - " ldr r0, ._21 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._22:\n" - " .align 2, 0\n" - "._21:\n" - " .word gUnknown_Debug_083C0E7F\n" - " .word gDebug_03000720\n" - " .word gMenuCallback\n" - " .word debug_sub_808BEB4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ControlWorks() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._23\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " ldr r0, ._23 + 4\n" - " ldrb r0, [r0]\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r1, ._23 + 8\n" - " ldr r0, ._23 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._24:\n" - " .align 2, 0\n" - "._23:\n" - " .word gUnknown_Debug_083C0EF1\n" - " .word gDebug_03000721\n" - " .word gMenuCallback\n" - " .word debug_sub_808BF3C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BC48() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._25 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._26 @cond_branch\n" - " cmp r0, #0\n" - " beq ._27 @cond_branch\n" - " b ._32\n" - "._26:\n" - " cmp r0, #0x2\n" - " beq ._29 @cond_branch\n" - " b ._32\n" - "._27:\n" - " bl debug_sub_808ED0C\n" - " b ._32\n" - "._25:\n" - " bl debug_sub_808ED9C\n" - " b ._32\n" - "._29:\n" - " bl debug_sub_808EE3C\n" - "._32:\n" - " mov r0, #0x0\n" - " bl debug_sub_808EF8C\n" - " lsl r0, r4, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._36 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._34 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._35\n" - "._34:\n" - " cmp r1, #0x3\n" - " bne ._36 @cond_branch\n" - " ldr r0, ._37\n" - " ldr r1, ._37 + 4\n" - " ldr r1, [r1, #0x1c]\n" - " str r1, [r0]\n" - "._36:\n" - " mov r0, #0x0\n" - "._35:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._38:\n" - " .align 2, 0\n" - "._37:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C0D2C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BCBC() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._39 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._40 @cond_branch\n" - " cmp r0, #0\n" - " beq ._41 @cond_branch\n" - " b ._46\n" - "._40:\n" - " cmp r0, #0x2\n" - " beq ._43 @cond_branch\n" - " b ._46\n" - "._41:\n" - " bl debug_sub_808ED0C\n" - " b ._46\n" - "._39:\n" - " bl debug_sub_808ED9C\n" - " b ._46\n" - "._43:\n" - " bl debug_sub_808EE9C\n" - "._46:\n" - " mov r0, #0x1\n" - " bl debug_sub_808EF8C\n" - " lsl r0, r4, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._50 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._48 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._49\n" - "._48:\n" - " cmp r1, #0x3\n" - " bne ._50 @cond_branch\n" - " ldr r0, ._51\n" - " ldr r1, ._51 + 4\n" - " ldr r1, [r1, #0x1c]\n" - " str r1, [r0]\n" - "._50:\n" - " mov r0, #0x0\n" - "._49:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._52:\n" - " .align 2, 0\n" - "._51:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C0D83\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BD30() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._53 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._54 @cond_branch\n" - " cmp r0, #0\n" - " beq ._55 @cond_branch\n" - " b ._60\n" - "._54:\n" - " cmp r0, #0x2\n" - " beq ._57 @cond_branch\n" - " b ._60\n" - "._55:\n" - " bl debug_sub_808ED0C\n" - " b ._60\n" - "._53:\n" - " bl debug_sub_808ED9C\n" - " b ._60\n" - "._57:\n" - " bl debug_sub_808EF14\n" - "._60:\n" - " mov r0, #0x2\n" - " bl debug_sub_808EF8C\n" - " lsl r0, r4, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._64 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._62 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._63\n" - "._62:\n" - " cmp r1, #0x3\n" - " bne ._64 @cond_branch\n" - " ldr r0, ._65\n" - " ldr r1, ._65 + 4\n" - " ldr r1, [r1, #0x1c]\n" - " str r1, [r0]\n" - "._64:\n" - " mov r0, #0x0\n" - "._63:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._66:\n" - " .align 2, 0\n" - "._65:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C0DD4\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BDA4() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._71\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._67 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._71 + 4\n" - " strb r0, [r1]\n" - "._67:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._68 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._71 + 4\n" - " strb r0, [r1]\n" - "._68:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._69 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._71 + 8\n" - " ldr r0, ._71 + 4\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r1, r1, #0x4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._74\n" - "._72:\n" - " .align 2, 0\n" - "._71:\n" - " .word gMain\n" - " .word gDebug_0300071E\n" - " .word gUnknown_Debug_083C0E15\n" - "._69:\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._73 @cond_branch\n" - " mov r0, #0x0\n" - " b ._74\n" - "._73:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._74:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BE2C() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._79\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._75 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._79 + 4\n" - " strb r0, [r1]\n" - "._75:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._76 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._79 + 4\n" - " strb r0, [r1]\n" - "._76:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._77 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._79 + 8\n" - " ldr r0, ._79 + 4\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r1, r1, #0x4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._82\n" - "._80:\n" - " .align 2, 0\n" - "._79:\n" - " .word gMain\n" - " .word gDebug_0300071F\n" - " .word gUnknown_Debug_083C0E32\n" - "._77:\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._81 @cond_branch\n" - " mov r0, #0x0\n" - " b ._82\n" - "._81:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._82:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BEB4() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._87\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._83 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._87 + 4\n" - " strb r0, [r1]\n" - "._83:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._84 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._87 + 4\n" - " strb r0, [r1]\n" - "._84:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._85 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._87 + 8\n" - " ldr r0, ._87 + 4\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r1, r1, #0x4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._90\n" - "._88:\n" - " .align 2, 0\n" - "._87:\n" - " .word gMain\n" - " .word gDebug_03000720\n" - " .word gUnknown_Debug_083C0E7F\n" - "._85:\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._89 @cond_branch\n" - " mov r0, #0x0\n" - " b ._90\n" - "._89:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._90:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BF3C() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._95\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._91 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._95 + 4\n" - " strb r0, [r1]\n" - "._91:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._92 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._95 + 4\n" - " strb r0, [r1]\n" - "._92:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._93 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._95 + 8\n" - " ldr r0, ._95 + 4\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r1, r1, #0x4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._98\n" - "._96:\n" - " .align 2, 0\n" - "._95:\n" - " .word gMain\n" - " .word gDebug_03000721\n" - " .word gUnknown_Debug_083C0EF1\n" - "._93:\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._97 @cond_branch\n" - " mov r0, #0x0\n" - " b ._98\n" - "._97:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._98:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808BFC4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._99\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._99 + 4\n" - " ldr r0, ._99 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._100:\n" - " .align 2, 0\n" - "._99:\n" - " .word gUnknown_Debug_083C0F79\n" - " .word gMenuCallback\n" - " .word debug_sub_808C064+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C014() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._101\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r1, ._101 + 4\n" - " ldr r0, ._101 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._102:\n" - " .align 2, 0\n" - "._101:\n" - " .word gUnknown_Debug_083C0FFC\n" - " .word gMenuCallback\n" - " .word debug_sub_808C0A8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C064() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._103 @cond_branch\n" - " mov r0, #0x0\n" - " b ._106\n" - "._103:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._105 @cond_branch\n" - " ldr r2, ._107\n" - " ldr r0, ._107 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._106\n" - "._108:\n" - " .align 2, 0\n" - "._107:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C0F79\n" - "._105:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._106:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C0A8() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._109 @cond_branch\n" - " mov r0, #0x0\n" - " b ._112\n" - "._109:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._111 @cond_branch\n" - " ldr r2, ._113\n" - " ldr r0, ._113 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._112\n" - "._114:\n" - " .align 2, 0\n" - "._113:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C0FFC\n" - "._111:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._112:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C0EC() -{ - asm( - " push {lr}\n" - " ldr r0, ._115\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._116:\n" - " .align 2, 0\n" - "._115:\n" - " .word DebugScript_081C1CFE\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C104() -{ - asm( - " push {lr}\n" - " ldr r0, ._117\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._118:\n" - " .align 2, 0\n" - "._117:\n" - " .word DebugScript_081C1D07\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C11C() -{ - asm( - " push {lr}\n" - " ldr r0, ._119\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._120:\n" - " .align 2, 0\n" - "._119:\n" - " .word DebugScript_081C1D1E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C134() -{ - asm( - " push {lr}\n" - " ldr r0, ._121\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._122:\n" - " .align 2, 0\n" - "._121:\n" - " .word DebugScript_081C1D24\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C14C() -{ - asm( - " push {lr}\n" - " ldr r0, ._123\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._124:\n" - " .align 2, 0\n" - "._123:\n" - " .word DebugScript_081C1D2A\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C164() -{ - asm( - " push {lr}\n" - " ldr r0, ._125\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._126:\n" - " .align 2, 0\n" - "._125:\n" - " .word DebugScript_081C1D35\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C17C() -{ - asm( - " push {lr}\n" - " ldr r0, ._127\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._128:\n" - " .align 2, 0\n" - "._127:\n" - " .word DebugScript_081C1D46\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C194() -{ - asm( - " push {lr}\n" - " ldr r0, ._129\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._130:\n" - " .align 2, 0\n" - "._129:\n" - " .word DebugScript_081C221F\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C1AC() -{ - asm( - " push {lr}\n" - " ldr r0, ._131\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._132:\n" - " .align 2, 0\n" - "._131:\n" - " .word DebugScript_081C23E2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C1C4() -{ - asm( - " push {lr}\n" - " ldr r0, ._133\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._134:\n" - " .align 2, 0\n" - "._133:\n" - " .word DebugScript_081C23E6\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C1DC() -{ - asm( - " push {lr}\n" - " ldr r0, ._135\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._136:\n" - " .align 2, 0\n" - "._135:\n" - " .word DebugScript_081C23F6\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C1F4() -{ - asm( - " push {lr}\n" - " ldr r0, ._137\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._138:\n" - " .align 2, 0\n" - "._137:\n" - " .word DebugScript_081C2482\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C20C() -{ - asm( - " push {lr}\n" - " ldr r0, ._139\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._140:\n" - " .align 2, 0\n" - "._139:\n" - " .word DebugScript_081C23FD\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C224() -{ - asm( - " push {lr}\n" - " ldr r0, ._141\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._142:\n" - " .align 2, 0\n" - "._141:\n" - " .word DebugScript_081C2518\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C23C() -{ - asm( - " push {lr}\n" - " ldr r0, ._143\n" - " bl ScriptContext1_SetupScript\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._144:\n" - " .align 2, 0\n" - "._143:\n" - " .word DebugScript_081C2507\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_ContestGraphics_Show() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._145\n" - " ldr r0, ._145 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._146:\n" - " .align 2, 0\n" - "._145:\n" - " .word gMenuCallback\n" - " .word debug_sub_808C280+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C280() -{ - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._147 @cond_branch\n" - " mov r0, #0x0\n" - " b ._148\n" - "._147:\n" - " bl CloseMenu\n" - " mov r0, #0x0\n" - " bl debug_sub_808F168\n" - " ldr r0, ._149\n" - " bl SetMainCallback2\n" - " ldr r1, ._149 + 4\n" - " ldr r0, ._149 + 8\n" - " str r0, [r1, #0x8]\n" - " mov r0, #0x1\n" - "._148:\n" - " pop {r1}\n" - " bx r1\n" - "._150:\n" - " .align 2, 0\n" - "._149:\n" - " .word CB2_ContestPainting+1\n" - " .word gMain\n" - " .word debug_sub_808B868+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_MuseumGraphics_Show() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._151\n" - " ldr r0, ._151 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._152:\n" - " .align 2, 0\n" - "._151:\n" - " .word gMenuCallback\n" - " .word debug_sub_808C2E4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C2E4() -{ - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._153 @cond_branch\n" - " mov r0, #0x0\n" - " b ._154\n" - "._153:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " bl debug_sub_808F168\n" - " ldr r0, ._155\n" - " bl SetMainCallback2\n" - " ldr r1, ._155 + 4\n" - " ldr r0, ._155 + 8\n" - " str r0, [r1, #0x8]\n" - " mov r0, #0x1\n" - "._154:\n" - " pop {r1}\n" - " bx r1\n" - "._156:\n" - " .align 2, 0\n" - "._155:\n" - " .word CB2_ContestPainting+1\n" - " .word gMain\n" - " .word debug_sub_808B868+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C31C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._157\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._157 + 4\n" - " ldr r0, ._157 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._158:\n" - " .align 2, 0\n" - "._157:\n" - " .word gUnknown_Debug_083C2828\n" - " .word gMenuCallback\n" - " .word debug_sub_808C36C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C36C() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._159 @cond_branch\n" - " mov r0, #0x0\n" - " b ._162\n" - "._159:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._161 @cond_branch\n" - " ldr r2, ._163\n" - " ldr r0, ._163 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._162\n" - "._164:\n" - " .align 2, 0\n" - "._163:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C2828\n" - "._161:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._162:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C3B0() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._165\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r0, ._165 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._165 + 8\n" - " ldr r0, ._165 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._166:\n" - " .align 2, 0\n" - "._165:\n" - " .word gUnknown_Debug_083C2938\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C408() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._167\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._167 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._167 + 8\n" - " ldr r0, ._167 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._168:\n" - " .align 2, 0\n" - "._167:\n" - " .word gUnknown_Debug_083C2A48\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C460() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._169\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._169 + 4\n" - " mov r0, #0x2\n" - " strb r0, [r1]\n" - " ldr r1, ._169 + 8\n" - " ldr r0, ._169 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._170:\n" - " .align 2, 0\n" - "._169:\n" - " .word gUnknown_Debug_083C2B4C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C4B8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._171\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._171 + 4\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - " ldr r1, ._171 + 8\n" - " ldr r0, ._171 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._172:\n" - " .align 2, 0\n" - "._171:\n" - " .word gUnknown_Debug_083C2C80\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C510() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._173\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._173 + 4\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r1, ._173 + 8\n" - " ldr r0, ._173 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._174:\n" - " .align 2, 0\n" - "._173:\n" - " .word gUnknown_Debug_083C2D8C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C568() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._175\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._175 + 4\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r1, ._175 + 8\n" - " ldr r0, ._175 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._176:\n" - " .align 2, 0\n" - "._175:\n" - " .word gUnknown_Debug_083C2EB0\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C5C0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._177\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._177 + 4\n" - " mov r0, #0x6\n" - " strb r0, [r1]\n" - " ldr r1, ._177 + 8\n" - " ldr r0, ._177 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._178:\n" - " .align 2, 0\n" - "._177:\n" - " .word gUnknown_Debug_083C2FE0\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C618() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._179\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._179 + 4\n" - " mov r0, #0x7\n" - " strb r0, [r1]\n" - " ldr r1, ._179 + 8\n" - " ldr r0, ._179 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._180:\n" - " .align 2, 0\n" - "._179:\n" - " .word gUnknown_Debug_083C3100\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C670() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._181\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl InitMenu\n" - " ldr r1, ._181 + 4\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldr r1, ._181 + 8\n" - " ldr r0, ._181 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._182:\n" - " .align 2, 0\n" - "._181:\n" - " .word gUnknown_Debug_083C3194\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808C6C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C6C8() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._186\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808C714\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808C764\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._183 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._184 @cond_branch\n" - "._183:\n" - " mov r0, #0x0\n" - " b ._185\n" - "._187:\n" - " .align 2, 0\n" - "._186:\n" - " .word gDebug_0300070F\n" - "._184:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._185:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C714() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._191\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._190 @cond_branch\n" - " ldr r0, ._191 + 4\n" - " lsl r1, r2, #0x3\n" - " add r1, r1, r2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r0\n" - " ldrh r4, [r1]\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._189 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._190\n" - "._192:\n" - " .align 2, 0\n" - "._191:\n" - " .word gMain\n" - " .word gUnknown_Debug_83C31E6\n" - "._189:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - "._190:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C764() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._195\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._193 @cond_branch\n" - " ldr r0, ._195 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._194:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " neg r2, r0\n" - " orr r2, r2, r0\n" - " lsr r2, r2, #0x1f\n" - " mov r0, #0x1c\n" - " add r1, r4, #0\n" - " bl debug_sub_808F2E0\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._194 @cond_branch\n" - "._193:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._196:\n" - " .align 2, 0\n" - "._195:\n" - " .word gUnknown_Debug_083C31DC\n" - " .word gUnknown_Debug_83C31E6\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C7C8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._197\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._197 + 4\n" - " ldr r0, ._197 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._198:\n" - " .align 2, 0\n" - "._197:\n" - " .word gUnknown_Debug_083C1CE8\n" - " .word gMenuCallback\n" - " .word debug_sub_808C818+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C818() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._199 @cond_branch\n" - " mov r0, #0x0\n" - " b ._202\n" - "._199:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._201 @cond_branch\n" - " ldr r2, ._203\n" - " ldr r0, ._203 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._202\n" - "._204:\n" - " .align 2, 0\n" - "._203:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C1CE8\n" - "._201:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._202:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C85C() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._205\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r0, ._205 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._205 + 8\n" - " ldr r0, ._205 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._206:\n" - " .align 2, 0\n" - "._205:\n" - " .word gUnknown_Debug_083C1E0C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C8B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._207\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._207 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._207 + 8\n" - " ldr r0, ._207 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._208:\n" - " .align 2, 0\n" - "._207:\n" - " .word gUnknown_Debug_083C1F38\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C90C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._209\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._209 + 4\n" - " mov r0, #0x2\n" - " strb r0, [r1]\n" - " ldr r1, ._209 + 8\n" - " ldr r0, ._209 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._210:\n" - " .align 2, 0\n" - "._209:\n" - " .word gUnknown_Debug_083C206C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C964() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._211\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._211 + 4\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - " ldr r1, ._211 + 8\n" - " ldr r0, ._211 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._212:\n" - " .align 2, 0\n" - "._211:\n" - " .word gUnknown_Debug_083C2190\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808C9BC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._213\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r1, ._213 + 4\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r1, ._213 + 8\n" - " ldr r0, ._213 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._214:\n" - " .align 2, 0\n" - "._213:\n" - " .word gUnknown_Debug_083C2264\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CA14() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._215\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._215 + 4\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r1, ._215 + 8\n" - " ldr r0, ._215 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._216:\n" - " .align 2, 0\n" - "._215:\n" - " .word gUnknown_Debug_083C2370\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CA6C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._217\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._217 + 4\n" - " mov r0, #0x6\n" - " strb r0, [r1]\n" - " ldr r1, ._217 + 8\n" - " ldr r0, ._217 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._218:\n" - " .align 2, 0\n" - "._217:\n" - " .word gUnknown_Debug_083C248C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CAC4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._219\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._219 + 4\n" - " mov r0, #0x7\n" - " strb r0, [r1]\n" - " ldr r1, ._219 + 8\n" - " ldr r0, ._219 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._220:\n" - " .align 2, 0\n" - "._219:\n" - " .word gUnknown_Debug_083C259C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CB1C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._221\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._221 + 4\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldr r1, ._221 + 8\n" - " ldr r0, ._221 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._222:\n" - " .align 2, 0\n" - "._221:\n" - " .word gUnknown_Debug_083C26C8\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CB74+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CB74() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._226\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808CBC0\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808CC10\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._223 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._224 @cond_branch\n" - "._223:\n" - " mov r0, #0x0\n" - " b ._225\n" - "._227:\n" - " .align 2, 0\n" - "._226:\n" - " .word gDebug_0300070F\n" - "._224:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._225:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CBC0() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._231\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._230 @cond_branch\n" - " ldr r0, ._231 + 4\n" - " lsl r1, r2, #0x3\n" - " add r1, r1, r2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r0\n" - " ldrh r4, [r1]\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._229 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._230\n" - "._232:\n" - " .align 2, 0\n" - "._231:\n" - " .word gMain\n" - " .word gUnknown_Debug_083C271A\n" - "._229:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - "._230:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CC10() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._235\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._233 @cond_branch\n" - " ldr r0, ._235 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._234:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " neg r2, r0\n" - " orr r2, r2, r0\n" - " lsr r2, r2, #0x1f\n" - " mov r0, #0x1c\n" - " add r1, r4, #0\n" - " bl debug_sub_808F2E0\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._234 @cond_branch\n" - "._233:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._236:\n" - " .align 2, 0\n" - "._235:\n" - " .word gUnknown_Debug_083C2710\n" - " .word gUnknown_Debug_083C271A\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CC74() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._237\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl InitMenu\n" - " ldr r1, ._237 + 4\n" - " ldr r0, ._237 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._238:\n" - " .align 2, 0\n" - "._237:\n" - " .word gUnknown_Debug_083C1ADC\n" - " .word gMenuCallback\n" - " .word debug_sub_808CCC4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CCC4() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._239 @cond_branch\n" - " mov r0, #0x0\n" - " b ._242\n" - "._239:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._241 @cond_branch\n" - " ldr r2, ._243\n" - " ldr r0, ._243 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._242\n" - "._244:\n" - " .align 2, 0\n" - "._243:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C1ADC\n" - "._241:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._242:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CD08() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._245\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x8\n" - " bl InitMenu\n" - " ldr r0, ._245 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._245 + 8\n" - " ldr r0, ._245 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._246:\n" - " .align 2, 0\n" - "._245:\n" - " .word gUnknown_Debug_083C1B7C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CE10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CD60() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._247\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " ldr r1, ._247 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._247 + 8\n" - " ldr r0, ._247 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._248:\n" - " .align 2, 0\n" - "._247:\n" - " .word gUnknown_Debug_083C1BF0\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CE10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CDB8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._249\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl InitMenu\n" - " ldr r1, ._249 + 4\n" - " mov r0, #0x2\n" - " strb r0, [r1]\n" - " ldr r1, ._249 + 8\n" - " ldr r0, ._249 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._250:\n" - " .align 2, 0\n" - "._249:\n" - " .word gUnknown_Debug_083C1C2C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808CE10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CE10() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._254\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808CE5C\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808CEAC\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._251 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._252 @cond_branch\n" - "._251:\n" - " mov r0, #0x0\n" - " b ._253\n" - "._255:\n" - " .align 2, 0\n" - "._254:\n" - " .word gDebug_0300070F\n" - "._252:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._253:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CE5C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._259\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._258 @cond_branch\n" - " ldr r0, ._259 + 4\n" - " lsl r1, r2, #0x3\n" - " add r1, r1, r2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r0\n" - " ldrh r4, [r1]\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._257 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._258\n" - "._260:\n" - " .align 2, 0\n" - "._259:\n" - " .word gMain\n" - " .word gUnknown_Debug_083C1C38\n" - "._257:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - "._258:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CEAC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._263\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._261 @cond_branch\n" - " ldr r0, ._263 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._262:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " neg r2, r0\n" - " orr r2, r2, r0\n" - " lsr r2, r2, #0x1f\n" - " mov r0, #0x1c\n" - " add r1, r4, #0\n" - " bl debug_sub_808F2E0\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._262 @cond_branch\n" - "._261:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._264:\n" - " .align 2, 0\n" - "._263:\n" - " .word gUnknown_Debug_083C1C34\n" - " .word gUnknown_Debug_083C1C38\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CF10() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._265\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._265 + 4\n" - " ldr r0, ._265 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._266:\n" - " .align 2, 0\n" - "._265:\n" - " .word gUnknown_Debug_083C1330\n" - " .word gMenuCallback\n" - " .word debug_sub_808CF60+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CF60() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._267 @cond_branch\n" - " mov r0, #0x0\n" - " b ._270\n" - "._267:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._269 @cond_branch\n" - " ldr r2, ._271\n" - " ldr r0, ._271 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._270\n" - "._272:\n" - " .align 2, 0\n" - "._271:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C1330\n" - "._269:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._270:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CFA4() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._273\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x8\n" - " bl InitMenu\n" - " ldr r0, ._273 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._273 + 8\n" - " ldr r0, ._273 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._274:\n" - " .align 2, 0\n" - "._273:\n" - " .word gUnknown_Debug_083C13D8\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808CFFC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._275\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._275 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._275 + 8\n" - " ldr r0, ._275 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._276:\n" - " .align 2, 0\n" - "._275:\n" - " .word gUnknown_Debug_083C1465\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D054() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._277\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._277 + 4\n" - " mov r0, #0x2\n" - " strb r0, [r1]\n" - " ldr r1, ._277 + 8\n" - " ldr r0, ._277 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._278:\n" - " .align 2, 0\n" - "._277:\n" - " .word gUnknown_Debug_083C1503\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D0AC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._279\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " ldr r1, ._279 + 4\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - " ldr r1, ._279 + 8\n" - " ldr r0, ._279 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._280:\n" - " .align 2, 0\n" - "._279:\n" - " .word gUnknown_Debug_083C158A\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D104() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._281\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._281 + 4\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r1, ._281 + 8\n" - " ldr r0, ._281 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._282:\n" - " .align 2, 0\n" - "._281:\n" - " .word gUnknown_Debug_083C1647\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D15C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._283\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._283 + 4\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r1, ._283 + 8\n" - " ldr r0, ._283 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._284:\n" - " .align 2, 0\n" - "._283:\n" - " .word gUnknown_Debug_083C1712\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D1B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._285\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._285 + 4\n" - " mov r0, #0x6\n" - " strb r0, [r1]\n" - " ldr r1, ._285 + 8\n" - " ldr r0, ._285 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._286:\n" - " .align 2, 0\n" - "._285:\n" - " .word gUnknown_Debug_083C17F8\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D20C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._287\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._287 + 4\n" - " mov r0, #0x7\n" - " strb r0, [r1]\n" - " ldr r1, ._287 + 8\n" - " ldr r0, ._287 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._288:\n" - " .align 2, 0\n" - "._287:\n" - " .word gUnknown_Debug_083C18B8\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D264() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._289\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl InitMenu\n" - " ldr r1, ._289 + 4\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldr r1, ._289 + 8\n" - " ldr r0, ._289 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._290:\n" - " .align 2, 0\n" - "._289:\n" - " .word gDebug_0x83C1974\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D2BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D2BC() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._294\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808D308\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808D358\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._291 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._292 @cond_branch\n" - "._291:\n" - " mov r0, #0x0\n" - " b ._293\n" - "._295:\n" - " .align 2, 0\n" - "._294:\n" - " .word gDebug_0300070F\n" - "._292:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._293:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D308() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._299\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._298 @cond_branch\n" - " ldr r0, ._299 + 4\n" - " lsl r1, r2, #0x3\n" - " add r1, r1, r2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r0\n" - " ldrh r4, [r1]\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._297 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._298\n" - "._300:\n" - " .align 2, 0\n" - "._299:\n" - " .word gMain\n" - " .word gUnknown_Debug_083C19C6\n" - "._297:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - "._298:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D358() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._303\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._301 @cond_branch\n" - " ldr r0, ._303 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._302:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " neg r2, r0\n" - " orr r2, r2, r0\n" - " lsr r2, r2, #0x1f\n" - " mov r0, #0x1c\n" - " add r1, r4, #0\n" - " bl debug_sub_808F2E0\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._302 @cond_branch\n" - "._301:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._304:\n" - " .align 2, 0\n" - "._303:\n" - " .word gUnknown_Debug_083C19BC\n" - " .word gUnknown_Debug_083C19C6\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D3BC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._305\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._305 + 4\n" - " ldr r0, ._305 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._306:\n" - " .align 2, 0\n" - "._305:\n" - " .word gUnknown_Debug_083C105C\n" - " .word gMenuCallback\n" - " .word debug_sub_808D40C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D40C() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._307 @cond_branch\n" - " mov r0, #0x0\n" - " b ._310\n" - "._307:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._309 @cond_branch\n" - " ldr r2, ._311\n" - " ldr r0, ._311 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._310\n" - "._312:\n" - " .align 2, 0\n" - "._311:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C105C\n" - "._309:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._310:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D450() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._313\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r0, ._313 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._313 + 8\n" - " ldr r0, ._313 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._314:\n" - " .align 2, 0\n" - "._313:\n" - " .word gUnknown_Debug_083C10BD\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D500+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D4A8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._315\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._315 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._315 + 8\n" - " ldr r0, ._315 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._316:\n" - " .align 2, 0\n" - "._315:\n" - " .word gUnknown_Debug_083C1149\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D500+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D500() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._320\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808D54C\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808D59C\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._317 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._318 @cond_branch\n" - "._317:\n" - " mov r0, #0x0\n" - " b ._319\n" - "._321:\n" - " .align 2, 0\n" - "._320:\n" - " .word gDebug_0300070F\n" - "._318:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._319:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D54C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._325\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._324 @cond_branch\n" - " ldr r0, ._325 + 4\n" - " lsl r1, r2, #0x3\n" - " add r1, r1, r2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r0\n" - " ldrh r4, [r1]\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._323 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._324\n" - "._326:\n" - " .align 2, 0\n" - "._325:\n" - " .word gMain\n" - " .word gUnknown_Debug_083C1196\n" - "._323:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - "._324:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D59C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._329\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._327 @cond_branch\n" - " ldr r0, ._329 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._328:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " neg r2, r0\n" - " orr r2, r2, r0\n" - " lsr r2, r2, #0x1f\n" - " mov r0, #0x1c\n" - " add r1, r4, #0\n" - " bl debug_sub_808F2E0\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._328 @cond_branch\n" - "._327:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._330:\n" - " .align 2, 0\n" - "._329:\n" - " .word gUnknown_Debug_083C1194\n" - " .word gUnknown_Debug_083C1196\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D600() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._331\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._331 + 4\n" - " ldr r0, ._331 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._332:\n" - " .align 2, 0\n" - "._331:\n" - " .word gUnknown_Debug_083C11CC\n" - " .word gMenuCallback\n" - " .word debug_sub_808D650+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D650() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._333 @cond_branch\n" - " mov r0, #0x0\n" - " b ._336\n" - "._333:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._335 @cond_branch\n" - " ldr r2, ._337\n" - " ldr r0, ._337 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._336\n" - "._338:\n" - " .align 2, 0\n" - "._337:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C11CC\n" - "._335:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._336:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D694() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._339\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r0, ._339 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._339 + 8\n" - " ldr r0, ._339 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._340:\n" - " .align 2, 0\n" - "._339:\n" - " .word gUnknown_Debug_083C1212\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D744+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D6EC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._341\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._341 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._341 + 8\n" - " ldr r0, ._341 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._342:\n" - " .align 2, 0\n" - "._341:\n" - " .word gUnknown_Debug_083C1288\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D744+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D744() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._346\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808D790\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808D7E0\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._343 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._344 @cond_branch\n" - "._343:\n" - " mov r0, #0x0\n" - " b ._345\n" - "._347:\n" - " .align 2, 0\n" - "._346:\n" - " .word gDebug_0300070F\n" - "._344:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._345:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D790() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._351\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._350 @cond_branch\n" - " ldr r0, ._351 + 4\n" - " lsl r1, r2, #0x3\n" - " add r1, r1, r2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r0\n" - " ldrh r4, [r1]\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._349 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._350\n" - "._352:\n" - " .align 2, 0\n" - "._351:\n" - " .word gMain\n" - " .word gUnknown_Debug_083C12D2\n" - "._349:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - "._350:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D7E0() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._355\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._353 @cond_branch\n" - " ldr r0, ._355 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._354:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " neg r2, r0\n" - " orr r2, r2, r0\n" - " lsr r2, r2, #0x1f\n" - " mov r0, #0x1c\n" - " add r1, r4, #0\n" - " bl debug_sub_808F2E0\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._354 @cond_branch\n" - "._353:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._356:\n" - " .align 2, 0\n" - "._355:\n" - " .word gUnknown_Debug_083C12D0\n" - " .word gUnknown_Debug_083C12D2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D844() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1c\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._357\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1b\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl InitMenu\n" - " ldr r1, ._357 + 4\n" - " ldr r0, ._357 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._358:\n" - " .align 2, 0\n" - "._357:\n" - " .word gUnknown_Debug_083C1A78\n" - " .word gMenuCallback\n" - " .word debug_sub_808D894+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D894() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r3, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r3, r0\n" - " bne ._359 @cond_branch\n" - " mov r0, #0x0\n" - " b ._362\n" - "._359:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r3, r0\n" - " beq ._361 @cond_branch\n" - " ldr r2, ._363\n" - " ldr r1, ._363 + 4\n" - " lsl r0, r3, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0, #0x4]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._362\n" - "._364:\n" - " .align 2, 0\n" - "._363:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C1A78\n" - "._361:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._362:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D8D8() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._365\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r0, ._365 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._365 + 8\n" - " ldr r0, ._365 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._366:\n" - " .align 2, 0\n" - "._365:\n" - " .word gUnknown_Debug_083C1A9C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808D930+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D930() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._370\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808D97C\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808D9CC\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._367 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._368 @cond_branch\n" - "._367:\n" - " mov r0, #0x0\n" - " b ._369\n" - "._371:\n" - " .align 2, 0\n" - "._370:\n" - " .word gDebug_0300070F\n" - "._368:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._369:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D97C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._375\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._374 @cond_branch\n" - " ldr r0, ._375 + 4\n" - " lsl r1, r2, #0x3\n" - " add r1, r1, r2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r0\n" - " ldrh r4, [r1]\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._373 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._374\n" - "._376:\n" - " .align 2, 0\n" - "._375:\n" - " .word gMain\n" - " .word gUnknown_Debug_083C1AAE\n" - "._373:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - "._374:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808D9CC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._379\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._377 @cond_branch\n" - " ldr r0, ._379 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._378:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " neg r2, r0\n" - " orr r2, r2, r0\n" - " lsr r2, r2, #0x1f\n" - " mov r0, #0x1c\n" - " add r1, r4, #0\n" - " bl debug_sub_808F2E0\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._378 @cond_branch\n" - "._377:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._380:\n" - " .align 2, 0\n" - "._379:\n" - " .word gUnknown_Debug_083C1AAC\n" - " .word gUnknown_Debug_083C1AAE\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DA30() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._381\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl InitMenu\n" - " ldr r1, ._381 + 4\n" - " ldr r0, ._381 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._382:\n" - " .align 2, 0\n" - "._381:\n" - " .word gUnknown_Debug_083C103A\n" - " .word gMenuCallback\n" - " .word debug_sub_808DA80+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DA80() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " bl debug_sub_808DAD4\n" - " bl debug_sub_808DABC\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._383 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._384 @cond_branch\n" - "._383:\n" - " mov r0, #0x0\n" - " b ._385\n" - "._384:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._385:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DABC() -{ - asm( - " push {lr}\n" - " ldr r0, ._386\n" - " ldrh r2, [r0]\n" - " mov r0, #0x18\n" - " mov r1, #0x1\n" - " bl debug_sub_808F31C\n" - " pop {r0}\n" - " bx r0\n" - "._387:\n" - " .align 2, 0\n" - "._386:\n" - " .word gSpecialVar_Result\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DAD4() -{ - asm( - " push {lr}\n" - " ldr r0, ._390\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._388 @cond_branch\n" - " mov r2, #0x1\n" - " b ._389\n" - "._391:\n" - " .align 2, 0\n" - "._390:\n" - " .word gMain\n" - "._388:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._392 @cond_branch\n" - " ldr r2, ._393\n" - "._389:\n" - " ldr r1, ._393 + 4\n" - " ldrh r0, [r1]\n" - " add r0, r2, r0\n" - " strh r0, [r1]\n" - "._392:\n" - " pop {r0}\n" - " bx r0\n" - "._394:\n" - " .align 2, 0\n" - "._393:\n" - " .word 0xffff\n" - " .word gSpecialVar_Result\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DB0C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._395\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._395 + 4\n" - " ldr r0, ._395 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._396:\n" - " .align 2, 0\n" - "._395:\n" - " .word gUnknown_Debug_083C3D08\n" - " .word gMenuCallback\n" - " .word debug_sub_808DB5C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DB5C() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._397 @cond_branch\n" - " mov r0, #0x0\n" - " b ._400\n" - "._397:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._399 @cond_branch\n" - " ldr r2, ._401\n" - " ldr r0, ._401 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._400\n" - "._402:\n" - " .align 2, 0\n" - "._401:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C3D08\n" - "._399:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._400:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DBA0() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._403\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x8\n" - " bl InitMenu\n" - " ldr r0, ._403 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._403 + 8\n" - " ldr r0, ._403 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._404:\n" - " .align 2, 0\n" - "._403:\n" - " .word gUnknown_Debug_083C432C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DBF8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._405\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._405 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._405 + 8\n" - " ldr r0, ._405 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._406:\n" - " .align 2, 0\n" - "._405:\n" - " .word gUnknown_Debug_083C436C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DC50() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._407\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._407 + 4\n" - " mov r0, #0x2\n" - " strb r0, [r1]\n" - " ldr r1, ._407 + 8\n" - " ldr r0, ._407 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._408:\n" - " .align 2, 0\n" - "._407:\n" - " .word gUnknown_Debug_083C43B4\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DCA8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._409\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._409 + 4\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - " ldr r1, ._409 + 8\n" - " ldr r0, ._409 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._410:\n" - " .align 2, 0\n" - "._409:\n" - " .word gUnknown_Debug_083C43FC\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DD00() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._411\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._411 + 4\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r1, ._411 + 8\n" - " ldr r0, ._411 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._412:\n" - " .align 2, 0\n" - "._411:\n" - " .word gUnknown_Debug_083C4444\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DD58() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._413\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._413 + 4\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r1, ._413 + 8\n" - " ldr r0, ._413 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._414:\n" - " .align 2, 0\n" - "._413:\n" - " .word gUnknown_Debug_083C448C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DDB0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._415\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r1, ._415 + 4\n" - " mov r0, #0x6\n" - " strb r0, [r1]\n" - " ldr r1, ._415 + 8\n" - " ldr r0, ._415 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._416:\n" - " .align 2, 0\n" - "._415:\n" - " .word gUnknown_Debug_83C44C4\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DE08() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._417\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._417 + 4\n" - " mov r0, #0x7\n" - " strb r0, [r1]\n" - " ldr r1, ._417 + 8\n" - " ldr r0, ._417 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._418:\n" - " .align 2, 0\n" - "._417:\n" - " .word gUnknown_Debug_83C44EC\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DE60() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._419\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._419 + 4\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldr r1, ._419 + 8\n" - " ldr r0, ._419 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._420:\n" - " .align 2, 0\n" - "._419:\n" - " .word gUnknown_Debug_083C4534\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808DEB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DEB8() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._424\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808DF64\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808DF04\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._421 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._422 @cond_branch\n" - "._421:\n" - " mov r0, #0x0\n" - " b ._423\n" - "._425:\n" - " .align 2, 0\n" - "._424:\n" - " .word gDebug_0300070F\n" - "._422:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._423:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DF04() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._428\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._426 @cond_branch\n" - " ldr r0, ._428 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._427:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl VarGet\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x10\n" - " lsr r2, r2, #0x10\n" - " mov r0, #0x18\n" - " add r1, r4, #0\n" - " bl debug_sub_808F31C\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._427 @cond_branch\n" - "._426:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._429:\n" - " .align 2, 0\n" - "._428:\n" - " .word gUnknown_Debug_083C457C\n" - " .word gUnknown_Debug_083C4586\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DF64() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._432\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._430 @cond_branch\n" - " mov r5, #0x1\n" - " b ._431\n" - "._433:\n" - " .align 2, 0\n" - "._432:\n" - " .word gMain\n" - "._430:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._434 @cond_branch\n" - " ldr r5, ._435\n" - "._431:\n" - " ldr r1, ._435 + 4\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r1\n" - " ldrh r4, [r0]\n" - " add r0, r4, #0\n" - " bl VarGet\n" - " add r1, r0, #0\n" - " add r1, r5, r1\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " bl VarSet\n" - "._434:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._436:\n" - " .align 2, 0\n" - "._435:\n" - " .word 0xffff\n" - " .word gUnknown_Debug_083C4586\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808DFC0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._437\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r1, ._437 + 4\n" - " ldr r0, ._437 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._438:\n" - " .align 2, 0\n" - "._437:\n" - " .word gUnknown_Debug_083C377C\n" - " .word gMenuCallback\n" - " .word debug_sub_808E010+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E010() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._439 @cond_branch\n" - " mov r0, #0x0\n" - " b ._442\n" - "._439:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._441 @cond_branch\n" - " ldr r2, ._443\n" - " ldr r0, ._443 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._442\n" - "._444:\n" - " .align 2, 0\n" - "._443:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C377C\n" - "._441:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._442:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E054() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._445\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r0, ._445 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._445 + 8\n" - " ldr r0, ._445 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._446:\n" - " .align 2, 0\n" - "._445:\n" - " .word gUnknown_Debug_083C3AA0\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E0AC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._447\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl InitMenu\n" - " ldr r1, ._447 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._447 + 8\n" - " ldr r0, ._447 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._448:\n" - " .align 2, 0\n" - "._447:\n" - " .word gUnknown_Debug_83C3AE0\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E104() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._449\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._449 + 4\n" - " mov r0, #0x2\n" - " strb r0, [r1]\n" - " ldr r1, ._449 + 8\n" - " ldr r0, ._449 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._450:\n" - " .align 2, 0\n" - "._449:\n" - " .word gUnknown_Debug_83C3B28\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E15C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._451\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._451 + 4\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - " ldr r1, ._451 + 8\n" - " ldr r0, ._451 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._452:\n" - " .align 2, 0\n" - "._451:\n" - " .word gUnknown_Debug_83C3B70\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E1B4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._453\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._453 + 4\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r1, ._453 + 8\n" - " ldr r0, ._453 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._454:\n" - " .align 2, 0\n" - "._453:\n" - " .word gUnknown_Debug_83C3BB8\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E20C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._455\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r1, ._455 + 4\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r1, ._455 + 8\n" - " ldr r0, ._455 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._456:\n" - " .align 2, 0\n" - "._455:\n" - " .word gUnknown_Debug_83C3C00\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E264+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E264() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._460\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808E310\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808E2B0\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._457 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._458 @cond_branch\n" - "._457:\n" - " mov r0, #0x0\n" - " b ._459\n" - "._461:\n" - " .align 2, 0\n" - "._460:\n" - " .word gDebug_0300070F\n" - "._458:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._459:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E2B0() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._464\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._462 @cond_branch\n" - " ldr r0, ._464 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._463:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl VarGet\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x10\n" - " lsr r2, r2, #0x10\n" - " mov r0, #0x18\n" - " add r1, r4, #0\n" - " bl debug_sub_808F31C\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._463 @cond_branch\n" - "._462:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._465:\n" - " .align 2, 0\n" - "._464:\n" - " .word gUnknown_Debug_083C3C48\n" - " .word gUnknown_Debug_83C3C4E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E310() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._468\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._466 @cond_branch\n" - " mov r5, #0x1\n" - " b ._467\n" - "._469:\n" - " .align 2, 0\n" - "._468:\n" - " .word gMain\n" - "._466:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._470 @cond_branch\n" - " ldr r5, ._471\n" - "._467:\n" - " ldr r1, ._471 + 4\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r1\n" - " ldrh r4, [r0]\n" - " add r0, r4, #0\n" - " bl VarGet\n" - " add r1, r0, #0\n" - " add r1, r5, r1\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " bl VarSet\n" - "._470:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._472:\n" - " .align 2, 0\n" - "._471:\n" - " .word 0xffff\n" - " .word gUnknown_Debug_83C3C4E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E36C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._473\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl InitMenu\n" - " ldr r1, ._473 + 4\n" - " ldr r0, ._473 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._474:\n" - " .align 2, 0\n" - "._473:\n" - " .word gUnknown_Debug_083C32AC\n" - " .word gMenuCallback\n" - " .word debug_sub_808E3BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E3BC() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._475 @cond_branch\n" - " mov r0, #0x0\n" - " b ._478\n" - "._475:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._477 @cond_branch\n" - " ldr r2, ._479\n" - " ldr r0, ._479 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._478\n" - "._480:\n" - " .align 2, 0\n" - "._479:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C32AC\n" - "._477:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._478:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E400() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._481\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl InitMenu\n" - " ldr r0, ._481 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._481 + 8\n" - " ldr r0, ._481 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._482:\n" - " .align 2, 0\n" - "._481:\n" - " .word gUnknown_Debug_083C347C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E458() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._483\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._483 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._483 + 8\n" - " ldr r0, ._483 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._484:\n" - " .align 2, 0\n" - "._483:\n" - " .word gUnknown_Debug_083C3494\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E4B0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._485\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x6\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x6\n" - " bl InitMenu\n" - " ldr r1, ._485 + 4\n" - " mov r0, #0x2\n" - " strb r0, [r1]\n" - " ldr r1, ._485 + 8\n" - " ldr r0, ._485 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._486:\n" - " .align 2, 0\n" - "._485:\n" - " .word gUnknown_Debug_083C34A4\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E508() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._487\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r1, ._487 + 4\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - " ldr r1, ._487 + 8\n" - " ldr r0, ._487 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._488:\n" - " .align 2, 0\n" - "._487:\n" - " .word gUnknown_Debug_083C34D4\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E560() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._489\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x5\n" - " bl InitMenu\n" - " ldr r1, ._489 + 4\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r1, ._489 + 8\n" - " ldr r0, ._489 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._490:\n" - " .align 2, 0\n" - "._489:\n" - " .word gUnknown_Debug_083C351C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E5B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E5B8() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._494\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808E604\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808E660\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._491 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._492 @cond_branch\n" - "._491:\n" - " mov r0, #0x0\n" - " b ._493\n" - "._495:\n" - " .align 2, 0\n" - "._494:\n" - " .word gDebug_0300070F\n" - "._492:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._493:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E604() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._498\n" - " ldrh r1, [r0, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._496 @cond_branch\n" - " mov r5, #0x1\n" - " b ._497\n" - "._499:\n" - " .align 2, 0\n" - "._498:\n" - " .word gMain\n" - "._496:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._500 @cond_branch\n" - " ldr r5, ._501\n" - "._497:\n" - " ldr r1, ._501 + 4\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r1\n" - " ldrh r4, [r0]\n" - " add r0, r4, #0\n" - " bl VarGet\n" - " add r1, r0, #0\n" - " add r1, r5, r1\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " bl VarSet\n" - "._500:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._502:\n" - " .align 2, 0\n" - "._501:\n" - " .word 0xffff\n" - " .word gUnknown_Debug_083C354A\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E660() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._505\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._503 @cond_branch\n" - " ldr r0, ._505 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._504:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl VarGet\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x10\n" - " lsr r2, r2, #0x10\n" - " mov r0, #0x18\n" - " add r1, r4, #0\n" - " bl debug_sub_808F31C\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._504 @cond_branch\n" - "._503:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._506:\n" - " .align 2, 0\n" - "._505:\n" - " .word gUnknown_Debug_083C3544\n" - " .word gUnknown_Debug_083C354A\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E6C0() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._507\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._507 + 4\n" - " ldr r0, ._507 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._508:\n" - " .align 2, 0\n" - "._507:\n" - " .word gUnknown_Debug_083C4644\n" - " .word gMenuCallback\n" - " .word debug_sub_808E710+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E710() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._509 @cond_branch\n" - " mov r0, #0x0\n" - " b ._512\n" - "._509:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._511 @cond_branch\n" - " ldr r2, ._513\n" - " ldr r0, ._513 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._512\n" - "._514:\n" - " .align 2, 0\n" - "._513:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C4644\n" - "._511:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._512:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E754() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._515\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r0, ._515 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._515 + 8\n" - " ldr r0, ._515 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._516:\n" - " .align 2, 0\n" - "._515:\n" - " .word gUnknown_Debug_083C470C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E804+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E7AC() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._517\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._517 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._517 + 8\n" - " ldr r0, ._517 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._518:\n" - " .align 2, 0\n" - "._517:\n" - " .word gUnknown_Debug_083C4754C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808E804+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E804() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._522\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808E850\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808E8AC\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._519 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._520 @cond_branch\n" - "._519:\n" - " mov r0, #0x0\n" - " b ._521\n" - "._523:\n" - " .align 2, 0\n" - "._522:\n" - " .word gDebug_0300070F\n" - "._520:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._521:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E850() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._526\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._524 @cond_branch\n" - " mov r5, #0x1\n" - " b ._525\n" - "._527:\n" - " .align 2, 0\n" - "._526:\n" - " .word gMain\n" - "._524:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._528 @cond_branch\n" - " ldr r5, ._529\n" - "._525:\n" - " ldr r1, ._529 + 4\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r1\n" - " ldrh r4, [r0]\n" - " add r0, r4, #0\n" - " bl VarGet\n" - " add r1, r0, #0\n" - " add r1, r5, r1\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " bl VarSet\n" - "._528:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._530:\n" - " .align 2, 0\n" - "._529:\n" - " .word 0xffff\n" - " .word gUnknown_Debug_083C478E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E8AC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._533\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._531 @cond_branch\n" - " ldr r0, ._533 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._532:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl VarGet\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x10\n" - " lsr r2, r2, #0x10\n" - " mov r0, #0x18\n" - " add r1, r4, #0\n" - " bl debug_sub_808F31C\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._532 @cond_branch\n" - "._531:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._534:\n" - " .align 2, 0\n" - "._533:\n" - " .word gUnknown_Debug_083C478C\n" - " .word gUnknown_Debug_083C478E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E90C() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x18\n" - " mov r3, #0x5\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._535\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x2\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x17\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x2\n" - " bl InitMenu\n" - " ldr r1, ._535 + 4\n" - " ldr r0, ._535 + 8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._536:\n" - " .align 2, 0\n" - "._535:\n" - " .word gUnknown_Debug_083C35C4\n" - " .word gMenuCallback\n" - " .word debug_sub_808E95C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E95C() -{ - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bne ._537 @cond_branch\n" - " mov r0, #0x0\n" - " b ._540\n" - "._537:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._539 @cond_branch\n" - " ldr r2, ._541\n" - " ldr r0, ._541 + 4\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " mov r0, #0x0\n" - " b ._540\n" - "._542:\n" - " .align 2, 0\n" - "._541:\n" - " .word gMenuCallback\n" - " .word gUnknown_Debug_083C35C4\n" - "._539:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._540:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E9A0() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._543\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " bl Menu_PrintItems\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " ldr r0, ._543 + 4\n" - " strb r4, [r0]\n" - " ldr r1, ._543 + 8\n" - " ldr r0, ._543 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._544:\n" - " .align 2, 0\n" - "._543:\n" - " .word gUnknown_Debug_083C369C\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808EA50+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808E9F8() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._545\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x1c\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x7\n" - " bl InitMenu\n" - " ldr r1, ._545 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._545 + 8\n" - " ldr r0, ._545 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._546:\n" - " .align 2, 0\n" - "._545:\n" - " .word gUnknown_Debug_083C36E4\n" - " .word gDebug_0300070F\n" - " .word gMenuCallback\n" - " .word debug_sub_808EA50+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EA50() -{ - asm( - " push {r4, r5, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " add r1, r0, #0\n" - " ldr r5, ._550\n" - " ldrb r0, [r5]\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " bl debug_sub_808EAFC\n" - " ldrb r0, [r5]\n" - " bl debug_sub_808EA9C\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._547 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._548 @cond_branch\n" - "._547:\n" - " mov r0, #0x0\n" - " b ._549\n" - "._551:\n" - " .align 2, 0\n" - "._550:\n" - " .word gDebug_0300070F\n" - "._548:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._549:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EA9C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " mov r5, #0x0\n" - " ldr r0, ._554\n" - " add r0, r1, r0\n" - " ldrb r2, [r0]\n" - " cmp r5, r2\n" - " bcs ._552 @cond_branch\n" - " ldr r0, ._554 + 4\n" - " mov r8, r0\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r7, r0, #0x1\n" - " add r6, r2, #0\n" - "._553:\n" - " lsl r0, r5, #0x1\n" - " add r4, r0, #1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " add r0, r0, r7\n" - " add r0, r0, r8\n" - " ldrh r0, [r0]\n" - " bl VarGet\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x10\n" - " lsr r2, r2, #0x10\n" - " mov r0, #0x18\n" - " add r1, r4, #0\n" - " bl debug_sub_808F31C\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, r6\n" - " bcc ._553 @cond_branch\n" - "._552:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._555:\n" - " .align 2, 0\n" - "._554:\n" - " .word gUnknown_Debug_083C371C\n" - " .word gUnknown_Debug_083C371E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EAFC() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " ldr r0, ._558\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._556 @cond_branch\n" - " mov r5, #0x1\n" - " b ._557\n" - "._559:\n" - " .align 2, 0\n" - "._558:\n" - " .word gMain\n" - "._556:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._560 @cond_branch\n" - " ldr r5, ._561\n" - "._557:\n" - " ldr r1, ._561 + 4\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r1\n" - " ldrh r4, [r0]\n" - " add r0, r4, #0\n" - " bl VarGet\n" - " add r1, r0, #0\n" - " add r1, r5, r1\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " bl VarSet\n" - "._560:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._562:\n" - " .align 2, 0\n" - "._561:\n" - " .word 0xffff\n" - " .word gUnknown_Debug_083C371E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EB58() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._563\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._563 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x8\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xb\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x8\n" - " bl InitMenu\n" - " ldr r1, ._563 + 8\n" - " ldr r0, ._563 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._564:\n" - " .align 2, 0\n" - "._563:\n" - " .word gUnknown_Debug_083C47B2\n" - " .word gUnknown_Debug_083C47F0\n" - " .word gMenuCallback\n" - " .word debug_sub_808EC10+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EBB4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xd\n" - " mov r3, #0xd\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._565\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r3, ._565 + 4\n" - " mov r0, #0x2\n" - " mov r1, #0x3\n" - " mov r2, #0x5\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0xc\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x5\n" - " bl InitMenu\n" - " ldr r1, ._565 + 8\n" - " ldr r0, ._565 + 12\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._566:\n" - " .align 2, 0\n" - "._565:\n" - " .word gUnknown_Debug_083C4830\n" - " .word gUnknown_Debug_083C4888\n" - " .word gMenuCallback\n" - " .word debug_sub_808EC5C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EC10() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._568 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._568 @cond_branch\n" - " ldr r1, ._570\n" - " lsl r0, r2, #0x18\n" - " asr r0, r0, #0x18\n" - " ldr r2, ._570 + 4\n" - " add r1, r1, r2\n" - " strh r0, [r1]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._569\n" - "._571:\n" - " .align 2, 0\n" - "._570:\n" - " .word gSaveBlock1\n" - " .word 0x13c8\n" - "._568:\n" - " mov r0, #0x0\n" - "._569:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EC5C() -{ - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._573 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._573 @cond_branch\n" - " ldr r0, ._575\n" - " lsl r1, r1, #0x18\n" - " asr r1, r1, #0x8\n" - " lsr r1, r1, #0x10\n" - " bl VarSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._574\n" - "._576:\n" - " .align 2, 0\n" - "._575:\n" - " .word 0x40a7\n" - "._573:\n" - " mov r0, #0x0\n" - "._574:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808ECA4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._577\n" - " ldr r0, ._577 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x4\n" - " pop {r1}\n" - " bx r1\n" - "._578:\n" - " .align 2, 0\n" - "._577:\n" - " .word gMenuCallback\n" - " .word debug_sub_808ECD0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808ECD0() -{ - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._579 @cond_branch\n" - " mov r0, #0x0\n" - " b ._580\n" - "._579:\n" - " bl CloseMenu\n" - " mov r0, #0x2\n" - " bl debug_sub_808F168\n" - " ldr r0, ._581\n" - " bl SetMainCallback2\n" - " ldr r1, ._581 + 4\n" - " ldr r0, ._581 + 8\n" - " str r0, [r1, #0x8]\n" - " mov r0, #0x1\n" - "._580:\n" - " pop {r1}\n" - " bx r1\n" - "._582:\n" - " .align 2, 0\n" - "._581:\n" - " .word CB2_ContestPainting+1\n" - " .word gMain\n" - " .word debug_sub_808B868+1\n" - "\n" - ); -} - -__attribute__((naked)) -void TomomichiDebugMenu_Config() -{ - asm( - " mov r0, #0x0\n" - " bx lr\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808ED0C() -{ - asm( - " push {lr}\n" - " ldr r2, ._590\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._584 @cond_branch\n" - " ldr r1, ._590 + 4\n" - " ldrh r0, [r1]\n" - " cmp r0, #0x1\n" - " beq ._584 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strh r0, [r1]\n" - "._584:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._586 @cond_branch\n" - " ldr r3, ._590 + 4\n" - " ldrh r1, [r3]\n" - " ldr r0, ._590 + 8\n" - " cmp r1, r0\n" - " beq ._586 @cond_branch\n" - " add r0, r1, #1\n" - " strh r0, [r3]\n" - "._586:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._587 @cond_branch\n" - " ldr r1, ._590 + 4\n" - " ldrh r0, [r1]\n" - " cmp r0, #0xa\n" - " bls ._588 @cond_branch\n" - " sub r0, r0, #0xa\n" - " b ._589\n" - "._591:\n" - " .align 2, 0\n" - "._590:\n" - " .word gMain\n" - " .word gDebug_03000700\n" - " .word 0x19b\n" - "._588:\n" - " mov r0, #0x1\n" - "._589:\n" - " strh r0, [r1]\n" - "._587:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._592 @cond_branch\n" - " ldr r2, ._595\n" - " ldrh r1, [r2]\n" - " ldr r0, ._595 + 4\n" - " cmp r1, r0\n" - " bhi ._593 @cond_branch\n" - " add r0, r1, #0\n" - " add r0, r0, #0xa\n" - " b ._594\n" - "._596:\n" - " .align 2, 0\n" - "._595:\n" - " .word gDebug_03000700\n" - " .word 0x191\n" - "._593:\n" - " ldr r1, ._597\n" - " add r0, r1, #0\n" - "._594:\n" - " strh r0, [r2]\n" - "._592:\n" - " pop {r0}\n" - " bx r0\n" - "._598:\n" - " .align 2, 0\n" - "._597:\n" - " .word 0x19b\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808ED9C() -{ - asm( - " push {lr}\n" - " ldr r2, ._606\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._600 @cond_branch\n" - " ldr r1, ._606 + 4\n" - " ldr r0, [r1]\n" - " cmp r0, #0\n" - " beq ._600 @cond_branch\n" - " sub r0, r0, #0x1\n" - " str r0, [r1]\n" - "._600:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._602 @cond_branch\n" - " ldr r3, ._606 + 4\n" - " ldr r1, [r3]\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._602 @cond_branch\n" - " add r0, r1, #1\n" - " str r0, [r3]\n" - "._602:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._603 @cond_branch\n" - " ldr r1, ._606 + 4\n" - " ldr r0, [r1]\n" - " cmp r0, #0xf\n" - " bls ._604 @cond_branch\n" - " sub r0, r0, #0x10\n" - " b ._605\n" - "._607:\n" - " .align 2, 0\n" - "._606:\n" - " .word gMain\n" - " .word gDebug_03000708\n" - "._604:\n" - " mov r0, #0x0\n" - "._605:\n" - " str r0, [r1]\n" - "._603:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._608 @cond_branch\n" - " ldr r3, ._611\n" - " ldr r1, [r3]\n" - " mov r0, #0x11\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " bhi ._609 @cond_branch\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " b ._610\n" - "._612:\n" - " .align 2, 0\n" - "._611:\n" - " .word gDebug_03000708\n" - "._609:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - "._610:\n" - " str r0, [r3]\n" - "._608:\n" - " ldrh r2, [r2, #0x2e]\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x2\n" - " add r0, r1, #0\n" - " and r0, r0, r2\n" - " cmp r0, r1\n" - " bne ._613 @cond_branch\n" - " ldr r1, ._614\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " str r0, [r1]\n" - "._613:\n" - " pop {r0}\n" - " bx r0\n" - "._615:\n" - " .align 2, 0\n" - "._614:\n" - " .word gDebug_03000708\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EE3C() -{ - asm( - " push {lr}\n" - " ldr r2, ._622\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._617 @cond_branch\n" - " ldr r1, ._622 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x1\n" - " beq ._617 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._617:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._619 @cond_branch\n" - " ldr r1, ._622 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x5\n" - " beq ._619 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._619:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._620 @cond_branch\n" - " ldr r1, ._622 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - "._620:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._621 @cond_branch\n" - " ldr r1, ._622 + 4\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - "._621:\n" - " pop {r0}\n" - " bx r0\n" - "._623:\n" - " .align 2, 0\n" - "._622:\n" - " .word gMain\n" - " .word gDebug_0300070C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EE9C() -{ - asm( - " push {lr}\n" - " ldr r2, ._631\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._625 @cond_branch\n" - " ldr r1, ._631 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x1\n" - " beq ._625 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._625:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._627 @cond_branch\n" - " ldr r1, ._631 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0xf\n" - " beq ._627 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._627:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._628 @cond_branch\n" - " ldr r1, ._631 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0xa\n" - " bls ._629 @cond_branch\n" - " sub r0, r0, #0xa\n" - " b ._630\n" - "._632:\n" - " .align 2, 0\n" - "._631:\n" - " .word gMain\n" - " .word gDebug_0300070D\n" - "._629:\n" - " mov r0, #0x0\n" - "._630:\n" - " strb r0, [r1]\n" - "._628:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._633 @cond_branch\n" - " ldr r1, ._636\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x5\n" - " bhi ._634 @cond_branch\n" - " add r0, r0, #0xa\n" - " b ._635\n" - "._637:\n" - " .align 2, 0\n" - "._636:\n" - " .word gDebug_0300070D\n" - "._634:\n" - " mov r0, #0xf\n" - "._635:\n" - " strb r0, [r1]\n" - "._633:\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EF14() -{ - asm( - " push {lr}\n" - " ldr r2, ._645\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._639 @cond_branch\n" - " ldr r1, ._645 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x1\n" - " beq ._639 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._639:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._641 @cond_branch\n" - " ldr r1, ._645 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0xf\n" - " beq ._641 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._641:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._642 @cond_branch\n" - " ldr r1, ._645 + 4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0xa\n" - " bls ._643 @cond_branch\n" - " sub r0, r0, #0xa\n" - " b ._644\n" - "._646:\n" - " .align 2, 0\n" - "._645:\n" - " .word gMain\n" - " .word gDebug_0300070E\n" - "._643:\n" - " mov r0, #0x0\n" - "._644:\n" - " strb r0, [r1]\n" - "._642:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._647 @cond_branch\n" - " ldr r1, ._650\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x5\n" - " bhi ._648 @cond_branch\n" - " add r0, r0, #0xa\n" - " b ._649\n" - "._651:\n" - " .align 2, 0\n" - "._650:\n" - " .word gDebug_0300070E\n" - "._648:\n" - " mov r0, #0xf\n" - "._649:\n" - " strb r0, [r1]\n" - "._647:\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808EF8C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " cmp r6, #0x2\n" - " bgt ._653 @cond_branch\n" - " cmp r6, #0\n" - " blt ._653 @cond_branch\n" - " mov r3, #0x0\n" - " ldr r0, ._656\n" - " mov r8, r0\n" - " ldr r4, ._656 + 4\n" - " mov r7, #0x7\n" - " mov r5, #0xf\n" - "._658:\n" - " sub r0, r7, r3\n" - " lsl r0, r0, #0x2\n" - " mov r1, r8\n" - " ldr r2, [r1]\n" - " LSR r2, r0\n" - " and r2, r2, r5\n" - " cmp r2, #0x9\n" - " bhi ._654 @cond_branch\n" - " add r1, r3, r4\n" - " add r0, r2, #0\n" - " add r0, r0, #0xa1\n" - " b ._655\n" - "._657:\n" - " .align 2, 0\n" - "._656:\n" - " .word gDebug_03000708\n" - " .word gDebug_03000710\n" - "._654:\n" - " add r1, r3, r4\n" - " add r0, r2, #0\n" - " sub r0, r0, #0x4f\n" - "._655:\n" - " strb r0, [r1]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " cmp r3, #0x7\n" - " bls ._658 @cond_branch\n" - " ldr r0, ._666\n" - " mov r1, #0xff\n" - " strb r1, [r0, #0x8]\n" - " mov r1, #0xc\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - "._653:\n" - " mov r3, #0x0\n" - " ldr r7, ._666\n" - " ldr r5, ._666 + 4\n" - " ldr r2, ._666 + 8\n" - " mov r8, r2\n" - " add r4, r7, #0\n" - " mov r2, #0x0\n" - "._659:\n" - " add r1, r3, #1\n" - " add r0, r1, r4\n" - " strb r2, [r0]\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " cmp r3, #0x9\n" - " bls ._659 @cond_branch\n" - " mov r3, #0x0\n" - " ldrh r2, [r5]\n" - " mov r0, #0xb\n" - " add r1, r2, #0\n" - " mul r1, r1, r0\n" - " mov r2, r8\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._661 @cond_branch\n" - " ldr r0, ._666\n" - " mov ip, r0\n" - " mov r5, r8\n" - " add r4, r1, #0\n" - "._662:\n" - " add r1, r3, #1\n" - " mov r0, ip\n" - " add r2, r1, r0\n" - " add r0, r3, r4\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " strb r0, [r2]\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " add r0, r3, r4\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._661 @cond_branch\n" - " cmp r3, #0x9\n" - " bls ._662 @cond_branch\n" - "._661:\n" - " mov r0, #0xb1\n" - " strb r0, [r7]\n" - " mov r0, #0xb2\n" - " strb r0, [r7, #0xb]\n" - " mov r0, #0xff\n" - " strb r0, [r7, #0xc]\n" - " cmp r6, #0x2\n" - " bgt ._664 @cond_branch\n" - " cmp r6, #0\n" - " blt ._664 @cond_branch\n" - " add r0, r7, #0\n" - " mov r1, #0x8\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " b ._665\n" - "._667:\n" - " .align 2, 0\n" - "._666:\n" - " .word gDebug_03000710\n" - " .word gDebug_03000700\n" - " .word gSpeciesNames\n" - "._664:\n" - " ldr r0, ._672\n" - " mov r1, #0xc\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - "._665:\n" - " ldr r5, ._672\n" - " mov r0, #0xff\n" - " strb r0, [r5, #0x3]\n" - " ldr r4, ._672 + 4\n" - " ldrh r0, [r4]\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5]\n" - " ldrh r0, [r4]\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xa\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x1]\n" - " ldrh r0, [r4]\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x2]\n" - " add r0, r5, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " cmp r6, #0x1\n" - " beq ._668 @cond_branch\n" - " cmp r6, #0x1\n" - " bgt ._669 @cond_branch\n" - " cmp r6, #0\n" - " beq ._670 @cond_branch\n" - " b ._679\n" - "._673:\n" - " .align 2, 0\n" - "._672:\n" - " .word gDebug_03000710\n" - " .word gDebug_03000700\n" - "._669:\n" - " cmp r6, #0x2\n" - " beq ._674 @cond_branch\n" - " b ._679\n" - "._670:\n" - " ldr r4, ._677\n" - " b ._676\n" - "._678:\n" - " .align 2, 0\n" - "._677:\n" - " .word gDebug_0300070C\n" - "._668:\n" - " ldr r4, ._680\n" - "._676:\n" - " ldrb r0, [r4]\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5]\n" - " ldrb r0, [r4]\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0xa\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x1]\n" - " ldrb r0, [r4]\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x2]\n" - " add r0, r5, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - " b ._679\n" - "._681:\n" - " .align 2, 0\n" - "._680:\n" - " .word gDebug_0300070D\n" - "._674:\n" - " ldr r4, ._682\n" - " ldrb r0, [r4]\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5]\n" - " ldrb r0, [r4]\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0xa\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x1]\n" - " ldrb r0, [r4]\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x2]\n" - " add r0, r5, #0\n" - " mov r1, #0xc\n" - " mov r2, #0x7\n" - " bl Menu_PrintText\n" - "._679:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._683:\n" - " .align 2, 0\n" - "._682:\n" - " .word gDebug_0300070E\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F168() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " ldr r4, ._686\n" - " ldr r0, ._686 + 4\n" - " ldrh r0, [r0]\n" - " strh r0, [r4, #0x8]\n" - " ldr r0, ._686 + 8\n" - " ldr r0, [r0]\n" - " str r0, [r4, #0x4]\n" - " ldr r0, ._686 + 12\n" - " ldr r0, [r0]\n" - " str r0, [r4]\n" - " cmp r1, #0x5\n" - " bls ._684 @cond_branch\n" - " b ._707\n" - "._684:\n" - " lsl r0, r1, #0x2\n" - " ldr r1, ._686 + 16\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._687:\n" - " .align 2, 0\n" - "._686:\n" - " .word +0x2015de0\n" - " .word gDebug_03000700\n" - " .word gDebug_03000704\n" - " .word gDebug_03000708\n" - " .word ._688\n" - "._688:\n" - " .word ._689\n" - " .word ._690\n" - " .word ._691\n" - " .word ._692\n" - " .word ._693\n" - " .word ._694\n" - "._689:\n" - " ldr r0, ._696\n" - " ldr r2, ._696 + 4\n" - " add r1, r0, r2\n" - " mov r2, #0x0\n" - " strb r2, [r1]\n" - " ldr r1, ._696 + 8\n" - " add r0, r0, r1\n" - " strb r2, [r0]\n" - " ldr r0, ._696 + 12\n" - " ldrb r0, [r0]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r4, #0xa]\n" - " add r0, r4, #0\n" - " add r0, r0, #0x16\n" - " ldr r1, ._696 + 16\n" - " bl StringCopy\n" - " b ._704\n" - "._697:\n" - " .align 2, 0\n" - "._696:\n" - " .word +0x2000000\n" - " .word 0x15ddf\n" - " .word 0x15dde\n" - " .word gDebug_0300070C\n" - " .word gUnknown_Debug_083C48BB\n" - "._690:\n" - " ldr r1, ._699\n" - " ldr r0, ._699 + 4\n" - " add r2, r1, r0\n" - " mov r0, #0x0\n" - " strb r0, [r2]\n" - " ldr r2, ._699 + 8\n" - " add r1, r1, r2\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldr r0, ._699 + 12\n" - " ldrb r0, [r0]\n" - " sub r0, r0, #0x1\n" - " b ._698\n" - "._700:\n" - " .align 2, 0\n" - "._699:\n" - " .word +0x2000000\n" - " .word 0x15ddf\n" - " .word 0x15dde\n" - " .word gDebug_0300070D\n" - "._691:\n" - " ldr r1, ._702\n" - " ldr r0, ._702 + 4\n" - " add r2, r1, r0\n" - " mov r0, #0x1\n" - " strb r0, [r2]\n" - " ldr r2, ._702 + 8\n" - " add r1, r1, r2\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldr r0, ._702 + 12\n" - " ldrb r0, [r0]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r4, #0xa]\n" - " b ._707\n" - "._703:\n" - " .align 2, 0\n" - "._702:\n" - " .word +0x2000000\n" - " .word 0x15ddf\n" - " .word 0x15dde\n" - " .word gDebug_0300070E\n" - "._692:\n" - " ldr r1, ._705\n" - " ldr r2, ._705 + 4\n" - " add r0, r1, r2\n" - " mov r2, #0x0\n" - " strb r2, [r0]\n" - " ldr r0, ._705 + 8\n" - " add r1, r1, r0\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " strb r2, [r4, #0xa]\n" - " b ._704\n" - "._706:\n" - " .align 2, 0\n" - "._705:\n" - " .word +0x2000000\n" - " .word 0x15ddf\n" - " .word 0x15dde\n" - "._693:\n" - " ldr r1, ._708\n" - " ldr r0, ._708 + 4\n" - " add r2, r1, r0\n" - " mov r0, #0x0\n" - " strb r0, [r2]\n" - " ldr r2, ._708 + 8\n" - " add r1, r1, r2\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " mov r0, #0x3\n" - "._698:\n" - " strb r0, [r4, #0xa]\n" - "._704:\n" - " add r0, r4, #0\n" - " add r0, r0, #0xb\n" - " ldr r1, ._708 + 12\n" - " bl StringCopy\n" - " b ._707\n" - "._709:\n" - " .align 2, 0\n" - "._708:\n" - " .word +0x2000000\n" - " .word 0x15ddf\n" - " .word 0x15dde\n" - " .word gUnknown_Debug_083C48B0\n" - "._694:\n" - " ldr r1, ._710\n" - " ldr r0, ._710 + 4\n" - " add r2, r1, r0\n" - " mov r0, #0x0\n" - " strb r0, [r2]\n" - " ldr r2, ._710 + 8\n" - " add r1, r1, r2\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " mov r0, #0x9\n" - " strb r0, [r4, #0xa]\n" - " add r0, r4, #0\n" - " add r0, r0, #0xb\n" - " ldr r1, ._710 + 12\n" - " bl StringCopy\n" - "._707:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._711:\n" - " .align 2, 0\n" - "._710:\n" - " .word +0x2000000\n" - " .word 0x15ddf\n" - " .word 0x15dde\n" - " .word gUnknown_Debug_083C48B0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F2E0() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r3, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " cmp r2, #0\n" - " bne ._712 @cond_branch\n" - " ldr r1, ._714\n" - " mov r0, #0xa1\n" - " b ._713\n" - "._715:\n" - " .align 2, 0\n" - "._714:\n" - " .word gDebug_03000710\n" - "._712:\n" - " ldr r1, ._716\n" - " mov r0, #0xa2\n" - "._713:\n" - " strb r0, [r1]\n" - " mov r0, #0xff\n" - " strb r0, [r1, #0x1]\n" - " add r0, r1, #0\n" - " add r1, r4, #0\n" - " add r2, r3, #0\n" - " bl Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._717:\n" - " .align 2, 0\n" - "._716:\n" - " .word gDebug_03000710\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_808F31C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6}\n" - " mov r8, r0\n" - " mov r9, r1\n" - " add r4, r2, #0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " mov r0, r9\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r9, r0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " ldr r5, ._718\n" - " ldr r6, ._718 + 4\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5]\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r6, #0xfa\n" - " lsl r6, r6, #0x2\n" - " add r1, r6, #0\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x1]\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x2]\n" - " add r0, r4, #0\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xa\n" - " bl __udivsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x3]\n" - " add r0, r4, #0\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r5, #0x4]\n" - " mov r0, #0xff\n" - " strb r0, [r5, #0x5]\n" - " add r0, r5, #0\n" - " mov r1, r8\n" - " mov r2, r9\n" - " bl Menu_PrintText\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._719:\n" - " .align 2, 0\n" - "._718:\n" - " .word gDebug_03000710\n" - " .word 0x2710\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_nullsub_66() -{ - asm( - " bx lr\n" - "\n" - ); -} - #endif diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c deleted file mode 100644 index fa944b25f..000000000 --- a/src/debug/unk_debug_menu_3.c +++ /dev/null @@ -1,804 +0,0 @@ -#include "global.h" -#include "menu.h" - -#if DEBUG - -__attribute__((naked)) -int debug_sub_813C404() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._1\n" - " ldr r4, ._1 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._2:\n" - " .align 2, 0\n" - "._1:\n" - " .word gUnknown_Debug_845DDB2\n" - " .word gUnknown_Debug_845DAE1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C430() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._3\n" - " ldr r4, ._3 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._4:\n" - " .align 2, 0\n" - "._3:\n" - " .word gUnknown_Debug_845E402\n" - " .word gUnknown_Debug_845E3E0\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C45C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._5\n" - " ldr r4, ._5 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._6:\n" - " .align 2, 0\n" - "._5:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E422\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C488() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._7\n" - " ldr r4, ._7 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._8:\n" - " .align 2, 0\n" - "._7:\n" - " .word gUnknown_Debug_845E422\n" - " .word gUnknown_Debug_845E402\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C4B4() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._9\n" - " ldr r1, ._9 + 4\n" - " sub r4, r4, r1\n" - " add r2, r4, #0\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._10:\n" - " .align 2, 0\n" - "._9:\n" - " .word gUnknown_Debug_845E619\n" - " .word gUnknown_Debug_845E606\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C4D4() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._11\n" - " ldr r4, ._11 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_81261B4\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._12:\n" - " .align 2, 0\n" - "._11:\n" - " .word gUnknown_Debug_845E712\n" - " .word gUnknown_Debug_845E619\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C500() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " ldr r5, ._13\n" - " ldr r4, ._13 + 4\n" - " sub r5, r5, r4\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._14:\n" - " .align 2, 0\n" - "._13:\n" - " .word gUnknown_Debug_845E797\n" - " .word gUnknown_Debug_845E712\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C52C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6}\n" - " mov r8, r0\n" - " lsl r5, r1, #0x10\n" - " lsr r0, r5, #0x10\n" - " mov r9, r0\n" - " ldr r6, ._15\n" - " ldr r4, ._15 + 4\n" - " sub r6, r6, r4\n" - " mov r0, r8\n" - " add r1, r4, #0\n" - " add r2, r6, #0\n" - " bl memcpy\n" - " ldr r0, ._15 + 8\n" - " sub r0, r0, r4\n" - " add r0, r0, r8\n" - " add r0, r0, #0x3\n" - " mov r1, r9\n" - " strb r1, [r0]\n" - " lsr r5, r5, #0x18\n" - " strb r5, [r0, #0x1]\n" - " mov r0, r8\n" - " add r1, r4, #0\n" - " bl unref_sub_812620C\n" - " add r0, r6, #0\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._16:\n" - " .align 2, 0\n" - "._15:\n" - " .word gUnknown_Debug_845E7BB\n" - " .word gUnknown_Debug_845E797\n" - " .word gUnknown_Debug_845E7B5\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C580() -{ - asm( - " push {lr}\n" - " mov r1, #0xd\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C58C() -{ - asm( - " push {lr}\n" - " mov r1, #0x4\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C598() -{ - asm( - " push {lr}\n" - " mov r1, #0x85\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C5A4() -{ - asm( - " push {lr}\n" - " ldr r1, ._17\n" - " bl debug_sub_813C52C\n" - " pop {r1}\n" - " bx r1\n" - "._18:\n" - " .align 2, 0\n" - "._17:\n" - " .word 0x121\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C5B4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add r4, r0, #0\n" - " ldr r7, ._23\n" - " ldr r0, ._23 + 4\n" - " ldr r1, ._23 + 8\n" - " sub r0, r0, r1\n" - " add r6, r0, r4\n" - " ldr r0, ._23 + 12\n" - " sub r5, r0, r1\n" - " ldr r0, ._23 + 16\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " bl GetEnigmaBerryChecksum\n" - " mov r2, #0x0\n" - " ldr r3, ._23 + 20\n" - " mov r1, #0x0\n" - "._19:\n" - " add r0, r4, r2\n" - " strb r1, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, r3\n" - " ble ._19 @cond_branch\n" - " mov r2, #0x0\n" - " cmp r2, r5\n" - " bcs ._20 @cond_branch\n" - " ldr r3, ._23 + 8\n" - "._21:\n" - " add r0, r4, r2\n" - " add r1, r2, r3\n" - " ldrb r1, [r1]\n" - " strb r1, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, r5\n" - " bcc ._21 @cond_branch\n" - "._20:\n" - " mov r2, #0x0\n" - " ldr r3, ._23 + 24\n" - "._22:\n" - " add r0, r6, r2\n" - " add r1, r7, r2\n" - " ldrb r1, [r1]\n" - " strb r1, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, r3\n" - " bls ._22 @cond_branch\n" - " bl ClearEnigmaBerries\n" - " ldr r1, ._23 + 8\n" - " add r0, r4, #0\n" - " bl unref_sub_81261B4\n" - " add r0, r5, #0\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._24:\n" - " .align 2, 0\n" - "._23:\n" - " .word gSaveBlock1+0x3160\n" - " .word gUnknown_Debug_845DDD6\n" - " .word gUnknown_Debug_845DDB2\n" - " .word gUnknown_Debug_845E306\n" - " .word Str_842E23C\n" - " .word 0xfff\n" - " .word 0x52f\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C638() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xffffffec\n" - " mov r8, r0\n" - " add r4, r1, #0\n" - " add r5, r2, #0\n" - " add r6, r3, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " lsl r6, r6, #0x10\n" - " lsr r6, r6, #0x10\n" - " bl ZeroMonData\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x1\n" - " str r0, [sp, #0x8]\n" - " ldr r0, ._25\n" - " str r0, [sp, #0xc]\n" - " mov r0, r8\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " ldr r2, ._25 + 4\n" - " mov r0, r8\n" - " mov r1, #0x7\n" - " bl SetMonData\n" - " ldr r2, ._25 + 8\n" - " mov r0, r8\n" - " mov r1, #0x2\n" - " bl SetMonData\n" - " str r6, [sp, #0x10]\n" - " mov r0, r8\n" - " mov r1, #0xc\n" - " add r2, sp, #0x10\n" - " bl SetMonData\n" - " add sp, sp, #0x14\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._26:\n" - " .align 2, 0\n" - "._25:\n" - " .word 0x270f\n" - " .word Str_842E240\n" - " .word Str_842E248\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C6AC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffff8\n" - " add r6, r0, #0\n" - " add r5, r1, #0\n" - " add r0, r5, #0\n" - " bl ClearMailStruct\n" - " add r0, r6, #0\n" - " mov r1, #0xc\n" - " bl GetMonData\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r8, r0\n" - " bl ItemIsMail\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._27 @cond_branch\n" - " add r4, r5, #0\n" - " add r4, r4, #0x12\n" - " add r7, r5, #0\n" - " add r7, r7, #0x1a\n" - " mov r1, #0x9\n" - " add r0, r5, #0\n" - " add r0, r0, #0x10\n" - "._28:\n" - " strh r1, [r0]\n" - " sub r1, r1, #0x1\n" - " sub r0, r0, #0x2\n" - " cmp r0, r5\n" - " bge ._28 @cond_branch\n" - " add r0, r6, #0\n" - " mov r1, #0x7\n" - " mov r2, sp\n" - " bl GetMonData\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " mov r2, #0x8\n" - " bl StringCopyN\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " bl GetMonData\n" - " add r1, r7, #0\n" - " bl write_word_to_mem\n" - " add r0, r6, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r6, #0\n" - " mov r1, #0x0\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " add r0, r4, #0\n" - " bl SpeciesToMailSpecies\n" - " strh r0, [r5, #0x1e]\n" - " mov r0, r8\n" - " strh r0, [r5, #0x20]\n" - "._27:\n" - " add sp, sp, #0x8\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C740() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, sl\n" - " mov r5, r9\n" - " mov r4, r8\n" - " push {r4, r5, r6}\n" - " add sp, sp, #0xffffffd0\n" - " add r6, r0, #0\n" - " ldr r0, ._29\n" - " mov r8, r0\n" - " ldr r1, ._29 + 4\n" - " ldr r5, ._29 + 8\n" - " sub r1, r1, r0\n" - " mov r9, r1\n" - " add r0, r6, #0\n" - " mov r1, r8\n" - " mov r2, r9\n" - " bl memcpy\n" - " add r0, r5, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x5\n" - " mov r3, #0x0\n" - " bl debug_sub_813C638\n" - " add r4, sp, #0x24\n" - " mov r0, #0x1\n" - " mov sl, r0\n" - " mov r1, sl\n" - " strb r1, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x2d\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " mov r0, #0x3\n" - " strb r0, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x20\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " mov r0, #0xff\n" - " strb r0, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x23\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldr r1, ._29 + 12\n" - " add r0, r4, #0\n" - " mov r2, #0xb\n" - " bl StringCopyN\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " mov r0, sl\n" - " strb r0, [r4]\n" - " add r0, r5, #0\n" - " mov r1, #0x3\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldr r0, ._29 + 16\n" - " add r0, r6, r0\n" - " mov r1, r8\n" - " sub r0, r0, r1\n" - " add r1, r5, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " ldr r0, ._29 + 20\n" - " add r6, r6, r0\n" - " mov r0, r8\n" - " sub r6, r6, r0\n" - " add r0, r6, #0\n" - " mov r1, sp\n" - " mov r2, #0x24\n" - " bl memcpy\n" - " mov r0, r9\n" - " add sp, sp, #0x30\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._30:\n" - " .align 2, 0\n" - "._29:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gEnemyParty\n" - " .word Str_842E238\n" - " .word gUnknown_Debug_845E467\n" - " .word gUnknown_Debug_845E4CB\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C810() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xffffffdc\n" - " add r6, r0, #0\n" - " ldr r5, ._31\n" - " ldr r0, ._31 + 4\n" - " ldr r4, ._31 + 8\n" - " sub r0, r0, r5\n" - " mov r8, r0\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " mov r2, r8\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " mov r1, #0xc9\n" - " mov r2, #0x15\n" - " mov r3, #0x82\n" - " bl debug_sub_813C638\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " bl debug_sub_813C6AC\n" - " ldr r0, ._31 + 12\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " add r1, r4, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " ldr r0, ._31 + 16\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " mov r1, sp\n" - " mov r2, #0x24\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl unref_sub_812620C\n" - " mov r0, r8\n" - " add sp, sp, #0x24\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._32:\n" - " .align 2, 0\n" - "._31:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gEnemyParty\n" - " .word gUnknown_Debug_845E467\n" - " .word gUnknown_Debug_845E4CB\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C888() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xffffffdc\n" - " add r6, r0, #0\n" - " ldr r5, ._33\n" - " ldr r0, ._33 + 4\n" - " ldr r4, ._33 + 8\n" - " sub r0, r0, r5\n" - " mov r8, r0\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " mov r2, r8\n" - " bl memcpy\n" - " add r0, r4, #0\n" - " mov r1, #0xc9\n" - " mov r2, #0x15\n" - " mov r3, #0x82\n" - " bl debug_sub_813C638\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " bl debug_sub_813C6AC\n" - " mov r0, #0x0\n" - " strh r0, [r4, #0x1c]\n" - " ldr r0, ._33 + 12\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " add r1, r4, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " ldr r0, ._33 + 16\n" - " add r0, r6, r0\n" - " sub r0, r0, r5\n" - " mov r1, sp\n" - " mov r2, #0x24\n" - " bl memcpy\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl unref_sub_812620C\n" - " mov r0, r8\n" - " add sp, sp, #0x24\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._34:\n" - " .align 2, 0\n" - "._33:\n" - " .word gUnknown_Debug_845E443\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gEnemyParty\n" - " .word gUnknown_Debug_845E467\n" - " .word gUnknown_Debug_845E4CB\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_813C904() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._35\n" - " add r0, r4, #0\n" - " mov r1, #0x5\n" - " mov r2, #0x32\n" - " mov r3, #0xb7\n" - " bl debug_sub_813C638\n" - " add r0, r4, #0\n" - " add r0, r0, #0x64\n" - " mov r1, #0x8\n" - " mov r2, #0x32\n" - " mov r3, #0xc4\n" - " bl debug_sub_813C638\n" - " add r4, r4, #0xc8\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x32\n" - " mov r3, #0x8d\n" - " bl debug_sub_813C638\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._36:\n" - " .align 2, 0\n" - "._35:\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -int debug_sub_813C93C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xffffff44\n" - " add r4, r0, #0\n" - " ldr r6, ._37\n" - " ldr r5, ._37 + 4\n" - " sub r5, r5, r6\n" - " add r1, r6, #0\n" - " add r2, r5, #0\n" - " bl memcpy\n" - " bl SavePlayerParty\n" - " bl debug_sub_813C904\n" - " ldr r1, ._37 + 8\n" - " ldr r2, ._37 + 12\n" - " mov r0, sp\n" - " bl debug_sub_8075DB4\n" - " bl LoadPlayerParty\n" - " ldr r0, ._37 + 16\n" - " add r4, r4, r0\n" - " sub r4, r4, r6\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " mov r2, #0xbc\n" - " bl memcpy\n" - " add r0, r5, #0\n" - " add sp, sp, #0xbc\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._38:\n" - " .align 2, 0\n" - "._37:\n" - " .word gUnknown_Debug_845E4EF\n" - " .word gUnknown_Debug_845E606\n" - " .word Str_842E253+5 @ weird...\n" - " .word 0x270f\n" - " .word gUnknown_Debug_845E506\n" - "\n" - ); -} - -#endif - diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index cc53f8c95..6c94b0466 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -8,9842 +8,4 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; -__attribute__((naked)) -void debug_69() -{ - asm( - " bx lr\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C35DC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " bl SetVBlankCallback\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x13\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " add r0, r0, #0xe\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r1, [r0]\n" - " add r0, r0, #0x14\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x6\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x6\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x6\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " mov r3, #0xc0\n" - " lsl r3, r3, #0x13\n" - " mov r4, #0xc0\n" - " lsl r4, r4, #0x9\n" - " add r0, sp, #0x4\n" - " mov r8, r0\n" - " mov r2, sp\n" - " mov r6, #0x0\n" - " ldr r1, ._2\n" - " mov r5, #0x80\n" - " lsl r5, r5, #0x5\n" - " ldr r7, ._2 + 4\n" - " mov r0, #0x81\n" - " lsl r0, r0, #0x18\n" - " mov ip, r0\n" - "._1:\n" - " strh r6, [r2]\n" - " mov r0, sp\n" - " str r0, [r1]\n" - " str r3, [r1, #0x4]\n" - " str r7, [r1, #0x8]\n" - " ldr r0, [r1, #0x8]\n" - " add r3, r3, r5\n" - " sub r4, r4, r5\n" - " cmp r4, r5\n" - " bhi ._1 @cond_branch\n" - " strh r6, [r2]\n" - " mov r2, sp\n" - " str r2, [r1]\n" - " str r3, [r1, #0x4]\n" - " lsr r0, r4, #0x1\n" - " mov r2, ip\n" - " orr r0, r0, r2\n" - " str r0, [r1, #0x8]\n" - " ldr r0, [r1, #0x8]\n" - " mov r0, #0xe0\n" - " lsl r0, r0, #0x13\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x3\n" - " mov r4, #0x0\n" - " str r4, [sp, #0x4]\n" - " ldr r2, ._2\n" - " mov r1, r8\n" - " str r1, [r2]\n" - " str r0, [r2, #0x4]\n" - " lsr r0, r3, #0x2\n" - " mov r1, #0x85\n" - " lsl r1, r1, #0x18\n" - " orr r0, r0, r1\n" - " str r0, [r2, #0x8]\n" - " ldr r0, [r2, #0x8]\n" - " mov r1, #0xa0\n" - " lsl r1, r1, #0x13\n" - " mov r0, sp\n" - " strh r4, [r0]\n" - " str r0, [r2]\n" - " str r1, [r2, #0x4]\n" - " lsr r3, r3, #0x1\n" - " mov r0, #0x81\n" - " lsl r0, r0, #0x18\n" - " orr r3, r3, r0\n" - " str r3, [r2, #0x8]\n" - " ldr r0, [r2, #0x8]\n" - " bl ResetPaletteFade\n" - " bl ScanlineEffect_Stop\n" - " bl ResetTasks\n" - " bl ResetSpriteData\n" - " bl ResetPaletteFade\n" - " bl FreeAllSpritePalettes\n" - " ldr r0, ._2 + 8\n" - " bl LoadSpriteSheet\n" - " ldr r0, ._2 + 12\n" - " bl LoadSpritePalette\n" - " ldr r0, ._2 + 16\n" - " bl Text_LoadWindowTemplate\n" - " ldr r0, ._2 + 20\n" - " bl InitMenuWindow\n" - " add sp, sp, #0x8\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._3:\n" - " .align 2, 0\n" - "._2:\n" - " .word 0x40000d4\n" - " .word 0x81000800\n" - " .word stru_83F8828\n" - " .word stru_83F8838\n" - " .word gWindowTemplate_81E6C3C\n" - " .word gWindowTemplate_81E6CE4\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C36F4() -{ - asm( - " push {lr}\n" - " bl RunTasks\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " bl UpdatePaletteFade\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C370C() -{ - asm( - " push {lr}\n" - " ldr r0, ._6\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._4 @cond_branch\n" - " ldr r0, ._6 + 4\n" - " bl SetMainCallback2\n" - " b ._5\n" - "._7:\n" - " .align 2, 0\n" - "._6:\n" - " .word gPaletteFade\n" - " .word debug_80C36F4+1\n" - "._4:\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " bl UpdatePaletteFade\n" - "._5:\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C373C() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl DestroyTask\n" - " bl ScriptContext2_Disable\n" - " ldr r0, ._8\n" - " bl SetMainCallback2\n" - " pop {r0}\n" - " bx r0\n" - "._9:\n" - " .align 2, 0\n" - "._8:\n" - " .word sub_80546F0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3758() -{ - asm( - " push {lr}\n" - " bl LoadOam\n" - " bl ProcessSpriteCopyRequests\n" - " bl TransferPlttBuffer\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C376C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " lsl r1, r1, #0x18\n" - " lsr r7, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r6, r2, #0x18\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - "._10:\n" - " mov r3, sp\n" - " add r0, r3, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " cmp r1, #0x2\n" - " bls ._10 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0xff\n" - " strb r0, [r1, #0x3]\n" - " mov r4, #0x0\n" - " add r0, r5, #0\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._11 @cond_branch\n" - " mov r1, sp\n" - " add r0, r0, #0xa1\n" - " strb r0, [r1]\n" - " mov r4, #0x1\n" - "._11:\n" - " add r0, r5, #0\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xa\n" - " bl __udivsi3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._12 @cond_branch\n" - " cmp r4, #0\n" - " beq ._13 @cond_branch\n" - "._12:\n" - " mov r1, sp\n" - " add r0, r0, #0xa1\n" - " strb r0, [r1, #0x1]\n" - "._13:\n" - " mov r4, sp\n" - " add r0, r5, #0\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r0, r0, #0xa1\n" - " strb r0, [r4, #0x2]\n" - " mov r0, sp\n" - " add r1, r7, #0\n" - " add r2, r6, #0\n" - " bl Menu_PrintText\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3800() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffff4\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " lsl r1, r1, #0x18\n" - " lsr r6, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " mov r3, #0x0\n" - " ldr r2, ._18\n" - " mov r1, #0x0\n" - "._14:\n" - " mov r7, sp\n" - " add r0, r7, r3\n" - " strb r1, [r0]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " cmp r3, #0x9\n" - " bls ._14 @cond_branch\n" - " add r1, r7, r3\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " mov r3, #0x0\n" - " mov r0, #0xb\n" - " add r1, r4, #0\n" - " mul r1, r1, r0\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._16 @cond_branch\n" - " add r4, r2, #0\n" - " add r2, r1, #0\n" - "._17:\n" - " mov r0, sp\n" - " add r1, r0, r3\n" - " add r0, r3, r2\n" - " add r0, r0, r4\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " add r0, r3, r2\n" - " add r0, r0, r4\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._16 @cond_branch\n" - " cmp r3, #0x9\n" - " bls ._17 @cond_branch\n" - "._16:\n" - " mov r0, sp\n" - " add r1, r6, #0\n" - " add r2, r5, #0\n" - " bl Menu_PrintText\n" - " add sp, sp, #0xc\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._19:\n" - " .align 2, 0\n" - "._18:\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3878() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " cmp r0, #0\n" - " beq ._20 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._21 @cond_branch\n" - "._20:\n" - " cmp r1, #0x1\n" - " bls ._22 @cond_branch\n" - " sub r0, r1, #1\n" - " b ._23\n" - "._22:\n" - " ldr r1, ._25\n" - " b ._28\n" - "._26:\n" - " .align 2, 0\n" - "._25:\n" - " .word 0x19b\n" - "._21:\n" - " mov r0, #0xcd\n" - " lsl r0, r0, #0x1\n" - " cmp r1, r0\n" - " bhi ._27 @cond_branch\n" - " add r0, r1, #1\n" - "._23:\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " b ._28\n" - "._27:\n" - " mov r1, #0x1\n" - "._28:\n" - " add r0, r1, #0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C38B4() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r1, r1, #0x10\n" - " lsr r0, r1, #0x10\n" - " cmp r2, #0\n" - " beq ._29 @cond_branch\n" - " cmp r2, #0x1\n" - " beq ._30 @cond_branch\n" - "._29:\n" - " cmp r0, #0\n" - " beq ._31 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._32\n" - "._31:\n" - " mov r0, #0x52\n" - " b ._35\n" - "._30:\n" - " cmp r0, #0x51\n" - " bhi ._34 @cond_branch\n" - " add r0, r0, #0x1\n" - "._32:\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " b ._35\n" - "._34:\n" - " mov r0, #0x0\n" - "._35:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C38E4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r2, #0\n" - " add r5, r3, #0\n" - " ldr r6, [sp, #0x1c]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " lsl r1, r1, #0x18\n" - " lsr r7, r1, #0x18\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " lsl r6, r6, #0x18\n" - " lsr r6, r6, #0x18\n" - " ldr r1, ._37\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " add r0, r7, #0\n" - " add r1, r4, #0\n" - " add r2, r7, #0\n" - " add r3, r5, #0\n" - " bl Menu_BlankWindowRect\n" - " cmp r6, #0\n" - " beq ._36 @cond_branch\n" - " mov r0, sp\n" - " add r1, r7, #0\n" - " mov r2, r8\n" - " bl Menu_PrintText\n" - "._36:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._38:\n" - " .align 2, 0\n" - "._37:\n" - " .word gUnknown_Debug_083F7FD4\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C393C() -{ - asm( - " push {lr}\n" - " ldr r1, ._39\n" - " mov r0, #0x1e\n" - " bl ProgramFlashSectorAndVerify\n" - " pop {r0}\n" - " bx r0\n" - "._40:\n" - " .align 2, 0\n" - "._39:\n" - " .word gUnknown_Debug_083F7FD6\n" - "\n" - ); -} - -__attribute__((naked)) -void InitWatanabeDebugMenu() -{ - asm( - " push {r4, lr}\n" - " ldr r0, ._46\n" - " ldr r1, ._46 + 4\n" - " add r4, r0, r1\n" - " ldrb r0, [r4]\n" - " cmp r0, #0x1\n" - " beq ._41 @cond_branch\n" - " cmp r0, #0x1\n" - " ble ._42 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._43 @cond_branch\n" - " cmp r0, #0x3\n" - " beq ._44 @cond_branch\n" - "._42:\n" - " bl save_serialize_map\n" - " bl sub_8125E2C\n" - " mov r0, #0x1\n" - " strb r0, [r4]\n" - " b ._51\n" - "._47:\n" - " .align 2, 0\n" - "._46:\n" - " .word gMain\n" - " .word 0x43c\n" - "._41:\n" - " bl sub_8125E6C\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._51 @cond_branch\n" - " b ._49\n" - "._43:\n" - " mov r0, #0x37\n" - " bl PlaySE\n" - "._49:\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " b ._51\n" - "._44:\n" - " bl IsSEPlaying\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._51 @cond_branch\n" - " bl ScriptContext2_Disable\n" - " ldr r0, ._52\n" - " bl SetMainCallback2\n" - "._51:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._53:\n" - " .align 2, 0\n" - "._52:\n" - " .word sub_80546F0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void InitSizeComparison() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl debug_80C35DC\n" - " ldr r1, ._54\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, ._54 + 4\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x1\n" - " mov r2, #0x20\n" - " bl LoadPalette\n" - " ldr r3, ._54 + 8\n" - " ldrh r2, [r3]\n" - " mov r0, #0x0\n" - " strh r0, [r3]\n" - " ldr r4, ._54 + 12\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._54 + 16\n" - " bl SetVBlankCallback\n" - " ldr r0, ._54 + 20\n" - " bl SetMainCallback2\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " mov r2, #0x8a\n" - " lsl r2, r2, #0x5\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._54 + 24\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._54 + 28\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " mov r0, #0xfc\n" - " strh r0, [r1, #0x8]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._55:\n" - " .align 2, 0\n" - "._54:\n" - " .word gReservedSpritePaletteCount\n" - " .word gUnknown_Debug_20389EC\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word debug_80C3A50+1\n" - " .word gTasks\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3A50() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffd8\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._56\n" - " lsl r2, r0, #0x2\n" - " add r0, r2, r0\n" - " lsl r0, r0, #0x3\n" - " add r7, r0, r1\n" - " ldrh r0, [r7, #0x8]\n" - " str r0, [sp, #0x4]\n" - " bl NationalPokedexNumToSpecies\n" - " mov r1, sp\n" - " strh r0, [r1, #0x8]\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x10\n" - " str r2, [sp, #0xc]\n" - " lsr r2, r2, #0x10\n" - " mov r9, r2\n" - " ldr r3, ._56 + 4\n" - " mov r8, r3\n" - " mov r0, #0x6\n" - " mov r1, #0x0\n" - " mov r2, #0x17\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x5\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r5, ._56 + 8\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r4, ._56 + 12\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x18\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r5, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0xa\n" - " mov r2, #0xb\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._56 + 16\n" - " mov r1, #0x1\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 20\n" - " mov r1, #0x1\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 24\n" - " mov r1, #0x1\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 28\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0xc\n" - " mov r1, #0xa\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._56 + 32\n" - " mov r1, #0xd\n" - " mov r2, #0xb\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 36\n" - " mov r1, #0xd\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " mov r0, #0xc\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._56 + 40\n" - " mov r1, #0xd\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r0, ._56 + 44\n" - " mov r1, #0x18\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, r9\n" - " mov r1, #0x12\n" - " mov r2, #0x11\n" - " bl debug_80C3800\n" - " mov r1, r8\n" - " ldrb r0, [r1, #0x8]\n" - " mov r1, #0x98\n" - " mov r2, #0x28\n" - " mov r3, #0x0\n" - " bl sub_8091A4C\n" - " mov r2, sp\n" - " strh r0, [r2, #0x10]\n" - " add r3, r0, #0\n" - " lsl r3, r3, #0x10\n" - " str r3, [sp, #0x18]\n" - " lsr r0, r3, #0x10\n" - " str r0, [sp, #0x14]\n" - " lsl r4, r0, #0x4\n" - " add r4, r4, r0\n" - " lsl r4, r4, #0x2\n" - " ldr r1, ._56 + 48\n" - " add r4, r4, r1\n" - " ldrb r1, [r4, #0x1]\n" - " mov r2, #0x4\n" - " neg r2, r2\n" - " mov sl, r2\n" - " mov r0, sl\n" - " and r0, r0, r1\n" - " mov r3, #0x1\n" - " orr r0, r0, r3\n" - " strb r0, [r4, #0x1]\n" - " ldrb r1, [r4, #0x3]\n" - " mov r0, #0x3f\n" - " neg r0, r0\n" - " mov r9, r0\n" - " and r0, r0, r1\n" - " mov r1, #0x4\n" - " orr r0, r0, r1\n" - " strb r0, [r4, #0x3]\n" - " ldrb r1, [r4, #0x5]\n" - " sub r2, r2, #0x9\n" - " mov r8, r2\n" - " mov r0, r8\n" - " and r0, r0, r1\n" - " mov r3, #0xf\n" - " and r0, r0, r3\n" - " strb r0, [r4, #0x5]\n" - " mov r0, #0x0\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, ._56 + 52\n" - " ldr r1, [sp, #0x4]\n" - " lsl r5, r1, #0x3\n" - " add r5, r5, r1\n" - " lsl r5, r5, #0x2\n" - " add r5, r5, r0\n" - " ldrh r6, [r5, #0x20]\n" - " strh r6, [r4, #0x26]\n" - " ldrh r4, [r5, #0x1e]\n" - " str r4, [sp]\n" - " mov r0, #0x2\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " mov r2, sp\n" - " ldrh r2, [r2, #0x14]\n" - " strh r2, [r7, #0xe]\n" - " strh r6, [r7, #0x10]\n" - " strh r4, [r7, #0x14]\n" - " ldr r0, [sp, #0x4]\n" - " mov r1, #0x58\n" - " mov r2, #0x28\n" - " mov r3, #0x1\n" - " bl sub_80918EC\n" - " mov r3, sp\n" - " strh r0, [r3, #0x1c]\n" - " lsl r0, r0, #0x10\n" - " str r0, [sp, #0x24]\n" - " lsr r1, r0, #0x10\n" - " str r1, [sp, #0x20]\n" - " lsl r4, r1, #0x4\n" - " add r4, r4, r1\n" - " lsl r4, r4, #0x2\n" - " ldr r2, ._56 + 48\n" - " add r4, r4, r2\n" - " ldrb r0, [r4, #0x1]\n" - " mov r3, sl\n" - " and r3, r3, r0\n" - " mov r0, #0x1\n" - " orr r3, r3, r0\n" - " strb r3, [r4, #0x1]\n" - " ldrb r0, [r4, #0x3]\n" - " mov r1, r9\n" - " and r1, r1, r0\n" - " mov r0, #0x2\n" - " orr r1, r1, r0\n" - " strb r1, [r4, #0x3]\n" - " ldrb r0, [r4, #0x5]\n" - " mov r2, r8\n" - " and r2, r2, r0\n" - " mov r3, #0xf\n" - " and r2, r2, r3\n" - " strb r2, [r4, #0x5]\n" - " mov r0, #0x0\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldrh r0, [r5, #0x1c]\n" - " mov r8, r0\n" - " strh r0, [r4, #0x26]\n" - " ldrh r4, [r5, #0x1a]\n" - " str r4, [sp]\n" - " mov r0, #0x1\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " mov r1, sp\n" - " ldrh r1, [r1, #0x20]\n" - " strh r1, [r7, #0xc]\n" - " mov r2, r8\n" - " strh r2, [r7, #0x12]\n" - " strh r4, [r7, #0x16]\n" - " mov r3, #0x0\n" - " strh r3, [r7, #0x18]\n" - " strh r3, [r7, #0x1a]\n" - " ldr r1, ._56 + 56\n" - " ldr r2, ._56 + 60\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1f\n" - " strh r0, [r1]\n" - " ldr r2, ._56 + 64\n" - " mov r3, #0x18\n" - " ldsh r1, [r7, r3]\n" - " lsl r1, r1, #0x6\n" - " add r0, r1, #0\n" - " add r0, r0, #0x38\n" - " lsl r0, r0, #0x8\n" - " add r1, r1, #0x78\n" - " add r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r1, ._56 + 68\n" - " ldr r2, ._56 + 72\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " sub r1, r1, #0x2\n" - " ldr r3, ._56 + 76\n" - " add r0, r3, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._56 + 80\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0xa\n" - " mov r0, #0xe1\n" - " strh r0, [r1]\n" - " ldr r0, ._56 + 84\n" - " mov r3, #0x0\n" - " strh r3, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x13\n" - " ldrh r0, [r2]\n" - " mov r3, #0xc0\n" - " lsl r3, r3, #0x7\n" - " add r1, r3, #0\n" - " orr r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r0, ._56 + 88\n" - " str r0, [r7]\n" - " add sp, sp, #0x28\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._57:\n" - " .align 2, 0\n" - "._56:\n" - " .word gTasks\n" - " .word gSaveBlock2\n" - " .word gUnknown_Debug_083F7FD6+0x4\n" - " .word gUnknown_Debug_083F7FDE\n" - " .word gUnknown_Debug_083F7FE2\n" - " .word gUnknown_Debug_083F7FED\n" - " .word gUnknown_Debug_083F7FF6\n" - " .word gUnknown_Debug_083F8001\n" - " .word gUnknown_Debug_083F800C\n" - " .word gUnknown_Debug_083F8019\n" - " .word gUnknown_Debug_083F8022\n" - " .word gUnknown_Debug_083F8028\n" - " .word gSprites\n" - " .word gPokedexEntries\n" - " .word 0x4000048\n" - " .word 0x3f1f\n" - " .word 0x4000040\n" - " .word 0x4000044\n" - " .word 0x848\n" - " .word 0x31bf\n" - " .word 0x14f\n" - " .word 0x4000052\n" - " .word debug_80C3D2C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C3D2C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " add r7, r6, #0\n" - " ldr r4, ._60\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._58 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._60 + 4\n" - " bl SetMainCallback2\n" - " ldr r1, ._60 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._60 + 12\n" - " str r1, [r0]\n" - " b ._117\n" - "._61:\n" - " .align 2, 0\n" - "._60:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._58:\n" - " mov r5, #0x1\n" - " add r0, r5, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._62 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._64\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrh r1, [r0, #0x18]\n" - " mov r2, #0x1\n" - " eor r1, r1, r2\n" - " strh r1, [r0, #0x18]\n" - " b ._117\n" - "._65:\n" - " .align 2, 0\n" - "._64:\n" - " .word gTasks\n" - "._62:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._66 @cond_branch\n" - " ldr r1, ._70\n" - " lsl r2, r6, #0x2\n" - " add r0, r2, r6\n" - " lsl r0, r0, #0x3\n" - " add r3, r0, r1\n" - " mov r5, #0x18\n" - " ldsh r0, [r3, r5]\n" - " mov r8, r1\n" - " cmp r0, #0\n" - " beq ._67 @cond_branch\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._68 @cond_branch\n" - " ldrh r0, [r3, #0x14]\n" - " add r0, r0, #0x10\n" - " b ._69\n" - "._71:\n" - " .align 2, 0\n" - "._70:\n" - " .word gTasks\n" - "._68:\n" - " ldrh r0, [r3, #0x14]\n" - " add r0, r0, #0x1\n" - "._69:\n" - " strh r0, [r3, #0x14]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r2, r8\n" - " add r1, r0, r2\n" - " ldrh r0, [r1, #0x14]\n" - " mov r6, #0x80\n" - " lsl r6, r6, #0x8\n" - " cmp r0, r6\n" - " bhi ._72 @cond_branch\n" - " b ._117\n" - "._72:\n" - " strh r6, [r1, #0x14]\n" - " b ._117\n" - "._67:\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._75 @cond_branch\n" - " ldrh r0, [r3, #0x16]\n" - " add r0, r0, #0x10\n" - " b ._76\n" - "._75:\n" - " ldrh r0, [r3, #0x16]\n" - " add r0, r0, #0x1\n" - "._76:\n" - " strh r0, [r3, #0x16]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r4, r8\n" - " add r1, r0, r4\n" - " ldrh r0, [r1, #0x16]\n" - " mov r6, #0x80\n" - " lsl r6, r6, #0x8\n" - " cmp r0, r6\n" - " bhi ._77 @cond_branch\n" - " b ._117\n" - "._77:\n" - " strh r6, [r1, #0x16]\n" - " b ._117\n" - "._66:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._80 @cond_branch\n" - " ldr r1, ._84\n" - " lsl r2, r6, #0x2\n" - " add r0, r2, r6\n" - " lsl r0, r0, #0x3\n" - " add r3, r0, r1\n" - " mov r5, #0x18\n" - " ldsh r0, [r3, r5]\n" - " mov r8, r1\n" - " cmp r0, #0\n" - " beq ._81 @cond_branch\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._82 @cond_branch\n" - " ldrh r0, [r3, #0x14]\n" - " sub r0, r0, #0x10\n" - " b ._83\n" - "._85:\n" - " .align 2, 0\n" - "._84:\n" - " .word gTasks\n" - "._82:\n" - " ldrh r0, [r3, #0x14]\n" - " sub r0, r0, #0x1\n" - "._83:\n" - " strh r0, [r3, #0x14]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r2, r8\n" - " add r1, r0, r2\n" - " mov r4, #0x14\n" - " ldsh r0, [r1, r4]\n" - " cmp r0, #0xff\n" - " ble ._86 @cond_branch\n" - " b ._117\n" - "._86:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r1, #0x14]\n" - " b ._117\n" - "._81:\n" - " ldrh r1, [r4, #0x2c]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._89 @cond_branch\n" - " ldrh r0, [r3, #0x16]\n" - " sub r0, r0, #0x10\n" - " b ._90\n" - "._89:\n" - " ldrh r0, [r3, #0x16]\n" - " sub r0, r0, #0x1\n" - "._90:\n" - " strh r0, [r3, #0x16]\n" - " add r0, r2, r7\n" - " lsl r0, r0, #0x3\n" - " mov r5, r8\n" - " add r1, r0, r5\n" - " mov r2, #0x16\n" - " ldsh r0, [r1, r2]\n" - " cmp r0, #0xff\n" - " ble ._91 @cond_branch\n" - " b ._117\n" - "._91:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r1, #0x16]\n" - " b ._117\n" - "._80:\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._94 @cond_branch\n" - " ldr r0, ._97\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " mov r4, #0x18\n" - " ldsh r0, [r1, r4]\n" - " cmp r0, #0\n" - " beq ._95 @cond_branch\n" - " ldrh r0, [r1, #0x10]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r1, #0x10]\n" - " b ._117\n" - "._98:\n" - " .align 2, 0\n" - "._97:\n" - " .word gTasks\n" - "._95:\n" - " ldrh r0, [r1, #0x12]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r1, #0x12]\n" - " b ._117\n" - "._94:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._100 @cond_branch\n" - " ldr r0, ._103\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " mov r5, #0x18\n" - " ldsh r0, [r1, r5]\n" - " cmp r0, #0\n" - " beq ._101 @cond_branch\n" - " ldrh r0, [r1, #0x10]\n" - " add r0, r0, #0x1\n" - " strh r0, [r1, #0x10]\n" - " b ._117\n" - "._104:\n" - " .align 2, 0\n" - "._103:\n" - " .word gTasks\n" - "._101:\n" - " ldrh r0, [r1, #0x12]\n" - " add r0, r0, #0x1\n" - " strh r0, [r1, #0x12]\n" - " b ._117\n" - "._100:\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._106 @cond_branch\n" - " ldr r2, ._109\n" - " lsl r3, r6, #0x2\n" - " add r0, r3, r6\n" - " lsl r0, r0, #0x3\n" - " add r6, r0, r2\n" - " ldrh r4, [r6, #0x8]\n" - " mov r0, #0x8\n" - " ldsh r1, [r6, r0]\n" - " ldr r0, ._109 + 4\n" - " mov r8, r2\n" - " add r2, r3, #0\n" - " cmp r1, r0\n" - " bgt ._107 @cond_branch\n" - " add r0, r4, #1\n" - " strh r0, [r6, #0x8]\n" - " b ._108\n" - "._110:\n" - " .align 2, 0\n" - "._109:\n" - " .word gTasks\n" - " .word 0x181\n" - "._107:\n" - " strh r5, [r6, #0x8]\n" - "._108:\n" - " add r4, r2, r7\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r8\n" - " mov r2, #0xc\n" - " ldsh r1, [r4, r2]\n" - " b ._111\n" - "._106:\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._112 @cond_branch\n" - " ldr r1, ._115\n" - " lsl r2, r6, #0x2\n" - " add r0, r2, r6\n" - " lsl r0, r0, #0x3\n" - " add r3, r0, r1\n" - " ldrh r6, [r3, #0x8]\n" - " mov r4, #0x8\n" - " ldsh r0, [r3, r4]\n" - " mov r8, r1\n" - " cmp r0, #0x1\n" - " ble ._113 @cond_branch\n" - " sub r0, r6, #1\n" - " b ._114\n" - "._116:\n" - " .align 2, 0\n" - "._115:\n" - " .word gTasks\n" - "._113:\n" - " mov r0, #0xc1\n" - " lsl r0, r0, #0x1\n" - "._114:\n" - " strh r0, [r3, #0x8]\n" - " add r4, r2, r7\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r8\n" - " mov r5, #0xc\n" - " ldsh r1, [r4, r5]\n" - "._111:\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r5, ._118\n" - " add r0, r0, r5\n" - " bl DestroySprite\n" - " mov r0, #0xe\n" - " ldsh r1, [r4, r0]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r5\n" - " bl DestroySprite\n" - " ldr r0, ._118 + 4\n" - " str r0, [r4]\n" - " b ._117\n" - "._119:\n" - " .align 2, 0\n" - "._118:\n" - " .word gSprites\n" - " .word debug_80C3A50+1\n" - "._112:\n" - " ldr r0, ._120\n" - " lsl r5, r7, #0x2\n" - " add r5, r5, r7\n" - " lsl r5, r5, #0x3\n" - " add r5, r5, r0\n" - " ldrh r4, [r5, #0x16]\n" - " ldrh r6, [r5, #0x12]\n" - " str r4, [sp]\n" - " mov r0, #0x1\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x3\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x7\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r2, ._120 + 4\n" - " mov r8, r2\n" - " mov r4, #0xc\n" - " ldsh r1, [r5, r4]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r8\n" - " strh r6, [r0, #0x26]\n" - " ldrh r4, [r5, #0x14]\n" - " ldrh r6, [r5, #0x10]\n" - " str r4, [sp]\n" - " mov r0, #0x2\n" - " add r1, r4, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl SetOamMatrix\n" - " add r0, r4, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x3\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " add r0, r6, #0\n" - " mov r1, #0x19\n" - " mov r2, #0x7\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " mov r0, #0xe\n" - " ldsh r1, [r5, r0]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r8\n" - " strh r6, [r0, #0x26]\n" - " ldr r2, ._120 + 8\n" - " mov r4, #0x18\n" - " ldsh r1, [r5, r4]\n" - " lsl r1, r1, #0x6\n" - " add r0, r1, #0\n" - " add r0, r0, #0x38\n" - " lsl r0, r0, #0x8\n" - " add r1, r1, #0x78\n" - " add r0, r0, r1\n" - " strh r0, [r2]\n" - "._117:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._121:\n" - " .align 2, 0\n" - "._120:\n" - " .word gTasks\n" - " .word gSprites\n" - " .word 0x4000040\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C405C() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r5, r1, #0x10\n" - " mov r2, #0x0\n" - " mov r1, #0x0\n" - "._122:\n" - " add r0, r4, r2\n" - " strb r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x9\n" - " bls ._122 @cond_branch\n" - " add r0, r4, r2\n" - " mov r1, #0xff\n" - " strb r1, [r0]\n" - " mov r0, #0xae\n" - " strb r0, [r4]\n" - " cmp r5, #0\n" - " beq ._125 @cond_branch\n" - " mov r2, #0x0\n" - " ldr r3, ._127\n" - " mov r0, #0xb\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " add r0, r1, r3\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._125 @cond_branch\n" - " add r5, r3, #0\n" - " add r3, r1, #0\n" - "._126:\n" - " add r1, r4, r2\n" - " add r0, r2, r3\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " add r0, r2, r3\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._125 @cond_branch\n" - " cmp r2, #0x9\n" - " bls ._126 @cond_branch\n" - "._125:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._128:\n" - " .align 2, 0\n" - "._127:\n" - " .word gSpeciesNames\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C40C4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " mov r5, #0x0\n" - " mov r6, sp\n" - "._135:\n" - " cmp r7, #0\n" - " beq ._129 @cond_branch\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._132\n" - " add r4, r1, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._134 @cond_branch\n" - " add r0, r4, #0\n" - " bl CalculateMonStats\n" - " add r0, r4, #0\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " strh r0, [r6]\n" - " add r0, r4, #0\n" - " mov r1, #0x39\n" - " mov r2, sp\n" - " bl SetMonData\n" - " b ._134\n" - "._133:\n" - " .align 2, 0\n" - "._132:\n" - " .word gEnemyParty\n" - "._129:\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._136\n" - " add r4, r1, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._134 @cond_branch\n" - " add r0, r4, #0\n" - " bl CalculateMonStats\n" - " add r0, r4, #0\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " strh r0, [r6]\n" - " add r0, r4, #0\n" - " mov r1, #0x39\n" - " mov r2, sp\n" - " bl SetMonData\n" - "._134:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._135 @cond_branch\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._137:\n" - " .align 2, 0\n" - "._136:\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void InitBattleForDebug() -{ - asm( - " push {lr}\n" - " bl SavePlayerParty\n" - " ldr r1, ._138\n" - " ldr r0, ._138 + 4\n" - " ldrb r2, [r0, #0x8]\n" - " mov r0, #0x0\n" - " strb r2, [r1, #0xd]\n" - " strb r0, [r1]\n" - " strb r0, [r1, #0x1]\n" - " strb r0, [r1, #0x2]\n" - " strb r0, [r1, #0x3]\n" - " strb r0, [r1, #0x4]\n" - " strb r0, [r1, #0x5]\n" - " strb r0, [r1, #0x6]\n" - " strb r0, [r1, #0x7]\n" - " strb r0, [r1, #0x8]\n" - " strb r0, [r1, #0xc]\n" - " ldr r1, ._138 + 8\n" - " str r0, [r1]\n" - " bl ZeroPlayerPartyMons\n" - " bl ZeroEnemyPartyMons\n" - " mov r0, #0x0\n" - " bl debug_80C4214\n" - " ldr r0, ._138 + 12\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._139:\n" - " .align 2, 0\n" - "._138:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gSaveBlock2\n" - " .word byte_3005E30\n" - " .word debug_80C47BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C41A8() -{ - asm( - " push {lr}\n" - " ldr r1, ._140\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x1]\n" - " strb r0, [r1, #0x2]\n" - " bl ZeroPlayerPartyMons\n" - " bl ZeroEnemyPartyMons\n" - " mov r0, #0x0\n" - " bl debug_80C4214\n" - " ldr r0, ._140 + 4\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._141:\n" - " .align 2, 0\n" - "._140:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word debug_80C47BC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C41D4() -{ - asm( - " push {lr}\n" - " mov r0, #0x0\n" - " bl debug_80C40C4\n" - " mov r0, #0x0\n" - " bl debug_80C4214\n" - " ldr r0, ._142\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._143:\n" - " .align 2, 0\n" - "._142:\n" - " .word debug_80C42B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C41F4() -{ - asm( - " push {lr}\n" - " mov r0, #0x1\n" - " bl debug_80C40C4\n" - " mov r0, #0x1\n" - " bl debug_80C4214\n" - " ldr r0, ._144\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._145:\n" - " .align 2, 0\n" - "._144:\n" - " .word debug_80C42B8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4214() -{ - asm( - " push {r4, r5, r6, lr}\n" - " bl debug_80C35DC\n" - " ldr r6, ._146\n" - " mov r4, #0x0\n" - " strh r4, [r6]\n" - " ldr r5, ._146 + 4\n" - " strh r4, [r5]\n" - " ldr r0, ._146 + 8\n" - " strh r4, [r0]\n" - " add r0, r0, #0x4\n" - " strh r4, [r0]\n" - " ldr r1, ._146 + 12\n" - " ldr r2, ._146 + 16\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x31\n" - " strh r0, [r1]\n" - " add r1, r1, #0x6\n" - " mov r0, #0xe1\n" - " strh r0, [r1]\n" - " ldr r0, ._146 + 20\n" - " strh r4, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " ldr r3, ._146 + 24\n" - " ldrh r2, [r3]\n" - " strh r4, [r3]\n" - " ldr r4, ._146 + 28\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r0, ._146 + 32\n" - " bl SetVBlankCallback\n" - " ldr r0, ._146 + 36\n" - " bl SetMainCallback2\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " ldr r2, ._146 + 40\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._146 + 44\n" - " add r0, r1, #0\n" - " strh r0, [r6]\n" - " ldr r2, ._146 + 48\n" - " add r0, r2, #0\n" - " strh r0, [r5]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._147:\n" - " .align 2, 0\n" - "._146:\n" - " .word 0x4000040\n" - " .word 0x4000044\n" - " .word 0x4000042\n" - " .word 0x4000048\n" - " .word 0x1111\n" - " .word 0x4000052\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word 0x7140\n" - " .word 0x1ef\n" - " .word 0x819f\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C42B8() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffe4\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._150\n" - " mov r0, sp\n" - " mov r2, #0xc\n" - " bl memcpy\n" - " add r4, sp, #0xc\n" - " ldr r1, ._150 + 4\n" - " add r0, r4, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " bl debug_80C4694\n" - " bl debug_80C4704\n" - " ldr r0, ._150 + 8\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._148 @cond_branch\n" - " ldr r0, ._150 + 12\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._150 + 16\n" - " b ._149\n" - "._151:\n" - " .align 2, 0\n" - "._150:\n" - " .word gUnknown_Debug_083F8194\n" - " .word gUnknown_Debug_083F81A0\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C44EC+1\n" - "._148:\n" - " ldr r0, ._152\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._152 + 4\n" - "._149:\n" - " str r0, [r1]\n" - " add sp, sp, #0x1c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._153:\n" - " .align 2, 0\n" - "._152:\n" - " .word gTasks\n" - " .word debug_80C4348+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4348() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._154\n" - " ldrb r0, [r0, #0x1]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._154 + 4\n" - " ldr r2, ._154 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._154 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._154 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._155:\n" - " .align 2, 0\n" - "._154:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C43A8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C43A8() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r1, ._158\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " add r3, r1, #0\n" - " cmp r0, #0\n" - " beq ._156 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._158 + 4\n" - " ldrb r1, [r0, #0x1]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._158 + 8\n" - " add r0, r0, r1\n" - " ldr r1, ._158 + 12\n" - " bl debug_sub_80A433C\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " b ._180\n" - "._159:\n" - " .align 2, 0\n" - "._158:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gPlayerParty\n" - " .word debug_80C41D4+1\n" - "._156:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._160 @cond_branch\n" - " ldr r0, ._162\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._162 + 4\n" - " str r0, [r1]\n" - " b ._180\n" - "._163:\n" - " .align 2, 0\n" - "._162:\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._160:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0\n" - " beq ._164 @cond_branch\n" - " bl debug_80C4774\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._180 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl CalculatePlayerPartyCount\n" - " bl CalculateEnemyPartyCount\n" - " ldr r0, ._167\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._167 + 4\n" - " str r0, [r1]\n" - " b ._180\n" - "._168:\n" - " .align 2, 0\n" - "._167:\n" - " .word gTasks\n" - " .word debug_80C4D14+1\n" - "._164:\n" - " mov r0, #0x88\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._169 @cond_branch\n" - " str r1, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._171\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._171 + 4\n" - " str r0, [r1]\n" - " b ._180\n" - "._172:\n" - " .align 2, 0\n" - "._171:\n" - " .word gTasks\n" - " .word debug_80C44EC+1\n" - "._169:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._174 @cond_branch\n" - " ldr r1, ._176\n" - " ldrb r0, [r1, #0x1]\n" - " cmp r0, #0\n" - " beq ._174 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x1]\n" - " b ._175\n" - "._177:\n" - " .align 2, 0\n" - "._176:\n" - " .word gUnknown_Debug_2038A0C\n" - "._174:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._180 @cond_branch\n" - " ldr r5, ._181\n" - " ldrb r0, [r5, #0x1]\n" - " cmp r0, #0x4\n" - " bhi ._180 @cond_branch\n" - " add r1, r0, #0\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._181 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._180 @cond_branch\n" - " ldrb r0, [r5, #0x1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r5, #0x1]\n" - "._175:\n" - " ldr r1, ._181 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._181 + 12\n" - " str r1, [r0]\n" - "._180:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._182:\n" - " .align 2, 0\n" - "._181:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gPlayerParty\n" - " .word gTasks\n" - " .word debug_80C4348+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C44EC() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._183\n" - " ldrb r0, [r0, #0x2]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._183 + 4\n" - " ldr r2, ._183 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._183 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._183 + 16\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._183 + 20\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._184:\n" - " .align 2, 0\n" - "._183:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x79ef\n" - " .word 0x17f\n" - " .word gTasks\n" - " .word debug_80C4550+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4550() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r1, ._187\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " add r3, r1, #0\n" - " cmp r0, #0\n" - " beq ._185 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._187 + 4\n" - " ldrb r1, [r0, #0x2]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._187 + 8\n" - " add r0, r0, r1\n" - " ldr r1, ._187 + 12\n" - " bl debug_sub_80A433C\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " b ._209\n" - "._188:\n" - " .align 2, 0\n" - "._187:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gEnemyParty\n" - " .word debug_80C41F4+1\n" - "._185:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._189 @cond_branch\n" - " ldr r0, ._191\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._191 + 4\n" - " str r0, [r1]\n" - " b ._209\n" - "._192:\n" - " .align 2, 0\n" - "._191:\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._189:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0\n" - " beq ._193 @cond_branch\n" - " bl debug_80C4774\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._209 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl CalculatePlayerPartyCount\n" - " bl CalculateEnemyPartyCount\n" - " ldr r0, ._196\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._196 + 4\n" - " str r0, [r1]\n" - " b ._209\n" - "._197:\n" - " .align 2, 0\n" - "._196:\n" - " .word gTasks\n" - " .word debug_80C4D14+1\n" - "._193:\n" - " mov r0, #0x88\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._198 @cond_branch\n" - " str r1, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._200\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._200 + 4\n" - " str r0, [r1]\n" - " b ._209\n" - "._201:\n" - " .align 2, 0\n" - "._200:\n" - " .word gTasks\n" - " .word debug_80C4348+1\n" - "._198:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._203 @cond_branch\n" - " ldr r1, ._205\n" - " ldrb r0, [r1, #0x2]\n" - " cmp r0, #0\n" - " beq ._203 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x2]\n" - " b ._204\n" - "._206:\n" - " .align 2, 0\n" - "._205:\n" - " .word gUnknown_Debug_2038A0C\n" - "._203:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._209 @cond_branch\n" - " ldr r5, ._210\n" - " ldrb r0, [r5, #0x2]\n" - " cmp r0, #0x4\n" - " bhi ._209 @cond_branch\n" - " add r1, r0, #0\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._210 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._209 @cond_branch\n" - " ldrb r0, [r5, #0x2]\n" - " add r0, r0, #0x1\n" - " strb r0, [r5, #0x2]\n" - "._204:\n" - " ldr r1, ._210 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._210 + 12\n" - " str r1, [r0]\n" - "._209:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._211:\n" - " .align 2, 0\n" - "._210:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gEnemyParty\n" - " .word gTasks\n" - " .word debug_80C44EC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4694() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffe4\n" - " ldr r1, ._213\n" - " mov r0, sp\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - " add r5, sp, #0x10\n" - "._212:\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._213 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r5, #0\n" - " bl debug_80C405C\n" - " lsl r2, r4, #0x19\n" - " mov r0, #0xc0\n" - " lsl r0, r0, #0x12\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._212 @cond_branch\n" - " add sp, sp, #0x1c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._214:\n" - " .align 2, 0\n" - "._213:\n" - " .word gUnknown_Debug_083F81AD\n" - " .word gPlayerParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4704() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffe4\n" - " ldr r1, ._216\n" - " mov r0, sp\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x11\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - " add r5, sp, #0x10\n" - "._215:\n" - " mov r0, #0x64\n" - " mul r0, r0, r4\n" - " ldr r1, ._216 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r5, #0\n" - " bl debug_80C405C\n" - " lsl r2, r4, #0x19\n" - " mov r0, #0xc0\n" - " lsl r0, r0, #0x12\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._215 @cond_branch\n" - " add sp, sp, #0x1c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._217:\n" - " .align 2, 0\n" - "._216:\n" - " .word gUnknown_Debug_083F81BA\n" - " .word gEnemyParty\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4774() -{ - asm( - " push {r4, lr}\n" - " ldr r0, ._221\n" - " ldrb r0, [r0, #0xc]\n" - " sub r0, r0, #0x1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x64\n" - " add r4, r0, #0\n" - " mul r4, r4, r1\n" - " ldr r0, ._221 + 4\n" - " add r0, r4, r0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._219 @cond_branch\n" - " ldr r0, ._221 + 8\n" - " add r0, r4, r0\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " beq ._219 @cond_branch\n" - " mov r0, #0x1\n" - " b ._220\n" - "._222:\n" - " .align 2, 0\n" - "._221:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gPlayerParty\n" - " .word gEnemyParty\n" - "._219:\n" - " mov r0, #0x0\n" - "._220:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C47BC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xffffffc0\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r1, ._224\n" - " mov r0, sp\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " add r4, sp, #0x10\n" - " ldr r1, ._224 + 4\n" - " add r0, r4, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r6, sp, #0x20\n" - " ldr r1, ._224 + 8\n" - " add r0, r6, #0\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " add r5, sp, #0x30\n" - " ldr r1, ._224 + 12\n" - " add r0, r5, #0\n" - " mov r2, #0x10\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r4, #0x0\n" - " ldr r6, ._224 + 16\n" - "._223:\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " lsl r2, r4, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x4\n" - " bls ._223 @cond_branch\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r5, #0\n" - " mov r1, #0x11\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._224 + 20\n" - " ldrb r0, [r0, #0x4]\n" - " bl debug_80C4C44\n" - " ldr r1, ._224 + 24\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._224 + 28\n" - " str r1, [r0]\n" - " add sp, sp, #0x40\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._225:\n" - " .align 2, 0\n" - "._224:\n" - " .word gUnknown_Debug_083F81C7\n" - " .word gUnknown_Debug_083F81A0\n" - " .word gUnknown_Debug_083F81D6\n" - " .word gUnknown_Debug_083F81E5\n" - " .word gUnknown_Debug_083F8068\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C48A0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C48A0() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._226\n" - " ldrb r0, [r0, #0x3]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._226 + 4\n" - " ldr r2, ._226 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._226 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._226 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._227:\n" - " .align 2, 0\n" - "._226:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C4900+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4900() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._230\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r3, r1, #0\n" - " cmp r4, #0\n" - " beq ._228 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._230 + 4\n" - " bl SetMainCallback2\n" - " bl LoadPlayerParty\n" - " ldr r1, ._230 + 8\n" - " ldr r0, ._230 + 12\n" - " ldrb r0, [r0, #0xd]\n" - " strb r0, [r1, #0x8]\n" - " ldr r0, ._230 + 16\n" - " mov r1, #0x0\n" - " strh r4, [r0]\n" - " ldr r0, ._230 + 20\n" - " strb r1, [r0]\n" - " ldr r1, ._230 + 24\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._230 + 28\n" - " b ._229\n" - "._231:\n" - " .align 2, 0\n" - "._230:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gSaveBlock2\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gBattleTypeFlags\n" - " .word gUnknown_02023A14_50\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._228:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._232 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._233 @cond_branch\n" - "._232:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._236\n" - " ldr r3, ._236 + 4\n" - " ldr r2, ._236 + 8\n" - " ldrb r0, [r2, #0x3]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r3\n" - " ldrb r0, [r0, #0x4]\n" - " strh r0, [r1]\n" - " ldr r1, ._236 + 12\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " ldrb r0, [r2, #0x3]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r3\n" - " ldrb r0, [r0, #0x5]\n" - " strb r0, [r2, #0xc]\n" - " ldrb r0, [r2, #0x3]\n" - " sub r0, r0, #0x1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bhi ._234 @cond_branch\n" - " str r4, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._236 + 16\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._236 + 20\n" - " str r0, [r1]\n" - " b ._247\n" - "._237:\n" - " .align 2, 0\n" - "._236:\n" - " .word gBattleTypeFlags\n" - " .word gUnknown_Debug_083F8068\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gUnknown_02023A14_50\n" - " .word gTasks\n" - " .word debug_80C4A60+1\n" - "._234:\n" - " ldr r0, ._239\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._239 + 4\n" - " str r0, [r1]\n" - " b ._247\n" - "._240:\n" - " .align 2, 0\n" - "._239:\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._233:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._242 @cond_branch\n" - " ldr r1, ._244\n" - " ldrb r0, [r1, #0x3]\n" - " cmp r0, #0\n" - " beq ._242 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._243\n" - "._245:\n" - " .align 2, 0\n" - "._244:\n" - " .word gUnknown_Debug_2038A0C\n" - "._242:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._247 @cond_branch\n" - " ldr r1, ._248\n" - " ldrb r0, [r1, #0x3]\n" - " cmp r0, #0x1\n" - " bhi ._247 @cond_branch\n" - " add r0, r0, #0x1\n" - "._243:\n" - " strb r0, [r1, #0x3]\n" - " ldr r1, ._248 + 4\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._248 + 8\n" - "._229:\n" - " str r1, [r0]\n" - "._247:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._249:\n" - " .align 2, 0\n" - "._248:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C48A0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4A60() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._250\n" - " ldrb r0, [r0, #0x5]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._250 + 4\n" - " ldr r2, ._250 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._250 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._250 + 16\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._250 + 20\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._251:\n" - " .align 2, 0\n" - "._250:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x79ef\n" - " .word 0x17f\n" - " .word gTasks\n" - " .word debug_80C4AC4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4AC4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r7, ._255\n" - " ldrb r0, [r7, #0x4]\n" - " mov ip, r0\n" - " ldrb r5, [r7, #0x5]\n" - " mov r1, ip\n" - " add r0, r1, r5\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " ldr r2, ._255 + 4\n" - " mov r8, r2\n" - " ldrh r2, [r2, #0x2e]\n" - " mov r3, #0x1\n" - " and r3, r3, r2\n" - " add r4, r7, #0\n" - " cmp r3, #0\n" - " beq ._252 @cond_branch\n" - " ldr r0, ._255 + 8\n" - " lsl r1, r1, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r1, [r1]\n" - " ldr r3, ._255 + 12\n" - " ldr r2, [r3]\n" - " add r0, r2, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._253 @cond_branch\n" - " ldr r0, ._255 + 16\n" - " eor r1, r1, r0\n" - " and r2, r2, r1\n" - " b ._254\n" - "._256:\n" - " .align 2, 0\n" - "._255:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gMain\n" - " .word gUnknown_Debug_083F80D8\n" - " .word byte_3005E30\n" - " .word 0xffff\n" - "._253:\n" - " orr r2, r2, r1\n" - "._254:\n" - " str r2, [r3]\n" - " ldrb r0, [r4, #0x4]\n" - " bl debug_80C4C44\n" - " ldr r1, ._258\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._258 + 4\n" - " str r1, [r0]\n" - " b ._274\n" - "._259:\n" - " .align 2, 0\n" - "._258:\n" - " .word gTasks\n" - " .word debug_80C4A60+1\n" - "._252:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " cmp r4, #0\n" - " beq ._260 @cond_branch\n" - " str r3, [sp]\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r0, ._262\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._262 + 4\n" - " b ._261\n" - "._263:\n" - " .align 2, 0\n" - "._262:\n" - " .word gTasks\n" - " .word debug_80C48A0+1\n" - "._260:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._264 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._266\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x3\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._266 + 4\n" - " ldrb r2, [r1, #0x1]\n" - " mov r0, #0x11\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " strb r0, [r1, #0x1]\n" - " mov r0, #0xac\n" - " strb r0, [r1, #0x2]\n" - " mov r0, #0xff\n" - " strb r0, [r1, #0x3]\n" - " strb r4, [r1, #0x9]\n" - " strb r4, [r1, #0xa]\n" - " strb r4, [r1, #0xb]\n" - " strb r4, [r1, #0xc]\n" - " ldr r1, ._266 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._266 + 12\n" - " str r1, [r0]\n" - " b ._274\n" - "._267:\n" - " .align 2, 0\n" - "._266:\n" - " .word gTrainerBattleOpponent\n" - " .word +0x2017000\n" - " .word gTasks\n" - " .word debug_80C4F48+1\n" - "._264:\n" - " mov r0, r8\n" - " ldrh r1, [r0, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._268 @cond_branch\n" - " lsl r0, r5, #0x18\n" - " cmp r0, #0\n" - " beq ._269 @cond_branch\n" - " sub r0, r5, #1\n" - " strb r0, [r7, #0x5]\n" - " b ._277\n" - "._269:\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " cmp r0, #0\n" - " beq ._277 @cond_branch\n" - " mov r0, ip\n" - " sub r0, r0, #0x1\n" - " b ._272\n" - "._268:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._274 @cond_branch\n" - " lsl r0, r5, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x8\n" - " bhi ._274 @cond_branch\n" - " cmp r0, #0x4\n" - " bhi ._275 @cond_branch\n" - " add r0, r5, #1\n" - " strb r0, [r7, #0x5]\n" - " b ._277\n" - "._275:\n" - " mov r2, ip\n" - " lsl r0, r2, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x3\n" - " bhi ._277 @cond_branch\n" - " mov r0, ip\n" - " add r0, r0, #0x1\n" - "._272:\n" - " strb r0, [r7, #0x4]\n" - " ldrb r0, [r7, #0x4]\n" - " bl debug_80C4C44\n" - "._277:\n" - " ldr r0, ._278\n" - " lsl r1, r6, #0x2\n" - " add r1, r1, r6\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._278 + 4\n" - "._261:\n" - " str r0, [r1]\n" - "._274:\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._279:\n" - " .align 2, 0\n" - "._278:\n" - " .word gTasks\n" - " .word debug_80C4A60+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4C44() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffff0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov sl, r0\n" - " mov r2, #0x0\n" - " mov r5, sp\n" - "._290:\n" - " mov r0, sl\n" - " add r6, r2, r0\n" - " add r4, r6, #0\n" - " add r1, r2, #1\n" - " mov r8, r1\n" - " cmp r4, #0x9\n" - " bgt ._280 @cond_branch\n" - " mov r3, #0x0\n" - " ldr r1, ._288\n" - " lsl r0, r4, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " ldrb r0, [r0]\n" - " ldr r7, ._288 + 4\n" - " mov r9, r7\n" - " lsl r2, r2, #0x1\n" - " mov ip, r2\n" - " cmp r0, #0xff\n" - " beq ._282 @cond_branch\n" - " add r7, r1, #0\n" - "._283:\n" - " add r0, r3, #3\n" - " mov r1, sp\n" - " add r2, r1, r0\n" - " lsl r1, r6, #0x3\n" - " add r1, r1, r7\n" - " ldr r0, [r1]\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r2]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " ldr r0, [r1]\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._282 @cond_branch\n" - " cmp r3, #0xb\n" - " bls ._283 @cond_branch\n" - "._282:\n" - " cmp r3, #0xb\n" - " bhi ._284 @cond_branch\n" - " mov r1, #0x0\n" - "._285:\n" - " add r0, r3, #3\n" - " add r0, r0, sp\n" - " strb r1, [r0]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " cmp r3, #0xb\n" - " bls ._285 @cond_branch\n" - "._284:\n" - " mov r0, #0xff\n" - " strb r0, [r5, #0xe]\n" - " mov r0, #0xfc\n" - " strb r0, [r5]\n" - " mov r2, #0x1\n" - " strb r2, [r5, #0x1]\n" - " add r1, r2, #0\n" - " LSL r1, r4\n" - " mov r3, r9\n" - " ldr r0, [r3]\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._286 @cond_branch\n" - " mov r0, #0x3\n" - " strb r0, [r5, #0x2]\n" - " b ._287\n" - "._289:\n" - " .align 2, 0\n" - "._288:\n" - " .word gUnknown_Debug_083F80D8\n" - " .word byte_3005E30\n" - "._286:\n" - " strb r2, [r5, #0x2]\n" - "._287:\n" - " mov r2, ip\n" - " add r2, r2, #0x3\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x11\n" - " bl Menu_PrintText\n" - "._280:\n" - " mov r7, r8\n" - " lsl r0, r7, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x5\n" - " bls ._290 @cond_branch\n" - " add sp, sp, #0x10\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4D14() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xffffffd0\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r1, ._291\n" - " mov r0, sp\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " add r5, sp, #0x10\n" - " ldr r1, ._291 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r6, sp, #0x20\n" - " ldr r1, ._291 + 8\n" - " add r0, r6, #0\n" - " mov r2, #0xf\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r5, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r6, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._291 + 12\n" - " ldrb r0, [r0, #0x6]\n" - " bl debug_80C4F00\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._291 + 16\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._291 + 20\n" - " str r1, [r0]\n" - " add sp, sp, #0x30\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._292:\n" - " .align 2, 0\n" - "._291:\n" - " .word gUnknown_Debug_083F81C7\n" - " .word gUnknown_Debug_083F81F5\n" - " .word gUnknown_Debug_083F8202\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C4DB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4DB8() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._293\n" - " ldrb r0, [r0, #0x7]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._293 + 4\n" - " ldr r2, ._293 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._293 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._293 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._294:\n" - " .align 2, 0\n" - "._293:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C4E18+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4E18() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r5, ._297\n" - " ldrb r3, [r5, #0x6]\n" - " ldrb r2, [r5, #0x7]\n" - " add r0, r3, r2\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r7, ._297 + 4\n" - " ldrh r1, [r7, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._295 @cond_branch\n" - " ldr r0, ._297 + 8\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._297 + 12\n" - " b ._296\n" - "._298:\n" - " .align 2, 0\n" - "._297:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C42B8+1\n" - "._295:\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._299 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._300 @cond_branch\n" - "._299:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r2, ._302\n" - " ldr r1, ._302 + 4\n" - " lsl r0, r6, #0x3\n" - " add r0, r0, r1\n" - " ldrb r0, [r0, #0x4]\n" - " strb r0, [r2]\n" - " ldr r1, ._302 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._302 + 12\n" - " str r1, [r0]\n" - " b ._310\n" - "._303:\n" - " .align 2, 0\n" - "._302:\n" - " .word gBattleTerrain\n" - " .word gUnknown_Debug_083F814C\n" - " .word gTasks\n" - " .word debug_80C5158+1\n" - "._300:\n" - " ldrh r1, [r7, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._304 @cond_branch\n" - " lsl r0, r2, #0x18\n" - " cmp r0, #0\n" - " beq ._305 @cond_branch\n" - " sub r0, r2, #1\n" - " strb r0, [r5, #0x7]\n" - " b ._313\n" - "._305:\n" - " lsl r0, r3, #0x18\n" - " cmp r0, #0\n" - " beq ._313 @cond_branch\n" - " sub r0, r3, #1\n" - " b ._308\n" - "._304:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._310 @cond_branch\n" - " lsl r0, r2, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x7\n" - " bhi ._310 @cond_branch\n" - " cmp r0, #0x4\n" - " bhi ._311 @cond_branch\n" - " add r0, r2, #1\n" - " strb r0, [r5, #0x7]\n" - " b ._313\n" - "._311:\n" - " lsl r0, r3, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x2\n" - " bhi ._313 @cond_branch\n" - " add r0, r3, #1\n" - "._308:\n" - " strb r0, [r5, #0x6]\n" - " ldrb r0, [r5, #0x6]\n" - " bl debug_80C4F00\n" - "._313:\n" - " ldr r0, ._314\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._314 + 4\n" - "._296:\n" - " str r0, [r1]\n" - "._310:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._315:\n" - " .align 2, 0\n" - "._314:\n" - " .word gTasks\n" - " .word debug_80C4DB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4F00() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " mov r0, #0x1\n" - " mov r1, #0x3\n" - " mov r2, #0xd\n" - " mov r3, #0xe\n" - " bl Menu_BlankWindowRect\n" - " mov r4, #0x0\n" - " ldr r6, ._318\n" - "._317:\n" - " cmp r4, #0x8\n" - " bhi ._316 @cond_branch\n" - " add r0, r4, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " lsl r2, r4, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - "._316:\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x5\n" - " bls ._317 @cond_branch\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._319:\n" - " .align 2, 0\n" - "._318:\n" - " .word gUnknown_Debug_083F814C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C4F48() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6}\n" - " add sp, sp, #0xffffffc4\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r1, ._320\n" - " mov r0, sp\n" - " mov r2, #0x11\n" - " bl memcpy\n" - " add r6, sp, #0x14\n" - " ldr r1, ._320 + 4\n" - " add r0, r6, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r5, sp, #0x24\n" - " ldr r1, ._320 + 8\n" - " add r0, r5, #0\n" - " mov r2, #0xd\n" - " bl memcpy\n" - " add r0, sp, #0x34\n" - " mov r9, r0\n" - " ldr r1, ._320 + 12\n" - " mov r2, #0x4\n" - " bl memcpy\n" - " add r0, sp, #0x38\n" - " mov r8, r0\n" - " ldr r1, ._320 + 16\n" - " mov r2, #0x4\n" - " bl memcpy\n" - " mov r0, #0x0\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " mov r1, #0x14\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " mov r1, #0x3\n" - " mov r2, #0xd\n" - " mov r3, #0xe\n" - " bl Menu_BlankWindowRect\n" - " add r0, r5, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r0, r9\n" - " mov r1, #0x2\n" - " mov r2, #0x3\n" - " bl Menu_PrintText\n" - " mov r0, r8\n" - " mov r1, #0x2\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0xf\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._320 + 20\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._320 + 24\n" - " str r1, [r0]\n" - " add sp, sp, #0x3c\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._321:\n" - " .align 2, 0\n" - "._320:\n" - " .word gUnknown_Debug_083F8211\n" - " .word gUnknown_Debug_083F81A0\n" - " .word gUnknown_Debug_083F8222\n" - " .word gUnknown_Debug_083F822F\n" - " .word gUnknown_Debug_083F8233\n" - " .word gTasks\n" - " .word debug_80C5038+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5038() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r0, ._322\n" - " ldrb r0, [r0, #0x8]\n" - " lsl r0, r0, #0x19\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x12\n" - " add r0, r0, r1\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " str r1, [sp]\n" - " mov r2, #0x1\n" - " mov r3, #0xe\n" - " bl debug_80C38E4\n" - " ldr r1, ._322 + 4\n" - " ldr r2, ._322 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " add r2, r2, #0x8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._322 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._322 + 16\n" - " str r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._323:\n" - " .align 2, 0\n" - "._322:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word 0x4000042\n" - " .word 0x177\n" - " .word gTasks\n" - " .word debug_80C5098+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5098() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r1, ._326\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " add r3, r1, #0\n" - " cmp r0, #0\n" - " beq ._324 @cond_branch\n" - " ldr r0, ._326 + 4\n" - " lsl r1, r4, #0x2\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._326 + 8\n" - " str r0, [r1]\n" - " b ._339\n" - "._327:\n" - " .align 2, 0\n" - "._326:\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C47BC+1\n" - "._324:\n" - " mov r0, #0x8\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._328 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._329 @cond_branch\n" - "._328:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._331\n" - " ldr r0, ._331 + 4\n" - " ldrb r0, [r0, #0x8]\n" - " strb r0, [r1, #0x8]\n" - " ldr r1, ._331 + 8\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._331 + 12\n" - " b ._330\n" - "._332:\n" - " .align 2, 0\n" - "._331:\n" - " .word gSaveBlock2\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C42B8+1\n" - "._329:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._334 @cond_branch\n" - " ldr r1, ._336\n" - " ldrb r0, [r1, #0x8]\n" - " cmp r0, #0\n" - " beq ._334 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._335\n" - "._337:\n" - " .align 2, 0\n" - "._336:\n" - " .word gUnknown_Debug_2038A0C\n" - "._334:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._339 @cond_branch\n" - " ldr r1, ._340\n" - " ldrb r0, [r1, #0x8]\n" - " cmp r0, #0\n" - " bne ._339 @cond_branch\n" - " add r0, r0, #0x1\n" - "._335:\n" - " strb r0, [r1, #0x8]\n" - " ldr r1, ._340 + 4\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._340 + 8\n" - "._330:\n" - " str r1, [r0]\n" - "._339:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._341:\n" - " .align 2, 0\n" - "._340:\n" - " .word gUnknown_Debug_2038A0C\n" - " .word gTasks\n" - " .word debug_80C5038+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5158() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._342\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._342 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._343:\n" - " .align 2, 0\n" - "._342:\n" - " .word gTasks\n" - " .word debug_80C5174+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5174() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._344\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._344 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._345:\n" - " .align 2, 0\n" - "._344:\n" - " .word gTasks\n" - " .word debug_80C5190+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5190() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._346\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._346 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._347:\n" - " .align 2, 0\n" - "._346:\n" - " .word gTasks\n" - " .word debug_80C51AC+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C51AC() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._348\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._348 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._349:\n" - " .align 2, 0\n" - "._348:\n" - " .word gTasks\n" - " .word debug_80C51C8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C51C8() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._350\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._350 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._351:\n" - " .align 2, 0\n" - "._350:\n" - " .word gTasks\n" - " .word debug_80C51E4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C51E4() -{ - asm( - " push {lr}\n" - " bl sub_80408BC\n" - " ldr r0, ._352\n" - " ldr r1, ._352 + 4\n" - " str r1, [r0, #0x8]\n" - " ldr r0, ._352 + 8\n" - " bl SetMainCallback2\n" - " pop {r0}\n" - " bx r0\n" - "._353:\n" - " .align 2, 0\n" - "._352:\n" - " .word gMain\n" - " .word debug_80C41A8+1\n" - " .word unref_sub_800D684+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5208() -{ - asm( - " push {r4, r5, r6, lr}\n" - " ldr r1, ._355\n" - " ldr r0, ._355 + 4\n" - " str r0, [r1]\n" - " mov r3, #0x0\n" - " add r6, r1, #0\n" - " ldr r4, ._355 + 8\n" - " add r5, r6, #0\n" - " mov r2, #0x0\n" - "._354:\n" - " ldr r0, [r5]\n" - " lsl r1, r3, #0x2\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " str r2, [r0]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0x3f\n" - " bls ._354 @cond_branch\n" - " ldr r2, [r6]\n" - " mov r0, #0xfc\n" - " str r0, [r2, #0x64]\n" - " ldrb r1, [r4, #0xa]\n" - " ldrb r0, [r4, #0xb]\n" - " lsl r0, r0, #0x8\n" - " orr r1, r1, r0\n" - " ldrb r0, [r4, #0xc]\n" - " lsl r0, r0, #0x10\n" - " orr r1, r1, r0\n" - " ldrb r0, [r4, #0xd]\n" - " lsl r0, r0, #0x18\n" - " orr r1, r1, r0\n" - " str r1, [r2, #0x70]\n" - " bl Random\n" - " add r4, r0, #0\n" - " bl Random\n" - " ldr r1, [r6]\n" - " lsl r4, r4, #0x10\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " orr r4, r4, r0\n" - " str r4, [r1, #0x74]\n" - " mov r0, #0x1\n" - " str r0, [r1, #0x68]\n" - " str r0, [r1, #0x6c]\n" - " bl debug_80C5C94\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._356:\n" - " .align 2, 0\n" - "._355:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word +0x2018000\n" - " .word gSaveBlock2\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C527C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add r6, r0, #0\n" - " mov r5, #0x0\n" - " ldr r7, ._359\n" - "._361:\n" - " mov r0, #0x64\n" - " add r1, r5, #0\n" - " mul r1, r1, r0\n" - " ldr r0, ._359 + 4\n" - " add r4, r1, r0\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " cmp r0, #0\n" - " bne ._357 @cond_branch\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " add r0, r5, #1\n" - " strb r0, [r7]\n" - " mov r0, #0x0\n" - " b ._358\n" - "._360:\n" - " .align 2, 0\n" - "._359:\n" - " .word gPlayerPartyCount\n" - " .word gPlayerParty\n" - "._357:\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x5\n" - " bls ._361 @cond_branch\n" - " ldr r0, ._362\n" - " ldr r0, [r0]\n" - " bl SendMonToPC\n" - " mov r0, #0x1\n" - "._358:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._363:\n" - " .align 2, 0\n" - "._362:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void InitCreatePokemon() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xffffffd4\n" - " ldr r1, ._364\n" - " add r0, sp, #0x4\n" - " mov r2, #0x25\n" - " bl memcpy\n" - " bl debug_80C35DC\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._364 + 4\n" - " mov r5, #0x0\n" - " strh r4, [r0]\n" - " add r0, r0, #0x2\n" - " strh r4, [r0]\n" - " add r0, r0, #0x2\n" - " strh r4, [r0]\n" - " ldr r3, ._364 + 8\n" - " ldrh r2, [r3]\n" - " strh r4, [r3]\n" - " ldr r4, ._364 + 12\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r2, ._364 + 16\n" - " ldrh r0, [r2]\n" - " mov r1, #0x8\n" - " orr r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r0, ._364 + 20\n" - " bl SetVBlankCallback\n" - " ldr r0, ._364 + 24\n" - " bl SetMainCallback2\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, sp, #0x4\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " mov r2, #0x8a\n" - " lsl r2, r2, #0x5\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._364 + 28\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " bl debug_80C5208\n" - " ldr r1, ._364 + 32\n" - " ldr r0, [r1]\n" - " mov r2, #0xb4\n" - " lsl r2, r2, #0x1\n" - " add r0, r0, r2\n" - " strb r5, [r0]\n" - " ldr r0, [r1]\n" - " ldr r1, ._364 + 36\n" - " add r0, r0, r1\n" - " strb r5, [r0]\n" - " add sp, sp, #0x2c\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._365:\n" - " .align 2, 0\n" - "._364:\n" - " .word gUnknown_Debug_083F8733\n" - " .word 0x4000050\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word 0x4000004\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word debug_80C53A4+1\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C53A4() -{ - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._366\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r0, ._366 + 4\n" - " str r0, [r1]\n" - " bx lr\n" - "._367:\n" - " .align 2, 0\n" - "._366:\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C53C0() -{ - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl debug_80C6384\n" - " mov r0, #0x0\n" - " bl debug_80C627C\n" - " ldr r1, ._368\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._368 + 4\n" - " str r1, [r0]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._369:\n" - " .align 2, 0\n" - "._368:\n" - " .word gTasks\n" - " .word debug_80C53F0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C53F0() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r0, ._372\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r2, #0x1\n" - " and r2, r2, r1\n" - " add r4, r0, #0\n" - " cmp r2, #0\n" - " beq ._370 @cond_branch\n" - " ldr r0, ._372 + 4\n" - " ldr r3, [r0]\n" - " mov r0, #0xb2\n" - " lsl r0, r0, #0x1\n" - " add r2, r3, r0\n" - " ldr r1, ._372 + 8\n" - " mov r4, #0xb4\n" - " lsl r4, r4, #0x1\n" - " add r0, r3, r4\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r6, ._372 + 12\n" - " add r1, r3, r6\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " lsl r1, r1, #0x2\n" - " add r0, r3, #0\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " str r0, [r2]\n" - " mov r0, #0xb5\n" - " lsl r0, r0, #0x1\n" - " add r1, r3, r0\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " bl debug_80C643C\n" - " ldr r1, ._372 + 16\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._372 + 20\n" - " b ._375\n" - "._373:\n" - " .align 2, 0\n" - "._372:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F8698\n" - " .word 0x169\n" - " .word gTasks\n" - " .word debug_80C55E4+1\n" - "._370:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._374 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " str r2, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._376\n" - " bl SetMainCallback2\n" - " ldr r1, ._376 + 4\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._376 + 8\n" - " b ._375\n" - "._377:\n" - " .align 2, 0\n" - "._376:\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._374:\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._378 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " bl debug_80C5FFC\n" - " ldr r0, ._381\n" - " ldr r0, [r0]\n" - " bl debug_80C527C\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r0, #0x3\n" - " mov r1, #0x8\n" - " mov r2, #0x1a\n" - " mov r3, #0xb\n" - " bl Menu_DrawStdWindowFrame\n" - " cmp r4, #0\n" - " beq ._379 @cond_branch\n" - " ldr r0, ._381 + 4\n" - " mov r1, #0x4\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - " b ._380\n" - "._382:\n" - " .align 2, 0\n" - "._381:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F872A\n" - "._379:\n" - " ldr r0, ._384\n" - " mov r1, #0x4\n" - " mov r2, #0x9\n" - " bl Menu_PrintText\n" - "._380:\n" - " ldr r0, ._384 + 4\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._384 + 8\n" - " str r0, [r1]\n" - " b ._400\n" - "._385:\n" - " .align 2, 0\n" - "._384:\n" - " .word gUnknown_Debug_083F8720\n" - " .word gTasks\n" - " .word debug_80C5708+1\n" - "._378:\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._386 @cond_branch\n" - " ldr r0, ._388\n" - " ldr r0, [r0]\n" - " ldr r4, [r0, #0x64]\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " bl GetSetPokedexFlag\n" - " add r0, r4, #0\n" - " mov r1, #0x3\n" - " bl GetSetPokedexFlag\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " b ._400\n" - "._389:\n" - " .align 2, 0\n" - "._388:\n" - " .word gUnknown_Debug_2038A1C\n" - "._386:\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._390 @cond_branch\n" - " mov r0, #0x2\n" - " bl debug_80C627C\n" - " b ._400\n" - "._390:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r3, r0, #0x10\n" - " cmp r3, #0\n" - " beq ._392 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_80C627C\n" - " b ._400\n" - "._392:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._395 @cond_branch\n" - " ldr r2, ._397\n" - " ldr r0, [r2]\n" - " mov r6, #0xb4\n" - " lsl r6, r6, #0x1\n" - " add r1, r0, r6\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._395 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, [r2]\n" - " ldr r1, ._397 + 4\n" - " add r0, r0, r1\n" - " strb r3, [r0]\n" - " b ._396\n" - "._398:\n" - " .align 2, 0\n" - "._397:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "._395:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._400 @cond_branch\n" - " ldr r3, ._401\n" - " ldr r0, [r3]\n" - " mov r4, #0xb4\n" - " lsl r4, r4, #0x1\n" - " add r2, r0, r4\n" - " ldrb r0, [r2]\n" - " cmp r0, #0x4\n" - " bhi ._400 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x0\n" - " strb r0, [r2]\n" - " ldr r0, [r3]\n" - " ldr r6, ._401 + 4\n" - " add r0, r0, r6\n" - " strb r1, [r0]\n" - "._396:\n" - " ldr r1, ._401 + 8\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._401 + 12\n" - "._375:\n" - " str r1, [r0]\n" - "._400:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._402:\n" - " .align 2, 0\n" - "._401:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C55E4() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " add r6, r3, #0\n" - " ldr r1, ._405\n" - " ldr r2, ._405 + 4\n" - " ldr r0, [r2]\n" - " mov ip, r0\n" - " mov r0, #0xb4\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, ip\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._405 + 8\n" - " add r1, r1, ip\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r5, [r0]\n" - " add r7, r5, #0\n" - " ldr r1, ._405 + 12\n" - " ldrh r4, [r1, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r4\n" - " mov r8, r2\n" - " add r2, r1, #0\n" - " cmp r0, #0\n" - " beq ._403 @cond_branch\n" - " ldr r0, ._405 + 16\n" - " lsl r1, r3, #0x2\n" - " add r1, r1, r3\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._405 + 20\n" - " str r0, [r1]\n" - " b ._422\n" - "._406:\n" - " .align 2, 0\n" - "._405:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "._403:\n" - " mov r0, #0x2\n" - " and r0, r0, r4\n" - " cmp r0, #0\n" - " beq ._407 @cond_branch\n" - " lsl r1, r5, #0x2\n" - " mov r0, ip\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " mov r1, #0xb2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, ip\n" - " ldr r1, [r1]\n" - " str r1, [r0]\n" - " ldr r1, ._409\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._409 + 4\n" - " str r1, [r0]\n" - " b ._422\n" - "._410:\n" - " .align 2, 0\n" - "._409:\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "._407:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._411 @cond_branch\n" - " mov r0, #0x1\n" - " b ._412\n" - "._411:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._413 @cond_branch\n" - " mov r0, #0x2\n" - "._412:\n" - " bl debug_80C6544\n" - " bl debug_80C643C\n" - " b ._422\n" - "._413:\n" - " ldr r0, ._419\n" - " lsl r1, r7, #0x3\n" - " add r0, r0, #0x4\n" - " add r1, r1, r0\n" - " ldr r1, [r1]\n" - " ldrb r0, [r1, #0x9]\n" - " cmp r0, #0xff\n" - " beq ._422 @cond_branch\n" - " mov r0, #0x20\n" - " and r0, r0, r4\n" - " cmp r0, #0\n" - " beq ._417 @cond_branch\n" - " mov r0, #0xb5\n" - " lsl r0, r0, #0x1\n" - " add ip, ip, r0\n" - " mov r0, ip\n" - " ldrb r3, [r0]\n" - " ldrb r0, [r1, #0x9]\n" - " sub r0, r0, #0x1\n" - " cmp r3, r0\n" - " bge ._417 @cond_branch\n" - " add r0, r3, #1\n" - " mov r1, ip\n" - " strb r0, [r1]\n" - " bl debug_80C643C\n" - " b ._422\n" - "._420:\n" - " .align 2, 0\n" - "._419:\n" - " .word gUnknown_Debug_083F8554\n" - "._417:\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._422 @cond_branch\n" - " mov r2, r8\n" - " ldr r0, [r2]\n" - " mov r2, #0xb5\n" - " lsl r2, r2, #0x1\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._422 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " bl debug_80C643C\n" - "._422:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5708() -{ - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " ldr r0, ._424\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._423 @cond_branch\n" - " ldr r0, ._424 + 4\n" - " lsl r1, r2, #0x2\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._424 + 8\n" - " str r0, [r1]\n" - "._423:\n" - " pop {r0}\n" - " bx r0\n" - "._425:\n" - " .align 2, 0\n" - "._424:\n" - " .word gMain\n" - " .word gTasks\n" - " .word debug_80C53C0+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5738() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add r6, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r4, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r8, r2\n" - " cmp r4, #0xfe\n" - " bne ._426 @cond_branch\n" - " ldr r1, ._428\n" - " mov r2, #0x7\n" - " bl debug_80C689C\n" - " add r0, r6, #7\n" - " ldr r7, ._428 + 4\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xf0\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " mov r4, #0x0\n" - " strb r4, [r6, #0x13]\n" - " strb r4, [r6, #0x14]\n" - " add r0, r6, #0\n" - " add r0, r0, #0x15\n" - " ldr r1, ._428 + 8\n" - " mov r2, #0x7\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x1c\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xf4\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " add r0, r6, #0\n" - " add r0, r0, #0x28\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " ldr r1, ._428 + 12\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x31\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xf8\n" - "._431:\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " b ._517\n" - "._429:\n" - " .align 2, 0\n" - "._428:\n" - " .word gUnknown_Debug_083F850A\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F8514\n" - " .word gUnknown_Debug_083F851C\n" - "._426:\n" - " cmp r4, #0xfd\n" - " bne ._430 @cond_branch\n" - " ldr r1, ._432\n" - " add r0, r6, #0\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x9\n" - " ldr r7, ._432 + 4\n" - " ldr r1, [r7]\n" - " add r1, r1, #0xfc\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " mov r4, #0x0\n" - " strb r4, [r6, #0x15]\n" - " strb r4, [r6, #0x16]\n" - " add r0, r6, #0\n" - " add r0, r0, #0x17\n" - " ldr r1, ._432 + 8\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x20\n" - " ldr r1, [r7]\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " mov r2, #0x3\n" - " mov r3, #0x1\n" - " bl debug_80C6678\n" - " add r0, r6, #0\n" - " add r0, r0, #0x2c\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " strb r4, [r0]\n" - " add r0, r0, #0x1\n" - " ldr r1, ._432 + 12\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " add r0, r6, #0\n" - " add r0, r0, #0x37\n" - " ldr r1, [r7]\n" - " mov r3, #0x82\n" - " lsl r3, r3, #0x1\n" - " add r1, r1, r3\n" - " b ._431\n" - "._433:\n" - " .align 2, 0\n" - "._432:\n" - " .word gUnknown_Debug_083F8524\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F852D\n" - " .word gUnknown_Debug_083F8537\n" - "._430:\n" - " mov r1, #0x0\n" - " lsl r5, r4, #0x3\n" - " mov r2, #0x0\n" - "._434:\n" - " add r0, r6, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0xb\n" - " bls ._434 @cond_branch\n" - " ldr r0, ._437\n" - " add r0, r5, r0\n" - " ldr r1, [r0]\n" - " add r0, r6, #0\n" - " mov r2, #0xb\n" - " bl debug_80C689C\n" - " mov r1, #0xc\n" - " mov r2, #0xff\n" - "._435:\n" - " add r0, r6, r1\n" - " strb r2, [r0]\n" - " add r0, r1, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r1, r0, #0x10\n" - " cmp r1, #0xff\n" - " bls ._435 @cond_branch\n" - " ldr r0, ._437\n" - " add r0, r0, #0x4\n" - " add r0, r5, r0\n" - " ldr r0, [r0]\n" - " ldrb r2, [r0, #0x9]\n" - " lsl r0, r2, #0x1a\n" - " lsr r5, r0, #0x18\n" - " cmp r4, #0x22\n" - " bhi ._436 @cond_branch\n" - " lsl r0, r4, #0x2\n" - " ldr r1, ._437 + 4\n" - " add r1, r0, r1\n" - " ldr r1, [r1]\n" - " add r7, r0, #0\n" - " mov pc, r1\n" - "._438:\n" - " .align 2, 0\n" - "._437:\n" - " .word gUnknown_Debug_083F8554\n" - " .word ._439\n" - "._439:\n" - " .word ._440\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._445\n" - " .word ._446\n" - " .word ._450\n" - " .word ._450\n" - " .word ._450\n" - " .word ._450\n" - " .word ._451\n" - " .word ._452\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._472\n" - " .word ._473\n" - " .word ._474\n" - "._436:\n" - " mov r0, #0xff\n" - " strb r0, [r6]\n" - " b ._517\n" - "._440:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._477\n" - " mov r9, r1\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " add r1, r5, r6\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0xa]\n" - " mov r0, #0xfc\n" - " strb r0, [r1, #0xb]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0xc]\n" - " mov r2, r8\n" - " strb r2, [r1, #0xd]\n" - " add r4, r5, #0\n" - " add r4, r4, #0xe\n" - " add r4, r6, r4\n" - " mov r3, r9\n" - " ldr r0, [r3]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldrh r0, [r0]\n" - " bl NationalPokedexNumToSpecies\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xb\n" - " mul r1, r1, r0\n" - " ldr r0, ._477 + 4\n" - " add r1, r1, r0\n" - " add r0, r4, #0\n" - " mov r2, #0xa\n" - " bl debug_80C689C\n" - " b ._517\n" - "._478:\n" - " .align 2, 0\n" - "._477:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gSpeciesNames\n" - "._445:\n" - " ldr r0, ._483\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldr r0, [r0]\n" - " cmp r0, #0x1\n" - " beq ._479 @cond_branch\n" - " cmp r0, #0x1\n" - " bcc ._480 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._481 @cond_branch\n" - " b ._517\n" - "._484:\n" - " .align 2, 0\n" - "._483:\n" - " .word gUnknown_Debug_2038A1C\n" - "._480:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._486\n" - " b ._488\n" - "._487:\n" - " .align 2, 0\n" - "._486:\n" - " .word gUnknown_Debug_083F8546\n" - "._479:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._489\n" - " b ._488\n" - "._490:\n" - " .align 2, 0\n" - "._489:\n" - " .word gUnknown_Debug_083F8541\n" - "._481:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._492\n" - "._488:\n" - " mov r2, #0x2\n" - " bl debug_80C689C\n" - " b ._517\n" - "._493:\n" - " .align 2, 0\n" - "._492:\n" - " .word gUnknown_Debug_083F8544\n" - "._450:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r4, ._495\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " add r1, r5, r6\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0xa]\n" - " mov r0, #0xfc\n" - " strb r0, [r1, #0xb]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0xc]\n" - " mov r0, r8\n" - " strb r0, [r1, #0xd]\n" - " add r0, r5, #0\n" - " add r0, r0, #0xe\n" - " add r0, r6, r0\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r2, [r1]\n" - " mov r1, #0xd\n" - " mul r1, r1, r2\n" - " ldr r2, ._495 + 4\n" - " add r1, r1, r2\n" - " b ._494\n" - "._496:\n" - " .align 2, 0\n" - "._495:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gMoveNames\n" - "._451:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r4, ._499\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " add r1, r5, r6\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0xa]\n" - " mov r0, #0xfc\n" - " strb r0, [r1, #0xb]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0xc]\n" - " mov r2, r8\n" - " strb r2, [r1, #0xd]\n" - " ldr r0, [r4]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._497 @cond_branch\n" - " add r4, r5, #0\n" - " add r4, r4, #0xe\n" - " add r4, r6, r4\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl ItemId_GetItem\n" - " add r1, r0, #0\n" - " add r0, r4, #0\n" - " b ._498\n" - "._500:\n" - " .align 2, 0\n" - "._499:\n" - " .word gUnknown_Debug_2038A1C\n" - "._497:\n" - " add r0, r5, #0\n" - " add r0, r0, #0xe\n" - " add r0, r6, r0\n" - " ldr r1, ._502\n" - "._498:\n" - " mov r2, #0x9\n" - " bl debug_80C689C\n" - " b ._517\n" - "._503:\n" - " .align 2, 0\n" - "._502:\n" - " .word gUnknown_Debug_083F8541\n" - "._452:\n" - " add r6, r6, #0xc\n" - " ldr r4, ._505\n" - " ldr r0, [r4]\n" - " ldr r0, [r0, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " ldr r1, [r4]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldrb r1, [r1]\n" - " bl GetAbilityBySpecies\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0xd\n" - " mul r1, r1, r0\n" - " ldr r0, ._505 + 4\n" - " add r1, r1, r0\n" - " add r0, r6, #0\n" - "._494:\n" - " mov r2, #0xc\n" - " bl debug_80C689C\n" - " b ._517\n" - "._506:\n" - " .align 2, 0\n" - "._505:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gAbilityNames\n" - "._474:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r2, ._508\n" - " ldr r1, ._508 + 4\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " b ._514\n" - "._509:\n" - " .align 2, 0\n" - "._508:\n" - " .word gUnknown_Debug_083F86E8\n" - " .word gUnknown_Debug_2038A1C\n" - "._472:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xc\n" - " ldr r1, ._511\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " mov r3, r8\n" - " bl debug_80C6678\n" - " b ._517\n" - "._512:\n" - " .align 2, 0\n" - "._511:\n" - " .word gUnknown_Debug_2038A1C\n" - "._473:\n" - " ldr r0, ._515\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r7\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._513 @cond_branch\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._515 + 4\n" - " b ._514\n" - "._516:\n" - " .align 2, 0\n" - "._515:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F854A\n" - "._513:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r1, ._518\n" - "._514:\n" - " mov r2, #0x4\n" - " bl debug_80C689C\n" - " b ._517\n" - "._519:\n" - " .align 2, 0\n" - "._518:\n" - " .word gUnknown_Debug_083F854D\n" - "._446:\n" - " add r0, r6, #0\n" - " add r0, r0, #0xa\n" - " ldr r2, ._520\n" - " ldr r1, ._520 + 4\n" - " ldr r1, [r1]\n" - " add r1, r1, #0x64\n" - " add r1, r1, r7\n" - " ldr r1, [r1]\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " mov r2, #0x5\n" - " bl debug_80C689C\n" - "._517:\n" - " mov r0, #0x0\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._521:\n" - " .align 2, 0\n" - "._520:\n" - " .word gNatureNames\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5B60() -{ - asm( - " lsl r0, r0, #0x18\n" - " ldr r1, ._522\n" - " ldr r1, [r1]\n" - " lsr r0, r0, #0x16\n" - " add r1, r1, #0x64\n" - " add r1, r1, r0\n" - " ldr r0, [r1]\n" - " bx lr\n" - "._523:\n" - " .align 2, 0\n" - "._522:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5B74() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r2, r1, #0x18\n" - " cmp r2, #0x18\n" - " bhi ._540 @cond_branch\n" - " lsl r0, r2, #0x2\n" - " ldr r1, ._526\n" - " add r1, r0, r1\n" - " ldr r1, [r1]\n" - " add r3, r0, #0\n" - " mov pc, r1\n" - "._527:\n" - " .align 2, 0\n" - "._526:\n" - " .word ._525\n" - "._525:\n" - " .word ._532\n" - " .word ._529\n" - " .word ._530\n" - " .word ._532\n" - " .word ._532\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._540\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - " .word ._552\n" - "._540:\n" - " ldr r0, ._554\n" - " ldr r0, [r0]\n" - " lsl r1, r2, #0x2\n" - " add r0, r0, #0x64\n" - " add r0, r0, r1\n" - " str r6, [r0]\n" - " b ._562\n" - "._555:\n" - " .align 2, 0\n" - "._554:\n" - " .word gUnknown_Debug_2038A1C\n" - "._532:\n" - " ldr r0, ._557\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " bl debug_80C5C94\n" - " b ._562\n" - "._558:\n" - " .align 2, 0\n" - "._557:\n" - " .word gUnknown_Debug_2038A1C\n" - "._529:\n" - " ldr r4, ._560\n" - " ldr r1, [r4]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " ldr r0, [r1, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " ldr r5, [r4]\n" - " ldr r4, ._560 + 4\n" - " lsl r2, r6, #0x2\n" - " ldr r3, ._560 + 8\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " lsl r1, r0, #0x3\n" - " sub r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r3\n" - " ldrb r1, [r1, #0x13]\n" - " mov r0, #0xca\n" - " lsl r0, r0, #0x1\n" - " mul r0, r0, r1\n" - " add r2, r2, r0\n" - " add r2, r2, r4\n" - " ldr r0, [r2]\n" - " str r0, [r5, #0x6c]\n" - " bl debug_80C5C94\n" - " b ._562\n" - "._561:\n" - " .align 2, 0\n" - "._560:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gExperienceTables\n" - " .word gBaseStats\n" - "._530:\n" - " ldr r0, ._563\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " bl debug_80C5DEC\n" - " b ._562\n" - "._564:\n" - " .align 2, 0\n" - "._563:\n" - " .word gUnknown_Debug_2038A1C\n" - "._552:\n" - " ldr r0, ._565\n" - " ldr r0, [r0]\n" - " add r0, r0, #0x64\n" - " add r0, r0, r3\n" - " str r6, [r0]\n" - " bl debug_80C5EF4\n" - "._562:\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._566:\n" - " .align 2, 0\n" - "._565:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5C94() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffff0\n" - " ldr r6, ._567\n" - " ldr r2, [r6]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x98\n" - " ldr r4, [r0]\n" - " mov r1, #0x1f\n" - " and r4, r4, r1\n" - " add r0, r0, #0x8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xa8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xa\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xf\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x14\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xc0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x19\n" - " orr r4, r4, r0\n" - " ldr r0, [r2, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r0, [r6]\n" - " ldr r2, [r0, #0x68]\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r5, #0x1\n" - " str r5, [sp]\n" - " ldr r3, [r0, #0x74]\n" - " str r3, [sp, #0x4]\n" - " str r5, [sp, #0x8]\n" - " ldr r3, [r0, #0x70]\n" - " str r3, [sp, #0xc]\n" - " add r3, r4, #0\n" - " bl CreateMon\n" - " ldr r0, [r6]\n" - " bl GetMonGender\n" - " ldr r1, [r6]\n" - " add r0, r0, #0x2\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " str r0, [r1, #0x78]\n" - " add r0, r1, #0\n" - " bl GetNature\n" - " ldr r1, [r6]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " str r0, [r1, #0x7c]\n" - " add r0, r1, #0\n" - " mov r1, #0xd\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x80\n" - " str r2, [r1]\n" - " mov r1, #0xe\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x84\n" - " str r2, [r1]\n" - " mov r1, #0xf\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x88\n" - " str r2, [r1]\n" - " mov r1, #0x10\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x8c\n" - " str r2, [r1]\n" - " mov r1, #0x19\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " ldr r0, [r6]\n" - " str r1, [r0, #0x6c]\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf0\n" - " str r2, [r1]\n" - " mov r1, #0x3b\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf4\n" - " str r2, [r1]\n" - " mov r1, #0x3c\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf8\n" - " str r2, [r1]\n" - " mov r1, #0x3d\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfc\n" - " str r2, [r1]\n" - " mov r1, #0x3e\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r6]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r1, r0, r3\n" - " str r2, [r1]\n" - " mov r1, #0x3f\n" - " bl GetMonData\n" - " ldr r1, [r6]\n" - " mov r2, #0x82\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " str r0, [r1]\n" - " add sp, sp, #0x10\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._568:\n" - " .align 2, 0\n" - "._567:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5DEC() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " ldr r4, ._569\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x6c\n" - " mov r1, #0x19\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0xd\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0xe\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0xf\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " mov r1, #0x10\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " bl CalculateMonStats\n" - " ldr r0, [r4]\n" - " bl GiveMonInitialMoveset\n" - " ldr r0, [r4]\n" - " mov r1, #0x38\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " ldr r0, [r4]\n" - " str r1, [r0, #0x68]\n" - " mov r1, #0xd\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x80\n" - " str r2, [r1]\n" - " mov r1, #0xe\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x84\n" - " str r2, [r1]\n" - " mov r1, #0xf\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x88\n" - " str r2, [r1]\n" - " mov r1, #0x10\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0x8c\n" - " str r2, [r1]\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf0\n" - " str r2, [r1]\n" - " mov r1, #0x3b\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf4\n" - " str r2, [r1]\n" - " mov r1, #0x3c\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf8\n" - " str r2, [r1]\n" - " mov r1, #0x3d\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfc\n" - " str r2, [r1]\n" - " mov r1, #0x3e\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r1, r0, r3\n" - " str r2, [r1]\n" - " mov r1, #0x3f\n" - " bl GetMonData\n" - " ldr r1, [r4]\n" - " mov r2, #0x82\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " str r0, [r1]\n" - " add sp, sp, #0x4\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._570:\n" - " .align 2, 0\n" - "._569:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5EF4() -{ - asm( - " push {r4, lr}\n" - " ldr r4, ._571\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x98\n" - " mov r1, #0x27\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x9c\n" - " mov r1, #0x1a\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa0\n" - " mov r1, #0x28\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa4\n" - " mov r1, #0x1b\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa8\n" - " mov r1, #0x29\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xac\n" - " mov r1, #0x1c\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb0\n" - " mov r1, #0x2a\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb4\n" - " mov r1, #0x1d\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb8\n" - " mov r1, #0x2b\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xbc\n" - " mov r1, #0x1e\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc0\n" - " mov r1, #0x2c\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc4\n" - " mov r1, #0x1f\n" - " bl SetMonData\n" - " ldr r0, [r4]\n" - " bl CalculateMonStats\n" - " ldr r0, [r4]\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf0\n" - " str r2, [r1]\n" - " mov r1, #0x3b\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf4\n" - " str r2, [r1]\n" - " mov r1, #0x3c\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xf8\n" - " str r2, [r1]\n" - " mov r1, #0x3d\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfc\n" - " str r2, [r1]\n" - " mov r1, #0x3e\n" - " bl GetMonData\n" - " add r2, r0, #0\n" - " ldr r0, [r4]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r1, r0, r3\n" - " str r2, [r1]\n" - " mov r1, #0x3f\n" - " bl GetMonData\n" - " ldr r1, [r4]\n" - " mov r2, #0x82\n" - " lsl r2, r2, #0x1\n" - " add r1, r1, r2\n" - " str r0, [r1]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._572:\n" - " .align 2, 0\n" - "._571:\n" - " .word gUnknown_Debug_2038A1C\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C5FFC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xffffffe0\n" - " ldr r1, ._578\n" - " add r0, sp, #0x10\n" - " mov r2, #0x4\n" - " bl memcpy\n" - " add r7, sp, #0x14\n" - " ldr r1, ._578 + 4\n" - " add r0, r7, #0\n" - " mov r2, #0x8\n" - " bl memcpy\n" - " ldr r5, ._578 + 8\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x98\n" - " ldr r4, [r0]\n" - " mov r1, #0x1f\n" - " and r4, r4, r1\n" - " add r0, r0, #0x8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xa8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xa\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0xf\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xb8\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x14\n" - " orr r4, r4, r0\n" - " add r0, r2, #0\n" - " add r0, r0, #0xc0\n" - " ldr r0, [r0]\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x19\n" - " orr r4, r4, r0\n" - " ldr r0, [r2, #0x64]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl NationalPokedexNumToSpecies\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r0, [r5]\n" - " ldr r2, [r0, #0x68]\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r6, #0x1\n" - " str r6, [sp]\n" - " ldr r3, [r0, #0x74]\n" - " str r3, [sp, #0x4]\n" - " str r6, [sp, #0x8]\n" - " ldr r3, [r0, #0x70]\n" - " str r3, [sp, #0xc]\n" - " add r3, r4, #0\n" - " bl CreateMon\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x80\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._573 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x0\n" - " bl SetMonMoveSlot\n" - "._573:\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x84\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._574 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x1\n" - " bl SetMonMoveSlot\n" - "._574:\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x88\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._575 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x2\n" - " bl SetMonMoveSlot\n" - "._575:\n" - " ldr r2, [r5]\n" - " add r0, r2, #0\n" - " add r0, r0, #0x8c\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._576 @cond_branch\n" - " lsl r1, r0, #0x10\n" - " lsr r1, r1, #0x10\n" - " add r0, r2, #0\n" - " mov r2, #0x3\n" - " bl SetMonMoveSlot\n" - "._576:\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x6c\n" - " mov r1, #0x19\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x98\n" - " mov r1, #0x27\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x9c\n" - " mov r1, #0x1a\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa0\n" - " mov r1, #0x28\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa4\n" - " mov r1, #0x1b\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xa8\n" - " mov r1, #0x29\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xac\n" - " mov r1, #0x1c\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb0\n" - " mov r1, #0x2a\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb4\n" - " mov r1, #0x1d\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xb8\n" - " mov r1, #0x2b\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xbc\n" - " mov r1, #0x1e\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc0\n" - " mov r1, #0x2c\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc4\n" - " mov r1, #0x1f\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xc8\n" - " mov r1, #0x16\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xcc\n" - " mov r1, #0x17\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xd0\n" - " mov r1, #0x18\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xd4\n" - " mov r1, #0x21\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xd8\n" - " mov r1, #0x2f\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xdc\n" - " mov r1, #0x30\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xe0\n" - " mov r1, #0x20\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xe4\n" - " mov r1, #0x22\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x90\n" - " mov r1, #0xc\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0x94\n" - " mov r1, #0x2e\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r1, r0, #0\n" - " add r1, r1, #0xec\n" - " ldr r2, [r1]\n" - " lsl r2, r2, #0x3\n" - " ldr r1, ._578 + 12\n" - " add r2, r2, r1\n" - " mov r1, #0x37\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " add r2, r0, #0\n" - " add r2, r2, #0xe8\n" - " mov r1, #0x2d\n" - " bl SetMonData\n" - " ldr r1, [r5]\n" - " add r0, r1, #0\n" - " add r0, r0, #0xe8\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._577 @cond_branch\n" - " add r0, r1, #0\n" - " mov r1, #0x2\n" - " add r2, sp, #0x10\n" - " bl SetMonData\n" - " add r2, sp, #0x1c\n" - " strb r6, [r2]\n" - " ldr r0, [r5]\n" - " mov r1, #0x3\n" - " bl SetMonData\n" - "._577:\n" - " ldr r0, [r5]\n" - " mov r1, #0x7\n" - " add r2, r7, #0\n" - " bl SetMonData\n" - " mov r2, sp\n" - " add r2, r2, #0x1e\n" - " mov r0, #0xff\n" - " strh r0, [r2]\n" - " ldr r0, [r5]\n" - " mov r1, #0x23\n" - " bl SetMonData\n" - " ldr r0, [r5]\n" - " bl CalculateMonStats\n" - " add sp, sp, #0x20\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._579:\n" - " .align 2, 0\n" - "._578:\n" - " .word gUnknown_Debug_083F8758\n" - " .word gUnknown_Debug_083F875C\n" - " .word gUnknown_Debug_2038A1C\n" - " .word gUnknown_Debug_083F86E8+0x4\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C627C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffff8\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " add r6, r4, #0\n" - " ldr r1, ._584\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " add r5, sp, #0x4\n" - " ldr r1, ._584 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " cmp r4, #0x1\n" - " beq ._580 @cond_branch\n" - " cmp r4, #0x1\n" - " bgt ._581 @cond_branch\n" - " cmp r4, #0\n" - " beq ._582 @cond_branch\n" - " b ._595\n" - "._585:\n" - " .align 2, 0\n" - "._584:\n" - " .word gUnknown_Debug_083F7FD4\n" - " .word gUnknown_Debug_083F8764\n" - "._581:\n" - " cmp r6, #0x2\n" - " beq ._586 @cond_branch\n" - " b ._595\n" - "._582:\n" - " ldr r0, ._589\n" - " ldr r0, [r0]\n" - " ldr r1, ._589 + 4\n" - " add r0, r0, r1\n" - " b ._588\n" - "._590:\n" - " .align 2, 0\n" - "._589:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "._580:\n" - " ldr r4, ._593\n" - " ldr r3, [r4]\n" - " ldr r1, ._593 + 4\n" - " add r0, r3, r1\n" - " ldrb r2, [r0]\n" - " ldr r1, ._593 + 8\n" - " mov r6, #0xb4\n" - " lsl r6, r6, #0x1\n" - " add r0, r3, r6\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrb r0, [r0, #0x4]\n" - " sub r0, r0, #0x1\n" - " cmp r2, r0\n" - " bge ._595 @cond_branch\n" - " lsl r2, r2, #0x19\n" - " mov r0, #0xa0\n" - " lsl r0, r0, #0x13\n" - " add r2, r2, r0\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, [r4]\n" - " ldr r2, ._593 + 4\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, [r4]\n" - " add r0, r0, r2\n" - "._588:\n" - " ldrb r2, [r0]\n" - " lsl r2, r2, #0x19\n" - " mov r6, #0xa0\n" - " lsl r6, r6, #0x13\n" - " add r2, r2, r6\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " b ._595\n" - "._594:\n" - " .align 2, 0\n" - "._593:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gUnknown_Debug_083F8698\n" - "._586:\n" - " ldr r4, ._596\n" - " ldr r0, [r4]\n" - " ldr r2, ._596 + 4\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._595 @cond_branch\n" - " add r2, r0, #0\n" - " lsl r2, r2, #0x19\n" - " mov r6, #0xa0\n" - " lsl r6, r6, #0x13\n" - " add r2, r2, r6\n" - " lsr r2, r2, #0x18\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, [r4]\n" - " ldr r2, ._596 + 4\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, [r4]\n" - " add r0, r0, r2\n" - " ldrb r2, [r0]\n" - " lsl r2, r2, #0x19\n" - " add r2, r2, r6\n" - " lsr r2, r2, #0x18\n" - " mov r0, sp\n" - " mov r1, #0x1\n" - " bl Menu_PrintText\n" - "._595:\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._597:\n" - " .align 2, 0\n" - "._596:\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6384() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " mov r0, #0x0\n" - " mov r1, #0x4\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r5, #0x0\n" - " ldr r3, ._600\n" - " ldr r1, ._600 + 4\n" - " ldr r0, [r1]\n" - " mov r2, #0xb4\n" - " lsl r2, r2, #0x1\n" - " add r0, r0, r2\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r3\n" - " ldr r0, [r0]\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._598 @cond_branch\n" - " add r4, r1, #0\n" - " ldr r0, ._600 + 8\n" - " mov r9, r0\n" - " mov r8, r3\n" - " add r7, r2, #0\n" - " mov r6, #0x1\n" - "._599:\n" - " ldr r0, [r4]\n" - " add r0, r0, r9\n" - " mov r1, #0xfc\n" - " strb r1, [r0]\n" - " ldr r0, [r4]\n" - " add r1, r1, #0x70\n" - " add r0, r0, r1\n" - " strb r6, [r0]\n" - " ldr r0, [r4]\n" - " ldr r2, ._600 + 12\n" - " add r0, r0, r2\n" - " strb r6, [r0]\n" - " ldr r1, [r4]\n" - " add r2, r2, #0x1\n" - " add r0, r1, r2\n" - " add r1, r1, r7\n" - " ldrb r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r8\n" - " ldr r1, [r1]\n" - " add r1, r1, r5\n" - " ldrb r1, [r1]\n" - " mov r2, #0x1\n" - " bl debug_80C5738\n" - " ldr r0, [r4]\n" - " add r0, r0, r9\n" - " lsl r2, r5, #0x19\n" - " mov r1, #0xa0\n" - " lsl r1, r1, #0x13\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " ldr r0, [r4]\n" - " add r0, r0, r7\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " ldr r0, [r0]\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " bne ._599 @cond_branch\n" - "._598:\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._601:\n" - " .align 2, 0\n" - "._600:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x16b\n" - " .word 0x16d\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C643C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " mov r0, #0x2\n" - " mov r1, #0x5\n" - " mov r2, #0x1c\n" - " mov r3, #0x12\n" - " bl Menu_BlankWindowRect\n" - " mov r5, #0x0\n" - " ldr r6, ._605\n" - " ldr r1, ._605 + 4\n" - " ldr r0, [r1]\n" - " mov r3, #0xb4\n" - " lsl r3, r3, #0x1\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " beq ._602 @cond_branch\n" - " add r4, r1, #0\n" - " mov r0, #0x1\n" - " mov r8, r0\n" - "._607:\n" - " ldr r0, [r4]\n" - " ldr r7, ._605 + 8\n" - " add r2, r0, r7\n" - " mov r0, #0xfc\n" - " strb r0, [r2]\n" - " ldr r0, [r4]\n" - " mov r2, #0xb6\n" - " lsl r2, r2, #0x1\n" - " add r0, r0, r2\n" - " mov r7, r8\n" - " strb r7, [r0]\n" - " ldr r2, [r4]\n" - " ldr r7, ._605 + 12\n" - " add r0, r2, r7\n" - " ldrb r0, [r0]\n" - " cmp r5, r0\n" - " bne ._603 @cond_branch\n" - " ldr r0, ._605 + 16\n" - " add r2, r2, r0\n" - " mov r0, #0x2\n" - " strb r0, [r2]\n" - " ldr r1, [r1]\n" - " mov r2, #0xb7\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " add r1, r1, r3\n" - " ldrb r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r6\n" - " ldr r1, [r1]\n" - " add r1, r1, r5\n" - " ldrb r1, [r1]\n" - " mov r2, #0x2\n" - " bl debug_80C5738\n" - " b ._604\n" - "._606:\n" - " .align 2, 0\n" - "._605:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x16b\n" - " .word 0x169\n" - " .word 0x16d\n" - "._603:\n" - " ldr r3, ._608\n" - " add r0, r2, r3\n" - " mov r7, r8\n" - " strb r7, [r0]\n" - " ldr r1, [r1]\n" - " mov r2, #0xb7\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " ldr r2, ._608 + 4\n" - " sub r3, r3, #0x5\n" - " add r1, r1, r3\n" - " ldrb r1, [r1]\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " ldr r1, [r1]\n" - " add r1, r1, r5\n" - " ldrb r1, [r1]\n" - " mov r2, #0x1\n" - " bl debug_80C5738\n" - "._604:\n" - " ldr r0, [r4]\n" - " ldr r7, ._608 + 8\n" - " add r0, r0, r7\n" - " lsl r2, r5, #0x19\n" - " mov r1, #0xa0\n" - " lsl r1, r1, #0x13\n" - " add r2, r2, r1\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0x2\n" - " bl Menu_PrintText\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " ldr r6, ._608 + 4\n" - " add r1, r4, #0\n" - " ldr r0, [r4]\n" - " mov r3, #0xb4\n" - " lsl r3, r3, #0x1\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldr r0, [r0]\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " bne ._607 @cond_branch\n" - "._602:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._609:\n" - " .align 2, 0\n" - "._608:\n" - " .word 0x16d\n" - " .word gUnknown_Debug_083F8698\n" - " .word 0x16b\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6544() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r9, r0\n" - " ldr r0, ._614\n" - " mov r8, r0\n" - " ldr r6, ._614 + 4\n" - " ldr r1, [r6]\n" - " mov r5, #0xb4\n" - " lsl r5, r5, #0x1\n" - " add r0, r1, r5\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " ldr r4, ._614 + 8\n" - " add r1, r1, r4\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " bl debug_80C5B60\n" - " add r7, r0, #0\n" - " ldr r2, ._614 + 12\n" - " ldr r3, [r6]\n" - " add r5, r3, r5\n" - " ldrb r0, [r5]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r8\n" - " add r4, r3, r4\n" - " ldrb r1, [r4]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r2, r2, #0x4\n" - " add r0, r0, r2\n" - " ldr r1, [r0]\n" - " ldr r5, [r1]\n" - " ldr r4, [r1, #0x4]\n" - " ldr r2, ._614 + 16\n" - " mov r6, #0xb5\n" - " lsl r6, r6, #0x1\n" - " add r0, r3, r6\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldr r3, [r0]\n" - " ldrb r0, [r1, #0x8]\n" - " cmp r0, #0\n" - " bne ._623 @cond_branch\n" - " mov r0, r9\n" - " cmp r0, #0x1\n" - " beq ._611 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._612 @cond_branch\n" - " b ._623\n" - "._615:\n" - " .align 2, 0\n" - "._614:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - " .word gUnknown_Debug_083F8554\n" - " .word gUnknown_Debug_083F8768\n" - "._611:\n" - " sub r0, r4, r3\n" - " cmp r7, r0\n" - " bcs ._616 @cond_branch\n" - " add r7, r7, r3\n" - " b ._623\n" - "._616:\n" - " cmp r7, r4\n" - " bcc ._622 @cond_branch\n" - " b ._619\n" - "._612:\n" - " add r0, r5, r3\n" - " cmp r7, r0\n" - " bls ._620 @cond_branch\n" - " sub r7, r7, r3\n" - " b ._623\n" - "._620:\n" - " cmp r7, r5\n" - " bls ._622 @cond_branch\n" - "._619:\n" - " add r7, r5, #0\n" - " b ._623\n" - "._622:\n" - " add r7, r4, #0\n" - "._623:\n" - " ldr r1, ._624\n" - " ldr r0, ._624 + 4\n" - " ldr r2, [r0]\n" - " mov r3, #0xb4\n" - " lsl r3, r3, #0x1\n" - " add r0, r2, r3\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r6, ._624 + 8\n" - " add r1, r2, r6\n" - " ldrb r1, [r1]\n" - " ldr r0, [r0]\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " add r0, r7, #0\n" - " bl debug_80C5B74\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._625:\n" - " .align 2, 0\n" - "._624:\n" - " .word gUnknown_Debug_083F8698\n" - " .word gUnknown_Debug_2038A1C\n" - " .word 0x169\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6630() -{ - asm( - " push {r4, r5, lr}\n" - " add r4, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r0, #0xfc\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " mov r0, #0x1\n" - " strb r0, [r4]\n" - " add r4, r4, #0x1\n" - " cmp r2, #0x2\n" - " bne ._626 @cond_branch\n" - " ldr r0, ._629\n" - " ldr r0, [r0]\n" - " mov r5, #0xb5\n" - " lsl r5, r5, #0x1\n" - " add r0, r0, r5\n" - " ldrb r0, [r0]\n" - " cmp r3, r0\n" - " beq ._627 @cond_branch\n" - " strb r2, [r4]\n" - " b ._628\n" - "._630:\n" - " .align 2, 0\n" - "._629:\n" - " .word gUnknown_Debug_2038A1C\n" - "._627:\n" - " mov r0, #0x4\n" - "._626:\n" - " strb r0, [r4]\n" - "._628:\n" - " add r0, r1, #0\n" - " add r0, r0, #0xa1\n" - " strb r0, [r4, #0x1]\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6678() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " mov r9, r0\n" - " add r6, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r8, r3\n" - " mov r7, #0x0\n" - " sub r0, r2, #1\n" - " cmp r0, #0x9\n" - " bhi ._644 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._633\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._634:\n" - " .align 2, 0\n" - "._633:\n" - " .word ._632\n" - "._632:\n" - " .word ._635\n" - " .word ._636\n" - " .word ._637\n" - " .word ._638\n" - " .word ._639\n" - " .word ._640\n" - " .word ._641\n" - " .word ._642\n" - " .word ._643\n" - " .word ._644\n" - "._644:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " ldr r5, ._645\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x9\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._643:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " ldr r5, ._645 + 4\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x8\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._642:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " ldr r5, ._645 + 8\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x7\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._641:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " ldr r5, ._645 + 12\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x6\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._640:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " ldr r5, ._645 + 16\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x5\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._639:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " ldr r5, ._645 + 20\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x4\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._638:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " mov r5, #0xfa\n" - " lsl r5, r5, #0x2\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x3\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " add r1, r5, #0\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._637:\n" - " mov r1, r9\n" - " add r4, r1, r7\n" - " add r0, r6, #0\n" - " mov r1, #0x64\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x2\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " mov r1, #0x64\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._636:\n" - " mov r0, r9\n" - " add r4, r0, r7\n" - " add r0, r6, #0\n" - " mov r1, #0xa\n" - " bl __udivsi3\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " add r0, r4, #0\n" - " mov r2, r8\n" - " mov r3, #0x1\n" - " bl debug_80C6630\n" - " add r0, r6, #0\n" - " mov r1, #0xa\n" - " bl __umodsi3\n" - " add r6, r0, #0\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - "._635:\n" - " mov r1, r9\n" - " add r0, r1, r7\n" - " lsl r1, r6, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r2, r8\n" - " mov r3, #0x0\n" - " bl debug_80C6630\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._646:\n" - " .align 2, 0\n" - "._645:\n" - " .word 0x3b9aca00\n" - " .word 0x5f5e100\n" - " .word 0x989680\n" - " .word 0xf4240\n" - " .word 0x186a0\n" - " .word 0x2710\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C689C() -{ - asm( - " push {r4, r5, lr}\n" - " add r5, r0, #0\n" - " add r4, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r3, #0x0\n" - " ldrb r0, [r4]\n" - " b ._647\n" - "._649:\n" - " add r1, r5, r3\n" - " add r0, r4, r3\n" - " ldrb r0, [r0]\n" - " strb r0, [r1]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " add r0, r4, r3\n" - " ldrb r0, [r0]\n" - "._647:\n" - " cmp r0, #0xff\n" - " beq ._648 @cond_branch\n" - " cmp r3, r2\n" - " bcc ._649 @cond_branch\n" - "._648:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C68CC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffff8\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " lsl r1, r1, #0x18\n" - " lsr r6, r1, #0x18\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r2, #0x0\n" - " mov r1, #0x0\n" - "._650:\n" - " mov r7, sp\n" - " add r0, r7, r2\n" - " strb r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x3\n" - " bls ._650 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0xff\n" - " strb r0, [r1, #0x4]\n" - " cmp r3, #0x2\n" - " beq ._651 @cond_branch\n" - " cmp r3, #0x2\n" - " bgt ._652 @cond_branch\n" - " cmp r3, #0x1\n" - " beq ._653 @cond_branch\n" - " b ._654\n" - "._652:\n" - " cmp r3, #0x3\n" - " beq ._655 @cond_branch\n" - "._654:\n" - " mov r1, sp\n" - " lsr r0, r4, #0xc\n" - " strb r0, [r1]\n" - "._655:\n" - " mov r1, sp\n" - " mov r0, #0xf0\n" - " lsl r0, r0, #0x4\n" - " and r0, r0, r4\n" - " lsr r0, r0, #0x8\n" - " strb r0, [r1, #0x1]\n" - "._651:\n" - " mov r1, sp\n" - " mov r0, #0xf0\n" - " and r0, r0, r4\n" - " lsr r0, r0, #0x4\n" - " strb r0, [r1, #0x2]\n" - "._653:\n" - " mov r2, sp\n" - " mov r1, #0xf\n" - " add r0, r4, #0\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0x3]\n" - " mov r2, #0x0\n" - "._658:\n" - " mov r0, sp\n" - " add r1, r0, r2\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x9\n" - " bhi ._656 @cond_branch\n" - " add r0, r0, #0xa1\n" - " b ._657\n" - "._656:\n" - " add r0, r0, #0xb1\n" - "._657:\n" - " strb r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x3\n" - " bls ._658 @cond_branch\n" - " mov r0, #0x4\n" - " sub r0, r0, r3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r0, r0, sp\n" - " add r1, r6, #0\n" - " add r2, r5, #0\n" - " bl Menu_PrintText\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void InitSeePokemonGraphics() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl debug_80C35DC\n" - " ldr r1, ._659\n" - " ldr r2, ._659 + 4\n" - " ldr r0, ._659 + 8\n" - " str r1, [r0]\n" - " str r2, [r0, #0x4]\n" - " ldr r1, ._659 + 12\n" - " str r1, [r0, #0x8]\n" - " ldr r0, [r0, #0x8]\n" - " ldr r0, ._659 + 16\n" - " mov r1, #0x80\n" - " mov r2, #0x60\n" - " bl LoadPalette\n" - " ldr r1, ._659 + 20\n" - " add r0, sp, #0x4\n" - " strh r1, [r0]\n" - " mov r1, #0x0\n" - " mov r2, #0x2\n" - " bl LoadPalette\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r5, #0x0\n" - " str r5, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._659 + 24\n" - " mov r6, #0x0\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " ldr r1, ._659 + 28\n" - " mov r0, #0x3f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x6\n" - " mov r0, #0xf1\n" - " strh r0, [r1]\n" - " ldr r0, ._659 + 32\n" - " strh r5, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " ldr r3, ._659 + 36\n" - " ldrh r2, [r3]\n" - " strh r5, [r3]\n" - " ldr r4, ._659 + 40\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r0, ._659 + 44\n" - " bl SetVBlankCallback\n" - " ldr r0, ._659 + 48\n" - " bl SetMainCallback2\n" - " bl sub_809D51C\n" - " ldr r1, ._659 + 52\n" - " ldr r2, ._659 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r2, ._659 + 60\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " sub r1, r1, #0xa\n" - " mov r2, #0xcd\n" - " lsl r2, r2, #0x6\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._659 + 64\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " ldr r1, ._659 + 68\n" - " ldr r0, ._659 + 72\n" - " str r0, [r1]\n" - " ldr r1, ._659 + 76\n" - " strh r1, [r0]\n" - " strb r6, [r0, #0x2]\n" - " strb r6, [r0, #0x3]\n" - " strb r6, [r0, #0x5]\n" - " strb r6, [r0, #0x7]\n" - " strb r6, [r0, #0xa]\n" - " strb r6, [r0, #0x8]\n" - " ldr r4, ._659 + 80\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " ldr r6, ._659 + 84\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " strh r5, [r0, #0x2e]\n" - " mov r1, #0x0\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x1\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x2\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._660:\n" - " .align 2, 0\n" - "._659:\n" - " .word byte_83F88EC\n" - " .word 0x600e000\n" - " .word 0x40000d4\n" - " .word 0x80000400\n" - " .word word_83F888C\n" - " .word 0x7fff\n" - " .word 0x4000040\n" - " .word 0x4000048\n" - " .word 0x4000052\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word 0x4000008\n" - " .word 0x1f0b\n" - " .word 0x1e0a\n" - " .word debug_80C6B00+1\n" - " .word gUnknown_Debug_2038A20\n" - " .word +0x2018000\n" - " .word 0x115\n" - " .word gSpriteTemplate_83F8874\n" - " .word gSprites\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6B00() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xffffffec\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r1, ._666\n" - " mov r0, sp\n" - " mov r2, #0x12\n" - " bl memcpy\n" - " mov r0, #0xa\n" - " mov r1, #0x0\n" - " mov r2, #0xf\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0xa\n" - " mov r2, #0x9\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x10\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._666 + 4\n" - " mov r1, #0x11\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._666 + 8\n" - " mov r1, #0x1b\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._666 + 12\n" - " mov r1, #0x11\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0x8\n" - " mov r2, #0x1d\n" - " mov r3, #0xc\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r2, #0x0\n" - " ldr r4, ._666 + 16\n" - " ldr r0, ._666 + 20\n" - " add r3, r0, #0\n" - "._661:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._661 @cond_branch\n" - " mov r2, #0x0\n" - " ldr r5, ._666 + 24\n" - " lsl r6, r7, #0x2\n" - " mov r8, r6\n" - " ldr r4, ._666 + 28\n" - " ldr r0, ._666 + 32\n" - " add r3, r0, #0\n" - "._662:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._662 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0x14\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0xd\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r1, sp\n" - " mov r0, #0x23\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._666 + 36\n" - " mov r5, #0x93\n" - " lsl r5, r5, #0x8\n" - " add r3, r5, #0\n" - "._663:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._663 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x24\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r5, ._666 + 40\n" - " ldr r4, ._666 + 44\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._664:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._664 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x25\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._666 + 48\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._665:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._665 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0xf\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r1, ._666 + 52\n" - " ldr r2, ._666 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r5, ._666 + 60\n" - " add r0, r5, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._666 + 64\n" - " mov r6, r8\n" - " add r0, r6, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._666 + 68\n" - " str r1, [r0]\n" - " add sp, sp, #0x14\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._667:\n" - " .align 2, 0\n" - "._666:\n" - " .word gUnknown_Debug_083F8815\n" - " .word gUnknown_Debug_083F87D0\n" - " .word gUnknown_Debug_083F87D8\n" - " .word gUnknown_Debug_083F87E0\n" - " .word 0x600fa56\n" - " .word 0xa311\n" - " .word gUnknown_Debug_083F87F4\n" - " .word 0x600f256\n" - " .word 0x8301\n" - " .word 0x600f396\n" - " .word gUnknown_Debug_083F8801\n" - " .word 0x600f3d6\n" - " .word 0x600f416\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gTasks\n" - " .word debug_80C6CB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6CB8() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffff4\n" - " mov sl, r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov sl, r0\n" - " ldr r5, ._668\n" - " ldr r4, [r5]\n" - " ldrh r2, [r4]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._668 + 4\n" - " add r0, r0, r1\n" - " ldr r1, ._668 + 8\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r1\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " ldr r3, ._668 + 12\n" - " mov r8, r3\n" - " ldr r6, [r3]\n" - " str r6, [sp, #0x8]\n" - " ldr r3, [r3, #0x4]\n" - " str r3, [sp]\n" - " ldrh r3, [r4]\n" - " str r3, [sp, #0x4]\n" - " add r3, r6, #0\n" - " bl DecompressPicFromTable_2\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r7, ._668 + 16\n" - " add r0, r0, r7\n" - " bl LoadCompressedObjectPalette\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1\n" - " bl GetMonSpriteTemplate_803C56C\n" - " ldr r0, ._668 + 20\n" - " mov r1, #0x28\n" - " mov r2, #0x28\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " ldr r1, [r5]\n" - " strb r0, [r1, #0x2]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._668 + 24\n" - " add r0, r0, r1\n" - " ldr r3, ._668 + 28\n" - " mov r9, r3\n" - " str r3, [r0]\n" - " ldrb r0, [r2, #0x2]\n" - " lsl r1, r0, #0x4\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " ldr r6, ._668 + 32\n" - " add r1, r1, r6\n" - " ldrb r2, [r1, #0x5]\n" - " mov r6, #0xd\n" - " neg r6, r6\n" - " add r0, r6, #0\n" - " and r0, r0, r2\n" - " strb r0, [r1, #0x5]\n" - " ldr r4, [r5]\n" - " ldrh r2, [r4]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._668 + 36\n" - " add r0, r0, r1\n" - " ldr r1, ._668 + 40\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r1\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " mov r7, r8\n" - " ldr r3, [r7, #0x8]\n" - " str r3, [sp]\n" - " ldrh r3, [r4]\n" - " str r3, [sp, #0x4]\n" - " ldr r3, [sp, #0x8]\n" - " bl DecompressPicFromTable_2\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._668 + 16\n" - " add r0, r0, r1\n" - " bl LoadCompressedObjectPalette\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x2\n" - " bl GetMonSpriteTemplate_803C56C\n" - " ldr r0, ._668 + 20\n" - " mov r1, #0x28\n" - " mov r2, #0x78\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " ldr r1, [r5]\n" - " strb r0, [r1, #0x3]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r3, ._668 + 24\n" - " add r0, r0, r3\n" - " mov r7, r9\n" - " str r7, [r0]\n" - " ldrb r1, [r2, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._668 + 32\n" - " add r0, r0, r1\n" - " ldrb r1, [r0, #0x5]\n" - " and r6, r6, r1\n" - " strb r6, [r0, #0x5]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " ldr r1, ._668 + 44\n" - " mov r2, #0x0\n" - " str r2, [sp]\n" - " str r2, [sp, #0x4]\n" - " mov r2, #0x68\n" - " mov r3, #0x2c\n" - " bl CreateMonIcon\n" - " ldr r1, [r5]\n" - " strb r0, [r1, #0x4]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " bl SpeciesToNationalPokedexNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r2, #0xff\n" - " lsl r2, r2, #0x2\n" - " mov r1, #0x2\n" - " bl sub_8091738\n" - " ldr r1, ._668 + 48\n" - " ldr r3, ._668 + 52\n" - " add r0, r3, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r6, ._668 + 56\n" - " add r0, r6, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x3e\n" - " ldr r7, ._668 + 60\n" - " add r0, r7, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r2, ._668 + 64\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x11\n" - " mov r2, #0x3\n" - " bl debug_80C3800\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1a\n" - " mov r2, #0x5\n" - " bl debug_80C376C\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r3, ._668 + 32\n" - " add r0, r0, r3\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " strb r0, [r2, #0x6]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._668 + 68\n" - " add r0, r0, r4\n" - " ldr r6, ._668 + 72\n" - " add r1, r4, r6\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._668 + 76\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, ._668 + 80\n" - " mov r7, sl\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, sl\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._668 + 84\n" - " str r1, [r0]\n" - " ldr r0, [r5]\n" - " mov r1, #0x0\n" - " strb r1, [r0, #0x9]\n" - " bl StopCryAndClearCrySongs\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x0\n" - " bl PlayCry1\n" - " add sp, sp, #0xc\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._669:\n" - " .align 2, 0\n" - "._668:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gMonFrontPicTable\n" - " .word gMonFrontPicCoords\n" - " .word gUnknown_081FAF4C\n" - " .word gMonPaletteTable\n" - " .word gUnknown_02024E8C\n" - " .word gSprites+0x1c\n" - " .word debug_69+1\n" - " .word gSprites\n" - " .word gMonBackPicTable\n" - " .word gMonBackPicCoords\n" - " .word sub_809D62C+1\n" - " .word 0x600f858\n" - " .word 0xf3fc\n" - " .word 0xf3fd\n" - " .word 0xf3fe\n" - " .word 0xf3ff\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C6EE8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6EE8() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " lsl r6, r6, #0x18\n" - " lsr r6, r6, #0x18\n" - " ldr r4, ._670\n" - " ldr r5, ._670 + 4\n" - " ldr r1, [r5]\n" - " add r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, ._670 + 8\n" - " add r4, r4, r0\n" - " ldr r3, [r5]\n" - " ldrb r0, [r3, #0x7]\n" - " add r0, r0, #0x81\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r4\n" - " ldrh r4, [r0]\n" - " mov r1, #0x1f\n" - " and r1, r1, r4\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x20\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xc]\n" - " ldr r3, [r5]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r4\n" - " ldrh r2, [r3, #0xc]\n" - " ldr r0, ._670 + 12\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strh r0, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x7\n" - " and r1, r1, r4\n" - " lsr r1, r1, #0x8\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7d\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xd]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0xd]\n" - " mov r0, #0x7f\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0xd]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x7]\n" - " add r0, r0, #0x1\n" - " mov r1, #0xb\n" - " mov r2, #0xa\n" - " mov r3, #0x2\n" - " bl debug_80C68CC\n" - " ldr r0, ._670 + 16\n" - " mov r1, #0xd\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._670 + 20\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._670 + 24\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._671:\n" - " .align 2, 0\n" - "._670:\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0xffffff00\n" - " .word 0xfffffc1f\n" - " .word gUnknown_Debug_083F8813\n" - " .word gTasks\n" - " .word debug_80C6FA8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C6FA8() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r1, ._674\n" - " ldrh r2, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " add r4, r1, #0\n" - " cmp r0, #0\n" - " beq ._672 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._674 + 4\n" - " bl SetMainCallback2\n" - " ldr r1, ._674 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._674 + 12\n" - " str r1, [r0]\n" - " b ._703\n" - "._675:\n" - " .align 2, 0\n" - "._674:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._672:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._676 @cond_branch\n" - " ldr r4, ._678\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x0\n" - " b ._677\n" - "._679:\n" - " .align 2, 0\n" - "._678:\n" - " .word gUnknown_Debug_2038A20\n" - "._676:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._680 @cond_branch\n" - " ldr r4, ._682\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x1\n" - "._677:\n" - " bl debug_80C3878\n" - " ldr r1, [r4]\n" - " strh r0, [r1]\n" - " ldr r1, ._682 + 4\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._682 + 8\n" - " str r1, [r0]\n" - " b ._703\n" - "._683:\n" - " .align 2, 0\n" - "._682:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C71FC+1\n" - "._680:\n" - " mov r3, #0x1\n" - " and r3, r3, r2\n" - " cmp r3, #0\n" - " beq ._684 @cond_branch\n" - " ldr r0, ._686\n" - " ldr r1, [r0]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._686 + 4\n" - " ldr r2, ._686 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._686 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._686 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._686 + 20\n" - " str r1, [r0]\n" - " b ._703\n" - "._687:\n" - " .align 2, 0\n" - "._686:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x4167\n" - " .word gTasks\n" - " .word debug_80C7294+1\n" - "._684:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._689 @cond_branch\n" - " ldr r1, ._691\n" - " ldr r2, [r1]\n" - " ldrb r0, [r2, #0x7]\n" - " cmp r0, #0xd\n" - " bhi ._689 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r2, ._691 + 4\n" - " add r0, r0, r2\n" - " strh r3, [r0]\n" - " ldr r1, [r1]\n" - " ldrb r0, [r1, #0x7]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._695\n" - "._692:\n" - " .align 2, 0\n" - "._691:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000102\n" - "._689:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._694 @cond_branch\n" - " ldr r2, ._696\n" - " ldr r1, [r2]\n" - " ldrb r0, [r1, #0x7]\n" - " cmp r0, #0\n" - " beq ._694 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r1, ._696 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r1, [r2]\n" - " ldrb r0, [r1, #0x7]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._695\n" - "._697:\n" - " .align 2, 0\n" - "._696:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000102\n" - "._694:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._698 @cond_branch\n" - " ldr r4, ._701\n" - " ldr r2, [r4]\n" - " ldrb r0, [r2, #0x9]\n" - " mov r1, #0x1\n" - " eor r0, r0, r1\n" - " strb r0, [r2, #0x9]\n" - " ldr r1, [r4]\n" - " ldrb r0, [r1, #0x9]\n" - " cmp r0, #0\n" - " beq ._699 @cond_branch\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - " b ._700\n" - "._702:\n" - " .align 2, 0\n" - "._701:\n" - " .word gUnknown_Debug_2038A20\n" - "._699:\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - "._700:\n" - " ldr r5, ._704\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._704 + 4\n" - " add r0, r0, r4\n" - " ldr r2, ._704 + 8\n" - " add r1, r4, r2\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._704 + 12\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._695:\n" - " ldr r1, ._704 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._704 + 20\n" - " str r1, [r0]\n" - " b ._703\n" - "._705:\n" - " .align 2, 0\n" - "._704:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C6EE8+1\n" - "._698:\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._706 @cond_branch\n" - " bl StopCryAndClearCrySongs\n" - " ldr r0, ._707\n" - " ldr r0, [r0]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x0\n" - " bl PlayCry1\n" - "._706:\n" - " ldr r2, ._707\n" - " ldr r1, [r2]\n" - " ldrb r0, [r1, #0x8]\n" - " add r0, r0, #0x4\n" - " strb r0, [r1, #0x8]\n" - " ldr r3, [r2]\n" - " ldrb r1, [r3, #0x8]\n" - " mov r0, #0x1f\n" - " and r0, r0, r1\n" - " strb r0, [r3, #0x8]\n" - " ldr r0, [r2]\n" - " ldrb r1, [r0, #0x7]\n" - " lsl r1, r1, #0x1\n" - " ldr r2, ._707 + 4\n" - " add r1, r1, r2\n" - " ldr r2, ._707 + 8\n" - " ldrb r0, [r0, #0x8]\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r2\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - "._703:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._708:\n" - " .align 2, 0\n" - "._707:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000142\n" - " .word gUnknown_Debug_083F8790\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C71FC() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r6, ._709\n" - " ldr r4, ._709 + 4\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x4]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl sub_809D510\n" - " ldr r1, ._709 + 8\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._709 + 12\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._710:\n" - " .align 2, 0\n" - "._709:\n" - " .word gSprites\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C6CB8+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7294() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r0, ._713\n" - " ldrh r2, [r0, #0x2e]\n" - " mov r1, #0x1\n" - " and r1, r1, r2\n" - " add r3, r0, #0\n" - " cmp r1, #0\n" - " beq ._711 @cond_branch\n" - " ldr r0, ._713 + 4\n" - " ldr r1, [r0]\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._713 + 8\n" - " ldr r2, ._713 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._713 + 16\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " b ._712\n" - "._714:\n" - " .align 2, 0\n" - "._713:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - "._711:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._715 @cond_branch\n" - " ldr r6, ._717\n" - " ldr r0, [r6]\n" - " strb r1, [r0, #0x5]\n" - " ldr r1, ._717 + 4\n" - " ldr r2, ._717 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._717 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r4, ._717 + 16\n" - " add r1, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r5, ._717 + 20\n" - " add r1, r5, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r4, r4, r2\n" - " add r1, r1, r4\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r5, r5, r2\n" - " add r1, r1, r5\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._712:\n" - " ldr r1, ._717 + 24\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._717 + 28\n" - " str r1, [r0]\n" - " b ._754\n" - "._718:\n" - " .align 2, 0\n" - "._717:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C6EE8+1\n" - "._715:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._720 @cond_branch\n" - " ldr r0, ._722\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0x1\n" - " bhi ._720 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._754\n" - "._723:\n" - " .align 2, 0\n" - "._722:\n" - " .word gUnknown_Debug_2038A20\n" - "._720:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._725 @cond_branch\n" - " ldr r0, ._727\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0\n" - " beq ._725 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._754\n" - "._728:\n" - " .align 2, 0\n" - "._727:\n" - " .word gUnknown_Debug_2038A20\n" - "._725:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._729 @cond_branch\n" - " ldr r0, ._734\n" - " ldr r2, [r0]\n" - " ldrb r0, [r2, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._730 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._731 @cond_branch\n" - " cmp r0, #0\n" - " beq ._732 @cond_branch\n" - " b ._754\n" - "._735:\n" - " .align 2, 0\n" - "._734:\n" - " .word gUnknown_Debug_2038A20\n" - "._731:\n" - " cmp r0, #0x2\n" - " beq ._736 @cond_branch\n" - " b ._754\n" - "._732:\n" - " ldrb r3, [r2, #0xc]\n" - " lsl r1, r3, #0x1b\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._761 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xc]\n" - " b ._761\n" - "._730:\n" - " ldrh r3, [r2, #0xc]\n" - " lsl r1, r3, #0x16\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._761 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._742\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strh r1, [r2, #0xc]\n" - " b ._761\n" - "._743:\n" - " .align 2, 0\n" - "._742:\n" - " .word 0xfffffc1f\n" - "._736:\n" - " ldrb r3, [r2, #0xd]\n" - " lsl r1, r3, #0x19\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._761 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xd]\n" - " b ._761\n" - "._729:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._754 @cond_branch\n" - " ldr r0, ._751\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._747 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._748 @cond_branch\n" - " cmp r0, #0\n" - " beq ._749 @cond_branch\n" - " b ._754\n" - "._752:\n" - " .align 2, 0\n" - "._751:\n" - " .word gUnknown_Debug_2038A20\n" - "._748:\n" - " cmp r0, #0x2\n" - " beq ._753 @cond_branch\n" - " b ._754\n" - "._749:\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x1f\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._761 @cond_branch\n" - " lsl r0, r2, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xc]\n" - " b ._761\n" - "._747:\n" - " ldrh r2, [r3, #0xc]\n" - " mov r0, #0xf8\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._761 @cond_branch\n" - " lsl r0, r2, #0x16\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._759\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strh r1, [r3, #0xc]\n" - " b ._761\n" - "._760:\n" - " .align 2, 0\n" - "._759:\n" - " .word 0xfffffc1f\n" - "._753:\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7c\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._761 @cond_branch\n" - " lsl r0, r2, #0x19\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xd]\n" - "._761:\n" - " ldr r0, ._762\n" - " lsl r1, r7, #0x2\n" - " add r1, r1, r7\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._762 + 4\n" - " str r0, [r1]\n" - "._754:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._763:\n" - " .align 2, 0\n" - "._762:\n" - " .word gTasks\n" - " .word debug_80C74E4+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C74E4() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r0, ._764\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xc]\n" - " lsl r0, r0, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " ldrh r2, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r2\n" - " add r0, r0, r1\n" - " ldrb r1, [r3, #0xd]\n" - " lsl r1, r1, #0x19\n" - " lsr r1, r1, #0x1b\n" - " lsl r1, r1, #0xa\n" - " add r0, r0, r1\n" - " ldr r6, ._764 + 4\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldr r1, ._764 + 8\n" - " mov r8, r1\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " ldr r4, ._764 + 12\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._764 + 16\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._764 + 20\n" - " str r1, [r0]\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._765:\n" - " .align 2, 0\n" - "._764:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded\n" - " .word gPlttBufferFaded\n" - " .word 0x101\n" - " .word gTasks\n" - " .word debug_80C7294+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7584() -{ - asm( - " push {r4, lr}\n" - " add r2, r0, #0\n" - " ldr r0, ._771\n" - " ldr r3, [r0]\n" - " ldrb r1, [r3, #0x5]\n" - " add r4, r0, #0\n" - " cmp r1, #0\n" - " beq ._766 @cond_branch\n" - " mov r1, #0x2e\n" - " ldsh r0, [r2, r1]\n" - " cmp r0, #0x1\n" - " beq ._767 @cond_branch\n" - " cmp r0, #0x1\n" - " ble ._768 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._769 @cond_branch\n" - "._768:\n" - " ldrb r0, [r3, #0xc]\n" - " lsl r0, r0, #0x1b\n" - " b ._773\n" - "._772:\n" - " .align 2, 0\n" - "._771:\n" - " .word gUnknown_Debug_2038A20\n" - "._767:\n" - " ldrh r0, [r3, #0xc]\n" - " lsl r0, r0, #0x16\n" - " b ._773\n" - "._769:\n" - " ldrb r0, [r3, #0xd]\n" - " lsl r0, r0, #0x19\n" - "._773:\n" - " lsr r0, r0, #0x1b\n" - " lsl r0, r0, #0x2\n" - " strh r0, [r2, #0x24]\n" - " mov r1, #0x2e\n" - " ldsh r0, [r2, r1]\n" - " lsl r0, r0, #0x3\n" - " strh r0, [r2, #0x26]\n" - " ldrh r0, [r2, #0x30]\n" - " add r3, r0, #1\n" - " strh r3, [r2, #0x30]\n" - " mov r0, #0x2e\n" - " ldsh r1, [r2, r0]\n" - " ldr r0, [r4]\n" - " ldrb r0, [r0, #0xa]\n" - " cmp r1, r0\n" - " bne ._775 @cond_branch\n" - " mov r0, #0x8\n" - " and r3, r3, r0\n" - " cmp r3, #0\n" - " bne ._775 @cond_branch\n" - "._766:\n" - " add r0, r2, #0\n" - " add r0, r0, #0x3e\n" - " ldrb r1, [r0]\n" - " mov r2, #0x4\n" - " orr r1, r1, r2\n" - " strb r1, [r0]\n" - " b ._776\n" - "._775:\n" - " add r2, r2, #0x3e\n" - " ldrb r1, [r2]\n" - " mov r0, #0x5\n" - " neg r0, r0\n" - " and r0, r0, r1\n" - " strb r0, [r2]\n" - "._776:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -__attribute__((naked)) -void InitSeeTrainers() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl debug_80C35DC\n" - " ldr r1, ._777\n" - " ldr r2, ._777 + 4\n" - " ldr r0, ._777 + 8\n" - " str r1, [r0]\n" - " str r2, [r0, #0x4]\n" - " ldr r1, ._777 + 12\n" - " str r1, [r0, #0x8]\n" - " ldr r0, [r0, #0x8]\n" - " ldr r0, ._777 + 16\n" - " mov r1, #0x80\n" - " mov r2, #0x60\n" - " bl LoadPalette\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r5, #0x0\n" - " str r5, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._777 + 20\n" - " mov r6, #0x0\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " ldr r1, ._777 + 24\n" - " mov r0, #0x3f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " mov r0, #0x1f\n" - " strh r0, [r1]\n" - " add r1, r1, #0x6\n" - " mov r0, #0xf1\n" - " strh r0, [r1]\n" - " ldr r0, ._777 + 28\n" - " strh r5, [r0]\n" - " add r1, r1, #0x4\n" - " mov r0, #0x7\n" - " strh r0, [r1]\n" - " ldr r3, ._777 + 32\n" - " ldrh r2, [r3]\n" - " strh r5, [r3]\n" - " ldr r4, ._777 + 36\n" - " ldrh r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strh r0, [r4]\n" - " strh r2, [r3]\n" - " ldr r0, ._777 + 40\n" - " bl SetVBlankCallback\n" - " ldr r0, ._777 + 44\n" - " bl SetMainCallback2\n" - " ldr r1, ._777 + 48\n" - " ldr r2, ._777 + 52\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r2, ._777 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " sub r1, r1, #0xa\n" - " mov r2, #0xcd\n" - " lsl r2, r2, #0x6\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._777 + 60\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " ldr r1, ._777 + 64\n" - " ldr r0, ._777 + 68\n" - " str r0, [r1]\n" - " strh r5, [r0]\n" - " strb r6, [r0, #0x2]\n" - " strb r6, [r0, #0x3]\n" - " strb r6, [r0, #0x5]\n" - " strb r6, [r0, #0x7]\n" - " strb r6, [r0, #0xa]\n" - " strb r6, [r0, #0x8]\n" - " ldr r4, ._777 + 72\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " ldr r6, ._777 + 76\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " strh r5, [r0, #0x2e]\n" - " mov r1, #0x0\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x1\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add r0, r4, #0\n" - " mov r1, #0x6c\n" - " mov r2, #0x74\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " mov r1, #0x2\n" - " strh r1, [r0, #0x2e]\n" - " bl StartSpriteAnim\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._778:\n" - " .align 2, 0\n" - "._777:\n" - " .word byte_83F88EC\n" - " .word 0x600e000\n" - " .word 0x40000d4\n" - " .word 0x80000400\n" - " .word word_83F888C\n" - " .word 0x4000040\n" - " .word 0x4000048\n" - " .word 0x4000052\n" - " .word 0x4000208\n" - " .word 0x4000200\n" - " .word debug_80C3758+1\n" - " .word debug_80C370C+1\n" - " .word 0x4000008\n" - " .word 0x1f0b\n" - " .word 0x1e0a\n" - " .word debug_80C777C+1\n" - " .word gUnknown_Debug_2038A20\n" - " .word +0x2018000\n" - " .word gSpriteTemplate_83F8874\n" - " .word gSprites\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C777C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xffffffec\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r1, ._784\n" - " mov r0, sp\n" - " mov r2, #0x12\n" - " bl memcpy\n" - " mov r0, #0x9\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x0\n" - " mov r1, #0xa\n" - " mov r2, #0x9\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0xe\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x7\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._784 + 4\n" - " mov r1, #0xf\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._784 + 8\n" - " mov r1, #0x19\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r0, ._784 + 12\n" - " mov r1, #0xf\n" - " mov r2, #0x5\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0x8\n" - " mov r2, #0x1d\n" - " mov r3, #0xc\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r2, #0x0\n" - " ldr r4, ._784 + 16\n" - " ldr r0, ._784 + 20\n" - " add r3, r0, #0\n" - "._779:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._779 @cond_branch\n" - " mov r2, #0x0\n" - " ldr r5, ._784 + 24\n" - " lsl r6, r7, #0x2\n" - " mov r8, r6\n" - " ldr r4, ._784 + 28\n" - " ldr r0, ._784 + 32\n" - " add r3, r0, #0\n" - "._780:\n" - " lsl r0, r2, #0x1\n" - " add r0, r0, r4\n" - " add r1, r2, r3\n" - " strh r1, [r0]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0xe\n" - " bls ._780 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0x14\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " mov r0, #0xa\n" - " mov r1, #0xd\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r1, sp\n" - " mov r0, #0x23\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._784 + 36\n" - " mov r5, #0x93\n" - " lsl r5, r5, #0x8\n" - " add r3, r5, #0\n" - "._781:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._781 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x24\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r5, ._784 + 40\n" - " ldr r4, ._784 + 44\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._782:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._782 @cond_branch\n" - " mov r1, sp\n" - " mov r0, #0x25\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " ldr r4, ._784 + 48\n" - " mov r0, #0x93\n" - " lsl r0, r0, #0x8\n" - " add r3, r0, #0\n" - "._783:\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r4\n" - " mov r6, sp\n" - " add r0, r6, r2\n" - " ldrb r0, [r0]\n" - " add r0, r0, r3\n" - " strh r0, [r1]\n" - " add r0, r2, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " cmp r2, #0x11\n" - " bls ._783 @cond_branch\n" - " add r0, r5, #0\n" - " mov r1, #0xf\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " ldr r1, ._784 + 52\n" - " ldr r2, ._784 + 56\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r5, ._784 + 60\n" - " add r0, r5, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._784 + 64\n" - " mov r6, r8\n" - " add r0, r6, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._784 + 68\n" - " str r1, [r0]\n" - " add sp, sp, #0x14\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._785:\n" - " .align 2, 0\n" - "._784:\n" - " .word gUnknown_Debug_083F8815\n" - " .word gUnknown_Debug_083F87D0\n" - " .word gUnknown_Debug_083F87D8\n" - " .word gUnknown_Debug_083F87E0\n" - " .word 0x600fa56\n" - " .word 0xa311\n" - " .word gUnknown_Debug_083F87F4\n" - " .word 0x600f256\n" - " .word 0x8301\n" - " .word 0x600f396\n" - " .word gUnknown_Debug_083F8801\n" - " .word 0x600f3d6\n" - " .word 0x600f416\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gTasks\n" - " .word debug_80C7934+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7934() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xfffffff8\n" - " mov r8, r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " ldr r5, ._786\n" - " ldr r6, [r5]\n" - " ldrh r2, [r6]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._786 + 4\n" - " add r0, r0, r1\n" - " ldr r1, ._786 + 8\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r1\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " ldr r4, ._786 + 12\n" - " ldr r3, [r4]\n" - " ldr r4, [r4, #0x4]\n" - " str r4, [sp]\n" - " ldrh r4, [r6]\n" - " str r4, [sp, #0x4]\n" - " bl DecompressPicFromTable_2\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._786 + 16\n" - " add r0, r0, r1\n" - " bl LoadCompressedObjectPalette\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1\n" - " bl GetMonSpriteTemplate_803C5A0\n" - " ldr r0, ._786 + 20\n" - " mov r1, #0x28\n" - " mov r2, #0x28\n" - " mov r3, #0x0\n" - " bl CreateSprite\n" - " ldr r1, [r5]\n" - " mov r6, #0x0\n" - " strb r0, [r1, #0x2]\n" - " ldr r4, ._786 + 24\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r1, r4, #0\n" - " add r1, r1, #0x1c\n" - " add r0, r0, r1\n" - " ldr r1, ._786 + 28\n" - " str r1, [r0]\n" - " ldrb r0, [r2, #0x2]\n" - " lsl r1, r0, #0x4\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r4\n" - " ldrb r2, [r1, #0x5]\n" - " mov r0, #0xd\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " strb r0, [r1, #0x5]\n" - " ldr r0, [r5]\n" - " ldrh r0, [r0]\n" - " mov r1, #0x1a\n" - " mov r2, #0x5\n" - " bl debug_80C376C\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r4\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " strb r0, [r2, #0x6]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._786 + 32\n" - " add r0, r0, r4\n" - " ldr r2, ._786 + 36\n" - " add r1, r4, r2\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._786 + 40\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, ._786 + 44\n" - " mov r2, r8\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r8\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._786 + 48\n" - " str r1, [r0]\n" - " ldr r0, [r5]\n" - " strb r6, [r0, #0x9]\n" - " add sp, sp, #0x8\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._787:\n" - " .align 2, 0\n" - "._786:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTrainerFrontPicTable\n" - " .word gTrainerFrontPicCoords\n" - " .word gUnknown_081FAF4C\n" - " .word gTrainerFrontPicPaletteTable\n" - " .word gUnknown_02024E8C\n" - " .word gSprites\n" - " .word debug_69+1\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C7A54+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7A54() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r0, #0\n" - " lsl r6, r6, #0x18\n" - " lsr r6, r6, #0x18\n" - " ldr r4, ._788\n" - " ldr r5, ._788 + 4\n" - " ldr r1, [r5]\n" - " add r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, ._788 + 8\n" - " add r4, r4, r0\n" - " ldr r3, [r5]\n" - " ldrb r0, [r3, #0x7]\n" - " add r0, r0, #0x81\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r4\n" - " ldrh r4, [r0]\n" - " mov r1, #0x1f\n" - " and r1, r1, r4\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x20\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xc]\n" - " ldr r3, [r5]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r4\n" - " ldrh r2, [r3, #0xc]\n" - " ldr r0, ._788 + 12\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strh r0, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x7\n" - " and r1, r1, r4\n" - " lsr r1, r1, #0x8\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7d\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " strb r0, [r3, #0xd]\n" - " ldr r2, [r5]\n" - " ldrb r1, [r2, #0xd]\n" - " mov r0, #0x7f\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0xd]\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x7]\n" - " add r0, r0, #0x1\n" - " mov r1, #0xb\n" - " mov r2, #0xa\n" - " mov r3, #0x2\n" - " bl debug_80C68CC\n" - " ldr r0, ._788 + 16\n" - " mov r1, #0xd\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._788 + 20\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._788 + 24\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._789:\n" - " .align 2, 0\n" - "._788:\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0xffffff00\n" - " .word 0xfffffc1f\n" - " .word gUnknown_Debug_083F8813\n" - " .word gTasks\n" - " .word debug_80C7B14+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7B14() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r1, ._792\n" - " ldrh r3, [r1, #0x2e]\n" - " mov r0, #0x2\n" - " and r0, r0, r3\n" - " add r4, r1, #0\n" - " cmp r0, #0\n" - " beq ._790 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._792 + 4\n" - " bl SetMainCallback2\n" - " ldr r1, ._792 + 8\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._792 + 12\n" - " str r1, [r0]\n" - " b ._821\n" - "._793:\n" - " .align 2, 0\n" - "._792:\n" - " .word gMain\n" - " .word debug_80C370C+1\n" - " .word gTasks\n" - " .word debug_80C373C+1\n" - "._790:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._794 @cond_branch\n" - " ldr r4, ._796\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x0\n" - " b ._795\n" - "._797:\n" - " .align 2, 0\n" - "._796:\n" - " .word gUnknown_Debug_2038A20\n" - "._794:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._798 @cond_branch\n" - " ldr r4, ._800\n" - " ldr r0, [r4]\n" - " ldrh r1, [r0]\n" - " mov r0, #0x1\n" - "._795:\n" - " bl debug_80C38B4\n" - " ldr r1, [r4]\n" - " strh r0, [r1]\n" - " ldr r1, ._800 + 4\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._800 + 8\n" - " str r1, [r0]\n" - " b ._821\n" - "._801:\n" - " .align 2, 0\n" - "._800:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C7D44+1\n" - "._798:\n" - " mov r2, #0x1\n" - " and r2, r2, r3\n" - " cmp r2, #0\n" - " beq ._802 @cond_branch\n" - " ldr r0, ._804\n" - " ldr r1, [r0]\n" - " mov r0, #0x1\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._804 + 4\n" - " ldr r2, ._804 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._804 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r1, ._804 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._804 + 20\n" - " str r1, [r0]\n" - " b ._821\n" - "._805:\n" - " .align 2, 0\n" - "._804:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x4167\n" - " .word gTasks\n" - " .word debug_80C7DDC+1\n" - "._802:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " ldr r3, ._809\n" - " cmp r0, #0\n" - " beq ._807 @cond_branch\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " cmp r0, #0xd\n" - " bhi ._807 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r1, ._809 + 4\n" - " add r0, r0, r1\n" - " strh r2, [r0]\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._813\n" - "._810:\n" - " .align 2, 0\n" - "._809:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x5000102\n" - "._807:\n" - " ldrh r1, [r4, #0x30]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._812 @cond_branch\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " cmp r0, #0\n" - " beq ._812 @cond_branch\n" - " lsl r0, r0, #0x1\n" - " ldr r2, ._814\n" - " add r0, r0, r2\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x7]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0x7]\n" - " b ._813\n" - "._815:\n" - " .align 2, 0\n" - "._814:\n" - " .word 0x5000102\n" - "._812:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._816 @cond_branch\n" - " ldr r4, ._819\n" - " ldr r2, [r4]\n" - " ldrb r0, [r2, #0x9]\n" - " mov r1, #0x1\n" - " eor r0, r0, r1\n" - " strb r0, [r2, #0x9]\n" - " ldr r1, [r4]\n" - " ldrb r0, [r1, #0x9]\n" - " cmp r0, #0\n" - " beq ._817 @cond_branch\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - " b ._818\n" - "._820:\n" - " .align 2, 0\n" - "._819:\n" - " .word gUnknown_Debug_2038A20\n" - "._817:\n" - " ldrh r0, [r1]\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " bl GetMonSpritePalFromOtIdPersonality\n" - " ldr r1, [r4]\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x14\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x11\n" - " add r1, r1, r2\n" - " lsr r1, r1, #0x10\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - "._818:\n" - " ldr r5, ._822\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " ldr r4, ._822 + 4\n" - " add r0, r0, r4\n" - " ldr r2, ._822 + 8\n" - " add r1, r4, r2\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r5]\n" - " ldrb r0, [r0, #0x6]\n" - " lsl r0, r0, #0x5\n" - " add r0, r0, r4\n" - " ldr r1, ._822 + 12\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._813:\n" - " ldr r1, ._822 + 16\n" - " lsl r0, r6, #0x2\n" - " add r0, r0, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._822 + 20\n" - " str r1, [r0]\n" - " b ._821\n" - "._823:\n" - " .align 2, 0\n" - "._822:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded+0x200\n" - " .word 0xffffff00\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C7A54+1\n" - "._816:\n" - " ldr r1, [r3]\n" - " ldrb r0, [r1, #0x8]\n" - " add r0, r0, #0x4\n" - " strb r0, [r1, #0x8]\n" - " ldr r2, [r3]\n" - " ldrb r1, [r2, #0x8]\n" - " mov r0, #0x1f\n" - " and r0, r0, r1\n" - " strb r0, [r2, #0x8]\n" - " ldr r0, [r3]\n" - " ldrb r1, [r0, #0x7]\n" - " lsl r1, r1, #0x1\n" - " ldr r2, ._824\n" - " add r1, r1, r2\n" - " ldr r2, ._824 + 4\n" - " ldrb r0, [r0, #0x8]\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r2\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - "._821:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._825:\n" - " .align 2, 0\n" - "._824:\n" - " .word 0x5000142\n" - " .word gUnknown_Debug_083F8790\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7D44() -{ - asm( - " push {r4, r5, r6, lr}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r6, ._826\n" - " ldr r4, ._826 + 4\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x2]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x5]\n" - " lsr r0, r0, #0x4\n" - " bl GetSpritePaletteTagByPaletteNum\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl FreeSpritePaletteByTag\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x3]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl DestroySprite\n" - " ldr r0, [r4]\n" - " ldrb r1, [r0, #0x4]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " bl sub_809D510\n" - " ldr r1, ._826 + 8\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._826 + 12\n" - " str r1, [r0]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._827:\n" - " .align 2, 0\n" - "._826:\n" - " .word gSprites\n" - " .word gUnknown_Debug_2038A20\n" - " .word gTasks\n" - " .word debug_80C7934+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C7DDC() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r0, ._830\n" - " ldrh r2, [r0, #0x2e]\n" - " mov r1, #0x1\n" - " and r1, r1, r2\n" - " add r3, r0, #0\n" - " cmp r1, #0\n" - " beq ._828 @cond_branch\n" - " ldr r0, ._830 + 4\n" - " ldr r1, [r0]\n" - " mov r0, #0x0\n" - " strb r0, [r1, #0x5]\n" - " ldr r1, ._830 + 8\n" - " ldr r2, ._830 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._830 + 16\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " b ._829\n" - "._831:\n" - " .align 2, 0\n" - "._830:\n" - " .word gMain\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - "._828:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._832 @cond_branch\n" - " ldr r6, ._834\n" - " ldr r0, [r6]\n" - " strb r1, [r0, #0x5]\n" - " ldr r1, ._834 + 4\n" - " ldr r2, ._834 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x4\n" - " ldr r2, ._834 + 12\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r4, ._834 + 16\n" - " add r1, r4, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r0, [r6]\n" - " add r0, r0, #0x10\n" - " ldr r5, ._834 + 20\n" - " add r1, r5, #0\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r4, r4, r2\n" - " add r1, r1, r4\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - " ldr r1, [r6]\n" - " add r0, r1, #0\n" - " add r0, r0, #0x10\n" - " ldrb r1, [r1, #0x6]\n" - " lsl r1, r1, #0x5\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r5, r5, r2\n" - " add r1, r1, r5\n" - " mov r2, #0x10\n" - " bl CpuSet\n" - "._829:\n" - " ldr r1, ._834 + 24\n" - " lsl r0, r7, #0x2\n" - " add r0, r0, r7\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._834 + 28\n" - " str r1, [r0]\n" - " b ._871\n" - "._835:\n" - " .align 2, 0\n" - "._834:\n" - " .word gUnknown_Debug_2038A20\n" - " .word 0x4000040\n" - " .word 0x51ef\n" - " .word 0x699f\n" - " .word gPlttBufferUnfaded+0x100\n" - " .word gPlttBufferFaded+0x100\n" - " .word gTasks\n" - " .word debug_80C7A54+1\n" - "._832:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._837 @cond_branch\n" - " ldr r0, ._839\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0x1\n" - " bhi ._837 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._871\n" - "._840:\n" - " .align 2, 0\n" - "._839:\n" - " .word gUnknown_Debug_2038A20\n" - "._837:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._842 @cond_branch\n" - " ldr r0, ._844\n" - " ldr r1, [r0]\n" - " ldrb r0, [r1, #0xa]\n" - " cmp r0, #0\n" - " beq ._842 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1, #0xa]\n" - " b ._871\n" - "._845:\n" - " .align 2, 0\n" - "._844:\n" - " .word gUnknown_Debug_2038A20\n" - "._842:\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._846 @cond_branch\n" - " ldr r0, ._851\n" - " ldr r2, [r0]\n" - " ldrb r0, [r2, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._847 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._848 @cond_branch\n" - " cmp r0, #0\n" - " beq ._849 @cond_branch\n" - " b ._871\n" - "._852:\n" - " .align 2, 0\n" - "._851:\n" - " .word gUnknown_Debug_2038A20\n" - "._848:\n" - " cmp r0, #0x2\n" - " beq ._853 @cond_branch\n" - " b ._871\n" - "._849:\n" - " ldrb r3, [r2, #0xc]\n" - " lsl r1, r3, #0x1b\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._878 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xc]\n" - " b ._878\n" - "._847:\n" - " ldrh r3, [r2, #0xc]\n" - " lsl r1, r3, #0x16\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._878 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._859\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strh r1, [r2, #0xc]\n" - " b ._878\n" - "._860:\n" - " .align 2, 0\n" - "._859:\n" - " .word 0xfffffc1f\n" - "._853:\n" - " ldrb r3, [r2, #0xd]\n" - " lsl r1, r3, #0x19\n" - " lsr r0, r1, #0x1b\n" - " cmp r0, #0x1e\n" - " bhi ._878 @cond_branch\n" - " add r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r3\n" - " orr r1, r1, r0\n" - " strb r1, [r2, #0xd]\n" - " b ._878\n" - "._846:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._871 @cond_branch\n" - " ldr r0, ._868\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xa]\n" - " cmp r0, #0x1\n" - " beq ._864 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._865 @cond_branch\n" - " cmp r0, #0\n" - " beq ._866 @cond_branch\n" - " b ._871\n" - "._869:\n" - " .align 2, 0\n" - "._868:\n" - " .word gUnknown_Debug_2038A20\n" - "._865:\n" - " cmp r0, #0x2\n" - " beq ._870 @cond_branch\n" - " b ._871\n" - "._866:\n" - " ldrb r2, [r3, #0xc]\n" - " mov r0, #0x1f\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._878 @cond_branch\n" - " lsl r0, r2, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " mov r1, #0x20\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xc]\n" - " b ._878\n" - "._864:\n" - " ldrh r2, [r3, #0xc]\n" - " mov r0, #0xf8\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._878 @cond_branch\n" - " lsl r0, r2, #0x16\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x5\n" - " ldr r1, ._876\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strh r1, [r3, #0xc]\n" - " b ._878\n" - "._877:\n" - " .align 2, 0\n" - "._876:\n" - " .word 0xfffffc1f\n" - "._870:\n" - " ldrb r2, [r3, #0xd]\n" - " mov r0, #0x7c\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._878 @cond_branch\n" - " lsl r0, r2, #0x19\n" - " lsr r0, r0, #0x1b\n" - " sub r0, r0, #0x1\n" - " mov r1, #0x1f\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, #0x7d\n" - " neg r1, r1\n" - " and r1, r1, r2\n" - " orr r1, r1, r0\n" - " strb r1, [r3, #0xd]\n" - "._878:\n" - " ldr r0, ._879\n" - " lsl r1, r7, #0x2\n" - " add r1, r1, r7\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldr r0, ._879 + 4\n" - " str r0, [r1]\n" - "._871:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._880:\n" - " .align 2, 0\n" - "._879:\n" - " .word gTasks\n" - " .word debug_80C802C+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_80C802C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r0, ._881\n" - " ldr r3, [r0]\n" - " ldrb r0, [r3, #0xc]\n" - " lsl r0, r0, #0x1b\n" - " lsr r0, r0, #0x1b\n" - " ldrh r2, [r3, #0xc]\n" - " mov r1, #0xf8\n" - " lsl r1, r1, #0x2\n" - " and r1, r1, r2\n" - " add r0, r0, r1\n" - " ldrb r1, [r3, #0xd]\n" - " lsl r1, r1, #0x19\n" - " lsr r1, r1, #0x1b\n" - " lsl r1, r1, #0xa\n" - " add r0, r0, r1\n" - " ldr r6, ._881 + 4\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldr r1, ._881 + 8\n" - " mov r8, r1\n" - " ldrb r1, [r3, #0x7]\n" - " add r1, r1, #0x81\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " ldr r4, ._881 + 12\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r6\n" - " strh r0, [r1]\n" - " ldrb r1, [r3, #0x6]\n" - " lsl r1, r1, #0x4\n" - " ldrb r2, [r3, #0x7]\n" - " add r2, r2, r4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x1\n" - " add r1, r1, r8\n" - " strh r0, [r1]\n" - " mov r1, #0xe\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl debug_80C68CC\n" - " ldr r1, ._881 + 16\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._881 + 20\n" - " str r1, [r0]\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._882:\n" - " .align 2, 0\n" - "._881:\n" - " .word gUnknown_Debug_2038A20\n" - " .word gPlttBufferUnfaded\n" - " .word gPlttBufferFaded\n" - " .word 0x101\n" - " .word gTasks\n" - " .word debug_80C7DDC+1\n" - "\n" - ); -} - #endif -- cgit v1.2.3 From d972f2af82d805b53bb4b93759fb3ba445b1ce78 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 23 Jan 2018 23:19:36 -0600 Subject: remove Japanese characters from menu order data --- src/debug/start_menu_debug.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 5d9b150e7..2bc536d6c 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -258,15 +258,15 @@ const struct MenuAction gUnknown_Debug_839BC94[] = // debug_sub_8076BB4 will access the array differently and no longer match. //extern const struct MenuAction gUnknown_Debug_839BC94[]; -const u8 Str_839BD14[][10] = +const u8 gMenuOrders_839BD14[][10] = { - _("うかえ"), - _("おけこしすせそ"), + { 3, 6, 4, 0xFF }, + { 5, 9, 10, 12, 13, 14, 15, 0xFF }, }; const u8 Str_839BD26[] = {2, 0, 0, 0}; // doesn't appear to be referenced -const u8 Str_839BD2C[] = _("RTCを リセット します\n" +const u8 Str_839BD2C[] = _("RTCを リセット します\n" // Reset RTC "Aで じっこう   Bでキャンセル"); const u8 Str_839BD4C[] = _("RTCを リセット した!"); @@ -291,8 +291,8 @@ void debug_sub_8076AC8(u8 a) { s32 r4; - gUnknown_030006C4 = Str_839BD14[a]; - for (r4 = 0; gUnknown_030006C4[r4] != EOS; r4++) + gUnknown_030006C4 = gMenuOrders_839BD14[a]; + for (r4 = 0; gUnknown_030006C4[r4] != 0xFF; r4++) ; Menu_EraseWindowRect(16, 0, 29, 19); Menu_DrawStdWindowFrame(16, 0, 29, r4 * 2 + 1); -- cgit v1.2.3 From dbcf1ce9cb124e303e6bed3fecede7a72b8000f2 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 24 Jan 2018 00:58:38 -0600 Subject: integrate some debug differences --- src/battle/battle_2.c | 2179 ++++------------------------------------------- src/engine/cable_club.c | 42 +- src/engine/link.c | 2 +- 3 files changed, 193 insertions(+), 2030 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 6808ad61c..64b64ecea 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -14,6 +14,7 @@ #include "main.h" #include "m4a.h" #include "name_string_util.h" +#include "overworld.h" #include "palette.h" #include "party_menu.h" #include "pokeball.h" @@ -64,6 +65,9 @@ struct UnknownStruct12 u8 filler4[0x54]; }; +void debug_sub_80139E4(void); +extern u8 gUnknown_02023A14_50; + extern const u16 gUnknown_08D004E0[]; extern const struct MonCoords gCastformFrontSpriteCoords[]; @@ -203,231 +207,6 @@ void sub_800E7C4(void) } } -#if DEBUG -__attribute__((naked)) -void InitBattle(void) -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x0\n" - " bl SetHBlankCallback\n" - " mov r0, #0x0\n" - " bl SetVBlankCallback\n" - " mov r4, #0x0\n" - " str r4, [sp]\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x13\n" - " ldr r2, ._10\n" - " mov r0, sp\n" - " bl CpuSet\n" - " ldr r0, ._10 + 4\n" - " strh r4, [r0]\n" - " sub r0, r0, #0xc\n" - " mov r2, #0xf0\n" - " strh r2, [r0]\n" - " add r0, r0, #0x4\n" - " ldr r3, ._10 + 8\n" - " add r1, r3, #0\n" - " strh r1, [r0]\n" - " add r0, r0, #0x4\n" - " strh r4, [r0]\n" - " add r0, r0, #0x2\n" - " strh r4, [r0]\n" - " ldr r0, ._10 + 12\n" - " strh r2, [r0]\n" - " ldr r0, ._10 + 16\n" - " strh r1, [r0]\n" - " bl ScanlineEffect_Clear\n" - " ldr r0, ._10 + 20\n" - " mov r3, #0xf0\n" - " mov r5, #0xf0\n" - " lsl r5, r5, #0x3\n" - " add r2, r0, r5\n" - " mov r1, #0x4f\n" - "._5:\n" - " strh r3, [r0]\n" - " strh r3, [r2]\n" - " add r2, r2, #0x2\n" - " add r0, r0, #0x2\n" - " sub r1, r1, #0x1\n" - " cmp r1, #0\n" - " bge ._5 @cond_branch\n" - " mov r1, #0x50\n" - " ldr r4, ._10 + 24\n" - " ldr r0, ._10 + 20\n" - " ldr r3, ._10 + 28\n" - " mov r5, #0x82\n" - " lsl r5, r5, #0x4\n" - " add r2, r0, r5\n" - " add r0, r0, #0xa0\n" - "._6:\n" - " strh r3, [r0]\n" - " strh r3, [r2]\n" - " add r2, r2, #0x2\n" - " add r0, r0, #0x2\n" - " add r1, r1, #0x1\n" - " cmp r1, #0x9f\n" - " ble ._6 @cond_branch\n" - " ldr r0, [r4]\n" - " ldr r1, [r4, #0x4]\n" - " ldr r2, [r4, #0x8]\n" - " bl ScanlineEffect_SetParams\n" - " ldr r4, ._10 + 32\n" - " add r0, r4, #0\n" - " bl Text_LoadWindowTemplate\n" - " bl ResetPaletteFade\n" - " ldr r0, ._10 + 36\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 40\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 44\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 48\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 52\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 56\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 60\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 64\n" - " strh r1, [r0]\n" - " ldr r0, ._10 + 68\n" - " ldrb r1, [r0]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._7 @cond_branch\n" - " bl BattleSetup_GetTerrain\n" - " ldr r1, ._10 + 72\n" - " strb r0, [r1]\n" - "._7:\n" - " ldr r0, ._10 + 76\n" - " add r1, r4, #0\n" - " bl Text_InitWindowWithTemplate\n" - " ldr r0, ._10 + 80\n" - " ldr r1, ._10 + 84\n" - " bl Text_InitWindowWithTemplate\n" - " ldr r0, ._10 + 88\n" - " ldr r1, ._10 + 92\n" - " bl Text_InitWindowWithTemplate\n" - " bl sub_800D6D4\n" - " bl sub_800DAB8\n" - " bl ResetSpriteData\n" - " bl ResetTasks\n" - " bl sub_800E23C\n" - " bl FreeAllSpritePalettes\n" - " ldr r1, ._10 + 96\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r0, ._10 + 100\n" - " bl SetVBlankCallback\n" - " bl setup_poochyena_battle\n" - " ldr r0, ._10 + 104\n" - " ldrh r1, [r0]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._8 @cond_branch\n" - " ldr r0, ._10 + 108\n" - " bl SetMainCallback2\n" - " b ._9\n" - "._11:\n" - " .align 2, 0\n" - "._10:\n" - " .word 0x5006000\n" - " .word 0x400004c\n" - " .word 0x5051\n" - " .word gBattle_WIN0H\n" - " .word gBattle_WIN0V\n" - " .word gScanlineEffectRegBuffers\n" - " .word gUnknown_081F9674\n" - " .word 0xff10\n" - " .word gWindowTemplate_81E6C58\n" - " .word gBattle_BG0_X\n" - " .word gBattle_BG0_Y\n" - " .word gBattle_BG1_X\n" - " .word gBattle_BG1_Y\n" - " .word gBattle_BG2_X\n" - " .word gBattle_BG2_Y\n" - " .word gBattle_BG3_X\n" - " .word gBattle_BG3_Y\n" - " .word gUnknown_02023A14_50\n" - " .word gBattleTerrain\n" - " .word gUnknown_03004210\n" - " .word gUnknown_030041D0\n" - " .word gWindowTemplate_81E71D0\n" - " .word gUnknown_03004250\n" - " .word gWindowTemplate_81E71EC\n" - " .word gReservedSpritePaletteCount\n" - " .word sub_800FCFC+1\n" - " .word gBattleTypeFlags\n" - " .word sub_800F298+1\n" - "._8:\n" - " ldr r0, ._15\n" - " bl SetMainCallback2\n" - "._9:\n" - " ldr r0, ._15 + 4\n" - " ldrh r1, [r0]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._13 @cond_branch\n" - " ldr r0, ._15 + 8\n" - " ldrb r1, [r0]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._13 @cond_branch\n" - " ldr r0, ._15 + 12\n" - " ldr r1, ._15 + 16\n" - " ldrh r1, [r1]\n" - " bl CreateNPCTrainerParty\n" - " bl SetWildMonHeldItem\n" - "._13:\n" - " ldr r0, ._15 + 20\n" - " ldr r1, ._15 + 24\n" - " add r0, r0, r1\n" - " ldrb r1, [r0]\n" - " mov r2, #0x2\n" - " orr r1, r1, r2\n" - " strb r1, [r0]\n" - " ldr r4, ._15 + 28\n" - " mov r3, #0xfa\n" - " lsl r3, r3, #0x1\n" - " add r5, r4, r3\n" - "._14:\n" - " add r0, r4, #0\n" - " mov r1, #0x3\n" - " bl AdjustFriendship\n" - " add r4, r4, #0x64\n" - " cmp r4, r5\n" - " ble ._14 @cond_branch\n" - " mov r1, #0x0\n" - " ldr r0, ._15 + 32\n" - " strb r1, [r0]\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._16:\n" - " .align 2, 0\n" - "._15:\n" - " .word sub_800EC9C+1\n" - " .word gBattleTypeFlags\n" - " .word gUnknown_02023A14_50\n" - " .word gEnemyParty\n" - " .word gTrainerBattleOpponent\n" - " .word gMain\n" - " .word 0x43d\n" - " .word gPlayerParty\n" - " .word gBattleCommunication\n" - "\n" - ); -} -#else void InitBattle(void) { s32 i; @@ -469,7 +248,14 @@ void InitBattle(void) gBattle_BG2_Y = 0; gBattle_BG3_X = 0; gBattle_BG3_Y = 0; + +#if DEBUG + if (!(gUnknown_02023A14_50 & 8)) + gBattleTerrain = BattleSetup_GetTerrain(); +#else gBattleTerrain = BattleSetup_GetTerrain(); +#endif + Text_InitWindowWithTemplate(&gUnknown_03004210, &gWindowTemplate_81E6C58); Text_InitWindowWithTemplate(&gUnknown_030041D0, &gWindowTemplate_81E71D0); Text_InitWindowWithTemplate(&gUnknown_03004250, &gWindowTemplate_81E71EC); @@ -486,7 +272,11 @@ void InitBattle(void) SetMainCallback2(sub_800F298); else SetMainCallback2(sub_800EC9C); - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) +#if DEBUG + && !(gUnknown_02023A14_50 & 8) +#endif + ) { CreateNPCTrainerParty(gEnemyParty, gTrainerBattleOpponent); SetWildMonHeldItem(); @@ -496,7 +286,6 @@ void InitBattle(void) AdjustFriendship(&gPlayerParty[i], 3); gBattleCommunication[0] = 0; } -#endif void sub_800E9EC(void) { @@ -605,480 +394,11 @@ void shedinja_something(struct Pokemon *pkmn) } } -#if DEBUG -__attribute__((naked)) -void sub_800EC9C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " bl RunTasks\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " bl GetMultiplayerId\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._55\n" - " ldr r1, ._55 + 4\n" - " add r0, r0, r1\n" - " strb r4, [r0]\n" - " mov r0, #0x1\n" - " add r5, r4, #0\n" - " eor r5, r5, r0\n" - " ldr r0, ._55 + 8\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x9\n" - " bls ._53 @cond_branch\n" - " b ._140\n" - "._53:\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._55 + 12\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._56:\n" - " .align 2, 0\n" - "._55:\n" - " .word gSharedMem\n" - " .word 0x160cb\n" - " .word gBattleCommunication\n" - " .word ._57\n" - "._57:\n" - " .word ._58\n" - " .word ._59\n" - " .word ._60\n" - " .word ._61\n" - " .word ._62\n" - " .word ._63\n" - " .word ._64\n" - " .word ._65\n" - " .word ._66\n" - " .word ._67\n" - "._58:\n" - " ldr r2, ._76\n" - " ldrh r1, [r2]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._68 @cond_branch\n" - " ldr r0, ._76 + 4\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._69 @cond_branch\n" - " b ._140\n" - "._69:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._71 @cond_branch\n" - " b ._140\n" - "._71:\n" - " ldr r1, ._76 + 8\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " strb r0, [r1, #0x1]\n" - " bl sub_800E9EC\n" - " bl sub_800EAAC\n" - " ldr r0, ._76 + 12\n" - " ldrb r1, [r0]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._73 @cond_branch\n" - " mov r3, #0x0\n" - " ldr r1, ._76 + 16\n" - " ldr r0, ._76 + 20\n" - "._74:\n" - " strh r3, [r0, #0x18]\n" - " str r1, [r0, #0x14]\n" - " add r0, r0, #0x1c\n" - " add r3, r3, #0x1\n" - " cmp r3, #0x1\n" - " ble ._74 @cond_branch\n" - "._73:\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._76 + 8\n" - " mov r2, #0x20\n" - " bl SendBlock\n" - " ldr r1, ._76 + 24\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " b ._140\n" - "._77:\n" - " .align 2, 0\n" - "._76:\n" - " .word gBattleTypeFlags\n" - " .word gReceivedRemoteLinkPlayers\n" - " .word gSharedMem\n" - " .word gUnknown_02023A14_50\n" - " .word 0x2211\n" - " .word gLinkPlayers\n" - " .word gBattleCommunication\n" - "._68:\n" - " mov r0, #0x4\n" - " orr r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r1, ._79\n" - " mov r0, #0x8\n" - " strb r0, [r1]\n" - " bl sub_800EB08\n" - " b ._140\n" - "._80:\n" - " .align 2, 0\n" - "._79:\n" - " .word gBattleCommunication\n" - "._59:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0x3\n" - " and r1, r1, r0\n" - " cmp r1, #0x3\n" - " beq ._81 @cond_branch\n" - " b ._140\n" - "._81:\n" - " bl ResetBlockReceivedFlags\n" - " mov r3, #0x0\n" - " ldr r0, ._86\n" - " ldrh r1, [r0]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._83 @cond_branch\n" - " cmp r4, #0\n" - " bne ._84 @cond_branch\n" - " ldr r0, ._86 + 4\n" - " ldrh r1, [r0]\n" - " mov r2, #0xc\n" - " b ._85\n" - "._87:\n" - " .align 2, 0\n" - "._86:\n" - " .word gBlockRecvBuffer\n" - " .word gBattleTypeFlags\n" - "._84:\n" - " ldr r0, ._92\n" - " ldrh r1, [r0]\n" - " mov r2, #0x8\n" - "._85:\n" - " orr r1, r1, r2\n" - " strh r1, [r0]\n" - " add r3, r3, #0x1\n" - "._83:\n" - " lsl r7, r5, #0x8\n" - " cmp r3, #0\n" - " bne ._94 @cond_branch\n" - " ldr r0, ._92 + 4\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x1\n" - " add r2, r0, r1\n" - " ldrh r1, [r0]\n" - " add r6, r0, #0\n" - " ldrh r2, [r2]\n" - " cmp r1, r2\n" - " bne ._89 @cond_branch\n" - " cmp r4, #0\n" - " bne ._90 @cond_branch\n" - " ldr r0, ._92\n" - " ldrh r1, [r0]\n" - " mov r2, #0xc\n" - " b ._91\n" - "._93:\n" - " .align 2, 0\n" - "._92:\n" - " .word gBattleTypeFlags\n" - " .word gBlockRecvBuffer\n" - "._90:\n" - " ldr r0, ._96\n" - " ldrh r1, [r0]\n" - " mov r2, #0x8\n" - "._91:\n" - " orr r1, r1, r2\n" - " strh r1, [r0]\n" - " add r3, r3, #0x1\n" - "._89:\n" - " lsl r7, r5, #0x8\n" - " cmp r3, #0\n" - " bne ._94 @cond_branch\n" - " ldrh r1, [r6]\n" - " ldr r0, ._96 + 4\n" - " ldr r2, ._96\n" - " b ._95\n" - "._97:\n" - " .align 2, 0\n" - "._96:\n" - " .word gBattleTypeFlags\n" - " .word 0x101\n" - "._100:\n" - " add r3, r3, #0x1\n" - " cmp r3, #0x1\n" - " bgt ._98 @cond_branch\n" - " lsl r0, r3, #0x8\n" - " add r0, r0, r6\n" - " ldrh r1, [r0]\n" - " ldr r0, ._103\n" - "._95:\n" - " cmp r1, r0\n" - " bls ._100 @cond_branch\n" - " cmp r3, r4\n" - " beq ._100 @cond_branch\n" - "._98:\n" - " cmp r3, #0x2\n" - " bne ._101 @cond_branch\n" - " ldrh r0, [r2]\n" - " mov r1, #0xc\n" - " b ._102\n" - "._104:\n" - " .align 2, 0\n" - "._103:\n" - " .word 0x101\n" - "._101:\n" - " ldrh r0, [r2]\n" - " mov r1, #0x8\n" - "._102:\n" - " orr r0, r0, r1\n" - " strh r0, [r2]\n" - "._94:\n" - " bl sub_800EB08\n" - " ldr r0, ._106\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._106 + 4\n" - " lsl r2, r0, #0x2\n" - " add r2, r2, r0\n" - " lsl r2, r2, #0x3\n" - " add r2, r2, r1\n" - " mov r1, #0x0\n" - " mov r0, #0x87\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r2, #0xa]\n" - " mov r0, #0x5a\n" - " strh r0, [r2, #0xc]\n" - " strh r1, [r2, #0x12]\n" - " ldr r0, ._106 + 8\n" - " ldrb r1, [r0, #0x2]\n" - " ldrb r0, [r0, #0x3]\n" - " lsl r0, r0, #0x8\n" - " orr r1, r1, r0\n" - " strh r1, [r2, #0xe]\n" - " ldr r0, ._106 + 12\n" - " add r0, r0, #0x2\n" - " add r0, r7, r0\n" - " ldrh r0, [r0]\n" - " strh r0, [r2, #0x10]\n" - " b ._129\n" - "._107:\n" - " .align 2, 0\n" - "._106:\n" - " .word sub_800DE30+1\n" - " .word gTasks\n" - " .word gSharedMem\n" - " .word gBlockRecvBuffer\n" - "._60:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._108 @cond_branch\n" - " b ._140\n" - "._108:\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._111\n" - " mov r2, #0xc8\n" - " bl SendBlock\n" - " b ._129\n" - "._112:\n" - " .align 2, 0\n" - "._111:\n" - " .word gPlayerParty\n" - "._61:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0x3\n" - " and r1, r1, r0\n" - " cmp r1, #0x3\n" - " beq ._113 @cond_branch\n" - " b ._140\n" - "._113:\n" - " bl ResetBlockReceivedFlags\n" - " ldr r0, ._116\n" - " lsl r1, r5, #0x8\n" - " ldr r2, ._116 + 4\n" - " add r1, r1, r2\n" - " mov r2, #0xc8\n" - " bl memcpy\n" - " b ._129\n" - "._117:\n" - " .align 2, 0\n" - "._116:\n" - " .word gEnemyParty\n" - " .word gBlockRecvBuffer\n" - "._62:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._118 @cond_branch\n" - " b ._140\n" - "._118:\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._121\n" - " mov r2, #0xc8\n" - " bl SendBlock\n" - " b ._129\n" - "._122:\n" - " .align 2, 0\n" - "._121:\n" - " .word gPlayerParty+0xc8\n" - "._63:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0x3\n" - " and r1, r1, r0\n" - " cmp r1, #0x3\n" - " beq ._123 @cond_branch\n" - " b ._140\n" - "._123:\n" - " bl ResetBlockReceivedFlags\n" - " ldr r0, ._126\n" - " lsl r1, r5, #0x8\n" - " ldr r2, ._126 + 4\n" - " add r1, r1, r2\n" - " mov r2, #0xc8\n" - " bl memcpy\n" - " b ._129\n" - "._127:\n" - " .align 2, 0\n" - "._126:\n" - " .word gEnemyParty+0xc8\n" - " .word gBlockRecvBuffer\n" - "._64:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._140 @cond_branch\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._130\n" - " mov r2, #0xc8\n" - " bl SendBlock\n" - " b ._129\n" - "._131:\n" - " .align 2, 0\n" - "._130:\n" - " .word gPlayerParty+0x190\n" - "._65:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0x3\n" - " and r1, r1, r0\n" - " cmp r1, #0x3\n" - " bne ._140 @cond_branch\n" - " bl ResetBlockReceivedFlags\n" - " ldr r4, ._134\n" - " lsl r1, r5, #0x8\n" - " ldr r0, ._134 + 4\n" - " add r1, r1, r0\n" - " add r0, r4, #0\n" - " mov r2, #0xc8\n" - " bl memcpy\n" - " ldr r1, ._134 + 8\n" - " add r0, r4, r1\n" - " bl shedinja_something\n" - " ldr r1, ._134 + 12\n" - " add r0, r4, r1\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " sub r0, r0, #0xc8\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " sub r0, r0, #0x64\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " add r0, r0, #0x64\n" - " bl shedinja_something\n" - "._129:\n" - " ldr r1, ._134 + 16\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._140\n" - "._135:\n" - " .align 2, 0\n" - "._134:\n" - " .word gEnemyParty+0x190\n" - " .word gBlockRecvBuffer\n" - " .word 0xfffffe70\n" - " .word 0xfffffed4\n" - " .word gBattleCommunication\n" - "._66:\n" - " bl sub_800B950\n" - " ldr r0, ._137\n" - " ldrb r1, [r0]\n" - " add r1, r1, #0x1\n" - " mov r2, #0x0\n" - " strb r1, [r0]\n" - " strb r2, [r0, #0x1]\n" - " strb r2, [r0, #0x2]\n" - " b ._140\n" - "._138:\n" - " .align 2, 0\n" - "._137:\n" - " .word gBattleCommunication\n" - "._67:\n" - " ldr r0, ._141\n" - " add r1, r0, #1\n" - " bl battle_load_something\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._140 @cond_branch\n" - " ldr r2, ._141 + 4\n" - " ldr r1, ._141 + 8\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " ldr r0, ._141 + 12\n" - " str r0, [r1]\n" - " ldr r0, ._141 + 16\n" - " bl SetMainCallback2\n" - " ldr r3, ._141 + 20\n" - " ldrh r2, [r3]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._140 @cond_branch\n" - " ldr r1, ._141 + 24\n" - " mov r4, #0x80\n" - " lsl r4, r4, #0x4\n" - " add r0, r4, #0\n" - " strh r0, [r1]\n" - " mov r0, #0x20\n" - " orr r0, r0, r2\n" - " strh r0, [r3]\n" - "._140:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._142:\n" - " .align 2, 0\n" - "._141:\n" - " .word gUnknown_02024D1F\n" - " .word gPreBattleCallback1\n" - " .word gMain\n" - " .word debug_sub_80139E4+1\n" - " .word BattleMainCB2+1\n" - " .word gBattleTypeFlags\n" - " .word gTrainerBattleOpponent\n" - "\n" - ); -} -#else -void sub_800EC9C(void) +void sub_800EC9C(void) { u8 playerId; u8 enemyId; + s32 id; RunTasks(); AnimateSprites(); @@ -1098,6 +418,16 @@ void sub_800EC9C(void) gBattleStruct->unk1 = 1; sub_800E9EC(); sub_800EAAC(); +#if DEBUG + if (gUnknown_02023A14_50 & 8) + { + for (id = 0; id < 2; id++) // Why < 2 here? + { + gLinkPlayers[id].lp_field_18 = id; + gLinkPlayers[id].linkType = 0x2211; + } + } +#endif SendBlock(bitmask_all_link_players_but_self(), gBattleStruct, 32); gBattleCommunication[0] = 1; } @@ -1112,7 +442,6 @@ void sub_800EC9C(void) case 1: if ((GetBlockReceivedStatus() & 3) == 3) { - s32 id; u8 taskId; ResetBlockReceivedFlags(); @@ -1220,7 +549,11 @@ void sub_800EC9C(void) if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { gPreBattleCallback1 = gMain.callback1; +#if DEBUG + gMain.callback1 = debug_sub_80139E4; +#else gMain.callback1 = sub_8010824; +#endif SetMainCallback2(BattleMainCB2); if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -1231,7 +564,6 @@ void sub_800EC9C(void) break; } } -#endif void sub_800F02C(void) { @@ -1258,241 +590,12 @@ void sub_800F02C(void) memcpy(gSharedMem, gUnknown_02023A00, 0x60); } -#if DEBUG -__attribute__((naked)) -void sub_800F104() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " bl GetMultiplayerId\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r0, ._151\n" - " ldr r2, ._151 + 4\n" - " add r1, r0, r2\n" - " strb r6, [r1]\n" - " ldr r1, ._151 + 8\n" - " add r1, r1, r0\n" - " mov r9, r1\n" - " sub r2, r2, #0x9\n" - " add r2, r2, r0\n" - " mov r8, r2\n" - " bl RunTasks\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " ldr r2, ._151 + 12\n" - " ldrb r0, [r2]\n" - " cmp r0, #0x1\n" - " beq ._147 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._148 @cond_branch\n" - " cmp r0, #0\n" - " beq ._149 @cond_branch\n" - " b ._183\n" - "._152:\n" - " .align 2, 0\n" - "._151:\n" - " .word gSharedMem\n" - " .word 0x160cb\n" - " .word 0x160c4\n" - " .word gBattleCommunication\n" - "._148:\n" - " cmp r0, #0x2\n" - " bne ._153 @cond_branch\n" - " b ._154\n" - "._153:\n" - " cmp r0, #0x3\n" - " bne ._155 @cond_branch\n" - " b ._156\n" - "._155:\n" - " b ._183\n" - "._149:\n" - " ldr r0, ._165\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._158 @cond_branch\n" - " b ._183\n" - "._158:\n" - " ldr r0, ._165 + 4\n" - " ldrb r1, [r0]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._160 @cond_branch\n" - " mov r4, #0x0\n" - " ldr r1, ._165 + 8\n" - " ldr r0, ._165 + 12\n" - "._161:\n" - " strh r4, [r0, #0x18]\n" - " str r1, [r0, #0x14]\n" - " add r0, r0, #0x1c\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x3\n" - " ble ._161 @cond_branch\n" - "._160:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._162 @cond_branch\n" - " b ._183\n" - "._162:\n" - " bl sub_800F02C\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._165 + 16\n" - " mov r2, #0x60\n" - " bl SendBlock\n" - " ldr r1, ._165 + 20\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._183\n" - "._166:\n" - " .align 2, 0\n" - "._165:\n" - " .word gReceivedRemoteLinkPlayers\n" - " .word gUnknown_02023A14_50\n" - " .word 0x2211\n" - " .word gLinkPlayers\n" - " .word gSharedMem\n" - " .word gBattleCommunication\n" - "._147:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0xf\n" - " and r1, r1, r0\n" - " cmp r1, #0xf\n" - " bne ._183 @cond_branch\n" - " bl ResetBlockReceivedFlags\n" - " mov r4, #0x0\n" - " lsl r0, r6, #0x3\n" - " sub r0, r0, r6\n" - " lsl r5, r0, #0x2\n" - " mov r7, #0x0\n" - "._175:\n" - " cmp r4, r6\n" - " beq ._174 @cond_branch\n" - " ldr r2, ._172\n" - " add r0, r7, r2\n" - " ldrh r1, [r0, #0x18]\n" - " mov r3, #0x1\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._169 @cond_branch\n" - " add r0, r5, r2\n" - " ldrh r1, [r0, #0x18]\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._170 @cond_branch\n" - " b ._174\n" - "._173:\n" - " .align 2, 0\n" - "._172:\n" - " .word gLinkPlayers\n" - "._169:\n" - " add r0, r5, r2\n" - " ldrh r1, [r0, #0x18]\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._174 @cond_branch\n" - "._170:\n" - " lsl r1, r4, #0x8\n" - " ldr r0, ._177\n" - " add r1, r1, r0\n" - " ldr r0, ._177 + 4\n" - " mov r2, #0x60\n" - " bl memcpy\n" - "._174:\n" - " add r7, r7, #0x1c\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x3\n" - " ble ._175 @cond_branch\n" - " ldr r1, ._177 + 8\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r1, ._177 + 12\n" - " ldr r0, [r1, #0x8]\n" - " mov r2, r9\n" - " str r0, [r2]\n" - " ldr r0, ._177 + 16\n" - " ldrh r0, [r0]\n" - " mov r2, r8\n" - " strh r0, [r2]\n" - " ldr r0, ._177 + 20\n" - " str r0, [r1, #0x8]\n" - " mov r0, #0x5\n" - " mov r1, #0x0\n" - " bl OpenPartyMenu\n" - " b ._183\n" - "._178:\n" - " .align 2, 0\n" - "._177:\n" - " .word gBlockRecvBuffer\n" - " .word gUnknown_02023A00\n" - " .word gBattleCommunication\n" - " .word gMain\n" - " .word gBattleTypeFlags\n" - " .word sub_800F104+1\n" - "._154:\n" - " ldr r0, ._181\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._183 @cond_branch\n" - " mov r0, #0x3\n" - " strb r0, [r2]\n" - " bl sub_800832C\n" - " b ._183\n" - "._182:\n" - " .align 2, 0\n" - "._181:\n" - " .word gPaletteFade\n" - "._156:\n" - " ldr r0, ._184\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._183 @cond_branch\n" - " ldr r1, ._184 + 4\n" - " mov r2, r8\n" - " ldrh r0, [r2]\n" - " strh r0, [r1]\n" - " ldr r1, ._184 + 8\n" - " mov r2, r9\n" - " ldr r0, [r2]\n" - " str r0, [r1, #0x8]\n" - " ldr r0, ._184 + 12\n" - " bl SetMainCallback2\n" - "._183:\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._185:\n" - " .align 2, 0\n" - "._184:\n" - " .word gReceivedRemoteLinkPlayers\n" - " .word gBattleTypeFlags\n" - " .word gMain\n" - " .word InitBattle+1\n" - "\n" - ); -} -#else void sub_800F104(void) { u8 playerId; MainCallback *pSavedCallback; u16 *pSavedBattleTypeFlags; + s32 i; playerId = GetMultiplayerId(); ewram160CB = playerId; @@ -1506,820 +609,66 @@ void sub_800F104(void) switch (gBattleCommunication[0]) { case 0: - if (gReceivedRemoteLinkPlayers != 0 && sub_8007ECC()) - { - sub_800F02C(); - SendBlock(bitmask_all_link_players_but_self(), gSharedMem, 0x60); - gBattleCommunication[0]++; - } - break; - case 1: - if ((GetBlockReceivedStatus() & 0xF) == 0xF) - { - s32 i; - - ResetBlockReceivedFlags(); - for (i = 0; i < 4; i++) - { - if (i != playerId) - { - if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[playerId].lp_field_18 & 1)) - || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[playerId].lp_field_18 & 1))) - memcpy(gUnknown_02023A00, gBlockRecvBuffer[i], 0x60); - } - } - gBattleCommunication[0]++; - *pSavedCallback = gMain.savedCallback; - *pSavedBattleTypeFlags = gBattleTypeFlags; - gMain.savedCallback = sub_800F104; - OpenPartyMenu(PARTY_MENU_TYPE_LINK_MULTI_BATTLE, 0); - } - break; - case 2: - if (!gPaletteFade.active) - { - gBattleCommunication[0] = 3; - sub_800832C(); - } - break; - case 3: - if (gReceivedRemoteLinkPlayers == 0) - { - gBattleTypeFlags = *pSavedBattleTypeFlags; - gMain.savedCallback = *pSavedCallback; - SetMainCallback2(InitBattle); - } - break; - } -} -#endif - -#if DEBUG -__attribute__((naked)) -void sub_800F298() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " bl GetMultiplayerId\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r0, ._188\n" - " ldr r1, ._188 + 4\n" - " add r0, r0, r1\n" - " strb r6, [r0]\n" - " bl RunTasks\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " ldr r0, ._188 + 8\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x7\n" - " bls ._186 @cond_branch\n" - " b ._352\n" - "._186:\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._188 + 12\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._189:\n" - " .align 2, 0\n" - "._188:\n" - " .word gSharedMem\n" - " .word 0x160cb\n" - " .word gBattleCommunication\n" - " .word ._190\n" - "._190:\n" - " .word ._191\n" - " .word ._192\n" - " .word ._193\n" - " .word ._194\n" - " .word ._195\n" - " .word ._196\n" - " .word ._197\n" - " .word ._198\n" - "._191:\n" - " ldr r0, ._206\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._199 @cond_branch\n" - " b ._352\n" - "._199:\n" - " ldr r0, ._206 + 4\n" - " ldrb r1, [r0]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._201 @cond_branch\n" - " mov r4, #0x0\n" - " ldr r1, ._206 + 8\n" - " ldr r0, ._206 + 12\n" - "._202:\n" - " strh r4, [r0, #0x18]\n" - " str r1, [r0, #0x14]\n" - " add r0, r0, #0x1c\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x3\n" - " ble ._202 @cond_branch\n" - "._201:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._203 @cond_branch\n" - " b ._352\n" - "._203:\n" - " ldr r4, ._206 + 16\n" - " mov r0, #0x1\n" - " strb r0, [r4]\n" - " strb r0, [r4, #0x1]\n" - " bl sub_800E9EC\n" - " bl sub_800EAAC\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r1, r4, #0\n" - " mov r2, #0x20\n" - " bl SendBlock\n" - " b ._300\n" - "._207:\n" - " .align 2, 0\n" - "._206:\n" - " .word gReceivedRemoteLinkPlayers\n" - " .word gUnknown_02023A14_50\n" - " .word 0x2211\n" - " .word gLinkPlayers\n" - " .word gSharedMem\n" - "._192:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0xf\n" - " and r1, r1, r0\n" - " cmp r1, #0xf\n" - " beq ._208 @cond_branch\n" - " b ._352\n" - "._208:\n" - " bl ResetBlockReceivedFlags\n" - " mov r4, #0x0\n" - " ldr r0, ._213\n" - " ldrh r1, [r0]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._210 @cond_branch\n" - " cmp r6, #0\n" - " bne ._211 @cond_branch\n" - " ldr r0, ._213 + 4\n" - " ldrh r1, [r0]\n" - " mov r2, #0xc\n" - " b ._212\n" - "._214:\n" - " .align 2, 0\n" - "._213:\n" - " .word gBlockRecvBuffer\n" - " .word gBattleTypeFlags\n" - "._211:\n" - " ldr r0, ._221\n" - " ldrh r1, [r0]\n" - " mov r2, #0x8\n" - "._212:\n" - " orr r1, r1, r2\n" - " strh r1, [r0]\n" - " add r4, r4, #0x1\n" - "._210:\n" - " cmp r4, #0\n" - " bne ._223 @cond_branch\n" - " mov r2, #0x0\n" - " ldr r1, ._221 + 4\n" - " add r5, r1, #0\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - "._217:\n" - " add r1, r1, r3\n" - " add r2, r2, #0x1\n" - " cmp r2, #0x3\n" - " bgt ._216 @cond_branch\n" - " ldrh r0, [r5]\n" - " ldrh r7, [r1]\n" - " cmp r0, r7\n" - " beq ._217 @cond_branch\n" - "._216:\n" - " cmp r2, #0x4\n" - " bne ._218 @cond_branch\n" - " cmp r6, #0\n" - " bne ._219 @cond_branch\n" - " ldr r0, ._221\n" - " ldrh r1, [r0]\n" - " mov r2, #0xc\n" - " b ._220\n" - "._222:\n" - " .align 2, 0\n" - "._221:\n" - " .word gBattleTypeFlags\n" - " .word gBlockRecvBuffer\n" - "._219:\n" - " ldr r0, ._233\n" - " ldrh r1, [r0]\n" - " mov r2, #0x8\n" - "._220:\n" - " orr r1, r1, r2\n" - " strh r1, [r0]\n" - " add r4, r4, #0x1\n" - "._218:\n" - " cmp r4, #0\n" - " bne ._223 @cond_branch\n" - " ldr r0, ._233 + 4\n" - " ldrh r2, [r0]\n" - " ldr r1, ._233 + 8\n" - " add r3, r0, #0\n" - " ldr r5, ._233\n" - " cmp r2, r1\n" - " beq ._224 @cond_branch\n" - "._230:\n" - " lsl r0, r4, #0x8\n" - " add r0, r0, r3\n" - " ldrh r0, [r0]\n" - " ldr r1, ._233 + 8\n" - " cmp r0, r1\n" - " bls ._225 @cond_branch\n" - " cmp r4, r6\n" - " bne ._227 @cond_branch\n" - "._225:\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x3\n" - " bgt ._227 @cond_branch\n" - " lsl r0, r4, #0x8\n" - " add r0, r0, r3\n" - " ldrh r0, [r0]\n" - " cmp r0, r1\n" - " bne ._230 @cond_branch\n" - "._224:\n" - " cmp r4, r6\n" - " beq ._230 @cond_branch\n" - " cmp r4, r6\n" - " bge ._230 @cond_branch\n" - "._227:\n" - " cmp r4, #0x4\n" - " bne ._231 @cond_branch\n" - " ldrh r0, [r5]\n" - " mov r1, #0xc\n" - " b ._232\n" - "._234:\n" - " .align 2, 0\n" - "._233:\n" - " .word gBattleTypeFlags\n" - " .word gBlockRecvBuffer\n" - " .word 0x101\n" - "._231:\n" - " ldrh r0, [r5]\n" - " mov r1, #0x8\n" - "._232:\n" - " orr r0, r0, r1\n" - " strh r0, [r5]\n" - "._223:\n" - " bl sub_800EB08\n" - " ldr r0, ._239\n" - " ldr r1, ._239 + 4\n" - " mov r2, #0x96\n" - " lsl r2, r2, #0x1\n" - " bl memcpy\n" - " ldr r0, ._239 + 8\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._239 + 12\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " mov r2, #0x0\n" - " mov r0, #0x87\n" - " lsl r0, r0, #0x1\n" - " strh r0, [r1, #0xa]\n" - " mov r0, #0x5a\n" - " strh r0, [r1, #0xc]\n" - " strh r2, [r1, #0x12]\n" - " strh r2, [r1, #0xe]\n" - " strh r2, [r1, #0x10]\n" - " add r2, r1, #0\n" - " ldr r0, ._239 + 16\n" - " add r3, r0, #2\n" - " ldr r6, ._239 + 20\n" - " mov r5, #0x3f\n" - " mov r7, #0x80\n" - " lsl r7, r7, #0x1\n" - " mov r4, #0x3\n" - "._247:\n" - " ldrh r0, [r6, #0x18]\n" - " cmp r0, #0x1\n" - " beq ._235 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._236 @cond_branch\n" - " cmp r0, #0\n" - " beq ._237 @cond_branch\n" - " b ._246\n" - "._240:\n" - " .align 2, 0\n" - "._239:\n" - " .word +0x201d000\n" - " .word gPlayerParty\n" - " .word sub_800DE30+1\n" - " .word gTasks\n" - " .word gBlockRecvBuffer\n" - " .word gLinkPlayers\n" - "._236:\n" - " cmp r0, #0x2\n" - " beq ._241 @cond_branch\n" - " cmp r0, #0x3\n" - " beq ._242 @cond_branch\n" - " b ._246\n" - "._237:\n" - " ldrh r0, [r3]\n" - " add r1, r5, #0\n" - " and r1, r1, r0\n" - " b ._244\n" - "._235:\n" - " ldrh r0, [r3]\n" - " add r1, r5, #0\n" - " and r1, r1, r0\n" - " b ._245\n" - "._241:\n" - " ldrh r0, [r3]\n" - " add r1, r5, #0\n" - " and r1, r1, r0\n" - " lsl r1, r1, #0x6\n" - "._244:\n" - " ldrh r0, [r2, #0xe]\n" - " orr r1, r1, r0\n" - " strh r1, [r2, #0xe]\n" - " b ._246\n" - "._242:\n" - " ldrh r0, [r3]\n" - " add r1, r5, #0\n" - " and r1, r1, r0\n" - " lsl r1, r1, #0x6\n" - "._245:\n" - " ldrh r0, [r2, #0x10]\n" - " orr r1, r1, r0\n" - " strh r1, [r2, #0x10]\n" - "._246:\n" - " add r3, r3, r7\n" - " add r6, r6, #0x1c\n" - " sub r4, r4, #0x1\n" - " cmp r4, #0\n" - " bge ._247 @cond_branch\n" - " bl ZeroPlayerPartyMons\n" - " bl ZeroEnemyPartyMons\n" - " ldr r1, ._251\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._193:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._248 @cond_branch\n" - " b ._352\n" - "._248:\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._251 + 4\n" - " mov r2, #0xc8\n" - " bl SendBlock\n" - " b ._300\n" - "._252:\n" - " .align 2, 0\n" - "._251:\n" - " .word gBattleCommunication\n" - " .word +0x201d000\n" - "._194:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0xf\n" - " and r1, r1, r0\n" - " cmp r1, #0xf\n" - " beq ._253 @cond_branch\n" - " b ._352\n" - "._253:\n" - " bl ResetBlockReceivedFlags\n" - " mov r4, #0x0\n" - " lsl r0, r6, #0x3\n" - " sub r0, r0, r6\n" - " lsl r0, r0, #0x2\n" - " mov r8, r0\n" - " ldr r5, ._260\n" - " mov r7, #0x0\n" - "._294:\n" - " cmp r4, r6\n" - " bne ._255 @cond_branch\n" - " ldr r0, ._260 + 4\n" - " add r0, r7, r0\n" - " ldrh r0, [r0, #0x18]\n" - " cmp r0, #0x2\n" - " bgt ._256 @cond_branch\n" - " cmp r0, #0x1\n" - " bge ._257 @cond_branch\n" - " cmp r0, #0\n" - " beq ._258 @cond_branch\n" - " b ._291\n" - "._261:\n" - " .align 2, 0\n" - "._260:\n" - " .word gBlockRecvBuffer\n" - " .word gLinkPlayers\n" - "._256:\n" - " cmp r0, #0x3\n" - " bne ._291 @cond_branch\n" - "._258:\n" - " ldr r0, ._264\n" - " b ._283\n" - "._265:\n" - " .align 2, 0\n" - "._264:\n" - " .word gPlayerParty\n" - "._257:\n" - " ldr r0, ._267\n" - " b ._283\n" - "._268:\n" - " .align 2, 0\n" - "._267:\n" - " .word gPlayerParty+0x12c\n" - "._255:\n" - " ldr r2, ._272\n" - " add r0, r7, r2\n" - " ldrh r1, [r0, #0x18]\n" - " mov r3, #0x1\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._269 @cond_branch\n" - " mov r1, r8\n" - " add r0, r1, r2\n" - " ldrh r1, [r0, #0x18]\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._270 @cond_branch\n" - " b ._274\n" - "._273:\n" - " .align 2, 0\n" - "._272:\n" - " .word gLinkPlayers\n" - "._269:\n" - " mov r1, r8\n" - " add r0, r1, r2\n" - " ldrh r1, [r0, #0x18]\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._274 @cond_branch\n" - "._270:\n" - " add r0, r7, r2\n" - " ldrh r2, [r0, #0x18]\n" - " cmp r2, #0x2\n" - " bgt ._275 @cond_branch\n" - " cmp r2, #0x1\n" - " bge ._276 @cond_branch\n" - " cmp r2, #0\n" - " beq ._277 @cond_branch\n" - " b ._291\n" - "._275:\n" - " cmp r2, #0x3\n" - " bne ._291 @cond_branch\n" - "._277:\n" - " ldr r0, ._281\n" - " b ._283\n" - "._282:\n" - " .align 2, 0\n" - "._281:\n" - " .word gPlayerParty\n" - "._276:\n" - " ldr r0, ._284\n" - " b ._283\n" - "._285:\n" - " .align 2, 0\n" - "._284:\n" - " .word gPlayerParty+0x12c\n" - "._274:\n" - " add r0, r7, r2\n" - " ldrh r2, [r0, #0x18]\n" - " cmp r2, #0x2\n" - " bgt ._286 @cond_branch\n" - " cmp r2, #0x1\n" - " bge ._287 @cond_branch\n" - " cmp r2, #0\n" - " beq ._288 @cond_branch\n" - " b ._291\n" - "._286:\n" - " cmp r2, #0x3\n" - " bne ._291 @cond_branch\n" - "._288:\n" - " ldr r0, ._292\n" - "._283:\n" - " add r1, r5, #0\n" - " mov r2, #0xc8\n" - " bl memcpy\n" - " b ._291\n" - "._293:\n" - " .align 2, 0\n" - "._292:\n" - " .word gEnemyParty\n" - "._287:\n" - " ldr r0, ._296\n" - " add r1, r5, #0\n" - " mov r2, #0xc8\n" - " bl memcpy\n" - "._291:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " add r5, r5, r0\n" - " add r7, r7, #0x1c\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x3\n" - " ble ._294 @cond_branch\n" - " b ._300\n" - "._297:\n" - " .align 2, 0\n" - "._296:\n" - " .word gEnemyParty+0x12c\n" - "._195:\n" - " bl sub_8007ECC\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._298 @cond_branch\n" - " b ._352\n" - "._298:\n" - " bl bitmask_all_link_players_but_self\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r1, ._301\n" - " mov r2, #0x64\n" - " bl SendBlock\n" - " b ._300\n" - "._302:\n" - " .align 2, 0\n" - "._301:\n" - " .word +0x201d0c8\n" - "._196:\n" - " bl GetBlockReceivedStatus\n" - " mov r1, #0xf\n" - " and r1, r1, r0\n" - " cmp r1, #0xf\n" - " beq ._303 @cond_branch\n" - " b ._352\n" - "._303:\n" - " bl ResetBlockReceivedFlags\n" - " mov r4, #0x0\n" - " lsl r0, r6, #0x3\n" - " sub r0, r0, r6\n" - " lsl r0, r0, #0x2\n" - " mov r8, r0\n" - " ldr r5, ._310\n" - " mov r7, #0x0\n" - "._344:\n" - " cmp r4, r6\n" - " bne ._305 @cond_branch\n" - " ldr r0, ._310 + 4\n" - " add r0, r7, r0\n" - " ldrh r0, [r0, #0x18]\n" - " cmp r0, #0x2\n" - " bgt ._306 @cond_branch\n" - " cmp r0, #0x1\n" - " bge ._307 @cond_branch\n" - " cmp r0, #0\n" - " beq ._308 @cond_branch\n" - " b ._341\n" - "._311:\n" - " .align 2, 0\n" - "._310:\n" - " .word gBlockRecvBuffer\n" - " .word gLinkPlayers\n" - "._306:\n" - " cmp r0, #0x3\n" - " bne ._341 @cond_branch\n" - "._308:\n" - " ldr r0, ._314\n" - " b ._333\n" - "._315:\n" - " .align 2, 0\n" - "._314:\n" - " .word gPlayerParty+0xc8\n" - "._307:\n" - " ldr r0, ._317\n" - " b ._333\n" - "._318:\n" - " .align 2, 0\n" - "._317:\n" - " .word gPlayerParty+0x1f4\n" - "._305:\n" - " ldr r2, ._322\n" - " add r0, r7, r2\n" - " ldrh r1, [r0, #0x18]\n" - " mov r3, #0x1\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._319 @cond_branch\n" - " mov r1, r8\n" - " add r0, r1, r2\n" - " ldrh r1, [r0, #0x18]\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._320 @cond_branch\n" - " b ._324\n" - "._323:\n" - " .align 2, 0\n" - "._322:\n" - " .word gLinkPlayers\n" - "._319:\n" - " mov r1, r8\n" - " add r0, r1, r2\n" - " ldrh r1, [r0, #0x18]\n" - " add r0, r3, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._324 @cond_branch\n" - "._320:\n" - " add r0, r7, r2\n" - " ldrh r2, [r0, #0x18]\n" - " cmp r2, #0x2\n" - " bgt ._325 @cond_branch\n" - " cmp r2, #0x1\n" - " bge ._326 @cond_branch\n" - " cmp r2, #0\n" - " beq ._327 @cond_branch\n" - " b ._341\n" - "._325:\n" - " cmp r2, #0x3\n" - " bne ._341 @cond_branch\n" - "._327:\n" - " ldr r0, ._331\n" - " b ._333\n" - "._332:\n" - " .align 2, 0\n" - "._331:\n" - " .word gPlayerParty+0xc8\n" - "._326:\n" - " ldr r0, ._334\n" - " b ._333\n" - "._335:\n" - " .align 2, 0\n" - "._334:\n" - " .word gPlayerParty+0x1f4\n" - "._324:\n" - " add r0, r7, r2\n" - " ldrh r2, [r0, #0x18]\n" - " cmp r2, #0x2\n" - " bgt ._336 @cond_branch\n" - " cmp r2, #0x1\n" - " bge ._337 @cond_branch\n" - " cmp r2, #0\n" - " beq ._338 @cond_branch\n" - " b ._341\n" - "._336:\n" - " cmp r2, #0x3\n" - " bne ._341 @cond_branch\n" - "._338:\n" - " ldr r0, ._342\n" - "._333:\n" - " add r1, r5, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - " b ._341\n" - "._343:\n" - " .align 2, 0\n" - "._342:\n" - " .word gEnemyParty+0xc8\n" - "._337:\n" - " ldr r0, ._346\n" - " add r1, r5, #0\n" - " mov r2, #0x64\n" - " bl memcpy\n" - "._341:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " add r5, r5, r0\n" - " add r7, r7, #0x1c\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x3\n" - " ble ._344 @cond_branch\n" - " ldr r4, ._346 + 4\n" - " add r0, r4, #0\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " add r0, r0, #0x64\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " add r0, r0, #0xc8\n" - " bl shedinja_something\n" - " mov r1, #0x96\n" - " lsl r1, r1, #0x1\n" - " add r0, r4, r1\n" - " bl shedinja_something\n" - " mov r7, #0xc8\n" - " lsl r7, r7, #0x1\n" - " add r0, r4, r7\n" - " bl shedinja_something\n" - " mov r1, #0xfa\n" - " lsl r1, r1, #0x1\n" - " add r0, r4, r1\n" - " bl shedinja_something\n" - " ldr r4, ._346 + 8\n" - " add r0, r4, #0\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " add r0, r0, #0x64\n" - " bl shedinja_something\n" - " add r0, r4, #0\n" - " add r0, r0, #0xc8\n" - " bl shedinja_something\n" - " sub r7, r7, #0x64\n" - " add r0, r4, r7\n" - " bl shedinja_something\n" - " mov r1, #0xc8\n" - " lsl r1, r1, #0x1\n" - " add r0, r4, r1\n" - " bl shedinja_something\n" - " add r7, r7, #0xc8\n" - " add r0, r4, r7\n" - " bl shedinja_something\n" - "._300:\n" - " ldr r1, ._346 + 12\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._352\n" - "._347:\n" - " .align 2, 0\n" - "._346:\n" - " .word gEnemyParty+0x1f4\n" - " .word gPlayerParty\n" - " .word gEnemyParty\n" - " .word gBattleCommunication\n" - "._197:\n" - " bl sub_800B950\n" - " ldr r0, ._349\n" - " ldrb r1, [r0]\n" - " add r1, r1, #0x1\n" - " mov r2, #0x0\n" - " strb r1, [r0]\n" - " strb r2, [r0, #0x1]\n" - " strb r2, [r0, #0x2]\n" - " b ._352\n" - "._350:\n" - " .align 2, 0\n" - "._349:\n" - " .word gBattleCommunication\n" - "._198:\n" - " ldr r0, ._353\n" - " add r1, r0, #1\n" - " bl battle_load_something\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._352 @cond_branch\n" - " ldr r2, ._353 + 4\n" - " ldr r1, ._353 + 8\n" - " ldr r0, [r1]\n" - " str r0, [r2]\n" - " ldr r0, ._353 + 12\n" - " str r0, [r1]\n" - " ldr r0, ._353 + 16\n" - " bl SetMainCallback2\n" - " ldr r3, ._353 + 20\n" - " ldrh r2, [r3]\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._352 @cond_branch\n" - " ldr r1, ._353 + 24\n" - " mov r4, #0x80\n" - " lsl r4, r4, #0x4\n" - " add r0, r4, #0\n" - " strh r0, [r1]\n" - " mov r0, #0x20\n" - " orr r0, r0, r2\n" - " strh r0, [r3]\n" - "._352:\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._354:\n" - " .align 2, 0\n" - "._353:\n" - " .word gUnknown_02024D1F\n" - " .word gPreBattleCallback1\n" - " .word gMain\n" - " .word debug_sub_80139E4+1\n" - " .word BattleMainCB2+1\n" - " .word gBattleTypeFlags\n" - " .word gTrainerBattleOpponent\n" - "\n" - ); + if (gReceivedRemoteLinkPlayers != 0) + { +#if DEBUG + if (gUnknown_02023A14_50 & 8) + { + for (i = 0; i < 4; i++) + { + gLinkPlayers[i].lp_field_18 = i; + gLinkPlayers[i].linkType = 0x2211; + } + } +#endif + if (sub_8007ECC()) + { + sub_800F02C(); + SendBlock(bitmask_all_link_players_but_self(), gSharedMem, 0x60); + gBattleCommunication[0]++; + } + } + break; + case 1: + if ((GetBlockReceivedStatus() & 0xF) == 0xF) + { + //s32 i; + + ResetBlockReceivedFlags(); + for (i = 0; i < 4; i++) + { + if (i != playerId) + { + if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[playerId].lp_field_18 & 1)) + || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[playerId].lp_field_18 & 1))) + memcpy(gUnknown_02023A00, gBlockRecvBuffer[i], 0x60); + } + } + gBattleCommunication[0]++; + *pSavedCallback = gMain.savedCallback; + *pSavedBattleTypeFlags = gBattleTypeFlags; + gMain.savedCallback = sub_800F104; + OpenPartyMenu(PARTY_MENU_TYPE_LINK_MULTI_BATTLE, 0); + } + break; + case 2: + if (!gPaletteFade.active) + { + gBattleCommunication[0] = 3; + sub_800832C(); + } + break; + case 3: + if (gReceivedRemoteLinkPlayers == 0) + { + gBattleTypeFlags = *pSavedBattleTypeFlags; + gMain.savedCallback = *pSavedCallback; + SetMainCallback2(InitBattle); + } + break; + } } -#else + void sub_800F298(void) { u8 playerId; @@ -2333,14 +682,27 @@ void sub_800F298(void) switch (gBattleCommunication[0]) { case 0: - if (gReceivedRemoteLinkPlayers != 0 && sub_8007ECC()) + if (gReceivedRemoteLinkPlayers != 0) { - gBattleStruct->unk0 = 1; - gBattleStruct->unk1 = 1; - sub_800E9EC(); - sub_800EAAC(); - SendBlock(bitmask_all_link_players_but_self(), gSharedMem, 0x20); - gBattleCommunication[0]++; +#if DEBUG + if (gUnknown_02023A14_50 & 8) + { + for (id = 0; id < 4; id++) + { + gLinkPlayers[id].lp_field_18 = id; + gLinkPlayers[id].linkType = 0x2211; + } + } +#endif + if (sub_8007ECC()) + { + gBattleStruct->unk0 = 1; + gBattleStruct->unk1 = 1; + sub_800E9EC(); + sub_800EAAC(); + SendBlock(bitmask_all_link_players_but_self(), gSharedMem, 0x20); + gBattleCommunication[0]++; + } } break; case 1: @@ -2576,7 +938,12 @@ void sub_800F298(void) if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { gPreBattleCallback1 = gMain.callback1; + // debug +#if DEBUG + gMain.callback1 = debug_sub_80139E4; +#else gMain.callback1 = sub_8010824; +#endif SetMainCallback2(BattleMainCB2); if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -2587,128 +954,38 @@ void sub_800F298(void) break; } } -#endif -#if DEBUG -__attribute__((naked)) -void BattleMainCB2(void) -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " ldr r4, ._358\n" - " ldrh r2, [r4, #0x2c]\n" - " mov r1, #0x82\n" - " lsl r1, r1, #0x1\n" - " add r0, r1, #0\n" - " and r0, r0, r2\n" - " cmp r0, r1\n" - " bne ._357 @cond_branch\n" - " ldr r2, ._358 + 4\n" - " ldr r1, ._358 + 8\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x1\n" - " strh r0, [r2]\n" - " ldr r0, ._358 + 12\n" - " add r2, r4, r0\n" - " ldrb r1, [r2]\n" - " mov r0, #0x3\n" - " neg r0, r0\n" - " and r0, r0, r1\n" - " strb r0, [r2]\n" - " ldr r1, ._358 + 16\n" - " mov r0, #0x3\n" - " strb r0, [r1, #0x15]\n" - " ldr r0, ._358 + 20\n" - " ldr r0, [r0]\n" - " str r0, [r4]\n" - " bl ZeroEnemyPartyMons\n" - " mov r0, #0x5a\n" - " bl m4aSongNumStop\n" - " ldr r0, ._358 + 24\n" - " ldrh r1, [r0]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._356 @cond_branch\n" - " ldr r0, ._358 + 28\n" - " bl SetMainCallback2\n" - " b ._357\n" - "._359:\n" - " .align 2, 0\n" - "._358:\n" - " .word gMain\n" - " .word gSpecialVar_Result\n" - " .word gBattleOutcome\n" - " .word 0x43d\n" - " .word gScanlineEffect\n" - " .word gPreBattleCallback1\n" - " .word gBattleTypeFlags\n" - " .word sub_805465C+1\n" - "._356:\n" - " ldr r0, [r4, #0x8]\n" - " bl SetMainCallback2\n" - "._357:\n" - " ldr r5, ._361\n" - " ldrh r1, [r5]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._360 @cond_branch\n" - " lsr r0, r1, #0x2\n" - " mov r4, #0x1\n" - " and r0, r0, r4\n" - " str r4, [sp]\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl debug_sub_8008264\n" - " ldrh r0, [r5]\n" - " lsr r0, r0, #0x2\n" - " and r0, r0, r4\n" - " str r4, [sp]\n" - " mov r1, #0x1\n" - " mov r2, #0x15\n" - " mov r3, #0x1\n" - " bl debug_sub_8008264\n" - " ldrh r0, [r5]\n" - " lsr r0, r0, #0x2\n" - " and r0, r0, r4\n" - " str r4, [sp]\n" - " mov r1, #0x1\n" - " mov r2, #0x29\n" - " mov r3, #0x1\n" - " bl debug_sub_8008264\n" - "._360:\n" - " ldr r0, ._361 + 4\n" - " bl Text_UpdateWindowInBattle\n" - " bl UpdatePaletteFade\n" - " bl RunTasks\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._362:\n" - " .align 2, 0\n" - "._361:\n" - " .word gBattleTypeFlags\n" - " .word gUnknown_03004210\n" - "\n" - ); -} -#else void BattleMainCB2(void) { AnimateSprites(); BuildOamBuffer(); + +#if DEBUG + if ((gMain.heldKeys & (R_BUTTON | SELECT_BUTTON)) == ((R_BUTTON | SELECT_BUTTON))) + { + gSpecialVar_Result = gBattleOutcome = 1; + gMain.inBattle = FALSE; + gScanlineEffect.state = 3; + gMain.callback1 = gPreBattleCallback1; + ZeroEnemyPartyMons(); + m4aSongNumStop(0x5A); + if (gBattleTypeFlags & 2) + SetMainCallback2(sub_805465C); + else + SetMainCallback2(gMain.savedCallback); + } + if (gBattleTypeFlags & 2) + { + debug_sub_8008264((gBattleTypeFlags >> 2) % 2, 1, 1, 1, 1); + debug_sub_8008264((gBattleTypeFlags >> 2) % 2, 1, 21, 1, 1); + debug_sub_8008264((gBattleTypeFlags >> 2) % 2, 1, 41, 1, 1); + } +#endif + Text_UpdateWindowInBattle(&gUnknown_03004210); UpdatePaletteFade(); RunTasks(); } -#endif void sub_800F828(struct Sprite *sprite) { @@ -3084,24 +1361,19 @@ void c2_081284E0(void) // A LOT of debug code! #if DEBUG -__attribute__((naked)) -void debug_sub_8010800() + +extern u8 gBattleBuffersTransferData[]; + +void debug_sub_8010818(void); +void debug_sub_80108B8(void); +void debug_sub_8011EA0(u8); +void debug_sub_8012294(void); + +void debug_sub_8010800(void) { - asm( - " push {lr}\n" - " bl debug_sub_8010818\n" - " bl debug_sub_80108B8\n" - " ldr r1, ._496\n" - " mov r0, #0x0\n" - " str r0, [r1]\n" - " pop {r0}\n" - " bx r0\n" - "._497:\n" - " .align 2, 0\n" - "._496:\n" - " .word gBattleBuffersTransferData+0x100\n" - "\n" - ); + debug_sub_8010818(); + debug_sub_80108B8(); + *(u32 *)(gBattleBuffersTransferData + 0x100) = 0; } __attribute__((naked)) @@ -5849,133 +4121,54 @@ void debug_sub_8011D40() ); } -__attribute__((naked)) void debug_nullsub_45() { - asm( - " bx lr\n" - "\n" - ); } -__attribute__((naked)) -void debug_sub_8011DD4() +void debug_sub_8011DD4(void) { - asm( - " push {lr}\n" - " ldr r1, ._776\n" - " ldr r2, ._776 + 4\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x8\n" - " ldr r0, ._776 + 8\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._776 + 12\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._776 + 16\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._776 + 20\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._776 + 24\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._776 + 28\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._776 + 32\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._776 + 36\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " bl LoadOam\n" - " bl ProcessSpriteCopyRequests\n" - " bl TransferPlttBuffer\n" - " bl ScanlineEffect_InitHBlankDmaTransfer\n" - " pop {r0}\n" - " bx r0\n" - "._777:\n" - " .align 2, 0\n" - "._776:\n" - " .word 0x4000008\n" - " .word 0x9803\n" - " .word gBattle_BG0_X\n" - " .word gBattle_BG0_Y\n" - " .word gBattle_BG1_X\n" - " .word gBattle_BG1_Y\n" - " .word gBattle_BG2_X\n" - " .word gBattle_BG2_Y\n" - " .word gBattle_BG3_X\n" - " .word gBattle_BG3_Y\n" - "\n" - ); + REG_BG0CNT = 0x9803; + + REG_BG0HOFS = gBattle_BG0_X; + REG_BG0VOFS = gBattle_BG0_Y; + + REG_BG1HOFS = gBattle_BG1_X; + REG_BG1VOFS = gBattle_BG1_Y; + + REG_BG2HOFS = gBattle_BG2_X; + REG_BG2VOFS = gBattle_BG2_Y; + + REG_BG3HOFS = gBattle_BG3_X; + REG_BG3VOFS = gBattle_BG3_Y; + + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + ScanlineEffect_InitHBlankDmaTransfer(); } -__attribute__((naked)) -void debug_sub_8011E5C() +void debug_sub_8011E5C(void) { - asm( - " push {r4, lr}\n" - " mov r4, #0x0\n" - "._778:\n" - " lsl r0, r4, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x1e\n" - " ble ._778 @cond_branch\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + s32 i; + + for (i = 0; i < 31; i++) + debug_sub_8011EA0(i); } -__attribute__((naked)) -void debug_sub_8011E74() +extern u8 gUnknown_Debug_030043A8; + +void debug_sub_8011E74(void) { - asm( - " push {r4, r5, lr}\n" - " ldr r0, ._780\n" - " ldrb r5, [r0]\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " add r4, r0, #0\n" - "._779:\n" - " bl debug_sub_8012294\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x3\n" - " bls ._779 @cond_branch\n" - " ldr r0, ._780\n" - " strb r5, [r0]\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._781:\n" - " .align 2, 0\n" - "._780:\n" - " .word gUnknown_Debug_030043A8\n" - "\n" - ); + u8 r5 = gUnknown_Debug_030043A8; + + for (gUnknown_Debug_030043A8 = 0; gUnknown_Debug_030043A8 < 4; gUnknown_Debug_030043A8++) + debug_sub_8012294(); + + gUnknown_Debug_030043A8 = r5; } __attribute__((naked)) -void debug_sub_8011EA0() +void debug_sub_8011EA0(u8 a) { asm( " push {r4, r5, r6, r7, lr}\n" diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index ed6929638..8f79944de 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -23,6 +23,7 @@ #include "text.h" #include "trainer_card.h" +extern u8 unk_2030220; extern u16 gSpecialVar_Result; extern struct TrainerCard gTrainerCards[4]; extern u8 gUnknown_03004860; @@ -1374,50 +1375,19 @@ void unref_sub_8083CC8(u8 taskId) #if DEBUG -__attribute__((naked)) -void debug_sub_808B82C() +void debug_sub_808B82C(void) { - asm("\ - ldr r1, ._400\n\ - mov r0, #0x0\n\ - strb r0, [r1]\n\ - bx lr\n\ -._401:\n\ - .align 2, 0\n\ -._400:\n\ - .word unk_2030220"); + unk_2030220 = 0; } -__attribute__((naked)) void debug_sub_808B838(u8 a) { - asm("\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - ldr r2, ._402\n\ - mov r1, #0x1\n\ - LSL r1, r0\n\ - ldrb r0, [r2]\n\ - orr r1, r1, r0\n\ - strb r1, [r2]\n\ - bx lr\n\ -._403:\n\ - .align 2, 0\n\ -._402:\n\ - .word unk_2030220"); + unk_2030220 |= 1 << a; } -__attribute__((naked)) -int debug_sub_808B850() +int debug_sub_808B850(void) { - asm("\ - ldr r0, ._404\n\ - ldrb r0, [r0]\n\ - bx lr\n\ -._405:\n\ - .align 2, 0\n\ -._404:\n\ - .word unk_2030220"); + return unk_2030220; } #endif \ No newline at end of file diff --git a/src/engine/link.c b/src/engine/link.c index eb0ae4731..31311d345 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1044,7 +1044,7 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) } #else __attribute__((naked)) -void debug_sub_8008264() +void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) { asm( " push {r4, r5, r6, r7, lr}\n" -- cgit v1.2.3 From d125e9b461204d0f80ae25d35a1569613ee3aa6e Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 24 Jan 2018 01:35:05 -0600 Subject: integrate debug Blender_PrintBlendingResults --- src/scene/berry_blender.c | 493 +--------------------------------------------- 1 file changed, 5 insertions(+), 488 deletions(-) (limited to 'src') diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index 0799531cd..c636e245c 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -3276,493 +3276,6 @@ static void sub_8051C04(struct Sprite* sprite) gSaveBlock1.berryBlenderRecords[gBerryBlenderData->playersNo - 2] = gBerryBlenderData->max_RPM; } -#if DEBUG -__attribute__((naked)) -bool8 Blender_PrintBlendingResults(void) -{ - asm(".syntax unified\n\ -loc_8056178:\n\ - PUSH {R4-R7,LR}\n\ - MOV R7, R10\n\ - MOV R6, R9\n\ - MOV R5, R8\n\ - PUSH {R5-R7}\n\ - SUB SP, SP, #0x34\n\ - LDR R1, off_805619C\n\ - LDR R0, [R1]\n\ - LDRB R0, [R0]\n\ - ADDS R2, R1, #0\n\ - CMP R0, #6 @ switch 7 cases\n\ - BLS loc_8056192\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056192:\n\ - LSLS R0, R0, #2\n\ - LDR R1, off_80561A0\n\ - ADDS R0, R0, R1\n\ - LDR R0, [R0]\n\ - MOV PC, R0 @ switch jump\n\ -@ ---------------------------------------------------------------------------\n\ -off_805619C: .4byte gBerryBlenderData\n\ -off_80561A0: .4byte jpt_805619A\n\ -jpt_805619A: .4byte loc_80561C0 @ jump table for switch statement\n\ - .4byte loc_80561D6 @ jumptable 0805619A case 1\n\ - .4byte loc_80561F0 @ jumptable 0805619A case 2\n\ - .4byte loc_8056240 @ jumptable 0805619A case 3\n\ - .4byte loc_805645C @ jumptable 0805619A case 4\n\ - .4byte loc_8056470 @ jumptable 0805619A case 5\n\ - .4byte loc_8056538 @ jumptable 0805619A case 6\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561C0: @ jumptable 0805619A case 0\n\ - LDR R1, [R2]\n\ - LDRB R0, [R1]\n\ - ADDS R0, #1\n\ - STRB R0, [R1]\n\ - LDR R0, [R2]\n\ - MOVS R1, #0x98\n\ - LSLS R1, R1, #1\n\ - ADDS R0, R0, R1\n\ - MOVS R1, #0x11\n\ - STR R1, [R0]\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561D6: @ jumptable 0805619A case 1\n\ - LDR R1, [R2]\n\ - MOVS R0, #0x98\n\ - LSLS R0, R0, #1\n\ - ADDS R2, R1, R0\n\ - LDR R0, [R2]\n\ - SUBS R0, #0xA\n\ - STR R0, [R2]\n\ - CMP R0, #0\n\ - BLT loc_80561EA\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561EA:\n\ - MOVS R0, #0\n\ - STR R0, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_80561F0: @ jumptable 0805619A case 2\n\ - LDR R1, [R2]\n\ - MOVS R2, #0x98\n\ - LSLS R2, R2, #1\n\ - ADDS R1, R1, R2\n\ - LDR R0, [R1]\n\ - ADDS R0, #1\n\ - STR R0, [R1]\n\ - CMP R0, #0x14\n\ - BGT loc_8056204\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056204:\n\ - MOVS R6, #0\n\ -\n\ -loc_8056206:\n\ - LDR R4, off_8056238\n\ - LDR R0, [R4]\n\ - ADDS R0, #0x50\n\ - ADDS R0, R0, R6\n\ - LDRB R1, [R0]\n\ - LSLS R0, R1, #4\n\ - ADDS R0, R0, R1\n\ - LSLS R0, R0, #2\n\ - LDR R1, off_805623C\n\ - ADDS R0, R0, R1\n\ - BL DestroySprite\n\ - ADDS R0, R6, #1\n\ - LSLS R0, R0, #0x10\n\ - LSRS R6, R0, #0x10\n\ - CMP R6, #2\n\ - BLS loc_8056206\n\ - LDR R1, [R4]\n\ - MOVS R0, #0x98\n\ - LSLS R0, R0, #1\n\ - ADDS R2, R1, R0\n\ - MOVS R0, #0\n\ - STR R0, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ - .align 2, 0\n\ -off_8056238: .4byte gBerryBlenderData\n\ -off_805623C: .4byte gSprites\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056240: @ jumptable 0805619A case 3\n\ - MOVS R0, #4\n\ - MOVS R1, #2\n\ - MOVS R2, #0x19\n\ - MOVS R3, #0x11\n\ - BL Menu_DrawStdWindowFrame\n\ - LDR R0, dword_805642C\n\ - MOVS R1, #5\n\ - MOVS R2, #3\n\ - MOVS R3, #0xA0\n\ - BL sub_8072BD8\n\ - MOVS R6, #0\n\ - LDR R1, off_8056430\n\ - LDR R0, [R1]\n\ - ADDS R0, #0x88\n\ - ADD R2, SP, #0xC\n\ - MOV R8, R2\n\ - MOV R2, SP\n\ - ADDS R2, #0x16\n\ - STR R2, [SP,#0x30]\n\ - LDRB R0, [R0]\n\ - CMP R6, R0\n\ - BCS loc_8056322\n\ - MOV R9, R1\n\ - LDR R0, off_8056434\n\ - MOV R10, R0\n\ -\n\ -loc_8056276:\n\ - MOV R1, R9\n\ - LDR R2, [R1]\n\ - MOVS R1, #0xB2\n\ - LSLS R1, R1, #1\n\ - ADDS R0, R2, R1\n\ - ADDS R0, R0, R6\n\ - LDRB R4, [R0]\n\ - LSLS R1, R4, #4\n\ - ADDS R1, R1, R2\n\ - MOVS R2, #0xBF\n\ - LSLS R2, R2, #1\n\ - ADDS R1, R1, R2\n\ - MOV R0, R8\n\ - BL StringCopy\n\ - LSLS R5, R4, #3\n\ - SUBS R5, R5, R4\n\ - LSLS R5, R5, #2\n\ - MOV R1, R10\n\ - ADDS R0, R5, R1\n\ - LDRB R1, [R0,#0x1A]\n\ - MOV R0, R8\n\ - BL ConvertInternationalString\n\ - MOV R0, R8\n\ - LDR R1, dword_8056438\n\ - BL de_sub_8073174\n\ - MOV R2, R9\n\ - LDR R0, [R2]\n\ - ADDS R7, R0, #0\n\ - ADDS R7, #0xAB\n\ - ADDS R4, R6, #1\n\ - ADDS R0, R7, #0\n\ - ADDS R1, R4, #0\n\ - BL ConvertIntToDecimalString\n\ - ADDS R7, R0, #0\n\ - MOVS R1, #0\n\ - STRB R1, [R7]\n\ - MOVS R0, #0xAD\n\ - STRB R0, [R7,#1]\n\ - STRB R1, [R7,#2]\n\ - ADDS R7, #3\n\ - LDR R0, off_805643C\n\ - ADDS R5, R5, R0\n\ - ADDS R0, R7, #0\n\ - ADDS R1, R5, #0\n\ - MOVS R2, #0x58\n\ - MOVS R3, #0\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - ADD R1, SP, #0xC\n\ - MOVS R2, #0x9D\n\ - MOVS R3, #0\n\ - BL sub_8072C74\n\ - MOV R2, R9\n\ - LDR R1, [R2]\n\ - ADDS R0, R1, #0\n\ - ADDS R0, #0xAB\n\ - LDR R3, dword_8056440\n\ - ADDS R1, #0x88\n\ - LDRB R2, [R1]\n\ - ADDS R3, R2, R3\n\ - LDR R1, dword_8056444\n\ - ADDS R2, R2, R1\n\ - LDRB R1, [R2]\n\ - ADDS R2, R6, #0\n\ - MULS R2, R1\n\ - LDRB R3, [R3]\n\ - ADDS R2, R2, R3\n\ - LSLS R2, R2, #0x18\n\ - LSRS R2, R2, #0x18\n\ - MOVS R1, #5\n\ - BL Menu_PrintText\n\ - LSLS R4, R4, #0x10\n\ - LSRS R6, R4, #0x10\n\ - MOV R1, R9\n\ - LDR R0, [R1]\n\ - ADDS R0, #0x88\n\ - LDRB R0, [R0]\n\ - CMP R6, R0\n\ - BCC loc_8056276\n\ -\n\ -loc_8056322:\n\ - LDR R6, off_8056430\n\ - LDR R0, [R6]\n\ - ADDS R0, #0x5A\n\ - LDRH R0, [R0]\n\ - MOVS R1, #0x64\n\ - BL __umodsi3\n\ - ADDS R1, R0, #0\n\ - LSLS R1, R1, #0x10\n\ - LSRS R1, R1, #0x10\n\ - MOV R0, R8\n\ - MOVS R2, #2\n\ - MOVS R3, #2\n\ - BL ConvertIntToDecimalStringN\n\ - LDR R0, [R6]\n\ - ADDS R7, R0, #0\n\ - ADDS R7, #0xAB\n\ - LDR R1, dword_8056448\n\ - ADDS R0, R7, #0\n\ - BL StringCopy\n\ - ADDS R7, R0, #0\n\ - LDR R0, [R6]\n\ - ADDS R0, #0x5A\n\ - LDRH R0, [R0]\n\ - MOVS R1, #0x64\n\ - BL __udivsi3\n\ - ADDS R1, R0, #0\n\ - LSLS R1, R1, #0x10\n\ - LSRS R1, R1, #0x10\n\ - ADDS R0, R7, #0\n\ - MOVS R2, #0x79\n\ - MOVS R3, #1\n\ - BL sub_8072C14\n\ - ADDS R7, R0, #0\n\ - MOVS R0, #0xB8\n\ - STRB R0, [R7]\n\ - ADDS R7, #1\n\ - ADDS R0, R7, #0\n\ - MOV R1, R8\n\ - MOVS R2, #0x88\n\ - MOVS R3, #1\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - LDR R1, off_805644C\n\ - BL StringCopy\n\ - LDR R0, [R6]\n\ - ADDS R0, #0xAB\n\ - MOVS R1, #5\n\ - MOVS R2, #0xD\n\ - BL Menu_PrintText\n\ - LDR R0, [R6]\n\ - MOVS R2, #0x96\n\ - LSLS R2, R2, #1\n\ - ADDS R0, R0, R2\n\ - LDR R0, [R0]\n\ - MOVS R1, #0x3C\n\ - BL __udivsi3\n\ - ADDS R4, R0, #0\n\ - LSLS R4, R4, #0x10\n\ - LSRS R4, R4, #0x10\n\ - ADDS R0, R4, #0\n\ - MOVS R1, #0x3C\n\ - BL __umodsi3\n\ - ADDS R5, R0, #0\n\ - LSLS R5, R5, #0x10\n\ - LSRS R5, R5, #0x10\n\ - ADDS R0, R4, #0\n\ - MOVS R1, #0x3C\n\ - BL __udivsi3\n\ - ADDS R1, R0, #0\n\ - LSLS R1, R1, #0x10\n\ - LSRS R1, R1, #0x10\n\ - MOV R0, R8\n\ - MOVS R2, #2\n\ - MOVS R3, #2\n\ - BL ConvertIntToDecimalStringN\n\ - LDR R0, [SP,#0x30]\n\ - ADDS R1, R5, #0\n\ - MOVS R2, #2\n\ - MOVS R3, #2\n\ - BL ConvertIntToDecimalStringN\n\ - LDR R0, [R6]\n\ - ADDS R7, R0, #0\n\ - ADDS R7, #0xAB\n\ - LDR R1, dword_8056450\n\ - ADDS R0, R7, #0\n\ - BL StringCopy\n\ - ADDS R7, R0, #0\n\ - MOV R1, R8\n\ - MOVS R2, #0x63\n\ - MOVS R3, #1\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - LDR R1, dword_8056454\n\ - BL StringAppend\n\ - ADDS R7, R0, #0\n\ - LDR R1, [SP,#0x30]\n\ - MOVS R2, #0x88\n\ - MOVS R3, #1\n\ - BL sub_8072C74\n\ - ADDS R7, R0, #0\n\ - LDR R1, dword_8056458\n\ - BL StringCopy\n\ - LDR R0, [R6]\n\ - ADDS R0, #0xAB\n\ - MOVS R1, #5\n\ - MOVS R2, #0xF\n\ - BL Menu_PrintText\n\ - LDR R1, [R6]\n\ - MOVS R0, #0x98\n\ - LSLS R0, R0, #1\n\ - ADDS R2, R1, R0\n\ - MOVS R0, #0\n\ - STR R0, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ -dword_805642C: .4byte gOtherText_ResultsOfBlending\n\ -off_8056430: .4byte gBerryBlenderData\n\ -off_8056434: .4byte gLinkPlayers\n\ -dword_8056438: .4byte gOtherText_Berry\n\ -off_805643C: .4byte gLinkPlayers+0x8\n\ -dword_8056440: .4byte gUnknown_082165E9\n\ -dword_8056444: .4byte gUnknown_082165EE\n\ -dword_8056448: .4byte gOtherText_MaxSpeed\n\ -off_805644C: .4byte gOtherText_RPM\n\ -dword_8056450: .4byte gOtherText_RequiredTime\n\ -dword_8056454: .4byte gOtherText_Min\n\ -dword_8056458: .4byte gOtherText_Sec\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_805645C: @ jumptable 0805619A case 4\n\ - LDR R0, off_805646C\n\ - LDRH R1, [R0,#0x2E]\n\ - MOVS R0, #1\n\ - ANDS R0, R1\n\ - CMP R0, #0\n\ - BEQ def_805619A @ jumptable 0805619A default case\n\ - LDR R1, [R2]\n\ - B loc_8056520\n\ -@ ---------------------------------------------------------------------------\n\ -off_805646C: .4byte gMain\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056470: @ jumptable 0805619A case 5\n\ - BL Menu_EraseScreen\n\ - MOVS R0, #0\n\ - MOVS R1, #0xE\n\ - MOVS R2, #0x1D\n\ - MOVS R3, #0x13\n\ - BL Menu_DrawStdWindowFrame\n\ - MOVS R6, #0\n\ - ADD R1, SP, #0xC\n\ - MOV R8, R1\n\ - ADD R5, SP, #0x28\n\ - LDR R0, off_8056528\n\ - LDR R0, [R0]\n\ - ADDS R3, R0, #0\n\ - ADDS R3, #0x80\n\ - ADD R2, SP, #0x20\n\ -\n\ -loc_8056492:\n\ - LSLS R1, R6, #1\n\ - ADDS R0, R3, R1\n\ - LDRH R0, [R0]\n\ - CMP R0, #0\n\ - BEQ loc_80564A2\n\ - ADDS R1, R2, R1\n\ - SUBS R0, #0x85\n\ - STRH R0, [R1]\n\ -\n\ -loc_80564A2:\n\ - ADDS R0, R6, #1\n\ - LSLS R0, R0, #0x10\n\ - LSRS R6, R0, #0x10\n\ - CMP R6, #3\n\ - BLS loc_8056492\n\ - BL sub_8050760\n\ - LDR R4, off_8056528\n\ - LDR R3, [R4]\n\ - MOVS R2, #0xBE\n\ - LSLS R2, R2, #1\n\ - ADDS R0, R3, R2\n\ - ADDS R1, R3, #0\n\ - ADDS R1, #0x88\n\ - LDRB R2, [R1]\n\ - SUBS R1, #0x2E\n\ - LDRH R1, [R1]\n\ - STR R1, [SP]\n\ - ADDS R1, R5, #0\n\ - ADD R3, SP, #4\n\ - BL Blender_CalculatePokeblock\n\ - LDR R1, [R4]\n\ - ADDS R1, #0xAB\n\ - ADDS R0, R5, #0\n\ - BL Blender_PrintMadePokeblockString\n\ - LDR R0, off_805652C\n\ - MOVS R1, #6\n\ - BL CreateTask\n\ - BL sub_8007E40\n\ - ADDS R1, R0, #0\n\ - MOV R0, R8\n\ - MOVS R2, #0\n\ - MOVS R3, #4\n\ - BL ConvertIntToHexStringN\n\ - LDR R1, dword_8056530\n\ - MOV R0, R8\n\ - BL StringAppend\n\ - LDR R0, [R4]\n\ - ADDS R0, #0xAB\n\ - MOV R1, R8\n\ - BL StringAppend\n\ - LDR R0, [R4]\n\ - ADDS R0, #0xAB\n\ - MOVS R1, #1\n\ - MOVS R2, #0xF\n\ - BL MenuPrintMessage\n\ - LDR R0, off_8056534\n\ - LDRH R0, [R0]\n\ - MOVS R1, #1\n\ - BL RemoveBagItem\n\ - ADDS R0, R5, #0\n\ - BL sub_810CA34\n\ - LDR R1, [R4]\n\ -\n\ -loc_8056520:\n\ - LDRB R0, [R1]\n\ - ADDS R0, #1\n\ - STRB R0, [R1]\n\ - B def_805619A @ jumptable 0805619A default case\n\ -@ ---------------------------------------------------------------------------\n\ -off_8056528: .4byte gBerryBlenderData\n\ -off_805652C: .4byte sub_8052BD0+1\n\ -dword_8056530: .4byte gUnknown_08216249\n\ -off_8056534: .4byte gSpecialVar_ItemId\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -loc_8056538: @ jumptable 0805619A case 6\n\ - BL Menu_UpdateWindowText\n\ - LSLS R0, R0, #0x18\n\ - CMP R0, #0\n\ - BEQ def_805619A @ jumptable 0805619A default case\n\ - BL Blender_TrySettingRecord\n\ - MOVS R0, #1\n\ - B loc_805654C\n\ -@ ---------------------------------------------------------------------------\n\ -\n\ -def_805619A: @ jumptable 0805619A default case\n\ - MOVS R0, #0\n\ -\n\ -loc_805654C:\n\ - ADD SP, SP, #0x34\n\ - POP {R3-R5}\n\ - MOV R8, R3\n\ - MOV R9, R4\n\ - MOV R10, R5\n\ - POP {R4-R7}\n\ - POP {R1}\n\ - BX R1\n\ - .syntax divided\n"); -} -#else bool8 Blender_PrintBlendingResults(void) { u16 i; @@ -3882,6 +3395,11 @@ bool8 Blender_PrintBlendingResults(void) Blender_CalculatePokeblock(gBerryBlenderData->blendedBerries, &pokeblock, gBerryBlenderData->playersNo, flavours, gBerryBlenderData->max_RPM); Blender_PrintMadePokeblockString(&pokeblock, gBerryBlenderData->stringVar); CreateTask(sub_8052BD0, 6); +#if DEBUG + ConvertIntToHexStringN(text[0], sub_8007E40(), 0, 4); + StringAppend(text[0], gUnknown_08216249); + StringAppend(gBerryBlenderData->stringVar, text[0]); +#endif MenuPrintMessage(gBerryBlenderData->stringVar, 1, 15); RemoveBagItem(gSpecialVar_ItemId, 1); sub_810CA34(&pokeblock); @@ -3897,7 +3415,6 @@ bool8 Blender_PrintBlendingResults(void) } return FALSE; } -#endif /*static*/ void Blender_PrintMadePokeblockString(struct Pokeblock* pokeblock, u8* dst) { -- cgit v1.2.3 From 641d2749b67b6c7cad2054f5c52c990f0dad0121 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 24 Jan 2018 15:32:04 -0600 Subject: decompile debug_sub_8010818 and debug_sub_80108B8 --- src/battle/battle_2.c | 429 ++++++++++++++++---------------------------------- 1 file changed, 137 insertions(+), 292 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 64b64ecea..f9756db29 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1,5 +1,11 @@ #include "global.h" #include "constants/abilities.h" +#include "constants/battle_move_effects.h" +#include "constants/hold_effects.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/songs.h" +#include "constants/species.h" #include "battle.h" #include "battle_ai.h" #include "battle_interface.h" @@ -7,6 +13,7 @@ #include "battle_setup.h" #include "battle_util.h" #include "data2.h" +#include "decompress.h" #include "event_data.h" #include "evolution_scene.h" #include "item.h" @@ -25,9 +32,7 @@ #include "rom3.h" #include "rom_8077ABC.h" #include "rom_8094928.h" -#include "constants/songs.h" #include "sound.h" -#include "constants/species.h" #include "sprite.h" #include "string_util.h" #include "task.h" @@ -37,10 +42,6 @@ #include "tv.h" #include "scanline_effect.h" #include "util.h" -#include "constants/battle_move_effects.h" -#include "constants/items.h" -#include "constants/hold_effects.h" -#include "constants/moves.h" #include "ewram.h" struct UnknownStruct7 @@ -1362,12 +1363,55 @@ void c2_081284E0(void) // A LOT of debug code! #if DEBUG -extern u8 gBattleBuffersTransferData[]; - void debug_sub_8010818(void); void debug_sub_80108B8(void); +void debug_sub_8010CAC(void); +void debug_sub_801174C(void); +void debug_sub_8011D40(void); void debug_sub_8011EA0(u8); void debug_sub_8012294(void); +void debug_sub_80123D8(u8); +void debug_sub_8012540(void); +void debug_sub_80125A0(void); +void debug_nullsub_3(void); + +struct UnknownStruct2023A76 +{ + u16 unk0; + u16 unk2[(0x44-2)/2]; + s16 unk44; + u16 unk46; + u16 unk48[1]; +}; + +struct UnknownStruct2023B02 +{ + u16 unk0[4][4]; + u8 filler20[0x10]; + u16 unk30[4][4]; +}; + +struct UnknownStruct821F424 +{ + u8 filler0[0x12]; + u16 unk12[1][5]; // unknown length +}; + +extern struct UnknownStruct2023A76 gUnknown_Debug_2023A76; +extern struct UnknownStruct2023B02 gUnknown_Debug_2023B02; +extern u8 gUnknown_Debug_03004360; +extern struct Window gUnknown_Debug_03004370; +extern u8 gUnknown_Debug_030043A0; +extern u8 gUnknown_Debug_030043A4; +extern u8 gUnknown_Debug_030043A8; +extern u8 gBattleBuffersTransferData[]; + +extern const struct UnknownStruct821F424 gUnknown_Debug_821F424; +extern const u16 gUnknown_Debug_821F56C[][5]; + +extern const u8 gUnusedOldCharmap_Gfx_lz[]; +extern const u8 gUnusedOldCharmap_Tilemap_lz[]; +extern const u8 gUnusedOldCharmap_Pal_lz[]; void debug_sub_8010800(void) { @@ -1376,283 +1420,84 @@ void debug_sub_8010800(void) *(u32 *)(gBattleBuffersTransferData + 0x100) = 0; } -__attribute__((naked)) -void debug_sub_8010818() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " ldr r1, ._501\n" - " ldr r0, ._501 + 4\n" - " strh r0, [r1]\n" - " add r2, r1, #0\n" - " add r2, r2, #0x46\n" - " strh r0, [r2]\n" - " ldr r0, ._501 + 8\n" - " add r4, r1, #0\n" - " add r4, r4, #0x48\n" - " add r3, r0, #0\n" - " add r3, r3, #0x12\n" - " add r2, r1, #2\n" - " mov r1, #0x1d\n" - "._498:\n" - " ldrh r0, [r3]\n" - " strh r0, [r2]\n" - " strh r0, [r4]\n" - " add r4, r4, #0x2\n" - " add r3, r3, #0xa\n" - " add r2, r2, #0x2\n" - " sub r1, r1, #0x1\n" - " cmp r1, #0\n" - " bge ._498 @cond_branch\n" - " mov r1, #0x0\n" - " ldr r4, ._501 + 12\n" - " ldr r7, ._501 + 16\n" - " ldr r6, ._501 + 20\n" - " mov r0, #0x30\n" - " add r0, r0, r7\n" - " mov ip, r0\n" - "._500:\n" - " mov r0, #0x0\n" - " strb r0, [r4]\n" - " add r5, r1, #1\n" - " lsl r3, r1, #0x3\n" - "._499:\n" - " ldrb r2, [r4]\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r3\n" - " add r1, r1, r7\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r6\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " ldrb r2, [r4]\n" - " lsl r1, r2, #0x1\n" - " add r1, r1, r3\n" - " add r1, r1, ip\n" - " lsl r0, r2, #0x2\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r6\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x3\n" - " bls ._499 @cond_branch\n" - " add r1, r5, #0\n" - " cmp r1, #0x5\n" - " ble ._500 @cond_branch\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._502:\n" - " .align 2, 0\n" - "._501:\n" - " .word gUnknown_Debug_2023A76\n" - " .word 0x115\n" - " .word gUnknown_Debug_821F424\n" - " .word gUnknown_Debug_030043A8\n" - " .word gUnknown_Debug_2023B02\n" - " .word gUnknown_Debug_821F56C\n" - "\n" - ); -} -__attribute__((naked)) -void debug_sub_80108B8() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " bl m4aSoundVSyncOff\n" - " mov r0, #0x0\n" - " bl SetHBlankCallback\n" - " mov r0, #0x0\n" - " bl SetVBlankCallback\n" - " mov r3, #0x0\n" - " str r3, [sp]\n" - " ldr r2, ._507\n" - " mov r0, sp\n" - " str r0, [r2]\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x13\n" - " str r1, [r2, #0x4]\n" - " ldr r0, ._507 + 4\n" - " str r0, [r2, #0x8]\n" - " ldr r0, [r2, #0x8]\n" - " ldr r2, ._507 + 8\n" - " mov r0, #0x1\n" - " strh r0, [r2]\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x13\n" - " mov r4, #0x9a\n" - " lsl r4, r4, #0x5\n" - " add r0, r4, #0\n" - " strh r0, [r2]\n" - " ldr r0, ._507 + 12\n" - " mov r5, #0x0\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 16\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 20\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 24\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 28\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 32\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 36\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 40\n" - " strh r3, [r0]\n" - " add r2, r2, #0x8\n" - " ldr r4, ._507 + 44\n" - " add r0, r4, #0\n" - " strh r0, [r2]\n" - " add r2, r2, #0x2\n" - " ldr r4, ._507 + 48\n" - " add r0, r4, #0\n" - " strh r0, [r2]\n" - " ldr r0, ._507 + 52\n" - " strh r3, [r0]\n" - " add r0, r0, #0x4\n" - " strh r3, [r0]\n" - " ldr r0, ._507 + 56\n" - " bl LZDecompressVram\n" - " ldr r0, ._507 + 60\n" - " ldr r1, ._507 + 64\n" - " bl LZDecompressWram\n" - " ldr r4, ._507 + 68\n" - " mov r1, #0xa0\n" - " lsl r1, r1, #0x13\n" - " add r0, r4, #0\n" - " bl LZDecompressVram\n" - " ldr r1, ._507 + 72\n" - " add r0, r4, #0\n" - " bl LZDecompressVram\n" - " bl m4aSoundVSyncOn\n" - " ldr r0, ._507 + 76\n" - " bl SetVBlankCallback\n" - " ldr r0, ._507 + 80\n" - " bl SetMainCallback2\n" - " bl ResetTasks\n" - " bl ResetSpriteData\n" - " bl ScanlineEffect_Stop\n" - " ldr r4, ._507 + 84\n" - " add r0, r4, #0\n" - " bl Text_LoadWindowTemplate\n" - " ldr r0, ._507 + 88\n" - " add r1, r4, #0\n" - " bl Text_InitWindowWithTemplate\n" - " ldr r0, ._507 + 92\n" - " strb r5, [r0]\n" - " ldr r0, ._507 + 96\n" - " strb r5, [r0]\n" - " ldr r0, ._507 + 100\n" - " strb r5, [r0]\n" - " mov r4, #0x0\n" - "._503:\n" - " lsl r0, r4, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x1e\n" - " ble ._503 @cond_branch\n" - " ldr r1, ._507 + 104\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " add r4, r1, #0\n" - "._504:\n" - " bl debug_sub_8012294\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x3\n" - " bls ._504 @cond_branch\n" - " ldr r0, ._507 + 100\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - " bl debug_sub_8012540\n" - " bl debug_nullsub_3\n" - " ldr r1, ._507 + 104\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " bl debug_sub_80125A0\n" - " ldr r0, ._507 + 108\n" - " add r0, r0, #0x44\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x8\n" - " bne ._505 @cond_branch\n" - " bl debug_sub_801174C\n" - " b ._506\n" - "._508:\n" - " .align 2, 0\n" - "._507:\n" - " .word 0x40000d4\n" - " .word 0x85006000\n" - " .word 0x4000200\n" - " .word gBattle_BG0_X\n" - " .word gBattle_BG0_Y\n" - " .word gBattle_BG1_X\n" - " .word gBattle_BG1_Y\n" - " .word gBattle_BG2_X\n" - " .word gBattle_BG2_Y\n" - " .word gBattle_BG3_X\n" - " .word gBattle_BG3_Y\n" - " .word 0x1f09\n" - " .word 0x4801\n" - " .word 0x4000050\n" - " .word gMonShinyPalette_CircledQuestionMark+0x18\n" - " .word gMonShinyPalette_CircledQuestionMark+0x834\n" - " .word gSharedMem\n" - " .word gMonShinyPalette_CircledQuestionMark+0xa8c\n" - " .word 0x50001e0\n" - " .word debug_sub_8011D40+1\n" - " .word debug_sub_8010CAC+1\n" - " .word gWindowTemplate_81E6C3C\n" - " .word gUnknown_Debug_03004370\n" - " .word gUnknown_Debug_03004360\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - " .word gUnknown_Debug_030043A8\n" - " .word gUnknown_Debug_2023A76\n" - "._505:\n" - " ldr r0, ._510\n" - " mov r1, #0x0\n" - " mov r4, #0x7\n" - " ldr r2, ._510 + 4\n" - " add r0, r0, r2\n" - "._509:\n" - " strb r1, [r0]\n" - " sub r0, r0, #0x1\n" - " sub r4, r4, #0x1\n" - " cmp r4, #0\n" - " bge ._509 @cond_branch\n" - "._506:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._511:\n" - " .align 2, 0\n" - "._510:\n" - " .word gSharedMem\n" - " .word 0x160bb\n" - "\n" - ); +void debug_sub_8010818(void) +{ + s32 i; + + gUnknown_Debug_2023A76.unk0 = 0x115; + gUnknown_Debug_2023A76.unk46 = 0x115; + for (i = 0; i < 30; i++) + { + gUnknown_Debug_2023A76.unk2[i] = gUnknown_Debug_821F424.unk12[i][0]; + gUnknown_Debug_2023A76.unk48[i] = gUnknown_Debug_821F424.unk12[i][0]; + } + + for (i = 0; i < 6; i++) + { + for (gUnknown_Debug_030043A8 = 0; gUnknown_Debug_030043A8 < 4; gUnknown_Debug_030043A8++) + { + gUnknown_Debug_2023B02.unk0[i][gUnknown_Debug_030043A8] = gUnknown_Debug_821F56C[gUnknown_Debug_030043A8][0]; + gUnknown_Debug_2023B02.unk30[i][gUnknown_Debug_030043A8] = gUnknown_Debug_821F56C[gUnknown_Debug_030043A8][0]; + } + } +} + +void debug_sub_80108B8(void) +{ + s32 i; + + m4aSoundVSyncOff(); + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + DmaFill32(3, 0, (void *)VRAM, VRAM_SIZE); + REG_IE = 1; + REG_DISPCNT = 0x1340; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + REG_BG0CNT = 0x1F09; + REG_BG1CNT = 0x4801; + REG_BLDCNT = 0; + REG_BLDY = 0; + LZDecompressVram(gUnusedOldCharmap_Gfx_lz, (void *)VRAM); + LZDecompressWram(gUnusedOldCharmap_Tilemap_lz, gSharedMem); + LZDecompressVram(gUnusedOldCharmap_Pal_lz, (void *)PLTT); + LZDecompressVram(gUnusedOldCharmap_Pal_lz, (void *)(PLTT + 0x1E0)); + m4aSoundVSyncOn(); + SetVBlankCallback(debug_sub_8011D40); + SetMainCallback2(debug_sub_8010CAC); + ResetTasks(); + ResetSpriteData(); + ScanlineEffect_Stop(); + Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); + Text_InitWindowWithTemplate(&gUnknown_Debug_03004370, &gWindowTemplate_81E6C3C); + gUnknown_Debug_03004360 = 0; + gUnknown_Debug_030043A0 = 0; + gUnknown_Debug_030043A4 = 0; + for (i = 0; i < 31; i++) + debug_sub_8011EA0(i); + for (gUnknown_Debug_030043A8 = 0; gUnknown_Debug_030043A8 < 4; gUnknown_Debug_030043A8++) + debug_sub_8012294(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + debug_sub_8012540(); + debug_nullsub_3(); + gUnknown_Debug_030043A8 = 0; + debug_sub_80125A0(); + if (gUnknown_Debug_2023A76.unk44 == 8) + { + debug_sub_801174C(); + } + else + { + for (i = 0; i < 8; i++) + gSharedMem[0x160B4 + i] = 0; + } } __attribute__((naked)) @@ -4128,19 +3973,19 @@ void debug_nullsub_45() void debug_sub_8011DD4(void) { REG_BG0CNT = 0x9803; - + REG_BG0HOFS = gBattle_BG0_X; REG_BG0VOFS = gBattle_BG0_Y; - + REG_BG1HOFS = gBattle_BG1_X; REG_BG1VOFS = gBattle_BG1_Y; - + REG_BG2HOFS = gBattle_BG2_X; REG_BG2VOFS = gBattle_BG2_Y; - + REG_BG3HOFS = gBattle_BG3_X; REG_BG3VOFS = gBattle_BG3_Y; - + LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); @@ -4150,7 +3995,7 @@ void debug_sub_8011DD4(void) void debug_sub_8011E5C(void) { s32 i; - + for (i = 0; i < 31; i++) debug_sub_8011EA0(i); } @@ -4160,7 +4005,7 @@ extern u8 gUnknown_Debug_030043A8; void debug_sub_8011E74(void) { u8 r5 = gUnknown_Debug_030043A8; - + for (gUnknown_Debug_030043A8 = 0; gUnknown_Debug_030043A8 < 4; gUnknown_Debug_030043A8++) debug_sub_8012294(); @@ -4777,7 +4622,7 @@ void debug_sub_8012294() } __attribute__((naked)) -void debug_sub_80123D8() +void debug_sub_80123D8(u8 a) { asm( " push {r4, r5, r6, r7, lr}\n" -- cgit v1.2.3 From c7cd31f56ced799f6bb75ef8357b6d623a0b0de8 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 24 Jan 2018 18:17:43 -0600 Subject: integrate debug AbilityBattleEffects --- src/battle/battle_util.c | 4357 ++-------------------------------------------- 1 file changed, 179 insertions(+), 4178 deletions(-) (limited to 'src') diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index 620e0690a..faa395a97 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -22,6 +22,8 @@ #include "constants/species.h" #include "constants/weather.h" +extern u8 gUnknown_02023A14_50; + extern const u8* gBattlescriptCurrInstr; extern u8 gActiveBank; extern u8 gBattleBufferB[4][0x200]; @@ -1683,4066 +1685,6 @@ u8 CastformDataTypeChange(u8 bank) return formChange; } -#if DEBUG -__attribute__((naked)) -u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) -{ - asm("\ - push {r4, r5, r6, r7, lr}\n\ - mov r7, sl\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5, r6, r7}\n\ - add sp, sp, #0xffffffd8\n\ - ldr r4, [sp, #0x48]\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - str r0, [sp, #0x4]\n\ - lsl r1, r1, #0x18\n\ - lsr r1, r1, #0x18\n\ - mov sl, r1\n\ - lsl r2, r2, #0x18\n\ - lsr r6, r2, #0x18\n\ - lsl r3, r3, #0x18\n\ - lsr r3, r3, #0x18\n\ - mov r8, r3\n\ - lsl r4, r4, #0x10\n\ - lsr r4, r4, #0x10\n\ - mov r0, #0x0\n\ - mov r9, r0\n\ - ldr r5, ._718\n\ - ldr r1, ._718 + 4\n\ - ldrb r0, [r5]\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - bcc ._715 @cond_branch\n\ - mov r1, sl\n\ - strb r1, [r5]\n\ -._715:\n\ - ldrb r0, [r5]\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._716 @cond_branch\n\ - ldr r1, ._718 + 8\n\ - ldrb r0, [r5]\n\ - lsl r0, r0, #0x1\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - mov r0, #0x64\n\ - mul r1, r1, r0\n\ - ldr r0, ._718 + 12\n\ - b ._717\n\ -._719:\n\ - .align 2, 0\n\ -._718:\n\ - .word gBankAttacker\n\ - .word gNoOfAllBanks\n\ - .word gBattlePartyID\n\ - .word gPlayerParty\n\ -._716:\n\ - ldr r1, ._723\n\ - ldrb r0, [r5]\n\ - lsl r0, r0, #0x1\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - mov r0, #0x64\n\ - mul r1, r1, r0\n\ - ldr r0, ._723 + 4\n\ -._717:\n\ - add r7, r1, r0\n\ - ldr r5, ._723 + 8\n\ - ldr r1, ._723 + 12\n\ - ldrb r0, [r5]\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - bcc ._720 @cond_branch\n\ - mov r2, sl\n\ - strb r2, [r5]\n\ -._720:\n\ - ldrb r0, [r5]\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._721 @cond_branch\n\ - ldr r1, ._723\n\ - ldrb r0, [r5]\n\ - lsl r0, r0, #0x1\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - mov r0, #0x64\n\ - mul r1, r1, r0\n\ - ldr r0, ._723 + 16\n\ - b ._722\n\ -._724:\n\ - .align 2, 0\n\ -._723:\n\ - .word gBattlePartyID\n\ - .word gEnemyParty\n\ - .word gBankTarget\n\ - .word gNoOfAllBanks\n\ - .word gPlayerParty\n\ -._721:\n\ - ldr r1, ._729\n\ - ldrb r0, [r5]\n\ - lsl r0, r0, #0x1\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - mov r0, #0x64\n\ - mul r1, r1, r0\n\ - ldr r0, ._729 + 4\n\ -._722:\n\ - add r5, r1, r0\n\ - add r0, r7, #0\n\ - mov r1, #0xb\n\ - bl GetMonData\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - str r0, [sp, #0x8]\n\ - add r0, r7, #0\n\ - mov r1, #0x0\n\ - bl GetMonData\n\ - str r0, [sp, #0x10]\n\ - add r0, r5, #0\n\ - mov r1, #0xb\n\ - bl GetMonData\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - str r0, [sp, #0xc]\n\ - add r0, r5, #0\n\ - mov r1, #0x0\n\ - bl GetMonData\n\ - str r0, [sp, #0x14]\n\ - ldr r0, ._729 + 8\n\ - ldrh r1, [r0]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._725 @cond_branch\n\ - bl ._1540\n\ -._725:\n\ - mov r3, r8\n\ - cmp r3, #0\n\ - beq ._727 @cond_branch\n\ - ldr r0, ._729 + 12\n\ - strb r3, [r0]\n\ - mov r8, r0\n\ - b ._728\n\ -._730:\n\ - .align 2, 0\n\ -._729:\n\ - .word gBattlePartyID\n\ - .word gEnemyParty\n\ - .word gBattleTypeFlags\n\ - .word gLastUsedAbility\n\ -._727:\n\ - ldr r2, ._733\n\ - ldr r1, ._733 + 4\n\ - mov r0, #0x58\n\ - mov r5, sl\n\ - mul r5, r5, r0\n\ - add r0, r5, #0\n\ - add r0, r0, r1\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - strb r0, [r2]\n\ - mov r8, r2\n\ -._728:\n\ - cmp r4, #0\n\ - beq ._731 @cond_branch\n\ - add r3, r4, #0\n\ - b ._732\n\ -._734:\n\ - .align 2, 0\n\ -._733:\n\ - .word gLastUsedAbility\n\ - .word gBattleMons\n\ -._731:\n\ - ldr r0, ._737\n\ - ldrh r3, [r0]\n\ -._732:\n\ - ldr r1, ._737 + 4\n\ - ldr r2, ._737 + 8\n\ - add r0, r1, r2\n\ - ldrb r0, [r0]\n\ - add r7, r1, #0\n\ - cmp r0, #0\n\ - beq ._735 @cond_branch\n\ - mov r4, #0x3f\n\ - and r4, r4, r0\n\ - b ._736\n\ -._738:\n\ - .align 2, 0\n\ -._737:\n\ - .word gCurrentMove\n\ - .word +0x2000000\n\ - .word 0x1601c\n\ -._735:\n\ - ldr r1, ._741\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r4, [r0, #0x2]\n\ -._736:\n\ - ldr r5, [sp, #0x4]\n\ - cmp r5, #0x13\n\ - bls ._739 @cond_branch\n\ - bl ._1534\n\ -._739:\n\ - lsl r0, r5, #0x2\n\ - ldr r1, ._741 + 4\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._742:\n\ - .align 2, 0\n\ -._741:\n\ - .word gBattleMoves\n\ - .word ._743\n\ -._743:\n\ - .word ._744\n\ - .word ._745\n\ - .word ._746\n\ - .word ._747\n\ - .word ._748\n\ - .word ._749\n\ - .word ._750\n\ - .word ._751\n\ - .word ._752\n\ - .word ._753\n\ - .word ._754\n\ - .word ._755\n\ - .word ._756\n\ - .word ._757\n\ - .word ._758\n\ - .word ._759\n\ - .word ._760\n\ - .word ._761\n\ - .word ._762\n\ - .word ._763\n\ -._744:\n\ - ldr r2, ._774\n\ - ldr r0, ._774 + 4\n\ - ldrb r1, [r2]\n\ - add r5, r0, #0\n\ - ldrb r0, [r5]\n\ - cmp r1, r0\n\ - bcc ._764 @cond_branch\n\ - mov r1, sl\n\ - strb r1, [r2]\n\ -._764:\n\ - mov r2, r8\n\ - ldrb r0, [r2]\n\ - cmp r0, #0x2d\n\ - bne ._765 @cond_branch\n\ - b ._766\n\ -._765:\n\ - cmp r0, #0x2d\n\ - bgt ._767 @cond_branch\n\ - cmp r0, #0xd\n\ - bne ._768 @cond_branch\n\ - b ._788\n\ -._768:\n\ - cmp r0, #0xd\n\ - bgt ._770 @cond_branch\n\ - cmp r0, #0x2\n\ - bne ._771 @cond_branch\n\ - b ._772\n\ -._771:\n\ - bl ._1534\n\ -._775:\n\ - .align 2, 0\n\ -._774:\n\ - .word gBankAttacker\n\ - .word gNoOfAllBanks\n\ -._770:\n\ - cmp r0, #0x16\n\ - bne ._776 @cond_branch\n\ - b ._777\n\ -._776:\n\ - cmp r0, #0x24\n\ - bne ._778 @cond_branch\n\ - b ._779\n\ -._778:\n\ - bl ._1534\n\ -._767:\n\ - cmp r0, #0x46\n\ - bne ._781 @cond_branch\n\ - b ._782\n\ -._781:\n\ - cmp r0, #0x46\n\ - bgt ._783 @cond_branch\n\ - cmp r0, #0x3b\n\ - bne ._784 @cond_branch\n\ - b ._785\n\ -._784:\n\ - bl ._1534\n\ -._783:\n\ - cmp r0, #0x4d\n\ - bne ._787 @cond_branch\n\ - b ._788\n\ -._787:\n\ - cmp r0, #0xff\n\ - beq ._789 @cond_branch\n\ - bl ._1534\n\ -._789:\n\ - bl GetCurrentWeather\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - sub r0, r0, #0x3\n\ - cmp r0, #0xa\n\ - bhi ._814 @cond_branch\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._793\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._794:\n\ - .align 2, 0\n\ -._793:\n\ - .word ._792\n\ -._792:\n\ - .word ._805\n\ - .word ._814\n\ - .word ._805\n\ - .word ._814\n\ - .word ._814\n\ - .word ._800\n\ - .word ._814\n\ - .word ._814\n\ - .word ._814\n\ - .word ._804\n\ - .word ._805\n\ -._805:\n\ - ldr r2, ._808\n\ - ldrh r1, [r2]\n\ - mov r0, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._814 @cond_branch\n\ - mov r0, #0x5\n\ - strh r0, [r2]\n\ - ldr r0, ._808 + 4\n\ - ldr r3, ._808 + 8\n\ - add r2, r0, r3\n\ - mov r1, #0xa\n\ - b ._811\n\ -._809:\n\ - .align 2, 0\n\ -._808:\n\ - .word gBattleWeather\n\ - .word +0x2000000\n\ - .word 0x160a4\n\ -._800:\n\ - ldr r3, ._812\n\ - ldrh r1, [r3]\n\ - mov r2, #0x18\n\ - add r0, r2, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._814 @cond_branch\n\ - strh r2, [r3]\n\ - ldr r0, ._812 + 4\n\ - ldr r3, ._812 + 8\n\ - add r2, r0, r3\n\ - mov r1, #0xc\n\ - b ._811\n\ -._813:\n\ - .align 2, 0\n\ -._812:\n\ - .word gBattleWeather\n\ - .word +0x2000000\n\ - .word 0x160a4\n\ -._804:\n\ - ldr r3, ._818\n\ - ldrh r1, [r3]\n\ - mov r2, #0x60\n\ - add r0, r2, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._814 @cond_branch\n\ - strh r2, [r3]\n\ - ldr r0, ._818 + 4\n\ - ldr r3, ._818 + 8\n\ - add r2, r0, r3\n\ - mov r1, #0xb\n\ -._811:\n\ - strb r1, [r2]\n\ - ldr r5, ._818 + 12\n\ - add r0, r0, r5\n\ - mov r1, sl\n\ - strb r1, [r0]\n\ - mov r0, r9\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._814:\n\ - mov r2, r9\n\ - cmp r2, #0\n\ - bne ._815 @cond_branch\n\ - bl ._1540\n\ -._815:\n\ - bl GetCurrentWeather\n\ - ldr r1, ._818 + 16\n\ - strb r0, [r1, #0x5]\n\ - ldr r0, ._818 + 20\n\ - bl BattleScriptPushCursorAndCallback\n\ - bl ._1534\n\ -._819:\n\ - .align 2, 0\n\ -._818:\n\ - .word gBattleWeather\n\ - .word +0x2000000\n\ - .word 0x160a4\n\ - .word 0x16003\n\ - .word gBattleCommunication\n\ - .word BattleScript_OverworldWeatherStarts\n\ -._772:\n\ - ldr r2, ._823\n\ - ldrh r1, [r2]\n\ - mov r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._820 @cond_branch\n\ - bl ._1534\n\ -._820:\n\ - mov r0, #0x5\n\ - strh r0, [r2]\n\ - ldr r0, ._823 + 4\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r0, ._823 + 8\n\ - ldr r3, ._823 + 12\n\ - add r0, r0, r3\n\ - mov r5, sl\n\ - strb r5, [r0]\n\ - bl ._1392\n\ -._824:\n\ - .align 2, 0\n\ -._823:\n\ - .word gBattleWeather\n\ - .word BattleScript_DrizzleActivates\n\ - .word +0x2000000\n\ - .word 0x16003\n\ -._766:\n\ - ldr r2, ._828\n\ - ldrh r1, [r2]\n\ - mov r0, #0x10\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._825 @cond_branch\n\ - bl ._1534\n\ -._825:\n\ - mov r0, #0x18\n\ - strh r0, [r2]\n\ - ldr r0, ._828 + 4\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r0, ._828 + 8\n\ - ldr r1, ._828 + 12\n\ - add r0, r0, r1\n\ - mov r2, sl\n\ - strb r2, [r0]\n\ - bl ._1392\n\ -._829:\n\ - .align 2, 0\n\ -._828:\n\ - .word gBattleWeather\n\ - .word BattleScript_SandstreamActivates\n\ - .word +0x2000000\n\ - .word 0x16003\n\ -._782:\n\ - ldr r2, ._833\n\ - ldrh r1, [r2]\n\ - mov r0, #0x40\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._830 @cond_branch\n\ - bl ._1534\n\ -._830:\n\ - mov r0, #0x60\n\ - strh r0, [r2]\n\ - ldr r0, ._833 + 4\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r0, ._833 + 8\n\ - ldr r3, ._833 + 12\n\ - add r0, r0, r3\n\ - mov r5, sl\n\ - strb r5, [r0]\n\ - bl ._1392\n\ -._834:\n\ - .align 2, 0\n\ -._833:\n\ - .word gBattleWeather\n\ - .word BattleScript_DroughtActivates\n\ - .word +0x2000000\n\ - .word 0x16003\n\ -._777:\n\ - ldr r0, ._838\n\ - mov r1, sl\n\ - lsl r2, r1, #0x2\n\ - add r1, r2, r1\n\ - lsl r1, r1, #0x2\n\ - add r3, r1, r0\n\ - ldrb r0, [r3]\n\ - lsl r0, r0, #0x1c\n\ - cmp r0, #0\n\ - bge ._835 @cond_branch\n\ - bl ._1534\n\ -._835:\n\ - ldr r1, ._838 + 4\n\ - add r1, r2, r1\n\ - ldr r0, [r1]\n\ - mov r2, #0x80\n\ - lsl r2, r2, #0xc\n\ - orr r0, r0, r2\n\ - str r0, [r1]\n\ - ldrb r0, [r3]\n\ - mov r1, #0x8\n\ - b ._837\n\ -._839:\n\ - .align 2, 0\n\ -._838:\n\ - .word gSpecialStatuses\n\ - .word gStatuses3\n\ -._785:\n\ - mov r0, sl\n\ - bl CastformDataTypeChange\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ - cmp r0, #0\n\ - bne ._840 @cond_branch\n\ - bl ._1540\n\ -._840:\n\ - ldr r0, ._843\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r0, ._843 + 4\n\ - ldr r2, ._843 + 8\n\ - add r1, r0, r2\n\ - mov r3, sl\n\ - strb r3, [r1]\n\ - mov r1, r9\n\ - sub r1, r1, #0x1\n\ - ldr r5, ._843 + 12\n\ - add r0, r0, r5\n\ - strb r1, [r0]\n\ - bl ._1534\n\ -._844:\n\ - .align 2, 0\n\ -._843:\n\ - .word BattleScript_CastformChange\n\ - .word +0x2000000\n\ - .word 0x16003\n\ - .word 0x1609b\n\ -._779:\n\ - ldr r0, ._848\n\ - mov r1, sl\n\ - lsl r2, r1, #0x2\n\ - add r1, r2, r1\n\ - lsl r1, r1, #0x2\n\ - add r3, r1, r0\n\ - ldrb r0, [r3]\n\ - lsl r0, r0, #0x1b\n\ - cmp r0, #0\n\ - bge ._845 @cond_branch\n\ - bl ._1534\n\ -._845:\n\ - ldr r1, ._848 + 4\n\ - add r1, r2, r1\n\ - ldr r0, [r1]\n\ - mov r2, #0x80\n\ - lsl r2, r2, #0xd\n\ - orr r0, r0, r2\n\ - str r0, [r1]\n\ - ldrb r0, [r3]\n\ - mov r1, #0x10\n\ -._837:\n\ - orr r0, r0, r1\n\ - strb r0, [r3]\n\ - bl ._1534\n\ -._849:\n\ - .align 2, 0\n\ -._848:\n\ - .word gSpecialStatuses\n\ - .word gStatuses3\n\ -._788:\n\ - mov r6, #0x0\n\ - ldrb r5, [r5]\n\ - cmp r6, r5\n\ - bcc ._854 @cond_branch\n\ - bl ._1534\n\ -._854:\n\ - add r0, r6, #0\n\ - bl CastformDataTypeChange\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ - cmp r0, #0\n\ - beq ._852 @cond_branch\n\ - bl ._853\n\ -._852:\n\ - add r0, r6, #1\n\ - lsl r0, r0, #0x18\n\ - lsr r6, r0, #0x18\n\ - ldr r0, ._856\n\ - ldrb r0, [r0]\n\ - cmp r6, r0\n\ - bcc ._854 @cond_branch\n\ - bl ._1534\n\ -._857:\n\ - .align 2, 0\n\ -._856:\n\ - .word gNoOfAllBanks\n\ -._745:\n\ - ldr r2, ._865\n\ - mov r0, #0x58\n\ - mov r1, sl\n\ - mul r1, r1, r0\n\ - add r4, r1, r2\n\ - ldrh r0, [r4, #0x28]\n\ - cmp r0, #0\n\ - bne ._858 @cond_branch\n\ - bl ._1534\n\ -._858:\n\ - ldr r0, ._865 + 4\n\ - mov r3, sl\n\ - strb r3, [r0]\n\ - mov r3, r8\n\ - ldrb r5, [r3]\n\ - cmp r5, #0x2c\n\ - beq ._860 @cond_branch\n\ - cmp r5, #0x2c\n\ - bgt ._861 @cond_branch\n\ - cmp r5, #0x3\n\ - bne ._862 @cond_branch\n\ - b ._863\n\ -._862:\n\ - bl ._1534\n\ -._866:\n\ - .align 2, 0\n\ -._865:\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ -._861:\n\ - cmp r5, #0x36\n\ - bne ._867 @cond_branch\n\ - b ._868\n\ -._867:\n\ - cmp r5, #0x3d\n\ - beq ._869 @cond_branch\n\ - bl ._1534\n\ -._860:\n\ - mov r0, #0x0\n\ - str r0, [sp]\n\ - mov r0, #0x13\n\ - mov r1, #0x0\n\ - mov r2, #0xd\n\ - mov r3, #0x0\n\ - bl AbilityBattleEffects\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._871 @cond_branch\n\ - bl ._1534\n\ -._871:\n\ - str r0, [sp]\n\ - mov r0, #0x13\n\ - mov r1, #0x0\n\ - mov r2, #0x4d\n\ - mov r3, #0x0\n\ - bl AbilityBattleEffects\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._873 @cond_branch\n\ - bl ._1534\n\ -._873:\n\ - ldr r0, ._881\n\ - ldrh r1, [r0]\n\ - mov r0, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._875 @cond_branch\n\ - bl ._1534\n\ -._875:\n\ - ldrh r0, [r4, #0x2c]\n\ - ldrh r1, [r4, #0x28]\n\ - cmp r0, r1\n\ - bhi ._877 @cond_branch\n\ - bl ._1534\n\ -._877:\n\ - mov r2, r8\n\ - strb r5, [r2]\n\ - ldr r0, ._881 + 4\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r1, ._881 + 8\n\ - ldrh r0, [r4, #0x2c]\n\ - lsr r0, r0, #0x4\n\ - str r0, [r1]\n\ - cmp r0, #0\n\ - bne ._879 @cond_branch\n\ - mov r0, #0x1\n\ - str r0, [r1]\n\ -._879:\n\ - ldr r0, [r1]\n\ - neg r0, r0\n\ - str r0, [r1]\n\ - bl ._1392\n\ -._882:\n\ - .align 2, 0\n\ -._881:\n\ - .word gBattleWeather\n\ - .word BattleScript_RainDishActivates\n\ - .word gBattleMoveDamage\n\ -._869:\n\ - add r0, r2, #0\n\ - add r0, r0, #0x4c\n\ - add r5, r1, r0\n\ - ldrb r0, [r5]\n\ - cmp r0, #0\n\ - bne ._883 @cond_branch\n\ - bl ._1534\n\ -._883:\n\ - bl Random\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - mov r1, #0x3\n\ - bl __umodsi3\n\ - lsl r0, r0, #0x10\n\ - lsr r4, r0, #0x10\n\ - cmp r4, #0\n\ - beq ._885 @cond_branch\n\ - bl ._1534\n\ -._885:\n\ - ldr r0, [r5]\n\ - mov r1, #0x88\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._887 @cond_branch\n\ - ldr r0, ._893\n\ - ldr r1, ._893 + 4\n\ - bl StringCopy\n\ -._887:\n\ - ldr r0, [r5]\n\ - mov r1, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._888 @cond_branch\n\ - ldr r0, ._893\n\ - ldr r1, ._893 + 8\n\ - bl StringCopy\n\ -._888:\n\ - ldr r0, [r5]\n\ - mov r1, #0x40\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._889 @cond_branch\n\ - ldr r0, ._893\n\ - ldr r1, ._893 + 12\n\ - bl StringCopy\n\ -._889:\n\ - ldr r0, [r5]\n\ - mov r1, #0x10\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._890 @cond_branch\n\ - ldr r0, ._893\n\ - ldr r1, ._893 + 16\n\ - bl StringCopy\n\ -._890:\n\ - ldr r0, [r5]\n\ - mov r1, #0x20\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._891 @cond_branch\n\ - ldr r0, ._893\n\ - ldr r1, ._893 + 20\n\ - bl StringCopy\n\ -._891:\n\ - str r4, [r5]\n\ - ldr r0, ._893 + 24\n\ - ldr r4, ._893 + 28\n\ - mov r3, sl\n\ - strb r3, [r4]\n\ - ldr r1, ._893 + 32\n\ - add r0, r0, r1\n\ - strb r3, [r0]\n\ - ldr r0, ._893 + 36\n\ - bl BattleScriptPushCursorAndCallback\n\ - str r5, [sp]\n\ - mov r0, #0x0\n\ - mov r1, #0x28\n\ - mov r2, #0x0\n\ - mov r3, #0x4\n\ - bl EmitSetMonData\n\ - ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ - bl ._1392\n\ -._894:\n\ - .align 2, 0\n\ -._893:\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_PoisonJpn\n\ - .word gStatusConditionString_SleepJpn\n\ - .word gStatusConditionString_ParalysisJpn\n\ - .word gStatusConditionString_BurnJpn\n\ - .word gStatusConditionString_IceJpn\n\ - .word +0x2000000\n\ - .word gActiveBank\n\ - .word 0x16003\n\ - .word BattleScript_ShedSkinActivates\n\ -._863:\n\ - ldrb r2, [r4, #0x1b]\n\ - mov r0, #0x1b\n\ - ldsb r0, [r4, r0]\n\ - cmp r0, #0xb\n\ - ble ._895 @cond_branch\n\ - bl ._1534\n\ -._895:\n\ - ldr r0, ._900\n\ - mov r3, sl\n\ - lsl r1, r3, #0x3\n\ - sub r1, r1, r3\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x16]\n\ - cmp r0, #0x2\n\ - bne ._897 @cond_branch\n\ - bl ._1534\n\ -._897:\n\ - add r0, r2, #1\n\ - mov r2, #0x0\n\ - strb r0, [r4, #0x1b]\n\ - ldr r5, ._900 + 4\n\ - add r1, r7, r5\n\ - mov r0, #0x11\n\ - strb r0, [r1]\n\ - ldr r1, ._900 + 8\n\ - add r0, r7, r1\n\ - strb r2, [r0]\n\ - ldr r0, ._900 + 12\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r2, ._900 + 16\n\ - add r0, r7, r2\n\ - mov r3, sl\n\ - strb r3, [r0]\n\ - bl ._1392\n\ -._901:\n\ - .align 2, 0\n\ -._900:\n\ - .word gDisableStructs\n\ - .word 0x160a4\n\ - .word 0x160a5\n\ - .word BattleScript_SpeedBoostActivates\n\ - .word 0x16003\n\ -._868:\n\ - ldr r2, ._903\n\ - ldrb r0, [r0]\n\ - lsl r1, r0, #0x3\n\ - sub r1, r1, r0\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r2\n\ - ldrb r3, [r1, #0x18]\n\ - lsl r0, r3, #0x1f\n\ - lsr r0, r0, #0x1f\n\ - mov r2, #0x1\n\ - eor r2, r2, r0\n\ - mov r0, #0x2\n\ - neg r0, r0\n\ - and r0, r0, r3\n\ - orr r0, r0, r2\n\ - strb r0, [r1, #0x18]\n\ - bl ._1534\n\ -._904:\n\ - .align 2, 0\n\ -._903:\n\ - .word gDisableStructs\n\ -._746:\n\ - mov r5, r8\n\ - ldrb r0, [r5]\n\ - cmp r0, #0x2b\n\ - beq ._905 @cond_branch\n\ - bl ._1534\n\ -._905:\n\ - mov r4, #0x0\n\ - ldr r0, ._917\n\ - ldrh r2, [r0]\n\ - ldr r5, ._917 + 4\n\ - add r1, r0, #0\n\ - cmp r2, r5\n\ - bne ._907 @cond_branch\n\ - bl ._1534\n\ -._907:\n\ - cmp r2, r3\n\ - beq ._909 @cond_branch\n\ - add r2, r1, #0\n\ -._912:\n\ - add r2, r2, #0x2\n\ - add r4, r4, #0x1\n\ - ldrh r0, [r2]\n\ - cmp r0, r5\n\ - bne ._910 @cond_branch\n\ - bl ._1534\n\ -._910:\n\ - cmp r0, r3\n\ - bne ._912 @cond_branch\n\ -._909:\n\ - lsl r0, r4, #0x1\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - ldr r0, ._917 + 4\n\ - cmp r1, r0\n\ - bne ._913 @cond_branch\n\ - bl ._1534\n\ -._913:\n\ - ldr r1, ._917 + 8\n\ - ldr r0, ._917 + 12\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r1, r1, #0x50\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x5\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._915 @cond_branch\n\ - ldr r0, ._917 + 16\n\ - ldr r1, [r0]\n\ - mov r2, #0x80\n\ - lsl r2, r2, #0x4\n\ - orr r1, r1, r2\n\ - str r1, [r0]\n\ -._915:\n\ - ldr r1, ._917 + 20\n\ - ldr r0, ._917 + 24\n\ - str r0, [r1]\n\ - mov r0, #0x1\n\ - mov r9, r0\n\ - bl ._916\n\ -._918:\n\ - .align 2, 0\n\ -._917:\n\ - .word gSoundMovesTable\n\ - .word 0xffff\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gHitMarker\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_SoundproofProtected\n\ -._747:\n\ - cmp r3, #0\n\ - bne ._919 @cond_branch\n\ - bl ._1534\n\ -._919:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, #0xb\n\ - beq ._921 @cond_branch\n\ - cmp r0, #0xb\n\ - bgt ._922 @cond_branch\n\ - cmp r0, #0xa\n\ - beq ._923 @cond_branch\n\ - b ._956\n\ -._922:\n\ - cmp r0, #0x12\n\ - beq ._925 @cond_branch\n\ - b ._956\n\ -._923:\n\ - cmp r4, #0xd\n\ - beq ._927 @cond_branch\n\ - b ._956\n\ -._927:\n\ - ldr r0, ._933\n\ - lsl r1, r3, #0x1\n\ - add r1, r1, r3\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - cmp r0, #0\n\ - bne ._929 @cond_branch\n\ - b ._956\n\ -._929:\n\ - ldr r1, ._933 + 4\n\ - ldr r0, ._933 + 8\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x4\n\ - add r0, r0, r1\n\ - ldrb r0, [r0, #0x2]\n\ - lsl r0, r0, #0x1c\n\ - cmp r0, #0\n\ - bge ._931 @cond_branch\n\ - ldr r1, ._933 + 12\n\ - ldr r0, ._933 + 16\n\ - b ._932\n\ -._934:\n\ - .align 2, 0\n\ -._933:\n\ - .word gBattleMoves\n\ - .word gProtectStructs\n\ - .word gBankAttacker\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_MoveHPDrain\n\ -._931:\n\ - ldr r1, ._936\n\ - ldr r0, ._936 + 4\n\ -._932:\n\ - str r0, [r1]\n\ - mov r2, #0x1\n\ - b ._935\n\ -._937:\n\ - .align 2, 0\n\ -._936:\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_MoveHPDrain_PPLoss\n\ -._921:\n\ - cmp r4, #0xb\n\ - beq ._938 @cond_branch\n\ - b ._956\n\ -._938:\n\ - ldr r0, ._944\n\ - lsl r1, r3, #0x1\n\ - add r1, r1, r3\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - cmp r0, #0\n\ - bne ._940 @cond_branch\n\ - b ._956\n\ -._940:\n\ - ldr r1, ._944 + 4\n\ - ldr r0, ._944 + 8\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x4\n\ - add r0, r0, r1\n\ - ldrb r0, [r0, #0x2]\n\ - lsl r0, r0, #0x1c\n\ - cmp r0, #0\n\ - bge ._942 @cond_branch\n\ - ldr r1, ._944 + 12\n\ - ldr r0, ._944 + 16\n\ - b ._943\n\ -._945:\n\ - .align 2, 0\n\ -._944:\n\ - .word gBattleMoves\n\ - .word gProtectStructs\n\ - .word gBankAttacker\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_MoveHPDrain\n\ -._942:\n\ - ldr r1, ._947\n\ - ldr r0, ._947 + 4\n\ -._943:\n\ - str r0, [r1]\n\ - mov r3, #0x1\n\ - mov r9, r3\n\ - b ._956\n\ -._948:\n\ - .align 2, 0\n\ -._947:\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_MoveHPDrain_PPLoss\n\ -._925:\n\ - cmp r4, #0xa\n\ - bne ._956 @cond_branch\n\ - ldr r1, ._954\n\ - mov r0, #0x58\n\ - mov r5, sl\n\ - mul r5, r5, r0\n\ - add r0, r5, #0\n\ - add r1, r1, #0x4c\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x20\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._956 @cond_branch\n\ - ldr r2, ._954 + 4\n\ - mov r0, sl\n\ - lsl r1, r0, #0x2\n\ - add r0, r1, r2\n\ - ldr r3, [r0]\n\ - mov r4, #0x1\n\ - and r3, r3, r4\n\ - add r5, r1, #0\n\ - cmp r3, #0\n\ - bne ._951 @cond_branch\n\ - ldr r0, ._954 + 8\n\ - strb r3, [r0, #0x5]\n\ - ldr r1, ._954 + 12\n\ - ldr r0, ._954 + 16\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x4\n\ - add r0, r0, r1\n\ - ldrb r0, [r0, #0x2]\n\ - lsl r0, r0, #0x1c\n\ - cmp r0, #0\n\ - bge ._952 @cond_branch\n\ - ldr r1, ._954 + 20\n\ - ldr r0, ._954 + 24\n\ - b ._953\n\ -._955:\n\ - .align 2, 0\n\ -._954:\n\ - .word gBattleMons\n\ - .word +0x2017100\n\ - .word gBattleCommunication\n\ - .word gProtectStructs\n\ - .word gBankAttacker\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_FlashFireBoost\n\ -._952:\n\ - ldr r1, ._957\n\ - ldr r0, ._957 + 4\n\ -._953:\n\ - str r0, [r1]\n\ - add r0, r5, r2\n\ - ldr r1, [r0]\n\ - mov r2, #0x1\n\ - orr r1, r1, r2\n\ - str r1, [r0]\n\ - mov r1, #0x2\n\ - mov r9, r1\n\ - b ._956\n\ -._958:\n\ - .align 2, 0\n\ -._957:\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_FlashFireBoost_PPLoss\n\ -._951:\n\ - ldr r0, ._961\n\ - strb r4, [r0, #0x5]\n\ - ldr r1, ._961 + 4\n\ - ldr r0, ._961 + 8\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x4\n\ - add r0, r0, r1\n\ - ldrb r0, [r0, #0x2]\n\ - lsl r0, r0, #0x1c\n\ - cmp r0, #0\n\ - bge ._959 @cond_branch\n\ - ldr r1, ._961 + 12\n\ - ldr r0, ._961 + 16\n\ - b ._960\n\ -._962:\n\ - .align 2, 0\n\ -._961:\n\ - .word gBattleCommunication\n\ - .word gProtectStructs\n\ - .word gBankAttacker\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_FlashFireBoost\n\ -._959:\n\ - ldr r1, ._968\n\ - ldr r0, ._968 + 4\n\ -._960:\n\ - str r0, [r1]\n\ - mov r2, #0x2\n\ -._935:\n\ - mov r9, r2\n\ -._956:\n\ - mov r3, r9\n\ - cmp r3, #0x1\n\ - beq ._963 @cond_branch\n\ - bl ._1534\n\ -._963:\n\ - ldr r1, ._968 + 8\n\ - mov r0, #0x58\n\ - mov r5, sl\n\ - mul r5, r5, r0\n\ - add r0, r5, #0\n\ - add r1, r0, r1\n\ - ldrh r0, [r1, #0x2c]\n\ - ldrh r2, [r1, #0x28]\n\ - cmp r0, r2\n\ - bne ._965 @cond_branch\n\ - ldr r1, ._968 + 12\n\ - ldr r0, ._968 + 16\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x4\n\ - add r0, r0, r1\n\ - ldrb r0, [r0, #0x2]\n\ - lsl r0, r0, #0x1c\n\ - cmp r0, #0\n\ - bge ._966 @cond_branch\n\ - ldr r1, ._968\n\ - ldr r0, ._968 + 20\n\ - str r0, [r1]\n\ - bl ._1534\n\ -._969:\n\ - .align 2, 0\n\ -._968:\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_FlashFireBoost_PPLoss\n\ - .word gBattleMons\n\ - .word gProtectStructs\n\ - .word gBankAttacker\n\ - .word BattleScript_MoveHPDrain_FullHP\n\ -._966:\n\ - ldr r1, ._971\n\ - ldr r0, ._971 + 4\n\ - str r0, [r1]\n\ - bl ._1534\n\ -._972:\n\ - .align 2, 0\n\ -._971:\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_MoveHPDrain_FullHP_PPLoss\n\ -._965:\n\ - ldr r2, ._975\n\ - ldrh r0, [r1, #0x2c]\n\ - lsr r0, r0, #0x2\n\ - str r0, [r2]\n\ - cmp r0, #0\n\ - bne ._973 @cond_branch\n\ - mov r3, r9\n\ - str r3, [r2]\n\ -._973:\n\ - ldr r0, [r2]\n\ - neg r0, r0\n\ - str r0, [r2]\n\ - bl ._1534\n\ -._976:\n\ - .align 2, 0\n\ -._975:\n\ - .word gBattleMoveDamage\n\ -._748:\n\ - mov r5, r8\n\ - ldrb r0, [r5]\n\ - sub r0, r0, #0x9\n\ - cmp r0, #0x2f\n\ - bls ._977 @cond_branch\n\ - bl ._1534\n\ -._977:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._980\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._981:\n\ - .align 2, 0\n\ -._980:\n\ - .word ._979\n\ -._979:\n\ - .word ._982\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._989\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._997\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1000\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1011\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1022\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1534\n\ - .word ._1029\n\ -._989:\n\ - ldr r0, ._1046\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1030 @cond_branch\n\ - bl ._1534\n\ -._1030:\n\ - cmp r3, #0xa5\n\ - bne ._1032 @cond_branch\n\ - bl ._1534\n\ -._1032:\n\ - ldr r0, ._1046 + 4\n\ - lsl r1, r3, #0x1\n\ - add r1, r1, r3\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - cmp r0, #0\n\ - bne ._1034 @cond_branch\n\ - bl ._1534\n\ -._1034:\n\ - ldr r2, ._1046 + 8\n\ - ldr r0, ._1046 + 12\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1037 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1037 @cond_branch\n\ - bl ._1534\n\ -._1037:\n\ - ldr r1, ._1046 + 16\n\ - mov r0, #0x58\n\ - mov r2, sl\n\ - mul r2, r2, r0\n\ - add r0, r2, #0\n\ - add r1, r0, r1\n\ - add r3, r1, #0\n\ - add r3, r3, #0x21\n\ - ldrb r0, [r3]\n\ - cmp r0, r4\n\ - bne ._1039 @cond_branch\n\ - bl ._1534\n\ -._1039:\n\ - add r2, r1, #0\n\ - add r2, r2, #0x22\n\ - ldrb r0, [r2]\n\ - cmp r0, r4\n\ - bne ._1041 @cond_branch\n\ - bl ._1534\n\ -._1041:\n\ - ldrh r0, [r1, #0x28]\n\ - cmp r0, #0\n\ - bne ._1043 @cond_branch\n\ - bl ._1534\n\ -._1043:\n\ - strb r4, [r3]\n\ - strb r4, [r2]\n\ - ldr r1, ._1046 + 20\n\ - mov r0, #0xfd\n\ - strb r0, [r1]\n\ - mov r0, #0x3\n\ - strb r0, [r1, #0x1]\n\ - strb r4, [r1, #0x2]\n\ - mov r0, #0xff\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1046 + 24\n\ - ldr r0, ._1046 + 28\n\ - str r0, [r1]\n\ - bl ._1392\n\ -._1047:\n\ - .align 2, 0\n\ -._1046:\n\ - .word gBattleMoveFlags\n\ - .word gBattleMoves\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMons\n\ - .word gBattleTextBuff1\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ColorChangeActivates\n\ -._997:\n\ - ldr r0, ._1061\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1048 @cond_branch\n\ - bl ._1534\n\ -._1048:\n\ - ldr r1, ._1061 + 4\n\ - ldr r0, ._1061 + 8\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r4, r0, r1\n\ - ldrh r0, [r4, #0x28]\n\ - cmp r0, #0\n\ - bne ._1050 @cond_branch\n\ - bl ._1534\n\ -._1050:\n\ - ldr r0, ._1061 + 12\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1052 @cond_branch\n\ - bl ._1534\n\ -._1052:\n\ - ldr r2, ._1061 + 16\n\ - ldr r0, ._1061 + 20\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1055 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1055 @cond_branch\n\ - bl ._1534\n\ -._1055:\n\ - ldr r1, ._1061 + 24\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r2, #0x1\n\ - add r0, r2, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1057 @cond_branch\n\ - bl ._1534\n\ -._1057:\n\ - ldr r1, ._1061 + 28\n\ - ldrh r0, [r4, #0x2c]\n\ - lsr r0, r0, #0x4\n\ - str r0, [r1]\n\ - cmp r0, #0\n\ - bne ._1059 @cond_branch\n\ - str r2, [r1]\n\ -._1059:\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1061 + 32\n\ - ldr r0, ._1061 + 36\n\ - str r0, [r1]\n\ - bl ._1392\n\ -._1062:\n\ - .align 2, 0\n\ -._1061:\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMoves\n\ - .word gBattleMoveDamage\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_RoughSkinActivates\n\ -._1000:\n\ - ldr r0, ._1078\n\ - ldrb r1, [r0]\n\ - mov r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1063 @cond_branch\n\ - ldr r0, ._1078 + 4\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1064 @cond_branch\n\ - bl ._1534\n\ -._1064:\n\ - ldr r1, ._1078 + 8\n\ - ldr r0, ._1078 + 12\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1066 @cond_branch\n\ - bl ._1534\n\ -._1066:\n\ - ldr r0, ._1078 + 16\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1068 @cond_branch\n\ - bl ._1534\n\ -._1068:\n\ - ldr r2, ._1078 + 20\n\ - ldr r0, ._1078 + 24\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1071 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1071 @cond_branch\n\ - bl ._1534\n\ -._1071:\n\ - ldr r1, ._1078 + 28\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1073 @cond_branch\n\ - bl ._1534\n\ -._1073:\n\ - ldr r5, ._1078 + 32\n\ - mov r4, #0x3\n\ -._1075:\n\ - bl Random\n\ - and r0, r0, r4\n\ - strb r0, [r5, #0x3]\n\ - cmp r0, #0\n\ - beq ._1075 @cond_branch\n\ - ldr r1, ._1078 + 32\n\ - ldrb r0, [r1, #0x3]\n\ - cmp r0, #0x3\n\ - bne ._1076 @cond_branch\n\ - add r0, r0, #0x2\n\ - strb r0, [r1, #0x3]\n\ -._1076:\n\ - ldrb r0, [r1, #0x3]\n\ - add r0, r0, #0x40\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1078 + 36\n\ - ldr r0, ._1078 + 40\n\ - str r0, [r1]\n\ - ldr r2, ._1078 + 44\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1079:\n\ - .align 2, 0\n\ -._1078:\n\ - .word gUnknown_02023A14_50\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMoves\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._1063:\n\ - ldr r0, ._1096\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1080 @cond_branch\n\ - bl ._1534\n\ -._1080:\n\ - ldr r1, ._1096 + 4\n\ - ldr r0, ._1096 + 8\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1082 @cond_branch\n\ - bl ._1534\n\ -._1082:\n\ - ldr r0, ._1096 + 12\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1084 @cond_branch\n\ - bl ._1534\n\ -._1084:\n\ - ldr r2, ._1096 + 16\n\ - ldr r0, ._1096 + 20\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1087 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1087 @cond_branch\n\ - bl ._1534\n\ -._1087:\n\ - ldr r1, ._1096 + 24\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1089 @cond_branch\n\ - bl ._1534\n\ -._1089:\n\ - bl Random\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - mov r1, #0xa\n\ - bl __umodsi3\n\ - lsl r0, r0, #0x10\n\ - cmp r0, #0\n\ - beq ._1091 @cond_branch\n\ - bl ._1534\n\ -._1091:\n\ - ldr r5, ._1096 + 28\n\ - mov r4, #0x3\n\ -._1093:\n\ - bl Random\n\ - and r0, r0, r4\n\ - strb r0, [r5, #0x3]\n\ - cmp r0, #0\n\ - beq ._1093 @cond_branch\n\ - ldr r1, ._1096 + 28\n\ - ldrb r0, [r1, #0x3]\n\ - cmp r0, #0x3\n\ - bne ._1094 @cond_branch\n\ - add r0, r0, #0x2\n\ - strb r0, [r1, #0x3]\n\ -._1094:\n\ - ldrb r0, [r1, #0x3]\n\ - add r0, r0, #0x40\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1096 + 32\n\ - ldr r0, ._1096 + 36\n\ - str r0, [r1]\n\ - ldr r2, ._1096 + 40\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1097:\n\ - .align 2, 0\n\ -._1096:\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMoves\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._1011:\n\ - ldr r0, ._1111\n\ - ldrb r1, [r0]\n\ - mov r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1098 @cond_branch\n\ - ldr r0, ._1111 + 4\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1099 @cond_branch\n\ - bl ._1534\n\ -._1099:\n\ - ldr r1, ._1111 + 8\n\ - ldr r0, ._1111 + 12\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1101 @cond_branch\n\ - bl ._1534\n\ -._1101:\n\ - ldr r0, ._1111 + 16\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1103 @cond_branch\n\ - bl ._1534\n\ -._1103:\n\ - ldr r2, ._1111 + 20\n\ - ldr r0, ._1111 + 24\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1106 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1106 @cond_branch\n\ - bl ._1534\n\ -._1106:\n\ - ldr r1, ._1111 + 28\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1108 @cond_branch\n\ - bl ._1534\n\ -._1108:\n\ - ldr r1, ._1111 + 32\n\ - mov r0, #0x42\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1111 + 36\n\ - ldr r0, ._1111 + 40\n\ - str r0, [r1]\n\ - ldr r2, ._1111 + 44\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1112:\n\ - .align 2, 0\n\ -._1111:\n\ - .word gUnknown_02023A14_50\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMoves\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._1098:\n\ - ldr r0, ._1127\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1113 @cond_branch\n\ - bl ._1534\n\ -._1113:\n\ - ldr r1, ._1127 + 4\n\ - ldr r0, ._1127 + 8\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1115 @cond_branch\n\ - bl ._1534\n\ -._1115:\n\ - ldr r0, ._1127 + 12\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1117 @cond_branch\n\ - bl ._1534\n\ -._1117:\n\ - ldr r2, ._1127 + 16\n\ - ldr r0, ._1127 + 20\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1120 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1120 @cond_branch\n\ - bl ._1534\n\ -._1120:\n\ - ldr r1, ._1127 + 24\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1122 @cond_branch\n\ - bl ._1534\n\ -._1122:\n\ - bl Random\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - mov r1, #0x3\n\ - bl __umodsi3\n\ - lsl r0, r0, #0x10\n\ - cmp r0, #0\n\ - beq ._1124 @cond_branch\n\ - bl ._1534\n\ -._1124:\n\ - ldr r1, ._1127 + 28\n\ - mov r0, #0x42\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1127 + 32\n\ - ldr r0, ._1127 + 36\n\ - str r0, [r1]\n\ - ldr r2, ._1127 + 40\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1128:\n\ - .align 2, 0\n\ -._1127:\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMoves\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._982:\n\ - ldr r0, ._1142\n\ - ldrb r1, [r0]\n\ - mov r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1129 @cond_branch\n\ - ldr r0, ._1142 + 4\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1130 @cond_branch\n\ - bl ._1534\n\ -._1130:\n\ - ldr r1, ._1142 + 8\n\ - ldr r0, ._1142 + 12\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1132 @cond_branch\n\ - bl ._1534\n\ -._1132:\n\ - ldr r0, ._1142 + 16\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1134 @cond_branch\n\ - bl ._1534\n\ -._1134:\n\ - ldr r2, ._1142 + 20\n\ - ldr r0, ._1142 + 24\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1137 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1137 @cond_branch\n\ - bl ._1534\n\ -._1137:\n\ - ldr r1, ._1142 + 28\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1139 @cond_branch\n\ - bl ._1534\n\ -._1139:\n\ - ldr r1, ._1142 + 32\n\ - mov r0, #0x45\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1142 + 36\n\ - ldr r0, ._1142 + 40\n\ - str r0, [r1]\n\ - ldr r2, ._1142 + 44\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1143:\n\ - .align 2, 0\n\ -._1142:\n\ - .word gUnknown_02023A14_50\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMoves\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._1129:\n\ - ldr r0, ._1158\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1144 @cond_branch\n\ - bl ._1534\n\ -._1144:\n\ - ldr r1, ._1158 + 4\n\ - ldr r0, ._1158 + 8\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1146 @cond_branch\n\ - bl ._1534\n\ -._1146:\n\ - ldr r0, ._1158 + 12\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1148 @cond_branch\n\ - bl ._1534\n\ -._1148:\n\ - ldr r2, ._1158 + 16\n\ - ldr r0, ._1158 + 20\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1151 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1151 @cond_branch\n\ - bl ._1534\n\ -._1151:\n\ - ldr r1, ._1158 + 24\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1153 @cond_branch\n\ - bl ._1534\n\ -._1153:\n\ - bl Random\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - mov r1, #0x3\n\ - bl __umodsi3\n\ - lsl r0, r0, #0x10\n\ - cmp r0, #0\n\ - beq ._1155 @cond_branch\n\ - bl ._1534\n\ -._1155:\n\ - ldr r1, ._1158 + 28\n\ - mov r0, #0x45\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1158 + 32\n\ - ldr r0, ._1158 + 36\n\ - str r0, [r1]\n\ - ldr r2, ._1158 + 40\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1159:\n\ - .align 2, 0\n\ -._1158:\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleMoves\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._1022:\n\ - ldr r0, ._1173\n\ - ldrb r1, [r0]\n\ - mov r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1160 @cond_branch\n\ - ldr r0, ._1173 + 4\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1161 @cond_branch\n\ - bl ._1534\n\ -._1161:\n\ - ldr r1, ._1173 + 8\n\ - ldr r0, ._1173 + 12\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1163 @cond_branch\n\ - bl ._1534\n\ -._1163:\n\ - ldr r0, ._1173 + 16\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1165 @cond_branch\n\ - bl ._1534\n\ -._1165:\n\ - ldr r1, ._1173 + 20\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1167 @cond_branch\n\ - bl ._1534\n\ -._1167:\n\ - ldr r2, ._1173 + 24\n\ - ldr r0, ._1173 + 28\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1170 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1170 @cond_branch\n\ - bl ._1534\n\ -._1170:\n\ - ldr r1, ._1173 + 32\n\ - mov r0, #0x43\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1173 + 36\n\ - ldr r0, ._1173 + 40\n\ - str r0, [r1]\n\ - ldr r2, ._1173 + 44\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1174:\n\ - .align 2, 0\n\ -._1173:\n\ - .word gUnknown_02023A14_50\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gBattleMoves\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._1160:\n\ - ldr r0, ._1189\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1175 @cond_branch\n\ - bl ._1534\n\ -._1175:\n\ - ldr r1, ._1189 + 4\n\ - ldr r0, ._1189 + 8\n\ - ldrb r2, [r0]\n\ - mov r0, #0x58\n\ - mul r0, r0, r2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1177 @cond_branch\n\ - bl ._1534\n\ -._1177:\n\ - ldr r0, ._1189 + 12\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1179 @cond_branch\n\ - bl ._1534\n\ -._1179:\n\ - ldr r1, ._1189 + 16\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1181 @cond_branch\n\ - bl ._1534\n\ -._1181:\n\ - ldr r2, ._1189 + 20\n\ - ldr r0, ._1189 + 24\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r1, r0, #0x2\n\ - add r0, r2, #0\n\ - add r0, r0, #0x8\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1184 @cond_branch\n\ - add r0, r2, #0\n\ - add r0, r0, #0xc\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1184 @cond_branch\n\ - bl ._1534\n\ -._1184:\n\ - bl Random\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - mov r1, #0x3\n\ - bl __umodsi3\n\ - lsl r0, r0, #0x10\n\ - cmp r0, #0\n\ - beq ._1186 @cond_branch\n\ - bl ._1534\n\ -._1186:\n\ - ldr r1, ._1189 + 28\n\ - mov r0, #0x43\n\ - strb r0, [r1, #0x3]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1189 + 32\n\ - ldr r0, ._1189 + 36\n\ - str r0, [r1]\n\ - ldr r2, ._1189 + 40\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl ._1392\n\ -._1190:\n\ - .align 2, 0\n\ -._1189:\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gBattleMoves\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_ApplySecondaryEffect\n\ - .word gHitMarker\n\ -._1029:\n\ - ldr r0, ._1217\n\ - ldrb r1, [r0]\n\ - mov r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1191 @cond_branch\n\ - b ._1192\n\ -._1191:\n\ - ldr r0, ._1217 + 4\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1193 @cond_branch\n\ - bl ._1534\n\ -._1193:\n\ - ldr r5, ._1217 + 8\n\ - ldr r7, ._1217 + 12\n\ - ldrb r1, [r7]\n\ - mov r6, #0x58\n\ - add r0, r1, #0\n\ - mul r0, r0, r6\n\ - add r4, r0, r5\n\ - ldrh r0, [r4, #0x28]\n\ - cmp r0, #0\n\ - bne ._1195 @cond_branch\n\ - bl ._1534\n\ -._1195:\n\ - ldr r0, ._1217 + 16\n\ - lsl r1, r1, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1197 @cond_branch\n\ - bl ._1534\n\ -._1197:\n\ - ldr r1, ._1217 + 20\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1199 @cond_branch\n\ - bl ._1534\n\ -._1199:\n\ - ldr r3, ._1217 + 24\n\ - ldr r0, ._1217 + 28\n\ - mov r8, r0\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r2, r0, #0x2\n\ - add r0, r3, #0\n\ - add r0, r0, #0x8\n\ - add r0, r2, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1202 @cond_branch\n\ - add r0, r3, #0\n\ - add r0, r0, #0xc\n\ - add r0, r2, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1202 @cond_branch\n\ - bl ._1534\n\ -._1202:\n\ - add r0, r1, #0\n\ - mul r0, r0, r6\n\ - add r0, r0, r5\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1204 @cond_branch\n\ - bl ._1534\n\ -._1204:\n\ - add r0, r4, #0\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0xc\n\ - bne ._1206 @cond_branch\n\ - bl ._1534\n\ -._1206:\n\ - ldr r0, [sp, #0x8]\n\ - ldr r1, [sp, #0x10]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - add r4, r0, #0\n\ - ldr r0, [sp, #0xc]\n\ - ldr r1, [sp, #0x14]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsl r4, r4, #0x18\n\ - lsl r0, r0, #0x18\n\ - cmp r4, r0\n\ - bne ._1208 @cond_branch\n\ - bl ._1534\n\ -._1208:\n\ - ldrb r0, [r7]\n\ - mul r0, r0, r6\n\ - add r4, r5, #0\n\ - add r4, r4, #0x50\n\ - add r0, r0, r4\n\ - ldr r0, [r0]\n\ - mov r1, #0xf0\n\ - lsl r1, r1, #0xc\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1210 @cond_branch\n\ - bl ._1534\n\ -._1210:\n\ - ldr r0, [sp, #0x8]\n\ - ldr r1, [sp, #0x10]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0xff\n\ - bne ._1212 @cond_branch\n\ - bl ._1534\n\ -._1212:\n\ - ldr r0, [sp, #0xc]\n\ - ldr r1, [sp, #0x14]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0xff\n\ - bne ._1214 @cond_branch\n\ - bl ._1534\n\ -._1214:\n\ - ldrb r0, [r7]\n\ - add r2, r0, #0\n\ - mul r2, r2, r6\n\ - add r2, r2, r4\n\ - ldr r1, ._1217 + 32\n\ - mov r3, r8\n\ - ldrb r0, [r3]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldr r1, [r0]\n\ - lsl r1, r1, #0x10\n\ - ldr r0, [r2]\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1217 + 36\n\ - ldr r0, ._1217 + 40\n\ - str r0, [r1]\n\ - bl ._1392\n\ -._1218:\n\ - .align 2, 0\n\ -._1217:\n\ - .word gUnknown_02023A14_50\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gBattleMoves\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBitTable\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_CuteCharmActivates\n\ -._1192:\n\ - ldr r0, ._1245\n\ - ldrb r1, [r0]\n\ - mov r0, #0x29\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1219 @cond_branch\n\ - bl ._1534\n\ -._1219:\n\ - ldr r5, ._1245 + 4\n\ - ldr r7, ._1245 + 8\n\ - ldrb r1, [r7]\n\ - mov r6, #0x58\n\ - add r0, r1, #0\n\ - mul r0, r0, r6\n\ - add r0, r0, r5\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1221 @cond_branch\n\ - bl ._1534\n\ -._1221:\n\ - ldr r0, ._1245 + 12\n\ - lsl r1, r1, #0x4\n\ - add r1, r1, r0\n\ - ldrb r0, [r1, #0x1]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._1223 @cond_branch\n\ - bl ._1534\n\ -._1223:\n\ - ldr r1, ._1245 + 16\n\ - lsl r0, r3, #0x1\n\ - add r0, r0, r3\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldrb r1, [r0, #0x8]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1225 @cond_branch\n\ - bl ._1534\n\ -._1225:\n\ - ldr r3, ._1245 + 20\n\ - ldr r0, ._1245 + 24\n\ - mov r8, r0\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r2, r0, #0x2\n\ - add r0, r3, #0\n\ - add r0, r0, #0x8\n\ - add r0, r2, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1228 @cond_branch\n\ - add r0, r3, #0\n\ - add r0, r0, #0xc\n\ - add r0, r2, r0\n\ - ldr r0, [r0]\n\ - cmp r0, #0\n\ - bne ._1228 @cond_branch\n\ - bl ._1534\n\ -._1228:\n\ - add r0, r1, #0\n\ - mul r0, r0, r6\n\ - add r0, r0, r5\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - bne ._1230 @cond_branch\n\ - bl ._1534\n\ -._1230:\n\ - bl Random\n\ - lsl r0, r0, #0x10\n\ - lsr r0, r0, #0x10\n\ - mov r1, #0x3\n\ - bl __umodsi3\n\ - lsl r0, r0, #0x10\n\ - cmp r0, #0\n\ - beq ._1232 @cond_branch\n\ - bl ._1534\n\ -._1232:\n\ - ldrb r0, [r7]\n\ - mul r0, r0, r6\n\ - add r0, r0, r5\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0xc\n\ - bne ._1234 @cond_branch\n\ - bl ._1534\n\ -._1234:\n\ - ldr r0, [sp, #0x8]\n\ - ldr r1, [sp, #0x10]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - add r4, r0, #0\n\ - ldr r0, [sp, #0xc]\n\ - ldr r1, [sp, #0x14]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsl r4, r4, #0x18\n\ - lsl r0, r0, #0x18\n\ - cmp r4, r0\n\ - bne ._1236 @cond_branch\n\ - bl ._1534\n\ -._1236:\n\ - ldrb r0, [r7]\n\ - mul r0, r0, r6\n\ - add r4, r5, #0\n\ - add r4, r4, #0x50\n\ - add r0, r0, r4\n\ - ldr r0, [r0]\n\ - mov r1, #0xf0\n\ - lsl r1, r1, #0xc\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1238 @cond_branch\n\ - bl ._1534\n\ -._1238:\n\ - ldr r0, [sp, #0x8]\n\ - ldr r1, [sp, #0x10]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0xff\n\ - bne ._1240 @cond_branch\n\ - bl ._1534\n\ -._1240:\n\ - ldr r0, [sp, #0xc]\n\ - ldr r1, [sp, #0x14]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0xff\n\ - bne ._1242 @cond_branch\n\ - bl ._1534\n\ -._1242:\n\ - ldrb r0, [r7]\n\ - add r2, r0, #0\n\ - mul r2, r2, r6\n\ - add r2, r2, r4\n\ - ldr r1, ._1245 + 28\n\ - mov r3, r8\n\ - ldrb r0, [r3]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldr r1, [r0]\n\ - lsl r1, r1, #0x10\n\ - ldr r0, [r2]\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1245 + 32\n\ - ldr r0, ._1245 + 36\n\ - str r0, [r1]\n\ - bl ._1392\n\ -._1246:\n\ - .align 2, 0\n\ -._1245:\n\ - .word gBattleMoveFlags\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gProtectStructs\n\ - .word gBattleMoves\n\ - .word gSpecialStatuses\n\ - .word gBankTarget\n\ - .word gBitTable\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_CuteCharmActivates\n\ -._749:\n\ - mov r5, #0x0\n\ - mov sl, r5\n\ - ldr r0, ._1251\n\ - ldrb r0, [r0]\n\ - cmp sl, r0\n\ - bcc ._1366 @cond_branch\n\ - bl ._1534\n\ -._1366:\n\ - ldr r1, ._1251 + 4\n\ - mov r0, #0x58\n\ - mov r2, sl\n\ - mul r2, r2, r0\n\ - add r0, r2, #0\n\ - add r0, r0, r1\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - sub r0, r0, #0x7\n\ - add r2, r1, #0\n\ - cmp r0, #0x41\n\ - bls ._1249 @cond_branch\n\ - b ._1346\n\ -._1249:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._1251 + 8\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._1252:\n\ - .align 2, 0\n\ -._1251:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word ._1253\n\ -._1253:\n\ - .word ._1254\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1259\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1319\n\ - .word ._1346\n\ - .word ._1264\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1267\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1287\n\ - .word ._1288\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1346\n\ - .word ._1319\n\ -._1264:\n\ - mov r0, #0x58\n\ - mov r3, sl\n\ - mul r3, r3, r0\n\ - add r0, r3, #0\n\ - add r1, r2, #0\n\ - add r1, r1, #0x4c\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - ldr r1, ._1323\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1320 @cond_branch\n\ - b ._1346\n\ -._1320:\n\ - ldr r0, ._1323 + 4\n\ - ldr r1, ._1323 + 8\n\ - b ._1331\n\ -._1324:\n\ - .align 2, 0\n\ -._1323:\n\ - .word 0xf88\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_PoisonJpn\n\ -._1267:\n\ - mov r0, #0x58\n\ - mov r1, sl\n\ - mul r1, r1, r0\n\ - add r0, r1, #0\n\ - add r1, r2, #0\n\ - add r1, r1, #0x50\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1325 @cond_branch\n\ - b ._1346\n\ -._1325:\n\ - ldr r0, ._1328\n\ - ldr r1, ._1328 + 4\n\ - bl StringCopy\n\ - mov r2, #0x2\n\ - mov r9, r2\n\ - b ._1343\n\ -._1329:\n\ - .align 2, 0\n\ -._1328:\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_ConfusionJpn\n\ -._1254:\n\ - mov r0, #0x58\n\ - mov r3, sl\n\ - mul r3, r3, r0\n\ - add r0, r3, #0\n\ - add r1, r2, #0\n\ - add r1, r1, #0x4c\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x40\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1346 @cond_branch\n\ - ldr r0, ._1332\n\ - ldr r1, ._1332 + 4\n\ - b ._1331\n\ -._1333:\n\ - .align 2, 0\n\ -._1332:\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_ParalysisJpn\n\ -._1319:\n\ - mov r0, #0x58\n\ - mov r3, sl\n\ - mul r3, r3, r0\n\ - add r0, r2, #0\n\ - add r0, r0, #0x4c\n\ - add r0, r3, r0\n\ - ldr r0, [r0]\n\ - mov r1, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1346 @cond_branch\n\ - add r2, r2, #0x50\n\ - add r2, r3, r2\n\ - ldr r0, [r2]\n\ - ldr r1, ._1336\n\ - and r0, r0, r1\n\ - str r0, [r2]\n\ - ldr r0, ._1336 + 4\n\ - ldr r1, ._1336 + 8\n\ - bl StringCopy\n\ - mov r0, #0x1\n\ - mov r9, r0\n\ - b ._1343\n\ -._1337:\n\ - .align 2, 0\n\ -._1336:\n\ - .word 0xf7ffffff\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_SleepJpn\n\ -._1288:\n\ - mov r0, #0x58\n\ - mov r1, sl\n\ - mul r1, r1, r0\n\ - add r0, r1, #0\n\ - add r1, r2, #0\n\ - add r1, r1, #0x4c\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x10\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1346 @cond_branch\n\ - ldr r0, ._1340\n\ - ldr r1, ._1340 + 4\n\ - bl StringCopy\n\ - mov r2, #0x1\n\ - mov r9, r2\n\ - b ._1343\n\ -._1341:\n\ - .align 2, 0\n\ -._1340:\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_BurnJpn\n\ -._1287:\n\ - mov r0, #0x58\n\ - mov r3, sl\n\ - mul r3, r3, r0\n\ - add r0, r3, #0\n\ - add r1, r2, #0\n\ - add r1, r1, #0x4c\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x20\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1346 @cond_branch\n\ - ldr r0, ._1344\n\ - ldr r1, ._1344 + 4\n\ -._1331:\n\ - bl StringCopy\n\ - mov r5, #0x1\n\ - mov r9, r5\n\ - b ._1343\n\ -._1345:\n\ - .align 2, 0\n\ -._1344:\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_IceJpn\n\ -._1259:\n\ - mov r0, #0x58\n\ - mov r1, sl\n\ - mul r1, r1, r0\n\ - add r0, r1, #0\n\ - add r1, r2, #0\n\ - add r1, r1, #0x50\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0xf0\n\ - lsl r1, r1, #0xc\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1346 @cond_branch\n\ - ldr r0, ._1352\n\ - ldr r1, ._1352 + 4\n\ - bl StringCopy\n\ - mov r2, #0x3\n\ - mov r9, r2\n\ -._1346:\n\ - mov r3, r9\n\ - cmp r3, #0\n\ - beq ._1347 @cond_branch\n\ -._1343:\n\ - mov r5, r9\n\ - cmp r5, #0x2\n\ - beq ._1348 @cond_branch\n\ - cmp r5, #0x2\n\ - bgt ._1349 @cond_branch\n\ - cmp r5, #0x1\n\ - beq ._1350 @cond_branch\n\ - b ._1355\n\ -._1353:\n\ - .align 2, 0\n\ -._1352:\n\ - .word gBattleTextBuff1\n\ - .word gStatusConditionString_LoveJpn\n\ -._1349:\n\ - mov r0, r9\n\ - cmp r0, #0x3\n\ - beq ._1354 @cond_branch\n\ - b ._1355\n\ -._1350:\n\ - ldr r1, ._1357\n\ - mov r0, #0x58\n\ - mov r2, sl\n\ - mul r2, r2, r0\n\ - add r1, r1, #0x4c\n\ - add r2, r2, r1\n\ - mov r0, #0x0\n\ - b ._1356\n\ -._1358:\n\ - .align 2, 0\n\ -._1357:\n\ - .word gBattleMons\n\ -._1348:\n\ - ldr r1, ._1360\n\ - mov r0, #0x58\n\ - mov r2, sl\n\ - mul r2, r2, r0\n\ - add r1, r1, #0x50\n\ - add r2, r2, r1\n\ - ldr r0, [r2]\n\ - mov r1, #0x8\n\ - neg r1, r1\n\ - b ._1359\n\ -._1361:\n\ - .align 2, 0\n\ -._1360:\n\ - .word gBattleMons\n\ -._1354:\n\ - ldr r1, ._1363\n\ - mov r0, #0x58\n\ - mov r2, sl\n\ - mul r2, r2, r0\n\ - add r1, r1, #0x50\n\ - add r2, r2, r1\n\ - ldr r0, [r2]\n\ - ldr r1, ._1363 + 4\n\ -._1359:\n\ - and r0, r0, r1\n\ -._1356:\n\ - str r0, [r2]\n\ -._1355:\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1363 + 8\n\ - ldr r0, ._1363 + 12\n\ - str r0, [r1]\n\ - ldr r0, ._1363 + 16\n\ - ldr r1, ._1363 + 20\n\ - add r0, r0, r1\n\ - mov r2, sl\n\ - strb r2, [r0]\n\ - ldr r4, ._1363 + 24\n\ - strb r2, [r4]\n\ - ldrb r1, [r4]\n\ - mov r0, #0x58\n\ - mul r0, r0, r1\n\ - ldr r1, ._1363 + 28\n\ - add r0, r0, r1\n\ - str r0, [sp]\n\ - mov r0, #0x0\n\ - mov r1, #0x28\n\ - mov r2, #0x0\n\ - mov r3, #0x4\n\ - bl EmitSetMonData\n\ - ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ - bl ._1540\n\ -._1364:\n\ - .align 2, 0\n\ -._1363:\n\ - .word gBattleMons\n\ - .word 0xfff0ffff\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_AbilityCuredStatus\n\ - .word +0x2000000\n\ - .word 0x16003\n\ - .word gActiveBank\n\ - .word gUnknown_02024ACC\n\ -._1347:\n\ - mov r0, sl\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov sl, r0\n\ - ldr r0, ._1368\n\ - ldrb r0, [r0]\n\ - cmp sl, r0\n\ - bcs ._1365 @cond_branch\n\ - b ._1366\n\ -._1365:\n\ - bl ._1534\n\ -._1369:\n\ - .align 2, 0\n\ -._1368:\n\ - .word gNoOfAllBanks\n\ -._750:\n\ - mov r3, #0x0\n\ - mov sl, r3\n\ - ldr r0, ._1377\n\ - ldrb r0, [r0]\n\ - cmp sl, r0\n\ - bcc ._1370 @cond_branch\n\ - b ._1534\n\ -._1370:\n\ - ldr r4, ._1377 + 4\n\ -._1375:\n\ - mov r0, #0x58\n\ - mov r5, sl\n\ - mul r5, r5, r0\n\ - add r0, r5, #0\n\ - add r0, r0, r4\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x3b\n\ - bne ._1373 @cond_branch\n\ - mov r0, sl\n\ - bl CastformDataTypeChange\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ - cmp r0, #0\n\ - beq ._1373 @cond_branch\n\ - b ._1374\n\ -._1373:\n\ - mov r0, sl\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov sl, r0\n\ - ldr r0, ._1377\n\ - ldrb r0, [r0]\n\ - cmp sl, r0\n\ - bcc ._1375 @cond_branch\n\ - b ._1534\n\ -._1378:\n\ - .align 2, 0\n\ -._1377:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ -._751:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, #0x1c\n\ - beq ._1379 @cond_branch\n\ - b ._1534\n\ -._1379:\n\ - ldr r4, ._1385\n\ - ldr r1, [r4]\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1381 @cond_branch\n\ - b ._1534\n\ -._1381:\n\ - ldr r0, ._1385 + 4\n\ - and r1, r1, r0\n\ - str r1, [r4]\n\ - ldr r3, ._1385 + 8\n\ - add r2, r7, r3\n\ - ldrb r1, [r2]\n\ - mov r0, #0x3f\n\ - and r0, r0, r1\n\ - strb r0, [r2]\n\ - cmp r0, #0x6\n\ - bne ._1383 @cond_branch\n\ - mov r0, #0x2\n\ - strb r0, [r2]\n\ -._1383:\n\ - ldr r1, ._1385 + 12\n\ - ldrb r0, [r2]\n\ - add r0, r0, #0x40\n\ - strb r0, [r1, #0x3]\n\ - ldr r0, ._1385 + 16\n\ - ldrb r1, [r0]\n\ - ldr r5, ._1385 + 20\n\ - add r0, r7, r5\n\ - strb r1, [r0]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1385 + 24\n\ - ldr r0, ._1385 + 28\n\ - str r0, [r1]\n\ - ldr r0, [r4]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r4]\n\ - b ._1392\n\ -._1386:\n\ - .align 2, 0\n\ -._1385:\n\ - .word gHitMarker\n\ - .word 0xffffbfff\n\ - .word 0x160ca\n\ - .word gBattleCommunication\n\ - .word gBankTarget\n\ - .word 0x16003\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_SynchronizeActivates\n\ -._752:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, #0x1c\n\ - beq ._1387 @cond_branch\n\ - b ._1534\n\ -._1387:\n\ - ldr r4, ._1393\n\ - ldr r1, [r4]\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1389 @cond_branch\n\ - b ._1534\n\ -._1389:\n\ - ldr r0, ._1393 + 4\n\ - and r1, r1, r0\n\ - str r1, [r4]\n\ - ldr r3, ._1393 + 8\n\ - add r2, r7, r3\n\ - ldrb r1, [r2]\n\ - mov r0, #0x3f\n\ - and r0, r0, r1\n\ - strb r0, [r2]\n\ - cmp r0, #0x6\n\ - bne ._1391 @cond_branch\n\ - mov r0, #0x2\n\ - strb r0, [r2]\n\ -._1391:\n\ - ldr r1, ._1393 + 12\n\ - ldrb r0, [r2]\n\ - strb r0, [r1, #0x3]\n\ - ldr r0, ._1393 + 16\n\ - ldrb r1, [r0]\n\ - ldr r5, ._1393 + 20\n\ - add r0, r7, r5\n\ - strb r1, [r0]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1393 + 24\n\ - ldr r0, ._1393 + 28\n\ - str r0, [r1]\n\ - ldr r0, [r4]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x6\n\ - orr r0, r0, r1\n\ - str r0, [r4]\n\ - b ._1392\n\ -._1394:\n\ - .align 2, 0\n\ -._1393:\n\ - .word gHitMarker\n\ - .word 0xffffbfff\n\ - .word 0x160ca\n\ - .word gBattleCommunication\n\ - .word gBankAttacker\n\ - .word 0x16003\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_SynchronizeActivates\n\ -._753:\n\ - mov r4, #0x0\n\ - ldr r0, ._1402\n\ - ldrb r1, [r0]\n\ - cmp r4, r1\n\ - blt ._1395 @cond_branch\n\ - b ._1534\n\ -._1395:\n\ - ldr r0, ._1402 + 4\n\ - add r5, r1, #0\n\ - ldr r2, ._1402 + 8\n\ - add r3, r0, #0\n\ - add r3, r3, #0x20\n\ - mov r6, #0x80\n\ - lsl r6, r6, #0xc\n\ -._1400:\n\ - ldrb r1, [r3]\n\ - cmp r1, #0x16\n\ - bne ._1398 @cond_branch\n\ - ldr r0, [r2]\n\ - and r0, r0, r6\n\ - cmp r0, #0\n\ - beq ._1398 @cond_branch\n\ - b ._1399\n\ -._1398:\n\ - add r2, r2, #0x4\n\ - add r3, r3, #0x58\n\ - add r4, r4, #0x1\n\ - cmp r4, r5\n\ - blt ._1400 @cond_branch\n\ - b ._1534\n\ -._1403:\n\ - .align 2, 0\n\ -._1402:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gStatuses3\n\ -._755:\n\ - mov r4, #0x0\n\ - ldr r0, ._1417\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1404 @cond_branch\n\ - b ._1534\n\ -._1404:\n\ - ldr r0, ._1417 + 4\n\ - mov r8, r0\n\ - ldr r1, ._1417 + 8\n\ - add r1, r1, #0x20\n\ - str r1, [sp, #0x1c]\n\ - mov r2, #0x0\n\ - str r2, [sp, #0x20]\n\ -._1434:\n\ - ldr r3, [sp, #0x1c]\n\ - ldrb r0, [r3]\n\ - cmp r0, #0x24\n\ - beq ._1406 @cond_branch\n\ - b ._1431\n\ -._1406:\n\ - ldr r0, ._1417 + 12\n\ - ldr r5, [sp, #0x20]\n\ - add r0, r5, r0\n\ - ldr r1, [r0]\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0xd\n\ - and r1, r1, r0\n\ - str r5, [sp, #0x18]\n\ - cmp r1, #0\n\ - bne ._1408 @cond_branch\n\ - b ._1431\n\ -._1408:\n\ - lsl r0, r4, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl GetBankIdentity\n\ - mov r1, #0x1\n\ - add r5, r0, #0\n\ - eor r5, r5, r1\n\ - and r5, r5, r1\n\ - add r0, r5, #0\n\ - bl GetBankByIdentity\n\ - lsl r0, r0, #0x18\n\ - lsr r6, r0, #0x18\n\ - add r0, r5, #2\n\ - bl GetBankByIdentity\n\ - lsl r0, r0, #0x18\n\ - lsr r7, r0, #0x18\n\ - ldr r0, ._1417 + 16\n\ - ldrh r1, [r0]\n\ - mov r2, #0x1\n\ - add r0, r2, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1410 @cond_branch\n\ - b ._1411\n\ -._1410:\n\ - mov r1, #0x58\n\ - add r0, r6, #0\n\ - mul r0, r0, r1\n\ - ldr r3, ._1417 + 8\n\ - add r1, r0, r3\n\ - add r0, r1, #0\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._1420 @cond_branch\n\ - ldrh r0, [r1, #0x28]\n\ - cmp r0, #0\n\ - beq ._1415 @cond_branch\n\ - mov r1, #0x58\n\ - add r0, r7, #0\n\ - mul r0, r0, r1\n\ - add r1, r0, r3\n\ - add r0, r1, #0\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._1415 @cond_branch\n\ - ldrh r0, [r1, #0x28]\n\ - cmp r0, #0\n\ - beq ._1415 @cond_branch\n\ - str r2, [sp, #0x24]\n\ - bl Random\n\ - ldr r2, [sp, #0x24]\n\ - add r1, r2, #0\n\ - and r1, r1, r0\n\ - lsl r1, r1, #0x1\n\ - orr r5, r5, r1\n\ - add r0, r5, #0\n\ - bl GetBankByIdentity\n\ - mov r2, r8\n\ - strb r0, [r2]\n\ - ldrb r0, [r2]\n\ - mov r3, #0x58\n\ - mul r0, r0, r3\n\ - ldr r5, ._1417 + 8\n\ - add r0, r0, r5\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - ldr r1, [sp, #0x1c]\n\ - strb r0, [r1]\n\ - ldrb r0, [r2]\n\ - mul r0, r0, r3\n\ - add r0, r0, r5\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - ldr r2, ._1417 + 20\n\ - strb r0, [r2]\n\ - b ._1416\n\ -._1418:\n\ - .align 2, 0\n\ -._1417:\n\ - .word gNoOfAllBanks\n\ - .word gActiveBank\n\ - .word gBattleMons\n\ - .word gStatuses3\n\ - .word gBattleTypeFlags\n\ - .word gLastUsedAbility\n\ -._1415:\n\ - ldr r3, ._1422\n\ - mov r2, #0x58\n\ - add r0, r6, #0\n\ - mul r0, r0, r2\n\ - add r1, r0, r3\n\ - add r0, r1, #0\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._1420 @cond_branch\n\ - ldrh r0, [r1, #0x28]\n\ - cmp r0, #0\n\ - beq ._1420 @cond_branch\n\ - mov r5, r8\n\ - strb r6, [r5]\n\ - add r1, r4, #0\n\ - mul r1, r1, r2\n\ - add r1, r1, r3\n\ - ldrb r0, [r5]\n\ - mul r0, r0, r2\n\ - add r0, r0, r3\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - add r1, r1, #0x20\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - mul r0, r0, r2\n\ - add r0, r0, r3\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - b ._1426\n\ -._1423:\n\ - .align 2, 0\n\ -._1422:\n\ - .word gBattleMons\n\ -._1420:\n\ - ldr r3, ._1427\n\ - mov r2, #0x58\n\ - add r0, r7, #0\n\ - mul r0, r0, r2\n\ - add r1, r0, r3\n\ - add r0, r1, #0\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._1430 @cond_branch\n\ - ldrh r0, [r1, #0x28]\n\ - cmp r0, #0\n\ - beq ._1430 @cond_branch\n\ - mov r5, r8\n\ - strb r7, [r5]\n\ - add r1, r4, #0\n\ - mul r1, r1, r2\n\ - add r1, r1, r3\n\ - ldrb r0, [r5]\n\ - mul r0, r0, r2\n\ - add r0, r0, r3\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - add r1, r1, #0x20\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - mul r0, r0, r2\n\ - add r0, r0, r3\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - b ._1426\n\ -._1428:\n\ - .align 2, 0\n\ -._1427:\n\ - .word gBattleMons\n\ -._1411:\n\ - mov r2, r8\n\ - strb r6, [r2]\n\ - mov r3, #0x58\n\ - add r0, r6, #0\n\ - mul r0, r0, r3\n\ - ldr r5, ._1436\n\ - add r0, r0, r5\n\ - add r2, r0, #0\n\ - add r2, r2, #0x20\n\ - ldrb r1, [r2]\n\ - cmp r1, #0\n\ - beq ._1430 @cond_branch\n\ - ldrh r0, [r0, #0x28]\n\ - cmp r0, #0\n\ - beq ._1430 @cond_branch\n\ - ldr r0, [sp, #0x1c]\n\ - strb r1, [r0]\n\ - ldrb r0, [r2]\n\ -._1426:\n\ - ldr r1, ._1436 + 4\n\ - strb r0, [r1]\n\ -._1416:\n\ - mov r0, r9\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1430:\n\ - mov r2, r9\n\ - cmp r2, #0\n\ - beq ._1431 @cond_branch\n\ - b ._1432\n\ -._1431:\n\ - ldr r3, [sp, #0x1c]\n\ - add r3, r3, #0x58\n\ - str r3, [sp, #0x1c]\n\ - ldr r5, [sp, #0x20]\n\ - add r5, r5, #0x4\n\ - str r5, [sp, #0x20]\n\ - add r4, r4, #0x1\n\ - ldr r0, ._1436 + 8\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - bge ._1433 @cond_branch\n\ - b ._1434\n\ -._1433:\n\ - b ._1534\n\ -._1437:\n\ - .align 2, 0\n\ -._1436:\n\ - .word gBattleMons\n\ - .word gLastUsedAbility\n\ - .word gNoOfAllBanks\n\ -._754:\n\ - mov r4, #0x0\n\ - ldr r0, ._1445\n\ - ldrb r1, [r0]\n\ - cmp r4, r1\n\ - blt ._1438 @cond_branch\n\ - b ._1534\n\ -._1438:\n\ - ldr r0, ._1445 + 4\n\ - add r5, r1, #0\n\ - ldr r2, ._1445 + 8\n\ - add r3, r0, #0\n\ - add r3, r3, #0x20\n\ - mov r6, #0x80\n\ - lsl r6, r6, #0xc\n\ -._1443:\n\ - ldrb r1, [r3]\n\ - cmp r1, #0x16\n\ - bne ._1441 @cond_branch\n\ - ldr r0, [r2]\n\ - and r0, r0, r6\n\ - cmp r0, #0\n\ - beq ._1441 @cond_branch\n\ - b ._1442\n\ -._1441:\n\ - add r2, r2, #0x4\n\ - add r3, r3, #0x58\n\ - add r4, r4, #0x1\n\ - cmp r4, r5\n\ - blt ._1443 @cond_branch\n\ - b ._1534\n\ -._1446:\n\ - .align 2, 0\n\ -._1445:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gStatuses3\n\ -._756:\n\ - mov r0, sl\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r5, r0, #0x18\n\ - mov r4, #0x0\n\ - ldr r0, ._1453\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1447 @cond_branch\n\ - b ._1534\n\ -._1447:\n\ - ldr r7, ._1453 + 4\n\ -._1451:\n\ - lsl r0, r4, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - add r3, r4, #1\n\ - cmp r0, r5\n\ - beq ._1450 @cond_branch\n\ - mov r0, #0x58\n\ - mul r0, r0, r4\n\ - add r0, r0, r7\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne ._1450 @cond_branch\n\ - ldr r0, ._1453 + 8\n\ - strb r6, [r0]\n\ - lsl r0, r3, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1450:\n\ - add r4, r3, #0\n\ - ldr r0, ._1453\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1451 @cond_branch\n\ - b ._1534\n\ -._1454:\n\ - .align 2, 0\n\ -._1453:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gLastUsedAbility\n\ -._757:\n\ - mov r0, sl\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r5, r0, #0x18\n\ - mov r4, #0x0\n\ - ldr r0, ._1461\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1455 @cond_branch\n\ - b ._1534\n\ -._1455:\n\ - ldr r7, ._1461 + 4\n\ -._1459:\n\ - lsl r0, r4, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - add r3, r4, #1\n\ - cmp r0, r5\n\ - bne ._1458 @cond_branch\n\ - mov r0, #0x58\n\ - mul r0, r0, r4\n\ - add r0, r0, r7\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne ._1458 @cond_branch\n\ - ldr r0, ._1461 + 8\n\ - strb r6, [r0]\n\ - lsl r0, r3, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1458:\n\ - add r4, r3, #0\n\ - ldr r0, ._1461\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1459 @cond_branch\n\ - b ._1534\n\ -._1462:\n\ - .align 2, 0\n\ -._1461:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gLastUsedAbility\n\ -._758:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, #0xfd\n\ - beq ._1463 @cond_branch\n\ - cmp r0, #0xfe\n\ - beq ._1464 @cond_branch\n\ - mov r4, #0x0\n\ - ldr r0, ._1468\n\ - add r5, r0, #0\n\ - ldrb r2, [r5]\n\ - cmp r4, r2\n\ - blt ._1465 @cond_branch\n\ - b ._1534\n\ -._1465:\n\ - ldr r2, ._1468 + 4\n\ - b ._1485\n\ -._1469:\n\ - .align 2, 0\n\ -._1468:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ -._1463:\n\ - mov r4, #0x0\n\ - ldr r0, ._1475\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1470 @cond_branch\n\ - b ._1534\n\ -._1470:\n\ - ldr r5, ._1475 + 4\n\ - mov r2, #0x80\n\ - lsl r2, r2, #0x9\n\ - add r1, r0, #0\n\ -._1473:\n\ - lsl r0, r4, #0x2\n\ - add r0, r0, r5\n\ - ldr r0, [r0]\n\ - and r0, r0, r2\n\ - add r3, r4, #1\n\ - cmp r0, #0\n\ - beq ._1472 @cond_branch\n\ - lsl r0, r3, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1472:\n\ - add r4, r3, #0\n\ - cmp r4, r1\n\ - blt ._1473 @cond_branch\n\ - b ._1534\n\ -._1476:\n\ - .align 2, 0\n\ -._1475:\n\ - .word gNoOfAllBanks\n\ - .word gStatuses3\n\ -._1464:\n\ - mov r4, #0x0\n\ - ldr r0, ._1482\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1477 @cond_branch\n\ - b ._1534\n\ -._1477:\n\ - ldr r5, ._1482 + 4\n\ - mov r2, #0x80\n\ - lsl r2, r2, #0xa\n\ - add r1, r0, #0\n\ -._1480:\n\ - lsl r0, r4, #0x2\n\ - add r0, r0, r5\n\ - ldr r0, [r0]\n\ - and r0, r0, r2\n\ - add r3, r4, #1\n\ - cmp r0, #0\n\ - beq ._1479 @cond_branch\n\ - lsl r0, r3, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1479:\n\ - add r4, r3, #0\n\ - cmp r4, r1\n\ - blt ._1480 @cond_branch\n\ - b ._1534\n\ -._1483:\n\ - .align 2, 0\n\ -._1482:\n\ - .word gNoOfAllBanks\n\ - .word gStatuses3\n\ -._1485:\n\ - mov r0, #0x58\n\ - mul r0, r0, r4\n\ - add r0, r0, r2\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - add r3, r4, #1\n\ - cmp r0, r6\n\ - bne ._1484 @cond_branch\n\ - mov r0, r8\n\ - strb r6, [r0]\n\ - lsl r0, r3, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1484:\n\ - add r4, r3, #0\n\ - ldrb r1, [r5]\n\ - cmp r4, r1\n\ - blt ._1485 @cond_branch\n\ - b ._1534\n\ -._763:\n\ - mov r4, #0x0\n\ - ldr r0, ._1493\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1487 @cond_branch\n\ - b ._1534\n\ -._1487:\n\ - ldr r7, ._1493 + 4\n\ - add r2, r0, #0\n\ - mov r5, #0x58\n\ -._1491:\n\ - add r0, r4, #0\n\ - mul r0, r0, r5\n\ - add r1, r0, r7\n\ - add r0, r1, #0\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - add r3, r4, #1\n\ - cmp r0, r6\n\ - bne ._1490 @cond_branch\n\ - ldrh r0, [r1, #0x28]\n\ - cmp r0, #0\n\ - beq ._1490 @cond_branch\n\ - mov r0, r8\n\ - strb r6, [r0]\n\ - lsl r0, r3, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1490:\n\ - add r4, r3, #0\n\ - cmp r4, r2\n\ - blt ._1491 @cond_branch\n\ - b ._1534\n\ -._1494:\n\ - .align 2, 0\n\ -._1493:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ -._759:\n\ - mov r4, #0x0\n\ - ldr r0, ._1501\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1495 @cond_branch\n\ - b ._1534\n\ -._1495:\n\ - ldr r7, ._1501 + 4\n\ - add r1, r0, #0\n\ - mov r5, #0x58\n\ - ldr r2, ._1501 + 8\n\ -._1499:\n\ - add r0, r4, #0\n\ - mul r0, r0, r5\n\ - add r0, r0, r7\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - add r3, r4, #1\n\ - cmp r0, r6\n\ - bne ._1498 @cond_branch\n\ - cmp r4, sl\n\ - beq ._1498 @cond_branch\n\ - strb r6, [r2]\n\ - lsl r0, r3, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1498:\n\ - add r4, r3, #0\n\ - cmp r4, r1\n\ - blt ._1499 @cond_branch\n\ - b ._1534\n\ -._1502:\n\ - .align 2, 0\n\ -._1501:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gLastUsedAbility\n\ -._760:\n\ - mov r0, sl\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r5, r0, #0x18\n\ - mov r4, #0x0\n\ - ldr r0, ._1509\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1503 @cond_branch\n\ - b ._1534\n\ -._1503:\n\ - ldr r7, ._1509 + 4\n\ -._1507:\n\ - lsl r0, r4, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, r5\n\ - beq ._1506 @cond_branch\n\ - mov r0, #0x58\n\ - mul r0, r0, r4\n\ - add r0, r0, r7\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne ._1506 @cond_branch\n\ - ldr r0, ._1509 + 8\n\ - strb r6, [r0]\n\ - mov r0, r9\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1506:\n\ - add r4, r4, #0x1\n\ - ldr r0, ._1509\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1507 @cond_branch\n\ - b ._1534\n\ -._1510:\n\ - .align 2, 0\n\ -._1509:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gLastUsedAbility\n\ -._761:\n\ - mov r0, sl\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r5, r0, #0x18\n\ - mov r4, #0x0\n\ - ldr r0, ._1517\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1511 @cond_branch\n\ - b ._1534\n\ -._1511:\n\ - ldr r7, ._1517 + 4\n\ -._1515:\n\ - lsl r0, r4, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, r5\n\ - bne ._1514 @cond_branch\n\ - mov r0, #0x58\n\ - mul r0, r0, r4\n\ - add r0, r0, r7\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne ._1514 @cond_branch\n\ - ldr r0, ._1517 + 8\n\ - strb r6, [r0]\n\ - mov r0, r9\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1514:\n\ - add r4, r4, #0x1\n\ - ldr r0, ._1517\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt ._1515 @cond_branch\n\ - b ._1534\n\ -._1518:\n\ - .align 2, 0\n\ -._1517:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gLastUsedAbility\n\ -._853:\n\ - ldr r0, ._1520\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r0, ._1520 + 4\n\ - ldr r2, ._1520 + 8\n\ - add r1, r0, r2\n\ - strb r6, [r1]\n\ - mov r1, r9\n\ - sub r1, r1, #0x1\n\ - ldr r3, ._1520 + 12\n\ - add r0, r0, r3\n\ - strb r1, [r0]\n\ - b ._1534\n\ -._1521:\n\ - .align 2, 0\n\ -._1520:\n\ - .word BattleScript_CastformChange\n\ - .word +0x2000000\n\ - .word 0x16003\n\ - .word 0x1609b\n\ -._1374:\n\ - ldr r0, ._1523\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r0, ._1523 + 4\n\ - ldr r5, ._1523 + 8\n\ - add r1, r0, r5\n\ - mov r2, sl\n\ - strb r2, [r1]\n\ - mov r1, r9\n\ - sub r1, r1, #0x1\n\ - ldr r3, ._1523 + 12\n\ - add r0, r0, r3\n\ - strb r1, [r0]\n\ - b ._1540\n\ -._1524:\n\ - .align 2, 0\n\ -._1523:\n\ - .word BattleScript_CastformChange\n\ - .word +0x2000000\n\ - .word 0x16003\n\ - .word 0x1609b\n\ -._1399:\n\ - mov r5, r8\n\ - strb r1, [r5]\n\ - ldr r0, [r2]\n\ - ldr r1, ._1526\n\ - and r0, r0, r1\n\ - str r0, [r2]\n\ - ldr r0, ._1526 + 4\n\ - bl BattleScriptPushCursorAndCallback\n\ - b ._1525\n\ -._1527:\n\ - .align 2, 0\n\ -._1526:\n\ - .word 0xfff7ffff\n\ - .word gUnknown_081D978C\n\ -._1432:\n\ - ldr r0, ._1529\n\ - bl BattleScriptPushCursorAndCallback\n\ - ldr r1, ._1529 + 4\n\ - ldr r2, [sp, #0x18]\n\ - add r1, r2, r1\n\ - ldr r0, [r1]\n\ - ldr r2, ._1529 + 8\n\ - and r0, r0, r2\n\ - str r0, [r1]\n\ - ldr r0, ._1529 + 12\n\ - ldr r3, ._1529 + 16\n\ - add r0, r0, r3\n\ - strb r4, [r0]\n\ - ldr r1, ._1529 + 20\n\ - mov r4, #0xfd\n\ - strb r4, [r1]\n\ - mov r0, #0x4\n\ - strb r0, [r1, #0x1]\n\ - ldr r2, ._1529 + 24\n\ - ldrb r0, [r2]\n\ - strb r0, [r1, #0x2]\n\ - ldr r3, ._1529 + 28\n\ - ldrb r0, [r2]\n\ - lsl r0, r0, #0x1\n\ - add r0, r0, r3\n\ - ldrh r0, [r0]\n\ - strb r0, [r1, #0x3]\n\ - mov r0, #0xff\n\ - strb r0, [r1, #0x4]\n\ - ldr r1, ._1529 + 32\n\ - strb r4, [r1]\n\ - mov r0, #0x9\n\ - strb r0, [r1, #0x1]\n\ - ldr r0, ._1529 + 36\n\ - ldrb r0, [r0]\n\ - strb r0, [r1, #0x2]\n\ - mov r0, #0x1\n\ - neg r0, r0\n\ - strb r0, [r1, #0x3]\n\ - b ._1534\n\ -._1530:\n\ - .align 2, 0\n\ -._1529:\n\ - .word BattleScript_TraceActivates\n\ - .word gStatuses3\n\ - .word 0xffefffff\n\ - .word +0x2000000\n\ - .word 0x16003\n\ - .word gBattleTextBuff1\n\ - .word gActiveBank\n\ - .word gBattlePartyID\n\ - .word gBattleTextBuff2\n\ - .word gLastUsedAbility\n\ -._1442:\n\ - mov r5, r8\n\ - strb r1, [r5]\n\ - ldr r0, [r2]\n\ - ldr r1, ._1532\n\ - and r0, r0, r1\n\ - str r0, [r2]\n\ - bl BattleScriptPushCursor\n\ - ldr r1, ._1532 + 4\n\ - ldr r0, ._1532 + 8\n\ - str r0, [r1]\n\ -._1525:\n\ - ldr r0, ._1532 + 12\n\ - ldr r1, ._1532 + 16\n\ - add r0, r0, r1\n\ - strb r4, [r0]\n\ -._1392:\n\ - mov r0, r9\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ - b ._1534\n\ -._1533:\n\ - .align 2, 0\n\ -._1532:\n\ - .word 0xfff7ffff\n\ - .word gBattlescriptCurrInstr\n\ - .word gUnknown_081D9795\n\ - .word +0x2000000\n\ - .word 0x160dd\n\ -._762:\n\ - mov r4, #0x0\n\ - ldr r0, ._1541\n\ - ldrb r1, [r0]\n\ - cmp r4, r1\n\ - bge ._1534 @cond_branch\n\ - ldr r0, ._1541 + 4\n\ - add r2, r1, #0\n\ - add r1, r0, #0\n\ - add r1, r1, #0x20\n\ - ldr r3, ._1541 + 8\n\ -._1537:\n\ - ldrb r0, [r1]\n\ - cmp r0, r6\n\ - bne ._1536 @cond_branch\n\ - cmp r4, sl\n\ - beq ._1536 @cond_branch\n\ - strb r6, [r3]\n\ - mov r0, r9\n\ - add r0, r0, #0x1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r9, r0\n\ -._1536:\n\ - add r1, r1, #0x58\n\ - add r4, r4, #0x1\n\ - cmp r4, r2\n\ - blt ._1537 @cond_branch\n\ -._1534:\n\ - mov r2, r9\n\ - cmp r2, #0\n\ - beq ._1540 @cond_branch\n\ -._916:\n\ - ldr r3, [sp, #0x4]\n\ - cmp r3, #0xb\n\ - bhi ._1540 @cond_branch\n\ - ldr r1, ._1541 + 8\n\ - ldrb r0, [r1]\n\ - cmp r0, #0xff\n\ - beq ._1540 @cond_branch\n\ - add r1, r0, #0\n\ - mov r0, sl\n\ - bl RecordAbilityBattle\n\ -._1540:\n\ - mov r0, r9\n\ - add sp, sp, #0x28\n\ - pop {r3, r4, r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov sl, r5\n\ - pop {r4, r5, r6, r7}\n\ - pop {r1}\n\ - bx r1\n\ -._1542:\n\ - .align 2, 0\n\ -._1541:\n\ - .word gNoOfAllBanks\n\ - .word gBattleMons\n\ - .word gLastUsedAbility"); -} -#else u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { u8 effect = 0; @@ -5796,17 +1738,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else moveType = gBattleMoves[move].type; - //_080184AC switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - //_08018518 if (gBankAttacker >= gNoOfAllBanks) gBankAttacker = bank; switch (gLastUsedAbility) { case 0xFF: //weather from overworld - //_08018586 switch (GetCurrentWeather()) { case WEATHER_RAIN_LIGHT: @@ -5846,7 +1785,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_DRIZZLE: - //_08018680 if (!(gBattleWeather & WEATHER_RAIN_PERMANENT)) { gBattleWeather = (WEATHER_RAIN_PERMANENT | WEATHER_RAIN_TEMPORARY); @@ -5856,7 +1794,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_SAND_STREAM: - //_080186B8 if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT)) { gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY); @@ -5866,7 +1803,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_DROUGHT: - //_080186F0 if (!(gBattleWeather & WEATHER_SUN_PERMANENT)) { gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY); @@ -5876,7 +1812,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_INTIMIDATE: - //_08018728 if (!(gSpecialStatuses[bank].intimidatedPoke)) { gStatuses3[bank] |= STATUS3_INTIMIDATE_POKES; @@ -5884,7 +1819,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_FORECAST: - //_0801875C effect = CastformDataTypeChange(bank); if (effect != 0) { @@ -5894,7 +1828,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_TRACE: - //_080187A0 if (!(gSpecialStatuses[bank].traced)) { gStatuses3[bank] |= STATUS3_TRACE; @@ -5903,7 +1836,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_CLOUD_NINE: case ABILITY_AIR_LOCK: - //_080187DC { // that's a weird choice for a variable, why not use i or bank? for (target1 = 0; target1 < gNoOfAllBanks; target1++) @@ -5922,7 +1854,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_ENDTURN: // 1 - //_08018814 if (gBattleMons[bank].hp != 0) { gBankAttacker = bank; @@ -5982,7 +1913,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_MOVES_BLOCK: // 2 - //_08018A40 if (gLastUsedAbility == ABILITY_SOUNDPROOF) { for (i = 0; gSoundMovesTable[i] != 0xFFFF; i++) @@ -6000,7 +1930,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_ABSORBING: // 3 - //_08018AD8 if (move) { switch (gLastUsedAbility) @@ -6070,11 +1999,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CONTACT: // 4 - //_08018CF0 switch (gLastUsedAbility) { case ABILITY_COLOR_CHANGE: - //_08018DCC if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 @@ -6095,7 +2022,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_ROUGH_SKIN: - //_08018E94 if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg @@ -6111,100 +2037,195 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_EFFECT_SPORE: - //_08018F54 - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (Random() % 10) == 0) - { - do - { - gBattleCommunication[MOVE_EFFECT_BYTE] = Random() & 3; - } while (gBattleCommunication[MOVE_EFFECT_BYTE] == 0); - if (gBattleCommunication[MOVE_EFFECT_BYTE] == 3) - gBattleCommunication[MOVE_EFFECT_BYTE] += 2; - gBattleCommunication[MOVE_EFFECT_BYTE] += 0x40; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; - effect++; - } + if (DEBUG && (gUnknown_02023A14_50 & 4)) + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + { + do + { + gBattleCommunication[MOVE_EFFECT_BYTE] = Random() & 3; + } while (gBattleCommunication[MOVE_EFFECT_BYTE] == 0); + if (gBattleCommunication[MOVE_EFFECT_BYTE] == 3) + gBattleCommunication[MOVE_EFFECT_BYTE] += 2; + gBattleCommunication[MOVE_EFFECT_BYTE] += 0x40; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } + else + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (Random() % 10) == 0) + { + do + { + gBattleCommunication[MOVE_EFFECT_BYTE] = Random() & 3; + } while (gBattleCommunication[MOVE_EFFECT_BYTE] == 0); + if (gBattleCommunication[MOVE_EFFECT_BYTE] == 3) + gBattleCommunication[MOVE_EFFECT_BYTE] += 2; + gBattleCommunication[MOVE_EFFECT_BYTE] += 0x40; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } break; case ABILITY_POISON_POINT: - //_0801904C - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (Random() % 3) == 0) - { - gBattleCommunication[MOVE_EFFECT_BYTE] = 0x42; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; - effect++; - } + if (DEBUG && (gUnknown_02023A14_50 & 4)) + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + { + gBattleCommunication[MOVE_EFFECT_BYTE] = 0x42; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } + else + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (Random() % 3) == 0) + { + gBattleCommunication[MOVE_EFFECT_BYTE] = 0x42; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } break; case ABILITY_STATIC: - //_08019128 - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (Random() % 3) == 0) - { - gBattleCommunication[MOVE_EFFECT_BYTE] = 0x45; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; - effect++; - } + if (DEBUG && (gUnknown_02023A14_50 & 4)) + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + { + gBattleCommunication[MOVE_EFFECT_BYTE] = 0x45; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } + else + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (Random() % 3) == 0) + { + gBattleCommunication[MOVE_EFFECT_BYTE] = 0x45; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } break; case ABILITY_FLAME_BODY: - //_08019204 - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (Random() % 3) == 0) - { - gBattleCommunication[MOVE_EFFECT_BYTE] = 0x43; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; - effect++; - } + if (DEBUG && (gUnknown_02023A14_50 & 4)) + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special)) + { + gBattleCommunication[MOVE_EFFECT_BYTE] = 0x43; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } + else + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (Random() % 3) == 0) + { + gBattleCommunication[MOVE_EFFECT_BYTE] = 0x43; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; + gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + effect++; + } + } break; case ABILITY_CUTE_CHARM: - //_080192E0 - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && gBattleMons[gBankTarget].hp != 0 - && (Random() % 3) == 0 - && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS - && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) - && !(gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) - && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != 0xFF - && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != 0xFF) - { - gBattleMons[gBankAttacker].status2 |= (gBitTable[gBankTarget] << 0x10); - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; - effect++; - } + if (DEBUG && (gUnknown_02023A14_50 & 4)) + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBankTarget].hp != 0 + && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS + && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) + && !(gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != 0xFF + && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != 0xFF) + { + gBattleMons[gBankAttacker].status2 |= (gBitTable[gBankTarget] << 0x10); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; + effect++; + } + } + else + { + if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + && gBattleMons[gBankAttacker].hp != 0 + && !gProtectStructs[gBankAttacker].confusionSelfDmg + && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && gBattleMons[gBankTarget].hp != 0 + && (Random() % 3) == 0 + && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS + && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) + && !(gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != 0xFF + && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != 0xFF) + { + gBattleMons[gBankAttacker].status2 |= (gBitTable[gBankTarget] << 0x10); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; + effect++; + } + } break; } break; case ABILITYEFFECT_IMMUNITY: // 5 - //_08019448 { for (bank = 0; bank < gNoOfAllBanks; bank++) { @@ -6288,7 +2309,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_FORECAST: // 6 - //_080197B4 { for (bank = 0; bank < gNoOfAllBanks; bank++) { @@ -6307,7 +2327,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_SYNCHRONIZE: // 7 - //_08019804 if (gLastUsedAbility == ABILITY_SYNCHRONIZE && (gHitMarker & HITMARKER_SYNCHRONISE_EFFECT)) { gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT); @@ -6323,7 +2342,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_ATK_SYNCHRONIZE: // 8 - //_08019880 if (gLastUsedAbility == ABILITY_SYNCHRONIZE && (gHitMarker & HITMARKER_SYNCHRONISE_EFFECT)) { gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT); @@ -6339,7 +2357,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE1: // 9 - //_080198FC for (i = 0; i < gNoOfAllBanks; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && gStatuses3[i] & STATUS3_INTIMIDATE_POKES) @@ -6354,7 +2371,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_TRACE: // 11 - //_08019940 for (i = 0; i < gNoOfAllBanks; i++) { if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) @@ -6368,7 +2384,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - //_080199AE gActiveBank = GetBankByIdentity(((Random() & 1) * 2) | side); gBattleMons[i].ability = gBattleMons[gActiveBank].ability; gLastUsedAbility = gBattleMons[gActiveBank].ability; @@ -6376,7 +2391,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0) { - //_08019A34 gActiveBank = target1; gBattleMons[i].ability = gBattleMons[gActiveBank].ability; gLastUsedAbility = gBattleMons[gActiveBank].ability; @@ -6384,7 +2398,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else if (gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - //_08019A78 gActiveBank = target2; gBattleMons[i].ability = gBattleMons[gActiveBank].ability; gLastUsedAbility = gBattleMons[gActiveBank].ability; @@ -6392,7 +2405,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } } else - //_08019ABC { gActiveBank = target1; if (gBattleMons[target1].ability && gBattleMons[target1].hp) @@ -6424,7 +2436,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE2: // 10 - //_08019B1C for (i = 0; i < gNoOfAllBanks; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && (gStatuses3[i] & STATUS3_INTIMIDATE_POKES)) @@ -6440,7 +2451,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_OTHER_SIDE: // 12 - //_08019B60 side = GetBankSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { @@ -6452,7 +2462,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 - //_08019BBC side = GetBankSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { @@ -6464,7 +2473,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_FIELD_SPORT: // 14 - //_08019C18 switch (gLastUsedAbility) { case 0xFD: @@ -6494,7 +2502,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_ON_FIELD: // 19 - //_08019CD4 for (i = 0; i < gNoOfAllBanks; i++) { if (gBattleMons[i].ability == ability && gBattleMons[i].hp != 0) @@ -6505,7 +2512,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK: // 15 - //_08019D18 for (i = 0; i < gNoOfAllBanks; i++) { if (gBattleMons[i].ability == ability && i != bank) @@ -6516,7 +2522,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_OTHER_SIZE: // 16 - //_08019D5C side = GetBankSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { @@ -6528,7 +2533,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 - //_08019DB8 side = GetBankSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { @@ -6540,7 +2544,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_ON_FIELD: // 18 - //_08019F44 for (i = 0; i < gNoOfAllBanks; i++) { if (gBattleMons[i].ability == ability && i != bank) @@ -6551,14 +2554,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; } - //_08019F76 if (effect && caseID < 0xC && gLastUsedAbility != 0xFF) RecordAbilityBattle(bank, gLastUsedAbility); } return effect; } -#endif void BattleScriptExecute(const u8* BS_ptr) { -- cgit v1.2.3 From 94c9998804e9da20edf5e7285603c3e03b07e3c5 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 24 Jan 2018 18:58:29 -0600 Subject: integrate debug IsMonDisobedient --- src/battle/battle_util.c | 440 ++--------------------------------------------- 1 file changed, 18 insertions(+), 422 deletions(-) (limited to 'src') diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index faa395a97..194a002d3 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -3439,417 +3439,6 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target return targetBank; } -#if DEBUG -__attribute__((naked)) -u8 IsMonDisobedient(void) -{ - asm("\ - push {r4, r5, r6, r7, lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6, r7}\n\ - add sp, sp, #0xfffffff0\n\ - ldr r0, ._1785\n\ - ldrh r1, [r0]\n\ - mov r0, #0x2\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1791 @cond_branch\n\ - ldr r4, ._1785 + 4\n\ - ldrb r0, [r4]\n\ - bl GetBankSide\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x1\n\ - beq ._1791 @cond_branch\n\ - ldr r2, ._1785 + 8\n\ - ldrb r1, [r4]\n\ - mov r0, #0x58\n\ - mul r1, r1, r0\n\ - add r0, r2, #0\n\ - add r0, r0, #0x54\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - add r2, r2, #0x3c\n\ - add r1, r1, r2\n\ - bl IsOtherTrainer\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1791 @cond_branch\n\ - ldr r0, ._1785 + 12\n\ - ldrb r1, [r0]\n\ - mov r0, #0x40\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1783 @cond_branch\n\ - mov r0, #0xa\n\ - b ._1784\n\ -._1786:\n\ - .align 2, 0\n\ -._1785:\n\ - .word gBattleTypeFlags\n\ - .word gBankAttacker\n\ - .word gBattleMons\n\ - .word gUnknown_02023A14_50\n\ -._1783:\n\ - ldr r0, ._1794\n\ - bl FlagGet\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1791 @cond_branch\n\ - mov r1, #0xa\n\ - mov r8, r1\n\ - ldr r0, ._1794 + 4\n\ - bl FlagGet\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1788 @cond_branch\n\ - mov r2, #0x1e\n\ - mov r8, r2\n\ -._1788:\n\ - ldr r0, ._1794 + 8\n\ - bl FlagGet\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1789 @cond_branch\n\ - mov r4, #0x32\n\ - mov r8, r4\n\ -._1789:\n\ - ldr r0, ._1794 + 12\n\ - bl FlagGet\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1790 @cond_branch\n\ - mov r0, #0x46\n\ -._1784:\n\ - mov r8, r0\n\ -._1790:\n\ - ldr r5, ._1794 + 16\n\ - ldr r7, ._1794 + 20\n\ - ldrb r0, [r7]\n\ - mov r6, #0x58\n\ - mul r0, r0, r6\n\ - add r0, r0, r5\n\ - add r0, r0, #0x2a\n\ - ldrb r0, [r0]\n\ - cmp r0, r8\n\ - bls ._1791 @cond_branch\n\ - bl Random\n\ - mov r1, #0xff\n\ - and r1, r1, r0\n\ - ldrb r0, [r7]\n\ - add r2, r0, #0\n\ - mul r2, r2, r6\n\ - add r0, r2, r5\n\ - add r0, r0, #0x2a\n\ - ldrb r0, [r0]\n\ - add r0, r0, r8\n\ - mul r0, r0, r1\n\ - asr r4, r0, #0x8\n\ - cmp r4, r8\n\ - bge ._1792 @cond_branch\n\ -._1791:\n\ - mov r0, #0x0\n\ - b ._1823\n\ -._1795:\n\ - .align 2, 0\n\ -._1794:\n\ - .word 0x80e\n\ - .word 0x808\n\ - .word 0x80a\n\ - .word 0x80c\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ -._1792:\n\ - ldr r3, ._1801\n\ - ldrh r0, [r3]\n\ - cmp r0, #0x63\n\ - bne ._1796 @cond_branch\n\ - add r0, r5, #0\n\ - add r0, r0, #0x50\n\ - add r0, r2, r0\n\ - ldr r1, [r0]\n\ - ldr r2, ._1801 + 4\n\ - and r1, r1, r2\n\ - str r1, [r0]\n\ -._1796:\n\ - ldrb r0, [r7]\n\ - mul r0, r0, r6\n\ - add r1, r5, #0\n\ - add r1, r1, #0x4c\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x7\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1799 @cond_branch\n\ - ldrh r0, [r3]\n\ - cmp r0, #0xad\n\ - beq ._1798 @cond_branch\n\ - cmp r0, #0xd6\n\ - bne ._1799 @cond_branch\n\ -._1798:\n\ - ldr r1, ._1801 + 8\n\ - ldr r0, ._1801 + 12\n\ - b ._1819\n\ -._1802:\n\ - .align 2, 0\n\ -._1801:\n\ - .word gCurrentMove\n\ - .word 0xff7fffff\n\ - .word gBattlescriptCurrInstr\n\ - .word gUnknown_081D995F\n\ -._1799:\n\ - bl Random\n\ - mov r5, #0xff\n\ - add r1, r5, #0\n\ - and r1, r1, r0\n\ - ldr r6, ._1808\n\ - ldr r2, ._1808 + 4\n\ - mov r9, r2\n\ - ldrb r3, [r2]\n\ - mov r7, #0x58\n\ - add r0, r3, #0\n\ - mul r0, r0, r7\n\ - add r0, r0, r6\n\ - add r0, r0, #0x2a\n\ - ldrb r2, [r0]\n\ - mov r4, r8\n\ - add r0, r2, r4\n\ - mul r0, r0, r1\n\ - asr r4, r0, #0x8\n\ - cmp r4, r8\n\ - bge ._1803 @cond_branch\n\ - ldr r7, ._1808 + 8\n\ - ldr r5, ._1808 + 12\n\ - ldrb r0, [r5]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r7\n\ - ldrb r1, [r0]\n\ - add r0, r3, #0\n\ - mov r2, #0xff\n\ - bl CheckMoveLimitations\n\ - lsl r0, r0, #0x18\n\ - lsr r4, r0, #0x18\n\ - cmp r4, #0xf\n\ - bne ._1804 @cond_branch\n\ - b ._1805\n\ -._1804:\n\ - add r6, r5, #0\n\ - ldr r0, ._1808 + 16\n\ - mov r9, r0\n\ - mov r1, #0x3\n\ - mov r8, r1\n\ -._1806:\n\ - bl Random\n\ - mov r2, r8\n\ - and r0, r0, r2\n\ - mov r1, r9\n\ - strb r0, [r1]\n\ - strb r0, [r6]\n\ - ldrb r0, [r6]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r7\n\ - ldr r5, [r0]\n\ - and r5, r5, r4\n\ - cmp r5, #0\n\ - bne ._1806 @cond_branch\n\ - ldr r4, ._1808 + 20\n\ - ldr r3, ._1808\n\ - ldr r0, ._1808 + 12\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x1\n\ - ldr r1, ._1808 + 4\n\ - ldrb r2, [r1]\n\ - mov r1, #0x58\n\ - mul r1, r1, r2\n\ - add r0, r0, r1\n\ - add r3, r3, #0xc\n\ - add r0, r0, r3\n\ - ldrh r0, [r0]\n\ - strh r0, [r4]\n\ - ldr r0, ._1808 + 24\n\ - strb r5, [r0, #0x3]\n\ - ldr r0, ._1808 + 28\n\ - mov r1, #0x0\n\ - strh r5, [r0]\n\ - ldr r0, ._1808 + 32\n\ - ldr r2, ._1808 + 36\n\ - add r0, r0, r2\n\ - strb r1, [r0]\n\ - ldr r1, ._1808 + 40\n\ - ldr r0, ._1808 + 44\n\ - str r0, [r1]\n\ - ldrh r0, [r4]\n\ - mov r1, #0x0\n\ - bl GetMoveTarget\n\ - ldr r1, ._1808 + 48\n\ - strb r0, [r1]\n\ - ldr r2, ._1808 + 52\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0xe\n\ - b ._1807\n\ -._1809:\n\ - .align 2, 0\n\ -._1808:\n\ - .word gBattleMons\n\ - .word gBankAttacker\n\ - .word gBitTable\n\ - .word gCurrMovePos\n\ - .word gUnknown_02024BE5\n\ - .word gRandomMove\n\ - .word gBattleCommunication\n\ - .word gDynamicBasePower\n\ - .word +0x2000000\n\ - .word 0x1601c\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_IgnoresAndUsesRandomMove\n\ - .word gBankTarget\n\ - .word gHitMarker\n\ -._1803:\n\ - mov r4, r8\n\ - sub r0, r2, r4\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - mov r8, r0\n\ - bl Random\n\ - add r4, r5, #0\n\ - and r4, r4, r0\n\ - cmp r4, r8\n\ - bge ._1818 @cond_branch\n\ - mov r1, r9\n\ - ldrb r0, [r1]\n\ - add r1, r0, #0\n\ - mul r1, r1, r7\n\ - add r0, r6, #0\n\ - add r0, r0, #0x4c\n\ - add r0, r1, r0\n\ - ldr r0, [r0]\n\ - and r0, r0, r5\n\ - cmp r0, #0\n\ - bne ._1818 @cond_branch\n\ - add r0, r1, r6\n\ - add r0, r0, #0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x48\n\ - beq ._1818 @cond_branch\n\ - cmp r0, #0xf\n\ - beq ._1818 @cond_branch\n\ - mov r2, #0x0\n\ - ldr r0, ._1820\n\ - ldrb r3, [r0]\n\ - add r7, r0, #0\n\ - cmp r2, r3\n\ - bge ._1816 @cond_branch\n\ - ldr r0, [r6, #0x50]\n\ - mov r1, #0x70\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1816 @cond_branch\n\ - add r1, r6, #0\n\ - add r1, r1, #0x50\n\ - mov r5, #0x70\n\ -._1817:\n\ - add r1, r1, #0x58\n\ - add r2, r2, #0x1\n\ - cmp r2, r3\n\ - bge ._1816 @cond_branch\n\ - ldr r0, [r1]\n\ - and r0, r0, r5\n\ - cmp r0, #0\n\ - beq ._1817 @cond_branch\n\ -._1816:\n\ - ldrb r7, [r7]\n\ - cmp r2, r7\n\ - bne ._1818 @cond_branch\n\ - ldr r1, ._1820 + 4\n\ - ldr r0, ._1820 + 8\n\ - b ._1819\n\ -._1821:\n\ - .align 2, 0\n\ -._1820:\n\ - .word gNoOfAllBanks\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_IgnoresAndFallsAsleep\n\ -._1818:\n\ - mov r2, r8\n\ - sub r4, r4, r2\n\ - cmp r4, r8\n\ - blt ._1822 @cond_branch\n\ -._1805:\n\ - bl Random\n\ - ldr r2, ._1824\n\ - mov r1, #0x3\n\ - and r1, r1, r0\n\ - strb r1, [r2, #0x5]\n\ - ldr r1, ._1824 + 4\n\ - ldr r0, ._1824 + 8\n\ -._1819:\n\ - str r0, [r1]\n\ - mov r0, #0x1\n\ - b ._1823\n\ -._1825:\n\ - .align 2, 0\n\ -._1824:\n\ - .word gBattleCommunication\n\ - .word gBattlescriptCurrInstr\n\ - .word BattleScript_MoveUsedLoafingAround\n\ -._1822:\n\ - ldr r4, ._1826\n\ - ldrb r1, [r4]\n\ - mov r0, #0x58\n\ - mul r1, r1, r0\n\ - ldr r0, ._1826 + 4\n\ - add r1, r1, r0\n\ - mov r0, #0x28\n\ - str r0, [sp]\n\ - mov r0, #0x0\n\ - str r0, [sp, #0x4]\n\ - ldrb r0, [r4]\n\ - str r0, [sp, #0x8]\n\ - ldrb r0, [r4]\n\ - str r0, [sp, #0xc]\n\ - add r0, r1, #0\n\ - mov r2, #0x1\n\ - mov r3, #0x0\n\ - bl CalculateBaseDamage\n\ - ldr r1, ._1826 + 8\n\ - str r0, [r1]\n\ - ldr r1, ._1826 + 12\n\ - ldrb r0, [r4]\n\ - strb r0, [r1]\n\ - ldr r1, ._1826 + 16\n\ - ldr r0, ._1826 + 20\n\ - str r0, [r1]\n\ - ldr r2, ._1826 + 24\n\ - ldr r0, [r2]\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0xc\n\ -._1807:\n\ - orr r0, r0, r1\n\ - str r0, [r2]\n\ - mov r0, #0x2\n\ -._1823:\n\ - add sp, sp, #0x10\n\ - pop {r3, r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4, r5, r6, r7}\n\ - pop {r1}\n\ - bx r1\n\ -._1827:\n\ - .align 2, 0\n\ -._1826:\n\ - .word gBankAttacker\n\ - .word gBattleMons\n\ - .word gBattleMoveDamage\n\ - .word gBankTarget\n\ - .word gBattlescriptCurrInstr\n\ - .word gUnknown_081D99A0\n\ - .word gHitMarker"); -} -#else u8 IsMonDisobedient(void) { u8 obedienceLevel; @@ -3858,17 +3447,25 @@ u8 IsMonDisobedient(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK || GetBankSide(gBankAttacker) == 1 - || !IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName) - || FlagGet(FLAG_BADGE08_GET)) - return 0; + || !IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName)) + return 0; - obedienceLevel = 10; - if (FlagGet(FLAG_BADGE02_GET)) - obedienceLevel = 30; - if (FlagGet(FLAG_BADGE04_GET)) - obedienceLevel = 50; - if (FlagGet(FLAG_BADGE06_GET)) - obedienceLevel = 70; + if (DEBUG && (gUnknown_02023A14_50 & 0x40)) + { + obedienceLevel = 10; + } + else + { + if (FlagGet(FLAG_BADGE08_GET)) + return 0; + obedienceLevel = 10; + if (FlagGet(FLAG_BADGE02_GET)) + obedienceLevel = 30; + if (FlagGet(FLAG_BADGE04_GET)) + obedienceLevel = 50; + if (FlagGet(FLAG_BADGE06_GET)) + obedienceLevel = 70; + } if (gBattleMons[gBankAttacker].level <= obedienceLevel) return 0; @@ -3950,4 +3547,3 @@ u8 IsMonDisobedient(void) } } } -#endif -- cgit v1.2.3 From 8cce68537704adb0d1d34a96fa977675ad1a0340 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 24 Jan 2018 20:11:06 -0600 Subject: integrate debug functions in field_control_avatar.c --- src/field/field_control_avatar.c | 537 ++++++--------------------------------- src/scene/new_game.c | 4 - 2 files changed, 77 insertions(+), 464 deletions(-) (limited to 'src') diff --git a/src/field/field_control_avatar.c b/src/field/field_control_avatar.c index 9ac5ae11d..8dc1fed18 100644 --- a/src/field/field_control_avatar.c +++ b/src/field/field_control_avatar.c @@ -4,6 +4,7 @@ #include "bike.h" #include "coord_event_weather.h" #include "daycare.h" +#include "debug.h" #include "event_data.h" #include "field_fadetransition.h" #include "field_player_avatar.h" @@ -35,6 +36,7 @@ extern u16 gSpecialVar_Facing; extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; +extern u8 gUnknown_020297ED; static EWRAM_DATA u8 gUnknown_0202E8C0 = 0; static EWRAM_DATA u16 gUnknown_0202E8C2 = 0; @@ -82,28 +84,28 @@ extern u8 gUnknown_081C6BDE[]; static void player_get_pos_to_and_height(struct MapPosition *); static void player_get_next_pos_and_height(struct MapPosition *); -/*static*/ u16 cur_mapdata_block_role_at_player_pos(int); -/*static*/ bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c); +static u16 cur_mapdata_block_role_at_player_pos(int); +static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c); static u8 *TryGetScriptOnPressingA(struct MapPosition *position, u8 b, u8 c); static u8 *sub_8068364(struct MapPosition *, u8, u8); static u8 *TryGetInvisibleMapObjectScript(struct MapPosition *, u8, u8 c); static u8 *sub_8068500(struct MapPosition *, u8, u8); static u8 *TryGetFieldMoveScript(struct MapPosition *, u8, u8); -/*static*/ bool32 sub_8068770(void); -/*static*/ bool32 sub_80687A4(void); -/*static*/ bool8 sub_80687E4(struct MapPosition *, u16, u16); +static bool32 sub_8068770(void); +static bool32 sub_80687A4(void); +static bool8 sub_80687E4(struct MapPosition *, u16, u16); static void happiness_algorithm_step(void); static bool8 overworld_poison_step(void); -/*static*/ bool8 is_it_battle_time_3(u16); -/*static*/ bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8); +static bool8 is_it_battle_time_3(u16); +static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8); static bool8 sub_8068B30(u16); static bool8 is_non_stair_warp_tile(u16, u8); static s8 map_warp_check_packed(struct MapHeader *, struct MapPosition *); static void sub_8068C30(struct MapHeader *, s8, struct MapPosition *); -/*static*/ bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); +static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); static s8 map_warp_check(struct MapHeader *, u16, u16, u8); static u8 *mapheader_trigger_activate_at(struct MapHeader *, u16, u16, u8); -static struct BgEvent *FindInvisibleMapObjectByPosition(struct MapHeader *, u16, u16, u8); +static struct BgEvent *FindInvisibleMapObjectByPosition(struct MapHeader *, u16, u16, u8);; void FieldClearPlayerInput(struct FieldInput *input) { @@ -122,230 +124,6 @@ void FieldClearPlayerInput(struct FieldInput *input) input->dpadDirection = 0; } -#if DEBUG -__attribute__((naked)) -void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " add r4, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " mov r8, r1\n" - " lsl r2, r2, #0x10\n" - " lsr r5, r2, #0x10\n" - " ldr r0, ._17\n" - " ldrb r6, [r0, #0x3]\n" - " ldrb r0, [r0, #0x2]\n" - " mov r9, r0\n" - " bl cur_mapdata_block_role_at_player_pos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl MetatileBehavior_IsMoveTile\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " cmp r6, #0x2\n" - " bne ._1 @cond_branch\n" - " cmp r7, #0\n" - " beq ._2 @cond_branch\n" - "._1:\n" - " cmp r6, #0\n" - " bne ._9 @cond_branch\n" - "._2:\n" - " bl GetPlayerSpeed\n" - " lsl r0, r0, #0x10\n" - " asr r0, r0, #0x10\n" - " cmp r0, #0x4\n" - " beq ._8 @cond_branch\n" - " mov r0, #0x8\n" - " mov r1, r8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._5 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x4\n" - " orr r0, r0, r1\n" - " strb r0, [r4]\n" - "._5:\n" - " mov r0, #0x4\n" - " mov r3, r8\n" - " and r0, r0, r3\n" - " cmp r0, #0\n" - " beq ._6 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x8\n" - " orr r0, r0, r1\n" - " strb r0, [r4]\n" - "._6:\n" - " mov r0, #0x1\n" - " mov r1, r8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._7 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x1\n" - " orr r0, r0, r1\n" - " strb r0, [r4]\n" - "._7:\n" - " mov r0, #0x2\n" - " mov r3, r8\n" - " and r0, r0, r3\n" - " cmp r0, #0\n" - " beq ._8 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x80\n" - " orr r0, r0, r1\n" - " strb r0, [r4]\n" - "._8:\n" - " mov r0, #0xf0\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._9 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x10\n" - " orr r0, r0, r1\n" - " mov r1, #0x20\n" - " orr r0, r0, r1\n" - " strb r0, [r4]\n" - "._9:\n" - " cmp r7, #0\n" - " bne ._14 @cond_branch\n" - " cmp r6, #0x2\n" - " bne ._12 @cond_branch\n" - " mov r0, r9\n" - " cmp r0, #0x2\n" - " bne ._12 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x40\n" - " orr r0, r0, r1\n" - " strb r0, [r4]\n" - "._12:\n" - " cmp r7, #0\n" - " bne ._14 @cond_branch\n" - " cmp r6, #0x2\n" - " bne ._14 @cond_branch\n" - " ldrb r0, [r4]\n" - " mov r1, #0x2\n" - " orr r0, r0, r1\n" - " strb r0, [r4]\n" - "._14:\n" - " mov r0, #0x40\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._15 @cond_branch\n" - " mov r0, #0x2\n" - " b ._22\n" - "._18:\n" - " .align 2, 0\n" - "._17:\n" - " .word gPlayerAvatar\n" - "._15:\n" - " mov r0, #0x80\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._19 @cond_branch\n" - " mov r0, #0x1\n" - " b ._22\n" - "._19:\n" - " mov r0, #0x20\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._21 @cond_branch\n" - " mov r0, #0x3\n" - " b ._22\n" - "._21:\n" - " mov r0, #0x10\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._23 @cond_branch\n" - " mov r0, #0x4\n" - "._22:\n" - " strb r0, [r4, #0x2]\n" - "._23:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._25 @cond_branch\n" - " ldrb r2, [r4]\n" - " mov r0, #0x4\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._25 @cond_branch\n" - " ldrb r0, [r4, #0x1]\n" - " mov r1, #0x4\n" - " orr r0, r0, r1\n" - " strb r0, [r4, #0x1]\n" - " mov r0, #0x5\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " strb r0, [r4]\n" - "._25:\n" - " ldr r0, ._30\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._29 @cond_branch\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._28 @cond_branch\n" - " ldrb r1, [r4, #0x1]\n" - " mov r0, #0x2\n" - " orr r1, r1, r0\n" - " strb r1, [r4, #0x1]\n" - " ldrb r0, [r4]\n" - " mov r2, #0x41\n" - " neg r2, r2\n" - " and r2, r2, r0\n" - " mov r0, #0x3\n" - " neg r0, r0\n" - " and r2, r2, r0\n" - " sub r0, r0, #0xe\n" - " and r2, r2, r0\n" - " sub r0, r0, #0x10\n" - " and r2, r2, r0\n" - " strb r2, [r4]\n" - " mov r0, #0x4\n" - " mov r3, r8\n" - " and r0, r0, r3\n" - " cmp r0, #0\n" - " beq ._28 @cond_branch\n" - " mov r0, #0x1\n" - " orr r1, r1, r0\n" - " strb r1, [r4, #0x1]\n" - " mov r0, #0x9\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " strb r0, [r4]\n" - "._28:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r5\n" - " cmp r0, #0\n" - " beq ._29 @cond_branch\n" - " ldrb r0, [r4, #0x1]\n" - " mov r1, #0x8\n" - " orr r0, r0, r1\n" - " strb r0, [r4, #0x1]\n" - "._29:\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._31:\n" - " .align 2, 0\n" - "._30:\n" - " .word gUnknown_020297ED\n" - "\n" - ); -} -#else void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) { u8 r6 = gPlayerAvatar.tileTransitionState; @@ -386,223 +164,33 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) input->dpadDirection = DIR_WEST; else if (heldKeys & DPAD_RIGHT) input->dpadDirection = DIR_EAST; -} -#endif - #if DEBUG -__attribute__((naked)) -int sub_8068024(struct FieldInput *input) -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xfffffff8\n" - " add r5, r0, #0\n" - " bl player_get_direction_lower_nybble\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " mov r4, sp\n" - " mov r0, sp\n" - " bl player_get_pos_to_and_height\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " mov r2, #0x2\n" - " ldsh r1, [r4, r2]\n" - " bl MapGridGetMetatileBehaviorAt\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " ldrb r1, [r5, #0x1]\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._33 @cond_branch\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " bl dive_warp\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._33 @cond_branch\n" - " b ._63\n" - "._33:\n" - " ldrb r1, [r5, #0x1]\n" - " mov r6, #0x2\n" - " add r0, r6, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._39 @cond_branch\n" - " bl CheckTrainers\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._36 @cond_branch\n" - " b ._63\n" - "._36:\n" - " ldrb r1, [r5, #0x1]\n" - " add r0, r6, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._39 @cond_branch\n" - " bl mapheader_run_first_tag2_script_list_match\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._39 @cond_branch\n" - " b ._63\n" - "._39:\n" - " ldrb r1, [r5]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._42 @cond_branch\n" - " bl sub_80687A4\n" - " cmp r0, #0x1\n" - " bne ._42 @cond_branch\n" - " b ._63\n" - "._42:\n" - " ldrb r1, [r5]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._44 @cond_branch\n" - " mov r0, #0x5\n" - " bl IncrementGameStat\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " add r2, r7, #0\n" - " bl sub_80687E4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._63 @cond_branch\n" - "._44:\n" - " ldrb r1, [r5]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._46 @cond_branch\n" - " add r0, r4, #0\n" - " bl is_it_battle_time_3\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._63 @cond_branch\n" - "._46:\n" - " ldrb r1, [r5]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._49 @cond_branch\n" - " ldrb r0, [r5, #0x2]\n" - " cmp r0, r7\n" - " bne ._49 @cond_branch\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " add r2, r7, #0\n" - " bl mapheader_run_first_tag2_script_list_match_conditionally\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._63 @cond_branch\n" - "._49:\n" - " mov r4, sp\n" - " mov r0, sp\n" - " bl player_get_next_pos_and_height\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " mov r2, #0x2\n" - " ldsh r1, [r4, r2]\n" - " bl MapGridGetMetatileBehaviorAt\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " ldrb r1, [r5]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._51 @cond_branch\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " add r2, r7, #0\n" - " bl sub_80681F0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._63 @cond_branch\n" - "._51:\n" - " ldrb r1, [r5]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._54 @cond_branch\n" - " ldrb r0, [r5, #0x2]\n" - " cmp r0, r7\n" - " bne ._54 @cond_branch\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " add r2, r7, #0\n" - " bl map_warp_consider_2_to_inside\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " beq ._63 @cond_branch\n" - "._54:\n" - " ldrb r1, [r5]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._56 @cond_branch\n" - " bl sub_8068770\n" - " cmp r0, #0x1\n" - " beq ._63 @cond_branch\n" - "._56:\n" - " ldrb r1, [r5]\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._58 @cond_branch\n" - " mov r0, #0x6\n" - " bl PlaySE\n" - " bl sub_8071310\n" - " b ._63\n" - "._58:\n" - " mov r0, #0x8\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._60 @cond_branch\n" - " bl sub_80A6D1C\n" - " cmp r0, #0x1\n" - " beq ._63 @cond_branch\n" - "._60:\n" - " ldrb r1, [r5, #0x1]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._62 @cond_branch\n" - " bl debug_sub_80888D8\n" - " b ._63\n" - "._62:\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._64 @cond_branch\n" - " mov r0, #0x0\n" - " b ._65\n" - "._64:\n" - " mov r0, #0x6\n" - " bl PlaySE\n" - " bl DebugMenu_8077048\n" - "._63:\n" - " mov r0, #0x1\n" - "._65:\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if ((heldKeys & R_BUTTON) && input->pressedStartButton) + { + input->input_field_1_2 = TRUE; + input->pressedStartButton = FALSE; + } + if (gUnknown_020297ED) + { + if (heldKeys & R_BUTTON) + { + input->input_field_1_1 = TRUE; + input->input_field_0_6 = FALSE; + input->input_field_0_1 = FALSE; + input->input_field_0_4 = FALSE; + input->input_field_0_5 = FALSE; + if (newKeys & SELECT_BUTTON) + { + input->input_field_1_0 = TRUE; + input->pressedSelectButton = FALSE; + } + } + if (heldKeys & L_BUTTON) + input->input_field_1_3 = TRUE; + } +#endif } -#else + int sub_8068024(struct FieldInput *input) { struct MapPosition position; @@ -612,10 +200,25 @@ int sub_8068024(struct FieldInput *input) r6 = player_get_direction_lower_nybble(); player_get_pos_to_and_height(&position); r4 = MapGridGetMetatileBehaviorAt(position.x, position.y); - if (CheckTrainers() == TRUE) +#if DEBUG + if (input->input_field_1_3 && dive_warp(&position, r4) == TRUE) return TRUE; - if (mapheader_run_first_tag2_script_list_match() == 1) +#endif + + if ( +#if DEBUG + !input->input_field_1_1 +#endif + && CheckTrainers() == TRUE) return TRUE; + + if ( +#if DEBUG + !input->input_field_1_1 +#endif + && mapheader_run_first_tag2_script_list_match() == 1) + return TRUE; + if (input->pressedBButton && sub_80687A4() == 1) return TRUE; if (input->input_field_0_6) @@ -650,9 +253,23 @@ int sub_8068024(struct FieldInput *input) } if (input->pressedSelectButton && sub_80A6D1C() == TRUE) return TRUE; + +#if DEBUG + if (input->input_field_1_0) + { + debug_sub_80888D8(); + return TRUE; + } + if (input->input_field_1_2) + { + PlaySE(SE_WIN_OPEN); + DebugMenu_8077048(); + return TRUE; + } +#endif + return FALSE; } -#endif static void player_get_pos_to_and_height(struct MapPosition *position) { @@ -672,7 +289,7 @@ static void player_get_next_pos_and_height(struct MapPosition *position) position->height = 0; } -/*static*/ u16 cur_mapdata_block_role_at_player_pos(int unused) +static u16 cur_mapdata_block_role_at_player_pos(int unused) { s16 x, y; @@ -680,7 +297,7 @@ static void player_get_next_pos_and_height(struct MapPosition *position) return MapGridGetMetatileBehaviorAt(x, y); } -/*static*/ bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c) +static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c) { u8 *script = TryGetScriptOnPressingA(position, b, c); @@ -875,7 +492,7 @@ static u8 *TryGetFieldMoveScript(struct MapPosition *unused1, u8 b, u8 unused2) return NULL; } -/*static*/ bool32 sub_8068770(void) +static bool32 sub_8068770(void) { if (FlagGet(FLAG_BADGE07_GET) && sub_8068F18() == 2) { @@ -885,7 +502,7 @@ static u8 *TryGetFieldMoveScript(struct MapPosition *unused1, u8 b, u8 unused2) return FALSE; } -/*static*/ bool32 sub_80687A4(void) +static bool32 sub_80687A4(void) { if (FlagGet(FLAG_BADGE07_GET) && gMapHeader.mapType == MAP_TYPE_UNDERWATER && sub_8068F18() == 1) { @@ -895,7 +512,7 @@ static u8 *TryGetFieldMoveScript(struct MapPosition *unused1, u8 b, u8 unused2) return FALSE; } -/*static*/ bool8 sub_80687E4(struct MapPosition *position, u16 b, u16 unused) +static bool8 sub_80687E4(struct MapPosition *position, u16 b, u16 unused) { if (mapheader_trigger_activate_at__run_now(position) == TRUE) return TRUE; @@ -1015,7 +632,7 @@ void prev_quest_postbuffer_cursor_backup_reset(void) gUnknown_0202E8C0 = 0; } -/*static*/ bool8 is_it_battle_time_3(u16 a) +static bool8 is_it_battle_time_3(u16 a) { if (gUnknown_0202E8C0 < 4) { @@ -1036,7 +653,7 @@ void prev_quest_postbuffer_cursor_backup_reset(void) } } -/*static*/ bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 b, u8 c) +static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 b, u8 c) { s8 r6 = map_warp_check_packed(&gMapHeader, position); @@ -1144,7 +761,7 @@ static void sub_8068C30(struct MapHeader *unused, s8 b, struct MapPosition *posi } } -/*static*/ bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 b, u8 c) +static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 b, u8 c) { s8 r4; @@ -1250,7 +867,7 @@ static struct BgEvent *FindInvisibleMapObjectByPosition(struct MapHeader *mapHea return NULL; } -int dive_warp(struct MapPosition *position, u16 b) +bool8 dive_warp(struct MapPosition *position, u16 b) { if (gMapHeader.mapType == MAP_TYPE_UNDERWATER && sub_805750C(b) == 0) { diff --git a/src/scene/new_game.c b/src/scene/new_game.c index cec7134a3..e64dc91e3 100644 --- a/src/scene/new_game.c +++ b/src/scene/new_game.c @@ -31,10 +31,6 @@ #include "text.h" #include "tv.h" -#if DEBUG -extern u8 gUnknown_020297ED; -#endif - EWRAM_DATA u8 gDifferentSaveFile = 0; EWRAM_DATA u8 gUnknown_020297ED = 0; -- cgit v1.2.3 From d6f6e12490f5d980c66c2de0f767bbaf8da75da1 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 24 Jan 2018 20:16:00 -0600 Subject: fix build --- src/field/field_control_avatar.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/field/field_control_avatar.c b/src/field/field_control_avatar.c index 8dc1fed18..48eb64dd7 100644 --- a/src/field/field_control_avatar.c +++ b/src/field/field_control_avatar.c @@ -207,16 +207,16 @@ int sub_8068024(struct FieldInput *input) if ( #if DEBUG - !input->input_field_1_1 + !input->input_field_1_1 && #endif - && CheckTrainers() == TRUE) + CheckTrainers() == TRUE) return TRUE; if ( #if DEBUG - !input->input_field_1_1 + !input->input_field_1_1 && #endif - && mapheader_run_first_tag2_script_list_match() == 1) + mapheader_run_first_tag2_script_list_match() == 1) return TRUE; if (input->pressedBButton && sub_80687A4() == 1) -- cgit v1.2.3 From 4c1e0b8b303320a173203b8ab94c2a695555ace3 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 00:07:15 -0600 Subject: integrate debug functions in mail.c and decompile some debug code --- src/engine/sprite.c | 2 +- src/pokemon/mail.c | 1712 +++++++++++---------------------------------------- 2 files changed, 344 insertions(+), 1370 deletions(-) (limited to 'src') diff --git a/src/engine/sprite.c b/src/engine/sprite.c index df8c66750..a9d84e01a 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -815,7 +815,7 @@ void ProcessSpriteCopyRequests(void) } } -/*static*/ void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) +static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images) { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 11851410b..16252af64 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -1,7 +1,10 @@ #include "global.h" #include "mail.h" +#include "data2.h" #include "easy_chat.h" #include "constants/items.h" +#include "constants/species.h" +#include "field_fadetransition.h" #include "graphics.h" #include "mail_data.h" #include "menu.h" @@ -10,6 +13,7 @@ #include "palette.h" #include "pokemon_icon.h" #include "overworld.h" +#include "script.h" #include "sprite.h" #include "string_util.h" #include "strings2.h" @@ -18,6 +22,8 @@ #include "scanline_effect.h" #include "ewram.h" +extern u8 (*gMenuCallback)(void); + struct UnkMailStruct { u8 unk_0_0:2; @@ -287,31 +293,6 @@ const u8 Str_8411608[] = _("メールをけす"); // Delete Mail // XXX: what is this? static u8 *const sSharedMemPtr = gSharedMem; -#if DEBUG - -const u8 Str_841160F[] = _("{STR_VAR_1} {STR_VAR_2}"); -const u8 Str_841161A[] = _("メール{STR_VAR_1} {STR_VAR_2}"); -const u8 Str_8411623[] = _("メール{STR_VAR_1}を だれに もたせる?"); -const u8 Str_8411634[] = _("000 {STR_VAR_1}"); -const u8 Str_841163B[] = _("せいきの データが とうろくずみ です\n" - "しんき とうろく できません"); -const u8 Str_841165E[] = _("せいきに とうろくされたメールデータは\n" - "へんこう できません"); -const u8 Str_841167D[] = _("メール{STR_VAR_1} とうろく かいじょ"); -const u8 Str_841168D[] = _("デバッグメニューから とうろくした\n" - "メール いがいは けせません"); -const u8 Str_84116AE[] = _("メール{STR_VAR_1} {STR_VAR_2} {STR_VAR_3}"); - -const struct MenuAction _84116BC[] = -{ - {Str_84115F4, NULL}, - {Str_84115FB, NULL}, - {Str_8411603, NULL}, - {Str_8411608, NULL}, -}; - -#endif - static u8 sub_80F8A28(void); /*static*/ void sub_80F8D50(void); static void sub_80F8DA0(void); @@ -322,226 +303,44 @@ static void sub_80F8F58(void); static void sub_80F8F78(void); static void sub_80F8FB4(void); +extern u16 gSpecialVar_0x8004; +extern u16 gSpecialVar_0x8005; +extern u16 gSpecialVar_0x8006; + #if DEBUG -// some debug variable, I guess. -// TODO: where exactly is this located? -__attribute__((section(".bss"))) /*static*/ u8 gUnknown_0300074C = 0; +static u8 gUnknown_Debug_0300079C; #endif -#if DEBUG -__attribute__((naked)) -void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) -{ - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r0, #0\n" - " add r6, r1, #0\n" - " lsl r2, r2, #0x18\n" - " lsr r5, r2, #0x18\n" - " ldr r0, .__3\n" - " ldrb r3, [r0]\n" - " cmp r3, #0\n" - " beq .__1 @cond_branch\n" - " ldr r2, .__3 + 4\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " ldr r0, .__3 + 8\n" - " ldrh r1, [r0]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x1\n" - " add r0, r2, r3\n" - " strb r1, [r0]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__3 + 12\n" - " str r0, [r1]\n" - " add r3, r3, #0x8\n" - " add r1, r2, r3\n" - " ldr r0, .__3 + 16\n" - " str r0, [r1]\n" - " ldr r0, .__3 + 20\n" - " ldrh r1, [r0]\n" - " b .__2\n" - ".__4:\n" - " .align 2, 0\n" - ".__3:\n" - " .word gUnknown_0300074C\n" - " .word +0x2000000\n" - " .word gSpecialVar_0x8004\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - " .word gSpecialVar_0x8006\n" - ".__1:\n" - " ldr r2, .__7\n" - " add r1, r2, #0\n" - " add r1, r1, #0xff\n" - " mov r0, #0x5\n" - " strb r0, [r1]\n" - " add r0, r0, #0xfb\n" - " add r1, r2, r0\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__7 + 4\n" - " str r0, [r1]\n" - " mov r0, #0x84\n" - " lsl r0, r0, #0x1\n" - " add r1, r2, r0\n" - " ldr r0, .__7 + 8\n" - " str r0, [r1]\n" - " ldrh r1, [r4, #0x20]\n" - " add r0, r1, #0\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi .__5 @cond_branch\n" - " sub r1, r1, #0x79\n" - ".__2:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r1, [r0]\n" - " b .__6\n" - ".__8:\n" - " .align 2, 0\n" - ".__7:\n" - " .word +0x2000000\n" - " .word EasyChat_GetWordText+1\n" - " .word ConvertEasyChatWordsToString+1\n" - ".__5:\n" - " add r0, r2, #0\n" - " add r0, r0, #0xfa\n" - " strb r3, [r0]\n" - " mov r5, #0x0\n" - ".__6:\n" - " ldr r1, .__12\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq .__9 @cond_branch\n" - " cmp r0, #0x1\n" - " beq .__10 @cond_branch\n" - ".__9:\n" - " mov r3, #0x86\n" - " lsl r3, r3, #0x1\n" - " add r2, r1, r3\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, .__12 + 4\n" - " b .__11\n" - ".__13:\n" - " .align 2, 0\n" - ".__12:\n" - " .word +0x2000000\n" - " .word gUnknown_083E5730\n" - ".__10:\n" - " mov r0, #0x86\n" - " lsl r0, r0, #0x1\n" - " add r2, r1, r0\n" - " add r0, r1, #0\n" - " add r0, r0, #0xfa\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, .__18\n" - ".__11:\n" - " add r0, r0, r1\n" - " str r0, [r2]\n" - " ldrh r0, [r4, #0x1e]\n" - " mov r1, sp\n" - " bl MailSpeciesToSpecies\n" - " lsl r0, r0, #0x10\n" - " ldr r1, .__18 + 4\n" - " add r0, r0, r1\n" - " mov r1, #0xcd\n" - " lsl r1, r1, #0x11\n" - " cmp r0, r1\n" - " bhi .__14 @cond_branch\n" - " ldr r0, .__18 + 8\n" - " add r1, r0, #0\n" - " add r1, r1, #0xfa\n" - " ldrb r2, [r1]\n" - " add r1, r0, #0\n" - " cmp r2, #0x6\n" - " beq .__15 @cond_branch\n" - " cmp r2, #0x9\n" - " beq .__16 @cond_branch\n" - " b .__17\n" - ".__19:\n" - " .align 2, 0\n" - ".__18:\n" - " .word gUnknown_083E57A4\n" - " .word 0xffff0000\n" - " .word +0x2000000\n" - ".__15:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x1\n" - " b .__21\n" - ".__16:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x2\n" - " b .__21\n" - ".__14:\n" - " ldr r1, .__22\n" - ".__17:\n" - " add r2, r1, #0\n" - " add r2, r2, #0xfb\n" - " mov r0, #0x0\n" - ".__21:\n" - " strb r0, [r2]\n" - " add r0, r1, #0\n" - " add r0, r0, #0xf4\n" - " str r4, [r0]\n" - " sub r0, r0, #0x8\n" - " str r6, [r0]\n" - " add r0, r0, #0xc\n" - " strb r5, [r0]\n" - " ldr r0, .__22 + 4\n" - " bl SetMainCallback2\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - ".__23:\n" - " .align 2, 0\n" - ".__22:\n" - " .word +0x2000000\n" - " .word sub_80F8D50+1\n" - "\n" - ); -} -#else void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { - u16 mailDesign; u16 buffer[2]; + u16 species; - ewram0_4.varFF = GAME_LANGUAGE; - ewram0_4.var100 = 1; - ewram0_4.var104 = (MainCallback)EasyChat_GetWordText; - ewram0_4.var108 = (MainCallback)ConvertEasyChatWordsToString; - - mailDesign = arg0->itemId - ITEM_ORANGE_MAIL; - - if (mailDesign <= 11) +#if DEBUG + if (gUnknown_Debug_0300079C != 0) { - ewram0_4.varFA = arg0->itemId - ITEM_ORANGE_MAIL; + ewram0_4.varFF = GAME_LANGUAGE; + ewram0_4.var100 = gSpecialVar_0x8004; + ewram0_4.var104 = (MainCallback)EasyChat_GetWordText; + ewram0_4.var108 = (MainCallback)ConvertEasyChatWordsToString; + ewram0_4.varFA = gSpecialVar_0x8006; } else +#endif { - ewram0_4.varFA = 0; - arg2 = FALSE; + ewram0_4.varFF = GAME_LANGUAGE; + ewram0_4.var100 = 1; + ewram0_4.var104 = (MainCallback)EasyChat_GetWordText; + ewram0_4.var108 = (MainCallback)ConvertEasyChatWordsToString; + if (IS_ITEM_MAIL(arg0->itemId)) + { + ewram0_4.varFA = arg0->itemId - 0x79; + } + else + { + ewram0_4.varFA = 0; + arg2 = FALSE; + } } switch (ewram0_4.var100) @@ -550,24 +349,22 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) default: ewram0_4.var10C = &gUnknown_083E5730[ewram0_4.varFA]; break; - case 1: ewram0_4.var10C = &gUnknown_083E57A4[ewram0_4.varFA]; break; } - if (((MailSpeciesToSpecies(arg0->species, buffer) << 16) + 0xFFFF0000) <= (410 << 16)) + species = MailSpeciesToSpecies(arg0->species, buffer); + if (species >= 1 && species <= 411) { switch (ewram0_4.varFA) { case 6: ewram0_4.varFB = 1; break; - case 9: ewram0_4.varFB = 2; break; - default: ewram0_4.varFB = 0; break; @@ -578,14 +375,12 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) ewram0_4.varFB = 0; } - ewram0_4.varF4 = arg0; ewram0_4.varEC = arg1; ewram0_4.varF8 = arg2; SetMainCallback2(sub_80F8D50); } -#endif #define RETURN_UP_STATE break #define RETURN_SKIP_STATE return FALSE @@ -849,1180 +644,359 @@ static void sub_80F8F78(void) } } +static void sub_80F8FB4(void) +{ + if (!UpdatePaletteFade()) + { + SetMainCallback2(ewram0_4.varEC); + switch (ewram0_4.varFB) + { + case 2: + case 1: + sub_809D608(sub_809D4A8(ewram0_4.varF4->species)); + sub_809D510(&gSprites[ewram0_4.varFC]); + break; + } +#if !DEBUG + memset(&ewram0_4, 0, 0x110); +#endif + ResetPaletteFade(); + } +} + #if DEBUG -__attribute__((naked)) -void sub_80F8FB4() + +void debug_sub_810CA7C(u8); +void debug_sub_810CE1C(u8); +void debug_sub_810D388(void); +void debug_sub_810D340(void); + +void debug_sub_810C910(u8 taskId) { - asm( - " push {r4, lr}\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._135 @cond_branch\n" - " ldr r4, ._138\n" - " add r0, r4, #0\n" - " add r0, r0, #0xec\n" - " ldr r0, [r0]\n" - " bl SetMainCallback2\n" - " add r0, r4, #0\n" - " add r0, r0, #0xfb\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x2\n" - " bgt ._137 @cond_branch\n" - " cmp r0, #0x1\n" - " blt ._137 @cond_branch\n" - " add r0, r4, #0\n" - " add r0, r0, #0xf4\n" - " ldr r0, [r0]\n" - " ldrh r0, [r0, #0x1e]\n" - " bl sub_809D4A8\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " bl sub_809D608\n" - " add r0, r4, #0\n" - " add r0, r0, #0xfc\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._138 + 4\n" - " add r0, r0, r1\n" - " bl sub_809D510\n" - "._137:\n" - " bl ResetPaletteFade\n" - "._135:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._139:\n" - " .align 2, 0\n" - "._138:\n" - " .word +0x2000000\n" - " .word gSprites\n" - "\n" - ); + if (!gPaletteFade.active) + { + gUnknown_Debug_0300079C = 1; + Menu_EraseScreen(); + DestroyTask(taskId); + if (gSaveBlock1.mail[gSpecialVar_0x8005].itemId == 0) + HandleReadMail(&gSaveBlock1.mail[gSpecialVar_0x8005], debug_sub_810D388, 0); + else + HandleReadMail(&gSaveBlock1.mail[gSpecialVar_0x8005], debug_sub_810D388, 1); + } } -#else -static void sub_80F8FB4(void) + +void debug_sub_810C990(u8 taskId) { - u16 local1; + if (gMain.newKeys & (DPAD_LEFT | DPAD_DOWN)) + { + gSpecialVar_0x8006 = (gSpecialVar_0x8006 + 11) % 12; + Menu_DrawStdWindowFrame(1, 1, 10, 4); + Menu_PrintText(_84115C4[gSpecialVar_0x8006], 2, 2); + } + else if (gMain.newKeys & (DPAD_UP | DPAD_RIGHT)) + { + gSpecialVar_0x8006 = (gSpecialVar_0x8006 + 1) % 12; + Menu_DrawStdWindowFrame(1, 1, 10, 4); + Menu_PrintText(_84115C4[gSpecialVar_0x8006], 2, 2); + } + else if (gMain.newKeys & A_BUTTON) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = debug_sub_810C910; + } + else if (gMain.newKeys & B_BUTTON) + { + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_8411540, 4, 15); + Menu_PrintText(_8411560[gSpecialVar_0x8004], 2, 2); + gTasks[taskId].func = debug_sub_810CA7C; + } +} - if (UpdatePaletteFade()) +void debug_sub_810CA7C(u8 taskId) +{ + if (gMain.newKeys & 0xF0) { - return; + gSpecialVar_0x8004 ^= 1; + Menu_PrintText(_8411560[gSpecialVar_0x8004], 2, 2); + } + else if (gMain.newKeys & A_BUTTON) + { + if (gMain.watchedKeysPressed) + { + gMain.watchedKeysPressed = FALSE; + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_8411540, 4, 15); + Menu_DrawStdWindowFrame(1, 1, 10, 4); + Menu_PrintText(_8411560[gSpecialVar_0x8004], 2, 2); + } + else + { + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_8411568, 4, 15); + Menu_DrawStdWindowFrame(1, 1, 10, 4); + Menu_PrintText(_84115C4[gSpecialVar_0x8006], 2, 2); + gTasks[taskId].func = debug_sub_810C990; + } } +} + +void debug_sub_810CB50(u8 taskId) +{ + u8 sp0[] = _("{STR_VAR_1} {STR_VAR_2}"); + u8 sp8[] = _("メール{STR_VAR_1} {STR_VAR_2}"); + bool8 r2 = FALSE; - SetMainCallback2(ewram0_4.varEC); - switch (ewram0_4.varFB) + if (gMain.newKeys & A_BUTTON) { - case 2: - case 1: - local1 = sub_809D4A8(ewram0_4.varF4->species); - sub_809D608(local1); + ConvertIntToDecimalStringN(gStringVar1, gSpecialVar_0x8005, 2, 1); + StringCopy(gStringVar2, gSpeciesNames[gTasks[taskId].data[0]]); + gSaveBlock1.mail[gSpecialVar_0x8005].species = gTasks[taskId].data[0]; + StringExpandPlaceholders(gStringVar4, sp8); + Menu_DisplayDialogueFrame(); + Menu_PrintText(gStringVar4, 4, 15); + DestroyTask(taskId); + CreateTask(debug_sub_810CE1C, 0); + debug_sub_810D340(); + return; + } + else if (gMain.newKeys & B_BUTTON) + { + DestroyTask(taskId); + Menu_EraseScreen(); + CreateTask(debug_sub_810CE1C, 0); + debug_sub_810D340(); + return; + } + else if (gMain.newKeys & (DPAD_LEFT | DPAD_DOWN)) + { + gTasks[taskId].data[0] = (gTasks[taskId].data[0] + 0x19B) % 0x19C; + r2 = TRUE; + } + else if (gMain.newKeys & (DPAD_UP | DPAD_RIGHT)) + { + gTasks[taskId].data[0] = (gTasks[taskId].data[0] + 1) % 0x19C; + r2 = TRUE; + } - sub_809D510(&gSprites[ewram0_4.varFC]); - break; + if (r2) + { + ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[0], 2, 3); + StringCopy(gStringVar2, gSpeciesNames[gTasks[taskId].data[0]]); + StringExpandPlaceholders(gStringVar4, sp0); + Menu_DrawStdWindowFrame(0, 0, 12, 3); + Menu_PrintText(gStringVar4, 1, 1); } +} + +void debug_sub_810CCEC(u8 taskId) +{ + u8 string1[] = _("メール{STR_VAR_1}を だれに もたせる?"); + u8 string2[] = _("000 {STR_VAR_1}"); + + ConvertIntToDecimalStringN(gStringVar1, gSpecialVar_0x8005, 1, 1); + StringExpandPlaceholders(gStringVar4, string1); + Menu_DisplayDialogueFrame(); + Menu_PrintText(gStringVar4, 4, 15); + + StringCopy(gStringVar1, gSpeciesNames[0]); + StringExpandPlaceholders(gStringVar4, string2); + Menu_DrawStdWindowFrame(0, 0, 12, 3); + Menu_PrintText(string2, 1, 1); // This probably should have been gStringVar4 - memset(&ewram0_4, 0, 0x110); - ResetPaletteFade(); + gTasks[taskId].func = debug_sub_810CB50; } -#endif -#if DEBUG -__attribute__((naked)) -void debug_sub_810C910() +u8 debug_sub_810CD9C(void) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._143\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._142 @cond_branch\n" - " ldr r1, ._143 + 4\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " bl Menu_EraseScreen\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " ldr r2, ._143 + 8\n" - " ldr r0, ._143 + 12\n" - " ldrh r1, [r0]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r1, r0, #0x2\n" - " add r0, r1, r2\n" - " ldr r3, ._143 + 16\n" - " add r0, r0, r3\n" - " ldrh r0, [r0]\n" - " cmp r0, #0\n" - " bne ._141 @cond_branch\n" - " sub r3, r3, #0x20\n" - " add r0, r2, r3\n" - " add r0, r1, r0\n" - " ldr r1, ._143 + 20\n" - " mov r2, #0x0\n" - " bl HandleReadMail\n" - " b ._142\n" - "._144:\n" - " .align 2, 0\n" - "._143:\n" - " .word gPaletteFade\n" - " .word gUnknown_0300074C\n" - " .word gSaveBlock1\n" - " .word gSpecialVar_0x8005\n" - " .word 0x2b6c\n" - " .word debug_sub_810D388+1\n" - "._141:\n" - " ldr r3, ._145\n" - " add r0, r2, r3\n" - " add r0, r1, r0\n" - " ldr r1, ._145 + 4\n" - " mov r2, #0x1\n" - " bl HandleReadMail\n" - "._142:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._146:\n" - " .align 2, 0\n" - "._145:\n" - " .word 0x2b4c\n" - " .word debug_sub_810D388+1\n" - "\n" - ); + CloseMenu(); + ScriptContext1_Stop(); + ScriptContext2_Enable(); + gUnknown_Debug_0300079C = 0; + gSpecialVar_0x8004 = gSpecialVar_0x8005 = gSpecialVar_0x8006 = 0; + SetMainCallback2(debug_sub_810D388); + return 1; } -__attribute__((naked)) -void debug_sub_810C990() +void debug_sub_810CDE0(void) { - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " add r5, r4, #0\n" - " ldr r0, ._149\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0xa0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._147 @cond_branch\n" - " ldr r4, ._149 + 4\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0xb\n" - " b ._148\n" - "._150:\n" - " .align 2, 0\n" - "._149:\n" - " .word gMain\n" - " .word gSpecialVar_0x8006\n" - "._147:\n" - " mov r2, #0x50\n" - " and r2, r2, r1\n" - " cmp r2, #0\n" - " beq ._151 @cond_branch\n" - " ldr r4, ._153\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0x1\n" - "._148:\n" - " mov r1, #0xc\n" - " bl __modsi3\n" - " strh r0, [r4]\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._153 + 4\n" - " ldrh r0, [r4]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0x2\n" - " mov r2, #0x2\n" - " bl Menu_PrintText\n" - " b ._159\n" - "._154:\n" - " .align 2, 0\n" - "._153:\n" - " .word gSpecialVar_0x8006\n" - " .word _84115C4\n" - "._151:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._155 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " str r2, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " ldr r1, ._157\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._157 + 4\n" - " b ._156\n" - "._158:\n" - " .align 2, 0\n" - "._157:\n" - " .word gTasks\n" - " .word debug_sub_810C910+1\n" - "._155:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._159 @cond_branch\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._160\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r1, ._160 + 4\n" - " ldr r0, ._160 + 8\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0x2\n" - " mov r2, #0x2\n" - " bl Menu_PrintText\n" - " ldr r1, ._160 + 12\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._160 + 16\n" - "._156:\n" - " str r1, [r0]\n" - "._159:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._161:\n" - " .align 2, 0\n" - "._160:\n" - " .word Str_8411540\n" - " .word _8411560\n" - " .word gSpecialVar_0x8004\n" - " .word gTasks\n" - " .word debug_sub_810CA7C+1\n" - "\n" - ); + UpdatePaletteFade(); + RunTasks(); } -__attribute__((naked)) -void debug_sub_810CA7C() +void debug_sub_810CDF0(void) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r3, ._164\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r2, #0xf0\n" - " and r2, r2, r1\n" - " cmp r2, #0\n" - " beq ._162 @cond_branch\n" - " ldr r2, ._164 + 4\n" - " ldrh r0, [r2]\n" - " mov r1, #0x1\n" - " eor r0, r0, r1\n" - " strh r0, [r2]\n" - " ldr r1, ._164 + 8\n" - " ldrh r0, [r2]\n" - " b ._163\n" - "._165:\n" - " .align 2, 0\n" - "._164:\n" - " .word gMain\n" - " .word gSpecialVar_0x8004\n" - " .word _8411560\n" - "._162:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._168 @cond_branch\n" - " ldrh r0, [r3, #0x34]\n" - " cmp r0, #0\n" - " beq ._167 @cond_branch\n" - " strh r2, [r3, #0x34]\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._169\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._169 + 4\n" - " ldr r0, ._169 + 8\n" - " ldrh r0, [r0]\n" - "._163:\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0x2\n" - " mov r2, #0x2\n" - " bl Menu_PrintText\n" - " b ._168\n" - "._170:\n" - " .align 2, 0\n" - "._169:\n" - " .word Str_8411540\n" - " .word _8411560\n" - " .word gSpecialVar_0x8004\n" - "._167:\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._171\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0xa\n" - " mov r3, #0x4\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._171 + 4\n" - " ldr r0, ._171 + 8\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0x2\n" - " mov r2, #0x2\n" - " bl Menu_PrintText\n" - " ldr r1, ._171 + 12\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._171 + 16\n" - " str r1, [r0]\n" - "._168:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._172:\n" - " .align 2, 0\n" - "._171:\n" - " .word Str_8411568\n" - " .word _84115C4\n" - " .word gSpecialVar_0x8006\n" - " .word gTasks\n" - " .word debug_sub_810C990+1\n" - "\n" - ); + gMain.watchedKeysPressed = 0; + gMain.watchedKeysMask = 0; + gFieldCallback = mapldr_default; + SetMainCallback2(c2_exit_to_overworld_2_switch); } -__attribute__((naked)) -void debug_sub_810CB50() +void debug_sub_810CE1C(u8 taskId) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xffffffec\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " ldr r1, ._175\n" - " mov r0, sp\n" - " mov r2, #0x6\n" - " bl memcpy\n" - " add r7, sp, #0x8\n" - " ldr r1, ._175 + 4\n" - " add r0, r7, #0\n" - " mov r2, #0x9\n" - " bl memcpy\n" - " mov r2, #0x0\n" - " ldr r0, ._175 + 8\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._173 @cond_branch\n" - " ldr r0, ._175 + 12\n" - " ldr r5, ._175 + 16\n" - " ldrh r1, [r5]\n" - " mov r2, #0x2\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " ldr r0, ._175 + 20\n" - " ldr r1, ._175 + 24\n" - " lsl r4, r6, #0x2\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r1\n" - " mov r1, #0x8\n" - " ldsh r2, [r4, r1]\n" - " mov r1, #0xb\n" - " mul r1, r1, r2\n" - " ldr r2, ._175 + 28\n" - " add r1, r1, r2\n" - " bl StringCopy\n" - " ldr r2, ._175 + 32\n" - " ldrh r1, [r5]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldrh r1, [r4, #0x8]\n" - " ldr r2, ._175 + 36\n" - " add r0, r0, r2\n" - " strh r1, [r0]\n" - " ldr r4, ._175 + 40\n" - " add r0, r4, #0\n" - " add r1, r7, #0\n" - " bl StringExpandPlaceholders\n" - " bl Menu_DisplayDialogueFrame\n" - " add r0, r4, #0\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " add r0, r6, #0\n" - " bl DestroyTask\n" - " b ._174\n" - "._176:\n" - " .align 2, 0\n" - "._175:\n" - " .word Str_841160F\n" - " .word Str_841161A\n" - " .word gMain\n" - " .word gStringVar1\n" - " .word gSpecialVar_0x8005\n" - " .word gStringVar2\n" - " .word gTasks\n" - " .word gSpeciesNames\n" - " .word gSaveBlock1\n" - " .word 0x2b6a\n" - " .word gStringVar4\n" - "._173:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._177 @cond_branch\n" - " add r0, r6, #0\n" - " bl DestroyTask\n" - " bl Menu_EraseScreen\n" - "._174:\n" - " ldr r0, ._179\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " bl debug_sub_810D340\n" - " b ._186\n" - "._180:\n" - " .align 2, 0\n" - "._179:\n" - " .word debug_sub_810CE1C+1\n" - "._177:\n" - " mov r0, #0xa0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._181 @cond_branch\n" - " ldr r0, ._183\n" - " lsl r4, r6, #0x2\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " mov r1, #0x8\n" - " ldsh r0, [r4, r1]\n" - " ldr r2, ._183 + 4\n" - " add r0, r0, r2\n" - " mov r1, #0xce\n" - " lsl r1, r1, #0x1\n" - " bl __modsi3\n" - " strh r0, [r4, #0x8]\n" - " b ._182\n" - "._184:\n" - " .align 2, 0\n" - "._183:\n" - " .word gTasks\n" - " .word 0x19b\n" - "._181:\n" - " mov r0, #0x50\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._185 @cond_branch\n" - " ldr r0, ._187\n" - " lsl r4, r6, #0x2\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " mov r1, #0x8\n" - " ldsh r0, [r4, r1]\n" - " add r0, r0, #0x1\n" - " mov r1, #0xce\n" - " lsl r1, r1, #0x1\n" - " bl __modsi3\n" - " strh r0, [r4, #0x8]\n" - " mov r2, #0x1\n" - "._185:\n" - " cmp r2, #0\n" - " beq ._186 @cond_branch\n" - "._182:\n" - " ldr r0, ._187 + 4\n" - " ldr r1, ._187\n" - " lsl r4, r6, #0x2\n" - " add r4, r4, r6\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r1\n" - " mov r2, #0x8\n" - " ldsh r1, [r4, r2]\n" - " mov r2, #0x2\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " ldr r0, ._187 + 8\n" - " mov r1, #0x8\n" - " ldsh r2, [r4, r1]\n" - " mov r1, #0xb\n" - " mul r1, r1, r2\n" - " ldr r2, ._187 + 12\n" - " add r1, r1, r2\n" - " bl StringCopy\n" - " ldr r4, ._187 + 16\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " bl StringExpandPlaceholders\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - "._186:\n" - " add sp, sp, #0x14\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._188:\n" - " .align 2, 0\n" - "._187:\n" - " .word gTasks\n" - " .word gStringVar1\n" - " .word gStringVar2\n" - " .word gSpeciesNames\n" - " .word gStringVar4\n" - "\n" - ); + if (gMenuCallback() == TRUE) + { + CloseMenu(); + DestroyTask(taskId); + } } -__attribute__((naked)) -void debug_sub_810CCEC() +u8 debug_sub_810CE48(void) { - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xffffffe4\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r1, ._189\n" - " mov r0, sp\n" - " mov r2, #0x11\n" - " bl memcpy\n" - " add r6, sp, #0x14\n" - " ldr r1, ._189 + 4\n" - " add r0, r6, #0\n" - " mov r2, #0x7\n" - " bl memcpy\n" - " ldr r0, ._189 + 8\n" - " mov r8, r0\n" - " ldr r0, ._189 + 12\n" - " ldrh r1, [r0]\n" - " mov r0, r8\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " ldr r4, ._189 + 16\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " bl StringExpandPlaceholders\n" - " bl Menu_DisplayDialogueFrame\n" - " add r0, r4, #0\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r1, ._189 + 20\n" - " mov r0, r8\n" - " bl StringCopy\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl StringExpandPlaceholders\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xc\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r6, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r1, ._189 + 24\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r1, ._189 + 28\n" - " str r1, [r0]\n" - " add sp, sp, #0x1c\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._190:\n" - " .align 2, 0\n" - "._189:\n" - " .word Str_8411623\n" - " .word Str_8411634\n" - " .word gStringVar1\n" - " .word gSpecialVar_0x8005\n" - " .word gStringVar4\n" - " .word gSpeciesNames\n" - " .word gTasks\n" - " .word debug_sub_810CB50+1\n" - "\n" - ); -} + s8 input = Menu_ProcessInput(); -__attribute__((naked)) -void debug_sub_810CD9C() -{ - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl ScriptContext1_Stop\n" - " bl ScriptContext2_Enable\n" - " ldr r1, ._191\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " ldr r3, ._191 + 4\n" - " ldr r2, ._191 + 8\n" - " ldr r1, ._191 + 12\n" - " mov r0, #0x0\n" - " strh r0, [r1]\n" - " strh r0, [r2]\n" - " strh r0, [r3]\n" - " ldr r0, ._191 + 16\n" - " bl SetMainCallback2\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._192:\n" - " .align 2, 0\n" - "._191:\n" - " .word gUnknown_0300074C\n" - " .word gSpecialVar_0x8004\n" - " .word gSpecialVar_0x8005\n" - " .word gSpecialVar_0x8006\n" - " .word debug_sub_810D388+1\n" - "\n" - ); + switch (input) + { + case -1: + Menu_EraseScreen(); + debug_sub_810D340(); + return 0; + case -2: + return 0; + default: + gSpecialVar_0x8005 = input; + gSpecialVar_0x8006 %= 12; + CreateTask(debug_sub_810CA7C, 0); + gMain.watchedKeysPressed = TRUE; // huh? + gMain.watchedKeysMask = 0; + return 1; + } } -__attribute__((naked)) -void debug_sub_810CDE0() +u8 debug_sub_810CEA4(void) { - asm( - " push {lr}\n" - " bl UpdatePaletteFade\n" - " bl RunTasks\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + if (!gPaletteFade.active) + { + gSpecialVar_0x8004 = 4; + sub_80E60D8(); + return 1; + } + return 0; } -__attribute__((naked)) -void debug_sub_810CDF0() +u8 debug_sub_810CED0(void) { - asm( - " push {lr}\n" - " ldr r1, ._193\n" - " mov r0, #0x0\n" - " strh r0, [r1, #0x34]\n" - " strh r0, [r1, #0x36]\n" - " ldr r1, ._193 + 4\n" - " ldr r0, ._193 + 8\n" - " str r0, [r1]\n" - " ldr r0, ._193 + 12\n" - " bl SetMainCallback2\n" - " pop {r0}\n" - " bx r0\n" - "._194:\n" - " .align 2, 0\n" - "._193:\n" - " .word gMain\n" - " .word gFieldCallback\n" - " .word mapldr_default+1\n" - " .word c2_exit_to_overworld_2_switch+1\n" - "\n" - ); -} + u8 text[] = _("せいきの データが とうろくずみ です\n" + "しんき とうろく できません"); + s8 input = Menu_ProcessInput(); -__attribute__((naked)) -void debug_sub_810CE1C() -{ - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._196\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._195 @cond_branch\n" - " bl CloseMenu\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - "._195:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._197:\n" - " .align 2, 0\n" - "._196:\n" - " .word gMenuCallback\n" - "\n" - ); + switch (input) + { + case -1: + Menu_EraseScreen(); + break; + case -2: + return 0; + default: + gSpecialVar_0x8005 = input; + if (IS_ITEM_MAIL(gSaveBlock1.mail[input].itemId)) + { + Menu_EraseScreen(); + Menu_DisplayDialogueFrame(); + Menu_PrintText(text, 4, 15); + } + else + { + gSaveBlock1.mail[gSpecialVar_0x8005].itemId = 0xFFFF; + StringCopy(gSaveBlock1.mail[gSpecialVar_0x8005].playerName, gSaveBlock2.playerName); + *(u32 *)gSaveBlock1.mail[gSpecialVar_0x8005].trainerId = *(u32 *)gSaveBlock2.playerTrainerId; + gMenuCallback = debug_sub_810CEA4; + return 0; + } + break; + } + debug_sub_810D340(); + return 0; } -__attribute__((naked)) -void debug_sub_810CE48() +u8 debug_sub_810CFA4(void) { - asm( - " push {r4, lr}\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._198 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._199 @cond_branch\n" - " bl Menu_EraseScreen\n" - " bl debug_sub_810D340\n" - "._198:\n" - " mov r0, #0x0\n" - " b ._200\n" - "._199:\n" - " ldr r0, ._201\n" - " strh r1, [r0]\n" - " ldr r4, ._201 + 4\n" - " ldrh r0, [r4]\n" - " mov r1, #0xc\n" - " bl __umodsi3\n" - " strh r0, [r4]\n" - " ldr r0, ._201 + 8\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " ldr r1, ._201 + 12\n" - " mov r2, #0x0\n" - " mov r0, #0x1\n" - " strh r0, [r1, #0x34]\n" - " strh r2, [r1, #0x36]\n" - "._200:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._202:\n" - " .align 2, 0\n" - "._201:\n" - " .word gSpecialVar_0x8005\n" - " .word gSpecialVar_0x8006\n" - " .word debug_sub_810CA7C+1\n" - " .word gMain\n" - "\n" - ); -} + u8 text[] = _("せいきに とうろくされたメールデータは\n" + "へんこう できません"); + s8 input = Menu_ProcessInput(); -__attribute__((naked)) -void debug_sub_810CEA4() -{ - asm( - " push {lr}\n" - " ldr r0, ._205\n" - " ldrb r1, [r0, #0x7]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._203 @cond_branch\n" - " mov r0, #0x0\n" - " b ._204\n" - "._206:\n" - " .align 2, 0\n" - "._205:\n" - " .word gPaletteFade\n" - "._203:\n" - " ldr r1, ._207\n" - " mov r0, #0x4\n" - " strh r0, [r1]\n" - " bl sub_80E60D8\n" - " mov r0, #0x1\n" - "._204:\n" - " pop {r1}\n" - " bx r1\n" - "._208:\n" - " .align 2, 0\n" - "._207:\n" - " .word gSpecialVar_0x8004\n" - "\n" - ); + switch (input) + { + case -1: + Menu_EraseScreen(); + debug_sub_810D340(); + return 0; + case -2: + return 0; + default: + gSpecialVar_0x8005 = input; + if (IS_ITEM_MAIL(gSaveBlock1.mail[input].itemId)) + { + Menu_EraseScreen(); + Menu_DisplayDialogueFrame(); + Menu_PrintText(text, 4, 15); + debug_sub_810D340(); + return 0; + } + else + { + CreateTask(debug_sub_810CCEC, 0); + return 1; + } + } } -__attribute__((naked)) -void debug_sub_810CED0() +u8 debug_sub_810D030(void) { - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xffffffdc\n" - " ldr r1, ._212\n" - " mov r0, sp\n" - " mov r2, #0x23\n" - " bl memcpy\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._215 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._210 @cond_branch\n" - " bl Menu_EraseScreen\n" - " b ._211\n" - "._213:\n" - " .align 2, 0\n" - "._212:\n" - " .word Str_841163B\n" - "._210:\n" - " ldr r5, ._216\n" - " strh r1, [r5]\n" - " ldr r6, ._216 + 4\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldr r1, ._216 + 8\n" - " add r0, r0, r1\n" - " ldrh r0, [r0]\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bls ._214 @cond_branch\n" - " ldrh r1, [r5]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldr r2, ._216 + 8\n" - " add r0, r0, r2\n" - " ldr r1, ._216 + 12\n" - " strh r1, [r0]\n" - " ldrh r1, [r5]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " sub r2, r2, #0xe\n" - " add r1, r6, r2\n" - " add r0, r0, r1\n" - " ldr r4, ._216 + 16\n" - " add r1, r4, #0\n" - " bl StringCopy\n" - " ldrh r1, [r5]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " ldr r2, ._216 + 20\n" - " add r1, r6, r2\n" - " add r0, r0, r1\n" - " add r4, r4, #0xa\n" - " ldr r1, [r4]\n" - " str r1, [r0]\n" - " ldr r1, ._216 + 24\n" - " ldr r0, ._216 + 28\n" - " str r0, [r1]\n" - " b ._215\n" - "._217:\n" - " .align 2, 0\n" - "._216:\n" - " .word gSpecialVar_0x8005\n" - " .word gSaveBlock1\n" - " .word 0x2b6c\n" - " .word 0xffff\n" - " .word gSaveBlock2\n" - " .word 0x2b66\n" - " .word gMenuCallback\n" - " .word debug_sub_810CEA4+1\n" - "._214:\n" - " bl Menu_EraseScreen\n" - " bl Menu_DisplayDialogueFrame\n" - " mov r0, sp\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - "._211:\n" - " bl debug_sub_810D340\n" - "._215:\n" - " mov r0, #0x0\n" - " add sp, sp, #0x24\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} + const u8 text1[] = _("メール{STR_VAR_1} とうろく かいじょ"); + const u8 text2[] = _("デバッグメニューから とうろくした\n" + "メール いがいは けせません"); + s8 input = Menu_ProcessInput(); -__attribute__((naked)) -void debug_sub_810CFA4() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xffffffe0\n" - " ldr r1, ._221\n" - " mov r0, sp\n" - " mov r2, #0x1f\n" - " bl memcpy\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r2, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r2, r0\n" - " beq ._218 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r2, r0\n" - " bne ._219 @cond_branch\n" - " bl Menu_EraseScreen\n" - " b ._220\n" - "._222:\n" - " .align 2, 0\n" - "._221:\n" - " .word Str_841165E\n" - "._219:\n" - " ldr r0, ._225\n" - " strh r2, [r0]\n" - " ldr r1, ._225 + 4\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r1, ._225 + 8\n" - " add r0, r0, r1\n" - " ldrh r0, [r0]\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bls ._223 @cond_branch\n" - " ldr r0, ._225 + 12\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " mov r0, #0x1\n" - " b ._224\n" - "._226:\n" - " .align 2, 0\n" - "._225:\n" - " .word gSpecialVar_0x8005\n" - " .word gSaveBlock1\n" - " .word 0x2b6c\n" - " .word debug_sub_810CCEC+1\n" - "._223:\n" - " bl Menu_EraseScreen\n" - " bl Menu_DisplayDialogueFrame\n" - " mov r0, sp\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - "._220:\n" - " bl debug_sub_810D340\n" - "._218:\n" - " mov r0, #0x0\n" - "._224:\n" - " add sp, sp, #0x20\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + switch (input) + { + case -1: + Menu_EraseScreen(); + debug_sub_810D340(); + return 0; + case -2: + return 0; + default: + gSpecialVar_0x8005 = input; + if (gSaveBlock1.mail[gSpecialVar_0x8005].itemId != 0xFFFF + && gSaveBlock1.mail[gSpecialVar_0x8005].itemId != 0) + { + Menu_EraseScreen(); + Menu_DisplayDialogueFrame(); + Menu_PrintText(text2, 4, 15); + debug_sub_810D340(); + return 0; + } + else + { + s8 i; + + gSaveBlock1.mail[gSpecialVar_0x8005].itemId = 0; + gSaveBlock1.mail[gSpecialVar_0x8005].species = 0; + gSaveBlock1.mail[gSpecialVar_0x8005].playerName[0] = EOS; + *(u32 *)gSaveBlock1.mail[gSpecialVar_0x8005].trainerId = 0; + for (i = 0; i < 9; i++) + gSaveBlock1.mail[gSpecialVar_0x8005].words[i] = 0xFFFF; + ConvertIntToDecimalStringN(gStringVar1, gSpecialVar_0x8005, 1, 1); + StringExpandPlaceholders(gStringVar4, text1); + Menu_EraseScreen(); + Menu_DisplayDialogueFrame(); + Menu_PrintText(gStringVar4, 4, 15); + debug_sub_810D340(); + return 0; + } + } } -__attribute__((naked)) -void debug_sub_810D030() +const u8 Str_84116AE[] = _("メール{STR_VAR_1} {STR_VAR_2} {STR_VAR_3}"); + +const struct MenuAction _84116BC[] = { - asm( - " push {r4, r5, r6, r7, lr}\n" - " add sp, sp, #0xffffffcc\n" - " ldr r1, ._230\n" - " mov r0, sp\n" - " mov r2, #0x10\n" - " bl memcpy\n" - " add r5, sp, #0x10\n" - " ldr r1, ._230 + 4\n" - " add r0, r5, #0\n" - " mov r2, #0x21\n" - " bl memcpy\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._227 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._228 @cond_branch\n" - " bl Menu_EraseScreen\n" - " b ._229\n" - "._231:\n" - " .align 2, 0\n" - "._230:\n" - " .word Str_841167D\n" - " .word Str_841168D\n" - "._228:\n" - " ldr r2, ._235\n" - " strh r1, [r2]\n" - " ldr r3, ._235 + 4\n" - " ldrh r1, [r2]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r3\n" - " ldr r1, ._235 + 8\n" - " add r0, r0, r1\n" - " ldrh r1, [r0]\n" - " ldr r0, ._235 + 12\n" - " add r4, r2, #0\n" - " cmp r1, r0\n" - " beq ._233 @cond_branch\n" - " cmp r1, #0\n" - " beq ._233 @cond_branch\n" - " bl Menu_EraseScreen\n" - " bl Menu_DisplayDialogueFrame\n" - " add r0, r5, #0\n" - " b ._234\n" - "._236:\n" - " .align 2, 0\n" - "._235:\n" - " .word gSpecialVar_0x8005\n" - " .word gSaveBlock1\n" - " .word 0x2b6c\n" - " .word 0xffff\n" - "._233:\n" - " ldrh r1, [r4]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r3\n" - " ldr r5, ._238\n" - " add r0, r0, r5\n" - " mov r2, #0x0\n" - " strh r2, [r0]\n" - " ldrh r1, [r4]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r3\n" - " ldr r1, ._238 + 4\n" - " add r0, r0, r1\n" - " strh r2, [r0]\n" - " ldrh r1, [r4]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r3\n" - " sub r5, r5, #0xe\n" - " add r0, r0, r5\n" - " mov r1, #0xff\n" - " strb r1, [r0]\n" - " ldrh r1, [r4]\n" - " lsl r0, r1, #0x3\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r5, r5, #0x8\n" - " add r1, r3, r5\n" - " add r0, r0, r1\n" - " str r2, [r0]\n" - " mov r0, #0x0\n" - " ldr r1, ._238 + 8\n" - " mov ip, r1\n" - " sub r5, r5, #0x1a\n" - " add r7, r3, r5\n" - " add r6, r4, #0\n" - " ldr r1, ._238 + 12\n" - " add r5, r1, #0\n" - "._237:\n" - " lsl r1, r0, #0x18\n" - " asr r1, r1, #0x18\n" - " lsl r3, r1, #0x1\n" - " ldrh r2, [r6]\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x2\n" - " add r3, r3, r0\n" - " add r3, r3, r7\n" - " ldrh r0, [r3]\n" - " orr r0, r0, r5\n" - " strh r0, [r3]\n" - " add r1, r1, #0x1\n" - " lsl r1, r1, #0x18\n" - " lsr r0, r1, #0x18\n" - " asr r1, r1, #0x18\n" - " cmp r1, #0x8\n" - " ble ._237 @cond_branch\n" - " ldrh r1, [r4]\n" - " mov r0, ip\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " ldr r4, ._238 + 16\n" - " add r0, r4, #0\n" - " mov r1, sp\n" - " bl StringExpandPlaceholders\n" - " bl Menu_EraseScreen\n" - " bl Menu_DisplayDialogueFrame\n" - " add r0, r4, #0\n" - "._234:\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - "._229:\n" - " bl debug_sub_810D340\n" - "._227:\n" - " mov r0, #0x0\n" - " add sp, sp, #0x34\n" - " pop {r4, r5, r6, r7}\n" - " pop {r1}\n" - " bx r1\n" - "._239:\n" - " .align 2, 0\n" - "._238:\n" - " .word 0x2b6c\n" - " .word 0x2b6a\n" - " .word gStringVar1\n" - " .word 0xffff\n" - " .word gStringVar4\n" - "\n" - ); -} + {Str_84115F4, NULL}, + {Str_84115FB, NULL}, + {Str_8411603, NULL}, + {Str_8411608, NULL}, +}; __attribute__((naked)) void debug_sub_810D174() @@ -2367,7 +1341,7 @@ void debug_sub_810D388() "._300:\n" " .align 2, 0\n" "._299:\n" - " .word gUnknown_0300074C\n" + " .word gUnknown_Debug_0300079C\n" " .word 0x43c\n" "._297:\n" " bl ScanlineEffect_Stop\n" -- cgit v1.2.3 From aa3c9d1d357f858baad3065fa2939eba695d5731 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 15:19:46 -0600 Subject: finish decompiling all debug code in mail.c --- src/pokemon/mail.c | 664 +++++++++++++---------------------------------------- 1 file changed, 156 insertions(+), 508 deletions(-) (limited to 'src') diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index 16252af64..4497c98fb 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -294,7 +294,7 @@ const u8 Str_8411608[] = _("メールをけす"); // Delete Mail static u8 *const sSharedMemPtr = gSharedMem; static u8 sub_80F8A28(void); -/*static*/ void sub_80F8D50(void); +static void sub_80F8D50(void); static void sub_80F8DA0(void); static void sub_80F8E80(void); static void sub_80F8F18(void); @@ -527,7 +527,7 @@ static u8 sub_80F8A28(void) return FALSE; } -/*static*/ void sub_80F8D50(void) +static void sub_80F8D50(void) { do { @@ -988,7 +988,85 @@ u8 debug_sub_810D030(void) } } -const u8 Str_84116AE[] = _("メール{STR_VAR_1} {STR_VAR_2} {STR_VAR_3}"); +void debug_sub_810D174(u8 a) +{ + u8 string[] = _("メール{STR_VAR_1} {STR_VAR_2} {STR_VAR_3}"); + u8 buffer[9][20]; + struct MenuAction menuActions[9]; + u8 i; + + for (i = 0; i < 9; i++) + { + ConvertIntToDecimalStringN(gStringVar1, i, 1, 1); + if (gSaveBlock1.mail[i].itemId == 0xFFFF) + { + ConvertIntToDecimalStringN(gStringVar2, 1, 1, 1); + } + else if (IS_ITEM_MAIL(gSaveBlock1.mail[i].itemId)) + { + ConvertIntToDecimalStringN(gStringVar2, 2, 1, 1); + } + else + { + ConvertIntToDecimalStringN(gStringVar2, 0, 1, 1); + gSaveBlock1.mail[i].itemId = 0; + } + StringCopy(gStringVar3, gSpeciesNames[gSaveBlock1.mail[i].species]); + StringExpandPlaceholders(buffer[i], string); + menuActions[i].text = buffer[i]; + menuActions[i].func = NULL; + } + Menu_DrawStdWindowFrame(0, 0, 16, 19); + Menu_PrintItems(2, 1, 9, menuActions); + InitMenu(0, 1, 1, 9, 0, 15); + switch (a) + { + case 0: + gMenuCallback = debug_sub_810CE48; + break; + case 1: + gMenuCallback = debug_sub_810CED0; + break; + case 2: + gMenuCallback = debug_sub_810CFA4; + break; + case 3: + gMenuCallback = debug_sub_810D030; + break; + } +} + +u8 debug_sub_810D2F4(void) +{ + s8 input = Menu_ProcessInput(); + + switch (input) + { + case -1: + SetMainCallback2(debug_sub_810CDF0); + return 1; + case -2: + return 0; + } + + switch (input) + { + case 0: + debug_sub_810D174(input); + return 0; + case 1: + debug_sub_810D174(input); + return 0; + case 2: + debug_sub_810D174(input); + return 0; + case 3: + debug_sub_810D174(input); + return 0; + } + + return 1; +} const struct MenuAction _84116BC[] = { @@ -998,514 +1076,84 @@ const struct MenuAction _84116BC[] = {Str_8411608, NULL}, }; -__attribute__((naked)) -void debug_sub_810D174() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffeec\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " ldr r1, ._242\n" - " add r0, sp, #0x8\n" - " mov r2, #0xc\n" - " bl memcpy\n" - " mov r5, #0x0\n" - " mov r0, sp\n" - " add r0, r0, #0x14\n" - " str r0, [sp, #0x110]\n" - " add r1, sp, #0xc8\n" - " mov r8, r1\n" - " add r2, sp, #0xcc\n" - " mov sl, r2\n" - " ldr r0, ._242 + 4\n" - " mov r9, r0\n" - "._248:\n" - " ldr r0, ._242 + 8\n" - " add r1, r5, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " lsl r1, r5, #0x3\n" - " add r0, r1, r5\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r9\n" - " ldr r2, ._242 + 12\n" - " add r4, r0, r2\n" - " ldrh r0, [r4]\n" - " add r6, r1, #0\n" - " ldr r1, ._242 + 16\n" - " cmp r0, r1\n" - " bne ._240 @cond_branch\n" - " ldr r0, ._242 + 20\n" - " mov r1, #0x1\n" - " b ._241\n" - "._243:\n" - " .align 2, 0\n" - "._242:\n" - " .word Str_84116AE\n" - " .word gSaveBlock1\n" - " .word gStringVar1\n" - " .word 0x2b6c\n" - " .word 0xffff\n" - " .word gStringVar2\n" - "._240:\n" - " sub r0, r0, #0x79\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi ._244 @cond_branch\n" - " ldr r0, ._246\n" - " mov r1, #0x2\n" - "._241:\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " b ._245\n" - "._247:\n" - " .align 2, 0\n" - "._246:\n" - " .word gStringVar2\n" - "._244:\n" - " ldr r0, ._253\n" - " mov r1, #0x0\n" - " mov r2, #0x1\n" - " mov r3, #0x1\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0x0\n" - " strh r0, [r4]\n" - "._245:\n" - " add r0, r6, r5\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r9\n" - " ldr r2, ._253 + 4\n" - " add r0, r0, r2\n" - " ldrh r1, [r0]\n" - " mov r0, #0xb\n" - " mul r1, r1, r0\n" - " ldr r0, ._253 + 8\n" - " add r1, r1, r0\n" - " ldr r0, ._253 + 12\n" - " bl StringCopy\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x2\n" - " ldr r0, [sp, #0x110]\n" - " add r4, r0, r4\n" - " add r0, r4, #0\n" - " add r1, sp, #0x8\n" - " bl StringExpandPlaceholders\n" - " mov r1, r8\n" - " add r0, r1, r6\n" - " str r4, [r0]\n" - " mov r2, sl\n" - " add r0, r2, r6\n" - " mov r4, #0x0\n" - " str r4, [r0]\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x8\n" - " bls ._248 @cond_branch\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x10\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x9\n" - " mov r3, r8\n" - " bl Menu_PrintItems\n" - " str r4, [sp]\n" - " mov r0, #0xf\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x9\n" - " bl InitMenu\n" - " cmp r7, #0x1\n" - " beq ._249 @cond_branch\n" - " cmp r7, #0x1\n" - " bgt ._250 @cond_branch\n" - " cmp r7, #0\n" - " beq ._251 @cond_branch\n" - " b ._257\n" - "._254:\n" - " .align 2, 0\n" - "._253:\n" - " .word gStringVar2\n" - " .word 0x2b6a\n" - " .word gSpeciesNames\n" - " .word gStringVar3\n" - "._250:\n" - " cmp r7, #0x2\n" - " beq ._255 @cond_branch\n" - " cmp r7, #0x3\n" - " beq ._256 @cond_branch\n" - " b ._257\n" - "._251:\n" - " ldr r1, ._259\n" - " ldr r0, ._259 + 4\n" - " b ._264\n" - "._260:\n" - " .align 2, 0\n" - "._259:\n" - " .word gMenuCallback\n" - " .word debug_sub_810CE48+1\n" - "._249:\n" - " ldr r1, ._262\n" - " ldr r0, ._262 + 4\n" - " b ._264\n" - "._263:\n" - " .align 2, 0\n" - "._262:\n" - " .word gMenuCallback\n" - " .word debug_sub_810CED0+1\n" - "._255:\n" - " ldr r1, ._265\n" - " ldr r0, ._265 + 4\n" - " b ._264\n" - "._266:\n" - " .align 2, 0\n" - "._265:\n" - " .word gMenuCallback\n" - " .word debug_sub_810CFA4+1\n" - "._256:\n" - " ldr r1, ._267\n" - " ldr r0, ._267 + 4\n" - "._264:\n" - " str r0, [r1]\n" - "._257:\n" - " add sp, sp, #0x114\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._268:\n" - " .align 2, 0\n" - "._267:\n" - " .word gMenuCallback\n" - " .word debug_sub_810D030+1\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_810D2F4() +void debug_sub_810D340(void) { - asm( - " push {lr}\n" - " bl Menu_ProcessInput\n" - " lsl r2, r0, #0x18\n" - " asr r1, r2, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._269 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._270 @cond_branch\n" - " ldr r0, ._272\n" - " bl SetMainCallback2\n" - " b ._279\n" - "._273:\n" - " .align 2, 0\n" - "._272:\n" - " .word debug_sub_810CDF0+1\n" - "._270:\n" - " cmp r1, #0x1\n" - " beq ._278 @cond_branch\n" - " cmp r1, #0x1\n" - " bgt ._275 @cond_branch\n" - " cmp r1, #0\n" - " beq ._278 @cond_branch\n" - " b ._279\n" - "._275:\n" - " cmp r1, #0x2\n" - " beq ._278 @cond_branch\n" - " cmp r1, #0x3\n" - " bne ._279 @cond_branch\n" - "._278:\n" - " lsr r0, r2, #0x18\n" - " bl debug_sub_810D174\n" - "._269:\n" - " mov r0, #0x0\n" - " b ._280\n" - "._279:\n" - " mov r0, #0x1\n" - "._280:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + Menu_DrawStdWindowFrame(0, 0, 9, 9); + Menu_PrintItems(2, 1, 4, _84116BC); + InitMenu(0, 1, 1, 4, 0, 8); + gMenuCallback = debug_sub_810D2F4; } -__attribute__((naked)) -void debug_sub_810D340() +void debug_sub_810D388(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x9\n" - " mov r3, #0x9\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._281\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x4\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x8\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " ldr r1, ._281 + 4\n" - " ldr r0, ._281 + 8\n" - " str r0, [r1]\n" - " add sp, sp, #0x8\n" - " pop {r0}\n" - " bx r0\n" - "._282:\n" - " .align 2, 0\n" - "._281:\n" - " .word _84116BC\n" - " .word gMenuCallback\n" - " .word debug_sub_810D2F4+1\n" - "\n" - ); + switch (gMain.state) + { + case 0: + if (gUnknown_Debug_0300079C != 0) + { + gMain.state = 2; + gUnknown_Debug_0300079C = 0; + return; + } + else + { + ScanlineEffect_Stop(); + ResetPaletteFade(); + SetVBlankCallback(sub_80F8F18); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + } + break; + case 1: + if (UpdatePaletteFade()) + return; + break; + case 2: + SetVBlankCallback(NULL); + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG2VOFS = 0; + REG_BG2HOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + break; + case 3: + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + break; + case 4: + Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gWindowTemplate_81E6CE4); + Menu_EraseScreen(); + break; + case 5: + LoadPalette(gMailGraphicsTable[0].palette, 0, 32); + LZ77UnCompVram(gMailGraphicsTable[0].tiles, (void *)VRAM); + DmaFill16(3, 1, (void *)(VRAM + 0x4000), 0x500); + break; + case 6: + REG_BG0CNT = 0x9F08; + REG_BG1CNT = 0x0801; + REG_BLDCNT = 0; + REG_DISPCNT = 0x0340; + debug_sub_810D340(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + SetVBlankCallback(sub_80F8F18); + break; + case 7: + if (!UpdatePaletteFade()) + return; + break; + case 8: + CreateTask(debug_sub_810CE1C, 0); + SetMainCallback2(debug_sub_810CDE0); + break; + default: + return; + } + gMain.state++; } -__attribute__((naked)) -void debug_sub_810D388() -{ - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " ldr r1, ._285\n" - " ldr r2, ._285 + 4\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " add r2, r1, #0\n" - " cmp r0, #0x8\n" - " bls ._283 @cond_branch\n" - " b ._320\n" - "._283:\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._285 + 8\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._286:\n" - " .align 2, 0\n" - "._285:\n" - " .word gMain\n" - " .word 0x43c\n" - " .word ._287\n" - "._287:\n" - " .word ._288\n" - " .word ._289\n" - " .word ._290\n" - " .word ._291\n" - " .word ._292\n" - " .word ._293\n" - " .word ._294\n" - " .word ._295\n" - " .word ._296\n" - "._288:\n" - " ldr r3, ._299\n" - " ldrb r4, [r3]\n" - " cmp r4, #0\n" - " beq ._297 @cond_branch\n" - " ldr r1, ._299 + 4\n" - " add r0, r2, r1\n" - " mov r2, #0x0\n" - " mov r1, #0x2\n" - " strb r1, [r0]\n" - " strb r2, [r3]\n" - " b ._320\n" - "._300:\n" - " .align 2, 0\n" - "._299:\n" - " .word gUnknown_Debug_0300079C\n" - " .word 0x43c\n" - "._297:\n" - " bl ScanlineEffect_Stop\n" - " bl ResetPaletteFade\n" - " ldr r0, ._302\n" - " bl SetVBlankCallback\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " str r4, [sp]\n" - " mov r1, #0x0\n" - " mov r2, #0x0\n" - " mov r3, #0x10\n" - " bl BeginNormalPaletteFade\n" - " b ._321\n" - "._303:\n" - " .align 2, 0\n" - "._302:\n" - " .word sub_80F8F18+1\n" - "._289:\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._304 @cond_branch\n" - " b ._320\n" - "._304:\n" - " b ._321\n" - "._290:\n" - " mov r0, #0x0\n" - " bl SetVBlankCallback\n" - " ldr r0, ._308\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " add r0, r0, #0x4\n" - " strh r1, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r1, [r0]\n" - " add r0, r0, #0x4\n" - " strh r1, [r0]\n" - " add r0, r0, #0x2\n" - " strh r1, [r0]\n" - " b ._321\n" - "._309:\n" - " .align 2, 0\n" - "._308:\n" - " .word 0x4000010\n" - "._291:\n" - " bl ResetSpriteData\n" - " bl ResetTasks\n" - " bl FreeAllSpritePalettes\n" - " b ._321\n" - "._292:\n" - " ldr r4, ._312\n" - " add r0, r4, #0\n" - " bl Text_LoadWindowTemplate\n" - " add r0, r4, #0\n" - " bl InitMenuWindow\n" - " bl Menu_EraseScreen\n" - " b ._321\n" - "._313:\n" - " .align 2, 0\n" - "._312:\n" - " .word gWindowTemplate_81E6CE4\n" - "._293:\n" - " ldr r4, ._315\n" - " ldr r0, [r4]\n" - " mov r1, #0x0\n" - " mov r2, #0x20\n" - " bl LoadPalette\n" - " ldr r0, [r4, #0x4]\n" - " mov r1, #0xc0\n" - " lsl r1, r1, #0x13\n" - " bl LZ77UnCompVram\n" - " add r1, sp, #0x4\n" - " mov r0, #0x1\n" - " strh r0, [r1]\n" - " ldr r1, ._315 + 4\n" - " add r2, sp, #0x4\n" - " str r2, [r1]\n" - " ldr r0, ._315 + 8\n" - " str r0, [r1, #0x4]\n" - " ldr r0, ._315 + 12\n" - " str r0, [r1, #0x8]\n" - " ldr r0, [r1, #0x8]\n" - " b ._321\n" - "._316:\n" - " .align 2, 0\n" - "._315:\n" - " .word gMailGraphicsTable\n" - " .word 0x40000d4\n" - " .word 0x6004000\n" - " .word 0x81000280\n" - "._294:\n" - " ldr r1, ._318\n" - " ldr r2, ._318 + 4\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r2, ._318 + 8\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " add r1, r1, #0x46\n" - " mov r0, #0x0\n" - " strh r0, [r1]\n" - " sub r1, r1, #0x50\n" - " mov r2, #0xd0\n" - " lsl r2, r2, #0x2\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " bl debug_sub_810D340\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " mov r1, #0x0\n" - " str r1, [sp]\n" - " mov r2, #0x10\n" - " mov r3, #0x0\n" - " bl BeginNormalPaletteFade\n" - " ldr r0, ._318 + 12\n" - " bl SetVBlankCallback\n" - " b ._321\n" - "._319:\n" - " .align 2, 0\n" - "._318:\n" - " .word 0x4000008\n" - " .word 0x9f08\n" - " .word 0x801\n" - " .word sub_80F8F18+1\n" - "._295:\n" - " bl UpdatePaletteFade\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._320 @cond_branch\n" - " b ._321\n" - "._296:\n" - " ldr r0, ._322\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " ldr r0, ._322 + 4\n" - " bl SetMainCallback2\n" - "._321:\n" - " ldr r1, ._322 + 8\n" - " ldr r0, ._322 + 12\n" - " add r1, r1, r0\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - "._320:\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._323:\n" - " .align 2, 0\n" - "._322:\n" - " .word debug_sub_810CE1C+1\n" - " .word debug_sub_810CDE0+1\n" - " .word gMain\n" - " .word 0x43c\n" - "\n" - ); -} -#endif \ No newline at end of file +#endif -- cgit v1.2.3 From 092eba3155abf78bfdde1dbe3f140fdbfa9f5081 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 16:50:16 -0600 Subject: integrate debug functions in contest.c --- src/contest.c | 1022 +++++++++++---------------------------------------------- 1 file changed, 187 insertions(+), 835 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 950b26d0c..2f988b9e4 100644 --- a/src/contest.c +++ b/src/contest.c @@ -33,6 +33,8 @@ #include "util.h" #include "contest_ai.h" +extern u8 gUnknown_020297ED; + extern u8 AreMovesContestCombo(u16, u16); // I don't think this is a bool extern void sub_80C8A38(u8); extern void sub_80C8AD0(u8); @@ -238,6 +240,7 @@ void sub_80B0BC4(u8, bool8); void sub_80B0C5C(struct Sprite *); void sub_80B0CB0(struct Sprite *); void sub_80B0CDC(u8, int); +void unref_sub_80B0CF4(void); void sub_80B0D7C(void); void sub_80B1118(void); void sub_80B114C(u8); @@ -611,43 +614,17 @@ void sub_80AB9A0(u8 taskId) } } -#if DEBUG -__attribute__((naked)) -void ContestMainCallback2(void) -{ - asm("\ - push {lr}\n\ - ldr r0, ._122\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._121 @cond_branch\n\ - ldr r0, ._122 + 4\n\ - ldrh r0, [r0, #0x2e]\n\ - cmp r0, #0x4\n\ - bne ._121 @cond_branch\n\ - bl unref_sub_80B0CF4\n\ -._121:\n\ - bl AnimateSprites\n\ - bl RunTasks\n\ - bl BuildOamBuffer\n\ - bl UpdatePaletteFade\n\ - pop {r0}\n\ - bx r0\n\ -._123:\n\ - .align 2, 0\n\ -._122:\n\ - .word gUnknown_020297ED\n\ - .word gMain"); -} -#else void ContestMainCallback2(void) { +#if DEBUG + if (gUnknown_020297ED == 1 && gMain.newKeys == 4) + unref_sub_80B0CF4(); +#endif AnimateSprites(); RunTasks(); BuildOamBuffer(); UpdatePaletteFade(); } -#endif void ContestVBlankCallback(void) { @@ -762,273 +739,9 @@ void sub_80ABCDC(u8 taskId) gTasks[taskId].func = sub_80ABEA0; } +void debug_sub_80B9EBC(u8); + // Handle move selection input -#if DEBUG -__attribute__((naked)) -void sub_80ABEA0(u8 taskId) -{ - asm("\ - push {r4, r5, r6, r7, lr}\n\ - add sp, sp, #0xfffffff8\n\ - lsl r0, r0, #0x18\n\ - lsr r7, r0, #0x18\n\ - mov r6, #0x0\n\ - ldr r0, ._161\n\ - mov ip, r0\n\ - ldr r4, ._161 + 4\n\ - ldr r3, ._161 + 8\n\ - ldrb r0, [r4]\n\ - lsl r0, r0, #0x6\n\ - mov r1, ip\n\ - add r1, r1, #0x1e\n\ - add r1, r0, r1\n\ - mov r2, #0x3\n\ -._158:\n\ - ldrh r0, [r1]\n\ - cmp r0, #0\n\ - beq ._157 @cond_branch\n\ - add r0, r6, #1\n\ - lsl r0, r0, #0x18\n\ - lsr r6, r0, #0x18\n\ -._157:\n\ - add r1, r1, #0x2\n\ - sub r2, r2, #0x1\n\ - cmp r2, #0\n\ - bge ._158 @cond_branch\n\ - ldrh r0, [r3, #0x2e]\n\ - mov r5, #0x1\n\ - and r5, r5, r0\n\ - cmp r5, #0\n\ - beq ._159 @cond_branch\n\ - bl DestroyMenuCursor\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._161 + 12\n\ - lsl r1, r7, #0x2\n\ - add r1, r1, r7\n\ - lsl r1, r1, #0x3\n\ - add r1, r1, r0\n\ - ldr r0, ._161 + 16\n\ - b ._160\n\ -._162:\n\ - .align 2, 0\n\ -._161:\n\ - .word gContestMons\n\ - .word gContestPlayerMonIndex\n\ - .word gMain\n\ - .word gTasks\n\ - .word sub_80AC0C8+1\n\ -._159:\n\ - ldrh r0, [r3, #0x30]\n\ - cmp r0, #0x10\n\ - bne ._163 @cond_branch\n\ - b ._196\n\ -._163:\n\ - cmp r0, #0x10\n\ - bgt ._165 @cond_branch\n\ - cmp r0, #0x2\n\ - beq ._166 @cond_branch\n\ - cmp r0, #0x8\n\ - bne ._167 @cond_branch\n\ - b ._168\n\ -._167:\n\ - b ._196\n\ -._165:\n\ - cmp r0, #0x40\n\ - beq ._170 @cond_branch\n\ - cmp r0, #0x40\n\ - bgt ._171 @cond_branch\n\ - b ._196\n\ -._171:\n\ - cmp r0, #0x80\n\ - beq ._173 @cond_branch\n\ - b ._196\n\ -._166:\n\ - bl sub_814A904\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - mov r0, #0x0\n\ - bl sub_80AFFE0\n\ - ldr r0, ._177\n\ - ldr r1, ._177 + 4\n\ - ldrb r2, [r1]\n\ - ldrb r3, [r1, #0x1]\n\ - ldrb r4, [r1, #0x2]\n\ - str r4, [sp]\n\ - ldrb r1, [r1, #0x3]\n\ - str r1, [sp, #0x4]\n\ - mov r1, #0x0\n\ - bl Text_FillWindowRectDefPalette\n\ - ldr r0, ._177 + 8\n\ - ldrb r0, [r0]\n\ - bl Contest_IsMonsTurnDisabled\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._175 @cond_branch\n\ - ldr r0, ._177 + 12\n\ - ldr r1, ._177 + 16\n\ - bl StringCopy\n\ - b ._176\n\ -._178:\n\ - .align 2, 0\n\ -._177:\n\ - .word gUnknown_03004210\n\ - .word gUnknown_083CA340\n\ - .word gContestPlayerMonIndex\n\ - .word gDisplayedStringBattle\n\ - .word gText_Contest_WhichMoveWillBePlayed\n\ -._175:\n\ - ldr r0, ._180\n\ - ldr r1, ._180 + 4\n\ - bl StringCopy\n\ -._176:\n\ - ldr r5, ._180\n\ - ldr r0, ._180 + 8\n\ - ldrb r1, [r0, #0x1]\n\ - add r1, r1, #0x1\n\ - add r0, r5, #0\n\ - bl InsertStringDigit\n\ - bl sub_80AF138\n\ - ldr r4, ._180 + 12\n\ - add r0, r4, #0\n\ - add r1, r5, #0\n\ - bl StringExpandPlaceholders\n\ - ldr r0, ._180 + 16\n\ - mov r2, #0xc2\n\ - lsl r2, r2, #0x2\n\ - mov r1, #0xf\n\ - str r1, [sp]\n\ - add r1, r4, #0\n\ - mov r3, #0x1\n\ - bl Text_InitWindowAndPrintText\n\ - ldr r0, ._180 + 20\n\ - mov r1, #0x0\n\ - strh r1, [r0]\n\ - ldr r0, ._180 + 24\n\ - strh r1, [r0]\n\ - ldr r1, ._180 + 28\n\ - lsl r0, r7, #0x2\n\ - add r0, r0, r7\n\ - lsl r0, r0, #0x3\n\ - add r0, r0, r1\n\ - ldr r1, ._180 + 32\n\ - str r1, [r0]\n\ - b ._196\n\ -._181:\n\ - .align 2, 0\n\ -._180:\n\ - .word gDisplayedStringBattle\n\ - .word gText_Contest_ButItCantParticipate\n\ - .word gSharedMem+0x19204\n\ - .word gStringVar4\n\ - .word gMenuWindow\n\ - .word gBattle_BG0_Y\n\ - .word gBattle_BG2_Y\n\ - .word gTasks\n\ - .word sub_80ABC70+1\n\ -._170:\n\ - ldr r4, ._184\n\ - mov r0, #0x0\n\ - ldsb r0, [r4, r0]\n\ - bl nullsub_17\n\ - ldrb r0, [r4]\n\ - cmp r0, #0\n\ - bne ._182 @cond_branch\n\ - sub r0, r6, #1\n\ - b ._186\n\ -._185:\n\ - .align 2, 0\n\ -._184:\n\ - .word gSharedMem+0x19204\n\ -._182:\n\ - sub r0, r0, #0x1\n\ - b ._186\n\ -._173:\n\ - ldr r4, ._189\n\ - mov r0, #0x0\n\ - ldsb r0, [r4, r0]\n\ - bl nullsub_17\n\ - ldrb r1, [r4]\n\ - sub r0, r6, #1\n\ - cmp r1, r0\n\ - bne ._187 @cond_branch\n\ - strb r5, [r4]\n\ - b ._188\n\ -._190:\n\ - .align 2, 0\n\ -._189:\n\ - .word gSharedMem+0x19204\n\ -._187:\n\ - add r0, r1, #1\n\ -._186:\n\ - strb r0, [r4]\n\ -._188:\n\ - ldr r4, ._193\n\ - mov r0, #0x0\n\ - ldsb r0, [r4, r0]\n\ - bl sub_80AC0AC\n\ - bl sub_80AED58\n\ - ldr r2, ._193 + 4\n\ - ldrb r1, [r4]\n\ - lsl r1, r1, #0x1\n\ - ldr r0, ._193 + 8\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x6\n\ - add r1, r1, r0\n\ - add r2, r2, #0x1e\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - bl sub_80AEBEC\n\ - cmp r6, #0x1\n\ - bls ._196 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - b ._196\n\ -._194:\n\ - .align 2, 0\n\ -._193:\n\ - .word gSharedMem+0x19204\n\ - .word gContestMons\n\ - .word gContestPlayerMonIndex\n\ -._168:\n\ - ldr r0, ._197\n\ - ldrb r1, [r0]\n\ - cmp r1, #0x1\n\ - bne ._196 @cond_branch\n\ - ldr r0, ._197 + 4\n\ - ldrb r0, [r0]\n\ - add r2, r0, #0\n\ - and r2, r2, r1\n\ - cmp r2, #0\n\ - bne ._196 @cond_branch\n\ - ldr r0, ._197 + 8\n\ - lsl r1, r7, #0x2\n\ - add r1, r1, r7\n\ - lsl r1, r1, #0x3\n\ - add r1, r1, r0\n\ - strh r2, [r1, #0x8]\n\ - ldrb r0, [r4]\n\ - lsl r0, r0, #0x6\n\ - add r0, r0, ip\n\ - ldrh r0, [r0, #0x1e]\n\ - strh r0, [r1, #0xa]\n\ - ldr r0, ._197 + 12\n\ -._160:\n\ - str r0, [r1]\n\ -._196:\n\ - add sp, sp, #0x8\n\ - pop {r4, r5, r6, r7}\n\ - pop {r0}\n\ - bx r0\n\ -._198:\n\ - .align 2, 0\n\ -._197:\n\ - .word gUnknown_020297ED\n\ - .word gIsLinkContest\n\ - .word gTasks\n\ - .word debug_sub_80B9EBC+1"); -} -#else void sub_80ABEA0(u8 taskId) { u8 numMoves = 0; @@ -1100,552 +813,191 @@ void sub_80ABEA0(u8 taskId) if (numMoves > 1) PlaySE(SE_SELECT); break; +#if DEBUG + case START_BUTTON: + if (gUnknown_020297ED == 1 && !(gIsLinkContest & 1)) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = gContestMons[gContestPlayerMonIndex].moves[0]; + gTasks[taskId].func = debug_sub_80B9EBC; + } + break; +#endif } } } -#endif #if DEBUG -__attribute__((naked)) -void debug_sub_80B9EBC() -{ - asm("\ - push {r4, r5, r6, r7, lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - add sp, sp, #0xffffff94\n\ - lsl r0, r0, #0x18\n\ - lsr r4, r0, #0x18\n\ - ldr r1, ._202\n\ - lsl r0, r4, #0x2\n\ - add r0, r0, r4\n\ - lsl r0, r0, #0x3\n\ - add r7, r0, r1\n\ - mov r0, #0x8\n\ - ldsh r2, [r7, r0]\n\ - cmp r2, #0\n\ - beq ._199 @cond_branch\n\ - cmp r2, #0x1\n\ - beq ._200 @cond_branch\n\ - b ._229\n\ -._203:\n\ - .align 2, 0\n\ -._202:\n\ - .word gTasks\n\ -._199:\n\ - ldr r5, ._205\n\ - ldr r4, ._205 + 4\n\ - ldrb r0, [r4]\n\ - mov r8, r0\n\ - ldrb r6, [r4, #0x1]\n\ - ldrb r0, [r4, #0x2]\n\ - str r0, [sp]\n\ - ldrb r0, [r4, #0x3]\n\ - str r0, [sp, #0x4]\n\ - add r0, r5, #0\n\ - mov r1, #0x0\n\ - mov r2, r8\n\ - add r3, r6, #0\n\ - bl Text_FillWindowRectDefPalette\n\ - mov r0, #0xa\n\ - ldsh r1, [r7, r0]\n\ - mov r0, #0xd\n\ - mul r1, r1, r0\n\ - ldr r0, ._205 + 8\n\ - add r1, r1, r0\n\ - mov r2, #0xc2\n\ - lsl r2, r2, #0x2\n\ - str r6, [sp]\n\ - add r0, r5, #0\n\ - mov r3, r8\n\ - bl Text_InitWindowAndPrintText\n\ - mov r0, #0xa\n\ - ldsh r1, [r7, r0]\n\ - add r0, sp, #0x8\n\ - mov r2, #0x2\n\ - mov r3, #0x3\n\ - bl ConvertIntToDecimalStringN\n\ - mov r2, #0xc7\n\ - lsl r2, r2, #0x2\n\ - ldrb r3, [r4, #0x4]\n\ - ldrb r0, [r4, #0x5]\n\ - str r0, [sp]\n\ - add r0, r5, #0\n\ - add r1, sp, #0x8\n\ - bl Text_InitWindowAndPrintText\n\ - bl sub_80AED58\n\ - ldrh r0, [r7, #0xa]\n\ - bl sub_80AEBEC\n\ - ldrh r0, [r7, #0x8]\n\ - add r0, r0, #0x1\n\ - strh r0, [r7, #0x8]\n\ - b ._229\n\ -._206:\n\ - .align 2, 0\n\ -._205:\n\ - .word gUnknown_03004210\n\ - .word gUnknown_083CA340\n\ - .word gMoveNames\n\ -._200:\n\ - ldr r0, ._213\n\ - ldrh r1, [r0, #0x30]\n\ - cmp r1, #0x10\n\ - beq ._207 @cond_branch\n\ - cmp r1, #0x10\n\ - bgt ._208 @cond_branch\n\ - cmp r1, #0x4\n\ - beq ._215 @cond_branch\n\ - cmp r1, #0x4\n\ - bgt ._210 @cond_branch\n\ - cmp r1, #0x2\n\ - beq ._211 @cond_branch\n\ - b ._229\n\ -._214:\n\ - .align 2, 0\n\ -._213:\n\ - .word gMain\n\ -._210:\n\ - cmp r1, #0x8\n\ - beq ._215 @cond_branch\n\ - b ._229\n\ -._208:\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x1\n\ - cmp r1, r0\n\ - beq ._217 @cond_branch\n\ - cmp r1, r0\n\ - bgt ._218 @cond_branch\n\ - cmp r1, #0x20\n\ - beq ._219 @cond_branch\n\ - b ._229\n\ -._218:\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x2\n\ - cmp r1, r0\n\ - beq ._221 @cond_branch\n\ - b ._229\n\ -._219:\n\ - ldrh r0, [r7, #0xa]\n\ - sub r0, r0, #0x1\n\ - b ._223\n\ -._221:\n\ - ldrh r0, [r7, #0xa]\n\ - sub r0, r0, #0xa\n\ -._223:\n\ - strh r0, [r7, #0xa]\n\ - lsl r0, r0, #0x10\n\ - cmp r0, #0\n\ - bgt ._227 @cond_branch\n\ - mov r0, #0xb1\n\ - lsl r0, r0, #0x1\n\ - strh r0, [r7, #0xa]\n\ - b ._227\n\ -._207:\n\ - ldrh r0, [r7, #0xa]\n\ - add r0, r0, #0x1\n\ - b ._226\n\ -._217:\n\ - ldrh r0, [r7, #0xa]\n\ - add r0, r0, #0xa\n\ -._226:\n\ - strh r0, [r7, #0xa]\n\ - lsl r0, r0, #0x10\n\ - mov r1, #0xb1\n\ - lsl r1, r1, #0x11\n\ - cmp r0, r1\n\ - ble ._227 @cond_branch\n\ - strh r2, [r7, #0xa]\n\ -._227:\n\ - ldrh r0, [r7, #0x8]\n\ - sub r0, r0, #0x1\n\ - strh r0, [r7, #0x8]\n\ - b ._229\n\ -._215:\n\ - ldr r0, ._230\n\ - mov r1, #0x0\n\ - strh r1, [r0]\n\ - ldr r0, ._230 + 4\n\ - strh r1, [r0]\n\ - bl sub_80B1BDC\n\ - ldr r1, ._230 + 8\n\ - lsl r0, r4, #0x2\n\ - add r0, r0, r4\n\ - lsl r0, r0, #0x3\n\ - add r0, r0, r1\n\ - mov r1, #0x0\n\ - strh r1, [r0, #0x8]\n\ - ldr r1, ._230 + 12\n\ - str r1, [r0]\n\ - b ._229\n\ -._231:\n\ - .align 2, 0\n\ -._230:\n\ - .word gBattle_BG0_Y\n\ - .word gBattle_BG2_Y\n\ - .word gTasks\n\ - .word debug_sub_80BA054+1\n\ -._211:\n\ - ldr r0, ._232\n\ - mov r1, #0xa0\n\ - strh r1, [r0]\n\ - ldr r0, ._232 + 4\n\ - strh r1, [r0]\n\ - ldr r1, ._232 + 8\n\ - ldr r0, ._232 + 12\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x6\n\ - add r0, r0, r1\n\ - ldrh r2, [r7, #0xa]\n\ - mov r1, #0x0\n\ - strh r2, [r0, #0x1e]\n\ - strh r1, [r7, #0x8]\n\ - strh r1, [r7, #0xa]\n\ - strh r1, [r7, #0xc]\n\ - strh r1, [r7, #0xe]\n\ - ldr r0, ._232 + 16\n\ - str r0, [r7]\n\ -._229:\n\ - add sp, sp, #0x6c\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4, r5, r6, r7}\n\ - pop {r0}\n\ - bx r0\n\ -._233:\n\ - .align 2, 0\n\ -._232:\n\ - .word gBattle_BG0_Y\n\ - .word gBattle_BG2_Y\n\ - .word gContestMons\n\ - .word gContestPlayerMonIndex\n\ - .word sub_80ABCDC+1"); -} -__attribute__((naked)) -void debug_sub_80BA054() -{ - asm("\ - push {r4, r5, r6, r7, lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6, r7}\n\ - lsl r0, r0, #0x18\n\ - lsr r7, r0, #0x18\n\ - ldr r1, ._236\n\ - lsl r0, r7, #0x2\n\ - add r0, r0, r7\n\ - lsl r0, r0, #0x3\n\ - add r0, r0, r1\n\ - mov r2, #0x8\n\ - ldsh r0, [r0, r2]\n\ - add r2, r1, #0\n\ - cmp r0, #0x14\n\ - bls ._234 @cond_branch\n\ - b ._286\n\ -._234:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._236 + 4\n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._237:\n\ - .align 2, 0\n\ -._236:\n\ - .word gTasks\n\ - .word ._238\n\ -._238:\n\ - .word ._239\n\ - .word ._240\n\ - .word ._241\n\ - .word ._242\n\ - .word ._243\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._286\n\ - .word ._259\n\ -._239:\n\ - lsl r0, r7, #0x2\n\ - mov r8, r0\n\ - ldr r2, ._262\n\ - mov r9, r2\n\ - ldr r1, ._262 + 4\n\ - mov r2, #0x0\n\ - add r0, r1, #3\n\ -._260:\n\ - strb r2, [r0]\n\ - sub r0, r0, #0x1\n\ - cmp r0, r1\n\ - bge ._260 @cond_branch\n\ - mov r5, #0x0\n\ - mov r0, r9\n\ - mov r1, #0x0\n\ - mov r2, #0x14\n\ - bl memset\n\ - ldr r4, ._262 + 8\n\ - ldrb r0, [r4]\n\ - bl sub_80B28F0\n\ - ldr r3, ._262 + 12\n\ - ldrb r2, [r4]\n\ - lsl r2, r2, #0x6\n\ - add r0, r2, r3\n\ - ldrh r0, [r0]\n\ - add r1, r3, #0\n\ - add r1, r1, #0x3c\n\ - add r1, r2, r1\n\ - ldr r1, [r1]\n\ - add r3, r3, #0x38\n\ - add r2, r2, r3\n\ - ldr r2, [r2]\n\ - bl sub_80AE9FC\n\ - lsl r0, r0, #0x18\n\ - lsr r6, r0, #0x18\n\ - ldr r2, ._262 + 16\n\ - lsl r0, r6, #0x4\n\ - add r0, r0, r6\n\ - lsl r0, r0, #0x2\n\ - add r3, r0, r2\n\ - mov r4, #0x0\n\ - mov r1, #0x78\n\ - strh r1, [r3, #0x24]\n\ - add r2, r2, #0x1c\n\ - add r0, r0, r2\n\ - ldr r1, ._262 + 20\n\ - str r1, [r0]\n\ - ldr r0, ._262 + 24\n\ - mov r2, r8\n\ - add r1, r2, r7\n\ - lsl r1, r1, #0x3\n\ - add r1, r1, r0\n\ - strh r6, [r1, #0xc]\n\ - ldr r2, ._262 + 28\n\ - ldr r0, ._262 + 32\n\ - ldrb r0, [r0]\n\ - add r0, r0, r2\n\ - strb r6, [r0]\n\ - strh r5, [r1, #0xe]\n\ - ldrh r0, [r1, #0x8]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1, #0x8]\n\ - mov r0, r9\n\ - sub r0, r0, #0xea\n\ - strb r4, [r0]\n\ - b ._286\n\ -._263:\n\ - .align 2, 0\n\ -._262:\n\ - .word gSharedMem+0x19348\n\ - .word gBattleMonForms\n\ - .word gContestPlayerMonIndex\n\ - .word gContestMons\n\ - .word gSprites\n\ - .word sub_80AD8FC+1\n\ - .word gTasks\n\ - .word gObjectBankIDs\n\ - .word gBankAttacker\n\ -._240:\n\ - lsl r0, r7, #0x2\n\ - add r0, r0, r7\n\ - lsl r0, r0, #0x3\n\ - add r7, r0, r2\n\ - ldrb r6, [r7, #0xc]\n\ - ldr r1, ._267\n\ - lsl r0, r6, #0x4\n\ - add r0, r0, r6\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, #0x1c\n\ - add r0, r0, r1\n\ - ldr r1, [r0]\n\ - ldr r0, ._267 + 4\n\ - cmp r1, r0\n\ - beq ._264 @cond_branch\n\ - b ._286\n\ -._264:\n\ - ldr r4, ._267 + 8\n\ - ldrb r1, [r4]\n\ - lsl r0, r1, #0x3\n\ - sub r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._267 + 12\n\ - add r0, r0, r1\n\ - ldrh r1, [r7, #0xa]\n\ - mov r5, #0x0\n\ - strh r1, [r0, #0x6]\n\ - ldrb r0, [r4]\n\ - bl sub_80B2790\n\ - ldrb r0, [r4]\n\ - bl sub_80B28F0\n\ - ldrh r0, [r7, #0xa]\n\ - bl SelectContestMoveBankTarget\n\ - ldrh r0, [r7, #0xa]\n\ - bl DoMoveAnim\n\ - strh r5, [r7, #0xe]\n\ - ldrh r0, [r7, #0x8]\n\ - add r0, r0, #0x1\n\ - strh r0, [r7, #0x8]\n\ - b ._286\n\ -._268:\n\ - .align 2, 0\n\ -._267:\n\ - .word gSprites\n\ - .word SpriteCallbackDummy+1\n\ - .word gContestPlayerMonIndex\n\ - .word gSharedMem+0x19260\n\ -._241:\n\ - ldr r0, ._273\n\ - ldr r0, [r0]\n\ - bl _call_via_r0\n\ - ldr r0, ._273 + 4\n\ - ldrb r4, [r0]\n\ - cmp r4, #0\n\ - beq ._269 @cond_branch\n\ - b ._286\n\ -._269:\n\ - ldr r0, ._273 + 8\n\ - ldrb r0, [r0]\n\ - bl sub_80B28CC\n\ - ldr r0, ._273 + 12\n\ - add r0, r0, #0x5a\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._271 @cond_branch\n\ - ldr r0, ._273 + 16\n\ - lsl r1, r7, #0x2\n\ - add r1, r1, r7\n\ - lsl r1, r1, #0x3\n\ - add r1, r1, r0\n\ - strh r4, [r1, #0x1c]\n\ - mov r0, #0x14\n\ - strh r0, [r1, #0x8]\n\ - b ._286\n\ -._274:\n\ - .align 2, 0\n\ -._273:\n\ - .word gAnimScriptCallback\n\ - .word gAnimScriptActive\n\ - .word gContestPlayerMonIndex\n\ - .word gSharedMem+0x19204\n\ - .word gTasks\n\ -._271:\n\ - ldr r0, ._276\n\ - lsl r1, r7, #0x2\n\ - add r1, r1, r7\n\ - lsl r1, r1, #0x3\n\ - add r1, r1, r0\n\ - ldrh r0, [r1, #0x8]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1, #0x8]\n\ - b ._286\n\ -._277:\n\ - .align 2, 0\n\ -._276:\n\ - .word gTasks\n\ -._242:\n\ - lsl r0, r7, #0x2\n\ - add r0, r0, r7\n\ - lsl r0, r0, #0x3\n\ - add r4, r0, r2\n\ - ldrh r0, [r4, #0xe]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4, #0xe]\n\ - lsl r0, r0, #0x10\n\ - asr r0, r0, #0x10\n\ - cmp r0, #0x15\n\ - bne ._286 @cond_branch\n\ - ldrb r6, [r4, #0xc]\n\ - ldr r1, ._280\n\ - lsl r0, r6, #0x4\n\ - add r0, r0, r6\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, #0x1c\n\ - add r0, r0, r1\n\ - ldr r1, ._280 + 4\n\ - str r1, [r0]\n\ - bl sub_80B1B14\n\ - mov r0, #0x0\n\ - strh r0, [r4, #0xe]\n\ - ldrh r0, [r4, #0x8]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4, #0x8]\n\ - b ._286\n\ -._281:\n\ - .align 2, 0\n\ -._280:\n\ - .word gSprites\n\ - .word sub_80AD92C+1\n\ -._243:\n\ - lsl r0, r7, #0x2\n\ - add r0, r0, r7\n\ - lsl r0, r0, #0x3\n\ - add r5, r0, r2\n\ - ldrb r6, [r5, #0xc]\n\ - ldr r1, ._284\n\ - lsl r0, r6, #0x4\n\ - add r0, r0, r6\n\ - lsl r0, r0, #0x2\n\ - add r4, r0, r1\n\ - add r0, r4, #0\n\ - add r0, r0, #0x3e\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x1d\n\ - cmp r0, #0\n\ - bge ._286 @cond_branch\n\ - add r0, r4, #0\n\ - bl FreeSpriteOamMatrix\n\ - add r0, r4, #0\n\ - bl DestroySprite\n\ - mov r0, #0x0\n\ - strh r0, [r5, #0x8]\n\ - ldr r0, ._284 + 4\n\ - str r0, [r5]\n\ - ldr r0, ._284 + 8\n\ - mov r1, #0xa0\n\ - strh r1, [r0]\n\ - ldr r0, ._284 + 12\n\ - strh r1, [r0]\n\ - b ._286\n\ -._285:\n\ - .align 2, 0\n\ -._284:\n\ - .word gSprites\n\ - .word debug_sub_80B9EBC+1\n\ - .word gBattle_BG0_Y\n\ - .word gBattle_BG2_Y\n\ -._259:\n\ - lsl r0, r7, #0x2\n\ - add r0, r0, r7\n\ - lsl r0, r0, #0x3\n\ - add r2, r0, r2\n\ - ldrh r0, [r2, #0x1c]\n\ - add r1, r0, #1\n\ - strh r1, [r2, #0x1c]\n\ - lsl r0, r0, #0x10\n\ - asr r0, r0, #0x10\n\ - cmp r0, #0x1e\n\ - ble ._286 @cond_branch\n\ - mov r0, #0x0\n\ - strh r0, [r2, #0x1c]\n\ - mov r0, #0x1\n\ - strh r0, [r2, #0x8]\n\ -._286:\n\ - pop {r3, r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4, r5, r6, r7}\n\ - pop {r0}\n\ - bx r0"); +void debug_sub_80BA054(u8); + +void debug_sub_80B9EBC(u8 taskId) +{ + u8 text[100]; + + switch (gTasks[taskId].data[0]) + { + case 0: + Text_FillWindowRectDefPalette( + &gUnknown_03004210, + 0, + gUnknown_083CA340[0][0], + gUnknown_083CA340[0][1], + gUnknown_083CA340[0][2], + gUnknown_083CA340[0][3]); + Text_InitWindowAndPrintText( + &gUnknown_03004210, + gMoveNames[gTasks[taskId].data[1]], + 776, + gUnknown_083CA340[0][0], + gUnknown_083CA340[0][1]); + ConvertIntToDecimalStringN(text, gTasks[taskId].data[1], 2, 3); + Text_InitWindowAndPrintText( + &gUnknown_03004210, + text, + 796, + gUnknown_083CA340[1][0], + gUnknown_083CA340[1][1]); + sub_80AED58(); + sub_80AEBEC(gTasks[taskId].data[1]); + gTasks[taskId].data[0]++; + break; + case 1: + switch (gMain.newAndRepeatedKeys) + { + case 0x20: + gTasks[taskId].data[1] -= 1; + if (gTasks[taskId].data[1] < 1) + gTasks[taskId].data[1] = 354; + gTasks[taskId].data[0]--; + break; + case 0x200: + gTasks[taskId].data[1] -= 10; + if (gTasks[taskId].data[1] < 1) + gTasks[taskId].data[1] = 354; + gTasks[taskId].data[0]--; + break; + case 0x10: + gTasks[taskId].data[1] += 1; + if (gTasks[taskId].data[1] > 354) + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[0]--; + break; + case 0x100: + gTasks[taskId].data[1] += 10; + if (gTasks[taskId].data[1] > 354) + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[0]--; + break; + case 4: + case 8: + gBattle_BG0_Y = 0; + gBattle_BG2_Y = 0; + sub_80B1BDC(); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = debug_sub_80BA054; + break; + case 2: + gBattle_BG0_Y = DISPLAY_HEIGHT; + gBattle_BG2_Y = DISPLAY_HEIGHT; + gContestMons[gContestPlayerMonIndex].moves[0] = gTasks[taskId].data[1]; + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].func = sub_80ABCDC; + break; + } + break; + } +} + +void debug_sub_80BA054(u8 taskId) +{ + s32 i; + u8 r6; + + switch (gTasks[taskId].data[0]) + { + case 0: + for (i = 0; i < 4; i++) + gBattleMonForms[i] = 0; + memset(&shared19348, 0, sizeof(shared19348)); + sub_80B28F0(gContestPlayerMonIndex); + r6 = sub_80AE9FC( + gContestMons[gContestPlayerMonIndex].species, + gContestMons[gContestPlayerMonIndex].otId, + gContestMons[gContestPlayerMonIndex].personality); + gSprites[r6].pos2.x = 120; + gSprites[r6].callback = sub_80AD8FC; + gTasks[taskId].data[2] = r6; + gObjectBankIDs[gBankAttacker] = r6; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[0]++; + sContest.unk1925E = 0; + break; + case 1: + r6 = gTasks[taskId].data[2]; + if (gSprites[r6].callback == SpriteCallbackDummy) + { + sContestantStatus[gContestPlayerMonIndex].currMove = gTasks[taskId].data[1]; + sub_80B2790(gContestPlayerMonIndex); + sub_80B28F0(gContestPlayerMonIndex); + SelectContestMoveBankTarget(gTasks[taskId].data[1]); + DoMoveAnim(gTasks[taskId].data[1]); + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[0]++; + } + break; + case 2: + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + sub_80B28CC(gContestPlayerMonIndex); + if (sContest.unk1925E != 0) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 20; + } + else + { + gTasks[taskId].data[0]++; + } + } + break; + case 3: + gTasks[taskId].data[3]++; + if (gTasks[taskId].data[3] == 21) + { + r6 = gTasks[taskId].data[2]; + gSprites[r6].callback = sub_80AD92C; + sub_80B1B14(); + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[0]++; + } + break; + case 4: + r6 = gTasks[taskId].data[2]; + if (gSprites[r6].invisible) + { + FreeSpriteOamMatrix(&gSprites[r6]); + DestroySprite(&gSprites[r6]); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = debug_sub_80B9EBC; + gBattle_BG0_Y = DISPLAY_HEIGHT; + gBattle_BG2_Y = DISPLAY_HEIGHT; + } + break; + case 20: + if (gTasks[taskId].data[10]++ > 30) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 1; + } + break; + } } + #endif void sub_80AC0AC(s8 a) -- cgit v1.2.3 From 9f7fa5781e8de8e23faea3785e8b3aebde79c8c6 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 17:15:37 -0600 Subject: decompile sub_813B79C --- src/engine/save.c | 98 ++++++++++++++----------------------------------------- 1 file changed, 25 insertions(+), 73 deletions(-) (limited to 'src') diff --git a/src/engine/save.c b/src/engine/save.c index 0eb93eb1d..0b7a3dd79 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -664,79 +664,31 @@ static u16 CalculateChecksum(void *data, u16 size) } #if DEBUG -__attribute__((naked)) -void sub_813B79C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " ldr r4, ._163\n" - " ldr r6, ._163 + 4\n" - " mov r5, #0x0\n" - "._161:\n" - " lsl r0, r5, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r1, r4, #0\n" - " bl DoReadFlashWholeSection\n" - " ldr r1, ._163 + 8\n" - " add r0, r4, r1\n" - " ldrh r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r6\n" - " ldrh r1, [r0, #0x4]\n" - " add r0, r4, #0\n" - " bl CalculateChecksum\n" - " ldr r2, ._163 + 12\n" - " add r1, r4, r2\n" - " strh r0, [r1]\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " bl ProgramFlashSectorAndVerify\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " cmp r5, #0x1b\n" - " bls ._161 @cond_branch\n" - " ldr r6, ._163\n" - " ldr r7, ._163 + 16\n" - " mov r5, #0x0\n" - "._162:\n" - " add r4, r5, #0\n" - " add r4, r4, #0x1c\n" - " lsl r0, r4, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r1, r6, #0\n" - " bl DoReadFlashWholeSection\n" - " lsl r0, r5, #0x3\n" - " add r0, r0, r7\n" - " ldrh r1, [r0, #0x4]\n" - " add r0, r6, #0\n" - " bl CalculateChecksum\n" - " ldr r2, ._163 + 8\n" - " add r1, r6, r2\n" - " strh r0, [r1]\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl ProgramFlashSectorAndVerify\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x10\n" - " lsr r5, r0, #0x10\n" - " cmp r5, #0x1\n" - " bls ._162 @cond_branch\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._164:\n" - " .align 2, 0\n" - "._163:\n" - " .word +0x2000000\n" - " .word sSaveBlockChunks\n" - " .word 0xff4\n" - " .word 0xff6\n" - " .word sHallOfFameChunks\n" - "\n" - ); +void sub_813B79C(void) +{ + struct SaveSector *sbSector; + struct SaveSector *hofSector; + const struct SaveBlockChunk *sbChunks; + const struct SaveBlockChunk *hofChunks; + u16 i; + + sbSector = eSaveSection; + sbChunks = sSaveBlockChunks; + for (i = 0; i < NUM_SECTORS_PER_SAVE_SLOT * 2; i++) + { + DoReadFlashWholeSection(i, sbSector); + sbSector->checksum = CalculateChecksum(sbSector, sbChunks[sbSector->id].size); + ProgramFlashSectorAndVerify(i, sbSector->data); + } + + hofSector = eSaveSection; + hofChunks = sHallOfFameChunks; + for (i = 0; i < NUM_HALL_OF_FAME_SECTORS; i++) + { + DoReadFlashWholeSection(HALL_OF_FAME_SECTOR + i, hofSector); + hofSector->id = CalculateChecksum(hofSector, hofChunks[i].size); // why id? + ProgramFlashSectorAndVerify(HALL_OF_FAME_SECTOR + i, hofSector->data); + } } #endif -- cgit v1.2.3 From e50f5e906776a799ec69418168f032880e16384c Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 19:36:54 -0600 Subject: more debug integrations --- src/battle/battle_controller_opponent.c | 262 +---------- src/battle/battle_controller_player.c | 764 ++------------------------------ src/battle/battle_controller_safari.c | 243 +--------- src/battle/battle_interface.c | 668 +--------------------------- src/pokemon/pokemon_1.c | 359 ++------------- src/pokemon/pokemon_menu.c | 151 +------ 6 files changed, 149 insertions(+), 2298 deletions(-) (limited to 'src') diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index d2045b6c4..5382738f7 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -30,6 +30,7 @@ struct MovePpInfo u8 ppBonuses; }; +extern u8 gUnknown_02023A14_50; extern u8 gActiveBank; extern u8 gBattleBufferA[][0x200]; extern u16 gBattlePartyID[]; @@ -1209,255 +1210,27 @@ void sub_8034B74(void) } } -#if DEBUG -__attribute__((naked)) -void OpponentHandleTrainerThrow(void) -{ - asm("\ - push {r4, r5, r6, lr}\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5, r6}\n\ - ldr r0, ._480\n\ - ldrb r1, [r0]\n\ - mov r0, #0x10\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._478 @cond_branch\n\ - ldr r0, ._480 + 4\n\ - ldr r1, ._480 + 8\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - b ._491\n\ -._481:\n\ - .align 2, 0\n\ -._480:\n\ - .word gUnknown_02023A14_50\n\ - .word +0x2000000\n\ - .word 0x160a3\n\ -._478:\n\ - ldr r3, ._484\n\ - ldrh r1, [r3]\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x3\n\ - cmp r1, r0\n\ - bne ._482 @cond_branch\n\ - bl GetSecretBaseTrainerPicIndex\n\ - b ._487\n\ -._485:\n\ - .align 2, 0\n\ -._484:\n\ - .word gTrainerBattleOpponent\n\ -._482:\n\ - ldr r0, ._488\n\ - ldrh r1, [r0]\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._486 @cond_branch\n\ - bl get_trainer_class_pic_index\n\ - b ._487\n\ -._489:\n\ - .align 2, 0\n\ -._488:\n\ - .word gBattleTypeFlags\n\ -._486:\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._490 @cond_branch\n\ - bl GetEReaderTrainerPicIndex\n\ -._487:\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - b ._491\n\ -._490:\n\ - ldr r2, ._492\n\ - ldrh r1, [r3]\n\ - lsl r0, r1, #0x2\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x3\n\ - add r0, r0, r2\n\ - ldrb r0, [r0, #0x3]\n\ -._491:\n\ - mov r9, r0\n\ - ldr r2, ._492 + 4\n\ - mov r8, r2\n\ - ldrb r1, [r2]\n\ - bl sub_8031A6C\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - bl GetBankIdentity\n\ - add r1, r0, #0\n\ - lsl r1, r1, #0x18\n\ - lsr r1, r1, #0x18\n\ - mov r0, r9\n\ - bl GetMonSpriteTemplate_803C5A0\n\ - ldr r5, ._492 + 8\n\ - ldr r1, ._492 + 12\n\ - mov r2, r9\n\ - lsl r0, r2, #0x2\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r4, #0x8\n\ - sub r4, r4, r0\n\ - lsl r4, r4, #0x12\n\ - mov r0, #0xa0\n\ - lsl r0, r0, #0xe\n\ - add r4, r4, r0\n\ - asr r4, r4, #0x10\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - bl sub_8079E90\n\ - add r3, r0, #0\n\ - lsl r3, r3, #0x18\n\ - lsr r3, r3, #0x18\n\ - add r0, r5, #0\n\ - mov r1, #0xb0\n\ - add r2, r4, #0\n\ - bl CreateSprite\n\ - ldr r5, ._492 + 16\n\ - mov r2, r8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r5\n\ - strb r0, [r1]\n\ - ldr r4, ._492 + 20\n\ - ldrb r0, [r2]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r4\n\ - ldr r1, ._492 + 24\n\ - strh r1, [r0, #0x24]\n\ - ldrb r0, [r2]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r4\n\ - mov r1, #0x2\n\ - strh r1, [r0, #0x2e]\n\ - ldr r0, ._492 + 28\n\ - mov r1, r9\n\ - lsl r6, r1, #0x3\n\ - add r0, r6, r0\n\ - ldrh r0, [r0, #0x4]\n\ - bl IndexOfSpritePaletteTag\n\ - mov r2, r8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r5\n\ - ldrb r1, [r1]\n\ - lsl r2, r1, #0x4\n\ - add r2, r2, r1\n\ - lsl r2, r2, #0x2\n\ - add r2, r2, r4\n\ - lsl r0, r0, #0x4\n\ - ldrb r3, [r2, #0x5]\n\ - mov r1, #0xf\n\ - and r1, r1, r3\n\ - orr r1, r1, r0\n\ - strb r1, [r2, #0x5]\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - add r0, r0, r5\n\ - ldrb r0, [r0]\n\ - lsl r1, r0, #0x4\n\ - add r1, r1, r0\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r4\n\ - ldrh r0, [r1, #0x4]\n\ - lsl r0, r0, #0x16\n\ - lsr r0, r0, #0x16\n\ - strh r0, [r1, #0x38]\n\ - ldr r0, ._492 + 32\n\ - add r6, r6, r0\n\ - ldrh r0, [r6, #0x6]\n\ - bl GetSpriteTileStartByTag\n\ - mov r2, r8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r5\n\ - ldrb r2, [r1]\n\ - lsl r1, r2, #0x4\n\ - add r1, r1, r2\n\ - lsl r1, r1, #0x2\n\ - add r1, r1, r4\n\ - ldr r2, ._492 + 36\n\ - and r2, r2, r0\n\ - ldrh r3, [r1, #0x4]\n\ - ldr r0, ._492 + 40\n\ - and r0, r0, r3\n\ - orr r0, r0, r2\n\ - strh r0, [r1, #0x4]\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r4\n\ - mov r2, r9\n\ - strh r2, [r0, #0x6]\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r4, r4, #0x1c\n\ - add r0, r0, r4\n\ - ldr r1, ._492 + 44\n\ - str r1, [r0]\n\ - ldr r1, ._492 + 48\n\ - mov r2, r8\n\ - ldrb r0, [r2]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldr r1, ._492 + 52\n\ - str r1, [r0]\n\ - pop {r3, r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4, r5, r6}\n\ - pop {r0}\n\ - bx r0\n\ -._493:\n\ - .align 2, 0\n\ -._492:\n\ - .word gTrainers\n\ - .word gActiveBank\n\ - .word gUnknown_02024E8C\n\ - .word gTrainerFrontPicCoords\n\ - .word gObjectBankIDs\n\ - .word gSprites\n\ - .word 0xff10\n\ - .word gTrainerFrontPicPaletteTable\n\ - .word gTrainerFrontPicTable\n\ - .word 0x3ff\n\ - .word 0xfffffc00\n\ - .word sub_80313A0+1\n\ - .word gBattleBankFunc\n\ - .word sub_8032B4C+1"); -} -#else void OpponentHandleTrainerThrow(void) { u32 trainerPicIndex; - if (gTrainerBattleOpponent == 0x400) - trainerPicIndex = GetSecretBaseTrainerPicIndex(); - else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) - trainerPicIndex = get_trainer_class_pic_index(); - else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) - trainerPicIndex = GetEReaderTrainerPicIndex(); +#if DEBUG + if (gUnknown_02023A14_50 & 0x10) + { + trainerPicIndex = gSharedMem[0x160A3]; + } else - trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; +#endif + { + if (gTrainerBattleOpponent == 0x400) + trainerPicIndex = GetSecretBaseTrainerPicIndex(); + else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + trainerPicIndex = get_trainer_class_pic_index(); + else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) + trainerPicIndex = GetEReaderTrainerPicIndex(); + else + trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; + } sub_8031A6C(trainerPicIndex, gActiveBank); GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); @@ -1475,7 +1248,6 @@ void OpponentHandleTrainerThrow(void) gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; gBattleBankFunc[gActiveBank] = sub_8032B4C; } -#endif void OpponentHandleTrainerSlide(void) { diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 8875d5148..d4b4da6f2 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -42,6 +42,8 @@ extern struct Window gUnknown_03004210; extern void (*gBattleBankFunc[])(void); +extern u32 gOamMatrixAllocBitmap; +extern u8 gUnknown_020297ED; extern u8 gActiveBank; extern u8 gActionSelectionCursor[]; extern u8 gDisplayedStringBattle[]; @@ -617,728 +619,14 @@ struct ChooseMoveStruct const u8 gUnknown_081FAE80[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW WHITE LIGHT_BLUE WHITE2}"); -#if DEBUG -__attribute__((naked)) -void sub_802C68C(void) -{ - asm("\ - push {r4, r5, r6, r7, lr}\n\ - mov r7, sl\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5, r6, r7}\n\ - add sp, sp, #0xfffffff8\n\ - mov r0, #0x0\n\ - mov r8, r0\n\ - mov r7, #0x0\n\ - ldr r1, ._131\n\ - ldrb r2, [r1]\n\ - lsl r1, r2, #0x9\n\ - ldr r0, ._131 + 4\n\ - add r6, r1, r0\n\ - ldr r0, ._131 + 8\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r5, #0x1\n\ - add r0, r5, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._126 @cond_branch\n\ - b ._127\n\ -._126:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r1, ._131 + 12\n\ - ldr r2, ._131\n\ - ldrb r0, [r2]\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x1\n\ - add r1, r6, r0\n\ - ldrh r0, [r1]\n\ - cmp r0, #0xae\n\ - bne ._128 @cond_branch\n\ - ldrb r0, [r6, #0x12]\n\ - mov r4, #0x0\n\ - cmp r0, #0x7\n\ - beq ._130 @cond_branch\n\ - ldrb r1, [r6, #0x13]\n\ - mov r0, #0x7\n\ - eor r1, r1, r0\n\ - neg r0, r1\n\ - orr r0, r0, r1\n\ - asr r4, r0, #0x1f\n\ - mov r0, #0x10\n\ - and r4, r4, r0\n\ - b ._130\n\ -._132:\n\ - .align 2, 0\n\ -._131:\n\ - .word gActiveBank\n\ - .word gBattleBufferA+4\n\ - .word gMain\n\ - .word gMoveSelectionCursor\n\ -._128:\n\ - ldr r2, ._135\n\ - ldrh r1, [r1]\n\ - lsl r0, r1, #0x1\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r2\n\ - ldrb r4, [r0, #0x6]\n\ -._130:\n\ - mov r0, #0x10\n\ - and r0, r0, r4\n\ - cmp r0, #0\n\ - beq ._133 @cond_branch\n\ - ldr r0, ._135 + 4\n\ - ldr r1, ._135 + 8\n\ - ldrb r1, [r1]\n\ - strb r1, [r0]\n\ - b ._134\n\ -._136:\n\ - .align 2, 0\n\ -._135:\n\ - .word gBattleMoves\n\ - .word gUnknown_03004344\n\ - .word gActiveBank\n\ -._133:\n\ - ldr r0, ._141\n\ - ldrb r0, [r0]\n\ - bl GetBankIdentity\n\ - add r1, r0, #0\n\ - mov r2, #0x1\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - eor r0, r0, r2\n\ - bl GetBankByIdentity\n\ - ldr r1, ._141 + 4\n\ - strb r0, [r1]\n\ -._134:\n\ - ldr r3, ._141 + 8\n\ - ldr r5, ._141\n\ - ldrb r2, [r5]\n\ - lsl r1, r2, #0x9\n\ - add r0, r3, #1\n\ - add r0, r1, r0\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - bne ._137 @cond_branch\n\ - mov r0, #0x2\n\ - and r0, r0, r4\n\ - cmp r0, #0\n\ - beq ._146 @cond_branch\n\ - add r0, r3, #2\n\ - add r0, r1, r0\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - bne ._146 @cond_branch\n\ - mov r0, #0x1\n\ - add r8, r8, r0\n\ - b ._146\n\ -._142:\n\ - .align 2, 0\n\ -._141:\n\ - .word gActiveBank\n\ - .word gUnknown_03004344\n\ - .word gBattleBufferA\n\ -._137:\n\ - mov r0, #0x7d\n\ - and r0, r0, r4\n\ - cmp r0, #0\n\ - bne ._143 @cond_branch\n\ - mov r1, #0x1\n\ - add r8, r8, r1\n\ -._143:\n\ - ldr r0, ._149\n\ - add r0, r2, r0\n\ - add r1, r6, #0\n\ - add r1, r1, #0x8\n\ - ldrb r0, [r0]\n\ - add r1, r1, r0\n\ - ldrb r0, [r1]\n\ - cmp r0, #0\n\ - beq ._144 @cond_branch\n\ - mov r0, #0x12\n\ - and r0, r0, r4\n\ - cmp r0, #0\n\ - bne ._146 @cond_branch\n\ - mov r0, #0x0\n\ - bl CountAliveMons\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x1\n\ - bhi ._146 @cond_branch\n\ - ldrb r0, [r5]\n\ - bl sub_803C434\n\ - ldr r1, ._149 + 4\n\ - strb r0, [r1]\n\ - mov r2, #0x0\n\ - mov r8, r2\n\ -._146:\n\ - mov r0, r8\n\ - cmp r0, #0\n\ - bne ._147 @cond_branch\n\ -._144:\n\ - bl DestroyMenuCursor\n\ - ldr r1, ._149\n\ - ldr r0, ._149 + 8\n\ - ldrb r0, [r0]\n\ - add r0, r0, r1\n\ - ldrb r2, [r0]\n\ - ldr r0, ._149 + 4\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x8\n\ - orr r2, r2, r0\n\ - b ._148\n\ -._150:\n\ - .align 2, 0\n\ -._149:\n\ - .word gMoveSelectionCursor\n\ - .word gUnknown_03004344\n\ - .word gActiveBank\n\ -._147:\n\ - ldr r1, ._153\n\ - ldr r2, ._153 + 4\n\ - ldrb r0, [r2]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldr r1, ._153 + 8\n\ - str r1, [r0]\n\ - mov r0, #0x12\n\ - and r4, r4, r0\n\ - cmp r4, #0\n\ - beq ._151 @cond_branch\n\ - ldr r1, ._153 + 12\n\ - ldrb r0, [r2]\n\ - b ._152\n\ -._154:\n\ - .align 2, 0\n\ -._153:\n\ - .word gBattleBankFunc\n\ - .word gActiveBank\n\ - .word sub_802C2EC+1\n\ - .word gUnknown_03004344\n\ -._151:\n\ - mov r0, #0x1\n\ - bl GetBankByIdentity\n\ - ldr r1, ._157\n\ - ldrb r1, [r1]\n\ - ldr r2, ._157 + 4\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x16\n\ - add r0, r0, r2\n\ - ldr r0, [r0]\n\ - and r1, r1, r0\n\ - cmp r1, #0\n\ - beq ._155 @cond_branch\n\ - mov r0, #0x3\n\ - b ._156\n\ -._158:\n\ - .align 2, 0\n\ -._157:\n\ - .word gAbsentBankFlags\n\ - .word gBitTable\n\ -._155:\n\ - mov r0, #0x1\n\ -._156:\n\ - bl GetBankByIdentity\n\ - ldr r1, ._160\n\ -._152:\n\ - strb r0, [r1]\n\ - ldr r2, ._160 + 4\n\ - ldr r1, ._160 + 8\n\ - ldr r0, ._160\n\ - ldrb r0, [r0]\n\ - add r0, r0, r1\n\ - ldrb r1, [r0]\n\ - lsl r0, r1, #0x4\n\ - add r0, r0, r1\n\ - lsl r0, r0, #0x2\n\ - add r2, r2, #0x1c\n\ - add r0, r0, r2\n\ - ldr r1, ._160 + 12\n\ - b ._203\n\ -._161:\n\ - .align 2, 0\n\ -._160:\n\ - .word gUnknown_03004344\n\ - .word gSprites\n\ - .word gObjectBankIDs\n\ - .word sub_8010520+1\n\ -._127:\n\ - mov r6, #0x2\n\ - add r0, r6, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._162 @cond_branch\n\ - bl DestroyMenuCursor\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._164\n\ - strh r7, [r0]\n\ - ldr r1, ._164 + 4\n\ - mov r2, #0xa0\n\ - lsl r2, r2, #0x1\n\ - add r0, r2, #0\n\ - strh r0, [r1]\n\ - ldr r2, ._164 + 8\n\ -._148:\n\ - mov r0, #0x1\n\ - mov r1, #0xa\n\ - bl Emitcmd33\n\ - bl PlayerBufferExecCompleted\n\ - b ._209\n\ -._165:\n\ - .align 2, 0\n\ -._164:\n\ - .word gBattle_BG0_X\n\ - .word gBattle_BG0_Y\n\ - .word 0xffff\n\ -._162:\n\ - mov r0, #0x20\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._166 @cond_branch\n\ - ldr r4, ._170\n\ - add r2, r2, r4\n\ - ldrb r1, [r2]\n\ - add r0, r5, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._167 @cond_branch\n\ - b ._209\n\ -._167:\n\ - ldrb r0, [r2]\n\ - bl nullsub_7\n\ - ldr r0, ._170 + 4\n\ - ldrb r1, [r0]\n\ - add r1, r1, r4\n\ - ldrb r0, [r1]\n\ - mov r2, #0x1\n\ - eor r0, r0, r2\n\ - b ._183\n\ -._171:\n\ - .align 2, 0\n\ -._170:\n\ - .word gMoveSelectionCursor\n\ - .word gActiveBank\n\ -._166:\n\ - mov r3, #0x10\n\ - add r0, r3, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._172 @cond_branch\n\ - ldr r4, ._178\n\ - add r3, r2, r4\n\ - ldrb r2, [r3]\n\ - mov r6, #0x1\n\ - add r0, r5, #0\n\ - and r0, r0, r2\n\ - cmp r0, #0\n\ - beq ._173 @cond_branch\n\ - b ._209\n\ -._173:\n\ - ldr r1, ._178 + 4\n\ - add r0, r6, #0\n\ - eor r0, r0, r2\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - bcc ._175 @cond_branch\n\ - b ._209\n\ -._175:\n\ - ldrb r0, [r3]\n\ - bl nullsub_7\n\ - ldr r2, ._178 + 8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r4\n\ - ldrb r0, [r1]\n\ - eor r0, r0, r6\n\ - b ._183\n\ -._179:\n\ - .align 2, 0\n\ -._178:\n\ - .word gMoveSelectionCursor\n\ - .word gUnknown_03004348\n\ - .word gActiveBank\n\ -._172:\n\ - mov r0, #0x40\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._180 @cond_branch\n\ - ldr r4, ._184\n\ - add r2, r2, r4\n\ - ldrb r1, [r2]\n\ - add r0, r6, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._181 @cond_branch\n\ - b ._209\n\ -._181:\n\ - ldrb r0, [r2]\n\ - bl nullsub_7\n\ - ldr r2, ._184 + 4\n\ - ldrb r1, [r2]\n\ - add r1, r1, r4\n\ - ldrb r0, [r1]\n\ - mov r2, #0x2\n\ - eor r0, r0, r2\n\ - b ._183\n\ -._185:\n\ - .align 2, 0\n\ -._184:\n\ - .word gMoveSelectionCursor\n\ - .word gActiveBank\n\ -._180:\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._186 @cond_branch\n\ - ldr r4, ._192\n\ - add r3, r2, r4\n\ - ldrb r2, [r3]\n\ - mov r5, #0x2\n\ - add r0, r6, #0\n\ - and r0, r0, r2\n\ - cmp r0, #0\n\ - beq ._187 @cond_branch\n\ - b ._209\n\ -._187:\n\ - ldr r1, ._192 + 4\n\ - add r0, r5, #0\n\ - eor r0, r0, r2\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - bcc ._189 @cond_branch\n\ - b ._209\n\ -._189:\n\ - ldrb r0, [r3]\n\ - bl nullsub_7\n\ - ldr r2, ._192 + 8\n\ - ldrb r1, [r2]\n\ - add r1, r1, r4\n\ - ldrb r0, [r1]\n\ - eor r0, r0, r5\n\ -._183:\n\ - strb r0, [r1]\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r1, ._192 + 8\n\ - ldrb r0, [r1]\n\ - add r0, r0, r4\n\ - ldrb r0, [r0]\n\ - mov r1, #0x0\n\ - bl sub_802E3B4\n\ - bl sub_802E220\n\ - bl sub_802E2D4\n\ - b ._209\n\ -._193:\n\ - .align 2, 0\n\ -._192:\n\ - .word gMoveSelectionCursor\n\ - .word gUnknown_03004348\n\ - .word gActiveBank\n\ -._186:\n\ - mov r0, #0x4\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._194 @cond_branch\n\ - ldr r0, ._201\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bhi ._195 @cond_branch\n\ - b ._209\n\ -._195:\n\ - ldr r0, ._201 + 4\n\ - ldrh r1, [r0]\n\ - add r0, r6, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._197 @cond_branch\n\ - b ._209\n\ -._197:\n\ - ldr r4, ._201 + 8\n\ - add r0, r2, r4\n\ - ldrb r0, [r0]\n\ - ldr r1, ._201 + 12\n\ - bl sub_802E12C\n\ - ldr r2, ._201 + 16\n\ - ldrb r0, [r2]\n\ - add r0, r0, r4\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._199 @cond_branch\n\ - ldr r0, ._201 + 20\n\ - strb r7, [r0]\n\ - b ._200\n\ -._202:\n\ - .align 2, 0\n\ -._201:\n\ - .word gUnknown_03004348\n\ - .word gBattleTypeFlags\n\ - .word gMoveSelectionCursor\n\ - .word gUnknown_081FAE80\n\ - .word gActiveBank\n\ - .word gUnknown_03004344\n\ -._199:\n\ - ldr r1, ._204\n\ - add r0, r0, #0x1\n\ - strb r0, [r1]\n\ - add r0, r1, #0\n\ -._200:\n\ - ldrb r0, [r0]\n\ - mov r1, #0x1b\n\ - bl sub_802E3B4\n\ - ldr r4, ._204 + 4\n\ - ldr r1, ._204 + 8\n\ - mov r0, #0x1c\n\ - str r0, [sp]\n\ - mov r0, #0x3a\n\ - str r0, [sp, #0x4]\n\ - add r0, r4, #0\n\ - mov r2, #0x17\n\ - mov r3, #0x37\n\ - bl Text_FillWindowRect\n\ - ldr r1, ._204 + 12\n\ - mov r2, #0xa4\n\ - lsl r2, r2, #0x2\n\ - mov r0, #0x37\n\ - str r0, [sp]\n\ - add r0, r4, #0\n\ - mov r3, #0x17\n\ - bl Text_InitWindow\n\ - add r0, r4, #0\n\ - bl Text_PrintWindow8002F44\n\ - ldr r1, ._204 + 16\n\ - ldr r0, ._204 + 20\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldr r1, ._204 + 24\n\ - b ._203\n\ -._205:\n\ - .align 2, 0\n\ -._204:\n\ - .word gUnknown_03004344\n\ - .word gUnknown_03004210\n\ - .word 0x1016\n\ - .word BattleText_SwitchWhich\n\ - .word gBattleBankFunc\n\ - .word gActiveBank\n\ - .word sub_802CA60+1\n\ -._194:\n\ - ldr r0, ._214\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - beq ._206 @cond_branch\n\ - b ._209\n\ -._206:\n\ - mov r0, #0x8\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._208 @cond_branch\n\ - b ._209\n\ -._208:\n\ - ldr r6, ._214 + 4\n\ - ldr r1, ._214 + 8\n\ - str r3, [sp]\n\ - mov r0, #0x3a\n\ - str r0, [sp, #0x4]\n\ - add r0, r6, #0\n\ - mov r2, #0x1\n\ - mov r3, #0x37\n\ - bl Text_FillWindowRect\n\ - ldr r0, ._214 + 12\n\ - mov sl, r0\n\ - ldr r1, ._214 + 16\n\ - ldrb r0, [r1]\n\ - lsl r0, r0, #0x1\n\ - add r0, r0, sl\n\ - ldrh r0, [r0]\n\ - mov r2, #0x64\n\ - mov r9, r2\n\ - mov r1, r9\n\ - mul r1, r1, r0\n\ - add r0, r1, #0\n\ - ldr r5, ._214 + 20\n\ - add r0, r0, r5\n\ - mov r1, #0xd\n\ - bl GetMonData\n\ - mov r1, #0xd\n\ - mul r1, r1, r0\n\ - ldr r0, ._214 + 24\n\ - add r1, r1, r0\n\ - mov r2, #0x80\n\ - lsl r2, r2, #0x1\n\ - mov r0, #0x37\n\ - mov r8, r0\n\ - str r0, [sp]\n\ - add r0, r6, #0\n\ - mov r3, #0x2\n\ - bl Text_InitWindowAndPrintText\n\ - ldr r4, ._214 + 28\n\ - ldr r1, ._214 + 16\n\ - ldrb r0, [r1]\n\ - lsl r0, r0, #0x1\n\ - add r0, r0, sl\n\ - ldrh r0, [r0]\n\ - mov r2, r9\n\ - mul r2, r2, r0\n\ - add r0, r2, #0\n\ - add r0, r0, r5\n\ - mov r1, #0xd\n\ - bl GetMonData\n\ - add r1, r0, #0\n\ - add r0, r4, #0\n\ - mov r2, #0x2\n\ - mov r3, #0x3\n\ - bl ConvertIntToDecimalStringN\n\ - mov r2, #0x88\n\ - lsl r2, r2, #0x1\n\ - mov r0, r8\n\ - str r0, [sp]\n\ - add r0, r6, #0\n\ - add r1, r4, #0\n\ - mov r3, #0xa\n\ - bl Text_InitWindowAndPrintText\n\ - ldr r1, ._214 + 32\n\ - mov r2, #0x8b\n\ - lsl r2, r2, #0x1\n\ - mov r5, #0x39\n\ - str r5, [sp]\n\ - add r0, r6, #0\n\ - mov r3, #0x1\n\ - bl Text_InitWindowAndPrintText\n\ - ldr r0, ._214 + 36\n\ - ldrb r1, [r0]\n\ - add r0, r4, #0\n\ - mov r2, #0x2\n\ - mov r3, #0x3\n\ - bl ConvertIntToDecimalStringN\n\ - mov r2, #0x8e\n\ - lsl r2, r2, #0x1\n\ - str r5, [sp]\n\ - add r0, r6, #0\n\ - add r1, r4, #0\n\ - mov r3, #0x4\n\ - bl Text_InitWindowAndPrintText\n\ - ldr r0, ._214 + 40\n\ - add r2, r0, #0\n\ - add r2, r2, #0x3e\n\ - mov r1, #0x3f\n\ -._211:\n\ - ldrb r0, [r2]\n\ - lsl r0, r0, #0x1f\n\ - cmp r0, #0\n\ - beq ._210 @cond_branch\n\ - add r0, r7, #1\n\ - lsl r0, r0, #0x18\n\ - lsr r7, r0, #0x18\n\ -._210:\n\ - add r2, r2, #0x44\n\ - sub r1, r1, #0x1\n\ - cmp r1, #0\n\ - bge ._211 @cond_branch\n\ - ldr r4, ._214 + 28\n\ - add r0, r4, #0\n\ - add r1, r7, #0\n\ - mov r2, #0x2\n\ - mov r3, #0x2\n\ - bl ConvertIntToDecimalStringN\n\ - ldr r6, ._214 + 4\n\ - mov r2, #0x91\n\ - lsl r2, r2, #0x1\n\ - mov r5, #0x39\n\ - str r5, [sp]\n\ - add r0, r6, #0\n\ - add r1, r4, #0\n\ - mov r3, #0x8\n\ - bl Text_InitWindowAndPrintText\n\ - bl GetTaskCount\n\ - lsl r0, r0, #0x18\n\ - lsr r7, r0, #0x18\n\ - add r0, r4, #0\n\ - add r1, r7, #0\n\ - mov r2, #0x2\n\ - mov r3, #0x2\n\ - bl ConvertIntToDecimalStringN\n\ - mov r2, #0x93\n\ - lsl r2, r2, #0x1\n\ - str r5, [sp]\n\ - add r0, r6, #0\n\ - add r1, r4, #0\n\ - mov r3, #0xb\n\ - bl Text_InitWindowAndPrintText\n\ - mov r1, #0x0\n\ - mov r7, #0x0\n\ - ldr r0, ._214 + 44\n\ - mov r3, #0x1\n\ - ldr r2, [r0]\n\ -._213:\n\ - add r0, r3, #0\n\ - LSL r0, r1\n\ - and r0, r0, r2\n\ - cmp r0, #0\n\ - beq ._212 @cond_branch\n\ - add r0, r7, #1\n\ - lsl r0, r0, #0x18\n\ - lsr r7, r0, #0x18\n\ -._212:\n\ - add r1, r1, #0x1\n\ - cmp r1, #0x1f\n\ - ble ._213 @cond_branch\n\ - ldr r4, ._214 + 28\n\ - add r0, r4, #0\n\ - add r1, r7, #0\n\ - mov r2, #0x2\n\ - mov r3, #0x2\n\ - bl ConvertIntToDecimalStringN\n\ - ldr r0, ._214 + 4\n\ - mov r2, #0x95\n\ - lsl r2, r2, #0x1\n\ - mov r1, #0x39\n\ - str r1, [sp]\n\ - add r1, r4, #0\n\ - mov r3, #0xe\n\ - bl Text_InitWindowAndPrintText\n\ - ldr r1, ._214 + 48\n\ - ldr r0, ._214 + 16\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x2\n\ - add r0, r0, r1\n\ - ldr r1, ._214 + 52\n\ -._203:\n\ - str r1, [r0]\n\ -._209:\n\ - add sp, sp, #0x8\n\ - pop {r3, r4, r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov sl, r5\n\ - pop {r4, r5, r6, r7}\n\ - pop {r0}\n\ - bx r0\n\ -._215:\n\ - .align 2, 0\n\ -._214:\n\ - .word gUnknown_020297ED\n\ - .word gUnknown_03004210\n\ - .word 0x1016\n\ - .word gBattlePartyID\n\ - .word gActiveBank\n\ - .word gPlayerParty\n\ - .word gMoveNames\n\ - .word gDisplayedStringBattle\n\ - .word gString_TurnJP\n\ - .word gAnimMoveTurn\n\ - .word gSprites\n\ - .word gOamMatrixAllocBitmap\n\ - .word gBattleBankFunc\n\ - .word debug_sub_8030C24+1"); -} -#else +void debug_sub_8030C24(void); + void sub_802C68C(void) { u32 r8 = 0; +#if DEBUG + u8 count = 0; +#endif struct ChooseMoveStruct *r6 = (struct ChooseMoveStruct *)(gBattleBufferA[gActiveBank] + 4); if (gMain.newKeys & A_BUTTON) @@ -1469,8 +757,44 @@ void sub_802C68C(void) gBattleBankFunc[gActiveBank] = sub_802CA60; } } -} +#if DEBUG + else if (gUnknown_020297ED == 1 && (gMain.newKeys & START_BUTTON)) + { + const u8 *moveName; + s32 i; + + Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x3A); + moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1)]; + Text_InitWindowAndPrintText(&gUnknown_03004210, moveName, 0x100, 2, 0x37); + ConvertIntToDecimalStringN( + gDisplayedStringBattle, + GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1), + 2, 3); + Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x110, 10, 0x37); + Text_InitWindowAndPrintText(&gUnknown_03004210, gString_TurnJP, 0x116, 1, 0x39); + ConvertIntToDecimalStringN(gDisplayedStringBattle, gAnimMoveTurn, 2, 3); + Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x11C, 4, 0x39); + for (i = 0; i < 64; i++) + { + if (gSprites[i].inUse) + count++; + } + ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); + Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x122, 8, 0x39); + count = GetTaskCount(); + ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); + Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x126, 11, 0x39); + for (i = 0, count = 0; i < 32; i++) + { + if (gOamMatrixAllocBitmap & (1 << i)) + count++; + } + ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); + Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x12A, 14, 0x39); + gBattleBankFunc[gActiveBank] = debug_sub_8030C24; + } #endif +} extern const u8 BattleText_Format[]; diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 4af8adbbb..5896e5e18 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -1,6 +1,7 @@ #include "global.h" #include "battle_anim_81258BC.h" #include "battle.h" +#include "battle_interface.h" #include "battle_message.h" #include "data2.h" #include "link.h" @@ -207,236 +208,6 @@ void SafariBufferRunCommand(void) } } -#if DEBUG -__attribute__((naked)) -void bx_battle_menu_t6_2(void) -{ - asm("\ - push {r4, r5, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r0, ._94\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r2, #0x1\n\ - add r0, r2, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._89 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - bl DestroyMenuCursor\n\ - ldr r1, ._94 + 4\n\ - ldr r0, ._94 + 8\n\ - ldrb r0, [r0]\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - beq ._90 @cond_branch\n\ - cmp r0, #0x1\n\ - bgt ._91 @cond_branch\n\ - cmp r0, #0\n\ - beq ._92 @cond_branch\n\ - b ._101\n\ -._95:\n\ - .align 2, 0\n\ -._94:\n\ - .word gMain\n\ - .word gActionSelectionCursor\n\ - .word gActiveBank\n\ -._91:\n\ - cmp r0, #0x2\n\ - beq ._96 @cond_branch\n\ - cmp r0, #0x3\n\ - beq ._97 @cond_branch\n\ - b ._101\n\ -._92:\n\ - mov r0, #0x1\n\ - mov r1, #0x5\n\ - b ._100\n\ -._90:\n\ - mov r0, #0x1\n\ - mov r1, #0x6\n\ - b ._100\n\ -._96:\n\ - mov r0, #0x1\n\ - mov r1, #0x7\n\ -._100:\n\ - mov r2, #0x0\n\ - bl Emitcmd33\n\ - b ._101\n\ -._97:\n\ - mov r0, #0x1\n\ - mov r1, #0x8\n\ - mov r2, #0x0\n\ - bl Emitcmd33\n\ -._101:\n\ - bl SafariBufferExecCompleted\n\ - b ._129\n\ -._89:\n\ - mov r3, #0x20\n\ - add r0, r3, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._103 @cond_branch\n\ - ldr r5, ._107\n\ - ldr r4, ._107 + 4\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - add r0, r2, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._104 @cond_branch\n\ - b ._129\n\ -._104:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r0, [r0]\n\ - bl nullsub_8\n\ - ldrb r1, [r4]\n\ - add r1, r1, r5\n\ - ldrb r0, [r1]\n\ - mov r2, #0x1\n\ - b ._111\n\ -._108:\n\ - .align 2, 0\n\ -._107:\n\ - .word gActionSelectionCursor\n\ - .word gActiveBank\n\ -._103:\n\ - mov r0, #0x10\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._109 @cond_branch\n\ - ldr r5, ._112\n\ - ldr r4, ._112 + 4\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - add r0, r2, #0\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._129 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r0, [r0]\n\ - bl nullsub_8\n\ - ldrb r1, [r4]\n\ - add r1, r1, r5\n\ - ldrb r0, [r1]\n\ - mov r2, #0x1\n\ - b ._111\n\ -._113:\n\ - .align 2, 0\n\ -._112:\n\ - .word gActionSelectionCursor\n\ - .word gActiveBank\n\ -._109:\n\ - mov r0, #0x40\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._114 @cond_branch\n\ - ldr r5, ._117\n\ - ldr r4, ._117 + 4\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - mov r0, #0x2\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._129 @cond_branch\n\ - b ._116\n\ -._118:\n\ - .align 2, 0\n\ -._117:\n\ - .word gActionSelectionCursor\n\ - .word gActiveBank\n\ -._114:\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._119 @cond_branch\n\ - ldr r5, ._122\n\ - ldr r4, ._122 + 4\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r1, [r0]\n\ - mov r0, #0x2\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._129 @cond_branch\n\ -._116:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r0, [r0]\n\ - bl nullsub_8\n\ - ldrb r1, [r4]\n\ - add r1, r1, r5\n\ - ldrb r0, [r1]\n\ - mov r2, #0x2\n\ -._111:\n\ - eor r0, r0, r2\n\ - strb r0, [r1]\n\ - ldrb r0, [r4]\n\ - add r0, r0, r5\n\ - ldrb r0, [r0]\n\ - mov r1, #0x0\n\ - bl sub_802E3E4\n\ - b ._129\n\ -._123:\n\ - .align 2, 0\n\ -._122:\n\ - .word gActionSelectionCursor\n\ - .word gActiveBank\n\ -._119:\n\ - mov r0, #0x80\n\ - lsl r0, r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._124 @cond_branch\n\ - ldr r0, ._127\n\ - ldrb r2, [r0]\n\ - lsl r0, r2, #0x1\n\ - add r0, r0, r2\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._127 + 4\n\ - add r0, r0, r1\n\ - ldrb r1, [r0]\n\ - add r0, r3, #0\n\ - and r0, r0, r1\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._129 @cond_branch\n\ - str r0, [sp]\n\ - add r0, r2, #0\n\ - add r1, r2, #0\n\ - mov r3, #0x4\n\ - bl move_anim_start_t3\n\ - b ._129\n\ -._128:\n\ - .align 2, 0\n\ -._127:\n\ - .word gActiveBank\n\ - .word +0x2017810\n\ -._124:\n\ - mov r0, #0x8\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._129 @cond_branch\n\ - bl sub_804454C\n\ -._129:\n\ - add sp, sp, #0x4\n\ - pop {r4, r5}\n\ - pop {r0}\n\ - bx r0"); -} -#else void bx_battle_menu_t6_2(void) { if (gMain.newKeys & A_BUTTON) @@ -502,8 +273,18 @@ void bx_battle_menu_t6_2(void) sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); } } -} +#if DEBUG + else if (gMain.newKeys & R_BUTTON) + { + if (!ewram17810[gActiveBank].unk0_5) + move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, 4, 0); + } + else if (gMain.newKeys & START_BUTTON) + { + sub_804454C(); + } #endif +} void sub_812B65C(void) { diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index b703bc7b8..9be026d53 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -1277,353 +1277,8 @@ _08044548: .4byte 0x04000008\n\ } #endif -#if DEBUG -__attribute__((naked)) -void sub_804454C() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x0\n" - " mov r8, r0\n" - " ldr r0, ._150\n" - " ldrb r0, [r0]\n" - " cmp r8, r0\n" - " blt ._133 @cond_branch\n" - " b ._164\n" - "._133:\n" - " ldr r1, ._150 + 4\n" - " mov r9, r1\n" - " mov r2, #0x64\n" - " mov sl, r2\n" - " ldr r7, ._150 + 8\n" - "._165:\n" - " ldr r0, ._150 + 12\n" - " mov r6, r8\n" - " add r5, r6, r0\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " mov r1, r9\n" - " add r1, r1, #0x1c\n" - " add r0, r0, r1\n" - " ldr r1, [r0]\n" - " ldr r0, ._150 + 16\n" - " cmp r1, r0\n" - " beq ._135 @cond_branch\n" - " b ._147\n" - "._135:\n" - " ldr r0, ._150 + 20\n" - " ldrb r0, [r0]\n" - " lsl r4, r6, #0x18\n" - " cmp r0, #0\n" - " bne ._138 @cond_branch\n" - " lsr r0, r4, #0x18\n" - " bl GetBankSide\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._138 @cond_branch\n" - " b ._147\n" - "._138:\n" - " bl IsDoubleBattle\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._141 @cond_branch\n" - " lsr r0, r4, #0x18\n" - " bl GetBankSide\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._141 @cond_branch\n" - " b ._147\n" - "._141:\n" - " mov r0, r8\n" - " lsl r3, r0, #0x2\n" - " ldr r0, ._150 + 24\n" - " add r3, r3, r0\n" - " ldr r0, [r3]\n" - " lsl r0, r0, #0x1b\n" - " lsr r0, r0, #0x1f\n" - " mov r2, #0x1\n" - " eor r2, r2, r0\n" - " lsl r2, r2, #0x4\n" - " ldrb r0, [r3]\n" - " mov r6, #0x11\n" - " neg r6, r6\n" - " add r1, r6, #0\n" - " and r0, r0, r1\n" - " orr r0, r0, r2\n" - " strb r0, [r3]\n" - " ldr r0, [r3]\n" - " lsl r0, r0, #0x1b\n" - " lsr r6, r0, #0x1f\n" - " lsr r0, r4, #0x18\n" - " bl GetBankSide\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._143 @cond_branch\n" - " bl IsDoubleBattle\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._144 @cond_branch\n" - " b ._147\n" - "._144:\n" - " ldr r0, ._150 + 28\n" - " ldrh r1, [r0]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " beq ._146 @cond_branch\n" - " b ._147\n" - "._146:\n" - " cmp r6, #0x1\n" - " bne ._148 @cond_branch\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r9\n" - " ldrh r0, [r0, #0x38]\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " str r2, [sp]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r9\n" - " ldrh r1, [r0, #0x4]\n" - " lsl r1, r1, #0x16\n" - " lsr r1, r1, #0x11\n" - " ldr r0, ._150 + 32\n" - " add r1, r1, r0\n" - " mov r0, sp\n" - " ldr r2, ._150 + 36\n" - " bl CpuSet\n" - " ldrb r4, [r5]\n" - " ldrh r0, [r7]\n" - " mov r1, sl\n" - " mul r1, r1, r0\n" - " add r0, r1, #0\n" - " ldr r2, ._150 + 40\n" - " add r0, r0, r2\n" - " mov r1, #0x39\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " asr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x0\n" - " bl sub_8044210\n" - " ldrb r4, [r5]\n" - " ldrh r0, [r7]\n" - " mov r6, sl\n" - " mul r6, r6, r0\n" - " add r0, r6, #0\n" - " ldr r1, ._150 + 40\n" - " b ._149\n" - "._151:\n" - " .align 2, 0\n" - "._150:\n" - " .word gNoOfAllBanks\n" - " .word gSprites\n" - " .word gBattlePartyID\n" - " .word gHealthboxIDs\n" - " .word SpriteCallbackDummy+1\n" - " .word gUnknown_020297ED\n" - " .word +0x2017800\n" - " .word gBattleTypeFlags\n" - " .word 0x6010000\n" - " .word 0x5000040\n" - " .word gPlayerParty\n" - "._148:\n" - " ldrb r0, [r5]\n" - " bl draw_status_ailment_maybe\n" - " ldrb r0, [r5]\n" - " ldrh r1, [r7]\n" - " mov r2, sl\n" - " mul r2, r2, r1\n" - " add r1, r2, #0\n" - " ldr r6, ._153\n" - " add r1, r1, r6\n" - " mov r2, #0x5\n" - " bl sub_8045A5C\n" - " mov r0, #0x75\n" - " bl sub_8043CDC\n" - " ldrb r2, [r5]\n" - " lsl r1, r2, #0x4\n" - " add r1, r1, r2\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r9\n" - " ldrh r1, [r1, #0x4]\n" - " lsl r1, r1, #0x16\n" - " lsr r1, r1, #0x11\n" - " ldr r2, ._153 + 4\n" - " add r1, r1, r2\n" - " ldr r2, ._153 + 8\n" - " bl CpuSet\n" - " b ._163\n" - "._154:\n" - " .align 2, 0\n" - "._153:\n" - " .word gPlayerParty\n" - " .word 0x6010680\n" - " .word 0x4000008\n" - "._143:\n" - " cmp r6, #0x1\n" - " bne ._155 @cond_branch\n" - " ldr r0, ._158\n" - " ldrh r1, [r0]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " beq ._156 @cond_branch\n" - " ldrb r0, [r5]\n" - " ldrh r1, [r7]\n" - " mov r6, sl\n" - " mul r6, r6, r1\n" - " add r1, r6, #0\n" - " ldr r2, ._158 + 4\n" - " add r1, r1, r2\n" - " bl sub_8044338\n" - " b ._163\n" - "._159:\n" - " .align 2, 0\n" - "._158:\n" - " .word gBattleTypeFlags\n" - " .word gEnemyParty\n" - "._156:\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r9\n" - " ldrh r0, [r0, #0x38]\n" - " lsl r0, r0, #0x18\n" - " lsr r1, r0, #0x18\n" - " str r2, [sp]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r9\n" - " ldrh r1, [r0, #0x4]\n" - " lsl r1, r1, #0x16\n" - " lsr r1, r1, #0x11\n" - " ldr r6, ._161\n" - " add r1, r1, r6\n" - " mov r0, sp\n" - " ldr r2, ._161 + 4\n" - " bl CpuSet\n" - " ldrb r4, [r5]\n" - " ldrh r0, [r7]\n" - " mov r1, sl\n" - " mul r1, r1, r0\n" - " add r0, r1, #0\n" - " ldr r2, ._161 + 8\n" - " add r0, r0, r2\n" - " mov r1, #0x39\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " asr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x0\n" - " bl sub_8044210\n" - " ldrb r4, [r5]\n" - " ldrh r0, [r7]\n" - " mov r6, sl\n" - " mul r6, r6, r0\n" - " add r0, r6, #0\n" - " ldr r1, ._161 + 8\n" - "._149:\n" - " add r0, r0, r1\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " asr r1, r1, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " bl sub_8044210\n" - " b ._163\n" - "._162:\n" - " .align 2, 0\n" - "._161:\n" - " .word 0x6010000\n" - " .word 0x5000040\n" - " .word gEnemyParty\n" - "._155:\n" - " ldrb r0, [r5]\n" - " bl draw_status_ailment_maybe\n" - " ldrb r0, [r5]\n" - " ldrh r1, [r7]\n" - " mov r6, #0x64\n" - " mul r1, r1, r6\n" - " ldr r4, ._166\n" - " add r1, r1, r4\n" - " mov r2, #0x5\n" - " bl sub_8045A5C\n" - " ldr r0, ._166 + 4\n" - " ldrh r1, [r0]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._163 @cond_branch\n" - " ldrb r0, [r5]\n" - " ldrh r1, [r7]\n" - " mul r1, r1, r6\n" - " add r1, r1, r4\n" - " mov r2, #0x4\n" - " bl sub_8045A5C\n" - "._163:\n" - " ldr r0, ._166 + 8\n" - " add r0, r0, r8\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r9\n" - " ldrh r1, [r0, #0x3c]\n" - " mov r2, #0x1\n" - " eor r1, r1, r2\n" - " strh r1, [r0, #0x3c]\n" - "._147:\n" - " add r7, r7, #0x2\n" - " mov r2, #0x1\n" - " add r8, r8, r2\n" - " ldr r0, ._166 + 12\n" - " ldrb r0, [r0]\n" - " cmp r8, r0\n" - " bge ._164 @cond_branch\n" - " b ._165\n" - "._164:\n" - " add sp, sp, #0x4\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._167:\n" - " .align 2, 0\n" - "._166:\n" - " .word gEnemyParty\n" - " .word gBattleTypeFlags\n" - " .word gHealthboxIDs\n" - " .word gNoOfAllBanks\n" - "\n" - ); -} -#else +extern u8 gUnknown_020297ED; + void sub_804454C(void) { s32 i; @@ -1632,7 +1287,11 @@ void sub_804454C(void) for (i = 0; i < gNoOfAllBanks; i++) { if (gSprites[gHealthboxIDs[i]].callback == SpriteCallbackDummy +#if DEBUG + && (gUnknown_020297ED != 0 || GetBankSide(i) != 1) +#else && GetBankSide(i) != 1 +#endif && (IsDoubleBattle() || GetBankSide(i) != 0)) { u8 r6; @@ -1691,7 +1350,6 @@ void sub_804454C(void) } } } -#endif // This function almost matches except for just two instructions around 0x08044B52 that are swapped. #ifdef NONMATCHING @@ -3045,310 +2703,6 @@ static u8 sub_80457E8(u8 a, u8 b) } } -#if DEBUG -__attribute__((naked)) -void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffff8\n" - " mov r9, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " lsl r2, r2, #0x18\n" - " lsr r7, r2, #0x18\n" - " ldr r1, ._429\n" - " lsl r0, r0, #0x4\n" - " add r0, r0, r8\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldrh r0, [r0, #0x3a]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov sl, r0\n" - " bl GetBankSide\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._410 @cond_branch\n" - " b ._411\n" - "._410:\n" - " cmp r7, #0x3\n" - " beq ._412 @cond_branch\n" - " cmp r7, #0\n" - " bne ._413 @cond_branch\n" - "._412:\n" - " mov r0, r9\n" - " mov r1, #0x38\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r0, r8\n" - " bl sub_8043FC0\n" - "._413:\n" - " cmp r7, #0x1\n" - " bhi ._414 @cond_branch\n" - " mov r0, r9\n" - " mov r1, #0x39\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " asr r1, r1, #0x10\n" - " mov r0, r8\n" - " mov r2, #0x0\n" - " bl sub_80440EC\n" - "._414:\n" - " cmp r7, #0x2\n" - " beq ._415 @cond_branch\n" - " cmp r7, #0\n" - " bne ._416 @cond_branch\n" - "._415:\n" - " mov r0, r9\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " asr r1, r1, #0x10\n" - " mov r0, r8\n" - " mov r2, #0x1\n" - " bl sub_80440EC\n" - "._416:\n" - " cmp r7, #0x5\n" - " beq ._417 @cond_branch\n" - " cmp r7, #0\n" - " bne ._418 @cond_branch\n" - "._417:\n" - " mov r0, #0x0\n" - " bl load_gfxc_health_bar\n" - " mov r0, r9\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " mov r0, r9\n" - " mov r1, #0x39\n" - " bl GetMonData\n" - " add r3, r0, #0\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, sl\n" - " mov r1, r8\n" - " add r2, r4, #0\n" - " bl sub_8043D84\n" - " mov r0, sl\n" - " mov r1, r8\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl sub_8045C78\n" - "._418:\n" - " bl IsDoubleBattle\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " str r0, [sp, #0x4]\n" - " cmp r0, #0\n" - " bne ._421 @cond_branch\n" - " cmp r7, #0x6\n" - " beq ._420 @cond_branch\n" - " cmp r7, #0\n" - " bne ._421 @cond_branch\n" - "._420:\n" - " mov r0, #0x3\n" - " bl load_gfxc_health_bar\n" - " mov r0, r9\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x10\n" - " lsr r5, r5, #0x10\n" - " mov r0, r9\n" - " mov r1, #0x38\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r0, r9\n" - " mov r1, #0x19\n" - " bl GetMonData\n" - " add r3, r0, #0\n" - " ldr r6, ._429 + 4\n" - " lsl r1, r4, #0x2\n" - " ldr r2, ._429 + 8\n" - " lsl r0, r5, #0x3\n" - " sub r0, r0, r5\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r2\n" - " ldrb r2, [r0, #0x13]\n" - " mov r0, #0xca\n" - " lsl r0, r0, #0x1\n" - " mul r0, r0, r2\n" - " add r1, r1, r0\n" - " add r1, r1, r6\n" - " ldr r1, [r1]\n" - " sub r3, r3, r1\n" - " add r4, r4, #0x1\n" - " lsl r4, r4, #0x2\n" - " add r4, r4, r0\n" - " add r4, r4, r6\n" - " ldr r2, [r4]\n" - " sub r2, r2, r1\n" - " ldr r0, [sp, #0x4]\n" - " str r0, [sp]\n" - " mov r0, sl\n" - " mov r1, r8\n" - " bl sub_8043D84\n" - " mov r0, sl\n" - " mov r1, r8\n" - " mov r2, #0x1\n" - " mov r3, #0x0\n" - " bl sub_8045C78\n" - "._421:\n" - " cmp r7, #0x4\n" - " beq ._422 @cond_branch\n" - " cmp r7, #0\n" - " bne ._423 @cond_branch\n" - "._422:\n" - " mov r0, r8\n" - " mov r1, r9\n" - " bl sub_80451A0\n" - "._423:\n" - " cmp r7, #0x9\n" - " beq ._424 @cond_branch\n" - " cmp r7, #0\n" - " bne ._425 @cond_branch\n" - "._424:\n" - " mov r0, r8\n" - " bl draw_status_ailment_maybe\n" - "._425:\n" - " cmp r7, #0xa\n" - " bne ._426 @cond_branch\n" - " mov r0, r8\n" - " bl sub_80458B0\n" - "._426:\n" - " add r0, r7, #0\n" - " sub r0, r0, #0xa\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bhi ._442 @cond_branch\n" - " mov r0, r8\n" - " bl sub_8045998\n" - " b ._442\n" - "._430:\n" - " .align 2, 0\n" - "._429:\n" - " .word gSprites\n" - " .word gExperienceTables\n" - " .word gBaseStats\n" - "._411:\n" - " cmp r7, #0x3\n" - " beq ._431 @cond_branch\n" - " cmp r7, #0\n" - " bne ._432 @cond_branch\n" - "._431:\n" - " mov r0, r9\n" - " mov r1, #0x38\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r0, r8\n" - " bl sub_8043FC0\n" - "._432:\n" - " ldr r0, ._443\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x1\n" - " bne ._436 @cond_branch\n" - " cmp r7, #0x1\n" - " bhi ._434 @cond_branch\n" - " mov r0, r9\n" - " mov r1, #0x39\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " asr r1, r1, #0x10\n" - " mov r0, r8\n" - " mov r2, #0x0\n" - " bl sub_80440EC\n" - "._434:\n" - " cmp r7, #0x2\n" - " beq ._435 @cond_branch\n" - " cmp r7, #0\n" - " bne ._436 @cond_branch\n" - "._435:\n" - " mov r0, r9\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " asr r1, r1, #0x10\n" - " mov r0, r8\n" - " mov r2, #0x1\n" - " bl sub_80440EC\n" - "._436:\n" - " cmp r7, #0x5\n" - " beq ._437 @cond_branch\n" - " cmp r7, #0\n" - " bne ._438 @cond_branch\n" - "._437:\n" - " mov r0, #0x0\n" - " bl load_gfxc_health_bar\n" - " mov r0, r9\n" - " mov r1, #0x3a\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " mov r0, r9\n" - " mov r1, #0x39\n" - " bl GetMonData\n" - " add r3, r0, #0\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, sl\n" - " mov r1, r8\n" - " add r2, r4, #0\n" - " bl sub_8043D84\n" - " mov r0, sl\n" - " mov r1, r8\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " bl sub_8045C78\n" - "._438:\n" - " cmp r7, #0x4\n" - " beq ._439 @cond_branch\n" - " cmp r7, #0\n" - " bne ._440 @cond_branch\n" - "._439:\n" - " mov r0, r8\n" - " mov r1, r9\n" - " bl sub_80451A0\n" - "._440:\n" - " cmp r7, #0x9\n" - " beq ._441 @cond_branch\n" - " cmp r7, #0\n" - " bne ._442 @cond_branch\n" - "._441:\n" - " mov r0, r8\n" - " bl draw_status_ailment_maybe\n" - "._442:\n" - " add sp, sp, #0x8\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._444:\n" - " .align 2, 0\n" - "._443:\n" - " .word gUnknown_020297ED\n" - "\n" - ); -} -#else void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) { u8 r10; @@ -3404,6 +2758,15 @@ void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) { if (c == 3 || c == 0) sub_8043FC0(a, GetMonData(pkmn, MON_DATA_LEVEL)); +#if DEBUG + if (gUnknown_020297ED == 1) + { + if (c == 1 || c == 0) + sub_80440EC(a, GetMonData(pkmn, MON_DATA_HP), 0); + if (c == 2 || c == 0) + sub_80440EC(a, GetMonData(pkmn, MON_DATA_MAX_HP), 1); + } +#endif if (c == 5 || c == 0) { load_gfxc_health_bar(0); @@ -3418,7 +2781,6 @@ void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) draw_status_ailment_maybe(a); } } -#endif s32 sub_8045C78(u8 a, u8 unused1, u8 c, u8 unused2) { diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 6f187ad71..41579fa28 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -525,324 +525,49 @@ void CalculateMonStats(struct Pokemon *mon) } #if DEBUG -__attribute__((naked)) -void debug_sub_803F55C() +void debug_sub_803F55C(struct Pokemon *mon) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffc4\n" - " add r5, r0, #0\n" - " mov r1, #0x39\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x1c]\n" - " add r0, r5, #0\n" - " mov r1, #0x27\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " add r7, r0, #0\n" - " add r0, r5, #0\n" - " mov r1, #0x1a\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " add r4, r0, #0\n" - " add r0, r5, #0\n" - " mov r1, #0x28\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " mov r9, r0\n" - " add r0, r5, #0\n" - " mov r1, #0x1b\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " mov r8, r0\n" - " add r0, r5, #0\n" - " mov r1, #0x29\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x20]\n" - " add r0, r5, #0\n" - " mov r1, #0x1c\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " mov sl, r0\n" - " add r0, r5, #0\n" - " mov r1, #0x2a\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x24]\n" - " add r0, r5, #0\n" - " mov r1, #0x1d\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x28]\n" - " add r0, r5, #0\n" - " mov r1, #0x2b\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x2c]\n" - " add r0, r5, #0\n" - " mov r1, #0x1e\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x30]\n" - " add r0, r5, #0\n" - " mov r1, #0x2c\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x34]\n" - " add r0, r5, #0\n" - " mov r1, #0x1f\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " str r0, [sp, #0x38]\n" - " add r0, r5, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x0\n" - " bl GetMonData\n" - " lsl r0, r0, #0x10\n" - " lsr r6, r0, #0x10\n" - " add r0, r5, #0\n" - " bl GetLevelFromMonExp\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " str r0, [sp]\n" - " add r0, r5, #0\n" - " mov r1, #0x38\n" - " mov r2, sp\n" - " bl SetMonData\n" - " ldr r0, ._71\n" - " cmp r6, r0\n" - " bne ._69 @cond_branch\n" - " mov r0, #0x1\n" - " str r0, [sp, #0x4]\n" - " lsl r7, r6, #0x3\n" - " b ._70\n" - "._72:\n" - " .align 2, 0\n" - "._71:\n" - " .word 0x12f\n" - "._69:\n" - " ldr r1, ._80\n" - " lsl r2, r6, #0x3\n" - " sub r0, r2, r6\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x1\n" - " add r1, r0, r7\n" - " add r0, r4, #0\n" - " add r7, r2, #0\n" - " cmp r0, #0\n" - " bge ._73 @cond_branch\n" - " add r0, r0, #0x3\n" - "._73:\n" - " asr r0, r0, #0x2\n" - " add r0, r1, r0\n" - " ldr r4, [sp]\n" - " mul r0, r0, r4\n" - " mov r1, #0x64\n" - " bl __divsi3\n" - " add r0, r0, r4\n" - " add r0, r0, #0xa\n" - " str r0, [sp, #0x4]\n" - "._70:\n" - " add r2, sp, #0x4\n" - " add r0, r5, #0\n" - " mov r1, #0x3a\n" - " bl SetMonData\n" - " ldr r1, ._80\n" - " sub r0, r7, r6\n" - " lsl r0, r0, #0x2\n" - " add r6, r0, r1\n" - " ldrb r0, [r6, #0x1]\n" - " lsl r0, r0, #0x1\n" - " mov r2, r9\n" - " add r1, r0, r2\n" - " mov r0, r8\n" - " cmp r0, #0\n" - " bge ._74 @cond_branch\n" - " add r0, r0, #0x3\n" - "._74:\n" - " asr r0, r0, #0x2\n" - " add r0, r1, r0\n" - " ldr r1, [sp]\n" - " mul r0, r0, r1\n" - " mov r1, #0x64\n" - " bl __divsi3\n" - " add r0, r0, #0x5\n" - " str r0, [sp, #0x8]\n" - " add r0, r5, #0\n" - " bl GetNature\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r4, sp, #0x8\n" - " ldrh r1, [r4]\n" - " mov r2, #0x1\n" - " bl nature_stat_mod\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " str r0, [sp, #0x8]\n" - " add r0, r5, #0\n" - " mov r1, #0x3b\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldrb r0, [r6, #0x2]\n" - " lsl r0, r0, #0x1\n" - " ldr r2, [sp, #0x20]\n" - " add r1, r0, r2\n" - " mov r0, sl\n" - " cmp r0, #0\n" - " bge ._75 @cond_branch\n" - " add r0, r0, #0x3\n" - "._75:\n" - " asr r0, r0, #0x2\n" - " add r0, r1, r0\n" - " ldr r1, [sp]\n" - " mul r0, r0, r1\n" - " mov r1, #0x64\n" - " bl __divsi3\n" - " add r0, r0, #0x5\n" - " str r0, [sp, #0xc]\n" - " add r0, r5, #0\n" - " bl GetNature\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r4, sp, #0xc\n" - " ldrh r1, [r4]\n" - " mov r2, #0x2\n" - " bl nature_stat_mod\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " str r0, [sp, #0xc]\n" - " add r0, r5, #0\n" - " mov r1, #0x3c\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldrb r0, [r6, #0x3]\n" - " lsl r0, r0, #0x1\n" - " ldr r2, [sp, #0x24]\n" - " add r1, r0, r2\n" - " ldr r0, [sp, #0x28]\n" - " cmp r0, #0\n" - " bge ._76 @cond_branch\n" - " add r0, r0, #0x3\n" - "._76:\n" - " asr r0, r0, #0x2\n" - " add r0, r1, r0\n" - " ldr r1, [sp]\n" - " mul r0, r0, r1\n" - " mov r1, #0x64\n" - " bl __divsi3\n" - " add r0, r0, #0x5\n" - " str r0, [sp, #0x10]\n" - " add r0, r5, #0\n" - " bl GetNature\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r4, sp, #0x10\n" - " ldrh r1, [r4]\n" - " mov r2, #0x3\n" - " bl nature_stat_mod\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " str r0, [sp, #0x10]\n" - " add r0, r5, #0\n" - " mov r1, #0x3d\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldrb r0, [r6, #0x4]\n" - " lsl r0, r0, #0x1\n" - " ldr r2, [sp, #0x2c]\n" - " add r1, r0, r2\n" - " ldr r0, [sp, #0x30]\n" - " cmp r0, #0\n" - " bge ._77 @cond_branch\n" - " add r0, r0, #0x3\n" - "._77:\n" - " asr r0, r0, #0x2\n" - " add r0, r1, r0\n" - " ldr r1, [sp]\n" - " mul r0, r0, r1\n" - " mov r1, #0x64\n" - " bl __divsi3\n" - " add r0, r0, #0x5\n" - " str r0, [sp, #0x14]\n" - " add r0, r5, #0\n" - " bl GetNature\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r4, sp, #0x14\n" - " ldrh r1, [r4]\n" - " mov r2, #0x4\n" - " bl nature_stat_mod\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " str r0, [sp, #0x14]\n" - " add r0, r5, #0\n" - " mov r1, #0x3e\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldrb r0, [r6, #0x5]\n" - " lsl r0, r0, #0x1\n" - " ldr r1, [sp, #0x34]\n" - " add r2, r0, r1\n" - " ldr r0, [sp, #0x38]\n" - " cmp r0, #0\n" - " bge ._78 @cond_branch\n" - " add r0, r0, #0x3\n" - "._78:\n" - " asr r0, r0, #0x2\n" - " add r0, r2, r0\n" - " ldr r1, [sp]\n" - " mul r0, r0, r1\n" - " mov r1, #0x64\n" - " bl __divsi3\n" - " add r0, r0, #0x5\n" - " str r0, [sp, #0x18]\n" - " add r0, r5, #0\n" - " bl GetNature\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " add r4, sp, #0x18\n" - " ldrh r1, [r4]\n" - " mov r2, #0x5\n" - " bl nature_stat_mod\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " str r0, [sp, #0x18]\n" - " add r0, r5, #0\n" - " mov r1, #0x3f\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " ldr r1, [sp, #0x4]\n" - " ldr r0, [sp, #0x1c]\n" - " cmp r1, r0\n" - " bge ._79 @cond_branch\n" - " str r1, [sp, #0x1c]\n" - "._79:\n" - " add r2, sp, #0x1c\n" - " add r0, r5, #0\n" - " mov r1, #0x39\n" - " bl SetMonData\n" - " add sp, sp, #0x3c\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._81:\n" - " .align 2, 0\n" - "._80:\n" - " .word gBaseStats\n" - "\n" - ); + s32 currentHP = GetMonData(mon, MON_DATA_HP, NULL); + s32 hpIV = GetMonData(mon, MON_DATA_HP_IV, NULL); + s32 hpEV = GetMonData(mon, MON_DATA_HP_EV, NULL); + s32 attackIV = GetMonData(mon, MON_DATA_ATK_IV, NULL); + s32 attackEV = GetMonData(mon, MON_DATA_ATK_EV, NULL); + s32 defenseIV = GetMonData(mon, MON_DATA_DEF_IV, NULL); + s32 defenseEV = GetMonData(mon, MON_DATA_DEF_EV, NULL); + s32 speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL); + s32 speedEV = GetMonData(mon, MON_DATA_SPEED_EV, NULL); + s32 spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL); + s32 spAttackEV = GetMonData(mon, MON_DATA_SPATK_EV, NULL); + s32 spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL); + s32 spDefenseEV = GetMonData(mon, MON_DATA_SPDEF_EV, NULL); + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + s32 level = GetLevelFromMonExp(mon); + s32 newMaxHP; + + SetMonData(mon, MON_DATA_LEVEL, &level); + + if (species == SPECIES_SHEDINJA) + { + newMaxHP = 1; + } + else + { + s32 n = 2 * gBaseStats[species].baseHP + hpIV; + newMaxHP = (((n + hpEV / 4) * level) / 100) + level + 10; + } + + SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); + + CALC_STAT(baseAttack, attackIV, attackEV, 1, MON_DATA_ATK) + CALC_STAT(baseDefense, defenseIV, defenseEV, 2, MON_DATA_DEF) + CALC_STAT(baseSpeed, speedIV, speedEV, 3, MON_DATA_SPEED) + CALC_STAT(baseSpAttack, spAttackIV, spAttackEV, 4, MON_DATA_SPATK) + CALC_STAT(baseSpDefense, spDefenseIV, spDefenseEV, 5, MON_DATA_SPDEF) + + if (newMaxHP < currentHP) + currentHP = newMaxHP; + + SetMonData(mon, MON_DATA_HP, ¤tHP); } #endif diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c index 8e1bd1671..532340ce4 100644 --- a/src/pokemon/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -31,6 +31,7 @@ #include "item_menu.h" #include "player_pc.h" #include "ewram.h" +#include "script.h" /* Pokemon menu: @@ -45,6 +46,7 @@ struct PokeMenuFieldMoveFunc u8 field_1; }; +extern u8 gUnknown_020297ED; extern u8 gUnknown_020384F0; extern u8 gUnknown_0202E8F4; extern u8 gUnknown_0202E8F5; @@ -900,9 +902,10 @@ static void sub_808AE08(void) static bool8 SetUpFieldMove_Waterfall(void) { s16 x, y; + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE - && IsPlayerSurfingNorth() == TRUE) + && IsPlayerSurfingNorth() == TRUE) { gFieldCallback = FieldCallback_Teleport; gUnknown_03005CE4 = sub_808AE08; @@ -913,138 +916,19 @@ static bool8 SetUpFieldMove_Waterfall(void) } #if DEBUG -__attribute__((naked)) -void debug_sub_80986AC() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - mov r4, sp\n\ - add r4, r4, #0x2\n\ - mov r0, sp\n\ - add r1, r4, #0\n\ - bl GetXYCoordsOneStepInFrontOfPlayer\n\ - mov r0, sp\n\ - mov r1, #0x0\n\ - ldsh r0, [r0, r1]\n\ - mov r2, #0x0\n\ - ldsh r1, [r4, r2]\n\ - bl MapGridGetMetatileBehaviorAt\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl MetatileBehavior_IsWaterfall\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x1\n\ - bne ._274 @cond_branch\n\ - bl IsPlayerSurfingNorth\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x1\n\ - bne ._274 @cond_branch\n\ - bl sub_808AE08\n\ - b ._275\n\ -._274:\n\ - bl ScriptContext2_Disable\n\ -._275:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0"); +void debug_sub_80986AC(void) +{ + s16 x, y; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE + && IsPlayerSurfingNorth() == TRUE) + sub_808AE08(); + else + ScriptContext2_Disable(); } #endif -#if DEBUG -__attribute__((naked)) -static void sub_808AE8C(void) -{ - asm("\ - push {r4, r5, r6, lr}\n\ - ldr r0, ._281\n\ - ldrb r0, [r0]\n\ - sub r0, r0, #0x21\n\ - lsl r0, r0, #0x18\n\ - lsr r6, r0, #0x18\n\ - mov r5, #0x0\n\ -._287:\n\ - mov r0, #0x64\n\ - add r1, r5, #0\n\ - mul r1, r1, r0\n\ - ldr r0, ._281 + 4\n\ - add r4, r1, r0\n\ - add r0, r4, #0\n\ - mov r1, #0xb\n\ - bl GetMonData\n\ - cmp r0, #0\n\ - beq ._284 @cond_branch\n\ - add r0, r5, #0\n\ - bl sub_806D668\n\ - ldr r0, ._281 + 8\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - bne ._279 @cond_branch\n\ - add r0, r4, #0\n\ - mov r1, #0x2d\n\ - bl GetMonData\n\ - cmp r0, #0\n\ - bne ._278 @cond_branch\n\ - add r0, r4, #0\n\ - add r1, r6, #0\n\ - bl CanMonLearnTMHM\n\ - cmp r0, #0\n\ - bne ._279 @cond_branch\n\ -._278:\n\ - add r0, r5, #0\n\ - mov r1, #0x9a\n\ - bl sub_806BC3C\n\ - b ._284\n\ -._282:\n\ - .align 2, 0\n\ -._281:\n\ - .word gSpecialVar_ItemId\n\ - .word gPlayerParty\n\ - .word gUnknown_020297ED\n\ -._279:\n\ - mov r0, #0x64\n\ - add r4, r5, #0\n\ - mul r4, r4, r0\n\ - ldr r0, ._285\n\ - add r4, r4, r0\n\ - ldr r0, ._285 + 4\n\ - ldrh r0, [r0]\n\ - bl ItemIdToBattleMoveId\n\ - add r1, r0, #0\n\ - lsl r1, r1, #0x10\n\ - lsr r1, r1, #0x10\n\ - add r0, r4, #0\n\ - bl pokemon_has_move\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._283 @cond_branch\n\ - add r0, r5, #0\n\ - mov r1, #0xa8\n\ - bl sub_806BC3C\n\ - b ._284\n\ -._286:\n\ - .align 2, 0\n\ -._285:\n\ - .word gPlayerParty\n\ - .word gSpecialVar_ItemId\n\ -._283:\n\ - add r0, r5, #0\n\ - mov r1, #0x8c\n\ - bl sub_806BC3C\n\ -._284:\n\ - add r0, r5, #1\n\ - lsl r0, r0, #0x18\n\ - lsr r5, r0, #0x18\n\ - cmp r5, #0x5\n\ - bls ._287 @cond_branch\n\ - pop {r4, r5, r6}\n\ - pop {r0}\n\ - bx r0"); -} -#else static void sub_808AE8C(void) { u8 i; @@ -1054,7 +938,11 @@ static void sub_808AE8C(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES)) { sub_806D668(i); - if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) || !CanMonLearnTMHM(&gPlayerParty[i], arg)) + if ( +#if DEBUG + gUnknown_020297ED == 0 && +#endif + (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) || !CanMonLearnTMHM(&gPlayerParty[i], arg))) sub_806BC3C(i, 0x9A); else if (pokemon_has_move(&gPlayerParty[i], ItemIdToBattleMoveId(gSpecialVar_ItemId))) sub_806BC3C(i, 0xA8); @@ -1063,7 +951,6 @@ static void sub_808AE8C(void) } } } -#endif static void sub_808AF20(void) { -- cgit v1.2.3 From 33d2d51906bbde1c62cee3470a9b3706571d551c Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Thu, 25 Jan 2018 21:33:46 -0600 Subject: decompile more debug functions --- src/battle/battle_2.c | 237 +++++++++++++------------------------------------ src/battle/battle_ai.c | 217 ++------------------------------------------ 2 files changed, 69 insertions(+), 385 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index f9756db29..e72a875fb 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -6,6 +6,7 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/species.h" +#include "gba/flash_internal.h" #include "battle.h" #include "battle_ai.h" #include "battle_interface.h" @@ -1500,6 +1501,17 @@ void debug_sub_80108B8(void) } } +// This function matches, but it somehow affects registers in SetActionsAndBanksTurnOrder. +#ifdef NONMATCHING +void debug_sub_8010A7C(u8 a, u8 b) +{ + s32 i; + + for (i = 0; i < b; i++) + gBattleTextBuff1[i] = a; + gBattleTextBuff1[i] = EOS; +} +#else __attribute__((naked)) void debug_sub_8010A7C() { @@ -1534,6 +1546,14 @@ void debug_sub_8010A7C() "\n" ); } +#endif + +/* +void debug_sub_8010AAC(u8 a) +{ + u32 r7 = gUnknown_Debug_030043A4 * 5; +} +*/ __attribute__((naked)) void debug_sub_8010AAC() @@ -3898,72 +3918,19 @@ void debug_sub_801174C() ); } -__attribute__((naked)) -void debug_sub_8011D40() +void debug_sub_8011D40(void) { - asm( - " push {lr}\n" - " ldr r1, ._774\n" - " ldr r0, ._774 + 4\n" - " str r0, [r1]\n" - " ldr r0, ._774 + 8\n" - " str r0, [r1, #0x4]\n" - " ldr r0, ._774 + 12\n" - " str r0, [r1, #0x8]\n" - " ldr r0, [r1, #0x8]\n" - " sub r1, r1, #0xc4\n" - " ldr r0, ._774 + 16\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._774 + 20\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._774 + 24\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._774 + 28\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._774 + 32\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._774 + 36\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._774 + 40\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " add r1, r1, #0x2\n" - " ldr r0, ._774 + 44\n" - " ldrh r0, [r0]\n" - " strh r0, [r1]\n" - " bl LoadOam\n" - " bl ProcessSpriteCopyRequests\n" - " pop {r0}\n" - " bx r0\n" - "._775:\n" - " .align 2, 0\n" - "._774:\n" - " .word 0x40000d4\n" - " .word gSharedMem\n" - " .word 0x6004000\n" - " .word 0x80000800\n" - " .word gBattle_BG0_X\n" - " .word gBattle_BG0_Y\n" - " .word gBattle_BG1_X\n" - " .word gBattle_BG1_Y\n" - " .word gBattle_BG2_X\n" - " .word gBattle_BG2_Y\n" - " .word gBattle_BG3_X\n" - " .word gBattle_BG3_Y\n" - "\n" - ); + DmaCopy16(3, gSharedMem, (void *)(VRAM + 0x4000), 0x1000); + REG_BG0HOFS = gBattle_BG0_X; + REG_BG0VOFS = gBattle_BG0_Y; + REG_BG1HOFS = gBattle_BG1_X; + REG_BG1VOFS = gBattle_BG1_Y; + REG_BG2HOFS = gBattle_BG2_X; + REG_BG2VOFS = gBattle_BG2_Y; + REG_BG3HOFS = gBattle_BG3_X; + REG_BG3VOFS = gBattle_BG3_Y; + LoadOam(); + ProcessSpriteCopyRequests(); } void debug_nullsub_45() @@ -6517,125 +6484,45 @@ void debug_sub_8012D10() ); } -__attribute__((naked)) -void debug_sub_8013240() +u8 debug_sub_8013240(void) { - asm( - " push {lr}\n" - " bl IdentifyFlash\n" - " lsl r0, r0, #0x10\n" - " cmp r0, #0\n" - " beq ._1068 @cond_branch\n" - " mov r0, #0x1\n" - " b ._1069\n" - "._1068:\n" - " mov r0, #0x0\n" - "._1069:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (IdentifyFlash() == 0) + return 0; + else + return 1; } -__attribute__((naked)) -void debug_sub_8013258() +u32 debug_sub_8013258(u16 sectorNum, u8 *data, u32 size) { - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r1, #0\n" - " add r5, r2, #0\n" - " b ._1070\n" - "._1072:\n" - " ldr r0, ._1074\n" - " add r5, r5, r0\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x5\n" - " add r6, r6, r0\n" - " add r0, r4, #1\n" - "._1070:\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl ProgramFlashSectorAndVerify\n" - " cmp r0, #0\n" - " bne ._1071 @cond_branch\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x5\n" - " cmp r5, r0\n" - " bhi ._1072 @cond_branch\n" - " mov r0, #0x1\n" - " b ._1073\n" - "._1075:\n" - " .align 2, 0\n" - "._1074:\n" - " .word 0xfffff000\n" - "._1071:\n" - " mov r0, #0x0\n" - "._1073:\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + while (1) + { + if (ProgramFlashSectorAndVerify(sectorNum, data) != 0) + return 0; + if (size <= 0x1000) + break; + size -= 0x1000; + data += 0x1000; + sectorNum++; + } + return 1; } -__attribute__((naked)) -void debug_sub_8013294() +u32 debug_sub_8013294(u8 sectorNum, void *data, u32 size) { - asm( - " push {r4, r5, r6, lr}\n" - " add r5, r1, #0\n" - " add r6, r2, #0\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl debug_sub_8013240\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._1076 @cond_branch\n" - " bl m4aSoundVSyncOff\n" - " add r0, r4, #0\n" - " add r1, r5, #0\n" - " add r2, r6, #0\n" - " bl debug_sub_8013258\n" - " add r4, r0, #0\n" - " bl m4aSoundVSyncOn\n" - " add r0, r4, #0\n" - " b ._1077\n" - "._1076:\n" - " mov r0, #0x0\n" - "._1077:\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + u32 result; + + if (debug_sub_8013240() != 0) + return 0; + m4aSoundVSyncOff(); + result = debug_sub_8013258(sectorNum, data, size); + m4aSoundVSyncOn(); + return result; } -__attribute__((naked)) -void debug_sub_80132C8() +void debug_sub_80132C8(u8 a, void *b, u32 c) { - asm( - " push {r4, r5, r6, lr}\n" - " add r5, r1, #0\n" - " add r6, r2, #0\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " bl debug_sub_8013240\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._1078 @cond_branch\n" - " add r0, r4, #0\n" - " mov r1, #0x0\n" - " add r2, r5, #0\n" - " add r3, r6, #0\n" - " bl ReadFlash\n" - "._1078:\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + if (debug_sub_8013240() == 0) + ReadFlash(a, 0, b, c); } #endif @@ -10146,7 +10033,7 @@ void SetActionsAndBanksTurnOrder(void) // And doing this seems to fix it. #if DEBUG asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm(""); - asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm(""); + asm("");asm("");asm("");asm("");asm("");asm("");asm(""); #endif gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; eFocusPunchBank = 0; diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 87a66c2c7..629a57d25 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -13,6 +13,8 @@ #include "util.h" #include "ewram.h" +extern u8 gUnknown_02023A14_50; +extern u32 gUnknown_02023A14_4C; extern u16 gBattleTypeFlags; extern u16 gBattleWeather; extern u8 gActiveBank; @@ -289,214 +291,6 @@ void BattleAI_HandleItemUseBeforeAISetup(void) BattleAI_SetupAIData(); } -#if DEBUG -__attribute__((naked)) -void BattleAI_SetupAIData() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " ldr r2, ._16\n" - " mov r4, #0x0\n" - " ldr r3, ._16 + 4\n" - " mov r1, #0x0\n" - "._9:\n" - " add r0, r2, r4\n" - " strb r1, [r0]\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x1b\n" - " bls ._9 @cond_branch\n" - " ldr r0, ._16\n" - " mov r1, #0x64\n" - " mov r4, #0x3\n" - " add r0, r0, #0x7\n" - "._10:\n" - " strb r1, [r0]\n" - " sub r0, r0, #0x1\n" - " sub r4, r4, #0x1\n" - " cmp r4, #0\n" - " bge ._10 @cond_branch\n" - " ldrb r0, [r3]\n" - " mov r1, #0x0\n" - " mov r2, #0xff\n" - " bl CheckMoveLimitations\n" - " lsl r0, r0, #0x18\n" - " lsr r7, r0, #0x18\n" - " mov r4, #0x0\n" - " ldr r0, ._16\n" - " add r5, r0, #4\n" - " ldr r6, ._16 + 8\n" - "._12:\n" - " ldr r0, [r6]\n" - " and r0, r0, r7\n" - " cmp r0, #0\n" - " beq ._11 @cond_branch\n" - " mov r0, #0x0\n" - " strb r0, [r5]\n" - "._11:\n" - " bl Random\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " mov r1, #0xf\n" - " and r0, r0, r1\n" - " mov r1, #0x64\n" - " sub r1, r1, r0\n" - " strb r1, [r5, #0x14]\n" - " add r5, r5, #0x1\n" - " add r6, r6, #0x4\n" - " add r4, r4, #0x1\n" - " cmp r4, #0x3\n" - " ble ._12 @cond_branch\n" - " ldr r0, ._16 + 12\n" - " add r0, r0, #0x20\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " ldr r1, ._16 + 16\n" - " ldr r0, ._16 + 4\n" - " ldrb r2, [r0]\n" - " strb r2, [r1]\n" - " ldr r0, ._16 + 20\n" - " ldrh r1, [r0]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._13 @cond_branch\n" - " ldr r4, ._16 + 24\n" - " bl Random\n" - " mov r5, #0x2\n" - " and r0, r0, r5\n" - " strb r0, [r4]\n" - " ldr r0, ._16 + 28\n" - " ldrb r1, [r0]\n" - " ldr r2, ._16 + 8\n" - " ldrb r3, [r4]\n" - " lsl r0, r3, #0x2\n" - " add r0, r0, r2\n" - " ldr r0, [r0]\n" - " and r1, r1, r0\n" - " cmp r1, #0\n" - " beq ._15 @cond_branch\n" - " eor r3, r3, r5\n" - " strb r3, [r4]\n" - " b ._15\n" - "._17:\n" - " .align 2, 0\n" - "._16:\n" - " .word gSharedMem+0x16800\n" - " .word gActiveBank\n" - " .word gBitTable\n" - " .word +0x2016c00\n" - " .word gBankAttacker\n" - " .word gBattleTypeFlags\n" - " .word gBankTarget\n" - " .word gAbsentBankFlags\n" - "._13:\n" - " ldr r0, ._20\n" - " mov r1, #0x1\n" - " eor r1, r1, r2\n" - " strb r1, [r0]\n" - "._15:\n" - " ldr r0, ._20 + 4\n" - " ldrh r1, [r0]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._18 @cond_branch\n" - " ldr r1, ._20 + 8\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x17\n" - " b ._27\n" - "._21:\n" - " .align 2, 0\n" - "._20:\n" - " .word gBankTarget\n" - " .word gBattleTypeFlags\n" - " .word gSharedMem+0x16800\n" - "._18:\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x3\n" - " add r0, r2, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._22 @cond_branch\n" - " ldr r1, ._24\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x16\n" - " b ._27\n" - "._25:\n" - " .align 2, 0\n" - "._24:\n" - " .word gSharedMem+0x16800\n" - "._22:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._26 @cond_branch\n" - " ldr r1, ._28\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x18\n" - " b ._27\n" - "._29:\n" - " .align 2, 0\n" - "._28:\n" - " .word gSharedMem+0x16800\n" - "._26:\n" - " mov r0, #0x90\n" - " lsl r0, r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._30 @cond_branch\n" - " ldr r1, ._33\n" - " ldrh r0, [r1]\n" - " cmp r0, r2\n" - " bne ._31 @cond_branch\n" - "._30:\n" - " ldr r1, ._33 + 4\n" - " mov r0, #0x7\n" - "._27:\n" - " str r0, [r1, #0xc]\n" - " add r3, r1, #0\n" - " b ._32\n" - "._34:\n" - " .align 2, 0\n" - "._33:\n" - " .word gTrainerBattleOpponent\n" - " .word gSharedMem+0x16800\n" - "._31:\n" - " ldr r3, ._36\n" - " ldr r2, ._36 + 4\n" - " ldrh r1, [r1]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x3\n" - " add r2, r2, #0x1c\n" - " add r0, r0, r2\n" - " ldr r0, [r0]\n" - " str r0, [r3, #0xc]\n" - "._32:\n" - " ldr r0, ._36 + 8\n" - " ldrb r1, [r0]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._35 @cond_branch\n" - " ldr r0, ._36 + 12\n" - " ldr r0, [r0]\n" - " str r0, [r3, #0xc]\n" - "._35:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._37:\n" - " .align 2, 0\n" - "._36:\n" - " .word gSharedMem+0x16800\n" - " .word gTrainers\n" - " .word gUnknown_02023A14_50\n" - " .word gUnknown_02023A14_4C\n" - "\n" - ); -} -#else void BattleAI_SetupAIData(void) { s32 i; @@ -544,13 +338,16 @@ void BattleAI_SetupAIData(void) else if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) AI_THINKING_STRUCT->aiFlags = 0x80000000; #ifdef GERMAN - else if (gBattleTypeFlags & 0x900 || gTrainerBattleOpponent == 0x400) + else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER) || gTrainerBattleOpponent == 0x400) AI_THINKING_STRUCT->aiFlags = 7; #endif else // otherwise, just set aiFlags to whatever flags the trainer has set in their data. AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent].aiFlags; -} +#if DEBUG + if (gUnknown_02023A14_50 & 1) + AI_THINKING_STRUCT->aiFlags = gUnknown_02023A14_4C; #endif +} u8 BattleAI_GetAIActionToUse(void) { -- cgit v1.2.3 From 8aae2583eb851d1442b85e28d7bcb13a15c1818d Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sat, 27 Jan 2018 16:41:07 -0600 Subject: add comments for pool loads --- src/roulette.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/roulette.c b/src/roulette.c index 5a8d35647..ffdbc2c26 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -607,7 +607,7 @@ void sub_8115384(void) .align 2, 0\n\ ._35:\n\ .word gUnknown_Debug_03005FB8\n\ - .word +0x2019000\n\ + .word 0x2019000\n\ .word gMain\n\ .word 0x43c\n\ .word ._37\n\ @@ -718,7 +718,7 @@ void sub_8115384(void) .align 2, 0\n\ ._56:\n\ .word gUnknown_083F88BC\n\ - .word +0x2018800\n\ + .word 0x2018800\n\ .word gUnknown_083F8A60\n\ .word 0x6003000\n\ .word gMain\n\ @@ -870,7 +870,7 @@ void sub_8115384(void) .word 0x4000004\n\ .word sub_8115124+1\n\ .word sub_81156BC+1\n\ - .word +0x2019000\n\ + .word 0x2019000\n\ .word gTasks\n\ .word gSaveBlock1\n\ .word 0x494\n\ @@ -1063,7 +1063,7 @@ void sub_8115634(u8 unused) ._76:\n\ .align 2, 0\n\ ._75:\n\ - .word +0x2019000\n\ + .word 0x2019000\n\ .word unk_203955C\n\ .word gMain\n\ .word gTasks\n\ @@ -2067,7 +2067,7 @@ void sub_8116B40(u8 taskid) // end roulette ? ._382:\n\ .align 2, 0\n\ ._381:\n\ - .word +0x2019000\n\ + .word 0x2019000\n\ .word gSpriteCoordOffsetX\n\ .word gSpriteCoordOffsetY\n\ .word 0x4000050\n\ @@ -4499,7 +4499,7 @@ void debug_sub_812E698() ._840:\n\ .align 2, 0\n\ ._839:\n\ - .word +0x2019000\n\ + .word 0x2019000\n\ .word 0x0\n\ .word gUnknown_083F8DF4\n\ ._837:\n\ @@ -4546,7 +4546,7 @@ void debug_sub_812E698() ._842:\n\ .align 2, 0\n\ ._841:\n\ - .word +0x2019000\n\ + .word 0x2019000\n\ .word gUnknown_083F8DF4\n\ .word 0x3dae147b\n\ .word sub_8118D2C+1"); @@ -4902,7 +4902,7 @@ void sub_8118F8C(struct Sprite *sprite) ._869:\n\ .align 2, 0\n\ ._868:\n\ - .word +0x2019000\n\ + .word 0x2019000\n\ .word 0x3f000000\n\ .word 0x0\n\ .word gUnknown_083F8DF4\n\ -- cgit v1.2.3 From 2d5fdddf69bbbe524a32b6b6f104aeb60bb1cebd Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sat, 27 Jan 2018 17:00:08 -0600 Subject: fix undefined references after merge --- src/engine/cable_club.c | 2 +- src/engine/mystery_event_menu.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index 8f79944de..c656b2203 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -321,7 +321,7 @@ void debug_sub_808A55C() mov r2, #0xc\n\ mov r3, #0x1\n\ bl PrintHex\n\ - bl sub_8007ECC\n\ + bl IsLinkTaskFinished\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ mov r1, #0xf\n\ diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 2e526bb4a..116b60477 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -697,7 +697,7 @@ void debug_sub_815D1D8() " .word 0x43c\n" "._149:\n" " bl Menu_UpdateWindowText\n" - " bl sub_8007ECC\n" + " bl IsLinkTaskFinished\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " beq ._196 @cond_branch\n" -- cgit v1.2.3 From fe400f60b6609d37d2b8a0c2aec75321adc3e95f Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Sat, 27 Jan 2018 17:03:40 -0600 Subject: add comments for pool loads in C files --- src/battle/battle_2.c | 942 ++++++++++++++++---------------- src/battle/battle_4.c | 76 +-- src/battle/battle_controller_opponent.c | 36 +- src/battle/battle_controller_player.c | 128 ++--- src/battle/battle_records.c | 10 +- src/debug/start_menu_debug.c | 586 ++++++++++---------- src/engine/cable_club.c | 56 +- src/engine/link.c | 8 +- src/engine/mystery_event_menu.c | 92 ++-- src/engine/reset_rtc_screen.c | 34 +- src/engine/save_failed_screen.c | 34 +- src/field/berry.c | 100 ++-- src/field/choose_party.c | 4 +- src/field/field_map_obj.c | 28 +- src/field/field_player_avatar.c | 20 +- src/field/field_weather.c | 26 +- src/field/fldeff_cut.c | 10 +- src/field/fldeff_flash.c | 4 +- src/field/fldeff_secretpower.c | 10 +- src/field/item_menu.c | 102 ++-- src/field/mauville_man.c | 6 +- src/field/party_menu.c | 106 ++-- src/field/secret_base.c | 14 +- src/field/shop.c | 2 +- src/field/slot_machine.c | 108 ++-- src/field/start_menu.c | 54 +- src/pokemon/pokemon_summary_screen.c | 126 ++--- src/pokenav_before.c | 766 +++++++++++++------------- src/roulette.c | 262 ++++----- src/scene/cable_car.c | 28 +- src/scene/cute_sketch.c | 42 +- 31 files changed, 1910 insertions(+), 1910 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 2171c6ef6..b9b4290b5 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1521,7 +1521,7 @@ void debug_sub_8010A7C() " lsl r1, r1, #0x18\n" " lsr r2, r1, #0x18\n" " mov r1, #0x0\n" - " ldr r5, ._514\n" + " ldr r5, ._514 @ gBattleTextBuff1\n" " cmp r1, r2\n" " bge ._512 @cond_branch\n" " add r3, r5, #0\n" @@ -1562,14 +1562,14 @@ void debug_sub_8010AAC() " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov ip, r0\n" - " ldr r6, ._520\n" - " ldr r4, ._520 + 4\n" - " ldr r5, ._520 + 8\n" + " ldr r6, ._520 @ gBaseStats\n" + " ldr r4, ._520 + 4 @ gUnknown_Debug_2023A76\n" + " ldr r5, ._520 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r5]\n" " lsl r0, r1, #0x2\n" " add r7, r0, r1\n" " lsl r1, r7, #0x1\n" - " ldr r3, ._520 + 12\n" + " ldr r3, ._520 + 12 @ gUnknown_Debug_03004360\n" " ldrb r2, [r3]\n" " mov r0, #0x46\n" " mul r2, r2, r0\n" @@ -1685,10 +1685,10 @@ void debug_sub_8010B80() " lsr r6, r0, #0x18\n" " mov r0, #0x0\n" " mov ip, r0\n" - " ldr r4, ._534\n" - " ldr r1, ._534 + 4\n" + " ldr r4, ._534 @ gUnknown_Debug_2023A76\n" + " ldr r1, ._534 + 4 @ gUnknown_Debug_030043A0\n" " mov r8, r1\n" - " ldr r5, ._534 + 8\n" + " ldr r5, ._534 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r5]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -1696,7 +1696,7 @@ void debug_sub_8010B80() " ldrb r2, [r2]\n" " add r0, r0, r2\n" " lsl r0, r0, #0x1\n" - " ldr r3, ._534 + 12\n" + " ldr r3, ._534 + 12 @ gUnknown_Debug_03004360\n" " ldrb r2, [r3]\n" " mov r1, #0x46\n" " mul r1, r1, r2\n" @@ -1847,7 +1847,7 @@ void debug_sub_8010CAC() " mov r7, r8\n" " push {r7}\n" " add sp, sp, #0xfffffff0\n" - " ldr r4, ._553\n" + " ldr r4, ._553 @ gMain\n" " ldrh r1, [r4, #0x28]\n" " mov r0, #0x81\n" " lsl r0, r0, #0x2\n" @@ -1860,19 +1860,19 @@ void debug_sub_8010CAC() " beq ._544 @cond_branch\n" " b ._559\n" "._544:\n" - " ldr r0, ._553 + 4\n" + " ldr r0, ._553 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " mov r8, r0\n" " cmp r1, #0x5\n" " bhi ._546 @cond_branch\n" - " ldr r0, ._553 + 8\n" + " ldr r0, ._553 + 8 @ gUnknown_Debug_030043A8\n" " mov r1, #0x0\n" " strb r1, [r0]\n" " bl debug_sub_8012628\n" - " ldr r0, ._553 + 12\n" + " ldr r0, ._553 + 12 @ debug_sub_8011498\n" " bl SetMainCallback2\n" "._546:\n" - " ldr r0, ._553 + 16\n" + " ldr r0, ._553 + 16 @ gUnknown_Debug_030043A0\n" " ldrb r3, [r0]\n" " cmp r3, #0\n" " bne ._555 @cond_branch\n" @@ -1880,10 +1880,10 @@ void debug_sub_8010CAC() " ldrb r0, [r1]\n" " cmp r0, #0x6\n" " bne ._555 @cond_branch\n" - " ldr r0, ._553 + 20\n" + " ldr r0, ._553 + 20 @ debug_sub_80108B8\n" " str r0, [r4, #0x8]\n" - " ldr r4, ._553 + 24\n" - " ldr r0, ._553 + 28\n" + " ldr r4, ._553 + 24 @ gPlayerParty\n" + " ldr r0, ._553 + 28 @ gUnknown_Debug_2023A76\n" " ldrh r1, [r0]\n" " ldrb r2, [r0, #0x2]\n" " str r3, [sp]\n" @@ -1899,7 +1899,7 @@ void debug_sub_8010CAC() " add r1, r5, #0\n" " add r1, r1, #0xd\n" " lsl r4, r5, #0x1\n" - " ldr r0, ._553 + 32\n" + " ldr r0, ._553 + 32 @ gUnknown_Debug_2023B02\n" " add r4, r4, r0\n" " add r0, r6, #0\n" " add r2, r4, #0\n" @@ -1911,14 +1911,14 @@ void debug_sub_8010CAC() " lsl r2, r0, #0x1\n" " add r2, r2, r0\n" " lsl r2, r2, #0x2\n" - " ldr r0, ._553 + 36\n" + " ldr r0, ._553 + 36 @ gBattleMoves\n" " add r2, r2, r0\n" " add r0, r6, #0\n" " bl SetMonData\n" " add r5, r5, #0x1\n" " cmp r5, #0x3\n" " ble ._549 @cond_branch\n" - " ldr r2, ._553 + 28\n" + " ldr r2, ._553 + 28 @ gUnknown_Debug_2023A76\n" " mov r4, #0x3c\n" " ldsh r0, [r2, r4]\n" " cmp r0, #0x1\n" @@ -1940,10 +1940,10 @@ void debug_sub_8010CAC() " .word gUnknown_Debug_2023B02\n" " .word gBattleMoves+0x4\n" "._550:\n" - " ldr r1, ._556\n" - " ldr r0, ._556 + 4\n" + " ldr r1, ._556 @ gCB2_AfterEvolution\n" + " ldr r0, ._556 + 4 @ debug_sub_80108B8\n" " str r0, [r1]\n" - " ldr r0, ._556 + 8\n" + " ldr r0, ._556 + 8 @ gPlayerParty\n" " ldrh r1, [r2, #0xa]\n" " mov r2, #0x1\n" " mov r3, #0x0\n" @@ -1958,15 +1958,15 @@ void debug_sub_8010CAC() "._551:\n" " bl debug_sub_8012688\n" "._555:\n" - " ldr r0, ._565\n" + " ldr r0, ._565 @ gUnknown_Debug_030043A0\n" " ldrb r0, [r0]\n" " cmp r0, #0x1\n" " bne ._559 @cond_branch\n" - " ldr r0, ._565 + 4\n" + " ldr r0, ._565 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r0, [r0]\n" " cmp r0, #0x6\n" " bne ._559 @cond_branch\n" - " ldr r3, ._565 + 8\n" + " ldr r3, ._565 + 8 @ gSaveBlock2\n" " ldrb r2, [r3, #0x15]\n" " lsl r0, r2, #0x1d\n" " lsr r5, r0, #0x1f\n" @@ -1999,7 +1999,7 @@ void debug_sub_8010CAC() " bl SetPokemonCryStereo\n" " bl debug_nullsub_3\n" "._559:\n" - " ldr r4, ._565 + 12\n" + " ldr r4, ._565 + 12 @ gMain\n" " ldrh r0, [r4, #0x2a]\n" " cmp r0, #0x8\n" " bne ._561 @cond_branch\n" @@ -2009,7 +2009,7 @@ void debug_sub_8010CAC() " cmp r0, #0x40\n" " bne ._562 @cond_branch\n" " bl debug_sub_80125E4\n" - " ldr r1, ._565 + 4\n" + " ldr r1, ._565 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" " beq ._563 @cond_branch\n" @@ -2027,7 +2027,7 @@ void debug_sub_8010CAC() "._564:\n" " strb r0, [r1]\n" " bl debug_sub_8011E74\n" - " ldr r0, ._570\n" + " ldr r0, ._570 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2036,12 +2036,12 @@ void debug_sub_8010CAC() " bl debug_sub_80123D8\n" " bl debug_sub_80125A0\n" "._562:\n" - " ldr r0, ._570 + 4\n" + " ldr r0, ._570 + 4 @ gMain\n" " ldrh r0, [r0, #0x2a]\n" " cmp r0, #0x80\n" " bne ._567 @cond_branch\n" " bl debug_sub_80125E4\n" - " ldr r1, ._570\n" + " ldr r1, ._570 @ gUnknown_Debug_030043A4\n" " ldrb r0, [r1]\n" " cmp r0, #0x6\n" " bne ._568 @cond_branch\n" @@ -2057,7 +2057,7 @@ void debug_sub_8010CAC() "._569:\n" " strb r0, [r1]\n" " bl debug_sub_8011E74\n" - " ldr r0, ._575\n" + " ldr r0, ._575 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2066,12 +2066,12 @@ void debug_sub_8010CAC() " bl debug_sub_80123D8\n" " bl debug_sub_80125A0\n" "._567:\n" - " ldr r0, ._575 + 4\n" + " ldr r0, ._575 + 4 @ gMain\n" " ldrh r0, [r0, #0x2a]\n" " cmp r0, #0x20\n" " bne ._572 @cond_branch\n" " bl debug_sub_80125E4\n" - " ldr r2, ._575 + 8\n" + " ldr r2, ._575 + 8 @ gUnknown_Debug_030043A0\n" " ldrb r0, [r2]\n" " add r1, r0, #0\n" " cmp r1, #0\n" @@ -2086,18 +2086,18 @@ void debug_sub_8010CAC() " .word gMain\n" " .word gUnknown_Debug_030043A0\n" "._573:\n" - " ldr r3, ._581\n" + " ldr r3, ._581 @ gUnknown_Debug_03004360\n" " ldrb r0, [r3]\n" " cmp r0, #0\n" " beq ._577 @cond_branch\n" " strb r1, [r3]\n" " mov r0, #0x4\n" " strb r0, [r2]\n" - " ldr r0, ._581 + 4\n" + " ldr r0, ._581 + 4 @ gBattle_BG1_X\n" " strh r1, [r0]\n" " bl debug_sub_8011E5C\n" " bl debug_sub_8011E74\n" - " ldr r0, ._581 + 8\n" + " ldr r0, ._581 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2107,12 +2107,12 @@ void debug_sub_8010CAC() "._577:\n" " bl debug_sub_80125A0\n" "._572:\n" - " ldr r0, ._581 + 12\n" + " ldr r0, ._581 + 12 @ gMain\n" " ldrh r0, [r0, #0x2a]\n" " cmp r0, #0x10\n" " bne ._578 @cond_branch\n" " bl debug_sub_80125E4\n" - " ldr r2, ._581 + 16\n" + " ldr r2, ._581 + 16 @ gUnknown_Debug_030043A0\n" " ldrb r0, [r2]\n" " cmp r0, #0x4\n" " beq ._579 @cond_branch\n" @@ -2128,21 +2128,21 @@ void debug_sub_8010CAC() " .word gMain\n" " .word gUnknown_Debug_030043A0\n" "._579:\n" - " ldr r3, ._587\n" + " ldr r3, ._587 @ gUnknown_Debug_03004360\n" " ldrb r1, [r3]\n" " cmp r1, #0\n" " bne ._583 @cond_branch\n" " mov r0, #0x1\n" " strb r0, [r3]\n" " strb r1, [r2]\n" - " ldr r1, ._587 + 4\n" + " ldr r1, ._587 + 4 @ gBattle_BG1_X\n" " mov r2, #0x80\n" " lsl r2, r2, #0x1\n" " add r0, r2, #0\n" " strh r0, [r1]\n" " bl debug_sub_8011E5C\n" " bl debug_sub_8011E74\n" - " ldr r0, ._587 + 8\n" + " ldr r0, ._587 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2152,7 +2152,7 @@ void debug_sub_8010CAC() "._583:\n" " bl debug_sub_80125A0\n" "._578:\n" - " ldr r0, ._587 + 12\n" + " ldr r0, ._587 + 12 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x2\n" " and r0, r0, r1\n" @@ -2160,9 +2160,9 @@ void debug_sub_8010CAC() " bne ._584 @cond_branch\n" " b ._607\n" "._584:\n" - " ldr r0, ._587 + 16\n" + " ldr r0, ._587 + 16 @ gUnknown_Debug_030043A0\n" " ldrb r2, [r0]\n" - " ldr r0, ._587 + 8\n" + " ldr r0, ._587 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2171,7 +2171,7 @@ void debug_sub_8010CAC() " cmp r0, #0x4\n" " bhi ._586 @cond_branch\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._587 + 20\n" + " ldr r1, ._587 + 20 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -2194,7 +2194,7 @@ void debug_sub_8010CAC() " bl debug_sub_8010818\n" " b ._595\n" "._592:\n" - " ldr r1, ._597\n" + " ldr r1, ._597 @ gUnknown_Debug_2023A76\n" " mov r0, #0x1f\n" " mov r2, #0xec\n" " bl debug_sub_80132C8\n" @@ -2203,7 +2203,7 @@ void debug_sub_8010CAC() " bl debug_sub_8011E74\n" " bl debug_sub_8012540\n" " bl debug_nullsub_3\n" - " ldr r0, ._597 + 4\n" + " ldr r0, ._597 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2217,7 +2217,7 @@ void debug_sub_8010CAC() " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A4\n" "._593:\n" - " ldr r1, ._600\n" + " ldr r1, ._600 @ gUnknown_Debug_2023A76\n" " mov r0, #0x1f\n" " mov r2, #0xec\n" " bl debug_sub_8013294\n" @@ -2227,7 +2227,7 @@ void debug_sub_8010CAC() "._600:\n" " .word gUnknown_Debug_2023A76\n" "._594:\n" - " ldr r3, ._604\n" + " ldr r3, ._604 @ gUnknown_Debug_2023A76\n" " add r2, r3, #0\n" " add r2, r2, #0x44\n" " ldrh r1, [r2]\n" @@ -2259,8 +2259,8 @@ void debug_sub_8010CAC() "._590:\n" " mov r0, #0x0\n" " bl debug_sub_8010B80\n" - " ldr r2, ._608\n" - " ldr r0, ._608 + 4\n" + " ldr r2, ._608 @ gUnknown_Debug_030043A0\n" + " ldr r0, ._608 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2284,16 +2284,16 @@ void debug_sub_8010CAC() " bl debug_sub_8010AAC\n" " b ._613\n" "._611:\n" - " ldr r6, ._618\n" - " ldr r5, ._618 + 4\n" - " ldr r4, ._618 + 8\n" + " ldr r6, ._618 @ gUnknown_Debug_2023A76\n" + " ldr r5, ._618 + 4 @ gUnknown_Debug_030043A0\n" + " ldr r4, ._618 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r0, [r4]\n" " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " ldrb r0, [r5]\n" " add r1, r1, r0\n" " lsl r1, r1, #0x1\n" - " ldr r2, ._618 + 12\n" + " ldr r2, ._618 + 12 @ gUnknown_Debug_03004360\n" " ldrb r0, [r2]\n" " mov r3, #0x46\n" " mul r0, r0, r3\n" @@ -2314,7 +2314,7 @@ void debug_sub_8010CAC() " add r3, r0, r6\n" " mov r4, #0x0\n" " ldsh r2, [r3, r4]\n" - " ldr r4, ._618 + 16\n" + " ldr r4, ._618 + 16 @ gUnknown_Debug_821F424\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" " lsl r1, r0, #0x1\n" @@ -2329,13 +2329,13 @@ void debug_sub_8010CAC() " ldrh r0, [r0]\n" " strh r0, [r3]\n" "._613:\n" - " ldr r5, ._618 + 4\n" + " ldr r5, ._618 + 4 @ gUnknown_Debug_030043A0\n" " ldrb r0, [r5]\n" " cmp r0, #0\n" " bne ._614 @cond_branch\n" " mov r0, #0x0\n" " bl debug_sub_8010AAC\n" - " ldr r0, ._618 + 8\n" + " ldr r0, ._618 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2344,7 +2344,7 @@ void debug_sub_8010CAC() " lsr r0, r0, #0x18\n" " bl debug_sub_8011EA0\n" "._614:\n" - " ldr r4, ._618 + 8\n" + " ldr r4, ._618 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r4]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2360,7 +2360,7 @@ void debug_sub_8010CAC() " lsr r0, r0, #0x18\n" " bl debug_sub_80123D8\n" "._607:\n" - " ldr r0, ._618 + 20\n" + " ldr r0, ._618 + 20 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -2368,9 +2368,9 @@ void debug_sub_8010CAC() " bne ._615 @cond_branch\n" " b ._638\n" "._615:\n" - " ldr r0, ._618 + 4\n" + " ldr r0, ._618 + 4 @ gUnknown_Debug_030043A0\n" " ldrb r2, [r0]\n" - " ldr r0, ._618 + 8\n" + " ldr r0, ._618 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2379,7 +2379,7 @@ void debug_sub_8010CAC() " cmp r0, #0x4\n" " bhi ._617 @cond_branch\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._618 + 24\n" + " ldr r1, ._618 + 24 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -2403,7 +2403,7 @@ void debug_sub_8010CAC() " bl debug_sub_8010818\n" " b ._626\n" "._623:\n" - " ldr r1, ._628\n" + " ldr r1, ._628 @ gUnknown_Debug_2023A76\n" " mov r0, #0x1f\n" " mov r2, #0xec\n" " bl debug_sub_80132C8\n" @@ -2412,7 +2412,7 @@ void debug_sub_8010CAC() " bl debug_sub_8011E74\n" " bl debug_sub_8012540\n" " bl debug_nullsub_3\n" - " ldr r0, ._628 + 4\n" + " ldr r0, ._628 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2426,7 +2426,7 @@ void debug_sub_8010CAC() " .word gUnknown_Debug_2023A76\n" " .word gUnknown_Debug_030043A4\n" "._624:\n" - " ldr r1, ._631\n" + " ldr r1, ._631 @ gUnknown_Debug_2023A76\n" " mov r0, #0x1f\n" " mov r2, #0xec\n" " bl debug_sub_8013294\n" @@ -2436,7 +2436,7 @@ void debug_sub_8010CAC() "._631:\n" " .word gUnknown_Debug_2023A76\n" "._625:\n" - " ldr r3, ._635\n" + " ldr r3, ._635 @ gUnknown_Debug_2023A76\n" " add r2, r3, #0\n" " add r2, r2, #0x44\n" " ldrh r1, [r2]\n" @@ -2468,8 +2468,8 @@ void debug_sub_8010CAC() "._621:\n" " mov r0, #0x1\n" " bl debug_sub_8010B80\n" - " ldr r2, ._639\n" - " ldr r0, ._639 + 4\n" + " ldr r2, ._639 @ gUnknown_Debug_030043A0\n" + " ldr r0, ._639 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2493,16 +2493,16 @@ void debug_sub_8010CAC() " bl debug_sub_8010AAC\n" " b ._644\n" "._642:\n" - " ldr r6, ._650\n" - " ldr r5, ._650 + 4\n" - " ldr r4, ._650 + 8\n" + " ldr r6, ._650 @ gUnknown_Debug_2023A76\n" + " ldr r5, ._650 + 4 @ gUnknown_Debug_030043A0\n" + " ldr r4, ._650 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r0, [r4]\n" " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " ldrb r0, [r5]\n" " add r1, r1, r0\n" " lsl r1, r1, #0x1\n" - " ldr r2, ._650 + 12\n" + " ldr r2, ._650 + 12 @ gUnknown_Debug_03004360\n" " ldrb r0, [r2]\n" " mov r3, #0x46\n" " mul r0, r0, r3\n" @@ -2523,7 +2523,7 @@ void debug_sub_8010CAC() " add r3, r0, r6\n" " mov r4, #0x0\n" " ldsh r2, [r3, r4]\n" - " ldr r4, ._650 + 16\n" + " ldr r4, ._650 + 16 @ gUnknown_Debug_821F424\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" " lsl r1, r0, #0x1\n" @@ -2538,13 +2538,13 @@ void debug_sub_8010CAC() " ldrh r0, [r0]\n" " strh r0, [r3]\n" "._644:\n" - " ldr r5, ._650 + 4\n" + " ldr r5, ._650 + 4 @ gUnknown_Debug_030043A0\n" " ldrb r0, [r5]\n" " cmp r0, #0\n" " bne ._645 @cond_branch\n" " mov r0, #0x0\n" " bl debug_sub_8010AAC\n" - " ldr r0, ._650 + 8\n" + " ldr r0, ._650 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2553,7 +2553,7 @@ void debug_sub_8010CAC() " lsr r0, r0, #0x18\n" " bl debug_sub_8011EA0\n" "._645:\n" - " ldr r4, ._650 + 8\n" + " ldr r4, ._650 + 8 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r4]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2569,16 +2569,16 @@ void debug_sub_8010CAC() " lsr r0, r0, #0x18\n" " bl debug_sub_80123D8\n" "._638:\n" - " ldr r0, ._650 + 20\n" + " ldr r0, ._650 + 20 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x80\n" " lsl r0, r0, #0x2\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._646 @cond_branch\n" - " ldr r0, ._650 + 4\n" + " ldr r0, ._650 + 4 @ gUnknown_Debug_030043A0\n" " ldrb r1, [r0]\n" - " ldr r2, ._650 + 8\n" + " ldr r2, ._650 + 8 @ gUnknown_Debug_030043A4\n" " mov r8, r2\n" " add r7, r0, #0\n" " cmp r1, #0x4\n" @@ -2611,9 +2611,9 @@ void debug_sub_8010CAC() " bl debug_sub_8010B80\n" " b ._653\n" "._652:\n" - " ldr r4, ._655\n" + " ldr r4, ._655 @ gUnknown_Debug_2023A76\n" " lsl r1, r0, #0x1\n" - " ldr r3, ._655 + 4\n" + " ldr r3, ._655 + 4 @ gUnknown_Debug_03004360\n" " ldrb r2, [r3]\n" " mov r0, #0x46\n" " mul r0, r0, r2\n" @@ -2623,7 +2623,7 @@ void debug_sub_8010CAC() " sub r0, r0, #0xa\n" " strh r0, [r1]\n" " add r6, r3, #0\n" - " ldr r5, ._655 + 8\n" + " ldr r5, ._655 + 8 @ gUnknown_Debug_821F424\n" " b ._654\n" "._656:\n" " .align 2, 0\n" @@ -2663,13 +2663,13 @@ void debug_sub_8010CAC() " cmp r2, r0\n" " blt ._657 @cond_branch\n" "._653:\n" - " ldr r5, ._663\n" + " ldr r5, ._663 @ gUnknown_Debug_030043A0\n" " ldrb r0, [r5]\n" " cmp r0, #0\n" " bne ._658 @cond_branch\n" " mov r0, #0x0\n" " bl debug_sub_8010AAC\n" - " ldr r0, ._663 + 4\n" + " ldr r0, ._663 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2678,7 +2678,7 @@ void debug_sub_8010CAC() " lsr r0, r0, #0x18\n" " bl debug_sub_8011EA0\n" "._658:\n" - " ldr r4, ._663 + 4\n" + " ldr r4, ._663 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r4]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2694,16 +2694,16 @@ void debug_sub_8010CAC() " lsr r0, r0, #0x18\n" " bl debug_sub_80123D8\n" "._646:\n" - " ldr r0, ._663 + 8\n" + " ldr r0, ._663 + 8 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._659 @cond_branch\n" - " ldr r0, ._663\n" + " ldr r0, ._663 @ gUnknown_Debug_030043A0\n" " ldrb r1, [r0]\n" - " ldr r2, ._663 + 4\n" + " ldr r2, ._663 + 4 @ gUnknown_Debug_030043A4\n" " mov r8, r2\n" " add r7, r0, #0\n" " cmp r1, #0x4\n" @@ -2733,9 +2733,9 @@ void debug_sub_8010CAC() " bl debug_sub_8010B80\n" " b ._666\n" "._665:\n" - " ldr r4, ._668\n" + " ldr r4, ._668 @ gUnknown_Debug_2023A76\n" " lsl r1, r0, #0x1\n" - " ldr r3, ._668 + 4\n" + " ldr r3, ._668 + 4 @ gUnknown_Debug_03004360\n" " ldrb r2, [r3]\n" " mov r0, #0x46\n" " mul r0, r0, r2\n" @@ -2745,7 +2745,7 @@ void debug_sub_8010CAC() " add r0, r0, #0xa\n" " strh r0, [r1]\n" " add r6, r3, #0\n" - " ldr r5, ._668 + 8\n" + " ldr r5, ._668 + 8 @ gUnknown_Debug_821F424\n" " b ._667\n" "._669:\n" " .align 2, 0\n" @@ -2781,13 +2781,13 @@ void debug_sub_8010CAC() " cmp r2, r1\n" " bgt ._670 @cond_branch\n" "._666:\n" - " ldr r5, ._672\n" + " ldr r5, ._672 @ gUnknown_Debug_030043A0\n" " ldrb r0, [r5]\n" " cmp r0, #0\n" " bne ._671 @cond_branch\n" " mov r0, #0x0\n" " bl debug_sub_8010AAC\n" - " ldr r0, ._672 + 4\n" + " ldr r0, ._672 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2796,7 +2796,7 @@ void debug_sub_8010CAC() " lsr r0, r0, #0x18\n" " bl debug_sub_8011EA0\n" "._671:\n" - " ldr r4, ._672 + 4\n" + " ldr r4, ._672 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r4]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2838,8 +2838,8 @@ void debug_sub_8011498() " mov r6, r9\n" " mov r5, r8\n" " push {r5, r6, r7}\n" - " ldr r2, ._687\n" - " ldr r0, ._687 + 4\n" + " ldr r2, ._687 @ gUnknown_Debug_030043A0\n" + " ldr r0, ._687 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -2848,7 +2848,7 @@ void debug_sub_8011498() " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " mov r9, r0\n" - " ldr r4, ._687 + 8\n" + " ldr r4, ._687 + 8 @ gMain\n" " ldrh r1, [r4, #0x28]\n" " mov r0, #0x81\n" " lsl r0, r0, #0x2\n" @@ -2860,7 +2860,7 @@ void debug_sub_8011498() " cmp r0, #0x4\n" " bne ._675 @cond_branch\n" " bl debug_sub_8012658\n" - " ldr r0, ._687 + 12\n" + " ldr r0, ._687 + 12 @ debug_sub_8010CAC\n" " bl SetMainCallback2\n" "._675:\n" " ldrh r0, [r4, #0x2a]\n" @@ -2875,14 +2875,14 @@ void debug_sub_8011498() " bne ._678 @cond_branch\n" "._677:\n" " bl debug_sub_8012658\n" - " ldr r0, ._687 + 16\n" + " ldr r0, ._687 + 16 @ gUnknown_Debug_030043A8\n" " ldrb r1, [r0]\n" " mov r2, #0x2\n" " eor r1, r1, r2\n" " strb r1, [r0]\n" " bl debug_sub_8012628\n" "._678:\n" - " ldr r0, ._687 + 8\n" + " ldr r0, ._687 + 8 @ gMain\n" " ldrh r0, [r0, #0x2a]\n" " cmp r0, #0x20\n" " beq ._679 @cond_branch\n" @@ -2890,22 +2890,22 @@ void debug_sub_8011498() " bne ._680 @cond_branch\n" "._679:\n" " bl debug_sub_8012658\n" - " ldr r0, ._687 + 16\n" + " ldr r0, ._687 + 16 @ gUnknown_Debug_030043A8\n" " ldrb r1, [r0]\n" " mov r2, #0x1\n" " eor r1, r1, r2\n" " strb r1, [r0]\n" " bl debug_sub_8012628\n" "._680:\n" - " ldr r0, ._687 + 8\n" + " ldr r0, ._687 + 8 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x2\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._681 @cond_branch\n" - " ldr r0, ._687 + 20\n" + " ldr r0, ._687 + 20 @ gUnknown_Debug_2023B02\n" " mov r8, r0\n" - " ldr r6, ._687 + 16\n" + " ldr r6, ._687 + 16 @ gUnknown_Debug_030043A8\n" " ldrb r4, [r6]\n" " lsl r4, r4, #0x1\n" " mov r0, r9\n" @@ -2914,7 +2914,7 @@ void debug_sub_8011498() " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" - " ldr r5, ._687 + 24\n" + " ldr r5, ._687 + 24 @ gUnknown_Debug_03004360\n" " ldrb r2, [r5]\n" " lsl r1, r2, #0x1\n" " add r1, r1, r2\n" @@ -2936,7 +2936,7 @@ void debug_sub_8011498() " add r4, r1, r0\n" " mov r0, #0x0\n" " ldsh r1, [r4, r0]\n" - " ldr r5, ._687 + 28\n" + " ldr r5, ._687 + 28 @ gUnknown_Debug_821F564\n" " lsl r0, r3, #0x2\n" " add r0, r0, r3\n" " lsl r2, r0, #0x1\n" @@ -2953,15 +2953,15 @@ void debug_sub_8011498() "._682:\n" " bl debug_sub_8012294\n" "._681:\n" - " ldr r0, ._687 + 8\n" + " ldr r0, ._687 + 8 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._683 @cond_branch\n" - " ldr r1, ._687 + 20\n" + " ldr r1, ._687 + 20 @ gUnknown_Debug_2023B02\n" " mov r8, r1\n" - " ldr r6, ._687 + 16\n" + " ldr r6, ._687 + 16 @ gUnknown_Debug_030043A8\n" " ldrb r4, [r6]\n" " lsl r4, r4, #0x1\n" " mov r0, r9\n" @@ -2970,7 +2970,7 @@ void debug_sub_8011498() " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" - " ldr r5, ._687 + 24\n" + " ldr r5, ._687 + 24 @ gUnknown_Debug_03004360\n" " ldrb r2, [r5]\n" " lsl r1, r2, #0x1\n" " add r1, r1, r2\n" @@ -2992,7 +2992,7 @@ void debug_sub_8011498() " add r4, r1, r0\n" " mov r0, #0x0\n" " ldsh r1, [r4, r0]\n" - " ldr r5, ._687 + 28\n" + " ldr r5, ._687 + 28 @ gUnknown_Debug_821F564\n" " lsl r0, r3, #0x2\n" " add r0, r0, r3\n" " lsl r2, r0, #0x1\n" @@ -3009,15 +3009,15 @@ void debug_sub_8011498() "._684:\n" " bl debug_sub_8012294\n" "._683:\n" - " ldr r0, ._687 + 8\n" + " ldr r0, ._687 + 8 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x80\n" " lsl r0, r0, #0x2\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._685 @cond_branch\n" - " ldr r6, ._687 + 20\n" - " ldr r5, ._687 + 16\n" + " ldr r6, ._687 + 20 @ gUnknown_Debug_2023B02\n" + " ldr r5, ._687 + 16 @ gUnknown_Debug_030043A8\n" " ldrb r4, [r5]\n" " lsl r4, r4, #0x1\n" " mov r0, r9\n" @@ -3026,7 +3026,7 @@ void debug_sub_8011498() " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" - " ldr r2, ._687 + 24\n" + " ldr r2, ._687 + 24 @ gUnknown_Debug_03004360\n" " ldrb r1, [r2]\n" " lsl r0, r1, #0x1\n" " add r0, r0, r1\n" @@ -3039,7 +3039,7 @@ void debug_sub_8011498() " mov sl, r5\n" " mov r8, r6\n" " add r7, r2, #0\n" - " ldr r6, ._687 + 28\n" + " ldr r6, ._687 + 28 @ gUnknown_Debug_821F564\n" " b ._686\n" "._688:\n" " .align 2, 0\n" @@ -3088,15 +3088,15 @@ void debug_sub_8011498() " blt ._689 @cond_branch\n" " bl debug_sub_8012294\n" "._685:\n" - " ldr r0, ._692\n" + " ldr r0, ._692 @ gMain\n" " ldrh r1, [r0, #0x30]\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._690 @cond_branch\n" - " ldr r6, ._692 + 4\n" - " ldr r5, ._692 + 8\n" + " ldr r6, ._692 + 4 @ gUnknown_Debug_2023B02\n" + " ldr r5, ._692 + 8 @ gUnknown_Debug_030043A8\n" " ldrb r4, [r5]\n" " lsl r4, r4, #0x1\n" " mov r0, r9\n" @@ -3105,7 +3105,7 @@ void debug_sub_8011498() " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x15\n" " add r4, r4, r0\n" - " ldr r2, ._692 + 12\n" + " ldr r2, ._692 + 12 @ gUnknown_Debug_03004360\n" " ldrb r1, [r2]\n" " lsl r0, r1, #0x1\n" " add r0, r0, r1\n" @@ -3118,7 +3118,7 @@ void debug_sub_8011498() " mov sl, r5\n" " mov r8, r6\n" " add r7, r2, #0\n" - " ldr r6, ._692 + 16\n" + " ldr r6, ._692 + 16 @ gUnknown_Debug_821F564\n" " b ._691\n" "._693:\n" " .align 2, 0\n" @@ -3185,7 +3185,7 @@ void debug_sub_801174C() " add sp, sp, #0xffffffe8\n" " mov r0, #0x0\n" " mov r9, r0\n" - " ldr r1, ._704\n" + " ldr r1, ._704 @ gUnknown_020297ED\n" " mov r0, #0x1\n" " strb r0, [r1]\n" " bl Random\n" @@ -3196,11 +3196,11 @@ void debug_sub_801174C() " and r4, r4, r0\n" " lsl r4, r4, #0x18\n" " lsr r6, r4, #0x18\n" - " ldr r5, ._704 + 4\n" + " ldr r5, ._704 + 4 @ gSaveBlock2\n" " lsl r1, r6, #0x1\n" " add r1, r1, r6\n" " lsl r1, r1, #0x1\n" - " ldr r0, ._704 + 8\n" + " ldr r0, ._704 + 8 @ str_821F631\n" " add r1, r1, r0\n" " add r0, r5, #0\n" " bl StringCopy\n" @@ -3208,7 +3208,7 @@ void debug_sub_801174C() " strb r4, [r5, #0x8]\n" " bl ZeroPlayerPartyMons\n" " bl ZeroEnemyPartyMons\n" - " ldr r0, ._704 + 12\n" + " ldr r0, ._704 + 12 @ gUnknown_Debug_2023A76\n" " mov r1, #0x3c\n" " ldsh r7, [r0, r1]\n" " mov r2, r9\n" @@ -3223,17 +3223,17 @@ void debug_sub_801174C() " bgt ._696 @cond_branch\n" " str r0, [sp, #0xc]\n" "._695:\n" - " ldr r2, ._704 + 16\n" - " ldr r1, ._704 + 20\n" + " ldr r2, ._704 + 16 @ gBattleTypeFlags\n" + " ldr r1, ._704 + 20 @ gUnknown_Debug_821F598\n" " sub r0, r7, #1\n" " lsl r0, r0, #0x1\n" " add r0, r0, r1\n" " ldrh r3, [r0]\n" " strh r3, [r2]\n" - " ldr r1, ._704 + 24\n" + " ldr r1, ._704 + 24 @ gUnknown_02023A14_50\n" " mov r0, #0x8\n" " strb r0, [r1]\n" - " ldr r1, ._704 + 28\n" + " ldr r1, ._704 + 28 @ gBattleTerrain\n" " add r0, sp, #0xc\n" " ldrb r0, [r0]\n" " strb r0, [r1]\n" @@ -3243,27 +3243,27 @@ void debug_sub_801174C() " beq ._697 @cond_branch\n" " bl EnterSafariMode\n" "._697:\n" - " ldr r5, ._704 + 12\n" + " ldr r5, ._704 + 12 @ gUnknown_Debug_2023A76\n" " ldrh r0, [r5, #0x3c]\n" " sub r0, r0, #0x2\n" " lsl r0, r0, #0x10\n" " lsr r0, r0, #0x10\n" " cmp r0, #0x2\n" " bhi ._698 @cond_branch\n" - " ldr r4, ._704 + 32\n" + " ldr r4, ._704 + 32 @ gTrainerBattleOpponent\n" " bl Random\n" " mov r1, #0x7\n" " and r1, r1, r0\n" " add r1, r1, #0x1\n" " strh r1, [r4]\n" "._698:\n" - " ldr r1, ._704 + 36\n" + " ldr r1, ._704 + 36 @ gPlayerPartyCount\n" " mov r0, #0x0\n" " strb r0, [r1]\n" " mov r7, #0x0\n" "._745:\n" " lsl r0, r7, #0x1\n" - " ldr r3, ._704 + 12\n" + " ldr r3, ._704 + 12 @ gUnknown_Debug_2023A76\n" " add r1, r0, r3\n" " mov r2, #0x0\n" " ldsh r1, [r1, r2]\n" @@ -3339,14 +3339,14 @@ void debug_sub_801174C() " bl __divsi3\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" - " ldr r1, ._719\n" + " ldr r1, ._719 @ gEnemyParty\n" " add r0, r0, r1\n" - " ldr r1, ._719 + 4\n" + " ldr r1, ._719 + 4 @ gUnknown_Debug_2023A76\n" " add r1, r1, r8\n" " ldrh r1, [r1]\n" " add r2, r7, #1\n" " lsl r2, r2, #0x1\n" - " ldr r3, ._719 + 4\n" + " ldr r3, ._719 + 4 @ gUnknown_Debug_2023A76\n" " add r2, r2, r3\n" " ldrb r2, [r2]\n" " str r6, [sp]\n" @@ -3363,9 +3363,9 @@ void debug_sub_801174C() " mov r2, #0x64\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" - " ldr r0, ._719\n" + " ldr r0, ._719 @ gEnemyParty\n" " add r5, r1, r0\n" - " ldr r4, ._719 + 8\n" + " ldr r4, ._719 + 8 @ gUnknown_Debug_2023A7A\n" " mov r3, r8\n" " add r6, r3, r4\n" " add r0, r5, #0\n" @@ -3421,19 +3421,19 @@ void debug_sub_801174C() " bl __divsi3\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" - " ldr r1, ._726\n" + " ldr r1, ._726 @ gEnemyParty\n" " add r0, r0, r1\n" " mov r1, #0x2e\n" " add r2, sp, #0xc\n" " bl SetMonData\n" "._716:\n" - " ldr r1, ._726 + 4\n" + " ldr r1, ._726 + 4 @ gUnknown_Debug_2023A76\n" " add r1, r1, #0x46\n" " mov r2, r8\n" " add r0, r2, r1\n" " mov r3, #0x0\n" " ldsh r0, [r0, r3]\n" - " ldr r2, ._726 + 4\n" + " ldr r2, ._726 + 4 @ gUnknown_Debug_2023A76\n" " cmp r0, #0\n" " beq ._721 @cond_branch\n" " add r0, r7, #4\n" @@ -3494,14 +3494,14 @@ void debug_sub_801174C() " bl __divsi3\n" " mov r2, #0x64\n" " mul r0, r0, r2\n" - " ldr r1, ._741\n" + " ldr r1, ._741 @ gPlayerParty\n" " add r0, r0, r1\n" - " ldr r1, ._741 + 4\n" + " ldr r1, ._741 + 4 @ gUnknown_Debug_2023ABC\n" " add r1, r1, r8\n" " ldrh r1, [r1]\n" " add r2, r7, #1\n" " lsl r2, r2, #0x1\n" - " ldr r3, ._741 + 4\n" + " ldr r3, ._741 + 4 @ gUnknown_Debug_2023ABC\n" " add r2, r2, r3\n" " ldrb r2, [r2]\n" " str r6, [sp]\n" @@ -3511,7 +3511,7 @@ void debug_sub_801174C() " str r3, [sp, #0x8]\n" " mov r3, #0x0\n" " bl CreateMonWithGenderNatureLetter\n" - " ldr r1, ._741 + 8\n" + " ldr r1, ._741 + 8 @ gPlayerPartyCount\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" @@ -3522,9 +3522,9 @@ void debug_sub_801174C() " mov r2, #0x64\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" - " ldr r0, ._741\n" + " ldr r0, ._741 @ gPlayerParty\n" " add r4, r1, r0\n" - " ldr r0, ._741 + 12\n" + " ldr r0, ._741 + 12 @ gUnknown_Debug_2023AC0\n" " mov r3, r8\n" " add r5, r3, r0\n" " add r0, r4, #0\n" @@ -3533,7 +3533,7 @@ void debug_sub_801174C() " bl SetMonData\n" " ldr r1, [sp, #0x10]\n" " lsl r0, r1, #0x1\n" - " ldr r2, ._741 + 16\n" + " ldr r2, ._741 + 16 @ gUnknown_Debug_2023A76\n" " add r0, r0, r2\n" " ldrh r0, [r0]\n" " sub r0, r0, #0x1\n" @@ -3548,7 +3548,7 @@ void debug_sub_801174C() "._736:\n" " ldr r3, [sp, #0x14]\n" " lsl r0, r3, #0x1\n" - " ldr r1, ._741 + 4\n" + " ldr r1, ._741 + 4 @ gUnknown_Debug_2023ABC\n" " add r0, r0, r1\n" " mov r2, #0x0\n" " ldsh r1, [r0, r2]\n" @@ -3580,7 +3580,7 @@ void debug_sub_801174C() " bl __divsi3\n" " mov r2, #0x64\n" " mul r0, r0, r2\n" - " ldr r1, ._750\n" + " ldr r1, ._750 @ gPlayerParty\n" " add r0, r0, r1\n" " mov r1, #0x2e\n" " add r2, sp, #0xc\n" @@ -3588,7 +3588,7 @@ void debug_sub_801174C() "._738:\n" " ldr r3, [sp, #0x14]\n" " lsl r0, r3, #0x1\n" - " ldr r1, ._750 + 4\n" + " ldr r1, ._750 + 4 @ gUnknown_Debug_2023ABC\n" " add r0, r0, r1\n" " mov r2, #0x0\n" " ldsh r0, [r0, r2]\n" @@ -3599,12 +3599,12 @@ void debug_sub_801174C() " bl __divsi3\n" " mov r3, #0x64\n" " mul r0, r0, r3\n" - " ldr r1, ._750\n" + " ldr r1, ._750 @ gPlayerParty\n" " add r0, r0, r1\n" " mov r1, #0x7\n" - " ldr r2, ._750 + 8\n" + " ldr r2, ._750 + 8 @ Str_821F649\n" " bl SetMonData\n" - " ldr r2, ._750 + 12\n" + " ldr r2, ._750 + 12 @ gUnknown_02023A14_50\n" " ldrb r0, [r2]\n" " mov r1, #0x40\n" " orr r0, r0, r1\n" @@ -3619,9 +3619,9 @@ void debug_sub_801174C() " str r0, [sp, #0xc]\n" " mov r0, #0x64\n" " mov r8, r0\n" - " ldr r1, ._750 + 16\n" + " ldr r1, ._750 + 16 @ gUnknown_Debug_2023B02\n" " mov r9, r1\n" - " ldr r2, ._750\n" + " ldr r2, ._750 @ gPlayerParty\n" " mov sl, r2\n" "._747:\n" " mov r7, #0x0\n" @@ -3629,7 +3629,7 @@ void debug_sub_801174C() " ldr r2, [sp, #0xc]\n" " mov r0, r8\n" " mul r0, r0, r2\n" - " ldr r3, ._750 + 20\n" + " ldr r3, ._750 + 20 @ gEnemyParty\n" " add r0, r0, r3\n" " add r5, r7, #0\n" " add r5, r5, #0xd\n" @@ -3643,7 +3643,7 @@ void debug_sub_801174C() " ldr r1, [sp, #0xc]\n" " mov r0, r8\n" " mul r0, r0, r1\n" - " ldr r2, ._750 + 20\n" + " ldr r2, ._750 + 20 @ gEnemyParty\n" " add r0, r0, r2\n" " add r6, r7, #0\n" " add r6, r6, #0x11\n" @@ -3655,7 +3655,7 @@ void debug_sub_801174C() " lsl r2, r1, #0x1\n" " add r2, r2, r1\n" " lsl r2, r2, #0x2\n" - " ldr r1, ._750 + 24\n" + " ldr r1, ._750 + 24 @ gBattleMoves\n" " add r2, r2, r1\n" " add r1, r6, #0\n" " bl SetMonData\n" @@ -3664,7 +3664,7 @@ void debug_sub_801174C() " mul r0, r0, r2\n" " add r0, r0, sl\n" " lsl r2, r2, #0x3\n" - " ldr r3, ._750 + 28\n" + " ldr r3, ._750 + 28 @ gUnknown_Debug_2023B32\n" " add r1, r4, r3\n" " add r2, r2, r1\n" " add r1, r5, #0\n" @@ -3675,14 +3675,14 @@ void debug_sub_801174C() " add r0, r0, sl\n" " lsl r1, r1, #0x3\n" " add r4, r4, r1\n" - " ldr r1, ._750 + 28\n" + " ldr r1, ._750 + 28 @ gUnknown_Debug_2023B32\n" " add r4, r4, r1\n" " mov r2, #0x0\n" " ldsh r1, [r4, r2]\n" " lsl r2, r1, #0x1\n" " add r2, r2, r1\n" " lsl r2, r2, #0x2\n" - " ldr r3, ._750 + 24\n" + " ldr r3, ._750 + 24 @ gBattleMoves\n" " add r2, r2, r3\n" " add r1, r6, #0\n" " bl SetMonData\n" @@ -3694,7 +3694,7 @@ void debug_sub_801174C() " str r0, [sp, #0xc]\n" " cmp r0, #0x5\n" " ble ._747 @cond_branch\n" - " ldr r3, ._750 + 32\n" + " ldr r3, ._750 + 32 @ gUnknown_Debug_2023A76\n" " add r4, r3, #0\n" " add r4, r4, #0x44\n" " ldrh r1, [r4]\n" @@ -3702,7 +3702,7 @@ void debug_sub_801174C() " ldsh r0, [r4, r2]\n" " cmp r0, #0x8\n" " bne ._748 @cond_branch\n" - " ldr r0, ._750 + 12\n" + " ldr r0, ._750 + 12 @ gUnknown_02023A14_50\n" " ldrb r1, [r0]\n" " mov r2, #0x80\n" " b ._753\n" @@ -3721,7 +3721,7 @@ void debug_sub_801174C() "._748:\n" " cmp r0, #0x7\n" " bne ._752 @cond_branch\n" - " ldr r0, ._754\n" + " ldr r0, ._754 @ gUnknown_02023A14_50\n" " ldrb r1, [r0]\n" " mov r2, #0x20\n" " b ._753\n" @@ -3732,7 +3732,7 @@ void debug_sub_801174C() "._752:\n" " cmp r0, #0x6\n" " bne ._756 @cond_branch\n" - " ldr r2, ._759\n" + " ldr r2, ._759 @ gUnknown_02023A14_50\n" " ldrb r0, [r2]\n" " mov r1, #0x10\n" " orr r0, r0, r1\n" @@ -3742,9 +3742,9 @@ void debug_sub_801174C() " ldsh r0, [r3, r2]\n" " cmp r0, #0x5\n" " ble ._757 @cond_branch\n" - " ldr r0, ._759 + 4\n" + " ldr r0, ._759 + 4 @ gSharedMem\n" " sub r1, r1, #0x2\n" - " ldr r3, ._759 + 8\n" + " ldr r3, ._759 + 8 @ 0x160a3\n" " add r0, r0, r3\n" " b ._761\n" "._760:\n" @@ -3754,8 +3754,8 @@ void debug_sub_801174C() " .word gSharedMem\n" " .word 0x160a3\n" "._757:\n" - " ldr r0, ._762\n" - " ldr r2, ._762 + 4\n" + " ldr r0, ._762 @ gSharedMem\n" + " ldr r2, ._762 + 4 @ 0x160a3\n" " add r0, r0, r2\n" " b ._761\n" "._763:\n" @@ -3766,7 +3766,7 @@ void debug_sub_801174C() "._756:\n" " cmp r0, #0x5\n" " bne ._764 @cond_branch\n" - " ldr r0, ._766\n" + " ldr r0, ._766 @ gUnknown_02023A14_50\n" " ldrb r1, [r0]\n" " mov r2, #0x21\n" "._753:\n" @@ -3791,7 +3791,7 @@ void debug_sub_801174C() " and r0, r0, r3\n" " cmp r0, #0\n" " beq ._769 @cond_branch\n" - " ldr r0, ._772\n" + " ldr r0, ._772 @ gUnknown_02023A14_50\n" " ldrb r1, [r0]\n" " mov r2, #0x4\n" " orr r1, r1, r2\n" @@ -3801,16 +3801,16 @@ void debug_sub_801174C() " and r0, r0, r3\n" " cmp r0, #0\n" " beq ._770 @cond_branch\n" - " ldr r0, ._772\n" + " ldr r0, ._772 @ gUnknown_02023A14_50\n" " ldrb r1, [r0]\n" " mov r2, #0x6\n" " orr r1, r1, r2\n" " strb r1, [r0]\n" "._770:\n" - " ldr r0, ._772 + 4\n" - " ldr r1, ._772 + 8\n" + " ldr r0, ._772 + 4 @ gMain\n" + " ldr r1, ._772 + 8 @ debug_sub_80108B8\n" " str r1, [r0, #0x8]\n" - " ldr r0, ._772 + 12\n" + " ldr r0, ._772 + 12 @ unref_sub_800D684\n" " bl SetMainCallback2\n" " bl ClearBag\n" " mov r0, #0x1\n" @@ -3888,7 +3888,7 @@ void debug_sub_801174C() " mov r0, #0x50\n" " mov r1, #0x63\n" " bl AddBagItem\n" - " ldr r4, ._772 + 16\n" + " ldr r4, ._772 + 16 @ gUnknown_Debug_821F5AC\n" " mov r7, #0xe\n" "._771:\n" " add r0, r4, #0\n" @@ -3995,7 +3995,7 @@ void debug_sub_8011EA0(u8 a) " b ._815\n" "._782:\n" " lsl r0, r7, #0x2\n" - " ldr r1, ._785\n" + " ldr r1, ._785 @ \n" " add r1, r0, r1\n" " ldr r1, [r1]\n" " str r0, [sp, #0x8]\n" @@ -4044,8 +4044,8 @@ void debug_sub_8011EA0(u8 a) " mov r0, #0x0\n" " mov r1, #0x14\n" " bl debug_sub_8010A7C\n" - " ldr r6, ._823\n" - " ldr r2, ._823 + 4\n" + " ldr r6, ._823 @ gBattleTextBuff1\n" + " ldr r2, ._823 + 4 @ gUnknown_Debug_821F424\n" " ldr r0, [sp, #0x8]\n" " add r1, r0, r7\n" " lsl r1, r1, #0x1\n" @@ -4061,17 +4061,17 @@ void debug_sub_8011EA0(u8 a) " ldrb r1, [r1]\n" " mov r9, r1\n" " str r1, [sp]\n" - " ldr r0, ._823 + 8\n" + " ldr r0, ._823 + 8 @ gUnknown_Debug_03004370\n" " add r1, r6, #0\n" " ldr r2, [sp, #0x4]\n" " mov r3, r8\n" " bl Text_InitWindow\n" - " ldr r0, ._823 + 8\n" + " ldr r0, ._823 + 8 @ gUnknown_Debug_03004370\n" " bl Text_PrintWindow8002F44\n" - " ldr r1, ._823 + 12\n" + " ldr r1, ._823 + 12 @ gUnknown_Debug_2023A76\n" " mov sl, r1\n" " lsl r4, r7, #0x1\n" - " ldr r5, ._823 + 16\n" + " ldr r5, ._823 + 16 @ gUnknown_Debug_03004360\n" " ldrb r0, [r5]\n" " mov r7, #0x46\n" " mul r0, r0, r7\n" @@ -4092,10 +4092,10 @@ void debug_sub_8011EA0(u8 a) " lsr r3, r3, #0x18\n" " mov r0, #0x0\n" " str r0, [sp]\n" - " ldr r0, ._823 + 8\n" + " ldr r0, ._823 + 8 @ gUnknown_Debug_03004370\n" " add r1, r6, #0\n" " bl Text_InitWindow\n" - " ldr r0, ._823 + 8\n" + " ldr r0, ._823 + 8 @ gUnknown_Debug_03004370\n" " bl Text_PrintWindow8002F44\n" " mov r0, #0xff\n" " strb r0, [r6]\n" @@ -4107,18 +4107,18 @@ void debug_sub_8011EA0(u8 a) " ldsh r1, [r4, r0]\n" " mov r0, #0xb\n" " mul r1, r1, r0\n" - " ldr r0, ._823 + 20\n" + " ldr r0, ._823 + 20 @ gSpeciesNames\n" " add r1, r1, r0\n" " add r0, r6, #0\n" " bl StringAppend\n" " mov r1, r9\n" " str r1, [sp]\n" - " ldr r0, ._823 + 8\n" + " ldr r0, ._823 + 8 @ gUnknown_Debug_03004370\n" " add r1, r6, #0\n" " ldr r2, [sp, #0x4]\n" " mov r3, r8\n" " bl Text_InitWindow\n" - " ldr r0, ._823 + 8\n" + " ldr r0, ._823 + 8 @ gUnknown_Debug_03004370\n" " bl Text_PrintWindow8002F44\n" " b ._848\n" "._824:\n" @@ -4131,10 +4131,10 @@ void debug_sub_8011EA0(u8 a) " .word gUnknown_Debug_03004360\n" " .word gSpeciesNames\n" "._817:\n" - " ldr r6, ._826\n" - " ldr r3, ._826 + 4\n" + " ldr r6, ._826 @ gBattleTextBuff1\n" + " ldr r3, ._826 + 4 @ gUnknown_Debug_2023A76\n" " lsl r1, r7, #0x1\n" - " ldr r0, ._826 + 8\n" + " ldr r0, ._826 + 8 @ gUnknown_Debug_03004360\n" " ldrb r2, [r0]\n" " mov r0, #0x46\n" " mul r0, r0, r2\n" @@ -4157,10 +4157,10 @@ void debug_sub_8011EA0(u8 a) " mov r0, #0x0\n" " mov r1, #0x18\n" " bl debug_sub_8010A7C\n" - " ldr r6, ._830\n" - " ldr r1, ._830 + 4\n" + " ldr r6, ._830 @ gUnknown_Debug_03004370\n" + " ldr r1, ._830 + 4 @ gBattleTextBuff1\n" " mov sl, r1\n" - " ldr r4, ._830 + 8\n" + " ldr r4, ._830 + 8 @ gUnknown_Debug_821F424\n" " ldr r2, [sp, #0x8]\n" " add r1, r2, r7\n" " lsl r1, r1, #0x1\n" @@ -4179,12 +4179,12 @@ void debug_sub_8011EA0(u8 a) " add r0, r6, #0\n" " bl Text_PrintWindow8002F44\n" " lsl r4, r7, #0x1\n" - " ldr r5, ._830 + 12\n" + " ldr r5, ._830 + 12 @ gUnknown_Debug_03004360\n" " ldrb r0, [r5]\n" " mov r1, #0x46\n" " mul r0, r0, r1\n" " add r0, r4, r0\n" - " ldr r2, ._830 + 16\n" + " ldr r2, ._830 + 16 @ gUnknown_Debug_2023A76\n" " add r0, r0, r2\n" " mov r2, #0x0\n" " ldsh r1, [r0, r2]\n" @@ -4213,7 +4213,7 @@ void debug_sub_8011EA0(u8 a) " mov r2, #0x46\n" " mul r0, r0, r2\n" " add r4, r4, r0\n" - " ldr r0, ._830 + 16\n" + " ldr r0, ._830 + 16 @ gUnknown_Debug_2023A76\n" " add r4, r4, r0\n" " mov r1, #0x0\n" " ldsh r0, [r4, r1]\n" @@ -4234,13 +4234,13 @@ void debug_sub_8011EA0(u8 a) " .word gUnknown_Debug_03004360\n" " .word gUnknown_Debug_2023A76\n" "._828:\n" - " ldr r1, ._833\n" + " ldr r1, ._833 @ Str_821F624\n" " mov r0, sl\n" " bl StringAppend\n" "._829:\n" - " ldr r6, ._833 + 4\n" - " ldr r1, ._833 + 8\n" - " ldr r5, ._833 + 12\n" + " ldr r6, ._833 + 4 @ gUnknown_Debug_03004370\n" + " ldr r1, ._833 + 8 @ gBattleTextBuff1\n" + " ldr r5, ._833 + 12 @ gUnknown_Debug_821F424\n" " ldr r2, [sp, #0x8]\n" " add r4, r2, r7\n" " lsl r4, r4, #0x1\n" @@ -4269,9 +4269,9 @@ void debug_sub_8011EA0(u8 a) " mov r0, #0x0\n" " mov r1, #0x4\n" " bl debug_sub_8010A7C\n" - " ldr r5, ._839\n" - " ldr r6, ._839 + 4\n" - " ldr r4, ._839 + 8\n" + " ldr r5, ._839 @ gUnknown_Debug_03004370\n" + " ldr r6, ._839 + 4 @ gBattleTextBuff1\n" + " ldr r4, ._839 + 8 @ gUnknown_Debug_821F424\n" " ldr r0, [sp, #0x8]\n" " add r1, r0, r7\n" " lsl r1, r1, #0x1\n" @@ -4290,9 +4290,9 @@ void debug_sub_8011EA0(u8 a) " add r0, r5, #0\n" " bl Text_PrintWindow8002F44\n" " mov r4, #0x0\n" - " ldr r3, ._839 + 12\n" + " ldr r3, ._839 + 12 @ gUnknown_Debug_2023A76\n" " lsl r1, r7, #0x1\n" - " ldr r0, ._839 + 16\n" + " ldr r0, ._839 + 16 @ gUnknown_Debug_03004360\n" " ldrb r2, [r0]\n" " mov r0, #0x46\n" " mul r0, r0, r2\n" @@ -4341,7 +4341,7 @@ void debug_sub_8011EA0(u8 a) " mov r4, #0x2\n" " b ._847\n" "._843:\n" - " ldr r2, ._849\n" + " ldr r2, ._849 @ gBattleTextBuff1\n" " add r1, r4, r2\n" " mov r0, #0xac\n" " strb r0, [r1]\n" @@ -4352,8 +4352,8 @@ void debug_sub_8011EA0(u8 a) " mov r0, #0xff\n" " strb r0, [r1]\n" "._825:\n" - " ldr r5, ._849 + 4\n" - " ldr r4, ._849 + 8\n" + " ldr r5, ._849 + 4 @ gUnknown_Debug_03004370\n" + " ldr r4, ._849 + 8 @ gUnknown_Debug_821F424\n" " ldr r0, [sp, #0x8]\n" " add r1, r0, r7\n" " lsl r1, r1, #0x1\n" @@ -4379,10 +4379,10 @@ void debug_sub_8011EA0(u8 a) " .word gUnknown_Debug_03004370\n" " .word gUnknown_Debug_821F424\n" "._815:\n" - " ldr r6, ._851\n" - " ldr r3, ._851 + 4\n" + " ldr r6, ._851 @ gBattleTextBuff1\n" + " ldr r3, ._851 + 4 @ gUnknown_Debug_2023A76\n" " lsl r1, r7, #0x1\n" - " ldr r0, ._851 + 8\n" + " ldr r0, ._851 + 8 @ gUnknown_Debug_03004360\n" " ldrb r2, [r0]\n" " mov r0, #0x46\n" " mul r0, r0, r2\n" @@ -4394,8 +4394,8 @@ void debug_sub_8011EA0(u8 a) " mov r2, #0x2\n" " mov r3, #0x1\n" " bl ConvertIntToDecimalStringN\n" - " ldr r5, ._851 + 12\n" - " ldr r4, ._851 + 16\n" + " ldr r5, ._851 + 12 @ gUnknown_Debug_03004370\n" + " ldr r4, ._851 + 16 @ gUnknown_Debug_821F424\n" " lsl r1, r7, #0x2\n" " add r1, r1, r7\n" " lsl r1, r1, #0x1\n" @@ -4444,8 +4444,8 @@ void debug_sub_8012294() " mov r5, r8\n" " push {r5, r6, r7}\n" " add sp, sp, #0xfffffffc\n" - " ldr r2, ._854\n" - " ldr r0, ._854 + 4\n" + " ldr r2, ._854 @ gUnknown_Debug_030043A0\n" + " ldr r0, ._854 + 4 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" @@ -4458,23 +4458,23 @@ void debug_sub_8012294() " mov r0, #0x0\n" " mov r1, #0x18\n" " bl debug_sub_8010A7C\n" - " ldr r0, ._854 + 8\n" + " ldr r0, ._854 + 8 @ gUnknown_Debug_03004370\n" " mov sl, r0\n" - " ldr r1, ._854 + 12\n" + " ldr r1, ._854 + 12 @ gBattleTextBuff1\n" " mov r9, r1\n" - " ldr r2, ._854 + 16\n" + " ldr r2, ._854 + 16 @ gUnknown_Debug_821F564\n" " mov r8, r2\n" - " ldr r7, ._854 + 20\n" + " ldr r7, ._854 + 20 @ gUnknown_Debug_030043A8\n" " ldrb r1, [r7]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" " lsl r0, r0, #0x1\n" " add r1, r0, r2\n" " ldrh r2, [r1]\n" - " ldr r3, ._854 + 24\n" + " ldr r3, ._854 + 24 @ gUnknown_Debug_821F566\n" " add r1, r0, r3\n" " ldrb r3, [r1]\n" - " ldr r1, ._854 + 28\n" + " ldr r1, ._854 + 28 @ gUnknown_Debug_821F568\n" " add r0, r0, r1\n" " ldrb r0, [r0]\n" " str r0, [sp]\n" @@ -4492,13 +4492,13 @@ void debug_sub_8012294() " lsl r5, r5, #0x18\n" " lsr r5, r5, #0x15\n" " add r4, r4, r5\n" - " ldr r6, ._854 + 32\n" + " ldr r6, ._854 + 32 @ gUnknown_Debug_03004360\n" " ldrb r1, [r6]\n" " lsl r0, r1, #0x1\n" " add r0, r0, r1\n" " lsl r0, r0, #0x4\n" " add r4, r4, r0\n" - " ldr r2, ._854 + 36\n" + " ldr r2, ._854 + 36 @ gUnknown_Debug_2023B02\n" " add r4, r4, r2\n" " mov r3, #0x0\n" " ldsh r1, [r4, r3]\n" @@ -4531,13 +4531,13 @@ void debug_sub_8012294() " add r0, r0, r2\n" " lsl r0, r0, #0x4\n" " add r1, r1, r0\n" - " ldr r2, ._854 + 36\n" + " ldr r2, ._854 + 36 @ gUnknown_Debug_2023B02\n" " add r1, r1, r2\n" " mov r3, #0x0\n" " ldsh r1, [r1, r3]\n" " mov r0, #0xd\n" " mul r1, r1, r0\n" - " ldr r0, ._854 + 40\n" + " ldr r0, ._854 + 40 @ gMoveNames\n" " add r1, r1, r0\n" " mov r0, r9\n" " bl StringAppend\n" @@ -4548,10 +4548,10 @@ void debug_sub_8012294() " add r8, r8, r0\n" " mov r1, r8\n" " ldrh r2, [r1]\n" - " ldr r3, ._854 + 24\n" + " ldr r3, ._854 + 24 @ gUnknown_Debug_821F566\n" " add r1, r0, r3\n" " ldrb r3, [r1]\n" - " ldr r1, ._854 + 28\n" + " ldr r1, ._854 + 28 @ gUnknown_Debug_821F568\n" " add r0, r0, r1\n" " ldrb r0, [r0]\n" " str r0, [sp]\n" @@ -4604,10 +4604,10 @@ void debug_sub_80123D8(u8 a) " mov r0, #0x0\n" " mov r1, #0x12\n" " bl debug_sub_8010A7C\n" - " ldr r4, ._858\n" - " ldr r0, ._858 + 4\n" + " ldr r4, ._858 @ gUnknown_Debug_03004370\n" + " ldr r0, ._858 + 4 @ gBattleTextBuff1\n" " mov r8, r0\n" - " ldr r6, ._858 + 8\n" + " ldr r6, ._858 + 8 @ gUnknown_Debug_821F58C\n" " ldrh r1, [r6]\n" " mov sl, r1\n" " ldrb r7, [r6, #0x2]\n" @@ -4622,25 +4622,25 @@ void debug_sub_80123D8(u8 a) " add r0, r4, #0\n" " bl Text_PrintWindow8002F44\n" " lsl r5, r5, #0x1\n" - " ldr r1, ._858 + 12\n" + " ldr r1, ._858 + 12 @ gUnknown_Debug_03004360\n" " ldrb r0, [r1]\n" " mov r2, #0x46\n" " mul r0, r0, r2\n" " add r0, r5, r0\n" - " ldr r1, ._858 + 16\n" + " ldr r1, ._858 + 16 @ gUnknown_Debug_2023A76\n" " add r0, r0, r1\n" " mov r2, #0x0\n" " ldsh r1, [r0, r2]\n" " lsl r0, r1, #0x3\n" " sub r0, r0, r1\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._858 + 20\n" + " ldr r1, ._858 + 20 @ gBaseStats\n" " add r0, r0, r1\n" " ldrb r0, [r0, #0x16]\n" " mov r2, #0xd\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" - " ldr r0, ._858 + 24\n" + " ldr r0, ._858 + 24 @ gAbilityNames\n" " add r1, r1, r0\n" " mov r0, r8\n" " bl StringCopy\n" @@ -4668,25 +4668,25 @@ void debug_sub_80123D8(u8 a) " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl Text_PrintWindow8002F44\n" - " ldr r1, ._858 + 12\n" + " ldr r1, ._858 + 12 @ gUnknown_Debug_03004360\n" " ldrb r0, [r1]\n" " mov r2, #0x46\n" " mul r0, r0, r2\n" " add r5, r5, r0\n" - " ldr r0, ._858 + 16\n" + " ldr r0, ._858 + 16 @ gUnknown_Debug_2023A76\n" " add r5, r5, r0\n" " mov r2, #0x0\n" " ldsh r1, [r5, r2]\n" " lsl r0, r1, #0x3\n" " sub r0, r0, r1\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._858 + 20\n" + " ldr r1, ._858 + 20 @ gBaseStats\n" " add r0, r0, r1\n" " ldrb r0, [r0, #0x17]\n" " mov r2, #0xd\n" " add r1, r0, #0\n" " mul r1, r1, r2\n" - " ldr r0, ._858 + 24\n" + " ldr r0, ._858 + 24 @ gAbilityNames\n" " add r1, r1, r0\n" " mov r0, r8\n" " bl StringCopy\n" @@ -4710,12 +4710,12 @@ void debug_sub_80123D8(u8 a) " .word gBaseStats\n" " .word gAbilityNames\n" "._856:\n" - " ldr r6, ._860\n" - " ldr r1, ._860 + 4\n" + " ldr r6, ._860 @ gBattleTextBuff1\n" + " ldr r1, ._860 + 4 @ gAbilityNames\n" " add r0, r6, #0\n" " bl StringCopy\n" - " ldr r5, ._860 + 8\n" - " ldr r4, ._860 + 12\n" + " ldr r5, ._860 + 8 @ gUnknown_Debug_03004370\n" + " ldr r4, ._860 + 12 @ gUnknown_Debug_821F58C\n" " ldrh r2, [r4]\n" " ldrb r3, [r4, #0x2]\n" " ldrb r0, [r4, #0x4]\n" @@ -4760,8 +4760,8 @@ void debug_sub_8012540() asm( " push {r4, r5, r6, lr}\n" " add sp, sp, #0xfffffffc\n" - " ldr r5, ._862\n" - " ldr r0, ._862 + 4\n" + " ldr r5, ._862 @ gBattleTextBuff1\n" + " ldr r0, ._862 + 4 @ gUnknown_Debug_2023A76\n" " add r0, r0, #0x44\n" " mov r2, #0x0\n" " ldsh r1, [r0, r2]\n" @@ -4769,8 +4769,8 @@ void debug_sub_8012540() " mov r2, #0x0\n" " mov r3, #0x1\n" " bl ConvertIntToDecimalStringN\n" - " ldr r4, ._862 + 8\n" - " ldr r1, ._862 + 12\n" + " ldr r4, ._862 + 8 @ gUnknown_Debug_03004370\n" + " ldr r1, ._862 + 12 @ gUnknown_Debug_821F424\n" " mov r3, #0x9b\n" " lsl r3, r3, #0x1\n" " add r0, r1, r3\n" @@ -4817,17 +4817,17 @@ void debug_sub_80125A0() { asm( " push {r4, lr}\n" - " ldr r4, ._864\n" - " ldr r3, ._864 + 4\n" - " ldr r2, ._864 + 8\n" - " ldr r0, ._864 + 12\n" + " ldr r4, ._864 @ gSharedMem\n" + " ldr r3, ._864 + 4 @ gUnknown_Debug_821F680\n" + " ldr r2, ._864 + 8 @ gUnknown_Debug_030043A0\n" + " ldr r0, ._864 + 12 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" " ldrb r2, [r2]\n" " add r0, r0, r2\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._864 + 16\n" + " ldr r1, ._864 + 16 @ gUnknown_Debug_03004360\n" " ldrb r2, [r1]\n" " mov r1, #0x8c\n" " mul r1, r1, r2\n" @@ -4857,17 +4857,17 @@ void debug_sub_80125E4() { asm( " push {r4, lr}\n" - " ldr r4, ._866\n" - " ldr r3, ._866 + 4\n" - " ldr r2, ._866 + 8\n" - " ldr r0, ._866 + 12\n" + " ldr r4, ._866 @ gSharedMem\n" + " ldr r3, ._866 + 4 @ gUnknown_Debug_821F680\n" + " ldr r2, ._866 + 8 @ gUnknown_Debug_030043A0\n" + " ldr r0, ._866 + 12 @ gUnknown_Debug_030043A4\n" " ldrb r1, [r0]\n" " lsl r0, r1, #0x2\n" " add r0, r0, r1\n" " ldrb r2, [r2]\n" " add r0, r0, r2\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._866 + 16\n" + " ldr r1, ._866 + 16 @ gUnknown_Debug_03004360\n" " ldrb r2, [r1]\n" " mov r1, #0x8c\n" " mul r1, r1, r2\n" @@ -4896,12 +4896,12 @@ __attribute__((naked)) void debug_sub_8012628() { asm( - " ldr r3, ._868\n" - " ldr r2, ._868 + 4\n" - " ldr r0, ._868 + 8\n" + " ldr r3, ._868 @ gSharedMem\n" + " ldr r2, ._868 + 4 @ gUnknown_Debug_821F798\n" + " ldr r0, ._868 + 8 @ gUnknown_Debug_030043A8\n" " ldrb r1, [r0]\n" " lsl r1, r1, #0x2\n" - " ldr r0, ._868 + 12\n" + " ldr r0, ._868 + 12 @ gUnknown_Debug_03004360\n" " ldrb r0, [r0]\n" " lsl r0, r0, #0x4\n" " add r1, r1, r0\n" @@ -4926,12 +4926,12 @@ __attribute__((naked)) void debug_sub_8012658() { asm( - " ldr r3, ._870\n" - " ldr r2, ._870 + 4\n" - " ldr r0, ._870 + 8\n" + " ldr r3, ._870 @ gSharedMem\n" + " ldr r2, ._870 + 4 @ gUnknown_Debug_821F798\n" + " ldr r0, ._870 + 8 @ gUnknown_Debug_030043A8\n" " ldrb r1, [r0]\n" " lsl r1, r1, #0x2\n" - " ldr r0, ._870 + 12\n" + " ldr r0, ._870 + 12 @ gUnknown_Debug_03004360\n" " ldrb r0, [r0]\n" " lsl r0, r0, #0x4\n" " add r1, r1, r0\n" @@ -4963,7 +4963,7 @@ void debug_sub_8012688() " mov r1, #0x0\n" " mov r4, #0xcd\n" " lsl r4, r4, #0x1\n" - " ldr r3, ._873\n" + " ldr r3, ._873 @ gUnknown_Debug_2023B62\n" " mov r2, #0x0\n" "._872:\n" " add r0, r1, r3\n" @@ -4977,16 +4977,16 @@ void debug_sub_8012688() " bl SetVBlankCallback\n" " mov r5, #0x0\n" " str r5, [sp, #0x8]\n" - " ldr r1, ._873 + 4\n" + " ldr r1, ._873 + 4 @ 0x40000d4\n" " add r0, sp, #0x8\n" " str r0, [r1]\n" " mov r0, #0xc0\n" " lsl r0, r0, #0x13\n" " str r0, [r1, #0x4]\n" - " ldr r0, ._873 + 8\n" + " ldr r0, ._873 + 8 @ 0x85006000\n" " str r0, [r1, #0x8]\n" " ldr r0, [r1, #0x8]\n" - " ldr r0, ._873 + 12\n" + " ldr r0, ._873 + 12 @ 0x400004c\n" " strh r5, [r0]\n" " sub r0, r0, #0xc\n" " strh r5, [r0]\n" @@ -5000,28 +5000,28 @@ void debug_sub_8012688() " strh r5, [r0]\n" " add r0, r0, #0x2\n" " strh r5, [r0]\n" - " ldr r4, ._873 + 16\n" + " ldr r4, ._873 + 16 @ gWindowTemplate_81E6C58\n" " add r0, r4, #0\n" " bl Text_LoadWindowTemplate\n" " bl ResetPaletteFade\n" - " ldr r0, ._873 + 20\n" + " ldr r0, ._873 + 20 @ gBattle_BG0_X\n" " strh r5, [r0]\n" - " ldr r1, ._873 + 24\n" + " ldr r1, ._873 + 24 @ gBattle_BG0_Y\n" " mov r0, #0xa0\n" " strh r0, [r1]\n" - " ldr r0, ._873 + 28\n" + " ldr r0, ._873 + 28 @ gBattle_BG1_X\n" " strh r5, [r0]\n" - " ldr r0, ._873 + 32\n" + " ldr r0, ._873 + 32 @ gBattle_BG1_Y\n" " strh r5, [r0]\n" - " ldr r0, ._873 + 36\n" + " ldr r0, ._873 + 36 @ gBattle_BG2_X\n" " strh r5, [r0]\n" - " ldr r0, ._873 + 40\n" + " ldr r0, ._873 + 40 @ gBattle_BG2_Y\n" " strh r5, [r0]\n" - " ldr r0, ._873 + 44\n" + " ldr r0, ._873 + 44 @ gBattle_BG3_X\n" " strh r5, [r0]\n" - " ldr r0, ._873 + 48\n" + " ldr r0, ._873 + 48 @ gBattle_BG3_Y\n" " strh r5, [r0]\n" - " ldr r1, ._873 + 52\n" + " ldr r1, ._873 + 52 @ gBattleTerrain\n" " mov r0, #0x9\n" " strb r0, [r1]\n" " bl sub_800D6D4\n" @@ -5029,20 +5029,20 @@ void debug_sub_8012688() " bl ResetSpriteData\n" " bl ResetTasks\n" " bl FreeAllSpritePalettes\n" - " ldr r1, ._873 + 56\n" + " ldr r1, ._873 + 56 @ gReservedSpritePaletteCount\n" " mov r0, #0x4\n" " strb r0, [r1]\n" - " ldr r6, ._873 + 60\n" + " ldr r6, ._873 + 60 @ gCurrentMove\n" " mov r0, #0x1\n" " strh r0, [r6]\n" - " ldr r0, ._873 + 64\n" + " ldr r0, ._873 + 64 @ gUnknown_03004210\n" " add r1, r4, #0\n" " bl Text_InitWindowWithTemplate\n" " ldrh r2, [r6]\n" " lsl r0, r2, #0x3\n" - " ldr r1, ._873 + 68\n" + " ldr r1, ._873 + 68 @ gMonFrontPicTable\n" " add r0, r0, r1\n" - " ldr r1, ._873 + 72\n" + " ldr r1, ._873 + 72 @ gMonFrontPicCoords\n" " mov r8, r1\n" " lsl r2, r2, #0x2\n" " add r2, r2, r8\n" @@ -5050,13 +5050,13 @@ void debug_sub_8012688() " ldrb r2, [r2, #0x1]\n" " mov r3, #0x80\n" " lsl r3, r3, #0x12\n" - " ldr r4, ._873 + 76\n" + " ldr r4, ._873 + 76 @ gUnknown_081FAF4C\n" " ldr r4, [r4, #0x4]\n" " str r4, [sp]\n" " ldrh r4, [r6]\n" " str r4, [sp, #0x4]\n" " bl DecompressPicFromTable_2\n" - " ldr r1, ._873 + 80\n" + " ldr r1, ._873 + 80 @ gMonPaletteTable\n" " ldrh r0, [r6]\n" " lsl r0, r0, #0x3\n" " add r0, r0, r1\n" @@ -5068,7 +5068,7 @@ void debug_sub_8012688() " ldrh r0, [r6]\n" " mov r1, #0x1\n" " bl GetMonSpriteTemplate_803C56C\n" - " ldr r0, ._873 + 84\n" + " ldr r0, ._873 + 84 @ gUnknown_02024E8C\n" " ldrh r1, [r6]\n" " lsl r1, r1, #0x2\n" " add r1, r1, r8\n" @@ -5080,14 +5080,14 @@ void debug_sub_8012688() " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " ldr r3, ._873 + 88\n" + " ldr r3, ._873 + 88 @ gSprites\n" " lsl r1, r4, #0x4\n" " add r1, r1, r4\n" " lsl r1, r1, #0x2\n" " add r0, r3, #0\n" " add r0, r0, #0x1c\n" " add r0, r1, r0\n" - " ldr r2, ._873 + 92\n" + " ldr r2, ._873 + 92 @ nullsub_37\n" " str r2, [r0]\n" " add r1, r1, r3\n" " ldrb r2, [r1, #0x5]\n" @@ -5102,24 +5102,24 @@ void debug_sub_8012688() " lsl r2, r2, #0x5\n" " add r0, r2, #0\n" " strh r0, [r1]\n" - " ldr r0, ._873 + 96\n" + " ldr r0, ._873 + 96 @ debug_nullsub_45\n" " bl SetHBlankCallback\n" - " ldr r0, ._873 + 100\n" + " ldr r0, ._873 + 100 @ debug_sub_8011DD4\n" " bl SetVBlankCallback\n" " bl m4aMPlayAllStop\n" - " ldr r0, ._873 + 104\n" + " ldr r0, ._873 + 104 @ debug_sub_8012D10\n" " mov r1, #0x0\n" " bl CreateTask\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" - " ldr r2, ._873 + 108\n" + " ldr r2, ._873 + 108 @ gTasks\n" " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r1, r1, #0x3\n" " add r1, r1, r2\n" " strh r5, [r1, #0x8]\n" " strh r4, [r1, #0xa]\n" - " ldr r0, ._873 + 112\n" + " ldr r0, ._873 + 112 @ debug_sub_8012878\n" " bl SetMainCallback2\n" " add sp, sp, #0xc\n" " pop {r3}\n" @@ -5170,17 +5170,17 @@ void debug_sub_8012878() " push {lr}\n" " bl AnimateSprites\n" " bl BuildOamBuffer\n" - " ldr r0, ._876\n" + " ldr r0, ._876 @ gUnknown_03004210\n" " bl Text_UpdateWindowInBattle\n" " bl UpdatePaletteFade\n" " bl RunTasks\n" - " ldr r0, ._876 + 4\n" + " ldr r0, ._876 + 4 @ gMain\n" " ldrh r1, [r0, #0x2c]\n" " mov r0, #0x82\n" " lsl r0, r0, #0x1\n" " cmp r1, r0\n" " bne ._875 @cond_branch\n" - " ldr r0, ._876 + 8\n" + " ldr r0, ._876 + 8 @ debug_sub_80108B8\n" " bl SetMainCallback2\n" "._875:\n" " pop {r0}\n" @@ -5206,8 +5206,8 @@ void debug_sub_80128B4() " mov r0, #0x0\n" " mov r1, #0x9\n" " bl debug_sub_8010A7C\n" - " ldr r5, ._878\n" - " ldr r4, ._878 + 4\n" + " ldr r5, ._878 @ gUnknown_03004210\n" + " ldr r4, ._878 + 4 @ gBattleTextBuff1\n" " mov r0, #0x23\n" " mov r8, r0\n" " str r0, [sp]\n" @@ -5218,7 +5218,7 @@ void debug_sub_80128B4() " bl Text_InitWindow\n" " add r0, r5, #0\n" " bl Text_PrintWindow8002F44\n" - " ldr r6, ._878 + 8\n" + " ldr r6, ._878 + 8 @ gCurrentMove\n" " ldrh r1, [r6]\n" " add r0, r4, #0\n" " mov r2, #0x2\n" @@ -5231,7 +5231,7 @@ void debug_sub_80128B4() " ldrh r1, [r6]\n" " mov r0, #0xb\n" " mul r1, r1, r0\n" - " ldr r0, ._878 + 12\n" + " ldr r0, ._878 + 12 @ gSpeciesNames\n" " add r1, r1, r0\n" " add r0, r4, #0\n" " bl StringAppend\n" @@ -5277,8 +5277,8 @@ void debug_sub_8012938() " mov r0, #0x0\n" " mov r1, #0x7\n" " bl debug_sub_8010A7C\n" - " ldr r6, ._880\n" - " ldr r4, ._880 + 4\n" + " ldr r6, ._880 @ gUnknown_03004210\n" + " ldr r4, ._880 + 4 @ gBattleTextBuff1\n" " mov r0, #0x25\n" " mov r8, r0\n" " str r0, [sp]\n" @@ -5289,13 +5289,13 @@ void debug_sub_8012938() " bl Text_InitWindow\n" " add r0, r6, #0\n" " bl Text_PrintWindow8002F44\n" - " ldr r1, ._880 + 8\n" + " ldr r1, ._880 + 8 @ Str_821F7B8\n" " add r0, r4, #0\n" " bl StringCopy\n" " add r0, r4, #4\n" - " ldr r1, ._880 + 12\n" + " ldr r1, ._880 + 12 @ gUnknown_Debug_2023B62\n" " mov sl, r1\n" - " ldr r2, ._880 + 16\n" + " ldr r2, ._880 + 16 @ gCurrentMove\n" " mov r9, r2\n" " ldrh r1, [r2]\n" " sub r1, r1, #0x1\n" @@ -5313,8 +5313,8 @@ void debug_sub_8012938() " bl Text_InitWindow\n" " add r0, r6, #0\n" " bl Text_PrintWindow8002F44\n" - " ldr r2, ._880 + 20\n" - " ldr r1, ._880 + 24\n" + " ldr r2, ._880 + 20 @ gSprites\n" + " ldr r1, ._880 + 24 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -5365,12 +5365,12 @@ void debug_sub_80129F8() " add r5, r0, #0\n" " lsl r5, r5, #0x18\n" " lsr r5, r5, #0x18\n" - " ldr r6, ._882\n" + " ldr r6, ._882 @ gCurrentMove\n" " ldrh r2, [r6]\n" " lsl r0, r2, #0x3\n" - " ldr r1, ._882 + 4\n" + " ldr r1, ._882 + 4 @ gMonFrontPicTable\n" " add r0, r0, r1\n" - " ldr r1, ._882 + 8\n" + " ldr r1, ._882 + 8 @ gMonFrontPicCoords\n" " mov r8, r1\n" " lsl r2, r2, #0x2\n" " add r2, r2, r8\n" @@ -5378,13 +5378,13 @@ void debug_sub_80129F8() " ldrb r2, [r2, #0x1]\n" " mov r3, #0x80\n" " lsl r3, r3, #0x12\n" - " ldr r4, ._882 + 12\n" + " ldr r4, ._882 + 12 @ gUnknown_081FAF4C\n" " ldr r4, [r4, #0x4]\n" " str r4, [sp]\n" " ldrh r4, [r6]\n" " str r4, [sp, #0x4]\n" " bl DecompressPicFromTable_2\n" - " ldr r1, ._882 + 16\n" + " ldr r1, ._882 + 16 @ gMonPaletteTable\n" " ldrh r0, [r6]\n" " lsl r0, r0, #0x3\n" " add r0, r0, r1\n" @@ -5393,8 +5393,8 @@ void debug_sub_80129F8() " lsl r1, r1, #0x1\n" " mov r2, #0x20\n" " bl LoadCompressedPalette\n" - " ldr r4, ._882 + 20\n" - " ldr r0, ._882 + 24\n" + " ldr r4, ._882 + 20 @ gSprites\n" + " ldr r0, ._882 + 24 @ gTasks\n" " lsl r2, r5, #0x2\n" " add r2, r2, r5\n" " lsl r2, r2, #0x3\n" @@ -5417,7 +5417,7 @@ void debug_sub_80129F8() " add r1, r1, r0\n" " lsl r1, r1, #0x2\n" " add r1, r1, r4\n" - " ldr r3, ._882 + 28\n" + " ldr r3, ._882 + 28 @ gUnknown_Debug_2023B62\n" " ldrh r0, [r6]\n" " sub r0, r0, #0x1\n" " add r0, r0, r3\n" @@ -5462,8 +5462,8 @@ void debug_sub_8012AC0() " lsr r5, r0, #0x18\n" " lsl r1, r1, #0x18\n" " lsr r6, r1, #0x18\n" - " ldr r3, ._885\n" - " ldr r4, ._885 + 4\n" + " ldr r3, ._885 @ gCurrentMove\n" + " ldr r4, ._885 + 4 @ gBaseStats\n" " b ._884\n" "._886:\n" " .align 2, 0\n" @@ -5484,12 +5484,12 @@ void debug_sub_8012AC0() " lsl r0, r0, #0x10\n" " cmp r0, #0\n" " bne ._888 @cond_branch\n" - " ldr r1, ._891\n" + " ldr r1, ._891 @ 0x19b\n" " add r0, r1, #0\n" " strh r0, [r2]\n" "._888:\n" " ldrh r1, [r2]\n" - " ldr r0, ._891\n" + " ldr r0, ._891 @ 0x19b\n" " cmp r1, r0\n" " bne ._889 @cond_branch\n" " mov r0, #0x1\n" @@ -5526,11 +5526,11 @@ void debug_sub_8012B2C() asm( " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x11\n" - " ldr r1, ._893\n" + " ldr r1, ._893 @ 0x600c772\n" " add r2, r0, r1\n" " mov r1, #0x1\n" " strh r1, [r2]\n" - " ldr r1, ._893 + 4\n" + " ldr r1, ._893 + 4 @ 0x600c7b2\n" " add r0, r0, r1\n" " mov r1, #0x2\n" " strh r1, [r0]\n" @@ -5550,12 +5550,12 @@ void debug_sub_8012B4C() asm( " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x11\n" - " ldr r2, ._895\n" + " ldr r2, ._895 @ 0x600c772\n" " add r1, r0, r2\n" - " ldr r3, ._895 + 4\n" + " ldr r3, ._895 + 4 @ 0x1016\n" " add r2, r3, #0\n" " strh r2, [r1]\n" - " ldr r1, ._895 + 8\n" + " ldr r1, ._895 + 8 @ 0x600c7b2\n" " add r0, r0, r1\n" " strh r2, [r0]\n" " bx lr\n" @@ -5593,7 +5593,7 @@ void debug_sub_8012B70() " bl debug_sub_8012938\n" " add r0, r5, #0\n" " bl debug_sub_80129F8\n" - " ldr r1, ._899\n" + " ldr r1, ._899 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -5611,15 +5611,15 @@ void debug_sub_8012B70() " mov r2, #0x1d\n" " mov r3, #0x21\n" " bl sub_802BBD4\n" - " ldr r0, ._901\n" + " ldr r0, ._901 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" " add r4, r4, r0\n" " mov r0, #0x2\n" " strh r0, [r4, #0x8]\n" - " ldr r5, ._901 + 4\n" - " ldr r1, ._901 + 8\n" + " ldr r5, ._901 + 4 @ gUnknown_03004210\n" + " ldr r1, ._901 + 8 @ Str_821F7DA\n" " mov r2, #0xa4\n" " lsl r2, r2, #0x2\n" " mov r0, #0x1d\n" @@ -5663,8 +5663,8 @@ void debug_sub_8012C08() " mov r0, #0x0\n" " mov r1, #0x9\n" " bl debug_sub_8010A7C\n" - " ldr r7, ._905\n" - " ldr r5, ._905 + 4\n" + " ldr r7, ._905 @ gUnknown_03004210\n" + " ldr r5, ._905 + 4 @ gBattleTextBuff1\n" " mov r0, #0x23\n" " mov r8, r0\n" " str r0, [sp]\n" @@ -5696,14 +5696,14 @@ void debug_sub_8012C08() " bl sub_802BBD4\n" " cmp r4, #0\n" " beq ._903 @cond_branch\n" - " ldr r1, ._905 + 8\n" + " ldr r1, ._905 + 8 @ gTasks\n" " lsl r4, r6, #0x2\n" " add r0, r4, r6\n" " lsl r0, r0, #0x3\n" " add r0, r0, r1\n" " mov r1, #0x4\n" " strh r1, [r0, #0x8]\n" - " ldr r1, ._905 + 12\n" + " ldr r1, ._905 + 12 @ gUnknown_Debug_821F7F3\n" " mov r0, r8\n" " str r0, [sp]\n" " add r0, r7, #0\n" @@ -5719,14 +5719,14 @@ void debug_sub_8012C08() " .word gTasks\n" " .word gUnknown_Debug_821F7F3\n" "._903:\n" - " ldr r1, ._907\n" + " ldr r1, ._907 @ gTasks\n" " lsl r4, r6, #0x2\n" " add r0, r4, r6\n" " lsl r0, r0, #0x3\n" " add r0, r0, r1\n" " mov r1, #0x3\n" " strh r1, [r0, #0x8]\n" - " ldr r1, ._907 + 4\n" + " ldr r1, ._907 + 4 @ Str_821F7EA\n" " mov r0, r8\n" " str r0, [sp]\n" " add r0, r7, #0\n" @@ -5735,10 +5735,10 @@ void debug_sub_8012C08() " bl Text_InitWindow\n" "._904:\n" " add r5, r4, #0\n" - " ldr r4, ._907 + 8\n" + " ldr r4, ._907 + 8 @ gUnknown_03004210\n" " add r0, r4, #0\n" " bl Text_PrintWindow8002F44\n" - " ldr r1, ._907 + 12\n" + " ldr r1, ._907 + 12 @ BattleText_YesNo\n" " mov r2, #0xa4\n" " lsl r2, r2, #0x2\n" " mov r0, #0x1d\n" @@ -5748,7 +5748,7 @@ void debug_sub_8012C08() " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl Text_PrintWindow8002F44\n" - " ldr r1, ._907\n" + " ldr r1, ._907 @ gTasks\n" " add r0, r5, r6\n" " lsl r0, r0, #0x3\n" " add r0, r0, r1\n" @@ -5781,7 +5781,7 @@ void debug_sub_8012D10() " add sp, sp, #0xfffffffc\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" - " ldr r1, ._911\n" + " ldr r1, ._911 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -5793,7 +5793,7 @@ void debug_sub_8012D10() " b ._1067\n" "._909:\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._911 + 4\n" + " ldr r1, ._911 + 4 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -5812,8 +5812,8 @@ void debug_sub_8012D10() " bl debug_sub_80128B4\n" " add r0, r5, #0\n" " bl debug_sub_8012938\n" - " ldr r4, ._920\n" - " ldr r1, ._920 + 4\n" + " ldr r4, ._920 @ gUnknown_03004210\n" + " ldr r1, ._920 + 4 @ Str_821F7BD\n" " mov r2, #0xc8\n" " lsl r2, r2, #0x1\n" " mov r0, #0x23\n" @@ -5823,7 +5823,7 @@ void debug_sub_8012D10() " bl Text_InitWindow\n" " add r0, r4, #0\n" " bl Text_PrintWindow8002F44\n" - " ldr r1, ._920 + 8\n" + " ldr r1, ._920 + 8 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -5840,7 +5840,7 @@ void debug_sub_8012D10() " .word Str_821F7BD\n" " .word gTasks\n" "._915:\n" - " ldr r2, ._924\n" + " ldr r2, ._924 @ gMain\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x40\n" " and r0, r0, r1\n" @@ -5848,7 +5848,7 @@ void debug_sub_8012D10() " beq ._922 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._924 + 4\n" + " ldr r0, ._924 + 4 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -5872,7 +5872,7 @@ void debug_sub_8012D10() " beq ._926 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._928\n" + " ldr r0, ._928 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -5893,7 +5893,7 @@ void debug_sub_8012D10() " beq ._930 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._932\n" + " ldr r0, ._932 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -5916,7 +5916,7 @@ void debug_sub_8012D10() " beq ._934 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._936\n" + " ldr r0, ._936 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -5948,7 +5948,7 @@ void debug_sub_8012D10() " beq ._938 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r1, ._943\n" + " ldr r1, ._943 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -5976,8 +5976,8 @@ void debug_sub_8012D10() "._946:\n" " b ._1067\n" "._941:\n" - " ldr r1, ._952\n" - " ldr r0, ._952 + 4\n" + " ldr r1, ._952 @ gUnknown_Debug_2023B62\n" + " ldr r0, ._952 + 4 @ gCurrentMove\n" " ldrh r0, [r0]\n" " sub r0, r0, #0x1\n" " add r1, r0, r1\n" @@ -5998,7 +5998,7 @@ void debug_sub_8012D10() " mov r0, #0x1\n" " b ._997\n" "._945:\n" - " ldr r1, ._957\n" + " ldr r1, ._957 @ gCurrentMove\n" " ldrh r2, [r1]\n" " mov r0, #0xcd\n" " lsl r0, r0, #0x1\n" @@ -6022,7 +6022,7 @@ void debug_sub_8012D10() " beq ._960 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r1, ._966\n" + " ldr r1, ._966 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -6047,8 +6047,8 @@ void debug_sub_8012D10() " beq ._968 @cond_branch\n" " b ._990\n" "._964:\n" - " ldr r1, ._973\n" - " ldr r0, ._973 + 4\n" + " ldr r1, ._973 @ gUnknown_Debug_2023B62\n" + " ldr r0, ._973 + 4 @ gCurrentMove\n" " ldrh r0, [r0]\n" " sub r0, r0, #0x1\n" " add r1, r0, r1\n" @@ -6066,7 +6066,7 @@ void debug_sub_8012D10() " .word gUnknown_Debug_2023B62\n" " .word gCurrentMove\n" "._968:\n" - " ldr r1, ._977\n" + " ldr r1, ._977 @ gCurrentMove\n" " ldrh r0, [r1]\n" " cmp r0, #0x1\n" " bls ._975 @cond_branch\n" @@ -6077,7 +6077,7 @@ void debug_sub_8012D10() "._977:\n" " .word gCurrentMove\n" "._975:\n" - " ldr r2, ._980\n" + " ldr r2, ._980 @ 0x19b\n" " add r0, r2, #0\n" " b ._979\n" "._981:\n" @@ -6092,7 +6092,7 @@ void debug_sub_8012D10() " beq ._982 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r1, ._987\n" + " ldr r1, ._987 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -6115,8 +6115,8 @@ void debug_sub_8012D10() " beq ._989 @cond_branch\n" " b ._990\n" "._985:\n" - " ldr r3, ._995\n" - " ldr r2, ._995 + 4\n" + " ldr r3, ._995 @ gUnknown_Debug_2023B62\n" + " ldr r2, ._995 + 4 @ gCurrentMove\n" " ldrh r0, [r2]\n" " sub r0, r0, #0x1\n" " add r1, r0, r3\n" @@ -6145,11 +6145,11 @@ void debug_sub_8012D10() " mov r0, #0x1\n" " b ._997\n" "._989:\n" - " ldr r3, ._1000\n" + " ldr r3, ._1000 @ gCurrentMove\n" " ldrh r2, [r3]\n" " add r1, r2, #0\n" " add r1, r1, #0xa\n" - " ldr r0, ._1000 + 4\n" + " ldr r0, ._1000 + 4 @ 0x19b\n" " cmp r1, r0\n" " bgt ._998 @cond_branch\n" " strh r1, [r3]\n" @@ -6160,7 +6160,7 @@ void debug_sub_8012D10() " .word gCurrentMove\n" " .word 0x19b\n" "._998:\n" - " ldr r1, ._1003\n" + " ldr r1, ._1003 @ 0xfffffe70\n" " add r0, r2, r1\n" " strh r0, [r3]\n" " b ._1025\n" @@ -6178,7 +6178,7 @@ void debug_sub_8012D10() "._1005:\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r1, ._1011\n" + " ldr r1, ._1011 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -6203,8 +6203,8 @@ void debug_sub_8012D10() " beq ._1014 @cond_branch\n" " b ._1067\n" "._1009:\n" - " ldr r1, ._1020\n" - " ldr r0, ._1020 + 4\n" + " ldr r1, ._1020 @ gUnknown_Debug_2023B62\n" + " ldr r0, ._1020 + 4 @ gCurrentMove\n" " ldrh r0, [r0]\n" " sub r0, r0, #0x1\n" " add r2, r0, r1\n" @@ -6238,7 +6238,7 @@ void debug_sub_8012D10() " bl debug_sub_8012AC0\n" " b ._1067\n" "._1013:\n" - " ldr r2, ._1026\n" + " ldr r2, ._1026 @ gCurrentMove\n" " ldrh r0, [r2]\n" " add r1, r0, #0\n" " sub r1, r1, #0xa\n" @@ -6268,7 +6268,7 @@ void debug_sub_8012D10() " bl debug_sub_8012B70\n" " b ._1067\n" "._916:\n" - " ldr r0, ._1032\n" + " ldr r0, ._1032 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x40\n" " and r0, r0, r1\n" @@ -6276,7 +6276,7 @@ void debug_sub_8012D10() " beq ._1030 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._1032 + 4\n" + " ldr r0, ._1032 + 4 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -6301,7 +6301,7 @@ void debug_sub_8012D10() " beq ._1035 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._1037\n" + " ldr r0, ._1037 @ gTasks\n" " lsl r1, r5, #0x2\n" " add r1, r1, r5\n" " lsl r1, r1, #0x3\n" @@ -6325,7 +6325,7 @@ void debug_sub_8012D10() " bl PlaySE\n" " b ._1063\n" "._917:\n" - " ldr r0, ._1044\n" + " ldr r0, ._1044 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x40\n" " and r0, r0, r1\n" @@ -6333,7 +6333,7 @@ void debug_sub_8012D10() " beq ._1042 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._1044 + 4\n" + " ldr r0, ._1044 + 4 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -6358,7 +6358,7 @@ void debug_sub_8012D10() " beq ._1047 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._1050\n" + " ldr r0, ._1050 @ gTasks\n" " lsl r1, r5, #0x2\n" " add r1, r1, r5\n" " lsl r1, r1, #0x3\n" @@ -6367,8 +6367,8 @@ void debug_sub_8012D10() " ldsh r0, [r1, r2]\n" " cmp r0, #0\n" " bne ._1063 @cond_branch\n" - " ldr r1, ._1050 + 4\n" - " ldr r2, ._1050 + 8\n" + " ldr r1, ._1050 + 4 @ gUnknown_Debug_2023B62\n" + " ldr r2, ._1050 + 8 @ 0x19b\n" " mov r0, #0x1f\n" " bl debug_sub_80132C8\n" " b ._1063\n" @@ -6387,7 +6387,7 @@ void debug_sub_8012D10() " bl PlaySE\n" " b ._1063\n" "._918:\n" - " ldr r0, ._1056\n" + " ldr r0, ._1056 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x40\n" " and r0, r0, r1\n" @@ -6395,7 +6395,7 @@ void debug_sub_8012D10() " beq ._1054 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._1056 + 4\n" + " ldr r0, ._1056 + 4 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -6417,7 +6417,7 @@ void debug_sub_8012D10() "._1046:\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._1060\n" + " ldr r0, ._1060 @ gTasks\n" " lsl r4, r5, #0x2\n" " add r4, r4, r5\n" " lsl r4, r4, #0x3\n" @@ -6440,7 +6440,7 @@ void debug_sub_8012D10() " beq ._1062 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r0, ._1065\n" + " ldr r0, ._1065 @ gTasks\n" " lsl r1, r5, #0x2\n" " add r1, r1, r5\n" " lsl r1, r1, #0x3\n" @@ -6449,8 +6449,8 @@ void debug_sub_8012D10() " ldsh r0, [r1, r2]\n" " cmp r0, #0\n" " bne ._1063 @cond_branch\n" - " ldr r1, ._1065 + 4\n" - " ldr r2, ._1065 + 8\n" + " ldr r1, ._1065 + 4 @ gUnknown_Debug_2023B62\n" + " ldr r2, ._1065 + 8 @ 0x19b\n" " mov r0, #0x1f\n" " bl debug_sub_8013294\n" "._1063:\n" @@ -6810,7 +6810,7 @@ void debug_sub_80138CC() { asm( " push {lr}\n" - " ldr r0, ._1167\n" + " ldr r0, ._1167 @ gActiveBank\n" " ldrb r0, [r0]\n" " bl GetBankSide\n" " lsl r0, r0, #0x18\n" @@ -6818,8 +6818,8 @@ void debug_sub_80138CC() " beq ._1163 @cond_branch\n" " b ._1186\n" "._1163:\n" - " ldr r1, ._1167 + 4\n" - " ldr r2, ._1167 + 8\n" + " ldr r1, ._1167 + 4 @ gSharedMem\n" + " ldr r2, ._1167 + 8 @ 0x160fd\n" " add r0, r1, r2\n" " ldrb r0, [r0]\n" " add r2, r1, #0\n" @@ -6828,7 +6828,7 @@ void debug_sub_80138CC() " b ._1186\n" "._1165:\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._1167 + 12\n" + " ldr r1, ._1167 + 12 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -6846,16 +6846,16 @@ void debug_sub_80138CC() " .word ._1173\n" " .word ._1174\n" "._1170:\n" - " ldr r1, ._1177\n" - " ldr r0, ._1177 + 4\n" + " ldr r1, ._1177 @ gBattleBankFunc\n" + " ldr r0, ._1177 + 4 @ gActiveBank\n" " ldrb r0, [r0]\n" " lsl r0, r0, #0x2\n" " add r0, r0, r1\n" " ldr r1, [r0]\n" - " ldr r0, ._1177 + 8\n" + " ldr r0, ._1177 + 8 @ sub_802C098\n" " cmp r1, r0\n" " bne ._1186 @cond_branch\n" - " ldr r0, ._1177 + 12\n" + " ldr r0, ._1177 + 12 @ 0x160fd\n" " add r1, r2, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" @@ -6868,16 +6868,16 @@ void debug_sub_80138CC() " .word sub_802C098+1\n" " .word 0x160fd\n" "._1171:\n" - " ldr r1, ._1180\n" + " ldr r1, ._1180 @ gMain\n" " mov r0, #0x1\n" " strh r0, [r1, #0x2c]\n" " strh r0, [r1, #0x2e]\n" - " ldr r0, ._1180 + 4\n" + " ldr r0, ._1180 + 4 @ 0x160fd\n" " add r1, r2, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" - " ldr r0, ._1180 + 8\n" + " ldr r0, ._1180 + 8 @ 0x160fe\n" " add r1, r2, r0\n" " mov r0, #0x80\n" " b ._1187\n" @@ -6888,7 +6888,7 @@ void debug_sub_80138CC() " .word 0x160fd\n" " .word 0x160fe\n" "._1172:\n" - " ldr r0, ._1184\n" + " ldr r0, ._1184 @ 0x160fe\n" " add r3, r2, r0\n" " ldrb r0, [r3]\n" " sub r0, r0, #0x1\n" @@ -6896,11 +6896,11 @@ void debug_sub_80138CC() " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._1186 @cond_branch\n" - " ldr r1, ._1184 + 4\n" + " ldr r1, ._1184 + 4 @ gMain\n" " mov r0, #0x1\n" " strh r0, [r1, #0x2c]\n" " strh r0, [r1, #0x2e]\n" - " ldr r0, ._1184 + 8\n" + " ldr r0, ._1184 + 8 @ 0x160fd\n" " add r1, r2, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" @@ -6915,7 +6915,7 @@ void debug_sub_80138CC() " .word gMain\n" " .word 0x160fd\n" "._1173:\n" - " ldr r0, ._1188\n" + " ldr r0, ._1188 @ 0x160fe\n" " add r1, r2, r0\n" " ldrb r0, [r1]\n" " sub r0, r0, #0x1\n" @@ -6923,11 +6923,11 @@ void debug_sub_80138CC() " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " bne ._1186 @cond_branch\n" - " ldr r1, ._1188 + 4\n" + " ldr r1, ._1188 + 4 @ gMain\n" " mov r0, #0x1\n" " strh r0, [r1, #0x2c]\n" " strh r0, [r1, #0x2e]\n" - " ldr r0, ._1188 + 8\n" + " ldr r0, ._1188 + 8 @ 0x160fd\n" " add r1, r2, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" @@ -6939,7 +6939,7 @@ void debug_sub_80138CC() " .word gMain\n" " .word 0x160fd\n" "._1174:\n" - " ldr r0, ._1190\n" + " ldr r0, ._1190 @ 0x160fd\n" " add r1, r2, r0\n" " mov r0, #0x0\n" "._1187:\n" @@ -6960,7 +6960,7 @@ void debug_sub_80139E4() { asm( " push {r4, r5, lr}\n" - " ldr r0, ._1198\n" + " ldr r0, ._1198 @ gUnknown_02023A14_50\n" " ldrb r1, [r0]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" @@ -6968,10 +6968,10 @@ void debug_sub_80139E4() " lsr r4, r0, #0x18\n" " cmp r4, #0\n" " beq ._1192 @cond_branch\n" - " ldr r2, ._1198 + 4\n" + " ldr r2, ._1198 + 4 @ gActiveBank\n" " mov r0, #0x0\n" " strb r0, [r2]\n" - " ldr r1, ._1198 + 8\n" + " ldr r1, ._1198 + 8 @ gNoOfAllBanks\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" " beq ._1193 @cond_branch\n" @@ -6988,17 +6988,17 @@ void debug_sub_80139E4() " cmp r0, r1\n" " bcc ._1194 @cond_branch\n" "._1193:\n" - " ldr r0, ._1198 + 12\n" + " ldr r0, ._1198 + 12 @ gBattleMainFunc\n" " ldr r0, [r0]\n" " bl _call_via_r0\n" - " ldr r1, ._1198 + 4\n" + " ldr r1, ._1198 + 4 @ gActiveBank\n" " mov r0, #0x0\n" " strb r0, [r1]\n" - " ldr r0, ._1198 + 8\n" + " ldr r0, ._1198 + 8 @ gNoOfAllBanks\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " beq ._1200 @cond_branch\n" - " ldr r5, ._1198 + 16\n" + " ldr r5, ._1198 + 16 @ gBattleBankFunc\n" " add r4, r1, #0\n" "._1196:\n" " ldrb r0, [r4]\n" @@ -7009,7 +7009,7 @@ void debug_sub_80139E4() " ldrb r0, [r4]\n" " add r0, r0, #0x1\n" " strb r0, [r4]\n" - " ldr r1, ._1198 + 8\n" + " ldr r1, ._1198 + 8 @ gNoOfAllBanks\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " ldrb r1, [r1]\n" @@ -7025,16 +7025,16 @@ void debug_sub_80139E4() " .word gBattleMainFunc\n" " .word gBattleBankFunc\n" "._1192:\n" - " ldr r0, ._1202\n" + " ldr r0, ._1202 @ gBattleMainFunc\n" " ldr r0, [r0]\n" " bl _call_via_r0\n" - " ldr r1, ._1202 + 4\n" + " ldr r1, ._1202 + 4 @ gActiveBank\n" " strb r4, [r1]\n" - " ldr r0, ._1202 + 8\n" + " ldr r0, ._1202 + 8 @ gNoOfAllBanks\n" " ldrb r0, [r0]\n" " cmp r4, r0\n" " bcs ._1200 @cond_branch\n" - " ldr r5, ._1202 + 12\n" + " ldr r5, ._1202 + 12 @ gBattleBankFunc\n" " add r4, r1, #0\n" "._1201:\n" " ldrb r0, [r4]\n" @@ -7045,7 +7045,7 @@ void debug_sub_80139E4() " ldrb r0, [r4]\n" " add r0, r0, #0x1\n" " strb r0, [r4]\n" - " ldr r1, ._1202 + 8\n" + " ldr r1, ._1202 + 8 @ gNoOfAllBanks\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " ldrb r1, [r1]\n" @@ -7080,20 +7080,20 @@ void sub_8010874() " bl SpecialStatusesClear\n" " mov r2, #0x0\n" " mov r3, #0x0\n" - " ldr r0, ._1215\n" + " ldr r0, ._1215 @ gUnknown_02024C4C\n" " mov sl, r0\n" - " ldr r1, ._1215 + 4\n" + " ldr r1, ._1215 + 4 @ gLastHitByType\n" " mov r9, r1\n" - " ldr r4, ._1215 + 8\n" + " ldr r4, ._1215 + 8 @ gLastLandedMoves\n" " mov r8, r4\n" - " ldr r0, ._1215 + 12\n" + " ldr r0, ._1215 + 12 @ gLastUsedMove\n" " mov ip, r0\n" - " ldr r4, ._1215 + 16\n" + " ldr r4, ._1215 + 16 @ gDisableStructs\n" " mov r5, #0x0\n" - " ldr r7, ._1215 + 20\n" - " ldr r6, ._1215 + 24\n" + " ldr r7, ._1215 + 20 @ gUnknown_02024C2C\n" + " ldr r6, ._1215 + 24 @ gLockedMoves\n" "._1205:\n" - " ldr r0, ._1215 + 28\n" + " ldr r0, ._1215 + 28 @ gStatuses3\n" " add r0, r5, r0\n" " str r3, [r0]\n" " mov r1, #0x0\n" @@ -7105,7 +7105,7 @@ void sub_8010874() " bls ._1204 @cond_branch\n" " mov r0, #0x2\n" " strb r0, [r4, #0x16]\n" - " ldr r1, ._1215 + 32\n" + " ldr r1, ._1215 + 32 @ gUnknown_02024C70\n" " add r0, r2, r1\n" " strb r3, [r0]\n" " mov r0, ip\n" @@ -7116,13 +7116,13 @@ void sub_8010874() " strh r3, [r0]\n" " mov r1, sl\n" " strh r3, [r1]\n" - " ldr r0, ._1215 + 36\n" + " ldr r0, ._1215 + 36 @ gUnknown_02024C5C\n" " add r1, r2, r0\n" " mov r0, #0xff\n" " strb r0, [r1]\n" " strh r3, [r6]\n" " strh r3, [r7]\n" - " ldr r1, ._1215 + 40\n" + " ldr r1, ._1215 + 40 @ gSharedMem\n" " add r0, r5, r1\n" " str r3, [r0]\n" " mov r0, #0x2\n" @@ -7138,8 +7138,8 @@ void sub_8010874() " cmp r2, #0x3\n" " ble ._1205 @cond_branch\n" " mov r5, #0x0\n" - " ldr r3, ._1215 + 44\n" - " ldr r4, ._1215 + 48\n" + " ldr r3, ._1215 + 44 @ gSideTimers\n" + " ldr r4, ._1215 + 48 @ gSideAffecting\n" " mov r2, #0x1\n" "._1207:\n" " strh r5, [r4]\n" @@ -7156,13 +7156,13 @@ void sub_8010874() " cmp r2, #0\n" " bge ._1207 @cond_branch\n" " mov r1, #0x0\n" - " ldr r2, ._1215 + 52\n" + " ldr r2, ._1215 + 52 @ gBankAttacker\n" " strb r1, [r2]\n" - " ldr r3, ._1215 + 56\n" + " ldr r3, ._1215 + 56 @ gBankTarget\n" " strb r1, [r3]\n" - " ldr r4, ._1215 + 60\n" + " ldr r4, ._1215 + 60 @ gBattleWeather\n" " strh r1, [r4]\n" - " ldr r1, ._1215 + 64\n" + " ldr r1, ._1215 + 64 @ gWishFutureKnock\n" " mov r2, #0x0\n" " mov r3, #0x0\n" "._1208:\n" @@ -7172,50 +7172,50 @@ void sub_8010874() " cmp r2, #0x2b\n" " bls ._1208 @cond_branch\n" " mov r0, #0x0\n" - " ldr r1, ._1215 + 68\n" + " ldr r1, ._1215 + 68 @ gHitMarker\n" " str r0, [r1]\n" - " ldr r2, ._1215 + 72\n" + " ldr r2, ._1215 + 72 @ gBattleTypeFlags\n" " ldrh r1, [r2]\n" " mov r0, #0x2\n" " and r0, r0, r1\n" " cmp r0, #0\n" " bne ._1210 @cond_branch\n" - " ldr r3, ._1215 + 76\n" + " ldr r3, ._1215 + 76 @ gSaveBlock2\n" " ldrb r1, [r3, #0x15]\n" " mov r0, #0x4\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._1210 @cond_branch\n" " mov r0, #0x80\n" - " ldr r4, ._1215 + 68\n" + " ldr r4, ._1215 + 68 @ gHitMarker\n" " str r0, [r4]\n" "._1210:\n" - " ldr r1, ._1215 + 76\n" + " ldr r1, ._1215 + 76 @ gSaveBlock2\n" " ldrb r0, [r1, #0x15]\n" " lsl r0, r0, #0x1e\n" " lsr r0, r0, #0x1f\n" - " ldr r3, ._1215 + 80\n" - " ldr r4, ._1215 + 84\n" + " ldr r3, ._1215 + 80 @ gSharedMem\n" + " ldr r4, ._1215 + 84 @ 0x16084\n" " add r2, r3, r4\n" " mov r1, #0x0\n" " strb r0, [r2]\n" - " ldr r0, ._1215 + 88\n" + " ldr r0, ._1215 + 88 @ gMultiHitCounter\n" " strb r1, [r0]\n" - " ldr r2, ._1215 + 92\n" + " ldr r2, ._1215 + 92 @ gBattleOutcome\n" " strb r1, [r2]\n" - " ldr r3, ._1215 + 96\n" + " ldr r3, ._1215 + 96 @ gBattleExecBuffer\n" " str r1, [r3]\n" " mov r2, #0x0\n" - " ldr r4, ._1215 + 100\n" + " ldr r4, ._1215 + 100@ gPaydayMoney\n" " strh r1, [r4]\n" - " ldr r1, ._1215 + 80\n" - " ldr r3, ._1215 + 104\n" + " ldr r1, ._1215 + 80 @ gSharedMem\n" + " ldr r3, ._1215 + 104@ 0x17130\n" " add r0, r1, r3\n" " strb r2, [r0]\n" - " ldr r4, ._1215 + 108\n" + " ldr r4, ._1215 + 108@ 0x17160\n" " add r0, r1, r4\n" " strb r2, [r0]\n" - " ldr r1, ._1215 + 112\n" + " ldr r1, ._1215 + 112@ gBattleCommunication\n" " mov r2, #0x0\n" " add r0, r1, #7\n" "._1211:\n" @@ -7224,37 +7224,37 @@ void sub_8010874() " cmp r0, r1\n" " bge ._1211 @cond_branch\n" " mov r5, #0x0\n" - " ldr r0, ._1215 + 116\n" + " ldr r0, ._1215 + 116@ gPauseCounterBattle\n" " strh r5, [r0]\n" " mov r0, #0x0\n" - " ldr r1, ._1215 + 120\n" + " ldr r1, ._1215 + 120@ gBattleMoveDamage\n" " str r0, [r1]\n" - " ldr r2, ._1215 + 124\n" + " ldr r2, ._1215 + 124@ gUnknown_02024DE8\n" " strh r0, [r2]\n" - " ldr r4, ._1215 + 80\n" - " ldr r3, ._1215 + 128\n" + " ldr r4, ._1215 + 80 @ gSharedMem\n" + " ldr r3, ._1215 + 128@ 0x16002\n" " add r0, r4, r3\n" " strb r5, [r0]\n" - " ldr r1, ._1215 + 132\n" + " ldr r1, ._1215 + 132@ 0x160a1\n" " add r0, r4, r1\n" " strb r5, [r0]\n" - " ldr r2, ._1215 + 136\n" + " ldr r2, ._1215 + 136@ gLeveledUpInBattle\n" " strb r5, [r2]\n" - " ldr r3, ._1215 + 140\n" + " ldr r3, ._1215 + 140@ gAbsentBankFlags\n" " strb r5, [r3]\n" " sub r1, r1, #0x29\n" " add r0, r4, r1\n" " strb r5, [r0]\n" - " ldr r2, ._1215 + 144\n" + " ldr r2, ._1215 + 144@ 0x16086\n" " add r0, r4, r2\n" " strb r5, [r0]\n" - " ldr r3, ._1215 + 148\n" + " ldr r3, ._1215 + 148@ 0x16087\n" " add r0, r4, r3\n" " strb r5, [r0]\n" - " ldr r0, ._1215 + 152\n" + " ldr r0, ._1215 + 152@ gEnemyParty\n" " mov r1, #0xb\n" " bl GetMonData\n" - " ldr r2, ._1215 + 156\n" + " ldr r2, ._1215 + 156@ gBaseStats\n" " lsl r1, r0, #0x3\n" " sub r1, r1, r0\n" " lsl r1, r1, #0x2\n" @@ -7262,16 +7262,16 @@ void sub_8010874() " ldrb r1, [r1, #0x8]\n" " mov r0, #0x64\n" " mul r0, r0, r1\n" - " ldr r1, ._1215 + 160\n" + " ldr r1, ._1215 + 160@ 0x4fb\n" " bl __divsi3\n" - " ldr r2, ._1215 + 164\n" + " ldr r2, ._1215 + 164@ 0x16089\n" " add r1, r4, r2\n" " strb r0, [r1]\n" - " ldr r3, ._1215 + 168\n" + " ldr r3, ._1215 + 168@ 0x16088\n" " add r1, r4, r3\n" " mov r0, #0x3\n" " strb r0, [r1]\n" - " ldr r1, ._1215 + 172\n" + " ldr r1, ._1215 + 172@ 0x1601b\n" " add r0, r4, r1\n" " strb r5, [r0]\n" " sub r2, r2, #0x33\n" @@ -7281,7 +7281,7 @@ void sub_8010874() " mov r2, #0x0\n" " mov r1, #0x0\n" "._1212:\n" - " ldr r3, ._1215 + 176\n" + " ldr r3, ._1215 + 176@ 0x160ac\n" " add r0, r2, r3\n" " add r0, r0, r4\n" " strb r1, [r0]\n" @@ -7308,8 +7308,8 @@ void sub_8010874() " add r2, r2, #0x1\n" " cmp r2, #0x7\n" " ble ._1212 @cond_branch\n" - " ldr r4, ._1215 + 80\n" - " ldr r1, ._1215 + 180\n" + " ldr r4, ._1215 + 80 @ gSharedMem\n" + " ldr r1, ._1215 + 180@ 0x160c8\n" " add r0, r4, r1\n" " mov r2, #0x0\n" " mov r1, #0x6\n" @@ -7317,10 +7317,10 @@ void sub_8010874() " sub r3, r3, #0x3f\n" " add r0, r4, r3\n" " strb r1, [r0]\n" - " ldr r1, ._1215 + 184\n" + " ldr r1, ._1215 + 184@ 0x16113\n" " add r0, r4, r1\n" " strb r2, [r0]\n" - " ldr r3, ._1215 + 188\n" + " ldr r3, ._1215 + 188@ gBattleResults\n" " mov r1, #0x0\n" " mov r2, #0xa\n" " add r0, r3, #0\n" @@ -7367,12 +7367,12 @@ void sub_8010874() " add r2, r2, #0x1\n" " cmp r2, #0x9\n" " ble ._1214 @cond_branch\n" - " ldr r2, ._1215 + 80\n" - " ldr r3, ._1215 + 192\n" + " ldr r2, ._1215 + 80 @ gSharedMem\n" + " ldr r3, ._1215 + 192@ 0x1609e\n" " add r0, r2, r3\n" " mov r1, #0x0\n" " strb r1, [r0]\n" - " ldr r4, ._1215 + 196\n" + " ldr r4, ._1215 + 196@ 0x1609f\n" " add r0, r2, r4\n" " strb r1, [r0]\n" " pop {r3, r4, r5}\n" diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 9fe1f6cb0..8b81139fb 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -5024,8 +5024,8 @@ static void atk15_seteffectwithchance(void) { asm("\ push {r4, lr}\n\ - ldr r2, ._1037\n\ - ldr r0, ._1037 + 4\n\ + ldr r2, ._1037 @ gBattleMons\n\ + ldr r0, ._1037 + 4 @ gBankAttacker\n\ ldrb r1, [r0]\n\ mov r0, #0x58\n\ mul r0, r0, r1\n\ @@ -5034,8 +5034,8 @@ static void atk15_seteffectwithchance(void) ldrb r0, [r0]\n\ cmp r0, #0x20\n\ bne ._1035 @cond_branch\n\ - ldr r2, ._1037 + 8\n\ - ldr r0, ._1037 + 12\n\ + ldr r2, ._1037 + 8 @ gBattleMoves\n\ + ldr r0, ._1037 + 12 @ gCurrentMove\n\ ldrh r1, [r0]\n\ lsl r0, r1, #0x1\n\ add r0, r0, r1\n\ @@ -5052,8 +5052,8 @@ static void atk15_seteffectwithchance(void) .word gBattleMoves\n\ .word gCurrentMove\n\ ._1035:\n\ - ldr r2, ._1045\n\ - ldr r0, ._1045 + 4\n\ + ldr r2, ._1045 @ gBattleMoves\n\ + ldr r0, ._1045 + 4 @ gCurrentMove\n\ ldrh r1, [r0]\n\ lsl r0, r1, #0x1\n\ add r0, r0, r1\n\ @@ -5061,11 +5061,11 @@ static void atk15_seteffectwithchance(void) add r0, r0, r2\n\ ldrb r4, [r0, #0x5]\n\ ._1036:\n\ - ldr r0, ._1045 + 8\n\ + ldr r0, ._1045 + 8 @ gUnknown_02023A14_50\n\ ldrb r1, [r0]\n\ mov r0, #0x4\n\ and r0, r0, r1\n\ - ldr r2, ._1045 + 12\n\ + ldr r2, ._1045 + 12 @ gBattleCommunication\n\ cmp r0, #0\n\ beq ._1039 @cond_branch\n\ ldrb r1, [r2, #0x3]\n\ @@ -5073,7 +5073,7 @@ static void atk15_seteffectwithchance(void) and r0, r0, r1\n\ cmp r0, #0\n\ bne ._1040 @cond_branch\n\ - ldr r0, ._1045 + 16\n\ + ldr r0, ._1045 + 16 @ gBattleMoveFlags\n\ ldrb r1, [r0]\n\ mov r0, #0x29\n\ and r0, r0, r1\n\ @@ -5086,13 +5086,13 @@ static void atk15_seteffectwithchance(void) cmp r0, #0\n\ beq ._1043 @cond_branch\n\ ._1040:\n\ - ldr r0, ._1045 + 16\n\ + ldr r0, ._1045 + 16 @ gBattleMoveFlags\n\ ldrb r1, [r0]\n\ mov r0, #0x29\n\ and r0, r0, r1\n\ cmp r0, #0\n\ bne ._1043 @cond_branch\n\ - ldr r2, ._1045 + 12\n\ + ldr r2, ._1045 + 12 @ gBattleCommunication\n\ ldrb r1, [r2, #0x3]\n\ mov r0, #0x7f\n\ and r0, r0, r1\n\ @@ -5116,11 +5116,11 @@ static void atk15_seteffectwithchance(void) lsr r0, r0, #0x10\n\ cmp r0, r4\n\ bhi ._1049 @cond_branch\n\ - ldr r0, ._1052\n\ + ldr r0, ._1052 @ gBattleCommunication\n\ ldrb r0, [r0, #0x3]\n\ cmp r0, #0\n\ beq ._1049 @cond_branch\n\ - ldr r0, ._1052 + 4\n\ + ldr r0, ._1052 + 4 @ gBattleMoveFlags\n\ ldrb r1, [r0]\n\ mov r0, #0x29\n\ and r0, r0, r1\n\ @@ -5144,16 +5144,16 @@ static void atk15_seteffectwithchance(void) bl SetMoveEffect\n\ b ._1054\n\ ._1049:\n\ - ldr r1, ._1055\n\ + ldr r1, ._1055 @ gBattlescriptCurrInstr\n\ ldr r0, [r1]\n\ add r0, r0, #0x1\n\ str r0, [r1]\n\ ._1054:\n\ - ldr r0, ._1055 + 4\n\ + ldr r0, ._1055 + 4 @ gBattleCommunication\n\ mov r1, #0x0\n\ strb r1, [r0, #0x3]\n\ - ldr r0, ._1055 + 8\n\ - ldr r2, ._1055 + 12\n\ + ldr r0, ._1055 + 8 @ \n\ + ldr r2, ._1055 + 12 @ \n\ add r0, r0, r2\n\ strb r1, [r0]\n\ pop {r4}\n\ @@ -12778,12 +12778,12 @@ static void atk9E_metronome(void) push {r4, r5, r6, r7, lr}\n\ mov r7, r8\n\ push {r7}\n\ - ldr r6, ._3076\n\ + ldr r6, ._3076 @ gBankAttacker\n\ ldrb r2, [r6]\n\ lsl r1, r2, #0x1\n\ - ldr r0, ._3076 + 4\n\ + ldr r0, ._3076 + 4 @ \n\ add r3, r1, r0\n\ - ldr r5, ._3076 + 8\n\ + ldr r5, ._3076 + 8 @ \n\ mov r4, #0x58\n\ add r0, r2, #0\n\ mul r0, r0, r4\n\ @@ -12802,7 +12802,7 @@ static void atk9E_metronome(void) bne ._3072 @cond_branch\n\ strh r2, [r3]\n\ ._3072:\n\ - ldr r1, ._3076 + 12\n\ + ldr r1, ._3076 + 12 @ \n\ ldrh r0, [r3]\n\ strh r0, [r1]\n\ ldrb r0, [r6]\n\ @@ -12845,14 +12845,14 @@ static void atk9E_metronome(void) ._3079:\n\ strh r0, [r3]\n\ ._3081:\n\ - ldr r4, ._3083\n\ + ldr r4, ._3083 @ gHitMarker\n\ ldr r2, [r4]\n\ - ldr r0, ._3083 + 4\n\ + ldr r0, ._3083 + 4 @ 0xfffffbff\n\ and r2, r2, r0\n\ str r2, [r4]\n\ - ldr r6, ._3083 + 8\n\ - ldr r5, ._3083 + 12\n\ - ldr r3, ._3083 + 16\n\ + ldr r6, ._3083 + 8 @ gBattlescriptCurrInstr\n\ + ldr r5, ._3083 + 12 @ gBattleScriptsForMoveEffects\n\ + ldr r3, ._3083 + 16 @ gBattleMoves\n\ ldrh r1, [r7]\n\ lsl r0, r1, #0x1\n\ add r0, r0, r1\n\ @@ -12878,15 +12878,15 @@ static void atk9E_metronome(void) .word gBattleScriptsForMoveEffects\n\ .word gBattleMoves\n\ ._3071:\n\ - ldr r7, ._3090\n\ + ldr r7, ._3090 @ gCurrentMove\n\ mov r6, #0xb1\n\ lsl r6, r6, #0x1\n\ - ldr r5, ._3090 + 4\n\ - ldr r0, ._3090 + 8\n\ + ldr r5, ._3090 + 4 @ sMovesForbiddenToCopy\n\ + ldr r0, ._3090 + 8 @ gBattlescriptCurrInstr\n\ mov r8, r0\n\ ._3089:\n\ bl Random\n\ - ldr r2, ._3090 + 12\n\ + ldr r2, ._3090 + 12 @ 0x1ff\n\ add r1, r2, #0\n\ and r0, r0, r1\n\ add r0, r0, #0x1\n\ @@ -12898,9 +12898,9 @@ static void atk9E_metronome(void) sub r0, r0, #0x1\n\ cmp r0, #0\n\ bge ._3086 @cond_branch\n\ - ldr r4, ._3090\n\ + ldr r4, ._3090 @ gCurrentMove\n\ ldrh r2, [r4]\n\ - ldr r3, ._3090 + 16\n\ + ldr r3, ._3090 + 16 @ 0xffff\n\ sub r0, r5, #2\n\ ._3088:\n\ add r0, r0, #0x2\n\ @@ -12910,16 +12910,16 @@ static void atk9E_metronome(void) cmp r1, r3\n\ bne ._3088 @cond_branch\n\ ._3087:\n\ - ldr r0, ._3090 + 16\n\ + ldr r0, ._3090 + 16 @ 0xffff\n\ cmp r1, r0\n\ bne ._3089 @cond_branch\n\ - ldr r2, ._3090 + 20\n\ + ldr r2, ._3090 + 20 @ gHitMarker\n\ ldr r0, [r2]\n\ - ldr r1, ._3090 + 24\n\ + ldr r1, ._3090 + 24 @ 0xfffffbff\n\ and r0, r0, r1\n\ str r0, [r2]\n\ - ldr r3, ._3090 + 28\n\ - ldr r2, ._3090 + 32\n\ + ldr r3, ._3090 + 28 @ gBattleScriptsForMoveEffects\n\ + ldr r2, ._3090 + 32 @ gBattleMoves\n\ ldrh r1, [r4]\n\ lsl r0, r1, #0x1\n\ add r0, r0, r1\n\ @@ -12935,7 +12935,7 @@ static void atk9E_metronome(void) ._3082:\n\ mov r1, #0x0\n\ bl GetMoveTarget\n\ - ldr r1, ._3090 + 36\n\ + ldr r1, ._3090 + 36 @ gBankTarget\n\ strb r0, [r1]\n\ pop {r3}\n\ mov r8, r3\n\ diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 5382738f7..338f8d418 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1447,26 +1447,26 @@ void OpponentHandlecmd20(void) mov r6, r9\n\ mov r5, r8\n\ push {r5, r6, r7}\n\ - ldr r6, ._549\n\ + ldr r6, ._549 @ gActiveBank\n\ ldrb r0, [r6]\n\ lsl r0, r0, #0x9\n\ - ldr r1, ._549 + 4\n\ + ldr r1, ._549 + 4 @ gBattleBufferA\n\ add r5, r0, r1\n\ - ldr r2, ._549 + 8\n\ + ldr r2, ._549 + 8 @ gUnknown_02023A14_50\n\ ldrb r1, [r2]\n\ mov r0, #0x4\n\ and r0, r0, r1\n\ mov sl, r6\n\ cmp r0, #0\n\ beq ._546 @cond_branch\n\ - ldr r0, ._549 + 12\n\ + ldr r0, ._549 + 12 @ gBattleMoves\n\ mov r9, r0\n\ - ldr r1, ._549 + 16\n\ + ldr r1, ._549 + 16 @ \n\ mov ip, r1\n\ add r7, r6, #0\n\ mov r0, #0x2\n\ mov r8, r0\n\ - ldr r6, ._549 + 20\n\ + ldr r6, ._549 + 20 @ \n\ ._552:\n\ ldrb r1, [r7]\n\ mov r0, r8\n\ @@ -1526,13 +1526,13 @@ void OpponentHandlecmd20(void) ldrb r0, [r1]\n\ b ._561\n\ ._553:\n\ - ldr r0, ._559\n\ + ldr r0, ._559 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._557 @cond_branch\n\ - ldr r0, ._559 + 4\n\ + ldr r0, ._559 + 4 @ gUnknown_02023A14_50\n\ ldrb r1, [r0]\n\ mov r5, #0x2\n\ add r0, r5, #0\n\ @@ -1578,7 +1578,7 @@ void OpponentHandlecmd20(void) bl OpponentBufferExecCompleted\n\ b ._562\n\ ._546:\n\ - ldr r0, ._567\n\ + ldr r0, ._567 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x93\n\ lsl r0, r0, #0x3\n\ @@ -1607,7 +1607,7 @@ void OpponentHandlecmd20(void) mov r2, #0x0\n\ b ._569\n\ ._565:\n\ - ldr r3, ._574\n\ + ldr r3, ._574 @ gBattleMoves\n\ lsl r0, r4, #0x1\n\ add r2, r5, r0\n\ ldrh r1, [r2]\n\ @@ -1620,7 +1620,7 @@ void OpponentHandlecmd20(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._570 @cond_branch\n\ - ldr r1, ._574 + 4\n\ + ldr r1, ._574 + 4 @ gBankTarget\n\ ldrb r0, [r6]\n\ strb r0, [r1]\n\ ._570:\n\ @@ -1636,11 +1636,11 @@ void OpponentHandlecmd20(void) beq ._572 @cond_branch\n\ mov r0, #0x0\n\ bl GetBankByIdentity\n\ - ldr r5, ._574 + 4\n\ + ldr r5, ._574 + 4 @ gBankTarget\n\ strb r0, [r5]\n\ - ldr r0, ._574 + 8\n\ + ldr r0, ._574 + 8 @ gAbsentBankFlags\n\ ldrb r1, [r0]\n\ - ldr r2, ._574 + 12\n\ + ldr r2, ._574 + 12 @ gBitTable\n\ ldrb r0, [r5]\n\ lsl r0, r0, #0x2\n\ add r0, r0, r2\n\ @@ -1652,7 +1652,7 @@ void OpponentHandlecmd20(void) bl GetBankByIdentity\n\ strb r0, [r5]\n\ ._572:\n\ - ldr r0, ._574 + 4\n\ + ldr r0, ._574 + 4 @ gBankTarget\n\ ldrb r2, [r0]\n\ lsl r2, r2, #0x8\n\ orr r2, r2, r4\n\ @@ -1678,7 +1678,7 @@ void OpponentHandlecmd20(void) ldrh r2, [r0]\n\ cmp r2, #0\n\ beq ._576 @cond_branch\n\ - ldr r1, ._579\n\ + ldr r1, ._579 @ gBattleMoves\n\ lsl r0, r2, #0x1\n\ add r0, r0, r2\n\ lsl r0, r0, #0x2\n\ @@ -1688,7 +1688,7 @@ void OpponentHandlecmd20(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._577 @cond_branch\n\ - ldr r0, ._579 + 4\n\ + ldr r0, ._579 + 4 @ gActiveBank\n\ ldrb r2, [r0]\n\ lsl r2, r2, #0x8\n\ b ._578\n\ @@ -1698,7 +1698,7 @@ void OpponentHandlecmd20(void) .word gBattleMoves\n\ .word gActiveBank\n\ ._577:\n\ - ldr r0, ._583\n\ + ldr r0, ._583 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index d4b4da6f2..e03e21849 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -1007,21 +1007,21 @@ void debug_sub_8030C24(void) asm("\ push {r4, r5, r6, lr}\n\ add sp, sp, #0xfffffff4\n\ - ldr r1, ._293\n\ - ldr r4, ._293 + 4\n\ + ldr r1, ._293 @ gBattlePartyID\n\ + ldr r4, ._293 + 4 @ gActiveBank\n\ ldrb r0, [r4]\n\ lsl r0, r0, #0x1\n\ add r0, r0, r1\n\ ldrh r1, [r0]\n\ mov r0, #0x64\n\ mul r0, r0, r1\n\ - ldr r1, ._293 + 8\n\ + ldr r1, ._293 + 8 @ gPlayerParty\n\ add r0, r0, r1\n\ mov r1, #0xd\n\ bl GetMonData\n\ add r1, sp, #0x8\n\ strh r0, [r1]\n\ - ldr r5, ._293 + 12\n\ + ldr r5, ._293 + 12 @ gMain\n\ ldrh r1, [r5, #0x30]\n\ cmp r1, #0x20\n\ bne ._286 @cond_branch\n\ @@ -1082,7 +1082,7 @@ void debug_sub_8030C24(void) ldrb r0, [r4]\n\ mov r1, #0x0\n\ bl dp11b_obj_free\n\ - ldr r0, ._312\n\ + ldr r0, ._312 @ gBankAttacker\n\ ldrb r2, [r4]\n\ strb r2, [r0]\n\ ldrh r1, [r5, #0x28]\n\ @@ -1090,13 +1090,13 @@ void debug_sub_8030C24(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._310 @cond_branch\n\ - ldr r0, ._312 + 4\n\ + ldr r0, ._312 + 4 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._310 @cond_branch\n\ - ldr r0, ._312 + 8\n\ + ldr r0, ._312 + 8 @ gBankTarget\n\ mov r1, #0x2\n\ eor r1, r1, r2\n\ strb r1, [r0]\n\ @@ -1108,14 +1108,14 @@ void debug_sub_8030C24(void) .word gBattleTypeFlags\n\ .word gBankTarget\n\ ._310:\n\ - ldr r0, ._317\n\ + ldr r0, ._317 @ gMain\n\ ldrh r1, [r0, #0x28]\n\ mov r2, #0x1\n\ add r0, r2, #0\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._315 @cond_branch\n\ - ldr r0, ._317 + 4\n\ + ldr r0, ._317 + 4 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ add r0, r2, #0\n\ and r0, r0, r1\n\ @@ -1132,7 +1132,7 @@ void debug_sub_8030C24(void) mov r0, #0x1\n\ ._316:\n\ bl GetBankByIdentity\n\ - ldr r1, ._320\n\ + ldr r1, ._320 @ gBankTarget\n\ strb r0, [r1]\n\ ._311:\n\ mov r0, #0x0\n\ @@ -1140,8 +1140,8 @@ void debug_sub_8030C24(void) add r0, sp, #0x8\n\ ldrh r0, [r0]\n\ bl DoMoveAnim\n\ - ldr r1, ._320 + 4\n\ - ldr r0, ._320 + 8\n\ + ldr r1, ._320 + 4 @ gBattleBankFunc\n\ + ldr r0, ._320 + 8 @ gActiveBank\n\ ldrb r0, [r0]\n\ b ._332\n\ ._321:\n\ @@ -1157,7 +1157,7 @@ void debug_sub_8030C24(void) ldrb r0, [r4]\n\ mov r1, #0x0\n\ bl dp11b_obj_free\n\ - ldr r0, ._325\n\ + ldr r0, ._325 @ gBankTarget\n\ ldrb r2, [r4]\n\ strb r2, [r0]\n\ ldrh r1, [r5, #0x28]\n\ @@ -1165,13 +1165,13 @@ void debug_sub_8030C24(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._323 @cond_branch\n\ - ldr r0, ._325 + 4\n\ + ldr r0, ._325 + 4 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._323 @cond_branch\n\ - ldr r0, ._325 + 8\n\ + ldr r0, ._325 + 8 @ gBankAttacker\n\ mov r1, #0x2\n\ eor r1, r1, r2\n\ strb r1, [r0]\n\ @@ -1183,14 +1183,14 @@ void debug_sub_8030C24(void) .word gBattleTypeFlags\n\ .word gBankAttacker\n\ ._323:\n\ - ldr r0, ._330\n\ + ldr r0, ._330 @ gMain\n\ ldrh r1, [r0, #0x28]\n\ mov r2, #0x1\n\ add r0, r2, #0\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._328 @cond_branch\n\ - ldr r0, ._330 + 4\n\ + ldr r0, ._330 + 4 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ add r0, r2, #0\n\ and r0, r0, r1\n\ @@ -1207,7 +1207,7 @@ void debug_sub_8030C24(void) mov r0, #0x1\n\ ._329:\n\ bl GetBankByIdentity\n\ - ldr r1, ._333\n\ + ldr r1, ._333 @ gBankAttacker\n\ strb r0, [r1]\n\ ._324:\n\ mov r0, #0x0\n\ @@ -1215,8 +1215,8 @@ void debug_sub_8030C24(void) add r0, sp, #0x8\n\ ldrh r0, [r0]\n\ bl DoMoveAnim\n\ - ldr r1, ._333 + 4\n\ - ldr r0, ._333 + 8\n\ + ldr r1, ._333 + 4 @ gBattleBankFunc\n\ + ldr r0, ._333 + 8 @ gActiveBank\n\ ldrb r0, [r0]\n\ b ._332\n\ ._334:\n\ @@ -1231,7 +1231,7 @@ void debug_sub_8030C24(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._336 @cond_branch\n\ - ldr r0, ._338\n\ + ldr r0, ._338 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -1245,7 +1245,7 @@ void debug_sub_8030C24(void) bl dp11b_obj_free\n\ mov r0, #0x3\n\ bl GetBankByIdentity\n\ - ldr r1, ._338 + 4\n\ + ldr r1, ._338 + 4 @ gBankAttacker\n\ strb r0, [r1]\n\ mov r0, #0x1\n\ b ._337\n\ @@ -1283,7 +1283,7 @@ void debug_sub_8030C24(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._343 @cond_branch\n\ - ldr r0, ._345\n\ + ldr r0, ._345 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -1297,24 +1297,24 @@ void debug_sub_8030C24(void) bl dp11b_obj_free\n\ mov r0, #0x1\n\ bl GetBankByIdentity\n\ - ldr r1, ._345 + 4\n\ + ldr r1, ._345 + 4 @ gBankAttacker\n\ strb r0, [r1]\n\ mov r0, #0x3\n\ ._337:\n\ bl GetBankByIdentity\n\ - ldr r1, ._345 + 8\n\ + ldr r1, ._345 + 8 @ gBankTarget\n\ strb r0, [r1]\n\ mov r0, #0x0\n\ bl sub_80326EC\n\ add r0, sp, #0x8\n\ ldrh r0, [r0]\n\ bl DoMoveAnim\n\ - ldr r1, ._345 + 12\n\ + ldr r1, ._345 + 12 @ gBattleBankFunc\n\ ldrb r0, [r4]\n\ ._332:\n\ lsl r0, r0, #0x2\n\ add r0, r0, r1\n\ - ldr r1, ._345 + 16\n\ + ldr r1, ._345 + 16 @ debug_sub_803107C\n\ str r1, [r0]\n\ b ._348\n\ ._346:\n\ @@ -1345,20 +1345,20 @@ void debug_sub_8030C24(void) add r0, r2, #0\n\ strh r0, [r1]\n\ ._347:\n\ - ldr r1, ._349\n\ - ldr r4, ._349 + 4\n\ + ldr r1, ._349 @ gBattlePartyID\n\ + ldr r4, ._349 + 4 @ gActiveBank\n\ ldrb r0, [r4]\n\ lsl r0, r0, #0x1\n\ add r0, r0, r1\n\ ldrh r1, [r0]\n\ mov r0, #0x64\n\ mul r0, r0, r1\n\ - ldr r1, ._349 + 8\n\ + ldr r1, ._349 + 8 @ gPlayerParty\n\ add r0, r0, r1\n\ mov r1, #0xd\n\ add r2, sp, #0x8\n\ bl SetMonData\n\ - ldr r2, ._349 + 12\n\ + ldr r2, ._349 + 12 @ gBattleMons\n\ ldrb r1, [r4]\n\ mov r0, #0x58\n\ mul r0, r0, r1\n\ @@ -1366,8 +1366,8 @@ void debug_sub_8030C24(void) add r1, sp, #0x8\n\ ldrh r1, [r1]\n\ strh r1, [r0, #0xc]\n\ - ldr r5, ._349 + 16\n\ - ldr r1, ._349 + 20\n\ + ldr r5, ._349 + 16 @ gUnknown_03004210\n\ + ldr r1, ._349 + 20 @ 0x1016\n\ mov r0, #0x10\n\ str r0, [sp]\n\ mov r0, #0x38\n\ @@ -1381,7 +1381,7 @@ void debug_sub_8030C24(void) ldsh r1, [r0, r2]\n\ mov r0, #0xd\n\ mul r1, r1, r0\n\ - ldr r0, ._349 + 24\n\ + ldr r0, ._349 + 24 @ gMoveNames\n\ add r1, r1, r0\n\ mov r2, #0x80\n\ lsl r2, r2, #0x1\n\ @@ -1390,7 +1390,7 @@ void debug_sub_8030C24(void) add r0, r5, #0\n\ mov r3, #0x2\n\ bl Text_InitWindowAndPrintText\n\ - ldr r4, ._349 + 28\n\ + ldr r4, ._349 + 28 @ gDisplayedStringBattle\n\ add r0, sp, #0x8\n\ mov r2, #0x0\n\ ldsh r1, [r0, r2]\n\ @@ -1418,11 +1418,11 @@ void debug_sub_8030C24(void) .word gMoveNames\n\ .word gDisplayedStringBattle\n\ ._302:\n\ - ldr r0, ._353\n\ + ldr r0, ._353 @ gMain\n\ ldrh r0, [r0, #0x30]\n\ cmp r0, #0x40\n\ bne ._351 @cond_branch\n\ - ldr r1, ._353 + 4\n\ + ldr r1, ._353 + 4 @ gAnimMoveTurn\n\ ldrb r0, [r1]\n\ sub r0, r0, #0x1\n\ b ._352\n\ @@ -1432,18 +1432,18 @@ void debug_sub_8030C24(void) .word gMain\n\ .word gAnimMoveTurn\n\ ._351:\n\ - ldr r1, ._359\n\ + ldr r1, ._359 @ gAnimMoveTurn\n\ ldrb r0, [r1]\n\ add r0, r0, #0x1\n\ ._352:\n\ strb r0, [r1]\n\ - ldr r4, ._359 + 4\n\ + ldr r4, ._359 + 4 @ gDisplayedStringBattle\n\ ldrb r1, [r1]\n\ add r0, r4, #0\n\ mov r2, #0x2\n\ mov r3, #0x3\n\ bl ConvertIntToDecimalStringN\n\ - ldr r0, ._359 + 8\n\ + ldr r0, ._359 + 8 @ gUnknown_03004210\n\ mov r2, #0x8e\n\ lsl r2, r2, #0x1\n\ mov r1, #0x39\n\ @@ -1452,7 +1452,7 @@ void debug_sub_8030C24(void) mov r3, #0x4\n\ bl Text_InitWindowAndPrintText\n\ ._348:\n\ - ldr r0, ._359 + 12\n\ + ldr r0, ._359 + 12 @ gMain\n\ ldrh r2, [r0, #0x28]\n\ mov r1, #0xc0\n\ lsl r1, r1, #0x2\n\ @@ -1461,28 +1461,28 @@ void debug_sub_8030C24(void) cmp r0, r1\n\ bne ._355 @cond_branch\n\ mov r4, #0x0\n\ - ldr r5, ._359 + 4\n\ - ldr r6, ._359 + 8\n\ + ldr r5, ._359 + 4 @ gDisplayedStringBattle\n\ + ldr r6, ._359 + 8 @ gUnknown_03004210\n\ ._361:\n\ add r0, r5, #0\n\ - ldr r1, ._359 + 16\n\ + ldr r1, ._359 + 16 @ BattleText_Format\n\ bl StringCopy\n\ - ldr r1, ._359 + 20\n\ - ldr r0, ._359 + 24\n\ + ldr r1, ._359 + 20 @ gBattlePartyID\n\ + ldr r0, ._359 + 24 @ gActiveBank\n\ ldrb r0, [r0]\n\ lsl r0, r0, #0x1\n\ add r0, r0, r1\n\ ldrh r1, [r0]\n\ mov r0, #0x64\n\ mul r0, r0, r1\n\ - ldr r1, ._359 + 28\n\ + ldr r1, ._359 + 28 @ gPlayerParty\n\ add r0, r0, r1\n\ add r1, r4, #0\n\ add r1, r1, #0xd\n\ bl GetMonData\n\ mov r1, #0xd\n\ mul r1, r1, r0\n\ - ldr r0, ._359 + 32\n\ + ldr r0, ._359 + 32 @ gMoveNames\n\ add r1, r1, r0\n\ add r0, r5, #0\n\ bl StringAppend\n\ @@ -1521,19 +1521,19 @@ void debug_sub_8030C24(void) add r0, r6, #0\n\ add r1, r5, #0\n\ bl Text_InitWindow\n\ - ldr r0, ._362\n\ + ldr r0, ._362 @ gUnknown_03004210\n\ bl Text_PrintWindow8002F44\n\ add r0, r4, #1\n\ lsl r0, r0, #0x18\n\ lsr r4, r0, #0x18\n\ cmp r4, #0x3\n\ bls ._361 @cond_branch\n\ - ldr r1, ._362 + 4\n\ - ldr r0, ._362 + 8\n\ + ldr r1, ._362 + 4 @ gBattleBankFunc\n\ + ldr r0, ._362 + 8 @ gActiveBank\n\ ldrb r0, [r0]\n\ lsl r0, r0, #0x2\n\ add r0, r0, r1\n\ - ldr r1, ._362 + 12\n\ + ldr r1, ._362 + 12 @ sub_802C68C\n\ str r1, [r0]\n\ ._355:\n\ add sp, sp, #0xc\n\ @@ -1556,16 +1556,16 @@ void debug_sub_803107C(void) push {r4, r5, r6, r7, lr}\n\ add sp, sp, #0xfffffffc\n\ mov r7, #0x0\n\ - ldr r0, ._369\n\ + ldr r0, ._369 @ gAnimScriptCallback\n\ ldr r0, [r0]\n\ bl _call_via_r0\n\ - ldr r0, ._369 + 4\n\ + ldr r0, ._369 + 4 @ gAnimScriptActive\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ bne ._364 @cond_branch\n\ mov r0, #0x1\n\ bl sub_80326EC\n\ - ldr r4, ._369 + 8\n\ + ldr r4, ._369 + 8 @ gActiveBank\n\ ldrb r0, [r4]\n\ mov r1, #0x1\n\ mov r2, #0x7\n\ @@ -1576,7 +1576,7 @@ void debug_sub_803107C(void) mov r2, #0x7\n\ mov r3, #0x1\n\ bl dp11b_obj_instanciate\n\ - ldr r0, ._369 + 12\n\ + ldr r0, ._369 + 12 @ gSprites\n\ add r2, r0, #0\n\ add r2, r2, #0x3e\n\ mov r1, #0x3f\n\ @@ -1593,13 +1593,13 @@ void debug_sub_803107C(void) sub r1, r1, #0x1\n\ cmp r1, #0\n\ bge ._366 @cond_branch\n\ - ldr r4, ._369 + 16\n\ + ldr r4, ._369 + 16 @ gDisplayedStringBattle\n\ add r0, r4, #0\n\ add r1, r7, #0\n\ mov r2, #0x2\n\ mov r3, #0x2\n\ bl ConvertIntToDecimalStringN\n\ - ldr r6, ._369 + 20\n\ + ldr r6, ._369 + 20 @ gUnknown_03004210\n\ mov r2, #0x91\n\ lsl r2, r2, #0x1\n\ mov r5, #0x39\n\ @@ -1625,7 +1625,7 @@ void debug_sub_803107C(void) bl Text_InitWindowAndPrintText\n\ mov r1, #0x0\n\ mov r7, #0x0\n\ - ldr r0, ._369 + 24\n\ + ldr r0, ._369 + 24 @ gOamMatrixAllocBitmap\n\ mov r3, #0x1\n\ ldr r2, [r0]\n\ ._368:\n\ @@ -1641,13 +1641,13 @@ void debug_sub_803107C(void) add r1, r1, #0x1\n\ cmp r1, #0x1f\n\ ble ._368 @cond_branch\n\ - ldr r4, ._369 + 16\n\ + ldr r4, ._369 + 16 @ gDisplayedStringBattle\n\ add r0, r4, #0\n\ add r1, r7, #0\n\ mov r2, #0x2\n\ mov r3, #0x2\n\ bl ConvertIntToDecimalStringN\n\ - ldr r0, ._369 + 20\n\ + ldr r0, ._369 + 20 @ gUnknown_03004210\n\ mov r2, #0x95\n\ lsl r2, r2, #0x1\n\ mov r1, #0x39\n\ @@ -1655,12 +1655,12 @@ void debug_sub_803107C(void) add r1, r4, #0\n\ mov r3, #0xe\n\ bl Text_InitWindowAndPrintText\n\ - ldr r1, ._369 + 28\n\ - ldr r0, ._369 + 8\n\ + ldr r1, ._369 + 28 @ gBattleBankFunc\n\ + ldr r0, ._369 + 8 @ gActiveBank\n\ ldrb r0, [r0]\n\ lsl r0, r0, #0x2\n\ add r0, r0, r1\n\ - ldr r1, ._369 + 32\n\ + ldr r1, ._369 + 32 @ debug_sub_8030C24\n\ str r1, [r0]\n\ ._364:\n\ add sp, sp, #0x4\n\ diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index 9dd1d7b53..1532a0b2f 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -234,12 +234,12 @@ void debug_sub_81257E0(void) add sp, sp, #0xfffffffc\n\ bl InitLinkBattleRecords\n\ mov r5, #0x0\n\ - ldr r6, ._62\n\ + ldr r6, ._62 @ gUnknown_Debug_4245CC\n\ sub r0, r6, #2\n\ mov r8, r0\n\ - ldr r7, ._62 + 4\n\ + ldr r7, ._62 + 4 @ gLinkPlayers\n\ ._61:\n\ - ldr r0, ._62 + 8\n\ + ldr r0, ._62 + 8 @ gUnknown_Debug_8424620\n\ lsl r3, r5, #0x2\n\ add r3, r3, r0\n\ ldrb r4, [r3]\n\ @@ -251,7 +251,7 @@ void debug_sub_81257E0(void) add r0, r0, r8\n\ ldrh r2, [r0]\n\ ldrb r3, [r3, #0x1]\n\ - ldr r0, ._62 + 12\n\ + ldr r0, ._62 + 12 @ gLinkPlayerMapObjects\n\ lsl r4, r4, #0x2\n\ add r4, r4, r0\n\ ldrb r4, [r4, #0x1]\n\ @@ -261,7 +261,7 @@ void debug_sub_81257E0(void) add r0, r0, r7\n\ ldrb r0, [r0, #0x1a]\n\ str r0, [sp]\n\ - ldr r0, ._62 + 16\n\ + ldr r0, ._62 + 16 @ gSaveBlock1\n\ bl UpdateLinkBattleRecords_\n\ add r5, r5, #0x1\n\ cmp r5, #0x2\n\ diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 2bc536d6c..4690368d8 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -491,7 +491,7 @@ u8 DebugMenu_8076E18() asm( " push {lr}\n" " bl debug_sub_8076B4C\n" - " ldr r0, ._67\n" + " ldr r0, ._67 @ DebugMenu_8076D6C\n" " mov r1, #0xa\n" " bl CreateTask\n" " mov r0, #0x0\n" @@ -515,7 +515,7 @@ void DebugMenu_8076E30() " lsl r0, r3, #0x2\n" " add r0, r0, r3\n" " lsl r0, r0, #0x3\n" - " ldr r1, ._73\n" + " ldr r1, ._73 @ gTasks\n" " add r4, r0, r1\n" " mov r0, #0x0\n" " ldsh r1, [r4, r0]\n" @@ -536,7 +536,7 @@ void DebugMenu_8076E30() " b ._86\n" "._71:\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._78\n" + " ldr r0, ._78 @ Str_839BD5A\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" @@ -546,14 +546,14 @@ void DebugMenu_8076E30() "._78:\n" " .word Str_839BD5A\n" "._69:\n" - " ldr r0, ._82\n" + " ldr r0, ._82 @ gMain\n" " ldrh r2, [r0, #0x2e]\n" " and r1, r1, r2\n" " cmp r1, #0\n" " beq ._80 @cond_branch\n" " bl Menu_DisplayDialogueFrame\n" " bl sub_813B79C\n" - " ldr r0, ._82 + 4\n" + " ldr r0, ._82 + 4 @ Str_839BD7D\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" @@ -579,7 +579,7 @@ void DebugMenu_8076E30() " bl DoSoftReset\n" " b ._86\n" "._75:\n" - " ldr r0, ._87\n" + " ldr r0, ._87 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -606,7 +606,7 @@ u8 DebugMenu_8076EDC() asm( " push {lr}\n" " bl debug_sub_8076B4C\n" - " ldr r0, ._89\n" + " ldr r0, ._89 @ DebugMenu_8076E30\n" " mov r1, #0xa\n" " bl CreateTask\n" " mov r0, #0x0\n" @@ -631,7 +631,7 @@ void DebugMenu_8076EF4() " mov r2, #0xb\n" " mov r3, #0x11\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r4, ._93\n" + " ldr r4, ._93 @ gUnknown_Debug_839BDC4\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x8\n" @@ -711,13 +711,13 @@ void DebugMenu_8076F60() " bl DestroyTask\n" " b ._97\n" "._96:\n" - " ldr r3, ._100\n" + " ldr r3, ._100 @ gUnknown_Debug_839BDC4\n" " lsl r2, r2, #0x18\n" " asr r2, r2, #0x15\n" " add r0, r3, #4\n" " add r0, r2, r0\n" " ldrb r4, [r0]\n" - " ldr r0, ._100 + 4\n" + " ldr r0, ._100 + 4 @ gSaveBlock2\n" " mov r1, #0x1\n" " and r1, r1, r4\n" " strb r1, [r0, #0x8]\n" @@ -742,7 +742,7 @@ void DebugMenu_8076F60() "._99:\n" " add r0, r5, #0\n" " bl DestroyTask\n" - " ldr r0, ._102\n" + " ldr r0, ._102 @ debug_sub_8058C00\n" " bl SetMainCallback2\n" "._97:\n" " pop {r4, r5}\n" @@ -762,7 +762,7 @@ void DebugMenu_8076FEC() asm( " push {lr}\n" " bl DebugMenu_8076EF4\n" - " ldr r0, ._104\n" + " ldr r0, ._104 @ DebugMenu_8076F60\n" " mov r1, #0xa\n" " bl CreateTask\n" " pop {r0}\n" @@ -779,11 +779,11 @@ __attribute__((naked)) void DebugMenu_8077004() { asm( - " ldr r2, ._106\n" - " ldr r0, ._106 + 4\n" + " ldr r2, ._106 @ gUnknown_030006C4\n" + " ldr r0, ._106 + 4 @ gUnknown_030006C1\n" " ldrb r0, [r0]\n" " lsl r0, r0, #0x3\n" - " ldr r1, ._106 + 8\n" + " ldr r1, ._106 + 8 @ gUnknown_Debug_839BB64\n" " add r0, r0, r1\n" " str r0, [r2]\n" " bx lr\n" @@ -804,7 +804,7 @@ void DebugMenu_8077020() " push {r4, lr}\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" - " ldr r0, ._109\n" + " ldr r0, ._109 @ gMenuCallback\n" " ldr r0, [r0]\n" " bl _call_via_r0\n" " lsl r0, r0, #0x18\n" @@ -830,11 +830,11 @@ void DebugMenu_8077048() { asm( " push {lr}\n" - " ldr r0, ._111\n" - " ldr r1, ._111 + 4\n" + " ldr r0, ._111 @ gMenuCallback\n" + " ldr r1, ._111 + 4 @ DebugMenu_807706C\n" " str r1, [r0]\n" " bl ScriptContext2_Enable\n" - " ldr r0, ._111 + 8\n" + " ldr r0, ._111 + 8 @ DebugMenu_8077020\n" " mov r1, #0x50\n" " bl CreateTask\n" " pop {r0}\n" @@ -854,14 +854,14 @@ void DebugMenu_807706C() { asm( " push {lr}\n" - " ldr r0, ._113\n" + " ldr r0, ._113 @ gWindowTemplate_81E6CE4\n" " bl InitMenuWindow\n" " bl DebugMenu_8077004\n" " bl DebugMenu_807719C\n" " bl DebugMenu_80771EC\n" " bl DebugMenu_8077238\n" - " ldr r1, ._113 + 4\n" - " ldr r0, ._113 + 8\n" + " ldr r1, ._113 + 4 @ gMenuCallback\n" + " ldr r0, ._113 + 8 @ DebugMenu_807709C\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -881,7 +881,7 @@ void DebugMenu_807709C() { asm( " push {r4, lr}\n" - " ldr r4, ._120\n" + " ldr r4, ._120 @ gMain\n" " ldrh r1, [r4, #0x2e]\n" " mov r0, #0x40\n" " and r0, r0, r1\n" @@ -892,7 +892,7 @@ void DebugMenu_807709C() " mov r0, #0x1\n" " neg r0, r0\n" " bl Menu_MoveCursor\n" - " ldr r1, ._120 + 4\n" + " ldr r1, ._120 + 4 @ gUnknown_030006C0\n" " strb r0, [r1]\n" "._115:\n" " ldrh r1, [r4, #0x2e]\n" @@ -904,7 +904,7 @@ void DebugMenu_807709C() " bl PlaySE\n" " mov r0, #0x1\n" " bl Menu_MoveCursor\n" - " ldr r1, ._120 + 4\n" + " ldr r1, ._120 + 4 @ gUnknown_030006C0\n" " strb r0, [r1]\n" "._116:\n" " ldrh r1, [r4, #0x2e]\n" @@ -914,7 +914,7 @@ void DebugMenu_807709C() " beq ._117 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r1, ._120 + 8\n" + " ldr r1, ._120 + 8 @ gUnknown_030006C1\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" " bne ._118 @cond_branch\n" @@ -933,7 +933,7 @@ void DebugMenu_807709C() " bl DebugMenu_8077004\n" " bl DebugMenu_807719C\n" "._117:\n" - " ldr r0, ._125\n" + " ldr r0, ._125 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x10\n" " and r0, r0, r1\n" @@ -941,7 +941,7 @@ void DebugMenu_807709C() " beq ._122 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r1, ._125 + 4\n" + " ldr r1, ._125 + 4 @ gUnknown_030006C1\n" " ldrb r0, [r1]\n" " cmp r0, #0x7\n" " bne ._123 @cond_branch\n" @@ -959,7 +959,7 @@ void DebugMenu_807709C() " bl DebugMenu_8077004\n" " bl DebugMenu_807719C\n" "._122:\n" - " ldr r0, ._129\n" + " ldr r0, ._129 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -967,10 +967,10 @@ void DebugMenu_807709C() " beq ._127 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r1, ._129 + 4\n" - " ldr r0, ._129 + 8\n" + " ldr r1, ._129 + 4 @ gDebug0x839B9BC\n" + " ldr r0, ._129 + 8 @ gUnknown_030006C0\n" " ldrb r2, [r0]\n" - " ldr r0, ._129 + 12\n" + " ldr r0, ._129 + 12 @ gUnknown_030006C4\n" " ldr r0, [r0]\n" " add r0, r0, r2\n" " ldrb r0, [r0]\n" @@ -1018,15 +1018,15 @@ void DebugMenu_807719C() " mov r2, #0xe\n" " mov r3, #0x11\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._133\n" - " ldr r0, ._133 + 4\n" + " ldr r3, ._133 @ gDebug0x839B9BC\n" + " ldr r0, ._133 + 4 @ gUnknown_030006C4\n" " ldr r0, [r0]\n" " str r0, [sp]\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " mov r2, #0x8\n" " bl Menu_PrintItemsReordered\n" - " ldr r4, ._133 + 8\n" + " ldr r4, ._133 + 8 @ gUnknown_030006C0\n" " ldrb r0, [r4]\n" " str r0, [sp]\n" " mov r0, #0xd\n" @@ -1056,10 +1056,10 @@ void DebugMenu_80771EC() { asm( " push {r4, lr}\n" - " ldr r0, ._135\n" - " ldr r1, ._135 + 4\n" + " ldr r0, ._135 @ gStringVar4\n" + " ldr r1, ._135 + 4 @ Str_839BE04\n" " bl StringCopy\n" - " ldr r4, ._135 + 8\n" + " ldr r4, ._135 + 8 @ gSaveBlock1\n" " mov r1, #0x4\n" " ldsb r1, [r4, r1]\n" " mov r2, #0x1\n" @@ -1075,7 +1075,7 @@ void DebugMenu_80771EC() " mov r2, #0x1d\n" " mov r3, #0xf\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._135\n" + " ldr r0, ._135 @ gStringVar4\n" " mov r1, #0x14\n" " mov r2, #0xd\n" " bl Menu_PrintText\n" @@ -1102,18 +1102,18 @@ void DebugMenu_8077238() " mov r5, r8\n" " push {r5, r6, r7}\n" " add sp, sp, #0xffffffe8\n" - " ldr r1, ._139\n" + " ldr r1, ._139 @ Str_839BE07\n" " mov r0, sp\n" " mov r2, #0x2\n" " bl memcpy\n" " add r0, sp, #0x4\n" " mov r9, r0\n" - " ldr r1, ._139 + 4\n" + " ldr r1, ._139 + 4 @ Str_839BE09\n" " mov r2, #0x3\n" " bl memcpy\n" " add r1, sp, #0x8\n" " mov sl, r1\n" - " ldr r1, ._139 + 8\n" + " ldr r1, ._139 + 8 @ Str_839BE0C\n" " mov r0, sl\n" " mov r2, #0x3\n" " bl memcpy\n" @@ -1141,7 +1141,7 @@ void DebugMenu_8077238() " ldrh r0, [r6]\n" " sub r0, r0, #0x7\n" " strh r0, [r6]\n" - " ldr r7, ._139 + 12\n" + " ldr r7, ._139 + 12 @ gStringVar4\n" " add r0, r7, #0\n" " mov r1, sp\n" " bl StringCopy\n" @@ -1202,7 +1202,7 @@ void DebugMenu_8077238() " mov r2, #0x1d\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._139 + 12\n" + " ldr r0, ._139 + 12 @ gStringVar4\n" " mov r1, #0x1d\n" " ldr r2, [sp, #0x14]\n" " sub r1, r1, r2\n" @@ -1318,7 +1318,7 @@ u8 DebugMenu_OpenWatanabe() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._141\n" + " ldr r0, ._141 @ InitWatanabeDebugMenu\n" " bl SetMainCallback2\n" " bl ScriptContext2_Enable\n" " mov r0, #0x1\n" @@ -1338,7 +1338,7 @@ u8 DebugMenu_EndSequenceDemo() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._143\n" + " ldr r0, ._143 @ sub_81439D0\n" " bl SetMainCallback2\n" " bl ScriptContext2_Enable\n" " mov r0, #0x1\n" @@ -1415,7 +1415,7 @@ u8 DebugMenu_8077434() " cmp r0, #0x4\n" " bhi ._165 @cond_branch\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._149\n" + " ldr r1, ._149 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -1430,7 +1430,7 @@ u8 DebugMenu_8077434() " .word ._154\n" " .word ._155\n" "._151:\n" - " ldr r0, ._157\n" + " ldr r0, ._157 @ Str_839BE0F\n" " mov r1, #0x1\n" " mov r2, #0x4\n" " bl GetEnigmaBerryChecksum\n" @@ -1447,7 +1447,7 @@ u8 DebugMenu_8077434() "._157:\n" " .word Str_839BE0F\n" "._152:\n" - " ldr r0, ._160\n" + " ldr r0, ._160 @ Str_839BE12\n" " mov r1, #0x2\n" " mov r2, #0x0\n" " bl GetEnigmaBerryChecksum\n" @@ -1462,7 +1462,7 @@ u8 DebugMenu_8077434() "._160:\n" " .word Str_839BE12\n" "._153:\n" - " ldr r0, ._163\n" + " ldr r0, ._163 @ Str_839BE16\n" " mov r1, #0x3\n" " mov r2, #0x0\n" " bl GetEnigmaBerryChecksum\n" @@ -1476,7 +1476,7 @@ u8 DebugMenu_8077434() "._163:\n" " .word Str_839BE16\n" "._154:\n" - " ldr r0, ._166\n" + " ldr r0, ._166 @ Str_839BE1A\n" " mov r1, #0x4\n" " mov r2, #0x0\n" " bl GetEnigmaBerryChecksum\n" @@ -1496,7 +1496,7 @@ u8 DebugMenu_8077434() "._166:\n" " .word Str_839BE1A\n" "._155:\n" - " ldr r0, ._168\n" + " ldr r0, ._168 @ Str_839BE1E\n" " mov r1, #0x4\n" " mov r2, #0x0\n" " bl GetEnigmaBerryChecksum\n" @@ -1526,7 +1526,7 @@ u8 DebugMenu_807750C() { asm( " push {lr}\n" - " ldr r0, ._170\n" + " ldr r0, ._170 @ gUnknown_Debug_839BE24\n" " bl DebugMenu_8077D78\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -1545,12 +1545,12 @@ u8 DebugMenu_SetRamBerry() { asm( " push {lr}\n" - " ldr r0, ._172\n" + " ldr r0, ._172 @ gUnknown_Debug_839BE24\n" " mov r1, #0xc\n" " mov r2, #0x5\n" " bl DebugMenu_8077D24\n" - " ldr r1, ._172 + 4\n" - " ldr r0, ._172 + 8\n" + " ldr r1, ._172 + 4 @ gMenuCallback\n" + " ldr r0, ._172 + 8 @ DebugMenu_807750C\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -1570,7 +1570,7 @@ u8 DebugMenu_ToggleBGM() { asm( " push {lr}\n" - " ldr r2, ._175\n" + " ldr r2, ._175 @ gDisableMusic\n" " mov r1, #0x0\n" " ldrb r0, [r2]\n" " cmp r0, #0\n" @@ -1611,7 +1611,7 @@ u8 DebugMenu_NationalDex() asm( " push {r4, r5, lr}\n" " mov r4, #0x0\n" - " ldr r5, ._178\n" + " ldr r5, ._178 @ 0x181\n" "._177:\n" " add r4, r4, #0x1\n" " lsl r4, r4, #0x10\n" @@ -1624,7 +1624,7 @@ u8 DebugMenu_NationalDex() " bl GetSetPokedexFlag\n" " cmp r4, r5\n" " bls ._177 @cond_branch\n" - " ldr r1, ._178 + 4\n" + " ldr r1, ._178 + 4 @ gUnknown_03005CE8\n" " mov r0, #0x1\n" " strb r0, [r1]\n" " bl CloseMenu\n" @@ -1664,7 +1664,7 @@ u8 DebugMenu_HoennDex() " bl GetSetPokedexFlag\n" " cmp r5, #0xc9\n" " bls ._180 @cond_branch\n" - " ldr r1, ._181\n" + " ldr r1, ._181 @ gUnknown_03005CE8\n" " mov r0, #0x1\n" " strb r0, [r1]\n" " bl CloseMenu\n" @@ -1847,7 +1847,7 @@ void DebugMenu_80776B4() " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " ldr r1, ._183\n" + " ldr r1, ._183 @ Str_839BE4C\n" " mov r0, sp\n" " mov r2, #0x7\n" " bl memcpy\n" @@ -1861,7 +1861,7 @@ void DebugMenu_80776B4() " add r1, r5, #0\n" " mov r2, #0x1d\n" " bl Menu_BlankWindowRect\n" - " ldr r0, ._183 + 4\n" + " ldr r0, ._183 + 4 @ gUnknown_030006C8\n" " ldrb r0, [r0]\n" " ASR r0, r4\n" " mov r1, #0x1\n" @@ -1890,7 +1890,7 @@ void DebugMenu_8077704() asm( " push {lr}\n" " add sp, sp, #0xffffffec\n" - " ldr r1, ._185\n" + " ldr r1, ._185 @ Str_839BE53\n" " mov r0, sp\n" " mov r2, #0x11\n" " bl memcpy\n" @@ -1903,7 +1903,7 @@ void DebugMenu_8077704() " mov r1, #0x15\n" " mov r2, #0x0\n" " bl Menu_PrintText\n" - " ldr r2, ._185 + 4\n" + " ldr r2, ._185 + 4 @ gUnknown_030006C8\n" " mov r0, #0x80\n" " lsl r0, r0, #0x13\n" " ldrh r0, [r0]\n" @@ -1936,7 +1936,7 @@ u8 DebugMenu_8077760() { asm( " push {r4, r5, lr}\n" - " ldr r2, ._190\n" + " ldr r2, ._190 @ gMain\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x40\n" " and r0, r0, r1\n" @@ -1948,7 +1948,7 @@ u8 DebugMenu_8077760() " mov r0, #0x1\n" " neg r0, r0\n" " bl Menu_MoveCursor\n" - " ldr r1, ._190 + 4\n" + " ldr r1, ._190 + 4 @ gUnknown_030006B8\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" " beq ._188 @cond_branch\n" @@ -1973,7 +1973,7 @@ u8 DebugMenu_8077760() " bl PlaySE\n" " mov r0, #0x1\n" " bl Menu_MoveCursor\n" - " ldr r1, ._195\n" + " ldr r1, ._195 @ gUnknown_030006B8\n" " ldrb r0, [r1]\n" " cmp r0, #0x3\n" " beq ._193 @cond_branch\n" @@ -1995,7 +1995,7 @@ u8 DebugMenu_8077760() " beq ._197 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r4, ._201\n" + " ldr r4, ._201 @ gUnknown_030006C8\n" " bl Menu_GetCursorPos\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -2022,9 +2022,9 @@ u8 DebugMenu_8077760() " mov r2, #0x80\n" " lsl r2, r2, #0x13\n" " ldrh r0, [r2]\n" - " ldr r1, ._201 + 4\n" + " ldr r1, ._201 + 4 @ 0xf0ff\n" " and r1, r1, r0\n" - " ldr r0, ._201\n" + " ldr r0, ._201 @ gUnknown_030006C8\n" " ldrb r0, [r0]\n" " lsl r0, r0, #0x8\n" " add r1, r1, r0\n" @@ -2064,8 +2064,8 @@ u8 DebugMenu_SwitchBG() " mov r2, #0x0\n" " mov r3, #0x4\n" " bl InitMenu\n" - " ldr r1, ._203\n" - " ldr r0, ._203 + 4\n" + " ldr r1, ._203 @ gMenuCallback\n" + " ldr r0, ._203 + 4 @ DebugMenu_8077760\n" " str r0, [r1]\n" " mov r0, #0x0\n" " add sp, sp, #0x8\n" @@ -2089,7 +2089,7 @@ void DebugMenu_807786C() " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" - " ldr r1, ._205\n" + " ldr r1, ._205 @ Str_839BE64\n" " mov r0, sp\n" " mov r2, #0x7\n" " bl memcpy\n" @@ -2121,7 +2121,7 @@ void DebugMenu_80778A8() { asm( " push {r4, lr}\n" - " ldr r4, ._211\n" + " ldr r4, ._211 @ gMain\n" " ldrh r1, [r4, #0x2e]\n" " mov r0, #0x30\n" " and r0, r0, r1\n" @@ -2129,7 +2129,7 @@ void DebugMenu_80778A8() " beq ._207 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r2, ._211 + 4\n" + " ldr r2, ._211 + 4 @ sWildEncountersDisabled\n" " ldrb r0, [r2]\n" " mov r1, #0x1\n" " eor r0, r0, r1\n" @@ -2171,11 +2171,11 @@ u8 DebugMenu_ControlEncounter() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r0, ._213\n" + " ldr r0, ._213 @ sWildEncountersDisabled\n" " ldrb r0, [r0]\n" " bl DebugMenu_807786C\n" - " ldr r1, ._213 + 4\n" - " ldr r0, ._213 + 8\n" + " ldr r1, ._213 + 4 @ gMenuCallback\n" + " ldr r0, ._213 + 8 @ DebugMenu_80778A8\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -2194,8 +2194,8 @@ __attribute__((naked)) u8 DebugMenu_UseHM() { asm( - " ldr r1, ._215\n" - " ldr r0, ._215 + 4\n" + " ldr r1, ._215 @ gMenuCallback\n" + " ldr r0, ._215 + 4 @ DebugMenu_8077C14\n" " str r0, [r1]\n" " mov r0, #0x0\n" " bx lr\n" @@ -2214,7 +2214,7 @@ void DebugMenu_8077934() asm( " push {lr}\n" " mov r1, #0x0\n" - " ldr r3, ._218\n" + " ldr r3, ._218 @ gSaveBlock1\n" " mov r2, #0x1\n" "._217:\n" " add r0, r1, r3\n" @@ -2240,7 +2240,7 @@ void DebugMenu_8077954() asm( " push {lr}\n" " mov r1, #0x0\n" - " ldr r3, ._222\n" + " ldr r3, ._222 @ gSaveBlock1\n" " mov r2, #0x0\n" "._221:\n" " add r0, r1, r3\n" @@ -2266,7 +2266,7 @@ void DebugMenu_8077974() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r1, ._226\n" + " ldr r1, ._226 @ gSaveBlock1\n" " mov r0, #0x4\n" " ldsb r0, [r1, r0]\n" " lsl r0, r0, #0x10\n" @@ -2279,8 +2279,8 @@ void DebugMenu_8077974() " bl IsRematchTrainerIn\n" " cmp r0, #0\n" " beq ._224 @cond_branch\n" - " ldr r0, ._226 + 4\n" - " ldr r1, ._226 + 8\n" + " ldr r0, ._226 + 4 @ gStringVar1\n" + " ldr r1, ._226 + 8 @ Str_839BE8D\n" " bl StringCopy\n" " b ._225\n" "._227:\n" @@ -2290,11 +2290,11 @@ void DebugMenu_8077974() " .word gStringVar1\n" " .word Str_839BE8D\n" "._224:\n" - " ldr r0, ._230\n" - " ldr r1, ._230 + 4\n" + " ldr r0, ._230 @ gStringVar1\n" + " ldr r1, ._230 + 4 @ Str_839BE90\n" " bl StringCopy\n" "._225:\n" - " ldr r1, ._230 + 8\n" + " ldr r1, ._230 + 8 @ gSaveBlock1\n" " mov r0, #0x4\n" " ldsb r0, [r1, r0]\n" " lsl r0, r0, #0x10\n" @@ -2307,8 +2307,8 @@ void DebugMenu_8077974() " bl DoesSomeoneWantRematchIn\n" " cmp r0, #0\n" " beq ._228 @cond_branch\n" - " ldr r0, ._230 + 12\n" - " ldr r1, ._230 + 16\n" + " ldr r0, ._230 + 12 @ gStringVar2\n" + " ldr r1, ._230 + 16 @ Str_839BE8D\n" " bl StringCopy\n" " b ._229\n" "._231:\n" @@ -2320,14 +2320,14 @@ void DebugMenu_8077974() " .word gStringVar2\n" " .word Str_839BE8D\n" "._228:\n" - " ldr r0, ._232\n" - " ldr r1, ._232 + 4\n" + " ldr r0, ._232 @ gStringVar2\n" + " ldr r1, ._232 + 4 @ Str_839BE90\n" " bl StringCopy\n" "._229:\n" - " ldr r0, ._232 + 8\n" + " ldr r0, ._232 + 8 @ Str_839BE6B\n" " bl sub_8071F40\n" - " ldr r1, ._232 + 12\n" - " ldr r0, ._232 + 16\n" + " ldr r1, ._232 + 12 @ gMenuCallback\n" + " ldr r0, ._232 + 16 @ DebugMenu_8077DB4\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -2349,8 +2349,8 @@ void DebugMenu_8077A20() { asm( " push {lr}\n" - " ldr r0, ._234\n" - " ldr r1, ._234 + 4\n" + " ldr r0, ._234 @ gSaveBlock1\n" + " ldr r1, ._234 + 4 @ 0x978\n" " add r0, r0, r1\n" " mov r1, #0xff\n" " strh r1, [r0]\n" @@ -2372,8 +2372,8 @@ void DebugMenu_8077A40() { asm( " push {lr}\n" - " ldr r0, ._236\n" - " ldr r1, ._236 + 4\n" + " ldr r0, ._236 @ gSaveBlock1\n" + " ldr r1, ._236 + 4 @ 0x978\n" " add r0, r0, r1\n" " mov r1, #0x0\n" " strh r1, [r0]\n" @@ -2395,7 +2395,7 @@ void DebugMenu_8077A60() { asm( " push {lr}\n" - " ldr r0, ._238\n" + " ldr r0, ._238 @ gUnknown_Debug_839BEE4\n" " bl DebugMenu_8077D78\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -2415,12 +2415,12 @@ u8 DebugMenu_RematchTrainers() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r0, ._240\n" + " ldr r0, ._240 @ gUnknown_Debug_839BEE4\n" " mov r1, #0xd\n" " mov r2, #0x5\n" " bl DebugMenu_8077D24\n" - " ldr r1, ._240 + 4\n" - " ldr r0, ._240 + 8\n" + " ldr r1, ._240 + 4 @ gMenuCallback\n" + " ldr r0, ._240 + 8 @ DebugMenu_8077A60\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -2440,7 +2440,7 @@ void DebugMenu_8077A9C() { asm( " push {lr}\n" - " ldr r1, ._242\n" + " ldr r1, ._242 @ gNumSafariBalls\n" " mov r0, #0x1e\n" " strb r0, [r1]\n" " bl CloseMenu\n" @@ -2460,7 +2460,7 @@ void DebugMenu_8077AB4() { asm( " push {lr}\n" - " ldr r1, ._244\n" + " ldr r1, ._244 @ gNumSafariBalls\n" " mov r0, #0x1\n" " strb r0, [r1]\n" " bl CloseMenu\n" @@ -2480,7 +2480,7 @@ void DebugMenu_8077ACC() { asm( " push {lr}\n" - " ldr r1, ._246\n" + " ldr r1, ._246 @ gSafariZoneStepCounter\n" " mov r2, #0xfa\n" " lsl r2, r2, #0x1\n" " add r0, r2, #0\n" @@ -2502,7 +2502,7 @@ void DebugMenu_8077AE8() { asm( " push {lr}\n" - " ldr r1, ._248\n" + " ldr r1, ._248 @ gSafariZoneStepCounter\n" " mov r0, #0x1\n" " strh r0, [r1]\n" " bl CloseMenu\n" @@ -2526,7 +2526,7 @@ void DebugMenu_8077B00() " bl unref_sub_80C853C\n" " cmp r0, #0\n" " beq ._250 @cond_branch\n" - " ldr r0, ._252\n" + " ldr r0, ._252 @ Str_839BF14\n" " bl sub_8071F40\n" " b ._251\n" "._253:\n" @@ -2534,11 +2534,11 @@ void DebugMenu_8077B00() "._252:\n" " .word Str_839BF14\n" "._250:\n" - " ldr r0, ._254\n" + " ldr r0, ._254 @ Str_839BF1F\n" " bl sub_8071F40\n" "._251:\n" - " ldr r1, ._254 + 4\n" - " ldr r0, ._254 + 8\n" + " ldr r1, ._254 + 4 @ gMenuCallback\n" + " ldr r0, ._254 + 8 @ DebugMenu_8077DB4\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -2558,7 +2558,7 @@ void DebugMenu_8077B3C() { asm( " push {lr}\n" - " ldr r0, ._256\n" + " ldr r0, ._256 @ gUnknown_Debug_839BF6C\n" " bl DebugMenu_8077D78\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -2581,20 +2581,20 @@ u8 DebugMenu_Safari() " cmp r0, #0\n" " beq ._258 @cond_branch\n" " bl Menu_EraseScreen\n" - " ldr r0, ._260\n" + " ldr r0, ._260 @ gUnknown_Debug_839BF6C\n" " mov r1, #0xe\n" " mov r2, #0x5\n" " bl DebugMenu_8077D24\n" - " ldr r0, ._260 + 4\n" - " ldr r1, ._260 + 8\n" + " ldr r0, ._260 + 4 @ gStringVar1\n" + " ldr r1, ._260 + 8 @ gSafariZoneStepCounter\n" " ldrh r1, [r1]\n" " mov r2, #0x1\n" " mov r3, #0x3\n" " bl ConvertIntToDecimalStringN\n" - " ldr r0, ._260 + 12\n" + " ldr r0, ._260 + 12 @ Str_839BF0C\n" " bl sub_8071F40\n" - " ldr r1, ._260 + 16\n" - " ldr r0, ._260 + 20\n" + " ldr r1, ._260 + 16 @ gMenuCallback\n" + " ldr r0, ._260 + 20 @ DebugMenu_8077B3C\n" " str r0, [r1]\n" " bl ScriptContext2_Enable\n" " mov r0, #0x0\n" @@ -2704,7 +2704,7 @@ void DebugMenu_8077C00() { asm( " push {lr}\n" - " ldr r0, ._262\n" + " ldr r0, ._262 @ gUnknown_Debug_839BF94\n" " bl DebugMenu_8077D78\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -2724,12 +2724,12 @@ void DebugMenu_8077C14() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r0, ._264\n" + " ldr r0, ._264 @ gUnknown_Debug_839BF94\n" " mov r1, #0xa\n" " mov r2, #0x9\n" " bl DebugMenu_8077D24\n" - " ldr r1, ._264 + 4\n" - " ldr r0, ._264 + 8\n" + " ldr r1, ._264 + 4 @ gMenuCallback\n" + " ldr r0, ._264 + 8 @ DebugMenu_8077C00\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -2756,8 +2756,8 @@ void DebugMenu_8077C3C() " add sp, sp, #0xfffffffc\n" " mov sl, r0\n" " add r7, r1, #0\n" - " ldr r0, ._271\n" - " ldr r1, ._271 + 4\n" + " ldr r0, ._271 @ gUnknown_030006BC\n" + " ldr r1, ._271 + 4 @ gUnknown_Debug_839BFE8\n" " str r1, [r0]\n" " mov r1, #0x0\n" " strb r1, [r7]\n" @@ -2768,7 +2768,7 @@ void DebugMenu_8077C3C() " mov r8, r0\n" "._269:\n" " mov r5, #0x0\n" - " ldr r1, ._271\n" + " ldr r1, ._271 @ gUnknown_030006BC\n" " ldr r0, [r1]\n" " ldr r2, [r0, #0x4]\n" " mov r4, #0x0\n" @@ -2858,8 +2858,8 @@ void debug_sub_8077CF4() " lsr r4, r4, #0x18\n" " lsl r5, r5, #0x18\n" " lsr r5, r5, #0x18\n" - " ldr r0, ._273\n" - " ldr r6, ._273 + 4\n" + " ldr r0, ._273 @ BuildDateTime\n" + " ldr r6, ._273 + 4 @ gStringVar4\n" " add r1, r6, #0\n" " bl DebugMenu_8077C3C\n" " add r0, r6, #0\n" @@ -2940,7 +2940,7 @@ void DebugMenu_8077D78() " cmp r4, r0\n" " beq ._276 @cond_branch\n" " bl Menu_EraseScreen\n" - " ldr r0, ._278\n" + " ldr r0, ._278 @ gMenuCallback\n" " lsl r1, r4, #0x3\n" " add r1, r1, r5\n" " ldr r1, [r1, #0x4]\n" @@ -2968,7 +2968,7 @@ void DebugMenu_8077DB4() { asm( " push {lr}\n" - " ldr r0, ._282\n" + " ldr r0, ._282 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -3063,7 +3063,7 @@ void DebugMenu_8077E40() asm( " push {r4, lr}\n" " add r4, r0, #0\n" - " ldr r0, ._297\n" + " ldr r0, ._297 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -3130,14 +3130,14 @@ void DebugMenu_8077EAC() { asm( " push {r4, lr}\n" - " ldr r0, ._303\n" + " ldr r0, ._303 @ DebugMenu_8077F40\n" " mov r1, #0x50\n" " bl CreateTask\n" " add r4, r0, #0\n" " lsl r4, r4, #0x18\n" " lsr r4, r4, #0x18\n" " bl Menu_EraseScreen\n" - " ldr r1, ._303 + 4\n" + " ldr r1, ._303 + 4 @ gTasks\n" " lsl r0, r4, #0x2\n" " add r0, r0, r4\n" " lsl r0, r0, #0x3\n" @@ -3173,7 +3173,7 @@ void DebugMenu_8077EE0() " mov r2, #0x16\n" " mov r3, #0x12\n" " bl Menu_BlankWindowRect\n" - " ldr r5, ._305\n" + " ldr r5, ._305 @ gStringVar1\n" " add r0, r5, #0\n" " add r1, r4, #0\n" " mov r2, #0x1\n" @@ -3218,17 +3218,17 @@ void DebugMenu_8077F40() " lsl r4, r0, #0x2\n" " add r4, r4, r0\n" " lsl r4, r4, #0x3\n" - " ldr r0, ._307\n" + " ldr r0, ._307 @ gTasks\n" " add r4, r4, r0\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._307 + 4\n" + " ldr r0, ._307 + 4 @ gDebug0x839C008\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" " ldrh r0, [r4, #0xa]\n" " ldrh r1, [r4, #0xc]\n" " bl DebugMenu_8077EE0\n" - " ldr r0, ._307 + 8\n" + " ldr r0, ._307 + 8 @ DebugMenu_8077F7C\n" " str r0, [r4]\n" " pop {r4}\n" " pop {r0}\n" @@ -3253,23 +3253,23 @@ void DebugMenu_8077F7C() " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r1, r1, #0x3\n" - " ldr r0, ._311\n" + " ldr r0, ._311 @ gTasks\n" " add r4, r1, r0\n" - " ldr r3, ._311 + 4\n" + " ldr r3, ._311 + 4 @ gMain\n" " ldrh r1, [r3, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._309 @cond_branch\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._311 + 8\n" + " ldr r0, ._311 + 8 @ Str_839C014\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" " ldrh r0, [r4, #0xa]\n" " ldrh r1, [r4, #0xc]\n" " bl DebugMenu_8077EE0\n" - " ldr r0, ._311 + 12\n" + " ldr r0, ._311 + 12 @ DebugMenu_8077FFC\n" " str r0, [r4]\n" " b ._317\n" "._312:\n" @@ -3284,7 +3284,7 @@ void DebugMenu_8077F7C() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._313 @cond_branch\n" - " ldr r0, ._315\n" + " ldr r0, ._315 @ DebugMenu_807806C\n" " str r0, [r4]\n" " b ._317\n" "._316:\n" @@ -3322,9 +3322,9 @@ void DebugMenu_8077FFC() " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r1, r1, #0x3\n" - " ldr r0, ._321\n" + " ldr r0, ._321 @ gTasks\n" " add r4, r1, r0\n" - " ldr r2, ._321 + 4\n" + " ldr r2, ._321 + 4 @ gMain\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -3351,7 +3351,7 @@ void DebugMenu_8077FFC() " cmp r0, #0\n" " beq ._323 @cond_branch\n" "._320:\n" - " ldr r0, ._325\n" + " ldr r0, ._325 @ DebugMenu_8077F40\n" " str r0, [r4]\n" " b ._327\n" "._326:\n" @@ -3411,7 +3411,7 @@ void DebugMenu_807808C() " mov r4, #0x1\n" "._328:\n" " lsl r1, r4, #0x5\n" - " ldr r0, ._331\n" + " ldr r0, ._331 @ gSaveBlock1\n" " add r5, r1, r0\n" " bl Menu_EraseScreen\n" " mov r0, #0x0\n" @@ -3419,7 +3419,7 @@ void DebugMenu_807808C() " mov r2, #0x13\n" " mov r3, #0x11\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._331 + 4\n" + " ldr r0, ._331 + 4 @ Str_839C01E\n" " mov r1, #0x2\n" " mov r2, #0x2\n" " bl Menu_PrintText\n" @@ -3460,7 +3460,7 @@ void DebugMenu_807808C() " .word gSaveBlock1+0x2ddc\n" " .word Str_839C01E\n" "._329:\n" - " ldr r0, ._335\n" + " ldr r0, ._335 @ Str_839C04D\n" " mov r1, #0xb\n" " mov r2, #0x6\n" " bl Menu_PrintText\n" @@ -3483,7 +3483,7 @@ void DebugMenu_807808C() "._335:\n" " .word Str_839C04D\n" "._333:\n" - " ldr r0, ._337\n" + " ldr r0, ._337 @ Str_839C04D\n" " mov r1, #0xb\n" " mov r2, #0x8\n" " bl Menu_PrintText\n" @@ -3525,7 +3525,7 @@ void DebugMenu_807817C() " push {r4, lr}\n" " lsl r0, r0, #0x18\n" " lsr r4, r0, #0x18\n" - " ldr r0, ._340\n" + " ldr r0, ._340 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -3557,7 +3557,7 @@ void DebugMenu_80781A8() " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r1, r1, #0x3\n" - " ldr r0, ._344\n" + " ldr r0, ._344 @ gTasks\n" " add r5, r1, r0\n" " ldrh r1, [r5, #0x8]\n" " mov r2, #0x8\n" @@ -3572,7 +3572,7 @@ void DebugMenu_80781A8() "._344:\n" " .word gTasks\n" "._342:\n" - " ldr r2, ._348\n" + " ldr r2, ._348 @ gMain\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -3581,7 +3581,7 @@ void DebugMenu_80781A8() " mov r1, #0x8\n" " ldsh r0, [r5, r1]\n" " bl DebugMenu_807808C\n" - " ldr r0, ._348 + 4\n" + " ldr r0, ._348 + 4 @ DebugMenu_807817C\n" " str r0, [r5]\n" " b ._350\n" "._349:\n" @@ -3606,7 +3606,7 @@ void DebugMenu_80781A8() " mov r2, #0x16\n" " mov r3, #0x12\n" " bl Menu_BlankWindowRect\n" - " ldr r4, ._351\n" + " ldr r4, ._351 @ gStringVar1\n" " mov r2, #0x8\n" " ldsh r1, [r5, r2]\n" " add r0, r4, #0\n" @@ -3635,7 +3635,7 @@ u8 DebugMenu_ViewPortraits() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._353\n" + " ldr r0, ._353 @ DebugMenu_80781A8\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" @@ -3667,21 +3667,21 @@ u8 DebugMenu_AllBadges() { asm( " push {lr}\n" - " ldr r0, ._355\n" + " ldr r0, ._355 @ 0x807\n" " bl FlagSet\n" - " ldr r0, ._355 + 4\n" + " ldr r0, ._355 + 4 @ 0x808\n" " bl FlagSet\n" - " ldr r0, ._355 + 8\n" + " ldr r0, ._355 + 8 @ 0x809\n" " bl FlagSet\n" - " ldr r0, ._355 + 12\n" + " ldr r0, ._355 + 12 @ 0x80a\n" " bl FlagSet\n" - " ldr r0, ._355 + 16\n" + " ldr r0, ._355 + 16 @ 0x80b\n" " bl FlagSet\n" - " ldr r0, ._355 + 20\n" + " ldr r0, ._355 + 20 @ 0x80c\n" " bl FlagSet\n" - " ldr r0, ._355 + 24\n" + " ldr r0, ._355 + 24 @ 0x80d\n" " bl FlagSet\n" - " ldr r0, ._355 + 28\n" + " ldr r0, ._355 + 28 @ 0x80e\n" " bl FlagSet\n" " bl CloseMenu\n" " mov r0, #0x1\n" @@ -3708,7 +3708,7 @@ u8 DebugMenu_TimeRecords() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._357\n" + " ldr r0, ._357 @ debug_sub_806F9E4\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" @@ -3746,11 +3746,11 @@ void DebugMenu_80782EC() " add r1, r0, #0\n" " lsl r1, r1, #0x10\n" " lsr r1, r1, #0x10\n" - " ldr r0, ._359\n" + " ldr r0, ._359 @ gStringVar1\n" " mov r2, #0x0\n" " mov r3, #0x4\n" " bl ConvertIntToHexStringN\n" - " ldr r0, ._359 + 4\n" + " ldr r0, ._359 + 4 @ Str_839C053\n" " bl sub_8071F40\n" " pop {r0}\n" " bx r0\n" @@ -3773,7 +3773,7 @@ void DebugMenu_8078310() " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" - " ldr r1, ._364\n" + " ldr r1, ._364 @ gTasks\n" " add r4, r0, r1\n" " mov r1, #0x0\n" " ldsh r0, [r4, r1]\n" @@ -3787,7 +3787,7 @@ void DebugMenu_8078310() "._364:\n" " .word gTasks+0x8\n" "._361:\n" - " ldr r0, ._367\n" + " ldr r0, ._367 @ 0x4024\n" " bl VarGet\n" " strh r0, [r4, #0x2]\n" " ldrh r0, [r4, #0x2]\n" @@ -3801,14 +3801,14 @@ void DebugMenu_8078310() "._367:\n" " .word 0x4024\n" "._362:\n" - " ldr r3, ._371\n" + " ldr r3, ._371 @ gMain\n" " ldrh r1, [r3, #0x2e]\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._369 @cond_branch\n" " mov r0, #0x49\n" " bl PlaySE\n" - " ldr r0, ._371 + 4\n" + " ldr r0, ._371 + 4 @ 0x4024\n" " bl GetVarPointer\n" " ldrh r1, [r4, #0x2]\n" " strh r1, [r0]\n" @@ -3831,7 +3831,7 @@ void DebugMenu_8078310() " b ._375\n" "._373:\n" " add r0, r4, #2\n" - " ldr r2, ._376\n" + " ldr r2, ._376 @ 0xffff\n" " ldrh r3, [r3, #0x30]\n" " mov r1, #0x0\n" " bl DebugMenu_8077DD8\n" @@ -3857,7 +3857,7 @@ u8 DebugMenu_MiragaIslandRND() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._378\n" + " ldr r0, ._378 @ DebugMenu_8078310\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" @@ -3877,7 +3877,7 @@ void DebugMenu_80783C8() { asm( " push {r4, lr}\n" - " ldr r0, ._383\n" + " ldr r0, ._383 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x30\n" " and r0, r0, r1\n" @@ -3885,7 +3885,7 @@ void DebugMenu_80783C8() " beq ._382 @cond_branch\n" " mov r0, #0x5\n" " bl PlaySE\n" - " ldr r4, ._383 + 4\n" + " ldr r4, ._383 + 4 @ 0x804\n" " add r0, r4, #0\n" " bl FlagGet\n" " lsl r0, r0, #0x18\n" @@ -3907,7 +3907,7 @@ void DebugMenu_80783C8() " mov r0, #0x1\n" " bl DebugMenu_807786C\n" "._382:\n" - " ldr r0, ._388\n" + " ldr r0, ._388 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -3941,15 +3941,15 @@ u8 DebugMenu_ToggleClearFlag() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r0, ._390\n" + " ldr r0, ._390 @ 0x804\n" " bl FlagGet\n" " mov r1, #0x1\n" " eor r0, r0, r1\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " bl DebugMenu_807786C\n" - " ldr r1, ._390 + 4\n" - " ldr r0, ._390 + 8\n" + " ldr r1, ._390 + 4 @ gMenuCallback\n" + " ldr r0, ._390 + 8 @ DebugMenu_80783C8\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -3969,7 +3969,7 @@ void DebugMenu_8078464() { asm( " push {r4, lr}\n" - " ldr r4, ._396\n" + " ldr r4, ._396 @ 0x82a\n" " add r0, r4, #0\n" " bl FlagGet\n" " lsl r0, r0, #0x18\n" @@ -4020,7 +4020,7 @@ u8 DebugMenu_OpenWeatherEvents() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r0, ._404\n" + " ldr r0, ._404 @ 0x82a\n" " bl FlagGet\n" " mov r1, #0x0\n" " lsl r0, r0, #0x18\n" @@ -4030,8 +4030,8 @@ u8 DebugMenu_OpenWeatherEvents() "._403:\n" " add r0, r1, #0\n" " bl DebugMenu_807786C\n" - " ldr r1, ._404 + 4\n" - " ldr r0, ._404 + 8\n" + " ldr r1, ._404 + 4 @ gMenuCallback\n" + " ldr r0, ._404 + 8 @ DebugMenu_8078464\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -4099,8 +4099,8 @@ u8 DebugMenu_OpenMysteryEvent() "._415:\n" " add r0, r1, #0\n" " bl DebugMenu_807786C\n" - " ldr r1, ._416\n" - " ldr r0, ._416 + 4\n" + " ldr r1, ._416 @ gMenuCallback\n" + " ldr r0, ._416 + 4 @ DebugMenu_80784E8\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -4125,13 +4125,13 @@ void DebugMenu_8078550() " lsr r0, r0, #0x18\n" " bl GetGameStat\n" " add r7, r0, #0\n" - " ldr r0, ._420\n" + " ldr r0, ._420 @ gStringVar1\n" " add r1, r6, #0\n" " mov r2, #0x2\n" " mov r3, #0x2\n" " bl ConvertIntToDecimalStringN\n" - " ldr r0, ._420 + 4\n" - " ldr r5, ._420 + 8\n" + " ldr r0, ._420 + 4 @ gStringVar2\n" + " ldr r5, ._420 + 8 @ gUnknown_Debug_839C26C\n" " lsl r4, r6, #0x3\n" " add r1, r5, #4\n" " add r1, r4, r1\n" @@ -4141,8 +4141,8 @@ void DebugMenu_8078550() " ldr r0, [r4]\n" " cmp r0, #0\n" " bne ._418 @cond_branch\n" - " ldr r0, ._420 + 12\n" - " ldr r1, ._420 + 16\n" + " ldr r0, ._420 + 12 @ gStringVar3\n" + " ldr r1, ._420 + 16 @ Str_839C085\n" " bl StringCopy\n" " b ._423\n" "._421:\n" @@ -4156,7 +4156,7 @@ void DebugMenu_8078550() "._418:\n" " cmp r6, #0x1\n" " beq ._422 @cond_branch\n" - " ldr r0, ._424\n" + " ldr r0, ._424 @ gStringVar3\n" " add r1, r7, #0\n" " mov r2, #0x1\n" " mov r3, #0xa\n" @@ -4167,7 +4167,7 @@ void DebugMenu_8078550() "._424:\n" " .word gStringVar3\n" "._422:\n" - " ldr r4, ._426\n" + " ldr r4, ._426 @ gStringVar3\n" " lsr r1, r7, #0x10\n" " add r0, r4, #0\n" " mov r2, #0x1\n" @@ -4192,7 +4192,7 @@ void DebugMenu_8078550() " bl ConvertIntToDecimalStringN\n" "._423:\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._426 + 4\n" + " ldr r0, ._426 + 4 @ Str_839C07C\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" @@ -4218,7 +4218,7 @@ void DebugMenu_807860C() " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" - " ldr r1, ._432\n" + " ldr r1, ._432 @ gTasks\n" " add r4, r0, r1\n" " mov r1, #0x0\n" " ldsh r0, [r4, r1]\n" @@ -4246,7 +4246,7 @@ void DebugMenu_807860C() " strh r0, [r4]\n" " b ._447\n" "._428:\n" - " ldr r3, ._439\n" + " ldr r3, ._439 @ gMain\n" " ldrh r1, [r3, #0x2e]\n" " and r0, r0, r1\n" " cmp r0, #0\n" @@ -4338,13 +4338,13 @@ void DebugMenu_80786D0() " bl DebugMenu_807860C\n" " cmp r0, #0\n" " beq ._449 @cond_branch\n" - " ldr r1, ._450\n" + " ldr r1, ._450 @ gTasks\n" " lsl r0, r4, #0x2\n" " add r0, r0, r4\n" " lsl r0, r0, #0x3\n" " add r0, r0, r1\n" " ldrb r2, [r0, #0xa]\n" - " ldr r1, ._450 + 4\n" + " ldr r1, ._450 + 4 @ gUnknown_Debug_839C26C\n" " lsl r0, r2, #0x3\n" " add r0, r0, r1\n" " ldr r0, [r0]\n" @@ -4379,13 +4379,13 @@ void DebugMenu_8078714() " bl DebugMenu_807860C\n" " cmp r0, #0\n" " beq ._453 @cond_branch\n" - " ldr r1, ._454\n" + " ldr r1, ._454 @ gTasks\n" " lsl r0, r4, #0x2\n" " add r0, r0, r4\n" " lsl r0, r0, #0x3\n" " add r0, r0, r1\n" " ldrb r2, [r0, #0xa]\n" - " ldr r1, ._454 + 4\n" + " ldr r1, ._454 + 4 @ gUnknown_Debug_839C26C\n" " lsl r0, r2, #0x3\n" " add r0, r0, r1\n" " ldr r0, [r0]\n" @@ -4433,7 +4433,7 @@ void DebugMenu_8078774() { asm( " push {lr}\n" - " ldr r0, ._456\n" + " ldr r0, ._456 @ DebugMenu_80786C0\n" " bl DebugMenu_8078758\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -4452,7 +4452,7 @@ void DebugMenu_8078788() { asm( " push {lr}\n" - " ldr r0, ._458\n" + " ldr r0, ._458 @ DebugMenu_80786D0\n" " bl DebugMenu_8078758\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -4471,7 +4471,7 @@ void DebugMenu_807879C() { asm( " push {lr}\n" - " ldr r0, ._460\n" + " ldr r0, ._460 @ DebugMenu_8078714\n" " bl DebugMenu_8078758\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -4490,7 +4490,7 @@ void DebugMenu_80787B0() { asm( " push {lr}\n" - " ldr r0, ._462\n" + " ldr r0, ._462 @ gUnknown_Debug_839C3FC\n" " bl DebugMenu_8077D78\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -4510,12 +4510,12 @@ u8 DebugMenu_OpenLegendsRecord() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r0, ._464\n" + " ldr r0, ._464 @ gUnknown_Debug_839C3FC\n" " mov r1, #0xc\n" " mov r2, #0x3\n" " bl DebugMenu_8077D24\n" - " ldr r1, ._464 + 4\n" - " ldr r0, ._464 + 8\n" + " ldr r1, ._464 + 4 @ gMenuCallback\n" + " ldr r0, ._464 + 8 @ DebugMenu_80787B0\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -4541,7 +4541,7 @@ void DebugMenu_80787EC() " mov r0, sp\n" " add r1, r5, #0\n" " bl GetXYCoordsOneStepInFrontOfPlayer\n" - " ldr r4, ._466\n" + " ldr r4, ._466 @ gSpecialVar_Result\n" " mov r0, sp\n" " mov r1, #0x0\n" " ldsh r0, [r0, r1]\n" @@ -4549,7 +4549,7 @@ void DebugMenu_80787EC() " ldsh r1, [r5, r2]\n" " bl MapGridGetMetatileBehaviorAt\n" " strh r0, [r4]\n" - " ldr r0, ._466 + 4\n" + " ldr r0, ._466 + 4 @ gStringVar1\n" " ldrh r1, [r4]\n" " mov r2, #0x2\n" " mov r3, #0x4\n" @@ -4561,7 +4561,7 @@ void DebugMenu_80787EC() " ldsh r1, [r5, r2]\n" " bl MapGridGetMetatileIdAt\n" " strh r0, [r4]\n" - " ldr r0, ._466 + 8\n" + " ldr r0, ._466 + 8 @ gStringVar2\n" " ldrh r1, [r4]\n" " mov r2, #0x2\n" " mov r3, #0x4\n" @@ -4575,13 +4575,13 @@ void DebugMenu_80787EC() " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" " strh r0, [r4]\n" - " ldr r0, ._466 + 12\n" + " ldr r0, ._466 + 12 @ gStringVar3\n" " ldrh r1, [r4]\n" " mov r2, #0x2\n" " mov r3, #0x4\n" " bl ConvertIntToHexStringN\n" - " ldr r0, ._466 + 16\n" - " ldr r1, ._466 + 20\n" + " ldr r0, ._466 + 16 @ gStringVar4\n" + " ldr r1, ._466 + 20 @ Str_839C414\n" " bl StringExpandPlaceholders\n" " add sp, sp, #0x4\n" " pop {r4, r5}\n" @@ -4607,7 +4607,7 @@ void DebugMenu_8078880() " push {r4, r5, lr}\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" - " ldr r1, ._472\n" + " ldr r1, ._472 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -4633,7 +4633,7 @@ void DebugMenu_8078880() " bl Menu_DisplayDialogueFrame\n" " b ._476\n" "._468:\n" - " ldr r0, ._478\n" + " ldr r0, ._478 @ gStringVar4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" @@ -4647,7 +4647,7 @@ void DebugMenu_8078880() "._478:\n" " .word gStringVar4\n" "._474:\n" - " ldr r0, ._481\n" + " ldr r0, ._481 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -4675,7 +4675,7 @@ u8 DebugMenu_CellInfo() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._483\n" + " ldr r0, ._483 @ DebugMenu_8078880\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl DebugMenu_80787EC\n" @@ -4713,8 +4713,8 @@ u8 DebugMenu_OpenBerryInfo() " mov r1, #0x1\n" " mov r2, #0x1\n" " bl Menu_PrintText\n" - " ldr r1, ._487\n" - " ldr r0, ._487 + 4\n" + " ldr r1, ._487 @ gMenuCallback\n" + " ldr r0, ._487 + 4 @ DebugMenu_8077DB4\n" " str r0, [r1]\n" " mov r0, #0x0\n" "._486:\n" @@ -4736,7 +4736,7 @@ void DebugMenu_8078950() asm( " push {lr}\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._489\n" + " ldr r0, ._489 @ Str_839C42E\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" @@ -4758,7 +4758,7 @@ void DebugMenu_8078968() " lsl r0, r0, #0x10\n" " cmp r0, #0\n" " bne ._491 @cond_branch\n" - " ldr r0, ._493\n" + " ldr r0, ._493 @ gStringVar1\n" " mov r1, #0x32\n" " mov r2, #0x2\n" " mov r3, #0x3\n" @@ -4769,13 +4769,13 @@ void DebugMenu_8078968() "._493:\n" " .word gStringVar1\n" "._491:\n" - " ldr r0, ._495\n" + " ldr r0, ._495 @ gStringVar1\n" " mov r1, #0x64\n" " mov r2, #0x2\n" " mov r3, #0x3\n" " bl ConvertIntToDecimalStringN\n" "._492:\n" - " ldr r0, ._495\n" + " ldr r0, ._495 @ gStringVar1\n" " mov r1, #0x4\n" " mov r2, #0x11\n" " bl Menu_PrintText\n" @@ -4797,7 +4797,7 @@ void DebugMenu_80789A4() " add r1, r0, #0\n" " lsl r1, r1, #0x10\n" " lsr r1, r1, #0x10\n" - " ldr r4, ._497\n" + " ldr r4, ._497 @ gStringVar1\n" " add r0, r4, #0\n" " mov r2, #0x2\n" " mov r3, #0x4\n" @@ -4827,12 +4827,12 @@ void DebugMenu_80789CC() " lsl r4, r0, #0x2\n" " add r4, r4, r0\n" " lsl r4, r4, #0x3\n" - " ldr r6, ._499\n" + " ldr r6, ._499 @ gTasks\n" " add r5, r4, r6\n" " mov r0, #0x0\n" " strh r0, [r5]\n" - " ldr r0, ._499 + 4\n" - " ldr r1, ._499 + 8\n" + " ldr r0, ._499 + 4 @ gSaveBlock2\n" + " ldr r1, ._499 + 8 @ 0x55c\n" " add r0, r0, r1\n" " ldrh r0, [r0]\n" " strh r0, [r5, #0x2]\n" @@ -4841,7 +4841,7 @@ void DebugMenu_80789CC() " bl DebugMenu_8078968\n" " sub r6, r6, #0x8\n" " add r4, r4, r6\n" - " ldr r0, ._499 + 12\n" + " ldr r0, ._499 + 12 @ DebugMenu_8078A14\n" " str r0, [r4]\n" " pop {r4, r5, r6}\n" " pop {r0}\n" @@ -4867,9 +4867,9 @@ void DebugMenu_8078A14() " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r4, r1, #0x3\n" - " ldr r5, ._504\n" + " ldr r5, ._504 @ gTasks\n" " add r2, r4, r5\n" - " ldr r0, ._504 + 4\n" + " ldr r0, ._504 + 4 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0xc0\n" " and r0, r0, r1\n" @@ -4896,11 +4896,11 @@ void DebugMenu_8078A14() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._506 @cond_branch\n" - " ldr r1, ._508\n" + " ldr r1, ._508 @ gSaveBlock2\n" " mov r3, #0x0\n" " ldsh r0, [r2, r3]\n" " lsl r0, r0, #0x1\n" - " ldr r3, ._508 + 4\n" + " ldr r3, ._508 + 4 @ 0x55c\n" " add r1, r1, r3\n" " add r0, r0, r1\n" " ldrh r0, [r0]\n" @@ -4910,7 +4910,7 @@ void DebugMenu_8078A14() " add r0, r5, #0\n" " sub r0, r0, #0x8\n" " add r0, r4, r0\n" - " ldr r1, ._508 + 8\n" + " ldr r1, ._508 + 8 @ DebugMenu_8078AA4\n" " b ._507\n" "._509:\n" " .align 2, 0\n" @@ -4926,7 +4926,7 @@ void DebugMenu_8078A14() " add r0, r5, #0\n" " sub r0, r0, #0x8\n" " add r0, r4, r0\n" - " ldr r1, ._511\n" + " ldr r1, ._511 @ DebugMenu_8078B38\n" "._507:\n" " str r1, [r0]\n" "._510:\n" @@ -4951,12 +4951,12 @@ void DebugMenu_8078AA4() " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r5, r1, #0x3\n" - " ldr r7, ._515\n" + " ldr r7, ._515 @ gTasks\n" " add r4, r5, r7\n" " add r0, r4, #2\n" " mov r2, #0xfa\n" " lsl r2, r2, #0x3\n" - " ldr r6, ._515 + 4\n" + " ldr r6, ._515 + 4 @ gMain\n" " ldrh r3, [r6, #0x30]\n" " mov r1, #0x0\n" " bl DebugMenu_8077DD8\n" @@ -4976,11 +4976,11 @@ void DebugMenu_8078AA4() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._517 @cond_branch\n" - " ldr r1, ._519\n" + " ldr r1, ._519 @ gSaveBlock2\n" " mov r2, #0x0\n" " ldsh r0, [r4, r2]\n" " lsl r0, r0, #0x1\n" - " ldr r2, ._519 + 4\n" + " ldr r2, ._519 + 4 @ 0x55c\n" " add r1, r1, r2\n" " add r0, r0, r1\n" " ldrh r1, [r4, #0x2]\n" @@ -4990,7 +4990,7 @@ void DebugMenu_8078AA4() " add r0, r7, #0\n" " sub r0, r0, #0x8\n" " add r0, r5, r0\n" - " ldr r1, ._519 + 8\n" + " ldr r1, ._519 + 8 @ DebugMenu_8078B38\n" " b ._518\n" "._520:\n" " .align 2, 0\n" @@ -5009,7 +5009,7 @@ void DebugMenu_8078AA4() " add r0, r7, #0\n" " sub r0, r0, #0x8\n" " add r0, r5, r0\n" - " ldr r1, ._522\n" + " ldr r1, ._522 @ DebugMenu_8078A14\n" "._518:\n" " str r1, [r0]\n" "._521:\n" @@ -5050,7 +5050,7 @@ u8 DebugMenu_BattleTowerStages() " push {lr}\n" " bl CloseMenu\n" " bl ScriptContext2_Enable\n" - " ldr r0, ._524\n" + " ldr r0, ._524 @ DebugMenu_80789CC\n" " mov r1, #0x50\n" " bl CreateTask\n" " mov r0, #0x1\n" @@ -5072,11 +5072,11 @@ void DebugMenu_8078B70() " add r1, r0, #0\n" " lsl r1, r1, #0x10\n" " lsr r1, r1, #0x10\n" - " ldr r0, ._526\n" + " ldr r0, ._526 @ gStringVar1\n" " mov r2, #0x0\n" " mov r3, #0x1\n" " bl ConvertIntToHexStringN\n" - " ldr r0, ._526 + 4\n" + " ldr r0, ._526 + 4 @ Str_839C438\n" " bl sub_8071F40\n" " pop {r0}\n" " bx r0\n" @@ -5095,11 +5095,11 @@ void DebugMenu_8078B94() asm( " push {r4, r5, lr}\n" " mov r3, #0x0\n" - " ldr r1, ._531\n" + " ldr r1, ._531 @ gUnknown_Debug_839C444\n" " ldrb r0, [r1]\n" " cmp r0, #0\n" " beq ._529 @cond_branch\n" - " ldr r5, ._531 + 4\n" + " ldr r5, ._531 + 4 @ gSaveBlock1\n" " add r4, r1, #0\n" "._530:\n" " lsl r0, r3, #0x3\n" @@ -5142,7 +5142,7 @@ void DebugMenu_8078BD4() " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" - " ldr r1, ._536\n" + " ldr r1, ._536 @ gTasks\n" " add r4, r0, r1\n" " mov r1, #0x0\n" " ldsh r0, [r4, r1]\n" @@ -5163,7 +5163,7 @@ void DebugMenu_8078BD4() " strh r0, [r4]\n" " b ._545\n" "._534:\n" - " ldr r2, ._541\n" + " ldr r2, ._541 @ gMain\n" " ldrh r1, [r2, #0x2e]\n" " and r0, r0, r1\n" " cmp r0, #0\n" @@ -5214,7 +5214,7 @@ u8 DebugMenu_CheckPKBLCK() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._546\n" + " ldr r0, ._546 @ DebugMenu_8078BD4\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" @@ -5235,12 +5235,12 @@ void DebugMenu_8078C80() asm( " push {lr}\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._548\n" + " ldr r0, ._548 @ Str_839C5A4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" - " ldr r1, ._548 + 4\n" - " ldr r0, ._548 + 8\n" + " ldr r1, ._548 + 4 @ gMenuCallback\n" + " ldr r0, ._548 + 8 @ DebugMenu_8078CA8\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -5260,14 +5260,14 @@ void DebugMenu_8078CA8() { asm( " push {lr}\n" - " ldr r0, ._552\n" + " ldr r0, ._552 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._550 @cond_branch\n" - " ldr r1, ._552 + 4\n" - " ldr r0, ._552 + 8\n" + " ldr r1, ._552 + 4 @ gMenuCallback\n" + " ldr r0, ._552 + 8 @ DebugMenu_8078CE4\n" " str r0, [r1]\n" " mov r0, #0x0\n" " b ._555\n" @@ -5299,15 +5299,15 @@ void DebugMenu_8078CE4() { asm( " push {lr}\n" - " ldr r1, ._558\n" + " ldr r1, ._558 @ \n" " mov r2, #0x80\n" " lsl r2, r2, #0xa\n" " mov r0, #0x0\n" " bl DebugMenu_8078E40\n" " cmp r0, #0x1\n" " bne ._556 @cond_branch\n" - " ldr r0, ._558 + 4\n" - " ldr r1, ._558 + 8\n" + " ldr r0, ._558 + 4 @ \n" + " ldr r1, ._558 + 8 @ \n" " bl StringCopy\n" " b ._557\n" "._559:\n" @@ -5317,12 +5317,12 @@ void DebugMenu_8078CE4() " .word gStringVar4\n" " .word Str_839C5CC\n" "._556:\n" - " ldr r0, ._560\n" - " ldr r1, ._560 + 4\n" + " ldr r0, ._560 @ gStringVar4\n" + " ldr r1, ._560 + 4 @ Str_839C5DF\n" " bl StringCopy\n" "._557:\n" - " ldr r1, ._560 + 8\n" - " ldr r0, ._560 + 12\n" + " ldr r1, ._560 + 8 @ gMenuCallback\n" + " ldr r0, ._560 + 12 @ DebugMenu_8078D7C\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -5343,7 +5343,7 @@ void DebugMenu_8078D30() { asm( " push {r4, r5, r6, lr}\n" - " ldr r5, ._563\n" + " ldr r5, ._563 @ \n" " mov r4, #0x0\n" " mov r6, #0x80\n" " lsl r6, r6, #0x5\n" @@ -5358,11 +5358,11 @@ void DebugMenu_8078D30() " lsr r4, r0, #0x18\n" " cmp r4, #0x1f\n" " bls ._562 @cond_branch\n" - " ldr r0, ._563 + 4\n" - " ldr r1, ._563 + 8\n" + " ldr r0, ._563 + 4 @ \n" + " ldr r1, ._563 + 8 @ \n" " bl StringCopy\n" - " ldr r1, ._563 + 12\n" - " ldr r0, ._563 + 16\n" + " ldr r1, ._563 + 12 @ \n" + " ldr r0, ._563 + 16 @ \n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r4, r5, r6}\n" @@ -5386,12 +5386,12 @@ void DebugMenu_8078D7C() asm( " push {lr}\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._565\n" + " ldr r0, ._565 @ gStringVar4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" - " ldr r1, ._565 + 4\n" - " ldr r0, ._565 + 8\n" + " ldr r1, ._565 + 4 @ gMenuCallback\n" + " ldr r0, ._565 + 8 @ DebugMenu_8078DA4\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -5411,7 +5411,7 @@ void DebugMenu_8078DA4() { asm( " push {lr}\n" - " ldr r0, ._569\n" + " ldr r0, ._569 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -5439,12 +5439,12 @@ u8 DebugMenu_MeTooBackupMan() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " ldr r0, ._571\n" + " ldr r0, ._571 @ gUnknown_Debug_839C594\n" " mov r1, #0xc\n" " mov r2, #0x2\n" " bl DebugMenu_8077D24\n" - " ldr r1, ._571 + 4\n" - " ldr r0, ._571 + 8\n" + " ldr r1, ._571 + 4 @ gMenuCallback\n" + " ldr r0, ._571 + 8 @ DebugMenu_8078DF0\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" @@ -5464,7 +5464,7 @@ void DebugMenu_8078DF0() { asm( " push {lr}\n" - " ldr r0, ._573\n" + " ldr r0, ._573 @ gUnknown_Debug_839C594\n" " bl DebugMenu_8077D78\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" @@ -5487,7 +5487,7 @@ void DebugMenu_8078E04() " add r5, r2, #0\n" " b ._575\n" "._577:\n" - " ldr r0, ._579\n" + " ldr r0, ._579 @ 0xfffff000\n" " add r5, r5, r0\n" " mov r0, #0x80\n" " lsl r0, r0, #0x5\n" @@ -5576,7 +5576,7 @@ void DebugMenu_8078E80() " mov r2, #0x16\n" " mov r3, #0x10\n" " bl Menu_BlankWindowRect\n" - " ldr r1, ._581\n" + " ldr r1, ._581 @ gUnknown_Debug_839C5F4\n" " mov r2, #0x0\n" " ldsh r0, [r4, r2]\n" " lsl r0, r0, #0x3\n" @@ -5602,7 +5602,7 @@ void DebugMenu_8078EB0() asm( " push {r4, r5, lr}\n" " add r5, r0, #0\n" - " ldr r4, ._583\n" + " ldr r4, ._583 @ gStringVar1\n" " mov r0, #0x2\n" " ldsh r1, [r5, r0]\n" " add r0, r4, #0\n" @@ -5662,11 +5662,11 @@ void DebugMenu_8078F1C() " lsl r4, r0, #0x2\n" " add r4, r4, r0\n" " lsl r4, r4, #0x3\n" - " ldr r6, ._585\n" + " ldr r6, ._585 @ gTasks\n" " add r5, r4, r6\n" " mov r0, #0x0\n" " strh r0, [r5]\n" - " ldr r1, ._585 + 4\n" + " ldr r1, ._585 + 4 @ gSaveBlock2\n" " ldrh r0, [r1, #0xe]\n" " strh r0, [r5, #0x2]\n" " ldrb r0, [r1, #0x10]\n" @@ -5680,7 +5680,7 @@ void DebugMenu_8078F1C() " bl DebugMenu_8078E80\n" " sub r6, r6, #0x8\n" " add r4, r4, r6\n" - " ldr r0, ._585 + 8\n" + " ldr r0, ._585 + 8 @ DebugMenu_8078F68\n" " str r0, [r4]\n" " pop {r4, r5, r6}\n" " pop {r0}\n" @@ -5705,15 +5705,15 @@ void DebugMenu_8078F68() " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r5, r1, #0x3\n" - " ldr r6, ._589\n" + " ldr r6, ._589 @ gTasks\n" " add r4, r5, r6\n" - " ldr r3, ._589 + 4\n" + " ldr r3, ._589 + 4 @ gMain\n" " ldrh r1, [r3, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._587 @cond_branch\n" - " ldr r1, ._589 + 8\n" + " ldr r1, ._589 + 8 @ gSaveBlock2\n" " ldrh r0, [r4, #0x2]\n" " strh r0, [r1, #0xe]\n" " ldrh r0, [r4, #0x4]\n" @@ -5738,7 +5738,7 @@ void DebugMenu_8078F68() " add r0, r6, #0\n" " sub r0, r0, #0x8\n" " add r0, r5, r0\n" - " ldr r1, ._593\n" + " ldr r1, ._593 @ DebugMenu_8079020\n" " str r1, [r0]\n" " b ._601\n" "._594:\n" @@ -5775,7 +5775,7 @@ void DebugMenu_8078F68() " mov r0, #0x0\n" " ldsh r2, [r4, r0]\n" " lsl r2, r2, #0x3\n" - " ldr r0, ._602\n" + " ldr r0, ._602 @ gUnknown_Debug_839C5F4\n" " add r2, r2, r0\n" " ldrb r0, [r2, #0x5]\n" " lsl r0, r0, #0x1\n" @@ -5825,7 +5825,7 @@ u8 DebugMenu_PTime() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._604\n" + " ldr r0, ._604 @ DebugMenu_8078F1C\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" @@ -5847,7 +5847,7 @@ void DebugMenu_8079058() " push {r4, r5, lr}\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" - " ldr r1, ._610\n" + " ldr r1, ._610 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -5870,7 +5870,7 @@ void DebugMenu_8079058() " beq ._612 @cond_branch\n" " b ._620\n" "._608:\n" - " ldr r0, ._615\n" + " ldr r0, ._615 @ gUnknown_Debug_03004BD0\n" " str r1, [r0]\n" " bl Menu_DisplayDialogueFrame\n" " b ._614\n" @@ -5879,7 +5879,7 @@ void DebugMenu_8079058() "._615:\n" " .word gUnknown_Debug_03004BD0\n" "._606:\n" - " ldr r0, ._618\n" + " ldr r0, ._618 @ gDebug0x839C60C\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" @@ -5906,7 +5906,7 @@ void DebugMenu_8079058() " beq ._620 @cond_branch\n" " cmp r1, #0\n" " bne ._621 @cond_branch\n" - " ldr r1, ._623\n" + " ldr r1, ._623 @ gUnknown_Debug_03004BD0\n" " mov r0, #0x1\n" " b ._622\n" "._624:\n" @@ -5914,7 +5914,7 @@ void DebugMenu_8079058() "._623:\n" " .word gUnknown_Debug_03004BD0\n" "._621:\n" - " ldr r1, ._625\n" + " ldr r1, ._625 @ gUnknown_Debug_03004BD0\n" " mov r0, #0x0\n" "._622:\n" " str r0, [r1]\n" @@ -5940,7 +5940,7 @@ u8 DebugMenu_OpenMurakawa() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._627\n" + " ldr r0, ._627 @ DebugMenu_8079058\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" @@ -5962,7 +5962,7 @@ void DebugMenu_8079110() " push {r4, r5, lr}\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" - " ldr r1, ._633\n" + " ldr r1, ._633 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -5988,7 +5988,7 @@ void DebugMenu_8079110() " bl Menu_DisplayDialogueFrame\n" " b ._637\n" "._629:\n" - " ldr r0, ._639\n" + " ldr r0, ._639 @ Str_839C61A\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl MenuPrintMessage\n" @@ -6006,7 +6006,7 @@ void DebugMenu_8079110() " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " beq ._642 @cond_branch\n" - " ldr r0, ._643\n" + " ldr r0, ._643 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -6034,7 +6034,7 @@ u8 DebugMenu_OpenKiwa() asm( " push {lr}\n" " bl CloseMenu\n" - " ldr r0, ._645\n" + " ldr r0, ._645 @ DebugMenu_8079110\n" " mov r1, #0x50\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c index c656b2203..ff73e638e 100644 --- a/src/engine/cable_club.c +++ b/src/engine/cable_club.c @@ -104,7 +104,7 @@ int debug_sub_808A4D0() asm("\ push {lr}\n\ add r1, r0, #0\n\ - ldr r0, ._3\n\ + ldr r0, ._3 @ sub_8082F68\n\ cmp r1, r0\n\ bne ._1 @cond_branch\n\ mov r0, #0x1\n\ @@ -114,7 +114,7 @@ int debug_sub_808A4D0() ._3:\n\ .word sub_8082F68+1\n\ ._1:\n\ - ldr r0, ._7\n\ + ldr r0, ._7 @ sub_8082FEC\n\ cmp r1, r0\n\ bne ._5 @cond_branch\n\ mov r0, #0x11\n\ @@ -124,7 +124,7 @@ int debug_sub_808A4D0() ._7:\n\ .word sub_8082FEC+1\n\ ._5:\n\ - ldr r0, ._11\n\ + ldr r0, ._11 @ sub_808303C\n\ cmp r1, r0\n\ bne ._9 @cond_branch\n\ mov r0, #0x12\n\ @@ -134,7 +134,7 @@ int debug_sub_808A4D0() ._11:\n\ .word sub_808303C+1\n\ ._9:\n\ - ldr r0, ._15\n\ + ldr r0, ._15 @ sub_8083188\n\ cmp r1, r0\n\ bne ._13 @cond_branch\n\ mov r0, #0x13\n\ @@ -144,7 +144,7 @@ int debug_sub_808A4D0() ._15:\n\ .word sub_8083188+1\n\ ._13:\n\ - ldr r0, ._19\n\ + ldr r0, ._19 @ sub_80830E4\n\ cmp r1, r0\n\ bne ._17 @cond_branch\n\ mov r0, #0x14\n\ @@ -154,7 +154,7 @@ int debug_sub_808A4D0() ._19:\n\ .word sub_80830E4+1\n\ ._17:\n\ - ldr r0, ._23\n\ + ldr r0, ._23 @ sub_80831F8\n\ cmp r1, r0\n\ bne ._21 @cond_branch\n\ mov r0, #0x21\n\ @@ -164,7 +164,7 @@ int debug_sub_808A4D0() ._23:\n\ .word sub_80831F8+1\n\ ._21:\n\ - ldr r0, ._27\n\ + ldr r0, ._27 @ sub_8083314\n\ cmp r1, r0\n\ bne ._25 @cond_branch\n\ mov r0, #0x2\n\ @@ -174,7 +174,7 @@ int debug_sub_808A4D0() ._27:\n\ .word sub_8083314+1\n\ ._25:\n\ - ldr r0, ._31\n\ + ldr r0, ._31 @ sub_80833C4\n\ cmp r1, r0\n\ beq ._29 @cond_branch\n\ mov r0, #0x0\n\ @@ -199,7 +199,7 @@ void debug_sub_808A55C() push {r7}\n\ lsl r0, r0, #0x18\n\ lsr r7, r0, #0x18\n\ - ldr r2, ._37\n\ + ldr r2, ._37 @ gTasks\n\ lsl r0, r7, #0x2\n\ add r0, r0, r7\n\ lsl r0, r0, #0x3\n\ @@ -224,13 +224,13 @@ void debug_sub_808A55C() add r0, r0, #0x1\n\ strh r0, [r4, #0xa]\n\ ._33:\n\ - ldr r0, ._37 + 4\n\ + ldr r0, ._37 + 4 @ gShouldAdvanceLinkState\n\ ldrb r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0x0\n\ mov r3, #0x2\n\ bl PrintHex\n\ - ldr r0, ._37 + 8\n\ + ldr r0, ._37 + 8 @ gBlockSendBuffer\n\ ldrb r0, [r0]\n\ mov r1, #0x16\n\ mov r2, #0x5\n\ @@ -244,14 +244,14 @@ void debug_sub_808A55C() mov r5, #0xa0\n\ lsl r5, r5, #0x13\n\ ._35:\n\ - ldr r0, ._37 + 12\n\ + ldr r0, ._37 + 12 @ gLinkPlayerPending\n\ add r0, r4, r0\n\ ldrb r0, [r0]\n\ lsr r1, r5, #0x18\n\ mov r2, #0x0\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r1, ._37 + 16\n\ + ldr r1, ._37 + 16 @ gBlockRecvBuffer\n\ lsl r0, r4, #0x8\n\ add r0, r0, r1\n\ ldrh r0, [r0]\n\ @@ -268,13 +268,13 @@ void debug_sub_808A55C() add r4, r4, #0x1\n\ cmp r4, #0x3\n\ ble ._35 @cond_branch\n\ - ldr r4, ._37 + 20\n\ + ldr r4, ._37 + 20 @ gLinkStatus\n\ ldr r0, [r4]\n\ mov r1, #0xf\n\ mov r2, #0x0\n\ mov r3, #0x8\n\ bl PrintHex\n\ - ldr r0, ._37 + 24\n\ + ldr r0, ._37 + 24 @ gLink\n\ ldrb r0, [r0, #0x1]\n\ mov r1, #0x2\n\ mov r2, #0xa\n\ @@ -294,13 +294,13 @@ void debug_sub_808A55C() mov r2, #0xa\n\ mov r3, #0x2\n\ bl PrintHex\n\ - ldr r0, ._37 + 28\n\ + ldr r0, ._37 + 28 @ gReceivedRemoteLinkPlayers\n\ ldrb r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0xc\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r0, ._37 + 32\n\ + ldr r0, ._37 + 32 @ gSpecialVar_Result\n\ ldrh r0, [r0]\n\ mov r1, #0xb\n\ mov r2, #0x8\n\ @@ -328,7 +328,7 @@ void debug_sub_808A55C() mov r2, #0xa\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r2, ._37\n\ + ldr r2, ._37 @ gTasks\n\ mov r3, r8\n\ add r0, r3, r7\n\ lsl r0, r0, #0x3\n\ @@ -347,7 +347,7 @@ void debug_sub_808A55C() mov r2, #0xc\n\ mov r3, #0x2\n\ bl PrintHex\n\ - ldr r0, ._37 + 36\n\ + ldr r0, ._37 + 36 @ gLinkCallback\n\ ldr r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0xd\n\ @@ -360,7 +360,7 @@ void debug_sub_808A55C() mov r2, #0x2\n\ mov r3, #0x1\n\ bl PrintHex\n\ - ldr r0, ._37 + 40\n\ + ldr r0, ._37 + 40 @ gLinkPlayers\n\ mov r6, #0x80\n\ lsl r6, r6, #0x12\n\ add r5, r0, #0\n\ @@ -379,7 +379,7 @@ void debug_sub_808A55C() sub r4, r4, #0x1\n\ cmp r4, #0\n\ bge ._36 @cond_branch\n\ - ldr r0, ._37 + 44\n\ + ldr r0, ._37 + 44 @ 0x4000128\n\ ldrh r0, [r0]\n\ mov r1, #0x2\n\ mov r2, #0x6\n\ @@ -430,7 +430,7 @@ static void sub_8082CD4(u8 arg0, u8 arg1) mov r2, #0x1f\n\ mov r3, #0x2\n\ bl InitLinkTestBG_Unused\n\ - ldr r4, ._40\n\ + ldr r4, ._40 @ sub_8082F20\n\ add r0, r4, #0\n\ bl FindTaskIdByFunc\n\ lsl r0, r0, #0x18\n\ @@ -443,14 +443,14 @@ static void sub_8082CD4(u8 arg0, u8 arg1) add r4, r0, #0\n\ lsl r4, r4, #0x18\n\ lsr r4, r4, #0x18\n\ - ldr r5, ._40 + 4\n\ + ldr r5, ._40 + 4 @ gTasks\n\ lsl r0, r4, #0x2\n\ add r0, r0, r4\n\ lsl r0, r0, #0x3\n\ add r0, r0, r5\n\ strh r7, [r0, #0xa]\n\ strh r6, [r0, #0xc]\n\ - ldr r0, ._40 + 8\n\ + ldr r0, ._40 + 8 @ debug_sub_808A55C\n\ mov r1, #0x50\n\ bl CreateTask\n\ lsl r0, r0, #0x18\n\ @@ -1297,7 +1297,7 @@ void debug_sub_808B778() { asm("\ push {r4, lr}\n\ - ldr r4, ._390\n\ + ldr r4, ._390 @ debug_sub_808B7A8\n\ add r0, r4, #0\n\ bl FuncIsActiveTask\n\ lsl r0, r0, #0x18\n\ @@ -1307,7 +1307,7 @@ void debug_sub_808B778() mov r1, #0x50\n\ bl CreateTask\n\ ._389:\n\ - ldr r1, ._390 + 4\n\ + ldr r1, ._390 + 4 @ unk_3004E98\n\ ldr r0, [r1]\n\ add r0, r0, #0x1\n\ str r0, [r1]\n\ @@ -1328,7 +1328,7 @@ void debug_sub_808B7A8() push {lr}\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ - ldr r2, ._393\n\ + ldr r2, ._393 @ gTasks\n\ lsl r1, r0, #0x2\n\ add r1, r1, r0\n\ lsl r1, r1, #0x3\n\ @@ -1342,7 +1342,7 @@ void debug_sub_808B7A8() bne ._392 @cond_branch\n\ mov r0, #0x0\n\ strh r0, [r1, #0x8]\n\ - ldr r2, ._393 + 4\n\ + ldr r2, ._393 + 4 @ unk_3004E94\n\ ldrh r0, [r2]\n\ mov r1, #0x1\n\ orr r0, r0, r1\n\ diff --git a/src/engine/link.c b/src/engine/link.c index 8888f22f5..00c084069 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -1050,7 +1050,7 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) " add r6, r1, #0\n" " add r4, r3, #0\n" " ldr r0, [sp, #0x38]\n" - " ldr r1, ._347\n" + " ldr r1, ._347 @ unk_20238D0\n" " ldr r1, [r1]\n" " cmp r1, r0\n" " bne ._345 @cond_branch\n" @@ -1059,7 +1059,7 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) " mov r4, #0x8\n" "._342:\n" " mov r3, sp\n" - " ldr r0, ._347 + 4\n" + " ldr r0, ._347 + 4 @ debugTileMap\n" " mov r8, r0\n" " lsl r2, r2, #0x6\n" " mov ip, r2\n" @@ -1087,8 +1087,8 @@ void debug_sub_8008264(u32 value, int left, int top, int r3, int sp0) " sub r3, r0, #4\n" " cmp r4, #0\n" " ble ._345 @cond_branch\n" - " ldr r7, ._347 + 8\n" - " ldr r6, ._347 + 12\n" + " ldr r7, ._347 + 8 @ debugCharacterBase\n" + " ldr r6, ._347 + 12 @ unk_20238C8\n" " add r2, r4, #0\n" "._346:\n" " ldr r1, [r7]\n" diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 116b60477..bc14c760d 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -350,7 +350,7 @@ void debug_sub_815D04C() " push {r4, r5, r6, lr}\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\n" - " ldr r1, ._125\n" + " ldr r1, ._125 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -364,7 +364,7 @@ void debug_sub_815D04C() " mov r2, #0xd\n" " mov r3, #0x7\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r1, ._125 + 4\n" + " ldr r1, ._125 + 4 @ gUnknown_Debug_842E2D0\n" " mov r2, #0xa\n" " ldsh r0, [r4, r2]\n" " lsl r0, r0, #0x3\n" @@ -377,7 +377,7 @@ void debug_sub_815D04C() " add r0, r0, #0x1\n" " strh r0, [r4, #0x8]\n" "._121:\n" - " ldr r2, ._125 + 8\n" + " ldr r2, ._125 + 8 @ gMain\n" " ldrh r1, [r2, #0x2e]\n" " mov r0, #0x20\n" " and r0, r0, r1\n" @@ -389,7 +389,7 @@ void debug_sub_815D04C() " ldsh r0, [r4, r2]\n" " cmp r0, #0\n" " bne ._123 @cond_branch\n" - " ldr r0, ._125 + 12\n" + " ldr r0, ._125 + 12 @ gUnknown_Debug_842E350\n" " ldrb r0, [r0]\n" " sub r0, r0, #0x1\n" " b ._124\n" @@ -404,7 +404,7 @@ void debug_sub_815D04C() " sub r0, r1, #1\n" "._124:\n" " strh r0, [r4, #0xa]\n" - " ldr r0, ._130\n" + " ldr r0, ._130 @ gTasks\n" " lsl r1, r5, #0x2\n" " add r1, r1, r5\n" " lsl r1, r1, #0x3\n" @@ -417,14 +417,14 @@ void debug_sub_815D04C() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._127 @cond_branch\n" - " ldr r1, ._130\n" + " ldr r1, ._130 @ gTasks\n" " lsl r2, r5, #0x2\n" " add r0, r2, r5\n" " lsl r0, r0, #0x3\n" " add r4, r0, r1\n" " mov r0, #0xa\n" " ldsh r3, [r4, r0]\n" - " ldr r0, ._130 + 4\n" + " ldr r0, ._130 + 4 @ gUnknown_Debug_842E350\n" " ldrb r0, [r0]\n" " sub r0, r0, #0x1\n" " cmp r3, r0\n" @@ -452,7 +452,7 @@ void debug_sub_815D04C() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._132 @cond_branch\n" - " ldr r1, ._133\n" + " ldr r1, ._133 @ gTasks\n" " lsl r0, r5, #0x2\n" " add r0, r0, r5\n" " lsl r0, r0, #0x3\n" @@ -460,13 +460,13 @@ void debug_sub_815D04C() " mov r2, #0xa\n" " ldsh r1, [r0, r2]\n" " lsl r1, r1, #0x3\n" - " ldr r0, ._133 + 4\n" + " ldr r0, ._133 + 4 @ gUnknown_Debug_842E2D0\n" " add r0, r0, #0x4\n" " add r1, r1, r0\n" - " ldr r0, ._133 + 8\n" + " ldr r0, ._133 + 8 @ \n" " ldr r1, [r1]\n" " bl _call_via_r1\n" - " ldr r0, ._133 + 12\n" + " ldr r0, ._133 + 12 @ \n" " add r1, r6, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" @@ -516,8 +516,8 @@ void debug_sub_815D1D8() asm( " push {r4, lr}\n" " add sp, sp, #0xfffffffc\n" - " ldr r1, ._139\n" - " ldr r2, ._139 + 4\n" + " ldr r1, ._139 @ gMain\n" + " ldr r2, ._139 + 4 @ 0x43c\n" " add r0, r1, r2\n" " ldrb r0, [r0]\n" " add r4, r1, #0\n" @@ -526,7 +526,7 @@ void debug_sub_815D1D8() " b ._196\n" "._137:\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._139 + 8\n" + " ldr r1, ._139 + 8 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -562,8 +562,8 @@ void debug_sub_815D1D8() " mov r2, #0x10\n" " mov r3, #0x0\n" " bl BeginNormalPaletteFade\n" - " ldr r1, ._155\n" - " ldr r0, ._155 + 4\n" + " ldr r1, ._155 @ gMain\n" + " ldr r0, ._155 + 4 @ 0x43c\n" " add r1, r1, r0\n" " b ._189\n" "._156:\n" @@ -572,7 +572,7 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._143:\n" - " ldr r0, ._161\n" + " ldr r0, ._161 @ gPaletteFade\n" " ldrb r1, [r0, #0x7]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" @@ -586,16 +586,16 @@ void debug_sub_815D1D8() " and r0, r0, r1\n" " cmp r0, #0\n" " beq ._159 @cond_branch\n" - " ldr r1, ._161 + 4\n" + " ldr r1, ._161 + 4 @ gUnknown_Debug_30030E0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" "._159:\n" - " ldr r0, ._161 + 8\n" + " ldr r0, ._161 + 8 @ Str_843DA70\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl MenuPrintMessage\n" - " ldr r2, ._161 + 12\n" + " ldr r2, ._161 + 12 @ 0x43c\n" " add r1, r4, r2\n" " b ._189\n" "._162:\n" @@ -612,14 +612,14 @@ void debug_sub_815D1D8() " bne ._163 @cond_branch\n" " b ._196\n" "._163:\n" - " ldr r1, ._166\n" - " ldr r0, ._166 + 4\n" + " ldr r1, ._166 @ gMain\n" + " ldr r0, ._166 + 4 @ 0x43c\n" " add r1, r1, r0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" - " ldr r1, ._166 + 8\n" - " ldr r2, ._166 + 12\n" + " ldr r1, ._166 + 8 @ gLinkType\n" + " ldr r2, ._166 + 12 @ 0x5501\n" " add r0, r2, #0\n" " strh r0, [r1]\n" " bl OpenLink\n" @@ -632,18 +632,18 @@ void debug_sub_815D1D8() " .word gLinkType\n" " .word 0x5501\n" "._145:\n" - " ldr r0, ._171\n" + " ldr r0, ._171 @ gReceivedRemoteLinkPlayers\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " bne ._168 @cond_branch\n" " b ._196\n" "._168:\n" - " ldr r1, ._171 + 4\n" + " ldr r1, ._171 + 4 @ 0x43c\n" " add r0, r4, r1\n" " ldrb r1, [r0]\n" " add r1, r1, #0x1\n" " strb r1, [r0]\n" - " ldr r0, ._171 + 8\n" + " ldr r0, ._171 + 8 @ Str_843DA84\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl MenuPrintMessage\n" @@ -661,11 +661,11 @@ void debug_sub_815D1D8() " bne ._173 @cond_branch\n" " b ._196\n" "._173:\n" - " ldr r0, ._176\n" + " ldr r0, ._176 @ debug_sub_815D04C\n" " mov r1, #0xa\n" " bl CreateTask\n" - " ldr r1, ._176 + 4\n" - " ldr r2, ._176 + 8\n" + " ldr r1, ._176 + 4 @ gMain\n" + " ldr r2, ._176 + 8 @ 0x43c\n" " add r1, r1, r2\n" " b ._189\n" "._177:\n" @@ -675,16 +675,16 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._148:\n" - " ldr r0, ._179\n" + " ldr r0, ._179 @ Str_843DA98\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl MenuPrintMessage\n" - " ldr r1, ._179 + 4\n" - " ldr r2, ._179 + 8\n" + " ldr r1, ._179 + 4 @ 0x2004000\n" + " ldr r2, ._179 + 8 @ 0x2004\n" " mov r0, #0x0\n" " bl SendBlock\n" - " ldr r1, ._179 + 12\n" - " ldr r0, ._179 + 16\n" + " ldr r1, ._179 + 12 @ gMain\n" + " ldr r0, ._179 + 16 @ 0x43c\n" " add r1, r1, r0\n" " b ._189\n" "._180:\n" @@ -701,8 +701,8 @@ void debug_sub_815D1D8() " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " beq ._196 @cond_branch\n" - " ldr r1, ._183\n" - " ldr r2, ._183 + 4\n" + " ldr r1, ._183 @ gMain\n" + " ldr r2, ._183 + 4 @ 0x43c\n" " add r1, r1, r2\n" " b ._189\n" "._184:\n" @@ -712,8 +712,8 @@ void debug_sub_815D1D8() " .word 0x43c\n" "._150:\n" " bl sub_800832C\n" - " ldr r1, ._186\n" - " ldr r0, ._186 + 4\n" + " ldr r1, ._186 @ gMain\n" + " ldr r0, ._186 + 4 @ 0x43c\n" " add r1, r1, r0\n" " b ._189\n" "._187:\n" @@ -722,7 +722,7 @@ void debug_sub_815D1D8() " .word gMain\n" " .word 0x43c\n" "._151:\n" - " ldr r0, ._190\n" + " ldr r0, ._190 @ gReceivedRemoteLinkPlayers\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " bne ._196 @cond_branch\n" @@ -731,12 +731,12 @@ void debug_sub_815D1D8() " mov r2, #0x1a\n" " mov r3, #0x12\n" " bl Menu_BlankWindowRect\n" - " ldr r0, ._190 + 4\n" + " ldr r0, ._190 + 4 @ Str_843DAA3\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" - " ldr r1, ._190 + 8\n" - " ldr r2, ._190 + 12\n" + " ldr r1, ._190 + 8 @ gMain\n" + " ldr r2, ._190 + 12 @ 0x43c\n" " add r1, r1, r2\n" " b ._189\n" "._191:\n" @@ -759,7 +759,7 @@ void debug_sub_815D1D8() " mov r2, #0x0\n" " mov r3, #0x10\n" " bl BeginNormalPaletteFade\n" - " ldr r0, ._194\n" + " ldr r0, ._194 @ 0x43c\n" " add r1, r4, r0\n" "._189:\n" " ldrb r0, [r1]\n" @@ -771,13 +771,13 @@ void debug_sub_815D1D8() "._194:\n" " .word 0x43c\n" "._153:\n" - " ldr r0, ._197\n" + " ldr r0, ._197 @ gPaletteFade\n" " ldrb r1, [r0, #0x7]\n" " mov r0, #0x80\n" " and r0, r0, r1\n" " cmp r0, #0\n" " bne ._196 @cond_branch\n" - " ldr r0, ._197 + 4\n" + " ldr r0, ._197 + 4 @ CB2_InitTitleScreen\n" " bl SetMainCallback2\n" "._196:\n" " bl RunTasks\n" diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index 9324ea1c1..8b67f39a5 100644 --- a/src/engine/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c @@ -602,7 +602,7 @@ void debug_sub_806F8F8(void) { asm("\ push {lr}\n\ - ldr r0, ._131\n\ + ldr r0, ._131 @ CB2_InitResetRtcScreen\n\ bl SetMainCallback2\n\ pop {r0}\n\ bx r0\n\ @@ -622,7 +622,7 @@ void debug_sub_806F908(u8 a) lsl r0, r5, #0x2\n\ add r0, r0, r5\n\ lsl r0, r0, #0x3\n\ - ldr r2, ._136\n\ + ldr r2, ._136 @ gTasks\n\ add r4, r0, r2\n\ mov r1, #0x0\n\ ldsh r0, [r4, r1]\n\ @@ -636,7 +636,7 @@ void debug_sub_806F908(u8 a) ._136:\n\ .word gTasks+0x8\n\ ._133:\n\ - ldr r0, ._139\n\ + ldr r0, ._139 @ Task_ResetRtc_0\n\ mov r1, #0x50\n\ bl CreateTask\n\ lsl r0, r0, #0x18\n\ @@ -666,7 +666,7 @@ void debug_sub_806F908(u8 a) ldsh r0, [r2, r1]\n\ cmp r0, #0x1\n\ bne ._142 @cond_branch\n\ - ldr r3, ._143\n\ + ldr r3, ._143 @ gLocalTime\n\ mov r1, #0x0\n\ ldsh r0, [r3, r1]\n\ mov r1, #0x2\n\ @@ -700,7 +700,7 @@ void debug_sub_806F99C() asm("\ push {lr}\n\ bl RtcCalcLocalTime\n\ - ldr r0, ._145\n\ + ldr r0, ._145 @ debug_sub_806F908\n\ mov r1, #0x50\n\ bl CreateTask\n\ bl ScriptContext2_Enable\n\ @@ -717,14 +717,14 @@ void debug_sub_806F9B8() { asm("\ push {lr}\n\ - ldr r2, ._147\n\ - ldr r0, ._147 + 4\n\ + ldr r2, ._147 @ gLocalTime\n\ + ldr r0, ._147 + 4 @ gSaveBlock2\n\ add r0, r0, #0xa0\n\ ldr r1, [r0, #0x4]\n\ ldr r0, [r0]\n\ str r0, [r2]\n\ str r1, [r2, #0x4]\n\ - ldr r0, ._147 + 8\n\ + ldr r0, ._147 + 8 @ debug_sub_806F908\n\ mov r1, #0x50\n\ bl CreateTask\n\ bl ScriptContext2_Enable\n\ @@ -752,9 +752,9 @@ void debug_sub_806F9E4() lsl r0, r7, #0x2\n\ add r0, r0, r7\n\ lsl r0, r0, #0x3\n\ - ldr r1, ._153\n\ + ldr r1, ._153 @ gTasks\n\ add r5, r0, r1\n\ - ldr r6, ._153 + 4\n\ + ldr r6, ._153 + 4 @ gStringVar4\n\ mov r1, #0x0\n\ ldsh r0, [r5, r1]\n\ cmp r0, #0x1\n\ @@ -793,19 +793,19 @@ void debug_sub_806F9E4() mov r1, #0x2\n\ mov r2, #0xa\n\ bl Menu_PrintText\n\ - ldr r0, ._158\n\ + ldr r0, ._158 @ gUnknown_Debug_0839AE94\n\ mov r1, #0xc\n\ mov r2, #0xc\n\ bl Menu_PrintText\n\ - ldr r0, ._158 + 4\n\ + ldr r0, ._158 + 4 @ gUnknown_Debug_0839AE99\n\ mov r1, #0x14\n\ mov r2, #0xc\n\ bl Menu_PrintText\n\ - ldr r0, ._158 + 8\n\ + ldr r0, ._158 + 8 @ gUnknown_Debug_0839AEA7\n\ mov r1, #0x1\n\ mov r2, #0xe\n\ bl Menu_PrintText\n\ - ldr r0, ._158 + 12\n\ + ldr r0, ._158 + 12 @ gUnknown_Debug_0839AE9D\n\ mov r1, #0x1\n\ mov r2, #0x10\n\ bl Menu_PrintText\n\ @@ -833,7 +833,7 @@ void debug_sub_806F9E4() mov r0, #0x28\n\ add r0, r0, r6\n\ mov sl, r0\n\ - ldr r4, ._163\n\ + ldr r4, ._163 @ gLocalTime\n\ mov r1, #0x2\n\ ldsb r1, [r4, r1]\n\ mov r2, #0x3\n\ @@ -850,7 +850,7 @@ void debug_sub_806F9E4() mov r2, #0x1\n\ mov r3, #0x4\n\ bl ConvertIntToDecimalStringN\n\ - ldr r0, ._163 + 4\n\ + ldr r0, ._163 + 4 @ gSaveBlock2\n\ ldrb r0, [r0, #0x12]\n\ cmp r0, #0\n\ bne ._160 @cond_branch\n\ @@ -885,7 +885,7 @@ void debug_sub_806F9E4() .word gLocalTime\n\ .word gSaveBlock2\n\ ._161:\n\ - ldr r0, ._166\n\ + ldr r0, ._166 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 7902427e0..49cf166d4 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -157,12 +157,12 @@ void CB2_WipeSave() asm( " push {r4, r5, lr}\n" " mov r4, #0x0\n" - " ldr r0, ._20\n" + " ldr r0, ._20 @ gSaveFailedClockInfo\n" " mov r2, #0x1\n" " strh r2, [r0]\n" - " ldr r0, ._20 + 4\n" + " ldr r0, ._20 + 4 @ gUnknown_Debug_03004BD0\n" " ldr r0, [r0]\n" - " ldr r1, ._20 + 8\n" + " ldr r1, ._20 + 8 @ gDamagedSaveSectors\n" " cmp r0, #0\n" " beq ._12 @cond_branch\n" " str r2, [r1]\n" @@ -182,11 +182,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._20 + 12\n" + " ldr r0, ._20 + 12 @ gSystemText_CheckCompleteSaveAttempt\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._20 + 16\n" + " ldr r0, ._20 + 16 @ gSaveFailedType\n" " ldrb r0, [r0]\n" " bl Save_WriteDataInternal\n" " ldr r0, [r5]\n" @@ -197,7 +197,7 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._20 + 20\n" + " ldr r0, ._20 + 20 @ gSystemText_SaveFailedBackupCheck\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" @@ -218,11 +218,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._20 + 24\n" + " ldr r0, ._20 + 24 @ gSystemText_BackupDamagedGameContinue\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._20 + 28\n" + " ldr r0, ._20 + 28 @ CB2_FadeAndReturnToTitleScreen\n" " bl SetMainCallback2\n" " b ._23\n" "._21:\n" @@ -242,11 +242,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._24\n" + " ldr r0, ._24 @ gGameContinueCallback\n" " ldr r0, [r0]\n" " cmp r0, #0\n" " bne ._22 @cond_branch\n" - " ldr r0, ._24 + 4\n" + " ldr r0, ._24 + 4 @ gSystemText_SaveCompletedGameEnd\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" @@ -262,11 +262,11 @@ void CB2_WipeSave() " mov r2, #0x1c\n" " mov r3, #0x13\n" " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._27\n" + " ldr r0, ._27 @ gSystemText_BackupDamagedGameContinue\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" - " ldr r0, ._27 + 4\n" + " ldr r0, ._27 + 4 @ CB2_GameplayCannotBeContinued\n" " bl SetMainCallback2\n" " b ._26\n" "._28:\n" @@ -275,12 +275,12 @@ void CB2_WipeSave() " .word gSystemText_BackupDamagedGameContinue\n" " .word CB2_GameplayCannotBeContinued+1\n" "._22:\n" - " ldr r0, ._29\n" + " ldr r0, ._29 @ gSystemText_SaveCompletedPressA\n" " mov r1, #0x2\n" " mov r2, #0xb\n" " bl Menu_PrintText\n" "._23:\n" - " ldr r0, ._29 + 4\n" + " ldr r0, ._29 + 4 @ CB2_FadeAndReturnToTitleScreen\n" " bl SetMainCallback2\n" "._26:\n" " pop {r4, r5}\n" @@ -420,20 +420,20 @@ bool8 VerifySectorWipe(u16 sector) " push {lr}\n" " lsl r0, r0, #0x10\n" " lsr r0, r0, #0x10\n" - " ldr r2, ._50\n" + " ldr r2, ._50 @ \n" " mov r3, #0x80\n" " lsl r3, r3, #0x5\n" " mov r1, #0x0\n" " bl ReadFlash\n" " mov r0, #0x0\n" - " ldr r1, ._50 + 4\n" + " ldr r1, ._50 + 4 @ \n" "._49:\n" " add r0, r0, #0x1\n" " lsl r0, r0, #0x10\n" " lsr r0, r0, #0x10\n" " cmp r0, r1\n" " bls ._49 @cond_branch\n" - " ldr r0, ._50 + 8\n" + " ldr r0, ._50 + 8 @ \n" " ldrb r0, [r0]\n" " pop {r1}\n" " bx r1\n" diff --git a/src/field/berry.c b/src/field/berry.c index 5c1ecd699..588807755 100644 --- a/src/field/berry.c +++ b/src/field/berry.c @@ -1009,7 +1009,7 @@ void debug_sub_80C2B04() " bl sub_80B47D8\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" - " ldr r2, ._1\n" + " ldr r2, ._1 @ gTasks\n" " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r1, r1, #0x3\n" @@ -1038,7 +1038,7 @@ void debug_sub_80C2B30() " bl sub_80B47D8\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x18\n" - " ldr r2, ._3\n" + " ldr r2, ._3 @ gTasks\n" " lsl r1, r0, #0x2\n" " add r1, r1, r0\n" " lsl r1, r1, #0x3\n" @@ -1088,8 +1088,8 @@ void debug_sub_80C2BD0() { asm( " push {r4, r5, r6, r7, lr}\n" - " ldr r3, ._11\n" - " ldr r1, ._11 + 4\n" + " ldr r3, ._11 @ gSaveBlock1\n" + " ldr r1, ._11 + 4 @ 0x316c\n" " add r4, r3, r1\n" " ldr r6, [r4]\n" " add r1, r1, #0x4\n" @@ -1100,7 +1100,7 @@ void debug_sub_80C2BD0() " str r1, [r2]\n" " add r4, r0, #0\n" " mov r2, #0x0\n" - " ldr r5, ._11 + 8\n" + " ldr r5, ._11 + 8 @ 0x52b\n" "._10:\n" " add r0, r4, r1\n" " ldrb r0, [r0]\n" @@ -1108,7 +1108,7 @@ void debug_sub_80C2BD0() " add r1, r1, #0x1\n" " cmp r1, r5\n" " bls ._10 @cond_branch\n" - " ldr r1, ._11 + 4\n" + " ldr r1, ._11 + 4 @ 0x316c\n" " add r0, r3, r1\n" " str r6, [r0]\n" " add r1, r1, #0x4\n" @@ -1145,11 +1145,11 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) " lsl r2, r2, #0x18\n" " lsr r2, r2, #0x18\n" " mov r8, r2\n" - " ldr r4, ._16\n" - " ldr r1, ._16 + 4\n" + " ldr r4, ._16 @ gSaveBlock1\n" + " ldr r1, ._16 + 4 @ 0x3160\n" " add r0, r4, r1\n" " add r2, r0, #0\n" - " ldr r1, ._16 + 8\n" + " ldr r1, ._16 + 8 @ gBerries\n" " ldmia r1!, {r5, r6, r7}\n" " stmia r2!, {r5, r6, r7}\n" " ldmia r1!, {r5, r6, r7}\n" @@ -1158,27 +1158,27 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) " str r1, [r2]\n" " add r1, r3, #0\n" " bl StringCopy\n" - " ldr r0, ._16 + 12\n" + " ldr r0, ._16 + 12 @ 0x361c\n" " add r6, r4, r0\n" - " ldr r1, ._16 + 16\n" + " ldr r1, ._16 + 16 @ gUnknown_Debug_083F7F84\n" " add r0, r6, #0\n" " bl StringCopy\n" - " ldr r1, ._16 + 20\n" + " ldr r1, ._16 + 20 @ 0x3649\n" " add r5, r4, r1\n" - " ldr r1, ._16 + 24\n" + " ldr r1, ._16 + 24 @ gUnknown_Debug_083F7F90\n" " add r0, r5, #0\n" " bl StringCopy\n" - " ldr r2, ._16 + 28\n" + " ldr r2, ._16 + 28 @ 0x316c\n" " add r0, r4, r2\n" " str r6, [r0]\n" - " ldr r6, ._16 + 32\n" + " ldr r6, ._16 + 32 @ 0x3170\n" " add r0, r4, r6\n" " str r5, [r0]\n" " mov r2, #0x0\n" - " ldr r6, ._16 + 36\n" - " ldr r7, ._16 + 40\n" + " ldr r6, ._16 + 36 @ 0x47f\n" + " ldr r7, ._16 + 40 @ 0x317c\n" " add r5, r4, r7\n" - " ldr r3, ._16 + 44\n" + " ldr r3, ._16 + 44 @ gSpriteImage_UnusedCherry\n" "._13:\n" " add r0, r2, r5\n" " add r1, r2, r3\n" @@ -1187,9 +1187,9 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) " add r2, r2, #0x1\n" " cmp r2, r6\n" " ble ._13 @cond_branch\n" - " ldr r0, ._16\n" - " ldr r3, ._16 + 48\n" - " ldr r2, ._16 + 52\n" + " ldr r0, ._16 @ gSaveBlock1\n" + " ldr r3, ._16 + 48 @ gSpritePalette_UnusedCherry\n" + " ldr r2, ._16 + 52 @ 0x35fc\n" " add r1, r0, r2\n" " mov r2, #0xf\n" "._14:\n" @@ -1201,8 +1201,8 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) " cmp r2, #0\n" " bge ._14 @cond_branch\n" " mov r2, #0x0\n" - " ldr r5, ._16 + 56\n" - " ldr r3, ._16 + 60\n" + " ldr r5, ._16 + 56 @ gSaveBlock1\n" + " ldr r3, ._16 + 60 @ gUnknown_Debug_839B6CE\n" "._15:\n" " add r0, r2, r5\n" " add r1, r2, r3\n" @@ -1211,15 +1211,15 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) " add r2, r2, #0x1\n" " cmp r2, #0x11\n" " ble ._15 @cond_branch\n" - " ldr r5, ._16 + 64\n" + " ldr r5, ._16 + 64 @ 0x3688\n" " add r0, r4, r5\n" " mov r6, r9\n" " strb r6, [r0]\n" - " ldr r7, ._16 + 68\n" + " ldr r7, ._16 + 68 @ 0x3689\n" " add r0, r4, r7\n" " mov r1, r8\n" " strb r1, [r0]\n" - " ldr r2, ._16 + 4\n" + " ldr r2, ._16 + 4 @ 0x3160\n" " add r0, r4, r2\n" " bl debug_sub_80C2BD0\n" " add r5, r5, #0x4\n" @@ -1298,17 +1298,17 @@ void debug_sub_80C2D24() " ldr r6, [sp, #0x18]\n" " ldr r4, [sp, #0x1c]\n" " mov r8, r4\n" - " ldr r5, ._18\n" - " ldr r7, ._18 + 4\n" + " ldr r5, ._18 @ gSaveBlock1\n" + " ldr r7, ._18 + 4 @ 0x3175\n" " add r4, r5, r7\n" " strb r0, [r4]\n" - " ldr r4, ._18 + 8\n" + " ldr r4, ._18 + 8 @ 0x3176\n" " add r0, r5, r4\n" " strb r1, [r0]\n" " add r7, r7, #0x2\n" " add r0, r5, r7\n" " strb r2, [r0]\n" - " ldr r1, ._18 + 12\n" + " ldr r1, ._18 + 12 @ 0x3178\n" " add r0, r5, r1\n" " strb r3, [r0]\n" " add r4, r4, #0x3\n" @@ -1321,7 +1321,7 @@ void debug_sub_80C2D24() " sub r4, r4, #0x19\n" " add r0, r5, r4\n" " bl debug_sub_80C2BD0\n" - " ldr r7, ._18 + 16\n" + " ldr r7, ._18 + 16 @ 0x368c\n" " add r5, r5, r7\n" " str r0, [r5]\n" " pop {r3}\n" @@ -1350,21 +1350,21 @@ bool32 IsEnigmaBerryValid() { asm( " push {r4, lr}\n" - " ldr r4, ._24\n" - " ldr r1, ._24 + 4\n" + " ldr r4, ._24 @ gSaveBlock1\n" + " ldr r1, ._24 + 4 @ 0x3174\n" " add r0, r4, r1\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " beq ._22 @cond_branch\n" - " ldr r2, ._24 + 8\n" + " ldr r2, ._24 + 8 @ 0x316a\n" " add r0, r4, r2\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " beq ._22 @cond_branch\n" - " ldr r1, ._24 + 12\n" + " ldr r1, ._24 + 12 @ 0x3160\n" " add r0, r4, r1\n" " bl debug_sub_80C2BD0\n" - " ldr r2, ._24 + 16\n" + " ldr r2, ._24 + 16 @ 0x368c\n" " add r1, r4, r2\n" " ldr r1, [r1]\n" " cmp r0, r1\n" @@ -1810,7 +1810,7 @@ void DebugOpenBerryInfo() asm( " push {r4, r5, r6, r7, lr}\n" " bl GetFieldObjectScriptPointerPlayerFacing\n" - " ldr r1, ._138\n" + " ldr r1, ._138 @ S_BerryTree\n" " cmp r0, r1\n" " beq ._136 @cond_branch\n" " mov r0, #0x0\n" @@ -1820,7 +1820,7 @@ void DebugOpenBerryInfo() "._138:\n" " .word S_BerryTree\n" "._136:\n" - " ldr r0, ._141\n" + " ldr r0, ._141 @ gSelectedMapObject\n" " ldrb r0, [r0]\n" " bl FieldObjectGetBerryTreeId\n" " lsl r0, r0, #0x18\n" @@ -1829,8 +1829,8 @@ void DebugOpenBerryInfo() " bl GetBerryTreeInfo\n" " add r5, r0, #0\n" " mov r2, #0x0\n" - " ldr r7, ._141 + 4\n" - " ldr r4, ._141 + 8\n" + " ldr r7, ._141 + 4 @ 0x1f3\n" + " ldr r4, ._141 + 8 @ gStringVar4\n" " mov r3, #0xff\n" "._140:\n" " add r1, r2, r4\n" @@ -1840,46 +1840,46 @@ void DebugOpenBerryInfo() " add r2, r2, #0x1\n" " cmp r2, r7\n" " ble ._140 @cond_branch\n" - " ldr r0, ._141 + 12\n" + " ldr r0, ._141 + 12 @ gUnknown_Debug_083F7F9D\n" " add r1, r6, #0\n" " mov r2, #0x3\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 16\n" + " ldr r0, ._141 + 16 @ gUnknown_Debug_083F7FA2\n" " ldrb r1, [r5]\n" " mov r2, #0x2\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 20\n" + " ldr r0, ._141 + 20 @ gUnknown_Debug_083F7FA9\n" " ldrb r1, [r5, #0x1]\n" " lsl r1, r1, #0x19\n" " lsr r1, r1, #0x19\n" " mov r2, #0x2\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 24\n" + " ldr r0, ._141 + 24 @ gUnknown_Debug_083F7FB0\n" " ldrh r1, [r5, #0x2]\n" " mov r2, #0x5\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 28\n" + " ldr r0, ._141 + 28 @ gUnknown_Debug_083F7FB7\n" " ldrb r1, [r5, #0x4]\n" " mov r2, #0x2\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 32\n" + " ldr r0, ._141 + 32 @ gUnknown_Debug_083F7FBE\n" " ldrb r1, [r5, #0x5]\n" " lsl r1, r1, #0x1c\n" " lsr r1, r1, #0x1c\n" " mov r2, #0x3\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 36\n" + " ldr r0, ._141 + 36 @ gUnknown_Debug_083F7FC5\n" " ldrb r1, [r5, #0x1]\n" " lsr r1, r1, #0x7\n" " mov r2, #0x1\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 40\n" + " ldr r0, ._141 + 40 @ gUnknown_Debug_083F7FCC\n" " ldrb r1, [r5, #0x5]\n" " lsl r1, r1, #0x1b\n" " lsr r1, r1, #0x1f\n" " mov r2, #0x1\n" " bl debug_sub_80C33FC\n" - " ldr r4, ._141 + 44\n" + " ldr r4, ._141 + 44 @ gUnknown_Debug_083F7FD3\n" " ldrb r1, [r5, #0x5]\n" " lsl r1, r1, #0x1a\n" " lsr r1, r1, #0x1f\n" @@ -1897,7 +1897,7 @@ void DebugOpenBerryInfo() " add r0, r4, #0\n" " mov r2, #0x1\n" " bl debug_sub_80C33FC\n" - " ldr r0, ._141 + 8\n" + " ldr r0, ._141 + 8 @ gStringVar4\n" "._137:\n" " pop {r4, r5, r6, r7}\n" " pop {r1}\n" diff --git a/src/field/choose_party.c b/src/field/choose_party.c index b2d950e35..696f7cf4f 100644 --- a/src/field/choose_party.c +++ b/src/field/choose_party.c @@ -536,7 +536,7 @@ void debug_sub_81381B4() " mov r7, r9\n" " mov r6, r8\n" " push {r6, r7}\n" - " ldr r4, ._189\n" + " ldr r4, ._189 @ gUnknown_02023A00\n" " add r0, r4, #0\n" " mov r1, #0x0\n" " mov r2, #0x60\n" @@ -550,7 +550,7 @@ void debug_sub_81381B4() " mov r0, #0x64\n" " add r1, r7, #0\n" " mul r1, r1, r0\n" - " ldr r0, ._189 + 4\n" + " ldr r0, ._189 + 4 @ gPlayerParty\n" " add r5, r1, r0\n" " add r0, r5, #0\n" " mov r1, #0x41\n" diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c index c255d3013..13d8ebb5b 100644 --- a/src/field/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -1927,7 +1927,7 @@ void npcs_clear_ids_and_state() asm( " push {r4, r5, lr}\n" " mov r4, #0x0\n" - " ldr r5, ._2\n" + " ldr r5, ._2 @ gMapObjects\n" "._1:\n" " lsl r0, r4, #0x3\n" " add r0, r0, r4\n" @@ -1939,7 +1939,7 @@ void npcs_clear_ids_and_state() " lsr r4, r0, #0x18\n" " cmp r4, #0xf\n" " bls ._1 @cond_branch\n" - " ldr r1, ._2 + 4\n" + " ldr r1, ._2 + 4 @ gUnknown_Debug_03004BC0\n" " mov r0, #0x0\n" " strb r0, [r1]\n" " pop {r4, r5}\n" @@ -2086,7 +2086,7 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 " lsl r0, r1, #0x3\n" " add r0, r0, r1\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._40\n" + " ldr r1, ._40 @ gMapObjects\n" " add r4, r0, r1\n" " add r0, r4, #0\n" " bl npc_clear_ids_and_state\n" @@ -2154,7 +2154,7 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 " strb r0, [r4, #0x7]\n" " ldrh r0, [r5, #0xe]\n" " strb r0, [r4, #0x1d]\n" - " ldr r1, ._40 + 4\n" + " ldr r1, ._40 + 4 @ gUnknown_0836DC09\n" " ldrb r0, [r5, #0x9]\n" " add r0, r0, r1\n" " ldrb r1, [r0]\n" @@ -2166,7 +2166,7 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 " bl FieldObjectSetDirection\n" " add r0, r4, #0\n" " bl FieldObjectHandleDynamicGraphicsId\n" - " ldr r1, ._40 + 8\n" + " ldr r1, ._40 + 8 @ gUnknown_0836DBBC\n" " ldrb r0, [r4, #0x6]\n" " add r0, r0, r1\n" " ldrb r0, [r0]\n" @@ -2200,7 +2200,7 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 " orr r0, r0, r1\n" " strb r0, [r4, #0x19]\n" "._39:\n" - " ldr r1, ._40 + 12\n" + " ldr r1, ._40 + 12 @ gUnknown_Debug_03004BC0\n" " ldrb r0, [r1]\n" " add r0, r0, #0x1\n" " strb r0, [r1]\n" @@ -2487,7 +2487,7 @@ void RemoveFieldObject(struct MapObject *mapObject) " and r1, r1, r2\n" " strb r1, [r0]\n" " bl RemoveFieldObjectInternal\n" - " ldr r1, ._72\n" + " ldr r1, ._72 @ gUnknown_Debug_03004BC0\n" " ldrb r0, [r1]\n" " sub r0, r0, #0x1\n" " strb r0, [r1]\n" @@ -2577,7 +2577,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * " lsl r4, r0, #0x3\n" " add r0, r4, r0\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._87\n" + " ldr r1, ._87 @ gMapObjects\n" " add r5, r0, r1\n" " ldrb r0, [r5, #0x5]\n" " bl GetFieldObjectGraphicsInfo\n" @@ -2612,7 +2612,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * " orr r0, r0, r1\n" " strb r0, [r5, #0x1]\n" "._90:\n" - " ldr r1, ._93\n" + " ldr r1, ._93 @ 0xffff\n" " add r0, r1, #0\n" " strh r0, [r7, #0x2]\n" " add r0, r7, #0\n" @@ -2624,11 +2624,11 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * " lsr r7, r0, #0x18\n" " cmp r7, #0x40\n" " bne ._91 @cond_branch\n" - " ldr r1, ._93 + 4\n" + " ldr r1, ._93 + 4 @ gUnknown_Debug_03004BC0\n" " ldrb r0, [r1]\n" " sub r0, r0, #0x1\n" " strb r0, [r1]\n" - " ldr r0, ._93 + 8\n" + " ldr r0, ._93 + 8 @ gMapObjects\n" " mov r2, r8\n" " add r1, r4, r2\n" " lsl r1, r1, #0x2\n" @@ -2650,7 +2650,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * " lsl r0, r7, #0x4\n" " add r0, r0, r7\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._96\n" + " ldr r1, ._96 @ gSprites\n" " add r4, r0, r1\n" " mov r1, r9\n" " lsl r0, r1, #0x10\n" @@ -3045,12 +3045,12 @@ void sub_805B710(u16 u161, u16 u162) " lsr r4, r4, #0x10\n" " lsl r5, r5, #0x10\n" " lsr r5, r5, #0x10\n" - " ldr r6, ._153\n" + " ldr r6, ._153 @ gUnknown_Debug_03004BC0\n" " mov r0, #0x0\n" " strb r0, [r6]\n" " bl ClearPlayerAvatarInfo\n" " mov r7, #0x0\n" - " ldr r0, ._153 + 4\n" + " ldr r0, ._153 + 4 @ gMapObjects\n" " mov r8, r0\n" " lsl r4, r4, #0x10\n" " lsl r5, r5, #0x10\n" diff --git a/src/field/field_player_avatar.c b/src/field/field_player_avatar.c index c382db19f..a7594372d 100644 --- a/src/field/field_player_avatar.c +++ b/src/field/field_player_avatar.c @@ -266,11 +266,11 @@ u8 TryDoMetatileBehaviorForcedMovement() { asm( " push {r4, lr}\n" - " ldr r0, ._27\n" + " ldr r0, ._27 @ gUnknown_020297ED\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " beq ._25 @cond_branch\n" - " ldr r0, ._27 + 4\n" + " ldr r0, ._27 + 4 @ gMain\n" " ldrh r1, [r0, #0x2c]\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" @@ -285,7 +285,7 @@ u8 TryDoMetatileBehaviorForcedMovement() " .word gUnknown_020297ED\n" " .word gMain\n" "._25:\n" - " ldr r4, ._29\n" + " ldr r4, ._29 @ gUnknown_0830FBA0\n" " bl GetForcedMovementByMetatileBehavior\n" " lsl r0, r0, #0x18\n" " lsr r0, r0, #0x16\n" @@ -494,7 +494,7 @@ void MovePlayerNotOnBike(u8 u81, u16 u161) " add r5, r2, #0\n" " lsl r1, r1, #0x10\n" " lsr r6, r1, #0x10\n" - " ldr r0, ._84\n" + " ldr r0, ._84 @ gUnknown_020297ED\n" " ldrb r0, [r0]\n" " cmp r0, #0\n" " beq ._82 @cond_branch\n" @@ -504,7 +504,7 @@ void MovePlayerNotOnBike(u8 u81, u16 u161) " cmp r0, #0\n" " bne ._83 @cond_branch\n" "._82:\n" - " ldr r4, ._84 + 4\n" + " ldr r4, ._84 + 4 @ gUnknown_0830FBEC\n" " add r0, r5, #0\n" " bl CheckMovementInputNotOnBike\n" " lsl r0, r0, #0x18\n" @@ -1864,7 +1864,7 @@ void debug_sub_805F2B0() " push {lr}\n" " lsl r0, r0, #0x18\n" " lsr r2, r0, #0x18\n" - " ldr r0, ._422\n" + " ldr r0, ._422 @ gMain\n" " ldrh r1, [r0, #0x2c]\n" " mov r0, #0x80\n" " lsl r0, r0, #0x1\n" @@ -1898,8 +1898,8 @@ void debug_sub_805F2DC() " lsr r4, r0, #0x18\n" " cmp r4, #0\n" " bne ._424 @cond_branch\n" - " ldr r2, ._426\n" - " ldr r0, ._426 + 4\n" + " ldr r2, ._426 @ gMapObjects\n" + " ldr r0, ._426 + 4 @ gPlayerAvatar\n" " ldrb r1, [r0, #0x5]\n" " lsl r0, r1, #0x3\n" " add r0, r0, r1\n" @@ -1915,8 +1915,8 @@ void debug_sub_805F2DC() " .word gMapObjects\n" " .word gPlayerAvatar\n" "._424:\n" - " ldr r2, ._431\n" - " ldr r0, ._431 + 4\n" + " ldr r2, ._431 @ gMapObjects\n" + " ldr r0, ._431 + 4 @ gPlayerAvatar\n" " ldrb r1, [r0, #0x5]\n" " lsl r0, r1, #0x3\n" " add r0, r0, r1\n" diff --git a/src/field/field_weather.c b/src/field/field_weather.c index c411bf20b..fbc5431ae 100644 --- a/src/field/field_weather.c +++ b/src/field/field_weather.c @@ -1264,14 +1264,14 @@ u8 debug_sub_8085564(void) asm("\ push {lr}\n\ mov r2, #0x0\n\ - ldr r0, ._375\n\ + ldr r0, ._375 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x80\n\ lsl r0, r0, #0x1\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._370 @cond_branch\n\ - ldr r1, ._375 + 4\n\ + ldr r1, ._375 + 4 @ gUnknown_Debug_20301FE\n\ ldrb r0, [r1]\n\ add r0, r0, #0x1\n\ strb r0, [r1]\n\ @@ -1283,14 +1283,14 @@ u8 debug_sub_8085564(void) ._371:\n\ mov r2, #0x1\n\ ._370:\n\ - ldr r0, ._375\n\ + ldr r0, ._375 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x80\n\ lsl r0, r0, #0x2\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._372 @cond_branch\n\ - ldr r1, ._375 + 4\n\ + ldr r1, ._375 + 4 @ gUnknown_Debug_20301FE\n\ ldrb r0, [r1]\n\ cmp r0, #0\n\ beq ._373 @cond_branch\n\ @@ -1314,8 +1314,8 @@ u8 debug_sub_8085564(void) mov r2, #0x1c\n\ mov r3, #0x2\n\ bl Menu_BlankWindowRect\n\ - ldr r1, ._380\n\ - ldr r0, ._380 + 4\n\ + ldr r1, ._380 @ gDebugText_Weather\n\ + ldr r0, ._380 + 4 @ gUnknown_Debug_20301FE\n\ ldrb r0, [r0]\n\ lsl r0, r0, #0x2\n\ add r0, r0, r1\n\ @@ -1324,7 +1324,7 @@ u8 debug_sub_8085564(void) mov r2, #0x1\n\ bl Menu_PrintText\n\ ._377:\n\ - ldr r0, ._380 + 8\n\ + ldr r0, ._380 + 8 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -1339,7 +1339,7 @@ u8 debug_sub_8085564(void) .word gUnknown_Debug_20301FE\n\ .word gMain\n\ ._378:\n\ - ldr r0, ._382\n\ + ldr r0, ._382 @ gUnknown_Debug_20301FE\n\ ldrb r0, [r0]\n\ bl ChangeWeather\n\ bl CloseMenu\n\ @@ -1358,8 +1358,8 @@ u8 debug_sub_808560C(void) { asm("\ push {r4, lr}\n\ - ldr r4, ._384\n\ - ldr r0, ._384 + 4\n\ + ldr r4, ._384 @ gUnknown_Debug_20301FE\n\ + ldr r0, ._384 + 4 @ gWeather\n\ mov r1, #0xda\n\ lsl r1, r1, #0x3\n\ add r0, r0, r1\n\ @@ -1371,7 +1371,7 @@ u8 debug_sub_808560C(void) mov r2, #0x1c\n\ mov r3, #0x2\n\ bl Menu_BlankWindowRect\n\ - ldr r1, ._384 + 8\n\ + ldr r1, ._384 + 8 @ gDebugText_Weather\n\ ldrb r0, [r4]\n\ lsl r0, r0, #0x2\n\ add r0, r0, r1\n\ @@ -1379,8 +1379,8 @@ u8 debug_sub_808560C(void) mov r1, #0x17\n\ mov r2, #0x1\n\ bl Menu_PrintText\n\ - ldr r1, ._384 + 12\n\ - ldr r0, ._384 + 16\n\ + ldr r1, ._384 + 12 @ gMenuCallback\n\ + ldr r0, ._384 + 16 @ debug_sub_8085564\n\ str r0, [r1]\n\ mov r0, #0x0\n\ pop {r4}\n\ diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index 522fb01d6..5d39b87a9 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -86,7 +86,7 @@ void debug_sub_80AFEE4() " lsr r0, r0, #0x18\n" " cmp r0, #0x1\n" " bne ._1 @cond_branch\n" - " ldr r1, ._3\n" + " ldr r1, ._3 @ gLastFieldPokeMenuOpened\n" " mov r0, #0x0\n" " strb r0, [r1]\n" " bl sub_80A2634\n" @@ -96,14 +96,14 @@ void debug_sub_80AFEE4() "._3:\n" " .word gLastFieldPokeMenuOpened\n" "._1:\n" - " ldr r4, ._9\n" + " ldr r4, ._9 @ gUnknown_0203923C\n" " add r1, r4, #2\n" " add r0, r4, #0\n" " bl PlayerGetDestCoords\n" " mov r7, #0x0\n" " mov r8, r4\n" "._12:\n" - " ldr r1, ._9 + 4\n" + " ldr r1, ._9 + 4 @ 0xffff\n" " add r0, r7, r1\n" " mov r2, r8\n" " ldrh r2, [r2, #0x2]\n" @@ -112,7 +112,7 @@ void debug_sub_80AFEE4() " lsl r0, r0, #0x10\n" " asr r5, r0, #0x10\n" "._11:\n" - " ldr r1, ._9 + 4\n" + " ldr r1, ._9 + 4 @ 0xffff\n" " add r0, r6, r1\n" " mov r2, r8\n" " ldrh r2, [r2]\n" @@ -147,7 +147,7 @@ void debug_sub_80AFEE4() " cmp r0, #0x1\n" " bne ._7 @cond_branch\n" "._6:\n" - " ldr r1, ._9 + 8\n" + " ldr r1, ._9 + 8 @ gLastFieldPokeMenuOpened\n" " mov r0, #0x0\n" " strb r0, [r1]\n" " bl sub_80A25E8\n" diff --git a/src/field/fldeff_flash.c b/src/field/fldeff_flash.c index d8f70200c..8c0f09bd9 100644 --- a/src/field/fldeff_flash.c +++ b/src/field/fldeff_flash.c @@ -77,11 +77,11 @@ void debug_sub_8122080(void) { asm("\ push {lr}\n\ - ldr r0, ._4\n\ + ldr r0, ._4 @ gMapHeader\n\ ldrb r0, [r0, #0x15]\n\ cmp r0, #0x1\n\ bne ._2 @cond_branch\n\ - ldr r0, ._4 + 4\n\ + ldr r0, ._4 + 4 @ 0x828\n\ bl FlagGet\n\ lsl r0, r0, #0x18\n\ cmp r0, #0\n\ diff --git a/src/field/fldeff_secretpower.c b/src/field/fldeff_secretpower.c index 3f539fc6e..0e91bb55c 100644 --- a/src/field/fldeff_secretpower.c +++ b/src/field/fldeff_secretpower.c @@ -251,7 +251,7 @@ void debug_sub_80D93F4() asm("\ push {r4, lr}\n\ bl sub_80BB63C\n\ - ldr r0, ._98\n\ + ldr r0, ._98 @ gSpecialVar_Result\n\ ldrh r0, [r0]\n\ cmp r0, #0x1\n\ beq ._95 @cond_branch\n\ @@ -268,7 +268,7 @@ void debug_sub_80D93F4() ._98:\n\ .word gSpecialVar_Result\n\ ._96:\n\ - ldr r4, ._102\n\ + ldr r4, ._102 @ gUnknown_0203923C\n\ add r1, r4, #2\n\ add r0, r4, #0\n\ bl GetXYCoordsOneStepInFrontOfPlayer\n\ @@ -286,7 +286,7 @@ void debug_sub_80D93F4() cmp r0, #0x1\n\ bne ._100 @cond_branch\n\ bl sub_80C6264\n\ - ldr r1, ._102 + 4\n\ + ldr r1, ._102 + 4 @ gLastFieldPokeMenuOpened\n\ mov r0, #0x0\n\ strb r0, [r1]\n\ bl sub_80C639C\n\ @@ -304,7 +304,7 @@ void debug_sub_80D93F4() cmp r0, #0x1\n\ bne ._104 @cond_branch\n\ bl sub_80C6264\n\ - ldr r1, ._106\n\ + ldr r1, ._106 @ gLastFieldPokeMenuOpened\n\ mov r0, #0x0\n\ strb r0, [r1]\n\ bl sub_80C64A8\n\ @@ -321,7 +321,7 @@ void debug_sub_80D93F4() cmp r0, #0x1\n\ bne ._108 @cond_branch\n\ bl sub_80C6264\n\ - ldr r1, ._110\n\ + ldr r1, ._110 @ gLastFieldPokeMenuOpened\n\ mov r0, #0x0\n\ strb r0, [r1]\n\ bl sub_80C660C\n\ diff --git a/src/field/item_menu.c b/src/field/item_menu.c index cf3c7ca4b..ae1465fbd 100644 --- a/src/field/item_menu.c +++ b/src/field/item_menu.c @@ -400,8 +400,8 @@ static bool8 SetupBagMultistep(void) asm("\ push {r4, r5, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._5\n\ - ldr r1, ._5 + 4\n\ + ldr r0, ._5 @ gMain\n\ + ldr r1, ._5 + 4 @ 0x43c\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ cmp r0, #0x10\n\ @@ -409,7 +409,7 @@ static bool8 SetupBagMultistep(void) b ._66\n\ ._3:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._5 + 8\n\ + ldr r1, ._5 + 8 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -443,8 +443,8 @@ static bool8 SetupBagMultistep(void) b ._61\n\ ._9:\n\ bl ScanlineEffect_Stop\n\ - ldr r1, ._27\n\ - ldr r0, ._27 + 4\n\ + ldr r1, ._27 @ gMain\n\ + ldr r0, ._27 + 4 @ 0x43c\n\ add r1, r1, r0\n\ b ._62\n\ ._28:\n\ @@ -457,8 +457,8 @@ static bool8 SetupBagMultistep(void) b ._61\n\ ._11:\n\ bl ClearBGTilemapBuffers\n\ - ldr r0, ._31\n\ - ldr r1, ._31 + 4\n\ + ldr r0, ._31 @ \n\ + ldr r1, ._31 + 4 @ \n\ add r0, r0, r1\n\ mov r1, #0x0\n\ strb r1, [r0]\n\ @@ -470,13 +470,13 @@ static bool8 SetupBagMultistep(void) .word 0x1ffff\n\ ._12:\n\ bl ResetPaletteFade\n\ - ldr r2, ._34\n\ + ldr r2, ._34 @ gPaletteFade\n\ ldrb r0, [r2, #0x8]\n\ mov r1, #0x80\n\ orr r0, r0, r1\n\ strb r0, [r2, #0x8]\n\ - ldr r1, ._34 + 4\n\ - ldr r0, ._34 + 8\n\ + ldr r1, ._34 + 4 @ gMain\n\ + ldr r0, ._34 + 8 @ 0x43c\n\ add r1, r1, r0\n\ b ._62\n\ ._35:\n\ @@ -495,8 +495,8 @@ static bool8 SetupBagMultistep(void) bne ._37 @cond_branch\n\ b ._66\n\ ._37:\n\ - ldr r1, ._40\n\ - ldr r0, ._40 + 4\n\ + ldr r1, ._40 @ gMain\n\ + ldr r0, ._40 + 4 @ 0x43c\n\ add r1, r1, r0\n\ b ._62\n\ ._41:\n\ @@ -505,7 +505,7 @@ static bool8 SetupBagMultistep(void) .word gMain\n\ .word 0x43c\n\ ._15:\n\ - ldr r0, ._43\n\ + ldr r0, ._43 @ gWindowTemplate_81E6DFC\n\ bl Text_LoadWindowTemplate\n\ b ._61\n\ ._44:\n\ @@ -513,10 +513,10 @@ static bool8 SetupBagMultistep(void) ._43:\n\ .word gWindowTemplate_81E6DFC\n\ ._16:\n\ - ldr r0, ._46\n\ + ldr r0, ._46 @ gWindowTemplate_81E6DFC\n\ bl MultistepInitMenuWindowBegin\n\ - ldr r1, ._46 + 4\n\ - ldr r0, ._46 + 8\n\ + ldr r1, ._46 + 4 @ gMain\n\ + ldr r0, ._46 + 8 @ 0x43c\n\ add r1, r1, r0\n\ b ._62\n\ ._47:\n\ @@ -563,7 +563,7 @@ static bool8 SetupBagMultistep(void) mov r0, #0x3\n\ mov r1, #0x2\n\ bl SetVerticalScrollIndicatorPriority\n\ - ldr r0, ._53\n\ + ldr r0, ._53 @ sReturnLocation\n\ ldrb r0, [r0]\n\ sub r0, r0, #0x4\n\ lsl r0, r0, #0x18\n\ @@ -577,8 +577,8 @@ static bool8 SetupBagMultistep(void) mov r1, #0x1\n\ bl SetVerticalScrollIndicators\n\ ._51:\n\ - ldr r1, ._53 + 4\n\ - ldr r0, ._53 + 8\n\ + ldr r1, ._53 + 4 @ gMain\n\ + ldr r0, ._53 + 8 @ 0x43c\n\ add r1, r1, r0\n\ b ._62\n\ ._54:\n\ @@ -588,11 +588,11 @@ static bool8 SetupBagMultistep(void) .word gMain\n\ .word 0x43c\n\ ._19:\n\ - ldr r1, ._56\n\ + ldr r1, ._56 @ gUnknown_0203855A\n\ mov r0, #0x10\n\ strb r0, [r1]\n\ - ldr r4, ._56 + 4\n\ - ldr r5, ._56 + 8\n\ + ldr r4, ._56 + 4 @ gBGTilemapBuffers\n\ + ldr r5, ._56 + 8 @ sCurrentBagPocket\n\ ldrb r1, [r5]\n\ add r1, r1, #0x1\n\ lsl r1, r1, #0x18\n\ @@ -603,7 +603,7 @@ static bool8 SetupBagMultistep(void) add r0, r4, #0\n\ bl DrawPocketIndicatorDots\n\ bl UpdateAllBagPockets\n\ - ldr r4, ._56 + 12\n\ + ldr r4, ._56 + 12 @ gBagPockets\n\ ldr r0, [r4, #0x10]\n\ ldr r1, [r4, #0x14]\n\ bl SortItemSlots\n\ @@ -611,7 +611,7 @@ static bool8 SetupBagMultistep(void) ldr r1, [r4, #0x1c]\n\ bl SortItemSlots\n\ bl sub_80A3D40\n\ - ldr r1, ._56 + 16\n\ + ldr r1, ._56 + 16 @ gCurrentBagPocketItemSlots\n\ mov r0, #0x0\n\ ldsb r0, [r5, r0]\n\ lsl r0, r0, #0x3\n\ @@ -629,12 +629,12 @@ static bool8 SetupBagMultistep(void) .word gBagPockets\n\ .word gCurrentBagPocketItemSlots\n\ ._20:\n\ - ldr r0, ._59\n\ + ldr r0, ._59 @ 0xffff\n\ mov r1, #0x0\n\ mov r2, #0x7\n\ bl sub_80A48E8\n\ - ldr r1, ._59 + 4\n\ - ldr r4, ._59 + 8\n\ + ldr r1, ._59 + 4 @ gBagPocketScrollStates\n\ + ldr r4, ._59 + 8 @ sCurrentBagPocket\n\ mov r0, #0x0\n\ ldsb r0, [r4, r0]\n\ lsl r0, r0, #0x2\n\ @@ -642,7 +642,7 @@ static bool8 SetupBagMultistep(void) ldrb r1, [r0, #0x1]\n\ ldrb r0, [r0]\n\ add r1, r1, r0\n\ - ldr r0, ._59 + 12\n\ + ldr r0, ._59 + 12 @ gCurrentBagPocketItemSlots\n\ ldr r0, [r0]\n\ lsl r1, r1, #0x2\n\ add r1, r1, r0\n\ @@ -650,15 +650,15 @@ static bool8 SetupBagMultistep(void) ldsh r0, [r1, r2]\n\ bl ItemListMenu_InitDescription\n\ bl ItemListMenu_InitMenu\n\ - ldr r1, ._59 + 16\n\ + ldr r1, ._59 + 16 @ gUnknown_0203855B\n\ ldrb r0, [r4]\n\ add r0, r0, #0x1\n\ strb r0, [r1]\n\ - ldr r1, ._59 + 20\n\ + ldr r1, ._59 + 20 @ gUnknown_0203855C\n\ mov r0, #0x0\n\ strb r0, [r1]\n\ - ldr r1, ._59 + 24\n\ - ldr r0, ._59 + 28\n\ + ldr r1, ._59 + 24 @ gMain\n\ + ldr r0, ._59 + 28 @ 0x43c\n\ add r1, r1, r0\n\ b ._62\n\ ._60:\n\ @@ -679,17 +679,17 @@ static bool8 SetupBagMultistep(void) bl sub_80A3740\n\ b ._61\n\ ._22:\n\ - ldr r3, ._63\n\ + ldr r3, ._63 @ 0x4000208\n\ ldrh r2, [r3]\n\ mov r0, #0x0\n\ strh r0, [r3]\n\ - ldr r4, ._63 + 4\n\ + ldr r4, ._63 + 4 @ 0x4000200\n\ ldrh r0, [r4]\n\ mov r1, #0x1\n\ orr r0, r0, r1\n\ strh r0, [r4]\n\ strh r2, [r3]\n\ - ldr r2, ._63 + 8\n\ + ldr r2, ._63 + 8 @ 0x4000004\n\ ldrh r0, [r2]\n\ mov r1, #0x8\n\ orr r0, r0, r1\n\ @@ -701,13 +701,13 @@ static bool8 SetupBagMultistep(void) mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r2, ._63 + 12\n\ + ldr r2, ._63 + 12 @ gPaletteFade\n\ ldrb r1, [r2, #0x8]\n\ mov r0, #0x7f\n\ and r0, r0, r1\n\ strb r0, [r2, #0x8]\n\ - ldr r1, ._63 + 16\n\ - ldr r0, ._63 + 20\n\ + ldr r1, ._63 + 16 @ gMain\n\ + ldr r0, ._63 + 20 @ 0x43c\n\ add r1, r1, r0\n\ b ._62\n\ ._64:\n\ @@ -724,8 +724,8 @@ static bool8 SetupBagMultistep(void) cmp r0, #0x1\n\ beq ._66 @cond_branch\n\ ._61:\n\ - ldr r1, ._67\n\ - ldr r2, ._67 + 4\n\ + ldr r1, ._67 @ gMain\n\ + ldr r2, ._67 + 4 @ 0x43c\n\ add r1, r1, r2\n\ ._62:\n\ ldrb r0, [r1]\n\ @@ -738,23 +738,23 @@ static bool8 SetupBagMultistep(void) .word gMain\n\ .word 0x43c\n\ ._24:\n\ - ldr r0, ._71\n\ + ldr r0, ._71 @ sub_80A3134\n\ bl SetVBlankCallback\n\ - ldr r0, ._71 + 4\n\ + ldr r0, ._71 + 4 @ sub_80A3118\n\ bl SetMainCallback2\n\ bl sub_80A751C\n\ bl sub_80A7630\n\ bl sub_80A770C\n\ bl sub_80A7828\n\ bl sub_80A78B8\n\ - ldr r0, ._71 + 8\n\ + ldr r0, ._71 + 8 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._69 @cond_branch\n\ - ldr r0, ._71 + 12\n\ + ldr r0, ._71 + 12 @ 0x600f5e0\n\ mov r1, #0x80\n\ lsl r1, r1, #0x8\n\ - ldr r2, ._71 + 16\n\ + ldr r2, ._71 + 16 @ 0x600f800\n\ mov r3, #0x0\n\ bl debug_sub_8008218\n\ ._69:\n\ @@ -1036,7 +1036,7 @@ void debug_sub_80A3714() push {r4, r5, r6, lr}\n\ add sp, sp, #0xfffffff4\n\ mov r5, #0x0\n\ - ldr r2, ._138\n\ + ldr r2, ._138 @ gUnknown_Debug_083EBC68\n\ mov r1, #0x0\n\ ._134:\n\ lsl r0, r5, #0x1\n\ @@ -1059,10 +1059,10 @@ void debug_sub_80A3714() bl ItemId_GetPocket\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x8\n\ - ldr r1, ._138 + 4\n\ + ldr r1, ._138 + 4 @ 0xffff0000\n\ add r0, r0, r1\n\ lsr r0, r0, #0x10\n\ - ldr r1, ._138 + 8\n\ + ldr r1, ._138 + 8 @ gBagPockets\n\ lsl r2, r0, #0x3\n\ add r2, r2, r1\n\ lsl r0, r0, #0x1\n\ @@ -4050,12 +4050,12 @@ static void sub_80A740C(void) bl sub_80A75E4\n\ bl sub_80A7768\n\ bl sub_80A7420\n\ - ldr r0, ._931\n\ + ldr r0, ._931 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._930 @cond_branch\n\ - ldr r0, ._931 + 4\n\ - ldr r1, ._931 + 8\n\ + ldr r0, ._931 + 4 @ gLink\n\ + ldr r1, ._931 + 8 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x0\n\ diff --git a/src/field/mauville_man.c b/src/field/mauville_man.c index e41ea1628..b42c50513 100644 --- a/src/field/mauville_man.c +++ b/src/field/mauville_man.c @@ -262,7 +262,7 @@ void debug_sub_810B32C() " cmp r0, #0x4\n" " bhi ._37 @cond_branch\n" " lsl r0, r0, #0x2\n" - " ldr r1, ._23\n" + " ldr r1, ._23 @ \n" " add r0, r0, r1\n" " ldr r0, [r0]\n" " mov pc, r0\n" @@ -281,7 +281,7 @@ void debug_sub_810B32C() " b ._37\n" "._26:\n" " mov r2, #0x0\n" - " ldr r3, ._34\n" + " ldr r3, ._34 @ gSaveBlock1\n" "._31:\n" " mov r0, sp\n" " add r1, r0, r2\n" @@ -295,7 +295,7 @@ void debug_sub_810B32C() " bls ._31 @cond_branch\n" " bl SetupHipster\n" " mov r2, #0x0\n" - " ldr r3, ._34\n" + " ldr r3, ._34 @ gSaveBlock1\n" "._32:\n" " add r1, r2, r3\n" " mov r4, sp\n" diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 4108145c1..66e7e2319 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -502,12 +502,12 @@ void CB2_PartyMenuMain(void) add sp, sp, #0xfffffffc\n\ bl AnimateSprites\n\ bl BuildOamBuffer\n\ - ldr r0, ._3\n\ + ldr r0, ._3 @ gPartyMenuType\n\ ldrb r1, [r0]\n\ lsl r0, r1, #0x1\n\ add r0, r0, r1\n\ lsl r0, r0, #0x4\n\ - ldr r1, ._3 + 4\n\ + ldr r1, ._3 + 4 @ PartyMonTextSettings\n\ add r5, r0, r1\n\ mov r6, #0x0\n\ ._1:\n\ @@ -529,12 +529,12 @@ void CB2_PartyMenuMain(void) ble ._1 @cond_branch\n\ bl RunTasks\n\ bl UpdatePaletteFade\n\ - ldr r0, ._3 + 8\n\ + ldr r0, ._3 + 8 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._2 @cond_branch\n\ - ldr r0, ._3 + 12\n\ - ldr r1, ._3 + 16\n\ + ldr r0, ._3 + 12 @ gLink\n\ + ldr r1, ._3 + 16 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x2\n\ @@ -696,8 +696,8 @@ bool8 InitPartyMenu(void) mov r7, r8\n\ push {r7}\n\ add sp, sp, #0xfffffff4\n\ - ldr r0, ._55\n\ - ldr r1, ._55 + 4\n\ + ldr r0, ._55 @ gMain\n\ + ldr r1, ._55 + 4 @ 0x43c\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ cmp r0, #0x11\n\ @@ -705,7 +705,7 @@ bool8 InitPartyMenu(void) b ._125\n\ ._53:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._55 + 8\n\ + ldr r1, ._55 + 8 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -745,10 +745,10 @@ bool8 InitPartyMenu(void) mov r8, r2\n\ add r2, sp, #0x4\n\ mov r6, #0x0\n\ - ldr r1, ._78\n\ + ldr r1, ._78 @ 0x40000d4\n\ mov r5, #0x80\n\ lsl r5, r5, #0x5\n\ - ldr r7, ._78 + 4\n\ + ldr r7, ._78 + 4 @ 0x81000800\n\ mov r0, #0x81\n\ lsl r0, r0, #0x18\n\ mov ip, r0\n\ @@ -778,7 +778,7 @@ bool8 InitPartyMenu(void) lsl r3, r3, #0x3\n\ mov r4, #0x0\n\ str r4, [sp, #0x8]\n\ - ldr r2, ._78\n\ + ldr r2, ._78 @ 0x40000d4\n\ mov r1, r8\n\ str r1, [r2]\n\ str r0, [r2, #0x4]\n\ @@ -800,13 +800,13 @@ bool8 InitPartyMenu(void) orr r3, r3, r0\n\ str r3, [r2, #0x8]\n\ ldr r0, [r2, #0x8]\n\ - ldr r2, ._78 + 8\n\ + ldr r2, ._78 + 8 @ gPaletteFade\n\ ldrb r0, [r2, #0x8]\n\ mov r1, #0x80\n\ orr r0, r0, r1\n\ strb r0, [r2, #0x8]\n\ - ldr r1, ._78 + 12\n\ - ldr r2, ._78 + 16\n\ + ldr r1, ._78 + 12 @ gMain\n\ + ldr r2, ._78 + 16 @ 0x43c\n\ add r1, r1, r2\n\ b ._122\n\ ._79:\n\ @@ -822,21 +822,21 @@ bool8 InitPartyMenu(void) b ._115\n\ ._60:\n\ bl sub_806B4A8\n\ - ldr r1, ._82\n\ + ldr r1, ._82 @ \n\ mov r2, #0x99\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ mov r2, #0x0\n\ strh r2, [r0]\n\ - ldr r3, ._82 + 4\n\ + ldr r3, ._82 + 4 @ \n\ add r0, r1, r3\n\ strh r2, [r0]\n\ mov r0, #0x9a\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ strh r2, [r1]\n\ - ldr r1, ._82 + 8\n\ - ldr r2, ._82 + 12\n\ + ldr r1, ._82 + 8 @ \n\ + ldr r2, ._82 + 12 @ \n\ add r1, r1, r2\n\ b ._122\n\ ._83:\n\ @@ -850,7 +850,7 @@ bool8 InitPartyMenu(void) bl ResetSpriteData\n\ b ._115\n\ ._62:\n\ - ldr r0, ._88\n\ + ldr r0, ._88 @ \n\ mov r1, #0x96\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -861,8 +861,8 @@ bool8 InitPartyMenu(void) beq ._86 @cond_branch\n\ bl ResetTasks\n\ ._86:\n\ - ldr r1, ._88 + 4\n\ - ldr r2, ._88 + 8\n\ + ldr r1, ._88 + 4 @ \n\ + ldr r2, ._88 + 8 @ \n\ add r1, r1, r2\n\ b ._122\n\ ._89:\n\ @@ -875,7 +875,7 @@ bool8 InitPartyMenu(void) bl FreeAllSpritePalettes\n\ b ._115\n\ ._64:\n\ - ldr r4, ._92\n\ + ldr r4, ._92 @ \n\ mov r1, #0x97\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -892,10 +892,10 @@ bool8 InitPartyMenu(void) ._92:\n\ .word +0x201b000\n\ ._65:\n\ - ldr r0, ._95\n\ + ldr r0, ._95 @ gWindowTemplate_81E6C90\n\ bl Text_LoadWindowTemplate\n\ - ldr r1, ._95 + 4\n\ - ldr r0, ._95 + 8\n\ + ldr r1, ._95 + 4 @ gMain\n\ + ldr r0, ._95 + 8 @ 0x43c\n\ add r1, r1, r0\n\ b ._122\n\ ._96:\n\ @@ -905,15 +905,15 @@ bool8 InitPartyMenu(void) .word gMain\n\ .word 0x43c\n\ ._66:\n\ - ldr r4, ._98\n\ - ldr r1, ._98 + 4\n\ + ldr r4, ._98 @ gUnknown_03004210\n\ + ldr r1, ._98 + 4 @ gWindowTemplate_81E6C90\n\ add r0, r4, #0\n\ bl Text_InitWindowWithTemplate\n\ add r0, r4, #0\n\ mov r1, #0x1\n\ bl MultistepInitWindowTileData\n\ - ldr r1, ._98 + 8\n\ - ldr r2, ._98 + 12\n\ + ldr r1, ._98 + 8 @ gMain\n\ + ldr r2, ._98 + 12 @ 0x43c\n\ add r1, r1, r2\n\ b ._122\n\ ._99:\n\ @@ -929,14 +929,14 @@ bool8 InitPartyMenu(void) bne ._100 @cond_branch\n\ b ._125\n\ ._100:\n\ - ldr r0, ._103\n\ + ldr r0, ._103 @ \n\ mov r3, #0x99\n\ lsl r3, r3, #0x2\n\ add r0, r0, r3\n\ mov r1, #0x1\n\ strh r1, [r0]\n\ - ldr r1, ._103 + 4\n\ - ldr r0, ._103 + 8\n\ + ldr r1, ._103 + 4 @ \n\ + ldr r0, ._103 + 8 @ \n\ add r1, r1, r0\n\ b ._122\n\ ._104:\n\ @@ -946,7 +946,7 @@ bool8 InitPartyMenu(void) .word gMain\n\ .word 0x43c\n\ ._68:\n\ - ldr r0, ._107\n\ + ldr r0, ._107 @ \n\ mov r1, #0x99\n\ lsl r1, r1, #0x2\n\ add r4, r0, r1\n\ @@ -958,8 +958,8 @@ bool8 InitPartyMenu(void) bne ._105 @cond_branch\n\ mov r0, #0x0\n\ strh r0, [r4]\n\ - ldr r1, ._107 + 4\n\ - ldr r2, ._107 + 8\n\ + ldr r1, ._107 + 4 @ \n\ + ldr r2, ._107 + 8 @ \n\ add r1, r1, r2\n\ b ._122\n\ ._108:\n\ @@ -977,8 +977,8 @@ bool8 InitPartyMenu(void) bl sub_809D51C\n\ b ._115\n\ ._70:\n\ - ldr r2, ._113\n\ - ldr r0, ._113 + 4\n\ + ldr r2, ._113 @ PartyMenuHandlers\n\ + ldr r0, ._113 + 4 @ \n\ mov r1, #0x96\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -994,8 +994,8 @@ bool8 InitPartyMenu(void) lsr r0, r0, #0x18\n\ cmp r0, #0x1\n\ bne ._125 @cond_branch\n\ - ldr r1, ._113 + 8\n\ - ldr r2, ._113 + 12\n\ + ldr r1, ._113 + 8 @ \n\ + ldr r2, ._113 + 12 @ \n\ add r1, r1, r2\n\ b ._122\n\ ._114:\n\ @@ -1006,7 +1006,7 @@ bool8 InitPartyMenu(void) .word gMain\n\ .word 0x43c\n\ ._71:\n\ - ldr r0, ._116\n\ + ldr r0, ._116 @ gWindowTemplate_81E6CC8\n\ bl MultistepInitMenuWindowBegin\n\ b ._115\n\ ._117:\n\ @@ -1017,8 +1017,8 @@ bool8 InitPartyMenu(void) bl MultistepInitMenuWindowContinue\n\ cmp r0, #0\n\ beq ._125 @cond_branch\n\ - ldr r1, ._120\n\ - ldr r0, ._120 + 4\n\ + ldr r1, ._120 @ gMain\n\ + ldr r0, ._120 + 4 @ 0x43c\n\ add r1, r1, r0\n\ b ._122\n\ ._121:\n\ @@ -1027,14 +1027,14 @@ bool8 InitPartyMenu(void) .word gMain\n\ .word 0x43c\n\ ._73:\n\ - ldr r0, ._123\n\ - ldr r1, ._123 + 4\n\ + ldr r0, ._123 @ \n\ + ldr r1, ._123 + 4 @ \n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x0\n\ bl PrintPartyMenuPromptText\n\ - ldr r1, ._123 + 8\n\ - ldr r2, ._123 + 12\n\ + ldr r1, ._123 + 8 @ \n\ + ldr r2, ._123 + 12 @ \n\ add r1, r1, r2\n\ b ._122\n\ ._124:\n\ @@ -1052,14 +1052,14 @@ bool8 InitPartyMenu(void) mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r2, ._126\n\ + ldr r2, ._126 @ gPaletteFade\n\ ldrb r1, [r2, #0x8]\n\ mov r0, #0x7f\n\ and r0, r0, r1\n\ strb r0, [r2, #0x8]\n\ ._115:\n\ - ldr r1, ._126 + 4\n\ - ldr r3, ._126 + 8\n\ + ldr r1, ._126 + 4 @ gMain\n\ + ldr r3, ._126 + 8 @ 0x43c\n\ add r1, r1, r3\n\ ._122:\n\ ldrb r0, [r1]\n\ @@ -1073,16 +1073,16 @@ bool8 InitPartyMenu(void) .word gMain\n\ .word 0x43c\n\ ._75:\n\ - ldr r0, ._130\n\ + ldr r0, ._130 @ VBlankCB_PartyMenu\n\ bl SetVBlankCallback\n\ - ldr r0, ._130 + 4\n\ + ldr r0, ._130 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._128 @cond_branch\n\ - ldr r0, ._130 + 8\n\ + ldr r0, ._130 + 8 @ 0x600e5e0\n\ mov r1, #0x80\n\ lsl r1, r1, #0x8\n\ - ldr r2, ._130 + 12\n\ + ldr r2, ._130 + 12 @ 0x6007800\n\ mov r3, #0x2\n\ bl debug_sub_8008218\n\ ._128:\n\ diff --git a/src/field/secret_base.c b/src/field/secret_base.c index 01e9711dc..8b67a2cd9 100644 --- a/src/field/secret_base.c +++ b/src/field/secret_base.c @@ -1658,7 +1658,7 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) add r5, r1, #0\n\ lsl r2, r2, #0x18\n\ lsr r7, r2, #0x18\n\ - ldr r0, ._503\n\ + ldr r0, ._503 @ gUnknown_020297ED\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ bne ._498 @cond_branch\n\ @@ -1747,10 +1747,10 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) bl sub_80BD610\n\ ._515:\n\ mov r3, #0x1\n\ - ldr r6, ._521\n\ + ldr r6, ._521 @ gSaveBlock1\n\ mov r5, #0x10\n\ neg r5, r5\n\ - ldr r4, ._521 + 4\n\ + ldr r4, ._521 + 4 @ 0x1a09\n\ ._517:\n\ lsl r0, r3, #0x2\n\ add r0, r0, r3\n\ @@ -1776,8 +1776,8 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) bls ._517 @cond_branch\n\ bl sub_80BD280\n\ mov r3, #0x1\n\ - ldr r4, ._521\n\ - ldr r6, ._521 + 4\n\ + ldr r4, ._521 @ gSaveBlock1\n\ + ldr r6, ._521 + 4 @ 0x1a09\n\ add r7, r4, #0\n\ mov r5, #0x3f\n\ ._519:\n\ @@ -1799,10 +1799,10 @@ void sub_80BD674(void *playerRecords, u32 size, u8 c) lsr r3, r0, #0x10\n\ cmp r3, #0x13\n\ bls ._519 @cond_branch\n\ - ldr r0, ._521 + 8\n\ + ldr r0, ._521 + 8 @ 0x1a16\n\ add r2, r7, r0\n\ ldrh r1, [r2]\n\ - ldr r0, ._521 + 12\n\ + ldr r0, ._521 + 12 @ 0xffff\n\ cmp r1, r0\n\ beq ._520 @cond_branch\n\ add r0, r1, #1\n\ diff --git a/src/field/shop.c b/src/field/shop.c index 852ccddda..fdee31178 100644 --- a/src/field/shop.c +++ b/src/field/shop.c @@ -1247,7 +1247,7 @@ void debug_sub_80C2818(void) push {lr}\n\ mov r0, #0x0\n\ bl CreateShopMenu\n\ - ldr r0, ._290\n\ + ldr r0, ._290 @ gMartBuyNoSellOptionList\n\ bl SetShopItemsForSale\n\ mov r0, #0x0\n\ bl SetShopMenuCallback\n\ diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 0d4ebe3f0..2c97c146d 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -402,7 +402,7 @@ static void SlotMachineSetup_0_1(void) mov r5, r8\n\ push {r5, r6, r7}\n\ bl sub_81019EC\n\ - ldr r5, ._43\n\ + ldr r5, ._43 @ \n\ mov r4, #0x0\n\ strb r4, [r5]\n\ strb r4, [r5, #0x2]\n\ @@ -415,8 +415,8 @@ static void SlotMachineSetup_0_1(void) strh r4, [r5, #0x8]\n\ strb r0, [r5, #0xa]\n\ strb r0, [r5, #0xb]\n\ - ldr r0, ._43 + 4\n\ - ldr r1, ._43 + 8\n\ + ldr r0, ._43 + 4 @ \n\ + ldr r1, ._43 + 8 @ \n\ add r0, r0, r1\n\ ldrh r0, [r0]\n\ strh r0, [r5, #0xc]\n\ @@ -445,7 +445,7 @@ static void SlotMachineSetup_0_1(void) strh r0, [r1]\n\ mov r7, #0x0\n\ add r6, r5, #0\n\ - ldr r2, ._43 + 12\n\ + ldr r2, ._43 + 12 @ \n\ mov sl, r2\n\ mov r0, #0x1c\n\ add r0, r0, r6\n\ @@ -493,7 +493,7 @@ static void SlotMachineSetup_0_1(void) cmp r7, #0x2\n\ bls ._41 @cond_branch\n\ bl debug_sub_811B5D0\n\ - ldr r0, ._43 + 16\n\ + ldr r0, ._43 + 16 @ \n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._42 @cond_branch\n\ @@ -690,21 +690,21 @@ static bool8 sub_8101E10(struct Task *task) push {lr}\n\ mov r0, #0x0\n\ bl sub_8104CAC\n\ - ldr r2, ._70\n\ + ldr r2, ._70 @ \n\ mov r0, #0x5\n\ strb r0, [r2]\n\ - ldr r0, ._70 + 4\n\ + ldr r0, ._70 + 4 @ \n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._67 @cond_branch\n\ - ldr r0, ._70 + 8\n\ + ldr r0, ._70 + 8 @ \n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ bne ._69 @cond_branch\n\ ._67:\n\ mov r0, #0xc\n\ ldsh r1, [r2, r0]\n\ - ldr r0, ._70 + 12\n\ + ldr r0, ._70 + 12 @ \n\ cmp r1, r0\n\ ble ._69 @cond_branch\n\ mov r0, #0x17\n\ @@ -740,17 +740,17 @@ static bool8 sub_8101E3C(struct Task *task) { asm("\ push {r4, r5, lr}\n\ - ldr r0, ._77\n\ + ldr r0, ._77 @ unk_debug_bss_1_1\n\ ldrb r1, [r0]\n\ add r3, r0, #0\n\ - ldr r5, ._77 + 4\n\ + ldr r5, ._77 + 4 @ gMain\n\ cmp r1, #0\n\ beq ._76 @cond_branch\n\ - ldr r2, ._77 + 8\n\ + ldr r2, ._77 + 8 @ unk_debug_bss_1_4\n\ ldrb r0, [r2]\n\ cmp r0, #0\n\ beq ._76 @cond_branch\n\ - ldr r4, ._77 + 12\n\ + ldr r4, ._77 + 12 @ \n\ mov r1, #0xc\n\ ldsh r0, [r4, r1]\n\ cmp r0, #0x3\n\ @@ -796,7 +796,7 @@ static bool8 sub_8101E3C(struct Task *task) cmp r0, #0\n\ beq ._81 @cond_branch\n\ bl debug_sub_811B620\n\ - ldr r1, ._83\n\ + ldr r1, ._83 @ \n\ mov r0, #0x1d\n\ strb r0, [r1]\n\ b ._102\n\ @@ -812,7 +812,7 @@ static bool8 sub_8101E3C(struct Task *task) beq ._85 @cond_branch\n\ mov r0, #0x0\n\ bl sub_8104AB8\n\ - ldr r1, ._87\n\ + ldr r1, ._87 @ \n\ mov r0, #0x8\n\ strb r0, [r1]\n\ b ._102\n\ @@ -826,7 +826,7 @@ static bool8 sub_8101E3C(struct Task *task) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._89 @cond_branch\n\ - ldr r2, ._94\n\ + ldr r2, ._94 @ \n\ mov r3, #0xc\n\ ldsh r0, [r2, r3]\n\ sub r0, r0, #0x3\n\ @@ -852,7 +852,7 @@ static bool8 sub_8101E3C(struct Task *task) cmp r0, #0x2\n\ ble ._92 @cond_branch\n\ ._91:\n\ - ldr r1, ._94\n\ + ldr r1, ._94 @ \n\ ldrh r0, [r1, #0xc]\n\ sub r0, r0, #0x3\n\ ldrh r3, [r1, #0x12]\n\ @@ -877,7 +877,7 @@ static bool8 sub_8101E3C(struct Task *task) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._98 @cond_branch\n\ - ldr r4, ._103\n\ + ldr r4, ._103 @ \n\ mov r1, #0xc\n\ ldsh r0, [r4, r1]\n\ cmp r0, #0\n\ @@ -893,11 +893,11 @@ static bool8 sub_8101E3C(struct Task *task) add r0, r0, #0x1\n\ strh r0, [r4, #0x12]\n\ ._98:\n\ - ldr r0, ._103\n\ + ldr r0, ._103 @ \n\ mov r2, #0x12\n\ ldsh r1, [r0, r2]\n\ add r2, r0, #0\n\ - ldr r5, ._103 + 4\n\ + ldr r5, ._103 + 4 @ \n\ cmp r1, #0x2\n\ bgt ._99 @cond_branch\n\ cmp r1, #0\n\ @@ -1029,7 +1029,7 @@ static bool8 sub_8101FA4(struct Task *task) bl sub_8102DEC\n\ mov r0, #0x0\n\ strh r0, [r4, #0x8]\n\ - ldr r4, ._115\n\ + ldr r4, ._115 @ \n\ ldrb r1, [r4, #0x4]\n\ mov r0, #0x20\n\ and r0, r0, r1\n\ @@ -1048,7 +1048,7 @@ static bool8 sub_8101FA4(struct Task *task) mov r0, #0xb\n\ ._114:\n\ strb r0, [r4]\n\ - ldr r4, ._119\n\ + ldr r4, ._119 @ \n\ mov r0, #0x8\n\ strh r0, [r4, #0x1a]\n\ ldrb r0, [r4, #0xa]\n\ @@ -1057,7 +1057,7 @@ static bool8 sub_8101FA4(struct Task *task) bl dp15_jump_random_unknown\n\ strh r0, [r4, #0x1a]\n\ ._117:\n\ - ldr r0, ._119 + 4\n\ + ldr r0, ._119 + 4 @ \n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._118 @cond_branch\n\ @@ -1128,15 +1128,15 @@ static bool8 sub_8102034(struct Task *task) asr r1, r1, #0x10\n\ cmp r1, #0x1d\n\ ble ._124 @cond_branch\n\ - ldr r0, ._127\n\ + ldr r0, ._127 @ unk_debug_bss_1_1\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._126 @cond_branch\n\ - ldr r0, ._127 + 4\n\ + ldr r0, ._127 + 4 @ unk_debug_bss_1_4\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._126 @cond_branch\n\ - ldr r4, ._127 + 8\n\ + ldr r4, ._127 + 8 @ unk_debug_bss_1_8\n\ bl Random\n\ mov r1, #0x1f\n\ and r1, r1, r0\n\ @@ -1144,7 +1144,7 @@ static bool8 sub_8102034(struct Task *task) str r1, [r4]\n\ ._126:\n\ bl sub_81024F0\n\ - ldr r1, ._127 + 12\n\ + ldr r1, ._127 + 12 @ \n\ mov r0, #0xc\n\ strb r0, [r1]\n\ ._124:\n\ @@ -1178,15 +1178,15 @@ static bool8 sub_8102058(struct Task *task) { asm("\ push {r4, r5, lr}\n\ - ldr r0, ._133\n\ + ldr r0, ._133 @ unk_debug_bss_1_1\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._130 @cond_branch\n\ - ldr r0, ._133 + 4\n\ + ldr r0, ._133 + 4 @ unk_debug_bss_1_4\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._130 @cond_branch\n\ - ldr r5, ._133 + 8\n\ + ldr r5, ._133 + 8 @ unk_debug_bss_1_8\n\ ldr r0, [r5]\n\ sub r0, r0, #0x1\n\ str r0, [r5]\n\ @@ -1194,7 +1194,7 @@ static bool8 sub_8102058(struct Task *task) bne ._135 @cond_branch\n\ mov r0, #0x18\n\ bl PlaySE\n\ - ldr r4, ._133 + 12\n\ + ldr r4, ._133 + 12 @ \n\ ldrb r0, [r4, #0x18]\n\ bl sub_8102E1C\n\ ldrb r0, [r4, #0x18]\n\ @@ -1213,7 +1213,7 @@ static bool8 sub_8102058(struct Task *task) .word unk_debug_bss_1_8\n\ .word +0x2000000\n\ ._130:\n\ - ldr r0, ._136\n\ + ldr r0, ._136 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -1221,7 +1221,7 @@ static bool8 sub_8102058(struct Task *task) beq ._135 @cond_branch\n\ mov r0, #0x18\n\ bl PlaySE\n\ - ldr r4, ._136 + 4\n\ + ldr r4, ._136 + 4 @ \n\ ldrb r0, [r4, #0x18]\n\ bl sub_8102E1C\n\ ldrb r0, [r4, #0x18]\n\ @@ -1260,7 +1260,7 @@ static bool8 sub_8102090(struct Task *task) { asm("\ push {r4, lr}\n\ - ldr r4, ._146\n\ + ldr r4, ._146 @ \n\ ldrb r0, [r4, #0x18]\n\ bl sub_8102E40\n\ lsl r0, r0, #0x18\n\ @@ -1278,7 +1278,7 @@ static bool8 sub_8102090(struct Task *task) ble ._161 @cond_branch\n\ mov r0, #0xe\n\ strb r0, [r4]\n\ - ldr r0, ._146 + 4\n\ + ldr r0, ._146 + 4 @ \n\ ldrb r0, [r0]\n\ cmp r0, #0x8\n\ beq ._140 @cond_branch\n\ @@ -1389,7 +1389,7 @@ bool8 sub_81020C8(struct Task *task) { asm("\ push {r4, lr}\n\ - ldr r4, ._165\n\ + ldr r4, ._165 @ \n\ ldrb r1, [r4, #0x4]\n\ mov r0, #0xc0\n\ and r0, r0, r1\n\ @@ -1411,7 +1411,7 @@ bool8 sub_81020C8(struct Task *task) ._163:\n\ bl debug_sub_811B894\n\ ._164:\n\ - ldr r4, ._171\n\ + ldr r4, ._171 @ \n\ ldrh r0, [r4, #0x8]\n\ cmp r0, #0\n\ beq ._167 @cond_branch\n\ @@ -1440,7 +1440,7 @@ bool8 sub_81020C8(struct Task *task) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._169 @cond_branch\n\ - ldr r0, ._171 + 4\n\ + ldr r0, ._171 + 4 @ \n\ bl PlayFanfare\n\ mov r0, #0x6\n\ bl sub_8104CAC\n\ @@ -1455,7 +1455,7 @@ bool8 sub_81020C8(struct Task *task) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._173 @cond_branch\n\ - ldr r0, ._175\n\ + ldr r0, ._175 @ 0x185\n\ bl PlayFanfare\n\ mov r0, #0x5\n\ bl sub_8104CAC\n\ @@ -1471,7 +1471,7 @@ bool8 sub_81020C8(struct Task *task) mov r0, #0x2\n\ bl sub_8104CAC\n\ ._174:\n\ - ldr r1, ._183\n\ + ldr r1, ._183 @ \n\ ldrh r3, [r1, #0x8]\n\ mov r0, #0xe0\n\ lsl r0, r0, #0x1\n\ @@ -1528,7 +1528,7 @@ bool8 sub_81020C8(struct Task *task) strh r0, [r4, #0x10]\n\ lsl r0, r0, #0x10\n\ asr r0, r0, #0x10\n\ - ldr r1, ._186\n\ + ldr r1, ._186 @ 0x270f\n\ cmp r0, r1\n\ ble ._185 @cond_branch\n\ strh r1, [r4, #0x10]\n\ @@ -1765,14 +1765,14 @@ static bool8 sub_8102424(struct Task *task) asm("\ push {lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._234\n\ + ldr r0, ._234 @ unk_debug_bss_1_1\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ bne ._233 @cond_branch\n\ - ldr r0, ._234 + 4\n\ - ldr r1, ._234 + 8\n\ + ldr r0, ._234 + 4 @ gSaveBlock1\n\ + ldr r1, ._234 + 8 @ \n\ ldrh r1, [r1, #0xc]\n\ - ldr r2, ._234 + 12\n\ + ldr r2, ._234 + 12 @ \n\ add r0, r0, r2\n\ strh r1, [r0]\n\ ._233:\n\ @@ -1783,7 +1783,7 @@ static bool8 sub_8102424(struct Task *task) mov r2, #0x0\n\ mov r3, #0x10\n\ bl BeginNormalPaletteFade\n\ - ldr r1, ._234 + 8\n\ + ldr r1, ._234 + 8 @ \n\ ldrb r0, [r1]\n\ add r0, r0, #0x1\n\ strb r0, [r1]\n\ @@ -1828,7 +1828,7 @@ static bool8 debug_sub_8116E74(struct Task *task) lsl r0, r0, #0x18\n\ cmp r0, #0\n\ beq ._239 @cond_branch\n\ - ldr r1, ._240\n\ + ldr r1, ._240 @ \n\ mov r0, #0x5\n\ strb r0, [r1]\n\ ._239:\n\ @@ -1848,22 +1848,22 @@ static void sub_8102484(void) { asm("\ push {r4, r5, r6, lr}\n\ - ldr r0, ._256\n\ + ldr r0, ._256 @ \n\ ldrb r2, [r0, #0xa]\n\ add r4, r0, #0\n\ cmp r2, #0\n\ beq ._242 @cond_branch\n\ b ._270\n\ ._242:\n\ - ldr r0, ._256 + 4\n\ + ldr r0, ._256 + 4 @ \n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._245 @cond_branch\n\ - ldr r3, ._256 + 8\n\ + ldr r3, ._256 + 8 @ \n\ ldrb r0, [r3]\n\ cmp r0, #0\n\ beq ._245 @cond_branch\n\ - ldr r0, ._256 + 12\n\ + ldr r0, ._256 + 12 @ \n\ ldrb r1, [r0]\n\ strb r1, [r4, #0x4]\n\ strb r2, [r3]\n\ @@ -1972,7 +1972,7 @@ static void sub_8102484(void) lsr r6, r0, #0x18\n\ cmp r6, #0x3\n\ beq ._260 @cond_branch\n\ - ldr r1, ._271\n\ + ldr r1, ._271 @ gUnknown_083ECE42\n\ lsl r0, r6, #0x1\n\ add r0, r0, r1\n\ ldrb r1, [r0]\n\ @@ -2016,8 +2016,8 @@ static void sub_8102484(void) lsr r6, r0, #0x18\n\ cmp r6, #0x5\n\ beq ._270 @cond_branch\n\ - ldr r4, ._271 + 4\n\ - ldr r1, ._271 + 8\n\ + ldr r4, ._271 + 4 @ \n\ + ldr r1, ._271 + 8 @ \n\ lsl r0, r6, #0x1\n\ add r0, r0, r1\n\ ldrb r1, [r0]\n\ diff --git a/src/field/start_menu.c b/src/field/start_menu.c index 1b01bf7a8..4904f4a80 100644 --- a/src/field/start_menu.c +++ b/src/field/start_menu.c @@ -166,7 +166,7 @@ void debug_sub_8075C40() " lsl r0, r4, #0x2\n" " add r0, r0, r4\n" " lsl r0, r0, #0x3\n" - " ldr r1, ._5\n" + " ldr r1, ._5 @ gTasks\n" " add r5, r0, r1\n" " mov r1, #0x0\n" " ldsh r0, [r5, r1]\n" @@ -191,28 +191,28 @@ void debug_sub_8075C40() " bl m4aSoundVSyncOff\n" " b ._12\n" "._1:\n" - " ldr r1, ._13\n" + " ldr r1, ._13 @ 0x4000208\n" " ldrh r0, [r1]\n" " mov sl, r0\n" " mov r0, #0x0\n" " strh r0, [r1]\n" - " ldr r1, ._13 + 4\n" + " ldr r1, ._13 + 4 @ 0x4000108\n" " strh r0, [r1]\n" " mov r0, #0x83\n" " lsl r0, r0, #0x10\n" " str r0, [r1]\n" - " ldr r4, ._13 + 8\n" + " ldr r4, ._13 + 8 @ 0xc34f\n" " mov r9, r4\n" - " ldr r2, ._13 + 12\n" - " ldr r0, ._13 + 16\n" + " ldr r2, ._13 + 12 @ 0x40000b0\n" + " ldr r0, ._13 + 16 @ gScanlineEffectRegBuffers\n" " mov ip, r0\n" - " ldr r1, ._13 + 20\n" + " ldr r1, ._13 + 20 @ 0xc5ff\n" " mov r8, r1\n" - " ldr r7, ._13 + 24\n" + " ldr r7, ._13 + 24 @ 0x7fff\n" " mov r3, r9\n" " add r3, r3, #0x1\n" - " ldr r6, ._13 + 28\n" - " ldr r4, ._13 + 32\n" + " ldr r6, ._13 + 28 @ 0x4000040\n" + " ldr r4, ._13 + 32 @ 0xa2600001\n" "._11:\n" " mov r0, ip\n" " str r0, [r2]\n" @@ -233,18 +233,18 @@ void debug_sub_8075C40() " bne ._11 @cond_branch\n" " mov r3, r9\n" " add r3, r3, #0x1\n" - " ldr r0, ._13 + 36\n" + " ldr r0, ._13 + 36 @ 0x400010a\n" " mov r2, #0x0\n" " strh r2, [r0]\n" - " ldr r1, ._13 + 4\n" + " ldr r1, ._13 + 4 @ 0x4000108\n" " ldrh r0, [r1]\n" - " ldr r4, ._13 + 40\n" + " ldr r4, ._13 + 40 @ _debugStartMenu_0\n" " str r0, [r4]\n" " strh r2, [r1]\n" - " ldr r0, ._13\n" + " ldr r0, ._13 @ 0x4000208\n" " mov r1, sl\n" " strh r1, [r0]\n" - " ldr r4, ._13 + 44\n" + " ldr r4, ._13 + 44 @ _debugStartMenu_1\n" " str r3, [r4]\n" " bl m4aSoundVSyncOn\n" " b ._12\n" @@ -266,20 +266,20 @@ void debug_sub_8075C40() "._7:\n" " mov r0, #0x15\n" " bl PlaySE\n" - " ldr r0, ._16\n" - " ldr r1, ._16 + 4\n" + " ldr r0, ._16 @ gStringVar1\n" + " ldr r1, ._16 + 4 @ _debugStartMenu_1\n" " ldr r1, [r1]\n" " mov r2, #0x1\n" " mov r3, #0x8\n" " bl ConvertIntToDecimalStringN\n" - " ldr r0, ._16 + 8\n" - " ldr r1, ._16 + 12\n" + " ldr r0, ._16 + 8 @ gStringVar2\n" + " ldr r1, ._16 + 12 @ _debugStartMenu_0\n" " ldr r1, [r1]\n" " mov r2, #0x1\n" " mov r3, #0x8\n" " bl ConvertIntToDecimalStringN\n" " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._16 + 16\n" + " ldr r0, ._16 + 16 @ gUnknown_Debug_839B6D8\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" @@ -297,7 +297,7 @@ void debug_sub_8075C40() " .word _debugStartMenu_0\n" " .word gUnknown_Debug_839B6D8\n" "._8:\n" - " ldr r0, ._19\n" + " ldr r0, ._19 @ gMain\n" " ldrh r1, [r0, #0x2e]\n" " mov r0, #0x1\n" " and r0, r0, r1\n" @@ -328,7 +328,7 @@ void debug_sub_8075D9C() { asm( " push {lr}\n" - " ldr r0, ._21\n" + " ldr r0, ._21 @ debug_sub_8075C40\n" " mov r1, #0xa\n" " bl CreateTask\n" " bl ScriptContext2_Enable\n" @@ -363,8 +363,8 @@ void debug_sub_8075DB4() " bl StringCopy8\n" " mov r3, #0x7\n" " mov r4, #0x0\n" - " ldr r0, ._25\n" - " ldr r1, ._25 + 4\n" + " ldr r0, ._25 @ gSaveBlock1\n" + " ldr r1, ._25 + 4 @ 0x2b28\n" " add r5, r0, r1\n" " add r2, r6, #0\n" " add r2, r2, #0x10\n" @@ -387,7 +387,7 @@ void debug_sub_8075DB4() "._24:\n" " mov r0, #0x64\n" " mul r0, r0, r4\n" - " ldr r1, ._25 + 8\n" + " ldr r1, ._25 + 8 @ gPlayerParty\n" " add r0, r0, r1\n" " mov r1, #0x2c\n" " mul r1, r1, r4\n" @@ -417,12 +417,12 @@ void unref_sub_8070F90() { asm( " push {lr}\n" - " ldr r0, ._27\n" + " ldr r0, ._27 @ 0x801\n" " bl FlagSet\n" " mov r0, #0x80\n" " lsl r0, r0, #0x4\n" " bl FlagSet\n" - " ldr r0, ._27 + 4\n" + " ldr r0, ._27 + 4 @ 0x802\n" " bl FlagSet\n" " pop {r0}\n" " bx r0\n" diff --git a/src/pokemon/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c index f1bded592..fcbfe122f 100644 --- a/src/pokemon/pokemon_summary_screen.c +++ b/src/pokemon/pokemon_summary_screen.c @@ -583,12 +583,12 @@ void sub_809D844(void) bl AnimateSprites\n\ bl BuildOamBuffer\n\ bl UpdatePaletteFade\n\ - ldr r0, ._2\n\ + ldr r0, ._2 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1 @cond_branch\n\ - ldr r0, ._2 + 4\n\ - ldr r1, ._2 + 8\n\ + ldr r0, ._2 + 4 @ gLink\n\ + ldr r1, ._2 + 8 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x3\n\ @@ -733,8 +733,8 @@ bool8 sub_809DA84(void) asm("\ push {r4, r5, r6, r7, lr}\n\ add sp, sp, #0xfffffff8\n\ - ldr r1, ._52\n\ - ldr r2, ._52 + 4\n\ + ldr r1, ._52 @ gMain\n\ + ldr r2, ._52 + 4 @ 0x43c\n\ add r0, r1, r2\n\ ldrb r0, [r0]\n\ mov ip, r1\n\ @@ -743,7 +743,7 @@ bool8 sub_809DA84(void) b ._51\n\ ._50:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._52 + 8\n\ + ldr r1, ._52 + 8 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -784,8 +784,8 @@ bool8 sub_809DA84(void) b ._146\n\ ._56:\n\ bl ScanlineEffect_Stop\n\ - ldr r1, ._80\n\ - ldr r2, ._80 + 4\n\ + ldr r1, ._80 @ gMain\n\ + ldr r2, ._80 + 4 @ 0x43c\n\ add r1, r1, r2\n\ b ._153\n\ ._81:\n\ @@ -802,10 +802,10 @@ bool8 sub_809DA84(void) mov r3, #0x80\n\ lsl r3, r3, #0x9\n\ mov r5, #0x0\n\ - ldr r1, ._85\n\ + ldr r1, ._85 @ 0x40000d4\n\ mov r4, #0x80\n\ lsl r4, r4, #0x5\n\ - ldr r6, ._85 + 4\n\ + ldr r6, ._85 + 4 @ 0x85000400\n\ mov r7, #0x85\n\ lsl r7, r7, #0x18\n\ ._83:\n\ @@ -827,7 +827,7 @@ bool8 sub_809DA84(void) orr r0, r0, r7\n\ str r0, [r1, #0x8]\n\ ldr r0, [r1, #0x8]\n\ - ldr r1, ._85 + 8\n\ + ldr r1, ._85 + 8 @ 0x43c\n\ add r1, r1, ip\n\ b ._153\n\ ._86:\n\ @@ -838,8 +838,8 @@ bool8 sub_809DA84(void) .word 0x43c\n\ ._59:\n\ bl sub_809DE64\n\ - ldr r1, ._88\n\ - ldr r2, ._88 + 4\n\ + ldr r1, ._88 @ gMain\n\ + ldr r2, ._88 + 4 @ 0x43c\n\ add r1, r1, r2\n\ b ._153\n\ ._89:\n\ @@ -848,7 +848,7 @@ bool8 sub_809DA84(void) .word gMain\n\ .word 0x43c\n\ ._60:\n\ - ldr r0, ._91\n\ + ldr r0, ._91 @ gWindowTemplate_81E6E6C\n\ bl Text_LoadWindowTemplate\n\ b ._146\n\ ._92:\n\ @@ -856,10 +856,10 @@ bool8 sub_809DA84(void) ._91:\n\ .word gWindowTemplate_81E6E6C\n\ ._61:\n\ - ldr r0, ._94\n\ + ldr r0, ._94 @ gWindowTemplate_81E6E6C\n\ bl MultistepInitMenuWindowBegin\n\ - ldr r1, ._94 + 4\n\ - ldr r2, ._94 + 8\n\ + ldr r1, ._94 + 4 @ gMain\n\ + ldr r2, ._94 + 8 @ 0x43c\n\ add r1, r1, r2\n\ b ._153\n\ ._95:\n\ @@ -877,8 +877,8 @@ bool8 sub_809DA84(void) b ._146\n\ ._63:\n\ bl sub_809DA1C\n\ - ldr r1, ._100\n\ - ldr r2, ._100 + 4\n\ + ldr r1, ._100 @ gMain\n\ + ldr r2, ._100 + 4 @ 0x43c\n\ add r1, r1, r2\n\ b ._153\n\ ._101:\n\ @@ -887,26 +887,26 @@ bool8 sub_809DA84(void) .word gMain\n\ .word 0x43c\n\ ._64:\n\ - ldr r1, ._103\n\ - ldr r2, ._103 + 4\n\ - ldr r0, ._103 + 8\n\ + ldr r1, ._103 @ gSummaryScreenTextTiles\n\ + ldr r2, ._103 + 4 @ 0x600d000\n\ + ldr r0, ._103 + 8 @ 0x40000d4\n\ str r1, [r0]\n\ str r2, [r0, #0x4]\n\ - ldr r1, ._103 + 12\n\ + ldr r1, ._103 + 12 @ 0x800000a0\n\ str r1, [r0, #0x8]\n\ ldr r1, [r0, #0x8]\n\ - ldr r1, ._103 + 16\n\ - ldr r2, ._103 + 20\n\ + ldr r1, ._103 + 16 @ sSummaryScreenButtonTiles\n\ + ldr r2, ._103 + 20 @ 0x600d140\n\ str r1, [r0]\n\ str r2, [r0, #0x4]\n\ - ldr r1, ._103 + 24\n\ + ldr r1, ._103 + 24 @ 0x80000080\n\ str r1, [r0, #0x8]\n\ ldr r0, [r0, #0x8]\n\ - ldr r0, ._103 + 28\n\ + ldr r0, ._103 + 28 @ \n\ add r0, r0, #0x74\n\ mov r1, #0x0\n\ strb r1, [r0]\n\ - ldr r1, ._103 + 32\n\ + ldr r1, ._103 + 32 @ \n\ add r1, r1, ip\n\ b ._153\n\ ._104:\n\ @@ -928,7 +928,7 @@ bool8 sub_809DA84(void) bne ._105 @cond_branch\n\ b ._157\n\ ._105:\n\ - ldr r0, ._108\n\ + ldr r0, ._108 @ \n\ add r0, r0, #0x74\n\ mov r1, #0x0\n\ strb r1, [r0]\n\ @@ -939,8 +939,8 @@ bool8 sub_809DA84(void) .word +0x2018000\n\ ._66:\n\ bl sub_80A18C4\n\ - ldr r1, ._111\n\ - ldr r2, ._111 + 4\n\ + ldr r1, ._111 @ gMain\n\ + ldr r2, ._111 + 4 @ 0x43c\n\ add r1, r1, r2\n\ b ._153\n\ ._112:\n\ @@ -949,7 +949,7 @@ bool8 sub_809DA84(void) .word gMain\n\ .word 0x43c\n\ ._67:\n\ - ldr r4, ._115\n\ + ldr r4, ._115 @ \n\ add r0, r4, #0\n\ bl sub_809F678\n\ add r0, r4, #0\n\ @@ -968,7 +968,7 @@ bool8 sub_809DA84(void) mov r0, #0xa\n\ bl sub_80A12D0\n\ ._114:\n\ - ldr r0, ._118\n\ + ldr r0, ._118 @ \n\ bl DrawPokerusSurvivorDot\n\ b ._146\n\ ._119:\n\ @@ -977,10 +977,10 @@ bool8 sub_809DA84(void) .word +0x2018010\n\ ._68:\n\ bl sub_80A1950\n\ - ldr r0, ._121\n\ + ldr r0, ._121 @ \n\ bl sub_80A1D84\n\ - ldr r1, ._121 + 4\n\ - ldr r2, ._121 + 8\n\ + ldr r1, ._121 + 4 @ \n\ + ldr r2, ._121 + 8 @ \n\ add r1, r1, r2\n\ b ._153\n\ ._122:\n\ @@ -990,7 +990,7 @@ bool8 sub_809DA84(void) .word gMain\n\ .word 0x43c\n\ ._69:\n\ - ldr r4, ._124\n\ + ldr r4, ._124 @ \n\ add r0, r4, #0\n\ bl sub_80A1DE8\n\ add r4, r4, #0x64\n\ @@ -1002,7 +1002,7 @@ bool8 sub_809DA84(void) ._124:\n\ .word +0x2018010\n\ ._70:\n\ - ldr r4, ._129\n\ + ldr r4, ._129 @ \n\ add r5, r4, #0\n\ add r5, r5, #0x64\n\ add r0, r4, #0\n\ @@ -1018,8 +1018,8 @@ bool8 sub_809DA84(void) ._126:\n\ mov r0, #0x0\n\ strb r0, [r5]\n\ - ldr r1, ._129 + 4\n\ - ldr r2, ._129 + 8\n\ + ldr r1, ._129 + 4 @ \n\ + ldr r2, ._129 + 8 @ \n\ add r1, r1, r2\n\ b ._153\n\ ._130:\n\ @@ -1033,19 +1033,19 @@ bool8 sub_809DA84(void) bl DrawSummaryScreenNavigationDots\n\ b ._146\n\ ._72:\n\ - ldr r1, ._134\n\ + ldr r1, ._134 @ \n\ ldrb r0, [r1, #0xb]\n\ cmp r0, #0x1\n\ bhi ._132 @cond_branch\n\ - ldr r0, ._134 + 4\n\ + ldr r0, ._134 + 4 @ \n\ ldrb r1, [r1, #0xb]\n\ lsl r1, r1, #0x2\n\ add r1, r1, r0\n\ ldr r0, [r1]\n\ bl _call_via_r0\n\ ._132:\n\ - ldr r1, ._134 + 8\n\ - ldr r2, ._134 + 12\n\ + ldr r1, ._134 + 8 @ \n\ + ldr r2, ._134 + 12 @ \n\ add r1, r1, r2\n\ b ._153\n\ ._135:\n\ @@ -1056,7 +1056,7 @@ bool8 sub_809DA84(void) .word gMain\n\ .word 0x43c\n\ ._73:\n\ - ldr r0, ._137\n\ + ldr r0, ._137 @ \n\ bl sub_809FAC8\n\ b ._146\n\ ._138:\n\ @@ -1064,16 +1064,16 @@ bool8 sub_809DA84(void) ._137:\n\ .word +0x2018010\n\ ._74:\n\ - ldr r2, ._140\n\ - ldr r0, ._140 + 4\n\ + ldr r2, ._140 @ sUnknown_083C1598\n\ + ldr r0, ._140 + 4 @ \n\ ldrb r1, [r0, #0xb]\n\ lsl r1, r1, #0x2\n\ add r1, r1, r2\n\ add r0, r0, #0x10\n\ ldr r1, [r1]\n\ bl _call_via_r1\n\ - ldr r1, ._140 + 8\n\ - ldr r2, ._140 + 12\n\ + ldr r1, ._140 + 8 @ \n\ + ldr r2, ._140 + 12 @ \n\ add r1, r1, r2\n\ b ._153\n\ ._141:\n\ @@ -1084,13 +1084,13 @@ bool8 sub_809DA84(void) .word gMain\n\ .word 0x43c\n\ ._75:\n\ - ldr r0, ._144\n\ + ldr r0, ._144 @ \n\ mov r1, #0x2d\n\ bl GetMonData\n\ add r1, r0, #0\n\ cmp r1, #0\n\ beq ._142 @cond_branch\n\ - ldr r1, ._144 + 4\n\ + ldr r1, ._144 + 4 @ \n\ mov r2, #0x80\n\ lsl r2, r2, #0x1\n\ add r0, r2, #0\n\ @@ -1102,7 +1102,7 @@ bool8 sub_809DA84(void) .word +0x2018010\n\ .word gBattle_BG3_X\n\ ._142:\n\ - ldr r0, ._147\n\ + ldr r0, ._147 @ gBattle_BG3_X\n\ strh r1, [r0]\n\ b ._146\n\ ._148:\n\ @@ -1111,7 +1111,7 @@ bool8 sub_809DA84(void) .word gBattle_BG3_X\n\ ._76:\n\ bl sub_809EBC4\n\ - ldr r0, ._151\n\ + ldr r0, ._151 @ \n\ add r0, r0, #0x79\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ @@ -1136,8 +1136,8 @@ bool8 sub_809DA84(void) bl sub_80A1654\n\ ._150:\n\ bl PrintSummaryWindowHeaderText\n\ - ldr r1, ._154\n\ - ldr r2, ._154 + 4\n\ + ldr r1, ._154 @ gMain\n\ + ldr r2, ._154 + 4 @ 0x43c\n\ add r1, r1, r2\n\ b ._153\n\ ._155:\n\ @@ -1150,8 +1150,8 @@ bool8 sub_809DA84(void) cmp r0, #0x1\n\ beq ._157 @cond_branch\n\ ._146:\n\ - ldr r1, ._158\n\ - ldr r0, ._158 + 4\n\ + ldr r1, ._158 @ gMain\n\ + ldr r0, ._158 + 4 @ 0x43c\n\ add r1, r1, r0\n\ ._153:\n\ ldrb r0, [r1]\n\ @@ -1164,7 +1164,7 @@ bool8 sub_809DA84(void) .word gMain\n\ .word 0x43c\n\ ._51:\n\ - ldr r0, ._162\n\ + ldr r0, ._162 @ sub_809D85C\n\ bl SetVBlankCallback\n\ mov r0, #0x1\n\ str r0, [sp]\n\ @@ -1173,21 +1173,21 @@ bool8 sub_809DA84(void) mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginHardwarePaletteFade\n\ - ldr r0, ._162 + 4\n\ + ldr r0, ._162 + 4 @ sub_809D844\n\ bl SetMainCallback2\n\ - ldr r2, ._162 + 8\n\ + ldr r2, ._162 + 8 @ gPaletteFade\n\ ldrb r1, [r2, #0x8]\n\ mov r0, #0x7f\n\ and r0, r0, r1\n\ strb r0, [r2, #0x8]\n\ - ldr r0, ._162 + 12\n\ + ldr r0, ._162 + 12 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._160 @cond_branch\n\ - ldr r0, ._162 + 16\n\ + ldr r0, ._162 + 16 @ 0x600dde0\n\ mov r1, #0x80\n\ lsl r1, r1, #0x8\n\ - ldr r2, ._162 + 20\n\ + ldr r2, ._162 + 20 @ 0x600f000\n\ mov r3, #0x3\n\ bl debug_sub_8008218\n\ ._160:\n\ diff --git a/src/pokenav_before.c b/src/pokenav_before.c index b292e80c4..b645136dc 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -479,7 +479,7 @@ void sub_80EBDD8() asm("\ push {lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._64\n\ + ldr r1, ._64 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -490,7 +490,7 @@ void sub_80EBDD8() b ._131\n\ ._62:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._64 + 4\n\ + ldr r1, ._64 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -525,14 +525,14 @@ void sub_80EBDD8() lsl r1, r1, #0x13\n\ mov r0, #0x0\n\ strh r0, [r1]\n\ - ldr r1, ._86\n\ - ldr r3, ._86 + 4\n\ + ldr r1, ._86 @ gSharedMem\n\ + ldr r3, ._86 + 4 @ 0x6ddc\n\ add r0, r1, r3\n\ ldrb r2, [r0]\n\ sub r3, r3, #0x2f\n\ add r0, r1, r3\n\ strb r2, [r0]\n\ - ldr r0, ._86 + 8\n\ + ldr r0, ._86 + 8 @ 0x6dae\n\ add r2, r1, r0\n\ mov r0, #0x5\n\ strb r0, [r2]\n\ @@ -548,7 +548,7 @@ void sub_80EBDD8() .word 0x6dae\n\ ._68:\n\ bl sub_80F3FF0\n\ - ldr r1, ._91\n\ + ldr r1, ._91 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -562,7 +562,7 @@ void sub_80EBDD8() beq ._88 @cond_branch\n\ b ._131\n\ ._88:\n\ - ldr r1, ._91\n\ + ldr r1, ._91 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -573,7 +573,7 @@ void sub_80EBDD8() .word gSharedMem\n\ ._70:\n\ bl sub_80F2598\n\ - ldr r1, ._94\n\ + ldr r1, ._94 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -584,7 +584,7 @@ void sub_80EBDD8() .word gSharedMem\n\ ._71:\n\ bl sub_80EEE20\n\ - ldr r1, ._99\n\ + ldr r1, ._99 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -599,7 +599,7 @@ void sub_80EBDD8() b ._131\n\ ._96:\n\ bl sub_80EEE08\n\ - ldr r1, ._99\n\ + ldr r1, ._99 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -611,7 +611,7 @@ void sub_80EBDD8() ._73:\n\ mov r0, #0x0\n\ bl sub_80EF248\n\ - ldr r1, ._104\n\ + ldr r1, ._104 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -634,7 +634,7 @@ void sub_80EBDD8() ._75:\n\ mov r0, #0x0\n\ bl sub_80F1B8C\n\ - ldr r1, ._108\n\ + ldr r1, ._108 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -647,7 +647,7 @@ void sub_80EBDD8() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._131 @cond_branch\n\ - ldr r1, ._108\n\ + ldr r1, ._108 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -657,7 +657,7 @@ void sub_80EBDD8() ._108:\n\ .word gSharedMem\n\ ._77:\n\ - ldr r0, ._111\n\ + ldr r0, ._111 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ b ._110\n\ ._112:\n\ @@ -672,7 +672,7 @@ void sub_80EBDD8() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r1, ._114\n\ + ldr r1, ._114 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -684,7 +684,7 @@ void sub_80EBDD8() ._79:\n\ mov r0, #0x0\n\ bl sub_80EED2C\n\ - ldr r1, ._117\n\ + ldr r1, ._117 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -694,7 +694,7 @@ void sub_80EBDD8() ._117:\n\ .word gSharedMem\n\ ._80:\n\ - ldr r0, ._121\n\ + ldr r0, ._121 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -711,7 +711,7 @@ void sub_80EBDD8() ._81:\n\ mov r0, #0x0\n\ bl sub_80F2C80\n\ - ldr r1, ._125\n\ + ldr r1, ._125 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -724,7 +724,7 @@ void sub_80EBDD8() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._131 @cond_branch\n\ - ldr r1, ._125\n\ + ldr r1, ._125 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -736,7 +736,7 @@ void sub_80EBDD8() ._83:\n\ bl sub_80F1DF0\n\ ._110:\n\ - ldr r1, ._128\n\ + ldr r1, ._128 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -757,14 +757,14 @@ void sub_80EBDD8() mov r0, #0x0\n\ mov r1, #0x0\n\ bl sub_80EF428\n\ - ldr r0, ._132\n\ + ldr r0, ._132 @ sub_80EC268\n\ bl sub_80EBDBC\n\ - ldr r0, ._132 + 4\n\ + ldr r0, ._132 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._131 @cond_branch\n\ - ldr r0, ._132 + 8\n\ - ldr r2, ._132 + 12\n\ + ldr r0, ._132 + 8 @ 0x6007de0\n\ + ldr r2, ._132 + 12 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -877,7 +877,7 @@ void sub_80EC00C() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._136\n\ + ldr r1, ._136 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -888,7 +888,7 @@ void sub_80EC00C() b ._191\n\ ._134:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._136 + 4\n\ + ldr r1, ._136 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -919,17 +919,17 @@ void sub_80EC00C() beq ._153 @cond_branch\n\ b ._191\n\ ._153:\n\ - ldr r0, ._156\n\ + ldr r0, ._156 @ sub_80EBD80\n\ bl SetVBlankCallback\n\ bl sub_80EED1C\n\ - ldr r4, ._156 + 4\n\ - ldr r1, ._156 + 8\n\ + ldr r4, ._156 + 4 @ gSharedMem\n\ + ldr r1, ._156 + 8 @ 0x6ddc\n\ add r0, r4, r1\n\ ldrb r1, [r0]\n\ - ldr r2, ._156 + 12\n\ + ldr r2, ._156 + 12 @ 0x6dad\n\ add r0, r4, r2\n\ strb r1, [r0]\n\ - ldr r0, ._156 + 16\n\ + ldr r0, ._156 + 16 @ 0x6dae\n\ add r1, r4, r0\n\ mov r0, #0x5\n\ strb r0, [r1]\n\ @@ -952,7 +952,7 @@ void sub_80EC00C() ._140:\n\ mov r0, #0x0\n\ bl sub_80EF248\n\ - ldr r1, ._161\n\ + ldr r1, ._161 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -967,7 +967,7 @@ void sub_80EC00C() beq ._158 @cond_branch\n\ b ._191\n\ ._158:\n\ - ldr r1, ._161\n\ + ldr r1, ._161 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -979,7 +979,7 @@ void sub_80EC00C() ._142:\n\ mov r0, #0x0\n\ bl sub_80F1B8C\n\ - ldr r1, ._166\n\ + ldr r1, ._166 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -994,7 +994,7 @@ void sub_80EC00C() beq ._163 @cond_branch\n\ b ._191\n\ ._163:\n\ - ldr r1, ._166\n\ + ldr r1, ._166 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -1020,7 +1020,7 @@ void sub_80EC00C() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._171\n\ + ldr r0, ._171 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ @@ -1033,7 +1033,7 @@ void sub_80EC00C() ._146:\n\ mov r0, #0x0\n\ bl sub_80EED2C\n\ - ldr r1, ._174\n\ + ldr r1, ._174 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -1043,7 +1043,7 @@ void sub_80EC00C() ._174:\n\ .word gSharedMem\n\ ._147:\n\ - ldr r0, ._178\n\ + ldr r0, ._178 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -1059,7 +1059,7 @@ void sub_80EC00C() .word gPaletteFade\n\ ._148:\n\ bl sub_80F2598\n\ - ldr r1, ._181\n\ + ldr r1, ._181 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -1071,7 +1071,7 @@ void sub_80EC00C() ._149:\n\ mov r0, #0x0\n\ bl sub_80F2C80\n\ - ldr r1, ._185\n\ + ldr r1, ._185 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -1084,7 +1084,7 @@ void sub_80EC00C() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._191 @cond_branch\n\ - ldr r1, ._185\n\ + ldr r1, ._185 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -1096,7 +1096,7 @@ void sub_80EC00C() ._151:\n\ bl sub_80F1DF0\n\ ._169:\n\ - ldr r1, ._188\n\ + ldr r1, ._188 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -1114,20 +1114,20 @@ void sub_80EC00C() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._191 @cond_branch\n\ - ldr r0, ._192\n\ - ldr r1, ._192 + 4\n\ + ldr r0, ._192 @ gSharedMem\n\ + ldr r1, ._192 + 4 @ 0x6dad\n\ add r0, r0, r1\n\ ldrb r1, [r0]\n\ mov r0, #0x0\n\ bl sub_80EF428\n\ - ldr r0, ._192 + 8\n\ + ldr r0, ._192 + 8 @ sub_80EC268\n\ bl sub_80EBDBC\n\ - ldr r0, ._192 + 12\n\ + ldr r0, ._192 + 12 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._191 @cond_branch\n\ - ldr r0, ._192 + 16\n\ - ldr r2, ._192 + 20\n\ + ldr r0, ._192 + 16 @ 0x6007de0\n\ + ldr r2, ._192 + 20 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -1349,7 +1349,7 @@ void sub_80EC4A0() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._285\n\ + ldr r1, ._285 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -1360,7 +1360,7 @@ void sub_80EC4A0() b ._340\n\ ._283:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._285 + 4\n\ + ldr r1, ._285 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -1397,7 +1397,7 @@ void sub_80EC4A0() beq ._304 @cond_branch\n\ b ._340\n\ ._304:\n\ - ldr r0, ._308\n\ + ldr r0, ._308 @ gSaveBlock2\n\ ldrb r1, [r0, #0x15]\n\ mov r0, #0x8\n\ and r0, r0, r1\n\ @@ -1408,7 +1408,7 @@ void sub_80EC4A0() ._306:\n\ add r0, r1, #0\n\ bl sub_80EEFBC\n\ - ldr r1, ._308 + 4\n\ + ldr r1, ._308 + 4 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -1426,7 +1426,7 @@ void sub_80EC4A0() beq ._310 @cond_branch\n\ b ._340\n\ ._310:\n\ - ldr r4, ._313\n\ + ldr r4, ._313 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -1446,7 +1446,7 @@ void sub_80EC4A0() ._313:\n\ .word gSharedMem\n\ ._291:\n\ - ldr r0, ._318\n\ + ldr r0, ._318 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -1464,7 +1464,7 @@ void sub_80EC4A0() .word gPaletteFade\n\ ._292:\n\ bl sub_80F2620\n\ - ldr r1, ._321\n\ + ldr r1, ._321 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -1478,7 +1478,7 @@ void sub_80EC4A0() b ._336\n\ ._294:\n\ bl sub_80EF840\n\ - ldr r1, ._326\n\ + ldr r1, ._326 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -1500,7 +1500,7 @@ void sub_80EC4A0() ._296:\n\ mov r0, #0x4\n\ bl sub_80F2C80\n\ - ldr r1, ._329\n\ + ldr r1, ._329 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -1517,9 +1517,9 @@ void sub_80EC4A0() .word gSharedMem\n\ ._298:\n\ bl sub_80F2DD8\n\ - ldr r0, ._332\n\ + ldr r0, ._332 @ sub_80EBD30\n\ bl SetVBlankCallback\n\ - ldr r1, ._332 + 4\n\ + ldr r1, ._332 + 4 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -1551,17 +1551,17 @@ void sub_80EC4A0() ._301:\n\ mov r0, #0x1\n\ bl sub_80EED2C\n\ - ldr r0, ._338\n\ + ldr r0, ._338 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._336 @cond_branch\n\ - ldr r0, ._338 + 4\n\ - ldr r2, ._338 + 8\n\ + ldr r0, ._338 + 4 @ 0x60075e0\n\ + ldr r2, ._338 + 8 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ ._336:\n\ - ldr r1, ._338 + 12\n\ + ldr r1, ._338 + 12 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -1578,13 +1578,13 @@ void sub_80EC4A0() .word 0x600f800\n\ .word gSharedMem\n\ ._302:\n\ - ldr r0, ._341\n\ + ldr r0, ._341 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ cmp r0, #0\n\ bne ._340 @cond_branch\n\ - ldr r0, ._341 + 4\n\ + ldr r0, ._341 + 4 @ sub_80EC67C\n\ bl sub_80EBDBC\n\ ._340:\n\ add sp, sp, #0x4\n\ @@ -1691,7 +1691,7 @@ void sub_80EC67C() asm("\ push {r4, r5, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._345\n\ + ldr r1, ._345 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -1702,7 +1702,7 @@ void sub_80EC67C() b ._386\n\ ._343:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._345 + 4\n\ + ldr r1, ._345 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -1744,7 +1744,7 @@ void sub_80EC67C() ._358:\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._364\n\ + ldr r0, ._364 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -1758,7 +1758,7 @@ void sub_80EC67C() ._359:\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._367\n\ + ldr r0, ._367 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r0, r2\n\ @@ -1770,7 +1770,7 @@ void sub_80EC67C() ._367:\n\ .word gSharedMem\n\ ._349:\n\ - ldr r1, ._371\n\ + ldr r1, ._371 @ 0x6e90\n\ add r0, r4, r1\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ @@ -1797,8 +1797,8 @@ void sub_80EC67C() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._386 @cond_branch\n\ - ldr r5, ._378\n\ - ldr r1, ._378 + 4\n\ + ldr r5, ._378 @ gSharedMem\n\ + ldr r1, ._378 + 4 @ 0x6e90\n\ add r0, r5, r1\n\ ldrb r4, [r0]\n\ cmp r4, #0\n\ @@ -1827,7 +1827,7 @@ void sub_80EC67C() cmp r4, #0\n\ bne ._386 @cond_branch\n\ bl sub_80EFBB0\n\ - ldr r0, ._383\n\ + ldr r0, ._383 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -1858,7 +1858,7 @@ void sub_80EC67C() strh r0, [r1]\n\ b ._386\n\ ._353:\n\ - ldr r0, ._389\n\ + ldr r0, ._389 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -1867,10 +1867,10 @@ void sub_80EC67C() bl sub_80F2DF4\n\ mov r0, #0x4\n\ bl sub_80F2D04\n\ - ldr r3, ._389 + 4\n\ + ldr r3, ._389 + 4 @ gSaveBlock2\n\ mov r2, #0x0\n\ - ldr r0, ._389 + 8\n\ - ldr r1, ._389 + 12\n\ + ldr r0, ._389 + 8 @ gSharedMem\n\ + ldr r1, ._389 + 12 @ 0x6e90\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ @@ -1884,15 +1884,15 @@ void sub_80EC67C() and r0, r0, r1\n\ orr r0, r0, r2\n\ strb r0, [r3, #0x15]\n\ - ldr r0, ._389 + 16\n\ + ldr r0, ._389 + 16 @ sub_80EC00C\n\ bl sub_80EBDBC\n\ ._386:\n\ - ldr r0, ._389 + 20\n\ + ldr r0, ._389 + 20 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._388 @cond_branch\n\ - ldr r0, ._389 + 24\n\ - ldr r2, ._389 + 28\n\ + ldr r0, ._389 + 24 @ gLink\n\ + ldr r2, ._389 + 28 @ 0xfbd\n\ add r0, r0, r2\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ @@ -2092,7 +2092,7 @@ void sub_80ECA10() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._456\n\ + ldr r1, ._456 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -2103,7 +2103,7 @@ void sub_80ECA10() b ._509\n\ ._454:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._456 + 4\n\ + ldr r1, ._456 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -2134,17 +2134,17 @@ void sub_80ECA10() beq ._473 @cond_branch\n\ b ._509\n\ ._473:\n\ - ldr r0, ._476\n\ + ldr r0, ._476 @ sub_80EBD80\n\ bl SetVBlankCallback\n\ bl sub_80EED1C\n\ - ldr r4, ._476 + 4\n\ - ldr r1, ._476 + 8\n\ + ldr r4, ._476 + 4 @ gSharedMem\n\ + ldr r1, ._476 + 8 @ 0x6df0\n\ add r0, r4, r1\n\ ldrb r1, [r0]\n\ - ldr r2, ._476 + 12\n\ + ldr r2, ._476 + 12 @ 0x6dad\n\ add r0, r4, r2\n\ strb r1, [r0]\n\ - ldr r0, ._476 + 16\n\ + ldr r0, ._476 + 16 @ 0x6dae\n\ add r1, r4, r0\n\ mov r0, #0x3\n\ strb r0, [r1]\n\ @@ -2167,7 +2167,7 @@ void sub_80ECA10() ._460:\n\ mov r0, #0x1\n\ bl sub_80EF248\n\ - ldr r1, ._481\n\ + ldr r1, ._481 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2182,7 +2182,7 @@ void sub_80ECA10() beq ._478 @cond_branch\n\ b ._509\n\ ._478:\n\ - ldr r1, ._481\n\ + ldr r1, ._481 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -2194,7 +2194,7 @@ void sub_80ECA10() ._462:\n\ mov r0, #0x1\n\ bl sub_80F1B8C\n\ - ldr r1, ._486\n\ + ldr r1, ._486 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2209,7 +2209,7 @@ void sub_80ECA10() beq ._483 @cond_branch\n\ b ._509\n\ ._483:\n\ - ldr r1, ._486\n\ + ldr r1, ._486 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -2235,7 +2235,7 @@ void sub_80ECA10() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._491\n\ + ldr r0, ._491 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ @@ -2248,7 +2248,7 @@ void sub_80ECA10() ._466:\n\ mov r0, #0x0\n\ bl sub_80EED2C\n\ - ldr r1, ._494\n\ + ldr r1, ._494 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -2261,7 +2261,7 @@ void sub_80ECA10() bl sub_80F2598\n\ b ._496\n\ ._468:\n\ - ldr r0, ._499\n\ + ldr r0, ._499 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -2278,7 +2278,7 @@ void sub_80ECA10() ._469:\n\ mov r0, #0x1\n\ bl sub_80F2C80\n\ - ldr r1, ._503\n\ + ldr r1, ._503 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2291,7 +2291,7 @@ void sub_80ECA10() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._509 @cond_branch\n\ - ldr r1, ._503\n\ + ldr r1, ._503 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -2303,7 +2303,7 @@ void sub_80ECA10() ._471:\n\ bl sub_80F1DF0\n\ ._496:\n\ - ldr r1, ._506\n\ + ldr r1, ._506 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2321,20 +2321,20 @@ void sub_80ECA10() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._509 @cond_branch\n\ - ldr r0, ._510\n\ - ldr r1, ._510 + 4\n\ + ldr r0, ._510 @ gSharedMem\n\ + ldr r1, ._510 + 4 @ 0x6dad\n\ add r0, r0, r1\n\ ldrb r1, [r0]\n\ mov r0, #0x1\n\ bl sub_80EF428\n\ - ldr r0, ._510 + 8\n\ + ldr r0, ._510 + 8 @ sub_80EC86C\n\ bl sub_80EBDBC\n\ - ldr r0, ._510 + 12\n\ + ldr r0, ._510 + 12 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._509 @cond_branch\n\ - ldr r0, ._510 + 16\n\ - ldr r2, ._510 + 20\n\ + ldr r0, ._510 + 16 @ 0x6007de0\n\ + ldr r2, ._510 + 20 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -2488,7 +2488,7 @@ void sub_80ECD80() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._564\n\ + ldr r1, ._564 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -2499,7 +2499,7 @@ void sub_80ECD80() b ._642\n\ ._562:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._564 + 4\n\ + ldr r1, ._564 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -2546,7 +2546,7 @@ void sub_80ECD80() add r1, r4, r0\n\ b ._630\n\ ._568:\n\ - ldr r0, ._592\n\ + ldr r0, ._592 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -2569,7 +2569,7 @@ void sub_80ECD80() beq ._594 @cond_branch\n\ b ._642\n\ ._594:\n\ - ldr r0, ._597\n\ + ldr r0, ._597 @ sub_80EBD80\n\ bl SetVBlankCallback\n\ b ._625\n\ ._598:\n\ @@ -2579,7 +2579,7 @@ void sub_80ECD80() ._570:\n\ bl sub_80EED1C\n\ bl sub_80F3130\n\ - ldr r1, ._600\n\ + ldr r1, ._600 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -2591,7 +2591,7 @@ void sub_80ECD80() ._571:\n\ mov r0, #0x1\n\ bl sub_80F2D6C\n\ - ldr r1, ._603\n\ + ldr r1, ._603 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2605,13 +2605,13 @@ void sub_80ECD80() bl sub_80F2D6C\n\ b ._625\n\ ._573:\n\ - ldr r1, ._607\n\ + ldr r1, ._607 @ 0x6dfc\n\ add r0, r4, r1\n\ ldrb r1, [r0]\n\ - ldr r2, ._607 + 4\n\ + ldr r2, ._607 + 4 @ 0x6dad\n\ add r0, r4, r2\n\ strb r1, [r0]\n\ - ldr r3, ._607 + 8\n\ + ldr r3, ._607 + 8 @ 0x6dae\n\ add r1, r4, r3\n\ mov r0, #0x6\n\ strb r0, [r1]\n\ @@ -2629,7 +2629,7 @@ void sub_80ECD80() ._574:\n\ mov r0, #0x2\n\ bl sub_80EF248\n\ - ldr r1, ._612\n\ + ldr r1, ._612 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2652,7 +2652,7 @@ void sub_80ECD80() ._576:\n\ mov r0, #0x2\n\ bl sub_80F1B8C\n\ - ldr r1, ._617\n\ + ldr r1, ._617 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -2667,7 +2667,7 @@ void sub_80ECD80() beq ._614 @cond_branch\n\ b ._642\n\ ._614:\n\ - ldr r1, ._617\n\ + ldr r1, ._617 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2695,7 +2695,7 @@ void sub_80ECD80() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._623\n\ + ldr r0, ._623 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ @@ -2711,7 +2711,7 @@ void sub_80ECD80() b ._625\n\ ._581:\n\ bl sub_80F2598\n\ - ldr r1, ._627\n\ + ldr r1, ._627 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -2721,7 +2721,7 @@ void sub_80ECD80() ._627:\n\ .word gSharedMem\n\ ._582:\n\ - ldr r0, ._631\n\ + ldr r0, ._631 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -2738,7 +2738,7 @@ void sub_80ECD80() ._583:\n\ mov r0, #0x1\n\ bl sub_80F2C80\n\ - ldr r1, ._635\n\ + ldr r1, ._635 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -2752,8 +2752,8 @@ void sub_80ECD80() lsr r2, r0, #0x18\n\ cmp r2, #0\n\ bne ._642 @cond_branch\n\ - ldr r0, ._635\n\ - ldr r3, ._635 + 4\n\ + ldr r0, ._635 @ gSharedMem\n\ + ldr r3, ._635 + 4 @ 0x306\n\ add r1, r0, r3\n\ strh r2, [r1]\n\ mov r1, #0xc1\n\ @@ -2771,7 +2771,7 @@ void sub_80ECD80() ._585:\n\ mov r0, #0x5\n\ bl sub_80F2C80\n\ - ldr r1, ._639\n\ + ldr r1, ._639 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -2786,7 +2786,7 @@ void sub_80ECD80() bne ._642 @cond_branch\n\ bl sub_80F1DF0\n\ ._625:\n\ - ldr r1, ._639\n\ + ldr r1, ._639 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -2804,20 +2804,20 @@ void sub_80ECD80() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._642 @cond_branch\n\ - ldr r0, ._643\n\ - ldr r1, ._643 + 4\n\ + ldr r0, ._643 @ gSharedMem\n\ + ldr r1, ._643 + 4 @ 0x6dad\n\ add r0, r0, r1\n\ ldrb r1, [r0]\n\ mov r0, #0x2\n\ bl sub_80EF428\n\ - ldr r0, ._643 + 8\n\ + ldr r0, ._643 + 8 @ sub_80ECC08\n\ bl sub_80EBDBC\n\ - ldr r0, ._643 + 12\n\ + ldr r0, ._643 + 12 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._642 @cond_branch\n\ - ldr r0, ._643 + 16\n\ - ldr r2, ._643 + 20\n\ + ldr r0, ._643 + 16 @ 0x6007de0\n\ + ldr r2, ._643 + 20 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -2952,7 +2952,7 @@ void sub_80ED01C() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._647\n\ + ldr r1, ._647 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -2963,7 +2963,7 @@ void sub_80ED01C() b ._736\n\ ._645:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._647 + 4\n\ + ldr r1, ._647 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -2999,7 +2999,7 @@ void sub_80ED01C() bl sub_80F2D04\n\ mov r0, #0x5\n\ bl sub_80F2D04\n\ - ldr r1, ._671\n\ + ldr r1, ._671 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -3017,7 +3017,7 @@ void sub_80ED01C() ._673:\n\ mov r0, #0x0\n\ bl sub_80EEFBC\n\ - ldr r1, ._676\n\ + ldr r1, ._676 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3034,7 +3034,7 @@ void sub_80ED01C() beq ._678 @cond_branch\n\ b ._736\n\ ._678:\n\ - ldr r4, ._681\n\ + ldr r4, ._681 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -3054,7 +3054,7 @@ void sub_80ED01C() ._681:\n\ .word gSharedMem\n\ ._653:\n\ - ldr r0, ._686\n\ + ldr r0, ._686 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -3066,7 +3066,7 @@ void sub_80ED01C() bl SetVBlankCallback\n\ bl sub_80EED0C\n\ bl sub_80EF814\n\ - ldr r1, ._686 + 4\n\ + ldr r1, ._686 + 4 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -3078,7 +3078,7 @@ void sub_80ED01C() .word gSharedMem\n\ ._654:\n\ bl sub_80F2620\n\ - ldr r1, ._689\n\ + ldr r1, ._689 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3089,7 +3089,7 @@ void sub_80ED01C() .word gSharedMem\n\ ._655:\n\ bl sub_80F4D44\n\ - ldr r1, ._693\n\ + ldr r1, ._693 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -3101,7 +3101,7 @@ void sub_80ED01C() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._691 @cond_branch\n\ - ldr r1, ._693\n\ + ldr r1, ._693 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -3114,7 +3114,7 @@ void sub_80ED01C() ._693:\n\ .word gSharedMem\n\ ._691:\n\ - ldr r1, ._696\n\ + ldr r1, ._696 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3129,7 +3129,7 @@ void sub_80ED01C() beq ._698 @cond_branch\n\ b ._736\n\ ._698:\n\ - ldr r1, ._701\n\ + ldr r1, ._701 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -3147,7 +3147,7 @@ void sub_80ED01C() beq ._703 @cond_branch\n\ b ._736\n\ ._703:\n\ - ldr r1, ._706\n\ + ldr r1, ._706 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -3159,7 +3159,7 @@ void sub_80ED01C() ._659:\n\ mov r0, #0x0\n\ bl sub_80F0264\n\ - ldr r1, ._711\n\ + ldr r1, ._711 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3173,7 +3173,7 @@ void sub_80ED01C() beq ._708 @cond_branch\n\ b ._736\n\ ._708:\n\ - ldr r1, ._711\n\ + ldr r1, ._711 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -3185,7 +3185,7 @@ void sub_80ED01C() ._661:\n\ mov r0, #0x0\n\ bl sub_80F3008\n\ - ldr r1, ._714\n\ + ldr r1, ._714 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -3200,7 +3200,7 @@ void sub_80ED01C() beq ._716 @cond_branch\n\ b ._736\n\ ._716:\n\ - ldr r1, ._719\n\ + ldr r1, ._719 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3221,7 +3221,7 @@ void sub_80ED01C() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._722\n\ + ldr r0, ._722 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ @@ -3234,7 +3234,7 @@ void sub_80ED01C() ._664:\n\ mov r0, #0x4\n\ bl sub_80EED2C\n\ - ldr r1, ._725\n\ + ldr r1, ._725 @ gSharedMem\n\ mov r3, #0xc1\n\ lsl r3, r3, #0x2\n\ add r1, r1, r3\n\ @@ -3244,7 +3244,7 @@ void sub_80ED01C() ._725:\n\ .word gSharedMem\n\ ._665:\n\ - ldr r0, ._729\n\ + ldr r0, ._729 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -3252,7 +3252,7 @@ void sub_80ED01C() lsr r1, r0, #0x18\n\ cmp r1, #0\n\ bne ._736 @cond_branch\n\ - ldr r2, ._729 + 4\n\ + ldr r2, ._729 + 4 @ 0x306\n\ add r0, r4, r2\n\ strh r1, [r0]\n\ mov r3, #0xc1\n\ @@ -3271,7 +3271,7 @@ void sub_80ED01C() ._666:\n\ mov r0, #0x1\n\ bl sub_80F2C80\n\ - ldr r1, ._733\n\ + ldr r1, ._733 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3285,8 +3285,8 @@ void sub_80ED01C() lsr r2, r0, #0x18\n\ cmp r2, #0\n\ bne ._736 @cond_branch\n\ - ldr r0, ._733\n\ - ldr r3, ._733 + 4\n\ + ldr r0, ._733 @ gSharedMem\n\ + ldr r3, ._733 + 4 @ 0x306\n\ add r1, r0, r3\n\ strh r2, [r1]\n\ mov r1, #0xc1\n\ @@ -3302,8 +3302,8 @@ void sub_80ED01C() .word gSharedMem\n\ .word 0x306\n\ ._668:\n\ - ldr r4, ._737\n\ - ldr r2, ._737 + 4\n\ + ldr r4, ._737 @ gSharedMem\n\ + ldr r2, ._737 + 4 @ 0x6dfc\n\ add r0, r4, r2\n\ ldrb r0, [r0]\n\ add r0, r0, #0x7\n\ @@ -3317,8 +3317,8 @@ void sub_80ED01C() add r0, r0, #0x1\n\ strh r0, [r4]\n\ ._669:\n\ - ldr r0, ._737\n\ - ldr r1, ._737 + 4\n\ + ldr r0, ._737 @ gSharedMem\n\ + ldr r1, ._737 + 4 @ 0x6dfc\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ add r0, r0, #0x7\n\ @@ -3328,14 +3328,14 @@ void sub_80ED01C() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._736 @cond_branch\n\ - ldr r0, ._737 + 8\n\ + ldr r0, ._737 + 8 @ sub_80ED31C\n\ bl sub_80EBDBC\n\ - ldr r0, ._737 + 12\n\ + ldr r0, ._737 + 12 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._736 @cond_branch\n\ - ldr r0, ._737 + 16\n\ - ldr r2, ._737 + 20\n\ + ldr r0, ._737 + 16 @ 0x6007de0\n\ + ldr r2, ._737 + 20 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -3472,7 +3472,7 @@ void sub_80ED31C() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._743\n\ + ldr r0, ._743 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r4, r0, r1\n\ @@ -3500,7 +3500,7 @@ void sub_80ED31C() beq ._747 @cond_branch\n\ cmp r0, #0x2\n\ beq ._748 @cond_branch\n\ - ldr r0, ._751\n\ + ldr r0, ._751 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -3508,7 +3508,7 @@ void sub_80ED31C() beq ._749 @cond_branch\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._751 + 4\n\ + ldr r0, ._751 + 4 @ sub_80ED4D8\n\ bl sub_80EBDBC\n\ b ._762\n\ ._752:\n\ @@ -3535,7 +3535,7 @@ void sub_80ED31C() beq ._761 @cond_branch\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._757\n\ + ldr r0, ._757 @ sub_80ECD80\n\ bl sub_80EBDBC\n\ b ._762\n\ ._758:\n\ @@ -3559,12 +3559,12 @@ void sub_80ED31C() ._760:\n\ strh r0, [r4]\n\ ._761:\n\ - ldr r0, ._763\n\ + ldr r0, ._763 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._762 @cond_branch\n\ - ldr r0, ._763 + 4\n\ - ldr r1, ._763 + 8\n\ + ldr r0, ._763 + 4 @ gLink\n\ + ldr r1, ._763 + 8 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ @@ -3638,7 +3638,7 @@ void sub_80ED3D0() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._767\n\ + ldr r0, ._767 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -3648,7 +3648,7 @@ void sub_80ED3D0() b ._803\n\ ._765:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._767 + 4\n\ + ldr r1, ._767 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -3670,7 +3670,7 @@ void sub_80ED3D0() ._770:\n\ mov r0, #0x0\n\ bl SetVBlankCallback\n\ - ldr r1, ._780\n\ + ldr r1, ._780 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3682,7 +3682,7 @@ void sub_80ED3D0() ._771:\n\ bl sub_80EED0C\n\ bl sub_80F6134\n\ - ldr r1, ._783\n\ + ldr r1, ._783 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3694,7 +3694,7 @@ void sub_80ED3D0() ._772:\n\ mov r0, #0x0\n\ bl sub_80EEFBC\n\ - ldr r1, ._786\n\ + ldr r1, ._786 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3706,7 +3706,7 @@ void sub_80ED3D0() ._773:\n\ mov r0, #0x0\n\ bl sub_80F0264\n\ - ldr r1, ._790\n\ + ldr r1, ._790 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3718,7 +3718,7 @@ void sub_80ED3D0() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._803 @cond_branch\n\ - ldr r1, ._790\n\ + ldr r1, ._790 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3731,7 +3731,7 @@ void sub_80ED3D0() bl sub_8055870\n\ cmp r0, #0\n\ bne ._803 @cond_branch\n\ - ldr r1, ._794\n\ + ldr r1, ._794 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3743,7 +3743,7 @@ void sub_80ED3D0() ._776:\n\ mov r0, #0x0\n\ bl sub_80F3008\n\ - ldr r4, ._797\n\ + ldr r4, ._797 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -3755,7 +3755,7 @@ void sub_80ED3D0() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._797 + 4\n\ + ldr r0, ._797 + 4 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ @@ -3773,19 +3773,19 @@ void sub_80ED3D0() ._777:\n\ mov r0, #0x4\n\ bl sub_80EED2C\n\ - ldr r1, ._801\n\ + ldr r1, ._801 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ ldrh r0, [r1]\n\ add r0, r0, #0x1\n\ strh r0, [r1]\n\ - ldr r0, ._801 + 4\n\ + ldr r0, ._801 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._803 @cond_branch\n\ - ldr r0, ._801 + 8\n\ - ldr r2, ._801 + 12\n\ + ldr r0, ._801 + 8 @ 0x6007de0\n\ + ldr r2, ._801 + 12 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -3798,13 +3798,13 @@ void sub_80ED3D0() .word 0x6007de0\n\ .word 0x600f800\n\ ._778:\n\ - ldr r0, ._804\n\ + ldr r0, ._804 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ cmp r0, #0\n\ bne ._803 @cond_branch\n\ - ldr r0, ._804 + 4\n\ + ldr r0, ._804 + 4 @ sub_80ED31C\n\ bl sub_80EBDBC\n\ ._803:\n\ add sp, sp, #0x4\n\ @@ -3872,7 +3872,7 @@ void sub_80ED4D8() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._808\n\ + ldr r1, ._808 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -3883,7 +3883,7 @@ void sub_80ED4D8() b ._844\n\ ._806:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._808 + 4\n\ + ldr r1, ._808 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -3915,7 +3915,7 @@ void sub_80ED4D8() bl BeginNormalPaletteFade\n\ b ._820\n\ ._812:\n\ - ldr r0, ._824\n\ + ldr r0, ._824 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -3927,7 +3927,7 @@ void sub_80ED4D8() bl SetVBlankCallback\n\ bl sub_80EED0C\n\ bl sub_80F3130\n\ - ldr r1, ._824 + 4\n\ + ldr r1, ._824 + 4 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3941,7 +3941,7 @@ void sub_80ED4D8() bl sub_8055870\n\ cmp r0, #0\n\ bne ._844 @cond_branch\n\ - ldr r1, ._828\n\ + ldr r1, ._828 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -3952,7 +3952,7 @@ void sub_80ED4D8() .word gSharedMem\n\ ._814:\n\ bl sub_80F4CF0\n\ - ldr r1, ._831\n\ + ldr r1, ._831 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3963,7 +3963,7 @@ void sub_80ED4D8() .word gSharedMem\n\ ._815:\n\ bl sub_80EFF34\n\ - ldr r1, ._835\n\ + ldr r1, ._835 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -3975,7 +3975,7 @@ void sub_80ED4D8() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._844 @cond_branch\n\ - ldr r1, ._835\n\ + ldr r1, ._835 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -3988,7 +3988,7 @@ void sub_80ED4D8() bl sub_80F35B4\n\ mov r0, #0x2\n\ bl sub_80EEFBC\n\ - ldr r4, ._838\n\ + ldr r4, ._838 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -4000,7 +4000,7 @@ void sub_80ED4D8() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._838 + 4\n\ + ldr r0, ._838 + 4 @ sub_80EBD4C\n\ bl SetVBlankCallback\n\ ._820:\n\ mov r2, #0xc1\n\ @@ -4019,19 +4019,19 @@ void sub_80ED4D8() ._818:\n\ mov r0, #0x2\n\ bl sub_80EED2C\n\ - ldr r1, ._842\n\ + ldr r1, ._842 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ ldrh r0, [r1]\n\ add r0, r0, #0x1\n\ strh r0, [r1]\n\ - ldr r0, ._842 + 4\n\ + ldr r0, ._842 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._844 @cond_branch\n\ - ldr r0, ._842 + 8\n\ - ldr r2, ._842 + 12\n\ + ldr r0, ._842 + 8 @ 0x6007de0\n\ + ldr r2, ._842 + 12 @ 0x600f000\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -4044,13 +4044,13 @@ void sub_80ED4D8() .word 0x6007de0\n\ .word 0x600f000\n\ ._819:\n\ - ldr r0, ._845\n\ + ldr r0, ._845 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ cmp r0, #0\n\ bne ._844 @cond_branch\n\ - ldr r0, ._845 + 4\n\ + ldr r0, ._845 + 4 @ sub_80ED858\n\ bl sub_80EBDBC\n\ ._844:\n\ add sp, sp, #0x4\n\ @@ -4123,7 +4123,7 @@ void sub_80ED620() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._849\n\ + ldr r1, ._849 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -4134,7 +4134,7 @@ void sub_80ED620() b ._912\n\ ._847:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._849 + 4\n\ + ldr r1, ._849 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -4165,7 +4165,7 @@ void sub_80ED620() bl sub_80F1E84\n\ mov r0, #0x1\n\ bl sub_80F2D04\n\ - ldr r1, ._870\n\ + ldr r1, ._870 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -4192,7 +4192,7 @@ void sub_80ED620() beq ._875 @cond_branch\n\ b ._912\n\ ._875:\n\ - ldr r4, ._878\n\ + ldr r4, ._878 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -4212,7 +4212,7 @@ void sub_80ED620() ._878:\n\ .word gSharedMem\n\ ._855:\n\ - ldr r0, ._883\n\ + ldr r0, ._883 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -4226,8 +4226,8 @@ void sub_80ED620() bl SetVBlankCallback\n\ bl sub_80EED0C\n\ bl sub_80EF814\n\ - ldr r0, ._883 + 4\n\ - ldr r2, ._883 + 8\n\ + ldr r0, ._883 + 4 @ gSharedMem\n\ + ldr r2, ._883 + 8 @ 0x76aa\n\ add r1, r0, r2\n\ strb r4, [r1]\n\ mov r1, #0xc1\n\ @@ -4247,7 +4247,7 @@ void sub_80ED620() bl sub_80F2620\n\ b ._885\n\ ._857:\n\ - ldr r0, ._887\n\ + ldr r0, ._887 @ 0xd162\n\ add r1, r4, r0\n\ mov r0, #0x2\n\ strb r0, [r1]\n\ @@ -4262,7 +4262,7 @@ void sub_80ED620() .word 0xd162\n\ ._858:\n\ bl sub_80EFF34\n\ - ldr r1, ._890\n\ + ldr r1, ._890 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -4280,7 +4280,7 @@ void sub_80ED620() bl sub_8055870\n\ cmp r0, #0\n\ bne ._912 @cond_branch\n\ - ldr r1, ._894\n\ + ldr r1, ._894 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -4294,7 +4294,7 @@ void sub_80ED620() b ._896\n\ ._862:\n\ bl sub_80F33A8\n\ - ldr r4, ._898\n\ + ldr r4, ._898 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -4306,7 +4306,7 @@ void sub_80ED620() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._898 + 4\n\ + ldr r0, ._898 + 4 @ sub_80EBD4C\n\ bl SetVBlankCallback\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ @@ -4320,7 +4320,7 @@ void sub_80ED620() ._863:\n\ mov r0, #0x2\n\ bl sub_80EED2C\n\ - ldr r1, ._901\n\ + ldr r1, ._901 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -4330,7 +4330,7 @@ void sub_80ED620() ._901:\n\ .word gSharedMem\n\ ._864:\n\ - ldr r0, ._905\n\ + ldr r0, ._905 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -4347,7 +4347,7 @@ void sub_80ED620() ._865:\n\ mov r0, #0x1\n\ bl sub_80F2C80\n\ - ldr r1, ._909\n\ + ldr r1, ._909 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -4363,7 +4363,7 @@ void sub_80ED620() cmp r0, #0\n\ bne ._912 @cond_branch\n\ ._885:\n\ - ldr r1, ._909\n\ + ldr r1, ._909 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -4379,7 +4379,7 @@ void sub_80ED620() ._867:\n\ mov r0, #0x6\n\ bl sub_80F2C80\n\ - ldr r1, ._913\n\ + ldr r1, ._913 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -4392,14 +4392,14 @@ void sub_80ED620() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._912 @cond_branch\n\ - ldr r0, ._913 + 4\n\ + ldr r0, ._913 + 4 @ sub_80ED858\n\ bl sub_80EBDBC\n\ - ldr r0, ._913 + 8\n\ + ldr r0, ._913 + 8 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._912 @cond_branch\n\ - ldr r0, ._913 + 12\n\ - ldr r2, ._913 + 16\n\ + ldr r0, ._913 + 12 @ 0x6007de0\n\ + ldr r2, ._913 + 16 @ 0x600f000\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -4684,7 +4684,7 @@ void sub_80ED858() asm("\ push {r4, r5, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._917\n\ + ldr r1, ._917 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -4695,7 +4695,7 @@ void sub_80ED858() b ._999\n\ ._915:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._917 + 4\n\ + ldr r1, ._917 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -4720,7 +4720,7 @@ void sub_80ED858() ._920:\n\ bl sub_80F4F78\n\ bl sub_80F5B38\n\ - ldr r0, ._933\n\ + ldr r0, ._933 @ gSharedMem\n\ mov r4, #0xc1\n\ lsl r4, r4, #0x2\n\ add r0, r0, r4\n\ @@ -4738,7 +4738,7 @@ void sub_80ED858() beq ._935 @cond_branch\n\ b ._999\n\ ._935:\n\ - ldr r0, ._938\n\ + ldr r0, ._938 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -4752,7 +4752,7 @@ void sub_80ED858() ._922:\n\ mov r0, #0x1\n\ bl sub_80F0174\n\ - ldr r0, ._941\n\ + ldr r0, ._941 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r0, r2\n\ @@ -4774,24 +4774,24 @@ void sub_80ED858() bl sub_80F3D00\n\ b ._945\n\ ._924:\n\ - ldr r2, ._951\n\ + ldr r2, ._951 @ gMain\n\ ldrh r1, [r2, #0x2c]\n\ mov r0, #0x40\n\ and r0, r0, r1\n\ add r3, r2, #0\n\ cmp r0, #0\n\ beq ._949 @cond_branch\n\ - ldr r1, ._951 + 4\n\ + ldr r1, ._951 + 4 @ 0x87cb\n\ add r0, r5, r1\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._949 @cond_branch\n\ - ldr r2, ._951 + 8\n\ + ldr r2, ._951 + 8 @ 0x76aa\n\ add r0, r5, r2\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._948 @cond_branch\n\ - ldr r4, ._951 + 12\n\ + ldr r4, ._951 + 12 @ 0x87dc\n\ add r0, r5, r4\n\ mov r1, #0x0\n\ ldsh r0, [r0, r1]\n\ @@ -4820,17 +4820,17 @@ void sub_80ED858() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._956 @cond_branch\n\ - ldr r4, ._958\n\ + ldr r4, ._958 @ 0x87cb\n\ add r0, r5, r4\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._956 @cond_branch\n\ - ldr r1, ._958 + 4\n\ + ldr r1, ._958 + 4 @ 0x76aa\n\ add r0, r5, r1\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._955 @cond_branch\n\ - ldr r2, ._958 + 8\n\ + ldr r2, ._958 + 8 @ 0x87dc\n\ add r0, r5, r2\n\ sub r4, r4, #0x57\n\ add r1, r5, r4\n\ @@ -4869,7 +4869,7 @@ void sub_80ED858() bl PlaySE\n\ bl sub_80F4FDC\n\ bl move_anim_execute\n\ - ldr r0, ._962\n\ + ldr r0, ._962 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -4888,16 +4888,16 @@ void sub_80ED858() b ._999\n\ ._964:\n\ add r4, r5, #0\n\ - ldr r2, ._970\n\ + ldr r2, ._970 @ 0x76aa\n\ add r0, r4, r2\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ bne ._966 @cond_branch\n\ - ldr r1, ._970 + 4\n\ + ldr r1, ._970 + 4 @ 0x87dc\n\ add r0, r4, r1\n\ mov r2, #0x0\n\ ldsh r1, [r0, r2]\n\ - ldr r2, ._970 + 8\n\ + ldr r2, ._970 + 8 @ 0x87da\n\ add r0, r4, r2\n\ mov r2, #0x0\n\ ldsh r0, [r0, r2]\n\ @@ -4921,7 +4921,7 @@ void sub_80ED858() .word 0x87dc\n\ .word 0x87da\n\ ._966:\n\ - ldr r1, ._975\n\ + ldr r1, ._975 @ 0x6dac\n\ add r0, r5, r1\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ @@ -4948,7 +4948,7 @@ void sub_80ED858() b ._999\n\ ._977:\n\ bl sub_80F3D00\n\ - ldr r0, ._980\n\ + ldr r0, ._980 @ gSharedMem\n\ mov r4, #0xc1\n\ lsl r4, r4, #0x2\n\ add r0, r0, r4\n\ @@ -4963,7 +4963,7 @@ void sub_80ED858() bl sub_8055870\n\ cmp r0, #0\n\ bne ._999 @cond_branch\n\ - ldr r0, ._984\n\ + ldr r0, ._984 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -4976,7 +4976,7 @@ void sub_80ED858() mov r0, #0x3\n\ bl sub_80EEFBC\n\ bl sub_80F3668\n\ - ldr r0, ._987\n\ + ldr r0, ._987 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r0, r2\n\ @@ -4996,7 +4996,7 @@ void sub_80ED858() bl sub_80EEFBC\n\ bl sub_80F3698\n\ ._945:\n\ - ldr r0, ._991\n\ + ldr r0, ._991 @ gSharedMem\n\ mov r4, #0xc1\n\ lsl r4, r4, #0x2\n\ add r0, r0, r4\n\ @@ -5017,7 +5017,7 @@ void sub_80ED858() mov r0, #0x0\n\ bl sub_80F0174\n\ bl sub_80F2F48\n\ - ldr r5, ._995\n\ + ldr r5, ._995 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r5, r1\n\ @@ -5039,7 +5039,7 @@ void sub_80ED858() ._995:\n\ .word gSharedMem\n\ ._931:\n\ - ldr r0, ._1000\n\ + ldr r0, ._1000 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -5047,8 +5047,8 @@ void sub_80ED858() bne ._999 @cond_branch\n\ bl sub_80F3CE8\n\ bl sub_80F5BDC\n\ - ldr r0, ._1000 + 4\n\ - ldr r4, ._1000 + 8\n\ + ldr r0, ._1000 + 4 @ gSharedMem\n\ + ldr r4, ._1000 + 8 @ 0x76aa\n\ add r0, r0, r4\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ @@ -5058,7 +5058,7 @@ void sub_80ED858() bl sub_80F2D6C\n\ mov r0, #0x6\n\ bl sub_80F2D6C\n\ - ldr r0, ._1000 + 12\n\ + ldr r0, ._1000 + 12 @ sub_80ECA10\n\ bl sub_80EBDBC\n\ b ._999\n\ ._1001:\n\ @@ -5070,15 +5070,15 @@ void sub_80ED858() .word sub_80ECA10+1\n\ ._998:\n\ bl sub_80F3614\n\ - ldr r0, ._1003\n\ + ldr r0, ._1003 @ sub_80ED3D0\n\ bl sub_80EBDBC\n\ ._999:\n\ - ldr r0, ._1003 + 4\n\ + ldr r0, ._1003 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1002 @cond_branch\n\ - ldr r0, ._1003 + 8\n\ - ldr r1, ._1003 + 12\n\ + ldr r0, ._1003 + 8 @ gLink\n\ + ldr r1, ._1003 + 12 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ @@ -5483,7 +5483,7 @@ void sub_80EDB88() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._1007\n\ + ldr r1, ._1007 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -5494,7 +5494,7 @@ void sub_80EDB88() b ._1088\n\ ._1005:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._1007 + 4\n\ + ldr r1, ._1007 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -5526,7 +5526,7 @@ void sub_80EDB88() bl sub_80F1E84\n\ mov r0, #0x0\n\ bl sub_80F2D04\n\ - ldr r1, ._1029\n\ + ldr r1, ._1029 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5544,7 +5544,7 @@ void sub_80EDB88() ._1031:\n\ mov r0, #0x4\n\ bl sub_80EEFBC\n\ - ldr r1, ._1034\n\ + ldr r1, ._1034 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -5561,7 +5561,7 @@ void sub_80EDB88() beq ._1036 @cond_branch\n\ b ._1088\n\ ._1036:\n\ - ldr r4, ._1039\n\ + ldr r4, ._1039 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -5578,7 +5578,7 @@ void sub_80EDB88() ._1039:\n\ .word gSharedMem\n\ ._1013:\n\ - ldr r0, ._1044\n\ + ldr r0, ._1044 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -5590,7 +5590,7 @@ void sub_80EDB88() bl SetVBlankCallback\n\ bl sub_80EED0C\n\ bl sub_80EF814\n\ - ldr r1, ._1044 + 4\n\ + ldr r1, ._1044 + 4 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5602,7 +5602,7 @@ void sub_80EDB88() .word gSharedMem\n\ ._1014:\n\ bl sub_80F2620\n\ - ldr r1, ._1047\n\ + ldr r1, ._1047 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -5613,7 +5613,7 @@ void sub_80EDB88() .word gSharedMem\n\ ._1015:\n\ bl sub_80F638C\n\ - ldr r1, ._1051\n\ + ldr r1, ._1051 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5625,7 +5625,7 @@ void sub_80EDB88() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1049 @cond_branch\n\ - ldr r1, ._1051\n\ + ldr r1, ._1051 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -5638,7 +5638,7 @@ void sub_80EDB88() ._1051:\n\ .word gSharedMem\n\ ._1049:\n\ - ldr r1, ._1054\n\ + ldr r1, ._1054 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5653,7 +5653,7 @@ void sub_80EDB88() beq ._1056 @cond_branch\n\ b ._1088\n\ ._1056:\n\ - ldr r1, ._1059\n\ + ldr r1, ._1059 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -5671,7 +5671,7 @@ void sub_80EDB88() beq ._1061 @cond_branch\n\ b ._1088\n\ ._1061:\n\ - ldr r1, ._1064\n\ + ldr r1, ._1064 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5683,7 +5683,7 @@ void sub_80EDB88() ._1019:\n\ mov r0, #0x1\n\ bl sub_80F0264\n\ - ldr r1, ._1068\n\ + ldr r1, ._1068 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -5695,7 +5695,7 @@ void sub_80EDB88() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1088 @cond_branch\n\ - ldr r1, ._1068\n\ + ldr r1, ._1068 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5707,7 +5707,7 @@ void sub_80EDB88() ._1021:\n\ mov r0, #0x2\n\ bl sub_80F2C80\n\ - ldr r1, ._1072\n\ + ldr r1, ._1072 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -5720,7 +5720,7 @@ void sub_80EDB88() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1088 @cond_branch\n\ - ldr r1, ._1072\n\ + ldr r1, ._1072 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5732,7 +5732,7 @@ void sub_80EDB88() ._1023:\n\ mov r0, #0x1\n\ bl sub_80F3008\n\ - ldr r1, ._1075\n\ + ldr r1, ._1075 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -5745,7 +5745,7 @@ void sub_80EDB88() bl sub_8055870\n\ cmp r0, #0\n\ bne ._1088 @cond_branch\n\ - ldr r1, ._1079\n\ + ldr r1, ._1079 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -5766,7 +5766,7 @@ void sub_80EDB88() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._1082\n\ + ldr r0, ._1082 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ ._1038:\n\ mov r2, #0xc1\n\ @@ -5784,19 +5784,19 @@ void sub_80EDB88() ._1026:\n\ mov r0, #0x4\n\ bl sub_80EED2C\n\ - ldr r1, ._1086\n\ + ldr r1, ._1086 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ ldrh r0, [r1]\n\ add r0, r0, #0x1\n\ strh r0, [r1]\n\ - ldr r0, ._1086 + 4\n\ + ldr r0, ._1086 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1088 @cond_branch\n\ - ldr r0, ._1086 + 8\n\ - ldr r2, ._1086 + 12\n\ + ldr r0, ._1086 + 8 @ 0x6007de0\n\ + ldr r2, ._1086 + 12 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -5809,13 +5809,13 @@ void sub_80EDB88() .word 0x6007de0\n\ .word 0x600f800\n\ ._1027:\n\ - ldr r0, ._1089\n\ + ldr r0, ._1089 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ cmp r0, #0\n\ bne ._1088 @cond_branch\n\ - ldr r0, ._1089 + 4\n\ + ldr r0, ._1089 + 4 @ sub_80EDDBC\n\ bl sub_80EBDBC\n\ ._1088:\n\ add sp, sp, #0x4\n\ @@ -5928,7 +5928,7 @@ void sub_80EDDBC() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._1095\n\ + ldr r0, ._1095 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r4, r0, r1\n\ @@ -5956,7 +5956,7 @@ void sub_80EDDBC() beq ._1099 @cond_branch\n\ cmp r0, #0x2\n\ beq ._1100 @cond_branch\n\ - ldr r0, ._1103\n\ + ldr r0, ._1103 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -5964,7 +5964,7 @@ void sub_80EDDBC() beq ._1101 @cond_branch\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._1103 + 4\n\ + ldr r0, ._1103 + 4 @ sub_80EDEE4\n\ bl sub_80EBDBC\n\ b ._1114\n\ ._1104:\n\ @@ -5991,7 +5991,7 @@ void sub_80EDDBC() beq ._1113 @cond_branch\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._1109\n\ + ldr r0, ._1109 @ sub_80EDE70\n\ bl sub_80EBDBC\n\ b ._1114\n\ ._1110:\n\ @@ -6015,12 +6015,12 @@ void sub_80EDDBC() ._1112:\n\ strh r0, [r4]\n\ ._1113:\n\ - ldr r0, ._1115\n\ + ldr r0, ._1115 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1114 @cond_branch\n\ - ldr r0, ._1115 + 4\n\ - ldr r1, ._1115 + 8\n\ + ldr r0, ._1115 + 4 @ gLink\n\ + ldr r1, ._1115 + 8 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ @@ -6118,7 +6118,7 @@ void sub_80EDEE4() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._1134\n\ + ldr r1, ._1134 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -6129,7 +6129,7 @@ void sub_80EDEE4() b ._1180\n\ ._1132:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._1134 + 4\n\ + ldr r1, ._1134 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -6163,7 +6163,7 @@ void sub_80EDEE4() bl BeginNormalPaletteFade\n\ b ._1169\n\ ._1138:\n\ - ldr r0, ._1152\n\ + ldr r0, ._1152 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -6175,7 +6175,7 @@ void sub_80EDEE4() bl SetVBlankCallback\n\ bl sub_80EED0C\n\ bl sub_80F3130\n\ - ldr r1, ._1152 + 4\n\ + ldr r1, ._1152 + 4 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -6188,7 +6188,7 @@ void sub_80EDEE4() ._1139:\n\ bl sub_80F66E0\n\ bl sub_80EEE08\n\ - ldr r1, ._1155\n\ + ldr r1, ._1155 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -6202,7 +6202,7 @@ void sub_80EDEE4() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1180 @cond_branch\n\ - ldr r1, ._1159\n\ + ldr r1, ._1159 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -6215,7 +6215,7 @@ void sub_80EDEE4() mov r0, #0x5\n\ bl sub_80EEFBC\n\ bl sub_80F38B8\n\ - ldr r1, ._1163\n\ + ldr r1, ._1163 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -6227,7 +6227,7 @@ void sub_80EDEE4() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1180 @cond_branch\n\ - ldr r1, ._1163\n\ + ldr r1, ._1163 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -6240,7 +6240,7 @@ void sub_80EDEE4() bl sub_8055870\n\ cmp r0, #0\n\ bne ._1180 @cond_branch\n\ - ldr r1, ._1167\n\ + ldr r1, ._1167 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -6261,7 +6261,7 @@ void sub_80EDEE4() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._1170\n\ + ldr r0, ._1170 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ b ._1169\n\ ._1171:\n\ @@ -6271,19 +6271,19 @@ void sub_80EDEE4() ._1145:\n\ mov r0, #0x3\n\ bl sub_80EED2C\n\ - ldr r1, ._1174\n\ + ldr r1, ._1174 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ ldrh r0, [r1]\n\ add r0, r0, #0x1\n\ strh r0, [r1]\n\ - ldr r0, ._1174 + 4\n\ + ldr r0, ._1174 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1180 @cond_branch\n\ - ldr r0, ._1174 + 8\n\ - ldr r2, ._1174 + 12\n\ + ldr r0, ._1174 + 8 @ 0x6007de0\n\ + ldr r2, ._1174 + 12 @ 0x600f000\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -6296,7 +6296,7 @@ void sub_80EDEE4() .word 0x6007de0\n\ .word 0x600f000\n\ ._1146:\n\ - ldr r0, ._1178\n\ + ldr r0, ._1178 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -6320,7 +6320,7 @@ void sub_80EDEE4() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1180 @cond_branch\n\ - ldr r0, ._1181\n\ + ldr r0, ._1181 @ sub_80EE06C\n\ bl sub_80EBDBC\n\ ._1180:\n\ add sp, sp, #0x4\n\ @@ -6399,7 +6399,7 @@ void sub_80EE06C() asm("\ push {r4, r5, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._1185\n\ + ldr r1, ._1185 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -6410,7 +6410,7 @@ void sub_80EE06C() b ._1248\n\ ._1183:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._1185 + 4\n\ + ldr r1, ._1185 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -6431,7 +6431,7 @@ void sub_80EE06C() .word ._1196\n\ ._1188:\n\ bl sub_80F15A8\n\ - ldr r1, ._1198\n\ + ldr r1, ._1198 @ gSharedMem\n\ mov r5, #0xc1\n\ lsl r5, r5, #0x2\n\ add r1, r1, r5\n\ @@ -6441,14 +6441,14 @@ void sub_80EE06C() ._1198:\n\ .word gSharedMem\n\ ._1189:\n\ - ldr r2, ._1203\n\ + ldr r2, ._1203 @ gMain\n\ ldrh r1, [r2, #0x30]\n\ mov r0, #0x40\n\ and r0, r0, r1\n\ add r3, r2, #0\n\ cmp r0, #0\n\ beq ._1201 @cond_branch\n\ - ldr r1, ._1203 + 4\n\ + ldr r1, ._1203 + 4 @ 0x87dc\n\ add r0, r4, r1\n\ mov r2, #0x0\n\ ldsh r0, [r0, r2]\n\ @@ -6474,9 +6474,9 @@ void sub_80EE06C() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._1206 @cond_branch\n\ - ldr r1, ._1208\n\ + ldr r1, ._1208 @ 0x87dc\n\ add r0, r4, r1\n\ - ldr r2, ._1208 + 4\n\ + ldr r2, ._1208 + 4 @ 0x8774\n\ add r1, r4, r2\n\ mov r5, #0x0\n\ ldsh r2, [r0, r5]\n\ @@ -6507,7 +6507,7 @@ void sub_80EE06C() bl PlaySE\n\ mov r0, #0xb\n\ bl sub_80EEFBC\n\ - ldr r0, ._1212\n\ + ldr r0, ._1212 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -6525,7 +6525,7 @@ void sub_80EE06C() ._1214:\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._1217\n\ + ldr r0, ._1217 @ sub_80EE294\n\ bl sub_80EBDBC\n\ b ._1248\n\ ._1218:\n\ @@ -6539,7 +6539,7 @@ void sub_80EE06C() beq ._1219 @cond_branch\n\ b ._1248\n\ ._1219:\n\ - ldr r1, ._1222\n\ + ldr r1, ._1222 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -6553,7 +6553,7 @@ void sub_80EE06C() add r1, r0, #0\n\ cmp r1, #0\n\ bne ._1248 @cond_branch\n\ - ldr r0, ._1226\n\ + ldr r0, ._1226 @ gSharedMem\n\ mov r5, #0xc1\n\ lsl r5, r5, #0x2\n\ add r0, r0, r5\n\ @@ -6565,7 +6565,7 @@ void sub_80EE06C() .word gSharedMem\n\ ._1192:\n\ bl sub_80F3B00\n\ - ldr r1, ._1229\n\ + ldr r1, ._1229 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -6584,7 +6584,7 @@ void sub_80EE06C() cmp r0, #0\n\ bne ._1248 @cond_branch\n\ bl sub_80F1494\n\ - ldr r1, ._1233\n\ + ldr r1, ._1233 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -6608,7 +6608,7 @@ void sub_80EE06C() mov r0, #0x5\n\ bl PlaySE\n\ bl sub_80F3B94\n\ - ldr r0, ._1238\n\ + ldr r0, ._1238 @ gSharedMem\n\ mov r5, #0xc1\n\ lsl r5, r5, #0x2\n\ add r0, r0, r5\n\ @@ -6620,7 +6620,7 @@ void sub_80EE06C() ._1238:\n\ .word gSharedMem\n\ ._1236:\n\ - ldr r0, ._1242\n\ + ldr r0, ._1242 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x2\n\ and r0, r0, r1\n\ @@ -6629,7 +6629,7 @@ void sub_80EE06C() mov r0, #0x5\n\ bl PlaySE\n\ bl sub_80F3B94\n\ - ldr r0, ._1242 + 4\n\ + ldr r0, ._1242 + 4 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -6646,7 +6646,7 @@ void sub_80EE06C() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1248 @cond_branch\n\ - ldr r0, ._1246\n\ + ldr r0, ._1246 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r0, r2\n\ @@ -6666,18 +6666,18 @@ void sub_80EE06C() bne ._1248 @cond_branch\n\ mov r0, #0x5\n\ bl sub_80EEFBC\n\ - ldr r0, ._1250\n\ + ldr r0, ._1250 @ gSharedMem\n\ mov r5, #0xc1\n\ lsl r5, r5, #0x2\n\ add r0, r0, r5\n\ strh r4, [r0]\n\ ._1248:\n\ - ldr r0, ._1250 + 4\n\ + ldr r0, ._1250 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1249 @cond_branch\n\ - ldr r0, ._1250 + 8\n\ - ldr r1, ._1250 + 12\n\ + ldr r0, ._1250 + 8 @ gLink\n\ + ldr r1, ._1250 + 12 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ @@ -6794,7 +6794,7 @@ void sub_80EE294() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._1254\n\ + ldr r1, ._1254 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r0, r1, r2\n\ @@ -6805,7 +6805,7 @@ void sub_80EE294() b ._1288\n\ ._1252:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._1254 + 4\n\ + ldr r1, ._1254 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -6836,7 +6836,7 @@ void sub_80EE294() mov r3, #0x10\n\ b ._1266\n\ ._1258:\n\ - ldr r0, ._1270\n\ + ldr r0, ._1270 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -6849,7 +6849,7 @@ void sub_80EE294() bl sub_80EED0C\n\ bl sub_80F3C2C\n\ bl sub_80EEE08\n\ - ldr r1, ._1270 + 4\n\ + ldr r1, ._1270 + 4 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -6863,7 +6863,7 @@ void sub_80EE294() bl sub_80F6134\n\ mov r0, #0x1\n\ bl sub_80F0264\n\ - ldr r1, ._1274\n\ + ldr r1, ._1274 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -6875,7 +6875,7 @@ void sub_80EE294() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1288 @cond_branch\n\ - ldr r1, ._1274\n\ + ldr r1, ._1274 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -6889,9 +6889,9 @@ void sub_80EE294() bl sub_80EEFBC\n\ mov r0, #0x1\n\ bl sub_80F3008\n\ - ldr r0, ._1277\n\ + ldr r0, ._1277 @ sub_80EBD18\n\ bl SetVBlankCallback\n\ - ldr r1, ._1277 + 4\n\ + ldr r1, ._1277 + 4 @ gSharedMem\n\ mov r2, #0xc1\n\ lsl r2, r2, #0x2\n\ add r1, r1, r2\n\ @@ -6905,7 +6905,7 @@ void sub_80EE294() bl sub_8055870\n\ cmp r0, #0\n\ bne ._1288 @cond_branch\n\ - ldr r1, ._1281\n\ + ldr r1, ._1281 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -6938,19 +6938,19 @@ void sub_80EE294() ._1264:\n\ mov r0, #0x4\n\ bl sub_80EED2C\n\ - ldr r1, ._1286\n\ + ldr r1, ._1286 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ ldrh r0, [r1]\n\ add r0, r0, #0x1\n\ strh r0, [r1]\n\ - ldr r0, ._1286 + 4\n\ + ldr r0, ._1286 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1288 @cond_branch\n\ - ldr r0, ._1286 + 8\n\ - ldr r2, ._1286 + 12\n\ + ldr r0, ._1286 + 8 @ 0x6007de0\n\ + ldr r2, ._1286 + 12 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -6963,13 +6963,13 @@ void sub_80EE294() .word 0x6007de0\n\ .word 0x600f800\n\ ._1265:\n\ - ldr r0, ._1289\n\ + ldr r0, ._1289 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ cmp r0, #0\n\ bne ._1288 @cond_branch\n\ - ldr r0, ._1289 + 4\n\ + ldr r0, ._1289 + 4 @ sub_80EDDBC\n\ bl sub_80EBDBC\n\ ._1288:\n\ add sp, sp, #0x4\n\ @@ -7042,7 +7042,7 @@ void sub_80EE3D8() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._1293\n\ + ldr r0, ._1293 @ gSharedMem\n\ mov r1, #0xc1\n\ lsl r1, r1, #0x2\n\ add r0, r0, r1\n\ @@ -7052,7 +7052,7 @@ void sub_80EE3D8() b ._1354\n\ ._1291:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._1293 + 4\n\ + ldr r1, ._1293 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -7080,7 +7080,7 @@ void sub_80EE3D8() bl sub_80F1E84\n\ mov r0, #0x0\n\ bl sub_80F2D04\n\ - ldr r1, ._1311\n\ + ldr r1, ._1311 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7098,7 +7098,7 @@ void sub_80EE3D8() ._1313:\n\ mov r0, #0x9\n\ bl sub_80EEFBC\n\ - ldr r1, ._1316\n\ + ldr r1, ._1316 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7115,7 +7115,7 @@ void sub_80EE3D8() beq ._1318 @cond_branch\n\ b ._1354\n\ ._1318:\n\ - ldr r4, ._1321\n\ + ldr r4, ._1321 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -7132,7 +7132,7 @@ void sub_80EE3D8() ._1321:\n\ .word gSharedMem\n\ ._1299:\n\ - ldr r0, ._1326\n\ + ldr r0, ._1326 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ @@ -7145,7 +7145,7 @@ void sub_80EE3D8() bl sub_80EED0C\n\ bl sub_80EF814\n\ bl sub_80EEE08\n\ - ldr r1, ._1326 + 4\n\ + ldr r1, ._1326 + 4 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7157,7 +7157,7 @@ void sub_80EE3D8() .word gSharedMem\n\ ._1300:\n\ bl sub_80F2620\n\ - ldr r1, ._1329\n\ + ldr r1, ._1329 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7169,7 +7169,7 @@ void sub_80EE3D8() ._1301:\n\ mov r0, #0x2\n\ bl sub_80F0264\n\ - ldr r1, ._1334\n\ + ldr r1, ._1334 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7183,7 +7183,7 @@ void sub_80EE3D8() beq ._1331 @cond_branch\n\ b ._1354\n\ ._1331:\n\ - ldr r1, ._1334\n\ + ldr r1, ._1334 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7195,7 +7195,7 @@ void sub_80EE3D8() ._1303:\n\ mov r0, #0x3\n\ bl sub_80F2C80\n\ - ldr r1, ._1338\n\ + ldr r1, ._1338 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7208,7 +7208,7 @@ void sub_80EE3D8() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1354 @cond_branch\n\ - ldr r1, ._1338\n\ + ldr r1, ._1338 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7220,7 +7220,7 @@ void sub_80EE3D8() ._1305:\n\ mov r0, #0x2\n\ bl sub_80F3008\n\ - ldr r1, ._1341\n\ + ldr r1, ._1341 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7233,7 +7233,7 @@ void sub_80EE3D8() bl sub_8055870\n\ cmp r0, #0\n\ bne ._1354 @cond_branch\n\ - ldr r1, ._1345\n\ + ldr r1, ._1345 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ @@ -7244,7 +7244,7 @@ void sub_80EE3D8() .word gSharedMem\n\ ._1307:\n\ bl sub_80F6F10\n\ - ldr r4, ._1348\n\ + ldr r4, ._1348 @ gSharedMem\n\ mov r1, #0xc2\n\ lsl r1, r1, #0x2\n\ add r0, r4, r1\n\ @@ -7256,7 +7256,7 @@ void sub_80EE3D8() mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r0, ._1348 + 4\n\ + ldr r0, ._1348 + 4 @ sub_80EBD68\n\ bl SetVBlankCallback\n\ ._1320:\n\ mov r0, #0xc1\n\ @@ -7275,19 +7275,19 @@ void sub_80EE3D8() ._1308:\n\ mov r0, #0x5\n\ bl sub_80EED2C\n\ - ldr r1, ._1352\n\ + ldr r1, ._1352 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r1, r1, r0\n\ ldrh r0, [r1]\n\ add r0, r0, #0x1\n\ strh r0, [r1]\n\ - ldr r0, ._1352 + 4\n\ + ldr r0, ._1352 + 4 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1354 @cond_branch\n\ - ldr r0, ._1352 + 8\n\ - ldr r2, ._1352 + 12\n\ + ldr r0, ._1352 + 8 @ 0x6007de0\n\ + ldr r2, ._1352 + 12 @ 0x600f800\n\ mov r1, #0x0\n\ mov r3, #0x4\n\ bl debug_sub_8008218\n\ @@ -7300,13 +7300,13 @@ void sub_80EE3D8() .word 0x6007de0\n\ .word 0x600f800\n\ ._1309:\n\ - ldr r0, ._1355\n\ + ldr r0, ._1355 @ gPaletteFade\n\ ldrb r1, [r0, #0x7]\n\ mov r0, #0x80\n\ and r0, r0, r1\n\ cmp r0, #0\n\ bne ._1354 @cond_branch\n\ - ldr r0, ._1355 + 4\n\ + ldr r0, ._1355 + 4 @ sub_80EE58C\n\ bl sub_80EBDBC\n\ ._1354:\n\ add sp, sp, #0x4\n\ @@ -7404,7 +7404,7 @@ void sub_80EE58C() asm("\ push {r4, r5, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r5, ._1361\n\ + ldr r5, ._1361 @ gSharedMem\n\ mov r0, #0xc1\n\ lsl r0, r0, #0x2\n\ add r4, r5, r0\n\ @@ -7432,7 +7432,7 @@ void sub_80EE58C() beq ._1365 @cond_branch\n\ cmp r0, #0x2\n\ beq ._1366 @cond_branch\n\ - ldr r0, ._1369\n\ + ldr r0, ._1369 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -7440,7 +7440,7 @@ void sub_80EE58C() beq ._1367 @cond_branch\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._1369 + 4\n\ + ldr r0, ._1369 + 4 @ sub_80EE658\n\ bl sub_80EBDBC\n\ b ._1384\n\ ._1370:\n\ @@ -7451,7 +7451,7 @@ void sub_80EE58C() ._1365:\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r1, ._1372\n\ + ldr r1, ._1372 @ 0x876e\n\ add r0, r5, r1\n\ ldrb r0, [r0]\n\ bl sub_80F0FFC\n\ @@ -7474,7 +7474,7 @@ void sub_80EE58C() beq ._1383 @cond_branch\n\ mov r0, #0x5\n\ bl PlaySE\n\ - ldr r0, ._1377\n\ + ldr r0, ._1377 @ sub_80EE8F4\n\ bl sub_80EBDBC\n\ b ._1384\n\ ._1378:\n\ @@ -7486,7 +7486,7 @@ void sub_80EE58C() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._1383 @cond_branch\n\ - ldr r1, ._1381\n\ + ldr r1, ._1381 @ 0x876e\n\ add r0, r5, r1\n\ ldrb r0, [r0]\n\ bl sub_80F0FFC\n\ @@ -7505,12 +7505,12 @@ void sub_80EE58C() ._1380:\n\ strh r0, [r4]\n\ ._1383:\n\ - ldr r0, ._1385\n\ + ldr r0, ._1385 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1384 @cond_branch\n\ - ldr r0, ._1385 + 4\n\ - ldr r1, ._1385 + 8\n\ + ldr r0, ._1385 + 4 @ gLink\n\ + ldr r1, ._1385 + 8 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ @@ -8013,13 +8013,13 @@ bool8 sub_80EEC10() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._1563\n\ + ldr r0, ._1563 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x40\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._1559 @cond_branch\n\ - ldr r1, ._1563 + 4\n\ + ldr r1, ._1563 + 4 @ gSharedMem\n\ add r3, r1, #1\n\ add r2, r1, #5\n\ ._1561:\n\ @@ -8051,7 +8051,7 @@ bool8 sub_80EEC10() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._1565 @cond_branch\n\ - ldr r1, ._1569\n\ + ldr r1, ._1569 @ gSharedMem\n\ mov r4, #0x0\n\ mov r2, #0x1\n\ ldsb r2, [r1, r2]\n\ @@ -8079,12 +8079,12 @@ bool8 sub_80EEC10() ._1569:\n\ .word gSharedMem+0x6dad\n\ ._1565:\n\ - ldr r0, ._1572\n\ + ldr r0, ._1572 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1571 @cond_branch\n\ - ldr r0, ._1572 + 4\n\ - ldr r1, ._1572 + 8\n\ + ldr r0, ._1572 + 4 @ gLink\n\ + ldr r1, ._1572 + 8 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ @@ -8139,7 +8139,7 @@ bool8 sub_80EEC90() asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._1577\n\ + ldr r0, ._1577 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x40\n\ and r0, r0, r1\n\ @@ -8147,8 +8147,8 @@ bool8 sub_80EEC90() lsr r3, r0, #0x10\n\ cmp r3, #0\n\ beq ._1574 @cond_branch\n\ - ldr r2, ._1577 + 4\n\ - ldr r0, ._1577 + 8\n\ + ldr r2, ._1577 + 4 @ gSharedMem\n\ + ldr r0, ._1577 + 8 @ 0x6dad\n\ add r1, r2, r0\n\ ldrb r0, [r1]\n\ sub r0, r0, #0x1\n\ @@ -8156,7 +8156,7 @@ bool8 sub_80EEC90() lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bge ._1580 @cond_branch\n\ - ldr r3, ._1577 + 12\n\ + ldr r3, ._1577 + 12 @ 0x6dae\n\ add r0, r2, r3\n\ ldrb r0, [r0]\n\ sub r0, r0, #0x1\n\ @@ -8174,8 +8174,8 @@ bool8 sub_80EEC90() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._1579 @cond_branch\n\ - ldr r0, ._1582\n\ - ldr r4, ._1582 + 4\n\ + ldr r0, ._1582 @ gSharedMem\n\ + ldr r4, ._1582 + 4 @ 0x6dad\n\ add r2, r0, r4\n\ ldrb r1, [r2]\n\ add r1, r1, #0x1\n\ @@ -8199,12 +8199,12 @@ bool8 sub_80EEC90() .word gSharedMem\n\ .word 0x6dad\n\ ._1579:\n\ - ldr r0, ._1585\n\ + ldr r0, ._1585 @ gLinkOpen\n\ ldrb r0, [r0]\n\ cmp r0, #0x1\n\ bne ._1584 @cond_branch\n\ - ldr r0, ._1585 + 4\n\ - ldr r1, ._1585 + 8\n\ + ldr r0, ._1585 + 4 @ gLink\n\ + ldr r1, ._1585 + 8 @ 0xfbd\n\ add r0, r0, r1\n\ ldrb r0, [r0]\n\ mov r1, #0x4\n\ diff --git a/src/roulette.c b/src/roulette.c index ffdbc2c26..838ce94f8 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -586,11 +586,11 @@ void sub_8115384(void) asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r1, ._35\n\ - ldr r0, ._35 + 4\n\ + ldr r1, ._35 @ gUnknown_Debug_03005FB8\n\ + ldr r0, ._35 + 4 @ 0x2019000\n\ str r0, [r1]\n\ - ldr r1, ._35 + 8\n\ - ldr r2, ._35 + 12\n\ + ldr r1, ._35 + 8 @ gMain\n\ + ldr r2, ._35 + 12 @ 0x43c\n\ add r0, r1, r2\n\ ldrb r0, [r0]\n\ add r2, r1, #0\n\ @@ -599,7 +599,7 @@ void sub_8115384(void) b ._64\n\ ._33:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._35 + 16\n\ + ldr r1, ._35 + 16 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -626,12 +626,12 @@ void sub_8115384(void) bl ScanlineEffect_Stop\n\ bl ClearVideoCallbacks\n\ bl sub_80F9368\n\ - ldr r1, ._47\n\ - ldr r3, ._47 + 4\n\ + ldr r1, ._47 @ 0x400000c\n\ + ldr r3, ._47 + 4 @ 0x4686\n\ add r0, r3, #0\n\ strh r0, [r1]\n\ sub r1, r1, #0x2\n\ - ldr r2, ._47 + 8\n\ + ldr r2, ._47 + 8 @ 0x4401\n\ add r0, r2, #0\n\ strh r0, [r1]\n\ add r1, r1, #0x46\n\ @@ -640,18 +640,18 @@ void sub_8115384(void) add r0, r3, #0\n\ strh r0, [r1]\n\ add r1, r1, #0x2\n\ - ldr r2, ._47 + 12\n\ + ldr r2, ._47 + 12 @ 0x60a\n\ add r0, r2, #0\n\ strh r0, [r1]\n\ - ldr r0, ._47 + 16\n\ + ldr r0, ._47 + 16 @ gUnknown_08E8096C\n\ mov r1, #0xc0\n\ lsl r1, r1, #0x13\n\ bl LZ77UnCompVram\n\ - ldr r0, ._47 + 20\n\ - ldr r1, ._47 + 24\n\ + ldr r0, ._47 + 20 @ gRouletteWheelTiles\n\ + ldr r1, ._47 + 24 @ 0x6004000\n\ bl LZ77UnCompVram\n\ - ldr r1, ._47 + 28\n\ - ldr r3, ._47 + 32\n\ + ldr r1, ._47 + 28 @ gMain\n\ + ldr r3, ._47 + 32 @ 0x43c\n\ add r1, r1, r3\n\ b ._61\n\ ._48:\n\ @@ -670,8 +670,8 @@ void sub_8115384(void) bl ResetPaletteFade\n\ bl ResetSpriteData\n\ bl ResetTasks\n\ - ldr r1, ._50\n\ - ldr r0, ._50 + 4\n\ + ldr r1, ._50 @ gMain\n\ + ldr r0, ._50 + 4 @ 0x43c\n\ add r1, r1, r0\n\ b ._61\n\ ._51:\n\ @@ -680,17 +680,17 @@ void sub_8115384(void) .word gMain\n\ .word 0x43c\n\ ._40:\n\ - ldr r0, ._53\n\ + ldr r0, ._53 @ gWindowTemplate_81E6C3C\n\ bl Text_LoadWindowTemplate\n\ - ldr r0, ._53 + 4\n\ + ldr r0, ._53 + 4 @ gWindowTemplate_81E6CE4\n\ bl InitMenuWindow\n\ - ldr r0, ._53 + 8\n\ + ldr r0, ._53 + 8 @ gUnknown_083F86BC\n\ mov r2, #0xe0\n\ lsl r2, r2, #0x1\n\ mov r1, #0x0\n\ bl LoadPalette\n\ - ldr r1, ._53 + 12\n\ - ldr r2, ._53 + 16\n\ + ldr r1, ._53 + 12 @ gMain\n\ + ldr r2, ._53 + 16 @ 0x43c\n\ add r1, r1, r2\n\ b ._61\n\ ._54:\n\ @@ -704,14 +704,14 @@ void sub_8115384(void) ._41:\n\ bl sub_8115238\n\ bl ClearBGTilemapBuffers\n\ - ldr r0, ._56\n\ - ldr r1, ._56 + 4\n\ + ldr r0, ._56 @ gUnknown_083F88BC\n\ + ldr r1, ._56 + 4 @ 0x2018800\n\ bl LZ77UnCompWram\n\ - ldr r0, ._56 + 8\n\ - ldr r1, ._56 + 12\n\ + ldr r0, ._56 + 8 @ gUnknown_083F8A60\n\ + ldr r1, ._56 + 12 @ 0x6003000\n\ bl LZ77UnCompVram\n\ - ldr r1, ._56 + 16\n\ - ldr r3, ._56 + 20\n\ + ldr r1, ._56 + 16 @ gMain\n\ + ldr r3, ._56 + 20 @ 0x43c\n\ add r1, r1, r3\n\ b ._61\n\ ._57:\n\ @@ -732,8 +732,8 @@ void sub_8115384(void) bl sub_8117900\n\ bl sub_8117BBC\n\ bl sub_8117DF4\n\ - ldr r1, ._59\n\ - ldr r0, ._59 + 4\n\ + ldr r1, ._59 @ gMain\n\ + ldr r0, ._59 + 4 @ 0x43c\n\ add r1, r1, r0\n\ b ._61\n\ ._60:\n\ @@ -744,8 +744,8 @@ void sub_8115384(void) ._43:\n\ bl AnimateSprites\n\ bl BuildOamBuffer\n\ - ldr r0, ._62\n\ - ldr r1, ._62 + 4\n\ + ldr r0, ._62 @ gSaveBlock1\n\ + ldr r1, ._62 + 4 @ 0x494\n\ add r0, r0, r1\n\ ldrh r0, [r0]\n\ bl sub_81180F4\n\ @@ -760,20 +760,20 @@ void sub_8115384(void) mov r2, #0x1d\n\ mov r3, #0x13\n\ bl Menu_DrawStdWindowFrame\n\ - ldr r0, ._62 + 8\n\ + ldr r0, ._62 + 8 @ gUnknown_081C4157\n\ mov r1, #0x1\n\ mov r2, #0xf\n\ bl Menu_PrintText\n\ - ldr r1, ._62 + 12\n\ + ldr r1, ._62 + 12 @ gSpriteCoordOffsetX\n\ mov r2, #0x3c\n\ neg r2, r2\n\ add r0, r2, #0\n\ strh r0, [r1]\n\ - ldr r1, ._62 + 16\n\ + ldr r1, ._62 + 16 @ gSpriteCoordOffsetY\n\ mov r0, #0x0\n\ strh r0, [r1]\n\ - ldr r1, ._62 + 20\n\ - ldr r3, ._62 + 24\n\ + ldr r1, ._62 + 20 @ gMain\n\ + ldr r3, ._62 + 24 @ 0x43c\n\ add r1, r1, r3\n\ b ._61\n\ ._63:\n\ @@ -789,10 +789,10 @@ void sub_8115384(void) ._44:\n\ mov r1, #0x80\n\ lsl r1, r1, #0x13\n\ - ldr r3, ._65\n\ + ldr r3, ._65 @ 0x1741\n\ add r0, r3, #0\n\ strh r0, [r1]\n\ - ldr r0, ._65 + 4\n\ + ldr r0, ._65 + 4 @ 0x43c\n\ add r1, r2, r0\n\ ._61:\n\ ldrb r0, [r1]\n\ @@ -805,22 +805,22 @@ void sub_8115384(void) .word 0x1741\n\ .word 0x43c\n\ ._45:\n\ - ldr r3, ._67\n\ + ldr r3, ._67 @ 0x4000208\n\ ldrh r2, [r3]\n\ mov r0, #0x0\n\ strh r0, [r3]\n\ - ldr r4, ._67 + 4\n\ + ldr r4, ._67 + 4 @ 0x4000200\n\ ldrh r0, [r4]\n\ mov r1, #0x1\n\ orr r0, r0, r1\n\ strh r0, [r4]\n\ strh r2, [r3]\n\ - ldr r2, ._67 + 8\n\ + ldr r2, ._67 + 8 @ 0x4000004\n\ ldrh r0, [r2]\n\ mov r1, #0x8\n\ orr r0, r0, r1\n\ strh r0, [r2]\n\ - ldr r0, ._67 + 12\n\ + ldr r0, ._67 + 12 @ sub_8115124\n\ bl SetVBlankCallback\n\ mov r0, #0x1\n\ str r0, [sp]\n\ @@ -829,33 +829,33 @@ void sub_8115384(void) mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginHardwarePaletteFade\n\ - ldr r0, ._67 + 16\n\ + ldr r0, ._67 + 16 @ sub_81156BC\n\ mov r1, #0x0\n\ bl CreateTask\n\ - ldr r4, ._67 + 20\n\ + ldr r4, ._67 + 20 @ 0x2019000\n\ add r1, r4, #0\n\ add r1, r1, #0xa4\n\ strb r0, [r1]\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ - ldr r2, ._67 + 24\n\ + ldr r2, ._67 + 24 @ gTasks\n\ lsl r1, r0, #0x2\n\ add r1, r1, r0\n\ lsl r1, r1, #0x3\n\ add r1, r1, r2\n\ mov r0, #0x6\n\ strh r0, [r1, #0x14]\n\ - ldr r0, ._67 + 28\n\ - ldr r2, ._67 + 32\n\ + ldr r0, ._67 + 28 @ gSaveBlock1\n\ + ldr r2, ._67 + 32 @ 0x494\n\ add r0, r0, r2\n\ ldrh r0, [r0]\n\ strh r0, [r1, #0x22]\n\ - ldr r0, ._67 + 36\n\ + ldr r0, ._67 + 36 @ sub_8115634\n\ mov r1, #0x1\n\ bl CreateTask\n\ add r4, r4, #0xa5\n\ strb r0, [r4]\n\ - ldr r0, ._67 + 40\n\ + ldr r0, ._67 + 40 @ sub_81150FC\n\ bl SetMainCallback2\n\ ._64:\n\ add sp, sp, #0x4\n\ @@ -967,7 +967,7 @@ void sub_8115634(u8 unused) { asm("\ push {r4, r5, r6, lr}\n\ - ldr r0, ._75\n\ + ldr r0, ._75 @ 0x2019000\n\ add r3, r0, #0\n\ add r3, r3, #0x21\n\ ldrb r1, [r3]\n\ @@ -1030,17 +1030,17 @@ void sub_8115634(u8 unused) asr r0, r0, #0x10\n\ neg r0, r0\n\ strh r0, [r6, #0x30]\n\ - ldr r0, ._75 + 4\n\ + ldr r0, ._75 + 4 @ unk_203955C\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._74 @cond_branch\n\ - ldr r0, ._75 + 8\n\ + ldr r0, ._75 + 8 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x8\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._74 @cond_branch\n\ - ldr r2, ._75 + 12\n\ + ldr r2, ._75 + 12 @ gTasks\n\ add r0, r6, #0\n\ add r0, r0, #0xa4\n\ ldrb r1, [r0]\n\ @@ -1048,13 +1048,13 @@ void sub_8115634(u8 unused) add r0, r0, r1\n\ lsl r0, r0, #0x3\n\ add r0, r0, r2\n\ - ldr r1, ._75 + 16\n\ + ldr r1, ._75 + 16 @ sub_81157AC\n\ str r1, [r0]\n\ - ldr r0, ._75 + 20\n\ + ldr r0, ._75 + 20 @ gMPlay_SE1\n\ bl m4aMPlayStop\n\ - ldr r0, ._75 + 24\n\ + ldr r0, ._75 + 24 @ gMPlay_SE2\n\ bl m4aMPlayStop\n\ - ldr r0, ._75 + 28\n\ + ldr r0, ._75 + 28 @ gMPlay_SE3\n\ bl m4aMPlayStop\n\ ._74:\n\ pop {r4, r5, r6}\n\ @@ -2030,13 +2030,13 @@ void sub_8116B40(u8 taskid) // end roulette ? bne ._380 @cond_branch\n\ mov r0, #0x0\n\ bl SetVBlankCallback\n\ - ldr r0, ._381\n\ + ldr r0, ._381 @ 0x2019000\n\ mov r2, #0xbe\n\ lsl r2, r2, #0x1\n\ mov r1, #0x0\n\ bl memset\n\ - ldr r1, ._381 + 4\n\ - ldr r0, ._381 + 8\n\ + ldr r1, ._381 + 4 @ gSpriteCoordOffsetX\n\ + ldr r0, ._381 + 8 @ gSpriteCoordOffsetY\n\ mov r4, #0x0\n\ strh r5, [r0]\n\ strh r5, [r1]\n\ @@ -2045,20 +2045,20 @@ void sub_8116B40(u8 taskid) // end roulette ? bl ResetPaletteFade\n\ bl ResetSpriteData\n\ bl ClearBGTilemapBuffers\n\ - ldr r0, ._381 + 12\n\ + ldr r0, ._381 + 12 @ 0x4000050\n\ strh r5, [r0]\n\ add r0, r0, #0x2\n\ strh r5, [r0]\n\ add r0, r0, #0x2\n\ strh r5, [r0]\n\ - ldr r1, ._381 + 16\n\ - ldr r0, ._381 + 20\n\ + ldr r1, ._381 + 16 @ gFieldCallback\n\ + ldr r0, ._381 + 20 @ sub_8080990\n\ str r0, [r1]\n\ - ldr r0, ._381 + 24\n\ + ldr r0, ._381 + 24 @ c2_exit_to_overworld_2_switch\n\ bl SetMainCallback2\n\ add r0, r6, #0\n\ bl DestroyTask\n\ - ldr r0, ._381 + 28\n\ + ldr r0, ._381 + 28 @ unk_203955C\n\ strb r4, [r0]\n\ ._380:\n\ pop {r4, r5, r6}\n\ @@ -3189,13 +3189,13 @@ void debug_sub_812CDE4() lsl r0, r0, #0x18\n\ lsr r3, r0, #0x18\n\ add r4, r3, #0\n\ - ldr r0, ._575\n\ + ldr r0, ._575 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ cmp r0, #0\n\ beq ._572 @cond_branch\n\ - ldr r1, ._575 + 4\n\ + ldr r1, ._575 + 4 @ gTasks\n\ lsl r0, r3, #0x2\n\ add r0, r0, r3\n\ lsl r0, r0, #0x3\n\ @@ -3204,13 +3204,13 @@ void debug_sub_812CDE4() add r0, r0, #0x1\n\ strh r0, [r2, #0x22]\n\ lsl r0, r0, #0x10\n\ - ldr r1, ._575 + 8\n\ + ldr r1, ._575 + 8 @ 0x27100000\n\ cmp r0, r1\n\ bne ._573 @cond_branch\n\ mov r0, #0x0\n\ strh r0, [r2, #0x22]\n\ ._573:\n\ - ldr r0, ._575 + 12\n\ + ldr r0, ._575 + 12 @ gStringVar1\n\ mov r3, #0x22\n\ ldsh r1, [r2, r3]\n\ b ._584\n\ @@ -3226,7 +3226,7 @@ void debug_sub_812CDE4() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._577 @cond_branch\n\ - ldr r1, ._580\n\ + ldr r1, ._580 @ gTasks\n\ lsl r0, r3, #0x2\n\ add r0, r0, r3\n\ lsl r0, r0, #0x3\n\ @@ -3240,10 +3240,10 @@ void debug_sub_812CDE4() neg r1, r1\n\ cmp r0, r1\n\ bne ._578 @cond_branch\n\ - ldr r0, ._580 + 4\n\ + ldr r0, ._580 + 4 @ 0x270f\n\ strh r0, [r2, #0x22]\n\ ._578:\n\ - ldr r0, ._580 + 8\n\ + ldr r0, ._580 + 8 @ gStringVar1\n\ mov r3, #0x22\n\ ldsh r1, [r2, r3]\n\ b ._584\n\ @@ -3259,7 +3259,7 @@ void debug_sub_812CDE4() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._582 @cond_branch\n\ - ldr r1, ._585\n\ + ldr r1, ._585 @ gTasks\n\ lsl r0, r3, #0x2\n\ add r0, r0, r3\n\ lsl r0, r0, #0x3\n\ @@ -3269,14 +3269,14 @@ void debug_sub_812CDE4() add r0, r0, #0xa\n\ strh r0, [r2, #0x22]\n\ lsl r0, r0, #0x10\n\ - ldr r1, ._585 + 4\n\ + ldr r1, ._585 + 4 @ 0x270f0000\n\ cmp r0, r1\n\ ble ._583 @cond_branch\n\ - ldr r1, ._585 + 8\n\ + ldr r1, ._585 + 8 @ 0xffffd8fb\n\ add r0, r3, r1\n\ strh r0, [r2, #0x22]\n\ ._583:\n\ - ldr r0, ._585 + 12\n\ + ldr r0, ._585 + 12 @ gStringVar1\n\ mov r3, #0x22\n\ ldsh r1, [r2, r3]\n\ b ._584\n\ @@ -3293,7 +3293,7 @@ void debug_sub_812CDE4() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._587 @cond_branch\n\ - ldr r0, ._590\n\ + ldr r0, ._590 @ gTasks\n\ lsl r1, r3, #0x2\n\ add r1, r1, r3\n\ lsl r1, r1, #0x3\n\ @@ -3305,19 +3305,19 @@ void debug_sub_812CDE4() lsl r0, r0, #0x10\n\ cmp r0, #0\n\ bge ._588 @cond_branch\n\ - ldr r3, ._590 + 4\n\ + ldr r3, ._590 + 4 @ 0x2705\n\ add r0, r2, r3\n\ strh r0, [r1, #0x22]\n\ ._588:\n\ - ldr r0, ._590 + 8\n\ + ldr r0, ._590 + 8 @ gStringVar1\n\ mov r2, #0x22\n\ ldsh r1, [r1, r2]\n\ ._584:\n\ mov r2, #0x1\n\ mov r3, #0x4\n\ bl ConvertIntToDecimalStringN\n\ - ldr r4, ._590 + 12\n\ - ldr r1, ._590 + 16\n\ + ldr r4, ._590 + 12 @ gStringVar4\n\ + ldr r1, ._590 + 16 @ gOtherText_Coins\n\ add r0, r4, #0\n\ bl StringExpandPlaceholders\n\ add r0, r4, #0\n\ @@ -3338,34 +3338,34 @@ void debug_sub_812CDE4() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._592 @cond_branch\n\ - ldr r0, ._594\n\ - ldr r2, ._594 + 4\n\ + ldr r0, ._594 @ gSaveBlock1\n\ + ldr r2, ._594 + 4 @ gTasks\n\ lsl r1, r3, #0x2\n\ add r1, r1, r3\n\ lsl r1, r1, #0x3\n\ add r1, r1, r2\n\ ldrh r2, [r1, #0x22]\n\ - ldr r3, ._594 + 8\n\ + ldr r3, ._594 + 8 @ 0x494\n\ add r0, r0, r3\n\ mov r5, #0x0\n\ strh r2, [r0]\n\ - ldr r0, ._594 + 12\n\ + ldr r0, ._594 + 12 @ Task_Roulette_0\n\ str r0, [r1]\n\ - ldr r0, ._594 + 16\n\ + ldr r0, ._594 + 16 @ gStringVar1\n\ mov r2, #0x22\n\ ldsh r1, [r1, r2]\n\ mov r2, #0x1\n\ mov r3, #0x4\n\ bl ConvertIntToDecimalStringN\n\ - ldr r4, ._594 + 20\n\ - ldr r1, ._594 + 24\n\ + ldr r4, ._594 + 20 @ gStringVar4\n\ + ldr r1, ._594 + 24 @ gOtherText_Coins\n\ add r0, r4, #0\n\ bl StringExpandPlaceholders\n\ add r0, r4, #0\n\ mov r1, #0x9\n\ mov r2, #0x1\n\ bl MenuPrint_RightAligned\n\ - ldr r0, ._594 + 28\n\ + ldr r0, ._594 + 28 @ unk_2039560\n\ strb r5, [r0]\n\ b ._596\n\ ._595:\n\ @@ -3384,33 +3384,33 @@ void debug_sub_812CDE4() and r0, r0, r1\n\ cmp r0, #0\n\ beq ._596 @cond_branch\n\ - ldr r0, ._597\n\ - ldr r2, ._597 + 4\n\ + ldr r0, ._597 @ gSaveBlock1\n\ + ldr r2, ._597 + 4 @ gTasks\n\ lsl r1, r4, #0x2\n\ add r1, r1, r4\n\ lsl r1, r1, #0x3\n\ add r1, r1, r2\n\ ldrh r2, [r1, #0x22]\n\ - ldr r3, ._597 + 8\n\ + ldr r3, ._597 + 8 @ 0x494\n\ add r0, r0, r3\n\ strh r2, [r0]\n\ - ldr r0, ._597 + 12\n\ + ldr r0, ._597 + 12 @ Task_Roulette_0\n\ str r0, [r1]\n\ - ldr r0, ._597 + 16\n\ + ldr r0, ._597 + 16 @ gStringVar1\n\ mov r2, #0x22\n\ ldsh r1, [r1, r2]\n\ mov r2, #0x1\n\ mov r3, #0x4\n\ bl ConvertIntToDecimalStringN\n\ - ldr r4, ._597 + 20\n\ - ldr r1, ._597 + 24\n\ + ldr r4, ._597 + 20 @ gStringVar4\n\ + ldr r1, ._597 + 24 @ gOtherText_Coins\n\ add r0, r4, #0\n\ bl StringExpandPlaceholders\n\ add r0, r4, #0\n\ mov r1, #0x9\n\ mov r2, #0x1\n\ bl MenuPrint_RightAligned\n\ - ldr r1, ._597 + 28\n\ + ldr r1, ._597 + 28 @ unk_2039560\n\ mov r0, #0x1\n\ strb r0, [r1]\n\ ._596:\n\ @@ -3437,13 +3437,13 @@ void debug_sub_812CFE8() push {r4, r5, lr}\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ - ldr r2, ._600\n\ + ldr r2, ._600 @ gTasks\n\ lsl r1, r0, #0x2\n\ add r1, r1, r0\n\ lsl r1, r1, #0x3\n\ add r5, r1, r2\n\ - ldr r0, ._600 + 4\n\ - ldr r1, ._600 + 8\n\ + ldr r0, ._600 + 4 @ gSaveBlock1\n\ + ldr r1, ._600 + 8 @ 0x494\n\ add r0, r0, r1\n\ ldrh r0, [r0]\n\ strh r0, [r5, #0x22]\n\ @@ -3452,20 +3452,20 @@ void debug_sub_812CFE8() and r1, r1, r0\n\ cmp r1, #0\n\ beq ._599 @cond_branch\n\ - ldr r0, ._600 + 12\n\ + ldr r0, ._600 + 12 @ gSpecialVar_0x8004\n\ ldrh r1, [r0]\n\ mov r2, #0x80\n\ orr r1, r1, r2\n\ strh r1, [r0]\n\ ._599:\n\ - ldr r0, ._600 + 16\n\ + ldr r0, ._600 + 16 @ gStringVar1\n\ mov r2, #0x22\n\ ldsh r1, [r5, r2]\n\ mov r2, #0x1\n\ mov r3, #0x4\n\ bl ConvertIntToDecimalStringN\n\ - ldr r4, ._600 + 20\n\ - ldr r1, ._600 + 24\n\ + ldr r4, ._600 + 20 @ gStringVar4\n\ + ldr r1, ._600 + 24 @ gOtherText_Coins\n\ add r0, r4, #0\n\ bl StringExpandPlaceholders\n\ mov r0, #0x0\n\ @@ -3482,11 +3482,11 @@ void debug_sub_812CFE8() mov r2, #0x1d\n\ mov r3, #0x13\n\ bl Menu_DrawStdWindowFrame\n\ - ldr r0, ._600 + 28\n\ + ldr r0, ._600 + 28 @ gUnknown_Debug_0842510D\n\ mov r1, #0x1\n\ mov r2, #0xf\n\ bl Menu_PrintText\n\ - ldr r0, ._600 + 32\n\ + ldr r0, ._600 + 32 @ debug_sub_812CDE4\n\ str r0, [r5]\n\ pop {r4, r5}\n\ pop {r0}\n\ @@ -3514,14 +3514,14 @@ void PlayRoulette(void) asm("\ push {lr}\n\ bl ScriptContext2_Enable\n\ - ldr r1, ._604\n\ + ldr r1, ._604 @ unk_2039560\n\ mov r0, #0x0\n\ strb r0, [r1]\n\ - ldr r0, ._604 + 4\n\ + ldr r0, ._604 + 4 @ unk_203955C\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._602 @cond_branch\n\ - ldr r0, ._604 + 8\n\ + ldr r0, ._604 + 8 @ debug_sub_812CFE8\n\ mov r1, #0x0\n\ bl CreateTask\n\ b ._603\n\ @@ -3532,18 +3532,18 @@ void PlayRoulette(void) .word unk_203955C\n\ .word debug_sub_812CFE8+1\n\ ._602:\n\ - ldr r0, ._606\n\ + ldr r0, ._606 @ Task_Roulette_0\n\ mov r1, #0x0\n\ bl CreateTask\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ - ldr r2, ._606 + 4\n\ + ldr r2, ._606 + 4 @ gTasks\n\ lsl r1, r0, #0x2\n\ add r1, r1, r0\n\ lsl r1, r1, #0x3\n\ add r1, r1, r2\n\ - ldr r0, ._606 + 8\n\ - ldr r2, ._606 + 12\n\ + ldr r0, ._606 + 8 @ gSaveBlock1\n\ + ldr r2, ._606 + 12 @ 0x494\n\ add r0, r0, r2\n\ ldrh r0, [r0]\n\ strh r0, [r1, #0x22]\n\ @@ -4479,10 +4479,10 @@ void debug_sub_812E698() and r1, r1, r0\n\ cmp r1, #0\n\ beq ._837 @cond_branch\n\ - ldr r4, ._839\n\ + ldr r4, ._839 @ 0x2019000\n\ add r1, r4, #0\n\ add r1, r1, #0x8c\n\ - ldr r0, ._839 + 4\n\ + ldr r0, ._839 + 4 @ 0x0\n\ str r0, [r1]\n\ add r0, r4, #0\n\ add r0, r0, #0x7e\n\ @@ -4494,7 +4494,7 @@ void debug_sub_812E698() add r1, r1, #0x7f\n\ strb r0, [r1]\n\ add r1, r4, #0\n\ - ldr r4, ._839 + 8\n\ + ldr r4, ._839 + 8 @ gUnknown_083F8DF4\n\ b ._838\n\ ._840:\n\ .align 2, 0\n\ @@ -4503,10 +4503,10 @@ void debug_sub_812E698() .word 0x0\n\ .word gUnknown_083F8DF4\n\ ._837:\n\ - ldr r6, ._841\n\ + ldr r6, ._841 @ 0x2019000\n\ add r5, r6, #0\n\ add r5, r5, #0x8c\n\ - ldr r4, ._841 + 4\n\ + ldr r4, ._841 + 4 @ gUnknown_083F8DF4\n\ ldrb r0, [r6, #0x4]\n\ lsl r0, r0, #0x1e\n\ lsr r0, r0, #0x19\n\ @@ -4534,9 +4534,9 @@ void debug_sub_812E698() ldrb r0, [r0, #0x2]\n\ strh r0, [r7, #0x32]\n\ add r1, r1, #0x98\n\ - ldr r0, ._841 + 8\n\ + ldr r0, ._841 + 8 @ 0x3dae147b\n\ str r0, [r1]\n\ - ldr r0, ._841 + 12\n\ + ldr r0, ._841 + 12 @ sub_8118D2C\n\ str r0, [r7, #0x1c]\n\ mov r0, #0x5\n\ strh r0, [r7, #0x30]\n\ @@ -4839,12 +4839,12 @@ void sub_8118F8C(struct Sprite *sprite) push {r6, r7}\n\ add r6, r0, #0\n\ bl sub_8118724\n\ - ldr r5, ._868\n\ + ldr r5, ._868 @ 0x2019000\n\ mov r0, #0x8c\n\ add r0, r0, r5\n\ mov r8, r0\n\ ldr r0, [r0]\n\ - ldr r1, ._868 + 4\n\ + ldr r1, ._868 + 4 @ 0x3f000000\n\ bl __gtsf2\n\ cmp r0, #0\n\ bgt ._874 @cond_branch\n\ @@ -4857,9 +4857,9 @@ void sub_8118F8C(struct Sprite *sprite) bne ._864 @cond_branch\n\ add r1, r5, #0\n\ add r1, r1, #0x90\n\ - ldr r0, ._868 + 8\n\ + ldr r0, ._868 + 8 @ 0x0\n\ str r0, [r1]\n\ - ldr r1, ._868 + 12\n\ + ldr r1, ._868 + 12 @ gUnknown_083F8DF4\n\ mov r9, r1\n\ ldrb r0, [r5, #0x4]\n\ lsl r7, r0, #0x1e\n\ @@ -4872,7 +4872,7 @@ void sub_8118F8C(struct Sprite *sprite) add r5, r0, #0\n\ cmp r4, #0\n\ bge ._865 @cond_branch\n\ - ldr r1, ._868 + 16\n\ + ldr r1, ._868 + 16 @ 0x43800000\n\ bl __addsf3\n\ add r5, r0, #0\n\ ._865:\n\ @@ -4892,11 +4892,11 @@ void sub_8118F8C(struct Sprite *sprite) str r0, [r1]\n\ mov r0, #0x4\n\ strh r0, [r6, #0x30]\n\ - ldr r0, ._868 + 20\n\ + ldr r0, ._868 + 20 @ unk_2039560\n\ ldrb r0, [r0]\n\ cmp r0, #0\n\ beq ._866 @cond_branch\n\ - ldr r0, ._868 + 24\n\ + ldr r0, ._868 + 24 @ debug_sub_812E698\n\ str r0, [r6, #0x1c]\n\ b ._874\n\ ._869:\n\ @@ -4910,7 +4910,7 @@ void sub_8118F8C(struct Sprite *sprite) .word unk_2039560\n\ .word debug_sub_812E698+1\n\ ._866:\n\ - ldr r0, ._871\n\ + ldr r0, ._871 @ sub_8118DE4\n\ str r0, [r6, #0x1c]\n\ b ._874\n\ ._872:\n\ @@ -4921,7 +4921,7 @@ void sub_8118F8C(struct Sprite *sprite) add r6, r5, #0\n\ add r6, r6, #0x90\n\ ldr r0, [r6]\n\ - ldr r4, ._875\n\ + ldr r4, ._875 @ 0x0\n\ add r1, r4, #0\n\ bl __nesf2\n\ cmp r0, #0\n\ @@ -4939,8 +4939,8 @@ void sub_8118F8C(struct Sprite *sprite) add r4, r4, #0x98\n\ ldr r0, [r4]\n\ bl __extendsfdf2\n\ - ldr r2, ._875 + 4\n\ - ldr r3, ._875 + 8\n\ + ldr r2, ._875 + 4 @ 0x3ff33333\n\ + ldr r3, ._875 + 8 @ 0x33333333\n\ bl __divdf3\n\ bl __truncdfsf2\n\ str r0, [r4]\n\ diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c index d81263f87..114505e4d 100644 --- a/src/scene/cable_car.c +++ b/src/scene/cable_car.c @@ -216,10 +216,10 @@ u8 debug_sub_8138C14(void) { asm("\n\ push {lr}\n\ - ldr r0, ._1\n\ + ldr r0, ._1 @ unk_203955C\n\ mov r1, #0x1\n\ strb r1, [r0]\n\ - ldr r0, ._1 + 4\n\ + ldr r0, ._1 + 4 @ MauvilleCity_GameCorner_EventScript_1C407E\n\ bl ScriptContext1_SetupScript\n\ bl CloseMenu\n\ mov r0, #0x1\n\ @@ -237,10 +237,10 @@ u8 debug_sub_8138C34(void) { asm("\n\ push {lr}\n\ - ldr r0, ._3\n\ + ldr r0, ._3 @ unk_203955C\n\ mov r1, #0x1\n\ strb r1, [r0]\n\ - ldr r0, ._3 + 4\n\ + ldr r0, ._3 + 4 @ MauvilleCity_GameCorner_EventScript_1C40AC\n\ bl ScriptContext1_SetupScript\n\ bl CloseMenu\n\ mov r0, #0x1\n\ @@ -258,7 +258,7 @@ u8 debug_sub_8138C54(void) { asm("\n\ push {r4, lr}\n\ - ldr r4, ._10\n\ + ldr r4, ._10 @ gMain\n\ ldrh r0, [r4, #0x2e]\n\ cmp r0, #0x40\n\ bne ._5 @cond_branch\n\ @@ -275,14 +275,14 @@ u8 debug_sub_8138C54(void) ldrh r1, [r4, #0x2e]\n\ cmp r1, #0x1\n\ beq ._7 @cond_branch\n\ - ldr r0, ._10 + 4\n\ + ldr r0, ._10 + 4 @ 0x101\n\ cmp r1, r0\n\ bne ._8 @cond_branch\n\ - ldr r1, ._10 + 8\n\ + ldr r1, ._10 + 8 @ gSpecialVar_0x8004\n\ mov r0, #0x1\n\ strh r0, [r1]\n\ ._7:\n\ - ldr r4, ._10 + 12\n\ + ldr r4, ._10 + 12 @ gUnkDebug4Menu\n\ bl Menu_GetCursorPos\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x15\n\ @@ -320,7 +320,7 @@ u8 debug_sub_8138CC4(void) asm("\n\ push {lr}\n\ add sp, sp, #0xfffffff8\n\ - ldr r1, ._14\n\ + ldr r1, ._14 @ gSpecialVar_0x8004\n\ mov r0, #0x0\n\ strh r0, [r1]\n\ bl Menu_EraseScreen\n\ @@ -329,7 +329,7 @@ u8 debug_sub_8138CC4(void) mov r2, #0x1d\n\ mov r3, #0xc\n\ bl Menu_DrawStdWindowFrame\n\ - ldr r3, ._14 + 4\n\ + ldr r3, ._14 + 4 @ gUnkDebug4Menu\n\ mov r0, #0x14\n\ mov r1, #0x1\n\ mov r2, #0x5\n\ @@ -343,8 +343,8 @@ u8 debug_sub_8138CC4(void) mov r2, #0x1\n\ mov r3, #0x5\n\ bl InitMenu\n\ - ldr r1, ._14 + 8\n\ - ldr r0, ._14 + 12\n\ + ldr r1, ._14 + 8 @ gMenuCallback\n\ + ldr r0, ._14 + 12 @ debug_sub_8138C54\n\ str r0, [r1]\n\ mov r0, #0x0\n\ add sp, sp, #0x8\n\ @@ -384,7 +384,7 @@ u8 debug_sub_8138D74(void) { asm("\n\ push {lr}\n\ - ldr r1, ._21\n\ + ldr r1, ._21 @ gSpecialVar_0x8004\n\ mov r0, #0x0\n\ strh r0, [r1]\n\ bl CloseMenu\n\ @@ -402,7 +402,7 @@ u8 debug_sub_8138D8C(void) { asm("\n\ push {lr}\n\ - ldr r1, ._23\n\ + ldr r1, ._23 @ gSpecialVar_0x8004\n\ mov r0, #0x1\n\ strh r0, [r1]\n\ bl CloseMenu\n\ diff --git a/src/scene/cute_sketch.c b/src/scene/cute_sketch.c index 848249528..2af990290 100644 --- a/src/scene/cute_sketch.c +++ b/src/scene/cute_sketch.c @@ -38,8 +38,8 @@ void debug_sub_8110CCC(void) push {r4, r5, r6, r7, lr}\n\ mov r7, #0x0\n\ mov r1, #0x0\n\ - ldr r2, ._5\n\ - ldr r6, ._5 + 4\n\ + ldr r2, ._5 @ gUnknown_083E79C0\n\ + ldr r6, ._5 + 4 @ \n\ ._7:\n\ lsl r0, r1, #0x3\n\ add r4, r0, r2\n\ @@ -108,7 +108,7 @@ void debug_sub_8110CCC(void) mov r2, #0x1d\n\ mov r3, #0x13\n\ bl Menu_DrawStdWindowFrame\n\ - ldr r0, ._9\n\ + ldr r0, ._9 @ \n\ mov r1, #0x11\n\ mov r2, #0x11\n\ bl Menu_PrintText\n\ @@ -133,14 +133,14 @@ void debug_sub_8110D84(void) asm("\ push {r4, lr}\n\ add sp, sp, #0xfffffffc\n\ - ldr r0, ._13\n\ + ldr r0, ._13 @ \n\ ldrh r0, [r0, #0x4]\n\ cmp r0, #0x7\n\ bls ._11 @cond_branch\n\ b ._65\n\ ._11:\n\ lsl r0, r0, #0x2\n\ - ldr r1, ._13 + 4\n\ + ldr r1, ._13 + 4 @ \n\ add r0, r0, r1\n\ ldr r0, [r0]\n\ mov pc, r0\n\ @@ -166,7 +166,7 @@ void debug_sub_8110D84(void) mov r2, #0x10\n\ mov r3, #0x0\n\ bl BeginNormalPaletteFade\n\ - ldr r1, ._25\n\ + ldr r1, ._25 @ \n\ ldrh r0, [r1, #0x4]\n\ add r0, r0, #0x1\n\ b ._62\n\ @@ -181,7 +181,7 @@ void debug_sub_8110D84(void) beq ._27 @cond_branch\n\ b ._65\n\ ._27:\n\ - ldr r1, ._30\n\ + ldr r1, ._30 @ \n\ ldrh r0, [r1, #0x4]\n\ add r0, r0, #0x1\n\ b ._62\n\ @@ -205,7 +205,7 @@ void debug_sub_8110D84(void) beq ._36 @cond_branch\n\ b ._65\n\ ._35:\n\ - ldr r4, ._41\n\ + ldr r4, ._41 @ \n\ ldrb r0, [r4, #0x1e]\n\ cmp r0, #0\n\ bne ._38 @cond_branch\n\ @@ -213,11 +213,11 @@ void debug_sub_8110D84(void) ._38:\n\ mov r0, #0x5\n\ bl m4aSongNumStart\n\ - ldr r1, ._41 + 4\n\ + ldr r1, ._41 + 4 @ \n\ add r0, r4, r1\n\ mov r1, #0x1\n\ strb r1, [r0]\n\ - ldr r0, ._41 + 8\n\ + ldr r0, ._41 + 8 @ \n\ bl sub_80FC244\n\ b ._65\n\ ._42:\n\ @@ -236,7 +236,7 @@ void debug_sub_8110D84(void) mov r2, #0x0\n\ mov r3, #0x10\n\ bl BeginNormalPaletteFade\n\ - ldr r1, ._44\n\ + ldr r1, ._44 @ \n\ ldrh r0, [r1, #0x4]\n\ add r0, r0, #0x1\n\ b ._62\n\ @@ -249,7 +249,7 @@ void debug_sub_8110D84(void) lsl r0, r0, #0x18\n\ cmp r0, #0\n\ bne ._65 @cond_branch\n\ - ldr r0, ._48\n\ + ldr r0, ._48 @ sub_805469C\n\ bl SetMainCallback2\n\ b ._65\n\ ._49:\n\ @@ -265,7 +265,7 @@ void debug_sub_8110D84(void) bl debug_sub_8110CCC\n\ b ._65\n\ ._50:\n\ - ldr r0, ._54\n\ + ldr r0, ._54 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -273,7 +273,7 @@ void debug_sub_8110D84(void) beq ._65 @cond_branch\n\ bl sub_80FBCA0\n\ bl sub_80FAEC4\n\ - ldr r1, ._54 + 4\n\ + ldr r1, ._54 + 4 @ \n\ ldrh r0, [r1, #0x4]\n\ add r0, r0, #0x1\n\ b ._62\n\ @@ -290,7 +290,7 @@ void debug_sub_8110D84(void) mov r0, #0x0\n\ mov r1, #0x0\n\ bl CreateRegionMapCursor\n\ - ldr r1, ._58\n\ + ldr r1, ._58 @ \n\ ldrh r0, [r1, #0x4]\n\ add r0, r0, #0x1\n\ b ._62\n\ @@ -305,7 +305,7 @@ void debug_sub_8110D84(void) beq ._60 @cond_branch\n\ bl debug_sub_8110CCC\n\ ._60:\n\ - ldr r0, ._63\n\ + ldr r0, ._63 @ gMain\n\ ldrh r1, [r0, #0x2e]\n\ mov r0, #0x1\n\ and r0, r0, r1\n\ @@ -313,7 +313,7 @@ void debug_sub_8110D84(void) beq ._65 @cond_branch\n\ bl sub_80FBCA0\n\ bl sub_80FAEC4\n\ - ldr r1, ._63 + 4\n\ + ldr r1, ._63 + 4 @ \n\ ldrh r0, [r1, #0x4]\n\ add r0, r0, #0x1\n\ b ._62\n\ @@ -330,7 +330,7 @@ void debug_sub_8110D84(void) mov r0, #0x0\n\ mov r1, #0x0\n\ bl CreateRegionMapCursor\n\ - ldr r1, ._66\n\ + ldr r1, ._66 @ \n\ mov r0, #0x3\n\ ._62:\n\ strh r0, [r1, #0x4]\n\ @@ -351,13 +351,13 @@ void debug_sub_8110F28(void) asm("\ push {lr}\n\ bl CB2_InitFlyRegionMap\n\ - ldr r0, ._69\n\ + ldr r0, ._69 @ gMain\n\ ldr r1, [r0, #0x4]\n\ - ldr r0, ._69 + 4\n\ + ldr r0, ._69 + 4 @ CB2_FlyRegionMap\n\ cmp r1, r0\n\ bne ._68 @cond_branch\n\ bl sub_80FBF94\n\ - ldr r0, ._69 + 8\n\ + ldr r0, ._69 + 8 @ debug_sub_8110D84\n\ bl sub_80FC244\n\ bl debug_sub_8110CCC\n\ ._68:\n\ -- cgit v1.2.3 From f87bd7328ce26deddc53b62e53827089bfacd30a Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 27 Jan 2018 20:34:43 -0600 Subject: decompile more debug functions in battle_2.c --- src/battle/battle_2.c | 2737 +++++++++++++++---------------------------------- 1 file changed, 800 insertions(+), 1937 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index b9b4290b5..a400257dd 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -67,12 +67,15 @@ struct UnknownStruct12 u8 filler4[0x54]; }; -void debug_sub_80139E4(void); -extern u8 gUnknown_02023A14_50; +extern void sub_802BBD4(); +extern const u8 Str_821F7B8[]; +extern u8 gUnknown_02023A14_50; extern const u16 gUnknown_08D004E0[]; extern const struct MonCoords gCastformFrontSpriteCoords[]; - +extern const u8 Str_821F7EA[]; +extern const u8 gUnknown_Debug_821F7F3[]; +extern const u8 BattleText_YesNo[]; extern u8 gStatStageRatios[][2]; extern u8 gActionsByTurnOrder[4]; extern struct UnknownPokemonStruct2 gUnknown_02023A00[]; @@ -85,7 +88,7 @@ extern u8 gCurrentActionFuncId; extern u8 gBanksByTurnOrder[]; extern struct UnknownStruct12 gUnknown_02024AD0[]; extern u8 gObjectBankIDs[]; -extern u16 gCurrentMove; +extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID. extern u8 gLastUsedAbility; extern u8 gStringBank; extern u8 gAbsentBankFlags; @@ -182,7 +185,7 @@ extern u8 gUnknown_081FA70C[][3]; extern u8 gUnknown_081FA71B[]; extern u8 gUnknown_081FA71F[]; - +void sub_8010824(void); static void BattlePrepIntroSlide(void); void CheckFocusPunch_ClearVarsBeforeTurnStarts(void); void SetActionsAndBanksTurnOrder(void); @@ -551,11 +554,7 @@ void sub_800EC9C(void) if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { gPreBattleCallback1 = gMain.callback1; -#if DEBUG - gMain.callback1 = debug_sub_80139E4; -#else gMain.callback1 = sub_8010824; -#endif SetMainCallback2(BattleMainCB2); if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -940,11 +939,7 @@ void sub_800F298(void) if (battle_load_something(gUnknown_02024D1F, gUnknown_02024D1F + 1) != 0) { gPreBattleCallback1 = gMain.callback1; -#if DEBUG - gMain.callback1 = debug_sub_80139E4; -#else gMain.callback1 = sub_8010824; -#endif SetMainCallback2(BattleMainCB2); if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -1363,6 +1358,10 @@ void c2_081284E0(void) // A LOT of debug code! #if DEBUG +extern u8 gUnknown_Debug_2023B62[]; +extern const u8 Str_821F7BD[]; +extern const u8 Str_821F7DA[]; + void debug_sub_8010818(void); void debug_sub_80108B8(void); void debug_sub_8010CAC(void); @@ -1372,8 +1371,10 @@ void debug_sub_8011EA0(u8); void debug_sub_8012294(void); void debug_sub_80123D8(u8); void debug_sub_8012540(void); -void debug_sub_80125A0(void); void debug_nullsub_3(void); +void debug_sub_80125A0(void); +u32 debug_sub_8013294(u8, void *, u32); +void debug_sub_80132C8(u8, void *, u32); struct UnknownStruct2023A76 { @@ -1500,8 +1501,6 @@ void debug_sub_80108B8(void) } } -// This function matches, but it somehow affects registers in SetActionsAndBanksTurnOrder. -#ifdef NONMATCHING void debug_sub_8010A7C(u8 a, u8 b) { s32 i; @@ -1510,49 +1509,6 @@ void debug_sub_8010A7C(u8 a, u8 b) gBattleTextBuff1[i] = a; gBattleTextBuff1[i] = EOS; } -#else -__attribute__((naked)) -void debug_sub_8010A7C() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r2, r1, #0x18\n" - " mov r1, #0x0\n" - " ldr r5, ._514 @ gBattleTextBuff1\n" - " cmp r1, r2\n" - " bge ._512 @cond_branch\n" - " add r3, r5, #0\n" - "._513:\n" - " add r0, r1, r3\n" - " strb r4, [r0]\n" - " add r1, r1, #0x1\n" - " cmp r1, r2\n" - " blt ._513 @cond_branch\n" - "._512:\n" - " add r1, r1, r5\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._515:\n" - " .align 2, 0\n" - "._514:\n" - " .word gBattleTextBuff1\n" - "\n" - ); -} -#endif - -/* -void debug_sub_8010AAC(u8 a) -{ - u32 r7 = gUnknown_Debug_030043A4 * 5; -} -*/ __attribute__((naked)) void debug_sub_8010AAC() @@ -5195,6 +5151,21 @@ void debug_sub_8012878() ); } +/* +void debug_sub_80128B4(void) +{ + debug_sub_8010A7C(0, 9); + Text_InitWindow(&gUnknown_03004210, gBattleTextBuff1, 144, 2, 35); + Text_PrintWindow8002F44(&gUnknown_03004210); + ConvertIntToDecimalStringN(gBattleTextBuff1, gCurrentMove, 2, 3); + gBattleTextBuff1[3] = CHAR_SPACE; + gBattleTextBuff1[4] = EOS; + StringAppend(gBattleTextBuff1, gSpeciesNames[gCurrentMove]); + Text_InitWindow(&gUnknown_03004210, gBattleTextBuff1, 144, 2, 35); + Text_PrintWindow8002F44(&gUnknown_03004210); +} +*/ + __attribute__((naked)) void debug_sub_80128B4() { @@ -5261,1226 +5232,354 @@ void debug_sub_80128B4() ); } -__attribute__((naked)) -void debug_sub_8012938() +void debug_sub_8012938(u8 taskId) { - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, sl\n" - " mov r5, r9\n" - " mov r4, r8\n" - " push {r4, r5, r6}\n" - " add sp, sp, #0xfffffffc\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " mov r0, #0x0\n" - " mov r1, #0x7\n" - " bl debug_sub_8010A7C\n" - " ldr r6, ._880 @ gUnknown_03004210\n" - " ldr r4, ._880 + 4 @ gBattleTextBuff1\n" - " mov r0, #0x25\n" - " mov r8, r0\n" - " str r0, [sp]\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " mov r2, #0xa2\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - " add r0, r6, #0\n" - " bl Text_PrintWindow8002F44\n" - " ldr r1, ._880 + 8 @ Str_821F7B8\n" - " add r0, r4, #0\n" - " bl StringCopy\n" - " add r0, r4, #4\n" - " ldr r1, ._880 + 12 @ gUnknown_Debug_2023B62\n" - " mov sl, r1\n" - " ldr r2, ._880 + 16 @ gCurrentMove\n" - " mov r9, r2\n" - " ldrh r1, [r2]\n" - " sub r1, r1, #0x1\n" - " add r1, r1, sl\n" - " ldrb r1, [r1]\n" - " mov r2, #0x2\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, r8\n" - " str r0, [sp]\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " mov r2, #0xa2\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - " add r0, r6, #0\n" - " bl Text_PrintWindow8002F44\n" - " ldr r2, ._880 + 20 @ gSprites\n" - " ldr r1, ._880 + 24 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0xa\n" - " ldsh r0, [r0, r1]\n" - " lsl r1, r0, #0x4\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r2\n" - " mov r2, r9\n" - " ldrh r0, [r2]\n" - " sub r0, r0, #0x1\n" - " add r0, r0, sl\n" - " ldrb r0, [r0]\n" - " neg r0, r0\n" - " strh r0, [r1, #0x26]\n" - " add sp, sp, #0x4\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._881:\n" - " .align 2, 0\n" - "._880:\n" - " .word gUnknown_03004210\n" - " .word gBattleTextBuff1\n" - " .word Str_821F7B8\n" - " .word gUnknown_Debug_2023B62\n" - " .word gCurrentMove\n" - " .word gSprites\n" - " .word gTasks\n" - "\n" - ); + debug_sub_8010A7C(0, 7); + Text_InitWindow(&gUnknown_03004210, gBattleTextBuff1, 162, 2, 37); + Text_PrintWindow8002F44(&gUnknown_03004210); + StringCopy(gBattleTextBuff1, Str_821F7B8); + ConvertIntToDecimalStringN(gBattleTextBuff1 + 4, gUnknown_Debug_2023B62[gCurrentMove - 1], 2, 3); + Text_InitWindow(&gUnknown_03004210, gBattleTextBuff1, 162, 2, 37); + Text_PrintWindow8002F44(&gUnknown_03004210); + gSprites[gTasks[taskId].data[1]].pos2.y = -gUnknown_Debug_2023B62[gCurrentMove - 1]; } -__attribute__((naked)) -void debug_sub_80129F8() +void debug_sub_80129F8(u8 taskId) { - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xfffffff8\n" - " add r5, r0, #0\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r6, ._882 @ gCurrentMove\n" - " ldrh r2, [r6]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._882 + 4 @ gMonFrontPicTable\n" - " add r0, r0, r1\n" - " ldr r1, ._882 + 8 @ gMonFrontPicCoords\n" - " mov r8, r1\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r8\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x12\n" - " ldr r4, ._882 + 12 @ gUnknown_081FAF4C\n" - " ldr r4, [r4, #0x4]\n" - " str r4, [sp]\n" - " ldrh r4, [r6]\n" - " str r4, [sp, #0x4]\n" - " bl DecompressPicFromTable_2\n" - " ldr r1, ._882 + 16 @ gMonPaletteTable\n" - " ldrh r0, [r6]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0x88\n" - " lsl r1, r1, #0x1\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - " ldr r4, ._882 + 20 @ gSprites\n" - " ldr r0, ._882 + 24 @ gTasks\n" - " lsl r2, r5, #0x2\n" - " add r2, r2, r5\n" - " lsl r2, r2, #0x3\n" - " add r2, r2, r0\n" - " mov r1, #0xa\n" - " ldsh r0, [r2, r1]\n" - " lsl r1, r0, #0x4\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r4\n" - " ldrh r0, [r6]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r8\n" - " ldrb r0, [r0, #0x1]\n" - " add r0, r0, #0x28\n" - " strh r0, [r1, #0x22]\n" - " mov r1, #0xa\n" - " ldsh r0, [r2, r1]\n" - " lsl r1, r0, #0x4\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r4\n" - " ldr r3, ._882 + 28 @ gUnknown_Debug_2023B62\n" - " ldrh r0, [r6]\n" - " sub r0, r0, #0x1\n" - " add r0, r0, r3\n" - " ldrb r0, [r0]\n" - " neg r0, r0\n" - " strh r0, [r1, #0x26]\n" - " mov r0, #0xa\n" - " ldsh r1, [r2, r0]\n" - " lsl r0, r1, #0x4\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r4\n" - " mov r1, #0x0\n" - " bl StartSpriteAnim\n" - " add sp, sp, #0x8\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._883:\n" - " .align 2, 0\n" - "._882:\n" - " .word gCurrentMove\n" - " .word gMonFrontPicTable\n" - " .word gMonFrontPicCoords\n" - " .word gUnknown_081FAF4C\n" - " .word gMonPaletteTable\n" - " .word gSprites\n" - " .word gTasks\n" - " .word gUnknown_Debug_2023B62\n" - "\n" - ); + DecompressPicFromTable_2( + &gMonFrontPicTable[gCurrentMove], + gMonFrontPicCoords[gCurrentMove].coords, + gMonFrontPicCoords[gCurrentMove].y_offset, + (void *)0x02000000, + gUnknown_081FAF4C[1], + gCurrentMove); + LoadCompressedPalette(gMonPaletteTable[gCurrentMove].data, 272, 32); + gSprites[gTasks[taskId].data[1]].pos1.y = gMonFrontPicCoords[gCurrentMove].y_offset + 40; + gSprites[gTasks[taskId].data[1]].pos2.y = -gUnknown_Debug_2023B62[gCurrentMove - 1]; + StartSpriteAnim(&gSprites[gTasks[taskId].data[1]], 0); } -__attribute__((naked)) -void debug_sub_8012AC0() +void debug_sub_8012AC0(s8 a, u8 taskId) { - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r6, r1, #0x18\n" - " ldr r3, ._885 @ gCurrentMove\n" - " ldr r4, ._885 + 4 @ gBaseStats\n" - " b ._884\n" - "._886:\n" - " .align 2, 0\n" - "._885:\n" - " .word gCurrentMove\n" - " .word gBaseStats\n" - "._890:\n" - " ldrb r0, [r1, #0x7]\n" - " cmp r0, #0x2\n" - " beq ._887 @cond_branch\n" - "._884:\n" - " add r2, r3, #0\n" - " lsl r0, r5, #0x18\n" - " asr r0, r0, #0x18\n" - " ldrh r1, [r2]\n" - " add r0, r0, r1\n" - " strh r0, [r2]\n" - " lsl r0, r0, #0x10\n" - " cmp r0, #0\n" - " bne ._888 @cond_branch\n" - " ldr r1, ._891 @ 0x19b\n" - " add r0, r1, #0\n" - " strh r0, [r2]\n" - "._888:\n" - " ldrh r1, [r2]\n" - " ldr r0, ._891 @ 0x19b\n" - " cmp r1, r0\n" - " bne ._889 @cond_branch\n" - " mov r0, #0x1\n" - " strh r0, [r2]\n" - "._889:\n" - " ldrh r0, [r3]\n" - " lsl r1, r0, #0x3\n" - " sub r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r4\n" - " ldrb r0, [r1, #0x6]\n" - " cmp r0, #0x2\n" - " bne ._890 @cond_branch\n" - "._887:\n" - " bl debug_sub_80128B4\n" - " add r0, r6, #0\n" - " bl debug_sub_8012938\n" - " add r0, r6, #0\n" - " bl debug_sub_80129F8\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._892:\n" - " .align 2, 0\n" - "._891:\n" - " .word 0x19b\n" - "\n" - ); + do + { + gCurrentMove += a; + if (gCurrentMove == 0) + gCurrentMove = 411; + if (gCurrentMove == 411) + gCurrentMove = 1; + } while (gBaseStats[gCurrentMove].type1 != 2 && gBaseStats[gCurrentMove].type2 != 2); + debug_sub_80128B4(); + debug_sub_8012938(taskId); + debug_sub_80129F8(taskId); } -__attribute__((naked)) -void debug_sub_8012B2C() +void debug_sub_8012B2C(u8 a) { - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x11\n" - " ldr r1, ._893 @ 0x600c772\n" - " add r2, r0, r1\n" - " mov r1, #0x1\n" - " strh r1, [r2]\n" - " ldr r1, ._893 + 4 @ 0x600c7b2\n" - " add r0, r0, r1\n" - " mov r1, #0x2\n" - " strh r1, [r0]\n" - " bx lr\n" - "._894:\n" - " .align 2, 0\n" - "._893:\n" - " .word 0x600c772\n" - " .word 0x600c7b2\n" - "\n" - ); + *(u16 *)(VRAM + 0xC000 + 0x772 + (a * 4 + 0) * 0x20) = 1; + *(u16 *)(VRAM + 0xC000 + 0x772 + (a * 4 + 2) * 0x20) = 2; } -__attribute__((naked)) -void debug_sub_8012B4C() +void debug_sub_8012B4C(u8 a) { - asm( - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x11\n" - " ldr r2, ._895 @ 0x600c772\n" - " add r1, r0, r2\n" - " ldr r3, ._895 + 4 @ 0x1016\n" - " add r2, r3, #0\n" - " strh r2, [r1]\n" - " ldr r1, ._895 + 8 @ 0x600c7b2\n" - " add r0, r0, r1\n" - " strh r2, [r0]\n" - " bx lr\n" - "._896:\n" - " .align 2, 0\n" - "._895:\n" - " .word 0x600c772\n" - " .word 0x1016\n" - " .word 0x600c7b2\n" - "\n" - ); + *(u16 *)(VRAM + 0xC000 + 0x772 + (a * 4 + 0) * 0x20) = 0x1016; + *(u16 *)(VRAM + 0xC000 + 0x772 + (a * 4 + 2) * 0x20) = 0x1016; } -__attribute__((naked)) -void debug_sub_8012B70() +void debug_sub_8012B70(u8 taskId, u8 b) { - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " lsl r1, r1, #0x18\n" - " lsr r6, r1, #0x18\n" - " cmp r6, #0\n" - " beq ._897 @cond_branch\n" - " mov r4, #0x1\n" - " str r4, [sp]\n" - " mov r0, #0x18\n" - " mov r1, #0x1c\n" - " mov r2, #0x1d\n" - " mov r3, #0x21\n" - " bl sub_802BBD4\n" - " bl debug_sub_80128B4\n" - " add r0, r5, #0\n" - " bl debug_sub_8012938\n" - " add r0, r5, #0\n" - " bl debug_sub_80129F8\n" - " ldr r1, ._899 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " strh r4, [r0, #0x8]\n" - " b ._898\n" - "._900:\n" - " .align 2, 0\n" - "._899:\n" - " .word gTasks\n" - "._897:\n" - " str r6, [sp]\n" - " mov r0, #0x18\n" - " mov r1, #0x1c\n" - " mov r2, #0x1d\n" - " mov r3, #0x21\n" - " bl sub_802BBD4\n" - " ldr r0, ._901 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " mov r0, #0x2\n" - " strh r0, [r4, #0x8]\n" - " ldr r5, ._901 + 4 @ gUnknown_03004210\n" - " ldr r1, ._901 + 8 @ Str_821F7DA\n" - " mov r2, #0xa4\n" - " lsl r2, r2, #0x2\n" - " mov r0, #0x1d\n" - " str r0, [sp]\n" - " add r0, r5, #0\n" - " mov r3, #0x1a\n" - " bl Text_InitWindow\n" - " add r0, r5, #0\n" - " bl Text_PrintWindow8002F44\n" - " strh r6, [r4, #0xe]\n" - " mov r0, #0x0\n" - " bl debug_sub_8012B2C\n" - "._898:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._902:\n" - " .align 2, 0\n" - "._901:\n" - " .word gTasks\n" - " .word gUnknown_03004210\n" - " .word Str_821F7DA\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8012C08() -{ - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffffc\n" - " add r4, r1, #0\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " mov r0, #0x0\n" - " mov r1, #0x9\n" - " bl debug_sub_8010A7C\n" - " ldr r7, ._905 @ gUnknown_03004210\n" - " ldr r5, ._905 + 4 @ gBattleTextBuff1\n" - " mov r0, #0x23\n" - " mov r8, r0\n" - " str r0, [sp]\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " mov r2, #0x90\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - " add r0, r7, #0\n" - " bl Text_PrintWindow8002F44\n" - " mov r0, #0x0\n" - " mov r1, #0x7\n" - " bl debug_sub_8010A7C\n" - " mov r0, #0x25\n" - " str r0, [sp]\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " mov r2, #0xa2\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - " add r0, r7, #0\n" - " bl Text_PrintWindow8002F44\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x18\n" - " mov r1, #0x1c\n" - " mov r2, #0x1d\n" - " mov r3, #0x21\n" - " bl sub_802BBD4\n" - " cmp r4, #0\n" - " beq ._903 @cond_branch\n" - " ldr r1, ._905 + 8 @ gTasks\n" - " lsl r4, r6, #0x2\n" - " add r0, r4, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0x4\n" - " strh r1, [r0, #0x8]\n" - " ldr r1, ._905 + 12 @ gUnknown_Debug_821F7F3\n" - " mov r0, r8\n" - " str r0, [sp]\n" - " add r0, r7, #0\n" - " mov r2, #0x90\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - " b ._904\n" - "._906:\n" - " .align 2, 0\n" - "._905:\n" - " .word gUnknown_03004210\n" - " .word gBattleTextBuff1\n" - " .word gTasks\n" - " .word gUnknown_Debug_821F7F3\n" - "._903:\n" - " ldr r1, ._907 @ gTasks\n" - " lsl r4, r6, #0x2\n" - " add r0, r4, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0x3\n" - " strh r1, [r0, #0x8]\n" - " ldr r1, ._907 + 4 @ Str_821F7EA\n" - " mov r0, r8\n" - " str r0, [sp]\n" - " add r0, r7, #0\n" - " mov r2, #0x90\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - "._904:\n" - " add r5, r4, #0\n" - " ldr r4, ._907 + 8 @ gUnknown_03004210\n" - " add r0, r4, #0\n" - " bl Text_PrintWindow8002F44\n" - " ldr r1, ._907 + 12 @ BattleText_YesNo\n" - " mov r2, #0xa4\n" - " lsl r2, r2, #0x2\n" - " mov r0, #0x1d\n" - " str r0, [sp]\n" - " add r0, r4, #0\n" - " mov r3, #0x1a\n" - " bl Text_InitWindow\n" - " add r0, r4, #0\n" - " bl Text_PrintWindow8002F44\n" - " ldr r1, ._907 @ gTasks\n" - " add r0, r5, r6\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0x1\n" - " strh r1, [r0, #0xe]\n" - " mov r0, #0x1\n" - " bl debug_sub_8012B2C\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._908:\n" - " .align 2, 0\n" - "._907:\n" - " .word gTasks\n" - " .word Str_821F7EA\n" - " .word gUnknown_03004210\n" - " .word BattleText_YesNo\n" - "\n" - ); -} - -__attribute__((naked)) -void debug_sub_8012D10() -{ - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._911 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0x8\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x4\n" - " bls ._909 @cond_branch\n" - " b ._1067\n" - "._909:\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._911 + 4 @ \n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._912:\n" - " .align 2, 0\n" - "._911:\n" - " .word gTasks\n" - " .word ._913\n" - "._913:\n" - " .word ._914\n" - " .word ._915\n" - " .word ._916\n" - " .word ._917\n" - " .word ._918\n" - "._914:\n" - " bl debug_sub_80128B4\n" - " add r0, r5, #0\n" - " bl debug_sub_8012938\n" - " ldr r4, ._920 @ gUnknown_03004210\n" - " ldr r1, ._920 + 4 @ Str_821F7BD\n" - " mov r2, #0xc8\n" - " lsl r2, r2, #0x1\n" - " mov r0, #0x23\n" - " str r0, [sp]\n" - " add r0, r4, #0\n" - " mov r3, #0x13\n" - " bl Text_InitWindow\n" - " add r0, r4, #0\n" - " bl Text_PrintWindow8002F44\n" - " ldr r1, ._920 + 8 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrh r1, [r0, #0x8]\n" - " add r1, r1, #0x1\n" - " strh r1, [r0, #0x8]\n" - " ldrb r0, [r0, #0xc]\n" - " b ._919\n" - "._921:\n" - " .align 2, 0\n" - "._920:\n" - " .word gUnknown_03004210\n" - " .word Str_821F7BD\n" - " .word gTasks\n" - "._915:\n" - " ldr r2, ._924 @ gMain\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._922 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._924 + 4 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xc]\n" - " bl nullsub_8\n" - " ldrh r1, [r4, #0xc]\n" - " mov r0, #0x3\n" - " neg r0, r0\n" - " and r0, r0, r1\n" - " b ._931\n" - "._925:\n" - " .align 2, 0\n" - "._924:\n" - " .word gMain\n" - " .word gTasks\n" - "._922:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._926 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._928 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xc]\n" - " bl nullsub_8\n" - " ldrh r1, [r4, #0xc]\n" - " mov r0, #0x2\n" - " b ._927\n" - "._929:\n" - " .align 2, 0\n" - "._928:\n" - " .word gTasks\n" - "._926:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._930 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._932 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xc]\n" - " bl nullsub_8\n" - " ldrh r1, [r4, #0xc]\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " and r0, r0, r1\n" - " b ._931\n" - "._933:\n" - " .align 2, 0\n" - "._932:\n" - " .word gTasks\n" - "._930:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._934 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._936 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xc]\n" - " bl nullsub_8\n" - " ldrh r1, [r4, #0xc]\n" - " mov r0, #0x1\n" - "._927:\n" - " orr r0, r0, r1\n" - "._931:\n" - " strh r0, [r4, #0xc]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - "._919:\n" - " mov r1, #0x0\n" - " bl sub_802E3E4\n" - " b ._1067\n" - "._937:\n" - " .align 2, 0\n" - "._936:\n" - " .word gTasks\n" - "._934:\n" - " ldrh r1, [r2, #0x30]\n" - " mov r4, #0x1\n" - " add r0, r4, #0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._938 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._943 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r2, #0xc\n" - " ldsh r0, [r0, r2]\n" - " cmp r0, #0x1\n" - " beq ._939 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._940 @cond_branch\n" - " cmp r0, #0\n" - " beq ._941 @cond_branch\n" - " b ._1067\n" - "._944:\n" - " .align 2, 0\n" - "._943:\n" - " .word gTasks\n" - "._940:\n" - " cmp r0, #0x2\n" - " beq ._945 @cond_branch\n" - "._990:\n" - " cmp r0, #0x3\n" - " bne ._946 @cond_branch\n" - " b ._1014\n" - "._946:\n" - " b ._1067\n" - "._941:\n" - " ldr r1, ._952 @ gUnknown_Debug_2023B62\n" - " ldr r0, ._952 + 4 @ gCurrentMove\n" - " ldrh r0, [r0]\n" - " sub r0, r0, #0x1\n" - " add r1, r0, r1\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x3f\n" - " bls ._949 @cond_branch\n" - " b ._1067\n" - "._949:\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._1019\n" - "._953:\n" - " .align 2, 0\n" - "._952:\n" - " .word gUnknown_Debug_2023B62\n" - " .word gCurrentMove\n" - "._939:\n" - " mov r0, #0x1\n" - " b ._997\n" - "._945:\n" - " ldr r1, ._957 @ gCurrentMove\n" - " ldrh r2, [r1]\n" - " mov r0, #0xcd\n" - " lsl r0, r0, #0x1\n" - " cmp r2, r0\n" - " bhi ._955 @cond_branch\n" - " add r0, r2, #1\n" - "._979:\n" - " strh r0, [r1]\n" - " b ._1025\n" - "._958:\n" - " .align 2, 0\n" - "._957:\n" - " .word gCurrentMove\n" - "._955:\n" - " strh r4, [r1]\n" - " b ._1025\n" - "._938:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._960 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._966 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0xc\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x1\n" - " bne ._961 @cond_branch\n" - " b ._1007\n" - "._961:\n" - " cmp r0, #0x1\n" - " bgt ._963 @cond_branch\n" - " cmp r0, #0\n" - " beq ._964 @cond_branch\n" - " b ._1067\n" - "._967:\n" - " .align 2, 0\n" - "._966:\n" - " .word gTasks\n" - "._963:\n" - " cmp r0, #0x2\n" - " beq ._968 @cond_branch\n" - " b ._990\n" - "._964:\n" - " ldr r1, ._973 @ gUnknown_Debug_2023B62\n" - " ldr r0, ._973 + 4 @ gCurrentMove\n" - " ldrh r0, [r0]\n" - " sub r0, r0, #0x1\n" - " add r1, r0, r1\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._970 @cond_branch\n" - " b ._1067\n" - "._970:\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " b ._1019\n" - "._974:\n" - " .align 2, 0\n" - "._973:\n" - " .word gUnknown_Debug_2023B62\n" - " .word gCurrentMove\n" - "._968:\n" - " ldr r1, ._977 @ gCurrentMove\n" - " ldrh r0, [r1]\n" - " cmp r0, #0x1\n" - " bls ._975 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._979\n" - "._978:\n" - " .align 2, 0\n" - "._977:\n" - " .word gCurrentMove\n" - "._975:\n" - " ldr r2, ._980 @ 0x19b\n" - " add r0, r2, #0\n" - " b ._979\n" - "._981:\n" - " .align 2, 0\n" - "._980:\n" - " .word 0x19b\n" - "._960:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._982 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._987 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0xc\n" - " ldsh r0, [r0, r1]\n" - " cmp r0, #0x1\n" - " beq ._983 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._984 @cond_branch\n" - " cmp r0, #0\n" - " beq ._985 @cond_branch\n" - " b ._1067\n" - "._988:\n" - " .align 2, 0\n" - "._987:\n" - " .word gTasks\n" - "._984:\n" - " cmp r0, #0x2\n" - " beq ._989 @cond_branch\n" - " b ._990\n" - "._985:\n" - " ldr r3, ._995 @ gUnknown_Debug_2023B62\n" - " ldr r2, ._995 + 4 @ gCurrentMove\n" - " ldrh r0, [r2]\n" - " sub r0, r0, #0x1\n" - " add r1, r0, r3\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x3f\n" - " bls ._991 @cond_branch\n" - " b ._1067\n" - "._991:\n" - " add r0, r0, #0x8\n" - " strb r0, [r1]\n" - " ldrh r0, [r2]\n" - " sub r0, r0, #0x1\n" - " add r1, r0, r3\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x40\n" - " bls ._1019 @cond_branch\n" - " mov r0, #0x40\n" - " strb r0, [r1]\n" - " b ._1019\n" - "._996:\n" - " .align 2, 0\n" - "._995:\n" - " .word gUnknown_Debug_2023B62\n" - " .word gCurrentMove\n" - "._983:\n" - " mov r0, #0x1\n" - " b ._997\n" - "._989:\n" - " ldr r3, ._1000 @ gCurrentMove\n" - " ldrh r2, [r3]\n" - " add r1, r2, #0\n" - " add r1, r1, #0xa\n" - " ldr r0, ._1000 + 4 @ 0x19b\n" - " cmp r1, r0\n" - " bgt ._998 @cond_branch\n" - " strh r1, [r3]\n" - " b ._1025\n" - "._1001:\n" - " .align 2, 0\n" - "._1000:\n" - " .word gCurrentMove\n" - " .word 0x19b\n" - "._998:\n" - " ldr r1, ._1003 @ 0xfffffe70\n" - " add r0, r2, r1\n" - " strh r0, [r3]\n" - " b ._1025\n" - "._1004:\n" - " .align 2, 0\n" - "._1003:\n" - " .word 0xfffffe70\n" - "._982:\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._1005 @cond_branch\n" - " b ._1067\n" - "._1005:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._1011 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r2, #0xc\n" - " ldsh r3, [r0, r2]\n" - " cmp r3, #0x1\n" - " beq ._1007 @cond_branch\n" - " cmp r3, #0x1\n" - " bgt ._1008 @cond_branch\n" - " cmp r3, #0\n" - " beq ._1009 @cond_branch\n" - " b ._1067\n" - "._1012:\n" - " .align 2, 0\n" - "._1011:\n" - " .word gTasks\n" - "._1008:\n" - " cmp r3, #0x2\n" - " beq ._1013 @cond_branch\n" - " cmp r3, #0x3\n" - " beq ._1014 @cond_branch\n" - " b ._1067\n" - "._1009:\n" - " ldr r1, ._1020 @ gUnknown_Debug_2023B62\n" - " ldr r0, ._1020 + 4 @ gCurrentMove\n" - " ldrh r0, [r0]\n" - " sub r0, r0, #0x1\n" - " add r2, r0, r1\n" - " ldrb r0, [r2]\n" - " add r1, r0, #0\n" - " cmp r1, #0\n" - " bne ._1016 @cond_branch\n" - " b ._1067\n" - "._1016:\n" - " cmp r1, #0x8\n" - " bls ._1018 @cond_branch\n" - " sub r0, r0, #0x8\n" - " strb r0, [r2]\n" - " b ._1019\n" - "._1021:\n" - " .align 2, 0\n" - "._1020:\n" - " .word gUnknown_Debug_2023B62\n" - " .word gCurrentMove\n" - "._1018:\n" - " strb r3, [r2]\n" - "._1019:\n" - " add r0, r5, #0\n" - " bl debug_sub_8012938\n" - " b ._1067\n" - "._1007:\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - "._997:\n" - " add r1, r5, #0\n" - " bl debug_sub_8012AC0\n" - " b ._1067\n" - "._1013:\n" - " ldr r2, ._1026 @ gCurrentMove\n" - " ldrh r0, [r2]\n" - " add r1, r0, #0\n" - " sub r1, r1, #0xa\n" - " cmp r1, #0x1\n" - " ble ._1024 @cond_branch\n" - " strh r1, [r2]\n" - " b ._1025\n" - "._1027:\n" - " .align 2, 0\n" - "._1026:\n" - " .word gCurrentMove\n" - "._1024:\n" - " mov r1, #0xc8\n" - " lsl r1, r1, #0x1\n" - " add r0, r0, r1\n" - " strh r0, [r2]\n" - "._1025:\n" - " bl debug_sub_80128B4\n" - " add r0, r5, #0\n" - " bl debug_sub_8012938\n" - " add r0, r5, #0\n" - " bl debug_sub_80129F8\n" - " b ._1067\n" - "._1014:\n" - " add r0, r5, #0\n" - " mov r1, #0x0\n" - " bl debug_sub_8012B70\n" - " b ._1067\n" - "._916:\n" - " ldr r0, ._1032 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1030 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._1032 + 4 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xe]\n" - " bl debug_sub_8012B4C\n" - " mov r0, #0x0\n" - " b ._1055\n" - "._1033:\n" - " .align 2, 0\n" - "._1032:\n" - " .word gMain\n" - " .word gTasks\n" - "._1030:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._1046 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1035 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._1037 @ gTasks\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " ldrb r1, [r1, #0xe]\n" - " add r0, r5, #0\n" - " bl debug_sub_8012C08\n" - " b ._1067\n" - "._1038:\n" - " .align 2, 0\n" - "._1037:\n" - " .word gTasks\n" - "._1035:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._1039 @cond_branch\n" - " b ._1067\n" - "._1039:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " b ._1063\n" - "._917:\n" - " ldr r0, ._1044 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1042 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._1044 + 4 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xe]\n" - " bl debug_sub_8012B4C\n" - " mov r0, #0x0\n" - " b ._1055\n" - "._1045:\n" - " .align 2, 0\n" - "._1044:\n" - " .word gMain\n" - " .word gTasks\n" - "._1042:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._1046 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1047 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._1050 @ gTasks\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " mov r2, #0xe\n" - " ldsh r0, [r1, r2]\n" - " cmp r0, #0\n" - " bne ._1063 @cond_branch\n" - " ldr r1, ._1050 + 4 @ gUnknown_Debug_2023B62\n" - " ldr r2, ._1050 + 8 @ 0x19b\n" - " mov r0, #0x1f\n" - " bl debug_sub_80132C8\n" - " b ._1063\n" - "._1051:\n" - " .align 2, 0\n" - "._1050:\n" - " .word gTasks\n" - " .word gUnknown_Debug_2023B62\n" - " .word 0x19b\n" - "._1047:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1067 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " b ._1063\n" - "._918:\n" - " ldr r0, ._1056 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1054 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._1056 + 4 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xe]\n" - " bl debug_sub_8012B4C\n" - " mov r0, #0x0\n" - " b ._1055\n" - "._1057:\n" - " .align 2, 0\n" - "._1056:\n" - " .word gMain\n" - " .word gTasks\n" - "._1054:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1058 @cond_branch\n" - "._1046:\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._1060 @ gTasks\n" - " lsl r4, r5, #0x2\n" - " add r4, r4, r5\n" - " lsl r4, r4, #0x3\n" - " add r4, r4, r0\n" - " ldrb r0, [r4, #0xe]\n" - " bl debug_sub_8012B4C\n" - " mov r0, #0x1\n" - "._1055:\n" - " strh r0, [r4, #0xe]\n" - " bl debug_sub_8012B2C\n" - " b ._1067\n" - "._1061:\n" - " .align 2, 0\n" - "._1060:\n" - " .word gTasks\n" - "._1058:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1062 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r0, ._1065 @ gTasks\n" - " lsl r1, r5, #0x2\n" - " add r1, r1, r5\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r0\n" - " mov r2, #0xe\n" - " ldsh r0, [r1, r2]\n" - " cmp r0, #0\n" - " bne ._1063 @cond_branch\n" - " ldr r1, ._1065 + 4 @ gUnknown_Debug_2023B62\n" - " ldr r2, ._1065 + 8 @ 0x19b\n" - " mov r0, #0x1f\n" - " bl debug_sub_8013294\n" - "._1063:\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " bl debug_sub_8012B70\n" - " b ._1067\n" - "._1066:\n" - " .align 2, 0\n" - "._1065:\n" - " .word gTasks\n" - " .word gUnknown_Debug_2023B62\n" - " .word 0x19b\n" - "._1062:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1067 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " add r0, r5, #0\n" - " mov r1, #0x1\n" - " bl debug_sub_8012B70\n" - "._1067:\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + if (b != 0) + { + sub_802BBD4(24, 28, 29, 33, 1); + debug_sub_80128B4(); + debug_sub_8012938(taskId); + debug_sub_80129F8(taskId); + gTasks[taskId].data[0] = 1; + } + else + { + sub_802BBD4(24, 28, 29, 33, 0); + gTasks[taskId].data[0] = 2; + Text_InitWindow(&gUnknown_03004210, Str_821F7DA, 656, 26, 29); + Text_PrintWindow8002F44(&gUnknown_03004210); + gTasks[taskId].data[3] = 0; + debug_sub_8012B2C(0); + } +} + +void debug_sub_8012C08(u8 taskId, u8 b) +{ + debug_sub_8010A7C(0, 9); + Text_InitWindow(&gUnknown_03004210, gBattleTextBuff1, 144, 2, 35); + Text_PrintWindow8002F44(&gUnknown_03004210); + debug_sub_8010A7C(0, 7); + Text_InitWindow(&gUnknown_03004210, gBattleTextBuff1, 162, 2, 37); + Text_PrintWindow8002F44(&gUnknown_03004210); + sub_802BBD4(24, 28, 29, 33, 0); + if (b != 0) + { + gTasks[taskId].data[0] = 4; + Text_InitWindow(&gUnknown_03004210, gUnknown_Debug_821F7F3, 144, 2, 35); + } + else + { + gTasks[taskId].data[0] = 3; + Text_InitWindow(&gUnknown_03004210, Str_821F7EA, 144, 2, 35); + } + Text_PrintWindow8002F44(&gUnknown_03004210); + Text_InitWindow(&gUnknown_03004210, BattleText_YesNo, 656, 26, 29); + Text_PrintWindow8002F44(&gUnknown_03004210); + gTasks[taskId].data[3] = 1; + debug_sub_8012B2C(1); +} + +void debug_sub_8012D10(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + debug_sub_80128B4(); + debug_sub_8012938(taskId); + Text_InitWindow(&gUnknown_03004210, Str_821F7BD, 400, 19, 35); + Text_PrintWindow8002F44(&gUnknown_03004210); + gTasks[taskId].data[0]++; + sub_802E3E4(gTasks[taskId].data[2], 0); + break; + case 1: + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + nullsub_8(gTasks[taskId].data[2]); + gTasks[taskId].data[2] &= ~2; + sub_802E3E4(gTasks[taskId].data[2], 0); + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + nullsub_8(gTasks[taskId].data[2]); + gTasks[taskId].data[2] |= 2; + sub_802E3E4(gTasks[taskId].data[2], 0); + } + else if (gMain.newKeys & DPAD_LEFT) + { + PlaySE(SE_SELECT); + nullsub_8(gTasks[taskId].data[2]); + gTasks[taskId].data[2] &= ~1; + sub_802E3E4(gTasks[taskId].data[2], 0); + } + else if (gMain.newKeys & DPAD_RIGHT) + { + PlaySE(SE_SELECT); + nullsub_8(gTasks[taskId].data[2]); + gTasks[taskId].data[2] |= 1; + sub_802E3E4(gTasks[taskId].data[2], 0); + } + else if (gMain.newAndRepeatedKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + switch (gTasks[taskId].data[2]) + { + case 0: + if (gUnknown_Debug_2023B62[gCurrentMove - 1] < 64) + { + gUnknown_Debug_2023B62[gCurrentMove - 1] += 1; + debug_sub_8012938(taskId); + } + break; + case 1: + debug_sub_8012AC0(1, taskId); + break; + case 2: + if (gCurrentMove < 411) + gCurrentMove++; + else + gCurrentMove = 1; + debug_sub_80128B4(); + debug_sub_8012938(taskId); + debug_sub_80129F8(taskId); + break; + case 3: + debug_sub_8012B70(taskId, 0); + break; + } + } + else if (gMain.newAndRepeatedKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + switch (gTasks[taskId].data[2]) + { + case 0: + if (gUnknown_Debug_2023B62[gCurrentMove - 1] > 0) + { + gUnknown_Debug_2023B62[gCurrentMove - 1] -= 1; + debug_sub_8012938(taskId); + } + break; + case 1: + debug_sub_8012AC0(-1, taskId); + break; + case 2: + if (gCurrentMove > 1) + gCurrentMove--; + else + gCurrentMove = 411; + debug_sub_80128B4(); + debug_sub_8012938(taskId); + debug_sub_80129F8(taskId); + break; + case 3: + debug_sub_8012B70(taskId, 0); + break; + } + } + else if (gMain.newAndRepeatedKeys & R_BUTTON) + { + PlaySE(SE_SELECT); + switch (gTasks[taskId].data[2]) + { + case 0: + if (gUnknown_Debug_2023B62[gCurrentMove - 1] < 64) + { + gUnknown_Debug_2023B62[gCurrentMove - 1] += 8; + if (gUnknown_Debug_2023B62[gCurrentMove - 1] > 64) + gUnknown_Debug_2023B62[gCurrentMove - 1] = 64; + debug_sub_8012938(taskId); + } + break; + case 1: + debug_sub_8012AC0(1, taskId); + break; + case 2: + if (gCurrentMove + 10 < 412) + gCurrentMove += 10; + else + gCurrentMove -= 400; + debug_sub_80128B4(); + debug_sub_8012938(taskId); + debug_sub_80129F8(taskId); + break; + case 3: + debug_sub_8012B70(taskId, 0); + break; + } + } + else if (gMain.newAndRepeatedKeys & L_BUTTON) + { + PlaySE(SE_SELECT); + switch (gTasks[taskId].data[2]) + { + case 0: + if (gUnknown_Debug_2023B62[gCurrentMove - 1] > 0) + { + if (gUnknown_Debug_2023B62[gCurrentMove - 1] > 8) + gUnknown_Debug_2023B62[gCurrentMove - 1] -= 8; + else + gUnknown_Debug_2023B62[gCurrentMove - 1] = 0; + debug_sub_8012938(taskId); + } + break; + case 1: + debug_sub_8012AC0(-1, taskId); + break; + case 2: + if (gCurrentMove - 10 > 1) + gCurrentMove -= 10; + else + gCurrentMove += 400; + debug_sub_80128B4(); + debug_sub_8012938(taskId); + debug_sub_80129F8(taskId); + break; + case 3: + debug_sub_8012B70(taskId, 0); + break; + } + } + break; + case 2: + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + debug_sub_8012B4C(gTasks[taskId].data[3]); + gTasks[taskId].data[3] = 0; + debug_sub_8012B2C(0); + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + debug_sub_8012B4C(gTasks[taskId].data[3]); + gTasks[taskId].data[3] = 1; + debug_sub_8012B2C(1); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + debug_sub_8012C08(taskId, gTasks[taskId].data[3]); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + asm(""); + debug_sub_8012B70(taskId, 1); + } + return; + case 3: + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + debug_sub_8012B4C(gTasks[taskId].data[3]); + gTasks[taskId].data[3] = 0; + debug_sub_8012B2C(0); + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + debug_sub_8012B4C(gTasks[taskId].data[3]); + gTasks[taskId].data[3] = 1; + debug_sub_8012B2C(1); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gTasks[taskId].data[3] == 0) + debug_sub_80132C8(31, gUnknown_Debug_2023B62, 411); + debug_sub_8012B70(taskId, 1); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + debug_sub_8012B70(taskId, 1); + } + break; + case 4: + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + debug_sub_8012B4C(gTasks[taskId].data[3]); + gTasks[taskId].data[3] = 0; + debug_sub_8012B2C(0); + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + debug_sub_8012B4C(gTasks[taskId].data[3]); + gTasks[taskId].data[3] = 1; + debug_sub_8012B2C(1); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gTasks[taskId].data[3] == 0) + debug_sub_8013294(31, gUnknown_Debug_2023B62, 411); + debug_sub_8012B70(taskId, 1); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + debug_sub_8012B70(taskId, 1); + } + break; + } } u8 debug_sub_8013240(void) @@ -6769,683 +5868,103 @@ void dp11b_obj_free(u8 a, u8 b) } else { - if (!ewram17810[a].unk0_2) - return; - r4 = gSprites[ewram17810[a].unk3].data[3]; - DestroySprite(&gSprites[ewram17810[a].unk3]); - ewram17810[a].unk0_2 = 0; - } - gSprites[r4].pos2.x = 0; - gSprites[r4].pos2.y = 0; -} - -void objc_dp11b_pingpong(struct Sprite *sprite) -{ - u8 spriteId = sprite->data[3]; - s32 var; - - if (sprite->data[4] == 1) - var = sprite->data[0]; - else - var = sprite->data[0]; - - gSprites[spriteId].pos2.y = Sin(var, sprite->data[2]) + sprite->data[2]; - sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF; -} - -void nullsub_41(void) -{ -} - -void sub_8010800(void) -{ - sub_8010874(); - gBattleCommunication[1] = 0; - gBattleMainFunc = bc_8012FAC; -} - -#if DEBUG -__attribute__((naked)) -void debug_sub_80138CC() -{ - asm( - " push {lr}\n" - " ldr r0, ._1167 @ gActiveBank\n" - " ldrb r0, [r0]\n" - " bl GetBankSide\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._1163 @cond_branch\n" - " b ._1186\n" - "._1163:\n" - " ldr r1, ._1167 + 4 @ gSharedMem\n" - " ldr r2, ._1167 + 8 @ 0x160fd\n" - " add r0, r1, r2\n" - " ldrb r0, [r0]\n" - " add r2, r1, #0\n" - " cmp r0, #0x4\n" - " bls ._1165 @cond_branch\n" - " b ._1186\n" - "._1165:\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._1167 + 12 @ \n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._1168:\n" - " .align 2, 0\n" - "._1167:\n" - " .word gActiveBank\n" - " .word gSharedMem\n" - " .word 0x160fd\n" - " .word ._1169\n" - "._1169:\n" - " .word ._1170\n" - " .word ._1171\n" - " .word ._1172\n" - " .word ._1173\n" - " .word ._1174\n" - "._1170:\n" - " ldr r1, ._1177 @ gBattleBankFunc\n" - " ldr r0, ._1177 + 4 @ gActiveBank\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r1\n" - " ldr r1, [r0]\n" - " ldr r0, ._1177 + 8 @ sub_802C098\n" - " cmp r1, r0\n" - " bne ._1186 @cond_branch\n" - " ldr r0, ._1177 + 12 @ 0x160fd\n" - " add r1, r2, r0\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " b ._1187\n" - "._1178:\n" - " .align 2, 0\n" - "._1177:\n" - " .word gBattleBankFunc\n" - " .word gActiveBank\n" - " .word sub_802C098+1\n" - " .word 0x160fd\n" - "._1171:\n" - " ldr r1, ._1180 @ gMain\n" - " mov r0, #0x1\n" - " strh r0, [r1, #0x2c]\n" - " strh r0, [r1, #0x2e]\n" - " ldr r0, ._1180 + 4 @ 0x160fd\n" - " add r1, r2, r0\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " ldr r0, ._1180 + 8 @ 0x160fe\n" - " add r1, r2, r0\n" - " mov r0, #0x80\n" - " b ._1187\n" - "._1181:\n" - " .align 2, 0\n" - "._1180:\n" - " .word gMain\n" - " .word 0x160fd\n" - " .word 0x160fe\n" - "._1172:\n" - " ldr r0, ._1184 @ 0x160fe\n" - " add r3, r2, r0\n" - " ldrb r0, [r3]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r3]\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._1186 @cond_branch\n" - " ldr r1, ._1184 + 4 @ gMain\n" - " mov r0, #0x1\n" - " strh r0, [r1, #0x2c]\n" - " strh r0, [r1, #0x2e]\n" - " ldr r0, ._1184 + 8 @ 0x160fd\n" - " add r1, r2, r0\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " strb r0, [r1]\n" - " mov r0, #0x80\n" - " strb r0, [r3]\n" - " b ._1186\n" - "._1185:\n" - " .align 2, 0\n" - "._1184:\n" - " .word 0x160fe\n" - " .word gMain\n" - " .word 0x160fd\n" - "._1173:\n" - " ldr r0, ._1188 @ 0x160fe\n" - " add r1, r2, r0\n" - " ldrb r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strb r0, [r1]\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._1186 @cond_branch\n" - " ldr r1, ._1188 + 4 @ gMain\n" - " mov r0, #0x1\n" - " strh r0, [r1, #0x2c]\n" - " strh r0, [r1, #0x2e]\n" - " ldr r0, ._1188 + 8 @ 0x160fd\n" - " add r1, r2, r0\n" - " ldrb r0, [r1]\n" - " add r0, r0, #0x1\n" - " b ._1187\n" - "._1189:\n" - " .align 2, 0\n" - "._1188:\n" - " .word 0x160fe\n" - " .word gMain\n" - " .word 0x160fd\n" - "._1174:\n" - " ldr r0, ._1190 @ 0x160fd\n" - " add r1, r2, r0\n" - " mov r0, #0x0\n" - "._1187:\n" - " strb r0, [r1]\n" - "._1186:\n" - " pop {r0}\n" - " bx r0\n" - "._1191:\n" - " .align 2, 0\n" - "._1190:\n" - " .word 0x160fd\n" - "\n" - ); + if (!ewram17810[a].unk0_2) + return; + r4 = gSprites[ewram17810[a].unk3].data[3]; + DestroySprite(&gSprites[ewram17810[a].unk3]); + ewram17810[a].unk0_2 = 0; + } + gSprites[r4].pos2.x = 0; + gSprites[r4].pos2.y = 0; } -__attribute__((naked)) -void debug_sub_80139E4() +void objc_dp11b_pingpong(struct Sprite *sprite) { - asm( - " push {r4, r5, lr}\n" - " ldr r0, ._1198 @ gUnknown_02023A14_50\n" - " ldrb r1, [r0]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0\n" - " beq ._1192 @cond_branch\n" - " ldr r2, ._1198 + 4 @ gActiveBank\n" - " mov r0, #0x0\n" - " strb r0, [r2]\n" - " ldr r1, ._1198 + 8 @ gNoOfAllBanks\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._1193 @cond_branch\n" - " add r4, r2, #0\n" - " add r5, r1, #0\n" - "._1194:\n" - " bl debug_sub_80138CC\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldrb r1, [r5]\n" - " cmp r0, r1\n" - " bcc ._1194 @cond_branch\n" - "._1193:\n" - " ldr r0, ._1198 + 12 @ gBattleMainFunc\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " ldr r1, ._1198 + 4 @ gActiveBank\n" - " mov r0, #0x0\n" - " strb r0, [r1]\n" - " ldr r0, ._1198 + 8 @ gNoOfAllBanks\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " beq ._1200 @cond_branch\n" - " ldr r5, ._1198 + 16 @ gBattleBankFunc\n" - " add r4, r1, #0\n" - "._1196:\n" - " ldrb r0, [r4]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r5\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " ldr r1, ._1198 + 8 @ gNoOfAllBanks\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldrb r1, [r1]\n" - " cmp r0, r1\n" - " bcc ._1196 @cond_branch\n" - " b ._1200\n" - "._1199:\n" - " .align 2, 0\n" - "._1198:\n" - " .word gUnknown_02023A14_50\n" - " .word gActiveBank\n" - " .word gNoOfAllBanks\n" - " .word gBattleMainFunc\n" - " .word gBattleBankFunc\n" - "._1192:\n" - " ldr r0, ._1202 @ gBattleMainFunc\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " ldr r1, ._1202 + 4 @ gActiveBank\n" - " strb r4, [r1]\n" - " ldr r0, ._1202 + 8 @ gNoOfAllBanks\n" - " ldrb r0, [r0]\n" - " cmp r4, r0\n" - " bcs ._1200 @cond_branch\n" - " ldr r5, ._1202 + 12 @ gBattleBankFunc\n" - " add r4, r1, #0\n" - "._1201:\n" - " ldrb r0, [r4]\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r5\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " ldrb r0, [r4]\n" - " add r0, r0, #0x1\n" - " strb r0, [r4]\n" - " ldr r1, ._1202 + 8 @ gNoOfAllBanks\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldrb r1, [r1]\n" - " cmp r0, r1\n" - " bcc ._1201 @cond_branch\n" - "._1200:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._1203:\n" - " .align 2, 0\n" - "._1202:\n" - " .word gBattleMainFunc\n" - " .word gActiveBank\n" - " .word gNoOfAllBanks\n" - " .word gBattleBankFunc\n" - "\n" - ); + u8 spriteId = sprite->data[3]; + s32 var; + + if (sprite->data[4] == 1) + var = sprite->data[0]; + else + var = sprite->data[0]; + + gSprites[spriteId].pos2.y = Sin(var, sprite->data[2]) + sprite->data[2]; + sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF; } -__attribute__((naked)) -void sub_8010874() +void nullsub_41(void) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " mov r0, #0x0\n" - " bl TurnValuesCleanUp\n" - " bl SpecialStatusesClear\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - " ldr r0, ._1215 @ gUnknown_02024C4C\n" - " mov sl, r0\n" - " ldr r1, ._1215 + 4 @ gLastHitByType\n" - " mov r9, r1\n" - " ldr r4, ._1215 + 8 @ gLastLandedMoves\n" - " mov r8, r4\n" - " ldr r0, ._1215 + 12 @ gLastUsedMove\n" - " mov ip, r0\n" - " ldr r4, ._1215 + 16 @ gDisableStructs\n" - " mov r5, #0x0\n" - " ldr r7, ._1215 + 20 @ gUnknown_02024C2C\n" - " ldr r6, ._1215 + 24 @ gLockedMoves\n" - "._1205:\n" - " ldr r0, ._1215 + 28 @ gStatuses3\n" - " add r0, r5, r0\n" - " str r3, [r0]\n" - " mov r1, #0x0\n" - "._1204:\n" - " add r0, r4, r1\n" - " strb r3, [r0]\n" - " add r1, r1, #0x1\n" - " cmp r1, #0x1b\n" - " bls ._1204 @cond_branch\n" - " mov r0, #0x2\n" - " strb r0, [r4, #0x16]\n" - " ldr r1, ._1215 + 32 @ gUnknown_02024C70\n" - " add r0, r2, r1\n" - " strb r3, [r0]\n" - " mov r0, ip\n" - " strh r3, [r0]\n" - " mov r1, r8\n" - " strh r3, [r1]\n" - " mov r0, r9\n" - " strh r3, [r0]\n" - " mov r1, sl\n" - " strh r3, [r1]\n" - " ldr r0, ._1215 + 36 @ gUnknown_02024C5C\n" - " add r1, r2, r0\n" - " mov r0, #0xff\n" - " strb r0, [r1]\n" - " strh r3, [r6]\n" - " strh r3, [r7]\n" - " ldr r1, ._1215 + 40 @ gSharedMem\n" - " add r0, r5, r1\n" - " str r3, [r0]\n" - " mov r0, #0x2\n" - " add sl, sl, r0\n" - " add r9, r9, r0\n" - " add r8, r8, r0\n" - " add ip, ip, r0\n" - " add r4, r4, #0x1c\n" - " add r5, r5, #0x4\n" - " add r7, r7, #0x2\n" - " add r6, r6, #0x2\n" - " add r2, r2, #0x1\n" - " cmp r2, #0x3\n" - " ble ._1205 @cond_branch\n" - " mov r5, #0x0\n" - " ldr r3, ._1215 + 44 @ gSideTimers\n" - " ldr r4, ._1215 + 48 @ gSideAffecting\n" - " mov r2, #0x1\n" - "._1207:\n" - " strh r5, [r4]\n" - " mov r1, #0x0\n" - "._1206:\n" - " add r0, r3, r1\n" - " strb r5, [r0]\n" - " add r1, r1, #0x1\n" - " cmp r1, #0xb\n" - " bls ._1206 @cond_branch\n" - " add r3, r3, #0xc\n" - " add r4, r4, #0x2\n" - " sub r2, r2, #0x1\n" - " cmp r2, #0\n" - " bge ._1207 @cond_branch\n" - " mov r1, #0x0\n" - " ldr r2, ._1215 + 52 @ gBankAttacker\n" - " strb r1, [r2]\n" - " ldr r3, ._1215 + 56 @ gBankTarget\n" - " strb r1, [r3]\n" - " ldr r4, ._1215 + 60 @ gBattleWeather\n" - " strh r1, [r4]\n" - " ldr r1, ._1215 + 64 @ gWishFutureKnock\n" - " mov r2, #0x0\n" - " mov r3, #0x0\n" - "._1208:\n" - " add r0, r1, r2\n" - " strb r3, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, #0x2b\n" - " bls ._1208 @cond_branch\n" - " mov r0, #0x0\n" - " ldr r1, ._1215 + 68 @ gHitMarker\n" - " str r0, [r1]\n" - " ldr r2, ._1215 + 72 @ gBattleTypeFlags\n" - " ldrh r1, [r2]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._1210 @cond_branch\n" - " ldr r3, ._1215 + 76 @ gSaveBlock2\n" - " ldrb r1, [r3, #0x15]\n" - " mov r0, #0x4\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._1210 @cond_branch\n" - " mov r0, #0x80\n" - " ldr r4, ._1215 + 68 @ gHitMarker\n" - " str r0, [r4]\n" - "._1210:\n" - " ldr r1, ._1215 + 76 @ gSaveBlock2\n" - " ldrb r0, [r1, #0x15]\n" - " lsl r0, r0, #0x1e\n" - " lsr r0, r0, #0x1f\n" - " ldr r3, ._1215 + 80 @ gSharedMem\n" - " ldr r4, ._1215 + 84 @ 0x16084\n" - " add r2, r3, r4\n" - " mov r1, #0x0\n" - " strb r0, [r2]\n" - " ldr r0, ._1215 + 88 @ gMultiHitCounter\n" - " strb r1, [r0]\n" - " ldr r2, ._1215 + 92 @ gBattleOutcome\n" - " strb r1, [r2]\n" - " ldr r3, ._1215 + 96 @ gBattleExecBuffer\n" - " str r1, [r3]\n" - " mov r2, #0x0\n" - " ldr r4, ._1215 + 100@ gPaydayMoney\n" - " strh r1, [r4]\n" - " ldr r1, ._1215 + 80 @ gSharedMem\n" - " ldr r3, ._1215 + 104@ 0x17130\n" - " add r0, r1, r3\n" - " strb r2, [r0]\n" - " ldr r4, ._1215 + 108@ 0x17160\n" - " add r0, r1, r4\n" - " strb r2, [r0]\n" - " ldr r1, ._1215 + 112@ gBattleCommunication\n" - " mov r2, #0x0\n" - " add r0, r1, #7\n" - "._1211:\n" - " strb r2, [r0]\n" - " sub r0, r0, #0x1\n" - " cmp r0, r1\n" - " bge ._1211 @cond_branch\n" - " mov r5, #0x0\n" - " ldr r0, ._1215 + 116@ gPauseCounterBattle\n" - " strh r5, [r0]\n" - " mov r0, #0x0\n" - " ldr r1, ._1215 + 120@ gBattleMoveDamage\n" - " str r0, [r1]\n" - " ldr r2, ._1215 + 124@ gUnknown_02024DE8\n" - " strh r0, [r2]\n" - " ldr r4, ._1215 + 80 @ gSharedMem\n" - " ldr r3, ._1215 + 128@ 0x16002\n" - " add r0, r4, r3\n" - " strb r5, [r0]\n" - " ldr r1, ._1215 + 132@ 0x160a1\n" - " add r0, r4, r1\n" - " strb r5, [r0]\n" - " ldr r2, ._1215 + 136@ gLeveledUpInBattle\n" - " strb r5, [r2]\n" - " ldr r3, ._1215 + 140@ gAbsentBankFlags\n" - " strb r5, [r3]\n" - " sub r1, r1, #0x29\n" - " add r0, r4, r1\n" - " strb r5, [r0]\n" - " ldr r2, ._1215 + 144@ 0x16086\n" - " add r0, r4, r2\n" - " strb r5, [r0]\n" - " ldr r3, ._1215 + 148@ 0x16087\n" - " add r0, r4, r3\n" - " strb r5, [r0]\n" - " ldr r0, ._1215 + 152@ gEnemyParty\n" - " mov r1, #0xb\n" - " bl GetMonData\n" - " ldr r2, ._1215 + 156@ gBaseStats\n" - " lsl r1, r0, #0x3\n" - " sub r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r2\n" - " ldrb r1, [r1, #0x8]\n" - " mov r0, #0x64\n" - " mul r0, r0, r1\n" - " ldr r1, ._1215 + 160@ 0x4fb\n" - " bl __divsi3\n" - " ldr r2, ._1215 + 164@ 0x16089\n" - " add r1, r4, r2\n" - " strb r0, [r1]\n" - " ldr r3, ._1215 + 168@ 0x16088\n" - " add r1, r4, r3\n" - " mov r0, #0x3\n" - " strb r0, [r1]\n" - " ldr r1, ._1215 + 172@ 0x1601b\n" - " add r0, r4, r1\n" - " strb r5, [r0]\n" - " sub r2, r2, #0x33\n" - " add r1, r4, r2\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " mov r2, #0x0\n" - " mov r1, #0x0\n" - "._1212:\n" - " ldr r3, ._1215 + 176@ 0x160ac\n" - " add r0, r2, r3\n" - " add r0, r0, r4\n" - " strb r1, [r0]\n" - " add r3, r3, #0x20\n" - " add r0, r2, r3\n" - " add r0, r0, r4\n" - " strb r1, [r0]\n" - " add r3, r3, #0x1c\n" - " add r0, r2, r3\n" - " add r0, r0, r4\n" - " strb r1, [r0]\n" - " add r3, r3, #0x8\n" - " add r0, r2, r3\n" - " add r0, r0, r4\n" - " strb r1, [r0]\n" - " add r3, r3, #0x10\n" - " add r0, r2, r3\n" - " add r0, r0, r4\n" - " strb r1, [r0]\n" - " add r3, r3, #0x8\n" - " add r0, r2, r3\n" - " add r0, r0, r4\n" - " strb r1, [r0]\n" - " add r2, r2, #0x1\n" - " cmp r2, #0x7\n" - " ble ._1212 @cond_branch\n" - " ldr r4, ._1215 + 80 @ gSharedMem\n" - " ldr r1, ._1215 + 180@ 0x160c8\n" - " add r0, r4, r1\n" - " mov r2, #0x0\n" - " mov r1, #0x6\n" - " strb r1, [r0]\n" - " sub r3, r3, #0x3f\n" - " add r0, r4, r3\n" - " strb r1, [r0]\n" - " ldr r1, ._1215 + 184@ 0x16113\n" - " add r0, r4, r1\n" - " strb r2, [r0]\n" - " ldr r3, ._1215 + 188@ gBattleResults\n" - " mov r1, #0x0\n" - " mov r2, #0xa\n" - " add r0, r3, #0\n" - " add r0, r0, #0x40\n" - "._1213:\n" - " strb r1, [r0]\n" - " sub r0, r0, #0x1\n" - " sub r2, r2, #0x1\n" - " cmp r2, #0\n" - " bge ._1213 @cond_branch\n" - " mov r1, #0x0\n" - " strb r1, [r3, #0x13]\n" - " strb r1, [r3]\n" - " strb r1, [r3, #0x1]\n" - " strb r1, [r3, #0x2]\n" - " strb r1, [r3, #0x3]\n" - " strb r1, [r3, #0x4]\n" - " ldrb r2, [r3, #0x5]\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " mov r2, #0x3\n" - " neg r2, r2\n" - " and r0, r0, r2\n" - " strb r0, [r3, #0x5]\n" - " strh r1, [r3, #0x20]\n" - " strh r1, [r3, #0x22]\n" - " strh r1, [r3, #0x24]\n" - " strh r1, [r3, #0x6]\n" - " strh r1, [r3, #0x26]\n" - " strh r1, [r3, #0x28]\n" - " mov r2, #0x0\n" - " add r5, r3, #0\n" - " add r5, r5, #0x8\n" - " mov r4, #0x0\n" - " add r1, r3, #0\n" - " add r1, r1, #0x14\n" - "._1214:\n" - " add r0, r2, r5\n" - " strb r4, [r0]\n" - " strb r4, [r1]\n" - " strb r4, [r1, #0x16]\n" - " add r1, r1, #0x1\n" - " add r2, r2, #0x1\n" - " cmp r2, #0x9\n" - " ble ._1214 @cond_branch\n" - " ldr r2, ._1215 + 80 @ gSharedMem\n" - " ldr r3, ._1215 + 192@ 0x1609e\n" - " add r0, r2, r3\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " ldr r4, ._1215 + 196@ 0x1609f\n" - " add r0, r2, r4\n" - " strb r1, [r0]\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._1216:\n" - " .align 2, 0\n" - "._1215:\n" - " .word gUnknown_02024C4C\n" - " .word gLastHitByType\n" - " .word gLastLandedMoves\n" - " .word gLastUsedMove\n" - " .word gDisableStructs\n" - " .word gUnknown_02024C2C\n" - " .word gLockedMoves\n" - " .word gStatuses3\n" - " .word gUnknown_02024C70\n" - " .word gUnknown_02024C5C\n" - " .word gSharedMem+0x17100\n" - " .word gSideTimers\n" - " .word gSideAffecting\n" - " .word gBankAttacker\n" - " .word gBankTarget\n" - " .word gBattleWeather\n" - " .word gWishFutureKnock\n" - " .word gHitMarker\n" - " .word gBattleTypeFlags\n" - " .word gSaveBlock2\n" - " .word gSharedMem\n" - " .word 0x16084\n" - " .word gMultiHitCounter\n" - " .word gBattleOutcome\n" - " .word gBattleExecBuffer\n" - " .word gPaydayMoney\n" - " .word 0x17130\n" - " .word 0x17160\n" - " .word gBattleCommunication\n" - " .word gPauseCounterBattle\n" - " .word gBattleMoveDamage\n" - " .word gUnknown_02024DE8\n" - " .word 0x16002\n" - " .word 0x160a1\n" - " .word gLeveledUpInBattle\n" - " .word gAbsentBankFlags\n" - " .word 0x16086\n" - " .word 0x16087\n" - " .word gEnemyParty\n" - " .word gBaseStats\n" - " .word 0x4fb\n" - " .word 0x16089\n" - " .word 0x16088\n" - " .word 0x1601b\n" - " .word 0x160ac\n" - " .word 0x160c8\n" - " .word 0x16113\n" - " .word gBattleResults\n" - " .word 0x1609e\n" - " .word 0x1609f\n" - "\n" - ); } -#else -void sub_8010824(void) +void sub_8010800(void) { - gBattleMainFunc(); + sub_8010874(); + gBattleCommunication[1] = 0; + gBattleMainFunc = bc_8012FAC; +} - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - gBattleBankFunc[gActiveBank](); +#if DEBUG +void debug_sub_80138CC(void) +{ + if (GetBankSide(gActiveBank) == 0) + { + switch (gSharedMem[0x160FD]) + { + case 0: + if (gBattleBankFunc[gActiveBank] == sub_802C098) + gSharedMem[0x160FD]++; + break; + case 1: + gMain.heldKeys = A_BUTTON; + gMain.newKeys = A_BUTTON; + gSharedMem[0x160FD]++; + gSharedMem[0x160FE] = 0x80; + break; + case 2: + gSharedMem[0x160FE]--; + if (gSharedMem[0x160FE] == 0) + { + gMain.heldKeys = A_BUTTON; + gMain.newKeys = A_BUTTON; + gSharedMem[0x160FD]++; + gSharedMem[0x160FE] = 0x80; + } + break; + case 3: + gSharedMem[0x160FE]--; + if (gSharedMem[0x160FE] == 0) + { + gMain.heldKeys = A_BUTTON; + gMain.newKeys = A_BUTTON; + gSharedMem[0x160FD]++; + } + break; + case 4: + gSharedMem[0x160FD] = 0; + break; + } + } +} +#endif + +void sub_8010824(void) +{ +#if DEBUG + if (gUnknown_02023A14_50 & 0x80) + { + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + debug_sub_80138CC(); + gBattleMainFunc(); + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + gBattleBankFunc[gActiveBank](); + } + else +#endif + { + gBattleMainFunc(); + for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + gBattleBankFunc[gActiveBank](); + } } void sub_8010874(void) @@ -7548,8 +6067,11 @@ void sub_8010874(void) gBattleResults.pokeString2[i] = 0; gBattleResults.caughtNick[i] = 0; } -} +#if DEBUG + gSharedMem[0x1609E] = 0; + gSharedMem[0x1609F] = 0; #endif +} void SwitchInClearSetData(void) { @@ -9936,6 +8458,351 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) return strikesFirst; } +// The debug version should be identical, but has a strange register swap, and +// seems to be affected by other functions, which is bizarre. +#if DEBUG +__attribute__((naked)) +void SetActionsAndBanksTurnOrder(void) +{ + asm("\ + push {r4, r5, r6, r7, lr}\n\ + mov r7, sl\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5, r6, r7}\n\ + mov r3, #0x0\n\ + ldr r0, ._L1550\n\ + ldrh r1, [r0]\n\ + mov r0, #0x80\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._L1499 @cond_branch\n\ + ldr r0, ._L1550+0x4\n\ + strb r3, [r0]\n\ + ldr r4, ._L1550+0x8\n\ + mov r8, r0\n\ + ldrb r0, [r4]\n\ + cmp r3, r0\n\ + bcc ._LCB12758\n\ + b ._L1505 @long jump\n\ +._LCB12758:\n\ + ldr r7, ._L1550+0xc\n\ + ldr r6, ._L1550+0x10\n\ + mov r2, r8\n\ + ldr r5, ._L1550+0x14\n\ +._L1503:\n\ + add r1, r3, r7\n\ + ldrb r0, [r2]\n\ + add r0, r0, r6\n\ + ldrb r0, [r0]\n\ + strb r0, [r1]\n\ + add r1, r3, r5\n\ + ldrb r0, [r2]\n\ + strb r0, [r1]\n\ + add r3, r3, #0x1\n\ + ldrb r0, [r2]\n\ + add r0, r0, #0x1\n\ + strb r0, [r2]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldrb r1, [r4]\n\ + cmp r0, r1\n\ + bcc ._L1503 @cond_branch\n\ + b ._L1505\n\ +._L1551:\n\ + .align 2, 0\n\ +._L1550:\n\ + .word gBattleTypeFlags\n\ + .word gActiveBank\n\ + .word gNoOfAllBanks\n\ + .word gActionsByTurnOrder\n\ + .word gActionForBanks\n\ + .word gBanksByTurnOrder\n\ +._L1499:\n\ + mov r0, #0x2\n\ + and r0, r0, r1\n\ + cmp r0, #0\n\ + beq ._L1506 @cond_branch\n\ + ldr r0, ._L1552\n\ + strb r3, [r0]\n\ + ldr r1, ._L1552+0x4\n\ + mov r8, r0\n\ + add r2, r1, #0\n\ + ldrb r2, [r2]\n\ + cmp r3, r2\n\ + bcs ._L1513 @cond_branch\n\ + ldr r0, ._L1552+0x8\n\ + ldrb r1, [r0]\n\ + add r4, r0, #0\n\ + cmp r1, #0x3\n\ + beq ._L1548 @cond_branch\n\ +._L1509:\n\ + mov r7, r8\n\ + ldrb r0, [r7]\n\ + add r0, r0, #0x1\n\ + strb r0, [r7]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r1, ._L1552+0x4\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcs ._L1513 @cond_branch\n\ + ldrb r0, [r7]\n\ + add r0, r0, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x3\n\ + bne ._L1509 @cond_branch\n\ + b ._L1548\n\ +._L1553:\n\ + .align 2, 0\n\ +._L1552:\n\ + .word gActiveBank\n\ + .word gNoOfAllBanks\n\ + .word gActionForBanks\n\ +._L1506:\n\ + ldr r0, ._L1554\n\ + ldrb r0, [r0]\n\ + ldr r2, ._L1554+0x4\n\ + mov r8, r2\n\ + cmp r0, #0x3\n\ + bne ._L1513 @cond_branch\n\ + strb r3, [r2]\n\ +._L1548:\n\ + mov r3, #0x5\n\ +._L1513:\n\ + cmp r3, #0x5\n\ + bne ._L1515 @cond_branch\n\ + ldr r6, ._L1554+0x8\n\ + ldr r1, ._L1554\n\ + mov r3, r8\n\ + ldrb r0, [r3]\n\ + add r0, r0, r1\n\ + ldrb r0, [r0]\n\ + strb r0, [r6]\n\ + ldr r2, ._L1554+0xc\n\ + ldrb r0, [r3]\n\ + strb r0, [r2]\n\ + mov r3, #0x1\n\ + mov r5, #0x0\n\ + add r4, r1, #0\n\ + ldr r7, ._L1554+0x10\n\ + mov r9, r7\n\ + ldr r0, ._L1554+0x14\n\ + mov ip, r0\n\ + ldr r1, ._L1554+0x18\n\ + mov sl, r1\n\ + ldr r7, ._L1554+0x1c\n\ + ldrb r7, [r7]\n\ + cmp r5, r7\n\ + bge ._L1517 @cond_branch\n\ + add r7, r6, #0\n\ + add r6, r4, #0\n\ + add r4, r2, #0\n\ + ldr r2, ._L1554+0x1c\n\ +._L1519:\n\ + mov r0, r8\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + beq ._L1518 @cond_branch\n\ + add r1, r3, r7\n\ + add r0, r5, r6\n\ + ldrb r0, [r0]\n\ + strb r0, [r1]\n\ + add r0, r3, r4\n\ + strb r5, [r0]\n\ + add r3, r3, #0x1\n\ +._L1518:\n\ + add r5, r5, #0x1\n\ + ldrb r1, [r2]\n\ + cmp r5, r1\n\ + blt ._L1519 @cond_branch\n\ +._L1517:\n\ + mov r2, ip\n\ + mov r3, r9\n\ + str r2, [r3]\n\ + ldr r1, ._L1554+0x20\n\ + add r1, r1, sl\n\ + mov r0, #0x0\n\ + strb r0, [r1]\n\ + b ._L1498\n\ +._L1555:\n\ + .align 2, 0\n\ +._L1554:\n\ + .word gActionForBanks\n\ + .word gActiveBank\n\ + .word gActionsByTurnOrder\n\ + .word gBanksByTurnOrder\n\ + .word gBattleMainFunc\n\ + .word CheckFocusPunch_ClearVarsBeforeTurnStarts\n\ + .word gSharedMem\n\ + .word gNoOfAllBanks\n\ + .word 0x1601d\n\ +._L1515:\n\ + mov r0, #0x0\n\ + mov r7, r8\n\ + strb r0, [r7]\n\ + ldr r1, ._L1556\n\ + ldrb r0, [r1]\n\ + cmp r0, #0\n\ + beq ._L1524 @cond_branch\n\ + ldr r6, ._L1556+0x4\n\ + mov r2, r8\n\ + ldr r5, ._L1556+0x8\n\ + ldr r4, ._L1556+0xc\n\ +._L1526:\n\ + ldrb r0, [r2]\n\ + add r0, r0, r6\n\ + ldrb r1, [r0]\n\ + sub r0, r1, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bhi ._L1525 @cond_branch\n\ + add r0, r3, r5\n\ + strb r1, [r0]\n\ + add r1, r3, r4\n\ + mov r7, r8\n\ + ldrb r0, [r7]\n\ + strb r0, [r1]\n\ + add r3, r3, #0x1\n\ +._L1525:\n\ + ldrb r0, [r2]\n\ + add r0, r0, #0x1\n\ + strb r0, [r2]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r1, ._L1556\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcc ._L1526 @cond_branch\n\ +._L1524:\n\ + mov r0, #0x0\n\ + mov r2, r8\n\ + strb r0, [r2]\n\ + ldr r7, ._L1556\n\ + ldrb r0, [r7]\n\ + cmp r0, #0\n\ + beq ._L1530 @cond_branch\n\ + ldr r6, ._L1556+0x4\n\ + ldr r5, ._L1556+0x8\n\ + ldr r4, ._L1556+0xc\n\ +._L1532:\n\ + ldrb r0, [r2]\n\ + add r0, r0, r6\n\ + ldrb r1, [r0]\n\ + sub r0, r1, #0x1\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + cmp r0, #0x1\n\ + bls ._L1531 @cond_branch\n\ + add r0, r3, r5\n\ + strb r1, [r0]\n\ + add r1, r3, r4\n\ + mov r7, r8\n\ + ldrb r0, [r7]\n\ + strb r0, [r1]\n\ + add r3, r3, #0x1\n\ +._L1531:\n\ + ldrb r0, [r2]\n\ + add r0, r0, #0x1\n\ + strb r0, [r2]\n\ + lsl r0, r0, #0x18\n\ + lsr r0, r0, #0x18\n\ + ldr r1, ._L1556\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcc ._L1532 @cond_branch\n\ +._L1530:\n\ + mov r5, #0x0\n\ + b ._L1549\n\ +._L1557:\n\ + .align 2, 0\n\ +._L1556:\n\ + .word gNoOfAllBanks\n\ + .word gActionForBanks\n\ + .word gActionsByTurnOrder\n\ + .word gBanksByTurnOrder\n\ +._L1538:\n\ + add r4, r5, #0x1\n\ + add r7, r4, #0\n\ + ldrb r1, [r1]\n\ + cmp r7, r1\n\ + bge ._L1537 @cond_branch\n\ + ldr r6, ._L1558\n\ + lsl r2, r5, #0x18\n\ + mov r8, r2\n\ +._L1542:\n\ + ldr r0, ._L1558+0x4\n\ + add r1, r5, r0\n\ + ldrb r3, [r1]\n\ + add r0, r4, r0\n\ + ldrb r1, [r0]\n\ + add r0, r5, r6\n\ + ldrb r2, [r0]\n\ + cmp r2, #0x1\n\ + beq ._L1541 @cond_branch\n\ + add r0, r4, r6\n\ + ldrb r0, [r0]\n\ + cmp r0, #0x1\n\ + beq ._L1541 @cond_branch\n\ + cmp r2, #0x2\n\ + beq ._L1541 @cond_branch\n\ + cmp r0, #0x2\n\ + beq ._L1541 @cond_branch\n\ + add r0, r3, #0\n\ + mov r2, #0x0\n\ + bl GetWhoStrikesFirst\n\ + lsl r0, r0, #0x18\n\ + cmp r0, #0\n\ + beq ._L1541 @cond_branch\n\ + lsl r1, r4, #0x18\n\ + lsr r1, r1, #0x18\n\ + mov r3, r8\n\ + lsr r0, r3, #0x18\n\ + bl SwapTurnOrder\n\ +._L1541:\n\ + add r4, r4, #0x1\n\ + ldr r0, ._L1558+0x8\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + blt ._L1542 @cond_branch\n\ +._L1537:\n\ + add r5, r7, #0\n\ +._L1549:\n\ + ldr r1, ._L1558+0x8\n\ + ldrb r0, [r1]\n\ + sub r0, r0, #0x1\n\ + cmp r5, r0\n\ + blt ._L1538 @cond_branch\n\ +._L1505:\n\ + ldr r1, ._L1558+0xc\n\ + ldr r0, ._L1558+0x10\n\ + str r0, [r1]\n\ + ldr r0, ._L1558+0x14\n\ + ldr r7, ._L1558+0x18\n\ + add r0, r0, r7\n\ + mov r1, #0x0\n\ + strb r1, [r0]\n\ +._L1498:\n\ + pop {r3, r4, r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov sl, r5\n\ + pop {r4, r5, r6, r7}\n\ + pop {r0}\n\ + bx r0\n\ +._L1559:\n\ + .align 2, 0\n\ +._L1558:\n\ + .word gActionsByTurnOrder\n\ + .word gBanksByTurnOrder\n\ + .word gNoOfAllBanks\n\ + .word gBattleMainFunc\n\ + .word CheckFocusPunch_ClearVarsBeforeTurnStarts\n\ + .word gSharedMem\n\ + .word 0x1601d"); +} +#else void SetActionsAndBanksTurnOrder(void) { s32 var = 0; @@ -10028,15 +8895,11 @@ void SetActionsAndBanksTurnOrder(void) } } } - // Debug ROM has a register swap from the retail ROM. - // And doing this seems to fix it. -#if DEBUG - asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm("");asm(""); - asm("");asm("");asm("");asm("");asm("");asm("");asm(""); -#endif + gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; eFocusPunchBank = 0; } +#endif static void TurnValuesCleanUp(bool8 var0) { -- cgit v1.2.3 From cb9aec12785894d727583d13b0152c6d32948553 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Mon, 29 Jan 2018 15:08:10 -0600 Subject: integrate debug code in pokenav_before.c --- src/pokenav_before.c | 5048 ++------------------------------------------------ 1 file changed, 188 insertions(+), 4860 deletions(-) (limited to 'src') diff --git a/src/pokenav_before.c b/src/pokenav_before.c index b645136dc..4c55a5673 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -20,8 +20,6 @@ #include "text.h" #include "scanline_effect.h" -extern u8 ewram[]; - struct UnknownPokenav0 { /* 0x0000 */ u8 var0[0x0300]; @@ -472,315 +470,6 @@ void sub_80EBDBC(void (*func)(void)) ewram0_10.var304 = 0; } -#if DEBUG -__attribute__((naked)) -void sub_80EBDD8() -{ - asm("\ - push {lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._64 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r2, r1, #0\n\ - cmp r0, #0x11\n\ - bls ._62 @cond_branch\n\ - b ._131\n\ -._62:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._64 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._65:\n\ - .align 2, 0\n\ -._64:\n\ - .word gSharedMem\n\ - .word ._66\n\ -._66:\n\ - .word ._67\n\ - .word ._68\n\ - .word ._69\n\ - .word ._70\n\ - .word ._71\n\ - .word ._72\n\ - .word ._73\n\ - .word ._74\n\ - .word ._75\n\ - .word ._76\n\ - .word ._77\n\ - .word ._78\n\ - .word ._79\n\ - .word ._80\n\ - .word ._81\n\ - .word ._82\n\ - .word ._83\n\ - .word ._84\n\ -._67:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - mov r1, #0x80\n\ - lsl r1, r1, #0x13\n\ - mov r0, #0x0\n\ - strh r0, [r1]\n\ - ldr r1, ._86 @ gSharedMem\n\ - ldr r3, ._86 + 4 @ 0x6ddc\n\ - add r0, r1, r3\n\ - ldrb r2, [r0]\n\ - sub r3, r3, #0x2f\n\ - add r0, r1, r3\n\ - strb r2, [r0]\n\ - ldr r0, ._86 + 8 @ 0x6dae\n\ - add r2, r1, r0\n\ - mov r0, #0x5\n\ - strb r0, [r2]\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._124\n\ -._87:\n\ - .align 2, 0\n\ -._86:\n\ - .word gSharedMem\n\ - .word 0x6ddc\n\ - .word 0x6dae\n\ -._68:\n\ - bl sub_80F3FF0\n\ - ldr r1, ._91 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._69:\n\ - bl sub_80F4024\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._88 @cond_branch\n\ - b ._131\n\ -._88:\n\ - ldr r1, ._91 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._124\n\ -._92:\n\ - .align 2, 0\n\ -._91:\n\ - .word gSharedMem\n\ -._70:\n\ - bl sub_80F2598\n\ - ldr r1, ._94 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._124\n\ -._95:\n\ - .align 2, 0\n\ -._94:\n\ - .word gSharedMem\n\ -._71:\n\ - bl sub_80EEE20\n\ - ldr r1, ._99 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._72:\n\ - bl sub_80EEE54\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._96 @cond_branch\n\ - b ._131\n\ -._96:\n\ - bl sub_80EEE08\n\ - ldr r1, ._99 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._124\n\ -._100:\n\ - .align 2, 0\n\ -._99:\n\ - .word gSharedMem\n\ -._73:\n\ - mov r0, #0x0\n\ - bl sub_80EF248\n\ - ldr r1, ._104 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._74:\n\ - mov r0, #0x0\n\ - bl sub_80EF284\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._101 @cond_branch\n\ - b ._131\n\ -._101:\n\ - b ._110\n\ -._105:\n\ - .align 2, 0\n\ -._104:\n\ - .word gSharedMem\n\ -._75:\n\ - mov r0, #0x0\n\ - bl sub_80F1B8C\n\ - ldr r1, ._108 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._76:\n\ - mov r0, #0x0\n\ - bl sub_80F1BC8\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._131 @cond_branch\n\ - ldr r1, ._108 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._124\n\ -._109:\n\ - .align 2, 0\n\ -._108:\n\ - .word gSharedMem\n\ -._77:\n\ - ldr r0, ._111 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - b ._110\n\ -._112:\n\ - .align 2, 0\n\ -._111:\n\ - .word sub_80EBD18+1\n\ -._78:\n\ - mov r0, #0x1\n\ - neg r0, r0\n\ - mov r1, #0x0\n\ - str r1, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r1, ._114 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._124\n\ -._115:\n\ - .align 2, 0\n\ -._114:\n\ - .word gSharedMem\n\ -._79:\n\ - mov r0, #0x0\n\ - bl sub_80EED2C\n\ - ldr r1, ._117 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._124\n\ -._118:\n\ - .align 2, 0\n\ -._117:\n\ - .word gSharedMem\n\ -._80:\n\ - ldr r0, ._121 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._131 @cond_branch\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r2, r3\n\ - b ._124\n\ -._122:\n\ - .align 2, 0\n\ -._121:\n\ - .word gPaletteFade\n\ -._81:\n\ - mov r0, #0x0\n\ - bl sub_80F2C80\n\ - ldr r1, ._125 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._82:\n\ - mov r0, #0x0\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._131 @cond_branch\n\ - ldr r1, ._125 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._124\n\ -._126:\n\ - .align 2, 0\n\ -._125:\n\ - .word gSharedMem\n\ -._83:\n\ - bl sub_80F1DF0\n\ -._110:\n\ - ldr r1, ._128 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ -._124:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._131\n\ -._129:\n\ - .align 2, 0\n\ -._128:\n\ - .word gSharedMem\n\ -._84:\n\ - bl sub_80F1E50\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._131 @cond_branch\n\ - mov r0, #0x0\n\ - mov r1, #0x0\n\ - bl sub_80EF428\n\ - ldr r0, ._132 @ sub_80EC268\n\ - bl sub_80EBDBC\n\ - ldr r0, ._132 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._131 @cond_branch\n\ - ldr r0, ._132 + 8 @ 0x6007de0\n\ - ldr r2, ._132 + 12 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ -._131:\n\ - add sp, sp, #0x4\n\ - pop {r0}\n\ - bx r0\n\ -._133:\n\ - .align 2, 0\n\ -._132:\n\ - .word sub_80EC268+1\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800"); -} -#else void sub_80EBDD8() { switch (ewram0_10.var304) @@ -864,289 +553,15 @@ void sub_80EBDD8() { sub_80EF428(0, 0); sub_80EBDBC(&sub_80EC268); +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif } break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80EC00C() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._136 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0xd\n\ - bls ._134 @cond_branch\n\ - b ._191\n\ -._134:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._136 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._137:\n\ - .align 2, 0\n\ -._136:\n\ - .word gSharedMem\n\ - .word ._138\n\ -._138:\n\ - .word ._139\n\ - .word ._140\n\ - .word ._141\n\ - .word ._142\n\ - .word ._143\n\ - .word ._144\n\ - .word ._145\n\ - .word ._146\n\ - .word ._147\n\ - .word ._148\n\ - .word ._149\n\ - .word ._150\n\ - .word ._151\n\ - .word ._152\n\ -._139:\n\ - bl sub_80EEF78\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._153 @cond_branch\n\ - b ._191\n\ -._153:\n\ - ldr r0, ._156 @ sub_80EBD80\n\ - bl SetVBlankCallback\n\ - bl sub_80EED1C\n\ - ldr r4, ._156 + 4 @ gSharedMem\n\ - ldr r1, ._156 + 8 @ 0x6ddc\n\ - add r0, r4, r1\n\ - ldrb r1, [r0]\n\ - ldr r2, ._156 + 12 @ 0x6dad\n\ - add r0, r4, r2\n\ - strb r1, [r0]\n\ - ldr r0, ._156 + 16 @ 0x6dae\n\ - add r1, r4, r0\n\ - mov r0, #0x5\n\ - strb r0, [r1]\n\ - bl sub_80EEE08\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r4, r4, r1\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4]\n\ - b ._191\n\ -._157:\n\ - .align 2, 0\n\ -._156:\n\ - .word sub_80EBD80+1\n\ - .word gSharedMem\n\ - .word 0x6ddc\n\ - .word 0x6dad\n\ - .word 0x6dae\n\ -._140:\n\ - mov r0, #0x0\n\ - bl sub_80EF248\n\ - ldr r1, ._161 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._141:\n\ - mov r0, #0x0\n\ - bl sub_80EF284\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._158 @cond_branch\n\ - b ._191\n\ -._158:\n\ - ldr r1, ._161 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._184\n\ -._162:\n\ - .align 2, 0\n\ -._161:\n\ - .word gSharedMem\n\ -._142:\n\ - mov r0, #0x0\n\ - bl sub_80F1B8C\n\ - ldr r1, ._166 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._143:\n\ - mov r0, #0x0\n\ - bl sub_80F1BC8\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._163 @cond_branch\n\ - b ._191\n\ -._163:\n\ - ldr r1, ._166 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._184\n\ -._167:\n\ - .align 2, 0\n\ -._166:\n\ - .word gSharedMem\n\ -._144:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._191 @cond_branch\n\ - b ._169\n\ -._145:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._171 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._184\n\ -._172:\n\ - .align 2, 0\n\ -._171:\n\ - .word sub_80EBD18+1\n\ -._146:\n\ - mov r0, #0x0\n\ - bl sub_80EED2C\n\ - ldr r1, ._174 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._184\n\ -._175:\n\ - .align 2, 0\n\ -._174:\n\ - .word gSharedMem\n\ -._147:\n\ - ldr r0, ._178 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._191 @cond_branch\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._184\n\ -._179:\n\ - .align 2, 0\n\ -._178:\n\ - .word gPaletteFade\n\ -._148:\n\ - bl sub_80F2598\n\ - ldr r1, ._181 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._184\n\ -._182:\n\ - .align 2, 0\n\ -._181:\n\ - .word gSharedMem\n\ -._149:\n\ - mov r0, #0x0\n\ - bl sub_80F2C80\n\ - ldr r1, ._185 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._150:\n\ - mov r0, #0x0\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._191 @cond_branch\n\ - ldr r1, ._185 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._184\n\ -._186:\n\ - .align 2, 0\n\ -._185:\n\ - .word gSharedMem\n\ -._151:\n\ - bl sub_80F1DF0\n\ -._169:\n\ - ldr r1, ._188 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ -._184:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._191\n\ -._189:\n\ - .align 2, 0\n\ -._188:\n\ - .word gSharedMem\n\ -._152:\n\ - bl sub_80F1E50\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._191 @cond_branch\n\ - ldr r0, ._192 @ gSharedMem\n\ - ldr r1, ._192 + 4 @ 0x6dad\n\ - add r0, r0, r1\n\ - ldrb r1, [r0]\n\ - mov r0, #0x0\n\ - bl sub_80EF428\n\ - ldr r0, ._192 + 8 @ sub_80EC268\n\ - bl sub_80EBDBC\n\ - ldr r0, ._192 + 12 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._191 @cond_branch\n\ - ldr r0, ._192 + 16 @ 0x6007de0\n\ - ldr r2, ._192 + 20 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ -._191:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._193:\n\ - .align 2, 0\n\ -._192:\n\ - .word gSharedMem\n\ - .word 0x6dad\n\ - .word sub_80EC268+1\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800"); -} -#else void sub_80EC00C() { switch (ewram0_10.var304) @@ -1216,11 +631,14 @@ void sub_80EC00C() { sub_80EF428(0, ewram0_10.var6dad); sub_80EBDBC(&sub_80EC268); +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif } break; } } -#endif void sub_80EC210() { @@ -1342,262 +760,6 @@ void sub_80EC268() } } -#if DEBUG -__attribute__((naked)) -void sub_80EC4A0() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._285 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0xe\n\ - bls ._283 @cond_branch\n\ - b ._340\n\ -._283:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._285 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._286:\n\ - .align 2, 0\n\ -._285:\n\ - .word gSharedMem\n\ - .word ._287\n\ -._287:\n\ - .word ._288\n\ - .word ._289\n\ - .word ._290\n\ - .word ._291\n\ - .word ._292\n\ - .word ._293\n\ - .word ._294\n\ - .word ._295\n\ - .word ._296\n\ - .word ._297\n\ - .word ._298\n\ - .word ._299\n\ - .word ._300\n\ - .word ._301\n\ - .word ._302\n\ -._288:\n\ - bl sub_80F1E84\n\ - mov r0, #0x0\n\ - bl sub_80F2D04\n\ - b ._336\n\ -._289:\n\ - bl sub_80F1F10\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._304 @cond_branch\n\ - b ._340\n\ -._304:\n\ - ldr r0, ._308 @ gSaveBlock2\n\ - ldrb r1, [r0, #0x15]\n\ - mov r0, #0x8\n\ - and r0, r0, r1\n\ - mov r1, #0x8\n\ - cmp r0, #0\n\ - beq ._306 @cond_branch\n\ - mov r1, #0x7\n\ -._306:\n\ - add r0, r1, #0\n\ - bl sub_80EEFBC\n\ - ldr r1, ._308 + 4 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._335\n\ -._309:\n\ - .align 2, 0\n\ -._308:\n\ - .word gSaveBlock2\n\ - .word gSharedMem\n\ -._290:\n\ - bl sub_80EEF34\n\ - lsl r0, r0, #0x18\n\ - lsr r2, r0, #0x18\n\ - cmp r2, #0\n\ - beq ._310 @cond_branch\n\ - b ._340\n\ -._310:\n\ - ldr r4, ._313 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - str r2, [sp]\n\ - mov r2, #0x0\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._335\n\ -._314:\n\ - .align 2, 0\n\ -._313:\n\ - .word gSharedMem\n\ -._291:\n\ - ldr r0, ._318 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._315 @cond_branch\n\ - b ._340\n\ -._315:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - b ._336\n\ -._319:\n\ - .align 2, 0\n\ -._318:\n\ - .word gPaletteFade\n\ -._292:\n\ - bl sub_80F2620\n\ - ldr r1, ._321 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._335\n\ -._322:\n\ - .align 2, 0\n\ -._321:\n\ - .word gSharedMem\n\ -._293:\n\ - bl sub_80EF814\n\ - b ._336\n\ -._294:\n\ - bl sub_80EF840\n\ - ldr r1, ._326 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._295:\n\ - bl sub_80EF874\n\ -._328:\n\ - lsl r0, r0, #0x18\n\ -._334:\n\ - cmp r0, #0\n\ - bne ._340 @cond_branch\n\ - b ._336\n\ -._327:\n\ - .align 2, 0\n\ -._326:\n\ - .word gSharedMem\n\ -._296:\n\ - mov r0, #0x4\n\ - bl sub_80F2C80\n\ - ldr r1, ._329 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._297:\n\ - mov r0, #0x4\n\ - bl sub_80F2CBC\n\ - b ._328\n\ -._330:\n\ - .align 2, 0\n\ -._329:\n\ - .word gSharedMem\n\ -._298:\n\ - bl sub_80F2DD8\n\ - ldr r0, ._332 @ sub_80EBD30\n\ - bl SetVBlankCallback\n\ - ldr r1, ._332 + 4 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._335\n\ -._333:\n\ - .align 2, 0\n\ -._332:\n\ - .word sub_80EBD30+1\n\ - .word gSharedMem\n\ -._299:\n\ - bl sub_8055870\n\ - b ._334\n\ -._300:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._335\n\ -._301:\n\ - mov r0, #0x1\n\ - bl sub_80EED2C\n\ - ldr r0, ._338 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._336 @cond_branch\n\ - ldr r0, ._338 + 4 @ 0x60075e0\n\ - ldr r2, ._338 + 8 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ -._336:\n\ - ldr r1, ._338 + 12 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ -._335:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._340\n\ -._339:\n\ - .align 2, 0\n\ -._338:\n\ - .word gLinkOpen\n\ - .word 0x60075e0\n\ - .word 0x600f800\n\ - .word gSharedMem\n\ -._302:\n\ - ldr r0, ._341 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._340 @cond_branch\n\ - ldr r0, ._341 + 4 @ sub_80EC67C\n\ - bl sub_80EBDBC\n\ -._340:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._342:\n\ - .align 2, 0\n\ -._341:\n\ - .word gPaletteFade\n\ - .word sub_80EC67C+1"); -} -#else void sub_80EC4A0() { u32 var1; @@ -1674,6 +836,10 @@ void sub_80EC4A0() break; case 0xD: sub_80EED2C(0x1); +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x75E0), 0, (void *)(VRAM + 0xF800), 4); +#endif ewram0_10.var304++; break; case 0xE: @@ -1682,243 +848,7 @@ void sub_80EC4A0() break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80EC67C() -{ - asm("\ - push {r4, r5, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._345 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x5\n\ - bls ._343 @cond_branch\n\ - b ._386\n\ -._343:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._345 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._346:\n\ - .align 2, 0\n\ -._345:\n\ - .word gSharedMem\n\ - .word ._347\n\ -._347:\n\ - .word ._348\n\ - .word ._349\n\ - .word ._350\n\ - .word ._351\n\ - .word ._352\n\ - .word ._353\n\ -._348:\n\ - bl sub_80FAB60\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x3\n\ - beq ._354 @cond_branch\n\ - cmp r0, #0x3\n\ - bgt ._355 @cond_branch\n\ - cmp r0, #0x1\n\ - beq ._356 @cond_branch\n\ - b ._386\n\ -._355:\n\ - cmp r0, #0x4\n\ - beq ._358 @cond_branch\n\ - cmp r0, #0x5\n\ - beq ._359 @cond_branch\n\ - b ._386\n\ -._356:\n\ - bl sub_80EED9C\n\ - b ._386\n\ -._354:\n\ - bl sub_80EF9F8\n\ - b ._386\n\ -._358:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._364 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - mov r1, #0x1\n\ - strh r1, [r0]\n\ - b ._386\n\ -._365:\n\ - .align 2, 0\n\ -._364:\n\ - .word gSharedMem\n\ -._359:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._367 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r0, r2\n\ - mov r1, #0x4\n\ - strh r1, [r0]\n\ - b ._386\n\ -._368:\n\ - .align 2, 0\n\ -._367:\n\ - .word gSharedMem\n\ -._349:\n\ - ldr r1, ._371 @ 0x6e90\n\ - add r0, r4, r1\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - bne ._369 @cond_branch\n\ - bl sub_80FAEC4\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._380\n\ -._372:\n\ - .align 2, 0\n\ -._371:\n\ - .word 0x6e90\n\ -._369:\n\ - mov r0, #0x1\n\ - bl sub_80EFBDC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._386 @cond_branch\n\ - bl sub_80FAEC4\n\ - b ._374\n\ -._350:\n\ - bl sub_80FAFC0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._386 @cond_branch\n\ - ldr r5, ._378 @ gSharedMem\n\ - ldr r1, ._378 + 4 @ 0x6e90\n\ - add r0, r5, r1\n\ - ldrb r4, [r0]\n\ - cmp r4, #0\n\ - bne ._376 @cond_branch\n\ - bl sub_80EFBB0\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r5, r2\n\ - strh r4, [r0]\n\ - b ._386\n\ -._379:\n\ - .align 2, 0\n\ -._378:\n\ - .word gSharedMem\n\ - .word 0x6e90\n\ -._376:\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r5, r0\n\ - b ._380\n\ -._351:\n\ - mov r0, #0x0\n\ - bl sub_80EFBDC\n\ - lsl r0, r0, #0x18\n\ - lsr r4, r0, #0x18\n\ - cmp r4, #0\n\ - bne ._386 @cond_branch\n\ - bl sub_80EFBB0\n\ - ldr r0, ._383 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - strh r4, [r0]\n\ - b ._386\n\ -._384:\n\ - .align 2, 0\n\ -._383:\n\ - .word gSharedMem\n\ -._352:\n\ - mov r2, #0xc2\n\ - lsl r2, r2, #0x2\n\ - add r0, r4, r2\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ -._374:\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r4, r0\n\ -._380:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._386\n\ -._353:\n\ - ldr r0, ._389 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._386 @cond_branch\n\ - bl sub_80F2DF4\n\ - mov r0, #0x4\n\ - bl sub_80F2D04\n\ - ldr r3, ._389 + 4 @ gSaveBlock2\n\ - mov r2, #0x0\n\ - ldr r0, ._389 + 8 @ gSharedMem\n\ - ldr r1, ._389 + 12 @ 0x6e90\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._387 @cond_branch\n\ - mov r2, #0x1\n\ -._387:\n\ - lsl r2, r2, #0x3\n\ - ldrb r1, [r3, #0x15]\n\ - mov r0, #0x9\n\ - neg r0, r0\n\ - and r0, r0, r1\n\ - orr r0, r0, r2\n\ - strb r0, [r3, #0x15]\n\ - ldr r0, ._389 + 16 @ sub_80EC00C\n\ - bl sub_80EBDBC\n\ -._386:\n\ - ldr r0, ._389 + 20 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._388 @cond_branch\n\ - ldr r0, ._389 + 24 @ gLink\n\ - ldr r2, ._389 + 28 @ 0xfbd\n\ - add r0, r0, r2\n\ - ldrb r0, [r0]\n\ - mov r1, #0x4\n\ - str r1, [sp]\n\ - mov r1, #0x1\n\ - mov r2, #0x1\n\ - mov r3, #0x2\n\ - bl debug_sub_8008264\n\ -._388:\n\ - add sp, sp, #0x4\n\ - pop {r4, r5}\n\ - pop {r0}\n\ - bx r0\n\ -._390:\n\ - .align 2, 0\n\ -._389:\n\ - .word gPaletteFade\n\ - .word gSaveBlock2\n\ - .word gSharedMem\n\ - .word 0x6e90\n\ - .word sub_80EC00C+1\n\ - .word gLinkOpen\n\ - .word gLink\n\ - .word 0xfbd"); -} -#else void sub_80EC67C() { switch (ewram0_10.var304) @@ -1989,8 +919,11 @@ void sub_80EC67C() } break; } -} +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008264(gLink.recvQueue.count, 1, 1, 2, 4); #endif +} void sub_80EC81C() { @@ -2085,275 +1018,6 @@ void sub_80EC9A8() } } -#if DEBUG -__attribute__((naked)) -void sub_80ECA10() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._456 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0xd\n\ - bls ._454 @cond_branch\n\ - b ._509\n\ -._454:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._456 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._457:\n\ - .align 2, 0\n\ -._456:\n\ - .word gSharedMem\n\ - .word ._458\n\ -._458:\n\ - .word ._459\n\ - .word ._460\n\ - .word ._461\n\ - .word ._462\n\ - .word ._463\n\ - .word ._464\n\ - .word ._465\n\ - .word ._466\n\ - .word ._467\n\ - .word ._468\n\ - .word ._469\n\ - .word ._470\n\ - .word ._471\n\ - .word ._472\n\ -._459:\n\ - bl sub_80EEF78\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._473 @cond_branch\n\ - b ._509\n\ -._473:\n\ - ldr r0, ._476 @ sub_80EBD80\n\ - bl SetVBlankCallback\n\ - bl sub_80EED1C\n\ - ldr r4, ._476 + 4 @ gSharedMem\n\ - ldr r1, ._476 + 8 @ 0x6df0\n\ - add r0, r4, r1\n\ - ldrb r1, [r0]\n\ - ldr r2, ._476 + 12 @ 0x6dad\n\ - add r0, r4, r2\n\ - strb r1, [r0]\n\ - ldr r0, ._476 + 16 @ 0x6dae\n\ - add r1, r4, r0\n\ - mov r0, #0x3\n\ - strb r0, [r1]\n\ - bl sub_80EEE08\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r4, r4, r1\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4]\n\ - b ._509\n\ -._477:\n\ - .align 2, 0\n\ -._476:\n\ - .word sub_80EBD80+1\n\ - .word gSharedMem\n\ - .word 0x6df0\n\ - .word 0x6dad\n\ - .word 0x6dae\n\ -._460:\n\ - mov r0, #0x1\n\ - bl sub_80EF248\n\ - ldr r1, ._481 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._461:\n\ - mov r0, #0x1\n\ - bl sub_80EF284\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._478 @cond_branch\n\ - b ._509\n\ -._478:\n\ - ldr r1, ._481 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._502\n\ -._482:\n\ - .align 2, 0\n\ -._481:\n\ - .word gSharedMem\n\ -._462:\n\ - mov r0, #0x1\n\ - bl sub_80F1B8C\n\ - ldr r1, ._486 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._463:\n\ - mov r0, #0x1\n\ - bl sub_80F1BC8\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._483 @cond_branch\n\ - b ._509\n\ -._483:\n\ - ldr r1, ._486 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._502\n\ -._487:\n\ - .align 2, 0\n\ -._486:\n\ - .word gSharedMem\n\ -._464:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._509 @cond_branch\n\ - b ._496\n\ -._465:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._491 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._502\n\ -._492:\n\ - .align 2, 0\n\ -._491:\n\ - .word sub_80EBD18+1\n\ -._466:\n\ - mov r0, #0x0\n\ - bl sub_80EED2C\n\ - ldr r1, ._494 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._502\n\ -._495:\n\ - .align 2, 0\n\ -._494:\n\ - .word gSharedMem\n\ -._467:\n\ - bl sub_80F2598\n\ - b ._496\n\ -._468:\n\ - ldr r0, ._499 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._509 @cond_branch\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r4, r0\n\ - b ._502\n\ -._500:\n\ - .align 2, 0\n\ -._499:\n\ - .word gPaletteFade\n\ -._469:\n\ - mov r0, #0x1\n\ - bl sub_80F2C80\n\ - ldr r1, ._503 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._470:\n\ - mov r0, #0x1\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._509 @cond_branch\n\ - ldr r1, ._503 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._502\n\ -._504:\n\ - .align 2, 0\n\ -._503:\n\ - .word gSharedMem\n\ -._471:\n\ - bl sub_80F1DF0\n\ -._496:\n\ - ldr r1, ._506 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ -._502:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._509\n\ -._507:\n\ - .align 2, 0\n\ -._506:\n\ - .word gSharedMem\n\ -._472:\n\ - bl sub_80F1E50\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._509 @cond_branch\n\ - ldr r0, ._510 @ gSharedMem\n\ - ldr r1, ._510 + 4 @ 0x6dad\n\ - add r0, r0, r1\n\ - ldrb r1, [r0]\n\ - mov r0, #0x1\n\ - bl sub_80EF428\n\ - ldr r0, ._510 + 8 @ sub_80EC86C\n\ - bl sub_80EBDBC\n\ - ldr r0, ._510 + 12 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._509 @cond_branch\n\ - ldr r0, ._510 + 16 @ 0x6007de0\n\ - ldr r2, ._510 + 20 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ -._509:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._511:\n\ - .align 2, 0\n\ -._510:\n\ - .word gSharedMem\n\ - .word 0x6dad\n\ - .word sub_80EC86C+1\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800"); -} -#else void sub_80ECA10() { switch (ewram0_10.var304) @@ -2364,23 +1028,23 @@ void sub_80ECA10() SetVBlankCallback(&sub_80EBD80); sub_80EED1C(); ewram0_10.var6dad = ewram0_10.var6df0; - ewram0_10.var6dae = 0x3; + ewram0_10.var6dae = 3; sub_80EEE08(); ewram0_10.var304++; } break; case 1: - sub_80EF248(0x1); + sub_80EF248(1); ewram0_10.var304++; case 2: - if (!sub_80EF284(0x1)) + if (!sub_80EF284(1)) ewram0_10.var304++; break; case 3: - sub_80F1B8C(0x1); + sub_80F1B8C(1); ewram0_10.var304++; case 4: - if (!sub_80F1BC8(0x1)) + if (!sub_80F1BC8(1)) ewram0_10.var304++; break; case 5: @@ -2404,28 +1068,31 @@ void sub_80ECA10() if (!gPaletteFade.active) ewram0_10.var304++; break; - case 0xA: - sub_80F2C80(0x1); + case 10: + sub_80F2C80(1); ewram0_10.var304++; // fall through - case 0xB: - if (!sub_80F2CBC(0x1)) + case 11: + if (!sub_80F2CBC(1)) ewram0_10.var304++; break; - case 0xC: + case 12: sub_80F1DF0(); ewram0_10.var304++; break; - case 0xD: + case 13: if (!sub_80F1E50()) { sub_80EF428(1, ewram0_10.var6dad); sub_80EBDBC(&sub_80EC86C); +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif } break; } } -#endif void sub_80ECC08() { @@ -2481,362 +1148,6 @@ void sub_80ECC08() } } -#if DEBUG -__attribute__((naked)) -void sub_80ECD80() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._564 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x14\n\ - bls ._562 @cond_branch\n\ - b ._642\n\ -._562:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._564 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._565:\n\ - .align 2, 0\n\ -._564:\n\ - .word gSharedMem\n\ - .word ._566\n\ -._566:\n\ - .word ._567\n\ - .word ._568\n\ - .word ._569\n\ - .word ._570\n\ - .word ._571\n\ - .word ._572\n\ - .word ._573\n\ - .word ._574\n\ - .word ._575\n\ - .word ._576\n\ - .word ._577\n\ - .word ._578\n\ - .word ._579\n\ - .word ._580\n\ - .word ._581\n\ - .word ._582\n\ - .word ._583\n\ - .word ._584\n\ - .word ._585\n\ - .word ._586\n\ - .word ._587\n\ -._567:\n\ - mov r3, #0xc2\n\ - lsl r3, r3, #0x2\n\ - add r0, r4, r3\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r4, r0\n\ - b ._630\n\ -._568:\n\ - ldr r0, ._592 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._589 @cond_branch\n\ - b ._642\n\ -._589:\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._630\n\ -._593:\n\ - .align 2, 0\n\ -._592:\n\ - .word gPaletteFade\n\ -._569:\n\ - bl sub_80EEF78\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._594 @cond_branch\n\ - b ._642\n\ -._594:\n\ - ldr r0, ._597 @ sub_80EBD80\n\ - bl SetVBlankCallback\n\ - b ._625\n\ -._598:\n\ - .align 2, 0\n\ -._597:\n\ - .word sub_80EBD80+1\n\ -._570:\n\ - bl sub_80EED1C\n\ - bl sub_80F3130\n\ - ldr r1, ._600 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._630\n\ -._601:\n\ - .align 2, 0\n\ -._600:\n\ - .word gSharedMem\n\ -._571:\n\ - mov r0, #0x1\n\ - bl sub_80F2D6C\n\ - ldr r1, ._603 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._630\n\ -._604:\n\ - .align 2, 0\n\ -._603:\n\ - .word gSharedMem\n\ -._572:\n\ - mov r0, #0x5\n\ - bl sub_80F2D6C\n\ - b ._625\n\ -._573:\n\ - ldr r1, ._607 @ 0x6dfc\n\ - add r0, r4, r1\n\ - ldrb r1, [r0]\n\ - ldr r2, ._607 + 4 @ 0x6dad\n\ - add r0, r4, r2\n\ - strb r1, [r0]\n\ - ldr r3, ._607 + 8 @ 0x6dae\n\ - add r1, r4, r3\n\ - mov r0, #0x6\n\ - strb r0, [r1]\n\ - bl sub_80EEE08\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r4, r0\n\ - b ._630\n\ -._608:\n\ - .align 2, 0\n\ -._607:\n\ - .word 0x6dfc\n\ - .word 0x6dad\n\ - .word 0x6dae\n\ -._574:\n\ - mov r0, #0x2\n\ - bl sub_80EF248\n\ - ldr r1, ._612 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._575:\n\ - mov r0, #0x2\n\ - bl sub_80EF284\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._609 @cond_branch\n\ - b ._642\n\ -._609:\n\ - b ._625\n\ -._613:\n\ - .align 2, 0\n\ -._612:\n\ - .word gSharedMem\n\ -._576:\n\ - mov r0, #0x2\n\ - bl sub_80F1B8C\n\ - ldr r1, ._617 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._577:\n\ - mov r0, #0x2\n\ - bl sub_80F1BC8\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._614 @cond_branch\n\ - b ._642\n\ -._614:\n\ - ldr r1, ._617 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._630\n\ -._618:\n\ - .align 2, 0\n\ -._617:\n\ - .word gSharedMem\n\ -._578:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - beq ._619 @cond_branch\n\ - b ._642\n\ -._619:\n\ - b ._625\n\ -._579:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._623 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._630\n\ -._624:\n\ - .align 2, 0\n\ -._623:\n\ - .word sub_80EBD18+1\n\ -._580:\n\ - mov r0, #0x0\n\ - bl sub_80EED2C\n\ - b ._625\n\ -._581:\n\ - bl sub_80F2598\n\ - ldr r1, ._627 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._630\n\ -._628:\n\ - .align 2, 0\n\ -._627:\n\ - .word gSharedMem\n\ -._582:\n\ - ldr r0, ._631 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._642 @cond_branch\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._630\n\ -._632:\n\ - .align 2, 0\n\ -._631:\n\ - .word gPaletteFade\n\ -._583:\n\ - mov r0, #0x1\n\ - bl sub_80F2C80\n\ - ldr r1, ._635 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._584:\n\ - mov r0, #0x1\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - lsr r2, r0, #0x18\n\ - cmp r2, #0\n\ - bne ._642 @cond_branch\n\ - ldr r0, ._635 @ gSharedMem\n\ - ldr r3, ._635 + 4 @ 0x306\n\ - add r1, r0, r3\n\ - strh r2, [r1]\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - add r1, r1, #0x1\n\ - strh r1, [r0]\n\ - b ._642\n\ -._636:\n\ - .align 2, 0\n\ -._635:\n\ - .word gSharedMem\n\ - .word 0x306\n\ -._585:\n\ - mov r0, #0x5\n\ - bl sub_80F2C80\n\ - ldr r1, ._639 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._586:\n\ - mov r0, #0x5\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._642 @cond_branch\n\ - bl sub_80F1DF0\n\ -._625:\n\ - ldr r1, ._639 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ -._630:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._642\n\ -._640:\n\ - .align 2, 0\n\ -._639:\n\ - .word gSharedMem\n\ -._587:\n\ - bl sub_80F1E50\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._642 @cond_branch\n\ - ldr r0, ._643 @ gSharedMem\n\ - ldr r1, ._643 + 4 @ 0x6dad\n\ - add r0, r0, r1\n\ - ldrb r1, [r0]\n\ - mov r0, #0x2\n\ - bl sub_80EF428\n\ - ldr r0, ._643 + 8 @ sub_80ECC08\n\ - bl sub_80EBDBC\n\ - ldr r0, ._643 + 12 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._642 @cond_branch\n\ - ldr r0, ._643 + 16 @ 0x6007de0\n\ - ldr r2, ._643 + 20 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ -._642:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._644:\n\ - .align 2, 0\n\ -._643:\n\ - .word gSharedMem\n\ - .word 0x6dad\n\ - .word sub_80ECC08+1\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800"); -} -#else void sub_80ECD80() { switch (ewram0_10.var304) @@ -2939,422 +1250,15 @@ void sub_80ECD80() { sub_80EF428(2, ewram0_10.var6dad); sub_80EBDBC(&sub_80ECC08); +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif } break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80ED01C() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._647 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x13\n\ - bls ._645 @cond_branch\n\ - b ._736\n\ -._645:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._647 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._648:\n\ - .align 2, 0\n\ -._647:\n\ - .word gSharedMem\n\ - .word ._649\n\ -._649:\n\ - .word ._650\n\ - .word ._651\n\ - .word ._652\n\ - .word ._653\n\ - .word ._654\n\ - .word ._655\n\ - .word ._656\n\ - .word ._657\n\ - .word ._658\n\ - .word ._659\n\ - .word ._660\n\ - .word ._661\n\ - .word ._662\n\ - .word ._663\n\ - .word ._664\n\ - .word ._665\n\ - .word ._666\n\ - .word ._667\n\ - .word ._668\n\ - .word ._669\n\ -._650:\n\ - bl sub_80F1E84\n\ - mov r0, #0x1\n\ - bl sub_80F2D04\n\ - mov r0, #0x5\n\ - bl sub_80F2D04\n\ - ldr r1, ._671 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - b ._724\n\ -._672:\n\ - .align 2, 0\n\ -._671:\n\ - .word gSharedMem\n\ -._651:\n\ - bl sub_80F1F10\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._673 @cond_branch\n\ - b ._736\n\ -._673:\n\ - mov r0, #0x0\n\ - bl sub_80EEFBC\n\ - ldr r1, ._676 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._724\n\ -._677:\n\ - .align 2, 0\n\ -._676:\n\ - .word gSharedMem\n\ -._652:\n\ - bl sub_80EEF34\n\ - lsl r0, r0, #0x18\n\ - lsr r2, r0, #0x18\n\ - cmp r2, #0\n\ - beq ._678 @cond_branch\n\ - b ._736\n\ -._678:\n\ - ldr r4, ._681 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - str r2, [sp]\n\ - mov r2, #0x0\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._724\n\ -._682:\n\ - .align 2, 0\n\ -._681:\n\ - .word gSharedMem\n\ -._653:\n\ - ldr r0, ._686 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._683 @cond_branch\n\ - b ._736\n\ -._683:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - bl sub_80EF814\n\ - ldr r1, ._686 + 4 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - b ._724\n\ -._687:\n\ - .align 2, 0\n\ -._686:\n\ - .word gPaletteFade\n\ - .word gSharedMem\n\ -._654:\n\ - bl sub_80F2620\n\ - ldr r1, ._689 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._724\n\ -._690:\n\ - .align 2, 0\n\ -._689:\n\ - .word gSharedMem\n\ -._655:\n\ - bl sub_80F4D44\n\ - ldr r1, ._693 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._656:\n\ - bl sub_80F4D88\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._691 @cond_branch\n\ - ldr r1, ._693 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x2\n\ - strh r0, [r1]\n\ - b ._736\n\ -._694:\n\ - .align 2, 0\n\ -._693:\n\ - .word gSharedMem\n\ -._691:\n\ - ldr r1, ._696 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._724\n\ -._697:\n\ - .align 2, 0\n\ -._696:\n\ - .word gSharedMem\n\ -._657:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - beq ._698 @cond_branch\n\ - b ._736\n\ -._698:\n\ - ldr r1, ._701 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - sub r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._736\n\ -._702:\n\ - .align 2, 0\n\ -._701:\n\ - .word gSharedMem\n\ -._658:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - beq ._703 @cond_branch\n\ - b ._736\n\ -._703:\n\ - ldr r1, ._706 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - b ._724\n\ -._707:\n\ - .align 2, 0\n\ -._706:\n\ - .word gSharedMem\n\ -._659:\n\ - mov r0, #0x0\n\ - bl sub_80F0264\n\ - ldr r1, ._711 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._660:\n\ - bl sub_80F02A0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._708 @cond_branch\n\ - b ._736\n\ -._708:\n\ - ldr r1, ._711 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._724\n\ -._712:\n\ - .align 2, 0\n\ -._711:\n\ - .word gSharedMem\n\ -._661:\n\ - mov r0, #0x0\n\ - bl sub_80F3008\n\ - ldr r1, ._714 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - b ._724\n\ -._715:\n\ - .align 2, 0\n\ -._714:\n\ - .word gSharedMem\n\ -._662:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - beq ._716 @cond_branch\n\ - b ._736\n\ -._716:\n\ - ldr r1, ._719 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._724\n\ -._720:\n\ - .align 2, 0\n\ -._719:\n\ - .word gSharedMem\n\ -._663:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._722 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._724\n\ -._723:\n\ - .align 2, 0\n\ -._722:\n\ - .word sub_80EBD18+1\n\ -._664:\n\ - mov r0, #0x4\n\ - bl sub_80EED2C\n\ - ldr r1, ._725 @ gSharedMem\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r1, r3\n\ - b ._724\n\ -._726:\n\ - .align 2, 0\n\ -._725:\n\ - .word gSharedMem\n\ -._665:\n\ - ldr r0, ._729 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - lsl r0, r0, #0x18\n\ - lsr r1, r0, #0x18\n\ - cmp r1, #0\n\ - bne ._736 @cond_branch\n\ - ldr r2, ._729 + 4 @ 0x306\n\ - add r0, r4, r2\n\ - strh r1, [r0]\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r1, r4, r3\n\ -._724:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._736\n\ -._730:\n\ - .align 2, 0\n\ -._729:\n\ - .word gPaletteFade\n\ - .word 0x306\n\ -._666:\n\ - mov r0, #0x1\n\ - bl sub_80F2C80\n\ - ldr r1, ._733 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._667:\n\ - mov r0, #0x1\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - lsr r2, r0, #0x18\n\ - cmp r2, #0\n\ - bne ._736 @cond_branch\n\ - ldr r0, ._733 @ gSharedMem\n\ - ldr r3, ._733 + 4 @ 0x306\n\ - add r1, r0, r3\n\ - strh r2, [r1]\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - add r1, r1, #0x1\n\ - strh r1, [r0]\n\ - b ._736\n\ -._734:\n\ - .align 2, 0\n\ -._733:\n\ - .word gSharedMem\n\ - .word 0x306\n\ -._668:\n\ - ldr r4, ._737 @ gSharedMem\n\ - ldr r2, ._737 + 4 @ 0x6dfc\n\ - add r0, r4, r2\n\ - ldrb r0, [r0]\n\ - add r0, r0, #0x7\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl sub_80F2C80\n\ - mov r3, #0xc1\n\ - lsl r3, r3, #0x2\n\ - add r4, r4, r3\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4]\n\ -._669:\n\ - ldr r0, ._737 @ gSharedMem\n\ - ldr r1, ._737 + 4 @ 0x6dfc\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - add r0, r0, #0x7\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._736 @cond_branch\n\ - ldr r0, ._737 + 8 @ sub_80ED31C\n\ - bl sub_80EBDBC\n\ - ldr r0, ._737 + 12 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._736 @cond_branch\n\ - ldr r0, ._737 + 16 @ 0x6007de0\n\ - ldr r2, ._737 + 20 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ -._736:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._738:\n\ - .align 2, 0\n\ -._737:\n\ - .word gSharedMem\n\ - .word 0x6dfc\n\ - .word sub_80ED31C+1\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800"); -} -#else void sub_80ED01C() { switch (ewram0_10.var304) @@ -3459,133 +1363,17 @@ void sub_80ED01C() // fall through case 19: if (!sub_80F2CBC(ewram0_10.var6dfc + 7)) + { sub_80EBDBC(&sub_80ED31C); +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif + } break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80ED31C() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r0, ._743 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r4, r0, r1\n\ - ldrh r0, [r4]\n\ - cmp r0, #0x1\n\ - beq ._739 @cond_branch\n\ - cmp r0, #0x1\n\ - bgt ._740 @cond_branch\n\ - cmp r0, #0\n\ - beq ._741 @cond_branch\n\ - b ._761\n\ -._744:\n\ - .align 2, 0\n\ -._743:\n\ - .word gSharedMem\n\ -._740:\n\ - cmp r0, #0x2\n\ - beq ._745 @cond_branch\n\ - b ._761\n\ -._741:\n\ - bl sub_80F5DD4\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x1\n\ - beq ._747 @cond_branch\n\ - cmp r0, #0x2\n\ - beq ._748 @cond_branch\n\ - ldr r0, ._751 @ gMain\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._749 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._751 + 4 @ sub_80ED4D8\n\ - bl sub_80EBDBC\n\ - b ._762\n\ -._752:\n\ - .align 2, 0\n\ -._751:\n\ - .word gMain\n\ - .word sub_80ED4D8+1\n\ -._747:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - bl ShowMapNamePopUpWindow\n\ - b ._762\n\ -._748:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4]\n\ - b ._762\n\ -._749:\n\ - mov r0, #0x2\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._761 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._757 @ sub_80ECD80\n\ - bl sub_80EBDBC\n\ - b ._762\n\ -._758:\n\ - .align 2, 0\n\ -._757:\n\ - .word sub_80ECD80+1\n\ -._739:\n\ - bl sub_80F0718\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._761 @cond_branch\n\ - bl ShowMapNamePopUpWindow\n\ - bl sub_80F3264\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - b ._760\n\ -._745:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._761 @cond_branch\n\ -._760:\n\ - strh r0, [r4]\n\ -._761:\n\ - ldr r0, ._763 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._762 @cond_branch\n\ - ldr r0, ._763 + 4 @ gLink\n\ - ldr r1, ._763 + 8 @ 0xfbd\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r1, #0x4\n\ - str r1, [sp]\n\ - mov r1, #0x1\n\ - mov r2, #0x8\n\ - mov r3, #0x2\n\ - bl debug_sub_8008264\n\ -._762:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._764:\n\ - .align 2, 0\n\ -._763:\n\ - .word gLinkOpen\n\ - .word gLink\n\ - .word 0xfbd"); -} -#else void sub_80ED31C() { switch (ewram0_10.var304) @@ -3596,21 +1384,23 @@ void sub_80ED31C() case 1: PlaySE(SE_SELECT); ShowMapNamePopUpWindow(); - break; + return; case 2: PlaySE(SE_SELECT); ewram0_10.var304++; - break; + return; default: if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); sub_80EBDBC(&sub_80ED4D8); + return; } else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); sub_80EBDBC(&sub_80ECD80); + return; } break; } @@ -3628,196 +1418,12 @@ void sub_80ED31C() ewram0_10.var304 = 0; break; } -} -#endif - #if DEBUG -__attribute__((naked)) -void sub_80ED3D0() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r0, ._767 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0]\n\ - cmp r0, #0x8\n\ - bls ._765 @cond_branch\n\ - b ._803\n\ -._765:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._767 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._768:\n\ - .align 2, 0\n\ -._767:\n\ - .word gSharedMem\n\ - .word ._769\n\ -._769:\n\ - .word ._770\n\ - .word ._771\n\ - .word ._772\n\ - .word ._773\n\ - .word ._774\n\ - .word ._775\n\ - .word ._776\n\ - .word ._777\n\ - .word ._778\n\ -._770:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - ldr r1, ._780 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._793\n\ -._781:\n\ - .align 2, 0\n\ -._780:\n\ - .word gSharedMem\n\ -._771:\n\ - bl sub_80EED0C\n\ - bl sub_80F6134\n\ - ldr r1, ._783 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._793\n\ -._784:\n\ - .align 2, 0\n\ -._783:\n\ - .word gSharedMem\n\ -._772:\n\ - mov r0, #0x0\n\ - bl sub_80EEFBC\n\ - ldr r1, ._786 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._793\n\ -._787:\n\ - .align 2, 0\n\ -._786:\n\ - .word gSharedMem\n\ -._773:\n\ - mov r0, #0x0\n\ - bl sub_80F0264\n\ - ldr r1, ._790 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._774:\n\ - bl sub_80F02A0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._803 @cond_branch\n\ - ldr r1, ._790 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._793\n\ -._791:\n\ - .align 2, 0\n\ -._790:\n\ - .word gSharedMem\n\ -._775:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._803 @cond_branch\n\ - ldr r1, ._794 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._793\n\ -._795:\n\ - .align 2, 0\n\ -._794:\n\ - .word gSharedMem\n\ -._776:\n\ - mov r0, #0x0\n\ - bl sub_80F3008\n\ - ldr r4, ._797 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._797 + 4 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r4, r0\n\ -._793:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._803\n\ -._798:\n\ - .align 2, 0\n\ -._797:\n\ - .word gSharedMem\n\ - .word sub_80EBD18+1\n\ -._777:\n\ - mov r0, #0x4\n\ - bl sub_80EED2C\n\ - ldr r1, ._801 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - ldr r0, ._801 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._803 @cond_branch\n\ - ldr r0, ._801 + 8 @ 0x6007de0\n\ - ldr r2, ._801 + 12 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ - b ._803\n\ -._802:\n\ - .align 2, 0\n\ -._801:\n\ - .word gSharedMem\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800\n\ -._778:\n\ - ldr r0, ._804 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._803 @cond_branch\n\ - ldr r0, ._804 + 4 @ sub_80ED31C\n\ - bl sub_80EBDBC\n\ -._803:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._805:\n\ - .align 2, 0\n\ -._804:\n\ - .word gPaletteFade\n\ - .word sub_80ED31C+1"); + if (gLinkOpen == TRUE) + debug_sub_8008264(gLink.recvQueue.count, 1, 8, 2, 4); +#endif } -#else + void sub_80ED3D0() { switch (ewram0_10.var304) @@ -3856,6 +1462,10 @@ void sub_80ED3D0() case 7: sub_80EED2C(0x4); ewram0_10.var304++; +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif break; case 8: if (!gPaletteFade.active) @@ -3863,207 +1473,7 @@ void sub_80ED3D0() break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80ED4D8() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._808 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x8\n\ - bls ._806 @cond_branch\n\ - b ._844\n\ -._806:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._808 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._809:\n\ - .align 2, 0\n\ -._808:\n\ - .word gSharedMem\n\ - .word ._810\n\ -._810:\n\ - .word ._811\n\ - .word ._812\n\ - .word ._813\n\ - .word ._814\n\ - .word ._815\n\ - .word ._816\n\ - .word ._817\n\ - .word ._818\n\ - .word ._819\n\ -._811:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - b ._820\n\ -._812:\n\ - ldr r0, ._824 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._821 @cond_branch\n\ - b ._844\n\ -._821:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - bl sub_80F3130\n\ - ldr r1, ._824 + 4 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._834\n\ -._825:\n\ - .align 2, 0\n\ -._824:\n\ - .word gPaletteFade\n\ - .word gSharedMem\n\ -._813:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._844 @cond_branch\n\ - ldr r1, ._828 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._834\n\ -._829:\n\ - .align 2, 0\n\ -._828:\n\ - .word gSharedMem\n\ -._814:\n\ - bl sub_80F4CF0\n\ - ldr r1, ._831 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._834\n\ -._832:\n\ - .align 2, 0\n\ -._831:\n\ - .word gSharedMem\n\ -._815:\n\ - bl sub_80EFF34\n\ - ldr r1, ._835 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._816:\n\ - bl sub_80EFF68\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._844 @cond_branch\n\ - ldr r1, ._835 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._834\n\ -._836:\n\ - .align 2, 0\n\ -._835:\n\ - .word gSharedMem\n\ -._817:\n\ - bl sub_80F35B4\n\ - mov r0, #0x2\n\ - bl sub_80EEFBC\n\ - ldr r4, ._838 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._838 + 4 @ sub_80EBD4C\n\ - bl SetVBlankCallback\n\ -._820:\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ -._834:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._844\n\ -._839:\n\ - .align 2, 0\n\ -._838:\n\ - .word gSharedMem\n\ - .word sub_80EBD4C+1\n\ -._818:\n\ - mov r0, #0x2\n\ - bl sub_80EED2C\n\ - ldr r1, ._842 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - ldr r0, ._842 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._844 @cond_branch\n\ - ldr r0, ._842 + 8 @ 0x6007de0\n\ - ldr r2, ._842 + 12 @ 0x600f000\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ - b ._844\n\ -._843:\n\ - .align 2, 0\n\ -._842:\n\ - .word gSharedMem\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f000\n\ -._819:\n\ - ldr r0, ._845 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._844 @cond_branch\n\ - ldr r0, ._845 + 4 @ sub_80ED858\n\ - bl sub_80EBDBC\n\ -._844:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._846:\n\ - .align 2, 0\n\ -._845:\n\ - .word gPaletteFade\n\ - .word sub_80ED858+1"); -} -#else void sub_80ED4D8() { switch (ewram0_10.var304) @@ -4107,6 +1517,10 @@ void sub_80ED4D8() case 7: sub_80EED2C(0x2); ewram0_10.var304++; +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF000), 4); +#endif break; case 8: if (!gPaletteFade.active) @@ -4114,310 +1528,7 @@ void sub_80ED4D8() break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80ED620() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._849 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x10\n\ - bls ._847 @cond_branch\n\ - b ._912\n\ -._847:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._849 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._850:\n\ - .align 2, 0\n\ -._849:\n\ - .word gSharedMem\n\ - .word ._851\n\ -._851:\n\ - .word ._852\n\ - .word ._853\n\ - .word ._854\n\ - .word ._855\n\ - .word ._856\n\ - .word ._857\n\ - .word ._858\n\ - .word ._859\n\ - .word ._860\n\ - .word ._861\n\ - .word ._862\n\ - .word ._863\n\ - .word ._864\n\ - .word ._865\n\ - .word ._866\n\ - .word ._867\n\ - .word ._868\n\ -._852:\n\ - bl sub_80F1E84\n\ - mov r0, #0x1\n\ - bl sub_80F2D04\n\ - ldr r1, ._870 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._904\n\ -._871:\n\ - .align 2, 0\n\ -._870:\n\ - .word gSharedMem\n\ -._853:\n\ - bl sub_80F1F10\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._872 @cond_branch\n\ - b ._912\n\ -._872:\n\ - mov r0, #0x1\n\ - bl sub_80EEFBC\n\ - b ._885\n\ -._854:\n\ - bl sub_80EEF34\n\ - lsl r0, r0, #0x18\n\ - lsr r2, r0, #0x18\n\ - cmp r2, #0\n\ - beq ._875 @cond_branch\n\ - b ._912\n\ -._875:\n\ - ldr r4, ._878 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - str r2, [sp]\n\ - mov r2, #0x0\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._904\n\ -._879:\n\ - .align 2, 0\n\ -._878:\n\ - .word gSharedMem\n\ -._855:\n\ - ldr r0, ._883 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - lsl r0, r0, #0x18\n\ - lsr r4, r0, #0x18\n\ - cmp r4, #0\n\ - beq ._880 @cond_branch\n\ - b ._912\n\ -._880:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - bl sub_80EF814\n\ - ldr r0, ._883 + 4 @ gSharedMem\n\ - ldr r2, ._883 + 8 @ 0x76aa\n\ - add r1, r0, r2\n\ - strb r4, [r1]\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - ldrh r1, [r0]\n\ - add r1, r1, #0x1\n\ - strh r1, [r0]\n\ - b ._912\n\ -._884:\n\ - .align 2, 0\n\ -._883:\n\ - .word gPaletteFade\n\ - .word gSharedMem\n\ - .word 0x76aa\n\ -._856:\n\ - bl sub_80F2620\n\ - b ._885\n\ -._857:\n\ - ldr r0, ._887 @ 0xd162\n\ - add r1, r4, r0\n\ - mov r0, #0x2\n\ - strb r0, [r1]\n\ - bl sub_80F4BD0\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._904\n\ -._888:\n\ - .align 2, 0\n\ -._887:\n\ - .word 0xd162\n\ -._858:\n\ - bl sub_80EFF34\n\ - ldr r1, ._890 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._859:\n\ - bl sub_80EFF68\n\ - b ._889\n\ -._891:\n\ - .align 2, 0\n\ -._890:\n\ - .word gSharedMem\n\ -._860:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._912 @cond_branch\n\ - ldr r1, ._894 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._904\n\ -._895:\n\ - .align 2, 0\n\ -._894:\n\ - .word gSharedMem\n\ -._861:\n\ - bl sub_8055870\n\ - b ._896\n\ -._862:\n\ - bl sub_80F33A8\n\ - ldr r4, ._898 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._898 + 4 @ sub_80EBD4C\n\ - bl SetVBlankCallback\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._904\n\ -._899:\n\ - .align 2, 0\n\ -._898:\n\ - .word gSharedMem\n\ - .word sub_80EBD4C+1\n\ -._863:\n\ - mov r0, #0x2\n\ - bl sub_80EED2C\n\ - ldr r1, ._901 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._904\n\ -._902:\n\ - .align 2, 0\n\ -._901:\n\ - .word gSharedMem\n\ -._864:\n\ - ldr r0, ._905 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._912 @cond_branch\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ - b ._904\n\ -._906:\n\ - .align 2, 0\n\ -._905:\n\ - .word gPaletteFade\n\ -._865:\n\ - mov r0, #0x1\n\ - bl sub_80F2C80\n\ - ldr r1, ._909 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._866:\n\ - mov r0, #0x1\n\ - bl sub_80F2CBC\n\ -._889:\n\ - lsl r0, r0, #0x18\n\ -._896:\n\ - cmp r0, #0\n\ - bne ._912 @cond_branch\n\ -._885:\n\ - ldr r1, ._909 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ -._904:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._912\n\ -._910:\n\ - .align 2, 0\n\ -._909:\n\ - .word gSharedMem\n\ -._867:\n\ - mov r0, #0x6\n\ - bl sub_80F2C80\n\ - ldr r1, ._913 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._868:\n\ - mov r0, #0x6\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._912 @cond_branch\n\ - ldr r0, ._913 + 4 @ sub_80ED858\n\ - bl sub_80EBDBC\n\ - ldr r0, ._913 + 8 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._912 @cond_branch\n\ - ldr r0, ._913 + 12 @ 0x6007de0\n\ - ldr r2, ._913 + 16 @ 0x600f000\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ -._912:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._914:\n\ - .align 2, 0\n\ -._913:\n\ - .word gSharedMem\n\ - .word sub_80ED858+1\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f000"); -} -#else void sub_80ED620() { switch (ewram0_10.var304) @@ -4503,11 +1614,16 @@ void sub_80ED620() // fall through case 16: if (!sub_80F2CBC(0x6)) + { sub_80EBDBC(&sub_80ED858); +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF000), 4); +#endif + } break; } } -#endif #if 0 void sub_80F4F78(); @@ -5476,359 +2592,6 @@ _080EDB84: .4byte sub_80ED3D0\n"); #endif #endif -#if DEBUG -__attribute__((naked)) -void sub_80EDB88() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._1007 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x11\n\ - bls ._1005 @cond_branch\n\ - b ._1088\n\ -._1005:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._1007 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._1008:\n\ - .align 2, 0\n\ -._1007:\n\ - .word gSharedMem\n\ - .word ._1009\n\ -._1009:\n\ - .word ._1010\n\ - .word ._1011\n\ - .word ._1012\n\ - .word ._1013\n\ - .word ._1014\n\ - .word ._1015\n\ - .word ._1016\n\ - .word ._1017\n\ - .word ._1018\n\ - .word ._1019\n\ - .word ._1020\n\ - .word ._1021\n\ - .word ._1022\n\ - .word ._1023\n\ - .word ._1024\n\ - .word ._1025\n\ - .word ._1026\n\ - .word ._1027\n\ -._1010:\n\ - bl sub_80F1E84\n\ - mov r0, #0x0\n\ - bl sub_80F2D04\n\ - ldr r1, ._1029 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1078\n\ -._1030:\n\ - .align 2, 0\n\ -._1029:\n\ - .word gSharedMem\n\ -._1011:\n\ - bl sub_80F1F10\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1031 @cond_branch\n\ - b ._1088\n\ -._1031:\n\ - mov r0, #0x4\n\ - bl sub_80EEFBC\n\ - ldr r1, ._1034 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._1078\n\ -._1035:\n\ - .align 2, 0\n\ -._1034:\n\ - .word gSharedMem\n\ -._1012:\n\ - bl sub_80EEF34\n\ - lsl r0, r0, #0x18\n\ - lsr r2, r0, #0x18\n\ - cmp r2, #0\n\ - beq ._1036 @cond_branch\n\ - b ._1088\n\ -._1036:\n\ - ldr r4, ._1039 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - str r2, [sp]\n\ - mov r2, #0x0\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - b ._1038\n\ -._1040:\n\ - .align 2, 0\n\ -._1039:\n\ - .word gSharedMem\n\ -._1013:\n\ - ldr r0, ._1044 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1041 @cond_branch\n\ - b ._1088\n\ -._1041:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - bl sub_80EF814\n\ - ldr r1, ._1044 + 4 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1078\n\ -._1045:\n\ - .align 2, 0\n\ -._1044:\n\ - .word gPaletteFade\n\ - .word gSharedMem\n\ -._1014:\n\ - bl sub_80F2620\n\ - ldr r1, ._1047 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._1078\n\ -._1048:\n\ - .align 2, 0\n\ -._1047:\n\ - .word gSharedMem\n\ -._1015:\n\ - bl sub_80F638C\n\ - ldr r1, ._1051 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._1016:\n\ - bl sub_80F63D0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1049 @cond_branch\n\ - ldr r1, ._1051 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x2\n\ - strh r0, [r1]\n\ - b ._1088\n\ -._1052:\n\ - .align 2, 0\n\ -._1051:\n\ - .word gSharedMem\n\ -._1049:\n\ - ldr r1, ._1054 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1078\n\ -._1055:\n\ - .align 2, 0\n\ -._1054:\n\ - .word gSharedMem\n\ -._1017:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - beq ._1056 @cond_branch\n\ - b ._1088\n\ -._1056:\n\ - ldr r1, ._1059 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - sub r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._1088\n\ -._1060:\n\ - .align 2, 0\n\ -._1059:\n\ - .word gSharedMem\n\ -._1018:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - beq ._1061 @cond_branch\n\ - b ._1088\n\ -._1061:\n\ - ldr r1, ._1064 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1078\n\ -._1065:\n\ - .align 2, 0\n\ -._1064:\n\ - .word gSharedMem\n\ -._1019:\n\ - mov r0, #0x1\n\ - bl sub_80F0264\n\ - ldr r1, ._1068 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._1020:\n\ - bl sub_80F02A0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1088 @cond_branch\n\ - ldr r1, ._1068 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1078\n\ -._1069:\n\ - .align 2, 0\n\ -._1068:\n\ - .word gSharedMem\n\ -._1021:\n\ - mov r0, #0x2\n\ - bl sub_80F2C80\n\ - ldr r1, ._1072 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._1022:\n\ - mov r0, #0x2\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1088 @cond_branch\n\ - ldr r1, ._1072 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1078\n\ -._1073:\n\ - .align 2, 0\n\ -._1072:\n\ - .word gSharedMem\n\ -._1023:\n\ - mov r0, #0x1\n\ - bl sub_80F3008\n\ - ldr r1, ._1075 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._1078\n\ -._1076:\n\ - .align 2, 0\n\ -._1075:\n\ - .word gSharedMem\n\ -._1024:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._1088 @cond_branch\n\ - ldr r1, ._1079 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1078\n\ -._1080:\n\ - .align 2, 0\n\ -._1079:\n\ - .word gSharedMem\n\ -._1025:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._1082 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ -._1038:\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ -._1078:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._1088\n\ -._1083:\n\ - .align 2, 0\n\ -._1082:\n\ - .word sub_80EBD18+1\n\ -._1026:\n\ - mov r0, #0x4\n\ - bl sub_80EED2C\n\ - ldr r1, ._1086 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - ldr r0, ._1086 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1088 @cond_branch\n\ - ldr r0, ._1086 + 8 @ 0x6007de0\n\ - ldr r2, ._1086 + 12 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ - b ._1088\n\ -._1087:\n\ - .align 2, 0\n\ -._1086:\n\ - .word gSharedMem\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800\n\ -._1027:\n\ - ldr r0, ._1089 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1088 @cond_branch\n\ - ldr r0, ._1089 + 4 @ sub_80EDDBC\n\ - bl sub_80EBDBC\n\ -._1088:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._1090:\n\ - .align 2, 0\n\ -._1089:\n\ - .word gPaletteFade\n\ - .word sub_80EDDBC+1"); -} -#else void sub_80EDB88() { switch (ewram0_10.var304) @@ -5912,6 +2675,10 @@ void sub_80EDB88() case 16: sub_80EED2C(0x4); ewram0_10.var304++; +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif break; case 17: if (!gPaletteFade.active) @@ -5919,129 +2686,7 @@ void sub_80EDB88() break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80EDDBC() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r0, ._1095 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r4, r0, r1\n\ - ldrh r0, [r4]\n\ - cmp r0, #0x1\n\ - beq ._1091 @cond_branch\n\ - cmp r0, #0x1\n\ - bgt ._1092 @cond_branch\n\ - cmp r0, #0\n\ - beq ._1093 @cond_branch\n\ - b ._1113\n\ -._1096:\n\ - .align 2, 0\n\ -._1095:\n\ - .word gSharedMem\n\ -._1092:\n\ - cmp r0, #0x2\n\ - beq ._1097 @cond_branch\n\ - b ._1113\n\ -._1093:\n\ - bl sub_80F5DD4\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x1\n\ - beq ._1099 @cond_branch\n\ - cmp r0, #0x2\n\ - beq ._1100 @cond_branch\n\ - ldr r0, ._1103 @ gMain\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1101 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._1103 + 4 @ sub_80EDEE4\n\ - bl sub_80EBDBC\n\ - b ._1114\n\ -._1104:\n\ - .align 2, 0\n\ -._1103:\n\ - .word gMain\n\ - .word sub_80EDEE4+1\n\ -._1099:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - bl ShowMapNamePopUpWindow\n\ - b ._1114\n\ -._1100:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4]\n\ - b ._1114\n\ -._1101:\n\ - mov r0, #0x2\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1113 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._1109 @ sub_80EDE70\n\ - bl sub_80EBDBC\n\ - b ._1114\n\ -._1110:\n\ - .align 2, 0\n\ -._1109:\n\ - .word sub_80EDE70+1\n\ -._1091:\n\ - bl sub_80F0718\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1113 @cond_branch\n\ - bl ShowMapNamePopUpWindow\n\ - bl sub_80F3264\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - b ._1112\n\ -._1097:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._1113 @cond_branch\n\ -._1112:\n\ - strh r0, [r4]\n\ -._1113:\n\ - ldr r0, ._1115 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1114 @cond_branch\n\ - ldr r0, ._1115 + 4 @ gLink\n\ - ldr r1, ._1115 + 8 @ 0xfbd\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r1, #0x4\n\ - str r1, [sp]\n\ - mov r1, #0x1\n\ - mov r2, #0x8\n\ - mov r3, #0x2\n\ - bl debug_sub_8008264\n\ -._1114:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._1116:\n\ - .align 2, 0\n\ -._1115:\n\ - .word gLinkOpen\n\ - .word gLink\n\ - .word 0xfbd"); -} -#else void sub_80EDDBC() { switch (ewram0_10.var304) @@ -6052,21 +2697,23 @@ void sub_80EDDBC() case 1: PlaySE(SE_SELECT); ShowMapNamePopUpWindow(); - break; + return; case 2: PlaySE(SE_SELECT); ewram0_10.var304++; - break; + return; default: if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); sub_80EBDBC(&sub_80EDEE4); + return; } else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); sub_80EBDBC(&sub_80EDE70); + return; } break; } @@ -6083,10 +2730,12 @@ void sub_80EDDBC() if (!sub_8055870()) ewram0_10.var304 = 0; break; - } -} +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008264(gLink.recvQueue.count, 1, 8, 2, 4); #endif +} void sub_80EDE70() { @@ -6111,228 +2760,6 @@ void sub_80EDE70() } -#if DEBUG -__attribute__((naked)) -void sub_80EDEE4() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._1134 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0xa\n\ - bls ._1132 @cond_branch\n\ - b ._1180\n\ -._1132:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._1134 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._1135:\n\ - .align 2, 0\n\ -._1134:\n\ - .word gSharedMem\n\ - .word ._1136\n\ -._1136:\n\ - .word ._1137\n\ - .word ._1138\n\ - .word ._1139\n\ - .word ._1140\n\ - .word ._1141\n\ - .word ._1142\n\ - .word ._1143\n\ - .word ._1144\n\ - .word ._1145\n\ - .word ._1146\n\ - .word ._1147\n\ -._1137:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - b ._1169\n\ -._1138:\n\ - ldr r0, ._1152 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1149 @cond_branch\n\ - b ._1180\n\ -._1149:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - bl sub_80F3130\n\ - ldr r1, ._1152 + 4 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1166\n\ -._1153:\n\ - .align 2, 0\n\ -._1152:\n\ - .word gPaletteFade\n\ - .word gSharedMem\n\ -._1139:\n\ - bl sub_80F66E0\n\ - bl sub_80EEE08\n\ - ldr r1, ._1155 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._1166\n\ -._1156:\n\ - .align 2, 0\n\ -._1155:\n\ - .word gSharedMem\n\ -._1140:\n\ - bl sub_80F1080\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1180 @cond_branch\n\ - ldr r1, ._1159 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1166\n\ -._1160:\n\ - .align 2, 0\n\ -._1159:\n\ - .word gSharedMem\n\ -._1141:\n\ - mov r0, #0x5\n\ - bl sub_80EEFBC\n\ - bl sub_80F38B8\n\ - ldr r1, ._1163 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._1142:\n\ - bl sub_80F38EC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1180 @cond_branch\n\ - ldr r1, ._1163 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1166\n\ -._1164:\n\ - .align 2, 0\n\ -._1163:\n\ - .word gSharedMem\n\ -._1143:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._1180 @cond_branch\n\ - ldr r1, ._1167 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._1166\n\ -._1168:\n\ - .align 2, 0\n\ -._1167:\n\ - .word gSharedMem\n\ -._1144:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._1170 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - b ._1169\n\ -._1171:\n\ - .align 2, 0\n\ -._1170:\n\ - .word sub_80EBD18+1\n\ -._1145:\n\ - mov r0, #0x3\n\ - bl sub_80EED2C\n\ - ldr r1, ._1174 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - ldr r0, ._1174 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1180 @cond_branch\n\ - ldr r0, ._1174 + 8 @ 0x6007de0\n\ - ldr r2, ._1174 + 12 @ 0x600f000\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ - b ._1180\n\ -._1175:\n\ - .align 2, 0\n\ -._1174:\n\ - .word gSharedMem\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f000\n\ -._1146:\n\ - ldr r0, ._1178 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1180 @cond_branch\n\ -._1169:\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ -._1166:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._1180\n\ -._1179:\n\ - .align 2, 0\n\ -._1178:\n\ - .word gPaletteFade\n\ -._1147:\n\ - bl sub_80F170C\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1180 @cond_branch\n\ - ldr r0, ._1181 @ sub_80EE06C\n\ - bl sub_80EBDBC\n\ -._1180:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._1182:\n\ - .align 2, 0\n\ -._1181:\n\ - .word sub_80EE06C+1"); -} -#else void sub_80EDEE4() { switch (ewram0_10.var304) @@ -6379,6 +2806,10 @@ void sub_80EDEE4() case 8: sub_80EED2C(0x3); ewram0_10.var304++; +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF000), 4); +#endif break; case 9: if (!gPaletteFade.active) @@ -6390,316 +2821,7 @@ void sub_80EDEE4() break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80EE06C() -{ - asm("\ - push {r4, r5, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._1185 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x8\n\ - bls ._1183 @cond_branch\n\ - b ._1248\n\ -._1183:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._1185 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._1186:\n\ - .align 2, 0\n\ -._1185:\n\ - .word gSharedMem\n\ - .word ._1187\n\ -._1187:\n\ - .word ._1188\n\ - .word ._1189\n\ - .word ._1190\n\ - .word ._1191\n\ - .word ._1192\n\ - .word ._1193\n\ - .word ._1194\n\ - .word ._1195\n\ - .word ._1196\n\ -._1188:\n\ - bl sub_80F15A8\n\ - ldr r1, ._1198 @ gSharedMem\n\ - mov r5, #0xc1\n\ - lsl r5, r5, #0x2\n\ - add r1, r1, r5\n\ - b ._1221\n\ -._1199:\n\ - .align 2, 0\n\ -._1198:\n\ - .word gSharedMem\n\ -._1189:\n\ - ldr r2, ._1203 @ gMain\n\ - ldrh r1, [r2, #0x30]\n\ - mov r0, #0x40\n\ - and r0, r0, r1\n\ - add r3, r2, #0\n\ - cmp r0, #0\n\ - beq ._1201 @cond_branch\n\ - ldr r1, ._1203 + 4 @ 0x87dc\n\ - add r0, r4, r1\n\ - mov r2, #0x0\n\ - ldsh r0, [r0, r2]\n\ - cmp r0, #0\n\ - beq ._1201 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - mov r0, #0x1\n\ - neg r0, r0\n\ - bl sub_80F6A4C\n\ - mov r5, #0xc1\n\ - lsl r5, r5, #0x2\n\ - add r1, r4, r5\n\ - b ._1221\n\ -._1204:\n\ - .align 2, 0\n\ -._1203:\n\ - .word gMain\n\ - .word 0x87dc\n\ -._1201:\n\ - ldrh r1, [r3, #0x30]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1206 @cond_branch\n\ - ldr r1, ._1208 @ 0x87dc\n\ - add r0, r4, r1\n\ - ldr r2, ._1208 + 4 @ 0x8774\n\ - add r1, r4, r2\n\ - mov r5, #0x0\n\ - ldsh r2, [r0, r5]\n\ - mov r5, #0x0\n\ - ldsh r0, [r1, r5]\n\ - cmp r2, r0\n\ - bge ._1206 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - mov r0, #0x1\n\ - bl sub_80F6A4C\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r4, r0\n\ - b ._1221\n\ -._1209:\n\ - .align 2, 0\n\ -._1208:\n\ - .word 0x87dc\n\ - .word 0x8774\n\ -._1206:\n\ - ldrh r2, [r3, #0x2e]\n\ - mov r0, #0x1\n\ - and r0, r0, r2\n\ - cmp r0, #0\n\ - beq ._1210 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - mov r0, #0xb\n\ - bl sub_80EEFBC\n\ - ldr r0, ._1212 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - b ._1211\n\ -._1213:\n\ - .align 2, 0\n\ -._1212:\n\ - .word gSharedMem\n\ -._1210:\n\ - mov r0, #0x2\n\ - and r0, r0, r2\n\ - cmp r0, #0\n\ - bne ._1214 @cond_branch\n\ - b ._1248\n\ -._1214:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._1217 @ sub_80EE294\n\ - bl sub_80EBDBC\n\ - b ._1248\n\ -._1218:\n\ - .align 2, 0\n\ -._1217:\n\ - .word sub_80EE294+1\n\ -._1190:\n\ - bl sub_80F6AF0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1219 @cond_branch\n\ - b ._1248\n\ -._1219:\n\ - ldr r1, ._1222 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._1221\n\ -._1223:\n\ - .align 2, 0\n\ -._1222:\n\ - .word gSharedMem\n\ -._1191:\n\ - bl sub_8055870\n\ - add r1, r0, #0\n\ - cmp r1, #0\n\ - bne ._1248 @cond_branch\n\ - ldr r0, ._1226 @ gSharedMem\n\ - mov r5, #0xc1\n\ - lsl r5, r5, #0x2\n\ - add r0, r0, r5\n\ - strh r1, [r0]\n\ - b ._1248\n\ -._1227:\n\ - .align 2, 0\n\ -._1226:\n\ - .word gSharedMem\n\ -._1192:\n\ - bl sub_80F3B00\n\ - ldr r1, ._1229 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ -._1221:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._1248\n\ -._1230:\n\ - .align 2, 0\n\ -._1229:\n\ - .word gSharedMem\n\ -._1193:\n\ - bl sub_80F3B58\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1248 @cond_branch\n\ - bl sub_80F1494\n\ - ldr r1, ._1233 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - bl sub_80EED9C\n\ - b ._1248\n\ -._1234:\n\ - .align 2, 0\n\ -._1233:\n\ - .word gSharedMem\n\ -._1194:\n\ - bl sub_80F68E8\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1236 @cond_branch\n\ - cmp r0, #0x1\n\ - bne ._1236 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - bl sub_80F3B94\n\ - ldr r0, ._1238 @ gSharedMem\n\ - mov r5, #0xc1\n\ - lsl r5, r5, #0x2\n\ - add r0, r0, r5\n\ - mov r1, #0x7\n\ - strh r1, [r0]\n\ - b ._1249\n\ -._1239:\n\ - .align 2, 0\n\ -._1238:\n\ - .word gSharedMem\n\ -._1236:\n\ - ldr r0, ._1242 @ gMain\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r0, #0x2\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1248 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - bl sub_80F3B94\n\ - ldr r0, ._1242 + 4 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - mov r1, #0x8\n\ - strh r1, [r0]\n\ - b ._1248\n\ -._1243:\n\ - .align 2, 0\n\ -._1242:\n\ - .word gMain\n\ - .word gSharedMem\n\ -._1195:\n\ - bl sub_80F3BD4\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1248 @cond_branch\n\ - ldr r0, ._1246 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r0, r2\n\ -._1211:\n\ - mov r1, #0x4\n\ - strh r1, [r0]\n\ - b ._1248\n\ -._1247:\n\ - .align 2, 0\n\ -._1246:\n\ - .word gSharedMem\n\ -._1196:\n\ - bl sub_80F3BD4\n\ - lsl r0, r0, #0x18\n\ - lsr r4, r0, #0x18\n\ - cmp r4, #0\n\ - bne ._1248 @cond_branch\n\ - mov r0, #0x5\n\ - bl sub_80EEFBC\n\ - ldr r0, ._1250 @ gSharedMem\n\ - mov r5, #0xc1\n\ - lsl r5, r5, #0x2\n\ - add r0, r0, r5\n\ - strh r4, [r0]\n\ -._1248:\n\ - ldr r0, ._1250 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1249 @cond_branch\n\ - ldr r0, ._1250 + 8 @ gLink\n\ - ldr r1, ._1250 + 12 @ 0xfbd\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r1, #0x4\n\ - str r1, [sp]\n\ - mov r1, #0x1\n\ - mov r2, #0x4\n\ - mov r3, #0x2\n\ - bl debug_sub_8008264\n\ -._1249:\n\ - add sp, sp, #0x4\n\ - pop {r4, r5}\n\ - pop {r0}\n\ - bx r0\n\ -._1251:\n\ - .align 2, 0\n\ -._1250:\n\ - .word gSharedMem\n\ - .word gLinkOpen\n\ - .word gLink\n\ - .word 0xfbd"); -} -#else void sub_80EE06C() { switch (ewram0_10.var304) @@ -6755,571 +2877,96 @@ void sub_80EE06C() break; case 6: switch (sub_80F68E8()) - { - case 1: - PlaySE(SE_SELECT); - sub_80F3B94(); - ewram0_10.var304 = 0x7; - break; - default: - case 0: - if (gMain.newKeys & B_BUTTON) - { - PlaySE(SE_SELECT); - sub_80F3B94(); - ewram0_10.var304 = 0x8; - } - break; - } - break; - case 7: - if (!sub_80F3BD4()) - ewram0_10.var304 = 0x4; - break; - case 8: - if (!sub_80F3BD4()) - { - sub_80EEFBC(0x5); - ewram0_10.var304 = 0; - } - break; - } -} -#endif - -#if DEBUG -__attribute__((naked)) -void sub_80EE294() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r1, ._1254 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r0, r1, r2\n\ - ldrh r0, [r0]\n\ - add r4, r1, #0\n\ - cmp r0, #0x8\n\ - bls ._1252 @cond_branch\n\ - b ._1288\n\ -._1252:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._1254 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._1255:\n\ - .align 2, 0\n\ -._1254:\n\ - .word gSharedMem\n\ - .word ._1256\n\ -._1256:\n\ - .word ._1257\n\ - .word ._1258\n\ - .word ._1259\n\ - .word ._1260\n\ - .word ._1261\n\ - .word ._1262\n\ - .word ._1263\n\ - .word ._1264\n\ - .word ._1265\n\ -._1257:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r3, #0x10\n\ - b ._1266\n\ -._1258:\n\ - ldr r0, ._1270 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1267 @cond_branch\n\ - b ._1288\n\ -._1267:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - bl sub_80F3C2C\n\ - bl sub_80EEE08\n\ - ldr r1, ._1270 + 4 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1280\n\ -._1271:\n\ - .align 2, 0\n\ -._1270:\n\ - .word gPaletteFade\n\ - .word gSharedMem\n\ -._1259:\n\ - bl sub_80F6134\n\ - mov r0, #0x1\n\ - bl sub_80F0264\n\ - ldr r1, ._1274 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._1260:\n\ - bl sub_80F02A0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1288 @cond_branch\n\ - ldr r1, ._1274 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1280\n\ -._1275:\n\ - .align 2, 0\n\ -._1274:\n\ - .word gSharedMem\n\ -._1261:\n\ - mov r0, #0x4\n\ - bl sub_80EEFBC\n\ - mov r0, #0x1\n\ - bl sub_80F3008\n\ - ldr r0, ._1277 @ sub_80EBD18\n\ - bl SetVBlankCallback\n\ - ldr r1, ._1277 + 4 @ gSharedMem\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r1, r2\n\ - b ._1280\n\ -._1278:\n\ - .align 2, 0\n\ -._1277:\n\ - .word sub_80EBD18+1\n\ - .word gSharedMem\n\ -._1262:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._1288 @cond_branch\n\ - ldr r1, ._1281 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1280\n\ -._1282:\n\ - .align 2, 0\n\ -._1281:\n\ - .word gSharedMem\n\ -._1263:\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ -._1266:\n\ - bl BeginNormalPaletteFade\n\ - mov r2, #0xc1\n\ - lsl r2, r2, #0x2\n\ - add r1, r4, r2\n\ -._1280:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._1288\n\ -._1264:\n\ - mov r0, #0x4\n\ - bl sub_80EED2C\n\ - ldr r1, ._1286 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - ldr r0, ._1286 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1288 @cond_branch\n\ - ldr r0, ._1286 + 8 @ 0x6007de0\n\ - ldr r2, ._1286 + 12 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ - b ._1288\n\ -._1287:\n\ - .align 2, 0\n\ -._1286:\n\ - .word gSharedMem\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800\n\ -._1265:\n\ - ldr r0, ._1289 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1288 @cond_branch\n\ - ldr r0, ._1289 + 4 @ sub_80EDDBC\n\ - bl sub_80EBDBC\n\ -._1288:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._1290:\n\ - .align 2, 0\n\ -._1289:\n\ - .word gPaletteFade\n\ - .word sub_80EDDBC+1"); -} -#else -void sub_80EE294() -{ - switch (ewram0_10.var304) - { - case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); - ewram0_10.var304++; - break; - case 1: - if (!gPaletteFade.active) - { - SetVBlankCallback(NULL); - sub_80EED0C(); - sub_80F3C2C(); - sub_80EEE08(); - ewram0_10.var304++; - } - break; - case 2: - sub_80F6134(); - sub_80F0264(0x1); - ewram0_10.var304++; - case 3: - if (!sub_80F02A0()) - ewram0_10.var304++; - break; - case 4: - sub_80EEFBC(0x4); - sub_80F3008(0x1); - SetVBlankCallback(&sub_80EBD18); - ewram0_10.var304++; - break; - case 5: - if (!sub_8055870()) - ewram0_10.var304++; - break; - case 6: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); - ewram0_10.var304++; - break; - case 7: - sub_80EED2C(0x4); - ewram0_10.var304++; - break; - case 8: - if (!gPaletteFade.active) - sub_80EBDBC(&sub_80EDDBC); - break; - } -} -#endif - -#if DEBUG -__attribute__((naked)) -void sub_80EE3D8() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r0, ._1293 @ gSharedMem\n\ - mov r1, #0xc1\n\ - lsl r1, r1, #0x2\n\ - add r0, r0, r1\n\ - ldrh r0, [r0]\n\ - cmp r0, #0xd\n\ - bls ._1291 @cond_branch\n\ - b ._1354\n\ -._1291:\n\ - lsl r0, r0, #0x2\n\ - ldr r1, ._1293 + 4 @ \n\ - add r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ -._1294:\n\ - .align 2, 0\n\ -._1293:\n\ - .word gSharedMem\n\ - .word ._1295\n\ -._1295:\n\ - .word ._1296\n\ - .word ._1297\n\ - .word ._1298\n\ - .word ._1299\n\ - .word ._1300\n\ - .word ._1301\n\ - .word ._1302\n\ - .word ._1303\n\ - .word ._1304\n\ - .word ._1305\n\ - .word ._1306\n\ - .word ._1307\n\ - .word ._1308\n\ - .word ._1309\n\ -._1296:\n\ - bl sub_80F1E84\n\ - mov r0, #0x0\n\ - bl sub_80F2D04\n\ - ldr r1, ._1311 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1312:\n\ - .align 2, 0\n\ -._1311:\n\ - .word gSharedMem\n\ -._1297:\n\ - bl sub_80F1F10\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1313 @cond_branch\n\ - b ._1354\n\ -._1313:\n\ - mov r0, #0x9\n\ - bl sub_80EEFBC\n\ - ldr r1, ._1316 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1317:\n\ - .align 2, 0\n\ -._1316:\n\ - .word gSharedMem\n\ -._1298:\n\ - bl sub_80EEF34\n\ - lsl r0, r0, #0x18\n\ - lsr r2, r0, #0x18\n\ - cmp r2, #0\n\ - beq ._1318 @cond_branch\n\ - b ._1354\n\ -._1318:\n\ - ldr r4, ._1321 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - str r2, [sp]\n\ - mov r2, #0x0\n\ - mov r3, #0x10\n\ - bl BeginNormalPaletteFade\n\ - b ._1320\n\ -._1322:\n\ - .align 2, 0\n\ -._1321:\n\ - .word gSharedMem\n\ -._1299:\n\ - ldr r0, ._1326 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1323 @cond_branch\n\ - b ._1354\n\ -._1323:\n\ - mov r0, #0x0\n\ - bl SetVBlankCallback\n\ - bl sub_80EED0C\n\ - bl sub_80EF814\n\ - bl sub_80EEE08\n\ - ldr r1, ._1326 + 4 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1327:\n\ - .align 2, 0\n\ -._1326:\n\ - .word gPaletteFade\n\ - .word gSharedMem\n\ -._1300:\n\ - bl sub_80F2620\n\ - ldr r1, ._1329 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1330:\n\ - .align 2, 0\n\ -._1329:\n\ - .word gSharedMem\n\ -._1301:\n\ - mov r0, #0x2\n\ - bl sub_80F0264\n\ - ldr r1, ._1334 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._1302:\n\ - bl sub_80F02A0\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - beq ._1331 @cond_branch\n\ - b ._1354\n\ -._1331:\n\ - ldr r1, ._1334 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1335:\n\ - .align 2, 0\n\ -._1334:\n\ - .word gSharedMem\n\ -._1303:\n\ - mov r0, #0x3\n\ - bl sub_80F2C80\n\ - ldr r1, ._1338 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ -._1304:\n\ - mov r0, #0x3\n\ - bl sub_80F2CBC\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1354 @cond_branch\n\ - ldr r1, ._1338 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1339:\n\ - .align 2, 0\n\ -._1338:\n\ - .word gSharedMem\n\ -._1305:\n\ - mov r0, #0x2\n\ - bl sub_80F3008\n\ - ldr r1, ._1341 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1342:\n\ - .align 2, 0\n\ -._1341:\n\ - .word gSharedMem\n\ -._1306:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._1354 @cond_branch\n\ - ldr r1, ._1345 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - b ._1344\n\ -._1346:\n\ - .align 2, 0\n\ -._1345:\n\ - .word gSharedMem\n\ -._1307:\n\ - bl sub_80F6F10\n\ - ldr r4, ._1348 @ gSharedMem\n\ - mov r1, #0xc2\n\ - lsl r1, r1, #0x2\n\ - add r0, r4, r1\n\ - ldr r0, [r0]\n\ - mov r1, #0x1\n\ - neg r1, r1\n\ - mov r2, #0x0\n\ - str r2, [sp]\n\ - mov r2, #0x10\n\ - mov r3, #0x0\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, ._1348 + 4 @ sub_80EBD68\n\ - bl SetVBlankCallback\n\ -._1320:\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r4, r0\n\ -._1344:\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - b ._1354\n\ -._1349:\n\ - .align 2, 0\n\ -._1348:\n\ - .word gSharedMem\n\ - .word sub_80EBD68+1\n\ -._1308:\n\ - mov r0, #0x5\n\ - bl sub_80EED2C\n\ - ldr r1, ._1352 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r1, r1, r0\n\ - ldrh r0, [r1]\n\ - add r0, r0, #0x1\n\ - strh r0, [r1]\n\ - ldr r0, ._1352 + 4 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1354 @cond_branch\n\ - ldr r0, ._1352 + 8 @ 0x6007de0\n\ - ldr r2, ._1352 + 12 @ 0x600f800\n\ - mov r1, #0x0\n\ - mov r3, #0x4\n\ - bl debug_sub_8008218\n\ - b ._1354\n\ -._1353:\n\ - .align 2, 0\n\ -._1352:\n\ - .word gSharedMem\n\ - .word gLinkOpen\n\ - .word 0x6007de0\n\ - .word 0x600f800\n\ -._1309:\n\ - ldr r0, ._1355 @ gPaletteFade\n\ - ldrb r1, [r0, #0x7]\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - bne ._1354 @cond_branch\n\ - ldr r0, ._1355 + 4 @ sub_80EE58C\n\ - bl sub_80EBDBC\n\ -._1354:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ -._1356:\n\ - .align 2, 0\n\ -._1355:\n\ - .word gPaletteFade\n\ - .word sub_80EE58C+1"); + { + case 1: + PlaySE(SE_SELECT); + sub_80F3B94(); + ewram0_10.var304 = 0x7; + return; + default: + case 0: + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80F3B94(); + ewram0_10.var304 = 0x8; + } + break; + } + break; + case 7: + if (!sub_80F3BD4()) + ewram0_10.var304 = 0x4; + break; + case 8: + if (!sub_80F3BD4()) + { + sub_80EEFBC(0x5); + ewram0_10.var304 = 0; + } + break; + } +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008264(gLink.recvQueue.count, 1, 4, 2, 4); +#endif } -#else + +void sub_80EE294() +{ + switch (ewram0_10.var304) + { + case 0: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + ewram0_10.var304++; + break; + case 1: + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80F3C2C(); + sub_80EEE08(); + ewram0_10.var304++; + } + break; + case 2: + sub_80F6134(); + sub_80F0264(0x1); + ewram0_10.var304++; + case 3: + if (!sub_80F02A0()) + ewram0_10.var304++; + break; + case 4: + sub_80EEFBC(0x4); + sub_80F3008(0x1); + SetVBlankCallback(&sub_80EBD18); + ewram0_10.var304++; + break; + case 5: + if (!sub_8055870()) + ewram0_10.var304++; + break; + case 6: + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + ewram0_10.var304++; + break; + case 7: + sub_80EED2C(0x4); + ewram0_10.var304++; +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif + break; + case 8: + if (!gPaletteFade.active) + sub_80EBDBC(&sub_80EDDBC); + break; + } +} + void sub_80EE3D8() { switch (ewram0_10.var304) @@ -7388,6 +3035,10 @@ void sub_80EE3D8() case 12: sub_80EED2C(0x5); ewram0_10.var304++; +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008218((void *)(VRAM + 0x7DE0), 0, (void *)(VRAM + 0xF800), 4); +#endif break; case 13: if (!gPaletteFade.active) @@ -7395,143 +3046,7 @@ void sub_80EE3D8() break; } } -#endif -#if DEBUG -__attribute__((naked)) -void sub_80EE58C() -{ - asm("\ - push {r4, r5, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r5, ._1361 @ gSharedMem\n\ - mov r0, #0xc1\n\ - lsl r0, r0, #0x2\n\ - add r4, r5, r0\n\ - ldrh r0, [r4]\n\ - cmp r0, #0x1\n\ - beq ._1357 @cond_branch\n\ - cmp r0, #0x1\n\ - bgt ._1358 @cond_branch\n\ - cmp r0, #0\n\ - beq ._1359 @cond_branch\n\ - b ._1383\n\ -._1362:\n\ - .align 2, 0\n\ -._1361:\n\ - .word gSharedMem\n\ -._1358:\n\ - cmp r0, #0x2\n\ - beq ._1363 @cond_branch\n\ - b ._1383\n\ -._1359:\n\ - bl sub_80F5DD4\n\ - lsl r0, r0, #0x18\n\ - lsr r0, r0, #0x18\n\ - cmp r0, #0x1\n\ - beq ._1365 @cond_branch\n\ - cmp r0, #0x2\n\ - beq ._1366 @cond_branch\n\ - ldr r0, ._1369 @ gMain\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r0, #0x1\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1367 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._1369 + 4 @ sub_80EE658\n\ - bl sub_80EBDBC\n\ - b ._1384\n\ -._1370:\n\ - .align 2, 0\n\ -._1369:\n\ - .word gMain\n\ - .word sub_80EE658+1\n\ -._1365:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r1, ._1372 @ 0x876e\n\ - add r0, r5, r1\n\ - ldrb r0, [r0]\n\ - bl sub_80F0FFC\n\ - b ._1384\n\ -._1373:\n\ - .align 2, 0\n\ -._1372:\n\ - .word 0x876e\n\ -._1366:\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - strh r0, [r4]\n\ - b ._1384\n\ -._1367:\n\ - mov r0, #0x2\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1383 @cond_branch\n\ - mov r0, #0x5\n\ - bl PlaySE\n\ - ldr r0, ._1377 @ sub_80EE8F4\n\ - bl sub_80EBDBC\n\ - b ._1384\n\ -._1378:\n\ - .align 2, 0\n\ -._1377:\n\ - .word sub_80EE8F4+1\n\ -._1357:\n\ - bl sub_80F0718\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bne ._1383 @cond_branch\n\ - ldr r1, ._1381 @ 0x876e\n\ - add r0, r5, r1\n\ - ldrb r0, [r0]\n\ - bl sub_80F0FFC\n\ - bl sub_80F3264\n\ - ldrh r0, [r4]\n\ - add r0, r0, #0x1\n\ - b ._1380\n\ -._1382:\n\ - .align 2, 0\n\ -._1381:\n\ - .word 0x876e\n\ -._1363:\n\ - bl sub_8055870\n\ - cmp r0, #0\n\ - bne ._1383 @cond_branch\n\ -._1380:\n\ - strh r0, [r4]\n\ -._1383:\n\ - ldr r0, ._1385 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1384 @cond_branch\n\ - ldr r0, ._1385 + 4 @ gLink\n\ - ldr r1, ._1385 + 8 @ 0xfbd\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r1, #0x4\n\ - str r1, [sp]\n\ - mov r1, #0x1\n\ - mov r2, #0x3\n\ - mov r3, #0x2\n\ - bl debug_sub_8008264\n\ -._1384:\n\ - add sp, sp, #0x4\n\ - pop {r4, r5}\n\ - pop {r0}\n\ - bx r0\n\ -._1386:\n\ - .align 2, 0\n\ -._1385:\n\ - .word gLinkOpen\n\ - .word gLink\n\ - .word 0xfbd"); -} -#else void sub_80EE58C() { switch (ewram0_10.var304) @@ -7542,21 +3057,23 @@ void sub_80EE58C() case 1: PlaySE(SE_SELECT); sub_80F0FFC(ewram0_10.var876E); - break; + return; case 2: PlaySE(SE_SELECT); ewram0_10.var304++; - break; + return; default: if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); sub_80EBDBC(&sub_80EE658); + return; } else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); sub_80EBDBC(&sub_80EE8F4); + return; } break; } @@ -7574,8 +3091,11 @@ void sub_80EE58C() ewram0_10.var304 = 0; break; } -} +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008264(gLink.recvQueue.count, 1, 3, 2, 4); #endif +} void sub_80EE658() { @@ -8006,108 +3526,6 @@ _080EEC0A:\n\ #endif // var6dad and var6dae must be s8 in this func -#if DEBUG -__attribute__((naked)) -bool8 sub_80EEC10() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r0, ._1563 @ gMain\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r0, #0x40\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1559 @cond_branch\n\ - ldr r1, ._1563 + 4 @ gSharedMem\n\ - add r3, r1, #1\n\ - add r2, r1, #5\n\ -._1561:\n\ - ldrb r0, [r1]\n\ - sub r0, r0, #0x1\n\ - strb r0, [r1]\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bge ._1560 @cond_branch\n\ - ldrb r0, [r3]\n\ - sub r0, r0, #0x1\n\ - strb r0, [r1]\n\ -._1560:\n\ - mov r0, #0x0\n\ - ldsb r0, [r1, r0]\n\ - add r0, r0, r2\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._1561 @cond_branch\n\ - mov r0, #0x1\n\ - b ._1568\n\ -._1564:\n\ - .align 2, 0\n\ -._1563:\n\ - .word gMain\n\ - .word gSharedMem+0x6dad\n\ -._1559:\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1565 @cond_branch\n\ - ldr r1, ._1569 @ gSharedMem\n\ - mov r4, #0x0\n\ - mov r2, #0x1\n\ - ldsb r2, [r1, r2]\n\ - add r3, r1, #5\n\ -._1567:\n\ - ldrb r0, [r1]\n\ - add r0, r0, #0x1\n\ - strb r0, [r1]\n\ - lsl r0, r0, #0x18\n\ - asr r0, r0, #0x18\n\ - cmp r0, r2\n\ - blt ._1566 @cond_branch\n\ - strb r4, [r1]\n\ -._1566:\n\ - mov r0, #0x0\n\ - ldsb r0, [r1, r0]\n\ - add r0, r0, r3\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq ._1567 @cond_branch\n\ - mov r0, #0x1\n\ - b ._1568\n\ -._1570:\n\ - .align 2, 0\n\ -._1569:\n\ - .word gSharedMem+0x6dad\n\ -._1565:\n\ - ldr r0, ._1572 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1571 @cond_branch\n\ - ldr r0, ._1572 + 4 @ gLink\n\ - ldr r1, ._1572 + 8 @ 0xfbd\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r1, #0x4\n\ - str r1, [sp]\n\ - mov r1, #0x6\n\ - mov r2, #0xa\n\ - mov r3, #0x2\n\ - bl debug_sub_8008264\n\ -._1571:\n\ - mov r0, #0x0\n\ -._1568:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r1}\n\ - bx r1\n\ -._1573:\n\ - .align 2, 0\n\ -._1572:\n\ - .word gLinkOpen\n\ - .word gLink\n\ - .word 0xfbd"); -} -#else bool8 sub_80EEC10() { if (gMain.newKeys & 0x40) @@ -8128,106 +3546,13 @@ bool8 sub_80EEC10() } while (!ewram0_10.var6db2[ewram0_11.var6dad]); return TRUE; } +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008264(gLink.recvQueue.count, 6, 10, 2, 4); +#endif return FALSE; } -#endif -#if DEBUG -__attribute__((naked)) -bool8 sub_80EEC90() -{ - asm("\ - push {r4, lr}\n\ - add sp, sp, #0xfffffffc\n\ - ldr r0, ._1577 @ gMain\n\ - ldrh r1, [r0, #0x2e]\n\ - mov r0, #0x40\n\ - and r0, r0, r1\n\ - lsl r0, r0, #0x10\n\ - lsr r3, r0, #0x10\n\ - cmp r3, #0\n\ - beq ._1574 @cond_branch\n\ - ldr r2, ._1577 + 4 @ gSharedMem\n\ - ldr r0, ._1577 + 8 @ 0x6dad\n\ - add r1, r2, r0\n\ - ldrb r0, [r1]\n\ - sub r0, r0, #0x1\n\ - strb r0, [r1]\n\ - lsl r0, r0, #0x18\n\ - cmp r0, #0\n\ - bge ._1580 @cond_branch\n\ - ldr r3, ._1577 + 12 @ 0x6dae\n\ - add r0, r2, r3\n\ - ldrb r0, [r0]\n\ - sub r0, r0, #0x1\n\ - strb r0, [r1]\n\ - b ._1580\n\ -._1578:\n\ - .align 2, 0\n\ -._1577:\n\ - .word gMain\n\ - .word gSharedMem\n\ - .word 0x6dad\n\ - .word 0x6dae\n\ -._1574:\n\ - mov r0, #0x80\n\ - and r0, r0, r1\n\ - cmp r0, #0\n\ - beq ._1579 @cond_branch\n\ - ldr r0, ._1582 @ gSharedMem\n\ - ldr r4, ._1582 + 4 @ 0x6dad\n\ - add r2, r0, r4\n\ - ldrb r1, [r2]\n\ - add r1, r1, #0x1\n\ - strb r1, [r2]\n\ - add r4, r4, #0x1\n\ - add r0, r0, r4\n\ - lsl r1, r1, #0x18\n\ - asr r1, r1, #0x18\n\ - ldrb r0, [r0]\n\ - lsl r0, r0, #0x18\n\ - asr r0, r0, #0x18\n\ - cmp r1, r0\n\ - blt ._1580 @cond_branch\n\ - strb r3, [r2]\n\ -._1580:\n\ - mov r0, #0x1\n\ - b ._1581\n\ -._1583:\n\ - .align 2, 0\n\ -._1582:\n\ - .word gSharedMem\n\ - .word 0x6dad\n\ -._1579:\n\ - ldr r0, ._1585 @ gLinkOpen\n\ - ldrb r0, [r0]\n\ - cmp r0, #0x1\n\ - bne ._1584 @cond_branch\n\ - ldr r0, ._1585 + 4 @ gLink\n\ - ldr r1, ._1585 + 8 @ 0xfbd\n\ - add r0, r0, r1\n\ - ldrb r0, [r0]\n\ - mov r1, #0x4\n\ - str r1, [sp]\n\ - mov r1, #0x6\n\ - mov r2, #0xa\n\ - mov r3, #0x2\n\ - bl debug_sub_8008264\n\ -._1584:\n\ - mov r0, #0x0\n\ -._1581:\n\ - add sp, sp, #0x4\n\ - pop {r4}\n\ - pop {r1}\n\ - bx r1\n\ -._1586:\n\ - .align 2, 0\n\ -._1585:\n\ - .word gLinkOpen\n\ - .word gLink\n\ - .word 0xfbd"); -} -#else bool8 sub_80EEC90() { if (gMain.newKeys & 0x40) @@ -8242,9 +3567,12 @@ bool8 sub_80EEC90() ewram0_11.var6dad = 0; return TRUE; } +#if DEBUG + if (gLinkOpen == TRUE) + debug_sub_8008264(gLink.recvQueue.count, 6, 10, 2, 4); +#endif return FALSE; } -#endif void sub_80EED0C() { -- cgit v1.2.3 From cb674ce14dc43f99dd76f456e69ab8a90cc3d506 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 31 Jan 2018 15:45:28 -0600 Subject: fix and decompile more battle_2.c debug code --- src/battle/battle_2.c | 511 ++++++++++---------------------------------------- 1 file changed, 101 insertions(+), 410 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index a400257dd..b8ad21869 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1376,30 +1376,9 @@ void debug_sub_80125A0(void); u32 debug_sub_8013294(u8, void *, u32); void debug_sub_80132C8(u8, void *, u32); -struct UnknownStruct2023A76 -{ - u16 unk0; - u16 unk2[(0x44-2)/2]; - s16 unk44; - u16 unk46; - u16 unk48[1]; -}; - -struct UnknownStruct2023B02 -{ - u16 unk0[4][4]; - u8 filler20[0x10]; - u16 unk30[4][4]; -}; - -struct UnknownStruct821F424 -{ - u8 filler0[0x12]; - u16 unk12[1][5]; // unknown length -}; - -extern struct UnknownStruct2023A76 gUnknown_Debug_2023A76; -extern struct UnknownStruct2023B02 gUnknown_Debug_2023B02; +extern s16 gUnknown_Debug_2023A76[][0x23]; +extern s16 gUnknown_Debug_2023A76_[][7][5]; +extern s16 gUnknown_Debug_2023B02[][6][4]; extern u8 gUnknown_Debug_03004360; extern struct Window gUnknown_Debug_03004370; extern u8 gUnknown_Debug_030043A0; @@ -1407,7 +1386,7 @@ extern u8 gUnknown_Debug_030043A4; extern u8 gUnknown_Debug_030043A8; extern u8 gBattleBuffersTransferData[]; -extern const struct UnknownStruct821F424 gUnknown_Debug_821F424; +extern const s16 gUnknown_Debug_821F424[][5]; extern const u16 gUnknown_Debug_821F56C[][5]; extern const u8 gUnusedOldCharmap_Gfx_lz[]; @@ -1421,25 +1400,24 @@ void debug_sub_8010800(void) *(u32 *)(gBattleBuffersTransferData + 0x100) = 0; } - void debug_sub_8010818(void) { s32 i; - gUnknown_Debug_2023A76.unk0 = 0x115; - gUnknown_Debug_2023A76.unk46 = 0x115; - for (i = 0; i < 30; i++) + gUnknown_Debug_2023A76[0][0] = 0x115; + gUnknown_Debug_2023A76[1][0] = 0x115; + for (i = 1; i < 31; i++) { - gUnknown_Debug_2023A76.unk2[i] = gUnknown_Debug_821F424.unk12[i][0]; - gUnknown_Debug_2023A76.unk48[i] = gUnknown_Debug_821F424.unk12[i][0]; + gUnknown_Debug_2023A76[0][i] = gUnknown_Debug_821F424[i][4]; + gUnknown_Debug_2023A76[1][i] = gUnknown_Debug_821F424[i][4]; } for (i = 0; i < 6; i++) { for (gUnknown_Debug_030043A8 = 0; gUnknown_Debug_030043A8 < 4; gUnknown_Debug_030043A8++) { - gUnknown_Debug_2023B02.unk0[i][gUnknown_Debug_030043A8] = gUnknown_Debug_821F56C[gUnknown_Debug_030043A8][0]; - gUnknown_Debug_2023B02.unk30[i][gUnknown_Debug_030043A8] = gUnknown_Debug_821F56C[gUnknown_Debug_030043A8][0]; + gUnknown_Debug_2023B02[0][i][gUnknown_Debug_030043A8] = gUnknown_Debug_821F56C[gUnknown_Debug_030043A8][0]; + gUnknown_Debug_2023B02[1][i][gUnknown_Debug_030043A8] = gUnknown_Debug_821F56C[gUnknown_Debug_030043A8][0]; } } } @@ -1490,7 +1468,7 @@ void debug_sub_80108B8(void) debug_nullsub_3(); gUnknown_Debug_030043A8 = 0; debug_sub_80125A0(); - if (gUnknown_Debug_2023A76.unk44 == 8) + if (gUnknown_Debug_2023A76[0][0x22] == 8) { debug_sub_801174C(); } @@ -1510,289 +1488,91 @@ void debug_sub_8010A7C(u8 a, u8 b) gBattleTextBuff1[i] = EOS; } -__attribute__((naked)) -void debug_sub_8010AAC() +// gUnknown_Debug_2023A76_ seems like a 3D array, but this function refuses to match when I do that. +#ifdef NONMATCHING +void debug_sub_8010AAC(u8 a) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov ip, r0\n" - " ldr r6, ._520 @ gBaseStats\n" - " ldr r4, ._520 + 4 @ gUnknown_Debug_2023A76\n" - " ldr r5, ._520 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x2\n" - " add r7, r0, r1\n" - " lsl r1, r7, #0x1\n" - " ldr r3, ._520 + 12 @ gUnknown_Debug_03004360\n" - " ldrb r2, [r3]\n" - " mov r0, #0x46\n" - " mul r2, r2, r0\n" - " add r1, r1, r2\n" - " add r1, r1, r4\n" - " mov r0, #0x0\n" - " ldsh r1, [r1, r0]\n" - " lsl r0, r1, #0x3\n" - " sub r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, r6\n" - " ldrb r0, [r0, #0x10]\n" - " add r6, r3, #0\n" - " cmp r0, #0xfe\n" - " beq ._516 @cond_branch\n" - " cmp r0, #0xfe\n" - " bgt ._517 @cond_branch\n" - " cmp r0, #0\n" - " beq ._518 @cond_branch\n" - " b ._523\n" - "._521:\n" - " .align 2, 0\n" - "._520:\n" - " .word gBaseStats\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_030043A4\n" - " .word gUnknown_Debug_03004360\n" - "._517:\n" - " cmp r0, #0xff\n" - " beq ._522 @cond_branch\n" - " b ._523\n" - "._518:\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r2\n" - " add r0, r0, r4\n" - " mov r1, #0x2\n" - " b ._528\n" - "._516:\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r2\n" - " add r0, r0, r4\n" - " mov r1, #0x3\n" - " b ._528\n" - "._522:\n" - " add r0, r7, #4\n" - " lsl r0, r0, #0x1\n" - " add r0, r0, r2\n" - " add r0, r0, r4\n" - " mov r1, #0x4\n" - " b ._528\n" - "._523:\n" - " ldrb r0, [r5]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " add r1, r1, #0x4\n" - " lsl r1, r1, #0x1\n" - " ldrb r0, [r6]\n" - " mov r3, #0x46\n" - " mul r0, r0, r3\n" - " add r1, r1, r0\n" - " add r1, r1, r4\n" - " ldrh r2, [r1]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " strh r0, [r1]\n" - " mov r1, ip\n" - " cmp r1, #0\n" - " beq ._527 @cond_branch\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r0, #0x4\n" - " lsl r0, r0, #0x1\n" - " ldrb r1, [r6]\n" - " mul r1, r1, r3\n" - " add r0, r0, r1\n" - " add r0, r0, r4\n" - " ldrh r1, [r0]\n" - " mov r2, #0x1\n" - " eor r1, r1, r2\n" - " b ._528\n" - "._527:\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r0, #0x4\n" - " lsl r0, r0, #0x1\n" - " ldrb r1, [r6]\n" - " mul r1, r1, r3\n" - " add r0, r0, r1\n" - " add r0, r0, r4\n" - " mov r1, ip\n" - "._528:\n" - " strh r1, [r0]\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + switch (gBaseStats[gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][0]].genderRatio) + { + case 0: + gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][4] = 2; + break; + case 0xFE: + gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][4] = 3; + break; + case 0xFF: + gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][4] = 4; + break; + default: + gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][4] &= 1; + if (a != 0) + gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][4] ^= 1; + else + gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][4] = 0; + break; + } } +#else +void debug_sub_8010AAC(u8 a) +{ + switch (gBaseStats[gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5]].genderRatio) + { + case 0: + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + 4] = 2; + break; + case 0xFE: + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + 4] = 3; + break; + case 0xFF: + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + 4] = 4; + break; + default: + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + 4] &= 1; + if (a != 0) + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + 4] ^= 1; + else + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + 4] = 0; + break; + } +} +#endif -__attribute__((naked)) -void debug_sub_8010B80() +void debug_sub_8010B80(u8 a) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6, r7}\n" - " lsl r0, r0, #0x18\n" - " lsr r6, r0, #0x18\n" - " mov r0, #0x0\n" - " mov ip, r0\n" - " ldr r4, ._534 @ gUnknown_Debug_2023A76\n" - " ldr r1, ._534 + 4 @ gUnknown_Debug_030043A0\n" - " mov r8, r1\n" - " ldr r5, ._534 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r5]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " mov r2, r8\n" - " ldrb r2, [r2]\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x1\n" - " ldr r3, ._534 + 12 @ gUnknown_Debug_03004360\n" - " ldrb r2, [r3]\n" - " mov r1, #0x46\n" - " mul r1, r1, r2\n" - " add r0, r0, r1\n" - " add r0, r0, r4\n" - " ldrb r7, [r0]\n" - " lsl r1, r7, #0x18\n" - " asr r0, r1, #0x18\n" - " mov r9, r4\n" - " add r2, r5, #0\n" - " add r4, r3, #0\n" - " cmp r0, #0x9\n" - " ble ._529 @cond_branch\n" - "._530:\n" - " mov r3, #0xf6\n" - " lsl r3, r3, #0x18\n" - " add r0, r1, r3\n" - " lsr r7, r0, #0x18\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x11\n" - " add r0, r0, r3\n" - " lsr r0, r0, #0x18\n" - " mov ip, r0\n" - " lsl r1, r7, #0x18\n" - " asr r0, r1, #0x18\n" - " cmp r0, #0x9\n" - " bgt ._530 @cond_branch\n" - "._529:\n" - " mov r0, #0x2\n" - " and r0, r0, r6\n" - " cmp r0, #0\n" - " beq ._531 @cond_branch\n" - " mov r0, #0x1\n" - " and r0, r0, r6\n" - " cmp r0, #0\n" - " beq ._532 @cond_branch\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x11\n" - " b ._533\n" - "._535:\n" - " .align 2, 0\n" - "._534:\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - " .word gUnknown_Debug_03004360\n" - "._532:\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " mov r3, #0xff\n" - " lsl r3, r3, #0x18\n" - "._533:\n" - " add r0, r0, r3\n" - " lsr r0, r0, #0x18\n" - " mov ip, r0\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " cmp r0, #0\n" - " bge ._536 @cond_branch\n" - " mov r3, #0x9\n" - " mov ip, r3\n" - "._536:\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x9\n" - " ble ._542 @cond_branch\n" - " mov r3, #0x0\n" - " mov ip, r3\n" - " b ._542\n" - "._531:\n" - " mov r0, #0x1\n" - " and r0, r0, r6\n" - " cmp r0, #0\n" - " beq ._539 @cond_branch\n" - " lsl r0, r7, #0x18\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x11\n" - " add r0, r0, r1\n" - " b ._540\n" - "._539:\n" - " lsl r0, r7, #0x18\n" - " mov r3, #0xff\n" - " lsl r3, r3, #0x18\n" - " add r0, r0, r3\n" - "._540:\n" - " lsr r7, r0, #0x18\n" - " lsl r0, r7, #0x18\n" - " cmp r0, #0\n" - " bgt ._541 @cond_branch\n" - " mov r7, #0x9\n" - "._541:\n" - " lsl r0, r7, #0x18\n" - " asr r0, r0, #0x18\n" - " cmp r0, #0x9\n" - " ble ._542 @cond_branch\n" - " mov r7, #0x1\n" - "._542:\n" - " ldrb r0, [r2]\n" - " lsl r2, r0, #0x2\n" - " add r2, r2, r0\n" - " mov r0, r8\n" - " ldrb r0, [r0]\n" - " add r2, r2, r0\n" - " lsl r2, r2, #0x1\n" - " ldrb r1, [r4]\n" - " mov r0, #0x1\n" - " eor r0, r0, r1\n" - " mov r1, #0x46\n" - " add r3, r0, #0\n" - " mul r3, r3, r1\n" - " add r3, r2, r3\n" - " add r3, r3, r9\n" - " ldrb r0, [r4]\n" - " mul r0, r0, r1\n" - " add r2, r2, r0\n" - " add r2, r2, r9\n" - " mov r1, ip\n" - " lsl r0, r1, #0x18\n" - " asr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x1\n" - " lsl r0, r7, #0x18\n" - " asr r0, r0, #0x18\n" - " add r0, r0, r1\n" - " strh r0, [r2]\n" - " strh r0, [r3]\n" - " pop {r3, r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + s8 r12 = 0; + s8 r7 = gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][gUnknown_Debug_030043A0]; + + while (r7 >= 10) + { + r7 -= 10; + r12++; + } + + if (a & 2) + { + if (a & 1) + r12++; + else + r12--; + if (r12 < 0) + r12 = 9; + if (r12 > 9) + r12 = 0; + } + else + { + if (a & 1) + r7++; + else + r7--; + if (r7 < 1) + r7 = 9; + if (r7 > 9) + r7 = 1; + } + gUnknown_Debug_2023A76_[gUnknown_Debug_03004360 ^ 1][gUnknown_Debug_030043A4][gUnknown_Debug_030043A0] + = gUnknown_Debug_2023A76_[gUnknown_Debug_03004360][gUnknown_Debug_030043A4][gUnknown_Debug_030043A0] + = r12 * 10 + r7; } __attribute__((naked)) @@ -5119,39 +4899,17 @@ void debug_sub_8012688() ); } -__attribute__((naked)) -void debug_sub_8012878() +void debug_sub_8012878(void) { - asm( - " push {lr}\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " ldr r0, ._876 @ gUnknown_03004210\n" - " bl Text_UpdateWindowInBattle\n" - " bl UpdatePaletteFade\n" - " bl RunTasks\n" - " ldr r0, ._876 + 4 @ gMain\n" - " ldrh r1, [r0, #0x2c]\n" - " mov r0, #0x82\n" - " lsl r0, r0, #0x1\n" - " cmp r1, r0\n" - " bne ._875 @cond_branch\n" - " ldr r0, ._876 + 8 @ debug_sub_80108B8\n" - " bl SetMainCallback2\n" - "._875:\n" - " pop {r0}\n" - " bx r0\n" - "._877:\n" - " .align 2, 0\n" - "._876:\n" - " .word gUnknown_03004210\n" - " .word gMain\n" - " .word debug_sub_80108B8+1\n" - "\n" - ); + AnimateSprites(); + BuildOamBuffer(); + Text_UpdateWindowInBattle(&gUnknown_03004210); + UpdatePaletteFade(); + RunTasks(); + if (gMain.heldKeys == (SELECT_BUTTON | R_BUTTON)) + SetMainCallback2(debug_sub_80108B8); } -/* void debug_sub_80128B4(void) { debug_sub_8010A7C(0, 9); @@ -5164,73 +4922,6 @@ void debug_sub_80128B4(void) Text_InitWindow(&gUnknown_03004210, gBattleTextBuff1, 144, 2, 35); Text_PrintWindow8002F44(&gUnknown_03004210); } -*/ - -__attribute__((naked)) -void debug_sub_80128B4() -{ - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xfffffffc\n" - " mov r0, #0x0\n" - " mov r1, #0x9\n" - " bl debug_sub_8010A7C\n" - " ldr r5, ._878 @ gUnknown_03004210\n" - " ldr r4, ._878 + 4 @ gBattleTextBuff1\n" - " mov r0, #0x23\n" - " mov r8, r0\n" - " str r0, [sp]\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x90\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - " add r0, r5, #0\n" - " bl Text_PrintWindow8002F44\n" - " ldr r6, ._878 + 8 @ gCurrentMove\n" - " ldrh r1, [r6]\n" - " add r0, r4, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0x0\n" - " strb r0, [r4, #0x3]\n" - " mov r0, #0xff\n" - " strb r0, [r4, #0x4]\n" - " ldrh r1, [r6]\n" - " mov r0, #0xb\n" - " mul r1, r1, r0\n" - " ldr r0, ._878 + 12 @ gSpeciesNames\n" - " add r1, r1, r0\n" - " add r0, r4, #0\n" - " bl StringAppend\n" - " mov r0, r8\n" - " str r0, [sp]\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x90\n" - " mov r3, #0x2\n" - " bl Text_InitWindow\n" - " add r0, r5, #0\n" - " bl Text_PrintWindow8002F44\n" - " add sp, sp, #0x4\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._879:\n" - " .align 2, 0\n" - "._878:\n" - " .word gUnknown_03004210\n" - " .word gBattleTextBuff1\n" - " .word gCurrentMove\n" - " .word gSpeciesNames\n" - "\n" - ); -} void debug_sub_8012938(u8 taskId) { -- cgit v1.2.3 From 449d5cd95bbd1a3ad291e6ebe0654f47f2f3b6e4 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 31 Jan 2018 18:19:25 -0600 Subject: decompile more battle_2.c debug functions --- src/battle/battle_2.c | 326 ++++++++++---------------------------------------- 1 file changed, 64 insertions(+), 262 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index b8ad21869..d3ddc5960 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -69,6 +69,7 @@ struct UnknownStruct12 extern void sub_802BBD4(); +extern struct SpriteTemplate gUnknown_02024E8C; extern const u8 Str_821F7B8[]; extern u8 gUnknown_02023A14_50; extern const u16 gUnknown_08D004E0[]; @@ -1362,6 +1363,8 @@ extern u8 gUnknown_Debug_2023B62[]; extern const u8 Str_821F7BD[]; extern const u8 Str_821F7DA[]; +void debug_sub_8012878(void); +void debug_sub_8012D10(u8); void debug_sub_8010818(void); void debug_sub_80108B8(void); void debug_sub_8010CAC(void); @@ -1388,6 +1391,7 @@ extern u8 gBattleBuffersTransferData[]; extern const s16 gUnknown_Debug_821F424[][5]; extern const u16 gUnknown_Debug_821F56C[][5]; +extern const u32 gUnknown_Debug_821F798[][4]; extern const u8 gUnusedOldCharmap_Gfx_lz[]; extern const u8 gUnusedOldCharmap_Tilemap_lz[]; @@ -4628,275 +4632,73 @@ void debug_sub_80125E4() ); } -__attribute__((naked)) -void debug_sub_8012628() +void debug_sub_8012628(void) { - asm( - " ldr r3, ._868 @ gSharedMem\n" - " ldr r2, ._868 + 4 @ gUnknown_Debug_821F798\n" - " ldr r0, ._868 + 8 @ gUnknown_Debug_030043A8\n" - " ldrb r1, [r0]\n" - " lsl r1, r1, #0x2\n" - " ldr r0, ._868 + 12 @ gUnknown_Debug_03004360\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x4\n" - " add r1, r1, r0\n" - " add r1, r1, r2\n" - " ldr r0, [r1]\n" - " add r0, r0, r3\n" - " mov r1, #0x6d\n" - " strb r1, [r0]\n" - " bx lr\n" - "._869:\n" - " .align 2, 0\n" - "._868:\n" - " .word gSharedMem\n" - " .word gUnknown_Debug_821F798\n" - " .word gUnknown_Debug_030043A8\n" - " .word gUnknown_Debug_03004360\n" - "\n" - ); + gSharedMem[gUnknown_Debug_821F798[gUnknown_Debug_03004360][gUnknown_Debug_030043A8]] = 0x6D; } -__attribute__((naked)) -void debug_sub_8012658() +void debug_sub_8012658(void) { - asm( - " ldr r3, ._870 @ gSharedMem\n" - " ldr r2, ._870 + 4 @ gUnknown_Debug_821F798\n" - " ldr r0, ._870 + 8 @ gUnknown_Debug_030043A8\n" - " ldrb r1, [r0]\n" - " lsl r1, r1, #0x2\n" - " ldr r0, ._870 + 12 @ gUnknown_Debug_03004360\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x4\n" - " add r1, r1, r0\n" - " add r1, r1, r2\n" - " ldr r0, [r1]\n" - " add r0, r0, r3\n" - " mov r1, #0x81\n" - " strb r1, [r0]\n" - " bx lr\n" - "._871:\n" - " .align 2, 0\n" - "._870:\n" - " .word gSharedMem\n" - " .word gUnknown_Debug_821F798\n" - " .word gUnknown_Debug_030043A8\n" - " .word gUnknown_Debug_03004360\n" - "\n" - ); + gSharedMem[gUnknown_Debug_821F798[gUnknown_Debug_03004360][gUnknown_Debug_030043A8]] = 0x81; } -__attribute__((naked)) -void debug_sub_8012688() +void debug_sub_8012688(void) { - asm( - " push {r4, r5, r6, lr}\n" - " mov r6, r8\n" - " push {r6}\n" - " add sp, sp, #0xfffffff4\n" - " mov r1, #0x0\n" - " mov r4, #0xcd\n" - " lsl r4, r4, #0x1\n" - " ldr r3, ._873 @ gUnknown_Debug_2023B62\n" - " mov r2, #0x0\n" - "._872:\n" - " add r0, r1, r3\n" - " strb r2, [r0]\n" - " add r1, r1, #0x1\n" - " cmp r1, r4\n" - " ble ._872 @cond_branch\n" - " mov r0, #0x0\n" - " bl SetHBlankCallback\n" - " mov r0, #0x0\n" - " bl SetVBlankCallback\n" - " mov r5, #0x0\n" - " str r5, [sp, #0x8]\n" - " ldr r1, ._873 + 4 @ 0x40000d4\n" - " add r0, sp, #0x8\n" - " str r0, [r1]\n" - " mov r0, #0xc0\n" - " lsl r0, r0, #0x13\n" - " str r0, [r1, #0x4]\n" - " ldr r0, ._873 + 8 @ 0x85006000\n" - " str r0, [r1, #0x8]\n" - " ldr r0, [r1, #0x8]\n" - " ldr r0, ._873 + 12 @ 0x400004c\n" - " strh r5, [r0]\n" - " sub r0, r0, #0xc\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " sub r0, r0, #0x2\n" - " strh r5, [r0]\n" - " add r0, r0, #0x4\n" - " strh r5, [r0]\n" - " add r0, r0, #0x2\n" - " strh r5, [r0]\n" - " add r0, r0, #0x2\n" - " strh r5, [r0]\n" - " ldr r4, ._873 + 16 @ gWindowTemplate_81E6C58\n" - " add r0, r4, #0\n" - " bl Text_LoadWindowTemplate\n" - " bl ResetPaletteFade\n" - " ldr r0, ._873 + 20 @ gBattle_BG0_X\n" - " strh r5, [r0]\n" - " ldr r1, ._873 + 24 @ gBattle_BG0_Y\n" - " mov r0, #0xa0\n" - " strh r0, [r1]\n" - " ldr r0, ._873 + 28 @ gBattle_BG1_X\n" - " strh r5, [r0]\n" - " ldr r0, ._873 + 32 @ gBattle_BG1_Y\n" - " strh r5, [r0]\n" - " ldr r0, ._873 + 36 @ gBattle_BG2_X\n" - " strh r5, [r0]\n" - " ldr r0, ._873 + 40 @ gBattle_BG2_Y\n" - " strh r5, [r0]\n" - " ldr r0, ._873 + 44 @ gBattle_BG3_X\n" - " strh r5, [r0]\n" - " ldr r0, ._873 + 48 @ gBattle_BG3_Y\n" - " strh r5, [r0]\n" - " ldr r1, ._873 + 52 @ gBattleTerrain\n" - " mov r0, #0x9\n" - " strb r0, [r1]\n" - " bl sub_800D6D4\n" - " bl sub_800DAB8\n" - " bl ResetSpriteData\n" - " bl ResetTasks\n" - " bl FreeAllSpritePalettes\n" - " ldr r1, ._873 + 56 @ gReservedSpritePaletteCount\n" - " mov r0, #0x4\n" - " strb r0, [r1]\n" - " ldr r6, ._873 + 60 @ gCurrentMove\n" - " mov r0, #0x1\n" - " strh r0, [r6]\n" - " ldr r0, ._873 + 64 @ gUnknown_03004210\n" - " add r1, r4, #0\n" - " bl Text_InitWindowWithTemplate\n" - " ldrh r2, [r6]\n" - " lsl r0, r2, #0x3\n" - " ldr r1, ._873 + 68 @ gMonFrontPicTable\n" - " add r0, r0, r1\n" - " ldr r1, ._873 + 72 @ gMonFrontPicCoords\n" - " mov r8, r1\n" - " lsl r2, r2, #0x2\n" - " add r2, r2, r8\n" - " ldrb r1, [r2]\n" - " ldrb r2, [r2, #0x1]\n" - " mov r3, #0x80\n" - " lsl r3, r3, #0x12\n" - " ldr r4, ._873 + 76 @ gUnknown_081FAF4C\n" - " ldr r4, [r4, #0x4]\n" - " str r4, [sp]\n" - " ldrh r4, [r6]\n" - " str r4, [sp, #0x4]\n" - " bl DecompressPicFromTable_2\n" - " ldr r1, ._873 + 80 @ gMonPaletteTable\n" - " ldrh r0, [r6]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov r1, #0x88\n" - " lsl r1, r1, #0x1\n" - " mov r2, #0x20\n" - " bl LoadCompressedPalette\n" - " ldrh r0, [r6]\n" - " mov r1, #0x1\n" - " bl GetMonSpriteTemplate_803C56C\n" - " ldr r0, ._873 + 84 @ gUnknown_02024E8C\n" - " ldrh r1, [r6]\n" - " lsl r1, r1, #0x2\n" - " add r1, r1, r8\n" - " ldrb r2, [r1, #0x1]\n" - " add r2, r2, #0x28\n" - " mov r1, #0xb0\n" - " mov r3, #0x28\n" - " bl CreateSprite\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r3, ._873 + 88 @ gSprites\n" - " lsl r1, r4, #0x4\n" - " add r1, r1, r4\n" - " lsl r1, r1, #0x2\n" - " add r0, r3, #0\n" - " add r0, r0, #0x1c\n" - " add r0, r1, r0\n" - " ldr r2, ._873 + 92 @ nullsub_37\n" - " str r2, [r0]\n" - " add r1, r1, r3\n" - " ldrb r2, [r1, #0x5]\n" - " mov r0, #0xf\n" - " and r0, r0, r2\n" - " mov r2, #0x10\n" - " orr r0, r0, r2\n" - " strb r0, [r1, #0x5]\n" - " mov r1, #0x80\n" - " lsl r1, r1, #0x13\n" - " mov r2, #0xfa\n" - " lsl r2, r2, #0x5\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " ldr r0, ._873 + 96 @ debug_nullsub_45\n" - " bl SetHBlankCallback\n" - " ldr r0, ._873 + 100 @ debug_sub_8011DD4\n" - " bl SetVBlankCallback\n" - " bl m4aMPlayAllStop\n" - " ldr r0, ._873 + 104 @ debug_sub_8012D10\n" - " mov r1, #0x0\n" - " bl CreateTask\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " ldr r2, ._873 + 108 @ gTasks\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " add r1, r1, r2\n" - " strh r5, [r1, #0x8]\n" - " strh r4, [r1, #0xa]\n" - " ldr r0, ._873 + 112 @ debug_sub_8012878\n" - " bl SetMainCallback2\n" - " add sp, sp, #0xc\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._874:\n" - " .align 2, 0\n" - "._873:\n" - " .word gUnknown_Debug_2023B62\n" - " .word 0x40000d4\n" - " .word 0x85006000\n" - " .word 0x400004c\n" - " .word gWindowTemplate_81E6C58\n" - " .word gBattle_BG0_X\n" - " .word gBattle_BG0_Y\n" - " .word gBattle_BG1_X\n" - " .word gBattle_BG1_Y\n" - " .word gBattle_BG2_X\n" - " .word gBattle_BG2_Y\n" - " .word gBattle_BG3_X\n" - " .word gBattle_BG3_Y\n" - " .word gBattleTerrain\n" - " .word gReservedSpritePaletteCount\n" - " .word gCurrentMove\n" - " .word gUnknown_03004210\n" - " .word gMonFrontPicTable\n" - " .word gMonFrontPicCoords\n" - " .word gUnknown_081FAF4C\n" - " .word gMonPaletteTable\n" - " .word gUnknown_02024E8C\n" - " .word gSprites\n" - " .word nullsub_37+1\n" - " .word debug_nullsub_45+1\n" - " .word debug_sub_8011DD4+1\n" - " .word debug_sub_8012D10+1\n" - " .word gTasks\n" - " .word debug_sub_8012878+1\n" - "\n" - ); + s32 i; + u8 spriteId; + u8 taskId; + + for (i = 0; i < 411; i++) + gUnknown_Debug_2023B62[i] = 0; + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + DmaFill32(3, 0, (void *)VRAM, VRAM_SIZE); + REG_MOSAIC = 0; + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WIN1H = 0; + REG_WIN1V = 0; + REG_WININ = 0; + REG_WINOUT = 0; + Text_LoadWindowTemplate(&gWindowTemplate_81E6C58); + ResetPaletteFade(); + gBattle_BG0_X = 0; + gBattle_BG0_Y = DISPLAY_HEIGHT; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + gBattleTerrain = 9; + sub_800D6D4(); + sub_800DAB8(); + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + gCurrentMove = 1; + Text_InitWindowWithTemplate(&gUnknown_03004210, &gWindowTemplate_81E6C58); + DecompressPicFromTable_2( + &gMonFrontPicTable[gCurrentMove], + gMonFrontPicCoords[gCurrentMove].coords, + gMonFrontPicCoords[gCurrentMove].y_offset, + (void *)0x02000000, + gUnknown_081FAF4C[1], + gCurrentMove); + LoadCompressedPalette(gMonPaletteTable[gCurrentMove].data, 272, 32); + GetMonSpriteTemplate_803C56C(gCurrentMove, 1); + spriteId = CreateSprite(&gUnknown_02024E8C, 176, 40 + gMonFrontPicCoords[gCurrentMove].y_offset, 40); + gSprites[spriteId].callback = nullsub_37; + gSprites[spriteId].oam.paletteNum = 1; + REG_DISPCNT = 0x1F40; + SetHBlankCallback(debug_nullsub_45); + SetVBlankCallback(debug_sub_8011DD4); + m4aMPlayAllStop(); + taskId = CreateTask(debug_sub_8012D10, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = spriteId; + SetMainCallback2(debug_sub_8012878); } void debug_sub_8012878(void) -- cgit v1.2.3 From c410df510012f7a6ccfc342b398cd5d407fb0bf6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 31 Jan 2018 18:33:01 -0800 Subject: Start decompiling psychic.s --- src/battle/anim/psychic.c | 356 ++++++++++++++++++++++++++++++++++++++++++++++ src/rom_8077ABC.c | 2 +- 2 files changed, 357 insertions(+), 1 deletion(-) create mode 100644 src/battle/anim/psychic.c (limited to 'src') diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c new file mode 100644 index 000000000..19bfdfdb6 --- /dev/null +++ b/src/battle/anim/psychic.c @@ -0,0 +1,356 @@ +#include "global.h" +#include "battle.h" +#include "battle_anim.h" +#include "palette.h" +#include "rom_8077ABC.h" +#include "sound.h" +#include "task.h" +#include "trig.h" +#include "constants/songs.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG2_X; +extern u8 gObjectBankIDs[]; + +extern const union AffineAnimCmd *const gUnknown_083DA888[]; +extern struct AffineAnimFrameCmd gUnknown_083DA8A4; +extern struct AffineAnimFrameCmd gUnknown_083DA8C4; + +static void sub_80DB88C(struct Sprite *sprite); +static void sub_80DB8C0(struct Sprite *sprite); +static void sub_80DB92C(struct Sprite *sprite); +static void sub_80DB9E4(struct Sprite *sprite); +static void sub_80DBC00(struct Sprite *sprite); +static void sub_80DBC34(struct Sprite *sprite); +static void sub_80DBCD0(u8 taskId); +static void sub_80DBD58(u8 taskId); +void sub_80DBE98(u8 taskId); + + +void sub_80DB74C(struct Sprite *sprite) +{ + if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER || IsContest()) + { + sprite->oam.priority = 2; + sprite->subpriority = 200; + } + + if (!IsContest()) + { + u8 bankCopy; + u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + u8 identity = GetBankIdentity_permutated(bank); + int var0 = 1; + u8 toBG_2 = (identity ^ var0) != 0; + + if (IsAnimBankSpriteVisible(bank)) + sub_8076034(bank, toBG_2); + + bank = bankCopy ^ 2; + if (IsAnimBankSpriteVisible(bank)) + sub_8076034(bank, toBG_2 ^ var0); + } + + if (!IsContest() && IsDoubleBattle()) + { + if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + { + sprite->pos1.x = 72; + sprite->pos1.y = 80; + } + else + { + sprite->pos1.x = 176; + sprite->pos1.y = 40; + } + } + else + { + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + } + + if (IsContest()) + sprite->pos1.y += 9; + + sprite->data[0] = 256 + IndexOfSpritePaletteTag(gBattleAnimArgs[2]) * 16; + sprite->callback = sub_80DB88C; + sprite->callback(sprite); +} + +static void sub_80DB88C(struct Sprite *sprite) +{ + REG_BLDALPHA = ((16 - sprite->data[3]) << 8) | sprite->data[3]; + + if (sprite->data[3] == 13) + sprite->callback = sub_80DB8C0; + else + sprite->data[3]++; +} + +static void sub_80DB8C0(struct Sprite *sprite) +{ + u16 color; + u16 startOffset; + int i; + + if (++sprite->data[1] == 2) + { + sprite->data[1] = 0; + startOffset = sprite->data[0]; + color = gPlttBufferFaded[startOffset + 8]; + + for (i = 8; i > 0; i--) + gPlttBufferFaded[startOffset + i] = gPlttBufferFaded[startOffset + i - 1]; + + gPlttBufferFaded[startOffset + 1] = color; + + if (++sprite->data[2] == 16) + sprite->callback = sub_80DB92C; + } +} + +static void sub_80DB92C(struct Sprite *sprite) +{ + REG_BLDALPHA = ((16 - sprite->data[3]) << 8) | sprite->data[3]; + + if (--sprite->data[3] == -1) + { + if (!IsContest()) + { + u8 bankCopy; + u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + + if (IsAnimBankSpriteVisible(bank)) + gSprites[gObjectBankIDs[bank]].invisible = 0; + + bank = bankCopy ^ 2; + if (IsAnimBankSpriteVisible(bank)) + gSprites[gObjectBankIDs[bank]].invisible = 0; + } + + sprite->invisible = 1; + sprite->callback = sub_80DB9E4; + } +} + +static void sub_80DB9E4(struct Sprite *sprite) +{ + if (!IsContest()) + { + u8 bankCopy; + u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + u8 identity = GetBankIdentity_permutated(bank); + int var0 = 1; + u8 toBG_2 = (identity ^ var0) != 0; + + if (IsAnimBankSpriteVisible(bank)) + sub_8076464(toBG_2); + + bank = bankCopy ^ 2; + if (IsAnimBankSpriteVisible(bank)) + sub_8076464(toBG_2 ^ var0); + } + + sprite->callback = DestroyAnimSprite; +} + +void sub_80DBA4C(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + int arg3 = gBattleAnimArgs[3]; + u8 var0 = 0; + if (arg3 == 0) + var0 = 1; + + if (!IsContest() && IsDoubleBattle()) + { + if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + { + sprite->pos1.x = 72 - gBattleAnimArgs[0]; + sprite->pos1.y = gBattleAnimArgs[1] + 80; + } + else + { + sprite->pos1.x = gBattleAnimArgs[0] + 176; + sprite->pos1.y = gBattleAnimArgs[1] + 40; + } + } + else + { + if (gBattleAnimArgs[2] == 0) + sub_80787B0(sprite, var0); + else + sub_8078764(sprite, var0); + } + + sprite->data[0]++; + } + else + { + if (sprite->animEnded || sprite->affineAnimEnded) + move_anim_8074EE0(sprite); + } +} + +void sub_80DBAF4(struct Sprite *sprite) +{ + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + { + StartSpriteAnim(sprite, 1); + sprite->pos1.x -= 40; + sprite->pos1.y += 10; + sprite->data[1] = -1; + } + else + { + sprite->pos1.x += 40; + sprite->pos1.y -= 10; + sprite->data[1] = 1; + } + + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + sprite->callback = sub_8078600; +} + +void sub_80DBB70(struct Sprite *sprite) +{ + s16 x = sub_807A100(gAnimBankAttacker, 1) / 2; + s16 y = sub_807A100(gAnimBankAttacker, 0) / -2; + + if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT) + { + x = -x; + } + + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + x; + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + y; + + if (sprite->pos1.y < 16) + { + sprite->pos1.y = 16; + } + + StoreSpriteCallbackInData(sprite, sub_80DBC00); + sprite->callback = sub_8078600; +} + +static void sub_80DBC00(struct Sprite *sprite) +{ + sprite->oam.affineMode = 1; + sprite->affineAnims = gUnknown_083DA888; + sprite->data[0] = 0; + InitSpriteAffineAnim(sprite); + sprite->callback = sub_80DBC34; +} + +static void sub_80DBC34(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (sprite->affineAnimEnded) + { + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = 0; + sprite->data[1] = 18; + sprite->data[0]++; + } + break; + case 1: + if (--sprite->data[1] == -1) + { + DestroyAnimSprite(sprite); + } + break; + } +} + +void sub_80DBC94(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 spriteId = GetAnimBankSpriteId(0); + task->data[0] = spriteId; + sub_80798F4(task, spriteId, &gUnknown_083DA8A4); + task->func = sub_80DBCD0; +} + +static void sub_80DBCD0(u8 taskId) +{ + if (!sub_807992C(&gTasks[taskId])) + { + DestroyAnimVisualTask(taskId); + } +} + +void sub_80DBCFC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 spriteId = GetAnimBankSpriteId(0); + task->data[0] = spriteId; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = GetBankSide(gAnimBankAttacker) != SIDE_PLAYER ? 4 : 8; + + sub_80798F4(task, task->data[0], &gUnknown_083DA8C4); + task->func = sub_80DBD58; +} + +static void sub_80DBD58(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[1]) + { + case 0: + sub_807992C(task); + if (++task->data[2] > 19) + task->data[1]++; + break; + case 1: + if (task->data[3] != 0) + { + gSprites[task->data[0]].pos2.y -= 8; + task->data[3]--; + } + else + { + gSprites[task->data[0]].invisible = 1; + gSprites[task->data[0]].pos1.x = 272; + sub_8078F40(task->data[0]); + DestroyAnimVisualTask(taskId); + } + break; + } +} + +void sub_80DBE00(u8 taskId) +{ + u16 var0, var1; + + struct Task *task = &gTasks[taskId]; + + task->data[3] = 16; + task->data[4] = 0; + task->data[13] = GetBankPosition(gAnimBankAttacker, 2); + task->data[14] = GetBankPosition(gAnimBankAttacker, 3); + + var0 = sub_807A100(gAnimBankAttacker, 1) / 3; + var1 = sub_807A100(gAnimBankAttacker, 0) / 3; + task->data[12] = var0 > var1 ? var0 : var1; + + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = 0x10; + + task->func = sub_80DBE98; +} diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 11a71155d..b84c431f7 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -1970,7 +1970,7 @@ void sub_807A0F4(struct Sprite *sprite) DestroySpriteAndFreeResources(sprite); } -int sub_807A100(u8 slot, u8 a2) +s16 sub_807A100(u8 slot, u8 a2) { u16 species; u32 personality; -- cgit v1.2.3 From 2d89da39c172c80a8d1ca6ad63e16a8d8e29d39d Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 31 Jan 2018 20:59:31 -0800 Subject: More psychic.s decompilation --- src/battle/anim/psychic.c | 254 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 253 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 19bfdfdb6..a00b0ba3a 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -3,6 +3,7 @@ #include "battle_anim.h" #include "palette.h" #include "rom_8077ABC.h" +#include "scanline_effect.h" #include "sound.h" #include "task.h" #include "trig.h" @@ -18,6 +19,8 @@ extern u8 gObjectBankIDs[]; extern const union AffineAnimCmd *const gUnknown_083DA888[]; extern struct AffineAnimFrameCmd gUnknown_083DA8A4; extern struct AffineAnimFrameCmd gUnknown_083DA8C4; +extern const struct SpriteTemplate gSpriteTemplate_83DA8DC; +extern const struct SpriteTemplate gSpriteTemplate_83DA9AC; static void sub_80DB88C(struct Sprite *sprite); static void sub_80DB8C0(struct Sprite *sprite); @@ -27,7 +30,9 @@ static void sub_80DBC00(struct Sprite *sprite); static void sub_80DBC34(struct Sprite *sprite); static void sub_80DBCD0(u8 taskId); static void sub_80DBD58(u8 taskId); -void sub_80DBE98(u8 taskId); +static void sub_80DBE98(u8 taskId); +static void sub_80DC1FC(u8 taskId); +void sub_80DC3F4(u8 taskId); void sub_80DB74C(struct Sprite *sprite) @@ -354,3 +359,250 @@ void sub_80DBE00(u8 taskId) task->func = sub_80DBE98; } + +static void sub_80DBE98(u8 taskId) +{ + u16 i; + u8 spriteId; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 8) + { + task->data[1] = 0; + spriteId = CreateSprite(&gSpriteTemplate_83DA8DC, task->data[13], task->data[14], 0); + task->data[task->data[2] + 8] = spriteId; + + if (spriteId != 64) + { + switch (task->data[2]) + { + case 0: + gSprites[spriteId].pos2.x = task->data[12]; + gSprites[spriteId].pos2.y = -task->data[12]; + break; + case 1: + gSprites[spriteId].pos2.x = -task->data[12]; + gSprites[spriteId].pos2.y = task->data[12]; + break; + case 2: + gSprites[spriteId].pos2.x = task->data[12]; + gSprites[spriteId].pos2.y = task->data[12]; + break; + case 3: + gSprites[spriteId].pos2.x = -task->data[12]; + gSprites[spriteId].pos2.y = -task->data[12]; + break; + } + } + + if (++task->data[2] == 5) + task->data[0]++; + } + break; + case 1: + if (task->data[1] & 1) + task->data[3]--; + else + task->data[4]++; + + REG_BLDALPHA = (task->data[4] << 8) | task->data[3]; + + if (++task->data[1] == 32) + { + for (i = 8; i < 13; i++) + { + if (task->data[i] != 64) + DestroySprite(&gSprites[task->data[i]]); + } + + task->data[0]++; + } + break; + case 2: + task->data[0]++; + break; + case 3: + REG_BLDALPHA = 0; + REG_BLDCNT = 0; + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_80DC020(struct Sprite *sprite) +{ + if (sprite->data[1] > sprite->data[0] - 10) + sprite->invisible = sprite->data[1] & 1; + + if (sprite->data[1] == sprite->data[0]) + DestroyAnimSprite(sprite); + + sprite->data[1]++; +} + +void sub_80DC068(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + } + + sprite->data[0] = gBattleAnimArgs[1]; + sprite->callback = sub_80DC020; +} + +void sub_80DC0B0(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (IsContest()) + { + if (gBattleAnimArgs[0] == 1) + { + task->data[10] = -10; + task->data[11] = sub_807A100(gAnimBankTarget, 5) - 8; + task->data[12] = sub_807A100(gAnimBankTarget, 2) + 8; + task->data[13] = sub_807A100(gAnimBankAttacker, 5) - 8; + task->data[14] = sub_807A100(gAnimBankAttacker, 2) + 8; + } + else + { + task->data[10] = 10; + task->data[11] = sub_807A100(gAnimBankAttacker, 4) + 8; + task->data[12] = sub_807A100(gAnimBankAttacker, 3) - 8; + task->data[13] = sub_807A100(gAnimBankTarget, 4) + 8; + task->data[14] = sub_807A100(gAnimBankTarget, 3) - 8; + } + } + else + { + if (gBattleAnimArgs[0] == 1) + { + task->data[10] = -10; + task->data[11] = sub_807A100(gAnimBankTarget, 4) + 8; + task->data[12] = sub_807A100(gAnimBankTarget, 2) + 8; + task->data[13] = sub_807A100(gAnimBankAttacker, 4) + 8; + task->data[14] = sub_807A100(gAnimBankAttacker, 2) + 8; + } + else + { + task->data[10] = 10; + task->data[11] = sub_807A100(gAnimBankAttacker, 5) - 8; + task->data[12] = sub_807A100(gAnimBankAttacker, 3) - 8; + task->data[13] = sub_807A100(gAnimBankTarget, 5) - 8; + task->data[14] = sub_807A100(gAnimBankTarget, 3) - 8; + } + } + + task->data[1] = 6; + task->func = sub_80DC1FC; +} + +static void sub_80DC1FC(u8 taskId) +{ + u8 spriteId; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 6) + { + task->data[1] = 0; + spriteId = CreateSprite(&gSpriteTemplate_83DA9AC, task->data[11], task->data[12], 0); + if (spriteId != 64) + { + gSprites[spriteId].data[0] = 16; + gSprites[spriteId].data[2] = task->data[13]; + gSprites[spriteId].data[4] = task->data[14]; + gSprites[spriteId].data[5] = task->data[10]; + + sub_80786EC(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], task->data[2] & 3); + } + + if (++task->data[2] == 12) + task->data[0]++; + } + break; + case 1: + if (++task->data[1] > 17) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_80DC2B0(struct Sprite *sprite) +{ + if (sub_8078718(sprite)) + { + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } +} + +void sub_80DC2D4(u8 taskId) +{ + s16 i; + u8 var1; + struct ScanlineEffectParams scanlineParams; + struct Task *task = &gTasks[taskId]; + + var1 = sub_8077FC0(gAnimBankTarget); + task->data[14] = var1 - 32; + + switch (gBattleAnimArgs[0]) + { + case 0: + task->data[11] = 2; + task->data[12] = 5; + task->data[13] = 64; + task->data[15] = var1 + 32; + break; + case 1: + task->data[11] = 2; + task->data[12] = 5; + task->data[13] = 192; + task->data[15] = var1 + 32; + break; + case 2: + task->data[11] = 4; + task->data[12] = 4; + task->data[13] = 0; + task->data[15] = var1 + 32; + break; + } + + if (task->data[14] < 0) + task->data[14] = 0; + + if (GetBankIdentity_permutated(gAnimBankTarget) == 1) + { + task->data[10] = gBattle_BG1_X; + scanlineParams.dmaDest = ®_BG1HOFS; + } + else + { + task->data[10] = gBattle_BG2_X; + scanlineParams.dmaDest = ®_BG2HOFS; + } + + i = task->data[14]; + while (i <= task->data[14] + 64) + { + gScanlineEffectRegBuffers[0][i] = task->data[10]; + gScanlineEffectRegBuffers[1][i] = task->data[10]; + i++; + } + + scanlineParams.dmaControl = 0XA2600001; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + ScanlineEffect_SetParams(scanlineParams); + + task->func = sub_80DC3F4; +} -- cgit v1.2.3 From 513d85e2df9cdb288df6345107130c4bd144148d Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 1 Feb 2018 12:20:37 -0800 Subject: Finish decompiling psychic.s --- src/battle/anim/psychic.c | 294 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 293 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index a00b0ba3a..6617183cb 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -32,7 +32,8 @@ static void sub_80DBCD0(u8 taskId); static void sub_80DBD58(u8 taskId); static void sub_80DBE98(u8 taskId); static void sub_80DC1FC(u8 taskId); -void sub_80DC3F4(u8 taskId); +static void sub_80DC3F4(u8 taskId); +void sub_80DC5F4(u8 taskId); void sub_80DB74C(struct Sprite *sprite) @@ -606,3 +607,294 @@ void sub_80DC2D4(u8 taskId) task->func = sub_80DC3F4; } + +static void sub_80DC3F4(u8 taskId) +{ + s16 sineIndex, i; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sineIndex = task->data[13]; + i = task->data[14]; + while (i <= task->data[15]) + { + s16 var2 = (gSineTable[sineIndex] >> task->data[12]); + if (var2 > 0) + { + var2 += (task->data[1] & 3); + } + else if (var2 < 0) + { + var2 -= (task->data[1] & 3); + } + + gScanlineEffectRegBuffers[0][i] = task->data[10] + var2; + gScanlineEffectRegBuffers[1][i] = task->data[10] + var2; + + sineIndex += task->data[11]; + i++; + } + + if (++task->data[1] > 23) + { + task->data[0]++; + } + break; + case 1: + gScanlineEffect.state = 3; + task->data[0]++; + break; + case 2: + DestroyAnimVisualTask(taskId); + break; + } +} + +#ifdef NONMATCHING +void sub_80DC4F4(u8 taskId) +{ + s16 spriteId; + u8 matrixNum; + register u8 matrixNum2 asm("r6"); + struct Task *task = &gTasks[taskId]; + + matrixNum = AllocOamMatrix(); + matrixNum2 = matrixNum; + if (matrixNum2 == 0xFF) + { + DestroyAnimVisualTask(taskId); + return; + } + + spriteId = duplicate_obj_of_side_rel2move_in_transparent_mode(gBattleAnimArgs[0]); + if (spriteId < 0) + { + FreeOamMatrix(matrixNum); + DestroyAnimVisualTask(taskId); + return; + } + + gSprites[spriteId].callback = SpriteCallbackDummy; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; + gSprites[spriteId].oam.matrixNum = matrixNum2; + gSprites[spriteId].affineAnimPaused = 1; + gSprites[spriteId].subpriority++; + obj_id_set_rotscale(spriteId, 256, 256, 0); + CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); + + task->data[13] = GetAnimBankSpriteId(gBattleAnimArgs[0]); + task->data[14] = matrixNum; + task->data[15] = spriteId; + task->func = sub_80DC5F4; +} +#else +__attribute__((naked)) +void sub_80DC4F4(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + mov r8, r4\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + ldr r1, _080DC528 @ =gTasks\n\ + adds r7, r0, r1\n\ + bl AllocOamMatrix\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + mov r10, r5\n\ + adds r6, r5, 0\n\ + cmp r6, 0xFF\n\ + bne _080DC52C\n\ + adds r0, r4, 0\n\ + bl DestroyAnimVisualTask\n\ + b _080DC5D6\n\ + .align 2, 0\n\ +_080DC528: .4byte gTasks\n\ +_080DC52C:\n\ + ldr r1, _080DC550 @ =gBattleAnimArgs\n\ + ldrb r0, [r1]\n\ + bl duplicate_obj_of_side_rel2move_in_transparent_mode\n\ + lsls r0, 16\n\ + lsrs r1, r0, 16\n\ + mov r9, r1\n\ + asrs r0, 16\n\ + cmp r0, 0\n\ + bge _080DC554\n\ + adds r0, r5, 0\n\ + bl FreeOamMatrix\n\ + mov r0, r8\n\ + bl DestroyAnimVisualTask\n\ + b _080DC5D6\n\ + .align 2, 0\n\ +_080DC550: .4byte gBattleAnimArgs\n\ +_080DC554:\n\ + ldr r2, _080DC5E4 @ =gSprites\n\ + lsls r4, r0, 4\n\ + adds r4, r0\n\ + lsls r4, 2\n\ + adds r0, r2, 0\n\ + adds r0, 0x1C\n\ + adds r0, r4, r0\n\ + ldr r1, _080DC5E8 @ =SpriteCallbackDummy\n\ + str r1, [r0]\n\ + adds r4, r2\n\ + ldrb r0, [r4, 0x1]\n\ + movs r1, 0x3\n\ + orrs r0, r1\n\ + strb r0, [r4, 0x1]\n\ + movs r0, 0x1F\n\ + ands r6, r0\n\ + lsls r2, r6, 1\n\ + ldrb r1, [r4, 0x3]\n\ + movs r0, 0x3F\n\ + negs r0, r0\n\ + ands r0, r1\n\ + orrs r0, r2\n\ + strb r0, [r4, 0x3]\n\ + adds r2, r4, 0\n\ + adds r2, 0x2C\n\ + ldrb r0, [r2]\n\ + movs r1, 0x80\n\ + orrs r0, r1\n\ + strb r0, [r2]\n\ + adds r1, r4, 0\n\ + adds r1, 0x43\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ + mov r1, r9\n\ + lsls r0, r1, 24\n\ + lsrs r0, 24\n\ + movs r2, 0x80\n\ + lsls r2, 1\n\ + adds r1, r2, 0\n\ + movs r3, 0\n\ + bl obj_id_set_rotscale\n\ + ldrb r3, [r4, 0x1]\n\ + lsrs r1, r3, 6\n\ + ldrb r2, [r4, 0x3]\n\ + lsrs r2, 6\n\ + lsls r3, 30\n\ + lsrs r3, 30\n\ + adds r0, r4, 0\n\ + bl CalcCenterToCornerVec\n\ + ldr r1, _080DC5EC @ =gBattleAnimArgs\n\ + ldrb r0, [r1]\n\ + bl GetAnimBankSpriteId\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r7, 0x22]\n\ + mov r0, r10\n\ + strh r0, [r7, 0x24]\n\ + mov r1, r9\n\ + strh r1, [r7, 0x26]\n\ + ldr r0, _080DC5F0 @ =sub_80DC5F4\n\ + str r0, [r7]\n\ +_080DC5D6:\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080DC5E4: .4byte gSprites\n\ +_080DC5E8: .4byte SpriteCallbackDummy\n\ +_080DC5EC: .4byte gBattleAnimArgs\n\ +_080DC5F0: .4byte sub_80DC5F4\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void sub_80DC5F4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[1] += 4; + task->data[2] = 256 - (gSineTable[task->data[1]] >> 1); + obj_id_set_rotscale(task->data[15], task->data[2], task->data[2], 0); + sub_8079AB8(task->data[15], task->data[13]); + if (task->data[1] == 48) + task->data[0]++; + break; + case 1: + task->data[1] -= 4; + task->data[2] = 256 - (gSineTable[task->data[1]] >> 1);; + obj_id_set_rotscale(task->data[15], task->data[2], task->data[2], 0); + sub_8079AB8(task->data[15], task->data[13]); + if (task->data[1] == 0) + task->data[0]++; + break; + case 2: + obj_delete_but_dont_free_vram(&gSprites[task->data[15]]); + task->data[0]++; + break; + case 3: + FreeOamMatrix(task->data[14]); + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_80DC700(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + + if (IsContest()) + sprite->pos1.y += 12; + + sprite->data[1] = 8; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = ((16 - sprite->data[1]) << 8) | sprite->data[1]; + sprite->data[0]++; + break; + case 1: + if (sprite->affineAnimEnded) + { + PlaySE12WithPanning(SE_W100, BattleAnimAdjustPanning(-64)); + ChangeSpriteAffineAnim(sprite, 1); + sprite->data[0]++; + } + break; + case 2: + if (sprite->data[2]++ > 1) + { + sprite->data[2] = 0; + sprite->data[1]--; + REG_BLDALPHA = ((16 - sprite->data[1]) << 8) | sprite->data[1]; + + if (sprite->data[1] == 0) + { + sprite->data[0]++; + sprite->invisible = 1; + } + } + + sprite->data[3] += 896; + sprite->pos2.y -= sprite->data[3] >> 8; + sprite->data[3] &= 0xFF; + break; + case 3: + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + DestroyAnimSprite(sprite); + break; + } +} -- cgit v1.2.3 From 07a44e30ff530d5018f870aba4c5710d1e83059b Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 3 Feb 2018 11:58:21 -0800 Subject: Decompile more of dark.s --- src/battle/anim/dark.c | 440 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 429 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 8ceb00298..14988ac71 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -1,22 +1,36 @@ #include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" #include "battle_anim.h" -#include "sound.h" +#include "palette.h" +#include "rom_8077ABC.h" #include "scanline_effect.h" - -void sub_80DFE90(struct Sprite *sprite); - -void sub_80DFC9C(u8 taskId); -void sub_80DFD58(u8 taskId); +#include "sound.h" +#include "trig.h" +#include "constants/battle_constants.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern u8 gObjectBankIDs[]; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_WIN0H; +extern u16 gBattle_WIN0V; + +static void sub_80DFE90(struct Sprite *sprite); +static void sub_80DFC9C(u8 taskId); +static void sub_80DFD58(u8 taskId); +static void sub_80DFF58(struct Sprite *sprite); +static void sub_80DFF98(struct Sprite *sprite); +static void sub_80E00D0(struct Sprite *sprite); +static void sub_80E02A4(u8 taskId); +static void sub_80E0620(u8 taskId); +void sub_80E08CC(u8 a); +void sub_80E079C(struct Task *task); -// used in Smoke Ball escape, Sky Attack, Feint Attack and Camouflage +// used in Smoke Ball escape, Sky Attack, Feint Attack and Camouflage void sub_80DFC24(u8 taskId) { int bank; @@ -31,7 +45,7 @@ void sub_80DFC24(u8 taskId) gTasks[taskId].func = sub_80DFC9C; } -void sub_80DFC9C(u8 taskId) +static void sub_80DFC9C(u8 taskId) { u8 r2 = gTasks[taskId].data[1] >> 8; u8 r1 = gTasks[taskId].data[1]; @@ -111,7 +125,7 @@ void sub_80DFE14(struct Sprite *sprite) sub_80DFE90(sprite); } -void sub_80DFE90(struct Sprite *sprite) +static void sub_80DFE90(struct Sprite *sprite) { sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; @@ -136,3 +150,407 @@ void sub_80DFE90(struct Sprite *sprite) if (--sprite->data[0] == 0) DestroyAnimSprite(sprite); } + +void sub_80DFF1C(struct Sprite *sprite) +{ + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]); + + sprite->data[0] = gBattleAnimArgs[3]; + sprite->data[1] = gBattleAnimArgs[4]; + sprite->data[2] = gBattleAnimArgs[5]; + sprite->callback = sub_80DFF58; +} + +static void sub_80DFF58(struct Sprite *sprite) +{ + sprite->data[4] += sprite->data[0]; + sprite->data[5] += sprite->data[1]; + sprite->pos2.x = sprite->data[4] >> 8; + sprite->pos2.y = sprite->data[5] >> 8; + + if (++sprite->data[3] == sprite->data[2]) + sprite->callback = sub_80DFF98; +} + +static void sub_80DFF98(struct Sprite *sprite) +{ + sprite->data[4] -= sprite->data[0]; + sprite->data[5] -= sprite->data[1]; + sprite->pos2.x = sprite->data[4] >> 8; + sprite->pos2.y = sprite->data[5] >> 8; + + if (--sprite->data[3] == 0) + move_anim_8074EE0(sprite); +} + +void sub_80DFFD0(struct Sprite *sprite) +{ + u8 bank; + s8 xOffset; + + if (gBattleAnimArgs[0] == 0) + bank = gAnimBankAttacker; + else + bank = gAnimBankTarget; + + xOffset = 20; + sprite->oam.tileNum += 4; + + switch (gBattleAnimArgs[1]) + { + case 0: + sprite->pos1.x = sub_807A100(bank, 5) - 8; + sprite->pos1.y = sub_807A100(bank, 2) + 8; + break; + case 1: + sprite->pos1.x = sub_807A100(bank, 5) - 14; + sprite->pos1.y = sub_807A100(bank, 2) + 16; + break; + case 2: + sprite->pos1.x = sub_807A100(bank, 4) + 8; + sprite->pos1.y = sub_807A100(bank, 2) + 8; + StartSpriteAffineAnim(sprite, 1); + xOffset = -20; + break; + case 3: + sprite->pos1.x = sub_807A100(bank, 4) + 14; + sprite->pos1.y = sub_807A100(bank, 2) + 16; + StartSpriteAffineAnim(sprite, 1); + xOffset = -20; + break; + } + + sprite->data[0] = 32; + sprite->data[2] = sprite->pos1.x + xOffset; + sprite->data[4] = sprite->pos1.y + 12; + sprite->data[5] = -12; + + sub_80786EC(sprite); + sprite->callback = sub_80E00D0; +} + +static void sub_80E00D0(struct Sprite *sprite) +{ + if (sub_8078718(sprite)) + move_anim_8074EE0(sprite); +} + +void sub_80E00EC(u8 taskId) +{ + struct ScanlineEffectParams scanlineParams; + struct Struct_sub_8078914 subStruct; + u16 i; + u8 pos; + int var0; + struct Task *task = &gTasks[taskId]; + + task->data[7] = GetBankPosition(gAnimBankAttacker, 1) + 31; + task->data[6] = sub_807A100(gAnimBankAttacker, 2) - 7; + task->data[5] = task->data[7]; + task->data[4] = task->data[6]; + task->data[13] = (task->data[7] - task->data[6]) << 8; + + pos = GetBankPosition(gAnimBankAttacker, 0); + task->data[14] = pos - 32; + task->data[15] = pos + 32; + + if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + task->data[8] = -12; + else + task->data[8] = -64; + + task->data[3] = GetBankIdentity_permutated(gAnimBankAttacker); + if (task->data[3] == 1) + { + sub_8078914(&subStruct); + task->data[10] = gBattle_BG1_Y; + REG_BLDCNT = 0x3F42; + FillPalette(0, subStruct.field_8 << 4, 32); + scanlineParams.dmaDest = ®_BG1VOFS; + var0 = 2; + + if (!IsContest()) + gBattle_BG2_X += 240; + } + else + { + task->data[10] = gBattle_BG2_Y; + REG_BLDCNT = 0x3F44; + FillPalette(0, 144, 32); + scanlineParams.dmaDest = ®_BG2VOFS; + var0 = 4; + + if (!IsContest()) + gBattle_BG1_X += 240; + } + + scanlineParams.dmaControl = 0xA2600001; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + task->data[11] = 0; + task->data[12] = 16; + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + + sub_80E08CC(3); + + for (i = 0; i < 112; i++) + { + gScanlineEffectRegBuffers[0][i] = task->data[10]; + gScanlineEffectRegBuffers[1][i] = task->data[10]; + } + + ScanlineEffect_SetParams(scanlineParams); + + REG_WINOUT = 0x3F00 | (var0 ^ 0x3F); + REG_WININ = 0x3F3F; + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + gBattle_WIN0V = 160; + + task->func = sub_80E02A4; +} + +static void sub_80E02A4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (++task->data[1] > 1) + { + task->data[1] = 0; + if (++task->data[2] & 1) + { + if (task->data[11] != 12) + task->data[11]++; + } + else + { + if (task->data[12] != 8) + task->data[12]--; + } + + REG_BLDALPHA = (task->data[12] << 8) | task->data[11]; + + if (task->data[11] == 12 && task->data[12] == 8) + task->data[0]++; + } + break; + case 1: + task->data[4] -= 8; + sub_80E079C(task); + + if (task->data[4] < task->data[8]) + task->data[0]++; + break; + case 2: + task->data[4] -= 8; + sub_80E079C(task); + task->data[14] += 4; + task->data[15] -= 4; + + if (task->data[14] >= task->data[15]) + task->data[14] = task->data[15]; + + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + + if (task->data[14] == task->data[15]) + task->data[0]++; + break; + case 3: + gScanlineEffect.state = 3; + task->data[0]++; + break; + case 4: + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_80E03BC(u8 taskId) +{ + struct Struct_sub_8078914 subStruct; + struct ScanlineEffectParams scanlineParams; + u8 pos; + u16 i; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + if (IsContest() == TRUE) + { + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + REG_WININ = 0x3F3F; + REG_WINOUT = 0x3F3F; + DestroyAnimVisualTask(taskId); + } + else + { + task->data[3] = GetBankIdentity_permutated(gAnimBankTarget); + if (task->data[3] == 1) + { + REG_BLDCNT = 0x3F42; + gBattle_BG2_X += 240; + } + else + { + REG_BLDCNT = 0x3F44; + gBattle_BG1_X += 240; + } + + task->data[0]++; + } + break; + case 1: + if (task->data[3] == 1) + { + sub_8078914(&subStruct); + task->data[10] = gBattle_BG1_Y; + FillPalette(0, subStruct.field_8 << 4, 32); + } + else + { + task->data[10] = gBattle_BG2_Y; + FillPalette(0, 144, 32); + } + + sub_80E08CC(3); + task->data[0]++; + break; + case 2: + task->data[7] = GetBankPosition(gAnimBankTarget, 1) + 31; + task->data[6] = sub_807A100(gAnimBankTarget, 2) - 7; + task->data[13] = (task->data[7] - task->data[6]) << 8; + pos = GetBankPosition(gAnimBankTarget, 0); + task->data[14] = pos - 4; + task->data[15] = pos + 4; + + if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + task->data[8] = -12; + else + task->data[8] = -64; + + task->data[4] = task->data[8]; + task->data[5] = task->data[8]; + task->data[11] = 12; + task->data[12] = 8; + task->data[0]++; + break; + case 3: + if (task->data[3] == 1) + scanlineParams.dmaDest = ®_BG1VOFS; + else + scanlineParams.dmaDest = ®_BG2VOFS; + + for (i = 0; i < 112; i++) + { + gScanlineEffectRegBuffers[0][i] = task->data[10] + (159 - i); + gScanlineEffectRegBuffers[1][i] = task->data[10] + (159 - i); + } + + scanlineParams.dmaControl = 0xA2600001; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + ScanlineEffect_SetParams(scanlineParams); + task->data[0]++; + break; + case 4: + if (task->data[3] == 1) + REG_WINOUT = 0x3F3D; + else + REG_WINOUT = 0x3F3B; + + REG_WININ = 0x3F3F; + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + gBattle_WIN0V = 160; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + REG_BLDALPHA = 0x80C; + task->func = sub_80E0620; + break; + } +} + +static void sub_80E0620(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[5] += 8; + if (task->data[5] >= task->data[7]) + task->data[5] = task->data[7]; + + sub_80E079C(task); + + if (task->data[5] == task->data[7]) + task->data[0]++; + break; + case 1: + if (task->data[15] - task->data[14] < 64) + { + task->data[14] -= 4; + task->data[15] += 4; + } + else + { + task->data[1] = 1; + } + + gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; + task->data[4] += 8; + + if (task->data[4] >= task->data[6]) + task->data[4] = task->data[6]; + + sub_80E079C(task); + + if (task->data[4] == task->data[6] && task->data[1] != 0) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + if (++task->data[1] > 1) + { + task->data[1] = 0; + if ((++task->data[2] & 1) != 0) + { + if (task->data[11] != 0) + task->data[11]--; + } + else + { + if (task->data[12] < 16) + task->data[12]++; + } + + REG_BLDALPHA = (task->data[12] << 8) | task->data[11]; + + if (task->data[11] == 0 && task->data[12] == 16) + task->data[0]++; + } + break; + case 3: + gScanlineEffect.state = 3; + task->data[0]++; + break; + case 4: + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + REG_WININ = 0x3F3F; + REG_WINOUT = 0x3F3F; + DestroyAnimVisualTask(taskId); + break; + } +} -- cgit v1.2.3 From f1f6c7337f4f2f002b456468b0ccc327fc494d02 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 3 Feb 2018 22:15:54 -0600 Subject: get rid of raw addresses in music_player_table.inc --- src/libs/m4a_1.s | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/libs/m4a_1.s b/src/libs/m4a_1.s index be8b44488..8dbcf7efd 100644 --- a/src/libs/m4a_1.s +++ b/src/libs/m4a_1.s @@ -4,7 +4,11 @@ .syntax unified - .lcomm gUnknown_030007B8, 0x770 + .bss + + .global gUnknown_030007B8 +gUnknown_030007B8: + .space 0x770 .text -- cgit v1.2.3 From 338d2b0b1897899a6fa787f8baa4cf392f81b718 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 4 Feb 2018 12:34:18 -0800 Subject: Finish decompiling dark.s except one function --- src/battle/anim/dark.c | 456 ++++++++++++++++++++++++++++++++++++++++++++++++- src/rom_8077ABC.c | 2 +- 2 files changed, 455 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 14988ac71..1c88dc23e 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -1,9 +1,13 @@ #include "global.h" #include "battle_anim.h" +#include "blend_palette.h" +#include "decompress.h" +#include "ewram.h" #include "palette.h" #include "rom_8077ABC.h" #include "scanline_effect.h" #include "sound.h" +#include "sprite.h" #include "trig.h" #include "constants/battle_constants.h" @@ -17,6 +21,12 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; +extern u16 gBattlePartyID[]; +extern u8 gAnimMoveTurn; + +extern const u8 gUnknown_08D1D574[]; +extern const u8 gUnknown_08D1D410[]; +extern const u16 gUnknown_08D1D54C[]; static void sub_80DFE90(struct Sprite *sprite); static void sub_80DFC9C(u8 taskId); @@ -26,8 +36,9 @@ static void sub_80DFF98(struct Sprite *sprite); static void sub_80E00D0(struct Sprite *sprite); static void sub_80E02A4(u8 taskId); static void sub_80E0620(u8 taskId); -void sub_80E08CC(u8 a); -void sub_80E079C(struct Task *task); +static void sub_80E08CC(u8 priority); +static void sub_80E079C(struct Task *task); +static void sub_80E0CD0(u8 taskId); // used in Smoke Ball escape, Sky Attack, Feint Attack and Camouflage @@ -554,3 +565,444 @@ static void sub_80E0620(u8 taskId) break; } } + +// static void sub_80E079C(struct Task *task) +// { +// int var0, var1; +// s16 var2; +// s16 i, j; + +// var2 = task->data[5] - task->data[4]; +// if (var2 != 0) +// { +// var0 = task->data[13] / var2; +// var1 = task->data[6]; + +// for (i = 0; i < task->data[4]; i++) +// { +// gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[10] - (i - 159); +// } + +// for (i = task->data[4]; i <= task->data[5]; i++) +// { +// if (i >= 0) +// { +// gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = (var1 - i) + task->data[10]; +// } + +// var1 += var0; +// } + +// for (j = i; j < task->data[7]; j++) +// { +// if (j >= 0) +// { +// gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][j] = (task->data[10] + 159) - j; +// } +// } +// } +// else +// { +// for (i = 0; i < 112; i++) +// { +// gScanlineEffectRegBuffers[0][i] = task->data[10] + 159 - i; +// gScanlineEffectRegBuffers[1][i] = task->data[10] + 159 - i; +// } +// } +// } + +__attribute__((naked)) +static void sub_80E079C(struct Task *task) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + adds r6, r0, 0\n\ + ldrh r0, [r6, 0x12]\n\ + ldrh r4, [r6, 0x10]\n\ + subs r0, r4\n\ + lsls r0, 16\n\ + asrs r1, r0, 16\n\ + cmp r1, 0\n\ + beq _080E0890\n\ + movs r2, 0x22\n\ + ldrsh r0, [r6, r2]\n\ + bl __divsi3\n\ + mov r8, r0\n\ + movs r3, 0x14\n\ + ldrsh r0, [r6, r3]\n\ + lsls r5, r0, 8\n\ + lsls r0, r4, 16\n\ + movs r4, 0\n\ + cmp r0, 0\n\ + ble _080E07FC\n\ + ldr r0, _080E0888 @ =gScanlineEffectRegBuffers\n\ + mov r12, r0\n\ + ldr r7, _080E088C @ =gScanlineEffect\n\ +_080E07D0:\n\ + lsls r2, r4, 16\n\ + asrs r2, 16\n\ + lsls r3, r2, 1\n\ + ldrb r1, [r7, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r3, r0\n\ + add r3, r12\n\ + adds r1, r2, 0\n\ + subs r1, 0x9F\n\ + ldrh r0, [r6, 0x1C]\n\ + subs r0, r1\n\ + strh r0, [r3]\n\ + adds r2, 0x1\n\ + lsls r2, 16\n\ + lsrs r4, r2, 16\n\ + asrs r2, 16\n\ + movs r1, 0x10\n\ + ldrsh r0, [r6, r1]\n\ + cmp r2, r0\n\ + blt _080E07D0\n\ +_080E07FC:\n\ + ldrh r4, [r6, 0x10]\n\ + lsls r3, r4, 16\n\ + asrs r1, r3, 16\n\ + movs r2, 0x12\n\ + ldrsh r0, [r6, r2]\n\ + cmp r1, r0\n\ + bgt _080E0846\n\ + ldr r0, _080E0888 @ =gScanlineEffectRegBuffers\n\ + mov r12, r0\n\ + ldr r7, _080E088C @ =gScanlineEffect\n\ +_080E0810:\n\ + asrs r4, r3, 16\n\ + cmp r4, 0\n\ + blt _080E0832\n\ + asrs r1, r5, 8\n\ + subs r1, r4\n\ + lsls r3, r4, 1\n\ + ldrb r2, [r7, 0x14]\n\ + lsls r0, r2, 4\n\ + subs r0, r2\n\ + lsls r0, 7\n\ + adds r3, r0\n\ + add r3, r12\n\ + lsls r1, 16\n\ + asrs r1, 16\n\ + ldrh r2, [r6, 0x1C]\n\ + adds r1, r2\n\ + strh r1, [r3]\n\ +_080E0832:\n\ + add r5, r8\n\ + adds r0, r4, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + lsls r3, r4, 16\n\ + asrs r1, r3, 16\n\ + movs r2, 0x12\n\ + ldrsh r0, [r6, r2]\n\ + cmp r1, r0\n\ + ble _080E0810\n\ +_080E0846:\n\ + movs r3, 0x1C\n\ + ldrsh r0, [r6, r3]\n\ + adds r0, 0x9F\n\ + lsls r2, r4, 16\n\ + asrs r1, r2, 16\n\ + subs r5, r0, r1\n\ + movs r3, 0x16\n\ + ldrsh r0, [r6, r3]\n\ + cmp r1, r0\n\ + bge _080E08BE\n\ + ldr r7, _080E0888 @ =gScanlineEffectRegBuffers\n\ + ldr r4, _080E088C @ =gScanlineEffect\n\ +_080E085E:\n\ + asrs r3, r2, 16\n\ + cmp r3, 0\n\ + blt _080E0876\n\ + lsls r2, r3, 1\n\ + ldrb r1, [r4, 0x14]\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 7\n\ + adds r2, r0\n\ + adds r2, r7\n\ + strh r5, [r2]\n\ + subs r5, 0x1\n\ +_080E0876:\n\ + adds r0, r3, 0x1\n\ + lsls r2, r0, 16\n\ + asrs r1, r2, 16\n\ + movs r3, 0x16\n\ + ldrsh r0, [r6, r3]\n\ + cmp r1, r0\n\ + blt _080E085E\n\ + b _080E08BE\n\ + .align 2, 0\n\ +_080E0888: .4byte gScanlineEffectRegBuffers\n\ +_080E088C: .4byte gScanlineEffect\n\ +_080E0890:\n\ + movs r1, 0x1C\n\ + ldrsh r0, [r6, r1]\n\ + adds r5, r0, 0\n\ + adds r5, 0x9F\n\ + movs r4, 0\n\ + ldr r3, _080E08C8 @ =gScanlineEffectRegBuffers\n\ + movs r2, 0xF0\n\ + lsls r2, 3\n\ + adds r6, r3, r2\n\ +_080E08A2:\n\ + lsls r0, r4, 16\n\ + asrs r0, 16\n\ + lsls r2, r0, 1\n\ + adds r1, r2, r3\n\ + strh r5, [r1]\n\ + adds r2, r6\n\ + strh r5, [r2]\n\ + subs r5, 0x1\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + asrs r0, 16\n\ + cmp r0, 0x6F\n\ + ble _080E08A2\n\ +_080E08BE:\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080E08C8: .4byte gScanlineEffectRegBuffers\n\ + .syntax divided\n"); +} + +static void sub_80E08CC(u8 priority) +{ + u16 i; + + for (i = 0; i < 4; i++) + { + u8 spriteId = GetAnimBankSpriteId(i); + if (spriteId != 0xFF) + gSprites[spriteId].oam.priority = priority; + } +} + +void sub_80E0918(u8 taskId) +{ + u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; + sub_8076034(gAnimBankAttacker, toBG2); + gSprites[gObjectBankIDs[gAnimBankAttacker]].invisible = 0; + + if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) + { + sub_8076034(gAnimBankAttacker ^ 2, toBG2 ^ 1); + gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].invisible = 0; + } + + DestroyAnimVisualTask(taskId); +} + +void sub_80E09C4(u8 taskId) +{ + u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; + sub_8076464(toBG2); + + if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) + sub_8076464(toBG2 ^ 1); + + DestroyAnimVisualTask(taskId); +} + +void sub_80E0A10(struct Sprite *sprite) +{ + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + StartSpriteAnim(sprite, gBattleAnimArgs[2]); + sprite->callback = sub_8078600; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80E0A4C(u8 taskId) +{ + u16 species; + u8 spriteId; + u8 newSpriteId; + u16 paletteNum; + struct Struct_sub_8078914 subStruct; + int var0 = 0; + + gBattle_WIN0H = var0; + gBattle_WIN0V = var0; + REG_WININ = 0x3F3F; + REG_WINOUT = 0x3F3D; + REG_DISPCNT |= DISPCNT_OBJWIN_ON; + REG_BLDCNT = 0x3F42; + REG_BLDALPHA = 0xC08; + REG_BG1CNT_BITFIELD.priority = 0; + REG_BG1CNT_BITFIELD.screenSize = 0; + if (!IsContest()) + REG_BG1CNT_BITFIELD.charBaseBlock = 1; + + if (IsDoubleBattle() && !IsContest()) + { + if (GetBankIdentity(gAnimBankAttacker) == 3 || GetBankIdentity(gAnimBankAttacker) == 0) + { + if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2) == TRUE) + { + gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].oam.priority--; + REG_BG1CNT_BITFIELD.priority = 1; + var0 = 1; + } + } + } + + if (IsContest()) + { + species = EWRAM_19348; + } + else + { + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES); + else + species = GetMonData(&gPlayerParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES); + } + + spriteId = GetAnimBankSpriteId(0); + newSpriteId = sub_807A4A0(gAnimBankAttacker, spriteId, species); + + sub_8078914(&subStruct); + DmaClear32(3, subStruct.field_4, 0x1000); + LZDecompressVram(&gUnknown_08D1D574, subStruct.field_4); + LZDecompressVram(&gUnknown_08D1D410, subStruct.field_0); + LoadCompressedPalette(&gUnknown_08D1D54C, subStruct.field_8 << 4, 32); + + gBattle_BG1_X = -gSprites[spriteId].pos1.x + 96; + gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32; + paletteNum = 16 + gSprites[spriteId].oam.paletteNum; + + if (gBattleAnimArgs[1] == 0) + sub_8079108(paletteNum, FALSE); + else + BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]); + + gTasks[taskId].data[0] = newSpriteId; + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = gBattleAnimArgs[1]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + gTasks[taskId].data[6] = var0; + gTasks[taskId].func = sub_80E0CD0; +} + +static void sub_80E0CD0(u8 taskId) +{ + struct Struct_sub_8078914 subStruct; + u16 paletteNum; + u8 spriteId; + u8 taskIdCopy = taskId; + + gTasks[taskIdCopy].data[10] += 4; + gBattle_BG1_X -= 4; + + if (gTasks[taskIdCopy].data[10] == 128) + { + gTasks[taskIdCopy].data[10] = 0; + gBattle_BG1_X += 128; + + if (++gTasks[taskIdCopy].data[11] == 2) + { + sub_8076464(0); + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + REG_WININ = 0x3F3F; + REG_WINOUT = 0x3F3F; + + if (!IsContest()) + REG_BG1CNT_BITFIELD.charBaseBlock = 0; + + REG_DISPCNT ^= DISPCNT_OBJWIN_ON; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + + spriteId = GetAnimBankSpriteId(0); + paletteNum = 16 + gSprites[spriteId].oam.paletteNum; + if (gTasks[taskIdCopy].data[1] == 0) + sub_8079108(paletteNum, 1); + + DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]); + sub_8078914(&subStruct); + DmaClear32(3, subStruct.field_4, 0x800); + + if (gTasks[taskIdCopy].data[6] == 1) + { + gSprites[gObjectBankIDs[gAnimBankAttacker ^ 2]].oam.priority++; + } + + DestroyAnimVisualTask(taskIdCopy); + } + } +} + +void sub_80E0E24(u8 taskId) +{ + u8 spriteId; + u8 bank; + bool8 calcSpriteId = FALSE; + u8 identity = 0; + + switch (gBattleAnimArgs[0]) + { + case 0: + case 1: + case 2: + case 3: + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + break; + case 4: + identity = IDENTITY_PLAYER_MON1; + calcSpriteId = TRUE; + break; + case 5: + identity = IDENTITY_PLAYER_MON2; + calcSpriteId = TRUE; + break; + case 6: + identity = IDENTITY_OPPONENT_MON1; + calcSpriteId = TRUE; + break; + case 7: + identity = IDENTITY_OPPONENT_MON2; + calcSpriteId = TRUE; + break; + default: + spriteId = 0xFF; + break; + } + + if (calcSpriteId) + { + bank = GetBankByIdentity(identity); + if (IsAnimBankSpriteVisible(bank)) + spriteId = gObjectBankIDs[bank]; + else + spriteId = 0xFF; + } + + if (spriteId != 0xFF) + sub_8079108(gSprites[spriteId].oam.paletteNum + 16, gBattleAnimArgs[1]); + + DestroyAnimVisualTask(taskId); +} + +void sub_80E0EE8(u8 taskId) +{ + if (gAnimMoveTurn < 2) + gBattleAnimArgs[7] = 0; + + if (gAnimMoveTurn == 2) + gBattleAnimArgs[7] = 1; + + DestroyAnimVisualTask(taskId); +} diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index b84c431f7..4a580eb41 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -2138,7 +2138,7 @@ void sub_807A3FC(u8 slot, bool8 a2, s16 *a3, s16 *a4) *a4 = (v4 + v6) / 2; } -u8 sub_807A4A0(int a1, u8 sprite, int a3) +u8 sub_807A4A0(int bank, u8 sprite, int species) { u8 new_sprite = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); gSprites[new_sprite] = gSprites[sprite]; -- cgit v1.2.3 From ad13f21d2e672b6f3cf000987670b4cf84e3feff Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 4 Feb 2018 14:40:14 -0800 Subject: Start decompiling fight.s --- src/battle/anim/fight.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/battle/anim/fight.c (limited to 'src') diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c new file mode 100644 index 000000000..4c3a6cb75 --- /dev/null +++ b/src/battle/anim/fight.c @@ -0,0 +1,72 @@ +#include "global.h" +#include "battle_anim.h" +#include "blend_palette.h" +#include "decompress.h" +#include "ewram.h" +#include "palette.h" +#include "rom_8077ABC.h" +#include "scanline_effect.h" +#include "sound.h" +#include "sprite.h" +#include "trig.h" +#include "constants/battle_constants.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; +extern u8 gObjectBankIDs[]; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_WIN0H; +extern u16 gBattle_WIN0V; +extern u16 gBattlePartyID[]; +extern u8 gAnimMoveTurn; + +void sub_080B08A0(struct Sprite *sprite) +{ + sub_807867C(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = 15; + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D902C(struct Sprite *sprite) +{ + if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } + + StartSpriteAnim(sprite, gBattleAnimArgs[6]); + gBattleAnimArgs[6] = 0; + sub_8079534(sprite); +} + +void sub_80D9078(struct Sprite *sprite) +{ + if (IsContest()) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } + + sub_80D902C(sprite); +} + +void sub_80D90A4(struct Sprite *sprite) +{ + StartSpriteAnim(sprite, gBattleAnimArgs[4]); + + if (gBattleAnimArgs[3] == 0) + sub_80787B0(sprite, 1); + else + sub_8078764(sprite, 1); + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} -- cgit v1.2.3 From 088e23007aa07e2ef0fcb5900664d2e6cec0853d Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 5 Feb 2018 20:10:31 -0800 Subject: Decompile more of fight.s --- src/battle/anim/fight.c | 223 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 223 insertions(+) (limited to 'src') diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 4c3a6cb75..fcce044ae 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -4,6 +4,7 @@ #include "decompress.h" #include "ewram.h" #include "palette.h" +#include "random.h" #include "rom_8077ABC.h" #include "scanline_effect.h" #include "sound.h" @@ -15,6 +16,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern u8 gObjectBankIDs[]; +extern u8 gBanksBySide[]; extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; @@ -24,6 +26,15 @@ extern u16 gBattle_WIN0V; extern u16 gBattlePartyID[]; extern u8 gAnimMoveTurn; +extern struct SpriteTemplate gBattleAnimSpriteTemplate_83DB4A8; + +static void sub_80D927C(struct Sprite *sprite); +static void sub_80D9328(struct Sprite *sprite); +static void sub_80D9404(struct Sprite *sprite); +static void sub_80D9474(struct Sprite *sprite); +static void sub_80D94CC(struct Sprite *sprite); +static void sub_80D9524(struct Sprite *sprite); + void sub_080B08A0(struct Sprite *sprite) { sub_807867C(sprite, gBattleAnimArgs[0]); @@ -70,3 +81,215 @@ void sub_80D90A4(struct Sprite *sprite) sprite->callback = sub_80782D8; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } + +void sub_80D90F4(struct Sprite *sprite) +{ + u8 bank; + s16 xMod, yMod; + s16 x, y; + + if (gBattleAnimArgs[0] == 0) + bank = gAnimBankAttacker; + else + bank = gAnimBankTarget; + + if (gBattleAnimArgs[2] < 0) + gBattleAnimArgs[2] = Random() % 5; + + StartSpriteAnim(sprite, gBattleAnimArgs[2]); + sprite->pos1.x = GetBankPosition(bank, 2); + sprite->pos1.y = GetBankPosition(bank, 3); + + xMod = sub_807A100(bank, 1) / 2; + yMod = sub_807A100(bank, 0) / 4; + + x = Random() % xMod; + y = Random() % yMod; + + if (Random() & 1) + x *= -1; + if (Random() & 1) + y *= -1; + + if ((gBanksBySide[bank] & 1) == 0) + y += 0xFFF0; + + sprite->pos1.x += x; + sprite->pos1.y += y; + + sprite->data[0] = gBattleAnimArgs[1]; + sprite->data[7] = CreateSprite(&gBattleAnimSpriteTemplate_83DB4A8, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + if (sprite->data[7] != 64) + { + StartSpriteAffineAnim(&gSprites[sprite->data[7]], 0); + gSprites[sprite->data[7]].callback = SpriteCallbackDummy; + } + + sprite->callback = sub_80D927C; +} + +static void sub_80D927C(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + if (sprite->data[7] != 64) + { + FreeOamMatrix(gSprites[sprite->data[7]].oam.matrixNum); + DestroySprite(&gSprites[sprite->data[7]]); + } + + DestroyAnimSprite(sprite); + } + else + { + sprite->data[0]--; + } +} + +void sub_80D92D0(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + sprite->data[0] = 30; + + if (gBattleAnimArgs[2] == 0) + { + sprite->data[2] = sprite->pos1.x - 20; + } + else + { + sprite->data[2] = sprite->pos1.x + 20; + sprite->hFlip = 1; + } + + sprite->data[4] = sprite->pos1.y - 20; + sprite->callback = sub_8078B34; + StoreSpriteCallbackInData(sprite, sub_80D9328); +} + +static void sub_80D9328(struct Sprite *sprite) +{ + if (++sprite->data[5] == 11) + { + sprite->data[2] = sprite->pos1.x - sprite->pos2.x; + sprite->data[4] = sprite->pos1.y - sprite->pos2.y; + sprite->data[0] = 8; + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + + sprite->callback = sub_8078B34; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + } +} + +void sub_80D9378(struct Sprite *sprite) +{ + if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBankIdentity(gAnimBankTarget) < 2) + gBattleAnimArgs[0] *= -1; + + sub_8078764(sprite, 1); + + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + + sprite->data[0] = gBattleAnimArgs[3]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = sprite->pos1.y; + + obj_translate_based_on_private_1_2_3_4(sprite); + + sprite->data[5] = gBattleAnimArgs[5]; + sprite->data[6] = gBattleAnimArgs[4]; + sprite->data[7] = 0; + + sprite->callback = sub_80D9404; +} + +static void sub_80D9404(struct Sprite *sprite) +{ + if (!sub_8078B5C(sprite)) + { + sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]); + sprite->data[7] += sprite->data[6]; + } + else + { + DestroyAnimSprite(sprite); + } +} + +void sub_80D943C(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + StartSpriteAnim(sprite, gBattleAnimArgs[2]); + sprite->data[0] = gBattleAnimArgs[3]; + + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, sub_80D9474); +} + +static void sub_80D9474(struct Sprite *sprite) +{ + StartSpriteAffineAnim(sprite, 0); + sprite->affineAnimPaused = 1; + sprite->data[0] = 20; + + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D94A8(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + sprite->data[0] = gBattleAnimArgs[2]; + + sprite->callback = sub_80D94CC; +} + +static void sub_80D94CC(struct Sprite *sprite) +{ + if (--sprite->data[0] == -1) + { + sprite->data[0] = 6; + sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + + sprite->callback = sub_8078B34; + StoreSpriteCallbackInData(sprite, sub_80D9524); + } +} + +static void sub_80D9524(struct Sprite *sprite) +{ + sprite->data[0] = 15; + + sprite->callback = sub_80782D8; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D9540(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sub_8078764(sprite, 1); + sprite->data[1] = gBattleAnimArgs[2]; + sprite->data[2] = gBattleAnimArgs[3]; + sprite->data[0]++; + } + else + { + sprite->data[4] += sprite->data[1]; + sprite->pos2.x = sprite->data[4] >> 8; + sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]); + sprite->data[3] = (sprite->data[3] + 3) & 0xFF; + + if (sprite->data[3] > 100) + sprite->invisible = sprite->data[3] % 2; + + if (sprite->data[3] > 120) + DestroyAnimSprite(sprite); + } +} -- cgit v1.2.3 From 5563c78798f95130cccf7d5a5c17b02cfb06442b Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 6 Feb 2018 18:50:20 -0600 Subject: decompile debug_sub_8010CAC --- src/battle/battle_2.c | 1317 ++++++++++++------------------------------------- 1 file changed, 327 insertions(+), 990 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index d3ddc5960..b09d9ad8d 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1363,19 +1363,25 @@ extern u8 gUnknown_Debug_2023B62[]; extern const u8 Str_821F7BD[]; extern const u8 Str_821F7DA[]; -void debug_sub_8012878(void); -void debug_sub_8012D10(u8); void debug_sub_8010818(void); void debug_sub_80108B8(void); void debug_sub_8010CAC(void); +void debug_sub_8011498(void); void debug_sub_801174C(void); void debug_sub_8011D40(void); +void debug_sub_8011E5C(void); +void debug_sub_8011E74(void); void debug_sub_8011EA0(u8); void debug_sub_8012294(void); void debug_sub_80123D8(u8); void debug_sub_8012540(void); void debug_nullsub_3(void); void debug_sub_80125A0(void); +void debug_sub_80125E4(void); +void debug_sub_8012628(void); +void debug_sub_8012688(void); +void debug_sub_8012878(void); +void debug_sub_8012D10(u8); u32 debug_sub_8013294(u8, void *, u32); void debug_sub_80132C8(u8, void *, u32); @@ -1389,7 +1395,7 @@ extern u8 gUnknown_Debug_030043A4; extern u8 gUnknown_Debug_030043A8; extern u8 gBattleBuffersTransferData[]; -extern const s16 gUnknown_Debug_821F424[][5]; +extern const u16 gUnknown_Debug_821F424[][5]; extern const u16 gUnknown_Debug_821F56C[][5]; extern const u32 gUnknown_Debug_821F798[][4]; @@ -1579,994 +1585,325 @@ void debug_sub_8010B80(u8 a) = r12 * 10 + r7; } -__attribute__((naked)) -void debug_sub_8010CAC() +void debug_sub_8010CAC(void) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, r8\n" - " push {r7}\n" - " add sp, sp, #0xfffffff0\n" - " ldr r4, ._553 @ gMain\n" - " ldrh r1, [r4, #0x28]\n" - " mov r0, #0x81\n" - " lsl r0, r0, #0x2\n" - " cmp r1, r0\n" - " bne ._543 @cond_branch\n" - " bl DoSoftReset\n" - "._543:\n" - " ldrh r0, [r4, #0x2a]\n" - " cmp r0, #0x4\n" - " beq ._544 @cond_branch\n" - " b ._559\n" - "._544:\n" - " ldr r0, ._553 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " mov r8, r0\n" - " cmp r1, #0x5\n" - " bhi ._546 @cond_branch\n" - " ldr r0, ._553 + 8 @ gUnknown_Debug_030043A8\n" - " mov r1, #0x0\n" - " strb r1, [r0]\n" - " bl debug_sub_8012628\n" - " ldr r0, ._553 + 12 @ debug_sub_8011498\n" - " bl SetMainCallback2\n" - "._546:\n" - " ldr r0, ._553 + 16 @ gUnknown_Debug_030043A0\n" - " ldrb r3, [r0]\n" - " cmp r3, #0\n" - " bne ._555 @cond_branch\n" - " mov r1, r8\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x6\n" - " bne ._555 @cond_branch\n" - " ldr r0, ._553 + 20 @ debug_sub_80108B8\n" - " str r0, [r4, #0x8]\n" - " ldr r4, ._553 + 24 @ gPlayerParty\n" - " ldr r0, ._553 + 28 @ gUnknown_Debug_2023A76\n" - " ldrh r1, [r0]\n" - " ldrb r2, [r0, #0x2]\n" - " str r3, [sp]\n" - " str r3, [sp, #0x4]\n" - " str r3, [sp, #0x8]\n" - " str r3, [sp, #0xc]\n" - " add r0, r4, #0\n" - " mov r3, #0x20\n" - " bl CreateMon\n" - " mov r5, #0x0\n" - " add r6, r4, #0\n" - "._549:\n" - " add r1, r5, #0\n" - " add r1, r1, #0xd\n" - " lsl r4, r5, #0x1\n" - " ldr r0, ._553 + 32 @ gUnknown_Debug_2023B02\n" - " add r4, r4, r0\n" - " add r0, r6, #0\n" - " add r2, r4, #0\n" - " bl SetMonData\n" - " add r1, r5, #0\n" - " add r1, r1, #0x11\n" - " mov r2, #0x0\n" - " ldsh r0, [r4, r2]\n" - " lsl r2, r0, #0x1\n" - " add r2, r2, r0\n" - " lsl r2, r2, #0x2\n" - " ldr r0, ._553 + 36 @ gBattleMoves\n" - " add r2, r2, r0\n" - " add r0, r6, #0\n" - " bl SetMonData\n" - " add r5, r5, #0x1\n" - " cmp r5, #0x3\n" - " ble ._549 @cond_branch\n" - " ldr r2, ._553 + 28 @ gUnknown_Debug_2023A76\n" - " mov r4, #0x3c\n" - " ldsh r0, [r2, r4]\n" - " cmp r0, #0x1\n" - " beq ._550 @cond_branch\n" - " cmp r0, #0x2\n" - " beq ._551 @cond_branch\n" - " b ._555\n" - "._554:\n" - " .align 2, 0\n" - "._553:\n" - " .word gMain\n" - " .word gUnknown_Debug_030043A4\n" - " .word gUnknown_Debug_030043A8\n" - " .word debug_sub_8011498+1\n" - " .word gUnknown_Debug_030043A0\n" - " .word debug_sub_80108B8+1\n" - " .word gPlayerParty\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_2023B02\n" - " .word gBattleMoves+0x4\n" - "._550:\n" - " ldr r1, ._556 @ gCB2_AfterEvolution\n" - " ldr r0, ._556 + 4 @ debug_sub_80108B8\n" - " str r0, [r1]\n" - " ldr r0, ._556 + 8 @ gPlayerParty\n" - " ldrh r1, [r2, #0xa]\n" - " mov r2, #0x1\n" - " mov r3, #0x0\n" - " bl EvolutionScene\n" - " b ._555\n" - "._557:\n" - " .align 2, 0\n" - "._556:\n" - " .word gCB2_AfterEvolution\n" - " .word debug_sub_80108B8+1\n" - " .word gPlayerParty\n" - "._551:\n" - " bl debug_sub_8012688\n" - "._555:\n" - " ldr r0, ._565 @ gUnknown_Debug_030043A0\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x1\n" - " bne ._559 @cond_branch\n" - " ldr r0, ._565 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r0, [r0]\n" - " cmp r0, #0x6\n" - " bne ._559 @cond_branch\n" - " ldr r3, ._565 + 8 @ gSaveBlock2\n" - " ldrb r2, [r3, #0x15]\n" - " lsl r0, r2, #0x1d\n" - " lsr r5, r0, #0x1f\n" - " lsl r0, r2, #0x1f\n" - " lsr r0, r0, #0x1f\n" - " lsl r0, r0, #0x1\n" - " orr r5, r5, r0\n" - " add r5, r5, #0x1\n" - " cmp r5, #0x4\n" - " bne ._560 @cond_branch\n" - " mov r5, #0x0\n" - "._560:\n" - " mov r0, #0x1\n" - " add r1, r5, #0\n" - " and r1, r1, r0\n" - " lsl r1, r1, #0x2\n" - " mov r0, #0x5\n" - " neg r0, r0\n" - " and r0, r0, r2\n" - " orr r0, r0, r1\n" - " mov r1, #0x2\n" - " and r5, r5, r1\n" - " lsr r2, r5, #0x1\n" - " sub r1, r1, #0x4\n" - " and r0, r0, r1\n" - " orr r0, r0, r2\n" - " strb r0, [r3, #0x15]\n" - " lsl r0, r0, #0x1f\n" - " lsr r0, r0, #0x1f\n" - " bl SetPokemonCryStereo\n" - " bl debug_nullsub_3\n" - "._559:\n" - " ldr r4, ._565 + 12 @ gMain\n" - " ldrh r0, [r4, #0x2a]\n" - " cmp r0, #0x8\n" - " bne ._561 @cond_branch\n" - " bl debug_sub_801174C\n" - "._561:\n" - " ldrh r0, [r4, #0x2a]\n" - " cmp r0, #0x40\n" - " bne ._562 @cond_branch\n" - " bl debug_sub_80125E4\n" - " ldr r1, ._565 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._563 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._564\n" - "._566:\n" - " .align 2, 0\n" - "._565:\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - " .word gSaveBlock2\n" - " .word gMain\n" - "._563:\n" - " mov r0, #0x6\n" - "._564:\n" - " strb r0, [r1]\n" - " bl debug_sub_8011E74\n" - " ldr r0, ._570 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - " bl debug_sub_80125A0\n" - "._562:\n" - " ldr r0, ._570 + 4 @ gMain\n" - " ldrh r0, [r0, #0x2a]\n" - " cmp r0, #0x80\n" - " bne ._567 @cond_branch\n" - " bl debug_sub_80125E4\n" - " ldr r1, ._570 @ gUnknown_Debug_030043A4\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x6\n" - " bne ._568 @cond_branch\n" - " mov r0, #0x0\n" - " b ._569\n" - "._571:\n" - " .align 2, 0\n" - "._570:\n" - " .word gUnknown_Debug_030043A4\n" - " .word gMain\n" - "._568:\n" - " add r0, r0, #0x1\n" - "._569:\n" - " strb r0, [r1]\n" - " bl debug_sub_8011E74\n" - " ldr r0, ._575 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - " bl debug_sub_80125A0\n" - "._567:\n" - " ldr r0, ._575 + 4 @ gMain\n" - " ldrh r0, [r0, #0x2a]\n" - " cmp r0, #0x20\n" - " bne ._572 @cond_branch\n" - " bl debug_sub_80125E4\n" - " ldr r2, ._575 + 8 @ gUnknown_Debug_030043A0\n" - " ldrb r0, [r2]\n" - " add r1, r0, #0\n" - " cmp r1, #0\n" - " beq ._573 @cond_branch\n" - " sub r0, r0, #0x1\n" - " strb r0, [r2]\n" - " b ._577\n" - "._576:\n" - " .align 2, 0\n" - "._575:\n" - " .word gUnknown_Debug_030043A4\n" - " .word gMain\n" - " .word gUnknown_Debug_030043A0\n" - "._573:\n" - " ldr r3, ._581 @ gUnknown_Debug_03004360\n" - " ldrb r0, [r3]\n" - " cmp r0, #0\n" - " beq ._577 @cond_branch\n" - " strb r1, [r3]\n" - " mov r0, #0x4\n" - " strb r0, [r2]\n" - " ldr r0, ._581 + 4 @ gBattle_BG1_X\n" - " strh r1, [r0]\n" - " bl debug_sub_8011E5C\n" - " bl debug_sub_8011E74\n" - " ldr r0, ._581 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - "._577:\n" - " bl debug_sub_80125A0\n" - "._572:\n" - " ldr r0, ._581 + 12 @ gMain\n" - " ldrh r0, [r0, #0x2a]\n" - " cmp r0, #0x10\n" - " bne ._578 @cond_branch\n" - " bl debug_sub_80125E4\n" - " ldr r2, ._581 + 16 @ gUnknown_Debug_030043A0\n" - " ldrb r0, [r2]\n" - " cmp r0, #0x4\n" - " beq ._579 @cond_branch\n" - " add r0, r0, #0x1\n" - " strb r0, [r2]\n" - " b ._583\n" - "._582:\n" - " .align 2, 0\n" - "._581:\n" - " .word gUnknown_Debug_03004360\n" - " .word gBattle_BG1_X\n" - " .word gUnknown_Debug_030043A4\n" - " .word gMain\n" - " .word gUnknown_Debug_030043A0\n" - "._579:\n" - " ldr r3, ._587 @ gUnknown_Debug_03004360\n" - " ldrb r1, [r3]\n" - " cmp r1, #0\n" - " bne ._583 @cond_branch\n" - " mov r0, #0x1\n" - " strb r0, [r3]\n" - " strb r1, [r2]\n" - " ldr r1, ._587 + 4 @ gBattle_BG1_X\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x1\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " bl debug_sub_8011E5C\n" - " bl debug_sub_8011E74\n" - " ldr r0, ._587 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - "._583:\n" - " bl debug_sub_80125A0\n" - "._578:\n" - " ldr r0, ._587 + 12 @ gMain\n" - " ldrh r1, [r0, #0x30]\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._584 @cond_branch\n" - " b ._607\n" - "._584:\n" - " ldr r0, ._587 + 16 @ gUnknown_Debug_030043A0\n" - " ldrb r2, [r0]\n" - " ldr r0, ._587 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r2, r0\n" - " sub r0, r0, #0x1e\n" - " cmp r0, #0x4\n" - " bhi ._586 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._587 + 20 @ \n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._588:\n" - " .align 2, 0\n" - "._587:\n" - " .word gUnknown_Debug_03004360\n" - " .word gBattle_BG1_X\n" - " .word gUnknown_Debug_030043A4\n" - " .word gMain\n" - " .word gUnknown_Debug_030043A0\n" - " .word ._589\n" - "._589:\n" - " .word ._590\n" - " .word ._591\n" - " .word ._592\n" - " .word ._593\n" - " .word ._594\n" - "._591:\n" - " bl debug_sub_8010818\n" - " b ._595\n" - "._592:\n" - " ldr r1, ._597 @ gUnknown_Debug_2023A76\n" - " mov r0, #0x1f\n" - " mov r2, #0xec\n" - " bl debug_sub_80132C8\n" - "._595:\n" - " bl debug_sub_8011E5C\n" - " bl debug_sub_8011E74\n" - " bl debug_sub_8012540\n" - " bl debug_nullsub_3\n" - " ldr r0, ._597 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - " b ._607\n" - "._598:\n" - " .align 2, 0\n" - "._597:\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_030043A4\n" - "._593:\n" - " ldr r1, ._600 @ gUnknown_Debug_2023A76\n" - " mov r0, #0x1f\n" - " mov r2, #0xec\n" - " bl debug_sub_8013294\n" - " b ._607\n" - "._601:\n" - " .align 2, 0\n" - "._600:\n" - " .word gUnknown_Debug_2023A76\n" - "._594:\n" - " ldr r3, ._604 @ gUnknown_Debug_2023A76\n" - " add r2, r3, #0\n" - " add r2, r2, #0x44\n" - " ldrh r1, [r2]\n" - " mov r4, #0x0\n" - " ldsh r0, [r2, r4]\n" - " cmp r0, #0\n" - " beq ._602 @cond_branch\n" - " sub r0, r1, #1\n" - " strh r0, [r2]\n" - " add r1, r3, #0\n" - " add r1, r1, #0x8a\n" - " ldrh r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r1]\n" - " b ._603\n" - "._605:\n" - " .align 2, 0\n" - "._604:\n" - " .word gUnknown_Debug_2023A76\n" - "._602:\n" - " mov r1, #0x8\n" - " strh r1, [r2]\n" - " add r0, r3, #0\n" - " add r0, r0, #0x8a\n" - " strh r1, [r0]\n" - "._603:\n" - " bl debug_sub_8012540\n" - " b ._607\n" - "._590:\n" - " mov r0, #0x0\n" - " bl debug_sub_8010B80\n" - " ldr r2, ._608 @ gUnknown_Debug_030043A0\n" - " ldr r0, ._608 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r2, [r2]\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " b ._607\n" - "._609:\n" - " .align 2, 0\n" - "._608:\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - "._586:\n" - " cmp r2, #0x4\n" - " bne ._611 @cond_branch\n" - " cmp r1, #0x5\n" - " bhi ._611 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_sub_8010AAC\n" - " b ._613\n" - "._611:\n" - " ldr r6, ._618 @ gUnknown_Debug_2023A76\n" - " ldr r5, ._618 + 4 @ gUnknown_Debug_030043A0\n" - " ldr r4, ._618 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r0, [r4]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " ldrb r0, [r5]\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x1\n" - " ldr r2, ._618 + 12 @ gUnknown_Debug_03004360\n" - " ldrb r0, [r2]\n" - " mov r3, #0x46\n" - " mul r0, r0, r3\n" - " add r1, r1, r0\n" - " add r1, r1, r6\n" - " ldrh r0, [r1]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r1]\n" - " ldrb r0, [r4]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " ldrb r5, [r5]\n" - " add r1, r1, r5\n" - " lsl r0, r1, #0x1\n" - " ldrb r2, [r2]\n" - " mul r2, r2, r3\n" - " add r0, r0, r2\n" - " add r3, r0, r6\n" - " mov r4, #0x0\n" - " ldsh r2, [r3, r4]\n" - " ldr r4, ._618 + 16 @ gUnknown_Debug_821F424\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r1, r0, #0x1\n" - " add r0, r4, #0\n" - " add r0, r0, #0x8\n" - " add r0, r1, r0\n" - " ldrh r0, [r0]\n" - " cmp r2, r0\n" - " bge ._613 @cond_branch\n" - " add r0, r4, #6\n" - " add r0, r1, r0\n" - " ldrh r0, [r0]\n" - " strh r0, [r3]\n" - "._613:\n" - " ldr r5, ._618 + 4 @ gUnknown_Debug_030043A0\n" - " ldrb r0, [r5]\n" - " cmp r0, #0\n" - " bne ._614 @cond_branch\n" - " mov r0, #0x0\n" - " bl debug_sub_8010AAC\n" - " ldr r0, ._618 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r0, #0x4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - "._614:\n" - " ldr r4, ._618 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r5, [r5]\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - "._607:\n" - " ldr r0, ._618 + 20 @ gMain\n" - " ldrh r1, [r0, #0x30]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._615 @cond_branch\n" - " b ._638\n" - "._615:\n" - " ldr r0, ._618 + 4 @ gUnknown_Debug_030043A0\n" - " ldrb r2, [r0]\n" - " ldr r0, ._618 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r2, r0\n" - " sub r0, r0, #0x1e\n" - " cmp r0, #0x4\n" - " bhi ._617 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._618 + 24 @ \n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._619:\n" - " .align 2, 0\n" - "._618:\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - " .word gUnknown_Debug_03004360\n" - " .word gUnknown_Debug_821F424\n" - " .word gMain\n" - " .word ._620\n" - "._620:\n" - " .word ._621\n" - " .word ._622\n" - " .word ._623\n" - " .word ._624\n" - " .word ._625\n" - "._622:\n" - " bl debug_sub_8010818\n" - " b ._626\n" - "._623:\n" - " ldr r1, ._628 @ gUnknown_Debug_2023A76\n" - " mov r0, #0x1f\n" - " mov r2, #0xec\n" - " bl debug_sub_80132C8\n" - "._626:\n" - " bl debug_sub_8011E5C\n" - " bl debug_sub_8011E74\n" - " bl debug_sub_8012540\n" - " bl debug_nullsub_3\n" - " ldr r0, ._628 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - " b ._638\n" - "._629:\n" - " .align 2, 0\n" - "._628:\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_030043A4\n" - "._624:\n" - " ldr r1, ._631 @ gUnknown_Debug_2023A76\n" - " mov r0, #0x1f\n" - " mov r2, #0xec\n" - " bl debug_sub_8013294\n" - " b ._638\n" - "._632:\n" - " .align 2, 0\n" - "._631:\n" - " .word gUnknown_Debug_2023A76\n" - "._625:\n" - " ldr r3, ._635 @ gUnknown_Debug_2023A76\n" - " add r2, r3, #0\n" - " add r2, r2, #0x44\n" - " ldrh r1, [r2]\n" - " mov r4, #0x0\n" - " ldsh r0, [r2, r4]\n" - " cmp r0, #0x7\n" - " bgt ._633 @cond_branch\n" - " add r0, r1, #1\n" - " strh r0, [r2]\n" - " add r1, r3, #0\n" - " add r1, r1, #0x8a\n" - " ldrh r0, [r1]\n" - " add r0, r0, #0x1\n" - " strh r0, [r1]\n" - " b ._634\n" - "._636:\n" - " .align 2, 0\n" - "._635:\n" - " .word gUnknown_Debug_2023A76\n" - "._633:\n" - " mov r1, #0x0\n" - " strh r1, [r2]\n" - " add r0, r3, #0\n" - " add r0, r0, #0x8a\n" - " strh r1, [r0]\n" - "._634:\n" - " bl debug_sub_8012540\n" - " b ._638\n" - "._621:\n" - " mov r0, #0x1\n" - " bl debug_sub_8010B80\n" - " ldr r2, ._639 @ gUnknown_Debug_030043A0\n" - " ldr r0, ._639 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r2, [r2]\n" - " add r0, r0, r2\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " b ._638\n" - "._640:\n" - " .align 2, 0\n" - "._639:\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - "._617:\n" - " cmp r2, #0x4\n" - " bne ._642 @cond_branch\n" - " cmp r1, #0x5\n" - " bhi ._642 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_sub_8010AAC\n" - " b ._644\n" - "._642:\n" - " ldr r6, ._650 @ gUnknown_Debug_2023A76\n" - " ldr r5, ._650 + 4 @ gUnknown_Debug_030043A0\n" - " ldr r4, ._650 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r0, [r4]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " ldrb r0, [r5]\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x1\n" - " ldr r2, ._650 + 12 @ gUnknown_Debug_03004360\n" - " ldrb r0, [r2]\n" - " mov r3, #0x46\n" - " mul r0, r0, r3\n" - " add r1, r1, r0\n" - " add r1, r1, r6\n" - " ldrh r0, [r1]\n" - " add r0, r0, #0x1\n" - " strh r0, [r1]\n" - " ldrb r0, [r4]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " ldrb r5, [r5]\n" - " add r1, r1, r5\n" - " lsl r0, r1, #0x1\n" - " ldrb r2, [r2]\n" - " mul r2, r2, r3\n" - " add r0, r0, r2\n" - " add r3, r0, r6\n" - " mov r4, #0x0\n" - " ldsh r2, [r3, r4]\n" - " ldr r4, ._650 + 16 @ gUnknown_Debug_821F424\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r1, r0, #0x1\n" - " add r0, r4, #6\n" - " add r0, r1, r0\n" - " ldrh r0, [r0]\n" - " cmp r2, r0\n" - " ble ._644 @cond_branch\n" - " add r0, r4, #0\n" - " add r0, r0, #0x8\n" - " add r0, r1, r0\n" - " ldrh r0, [r0]\n" - " strh r0, [r3]\n" - "._644:\n" - " ldr r5, ._650 + 4 @ gUnknown_Debug_030043A0\n" - " ldrb r0, [r5]\n" - " cmp r0, #0\n" - " bne ._645 @cond_branch\n" - " mov r0, #0x0\n" - " bl debug_sub_8010AAC\n" - " ldr r0, ._650 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r0, #0x4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - "._645:\n" - " ldr r4, ._650 + 8 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r5, [r5]\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - "._638:\n" - " ldr r0, ._650 + 20 @ gMain\n" - " ldrh r1, [r0, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._646 @cond_branch\n" - " ldr r0, ._650 + 4 @ gUnknown_Debug_030043A0\n" - " ldrb r1, [r0]\n" - " ldr r2, ._650 + 8 @ gUnknown_Debug_030043A4\n" - " mov r8, r2\n" - " add r7, r0, #0\n" - " cmp r1, #0x4\n" - " bne ._648 @cond_branch\n" - " ldrb r0, [r2]\n" - " cmp r0, #0x5\n" - " bhi ._648 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_sub_8010AAC\n" - " b ._653\n" - "._651:\n" - " .align 2, 0\n" - "._650:\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - " .word gUnknown_Debug_03004360\n" - " .word gUnknown_Debug_821F424\n" - " .word gMain\n" - "._648:\n" - " mov r4, r8\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r1, [r7]\n" - " add r0, r0, r1\n" - " cmp r0, #0x1e\n" - " bne ._652 @cond_branch\n" - " mov r0, #0x2\n" - " bl debug_sub_8010B80\n" - " b ._653\n" - "._652:\n" - " ldr r4, ._655 @ gUnknown_Debug_2023A76\n" - " lsl r1, r0, #0x1\n" - " ldr r3, ._655 + 4 @ gUnknown_Debug_03004360\n" - " ldrb r2, [r3]\n" - " mov r0, #0x46\n" - " mul r0, r0, r2\n" - " add r1, r1, r0\n" - " add r1, r1, r4\n" - " ldrh r0, [r1]\n" - " sub r0, r0, #0xa\n" - " strh r0, [r1]\n" - " add r6, r3, #0\n" - " ldr r5, ._655 + 8 @ gUnknown_Debug_821F424\n" - " b ._654\n" - "._656:\n" - " .align 2, 0\n" - "._655:\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_03004360\n" - " .word gUnknown_Debug_821F424\n" - "._657:\n" - " add r0, r5, #6\n" - " add r0, r1, r0\n" - " ldrh r0, [r0]\n" - " ldrh r2, [r3]\n" - " add r0, r0, r2\n" - " strh r0, [r3]\n" - "._654:\n" - " mov r1, r8\n" - " ldrb r0, [r1]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " ldrb r2, [r7]\n" - " add r1, r1, r2\n" - " lsl r2, r1, #0x1\n" - " ldrb r3, [r6]\n" - " mov r0, #0x46\n" - " mul r0, r0, r3\n" - " add r2, r2, r0\n" - " add r3, r2, r4\n" - " mov r0, #0x0\n" - " ldsh r2, [r3, r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r1, r0, #0x1\n" - " add r0, r5, #0\n" - " add r0, r0, #0x8\n" - " add r0, r1, r0\n" - " ldrh r0, [r0]\n" - " cmp r2, r0\n" - " blt ._657 @cond_branch\n" - "._653:\n" - " ldr r5, ._663 @ gUnknown_Debug_030043A0\n" - " ldrb r0, [r5]\n" - " cmp r0, #0\n" - " bne ._658 @cond_branch\n" - " mov r0, #0x0\n" - " bl debug_sub_8010AAC\n" - " ldr r0, ._663 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r0, #0x4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - "._658:\n" - " ldr r4, ._663 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r5, [r5]\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - "._646:\n" - " ldr r0, ._663 + 8 @ gMain\n" - " ldrh r1, [r0, #0x30]\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._659 @cond_branch\n" - " ldr r0, ._663 @ gUnknown_Debug_030043A0\n" - " ldrb r1, [r0]\n" - " ldr r2, ._663 + 4 @ gUnknown_Debug_030043A4\n" - " mov r8, r2\n" - " add r7, r0, #0\n" - " cmp r1, #0x4\n" - " bne ._661 @cond_branch\n" - " ldrb r0, [r2]\n" - " cmp r0, #0x5\n" - " bhi ._661 @cond_branch\n" - " mov r0, #0x1\n" - " bl debug_sub_8010AAC\n" - " b ._666\n" - "._664:\n" - " .align 2, 0\n" - "._663:\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - " .word gMain\n" - "._661:\n" - " mov r4, r8\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r1, [r7]\n" - " add r0, r0, r1\n" - " cmp r0, #0x1e\n" - " bne ._665 @cond_branch\n" - " mov r0, #0x3\n" - " bl debug_sub_8010B80\n" - " b ._666\n" - "._665:\n" - " ldr r4, ._668 @ gUnknown_Debug_2023A76\n" - " lsl r1, r0, #0x1\n" - " ldr r3, ._668 + 4 @ gUnknown_Debug_03004360\n" - " ldrb r2, [r3]\n" - " mov r0, #0x46\n" - " mul r0, r0, r2\n" - " add r1, r1, r0\n" - " add r1, r1, r4\n" - " ldrh r0, [r1]\n" - " add r0, r0, #0xa\n" - " strh r0, [r1]\n" - " add r6, r3, #0\n" - " ldr r5, ._668 + 8 @ gUnknown_Debug_821F424\n" - " b ._667\n" - "._669:\n" - " .align 2, 0\n" - "._668:\n" - " .word gUnknown_Debug_2023A76\n" - " .word gUnknown_Debug_03004360\n" - " .word gUnknown_Debug_821F424\n" - "._670:\n" - " ldrh r0, [r3]\n" - " sub r0, r0, r1\n" - " strh r0, [r3]\n" - "._667:\n" - " mov r2, r8\n" - " ldrb r0, [r2]\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " ldrb r0, [r7]\n" - " add r1, r1, r0\n" - " lsl r2, r1, #0x1\n" - " ldrb r3, [r6]\n" - " mov r0, #0x46\n" - " mul r0, r0, r3\n" - " add r2, r2, r0\n" - " add r3, r2, r4\n" - " mov r0, #0x0\n" - " ldsh r2, [r3, r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x1\n" - " add r1, r5, #6\n" - " add r0, r0, r1\n" - " ldrh r1, [r0]\n" - " cmp r2, r1\n" - " bgt ._670 @cond_branch\n" - "._666:\n" - " ldr r5, ._672 @ gUnknown_Debug_030043A0\n" - " ldrb r0, [r5]\n" - " cmp r0, #0\n" - " bne ._671 @cond_branch\n" - " mov r0, #0x0\n" - " bl debug_sub_8010AAC\n" - " ldr r0, ._672 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r0]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " add r0, r0, #0x4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - "._671:\n" - " ldr r4, ._672 + 4 @ gUnknown_Debug_030043A4\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " ldrb r5, [r5]\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_8011EA0\n" - " ldrb r1, [r4]\n" - " lsl r0, r1, #0x2\n" - " add r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl debug_sub_80123D8\n" - "._659:\n" - " bl AnimateSprites\n" - " bl BuildOamBuffer\n" - " add sp, sp, #0x10\n" - " pop {r3}\n" - " mov r8, r3\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._673:\n" - " .align 2, 0\n" - "._672:\n" - " .word gUnknown_Debug_030043A0\n" - " .word gUnknown_Debug_030043A4\n" - "\n" - ); + s32 r5; + + if (gMain.heldKeysRaw == 0x204) + DoSoftReset(); + if (gMain.newKeysRaw == 4) + { + if (gUnknown_Debug_030043A4 < 6) + { + gUnknown_Debug_030043A8 = 0; + debug_sub_8012628(); + SetMainCallback2(debug_sub_8011498); + } + //_546 + if (gUnknown_Debug_030043A0 == 0 && gUnknown_Debug_030043A4 == 6) + { + gMain.savedCallback = debug_sub_80108B8; + CreateMon( + &gPlayerParty[0], + gUnknown_Debug_2023A76_[0][0][0], + gUnknown_Debug_2023A76_[0][0][1], + 32, + 0, 0, 0, 0); + for (r5 = 0; r5 < 4; r5++) + { + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1 + r5, &gUnknown_Debug_2023B02[0][0][r5]); + SetMonData(&gPlayerParty[0], MON_DATA_PP1 + r5, &gBattleMoves[gUnknown_Debug_2023B02[0][0][r5]].pp); + } + switch (gUnknown_Debug_2023A76_[0][6][0]) + { + case 1: //_550 + gCB2_AfterEvolution = debug_sub_80108B8; + EvolutionScene(&gPlayerParty[0], gUnknown_Debug_2023A76_[0][1][0], 1, 0); + break; + case 2: //_551 + debug_sub_8012688(); + break; + } + } + //_555 + if (gUnknown_Debug_030043A0 == 1 && gUnknown_Debug_030043A4 == 6) + { + // This is really weird + r5 = (gSaveBlock2.optionsBattleSceneOff | (gSaveBlock2.optionsSound << 1)); + r5++; + if (r5 == 4) + r5 = 0; + gSaveBlock2.optionsBattleSceneOff = (r5 & 1); + gSaveBlock2.optionsSound = (r5 & 2) >> 1; + SetPokemonCryStereo(gSaveBlock2.optionsSound); + debug_nullsub_3(); + } + } + //_559 + if (gMain.newKeysRaw == 8) + debug_sub_801174C(); + if (gMain.newKeysRaw == 0x40) + { + debug_sub_80125E4(); + if (gUnknown_Debug_030043A4 != 0) + gUnknown_Debug_030043A4--; + else + gUnknown_Debug_030043A4 = 6; + debug_sub_8011E74(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + debug_sub_80125A0(); + } + //_562 + if (gMain.newKeysRaw == 0x80) + { + debug_sub_80125E4(); + if (gUnknown_Debug_030043A4 == 6) + gUnknown_Debug_030043A4 = 0; + else + gUnknown_Debug_030043A4++; + debug_sub_8011E74(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + debug_sub_80125A0(); + } + //_567 + if (gMain.newKeysRaw == 0x20) + { + debug_sub_80125E4(); + if (gUnknown_Debug_030043A0 != 0) + { + gUnknown_Debug_030043A0--; + } + else + { + if (gUnknown_Debug_03004360 != 0) + { + gUnknown_Debug_03004360 = 0; + gUnknown_Debug_030043A0 = 4; + gBattle_BG1_X = 0; + debug_sub_8011E5C(); + debug_sub_8011E74(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + } + } + //_577 + debug_sub_80125A0(); + } + //_572 + if (gMain.newKeysRaw == 0x10) + { + debug_sub_80125E4(); + if (gUnknown_Debug_030043A0 != 4) + { + gUnknown_Debug_030043A0++; + } + else + { + if (gUnknown_Debug_03004360 == 0) + { + gUnknown_Debug_03004360 = 1; + gUnknown_Debug_030043A0 = 0; + gBattle_BG1_X = 0x100; + debug_sub_8011E5C(); + debug_sub_8011E74(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + } + } + debug_sub_80125A0(); + } + //_578 + if (gMain.newAndRepeatedKeys & B_BUTTON) + { + switch (gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5) + { + case 31: + debug_sub_8010818(); + debug_sub_8011E5C(); + debug_sub_8011E74(); + debug_sub_8012540(); + debug_nullsub_3(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + break; + case 32: + debug_sub_80132C8(31, gUnknown_Debug_2023A76, 0xEC); + debug_sub_8011E5C(); + debug_sub_8011E74(); + debug_sub_8012540(); + debug_nullsub_3(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + break; + case 33: + debug_sub_8013294(31, gUnknown_Debug_2023A76, 0xEC); + break; + case 34: + if (gUnknown_Debug_2023A76_[0][6][4] != 0) + { + gUnknown_Debug_2023A76_[0][6][4]--; + gUnknown_Debug_2023A76_[1][6][4]--; + } + else + { + gUnknown_Debug_2023A76_[0][6][4] = 8; + gUnknown_Debug_2023A76_[1][6][4] = 8; + } + debug_sub_8012540(); + break; + case 30: + debug_sub_8010B80(0); + debug_sub_8011EA0(gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5); + break; + default: + if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6) + { + debug_sub_8010AAC(1); + } + else + { + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5]--; + if (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] < gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][4]) + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] = gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3]; + } + //_613 + if (gUnknown_Debug_030043A0 == 0) + { + debug_sub_8010AAC(0); + debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4); + } + debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + break; + } + } + //_607 + if (gMain.newAndRepeatedKeys & A_BUTTON) + { + switch (gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5) + { + case 31: + debug_sub_8010818(); + debug_sub_8011E5C(); + debug_sub_8011E74(); + debug_sub_8012540(); + debug_nullsub_3(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + break; + case 32: + debug_sub_80132C8(31, gUnknown_Debug_2023A76, 0xEC); + debug_sub_8011E5C(); + debug_sub_8011E74(); + debug_sub_8012540(); + debug_nullsub_3(); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + break; + case 33: + debug_sub_8013294(31, gUnknown_Debug_2023A76, 0xEC); + break; + case 34: + if (gUnknown_Debug_2023A76_[0][6][4] < 8) + { + gUnknown_Debug_2023A76_[0][6][4]++; + gUnknown_Debug_2023A76_[1][6][4]++; + } + else + { + gUnknown_Debug_2023A76_[0][6][4] = 0; + gUnknown_Debug_2023A76_[1][6][4] = 0; + } + debug_sub_8012540(); + break; + case 30: + debug_sub_8010B80(1); + debug_sub_8011EA0(gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5); + break; + default: + if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6) + { + debug_sub_8010AAC(1); + } + else + { + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5]++; + if (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] > gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3]) + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] = gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][4]; + } + //_644 + if (gUnknown_Debug_030043A0 == 0) + { + debug_sub_8010AAC(0); + debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4); + } + //_645 + debug_sub_8011EA0(gUnknown_Debug_030043A0 + gUnknown_Debug_030043A4 * 5); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + break; + } + } + //_638 + if (gMain.newAndRepeatedKeys & 0x200) + { + if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6) + { + debug_sub_8010AAC(1); + } + //_648 + else + { + if (gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0 == 30) + { + debug_sub_8010B80(2); + } + //_652 + else + { + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] -= 10; + while (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] < gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][4]) + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] += gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3]; + } + } + //_653 + if (gUnknown_Debug_030043A0 == 0) + { + debug_sub_8010AAC(0); + debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4); + } + //_658 + debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + } + //_646 + if (gMain.newAndRepeatedKeys & 0x100) + { + if (gUnknown_Debug_030043A0 == 4 && gUnknown_Debug_030043A4 < 6) + { + debug_sub_8010AAC(1); + } + //_661 + else + { + if (gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0 == 30) + { + debug_sub_8010B80(3); + } + //_665 + else + { + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] += 10; + while (gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] > gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3]) + gUnknown_Debug_2023A76[gUnknown_Debug_03004360][gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0] -= gUnknown_Debug_821F424[gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0][3]; + } + } + //_666 + if (gUnknown_Debug_030043A0 == 0) + { + debug_sub_8010AAC(0); + debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + 4); + } + //_671 + debug_sub_8011EA0(gUnknown_Debug_030043A4 * 5 + gUnknown_Debug_030043A0); + debug_sub_80123D8(gUnknown_Debug_030043A4 * 5); + } + //_659 + AnimateSprites(); + BuildOamBuffer(); } __attribute__((naked)) -- cgit v1.2.3 From 9a8ec555e68fb143ffe900c778ddb85d5bd145a5 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 6 Feb 2018 19:23:54 -0600 Subject: fix bss memory locations --- src/debug/nakamura_debug_menu.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index b8c4ed73e..550ac7bbd 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -15,6 +15,7 @@ EWRAM_DATA u16 _nakamuraDataC = 0; __attribute__((unused)) static u8 _nakamuraStatic0[0x18]; __attribute__((unused)) static u8 _nakamuraStatic18; +__attribute__((unused)) static u8 gDebugFiller3000814[4]; asm(".global _nakamuraStatic0"); asm(".global _nakamuraStatic18"); -- cgit v1.2.3 From fbf34c79f3a9a290cdaae612d589a1b48411e41f Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 6 Feb 2018 21:30:46 -0800 Subject: Finish decompiling fight.s --- src/battle/anim/fight.c | 364 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 358 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index fcce044ae..b20813fcb 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -1,18 +1,14 @@ #include "global.h" #include "battle_anim.h" -#include "blend_palette.h" -#include "decompress.h" -#include "ewram.h" -#include "palette.h" #include "random.h" #include "rom_8077ABC.h" -#include "scanline_effect.h" -#include "sound.h" #include "sprite.h" +#include "task.h" #include "trig.h" #include "constants/battle_constants.h" extern s16 gBattleAnimArgs[]; +extern u8 gBankAttacker; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern u8 gObjectBankIDs[]; @@ -21,6 +17,8 @@ extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; +extern u16 gBattle_BG3_X; +extern u16 gBattle_BG3_Y; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; extern u16 gBattlePartyID[]; @@ -34,6 +32,12 @@ static void sub_80D9404(struct Sprite *sprite); static void sub_80D9474(struct Sprite *sprite); static void sub_80D94CC(struct Sprite *sprite); static void sub_80D9524(struct Sprite *sprite); +static void sub_80D9640(struct Sprite *sprite); +static void sub_80D97A0(struct Sprite *sprite); +static void sub_80D986C(struct Sprite *sprite); +static void sub_80D9934(struct Sprite *sprite); +static void sub_80D99F4(struct Sprite *sprite); + void sub_080B08A0(struct Sprite *sprite) { @@ -293,3 +297,351 @@ void sub_80D9540(struct Sprite *sprite) DestroyAnimSprite(sprite); } } + +void sub_80D95D0(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + } + else + { + sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); + sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + } + + sprite->pos1.x += gBattleAnimArgs[1]; + sprite->pos1.y += gBattleAnimArgs[2]; + + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = 0; + sprite->callback = sub_80D9640; +} + +static void sub_80D9640(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (--sprite->data[1] == 0) + { + if (sprite->data[2] == 0) + DestroyAnimSprite(sprite); + else + sprite->data[0]++; + } + break; + case 1: + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + sprite->data[3]++; + if (sprite->data[3] & 1) + sprite->pos2.x = 2; + else + sprite->pos2.x = -2; + } + + if (--sprite->data[2] == 0) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_80D96B8(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; + } + else + { + sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3]; + } + + sprite->oam.tileNum += gBattleAnimArgs[1] * 16; + sprite->data[0] = 0; + + switch (gBattleAnimArgs[1]) + { + case 0: + sprite->data[6] = -3; + sprite->data[7] = -3; + break; + case 1: + sprite->data[6] = 3; + sprite->data[7] = -3; + break; + case 2: + sprite->data[6] = -3; + sprite->data[7] = 3; + break; + case 3: + sprite->data[6] = 3; + sprite->data[7] = 3; + break; + default: + DestroyAnimSprite(sprite); + return; + } + + sprite->callback = sub_80D97A0; +} + +static void sub_80D97A0(struct Sprite *sprite) +{ + sprite->pos1.x += sprite->data[6]; + sprite->pos1.y += sprite->data[7]; + + if (++sprite->data[0] > 40) + DestroyAnimSprite(sprite); +} + +void sub_80D97CC(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gBankAttacker, 2); + sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); + sprite->data[7] = gAnimBankTarget; + } + else + { + sprite->oam.priority = sub_8079ED4(gAnimBankTarget); + sprite->data[7] = gAnimBankAttacker; + } + + sprite->data[0] = 0; + sprite->data[1] = 12; + sprite->data[2] = 8; + sprite->callback = sub_80D986C; +} + +static void sub_80D986C(struct Sprite *sprite) +{ + if (++sprite->data[0] == 180) + { + REG_BLDCNT = 0; + + sprite->data[0] = 16; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBankPosition(sprite->data[7], 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBankPosition(sprite->data[7], 3); + + obj_translate_based_on_private_1_2_3_4(sprite); + StoreSpriteCallbackInData(sprite, move_anim_8074EE0); + sprite->callback = sub_8078BB8; + } +} + +void sub_80D98D8(struct Sprite *sprite) +{ + sprite->pos1.x = gBattleAnimArgs[0]; + sprite->pos1.y = 120; + + sprite->data[0] = gBattleAnimArgs[3]; + sub_8079BF4(&sprite->data[4], &sprite->data[5], (void *)(sprite->pos1.y << 8)); + + sprite->data[6] = gBattleAnimArgs[1]; + sprite->oam.tileNum += gBattleAnimArgs[2] * 4; + + sprite->callback = sub_80D9934; +} + +static void sub_80D9934(struct Sprite *sprite) +{ + void *var0; + + if (sprite->data[0] != 0) + { + var0 = sub_8079BFC(sprite->data[4], sprite->data[5]); + var0 -= sprite->data[6]; + sub_8079BF4(&sprite->data[4], &sprite->data[5], var0); + + var0 = (void *)(((intptr_t)var0) >> 8); + sprite->pos1.y = (intptr_t)var0; + if (sprite->pos1.y < -8) + DestroyAnimSprite(sprite); + else + sprite->data[0]--; + } + else + { + s16 pos0 = GetBankPosition(gAnimBankAttacker, 2); + s16 pos1 = GetBankPosition(gAnimBankAttacker, 3); + s16 pos2 = GetBankPosition(gAnimBankTarget, 2); + s16 pos3 = GetBankPosition(gAnimBankTarget, 3); + + sprite->data[0] = pos2 - pos0; + sprite->data[1] = pos3 - pos1; + sprite->data[2] = sprite->pos1.x << 4; + sprite->data[3] = sprite->pos1.y << 4; + + sprite->callback = sub_80D99F4; + } +} + +static void sub_80D99F4(struct Sprite *sprite) +{ + u16 edgeX; + + sprite->data[2] += sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->pos1.x = sprite->data[2] >> 4; + sprite->pos1.y = sprite->data[3] >> 4; + + edgeX = sprite->pos1.x + 8; + if (edgeX > 256 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + DestroyAnimSprite(sprite); +} + +void sub_80D9A38(struct Sprite *sprite) +{ + u8 bank; + + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBankPosition(gBankAttacker, 2); + sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + bank = gAnimBankTarget; + sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); + } + else + { + bank = gAnimBankAttacker; + sprite->oam.priority = sub_8079ED4(gAnimBankTarget); + } + + if (IsContest()) + sprite->oam.matrixNum |= 0x8; + else if (GetBankSide(bank) == SIDE_PLAYER) + sprite->oam.matrixNum |= 0x18; + + sprite->data[0] = 16; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBankPosition(bank, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBankPosition(bank, 3); + + obj_translate_based_on_private_1_2_3_4(sprite); + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + sprite->callback = sub_8078BB8; +} + +static void sub_80D9B24(struct Sprite *sprite) +{ + if (sprite->data[0] == sprite->data[4]) + DestroyAnimSprite(sprite); + + sprite->data[0]++; +} + +void sub_80D9B48(struct Sprite *sprite) +{ + u8 turn; + + sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); + sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[0]; + sprite->data[3] = gBattleAnimArgs[1]; + sprite->data[4] = gBattleAnimArgs[2]; + + turn = gAnimMoveTurn; + if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + turn++; + + if (turn & 1) + { + sprite->data[2] = -sprite->data[2]; + sprite->data[1]++; + } + + StartSpriteAnim(sprite, sprite->data[1]); + sprite->pos2.x = sprite->data[2]; + sprite->pos2.y = sprite->data[3]; + sprite->callback = sub_80D9B24; +} + +void sub_80D9BD4(struct Sprite *sprite) +{ + if (gBattleAnimArgs[2] == 0) + sub_80787B0(sprite, 0); + else + sub_8078764(sprite, 0); + + if (IsContest()) + { + StartSpriteAnim(sprite, 2); + } + else if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + { + StartSpriteAnim(sprite, 1); + } + + sprite->callback = sub_8078600; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D9C40(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + sprite->data[1] = (sprite->data[1] + 40) & 0xFF; + sprite->pos2.x = Sin(sprite->data[1], 2); + + if (++sprite->data[0] > 40) + { + DestroyAnimSprite(sprite); + } + } +} + +void sub_80D9C80(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_80789D4(0); + task->data[8] = gBattleAnimArgs[0]; + task->data[0]++; + break; + case 1: + if (--task->data[8] == -1) + task->data[0]++; + break; + case 2: + default: + task->data[9] += 1280; + break; + } + + task->data[10] += 2816; + + if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + gBattle_BG3_X += task->data[9] >> 8; + else + gBattle_BG3_X -= task->data[9] >> 8; + + gBattle_BG3_Y += task->data[10] >> 8; + + task->data[9] &= 0xFF; + task->data[10] &= 0xFF; + + if (gBattleAnimArgs[7] == -1) + { + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + sub_80789D4(1); + DestroyAnimVisualTask(taskId); + } +} -- cgit v1.2.3