diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-12 20:40:26 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-12 20:40:26 -0400 |
commit | 53e2b61fae450b47876420d8646a98ef8a2c450a (patch) | |
tree | 4b602d32114ba7354911de83c9c93af95cec5d2c /src | |
parent | bbab3e05fb5f459bbdefcc4dc3a0ea7a60c96f67 (diff) |
through InitSizeComparison
Diffstat (limited to 'src')
-rw-r--r-- | src/debug/watanabe_debug_menu.c | 137 |
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 |