summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-04-12 20:40:26 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-04-12 20:40:26 -0400
commit53e2b61fae450b47876420d8646a98ef8a2c450a (patch)
tree4b602d32114ba7354911de83c9c93af95cec5d2c /src
parentbbab3e05fb5f459bbdefcc4dc3a0ea7a60c96f67 (diff)
through InitSizeComparison
Diffstat (limited to 'src')
-rw-r--r--src/debug/watanabe_debug_menu.c137
1 files changed, 136 insertions, 1 deletions
diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c
index 43d63dce4..582b65a3e 100644
--- a/src/debug/watanabe_debug_menu.c
+++ b/src/debug/watanabe_debug_menu.c
@@ -1,5 +1,8 @@
#if DEBUG
#include "global.h"
+#include "gba/flash_internal.h"
+#include "constants/species.h"
+#include "constants/songs.h"
#include "debug.h"
#include "palette.h"
#include "scanline_effect.h"
@@ -10,6 +13,10 @@
#include "menu.h"
#include "script.h"
#include "overworld.h"
+#include "data2.h"
+#include "fieldmap.h"
+#include "save.h"
+#include "sound.h"
EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 };
EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 };
@@ -18,9 +25,14 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 };
u8 byte_3005E30[0x20];
+extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶");
+extern const u8 gUnknown_Debug_083F7FD6[8]; // = _("ゆみあくひりつ");
+
extern const struct SpriteSheet stru_83F8828[2];
extern const struct SpritePalette stru_83F8838[2];
+void debug_80C3A50(u8 taskId);
+
void debug_69(struct Sprite *sprite)
{
@@ -102,7 +114,7 @@ void debug_80C376C(u16 a0, u8 a1, u8 a2)
bool8 r4;
for (i = 0; i < 3; i++)
- sp00[i] = 0;
+ sp00[i] = CHAR_SPACE;
sp00[3] = EOS;
r4 = FALSE;
@@ -124,4 +136,127 @@ void debug_80C376C(u16 a0, u8 a1, u8 a2)
Menu_PrintText(sp00, a1, a2);
}
+void debug_80C3800(u16 a0, u8 a1, u8 a2)
+{
+ u8 sp00[11];
+ u8 i;
+
+ for (i = 0; i < 10; i++)
+ sp00[i] = CHAR_SPACE;
+ sp00[i] = EOS;
+
+ for (i = 0; gSpeciesNames[a0][i] != EOS && i < 10; i++)
+ sp00[i] = gSpeciesNames[a0][i];
+
+ Menu_PrintText(sp00, a1, a2);
+}
+
+u16 debug_80C3878(u8 a0, u16 a1)
+{
+ switch (a0)
+ {
+ default:
+ case 0:
+ if (a1 > SPECIES_BULBASAUR)
+ a1--;
+ else
+ a1 = NUM_SPECIES - 1;
+ break;
+ case 1:
+ if (a1 < NUM_SPECIES - 1)
+ a1++;
+ else
+ a1 = SPECIES_BULBASAUR;
+ break;
+ }
+ return a1;
+}
+
+u16 debug_80C38B4(u8 a0, u16 a1)
+{
+ switch (a0)
+ {
+ default:
+ case 0:
+ if (a1)
+ a1--;
+ else
+ a1 = 0x52;
+ break;
+ case 1:
+ if (a1 < 0x52)
+ a1++;
+ else
+ a1 = 0;
+ break;
+ }
+ return a1;
+}
+
+void debug_80C38E4(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4)
+{
+ // u8 sp00[] = _("▶");
+ u8 sp00[2];
+
+ memcpy(sp00, gUnknown_Debug_083F7FD4, ARRAY_COUNT(gUnknown_Debug_083F7FD4));
+ Menu_BlankWindowRect(a1, a2, a1, a3);
+ if (a4)
+ Menu_PrintText(sp00, a1, a0);
+}
+
+void debug_80C393C(void)
+{
+ ProgramFlashSectorAndVerify(30, (void *)gUnknown_Debug_083F7FD6);
+}
+
+void InitWatanabeDebugMenu(void)
+{
+ switch (gMain.state)
+ {
+ default:
+ case 0:
+ save_serialize_map();
+ sub_8125E2C();
+ gMain.state = 1;
+ break;
+ case 1:
+ if (sub_8125E6C())
+ gMain.state++;
+ break;
+ case 2:
+ PlaySE(SE_SAVE);
+ gMain.state++;
+ break;
+ case 3:
+ if (!IsSEPlaying())
+ {
+ ScriptContext2_Disable();
+ SetMainCallback2(sub_80546F0);
+ }
+ break;
+ }
+}
+
+void InitSizeComparison(void)
+{
+ u8 taskId;
+ debug_80C35DC();
+ gReservedSpritePaletteCount = 1;
+ LoadPalette(gUnknown_Debug_20389EC, 0x100, 0x20);
+
+ {
+ u16 imeBak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imeBak;
+ }
+
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ SetVBlankCallback(debug_80C3758);
+ SetMainCallback2(debug_80C370C);
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON;
+ taskId = CreateTask(debug_80C3A50, 0);
+ gTasks[taskId].data[0] = 0xfc;
+}
+
#endif