diff --git a/include/battle.h b/include/battle.h index f749e02511..9fd35f7329 100644 --- a/include/battle.h +++ b/include/battle.h @@ -7,6 +7,7 @@ #include "constants/battle.h" #include "constants/form_change_types.h" #include "constants/hold_effects.h" +#include "constants/moves.h" #include "battle_main.h" #include "battle_message.h" #include "battle_util.h" @@ -587,7 +588,8 @@ struct BattlerState u32 ateBoost:1; u32 wasAboveHalfHp:1; // For Berserk, Emergency Exit, Wimp Out and Anger Shell. u32 commanderSpecies:11; - u32 padding:4; + u32 selectionScriptFinished:1; + u32 padding:3; // End of Word }; @@ -628,7 +630,6 @@ struct BattleStruct struct BattlerState battlerState[MAX_BATTLERS_COUNT]; struct PartyState partyState[NUM_BATTLE_SIDES][PARTY_SIZE]; struct EventStates eventState; - u16 wrappedMove[MAX_BATTLERS_COUNT]; u16 moveTarget[MAX_BATTLERS_COUNT]; u32 expShareExpValue; u32 expValue; @@ -641,14 +642,12 @@ struct BattleStruct u8 expSentInMons; // As bits for player party mons - not including exp share mons. u8 wildVictorySong; enum Type dynamicMoveType; - u8 wrappedBy[MAX_BATTLERS_COUNT]; u8 battlerPreventingSwitchout; u8 moneyMultiplier:6; u8 moneyMultiplierItem:1; u8 moneyMultiplierMove:1; u8 savedTurnActionNumber; u8 scriptPartyIdx; // for printing the nickname - bool8 selectionScriptFinished[MAX_BATTLERS_COUNT]; u8 battlerPartyIndexes[MAX_BATTLERS_COUNT]; u8 monToSwitchIntoId[MAX_BATTLERS_COUNT]; u8 battlerPartyOrders[MAX_BATTLERS_COUNT][PARTY_SIZE / 2]; @@ -753,7 +752,6 @@ struct BattleStruct s32 aiDelayTimer; // Counts number of frames AI takes to choose an action. s32 aiDelayFrames; // Number of frames it took to choose an action. s32 aiDelayCycles; // Number of cycles it took to choose an action. - u8 stickySyrupdBy[MAX_BATTLERS_COUNT]; u8 supremeOverlordCounter[MAX_BATTLERS_COUNT]; u8 shellSideArmCategory[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT]; u8 speedTieBreaks; // MAX_BATTLERS_COUNT! values. diff --git a/include/constants/battle.h b/include/constants/battle.h index 0ecfc3c56b..fe8ff2b0a7 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -1,6 +1,8 @@ #ifndef GUARD_CONSTANTS_BATTLE_H #define GUARD_CONSTANTS_BATTLE_H +#include "constants/moves.h" + /* * A battler may be in one of four positions on the field. The first bit determines * what side the battler is on, either the player's side or the opponent's side. @@ -168,6 +170,8 @@ enum VolatileFlags F(VOLATILE_LOCK_CONFUSE, lockConfusionTurns, (u32, 3)) \ F(VOLATILE_MULTIPLETURNS, multipleTurns, (u32, 1)) \ F(VOLATILE_WRAPPED, wrapped, (u32, 1)) \ + F(VOLATILE_WRAPPED_BY, wrappedBy, (enum BattlerId, MAX_BITS(4))) \ + F(VOLATILE_WRAPPED_MOVE, wrappedMove, (u32, MOVES_COUNT_ALL - 1)) \ F(VOLATILE_POWDER, powder, (u32, 1)) \ F(VOLATILE_UNUSED, padding, (u32, 1)) \ F(VOLATILE_INFATUATION, infatuation, (enum BattlerId, MAX_BITS(4))) \ @@ -189,6 +193,7 @@ enum VolatileFlags F(VOLATILE_INFINITE_CONFUSION, infiniteConfusion, (u32, 1), V_BATON_PASSABLE) \ F(VOLATILE_SALT_CURE, saltCure, (u32, 1)) \ F(VOLATILE_SYRUP_BOMB, syrupBomb, (u32, 1)) \ + F(VOLATILE_STICKY_SYRUPED_BY, stickySyrupedBy, (enum BattlerId, MAX_BITS(4))) \ F(VOLATILE_GLAIVE_RUSH, glaiveRush, (u32, 1)) \ F(VOLATILE_LEECH_SEED, leechSeed, (enum BattlerId, MAX_BITS(4)), V_BATON_PASSABLE) \ F(VOLATILE_LOCK_ON, lockOn, (u32, 2), V_BATON_PASSABLE) \ diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index b7cc0831cb..84b18c98c9 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3105,17 +3105,16 @@ static u32 GetCurseDamage(u32 battlerId) return damage; } -static u32 GetTrapDamage(u32 battlerId) +static u32 GetTrapDamage(u32 battler) { // ai has no knowledge about turns remaining u32 damage = 0; - enum HoldEffect holdEffect = gAiLogicData->holdEffects[gBattleStruct->wrappedBy[battlerId]]; - if (gBattleMons[battlerId].volatiles.wrapped) + if (gBattleMons[battler].volatiles.wrapped) { - if (holdEffect == HOLD_EFFECT_BINDING_BAND) - damage = GetNonDynamaxMaxHP(battlerId) / (B_BINDING_DAMAGE >= GEN_6 ? 6 : 8); + if (gAiLogicData->holdEffects[gBattleMons[battler].volatiles.wrappedBy] == HOLD_EFFECT_BINDING_BAND) + damage = GetNonDynamaxMaxHP(battler) / (B_BINDING_DAMAGE >= GEN_6 ? 6 : 8); else - damage = GetNonDynamaxMaxHP(battlerId) / (B_BINDING_DAMAGE >= GEN_6 ? 8 : 16); + damage = GetNonDynamaxMaxHP(battler) / (B_BINDING_DAMAGE >= GEN_6 ? 8 : 16); if (damage == 0) damage = 1; diff --git a/src/battle_end_turn.c b/src/battle_end_turn.c index ff52a62832..dfedea623c 100644 --- a/src/battle_end_turn.c +++ b/src/battle_end_turn.c @@ -634,12 +634,12 @@ static bool32 HandleEndTurnWrap(u32 battler) if (IsAbilityAndRecord(battler, GetBattlerAbility(battler), ABILITY_MAGIC_GUARD)) return effect; - gBattleScripting.animArg1 = gBattleStruct->wrappedMove[battler]; - gBattleScripting.animArg2 = gBattleStruct->wrappedMove[battler] >> 8; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[battler]); + gBattleScripting.animArg1 = gBattleMons[battler].volatiles.wrappedMove; + gBattleScripting.animArg2 = gBattleMons[battler].volatiles.wrappedMove >> 8; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[battler].volatiles.wrappedMove); BattleScriptExecute(BattleScript_WrapTurnDmg); s32 bindDamage = 0; - if (GetBattlerHoldEffect(gBattleStruct->wrappedBy[battler]) == HOLD_EFFECT_BINDING_BAND) + if (GetBattlerHoldEffect(gBattleMons[battler].volatiles.wrappedBy) == HOLD_EFFECT_BINDING_BAND) bindDamage = GetNonDynamaxMaxHP(battler) / (B_BINDING_DAMAGE >= GEN_6 ? 6 : 8); else bindDamage = GetNonDynamaxMaxHP(battler) / (B_BINDING_DAMAGE >= GEN_6 ? 8 : 16); @@ -648,7 +648,7 @@ static bool32 HandleEndTurnWrap(u32 battler) else // broke free { gBattleMons[battler].volatiles.wrapped = FALSE; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[battler]); + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[battler].volatiles.wrappedMove); BattleScriptExecute(BattleScript_WrapEnds); } effect = TRUE; diff --git a/src/battle_main.c b/src/battle_main.c index d70107a81c..f2b74ee4b5 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3189,9 +3189,9 @@ void SwitchInClearSetData(u32 battler, struct Volatiles *volatilesCopy) { if (gBattleMons[i].volatiles.infatuation == INFATUATED_WITH(battler)) gBattleMons[i].volatiles.infatuation = 0; - if (gBattleMons[i].volatiles.wrapped && gBattleStruct->wrappedBy[i] == battler) + if (gBattleMons[i].volatiles.wrapped && gBattleMons[i].volatiles.wrappedBy == battler) gBattleMons[i].volatiles.wrapped = FALSE; - if (gBattleMons[i].volatiles.syrupBomb && gBattleStruct->stickySyrupdBy[i] == battler) + if (gBattleMons[i].volatiles.syrupBomb && gBattleMons[i].volatiles.stickySyrupedBy == battler) gBattleMons[i].volatiles.syrupBomb = FALSE; if (gDisableStructs[i].octolock && gDisableStructs[i].octolockedBy == battler) gDisableStructs[i].octolock = FALSE; @@ -3316,9 +3316,9 @@ const u8* FaintClearSetData(u32 battler) gBattleMons[i].volatiles.escapePrevention = FALSE; if (gBattleMons[i].volatiles.infatuation == INFATUATED_WITH(battler)) gBattleMons[i].volatiles.infatuation = 0; - if (gBattleMons[i].volatiles.wrapped && gBattleStruct->wrappedBy[i] == battler) + if (gBattleMons[i].volatiles.wrapped && gBattleMons[i].volatiles.wrappedBy == battler) gBattleMons[i].volatiles.wrapped = FALSE; - if (gBattleMons[i].volatiles.syrupBomb && gBattleStruct->stickySyrupdBy[i] == battler) + if (gBattleMons[i].volatiles.syrupBomb && gBattleMons[i].volatiles.stickySyrupedBy == battler) gBattleMons[i].volatiles.syrupBomb = FALSE; if (gDisableStructs[i].octolock && gDisableStructs[i].octolockedBy == battler) gDisableStructs[i].octolock = FALSE; @@ -4271,7 +4271,7 @@ static void HandleTurnActionSelectionState(void) if (AreAllMovesUnusable(battler)) { gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; gBattleStruct->moveTarget[battler] = gBattleResources->bufferB[battler][3]; return; @@ -4313,7 +4313,7 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_ClearBattlerAction(battler, 1); gSelectionBattleScripts[battler] = BattleScript_ActionSelectionItemsCantBeUsed; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4329,7 +4329,7 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_ClearBattlerAction(battler, 1); gSelectionBattleScripts[battler] = BattleScript_ActionSelectionItemsCantBeUsed; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4367,7 +4367,7 @@ static void HandleTurnActionSelectionState(void) { gSelectionBattleScripts[battler] = BattleScript_PrintFullBox; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4428,7 +4428,7 @@ static void HandleTurnActionSelectionState(void) { gSelectionBattleScripts[battler] = BattleScript_AskIfWantsToForfeitMatch; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT_MAY_RUN; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4436,7 +4436,7 @@ static void HandleTurnActionSelectionState(void) { gSelectionBattleScripts[battler] = BattleScript_QuestionForfeitBattle; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT_MAY_RUN; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4453,7 +4453,7 @@ static void HandleTurnActionSelectionState(void) { gSelectionBattleScripts[battler] = BattleScript_PrintCantEscapeFromBattle; gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4495,7 +4495,7 @@ static void HandleTurnActionSelectionState(void) { RecordedBattle_ClearBattlerAction(battler, 1); gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; - gBattleStruct->selectionScriptFinished[battler] = FALSE; + gBattleStruct->battlerState[battler].selectionScriptFinished = FALSE; gBattleResources->bufferB[battler][1] = B_ACTION_USE_MOVE; gBattleStruct->stateIdAfterSelScript[battler] = STATE_WAIT_ACTION_CHOSEN; return; @@ -4629,7 +4629,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_SELECTION_SCRIPT: - if (gBattleStruct->selectionScriptFinished[battler]) + if (gBattleStruct->battlerState[battler].selectionScriptFinished) { gBattleCommunication[battler] = gBattleStruct->stateIdAfterSelScript[battler]; } @@ -4651,7 +4651,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_SELECTION_SCRIPT_MAY_RUN: - if (gBattleStruct->selectionScriptFinished[battler]) + if (gBattleStruct->battlerState[battler].selectionScriptFinished) { if (gBattleResources->bufferB[battler][1] == B_ACTION_NOTHING_FAINTED) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 1889e52934..04db81a59e 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3119,15 +3119,13 @@ void SetMoveEffect(u32 battler, u32 effectBattler, enum MoveEffect moveEffect, c } else { - gBattleMons[gEffectBattler].volatiles.wrapped = TRUE; if (GetBattlerHoldEffect(gBattlerAttacker) == HOLD_EFFECT_GRIP_CLAW) gDisableStructs[gEffectBattler].wrapTurns = B_BINDING_TURNS >= GEN_5 ? 7 : 5; else gDisableStructs[gEffectBattler].wrapTurns = B_BINDING_TURNS >= GEN_5 ? RandomUniform(RNG_WRAP, 4, 5) : RandomUniform(RNG_WRAP, 2, 5); - - gBattleStruct->wrappedMove[gEffectBattler] = gCurrentMove; - gBattleStruct->wrappedBy[gEffectBattler] = gBattlerAttacker; - + gBattleMons[gEffectBattler].volatiles.wrapped = TRUE; + gBattleMons[gEffectBattler].volatiles.wrappedMove = gCurrentMove; + gBattleMons[gEffectBattler].volatiles.wrappedBy = gBattlerAttacker; BattleScriptPush(battleScript); gBattlescriptCurrInstr = BattleScript_MoveEffectWrap; } @@ -3476,9 +3474,9 @@ void SetMoveEffect(u32 battler, u32 effectBattler, enum MoveEffect moveEffect, c struct Pokemon *mon = GetBattlerMon(gBattlerAttacker); gBattleMons[gEffectBattler].volatiles.syrupBomb = TRUE; + gBattleMons[gEffectBattler].volatiles.stickySyrupedBy = gBattlerAttacker; gDisableStructs[gEffectBattler].syrupBombTimer = 3; gDisableStructs[gEffectBattler].syrupBombIsShiny = IsMonShiny(mon); - gBattleStruct->stickySyrupdBy[gEffectBattler] = gBattlerAttacker; BattleScriptPush(battleScript); gBattlescriptCurrInstr = BattleScript_SyrupBombActivates; } @@ -3888,11 +3886,11 @@ void SetMoveEffect(u32 battler, u32 effectBattler, enum MoveEffect moveEffect, c else gDisableStructs[battler].wrapTurns = (Random() % 2) + 4; // The Wrap effect does not expire when the user switches, so here's some cheese. - gBattleStruct->wrappedBy[battler] = gBattlerTarget; + gBattleMons[battler].volatiles.wrappedBy = gBattlerTarget; if (moveEffect == MOVE_EFFECT_SANDBLAST_SIDE) - gBattleStruct->wrappedMove[battler] = MOVE_SAND_TOMB; + gBattleMons[battler].volatiles.wrappedMove = MOVE_SAND_TOMB; else - gBattleStruct->wrappedMove[battler] = MOVE_FIRE_SPIN; + gBattleMons[battler].volatiles.wrappedMove = MOVE_FIRE_SPIN; } } break; @@ -5373,8 +5371,7 @@ static void Cmd_jumpifabilitypresent(void) static void Cmd_endselectionscript(void) { CMD_ARGS(); - - *(gBattlerAttacker + gBattleStruct->selectionScriptFinished) = TRUE; + gBattleStruct->battlerState[gBattlerAttacker].selectionScriptFinished = TRUE; } static void PlayAnimation(u32 battler, u8 animId, const u16 *argPtr, const u8 *nextInstr) @@ -12226,8 +12223,8 @@ static void Cmd_rapidspinfree(void) { gBattleScripting.battler = gBattlerTarget; gBattleMons[gBattlerAttacker].volatiles.wrapped = FALSE; - gBattlerTarget = gBattleStruct->wrappedBy[gBattlerAttacker]; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[gBattlerAttacker]); + gBattlerTarget = gBattleMons[gBattlerAttacker].volatiles.wrappedBy; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].volatiles.wrappedMove); BattleScriptCall(BattleScript_WrapFree); } else if (gBattleMons[gBattlerAttacker].volatiles.leechSeed) diff --git a/src/landmark.c b/src/landmark.c index a8cf6c1233..c26e61f45f 100644 --- a/src/landmark.c +++ b/src/landmark.c @@ -15,90 +15,49 @@ struct LandmarkList const struct Landmark *const *landmarks; }; -static const u8 LandmarkName_FlowerShop[] = _("FLOWER SHOP"); -static const u8 LandmarkName_PetalburgWoods[] = _("PETALBURG WOODS"); -static const u8 LandmarkName_MrBrineysCottage[] = _("MR. BRINEY'S COTTAGE"); -static const u8 LandmarkName_AbandonedShip[] = _("ABANDONED SHIP"); -static const u8 LandmarkName_SeashoreHouse[] = _("SEASHORE HOUSE"); -static const u8 LandmarkName_SlateportBeach[] = _("SLATEPORT BEACH"); -static const u8 LandmarkName_CyclingRoad[] = _("CYCLING ROAD"); -static const u8 LandmarkName_NewMauville[] = _("NEW MAUVILLE"); -static const u8 LandmarkName_TrickHouse[] = _("TRICK HOUSE"); -static const u8 LandmarkName_OldLadysRestShop[] = _("OLD LADY'S REST STOP"); -static const u8 LandmarkName_Desert[] = _("DESERT"); -static const u8 LandmarkName_WinstrateFamily[] = _("THE WINSTRATE FAMILY"); -static const u8 LandmarkName_CableCar[] = _("CABLE CAR"); -static const u8 LandmarkName_GlassWorkshop[] = _("GLASS WORKSHOP"); -static const u8 LandmarkName_WeatherInstitute[] = _("WEATHER INSTITUTE"); -static const u8 LandmarkName_MeteorFalls[] = _("METEOR FALLS"); -static const u8 LandmarkName_TunnelersRestHouse[] = _("TUNNELER'S RESTHOUSE"); -static const u8 LandmarkName_RusturfTunnel[] = _("RUSTURF TUNNEL"); -static const u8 LandmarkName_PokemonDayCare[] = _("POKéMON DAY CARE"); -static const u8 LandmarkName_SafariZoneEntrance[] = _("SAFARI ZONE ENTRANCE"); -static const u8 LandmarkName_MtPyre[] = _("MT. PYRE"); -static const u8 LandmarkName_ShoalCave[] = _("SHOAL CAVE"); -static const u8 LandmarkName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); -static const u8 LandmarkName_GraniteCave[] = _("GRANITE CAVE"); -static const u8 LandmarkName_OceanCurrent[] = _("OCEAN CURRENT"); -static const u8 LandmarkName_LanettesHouse[] = _("LANETTE'S HOUSE"); -static const u8 LandmarkName_FieryPath[] = _("FIERY PATH"); -static const u8 LandmarkName_JaggedPass[] = _("JAGGED PASS"); -static const u8 LandmarkName_SkyPillar[] = _("SKY PILLAR"); -static const u8 LandmarkName_BerryMastersHouse[] = _("BERRY MASTER'S HOUSE"); -static const u8 LandmarkName_IslandCave[] = _("ISLAND CAVE"); -static const u8 LandmarkName_DesertRuins[] = _("DESERT RUINS"); -static const u8 LandmarkName_ScorchedSlab[] = _("SCORCHED SLAB"); -static const u8 LandmarkName_AncientTomb[] = _("ANCIENT TOMB"); -static const u8 LandmarkName_SealedChamber[] = _("SEALED CHAMBER"); -static const u8 LandmarkName_FossilManiacsHouse[] = _("FOSSIL MANIAC'S HOUSE"); -static const u8 LandmarkName_HuntersHouse[] = _("HUNTER'S HOUSE"); -static const u8 LandmarkName_MagmaHideout[] = _("MAGMA HIDEOUT"); -static const u8 LandmarkName_MirageTower[] = _("MIRAGE TOWER"); -static const u8 LandmarkName_AlteringCave[] = _("ALTERING CAVE"); -static const u8 LandmarkName_DesertUnderpass[] = _("DESERT UNDERPASS"); -static const u8 LandmarkName_TrainerHill[] = _("TRAINER HILL"); +static const u8 LandmarkName_MagmaHideout[] = _("MAGMA HIDEOUT"); //Unused -static const struct Landmark Landmark_FlowerShop = {LandmarkName_FlowerShop, FLAG_LANDMARK_FLOWER_SHOP}; -static const struct Landmark Landmark_PetalburgWoods = {LandmarkName_PetalburgWoods, -1}; -static const struct Landmark Landmark_MrBrineysCottage = {LandmarkName_MrBrineysCottage, FLAG_LANDMARK_MR_BRINEY_HOUSE}; -static const struct Landmark Landmark_AbandonedShip = {LandmarkName_AbandonedShip, FLAG_LANDMARK_ABANDONED_SHIP}; -static const struct Landmark Landmark_SeashoreHouse = {LandmarkName_SeashoreHouse, FLAG_LANDMARK_SEASHORE_HOUSE}; -static const struct Landmark Landmark_SlateportBeach = {LandmarkName_SlateportBeach, -1}; -static const struct Landmark Landmark_CyclingRoad = {LandmarkName_CyclingRoad, -1}; -static const struct Landmark Landmark_NewMauville = {LandmarkName_NewMauville, FLAG_LANDMARK_NEW_MAUVILLE}; -static const struct Landmark Landmark_TrickHouse = {LandmarkName_TrickHouse, FLAG_LANDMARK_TRICK_HOUSE}; -static const struct Landmark Landmark_OldLadysRestShop = {LandmarkName_OldLadysRestShop, FLAG_LANDMARK_OLD_LADY_REST_SHOP}; -static const struct Landmark Landmark_Desert = {LandmarkName_Desert, -1}; -static const struct Landmark Landmark_WinstrateFamily = {LandmarkName_WinstrateFamily, FLAG_LANDMARK_WINSTRATE_FAMILY}; -static const struct Landmark Landmark_CableCar = {LandmarkName_CableCar, -1}; -static const struct Landmark Landmark_GlassWorkshop = {LandmarkName_GlassWorkshop, FLAG_LANDMARK_GLASS_WORKSHOP}; -static const struct Landmark Landmark_WeatherInstitute = {LandmarkName_WeatherInstitute, -1}; -static const struct Landmark Landmark_MeteorFalls = {LandmarkName_MeteorFalls, -1}; -static const struct Landmark Landmark_TunnelersRestHouse = {LandmarkName_TunnelersRestHouse, FLAG_LANDMARK_TUNNELERS_REST_HOUSE}; -static const struct Landmark Landmark_RusturfTunnel = {LandmarkName_RusturfTunnel, -1}; -static const struct Landmark Landmark_PokemonDayCare = {LandmarkName_PokemonDayCare, FLAG_LANDMARK_POKEMON_DAYCARE}; -static const struct Landmark Landmark_SafariZoneEntrance = {LandmarkName_SafariZoneEntrance, -1}; -static const struct Landmark Landmark_MtPyre = {LandmarkName_MtPyre, -1}; -static const struct Landmark Landmark_ShoalCave = {LandmarkName_ShoalCave, -1}; -static const struct Landmark Landmark_SeafloorCavern = {LandmarkName_SeafloorCavern, FLAG_LANDMARK_SEAFLOOR_CAVERN}; -static const struct Landmark Landmark_GraniteCave = {LandmarkName_GraniteCave, -1}; -static const struct Landmark Landmark_OceanCurrent = {LandmarkName_OceanCurrent, -1}; -static const struct Landmark Landmark_LanettesHouse = {LandmarkName_LanettesHouse, FLAG_LANDMARK_LANETTES_HOUSE}; -static const struct Landmark Landmark_FieryPath = {LandmarkName_FieryPath, FLAG_LANDMARK_FIERY_PATH}; -static const struct Landmark Landmark_JaggedPass = {LandmarkName_JaggedPass, -1}; -static const struct Landmark Landmark_BerryMastersHouse = {LandmarkName_BerryMastersHouse, FLAG_LANDMARK_BERRY_MASTERS_HOUSE}; -static const struct Landmark Landmark_IslandCave = {LandmarkName_IslandCave, FLAG_LANDMARK_ISLAND_CAVE}; -static const struct Landmark Landmark_DesertRuins = {LandmarkName_DesertRuins, FLAG_LANDMARK_DESERT_RUINS}; -static const struct Landmark Landmark_ScorchedSlab = {LandmarkName_ScorchedSlab, FLAG_LANDMARK_SCORCHED_SLAB}; -static const struct Landmark Landmark_AncientTomb = {LandmarkName_AncientTomb, FLAG_LANDMARK_ANCIENT_TOMB}; -static const struct Landmark Landmark_SealedChamber = {LandmarkName_SealedChamber, FLAG_LANDMARK_SEALED_CHAMBER}; -static const struct Landmark Landmark_FossilManiacsHouse = {LandmarkName_FossilManiacsHouse, FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE}; -static const struct Landmark Landmark_HuntersHouse = {LandmarkName_HuntersHouse, FLAG_LANDMARK_HUNTERS_HOUSE}; -static const struct Landmark Landmark_SkyPillar = {LandmarkName_SkyPillar, FLAG_LANDMARK_SKY_PILLAR}; -static const struct Landmark Landmark_MirageTower = {LandmarkName_MirageTower, FLAG_LANDMARK_MIRAGE_TOWER}; -static const struct Landmark Landmark_AlteringCave = {LandmarkName_AlteringCave, FLAG_LANDMARK_ALTERING_CAVE}; -static const struct Landmark Landmark_DesertUnderpass = {LandmarkName_DesertUnderpass, FLAG_LANDMARK_DESERT_UNDERPASS}; -static const struct Landmark Landmark_TrainerHill = {LandmarkName_TrainerHill, FLAG_LANDMARK_TRAINER_HILL}; +static const struct Landmark Landmark_FlowerShop = {COMPOUND_STRING("FLOWER SHOP"), FLAG_LANDMARK_FLOWER_SHOP}; +static const struct Landmark Landmark_PetalburgWoods = {COMPOUND_STRING("PETALBURG WOODS"), -1}; +static const struct Landmark Landmark_MrBrineysCottage = {COMPOUND_STRING("MR. BRINEY'S COTTAGE"), FLAG_LANDMARK_MR_BRINEY_HOUSE}; +static const struct Landmark Landmark_AbandonedShip = {COMPOUND_STRING("ABANDONED SHIP"), FLAG_LANDMARK_ABANDONED_SHIP}; +static const struct Landmark Landmark_SeashoreHouse = {COMPOUND_STRING("SEASHORE HOUSE"), FLAG_LANDMARK_SEASHORE_HOUSE}; +static const struct Landmark Landmark_SlateportBeach = {COMPOUND_STRING("SLATEPORT BEACH"), -1}; +static const struct Landmark Landmark_CyclingRoad = {COMPOUND_STRING("CYCLING ROAD"), -1}; +static const struct Landmark Landmark_NewMauville = {COMPOUND_STRING("NEW MAUVILLE"), FLAG_LANDMARK_NEW_MAUVILLE}; +static const struct Landmark Landmark_TrickHouse = {COMPOUND_STRING("TRICK HOUSE"), FLAG_LANDMARK_TRICK_HOUSE}; +static const struct Landmark Landmark_OldLadysRestShop = {COMPOUND_STRING("OLD LADY'S REST STOP"), FLAG_LANDMARK_OLD_LADY_REST_SHOP}; +static const struct Landmark Landmark_Desert = {COMPOUND_STRING("DESERT"), -1}; +static const struct Landmark Landmark_WinstrateFamily = {COMPOUND_STRING("THE WINSTRATE FAMILY"), FLAG_LANDMARK_WINSTRATE_FAMILY}; +static const struct Landmark Landmark_CableCar = {COMPOUND_STRING("CABLE CAR"), -1}; +static const struct Landmark Landmark_GlassWorkshop = {COMPOUND_STRING("GLASS WORKSHOP"), FLAG_LANDMARK_GLASS_WORKSHOP}; +static const struct Landmark Landmark_WeatherInstitute = {COMPOUND_STRING("WEATHER INSTITUTE"), -1}; +static const struct Landmark Landmark_MeteorFalls = {COMPOUND_STRING("METEOR FALLS"), -1}; +static const struct Landmark Landmark_TunnelersRestHouse = {COMPOUND_STRING("TUNNELER'S RESTHOUSE"), FLAG_LANDMARK_TUNNELERS_REST_HOUSE}; +static const struct Landmark Landmark_RusturfTunnel = {COMPOUND_STRING("RUSTURF TUNNEL"), -1}; +static const struct Landmark Landmark_PokemonDayCare = {COMPOUND_STRING("POKéMON DAY CARE"), FLAG_LANDMARK_POKEMON_DAYCARE}; +static const struct Landmark Landmark_SafariZoneEntrance = {COMPOUND_STRING("SAFARI ZONE ENTRANCE"), -1}; +static const struct Landmark Landmark_MtPyre = {COMPOUND_STRING("MT. PYRE"), -1}; +static const struct Landmark Landmark_ShoalCave = {COMPOUND_STRING("SHOAL CAVE"), -1}; +static const struct Landmark Landmark_SeafloorCavern = {COMPOUND_STRING("SEAFLOOR CAVERN"), FLAG_LANDMARK_SEAFLOOR_CAVERN}; +static const struct Landmark Landmark_GraniteCave = {COMPOUND_STRING("GRANITE CAVE"), -1}; +static const struct Landmark Landmark_OceanCurrent = {COMPOUND_STRING("OCEAN CURRENT"), -1}; +static const struct Landmark Landmark_LanettesHouse = {COMPOUND_STRING("LANETTE'S HOUSE"), FLAG_LANDMARK_LANETTES_HOUSE}; +static const struct Landmark Landmark_FieryPath = {COMPOUND_STRING("FIERY PATH"), FLAG_LANDMARK_FIERY_PATH}; +static const struct Landmark Landmark_JaggedPass = {COMPOUND_STRING("JAGGED PASS"), -1}; +static const struct Landmark Landmark_BerryMastersHouse = {COMPOUND_STRING("BERRY MASTER'S HOUSE"), FLAG_LANDMARK_BERRY_MASTERS_HOUSE}; +static const struct Landmark Landmark_IslandCave = {COMPOUND_STRING("ISLAND CAVE"), FLAG_LANDMARK_ISLAND_CAVE}; +static const struct Landmark Landmark_DesertRuins = {COMPOUND_STRING("DESERT RUINS"), FLAG_LANDMARK_DESERT_RUINS}; +static const struct Landmark Landmark_ScorchedSlab = {COMPOUND_STRING("SCORCHED SLAB"), FLAG_LANDMARK_SCORCHED_SLAB}; +static const struct Landmark Landmark_AncientTomb = {COMPOUND_STRING("ANCIENT TOMB"), FLAG_LANDMARK_ANCIENT_TOMB}; +static const struct Landmark Landmark_SealedChamber = {COMPOUND_STRING("SEALED CHAMBER"), FLAG_LANDMARK_SEALED_CHAMBER}; +static const struct Landmark Landmark_FossilManiacsHouse = {COMPOUND_STRING("FOSSIL MANIAC'S HOUSE"), FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE}; +static const struct Landmark Landmark_HuntersHouse = {COMPOUND_STRING("HUNTER'S HOUSE"), FLAG_LANDMARK_HUNTERS_HOUSE}; +static const struct Landmark Landmark_SkyPillar = {COMPOUND_STRING("SKY PILLAR"), FLAG_LANDMARK_SKY_PILLAR}; +static const struct Landmark Landmark_MirageTower = {COMPOUND_STRING("MIRAGE TOWER"), FLAG_LANDMARK_MIRAGE_TOWER}; +static const struct Landmark Landmark_AlteringCave = {COMPOUND_STRING("ALTERING CAVE"), FLAG_LANDMARK_ALTERING_CAVE}; +static const struct Landmark Landmark_DesertUnderpass = {COMPOUND_STRING("DESERT UNDERPASS"), FLAG_LANDMARK_DESERT_UNDERPASS}; +static const struct Landmark Landmark_TrainerHill = {COMPOUND_STRING("TRAINER HILL"), FLAG_LANDMARK_TRAINER_HILL}; static const struct Landmark *const Landmarks_Route103_2[] = { diff --git a/src/wallclock.c b/src/wallclock.c index bca008ac24..6bc87513dd 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -61,9 +61,9 @@ enum { }; enum { - MOVE_NONE, - MOVE_BACKWARD, - MOVE_FORWARD, + CLOCK_MOVE_NONE, + CLOCK_MOVE_BACKWARD, + CLOCK_MOVE_FORWARD, }; enum { @@ -806,15 +806,15 @@ static void Task_SetClock_HandleInput(u8 taskId) } else { - gTasks[taskId].tMoveDir = MOVE_NONE; + gTasks[taskId].tMoveDir = CLOCK_MOVE_NONE; if (JOY_HELD(DPAD_LEFT)) - gTasks[taskId].tMoveDir = MOVE_BACKWARD; + gTasks[taskId].tMoveDir = CLOCK_MOVE_BACKWARD; if (JOY_HELD(DPAD_RIGHT)) - gTasks[taskId].tMoveDir = MOVE_FORWARD; + gTasks[taskId].tMoveDir = CLOCK_MOVE_FORWARD; - if (gTasks[taskId].tMoveDir != MOVE_NONE) + if (gTasks[taskId].tMoveDir != CLOCK_MOVE_NONE) { if (gTasks[taskId].tMoveSpeed < 0xFF) gTasks[taskId].tMoveSpeed++; @@ -916,13 +916,13 @@ static u16 CalcNewMinHandAngle(u16 angle, u8 direction, u8 speed) u8 delta = CalcMinHandDelta(speed); switch (direction) { - case MOVE_BACKWARD: + case CLOCK_MOVE_BACKWARD: if (angle) angle -= delta; else angle = 360 - delta; break; - case MOVE_FORWARD: + case CLOCK_MOVE_FORWARD: if (angle < 360 - delta) angle += delta; else @@ -936,7 +936,7 @@ static bool32 AdvanceClock(u8 taskId, u8 direction) { switch (direction) { - case MOVE_BACKWARD: + case CLOCK_MOVE_BACKWARD: if (gTasks[taskId].tMinutes > 0) { gTasks[taskId].tMinutes--; @@ -953,7 +953,7 @@ static bool32 AdvanceClock(u8 taskId, u8 direction) UpdateClockPeriod(taskId, direction); } break; - case MOVE_FORWARD: + case CLOCK_MOVE_FORWARD: if (gTasks[taskId].tMinutes < 59) { gTasks[taskId].tMinutes++; @@ -979,7 +979,7 @@ static void UpdateClockPeriod(u8 taskId, u8 direction) u8 hours = gTasks[taskId].tHours; switch (direction) { - case MOVE_BACKWARD: + case CLOCK_MOVE_BACKWARD: switch (hours) { case 11: @@ -990,7 +990,7 @@ static void UpdateClockPeriod(u8 taskId, u8 direction) break; } break; - case MOVE_FORWARD: + case CLOCK_MOVE_FORWARD: switch (hours) { case 0: