diff --git a/asm/macros/scrcmd.inc b/asm/macros/scrcmd.inc index 7a5e7ec146..179013a933 100644 --- a/asm/macros/scrcmd.inc +++ b/asm/macros/scrcmd.inc @@ -58,6 +58,7 @@ #include "constants/tv_broadcast.h" #include "constants/union_room_message_types.h" #include "constants/villa_visitors.h" +#include "constants/vs_seeker.h" #include "data/scripts/scrcmd.h" #include "macros/movement.inc" @@ -3020,9 +3021,9 @@ .short SCRCMD_REMOVEPOKEMONPREVIEW .endm - .macro ScrCmd_20A arg0 - .short SCRCMD_20A - .short \arg0 + .macro StartVsSeeker destVar + .short SCRCMD_STARTVSSEEKER + .short \destVar .endm .macro SetMoveCodeForFacingDirection diff --git a/generated/vars_flags.txt b/generated/vars_flags.txt index ed7df632fc..d39f4d2b14 100644 --- a/generated/vars_flags.txt +++ b/generated/vars_flags.txt @@ -112,7 +112,7 @@ FLAG_UNK_0x006E FLAG_UNK_0x006F FLAG_CHOSE_UNION_ROOM_APPEARANCE FLAG_UNK_0x0071 -FLAG_UNK_0x0072 +FLAG_TALKED_TO_SCRATCH_OFF_CARDS_ATTENDANT FLAG_DUMMY_0x0073 FLAG_OBTAINED_GARDENIA_TM86 FLAG_OBTAINED_ROARK_TM76 diff --git a/include/constants/tv_broadcast.h b/include/constants/tv_broadcast.h index f04c944734..7826081b71 100644 --- a/include/constants/tv_broadcast.h +++ b/include/constants/tv_broadcast.h @@ -36,13 +36,18 @@ #define TV_PROGRAM_TYPE_VARIETY_HOUR_NUM_SEGMENTS 8 // Interview Segments +#define TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_01 1 #define TV_PROGRAM_SEGMENT_BATTLE_TOWER_CORNER 2 +#define TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_03 3 #define TV_PROGRAM_SEGMENT_YOUR_POKEMON_CORNER 4 +#define TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_05 5 #define TV_PROGRAM_SEGMENT_THE_POKETCH_WATCH 6 #define TV_PROGRAM_SEGMENT_CONTEST_HALL 7 +#define TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_08 8 #define TV_PROGRAM_SEGMENT_RIGHT_ON_PHOTO_CORNER 9 #define TV_PROGRAM_SEGMENT_STREET_CORNER_PERSONALITY_CHECKUP 10 #define TV_PROGRAM_SEGMENT_THREE_CHEERS_FOR_POFFIN_CORNER 11 +#define TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_12 12 #define TV_PROGRAM_SEGMENT_AMITY_SQUARE_WATCH 13 #define TV_PROGRAM_SEGMENT_BATTLE_FRONTIER_FRONTLINE_NEWS_SINGLE 14 #define TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_1 15 diff --git a/include/constants/vs_seeker.h b/include/constants/vs_seeker.h new file mode 100644 index 0000000000..42b63cb80f --- /dev/null +++ b/include/constants/vs_seeker.h @@ -0,0 +1,9 @@ +#ifndef POKEPLATIUM_CONSTANTS_VS_SEEKER_H +#define POKEPLATIUM_CONSTANTS_VS_SEEKER_H + +#define VS_SEEKER_USE_RESULT_OK 0 +#define VS_SEEKER_USE_RESULT_NO_BATTERY 1 +#define VS_SEEKER_USE_RESULT_NO_TRAINERS 2 +#define VS_SEEKER_USE_RESULT_NO_TRAINERS_PICKED 3 // No trainers were picked for a rematch (e.g. all the random chances failed) + +#endif // POKEPLATIUM_CONSTANTS_VS_SEEKER_H diff --git a/include/data/scripts/scrcmd.h b/include/data/scripts/scrcmd.h index edbd78ab25..86fe02b350 100644 --- a/include/data/scripts/scrcmd.h +++ b/include/data/scripts/scrcmd.h @@ -527,7 +527,7 @@ ScriptCommand(SCRCMD_STARTGREATMARSHLOOKOUT, ScrCm ScriptCommand(SCRCMD_GETCURNETID, ScrCmd_GetCurNetID) ScriptCommand(SCRCMD_DRAWPOKEMONPREVIEW, ScrCmd_DrawPokemonPreview) ScriptCommand(SCRCMD_REMOVEPOKEMONPREVIEW, ScrCmd_RemovePokemonPreview) -ScriptCommand(SCRCMD_20A, ScrCmd_20A) +ScriptCommand(SCRCMD_STARTVSSEEKER, ScrCmd_StartVsSeeker) ScriptCommand(SCRCMD_SETMOVECODEFORFACINGDIRECTION, ScrCmd_SetMoveCodeForFacingDirection) ScriptCommand(SCRCMD_MESSAGEFROMTRAINERTYPE, ScrCmd_MessageFromTrainerType) ScriptCommand(SCRCMD_20D, ScrCmd_20D) diff --git a/res/field/scripts/scripts_scratch_off_cards.s b/res/field/scripts/scripts_scratch_off_cards.s index 820a7135f6..e591771863 100644 --- a/res/field/scripts/scripts_scratch_off_cards.s +++ b/res/field/scripts/scripts_scratch_off_cards.s @@ -2,51 +2,51 @@ #include "res/text/bank/scratch_off_cards.h" - ScriptEntry _0006 + ScriptEntry ScratchOffCards_BattleFrontierAttendant ScriptEntryEnd -_0006: +ScratchOffCards_BattleFrontierAttendant: PlaySE SEQ_SE_CONFIRM LockAll FacePlayer ShowBattlePoints 21, 1 - GoToIfSet FLAG_UNK_0x0072, _0031 - SetFlag FLAG_UNK_0x0072 + GoToIfSet FLAG_TALKED_TO_SCRATCH_OFF_CARDS_ATTENDANT, ScratchOffCards_WouldYouLikeCards + SetFlag FLAG_TALKED_TO_SCRATCH_OFF_CARDS_ATTENDANT BufferNumber 0, 1 - Message 15 - GoTo _0041 + Message ScratchOffCards_Text_IntroduceScratchOffCards + GoTo ScratchOffCards_Menu End -_0031: +ScratchOffCards_WouldYouLikeCards: BufferNumber 0, 1 - Message 0 - GoTo _0041 + Message ScratchOffCards_Text_WouldYouLikeCards + GoTo ScratchOffCards_Menu End -_0041: - Message 1 +ScratchOffCards_Menu: + Message ScratchOffCards_Text_WillYouBuyCards InitLocalTextMenu 30, 11, 0, VAR_RESULT SetMenuXOriginToRight - AddMenuEntryImm 2, 0 - AddMenuEntryImm 3, 1 - AddMenuEntryImm 4, 2 + AddMenuEntryImm ScratchOffCards_Text_Scratch, 0 + AddMenuEntryImm ScratchOffCards_Text_Info, 1 + AddMenuEntryImm ScratchOffCards_Text_Cancel, 2 ShowMenu SetVar VAR_0x8008, VAR_RESULT - GoToIfEq VAR_0x8008, 0, _0085 - GoToIfEq VAR_0x8008, 1, _015D - GoTo _0152 + GoToIfEq VAR_0x8008, 0, ScratchOffCards_TryBuyCards + GoToIfEq VAR_0x8008, 1, ScratchOffCards_Info + GoTo ScratchOffCards_PleaseVisitAgain End -_0085: +ScratchOffCards_TryBuyCards: BufferNumber 2, 1 - Message 7 + Message ScratchOffCards_Text_XBPForThreeCards ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_NO, _0152 + GoToIfEq VAR_RESULT, MENU_NO, ScratchOffCards_PleaseVisitAgain CheckBattlePoints 1, VAR_RESULT - GoToIfEq VAR_RESULT, 0, _0147 + GoToIfEq VAR_RESULT, 0, ScratchOffCards_NotEnoughBP RemoveBattlePoints 1 UpdateBPDisplay - Message 10 + Message ScratchOffCards_Text_SelectThreeCards FadeScreenOut WaitFadeScreen HideBattlePoints @@ -60,110 +60,110 @@ _0085: FadeScreenIn WaitFadeScreen SetVar VAR_0x8000, 0 - Call _017A - GoToIfEq VAR_0x8000, 0, _01AB + Call ScratchOffCards_GetNumCardsWon + GoToIfEq VAR_0x8000, 0, ScratchOffCards_NoCardsWon BufferNumber 0, VAR_0x8000 - Message 11 - CallIfNe VAR_MAP_LOCAL_1, 0, _01B6 - CallIfNe VAR_MAP_LOCAL_3, 0, _0200 - CallIfNe VAR_MAP_LOCAL_5, 0, _024A - Message 5 - GoTo _0172 + Message ScratchOffCards_Text_YouWonOnXCards + CallIfNe VAR_MAP_LOCAL_1, 0, ScratchOffCards_HandleCard0Prize + CallIfNe VAR_MAP_LOCAL_3, 0, ScratchOffCards_HandleCard1Prize + CallIfNe VAR_MAP_LOCAL_5, 0, ScratchOffCards_HandleCard2Prize + Message ScratchOffCards_Text_PleaseVisitAgain + GoTo ScratchOffCards_End End -_0147: - Message 14 - GoTo _0168 +ScratchOffCards_NotEnoughBP: + Message ScratchOffCards_Text_NotEnoughBP + GoTo ScratchOffCards_HideBattlePoints End -_0152: - Message 5 - GoTo _0168 +ScratchOffCards_PleaseVisitAgain: + Message ScratchOffCards_Text_PleaseVisitAgain + GoTo ScratchOffCards_HideBattlePoints End -_015D: - Message 6 - GoTo _0041 +ScratchOffCards_Info: + Message ScratchOffCards_Text_ScratchOffCardsInfo + GoTo ScratchOffCards_Menu End -_0168: +ScratchOffCards_HideBattlePoints: WaitButton CloseMessage HideBattlePoints ReleaseAll End -_0172: +ScratchOffCards_End: WaitButton CloseMessage ReleaseAll End -_017A: - CallIfNe VAR_MAP_LOCAL_1, 0, _01A3 - CallIfNe VAR_MAP_LOCAL_3, 0, _01A3 - CallIfNe VAR_MAP_LOCAL_5, 0, _01A3 +ScratchOffCards_GetNumCardsWon: + CallIfNe VAR_MAP_LOCAL_1, 0, ScratchOffCards_IncreaseVarCardsWon + CallIfNe VAR_MAP_LOCAL_3, 0, ScratchOffCards_IncreaseVarCardsWon + CallIfNe VAR_MAP_LOCAL_5, 0, ScratchOffCards_IncreaseVarCardsWon Return -_01A3: +ScratchOffCards_IncreaseVarCardsWon: AddVar VAR_0x8000, 1 Return -_01AB: - Message 5 - GoTo _0172 +ScratchOffCards_NoCardsWon: + Message ScratchOffCards_Text_PleaseVisitAgain + GoTo ScratchOffCards_End End -_01B6: - GoToIfGt VAR_MAP_LOCAL_1, 1, _01CE +ScratchOffCards_HandleCard0Prize: + GoToIfGt VAR_MAP_LOCAL_1, 1, ScratchOffCards_BufferCard0PrizePlural BufferItemName 0, VAR_MAP_LOCAL_0 - GoTo _01D3 + GoTo ScratchOffCards_TryGiveCard0Prize -_01CE: +ScratchOffCards_BufferCard0PrizePlural: BufferItemNamePlural 0, VAR_MAP_LOCAL_0 -_01D3: +ScratchOffCards_TryGiveCard0Prize: BufferNumber 1, VAR_MAP_LOCAL_1 - GoToIfCannotFitItem VAR_MAP_LOCAL_0, VAR_MAP_LOCAL_1, VAR_RESULT, _0294 + GoToIfCannotFitItem VAR_MAP_LOCAL_0, VAR_MAP_LOCAL_1, VAR_RESULT, ScratchOffCards_NoRoomForItem PlayFanfare SEQ_FANFA4 - Message 13 + Message ScratchOffCards_Text_ReceivedXItems AddItem VAR_MAP_LOCAL_0, VAR_MAP_LOCAL_1, VAR_RESULT WaitFanfare Return -_0200: - GoToIfGt VAR_MAP_LOCAL_3, 1, _0218 +ScratchOffCards_HandleCard1Prize: + GoToIfGt VAR_MAP_LOCAL_3, 1, ScratchOffCards_BufferCard1PrizePlural BufferItemName 0, VAR_MAP_LOCAL_2 - GoTo _021D + GoTo ScratchOffCards_TryGiveCard1Prize -_0218: +ScratchOffCards_BufferCard1PrizePlural: BufferItemNamePlural 0, VAR_MAP_LOCAL_2 -_021D: +ScratchOffCards_TryGiveCard1Prize: BufferNumber 1, VAR_MAP_LOCAL_3 - GoToIfCannotFitItem VAR_MAP_LOCAL_2, VAR_MAP_LOCAL_3, VAR_RESULT, _0294 + GoToIfCannotFitItem VAR_MAP_LOCAL_2, VAR_MAP_LOCAL_3, VAR_RESULT, ScratchOffCards_NoRoomForItem PlayFanfare SEQ_FANFA4 - Message 13 + Message ScratchOffCards_Text_ReceivedXItems AddItem VAR_MAP_LOCAL_2, VAR_MAP_LOCAL_3, VAR_RESULT WaitFanfare Return -_024A: - GoToIfGt VAR_MAP_LOCAL_5, 1, _0262 +ScratchOffCards_HandleCard2Prize: + GoToIfGt VAR_MAP_LOCAL_5, 1, ScratchOffCards_BufferCard2PrizePlural BufferItemName 0, VAR_MAP_LOCAL_4 - GoTo _0267 + GoTo ScratchOffCards_TryGiveCard2Prize -_0262: +ScratchOffCards_BufferCard2PrizePlural: BufferItemNamePlural 0, VAR_MAP_LOCAL_4 -_0267: +ScratchOffCards_TryGiveCard2Prize: BufferNumber 1, VAR_MAP_LOCAL_5 - GoToIfCannotFitItem VAR_MAP_LOCAL_4, VAR_MAP_LOCAL_5, VAR_RESULT, _0294 + GoToIfCannotFitItem VAR_MAP_LOCAL_4, VAR_MAP_LOCAL_5, VAR_RESULT, ScratchOffCards_NoRoomForItem PlayFanfare SEQ_FANFA4 - Message 13 + Message ScratchOffCards_Text_ReceivedXItems AddItem VAR_MAP_LOCAL_4, VAR_MAP_LOCAL_5, VAR_RESULT WaitFanfare Return -_0294: - Message 12 +ScratchOffCards_NoRoomForItem: + Message ScratchOffCards_Text_NoRoomForItem Return .balign 4, 0 diff --git a/res/field/scripts/scripts_tv_reporter_interviews.s b/res/field/scripts/scripts_tv_reporter_interviews.s index 351ae690af..002dca3db8 100644 --- a/res/field/scripts/scripts_tv_reporter_interviews.s +++ b/res/field/scripts/scripts_tv_reporter_interviews.s @@ -2,122 +2,122 @@ #include "res/text/bank/tv_reporter_interviews.h" - ScriptEntry _004E - ScriptEntry _005A - ScriptEntry _0066 - ScriptEntry _0072 - ScriptEntry _007E - ScriptEntry _008A - ScriptEntry _0096 - ScriptEntry _00A2 - ScriptEntry _00AE - ScriptEntry _00BA - ScriptEntry _00C6 - ScriptEntry _00D2 - ScriptEntry _00DE - ScriptEntry _00EA - ScriptEntry _00F6 - ScriptEntry _0129 - ScriptEntry _0135 - ScriptEntry _0141 - ScriptEntry _014D + ScriptEntry TVReporterInterviews_UnusedEntry10150 + ScriptEntry TVReporterInterviews_BattleTower + ScriptEntry TVReporterInterviews_UnusedEntry10152 + ScriptEntry TVReporterInterviews_HearthomeCityPokemonFanClub + ScriptEntry TVReporterInterviews_UnusedEntry10154 + ScriptEntry TVReporterInterviews_PoketchCo1F + ScriptEntry TVReporterInterviews_ContestHallLobby + ScriptEntry TVReporterInterviews_UnusedEntry10157 + ScriptEntry TVReporterInterviews_JubilifeTV2F + ScriptEntry TVReporterInterviews_CanalaveCityWestHouse + ScriptEntry TVReporterInterviews_PoffinHouse + ScriptEntry TVReporterInterviews_UnusedEntry10161 + ScriptEntry TVReporterInterviews_HearthomeCityGates + ScriptEntry TVReporterInterviews_BattleHall + ScriptEntry TVReporterInterviews_Route214GateToVeilstoneCity + ScriptEntry TVReporterInterviews_SetSegmentInYourFace2 + ScriptEntry TVReporterInterviews_SetSegmentInYourFace3 + ScriptEntry TVReporterInterviews_SetSegmentInYourFace4 + ScriptEntry TVReporterInterviews_BattleFrontier ScriptEntryEnd -_004E: - SetVar VAR_0x8000, 1 - GoTo _0159 +TVReporterInterviews_UnusedEntry10150: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_01 + GoTo TVReporterInterviews_AskDoInterview -_005A: - SetVar VAR_0x8000, 2 - GoTo _0159 +TVReporterInterviews_BattleTower: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_BATTLE_TOWER_CORNER + GoTo TVReporterInterviews_AskDoInterview -_0066: - SetVar VAR_0x8000, 3 - GoTo _0159 +TVReporterInterviews_UnusedEntry10152: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_03 + GoTo TVReporterInterviews_AskDoInterview -_0072: - SetVar VAR_0x8000, 4 - GoTo _0159 +TVReporterInterviews_HearthomeCityPokemonFanClub: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_YOUR_POKEMON_CORNER + GoTo TVReporterInterviews_AskDoInterview -_007E: - SetVar VAR_0x8000, 5 - GoTo _0159 +TVReporterInterviews_UnusedEntry10154: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_05 + GoTo TVReporterInterviews_AskDoInterview -_008A: - SetVar VAR_0x8000, 6 - GoTo _0159 +TVReporterInterviews_PoketchCo1F: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_THE_POKETCH_WATCH + GoTo TVReporterInterviews_AskDoInterview -_0096: - SetVar VAR_0x8000, 7 - GoTo _0159 +TVReporterInterviews_ContestHallLobby: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_CONTEST_HALL + GoTo TVReporterInterviews_AskDoInterview -_00A2: - SetVar VAR_0x8000, 8 - GoTo _0159 +TVReporterInterviews_UnusedEntry10157: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_08 + GoTo TVReporterInterviews_AskDoInterview -_00AE: - SetVar VAR_0x8000, 9 - GoTo _0159 +TVReporterInterviews_JubilifeTV2F: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_RIGHT_ON_PHOTO_CORNER + GoTo TVReporterInterviews_AskDoInterview -_00BA: - SetVar VAR_0x8000, 10 - GoTo _0159 +TVReporterInterviews_CanalaveCityWestHouse: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_STREET_CORNER_PERSONALITY_CHECKUP + GoTo TVReporterInterviews_AskDoInterview -_00C6: - SetVar VAR_0x8000, 11 - GoTo _0159 +TVReporterInterviews_PoffinHouse: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_THREE_CHEERS_FOR_POFFIN_CORNER + GoTo TVReporterInterviews_AskDoInterview -_00D2: - SetVar VAR_0x8000, 12 - GoTo _0159 +TVReporterInterviews_UnusedEntry10161: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_12 + GoTo TVReporterInterviews_AskDoInterview -_00DE: - SetVar VAR_0x8000, 13 - GoTo _0159 +TVReporterInterviews_HearthomeCityGates: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_AMITY_SQUARE_WATCH + GoTo TVReporterInterviews_AskDoInterview -_00EA: - SetVar VAR_0x8000, 14 - GoTo _0159 +TVReporterInterviews_BattleHall: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_BATTLE_FRONTIER_FRONTLINE_NEWS_SINGLE + GoTo TVReporterInterviews_AskDoInterview -_00F6: - GoToIfEq VAR_RANDOM_INTERVIEW_QUESTION, 1, _0129 - GoToIfEq VAR_RANDOM_INTERVIEW_QUESTION, 2, _0135 - GoToIfEq VAR_RANDOM_INTERVIEW_QUESTION, 3, _0141 - SetVar VAR_0x8000, 15 - GoTo _0159 +TVReporterInterviews_Route214GateToVeilstoneCity: + GoToIfEq VAR_RANDOM_INTERVIEW_QUESTION, 1, TVReporterInterviews_SetSegmentInYourFace2 + GoToIfEq VAR_RANDOM_INTERVIEW_QUESTION, 2, TVReporterInterviews_SetSegmentInYourFace3 + GoToIfEq VAR_RANDOM_INTERVIEW_QUESTION, 3, TVReporterInterviews_SetSegmentInYourFace4 + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_1 + GoTo TVReporterInterviews_AskDoInterview -_0129: - SetVar VAR_0x8000, 16 - GoTo _0159 +TVReporterInterviews_SetSegmentInYourFace2: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_2 + GoTo TVReporterInterviews_AskDoInterview -_0135: - SetVar VAR_0x8000, 17 - GoTo _0159 +TVReporterInterviews_SetSegmentInYourFace3: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_3 + GoTo TVReporterInterviews_AskDoInterview -_0141: - SetVar VAR_0x8000, 18 - GoTo _0159 +TVReporterInterviews_SetSegmentInYourFace4: + SetVar VAR_0x8000, TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_4 + GoTo TVReporterInterviews_AskDoInterview -_014D: +TVReporterInterviews_BattleFrontier: SetVar VAR_0x8000, 19 - GoTo _0159 + GoTo TVReporterInterviews_AskDoInterview -_0159: +TVReporterInterviews_AskDoInterview: PlaySE SEQ_SE_CONFIRM LockAll FacePlayer CheckTVInterviewEligible VAR_0x8000, VAR_RESULT - GoToIfEq VAR_RESULT, 0, _02A1 - Message 0 + GoToIfEq VAR_RESULT, FALSE, TVReporterInterviews_ThanksForSharingThoughts + Message TVReporterInterviews_Text_MayIDoQuickInterview ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _0190 - GoTo _02AE + GoToIfEq VAR_RESULT, MENU_YES, TVReporterInterviews_DoInterview + GoTo TVReporterInterviews_ThatsTooBad End -_0190: +TVReporterInterviews_DoInterview: LoadTVInterviewMessage VAR_0x8000, VAR_0x8004, VAR_0x8005 MessageFromBank VAR_0x8004, VAR_0x8005 - GoToIfEq VAR_0x8000, 10, _01F0 + GoToIfEq VAR_0x8000, TV_PROGRAM_SEGMENT_STREET_CORNER_PERSONALITY_CHECKUP, TVReporterInterviews_TypeMenu FadeScreenOut WaitFadeScreen CloseMessage @@ -125,49 +125,49 @@ _0190: ReturnToField FadeScreenIn WaitFadeScreen - GoToIfEq VAR_RESULT, 0, _02AE + GoToIfEq VAR_RESULT, 0, TVReporterInterviews_ThatsTooBad SaveTVInterviewResponse VAR_0x8000, VAR_0x8004 - GoTo _02A1 + GoTo TVReporterInterviews_ThanksForSharingThoughts End -_01F0: +TVReporterInterviews_TypeMenu: InitLocalTextListMenu 1, 1, 0, VAR_0x8004 - AddListMenuEntry 22, 1 - AddListMenuEntry 23, 2 - AddListMenuEntry 24, 3 - AddListMenuEntry 25, 4 - AddListMenuEntry 26, 5 - AddListMenuEntry 27, 6 - AddListMenuEntry 28, 7 - AddListMenuEntry 29, 8 - AddListMenuEntry 30, 9 - AddListMenuEntry 31, 10 - AddListMenuEntry 32, 11 - AddListMenuEntry 33, 12 - AddListMenuEntry 34, 13 - AddListMenuEntry 35, 14 - AddListMenuEntry 36, 15 - AddListMenuEntry 37, 16 - AddListMenuEntry 38, 17 + AddListMenuEntry TVReporterInterviews_Text_Normal, 1 + AddListMenuEntry TVReporterInterviews_Text_Fire, 2 + AddListMenuEntry TVReporterInterviews_Text_Water, 3 + AddListMenuEntry TVReporterInterviews_Text_Electric, 4 + AddListMenuEntry TVReporterInterviews_Text_Grass, 5 + AddListMenuEntry TVReporterInterviews_Text_Ice, 6 + AddListMenuEntry TVReporterInterviews_Text_Fighting, 7 + AddListMenuEntry TVReporterInterviews_Text_Poison, 8 + AddListMenuEntry TVReporterInterviews_Text_Ground, 9 + AddListMenuEntry TVReporterInterviews_Text_Flying, 10 + AddListMenuEntry TVReporterInterviews_Text_Psychic, 11 + AddListMenuEntry TVReporterInterviews_Text_Bug, 12 + AddListMenuEntry TVReporterInterviews_Text_Rock, 13 + AddListMenuEntry TVReporterInterviews_Text_Ghost, 14 + AddListMenuEntry TVReporterInterviews_Text_Dragon, 15 + AddListMenuEntry TVReporterInterviews_Text_Dark, 16 + AddListMenuEntry TVReporterInterviews_Text_Steel, 17 ShowListMenu - GoToIfEq VAR_0x8004, -2, _02AE + GoToIfEq VAR_0x8004, -2, TVReporterInterviews_ThatsTooBad SaveTVInterviewResponse VAR_0x8000, VAR_0x8004 - GoTo _02A1 + GoTo TVReporterInterviews_ThanksForSharingThoughts End -_02A1: - Message 2 +TVReporterInterviews_ThanksForSharingThoughts: + Message TVReporterInterviews_Text_ThanksForSharingThoughts WaitButton - GoTo _02BB + GoTo TVReporterInterviews_End End -_02AE: - Message 1 +TVReporterInterviews_ThatsTooBad: + Message TVReporterInterviews_Text_ThatsTooBad WaitButton - GoTo _02BB + GoTo TVReporterInterviews_End End -_02BB: +TVReporterInterviews_End: CloseMessage ReleaseAll End diff --git a/res/field/scripts/scripts_vs_seeker.s b/res/field/scripts/scripts_vs_seeker.s index bcb3b6f23b..e894d702b0 100644 --- a/res/field/scripts/scripts_vs_seeker.s +++ b/res/field/scripts/scripts_vs_seeker.s @@ -2,36 +2,36 @@ #include "res/text/bank/vs_seeker.h" - ScriptEntry _0006 + ScriptEntry VsSeeker_Use ScriptEntryEnd -_0006: +VsSeeker_Use: SetVar VAR_RESULT, 0 - ScrCmd_20A VAR_RESULT + StartVsSeeker VAR_RESULT SetVar VAR_0x8008, VAR_RESULT - GoToIfEq VAR_0x8008, 0, _0043 - GoToIfEq VAR_0x8008, 1, _0047 - GoToIfEq VAR_0x8008, 2, _0050 - GoTo _0059 + GoToIfEq VAR_0x8008, VS_SEEKER_USE_RESULT_OK, VsSeeker_OK + GoToIfEq VAR_0x8008, VS_SEEKER_USE_RESULT_NO_BATTERY, VsSeeker_NoBattery + GoToIfEq VAR_0x8008, VS_SEEKER_USE_RESULT_NO_TRAINERS, VsSeeker_NoTrainers + GoTo VsSeeker_NoTrainersReadyToBattle -_0043: +VsSeeker_OK: ReleaseAll End -_0047: - Message 0 - GoTo _0068 +VsSeeker_NoBattery: + Message VsSeeker_Text_BatteryIsntChargedEnough + GoTo VsSeeker_End -_0050: - Message 1 - GoTo _0068 +VsSeeker_NoTrainers: + Message VsSeeker_Text_NoTrainersWithinRange + GoTo VsSeeker_End -_0059: +VsSeeker_NoTrainersReadyToBattle: WaitTime 30, VAR_RESULT - Message 2 - GoTo _0068 + Message VsSeeker_Text_NoTrainersReadyToBattle + GoTo VsSeeker_End -_0068: +VsSeeker_End: WaitButton CloseMessage ReleaseAll diff --git a/res/text/scratch_off_cards.json b/res/text/scratch_off_cards.json index fad469c2cd..6cd1058ad7 100644 --- a/res/text/scratch_off_cards.json +++ b/res/text/scratch_off_cards.json @@ -2,7 +2,7 @@ "key": 51441, "messages": [ { - "id": "pl_msg_00000541_00000", + "id": "ScratchOffCards_Text_WouldYouLikeCards", "en_US": [ "Welcome!\r", "Would you like some Scratch-Off Cards?\n", @@ -10,27 +10,27 @@ ] }, { - "id": "pl_msg_00000541_00001", + "id": "ScratchOffCards_Text_WillYouBuyCards", "en_US": "Will you buy some Scratch-Off Cards?" }, { - "id": "pl_msg_00000541_00002", + "id": "ScratchOffCards_Text_Scratch", "en_US": "SCRATCH" }, { - "id": "pl_msg_00000541_00003", + "id": "ScratchOffCards_Text_Info", "en_US": "INFO" }, { - "id": "pl_msg_00000541_00004", + "id": "ScratchOffCards_Text_Cancel", "en_US": "CANCEL" }, { - "id": "pl_msg_00000541_00005", + "id": "ScratchOffCards_Text_PleaseVisitAgain", "en_US": "Please visit again." }, { - "id": "pl_msg_00000541_00006", + "id": "ScratchOffCards_Text_ScratchOffCardsInfo", "en_US": [ "You may buy three Scratch-Off Cards\n", "for {STRVAR_1 50, 0, 0} BP.\r", @@ -43,54 +43,54 @@ ] }, { - "id": "pl_msg_00000541_00007", + "id": "ScratchOffCards_Text_XBPForThreeCards", "en_US": [ "It will be {STRVAR_1 50, 2, 0} BP for three\n", "Scratch-Off Cards. Is that OK?" ] }, { - "id": "pl_msg_00000541_00008", + "id": "ScratchOffCards_Text_Dummy8", "garbage": 2 }, { - "id": "pl_msg_00000541_00009", + "id": "ScratchOffCards_Text_Dummy9", "garbage": 3 }, { - "id": "pl_msg_00000541_00010", + "id": "ScratchOffCards_Text_SelectThreeCards", "en_US": [ "OK, please select three\n", "Scratch-Off Cards.\r" ] }, { - "id": "pl_msg_00000541_00011", + "id": "ScratchOffCards_Text_YouWonOnXCards", "en_US": [ "Congratulations!\r", "You won on {STRVAR_1 50, 0, 0} Scratch-Off Card(s)!\r" ] }, { - "id": "pl_msg_00000541_00012", + "id": "ScratchOffCards_Text_NoRoomForItem", "en_US": [ "Too bad! There is no more room for\n", "the {STRVAR_1 8, 0, 0}!\r" ] }, { - "id": "pl_msg_00000541_00013", + "id": "ScratchOffCards_Text_ReceivedXItems", "en_US": "Received {STRVAR_1 50, 1, 0} {STRVAR_1 8, 0, 0}!\r" }, { - "id": "pl_msg_00000541_00014", + "id": "ScratchOffCards_Text_NotEnoughBP", "en_US": [ "I’m sorry, but you don’t have enough\n", "BP. Please come again." ] }, { - "id": "pl_msg_00000541_00015", + "id": "ScratchOffCards_Text_IntroduceScratchOffCards", "en_US": [ "Welcome!\n", "Would you like some Scratch-Off Cards?\r", diff --git a/res/text/tv_reporter_interviews.json b/res/text/tv_reporter_interviews.json index 6f39a22e73..4484c0c43f 100644 --- a/res/text/tv_reporter_interviews.json +++ b/res/text/tv_reporter_interviews.json @@ -2,7 +2,7 @@ "key": 17598, "messages": [ { - "id": "pl_msg_00000621_00000", + "id": "TVReporterInterviews_Text_MayIDoQuickInterview", "en_US": [ "Hello!\n", "I’m with Jubilife TV!\r", @@ -11,14 +11,14 @@ ] }, { - "id": "pl_msg_00000621_00001", + "id": "TVReporterInterviews_Text_ThatsTooBad", "en_US": [ "Oh, that’s too bad.\n", "I hope you can oblige another time!" ] }, { - "id": "pl_msg_00000621_00002", + "id": "TVReporterInterviews_Text_ThanksForSharingThoughts", "en_US": [ "Thank you for sharing your thoughts\n", "with us.\r", @@ -29,11 +29,11 @@ ] }, { - "id": "pl_msg_00000621_00003", + "id": "TVReporterInterviews_Text_Dummy3", "garbage": 7 }, { - "id": "pl_msg_00000621_00004", + "id": "TVReporterInterviews_Text_BattleTowerCorner", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -43,11 +43,11 @@ ] }, { - "id": "pl_msg_00000621_00005", + "id": "TVReporterInterviews_Text_Dummy5", "garbage": 7 }, { - "id": "pl_msg_00000621_00006", + "id": "TVReporterInterviews_Text_YourPokemonCorner", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -58,11 +58,11 @@ ] }, { - "id": "pl_msg_00000621_00007", + "id": "TVReporterInterviews_Text_Dummy7", "garbage": 7 }, { - "id": "pl_msg_00000621_00008", + "id": "TVReporterInterviews_Text_ThePoketchWatch", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -75,7 +75,7 @@ ] }, { - "id": "pl_msg_00000621_00009", + "id": "TVReporterInterviews_Text_ContestHall", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -86,11 +86,11 @@ ] }, { - "id": "pl_msg_00000621_00010", + "id": "TVReporterInterviews_Text_Dummy10", "garbage": 7 }, { - "id": "pl_msg_00000621_00011", + "id": "TVReporterInterviews_Text_RightOnPhotoCorner", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -99,7 +99,7 @@ ] }, { - "id": "pl_msg_00000621_00012", + "id": "TVReporterInterviews_Text_StreetCornerPersonalityCheckup", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -108,7 +108,7 @@ ] }, { - "id": "pl_msg_00000621_00013", + "id": "TVReporterInterviews_Text_ThreeCheersForPoffinCorner", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -117,11 +117,11 @@ ] }, { - "id": "pl_msg_00000621_00014", + "id": "TVReporterInterviews_Text_Dummy14", "garbage": 7 }, { - "id": "pl_msg_00000621_00015", + "id": "TVReporterInterviews_Text_AmitySquareWatch", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -132,7 +132,7 @@ ] }, { - "id": "pl_msg_00000621_00016", + "id": "TVReporterInterviews_Text_BattleFrontierFrontlineNews_Single", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -142,7 +142,7 @@ ] }, { - "id": "pl_msg_00000621_00017", + "id": "TVReporterInterviews_Text_InYourFaceInterview_Question1", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -151,7 +151,7 @@ ] }, { - "id": "pl_msg_00000621_00018", + "id": "TVReporterInterviews_Text_InYourFaceInterview_Question2", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -160,7 +160,7 @@ ] }, { - "id": "pl_msg_00000621_00019", + "id": "TVReporterInterviews_Text_InYourFaceInterview_Question3", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -169,7 +169,7 @@ ] }, { - "id": "pl_msg_00000621_00020", + "id": "TVReporterInterviews_Text_InYourFaceInterview_Question4", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -181,7 +181,7 @@ ] }, { - "id": "pl_msg_00000621_00021", + "id": "TVReporterInterviews_Text_BattleFrontierFrontlineNews_Multi", "en_US": [ "Thank you very much!\n", "Let’s not waste any time...\r", @@ -191,71 +191,71 @@ ] }, { - "id": "pl_msg_00000621_00022", + "id": "TVReporterInterviews_Text_Normal", "en_US": "Normal" }, { - "id": "pl_msg_00000621_00023", + "id": "TVReporterInterviews_Text_Fire", "en_US": "Fire" }, { - "id": "pl_msg_00000621_00024", + "id": "TVReporterInterviews_Text_Water", "en_US": "Water" }, { - "id": "pl_msg_00000621_00025", + "id": "TVReporterInterviews_Text_Electric", "en_US": "Electric" }, { - "id": "pl_msg_00000621_00026", + "id": "TVReporterInterviews_Text_Grass", "en_US": "Grass" }, { - "id": "pl_msg_00000621_00027", + "id": "TVReporterInterviews_Text_Ice", "en_US": "Ice" }, { - "id": "pl_msg_00000621_00028", + "id": "TVReporterInterviews_Text_Fighting", "en_US": "Fighting" }, { - "id": "pl_msg_00000621_00029", + "id": "TVReporterInterviews_Text_Poison", "en_US": "Poison" }, { - "id": "pl_msg_00000621_00030", + "id": "TVReporterInterviews_Text_Ground", "en_US": "Ground" }, { - "id": "pl_msg_00000621_00031", + "id": "TVReporterInterviews_Text_Flying", "en_US": "Flying" }, { - "id": "pl_msg_00000621_00032", + "id": "TVReporterInterviews_Text_Psychic", "en_US": "Psychic" }, { - "id": "pl_msg_00000621_00033", + "id": "TVReporterInterviews_Text_Bug", "en_US": "Bug" }, { - "id": "pl_msg_00000621_00034", + "id": "TVReporterInterviews_Text_Rock", "en_US": "Rock" }, { - "id": "pl_msg_00000621_00035", + "id": "TVReporterInterviews_Text_Ghost", "en_US": "Ghost" }, { - "id": "pl_msg_00000621_00036", + "id": "TVReporterInterviews_Text_Dragon", "en_US": "Dragon" }, { - "id": "pl_msg_00000621_00037", + "id": "TVReporterInterviews_Text_Dark", "en_US": "Dark" }, { - "id": "pl_msg_00000621_00038", + "id": "TVReporterInterviews_Text_Steel", "en_US": "Steel" } ] diff --git a/res/text/vs_seeker.json b/res/text/vs_seeker.json index 718ef1432a..0d8d58d32b 100644 --- a/res/text/vs_seeker.json +++ b/res/text/vs_seeker.json @@ -2,7 +2,7 @@ "key": 12640, "messages": [ { - "id": "pl_msg_00000539_00000", + "id": "VsSeeker_Text_BatteryIsntChargedEnough", "en_US": [ "The battery isn’t charged enough.\r", "Number of steps required to fully\n", @@ -10,7 +10,7 @@ ] }, { - "id": "pl_msg_00000539_00001", + "id": "VsSeeker_Text_NoTrainersWithinRange", "en_US": [ "There are no Trainers within range\n", "who can battle...\r", @@ -18,7 +18,7 @@ ] }, { - "id": "pl_msg_00000539_00002", + "id": "VsSeeker_Text_NoTrainersReadyToBattle", "en_US": [ "The other Trainers don’t appear\n", "to be ready for battle.\r", diff --git a/src/overlay005/vs_seeker.c b/src/overlay005/vs_seeker.c index 4edac89e63..a22b2c1a4a 100644 --- a/src/overlay005/vs_seeker.c +++ b/src/overlay005/vs_seeker.c @@ -3,6 +3,7 @@ #include #include +#include "constants/vs_seeker.h" #include "generated/movement_actions.h" #include "generated/movement_types.h" #include "generated/trainer_types.h" @@ -47,11 +48,6 @@ // until the Vs. Seeker has to be used again #define VS_SEEKER_MAX_NUM_ACTIVE_STEPS 100 -#define VS_SEEKER_USE_RESULT_OK 0 -#define VS_SEEKER_USE_RESULT_NO_BATTERY 1 -#define VS_SEEKER_USE_RESULT_NO_TRAINERS 2 -#define VS_SEEKER_USE_RESULT_NO_TRAINERS_PICKED 3 // No trainers were picked for a rematch (e.g. all the random chances failed) - #define VS_SEEKER_REMATCH_DATA_INDEX_NONE 0xFF #define NoUniqueRematches(trainerID) { trainerID, trainerID, VS_SEEKER_REMATCH_DATA_END, VS_SEEKER_REMATCH_DATA_END, VS_SEEKER_REMATCH_DATA_END, VS_SEEKER_REMATCH_DATA_END } diff --git a/src/scrcmd.c b/src/scrcmd.c index ea992e08e8..5bc2bbcdc3 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -368,7 +368,7 @@ static BOOL ScrCmd_GetCurNetID(ScriptContext *ctx); static BOOL ScrCmd_DrawPokemonPreview(ScriptContext *ctx); static void FieldSystem_WriteSpeciesSeen(FieldSystem *fieldSystem, u16 param1); static BOOL ScrCmd_RemovePokemonPreview(ScriptContext *ctx); -static BOOL ScrCmd_20A(ScriptContext *ctx); +static BOOL ScrCmd_StartVsSeeker(ScriptContext *ctx); static BOOL ScrCmd_SetMoveCodeForFacingDirection(ScriptContext *ctx); static BOOL ScrCmd_0A5(ScriptContext *ctx); static BOOL ScrCmd_30E(ScriptContext *ctx); @@ -3069,12 +3069,12 @@ static BOOL ScriptContext_WaitForPreviewAnimFinished(ScriptContext *ctx) return TRUE; } -static BOOL ScrCmd_20A(ScriptContext *ctx) +static BOOL ScrCmd_StartVsSeeker(ScriptContext *ctx) { - u16 v0 = ScriptContext_ReadHalfWord(ctx); - StringTemplate **v1 = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE); + u16 destVar = ScriptContext_ReadHalfWord(ctx); + StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE); - VsSeeker_Start(ctx->task, *v1, FieldSystem_GetVarPointer(ctx->fieldSystem, v0)); + VsSeeker_Start(ctx->task, *strTemplate, FieldSystem_GetVarPointer(ctx->fieldSystem, destVar)); return TRUE; } diff --git a/src/scrcmd_tv_broadcast.c b/src/scrcmd_tv_broadcast.c index ac1781cf83..6174852243 100644 --- a/src/scrcmd_tv_broadcast.c +++ b/src/scrcmd_tv_broadcast.c @@ -40,6 +40,8 @@ #include "unk_0202E2CC.h" #include "unk_02054884.h" +#include "res/text/bank/tv_reporter_interviews.h" + typedef void (*TVInterview_SaveResponseFunction)(FieldSystem *, u16); typedef void (*TVInterview_LoadMessageFunction)(FieldSystem *, StringTemplate *); typedef BOOL (*TVInterview_IsEligibleFunction)(FieldSystem *); @@ -144,34 +146,28 @@ static const TVInterview sInterviews[TV_PROGRAM_TYPE_INTERVIEWS_NUM_SEGMENTS]; BOOL ScrCmd_CallTVInterview(ScriptContext *ctx) { - StringTemplate **template; - - template = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE); + StringTemplate **template = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE); switch (ScriptContext_ReadHalfWord(ctx)) { case TV_INTERVIEW_CALL_LOAD_MESSAGE: { - int segmentID; - u16 *bankIDVar; - u16 *messageIDVar; - - segmentID = ScriptContext_GetVar(ctx); - bankIDVar = ScriptContext_GetVarPointer(ctx); - messageIDVar = ScriptContext_GetVarPointer(ctx); + int segmentID = ScriptContext_GetVar(ctx); + u16 *bankIDVar = ScriptContext_GetVarPointer(ctx); + u16 *messageIDVar = ScriptContext_GetVarPointer(ctx); *bankIDVar = TEXT_BANK_TV_REPORTER_INTERVIEWS; *messageIDVar = TVInterview_LoadMessage(segmentID, ctx->fieldSystem, *template); - } break; + break; + } case TV_INTERVIEW_CALL_SAVE_RESPONSE: { - u16 segmentID; - u16 customMessageWord, unused; GameRecords *records = SaveData_GetGameRecords(ctx->fieldSystem->saveData); - segmentID = ScriptContext_GetVar(ctx); - customMessageWord = ScriptContext_GetVar(ctx); - unused = ScriptContext_GetVar(ctx); + u16 segmentID = ScriptContext_GetVar(ctx); + u16 customMessageWord = ScriptContext_GetVar(ctx); + u16 unused = ScriptContext_GetVar(ctx); TVInterview_SaveResponse(ctx->fieldSystem, segmentID, customMessageWord, unused); GameRecords_IncrementTrainerScore(records, TRAINER_SCORE_EVENT_TV_INTERVIEW_GIVEN); - } break; + break; + } } return FALSE; @@ -213,9 +209,7 @@ BOOL ScrCmd_27C(ScriptContext *param0) static void TVInterview_SaveResponse(FieldSystem *fieldSystem, int segmentID, u16 customMessageWord, u16 unused) { - TVInterview_SaveResponseFunction saveResponseFn; - - saveResponseFn = sInterviews[segmentID - 1].saveResponseFn; + TVInterview_SaveResponseFunction saveResponseFn = sInterviews[segmentID - 1].saveResponseFn; if (saveResponseFn != NULL) { saveResponseFn(fieldSystem, customMessageWord); @@ -224,9 +218,7 @@ static void TVInterview_SaveResponse(FieldSystem *fieldSystem, int segmentID, u1 static int TVInterview_LoadMessage(int segmentID, FieldSystem *fieldSystem, StringTemplate *template) { - TVInterview_LoadMessageFunction loadMessageFn; - - loadMessageFn = sInterviews[segmentID - 1].loadMessageFn; + TVInterview_LoadMessageFunction loadMessageFn = sInterviews[segmentID - 1].loadMessageFn; if (loadMessageFn != NULL) { loadMessageFn(fieldSystem, template); @@ -358,25 +350,120 @@ static BOOL sub_020493B8(FieldSystem *fieldSystem) } static const TVInterview sInterviews[TV_PROGRAM_TYPE_INTERVIEWS_NUM_SEGMENTS] = { - { NULL, NULL, NULL, 0x3 }, - { FieldSystem_SaveTVSegment_BattleTowerCorner, NULL, sub_02049348, 0x4 }, - { NULL, NULL, NULL, 0x5 }, - { FieldSystem_SaveTVSegment_YourPokemonCorner, sub_02049268, NULL, 0x6 }, - { NULL, NULL, NULL, 0x7 }, - { FieldSystem_SaveTVSegment_ThePoketchWatch, sub_02049288, sub_02049358, 0x8 }, - { FieldSystem_SaveTVSegment_ContestHall, NULL, sub_02049368, 0x9 }, - { NULL, NULL, NULL, 0xA }, - { FieldSystem_SaveTVSegment_RightOnPhotoCorner, NULL, sub_02049378, 0xB }, - { FieldSystem_SaveTVSegment_StreetCornerPersonalityCheckup, NULL, NULL, 0xC }, - { FieldSystem_SaveTVSegment_ThreeCheersForPoffinCorner, NULL, sub_02049388, 0xD }, - { NULL, NULL, NULL, 0xE }, - { FieldSystem_SaveTVSegment_AmitySquareWatch, sub_020492A0, sub_02049398, 0xF }, - { FieldSystem_SaveTVSegment_BattleFrontierFrontlineNews_Single, sub_020492D4, sub_020493A8, 0x10 }, - { FieldSystem_SaveTVSegment_InYourFaceInterview_Question1, NULL, NULL, 0x11 }, - { FieldSystem_SaveTVSegment_InYourFaceInterview_Question2, NULL, NULL, 0x12 }, - { FieldSystem_SaveTVSegment_InYourFaceInterview_Question3, NULL, NULL, 0x13 }, - { FieldSystem_SaveTVSegment_InYourFaceInterview_Question4, NULL, NULL, 0x14 }, - { FieldSystem_SaveTVSegment_BattleFrontierFrontlineNews_Multi, sub_02049308, sub_020493B8, 0x15 } + [TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_01 - 1] = { + .saveResponseFn = NULL, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_Dummy3, + }, + [TV_PROGRAM_SEGMENT_BATTLE_TOWER_CORNER - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_BattleTowerCorner, + .loadMessageFn = NULL, + .isEligibleFn = sub_02049348, + .messageID = TVReporterInterviews_Text_BattleTowerCorner, + }, + [TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_03 - 1] = { + .saveResponseFn = NULL, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_Dummy5, + }, + [TV_PROGRAM_SEGMENT_YOUR_POKEMON_CORNER - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_YourPokemonCorner, + .loadMessageFn = sub_02049268, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_YourPokemonCorner, + }, + [TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_05 - 1] = { + .saveResponseFn = NULL, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_Dummy7, + }, + [TV_PROGRAM_SEGMENT_THE_POKETCH_WATCH - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_ThePoketchWatch, + .loadMessageFn = sub_02049288, + .isEligibleFn = sub_02049358, + .messageID = TVReporterInterviews_Text_ThePoketchWatch, + }, + [TV_PROGRAM_SEGMENT_CONTEST_HALL - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_ContestHall, + .loadMessageFn = NULL, + .isEligibleFn = sub_02049368, + .messageID = TVReporterInterviews_Text_ContestHall, + }, + [TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_08 - 1] = { + .saveResponseFn = NULL, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_Dummy10, + }, + [TV_PROGRAM_SEGMENT_RIGHT_ON_PHOTO_CORNER - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_RightOnPhotoCorner, + .loadMessageFn = NULL, + .isEligibleFn = sub_02049378, + .messageID = TVReporterInterviews_Text_RightOnPhotoCorner, + }, + [TV_PROGRAM_SEGMENT_STREET_CORNER_PERSONALITY_CHECKUP - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_StreetCornerPersonalityCheckup, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_StreetCornerPersonalityCheckup, + }, + [TV_PROGRAM_SEGMENT_THREE_CHEERS_FOR_POFFIN_CORNER - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_ThreeCheersForPoffinCorner, + .loadMessageFn = NULL, + .isEligibleFn = sub_02049388, + .messageID = TVReporterInterviews_Text_ThreeCheersForPoffinCorner, + }, + [TV_PROGRAM_SEGMENT_INTERVIEW_UNUSED_12 - 1] = { + .saveResponseFn = NULL, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_Dummy14, + }, + [TV_PROGRAM_SEGMENT_AMITY_SQUARE_WATCH - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_AmitySquareWatch, + .loadMessageFn = sub_020492A0, + .isEligibleFn = sub_02049398, + .messageID = TVReporterInterviews_Text_AmitySquareWatch, + }, + [TV_PROGRAM_SEGMENT_BATTLE_FRONTIER_FRONTLINE_NEWS_SINGLE - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_BattleFrontierFrontlineNews_Single, + .loadMessageFn = sub_020492D4, + .isEligibleFn = sub_020493A8, + .messageID = TVReporterInterviews_Text_BattleFrontierFrontlineNews_Single, + }, + [TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_1 - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_InYourFaceInterview_Question1, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_InYourFaceInterview_Question1, + }, + [TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_2 - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_InYourFaceInterview_Question2, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_InYourFaceInterview_Question2, + }, + [TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_3 - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_InYourFaceInterview_Question3, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_InYourFaceInterview_Question3, + }, + [TV_PROGRAM_SEGMENT_IN_YOUR_FACE_INTERVIEW_QUESTION_4 - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_InYourFaceInterview_Question4, + .loadMessageFn = NULL, + .isEligibleFn = NULL, + .messageID = TVReporterInterviews_Text_InYourFaceInterview_Question4, + }, + [TV_PROGRAM_SEGMENT_BATTLE_FRONTIER_FRONTLINE_NEWS_MULTI - 1] = { + .saveResponseFn = FieldSystem_SaveTVSegment_BattleFrontierFrontlineNews_Multi, + .loadMessageFn = sub_02049308, + .isEligibleFn = sub_020493B8, + .messageID = TVReporterInterviews_Text_BattleFrontierFrontlineNews_Multi, + }, }; BOOL ScrCmd_GetCurrentSafariGameCaughtNum(ScriptContext *ctx)