summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/global.h1
-rw-r--r--include/global.h2
-rw-r--r--include/gym_leader_rematch.h9
-rw-r--r--include/pokenav.h39
-rw-r--r--include/strings.h59
5 files changed, 91 insertions, 19 deletions
diff --git a/include/constants/global.h b/include/constants/global.h
index 4c638d63f..f4d81e563 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -51,6 +51,7 @@
#define DECOR_MAX_PLAYERS_HOUSE 12
#define APPRENTICE_COUNT 4
#define APPRENTICE_MAX_QUESTIONS 9
+#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
diff --git a/include/global.h b/include/global.h
index 61186d084..9bf1a5b34 100644
--- a/include/global.h
+++ b/include/global.h
@@ -923,7 +923,7 @@ struct SaveBlock1
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 field_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
- /*0x9CA*/ u8 trainerRematches[100];
+ /*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES];
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
/*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT];
/*0x1270*/ u8 flags[FLAGS_COUNT];
diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h
index 778d7a1e8..473d7b1c1 100644
--- a/include/gym_leader_rematch.h
+++ b/include/gym_leader_rematch.h
@@ -75,17 +75,12 @@ enum {
REMATCH_WINONA,
REMATCH_TATE_AND_LIZA,
REMATCH_JUAN,
-
- // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
- REMATCH_SIDNEY,
+ REMATCH_SIDNEY, // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_PHOEBE,
REMATCH_GLACIA,
REMATCH_DRAKE,
REMATCH_WALLACE,
-
- // The total number of rematch entries. This must be the last element
- // in the enum.
- REMATCH_TABLE_ENTRIES
+ REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum
};
void UpdateGymLeaderRematch(void);
diff --git a/include/pokenav.h b/include/pokenav.h
index b1c3287f1..5edde5900 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -7,11 +7,12 @@
typedef u32 (*LoopedTask)(s32 state);
+// TODO: This struct is also used generally by Match Call, should probably be renamed
struct PokenavMonList
{
- u8 boxId;
- u8 monId;
- u16 unk6;
+ u8 id1;
+ u8 id2;
+ u16 data;
};
struct PokenavSub18
@@ -32,8 +33,8 @@ struct PokenavSub18
enum
{
POKENAV_MODE_NORMAL, // Chosen from Start menu.
- POKENAV_MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call.
- POKENAV_MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav.
+ POKENAV_MODE_FORCE_CALL_READY, // When player is forced to call Mr. Stone for pokenav tutorial
+ POKENAV_MODE_FORCE_CALL_EXIT, // Forced to exit fter being calling Mr. Stone for pokenav tutorial
};
#define POKENAV_MENU_IDS_START 100000
@@ -82,6 +83,28 @@ enum
MC_HEADER_COUNT
};
+enum
+{
+ MATCH_CALL_OPTION_CALL,
+ MATCH_CALL_OPTION_CHECK,
+ MATCH_CALL_OPTION_CANCEL,
+ MATCH_CALL_OPTION_COUNT
+};
+
+enum
+{
+ CHECK_PAGE_STRATEGY,
+ CHECK_PAGE_POKEMON,
+ CHECK_PAGE_INTRO_1,
+ CHECK_PAGE_INTRO_2,
+ CHECK_PAGE_ENTRY_COUNT
+};
+
+#define MCFLAVOR(name) {[CHECK_PAGE_STRATEGY] = gText_MatchCall##name##_Strategy, \
+ [CHECK_PAGE_POKEMON] = gText_MatchCall##name##_Pokemon, \
+ [CHECK_PAGE_INTRO_1] = gText_MatchCall##name##_Intro1, \
+ [CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2}
+
// pokenav.c
void sub_81C7694(u32);
u32 sub_81C76AC(void);
@@ -207,14 +230,14 @@ int sub_81CAE48(void);
struct PokenavMonList *sub_81CAE94(void);
u16 sub_81CAEA4(int);
bool32 sub_81CAEBC(int index);
-int sub_81CAF04(int index);
-const u8 *sub_81CAFD8(int index, int textType);
+int GetMatchCallTrainerPic(int index);
+const u8 *GetMatchCallFlavorText(int index, int textType);
u16 sub_81CB01C(void);
u16 sub_81CB02C(int arg0);
void sub_81CB050(struct PokenavMonList * arg0, u8 *str);
u8 sub_81CB0C8(int rematchIndex);
int sub_81CB0E4(int index);
-bool32 sub_81CAE08(int);
+bool32 IsRematchEntryRegistered(int index);
int sub_81CB128(int index);
// pokenav_unk_4.c
diff --git a/include/strings.h b/include/strings.h
index f814ad29f..8cebdcfa0 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1,6 +1,22 @@
#ifndef GUARD_STRINGS_H
#define GUARD_STRINGS_H
+// Placeholders
+extern const u8 gText_ExpandedPlaceholder_Empty[];
+extern const u8 gText_ExpandedPlaceholder_Kun[];
+extern const u8 gText_ExpandedPlaceholder_Chan[];
+extern const u8 gText_ExpandedPlaceholder_Sapphire[];
+extern const u8 gText_ExpandedPlaceholder_Ruby[];
+extern const u8 gText_ExpandedPlaceholder_Emerald[];
+extern const u8 gText_ExpandedPlaceholder_Aqua[];
+extern const u8 gText_ExpandedPlaceholder_Magma[];
+extern const u8 gText_ExpandedPlaceholder_Archie[];
+extern const u8 gText_ExpandedPlaceholder_Maxie[];
+extern const u8 gText_ExpandedPlaceholder_Kyogre[];
+extern const u8 gText_ExpandedPlaceholder_Groudon[];
+extern const u8 gText_ExpandedPlaceholder_Brendan[];
+extern const u8 gText_ExpandedPlaceholder_May[];
+
extern const u8 gText_FromSpace[];
extern const u8 gText_Lv50[];
@@ -2332,6 +2348,43 @@ extern const u8 MatchCall_BattlePyramidText11[];
extern const u8 MatchCall_BattlePyramidText12[];
extern const u8 MatchCall_BattlePyramidText13[];
extern const u8 MatchCall_BattlePyramidText14[];
+extern const u8 gText_MrStoneMatchCallDesc[];
+extern const u8 gText_MrStoneMatchCallName[];
+extern const u8 gText_StevenMatchCallDesc[];
+extern const u8 gText_StevenMatchCallName[];
+extern const u8 gText_MayBrendanMatchCallDesc[];
+extern const u8 gText_WallyMatchCallDesc[];
+extern const u8 gText_NormanMatchCallDesc[];
+extern const u8 gText_NormanMatchCallName[];
+extern const u8 gText_MomMatchCallDesc[];
+extern const u8 gText_MomMatchCallName[];
+extern const u8 gText_ScottMatchCallDesc[];
+extern const u8 gText_ScottMatchCallName[];
+extern const u8 gText_RoxanneMatchCallDesc[];
+extern const u8 gText_BrawlyMatchCallDesc[];
+extern const u8 gText_WattsonMatchCallDesc[];
+extern const u8 gText_FlanneryMatchCallDesc[];
+extern const u8 gText_WinonaMatchCallDesc[];
+extern const u8 gText_TateLizaMatchCallDesc[];
+extern const u8 gText_JuanMatchCallDesc[];
+extern const u8 gText_EliteFourMatchCallDesc[];
+extern const u8 gText_ChampionMatchCallDesc[];
+extern const u8 gText_ProfBirchMatchCallDesc[];
+extern const u8 gText_ProfBirchMatchCallName[];
+extern const u8 gText_MatchCallSteven_Strategy[];
+extern const u8 gText_MatchCallSteven_Pokemon[];
+extern const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[];
+extern const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[];
+extern const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[];
+extern const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[];
+extern const u8 gText_MatchCallBrendan_Strategy[];
+extern const u8 gText_MatchCallBrendan_Pokemon[];
+extern const u8 gText_MatchCallBrendan_Intro1[];
+extern const u8 gText_MatchCallBrendan_Intro2[];
+extern const u8 gText_MatchCallMay_Strategy[];
+extern const u8 gText_MatchCallMay_Pokemon[];
+extern const u8 gText_MatchCallMay_Intro1[];
+extern const u8 gText_MatchCallMay_Intro2[];
// Contest Link
extern const u8 gText_ColorDarkGrey[];
@@ -2762,9 +2815,9 @@ extern const u8 gUnknown_085EBE41[];
extern const u8 gText_NoRibbonWinners[];
// pokenav_unk_4
-extern const u8 gUnknown_085EC017[];
-extern const u8 gUnknown_085EC01C[];
-extern const u8 gUnknown_085EC022[];
+extern const u8 gText_Call[];
+extern const u8 gText_Check[];
+extern const u8 gText_Cancel6[];
// pokenav_unk_8
extern const u8 gText_NumberF700[];