From 6b2f9d445766a14369d57d15e76ac68965577b19 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 26 Jan 2026 17:30:10 -0500 Subject: [PATCH] Fixed a bug with night to day transition. --- src/time_system.nvgt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/time_system.nvgt b/src/time_system.nvgt index f64e426..f286bb0 100644 --- a/src/time_system.nvgt +++ b/src/time_system.nvgt @@ -445,6 +445,14 @@ void update_time() { check_invasion_status(); check_ambience_transition(); + // Safety: if crossfade failed or was skipped, align day/night with the current hour. + if (!crossfade_active) { + bool expected_daytime = (current_hour >= 6 && current_hour < 19); + if (expected_daytime != is_daytime) { + is_daytime = expected_daytime; + update_ambience(true); + } + } if (is_daytime && residents_count > 0 && barricade_health < BARRICADE_MAX_HEALTH && current_hour % 4 == 0) { if (has_any_storage_food()) { @@ -578,22 +586,26 @@ void update_crossfade() { if (crossfade_to_night) { if (day_sound_handle == -1 || !p.sound_is_active(day_sound_handle)) { crossfade_active = false; + is_daytime = false; update_ambience(true); return; } if (night_sound_handle == -1 || !p.sound_is_active(night_sound_handle)) { crossfade_active = false; + is_daytime = false; update_ambience(true); return; } } else { if (night_sound_handle == -1 || !p.sound_is_active(night_sound_handle)) { crossfade_active = false; + is_daytime = true; update_ambience(true); return; } if (day_sound_handle == -1 || !p.sound_is_active(day_sound_handle)) { crossfade_active = false; + is_daytime = true; update_ambience(true); return; }