diff options
author | Phlosioneer <mattmdrr2@gmail.com> | 2019-02-22 22:20:42 -0500 |
---|---|---|
committer | Phlosioneer <mattmdrr2@gmail.com> | 2019-02-22 22:20:42 -0500 |
commit | b2866fae2126012f7d7b4db8b60e07ba344a5f97 (patch) | |
tree | cde82302278e417e69bbb45e90bba3f77edd2ac3 /src/field_weather_effect.c | |
parent | b105d20d1e0297d0c858fe99a0946e5c07da81c1 (diff) |
Document the weather state functions
All weather types are now documented (including WEATHER_15)
Diffstat (limited to 'src/field_weather_effect.c')
-rw-r--r-- | src/field_weather_effect.c | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 2ec51a722..b81a8f5d2 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -16,8 +16,8 @@ void sub_80AC6B4(struct Sprite *); // EWRAM -EWRAM_DATA static u8 gUnknown_02038BC4 = 0; -EWRAM_DATA static u16 gUnknown_02038BC6 = 0; +EWRAM_DATA static u8 gCurrentAlternatingWeather = 0; +EWRAM_DATA static u16 gUnusedWeatherRelated = 0; // CONST const u16 gUnknown_0854C290[] = INCBIN_U16("graphics/weather/1.gbapal"); @@ -2286,13 +2286,14 @@ void unc_0807DAB4(struct Sprite *sprite) //------------------------------------------------------------------------------ -static void sub_80AEC94(u32 a0, u32 a1) +// Unused function. +static void UnusedSetCurrentAlternatingWeather(u32 a0, u32 a1) { - gUnknown_02038BC4 = a0; - gUnknown_02038BC6 = a1; + gCurrentAlternatingWeather = a0; + gUnusedWeatherRelated = a1; } -static void sub_80AECA8(u8 taskId) +static void Task_DoAlternatingWeather(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -2301,8 +2302,8 @@ static void sub_80AECA8(u8 taskId) case 0: if (data[15]-- <= 0) { - ChangeWeather(data[1]); - gUnknown_02038BC4 = data[1]; + SetNextWeather(data[1]); + gCurrentAlternatingWeather = data[1]; data[15] = 600; data[0]++; } @@ -2310,8 +2311,8 @@ static void sub_80AECA8(u8 taskId) case 1: if (data[15]-- <= 0) { - ChangeWeather(data[2]); - gUnknown_02038BC4 = data[2]; + SetNextWeather(data[2]); + gCurrentAlternatingWeather = data[2]; data[15] = 600; data[0] = 0; } @@ -2319,25 +2320,25 @@ static void sub_80AECA8(u8 taskId) } } -static void sub_80AED28(void) +static void CreateAlternatingWeatherTask(void) { - u8 taskId = CreateTask(sub_80AECA8, 0); + u8 taskId = CreateTask(Task_DoAlternatingWeather, 0); s16 *data = gTasks[taskId].data; data[15] = 600; - if (gUnknown_02038BC4 == WEATHER_RAIN_HEAVY) + if (gCurrentAlternatingWeather == WEATHER_RAIN_HEAVY) { data[1] = WEATHER_DROUGHT; data[2] = WEATHER_RAIN_HEAVY; } - else if (gUnknown_02038BC4 == WEATHER_DROUGHT) + else if (gCurrentAlternatingWeather == WEATHER_DROUGHT) { data[1] = WEATHER_RAIN_HEAVY; data[2] = WEATHER_DROUGHT; } else { - gUnknown_02038BC4 = WEATHER_RAIN_HEAVY; + gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY; data[1] = WEATHER_DROUGHT; data[2] = WEATHER_RAIN_HEAVY; } @@ -2368,51 +2369,51 @@ void SetSav1WeatherFromCurrMapHeader(void) void SetWeather(u32 weather) { SetSav1Weather(weather); - ChangeWeather(GetSav1Weather()); + SetNextWeather(GetSav1Weather()); } void SetWeather_Unused(u32 weather) { SetSav1Weather(weather); - sub_80AB104(GetSav1Weather()); + SetCurrentAndNextWeather(GetSav1Weather()); } void DoCurrentWeather(void) { u8 weather = GetSav1Weather(); - if (weather == WEATHER_15) + if (weather == WEATHER_ALTERNATING) { - if (!FuncIsActiveTask(sub_80AECA8)) - sub_80AED28(); - weather = gUnknown_02038BC4; + if (!FuncIsActiveTask(Task_DoAlternatingWeather)) + CreateAlternatingWeatherTask(); + weather = gCurrentAlternatingWeather; } else { - if (FuncIsActiveTask(sub_80AECA8)) - DestroyTask(FindTaskIdByFunc(sub_80AECA8)); - gUnknown_02038BC4 = WEATHER_RAIN_HEAVY; + if (FuncIsActiveTask(Task_DoAlternatingWeather)) + DestroyTask(FindTaskIdByFunc(Task_DoAlternatingWeather)); + gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY; } - ChangeWeather(weather); + SetNextWeather(weather); } -void sub_80AEE84(void) +void DoPausedWeather(void) { u8 weather = GetSav1Weather(); - if (weather == WEATHER_15) + if (weather == WEATHER_ALTERNATING) { - if (!FuncIsActiveTask(sub_80AECA8)) - sub_80AED28(); - weather = gUnknown_02038BC4; + if (!FuncIsActiveTask(Task_DoAlternatingWeather)) + CreateAlternatingWeatherTask(); + weather = gCurrentAlternatingWeather; } else { - if (FuncIsActiveTask(sub_80AECA8)) - DestroyTask(FindTaskIdByFunc(sub_80AECA8)); - gUnknown_02038BC4 = WEATHER_RAIN_HEAVY; + if (FuncIsActiveTask(Task_DoAlternatingWeather)) + DestroyTask(FindTaskIdByFunc(Task_DoAlternatingWeather)); + gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY; } - sub_80AB104(weather); + SetCurrentAndNextWeather(weather); } static const u8 sWeatherCycleRoute119[] = @@ -2449,7 +2450,7 @@ static u8 TranslateWeatherNum(u8 weather) case WEATHER_DROUGHT: return WEATHER_DROUGHT; case WEATHER_RAIN_HEAVY: return WEATHER_RAIN_HEAVY; case WEATHER_BUBBLES: return WEATHER_BUBBLES; - case WEATHER_15: return WEATHER_15; + case WEATHER_ALTERNATING: return WEATHER_ALTERNATING; case WEATHER_ROUTE119_CYCLE: return sWeatherCycleRoute119[gSaveBlock1Ptr->weatherCycleStage]; case WEATHER_ROUTE123_CYCLE: return sWeatherCycleRoute123[gSaveBlock1Ptr->weatherCycleStage]; default: return WEATHER_NONE; |