diff options
Diffstat (limited to 'src/overworld.c')
-rw-r--r-- | src/overworld.c | 109 |
1 files changed, 55 insertions, 54 deletions
diff --git a/src/overworld.c b/src/overworld.c index 819f9ac4e..e11dbbfda 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -26,7 +26,7 @@ #include "link_rfu.h" #include "load_save.h" #include "main.h" -#include "alloc.h" +#include "malloc.h" #include "m4a.h" #include "map_name_popup.h" #include "match_call.h" @@ -64,6 +64,7 @@ #include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/trainer_hill.h" #include "constants/weather.h" #define PLAYER_TRADING_STATE_IDLE 0x80 @@ -85,19 +86,19 @@ extern const u8 EventScript_WhiteOut[]; extern const u8 EventScript_ResetMrBriney[]; extern const u8 EventScript_DoLinkRoomExit[]; -extern const u8 gEventScript_TradeRoom_TooBusyToNotice[]; -extern const u8 gEventScript_TradeRoom_ReadTrainerCard_NoColor[]; -extern const u8 gEventScript_TradeRoom_ReadTrainerCard_Normal[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot0[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot1[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot2[]; -extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot3[]; +extern const u8 CableClub_EventScript_TooBusyToNotice[]; +extern const u8 CableClub_EventScript_ReadTrainerCard[]; +extern const u8 CableClub_EventScript_ReadTrainerCardColored[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot0[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot1[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot2[]; +extern const u8 EventScript_BattleColosseum_4P_PlayerSpot3[]; extern const u8 EventScript_RecordCenter_Spot0[]; extern const u8 EventScript_RecordCenter_Spot1[]; extern const u8 EventScript_RecordCenter_Spot2[]; extern const u8 EventScript_RecordCenter_Spot3[]; -extern const u8 EventScript_SingleBattleColosseum_PlayerSpot0[]; -extern const u8 EventScript_SingleBattleColosseum_PlayerSpot1[]; +extern const u8 EventScript_BattleColosseum_2P_PlayerSpot0[]; +extern const u8 EventScript_BattleColosseum_2P_PlayerSpot1[]; extern const u8 EventScript_TradeCenter_Chair1[]; extern const u8 EventScript_TradeCenter_Chair0[]; extern const u8 EventScript_ConfirmLeaveTradeRoom[]; @@ -431,11 +432,11 @@ static void Overworld_ResetStateAfterWhiteOut(void) FlagClear(FLAG_SYS_USE_STRENGTH); FlagClear(FLAG_SYS_USE_FLASH); // If you were defeated by Kyogre/Groudon and the step counter has - // maxed out, end the unusual weather. - if (VarGet(VAR_SHOULD_END_UNUSUAL_WEATHER) == 1) + // maxed out, end the abnormal weather. + if (VarGet(VAR_SHOULD_END_ABNORMAL_WEATHER) == 1) { - VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 0); - VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE); + VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 0); + VarSet(VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE); } } @@ -851,10 +852,10 @@ static void mli0_load_map(u32 a1) LoadCurrentMapData(); if (!(sUnknown_020322D8 & 1)) { - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) LoadBattlePyramidEventObjectTemplates(); else if (InTrainerHill()) - sub_81D5DF8(); + LoadTrainerHillEventObjectTemplates(); else LoadEventObjTemplatesFromHeader(); } @@ -862,7 +863,7 @@ static void mli0_load_map(u32 a1) isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType); isIndoors = IsMapTypeIndoors(gMapHeader.mapType); - sub_80EB218(); + CheckLeftFriendsSecretBase(); TrySetMapSaveWarpStatus(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); @@ -879,7 +880,7 @@ static void mli0_load_map(u32 a1) RunOnTransitionMapScript(); UpdateLocationHistoryForRoamer(); RoamerMoveToOtherLocationSet(); - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) InitBattlePyramidMap(FALSE); else if (InTrainerHill()) InitTrainerHillMap(); @@ -977,7 +978,7 @@ static u16 GetCenterScreenMetatileBehavior(void) bool32 Overworld_IsBikingAllowed(void) { - if (!(gMapHeader.flags & 1)) + if (!(gMapHeader.flags & MAP_ALLOW_BIKE)) return FALSE; else return TRUE; @@ -1183,7 +1184,7 @@ void Overworld_ClearSavedMusic(void) static void sub_8085810(void) { - if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE) + if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE) { u16 newMusic = GetWarpDestinationMusic(); u16 currentMusic = GetCurrentMapMusic(); @@ -1231,7 +1232,7 @@ void TryFadeOutOldMapMusic(void) { u16 currentMusic = GetCurrentMapMusic(); u16 warpMusic = GetWarpDestinationMusic(); - if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE && warpMusic != GetCurrentMapMusic()) + if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE && warpMusic != GetCurrentMapMusic()) { if (currentMusic == MUS_NAMINORI && VarGet(VAR_SKY_PILLAR_STATE) == 2 @@ -1525,7 +1526,7 @@ static bool8 map_post_load_hook_exec(void) if (gFieldCallback) gFieldCallback(); else - mapldr_default(); + FieldCB_DefaultWarpExit(); gFieldCallback = NULL; } @@ -1564,7 +1565,7 @@ void CB2_WhiteOut(void) ResetInitialPlayerAvatarState(); ScriptContext1_Init(); ScriptContext2_Disable(); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; val = 0; do_load_map_stuff_loop(&val); SetFieldVBlankCallback(); @@ -1608,10 +1609,10 @@ void sub_8086024(void) } } -void sub_8086074(void) +void CB2_ReturnToFieldCableClub(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF314; + gFieldCallback = FieldCB_ReturnToFieldWirelessLink; SetMainCallback2(c2_80567AC); } @@ -1662,9 +1663,9 @@ void CB2_ReturnToFieldFromMultiplayer(void) ResetAllMultiplayerState(); if (gWirelessCommType != 0) - gFieldCallback = sub_80AF314; + gFieldCallback = FieldCB_ReturnToFieldWirelessLink; else - gFieldCallback = sub_80AF214; + gFieldCallback = FieldCB_ReturnToFieldCableLink; ScriptContext1_Init(); ScriptContext2_Disable(); @@ -1674,36 +1675,36 @@ void CB2_ReturnToFieldFromMultiplayer(void) void CB2_ReturnToFieldWithOpenMenu(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback2 = sub_80AF6A4; + gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu; CB2_ReturnToField(); } void CB2_ReturnToFieldContinueScript(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF188; + gFieldCallback = FieldCB_ContinueScript; CB2_ReturnToField(); } void CB2_ReturnToFieldContinueScriptPlayMapMusic(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; CB2_ReturnToField(); } void sub_80861E8(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; CB2_ReturnToField(); } static void sub_8086204(void) { - if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) + if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); - sub_80AF3C8(); + FieldCB_WarpExitFadeFromBlack(); } void CB2_ContinueSavedGame(void) @@ -1713,23 +1714,23 @@ void CB2_ContinueSavedGame(void) FieldClearVBlankHBlankCallbacks(); StopMapMusic(); ResetSafariZoneFlag_(); - if (gSaveFileStatus == 0xFF) - sub_81A3908(); + if (gSaveFileStatus == SAVE_STATUS_ERROR) + ResetWinStreaks(); LoadSaveblockMapHeader(); ClearDiveAndHoleWarps(); trainerHillMapId = GetCurrentTrainerHillMapId(); - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) LoadBattlePyramidFloorEventObjectScripts(); - else if (trainerHillMapId != 0 && trainerHillMapId != 6) - sub_81D5F48(); + else if (trainerHillMapId != 0 && trainerHillMapId != TRAINER_HILL_ENTRANCE) + LoadTrainerHillFloorEventObjectScripts(); else LoadSaveblockEventObjScripts(); UnfreezeEventObjects(); DoTimeBasedEvents(); sub_8084788(); - if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE) + if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) InitBattlePyramidMap(TRUE); else if (trainerHillMapId != 0) InitTrainerHillMap(); @@ -1759,7 +1760,7 @@ void CB2_ContinueSavedGame(void) static void FieldClearVBlankHBlankCallbacks(void) { - if (warp0_in_pokecenter() == TRUE) + if (UsedPokemonCenterWarp() == TRUE) CloseLink(); if (gWirelessCommType != 0) @@ -1947,7 +1948,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 11: - if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) + if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); (*state)++; break; @@ -2435,7 +2436,7 @@ static void UpdateAllLinkPlayers(u16 *keys, s32 selfId) struct TradeRoomPlayer trainer; s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { u8 key = keys[i]; u16 setFacing = FACING_NONE; @@ -2742,7 +2743,7 @@ static bool32 PlayerIsAtSouthExit(struct TradeRoomPlayer *player) return FALSE; else if (!MetatileBehavior_IsSouthArrowWarp(player->field_C)) return FALSE; - else if (player->facing != 1) + else if (player->facing != DIR_SOUTH) return FALSE; else return TRUE; @@ -2765,13 +2766,13 @@ static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *player) if (linkPlayerId != 4) { if (!player->isLocalPlayer) - return gEventScript_TradeRoom_TooBusyToNotice; + return CableClub_EventScript_TooBusyToNotice; else if (sPlayerTradingStates[linkPlayerId] != PLAYER_TRADING_STATE_IDLE) - return gEventScript_TradeRoom_TooBusyToNotice; + return CableClub_EventScript_TooBusyToNotice; else if (!GetLinkTrainerCardColor(linkPlayerId)) - return gEventScript_TradeRoom_ReadTrainerCard_NoColor; + return CableClub_EventScript_ReadTrainerCard; else - return gEventScript_TradeRoom_ReadTrainerCard_Normal; + return CableClub_EventScript_ReadTrainerCardColored; } return GetInteractedLinkPlayerScript(&otherPlayerPos, player->field_C, player->facing); @@ -2781,13 +2782,13 @@ static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *player) // these event scripts runs. static u16 GetDirectionForEventScript(const u8 *script) { - if (script == EventScript_DoubleBattleColosseum_PlayerSpot0) + if (script == EventScript_BattleColosseum_4P_PlayerSpot0) return FACING_FORCED_RIGHT; - else if (script == EventScript_DoubleBattleColosseum_PlayerSpot1) + else if (script == EventScript_BattleColosseum_4P_PlayerSpot1) return FACING_FORCED_LEFT; - else if (script == EventScript_DoubleBattleColosseum_PlayerSpot2) + else if (script == EventScript_BattleColosseum_4P_PlayerSpot2) return FACING_FORCED_RIGHT; - else if (script == EventScript_DoubleBattleColosseum_PlayerSpot3) + else if (script == EventScript_BattleColosseum_4P_PlayerSpot3) return FACING_FORCED_LEFT; else if (script == EventScript_RecordCenter_Spot0) return FACING_FORCED_RIGHT; @@ -2797,9 +2798,9 @@ static u16 GetDirectionForEventScript(const u8 *script) return FACING_FORCED_RIGHT; else if (script == EventScript_RecordCenter_Spot3) return FACING_FORCED_LEFT; - else if (script == EventScript_SingleBattleColosseum_PlayerSpot0) + else if (script == EventScript_BattleColosseum_2P_PlayerSpot0) return FACING_FORCED_RIGHT; - else if (script == EventScript_SingleBattleColosseum_PlayerSpot1) + else if (script == EventScript_BattleColosseum_2P_PlayerSpot1) return FACING_FORCED_LEFT; else if (script == EventScript_TradeCenter_Chair0) return FACING_FORCED_RIGHT; @@ -3026,7 +3027,7 @@ static s32 sub_80878E4(u8 linkPlayerId) static u8 GetLinkPlayerIdAt(s16 x, s16 y) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { if (gLinkPlayerEventObjects[i].active && (gLinkPlayerEventObjects[i].movementMode == 0 || gLinkPlayerEventObjects[i].movementMode == 2)) |