Fix trainer match call flags

This commit is contained in:
GriffinR 2024-08-07 16:24:30 -04:00 committed by Philipp AUER
parent a3d5f54b75
commit 3f49c5cbaf
9 changed files with 194 additions and 183 deletions

View file

@ -2,6 +2,7 @@
#define GUARD_CONSTANTS_FLAGS_H #define GUARD_CONSTANTS_FLAGS_H
#include "constants/opponents.h" #include "constants/opponents.h"
#include "constants/rematches.h"
// Temporary Flags // Temporary Flags
// These temporary flags are are cleared every time a map is loaded. They are used // These temporary flags are are cleared every time a map is loaded. They are used
@ -375,86 +376,89 @@
#define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A #define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A
#define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B #define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B
// Trainer Rematch Flags // Flags for whether a rematchable trainer has been registered in the player's Match Call.
#define FLAG_MATCH_CALL_REGISTERED 0x15C // Most are used implicitly by adding their REMATCH_* id to TRAINER_REGISTERED_FLAGS_START.
#define FLAG_REMATCH_ROSE 0x15D // Some Match Call entries (like those for gym leaders, Wally, and all non-trainer NPCs like Prof. Birch)
#define FLAG_REMATCH_ANDRES 0x15E // have their own separate flag that needs to be set to be enabled; see src/pokenav_match_call_data.c
#define FLAG_REMATCH_DUSTY 0x15F #define TRAINER_REGISTERED_FLAGS_START 0x15C
#define FLAG_REMATCH_LOLA 0x160 #define FLAG_REGISTERED_ROSE (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROSE)
#define FLAG_REMATCH_RICKY 0x161 #define FLAG_REGISTERED_ANDRES (TRAINER_REGISTERED_FLAGS_START + REMATCH_ANDRES)
#define FLAG_REMATCH_LILA_AND_ROY 0x162 #define FLAG_REGISTERED_DUSTY (TRAINER_REGISTERED_FLAGS_START + REMATCH_DUSTY)
#define FLAG_REMATCH_CRISTIN 0x163 #define FLAG_REGISTERED_LOLA (TRAINER_REGISTERED_FLAGS_START + REMATCH_LOLA)
#define FLAG_REMATCH_BROOKE 0x164 #define FLAG_REGISTERED_RICKY (TRAINER_REGISTERED_FLAGS_START + REMATCH_RICKY)
#define FLAG_REMATCH_WILTON 0x165 #define FLAG_REGISTERED_LILA_AND_ROY (TRAINER_REGISTERED_FLAGS_START + REMATCH_LILA_AND_ROY)
#define FLAG_REMATCH_VALERIE 0x166 #define FLAG_REGISTERED_CRISTIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_CRISTIN)
#define FLAG_REMATCH_CINDY 0x167 #define FLAG_REGISTERED_BROOKE (TRAINER_REGISTERED_FLAGS_START + REMATCH_BROOKE)
#define FLAG_REMATCH_THALIA 0x168 #define FLAG_REGISTERED_WILTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WILTON)
#define FLAG_REMATCH_JESSICA 0x169 #define FLAG_REGISTERED_VALERIE (TRAINER_REGISTERED_FLAGS_START + REMATCH_VALERIE)
#define FLAG_REMATCH_WINSTON 0x16A #define FLAG_REGISTERED_CINDY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CINDY)
#define FLAG_REMATCH_STEVE 0x16B #define FLAG_REGISTERED_THALIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_THALIA)
#define FLAG_REMATCH_TONY 0x16C #define FLAG_REGISTERED_JESSICA (TRAINER_REGISTERED_FLAGS_START + REMATCH_JESSICA)
#define FLAG_REMATCH_NOB 0x16D #define FLAG_REGISTERED_WINSTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WINSTON)
#define FLAG_REMATCH_KOJI 0x16E #define FLAG_REGISTERED_STEVE (TRAINER_REGISTERED_FLAGS_START + REMATCH_STEVE)
#define FLAG_REMATCH_FERNANDO 0x16F #define FLAG_REGISTERED_TONY (TRAINER_REGISTERED_FLAGS_START + REMATCH_TONY)
#define FLAG_REMATCH_DALTON 0x170 #define FLAG_REGISTERED_NOB (TRAINER_REGISTERED_FLAGS_START + REMATCH_NOB)
#define FLAG_REMATCH_BERNIE 0x171 #define FLAG_REGISTERED_KOJI (TRAINER_REGISTERED_FLAGS_START + REMATCH_KOJI)
#define FLAG_REMATCH_ETHAN 0x172 #define FLAG_REGISTERED_FERNANDO (TRAINER_REGISTERED_FLAGS_START + REMATCH_FERNANDO)
#define FLAG_REMATCH_JOHN_AND_JAY 0x173 #define FLAG_REGISTERED_DALTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_DALTON)
#define FLAG_REMATCH_JEFFREY 0x174 #define FLAG_REGISTERED_BERNIE (TRAINER_REGISTERED_FLAGS_START + REMATCH_BERNIE)
#define FLAG_REMATCH_CAMERON 0x175 #define FLAG_REGISTERED_ETHAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_ETHAN)
#define FLAG_REMATCH_JACKI 0x176 #define FLAG_REGISTERED_JOHN_AND_JAY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JOHN_AND_JAY)
#define FLAG_REMATCH_WALTER 0x177 #define FLAG_REGISTERED_JEFFREY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JEFFREY)
#define FLAG_REMATCH_KAREN 0x178 #define FLAG_REGISTERED_CAMERON (TRAINER_REGISTERED_FLAGS_START + REMATCH_CAMERON)
#define FLAG_REMATCH_JERRY 0x179 #define FLAG_REGISTERED_JACKI (TRAINER_REGISTERED_FLAGS_START + REMATCH_JACKI)
#define FLAG_REMATCH_ANNA_AND_MEG 0x17A #define FLAG_REGISTERED_WALTER (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALTER)
#define FLAG_REMATCH_ISABEL 0x17B #define FLAG_REGISTERED_KAREN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KAREN)
#define FLAG_REMATCH_MIGUEL 0x17C #define FLAG_REGISTERED_JERRY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JERRY)
#define FLAG_REMATCH_TIMOTHY 0x17D #define FLAG_REGISTERED_ANNA_AND_MEG (TRAINER_REGISTERED_FLAGS_START + REMATCH_ANNA_AND_MEG)
#define FLAG_REMATCH_SHELBY 0x17E #define FLAG_REGISTERED_ISABEL (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISABEL)
#define FLAG_REMATCH_CALVIN 0x17F #define FLAG_REGISTERED_MIGUEL (TRAINER_REGISTERED_FLAGS_START + REMATCH_MIGUEL)
#define FLAG_REMATCH_ELLIOT 0x180 #define FLAG_REGISTERED_TIMOTHY (TRAINER_REGISTERED_FLAGS_START + REMATCH_TIMOTHY)
#define FLAG_REMATCH_ISAIAH 0x181 #define FLAG_REGISTERED_SHELBY (TRAINER_REGISTERED_FLAGS_START + REMATCH_SHELBY)
#define FLAG_REMATCH_MARIA 0x182 #define FLAG_REGISTERED_CALVIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_CALVIN)
#define FLAG_REMATCH_ABIGAIL 0x183 #define FLAG_REGISTERED_ELLIOT (TRAINER_REGISTERED_FLAGS_START + REMATCH_ELLIOT)
#define FLAG_REMATCH_DYLAN 0x184 #define FLAG_REGISTERED_ISAIAH (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISAIAH)
#define FLAG_REMATCH_KATELYN 0x185 #define FLAG_REGISTERED_MARIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_MARIA)
#define FLAG_REMATCH_BENJAMIN 0x186 #define FLAG_REGISTERED_ABIGAIL (TRAINER_REGISTERED_FLAGS_START + REMATCH_ABIGAIL)
#define FLAG_REMATCH_PABLO 0x187 #define FLAG_REGISTERED_DYLAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_DYLAN)
#define FLAG_REMATCH_NICOLAS 0x188 #define FLAG_REGISTERED_KATELYN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KATELYN)
#define FLAG_REMATCH_ROBERT 0x189 #define FLAG_REGISTERED_BENJAMIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_BENJAMIN)
#define FLAG_REMATCH_LAO 0x18A #define FLAG_REGISTERED_PABLO (TRAINER_REGISTERED_FLAGS_START + REMATCH_PABLO)
#define FLAG_REMATCH_CYNDY 0x18B #define FLAG_REGISTERED_NICOLAS (TRAINER_REGISTERED_FLAGS_START + REMATCH_NICOLAS)
#define FLAG_REMATCH_MADELINE 0x18C #define FLAG_REGISTERED_ROBERT (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROBERT)
#define FLAG_REMATCH_JENNY 0x18D #define FLAG_REGISTERED_LAO (TRAINER_REGISTERED_FLAGS_START + REMATCH_LAO)
#define FLAG_REMATCH_DIANA 0x18E #define FLAG_REGISTERED_CYNDY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CYNDY)
#define FLAG_REMATCH_AMY_AND_LIV 0x18F #define FLAG_REGISTERED_MADELINE (TRAINER_REGISTERED_FLAGS_START + REMATCH_MADELINE)
#define FLAG_REMATCH_ERNEST 0x190 #define FLAG_REGISTERED_JENNY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JENNY)
#define FLAG_REMATCH_CORY 0x191 #define FLAG_REGISTERED_DIANA (TRAINER_REGISTERED_FLAGS_START + REMATCH_DIANA)
#define FLAG_REMATCH_EDWIN 0x192 #define FLAG_REGISTERED_AMY_AND_LIV (TRAINER_REGISTERED_FLAGS_START + REMATCH_AMY_AND_LIV)
#define FLAG_REMATCH_LYDIA 0x193 #define FLAG_REGISTERED_ERNEST (TRAINER_REGISTERED_FLAGS_START + REMATCH_ERNEST)
#define FLAG_REMATCH_ISAAC 0x194 #define FLAG_REGISTERED_CORY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CORY)
#define FLAG_REMATCH_GABRIELLE 0x195 #define FLAG_REGISTERED_EDWIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_EDWIN)
#define FLAG_REMATCH_CATHERINE 0x196 #define FLAG_REGISTERED_LYDIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_LYDIA)
#define FLAG_REMATCH_JACKSON 0x197 #define FLAG_REGISTERED_ISAAC (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISAAC)
#define FLAG_REMATCH_HALEY 0x198 #define FLAG_REGISTERED_GABRIELLE (TRAINER_REGISTERED_FLAGS_START + REMATCH_GABRIELLE)
#define FLAG_REMATCH_JAMES 0x199 #define FLAG_REGISTERED_CATHERINE (TRAINER_REGISTERED_FLAGS_START + REMATCH_CATHERINE)
#define FLAG_REMATCH_TRENT 0x19A #define FLAG_REGISTERED_JACKSON (TRAINER_REGISTERED_FLAGS_START + REMATCH_JACKSON)
#define FLAG_REMATCH_SAWYER 0x19B #define FLAG_REGISTERED_HALEY (TRAINER_REGISTERED_FLAGS_START + REMATCH_HALEY)
#define FLAG_REMATCH_KIRA_AND_DAN 0x19C #define FLAG_REGISTERED_JAMES (TRAINER_REGISTERED_FLAGS_START + REMATCH_JAMES)
#define FLAG_REMATCH_WALLY 0x19D #define FLAG_REGISTERED_TRENT (TRAINER_REGISTERED_FLAGS_START + REMATCH_TRENT)
#define FLAG_REMATCH_ROXANNE 0x19E #define FLAG_REGISTERED_SAWYER (TRAINER_REGISTERED_FLAGS_START + REMATCH_SAWYER)
#define FLAG_REMATCH_BRAWLY 0x19F #define FLAG_REGISTERED_KIRA_AND_DAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KIRA_AND_DAN)
#define FLAG_REMATCH_WATTSON 0x1A0 #define FLAG_REGISTERED_WALLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLY)
#define FLAG_REMATCH_FLANNERY 0x1A1 #define FLAG_REGISTERED_ROXANNE (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROXANNE)
#define FLAG_REMATCH_NORMAN 0x1A2 #define FLAG_REGISTERED_BRAWLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_BRAWLY)
#define FLAG_REMATCH_WINONA 0x1A3 #define FLAG_REGISTERED_WATTSON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WATTSON)
#define FLAG_REMATCH_TATE_AND_LIZA 0x1A4 #define FLAG_REGISTERED_FLANNERY (TRAINER_REGISTERED_FLAGS_START + REMATCH_FLANNERY)
// Note: FLAG_REMATCH_JUAN is handled by FLAG_ENABLE_JUAN_MATCH_CALL instead. #define FLAG_REGISTERED_NORMAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_NORMAN)
#define FLAG_REMATCH_SIDNEY 0x1A5 #define FLAG_REGISTERED_WINONA (TRAINER_REGISTERED_FLAGS_START + REMATCH_WINONA)
#define FLAG_REMATCH_PHOEBE 0x1A6 #define FLAG_REGISTERED_TATE_AND_LIZA (TRAINER_REGISTERED_FLAGS_START + REMATCH_TATE_AND_LIZA)
#define FLAG_REMATCH_GLACIA 0x1A7 #define FLAG_REGISTERED_JUAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_JUAN)
#define FLAG_REMATCH_DRAKE 0x1A8 #define FLAG_REGISTERED_SIDNEY (TRAINER_REGISTERED_FLAGS_START + REMATCH_SIDNEY)
#define FLAG_REMATCH_WALLACE 0x1A9 #define FLAG_REGISTERED_PHOEBE (TRAINER_REGISTERED_FLAGS_START + REMATCH_PHOEBE)
#define FLAG_REGISTERED_GLACIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_GLACIA)
#define FLAG_REGISTERED_DRAKE (TRAINER_REGISTERED_FLAGS_START + REMATCH_DRAKE)
#define FLAG_REGISTERED_WALLACE (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLACE)
#define FLAG_UNUSED_0x1AA 0x1AA // Unused Flag #define FLAG_UNUSED_0x1AA 0x1AA // Unused Flag
#define FLAG_UNUSED_0x1AB 0x1AB // Unused Flag #define FLAG_UNUSED_0x1AB 0x1AB // Unused Flag

