From acb8f34542fef255572fad83e2b9c4e5c1249d64 Mon Sep 17 00:00:00 2001 From: Amy <3855802+amylizzle@users.noreply.github.com> Date: Mon, 25 Sep 2023 04:08:50 +0100 Subject: [PATCH] Fix plane master render target handling (#1455) --- OpenDreamClient/Rendering/DreamViewOverlay.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OpenDreamClient/Rendering/DreamViewOverlay.cs b/OpenDreamClient/Rendering/DreamViewOverlay.cs index 7e4029b864..ce6dd1c04e 100644 --- a/OpenDreamClient/Rendering/DreamViewOverlay.cs +++ b/OpenDreamClient/Rendering/DreamViewOverlay.cs @@ -253,6 +253,15 @@ private void ProcessIconComponents(DreamIcon icon, Vector2 position, EntityUid u renderTargetPlaceholder.Layer = current.Layer; renderTargetPlaceholder.RenderSource = current.RenderTarget; renderTargetPlaceholder.MouseOpacity = current.MouseOpacity; + if((current.AppearanceFlags & AppearanceFlags.PlaneMaster) != 0){ //Plane masters with render targets get special handling + renderTargetPlaceholder.TransformToApply = current.TransformToApply; + renderTargetPlaceholder.ColorToApply = current.ColorToApply; + renderTargetPlaceholder.ColorMatrixToApply = current.ColorMatrixToApply; + renderTargetPlaceholder.AlphaToApply = current.AlphaToApply; + renderTargetPlaceholder.BlendMode = current.BlendMode; + } + renderTargetPlaceholder.AppearanceFlags = current.AppearanceFlags; + current.AppearanceFlags = current.AppearanceFlags & ~AppearanceFlags.PlaneMaster; //only the placeholder should be marked as master result.Add(renderTargetPlaceholder); }