summaryrefslogtreecommitdiff
path: root/src/start_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/start_menu.c')
-rw-r--r--src/start_menu.c62
1 files changed, 48 insertions, 14 deletions
diff --git a/src/start_menu.c b/src/start_menu.c
index d0e552591..4c5e30c8a 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -51,7 +51,6 @@ extern u16 gSaveFileStatus;
extern u16 gScriptResult;
extern u8 (*gCallback_03004AE8)(void);
extern u8 gUnknown_03004860;
-extern struct MenuItem gStartMenuItems[];
extern u8 gNumSafariBalls;
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
@@ -67,6 +66,41 @@ extern u8 gSaveText_ThereIsAlreadyAFile[];
extern u8 gSaveText_ThereIsADifferentFile[];
extern u8 gSaveText_WouldYouLikeToSave[];
extern u8 gOtherText_SafariStock[];
+extern u8 SystemText_Pokedex[];
+extern u8 SystemText_Pokemon[];
+extern u8 SystemText_BAG[];
+extern u8 SystemText_Pokenav[];
+extern u8 SystemText_Player[];
+extern u8 SystemText_Save[];
+extern u8 SystemText_Option[];
+extern u8 SystemText_Exit[];
+extern u8 SystemText_Retire[];
+extern u8 SystemText_Player[];
+
+static u8 StartMenu_PokedexCallback(void);
+static u8 StartMenu_PokemonCallback(void);
+static u8 StartMenu_BagCallback(void);
+static u8 StartMenu_PokenavCallback(void);
+static u8 StartMenu_PlayerCallback(void);
+static u8 StartMenu_SaveCallback(void);
+static u8 StartMenu_OptionCallback(void);
+static u8 StartMenu_ExitCallback(void);
+static u8 StartMenu_RetireCallback(void);
+static u8 StartMenu_PlayerLinkCallback(void);
+
+static const struct MenuItem sStartMenuItems[] =
+{
+ { SystemText_Pokedex, StartMenu_PokedexCallback },
+ { SystemText_Pokemon, StartMenu_PokemonCallback },
+ { SystemText_BAG, StartMenu_BagCallback },
+ { SystemText_Pokenav, StartMenu_PokenavCallback },
+ { SystemText_Player, StartMenu_PlayerCallback },
+ { SystemText_Save, StartMenu_SaveCallback },
+ { SystemText_Option, StartMenu_OptionCallback },
+ { SystemText_Exit, StartMenu_ExitCallback },
+ { SystemText_Retire, StartMenu_RetireCallback },
+ { SystemText_Player, StartMenu_PlayerLinkCallback },
+};
//Private functions
static void BuildStartMenuActions(void);
@@ -180,7 +214,7 @@ static bool32 PrintStartMenuItemsMultistep(s16 *index, u32 n)
do
{
- MenuPrint(gStartMenuItems[sCurrentStartMenuActions[_index]].text, 23, 2 + _index * 2);
+ MenuPrint(sStartMenuItems[sCurrentStartMenuActions[_index]].text, 23, 2 + _index * 2);
_index++;
if(_index >= sNumStartMenuActions)
{
@@ -303,12 +337,12 @@ static u8 StartMenu_InputProcessCallback(void)
if(gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- if(gStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].callback == StartMenu_PokedexCallback)
+ if(sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].callback == StartMenu_PokedexCallback)
{
if(GetNationalPokedexCount(0) == 0)
return 0;
}
- gCallback_03004AE8 = gStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].callback;
+ gCallback_03004AE8 = sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].callback;
if(gCallback_03004AE8 != StartMenu_SaveCallback &&
gCallback_03004AE8 != StartMenu_ExitCallback &&
gCallback_03004AE8 != StartMenu_RetireCallback)
@@ -324,7 +358,7 @@ static u8 StartMenu_InputProcessCallback(void)
}
//When player selects POKEDEX
-u8 StartMenu_PokedexCallback(void)
+static u8 StartMenu_PokedexCallback(void)
{
if(!gPaletteFade.active)
{
@@ -337,7 +371,7 @@ u8 StartMenu_PokedexCallback(void)
}
//When player selects POKEMON
-u8 StartMenu_PokemonCallback(void)
+static u8 StartMenu_PokemonCallback(void)
{
if(!gPaletteFade.active)
{
@@ -349,7 +383,7 @@ u8 StartMenu_PokemonCallback(void)
}
//When player selects BAG
-u8 StartMenu_BagCallback(void)
+static u8 StartMenu_BagCallback(void)
{
if(!gPaletteFade.active)
{
@@ -361,7 +395,7 @@ u8 StartMenu_BagCallback(void)
}
//When player selects POKENAV
-u8 StartMenu_PokenavCallback(void)
+static u8 StartMenu_PokenavCallback(void)
{
if(!gPaletteFade.active)
{
@@ -373,7 +407,7 @@ u8 StartMenu_PokenavCallback(void)
}
//When player selects his/her name
-u8 StartMenu_PlayerCallback(void)
+static u8 StartMenu_PlayerCallback(void)
{
if(!gPaletteFade.active)
{
@@ -385,7 +419,7 @@ u8 StartMenu_PlayerCallback(void)
}
//When player selects SAVE
-u8 StartMenu_SaveCallback(void)
+static u8 StartMenu_SaveCallback(void)
{
sub_8072DEC();
gCallback_03004AE8 = SaveCallback1;
@@ -393,7 +427,7 @@ u8 StartMenu_SaveCallback(void)
}
//When player selects OPTION
-u8 StartMenu_OptionCallback(void)
+static u8 StartMenu_OptionCallback(void)
{
if(!gPaletteFade.active)
{
@@ -406,14 +440,14 @@ u8 StartMenu_OptionCallback(void)
}
//When player selects EXIT
-u8 StartMenu_ExitCallback(void)
+static u8 StartMenu_ExitCallback(void)
{
CloseMenu();
return 1;
}
//When player selects RETIRE
-u8 StartMenu_RetireCallback(void)
+static u8 StartMenu_RetireCallback(void)
{
CloseMenu();
SafariZoneRetirePrompt();
@@ -421,7 +455,7 @@ u8 StartMenu_RetireCallback(void)
}
//When player selects their name in multiplayer mode
-u8 StartMenu_PlayerLinkCallback(void)
+static u8 StartMenu_PlayerLinkCallback(void)
{
if(!gPaletteFade.active)
{