View file

@ -0,0 +1,89 @@
#ifndef GUARD_REMATCHES_H
#define GUARD_REMATCHES_H
enum {
REMATCH_ROSE,
REMATCH_ANDRES,
REMATCH_DUSTY,
REMATCH_LOLA,
REMATCH_RICKY,
REMATCH_LILA_AND_ROY,
REMATCH_CRISTIN,
REMATCH_BROOKE,
REMATCH_WILTON,
REMATCH_VALERIE,
REMATCH_CINDY,
REMATCH_THALIA,
REMATCH_JESSICA,
REMATCH_WINSTON,
REMATCH_STEVE,
REMATCH_TONY,
REMATCH_NOB,
REMATCH_KOJI,
REMATCH_FERNANDO,
REMATCH_DALTON,
REMATCH_BERNIE,
REMATCH_ETHAN,
REMATCH_JOHN_AND_JAY,
REMATCH_JEFFREY,
REMATCH_CAMERON,
REMATCH_JACKI,
REMATCH_WALTER,
REMATCH_KAREN,
REMATCH_JERRY,
REMATCH_ANNA_AND_MEG,
REMATCH_ISABEL,
REMATCH_MIGUEL,
REMATCH_TIMOTHY,
REMATCH_SHELBY,
REMATCH_CALVIN,
REMATCH_ELLIOT,
REMATCH_ISAIAH,
REMATCH_MARIA,
REMATCH_ABIGAIL,
REMATCH_DYLAN,
REMATCH_KATELYN,
REMATCH_BENJAMIN,
REMATCH_PABLO,
REMATCH_NICOLAS,
REMATCH_ROBERT,
REMATCH_LAO,
REMATCH_CYNDY,
REMATCH_MADELINE,
REMATCH_JENNY,
REMATCH_DIANA,
REMATCH_AMY_AND_LIV,
REMATCH_ERNEST,
REMATCH_CORY,
REMATCH_EDWIN,
REMATCH_LYDIA,
REMATCH_ISAAC,
REMATCH_GABRIELLE,
REMATCH_CATHERINE,
REMATCH_JACKSON,
REMATCH_HALEY,
REMATCH_JAMES,
REMATCH_TRENT,
REMATCH_SAWYER,
REMATCH_KIRA_AND_DAN,
REMATCH_WALLY_VR, // Entries above WALLY are considered normal trainers, from Wally below are special trainers
REMATCH_ROXANNE,
REMATCH_BRAWLY,
REMATCH_WATTSON,
REMATCH_FLANNERY,
REMATCH_NORMAN,
REMATCH_WINONA,
REMATCH_TATE_AND_LIZA,
REMATCH_JUAN,
REMATCH_SIDNEY, // Entries from SIDNEY below are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_PHOEBE,
REMATCH_GLACIA,
REMATCH_DRAKE,
REMATCH_WALLACE,
REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum
};
#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_VR
#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
#endif // GUARD_REMATCHES_H

