diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-03-05 14:38:26 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-03-05 14:38:26 -0500 |
commit | 83137b40053bbea4c5288e269ed913746dd9713f (patch) | |
tree | c30e0e3d4e88caf9e9f9fb6345c85bdd8aa071d2 /src | |
parent | 7f81fdc8df5247c926228b784f6878dc3edac051 (diff) | |
parent | 3d5d298c63a88c1a581b58d44dcc3706a7799c04 (diff) |
Merge branch 'master' of github.com:pret/pokefirered into dodrio_berry_picking
Diffstat (limited to 'src')
54 files changed, 4096 insertions, 1639 deletions
diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c index 8737a3866..a6b3fe994 100644 --- a/src/battle_controller_pokedude.c +++ b/src/battle_controller_pokedude.c @@ -125,7 +125,7 @@ static void SetPokedudeMonData(u8 monId); static void sub_8159478(u8 battlerId); static void PokedudeDoMoveAnimation(void); static void sub_81595EC(u8 taskId); -static const u8 *sub_8159EF0(void); +static const u8 *GetPokedudeText(void); u8 *gUnknown_3005EE0[MAX_BATTLERS_COUNT]; @@ -222,10 +222,10 @@ static const u8 gUnknown_8479048[][8] = static const u8 (*const gUnknown_8479060[])[8] = { - gUnknown_8479008, - gUnknown_8479018, - gUnknown_8479030, - gUnknown_8479048, + [TTVSCR_BATTLE] = gUnknown_8479008, + [TTVSCR_STATUS] = gUnknown_8479018, + [TTVSCR_MATCHUPS] = gUnknown_8479030, + [TTVSCR_CATCHING] = gUnknown_8479048, }; static const u8 gUnknown_8479070[][8] = @@ -259,10 +259,10 @@ static const u8 gUnknown_84790C0[][8] = static const u8 (*const gUnknown_84790D8[])[8] = { - gUnknown_8479070, - gUnknown_8479080, - gUnknown_84790A0, - gUnknown_84790C0, + [TTVSCR_BATTLE] = gUnknown_8479070, + [TTVSCR_STATUS] = gUnknown_8479080, + [TTVSCR_MATCHUPS] = gUnknown_84790A0, + [TTVSCR_CATCHING] = gUnknown_84790C0, }; static const struct Unk_84790E8 gUnknown_84790E8[] = @@ -415,48 +415,48 @@ static const struct Unk_84790E8 gUnknown_8479168[] = static const struct Unk_84790E8 *const gUnknown_8479198[] = { - gUnknown_84790E8, - gUnknown_8479108, - gUnknown_8479130, - gUnknown_8479168, + [TTVSCR_BATTLE] = gUnknown_84790E8, + [TTVSCR_STATUS] = gUnknown_8479108, + [TTVSCR_MATCHUPS] = gUnknown_8479130, + [TTVSCR_CATCHING] = gUnknown_8479168, }; -static const u8 *const gUnknown_84791A8[] = +static const u8 *const sPokedudeTexts_Battle[] = { - gUnknown_81C5F69, - gUnknown_81C5FA7, - gUnknown_81C5FDC, - gUnknown_81C601C, + Pokedude_Text_SpeedierBattlerGoesFirst, + Pokedude_Text_MyRattataFasterThanPidgey, + Pokedude_Text_BattlersTakeTurnsAttacking, + Pokedude_Text_MyRattataWonGetsEXP, }; -static const u8 *const gUnknown_84791B8[] = +static const u8 *const sPokedudeTexts_Status[] = { - gUnknown_81C60FA, - gUnknown_81C60FA, - gUnknown_81C615A, - gUnknown_81C6196, - gUnknown_81C61EA, + Pokedude_Text_UhOhRattataPoisoned, + Pokedude_Text_UhOhRattataPoisoned, + Pokedude_Text_HealStatusRightAway, + Pokedude_Text_UsingItemTakesTurn, + Pokedude_Text_YayWeManagedToWin, }; -static const u8 *const gUnknown_84791CC[] = +static const u8 *const sPokedudeTexts_TypeMatchup[] = { - gUnknown_81C6202, - gUnknown_81C6301, - gUnknown_81C63A9, - gUnknown_81C63F9, - gUnknown_81C6446, - gUnknown_81C657A, - gUnknown_81C6637, + Pokedude_Text_WaterNotVeryEffectiveAgainstGrass, + Pokedude_Text_GrassEffectiveAgainstWater, + Pokedude_Text_LetsTryShiftingMons, + Pokedude_Text_ShiftingUsesTurn, + Pokedude_Text_ButterfreeDoubleResistsGrass, + Pokedude_Text_ButterfreeGoodAgainstOddish, + Pokedude_Text_YeahWeWon, }; -static const u8 *const gUnknown_84791E8[] = +static const u8 *const sPokedudeTexts_Catching[] = { - gUnknown_81C6645, - gUnknown_81C6645, - gUnknown_81C66CF, - gUnknown_81C6787, - gUnknown_81C684B, - gUnknown_81C686C, + Pokedude_Text_WeakenMonBeforeCatching, + Pokedude_Text_WeakenMonBeforeCatching, + Pokedude_Text_BestIfTargetStatused, + Pokedude_Text_CantDoubleUpOnStatus, + Pokedude_Text_LetMeThrowBall, + Pokedude_Text_PickBestKindOfBall, }; static const struct PokedudeBattlePartyInfo sParties_Battle[] = @@ -554,10 +554,10 @@ static const struct PokedudeBattlePartyInfo sParties_Catching[] = static const struct PokedudeBattlePartyInfo *const sPokedudeBattlePartyPointers[] = { - sParties_Battle, - sParties_Status, - sParties_Matchups, - sParties_Catching, + [TTVSCR_BATTLE] = sParties_Battle, + [TTVSCR_STATUS] = sParties_Status, + [TTVSCR_MATCHUPS] = sParties_Matchups, + [TTVSCR_CATCHING] = sParties_Catching, }; static void nullsub_99(void) @@ -2595,7 +2595,7 @@ static void sub_8159BA8(void) break; case 2: gBattle_BG0_Y = 0; - BattleStringExpandPlaceholdersToDisplayedString(sub_8159EF0()); + BattleStringExpandPlaceholdersToDisplayedString(GetPokedudeText()); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gUnknown_3005EE0[gActiveBattler][2]; break; @@ -2656,7 +2656,7 @@ static void sub_8159D04(void) } break; case 3: - BattleStringExpandPlaceholdersToDisplayedString(sub_8159EF0()); + BattleStringExpandPlaceholdersToDisplayedString(GetPokedudeText()); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gUnknown_3005EE0[gActiveBattler][2]; break; @@ -2696,19 +2696,19 @@ static void sub_8159D04(void) } } -static const u8 *sub_8159EF0(void) +static const u8 *GetPokedudeText(void) { switch (gBattleStruct->field_96) { - case 0: + case TTVSCR_BATTLE: default: - return gUnknown_84791A8[gBattleStruct->field_97 - 1]; - case 1: - return gUnknown_84791B8[gBattleStruct->field_97 - 1]; - case 2: - return gUnknown_84791CC[gBattleStruct->field_97 - 1]; - case 3: - return gUnknown_84791E8[gBattleStruct->field_97 - 1]; + return sPokedudeTexts_Battle[gBattleStruct->field_97 - 1]; + case TTVSCR_STATUS: + return sPokedudeTexts_Status[gBattleStruct->field_97 - 1]; + case TTVSCR_MATCHUPS: + return sPokedudeTexts_TypeMatchup[gBattleStruct->field_97 - 1]; + case TTVSCR_CATCHING: + return sPokedudeTexts_Catching[gBattleStruct->field_97 - 1]; } } diff --git a/src/battle_main.c b/src/battle_main.c index e7d02c673..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); } } } @@ -3713,7 +3713,7 @@ static void HandleEndTurn_BattleLost(void) } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL) { if (GetRivalBattleFlags() & RIVAL_BATTLE_HEAL_AFTER) gBattleCommunication[MULTISTRING_CHOOSER] = 1; // Dont do white out text diff --git a/src/battle_records.c b/src/battle_records.c index e2ae94f65..3196d9bad 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -88,7 +88,7 @@ static u8 *const sStringVars[3] = { gStringVar3 }; -void Special_BattleRecords(void) +void ShowBattleRecords(void) { SetVBlankCallback(NULL); SetMainCallback2(MainCB2_SetUp); diff --git a/src/battle_setup.c b/src/battle_setup.c index 354487abd..82a73990b 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -221,7 +221,7 @@ static bool8 CheckSilphScopeInPokemonTower(u16 mapGroup, u16 mapNum) return FALSE; } -void BattleSetup_StartWildBattle(void) +void StartWildBattle(void) { if (GetSafariZoneFlag()) DoSafariBattle(); @@ -243,7 +243,7 @@ static void DoStandardWildBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void BattleSetup_StartRoamerBattle(void) +void StartRoamerBattle(void) { ScriptContext2_Enable(); FreezeObjectEvents(); @@ -285,7 +285,7 @@ static void DoTrainerBattle(void) IncrementGameStat(GAME_STAT_TRAINER_BATTLES); } -void ScrSpecial_StartOldManTutorialBattle(void) +void StartOldManTutorialBattle(void) { CreateMaleMon(&gEnemyParty[0], SPECIES_WEEDLE, 5); ScriptContext2_Enable(); @@ -294,7 +294,7 @@ void ScrSpecial_StartOldManTutorialBattle(void) CreateBattleStartTask(B_TRANSITION_SLICED_SCREEN, 0); } -void BattleSetup_StartScriptedWildBattle(void) +void StartScriptedWildBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -304,7 +304,7 @@ void BattleSetup_StartScriptedWildBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void ScrSpecial_StartMarowakBattle(void) +void StartMarowakBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndMarowakBattle; @@ -323,7 +323,7 @@ void ScrSpecial_StartMarowakBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void ScrSpecial_StartSouthernIslandBattle(void) +void StartSouthernIslandBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -333,7 +333,7 @@ void ScrSpecial_StartSouthernIslandBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void Special_StartLegendaryBattle(void) +void StartLegendaryBattle(void) { u16 species; @@ -364,7 +364,7 @@ void Special_StartLegendaryBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void Special_StartGroudonKyogreBattle(void) +void StartGroudonKyogreBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -377,7 +377,7 @@ void Special_StartGroudonKyogreBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void Special_StartRegiBattle(void) +void StartRegiBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -778,7 +778,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) { case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT: TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data); - return EventScript_DoTrainerBattle; + return EventScript_DoNoIntroTrainerBattle; case TRAINER_BATTLE_DOUBLE: TrainerBattleLoadArgs(sDoubleBattleParams, data); SetMapVarsToTrainer(); @@ -807,7 +807,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) return EventScript_TryDoRematchBattle; case TRAINER_BATTLE_EARLY_RIVAL: TrainerBattleLoadArgs(sEarlyRivalBattleParams, data); - return EventScript_DoTrainerBattle; + return EventScript_DoNoIntroTrainerBattle; default: TrainerBattleLoadArgs(sOrdinaryBattleParams, data); SetMapVarsToTrainer(); @@ -820,7 +820,7 @@ void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerSc gSelectedObjectEvent = trainerEventObjId; gSpecialVar_LastTalked = gObjectEvents[trainerEventObjId].localId; BattleSetup_ConfigureTrainerBattle(trainerScript + 1); - ScriptContext1_SetupScript(gUnknown_81A4EB4); + ScriptContext1_SetupScript(EventScript_DoTrainerBattleFromApproach); ScriptContext2_Enable(); } @@ -838,7 +838,7 @@ void SetUpTrainerMovement(void) SetTrainerMovementType(objectEvent, GetTrainerFacingDirectionMovementType(objectEvent->facingDirection)); } -u8 ScrSpecial_GetTrainerBattleMode(void) +u8 GetTrainerBattleMode(void) { return sTrainerBattleMode; } @@ -848,7 +848,7 @@ u16 GetRivalBattleFlags(void) return sRivalBattleFlags; } -u16 ScrSpecial_HasTrainerBeenFought(void) +u16 Script_HasTrainerBeenFought(void) { return FlagGet(GetTrainerAFlag()); } @@ -879,10 +879,10 @@ void ClearTrainerFlag(u16 trainerId) FlagClear(FLAG_TRAINER_FLAG_START + trainerId); } -void BattleSetup_StartTrainerBattle(void) +void StartTrainerBattle(void) { gBattleTypeFlags = BATTLE_TYPE_TRAINER; - if (ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL && GetRivalBattleFlags() & RIVAL_BATTLE_TUTORIAL) + if (GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL && GetRivalBattleFlags() & RIVAL_BATTLE_TUTORIAL) gBattleTypeFlags |= BATTLE_TYPE_FIRST_BATTLE; gMain.savedCallback = CB2_EndTrainerBattle; DoTrainerBattle(); @@ -956,7 +956,7 @@ static void CB2_EndRematchBattle(void) } } -void ScrSpecial_StartTrainerEyeRematch(void) +void StartRematchBattle(void) { gBattleTypeFlags = BATTLE_TYPE_TRAINER; gMain.savedCallback = CB2_EndRematchBattle; @@ -964,7 +964,7 @@ void ScrSpecial_StartTrainerEyeRematch(void) ScriptContext1_Stop(); } -void ScrSpecial_ShowTrainerIntroSpeech(void) +void ShowTrainerIntroSpeech(void) { ShowFieldMessage(GetIntroSpeechOfApproachingTrainer()); } @@ -985,7 +985,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void) return Test_EventScript_Sign; } -void ScrSpecial_ShowTrainerNonBattlingSpeech(void) +void ShowTrainerCantBattleSpeech(void) { ShowFieldMessage(GetTrainerCantBattleSpeech()); } diff --git a/src/battle_tower.c b/src/battle_tower.c index ca434fad3..818c909aa 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -177,7 +177,7 @@ static const u16 sLongStreakPrizes[] = { ITEM_CHOICE_BAND }; -void ScrSpecial_BattleTowerMapScript2(void) +void BattleTowerMapScript2(void) { u8 count = 0; s32 levelType; diff --git a/src/berry_pouch.c b/src/berry_pouch.c index ef8ded539..a0b2c03a3 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -1027,7 +1027,7 @@ static void CreateNormalContextMenu(u8 taskId) Menu_InitCursor(windowId, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, sContextMenuNumOptions, 0); windowId2 = GetOrCreateVariableWindow(6); CopySelectedListMenuItemName(data[1], gStringVar1); - StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); BerryPouchPrint(windowId2, 2, gStringVar4, 0, 2, 1, 2, 0, 1); } diff --git a/src/berry_powder.c b/src/berry_powder.c index 2eff23802..3ebffed48 100644 --- a/src/berry_powder.c +++ b/src/berry_powder.c @@ -36,7 +36,7 @@ static bool8 HasEnoughBerryPowder(u32 cost) return TRUE; } -bool8 Special_HasEnoughBerryPowder(void) +bool8 Script_HasEnoughBerryPowder(void) { if (DecryptBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < gSpecialVar_0x8004) return FALSE; @@ -73,7 +73,7 @@ static bool8 TakeBerryPowder(u32 cost) } } -bool8 Special_TakeBerryPowder(void) +bool8 Script_TakeBerryPowder(void) { u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount; if (!HasEnoughBerryPowder(gSpecialVar_0x8004)) diff --git a/src/cable_club.c b/src/cable_club.c index e7277ed07..b7f9b9114 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -573,7 +573,7 @@ static void Task_ReestablishLinkInCableClubRoom_2(u8 taskId) } } -void Special_CableClub_AskSaveTheGame(void) +void CableClub_AskSaveTheGame(void) { Field_AskSaveTheGame(); } @@ -765,7 +765,7 @@ void CleanupLinkRoomState(void) copy_saved_warp2_bank_and_enter_x_to_warp1(127); } -void sub_8081770(void) +void ExitLinkRoom(void) { sub_8057F5C(); } @@ -896,7 +896,7 @@ static void CreateTask_StartWiredCableClubTrade(void) CreateTask(Task_StartWiredCableClubTrade, 80); } -void Special_WiredCableClubTrade(void) +void StartWiredCableClubTrade(void) { CreateTask_StartWiredCableClubTrade(); ScriptContext1_Stop(); diff --git a/src/credits.c b/src/credits.c index a53d72f31..63d4c9c85 100644 --- a/src/credits.c +++ b/src/credits.c @@ -714,7 +714,7 @@ static const struct CreditsTextHeader sCreditsTexts[] = { { gString_Dummy, gString_Dummy, FALSE } }; -void Special_Credits(void) +void DoCredits(void) { sCreditsMgr = AllocZeroed(sizeof(*sCreditsMgr)); ResetTasks(); diff --git a/src/data/text/quest_log.h b/src/data/text/quest_log.h new file mode 100644 index 000000000..db65f6e47 --- /dev/null +++ b/src/data/text/quest_log.h @@ -0,0 +1,125 @@ +const u8 gText_QuestLog_PreviouslyOnYourQuest[] = _("Previously on your quest…"); +const u8 gText_QuestLog_SwitchMon1WithMon2[] = _("{PLAYER} switched the POKéMON\n{STR_VAR_1} with {STR_VAR_2}."); +const u8 gText_QuestLog_SwappedHeldItemsOnMon[] = _("Took the item {STR_VAR_2} from\n{STR_VAR_1} and gave it the item\n{STR_VAR_3} to hold."); +const u8 gText_QuestLog_TookHeldItemFromMon[] = _("Took the item {STR_VAR_2} from\n{STR_VAR_1}."); +const u8 gText_QuestLog_UsedItemOnMonAtThisLocation[] = _("Used the item {STR_VAR_1} on {STR_VAR_2}\nat this location."); +const u8 gText_QuestLog_UsedTheItem[] = _("{PLAYER} used the\n{STR_VAR_1}."); +const u8 gText_QuestLog_UsedTheKeyItem[] = _("Used the item {STR_VAR_1}, which was\nin the KEY ITEMS POCKET."); +const u8 gText_QuestLog_MonLearnedMoveFromTM[] = _("{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM."); +const u8 gText_QuestLog_MonReplacedMoveWithTM[] = _("{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM and forgot\nthe move {STR_VAR_3}."); +const u8 gText_QuestLog_MonsWereFullyRestoredAtCenter[] = _("POKéMON were fully restored\nat a POKéMON CENTER."); +const u8 gText_QuestLog_PlayerBattledChampionRival[] = _("{DYNAMIC 0x00} had a marvelous battle\nwith the CHAMPION, {DYNAMIC 0x01}."); +const u8 gText_QuestLog_PlayerSentOutMon1RivalSentOutMon2[] = _("In the end, {DYNAMIC 0x00} sent out {DYNAMIC 0x01}\nwhile {DYNAMIC 0x02} countered with\n{DYNAMIC 0x03}."); +const u8 gText_QuestLog_WonTheMatchAsAResult[] = _("And, as a result of battling with every\nbit of power, {DYNAMIC 0x00} won\nthe match."); +const u8 gText_QuestLog_StoredItemInPC[] = _("Removed the item {STR_VAR_1} from\nthe BAG's ITEMS POCKET and stored it\non the PC."); +const u8 gText_QuestLog_WithdrewItemFromPC[] = _("{PLAYER} withdrew the item {STR_VAR_1}\nfrom the PC."); +const u8 gText_QuestLog_TradedMon1ForPersonsMon2[] = _("Traded {STR_VAR_3} in exchange for\n{STR_VAR_1}'s {STR_VAR_2}."); +const u8 gText_QuestLog_SingleBattleWithPersonResultedInOutcome[] = _("Took on {DYNAMIC 0x00} in a SINGLE BATTLE.\nIt was a hotly contested match that\nresulted in a {DYNAMIC 0x01}."); +const u8 gText_QuestLog_DoubleBattleWithPersonResultedInOutcome[] = _("Took on {DYNAMIC 0x00} in a DOUBLE BATTLE.\nIt was an extended match that resulted\nin a {DYNAMIC 0x01}."); +const u8 gText_QuestLog_MultiBattleWithPeopleResultedInOutcome[] = _("{DYNAMIC 0x00} and {DYNAMIC 0x01} took on\n{DYNAMIC 0x02} and {DYNAMIC 0x03} in a\nMULTI BATTLE and got a {DYNAMIC 0x04}."); +const u8 gText_QuestLog_Win[] = _("win"); +const u8 gText_QuestLog_Loss[] = _("loss"); +const u8 gText_QuestLog_MingledInUnionRoom[] = _("Mingled with other TRAINERS in\nthe UNION ROOM."); +const u8 gText_QuestLog_DepartedPlaceInTownForNextDestination[] = _("Departed {STR_VAR_2}\nin {STR_VAR_1} for the next\ndestination."); +const u8 gText_QuestLog_SwitchedMonsBetweenBoxes[] = _("After consideration, switched\n{DYNAMIC 0x01} in {DYNAMIC 0x00} with\n{DYNAMIC 0x03} in {DYNAMIC 0x02}."); +const u8 gText_QuestLog_MovedMonToNewBox[] = _("After deep thought, switched\n{DYNAMIC 0x01} in BOX “{DYNAMIC 0x00}” to\nthe BOX “{DYNAMIC 0x02}.”"); +const u8 gText_QuestLog_SwitchedMonsWithinBox[] = _("Switched around {DYNAMIC 0x01} and\n{DYNAMIC 0x02} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_MovedMonWithinBox[] = _("Moved {DYNAMIC 0x01} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_SwitchedPartyMonForPCMon[] = _("Switched {DYNAMIC 0x01} in {DYNAMIC 0x00}\nwith {DYNAMIC 0x02} in the party."); +const u8 gText_QuestLog_WithdrewMonFromPC[] = _("Added {DYNAMIC 0x01} in {DYNAMIC 0x00}\nto the party."); +const u8 gText_QuestLog_DepositedMonInPC[] = _("Moved {DYNAMIC 0x00} from the party\nto {DYNAMIC 0x01}."); +const u8 gText_QuestLog_SwitchedMultipleMons[] = _("Moved a group of POKéMON in\n{DYNAMIC 0x00} to {DYNAMIC 0x01}."); +const u8 gText_QuestLog_ADifferentSpot[] = _("a different spot"); +const u8 gText_QuestLog_GaveMonHeldItemFromPC[] = _("Removed the item {STR_VAR_1} from\n{PLAYER}'s PC and gave it to {STR_VAR_2}\nto hold."); +const u8 gText_QuestLog_SwappedHeldItemFromPC[] = _("Removed the item {STR_VAR_1} from\na PC, gave it to {STR_VAR_2}, and put\nthe {STR_VAR_3} it held in the BAG."); +const u8 gText_QuestLog_ChattedWithManyTrainers[] = _("Chatted with many TRAINERS."); +const u8 gText_QuestLog_Handily[] = _("handily"); +const u8 gText_QuestLog_Tenaciously[] = _("tenaciously"); +const u8 gText_QuestLog_Somehow[] = _("somehow"); +const u8 gText_QuestLog_TradedMon1ForTrainersMon2[] = _("Met and traded with {STR_VAR_1}.\nObtained the TRAINER's {STR_VAR_2} in\nexchange for {STR_VAR_3}."); +const u8 gText_QuestLog_BattledTrainerEndedInOutcome[] = _("Met and battled {STR_VAR_1}.\nThe match ended in a {STR_VAR_2}."); +const u8 gText_QuestLog_BoughtItem[] = _("Went to the POKéMON MART in\n{DYNAMIC 0x00} and bought one \n{DYNAMIC 0x01}."); +const u8 gText_QuestLog_BoughtItemsIncludingItem[] = _("Went to the POKéMON MART in\n{DYNAMIC 0x00} and spent ¥{DYNAMIC 0x02} for\nitems including {DYNAMIC 0x01}(s)."); +const u8 gText_QuestLog_SoldNumOfItem[] = _("{DYNAMIC 0x00} went to the POKéMON MART in\n{DYNAMIC 0x01} and sold {DYNAMIC 0x03} of\nthe item {DYNAMIC 0x02}."); +const u8 gText_QuestLog_SoldItemsIncludingItem[] = _("Sold items including {DYNAMIC 0x01} at\nthe POKéMON MART in {DYNAMIC 0x00},\nworth ¥{DYNAMIC 0x02}."); +const u8 gText_QuestLog_JustOne[] = _("just one"); +const u8 gText_QuestLog_Num[] = _("{DYNAMIC 0x04}"); +const u8 gText_QuestLog_UsedSoftboiled[] = _("{STR_VAR_1} shared its HP using the move\nSOFTBOILED."); +const u8 gText_QuestLog_UsedMilkDrink[] = _("{STR_VAR_1} shared its HP using the move\nMILK DRINK."); +const u8 gText_QuestLog_MonLearnedMoveFromHM[] = _("{STR_VAR_1} securely learned the move\n{STR_VAR_2} using an HM."); +const u8 gText_QuestLog_MonReplacedMoveWithHM[] = _("{STR_VAR_1} securely learned the move\n{STR_VAR_2} using an HM and forgot\nthe move {STR_VAR_3}."); +const u8 gText_QuestLog_DefeatedWildMon[] = _("{DYNAMIC 0x05} managed to defeat the POKéMON\n{DYNAMIC 0x01} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMons[] = _("Defeated {DYNAMIC 0x02} wild POKéMON including\n{DYNAMIC 0x01} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_CaughtWildMon[] = _("{DYNAMIC 0x05} managed to catch the POKéMON\n{DYNAMIC 0x03} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_CaughtWildMons[] = _("Threw POKé BALLS in a frenzy, catching\n{DYNAMIC 0x04} POKéMON including {DYNAMIC 0x03} here\nin {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonAndCaughtWildMon[] = _("{DYNAMIC 0x05} defeated the POKéMON\n{DYNAMIC 0x01} and caught one {DYNAMIC 0x03}\nin {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonAndCaughtWildMons[] = _("Defeated the POKéMON {DYNAMIC 0x01}\nand caught {DYNAMIC 0x04} POKéMON including\n{DYNAMIC 0x03} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonsAndCaughtWildMon[] = _("{DYNAMIC 0x05} defeated {DYNAMIC 0x02} POKéMON including\n{DYNAMIC 0x01} and caught one {DYNAMIC 0x03}\nin {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonsAndCaughtWildMons[] = _("Defeated {DYNAMIC 0x02} POKéMON including\n{DYNAMIC 0x01} and caught {DYNAMIC 0x04} POKéMON\nincluding {DYNAMIC 0x03} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_GaveMonHeldItem[] = _("Made {STR_VAR_1} hold the item\n{STR_VAR_2}."); +const u8 gText_QuestLog_GaveMonHeldItem2[] = _("{PLAYER} made {STR_VAR_1} hold the item\n{STR_VAR_2}."); +const u8 gText_QuestLog_UsedCut[] = _("{STR_VAR_1} used the Hidden Move\nCUT here."); +const u8 gText_QuestLog_UsedFly[] = _("{STR_VAR_1} used the Hidden Move\nFLY and flew to {STR_VAR_2}."); +const u8 gText_QuestLog_UsedSurf[] = _("{STR_VAR_1} used the Hidden Move\nSURF and rode the waves."); +const u8 gText_QuestLog_UsedStrength[] = _("{STR_VAR_1} used the Hidden Move\nSTRENGTH here."); +const u8 gText_QuestLog_UsedFlash[] = _("{STR_VAR_1} used the Hidden Move\nFLASH and illuminated a pitch-black\ncave."); +const u8 gText_QuestLog_UsedRockSmash[] = _("{STR_VAR_1} used the Hidden Move\nROCK SMASH here."); +const u8 gText_QuestLog_UsedWaterfall[] = _("{STR_VAR_1} used the Hidden Move\nWATERFALL to scale a raging torrent."); // Unused +const u8 gText_QuestLog_UsedDive[] = _("{STR_VAR_1}は ふかい ところを めざし\nひでんわざ\nダイビングを つかった!"); +const u8 gText_QuestLog_UsedDigInLocation[] = _("{STR_VAR_1} used DIG to escape from\n{STR_VAR_2}."); +const u8 gText_QuestLog_UsedSweetScent[] = _("{STR_VAR_1} used SWEET SCENT to attract\nwild POKéMON."); +const u8 gText_QuestLog_UsedTeleportToLocation[] = _("{STR_VAR_1} used TELEPORT, transporting\nthe party to {STR_VAR_2}'s\n{STR_VAR_3}."); +const u8 gText_QuestLog_LeftTownsLocationForNextDestination[] = _("{PLAYER} left {STR_VAR_1}'s\n{STR_VAR_2} for the next\ndestination."); +const u8 gText_QuestLog_PlayedGamesAtGameCorner[] = _("Played a lot of games at the ROCKET\nGAME CORNER in {STR_VAR_1}."); +const u8 gText_QuestLog_RestedAtHome[] = _("{PLAYER} rested comfortably at home."); +const u8 gText_QuestLog_LeftOaksLab[] = _("{PLAYER} left PROF. OAK's POKéMON\nRESEARCH LAB."); +const u8 gText_QuestLog_GymWasFullOfToughTrainers[] = _("The GYM in {STR_VAR_1} was full of\ntough TRAINERS…\nPreparations had to be made."); +const u8 gText_QuestLog_DepartedGym[] = _("Departed the GYM in {STR_VAR_1}."); +const u8 gText_QuestLog_HadGreatTimeInSafariZone[] = _("{PLAYER} had a great time with POKéMON\nin the SAFARI ZONE."); +const u8 gText_QuestLog_ManagedToGetOutOfLocation[] = _("Managed to get out of {STR_VAR_2}\nafter wandering about."); +const u8 gText_QuestLog_TookOnGymLeadersMonWithMonAndWon[] = _("Took on {DYNAMIC 0x00} GYM LEADER\n{DYNAMIC 0x01}'s {DYNAMIC 0x02} with {DYNAMIC 0x03}\nand won {DYNAMIC 0x04}!"); +const u8 gText_QuestLog_TookOnEliteFoursMonWithMonAndWon[] = _("Took on ELITE FOUR {DYNAMIC 0x00}'s\n{DYNAMIC 0x01} with {DYNAMIC 0x02} and\nwon {DYNAMIC 0x03}!"); +const u8 gText_QuestLog_TookOnTrainersMonWithMonAndWon[] = _("In {DYNAMIC 0x00}, took on\n{DYNAMIC 0x01}'s {DYNAMIC 0x02} with {DYNAMIC 0x03}\nand won {DYNAMIC 0x04}!"); +const u8 gText_QuestLog_Coolly[] = _("coolly"); +const u8 gText_QuestLog_Barely[] = _("barely"); +const u8 gText_QuestLog_UsedEscapeRope[] = _("{PLAYER} used an ESCAPE ROPE to get\nout from {STR_VAR_2}."); +const u8 gText_QuestLog_Draw[] = _("draw"); +const u8 gText_QuestLog_DepartedTheLocationForNextDestination[] = _("Departed from the {STR_VAR_2}\nfor the next destination."); +const u8 gText_QuestLog_DepartedFromLocationToNextDestination[] = _("{PLAYER} departed from\n{STR_VAR_2} and made way\nto the next destination."); +const u8 gText_QuestLog_ObtainedItemInLocation[] = _("Here in {STR_VAR_1}, {PLAYER}\nobtained the item {STR_VAR_2}."); +const u8 gText_QuestLog_ArrivedInLocation[] = _("Arrived in {STR_VAR_1}."); +const u8 gText_QuestLog_SavedGameAtLocation[] = _("And {PLAYER} saved the game at this\nlocation: {STR_VAR_1}."); +const u8 gText_QuestLog_Home[] = _("HOME"); +const u8 gText_QuestLog_OakResearchLab[] = _("OAK RESEARCH LAB"); +const u8 gText_QuestLog_Gym[] = _("GYM"); +const u8 gText_QuestLog_PokemonLeagueGate[] = _("POKéMON LEAGUE GATE"); +const u8 gText_QuestLog_ViridianForest[] = _("VIRIDIAN FOREST"); +const u8 gText_QuestLog_PewterMuseumOfScience[] = _("PEWTER MUSEUM OF SCIENCE"); +const u8 gText_QuestLog_MtMoon[] = _("MT. MOON"); +const u8 gText_QuestLog_BikeShop[] = _("BIKE SHOP"); +const u8 gText_QuestLog_BillsHouse[] = _("BILL'S HOUSE"); +const u8 gText_QuestLog_DayCare[] = _("DAY CARE"); +const u8 gText_QuestLog_UndergroundPath[] = _("UNDERGROUND PATH"); +const u8 gText_QuestLog_PokemonFanClub[] = _("POKéMON FAN CLUB"); +const u8 gText_QuestLog_SSAnne[] = _("S.S. ANNE"); +const u8 gText_QuestLog_DiglettsCave[] = _("DIGLETT'S CAVE"); +const u8 gText_QuestLog_RockTunnel[] = _("ROCK TUNNEL"); +const u8 gText_QuestLog_PowerPlant[] = _("POWER PLANT"); +const u8 gText_QuestLog_PokemonTower[] = _("POKéMON TOWER"); +const u8 gText_QuestLog_VolunteerHouse[] = _("VOLUNTEER HOUSE"); +const u8 gText_QuestLog_NameRatersHouse[] = _("NAME RATER'S HOUSE"); +const u8 gText_QuestLog_CeladonDeptStore[] = _("CELADON DEPT. STORE"); +const u8 gText_QuestLog_CeladonMansion[] = _("CELADON MANSION"); +const u8 gText_QuestLog_RocketGameCorner[] = _("ROCKET GAME CORNER"); +const u8 gText_QuestLog_Restaurant[] = _("RESTAURANT"); +const u8 gText_QuestLog_RocketHideout[] = _("ROCKET HIDEOUT"); +const u8 gText_QuestLog_SafariZone[] = _("SAFARI ZONE"); +const u8 gText_QuestLog_WardensHome[] = _("WARDEN'S HOME"); +const u8 gText_QuestLog_FightingDojo[] = _("FIGHTING DOJO"); +const u8 gText_QuestLog_SilphCo[] = _("SILPH CO."); +const u8 gText_QuestLog_SeafoamIslands[] = _("SEAFOAM ISLANDS"); +const u8 gText_QuestLog_PokemonMansion[] = _("POKéMON MANSION"); +const u8 gText_QuestLog_PokemonResearchLab[] = _("POKéMON RESEARCH LAB"); +const u8 gText_QuestLog_VictoryRoad[] = _("VICTORY ROAD"); +const u8 gText_QuestLog_PokemonLeague[] = _("POKéMON LEAGUE"); +const u8 gText_QuestLog_CeruleanCave[] = _("CERULEAN CAVE"); diff --git a/src/data/text/teachy_tv.h b/src/data/text/teachy_tv.h new file mode 100644 index 000000000..3cfa41ff7 --- /dev/null +++ b/src/data/text/teachy_tv.h @@ -0,0 +1,198 @@ +const u8 gTeachyTvString_TeachBattle[] = _("Teach me how to battle."); +const u8 gTeachyTvString_StatusProblems[] = _("What are status problems?"); +const u8 gTeachyTvString_TypeMatchups[] = _("What are type matchups?"); +const u8 gTeachyTvString_CatchPkmn[] = _("I want to catch POKéMON."); +const u8 gTeachyTvString_AboutTMs[] = _("Teach me about TMs."); +const u8 gTeachyTvString_RegisterItem[] = _("How do I register an item?"); +const u8 gTeachyTvString_Cancel[] = _("CANCEL"); +const u8 gTeachyTvText_PokedudeSaysHello[] = _( + "Hey, all you TRAINERS out there!\n" + "HELLO, TRAINERS!\p" + "……… ……… ………\p" + "Come on, let me hear you!\n" + "HELLO, TRAINERS!\l" + "It's me, the POKé DUDE!\p"); +const u8 gTeachyTvText_BattleScript1[] = _( + "Today, the POKé DUDE's here to\n" + "tell you about how you can battle\l" + "POKéMON!\p" + "Say you're out for a stroll when,\n" + "suddenly, a wild POKéMON appears!\p" + "It's up to you to smartly use your\n" + "POKéMON and their moves to reduce\l" + "the opponent's HP to nothing, and\l" + "claim victory!\p" + "I'll show you how to do that in\n" + "person and for sure!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_BattleScript2[] = _( + "Well, did you get that?\p" + "Even if your own POKéMON's HP\n" + "falls to zero, and it becomes\l" + "unable to battle, not to worry!\p" + "Just take it to any POKéMON\n" + "CENTER and heal it!\p" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_StatusScript1[] = _( + "Today, the POKé DUDE's here to\n" + "tell you about status problems!\p" + "Status problems include poisoning,\n" + "paralysis, sleep, burn…\p" + "There are a couple others, but\n" + "they really are trouble.\p" + "Get any one, and your POKéMON\n" + "may become useless in battle.\p" + "You know, it hurts the POKé DUDE\n" + "to see a POKéMON suffer…\p" + "So, what should you do if your\n" + "POKéMON gets a status problem?\p" + "Well, you've got me to show you!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_StatusScript2[] = _( + "Poisoning or paralysis don't go\n" + "away after a battle.\p" + "If a POKéMON is poisoned, it loses\n" + "HP even while you're walking.\p" + "You should heal POKéMON of these\n" + "kinds of problems right away.\p" + "Use an item, or try to get to a\n" + "POKéMON CENTER for healing.\p" + "That wasn't hard, was it?\n" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_MatchupsScript1[] = _( + "Does everyone know about type\n" + "matchups?\p" + "POKéMON and their moves all\n" + "belong to certain types.\p" + "For example, there are such types\n" + "as GRASS and WATER.\p" + "You need to consider the type of\n" + "the move used to attack…\p" + "And, the type of the POKéMON that\n" + "is hit by that attack.\p" + "Depending on how those two types\n" + "match up, the damage can change.\p" + "You see, it depends on whether\n" + "the type matchup is good or bad.\p" + "If you don't know how matchups\n" + "work, battles will be tough.\p" + "So, let me demonstrate exactly\n" + "what I mean.\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_MatchupsScript2[] = _( + "Is it possible to launch an attack\n" + "that will inflict heavy damage?\p" + "Does the opposing POKéMON pose\n" + "a threat to your POKéMON?\p" + "Is there any chance that it may\n" + "have disastrously tough moves?\p" + "Watch the type matchups to gain\n" + "the upper hand!\p" + "All righty, be seeing you!\p" + "Oh, for the COOL-type POKé DUDE,\n" + "AWESOME-type kids like you match\l" + "up perfectly!\p" + "Remember, a good deed a day\n" + "brings happiness to stay!"); +const u8 gTeachyTvText_CatchingScript1[] = _( + "Today, the POKé DUDE's going to\n" + "show you how to catch POKéMON!\p" + "Just imagine… A groovy POKéMON\n" + "suddenly appearing in the wild!\p" + "Oh, you want it!\n" + "You just can't help it!\p" + "Oh, you have to catch it!\n" + "You gotta have it!\p" + "Let me show you how you can make\n" + "it happen!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_CatchingScript2[] = _( + "If your first POKé BALL fails to\n" + "catch the POKéMON, don't give up!\p" + "Keep throwing POKé BALLS…\n" + "It's bound to work sometime!\p" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_TMsScript1[] = _( + "Hey, everyone!\n" + "Do you all have TMs?\p" + "A TM, Technical Machine, is an\n" + "amazingly great item!\p" + "It teaches POKéMON a move that\n" + "it may not learn when leveling up!\p" + "Isn't that just great? What a\n" + "convenient world we live in!\p" + "Open the TM CASE and check out\n" + "the TMs you have.\p" + "You can check them out in detail,\n" + "too."); +const u8 gPokedudeText_TMTypes[] = _( + "POKé DUDE: NORMAL, WATER, GRASS…\n" + "TMs also come in types.\p" + "Check the type and teach it to\n" + "a POKéMON that matches up well.\p" + "For example, WATER PULSE is\n" + "suitable for WATER-type POKéMON.\p" + "BULLET SEED is a move that most\n" + "GRASS-type POKéMON can learn.\p" + "There's one other thing!"); +const u8 gPokedudeText_ReadTMDescription[] = _( + "Don't just look at the type, read\n" + "the description, too.\p" + "It will contain hints about what\n" + "POKéMON might learn the move.\p" + "For example, take a move like\n" + "FOCUS PUNCH.\p" + "It doesn't sound like anything a\n" + "bird or fish POKéMON can learn.\p" + "So, try using it on POKéMON with\n" + "arms that can throw punches!"); +const u8 gTeachyTvText_TMsScript2[] = _( + "Wow, I talked a lot today!\n" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_RegisterScript1[] = _( + "A TRAINER's BAG has a bunch of\n" + "nifty, convenient features!\p" + "Take stuff in the KEY ITEMS\n" + "POCKET, for instance.\p" + "You can use a key item without\n" + "opening the BAG every time.\p" + "For example, let's pretend I have\n" + "a TEACHY TV in my BAG.\p" + "I can register it for instant use,\n" + "and I'll show you how!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the sorta\n" + "super POKé DUDE SHOW!"); +const u8 gTeachyTvText_RegisterScript2[] = _( + "And now, your TEACHY TV is\n" + "registered.\p" + "How do you use it?\n" + "Well, here's how it works.\p" + "Once an item in the KEY ITEMS\n" + "POKCET is registered, you can use\l" + "it by pressing SELECT.\p" + "So, you've given yourself\n" + "one-touch access to TEACHY TV.\p" + "All it takes for you to see me is\n" + "pressing one button!\p" + "That kind of attention is a little\n" + "embarrassing!\p" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 9ef052f32..ca35532e4 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -1501,7 +1501,7 @@ void sub_815256C(void) u8 r10 = 0; u8 i; u8 r2; - struct DodrioStruct *ptr; + struct DodrioStruct * ptr; gUnknown_203F3E0->unk120 = 0; @@ -1588,7 +1588,7 @@ void sub_81527D0(void) count = gUnknown_203F3E0->unk48; for (i = first; i < count; i++) { - struct DodrioSubstruct_31A0 *ptr = &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId]; + struct DodrioSubstruct_31A0 * ptr = &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId]; u8 var = sUnknown_8471F50[gUnknown_203F3E0->unk24 - 1][gUnknown_203F3E0->multiplayerId][i]; if (ptr->unk14.unkB[var] != 0) @@ -1622,7 +1622,7 @@ void sub_81528D0(void) count = gUnknown_203F3E0->unk24; for (i = 0; i < count; i++) { - struct DodrioSubstruct_31A0 *ptr = &gUnknown_203F3E0->unk31A0[i]; + struct DodrioSubstruct_31A0 * ptr = &gUnknown_203F3E0->unk31A0[i]; sub_8153DA8(i, ptr->unk2C.unk0); } } @@ -1737,7 +1737,7 @@ bool32 sub_8152AD8(void) { for (i = first; i < count; i++) { - struct DodrioSubstruct_31A0 *ptr = &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId]; + struct DodrioSubstruct_31A0 * ptr = &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId]; u8 var = sUnknown_8471F50[gUnknown_203F3E0->unk24 - 1][gUnknown_203F3E0->multiplayerId][i]; if (ptr->unk14.unkB[var] != 10) @@ -2230,7 +2230,7 @@ u32 sub_81535B0(void) return 0; } -void sub_81536A0(struct DodrioSubstruct_3308 *dst, u8 id) +void sub_81536A0(struct DodrioSubstruct_3308 * dst, u8 id) { *dst = gUnknown_203F3E0->unk3308[id]; } diff --git a/src/dodrio_berry_picking_2.c b/src/dodrio_berry_picking_2.c index 15a99fd66..1acc25fb9 100644 --- a/src/dodrio_berry_picking_2.c +++ b/src/dodrio_berry_picking_2.c @@ -26,16 +26,16 @@ EWRAM_DATA u16 *gUnknown_203F3E4[5] = {NULL}; EWRAM_DATA u16 *gUnknown_203F3F8[2] = {NULL}; EWRAM_DATA u16 *gUnknown_203F400[11] = {NULL}; EWRAM_DATA u16 *gUnknown_203F42C[4] = {NULL}; -EWRAM_DATA struct DodrioStruct_2022CF4 *gUnknown_203F43C = NULL; -EWRAM_DATA struct DodrioSubstruct_0160 *gUnknown_203F440 = NULL; +EWRAM_DATA struct DodrioStruct_2022CF4 * gUnknown_203F43C = NULL; +EWRAM_DATA struct DodrioSubstruct_0160 * gUnknown_203F440 = NULL; void sub_8153B9C(struct Sprite * sprite); u32 sub_8153C30(struct Sprite * sprite); u32 sub_8153CA0(struct Sprite * sprite); void sub_8153D48(bool8 a0, u8 a1); -void nullsub_97(struct Sprite *sprite); +void nullsub_97(struct Sprite * sprite); void sub_8154324(bool8 a0); -void sub_81543E8(struct Sprite *sprite); +void sub_81543E8(struct Sprite * sprite); s16 sub_8154608(u8 a0, u8 a1); void sub_8154A08(u8 taskId); void sub_8154A2C(void); @@ -285,7 +285,7 @@ void sub_8153A9C(void) LoadSpritePalette(&pal2); } -void sub_8153AFC(struct DodrioSubstruct_318C *arg0, u8 arg1, u8 id, u8 arg3) +void sub_8153AFC(struct DodrioSubstruct_318C * arg0, u8 arg1, u8 id, u8 arg3) { struct SpriteTemplate sprTemplate = { @@ -303,7 +303,7 @@ void sub_8153AFC(struct DodrioSubstruct_318C *arg0, u8 arg1, u8 id, u8 arg3) sub_8153D48(TRUE, id); } -void sub_8153B9C(struct Sprite *sprite) +void sub_8153B9C(struct Sprite * sprite) { switch (sprite->data[0]) { @@ -320,7 +320,7 @@ void sub_8153B9C(struct Sprite *sprite) void sub_8153BC0(u8 unused) { - struct Sprite *sprite = &gSprites[*gUnknown_203F3E4[GetMultiplayerId()]]; + struct Sprite * sprite = &gSprites[*gUnknown_203F3E4[GetMultiplayerId()]]; sprite->data[0] = 1; sprite->data[1] = 0; sprite->data[2] = 0; @@ -330,7 +330,7 @@ void sub_8153BC0(u8 unused) void sub_8153BF8(u8 unused) { - struct Sprite *sprite = &gSprites[*gUnknown_203F3E4[GetMultiplayerId()]]; + struct Sprite * sprite = &gSprites[*gUnknown_203F3E4[GetMultiplayerId()]]; sprite->data[0] = 2; sprite->data[1] = 0; sprite->data[2] = 0; @@ -338,7 +338,7 @@ void sub_8153BF8(u8 unused) sprite->data[4] = 0; } -u32 sub_8153C30(struct Sprite *sprite) +u32 sub_8153C30(struct Sprite * sprite) { s8 var; u8 mod = (++sprite->data[1] / 2) % 4; @@ -367,7 +367,7 @@ u32 sub_8153C30(struct Sprite *sprite) return 0; } -u32 sub_8153CA0(struct Sprite *sprite) +u32 sub_8153CA0(struct Sprite * sprite) { u8 mod = (++sprite->data[1] / 13) % 4; @@ -387,7 +387,7 @@ void sub_8153D08(u8 count) u8 i; for (i = 0; i < count; i++) { - struct Sprite *sprite = &gSprites[*gUnknown_203F3E4[i]]; + struct Sprite * sprite = &gSprites[*gUnknown_203F3E4[i]]; if (sprite != NULL) DestroySpriteAndFreeResources(sprite); // Memory should be freed here but is not. @@ -421,7 +421,7 @@ void sub_8153DD8(void) u8 i; for (i = 0; i < 10; i++) { - struct Sprite *sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; + struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; sprite->pos1.x = (i * 16) + 48; sprite->pos1.y = -8 - (i * 8); gUnknown_203F43C->unkC[i] = 0; @@ -465,7 +465,7 @@ void sub_8153ED8(void) u8 i; for (i = 0; i < 10; i++) { - struct Sprite *sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; + struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; if (sprite != NULL) DestroySpriteAndFreeResources(sprite); } @@ -478,7 +478,7 @@ bool32 sub_8153F1C(void) bool32 r3 = FALSE; for (i = 0; i < 10; i++) { - struct Sprite *sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; + struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; gUnknown_203F43C->unk16[i] = 2; if (gUnknown_203F43C->unkC[i] != 0 && sprite->pos1.y == 8) continue; @@ -620,7 +620,7 @@ void sub_815417C(void) void sub_8154274(void) { - struct Sprite *sprite; + struct Sprite * sprite; u8 i; for (i = 0; i < 11; i++) @@ -676,7 +676,7 @@ void sub_81543C4(u8 spriteId) #define sKeepPosX data[10] #endif // NONMATCHING -void sub_81543E8(struct Sprite *sprite) +void sub_81543E8(struct Sprite * sprite) { u8 i; static const u8 array[] = {30, 20}; @@ -734,7 +734,7 @@ void sub_81544F0(void) u8 i; for (i = 0; i < 2; i++) { - struct Sprite *sprite = &gSprites[*gUnknown_203F3F8[i]]; + struct Sprite * sprite = &gSprites[*gUnknown_203F3F8[i]]; sprite->sKeepPosX = TRUE; sprite->pos1.x = gUnknown_8478E0E[i][0]; sprite->pos1.y = gUnknown_8478E0E[i][1]; @@ -746,7 +746,7 @@ void sub_8154540(void) u8 i; for (i = 0; i < 2; i++) { - struct Sprite *sprite = &gSprites[*gUnknown_203F3F8[i]]; + struct Sprite * sprite = &gSprites[*gUnknown_203F3F8[i]]; sprite->sKeepPosX = FALSE; } } @@ -756,7 +756,7 @@ void sub_8154578(void) u8 i; for (i = 0; i < 2; i++) { - struct Sprite *sprite = &gSprites[*gUnknown_203F3F8[i]]; + struct Sprite * sprite = &gSprites[*gUnknown_203F3F8[i]]; if (sprite) DestroySprite(sprite); FREE_AND_SET_NULL(gUnknown_203F3F8[i]); @@ -850,7 +850,7 @@ void sub_8154730(void) gUnknown_203F440->unk3024 = 0; } -void sub_8154768(const struct WindowTemplate *winTempl) +void sub_8154768(const struct WindowTemplate * winTempl) { u8 pal = 0xA; @@ -864,7 +864,7 @@ void sub_8154768(const struct WindowTemplate *winTempl) FillBgTilemapBufferRect(0, 9, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop + winTempl->height, 1, 1, pal); } -void sub_8154868(const struct WindowTemplate *winTempl) +void sub_8154868(const struct WindowTemplate * winTempl) { u8 pal = 0xB; @@ -878,7 +878,7 @@ void sub_8154868(const struct WindowTemplate *winTempl) FillBgTilemapBufferRect(0, 18, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop + winTempl->height, 1, 1, pal); } -void sub_8154968(struct DodrioSubstruct_0160 *ptr) +void sub_8154968(struct DodrioSubstruct_0160 * ptr) { gUnknown_203F440 = ptr; gUnknown_203F440->finished = FALSE; @@ -928,7 +928,7 @@ const struct WinCoords sUnknown_8478E50[] = {{12, 6}, {18, 10}, {6, 10}}; const struct WinCoords sUnknown_8478E5C[] = {{9, 10}, {15, 6}, {21, 10}, {3, 6}}; const struct WinCoords sUnknown_8478E6C[] = {{12, 6}, {18, 10}, {23, 6}, {1, 6}, {6, 10}}; -const struct WinCoords *const sUnknown_8478E80[] = +const struct WinCoords * const sUnknown_8478E80[] = { sUnknown_8478E44, sUnknown_8478E48, @@ -1028,7 +1028,7 @@ void sub_8154B34(void) u8 i, playersCount, id, colorsId, *name; u32 left; struct WindowTemplate window; - const struct WinCoords *ptr; + const struct WinCoords * ptr; switch (gUnknown_203F440->state) { diff --git a/src/dodrio_berry_picking_3.c b/src/dodrio_berry_picking_3.c index 5f5bfaff9..609d3ba7e 100644 --- a/src/dodrio_berry_picking_3.c +++ b/src/dodrio_berry_picking_3.c @@ -22,7 +22,6 @@ u8 sub_815A5E8(s32 a0) return 0; } - struct UnkPacket2 { u8 id; @@ -66,11 +65,12 @@ struct UnkPacket2 u8 unkB_6:1; }; +// Yeah not even attempting this lol #ifdef NONMATCHING -static void sub_815A61C(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8) +static void sub_815A61C(struct DodrioSubstruct_31A0 * arg0, struct DodrioSubstruct_31A0_2C * arg1, struct DodrioSubstruct_31A0_2C * arg2, struct DodrioSubstruct_31A0_2C * arg3, struct DodrioSubstruct_31A0_2C * arg4, struct DodrioSubstruct_31A0_2C * arg5, u8 arg6, u32 arg7, u32 arg8) { struct UnkPacket2 packet; - struct DodrioSubstruct_31A0_14 *ptr = &arg0->unk14; + struct DodrioSubstruct_31A0_14 * ptr = &arg0->unk14; packet.id = 2; packet.unk1_0 = ptr->unkB[0]; @@ -120,7 +120,7 @@ static void sub_815A61C(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruc } #else NAKED -void sub_815A61C(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8) +void sub_815A61C(struct DodrioSubstruct_31A0 * arg0, struct DodrioSubstruct_31A0_2C * arg1, struct DodrioSubstruct_31A0_2C * arg2, struct DodrioSubstruct_31A0_2C * arg3, struct DodrioSubstruct_31A0_2C * arg4, struct DodrioSubstruct_31A0_2C * arg5, u8 arg6, u32 arg7, u32 arg8) { asm_unified(" push {r4-r7,lr}\n\ mov r7, r10\n\ @@ -535,10 +535,10 @@ void sub_815A61C(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_ } #endif -u32 sub_815A950(u32 unused, struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 *arg6, u32 *arg7, u32 *arg8) +u32 sub_815A950(u32 unused, struct DodrioSubstruct_31A0 * arg0, struct DodrioSubstruct_31A0_2C * arg1, struct DodrioSubstruct_31A0_2C * arg2, struct DodrioSubstruct_31A0_2C * arg3, struct DodrioSubstruct_31A0_2C * arg4, struct DodrioSubstruct_31A0_2C * arg5, u8 *arg6, u32 *arg7, u32 *arg8) { - struct UnkPacket2 *packet; - struct DodrioSubstruct_31A0_14 *ptr = &arg0->unk14; + struct UnkPacket2 * packet; + struct DodrioSubstruct_31A0_14 * ptr = &arg0->unk14; if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) return 0; @@ -615,7 +615,7 @@ void sub_815AAD8(u8 arg0) u32 sub_815AB04(u32 arg0, u8 *arg1) { - struct UnkPacket3 *packet; + struct UnkPacket3 * packet; if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) return 0; @@ -646,7 +646,7 @@ void sub_815AB3C(u32 arg0) u32 sub_815AB60(u32 arg0) { - struct UnkPacket4 *packet; + struct UnkPacket4 * packet; if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) return 0; diff --git a/src/easy_chat.c b/src/easy_chat.c index 14662b660..657d178d7 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -276,7 +276,7 @@ static u16 GetRandomWordFromAnyGroup(u16 groupId) return GetRandomWordFromGroup(groupId); } -void Special_BufferEasyChatMessage(void) +void ShowEasyChatMessage(void) { u16 *easyChatWords; int columns, rows; diff --git a/src/field_effect.c b/src/field_effect.c index c7dd8b4e4..49b48ed93 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_special_scene.c b/src/field_special_scene.c index 4f9446942..327426231 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -21,6 +21,7 @@ void nullsub_60(void) { } -void nullsub_61(void) +// From Hoenn's SS Tidal +void LookThroughPorthole(void) { } diff --git a/src/field_specials.c b/src/field_specials.c index 5ac165156..e8def2c39 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -46,6 +46,7 @@ #include "constants/moves.h" #include "constants/menu.h" #include "constants/event_objects.h" +#include "constants/metatile_labels.h" static EWRAM_DATA u8 sElevatorCurrentFloorWindowId = 0; static EWRAM_DATA u16 sElevatorScroll = 0; @@ -76,12 +77,12 @@ static void Task_SuspendListMenu(u8 taskId); static void Task_RedrawScrollArrowsAndWaitInput(u8 taskId); static void Task_CreateMenuRemoveScrollIndicatorArrowPair(u8 taskId); static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId); -static u16 GetStarterPokemon(u16 starterIdx); +static u16 GetStarterSpeciesById(u16 starterIdx); static void ChangeBoxPokemonNickname_CB(void); static void ChangePokemonNickname_CB(void); static void Task_RunPokemonLeagueLightingEffect(u8 taskId); static void Task_CancelPokemonLeagueLightingEffect(u8 taskId); -static void Task_DoDeoxysRockInteraction(u8 taskId); +static void Task_DoDeoxysTriangleInteraction(u8 taskId); static void MoveDeoxysObject(u8 num); static void Task_WaitDeoxysFieldEffect(u8 taskId); static void Task_WingFlapSound(u8 taskId); @@ -92,14 +93,14 @@ static u8 *const sStringVarPtrs[] = { gStringVar3 }; -void Special_ShowDiploma(void) +void ShowDiploma(void) { sub_8112364(); SetMainCallback2(CB2_ShowDiploma); ScriptContext2_Enable(); } -void Special_ForcePlayerOntoBike(void) +void ForcePlayerOntoBike(void) { if (gPlayerAvatar.flags & 1) SetPlayerAvatarTransitionFlags(2); @@ -112,7 +113,7 @@ void nullsub_74(void) } -u8 Special_GetPlayerAvatarBike(void) +u8 GetPlayerAvatarBike(void) { if (TestPlayerAvatarFlags(4)) return 1; @@ -122,24 +123,24 @@ u8 Special_GetPlayerAvatarBike(void) return 0; } -void Special_ShowStringVar4AsFieldMessage(void) +void ShowFieldMessageStringVar4(void) { ShowFieldMessage(gStringVar4); } -void Special_GetPlayerXY(void) +void GetPlayerXY(void) { gSpecialVar_0x8004 = gSaveBlock1Ptr->pos.x; gSpecialVar_0x8005 = gSaveBlock1Ptr->pos.y; } -u8 Special_GetPlayerTrainerIdOnesDigit(void) +u8 GetPlayerTrainerIdOnesDigit(void) { u16 playerId = (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]; return playerId % 10; } -void Special_BufferBigGuyOrBigGirlString(void) +void BufferBigGuyOrBigGirlString(void) { if (gSaveBlock2Ptr->playerGender == MALE) StringCopy(gStringVar1, gText_BigGuy); @@ -147,7 +148,7 @@ void Special_BufferBigGuyOrBigGirlString(void) StringCopy(gStringVar1, gText_BigGirl); } -void Special_BufferSonOrDaughterString(void) +void BufferSonOrDaughterString(void) { if (gSaveBlock2Ptr->playerGender == MALE) StringCopy(gStringVar1, gText_Son); @@ -155,12 +156,12 @@ void Special_BufferSonOrDaughterString(void) StringCopy(gStringVar1, gText_Daughter); } -u8 Special_GetBattleOutcome(void) +u8 GetBattleOutcome(void) { return gBattleOutcome; } -void Special_SetHiddenItemFlag(void) +void SetHiddenItemFlag(void) { FlagSet(gSpecialVar_0x8004); } @@ -184,13 +185,13 @@ u8 GetLeadMonFriendship(void) return 0; } -void Special_TownMap(void) +void ShowTownMap(void) { sub_8112364(); sub_80BFF50(1, CB2_ReturnToFieldContinueScriptPlayMapMusic); } -bool8 Special_PlayerHasGrassPokemonInParty(void) +bool8 PlayerHasGrassPokemonInParty(void) { u8 i; struct Pokemon * pokemon; @@ -211,34 +212,41 @@ bool8 Special_PlayerHasGrassPokemonInParty(void) return FALSE; } -void Special_AnimatePcTurnOn(void) +#define tState data[0] +#define tTimer data[1] + +void AnimatePcTurnOn(void) { u8 taskId; if (FuncIsActiveTask(Task_AnimatePcTurnOn) != TRUE) { taskId = CreateTask(Task_AnimatePcTurnOn, 8); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; + gTasks[taskId].tState = 0; + gTasks[taskId].tTimer = 0; } } +// PC flickers on and off while turning on static void Task_AnimatePcTurnOn(u8 taskId) { s16 *data = gTasks[taskId].data; - if (data[1] == 6) + if (tTimer == 6) { - PcTurnOnUpdateMetatileId(data[0] & 1); + PcTurnOnUpdateMetatileId(tState & 1); DrawWholeMapView(); - data[1] = 0; - data[0]++; - if (data[0] == 5) + tTimer = 0; + tState++; + if (tState == 5) DestroyTask(taskId); } - data[1]++; + tTimer++; } -static void PcTurnOnUpdateMetatileId(bool16 a0) +#undef tState +#undef tTimer + +static void PcTurnOnUpdateMetatileId(bool16 flickerOff) { u16 metatileId = 0; s8 deltaX = 0; @@ -260,28 +268,28 @@ static void PcTurnOnUpdateMetatileId(bool16 a0) deltaY = -1; break; } - if (a0) + if (flickerOff) { if (gSpecialVar_0x8004 == 0) - metatileId = 0x62; + metatileId = METATILE_Building_PCOff; else if (gSpecialVar_0x8004 == 1) - metatileId = 0x28F; + metatileId = METATILE_GenericBuilding1_PlayersPCOff; else if (gSpecialVar_0x8004 == 2) - metatileId = 0x28F; + metatileId = METATILE_GenericBuilding1_PlayersPCOff; } else { if (gSpecialVar_0x8004 == 0) - metatileId = 0x63; + metatileId = METATILE_Building_PCOn; else if (gSpecialVar_0x8004 == 1) - metatileId = 0x28A; + metatileId = METATILE_GenericBuilding1_PlayersPCOn; else if (gSpecialVar_0x8004 == 2) - metatileId = 0x28A; + metatileId = METATILE_GenericBuilding1_PlayersPCOn; } - MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | 0xC00); + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | METATILE_COLLISION_MASK); } -void Special_AnimatePcTurnOff() +void AnimatePcTurnOff() { u16 metatileId = 0; s8 deltaX = 0; @@ -304,12 +312,12 @@ void Special_AnimatePcTurnOff() break; } if (gSpecialVar_0x8004 == 0) - metatileId = 0x62; + metatileId = METATILE_Building_PCOff; else if (gSpecialVar_0x8004 == 1) - metatileId = 0x28F; + metatileId = METATILE_GenericBuilding1_PlayersPCOff; else if (gSpecialVar_0x8004 == 2) - metatileId = 0x28F; - MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | 0xC00); + metatileId = METATILE_GenericBuilding1_PlayersPCOff; + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | METATILE_COLLISION_MASK); DrawWholeMapView(); } @@ -381,7 +389,7 @@ static const u8 sSlotMachineIndices[] = { 5 }; -u8 Special_GetRandomSlotMachine(void) +u8 GetRandomSlotMachineId(void) { u16 rval = Random() % NELEMS(sSlotMachineIndices); return sSlotMachineIndices[rval]; @@ -404,7 +412,7 @@ void GiveLeadMonEffortRibbon(void) SetMonData(&gPlayerParty[leadMonIdx], MON_DATA_EFFORT_RIBBON, ¶m); } -bool8 ScrSpecial_AreLeadMonEVsMaxedOut(void) +bool8 AreLeadMonEVsMaxedOut(void) { u8 leadMonIndex = GetLeadMonIndex(); if (GetMonEVCount(&gPlayerParty[leadMonIndex]) >= 510) @@ -413,9 +421,9 @@ bool8 ScrSpecial_AreLeadMonEVsMaxedOut(void) return FALSE; } -bool8 Special_IsStarterFirstStageInParty(void) +bool8 IsStarterFirstStageInParty(void) { - u16 species = GetStarterPokemon(VarGet(VAR_STARTER_MON)); + u16 species = GetStarterSpeciesById(VarGet(VAR_STARTER_MON)); u8 partyCount = CalculatePlayerPartyCount(); u8 i; for (i = 0; i < partyCount; i++) @@ -426,7 +434,7 @@ bool8 Special_IsStarterFirstStageInParty(void) return FALSE; } -bool8 Special_IsThereRoomInAnyBoxForMorePokemon(void) +bool8 IsThereRoomInAnyBoxForMorePokemon(void) { u16 i; u16 j; @@ -441,7 +449,7 @@ bool8 Special_IsThereRoomInAnyBoxForMorePokemon(void) return FALSE; } -bool8 Special_CheckPartyPokerus(void) +bool8 IsPokerusInParty(void) { if (!CheckPartyPokerus(gPlayerParty, 0x3F)) return FALSE; @@ -455,7 +463,7 @@ bool8 Special_CheckPartyPokerus(void) #define tDuration data[3] #define tYtrans data[4] -void Special_ShakeScreen(void) +void ShakeScreen(void) { /* * 0x8004 = x translation @@ -518,12 +526,12 @@ u8 GetLeadMonIndex(void) return 0; } -u16 Special_GetSpeciesOfPartySlot_x8004(void) +u16 GetPartyMonSpecies(void) { return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); } -bool8 Special_IsMonOTNameNotPlayers(void) +bool8 IsMonOTNameNotPlayers(void) { GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); @@ -533,7 +541,8 @@ bool8 Special_IsMonOTNameNotPlayers(void) return TRUE; } -void nullsub_75(void) +// Used to nop all the unused specials from RS +void NullFieldSpecial(void) { } @@ -545,7 +554,7 @@ void sub_80CADC4(void) sub_809D424(); } -void Special_SetVermilionTrashCans(void) +void SetVermilionTrashCans(void) { u16 idx = (Random() % 15) + 1; gSpecialVar_0x8004 = idx; @@ -712,7 +721,7 @@ static u16 SampleResortGorgeousReward(void) return sResortGorgeousDeluxeRewards[Random() % NELEMS(sResortGorgeousDeluxeRewards)]; } -bool8 Special_CheckAddCoins(void) +bool8 CheckAddCoins(void) { if (gSpecialVar_Result + gSpecialVar_0x8006 > 9999) return FALSE; @@ -769,15 +778,39 @@ static const u8 sUnused_83F5B84[] = { }; static const u16 sElevatorWindowMetatilesGoingUp[][3] = { - {0x2e8, 0x2e9, 0x2ea}, - {0x2f0, 0x2f1, 0x2f2}, - {0x2f8, 0x2f9, 0x2fa} + { + METATILE_SilphCo_ElevatorWindow_Top0, + METATILE_SilphCo_ElevatorWindow_Top1, + METATILE_SilphCo_ElevatorWindow_Top2 + }, + { + METATILE_SilphCo_ElevatorWindow_Mid0, + METATILE_SilphCo_ElevatorWindow_Mid1, + METATILE_SilphCo_ElevatorWindow_Mid2 + }, + { + METATILE_SilphCo_ElevatorWindow_Bottom0, + METATILE_SilphCo_ElevatorWindow_Bottom1, + METATILE_SilphCo_ElevatorWindow_Bottom2 + } }; static const u16 sElevatorWindowMetatilesGoingDown[][3] = { - {0x2e8, 0x2ea, 0x2e9}, - {0x2f0, 0x2f2, 0x2f1}, - {0x2f8, 0x2fa, 0x2f9} + { + METATILE_SilphCo_ElevatorWindow_Top0, + METATILE_SilphCo_ElevatorWindow_Top2, + METATILE_SilphCo_ElevatorWindow_Top1 + }, + { + METATILE_SilphCo_ElevatorWindow_Mid0, + METATILE_SilphCo_ElevatorWindow_Mid2, + METATILE_SilphCo_ElevatorWindow_Mid1 + }, + { + METATILE_SilphCo_ElevatorWindow_Bottom0, + METATILE_SilphCo_ElevatorWindow_Bottom2, + METATILE_SilphCo_ElevatorWindow_Bottom1 + } }; static const u8 sElevatorAnimationDuration[] = { @@ -804,7 +837,7 @@ static const u8 sElevatorWindowAnimDuration[] = { 27 }; -void Special_GetElevatorFloor(void) +void GetElevatorFloor(void) { u16 floor = 4; if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(ROCKET_HIDEOUT_B1F)) @@ -899,7 +932,7 @@ void Special_GetElevatorFloor(void) VarSet(VAR_ELEVATOR_FLOOR, floor); } -u16 Special_InitElevatorFloorSelectMenuPos(void) +u16 InitElevatorFloorSelectMenuPos(void) { sElevatorScroll = 0; sElevatorCursorPos = 0; @@ -1017,7 +1050,7 @@ u16 Special_InitElevatorFloorSelectMenuPos(void) return sElevatorCursorPos; } -void Special_AnimateElevator(void) +void AnimateElevator(void) { u16 nfloors; s16 *data = gTasks[CreateTask(Task_ElevatorShake, 9)].data; @@ -1062,7 +1095,7 @@ static void Task_ElevatorShake(u8 taskId) } } -void Special_DrawElevatorCurrentFloorWindow(void) +void DrawElevatorCurrentFloorWindow(void) { const u8 *floorname; u32 strwidth; @@ -1080,7 +1113,7 @@ void Special_DrawElevatorCurrentFloorWindow(void) } } -void Special_CloseElevatorCurrentFloorWindow(void) +void CloseElevatorCurrentFloorWindow(void) { ClearStdWindowAndFrameToTransparent(sElevatorCurrentFloorWindowId, TRUE); RemoveWindow(sElevatorCurrentFloorWindowId); @@ -1113,7 +1146,7 @@ static void Task_AnimateElevatorWindowView(u8 taskId) { for (j = 0; j < 3; j++) { - MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingUp[i][data[0] % 3] | 0xC00); + MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingUp[i][data[0] % 3] | METATILE_COLLISION_MASK); } } } @@ -1123,7 +1156,7 @@ static void Task_AnimateElevatorWindowView(u8 taskId) { for (j = 0; j < 3; j++) { - MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingDown[i][data[0] % 3] | 0xC00); + MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingDown[i][data[0] % 3] | METATILE_COLLISION_MASK); } } } @@ -1135,7 +1168,7 @@ static void Task_AnimateElevatorWindowView(u8 taskId) data[1]++; } -void Special_ListMenu(void) +void ListMenu(void) { u8 taskId; struct Task * task; @@ -1439,7 +1472,7 @@ static void Task_SuspendListMenu(u8 taskId) } } -void Special_ReturnToListMenu(void) +void ReturnToListMenu(void) { u8 taskId = FindTaskIdByFunc(Task_SuspendListMenu); if (taskId == 0xFF) @@ -1483,31 +1516,31 @@ static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId) RemoveScrollIndicatorArrowPair(task->data[12]); } -void Special_ForcePlayerToStartSurfing(void) +void ForcePlayerToStartSurfing(void) { - HelpSystem_SetSomeVariable2(22); + SetHelpContext(HELPCONTEXT_SURFING); SetPlayerAvatarTransitionFlags(8); } -static const u16 sStarterMon[] = { +static const u16 sStarterSpecies[] = { SPECIES_BULBASAUR, SPECIES_SQUIRTLE, SPECIES_CHARMANDER }; -static u16 GetStarterPokemon(u16 idx) +static u16 GetStarterSpeciesById(u16 idx) { - if (idx >= NELEMS(sStarterMon)) + if (idx >= NELEMS(sStarterSpecies)) idx = 0; - return sStarterMon[idx]; + return sStarterSpecies[idx]; } -u16 ScrSpecial_GetStarter(void) +u16 GetStarterSpecies(void) { - return GetStarterPokemon(VarGet(VAR_STARTER_MON)); + return GetStarterSpeciesById(VarGet(VAR_STARTER_MON)); } -void Special_SetSeenMon(void) +void SetSeenMon(void) { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gSpecialVar_0x8004), 2); } @@ -1548,7 +1581,7 @@ static bool8 HasMonBeenRenamed(u8 idx) return FALSE; } -bool8 Special_HasLeadMonBeenRenamed(void) +bool8 HasLeadMonBeenRenamed(void) { return HasMonBeenRenamed(GetLeadMonIndex()); } @@ -1633,13 +1666,13 @@ static void ChangePokemonNickname_CB(void) CB2_ReturnToFieldContinueScriptPlayMapMusic(); } -void Special_GetMonNickname(void) +void BufferMonNickname(void) { GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1); StringGetEnd10(gStringVar1); } -void Special_IsMonOTIDNotPlayers(void) +void IsMonOTIDNotPlayers(void) { if (GetPlayerTrainerId() == GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_ID, NULL)) gSpecialVar_Result = FALSE; @@ -1672,7 +1705,7 @@ u8 GetUnlockedSeviiAreas(void) return result; } -void Special_UpdateTrainerCardPhotoIcons(void) +void UpdateTrainerCardPhotoIcons(void) { u16 species[PARTY_SIZE]; u32 personality[PARTY_SIZE]; @@ -1729,7 +1762,7 @@ u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr) return 1; } -bool8 Special_PlayerPartyContainsSpecies(void) +bool8 DoesPlayerPartyContainSpecies(void) { u8 partyCount = CalculatePlayerPartyCount(); u8 i; @@ -1756,7 +1789,7 @@ static const u8 sMartMaps[][3] = { {MAP_GROUP(SIX_ISLAND_MART), MAP_NUM(SIX_ISLAND_MART), 1} }; -u8 Special_GetMartClerkObjectId(void) +u8 GetMartClerkObjectId(void) { u8 i; for (i = 0; i < NELEMS(sMartMaps); i++) @@ -1915,7 +1948,7 @@ void sub_80CC59C(void) } } -u16 Special_BattleCardAction(void) +u16 BattleCardAction(void) { switch (gSpecialVar_Result) { @@ -2016,7 +2049,7 @@ bool8 sub_80CC87C(void) return FALSE; } -bool8 Special_ItemIsTM_GetMoveName(void) +bool8 BufferTMHMMoveName(void) { // 8004 = item ID if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) @@ -2035,7 +2068,7 @@ void RunMassageCooldownStepCounter(void) VarSet(VAR_MASSAGE_COOLDOWN_STEP_COUNTER, count + 1); } -void Special_DaisyMassageServices(void) +void DaisyMassageServices(void) { AdjustFriendship(&gPlayerParty[gSpecialVar_0x8004], 6); VarSet(VAR_MASSAGE_COOLDOWN_STEP_COUNTER, 0); @@ -2093,7 +2126,7 @@ static const u8 sChampionRoomLightingTimers[] = { 8 }; -void Special_PokemonLeagueLightingEffect(void) +void DoPokemonLeagueLightingEffect(void) { u8 taskId = CreateTask(Task_RunPokemonLeagueLightingEffect, 8); s16 *data = gTasks[taskId].data; @@ -2183,36 +2216,36 @@ static const u8 sCapeBrinkCompatibleSpecies[] = { SPECIES_BLASTOISE }; -bool8 Special_CapeBrinkGetMoveToTeachLeadPokemon(void) +bool8 CapeBrinkGetMoveToTeachLeadPokemon(void) { // Returns: // 8005 = Move tutor index // 8006 = Num moves known by lead mon // 8007 = Index of lead mon // to specialvar = whether a move can be taught in the first place - u8 r7 = 0; - u8 r6 = 0; - u8 r8 = GetLeadMonIndex(); - u8 r4; - gSpecialVar_0x8007 = r8; - for (r4 = 0; r4 < NELEMS(sCapeBrinkCompatibleSpecies); r4++) - { - if (GetMonData(&gPlayerParty[r8], MON_DATA_SPECIES2, NULL) == sCapeBrinkCompatibleSpecies[r4]) + u8 tutorMonId = 0; + u8 numMovesKnown = 0; + u8 leadMonSlot = GetLeadMonIndex(); + u8 i; + gSpecialVar_0x8007 = leadMonSlot; + for (i = 0; i < NELEMS(sCapeBrinkCompatibleSpecies); i++) + { + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_SPECIES2, NULL) == sCapeBrinkCompatibleSpecies[i]) { - r7 = r4; + tutorMonId = i; break; } } - if (r4 == NELEMS(sCapeBrinkCompatibleSpecies) || GetMonData(&gPlayerParty[r8], MON_DATA_FRIENDSHIP) != 255) + if (i == NELEMS(sCapeBrinkCompatibleSpecies) || GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_FRIENDSHIP) != 255) return FALSE; - if (r7 == 0) + if (tutorMonId == 0) { StringCopy(gStringVar2, gMoveNames[MOVE_FRENZY_PLANT]); gSpecialVar_0x8005 = MOVETUTOR_FRENZY_PLANT; if (FlagGet(FLAG_TUTOR_FRENZY_PLANT) == TRUE) return FALSE; } - else if (r7 == 1) + else if (tutorMonId == 1) { StringCopy(gStringVar2, gMoveNames[MOVE_BLAST_BURN]); gSpecialVar_0x8005 = MOVETUTOR_BLAST_BURN; @@ -2226,21 +2259,21 @@ bool8 Special_CapeBrinkGetMoveToTeachLeadPokemon(void) if (FlagGet(FLAG_TUTOR_HYDRO_CANNON) == TRUE) return FALSE; } - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE1) != MOVE_NONE) - r6++; - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE2) != MOVE_NONE) - r6++; - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE3) != MOVE_NONE) - r6++; - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE4) != MOVE_NONE) - r6++; - gSpecialVar_0x8006 = r6; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE1) != MOVE_NONE) + numMovesKnown++; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE2) != MOVE_NONE) + numMovesKnown++; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE3) != MOVE_NONE) + numMovesKnown++; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE4) != MOVE_NONE) + numMovesKnown++; + gSpecialVar_0x8006 = numMovesKnown; return TRUE; } -bool8 Special_HasLearnedAllMovesFromCapeBrinkTutor(void) +bool8 HasLearnedAllMovesFromCapeBrinkTutor(void) { - // 8005 is set by Special_CapeBrinkGetMoveToTeachLeadPokemon + // 8005 is set by CapeBrinkGetMoveToTeachLeadPokemon u8 r4 = 0; if (gSpecialVar_0x8005 == MOVETUTOR_FRENZY_PLANT) FlagSet(FLAG_TUTOR_FRENZY_PLANT); @@ -2276,7 +2309,7 @@ bool8 CutMoveRuinValleyCheck(void) void CutMoveOpenDottedHoleDoor(void) { - MapGridSetMetatileIdAt(31, 31, 0x358); + MapGridSetMetatileIdAt(31, 31, METATILE_SeviiIslands67_DottedHoleDoor_Open); DrawWholeMapView(); PlaySE(SE_BAN); FlagSet(FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE); @@ -2324,12 +2357,12 @@ static const u8 sDeoxysStepCaps[] = { 3 }; -void DoDeoxysRockInteraction(void) +void DoDeoxysTriangleInteraction(void) { - CreateTask(Task_DoDeoxysRockInteraction, 8); + CreateTask(Task_DoDeoxysTriangleInteraction, 8); } -static void Task_DoDeoxysRockInteraction(u8 taskId) +static void Task_DoDeoxysTriangleInteraction(u8 taskId) { u16 r5; u16 r6; @@ -2415,14 +2448,14 @@ void BirthIslandDeoxysStepCounter(void) } } -void Special_SetDeoxysTriangleObjectPal(void) +void SetDeoxysTrianglePalette(void) { u8 num = VarGet(VAR_DEOXYS_INTERACTION_NUM); LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08); sub_8083598(10); } -bool8 Special_BadEggInParty(void) +bool8 IsBadEggInParty(void) { u8 partyCount = CalculatePlayerPartyCount(); u8 i; @@ -2434,7 +2467,7 @@ bool8 Special_BadEggInParty(void) return FALSE; } -bool8 Special_PlayerIsNotInTrainerTowerLobby(void) +bool8 IsPlayerNotInTrainerTowerLobby(void) { if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_TOWER_LOBBY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_LOBBY)) return FALSE; @@ -2442,7 +2475,7 @@ bool8 Special_PlayerIsNotInTrainerTowerLobby(void) return TRUE; } -void Special_BrailleCursorToggle(void) +void BrailleCursorToggle(void) { // 8004 = x - 27 // 8005 = y @@ -2476,7 +2509,7 @@ bool8 PlayerPartyContainsSpeciesWithPlayerID(void) * Determines which of Lorelei's doll collection to show * based on how many times you've entered the Hall of Fame. */ -void Special_ComputeLoreleiDollCollection(void) +void UpdateLoreleiDollCollection(void) { u32 numHofClears = GetGameStat(GAME_STAT_ENTERED_HOF); if (numHofClears >= 25) @@ -2499,7 +2532,7 @@ void Special_ComputeLoreleiDollCollection(void) } } -void Special_LoopWingFlapSound(void) +void LoopWingFlapSound(void) { // 8004 = Num flaps // 8005 = Frame delay between flaps diff --git a/src/field_tasks.c b/src/field_tasks.c index cd72e111a..6bd4b6f46 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -13,6 +13,7 @@ #include "task.h" #include "constants/field_tasks.h" #include "constants/flags.h" +#include "constants/metatile_labels.h" #include "constants/songs.h" #include "constants/vars.h" @@ -37,15 +38,15 @@ static const TaskFunc sPerStepCallbacks[] = static const u8 sIcefallCaveIceTileCoords[][2] = { - { 0x08, 0x03 }, - { 0x0a, 0x05 }, - { 0x0f, 0x05 }, - { 0x08, 0x09 }, - { 0x09, 0x09 }, - { 0x10, 0x09 }, - { 0x08, 0x0a }, - { 0x09, 0x0a }, - { 0x08, 0x0e } + { 8, 3 }, + { 10, 5 }, + { 15, 5 }, + { 8, 9 }, + { 9, 9 }, + { 16, 9 }, + { 8, 10 }, + { 9, 10 }, + { 8, 14 } }; static void Task_RunPerStepCallback(u8 taskId) @@ -137,7 +138,7 @@ static void MarkIcefallCaveCoordVisited(s16 x, s16 y) } } -void Special_SetIcefallCaveCrackedIceMetatiles(void) +void SetIcefallCaveCrackedIceMetatiles(void) { u8 i = 0; for (; i < NELEMS(sIcefallCaveIceTileCoords); ++i) @@ -146,7 +147,7 @@ void Special_SetIcefallCaveCrackedIceMetatiles(void) { int x = sIcefallCaveIceTileCoords[i][0] + 7; int y = sIcefallCaveIceTileCoords[i][1] + 7; - MapGridSetMetatileIdAt(x, y, 0x35a); + MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_CrackedIce); } } } @@ -199,7 +200,7 @@ static void IcefallCaveIcePerStepCallback(u8 taskId) x = data[4]; y = data[5]; PlaySE(SE_RU_BARI); - MapGridSetMetatileIdAt(x, y, 0x35a); + MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_CrackedIce); CurrentMapDrawMetatileAt(x, y); data[1] = 1; } @@ -214,7 +215,7 @@ static void IcefallCaveIcePerStepCallback(u8 taskId) x = data[4]; y = data[5]; PlaySE(SE_RU_GASYAN); - MapGridSetMetatileIdAt(x, y, 0x35b); + MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_IceHole); CurrentMapDrawMetatileAt(x, y); VarSet(VAR_TEMP_1, 1); data[1] = 1; diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c index 90ca36508..3826e1d33 100644 --- a/src/fldeff_berrytree.c +++ b/src/fldeff_berrytree.c @@ -1,4 +1,4 @@ -void nullsub_56(void) +// From R/S, removed +void DoWateringBerryTreeAnim(void) { - } diff --git a/src/help_system.c b/src/help_system.c index 4d037de5d..8eabd4e1d 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 5b634a273..ee26c6de5 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,793 +34,1660 @@ 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[] = { - gUnknown_81B2DF8, - gUnknown_81B2E1C, - gUnknown_81B2E2E, - gUnknown_81B2E48, - gUnknown_81B2E58, - gUnknown_81B2E6A -}; +#define HELP_NONE 0 +#define HELP_END 0xFF -static const u8 *const sHelpSystemTopicMouseoverDescriptionPtrs[] = { - gUnknown_81B2E88, - gUnknown_81B2EC8, - gUnknown_81B2F00, - gUnknown_81B2F43, - gUnknown_81B2F74, - gUnknown_81B2FA9 +// 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[] = { - NULL, - gUnknown_81B3083, - gUnknown_81B30A9, - gUnknown_81B30C1, - gUnknown_81B30DC, - gUnknown_81B30FC, - gUnknown_81B311F, - gUnknown_81B3140, - gUnknown_81B314F, - gUnknown_81B3168, - gUnknown_81B3189, - gUnknown_81B31AE, - gUnknown_81B31D3, - gUnknown_81B31EC, - gUnknown_81B31FF, - gUnknown_81B3215, - gUnknown_81B3226, - gUnknown_81B3243, - gUnknown_81B3261, - gUnknown_81B3276, - gUnknown_81B3290, - gUnknown_81B32B6, - gUnknown_81B32CD, - gUnknown_81B32E3, - gUnknown_81B32F9, - gUnknown_81B330B, - gUnknown_81B332B, - gUnknown_81B3344, - gUnknown_81B335C, - gUnknown_81B3373, - gUnknown_81B338C, - gUnknown_81B33A6, - gUnknown_81B33CA, - gUnknown_81B33EA, - gUnknown_81B3402, - gUnknown_81B3427, - gUnknown_81B3440, - gUnknown_81B3457, - gUnknown_81B346F, - gUnknown_81B3481, - gUnknown_81B349B, - gUnknown_81B34B7, - gUnknown_81B34D6, - gUnknown_81B34F6, - gUnknown_81B3516 + [HELP_NONE] = NULL, + [HELP_PLAYING_FOR_FIRST_TIME] = Help_Text_PlayingForFirstTime, + [HELP_WHAT_SHOULD_I_BE_DOING] = Help_Text_WhatShouldIBeDoing, + [HELP_CANT_GET_OUT_OF_ROOM] = Help_Text_CantGetOutOfRoom, + [HELP_CANT_FIND_PERSON_I_WANT] = Help_Text_CantFindPersonIWant, + [HELP_TALKED_TO_EVERYONE_NOW_WHAT] = Help_Text_TalkedToEveryoneNowWhat, + [HELP_SOMEONE_BLOCKING_MY_WAY] = Help_Text_SomeoneBlockingMyWay, + [HELP_I_CANT_GO_ON] = Help_Text_ICantGoOn, + [HELP_OUT_OF_THINGS_TO_DO] = Help_Text_OutOfThingsToDo, + [HELP_WHAT_HAPPENED_TO_ITEM_I_GOT] = Help_Text_WhatHappenedToItemIGot, + [HELP_WHAT_ARE_MY_ADVENTURE_BASICS] = Help_Text_WhatAreMyAdventureBasics, + [HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT] = Help_Text_HowAreRoadsForestsDifferent, + [HELP_HOW_ARE_CAVES_DIFFERENT] = Help_Text_HowAreCavesDifferent, + [HELP_HOW_DO_I_PROGRESS] = Help_Text_HowDoIProgress, + [HELP_WHEN_CAN_I_USE_ITEM] = Help_Text_WhenCanIUseItem, + [HELP_WHATS_A_BATTLE] = Help_Text_WhatsABattle, + [HELP_HOW_DO_I_PREPARE_FOR_BATTLE] = Help_Text_HowDoIPrepareForBattle, + [HELP_WHAT_IS_A_MONS_VITALITY] = Help_Text_WhatIsAMonsVitality, + [HELP_MY_MONS_ARE_HURT] = Help_Text_MyMonsAreHurt, + [HELP_WHAT_IS_STATUS_PROBLEM] = Help_Text_WhatIsStatusProblem, + [HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT] = Help_Text_WhatHappensIfAllMyMonsFaint, + [HELP_CANT_CATCH_MONS] = Help_Text_CantCatchMons, + [HELP_RAN_OUT_OF_POTIONS] = Help_Text_RanOutOfPotions, + [HELP_CAN_I_BUY_POKEBALLS] = Help_Text_CanIBuyPokeBalls, + [HELP_WHATS_A_TRAINER] = Help_Text_WhatsATrainer, + [HELP_HOW_DO_I_WIN_AGAINST_TRAINER] = Help_Text_HowDoIWinAgainstTrainer, + [HELP_WHERE_DO_MONS_APPEAR] = Help_Text_WhereDoMonsAppear, + [HELP_WHAT_ARE_MOVES] = Help_Text_WhatAreMoves, + [HELP_WHAT_ARE_HIDDEN_MOVES] = Help_Text_WhatAreHiddenMoves, + [HELP_WHAT_MOVES_SHOULD_I_USE] = Help_Text_WhatMovesShouldIUse, + [HELP_WANT_TO_ADD_MORE_MOVES] = Help_Text_WantToAddMoreMoves, + [HELP_WANT_TO_MAKE_MON_STRONGER] = Help_Text_WantToMakeMonStronger, + [HELP_FOE_MONS_TOO_STRONG] = Help_Text_FoeMonsTooStrong, + [HELP_WHAT_DO_I_DO_IN_CAVE] = Help_Text_WhatDoIDoInCave, + [HELP_NOTHING_I_WANT_TO_KNOW] = Help_Text_NothingIWantToKnow, + [HELP_WHATS_POKEMON_CENTER] = Help_Text_WhatsPokemonCenter, + [HELP_WHATS_POKEMON_MART] = Help_Text_WhatsPokemonMart, + [HELP_WANT_TO_END_GAME] = Help_Text_WantToEndGame, + [HELP_WHATS_A_MON] = Help_Text_WhatsAMon, + [HELP_WHAT_IS_THAT_PERSON_LIKE] = Help_Text_WhatIsThatPersonLike, + [HELP_WHAT_DOES_HIDDEN_MOVE_DO] = Help_Text_WhatDoesHiddenMoveDo, + [HELP_WHAT_DO_I_DO_IN_SAFARI] = Help_Text_WhatDoIDoInSafari, + [HELP_WHAT_ARE_SAFARI_RULES] = Help_Text_WhatAreSafariRules, + [HELP_WANT_TO_END_SAFARI] = Help_Text_WantToEndSafari, + [HELP_WHAT_IS_A_GYM] = Help_Text_WhatIsAGym }; static const u8 *const sHelpSystemSpecializedAnswerTextPtrs[] = { - NULL, - gUnknown_81B3525, - gUnknown_81B35E6, - gUnknown_81B36EB, - gUnknown_81B379A, - gUnknown_81B3849, - gUnknown_81B3876, - gUnknown_81B3972, - gUnknown_81B3A51, - gUnknown_81B3ACC, - gUnknown_81B3BB6, - gUnknown_81B3C99, - gUnknown_81B3D1B, - gUnknown_81B3DE3, - gUnknown_81B3EBC, - gUnknown_81B3F7F, - gUnknown_81B406C, - gUnknown_81B410B, - gUnknown_81B41D7, - gUnknown_81B42B3, - gUnknown_81B439D, - gUnknown_81B4483, - gUnknown_81B457C, - gUnknown_81B4645, - gUnknown_81B470A, - gUnknown_81B47F0, - gUnknown_81B48C6, - gUnknown_81B497A, - gUnknown_81B4A72, - gUnknown_81B4B65, - gUnknown_81B4C54, - gUnknown_81B4D26, - gUnknown_81B4E0B, - gUnknown_81B4ED8, - gUnknown_81B4FB2, - gUnknown_81B4FFD, - gUnknown_81B50FF, - gUnknown_81B51B1, - gUnknown_81B5272, - gUnknown_81B5325, - gUnknown_81B5382, - gUnknown_81B547C, - gUnknown_81B54E1, - gUnknown_81B5589, - gUnknown_81B55F4 + [HELP_NONE] = NULL, + [HELP_PLAYING_FOR_FIRST_TIME] = Help_Text_AnswerPlayingForFirstTime, + [HELP_WHAT_SHOULD_I_BE_DOING] = Help_Text_AnswerWhatShouldIBeDoing, + [HELP_CANT_GET_OUT_OF_ROOM] = Help_Text_AnswerCantGetOutOfRoom, + [HELP_CANT_FIND_PERSON_I_WANT] = Help_Text_AnswerCantFindPersonIWant, + [HELP_TALKED_TO_EVERYONE_NOW_WHAT] = Help_Text_AnswerTalkedToEveryoneNowWhat, + [HELP_SOMEONE_BLOCKING_MY_WAY] = Help_Text_AnswerSomeoneBlockingMyWay, + [HELP_I_CANT_GO_ON] = Help_Text_AnswerICantGoOn, + [HELP_OUT_OF_THINGS_TO_DO] = Help_Text_AnswerOutOfThingsToDo, + [HELP_WHAT_HAPPENED_TO_ITEM_I_GOT] = Help_Text_AnswerWhatHappenedToItemIGot, + [HELP_WHAT_ARE_MY_ADVENTURE_BASICS] = Help_Text_AnswerWhatAreMyAdventureBasics, + [HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT] = Help_Text_AnswerHowAreRoadsForestsDifferent, + [HELP_HOW_ARE_CAVES_DIFFERENT] = Help_Text_AnswerHowAreCavesDifferent, + [HELP_HOW_DO_I_PROGRESS] = Help_Text_AnswerHowDoIProgress, + [HELP_WHEN_CAN_I_USE_ITEM] = Help_Text_AnswerWhenCanIUseItem, + [HELP_WHATS_A_BATTLE] = Help_Text_AnswerWhatsABattle, + [HELP_HOW_DO_I_PREPARE_FOR_BATTLE] = Help_Text_AnswerHowDoIPrepareForBattle, + [HELP_WHAT_IS_A_MONS_VITALITY] = Help_Text_AnswerWhatIsAMonsVitality, + [HELP_MY_MONS_ARE_HURT] = Help_Text_AnswerMyMonsAreHurt, + [HELP_WHAT_IS_STATUS_PROBLEM] = Help_Text_AnswerWhatIsStatusProblem, + [HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT] = Help_Text_AnswerWhatHappensIfAllMyMonsFaint, + [HELP_CANT_CATCH_MONS] = Help_Text_AnswerCantCatchMons, + [HELP_RAN_OUT_OF_POTIONS] = Help_Text_AnswerRanOutOfPotions, + [HELP_CAN_I_BUY_POKEBALLS] = Help_Text_AnswerCanIBuyPokeBalls, + [HELP_WHATS_A_TRAINER] = Help_Text_AnswerWhatsATrainer, + [HELP_HOW_DO_I_WIN_AGAINST_TRAINER] = Help_Text_AnswerHowDoIWinAgainstTrainer, + [HELP_WHERE_DO_MONS_APPEAR] = Help_Text_AnswerWhereDoMonsAppear, + [HELP_WHAT_ARE_MOVES] = Help_Text_AnswerWhatAreMoves, + [HELP_WHAT_ARE_HIDDEN_MOVES] = Help_Text_AnswerWhatAreHiddenMoves, + [HELP_WHAT_MOVES_SHOULD_I_USE] = Help_Text_AnswerWhatMovesShouldIUse, + [HELP_WANT_TO_ADD_MORE_MOVES] = Help_Text_AnswerWantToAddMoreMoves, + [HELP_WANT_TO_MAKE_MON_STRONGER] = Help_Text_AnswerWantToMakeMonStronger, + [HELP_FOE_MONS_TOO_STRONG] = Help_Text_AnswerFoeMonsTooStrong, + [HELP_WHAT_DO_I_DO_IN_CAVE] = Help_Text_AnswerWhatDoIDoInCave, + [HELP_NOTHING_I_WANT_TO_KNOW] = Help_Text_AnswerNothingIWantToKnow, + [HELP_WHATS_POKEMON_CENTER] = Help_Text_AnswerWhatsPokemonCenter, + [HELP_WHATS_POKEMON_MART] = Help_Text_AnswerWhatsPokemonMart, + [HELP_WANT_TO_END_GAME] = Help_Text_AnswerWantToEndGame, + [HELP_WHATS_A_MON] = Help_Text_AnswerWhatsAMon, + [HELP_WHAT_IS_THAT_PERSON_LIKE] = Help_Text_AnswerWhatIsThatPersonLike, + [HELP_WHAT_DOES_HIDDEN_MOVE_DO] = Help_Text_AnswerWhatDoesHiddenMoveDo, + [HELP_WHAT_DO_I_DO_IN_SAFARI] = Help_Text_AnswerWhatDoIDoInSafari, + [HELP_WHAT_ARE_SAFARI_RULES] = Help_Text_AnswerWhatAreSafariRules, + [HELP_WANT_TO_END_SAFARI] = Help_Text_AnswerWantToEndSafari, + [HELP_WHAT_IS_A_GYM] = 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, - gUnknown_81B56E3, - gUnknown_81B56F4, - gUnknown_81B5705, - gUnknown_81B5717, - gUnknown_81B5728, - gUnknown_81B5737, - gUnknown_81B5744, - gUnknown_81B5754, - gUnknown_81B5767, - gUnknown_81B577B, - gUnknown_81B5787, - gUnknown_81B5795, - gUnknown_81B57A5, - gUnknown_81B57B8, - gUnknown_81B57CF, - gUnknown_81B57DE, - gUnknown_81B57EE, - gUnknown_81B580D, - gUnknown_81B5824, - gUnknown_81B5834, - gUnknown_81B583F, - gUnknown_81B5850, - gUnknown_81B5863, - gUnknown_81B5875, - gUnknown_81B5884, - gUnknown_81B5893, - gUnknown_81B58A4, - gUnknown_81B58BC, - gUnknown_81B58D3, - gUnknown_81B58E5, - gUnknown_81B58FD, - gUnknown_81B590E, - gUnknown_81B591D, - gUnknown_81B592E, - gUnknown_81B593E, - gUnknown_81B5950, - gUnknown_81B595D, - gUnknown_81B5974, - gUnknown_81B5989, - gUnknown_81B59A7, - gUnknown_81B59BF, - gUnknown_81B59D6, - gUnknown_81B59E8, - gUnknown_81B59F5, - gUnknown_81B5A0D, - gUnknown_81B5A1B, - gUnknown_81B5A29, - gUnknown_81B5A37 -}; - -static const u8 *const sHelpSystemSpecializedControlsTextPtrs[] = { - NULL, - gUnknown_81B5A4D, - gUnknown_81B5B0C, - gUnknown_81B5B7D, - gUnknown_81B5C13, - gUnknown_81B5CDF, - gUnknown_81B5D87, - gUnknown_81B5E41, - gUnknown_81B5F10, - gUnknown_81B5FA6, - gUnknown_81B606C, - gUnknown_81B6140, - gUnknown_81B6203, - gUnknown_81B62E4, - gUnknown_81B6397, - gUnknown_81B6478, - gUnknown_81B6525, - gUnknown_81B65E7, - gUnknown_81B66BA, - gUnknown_81B678E, - gUnknown_81B6883, - gUnknown_81B68CD, - gUnknown_81B69B9, - gUnknown_81B6A9A, - gUnknown_81B6B6E, - gUnknown_81B6C4F, - gUnknown_81B6D4A, - gUnknown_81B6E02, - gUnknown_81B6EC1, - gUnknown_81B6FA8, - gUnknown_81B7075, - gUnknown_81B7108, - gUnknown_81B71EA, - gUnknown_81B723B, - gUnknown_81B7319, - gUnknown_81B73E8, - gUnknown_81B747E, - gUnknown_81B752C, - gUnknown_81B7611, - gUnknown_81B7692, - gUnknown_81B771E, - gUnknown_81B77DD, - gUnknown_81B7884, - gUnknown_81B7931, - gUnknown_81B79CB, - gUnknown_81B7A60, - gUnknown_81B7AEE, - gUnknown_81B7BBE, - gUnknown_81B7C57 -}; - -static const u8 *const sHelpSystemSpecializedStringsTextPtrs[] = { - NULL, - gUnknown_81B7CC1, - gUnknown_81B7CC4, - gUnknown_81B7CD9, - gUnknown_81B7CDF, - gUnknown_81B7CE6, - gUnknown_81B7CEE, - gUnknown_81B7CF6, - gUnknown_81B7CFE, - gUnknown_81B7D04, - gUnknown_81B7D12, - gUnknown_81B7D17, - gUnknown_81B7D1A, - gUnknown_81B7D1F, - gUnknown_81B7D27, - gUnknown_81B7D2D, - gUnknown_81B7D37, - gUnknown_81B7D3E, - gUnknown_81B7D45, - gUnknown_81B7D48, - gUnknown_81B7D4E, - gUnknown_81B7D57, - gUnknown_81B7D5B, - gUnknown_81B7D61, - gUnknown_81B7D6B, - gUnknown_81B7D76, - gUnknown_81B7D7E, - gUnknown_81B7D88, - gUnknown_81B7D8F, - gUnknown_81B7D9A, - gUnknown_81B7DA7, - gUnknown_81B7DB4, - gUnknown_81B7DBA, - gUnknown_81B7DC6, - gUnknown_81B7DCC, - gUnknown_81B7DD3, - gUnknown_81B7DD6, - gUnknown_81B7DD9, - gUnknown_81B7DE1, - gUnknown_81B7DEB, - gUnknown_81B7DFA, - gUnknown_81B7E02, - gUnknown_81B7E09, - gUnknown_81B7E0F -}; - -static const u8 *const sHelpSystemSpecializedStringDefinitionsTextPtrs[] = { - NULL, - gUnknown_81B7E16, - gUnknown_81B7F0A, - gUnknown_81B800A, - gUnknown_81B80EC, - gUnknown_81B81C2, - gUnknown_81B8256, - gUnknown_81B8348, - gUnknown_81B83EF, - gUnknown_81B847B, - gUnknown_81B8550, - gUnknown_81B8647, - gUnknown_81B86E2, - gUnknown_81B87B8, - gUnknown_81B8897, - gUnknown_81B8924, - gUnknown_81B8A04, - gUnknown_81B8A84, - gUnknown_81B8B62, - gUnknown_81B8C18, - gUnknown_81B8C94, - gUnknown_81B8D1D, - gUnknown_81B8DD4, - gUnknown_81B8E67, - gUnknown_81B8F4D, - gUnknown_81B901B, - gUnknown_81B90A7, - gUnknown_81B90E8, - gUnknown_81B9170, - gUnknown_81B91C2, - gUnknown_81B91F9, - gUnknown_81B92B8, - gUnknown_81B92ED, - gUnknown_81B93D8, - gUnknown_81B9439, - gUnknown_81B9497, - gUnknown_81B9560, - gUnknown_81B9656, - gUnknown_81B9749, - gUnknown_81B984F, - gUnknown_81B991C, - gUnknown_81B99C4, - gUnknown_81B9AA2, - gUnknown_81B9B2F + [HELP_NONE] = NULL, + [HELP_USING_POKEDEX] = Help_Text_UsingPokedex, + [HELP_USING_POKEMON] = Help_Text_UsingPokemon, + [HELP_USING_SUMMARY] = Help_Text_UsingSummary, + [HELP_USING_SWITCH] = Help_Text_UsingSwitch, + [HELP_USING_ITEM] = Help_Text_UsingItem, + [HELP_USING_BAG] = Help_Text_UsingBag, + [HELP_USING_AN_ITEM] = Help_Text_UsingAnItem, + [HELP_USING_KEYITEM] = Help_Text_UsingKeyItem, + [HELP_USING_POKEBALL] = Help_Text_UsingPokeBall, + [HELP_USING_PLAYER] = Help_Text_UsingPlayer, + [HELP_USING_SAVE] = Help_Text_UsingSave, + [HELP_USING_OPTION] = Help_Text_UsingOption, + [HELP_USING_POTION] = Help_Text_UsingPotion, + [HELP_USING_TOWN_MAP] = Help_Text_UsingTownMap, + [HELP_USING_TM] = Help_Text_UsingTM, + [HELP_USING_HM] = Help_Text_UsingHM, + [HELP_USING_MOVE_OUTSIDE_OF_BATTLE] = Help_Text_UsingMoveOutsideOfBattle, + [HELP_RIDING_BICYCLE] = Help_Text_RidingBicycle, + [HELP_ENTERING_NAME] = Help_Text_EnteringName, + [HELP_USING_PC] = Help_Text_UsingPC, + [HELP_USING_BILLS_PC] = Help_Text_UsingBillsPC, + [HELP_USING_WITHDRAW] = Help_Text_UsingWithdraw, + [HELP_USING_DEPOSIT] = Help_Text_UsingDeposit, + [HELP_USING_MOVE] = Help_Text_UsingMove, + [HELP_MOVING_ITEMS] = Help_Text_MovingItems, + [HELP_USING_PLAYERS_PC] = Help_Text_UsingPlayersPC, + [HELP_USING_WITHDRAW_ITEM] = Help_Text_UsingWithdrawItem, + [HELP_USING_DEPOSIT_ITEM] = Help_Text_UsingDepositItem, + [HELP_USING_MAILBOX] = Help_Text_UsingMailbox, + [HELP_USING_PROF_OAKS_PC] = Help_Text_UsingProfOaksPC, + [HELP_OPENING_MENU] = Help_Text_OpeningMenu, + [HELP_USING_FIGHT] = Help_Text_UsingFight, + [HELP_USING_POKEMON2] = Help_Text_UsingPokemon2, + [HELP_USING_SHIFT] = Help_Text_UsingShift, + [HELP_USING_SUMMARY2] = Help_Text_UsingSummary2, + [HELP_USING_BAG2] = Help_Text_UsingBag2, + [HELP_READING_POKEDEX] = Help_Text_ReadingPokedex, + [HELP_USING_HOME_PC] = Help_Text_UsingHomePC, + [HELP_USING_ITEM_STORAGE] = Help_Text_UsingItemStorage, + [HELP_USING_WITHDRAW_ITEM2] = Help_Text_UsingWithdrawItem2, + [HELP_USING_DEPOSIT_ITEM2] = Help_Text_UsingDepositItem2, + [HELP_USING_MAILBOX2] = Help_Text_UsingMailbox2, + [HELP_USING_RUN] = Help_Text_UsingRun, + [HELP_REGISTER_KEY_ITEM] = Help_Text_RegisterKeyItem, + [HELP_USING_BALL] = Help_Text_UsingBall, + [HELP_USING_BAIT] = Help_Text_UsingBait, + [HELP_USING_ROCK] = Help_Text_UsingRock, + [HELP_USING_HALL_OF_FAME] = Help_Text_UsingHallOfFame +}; + +static const u8 *const sHelpSystemHowToUseMenuTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_USING_POKEDEX] = Help_Text_HowToUsePokedex, + [HELP_USING_POKEMON] = Help_Text_HowToUsePokemon, + [HELP_USING_SUMMARY] = Help_Text_HowToUseSummary, + [HELP_USING_SWITCH] = Help_Text_HowToUseSwitch, + [HELP_USING_ITEM] = Help_Text_HowToUseItem, + [HELP_USING_BAG] = Help_Text_HowToUseBag, + [HELP_USING_AN_ITEM] = Help_Text_HowToUseAnItem, + [HELP_USING_KEYITEM] = Help_Text_HowToUseKeyItem, + [HELP_USING_POKEBALL] = Help_Text_HowToUsePokeBall, + [HELP_USING_PLAYER] = Help_Text_HowToUsePlayer, + [HELP_USING_SAVE] = Help_Text_HowToUseSave, + [HELP_USING_OPTION] = Help_Text_HowToUseOption, + [HELP_USING_POTION] = Help_Text_HowToUsePotion, + [HELP_USING_TOWN_MAP] = Help_Text_HowToUseTownMap, + [HELP_USING_TM] = Help_Text_HowToUseTM, + [HELP_USING_HM] = Help_Text_HowToUseHM, + [HELP_USING_MOVE_OUTSIDE_OF_BATTLE] = Help_Text_HowToUseMoveOutsideOfBattle, + [HELP_RIDING_BICYCLE] = Help_Text_HowToRideBicycle, + [HELP_ENTERING_NAME] = Help_Text_HowToEnterName, + [HELP_USING_PC] = Help_Text_HowToUsePC, + [HELP_USING_BILLS_PC] = Help_Text_HowToUseBillsPC, + [HELP_USING_WITHDRAW] = Help_Text_HowToUseWithdraw, + [HELP_USING_DEPOSIT] = Help_Text_HowToUseDeposit, + [HELP_USING_MOVE] = Help_Text_HowToUseMove, + [HELP_MOVING_ITEMS] = Help_Text_HowToMoveItems, + [HELP_USING_PLAYERS_PC] = Help_Text_HowToUsePlayersPC, + [HELP_USING_WITHDRAW_ITEM] = Help_Text_HowToUseWithdrawItem, + [HELP_USING_DEPOSIT_ITEM] = Help_Text_HowToUseDepositItem, + [HELP_USING_MAILBOX] = Help_Text_HowToUseMailbox, + [HELP_USING_PROF_OAKS_PC] = Help_Text_HowToUseProfOaksPC, + [HELP_OPENING_MENU] = Help_Text_HowToOpenMenu, + [HELP_USING_FIGHT] = Help_Text_HowToUseFight, + [HELP_USING_POKEMON2] = Help_Text_HowToUsePokemon2, + [HELP_USING_SHIFT] = Help_Text_HowToUseShift, + [HELP_USING_SUMMARY2] = Help_Text_HowToUseSummary2, + [HELP_USING_BAG2] = Help_Text_HowToUseBag2, + [HELP_READING_POKEDEX] = Help_Text_HowToReadPokedex, + [HELP_USING_HOME_PC] = Help_Text_HowToUseHomePC, + [HELP_USING_ITEM_STORAGE] = Help_Text_HowToUseItemStorage, + [HELP_USING_WITHDRAW_ITEM2] = Help_Text_HowToUseWithdrawItem2, + [HELP_USING_DEPOSIT_ITEM2] = Help_Text_HowToUseDepositItem2, + [HELP_USING_MAILBOX2] = Help_Text_HowToUseMailbox2, + [HELP_USING_RUN] = Help_Text_HowToUseRun, + [HELP_REGISTER_KEY_ITEM] = Help_Text_HowToRegisterKeyItem, + [HELP_USING_BALL] = Help_Text_HowToUseBall, + [HELP_USING_BAIT] = Help_Text_HowToUseBait, + [HELP_USING_ROCK] = Help_Text_HowToUseRock, + [HELP_USING_HALL_OF_FAME] = 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[] = { + [HELP_NONE] = NULL, + [HELP_TERM_HP] = Help_Text_HP, + [HELP_TERM_EXP] = Help_Text_EXP, + [HELP_TERM_MOVES] = Help_Text_Moves, + [HELP_TERM_ATTACK] = Help_Text_Attack, + [HELP_TERM_DEFENSE] = Help_Text_Defense, + [HELP_TERM_SPATK] = Help_Text_SpAtk, + [HELP_TERM_SPDEF] = Help_Text_SpDef, + [HELP_TERM_SPEED] = Help_Text_Speed, + [HELP_TERM_LEVEL] = Help_Text_Level, + [HELP_TERM_TYPE] = Help_Text_Type, + [HELP_TERM_OT] = Help_Text_OT, + [HELP_TERM_ITEM] = Help_Text_Item, + [HELP_TERM_ABILITY] = Help_Text_Ability, + [HELP_TERM_MONEY] = Help_Text_Money, + [HELP_TERM_MOVE_TYPE] = Help_Text_MoveType, + [HELP_TERM_NATURE] = Help_Text_Nature, + [HELP_TERM_ID_NO] = Help_Text_IDNo, + [HELP_TERM_PP] = Help_Text_PP, + [HELP_TERM_POWER] = Help_Text_Power, + [HELP_TERM_ACCURACY] = Help_Text_Accuracy, + [HELP_TERM_FNT] = Help_Text_FNT, + [HELP_TERM_ITEMS] = Help_Text_Items, + [HELP_TERM_KEYITEMS] = Help_Text_KeyItems, + [HELP_TERM_POKEBALLS] = Help_Text_PokeBalls, + [HELP_TERM_POKEDEX] = Help_Text_Pokedex, + [HELP_TERM_PLAY_TIME] = Help_Text_PlayTime, + [HELP_TERM_BADGES] = Help_Text_Badges, + [HELP_TERM_TEXT_SPEED] = Help_Text_TextSpeed, + [HELP_TERM_BATTLE_SCENE] = Help_Text_BattleScene, + [HELP_TERM_BATTLE_STYLE] = Help_Text_BattleStyle, + [HELP_TERM_SOUND] = Help_Text_Sound, + [HELP_TERM_BUTTON_MODE] = Help_Text_ButtonMode, + [HELP_TERM_FRAME] = Help_Text_Frame, + [HELP_TERM_CANCEL] = Help_Text_Cancel2, + [HELP_TERM_TM] = Help_Text_TM, + [HELP_TERM_HM] = Help_Text_HM, + [HELP_TERM_HM_MOVE] = Help_Text_HMMove, + [HELP_TERM_EVOLUTION] = Help_Text_Evolution, + [HELP_TERM_STATUS_PROBLEM] = Help_Text_StatusProblem, + [HELP_TERM_POKEMON] = Help_Text_Pokemon, + [HELP_TERM_ID_NO2] = Help_Text_IDNo2, + [HELP_TERM_MONEY2] = Help_Text_Money2, + [HELP_TERM_BADGES2] = Help_Text_Badges2 +}; + +static const u8 *const sHelpSystemTermDefinitionsTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_TERM_HP] = Help_Text_DefineHP, + [HELP_TERM_EXP] = Help_Text_DefineEXP, + [HELP_TERM_MOVES] = Help_Text_DefineMoves, + [HELP_TERM_ATTACK] = Help_Text_DefineAttack, + [HELP_TERM_DEFENSE] = Help_Text_DefineDefense, + [HELP_TERM_SPATK] = Help_Text_DefineSpAtk, + [HELP_TERM_SPDEF] = Help_Text_DefineSpDef, + [HELP_TERM_SPEED] = Help_Text_DefineSpeed, + [HELP_TERM_LEVEL] = Help_Text_DefineLevel, + [HELP_TERM_TYPE] = Help_Text_DefineType, + [HELP_TERM_OT] = Help_Text_DefineOT, + [HELP_TERM_ITEM] = Help_Text_DefineItem, + [HELP_TERM_ABILITY] = Help_Text_DefineAbility, + [HELP_TERM_MONEY] = Help_Text_DefineMoney, + [HELP_TERM_MOVE_TYPE] = Help_Text_DefineMoveType, + [HELP_TERM_NATURE] = Help_Text_DefineNature, + [HELP_TERM_ID_NO] = Help_Text_DefineIDNo, + [HELP_TERM_PP] = Help_Text_DefinePP, + [HELP_TERM_POWER] = Help_Text_DefinePower, + [HELP_TERM_ACCURACY] = Help_Text_DefineAccuracy, + [HELP_TERM_FNT] = Help_Text_DefineFNT, + [HELP_TERM_ITEMS] = Help_Text_DefineItems, + [HELP_TERM_KEYITEMS] = Help_Text_DefineKeyItems, + [HELP_TERM_POKEBALLS] = Help_Text_DefinePokeBalls, + [HELP_TERM_POKEDEX] = Help_Text_DefinePokedex, + [HELP_TERM_PLAY_TIME] = Help_Text_DefinePlayTime, + [HELP_TERM_BADGES] = Help_Text_DefineBadges, + [HELP_TERM_TEXT_SPEED] = Help_Text_DefineTextSpeed, + [HELP_TERM_BATTLE_SCENE] = Help_Text_DefineBattleScene, + [HELP_TERM_BATTLE_STYLE] = Help_Text_DefineBattleStyle, + [HELP_TERM_SOUND] = Help_Text_DefineSound, + [HELP_TERM_BUTTON_MODE] = Help_Text_DefineButtonMode, + [HELP_TERM_FRAME] = Help_Text_DefineFrame, + [HELP_TERM_CANCEL] = Help_Text_DefineCancel2, + [HELP_TERM_TM] = Help_Text_DefineTM, + [HELP_TERM_HM] = Help_Text_DefineHM, + [HELP_TERM_HM_MOVE] = Help_Text_DefineHMMove, + [HELP_TERM_EVOLUTION] = Help_Text_DefineEvolution, + [HELP_TERM_STATUS_PROBLEM] = Help_Text_DefineStatusProblem, + [HELP_TERM_POKEMON] = Help_Text_DefinePokemon, + [HELP_TERM_ID_NO2] = Help_Text_DefineIDNo2, + [HELP_TERM_MONEY2] = Help_Text_DefineMoney2, + [HELP_TERM_BADGES2] = 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, - gUnknown_81B9BB7, - gUnknown_81B9BC7, - gUnknown_81B9BD0, - gUnknown_81B9BE1, - gUnknown_81B9BF5, - gUnknown_81B9C09, - gUnknown_81B9C1D + [HELP_NONE] = NULL, + [HELP_THE_HELP_SYSTEM] = Help_Text_TheHelpSystem, + [HELP_THE_GAME] = Help_Text_TheGame, + [HELP_WIRELESS_ADAPTER] = Help_Text_WirelessAdapter, + [HELP_GAME_FUNDAMENTALS_1] = Help_Text_GameFundamentals1, + [HELP_GAME_FUNDAMENTALS_2] = Help_Text_GameFundamentals2, + [HELP_GAME_FUNDAMENTALS_3] = Help_Text_GameFundamentals3, + [HELP_WHAT_ARE_POKEMON] = Help_Text_WhatArePokemon }; static const u8 *const sHelpSystemGeneralTopicDescriptionTextPtrs[] = { - NULL, - gUnknown_81B9C2F, - gUnknown_81B9D04, - gUnknown_81B9DC5, - gUnknown_81B9E75, - gUnknown_81B9F09, - gUnknown_81B9FCE, - gUnknown_81BA027 -}; + [HELP_NONE] = NULL, + [HELP_THE_HELP_SYSTEM] = Help_Text_DescTheHelpSystem, + [HELP_THE_GAME] = Help_Text_DescTheGame, + [HELP_WIRELESS_ADAPTER] = Help_Text_DescWirelessAdapter, + [HELP_GAME_FUNDAMENTALS_1] = Help_Text_DescGameFundamentals1, + [HELP_GAME_FUNDAMENTALS_2] = Help_Text_DescGameFundamentals2, + [HELP_GAME_FUNDAMENTALS_3] = Help_Text_DescGameFundamentals3, + [HELP_WHAT_ARE_POKEMON] = 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, - gUnknown_81BA0F1, - gUnknown_81BA10D, - gUnknown_81BA121, - gUnknown_81BA138, - gUnknown_81BA14C, - gUnknown_81BA163, - gUnknown_81BA17A, - gUnknown_81BA194, - gUnknown_81BA1AC, - gUnknown_81BA1C7, - gUnknown_81BA1DC, - gUnknown_81BA1F4, - gUnknown_81BA209, - gUnknown_81BA221, - gUnknown_81BA234, - gUnknown_81BA24A, - gUnknown_81BA260, - gUnknown_81BA279, - gUnknown_81BA291, - gUnknown_81BA2AC, - gUnknown_81BA2C2, - gUnknown_81BA2DB, - gUnknown_81BA2F1, - gUnknown_81BA30A, - gUnknown_81BA320, - gUnknown_81BA339, - gUnknown_81BA34E, - gUnknown_81BA366, - gUnknown_81BA37C, - gUnknown_81BA395, - gUnknown_81BA3A9, - gUnknown_81BA3C0, - gUnknown_81BA3D5, - gUnknown_81BA3ED, - gUnknown_81BA400 + [HELP_NONE] = NULL, + [1] = Help_Text_UsingTypeMatchupList, + [2] = Help_Text_OwnMoveDark, + [3] = Help_Text_OwnPokemonDark, + [4] = Help_Text_OwnMoveRock, + [5] = Help_Text_OwnPokemonRock, + [6] = Help_Text_OwnMovePsychic, + [7] = Help_Text_OwnPokemonPsychic, + [8] = Help_Text_OwnMoveFighting, + [9] = Help_Text_OwnPokemonFighting, + [10] = Help_Text_OwnMoveGrass, + [11] = Help_Text_OwnPokemonGrass, + [12] = Help_Text_OwnMoveGhost, + [13] = Help_Text_OwnPokemonGhost, + [14] = Help_Text_OwnMoveIce, + [15] = Help_Text_OwnPokemonIce, + [16] = Help_Text_OwnMoveGround, + [17] = Help_Text_OwnPokemonGround, + [18] = Help_Text_OwnMoveElectric, + [19] = Help_Text_OwnPokemonElectric, + [20] = Help_Text_OwnMovePoison, + [21] = Help_Text_OwnPokemonPoison, + [22] = Help_Text_OwnMoveDragon, + [23] = Help_Text_OwnPokemonDragon, + [24] = Help_Text_OwnMoveNormal, + [25] = Help_Text_OwnPokemonNormal, + [26] = Help_Text_OwnMoveSteel, + [27] = Help_Text_OwnPokemonSteel, + [28] = Help_Text_OwnMoveFlying, + [29] = Help_Text_OwnPokemonFlying, + [30] = Help_Text_OwnMoveFire, + [31] = Help_Text_OwnPokemonFire, + [32] = Help_Text_OwnMoveWater, + [33] = Help_Text_OwnPokemonWater, + [34] = Help_Text_OwnMoveBug, + [35] = Help_Text_OwnPokemonBug }; static const u8 *const sHelpSystemTypeMatchupDescriptionTextPtrs[] = { - NULL, - gUnknown_81BA416, - gUnknown_81BA4E6, - gUnknown_81BA539, - gUnknown_81BA595, - gUnknown_81BA5F2, - gUnknown_81BA66F, - gUnknown_81BA6C9, - gUnknown_81BA71F, - gUnknown_81BA796, - gUnknown_81BA7E9, - gUnknown_81BA862, - gUnknown_81BA8D3, - gUnknown_81BA92A, - gUnknown_81BA98D, - gUnknown_81BA9F1, - gUnknown_81BAA44, - gUnknown_81BAAB6, - gUnknown_81BAB18, - gUnknown_81BAB7A, - gUnknown_81BABCC, - gUnknown_81BAC29, - gUnknown_81BAC89, - gUnknown_81BACC4, - gUnknown_81BAD20, - gUnknown_81BAD60, - gUnknown_81BADA2, - gUnknown_81BADF7, - gUnknown_81BAEA8, - gUnknown_81BAF01, - gUnknown_81BAF6B, - gUnknown_81BAFCA, - gUnknown_81BB02E, - gUnknown_81BB084, - gUnknown_81BB0DF, - gUnknown_81BB156 -}; - -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 gUnknown_845B6A1[] = { - 0x16, 0x17, 0x18, 0xff -}; - -static const u8 gUnknown_845B6A5[] = { - 0x0a, 0xff -}; - -static const u8 gUnknown_845B6A7[] = { - 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff -}; - -static const u8 gUnknown_845B6AD[] = { - 0x0a, 0xff -}; - -static const u8 gUnknown_845B6AF[] = { - 0x0b, 0xff -}; - -static const u8 gUnknown_845B6B1[] = { - 0x2b, 0x19, 0x1a, 0xff -}; - -static const u8 gUnknown_845B6B5[] = { - 0x0c, 0xff -}; - -static const u8 gUnknown_845B6B7[] = { - 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff -}; - -static const u8 gUnknown_845B6BF[] = { - 0x02, 0x03, 0x04, 0xff -}; - -static const u8 gUnknown_845B6C3[] = { - 0x01, 0x02, 0x03, 0x07, 0xff -}; - -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 + [HELP_NONE] = NULL, + [1] = Help_Text_HowToUseTypeMatchupList, + [2] = Help_Text_TypeMatchupOwnMoveDark, + [3] = Help_Text_TypeMatchupOwnPokemonDark, + [4] = Help_Text_TypeMatchupOwnMoveRock, + [5] = Help_Text_TypeMatchupOwnPokemonRock, + [6] = Help_Text_TypeMatchupOwnMovePsychic, + [7] = Help_Text_TypeMatchupOwnPokemonPsychic, + [8] = Help_Text_TypeMatchupOwnMoveFighting, + [9] = Help_Text_TypeMatchupOwnPokemonFighting, + [10] = Help_Text_TypeMatchupOwnMoveGrass, + [11] = Help_Text_TypeMatchupOwnPokemonGrass, + [12] = Help_Text_TypeMatchupOwnMoveGhost, + [13] = Help_Text_TypeMatchupOwnPokemonGhost, + [14] = Help_Text_TypeMatchupOwnMoveIce, + [15] = Help_Text_TypeMatchupOwnPokemonIce, + [16] = Help_Text_TypeMatchupOwnMoveGround, + [17] = Help_Text_TypeMatchupOwnPokemonGround, + [18] = Help_Text_TypeMatchupOwnMoveElectric, + [19] = Help_Text_TypeMatchupOwnPokemonElectric, + [20] = Help_Text_TypeMatchupOwnMovePoison, + [21] = Help_Text_TypeMatchupOwnPokemonPoison, + [22] = Help_Text_TypeMatchupOwnMoveDragon, + [23] = Help_Text_TypeMatchupOwnPokemonDragon, + [24] = Help_Text_TypeMatchupOwnMoveNormal, + [25] = Help_Text_TypeMatchupOwnPokemonNormal, + [26] = Help_Text_TypeMatchupOwnMoveSteel, + [27] = Help_Text_TypeMatchupOwnPokemonSteel, + [28] = Help_Text_TypeMatchupOwnMoveFlying, + [29] = Help_Text_TypeMatchupOwnPokemonFlying, + [30] = Help_Text_TypeMatchupOwnMoveFire, + [31] = Help_Text_TypeMatchupOwnPokemonFire, + [32] = Help_Text_TypeMatchupOwnMoveWater, + [33] = Help_Text_TypeMatchupOwnPokemonWater, + [34] = Help_Text_TypeMatchupOwnMoveBug, + [35] = Help_Text_TypeMatchupOwnPokemonBug +}; + +static const u8 sAboutGame_TitleScreen[] = { + HELP_THE_HELP_SYSTEM, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_END +}; + +static const u8 sAboutGame_NewGame[] = { + HELP_THE_HELP_SYSTEM, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_END +}; + +static const u8 sHowTo_NamingScreen[] = { + HELP_ENTERING_NAME, + HELP_END +}; + +static const u8 sAboutGame_NamingScreen[] = { + HELP_THE_HELP_SYSTEM, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_END +}; + +static const u8 sHowTo_Pokedex[] = { + HELP_USING_POKEDEX, + HELP_READING_POKEDEX, + HELP_END +}; + +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 sTerms_PartyMenu[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_END +}; + +static const u8 sHowTo_PokemonInfo[] = { + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_END +}; + +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 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 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 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,36 +1965,36 @@ 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 = sHelpSystemSpecializedStringsTextPtrs[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 = sHelpSystemSpecializedStringsTextPtrs[indexPtr[i]]; - listMenuItemsBuffer[totalItems].index = indexPtr[i]; + listMenuItemsBuffer[totalItems].label = sHelpSystemTermTextPtrs[submenuItems[i]]; + listMenuItemsBuffer[totalItems].index = submenuItems[i]; totalItems++; } } - listMenuItemsBuffer[totalItems].label = gUnknown_81B2E6F; + listMenuItemsBuffer[totalItems].label = Help_Text_Cancel; listMenuItemsBuffer[totalItems].index = -2; totalItems++; helpListMenu->sub.totalItems = 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]], sHelpSystemSpecializedControlsTextPtrs[sHelpSystemState[3]]); + HelpSystem_PrintTwoStrings(sHelpSystemMenuTopicTextPtrs[gHelpSystemState[3]], sHelpSystemHowToUseMenuTextPtrs[gHelpSystemState[3]]); } - else if (sHelpSystemState[1] == 2) + else if (gHelpSystemState[1] == TOPIC_TERMS) { - HelpSystem_PrintTwoStrings(sHelpSystemSpecializedStringsTextPtrs[sHelpSystemState[3]], sHelpSystemSpecializedStringDefinitionsTextPtrs[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); @@ -1548,7 +2432,7 @@ bool8 HelpMenuSubroutine_HelpItemWaitButton(struct HelpSystemListMenu * helpList static void PrintWelcomeMessageOnPanel1(void) { HelpSystem_FillPanel1(); - HelpSystem_PrintTextAt(gUnknown_81B2FC9, 0, 0); + HelpSystem_PrintTextAt(Help_Text_Greetings, 0, 0); } static void PrintTextOnPanel2Row52RightAlign(const u8 * str) @@ -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/hof_pc.c b/src/hof_pc.c index 353c067c2..173625774 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -39,7 +39,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - ScrSpecial_CreatePCMenu(); + CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); CreateTask(Task_WaitForPaletteFade, 10); diff --git a/src/item_menu.c b/src/item_menu.c index 2253c287e..4131e7fd5 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; @@ -1434,7 +1434,7 @@ static void OpenContextMenu(u8 taskId) Menu_InitCursor(r6, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, sContextMenuNumItems, 0); r4 = ShowBagWindow(6, 0); CopyItemName(gSpecialVar_ItemId, gStringVar1); - StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); BagPrintTextOnWindow(r4, 2, gStringVar4, 0, 2, 1, 0, 0, 1); } diff --git a/src/item_pc.c b/src/item_pc.c index f5bc6659b..46419f2f3 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: @@ -848,7 +848,7 @@ static void Task_ItemPcSubmenuInit(u8 taskId) PrintTextArray(4, 2, 8, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, sItemPcSubmenuOptions); Menu_InitCursor(4, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, 0); CopyItemName(ItemPc_GetItemIdBySlotId(data[1]), gStringVar1); - StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); ItemPc_AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 2, 1, 0, 0, 1); ScheduleBgCopyTilemapToVram(0); gTasks[taskId].func = Task_ItemPcSubmenuRun; 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/menews_jisan.c b/src/menews_jisan.c index d8971f6a2..f3b8fca78 100644 --- a/src/menews_jisan.c +++ b/src/menews_jisan.c @@ -54,7 +54,7 @@ void MENewsJisanStepCounter(void) } } -u16 Special_GetMENewsJisanItemAndState(void) +u16 GetMENewsJisanItemAndState(void) { u16 *r6 = &gSpecialVar_Result; struct MENewsJisanStruct *r4 = GetMENewsJisanStructPtr(); 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/party_menu_specials.c b/src/party_menu_specials.c index 242422f7b..aba11a534 100644 --- a/src/party_menu_specials.c +++ b/src/party_menu_specials.c @@ -13,7 +13,7 @@ static void sub_80BF97C(u8 taskId); -void Special_ChooseMonFromParty(void) +void ChoosePartyMon(void) { u8 taskId; @@ -23,7 +23,7 @@ void Special_ChooseMonFromParty(void) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); } -void Special_SelectMoveTutorMon(void) +void SelectMoveTutorMon(void) { u8 taskId; @@ -43,14 +43,14 @@ static void sub_80BF97C(u8 taskId) } } -void Special_SelectMove(void) +void SelectMoveDeleterMove(void) { ShowSelectMovePokemonSummaryScreen(gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField, 0); sub_8138B38(3); gFieldCallback = FieldCallback_ReturnToEventScript2; } -void Special_GetNumMovesSelectedMonHas(void) +void GetNumMovesSelectedMonHas(void) { u8 i; @@ -60,7 +60,7 @@ void Special_GetNumMovesSelectedMonHas(void) ++gSpecialVar_Result; } -void Special_BufferMoveDeleterNicknameAndMove(void) +void BufferMoveDeleterNicknameAndMove(void) { struct Pokemon *mon = &gPlayerParty[gSpecialVar_0x8004]; u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005); @@ -91,7 +91,7 @@ static void ShiftMoveSlot(struct Pokemon *mon, u8 slotTo, u8 slotFrom) SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); } -void Special_MoveDeleterForgetMove(void) +void MoveDeleterForgetMove(void) { u16 i; @@ -101,7 +101,7 @@ void Special_MoveDeleterForgetMove(void) ShiftMoveSlot(&gPlayerParty[gSpecialVar_0x8004], i, i + 1); } -void Special_IsSelectedMonEgg(void) +void IsSelectedMonEgg(void) { if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_IS_EGG)) gSpecialVar_Result = TRUE; 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/post_battle_event_funcs.c b/src/post_battle_event_funcs.c index 72d4266c8..b564e74ce 100644 --- a/src/post_battle_event_funcs.c +++ b/src/post_battle_event_funcs.c @@ -8,7 +8,7 @@ #include "constants/flags.h" #include "constants/spawn_points.h" -bool8 Special_HallOfFame(void) +bool8 EnterHallOfFame(void) { bool8 ribbonState; bool8 *r7; @@ -52,7 +52,7 @@ bool8 Special_HallOfFame(void) return FALSE; } -bool8 SetCB2Whiteout(void) +bool8 SetCB2WhiteOut(void) { SetMainCallback2(CB2_WhiteOut); return FALSE; diff --git a/src/prof_pc.c b/src/prof_pc.c index ce81d9ce8..c7eed8878 100644 --- a/src/prof_pc.c +++ b/src/prof_pc.c @@ -21,7 +21,7 @@ extern const u8 PokedexRating_Text_LessThan140[]; extern const u8 PokedexRating_Text_LessThan150[]; extern const u8 PokedexRating_Text_Complete[]; -u16 Special_GetPokedexCount(void) +u16 GetPokedexCount(void) { if (gSpecialVar_0x8004 == 0) { @@ -104,7 +104,7 @@ static const u8 *GetProfOaksRatingMessageByCount(u16 count) return PokedexRating_Text_LessThan10; } -void Special_GetProfOaksRatingMessage(void) +void GetProfOaksRatingMessage(void) { ShowFieldMessage(GetProfOaksRatingMessageByCount(gSpecialVar_0x8004)); } diff --git a/src/quest_log.c b/src/quest_log.c index c9a930032..5d260b58f 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -281,133 +281,6 @@ static bool8 sub_81153A8(u16, const u16 *); static bool8 sub_81153E4(u16, const u16 *); static void BufferLinkPartnersName(u8 *); -extern const u8 QuestLog_Text_PreviouslyOnYourQuest[]; -extern const u8 QuestLog_Text_SwitchMon1WithMon2[]; -extern const u8 QuestLog_Text_SwappedHeldItemsOnMon[]; -extern const u8 QuestLog_Text_TookHeldItemFromMon[]; -extern const u8 QuestLog_Text_UsedItemOnMonAtThisLocation[]; -extern const u8 QuestLog_Text_UsedTheItem[]; -extern const u8 QuestLog_Text_UsedTheKeyItem[]; -extern const u8 QuestLog_Text_MonLearnedMoveFromTM[]; -extern const u8 QuestLog_Text_MonReplacedMoveWithTM[]; -extern const u8 QuestLog_Text_MonsWereFullyRestoredAtCenter[]; -extern const u8 QuestLog_Text_PlayerBattledChampionRival[]; -extern const u8 QuestLog_Text_PlayerSentOutMon1RivalSentOutMon2[]; -extern const u8 QuestLog_Text_WonTheMatchAsAResult[]; -extern const u8 QuestLog_Text_StoredItemInPC[]; -extern const u8 QuestLog_Text_WithdrewItemFromPC[]; -extern const u8 QuestLog_Text_TradedMon1ForPersonsMon2[]; -extern const u8 QuestLog_Text_SingleBattleWithPersonResultedInOutcome[]; -extern const u8 QuestLog_Text_DoubleBattleWithPersonResultedInOutcome[]; -extern const u8 QuestLog_Text_MultiBattleWithPeopleResultedInOutcome[]; -extern const u8 QuestLog_Text_Win[]; -extern const u8 QuestLog_Text_Loss[]; -extern const u8 QuestLog_Text_MingledInUnionRoom[]; -extern const u8 QuestLog_Text_DepartedPlaceInTownForNextDestination[]; -extern const u8 QuestLog_Text_SwitchedMonsBetweenBoxes[]; -extern const u8 QuestLog_Text_MovedMonToNewBox[]; -extern const u8 QuestLog_Text_SwitchedMonsWithinBox[]; -extern const u8 QuestLog_Text_MovedMonWithinBox[]; -extern const u8 QuestLog_Text_SwitchedPartyMonForPCMon[]; -extern const u8 QuestLog_Text_WithdrewMonFromPC[]; -extern const u8 QuestLog_Text_DepositedMonInPC[]; -extern const u8 QuestLog_Text_SwitchedMultipleMons[]; -extern const u8 QuestLog_Text_ADifferentSpot[]; -extern const u8 QuestLog_Text_GaveMonHeldItemFromPC[]; -extern const u8 QuestLog_Text_SwappedHeldItemFromPC[]; -extern const u8 QuestLog_Text_ChattedWithManyTrainers[]; -extern const u8 QuestLog_Text_Handily[]; -extern const u8 QuestLog_Text_Tenaciously[]; -extern const u8 QuestLog_Text_Somehow[]; -extern const u8 QuestLog_Text_TradedMon1ForTrainersMon2[]; -extern const u8 QuestLog_Text_BattledTrainerEndedInOutcome[]; -extern const u8 QuestLog_Text_BoughtItem[]; -extern const u8 QuestLog_Text_BoughtItemsIncludingItem[]; -extern const u8 QuestLog_Text_SoldNumOfItem[]; -extern const u8 QuestLog_Text_SoldItemsIncludingItem[]; -extern const u8 QuestLog_Text_JustOne[]; -extern const u8 QuestLog_Text_Num[]; -extern const u8 QuestLog_Text_UsedSoftboiled[]; -extern const u8 QuestLog_Text_UsedMilkDrink[]; -extern const u8 QuestLog_Text_MonLearnedMoveFromHM[]; -extern const u8 QuestLog_Text_MonReplacedMoveWithHM[]; -extern const u8 QuestLog_Text_DefeatedWildMon[]; -extern const u8 QuestLog_Text_DefeatedWildMons[]; -extern const u8 QuestLog_Text_CaughtWildMon[]; -extern const u8 QuestLog_Text_CaughtWildMons[]; -extern const u8 QuestLog_Text_DefeatedWildMonAndCaughtWildMon[]; -extern const u8 QuestLog_Text_DefeatedWildMonAndCaughtWildMons[]; -extern const u8 QuestLog_Text_DefeatedWildMonsAndCaughtWildMon[]; -extern const u8 QuestLog_Text_DefeatedWildMonsAndCaughtWildMons[]; -extern const u8 QuestLog_Text_GaveMonHeldItem[]; -extern const u8 QuestLog_Text_GaveMonHeldItem2[]; -extern const u8 QuestLog_Text_UsedCut[]; -extern const u8 QuestLog_Text_UsedFly[]; -extern const u8 QuestLog_Text_UsedSurf[]; -extern const u8 QuestLog_Text_UsedStrength[]; -extern const u8 QuestLog_Text_UsedFlash[]; -extern const u8 QuestLog_Text_UsedRockSmash[]; -extern const u8 QuestLog_Text_UsedWaterfall[]; -extern const u8 QuestLog_Text_UsedDive[]; -extern const u8 QuestLog_Text_UsedDigInLocation[]; -extern const u8 QuestLog_Text_UsedSweetScent[]; -extern const u8 QuestLog_Text_UsedTeleportToLocation[]; -extern const u8 QuestLog_Text_LeftTownsLocationForNextDestination[]; -extern const u8 QuestLog_Text_PlayedGamesAtGameCorner[]; -extern const u8 QuestLog_Text_RestedAtHome[]; -extern const u8 QuestLog_Text_LeftOaksLab[]; -extern const u8 QuestLog_Text_GymWasFullOfToughTrainers[]; -extern const u8 QuestLog_Text_DepartedGym[]; -extern const u8 QuestLog_Text_HadGreatTimeInSafariZone[]; -extern const u8 QuestLog_Text_ManagedToGetOutOfLocation[]; -extern const u8 QuestLog_Text_TookOnGymLeadersMonWithMonAndWon[]; -extern const u8 QuestLog_Text_TookOnEliteFoursMonWithMonAndWon[]; -extern const u8 QuestLog_Text_TookOnTrainersMonWithMonAndWon[]; -extern const u8 QuestLog_Text_Coolly[]; -extern const u8 QuestLog_Text_Barely[]; -extern const u8 QuestLog_Text_UsedEscapeRope[]; -extern const u8 QuestLog_Text_Draw[]; -extern const u8 QuestLog_Text_DepartedTheLocationForNextDestination[]; -extern const u8 QuestLog_Text_DepartedFromLocationToNextDestination[]; -extern const u8 QuestLog_Text_ObtainedItemInLocation[]; -extern const u8 QuestLog_Text_ArrivedInLocation[]; -extern const u8 QuestLog_Text_SavedGameAtLocation[]; -extern const u8 QuestLog_Text_Home[]; -extern const u8 QuestLog_Text_OakResearchLab[]; -extern const u8 QuestLog_Text_Gym[]; -extern const u8 QuestLog_Text_PokemonLeagueGate[]; -extern const u8 QuestLog_Text_ViridianForest[]; -extern const u8 QuestLog_Text_PewterMuseumOfScience[]; -extern const u8 QuestLog_Text_MtMoon[]; -extern const u8 QuestLog_Text_BikeShop[]; -extern const u8 QuestLog_Text_BillsHouse[]; -extern const u8 QuestLog_Text_DayCare[]; -extern const u8 QuestLog_Text_UndergroundPath[]; -extern const u8 QuestLog_Text_PokemonFanClub[]; -extern const u8 QuestLog_Text_SSAnne[]; -extern const u8 QuestLog_Text_DiglettsCave[]; -extern const u8 QuestLog_Text_RockTunnel[]; -extern const u8 QuestLog_Text_PowerPlant[]; -extern const u8 QuestLog_Text_PokemonTower[]; -extern const u8 QuestLog_Text_VolunteerHouse[]; -extern const u8 QuestLog_Text_NameRatersHouse[]; -extern const u8 QuestLog_Text_CeladonDeptStore[]; -extern const u8 QuestLog_Text_CeladonMansion[]; -extern const u8 QuestLog_Text_RocketGameCorner[]; -extern const u8 QuestLog_Text_Restaurant[]; -extern const u8 QuestLog_Text_RocketHideout[]; -extern const u8 QuestLog_Text_SafariZone[]; -extern const u8 QuestLog_Text_WardensHome[]; -extern const u8 QuestLog_Text_FightingDojo[]; -extern const u8 QuestLog_Text_SilphCo[]; -extern const u8 QuestLog_Text_SeafoamIslands[]; -extern const u8 QuestLog_Text_PokemonMansion[]; -extern const u8 QuestLog_Text_PokemonResearchLab[]; -extern const u8 QuestLog_Text_VictoryRoad[]; -extern const u8 QuestLog_Text_PokemonLeague[]; -extern const u8 QuestLog_Text_CeruleanCave[]; - - static const struct WindowTemplate gUnknown_845661C[3] = { { 0, 0, 0, 30, 2, 15, 0x0e9 }, { 0, 0, 18, 30, 2, 15, 0x0ad }, @@ -526,7 +399,7 @@ static void sub_8110A3C(void) } } -void Special_GetQuestLogState(void) +void GetQuestLogState(void) { gSpecialVar_Result = gQuestLogState; } @@ -751,7 +624,7 @@ void DrawPreviouslyOnQuestHeader(u8 sceneNum) FillWindowPixelRect(gUnknown_203ADFE[i], 15, 0, 0, gUnknown_845661C[i].width * 8, gUnknown_845661C[i].height * 8); } - StringExpandPlaceholders(gStringVar4, QuestLog_Text_PreviouslyOnYourQuest); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_PreviouslyOnYourQuest); // Scene numbers count from 4 to 0, 0 being where the player saved if (sceneNum != 0) @@ -1370,7 +1243,7 @@ static void Task_QuestLogScene_SavedGame(u8 taskId) if (gUnknown_203AE94.unk_0_6 != 1) { GetMapNameGeneric(gStringVar1, gMapHeader.regionMapSectionId); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SavedGameAtLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SavedGameAtLocation); DrawQuestLogSceneDescription(); } task->data[0] = 0; @@ -2151,7 +2024,7 @@ void ResetTrainerFanClub(void) VarSet(VAR_FANCLUB_LOSE_FAN_TIMER, 0); } -void Special_TryLoseFansFromPlayTimeAfterLinkBattle(void) +void Script_TryLoseFansFromPlayTimeAfterLinkBattle(void) { TryLoseFansFromPlayTimeAfterLinkBattle(TRAINER_FAN_CLUB); } @@ -2165,7 +2038,7 @@ static void TryLoseFansFromPlayTimeAfterLinkBattle(struct TrainerFanClub *fanClu } } -void Special_UpdateTrainerFanClubGameClear(void) +void Script_UpdateTrainerFanClubGameClear(void) { UpdateTrainerFanClubGameClear(TRAINER_FAN_CLUB); } @@ -2282,7 +2155,7 @@ static u8 PlayerLoseRandomTrainerFan(struct TrainerFanClub *fanClub) return sFanClubMemberIds[idx]; } -u16 Special_GetNumFansOfPlayerInTrainerFanClub(void) +u16 Script_GetNumFansOfPlayerInTrainerFanClub(void) { return GetNumFansOfPlayerInTrainerFanClub(TRAINER_FAN_CLUB); } @@ -2301,7 +2174,7 @@ static u16 GetNumFansOfPlayerInTrainerFanClub(struct TrainerFanClub *fanClub) return count; } -void Special_TryLoseFansFromPlayTime(void) +void Script_TryLoseFansFromPlayTime(void) { TryLoseFansFromPlayTime(TRAINER_FAN_CLUB); } @@ -2335,7 +2208,7 @@ static void TryLoseFansFromPlayTime(struct TrainerFanClub *fanClub) } } -bool16 Special_IsFanClubMemberFanOfPlayer(void) +bool16 Script_IsFanClubMemberFanOfPlayer(void) { return IsFanClubMemberFanOfPlayer(TRAINER_FAN_CLUB); } @@ -2352,7 +2225,7 @@ static void SetInitialFansOfPlayer(struct TrainerFanClub *fanClub) SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER3); } -void Special_BufferFanClubTrainerName(void) +void Script_BufferFanClubTrainerName(void) { u8 whichLinkTrainer = 0; u8 whichNPCTrainer = 0; @@ -2446,7 +2319,7 @@ static bool8 DidPlayerGetFirstFans(struct TrainerFanClub *fanClub) return fanClub->gotInitialFans; } -void Special_SetPlayerGotFirstFans(void) +void Script_SetPlayerGotFirstFans(void) { SetPlayerGotFirstFans(TRAINER_FAN_CLUB); } @@ -2456,7 +2329,7 @@ static void SetPlayerGotFirstFans(struct TrainerFanClub *fanClub) fanClub->gotInitialFans = TRUE; } -u8 Special_TryGainNewFanFromCounter(void) +u8 Script_TryGainNewFanFromCounter(void) { return TryGainNewFanFromCounter(TRAINER_FAN_CLUB, gSpecialVar_0x8004); } @@ -3170,7 +3043,7 @@ static const u16 *BufferQuestLogText_SwitchedPartyOrder(const u16 *eventData) const u16 *r4 = sub_8113E88(QL_EVENT_SWITCHED_PARTY_ORDER, eventData); QuestLog_GetSpeciesName(r4[0], gStringVar1, 0); QuestLog_GetSpeciesName(r4[1], gStringVar2, 0); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchMon1WithMon2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchMon1WithMon2); r4 += 2; return r4; } @@ -3204,21 +3077,21 @@ static const u16 *BufferQuestLogText_UsedItem(const u16 *eventData) if (r5[0] == ITEM_ESCAPE_ROPE) { GetMapNameGeneric(gStringVar2, (u8)r5[2]); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedEscapeRope); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedEscapeRope); } else if (r5[1] != 0xFFFF) { QuestLog_GetSpeciesName(r5[1], gStringVar2, 0); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedItemOnMonAtThisLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedItemOnMonAtThisLocation); } else { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedTheItem); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedTheItem); } break; case POCKET_KEY_ITEMS: StringCopy(gStringVar1, ItemId_GetName(r5[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedTheKeyItem); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedTheKeyItem); break; case POCKET_TM_CASE: QuestLog_GetSpeciesName(r5[1], gStringVar1, 0); @@ -3227,16 +3100,16 @@ static const u16 *BufferQuestLogText_UsedItem(const u16 *eventData) { StringCopy(gStringVar3, gMoveNames[r5[2]]); if (r5[0] > ITEM_TM50) - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonReplacedMoveWithHM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithHM); else - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonReplacedMoveWithTM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithTM); } else { if (r5[0] > ITEM_TM50) - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonLearnedMoveFromHM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromHM); else - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonLearnedMoveFromTM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromTM); } break; } @@ -3264,7 +3137,7 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromPartyMenu(const u16 *eventD const u16 *r4 = sub_8113E88(QL_EVENT_GAVE_HELD_ITEM, eventData); QuestLog_GetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GaveMonHeldItem); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GaveMonHeldItem); r4 += 2; return r4; } @@ -3279,7 +3152,7 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromBagMenu(const u16 *eventDat const u16 *r4 = sub_8113E88(QL_EVENT_GAVE_HELD_ITEM_BAG, eventData); QuestLog_GetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GaveMonHeldItem2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GaveMonHeldItem2); r4 += 2; return r4; } @@ -3295,7 +3168,7 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromPC(const u16 *eventData) QuestLog_GetSpeciesName(r4[1], gStringVar2, 0); StringCopy(gStringVar1, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GaveMonHeldItemFromPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GaveMonHeldItemFromPC); r4 += 2; return r4; } @@ -3311,7 +3184,7 @@ static const u16 *BufferQuestLogText_TookHeldItem(const u16 *eventData) QuestLog_GetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_TookHeldItemFromMon); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_TookHeldItemFromMon); r4 += 2; return r4; } @@ -3339,7 +3212,7 @@ static const u16 *BufferQuestLogText_SwappedHeldItem(const u16 *eventData) QuestLog_GetSpeciesName(r4[2], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); // Item taken StringCopy(gStringVar3, ItemId_GetName(r4[1])); // Item given - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SwappedHeldItemsOnMon); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SwappedHeldItemsOnMon); r4 += 3; return r4; } @@ -3355,7 +3228,7 @@ static const u16 *BufferQuestLogText_SwappedHeldItemFromPC(const u16 *eventData) QuestLog_GetSpeciesName(r4[2], gStringVar2, 0); StringCopy(gStringVar3, ItemId_GetName(r4[0])); StringCopy(gStringVar1, ItemId_GetName(r4[1])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SwappedHeldItemFromPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SwappedHeldItemFromPC); r4 += 3; return r4; } @@ -3376,7 +3249,7 @@ static u16 *BufferQuestLogData_UsedPkmnCenter(u16 *a0, const u16 *eventData) static const u16 *BufferQuestLogText_UsedPkmnCenter(const u16 *a0) { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonsWereFullyRestoredAtCenter); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonsWereFullyRestoredAtCenter); a0 += 2; return a0; } @@ -3405,27 +3278,27 @@ static const u16 *BufferQuestLogText_LinkTraded(const u16 *a0) BufferLinkPartnersName(gStringVar1); QuestLog_GetSpeciesName(a0[3], gStringVar2, 0); // Mon received QuestLog_GetSpeciesName(a0[2], gStringVar3, 0); // Mon sent - StringExpandPlaceholders(gStringVar4, QuestLog_Text_TradedMon1ForPersonsMon2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_TradedMon1ForPersonsMon2); r6 += 4; return r6; } static const u8 *const sDefeatedOpponentFlavorTexts[] = { - QuestLog_Text_Handily, - QuestLog_Text_Tenaciously, - QuestLog_Text_Somehow + gText_QuestLog_Handily, + gText_QuestLog_Tenaciously, + gText_QuestLog_Somehow }; static const u8 *const sDefeatedChampionFlavorTexts[] = { - QuestLog_Text_Coolly, - QuestLog_Text_Somehow, - QuestLog_Text_Barely + gText_QuestLog_Coolly, + gText_QuestLog_Somehow, + gText_QuestLog_Barely }; static const u8 *const sBattleOutcomeTexts[] = { - QuestLog_Text_Win, - QuestLog_Text_Loss, - QuestLog_Text_Draw + gText_QuestLog_Win, + gText_QuestLog_Loss, + gText_QuestLog_Draw }; static u16 *BufferQuestLogData_LinkBattledSingle(u16 *a0, const u16 *eventData) @@ -3447,7 +3320,7 @@ static const u16 *BufferQuestLogText_LinkBattledSingle(const u16 *a0) BufferLinkPartnersName(gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sBattleOutcomeTexts[((const u8 *)a0)[4]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SingleBattleWithPersonResultedInOutcome); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SingleBattleWithPersonResultedInOutcome); a0 += 6; return a0; } @@ -3471,7 +3344,7 @@ static const u16 *BufferQuestLogText_LinkBattledDouble(const u16 *a0) BufferLinkPartnersName(gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sBattleOutcomeTexts[((const u8 *)a0)[4]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DoubleBattleWithPersonResultedInOutcome); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DoubleBattleWithPersonResultedInOutcome); a0 += 6; return a0; } @@ -3506,7 +3379,7 @@ static const u16 *BufferQuestLogText_LinkBattledMulti(const u16 *a0) DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2); // opponent 1 DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3); // opponent 2 DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, sBattleOutcomeTexts[((const u8 *)a0)[4]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_MultiBattleWithPeopleResultedInOutcome); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_MultiBattleWithPeopleResultedInOutcome); a0 += 13; return a0; } @@ -3520,7 +3393,7 @@ static u16 *BufferQuestLogData_UsedUnionRoom(u16 *a0, const u16 *eventData) static const u16 *BufferQuestLogText_UsedUnionRoom(const u16 *a0) { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MingledInUnionRoom); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MingledInUnionRoom); a0 += 2; return a0; } @@ -3534,7 +3407,7 @@ static u16 *BufferQuestLogData_UsedUnionRoomChat(u16 *a0, const u16 *eventData) static const u16 *BufferQuestLogText_UsedUnionRoomChat(const u16 *a0) { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_ChattedWithManyTrainers); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_ChattedWithManyTrainers); a0 += 2; return a0; } @@ -3559,7 +3432,7 @@ static const u16 *BufferQuestLogText_LinkTradedUnionRoom(const u16 *a0) BufferLinkPartnersName(gStringVar1); QuestLog_GetSpeciesName(a0[3], gStringVar2, 0); QuestLog_GetSpeciesName(a0[2], gStringVar3, 0); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_TradedMon1ForTrainersMon2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_TradedMon1ForTrainersMon2); r6 += 8; return (const u16 *)r6; } @@ -3580,7 +3453,7 @@ static const u16 *BufferQuestLogText_LinkBattledUnionRoom(const u16 *a0) memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH); BufferLinkPartnersName(gStringVar1); StringCopy(gStringVar2, sBattleOutcomeTexts[*(const u8 *)&a0[2]]); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_BattledTrainerEndedInOutcome); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_BattledTrainerEndedInOutcome); a0 += 6; return a0; } @@ -3607,7 +3480,7 @@ static const u16 *BufferQuestLogText_SwitchedMonsBetweenBoxes(const u16 *eventDa QuestLog_GetSpeciesName(eventData[0], NULL, 1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1])); QuestLog_GetSpeciesName(eventData[1], NULL, 3); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedMonsBetweenBoxes); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedMonsBetweenBoxes); return eventData + 3; } @@ -3631,7 +3504,7 @@ static const u16 *BufferQuestLogText_SwitchedMonsWithinBox(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); QuestLog_GetSpeciesName(eventData[1], NULL, 2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedMonsWithinBox); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedMonsWithinBox); return eventData + 3; } @@ -3667,7 +3540,7 @@ static const u16 *BufferQuestLogText_SwitchedPartyMonForPCMon(const u16 *eventDa DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); QuestLog_GetSpeciesName(eventData[1], NULL, 2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedPartyMonForPCMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedPartyMonForPCMon); return eventData + 3; } @@ -3694,7 +3567,7 @@ static const u16 *BufferQuestLogText_MovedMonBetweenBoxes(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1])); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_MovedMonToNewBox); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_MovedMonToNewBox); return (const u16 *)boxIdxs + 1; } @@ -3717,7 +3590,7 @@ static const u16 *BufferQuestLogText_MovedMonWithinBox(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_MovedMonWithinBox); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_MovedMonWithinBox); return (const u16 *)boxIdxs + 1; } @@ -3740,7 +3613,7 @@ static const u16 *BufferQuestLogText_WithdrewMonFromPC(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_WithdrewMonFromPC); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_WithdrewMonFromPC); return (const u16 *)boxIdxs + 1; } @@ -3763,7 +3636,7 @@ static const u16 *BufferQuestLogText_DepositedMonInPC(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); QuestLog_GetSpeciesName(eventData[0], NULL, 0); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(boxIdxs[0])); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DepositedMonInPC); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DepositedMonInPC); return (const u16 *)boxIdxs + 1; } @@ -3784,10 +3657,10 @@ static const u16 *BufferQuestLogText_SwitchedMultipleMons(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(*((const u8 *)r4 + 0))); if (*((const u8 *)r4 + 0) == *((const u8 *)r4 + 1)) - DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, QuestLog_Text_ADifferentSpot); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gText_QuestLog_ADifferentSpot); else DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(*((const u8 *)r4 + 1))); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedMultipleMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedMultipleMons); return r4 + 1; } @@ -3804,7 +3677,7 @@ static const u16 *BufferQuestLogText_DepositedItemInPC(const u16 *eventData) { const u16 *r4 = sub_8113E88(QL_EVENT_DEPOSITED_ITEM_PC, eventData); CopyItemName(r4[0], gStringVar1); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_StoredItemInPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_StoredItemInPC); return r4 + 1; } @@ -3821,7 +3694,7 @@ static const u16 *BufferQuestLogText_WithdrewItemFromPC(const u16 *eventData) { const u16 *r4 = sub_8113E88(QL_EVENT_WITHDREW_ITEM_PC, eventData); CopyItemName(r4[0], gStringVar1); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_WithdrewItemFromPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_WithdrewItemFromPC); return r4 + 1; } @@ -3856,7 +3729,7 @@ static const u16 *BufferQuestLogText_DefeatedGymLeader(const u16 *eventData) QuestLog_GetSpeciesName(eventData[0], 0, 2); QuestLog_GetSpeciesName(eventData[1], 0, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, sDefeatedOpponentFlavorTexts[r6[1]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_TookOnGymLeadersMonWithMonAndWon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_TookOnGymLeadersMonWithMonAndWon); return eventData + 4; } @@ -3903,30 +3776,30 @@ static const u16 *BufferQuestLogText_DefeatedWildMon(const u16 *a0) if (data[0] == 0) { if (data[1] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_CaughtWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_CaughtWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_CaughtWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_CaughtWildMons); } else if (data[1] == 0) { if (data[0] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMons); } else if (data[0] == 1) { if (data[1] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonAndCaughtWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonAndCaughtWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonAndCaughtWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonAndCaughtWildMons); } else { if (data[1] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonsAndCaughtWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonsAndCaughtWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonsAndCaughtWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonsAndCaughtWildMons); } return (const u16 *)(data + 4); } @@ -3964,7 +3837,7 @@ static const u16 *BufferQuestLogText_DefeatedEliteFourMember(const u16 *eventDat QuestLog_GetSpeciesName(eventData[0], NULL, 1); QuestLog_GetSpeciesName(eventData[1], NULL, 2); DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, sDefeatedOpponentFlavorTexts[r5[1]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_TookOnEliteFoursMonWithMonAndWon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_TookOnEliteFoursMonWithMonAndWon); return eventData + 4; } @@ -3995,18 +3868,18 @@ static const u16 *BufferQuestLogText_DefeatedChampion(const u16 *a0) case 0: DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gSaveBlock1Ptr->rivalName); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_PlayerBattledChampionRival); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_PlayerBattledChampionRival); break; case 1: DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock1Ptr->rivalName); QuestLog_GetSpeciesName(a0[2], NULL, 1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gSaveBlock2Ptr->playerName); QuestLog_GetSpeciesName(a0[3], NULL, 3); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_PlayerSentOutMon1RivalSentOutMon2); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_PlayerSentOutMon1RivalSentOutMon2); break; case 2: DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sDefeatedChampionFlavorTexts[r5[0]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_WonTheMatchAsAResult); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_WonTheMatchAsAResult); break; } return (const u16 *)(r5 + 2); @@ -4036,77 +3909,77 @@ static const u16 *BufferQuestLogText_DefeatedTrainer(const u16 *eventData) QuestLog_GetSpeciesName(r5[0], NULL, 2); QuestLog_GetSpeciesName(r5[1], NULL, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, sDefeatedOpponentFlavorTexts[r6[1]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_TookOnTrainersMonWithMonAndWon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_TookOnTrainersMonWithMonAndWon); return (const u16 *)(r6 + 2); } static const u8 *const sLocationNameTexts[] = { - [QL_LOCATION_HOME] = QuestLog_Text_Home, - [QL_LOCATION_OAKS_LAB] = QuestLog_Text_OakResearchLab, - [QL_LOCATION_VIRIDIAN_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_LEAGUE_GATE_1] = QuestLog_Text_PokemonLeagueGate, - [QL_LOCATION_LEAGUE_GATE_2] = QuestLog_Text_PokemonLeagueGate, - [QL_LOCATION_VIRIDIAN_FOREST_1] = QuestLog_Text_ViridianForest, - [QL_LOCATION_VIRIDIAN_FOREST_2] = QuestLog_Text_ViridianForest, - [QL_LOCATION_PEWTER_MUSEUM] = QuestLog_Text_PewterMuseumOfScience, - [QL_LOCATION_PEWTER_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_MT_MOON_1] = QuestLog_Text_MtMoon, - [QL_LOCATION_MT_MOON_2] = QuestLog_Text_MtMoon, - [QL_LOCATION_CERULEAN_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_BIKE_SHOP] = QuestLog_Text_BikeShop, - [QL_LOCATION_BILLS_HOUSE] = QuestLog_Text_BillsHouse, - [QL_LOCATION_DAY_CARE] = QuestLog_Text_DayCare, - [QL_LOCATION_UNDERGROUND_PATH_1] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_UNDERGROUND_PATH_2] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_PKMN_FAN_CLUB] = QuestLog_Text_PokemonFanClub, - [QL_LOCATION_VERMILION_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_SS_ANNE] = QuestLog_Text_SSAnne, - [QL_LOCATION_DIGLETTS_CAVE_1] = QuestLog_Text_DiglettsCave, - [QL_LOCATION_DIGLETTS_CAVE_2] = QuestLog_Text_DiglettsCave, - [QL_LOCATION_ROCK_TUNNEL_1] = QuestLog_Text_RockTunnel, - [QL_LOCATION_ROCK_TUNNEL_2] = QuestLog_Text_RockTunnel, - [QL_LOCATION_POWER_PLANT] = QuestLog_Text_PowerPlant, - [QL_LOCATION_PKMN_TOWER] = QuestLog_Text_PokemonTower, - [QL_LOCATION_VOLUNTEER_HOUSE] = QuestLog_Text_VolunteerHouse, - [QL_LOCATION_NAME_RATERS_HOUSE] = QuestLog_Text_NameRatersHouse, - [QL_LOCATION_UNDERGROUND_PATH_3] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_UNDERGROUND_PATH_4] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_CELADON_DEPT_STORE] = QuestLog_Text_CeladonDeptStore, - [QL_LOCATION_CELADON_MANSION] = QuestLog_Text_CeladonMansion, - [QL_LOCATION_GAME_CORNER] = QuestLog_Text_RocketGameCorner, - [QL_LOCATION_CELADON_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_CELADON_RESTAURANT] = QuestLog_Text_Restaurant, - [QL_LOCATION_ROCKET_HIDEOUT] = QuestLog_Text_RocketHideout, - [QL_LOCATION_SAFARI_ZONE] = QuestLog_Text_SafariZone, - [QL_LOCATION_FUCHSIA_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_WARDENS_HOME] = QuestLog_Text_WardensHome, - [QL_LOCATION_FIGHTING_DOJO] = QuestLog_Text_FightingDojo, - [QL_LOCATION_SAFFRON_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_SILPH_CO] = QuestLog_Text_SilphCo, - [QL_LOCATION_SEAFOAM_ISLANDS_1] = QuestLog_Text_SeafoamIslands, - [QL_LOCATION_SEAFOAM_ISLANDS_2] = QuestLog_Text_SeafoamIslands, - [QL_LOCATION_PKMN_MANSION] = QuestLog_Text_PokemonMansion, - [QL_LOCATION_CINNABAR_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_CINNABAR_LAB] = QuestLog_Text_PokemonResearchLab, - [QL_LOCATION_VICTORY_ROAD_1] = QuestLog_Text_VictoryRoad, - [QL_LOCATION_VICTORY_ROAD_2] = QuestLog_Text_VictoryRoad, - [QL_LOCATION_PKMN_LEAGUE] = QuestLog_Text_PokemonLeague, - [QL_LOCATION_CERULEAN_CAVE] = QuestLog_Text_CeruleanCave + [QL_LOCATION_HOME] = gText_QuestLog_Home, + [QL_LOCATION_OAKS_LAB] = gText_QuestLog_OakResearchLab, + [QL_LOCATION_VIRIDIAN_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_LEAGUE_GATE_1] = gText_QuestLog_PokemonLeagueGate, + [QL_LOCATION_LEAGUE_GATE_2] = gText_QuestLog_PokemonLeagueGate, + [QL_LOCATION_VIRIDIAN_FOREST_1] = gText_QuestLog_ViridianForest, + [QL_LOCATION_VIRIDIAN_FOREST_2] = gText_QuestLog_ViridianForest, + [QL_LOCATION_PEWTER_MUSEUM] = gText_QuestLog_PewterMuseumOfScience, + [QL_LOCATION_PEWTER_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_MT_MOON_1] = gText_QuestLog_MtMoon, + [QL_LOCATION_MT_MOON_2] = gText_QuestLog_MtMoon, + [QL_LOCATION_CERULEAN_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_BIKE_SHOP] = gText_QuestLog_BikeShop, + [QL_LOCATION_BILLS_HOUSE] = gText_QuestLog_BillsHouse, + [QL_LOCATION_DAY_CARE] = gText_QuestLog_DayCare, + [QL_LOCATION_UNDERGROUND_PATH_1] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_UNDERGROUND_PATH_2] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_PKMN_FAN_CLUB] = gText_QuestLog_PokemonFanClub, + [QL_LOCATION_VERMILION_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_SS_ANNE] = gText_QuestLog_SSAnne, + [QL_LOCATION_DIGLETTS_CAVE_1] = gText_QuestLog_DiglettsCave, + [QL_LOCATION_DIGLETTS_CAVE_2] = gText_QuestLog_DiglettsCave, + [QL_LOCATION_ROCK_TUNNEL_1] = gText_QuestLog_RockTunnel, + [QL_LOCATION_ROCK_TUNNEL_2] = gText_QuestLog_RockTunnel, + [QL_LOCATION_POWER_PLANT] = gText_QuestLog_PowerPlant, + [QL_LOCATION_PKMN_TOWER] = gText_QuestLog_PokemonTower, + [QL_LOCATION_VOLUNTEER_HOUSE] = gText_QuestLog_VolunteerHouse, + [QL_LOCATION_NAME_RATERS_HOUSE] = gText_QuestLog_NameRatersHouse, + [QL_LOCATION_UNDERGROUND_PATH_3] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_UNDERGROUND_PATH_4] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_CELADON_DEPT_STORE] = gText_QuestLog_CeladonDeptStore, + [QL_LOCATION_CELADON_MANSION] = gText_QuestLog_CeladonMansion, + [QL_LOCATION_GAME_CORNER] = gText_QuestLog_RocketGameCorner, + [QL_LOCATION_CELADON_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_CELADON_RESTAURANT] = gText_QuestLog_Restaurant, + [QL_LOCATION_ROCKET_HIDEOUT] = gText_QuestLog_RocketHideout, + [QL_LOCATION_SAFARI_ZONE] = gText_QuestLog_SafariZone, + [QL_LOCATION_FUCHSIA_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_WARDENS_HOME] = gText_QuestLog_WardensHome, + [QL_LOCATION_FIGHTING_DOJO] = gText_QuestLog_FightingDojo, + [QL_LOCATION_SAFFRON_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_SILPH_CO] = gText_QuestLog_SilphCo, + [QL_LOCATION_SEAFOAM_ISLANDS_1] = gText_QuestLog_SeafoamIslands, + [QL_LOCATION_SEAFOAM_ISLANDS_2] = gText_QuestLog_SeafoamIslands, + [QL_LOCATION_PKMN_MANSION] = gText_QuestLog_PokemonMansion, + [QL_LOCATION_CINNABAR_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_CINNABAR_LAB] = gText_QuestLog_PokemonResearchLab, + [QL_LOCATION_VICTORY_ROAD_1] = gText_QuestLog_VictoryRoad, + [QL_LOCATION_VICTORY_ROAD_2] = gText_QuestLog_VictoryRoad, + [QL_LOCATION_PKMN_LEAGUE] = gText_QuestLog_PokemonLeague, + [QL_LOCATION_CERULEAN_CAVE] = gText_QuestLog_CeruleanCave }; static const u8 *const sDepartedLocationTexts[] = { - [QL_DEPARTED_TOWN_BUILDING] = QuestLog_Text_DepartedPlaceInTownForNextDestination, - [QL_DEPARTED_MUSEUM] = QuestLog_Text_LeftTownsLocationForNextDestination, - [QL_DEPARTED_GAME_CORNER] = QuestLog_Text_PlayedGamesAtGameCorner, - [QL_DEPARTED_HOME] = QuestLog_Text_RestedAtHome, - [QL_DEPARTED_OAKS_LAB] = QuestLog_Text_LeftOaksLab, - [QL_DEPARTED_GYM] = QuestLog_Text_GymWasFullOfToughTrainers, - [QL_DEPARTED_SAFARI_ZONE] = QuestLog_Text_HadGreatTimeInSafariZone, - [QL_DEPARTED_CAVE] = QuestLog_Text_ManagedToGetOutOfLocation, - [QL_DEPARTED_MISC_BUILDING_1] = QuestLog_Text_DepartedTheLocationForNextDestination, - [QL_DEPARTED_MISC_BUILDING_2] = QuestLog_Text_DepartedFromLocationToNextDestination + [QL_DEPARTED_TOWN_BUILDING] = gText_QuestLog_DepartedPlaceInTownForNextDestination, + [QL_DEPARTED_MUSEUM] = gText_QuestLog_LeftTownsLocationForNextDestination, + [QL_DEPARTED_GAME_CORNER] = gText_QuestLog_PlayedGamesAtGameCorner, + [QL_DEPARTED_HOME] = gText_QuestLog_RestedAtHome, + [QL_DEPARTED_OAKS_LAB] = gText_QuestLog_LeftOaksLab, + [QL_DEPARTED_GYM] = gText_QuestLog_GymWasFullOfToughTrainers, + [QL_DEPARTED_SAFARI_ZONE] = gText_QuestLog_HadGreatTimeInSafariZone, + [QL_DEPARTED_CAVE] = gText_QuestLog_ManagedToGetOutOfLocation, + [QL_DEPARTED_MISC_BUILDING_1] = gText_QuestLog_DepartedTheLocationForNextDestination, + [QL_DEPARTED_MISC_BUILDING_2] = gText_QuestLog_DepartedFromLocationToNextDestination }; static const u8 sLocationToDepartedTextId[] = @@ -4177,18 +4050,18 @@ static const u8 gUnknown_8456C17[] = { static const u8 *const sUsedFieldMoveTexts[] = { - [FIELD_MOVE_FLASH] = QuestLog_Text_UsedFlash, - [FIELD_MOVE_CUT] = QuestLog_Text_UsedCut, - [FIELD_MOVE_FLY] = QuestLog_Text_UsedFly, - [FIELD_MOVE_STRENGTH] = QuestLog_Text_UsedStrength, - [FIELD_MOVE_SURF] = QuestLog_Text_UsedSurf, - [FIELD_MOVE_ROCK_SMASH] = QuestLog_Text_UsedRockSmash, - [FIELD_MOVE_WATERFALL] = QuestLog_Text_UsedWaterfall, - [FIELD_MOVE_TELEPORT] = QuestLog_Text_UsedTeleportToLocation, - [FIELD_MOVE_DIG] = QuestLog_Text_UsedDigInLocation, - [FIELD_MOVE_MILK_DRINK] = QuestLog_Text_UsedMilkDrink, - [FIELD_MOVE_SOFT_BOILED] = QuestLog_Text_UsedSoftboiled, - [FIELD_MOVE_SWEET_SCENT] = QuestLog_Text_UsedSweetScent + [FIELD_MOVE_FLASH] = gText_QuestLog_UsedFlash, + [FIELD_MOVE_CUT] = gText_QuestLog_UsedCut, + [FIELD_MOVE_FLY] = gText_QuestLog_UsedFly, + [FIELD_MOVE_STRENGTH] = gText_QuestLog_UsedStrength, + [FIELD_MOVE_SURF] = gText_QuestLog_UsedSurf, + [FIELD_MOVE_ROCK_SMASH] = gText_QuestLog_UsedRockSmash, + [FIELD_MOVE_WATERFALL] = gText_QuestLog_UsedWaterfall, + [FIELD_MOVE_TELEPORT] = gText_QuestLog_UsedTeleportToLocation, + [FIELD_MOVE_DIG] = gText_QuestLog_UsedDigInLocation, + [FIELD_MOVE_MILK_DRINK] = gText_QuestLog_UsedMilkDrink, + [FIELD_MOVE_SOFT_BOILED] = gText_QuestLog_UsedSoftboiled, + [FIELD_MOVE_SWEET_SCENT] = gText_QuestLog_UsedSweetScent }; static u16 *BufferQuestLogData_DepartedLocation(u16 *a0, const u16 *eventData) @@ -4217,9 +4090,9 @@ static const u16 *BufferQuestLogText_DepartedLocation(const u16 *eventData) if (r5_2[0] != gUnknown_8456C17[r4]) continue; if (FlagGet(FLAG_BADGE01_GET + r4) == TRUE) - StringExpandPlaceholders(gStringVar4, QuestLog_Text_DepartedGym); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_DepartedGym); else - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GymWasFullOfToughTrainers); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GymWasFullOfToughTrainers); break; } if (r4 == 8) @@ -4290,7 +4163,7 @@ static const u16 *BufferQuestLogText_UsedFieldMove(const u16 *eventData) if (r5[0] == FIELD_MOVE_TELEPORT) { if (r5[1] == 0x58) - StringCopy(gStringVar3, QuestLog_Text_Home); + StringCopy(gStringVar3, gText_QuestLog_Home); else StringCopy(gStringVar3, gText_PokemonCenter); } @@ -4323,12 +4196,12 @@ static const u16 *BufferQuestLogText_BoughtItem(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r4[0])); if (r4[1] < 2) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_BoughtItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_BoughtItem); else { ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_BoughtItemsIncludingItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_BoughtItemsIncludingItem); } return (const u16 *)(r7 + 2); } @@ -4359,15 +4232,15 @@ static const u16 *BufferQuestLogText_SoldItem(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, ItemId_GetName(r5[0])); if (r5[1] == 1) - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, QuestLog_Text_JustOne); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gText_QuestLog_JustOne); else { ConvertIntToDecimalStringN(gStringVar2, r5[1], STR_CONV_MODE_LEFT_ALIGN, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gStringVar2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar3, QuestLog_Text_Num); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar3, gText_QuestLog_Num); DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3); } - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SoldNumOfItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SoldNumOfItem); } else { @@ -4375,7 +4248,7 @@ static const u16 *BufferQuestLogText_SoldItem(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r5[0])); ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SoldItemsIncludingItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SoldItemsIncludingItem); } return (const u16 *)(r7 + 2); } @@ -4396,7 +4269,7 @@ static const u16 *BufferQuestLogText_ObtainedItem(const u16 *eventData) const u8 *r5 = (const u8 *)r4 + 2; GetMapNameGeneric(gStringVar1, r5[0]); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_ObtainedItemInLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_ObtainedItemInLocation); return (const u16 *)(r5 + 2); } @@ -4474,7 +4347,7 @@ static const u16 *BufferQuestLogText_ArrivedInLocation(const u16 *eventData) { const u16 *r4 = sub_8113E88(QL_EVENT_ARRIVED, eventData); GetMapNameGeneric(gStringVar1, (u8)r4[0]); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_ArrivedInLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_ArrivedInLocation); return r4 + 1; } 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/roamer.c b/src/roamer.c index cf30dc3d2..25b5109b0 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -61,7 +61,7 @@ void ClearRoamerData(void) #define GetRoamerSpecies() ({\ u16 a;\ - switch (ScrSpecial_GetStarter())\ + switch (GetStarterSpecies())\ {\ default:\ a = SPECIES_RAIKOU;\ diff --git a/src/scrcmd.c b/src/scrcmd.c index 77b87aaa8..3f1927cbf 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1892,7 +1892,7 @@ bool8 ScrCmd_trainerbattle(struct ScriptContext *ctx) bool8 ScrCmd_dotrainerbattle(struct ScriptContext *ctx) { - BattleSetup_StartTrainerBattle(); + StartTrainerBattle(); return TRUE; } @@ -1944,7 +1944,7 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx) bool8 ScrCmd_dowildbattle(struct ScriptContext *ctx) { - BattleSetup_StartScriptedWildBattle(); + StartScriptedWildBattle(); ScriptContext1_Stop(); return TRUE; } @@ -2111,7 +2111,7 @@ bool8 ScrCmd_setmetatile(struct ScriptContext *ctx) if (!v8) MapGridSetMetatileIdAt(x, y, tileId); else - MapGridSetMetatileIdAt(x, y, tileId | 0xC00); + MapGridSetMetatileIdAt(x, y, tileId | METATILE_COLLISION_MASK); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index 12e89832c..a4745ee10 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -944,7 +944,7 @@ static void Hask_MultichoiceGridMenu_HandleInput(u8 taskId) EnableBothScriptContexts(); } -bool8 ScrSpecial_CreatePCMenu(void) +bool8 CreatePCMenu(void) { if (FuncIsActiveTask(Task_MultichoiceMenu_HandleInput) == TRUE) return FALSE; @@ -1116,7 +1116,7 @@ void Task_WaitMuseumFossilPic(u8 taskId) } } -bool8 Special_OpenMuseumFossilPic(void) +bool8 OpenMuseumFossilPic(void) { u8 spriteId; u8 taskId; @@ -1149,7 +1149,7 @@ bool8 Special_OpenMuseumFossilPic(void) return TRUE; } -bool8 Special_CloseMuseumFossilPic(void) +bool8 CloseMuseumFossilPic(void) { u8 taskId = FindTaskIdByFunc(Task_WaitMuseumFossilPic); if (taskId == 0xFF) @@ -1197,7 +1197,7 @@ void QLPlaybackCB_DestroyScriptMenuMonPicSprites(void) } } -void Special_DrawSeagallopDestinationMenu(void) +void DrawSeagallopDestinationMenu(void) { // 8004 = Starting location // 8005 = Page (0: Verm, One, Two, Three, Four, Other, Exit; 1: Four, Five, Six, Seven, Other, Exit) @@ -1249,7 +1249,7 @@ void Special_DrawSeagallopDestinationMenu(void) } } -u16 Special_GetSelectedSeagallopDestination(void) +u16 GetSelectedSeagallopDestination(void) { // 8004 = Starting location // 8005 = Page (0: Verm, One, Two, Three, Four, Other, Exit; 1: Four, Five, Six, Seven, Other, Exit) diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index 7c8604b8e..677759497 100644 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -117,7 +117,7 @@ static bool8 CheckPartyMonHasHeldItem(u16 item) return FALSE; } -bool8 GetNameOfEnigmaBerryInPlayerParty(void) +bool8 DoesPartyHaveEnigmaBerry(void) { bool8 hasItem = CheckPartyMonHasHeldItem(ITEM_ENIGMA_BERRY); if (hasItem == TRUE) diff --git a/src/seagallop.c b/src/seagallop.c index 3257819aa..1e2234b9c 100644 --- a/src/seagallop.c +++ b/src/seagallop.c @@ -16,7 +16,7 @@ #include "field_weather.h" #include "constants/songs.h" #include "constants/maps.h" -#include "seagallop.h" +#include "constants/seagallop.h" #define TILESTAG_FERRY 3000 #define TILESTAG_WAKE 4000 diff --git a/src/ss_anne.c b/src/ss_anne.c index 401f4e235..df04d8c66 100644 --- a/src/ss_anne.c +++ b/src/ss_anne.c @@ -79,7 +79,7 @@ static const struct SpriteTemplate sSmokeSpriteTemplate = { SmokeSpriteCallback }; -void Special_SSAnneDepartureCutscene(void) +void DoSSAnneDepartureCutscene(void) { u8 taskId; 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/strings.c b/src/strings.c new file mode 100644 index 000000000..8ef338eb3 --- /dev/null +++ b/src/strings.c @@ -0,0 +1,1335 @@ +#include "global.h" +#include "strings.h" + +const u8 gExpandedPlaceholder_Empty[] = _(""); +const u8 gExpandedPlaceholder_Kun[] = _(""); +const u8 gExpandedPlaceholder_Chan[] = _(""); +const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); +const u8 gExpandedPlaceholder_Ruby[] = _("RUBY"); +const u8 gExpandedPlaceholder_Aqua[] = _("AQUA"); +const u8 gExpandedPlaceholder_Magma[] = _("MAGMA"); +const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE"); +const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE"); +const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE"); +const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON"); +const u8 gExpandedPlaceholder_Red[] = _("RED"); +const u8 gExpandedPlaceholder_Green[] = _("GREEN"); +const u8 gText_EggNickname[] = _("EGG"); +const u8 gStartMenuText_Pokemon[] = _("POKéMON"); +const u8 gText_NewGame[] = _("NEW GAME"); +const u8 gText_Continue[] = _("CONTINUE"); +const u8 gTextJP_Options[] = _("せっていを かえる"); +const u8 gUnusedText_MysteryGift[] = _("MYSTERY GIFT"); +const u8 gText_MysteryGift[] = _("MYSTERY GIFT"); +const u8 gText_WirelessAdapterIsNotConnected[] = _("The Wireless Adapter is not\nconnected."); +const u8 gText_MysteryGiftCantBeUsedWhileWirelessAdapterIsAttached[] = _("MYSTERY GIFT can't be used while\nthe Wireless Adapter is attached."); +const u8 gUnknown_8415B0E[] = _("がいぶデ-タにより レポ-トを こうしんします\nしばらく おまちください"); +const u8 gUnknown_8415B33[] = _("レポ-トが こうしんされました!"); +const u8 gUnknown_8415B44[] = _("レポ-トが こうしんされました!\pこれいじょう\nレポ-トが かききれないので\lバックアップカ-トリッジを\lこうかんしてください!\pくわしくは\nにんてんどう サ-ビスセンタ- まで\lおといあわせ ください"); +const u8 gUnknown_8415BAA[] = _("レポ-トの こうしんは\nしっぱいしました!\pバックアップカ-トリッジを\nこうかんしてください!\pくわしくは\nにんてんどう サ-ビスセンタ- まで\lおといあわせ ください"); +const u8 gText_SaveFileCorruptedPrevWillBeLoaded[] = _("The save file is corrupted.\pThe previous save file will be\nloaded."); +const u8 gText_SaveFileHasBeenDeleted[] = _("The save file has been\ndeleted..."); +const u8 gText_1MSubCircuitBoardNotInstalled[] = _("The 1M sub-circuit board is\nnot installed."); +const u8 gTextJP_InternalBatteryHasRunDry[] = _("でんちぎれの ために\nとけいが うごかなくなりました\pとけいに かんけいする できごとは おきませんが\nゲ-ムを つづけて あそぶことは できます"); +const u8 gUnknown_8415CD9[] = _("しゅじんこう"); +const u8 gUnknown_8415CE0[] = _("ポケモンずかん"); +const u8 gText_MainMenuTime[] = _("TIME"); +const u8 gUnknown_8415CED[] = _("もっているバッジ"); +const u8 gUnknown_8415CF6[] = _("Aボタン"); +const u8 gUnknown_8415CFB[] = _("Bボタン"); +const u8 gUnknown_8415D00[] = _("Rボタン"); +const u8 gUnknown_8415D05[] = _("Lボタン"); +const u8 gUnknown_8415D0A[] = _("スタ-トボタン"); +const u8 gUnknown_8415D12[] = _("セレクトボタン"); +const u8 gUnknown_8415D1A[] = _("じゅうじボタン"); +const u8 gUnknown_8415D22[] = _("Lボタン Rボタン"); +const u8 gText_Controls[] = _("CONTROLS"); +ALIGNED(4) const u8 gUnknown_8415D38[] = _("{DPAD_UPDOWN}えらぶ {A_BUTTON}けってい"); +ALIGNED(4) const u8 gText_ABUTTONNext[] = _("{A_BUTTON}NEXT"); +ALIGNED(4) const u8 gText_ABUTTONNext_BBUTTONBack[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); +ALIGNED(4) const u8 gText_UPDOWNPick_ABUTTONNext_BBUTTONBack[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL"); +ALIGNED(4) const u8 gText_UPDOWNPick_ABUTTONBBUTTONCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL"); +ALIGNED(4) const u8 gText_ABUTTONExit[] = _("{A_BUTTON}EXIT"); +const u8 gText_Boy[] = _("BOY"); +const u8 gText_Girl[] = _("GIRL"); +const u8 gUnknown_8415D9C[] = _("POKéDEX TABLE OF CONTENTS"); +const u8 gUnknown_8415DB8[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK"); +const u8 gUnknown_8415DC4[] = _("Seen:"); +const u8 gUnknown_8415DCA[] = _("Owned:"); +const u8 gUnknown_8415DD1[] = _("KANTO"); +const u8 gUnknown_8415DD7[] = _("NATIONAL"); +const u8 gUnknown_8415DE0[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON HABITATS"); +const u8 gText_DexCategory_GrasslandPkmn[] = _("Grassland POKéMON"); +const u8 gText_DexCategory_ForestPkmn[] = _("Forest POKéMON"); +const u8 gText_DexCategory_WatersEdgePkmn[] = _("Water's-edge POKéMON"); +const u8 gText_DexCategory_SeaPkmn[] = _("Sea POKéMON"); +const u8 gText_DexCategory_CavePkmn[] = _("Cave POKéMON"); +const u8 gText_DexCategory_MountainPkmn[] = _("Mountain POKéMON"); +const u8 gText_DexCategory_RoughTerrainPkmn[] = _("Rough-terrain POKéMON"); +const u8 gText_DexCategory_UrbanPkmn[] = _("Urban POKéMON"); +const u8 gText_DexCategory_RarePkmn[] = _("Rare POKéMON"); +const u8 gUnknown_8415E88[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}SEARCH"); +const u8 gUnknown_8415E95[] = _("NUMERICAL MODE"); +const u8 gUnknown_8415EA4[] = _("A TO Z MODE"); +const u8 gUnknown_8415EB0[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}OTHER"); +const u8 gUnknown_8415EBC[] = _("ずかんの つかいかた"); +const u8 gUnknown_8415EC7[] = _("CLOSE POKéDEX"); +const u8 gUnknown_8415ED5[] = _("TYPE MODE"); +const u8 gUnknown_8415EDF[] = _("LIGHTEST MODE"); +const u8 gUnknown_8415EED[] = _("SMALLEST MODE"); +const u8 gUnknown_8415EFB[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON LIST"); +const u8 gUnknown_8415F0E[] = _("NUMERICAL MODE: KANTO"); +const u8 gUnknown_8415F24[] = _("NUMERICAL MODE: NATIONAL"); +const u8 gUnknown_8415F3D[] = _("POKéMON LIST"); +const u8 gUnknown_8415F4A[] = _("SEARCH"); +const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gUnknown_8415F66[] = _("-----"); +const u8 gUnknown_8415F6C[] = _("{DPAD_LEFTRIGHT}PICK{PLUS}FLIP PAGE {A_BUTTON}CHECK {B_BUTTON}CANCEL"); +const u8 gUnknown_8415F8F[] = _(" POKéMON"); +const u8 gUnknown_8415F98[] = _("HT"); +const u8 gUnknown_8415F9B[] = _("WT"); +const u8 gUnknown_8415F9E[] = _("”"); +const u8 gUnknown_8415FA0[] = _("lbs."); +const u8 gUnknown_8415FA5[] = _("ポケモンデ-タ"); +const u8 gUnknown_8415FAD[] = _("{START_BUTTON}CRY"); +const u8 gUnknown_8415FB3[] = _("{A_BUTTON}NEXT DATA {B_BUTTON}CANCEL"); +const u8 gUnknown_8415FC8[] = _("{A_BUTTON}NEXT"); +const u8 gUnknown_8415FCF[] = _("{A_BUTTON}CANCEL {B_BUTTON}PREVIOUS DATA"); +const u8 gUnknown_8415FE8[] = _("AREA"); +const u8 gUnknown_8415FED[] = _("SIZE"); +const u8 gUnknown_8415FF2[] = _("AREA UNKNOWN"); +const u8 gUnknown_8415FFF[] = _("{NO}"); +const u8 gUnknown_8416002[] = _("PAGE"); +ALIGNED(4) const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!"); +ALIGNED(4) const u8 gUnknown_8416028[] = _("みつけた ポケモン {STR_VAR_1}!\nつかまえた ポケモン {STR_VAR_2}!\pオダマキはかせの\nポケモンずかん ひょうか!\pオダマキ“どれどれ\p"); +ALIGNED(4) const u8 gUnknown_8416068[] = _("ここまでの レポ-トを かきしるしています!\nでんげんを きらないでください"); +ALIGNED(4) const u8 gText_HOFCorrupted[] = _("The HALL OF FAME data is\ncorrupted."); +const u8 gText_HOFNumber[] = _("HALL OF FAME No. {STR_VAR_1}"); +const u8 gText_LeagueChamp[] = _("LEAGUE CHAMPION!\nCONGRATULATIONS!"); +ALIGNED(4) const u8 gText_Number[] = _("No. "); +ALIGNED(4) const u8 gText_Level[] = _("Lv. "); +ALIGNED(4) const u8 gText_Name[] = _("NAME"); +ALIGNED(4) const u8 gText_IDNumber[] = _("IDNo."); +const u8 gUnknown_841610A[] = _("{HIGHLIGHT WHITE2}{COLOR DARK_GREY}オダマキはかせが ピンチだ!\nポケモンを だして たすけてあげよう!"); +const u8 gUnknown_8416133[] = _("{HIGHLIGHT WHITE2}{COLOR DARK_GREY}このポケモンにしますか?"); +const u8 gUnknown_8416146[] = _("ポケモン"); +const u8 gText_SaveError_PleaseExchangeBackupMemory[] = _("Save error.\pPlease exchange the\nbackup memory."); +const u8 gSaveStatName_Player[] = _("PLAYER"); +const u8 gSaveStatName_Badges[] = _("BADGES"); +const u8 gSaveStatName_Pokedex[] = _("POKéDEX"); +const u8 gSaveStatName_Time[] = _("TIME"); +const u8 gUnknown_8416195[] = _("どこへ とびますか?"); +const u8 gOtherText_Use[] = _("USE"); +const u8 gOtherText_Toss[] = _("TOSS"); +const u8 gOtherText_Register[] = _("REGISTER"); +const u8 gOtherText_Give[] = _("GIVE"); +const u8 gUnknown_84161B7[] = _("けってい"); +const u8 gOtherText_Walk[] = _("WALK"); +const u8 gFameCheckerText_Cancel[] = _("CANCEL"); +const u8 gOtherText_Exit[] = _("EXIT"); +const u8 gString_Dummy[] = _(""); +const u8 gUnknown_84161CE[] = _("キャンセル"); +const u8 gText_Item[] = _("ITEM"); +const u8 gText_Mail[] = _("MAIL"); +const u8 gText_Take[] = _("TAKE"); +const u8 gText_Store[] = _("STORE"); +const u8 gOtherText_Check[] = _("CHECK"); +const u8 gUnknown_84161EF[] = _("NONE"); +const u8 gOtherText_Open[] = _("OPEN"); +const u8 gOtherText_Deselect[] = _("DESELECT"); +const u8 gUnknown_8416202[] = _("???"); +const u8 gUnknown_8416206[] = _("?????"); +const u8 gText_Slash[] = _("/"); +const u8 gUnknown_841620E[] = _("-"); +const u8 gUnknown_8416210[] = _("--"); +const u8 gText_ThreeHyphens[] = _("---"); +const u8 gText_SevenHyphens[] = _("-------"); +const u8 gText_MaleSymbol[] = _("♂"); +const u8 gText_FemaleSymbol[] = _("♀"); +const u8 gText_Lv[] = _("{LV_2}"); +const u8 gOtherText_UnkF9_08_Clear_01[] = _("{NO}{CLEAR 0x01}"); +const u8 gUnknown_841622C[] = _("{PLUS}"); +const u8 gUnknown_841622F[] = _("{ESCAPE 0x03}"); +const u8 gUnknown_8416233[] = _("{ID}{NO}"); +const u8 gUnknown_8416238[] = _("{PP}"); +const u8 gText_SelectorArrow2[] = _("▶"); +const u8 gUnknown_841623D[] = _("YES\nNO"); +const u8 gText_GoBackToThePreviousMenu[] = _("Go back to the\nprevious menu."); +const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); +const u8 gStartMenuText_Pokedex[] = _("POKéDEX"); +const u8 gStartMenuText_Bag[] = _("BAG"); +const u8 gUnknown_8416289[] = _("ポケナビ"); +const u8 gStartMenuText_Player[] = _("{PLAYER}"); +const u8 gStartMenuText_Save[] = _("SAVE"); +const u8 gStartMenuText_Option[] = _("OPTION"); +const u8 gStartMenuText_Exit[] = _("EXIT"); +const u8 gStartMenuText_Retire[] = _("RETIRE"); +const u8 gUnknown_84162A9[] = _("{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}"); +const u8 gText_TimesStrVar1[] = _("×{STR_VAR_1}"); +const u8 gUnknown_84162BD[] = _(" BERRY"); +const u8 gText_Coins[] = _("{STR_VAR_1} COINS"); +const u8 gText_Items2[] = _("ITEMS"); +const u8 gText_PokeBalls2[] = _("POKé BALLS"); +const u8 gText_KeyItems2[] = _("KEY ITEMS"); +const u8 gText_DepositItem[] = _("DEPOSIT ITEM"); +const u8 gText_CloseBag[] = _("CLOSE BAG"); +const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} is\nselected."); +const u8 gText_CantWriteMailHere[] = _("You can't write\nMAIL here."); +const u8 gText_ThereIsNoPokemon[] = _("There is no\nPOKéMON."); +const u8 gOtherText_WhereShouldTheStrVar1BePlaced[] = _("Where should the {STR_VAR_1}\nbe placed?"); +const u8 gText_ItemCantBeHeld[] = _("The {STR_VAR_1} can't be held."); +const u8 gText_TheStrVar1CantBeHeldHere[] = _("The {STR_VAR_1} can't be held\nhere."); +const u8 gText_DepositHowManyStrVars1[] = _("Deposit how many\n{STR_VAR_1}(s)?"); +const u8 gText_DepositedStrVar2StrVar1s[] = _("Deposited {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gText_NoRoomToStoreItems[] = _("There's no room to\nstore items."); +const u8 gText_TossOutHowManyStrVar1s[] = _("Toss out how many\n{STR_VAR_1}(s)?"); +const u8 gText_ThrewAwayStrVar2StrVar1s[] = _("Threw away {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gText_ThrowAwayStrVar2OfThisItemQM[] = _("Throw away {STR_VAR_2} of\nthis item?"); +const u8 gUnknown_8416425[] = _("OAK: {PLAYER}!\nThis isn't the time to use that!{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416451[] = _("You can't dismount your BIKE here.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemfinderResponding[] = _("Huh?\nThe ITEMFINDER's responding!\pThere's an item buried around here!{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemfinderShakingWildly[] = _("Oh!\nThe ITEMFINDER's shaking wildly!\pThere's an item buried underfoot!\p‥ ‥ ‥ ‥ ‥ ‥{PAUSE_UNTIL_PRESS}"); +const u8 gText_NopeTheresNoResponse[] = _("‥ ‥ ‥ ‥Nope!\nThere's no response.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416537[] = _("Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416548[] = _("わざマシンを きどうした!"); +const u8 gUnknown_8416556[] = _("ひでんマシンを きどうした!"); +const u8 gUnknown_8416565[] = _("なかには {STR_VAR_1}が\nきろくされていた!\p{STR_VAR_1}を\nポケモンに おぼえさせますか?"); +const u8 gUnknown_841658C[] = _("{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841659E[] = _("But the effects of a REPEL\nlingered from earlier.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_84165D2[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416600[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416631[] = _("The BOX is full.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416644[] = _("POWDER QTY: {STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gOtherText_Powder[] = _("POWDER"); +const u8 gUnknown_841665C[] = _("Played the POKé FLUTE.\pNow, that's a catchy tune!{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416690[] = _("Played the POKé FLUTE."); +const u8 gUnknown_84166A7[] = _("The POKé FLUTE awakened sleeping\nPOKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_TMCase[] = _("TM CASE"); +const u8 gText_Close[] = _("CLOSE"); +const u8 gText_TMCaseWillBePutAway[] = _("The TM CASE will be\nput away."); +const u8 gText_FontSize0[] = _("{SIZE 0}"); +const u8 gText_FontSize2[] = _("{SIZE 2}"); +const u8 gUnknown_8416707[] = _(" "); +const u8 gText_BerryPouch[] = _("BERRY POUCH"); +const u8 gText_TheBerryPouchWillBePutAway[] = _("The BERRY POUCH will be\nput away."); +const u8 gText_ShopBuy[] = _("BUY"); +const u8 gText_ShopSell[] = _("SELL"); +const u8 gText_ShopQuit[] = _("SEE YA!"); +const u8 gText_InBagVar1[] = _("IN BAG:{SMALL} {STR_VAR_1}"); +const u8 gText_QuitShopping[] = _("Quit shopping."); +const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?"); +const u8 gText_Var1AndYouWantedVar2[] = _("{STR_VAR_1}, and you want {STR_VAR_2}.\nThat will be ¥{STR_VAR_3}. Okay?"); +const u8 gUnknown_84167BB[] = _("{STR_VAR_1} だね!\n{STR_VAR_2}¥ だけど かうかい?"); +const u8 gUnknown_84167D0[] = _("{STR_VAR_1} ですね!\n{STR_VAR_2}¥ だけど かいますか?"); +const u8 gText_HereYouGoThankYou[] = _("Here you are!\nThank you!"); +const u8 gUnknown_8416800[] = _("どうも ありがとう!\nじたくの パソコンに おくって おきますね!"); +const u8 gUnknown_8416822[] = _("どうも ありがとう!\nじたくの パソコンに おくって おくね!"); +const u8 gText_YouDontHaveMoney[] = _("You don't have enough money.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreRoomForThis[] = _("You have no more room for this\nitem.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416888[] = _("{STR_VAR_1}を\nいれる ばしょが いっぱいです{PAUSE_UNTIL_PRESS}"); +const u8 gText_CanIHelpWithAnythingElse[] = _("Is there anything else I can do?"); +const u8 gUnknown_84168BF[] = _("その ほかに\nなにか ちからに なれることは?"); +const u8 gUnknown_84168D7[] = _("プレミアボ-ル 1コ\nおまけ しておきますね!{PAUSE_UNTIL_PRESS}"); +const u8 gText_OhNoICantBuyThat[] = _("{STR_VAR_1}? Oh, no.\nI can't buy that.{PAUSE_UNTIL_PRESS}"); +const u8 gText_HowManyWouldYouLikeToSell[] = _("{STR_VAR_1}?\nHow many would you like to sell?"); +const u8 gText_ICanPayThisMuch_WouldThatBeOkay[] = _("I can pay ¥{STR_VAR_3}.\nWould that be okay?"); +const u8 gText_TurnedOverItemsWorthYen[] = _("Turned over the {STR_VAR_1}シSス\nworth ¥{STR_VAR_3}."); +const u8 gText_PokedollarVar1[] = _("¥{STR_VAR_1}"); +const u8 gText_Shift[] = _("SHIFT"); +const u8 gText_SendOut[] = _("SEND OUT"); +const u8 gText_Switch2[] = _("SWITCH"); +const u8 gText_Summary5[] = _("SUMMARY"); +const u8 gUnknown_841699C[] = _("つかえるわざ"); +const u8 gText_Enter[] = _("ENTER"); +const u8 gText_NoEntry[] = _("NO ENTRY"); +const u8 gText_Take2[] = _("TAKE"); +const u8 gText_Read2[] = _("READ"); +const u8 gText_Trade4[] = _("TRADE"); +const u8 gText_HP3[] = _("HP"); +const u8 gText_SpAtk3[] = _("SP. ATK"); +const u8 gText_SpDef3[] = _("SP. DEF"); +const u8 gMenuText_Confirm[] = _("OK"); +const u8 gUnknown_84169D8[] = _(""); +const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}"); +const u8 gText_WontHaveEffect[] = _("It won't have any effect.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_84169F8[] = _("This can't be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCantSwitchOut[] = _("{STR_VAR_1} can't be switched\nout!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyInBattle[] = _("{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadySelected[] = _("{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHasNoEnergy[] = _("{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantSwitchWithAlly[] = _("You can't switch {STR_VAR_1}'s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}"); +const u8 gText_EggCantBattle[] = _("An EGG can't battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantUseUntilNewBadge[] = _("This can't be used until a new\nBADGE is obtained.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416B16[] = _("No more than three POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416B3E[] = _("No more than two POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SendMailToPC[] = _("Send the removed MAIL to\nyour PC?"); +const u8 gText_MailSentToPC[] = _("The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PCMailboxFull[] = _("Your PC's MAILBOX is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailMessageWillBeLost[] = _("If the MAIL is removed, the\nmessage will be lost. Okay?"); +const u8 gText_RemoveMailBeforeItem[] = _("MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWasGivenItem[] = _("{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyHoldingItemSwitch[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?"); +const u8 gText_PkmnNotHolding[] = _("{STR_VAR_1} isn't holding\nanything.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ReceivedItemFromPkmn[] = _("Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTakenFromPkmn[] = _("MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SwitchedPkmnItem[] = _("The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHoldingItemCantHoldMail[] = _("This POKéMON is holding an\nitem. It cannot hold MAIL.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTransferredFromMailbox[] = _("MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}"); +const u8 gText_BagFullCouldNotRemoveItem[] = _("The {STR_VAR_1} is full. The POKéMON's\nitem could not be removed.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnLearnedMove3[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); +const u8 gText_PkmnCantLearnMove[] = _("{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can't be\nlearned.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnNeedsToReplaceMove[] = _("{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?"); +const u8 gText_StopLearningMove2[] = _("Stop trying to teach\n{STR_VAR_2}?"); +const u8 gText_MoveNotLearned[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhichMoveToForget[] = _("Which move should be forgotten?{PAUSE_UNTIL_PRESS}"); +const u8 gText_12PoofForgotMove[] = _("1, {PAUSE 0x0F}2, and{PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}{PLAY_SE SE_KON}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd...{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyKnows[] = _("{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHPRestoredByVar2[] = _("{STR_VAR_1}'s HP was restored\nby {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfPoison[] = _("{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfParalysis[] = _("{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWokeUp2[] = _("{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBurnHealed[] = _("{STR_VAR_1}'s burn was healed.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnThawedOut[] = _("{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PPWasRestored[] = _("PP was restored.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416FDA[] = _("{STR_VAR_1}は\nげんきを とりもどした!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MovesPPIncreased[] = _("{STR_VAR_1}'s PP increased.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}."); +const u8 gText_PkmnBaseVar2StatIncreased[] = _("{STR_VAR_1}'s base {STR_VAR_2}\nstat was raised.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnSnappedOutOfConfusion[] = _("{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnGotOverInfatuation[] = _("{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8417094[] = _("That's your only\nPOKéMON for battle."); +ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can't be traded\nnow."); +ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can't be traded now."); +ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER's POKéMON\ncan't be traded now."); +ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can't accept\nthat POKéMON now."); +ALIGNED(4) const u8 gText_CantTradeWithTrainer[] = _("You can't trade with that\nTRAINER now."); +ALIGNED(4) const u8 gText_NotPkmnOtherTrainerWants[] = _("That isn't the type of POKéMON\nthat the other TRAINER wants."); +ALIGNED(4) const u8 gText_ThatIsntAnEgg[] = _("That isn't an EGG."); +const u8 gText_ChoosePokemon[] = _("Choose a POKéMON."); +const u8 gText_MoveToWhere[] = _("Move to where?"); +const u8 gText_TeachWhichPokemon[] = _("Teach which POKéMON?"); +const u8 gText_UseOnWhichPokemon[] = _("Use on which POKéMON?"); +const u8 gText_GiveToWhichPokemon[] = _("Give to which POKéMON?"); +const u8 gText_DoWhatWithPokemon[] = _("Do what with this {PKMN}?"); +const u8 gText_NothingToCut[] = _("There's nothing to CUT."); +const u8 gText_CantSurfHere[] = _("No SURFING here!"); +const u8 gText_AlreadySurfing[] = _("You're already SURFING."); +const u8 gText_CantUseHere[] = _("Can't use that here."); +const u8 gText_RestoreWhichMove[] = _("Restore which move?"); +const u8 gText_BoostPp[] = _("Boost PP of which?"); +const u8 gText_DoWhatWithItem[] = _("Do what with an item?"); +const u8 gText_NoPokemonForBattle[] = _("No battling this way!"); +const u8 gText_ChoosePokemon2[] = _("Choose a POKéMON."); +const u8 gText_NotEnoughHp[] = _("Not enough HP‥"); +const u8 gText_ThreePkmnAreNeeded[] = _("Three {PKMN} are needed."); +const u8 gText_PokemonCantBeSame[] = _("{PKMN} can't be the same."); +const u8 gText_NoIdenticalHoldItems[] = _("No same hold items!"); +const u8 gText_CurrentIsTooFast[] = _("The current is much too fast!"); +const u8 gText_DoWhatWithMail[] = _("Do what with the MAIL?"); +const u8 gText_ChoosePokemonCancel[] = _("Choose POKéMON or CANCEL."); +const u8 gText_ChoosePokemonConfirm[] = _("Choose POKéMON and confirm."); +const u8 gText_TwoPokemonAreNeeded[] = _("Two POKéMON are needed."); +const u8 gText_EnjoyCycling[] = _("Let's enjoy cycling!"); +const u8 gText_InUseAlready_PM[] = _("This is in use already."); +const u8 gText_NoUse[] = _("No use."); +const u8 gText_Able[] = _("ABLE"); +const u8 gText_First_PM[] = _("FIRST"); +const u8 gText_Second_PM[] = _("SECOND"); +const u8 gText_Third_PM[] = _("THIRD"); +const u8 gText_Able2[] = _("ABLE"); +const u8 gText_NotAble[] = _("NOT ABLE"); +const u8 gText_Able3[] = _("ABLE!"); +const u8 gText_NotAble2[] = _("NOT ABLE!"); +const u8 gText_Learned[] = _("LEARNED"); +const u8 gUnknown_8417457[] = _("OAK: It's important to get to know\nyour POKéMON thoroughly.\p"); +const u8 gUnknown_8417494[] = _("This is a list of your POKéMON,\n{PLAYER}.\pOpen this to check the skills\nand moves of your POKéMON.\pYou also choose POKéMON here if\nyou want to use an item on one.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CutATreeOrGrass[] = _("Cut a tree or grass."); +const u8 gText_FlyToAKnownTown[] = _("Fly to a known town."); +const u8 gText_TravelOnWater[] = _("Travel on water."); +const u8 gText_MoveHeavyBoulders[] = _("Move heavy boulders."); +const u8 gText_LightUpDarkness[] = _("Light up darkness."); +const u8 gText_ShatterACrackedRock[] = _("Shatter a cracked rock."); +const u8 gText_ClimbAWaterfall[] = _("Climb a waterfall."); +const u8 gUnknown_84175C1[] = _("すいちゅうに もぐる"); +const u8 gText_EscapeFromHere[] = _("Escape from here."); +const u8 gText_LureWildPokemon[] = _("Lure wild POKéMON."); +const u8 gText_ShareHp[] = _("Share HP."); +const u8 gText_ReturnToAHealingSpot[] = _("Return to a healing spot."); +const u8 gText_EscapeFromHereAndReturnTo[] = _("Want to escape from here and return\nto {STR_VAR_1}?"); +const u8 gText_ReturnToHealingSpot[] = _("Want to return to the healing spot\nused last in {STR_VAR_1}?"); +const u8 gText_Attack3[] = _("ATTACK"); +const u8 gText_Defense3[] = _("DEFENSE"); +const u8 gUnknown_8417683[] = _("とくこう"); +const u8 gUnknown_8417688[] = _("とくぼう"); +const u8 gText_Speed2[] = _("SPEED"); +const u8 gUnknown_8417693[] = _("HP"); +const u8 gText_PkmnCantParticipate[] = _("That POKéMON can't participate.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CancelParticipation[] = _("Cancel participation?"); +const u8 gUnknown_84176CE[] = _(""); +const u8 gUnknown_84176CF[] = _("Cancel the battle?"); +const u8 gText_TurnOff[] = _("TURN OFF"); +const u8 gUnknown_84176EB[] = _("もようがえ"); +const u8 gText_ItemStorage[] = _("ITEM STORAGE"); +const u8 gText_Mailbox[] = _("MAILBOX"); +const u8 gText_DepositItem2[] = _("DEPOSIT ITEM"); +const u8 gText_WithdrawItem2[] = _("WITHDRAW ITEM"); +const u8 gUnknown_8417721[] = _("どうぐを すてる"); +const u8 gText_StoreItemsInThePC[] = _("Store items in the PC."); +const u8 gText_TakeOutItemsFromThePC[] = _("Take out items from the PC."); +const u8 gUnknown_841775D[] = _("パソコンに あずけている\nどうぐを すてます"); +const u8 gText_ThereAreNoItems[] = _("There are no items.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreRoomInBag[] = _("There is no more\nroom in the BAG."); +const u8 gText_WithdrawHowMany[] = _("Withdraw how many\n{STR_VAR_1}(s)?"); +const u8 gText_WithdrewQuantItem[] = _("Withdrew {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gOtherText_Read[] = _("READ"); +const u8 gOtherText_MoveToBag[] = _("MOVE TO BAG"); +const u8 gOtherText_Give2[] = _("GIVE"); +const u8 gText_TheresNoMailHere[] = _("There's no MAIL here.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhatWouldYouLikeToDoWithPlayersMail[] = _("What would you like to do with\n{STR_VAR_1}'s MAIL?"); +const u8 gText_MessageWillBeLost[] = _("The message will be lost.\nIs that okay?"); +const u8 gText_BagIsFull[] = _("The BAG is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailReturnedToBagMessageErased[] = _("The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WithdrawItem[] = _("WITHDRAW\nITEM"); +const u8 gText_Withdraw[] = _("WITHDRAW"); +const u8 gText_ReturnToPC[] = _("Return to the PC."); +const u8 gText_LtSurge[] = _("LT. SURGE"); +const u8 gText_Koga[] = _("KOGA"); +const u8 gUnknown_84178DF[] = _("さんか する"); +const u8 gText_Info[] = _("INFO"); +const u8 gText_Eggs[] = _("EGGS"); +const u8 gText_HallOfFame[] = _("HALL OF FAME"); +const u8 gText_Victories[] = _("VICTORIES"); +const u8 gText_Quit[] = _("QUIT"); +const u8 gText_Psn[] = _("PSN"); +const u8 gText_Par[] = _("PAR"); +const u8 gText_Slp[] = _("SLP"); +const u8 gText_Brn[] = _("BRN"); +const u8 gText_Frz[] = _("FRZ"); +const u8 gUnknown_8417920[] = _("TOXIC"); +const u8 gUnknown_8417926[] = _("OK"); +const u8 gOtherText_Quit[] = _("QUIT"); +const u8 gUnknown_841792E[] = _("みました"); +const u8 gUnknown_8417933[] = _("これから"); +const u8 gText_Yes[] = _("YES"); +const u8 gText_No[] = _("NO"); +const u8 gUnknown_841793F[] = _("せつめい"); +const u8 gText_SingleBattle[] = _("SINGLE BATTLE"); +const u8 gText_DoubleBattle[] = _("DOUBLE BATTLE"); +const u8 gText_MultiBattle[] = _("MULTI BATTLE"); +const u8 gText_MakeAChallenge[] = _("Make a challenge."); +const u8 gText_Info_2[] = _("INFO"); +const u8 gText_FreshWater_200[] = _("FRESH WATER{CLEAR_TO 0x57}{SMALL}¥200"); +const u8 gText_SodaPop_300[] = _("SODA POP{CLEAR_TO 0x57}{SMALL}¥300"); +const u8 gText_Lemonade_350[] = _("LEMONADE{CLEAR_TO 0x57}{SMALL}¥350"); +const u8 gText_50Coins_1000[] = _("{SMALL} 50 COINS{CLEAR_TO 0x45}¥1,000"); +const u8 gText_500Coins_10000[] = _("{SMALL}500 COINS{CLEAR_TO 0x40}¥10,000"); +const u8 gText_Excellent[] = _("Excellent"); +const u8 gText_NotSoBad[] = _("Not so bad"); +const u8 gText_RedShard[] = _("RED SHARD"); +const u8 gText_YellowShard[] = _("YELLOW SHARD"); +const u8 gText_BlueShard[] = _("BLUE SHARD"); +const u8 gText_GreenShard[] = _("GREEN SHARD"); +const u8 gUnknown_8417A30[] = _("バトルタワ-"); +const u8 gText_Right[] = _("Right"); +const u8 gText_Left[] = _("Left"); +const u8 gText_Tm13_4000Coins[] = _("TM13{CLEAR_TO 0x48}{SMALL}4,000 COINS"); +const u8 gText_Tm23_3500Coins[] = _("TM23{CLEAR_TO 0x48}{SMALL}3,500 COINS"); +const u8 gText_Tm24_4000Coins[] = _("TM24{CLEAR_TO 0x48}{SMALL}4,000 COINS"); +const u8 gText_Tm30_4500Coins[] = _("TM30{CLEAR_TO 0x48}{SMALL}4,500 COINS"); +const u8 gText_Tm35_4000Coins[] = _("TM35{CLEAR_TO 0x48}{SMALL}4,000 COINS"); +const u8 gText_1F_2[] = _("1F"); +const u8 gText_2F_2[] = _("2F"); +const u8 gText_3F_2[] = _("3F"); +const u8 gText_4F_2[] = _("4F"); +const u8 gText_5F_2[] = _("5F"); +const u8 gText_Cool[] = _("COOL"); +const u8 gText_Beauty[] = _("BEAUTY"); +const u8 gText_Cute[] = _("CUTE"); +const u8 gText_Smart[] = _("SMART"); +const u8 gText_Tough[] = _("TOUGH"); +const u8 gText_Normal[] = _("NORMAL"); +const u8 gText_Black[] = _("BLACK"); +const u8 gText_Pink[] = _("PINK"); +const u8 gText_Sepia[] = _("SEPIA"); +const u8 gText_Cool_2[] = _("COOL"); +const u8 gText_Beauty_2[] = _("BEAUTY"); +const u8 gText_Cute_2[] = _("CUTE"); +const u8 gText_Smart_2[] = _("SMART"); +const u8 gText_Tough_2[] = _("TOUGH"); +const u8 gText_Items[] = _("ITEMS"); +const u8 gText_KeyItems[] = _("KEY ITEMS"); +const u8 gText_PokeBalls[] = _("POKé BALLS"); +const u8 gText_TMsAndHMs[] = _("TMs & HMs"); +const u8 gText_Berries[] = _("BERRIES"); +const u8 gText_Boulderbadge[] = _("BOULDERBADGE"); +const u8 gText_Cascadebadge[] = _("CASCADEBADGE"); +const u8 gText_Thunderbadge[] = _("THUNDERBADGE"); +const u8 gText_Rainbowbadge[] = _("RAINBOWBADGE"); +const u8 gText_Soulbadge[] = _("SOULBADGE"); +const u8 gText_Marshbadge[] = _("MARSHBADGE"); +const u8 gText_Volcanobadge[] = _("VOLCANOBADGE"); +const u8 gText_Earthbadge[] = _("EARTHBADGE"); +const u8 gText_SomeoneSPc[] = _("SOMEONE'S PC"); +const u8 gText_BillSPc[] = _("BILL'S PC"); +const u8 gText_SPc[] = _("{PLAYER}'s PC"); +const u8 gText_HallOfFame_2[] = _("HALL OF FAME"); +const u8 gText_LogOff[] = _("LOG OFF"); +const u8 gText_ProfOakSPc[] = _("PROF. OAK's PC"); +const u8 gText_Eevee[] = _("EEVEE"); +const u8 gText_Flareon[] = _("FLAREON"); +const u8 gText_Jolteon[] = _("JOLTEON"); +const u8 gText_Vaporeon[] = _("VAPOREON"); +const u8 gText_QuitLooking[] = _("Quit looking."); +const u8 gText_FreshWater[] = _("FRESH WATER"); +const u8 gText_SodaPop[] = _("SODA POP"); +const u8 gText_Lemonade[] = _("LEMONADE"); +const u8 gText_Coins_2[] = _("COINS"); +const u8 gText_Bicycle_1000000[] = _("BICYCLE{CLEAR_TO 0x49}{SMALL}¥1,000,000"); +const u8 gText_NoThanks[] = _("NO THANKS"); +const u8 gText_Abra_180Coins[] = _("ABRA{CLEAR_TO 0x55}{SMALL} 180 COINS"); +const u8 gText_Clefairy_500Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{SMALL} 500 COINS"); +const u8 gText_Dratini_2800Coins[] = _("DRATINI{CLEAR_TO 0x4B}{SMALL} 2,800 COINS"); +const u8 gText_Scyther_5500Coins[] = _("SCYTHER{CLEAR_TO 0x4B}{SMALL} 5,500 COINS"); +const u8 gText_Porygon_9999Coins[] = _("PORYGON{CLEAR_TO 0x4B}{SMALL} 9,999 COINS"); +const u8 gText_Abra_120Coins[] = _("ABRA{CLEAR_TO 0x55}{SMALL} 120 COINS"); +const u8 gText_Clefairy_750Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{SMALL} 750 COINS"); +const u8 gText_Pinsir_2500Coins[] = _("PINSIR{CLEAR_TO 0x4B}{SMALL} 2,500 COINS"); +const u8 gText_Dratini_4600Coins[] = _("DRATINI{CLEAR_TO 0x4B}{SMALL} 4,600 COINS"); +const u8 gText_Porygon_6500Coins[] = _("PORYGON{CLEAR_TO 0x4B}{SMALL} 6,500 COINS"); +const u8 gText_NoThanks_2[] = _("NO THANKS"); +const u8 gText_HelixFossil[] = _("HELIX FOSSIL"); +const u8 gText_DomeFossil[] = _("DOME FOSSIL"); +const u8 gText_OldAmber[] = _("OLD AMBER"); +const u8 gText_TradeCenter[] = _("TRADE CENTER"); +const u8 gText_Colosseum[] = _("COLOSSEUM"); +const u8 gText_GameLinkCable[] = _("Game Link cable"); +const u8 gText_Wireless[] = _("Wireless"); +const u8 gText_ItemsPocket[] = _("ITEMS POCKET"); +const u8 gText_KeyItemsPocket[] = _("KEY ITEMS POCKET"); +const u8 gText_PokeBallsPocket[] = _("POKé BALLS POCKET"); +const u8 gText_TmCase[] = _("TM CASE"); +const u8 gText_BerryPouch_2[] = _("BERRY POUCH"); +const u8 gText_Other[] = _("OTHER"); +const u8 gText_OneIsland[] = _("ONE ISLAND"); +const u8 gText_TwoIsland[] = _("TWO ISLAND"); +const u8 gText_ThreeIsland[] = _("THREE ISLAND"); +const u8 gText_FourIsland[] = _("FOUR ISLAND"); +const u8 gText_FiveIsland[] = _("FIVE ISLAND"); +const u8 gText_SixIsland[] = _("SIX ISLAND"); +const u8 gText_SevenIsland[] = _("SEVEN ISLAND"); +const u8 gText_Vermilion[] = _("VERMILION"); +const u8 gText_Colosseum_2[] = _("COLOSSEUM"); +const u8 gText_BerryCrush[] = _("BERRY CRUSH"); +const u8 gText_Dummy_8417E66[] = _(""); +const u8 gText_Dummy_8417E67[] = _(""); +const u8 gUnknown_8417E68[] = _("せつめいを きく"); +const u8 gText_Dummy_8417E71[] = _(""); +const u8 gText_PokemonJump[] = _("POKéMON JUMP"); +const u8 gText_DodrioBerryPicking[] = _("DODRIO BERRY-PICKING"); +const u8 gText_2Tinymushrooms[] = _("2 TINYMUSHROOMS"); +const u8 gText_1BigMushroom[] = _("1 BIG MUSHROOM"); +const u8 gText_SeviiIslands[] = _("SEVII ISLANDS"); +const u8 gText_NavelRock[] = _("NAVEL ROCK"); +const u8 gText_BirthIsland[] = _("BIRTH ISLAND"); +const u8 gText_MiracleSeed_1000Coins[] = _("MIRACLE SEED{CLEAR_TO 0x50}{SMALL}1,000 COINS"); +const u8 gText_Charcoal_1000Coins[] = _("CHARCOAL{CLEAR_TO 0x50}{SMALL}1,000 COINS"); +const u8 gText_MysticWater_1000Coins[] = _("MYSTIC WATER{CLEAR_TO 0x50}{SMALL}1,000 COINS"); +const u8 gText_YellowFlute_1600Coins[] = _("YELLOW FLUTE{CLEAR_TO 0x50}{SMALL}1,600 COINS"); +const u8 gText_SmokeBall_800Coins[] = _("SMOKE BALL{CLEAR_TO 0x5A}{SMALL}800 COINS"); +const u8 gText_Dummy_8417F67[] = _(""); +const u8 gText_Dummy_8417F68[] = _(""); +const u8 gText_BecomeLeader[] = _("BECOME LEADER"); +const u8 gText_JoinGroup[] = _("JOIN GROUP"); +const u8 gOtherText_Single[] = _("SINGLE"); +const u8 gOtherText_Double[] = _("DOUBLE"); +const u8 gOtherText_Knockout[] = _("KNOCKOUT"); +const u8 gOtherText_Mixed[] = _("MIXED"); +const u8 gUnknown_8417F9F[] = _("99かい いじょう"); +const u8 gUnknown_8417FA9[] = _("1ぷん いじょう"); +const u8 gUnknown_8417FB2[] = _("びょう"); +const u8 gUnknown_8417FB6[] = _("かい"); +const u8 gText_DecimalPoint[] = _("."); +const u8 gText_BigGuy[] = _("Big guy"); +const u8 gText_BigGirl[] = _("Big girl"); +const u8 gText_Daughter[] = _("son"); +const u8 gText_Son[] = _("daughter"); +const u8 gText_BoulderBadge[] = _("BOULDERBADGE"); +const u8 gText_CascadeBadge[] = _("CASCADEBADGE"); +const u8 gText_ThunderBadge[] = _("THUNDERBADGE"); +const u8 gText_RainbowBadge[] = _("RAINBOWBADGE"); +const u8 gText_SoulBadge[] = _("SOULBADGE"); +const u8 gText_MarshBadge[] = _("MARSHBADGE"); +const u8 gText_VolcanoBadge[] = _("VOLCANOBADGE"); +const u8 gText_EarthBadge[] = _("EARTHBADGE"); +const u8 gText_1F[] = _("1F"); +const u8 gText_2F[] = _("2F"); +const u8 gText_3F[] = _("3F"); +const u8 gText_4F[] = _("4F"); +const u8 gText_5F[] = _("5F"); +const u8 gText_6F[] = _("6F"); +const u8 gText_7F[] = _("7F"); +const u8 gText_8F[] = _("8F"); +const u8 gText_9F[] = _("9F"); +const u8 gText_10F[] = _("10F"); +const u8 gText_11F[] = _("11F"); +const u8 gText_B1F[] = _("B1F"); +const u8 gText_B2F[] = _("B2F"); +const u8 gText_B3F[] = _("B3F"); +const u8 gText_B4F[] = _("B4F"); +const u8 gText_Rooftop[] = _("ROOFTOP"); +const u8 gText_NowOn[] = _("Now on:"); +const u8 gText_LinkedGamePlay[] = _("LINKED GAME PLAY"); +const u8 gText_DirectCorner[] = _("DIRECT CORNER"); +const u8 gText_UnionRoom[] = _("UNION ROOM"); +const u8 gText_Energypowder_50[] = _("ENERGYPOWDER{CLEAR_TO 0x74}{SMALL}50"); +const u8 gText_EnergyRoot_80[] = _("ENERGY ROOT{CLEAR_TO 0x74}{SMALL}80"); +const u8 gText_HealPowder_50[] = _("HEAL POWDER{CLEAR_TO 0x74}{SMALL}50"); +const u8 gText_RevivalHerb_300[] = _("REVIVAL HERB{CLEAR_TO 0x6F}{SMALL}300"); +const u8 gText_Protein_1000[] = _("PROTEIN{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Iron_1000[] = _("IRON{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Carbos_1000[] = _("CARBOS{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Calcium_1000[] = _("CALCIUM{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Zinc_1000[] = _("ZINC{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_HpUp_1000[] = _("HP UP{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_PpUp_3000[] = _("PP UP{CLEAR_TO 0x65}{SMALL}3,000"); +const u8 gString_BattleRecords_PlayersBattleResults[] = _("{PLAYER}'s BATTLE RESULTS"); +const u8 gString_BattleRecords_TotalRecord[] = _("TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}"); +const u8 gString_BattleRecords_ColumnHeaders[] = _("WIN{CLEAR_TO 0x30}LOSE{CLEAR_TO 0x60}DRAW"); +const u8 gString_BattleRecords_7Dashes[] = _("-------"); +const u8 gString_BattleRecords_4Dashes[] = _("----"); +const u8 gFameCheckerText_FameCheckerWillBeClosed[] = _("The FAME CHECKER will be closed."); +const u8 gFameCheckerText_ClearTextbox[] = _("\n "); +const u8 gUnknown_8418204[] = _("やめる"); +const u8 gUnknown_8418208[] = _("Exit from the BOX."); +const u8 gUnknown_841821B[] = _("What do you want to do?"); +const u8 gUnknown_8418233[] = _("Please pick a theme."); +const u8 gUnknown_8418248[] = _("Pick the wallpaper."); +const u8 gUnknown_841825C[] = _("{DYNAMIC 0x00} is selected."); +const u8 gUnknown_841826C[] = _("Jump to which BOX?"); +const u8 gUnknown_841827F[] = _("Deposit in which BOX?"); +const u8 gUnknown_8418295[] = _("{DYNAMIC 0x00} was deposited."); +const u8 gUnknown_84182A7[] = _("The BOX is full."); +const u8 gUnknown_84182B8[] = _("Release this POKéMON?"); +const u8 gUnknown_84182CE[] = _("{DYNAMIC 0x00} was released."); +const u8 gUnknown_84182DF[] = _("Bye-bye, {DYNAMIC 0x00}!"); +const u8 gUnknown_84182EC[] = _("Mark your POKéMON."); +const u8 gUnknown_84182FF[] = _("That's your last POKéMON!"); +const u8 gUnknown_8418319[] = _("Your party's full!"); +const u8 gUnknown_841832C[] = _("You're holding a POKéMON!"); +const u8 gUnknown_8418346[] = _("Which one will you take?"); +const u8 gUnknown_841835F[] = _("You can't release an EGG."); +const u8 gUnknown_8418379[] = _("Continue BOX operations?"); +const u8 gUnknown_8418392[] = _("{DYNAMIC 0x00} came back!"); +const u8 gUnknown_84183A0[] = _("Was it worried about you?"); +const u8 gUnknown_84183BA[] = _("‥ ‥ ‥ ‥ ‥!"); +const u8 gUnknown_84183C5[] = _("Please remove the MAIL."); +const u8 gUnknown_84183DD[] = _("GIVE to a POKéMON?"); +const u8 gUnknown_84183F0[] = _("Placed item in the BAG."); +const u8 gUnknown_8418408[] = _("The BAG is full."); +const u8 gUnknown_8418419[] = _("Put this item in the BAG?"); +const u8 gUnknown_8418433[] = _("{DYNAMIC 0x00} is now held."); +const u8 gUnknown_8418443[] = _("Changed to {DYNAMIC 0x00}."); +const u8 gUnknown_8418452[] = _("MAIL can't be stored!"); +const u8 gUnknown_8418468[] = _("CANCEL"); +const u8 gUnknown_841846F[] = _("STORE"); +const u8 gUnknown_8418475[] = _("WITHDRAW"); +const u8 gUnknown_841847E[] = _("SHIFT"); +const u8 gUnknown_8418484[] = _("MOVE"); +const u8 gUnknown_8418489[] = _("PLACE"); +const u8 gUnknown_841848F[] = _("SUMMARY"); +const u8 gUnknown_8418497[] = _("RELEASE"); +const u8 gUnknown_841849F[] = _("MARK"); +const u8 gUnknown_84184A4[] = _("NAME"); +const u8 gUnknown_84184A9[] = _("JUMP"); +const u8 gUnknown_84184AE[] = _("WALLPAPER"); +const u8 gUnknown_84184B8[] = _("TAKE"); +const u8 gUnknown_84184BD[] = _("GIVE"); +const u8 gUnknown_84184C2[] = _("SWITCH"); +const u8 gUnknown_84184C9[] = _("BAG"); +const u8 gUnknown_84184CD[] = _("INFO"); +const u8 gUnknown_84184D2[] = _("SCENERY 1"); +const u8 gUnknown_84184DC[] = _("SCENERY 2"); +const u8 gUnknown_84184E6[] = _("SCENERY 3"); +const u8 gUnknown_84184F0[] = _("ETCETERA"); +const u8 gUnknown_84184F9[] = _("FOREST"); +const u8 gUnknown_8418500[] = _("CITY"); +const u8 gUnknown_8418505[] = _("DESERT"); +const u8 gUnknown_841850C[] = _("SAVANNA"); +const u8 gUnknown_8418514[] = _("CRAG"); +const u8 gUnknown_8418519[] = _("VOLCANO"); +const u8 gUnknown_8418521[] = _("SNOW"); +const u8 gUnknown_8418526[] = _("CAVE"); +const u8 gUnknown_841852B[] = _("BEACH"); +const u8 gUnknown_8418531[] = _("SEAFLOOR"); +const u8 gUnknown_841853A[] = _("RIVER"); +const u8 gUnknown_8418540[] = _("SKY"); +const u8 gUnknown_8418544[] = _("STARS"); +const u8 gUnknown_841854A[] = _("POKéCENTER"); +const u8 gUnknown_8418555[] = _("TILES"); +const u8 gUnknown_841855B[] = _("SIMPLE"); +const u8 gUnknown_8418562[] = _("なにを しますか?"); +const u8 gUnknown_841856C[] = _("WITHDRAW POKéMON"); +const u8 gUnknown_841857D[] = _("DEPOSIT POKéMON"); +const u8 gUnknown_841858D[] = _("MOVE POKéMON"); +const u8 gUnknown_841859A[] = _("MOVE ITEMS"); +const u8 gUnknown_84185A5[] = _("SEE YA!"); +const u8 gUnknown_84185AD[] = _("You can withdraw a POKéMON if you\nhave any in a BOX."); +const u8 gUnknown_84185E2[] = _("You can deposit your party\nPOKéMON in any BOX."); +const u8 gUnknown_8418611[] = _("You can move POKéMON that are\nstored in any BOX."); +const u8 gUnknown_8418642[] = _("You can move items held by any\nPOKéMON in a BOX or your party."); +const u8 gUnknown_8418681[] = _("See you later!"); +const u8 gUnknown_8418690[] = _("Can't deposit the last POKéMON!"); +const u8 gUnknown_84186B0[] = _("Can't take any more POKéMON."); +const u8 gUnknown_84186CD[] = _("BOX"); +const u8 gUnknown_84186D1[] = _("Combine four words or phrases"); +const u8 gUnknown_84186EF[] = _("and make your profile."); +const u8 gUnknown_8418706[] = _("Make a message of six phrases."); +const u8 gUnknown_8418725[] = _("Max two 12-letter phrases/line."); +const u8 gUnknown_8418745[] = _("Find words that describe your"); +const u8 gUnknown_8418763[] = _("feelings right now."); +const u8 gUnknown_8418777[] = _("4つの ことばで"); +const u8 gUnknown_8418780[] = _("Combine nine words or phrases"); +const u8 gUnknown_841879E[] = _("and make a message."); +const u8 gUnknown_84187B2[] = _("Change just one word or phrase"); +const u8 gUnknown_84187D1[] = _("and improve the BARD's song."); +const u8 gUnknown_84187EE[] = _("and fill out the questionnaire."); +const u8 gUnknown_841880E[] = _("Your profile"); +const u8 gUnknown_841881B[] = _("Your feeling at the battle's start"); +const u8 gUnknown_841883E[] = _("What you say if you win a battle"); +const u8 gUnknown_841885F[] = _("What you say if you lose a battle"); +const u8 gUnknown_8418881[] = _("The answer"); +const u8 gUnknown_841888C[] = _("The MAIL message"); +const u8 gUnknown_841889D[] = _("はがきに のせる あいさつは"); +const u8 gUnknown_84188AC[] = _("The new song"); +const u8 gUnknown_84188B9[] = _("Combine two words or phrases"); +const u8 gUnknown_84188D6[] = _("and make a trendy saying."); +const u8 gUnknown_84188F0[] = _("The trendy saying"); +const u8 gUnknown_8418902[] = _("is as shown. Okay?"); +const u8 gUnknown_8418915[] = _("2つの ことばを くみあわせて"); +const u8 gUnknown_8418925[] = _("いい ことばを おしえてあげよう!"); +const u8 gUnknown_8418937[] = _("All the text being edited will"); +const u8 gUnknown_8418956[] = _("be deleted. Is that okay?"); +const u8 gUnknown_8418970[] = _("なにか ことばを いれてください!"); +const u8 gUnknown_8418982[] = _("ことばを ぜんぶ けすことは できません!"); +const u8 gUnknown_8418998[] = _("かえられる ことばは 1つ までです!"); +const u8 gUnknown_84189AC[] = _("うたを もとに もどします!"); +const u8 gUnknown_84189BB[] = _("それは もう はやっています!"); +const u8 gUnknown_84189CB[] = _("2つの ことばを くみあわせてください!"); +const u8 gUnknown_84189E0[] = _("Quit editing?"); +const u8 gUnknown_84189EE[] = _("Stop giving the POKéMON MAIL?"); +const u8 gUnknown_8418A0C[] = _("へんしゅうした ことばは ほぞん"); +const u8 gUnknown_8418A1D[] = _("されませんが いいですか?"); +const u8 gUnknown_8418A2B[] = _("PROFILE"); +const u8 gUnknown_8418A33[] = _("At the battle's start:"); +const u8 gUnknown_8418A4A[] = _("Upon winning a battle:"); +const u8 gUnknown_8418A61[] = _("Upon losing a battle:"); +const u8 gUnknown_8418A77[] = _("The BARD's Song"); +const u8 gUnknown_8418A87[] = _("What's hip and happening?"); +const u8 gUnknown_8418AA1[] = _("Interview"); +const u8 gUnknown_8418AAB[] = _("いい ことば"); +const u8 gUnknown_8418AB2[] = _("QUESTIONNAIRE"); +const u8 gUnknown_8418AC0[] = _(" きれい だよね-"); +const u8 gUnknown_8418ACA[] = _(" かわいい よね-"); +const u8 gUnknown_8418AD4[] = _(" のんびり だよね-"); +const u8 gUnknown_8418ADF[] = _(" ぽっかぽか だよね-"); +const u8 gUnknown_8418AEB[] = _(" あこがれる よね-"); +const u8 gUnknown_8418AF6[] = _(" ドキドキ するよね-"); +const u8 gUnknown_8418B02[] = _(" おもしろい よね-"); +const u8 gUnknown_8418B0D[] = _(" ふしぎ だよね-"); +const u8 gUnknown_8418B17[] = _("って"); +const u8 gUnknown_8418B1A[] = _("\nそう おもわない?"); +const u8 gUnknown_8418B25[] = _("たびに でたいな-\nどこか いい ところ しらない?"); +const u8 gUnknown_8418B40[] = _("120しょくの クレヨン かったんだ-\nいいでしょう?"); +const u8 gUnknown_8418B5C[] = _("しゃぼんだまに のって とべるように\nならないかな-"); +const u8 gUnknown_8418B77[] = _("すなはまに かいた もじは\nすぐに きえちゃうのが かなしいよね-"); +const u8 gUnknown_8418B99[] = _("うみの そこって どうなってるのかな-\nいちどで いいから みて みたいな-"); +const u8 gUnknown_8418BC0[] = _("ゆうやけを みると\nウチに かえりたく ならない?"); +const u8 gUnknown_8418BDA[] = _("みどりの しばで ねころがると\nきもちいいよね-"); +const u8 gUnknown_8418BF3[] = _("ひみつきち って いいよね!\nなんか わくわく してこない?"); +const u8 gUnknown_8418C12[] = _("ポケモン リ-グ"); +const u8 gText_PokemonCenter[] = _("POKéMON CENTER"); +const u8 gUnknown_8418C2A[] = _("に ポロックを あげますか?"); +const u8 gUnknown_8418C39[] = _("かっこよさ"); +const u8 gUnknown_8418C3F[] = _("うつくしさ"); +const u8 gUnknown_8418C45[] = _("かわいさ"); +const u8 gUnknown_8418C4A[] = _("かしこさ"); +const u8 gUnknown_8418C4F[] = _("たくましさ"); +const u8 gUnknown_8418C55[] = _("に みがきが かかった!"); +const u8 gUnknown_8418C62[] = _("なにも かわらなかった!"); +const u8 gUnknown_8418C6F[] = _("もう これいじょう たべない みたい‥"); +const u8 gText_SaveFailedScreen_CheckingBackupMemory[] = _("Save failed.\nChecking the backup memory‥\nPlease wait.\n“Time required:\nabout 1 minute”"); +const u8 gText_SaveFailedScreen_BackupMemoryDamaged[] = _("The backup memory is damaged or\nthe game's battery has run dry.\nThe game can be played, but its\nprogress cannot be saved.\n“Please press the A Button.”"); +const u8 gUnknown_8418D70[] = _("{COLOR RED}“このまま ぼうけんをつづけることは できません\nタイトルに もどります”"); +const u8 gUnknown_8418D99[] = _("けんさが しゅうりょうしました!\nもういちど レポ-トを かきこみます\nしばらくおまちください"); +const u8 gUnknown_8418DC9[] = _("レポ-トの かきこみは しゅうりょうしました\n{COLOR RED}“このまま ぼうけんをつづけることは できません\nタイトルに もどります”"); +const u8 gText_SaveFailedScreen_SaveCompleted[] = _("Save completed.\n“Please press the A Button.”"); +const u8 gUnknown_8418E36[] = _("れんらくせん"); +const u8 gUnknown_8418E3D[] = _("ひみつきち"); +const u8 gUnknown_8418E43[] = _("アジト"); +const u8 gUnknown_8418E47[] = _("YOUR NAME?"); +const u8 gUnknown_8418E52[] = _("BOX NAME?"); +const u8 gUnknown_8418E5C[] = _("'s nickname?"); +const u8 gUnknown_8418E69[] = _("RIVAL's NAME?"); +const u8 gUnknown_8418E77[] = _("{DPAD_ANY}MOVE {A_BUTTON}OK {B_BUTTON}BACK"); +const u8 gUnknown_8418E8A[] = _(""); +const u8 gText_RegionMap_Space[] = _(" "); +const u8 gText_RegionMap_AButtonGuide[] = _("{A_BUTTON}GUIDE"); +const u8 gText_RegionMap_AButtonCancel[] = _("{A_BUTTON}CANCEL"); +const u8 gText_RegionMap_AButtonCancel2[] = _("{A_BUTTON}CANCEL"); +const u8 gText_RegionMap_AButtonSwitch[] = _("{A_BUTTON}SWITCH"); +const u8 gText_RegionMap_AButtonOK[] = _("{A_BUTTON}OK"); +const u8 gText_RegionMap_DPadMove[] = _("{DPAD_ANY}MOVE"); +const u8 gText_RegionMap_UpDownPick[] = _("{DPAD_UPDOWN}PICK"); +const u8 gText_RegionMap_NoData[] = _("No data"); +const u8 gText_RegionMap_AreaDesc_ViridianForest[] = _("A deep and sprawling forest that\nextends around VIRIDIAN CITY.\nA natural maze, many people\nbecome lost inside."); +const u8 gText_RegionMap_AreaDesc_MtMoon[] = _("A mystical mountain that is known\nfor its frequent meteor falls.\nThe shards of stars that fall\nhere are known as MOON STONES."); +const u8 gText_RegionMap_AreaDesc_DiglettsCave[] = _("A seemingly plain tunnel that was\ndug by wild DIGLETT.\nIt is famous for connecting\nROUTES 2 and 11."); +const u8 gText_RegionMap_AreaDesc_VictoryRoad[] = _("A tunnel situated on ROUTE 23.\nIt earned its name because it\nmust be traveled by all TRAINERS\naiming for the top."); +const u8 gText_RegionMap_AreaDesc_PokemonMansion[] = _("A decrepit, burned-down mansion\non CINNABAR ISLAND.\nIt got its name because a famous\nPOKéMON researcher lived there."); +const u8 gText_RegionMap_AreaDesc_SafariZone[] = _("An amusement park outside FUCHSIA\nCITY where many rare POKéMON can\nbe observed in the wild.\nCatch them in a popular game!"); +const u8 gText_RegionMap_AreaDesc_RockTunnel[] = _("A naturally formed underground\ntunnel. Because it has not been\ndeveloped, it is inky dark inside.\nA light is needed to get through."); +const u8 gText_RegionMap_AreaDesc_SeafoamIslands[] = _("A pair of islands that is situated\non ROUTE 20.\nThe two islands are shaped the\nsame, as if they were twins."); +const u8 gText_RegionMap_AreaDesc_PokemonTower[] = _("A tower that houses the graves of\ncountless POKéMON.\nMany people visit it daily to pay\ntheir respects to the fallen."); +const u8 gText_RegionMap_AreaDesc_CeruleanCave[] = _("A mysterious cave that is filled\nwith terribly tough POKéMON.\nIt is so dangerous, the POKéMON\nLEAGUE is in charge of it."); +const u8 gText_RegionMap_AreaDesc_PowerPlant[] = _("A power plant that was abandoned\nyears ago, though some of the\nmachines still work. It is infested\nwith electric POKéMON."); +const u8 gText_RegionMap_AreaDesc_MtEmber[] = _("Supposedly an inactive volcano.\nHowever, there are persistent\nreports that the peak blazes\nwith fire at night."); +const u8 gText_RegionMap_AreaDesc_BerryForest[] = _("A forest on a small islet off the\ncoast of THREE ISLAND. BERRIES\ngrow wildly in profusion, quickly\nreplenishing those that fall off."); +const u8 gText_RegionMap_AreaDesc_IcefallCave[] = _("A cave which is covered by water\nand ice on FOUR ISLAND.\nIt seems like the end of the cave\nis connected to the ocean."); +const u8 gText_RegionMap_AreaDesc_LostCave[] = _("A bewildering cave off the coast\nof RESORT GORGEOUS.\nSome curious thrill seekers have\nnever emerged from it."); +const u8 gText_RegionMap_AreaDesc_TanobyRuins[] = _("An ancient ruin that is rumored to\nbe home to a peculiar POKéMON.\nHowever, so far, the POKéMON\nremains an unconfirmed rumor."); +const u8 gText_RegionMap_AreaDesc_AlteringCave[] = _("This island has been known by this\nname since the distant past.\nNo one today knows where it got\nthis name, however."); +const u8 gText_RegionMap_AreaDesc_PatternBush[] = _("A lush and bush-like area. \nIn it are patterns where no grass\ngrows. Some study it in the belief\nthat a secret is concealed."); +const u8 gText_RegionMap_AreaDesc_DottedHole[] = _("A mysterious, just-discovered\nruin from an ancient time.\nIt got its name from the six dots\non its door."); +const u8 gUnknown_8419782[] = _("{DYNAMIC 0x00} nature.\nMet in a trade."); +const u8 gUnknown_841979D[] = _("{DYNAMIC 0x00} nature.\nMet in a trade."); +const u8 gUnknown_84197B8[] = _("{DYNAMIC 0x00} nature.\nMet in a fateful encounter when\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84197ED[] = _("{DYNAMIC 0x00} nature.\nMet in a fateful encounter when\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_8419822[] = _("{DYNAMIC 0x00} nature.\nMet in {DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_8419841[] = _("{DYNAMIC 0x00} nature.\nMet in {DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_8419860[] = _("{DYNAMIC 0x00} nature.\nApparently met in {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_841988A[] = _("{DYNAMIC 0x00} nature.\nApparently met in {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84198B4[] = _("{DYNAMIC 0x00} nature.\nHatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84198D5[] = _("{DYNAMIC 0x00} nature.\nHatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84198F6[] = _("{DYNAMIC 0x00}なせいかく {LV_2}{DYNAMIC 0x01}のとき\n{DYNAMIC 0x02}で かえった ようだ"); +const u8 gUnknown_8419913[] = _("{DYNAMIC 0x00}せいかく {LV_2}{DYNAMIC 0x01}のとき\n{DYNAMIC 0x02}で かえった ようだ"); +const u8 gUnknown_841992F[] = _("{DYNAMIC 0x00} nature. Met in a fateful\nencounter (hatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01})."); +const u8 gUnknown_841996D[] = _("{DYNAMIC 0x00} nature. Met in a fateful\nencounter (hatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01})."); +const u8 gUnknown_84199AB[] = _("{DYNAMIC 0x00} nature. Apparently met in\na fateful encounter (hatched:\n{DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01})."); +const u8 gUnknown_84199F4[] = _("{DYNAMIC 0x00} nature. Apparently met in\na fateful encounter シhatched:\n{DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}ス."); +const u8 gUnknown_8419A3D[] = _("An odd POKéMON EGG found by the\nDAY-CARE couple."); +const u8 gUnknown_8419A6E[] = _("An odd POKéMON EGG obtained from\nthe traveling man."); +const u8 gUnknown_8419AA2[] = _("A wondrously peculiar POKéMON EGG\nobtained at a nice place."); +const u8 gUnknown_8419ADE[] = _("An odd POKéMON EGG obtained from\nan old woman at the SPA."); +const u8 gUnknown_8419B18[] = _("A peculiar POKéMON EGG obtained\nin a trade."); +const u8 gUnknown_8419B44[] = _("It looks like this\nEGG will take a\nlong time to hatch."); +const u8 gUnknown_8419B7B[] = _("What will hatch\nfrom this? It will\ntake some time."); +const u8 gUnknown_8419BAE[] = _("It occasionally\nmoves. It should\nhatch soon."); +const u8 gUnknown_8419BDB[] = _("It's making sounds.\nIt's almost ready\nto hatch!"); +const u8 gUnknown_8419C0B[] = _("a trade"); +const u8 gUnknown_8419C13[] = _("Somewhere"); +const u8 gUnknown_8419C1D[] = _("POKéMON INFO"); +const u8 gUnknown_8419C2A[] = _("POKéMON SKILLS"); +const u8 gUnknown_8419C39[] = _("KNOWN MOVES"); +const u8 gUnknown_8419C45[] = _("No data"); +const u8 gUnknown_8419C4D[] = _("EXP. POINTS"); +const u8 gUnknown_8419C59[] = _("NEXT LV."); +const u8 gUnknown_8419C62[] = _("{DPAD_RIGHT}PAGE {A_BUTTON}CANCEL"); +const u8 gUnknown_8419C72[] = _("{A_BUTTON}CANCEL"); +const u8 gUnknown_8419C7B[] = _("{DPAD_LEFTRIGHT}PAGE"); +const u8 gUnknown_8419C82[] = _("{DPAD_LEFT}PAGE {A_BUTTON}DETAIL"); +const u8 gUnknown_8419C92[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}SWITCH"); +const u8 gUnknown_8419CA2[] = _("{DPAD_UPDOWN}PICK"); +const u8 gUnknown_8419CA9[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}DELETE"); +const u8 gUnknown_8419CB9[] = _("HM moves can't be\nforgotten now."); +const u8 gText_TrainerCardName[] = _("NAME: "); +const u8 gText_TrainerCardIDNo[] = _("IDNo."); +const u8 gText_TrainerCardMoney[] = _("MONEY"); +const u8 gText_TrainerCardYen[] = _("¥"); +const u8 gText_TrainerCardPokedex[] = _("POKéDEX"); +const u8 gText_TrainerCardNull[] = _(""); +const u8 gText_Colon2[] = _(":"); +const u8 gUnknown_8419CFA[] = _("てん"); +const u8 gText_TrainerCardTime[] = _("TIME"); +const u8 gUnknown_8419D02[] = _("ゲ-ムポイント"); +const u8 gText_Var1sTrainerCard[] = _("'s TRAINER CARD"); +const u8 gText_HallOfFameDebut[] = _("HALL OF FAME DEBUT "); +const u8 gText_LinkBattles[] = _("LINK BATTLES"); +const u8 gText_LinkCableBattles[] = _("LINK CABLE BATTLES"); +const u8 gText_WinLossRatio[] = _("W:{CLEAR_TO 0x30}L:"); +const u8 gText_PokemonTrades[] = _("POKéMON TRADES"); +const u8 gText_UnionRoomTradesBattles[] = _("UNION TRADES & BATTLES"); +const u8 gText_BerryCrushes[] = _("BERRY CRUSH"); +const u8 gText_WaitingTrainerFinishReading[] = _("Waiting for the other TRAINER to\nfinish reading your TRAINER CARD."); +const u8 gText_MenuOption[] = _("OPTION"); +const u8 gText_TextSpeed[] = _("TEXT SPEED"); +const u8 gText_BattleScene[] = _("BATTLE SCENE"); +const u8 gText_BattleStyle[] = _("BATTLE STYLE"); +const u8 gText_Sound[] = _("SOUND"); +const u8 gText_ButtonMode[] = _("BUTTON MODE"); +const u8 gText_Frame[] = _("FRAME"); +const u8 gText_OptionMenuCancel[] = _("CANCEL"); +const u8 gText_TextSpeedSlow[] = _("SLOW"); +const u8 gText_TextSpeedMid[] = _("MID"); +const u8 gText_TextSpeedFast[] = _("FAST"); +const u8 gText_BattleSceneOn[] = _("ON"); +const u8 gText_BattleSceneOff[] = _("OFF"); +const u8 gText_BattleStyleShift[] = _("SHIFT"); +const u8 gText_BattleStyleSet[] = _("SET"); +const u8 gText_SoundMono[] = _("MONO"); +const u8 gText_SoundStereo[] = _("STEREO"); +const u8 gTextJP_Type[] = _("タイプ"); +const u8 gText_ButtonTypeHelp[] = _("HELP"); +const u8 gText_ButtonTypeLEqualsA[] = _("L=A"); +const u8 gText_ButtonTypeLR[] = _("LR"); +const u8 gText_FrameType[] = _("TYPE"); +const u8 gText_PickSwitchCancel[] = _("{DPAD_UPDOWN}PICK {DPAD_LEFTRIGHT}SWITCH {A_BUTTON}{B_BUTTON}CANCEL"); +const u8 gUnknown_8419E72[] = _("RTCを リセットします\nAで けってい Bで キャンセル"); +const u8 gUnknown_8419E90[] = _("げんざいの ゲ-ムない じかん"); +const u8 gUnknown_8419EA0[] = _("ぜんかいの ゲ-ムない じかん"); +const u8 gUnknown_8419EB0[] = _("じかんを さいせってい してください"); +const u8 gUnknown_8419EC3[] = _("じかんを さいせってい しました!\nレポ-トを かいています おまちください"); +const u8 gUnknown_8419EEA[] = _("レポ-トを かきこみました!"); +const u8 gUnknown_8419EF9[] = _("レポ-トの かきこみに\nしっぱい しました‥"); +const u8 gUnknown_8419F10[] = _("レポ-トが ないので\nじかんの せっていは できません!"); +const u8 gUnknown_8419F2D[] = _("ゲ-ムない じかんの しゅうせい システムが\nつかえる ように なりました!"); +const u8 gText_SavingDontTurnOffThePower2[] = _("SAVING…\nDON'T TURN OFF THE POWER."); + +// Start menu option descriptions +const u8 gStartMenuDesc_Pokedex[] = _("A device that records POKéMON secrets\nupon meeting or catching them."); +const u8 gStartMenuDesc_Pokemon[] = _("Check and organize POKéMON that are\ntraveling with you in your party."); +const u8 gStartMenuDesc_Bag[] = _("Equipped with pockets for storing items\nyou bought, received, or found."); +const u8 gStartMenuDesc_Player[] = _("Check your money and other game data."); +const u8 gStartMenuDesc_Save[] = _("Save your game with a complete record\nof your progress to take a break."); +const u8 gStartMenuDesc_Option[] = _("Adjust various game settings such as text\nspeed, game rules, etc."); +const u8 gStartMenuDesc_Exit[] = _("Close this MENU window."); +const u8 gStartMenuDesc_Retire[] = _("Retire from the SAFARI GAME and return to\nthe registration counter."); + +#include "data/text/quest_log.h" + +const u8 gUnknown_841B285[] = _(" was used on\n"); +const u8 gUnknown_841B293[] = _("."); +const u8 gUnknown_841B295[] = _("'s level rose to\n"); +const u8 gUnknown_841B2A7[] = _("."); +const u8 gUnknown_841B2A9[] = _("{SMALL}MAX.{SIZE 0x02} HP"); +const u8 gUnknown_841B2B7[] = _("ATTACK"); +const u8 gUnknown_841B2BE[] = _("DEFENSE"); +const u8 gUnknown_841B2C6[] = _("SPEED"); +const u8 gUnknown_841B2CC[] = _("SP. ATK"); +const u8 gUnknown_841B2D4[] = _("SP. DEF"); +const u8 gUnknown_841B2DC[] = _("{SMALL}{PLUS}{SIZE 0x02}"); +const u8 gUnknown_841B2E5[] = _("{SMALL}-{SIZE 0x02}"); +const u8 gUnknown_841B2ED[] = _("1, "); +const u8 gUnknown_841B2F1[] = _("2, and ‥ ‥ ‥ "); +const u8 gUnknown_841B2FF[] = _("Poof!\p"); +const u8 gUnknown_841B306[] = _("{DYNAMIC 0x00} forgot\n{DYNAMIC 0x01}.\p"); +const u8 gUnknown_841B315[] = _("And‥\p"); +const u8 gUnknown_841B31B[] = _("Machine set!\p"); +const u8 gUnknown_841B329[] = _("Huh?"); +const u8 gUnknown_841B32E[] = _("{DYNAMIC 0x00} learned\n{DYNAMIC 0x01}!"); +const u8 gText_Upper[] = _("UPPER"); +const u8 gText_Lower[] = _("lower"); +const u8 gText_Others[] = _("OTHERS"); +const u8 gText_Symbols[] = _("SYMBOLS"); +const u8 gText_Register2[] = _("REGISTER"); +const u8 gText_Exit[] = _("EXIT"); +const u8 gText_QuitChatting[] = _("Quit chatting?"); +const u8 gText_RegisterTextWhere[] = _("Register text where?"); +const u8 gText_RegisterTextHere[] = _("Register text here?"); +const u8 gText_InputText[] = _("Input text."); +const u8 gText_F700JoinedChat[] = _("{DYNAMIC 0x00} joined the chat!"); +const u8 gText_F700LeftChat[] = _("{DYNAMIC 0x00} left the chat."); +const u8 gUnknown_841B3D0[] = _("{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめ:"); +const u8 gUnknown_841B3DA[] = _("{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめは いません"); +const u8 gText_ExitingTheChat[] = _("Exiting the chat‥"); +const u8 gText_LeaderHasLeftEndingChat[] = _("The LEADER, {DYNAMIC 0x00}, has\nleft, ending the chat."); +const u8 gText_RegisteredTextChanged_OKtoSave[] = _("The registered text has been changed.\nIs it okay to save the game?"); +const u8 gText_RegisteredTextChanged_AlreadySavedFile[] = _("There is already a saved file.\nIs it okay to overwrite it?"); +const u8 gText_RegisteredTextChanged_SavingDontTurnOff[] = _("SAVING‥\nDON'T TURN OFF THE POWER."); +const u8 gText_RegisteredTextChanged_SavedTheGame[] = _("{DYNAMIC 0x00} saved the game."); +const u8 gText_IfLeaderLeavesChatWillEnd[] = _("If the LEADER leaves, the chat\nwill end. Is that okay?"); +const u8 gText_Hello[] = _("HELLO"); +const u8 gText_Pokemon2[] = _("POKéMON"); +const u8 gText_Trade[] = _("TRADE"); +const u8 gText_Battle[] = _("BATTLE"); +const u8 gText_Lets[] = _("LET'S"); +const u8 gText_Ok[] = _("OK!"); +const u8 gText_Sorry[] = _("SORRY"); +const u8 gText_YaySmileEmoji[] = _("YAY{EXTRA 0xF9}"); +const u8 gText_ThankYou[] = _("THANK YOU"); +const u8 gText_ByeBye[] = _("BYE-BYE!"); +const u8 gUnknown_841B554[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm‥\p"); +const u8 gUnknown_841B5B6[] = _("{PLAYER} scurried back home, protecting\nthe exhausted and fainted POKéMON from\nfurther harm‥\p"); +const u8 gUnknown_841B60E[] = _("PLAYER: {DYNAMIC 0x00}"); +const u8 gUnknown_841B619[] = _("This document is issued in\nrecognition of your magnificent\nachievement - the completion of\nthe {DYNAMIC 0x01} POKéDEX."); +const u8 gUnknown_841B684[] = _("GAME FREAK"); +const u8 gUnknown_841B68F[] = _("NATIONAL"); +const u8 gUnknown_841B698[] = _("KANTO"); +const u8 gUnknown_841B69E[] = _("Clear all save data areas?"); +const u8 gUnknown_841B6B9[] = _("Clearing data‥\nPlease wait."); +const u8 gText_Player[] = _("PLAYER"); +const u8 gText_Time[] = _("TIME"); +const u8 gText_Colon[] = _(":"); +const u8 gText_Pokedex[] = _("POKéDEX"); +const u8 gTextJPDummy_Hiki[] = _(""); +const u8 gText_Badges[] = _("BADGES"); +const u8 gTextJPDummy_Ko[] = _(""); +const u8 gText_Register[] = _("REGISTER"); +const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!"); +const u8 gText_NickHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); +const u8 gString_OutOfCoins[] = _("You've run out of COINS.\nGame over!"); +const u8 gString_QuitPlaying[] = _("Quit playing?"); +const u8 gString_SlotMachineControls[] = _("{DPAD_LEFTRIGHT}COMBOS {DPAD_DOWN}WAGER {A_BUTTON}STOP {B_BUTTON}EXIT"); +const u8 gUnknown_841B798[] = _("おしえテレビ"); +const u8 gUnknown_841B79F[] = _("おしまい"); + +#include "data/text/teachy_tv.h" + +const u8 gString_Bill[] = _("BILL"); +const u8 gString_Someone[] = _("SOMEONE"); +const u8 gString_Help[] = _("HELP"); +const u8 gString_HelpSystem_ClearTo8[] = _("{CLEAR_TO 8}"); +const u8 gText_SpacePoints2[] = _(" points"); +const u8 gText_SpaceTimes3[] = _(" time(s)"); +const u8 gText_PkmnJumpRecords[] = _("POKéMON JUMP RECORDS"); +const u8 gText_JumpsInARow[] = _("Jumps in a row:"); +const u8 gText_BestScore2[] = _("Best score:"); +const u8 gText_ExcellentsInARow[] = _("EXCELLENTS in a row:"); +const u8 gText_AwesomeWonF701F700[] = _("Awesome score! You've\nwon {DYNAMIC 01} {DYNAMIC 00}!"); +const u8 gText_FilledStorageSpace2[] = _("There's no room left now."); +const u8 gText_CantHoldMore[] = _("You can't hold any more!"); +const u8 gText_WantToPlayAgain2[] = _("Want to play again?"); +const u8 gText_SomeoneDroppedOut2[] = _("Somebody dropped out.\nThe link will be canceled."); +const u8 gText_SavingDontTurnOffPower[] = _("SAVING…\nDON'T TURN OFF THE POWER."); +const u8 gText_CommunicationStandby4[] = _("Communication standby…"); +const u8 gText_SavingDontTurnOffPower2[] = _("SAVING...\nDON'T TURN OFF THE POWER."); // Unused +const u8 gText_BerryPickingRecords[] = _("DODRIO BERRY-PICKING RECORDS"); +const u8 gText_BerriesPicked[] = _("BERRIES picked:"); +const u8 gText_BestScore[] = _("Best score:"); +const u8 gText_BerriesInRowFivePlayers[] = _("BERRIES picked in a row with\nfive players:"); +const u8 gText_BerryPickingResults[] = _("Announcing BERRY-PICKING results!"); +const u8 gText_10P30P50P50P[] = _("10P 30P 50P {EXTRA 0xDD}50P"); +const u8 gText_AnnouncingRankings[] = _("Announcing rankings!"); +const u8 gText_AnnouncingPrizes[] = _("Announcing prizes!"); +const u8 gText_1Colon[] = _("1:"); +const u8 gText_2Colon[] = _("2:"); +const u8 gText_3Colon[] = _("3:"); +const u8 gText_4Colon[] = _("4:"); +const u8 gText_5Colon[] = _("5:"); +const u8 gText_FirstPlacePrize[] = _("The first-place winner gets\nthis {DYNAMIC 00}!"); +const u8 gText_CantHoldAnyMore[] = _("You can't hold any more..."); +const u8 gText_FilledStorageSpace[] = _("It filled its storage space."); +const u8 gText_WantToPlayAgain[] = _("Want to play again?"); +const u8 gText_SomeoneDroppedOut[] = _("Somebody dropped out.\nThe link will be canceled."); +const u8 gText_SpacePoints[] = _(" points"); +const u8 gText_CommunicationStandby3[] = _("Communication standby…"); +ALIGNED(4) const u8 gUnknown_841CE3C[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p"); +ALIGNED(4) const u8 gUnknown_841CE78[] = _("Please wait while each member\nchooses a BERRY."); +ALIGNED(4) const u8 gUnknown_841CEA8[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p"); +ALIGNED(4) const u8 gUnknown_841CF14[] = _("Recording your game results in the\nsave file.\nPlease wait."); +ALIGNED(4) const u8 gUnknown_841CF50[] = _("Want to play BERRY CRUSH again?"); +ALIGNED(4) const u8 gUnknown_841CF70[] = _("You have no BERRIES.\nThe game will be canceled."); +ALIGNED(4) const u8 gUnknown_841CFA0[] = _("A member dropped out.\nThe game will be canceled."); +ALIGNED(4) const u8 gUnknown_841CFD4[] = _("Time's up.\pGood BERRY POWDER could not be\nmade…\p"); +ALIGNED(4) const u8 gUnknown_841D008[] = _("Communication standby…"); +ALIGNED(4) const u8 gText_1_ClrLtGryShdwBlk_Dynamic0[] = _("1. {COLOR LIGHT_GRAY}{SHADOW BLACK}{DYNAMIC 0x00}"); +const u8 gText_1_Dynamic0[] = _("1. {DYNAMIC 0x00}"); +ALIGNED(4) const u8 gText_SpaceTimes[] = _(" times"); +ALIGNED(4) const u8 gText_XDotY[] = _("{STR_VAR_1}.{STR_VAR_2}"); +ALIGNED(4) const u8 gText_StrVar1Berry[] = _("{STR_VAR_1} BERRY"); +ALIGNED(4) const u8 gText_TimeColon[] = _("Time:"); +ALIGNED(4) const u8 gText_PressingSpeed[] = _("Pressing Speed:"); +const u8 gText_Silkiness[] = _("Silkiness:"); +ALIGNED(4) const u8 gText_StrVar1[] = _("{STR_VAR_1}"); +ALIGNED(4) const u8 gText_SpaceMin[] = _("min."); +ALIGNED(4) const u8 gText_XDotY2[] = _("{STR_VAR_1}.{STR_VAR_2}"); +ALIGNED(4) const u8 gText_SpaceSec[] = _("sec."); +ALIGNED(4) const u8 gText_XDotY3[] = _("{STR_VAR_1}.{STR_VAR_2}"); +ALIGNED(4) const u8 gText_TimesPerSec[] = _("Times/sec."); +ALIGNED(4) const u8 gText_Var1Percent[] = _("{STR_VAR_1}%"); +ALIGNED(4) const u8 gText_PressesRankings[] = _("No. of Presses Rankings"); +ALIGNED(4) const u8 gText_CrushingResults[] = _("Crushing Results"); +ALIGNED(4) const u8 gText_NeatnessRankings[] = _("Neatness Rankings"); +ALIGNED(4) const u8 gText_CooperativeRankings[] = _("Cooperative Rankings"); +ALIGNED(4) const u8 gText_PressingPowerRankings[] = _("Pressing-Power Rankings"); +const u8 gText_BerryCrush2[] = _("BERRY CRUSH"); +const u8 gText_PressingSpeedRankings[] = _("Pressing-Speed Rankings"); +const u8 gText_Var1Players[] = _("{STR_VAR_1} PLAYERS"); +ALIGNED(4) const u8 gText_Ghost[] = _("GHOST"); +const u8 gUnknown_841D14E[] = _("A POKéMON's on the hook!{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841D169[] = _("Not even a nibble‥{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841D17E[] = _("It got away‥{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841D18D[] = _("ROOFTOP"); +ALIGNED(4) const u8 gString_PokemonFireRed_Staff[] = _("Pokémon FireRed Version\nStaff"); +ALIGNED(4) const u8 gString_PokemonLeafGreen_Staff[] = _("Pokémon LeafGreen Version\nStaff"); +ALIGNED(4) const u8 gCreditsString_Director[] = _("\n\nDirector\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Junichi_Masuda[] = _("\n\n\nJunichi Masuda\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Art_Director_Battle_Director[] = _("\nArt Director\n\nBattle Director\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Ken_Sugimori_Shigeki_Morimoto[] = _("\n\nKen Sugimori\n\nShigeki Morimoto\n\n"); +ALIGNED(4) const u8 gCreditsString_Program_Leader_Planning_Leader_Graphic_Design_Leader[] = _("Program Leader\n\nPlanning Leader\n\nGraphic Design Leader\n\n"); +ALIGNED(4) const u8 gCreditsString_Tetsuya_Watanabe_Koji_Nishino_Takao_Unno[] = _("\nTetsuya Watanabe\n\nKoji Nishino\n\nTakao Unno\n"); +ALIGNED(4) const u8 gCreditsString_Programmers[] = _("Programmers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiroyuki_Nakamura_Masao_Taya_Satoshi_Nohara_Miyuki_Iwasawa_Daisuke_Goto[] = _("\nHiroyuki Nakamura\nMasao Taya\nSatoshi Nohara\nMiyuki Iwasawa\nDaisuke Goto\n"); +ALIGNED(4) const u8 gCreditsString_System_Programmers[] = _("System Programmers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Tetsuya_Watanabe_Akito_Mori_Hisashi_Sogabe_Sousuke_Tamada[] = _("\nTetsuya Watanabe\nAkito Mori\nHisashi Sogabe\nSousuke Tamada\n\n"); +ALIGNED(4) const u8 gCreditsString_Graphic_Designers[] = _("Graphic Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Takao_Unno_Asuka_Iwashita_Kanako_Eo_Hiroki_Fuchino[] = _("\nTakao Unno\nAsuka Iwashita\nKanako Eo\nHiroki Fuchino\n\n"); +ALIGNED(4) const u8 gCreditsString_Graphic_Designers_2[] = _("\nGraphic Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Ken_Sugimori_Hironobu_Yoshida[] = _("\n\nKen Sugimori\nHironobu Yoshida\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Music_Composition[] = _("\nMusic Composition\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Go_Ichinose_Junichi_Masuda[] = _("\n\nGo Ichinose\nJunichi Masuda\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Sound_Effects[] = _("\n\nSound Effects\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Go_Ichinose[] = _("\n\n\nGo Ichinose\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Game_Designers[] = _("\nGame Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Junichi_Masuda_Koji_Nishino_Tetsuji_Ohta[] = _("\n\nJunichi Masuda\nKoji Nishino\nTetsuji Ohta\n\n"); +ALIGNED(4) const u8 gCreditsString_Game_Designers_2[] = _("\nGame Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hitomi_Sato_Shigeru_Ohmori_Tadashi_Takahashi[] = _("\n\nHitomi Sato\nShigeru Ohmori\nTadashi Takahashi\n\n"); +ALIGNED(4) const u8 gCreditsString_Game_Scenario[] = _("\nGame Scenario\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hitomi_Sato_Satoshi_Tajiri[] = _("\n\nHitomi Sato\nSatoshi Tajiri\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Script_Designer_Map_Designer[] = _("\nScript Designer\n\nMap Designer\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoshi_Nohara_Shigeru_Ohmori[] = _("\n\nSatoshi Nohara\n\nShigeru Ohmori\n\n"); +ALIGNED(4) const u8 gCreditsString_Parametric_Designers[] = _("\nParametric Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Koji_Nishino_Tetsuji_Ohta_Shigeki_Morimoto[] = _("\n\nKoji Nishino\nTetsuji Ohta\nShigeki Morimoto\n\n"); +ALIGNED(4) const u8 gCreditsString_POKeDEX_Text[] = _("\n\nPOKéDEX Text\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Kenji_Matsushima[] = _("\n\n\nKenji Matsushima\n\n\n"); +ALIGNED(4) const u8 gCreditsString_POKeMON_Designers[] = _("POKéMON Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Ken_Sugimori_Motofumi_Fujiwara_Shigeki_Morimoto_Hironobu_Yoshida[] = _("\nKen Sugimori\nMotofumi Fujiwara\nShigeki Morimoto\nHironobu Yoshida\n\n"); +ALIGNED(4) const u8 gCreditsString_POKeMON_Designers_2[] = _("POKéMON Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoshi_Ohta_Asuka_Iwashita_Takao_Unno_Kanako_Eo_Aimi_Tomita[] = _("\nSatoshi Ohta\nAsuka Iwashita\nTakao Unno\nKanako Eo\nAimi Tomita\n"); +ALIGNED(4) const u8 gCreditsString_POKeMON_Designers_3[] = _("POKéMON Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Atsuko_Nishida_Muneo_Saito_Rena_Yoshikawa_Jun_Okutani[] = _("\nAtsuko Nishida\nMuneo Saito\nRena Yoshikawa\nJun Okutani\n\n"); +ALIGNED(4) const u8 gCreditsString_Supporting_Programmers[] = _("Supporting Programmers\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Teruyuki_Yoshioka_Takao_Nakano_Satoshi_Mitsuhara_Daisuke_Hoshino[] = _("\nTeruyuki Yoshioka\nTakao Nakano\n\nSatoshi Mitsuhara\nDaisuke Hoshino\n"); +ALIGNED(4) const u8 gCreditsString_NCL_Product_Testing[] = _("\n\nNCL Product Testing\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_NCL_Super_Mario_Club[] = _("\n\n\nNCL Super Mario Club\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiro_Nakamura_Hiroyuki_Uesugi_Teruki_Murakawa_Kazuya_Suyama[] = _("\nHiro Nakamura\nHiroyuki Uesugi\nTeruki Murakawa\n\nKazuya Suyama\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_2[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Kenji_Tominaga_Kenjiro_Ito_Tomotaka_Komura_Michiko_Takizawa[] = _("\nKenji Tominaga\n\nKenjiro Ito\nTomotaka Komura\nMichiko Takizawa\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_3[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Makiko_Takada_Mikiko_Ohashi_Shusaku_Egami_Takanao_Kondo_Rui_Kawaguchi[] = _("\nMakiko Takada\nMikiko Ohashi\nShusaku Egami\nTakanao Kondo\nRui Kawaguchi\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check[] = _("\n\nBraille Code Check\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Japan_Braille_Library[] = _("\n\n\nJapan Braille Library\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Information_Supervisors[] = _("Information Supervisors\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiroki_Enomoto_Kazuyuki_Terada_Yuri_Sakurai_Yumi_Funasaka_Naoko_Yanase[] = _("\nHiroki Enomoto\nKazuyuki Terada\nYuri Sakurai\nYumi Funasaka\nNaoko Yanase\n"); +ALIGNED(4) const u8 gCreditsString_Coordinators[] = _("Coordinators\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Azusa_Tajima_Akira_Kinashi_Kazuki_Yoshihara_Retsuji_Nomoto[] = _("\nAzusa Tajima\nAkira Kinashi\nKazuki Yoshihara\n\nRetsuji Nomoto\n"); +ALIGNED(4) const u8 gCreditsString_Task_Managers[] = _("\nTask Managers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hitoshi_Yamagami_Gakuji_Nomoto[] = _("\n\nHitoshi Yamagami\nGakuji Nomoto\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Producers[] = _("\nProducers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiroyuki_Jinnai_Takehiro_Izushi_Hiroaki_Tsuru[] = _("\n\nHiroyuki Jinnai\nTakehiro Izushi\nHiroaki Tsuru\n\n"); +ALIGNED(4) const u8 gCreditsString_Executive_Director[] = _("\n\nExecutive Director\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoshi_Tajiri[] = _("\n\n\nSatoshi Tajiri\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Executive_Producer[] = _("\n\nExecutive Producer\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoru_Iwata[] = _("\n\n\nSatoru Iwata\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Executive_Producer_2[] = _("\n\nExecutive Producer\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Tsunekaz_Ishihara[] = _("\n\n\nTsunekaz Ishihara\n\n\n"); +ALIGNED(4) const u8 gCreditsString_English_Version_Coordinators[] = _("\nEnglish Version Coordinators\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiro_Nakamura_Seth_McMahill[] = _("\n\nHiro Nakamura\nSeth McMahill\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Translator_Text_Editor[] = _("\nTranslator\n\nText Editor\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Nob_Ogasawara_Teresa_Lillygren[] = _("\n\nNob Ogasawara\n\nTeresa Lillygren\n\n"); +ALIGNED(4) const u8 gCreditsString_Programmers_2[] = _("Programmers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Teruki_Murakawa_Souichi_Yamamoto_Yuichiro_Ito_Akira_Kinashi[] = _("\nTeruki Murakawa\nSouichi Yamamoto\nYuichiro Ito\nAkira Kinashi\n\n"); +ALIGNED(4) const u8 gCreditsString_Environment_Tool_Programmers[] = _("\nEnvironment & Tool Programmers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Teruki_Murakawa_Souichi_Yamamoto_Kimiko_Nakamichi[] = _("\n\nTeruki Murakawa\nSouichi Yamamoto\nKimiko Nakamichi\n\n"); +ALIGNED(4) const u8 gCreditsString_NOA_Product_Testing[] = _("NOA Product Testing\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Thomas_Hertzog_Kathy_Huguenard_Mika_Kurosawa[] = _("\nThomas Hertzog\nKathy Huguenard\nMika Kurosawa\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check_2[] = _("Braille Code Check\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_National_Federation_of_the_Blind_Patricia_A_Maurer_Japan_Braille_Library_European_Blind_Union[] = _("\nNational Federation\n{CLEAR_TO 0x13}of the Blind\nPatricia A. Maurer\nJapan Braille Library\nEuropean Blind Union\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check_3[] = _("\nBraille Code Check\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_National_Information_Library_Service_Margaret_Campion[] = _("\n\nNational Information Library\n{CLEAR_TO 0x2D}Service\nMargaret Campion\n\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_4[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Takehiro_Izushi_Motoyasu_Tojima_Hitoshi_Yamagami_Hiroyuki_Uesugi[] = _("\nTakehiro Izushi\nMotoyasu Tojima\nHitoshi Yamagami\nHiroyuki Uesugi\n\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_5[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Nicola_Pratt_Barlow_Shellie_Dow_Anthony_Howitt_Naoko_Saeki_Kyoko_Onishi[] = _("\nNicola Pratt-Barlow\nShellie Dow\nAnthony Howitt\nNaoko Saeki\nKyoko Onishi\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check_4[] = _("\nBraille Code Check\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_The_Royal_New_Zealand_Foundation_of_the_Blind_Greg_Moran[] = _("\n\nThe Royal New Zealand\nFoundation of the Blind\nGreg Moran\n\n"); +ALIGNED(4) const u8 gCreditsString_Graphic_Designer[] = _("\n\nGraphic Designer\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Akira_Kinashi[] = _("\n\n\nAkira Kinashi\n\n\n"); +const u8 gJPText_MysteryGift[] = _(""); +const u8 gJPText_DecideStop[] = _(""); +const u8 gJPText_ReceiveMysteryGiftWithEReader[] = _(""); +const u8 gJPText_SelectConnectFromEReaderMenu[] = _(""); +const u8 gJPText_SelectConnectWithGBA[] = _(""); +const u8 gJPText_SelectConnectAndPressA[] = _("カ-ドeリ-ダ-{PLUS}の ‘つうしん'を\nえらんで Aボタンを おしてください"); +const u8 gJPText_LinkIsIncorrect[] = _(""); +const u8 gJPText_CardReadingHasBeenHalted[] = _(""); +const u8 gJPText_UnableConnectWithEReader[] = _("カ-ドeリ-ダ-{PLUS}と\nつうしん できません"); +const u8 gJPText_Connecting[] = _(""); +const u8 gJPText_ConnectionErrorCheckLink[] = _(""); +const u8 gJPText_ConnectionErrorTryAgain[] = _(""); +const u8 gJPText_AllowEReaderToLoadCard[] = _(""); +const u8 gJPText_ConnectionComplete[] = _(""); +const u8 gJPText_NewTrainerHasComeToSevii[] = _(""); +const u8 gJPText_PleaseWaitAMoment[] = _(""); +const u8 gJPText_WriteErrorUnableToSaveData[] = _(""); +const u8 gText_CommErrorCheckConnections[] = _("Communication error…\nPlease check all connections,\nthen turn the power OFF and ON."); +const u8 gText_CommErrorEllipsis[] = _("Communication error…"); +const u8 gText_MoveCloserToLinkPartner[] = _("Move closer to your link partner(s).\nAvoid obstacles between partners."); +const u8 gText_ABtnRegistrationCounter[] = _("A Button: Registration Counter"); +const u8 gText_ABtnTitleScreen[] = _("A Button: Title Screen"); +const u8 gUnknown_841DF82[] = _("{STR_VAR_1}P LINK"); +const u8 gUnknown_841DF8B[] = _("BRONZE"); +const u8 gUnknown_841DF92[] = _("COPPER"); +const u8 gUnknown_841DF99[] = _("SILVER"); +const u8 gUnknown_841DFA0[] = _("GOLD"); +const u8 gUnknown_841DFA5[] = _("{A_BUTTON}NEXT"); +const u8 gUnknown_841DFAC[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}END"); +const u8 gUnknown_841DFBE[] = _("{A_BUTTON}{B_BUTTON}CANCEL"); +const u8 gUnknown_841DFC9[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gEasyChatGroupName_Pokemon[] = _("POKéMON"); +const u8 gEasyChatGroupName_Trainer[] = _("TRAINER"); +const u8 gEasyChatGroupName_Status[] = _("STATUS"); +const u8 gEasyChatGroupName_Battle[] = _("BATTLE"); +const u8 gEasyChatGroupName_Greetings[] = _("GREETINGS"); +const u8 gEasyChatGroupName_People[] = _("PEOPLE"); +const u8 gEasyChatGroupName_Voices[] = _("VOICES"); +const u8 gEasyChatGroupName_Speech[] = _("SPEECH"); +const u8 gEasyChatGroupName_Endings[] = _("ENDINGS"); +const u8 gEasyChatGroupName_Feelings[] = _("FEELINGS"); +const u8 gEasyChatGroupName_Conditions[] = _("CONDITIONS"); +const u8 gEasyChatGroupName_Actions[] = _("ACTIONS"); +const u8 gEasyChatGroupName_Lifestyle[] = _("LIFESTYLE"); +const u8 gEasyChatGroupName_Hobbies[] = _("HOBBIES"); +const u8 gEasyChatGroupName_Time[] = _("TIME"); +const u8 gEasyChatGroupName_Misc[] = _("MISC."); +const u8 gEasyChatGroupName_Adjectives[] = _("ADJECTIVES"); +const u8 gEasyChatGroupName_Events[] = _("EVENTS"); +const u8 gEasyChatGroupName_Move1[] = _("MOVE 1"); +const u8 gEasyChatGroupName_Move2[] = _("MOVE 2"); +const u8 gEasyChatGroupName_TrendySaying[] = _("TRENDY SAYING"); +const u8 gEasyChatGroupName_Pokemon2[] = _("POKéMON2"); +const u8 gText_ThreeQuestionMarks[] = _("???"); +const u8 gText_UnusedEmpty[] = _(""); +const u8 gText_UnusedLv[] = _("Lv"); +const u8 gText_UnusedDashes[] = _("---"); +const u8 gUnknown_841E09F[] = _("????"); +const u8 gText_UnusedEmpty2[] = _(""); +const u8 gUnknown_841E0A5[] = _("Is this trade okay?"); +const u8 gTradeText_Cancel[] = _("CANCEL"); +const u8 gTradeText_ChooseAPokemon[] = _("Choose a POKéMON."); +const u8 gTradeText_Summary[] = _("SUMMARY"); +const u8 gTradeText_Trade[] = _("TRADE"); +const u8 gTradeText_CancelTrade[] = _("Cancel trade?"); +const u8 gTradeText_PressBButtonToExit[] = _("Press the B Button to exit."); +const u8 gUnknown_841E10A[] = _("SUMMARY"); +const u8 gUnknown_841E112[] = _("TRADE"); +const u8 gUnknown_841E118[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\nPlease wait."); +const u8 gUnknown_841E145[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled."); +const u8 gUnknown_841E16B[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\nfor battle."); +const u8 gUnknown_841E199[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\nto finish…"); +const u8 gUnknown_841E1C5[] = _("Your friend wants\nto trade POKéMON."); +const u8 gText_XWillBeSentToY[] = _("{STR_VAR_2} will be\nsent to {STR_VAR_1}."); +const u8 gText_ByeByeVar1[] = _("Bye-bye, {STR_VAR_2}!"); +const u8 gText_XSentOverY[] = _("{STR_VAR_1} sent over {STR_VAR_3}."); +const u8 gText_TakeGoodCareOfX[] = _("Take good care of {STR_VAR_3}!"); +const u8 gText_From[] = _("From "); +const u8 gUnknown_841E23A[] = _(""); +const u8 gUnknown_841E23B[] = _(""); +const u8 gUnknown_841E23C[] = _(""); +const u8 gUnknown_841E23D[] = _(""); +const u8 gUnknown_841E23E[] = _(""); +const u8 gUnknown_841E23F[] = _(""); +const u8 gUnknown_841E240[] = _(""); +const u8 gUnknown_841E241[] = _(""); +const u8 gUnknown_841E242[] = _(""); +const u8 gUnknown_841E243[] = _(""); +const u8 gUnknown_841E244[] = _(""); +const u8 gText_WirelessCommunicationStatus[] = _("Wireless Communication Status"); +const u8 gText_PeopleTrading[] = _("People trading:"); +const u8 gText_PeopleBattling[] = _("People battling:"); +const u8 gText_PeopleInUnionRoom[] = _("People in the UNION ROOM:"); +const u8 gText_PeopleCommunicating[] = _("People communicating:"); +const u8 gUnknown_841E2B4[] = _("{DYNAMIC 0x00} players"); +const u8 gUnknown_841E2BF[] = _("{DYNAMIC 0x01} player"); +const u8 gUnknown_841E2C9[] = _("{DYNAMIC 0x02} players"); +const u8 gUnknown_841E2D4[] = _("{DYNAMIC 0x03} players"); +const u8 gUnknown_841E2DF[] = _("{DPAD_ANY}えらぶ:{A_BUTTON}けってい"); +const u8 gUnknown_841E2EC[] = _("{B_BUTTON}CANCEL"); +const u8 gUnknown_841E2F5[] = _("{COLOR BLUE}{SHADOW YELLOW} たいせんの くみあわせ\n{COLOR RED}{SHADOW GREEN}じぶんの ばしょをきめて ください"); +const u8 gUnknown_841E322[] = _("{ID}"); +const u8 gText_CommunicationStandby5[] = _("Communication standby…"); +const u8 gDaycareText_GetAlongVeryWell[] = _("The two seem to get along\nvery well."); +const u8 gDaycareText_GetAlong[] = _("The two seem to get along."); +const u8 gDaycareText_DontLikeOther[] = _("The two don't seem to like\neach other much."); +const u8 gDaycareText_PlayOther[] = _("The two prefer to play with other\nPOKéMON than each other."); +const u8 gText_TeachWhichMoveToMon[] = _("Teach which move to {STR_VAR_1}?"); +const u8 gText_TeachMoveQues[] = _("Teach {STR_VAR_2}?"); +const u8 gText_MonLearnedMove[] = _("{STR_VAR_1} learned\n{STR_VAR_2}."); +const u8 gText_MonIsTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?"); +const u8 gText_StopLearningMove[] = _("Stop learning {STR_VAR_2}?"); +const u8 gText_1_2_and_Poof[] = _("{PAUSE 0x20}1, {PAUSE 0x0F}2, and {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}{PLAY_SE SE_KON}Poof!\p"); +const u8 gText_MonForgotOldMoveAndMonLearnedNewMove[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd‥\p{STR_VAR_1}\nlearned {STR_VAR_2}."); +const u8 gText_GiveUpTryingToTeachNewMove[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); +const u8 gText_WhichMoveShouldBeForgotten[] = _("Which move should be forgotten?\p"); +const u8 gUnknown_841E52D[] = _("----------"); +const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby‥\nAwaiting another player to choose."); +const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 0x3C}"); +const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 0x3C}"); +const u8 gFameCheckerText_MainScreenUI[] = _("{START_BUTTON}PICK {DPAD_UPDOWN}SELECT {A_BUTTON}OK"); +const u8 gFameCheckerText_PickScreenUI[] = _("{START_BUTTON}PICK {DPAD_UPDOWN}SELECT {B_BUTTON}CANCEL"); +const u8 gFameCheckerText_FlavorTextUI[] = _("{DPAD_ANY}PICK {A_BUTTON}READ {B_BUTTON}CANCEL"); +const u8 gFameCheckerOakName[] = _("OAK"); +const u8 gFameCheckerDaisyName[] = _("DAISY"); +const u8 gFameCheckerBillName[] = _("BILL"); +const u8 gFameCheckerMrFujiName[] = _("FUJI"); +const u8 gText_VarietyOfEventsImportedWireless[] = _("A variety of events will be imported\nover Wireless Communication."); +const u8 gText_WonderCardsInPossession[] = _("Read the WONDER CARDS in your\npossession."); +const u8 gText_ReadNewsThatArrived[] = _("Read the NEWS that arrived."); +const u8 gText_ReturnToTitle[] = _("Return to the title screen."); +const u8 gText_DontHaveCardNewOneInput[] = _("You don't have a WONDER CARD,\nso a new CARD will be input."); +const u8 gText_DontHaveNewsNewOneInput[] = _("You don't have any WONDER NEWS,\nso new NEWS will be input."); +const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?"); +const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?"); +const u8 gUnknown_841E76B[] = _("Link standby...\n... ... B Button: Cancel"); +const u8 gText_Communicating[] = _("Communicating…"); +const u8 gText_CommunicationCompleted[] = _("Communication completed."); +const u8 gText_CommunicationError[] = _("Communication error."); +const u8 gText_CommunicationCanceled[] = _("Communication has been canceled."); +const u8 gText_ThrowAwayWonderCard[] = _("Throw away the WONDER CARD\nand input a new CARD?"); +const u8 gText_HaventReceivedCardsGift[] = _("You haven't received the CARD's gift\nyet. Input a new CARD anyway?"); +const u8 gText_WonderCardReceivedFrom[] = _("A WONDER CARD has been received\nfrom {STR_VAR_1}."); +const u8 gText_WonderNewsReceivedFrom[] = _("A WONDER NEWS item has been\nreceived from {STR_VAR_1}."); +const u8 gText_WonderCardReceived[] = _("A new WONDER CARD has been\nreceived."); +const u8 gText_WonderNewsReceived[] = _("A new WONDER NEWS item has been\nreceived."); +const u8 gText_NewStampReceived[] = _("A new STAMP has been received."); +const u8 gText_NewTrainerReceived[] = _("A new TRAINER has arrived."); +const u8 gText_AlreadyHadCard[] = _("You already had that\nWONDER CARD."); +const u8 gText_AlreadyHadNews[] = _("You already had that\nWONDER NEWS item."); +const u8 gText_AlreadyHadStamp[] = _("You already had that\nSTAMP."); +const u8 gText_NoMoreRoomForStamps[] = _("There's no more room for adding\nSTAMPS."); +const u8 gText_RecordUploadedViaWireless[] = _("Your record has been uploaded via\nWIRELESS COMMUNICATION."); +const u8 gText_CantAcceptCardFromTrainer[] = _("You can't accept a WONDER CARD\nfrom this TRAINER."); +const u8 gText_CantAcceptNewsFromTrainer[] = _("You can't accept WONDER NEWS\nfrom this TRAINER."); +const u8 gText_NothingSentOver[] = _("Nothing was sent over…"); +const u8 gText_WhatToDoWithCards[] = _("What would you like to do\nwith the WONDER CARDS?"); +const u8 gText_WhatToDoWithNews[] = _("What would you like to do\nwith the WONDER NEWS?"); +const u8 gText_SendingWonderCard[] = _("Sending your WONDER CARD…"); +const u8 gText_SendingWonderNews[] = _("Sending your WONDER NEWS item…"); +const u8 gText_WonderCardSentTo[] = _("Your WONDER CARD has been sent\nto {STR_VAR_1}."); +const u8 gText_WonderNewsSentTo[] = _("Your WONDER NEWS item has been\nsent to {STR_VAR_1}."); +const u8 gText_StampSentTo[] = _("A STAMP has been sent to {STR_VAR_1}."); +const u8 gText_GiftSentTo[] = _("A GIFT has been sent to {STR_VAR_1}."); +const u8 gText_OtherTrainerHasCard[] = _("The other TRAINER has the same\nWONDER CARD already."); +const u8 gText_OtherTrainerHasNews[] = _("The other TRAINER has the same\nWONDER NEWS already."); +const u8 gText_OtherTrainerHasStamp[] = _("The other TRAINER has the same\nSTAMP already."); +const u8 gText_OtherTrainerCanceled[] = _("The other TRAINER canceled\ncommunication."); +const u8 gText_CantSendGiftToTrainer[] = _("You can't send a MYSTERY GIFT to\nthis TRAINER."); +const u8 gText_IfThrowAwayCardEventWontHappen[] = _("If you throw away the CARD,\nits event won't happen. Okay?"); +const u8 gText_OkayToDiscardNews[] = _("Is it okay to discard this\nNEWS item?"); +const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("You haven't received the\nGIFT. Is it okay to discard?"); +const u8 gText_DataWillBeSaved[] = _("Data will be saved.\nPlease wait."); +const u8 gText_SaveCompletedPressA[] = _("Save completed.\nPlease press the A Button."); +const u8 gText_WonderCardThrownAway[] = _("The WONDER CARD was thrown away."); +const u8 gText_WonderNewsThrownAway[] = _("The WONDER NEWS was thrown away."); +const u8 gText_MysteryGift2[] = _("MYSTERY GIFT"); +const u8 gText_PickOKCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}EXIT"); +const u8 gText_WonderCards[] = _("WONDER CARDS"); +const u8 gText_WonderNews[] = _("WONDER NEWS"); +const u8 gText_WirelessCommunication[] = _("WIRELESS COMMUNICATION"); +const u8 gText_Friend2[] = _("FRIEND"); +const u8 gText_Exit3[] = _("EXIT"); +const u8 gText_Receive[] = _("RECEIVE"); +const u8 gText_Send[] = _("SEND"); +const u8 gText_Toss[] = _("TOSS"); +const u8 gUnknown_841EE2B[] = _("DEL. ALL{CLEAR_TO 0x57}CANCEL{CLEAR_TO 0xA4}OK"); 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/tm_case.c b/src/tm_case.c index 04729345f..2f27cc0db 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -797,7 +797,7 @@ static void Task_SelectTMAction_FromFieldBag(u8 taskId) Menu_InitCursor(sTMCaseDynamicResources->contextMenuWindowId, 2, 0, 2, GetFontAttribute(2, 1) + 2, sTMCaseDynamicResources->numMenuActions, 0); strbuf = Alloc(256); GetTMNumberAndMoveString(strbuf, gSpecialVar_ItemId); - StringAppend(strbuf, gText_IsSelected); + StringAppend(strbuf, gText_Var1IsSelected + 2); // +2 skips over the stringvar AddTextPrinterParameterized_ColorByIndex(2, 2, strbuf, 0, 2, 1, 0, 0, 1); Free(strbuf); if (itemid_is_unique(gSpecialVar_ItemId)) 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) diff --git a/src/trainer_see.c b/src/trainer_see.c index 06fd60442..64e2f8e5a 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -544,7 +544,7 @@ void MovementAction_RevealTrainer_RunTrainerSeeFuncList(struct ObjectEvent *var) StoreWordInTwoHalfwords((u16 *)&gTasks[CreateTask(Task_RevealTrainer_RunTrainerSeeFuncList, 0)].data[1], (u32)var); } -void ScrSpecial_EndTrainerApproach(void) +void EndTrainerApproach(void) { StartTrainerApproachWithFollowupTask(Task_DestroyTrainerApproachTask); } diff --git a/src/vs_seeker.c b/src/vs_seeker.c index f60e22f96..b44214ec0 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -27,6 +27,13 @@ #include "constants/items.h" #include "constants/quest_log.h" +enum +{ + VSSEEKER_NOT_CHARGED, + VSSEEKER_NO_ONE_IN_RANGE, + VSSEEKER_CAN_USE, +}; + typedef enum { VSSEEKER_RESPONSE_NO_RESPONSE, @@ -735,17 +742,17 @@ void Task_VsSeeker_0(u8 taskId) sVsSeeker = AllocZeroed(sizeof(struct VsSeekerStruct)); GatherNearbyTrainerInfo(); respval = CanUseVsSeeker(); - if (respval == 0) + if (respval == VSSEEKER_NOT_CHARGED) { Free(sVsSeeker); - DisplayItemMessageOnField(taskId, 2, gUnknown_81C137C, sub_80A1E0C); + DisplayItemMessageOnField(taskId, 2, VSSeeker_Text_BatteryNotChargedNeedXSteps, sub_80A1E0C); } - else if (respval == 1) + else if (respval == VSSEEKER_NO_ONE_IN_RANGE) { Free(sVsSeeker); - DisplayItemMessageOnField(taskId, 2, gUnknown_81C13D6, sub_80A1E0C); + DisplayItemMessageOnField(taskId, 2, VSSeeker_Text_NoTrainersWithinRange, sub_80A1E0C); } - else if (respval == 2) + else if (respval == VSSEEKER_CAN_USE) { ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, 0, gSpecialVar_ItemId, 0xffff); FieldEffectStart(FLDEFF_USE_VS_SEEKER); @@ -814,13 +821,13 @@ static void Task_VsSeeker_3(u8 taskId) { if (ScriptMovement_IsObjectMovementFinished(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup)) { - if (sVsSeeker->responseCode == 0) + if (sVsSeeker->responseCode == VSSEEKER_RESPONSE_NO_RESPONSE) { - DisplayItemMessageOnField(taskId, 2, gUnknown_81C1429, sub_80A1E0C); + DisplayItemMessageOnField(taskId, 2, VSSeeker_Text_TrainersNotReady, sub_80A1E0C); } else { - if (sVsSeeker->responseCode == 2) + if (sVsSeeker->responseCode == VSSEEKER_RESPONSE_FOUND_REMATCHES) StartAllRespondantIdleMovements(); ClearDialogWindowAndFrame(0, 1); sub_80696C0(); @@ -831,20 +838,20 @@ static void Task_VsSeeker_3(u8 taskId) } } -u8 CanUseVsSeeker(void) +static u8 CanUseVsSeeker(void) { u8 vsSeekerChargeSteps = gSaveBlock1Ptr->trainerRematchStepCounter; if (vsSeekerChargeSteps == 100) { if (GetRematchableTrainerLocalId() == 0xFF) - return 1; + return VSSEEKER_NO_ONE_IN_RANGE; else - return 2; + return VSSEEKER_CAN_USE; } else { TV_PrintIntToStringVar(0, 100 - vsSeekerChargeSteps); - return 0; + return VSSEEKER_NOT_CHARGED; } } @@ -928,11 +935,11 @@ static u8 GetVsSeekerResponseInArea(const VsSeekerData * a0) PlaySE(SE_PIN); FlagSet(FLAG_SYS_VS_SEEKER_CHARGING); sub_810C640(); - return 2; + return VSSEEKER_RESPONSE_FOUND_REMATCHES; } if (sVsSeeker->trainerHasNotYetBeenFought) - return 1; - return 0; + return VSSEEKER_RESPONSE_UNFOUGHT_TRAINERS; + return VSSEEKER_RESPONSE_NO_RESPONSE; } void sub_810CB90(void) @@ -1079,7 +1086,7 @@ s32 GetRematchTrainerId(u16 a0) return sVsSeekerData[i].trainerIdxs[j]; } -u8 ScrSpecial_GetTrainerEyeRematchFlag(void) // unreferenced, or reference not disassembled +u8 IsTrainerReadyForRematch(void) { return sub_810CED0(sVsSeekerData, gTrainerBattleOpponent_A); } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index b3605db47..cf495db56 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -387,7 +387,7 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi return FALSE; } - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } else @@ -396,7 +396,7 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi // try a regular wild land encounter if (TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_REPEL) == TRUE) { - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } else @@ -426,14 +426,14 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi return FALSE; } - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } else // try a regular surfing encounter { if (TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, WILD_CHECK_REPEL) == TRUE) { - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } else @@ -447,7 +447,7 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi return FALSE; } -void ScrSpecial_RockSmashWildEncounter(void) +void RockSmashWildEncounter(void) { u16 headerIdx = GetCurrentMapWildMonHeaderId(); if (headerIdx == 0xFFFF) @@ -458,7 +458,7 @@ void ScrSpecial_RockSmashWildEncounter(void) gSpecialVar_Result = FALSE; else if (TryGenerateWildMon(gWildMonHeaders[headerIdx].rockSmashMonsInfo, WILD_AREA_ROCKS, WILD_CHECK_REPEL) == TRUE) { - BattleSetup_StartWildBattle(); + StartWildBattle(); gSpecialVar_Result = TRUE; } else @@ -478,7 +478,7 @@ bool8 SweetScentWildEncounter(void) { if (TryStartRoamerEncounter() == TRUE) { - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } @@ -487,14 +487,14 @@ bool8 SweetScentWildEncounter(void) TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0); - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } else if (MapGridGetMetatileAttributeAt(x, y, 4) == 2) { if (TryStartRoamerEncounter() == TRUE) { - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } @@ -502,7 +502,7 @@ bool8 SweetScentWildEncounter(void) return FALSE; TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, 0); - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } } @@ -524,7 +524,7 @@ void FishingWildEncounter(u8 rod) { GenerateFishingEncounter(gWildMonHeaders[GetCurrentMapWildMonHeaderId()].fishingMonsInfo, rod); IncrementGameStat(GAME_STAT_FISHING_CAPTURES); - BattleSetup_StartWildBattle(); + StartWildBattle(); } u16 GetLocalWildMon(bool8 *isWaterMon) diff --git a/src/wild_pokemon_area.c b/src/wild_pokemon_area.c index 3c5afaf25..28c07abc7 100644 --- a/src/wild_pokemon_area.c +++ b/src/wild_pokemon_area.c @@ -244,7 +244,7 @@ static s32 CountRoamerNests(u16 species, struct Subsprite * subsprites) roamerIdx = GetRoamerIndex(species); if (roamerIdx < 0) return 0; - if (sRoamerPairs[roamerIdx].starter != ScrSpecial_GetStarter()) + if (sRoamerPairs[roamerIdx].starter != GetStarterSpecies()) return 0; roamerLocation = GetRoamerLocationMapSectionId(); dexAreaEntryLUTidx = 0; diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 7267d4ace..a284a6d16 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -171,7 +171,7 @@ static void VBlankCB_WirelessCommunicationScreen(void) TransferPlttBuffer(); } -void Special_WirelessCommunicationScreen(void) +void ShowWirelessCommunicationScreen(void) { SetMainCallback2(CB2_InitWirelessCommunicationScreen); } |