summaryrefslogtreecommitdiff
path: root/src/field_weather_effect.c
diff options
context:
space:
mode:
authorPhlosioneer <mattmdrr2@gmail.com>2019-02-22 22:20:42 -0500
committerPhlosioneer <mattmdrr2@gmail.com>2019-02-22 22:20:42 -0500
commitb2866fae2126012f7d7b4db8b60e07ba344a5f97 (patch)
treecde82302278e417e69bbb45e90bba3f77edd2ac3 /src/field_weather_effect.c
parentb105d20d1e0297d0c858fe99a0946e5c07da81c1 (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.c71
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;