View file

@ -1,90 +1,7 @@
#ifndef GUARD_TRAINER_REMATCH_H #ifndef GUARD_TRAINER_REMATCH_H
#define GUARD_TRAINER_REMATCH_H #define GUARD_TRAINER_REMATCH_H
enum { #include "constants/rematches.h"
REMATCH_ROSE,
REMATCH_ANDRES,
REMATCH_DUSTY,
REMATCH_LOLA,
REMATCH_RICKY,
REMATCH_LILA_AND_ROY,
REMATCH_CRISTIN,
REMATCH_BROOKE,
REMATCH_WILTON,
REMATCH_VALERIE,
REMATCH_CINDY,
REMATCH_THALIA,
REMATCH_JESSICA,
REMATCH_WINSTON,
REMATCH_STEVE,
REMATCH_TONY,
REMATCH_NOB,
REMATCH_KOJI,
REMATCH_FERNANDO,
REMATCH_DALTON,
REMATCH_BERNIE,
REMATCH_ETHAN,
REMATCH_JOHN_AND_JAY,
REMATCH_JEFFREY,
REMATCH_CAMERON,
REMATCH_JACKI,
REMATCH_WALTER,
REMATCH_KAREN,
REMATCH_JERRY,
REMATCH_ANNA_AND_MEG,
REMATCH_ISABEL,
REMATCH_MIGUEL,
REMATCH_TIMOTHY,
REMATCH_SHELBY,
REMATCH_CALVIN,
REMATCH_ELLIOT,
REMATCH_ISAIAH,
REMATCH_MARIA,
REMATCH_ABIGAIL,
REMATCH_DYLAN,
REMATCH_KATELYN,
REMATCH_BENJAMIN,
REMATCH_PABLO,
REMATCH_NICOLAS,
REMATCH_ROBERT,
REMATCH_LAO,
REMATCH_CYNDY,
REMATCH_MADELINE,
REMATCH_JENNY,
REMATCH_DIANA,
REMATCH_AMY_AND_LIV,
REMATCH_ERNEST,
REMATCH_CORY,
REMATCH_EDWIN,
REMATCH_LYDIA,
REMATCH_ISAAC,
REMATCH_GABRIELLE,
REMATCH_CATHERINE,
REMATCH_JACKSON,
REMATCH_HALEY,
REMATCH_JAMES,
REMATCH_TRENT,
REMATCH_SAWYER,
REMATCH_KIRA_AND_DAN,
REMATCH_WALLY_VR, // Entries above WALLY are considered normal trainers, from Wally below are special trainers
REMATCH_ROXANNE,
REMATCH_BRAWLY,
REMATCH_WATTSON,
REMATCH_FLANNERY,
REMATCH_NORMAN,
REMATCH_WINONA,
REMATCH_TATE_AND_LIZA,
REMATCH_JUAN,
REMATCH_SIDNEY, // Entries from SIDNEY below are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_PHOEBE,
REMATCH_GLACIA,
REMATCH_DRAKE,
REMATCH_WALLACE,
REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum
};
#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_VR
#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
void UpdateGymLeaderRematch(void); void UpdateGymLeaderRematch(void);

