From 98b8e9fc1624ec05b91044ab4907f01a01af6780 Mon Sep 17 00:00:00 2001 From: Halbear Date: Fri, 20 Mar 2026 19:16:10 +0000 Subject: [PATCH] shadow casting --- Background.png | Bin 243 -> 245 bytes OpaqueBackground.png | Bin 0 -> 241 bytes SpriteStacker/Form1.cs | 60 +++++++++++-- SpriteStacker/Model.cs | 85 +++++++++++++++++- .../Properties/Resources.Designer.cs | 20 +++++ SpriteStacker/Properties/Resources.resx | 6 ++ SpriteStacker/Resources/Background.png | Bin 243 -> 245 bytes SpriteStacker/Resources/Monocraft.ttf | Bin 0 -> 210192 bytes SpriteStacker/Resources/OpaqueBackground.png | Bin 0 -> 241 bytes SpriteStacker/SpriteStacker.csproj | 4 + 10 files changed, 167 insertions(+), 8 deletions(-) create mode 100644 OpaqueBackground.png create mode 100644 SpriteStacker/Resources/Monocraft.ttf create mode 100644 SpriteStacker/Resources/OpaqueBackground.png diff --git a/Background.png b/Background.png index 9bc2a0a26f98a746b1537a70b1faabdc02fe9573..eeb9040b4f80a60e60ee8c9ff6baf5b0b6a3bb6a 100644 GIT binary patch delta 103 zcmV-t0GR*t0rdfpF)^=6L_t(|obB1c34l-##84IMvMxdJAP9E-E#nC$4NM4o+j)$! zO_2RK<@~hJ^$$>yur86m3kzn||M};>=>G37ppmRHk-rBP%?qQu2rl8hpH=_>002ov JPDHLkV1oO+FoysD delta 99 zcmV-p0G$8z0rLTnF)yu2L_t(|obB0R27pi$2GL53jwmA9^=la?n%TfN#{GBaF~&JT zw*8Rv(?ZujK#{>7k-!`ZRsZLo`=a~5zkrdwB9Xut6)*GW2yb2=NRa>l002ovPDHLk FV1ifeE_VO` diff --git a/OpaqueBackground.png b/OpaqueBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..c5517d193af129ab8699b989a4a409f964f87f8c GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|R(rZQhE&XX zd-EV~g8|Rc3r!Nse*0g}JtV=;S>2c)x%26)nUNEU`{u-($Npzvy}&e!DTC3MaZAH8 zhA4+%2Hgdk4PqBW9Jn*M7OA|9 1000) + { + SecondCounter = Process.GetCurrentProcess().TotalProcessorTime.TotalMilliseconds; + //model.DrawLayersToImages(); + } if (Process.GetCurrentProcess().TotalProcessorTime.TotalMilliseconds - LastFT > 16) { LastFT = Process.GetCurrentProcess().TotalProcessorTime.TotalMilliseconds; @@ -80,12 +99,12 @@ namespace SpriteStacker if(Rotate)Camera.Rotation++; if (mouseLeftDown) { - if(!palette.Bounds.Contains(MousePosition)) DrawBrush(new Voxel(Camera.SelectedColor)); + if(ValidLocation) DrawBrush(new Voxel(Camera.SelectedColor)); } if (mouseRightDown) { - if (!palette.Bounds.Contains(MousePosition)) DrawBrush(new Voxel(Color.Transparent)); + if (ValidLocation) DrawBrush(new Voxel(Color.Transparent)); } } } @@ -93,10 +112,19 @@ namespace SpriteStacker private void PaintDisplay(object sender, PaintEventArgs e) { e.Graphics.PixelOffsetMode = PixelOffsetMode.Half; - model.DrawSpriteStack(e.Graphics); + switch (Config.renderMode) + { + case RenderMode.Editing: + model.DrawSpriteStack(e.Graphics); + break; + case RenderMode.Rendering: + model.RenderModel(e.Graphics,Config.RenderResolution); + break; + + } palette.Draw(e.Graphics); e.Graphics.ResetTransform(); - + e.Graphics.DrawString(String.Format("Selected Brush: {0}\nLayer: {1}/{2}\nBrush Size: {3}\nBrush Intensity: {4}\nRender Type: {5}\nRender Resolution: {6}", Camera.type, Camera.SelectedLayer + 1, model.LayerImages.Count, Camera.BrushSize, Camera.SprayIntensity,Config.renderMode,Config.renderMode == RenderMode.Editing ? "N/A": Config.RenderResolution.ToString()), new Font(pfc.Families[0], Config.FontSize), Brushes.DarkSlateBlue, new Point(0, palette.Bounds.Bottom)); } private void ResizeDisplay() @@ -130,10 +158,12 @@ namespace SpriteStacker private void Reset() { model = new Model(Camera.CanvasWidth, Camera.CanvasHeight); + Camera.SelectedLayer = 0; } private void KeyDownEvent(object sender, KeyEventArgs e) { BrushType[] types = new BrushType[] { BrushType.Square, BrushType.Circle,BrushType.Spray }; + RenderMode[] RenderModes = new RenderMode[] {RenderMode.Editing, RenderMode.Rendering }; if (e.KeyCode == Keys.W) Camera.BrushY = Math.Min(Camera.BrushY + 1,model.Length); if (e.KeyCode == Keys.S) Camera.BrushY = Math.Max(Camera.BrushY -1, 0); if (e.KeyCode == Keys.A) Camera.BrushX = Math.Min(Camera.BrushX + 1, model.Width); @@ -146,8 +176,16 @@ namespace SpriteStacker if (e.KeyCode == Keys.H) Camera.ViewAngle -= 0.25f; if (e.KeyCode == Keys.D1) Config.BackgroundTile += 2; if (e.KeyCode == Keys.D2) Config.BackgroundTile -= 2; + if (e.KeyCode == Keys.D3) Config.RenderResolution += 1; + if (e.KeyCode == Keys.D4) Config.RenderResolution -= 1; if (e.KeyCode == Keys.R) Rotate = !Rotate; if (e.KeyCode == Keys.ShiftKey) Camera.EditMode = !Camera.EditMode; + if (e.KeyCode == Keys.ControlKey) + { + Config.RenderIndex++; + if (Config.RenderIndex >= RenderModes.Length) Config.RenderIndex = 0; + Config.renderMode = RenderModes[Config.RenderIndex]; + } if (e.KeyCode == Keys.Up) model.SetCurrentLayer(Camera.SelectedLayer + 1); if (e.KeyCode == Keys.Down) model.SetCurrentLayer(Math.Max(Camera.SelectedLayer - 1,0)); if (e.KeyCode == Keys.Delete) Reset(); @@ -181,8 +219,12 @@ namespace SpriteStacker { for (int j = 0; j < Camera.BrushSize; j++) { - int locx = Math.Min(Math.Max((Camera.BrushX + i - Camera.BrushSize / 2), 0), model.Width - 1); - int locy = Math.Min(Math.Max((Camera.BrushY + j - Camera.BrushSize / 2), 0), model.Length - 1); + int locx = (Camera.BrushX + i - Camera.BrushSize / 2); + int locy = (Camera.BrushY + j - Camera.BrushSize / 2); + if (locx < -4 || locx > model.Width + 4 || locy < -4 || locy > model.Length + 4) ValidLocation = false; + else ValidLocation = true; + locx = Math.Min(Math.Max(locx, 0), model.Width - 1); + locy = Math.Min(Math.Max(locy, 0), model.Length - 1); bool paintPixel = false; if (Camera.type == BrushType.Square) paintPixel = true; if (Camera.type == BrushType.Circle && Camera.isWithinCircle(i, j, (int)Math.Floor(Camera.BrushSize / 2.0), (int)(Camera.BrushSize / 2.0), (int)(Camera.BrushSize / 2.0))) @@ -196,7 +238,7 @@ namespace SpriteStacker if(paintPixel) model.SetData(Math.Min(locx, model.Width - 1), Math.Min(locy, model.Length - 1), Camera.SelectedLayer, voxel); } } - model.DrawLayersToImages(); + model.DrawSelectedLayerToImage(); } private void MouseMoveEvent(object sender, MouseEventArgs e) @@ -228,10 +270,14 @@ namespace SpriteStacker if (e.Button == MouseButtons.Left) { mouseLeftDown = false; + model.DrawLayersToImages(); + } if (e.Button == MouseButtons.Right) { mouseRightDown = false; + model.DrawLayersToImages(); + } } diff --git a/SpriteStacker/Model.cs b/SpriteStacker/Model.cs index d48eb40..2f60807 100644 --- a/SpriteStacker/Model.cs +++ b/SpriteStacker/Model.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Drawing.Imaging; using System.Linq; using System.Runtime.Versioning; using System.Text; @@ -10,10 +11,20 @@ using System.Windows.Forms; namespace SpriteStacker { + public enum RenderMode + { + Editing, + Rendering + } public static class Config { public static Color BasePlateColour = Color.FromArgb(255, 255, 255, 255); public static int BackgroundTile = 2; + public static List customFonts = new List(); + public static int FontSize = 16; + public static int RenderIndex = 0; + public static RenderMode renderMode = RenderMode.Editing; + public static int RenderResolution = 1; } public class ColourPalette { @@ -167,10 +178,12 @@ namespace SpriteStacker public int Width; public int Length; public List Bounds = new List(); + public Bitmap RenderedModel; public Model(int Width, int Length) { this.Width = Width; this.Length = Length; + RenderedModel = new Bitmap(Width * 2, Length * 2); AddLayer(); } public void SetCurrentLayer(int Layer) @@ -220,6 +233,61 @@ namespace SpriteStacker LayerImages.Add(new Bitmap(Width, Length)); ModelData.Add(new Voxel[Width,Length]); Bounds.Add(new Rectangle(new Point(-(int)(Width * Camera.scale) / 2, -(int)(Length * Camera.scale) / 2), new Size((int)(Width * Camera.scale), (int)(Length * Camera.scale)))); + Bitmap Render = new Bitmap(Width * 2, (Length + (int)(ModelData.Count * Camera.ViewAngle)) * 2); + } + public void RenderModel(Graphics R, int RenderResolution) + { + RenderResolution = Math.Max(RenderResolution, 1); + Bitmap Render = new Bitmap((Width * 2 * RenderResolution), (Length + (int)(ModelData.Count * Camera.ViewAngle)) * 2 * RenderResolution); + Graphics G = Graphics.FromImage(Render); + G.ResetTransform(); + G.TranslateTransform(Render.Width/2, Render.Height/2); + G.RotateTransform(Camera.Rotation); + float AngleScale = Camera.ViewAngle * RenderResolution; + G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; + G.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; + G.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half; + float[][] colorMatrixElements = { + new float[] {0.0f, 0, 0, 0, 0},//R + new float[] {0, 0.0f, 0, 0, 0},//G + new float[] {0, 0, 0.0f, 0, 0},//B + new float[] {0, 0, 0, 0.8f, 0}, + new float[] {0.0f, 0.0f, 0.0f, 0f, 1}}; + + ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements); + ImageAttributes imageAttributes = new ImageAttributes(); + imageAttributes.SetColorMatrix( + colorMatrix, + ColorMatrixFlag.Default, + ColorAdjustType.Bitmap); + for (int i = 0; i < ModelData.Count; i++) + { + G.ResetTransform(); + G.TranslateTransform(Render.Width / 2 - ((i * RenderResolution / 1.25f) * (float)Math.Cos(Camera.Rotation * Math.PI / 180.0)), Render.Height / 2 - (((i / 1.25f) * (float)Math.Sin(Camera.Rotation * Math.PI / 180.0)) * AngleScale)); + G.RotateTransform(Camera.Rotation); + G.DrawImage(LayerImages[i], new Rectangle(-(LayerImages[i].Width / 2) * RenderResolution, -(LayerImages[i].Height / 2) * RenderResolution, LayerImages[i].Width * RenderResolution, LayerImages[i].Height * RenderResolution) + , 0, 0, LayerImages[i].Width, LayerImages[i].Height, GraphicsUnit.Pixel, imageAttributes); + } + for (int i = 0; i < ModelData.Count; i++) + { + G.ResetTransform(); + G.TranslateTransform(Render.Width / 2, Render.Height / 2 - (i * AngleScale)); + G.RotateTransform(Camera.Rotation); + G.DrawImage(LayerImages[i], new Rectangle(-(LayerImages[i].Width / 2) * RenderResolution, -(LayerImages[i].Height / 2) * RenderResolution, LayerImages[i].Width * RenderResolution, LayerImages[i].Height * RenderResolution)); + } + int X = Camera.LocX + Camera.Width / 2; + int Y = Camera.Height / 2 + Camera.LocY; + R.ResetTransform(); + R.TranslateTransform(X, Y); + R.RotateTransform(Camera.Rotation); + R.FillRectangle(new SolidBrush(Config.BasePlateColour), Bounds[0]); + int difference = Render.Height - Render.Width; + R.ResetTransform(); + R.TranslateTransform(X, Y); + R.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; + R.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half; + R.DrawImage(Render,( -Render.Width / 2)/ RenderResolution * Camera.scale, (-(Render.Width + difference) / 2)/ RenderResolution * Camera.scale, Render.Width/ RenderResolution * Camera.scale, Render.Height/ RenderResolution * Camera.scale); + RenderedModel = Render; } public void DrawSpriteStack(Graphics G) { @@ -254,7 +322,7 @@ namespace SpriteStacker { G.ResetTransform(); G.TranslateTransform(X, Y); - TextureBrush TileBrush = new TextureBrush(Resources.Background); + TextureBrush TileBrush = new TextureBrush(Resources.OpaqueBackground); TileBrush.ScaleTransform((1 / 32.0f) * Camera.scale * (Config.BackgroundTile / 2), (1 / 32.0f) * Camera.scale * (Config.BackgroundTile / 2)); G.FillRectangle(TileBrush, Bounds[Camera.SelectedLayer]); G.DrawImage(LayerImages[Camera.SelectedLayer], Bounds[Camera.SelectedLayer]); @@ -263,6 +331,21 @@ namespace SpriteStacker } } + public void DrawSelectedLayerToImage() + { + Bitmap newImage = new Bitmap(Width, Length); + for (int x = 0; x < ModelData[Camera.SelectedLayer].GetLength(0); x++) + { + for (int y = 0; y < ModelData[Camera.SelectedLayer].GetLength(1); y++) + { + if (ModelData[Camera.SelectedLayer][x, y] != null) + { + newImage.SetPixel(x, y, ModelData[Camera.SelectedLayer][x, y].GetColor()); + } + } + } + LayerImages[Camera.SelectedLayer] = newImage; + } public void DrawLayersToImages() { for (int i = 0; i < ModelData.Count; i++) diff --git a/SpriteStacker/Properties/Resources.Designer.cs b/SpriteStacker/Properties/Resources.Designer.cs index 8ba549f..52225e1 100644 --- a/SpriteStacker/Properties/Resources.Designer.cs +++ b/SpriteStacker/Properties/Resources.Designer.cs @@ -329,5 +329,25 @@ namespace SpriteStacker.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Monocraft { + get { + object obj = ResourceManager.GetObject("Monocraft", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap OpaqueBackground { + get { + object obj = ResourceManager.GetObject("OpaqueBackground", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/SpriteStacker/Properties/Resources.resx b/SpriteStacker/Properties/Resources.resx index a659944..4071b25 100644 --- a/SpriteStacker/Properties/Resources.resx +++ b/SpriteStacker/Properties/Resources.resx @@ -121,6 +121,12 @@ ..\Resources\Background.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Monocraft.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\OpaqueBackground.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/SpriteStacker/Resources/Background.png b/SpriteStacker/Resources/Background.png index 9bc2a0a26f98a746b1537a70b1faabdc02fe9573..eeb9040b4f80a60e60ee8c9ff6baf5b0b6a3bb6a 100644 GIT binary patch delta 103 zcmV-t0GR*t0rdfpF)^=6L_t(|obB1c34l-##84IMvMxdJAP9E-E#nC$4NM4o+j)$! zO_2RK<@~hJ^$$>yur86m3kzn||M};>=>G37ppmRHk-rBP%?qQu2rl8hpH=_>002ov JPDHLkV1oO+FoysD delta 99 zcmV-p0G$8z0rLTnF)yu2L_t(|obB0R27pi$2GL53jwmA9^=la?n%TfN#{GBaF~&JT zw*8Rv(?ZujK#{>7k-!`ZRsZLo`=a~5zkrdwB9Xut6)*GW2yb2=NRa>l002ovPDHLk FV1ifeE_VO` diff --git a/SpriteStacker/Resources/Monocraft.ttf b/SpriteStacker/Resources/Monocraft.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4f65eb9cf317983b748d3d84c3754230f411d385 GIT binary patch literal 210192 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 Cu0tmP literal 0 HcmV?d00001 diff --git a/SpriteStacker/Resources/OpaqueBackground.png b/SpriteStacker/Resources/OpaqueBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..c5517d193af129ab8699b989a4a409f964f87f8c GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|R(rZQhE&XX zd-EV~g8|Rc3r!Nse*0g}JtV=;S>2c)x%26)nUNEU`{u-($Npzvy}&e!DTC3MaZAH8 zhA4+%2Hgdk4PqBW9Jn*M7OA|9Settings.settings True + @@ -159,6 +160,9 @@ + + +