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); }