diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/overworld.c | 33 |
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; +} |