View file

@ -9,9 +9,9 @@ MAP_EVENTS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/events.inc,$(MAP_DIRS))
MAP_HEADERS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/header.inc,$(MAP_DIRS)) MAP_HEADERS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/header.inc,$(MAP_DIRS))
$(DATA_ASM_BUILDDIR)/maps.o: $(DATA_ASM_SUBDIR)/maps.s $(LAYOUTS_DIR)/layouts.inc $(LAYOUTS_DIR)/layouts_table.inc $(MAPS_DIR)/headers.inc $(MAPS_DIR)/groups.inc $(MAPS_DIR)/connections.inc $(MAP_CONNECTIONS) $(MAP_HEADERS) $(DATA_ASM_BUILDDIR)/maps.o: $(DATA_ASM_SUBDIR)/maps.s $(LAYOUTS_DIR)/layouts.inc $(LAYOUTS_DIR)/layouts_table.inc $(MAPS_DIR)/headers.inc $(MAPS_DIR)/groups.inc $(MAPS_DIR)/connections.inc $(MAP_CONNECTIONS) $(MAP_HEADERS)
$(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@
$(DATA_ASM_BUILDDIR)/map_events.o: $(DATA_ASM_SUBDIR)/map_events.s $(MAPS_DIR)/events.inc $(MAP_EVENTS) $(DATA_ASM_BUILDDIR)/map_events.o: $(DATA_ASM_SUBDIR)/map_events.s $(MAPS_DIR)/events.inc $(MAP_EVENTS)
$(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@
$(MAPS_DIR)/%/header.inc: $(MAPS_DIR)/%/map.json $(MAPS_DIR)/%/header.inc: $(MAPS_DIR)/%/map.json
$(MAPJSON) map emerald $< $(LAYOUTS_DIR)/layouts.json $(MAPJSON) map emerald $< $(LAYOUTS_DIR)/layouts.json

View file

@ -1615,7 +1615,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u
// Trainer already wants a rematch. Don't bother updating it. // Trainer already wants a rematch. Don't bother updating it.
ret = TRUE; ret = TRUE;
} }
else if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i) else if (FlagGet(TRAINER_REGISTERED_FLAGS_START + i)
&& (Random() % 100) <= 30) // 31% chance of getting a rematch. && (Random() % 100) <= 30) // 31% chance of getting a rematch.
{ {
SetRematchIdForTrainer(table, i); SetRematchIdForTrainer(table, i);
@ -1744,7 +1744,7 @@ static u32 GetTrainerMatchCallFlag(u32 trainerId)
for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) for (i = 0; i < REMATCH_TABLE_ENTRIES; i++)
{ {
if (gRematchTable[i].trainerIds[0] == trainerId) if (gRematchTable[i].trainerIds[0] == trainerId)
return FLAG_MATCH_CALL_REGISTERED + i; return TRAINER_REGISTERED_FLAGS_START + i;
} }
return 0xFFFF; return 0xFFFF;

View file

@ -3620,7 +3620,7 @@ bool32 IsTrainerRegistered(void)
int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004);
if (index >= 0) if (index >= 0)
{ {
if (FlagGet(FLAG_MATCH_CALL_REGISTERED + index) == TRUE) if (FlagGet(TRAINER_REGISTERED_FLAGS_START + index) == TRUE)
return TRUE; return TRUE;
} }
return FALSE; return FALSE;

