#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 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" // Reset RTC "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; static const u8 *gUnknown_030006C4; __attribute__((unused)) static u8 gUnknown_030006C8; void debug_sub_8076AC8(u8 a) { s32 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); Menu_PrintItemsReordered(17, 1, r4, (struct MenuAction2 *)gUnknown_Debug_839BC94, gUnknown_030006C4); InitMenu(0, 17, 1, r4, 0, 12); } void debug_sub_8076B4C(void) { u8 taskId = FindTaskIdByFunc(debug_sub_8076BB4); if (taskId != 0xFF) DestroyTask(taskId); } // Initializes test menu void debug_sub_8076B68(void) { 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); } // Handles input for the test menu void debug_sub_8076BB4(u8 taskId) { 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; } } u8 DebugMenu_8076C6C(void) { SetMainCallback2(debug_sub_8010800); return 0; } u8 DebugMenu_8076C80(void) { debug_sub_8076B4C(); DebugMenu_8076FEC(); return 0; } u8 DebugMenu_8076C90(void) { if (gSaveFileStatus == SAVE_STATUS_ERROR) { PlaySE(0x16); } else { debug_sub_8076B4C(); SetMainCallback2(CB2_ContinueSavedGame); } return 0; } u8 DebugMenu_8076CBC(void) { return 0; } u8 DebugMenu_8076CC0(void) { SetMainCallback2(debug_nullsub_66); return 0; } u8 DebugMenu_8076CD4(void) { return 0; } u8 DebugMenu_8076CD8(void) { SetMainCallback2(unref_sub_80524BC); return 0; } u8 DebugMenu_8076CEC(void) { SetMainCallback2(CB2_InitMysteryEventMenu); return 0; } u8 DebugMenu_8076D00(void) { SetMainCallback2(debug_sub_815D15C); return 0; } u8 DebugMenu_8076D14(void) { SetMainCallback2(sub_804B790); return 0; } u8 DebugMenu_8076D28(void) { SetMainCallback2(LinkTestScreen); return 0; } u8 DebugMenu_8076D3C(void) { SetMainCallback2(CB2_StartSoundCheckMenu); return 0; } u8 DebugMenu_8076D50(void) { Save_EraseAllData(); return 0; } u8 DebugMenu_8076D5C(void) { debug_sub_8076B4C(); debug_sub_806F8F8(); return 0; } void DebugMenu_8076D6C(u8 taskId) { 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)) u8 DebugMenu_8076E18() { asm( " push {lr}\n" " bl debug_sub_8076B4C\n" " ldr r0, ._67 @ DebugMenu_8076D6C\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 @ gTasks\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 Menu_DisplayDialogueFrame\n" " ldr r0, ._78 @ Str_839BD5A\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" " b ._77\n" "._79:\n" " .align 2, 0\n" "._78:\n" " .word Str_839BD5A\n" "._69:\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 @ Str_839BD7D\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\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 Str_839BD7D\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 @ gMain\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)) u8 DebugMenu_8076EDC() { asm( " push {lr}\n" " bl debug_sub_8076B4C\n" " ldr r0, ._89 @ DebugMenu_8076E30\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 Menu_DrawStdWindowFrame\n" " ldr r4, ._93 @ gUnknown_Debug_839BDC4\n" " mov r0, #0x2\n" " mov r1, #0x1\n" " mov r2, #0x8\n" " add r3, r4, #0\n" " bl Menu_PrintItems\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_839BDC4\n" "\n" ); } __attribute__((naked)) void DebugMenu_8076F60() { asm( " push {r4, r5, lr}\n" " lsl r0, r0, #0x18\n" " lsr r5, r0, #0x18\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 ._97 @cond_branch\n" " add r0, r0, #0x1\n" " cmp r4, r0\n" " bne ._96 @cond_branch\n" " bl Menu_EraseScreen\n" " bl debug_sub_8076B68\n" " add r0, r5, #0\n" " bl DestroyTask\n" " b ._97\n" "._96:\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 @ gSaveBlock2\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_839BDC4\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 @ debug_sub_8058C00\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 @ DebugMenu_8076F60\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 @ gUnknown_030006C4\n" " ldr r0, ._106 + 4 @ gUnknown_030006C1\n" " ldrb r0, [r0]\n" " lsl r0, r0, #0x3\n" " ldr r1, ._106 + 8 @ gUnknown_Debug_839BB64\n" " add r0, r0, r1\n" " str r0, [r2]\n" " bx lr\n" "._107:\n" " .align 2, 0\n" "._106:\n" " .word gUnknown_030006C4 \n" " .word gUnknown_030006C1 \n" " .word gUnknown_Debug_839BB64\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 @ gMenuCallback\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 ._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 gMenuCallback\n" "\n" ); } __attribute__((naked)) void DebugMenu_8077048() { asm( " push {lr}\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 @ DebugMenu_8077020\n" " mov r1, #0x50\n" " bl CreateTask\n" " pop {r0}\n" " bx r0\n" "._112:\n" " .align 2, 0\n" "._111:\n" " .word gMenuCallback\n" " .word DebugMenu_807706C+1\n" " .word DebugMenu_8077020+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_807706C() { asm( " push {lr}\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 @ gMenuCallback\n" " ldr r0, ._113 + 8 @ DebugMenu_807709C\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" " bx r1\n" "._114:\n" " .align 2, 0\n" "._113:\n" " .word gWindowTemplate_81E6CE4\n" " .word gMenuCallback\n" " .word DebugMenu_807709C+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_807709C() { asm( " push {r4, lr}\n" " ldr r4, ._120 @ gMain\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 Menu_MoveCursor\n" " ldr r1, ._120 + 4 @ gUnknown_030006C0\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 Menu_MoveCursor\n" " ldr r1, ._120 + 4 @ gUnknown_030006C0\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 @ gUnknown_030006C1\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 gUnknown_030006C0 \n" " .word gUnknown_030006C1 \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 @ gMain\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 @ gUnknown_030006C1\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 gUnknown_030006C1 \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 @ gMain\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 @ gDebug0x839B9BC\n" " ldr r0, ._129 + 8 @ gUnknown_030006C0\n" " ldrb r2, [r0]\n" " ldr r0, ._129 + 12 @ gUnknown_030006C4\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 _call_via_r0\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 gUnknown_030006C0 \n" " .word gUnknown_030006C4 \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 Menu_DrawStdWindowFrame\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 @ gUnknown_030006C0\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 gUnknown_030006C4 \n" " .word gUnknown_030006C0 \n" "\n" ); } __attribute__((naked)) void DebugMenu_80771EC() { asm( " push {r4, lr}\n" " ldr r0, ._135 @ gStringVar4\n" " ldr r1, ._135 + 4 @ Str_839BE04\n" " bl StringCopy\n" " ldr r4, ._135 + 8 @ gSaveBlock1\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 Menu_DrawStdWindowFrame\n" " ldr r0, ._135 @ gStringVar4\n" " mov r1, #0x14\n" " mov r2, #0xd\n" " bl Menu_PrintText\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" "._136:\n" " .align 2, 0\n" "._135:\n" " .word gStringVar4\n" " .word Str_839BE04\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 @ 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 @ Str_839BE09\n" " mov r2, #0x3\n" " bl memcpy\n" " add r1, sp, #0x8\n" " mov sl, r1\n" " ldr r1, ._139 + 8 @ Str_839BE0C\n" " mov r0, sl\n" " mov r2, #0x3\n" " bl memcpy\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 @ gStringVar4\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 Menu_DrawStdWindowFrame\n" " ldr r0, ._139 + 12 @ gStringVar4\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 Menu_PrintText\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 Str_839BE07\n" " .word Str_839BE09\n" " .word Str_839BE0C\n" " .word gStringVar4\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_Exit() { asm( " push {lr}\n" " bl CloseMenu\n" " mov r0, #0x1\n" " pop {r1}\n" " bx r1\n" "\n" ); } __attribute__((naked)) u8 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)) u8 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)) u8 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)) u8 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)) u8 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)) u8 DebugMenu_OpenWatanabe() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._141 @ InitWatanabeDebugMenu\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)) u8 DebugMenu_EndSequenceDemo() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._143 @ sub_81439D0\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)) u8 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)) u8 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)) u8 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)) u8 DebugMenu_8077434() { asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" " bl Menu_GetCursorPos\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 @ Str_839BE0F\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 Str_839BE0F\n" "._152:\n" " ldr r0, ._160 @ Str_839BE12\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 Str_839BE12\n" "._153:\n" " ldr r0, ._163 @ Str_839BE16\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 Str_839BE16\n" "._154:\n" " ldr r0, ._166 @ Str_839BE1A\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 Str_839BE1A\n" "._155:\n" " ldr r0, ._168 @ Str_839BE1E\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 Str_839BE1E\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_807750C() { asm( " push {lr}\n" " ldr r0, ._170 @ gUnknown_Debug_839BE24\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_839BE24\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_SetRamBerry() { asm( " push {lr}\n" " ldr r0, ._172 @ gUnknown_Debug_839BE24\n" " mov r1, #0xc\n" " mov r2, #0x5\n" " bl DebugMenu_8077D24\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" " bx r1\n" "._173:\n" " .align 2, 0\n" "._172:\n" " .word gUnknown_Debug_839BE24\n" " .word gMenuCallback\n" " .word DebugMenu_807750C+1\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_ToggleBGM() { asm( " push {lr}\n" " ldr r2, ._175 @ gDisableMusic\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)) u8 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)) u8 DebugMenu_NationalDex() { asm( " push {r4, r5, lr}\n" " mov r4, #0x0\n" " ldr r5, ._178 @ 0x181\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 GetSetPokedexFlag\n" " add r0, r4, #0\n" " mov r1, #0x3\n" " bl GetSetPokedexFlag\n" " cmp r4, r5\n" " bls ._177 @cond_branch\n" " ldr r1, ._178 + 4 @ gUnknown_03005CE8\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)) u8 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 GetSetPokedexFlag\n" " add r0, r4, #0\n" " mov r1, #0x3\n" " bl GetSetPokedexFlag\n" " cmp r5, #0xc9\n" " bls ._180 @cond_branch\n" " ldr r1, ._181 @ gUnknown_03005CE8\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)) u8 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)) u8 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)) u8 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)) u8 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)) u8 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)) u8 DebugMenu_OpenAoki() { asm( " push {lr}\n" " bl CloseMenu\n" " mov r0, #0x1\n" " pop {r1}\n" " bx r1\n" "\n" ); } __attribute__((naked)) u8 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)) u8 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)) u8 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)) u8 DebugMenu_Teleport() { asm( " push {lr}\n" " bl Overworld_SetWarpDestToLastHealLoc\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)) u8 DebugMenu_EditPKMN() { asm( " push {lr}\n" " bl Menu_EraseScreen\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 @ Str_839BE4C\n" " mov r0, sp\n" " mov r2, #0x7\n" " bl memcpy\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 Menu_BlankWindowRect\n" " ldr r0, ._183 + 4 @ gUnknown_030006C8\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 Menu_PrintText\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 Str_839BE4C\n" " .word gUnknown_030006C8 \n" "\n" ); } __attribute__((naked)) void DebugMenu_8077704() { asm( " push {lr}\n" " add sp, sp, #0xffffffec\n" " ldr r1, ._185 @ Str_839BE53\n" " mov r0, sp\n" " mov r2, #0x11\n" " bl memcpy\n" " mov r0, #0x13\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x8\n" " bl Menu_BlankWindowRect\n" " mov r0, sp\n" " mov r1, #0x15\n" " mov r2, #0x0\n" " bl Menu_PrintText\n" " ldr r2, ._185 + 4 @ gUnknown_030006C8\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 Str_839BE53\n" " .word gUnknown_030006C8 \n" "\n" ); } __attribute__((naked)) u8 DebugMenu_8077760() { asm( " push {r4, r5, lr}\n" " ldr r2, ._190 @ gMain\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 Menu_MoveCursor\n" " ldr r1, ._190 + 4 @ gUnknown_030006B8\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 gUnknown_030006B8 \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 Menu_MoveCursor\n" " ldr r1, ._195 @ gUnknown_030006B8\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 gUnknown_030006B8 \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 @ gUnknown_030006C8\n" " bl Menu_GetCursorPos\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 Menu_GetCursorPos\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 @ 0xf0ff\n" " and r1, r1, r0\n" " ldr r0, ._201 @ gUnknown_030006C8\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 gUnknown_030006C8 \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)) u8 DebugMenu_SwitchBG() { asm( " push {lr}\n" " add sp, sp, #0xfffffff8\n" " bl Menu_EraseScreen\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 @ gMenuCallback\n" " ldr r0, ._203 + 4 @ DebugMenu_8077760\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 gMenuCallback\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 @ Str_839BE64\n" " mov r0, sp\n" " mov r2, #0x7\n" " bl memcpy\n" " mov r0, #0x19\n" " mov r1, #0x0\n" " mov r2, #0x1d\n" " mov r3, #0x3\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 Menu_PrintText\n" " add sp, sp, #0x8\n" " pop {r4}\n" " pop {r0}\n" " bx r0\n" "._206:\n" " .align 2, 0\n" "._205:\n" " .word Str_839BE64\n" "\n" ); } __attribute__((naked)) void DebugMenu_80778A8() { asm( " push {r4, lr}\n" " ldr r4, ._211 @ gMain\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 @ sWildEncountersDisabled\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)) u8 DebugMenu_ControlEncounter() { asm( " push {lr}\n" " bl Menu_EraseScreen\n" " ldr r0, ._213 @ sWildEncountersDisabled\n" " ldrb r0, [r0]\n" " bl DebugMenu_807786C\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" " bx r1\n" "._214:\n" " .align 2, 0\n" "._213:\n" " .word sWildEncountersDisabled\n" " .word gMenuCallback\n" " .word DebugMenu_80778A8+1\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_UseHM() { asm( " ldr r1, ._215 @ gMenuCallback\n" " ldr r0, ._215 + 4 @ DebugMenu_8077C14\n" " str r0, [r1]\n" " mov r0, #0x0\n" " bx lr\n" "._216:\n" " .align 2, 0\n" "._215:\n" " .word gMenuCallback\n" " .word DebugMenu_8077C14+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8077934() { asm( " push {lr}\n" " mov r1, #0x0\n" " ldr r3, ._218 @ gSaveBlock1\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 @ gSaveBlock1\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 Menu_EraseScreen\n" " ldr r1, ._226 @ gSaveBlock1\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 IsRematchTrainerIn\n" " cmp r0, #0\n" " beq ._224 @cond_branch\n" " ldr r0, ._226 + 4 @ gStringVar1\n" " ldr r1, ._226 + 8 @ Str_839BE8D\n" " bl StringCopy\n" " b ._225\n" "._227:\n" " .align 2, 0\n" "._226:\n" " .word gSaveBlock1\n" " .word gStringVar1\n" " .word Str_839BE8D\n" "._224:\n" " ldr r0, ._230 @ gStringVar1\n" " ldr r1, ._230 + 4 @ Str_839BE90\n" " bl StringCopy\n" "._225:\n" " ldr r1, ._230 + 8 @ gSaveBlock1\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 DoesSomeoneWantRematchIn\n" " cmp r0, #0\n" " beq ._228 @cond_branch\n" " ldr r0, ._230 + 12 @ gStringVar2\n" " ldr r1, ._230 + 16 @ Str_839BE8D\n" " bl StringCopy\n" " b ._229\n" "._231:\n" " .align 2, 0\n" "._230:\n" " .word gStringVar1\n" " .word Str_839BE90\n" " .word gSaveBlock1\n" " .word gStringVar2\n" " .word Str_839BE8D\n" "._228:\n" " ldr r0, ._232 @ gStringVar2\n" " ldr r1, ._232 + 4 @ Str_839BE90\n" " bl StringCopy\n" "._229:\n" " ldr r0, ._232 + 8 @ Str_839BE6B\n" " bl sub_8071F40\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" " bx r1\n" "._233:\n" " .align 2, 0\n" "._232:\n" " .word gStringVar2\n" " .word Str_839BE90\n" " .word Str_839BE6B\n" " .word gMenuCallback\n" " .word DebugMenu_8077DB4+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8077A20() { asm( " push {lr}\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" " 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 @ gSaveBlock1\n" " ldr r1, ._236 + 4 @ 0x978\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 @ gUnknown_Debug_839BEE4\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_839BEE4\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_RematchTrainers() { asm( " push {lr}\n" " bl Menu_EraseScreen\n" " ldr r0, ._240 @ gUnknown_Debug_839BEE4\n" " mov r1, #0xd\n" " mov r2, #0x5\n" " bl DebugMenu_8077D24\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" " bx r1\n" "._241:\n" " .align 2, 0\n" "._240:\n" " .word gUnknown_Debug_839BEE4\n" " .word gMenuCallback\n" " .word DebugMenu_8077A60+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8077A9C() { asm( " push {lr}\n" " ldr r1, ._242 @ gNumSafariBalls\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 @ gNumSafariBalls\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 @ gSafariZoneStepCounter\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 @ gSafariZoneStepCounter\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 Menu_EraseScreen\n" " bl unref_sub_80C853C\n" " cmp r0, #0\n" " beq ._250 @cond_branch\n" " ldr r0, ._252 @ Str_839BF14\n" " bl sub_8071F40\n" " b ._251\n" "._253:\n" " .align 2, 0\n" "._252:\n" " .word Str_839BF14\n" "._250:\n" " ldr r0, ._254 @ Str_839BF1F\n" " bl sub_8071F40\n" "._251:\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" " bx r1\n" "._255:\n" " .align 2, 0\n" "._254:\n" " .word Str_839BF1F\n" " .word gMenuCallback\n" " .word DebugMenu_8077DB4+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8077B3C() { asm( " push {lr}\n" " ldr r0, ._256 @ gUnknown_Debug_839BF6C\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_839BF6C\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_Safari() { asm( " push {lr}\n" " bl GetSafariZoneFlag\n" " cmp r0, #0\n" " beq ._258 @cond_branch\n" " bl Menu_EraseScreen\n" " ldr r0, ._260 @ gUnknown_Debug_839BF6C\n" " mov r1, #0xe\n" " mov r2, #0x5\n" " bl DebugMenu_8077D24\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 @ Str_839BF0C\n" " bl sub_8071F40\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" " b ._259\n" "._261:\n" " .align 2, 0\n" "._260:\n" " .word gUnknown_Debug_839BF6C\n" " .word gStringVar1\n" " .word gSafariZoneStepCounter\n" " .word Str_839BF0C\n" " .word gMenuCallback\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 @ gUnknown_Debug_839BF94\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_839BF94\n" "\n" ); } __attribute__((naked)) void DebugMenu_8077C14() { asm( " push {lr}\n" " bl Menu_EraseScreen\n" " ldr r0, ._264 @ gUnknown_Debug_839BF94\n" " mov r1, #0xa\n" " mov r2, #0x9\n" " bl DebugMenu_8077D24\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" " bx r1\n" "._265:\n" " .align 2, 0\n" "._264:\n" " .word gUnknown_Debug_839BF94\n" " .word gMenuCallback\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 @ gUnknown_030006BC\n" " ldr r1, ._271 + 4 @ gUnknown_Debug_839BFE8\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 @ gUnknown_030006BC\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 __divsi3\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 gUnknown_030006BC \n" " .word gUnknown_Debug_839BFE8\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 @ BuildDateTime\n" " ldr r6, ._273 + 4 @ gStringVar4\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 Menu_PrintText\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 Menu_EraseScreen\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 Menu_DrawStdWindowFrame\n" " mov r0, #0x1\n" " mov r1, #0x1\n" " add r2, r5, #0\n" " add r3, r6, #0\n" " bl Menu_PrintItems\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 Menu_ProcessInput\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 Menu_EraseScreen\n" " ldr r0, ._278 @ gMenuCallback\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 gMenuCallback\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 @ gMain\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 @ gMain\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)) u8 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 @ 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 @ gTasks\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 Menu_BlankWindowRect\n" " ldr r5, ._305 @ gStringVar1\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 Menu_PrintText\n" " add r0, r4, #0\n" " bl ItemId_GetItem\n" " mov r1, #0x8\n" " mov r2, #0x11\n" " bl Menu_PrintText\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 Menu_PrintText\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 @ gTasks\n" " add r4, r4, r0\n" " bl Menu_DisplayDialogueFrame\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 @ DebugMenu_8077F7C\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 @ gTasks\n" " add r4, r1, r0\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 @ 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 @ DebugMenu_8077FFC\n" " str r0, [r4]\n" " b ._317\n" "._312:\n" " .align 2, 0\n" "._311:\n" " .word gTasks\n" " .word gMain\n" " .word Str_839C014\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 @ DebugMenu_807806C\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 @ gTasks\n" " add r4, r1, r0\n" " ldr r2, ._321 + 4 @ gMain\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 @ DebugMenu_8077F40\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 Menu_EraseScreen\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 @ gSaveBlock1\n" " add r5, r1, r0\n" " bl Menu_EraseScreen\n" " mov r0, #0x0\n" " mov r1, #0x0\n" " mov r2, #0x13\n" " mov r3, #0x11\n" " bl Menu_DrawStdWindowFrame\n" " ldr r0, ._331 + 4 @ Str_839C01E\n" " mov r1, #0x2\n" " mov r2, #0x2\n" " bl Menu_PrintText\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 Menu_PrintText\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 Menu_PrintText\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 Menu_PrintText\n" " b ._330\n" "._332:\n" " .align 2, 0\n" "._331:\n" " .word gSaveBlock1+0x2ddc\n" " .word Str_839C01E\n" "._329:\n" " ldr r0, ._335 @ Str_839C04D\n" " mov r1, #0xb\n" " mov r2, #0x6\n" " bl Menu_PrintText\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 Menu_PrintText\n" " b ._334\n" "._336:\n" " .align 2, 0\n" "._335:\n" " .word Str_839C04D\n" "._333:\n" " ldr r0, ._337 @ Str_839C04D\n" " mov r1, #0xb\n" " mov r2, #0x8\n" " bl Menu_PrintText\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 Menu_PrintText\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 Menu_PrintText\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 Str_839C04D\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 @ gMain\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 Menu_EraseScreen\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 @ gTasks\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 @ gMain\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 @ DebugMenu_807817C\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 Menu_BlankWindowRect\n" " ldr r4, ._351 @ gStringVar1\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 Menu_PrintText\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)) u8 DebugMenu_ViewPortraits() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._353 @ DebugMenu_80781A8\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)) u8 DebugMenu_AllBadges() { asm( " push {lr}\n" " ldr r0, ._355 @ 0x807\n" " bl FlagSet\n" " ldr r0, ._355 + 4 @ 0x808\n" " bl FlagSet\n" " ldr r0, ._355 + 8 @ 0x809\n" " bl FlagSet\n" " ldr r0, ._355 + 12 @ 0x80a\n" " bl FlagSet\n" " ldr r0, ._355 + 16 @ 0x80b\n" " bl FlagSet\n" " ldr r0, ._355 + 20 @ 0x80c\n" " bl FlagSet\n" " ldr r0, ._355 + 24 @ 0x80d\n" " bl FlagSet\n" " ldr r0, ._355 + 28 @ 0x80e\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)) u8 DebugMenu_TimeRecords() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._357 @ debug_sub_806F9E4\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)) u8 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 @ gStringVar1\n" " mov r2, #0x0\n" " mov r3, #0x4\n" " bl ConvertIntToHexStringN\n" " ldr r0, ._359 + 4 @ Str_839C053\n" " bl sub_8071F40\n" " pop {r0}\n" " bx r0\n" "._360:\n" " .align 2, 0\n" "._359:\n" " .word gStringVar1\n" " .word Str_839C053\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 @ gTasks\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 @ 0x4024\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 @ 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 @ 0x4024\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 Menu_EraseScreen\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 @ 0xffff\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)) u8 DebugMenu_MiragaIslandRND() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._378 @ DebugMenu_8078310\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 @ gMain\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 @ 0x804\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 FlagClear\n" " mov r0, #0x1\n" " bl DebugMenu_807786C\n" "._382:\n" " ldr r0, ._388 @ gMain\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)) u8 DebugMenu_ToggleClearFlag() { asm( " push {lr}\n" " bl Menu_EraseScreen\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 @ gMenuCallback\n" " ldr r0, ._390 + 8 @ DebugMenu_80783C8\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 gMenuCallback\n" " .word DebugMenu_80783C8+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078464() { asm( " push {r4, lr}\n" " ldr r4, ._396 @ 0x82a\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 FlagClear\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)) u8 DebugMenu_OpenWeatherEvents() { asm( " push {lr}\n" " bl Menu_EraseScreen\n" " ldr r0, ._404 @ 0x82a\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 @ gMenuCallback\n" " ldr r0, ._404 + 8 @ DebugMenu_8078464\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 gMenuCallback\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)) u8 DebugMenu_OpenMysteryEvent() { asm( " push {lr}\n" " bl Menu_EraseScreen\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 @ gMenuCallback\n" " ldr r0, ._416 + 4 @ DebugMenu_80784E8\n" " str r0, [r1]\n" " mov r0, #0x0\n" " pop {r1}\n" " bx r1\n" "._417:\n" " .align 2, 0\n" "._416:\n" " .word gMenuCallback\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 @ gStringVar1\n" " add r1, r6, #0\n" " mov r2, #0x2\n" " mov r3, #0x2\n" " bl ConvertIntToDecimalStringN\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" " 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 @ gStringVar3\n" " ldr r1, ._420 + 16 @ Str_839C085\n" " bl StringCopy\n" " b ._423\n" "._421:\n" " .align 2, 0\n" "._420:\n" " .word gStringVar1\n" " .word gStringVar2\n" " .word gUnknown_Debug_839C26C\n" " .word gStringVar3\n" " .word Str_839C085\n" "._418:\n" " cmp r6, #0x1\n" " beq ._422 @cond_branch\n" " ldr r0, ._424 @ gStringVar3\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 @ gStringVar3\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 Menu_DisplayDialogueFrame\n" " ldr r0, ._426 + 4 @ Str_839C07C\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\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 Str_839C07C\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 @ gTasks\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 @ gMain\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 Menu_EraseScreen\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 @ 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 @ gUnknown_Debug_839C26C\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 gUnknown_Debug_839C26C\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 @ 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 @ gUnknown_Debug_839C26C\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 gUnknown_Debug_839C26C\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 @ DebugMenu_80786C0\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 @ DebugMenu_80786D0\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 @ DebugMenu_8078714\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 @ gUnknown_Debug_839C3FC\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 gUnknown_Debug_839C3FC\n" "\n" ); } __attribute__((naked)) u8 DebugMenu_OpenLegendsRecord() { asm( " push {lr}\n" " bl Menu_EraseScreen\n" " ldr r0, ._464 @ gUnknown_Debug_839C3FC\n" " mov r1, #0xc\n" " mov r2, #0x3\n" " bl DebugMenu_8077D24\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" " bx r1\n" "._465:\n" " .align 2, 0\n" "._464:\n" " .word gUnknown_Debug_839C3FC\n" " .word gMenuCallback\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 @ gSpecialVar_Result\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 @ gStringVar1\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 @ gStringVar2\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 @ gStringVar3\n" " ldrh r1, [r4]\n" " mov r2, #0x2\n" " mov r3, #0x4\n" " bl ConvertIntToHexStringN\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" " pop {r0}\n" " bx r0\n" "._467:\n" " .align 2, 0\n" "._466:\n" " .word gSpecialVar_Result\n" " .word gStringVar1\n" " .word gStringVar2\n" " .word gStringVar3\n" " .word gStringVar4\n" " .word Str_839C414\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 @ gTasks\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 Menu_DisplayDialogueFrame\n" " b ._476\n" "._468:\n" " ldr r0, ._478 @ gStringVar4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\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 @ gMain\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 Menu_EraseScreen\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)) u8 DebugMenu_CellInfo() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._483 @ DebugMenu_8078880\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)) u8 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 Menu_DrawStdWindowFrame\n" " add r0, r4, #0\n" " mov r1, #0x1\n" " mov r2, #0x1\n" " bl Menu_PrintText\n" " ldr r1, ._487 @ gMenuCallback\n" " ldr r0, ._487 + 4 @ DebugMenu_8077DB4\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 gMenuCallback\n" " .word DebugMenu_8077DB4+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078950() { asm( " push {lr}\n" " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._489 @ Str_839C42E\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl Menu_PrintText\n" " pop {r0}\n" " bx r0\n" "._490:\n" " .align 2, 0\n" "._489:\n" " .word Str_839C42E\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 @ gStringVar1\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 @ gStringVar1\n" " mov r1, #0x64\n" " mov r2, #0x2\n" " mov r3, #0x3\n" " bl ConvertIntToDecimalStringN\n" "._492:\n" " ldr r0, ._495 @ gStringVar1\n" " mov r1, #0x4\n" " mov r2, #0x11\n" " bl Menu_PrintText\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 @ gStringVar1\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 Menu_PrintText\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 @ gTasks\n" " add r5, r4, r6\n" " mov r0, #0x0\n" " strh r0, [r5]\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" " 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 @ DebugMenu_8078A14\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 @ gTasks\n" " add r2, r4, r5\n" " ldr r0, ._504 + 4 @ gMain\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 @ gSaveBlock2\n" " mov r3, #0x0\n" " ldsh r0, [r2, r3]\n" " lsl r0, r0, #0x1\n" " ldr r3, ._508 + 4 @ 0x55c\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 @ DebugMenu_8078AA4\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 @ DebugMenu_8078B38\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 @ 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 @ gMain\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 @ gSaveBlock2\n" " mov r2, #0x0\n" " ldsh r0, [r4, r2]\n" " lsl r0, r0, #0x1\n" " ldr r2, ._519 + 4 @ 0x55c\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 @ DebugMenu_8078B38\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 @ DebugMenu_8078A14\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 Menu_EraseScreen\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)) u8 DebugMenu_BattleTowerStages() { asm( " push {lr}\n" " bl CloseMenu\n" " bl ScriptContext2_Enable\n" " ldr r0, ._524 @ DebugMenu_80789CC\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 @ gStringVar1\n" " mov r2, #0x0\n" " mov r3, #0x1\n" " bl ConvertIntToHexStringN\n" " ldr r0, ._526 + 4 @ Str_839C438\n" " bl sub_8071F40\n" " pop {r0}\n" " bx r0\n" "._527:\n" " .align 2, 0\n" "._526:\n" " .word gStringVar1\n" " .word Str_839C438\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078B94() { asm( " push {r4, r5, lr}\n" " mov r3, #0x0\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 @ gSaveBlock1\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 gUnknown_Debug_839C444\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 @ gTasks\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 @ gMain\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 Menu_EraseScreen\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 Menu_EraseScreen\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)) u8 DebugMenu_CheckPKBLCK() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._546 @ DebugMenu_8078BD4\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 Menu_DisplayDialogueFrame\n" " ldr r0, ._548 @ Str_839C5A4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\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" " bx r1\n" "._549:\n" " .align 2, 0\n" "._548:\n" " .word Str_839C5A4\n" " .word gMenuCallback\n" " .word DebugMenu_8078CA8+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078CA8() { asm( " push {lr}\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 @ gMenuCallback\n" " ldr r0, ._552 + 8 @ DebugMenu_8078CE4\n" " str r0, [r1]\n" " mov r0, #0x0\n" " b ._555\n" "._553:\n" " .align 2, 0\n" "._552:\n" " .word gMain\n" " .word gMenuCallback\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 Str_839C5CC\n" "._556:\n" " ldr r0, ._560 @ gStringVar4\n" " ldr r1, ._560 + 4 @ Str_839C5DF\n" " bl StringCopy\n" "._557:\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" " bx r1\n" "._561:\n" " .align 2, 0\n" "._560:\n" " .word gStringVar4\n" " .word Str_839C5DF\n" " .word gMenuCallback\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 Str_839C5D6\n" " .word gMenuCallback\n" " .word DebugMenu_8078D7C+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078D7C() { asm( " push {lr}\n" " bl Menu_DisplayDialogueFrame\n" " ldr r0, ._565 @ gStringVar4\n" " mov r1, #0x2\n" " mov r2, #0xf\n" " bl Menu_PrintText\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" " bx r1\n" "._566:\n" " .align 2, 0\n" "._565:\n" " .word gStringVar4\n" " .word gMenuCallback\n" " .word DebugMenu_8078DA4+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078DA4() { asm( " push {lr}\n" " ldr r0, ._569 @ gMain\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)) u8 DebugMenu_MeTooBackupMan() { asm( " push {lr}\n" " bl Menu_EraseScreen\n" " ldr r0, ._571 @ gUnknown_Debug_839C594\n" " mov r1, #0xc\n" " mov r2, #0x2\n" " bl DebugMenu_8077D24\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" " bx r1\n" "._572:\n" " .align 2, 0\n" "._571:\n" " .word gUnknown_Debug_839C594\n" " .word gMenuCallback\n" " .word DebugMenu_8078DF0+1\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078DF0() { asm( " push {lr}\n" " ldr r0, ._573 @ gUnknown_Debug_839C594\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 gUnknown_Debug_839C594\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 @ 0xfffff000\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 ProgramFlashSectorAndVerify\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 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 m4aSoundVSyncOn\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 ReadFlash\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 Menu_BlankWindowRect\n" " ldr r1, ._581 @ gUnknown_Debug_839C5F4\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 gUnknown_Debug_839C5F4\n" "\n" ); } __attribute__((naked)) void DebugMenu_8078EB0() { asm( " push {r4, r5, lr}\n" " add r5, r0, #0\n" " ldr r4, ._583 @ gStringVar1\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 Menu_PrintText\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 Menu_PrintText\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 Menu_PrintText\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 @ gTasks\n" " add r5, r4, r6\n" " mov r0, #0x0\n" " strh r0, [r5]\n" " ldr r1, ._585 + 4 @ gSaveBlock2\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 Menu_DisplayDialogueFrame\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 @ DebugMenu_8078F68\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 @ gTasks\n" " add r4, r5, r6\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 @ gSaveBlock2\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 @ DebugMenu_8079020\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 @ gUnknown_Debug_839C5F4\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 gUnknown_Debug_839C5F4\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 Menu_EraseScreen\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)) u8 DebugMenu_PTime() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._604 @ DebugMenu_8078F1C\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 @ gTasks\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 @ gUnknown_Debug_03004BD0\n" " str r1, [r0]\n" " bl Menu_DisplayDialogueFrame\n" " b ._614\n" "._616:\n" " .align 2, 0\n" "._615:\n" " .word gUnknown_Debug_03004BD0\n" "._606:\n" " ldr r0, ._618 @ gDebug0x839C60C\n" " mov r1, #0x4\n" " mov r2, #0xf\n" " bl Menu_PrintText\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 Menu_ProcessInputNoWrap_\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 @ gUnknown_Debug_03004BD0\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 @ gUnknown_Debug_03004BD0\n" " mov r0, #0x0\n" "._622:\n" " str r0, [r1]\n" " bl Menu_EraseScreen\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)) u8 DebugMenu_OpenMurakawa() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._627 @ DebugMenu_8079058\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 @ gTasks\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 Menu_DisplayDialogueFrame\n" " b ._637\n" "._629:\n" " ldr r0, ._639 @ Str_839C61A\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 Str_839C61A\n" "._635:\n" " bl Menu_UpdateWindowText\n" " lsl r0, r0, #0x18\n" " cmp r0, #0\n" " beq ._642 @cond_branch\n" " ldr r0, ._643 @ gMain\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 Menu_EraseScreen\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)) u8 DebugMenu_OpenKiwa() { asm( " push {lr}\n" " bl CloseMenu\n" " ldr r0, ._645 @ DebugMenu_8079110\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" ); } #endif