diff options
author | camthesaxman <cameronghall@cox.net> | 2017-10-01 00:21:17 -0500 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-10-01 00:21:17 -0500 |
commit | 1a8b3fa9af2c248bd40e72ae467b45ba888e31bf (patch) | |
tree | 66dec9ad8b1eac336690eda0c0438779012d28e2 /src/field/coord_event_weather.c | |
parent | 30bc88f6572c435ff49b62f16c3734c12f75f7f0 (diff) | |
parent | 83efcc9c3d1e81b78c2cd9ceab3ac6420a5f4070 (diff) |
move sound_check_menu.c to debug
Diffstat (limited to 'src/field/coord_event_weather.c')
-rw-r--r-- | src/field/coord_event_weather.c | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/src/field/coord_event_weather.c b/src/field/coord_event_weather.c new file mode 100644 index 000000000..9c5a1ca4d --- /dev/null +++ b/src/field/coord_event_weather.c @@ -0,0 +1,118 @@ +#include "global.h" +#include "coord_event_weather.h" +#include "field_weather.h" + +struct CoordEventWeather +{ + u8 weather; + void (*func)(void); +}; + +static void CoordEventWeather_Indoor(void); +static void CoordEventWeather_Sunny(void); +static void CoordEventWeather_Rain(void); +static void CoordEventWeather_Snowflakes(void); +static void CoordEventWeather_Thunderstorm(void); +static void CoordEventWeather_Fog(void); +static void CoordEventWeather_DiagonalFog(void); +static void CoordEventWeather_Snow(void); +static void CoordEventWeather_Sandstorm(void); +static void CoordEventWeather_Cloudy(void); +static void CoordEventWeather_Drought(void); +static void CoordEventWeather_UnderwaterFog(void); +static void CoordEventWeather_UnderwaterBubbles(void); + +static const struct CoordEventWeather sCoordEventWeatherFuncs[] = +{ + { 0x1, CoordEventWeather_Indoor }, + { 0x2, CoordEventWeather_Sunny }, + { 0x3, CoordEventWeather_Rain }, + { 0x4, CoordEventWeather_Snowflakes }, + { 0x5, CoordEventWeather_Thunderstorm }, + { 0x6, CoordEventWeather_Fog }, + { 0x7, CoordEventWeather_DiagonalFog }, + { 0x8, CoordEventWeather_Snow }, + { 0x9, CoordEventWeather_Sandstorm }, + { 0xa, CoordEventWeather_Cloudy }, + { 0xb, CoordEventWeather_Drought }, + { 0x14, CoordEventWeather_UnderwaterFog }, + { 0x15, CoordEventWeather_UnderwaterBubbles }, +}; + +static void CoordEventWeather_Indoor(void) +{ + SetWeather(1); +} + +static void CoordEventWeather_Sunny(void) +{ + SetWeather(2); +} + +static void CoordEventWeather_Rain(void) +{ + SetWeather(3); +} + +static void CoordEventWeather_Snowflakes(void) +{ + SetWeather(4); +} + +static void CoordEventWeather_Thunderstorm(void) +{ + SetWeather(5); +} + +static void CoordEventWeather_Fog(void) +{ + SetWeather(6); +} + +static void CoordEventWeather_DiagonalFog(void) +{ + SetWeather(9); +} + +static void CoordEventWeather_Snow(void) +{ + SetWeather(7); +} + +static void CoordEventWeather_Sandstorm(void) +{ + SetWeather(8); +} + +static void CoordEventWeather_Cloudy(void) +{ + SetWeather(11); +} + +static void CoordEventWeather_Drought(void) +{ + SetWeather(12); +} + +static void CoordEventWeather_UnderwaterFog(void) +{ + SetWeather(20); +} + +static void CoordEventWeather_UnderwaterBubbles(void) +{ + SetWeather(21); +} + +void DoCoordEventWeather(u8 n) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(sCoordEventWeatherFuncs); i++) + { + if (sCoordEventWeatherFuncs[i].weather == n) + { + sCoordEventWeatherFuncs[i].func(); + return; + } + } +} |