From baf6a94e38bd6fc8fda6a8ed58cc91cb307a86e0 Mon Sep 17 00:00:00 2001 From: Regalis Date: Thu, 24 Nov 2016 19:15:38 +0200 Subject: [PATCH] Fixed wall damage not being visible if there's only one damaged section --- Subsurface/Source/Map/Structure.cs | 5 ++--- Subsurface/Source/Map/Submarine.cs | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Subsurface/Source/Map/Structure.cs b/Subsurface/Source/Map/Structure.cs index 46d56a1bd..b79716e4a 100644 --- a/Subsurface/Source/Map/Structure.cs +++ b/Subsurface/Source/Map/Structure.cs @@ -488,7 +488,6 @@ namespace Barotrauma Draw(spriteBatch, false, false, damageEffect); } - private static float prevCutoff; private void Draw(SpriteBatch spriteBatch, bool editing, bool back = true, Effect damageEffect = null) { @@ -527,14 +526,14 @@ namespace Barotrauma { float newCutoff = Math.Min((sections[i].damage / prefab.MaxHealth), 0.65f); - if (Math.Abs(newCutoff - prevCutoff) > 0.01f) + if (Math.Abs(newCutoff - Submarine.DamageEffectCutoff) > 0.01f) { damageEffect.Parameters["aCutoff"].SetValue(newCutoff); damageEffect.Parameters["cCutoff"].SetValue(newCutoff * 1.2f); damageEffect.CurrentTechnique.Passes[0].Apply(); - prevCutoff = newCutoff; + Submarine.DamageEffectCutoff = newCutoff; } } diff --git a/Subsurface/Source/Map/Submarine.cs b/Subsurface/Source/Map/Submarine.cs index 9afaa82c8..74ae8cbff 100644 --- a/Subsurface/Source/Map/Submarine.cs +++ b/Subsurface/Source/Map/Submarine.cs @@ -373,6 +373,9 @@ namespace Barotrauma } } + + public static float DamageEffectCutoff; + public static void DrawDamageable(SpriteBatch spriteBatch, Effect damageEffect, bool editing = false) { var entitiesToRender = !editing && visibleEntities != null ? visibleEntities : MapEntity.mapEntityList; @@ -386,6 +389,8 @@ namespace Barotrauma { damageEffect.Parameters["aCutoff"].SetValue(0.0f); damageEffect.Parameters["cCutoff"].SetValue(0.0f); + + DamageEffectCutoff = 0.0f; } }