Merge remote-tracking branch 'upstream' into tustin2121-patch-5

This commit is contained in:
Marcus Huderle
2020-01-13 20:26:20 -06:00
1553 changed files with 106038 additions and 112232 deletions

View File

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