From cba88dc2dcad4e0b5226a3b868b64d2af3ea74a6 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Thu, 15 May 2025 02:12:14 +0200 Subject: [PATCH] Add support for rotatable tiles in map renderer (#37342) * Initial commit * Fixyfixfix --- Content.MapRenderer/Painters/TilePainter.cs | 22 ++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Content.MapRenderer/Painters/TilePainter.cs b/Content.MapRenderer/Painters/TilePainter.cs index 4856c181da..114db8cb5e 100644 --- a/Content.MapRenderer/Painters/TilePainter.cs +++ b/Content.MapRenderer/Painters/TilePainter.cs @@ -54,7 +54,27 @@ namespace Content.MapRenderer.Painters var x = (int) (tile.X + xOffset + customOffset.X); var y = (int) (tile.Y + yOffset + customOffset.Y); - var image = images[path][tile.Tile.Variant]; + var image = images[path][tile.Tile.Variant].CloneAs(); + + switch (tile.Tile.RotationMirroring % 4) + { + case 0: + break; + case 1: + image.Mutate(o => o.Rotate(90f)); + break; + case 2: + image.Mutate(o => o.Rotate(180f)); + break; + case 3: + image.Mutate(o => o.Rotate(270f)); + break; + } + + if (tile.Tile.RotationMirroring > 3) + { + image.Mutate(o => o.Flip(FlipMode.Horizontal)); + } gridCanvas.Mutate(o => o.DrawImage(image, new Point(x * tileSize, y * tileSize), 1));