summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_main.c8
-rw-r--r--src/field_effect.c4
-rw-r--r--src/field_specials.c2
-rw-r--r--src/help_system.c4
-rw-r--r--src/help_system_812B1E0.c2072
-rw-r--r--src/item_menu.c4
-rw-r--r--src/item_pc.c2
-rw-r--r--src/mail.c6
-rw-r--r--src/oak_speech.c2
-rw-r--r--src/option_menu.c2
-rw-r--r--src/party_menu.c2
-rw-r--r--src/player_pc.c36
-rw-r--r--src/pokedex_screen.c2
-rw-r--r--src/reshow_battle_screen.c8
-rw-r--r--src/start_menu.c16
-rw-r--r--src/teachy_tv.c2
-rw-r--r--src/title_screen.c2
-rw-r--r--src/trainer_card.c6
18 files changed, 1532 insertions, 648 deletions
diff --git a/src/battle_main.c b/src/battle_main.c
index 9c573dcba..bbfcf5cf9 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -641,17 +641,17 @@ void CB2_InitBattle(void)
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- HelpSystem_SetSomeVariable2(0x19);
+ SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_DOUBLE);
else
- HelpSystem_SetSomeVariable2(0x18);
+ SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_SINGLE);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
{
- HelpSystem_SetSomeVariable2(0x1A);
+ SetHelpContext(HELPCONTEXT_SAFARI_BATTLE);
}
else
{
- HelpSystem_SetSomeVariable2(0x17);
+ SetHelpContext(HELPCONTEXT_WILD_BATTLE);
}
}
}
diff --git a/src/field_effect.c b/src/field_effect.c
index 9b2974f1f..b28063626 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -1232,7 +1232,7 @@ static bool8 FallWarpEffect_7(struct Task * task)
{
VarSet(VAR_TEMP_1, 1);
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_SURFING);
- HelpSystem_SetSomeVariable2(22);
+ SetHelpContext(HELPCONTEXT_SURFING);
}
DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect));
return FALSE;
@@ -2963,7 +2963,7 @@ static void UseSurfEffect_5(struct Task * task)
ScriptContext2_Disable();
FieldEffectActiveListRemove(FLDEFF_USE_SURF);
DestroyTask(FindTaskIdByFunc(Task_FldEffUseSurf));
- HelpSystem_SetSomeVariable2(22);
+ SetHelpContext(HELPCONTEXT_SURFING);
}
}
diff --git a/src/field_specials.c b/src/field_specials.c
index 6d01bbee6..e8def2c39 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1518,7 +1518,7 @@ static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId)
void ForcePlayerToStartSurfing(void)
{
- HelpSystem_SetSomeVariable2(22);
+ SetHelpContext(HELPCONTEXT_SURFING);
SetPlayerAvatarTransitionFlags(8);
}
diff --git a/src/help_system.c b/src/help_system.c
index d68acbaa1..48483c387 100644
--- a/src/help_system.c
+++ b/src/help_system.c
@@ -90,7 +90,7 @@ u8 RunHelpSystemCallback(void)
HelpSystem_FillPanel2();
HelpSystem_PrintText_Row61(gString_Help);
sub_813BD14(1);
- if (sub_812B40C() == TRUE)
+ if (HelpSystem_UpdateHasntSeenIntro() == TRUE)
HelpSystemSubroutine_PrintWelcomeMessage(&gHelpSystemListMenu, gHelpSystemListMenuItems);
else
HelpSystemSubroutine_WelcomeEndGotoMenu(&gHelpSystemListMenu, gHelpSystemListMenuItems);
@@ -1184,7 +1184,7 @@ bool8 MoveCursor(u8 by, u8 dirn)
HelpSystem_FillPanel1();
PrintListMenuItems();
PlaceListMenuCursor();
- sub_812BDEC();
+ HelpSystem_PrintTopicLabel();
sub_813C75C();
}
else
diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c
index 5f5fdb989..88a1e75b7 100644
--- a/src/help_system_812B1E0.c
+++ b/src/help_system_812B1E0.c
@@ -16,17 +16,17 @@
#include "constants/maps.h"
#include "constants/songs.h"
-static EWRAM_DATA u16 sSomeVariable = 0;
-static EWRAM_DATA u8 gUnknown_203B0EE = 0;
+static EWRAM_DATA u16 sHelpSystemContextId = 0;
+static EWRAM_DATA u8 sSeenHelpSystemIntro = 0;
-u8 sHelpSystemState[4];
-u16 gSomeVariableBackup;
+u8 gHelpSystemState[4];
+u16 gHelpContextIdBackup;
static bool32 IsCurrentMapInArray(const u16 * mapIdxs);
static void BuildMainTopicsListAndMoveToH00(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
static void SetHelpSystemSubmenuItems(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
-static bool8 HelpSystem_HasDefeatedBrock(void);
-static bool8 HelpSystemSubmenuIndexIsActive(u8);
+static bool8 HelpSystem_ShouldShowBasicTerms(void);
+static bool8 IsHelpSystemSubmenuEnabled(u8);
static bool8 HasGottenAtLeastOneHM(void);
static void PrintWelcomeMessageOnPanel1(void);
@@ -34,22 +34,86 @@ static void PrintTextOnPanel2Row52RightAlign(const u8 *);
static void ResetHelpSystemCursor(struct HelpSystemListMenu * a0);
static void PrintHelpSystemTopicMouseoverDescription(struct HelpSystemListMenu * a0, struct ListMenuItem * a1);
-static const u8 *const sHelpSystemTopicPtrs[] = {
- Help_Text_WhatShouldIDo,
- Help_Text_HowDoIDoThis,
- Help_Text_WhatDoesThisTermMean,
- Help_Text_AboutThisGame,
- Help_Text_TypeMatchupList,
- Help_Text_Exit
-};
+#define HELP_NONE 0
+#define HELP_END 0xFF
-static const u8 *const sHelpSystemTopicMouseoverDescriptionPtrs[] = {
- Help_Text_DescWhatShouldIDo,
- Help_Text_DescHowDoIDoThis,
- Help_Text_DescWhatDoesThisTermMean,
- Help_Text_DescAboutThisGame,
- Help_Text_DescTypeMatchupList,
- Help_Text_DescExit
+// Help Main Topics
+enum
+{
+ TOPIC_WHAT_TO_DO,
+ TOPIC_HOW_TO_DO,
+ TOPIC_TERMS,
+ TOPIC_ABOUT_GAME,
+ TOPIC_TYPE_MATCHUP,
+ TOPIC_EXIT,
+ TOPIC_COUNT
+};
+
+static const u8 *const sHelpSystemTopicPtrs[TOPIC_COUNT] = {
+ [TOPIC_WHAT_TO_DO] = Help_Text_WhatShouldIDo,
+ [TOPIC_HOW_TO_DO] = Help_Text_HowDoIDoThis,
+ [TOPIC_TERMS] = Help_Text_WhatDoesThisTermMean,
+ [TOPIC_ABOUT_GAME] = Help_Text_AboutThisGame,
+ [TOPIC_TYPE_MATCHUP] = Help_Text_TypeMatchupList,
+ [TOPIC_EXIT] = Help_Text_Exit
+};
+
+static const u8 *const sHelpSystemTopicMouseoverDescriptionPtrs[TOPIC_COUNT] = {
+ [TOPIC_WHAT_TO_DO] = Help_Text_DescWhatShouldIDo,
+ [TOPIC_HOW_TO_DO] = Help_Text_DescHowDoIDoThis,
+ [TOPIC_TERMS] = Help_Text_DescWhatDoesThisTermMean,
+ [TOPIC_ABOUT_GAME] = Help_Text_DescAboutThisGame,
+ [TOPIC_TYPE_MATCHUP] = Help_Text_DescTypeMatchupList,
+ [TOPIC_EXIT] = Help_Text_DescExit
+};
+
+// Submenu IDs for TOPIC_WHAT_TO_DO
+enum
+{
+ HELP_PLAYING_FOR_FIRST_TIME = 1,
+ HELP_WHAT_SHOULD_I_BE_DOING,
+ HELP_CANT_GET_OUT_OF_ROOM,
+ HELP_CANT_FIND_PERSON_I_WANT,
+ HELP_TALKED_TO_EVERYONE_NOW_WHAT,
+ HELP_SOMEONE_BLOCKING_MY_WAY,
+ HELP_I_CANT_GO_ON,
+ HELP_OUT_OF_THINGS_TO_DO,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WHAT_ARE_MY_ADVENTURE_BASICS,
+ HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT,
+ HELP_HOW_ARE_CAVES_DIFFERENT,
+ HELP_HOW_DO_I_PROGRESS,
+ HELP_WHEN_CAN_I_USE_ITEM,
+ HELP_WHATS_A_BATTLE,
+ HELP_HOW_DO_I_PREPARE_FOR_BATTLE,
+ HELP_WHAT_IS_A_MONS_VITALITY,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_CANT_CATCH_MONS,
+ HELP_RAN_OUT_OF_POTIONS,
+ HELP_CAN_I_BUY_POKEBALLS,
+ HELP_WHATS_A_TRAINER,
+ HELP_HOW_DO_I_WIN_AGAINST_TRAINER,
+ HELP_WHERE_DO_MONS_APPEAR,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WHAT_ARE_HIDDEN_MOVES,
+ HELP_WHAT_MOVES_SHOULD_I_USE,
+ HELP_WANT_TO_ADD_MORE_MOVES,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_WHAT_DO_I_DO_IN_CAVE,
+ HELP_NOTHING_I_WANT_TO_KNOW,
+ HELP_WHATS_POKEMON_CENTER,
+ HELP_WHATS_POKEMON_MART,
+ HELP_WANT_TO_END_GAME,
+ HELP_WHATS_A_MON,
+ HELP_WHAT_IS_THAT_PERSON_LIKE,
+ HELP_WHAT_DOES_HIDDEN_MOVE_DO,
+ HELP_WHAT_DO_I_DO_IN_SAFARI,
+ HELP_WHAT_ARE_SAFARI_RULES,
+ HELP_WANT_TO_END_SAFARI,
+ HELP_WHAT_IS_A_GYM,
};
static const u8 *const sHelpSystemSpecializedQuestionTextPtrs[] = {
@@ -148,6 +212,59 @@ static const u8 *const sHelpSystemSpecializedAnswerTextPtrs[] = {
Help_Text_AnswerWhatIsAGym
};
+// Submenu IDs for TOPIC_HOW_TO_DO
+enum
+{
+ HELP_USING_POKEDEX = 1,
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_USING_SWITCH,
+ HELP_USING_ITEM,
+ HELP_USING_BAG,
+ HELP_USING_AN_ITEM,
+ HELP_USING_KEYITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_POTION,
+ HELP_USING_TOWN_MAP,
+ HELP_USING_TM,
+ HELP_USING_HM,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_RIDING_BICYCLE,
+ HELP_ENTERING_NAME,
+ HELP_USING_PC,
+ HELP_USING_BILLS_PC,
+ HELP_USING_WITHDRAW,
+ HELP_USING_DEPOSIT,
+ HELP_USING_MOVE,
+ HELP_MOVING_ITEMS,
+ HELP_USING_PLAYERS_PC,
+ HELP_USING_WITHDRAW_ITEM,
+ HELP_USING_DEPOSIT_ITEM,
+ HELP_USING_MAILBOX,
+ HELP_USING_PROF_OAKS_PC,
+ HELP_OPENING_MENU,
+ HELP_USING_FIGHT,
+ HELP_USING_POKEMON2,
+ HELP_USING_SHIFT,
+ HELP_USING_SUMMARY2,
+ HELP_USING_BAG2,
+ HELP_READING_POKEDEX,
+ HELP_USING_HOME_PC,
+ HELP_USING_ITEM_STORAGE,
+ HELP_USING_WITHDRAW_ITEM2,
+ HELP_USING_DEPOSIT_ITEM2,
+ HELP_USING_MAILBOX2,
+ HELP_USING_RUN,
+ HELP_REGISTER_KEY_ITEM,
+ HELP_USING_BALL,
+ HELP_USING_BAIT,
+ HELP_USING_ROCK,
+ HELP_USING_HALL_OF_FAME,
+};
+
static const u8 *const sHelpSystemMenuTopicTextPtrs[] = {
NULL,
Help_Text_UsingPokedex,
@@ -252,6 +369,54 @@ static const u8 *const sHelpSystemHowToUseMenuTextPtrs[] = {
Help_Text_HowToUseHallOfFame
};
+// Submenu IDs for TOPIC_TERMS
+enum
+{
+ HELP_TERM_HP = 1,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_ATTACK,
+ HELP_TERM_DEFENSE,
+ HELP_TERM_SPATK,
+ HELP_TERM_SPDEF,
+ HELP_TERM_SPEED,
+ HELP_TERM_LEVEL,
+ HELP_TERM_TYPE,
+ HELP_TERM_OT,
+ HELP_TERM_ITEM,
+ HELP_TERM_ABILITY,
+ HELP_TERM_MONEY,
+ HELP_TERM_MOVE_TYPE,
+ HELP_TERM_NATURE,
+ HELP_TERM_ID_NO,
+ HELP_TERM_PP,
+ HELP_TERM_POWER,
+ HELP_TERM_ACCURACY,
+ HELP_TERM_FNT,
+ HELP_TERM_ITEMS,
+ HELP_TERM_KEYITEMS,
+ HELP_TERM_POKEBALLS,
+ HELP_TERM_POKEDEX,
+ HELP_TERM_PLAY_TIME,
+ HELP_TERM_BADGES,
+ HELP_TERM_TEXT_SPEED,
+ HELP_TERM_BATTLE_SCENE,
+ HELP_TERM_BATTLE_STYLE,
+ HELP_TERM_SOUND,
+ HELP_TERM_BUTTON_MODE,
+ HELP_TERM_FRAME,
+ HELP_TERM_CANCEL,
+ HELP_TERM_TM,
+ HELP_TERM_HM,
+ HELP_TERM_HM_MOVE,
+ HELP_TERM_EVOLUTION,
+ HELP_TERM_STATUS_PROBLEM,
+ HELP_TERM_POKEMON,
+ HELP_TERM_ID_NO2,
+ HELP_TERM_MONEY2,
+ HELP_TERM_BADGES2,
+};
+
static const u8 *const sHelpSystemTermTextPtrs[] = {
NULL,
Help_Text_HP,
@@ -346,6 +511,18 @@ static const u8 *const sHelpSystemTermDefinitionsTextPtrs[] = {
Help_Text_DefineBadges2
};
+// Submenu IDs for TOPIC_ABOUT_GAME
+enum
+{
+ HELP_THE_HELP_SYSTEM = 1,
+ HELP_THE_GAME,
+ HELP_WIRELESS_ADAPTER,
+ HELP_GAME_FUNDAMENTALS_1,
+ HELP_GAME_FUNDAMENTALS_2,
+ HELP_GAME_FUNDAMENTALS_3,
+ HELP_WHAT_ARE_POKEMON,
+};
+
static const u8 *const sHelpSystemGeneralTopicTextPtrs[] = {
NULL,
Help_Text_TheHelpSystem,
@@ -368,6 +545,28 @@ static const u8 *const sHelpSystemGeneralTopicDescriptionTextPtrs[] = {
Help_Text_DescWhatArePokemon
};
+// An enum for the type matchups isn't necessary, when used they're always used in their entirety
+// Macro below is used to reference the entire group at once
+#define HELP_TYPE_MATCHUPS \
+ 1, \
+ 2, 3, \
+ 4, 5, \
+ 6, 7, \
+ 8, 9, \
+ 10, 11, \
+ 12, 13, \
+ 14, 15, \
+ 16, 17, \
+ 18, 19, \
+ 20, 21, \
+ 22, 23, \
+ 24, 25, \
+ 26, 27, \
+ 28, 29, \
+ 30, 31, \
+ 32, 33, \
+ 34, 35 \
+
static const u8 *const sHelpSystemTypeMatchupTextPtrs[] = {
NULL,
Help_Text_UsingTypeMatchupList,
@@ -446,381 +645,1049 @@ static const u8 *const sHelpSystemTypeMatchupDescriptionTextPtrs[] = {
Help_Text_TypeMatchupOwnPokemonBug
};
-static const u8 gUnknown_845B660[] = {
- 0x01, 0x02, 0x03, 0xff
-};
-
-static const u8 gUnknown_845B664[] = {
- 0x01, 0x02, 0x03, 0xff
-};
-
-static const u8 gUnknown_845B668[] = {
- 0x13, 0xff
-};
-
-static const u8 gUnknown_845B66A[] = {
- 0x01, 0x02, 0x03, 0xff
-};
-
-static const u8 gUnknown_845B66E[] = {
- 0x01, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B671[] = {
- 0x02, 0x03, 0x04, 0x05, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B677[] = {
- 0x09, 0x01, 0xff
-};
-
-static const u8 gUnknown_845B67A[] = {
- 0x02, 0x03, 0xff
-};
-
-static const u8 gUnknown_845B67D[] = {
- 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff
-};
-
-static const u8 gUnknown_845B684[] = {
- 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff
-};
-
-static const u8 gUnknown_845B68E[] = {
- 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff
-};
-
-static const u8 gUnknown_845B696[] = {
- 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff
-};
+static const u8 sAboutGame_TitleScreen[] = {
+ HELP_THE_HELP_SYSTEM,
+ HELP_THE_GAME,
+ HELP_WIRELESS_ADAPTER,
+ HELP_END
+};
-static const u8 gUnknown_845B6A1[] = {
- 0x16, 0x17, 0x18, 0xff
+static const u8 sAboutGame_NewGame[] = {
+ HELP_THE_HELP_SYSTEM,
+ HELP_THE_GAME,
+ HELP_WIRELESS_ADAPTER,
+ HELP_END
};
-static const u8 gUnknown_845B6A5[] = {
- 0x0a, 0xff
+static const u8 sHowTo_NamingScreen[] = {
+ HELP_ENTERING_NAME,
+ HELP_END
};
-static const u8 gUnknown_845B6A7[] = {
- 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff
+static const u8 sAboutGame_NamingScreen[] = {
+ HELP_THE_HELP_SYSTEM,
+ HELP_THE_GAME,
+ HELP_WIRELESS_ADAPTER,
+ HELP_END
};
-static const u8 gUnknown_845B6AD[] = {
- 0x0a, 0xff
+static const u8 sHowTo_Pokedex[] = {
+ HELP_USING_POKEDEX,
+ HELP_READING_POKEDEX,
+ HELP_END
};
-static const u8 gUnknown_845B6AF[] = {
- 0x0b, 0xff
+static const u8 sHowTo_PartyMenu[] = {
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_USING_SWITCH,
+ HELP_USING_ITEM,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
};
-static const u8 gUnknown_845B6B1[] = {
- 0x2b, 0x19, 0x1a, 0xff
+static const u8 sTerms_PartyMenu[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_END
};
-static const u8 gUnknown_845B6B5[] = {
- 0x0c, 0xff
+static const u8 sHowTo_PokemonInfo[] = {
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_END
};
-static const u8 gUnknown_845B6B7[] = {
- 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff
+static const u8 sTerms_PokemonInfo[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_TYPE,
+ HELP_TERM_OT,
+ HELP_TERM_ID_NO,
+ HELP_TERM_ITEM,
+ HELP_TERM_NATURE,
+ HELP_END
};
-static const u8 gUnknown_845B6BF[] = {
- 0x02, 0x03, 0x04, 0xff
+static const u8 sTerms_PokemonSkills[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_ATTACK,
+ HELP_TERM_DEFENSE,
+ HELP_TERM_SPATK,
+ HELP_TERM_SPDEF,
+ HELP_TERM_SPEED,
+ HELP_TERM_EXP,
+ HELP_TERM_ABILITY,
+ HELP_END
};
-static const u8 gUnknown_845B6C3[] = {
- 0x01, 0x02, 0x03, 0x07, 0xff
+static const u8 sTerms_PokemonMoves[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_MOVES,
+ HELP_TERM_TYPE,
+ HELP_TERM_MOVE_TYPE,
+ HELP_TERM_PP,
+ HELP_TERM_POWER,
+ HELP_TERM_ACCURACY,
+ HELP_END
};
-static const u8 gUnknown_845B6C8[] = {
- 0x02, 0x04, 0x05, 0x09, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B6CE[] = {
- 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B6E2[] = {
- 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff
-};
-
-static const u8 gUnknown_845B6E9[] = {
- 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B6F2[] = {
- 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff
-};
-
-static const u8 gUnknown_845B707[] = {
- 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff
-};
-
-static const u8 gUnknown_845B70E[] = {
- 0x03, 0x07, 0x04, 0x05, 0x06, 0xff
-};
-
-static const u8 gUnknown_845B714[] = {
- 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B71D[] = {
- 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B731[] = {
- 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B73D[] = {
- 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B744[] = {
- 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B758[] = {
- 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B75F[] = {
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff
-};
-
-static const u8 gUnknown_845B783[] = {
- 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B7A7[] = {
- 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B7BB[] = {
- 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B7C4[] = {
- 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B7E8[] = {
- 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B7F1[] = {
- 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff
-};
-
-static const u8 gUnknown_845B7FB[] = {
- 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B81A[] = {
- 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B823[] = {
- 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B82C[] = {
- 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff
-};
-
-static const u8 gUnknown_845B83E[] = {
- 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff
-};
-
-static const u8 gUnknown_845B847[] = {
- 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B850[] = {
- 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff
-};
-
-static const u8 gUnknown_845B85D[] = {
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff
-};
-
-static const u8 gUnknown_845B866[] = {
- 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B878[] = {
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff
-};
-
-static const u8 gUnknown_845B89C[] = {
- 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff
-};
-
-static const u8 gUnknown_845B8A7[] = {
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff
-};
-
-static const u8 gUnknown_845B8AF[] = {
- 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B8C1[] = {
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff
-};
-
-static const u8 gUnknown_845B8E5[] = {
- 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff
-};
-
-static const u8 gUnknown_845B8F0[] = {
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff
-};
-
-static const u8 gUnknown_845B8F8[] = {
- 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff
-};
-
-static const u8 gUnknown_845B90A[] = {
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff
-};
-
-static const u8 gUnknown_845B92E[] = {
- 0x29, 0x2a, 0x2b, 0xff
-};
-
-static const u8 gUnknown_845B932[] = {
- 0x2d, 0x2e, 0x2f, 0x2b, 0xff
-};
-
-static const u8 gUnknown_845B937[] = {
- 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff
-};
-
-static const u8 gUnknown_845B947[] = {
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff
-};
-
-static const u8 gUnknown_845B96B[] = {
- 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff
-};
-
-static const u8 gUnknown_845B978[] = {
- 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff
-};
-
-static const u8 gUnknown_845B985[] = {
- 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff
-};
-
-static const u8 gUnknown_845B992[] = {
- 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff
-};
-
-static const u8 gUnknown_845B99F[] = {
- 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff
-};
-
-static const u8 gUnknown_845B9AC[] = {
- 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff
-};
-
-static const u8 gUnknown_845B9B2[] = {
- 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff
-};
-
-static const u8 gUnknown_845B9B8[] = {
- 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff
-};
-
-static const u8 gUnknown_845B9BE[] = {
- 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff
-};
-
-static const u8 *const sHelpSystemSubmenuIndexPointers[] = {
- NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, gUnknown_845B660, NULL,
- NULL, NULL, NULL, gUnknown_845B664, NULL,
- NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL,
- NULL, gUnknown_845B66E, NULL, NULL, NULL,
- NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL,
- NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL,
- NULL, NULL, gUnknown_845B684, NULL, NULL,
- NULL, NULL, gUnknown_845B68E, NULL, NULL,
- NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL,
- NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL,
- NULL, gUnknown_845B6AD, NULL, NULL, NULL,
- NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL,
- NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL,
- gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL,
- gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL,
- gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL,
- gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL,
- gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F,
- gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL,
- gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL,
- gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL,
- gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL,
- gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878,
- gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1,
- gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A,
- gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947,
- NULL, gUnknown_845B96B, NULL, NULL, NULL,
- NULL, gUnknown_845B978, NULL, NULL, NULL,
- NULL, gUnknown_845B985, NULL, NULL, NULL,
- NULL, gUnknown_845B992, NULL, NULL, NULL,
- NULL, gUnknown_845B99F, NULL, NULL, NULL,
- NULL, gUnknown_845B9AC, NULL, NULL, NULL,
- NULL, gUnknown_845B9B2, NULL, NULL, NULL,
- NULL, gUnknown_845B9B8, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL
+static const u8 sHowTo_Bag[] = {
+ HELP_USING_BAG,
+ HELP_USING_AN_ITEM,
+ HELP_USING_KEYITEM,
+ HELP_REGISTER_KEY_ITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_POTION,
+ HELP_USING_TOWN_MAP,
+ HELP_USING_TM,
+ HELP_USING_HM,
+ HELP_RIDING_BICYCLE,
+ HELP_END
+};
+
+static const u8 sTerms_Bag[] = {
+ HELP_TERM_ITEMS,
+ HELP_TERM_KEYITEMS,
+ HELP_TERM_POKEBALLS,
+ HELP_END
+};
+
+static const u8 sHowTo_TrainerCardFront[] = {
+ HELP_USING_PLAYER,
+ HELP_END
+};
+
+static const u8 sTerms_TrainerCardFront[] = {
+ HELP_TERM_ID_NO,
+ HELP_TERM_MONEY,
+ HELP_TERM_POKEDEX,
+ HELP_TERM_PLAY_TIME,
+ HELP_TERM_BADGES,
+ HELP_END
+};
+
+static const u8 sHowTo_TrainerCardBack[] = {
+ HELP_USING_PLAYER,
+ HELP_END
+};
+
+static const u8 sHowTo_Save[] = {
+ HELP_USING_SAVE,
+ HELP_END
+};
+
+static const u8 sTerms_Save[] = {
+ HELP_TERM_BADGES2,
+ HELP_TERM_POKEDEX,
+ HELP_TERM_PLAY_TIME,
+ HELP_END
+};
+
+static const u8 sHowTo_Options[] = {
+ HELP_USING_OPTION,
+ HELP_END
+};
+
+static const u8 sTerms_Options[] = {
+ HELP_TERM_TEXT_SPEED,
+ HELP_TERM_BATTLE_SCENE,
+ HELP_TERM_BATTLE_STYLE,
+ HELP_TERM_SOUND,
+ HELP_TERM_BUTTON_MODE,
+ HELP_TERM_FRAME,
+ HELP_TERM_CANCEL,
+ HELP_END
+};
+
+static const u8 sWhatToDo_PlayersHouse[] = {
+ HELP_WHAT_SHOULD_I_BE_DOING,
+ HELP_CANT_GET_OUT_OF_ROOM,
+ HELP_CANT_FIND_PERSON_I_WANT,
+ HELP_END
+};
+
+static const u8 sAboutGame_PlayersHouse[] = {
+ HELP_THE_HELP_SYSTEM,
+ HELP_THE_GAME,
+ HELP_WIRELESS_ADAPTER,
+ HELP_WHAT_ARE_POKEMON,
+ HELP_END
+};
+
+static const u8 sWhatToDo_OaksLab[] = {
+ HELP_WHAT_SHOULD_I_BE_DOING,
+ HELP_CANT_FIND_PERSON_I_WANT,
+ HELP_TALKED_TO_EVERYONE_NOW_WHAT,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_OaksLab[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_USING_SWITCH,
+ HELP_USING_ITEM,
+ HELP_USING_BAG,
+ HELP_USING_AN_ITEM,
+ HELP_USING_KEYITEM,
+ HELP_REGISTER_KEY_ITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_POTION,
+ HELP_USING_TOWN_MAP,
+ HELP_USING_TM,
+ HELP_USING_HM,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
+};
+
+static const u8 sTerms_OaksLab[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_TYPE,
+ HELP_TERM_POKEMON,
+ HELP_END
+};
+
+static const u8 sWhatToDo_PokeCenter[] = {
+ HELP_WHAT_SHOULD_I_BE_DOING,
+ HELP_TALKED_TO_EVERYONE_NOW_WHAT,
+ HELP_SOMEONE_BLOCKING_MY_WAY,
+ HELP_WHAT_ARE_MY_ADVENTURE_BASICS,
+ HELP_WHATS_POKEMON_CENTER,
+ HELP_WHATS_POKEMON_MART,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_PokeCenter[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_USING_SWITCH,
+ HELP_USING_ITEM,
+ HELP_USING_BAG,
+ HELP_USING_AN_ITEM,
+ HELP_USING_KEYITEM,
+ HELP_REGISTER_KEY_ITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_POTION,
+ HELP_USING_TOWN_MAP,
+ HELP_USING_TM,
+ HELP_USING_HM,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_USING_PC,
+ HELP_END
+};
+
+static const u8 sTerms_PokeCenter[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_TYPE,
+ HELP_TERM_POKEMON,
+ HELP_END
+};
+
+static const u8 sAboutGame_PokeCenter[] = {
+ HELP_WIRELESS_ADAPTER,
+ HELP_WHAT_ARE_POKEMON,
+ HELP_GAME_FUNDAMENTALS_1,
+ HELP_GAME_FUNDAMENTALS_2,
+ HELP_GAME_FUNDAMENTALS_3,
+ HELP_END
+};
+
+static const u8 sWhatToDo_Mart[] = {
+ HELP_WHAT_SHOULD_I_BE_DOING,
+ HELP_TALKED_TO_EVERYONE_NOW_WHAT,
+ HELP_SOMEONE_BLOCKING_MY_WAY,
+ HELP_WHAT_ARE_MY_ADVENTURE_BASICS,
+ HELP_WHATS_POKEMON_CENTER,
+ HELP_WHATS_POKEMON_MART,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_Mart[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_USING_SWITCH,
+ HELP_USING_ITEM,
+ HELP_USING_BAG,
+ HELP_USING_AN_ITEM,
+ HELP_USING_KEYITEM,
+ HELP_REGISTER_KEY_ITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_POTION,
+ HELP_USING_TOWN_MAP,
+ HELP_USING_TM,
+ HELP_USING_HM,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
+};
+
+static const u8 sTerms_Mart[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_TYPE,
+ HELP_TERM_ITEM,
+ HELP_TERM_MONEY,
+ HELP_TERM_ITEMS,
+ HELP_TERM_KEYITEMS,
+ HELP_TERM_POKEBALLS,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sWhatToDo_Gym[] = {
+ HELP_SOMEONE_BLOCKING_MY_WAY,
+ HELP_WHAT_ARE_MY_ADVENTURE_BASICS,
+ HELP_WHATS_POKEMON_CENTER,
+ HELP_WHATS_POKEMON_MART,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_Gym[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_USING_SWITCH,
+ HELP_USING_ITEM,
+ HELP_USING_BAG,
+ HELP_USING_AN_ITEM,
+ HELP_USING_KEYITEM,
+ HELP_REGISTER_KEY_ITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_POTION,
+ HELP_USING_TOWN_MAP,
+ HELP_USING_TM,
+ HELP_USING_HM,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
+};
+
+static const u8 sTerms_Gym[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_TYPE,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sTypeMatchups_Gym[] = {
+ HELP_TYPE_MATCHUPS,
+ HELP_END
+};
+
+static const u8 sWhatToDo_Indoors[] = {
+ HELP_WHAT_SHOULD_I_BE_DOING,
+ HELP_WHAT_ARE_MY_ADVENTURE_BASICS,
+ HELP_CANT_FIND_PERSON_I_WANT,
+ HELP_TALKED_TO_EVERYONE_NOW_WHAT,
+ HELP_SOMEONE_BLOCKING_MY_WAY,
+ HELP_I_CANT_GO_ON,
+ HELP_HOW_DO_I_PROGRESS,
+ HELP_WHAT_IS_THAT_PERSON_LIKE,
+ HELP_OUT_OF_THINGS_TO_DO,
+ HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT,
+ HELP_WHAT_DO_I_DO_IN_CAVE,
+ HELP_WHATS_POKEMON_CENTER,
+ HELP_WHATS_POKEMON_MART,
+ HELP_WHAT_IS_A_GYM,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WHEN_CAN_I_USE_ITEM,
+ HELP_RAN_OUT_OF_POTIONS,
+ HELP_CAN_I_BUY_POKEBALLS,
+ HELP_WHATS_A_BATTLE,
+ HELP_HOW_DO_I_PREPARE_FOR_BATTLE,
+ HELP_WHAT_IS_A_MONS_VITALITY,
+ HELP_WHERE_DO_MONS_APPEAR,
+ HELP_CANT_CATCH_MONS,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_WHATS_A_TRAINER,
+ HELP_HOW_DO_I_WIN_AGAINST_TRAINER,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WANT_TO_ADD_MORE_MOVES,
+ HELP_WHAT_ARE_HIDDEN_MOVES,
+ HELP_WHAT_DOES_HIDDEN_MOVE_DO,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_Indoors[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_SUMMARY,
+ HELP_USING_SWITCH,
+ HELP_USING_ITEM,
+ HELP_USING_BAG,
+ HELP_USING_AN_ITEM,
+ HELP_USING_KEYITEM,
+ HELP_REGISTER_KEY_ITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_POTION,
+ HELP_USING_TOWN_MAP,
+ HELP_USING_TM,
+ HELP_USING_HM,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
+};
+
+static const u8 sTerms_Indoors[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_TYPE,
+ HELP_TERM_OT,
+ HELP_TERM_ITEM,
+ HELP_TERM_ABILITY,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sWhatToDo_Overworld[] = {
+ HELP_WHAT_SHOULD_I_BE_DOING,
+ HELP_WHAT_ARE_MY_ADVENTURE_BASICS,
+ HELP_CANT_FIND_PERSON_I_WANT,
+ HELP_TALKED_TO_EVERYONE_NOW_WHAT,
+ HELP_SOMEONE_BLOCKING_MY_WAY,
+ HELP_I_CANT_GO_ON,
+ HELP_HOW_DO_I_PROGRESS,
+ HELP_WHAT_IS_THAT_PERSON_LIKE,
+ HELP_OUT_OF_THINGS_TO_DO,
+ HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT,
+ HELP_WHAT_DO_I_DO_IN_CAVE,
+ HELP_WHATS_POKEMON_CENTER,
+ HELP_WHATS_POKEMON_MART,
+ HELP_WHAT_IS_A_GYM,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WHEN_CAN_I_USE_ITEM,
+ HELP_RAN_OUT_OF_POTIONS,
+ HELP_CAN_I_BUY_POKEBALLS,
+ HELP_WHATS_A_BATTLE,
+ HELP_HOW_DO_I_PREPARE_FOR_BATTLE,
+ HELP_WHAT_IS_A_MONS_VITALITY,
+ HELP_WHERE_DO_MONS_APPEAR,
+ HELP_CANT_CATCH_MONS,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_WHATS_A_TRAINER,
+ HELP_HOW_DO_I_WIN_AGAINST_TRAINER,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WANT_TO_ADD_MORE_MOVES,
+ HELP_WHAT_ARE_HIDDEN_MOVES,
+ HELP_WHAT_DOES_HIDDEN_MOVE_DO,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_Overworld[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_BAG,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
+};
+
+static const u8 sTerms_Overworld[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_TYPE,
+ HELP_TERM_OT,
+ HELP_TERM_ITEM,
+ HELP_TERM_ABILITY,
+ HELP_TERM_FNT,
+ HELP_TERM_POKEMON,
+ HELP_END
+};
+
+static const u8 sWhatToDo_Dungeon[] = {
+ HELP_WHAT_ARE_MY_ADVENTURE_BASICS,
+ HELP_I_CANT_GO_ON,
+ HELP_HOW_DO_I_PROGRESS,
+ HELP_WHAT_IS_THAT_PERSON_LIKE,
+ HELP_OUT_OF_THINGS_TO_DO,
+ HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT,
+ HELP_WHAT_DO_I_DO_IN_CAVE,
+ HELP_WHATS_POKEMON_CENTER,
+ HELP_WHATS_POKEMON_MART,
+ HELP_WHAT_IS_A_GYM,
+ HELP_WHAT_HAPPENED_TO_ITEM_I_GOT,
+ HELP_WHEN_CAN_I_USE_ITEM,
+ HELP_RAN_OUT_OF_POTIONS,
+ HELP_WHATS_A_BATTLE,
+ HELP_HOW_DO_I_PREPARE_FOR_BATTLE,
+ HELP_WHAT_IS_A_MONS_VITALITY,
+ HELP_WHERE_DO_MONS_APPEAR,
+ HELP_CANT_CATCH_MONS,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_WHATS_A_TRAINER,
+ HELP_HOW_DO_I_WIN_AGAINST_TRAINER,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WANT_TO_ADD_MORE_MOVES,
+ HELP_WHAT_ARE_HIDDEN_MOVES,
+ HELP_WHAT_DOES_HIDDEN_MOVE_DO,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_Dungeon[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_BAG,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
+};
+
+static const u8 sTerms_Dungeon[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_TYPE,
+ HELP_TERM_OT,
+ HELP_TERM_ITEM,
+ HELP_TERM_ABILITY,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sWhatToDo_Surfing[] = {
+ HELP_I_CANT_GO_ON,
+ HELP_WHAT_IS_THAT_PERSON_LIKE,
+ HELP_OUT_OF_THINGS_TO_DO,
+ HELP_WHAT_IS_A_GYM,
+ HELP_CANT_CATCH_MONS,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_WHATS_A_TRAINER,
+ HELP_HOW_DO_I_WIN_AGAINST_TRAINER,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WANT_TO_ADD_MORE_MOVES,
+ HELP_WHAT_ARE_HIDDEN_MOVES,
+ HELP_WHAT_DOES_HIDDEN_MOVE_DO,
+ HELP_WANT_TO_END_GAME,
+ HELP_END
+};
+
+static const u8 sHowTo_Surfing[] = {
+ HELP_OPENING_MENU,
+ HELP_USING_POKEDEX,
+ HELP_USING_POKEMON,
+ HELP_USING_BAG,
+ HELP_USING_PLAYER,
+ HELP_USING_SAVE,
+ HELP_USING_OPTION,
+ HELP_USING_MOVE_OUTSIDE_OF_BATTLE,
+ HELP_END
+};
+
+static const u8 sTerms_Surfing[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_TYPE,
+ HELP_TERM_OT,
+ HELP_TERM_ITEM,
+ HELP_TERM_ABILITY,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sWhatToDo_WildBattle[] = {
+ HELP_WHATS_A_BATTLE,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WHAT_MOVES_SHOULD_I_USE,
+ HELP_WHAT_IS_A_MONS_VITALITY,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_CANT_CATCH_MONS,
+ HELP_CAN_I_BUY_POKEBALLS,
+ HELP_RAN_OUT_OF_POTIONS,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_END
+};
+
+static const u8 sHowTo_WildBattle[] = {
+ HELP_USING_FIGHT,
+ HELP_USING_POKEMON2,
+ HELP_USING_SHIFT,
+ HELP_USING_SUMMARY2,
+ HELP_USING_BAG2,
+ HELP_USING_AN_ITEM,
+ HELP_USING_POKEBALL,
+ HELP_USING_RUN,
+ HELP_END
+};
+
+static const u8 sTerms_WildBattle[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_ATTACK,
+ HELP_TERM_DEFENSE,
+ HELP_TERM_SPATK,
+ HELP_TERM_SPDEF,
+ HELP_TERM_SPEED,
+ HELP_TERM_TYPE,
+ HELP_TERM_ABILITY,
+ HELP_TERM_MOVE_TYPE,
+ HELP_TERM_PP,
+ HELP_TERM_POWER,
+ HELP_TERM_ACCURACY,
+ HELP_TERM_STATUS_PROBLEM,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sTypeMatchups_WildBattle[] = {
+ HELP_TYPE_MATCHUPS,
+ HELP_END
+};
+
+static const u8 sWhatToDo_TrainerBattleSingle[] = {
+ HELP_WHATS_A_BATTLE,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WHAT_MOVES_SHOULD_I_USE,
+ HELP_WHAT_IS_A_MONS_VITALITY,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_RAN_OUT_OF_POTIONS,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_END
+};
+
+static const u8 sHowTo_TrainerBattleSingle[] = {
+ HELP_USING_FIGHT,
+ HELP_USING_POKEMON2,
+ HELP_USING_SHIFT,
+ HELP_USING_SUMMARY2,
+ HELP_USING_BAG2,
+ HELP_USING_AN_ITEM,
+ HELP_USING_RUN,
+ HELP_END
+};
+
+static const u8 sTerms_TrainerBattleSingle[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_ATTACK,
+ HELP_TERM_DEFENSE,
+ HELP_TERM_SPATK,
+ HELP_TERM_SPDEF,
+ HELP_TERM_SPEED,
+ HELP_TERM_TYPE,
+ HELP_TERM_ABILITY,
+ HELP_TERM_MOVE_TYPE,
+ HELP_TERM_PP,
+ HELP_TERM_POWER,
+ HELP_TERM_ACCURACY,
+ HELP_TERM_STATUS_PROBLEM,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sTypeMatchups_TrainerBattleSingle[] = {
+ HELP_TYPE_MATCHUPS,
+ HELP_END
+};
+
+static const u8 sWhatToDo_TrainerBattleDouble[] = {
+ HELP_WHATS_A_BATTLE,
+ HELP_WHAT_ARE_MOVES,
+ HELP_WHAT_MOVES_SHOULD_I_USE,
+ HELP_WHAT_IS_A_MONS_VITALITY,
+ HELP_MY_MONS_ARE_HURT,
+ HELP_RAN_OUT_OF_POTIONS,
+ HELP_WANT_TO_MAKE_MON_STRONGER,
+ HELP_FOE_MONS_TOO_STRONG,
+ HELP_WHAT_IS_STATUS_PROBLEM,
+ HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT,
+ HELP_END
+};
+
+static const u8 sHowTo_TrainerBattleDouble[] = {
+ HELP_USING_FIGHT,
+ HELP_USING_POKEMON2,
+ HELP_USING_SHIFT,
+ HELP_USING_SUMMARY2,
+ HELP_USING_BAG2,
+ HELP_USING_AN_ITEM,
+ HELP_USING_RUN,
+ HELP_END
+};
+
+static const u8 sTerms_TrainerBattleDouble[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_ATTACK,
+ HELP_TERM_DEFENSE,
+ HELP_TERM_SPATK,
+ HELP_TERM_SPDEF,
+ HELP_TERM_SPEED,
+ HELP_TERM_TYPE,
+ HELP_TERM_ABILITY,
+ HELP_TERM_MOVE_TYPE,
+ HELP_TERM_PP,
+ HELP_TERM_POWER,
+ HELP_TERM_ACCURACY,
+ HELP_TERM_STATUS_PROBLEM,
+ HELP_TERM_FNT,
+ HELP_END
+};
+
+static const u8 sTypeMatchups_TrainerBattleDouble[] = {
+ HELP_TYPE_MATCHUPS,
+ HELP_END
+};
+
+static const u8 sWhatToDo_SafariBattle[] = {
+ HELP_WHAT_DO_I_DO_IN_SAFARI,
+ HELP_WHAT_ARE_SAFARI_RULES,
+ HELP_WANT_TO_END_SAFARI,
+ HELP_END
+};
+
+static const u8 sHowTo_SafariBattle[] = {
+ HELP_USING_BALL,
+ HELP_USING_BAIT,
+ HELP_USING_ROCK,
+ HELP_USING_RUN,
+ HELP_END
+};
+
+static const u8 sTerms_SafariBattle[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_ATTACK,
+ HELP_TERM_DEFENSE,
+ HELP_TERM_SPATK,
+ HELP_TERM_SPDEF,
+ HELP_TERM_SPEED,
+ HELP_TERM_TYPE,
+ HELP_TERM_ABILITY,
+ HELP_TERM_MOVE_TYPE,
+ HELP_TERM_PP,
+ HELP_TERM_POWER,
+ HELP_TERM_ACCURACY,
+ HELP_END
+};
+
+static const u8 sTypeMatchups_SafariBattle[] = {
+ HELP_TYPE_MATCHUPS,
+ HELP_END
+};
+
+static const u8 sHowTo_PC[] = {
+ HELP_USING_PC,
+ HELP_USING_BILLS_PC,
+ HELP_USING_WITHDRAW,
+ HELP_USING_DEPOSIT,
+ HELP_USING_MOVE,
+ HELP_MOVING_ITEMS,
+ HELP_USING_PLAYERS_PC,
+ HELP_USING_WITHDRAW_ITEM,
+ HELP_USING_DEPOSIT_ITEM,
+ HELP_USING_MAILBOX,
+ HELP_USING_PROF_OAKS_PC,
+ HELP_USING_HALL_OF_FAME,
+ HELP_END
+};
+
+static const u8 sHowTo_BillsPC[] = {
+ HELP_USING_PC,
+ HELP_USING_BILLS_PC,
+ HELP_USING_WITHDRAW,
+ HELP_USING_DEPOSIT,
+ HELP_USING_MOVE,
+ HELP_MOVING_ITEMS,
+ HELP_USING_PLAYERS_PC,
+ HELP_USING_WITHDRAW_ITEM,
+ HELP_USING_DEPOSIT_ITEM,
+ HELP_USING_MAILBOX,
+ HELP_USING_PROF_OAKS_PC,
+ HELP_USING_HALL_OF_FAME,
+ HELP_END
+};
+
+static const u8 sHowTo_PlayersPCItems[] = {
+ HELP_USING_PC,
+ HELP_USING_BILLS_PC,
+ HELP_USING_WITHDRAW,
+ HELP_USING_DEPOSIT,
+ HELP_USING_MOVE,
+ HELP_MOVING_ITEMS,
+ HELP_USING_PLAYERS_PC,
+ HELP_USING_WITHDRAW_ITEM,
+ HELP_USING_DEPOSIT_ITEM,
+ HELP_USING_MAILBOX,
+ HELP_USING_PROF_OAKS_PC,
+ HELP_USING_HALL_OF_FAME,
+ HELP_END
+};
+
+static const u8 sHowTo_PlayersPCMailbox[] = {
+ HELP_USING_PC,
+ HELP_USING_BILLS_PC,
+ HELP_USING_WITHDRAW,
+ HELP_USING_DEPOSIT,
+ HELP_USING_MOVE,
+ HELP_MOVING_ITEMS,
+ HELP_USING_PLAYERS_PC,
+ HELP_USING_WITHDRAW_ITEM,
+ HELP_USING_DEPOSIT_ITEM,
+ HELP_USING_MAILBOX,
+ HELP_USING_PROF_OAKS_PC,
+ HELP_USING_HALL_OF_FAME,
+ HELP_END
+};
+
+static const u8 sHowTo_PCMisc[] = {
+ HELP_USING_PC,
+ HELP_USING_BILLS_PC,
+ HELP_USING_WITHDRAW,
+ HELP_USING_DEPOSIT,
+ HELP_USING_MOVE,
+ HELP_MOVING_ITEMS,
+ HELP_USING_PLAYERS_PC,
+ HELP_USING_WITHDRAW_ITEM,
+ HELP_USING_DEPOSIT_ITEM,
+ HELP_USING_MAILBOX,
+ HELP_USING_PROF_OAKS_PC,
+ HELP_USING_HALL_OF_FAME,
+ HELP_END
+};
+
+static const u8 sHowTo_BedroomPC[] = {
+ HELP_USING_HOME_PC,
+ HELP_USING_ITEM_STORAGE,
+ HELP_USING_WITHDRAW_ITEM2,
+ HELP_USING_DEPOSIT_ITEM2,
+ HELP_USING_MAILBOX2,
+ HELP_END
+};
+
+static const u8 sHowTo_BedroomPCItems[] = {
+ HELP_USING_HOME_PC,
+ HELP_USING_ITEM_STORAGE,
+ HELP_USING_WITHDRAW_ITEM2,
+ HELP_USING_DEPOSIT_ITEM2,
+ HELP_USING_MAILBOX2,
+ HELP_END
+};
+
+static const u8 sHowTo_BedroomPCMailbox[] = {
+ HELP_USING_HOME_PC,
+ HELP_USING_ITEM_STORAGE,
+ HELP_USING_WITHDRAW_ITEM2,
+ HELP_USING_DEPOSIT_ITEM2,
+ HELP_USING_MAILBOX2,
+ HELP_END
+};
+
+static const u8 sTerms_Basic[] = {
+ HELP_TERM_LEVEL,
+ HELP_TERM_HP,
+ HELP_TERM_EXP,
+ HELP_TERM_MOVES,
+ HELP_TERM_TM,
+ HELP_TERM_HM_MOVE,
+ HELP_TERM_HM,
+ HELP_TERM_ATTACK,
+ HELP_TERM_DEFENSE,
+ HELP_TERM_SPATK,
+ HELP_TERM_SPDEF,
+ HELP_TERM_SPEED,
+ HELP_TERM_TYPE,
+ HELP_TERM_OT,
+ HELP_TERM_ITEM,
+ HELP_TERM_ABILITY,
+ HELP_TERM_MOVE_TYPE,
+ HELP_TERM_NATURE,
+ HELP_TERM_ID_NO,
+ HELP_TERM_PP,
+ HELP_TERM_POWER,
+ HELP_TERM_ACCURACY,
+ HELP_TERM_STATUS_PROBLEM,
+ HELP_TERM_FNT,
+ HELP_TERM_EVOLUTION,
+ HELP_TERM_ITEMS,
+ HELP_TERM_KEYITEMS,
+ HELP_TERM_POKEBALLS,
+ HELP_TERM_PLAY_TIME,
+ HELP_TERM_MONEY,
+ HELP_TERM_BADGES,
+ HELP_END
+};
+
+
+// Cant get this to match as a 2D array but it probably should be one, [HELPCONTEXT_COUNT][TOPIC_COUNT - 1] (Excludes TOPIC_EXIT)
+static const u8 *const sHelpSystemSubmenuItemLists[HELPCONTEXT_COUNT * (TOPIC_COUNT - 1)] = {
+ NULL, NULL, NULL, NULL, NULL, // HELPCONTEXT_NONE
+ NULL, NULL, NULL, sAboutGame_TitleScreen, NULL, // HELPCONTEXT_TITLE_SCREEN
+ NULL, NULL, NULL, sAboutGame_NewGame, NULL, // HELPCONTEXT_NEW_GAME
+ NULL, sHowTo_NamingScreen, NULL, sAboutGame_NamingScreen, NULL, // HELPCONTEXT_NAMING_SCREEN
+ NULL, sHowTo_Pokedex, NULL, NULL, NULL, // HELPCONTEXT_POKEDEX
+ NULL, sHowTo_PartyMenu, sTerms_PartyMenu, NULL, NULL, // HELPCONTEXT_PARTY_MENU
+ NULL, sHowTo_PokemonInfo, sTerms_PokemonInfo, NULL, NULL, // HELPCONTEXT_POKEMON_INFO
+ NULL, NULL, sTerms_PokemonSkills, NULL, NULL, // HELPCONTEXT_POKEMON_SKILLS
+ NULL, NULL, sTerms_PokemonMoves, NULL, NULL, // HELPCONTEXT_POKEMON_MOVES
+ NULL, sHowTo_Bag, sTerms_Bag, NULL, NULL, // HELPCONTEXT_BAG
+ NULL, sHowTo_TrainerCardFront, sTerms_TrainerCardFront, NULL, NULL, // HELPCONTEXT_TRAINER_CARD_FRONT
+ NULL, sHowTo_TrainerCardBack, NULL, NULL, NULL, // HELPCONTEXT_TRAINER_CARD_BACK
+ NULL, sHowTo_Save, sTerms_Save, NULL, NULL, // HELPCONTEXT_SAVE
+ NULL, sHowTo_Options, sTerms_Options, NULL, NULL, // HELPCONTEXT_OPTIONS
+ sWhatToDo_PlayersHouse, NULL, NULL, sAboutGame_PlayersHouse, NULL, // HELPCONTEXT_PLAYERS_HOUSE
+ sWhatToDo_OaksLab, sHowTo_OaksLab, sTerms_OaksLab, NULL, NULL, // HELPCONTEXT_OAKS_LAB
+ sWhatToDo_PokeCenter, sHowTo_PokeCenter, sTerms_PokeCenter, sAboutGame_PokeCenter, NULL, // HELPCONTEXT_POKECENTER
+ sWhatToDo_Mart, sHowTo_Mart, sTerms_Mart, NULL, NULL, // HELPCONTEXT_MART
+ sWhatToDo_Gym, sHowTo_Gym, sTerms_Gym, NULL, sTypeMatchups_Gym, // HELPCONTEXT_GYM
+ sWhatToDo_Indoors, sHowTo_Indoors, sTerms_Indoors, NULL, NULL, // HELPCONTEXT_INDOORS
+ sWhatToDo_Overworld, sHowTo_Overworld, sTerms_Overworld, NULL, NULL, // HELPCONTEXT_OVERWORLD
+ sWhatToDo_Dungeon, sHowTo_Dungeon, sTerms_Dungeon, NULL, NULL, // HELPCONTEXT_DUNGEON
+ sWhatToDo_Surfing, sHowTo_Surfing, sTerms_Surfing, NULL, NULL, // HELPCONTEXT_SURFING
+ sWhatToDo_WildBattle, sHowTo_WildBattle, sTerms_WildBattle, NULL, sTypeMatchups_WildBattle, // HELPCONTEXT_WILD_BATTLE
+ sWhatToDo_TrainerBattleSingle, sHowTo_TrainerBattleSingle, sTerms_TrainerBattleSingle, NULL, sTypeMatchups_TrainerBattleSingle, // HELPCONTEXT_TRAINER_BATTLE_SINGLE
+ sWhatToDo_TrainerBattleDouble, sHowTo_TrainerBattleDouble, sTerms_TrainerBattleDouble, NULL, sTypeMatchups_TrainerBattleDouble, // HELPCONTEXT_TRAINER_BATTLE_DOUBLE
+ sWhatToDo_SafariBattle, sHowTo_SafariBattle, sTerms_SafariBattle, NULL, sTypeMatchups_SafariBattle, // HELPCONTEXT_SAFARI_BATTLE
+ NULL, sHowTo_PC, NULL, NULL, NULL, // HELPCONTEXT_PC
+ NULL, sHowTo_BillsPC, NULL, NULL, NULL, // HELPCONTEXT_BILLS_PC
+ NULL, sHowTo_PlayersPCItems, NULL, NULL, NULL, // HELPCONTEXT_PLAYERS_PC_ITEMS
+ NULL, sHowTo_PlayersPCMailbox, NULL, NULL, NULL, // HELPCONTEXT_PLAYERS_PC_MAILBOX
+ NULL, sHowTo_PCMisc, NULL, NULL, NULL, // HELPCONTEXT_PC_MISC
+ NULL, sHowTo_BedroomPC, NULL, NULL, NULL, // HELPCONTEXT_BEDROOM_PC
+ NULL, sHowTo_BedroomPCItems, NULL, NULL, NULL, // HELPCONTEXT_BEDROOM_PC_ITEMS
+ NULL, sHowTo_BedroomPCMailbox, NULL, NULL, NULL, // HELPCONTEXT_BEDROOM_PC_MAILBOX
+ NULL, NULL, NULL, NULL, NULL // HELPCONTEXT_UNUSED
};
static const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin");
-static const u8 sHelpSystemContextTopicOrder[] = {
- 3, 0, 1, 2, 4, 5
-};
-
-static const bool8 sHelpSystemContextTopicFlags[][6] = {
- {FALSE, FALSE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, FALSE, FALSE, TRUE, FALSE, TRUE },
- {FALSE, FALSE, FALSE, TRUE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, TRUE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {FALSE, FALSE, TRUE, FALSE, FALSE, TRUE },
- {FALSE, FALSE, TRUE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {TRUE, FALSE, FALSE, TRUE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, TRUE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, TRUE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, FALSE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, TRUE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, TRUE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, TRUE, TRUE },
- {TRUE, TRUE, TRUE, FALSE, TRUE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, TRUE, FALSE, FALSE, FALSE, TRUE },
- {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE},
- {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}
+static const u8 sHelpSystemContextTopicOrder[TOPIC_COUNT] = {
+ TOPIC_ABOUT_GAME,
+ TOPIC_WHAT_TO_DO,
+ TOPIC_HOW_TO_DO,
+ TOPIC_TERMS,
+ TOPIC_TYPE_MATCHUP,
+ TOPIC_EXIT
+};
+
+#define CONTEXT_TOPIC_FLAGS(whatToDo, howToDo, terms, aboutGame, typeMatchup, exit) \
+ { \
+ [TOPIC_WHAT_TO_DO] = whatToDo, \
+ [TOPIC_HOW_TO_DO] = howToDo, \
+ [TOPIC_TERMS] = terms, \
+ [TOPIC_ABOUT_GAME] = aboutGame, \
+ [TOPIC_TYPE_MATCHUP] = typeMatchup, \
+ [TOPIC_EXIT] = exit \
+ } \
+
+static const bool8 sHelpSystemContextTopicFlags[HELPCONTEXT_COUNT + 1][TOPIC_COUNT] = {
+ [HELPCONTEXT_NONE] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_TITLE_SCREEN] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, FALSE, TRUE, FALSE, TRUE),
+ [HELPCONTEXT_NEW_GAME] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, FALSE, TRUE, FALSE, TRUE),
+ [HELPCONTEXT_NAMING_SCREEN] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, TRUE, FALSE, TRUE),
+ [HELPCONTEXT_POKEDEX] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_PARTY_MENU] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_POKEMON_INFO] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_POKEMON_SKILLS] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_POKEMON_MOVES] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_BAG] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_TRAINER_CARD_FRONT] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_TRAINER_CARD_BACK] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_SAVE] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_OPTIONS] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_PLAYERS_HOUSE] = CONTEXT_TOPIC_FLAGS( TRUE, FALSE, FALSE, TRUE, FALSE, TRUE),
+ [HELPCONTEXT_OAKS_LAB] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_POKECENTER] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, TRUE, FALSE, TRUE),
+ [HELPCONTEXT_MART] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_GYM] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE),
+ [HELPCONTEXT_INDOORS] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_OVERWORLD] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_DUNGEON] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_SURFING] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_WILD_BATTLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE),
+ [HELPCONTEXT_TRAINER_BATTLE_SINGLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE),
+ [HELPCONTEXT_TRAINER_BATTLE_DOUBLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE),
+ [HELPCONTEXT_SAFARI_BATTLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE),
+ [HELPCONTEXT_PC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_BILLS_PC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_PLAYERS_PC_ITEMS] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_PLAYERS_PC_MAILBOX] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_PC_MISC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_BEDROOM_PC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_BEDROOM_PC_ITEMS] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_BEDROOM_PC_MAILBOX] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE),
+ [HELPCONTEXT_UNUSED] = {},
+ [HELPCONTEXT_COUNT] = {}
};
static const u16 sMartMaps[] = {
@@ -877,41 +1744,45 @@ static const u8 sDungeonMaps[][3] = {
{ MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), 7 }
};
-void HelpSystem_SetSomeVariable(u8 a0)
+void SetHelpContextDontCheckBattle(u8 contextId)
{
- sSomeVariable = a0;
+ sHelpSystemContextId = contextId;
}
-void HelpSystem_SetSomeVariable2(u8 a0)
+void SetHelpContext(u8 contextId)
{
- switch (sSomeVariable)
+ switch (sHelpSystemContextId)
{
- case 23:
- case 24:
- case 25:
- case 26:
- if (a0 == 9 || a0 == 5 || a0 == 6 || a0 == 7 || a0 == 8)
+ case HELPCONTEXT_WILD_BATTLE:
+ case HELPCONTEXT_TRAINER_BATTLE_SINGLE:
+ case HELPCONTEXT_TRAINER_BATTLE_DOUBLE:
+ case HELPCONTEXT_SAFARI_BATTLE:
+ if (contextId == HELPCONTEXT_BAG
+ || contextId == HELPCONTEXT_PARTY_MENU
+ || contextId == HELPCONTEXT_POKEMON_INFO
+ || contextId == HELPCONTEXT_POKEMON_SKILLS
+ || contextId == HELPCONTEXT_POKEMON_MOVES)
break;
// fallthrough
default:
- sSomeVariable = a0;
+ sHelpSystemContextId = contextId;
break;
}
}
-void Special_SetSomeVariable(void)
+void Script_SetHelpContext(void)
{
- sSomeVariable = gSpecialVar_0x8004;
+ sHelpSystemContextId = gSpecialVar_0x8004;
}
-void HelpSystem_BackupSomeVariable(void)
+void BackupHelpContext(void)
{
- gSomeVariableBackup = sSomeVariable;
+ gHelpContextIdBackup = sHelpSystemContextId;
}
-void HelpSystem_RestoreSomeVariable(void)
+void RestoreHelpContext(void)
{
- sSomeVariable = gSomeVariableBackup;
+ sHelpSystemContextId = gHelpContextIdBackup;
}
static bool32 IsInMartMap(void)
@@ -942,7 +1813,7 @@ static bool8 IsInDungeonMap(void)
{
u8 i, j;
- for (i = 0; i < 16; i++)
+ for (i = 0; i < NELEMS(sDungeonMaps); i++)
{
for (j = 0; j < sDungeonMaps[i][2]; j++)
{
@@ -958,42 +1829,52 @@ static bool8 IsInDungeonMap(void)
return FALSE;
}
-void sub_812B35C(void)
+#define IN_PLAYERS_HOUSE \
+ ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F) \
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F)) \
+ || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_2F) \
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_2F))) \
+
+ #define IN_OAKS_LAB \
+ (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB) \
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB)) \
+
+void SetHelpContextForMap(void)
{
HelpSystem_EnableToggleWithRButton();
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
- HelpSystem_SetSomeVariable2(0x16);
+ SetHelpContext(HELPCONTEXT_SURFING);
else if (IsInDungeonMap())
- HelpSystem_SetSomeVariable2(0x15);
+ SetHelpContext(HELPCONTEXT_DUNGEON);
else if (IsMapTypeIndoors(gMapHeader.mapType))
{
- if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F)) || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_2F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_2F)))
- HelpSystem_SetSomeVariable2(0x0E);
- else if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB))
- HelpSystem_SetSomeVariable2(0x0F);
+ if (IN_PLAYERS_HOUSE)
+ SetHelpContext(HELPCONTEXT_PLAYERS_HOUSE);
+ else if (IN_OAKS_LAB)
+ SetHelpContext(HELPCONTEXT_OAKS_LAB);
else if (IsCurMapPokeCenter() == TRUE)
- HelpSystem_SetSomeVariable2(0x10);
+ SetHelpContext(HELPCONTEXT_POKECENTER);
else if (IsInMartMap() == TRUE)
- HelpSystem_SetSomeVariable2(0x11);
+ SetHelpContext(HELPCONTEXT_MART);
else if (IsInGymMap() == TRUE)
- HelpSystem_SetSomeVariable2(0x12);
+ SetHelpContext(HELPCONTEXT_GYM);
else
- HelpSystem_SetSomeVariable2(0x13);
+ SetHelpContext(HELPCONTEXT_INDOORS);
}
else
- HelpSystem_SetSomeVariable2(0x14);
+ SetHelpContext(HELPCONTEXT_OVERWORLD);
}
-bool8 sub_812B40C(void)
+bool8 HelpSystem_UpdateHasntSeenIntro(void)
{
- if (gUnknown_203B0EE == 1)
+ if (sSeenHelpSystemIntro == TRUE)
return FALSE;
if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO))
return FALSE;
FlagSet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO);
- gUnknown_203B0EE = 1;
+ sSeenHelpSystemIntro = TRUE;
return TRUE;
}
@@ -1042,7 +1923,7 @@ static void BuildAndPrintMainTopicsListMenu(struct HelpSystemListMenu * helpList
ResetHelpSystemListMenu(helpListMenu, listMenuItemsBuffer);
BuildMainTopicsListAndMoveToH00(helpListMenu, listMenuItemsBuffer);
PrintTextOnPanel2Row52RightAlign(gUnknown_841DFAC);
- HelpSystem_InitListMenuController(helpListMenu, 0, sHelpSystemState[2]);
+ HelpSystem_InitListMenuController(helpListMenu, 0, gHelpSystemState[2]);
PrintHelpSystemTopicMouseoverDescription(helpListMenu, listMenuItemsBuffer);
sub_813BDA4(1);
sub_813BD5C(1);
@@ -1052,9 +1933,9 @@ static void BuildMainTopicsListAndMoveToH00(struct HelpSystemListMenu * helpList
{
u8 i;
u8 totalItems = 0;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < TOPIC_COUNT; i++)
{
- if (sHelpSystemContextTopicFlags[sSomeVariable][sHelpSystemContextTopicOrder[i]] == TRUE)
+ if (sHelpSystemContextTopicFlags[sHelpSystemContextId][sHelpSystemContextTopicOrder[i]] == TRUE)
{
listMenuItemsBuffer[totalItems].label = sHelpSystemTopicPtrs[sHelpSystemContextTopicOrder[i]];
listMenuItemsBuffer[totalItems].index = sHelpSystemContextTopicOrder[i];
@@ -1076,7 +1957,7 @@ static void BuildAndPrintSubmenuList(struct HelpSystemListMenu * helpListMenu, s
SetHelpSystemSubmenuItems(helpListMenu, listMenuItemsBuffer);
PrintTextOnPanel2Row52RightAlign(gUnknown_841DFC9);
HelpSystem_InitListMenuController(helpListMenu, helpListMenu->itemsAbove, helpListMenu->cursorPos);
- HelpSystem_PrintTextAt(sHelpSystemTopicPtrs[sHelpSystemState[1]], 0, 0);
+ HelpSystem_PrintTextAt(sHelpSystemTopicPtrs[gHelpSystemState[1]], 0, 0);
sub_813BDA4(1);
sub_813BD5C(1);
}
@@ -1084,32 +1965,32 @@ static void BuildAndPrintSubmenuList(struct HelpSystemListMenu * helpListMenu, s
static void SetHelpSystemSubmenuItems(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer)
{
u8 totalItems = 0;
- const u8 * indexPtr = sHelpSystemSubmenuIndexPointers[sSomeVariable * 5 + sHelpSystemState[1]];
+ const u8 * submenuItems = sHelpSystemSubmenuItemLists[sHelpSystemContextId * 5 + gHelpSystemState[1]]; // accessing as 2D array
u8 i;
- for (i = 0; indexPtr[i] != 0xFF; i++)
+ for (i = 0; submenuItems[i] != HELP_END; i++)
{
- if (HelpSystemSubmenuIndexIsActive(indexPtr[i]) == TRUE)
+ if (IsHelpSystemSubmenuEnabled(submenuItems[i]) == TRUE)
{
- if (sHelpSystemState[1] == 0)
- listMenuItemsBuffer[totalItems].label = sHelpSystemSpecializedQuestionTextPtrs[indexPtr[i]];
- else if (sHelpSystemState[1] == 1)
- listMenuItemsBuffer[totalItems].label = sHelpSystemMenuTopicTextPtrs[indexPtr[i]];
- else if (sHelpSystemState[1] == 2)
- listMenuItemsBuffer[totalItems].label = sHelpSystemTermTextPtrs[indexPtr[i]];
- else if (sHelpSystemState[1] == 3)
- listMenuItemsBuffer[totalItems].label = sHelpSystemGeneralTopicTextPtrs[indexPtr[i]];
- else
- listMenuItemsBuffer[totalItems].label = sHelpSystemTypeMatchupTextPtrs[indexPtr[i]];
- listMenuItemsBuffer[totalItems].index = indexPtr[i];
+ if (gHelpSystemState[1] == TOPIC_WHAT_TO_DO)
+ listMenuItemsBuffer[totalItems].label = sHelpSystemSpecializedQuestionTextPtrs[submenuItems[i]];
+ else if (gHelpSystemState[1] == TOPIC_HOW_TO_DO)
+ listMenuItemsBuffer[totalItems].label = sHelpSystemMenuTopicTextPtrs[submenuItems[i]];
+ else if (gHelpSystemState[1] == TOPIC_TERMS)
+ listMenuItemsBuffer[totalItems].label = sHelpSystemTermTextPtrs[submenuItems[i]];
+ else if (gHelpSystemState[1] == TOPIC_ABOUT_GAME)
+ listMenuItemsBuffer[totalItems].label = sHelpSystemGeneralTopicTextPtrs[submenuItems[i]];
+ else // TOPIC_TYPE_MATCHUP
+ listMenuItemsBuffer[totalItems].label = sHelpSystemTypeMatchupTextPtrs[submenuItems[i]];
+ listMenuItemsBuffer[totalItems].index = submenuItems[i];
totalItems++;
}
}
- if (HelpSystem_HasDefeatedBrock() == TRUE)
+ if (HelpSystem_ShouldShowBasicTerms() == TRUE)
{
- for (i = 0, indexPtr = gUnknown_845B9BE; indexPtr[i] != 0xFF; i++)
+ for (i = 0, submenuItems = sTerms_Basic; submenuItems[i] != HELP_END; i++)
{
- listMenuItemsBuffer[totalItems].label = sHelpSystemTermTextPtrs[indexPtr[i]];
- listMenuItemsBuffer[totalItems].index = indexPtr[i];
+ listMenuItemsBuffer[totalItems].label = sHelpSystemTermTextPtrs[submenuItems[i]];
+ listMenuItemsBuffer[totalItems].index = submenuItems[i];
totalItems++;
}
}
@@ -1122,215 +2003,218 @@ static void SetHelpSystemSubmenuItems(struct HelpSystemListMenu * helpListMenu,
helpListMenu->sub.top = 21;
}
-static bool8 HelpSystem_HasDefeatedBrock(void)
+static bool8 HelpSystem_ShouldShowBasicTerms(void)
{
- if (FlagGet(FLAG_DEFEATED_BROCK) == TRUE && sHelpSystemState[1] == 2)
+ if (FlagGet(FLAG_DEFEATED_BROCK) == TRUE && gHelpSystemState[1] == TOPIC_TERMS)
return TRUE;
return FALSE;
}
-static bool8 HelpSystemSubmenuIndexIsActive(u8 id)
+static bool8 IsHelpSystemSubmenuEnabled(u8 id)
{
u8 i = 0;
- if (sHelpSystemState[1] == 0)
+ if (gHelpSystemState[1] == TOPIC_WHAT_TO_DO)
{
switch (id)
{
- case 1:
- case 2:
- case 3:
- case 5:
- case 8:
- case 34:
- case 38:
- case 41:
- case 42:
- case 43:
+ case HELP_PLAYING_FOR_FIRST_TIME:
+ case HELP_WHAT_SHOULD_I_BE_DOING:
+ case HELP_CANT_GET_OUT_OF_ROOM:
+ case HELP_TALKED_TO_EVERYONE_NOW_WHAT:
+ case HELP_OUT_OF_THINGS_TO_DO:
+ case HELP_NOTHING_I_WANT_TO_KNOW:
+ case HELP_WHATS_A_MON:
+ case HELP_WHAT_DO_I_DO_IN_SAFARI:
+ case HELP_WHAT_ARE_SAFARI_RULES:
+ case HELP_WANT_TO_END_SAFARI:
return TRUE;
- case 4:
+ case HELP_CANT_FIND_PERSON_I_WANT:
return FlagGet(FLAG_VISITED_OAKS_LAB);
- case 6:
- case 10:
- case 16:
- case 19:
- case 22:
- case 35:
- case 36:
+ case HELP_SOMEONE_BLOCKING_MY_WAY:
+ case HELP_WHAT_ARE_MY_ADVENTURE_BASICS:
+ case HELP_HOW_DO_I_PREPARE_FOR_BATTLE:
+ case HELP_WHAT_IS_STATUS_PROBLEM:
+ case HELP_RAN_OUT_OF_POTIONS:
+ case HELP_WHATS_POKEMON_CENTER:
+ case HELP_WHATS_POKEMON_MART:
return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_CITY);
- case 7:
+ case HELP_I_CANT_GO_ON:
return FlagGet(FLAG_WORLD_MAP_VERMILION_CITY);
- case 11:
- case 24:
+ case HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT:
+ case HELP_WHATS_A_TRAINER:
return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST);
- case 9:
- case 13:
- case 14:
- case 15:
- case 17:
- case 18:
- case 20:
- case 26:
- case 29:
- case 31:
- case 37:
+ case HELP_WHAT_HAPPENED_TO_ITEM_I_GOT:
+ case HELP_WHEN_CAN_I_USE_ITEM:
+ case HELP_HOW_DO_I_PROGRESS:
+ case HELP_WHATS_A_BATTLE:
+ case HELP_WHAT_IS_A_MONS_VITALITY:
+ case HELP_MY_MONS_ARE_HURT:
+ case HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT:
+ case HELP_WHERE_DO_MONS_APPEAR:
+ case HELP_WHAT_MOVES_SHOULD_I_USE:
+ case HELP_WANT_TO_MAKE_MON_STRONGER:
+ case HELP_WANT_TO_END_GAME:
return FlagGet(FLAG_SYS_POKEMON_GET);
- case 21:
- case 23:
+ case HELP_CANT_CATCH_MONS:
+ case HELP_CAN_I_BUY_POKEBALLS:
return FlagGet(FLAG_SYS_POKEDEX_GET);
- case 12:
- case 25:
- case 27:
- case 30:
- case 32:
- case 33:
+ case HELP_HOW_ARE_CAVES_DIFFERENT:
+ case HELP_WHAT_DO_I_DO_IN_CAVE:
+ case HELP_HOW_DO_I_WIN_AGAINST_TRAINER:
+ case HELP_FOE_MONS_TOO_STRONG:
+ case HELP_WHAT_ARE_MOVES:
+ case HELP_WANT_TO_ADD_MORE_MOVES:
return FlagGet(FLAG_BADGE01_GET);
- case 28:
- case 40:
+ case HELP_WHAT_ARE_HIDDEN_MOVES:
+ case HELP_WHAT_DOES_HIDDEN_MOVE_DO:
return HasGottenAtLeastOneHM();
- case 39:
+ case HELP_WHAT_IS_THAT_PERSON_LIKE:
return FlagGet(FLAG_GOT_FAME_CHECKER);
- case 44:
+ case HELP_WHAT_IS_A_GYM:
return FlagGet(FLAG_WORLD_MAP_PEWTER_CITY);
}
return FALSE;
}
- if (sHelpSystemState[1] == 1)
+ if (gHelpSystemState[1] == TOPIC_HOW_TO_DO)
{
switch (id)
{
- case 06:
- case 10:
- case 11:
- case 12:
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- case 24:
- case 25:
- case 26:
- case 27:
- case 28:
- case 29:
- case 31:
- case 36:
- case 38:
- case 39:
- case 40:
- case 41:
- case 42:
- case 45:
- case 46:
- case 47:
+ case HELP_USING_BAG:
+ case HELP_USING_PLAYER:
+ case HELP_USING_SAVE:
+ case HELP_USING_OPTION:
+ case HELP_ENTERING_NAME:
+ case HELP_USING_PC:
+ case HELP_USING_BILLS_PC:
+ case HELP_USING_WITHDRAW:
+ case HELP_USING_DEPOSIT:
+ case HELP_USING_MOVE:
+ case HELP_MOVING_ITEMS:
+ case HELP_USING_PLAYERS_PC:
+ case HELP_USING_WITHDRAW_ITEM:
+ case HELP_USING_DEPOSIT_ITEM:
+ case HELP_USING_MAILBOX:
+ case HELP_OPENING_MENU:
+ case HELP_USING_BAG2:
+ case HELP_USING_HOME_PC:
+ case HELP_USING_ITEM_STORAGE:
+ case HELP_USING_WITHDRAW_ITEM2:
+ case HELP_USING_DEPOSIT_ITEM2:
+ case HELP_USING_MAILBOX2:
+ case HELP_USING_BALL:
+ case HELP_USING_BAIT:
+ case HELP_USING_ROCK:
return TRUE;
- case 1:
- case 30:
- case 37:
+ case HELP_USING_POKEDEX:
+ case HELP_USING_PROF_OAKS_PC:
+ case HELP_READING_POKEDEX:
return FlagGet(FLAG_SYS_POKEDEX_GET);
- case 14:
+ case HELP_USING_TOWN_MAP:
return CheckBagHasItem(ITEM_TOWN_MAP, 1);
- case 2:
- case 3:
- case 5:
- case 7:
- case 8:
- case 9:
- case 13:
- case 32:
- case 33:
- case 35:
- case 43:
- case 44:
+ case HELP_USING_POKEMON:
+ case HELP_USING_SUMMARY:
+ case HELP_USING_ITEM:
+ case HELP_USING_AN_ITEM:
+ case HELP_USING_KEYITEM:
+ case HELP_USING_POKEBALL:
+ case HELP_USING_POTION:
+ case HELP_USING_FIGHT:
+ case HELP_USING_POKEMON2:
+ case HELP_USING_SUMMARY2:
+ case HELP_USING_RUN:
+ case HELP_REGISTER_KEY_ITEM:
return FlagGet(FLAG_SYS_POKEMON_GET);
- case 4:
- case 34:
+ case HELP_USING_SWITCH:
+ case HELP_USING_SHIFT:
+ // Only show if player has caught mon after starter
if (GetKantoPokedexCount(1) > 1)
return TRUE;
return FALSE;
- case 15:
+ case HELP_USING_TM:
return FlagGet(FLAG_BADGE01_GET);
- case 16:
- case 17:
+ case HELP_USING_HM:
+ case HELP_USING_MOVE_OUTSIDE_OF_BATTLE:
return HasGottenAtLeastOneHM();
- case 18:
+ case HELP_RIDING_BICYCLE:
return FlagGet(FLAG_GOT_BICYCLE);
- case 48:
+ case HELP_USING_HALL_OF_FAME:
return FlagGet(FLAG_SYS_GAME_CLEAR);
}
return FALSE;
}
- if (sHelpSystemState[1] == 2)
+ if (gHelpSystemState[1] == TOPIC_TERMS)
{
- if (HelpSystem_HasDefeatedBrock() == TRUE)
+ if (HelpSystem_ShouldShowBasicTerms() == TRUE)
{
- for (i = 0; gUnknown_845B9BE[i] != 0xFF; i++)
+ // After defeating Brock, all basic terms are added
+ // This checks to make sure they arent added twice
+ for (i = 0; sTerms_Basic[i] != HELP_END; i++)
{
- if (gUnknown_845B9BE[i] == id)
+ if (sTerms_Basic[i] == id)
return FALSE;
}
}
switch (id)
{
- case 14:
- case 17:
- case 22:
- case 23:
- case 24:
- case 25:
- case 26:
- case 27:
- case 28:
- case 29:
- case 30:
- case 31:
- case 32:
- case 33:
- case 34:
- case 35:
- case 38:
+ case HELP_TERM_MONEY:
+ case HELP_TERM_ID_NO:
+ case HELP_TERM_ITEMS:
+ case HELP_TERM_KEYITEMS:
+ case HELP_TERM_POKEBALLS:
+ case HELP_TERM_POKEDEX:
+ case HELP_TERM_PLAY_TIME:
+ case HELP_TERM_BADGES:
+ case HELP_TERM_TEXT_SPEED:
+ case HELP_TERM_BATTLE_SCENE:
+ case HELP_TERM_BATTLE_STYLE:
+ case HELP_TERM_SOUND:
+ case HELP_TERM_BUTTON_MODE:
+ case HELP_TERM_FRAME:
+ case HELP_TERM_CANCEL:
+ case HELP_TERM_TM:
+ case HELP_TERM_EVOLUTION:
return TRUE;
- case 1:
- case 2:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 16:
- case 19:
- case 20:
- case 21:
+ case HELP_TERM_HP:
+ case HELP_TERM_EXP:
+ case HELP_TERM_ATTACK:
+ case HELP_TERM_DEFENSE:
+ case HELP_TERM_SPATK:
+ case HELP_TERM_SPDEF:
+ case HELP_TERM_SPEED:
+ case HELP_TERM_LEVEL:
+ case HELP_TERM_TYPE:
+ case HELP_TERM_OT:
+ case HELP_TERM_ITEM:
+ case HELP_TERM_ABILITY:
+ case HELP_TERM_NATURE:
+ case HELP_TERM_POWER:
+ case HELP_TERM_ACCURACY:
+ case HELP_TERM_FNT:
return FlagGet(FLAG_SYS_POKEMON_GET);
- case 36:
- case 37:
+ case HELP_TERM_HM:
+ case HELP_TERM_HM_MOVE:
return HasGottenAtLeastOneHM();
- case 3:
- case 15:
- case 18:
- case 39:
+ case HELP_TERM_MOVES:
+ case HELP_TERM_MOVE_TYPE:
+ case HELP_TERM_PP:
+ case HELP_TERM_STATUS_PROBLEM:
return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST);
}
return TRUE;
}
- if (sHelpSystemState[1] == 3)
+ if (gHelpSystemState[1] == TOPIC_ABOUT_GAME)
{
switch (id)
{
- case 5:
+ case HELP_GAME_FUNDAMENTALS_2:
return FlagGet(FLAG_BADGE01_GET);
- case 6:
+ case HELP_GAME_FUNDAMENTALS_3:
return FlagGet(FLAG_BADGE02_GET);
}
return TRUE;
}
- if (sHelpSystemState[1] == 4)
+ if (gHelpSystemState[1] == TOPIC_TYPE_MATCHUP)
{
return TRUE;
}
@@ -1407,7 +2291,7 @@ bool8 HelpSystemSubroutine_WelcomeWaitButton(struct HelpSystemListMenu * helpLis
bool8 HelpSystemSubroutine_WelcomeEndGotoMenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer)
{
- sHelpSystemState[2] = 0;
+ gHelpSystemState[2] = 0;
ResetHelpSystemCursor(helpListMenu);
BuildAndPrintMainTopicsListMenu(helpListMenu, listMenuItemsBuffer);
helpListMenu->state = 0;
@@ -1416,8 +2300,8 @@ bool8 HelpSystemSubroutine_WelcomeEndGotoMenu(struct HelpSystemListMenu * helpLi
bool8 HelpSystemSubroutine_MenuInputHandlerMain(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer)
{
- s32 v0 = HelpSystem_GetMenuInput();
- switch (v0)
+ s32 input = HelpSystem_GetMenuInput();
+ switch (input)
{
case -6:
case -2:
@@ -1430,7 +2314,7 @@ bool8 HelpSystemSubroutine_MenuInputHandlerMain(struct HelpSystemListMenu * help
case -1:
break;
default:
- sHelpSystemState[1] = v0;
+ gHelpSystemState[1] = input;
helpListMenu->state = 1;
break;
}
@@ -1439,8 +2323,8 @@ bool8 HelpSystemSubroutine_MenuInputHandlerMain(struct HelpSystemListMenu * help
bool8 HelpMenuSubroutine_InitSubmenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer)
{
- sHelpSystemState[0] = 1;
- sHelpSystemState[2] = helpListMenu->cursorPos;
+ gHelpSystemState[0] = 1;
+ gHelpSystemState[2] = helpListMenu->cursorPos;
ResetHelpSystemCursor(helpListMenu);
BuildAndPrintSubmenuList(helpListMenu, listMenuItemsBuffer);
sub_813C75C();
@@ -1453,7 +2337,7 @@ bool8 HelpMenuSubroutine_ReturnFromSubmenu(struct HelpSystemListMenu * helpListM
{
sub_813C004(0, 0);
sub_813C004(1, 0);
- sHelpSystemState[0] = 0;
+ gHelpSystemState[0] = 0;
BuildAndPrintMainTopicsListMenu(helpListMenu, listMenuItemsBuffer);
helpListMenu->state = 0;
return TRUE;
@@ -1461,8 +2345,8 @@ bool8 HelpMenuSubroutine_ReturnFromSubmenu(struct HelpSystemListMenu * helpListM
bool8 HelpMenuSubroutine_SubmenuInputHandler(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer)
{
- s32 v0 = HelpSystem_GetMenuInput();
- switch (v0)
+ s32 input = HelpSystem_GetMenuInput();
+ switch (input)
{
case -6:
return FALSE;
@@ -1475,46 +2359,46 @@ bool8 HelpMenuSubroutine_SubmenuInputHandler(struct HelpSystemListMenu * helpLis
case -1:
break;
default:
- sHelpSystemState[3] = v0;
+ gHelpSystemState[3] = input;
helpListMenu->state = 4;
break;
}
return TRUE;
}
-void sub_812BDEC(void)
+void HelpSystem_PrintTopicLabel(void)
{
- HelpSystem_PrintTextAt(sHelpSystemTopicPtrs[sHelpSystemState[1]], 0, 0);
+ HelpSystem_PrintTextAt(sHelpSystemTopicPtrs[gHelpSystemState[1]], 0, 0);
}
bool8 HelpMenuSubroutine_HelpItemPrint(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer)
{
- sHelpSystemState[0] = 2;
+ gHelpSystemState[0] = 2;
sub_813BDA4(0);
HelpSystem_FillPanel1();
PrintTextOnPanel2Row52RightAlign(gUnknown_841DFBE);
sub_813BDE8(1);
sub_813BEE4(1);
- if (sHelpSystemState[1] == 0)
+ if (gHelpSystemState[1] == TOPIC_WHAT_TO_DO)
{
- HelpSystem_PrintTwoStrings(sHelpSystemSpecializedQuestionTextPtrs[sHelpSystemState[3]], sHelpSystemSpecializedAnswerTextPtrs[sHelpSystemState[3]]);
+ HelpSystem_PrintTwoStrings(sHelpSystemSpecializedQuestionTextPtrs[gHelpSystemState[3]], sHelpSystemSpecializedAnswerTextPtrs[gHelpSystemState[3]]);
}
- else if (sHelpSystemState[1] == 1)
+ else if (gHelpSystemState[1] == TOPIC_HOW_TO_DO)
{
- HelpSystem_PrintTwoStrings(sHelpSystemMenuTopicTextPtrs[sHelpSystemState[3]], sHelpSystemHowToUseMenuTextPtrs[sHelpSystemState[3]]);
+ HelpSystem_PrintTwoStrings(sHelpSystemMenuTopicTextPtrs[gHelpSystemState[3]], sHelpSystemHowToUseMenuTextPtrs[gHelpSystemState[3]]);
}
- else if (sHelpSystemState[1] == 2)
+ else if (gHelpSystemState[1] == TOPIC_TERMS)
{
- HelpSystem_PrintTwoStrings(sHelpSystemTermTextPtrs[sHelpSystemState[3]], sHelpSystemTermDefinitionsTextPtrs[sHelpSystemState[3]]);
+ HelpSystem_PrintTwoStrings(sHelpSystemTermTextPtrs[gHelpSystemState[3]], sHelpSystemTermDefinitionsTextPtrs[gHelpSystemState[3]]);
}
- else if (sHelpSystemState[1] == 3)
+ else if (gHelpSystemState[1] == TOPIC_ABOUT_GAME)
{
- HelpSystem_PrintTwoStrings(sHelpSystemGeneralTopicTextPtrs[sHelpSystemState[3]], sHelpSystemGeneralTopicDescriptionTextPtrs[sHelpSystemState[3]]);
+ HelpSystem_PrintTwoStrings(sHelpSystemGeneralTopicTextPtrs[gHelpSystemState[3]], sHelpSystemGeneralTopicDescriptionTextPtrs[gHelpSystemState[3]]);
}
- else
+ else // TOPIC_TYPE_MATCHUP
{
- HelpSystem_PrintTwoStrings(sHelpSystemTypeMatchupTextPtrs[sHelpSystemState[3]], sHelpSystemTypeMatchupDescriptionTextPtrs[sHelpSystemState[3]]);
+ HelpSystem_PrintTwoStrings(sHelpSystemTypeMatchupTextPtrs[gHelpSystemState[3]], sHelpSystemTypeMatchupDescriptionTextPtrs[gHelpSystemState[3]]);
}
sub_813BDA4(1);
sub_813BD5C(1);
@@ -1524,7 +2408,7 @@ bool8 HelpMenuSubroutine_HelpItemPrint(struct HelpSystemListMenu * helpListMenu,
bool8 HelpMenuSubroutine_ReturnFromHelpItem(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer)
{
- sHelpSystemState[0] = 1;
+ gHelpSystemState[0] = 1;
BuildAndPrintSubmenuList(helpListMenu, listMenuItemsBuffer);
sub_813C75C();
HelpSystem_SetInputDelay(2);
@@ -1559,7 +2443,7 @@ static void PrintTextOnPanel2Row52RightAlign(const u8 * str)
u8 sub_812BF88(void)
{
- return sHelpSystemState[0];
+ return gHelpSystemState[0];
}
static void ResetHelpSystemCursor(struct HelpSystemListMenu * helpListMenu)
diff --git a/src/item_menu.c b/src/item_menu.c
index a407c582f..ed2988fd2 100644
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -496,9 +496,9 @@ static bool8 LoadBagMenuGraphics(void)
break;
case 19:
if (gBagMenuState.location == ITEMMENULOCATION_ITEMPC)
- HelpSystem_SetSomeVariable2(29);
+ SetHelpContext(HELPCONTEXT_PLAYERS_PC_ITEMS);
else
- HelpSystem_SetSomeVariable2(9);
+ SetHelpContext(HELPCONTEXT_BAG);
gPaletteFade.bufferTransferDisabled = FALSE;
gMain.state++;
break;
diff --git a/src/item_pc.c b/src/item_pc.c
index 7c7abdce3..54378b840 100644
--- a/src/item_pc.c
+++ b/src/item_pc.c
@@ -361,7 +361,7 @@ static bool8 ItemPc_DoGfxSetup(void)
gMain.state++;
break;
case 17:
- HelpSystem_SetSomeVariable2(29);
+ SetHelpContext(HELPCONTEXT_PLAYERS_PC_ITEMS);
gMain.state++;
break;
case 18:
diff --git a/src/mail.c b/src/mail.c
index dbdf48ac7..b5c0343b3 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -506,10 +506,10 @@ static bool8 DoInitMailView(void)
SetVBlankCallback(NULL);
ScanlineEffect_Stop();
SetGpuReg(REG_OFFSET_DISPCNT, 0);
- if (gPlayerPcMenuManager.unk_9 == 0)
- HelpSystem_SetSomeVariable2(34);
+ if (gPlayerPcMenuManager.notInRoom == FALSE)
+ SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX);
else
- HelpSystem_SetSomeVariable2(30);
+ SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX);
break;
case 1:
CpuFill16(0, (void *)OAM, OAM_SIZE);
diff --git a/src/oak_speech.c b/src/oak_speech.c
index f7ec9a531..871a73783 100644
--- a/src/oak_speech.c
+++ b/src/oak_speech.c
@@ -512,7 +512,7 @@ static void Task_OaksSpeech1(u8 taskId)
ResetSpriteData();
FreeAllSpritePalettes();
ResetTempTileDataBuffers();
- HelpSystem_SetSomeVariable2(2);
+ SetHelpContext(HELPCONTEXT_NEW_GAME);
break;
case 1:
sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources));
diff --git a/src/option_menu.c b/src/option_menu.c
index 5453dfa9e..56a4ec877 100644
--- a/src/option_menu.c
+++ b/src/option_menu.c
@@ -224,7 +224,7 @@ void CB2_OptionsMenuFromStartMenu(void)
if (sOptionMenuPtr->option[i] > (sOptionMenuItemCounts[i]) - 1)
sOptionMenuPtr->option[i] = 0;
}
- HelpSystem_SetSomeVariable2(0xD);
+ SetHelpContext(HELPCONTEXT_OPTIONS);
SetMainCallback2(CB2_OptionMenu);
}
diff --git a/src/party_menu.c b/src/party_menu.c
index 626ce70f8..edf7e96f6 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -566,7 +566,7 @@ static bool8 ShowPartyMenu(void)
++gMain.state;
break;
case 19:
- HelpSystem_SetSomeVariable2(5);
+ SetHelpContext(HELPCONTEXT_PARTY_MENU);
++gMain.state;
break;
case 20:
diff --git a/src/player_pc.c b/src/player_pc.c
index 8943e0796..62a899e39 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -153,8 +153,8 @@ void BedroomPC(void)
{
u8 taskId;
- gPlayerPcMenuManager.unk_9 = 0;
- HelpSystem_BackupSomeVariable();
+ gPlayerPcMenuManager.notInRoom = FALSE;
+ BackupHelpContext();
sItemOrder = gUnknown_8402200;
sTopMenuItemCount = 3;
taskId = CreateTask(TaskDummy, 0);
@@ -165,8 +165,8 @@ void PlayerPC(void)
{
u8 taskId;
- gPlayerPcMenuManager.unk_9 = 1;
- HelpSystem_BackupSomeVariable();
+ gPlayerPcMenuManager.notInRoom = TRUE;
+ BackupHelpContext();
sItemOrder = gUnknown_8402203;
sTopMenuItemCount = 3;
taskId = CreateTask(TaskDummy, 0);
@@ -215,7 +215,7 @@ static void Task_TopMenuHandleInput(u8 taskId)
static void Task_ReturnToTopMenu(u8 taskId)
{
- HelpSystem_RestoreSomeVariable();
+ RestoreHelpContext();
DisplayItemMessageOnField(taskId, 2, gText_WhatWouldYouLikeToDo, Task_DrawPlayerPcTopMenu);
}
@@ -238,10 +238,10 @@ static void Task_PlayerPcMailbox(u8 taskId)
gPlayerPcMenuManager.itemsAbove = 0;
PCMailCompaction();
Task_SetPageItemVars(taskId);
- if (gPlayerPcMenuManager.unk_9 == 0)
- HelpSystem_SetSomeVariable2(34);
+ if (gPlayerPcMenuManager.notInRoom == FALSE)
+ SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX);
else
- HelpSystem_SetSomeVariable2(30);
+ SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX);
if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE)
{
ClearDialogWindowAndFrame(0, FALSE);
@@ -257,7 +257,7 @@ static void Task_PlayerPcMailbox(u8 taskId)
static void Task_PlayerPcTurnOff(u8 taskId)
{
- if (gPlayerPcMenuManager.unk_9 == 0)
+ if (gPlayerPcMenuManager.notInRoom == FALSE)
ScriptContext1_SetupScript(EventScript_PalletTown_PlayersHouse_2F_ShutDownPC);
else
EnableBothScriptContexts();
@@ -267,10 +267,10 @@ static void Task_PlayerPcTurnOff(u8 taskId)
static void Task_CreateItemStorageSubmenu(u8 taskId, u8 cursorPos)
{
s16 *data = gTasks[taskId].data;
- if (gPlayerPcMenuManager.unk_9 == 0)
- HelpSystem_SetSomeVariable2(33);
+ if (gPlayerPcMenuManager.notInRoom == FALSE)
+ SetHelpContext(HELPCONTEXT_BEDROOM_PC_ITEMS);
else
- HelpSystem_SetSomeVariable2(29);
+ SetHelpContext(HELPCONTEXT_PLAYERS_PC_ITEMS);
tWindowId = AddWindow(&sWindowTemplate_ItemStorageSubmenu);
SetStdWindowBorderStyle(tWindowId, FALSE);
PrintTextArray(tWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 3, sMenuActions_ItemPc);
@@ -580,10 +580,10 @@ static void Task_WaitFadeAndReturnToMailboxPcInputHandler(u8 taskId)
static void CB2_ReturnToMailbox(void)
{
u8 taskId;
- if (gPlayerPcMenuManager.unk_9 == 0)
- HelpSystem_SetSomeVariable2(34);
+ if (gPlayerPcMenuManager.notInRoom == FALSE)
+ SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX);
else
- HelpSystem_SetSomeVariable2(30);
+ SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX);
LoadStdWindowFrameGfx();
taskId = CreateTask(Task_WaitFadeAndReturnToMailboxPcInputHandler, 0);
if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE)
@@ -683,10 +683,10 @@ static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void)
{
u8 taskId;
u8 count;
- if (gPlayerPcMenuManager.unk_9 == 0)
- HelpSystem_SetSomeVariable2(34);
+ if (gPlayerPcMenuManager.notInRoom == FALSE)
+ SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX);
else
- HelpSystem_SetSomeVariable2(30);
+ SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX);
taskId = CreateTask(Task_WaitFadeAndReturnToMailboxPcInputHandler, 0);
count = gPlayerPcMenuManager.count;
gPlayerPcMenuManager.count = CountPCMail();
diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c
index cd201a884..0219ca466 100644
--- a/src/pokedex_screen.c
+++ b/src/pokedex_screen.c
@@ -302,7 +302,7 @@ void CB2_OpenPokedexFromStartMenu(void)
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
SetMainCallback2(sub_81024D4);
- HelpSystem_SetSomeVariable2(4);
+ SetHelpContext(HELPCONTEXT_POKEDEX);
}
#define FREE_IF_NOT_NULL(ptr0) ({ void * ptr = (ptr0); if (ptr) Free(ptr); })
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index 8eeb3bb55..25470fc43 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -36,17 +36,17 @@ void ReshowBattleScreenAfterMenu(void)
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- HelpSystem_SetSomeVariable2(0x19);
+ SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_DOUBLE);
else
- HelpSystem_SetSomeVariable2(0x18);
+ SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_SINGLE);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
{
- HelpSystem_SetSomeVariable2(0x1A);
+ SetHelpContext(HELPCONTEXT_SAFARI_BATTLE);
}
else
{
- HelpSystem_SetSomeVariable2(0x17);
+ SetHelpContext(HELPCONTEXT_WILD_BATTLE);
}
}
SetMainCallback2(CB2_ReshowBattleScreenAfterMenu);
diff --git a/src/start_menu.c b/src/start_menu.c
index bdcf68b51..cf8be2de9 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -562,8 +562,8 @@ static bool8 StartMenuLinkPlayerCallback(void)
static bool8 StartCB_Save1(void)
{
- HelpSystem_BackupSomeVariable();
- HelpSystem_SetSomeVariable2(12);
+ BackupHelpContext();
+ SetHelpContext(HELPCONTEXT_SAVE);
StartMenu_PrepareForSave();
sStartMenuCallback = StartCB_Save2;
return FALSE;
@@ -579,19 +579,19 @@ static bool8 StartCB_Save2(void)
ClearDialogWindowAndFrameToTransparent(0, TRUE);
sub_80696C0();
ScriptContext2_Disable();
- HelpSystem_RestoreSomeVariable();
+ RestoreHelpContext();
return TRUE;
case SAVECB_RETURN_CANCEL:
ClearDialogWindowAndFrameToTransparent(0, FALSE);
DrawStartMenuInOneGo();
- HelpSystem_RestoreSomeVariable();
+ RestoreHelpContext();
sStartMenuCallback = StartCB_HandleInput;
break;
case SAVECB_RETURN_ERROR:
ClearDialogWindowAndFrameToTransparent(0, TRUE);
sub_80696C0();
ScriptContext2_Disable();
- HelpSystem_RestoreSomeVariable();
+ RestoreHelpContext();
return TRUE;
}
return FALSE;
@@ -614,8 +614,8 @@ static u8 RunSaveDialogCB(void)
void Field_AskSaveTheGame(void)
{
- HelpSystem_BackupSomeVariable();
- HelpSystem_SetSomeVariable2(12);
+ BackupHelpContext();
+ SetHelpContext(HELPCONTEXT_SAVE);
StartMenu_PrepareForSave();
CreateTask(task50_save_game, 80);
}
@@ -645,7 +645,7 @@ static void task50_save_game(u8 taskId)
}
DestroyTask(taskId);
EnableBothScriptContexts();
- HelpSystem_RestoreSomeVariable();
+ RestoreHelpContext();
}
static void CloseSaveMessageWindow(void)
diff --git a/src/teachy_tv.c b/src/teachy_tv.c
index 1467131b0..1d49ee3d9 100644
--- a/src/teachy_tv.c
+++ b/src/teachy_tv.c
@@ -500,7 +500,7 @@ static void TeachyTvMainCallback(void)
ScheduleBgCopyTilemapToVram(1);
ScheduleBgCopyTilemapToVram(2);
ScheduleBgCopyTilemapToVram(3);
- HelpSystem_SetSomeVariable(9); // help system something
+ SetHelpContextDontCheckBattle(HELPCONTEXT_BAG);
BlendPalettes(0xFFFFFFFF, 0x10, 0);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
SetVBlankCallback(TeachyTvVblankHandler);
diff --git a/src/title_screen.c b/src/title_screen.c
index af78893b9..0ff0a6b96 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -575,7 +575,7 @@ static void SetTitleScreenScene_Run(s16 * data)
switch (data[1])
{
case 0:
- HelpSystem_SetSomeVariable2(1);
+ SetHelpContext(HELPCONTEXT_TITLE_SCREEN);
CreateTask(Task_TitleScreen_BlinkPressStart, 0);
CreateTask(Task_FlameOrLeafSpawner, 5);
SetGpuRegsForTitleScreenRun();
diff --git a/src/trainer_card.c b/src/trainer_card.c
index 600035613..df116d379 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -570,7 +570,7 @@ static void Task_TrainerCard(u8 taskId)
if (JOY_NEW(A_BUTTON))
{
- HelpSystem_SetSomeVariable2(11);
+ SetHelpContext(HELPCONTEXT_TRAINER_CARD_BACK);
FlipTrainerCard();
PlaySE(SE_CARD1);
sTrainerCardDataPtr->mainState = STATE_WAIT_FLIP_TO_BACK;
@@ -609,7 +609,7 @@ static void Task_TrainerCard(u8 taskId)
}
else
{
- HelpSystem_SetSomeVariable2(10);
+ SetHelpContext(HELPCONTEXT_TRAINER_CARD_FRONT);
FlipTrainerCard();
sTrainerCardDataPtr->mainState = STATE_WAIT_FLIP_TO_FRONT;
PlaySE(SE_CARD1);
@@ -1042,7 +1042,7 @@ static void InitBgsAndWindows(void)
static void SetTrainerCardCB2(void)
{
SetMainCallback2(CB2_TrainerCard);
- HelpSystem_SetSomeVariable2(10);
+ SetHelpContext(HELPCONTEXT_TRAINER_CARD_FRONT);
}
static void SetUpTrainerCardTask(void)