Document a bit of Match Call

This commit is contained in:
GriffinR
2019-12-05 15:33:36 -05:00
parent 70d1f54ab9
commit 548af3c0f1
23 changed files with 1140 additions and 1054 deletions

View File

@@ -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.

View File

@@ -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];

View File

@@ -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);

View File

@@ -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

View File

@@ -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[];