Files
pokeruby/src/debug/start_menu_debug.c
T
2018-01-27 17:03:40 -06:00

6052 lines
147 KiB
C
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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