From 1e2704c08c90994670763f5ec5eea48627317ad8 Mon Sep 17 00:00:00 2001 From: PowerfulBacon <26465327+PowerfulBacon@users.noreply.github.com> Date: Thu, 18 Apr 2024 14:26:48 +0100 Subject: [PATCH] Revert "Fixes weather's bad image rendering code (#10775)" This reverts commit dea0bd7325a11ea0a7c09059997d5090dc7d1308. --- code/datums/weather/weather.dm | 71 ++++++++++------------------------ 1 file changed, 20 insertions(+), 51 deletions(-) diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index 22c378658fa22..ed45188671d28 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -44,23 +44,9 @@ /// This causes the weather to only end if forced to var/perpetual = FALSE - // cached sprites to go on area overlays. - var/mutable_appearance/cached_weather_sprite_start - var/mutable_appearance/cached_weather_sprite_process - var/mutable_appearance/cached_weather_sprite_end - /datum/weather/New(z_levels) ..() impacted_z_levels = z_levels - generate_cached_weather_sprites() - -/datum/weather/proc/generate_cached_weather_sprites() - if(telegraph_overlay) - cached_weather_sprite_start = mutable_appearance('icons/effects/weather_effects.dmi', telegraph_overlay, overlay_layer, overlay_plane, color = weather_color) - if(weather_overlay) - cached_weather_sprite_process = mutable_appearance('icons/effects/weather_effects.dmi', weather_overlay, overlay_layer, overlay_plane, color = weather_color) - if(end_overlay) - cached_weather_sprite_end = mutable_appearance('icons/effects/weather_effects.dmi', end_overlay, overlay_layer, overlay_plane, color = weather_color) /datum/weather/proc/telegraph() if(stage == STARTUP_STAGE) @@ -149,40 +135,23 @@ return /datum/weather/proc/update_areas() - var/previous_overlay - var/new_overlay - switch(stage) - if(STARTUP_STAGE) - if(cached_weather_sprite_start) - new_overlay = cached_weather_sprite_start - previous_overlay = TRUE // temporary value. see below. - if(MAIN_STAGE) - if(cached_weather_sprite_start) - previous_overlay = cached_weather_sprite_start - if(cached_weather_sprite_process) - new_overlay = cached_weather_sprite_process - if(WIND_DOWN_STAGE) - if(cached_weather_sprite_process) - previous_overlay = cached_weather_sprite_process - if(cached_weather_sprite_end) - new_overlay = cached_weather_sprite_end - if(END_STAGE) - if(cached_weather_sprite_end) - previous_overlay = cached_weather_sprite_end - new_overlay = TRUE // temporary value. see below. - - // we won't iterate all areas unnecesarily - if(!previous_overlay && !new_overlay) - return - - // removing TRUE value because we don't want typecheck every iteration from for loop - if(previous_overlay == TRUE) - previous_overlay = null - if(new_overlay == TRUE) - new_overlay = null - - for(var/area/each_area as anything in impacted_areas) - if(previous_overlay) - each_area.cut_overlay(previous_overlay) - if(new_overlay) - each_area.add_overlay(new_overlay) + for(var/V in impacted_areas) + var/area/N = V + N.layer = overlay_layer + N.plane = overlay_plane + N.icon = 'icons/effects/weather_effects.dmi' + N.color = weather_color + switch(stage) + if(STARTUP_STAGE) + N.icon_state = telegraph_overlay + if(MAIN_STAGE) + N.icon_state = weather_overlay + if(WIND_DOWN_STAGE) + N.icon_state = end_overlay + if(END_STAGE) + N.color = null + N.icon_state = "" + N.icon = 'icons/turf/areas.dmi' + N.layer = initial(N.layer) + N.plane = initial(N.plane) + N.set_opacity(FALSE)