diff --git a/Barotrauma/BarotraumaClient/Source/Map/Hull.cs b/Barotrauma/BarotraumaClient/Source/Map/Hull.cs index c9992a390..efa913405 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Hull.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Hull.cs @@ -190,10 +190,12 @@ namespace Barotrauma { Rectangle hullDrawRect = rect; if (Submarine != null) hullDrawRect.Location += Submarine.DrawPosition.ToPoint(); - + + float depth = 1.0f; foreach (Decal d in decals) { - d.Draw(spriteBatch, this); + d.Draw(spriteBatch, this, depth); + depth -= 0.000001f; } } diff --git a/Barotrauma/BarotraumaClient/Source/Particles/Decal.cs b/Barotrauma/BarotraumaClient/Source/Particles/Decal.cs index 42ead6b92..4fdc15d52 100644 --- a/Barotrauma/BarotraumaClient/Source/Particles/Decal.cs +++ b/Barotrauma/BarotraumaClient/Source/Particles/Decal.cs @@ -105,13 +105,13 @@ namespace Barotrauma.Particles fadeTimer = Prefab.FadeInTime; } - public void Draw(SpriteBatch spriteBatch, Hull hull) + public void Draw(SpriteBatch spriteBatch, Hull hull, float depth) { Vector2 drawPos = position + hull.Rect.Location.ToVector2(); drawPos += hull.Submarine.DrawPosition; drawPos.Y = -drawPos.Y; - spriteBatch.Draw(Sprite.Texture, drawPos, clippedSourceRect, Color * GetAlpha(), 0, Vector2.Zero, scale, SpriteEffects.None, 1); + spriteBatch.Draw(Sprite.Texture, drawPos, clippedSourceRect, Color * GetAlpha(), 0, Vector2.Zero, scale, SpriteEffects.None, depth); } private float GetAlpha()