summaryrefslogtreecommitdiff
path: root/src/overworld.c
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-03-28 11:06:04 -0400
committerPikalaxALT <PikalaxALT@gmail.com>2020-03-28 11:06:04 -0400
commit9c62fd51aabaf9301d6a89a03a8e3ddf91d61164 (patch)
tree072c4a942b805d7b8c2a2a4e27e729a38f99c0e2 /src/overworld.c
parent816e7ad1f8f38f3eee152913c416200e4caf1f5e (diff)
sub_8056126
Diffstat (limited to 'src/overworld.c')
-rw-r--r--src/overworld.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/overworld.c b/src/overworld.c
index 0fa93414a..a7d23d870 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -29,6 +29,7 @@
#include "constants/maps.h"
#include "constants/flags.h"
#include "constants/species.h"
+#include "constants/region_map_sections.h"
#include "constants/songs.h"
struct InitialPlayerAvatarState
@@ -42,7 +43,11 @@ EWRAM_DATA struct WarpData gLastUsedWarp = {};
EWRAM_DATA struct WarpData sWarpDestination = {};
EWRAM_DATA struct WarpData gFixedDiveWarp = {};
EWRAM_DATA struct WarpData gFixedHoleWarp = {};
+
+// File boundary perhaps?
EWRAM_DATA struct InitialPlayerAvatarState gInitialPlayerAvatarState = {};
+
+// File boundary perhaps?
EWRAM_DATA bool8 gDisableMapMusicChangeOnMapLoad = FALSE;
EWRAM_DATA u16 sAmbientCrySpecies = SPECIES_NONE;
EWRAM_DATA bool8 sIsAmbientCryWaterMon = FALSE;
@@ -70,6 +75,8 @@ void ChooseAmbientCrySpecies(void);
extern const struct MapLayout * gMapLayouts[];
extern const struct MapHeader *const *gMapGroups[];
+// Routines related to game state on warping in
+
static const u8 sWhiteOutMoneyLossMultipliers[] = {
2,
4,
@@ -197,6 +204,8 @@ void sub_8054E40(void)
RoamerMoveToOtherLocationSet();
}
+// Routines related to game stats
+
void ResetGameStats(void)
{
int i;
@@ -244,6 +253,8 @@ void ApplyNewEncryptionKeyToGameStats(u32 newKey)
}
}
+// Routines related to object events
+
void sub_8054F68(void)
{
u8 i, j;
@@ -321,6 +332,8 @@ void Overworld_SetObjEventTemplateMovementType(u8 localId, u8 movementType)
}
}
+// Routines related to the map layout
+
void mapdata_load_assets_to_gpu_and_full_redraw(void)
{
move_tilemap_camera_to_upper_left_corner();
@@ -338,6 +351,8 @@ const struct MapLayout *GetMapLayout(void)
return NULL;
}
+// Routines related to warps
+
const struct WarpData sDummyWarpData = {
.mapGroup = MAP_GROUP(UNDEFINED),
.mapNum = MAP_NUM(UNDEFINED),
@@ -588,6 +603,8 @@ bool8 SetDiveWarpDive(u16 x, u16 y)
return SetDiveWarp(CONNECTION_DIVE, x, y);
}
+// Map loaders
+
void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum)
{
int paletteIndex;
@@ -668,6 +685,8 @@ void sub_80559A8(void)
InitMap();
}
+// Routines related to the initial player avatar state
+
void ResetInitialPlayerAvatarState(void)
{
gInitialPlayerAvatarState.direction = DIR_SOUTH;
@@ -777,6 +796,8 @@ u16 GetCenterScreenMetatileBehavior(void)
return MapGridGetMetatileBehaviorAt(gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7);
}
+// Routines related to flash level and map perms
+
bool32 Overworld_IsBikingAllowed(void)
{
if (!gMapHeader.bikingAllowed)
@@ -818,6 +839,8 @@ void sub_8055D5C(struct WarpData * warp)
sWarpDestination = *warp;
}
+// Routines related to map music
+
u16 GetLocationMusic(struct WarpData * warp)
{
return Overworld_GetMapHeaderByGroupAndId(warp->mapGroup, warp->mapNum)->music;
@@ -1024,3 +1047,13 @@ void ChooseAmbientCrySpecies(void)
{
sAmbientCrySpecies = GetLocalWildMon(&sIsAmbientCryWaterMon);
}
+
+bool32 sub_8056124(u16 music)
+{
+ if (music == MUS_CYCLING || music == MUS_NAMINORI)
+ {
+ if (gMapHeader.regionMapSectionId == MAPSEC_KANTO_VICTORY_ROAD || gMapHeader.regionMapSectionId == MAPSEC_ROUTE_23 || gMapHeader.regionMapSectionId == MAPSEC_INDIGO_PLATEAU)
+ return FALSE;
+ }
+ return TRUE;
+}