restore full world effects outside portmaster

This commit is contained in:
Alexander Sellite 2026-09-01 19:00:13 -04:00
parent 4fda6e97f6
commit 41b4f86ddf
15 changed files with 398 additions and 122 deletions

View file

@ -146,6 +146,7 @@ const TITLE_MUSIC_PATH: String = (
const NEW_GAME_MUSIC_PATH: String = "res://audio/music/world/tulips.wav"
const DUSK_MUSIC_PATH: String = "res://audio/music/world/craft.mp3"
const TIME_CROSSING_EPSILON_HOURS: float = 0.000001
const RAIN_VISUAL_MOTION_MULTIPLIER: float = 2.0
const DEDICATED_IDLE_PHYSICS_TICKS_PER_SECOND: int = 10
const DEDICATED_ACTIVE_PHYSICS_TICKS_PER_SECOND: int = 30
const HOME_ENTRY_INPUT_OWNER: StringName = &"home_entry_transition"
@ -382,6 +383,25 @@ func _configure_audio_performance_profile(light_profile: bool) -> void:
_rain_ambience.set_audio_enabled(true)
func _on_world_weather_changed(
weather: WorldWeatherService.Weather,
_seconds_remaining: float,
) -> void:
_apply_weather_visual_motion(weather)
func _apply_weather_visual_motion(
weather: WorldWeatherService.Weather,
) -> void:
var multiplier: float = (
RAIN_VISUAL_MOTION_MULTIPLIER
if weather == WorldWeatherService.Weather.RAINY
else 1.0
)
_test_world.set_foliage_wind_strength_multiplier(multiplier)
_test_world.set_water_motion_strength_multiplier(multiplier)
func _load_optional_audio_stream(path: String) -> AudioStream:
if not ResourceLoader.exists(path, "AudioStream"):
return null
@ -654,6 +674,11 @@ func _initialize_application(dedicated: bool) -> void:
Callable(_player, "get_active_gameplay_camera"),
_performance_profile.is_light(),
)
if not _world_weather.weather_changed.is_connected(
_on_world_weather_changed
):
_world_weather.weather_changed.connect(_on_world_weather_changed)
_apply_weather_visual_motion(_world_weather.get_weather())
if not _world_time.natural_time_advanced.is_connected(
_on_natural_time_advanced
):