diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/debug/nakamura_debug_menu.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 2045933f7..6d5a27a30 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1,11 +1,13 @@ #if DEBUG #include "global.h" +#include "random.h" #include "palette.h" #include "main.h" #include "overworld.h" #include "start_menu.h" #include "party_menu.h" #include "choose_party.h" +#include "secret_base.h" #include "menu.h" typedef bool8 (*MenuFunc)(void); @@ -258,4 +260,58 @@ bool8 debug_sub_815F2B4(void) return TRUE; } +bool8 debug_sub_815F2F4(void) +{ + u8 i; + CloseMenu(); + + for (i = 1; i < 20; i++) + { + if (gSaveBlock1.secretBases[i].secretBaseId == 0) + { + u8 j; + + for (j = 0; j < 7; j++) + { + gSaveBlock1.secretBases[i].playerName[j] = gSaveBlock2.playerName[j]; + if (gSaveBlock1.secretBases[i].playerName[j] == EOS) + break; + } + + if (j == 7) + gSaveBlock1.secretBases[i].playerName[j - 1] = CHAR_A + i - 1; + else + gSaveBlock1.secretBases[i].playerName[j] = CHAR_A + i - 1; + + do + { + gSaveBlock1.secretBases[i].secretBaseId = _843E424[Random() % ARRAY_COUNT(_843E424)][0]; + + for (j = 0; j < i; j++) + { + if (gSaveBlock1.secretBases[i].secretBaseId == gSaveBlock1.secretBases[j].secretBaseId) + break; + } + } while (j != i); + + gSaveBlock1.secretBases[i].gender = Random() % 2; + + for (j = 0; j < 4; j++) + { + gSaveBlock1.secretBases[i].trainerId[j] = Random(); + } + + for (j = 0; j < 16; j++) + { + gSaveBlock1.secretBases[i].decorations[j] = 0; + gSaveBlock1.secretBases[i].decorationPos[j] = 0; + } + + unref_sub_80BCD7C(i); + } + } + + return TRUE; +} + #endif // DEBUG |