Updated weather scripts
This commit is contained in:
parent
459581b09f
commit
3746fa3a75
|
@ -46,10 +46,10 @@ class Sun(object):
|
||||||
self._t %= 2.0 * math.pi
|
self._t %= 2.0 * math.pi
|
||||||
self.azimuth += 0.25 * delta_seconds
|
self.azimuth += 0.25 * delta_seconds
|
||||||
self.azimuth %= 360.0
|
self.azimuth %= 360.0
|
||||||
self.altitude = 35.0 * (math.sin(self._t) + 1.0)
|
self.altitude = (70 * math.sin(self._t)) - 20
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return 'Sun(%.2f, %.2f)' % (self.azimuth, self.altitude)
|
return 'Sun(alt: %.2f, azm: %.2f)' % (self.altitude, self.azimuth)
|
||||||
|
|
||||||
|
|
||||||
class Storm(object):
|
class Storm(object):
|
||||||
|
@ -58,8 +58,10 @@ class Storm(object):
|
||||||
self._increasing = True
|
self._increasing = True
|
||||||
self.clouds = 0.0
|
self.clouds = 0.0
|
||||||
self.rain = 0.0
|
self.rain = 0.0
|
||||||
|
self.wetness = 0.0
|
||||||
self.puddles = 0.0
|
self.puddles = 0.0
|
||||||
self.wind = 0.0
|
self.wind = 0.0
|
||||||
|
self.fog = 0.0
|
||||||
|
|
||||||
def tick(self, delta_seconds):
|
def tick(self, delta_seconds):
|
||||||
delta = (1.3 if self._increasing else -1.3) * delta_seconds
|
delta = (1.3 if self._increasing else -1.3) * delta_seconds
|
||||||
|
@ -67,8 +69,10 @@ class Storm(object):
|
||||||
self.clouds = clamp(self._t + 40.0, 0.0, 90.0)
|
self.clouds = clamp(self._t + 40.0, 0.0, 90.0)
|
||||||
self.rain = clamp(self._t, 0.0, 80.0)
|
self.rain = clamp(self._t, 0.0, 80.0)
|
||||||
delay = -10.0 if self._increasing else 90.0
|
delay = -10.0 if self._increasing else 90.0
|
||||||
self.puddles = clamp(self._t + delay, 0.0, 75.0)
|
self.puddles = clamp(self._t + delay, 0.0, 85.0)
|
||||||
self.wind = clamp(self._t - delay, 0.0, 80.0)
|
self.wetness = clamp(self._t * 5, 0.0, 100.0)
|
||||||
|
self.wind = 5.0 if self.clouds <= 20 else 90 if self.clouds >= 70 else 40
|
||||||
|
self.fog = clamp(self._t - 10, 0.0, 30.0)
|
||||||
if self._t == -250.0:
|
if self._t == -250.0:
|
||||||
self._increasing = True
|
self._increasing = True
|
||||||
if self._t == 100.0:
|
if self._t == 100.0:
|
||||||
|
@ -91,6 +95,8 @@ class Weather(object):
|
||||||
self.weather.precipitation = self._storm.rain
|
self.weather.precipitation = self._storm.rain
|
||||||
self.weather.precipitation_deposits = self._storm.puddles
|
self.weather.precipitation_deposits = self._storm.puddles
|
||||||
self.weather.wind_intensity = self._storm.wind
|
self.weather.wind_intensity = self._storm.wind
|
||||||
|
self.weather.fog_density = self._storm.fog
|
||||||
|
self.weather.wetness = self._storm.wetness
|
||||||
self.weather.sun_azimuth_angle = self._sun.azimuth
|
self.weather.sun_azimuth_angle = self._sun.azimuth
|
||||||
self.weather.sun_altitude_angle = self._sun.altitude
|
self.weather.sun_altitude_angle = self._sun.altitude
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,9 @@ def apply_weather_presets(args, weather):
|
||||||
weather.precipitation = WEATHER_PRESETS[args.weather][1]
|
weather.precipitation = WEATHER_PRESETS[args.weather][1]
|
||||||
weather.precipitation_deposits = WEATHER_PRESETS[args.weather][2]
|
weather.precipitation_deposits = WEATHER_PRESETS[args.weather][2]
|
||||||
weather.wind_intensity = WEATHER_PRESETS[args.weather][3]
|
weather.wind_intensity = WEATHER_PRESETS[args.weather][3]
|
||||||
|
weather.fog_density = WEATHER_PRESETS[args.weather][4]
|
||||||
|
weather.fog_distance = WEATHER_PRESETS[args.weather][5]
|
||||||
|
weather.wetness = WEATHER_PRESETS[args.weather][6]
|
||||||
else:
|
else:
|
||||||
print("[ERROR]: Command [--weather | -w] '" + args.weather + "' not known")
|
print("[ERROR]: Command [--weather | -w] '" + args.weather + "' not known")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
Loading…
Reference in New Issue