View file

@ -131,7 +131,7 @@ static EWRAM_DATA struct MatchCallState sMatchCallState = {0};
static EWRAM_DATA struct BattleFrontierStreakInfo sBattleFrontierStreakInfo = {0}; static EWRAM_DATA struct BattleFrontierStreakInfo sBattleFrontierStreakInfo = {0};
static u32 GetCurrentTotalMinutes(struct Time *); static u32 GetCurrentTotalMinutes(struct Time *);
static u32 GetNumRegisteredNPCs(void); static u32 GetNumRegisteredTrainers(void);
static u32 GetActiveMatchCallTrainerId(u32); static u32 GetActiveMatchCallTrainerId(u32);
static int GetTrainerMatchCallId(int); static int GetTrainerMatchCallId(int);
static u16 GetRematchTrainerLocation(int); static u16 GetRematchTrainerLocation(int);
@ -1098,7 +1098,7 @@ static bool32 UpdateMatchCallStepCounter(void)
static bool32 SelectMatchCallTrainer(void) static bool32 SelectMatchCallTrainer(void)
{ {
u32 matchCallId; u32 matchCallId;
u32 numRegistered = GetNumRegisteredNPCs(); u32 numRegistered = GetNumRegisteredTrainers();
if (numRegistered == 0) if (numRegistered == 0)
return FALSE; return FALSE;
@ -1114,12 +1114,13 @@ static bool32 SelectMatchCallTrainer(void)
return TRUE; return TRUE;
} }
static u32 GetNumRegisteredNPCs(void) // Ignores registrable non-trainer NPCs, and special trainers like Wally and the gym leaders.
static u32 GetNumRegisteredTrainers(void)
{ {
u32 i, count; u32 i, count;
for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++) for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{ {
if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) if (FlagGet(TRAINER_REGISTERED_FLAGS_START + i))
count++; count++;
} }
@ -1131,7 +1132,7 @@ static u32 GetActiveMatchCallTrainerId(u32 activeMatchCallId)
u32 i; u32 i;
for (i = 0; i < REMATCH_SPECIAL_TRAINER_START; i++) for (i = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{ {
if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) if (FlagGet(TRAINER_REGISTERED_FLAGS_START + i))
{ {
if (!activeMatchCallId) if (!activeMatchCallId)
return gRematchTable[i].trainerIds[0]; return gRematchTable[i].trainerIds[0];

View file

@ -506,7 +506,7 @@ static const struct MatchCallStructTrainer sSidneyMatchCallHeader =
{ {
.type = MC_TYPE_LEADER, .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY, .mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_SIDNEY, .flag = FLAG_REGISTERED_SIDNEY,
.rematchTableIdx = REMATCH_SIDNEY, .rematchTableIdx = REMATCH_SIDNEY,
.desc = gText_EliteFourMatchCallDesc, .desc = gText_EliteFourMatchCallDesc,
.name = NULL, .name = NULL,
@ -522,7 +522,7 @@ static const struct MatchCallStructTrainer sPhoebeMatchCallHeader =
{ {
.type = MC_TYPE_LEADER, .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY, .mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_PHOEBE, .flag = FLAG_REGISTERED_PHOEBE,
.rematchTableIdx = REMATCH_PHOEBE, .rematchTableIdx = REMATCH_PHOEBE,
.desc = gText_EliteFourMatchCallDesc, .desc = gText_EliteFourMatchCallDesc,
.name = NULL, .name = NULL,
@ -538,7 +538,7 @@ static const struct MatchCallStructTrainer sGlaciaMatchCallHeader =
{ {
.type = MC_TYPE_LEADER, .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY, .mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_GLACIA, .flag = FLAG_REGISTERED_GLACIA,
.rematchTableIdx = REMATCH_GLACIA, .rematchTableIdx = REMATCH_GLACIA,
.desc = gText_EliteFourMatchCallDesc, .desc = gText_EliteFourMatchCallDesc,
.name = NULL, .name = NULL,
@ -554,7 +554,7 @@ static const struct MatchCallStructTrainer sDrakeMatchCallHeader =
{ {
.type = MC_TYPE_LEADER, .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY, .mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_DRAKE, .flag = FLAG_REGISTERED_DRAKE,
.rematchTableIdx = REMATCH_DRAKE, .rematchTableIdx = REMATCH_DRAKE,
.desc = gText_EliteFourMatchCallDesc, .desc = gText_EliteFourMatchCallDesc,
.name = NULL, .name = NULL,
@ -570,7 +570,7 @@ static const struct MatchCallStructTrainer sWallaceMatchCallHeader =
{ {
.type = MC_TYPE_LEADER, .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY, .mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_WALLACE, .flag = FLAG_REGISTERED_WALLACE,
.rematchTableIdx = REMATCH_WALLACE, .rematchTableIdx = REMATCH_WALLACE,
.desc = gText_ChampionMatchCallDesc, .desc = gText_ChampionMatchCallDesc,
.name = NULL, .name = NULL,
@ -1136,7 +1136,7 @@ bool32 MatchCall_HasRematchId(u32 idx)
void SetMatchCallRegisteredFlag(void) void SetMatchCallRegisteredFlag(void)
{ {
int r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004);
if (r0 >= 0) if (index >= 0)
FlagSet(FLAG_MATCH_CALL_REGISTERED + r0); FlagSet(TRAINER_REGISTERED_FLAGS_START + index);
} }

View file

@ -261,7 +261,7 @@ static u32 LoopedTask_BuildMatchCallList(s32 taskState)
bool32 IsRematchEntryRegistered(int rematchIndex) bool32 IsRematchEntryRegistered(int rematchIndex)
{ {
if (rematchIndex < REMATCH_TABLE_ENTRIES) if (rematchIndex < REMATCH_TABLE_ENTRIES)
return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex); return FlagGet(TRAINER_REGISTERED_FLAGS_START + rematchIndex);
return FALSE; return FALSE;
} }