50 lines
1.9 KiB
C
50 lines
1.9 KiB
C
#include "global.h"
|
|
#include "constants/weather.h"
|
|
|
|
// These were all dummied out because it's always sunny in Viridian
|
|
void WeatherCoordEvent_SunnyClouds(void) {}
|
|
void WeatherCoordEvent_Sunny(void) {}
|
|
void WeatherCoordEvent_Rain(void) {}
|
|
void WeatherCoordEvent_Snow(void) {}
|
|
void WeatherCoordEvent_RainThunderstorm(void) {}
|
|
void WeatherCoordEvent_FogHorizontal(void) {}
|
|
void WeatherCoordEvent_VolcanicAsh(void) {}
|
|
void WeatherCoordEvent_Sandstorm(void) {}
|
|
void WeatherCoordEvent_FogDiagonal(void) {}
|
|
void WeatherCoordEvent_Underwater(void) {}
|
|
void WeatherCoordEvent_Shade(void) {}
|
|
void WeatherCoordEvent_Route119Cycle(void) {}
|
|
void WeatherCoordEvent_Route123Cycle(void) {}
|
|
|
|
static struct {
|
|
u8 weatherId;
|
|
void (*callback)(void);
|
|
} const sWeatherCoordEventFuncs[] = {
|
|
{WEATHER_SUNNY_CLOUDS, WeatherCoordEvent_SunnyClouds },
|
|
{WEATHER_SUNNY, WeatherCoordEvent_Sunny },
|
|
{WEATHER_RAIN, WeatherCoordEvent_Rain },
|
|
{WEATHER_SNOW, WeatherCoordEvent_Snow },
|
|
{WEATHER_RAIN_THUNDERSTORM, WeatherCoordEvent_RainThunderstorm},
|
|
{WEATHER_FOG_HORIZONTAL, WeatherCoordEvent_FogHorizontal },
|
|
{WEATHER_VOLCANIC_ASH, WeatherCoordEvent_VolcanicAsh },
|
|
{WEATHER_SANDSTORM, WeatherCoordEvent_Sandstorm },
|
|
{WEATHER_FOG_DIAGONAL, WeatherCoordEvent_FogDiagonal },
|
|
{WEATHER_UNDERWATER, WeatherCoordEvent_Underwater },
|
|
{WEATHER_SHADE, WeatherCoordEvent_Shade },
|
|
{WEATHER_ROUTE119_CYCLE, WeatherCoordEvent_Route119Cycle },
|
|
{WEATHER_ROUTE123_CYCLE, WeatherCoordEvent_Route123Cycle }
|
|
};
|
|
|
|
void DoCoordEventWeather(u8 weatherId)
|
|
{
|
|
u8 i;
|
|
for (i = 0; i < NELEMS(sWeatherCoordEventFuncs); i++)
|
|
{
|
|
if (sWeatherCoordEventFuncs[i].weatherId == weatherId)
|
|
{
|
|
sWeatherCoordEventFuncs[i].callback();
|
|
return;
|
|
}
|
|
}
|
|
}
|