diff --git a/include/constants/savedata/vars_flags.h b/include/constants/savedata/vars_flags.h index 33a633607d..99f6cf9f72 100644 --- a/include/constants/savedata/vars_flags.h +++ b/include/constants/savedata/vars_flags.h @@ -7,7 +7,72 @@ #define VARS_START 0x4000 -#define SYSTEM_VARS_START (VARS_START + 0x0030) +#define SYSTEM_VARS_START (VARS_START + 0x0030) +#define SYSTEM_VARS_BLOCK_SIZE 64 +#define VAR_PLAYER_STARTER (SYSTEM_VARS_START + 0) +#define VAR_UNUSED_0x4031 (SYSTEM_VARS_START + 1) +#define VAR_UNK_0x4032 (SYSTEM_VARS_START + 2) +#define VAR_VS_SEEKER_BATTERY_LEVEL (SYSTEM_VARS_START + 3) +#define VAR_VS_SEEKER_STEP_COUNT (SYSTEM_VARS_START + 4) +#define VAR_SIZE_CONTEST_RECORD (SYSTEM_VARS_START + 5) +#define VAR_HIDDEN_LOCATION_FULL_MOON_ISLAND (SYSTEM_VARS_START + 6) +#define VAR_HIDDEN_LOCATION_NEW_MOON_ISLAND (SYSTEM_VARS_START + 7) +#define VAR_HIDDEN_LOCATION_SPRING_PATH (SYSTEM_VARS_START + 8) +#define VAR_HIDDEN_LOCATION_SEABREAK_PATH (SYSTEM_VARS_START + 9) +#define VAR_AMITY_SQUARE_STEP_COUNT (SYSTEM_VARS_START + 10) +#define VAR_NEWS_PRESS_DEADLINE (SYSTEM_VARS_START + 11) +#define VAR_LOTTERY_TRAINER_ID_LOW_HALF (SYSTEM_VARS_START + 12) +#define VAR_LOTTERY_TRAINER_ID_HIGH_HALF (SYSTEM_VARS_START + 13) +#define VAR_SPIRITOMB_COUNTER (SYSTEM_VARS_START + 14) +#define VAR_PARTNER_TRAINER_ID (SYSTEM_VARS_START + 15) +#define VAR_CONSECUTIVE_BONUS_ROUND_WINS (SYSTEM_VARS_START + 16) +#define VAR_DAILY_RANDOM_LEVEL (SYSTEM_VARS_START + 17) +#define VAR_DEPARTMENT_STORE_REGULAR_COUNTER (SYSTEM_VARS_START + 18) +#define VAR_DISTRIBUTION_EVENT_DARKRAI (SYSTEM_VARS_START + 19) +#define VAR_DISTRIBUTION_EVENT_SHAYMIN (SYSTEM_VARS_START + 20) +#define VAR_DISTRIBUTION_EVENT_ARCEUS (SYSTEM_VARS_START + 21) +#define VAR_DISTRIBUTION_EVENT_ROTOM (SYSTEM_VARS_START + 22) +#define VAR_UNDERGROUND_FOSSILS_UNEARTHED (SYSTEM_VARS_START + 23) +#define VAR_UNDERGROUND_TRAPS_SET (SYSTEM_VARS_START + 24) +#define VAR_UNDERGROUND_TALK_COUNTER (SYSTEM_VARS_START + 25) +#define VAR_FRIENDSHIP_INCREMENT_STEP_COUNTER (SYSTEM_VARS_START + 26) +#define VAR_ETERNA_GYM_FLOWER_CLOCK_STATE (SYSTEM_VARS_START + 27) +#define VAR_UNK_0x4049 (SYSTEM_VARS_START + 28) +#define VAR_TOTAL_TURNS_LAST_BATTLE (SYSTEM_VARS_START + 29) +#define VAR_RESORT_VILLA_VISITOR (SYSTEM_VARS_START + 30) +#define VAR_BATTLE_TOWER_PRINT_STATE (SYSTEM_VARS_START + 31) +#define VAR_BATTLE_FACTORY_PRINT_STATE (SYSTEM_VARS_START + 32) +#define VAR_BATTLE_HALL_PRINT_STATE (SYSTEM_VARS_START + 33) +#define VAR_BATTLE_CASTLE_PRINT_STATE (SYSTEM_VARS_START + 34) +#define VAR_BATTLE_ARCADE_PRINT_STATE (SYSTEM_VARS_START + 35) +#define VAR_UNDERGROUND_ITEMS_GIVEN_AWAY (SYSTEM_VARS_START + 36) +#define VAR_DISTORTION_WORLD_PROGRESS (SYSTEM_VARS_START + 37) +#define VAR_ARCEUS_EVENT_STATE (SYSTEM_VARS_START + 38) +#define VAR_SHAYMIN_EVENT_STATE (SYSTEM_VARS_START + 39) +#define VAR_ROAMING_CRESSELIA_STATE (SYSTEM_VARS_START + 40) +#define VAR_ROAMING_MESPRIT_STATE (SYSTEM_VARS_START + 41) +#define VAR_RESORT_VILLA_VISITOR_MESSAGE_NUM (SYSTEM_VARS_START + 42) +#define VAR_DISTORTION_WORLD_CYRUS_APPEARANCE (SYSTEM_VARS_START + 43) +#define VAR_UNK_0x405C (SYSTEM_VARS_START + 44) +#define VAR_UNK_0x405D (SYSTEM_VARS_START + 45) +#define VAR_ROAMING_MOLTRES_STATE (SYSTEM_VARS_START + 46) +#define VAR_ROAMING_ZAPDOS_STATE (SYSTEM_VARS_START + 47) +#define VAR_ROAMING_ARTICUNO_STATE (SYSTEM_VARS_START + 48) +#define VAR_UNK_0x4061 (SYSTEM_VARS_START + 49) +#define VAR_UNK_0x4062 (SYSTEM_VARS_START + 50) +#define VAR_UNK_0x4063 (SYSTEM_VARS_START + 51) +#define VAR_WIFI_FRONTIER_CLEARED (SYSTEM_VARS_START + 52) +#define VAR_UNK_0x4065 (SYSTEM_VARS_START + 53) +#define VAR_UNK_0x4066 (SYSTEM_VARS_START + 54) +#define VAR_UNK_0x4067 (SYSTEM_VARS_START + 55) +#define VAR_UNK_0x4068 (SYSTEM_VARS_START + 56) +#define VAR_UNK_0x4069 (SYSTEM_VARS_START + 57) +#define VAR_UNK_0x406A (SYSTEM_VARS_START + 58) +#define VAR_UNK_0x406B (SYSTEM_VARS_START + 59) +#define VAR_UNUSED_0x406C (SYSTEM_VARS_START + 60) +#define VAR_UNUSED_0x406D (SYSTEM_VARS_START + 61) +#define VAR_UNUSED_0x406E (SYSTEM_VARS_START + 62) +#define VAR_UNUSED_0x406F (SYSTEM_VARS_START + 63) #define SPECIAL_VARS_START 0x8000 diff --git a/include/pch/global_pch.h b/include/pch/global_pch.h index bc7b7578d6..e60f392499 100644 --- a/include/pch/global_pch.h +++ b/include/pch/global_pch.h @@ -13,6 +13,9 @@ #define NELEMS(a) (sizeof(a) / sizeof(*(a))) #define XtOffset(pointer_type, field) ((unsigned int)&(((pointer_type)NULL)->field)) +#define HI_HALF(i) (((i) >> 16) & 0xFFFF) +#define LO_HALF(i) ((i) & 0xFFFF) +#define HI_AND_LO(h, l) (((h) << 16) | l) #define ALIGN_4 __attribute__((aligned(4))) diff --git a/include/system_vars.h b/include/system_vars.h index 33b1fb9035..24c1b867fa 100644 --- a/include/system_vars.h +++ b/include/system_vars.h @@ -1,63 +1,73 @@ -#ifndef POKEPLATINUM_UNK_0206AFE0_H -#define POKEPLATINUM_UNK_0206AFE0_H +#ifndef POKEPLATINUM_SYSTEM_VARS_H +#define POKEPLATINUM_SYSTEM_VARS_H #include "savedata.h" #include "vars_flags.h" -enum HiddenLocations { - HL_FULLMOONISLAND = 0, - HL_NEWMOONISLAND = 1, - HL_SPRINGPATH = 2, - HL_SEABREAKPATH = 3, +enum DistributionEvent { + DISTEVENT_DARKRAI = 0, + DISTEVENT_SHAYMIN, + DISTEVENT_ARCEUS, + DISTEVENT_ROTOM, + + DISTEVENT_MAX, }; -BOOL SystemVars_SetPartnerTrainerID(VarsFlags *varsFlags, u16 param1); +enum HiddenLocation { + HL_FULLMOONISLAND = 0, + HL_NEWMOONISLAND, + HL_SPRINGPATH, + HL_SEABREAKPATH, + + HL_MAX, +}; + +BOOL SystemVars_SetPartnerTrainerID(VarsFlags *varsFlags, u16 trainerID); u16 SystemVars_GetPartnerTrainerID(VarsFlags *varsFlags); -BOOL SystemVars_SetPlayerStarter(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetPlayerStarter(VarsFlags *varsFlags, u16 species); u16 SystemVars_GetPlayerStarter(VarsFlags *varsFlags); u16 SystemVars_GetRivalStarter(VarsFlags *varsFlags); u16 SystemVars_GetPlayerCounterpartStarter(VarsFlags *varsFlags); u16 SystemVars_GetSizeContestRecord(VarsFlags *varsFlags); -BOOL SystemVars_SetSizeContestRecord(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetSizeContestRecord(VarsFlags *varsFlags, u16 size); void SystemVars_ResetVsSeeker(VarsFlags *varsFlags); u16 SystemVars_GetVsSeekerBattery(VarsFlags *varsFlags); -BOOL SystemVars_SetVsSeekerBattery(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetVsSeekerBattery(VarsFlags *varsFlags, u16 battery); u16 SystemVars_GetVsSeekerStepCount(VarsFlags *varsFlags); -BOOL SystemVars_SetVsSeekerStepCount(VarsFlags *varsFlags, u16 param1); -void SystemVars_SetDistributionEventMagic(VarsFlags *varsFlags, int param1); -BOOL SystemVars_CheckDistributionEvent(VarsFlags *varsFlags, int param1); -void SystemVars_SetHiddenLocationMagic(VarsFlags *varsFlags, int param1); -void SystemVars_ClearHiddenLocation(VarsFlags *varsFlags, int param1); -BOOL SystemVars_CheckHiddenLocation(VarsFlags *varsFlags, int hiddenLocation); +BOOL SystemVars_SetVsSeekerStepCount(VarsFlags *varsFlags, u16 count); +void SystemVars_SetDistributionEventMagic(VarsFlags *varsFlags, enum DistributionEvent eventID); +BOOL SystemVars_CheckDistributionEvent(VarsFlags *varsFlags, enum DistributionEvent eventID); +void SystemVars_SetHiddenLocationMagic(VarsFlags *varsFlags, enum HiddenLocation hiddenLocation); +void SystemVars_ClearHiddenLocation(VarsFlags *varsFlags, enum HiddenLocation hiddenLocation); +BOOL SystemVars_CheckHiddenLocation(VarsFlags *varsFlags, enum HiddenLocation hiddenLocation); BOOL SystemVars_ClearAmitySquareStepCount(VarsFlags *varsFlags); u16 SystemVars_GetAmitySquareStepCount(VarsFlags *varsFlags); BOOL SystemVars_IncrementAmitySquareStepCount(VarsFlags *varsFlags); u16 SystemVars_GetNewsPressDeadline(VarsFlags *varsFlags); -BOOL SystemVars_SetNewsPressDeadline(VarsFlags *varsFlags, u16 param1); -u32 sub_0206B2A4(VarsFlags *varsFlags); +BOOL SystemVars_SetNewsPressDeadline(VarsFlags *varsFlags, u16 deadlineInDays); void SystemVars_RandomizeJubilifeLotteryTrainerID(VarsFlags *varsFlags); -void SystemVars_SynchronizeJubilifeLotteryTrainerID(SaveData *param0, u16 param1); +void SystemVars_SynchronizeJubilifeLotteryTrainerID(SaveData *saveData, u16 trainerID); u16 SystemVars_GetDailyRandomLevel(VarsFlags *varsFlags); -void SystemVars_SetDailyRandomLevel(SaveData *varsFlags); +void SystemVars_SetDailyRandomLevel(SaveData *saveData); u16 SystemVars_GetSpiritombCounter(VarsFlags *varsFlags); -BOOL SystemVars_SetSpiritombCounter(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetSpiritombCounter(VarsFlags *varsFlags, u16 value); u16 SystemVars_GetUndergroundTalkCounter(VarsFlags *varsFlags); -BOOL SystemVars_SetUndergroundTalkCounter(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetUndergroundTalkCounter(VarsFlags *varsFlags, u16 value); u16 SystemVars_GetConsecutiveBonusRoundWins(VarsFlags *varsFlags); -BOOL SystemVars_SetConsecutiveBonusRoundWins(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetConsecutiveBonusRoundWins(VarsFlags *varsFlags, u16 wins); BOOL SystemVars_IncrementDepartmentStoreRegularCount(VarsFlags *varsFlags); u16 SystemVars_GetDepartmentStoreRegularCount(VarsFlags *varsFlags); u16 SystemVars_GetUndergroundItemsGivenAway(VarsFlags *varsFlags); -BOOL SystemVars_SetUndergroundItemsGivenAway(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetUndergroundItemsGivenAway(VarsFlags *varsFlags, u16 value); u16 SystemVars_GetUndergroundFossilsUnearthed(VarsFlags *varsFlags); -BOOL SystemVars_SetUndergroundFossilsUnearthed(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetUndergroundFossilsUnearthed(VarsFlags *varsFlags, u16 value); u16 SystemVars_GetUndergroundTrapsSet(VarsFlags *varsFlags); -BOOL SystemVars_SetUndergroundTrapsSet(VarsFlags *varsFlags, u16 param1); +BOOL SystemVars_SetUndergroundTrapsSet(VarsFlags *varsFlags, u16 value); u16 SystemVars_GetFriendshipStepCount(VarsFlags *varsFlags); -void SystemVars_SetFriendshipStepCount(VarsFlags *varsFlags, u16 param1); -void SystemVars_SetEternaGymFlowerClock(VarsFlags *varsFlags, u16 param1); +void SystemVars_SetFriendshipStepCount(VarsFlags *varsFlags, u16 value); +void SystemVars_SetEternaGymFlowerClock(VarsFlags *varsFlags, u16 state); u16 SystemVars_GetEternaGymFlowerClock(VarsFlags *varsFlags); -void SystemVars_SetTotalTurnsForLastBattle(VarsFlags *varsFlags, u16 param1); +void SystemVars_SetTotalTurnsForLastBattle(VarsFlags *varsFlags, u16 turns); void SystemVars_UpdateVillaVisitor(SaveData *varsFlags); u16 SystemVars_GetBattleFactoryPrintState(VarsFlags *varsFlags); u16 SystemVars_GetBattleHallPrintState(VarsFlags *varsFlags); @@ -65,14 +75,14 @@ u16 SystemVars_GetBattleCastlePrintState(VarsFlags *varsFlags); u16 SystemVars_GetBattleArcadePrintState(VarsFlags *varsFlags); u16 SystemVars_GetBattleTowerPrintState(VarsFlags *varsFlags); u16 SystemVars_GetDistortionWorldProgress(VarsFlags *varsFlags); -void SystemVars_SetDistortionWorldProgress(VarsFlags *varsFlags, u16 param1); +void SystemVars_SetDistortionWorldProgress(VarsFlags *varsFlags, u16 state); u16 SystemVars_GetArceusEventState(VarsFlags *varsFlags); -void SystemVars_SetArceusEventState(VarsFlags *varsFlags, u16 param1); +void SystemVars_SetArceusEventState(VarsFlags *varsFlags, u16 state); u16 SystemVars_GetShayminEventState(VarsFlags *varsFlags); -void SystemVars_SetShayminEventState(VarsFlags *varsFlags, u16 param1); -void SystemVars_SetRoamingSpeciesState(VarsFlags *varsFlags, u16 param1, u16 param2); +void SystemVars_SetShayminEventState(VarsFlags *varsFlags, u16 state); +void SystemVars_SetRoamingSpeciesState(VarsFlags *varsFlags, u16 species, u16 state); u16 SystemVars_GetDistortionWorldCyrusApperanceState(VarsFlags *varsFlags); -void SystemVars_SetDistortionWorldCyrusApperanceState(VarsFlags *varsFlags, u16 param1); +void SystemVars_SetDistortionWorldCyrusApperanceState(VarsFlags *varsFlags, u16 state); u16 SystemVars_GetWiFiFrontierCleared(VarsFlags *varsFlags); -#endif // POKEPLATINUM_UNK_0206AFE0_H +#endif // POKEPLATINUM_SYSTEM_VARS_H diff --git a/src/system_vars.c b/src/system_vars.c index e96f648ce3..5758be2683 100644 --- a/src/system_vars.c +++ b/src/system_vars.c @@ -4,8 +4,6 @@ #include "generated/map_headers.h" #include "generated/species.h" -#include "struct_decls/struct_0203A790_decl.h" - #include "field_overworld_state.h" #include "location.h" #include "math.h" @@ -16,17 +14,17 @@ static BOOL TrySetVarToValue(VarsFlags *varsFlags, u16 varID, u16 value); static u16 TryGetVarValue(VarsFlags *varsFlags, u16 varID); -static int GetDistributionEventMagicNumber(int eventID); -static int GetHiddenLocationMagicNumber(int eventID); -static void SetJubilifeLotteryTrainerID(VarsFlags *param0, u32 param1); -static BOOL SetDailyRandomLevel(VarsFlags *param0, u16 param1); +static int GetDistributionEventMagicNumber(enum DistributionEvent eventID); +static int GetHiddenLocationMagicNumber(enum HiddenLocation hiddenLocation); +static void SetJubilifeLotteryTrainerID(VarsFlags *varsFlags, u32 trainerID); +static BOOL SetDailyRandomLevel(VarsFlags *varsFlags, u16 level); static u8 CalcVillaVisitorIndex(VarsFlags *varsFlags); -static void InitVillaVisitor(VarsFlags *param0, u16 param1); -static void SetRoamingCresseliaState(VarsFlags *param0, u16 param1); -static void SetRoamingMespritState(VarsFlags *param0, u16 param1); -static void SetRoamingMoltresState(VarsFlags *param0, u16 param1); -static void SetRoamingZapdosState(VarsFlags *param0, u16 param1); -static void SetRoamingArticunoState(VarsFlags *param0, u16 param1); +static void InitVillaVisitor(VarsFlags *varsFlags, u16 visitor); +static void SetRoamingCresseliaState(VarsFlags *varsFlags, u16 state); +static void SetRoamingMespritState(VarsFlags *varsFlags, u16 state); +static void SetRoamingMoltresState(VarsFlags *varsFlags, u16 state); +static void SetRoamingZapdosState(VarsFlags *varsFlags, u16 state); +static void SetRoamingArticunoState(VarsFlags *varsFlags, u16 state); static BOOL TrySetVarToValue(VarsFlags *varsFlags, u16 varID, u16 value) { @@ -54,30 +52,30 @@ static u16 TryGetVarValue(VarsFlags *varsFlags, u16 varID) return *varAddress; } -BOOL SystemVars_SetPartnerTrainerID(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetPartnerTrainerID(VarsFlags *varsFlags, u16 trainerID) { - return TrySetVarToValue(param0, (15 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_PARTNER_TRAINER_ID, trainerID); } -u16 SystemVars_GetPartnerTrainerID(VarsFlags *param0) +u16 SystemVars_GetPartnerTrainerID(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (15 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_PARTNER_TRAINER_ID); } -BOOL SystemVars_SetPlayerStarter(VarsFlags *var, u16 species) +BOOL SystemVars_SetPlayerStarter(VarsFlags *varsFlags, u16 species) { - return TrySetVarToValue(var, (0 + SYSTEM_VARS_START), species); + return TrySetVarToValue(varsFlags, VAR_PLAYER_STARTER, species); } -u16 SystemVars_GetPlayerStarter(VarsFlags *param0) +u16 SystemVars_GetPlayerStarter(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (0 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_PLAYER_STARTER); } -u16 SystemVars_GetRivalStarter(VarsFlags *vars) +u16 SystemVars_GetRivalStarter(VarsFlags *varsFlags) { u16 rivalStarter; - u16 playerStarter = TryGetVarValue(vars, (0 + SYSTEM_VARS_START)); + u16 playerStarter = TryGetVarValue(varsFlags, VAR_PLAYER_STARTER); if (playerStarter == SPECIES_TURTWIG) { rivalStarter = SPECIES_CHIMCHAR; @@ -90,292 +88,287 @@ u16 SystemVars_GetRivalStarter(VarsFlags *vars) return rivalStarter; } -u16 SystemVars_GetPlayerCounterpartStarter(VarsFlags *param0) +u16 SystemVars_GetPlayerCounterpartStarter(VarsFlags *varsFlags) { - u16 v0; - u16 v1 = TryGetVarValue(param0, (0 + SYSTEM_VARS_START)); + u16 counterpartStarter; + u16 playerStarter = TryGetVarValue(varsFlags, VAR_PLAYER_STARTER); - if (v1 == 387) { - v0 = 393; - } else if (v1 == 390) { - v0 = 387; + if (playerStarter == SPECIES_TURTWIG) { + counterpartStarter = SPECIES_PIPLUP; + } else if (playerStarter == SPECIES_CHIMCHAR) { + counterpartStarter = SPECIES_TURTWIG; } else { - v0 = 390; + counterpartStarter = SPECIES_CHIMCHAR; } - return v0; + return counterpartStarter; } -u16 SystemVars_GetSizeContestRecord(VarsFlags *param0) +u16 SystemVars_GetSizeContestRecord(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (5 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_SIZE_CONTEST_RECORD); } -BOOL SystemVars_SetSizeContestRecord(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetSizeContestRecord(VarsFlags *varsFlags, u16 value) { - return TrySetVarToValue(param0, (5 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_SIZE_CONTEST_RECORD, value); } -void SystemVars_ResetVsSeeker(VarsFlags *param0) +void SystemVars_ResetVsSeeker(VarsFlags *varsFlags) { - SystemFlag_ClearVsSeekerUsed(param0); - SystemVars_SetVsSeekerStepCount(param0, 0); + SystemFlag_ClearVsSeekerUsed(varsFlags); + SystemVars_SetVsSeekerStepCount(varsFlags, 0); } -u16 SystemVars_GetVsSeekerBattery(VarsFlags *param0) +u16 SystemVars_GetVsSeekerBattery(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (3 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_VS_SEEKER_BATTERY_LEVEL); } -BOOL SystemVars_SetVsSeekerBattery(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetVsSeekerBattery(VarsFlags *varsFlags, u16 battery) { - return TrySetVarToValue(param0, (3 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_VS_SEEKER_BATTERY_LEVEL, battery); } -u16 SystemVars_GetVsSeekerStepCount(VarsFlags *param0) +u16 SystemVars_GetVsSeekerStepCount(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (4 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_VS_SEEKER_STEP_COUNT); } -BOOL SystemVars_SetVsSeekerStepCount(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetVsSeekerStepCount(VarsFlags *varsFlags, u16 stepCount) { - return TrySetVarToValue(param0, (4 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_VS_SEEKER_STEP_COUNT, stepCount); } static const u16 sDistributionEventMagicNumbers[] = { - 0x1209, - 0x1112, - 0x1123, - 0x1103, + [DISTEVENT_DARKRAI] = 0x1209, + [DISTEVENT_SHAYMIN] = 0x1112, + [DISTEVENT_ARCEUS] = 0x1123, + [DISTEVENT_ROTOM] = 0x1103, }; -static int GetDistributionEventMagicNumber(int eventID) +static int GetDistributionEventMagicNumber(enum DistributionEvent eventID) { - GF_ASSERT(0 <= eventID && eventID < NELEMS(sDistributionEventMagicNumbers)); + GF_ASSERT(0 <= eventID && eventID < NELEMS(sDistributionEventMagicNumbers)); // Does not match as enum-literal return sDistributionEventMagicNumbers[eventID]; } -void SystemVars_SetDistributionEventMagic(VarsFlags *param0, int param1) +void SystemVars_SetDistributionEventMagic(VarsFlags *varsFlags, enum DistributionEvent eventID) { - TrySetVarToValue(param0, (19 + SYSTEM_VARS_START) + param1, GetDistributionEventMagicNumber(param1)); + TrySetVarToValue(varsFlags, VAR_DISTRIBUTION_EVENT_DARKRAI + eventID, GetDistributionEventMagicNumber(eventID)); } -BOOL SystemVars_CheckDistributionEvent(VarsFlags *param0, int param1) +BOOL SystemVars_CheckDistributionEvent(VarsFlags *varsFlags, enum DistributionEvent eventID) { - return TryGetVarValue(param0, (19 + SYSTEM_VARS_START) + param1) == GetDistributionEventMagicNumber(param1); + return TryGetVarValue(varsFlags, VAR_DISTRIBUTION_EVENT_DARKRAI + eventID) == GetDistributionEventMagicNumber(eventID); } static const u16 sHiddenLocationMagicNumbers[] = { - 0x0208, - 0x0229, - 0x0312, - 0x1028, + [HL_FULLMOONISLAND] = 0x0208, + [HL_NEWMOONISLAND] = 0x0229, + [HL_SPRINGPATH] = 0x0312, + [HL_SEABREAKPATH] = 0x1028, }; -static int GetHiddenLocationMagicNumber(int eventID) +static int GetHiddenLocationMagicNumber(enum HiddenLocation hiddenLocation) { - GF_ASSERT(0 <= eventID && eventID < 4); - return sHiddenLocationMagicNumbers[eventID]; + GF_ASSERT(0 <= hiddenLocation && hiddenLocation < HL_MAX); + return sHiddenLocationMagicNumbers[hiddenLocation]; } -void SystemVars_SetHiddenLocationMagic(VarsFlags *param0, int param1) +void SystemVars_SetHiddenLocationMagic(VarsFlags *varsFlags, enum HiddenLocation hiddenLocation) { - TrySetVarToValue(param0, (6 + SYSTEM_VARS_START) + param1, GetHiddenLocationMagicNumber(param1)); + TrySetVarToValue(varsFlags, VAR_HIDDEN_LOCATION_FULL_MOON_ISLAND + hiddenLocation, GetHiddenLocationMagicNumber(hiddenLocation)); } -void SystemVars_ClearHiddenLocation(VarsFlags *param0, int param1) +void SystemVars_ClearHiddenLocation(VarsFlags *varsFlags, enum HiddenLocation hiddenLocation) { - TrySetVarToValue(param0, (6 + SYSTEM_VARS_START) + param1, 0); + TrySetVarToValue(varsFlags, VAR_HIDDEN_LOCATION_FULL_MOON_ISLAND + hiddenLocation, 0); } -BOOL SystemVars_CheckHiddenLocation(VarsFlags *varFlags, int hiddenLocation) +BOOL SystemVars_CheckHiddenLocation(VarsFlags *varsFlags, enum HiddenLocation hiddenLocation) { - return TryGetVarValue(varFlags, (6 + SYSTEM_VARS_START) + hiddenLocation) == GetHiddenLocationMagicNumber(hiddenLocation); + return TryGetVarValue(varsFlags, VAR_HIDDEN_LOCATION_FULL_MOON_ISLAND + hiddenLocation) == GetHiddenLocationMagicNumber(hiddenLocation); } -BOOL SystemVars_ClearAmitySquareStepCount(VarsFlags *param0) +BOOL SystemVars_ClearAmitySquareStepCount(VarsFlags *varsFlags) { - return TrySetVarToValue(param0, (10 + SYSTEM_VARS_START), 0); + return TrySetVarToValue(varsFlags, VAR_AMITY_SQUARE_STEP_COUNT, 0); } -u16 SystemVars_GetAmitySquareStepCount(VarsFlags *param0) +u16 SystemVars_GetAmitySquareStepCount(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (10 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_AMITY_SQUARE_STEP_COUNT); } -BOOL SystemVars_IncrementAmitySquareStepCount(VarsFlags *param0) +BOOL SystemVars_IncrementAmitySquareStepCount(VarsFlags *varsFlags) { - u16 v0 = TryGetVarValue(param0, (10 + SYSTEM_VARS_START)); - - if (v0 < 10000) { - v0++; + u16 stepCount = TryGetVarValue(varsFlags, VAR_AMITY_SQUARE_STEP_COUNT); + if (stepCount < 10000) { + stepCount++; } else { - v0 = 10000; + stepCount = 10000; } - return TrySetVarToValue(param0, (10 + SYSTEM_VARS_START), v0); + return TrySetVarToValue(varsFlags, VAR_AMITY_SQUARE_STEP_COUNT, stepCount); } -u16 SystemVars_GetNewsPressDeadline(VarsFlags *param0) +u16 SystemVars_GetNewsPressDeadline(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (11 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_NEWS_PRESS_DEADLINE); } -BOOL SystemVars_SetNewsPressDeadline(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetNewsPressDeadline(VarsFlags *varsFlags, u16 deadlineInDays) { - return TrySetVarToValue(param0, (11 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_NEWS_PRESS_DEADLINE, deadlineInDays); } -static void SetJubilifeLotteryTrainerID(VarsFlags *param0, u32 param1) +static void SetJubilifeLotteryTrainerID(VarsFlags *varsFlags, u32 trainerID) { - u16 v1 = (param1 >> 16) & 0xffff; - u16 v0 = param1 & 0xffff; - TrySetVarToValue(param0, (12 + SYSTEM_VARS_START), v0); - TrySetVarToValue(param0, (12 + SYSTEM_VARS_START), v1); + u16 hi = HI_HALF(trainerID); + u16 lo = LO_HALF(trainerID); + TrySetVarToValue(varsFlags, VAR_LOTTERY_TRAINER_ID_LOW_HALF, lo); + TrySetVarToValue(varsFlags, VAR_LOTTERY_TRAINER_ID_LOW_HALF, hi); } -u32 SystemVars_GetJubilifeLotteryTrainerID(VarsFlags *param0) +u32 SystemVars_GetJubilifeLotteryTrainerID(VarsFlags *varsFlags) { - u16 v0 = TryGetVarValue(param0, (12 + SYSTEM_VARS_START)); - u16 v1 = TryGetVarValue(param0, (13 + SYSTEM_VARS_START)); - - return (v1 << 16) | v0; + u16 lo = TryGetVarValue(varsFlags, VAR_LOTTERY_TRAINER_ID_LOW_HALF); + u16 hi = TryGetVarValue(varsFlags, VAR_LOTTERY_TRAINER_ID_HIGH_HALF); + return HI_AND_LO(hi, lo); } -void SystemVars_RandomizeJubilifeLotteryTrainerID(VarsFlags *param0) +void SystemVars_RandomizeJubilifeLotteryTrainerID(VarsFlags *varsFlags) { - u16 v0 = LCRNG_Next(); - u16 v1 = LCRNG_Next(); - - SetJubilifeLotteryTrainerID(param0, (v1 << 16) | v0); + u16 loRand = LCRNG_Next(); + u16 hiRand = LCRNG_Next(); + SetJubilifeLotteryTrainerID(varsFlags, HI_AND_LO(hiRand, loRand)); } -void SystemVars_SynchronizeJubilifeLotteryTrainerID(SaveData *param0, u16 param1) +void SystemVars_SynchronizeJubilifeLotteryTrainerID(SaveData *saveData, u16 trainerID) { - VarsFlags *v0 = SaveData_GetVarsFlags(param0); - u32 v1 = RecordMixedRNG_GetRand(SaveData_GetRecordMixedRNG(param0)) * 1103515245L + 12345; - - SetJubilifeLotteryTrainerID(v0, v1); + VarsFlags *varsFlags = SaveData_GetVarsFlags(saveData); + u32 recordMixedRand = RecordMixedRNG_GetRand(SaveData_GetRecordMixedRNG(saveData)) * 1103515245L + 12345; + SetJubilifeLotteryTrainerID(varsFlags, recordMixedRand); } -u16 SystemVars_GetDailyRandomLevel(VarsFlags *param0) +u16 SystemVars_GetDailyRandomLevel(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (17 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_DAILY_RANDOM_LEVEL); } -static BOOL SetDailyRandomLevel(VarsFlags *param0, u16 param1) +static BOOL SetDailyRandomLevel(VarsFlags *varsFlags, u16 level) { - return TrySetVarToValue(param0, (17 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_DAILY_RANDOM_LEVEL, level); } -void SystemVars_SetDailyRandomLevel(SaveData *param0) +void SystemVars_SetDailyRandomLevel(SaveData *saveData) { - VarsFlags *v0 = SaveData_GetVarsFlags(param0); - u32 v1 = (LCRNG_Next() % 98) + 2; - SetDailyRandomLevel(v0, v1); + VarsFlags *varsFlags = SaveData_GetVarsFlags(saveData); + u32 level = (LCRNG_Next() % 98) + 2; + SetDailyRandomLevel(varsFlags, level); } -u16 SystemVars_GetSpiritombCounter(VarsFlags *param0) +u16 SystemVars_GetSpiritombCounter(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (14 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_SPIRITOMB_COUNTER); } -BOOL SystemVars_SetSpiritombCounter(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetSpiritombCounter(VarsFlags *varsFlags, u16 value) { - return TrySetVarToValue(param0, (14 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_SPIRITOMB_COUNTER, value); } -u16 SystemVars_GetUndergroundTalkCounter(VarsFlags *param0) +u16 SystemVars_GetUndergroundTalkCounter(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (25 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_UNDERGROUND_TALK_COUNTER); } -BOOL SystemVars_SetUndergroundTalkCounter(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetUndergroundTalkCounter(VarsFlags *varsFlags, u16 value) { - return TrySetVarToValue(param0, (25 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_UNDERGROUND_TALK_COUNTER, value); } -u16 SystemVars_GetConsecutiveBonusRoundWins(VarsFlags *param0) +u16 SystemVars_GetConsecutiveBonusRoundWins(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (16 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_CONSECUTIVE_BONUS_ROUND_WINS); } -BOOL SystemVars_SetConsecutiveBonusRoundWins(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetConsecutiveBonusRoundWins(VarsFlags *varsFlags, u16 wins) { - return TrySetVarToValue(param0, (16 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_CONSECUTIVE_BONUS_ROUND_WINS, wins); } -BOOL SystemVars_IncrementDepartmentStoreRegularCount(VarsFlags *param0) +BOOL SystemVars_IncrementDepartmentStoreRegularCount(VarsFlags *varsFlags) { - u16 v0 = TryGetVarValue(param0, (18 + SYSTEM_VARS_START)); - - if (v0 < 10000) { - v0++; + u16 counter = TryGetVarValue(varsFlags, VAR_DEPARTMENT_STORE_REGULAR_COUNTER); + if (counter < 10000) { + counter++; } else { - v0 = 10000; + counter = 10000; } - return TrySetVarToValue(param0, (18 + SYSTEM_VARS_START), v0); + return TrySetVarToValue(varsFlags, VAR_DEPARTMENT_STORE_REGULAR_COUNTER, counter); } -u16 SystemVars_GetDepartmentStoreRegularCount(VarsFlags *param0) +u16 SystemVars_GetDepartmentStoreRegularCount(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (18 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_DEPARTMENT_STORE_REGULAR_COUNTER); } -u16 SystemVars_GetUndergroundItemsGivenAway(VarsFlags *param0) +u16 SystemVars_GetUndergroundItemsGivenAway(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (36 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_UNDERGROUND_ITEMS_GIVEN_AWAY); } -BOOL SystemVars_SetUndergroundItemsGivenAway(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetUndergroundItemsGivenAway(VarsFlags *varsFlags, u16 value) { - return TrySetVarToValue(param0, (36 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_UNDERGROUND_ITEMS_GIVEN_AWAY, value); } -u16 SystemVars_GetUndergroundFossilsUnearthed(VarsFlags *param0) +u16 SystemVars_GetUndergroundFossilsUnearthed(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (23 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_UNDERGROUND_FOSSILS_UNEARTHED); } -BOOL SystemVars_SetUndergroundFossilsUnearthed(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetUndergroundFossilsUnearthed(VarsFlags *varsFlags, u16 value) { - return TrySetVarToValue(param0, (23 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_UNDERGROUND_FOSSILS_UNEARTHED, value); } -u16 SystemVars_GetUndergroundTrapsSet(VarsFlags *param0) +u16 SystemVars_GetUndergroundTrapsSet(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (24 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_UNDERGROUND_TRAPS_SET); } -BOOL SystemVars_SetUndergroundTrapsSet(VarsFlags *param0, u16 param1) +BOOL SystemVars_SetUndergroundTrapsSet(VarsFlags *varsFlags, u16 value) { - return TrySetVarToValue(param0, (24 + SYSTEM_VARS_START), param1); + return TrySetVarToValue(varsFlags, VAR_UNDERGROUND_TRAPS_SET, value); } -u16 SystemVars_GetFriendshipStepCount(VarsFlags *param0) +u16 SystemVars_GetFriendshipStepCount(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (26 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_FRIENDSHIP_INCREMENT_STEP_COUNTER); } -void SystemVars_SetFriendshipStepCount(VarsFlags *param0, u16 param1) +void SystemVars_SetFriendshipStepCount(VarsFlags *varsFlags, u16 value) { - TrySetVarToValue(param0, (26 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_FRIENDSHIP_INCREMENT_STEP_COUNTER, value); } -void SystemVars_SetEternaGymFlowerClock(VarsFlags *param0, u16 param1) +void SystemVars_SetEternaGymFlowerClock(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (27 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_ETERNA_GYM_FLOWER_CLOCK_STATE, state); } -u16 SystemVars_GetEternaGymFlowerClock(VarsFlags *param0) +u16 SystemVars_GetEternaGymFlowerClock(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (27 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_ETERNA_GYM_FLOWER_CLOCK_STATE); } -void SystemVars_SetTotalTurnsForLastBattle(VarsFlags *param0, u16 param1) +void SystemVars_SetTotalTurnsForLastBattle(VarsFlags *varsFlags, u16 turns) { - TrySetVarToValue(param0, (29 + SYSTEM_VARS_START), (param1 + 1)); + TrySetVarToValue(varsFlags, VAR_TOTAL_TURNS_LAST_BATTLE, turns + 1); } static const u8 sVillaVisitorPercentChances[] = { @@ -419,141 +412,141 @@ static u8 CalcVillaVisitorIndex(VarsFlags *varsFlags) return rngPercent; } -void SystemVars_UpdateVillaVisitor(SaveData *param0) +void SystemVars_UpdateVillaVisitor(SaveData *saveData) { - VarsFlags *v1 = SaveData_GetVarsFlags(param0); - FieldOverworldState *fieldState = SaveData_GetFieldOverworldState(param0); + VarsFlags *varsFlags = SaveData_GetVarsFlags(saveData); + FieldOverworldState *fieldState = SaveData_GetFieldOverworldState(saveData); Location *location = FieldOverworldState_GetPlayerLocation(fieldState); - if ((location->mapId != MAP_HEADER_RESORT_AREA) && (location->mapId != MAP_HEADER_VILLA)) { - SystemFlag_ClearVillaVisitorInside(v1); - SystemFlag_ClearVillaVisitorOutside(v1); - InitVillaVisitor(v1, CalcVillaVisitorIndex(v1)); + if (location->mapId != MAP_HEADER_RESORT_AREA && location->mapId != MAP_HEADER_VILLA) { + SystemFlag_ClearVillaVisitorInside(varsFlags); + SystemFlag_ClearVillaVisitorOutside(varsFlags); + InitVillaVisitor(varsFlags, CalcVillaVisitorIndex(varsFlags)); } - - return; } -static void InitVillaVisitor(VarsFlags *param0, u16 param1) +static void InitVillaVisitor(VarsFlags *varsFlags, u16 visitor) { - TrySetVarToValue(param0, (30 + SYSTEM_VARS_START), param1); - TrySetVarToValue(param0, (42 + SYSTEM_VARS_START), (LCRNG_Next() % 5)); + TrySetVarToValue(varsFlags, VAR_RESORT_VILLA_VISITOR, visitor); + TrySetVarToValue(varsFlags, VAR_RESORT_VILLA_VISITOR_MESSAGE_NUM, LCRNG_Next() % 5); } -u16 SystemVars_GetBattleFactoryPrintState(VarsFlags *param0) +u16 SystemVars_GetBattleFactoryPrintState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (32 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_BATTLE_FACTORY_PRINT_STATE); } -u16 SystemVars_GetBattleHallPrintState(VarsFlags *param0) +u16 SystemVars_GetBattleHallPrintState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (33 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_BATTLE_HALL_PRINT_STATE); } -u16 SystemVars_GetBattleCastlePrintState(VarsFlags *param0) +u16 SystemVars_GetBattleCastlePrintState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (34 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_BATTLE_CASTLE_PRINT_STATE); } -u16 SystemVars_GetBattleArcadePrintState(VarsFlags *param0) +u16 SystemVars_GetBattleArcadePrintState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (35 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_BATTLE_ARCADE_PRINT_STATE); } -u16 SystemVars_GetBattleTowerPrintState(VarsFlags *param0) +u16 SystemVars_GetBattleTowerPrintState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (31 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_BATTLE_TOWER_PRINT_STATE); } -u16 SystemVars_GetDistortionWorldProgress(VarsFlags *param0) +u16 SystemVars_GetDistortionWorldProgress(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (37 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_DISTORTION_WORLD_PROGRESS); } -void SystemVars_SetDistortionWorldProgress(VarsFlags *param0, u16 param1) +void SystemVars_SetDistortionWorldProgress(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (37 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_DISTORTION_WORLD_PROGRESS, state); } -u16 SystemVars_GetArceusEventState(VarsFlags *param0) +u16 SystemVars_GetArceusEventState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (38 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_ARCEUS_EVENT_STATE); } -void SystemVars_SetArceusEventState(VarsFlags *param0, u16 param1) +void SystemVars_SetArceusEventState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (38 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_ARCEUS_EVENT_STATE, state); } -u16 SystemVars_GetShayminEventState(VarsFlags *param0) +u16 SystemVars_GetShayminEventState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (39 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_SHAYMIN_EVENT_STATE); } -void SystemVars_SetShayminEventState(VarsFlags *param0, u16 param1) +void SystemVars_SetShayminEventState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (39 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_SHAYMIN_EVENT_STATE, state); } -static void SetRoamingCresseliaState(VarsFlags *param0, u16 param1) +static void SetRoamingCresseliaState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (40 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_ROAMING_CRESSELIA_STATE, state); } -static void SetRoamingMespritState(VarsFlags *param0, u16 param1) +static void SetRoamingMespritState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (41 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_ROAMING_MESPRIT_STATE, state); } -static void SetRoamingMoltresState(VarsFlags *param0, u16 param1) +static void SetRoamingMoltresState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (46 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_ROAMING_MOLTRES_STATE, state); } -static void SetRoamingZapdosState(VarsFlags *param0, u16 param1) +static void SetRoamingZapdosState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (47 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_ROAMING_ZAPDOS_STATE, state); } -static void SetRoamingArticunoState(VarsFlags *param0, u16 param1) +static void SetRoamingArticunoState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (48 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_ROAMING_ARTICUNO_STATE, state); } -void SystemVars_SetRoamingSpeciesState(VarsFlags *param0, u16 param1, u16 param2) +void SystemVars_SetRoamingSpeciesState(VarsFlags *varsFlags, u16 species, u16 state) { - switch (param1) { - case 481: - SetRoamingMespritState(param0, param2); + switch (species) { + case SPECIES_MESPRIT: + SetRoamingMespritState(varsFlags, state); break; - case 488: - SetRoamingCresseliaState(param0, param2); + + case SPECIES_CRESSELIA: + SetRoamingCresseliaState(varsFlags, state); break; - case 146: - SetRoamingMoltresState(param0, param2); + + case SPECIES_MOLTRES: + SetRoamingMoltresState(varsFlags, state); break; - case 145: - SetRoamingZapdosState(param0, param2); + + case SPECIES_ZAPDOS: + SetRoamingZapdosState(varsFlags, state); break; - case 144: - SetRoamingArticunoState(param0, param2); + + case SPECIES_ARTICUNO: + SetRoamingArticunoState(varsFlags, state); break; } - - return; } -u16 SystemVars_GetDistortionWorldCyrusApperanceState(VarsFlags *param0) +u16 SystemVars_GetDistortionWorldCyrusApperanceState(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (43 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_DISTORTION_WORLD_CYRUS_APPEARANCE); } -void SystemVars_SetDistortionWorldCyrusApperanceState(VarsFlags *param0, u16 param1) +void SystemVars_SetDistortionWorldCyrusApperanceState(VarsFlags *varsFlags, u16 state) { - TrySetVarToValue(param0, (43 + SYSTEM_VARS_START), param1); + TrySetVarToValue(varsFlags, VAR_DISTORTION_WORLD_CYRUS_APPEARANCE, state); } -u16 SystemVars_GetWiFiFrontierCleared(VarsFlags *param0) +u16 SystemVars_GetWiFiFrontierCleared(VarsFlags *varsFlags) { - return TryGetVarValue(param0, (52 + SYSTEM_VARS_START)); + return TryGetVarValue(varsFlags, VAR_WIFI_FRONTIER_CLEARED); }