From fe55580fe1e51c669033939125c939ed13a555d0 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 27 Feb 2019 03:42:04 -0500 Subject: Reverse engineer unusual weather events --- src/overworld.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/overworld.c') diff --git a/src/overworld.c b/src/overworld.c index a10d1e17a..edc4d402c 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -411,7 +411,7 @@ static void Overworld_ResetStateAfterWhiteOut(void) if (VarGet(VAR_0x4039) == 1) { VarSet(VAR_0x4039, 0); - VarSet(VAR_0x4037, 0); + VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE); } } -- cgit v1.2.3 From 4137dd7b0bd6dd661831856e4ca30b958d4beac9 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 27 Feb 2019 14:42:32 -0500 Subject: Identify unused, never read, and never written vars --- src/overworld.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/overworld.c') diff --git a/src/overworld.c b/src/overworld.c index edc4d402c..4206be448 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -408,9 +408,11 @@ static void Overworld_ResetStateAfterWhiteOut(void) FlagClear(FLAG_SYS_SAFARI_MODE); FlagClear(FLAG_SYS_USE_STRENGTH); FlagClear(FLAG_SYS_USE_FLASH); - if (VarGet(VAR_0x4039) == 1) + // 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) { - VarSet(VAR_0x4039, 0); + VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 0); VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE); } } -- cgit v1.2.3 From 648fc3d4f33b0df553b0fd3737843a1495351993 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 27 Feb 2019 15:18:56 -0500 Subject: Name more unknown vars --- src/overworld.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/overworld.c') diff --git a/src/overworld.c b/src/overworld.c index 4206be448..8ca10a33b 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1018,7 +1018,7 @@ static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp) case MAP_NUM(ROUTE128): return TRUE; default: - if (VarGet(VAR_0x405E) < 4) + if (VarGet(VAR_RAYQUAZA_STATE) < 4) return FALSE; switch (warp->mapNum) { @@ -1059,9 +1059,9 @@ static bool16 IsInfiltratedWeatherInstitute(struct WarpData *warp) static bool16 IsInflitratedSpaceCenter(struct WarpData *warp) { - if (VarGet(VAR_0x405D) == 0) + if (VarGet(VAR_MOSSDEEP_STATE) == 0) return FALSE; - else if (VarGet(VAR_0x405D) > 2) + else if (VarGet(VAR_MOSSDEEP_STATE) > 2) return FALSE; else if (warp->mapGroup != MAP_GROUP(MOSSDEEP_CITY_SPACE_CENTER_1F)) return FALSE; -- cgit v1.2.3 From e77e7844ea6b6cdba1a6386f144aa712aea1807b Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 27 Feb 2019 20:25:09 -0500 Subject: Name several vars, document some related events --- src/overworld.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/overworld.c') diff --git a/src/overworld.c b/src/overworld.c index 8ca10a33b..6055c74bb 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1034,7 +1034,7 @@ static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp) static bool16 NoMusicInSotopolisWithLegendaries(struct WarpData *warp) { - if (VarGet(VAR_0x40CA) != 1) + if (VarGet(VAR_SKY_PILLAR_STATE) != 1) return FALSE; else if (warp->mapGroup != MAP_GROUP(SOOTOPOLIS_CITY)) return FALSE; @@ -1212,7 +1212,7 @@ void TryFadeOutOldMapMusic(void) if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE && warpMusic != GetCurrentMapMusic()) { if (currentMusic == MUS_NAMINORI - && VarGet(VAR_0x40CA) == 2 + && VarGet(VAR_SKY_PILLAR_STATE) == 2 && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SOOTOPOLIS_CITY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SOOTOPOLIS_CITY) && sWarpDestination.mapGroup == MAP_GROUP(SOOTOPOLIS_CITY) -- cgit v1.2.3 From bf45b83c65026a84425e3bc1f99e269653ed8c8b Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Wed, 27 Feb 2019 23:54:51 -0500 Subject: Finish documenting event vars --- src/overworld.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/overworld.c') diff --git a/src/overworld.c b/src/overworld.c index 6055c74bb..84eb80a06 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -678,7 +678,7 @@ void UpdateEscapeWarp(s16 x, s16 y) { u8 currMapType = GetCurrentMapType(); u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); - if (is_map_type_1_2_3_5_or_6(currMapType) && is_map_type_1_2_3_5_or_6(destMapType) != TRUE) + if (IsMapTypeOutside(currMapType) && IsMapTypeOutside(destMapType) != TRUE) SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x - 7, y - 6); } @@ -837,7 +837,7 @@ static void mli0_load_map(u32 a1) LoadEventObjTemplatesFromHeader(); } - v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType); + v2 = IsMapTypeOutside(gMapHeader.mapType); indoors = Overworld_MapTypeIsIndoors(gMapHeader.mapType); sub_80EB218(); @@ -925,7 +925,7 @@ static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *pla static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType) { - if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_6) + if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_OCEAN_ROUTE) return DIR_EAST; else if (MetatileBehavior_IsDeepSouthWarp(metatileBehavior) == TRUE) return DIR_NORTH; @@ -1330,13 +1330,13 @@ u8 GetLastUsedWarpMapType(void) return GetMapTypeByWarpData(&gLastUsedWarp); } -bool8 is_map_type_1_2_3_5_or_6(u8 mapType) +bool8 IsMapTypeOutside(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN || mapType == MAP_TYPE_UNDERWATER || mapType == MAP_TYPE_CITY - || mapType == MAP_TYPE_6) + || mapType == MAP_TYPE_OCEAN_ROUTE) return TRUE; else return FALSE; @@ -1346,7 +1346,7 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN - || mapType == MAP_TYPE_6 + || mapType == MAP_TYPE_OCEAN_ROUTE || mapType == MAP_TYPE_CITY) return TRUE; else -- cgit v1.2.3 From a7e5852f1d95dd2b438e94fbf31b865196c6e951 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Fri, 1 Mar 2019 01:49:11 -0500 Subject: More minor fixes --- src/overworld.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/overworld.c') diff --git a/src/overworld.c b/src/overworld.c index 84eb80a06..837855877 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -678,7 +678,7 @@ void UpdateEscapeWarp(s16 x, s16 y) { u8 currMapType = GetCurrentMapType(); u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); - if (IsMapTypeOutside(currMapType) && IsMapTypeOutside(destMapType) != TRUE) + if (IsMapTypeOutdoors(currMapType) && IsMapTypeOutdoors(destMapType) != TRUE) SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x - 7, y - 6); } @@ -823,8 +823,8 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum) static void mli0_load_map(u32 a1) { - bool8 v2; - bool8 indoors; + bool8 isOutdoors; + bool8 isIndoors; LoadCurrentMapData(); if (!(sUnknown_020322D8 & 1)) @@ -837,8 +837,8 @@ static void mli0_load_map(u32 a1) LoadEventObjTemplatesFromHeader(); } - v2 = IsMapTypeOutside(gMapHeader.mapType); - indoors = Overworld_MapTypeIsIndoors(gMapHeader.mapType); + isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType); + isIndoors = Overworld_MapTypeIsIndoors(gMapHeader.mapType); sub_80EB218(); TrySetMapSaveWarpStatus(); @@ -850,7 +850,7 @@ static void mli0_load_map(u32 a1) DoTimeBasedEvents(); SetSav1WeatherFromCurrMapHeader(); ChooseAmbientCrySpecies(); - if (v2) + if (isOutdoors) FlagClear(FLAG_SYS_USE_FLASH); SetDefaultFlashLevel(); Overworld_ClearSavedMusic(); @@ -864,7 +864,7 @@ static void mli0_load_map(u32 a1) else InitMap(); - if (a1 != 1 && indoors) + if (a1 != 1 && isIndoors) { UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); sub_80E9238(1); @@ -1330,7 +1330,7 @@ u8 GetLastUsedWarpMapType(void) return GetMapTypeByWarpData(&gLastUsedWarp); } -bool8 IsMapTypeOutside(u8 mapType) +bool8 IsMapTypeOutdoors(u8 mapType) { if (mapType == MAP_TYPE_ROUTE || mapType == MAP_TYPE_TOWN -- cgit v1.2.3 From 25050b99444538535a67ba51b7aaf3d0bf90c50e Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Sat, 2 Mar 2019 04:13:27 -0500 Subject: Fix tabs, do suggested rename --- src/overworld.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/overworld.c') diff --git a/src/overworld.c b/src/overworld.c index 837855877..731449608 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -838,7 +838,7 @@ static void mli0_load_map(u32 a1) } isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType); - isIndoors = Overworld_MapTypeIsIndoors(gMapHeader.mapType); + isIndoors = IsMapTypeIndoors(gMapHeader.mapType); sub_80EB218(); TrySetMapSaveWarpStatus(); @@ -1199,7 +1199,7 @@ void Overworld_ChangeMusicTo(u16 newMusic) u8 GetMapMusicFadeoutSpeed(void) { const struct MapHeader *mapHeader = GetDestinationWarpMapHeader(); - if (Overworld_MapTypeIsIndoors(mapHeader->mapType) == TRUE) + if (IsMapTypeIndoors(mapHeader->mapType) == TRUE) return 2; else return 4; @@ -1353,7 +1353,7 @@ bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType) return FALSE; } -bool8 Overworld_MapTypeIsIndoors(u8 mapType) +bool8 IsMapTypeIndoors(u8 mapType) { if (mapType == MAP_TYPE_INDOOR || mapType == MAP_TYPE_SECRET_BASE) -- cgit v1.2.3