From b21a7c7ef25d3bead01e6a0965ecb8e5d6955fb0 Mon Sep 17 00:00:00 2001 From: Michele Scandura Date: Mon, 21 Dec 2020 16:29:59 +0000 Subject: [PATCH 01/20] tiles and lines --- Sledgemapper.Shared/Entities/Session.cs | 22 +++++ Sledgemapper.Shared/Entities/Tile.cs | 27 ++++-- Sledgemapper/Sledgemapper.cs | 123 +++++++++++++++++++++++- Sledgemapper/State.cs | 2 + 4 files changed, 160 insertions(+), 14 deletions(-) diff --git a/Sledgemapper.Shared/Entities/Session.cs b/Sledgemapper.Shared/Entities/Session.cs index ab1faa5..ed5b0c6 100644 --- a/Sledgemapper.Shared/Entities/Session.cs +++ b/Sledgemapper.Shared/Entities/Session.cs @@ -27,6 +27,7 @@ namespace Sledgemapper.Shared.Entities Overlays = new ConcurrentDictionary(); Walls = new ConcurrentDictionary(); Notes = new ConcurrentDictionary(); + Lines=new ConcurrentDictionary(); Players = new List(); Colors = new List(); } @@ -40,6 +41,7 @@ namespace Sledgemapper.Shared.Entities public List Colors { get; set; } public string SessionName { get; set; } public int SessionId { get; set; } + public ConcurrentDictionary Lines { get; private set; } public void NewTile(Tile selectedTile, string tileId) { @@ -179,5 +181,25 @@ namespace Sledgemapper.Shared.Entities { MapEntityDeleted?.Invoke(this, e); } + + public void NewLine(Line line) + { + if (line is null) + { + return; + } + + var lineExist = Lines.TryGetValue(line.ToString(), out var tile); + var newLine = new Line { X = line.X, Y = line.Y,EndX=line.EndX, EndY=line.EndY }; + if (lineExist) + { + Lines.TryRemove(line.ToString(), out var _); + } + + Lines.TryAdd(newLine.ToString(), newLine); + + //TODO fix this + //OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newTile)); + } } } diff --git a/Sledgemapper.Shared/Entities/Tile.cs b/Sledgemapper.Shared/Entities/Tile.cs index 932da5a..2305868 100644 --- a/Sledgemapper.Shared/Entities/Tile.cs +++ b/Sledgemapper.Shared/Entities/Tile.cs @@ -1,21 +1,30 @@ namespace Sledgemapper.Shared.Entities { - public abstract class BaseMapEntity - { - public int X { get; set; } + public abstract class BaseMapEntity + { + public int X { get; set; } public int Y { get; set; } public string ID { get; set; } - public int Rotation { get; set; } - public override string ToString() + public int Rotation { get; set; } + public override string ToString() { return $"{X}_{Y}"; } - public double Timestamp {get;set;} - } + public double Timestamp { get; set; } + } - public class Tile :BaseMapEntity + public class Tile : BaseMapEntity { } - + public class Line : BaseMapEntity + { + public int EndX { get; set; } + public int EndY { get; set; } + + public override string ToString() + { + return $"{X}_{Y}_{EndX}_{EndY}"; + } + } } diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 8366f7c..fc5c206 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -329,6 +329,25 @@ namespace Sledgemapper } } + + if (newState.IsKeyDown(Keys.LeftControl) && newState.IsKeyDown(Keys.LeftShift) + && mouseState.LeftButton == ButtonState.Released + && mouseState.LeftButton != oldMouseState.LeftButton) + { + if (_state.LineStart is null) + { + _state.LineStart = new Tile{X=_state.HoveredTile.X, Y=_state.HoveredTile.Y}; + } + else + { + var line = new Line{X = _state.LineStart.X, Y = _state.LineStart.Y, EndX=_state.HoveredTile.X, EndY=_state.HoveredTile.Y}; + _state.LineStart=null; + _sessionData.NewLine(line); + + + } + } + if (newState.IsKeyDown(Keys.LeftControl) && mouseState.ScrollWheelValue != oldMouseState.ScrollWheelValue) { // var center = new Point(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2); @@ -441,7 +460,7 @@ namespace Sledgemapper _spriteBatch.Begin(transformMatrix: Matrix.CreateTranslation(_viewportCenter)); DrawTiles(); - +DrawLines(); DrawWalls(); DrawOverlays(); DrawNotes(); @@ -766,15 +785,109 @@ namespace Sledgemapper private void DrawTiles() { + // foreach (var tile in _sessionData.Map.Values) + // { + // var content = Content.Load($"tiles/{tile.ID}"); + + // var posX = tile.X * _state.TileSize + _state.TileSize / 2f; + // var posY = tile.Y * _state.TileSize + _state.TileSize / 2f; + + // _spriteBatch.Draw(content, new Vector2(posX, posY), + // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); + // } + + // border pass foreach (var tile in _sessionData.Map.Values) { var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state.TileSize + _state.TileSize / 2f; - var posY = tile.Y * _state.TileSize + _state.TileSize / 2f; + var posX = tile.X * _state.TileSize ; + var posY = tile.Y * _state.TileSize ; - _spriteBatch.Draw(content, new Vector2(posX, posY), - null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + + _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); + + // _spriteBatch.Draw(content, new Vector2(posX, posY), + // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); + } + + //inner pass + foreach (var tile in _sessionData.Map.Values) + { + var content = Content.Load($"tiles/{tile.ID}"); + + var posX = tile.X * _state.TileSize ; + var posY = tile.Y * _state.TileSize ; + + + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + whiteRectangle.SetData(new[] { Color.White }); + + _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + + // _spriteBatch.DrawRectangle(new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), _settings.BackgroundColor,1); + + // _spriteBatch.Draw(content, new Vector2(posX, posY), + // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); + } + } + +private void DrawLines() + { + + // border pass + foreach (var tile in _sessionData.Lines.Values) + { + // var content = Content.Load($"tiles/{tile.ID}"); + + var posX = tile.X * _state.TileSize ; + var posY = tile.Y * _state.TileSize ; + + var endposX = tile.EndX * _state.TileSize ; + var endposY = tile.EndY * _state.TileSize ; + + + + + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + +_spriteBatch.DrawLine(posX, posY, endposX, endposY,_settings.OverlayTintColor,_state.TileSize+4); + + // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); + + // _spriteBatch.Draw(content, new Vector2(posX, posY), + // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); + } + + //inner pass + foreach (var tile in _sessionData.Lines.Values) + { + // var content = Content.Load($"tiles/{tile.ID}"); + + var posX = tile.X * _state.TileSize ; + var posY = tile.Y * _state.TileSize ; + + var endposX = tile.EndX * _state.TileSize ; + var endposY = tile.EndY * _state.TileSize ; + + + + + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + +_spriteBatch.DrawLine(posX, posY, endposX, endposY,Color.White,_state.TileSize); + + // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); + + // _spriteBatch.Draw(content, new Vector2(posX, posY), + // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); } } diff --git a/Sledgemapper/State.cs b/Sledgemapper/State.cs index 5e85745..9a2ba9a 100644 --- a/Sledgemapper/State.cs +++ b/Sledgemapper/State.cs @@ -15,6 +15,8 @@ namespace Sledgemapper public string CurrentTileId { get; set; } public string CurrentWallId { get; set; } public string CurrentOverlayId { get; set; } + public Tile LineStart { get; internal set; } + public InsertMode InsertMode; public State() From 6f96b2af9799146b6984be316e84689b5897a7ea Mon Sep 17 00:00:00 2001 From: Michele Date: Tue, 22 Dec 2020 10:14:07 +0000 Subject: [PATCH 02/20] drawing modes --- Sledgemapper.Shared/Entities/Tile.cs | 10 +++ Sledgemapper/InsertMode.cs | 6 +- Sledgemapper/Sledgemapper.cs | 31 +++++++++ Sledgemapper/State.cs | 63 +++++++++++++++++++ Sledgemapper/UI/MainWidget.Generated.cs | 83 ++++++++++++++++++++----- Sledgemapper/UI/mainwidget.xml | 10 +++ 6 files changed, 185 insertions(+), 18 deletions(-) diff --git a/Sledgemapper.Shared/Entities/Tile.cs b/Sledgemapper.Shared/Entities/Tile.cs index 2305868..b5a947c 100644 --- a/Sledgemapper.Shared/Entities/Tile.cs +++ b/Sledgemapper.Shared/Entities/Tile.cs @@ -27,4 +27,14 @@ return $"{X}_{Y}_{EndX}_{EndY}"; } } + + public class SnapPoint : BaseMapEntity + { + public int Index { get; set; } + + public override string ToString() + { + return $"{X}_{Y}_{Index}"; + } + } } diff --git a/Sledgemapper/InsertMode.cs b/Sledgemapper/InsertMode.cs index 5416f57..f234f12 100644 --- a/Sledgemapper/InsertMode.cs +++ b/Sledgemapper/InsertMode.cs @@ -4,6 +4,10 @@ { Tile, Wall, - Overlay + Overlay, + NewWall, + NewLine, + NewRoom, + NewTile } } diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index fc5c206..84685fe 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -133,6 +133,10 @@ namespace Sledgemapper _mainWidget.MenuConnectJoin.Enabled = false; _mainWidget.MenuConnectSync.Enabled = false; _mainWidget.MenuConnectUpload.Enabled = false; + _mainWidget.BtnToolbarLine.Click += OnBtnToolbarLinClicked; + _mainWidget.BtnToolbarRoom.Click += OnBtnToolbarRoomClicked; + _mainWidget.BtnToolbarTile.Click += OnBtnToolbarTileClicked; + _mainWidget.BtnToolbarWall.Click += OnBtnToolbarWallClicked; AddItemToToolGrid(_mainWidget.GridTiles, OnTileButtonClicked, "tiles"); AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls"); @@ -145,6 +149,28 @@ namespace Sledgemapper _desktop.Root = _mainWidget; } + private void OnBtnToolbarWallClicked(object sender, EventArgs e) + { + _state.InsertMode=InsertMode.NewWall; + } + + private void OnBtnToolbarTileClicked(object sender, EventArgs e) + { + _state.InsertMode=InsertMode.NewTile; + + } + + private void OnBtnToolbarRoomClicked(object sender, EventArgs e) + { + _state.InsertMode=InsertMode.NewRoom; + + } + + private void OnBtnToolbarLinClicked(object sender, EventArgs e) + { + _state.InsertMode=InsertMode.NewLine; + } + private void OneMenuFileSettingsSelected(object sender, EventArgs e) { var propertyGrid = new PropertyGrid @@ -246,6 +272,11 @@ namespace Sledgemapper _state.SelectOverlay(screenPosition); } + if (_state.InsertMode == InsertMode.NewLine) + { + _state.SelectClosestSnapPoint(screenPosition); + } + // if (newState.IsKeyDown(Keys.LeftControl) && newState.IsKeyDown(Keys.C) && !oldState.IsKeyDown(Keys.C)) // { // CenterOnSelectedTile(); diff --git a/Sledgemapper/State.cs b/Sledgemapper/State.cs index 9a2ba9a..713e9db 100644 --- a/Sledgemapper/State.cs +++ b/Sledgemapper/State.cs @@ -10,6 +10,7 @@ namespace Sledgemapper public Tile HoveredTile { get; set; } public Wall SelectedWall { get; set; } public Overlay SelectedOverlay { get; set; } + public SnapPoint SelectedSnapPoint {get;set;} public Note SelectedNote { get; set; } public int TileSize { get; set; } public string CurrentTileId { get; set; } @@ -65,6 +66,68 @@ namespace Sledgemapper SelectedWall.Rotation = 0; } } + + public void SelectClosestSnapPoint(Point mousePosition) + { + SelectedSnapPoint.X = HoveredTile.X; + SelectedSnapPoint.Y = HoveredTile.Y; + +var points = new List{ + new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize), + new Point((HoveredTile.X+1) * TileSize, HoveredTile.Y * TileSize), + new Point((HoveredTile.X+1) * TileSize, (HoveredTile.Y+1) * TileSize), + new Point(HoveredTile.X * TileSize, (HoveredTile.Y+1) * TileSize), + new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize), + new Point(HoveredTile.X * TileSize + TileSize/2, HoveredTile.Y * TileSize+ TileSize/2), + new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize+TileSize/2), + new Point(HoveredTile.X * TileSize+TileSize , HoveredTile.Y * TileSize+TileSize/2), + new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize+TileSize) + +}; + + var q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); + var q2 = Math.Pow(HoveredTile.Y * TileSize - mousePosition.Y, 2); + var s = Math.Sqrt(q1 + q2); + + if (s < TileSize / 3) + { + SelectedOverlay.Intersection = true; + return; + } + + q1 = Math.Pow(mousePosition.X - (HoveredTile.X + 1) * TileSize, 2); + s = Math.Sqrt(q1 + q2); + if (s < TileSize / 3) + { + SelectedOverlay.X = SelectedOverlay.X + 1; + SelectedOverlay.Intersection = true; + return; + } + + //q1 = System.Math.Pow(mousePosition.X - (_hoveredTile.X + 1) * _tileSize, 2); + q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); + s = Math.Sqrt(q1 + q2); + if (s < TileSize / 3) + { + SelectedOverlay.X = SelectedOverlay.X + 1; + SelectedOverlay.Y = SelectedOverlay.Y + 1; + SelectedOverlay.Intersection = true; + return; + } + + q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); + q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); + s = Math.Sqrt(q1 + q2); + if (s < TileSize / 3) + { + SelectedOverlay.X = SelectedOverlay.X; + SelectedOverlay.Y = SelectedOverlay.Y + 1; + SelectedOverlay.Intersection = true; + return; + } + + SelectedOverlay.Intersection = false; + } public void SelectOverlay(Point mousePosition) { SelectedOverlay.X = HoveredTile.X; diff --git a/Sledgemapper/UI/MainWidget.Generated.cs b/Sledgemapper/UI/MainWidget.Generated.cs index 19c8773..76e9cb3 100644 --- a/Sledgemapper/UI/MainWidget.Generated.cs +++ b/Sledgemapper/UI/MainWidget.Generated.cs @@ -1,5 +1,4 @@ -/* Generated by MyraPad at 02/12/2020 10:41:53 */ -using Myra; +/* Generated by MyraPad at 21/12/2020 21:54:47 */ using Myra.Graphics2D; using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; @@ -124,6 +123,47 @@ namespace Sledgemapper.UI _mainMenu.Items.Add(menuItem2); _mainMenu.Items.Add(menuItem3); + BtnToolbarTile = new ImageTextButton(); + BtnToolbarTile.Text = " T"; + BtnToolbarTile.Width = 40; + BtnToolbarTile.Height = 40; + BtnToolbarTile.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; + BtnToolbarTile.Id = "BtnToolbarTile"; + + BtnToolbarLine = new ImageTextButton(); + BtnToolbarLine.Text = " L"; + BtnToolbarLine.Width = 40; + BtnToolbarLine.Height = 40; + BtnToolbarLine.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; + BtnToolbarLine.Id = "BtnToolbarLine"; + + BtnToolbarWall = new ImageTextButton(); + BtnToolbarWall.Text = " W"; + BtnToolbarWall.Width = 40; + BtnToolbarWall.Height = 40; + BtnToolbarWall.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; + BtnToolbarWall.Id = "BtnToolbarWall"; + + BtnToolbarRoom = new ImageTextButton(); + BtnToolbarRoom.Text = " R"; + BtnToolbarRoom.Width = 40; + BtnToolbarRoom.Height = 40; + BtnToolbarRoom.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; + BtnToolbarRoom.Id = "BtnToolbarRoom"; + + var horizontalStackPanel1 = new HorizontalStackPanel(); + horizontalStackPanel1.Spacing = 5; + horizontalStackPanel1.Proportions.Add(new Proportion + { + Type = Myra.Graphics2D.UI.ProportionType.Auto, + }); + horizontalStackPanel1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Top; + horizontalStackPanel1.Height = 50; + horizontalStackPanel1.Widgets.Add(BtnToolbarTile); + horizontalStackPanel1.Widgets.Add(BtnToolbarLine); + horizontalStackPanel1.Widgets.Add(BtnToolbarWall); + horizontalStackPanel1.Widgets.Add(BtnToolbarRoom); + GridTiles = new Grid(); GridTiles.ColumnSpacing = 8; GridTiles.RowSpacing = 8; @@ -234,22 +274,22 @@ namespace Sledgemapper.UI lblSessionName.MinWidth = 100; lblSessionName.Id = "lblSessionName"; - var horizontalStackPanel1 = new HorizontalStackPanel(); - horizontalStackPanel1.Spacing = 10; - horizontalStackPanel1.Proportions.Add(new Proportion + var horizontalStackPanel2 = new HorizontalStackPanel(); + horizontalStackPanel2.Spacing = 10; + horizontalStackPanel2.Proportions.Add(new Proportion { Type = Myra.Graphics2D.UI.ProportionType.Auto, }); - horizontalStackPanel1.Height = 25; - horizontalStackPanel1.Background = new SolidBrush("#333333FF"); - horizontalStackPanel1.Widgets.Add(label1); - horizontalStackPanel1.Widgets.Add(lblConnectionStatus); - horizontalStackPanel1.Widgets.Add(verticalSeparator1); - horizontalStackPanel1.Widgets.Add(label2); - horizontalStackPanel1.Widgets.Add(lblUsername); - horizontalStackPanel1.Widgets.Add(verticalSeparator2); - horizontalStackPanel1.Widgets.Add(label3); - horizontalStackPanel1.Widgets.Add(lblSessionName); + horizontalStackPanel2.Height = 25; + horizontalStackPanel2.Background = new SolidBrush("#333333FF"); + horizontalStackPanel2.Widgets.Add(label1); + horizontalStackPanel2.Widgets.Add(lblConnectionStatus); + horizontalStackPanel2.Widgets.Add(verticalSeparator1); + horizontalStackPanel2.Widgets.Add(label2); + horizontalStackPanel2.Widgets.Add(lblUsername); + horizontalStackPanel2.Widgets.Add(verticalSeparator2); + horizontalStackPanel2.Widgets.Add(label3); + horizontalStackPanel2.Widgets.Add(lblSessionName); Proportions.Add(new Proportion @@ -257,12 +297,17 @@ namespace Sledgemapper.UI Type = Myra.Graphics2D.UI.ProportionType.Auto, }); Proportions.Add(new Proportion + { + Type = Myra.Graphics2D.UI.ProportionType.Auto, + }); + Proportions.Add(new Proportion { Type = Myra.Graphics2D.UI.ProportionType.Fill, }); Widgets.Add(_mainMenu); - Widgets.Add(verticalSplitPane1); Widgets.Add(horizontalStackPanel1); + Widgets.Add(verticalSplitPane1); + Widgets.Add(horizontalStackPanel2); } @@ -281,6 +326,10 @@ namespace Sledgemapper.UI public MenuItem MenuViewCenterOnSelection; public MenuItem MenuHelpAbout; public HorizontalMenu _mainMenu; + public ImageTextButton BtnToolbarTile; + public ImageTextButton BtnToolbarLine; + public ImageTextButton BtnToolbarWall; + public ImageTextButton BtnToolbarRoom; public Grid GridTiles; public Grid GridWalls; public Grid GridOverlays; @@ -288,4 +337,4 @@ namespace Sledgemapper.UI public Label lblUsername; public Label lblSessionName; } -} +} \ No newline at end of file diff --git a/Sledgemapper/UI/mainwidget.xml b/Sledgemapper/UI/mainwidget.xml index 2a727e1..56fbb00 100644 --- a/Sledgemapper/UI/mainwidget.xml +++ b/Sledgemapper/UI/mainwidget.xml @@ -2,6 +2,7 @@ + @@ -31,6 +32,15 @@ + + + + + + + + + From b66612ab27676ed77a4bc15dc9630adccf7b3e8a Mon Sep 17 00:00:00 2001 From: Michele Scandura Date: Wed, 23 Dec 2020 12:22:13 +0000 Subject: [PATCH 03/20] boh --- Sledgemapper/State.cs | 173 +++++++++++++++++++++++++++++------------- 1 file changed, 122 insertions(+), 51 deletions(-) diff --git a/Sledgemapper/State.cs b/Sledgemapper/State.cs index 713e9db..62fa4d9 100644 --- a/Sledgemapper/State.cs +++ b/Sledgemapper/State.cs @@ -1,6 +1,7 @@ using Microsoft.Xna.Framework; using System; using Sledgemapper.Shared.Entities; +using System.Collections.Generic; namespace Sledgemapper { @@ -10,7 +11,7 @@ namespace Sledgemapper public Tile HoveredTile { get; set; } public Wall SelectedWall { get; set; } public Overlay SelectedOverlay { get; set; } - public SnapPoint SelectedSnapPoint {get;set;} + public SnapPoint SelectedSnapPoint { get; set; } public Note SelectedNote { get; set; } public int TileSize { get; set; } public string CurrentTileId { get; set; } @@ -67,66 +68,136 @@ namespace Sledgemapper } } - public void SelectClosestSnapPoint(Point mousePosition) + public void SelectClosestSnapPoint(Point mousePosition) { - SelectedSnapPoint.X = HoveredTile.X; - SelectedSnapPoint.Y = HoveredTile.Y; + Math.DivRem(mousePosition.X, TileSize / 2, out var remx); + Math.DivRem(mousePosition.Y, TileSize / 2, out var remy); + //var snaptileY=mousePosition.Y/(TileSize/2f); + Console.WriteLine($"{remx} _ {remy}"); -var points = new List{ - new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize), - new Point((HoveredTile.X+1) * TileSize, HoveredTile.Y * TileSize), - new Point((HoveredTile.X+1) * TileSize, (HoveredTile.Y+1) * TileSize), - new Point(HoveredTile.X * TileSize, (HoveredTile.Y+1) * TileSize), - new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize), - new Point(HoveredTile.X * TileSize + TileSize/2, HoveredTile.Y * TileSize+ TileSize/2), - new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize+TileSize/2), - new Point(HoveredTile.X * TileSize+TileSize , HoveredTile.Y * TileSize+TileSize/2), - new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize+TileSize) - -}; - - var q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); - var q2 = Math.Pow(HoveredTile.Y * TileSize - mousePosition.Y, 2); - var s = Math.Sqrt(q1 + q2); - - if (s < TileSize / 3) + if (remx == 0) { - SelectedOverlay.Intersection = true; - return; + if (remy == 0) + { + SelectedSnapPoint.X = HoveredTile.X; + SelectedSnapPoint.Y = HoveredTile.Y; + SelectedSnapPoint.Index = 1; + } + else if (remy < 8) + { + SelectedSnapPoint.X = HoveredTile.X; + SelectedSnapPoint.Y = HoveredTile.Y; + SelectedSnapPoint.Index = 3; + } + else + { + SelectedSnapPoint.X = HoveredTile.X; + SelectedSnapPoint.Y = HoveredTile.Y+1; + SelectedSnapPoint.Index = 1; + } } - q1 = Math.Pow(mousePosition.X - (HoveredTile.X + 1) * TileSize, 2); - s = Math.Sqrt(q1 + q2); - if (s < TileSize / 3) + else if (remx <8) { - SelectedOverlay.X = SelectedOverlay.X + 1; - SelectedOverlay.Intersection = true; - return; + if (remy == 0) + { + SelectedSnapPoint.X = HoveredTile.X; + SelectedSnapPoint.Y = HoveredTile.Y; + SelectedSnapPoint.Index = 2; + } + else if (remy < 8) + { + SelectedSnapPoint.X = HoveredTile.X; + SelectedSnapPoint.Y = HoveredTile.Y; + SelectedSnapPoint.Index = 4; + } + else + { + SelectedSnapPoint.X = HoveredTile.X; + SelectedSnapPoint.Y = HoveredTile.Y+1; + SelectedSnapPoint.Index = 2; + } + } + else{ + if (remy == 0) + { + SelectedSnapPoint.X = HoveredTile.X+1; + SelectedSnapPoint.Y = HoveredTile.Y; + SelectedSnapPoint.Index = 1; + } + else if (remy < 8) + { + SelectedSnapPoint.X = HoveredTile.X+1; + SelectedSnapPoint.Y = HoveredTile.Y; + SelectedSnapPoint.Index = 3; + } + else + { + SelectedSnapPoint.X = HoveredTile.X+1; + SelectedSnapPoint.Y = HoveredTile.Y+1; + SelectedSnapPoint.Index = 1; + } } - //q1 = System.Math.Pow(mousePosition.X - (_hoveredTile.X + 1) * _tileSize, 2); - q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); - s = Math.Sqrt(q1 + q2); - if (s < TileSize / 3) - { - SelectedOverlay.X = SelectedOverlay.X + 1; - SelectedOverlay.Y = SelectedOverlay.Y + 1; - SelectedOverlay.Intersection = true; - return; - } - q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); - q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); - s = Math.Sqrt(q1 + q2); - if (s < TileSize / 3) - { - SelectedOverlay.X = SelectedOverlay.X; - SelectedOverlay.Y = SelectedOverlay.Y + 1; - SelectedOverlay.Intersection = true; - return; - } - SelectedOverlay.Intersection = false; + // SelectedSnapPoint.X = HoveredTile.X; + // SelectedSnapPoint.Y = HoveredTile.Y; + + // var points = new List{ + // new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize), + // new Point((HoveredTile.X+1) * TileSize, HoveredTile.Y * TileSize), + // new Point((HoveredTile.X+1) * TileSize, (HoveredTile.Y+1) * TileSize), + // new Point(HoveredTile.X * TileSize, (HoveredTile.Y+1) * TileSize), + // new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize), + // new Point(HoveredTile.X * TileSize + TileSize/2, HoveredTile.Y * TileSize+ TileSize/2), + // new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize+TileSize/2), + // new Point(HoveredTile.X * TileSize+TileSize , HoveredTile.Y * TileSize+TileSize/2), + // new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize+TileSize) + // }; + + // var q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); + // var q2 = Math.Pow(HoveredTile.Y * TileSize - mousePosition.Y, 2); + // var s = Math.Sqrt(q1 + q2); + + // if (s < TileSize / 3) + // { + // SelectedOverlay.Intersection = true; + // return; + // } + + // q1 = Math.Pow(mousePosition.X - (HoveredTile.X + 1) * TileSize, 2); + // s = Math.Sqrt(q1 + q2); + // if (s < TileSize / 3) + // { + // SelectedOverlay.X = SelectedOverlay.X + 1; + // SelectedOverlay.Intersection = true; + // return; + // } + + // //q1 = System.Math.Pow(mousePosition.X - (_hoveredTile.X + 1) * _tileSize, 2); + // q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); + // s = Math.Sqrt(q1 + q2); + // if (s < TileSize / 3) + // { + // SelectedOverlay.X = SelectedOverlay.X + 1; + // SelectedOverlay.Y = SelectedOverlay.Y + 1; + // SelectedOverlay.Intersection = true; + // return; + // } + + // q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); + // q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); + // s = Math.Sqrt(q1 + q2); + // if (s < TileSize / 3) + // { + // SelectedOverlay.X = SelectedOverlay.X; + // SelectedOverlay.Y = SelectedOverlay.Y + 1; + // SelectedOverlay.Intersection = true; + // return; + // } + + // SelectedOverlay.Intersection = false; } public void SelectOverlay(Point mousePosition) { From f9c6b1c02f2d3051ccc03c81671c0acf51fa42c9 Mon Sep 17 00:00:00 2001 From: Michele Date: Thu, 31 Dec 2020 14:32:37 +0000 Subject: [PATCH 04/20] progress --- Sledgemapper.Shared/Entities/Session.cs | 2 +- Sledgemapper.Shared/Entities/Tile.cs | 7 +- Sledgemapper/Sledgemapper.cs | 219 +++++++++++++++++------- Sledgemapper/State.cs | 164 +++++------------- 4 files changed, 207 insertions(+), 185 deletions(-) diff --git a/Sledgemapper.Shared/Entities/Session.cs b/Sledgemapper.Shared/Entities/Session.cs index ed5b0c6..04626e9 100644 --- a/Sledgemapper.Shared/Entities/Session.cs +++ b/Sledgemapper.Shared/Entities/Session.cs @@ -190,7 +190,7 @@ namespace Sledgemapper.Shared.Entities } var lineExist = Lines.TryGetValue(line.ToString(), out var tile); - var newLine = new Line { X = line.X, Y = line.Y,EndX=line.EndX, EndY=line.EndY }; + var newLine = new Line { Start=line.Start, End=line.End}; if (lineExist) { Lines.TryRemove(line.ToString(), out var _); diff --git a/Sledgemapper.Shared/Entities/Tile.cs b/Sledgemapper.Shared/Entities/Tile.cs index b5a947c..12c23d4 100644 --- a/Sledgemapper.Shared/Entities/Tile.cs +++ b/Sledgemapper.Shared/Entities/Tile.cs @@ -19,12 +19,13 @@ public class Line : BaseMapEntity { - public int EndX { get; set; } - public int EndY { get; set; } + public SnapPoint Start { get; set; } + public SnapPoint End { get; set; } + public override string ToString() { - return $"{X}_{Y}_{EndX}_{EndY}"; + return $"{Start.X}_{Start.Y}_{Start.Index}_{End.X}_{End.Y}_{End.Index}"; } } diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 84685fe..b79a5d6 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -151,24 +151,24 @@ namespace Sledgemapper private void OnBtnToolbarWallClicked(object sender, EventArgs e) { - _state.InsertMode=InsertMode.NewWall; + _state.InsertMode = InsertMode.NewWall; } private void OnBtnToolbarTileClicked(object sender, EventArgs e) { - _state.InsertMode=InsertMode.NewTile; - + _state.InsertMode = InsertMode.NewTile; + } private void OnBtnToolbarRoomClicked(object sender, EventArgs e) { - _state.InsertMode=InsertMode.NewRoom; + _state.InsertMode = InsertMode.NewRoom; } private void OnBtnToolbarLinClicked(object sender, EventArgs e) { - _state.InsertMode=InsertMode.NewLine; + _state.InsertMode = InsertMode.NewLine; } private void OneMenuFileSettingsSelected(object sender, EventArgs e) @@ -272,7 +272,7 @@ namespace Sledgemapper _state.SelectOverlay(screenPosition); } - if (_state.InsertMode == InsertMode.NewLine) + if (_state.InsertMode == InsertMode.NewLine) { _state.SelectClosestSnapPoint(screenPosition); } @@ -361,22 +361,26 @@ namespace Sledgemapper } - if (newState.IsKeyDown(Keys.LeftControl) && newState.IsKeyDown(Keys.LeftShift) + if (_state.InsertMode == InsertMode.NewLine && newState.IsKeyDown(Keys.LeftControl) && mouseState.LeftButton == ButtonState.Released && mouseState.LeftButton != oldMouseState.LeftButton) { - if (_state.LineStart is null) - { - _state.LineStart = new Tile{X=_state.HoveredTile.X, Y=_state.HoveredTile.Y}; - } - else - { - var line = new Line{X = _state.LineStart.X, Y = _state.LineStart.Y, EndX=_state.HoveredTile.X, EndY=_state.HoveredTile.Y}; - _state.LineStart=null; - _sessionData.NewLine(line); - + if (_state.LineStart is null) + { + _state.LineStart = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index=_state.SelectedSnapPoint.Index }; + } + else + { + var line = new Line + { + Start = new SnapPoint { X = _state.LineStart.X, Y = _state.LineStart.Y, Index = _state.LineStart.Index }, + End = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index } + }; + _state.LineStart = null; + _sessionData.NewLine(line); - } + + } } if (newState.IsKeyDown(Keys.LeftControl) && mouseState.ScrollWheelValue != oldMouseState.ScrollWheelValue) @@ -491,7 +495,7 @@ namespace Sledgemapper _spriteBatch.Begin(transformMatrix: Matrix.CreateTranslation(_viewportCenter)); DrawTiles(); -DrawLines(); + DrawLines(); DrawWalls(); DrawOverlays(); DrawNotes(); @@ -562,18 +566,44 @@ DrawLines(); DrawPlayers(); - var startWall = new Vector2(_state.SelectedWall.X * _state.TileSize, _state.SelectedWall.Y * _state.TileSize); if (_state.InsertMode == InsertMode.Wall) { + var startWall = new Vector2(_state.SelectedWall.X * _state.TileSize, _state.SelectedWall.Y * _state.TileSize); _spriteBatch.DrawLine(startWall, _state.TileSize, MathHelper.ToRadians(90 * _state.SelectedWall.Rotation), Color.Red, 2); } - var overlay = new Vector2(_state.SelectedOverlay.X * _state.TileSize, _state.SelectedOverlay.Y * _state.TileSize); if (_state.InsertMode == InsertMode.Overlay && _state.SelectedOverlay.Intersection) { + var overlay = new Vector2(_state.SelectedOverlay.X * _state.TileSize, _state.SelectedOverlay.Y * _state.TileSize); _spriteBatch.DrawCircle(overlay, _state.TileSize / 3f, 100, Color.Red, 2); } + if (_state.InsertMode == InsertMode.NewLine && _state.SelectedSnapPoint != null) + { + var snapPoint = new Vector2(_state.SelectedSnapPoint.X * _state.TileSize, _state.SelectedSnapPoint.Y * _state.TileSize); + + switch (_state.SelectedSnapPoint.Index) + { + case 1: + break; + case 2: + snapPoint.X += _state.TileSize / 2; + break; + case 3: + snapPoint.Y += _state.TileSize / 2; + break; + case 4: + snapPoint.Y += _state.TileSize / 2; + snapPoint.X += _state.TileSize / 2; + break; + + + + } + + _spriteBatch.DrawCircle(snapPoint, _state.TileSize / 5f, 100, Color.Red, 2); + } + _spriteBatch.End(); try @@ -832,13 +862,13 @@ DrawLines(); { var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state.TileSize ; - var posY = tile.Y * _state.TileSize ; + var posX = tile.X * _state.TileSize; + var posY = tile.Y * _state.TileSize; - var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); - _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - 4, (int)posY - 4, _state.TileSize + 8, _state.TileSize + 8), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); // _spriteBatch.Draw(content, new Vector2(posX, posY), @@ -850,14 +880,14 @@ DrawLines(); { var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state.TileSize ; - var posY = tile.Y * _state.TileSize ; + var posX = tile.X * _state.TileSize; + var posY = tile.Y * _state.TileSize; - var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - whiteRectangle.SetData(new[] { Color.White }); + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + whiteRectangle.SetData(new[] { Color.White }); - _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); // _spriteBatch.DrawRectangle(new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), _settings.BackgroundColor,1); @@ -866,28 +896,68 @@ DrawLines(); } } -private void DrawLines() + private void DrawLines() { - + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + // border pass foreach (var tile in _sessionData.Lines.Values) { // var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state.TileSize ; - var posY = tile.Y * _state.TileSize ; + var posX = tile.Start.X * _state.TileSize; + var posY = tile.Start.Y * _state.TileSize; - var endposX = tile.EndX * _state.TileSize ; - var endposY = tile.EndY * _state.TileSize ; + var endposX = tile.End.X * _state.TileSize; + var endposY = tile.End.Y * _state.TileSize; + + switch (tile.Start.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; + + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } + + switch (tile.End.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; + + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + + + + + // _spriteBatch.DrawLine(posX, posY, endposX, endposY, _settings.OverlayTintColor, _state.TileSize + 4); + var l = Math.Sqrt(Math.Pow(posX-endposX,2) + Math.Pow(posY-endposY,2)); - var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); - -_spriteBatch.DrawLine(posX, posY, endposX, endposY,_settings.OverlayTintColor,_state.TileSize+4); - + var angle =Math.Atan2(posY-endposY, endposX-posX); + var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); +_spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY,(int)l , _state.TileSize+8), null,Color.White,angleRad,Vector2.Zero,SpriteEffects.None,1 ); // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); @@ -896,30 +966,63 @@ _spriteBatch.DrawLine(posX, posY, endposX, endposY,_settings.OverlayTintColor,_s } //inner pass - foreach (var tile in _sessionData.Lines.Values) - { - // var content = Content.Load($"tiles/{tile.ID}"); + // foreach (var tile in _sessionData.Lines.Values) + // { + // // var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state.TileSize ; - var posY = tile.Y * _state.TileSize ; + // var posX = tile.Start.X * _state.TileSize; + // var posY = tile.Start.Y * _state.TileSize; - var endposX = tile.EndX * _state.TileSize ; - var endposY = tile.EndY * _state.TileSize ; + // var endposX = tile.End.X * _state.TileSize; + // var endposY = tile.End.Y * _state.TileSize; + + // switch (tile.Start.Index) + // { + // case 1: + // break; + // case 2: + // posX += _state.TileSize / 2; + // break; + // case 3: + // posY += _state.TileSize / 2; + + // break; + // case 4: + // posX += _state.TileSize / 2; + // posY += _state.TileSize / 2; + // break; + // } + + // switch (tile.End.Index) + // { + // case 1: + // break; + // case 2: + // endposX += _state.TileSize / 2; + // break; + // case 3: + // endposY += _state.TileSize / 2; + + // break; + // case 4: + // endposX += _state.TileSize / 2; + // endposY += _state.TileSize / 2; + // break; + // } + // var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + // whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); - var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + // _spriteBatch.DrawLine(posX, posY, endposX, endposY, Color.White, _state.TileSize); -_spriteBatch.DrawLine(posX, posY, endposX, endposY,Color.White,_state.TileSize); + // // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + // // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); - // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); - // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); - - // _spriteBatch.Draw(content, new Vector2(posX, posY), - // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); - } + // // _spriteBatch.Draw(content, new Vector2(posX, posY), + // // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); + // } } private void DrawWalls() diff --git a/Sledgemapper/State.cs b/Sledgemapper/State.cs index 62fa4d9..119b341 100644 --- a/Sledgemapper/State.cs +++ b/Sledgemapper/State.cs @@ -17,7 +17,7 @@ namespace Sledgemapper public string CurrentTileId { get; set; } public string CurrentWallId { get; set; } public string CurrentOverlayId { get; set; } - public Tile LineStart { get; internal set; } + public SnapPoint LineStart { get; internal set; } public InsertMode InsertMode; @@ -68,136 +68,54 @@ namespace Sledgemapper } } + public bool CheckDistance(Point p1, Point p2, float d) + { + return ((p1.X - p2.X) * (p1.X - p2.X) + (p1.Y - p2.Y) * (p1.Y - p2.Y)) < d * d; + } + + public void SelectClosestSnapPoint(Point mousePosition) { - Math.DivRem(mousePosition.X, TileSize / 2, out var remx); - Math.DivRem(mousePosition.Y, TileSize / 2, out var remy); - //var snaptileY=mousePosition.Y/(TileSize/2f); - Console.WriteLine($"{remx} _ {remy}"); + var distance = TileSize / 4; - if (remx == 0) + if (CheckDistance(mousePosition, new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize), distance)) //x y { - if (remy == 0) - { - SelectedSnapPoint.X = HoveredTile.X; - SelectedSnapPoint.Y = HoveredTile.Y; - SelectedSnapPoint.Index = 1; - } - else if (remy < 8) - { - SelectedSnapPoint.X = HoveredTile.X; - SelectedSnapPoint.Y = HoveredTile.Y; - SelectedSnapPoint.Index = 3; - } - else - { - SelectedSnapPoint.X = HoveredTile.X; - SelectedSnapPoint.Y = HoveredTile.Y+1; - SelectedSnapPoint.Index = 1; - } + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X, Y = HoveredTile.Y, Index = 1 }; } - - else if (remx <8) + else if (CheckDistance(mousePosition, new Point(HoveredTile.X * TileSize + TileSize / 2, HoveredTile.Y * TileSize + TileSize / 2), distance)) // x+1/2, y+1/2 { - if (remy == 0) - { - SelectedSnapPoint.X = HoveredTile.X; - SelectedSnapPoint.Y = HoveredTile.Y; - SelectedSnapPoint.Index = 2; - } - else if (remy < 8) - { - SelectedSnapPoint.X = HoveredTile.X; - SelectedSnapPoint.Y = HoveredTile.Y; - SelectedSnapPoint.Index = 4; - } - else - { - SelectedSnapPoint.X = HoveredTile.X; - SelectedSnapPoint.Y = HoveredTile.Y+1; - SelectedSnapPoint.Index = 2; - } + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X, Y = HoveredTile.Y, Index = 4 }; } - else{ - if (remy == 0) - { - SelectedSnapPoint.X = HoveredTile.X+1; - SelectedSnapPoint.Y = HoveredTile.Y; - SelectedSnapPoint.Index = 1; - } - else if (remy < 8) - { - SelectedSnapPoint.X = HoveredTile.X+1; - SelectedSnapPoint.Y = HoveredTile.Y; - SelectedSnapPoint.Index = 3; - } - else - { - SelectedSnapPoint.X = HoveredTile.X+1; - SelectedSnapPoint.Y = HoveredTile.Y+1; - SelectedSnapPoint.Index = 1; - } + else if (CheckDistance(mousePosition, new Point((HoveredTile.X + 1) * TileSize, HoveredTile.Y * TileSize), distance)) //x+1,y + { + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X + 1, Y = HoveredTile.Y, Index = 1 }; } - - - - // SelectedSnapPoint.X = HoveredTile.X; - // SelectedSnapPoint.Y = HoveredTile.Y; - - // var points = new List{ - // new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize), - // new Point((HoveredTile.X+1) * TileSize, HoveredTile.Y * TileSize), - // new Point((HoveredTile.X+1) * TileSize, (HoveredTile.Y+1) * TileSize), - // new Point(HoveredTile.X * TileSize, (HoveredTile.Y+1) * TileSize), - // new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize), - // new Point(HoveredTile.X * TileSize + TileSize/2, HoveredTile.Y * TileSize+ TileSize/2), - // new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize+TileSize/2), - // new Point(HoveredTile.X * TileSize+TileSize , HoveredTile.Y * TileSize+TileSize/2), - // new Point(HoveredTile.X * TileSize+TileSize/2, HoveredTile.Y * TileSize+TileSize) - // }; - - // var q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); - // var q2 = Math.Pow(HoveredTile.Y * TileSize - mousePosition.Y, 2); - // var s = Math.Sqrt(q1 + q2); - - // if (s < TileSize / 3) - // { - // SelectedOverlay.Intersection = true; - // return; - // } - - // q1 = Math.Pow(mousePosition.X - (HoveredTile.X + 1) * TileSize, 2); - // s = Math.Sqrt(q1 + q2); - // if (s < TileSize / 3) - // { - // SelectedOverlay.X = SelectedOverlay.X + 1; - // SelectedOverlay.Intersection = true; - // return; - // } - - // //q1 = System.Math.Pow(mousePosition.X - (_hoveredTile.X + 1) * _tileSize, 2); - // q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); - // s = Math.Sqrt(q1 + q2); - // if (s < TileSize / 3) - // { - // SelectedOverlay.X = SelectedOverlay.X + 1; - // SelectedOverlay.Y = SelectedOverlay.Y + 1; - // SelectedOverlay.Intersection = true; - // return; - // } - - // q1 = Math.Pow(mousePosition.X - HoveredTile.X * TileSize, 2); - // q2 = Math.Pow((HoveredTile.Y + 1) * TileSize - mousePosition.Y, 2); - // s = Math.Sqrt(q1 + q2); - // if (s < TileSize / 3) - // { - // SelectedOverlay.X = SelectedOverlay.X; - // SelectedOverlay.Y = SelectedOverlay.Y + 1; - // SelectedOverlay.Intersection = true; - // return; - // } - - // SelectedOverlay.Intersection = false; + else if (CheckDistance(mousePosition, new Point((HoveredTile.X + 1) * TileSize, (HoveredTile.Y + 1) * TileSize), distance)) //x+1, y+1 + { + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X + 1, Y = HoveredTile.Y + 1, Index = 1 }; + } + else if (CheckDistance(mousePosition, new Point((HoveredTile.X) * TileSize, (HoveredTile.Y + 1) * TileSize), distance))//x,y+1 + { + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X, Y = HoveredTile.Y + 1, Index = 1 }; + } + else if (CheckDistance(mousePosition, new Point(HoveredTile.X * TileSize, HoveredTile.Y * TileSize + TileSize / 2), distance)) //x, x+1/2 + { + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X, Y = HoveredTile.Y, Index = 3 }; + } + else if (CheckDistance(mousePosition, new Point(HoveredTile.X * TileSize + TileSize / 2, HoveredTile.Y * TileSize ), distance)) // x+1/2,y + { + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X, Y = HoveredTile.Y, Index = 2 }; + } + else if (CheckDistance(mousePosition, new Point(HoveredTile.X * TileSize + TileSize, HoveredTile.Y * TileSize + TileSize / 2), distance)) // x+1/2, y+1/2 + { + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X+1, Y = HoveredTile.Y, Index = 3 }; + } + else if (CheckDistance(mousePosition, new Point(HoveredTile.X * TileSize + TileSize / 2, HoveredTile.Y * TileSize + TileSize ), distance)) // x+1/2, y+1/2 + { + SelectedSnapPoint = new SnapPoint { X = HoveredTile.X, Y = HoveredTile.Y+1, Index = 2 }; + } + + } public void SelectOverlay(Point mousePosition) { From 901d8ff8c306007ac600bee973a68aaa2ca2fb8d Mon Sep 17 00:00:00 2001 From: Michele Date: Fri, 1 Jan 2021 18:35:35 +0000 Subject: [PATCH 05/20] progress --- Sledgemapper.Shared/Entities/Session.cs | 2 +- Sledgemapper.Shared/Entities/Tile.cs | 4 +- Sledgemapper/Sledgemapper.cs | 234 ++++++++++++++++++------ Sledgemapper/State.cs | 2 + 4 files changed, 179 insertions(+), 63 deletions(-) diff --git a/Sledgemapper.Shared/Entities/Session.cs b/Sledgemapper.Shared/Entities/Session.cs index 04626e9..46c271e 100644 --- a/Sledgemapper.Shared/Entities/Session.cs +++ b/Sledgemapper.Shared/Entities/Session.cs @@ -190,7 +190,7 @@ namespace Sledgemapper.Shared.Entities } var lineExist = Lines.TryGetValue(line.ToString(), out var tile); - var newLine = new Line { Start=line.Start, End=line.End}; + var newLine = new Line { Start=line.Start, End=line.End, Width=line.Width}; if (lineExist) { Lines.TryRemove(line.ToString(), out var _); diff --git a/Sledgemapper.Shared/Entities/Tile.cs b/Sledgemapper.Shared/Entities/Tile.cs index 12c23d4..e0dc91e 100644 --- a/Sledgemapper.Shared/Entities/Tile.cs +++ b/Sledgemapper.Shared/Entities/Tile.cs @@ -21,8 +21,8 @@ { public SnapPoint Start { get; set; } public SnapPoint End { get; set; } - - + public float Width {get;set;} + public override string ToString() { return $"{Start.X}_{Start.Y}_{Start.Index}_{End.X}_{End.Y}_{End.Index}"; diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index b79a5d6..26ff2f9 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -367,25 +367,42 @@ namespace Sledgemapper { if (_state.LineStart is null) { - _state.LineStart = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index=_state.SelectedSnapPoint.Index }; + _state.LineStart = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index }; } else { + var line = new Line { Start = new SnapPoint { X = _state.LineStart.X, Y = _state.LineStart.Y, Index = _state.LineStart.Index }, - End = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index } + End = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index }, + Width = _state.LineWidth }; _state.LineStart = null; + _state.LineWidth = 1; _sessionData.NewLine(line); } + + } + + if (_state.InsertMode == InsertMode.NewLine && _state.LineStart != null) + { + if (mouseState.ScrollWheelValue > oldMouseState.ScrollWheelValue) + { + _state.LineWidth += .01f; + } + else if (mouseState.ScrollWheelValue < oldMouseState.ScrollWheelValue) + { + _state.LineWidth -= .01f; + } } if (newState.IsKeyDown(Keys.LeftControl) && mouseState.ScrollWheelValue != oldMouseState.ScrollWheelValue) { // var center = new Point(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2); + var maxTileSize=500; var center = new Point((Window.ClientBounds.Width + 200) / 2 - _state.TileSize / 2, Window.ClientBounds.Height / 2 - _state.TileSize / 2); var tx = (center.X - (int)_viewportCenter.X) / _state.TileSize; @@ -393,7 +410,7 @@ namespace Sledgemapper if (mouseState.ScrollWheelValue > oldMouseState.ScrollWheelValue) { - _state.TileSize = Math.Min(120, _state.TileSize + 10); + _state.TileSize = Math.Min(maxTileSize, _state.TileSize + 10); } else if (mouseState.ScrollWheelValue < oldMouseState.ScrollWheelValue) @@ -596,14 +613,78 @@ namespace Sledgemapper snapPoint.Y += _state.TileSize / 2; snapPoint.X += _state.TileSize / 2; break; - - - } _spriteBatch.DrawCircle(snapPoint, _state.TileSize / 5f, 100, Color.Red, 2); + + + //line preview + if (_state.LineStart != null) + { + + // border pass + + // var content = Content.Load($"tiles/{tile.ID}"); + + var posX = _state.LineStart.X * _state.TileSize; + var posY = _state.LineStart.Y * _state.TileSize; + + var endposX = _state.SelectedSnapPoint.X * _state.TileSize; + var endposY = _state.SelectedSnapPoint.Y * _state.TileSize; + + switch (_state.LineStart.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; + + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } + + switch (_state.SelectedSnapPoint.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; + + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + + var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + + var angle = Math.Atan2(posY - endposY, endposX - posX); + var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); + if (l > 0) + { + var whiteRectangle = new Texture2D(GraphicsDevice, (int)l, (int)(_state.TileSize * _state.LineWidth)); + // whiteRectangle.SetData(new[] { new Color(Color.Red, 80) }); + + whiteRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize * _state.LineWidth))).Select(i => new Color(Color.Red, 80)).ToArray()); + + + _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * _state.LineWidth)), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1); + } + } } + + _spriteBatch.End(); try @@ -898,8 +979,11 @@ namespace Sledgemapper private void DrawLines() { - var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + // var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); + // borderRectangle.SetData(new[] { _settings.OverlayTintColor }); + + // var innerRectangle = new Texture2D(GraphicsDevice, 1, 1); + // innerRectangle.SetData(new[] { Color.White }); // border pass foreach (var tile in _sessionData.Lines.Values) @@ -946,18 +1030,23 @@ namespace Sledgemapper break; } + var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + if (l > 0) + { + var borderRectangle = new Texture2D(GraphicsDevice, (int)l, (int)(_state.TileSize * _state.LineWidth) + 8); + // whiteRectangle.SetData(new[] { new Color(Color.Red, 80) }); - + borderRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize * _state.LineWidth) + 8)).Select(i => _settings.OverlayTintColor).ToArray()); - // _spriteBatch.DrawLine(posX, posY, endposX, endposY, _settings.OverlayTintColor, _state.TileSize + 4); + + // _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize+_state.LineWidth)), null, Color.White, angleRad, new Vector2(0,0), SpriteEffects.None, 1); - var l = Math.Sqrt(Math.Pow(posX-endposX,2) + Math.Pow(posY-endposY,2)); - - var angle =Math.Atan2(posY-endposY, endposX-posX); - var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); -_spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY,(int)l , _state.TileSize+8), null,Color.White,angleRad,Vector2.Zero,SpriteEffects.None,1 ); + var angle = Math.Atan2(posY - endposY, endposX - posX); + var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width) + 8), null, Color.White, angleRad, new Vector2(0, 4), SpriteEffects.None, 1); + } // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); @@ -966,63 +1055,88 @@ _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY,(int)l , _state.TileS } //inner pass - // foreach (var tile in _sessionData.Lines.Values) - // { - // // var content = Content.Load($"tiles/{tile.ID}"); + foreach (var tile in _sessionData.Lines.Values) + { + // var content = Content.Load($"tiles/{tile.ID}"); - // var posX = tile.Start.X * _state.TileSize; - // var posY = tile.Start.Y * _state.TileSize; + var posX = tile.Start.X * _state.TileSize; + var posY = tile.Start.Y * _state.TileSize; - // var endposX = tile.End.X * _state.TileSize; - // var endposY = tile.End.Y * _state.TileSize; + var endposX = tile.End.X * _state.TileSize; + var endposY = tile.End.Y * _state.TileSize; - // switch (tile.Start.Index) - // { - // case 1: - // break; - // case 2: - // posX += _state.TileSize / 2; - // break; - // case 3: - // posY += _state.TileSize / 2; + switch (tile.Start.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; - // break; - // case 4: - // posX += _state.TileSize / 2; - // posY += _state.TileSize / 2; - // break; - // } + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } - // switch (tile.End.Index) - // { - // case 1: - // break; - // case 2: - // endposX += _state.TileSize / 2; - // break; - // case 3: - // endposY += _state.TileSize / 2; + switch (tile.End.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; - // break; - // case 4: - // endposX += _state.TileSize / 2; - // endposY += _state.TileSize / 2; - // break; - // } + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } - // var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - // whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + // var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + // whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); - // _spriteBatch.DrawLine(posX, posY, endposX, endposY, Color.White, _state.TileSize); + // _spriteBatch.DrawLine(posX, posY, endposX, endposY, Color.White, _state.TileSize); - // // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); - // // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); + // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); + // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); - // // _spriteBatch.Draw(content, new Vector2(posX, posY), - // // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); - // } + // _spriteBatch.Draw(content, new Vector2(posX, posY), + // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); + var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + if (l > 0) + { + var innerRectangle = new Texture2D(GraphicsDevice, 1,1); + innerRectangle.SetData(new[] { Color.White }); + + //innerRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize + _state.LineWidth))).Select(i => Color.White).ToArray()); + + + // _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize+_state.LineWidth)), null, Color.White, angleRad, new Vector2(0,0), SpriteEffects.None, 1); + + + + var angle = Math.Atan2(posY - endposY, endposX - posX); + var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); + _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width)), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1); + } + + // var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + + // var angle = Math.Atan2(posY - endposY, endposX - posX); + // var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); + // _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width)), null, Color.White, angleRad, Vector2.Zero, SpriteEffects.None, 1); + + + } } private void DrawWalls() diff --git a/Sledgemapper/State.cs b/Sledgemapper/State.cs index 119b341..d03d93b 100644 --- a/Sledgemapper/State.cs +++ b/Sledgemapper/State.cs @@ -18,6 +18,7 @@ namespace Sledgemapper public string CurrentWallId { get; set; } public string CurrentOverlayId { get; set; } public SnapPoint LineStart { get; internal set; } + public float LineWidth { get; internal set; } public InsertMode InsertMode; @@ -32,6 +33,7 @@ namespace Sledgemapper SelectedOverlay = new() { X = 1, Y = 1 }; SelectedNote = new() { X = 1, Y = 1 }; TileSize = 30; + LineWidth=1; } public void SelectClosestWall(Point mousePosition) From ee420108669855dff703514fb90afb3f333ded1c Mon Sep 17 00:00:00 2001 From: Michele Date: Sat, 2 Jan 2021 00:45:23 +0000 Subject: [PATCH 06/20] rooms --- Sledgemapper.Shared/Entities/Session.cs | 22 ++ Sledgemapper.Shared/Entities/Tile.cs | 11 + Sledgemapper/Sledgemapper.cs | 356 ++++++++++++++++++++---- 3 files changed, 337 insertions(+), 52 deletions(-) diff --git a/Sledgemapper.Shared/Entities/Session.cs b/Sledgemapper.Shared/Entities/Session.cs index 46c271e..74a794f 100644 --- a/Sledgemapper.Shared/Entities/Session.cs +++ b/Sledgemapper.Shared/Entities/Session.cs @@ -28,6 +28,7 @@ namespace Sledgemapper.Shared.Entities Walls = new ConcurrentDictionary(); Notes = new ConcurrentDictionary(); Lines=new ConcurrentDictionary(); + Rooms=new ConcurrentDictionary(); Players = new List(); Colors = new List(); } @@ -42,6 +43,7 @@ namespace Sledgemapper.Shared.Entities public string SessionName { get; set; } public int SessionId { get; set; } public ConcurrentDictionary Lines { get; private set; } + public ConcurrentDictionary Rooms { get; private set; } public void NewTile(Tile selectedTile, string tileId) { @@ -201,5 +203,25 @@ namespace Sledgemapper.Shared.Entities //TODO fix this //OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newTile)); } + + public void NewRoom(Room line) + { + if (line is null) + { + return; + } + + var lineExist = Rooms.TryGetValue(line.ToString(), out var tile); + var newLine = new Room { Start=line.Start, End=line.End}; + if (lineExist) + { + Rooms.TryRemove(line.ToString(), out var _); + } + + Rooms.TryAdd(newLine.ToString(), newLine); + + //TODO fix this + //OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newTile)); + } } } diff --git a/Sledgemapper.Shared/Entities/Tile.cs b/Sledgemapper.Shared/Entities/Tile.cs index e0dc91e..44b64ed 100644 --- a/Sledgemapper.Shared/Entities/Tile.cs +++ b/Sledgemapper.Shared/Entities/Tile.cs @@ -29,6 +29,17 @@ } } + public class Room : BaseMapEntity + { + public SnapPoint Start { get; set; } + public SnapPoint End { get; set; } + + public override string ToString() + { + return $"{Start.X}_{Start.Y}_{Start.Index}_{End.X}_{End.Y}_{End.Index}"; + } + } + public class SnapPoint : BaseMapEntity { public int Index { get; set; } diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 26ff2f9..a558eb1 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -272,7 +272,7 @@ namespace Sledgemapper _state.SelectOverlay(screenPosition); } - if (_state.InsertMode == InsertMode.NewLine) + if (_state.InsertMode == InsertMode.NewLine || _state.InsertMode == InsertMode.NewRoom) { _state.SelectClosestSnapPoint(screenPosition); } @@ -387,6 +387,29 @@ namespace Sledgemapper } + if (_state.InsertMode == InsertMode.NewRoom && newState.IsKeyDown(Keys.LeftControl) + && mouseState.LeftButton == ButtonState.Released + && mouseState.LeftButton != oldMouseState.LeftButton) + { + if (_state.LineStart is null) + { + _state.LineStart = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index }; + } + else + { + + var line = new Room + { + Start = new SnapPoint { X = _state.LineStart.X, Y = _state.LineStart.Y, Index = _state.LineStart.Index }, + End = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index } + }; + _state.LineStart = null; + _state.LineWidth = 1; + _sessionData.NewRoom(line); + } + + } + if (_state.InsertMode == InsertMode.NewLine && _state.LineStart != null) { if (mouseState.ScrollWheelValue > oldMouseState.ScrollWheelValue) @@ -402,7 +425,7 @@ namespace Sledgemapper if (newState.IsKeyDown(Keys.LeftControl) && mouseState.ScrollWheelValue != oldMouseState.ScrollWheelValue) { // var center = new Point(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2); - var maxTileSize=500; + var maxTileSize = 500; var center = new Point((Window.ClientBounds.Width + 200) / 2 - _state.TileSize / 2, Window.ClientBounds.Height / 2 - _state.TileSize / 2); var tx = (center.X - (int)_viewportCenter.X) / _state.TileSize; @@ -513,6 +536,7 @@ namespace Sledgemapper DrawTiles(); DrawLines(); + DrawRooms(); DrawWalls(); DrawOverlays(); DrawNotes(); @@ -683,7 +707,102 @@ namespace Sledgemapper } } + if (_state.InsertMode == InsertMode.NewRoom && _state.SelectedSnapPoint != null) + { + var snapPoint = new Vector2(_state.SelectedSnapPoint.X * _state.TileSize, _state.SelectedSnapPoint.Y * _state.TileSize); + switch (_state.SelectedSnapPoint.Index) + { + case 1: + break; + case 2: + snapPoint.X += _state.TileSize / 2; + break; + case 3: + snapPoint.Y += _state.TileSize / 2; + break; + case 4: + snapPoint.Y += _state.TileSize / 2; + snapPoint.X += _state.TileSize / 2; + break; + } + + _spriteBatch.DrawCircle(snapPoint, _state.TileSize / 5f, 100, Color.Red, 2); + + + //line preview + if (_state.LineStart != null) + { + + // border pass + + // var content = Content.Load($"tiles/{tile.ID}"); + + var posX = _state.LineStart.X * _state.TileSize; + var posY = _state.LineStart.Y * _state.TileSize; + + var endposX = _state.SelectedSnapPoint.X * _state.TileSize; + var endposY = _state.SelectedSnapPoint.Y * _state.TileSize; + + switch (_state.LineStart.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; + + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } + + switch (_state.SelectedSnapPoint.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; + + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + + + if (posX != endposX && posY != endposY) + { + var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + // whiteRectangle.SetData(new[] { new Color(Color.Red, 80) }); + whiteRectangle.SetData(new[] { new Color(Color.Red, 80) }); + if ((posX > endposX && posY > endposY) || (posX < endposX && posY < endposY)) + { + _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, new Vector2(0, 0), SpriteEffects.None, 1); + } + else + { + if (endposY < posY) + { + _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, endposY, endposX - posX, posY - endposY), null, Color.White, 0, new Vector2(0, 0), SpriteEffects.None, 1); + } + + if (endposX < posX) + { + _spriteBatch.Draw(whiteRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, new Vector2(0, 0), SpriteEffects.None, 1); + } + } + } + } + } _spriteBatch.End(); @@ -925,6 +1044,8 @@ namespace Sledgemapper } + private int _borderWidth => (_state.TileSize / 6) % 2 == 0 ? (_state.TileSize / 6) : (_state.TileSize / 6) + 1; + private void DrawTiles() { // foreach (var tile in _sessionData.Map.Values) @@ -949,8 +1070,8 @@ namespace Sledgemapper var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); - _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - 4, (int)posY - 4, _state.TileSize + 8, _state.TileSize + 8), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); + _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - _borderWidth / 2, (int)posY - _borderWidth / 2, _state.TileSize + _borderWidth, _state.TileSize + _borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+_borderWidth, _state.TileSize+_borderWidth), _settings.OverlayTintColor,1); // _spriteBatch.Draw(content, new Vector2(posX, posY), // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); @@ -1030,28 +1151,17 @@ namespace Sledgemapper break; } - var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); - if (l > 0) + var length = (int)Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + var height = (int)(_state.TileSize * tile.Width) + _borderWidth; + if (length > 0) { - var borderRectangle = new Texture2D(GraphicsDevice, (int)l, (int)(_state.TileSize * _state.LineWidth) + 8); - // whiteRectangle.SetData(new[] { new Color(Color.Red, 80) }); - - borderRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize * _state.LineWidth) + 8)).Select(i => _settings.OverlayTintColor).ToArray()); - - - // _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize+_state.LineWidth)), null, Color.White, angleRad, new Vector2(0,0), SpriteEffects.None, 1); - - + var borderRectangle = new Texture2D(GraphicsDevice, length, height); + borderRectangle.SetData(Enumerable.Range(0, length * height).Select(i => _settings.OverlayTintColor).ToArray()); var angle = Math.Atan2(posY - endposY, endposX - posX); - var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); - _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width) + 8), null, Color.White, angleRad, new Vector2(0, 4), SpriteEffects.None, 1); + var angleRad = -(float)angle; + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, angleRad, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); } - // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); - // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); - - // _spriteBatch.Draw(content, new Vector2(posX, posY), - // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); } //inner pass @@ -1099,43 +1209,185 @@ namespace Sledgemapper break; } - - - // var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - // whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); - - // _spriteBatch.DrawLine(posX, posY, endposX, endposY, Color.White, _state.TileSize); - - // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8),null,Color.White,0,Vector2.Zero,SpriteEffects.None, 1); - // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+8, _state.TileSize+8), _settings.OverlayTintColor,1); - - // _spriteBatch.Draw(content, new Vector2(posX, posY), - // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); - var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); - if (l > 0) + var length = (int)Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + var height = (int)(_state.TileSize * tile.Width); + if (length > 0) { - var innerRectangle = new Texture2D(GraphicsDevice, 1,1); - innerRectangle.SetData(new[] { Color.White }); - - //innerRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize + _state.LineWidth))).Select(i => Color.White).ToArray()); - - - // _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize+_state.LineWidth)), null, Color.White, angleRad, new Vector2(0,0), SpriteEffects.None, 1); - - - + var innerRectangle = new Texture2D(GraphicsDevice, 1, 1); + innerRectangle.SetData(new[] { Color.White }); var angle = Math.Atan2(posY - endposY, endposX - posX); - var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); - _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width)), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1); + var angleRad = -(float)angle; + _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, length, height), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1); + } + } + } + + private void DrawRooms() + { + // var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); + // borderRectangle.SetData(new[] { _settings.OverlayTintColor }); + + // var innerRectangle = new Texture2D(GraphicsDevice, 1, 1); + // innerRectangle.SetData(new[] { Color.White }); + + // border pass + foreach (var tile in _sessionData.Rooms.Values) + { + // var content = Content.Load($"tiles/{tile.ID}"); + + var posX = tile.Start.X * _state.TileSize; + var posY = tile.Start.Y * _state.TileSize; + + var endposX = tile.End.X * _state.TileSize; + var endposY = tile.End.Y * _state.TileSize; + + switch (tile.Start.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; + + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; } - // var l = Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + switch (tile.End.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; - // var angle = Math.Atan2(posY - endposY, endposX - posX); - // var angleRad = -(float)angle;//MathHelper.ToRadians((float)angle); - // _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * tile.Width)), null, Color.White, angleRad, Vector2.Zero, SpriteEffects.None, 1); + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + +// posX-=_borderWidth/2; +// posY-=_borderWidth/2; + if (posX != endposX && posY != endposY) + { + + var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); + borderRectangle.SetData(new [] { _settings.OverlayTintColor }); + if ( (posX < endposX && posY < endposY)) + + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX-_borderWidth/2, posY-_borderWidth/2, endposX - posX+_borderWidth, endposY - posY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + else if ((posX > endposX && posY > endposY) ) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX+_borderWidth/2, posY+_borderWidth/2, endposX - posX-_borderWidth, endposY - posY-_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + + else + { + if (endposY < posY) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX-_borderWidth/2, endposY-_borderWidth/2, endposX - posX+_borderWidth, posY - endposY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + + if (endposX < posX) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(endposX-_borderWidth/2, posY-_borderWidth/2, posX - endposX+_borderWidth, endposY - posY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + } + + // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); + } + } + + //inner pass + foreach (var tile in _sessionData.Rooms.Values) + { + // var content = Content.Load($"tiles/{tile.ID}"); + + var posX = tile.Start.X * _state.TileSize; + var posY = tile.Start.Y * _state.TileSize; + + var endposX = tile.End.X * _state.TileSize; + var endposY = tile.End.Y * _state.TileSize; + + switch (tile.Start.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; + + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } + + switch (tile.End.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; + + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + + if (posX != endposX && posY != endposY) + { + + var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); + borderRectangle.SetData(new [] {Color.White }); + if ( (posX < endposX && posY < endposY)) + + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX , posY , endposX - posX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + else if ((posX > endposX && posY > endposY) ) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX , posY , endposX - posX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + + else + { + if (endposY < posY) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, endposY, endposX - posX , posY - endposY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + + if (endposX < posX) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(endposX , posY , posX - endposX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + } + + + + // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); + } } } From 519b7518ff0bd42ab67f3ef7a8176eac80fee887 Mon Sep 17 00:00:00 2001 From: Michele Date: Sat, 2 Jan 2021 00:58:24 +0000 Subject: [PATCH 07/20] rooms and corridors --- Sledgemapper/Sledgemapper.cs | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index a558eb1..5c1aae4 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -535,8 +535,12 @@ namespace Sledgemapper _spriteBatch.Begin(transformMatrix: Matrix.CreateTranslation(_viewportCenter)); DrawTiles(); - DrawLines(); - DrawRooms(); + + +DrawBorderLines(); + DrawBorderRooms(); + DrawInnerLines(); + DrawInnerRooms(); DrawWalls(); DrawOverlays(); DrawNotes(); @@ -1098,7 +1102,7 @@ namespace Sledgemapper } } - private void DrawLines() + private void DrawBorderLines() { // var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); // borderRectangle.SetData(new[] { _settings.OverlayTintColor }); @@ -1164,7 +1168,12 @@ namespace Sledgemapper } } - //inner pass + + } + + private void DrawInnerLines() + { + //inner pass foreach (var tile in _sessionData.Lines.Values) { // var content = Content.Load($"tiles/{tile.ID}"); @@ -1222,7 +1231,7 @@ namespace Sledgemapper } } - private void DrawRooms() + private void DrawBorderRooms() { // var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); // borderRectangle.SetData(new[] { _settings.OverlayTintColor }); @@ -1311,6 +1320,13 @@ namespace Sledgemapper } } + + } + + private void DrawInnerRooms() + { + + //inner pass foreach (var tile in _sessionData.Rooms.Values) { From 07685fcd9c78f9c50ecd8d9fef226a3be34d3cf9 Mon Sep 17 00:00:00 2001 From: Michele Date: Sat, 9 Jan 2021 00:38:19 +0000 Subject: [PATCH 08/20] Shader galore --- .../Myra.Samples.AllWidgets.exe | Bin 19456 -> 0 bytes .../Myra.Samples.AssetManagement.exe | Bin 9728 -> 0 bytes .../Myra.Samples.CustomUIStylesheet.exe | Bin 36864 -> 0 bytes .../Myra.Samples.CustomWidgets.exe | Bin 8704 -> 0 bytes .../Myra.Samples.DebugConsole.exe | Bin 9728 -> 0 bytes .../Myra.Samples.GridContainer.exe | Bin 12800 -> 0 bytes .../Myra.Samples.NonModalWindows.exe | Bin 12800 -> 0 bytes .../Myra.1.0.3.213/Myra.Samples.Notepad.exe | Bin 15360 -> 0 bytes .../Myra.Samples.ObjectEditor.exe | Bin 11264 -> 0 bytes .../Myra.Samples.SplitPaneContainer.exe | Bin 7680 -> 0 bytes External tools/Myra.1.0.3.213/Myra.dll | Bin 514048 -> 0 bytes External tools/Myra.1.0.3.213/MyraPad.exe | Bin 51200 -> 0 bytes External tools/Myra.1.0.3.213/XNAssets.dll | Bin 94208 -> 0 bytes .../Myra.1.2.1.0/AssetManagementBase.dll | Bin 0 -> 12800 bytes .../Assets/fonts/arial64.fnt | 0 .../Assets/fonts/arial64_0.png | Bin .../Assets/fonts/calibri32.fnt | 0 .../Assets/fonts/calibri32_0.png | Bin .../Assets/fonts/comicSans48.fnt | 0 .../Assets/fonts/comicSans48_0.png | Bin .../Assets/images/LogoOnly_64px.png | Bin .../Cyotek.Drawing.BitmapFont.dll | Bin 0 -> 41800 bytes .../Myra.1.2.1.0/FontStashSharp.MonoGame.dll | Bin 0 -> 38400 bytes .../MonoGame.Framework.dll | Bin .../MonoGame.Framework.dll.config | 0 .../Myra.1.2.1.0/Myra.Samples.AllWidgets.exe | Bin 0 -> 19968 bytes .../Myra.Samples.AssetManagement.exe | Bin 0 -> 9728 bytes .../Myra.Samples.CustomUIStylesheet.exe | Bin 0 -> 37376 bytes .../Myra.Samples.CustomWidgets.exe | Bin 0 -> 8704 bytes .../Myra.Samples.DebugConsole.exe | Bin 0 -> 10752 bytes .../Myra.Samples.GridContainer.exe | Bin 0 -> 12800 bytes .../Myra.Samples.NonModalWindows.exe | Bin 0 -> 12800 bytes .../Myra.1.2.1.0/Myra.Samples.Notepad.exe | Bin 0 -> 15360 bytes .../Myra.Samples.ObjectEditor.exe | Bin 0 -> 12288 bytes .../Myra.Samples.SplitPaneContainer.exe | Bin 0 -> 7680 bytes External tools/Myra.1.2.1.0/Myra.dll | Bin 0 -> 517120 bytes External tools/Myra.1.2.1.0/MyraPad.exe | Bin 0 -> 51712 bytes External tools/Myra.1.2.1.0/StbImageSharp.dll | Bin 0 -> 65024 bytes .../Myra.1.2.1.0/StbTrueTypeSharp.dll | Bin 0 -> 50176 bytes .../Stylesheets/allControls.xmmp | 2 +- .../Stylesheets/commodore-64/commodore-64.fnt | 0 .../commodore-64/ui_stylesheet.atlas | 0 .../commodore-64/ui_stylesheet.xmms | 0 .../commodore-64/ui_stylesheet_atlas.png | Bin .../Stylesheets/libgdx/ui_font.fnt | 0 .../Stylesheets/libgdx/ui_stylesheet.atlas | 0 .../Stylesheets/libgdx/ui_stylesheet.xmms | 0 .../libgdx/ui_stylesheet_atlas.png | Bin .../image.png | Bin .../info.lundin.math.dll | Bin .../libSDL2-2.0.0.dylib | Bin .../libopenal.1.dylib | Bin Sledgemapper.Shared/Entities/Session.cs | 2 +- Sledgemapper.Shared/Entities/Tile.cs | 20 +- Sledgemapper/Content/Content.mgcb | 6 + Sledgemapper/Content/shaders/OutlineShader.fx | 92 +++ Sledgemapper/InsertMode.cs | 3 +- Sledgemapper/Settings.cs | 2 + Sledgemapper/Sledgemapper.cs | 598 ++++++++++-------- Sledgemapper/Sledgemapper.csproj | 3 +- Sledgemapper/UI/MainWidget.Generated.cs | 29 +- Sledgemapper/UI/mainwidget.xml | 5 +- 62 files changed, 496 insertions(+), 266 deletions(-) delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.AllWidgets.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.AssetManagement.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.CustomUIStylesheet.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.CustomWidgets.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.DebugConsole.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.GridContainer.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.NonModalWindows.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.Notepad.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.ObjectEditor.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.Samples.SplitPaneContainer.exe delete mode 100644 External tools/Myra.1.0.3.213/Myra.dll delete mode 100644 External tools/Myra.1.0.3.213/MyraPad.exe delete mode 100644 External tools/Myra.1.0.3.213/XNAssets.dll create mode 100644 External tools/Myra.1.2.1.0/AssetManagementBase.dll rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Assets/fonts/arial64.fnt (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Assets/fonts/arial64_0.png (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Assets/fonts/calibri32.fnt (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Assets/fonts/calibri32_0.png (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Assets/fonts/comicSans48.fnt (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Assets/fonts/comicSans48_0.png (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Assets/images/LogoOnly_64px.png (100%) create mode 100644 External tools/Myra.1.2.1.0/Cyotek.Drawing.BitmapFont.dll create mode 100644 External tools/Myra.1.2.1.0/FontStashSharp.MonoGame.dll rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/MonoGame.Framework.dll (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/MonoGame.Framework.dll.config (100%) create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.AllWidgets.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.AssetManagement.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.CustomUIStylesheet.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.CustomWidgets.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.DebugConsole.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.GridContainer.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.NonModalWindows.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.Notepad.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.ObjectEditor.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.Samples.SplitPaneContainer.exe create mode 100644 External tools/Myra.1.2.1.0/Myra.dll create mode 100644 External tools/Myra.1.2.1.0/MyraPad.exe create mode 100644 External tools/Myra.1.2.1.0/StbImageSharp.dll create mode 100644 External tools/Myra.1.2.1.0/StbTrueTypeSharp.dll rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/allControls.xmmp (97%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/commodore-64/commodore-64.fnt (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/commodore-64/ui_stylesheet.atlas (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/commodore-64/ui_stylesheet.xmms (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/commodore-64/ui_stylesheet_atlas.png (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/libgdx/ui_font.fnt (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/libgdx/ui_stylesheet.atlas (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/libgdx/ui_stylesheet.xmms (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/Stylesheets/libgdx/ui_stylesheet_atlas.png (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/image.png (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/info.lundin.math.dll (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/libSDL2-2.0.0.dylib (100%) rename External tools/{Myra.1.0.3.213 => Myra.1.2.1.0}/libopenal.1.dylib (100%) create mode 100644 Sledgemapper/Content/shaders/OutlineShader.fx diff --git a/External tools/Myra.1.0.3.213/Myra.Samples.AllWidgets.exe b/External tools/Myra.1.0.3.213/Myra.Samples.AllWidgets.exe deleted file mode 100644 index 495e7bf52d63f7e92525736fe33a66765f56e891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19456 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 WfP)GDVS`Rr-Q~VOqyNGW_5T1-%>K^+ diff --git a/External tools/Myra.1.0.3.213/Myra.Samples.CustomUIStylesheet.exe b/External tools/Myra.1.0.3.213/Myra.Samples.CustomUIStylesheet.exe deleted file mode 100644 index 3448e83884c3c712f3b945c139d10b750b218a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36864 zcmeHwd0bRg`}lKbUwU|&Qmo7@Gkq=1OrgbWvDB>8+}qR?m)sZN_dMs^J99@Ex70s=pYOn&d(LytdG_<1 zbMM@HPv%3S28W1`A3smAw0dL~S2LKocPr z;4y>*aOjt><57#>YWxy+T0AH?-I_=3)S}myc`CA zS|n1c2QmP{$MQDUl7`0mz&+R*|1}C5rp1v>(TIvjGS4cqfvC)*wF?A=oKu1>aiSw2mcA0*3< za^*?69N}HI2~xI`tz60?!dbHXTv>jREdQY_|G6x`#g(`1b!8P(d{GV77ATL(+7i=y z07!4&sF~R`Tpwrz61|4Hg=3y;)7}cR<)~L5#S}_ywN&4l>RFj&MS>Pslg z(Gb{|QrjI=&v3JH7*n@cmv~vojiUOtj4qWWx;#&26Wf_2JZ`C)sBP0F z%Ia`Vl-IT+BFsmar$|T%BDQ02+iRXk+heytKievTk}CY#2iUcEw04jeBB;=ck@E|; z-iakQOHKW4J0zC;TeCL2vLiMN_0fp(X?)~$q|Q)Zjjyd<>Z#-v(_O_6lgwrbz=xU;{|A1`rK{aA!|L4TpwkLPV9MV^KB=LN%eb3dzhI-itak z*EA2a_Qo6?DN-`ahqlnPXlEreYg))`DYF;CGpM!P{$xiFxMzEsVl<(QV{FAr&1L+v z0oPK~(zZZiQ=DY_V83!)4WTPiDoqTOw^h0Ph0D~J+TzTGZ7JoV@w^nX32v*A`f+i? zG-0B+VP3=y^CIrGz~yQPI|ggm4%ygtG#h*Oh=%60NZ{c3flyD69i84S~8A{s4EVtOK!h&)spXdJnE0l&~0SU?+_tGKX82QcYmyBEt=TuR&<`4E;BcFd~EkvAXPP^!TZelJEL z04`W;FXzIYLkhYJ?Hp^8thT$5EX?XxvDW>q0&{%U2imG9Je}PB(D3p=8 zZfxXeoveBU;G_*{4_Na&>sXaYncC9IHy}wXgUGVhe5{mXAVYh@&YXYv%jynh6f~fPiZ+1)kyf1xaT^0Igd?AnH))ojtI(z*g&g?LRRgIyO2!HeQF3 zgs316_yARO=QKRcK-SNp1@6pt*i4o}JGBVc092xf+&Ll}KEf3?uEOEY{v!tT!Q)q0 z-i-FYv$vVl$39pTMzv7*`6C{%M|ED#k1;Q_!PNS!NZETl`05U&hk~kDg~tumOjtYGc4_cX#l(~ zlp^&VzLdV_L+KutuV(32K#(*Qr7c-{ib1~iC&+XLiDoT-V36Nfx|5}+S*?ww&mol{ zP^pW2RM3L)T<+Hux$sCQ=RG5=Y1I4WLJeYhH3KCI(xj2dx5Q@$%z)W;oO8p^FEr1476|}-M06JsZ z4DCc|GD~~0bO1~5XX%41J&&mh1_+euIUMsitij;Z85S_e0+{R{3ljv3uYl=`{sNQ< z`ydfDndz4T&EXRm1`}Az3Gjq}Gcd8diRI@C%g`2O3{u7*(^-BoOWR;N4BJQfyol*a zzZVhzNTjly)vm@=1q%eic>=0o9&}{w7YGXVy9g-}=3zP-R$^*n>8mUqiRq^d!vx_@ z#M}kK{nkSQ2ju%6as!c*GOebKv3Z@916@mUw3durC-+v1xbd*o|twJ$O})vgFdKd!K_*#=!Ac%RLDs!j@SW;lQ=R2;WOnr;eN$R;WHr` zN0dqt4WST>=^YS_>7CFO(|ch$rt$C=rafQjV32*JlmJ}>_~Mk^8-V1uxTm8g{xeiCb5XGbNdvG-aL_BiY2 z*_THWK11M8W1nK0O4x^R#`@zmDVp>!-w9`j?KsC#{s%<#RX?8Jk8{}ym?5lyIaCFZ z5^Zo;Z9VgHa$<90VMvMDtj{wWb9KhSh8~8XP981;N=y z%3E!$RUD*bTJuZH#-3m|I&ylkv^Qjy+4RxnGa6kP7%-qnUufj`SZ+WclfBq#CmA`^o@p(y8%LV#CIV%ZSRAGz7a1X=#O|;bjTn&aC^H-FAzg!`;E(`2i~A%~5!nHuQJ>$-fy&R-!puNo{Xh+P9)KiWO!*k4^v-L%24SRG$kBByw^42)AN{TGm#d-rSK3V@P z>m;d|U1mp1MvH7jiwdEJ!>xR|%6jxNo2`>Z;8@Kv+D((G`fAj%p|!+jK-Nl3Id+$y z=I9+}y*;{EKSt8Y-?=+YuH4I=t!hMAE@ju_y`-C1$4$?o8AW)9Xa(_}FfmGC~9`cjrB<5NU( znbZQAH~^Uf-EbI=l9kwuS;j*2UP-PjV}Tf8p>L_dSWKSHI`%OZ=y6n|Q@F=EFmrJ2 zK#qw5nOI;IL_n%^s}XYYSZt@5#zg32w2yaKiyBDHZ_tx7WXQCLIrO@TJh4jngsCZ+74T8Am#KzsRbjw75PvuSWC9hYKOA5uJ}o zh#i?0d)e@;7sIyQH3E2!`>`F3Db6t*jIP)KhNB;cz8x?UN!c8|JO98CW(qsdl7SD~ ztEm?_9#WGjKg(1&&fyM3_ZeN~Mk0}{*6pah%%(z15xNYc+t)JDWV7-zjoOS73}#rz z@;Gf$o)#N4g-U&*uMo^7hqFf;tVKoEe5=hEm6Q-&fM|wUO(NnftCdr@Pj7eS$sW+h zrk})UQ|kvm!3`C`0(|vffVeMoltpjP8v2`}4CT49LX`n?0))uioM4fsf zRGo#m^3hiP5rYx`EO=q6H})*SJcPOR(hqTwy!q5CbTH$E>r2GsKU~BBEpkvs;wK-n zFfBxW9jM8X*x!aZ6Y}0Dhi!*py_NOF zqmW7g{t2O+o&`1Jfw0bQCGRt|nSq{ujT!ImB1qZI@{r4|HV%xE-J4DwM6A@}=g z6+)YEzZN0R2O9 zcMSW}W6tO*nJ`y`-w7doG3^^tqA63g&^VtG{QMCI&*2HCrcBN9nz8^1tSKWdeEpH; zPl}MlkTL!uBcXzt^D#!OD+(Dyd~2M$Ir}@@Ebow5-odL@^M?Ba)SR})IonqYA?}| z^vG5T`<_y&LK5+tjNerJ_QG#p{0_ixrjIJb`EShlQD!bN)F#CFIG(r*c=?5&@wcNZ ziNh5wN8!q0h}Gg+DB_tM&dJnH!Ordn2+%ruNZ;YEwRRU=e$fe6DqaZ3TNs81HFs6f zd7)WfHUy`c5bC3K)o8J8M*-SjWoeC9vjvPHcufH3c3#lo)pq>D>)rzRvI1Tb5s@doHRq?sYE5_+Y%*ZR zFivm7DLOSGLR(@n8F1-?K)b_cbQs3nm#T}!LJ>}~<5G26y&jWdJPE-yQmU>C`_tO_ zSypOPT$iZ005(-yv}Qa-=1T@f5`{?Bb<^7MY}`01HBlGGv-hPUi^aGMwKKei@kZn< zfB;$(@mPRowW$#vCsWaEA=q8MB8UiJB4`a(ysnU%oWzQRKo_gUPbnh8PZ>WQ9rFH8ABpTmPi#6G2UI0>}tdksB0-2up1GJry^IQjyII7<2$GPr}|KD&ZS zHoG0JpDdll(2p{nYkhK-#%y-u=Vxr8gOVliOMvpT7`cOxXG+Tgk12+aoNGK~O7>iX z$cfzo$%to)AbfQtCwBA4S+W#C;xHn6o_W%s5N*ae63;w6E=cRB|FvGWO%@}Fj($k< zBqmcMAB>G%N#$0!R-1_tBq0vD_w+`&8fhYG)IoUnYb7Q|kT{yyyb~kBjS{;)Zxka) zLOfFSBu3Im+(ijEW?u;e>>J7x>yzhQsW!0L1cs4<5Iha8n0_m z>nJ9Y8o4(T0qIACYa(`?HY2Um6vJF!PK@*`jWfnkV^`&_Q!)x6NbGi;=IUZ8gdj1x z5aKz`NE%79n>5bYJsL=iPG>xc$<=tXh=~y-xq)Q2f|wXV;+cco;z7-SN5rMv71c;m zHaf*zUj$)iv##G_WWRZOoaWvvoAC(3Pn&Wd@$t{+Gg@||WIDbqkP##Nt|>-Nj18?D`ms(ICq)n>>fL5?Vjioj z>zk?L7@kxeT`cxG&S)$)9*D1r*m$GOf_Grr#XBBj1K9nk@Fl(A%;RQB_mgJ zZMUS@E^%?m0sMKu?%J&Wy?b@TPXOL&=`h;5Ylq-tMMk@$i+BvM8HTLlvP3 zSi&#;BaAcR>dIZ%D=Sg>kcb6)HO3DYHGw4HqPmb?&JT*M)BQt!4D>8YRGzie8#hTr zC6UDD+~}z6R=vCEP5CYgQK%FzRJaXd-8OKeWd?Q^y;70xO2$WcybvMtB_+B9!MlXJ z;4REp=C+fSy%H(0*{wEj=o8|RKteYc0p>SJROEh?+(nC?gpNc_m=7TXRC-tK23qnHh&@Ihm55vprEQHqn9 zpTuCJmX~IAa~Ilg<`W;-Eb4dy5|nJ zHh3H*+AQRGMNW@Z<7328d3tYwu4`AC47g3f4ie;=s zjkj3yu4uD3GLkq&NvOrZi$aV4*hKP5aquBT47^e&ul(5b`6g@B71t8o5|B`w+&KxW z+kKeOtmsYu|A>evFBu)h!(|PPRab0nRN`x9<_a!N6RW54uSa4#d&2t){uYOfbN6Cv zOqWZG(xQgNe@R$T&<1h!ijMDQBT5$bui$nGGzw&}^CCeaSr1Rdq>vaFiweO60X*Ev0av4OB}3rY@9Lfj zDEuYJ?CdIfBjIxBtFNz;5t*(V89|KlWMbKP!y^7uD8MF?Q}gABTWsbgj6rW4O&Vu% zcw6Ho(+X9tRr!P_&2C;1vsVKkZ;g!>3Zb%!JajZz$ZT=v_=a)r%4ZCMwB=TqPj(-^$bXH zzZgj?zK?>x428XwqS2=)BYGmIDgE$u40g(idF_Dw)CiB~E4B1?Ax{{+g&`t_^^b8O zND*It!Z^{=TWkt#G>TIrXgM6AUcXG;{Kl!^- zJeX`yp>@AwgV)KG>7H*Q8nhdP%dpf4cZr(tf)+}G_8japG= zYq=w#-^a)p;!Z6Ca4Dphf_TW`0p#9{*lv^!?8;s>#7Jma7F|xd07SEuOBI(_iZ&oo z8t`-(h>Ih0FgBTch}CGNhoSfiz^!@m5QaihLZhQ z(>9c-k*eD%Pb1{HG>ueTZXelepS&39@)jPF$u-!fe0LE(x-aL?8-C6mz6gQ6y~jgq9zYL1=*o)Qq5r`c z7GD;`$a+vc&FhjfF#EK^7$WtStuL25>f;6CE1C z9->GhaxlI(i3!M|7>wj*;iJF<#EmCcB7-0mIm|`FgK}dt1=pk0p3u;%@3_vdZMkt( z4Kyl$L+L#sTuyqECgVjC(gkoYFXUb!AGmIB&D7h*%aqJ)(r_xF3saZRAnZz>M=)-H z>-rTYx<*QjOBilvSCPx^4lmiXjHXv~dZ@x%y=2Q2{-!!^O1YB8;W-q4&!_CVuuDjf z>BWOE=h7Ql&a@PB8fUrj+N&~*o}|Yb!Hwam4Q4$(d+@|Y6CnWMM4_JqN>N5oUZhV*Y5(3*bHY&zh+KDfaE zz7GlC&*Mk0>5b~-(-GgD6*{0#ui>S?)a?Fl)|g5AH=Nk|c*W!Q_ImDP`=NnfjSL70 z>^(3nWWe0a^n$Gs8H@8fef@fPq+>+0$7e)8GWw_4J6S<{`HU&>QT6SQUea+FQ_SR3+;2YDRQnx7RXxJTh z5l2q^0{qwp{?l$>%#NpC!Z!->_Y+tC3Cn&pQWN%md*WTnI-gfMXVJ@qocIzk{G`7j z>^mjYz4KZrzC#Ww7eH~%FLytxtd5y>qTi%HH?BXrqp;%lS@`l{h)SMv=HIjJoAC!; zn0@igs;Y`p711G7laP)H63Mm0!S;8>?%UzhJ*+uWcRry^uXv9WFK7oBny7-N_M09$ zG>YDN#NK=4q<-?Of7YCT{hl6JyZGUO;#XV=I zZ7o00W6k}Cb5>Q{aX9FAgBsZ>P(b=TSoXF9^~6fVl`G@p>wNlH=*unU6U^O0OFGTH zOAbu05ptI_S%RW!;bnZ8v%-n{e7W#=X3`&k$dcdiZO;;tbpxbcuI{o7Qg+Uj({hqM zrM_3>%0n0z6R2`xo@t&?BQ{qa3o;piYLK=Jn5}kZg`zV-ET%rNwIUgG%;mDCAlPpgP94Y$G#7W0+ zNQ#=2GAn|>@{HIqm{DVWHqX{^ZKt1W>+EZ=8v-T9MG2P0L4xCr zBVUSaq@!e<9|OEy^I`>Z&x$U%M@A%y2NbV*FiDDnisD`kxGP+g6ZI+?4fY+Y^0dLe zo_EWXd{uLNq{FwFaZX$;i5YxZ8407FeiwYS$^R;D>qI5HxN^G^c^i%lC(7%}AWt4% zgFUb8DWVWNeiyU_jX2ndmeBjynvdrPe9!_~e{}!E&jaKpd+=vicIbnOv)R*ED$+CT zQsuHJp?dbc#FRnh6siUteM6DCOBiPpWeBWNE*p2Ei*wZ2iKDBzq})- z#jL>Eok#cfuU|K|bpMc5Yo@GPGqL9RVu6X|hn~bzMEb0eA~5Ei-c<5K-}|T<7gk;uExjt!{Ol1a4!WOprQg{ zVSPBpf{dXT&-TaHy;U#S4g1i6yURYmBrJOBp0$_$ zUijVQKU)>^@%mrum59VVMUh@rS6Tn}9~WmHu0K{1(?kmit)cG1 zwind(jQoxx%IeCCFAus4d8vK}b#<>IeY0gxO3J~s2yt+df|l&uv!~Y!!oJUghpL?0 za_aMHI_C_jSBR0qd3V<*3pefQId#|YieY1IwHFWW9aZ0R(`##X*Bm*bu9{s}GVS!c zwMYN@slMi=s!!t2?b|y$jXT7$?}Xfk>$Iy+s5z>Y@zAD9g}Rdb<(azvs0plmr3k_k zm@=Gi!oJBa=N-0X`n2gi?&rchCTO1kF!zP<(ns%s$9$o}k4(}p2x8VcVh%p|%E&IA z;oJsoIy?{pSv}XioEETPfp-6IJv6Xq^5Lgzl(ziNf!m7Yi69d-8Nqcy+asKT~O+-;i(+A|wx)aBHphoSusDbtt64+(AG z`mcV0Z{H1rPj|r=$CeIy{MiM1ZGQ;AFw^|PW2^4u!lRamr6eC`#iid~*)*vMdi=^v zq4LxQEm47HQ!Cp)vUO+usjbY|uJNFSjj^!nb*Uec zaE%c^h;IV5ePQnu>+^>X^!Mockg|GadyMMt8AprzDnalaqas}HI@ zw!Hn`|EQcJ!UCF;E^$I4DSX6y?ir!-KWVMst-E+~)81AII9%PlwGM*iq0|yb^Y_qf z%9p0kb{_hEUaeu$iC@>huSSK9%fQj`c)Nq@PuhkFJ|q;bz^dm|Tsr#Hqd391hUk)X zczJT#`L9pcRaTt9b%z$r8Sr-cVrcev_i57wv~Zq~i&NXj7hg%MJ=A`Pk8{$VvPD(% zKeCa<&~E20#=y%(eo%FB_e*0c(w6*ZOx3jGzdP$kPWtW3*`Jr6+R}e~aGfvY?r!UR z>r4We*UwWq|2p&a-COGdcYXZfg*l^V=e+;i?Ao%8e;oev%hZ*9Y7QBYy*}(qklX%C-%|$<$u1n>S(9kYTtr3FmF$F)R_9cwsoVAZmXJH zQeWI5ro!=g%fBbDZh7Ivx{F6^kEYe1e`ochv+Jh3e8FBkS!dm}apSsV3^cfA+%(aA z`e1$S+4j#~2p*Z9F=Th=Zbv`;Z;xPI%&KpGdu-d#^7GHlIr-JtC$@ci;(V&#xnm30 zMJJ~%RST2GW>*X`r0vN{d&yAW?#;SAZ(XW;=7jx)3n!D#T%29I_Pf8QeE7Td(;v3w zoQ&DlsiMk0wT&+AKypP|mUYw9m)f8oY*jh4hW;`2&5DoGKik$D&BzTe9dIrk*8x7M zJyUxSijVH9d2ULtlzV@^9`PNzHmdVkQn?X3sf9Yo>mwd_=;A30_`vh&;82hROC=Z)d;_Wq0AexLZx!J3tjJF-7S zwoq7hl{PP5@Mli_Jlhs*71NeadVA303$g_5pFeJYbcb)L*<;J-iW)6tHu%S>1ZwQo|UZ*gva#p6>vyEC=$eX9vFa>-oqOx*TloyBs@hs#H4A3U1Pna0;Mv+{&e37^CQV}# zFHK#qaxNZPW8H5$J@C>eFLnQ;>Ty_h;_&e9(7fC6==1hfcjKU;_*gZk6)iA>f?%Gi z83rB?dhtT8O33|gdi^$`vi)WYgkP*K+?YLeQMXu26#V#i`KuA|WB3QQ9EW9zGhzMW zzZT@Yv^8c_9Q=FQ>g5)-t#;n*6U}C|u3Gxx)G8dvPopzr`0-FFr-WkpgH z9jecM)pqft&C`b-S$wd=qJp1oxi4LenAv&nqO3*v$D-Z}hK1{_ox|?kd8(OH*RyK% z=r-0Rl`T%%Is}i1Ebnpuw>2Z)4hhSieZDN}^vQiD_|C`Kg`$Tx58Bu_-s)2yQfc% zt2z8ihwURypExk>{ODuv|7Yi;t7|Vkw4+M7u%aD`H~~f6TAQhX|LjicbL99&=NmKq z0$a(bQOHJ$2B9)7Ui|Lr-*%5`Tg>o_fPF?+hg=I<&_U#Jn;PC>Q!F|=5MPi z7Fwzv3A#JV_wlT%RSPX)f40lAl~1EtBeo-aF|BFF`*&)kIlwhya3)9yhm;rKgHS-@ zy#M3+7ayru`$O0r-}wz`k+N0 zKd=-BPabSP)zcRQoDeSeADlFv_H}OW5j!^K*x}hFGgHq_U%y@b*@vlXA6~3{0mIv= z>Az3gul%=qVZ~VG5c|9fXN$hs_OQ>TONk{@{?!2%KKA{;_RhJd?t7-SOkv;Z13m4z zDi--=hMWtVAA*mjp0C>n#rr=yFea^XDLi+0_~!o}9hde(@xZCi_jp;O{_=%+ws|Mg zr)~aL-P4i#%=|f7>bwq3Qjh0!oVv^4Gw0Ps-^?j-j-C?Pr3JhdSe_iT#Gd+QCPw~W zA@)>t&$H{5z6;K z`K5ogVZ`U1<*cW@L=~bN-^&R}BhPt@-iz!{2U&k!6}JzS8|7r75ED)Fygo6N<@g z;n}olxPzmR`xnIiBz!SkU2K>cGF17|`P1#6acDy)S8n-bD?D5F&ZQUkzN8C!#-JGd zRYtehr^P6HZpvEq`3up%o@`%&OSeyy)jO?wkL6Vb)&6!i^!s+r#6^bNQ)0*83%fqq zVS&<<->un#BcpVF1iTsK*8~zrzu4tW(4p}6yH51`x}-Yp_df=b2SegCvVt@=fiX=`t~wX{b(day z6PG;BqO}>%*(NM~c~RjzH4#q3CwpJaUYHT{&Ztv)mhnM;8|u10KKjj?37^h?V^{l% z%{%FI%EwvM6lxRIA<+*+;xs5)ime%A$G~<+<@_E#&uC!a?(aMH96udhWZ1##kAGey z3{H+6yn6eC-}F6~SM_~j&Z*c9Tce)vS+cxhPygh;?U|ddOo71EnjE(+P-u+yB{U6Y z1z(!E?zOEkVHZzCHGz!!7OAHWfBe_!yuEng$EZj@s{F3AvU=DS_5a>ITHJSC?UtdP z+n-p_BDv?@4Vqy8VhAEWF+SBp?7<4PWM;N@biS!PwOv_1LVe~HMYXzp%IJ^V2->Ve4Q_5e>;EfzTua2Gy1F;s>HQ9TO!B% zK|6)Gc;u`O%Yd&=C(KYl$6Xy_3o(oh(|%6TwVTT`Nvh;VcCimF=&q5f`S63inCCRUJ$+S$NGgzS^KwBAmzbH zhkgkATBF^DWzkDq zcZCH%;}8BFv=8I8Mz>_LUVlRDhnf0)j|R63`sF#;ym_R`>1=jsnCVn$q>Lbqw zh-POseWJm{Q9YmaF|wiawpQi z9iNkDa>6GS)+D_*6}N)`7|?e}pQXKXXHb6dy!&4PA#<1l^E2`L#RB|3N;Ui=-~q22 zvVCF)y$&$wF|k5C;N=mIPgZuH?0>&Dan*t4{~G$}_;bga>+ku2aAb5JjlWFM&QbQ! zMYv1dXglAeYxGs#b3fXe_sD4RHTR<}Mn^*8)p|r1=jTE8eZArmlR)I8{pTVlB<=I} zFOT_r{OH=B3qxlA7bTKDA5dN^l{}Ac$=U(n7Dl$drAD^P6x%G%XpGJ`o5e2moj{xJ z+5P`YH=qFpjyPrzXE+{*0ghCU5ADhT(5(?THFHwp@!{>qHK-yi09||lo~s6URmqAh zc~wcj>WswwTyik&i+ieM!vGixL$Evm(|(wz&sv{jbr{(&$8kx=G*(OFUxJ7LJoI6( zk!+V0+Tn%vIvId_z!cz4CG_dYdeP1|ApIraJ~Xk2AQ!aQm+wqd%xILMM0(s|#mLZS;{Gc{I~ws5w3u;d$8rYS zRfYEVDS{EmGts|%uNJ@^V+g;*Pani;$30$%&th!vmgAq&iN(O{ro(r-p*>$DJ?W6+ zSl5^M>WJ-0)3m#g4Ue=Vj$877#!ocjEM*#u#OqxG490vRqd=N2W;%84%YzyMgb_bO znPv)+Z_baTH!5+9+$_FwnO*pfJo#uz1M0yoJ?)3o6nS%LuU+Lmiahh6$25Q)3H2mIum*`9Ax%Er<{$Lg2 zrq-`C(HHAqZTpfk@@m`Eg5?_}&nx;8 z0LbKAD}IBL&A{ks&-Zemq;LH|*yv9DYFaR06cSNaccc&sy#oVo>5Nhj2>8>YMpB!lB9=5B*Dtl8+j;+{aG;|RsHm5C zh!Ce@6kf1z2|fta{sJo~3jtd}@1==T~>$$BM+CXJN?S0siWM z6uwuqQ;Nb-YMzU@+h8I=DdcbbJo+8z>&}H5AhCS$*5-5Xm8hu*Ce0>~r*4DFni+DN`%2-MIM z{|?w+;T-6AOHJ(pp{o9FbbE{!kznqf5;YKSx0N;Pp{b?}pgY_)KqMe$8%F|e>D1_( z99GW1R6EO3*dlQsiKg!{z73Ha%-sX#p4NjQaW@k?++PU06uP*F^ep*%fo@WL7>@7J z-H)MLL4nii)JxpC`@jel_XBH)xoLE|djK%R>q4A!wg0$_5*b(hF2Fr8_aJvWR#2zn zE7-Y}`Ka&cu&n#o=5eFrtSeu9cIB1rZ4eR?opr}p9~4j{RB&UnT3ho z(Wwwtg%GwDAHmh(S|4OTjO+V!-8}~MpIA@9{!~$sV@+Z8zEe#dXA>tTKY2otl_jiG zi-*#k>F&<%E(}jxdjNY8*Y-z=UO@jE%0~NS;8{+=XN^@9H>@7DpPi(~fnykIKXo=U zg#NRj4`Y$qPuT7pXl@{tncY|GvARV6rF3(R#VQaM0i((KChH}pLU54hC2exgdU#%r zSEYGuqUTkXVfM6H{Ta%#FQKLUK-)|^U{Nzm@QSX3^mb78ieLHx&}C={7h@2XSG2{ujnlO38V=!)yt74iYbGD4@l|bbaymP zo!SgS{g{NU3hOsQN2iyg*PuBRWqm#Jf)=OQs0Zn{bhbRIdwA*y?8m8H!o7GlK?XT^ zwnM^u;7=2Mg0$&Ga@cMbA<_afF-c zIcPqDh;JfYf0(*xdi9lPn=-xneZYHHzoD{~YtcP08r9kW6}j}x&1zkr-pXglJj&`Zb`mC90QCR$HdHHBILb?maMSgXB&&4?4jBN7fsn33>a z3Gb8eF+iQJNZgY66Evi3BTLTAqBpdC^bDfjh3GfxM**K!kJBU297Ih2Tg^cF-RKx# zN@Msp!2grFl?lMFMzYYqsuk(;((+4yKD|V{aNxc~KaMKke^p;bF1(@sGVp&Oh8(qe z=P-2+n4!~yGrR=2~rPMSsbwNqf7J3Bm4tff(ot^>w z82uQqnAA+jI{6&-4C0q5-JMg{Sw|zkCTSCUZerN9eEJlvswCs-NQ$*0SckBAvWs93D)hAq?|!+D zH$EHgZK=>Z;+pwE*9n9Z9GlB#4`n-PtZdunoGl*eqBC>8@D`aEbZuMY0?T#49$tj{ zY17Hu!UH)Cf$JTl-cdJSw#6|TUG~iMDbFk|SULaTQ2K0!7EQY>vRNsjqMvg;+nS?+ ze4fTVwCS=E{WvySL68 z@O@F7vzMo=pq4#ldN6qs_bPG0_0Hd@e-dL%3(v<|+$hXA^R8Dkd7(`EmReZxd8<%{ zlN*eL6OhaaVVg@5^KTpkOO`L^f*S>Fz;u?^1%n7f!S!l56J;krkfml|%~^_G(ED1U-%>1NvQPAYFABbYQVn1D(JCa5w#DHzP7tSJ^ zCxmZZWG)YN!VGc?G+FYnd?C)sgQN%+9u8}QP*)fqiR?c57)PnpFT79Fj5oyM%dK}aAaHu8!Y4^)_ljVNNLz97irYA z9GQsYuDx7vo$8|#V!pCT+%YXRHH=et4 zDs$!FUQ2s)G?ToXj zDg(BQa?~qqrDYh-M%ZXXt5Xuqv6nB-PTzLu^(W+80p3LMZowCt!4v$9u_iH~+X_qa z-Q%Xm1+JnB)!|?hrY}OG3)fQo;mV4eh$M(MD-<6nl~C7A2X7X#b&t&dIw_;$?C=VH zPvY+VBtHFA8^>@9e)tSP^|*l7VA`L z3?7}u3lJX({%jH3Y1R+Vz1dsOYSx{5c(yXBSw{qidfrDlUCPhV=Bpfi9c!>{%9HSJA&?PNQlt!mHTakz06t4bsTU`X<& z$s`YUEPQXm6@eU@Cs(T6C7+st)CAXu+@t_{E~v1*sQo=Qy8@pAXj$MFZer<0snbc- zze6+!oM&|ho*jg}B9-JA%b1Y~Dl90Yv@FL?!#;CM(nFv4c3Fl$fqZfXB9{NUhN4$Ocl^!EEfB znSK~Q(y+9IAGZ{a2!%#K6{Ka3Xi3J-0%rlE5*hf-OFz!YNEGC1u^-hqu~%W_|F`~x z>pG5cT&zqPu@7oyOY~vv!+pe5$2>RMeQ)&FW6%4N*J%K2<0CdjWSxzu7|6SgE4Ka& zuN%=;Y>a=c*(`7V#n*d}FBNTLF}zRqC2YZwgN_j(e(EhtM{V)Ik$M!^o!}muB1^k9cy0r zLG^@}C7Yj;&K6}_M@df1fLz|K$hG!v zPrG{*DOoX{+G(5sf^9TKRm6qe7)71JU#XkOEu6+pkk&wrrU-(dO=GJ?>(>4wj?t!t z3N-F-=I!zBD5-G`^q-=8+}W9V^XAQ)H}k$Y^64iiMnrMEAALl09$$X?1pfD60mbd> z|EQf_ZFy_MdF{Yk8^&gwz^wS*v~QKnf>kbip*dxnezj~mWpn7>yjk*!c6Qma^rlGl z=rGX%Ek<+8cDz$-?E-aDtJY0)9XKh)een)_O}u@08JPI!%5Gp}FyLnaFZlfEH2E0O za`~%&BT|Xbr=j;=#`}nVmWY^*pGl%N(8b${#v1v*3^x}|7s(Xp{S9@pp*00Pz%PIj+xmcTN7vzPc=}*{*0)^`f@~{I;$>YmCj;fDk7z)U25^@B ziid5}DM7^>fvh0X@X0i|739Zy)_xX|6yLH=Uyv`Y=#DQos&~P2zFYKB286rF*#xE@>s#%BFA z6W&VTXP_&-<*Xj-S|t@$19q(e@YXVYnu|U7KD`Cq?T*o}pm%6Bqn}0)#M4G=GS-Fg zONVGzYttWMZYtRYk(<&+viBWSyJ9^I&z0*vrFX4o3%b(mh0_?$xc&>H1w>$i?`;5x zY`Pw8phFqGtCMR)mThe_^v`Z&Q4BAOijQxEAo`REHiMZqd>C5sZU8Qf)}#-=H89#z z{pQjJ7QBaw*eO?E0dC@Gf~?Sr5g8t454PhnKloTQab1X*u2u)fsfa_l)t)(zmtp8-Yz92 zRI5MaC-c)2+Ofj&5$nC~Jf5ubf` zd3&I7bJv}K!Ce4eAJZ|fA0PCG+gRxhfKZARZXo!P=aGJR!qB}zt~>-_C}TVIl{|A8 zTRJfh2*NS1(_X|p@-kB&N(6o{dx;0qSYPxI(rH6EQ3>q@1Icg?3+)45=OQB>xRi^u zIDRQta^rN3uc8FGv3`d%h;ZY9NQ&_hk!mE=2t_5x1&)q-I7mW#iIsC4H1Ihqp1us9 zQ{$z}@Dcw08#TT%60sPCa$15%*_#%7kxde&5fzyqQIY)-6@^&cwlfkyGQ|E5YE7yk z_kYf`gl&VoM3%&tzebO`s=~tG$27|;lUp;bk;$#Az5QTkTE$$YU71|tuvX#dUJjC~ zLkfqtxpxtvGBP4mLT)*xG_Gn0QH5{0wp$}C9lZ2rf*8Kgd^eQ6oi?@_hIbFpzvX#Y zLm=yrO0`oOB(2lC4xntyK>qFlO;%L3KF{vVc4vFLdwbAJj$jvX2+B8pmgr@CAA&bG z=0o2pPX{cq6$vOnnV{N#A4`q{SGv=o#ZG z>4iZ%^-9d3f7WkF81#g|5rGd1{7Zq?1E%RqT3Qmt^W<$HRvBT*7-C|#M)^iO;QJS(_@g|fVu|VE_lCaZWo<7fq$TJi$909c6!D* z4awESR-KRKjdpq^HVXcvNWLR7e+qen_Mk2H;XVfNC;yhy!`iskvq-%gAJ>NAcX$?M z&w(mYlCaeQwI(sH-A64Lu?>_oj%pgc7=Hlpw-OUthQ3b);D1ijnnBORjst!_&hRzB zQIlKzjZ~ZFLFTAXPo~yrA*e~AKEL_`{Gii|LVcIkB$;|UqV^_xK*cu@p3kTLkRHZv zV|PTo0V+->6eU^`^qWFGLjM{&i@tm}q5||PN&mi4w1{Mqc5Y(o5&HYMiL&P+sw;jL zar#0;wSr31`G{gIZIr%I)zj!Ks7*pWNjnm!w00U7O7#dU96Z^Dyw&KOR>u|RWsHYT z_etr=IF~kZ8u8yYSn}6ITNN9&3keP5z&=|8n8ptBLSi}f2)s>TzrdWp`viVU;5?u~ zmOuya8gl46$SQ|kH#G3?NnT6u(HCPT@SMhw$Kpep)i%=!sda)jCvO6uN5!IxbPKg; z7h-!z)4rM*gv|5MpV59t%hMX|25ka(HkPNyrS6k}C*ZO7V-KU|7a;jORg+(&C+TMG zEWIK!uTVC*9QY~Y>vT1pqwmpc;4i0sjX7@!{)WiBDfnMWt(=yRX|VWF<1gqwjr(|? z_BHKCINGp=oc8O+KjBEi_&KR{PBdJk4~>iDXip)&w}SsYSoL)ysr|L+L`ia`)}pOP z@8+R%5T)%T}L#^vus|Kl3>;v)Un7|_m1>lRgD)w9}9 zkQL90ev=-cAw7%ydQ8jW;Byx6T6zI+BYgu98$^`$(t5xk`CsrQpL4{thjj4D+gXAyw57x)W{VEgE0ps(=`NbPdR1Pz}S4nrcvLkcs@H` z$dRfWI%pyn+NA&ugchWI9xhVmaVxGpZH2boMP?- z1_#-<-znNMLX;cutHBKAJ=ZBJlq-(<_A%S{?IK6`K=l}iqfRlLk(eHE!IY#KbRA$z zbxt&~k;#@TZOMetTzCn8#3}e*;2jII_m{2gVocD8SN1rT8(5Oq$PlO}C;A?+rfj$7 zrTUB#Wbd7N5R(gpQOtV87MkF!h*0I2CDzvZR=1Oy=Qo1KL#JT5`4CP~s`h)nbBYtE zk%YMhB;R5a+?mJfk)(e_bSKFu@Nh*d@_J`K;><#4}ME+WN|>#pZh zwh#hdVU!jpYB)BUvTHpXa;)jH7r<3Pja7?Tm4mjQ$3lQ!yWe%D z%O!Y6RbL$NI-e)&;qt8GdrIzrXBBxit<^c?d8#rGCe=fR!-Ix=>!ft!s8cR_CnaJd zRL0($lXmarSs|RK;Zg+^+K(waL86_M0JvfWX6cVkfm)rx6L(?>~ zgg*)$4r&EU_(#D#1wB66qGdPGVX2Sa5UsCi?ZHV%{n(m)(zcSY0x?StYB}`qrZgujSj)f<+4okG<;z<<5jE=(w z7j_)JF1f7ZQO}3%+6VcD<7>RyPhocm|$@NmHZ=M=I zvS#On$I+Qxc$ee74Q~oBcW@+5)R7W*3cS8Oo&qDKMgRU<#}@@-`pTo2kq>%h>^bd< zZ1!e+?_{7sPM1A>PNTKigTrHsYwp%)GqDGEPP?F@{p!Uc-UzzZ{6Vaq9bCs;EHNRA z7S~*PuS#tiC9&DEc}FQk53aQE!*!QN2_bMg(ZnbL)Bh0v0cj(nZ0Bjb=aKy9`Tu*- z!=fwj^1;0qx7oedM+MP`@4OnHL;0cnd(ZrCe(Xm_hrV_=NWE8mX^3?U-acOOJ>Dk- z<0VYr;(rpC@L6sN6C5Q!b4ig3jGy7w<%vF`NqlS1WQ=bqkKklI z0XR&DfaS2B90Z*M+^hauORvX2_=P$VD_sgF!apA5K|-PR=4VKFM=(SB(Boj9#BmKP z#WBpA{A?nwH74s8uUIZ5YwMQ?(97{}BY-v76hg{D-Ra9{`ijWZ*3NF+yG~&pWzB0* zSFM2+=q}SddZgAa);|K8*G#@wU~WY$3_#asZLZC>@mh@3qjAw$>kZ2VvIaV+-DvwK z(cO*NM_cUQ5$MKVQ`S?gu6TN2S@+`0wyc9Zdo&c;GJ4@Q^zeUfLl%1G@Dg>&y~qLJ z)1sCAP!WGE?s_D_iedxroS4re#5UCY!xZlnK8dgEwy1IBofWUQRrot>=;bHTP4FY% z_crTX>hZe2iEfp#>Bo2k=uZg|=E55$a;ABd>UDUm@E{4^Z%B*}{`gOJ-!)fq%~^Fe z-_wc7yVJDG1&`0BdpZw~?cH{3r^y#6IHY-Hdr#-Q9dzDx=d$#&^lmG<4KSgi9PH_= z`sLe$!i-(Af^DVRF>qVKE8T7drR;1^r&+Sf&M`X(YYUUK2W6(Ys4Q2+1{-_gCYyM5 z=`_n&t@d<|%=cF+IJU}3KWkMgo!ga$5a-~KFB3kdJv%z39@-A+J7?1P|aL&3`ptJP)Y{-61O(gXhmxHv3S diff --git a/External tools/Myra.1.0.3.213/Myra.Samples.GridContainer.exe b/External tools/Myra.1.0.3.213/Myra.Samples.GridContainer.exe deleted file mode 100644 index 815a06abea59b7a471ceea43243fc4ab447b68fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12800 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 diff --git a/External tools/Myra.1.0.3.213/Myra.Samples.NonModalWindows.exe b/External tools/Myra.1.0.3.213/Myra.Samples.NonModalWindows.exe deleted file mode 100644 index 90a105bc4c47832f7e4eb2bb03bccf6d93feed8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12800 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 G8Tel?{_|S^ diff --git a/External tools/Myra.1.0.3.213/Myra.Samples.Notepad.exe b/External tools/Myra.1.0.3.213/Myra.Samples.Notepad.exe deleted file mode 100644 index a884156ac48e2545759e081d16434d3e6bb11bbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15360 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 aL)&=r&vSJKe@8Ja$#EX}Z(0AZBk*6xYKXT0 diff --git a/External tools/Myra.1.0.3.213/Myra.Samples.SplitPaneContainer.exe b/External tools/Myra.1.0.3.213/Myra.Samples.SplitPaneContainer.exe deleted file mode 100644 index 0b98867953b15b905655e1b5ea13c3f303739407..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7680 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 T8Q)cLv-!l?_^Clx^}v4tIJj+B diff --git a/External tools/Myra.1.0.3.213/Myra.dll b/External tools/Myra.1.0.3.213/Myra.dll deleted file mode 100644 index 964458484d38060edf99168c9937bb5bc283cb35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 514048 zcmbq+349#Im42&x)HBl>$!?82BcGDNGR++FAuzHz4CXdB7?A968Eh~%ZfC~k8jny2 z5JI>@j%CRL2?27GYz}fK&P}ojOUQ<75^zYuCYyVce>R&_{J-zL>X{x%He^>nd#dWy zt5>gHy}DiYncwOjw0u&qU>+g6)ELGPS|b?aNE6O2KaJ|et8345O|Tl{l5nzVF}*y{K{-(n{;dB&#jT+pp1y> zAbze-g-eLkrO_d@)9c)OQ00OBB`LY7a2XJvO&8jrgSNHJdZX3mQDk$MIu?ktn*3ln za6H!zhTv9)+N>RJ0;OQRF;a}x)G63@KI2cG&u4@FrabiqhZy*c`=LXO> zxAI^VtbB#OG}A&`UkdrZ8_3{4F-G#0xptiLcspQ)PmIy2td63_h#o+gZsmdqCX57! zp{Ok1+@%St4i`-LW5WP?`{&yho;}T{+Cp=&0`H1|?ifoJKz&g+eXdXsRw9d%?^Zq% zVF^2nV|C_Q=U-q!ua&n);i61_&;>F8cDM?p@*}ojZDM(u=c%eSt7oi&H$$wCLw5ZMp=eGoLo9n30G4tQndyYI5#Xv7qM5Y-Rb z50%gF>kNEi+dT#4MSeR(G>Gd)T&oy*vWdN$rV|4rPIUvcWjB+$<2tb2nM~(W!7=1$ z4Sv$$vG~p3QA1RC9K1*{*GN*T5N%DwWlHWRSaxZ@d27qKh3?F<27}{~vU&o3u4nsu zH(+Q5{utUrV%38P1t%gdM8AsqJD%+nn%(jrWwJKozlZqZ5WB@_Cxcec3saq`GAp*}5) zeoMwI2P)WR!@vAh7Rt`@p_uL%c`CSthwO4km4ExDijCi1qk68;8+Jb z=7Dm4@t6nCgnK2sbKRBijw(+)g=%aI&O|Uc3qRr6`0tn z9m#MVoEXlz2$l~|_Vk43!S@IgXU0e;8J-V7ID((*4)8UQ3a_GL;353sC?ef(J$}m% z?)BV~>*{z^F#6nQZMsSH4>EJDtH7%VUMtU`rsv#&lC=%wW>~=nfW2<3@+Yd?D-d{S zAP?{bQ^CCeqn0OQ&j$FSDd6B@fFLHw$+l2T3%#i?MGG$>at#H#GQ{e1pUx(dskEP{UI_}-t@tTOp>3(k?)GpS zv+DHWLD3YU+ntz&-gU0;7M>YH&z~pW79Z2vn{hTlqC9ZJG7&?JOxhE(gO=UKSho^w2aY7}k@W2>) zi$uv4rw|-OyaD1tbj5MTY0Lv-7z>C;$KajVz#~v&9vH)DLp(YLZx`{$8;{_U;UOWQ0|oc#4j0ei;DevdHMBU$$ZpL5Z7Qu?Kt;)FXvsYmLgN2SLKKqQ@TmqgO5 zT+9^5fQ2FE>sXMk)yX!}2UHKEza3nSq&p8ltz~W?5Cc7W&!Xohhn_F&E6uh0NwaZm z0mz`Ue-T2`iLXG=e*<93&B5T^iN;{S6!uVCK@dwhanOw)16`jbXq@lxK^|2X&xU$M_>U&M1j5%o*z^_5yoc+&NPqAoZH2dx0`Xl7WVx*M6L*%|3W+@ETA_B=aM&Ad+w{;R4!`B(>4yPa=i*VrV7)>qd=(b%H@OJo7=q~E+iRAecwo|)<2u|%zI#psgwYwB_ zcLS6NP9Zw-rTkD(m7f&ZY06L}Ct_@o;zr~tlu-bWJKSi(F#wPQfQ&O+uNO*6h~#?CKG-_xuqOzhTG%e)TD5_1;6kZ zi9e95AbK(O-Dh5ukw~!0#6AmY>xsiMB*k^QO9NRryp`qTNl#wf%$`r>fJc|I|11 zyMFLSmMeG@emx3nb@j~zh^!`6(Fs{L+Lu7$Ia!?yO|JaFAbwoW4Z+Z)+# zLy07=9TJi_=v%vWI`YaQ zh36l|BO3QGQ>Kz5nRI@nGwm#Y#zo&%129oIz;^25SzrhEAq69#;Tjbp2tQ|VZ-qO$4v}otlOx|IkGIQN}#%%>8G zU>hX8tgT>&?{2r;(js-kdk_e3NMeQ5tq>=X9~qcw2it*OeJ8T>++6rBxVGZ%0&eAT zjK{&d0W9^|ZY%=xWek&U_#Q-U2~P)Y6M4gr@=dc64!V!TXr)WB38W zGfjjurbT$6i7-8d-!&1YrvL-a{(0zWB1}(VaTDQOFv+I!ey~5aG>0@1H|!U2O%rkd z6i1qf`=gi;1zq_QG$FUL18EZS8@!T=Wkh|gfce`3hUsoP>|3YDzI%G?2d2kHs{w8P zwq*H10rR&7{E6wYzcxMgvjB@~>HO{kRH}c*j||vTtLBBj5B(4OLgyrBD)ouK553F9 z`sRb6wDMn3W0h_Ms~k@G+=rfc2D{ZFkeVpfYVD*Y5UdwLB%p zid7q5eDTG-J*izwfu41Jx0Lja<$@CwUCXa_9(lpR^n(4nWA($ueBH0U5~~N;((5x| zpK)OIuW%9l3Gfnr5A z_ica8n+~1p_V4)R+U~<|Md=iD`0wBy{tQyM{YN}I^Bsp{(13T%CqMn|!zaW`0*7PJ zvxe^#td3=wpB*~O?LTNi=DET1-F}7#2Zn1BdH!LUUmcES3KDNWGV|NPQ{Da*t24hF ztPgJ>QpN|>VaJuYydHPv4)okaJT_{ErIg{ctivEdIFOIJURlFZy5e> zfbGgj4ail)KNiTT4al{_-xSE14anx<&kE!f5oFak!owKKLF(cNSl&L2DWrwD+ozx_ zrDRTq*8;+yMz|4}9Qm0kk#m|0*5Gmos)pQ6dR?8g(wc(4Cx%Y7RdmD70ezlMcQ6_K z93o{NE1p$4kHz%z^MtRpWj$w0cdFAal#cEATnH75eojs|0COwmZ8sdd!9(zZX0Su2 zvQcaXcJ41AHYLAV7r`$|kiXfapUk%V=s-rZDL=`1pf#BG;oSg3-H8&;>bk45J3TS0 z3v%yHr?&-PLgFoC!tI8&E((JShTEg?MF{)pf}avXL+W%Em$-g%D4k4=`l$__#f9Ku zXa+HkPPqh)bQU`i96#DkYA}t^jy3B$=~~tyDY_p%cBE5QgiowlpVhS=eeM5yEM&lnkmN2dkwi;QxTQkC%@a2l2MaZ(~;_Ui~HChP* z?TB!nSfiC9&2W8@_L!$zs`ScFpX);^xT(F(qpjWNMn_lBP*zA4y{Q zdVcC@KmD}tJuQ~)>XoP^uF-7kGmv;6`}@9QhGsbBMBgPvc&lF_g59@9VH*Kk6TyyE z*rk9S8^MlK*kynn7r~BK*e1Y^k6+W`aC2 z0PM^Nc9z0k3D{W?>}-Wq06RN^oujZSVCO`zbqd=F*t!UIuEKT!c5VbaPhnRBc3uQK zUt!k(c76mKQP{PBjYP0fg)weVPE;GPO09+OU zmmA%m6P3@URFtY=Bn) zI2-|28sHWHS4P046K&2#rBvU+5n!1CEQ|ol4dCbqFk}D+Mu0;MU{M4()Bpw|zzPGn zFajKA0E;8QumKbzz)AxMB0xXb?vDa#1kzEU6M;?>STK}a5W%+sUW@|U5g3dDAp%RH zz?BF@+4lbkT@}KwFp>S3ZCFDcPC3t<{uwSTg8RYvfMV$Ue>=G7=XkJdB_>ei1MFRw(w$@P zI-72{y=x;~&)$WZhF!LEFnhg`S@TEZ@s+I{X__`-zK6@WK*-UlCe$F`;%r{`5F6udHFT9UcBgh*G9EZ!|PGDGaCF0 zlqNCZ(Efdb4f#UIpFZrCLxWdCK!wlP;nxvg8nDA}z!4XEy90gYk}t_cM9YgW;DZz1(2(g48CI+$U&BYAW5@d1#p39J}y96z$tW?olu#H z?C{?aE8W8`7|vnkEv<6H98@g)E+RULS(rz^2cHw%1}@8q9M68V1sG$z@(Vco(KeA= z26^e(k9_>>N73p(MbCaZRrJ-Kod|xwXrMhGp@|28A4UN2 zAl)d~!ZH_QCDZ+w(JX7e&9Wd@->JR;&{+v}?AQ^YVUR>I(V6iS(0{<`31D*dR-qHL z6cGLt;gvA3MdANsJgp;19)v8ex?iHG88{I8GdShlso>{yccw%u%iB^yDMh`S+tjP_il@*PRMAr5FNm`!^;BPrHk7+1Ra_gr#F@$Pm%uKj9OKi&NULVi zzBkQzq&e2_GI~B18(+UdO3M5YZlql8s7H^yVbjE^6D}J#vTt@MvAAz09wb{40mQ?$ zcrc{XNqwswhBzLeaAF52?A?UMPEg1h#eJo_7R>3vi)qrW&>U=@8gdI)+tptKTNpE5 zvSbPfo_J1dk!$gMhwp^H0j}rlS^$A}xZQTQ!_7@M5&jq8;cxMib%%#-pt>QfXRvQn ztFX1fwgHny`2UEs6hHNuuz%V$48{rU2#M>bY6NyC!rud-L>ov#(BPYJchXM!--zI$ z)*_Gf7PDzT-4px~u$45v^<+IiEgeU;!|xDvD$Vjckn5kA?9cegdczxm>32+4sVqRP zI#s&BuAwJLVBbqzL#8_u{sn|eU4BNo9#EV~iY60wP3+y~f){VqA0WKScG$?G==UM1 zo?2-tELatdB@3-8Te>_-_YBgNNA22bGIW-@jgp0bMJx^+Rz5IoPFXKmLeKdYa0c<5 z4_rev{2Tmx&t1ItY%P4eY4k=pf6Wxg&U$+bi}xPncSw6h?Q{eaNDonK(Gk7^;owCA zQ4x;sg*avJ6_=QLt^5+~=^?gx!qGpHBdzm@qc$Xf-mC|WRiFAB+F&MbTThK;p&xRz zvKyWW_qs?Y2F4i^(~R~+XoFVh;3wNTe1?N6>I@SMbyas!A7}V8{I0N_NTQEE2-vm5 zDd4=i{)`%dp$nWLU45+a`F{m36*=}UeoxiV68u{$ZNxH7I zo4P&&x=zfLKV!nZIx1JJM85AET@R^mXo#@ydfBX>-E|~7x@?c%Q@RW#Y8E?JT;=Dq z%qY`h-`7_vawE=1E1v8L=HfN&*+4**Dm?|_&U4MR5!#E3*o!^s1zmM8V zWcza2{^D}K&+or4yU?ydpb3AWXq7*oM~%G@y^5Dz;4kP2&SgDx`ThBkY`@>{_uaW= z`IjSjX|pNGf~XJ&*!}@gA=-NaA7o0o%F)S)ciA;DOt-5NsRAA7A6Uxx2l@x70u&ec z?G6IchPx~81p%@b@c=wn$LM`xj6C`&!+^6B9`B><^;Ipj% z#P2M)+>?pmP%=56e+oQ1@E`rV{1N_MAgzV_2e@%~f5MXc6ZgZ7!*RdC+6de{#;gd= zaq<`?Y1v~vXlb#2FQmN{~O2{{Jf;c=le?bLcE(#+v}Nl}X< zvGGZB(Lt&=%5&04H78lZ!EPC2w7}gd8O0YDyZodM447ehoCTET_z6(qKqOM}Q`KHX zg|qPkY0QDM>L(LWs;=(#i5zssOqLU?)rr1hFwU4*kBO^QM$nix zGz8rd3A#fC{ap&B!w5IyXI4G|fU>9Uu|rv9qs(?<(DkHEWibKJc7uVWya+|=DtFp` zCg*nskAOhYW1vU;QnX?fJ-|$il3l3M@SnIJS%@PU9`JumAQ z=b+nuoVj=VGi|>+P82cHOFy@FmhbCsGzJ7T#jG~PNS-fFBTuYYI+|pVI z`HtW}IFvuaFT@Y#eb&uz*=G4i_*+>Q`2S7>B7Cm_t^lF(T?YpUMtFQ4bvEV|5_d&3`TqWc&pr2% z^-7ghdoYSJ5&=nc3Xr6y0GUApSU7uz<%n@;B1fjhL?nkkzX3EFz0htQYdiQTvCfdt zoWR6E1D0!~d43ZRW+;%mP_+YV0r>(Tqw8GR+|MmZbz8YQ<3Q%_2<3|gg#d#>FKP%@ zqOgEc-i{7xZnzaDA)FIvLY#0LK`lsEO-0&H5E^e0l%%^84*;bIARYk91Z;#|fgapn zfbD=jI~-&Lx(*B=G8dst&Vx+&XV-90$Se2RY6XSioYqi#!o|H1uZqJXUbqFx(7rLc zVAAoD*jF%<`|O|-=1M!D6~2s?wj6|LjmKqRubi}V!6EQyn~K{p4h3|o9fQ#Q+cBEy z;&zOePPby({0QBDe$908{HCOX`3z@dJv$c;)5+H**b%BRow2Q4ZwKfl zjGU(v7~2)c-m>&T=pJ0%;=rwm9I9I6+okeGz9ME9=YMOIg~>z4GK_$R#^N{)Lm_47 zwT6@uT9OBA{7TR$Wo_KtCb2k4FVExpK@xTD^z{$nM762tU=>gcc7sf;-rKCR!NZ`G z<0nuPa4&l`%Z;|cjCwdTOsne^13Sbny<6(XteP&mY`R_%1IE1s;QkO@v^|`G5B>-* zj(Fqrl1rOD8;?=D(*gb+z=`lkzylc3#V)s6k(|1C(4dZv0OG*_c^?`!C?BH<0xS%r zNe0;Dkp^~L1UQ}^7~q4oHkinVg1~J5pJa=JT3&D}q6*9H8YZ@ha1_i^6&P^B^$aby zLu?v(p%87fUbbD<9sj1ZSPbv=4J*~O*~u-tiFGxw8Z2Nh%4-BLb*7>keol!; zo!Sz0T0H9XmZ&pYLT9#w&SHpn7Vp)fSawhKH4sRh0D!y0!ShV??-v3M*b7 z!@dV0Ih+>WMAoGrI3Bz%1+UJ|(`3{S*CP{-_fjl3e5-?!4xj?u@L_m&a{3Peu*}JD zG2r1r__4$PL3ZrV`3}UF;9}DPhh=e05&e1NL=)ypGTGyV?;r4A&HyIDR{%>EFCE2s zNm;rGGpMmn)|k}nqsTm|ixK{DcPADM=u1S=l%ANvq;}*SFg6gZA=YJh21vk69{dHGY*a>p z;Tu_7uBy1yq7zC-#D3*wqz4V$*$Xa4)+S-MGcgM_J2$OLraH|HF072%9`fP!R6guE*8!6XWz#9d>oC$HD;r$C+`qD#LW`Q{}Z3?bsfr1>8 z$S$2%1lPJt7cvTg?}O9w&-HFLRNa^yASOM_J>QyhShP16P*$>M#(rD#BFN+=!ka!X zM*W?6v15|Fj)?Mdg4Y4IkJ2z|-#KVmveulkmW4X98gyOCt2P2zvPTo4hL=LvIj@-0 zASMe~vAf}AfV%k+oL>)TA-w#DcCOBJSZzv=fhmy$*V+Mh<(13eRmcKU<$&A#lR(_C zp9JC-xdGj15^~Rd5{SF!lR!KoVL)RhArCzm&CFmlE5B`E7;VWL zZNauDE4q|SIw6rFNk6|&y~$dOjNUL0%3AV>tH*T2f4+a>T8|lP(Ne8P_R+5Z?ZZUx zMa{noea1-9Q2CDHLFja`9zRrB3!s@tw^f?m|w813Lcz&qDBSS+e>LOil=dmcRU&#quIZ%1$_E2o0Jjvc`q zsV6Kd(55#aA)gR&rDxPIh7L?XTP6i4aDp$|L}&~H4O7_`vExwb!ZT7_QNrPb28TMZ6!XF(6UZG)I4`Uas=aj`Zy(@EDEXam zZ=`V|Hh;PpTuM5{2(LtH>OIH0cVL#pKdlqtsm>ZuxmWH*?Ffe^{3C|%1>k2m&mycP-ib10+n3 zn$+mia0y4sZUlce-*r$GK`VH*Kwu>_5Kwt70#Zov0B~Cb5Rde$#~|Z{G9FWP8wWp& zs>;#nPaTK5lWHl!3XI1)xmRLNLw++?xX}(^uE5byb;I|e^Ml1Lz^c+kp>jr#4n}^R z%uia)RGS;y(*A8=#L#pQN#pF$OQ&OdnwlS>`_HeLE}q{@r(@+z&5zLi=hsXZ&+nzv zvFfMhN9g|ZYo?3m_tNQLZJs7SLie9vGhIBt{iVZb0eyLWYkm&q!x?)wp~x>QTN=rs zma}G)(@B0WBORt;$nT!k{1TcUp~$aiy8I@mll)$Gx;IRlAEEotubD2M-~Q4aA?3s2 zhj{(9YxxL8e%KzB*N44pW&0x{gX zv*MTya1HAR*8+@%;>4^n3eeq#b?|k7z_}idSc>YGAd$q>0Lo9a)i*|f-3D-J1OPXJ zaajZaGv3zvCIpknw@ntCM>F3W5W#H5;d1W5q1BN)0%9*i-)dpp^@CR--mYy20S@Sr z1jD#@AmT0S=o^kc5ZZfkbA)`lgM$- zQpYee_UgfXN?V;=zI$ zz!?~lqwR6?b)%Gv{}}%Qbt)KI05zl#HrJ)t$lDBN$3``}7A3+ptRBVum8tclH z-&jHnFq0AzqG+RaCQ$}8-%u7|!kN+wWho{AV<43^kEYRuoJ58nrO0~0ALU!$$x2Wp zm9zTmC@0%I1*&%YtDztK(|8dVmt%%Lny|N6{W)WvWrwQ}nZTotMA|jxh)q3PJep^Z zvQgU=MbV>G+Eb?=Iz;=_w~+sFs6Vyymye8D^1ULCY&{Mk?c4z#?U05>^Kj=+pF^Ek zu2}FplDulP40z8fk^IoAm?^)NN>2-wy{GSk#GIi+RMW&7mx1lp7DJXMN8tO&PHeY! z{BDIE+(!9nzl!%n1MrR4zWNV|Z2s%5`PW4L`>i=2jclR`v85ePJ+55=;grt_&~V)< z)<7_+RbPpf&VU%!0Dr?jf+57!ZJuwqXF zD>e4w1E~IFc%@`1tCjCUqM716BWOIpB4*D_+At^PNh9~~!%WyJcP#)O#Kil|uafj|jVq_&d*wg!#hcthw@D2Q~Z9Al+XHOkkCvt5oT65cLIXbJJ0fsyfV zpx=lV)%tf7(P>ew9&Q=q##((InUZeMtnjk!#q$+__ffxw-1$0;5?|@NZfyY)43v8p zyLkEKCYtH)1p5QoWStQ>DR~ITNdr5 zJ!o$Z$0nX5#uzMRre2yi_SXrKB@<5`j)7s0|<_7-?7dF?y11VArG~?y`GXR7Lp>;n32Ah`z_NM z>do%ylY4Q$BkFV`8-16x;|~?`-|Q)T-YLyb;LdE! z_J&=3Yzm{vVNT{2crg(-F?k?}Q0NV9Tt7tqry>8~9;yxG{RX&bjqtq@zTC1J4q^pw zf|qUf&2Z7W&q8{RIBqA};R3))MBTplTw#ls92v z;O4n^j2|54OC@!~k4G~DPO)U%MGGcIG!)CEfTvJ&x145VcDJSVvCXuKgr|}rk>E(=V7oO=&F$T<#IJaBtRKQTLpN}G^AVgA zbpxljSKw|9<5vWxccKl-fZLG*XCG^lFbwUx<;!t5=w{SPxgCXT%}6DgY}n_qSvoj!~5uA=Wf#W5?s5 zIy^W;MXZz>AD7}yf+46e)ChwsmplVyXK@i9$bgX-ho!3bGoKJ}^skr$;d%4*5Mud5 z@#d!#HJjmIK^ruuPR%~8IUTPikTkylP&Bq#+?AmzRxi1OF$U6MibB}UJSS$2q6;=T z%iCxQrzzE2`D)~3*T_`)K$9TAdeM``586b6MojcGuRz(hErmJ~HMi`H{o!6n+!erW ziXuH#6iO;T5|hZPl-!+c_DN833ZGvGDAp#0CM-^ zKzJtH*G2dPgCxV~FFP+rJ>iS<*ke0pf5}5qLVn#T{+2_UhS(B97Oh%XIlF9d8;J95*aO zCx()|3<8h4YYAd7>7MB%!-s*{h}n-`X;P$gIg&{WX_y^TtSw&WJ}%IOYQ=2}$V(sUZ_glTGYjkYj{-)|@u z9=B^(GE-EH?4!uJ1NEA5@gb^iPOKyBU)dMX4skZ*XJ&11d3p*1i+PZN*Vi3+J%M+& z6FZ9#Qv8l~F4_vWom7B!?UoXG4)|v0`-hWvzH=DxbuM+7b>Mm(@5#q8;Nu+WlVbCU z9EOVTp=ao@al_mY*Z2QrHbLTe|9=@uqU)qw{0?}=I&euepGe4uSk{5QtUu&6G%tt8 zCUjlA2YJY&$=uiYN61iiB*X*2eGx!B0K6pvh)2h%&x3!=>3BX!_Tup!lSd$ps)sFx zfd%18>@*Mb${w_5wtMB|US&MmRHXtyd7uzHVf!;@!1zf{ zLzK}gTxf^yLV${w5AaSPPP80_--4GfY*t1eMKm_uc{BmL^s@U3d9i<52=_e5P4TXy zw4CrVI{EMlI2bO1cOx}wCVVH|RhSRO@<4TbE2<9h0Pt@SKs*4TeiL%~n;zY&qR*US z1H$Jb1bP&Kz9z!AiNL)$@gT)B5kNcuKmlau@(afOPJ|#HAYjU^B*X*2cO!s!0D!71 zhIjygmMcI!0DPGMxL+~ulXOLnr$CP9LyitMGzrb11->6@jh=t2BiWsId(RLC0 z7pG2Kc@Y72VZ3*5$DTe$KL0u`eL`O@ed6w${!`P^C-mjgC$2p4FfISzoR&VJFPA=X z_d#FeelXZ|c$#T0qJCf-e?fMGm> ze!c1a2EAh|@eq)-JL6@Gvjf~%#PBElOt{}e&!A>`^bwe$3U5=ux#0c4v*q(A!9UZR z557Pr7kmj$;ZeKB%uC%)Zh03rwi#g0<}K%2CK7Z)bVeRA$y)=Hffy!(2J;p}iz13) zFgOW=l8a$5XfXJWXB=m8~0ej5s__jqXnywPf=nxkz?8SY5fGB zK(Y{{uD2XUm&Xx+jh!$j!~p6QBD7D&(LSbVgc-E8P8ebYcEVTUSJuVRI@W2ktWn4` zhc9&CEa(ypYtNF_nJ8y|2QZOC?Qm zYbrb&MAvT#9|Px85`U$U|8p(*voXf3U6Q0MwXU-5@hTyYW`JxcXWtagq z)B_Wrh7P!lX@t=2umZvlAopCRh({_I%!TM^yi|T9lS(fCrCk$2G*K9gp}0hO8n6-u zU%I*QgGlZ!pP|9L1d~fT@x_qphY(X2q-?5qMlPE!u2w8O_L2@hjM#Ed6Ck^x!AAgX z!URd=?&G@@d;%u9{8K)d<=t|3`Fl;pV19yUNQwt{durpw6oc8~u@$O09O}H#f}iyQ zM9f&c@{^dLd+`bSj5c$Q-N=faYaVa0poZ}3>pDcUt_Ic`IYrT&iy=Cf%?w|Gc9g>_ zBxl3Lt?+<4nC-H0@te(wFOi5o&K|<65tP5*2?*PRHV3@yKy{U9%HGca(u_6*%YYo^ zC%Ytgl?KC!6%`)W#%GGsEoL`?JLL_MUX=Hs=g)Lx=MAwlRVfEk-F{B?)Bq7pREX%N zFZvrXES0GMPnSp(iV_^Umx--$bbv%T*k7<$sP&#;Zx+xy?<`Nf) zXNGLB#0s^r9F`|vTu{Q35g@&@Ak9g0g!ENh2SC-ir%pRlbLQho**m0GGx+#M@yKqwRmANg z3vk(v$th<^BhouJu}~)TrPv)EVY`ZumVY#vb%k0>nRT8BbQiaGIG9D$A}sBheM~-O z8fK7|e^h(e&h7;Ep+1c|QN=Ul0Q-!QiNcO z3aadl$|D2_+=T$&97yQ11O}28IBwb{)Td7tB;@)hXx@WF%akU)NOY&ryjufw49yrM zE&Y+wB)HBW2Qx`-d}AnrouJ)1qut^gn2j+e*n_(7NFI-&$0{HW)oSg;&rfZH?cfQ- za$kzJnw5|$&aw!|4!({U9@}_7G6BbQVBAqmgpF}$)$NkzGeBPXDtKW?Re4jkN~;st z9|d{Q48&9RIOBtPkK4OpR7W3G=4tR1Z$#FNu-Bo33$Pl(oE-*2X6h&K;E)`Kz{Fcm zLn!0Q;mTuCZX78fd&BTfVlP5{x$I5B-xqr{YBE#box~nQ{x!fUlbFZ_WCu?oCSzo6 zBoC1*rjb1CX_G~+x~+6smGQ!`E+A{n?I~*`eC_t8NuY=$I_^yoc`_1ta#EQh#*G#| z1Z1z+dvGVMny;LOf)Fk#MYxyzI{$}B&76t|McPV}e2b})CYQx+b z`ASPc6KKeVMD|~8YE)^q)wl#(8`DeGY`mGZ&02aD+P>SZkD!zn z#`;z#_%V3I2w9*LJceKFO<*duQfDeUwwOL=B;(-i8tMJ=u@+_rm}9u%Rp{Bw{7U9g zoM|rqxRT<$p+QP2yc4fJOFx^|?lUiqbt);QR8z{wxv3y44Ga`K?{GR){vs(02MDl@ zmv%mmOv?w^!RG;iVSvZXfIT;9Oka)QzaSp1N*6IQ!1NBLZSl+=+5tkaVtBID9W)MA_Q|ScFT7ym7AZN5DQ%i?Vq)cIyggm1*?<>i90ytIHfPC@Upr1vE0O~)UT|2&pl?H1o?*arvD=EHyX>mb@@4^$A1b=SlXTEqji2mq-GI%? zq%2&vrq*xK<%J9Kcum-?ZUu(SunQlAcKi_pp~@FPcY+L};lGIfF7>~j{+aOe35gw) z539;NG=N8yFv55t3xgXW5^zFN!Tkh{V!@hGB-)5#p_);W#{)LE*Kp2z4&tz%&rSdi zn|_F1gU?0%8GgBMvIerejIwmN7w0+Q`Ct`7TBJfk5cTcCa^SwDH$ zXa`>=apBkwz5;*P%?P|F^&hPGOBq<90X=KbhzeVxcEnRvTcUQxqjt4KT^*0w)DpGX zM7=;ZjF@W-G{h{S(1_VY88K^=5wnRBF{4~UkRNkoxs>2}3`J4=m}4{Q74aw@M{h>) zSrt|(h7pf@4UCe26JonTdX}GnU#L%wu6d^g4-GfPD}8=LywdSUl9%4U5hX)F#9@?5 znU7LQxuR4WC8;oyV6@i<#x~Of0LCN*Tuu+?QXzDTe|CU53e@o5P=XMXPUwb|k6Slm zhhcX)#JD)En%0>oUfGg!Ddq_YRbX>GrB019dW>yk5rp(}N!#SDS;?-}wr19{pM?3b z=ZFOW1^^4Y@zyW!e*Y0){{Vn0y8%{a%GbRg-VMc zboi{lGfSq7vZR>)7g?gu|38(|WZx9=OO~>@{r@7>Y4U5xZy&OD>e60BCr&_d`3HT$ z+zEZ$W$5Ed7z$Oh8472kDLL}i6(dMpL*W=A(3@{&4}Lh?+oN{y6l+sb%K={P=QNc8 zTuaQ2NY{MRuX-g($ir4>d_P4Fp@nmsm{Ul=3EL1dqkM!g!EbUuV6Yi*f|D_N$PqoRsLVOw^$IwLCTphpqtYa*bj=$At1X>jAz8Ej(x zl31LhhzA+}DguZHfL})d@c{6f2p}E+{wo5A2Y}y30P%dyuJ%A;cv>b&Cm*Ka)F~Ca z@2?4rG_6EF4d>HpyH_YJu|N8Mg%C}kOM;r#rx`SA7WP;;4wLN58$>$~;`_F`Dw1IFXfKLb8AIc*L-0Hd1Z=aJ75m@Sd%dK66iXS(() zQ7m#2Ijr-;Rj3GEkMF|1U^~9HiX9MqTDL}wR1RzIj{^g%IZEhIc(t`-0Xhx{&k9JD zYQcx_9Z{*;#IkZr#L{L2Ufbs_tRn2N*df4m2ETpT&5ew3b72eU_6}W)4;>=&Z$jO9 zHX*lct)I@~0*7G>CWrkp7GnyZ=*4%+vmWyBBu%HBC|7C2MABNaNOpgRxXs!0U2PXU z-R9t&v7AkZsN~H-JNPxGRVx36Zbr*x92AiTFY|lV8rC1wPsWVn;PMY$hnd^+3B-U? zQ}pWi9*!GS)W3s%&PxHW(9ek|{5$EFnI{*y_}B^-rB6eo0Y?;>do!;g=(r=2oyuW{ zGfAb9fb*+YV8(C-(sdAU$1w3=ru%IOL#!&#(1Y3fci_sEsKT$!;qrUX z5eNScFbpOiqw?t!U4LMgD(H5N{_qC&;$|6!I(2yNPu}Y^Z=S|p*ThBL*n_7JAt7x@ z9EdoU@w7m!u=0wqS&uD%&ioD6Sp0RP|3 z0@Az>vM}%D!r@v1!23WuT%sBL6aAcDdHSX(SiBvf<`Zzm-k$19*=q-4D3->m-$b3SEmuB_8nYkkhf^^ZlXPoso(q7YNT2Xe&@H_mkbisBy~%^`5}R%?x$m- zI;p>qL5g#+PD7{)LRmb+$gUFG@O$7anbBxyHb(L>7ybW0t5gX`K4AZiz^ zS2pfCFUJ&E-YVwmDk&Y5Tp5%J`>a$9!pXHfUu+0m2m-ikox#(gjSj^erhZe))o#5z zHOC5HtM~mlrvFXG^dEwsfKM1>C!;6e)gU`j{}bAwd1D;~mPOx{c8$>RJYeJp(R$eG z`8^1E)$K2clEFqiSnT{Y0*D8IzeND?0Ptr5*v1cr+^!P2)d|xWkqr!a-MozSF67zl zO0{p$dw-HnNSOru+=li@GDqo+Xt&^?uX6O!=P3V9=3kpY_OW-44!}$RcQFXv|J{gY zx@%EEJNK0iWAHnvL}U1NOMCDxcp==k(Mbevr_&xh!uSH>@!2BQ3HkF;hV3FBZaob^ z+1%h!Mgq?GJlw7r|5NVc1o%RbObKwBTx&@@sDnfV5Dz+$_W`qK!r@jxJL68UgZBUw z-pJvKt&JAo1_TFm2x>v%JaZD#RRl%W!OyUFZ&(Mh&C!g)c33P5J2b+y8}TTfhzvJ1 zn`B@wCa!*tgEDE@Ol0GYAFt*H98~FBD9ua1=ikJ-nv`#}!*?TH8H?&Cp!MO`2sC~G z__DSlpc^8B6Y8F-34C=r8nEIuXmCe+Dh=HzGc>pbhw|d9FkmG3cl_XntY*qvCdwCW zemS{$VAo!R*79pDsw3yZEmKD{3HtHii=g4jd!l&R&?#qIX#5DJDE9GtFZjGYq$kA| z@=7`UF%a-xNE<8XnQ0k`C6WX2`BB4}g*4H3WMIdb%-5G=d>!PJ7scqryb(!Zbb()qlq#mL97LowtIH_8$t z!6cdhZ2cSAS_bl5r8U9NG{CU>HNoF$fWO0b(GxrdK(x83Gh8eIK1Ef%hAnFxxtel!wV(mzW(!jU#Z^-z{rKqZ!bfa z*?6kxsMs~1j^eBsB|KMv6SPl(lp*uuy@h>{nSNzM$o--{2pe4s?f z+>BLNp<^!TUjX{A1byD;iRF7!35|@`uMPlMc2NENC3*d{L8Yc7Lgawq_yH5BEczKjT=00;Hga|70 zpB+FcF4bYE6qw=YCX6v9gC7IQmmfl=&|FlEt%W2H;WUL5xG7|_4oakL6ZI7a>s zZiV__hi3xph<KrEijT~D}AprqX!Ow#wygi0rDMPz;HPT^?jP%eiQ*$H7Jf(4iBGricU30iSrAY!t+V##1qay5a1ma%q{Z+r<4aWcvAT=YD_ClM^oj2%dl(&8{P;9_|A0}*EF^wk~Y z%j80VqM6< zqHQ|^9ilx+(InQ*Qrm(qTD#Z|`Z@>O`TeouRiuscUx#V~f+?>xdkl(mQkqdW9vq{v z#a0n~7d|{rB~O^JgMTX+UU@&*g#T@9g}=fNc#~$yaTgakuf#l~F)H$cL1_f%!ha7+ z*;IE*NWi+AHk&BvVg|rpBdO$=b<^2ow=3t;{3MQ~xgxrY@UkX|v@*7LDRNqmnlIlm z`9ddGMA%c6m62$Q`6y0Qk9F&s-|Jm5o>Te&3WW9-%^%pk&}bsF_UMEjpAM&bHp0#< ze4EG;L1I4+59Npqn08rPA?b{CBy%{g*o5Xs+2J*iaLwGzC6Y}wD7(A?Rs5jh#Ue1d z@a=T0{L+?qpY00N`8DLd##ues=EG=QC4f37<(YhEvXtP7O+3#=$MB$)HQa&ZroLEJ zqKv%8u@Wr`HZ_?I_u;|}2QOF79GE~(KBF=GS)k>z$z%zeH!_y^$pLJ>;7xrrQUh`Y z)ufvguXOoEj#TMtps=r2N0* zi&8OT+<*zsfuuOuH43%rXZ-GO>m}iwE}M>-2f3ioEAW2-gtrd=Gw|~dU&ebDgwXx` z25P`IZA%{p`-1OO@4_(0`-XbBDR?h2O_zQvM?kKsBfxD0L~Ci(5p6CB&Oxo~NXxDf z7TXAC5ItKbp?jG2=lr=HKZ~XF9+W}nzmcU=S_V68h$R6GTDj$maNyaIO~ECz@$e3I z+5QWxOS7(i1vmlIU?vjS9G`1lWTg>;%~xJ1$2Ob0P8v9MCbk2Y9VqM?Jq9 zLicZ5Yo>$lH*9M!oo@ED`4PJR{F>?F`AwfL!TEsvnHJMHv&b!?I+t0|DKI_$RhOB& zIT&U@?3B#*+aOc1*6>UcjM`}Z_tHrO&qLC%4!%GKUx5Az>vWJ-#Gc@9^h4GO45X2r z5XTK7L*WFYG5weC+66B%wA|K!#Rh>i*`-PAUi3Y?MIYGkWys<%8x7Qaa1z(K0U7A1 zv*jl1Y_Y=^AekNf25{-$OF8W_e#tIFOop@u7JFhHNdtMwoq3aYl?L0T_(Pp6QQZERdj|Fx^nL-SD47zpTd+h%WIsr{T%@1Su1?hlQQ% z?7s9J=qB3+a!M;oiO*bD{s{+k@PTXKlG9)jY6)Mst~@N@IoMMEEqb7b2Id;Xc`1W3 z-=M%$soD3Agv|b-;CDzMk}YEPTBC3!g!v>ZMCPBPs4KNi`~&hcN2zSP5NqiFH-iP} ztKDFsRX9a$7Hq>!`?9vhN%m#*;SW+vwSyIXil@=`G${=_i@7Wodn@q(FfRg#N9aH% za4|Q=Ihu)CGV-vWnIB<_2eSMXM94mF0U~6tl2{DDeW}X?d+ln4vL`y8F5}24NwEON zcgEwd_M6)VY8^wH5;RA@&P3bTPrxheM^G@ajh!4bih0HPvA4VNq?ud?c^#U&9li&@ z#)S0!=OD>_zvF#O%s7TubK?~CCGMU$vFG=mJLUZwWo^#T;j!=1Wr{txX81jba3D?v zuC+~uv{QW z*Y*I|JnygJI)TPe`JVXuq!66)*lmq&RUV7_!v1Q-DbTZU}Hb* zi8a9iC}U(yz8W4*UY+pG=({=GsIM+eqJB6g;YcR!G2HwA1#s;eBZ(_Qzy~k`Jnrls zf~62$hVjs-y8>alSi8{CNGzD-X$pubf+RO&Qee!oT7@Xuf^8f;2JV)JHBTqph)`N~ zrPE?9N$EB4t?RewEp9P=$jylGos|2&(rGfJrhx^iC#ORNFN*3*JOB(t0Pz5@I0A?V zfP*4{cmN0@fOw(~5)s(?kZJak2thoEfC)miL_7d2ivZ%0xg7LN{;IzQ^W*3#6Jz|T zyc45d<#GIke?x@Ao+0elt+1X9U`z26!&^_-_Ey*!VfVDc9w6+)5e!?^)fK3cI?H3e zx+3#|;7CBRA60phs4#eY<;8a8g+^euT}gFDF&Vou90jn8EoJ;UN;nRkb9P~*<%6&5 zF|&d4mCjao7dk1sbi4*61{(q^lDjSixSUGv+Q{g|iST?#qOuXxWw}u9HjqjLDPhyj zQDQ4#0LMzg%NQIo*qVx5>axR2$+LDtlA3vz7MawYCN;}yaMNR}ARfU@1dphFyY<-U=@R} zS3d@uXBc^fL~yJU;Q9jnxOF4b-)YhhBE9R>m(ZDT?;?TUgFr|1VbIK^dd*bpDT+Nf z6VeO+8_}3+Jq0sk98y1$+wr1h^iAFBQVWWuFjK=$6*L)^r2tOoi3KH&)mo2KCja4~lO z50T#v3VdKR_#;A)<4K6)lv_3OWQHW~Pk`3Vk~a}?Zc0+ONBMOmE4MZ(y0cmAOmTfO zI2u&SCrYW4P^RC5zY^Yx=$It0YNCvPqcp(-f_^3q3Q_xNoX(rVZ zJV{!xC#IC4L~uIt>O?sxwY1@qWlR@VIZz#u=qW7K=2*Qu`Gkm4MJMI`CdzvY%G+eg z4$-H3D?fq=*p|XSfgK(|A4;a~3;&D&Y*PoO@7$6fnxD?y7ybp1r#J%_eNa9Vd9P@m zMZ0s$@~^n1ZMN23@K<2Vmr>+NSiC4vd5F@4Il~KK0FcMvN{7H&%cdE6I1NqXRB5gc zt4;VPz$l_(sl$X|eZ(!|@NY;tz>ib>37r7!coPU~8)+AN&1+D;1kaq<;VHoIbf2!I zpO-}uf5Xg}BdquI2lJ5$Y^2FlcoCEqb^bWHJQPuA!Nf=hFbcu=>Ej59kKEWweY~~E zE@CH4&}}rXF-IDk+JIU%nK5iLsoRsqcN7*NBc8D??ebIM1;{Il_nazUL~h|`WK-%) zp!{B5mLH7D-vN677CU`Q?&s%Gyle;FO)C!KAT_!2JN(Rj%2^VRpLL*;MwfK>Nko$| zkTOqyF>3kOiajPBF61F~lrR}9Qj`?CPeK7FwS(^fmqn8!MTevF5_<OxS74##m{~rQu+06zvvsTVji+H*u7}G?C)xqW-sZdEUU4pL zfLyBV8bKj3^uiE6m`vv6Fc+d^#qumxEG_SQqrvK&yUz+v)HMm3@^N5>=ht`??)R95 zCc+Z{(Zg=guGM6o>r?RnaC8I^4*}11O$xoaa`oS z%xh838ER#~ZDkC2UNMO^nS4E{czL!IJ{v3<>&l@4210rz}&zO8`;5j{E96ba}fEns~BN zYSX76^)8SB>;Ya9m$+M*RUS`6>)B*-#!FJ}CVgA>69ySeDZ$e#3!C(VYX(BHo8*gY zG7q{CGTA8YlP7Gkw&ICh^KzKsZ`s^#e6WNoWV?1MO0Ztx8)Db&bBaUScI`C9VPJzS zms9N2PX|<*op=B^BLavAfHNb2cmOyn0*D9w4XX|FF(*jFgHJ?*Rdz#TblDB@_5$-d zo(XADr$ zN;oxk8}MO+x*xpiA&gD3sbjzoG{9R3c7l10*l81A)`$kpX5uRVM*Z6SzLVTB;FjOj zpv@gmy4rW_K^-CDT1G5Vw;ACs11_VQAkVBLTIpVI=+bTWNuayi(52gq5W20Ph;G6< z7W|e)A3fG_KBRbUJ2&9fDPXtGW@X#?0WWwpsJg+;_?>jVEjrl7@^1&d*G$=Tn; z>fQ+sW;JP-Flg^S5t(b-)H^^y2g|yf-NRI{c0WjU^0d*?6-`Nn!7n(7dG0<1sdOJ* z+B-UG>voaH;)dpg7|77{YwXmpCA@l&{9*NhSP z6pMDav{8yR%e)~)89`!FfKgMRvrG${i?N|==~nE*k1$7i3+70{HKgZ+_tSr! z`X8jfrvA6lUl+gF_e7UqYqg*xlgCpXX!J{?Ml>_cG(|>{3A@}!E61NaeaxQmAjFJX3JeDvV_eiRe{B(oC~1r%Cp}- zx^BvFZrTp8rR>Dk(%_0Mu<4J@2I4&P_AR+J6k?MR9G)G`Cb5Gr4~@aWsSH>LMzMrz zm$_h_T8Lv4q|S9Cw$yPpVhVn|t0yYbC)fL_4f1+=Jd)*8!ff6uFe53aPj^qx zOvo(h$z~=5CqB-SkOYAM5*8N>sEB|wVN(PY0z5baDs&nVcP^mfj-rUd#SInr4G}lI z*9G?-6nETlz4vN(zrS

F4R5$#VU_ck)R;r%s(ZRduTB)OM-^OWBCZKD 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 diff --git a/External tools/Myra.1.0.3.213/XNAssets.dll b/External tools/Myra.1.0.3.213/XNAssets.dll deleted file mode 100644 index ea84f697b8fedbf2a58985fad33ba12ae1149ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94208 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

(T5(Jf&*DGXj%!b2wG~SH`Teu zGH5kzJ4U)9)GsMd8J9G-I*H*djYM;}y}!Gg^fNNEZLW%>vc-#F%Y-mW(G!F45{yb{ zTp3TRc|c9qdd6W@D1m0wnm{An6i=+rIG_(_fJ#R=u`trv8IEP-Et^x}SQ7hW8IhSh z>UJk#bM&x|i(+aI6po?jFfCYU{fS6w%kprdHXhPX;nVwkR6eAjk++O>>khVTWvHE}3yR^S(TRO~sDXa0dz?6x)(< z(8B`DQ<3&a6xq&l#bD961x+k_Ba6EP*CaJ)bT!3mqd|dBFev8W?#VTU`y=-6f- zG9hiyV3bXg6OA_NaSQfBdm|~5p>bf0$>5dY-Z;d);aZ;?i70?;R10qax z2!u0+9mZu{VljIBBJ4zL22Y!59r18i7xr1>$z)3m(|Ncpg@zzb?}~Kk;=>fGxe(06 zco!!Qwu^`pQ4x|ksab4?>0P(3XsBBWkCx=1+C$1HE8C_syfxCj6#?iy#x&04P)FDS z3nkXy$KJFEQ=2J>CnDW~W?Jl(h~9243cZ-+Ixu-Xl&KJ-+s4v`%%@iy|v@1>2of@u+Ylf!R zmEk0>E*p{=WzAtPFsTC2d22>}Q+TQbQ6`$hmL~x^Zfy1c-khjEf<2g;oJnb%EasQnyFM&q0M%m8>-fQwFX zOXEvIn-vQyS}~hw=OCThz7Q5AW|o+z#=e+0rnNY|#!yWOhNos=$tF*ZP++N0BBfY1 zHMPf{im2M}4o0#h$_$Ml*XzSHGSbk2l@q$d=_0i$9;5}6Xh?2}bu?iYk`Zl3GLwoo z^@QQ9tAO{v@!S(5C5=ni{^p%z?W}t-tsREQmGx*AW44b-XGcn_QYkcrVr}7YI<{DM zM^Arjy;u_IKzEOKrApVtLZ#{HP%MeZ;tSBwvP3GK?Y*JodW_4wzqoJ#e!wRb<&8{} zUxJMEKo*6WK=n_>8RXqh49?s#uwtiu9j;oFrzB=?>#*Yx0cm8mcGx`&l55uH4m)RK za?jr1VTBh6iKLf$zD^r#!ZBx>Y`AY@Z zhedi+q{CNm%~F~)Q_0fKXw)1HV0!S)G4<`C!WZbR7P`@6>KJeH=52~x;Xcj|Y6P^=7nu>SEsaR;;Mb@=YRxYz@WyUPb zX0%z@rtt)06)!z&ijXG-`4mG2QblIDs_m4FGZ_+D&h*5GAzDe67^4VnX|d!8gKcR; ze`h3)7KnNh^z^q+rzg2S(kI9m3L@z+rMiO2o_Ie!NyNh}t%H>nKjO-kVNu)LN2Y2A zZq!Gqz_|}HLz2usG|RIfbvBxWFm`WHOs1^JC%f@9#X)1!nnR#_3RinyA8J``Pqkrd z7E(Ufk)EXc@yke?p`#viV@qIzNNrGCOE7SQF>Eo>y$d%^I>Jy%CnmkakRBRo`xg&= z6S`@U9TaAO5l{oN!%aDzJx~jCWonu=&$BO^rbFe4cn2oqU>B_uwRNh!P<`v!SH-D{ zi5kt2AhI{(hB#pVj2;xD6%7${8PnW6RE+fsr-X+@?E#&NGOO1a70s%>bFpcb_JlO6 zx}FKRzhl?8LoWa^BBgjj(h7}BXhC9X_hD6v=L%^-VdO*D`FR9w8aL9Ii$qa2 zXzxNjjo=#0f-sEIPI|r##_3?2n48`!orhBmS*uYoSMQw;lk=i)n3R@4!-QEg=y11C zGIgjhh{>%_t%g;#XRltc&cU|%aC!PsxK_Y9Lsq0U5_!=3?fPgQ=3{JqBt$So_JE1f z8({Rbmz?SGu#Srk7jRqX4JBZb==Mkjt_7Id*>XYCpuG}|eK^d64Kl8jLmmUE?mzU= z5M)Ch6|uk8Ay0?c+aV$@TN3-Kveb0O1{Y3jWF6QOWD(#v7QB_xWChAMHMoQm z2sxHop2Coa3p1K7w$s}qp`>VNPl^z(Bh54BLl`qf&5=-dES|*tkyQPaMunv6tBOSy zX>z4Tn82|WAeE3IvksPRc(R@}Lp9g5>?z*Y7EaKE_hHU76`{}*X?L~P2J-+X(@32k z($HfWGg6v)=%Avx+M&geN;p4(Q3Ei?(7-@5h zbKKOQ#8cfY8BHLWrbC-k%G*h_T&O!KqUzR-#%DeS<e^{5IU<VR~FD7vl_gfo!f8#AhnF`(WKad z=Q`Z%Xvk2Uns1U=UUuUVU^t;SF4JQ5tY%?23KKNrmxmkGY}2EUa#j2LI1iAq{?I%0 zLMD_#(VNG>)pl@Fn9DMBXj*AwO{iNu#;d5pROVR@Y!*^|vJ9O?8|bD@tWuI?wPze) zVfEvY36j^_ho>GfM20epC$g~WZuGQJZG}-E(5f&#;GtzRN(#LtJw-2%_9q3l5H?2Q zU^XTNM&HmD3OR=JK%%XmJ2F~-FOUizgFSWVpxT?p$!b~*uyG)kwV#f5LHikWQ+?9x z=vnof9?&pkm7>jt&7iq-(ET8wGExumxi4r|_d(iv(ULen=qK~l^u-N?fYdEe z#Djf_-M;%Aurmxu$A5c-JM0gWVY^6OI z#bPj_5#z9nQ$3o9CYWzH>k6Xcqs2C6O%u{$I}4J*mj!v;$ilQt%7V1`Vu&_GCIY?4 zBFN&862nbDz2L+iHXf~`Go&TFPpoB>DS-=?1vWi5hL^(HG+Q8zO}rt;3|RmTNoG}s zD9PNBW2DEkxSFX@Iw=yRM^{E0^-lVx^iKLFQv(aR>~k5gd`%~cgZ2)xMCpBqESb3% zktH$Or-{DJ{H(4us#FE zCOyk~uo_X^M&{bF?}bNA+#=N>CvI(;#e{`pPk6G>MK^xOsd0;0JlgKt!r^Y=RFE5` zVhg82xzNLjEu4xiY7C-@k0as3Q)(i__`?s;&{p{EGOR$|%D zb^5j-As{p`D`SSUJ1pSzW{H5sh*1t@)fZ&L5f595UlgOkn;yNU?VeIHAW3kD@u#1W zE=#oZ_Q4fX7ECZOJ;|+jU(eBkZv?ao;lq7rC5yj7)1fPB>n|N6na?J;rEe+FOK&_N!}%TfqM~K1YvH3Mik!$>jXAK zZO6NfeF(+Gz0gS_9Z9^Td1#6v2r0xd1Q0rMMsZp2QNVOw7T`@v(e7 zn`1~L#Rko3y+E)~Ih1Z4Zj{|9HzB;gORN*4@Cxr2CFO@Og4ge)Nl~@9`!+Af( zOiwe~!Xmh;)QB+|`3k)Fl2upZhP$NmU6gTK$i8|I3$?tVaW$d!F3H4|PD2CQ@bZkj z=+IIelJYrbTx|%g4Zf&E@h}4vd)v6EbVx>_q|i4G)z>*q%bP_Le3+%4(QgDuGN$VLtHcT*6+fjFUkJ%U=y6#ku@vJ%x-DeYs*(>$Z@Q% zn68IRczq}d>Mhi7x`miTX`tGnTB7=)oCi>I5wumDzo1@FG<2*9pdV15);)GyFMJWA zzDe~MKyDV|t?ZTPduD!3Nje|X%JD9E1+FSwb-2p${Kx)C4nB zvldj(qZ*c!M6X=cmhI5W#- zW{%~^U9%A5HX-HI`>4%rL>{QLa7F+UF)iDT!lluY#tU=IE*V zF^#o2-p4r=Q-+2aM_A;8+AQ6v=FqQ)wIC{8HJ5P8ywtK1_(yRP0wc?JlYVw&q-_t;2@#s+k{8-l2if*wqCc8iRz(Y&*i$ z4*yYH6p})09i`s4<^%OV%9KFVzpVA1W`laYmZ;oy6>B@?s=~ zLpC2tOfF(&tJ-O1{G~dhbVQJc2sor=_J5@fOMF|7TC>>$&%kU< zh`!5p24?BAuy#-yB`hIV#gUuhDoLxr3}-t0k=6{X%ZP9U{$c)NW{uIdqN?mbn=1scov7UX0L98+esz zPmIa9FM%tSFZEOO&s?>_qShvgs4e0hYt$e0vLt4=FlIF3;W{o8#!BEM;)&|{PFV1H z>lvy()H(s@IiN%9h>R~PX{rOcnnte7D5=Io%3mhT0IY<=<;a}nGAjf#RAIqbX~9S3 zE%UHs{od6pcfS6s2j}1Rz#oj`H(h?Eumps(2BdV_Kzt*K^)Op+4;a$l3%T$Q3_3>o z2QHSr>Ez_^g(rg~cS2$f;A3786q4W(=_|2QKm)G>u9E(N&-DFi8)1(|Pgopsv{lH_ zPI&i9hr{Bvd2KmXhxAIP!|G(@a2Q_MQe>kzy%O4Tw4D^82T2Y-NH%&j1>$rfG^a6M zz`K8h6JN#}U1W1QT@D24bUOVb><+`f+CPHAL1^%h??i%~j)0Mq;~OjnpW_HvoaBjo z<38GHM=D%SXQ^YV*XE)>4hsrS-@v_e%l@-DT`ok1q&blFdyz^fvY>7bkHhKAB}e*~ zo9lE~d;|9*n{Edjl+aOAb@4d;jy%ejj@j!QxWnmjlu-&1vAJ>`95xf5BTq+V_uAp^wNG(O zaC+&VjRh3IVg9B&CX#Z-C5s=zx{y@*^V*Mb_?RoQd6fjIg|$d%JSu#?^3fK;Py zxslkonw(CSIcGS=kPcOq*J~^C5A1@sT~xxv!l(Z8+E6T9Qx6w8MnWHdI%0~JJlKdj zMmdlmh&b1v96BO!SdkoxCe1lee;hCTI#DSut-vuBISMFl3NalO+|Zg}k;}0p90#*z!D1?AS%3T2g1^kG(wB|@(Rh1*p)aQFv z%>IGv`TroOugV{x+jJs4I{F8YcH}yQVuBEn1B3|-Mkt$35Az#5;~nVaKcc~allD^@ z>W~%ZNZ-IM;O&SOGK_{69==iF!hot_chcbPR4FFi0%2Evtab#Liv}D(ks=))cs4vV zKn76e4#RNTsSff{-A*n(r^kcvNX=rtaHiqO z;t*D}hQdNj8U9`e8bz;faL|F|`g{GoNVdmQgtlTKol=Y#bsV8@;KCtyi$*WwPSY3u z4O~d|{=DJw*Aeqm4B;25qP3X#Wu<|(LXEa?^jQ4ZG8)vyNFjXa+w+)$#!Fj{0X5ZB z?xcc8D@BRe0~U$yOUWMmk-rz8_-2p(!5!{=nF+?01NR+hZiPjK)DHqENsoVpf8ft( za^r;yo<5@duA|~4j&IaQkZ*Jkcpvx-qrBptVEptkj-0e2e0rSz=JBG?KcDK;Vxgk` z2xAZ;fJn$f6ei8pT=)gT-|R8$7W8q$Kd>MFQN@&=&nPDYpZQmCUwl(bpMZb=3XeNr zgX4Q>iN3*~I?5#G-SKFfFeLUDM(VxIZE|4&#pqgPNef7p>nz zMuW!*;N(%LHwQhXm!Q8F`ScCikZVv_Kn^mK&~5KST_MM)CYTs2ifm|{7{?qIx7&%~ zyU6Ar;a}~wwdC7qAjMdVGAXhfMX(C2hSMKFulyyAK{S$FEVI#_X++(fl@Kc|gjV_jvK93ptn^7p>o@o_ z=xe7^4*aB44s1K*=|}d_ms0aQOy)RD`V>h?!2G08N#G>)4&d=srDgQ5B+!J1?RbED zd@S6Lhf2|s!18{45v&8xl2+jb>e%t^wY8z@j_R87`pT+sSzY}|xys0I!x3PFgqJ6A zcmpSGq{Z%YTkJ(P!%jDR{l5sKlHsCOz!Q$sjZ5_{(tppe7t(z{h46PG9}xKvWYB8ZbLj3Q;wJGY#El^C0Fi?P zQOLf*e1m?p!jGS1@Y--8A6`3BSL7gKx7lH(?51e01nV2P$*|i9T}xyqk*f_mw8+#$ zmf^`aIGPBO<{O+$BtT?3krIS$1vBszieNe-4R|Q4nRZ0sy~YLgJPlFMh~jEC><;u= zugqnN-z2aAcx9T&g~Vw}m{Ag2k&V1S)xln1MyNZa1}rL!% zMHdo`8}#r&VlR7vRqhuke-g7j=R}#_?-o{8WC?~)>YkWo=!UxmMmqk4RoyW$)0FBs zG!Ul?8nDoyN*t^;RN zA~c%as(5e4Bmjq-AwbB)QMuC{q0r4sy7*sYcNXEdSEy{2%$b)3;7aWTX0;vOk*=F5 zonAC=YG{Cz3(mR9eV(vGTm6G=tuk=4u0=BzRi_x72OdU7Jp#+VfyZH8qokaOos!28 zxl^qJD9t&jWho7AS!gAXtF%0ha8$E-d|0#560{QpstSv$)0P7P8W)UcRDiUBeGYd? zcND0L?`W5#^Bk_Hv_8yf(q}Q%0PCS3lpeK7B+`q26dCfstQRfZW(pyN70>^z0Vxe- zWAN~p3v3RRwgAi?i|L3FGwleTx@H+PBvFA;)D9ju0F0(ge?%f!k!-$M0Kj`NpVKYR zw0p2q081d?LFvG-^B7c0xRZ4Wvl50qBJiO45h!lx#2BmuXC~*4r@_F*Uxzy)_L%Y~z@T{}3v5ai*)R}#oG6{~Fgv6} zF}*e+VFjWj$p{AUz*s@{02BjL4H2Sf(b4v!IuJhYxx%8t^{+6TC`|5+u-g2mG3O6a zu}c4Gd4cS{=LIF6)rttiyk3S9D16ZEZcO zuiXB(+JvgG|L4Y$&-K|Z#VI-;IObVd@!y&a{I($eLilBL9R;1I|8I>UKvw_%*J?4w2Hlpf4lAd)30%lnn+=iH@~6vb|P! znzgZTs;YXe*~m-#I@?9t!iI|K8li(MG=oI4o&F8~9DUEvyV@f!+}`#gl4kyWM0~(R zL+@{A>EZkBP4Pr?G`a+5<nLx*ja?KO&8T4U9@(j%c?IM?sQQa>7q~R(?z2u zU9`faivp$#b0uGH-08~Gml>uRmKlcWm;8~g7Z;TSwHf@dCVnFT4|Q-&!Ziz5C9dOe zHQ{Q*)qyLC>s(wn;(7?zySNO>)PLd6EC=&$mWO$_Agt`mEFbf3mXmouH0pex9}gg0 z_8eQT)osZ$Jd$#XGW`G9A8(HTFC>m5{F%igsp2!{Wt4O3cpoKd3x4OH@2kE9O_ zjhqZGf#;#a<)pU|*P5MDbW(xpzfMaPxRcQTgP<)qU)6@Tu?(j=g19fmbLC~M`GED~ zuTeVb@yi^0P-Xl_WkO|>{nrd25h^`rHlM>U!c$s0cS3)Yxg=Nd^I|;LJ*(oWVXL%!9&Dx8%;8Hnv@aT22&ovEY~D(d+-wG;Cc9z8Lp z80mzS`4oQ%$Bz#Lz>RzbI0SXtjVPVzqBDDR7D=7%AfI$Pf!yfa6g?@Y=kWC0o1WBX zo>tT7O24N@zw)HgMJF8S?C(tqGSY4eN$O1({d_Lio?twAyq0zi>m@7f<&#*iMdXkWuQ}5M=MWC zUlo_dP(O#32$e&2dDO8Vvu1kvL>8Ue{*U}oeE*;S2C&4TKxoqbzkmP7mB9Z4BDYm! diff --git a/External tools/Myra.1.2.1.0/AssetManagementBase.dll b/External tools/Myra.1.2.1.0/AssetManagementBase.dll new file mode 100644 index 0000000000000000000000000000000000000000..f49a1cc3624d5f5555be1f29269921574f2a9b25 GIT binary patch literal 12800 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%0AfVDgmS5O?d(($&F0 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 OZX9L)|IdFv4g60G9l7uT literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.0.3.213/MonoGame.Framework.dll b/External tools/Myra.1.2.1.0/MonoGame.Framework.dll similarity index 100% rename from External tools/Myra.1.0.3.213/MonoGame.Framework.dll rename to External tools/Myra.1.2.1.0/MonoGame.Framework.dll diff --git a/External tools/Myra.1.0.3.213/MonoGame.Framework.dll.config b/External tools/Myra.1.2.1.0/MonoGame.Framework.dll.config similarity index 100% rename from External tools/Myra.1.0.3.213/MonoGame.Framework.dll.config rename to External tools/Myra.1.2.1.0/MonoGame.Framework.dll.config diff --git a/External tools/Myra.1.2.1.0/Myra.Samples.AllWidgets.exe b/External tools/Myra.1.2.1.0/Myra.Samples.AllWidgets.exe new file mode 100644 index 0000000000000000000000000000000000000000..76d1d5435f29658e22ef12817930d0d9db56497e GIT binary patch literal 19968 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 literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/Myra.Samples.DebugConsole.exe b/External tools/Myra.1.2.1.0/Myra.Samples.DebugConsole.exe new file mode 100644 index 0000000000000000000000000000000000000000..676ed3cfefc3ec6a27dd675d801e94ff5e2c4fec GIT binary patch literal 10752 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 W^AYm^Hr!?mc{%5eA3q;C5Bwj-Q&VjK literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/Myra.Samples.GridContainer.exe b/External tools/Myra.1.2.1.0/Myra.Samples.GridContainer.exe new file mode 100644 index 0000000000000000000000000000000000000000..3c75f3f8e1f97476d5edd3aa5b82f5acf1bf1042 GIT binary patch literal 12800 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 literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/Myra.Samples.NonModalWindows.exe b/External tools/Myra.1.2.1.0/Myra.Samples.NonModalWindows.exe new file mode 100644 index 0000000000000000000000000000000000000000..b86c9b51be99cb8355f96c99bd0c62e430e329e3 GIT binary patch literal 12800 zcmeHNeQ+G*d4G0ww|6?r!Y3JjW3OaBWMj^jWxkArEnBiBkSt@#HU=~D>TV@1zPml| z-suC6gA9d2lMZ;&;_{Ih0&QA`Ndl8jLz7{E8B$_WCPSu~feh2q(g{u5Owvpy11)3v zd!BdqK4gp1>0fQL@;>kL{XXyWKJUBl?s@QzN2!j8BDg>Ol;|b2eC-tY*D)Cyf|@r;Cg>A z(STM*w>Yes|E*xy}2AbQ(UmbG2V&|e04#qv|j(VT*# zz+OLZU{(!(1=ude1;u*Mrw~I#KPh@A8FyE)Ora<_16`r7I@*sG(IoY{w$-fBwg#~6 zG5~jN+2Z6Pc<`WBP%hnd5G9(Z&1B^kR&Et#?$2EhbmJ{bGvZ#(QWOCOw|a|42$82Q z=|j~>7%rAT;%^hiCc|*A0{R}ur6ET;Dn8z*R>xYs4Hc2t$nl2jSND-O<5ZM~=_5_X zDWm}?vSggX#3DT#V57HT77YC)sw#q1VH}2!E)wq5EIf%+F&jly!$yLbjoGYWOK0Z| zOlH8|Bu=E`^9F*hVM`F_4NP(sd*fp&mgVj>*Mb?Q;<_^Kb+PPvrmJja zmSnCxY-OP>bC-cY8TB_ogZa z_gBM^w6R7IcPG$OylQl{cFwYYwMLk`!o@%_e#X5w!oGF)X6Zxx2(C1wr;XRCbS;z0 zVTyyOP#i%(-J*hM+rfSC#)8$(`^rvUo|qSvS`IN`cprq3Rk({{-exU`S8;bjw;{gz zxZe%L-31U|x7FXxL=O|o-Ci^m4~y%)?$AU1a(7Qz$c~yL$w;-UWTe_x5|hf#xUJZ6 zu+7nA)H@iuO-5H#$;GdcG-~`BHGYl2uTgC$eq+g)=a&7(R?hbuPu2`QSu^%zF!*G= z+D`n|C+oe3%YN%u&G(x~CTikM)WnNNgXAGmZ6|&gB^P;T%YGNFp6|CI*-+!Rp~i1R z;I~29`FlCFi<67jx_z8>wEfchx1hOVnR_c5ci=+Sps=J&V^X2X#X`iZiTY|Hsn$%O zmyFiPj2f!OW3t9&vesv!#%@s!)gY9=50N%ECL7hFPBzM_4*F9BLQ;$OYOIDfY%&Sm zw6Ke{;qjQz*I8}1ahq&xJAf9?HmUSrec|aW>r1B+_P^--_4QmhQK-LRSgS=c0&G#t za1XLy+0}wxXDYo;sa{RqdS$J(@mkZX=tE4$E*2C{2?m~*Iz0h@*x-}?Vd!GH7ou3$ zw*wajR{ED}7!7gn&uSQ0$*1f9@ zh$|`!xCT$z^1sm37Bh85cs|<6Z+312^uwi9%-Zw;{$j&r+;W9XbOCTW@1l3XIYG;#pnmrNS8pTkyZdVXdR@D zv|sq6app%v`eTjpF5y2aoHK$Shfad-jI+1*V%s%?juCsfH^%&rwCB+8R}hIoUyVM2 z_|HTbZqXT*4A$%<){MY|LG5B&jJ0cxbO-!5Q9rGP<}hF*y$PR<^t8_KW9j{j;P(lB z7Jm5pi9oIi4exhjdQa?H!Fg`)iT1?$Q57+f+0oz7ZJ_FfnxWs2jd!Fbp}rYVONBZY zP|K)=-ZZ8)joj!-z?+PFwIuySyI*UeIr?3|Z_^h6-=;^9375VM_%(sA3jA^8thV3e z03VCT^e5rruux~>OZBHg9TV!o70;p$bb3Lk*Xg4eQ)^maMz7P3_%Ns$p-$5!^fj%H zz9iHcdM^5PElRHorMwvQ*EQ6mt?cDNvf$I8zYyv)4Qt;*q`wTPuA{fO;6z68g1JDwZaSU!m;SOB0Q>F%`-tg*r`2 z_OlwPp`h(Jr=X+VPlZr53HnupwQhWvN|z zBvPOowOp)7FVc1KCE(wNNFJyAjC+9JVtfI%tH9~jUemEArLV6F?AN%jrSzosD4nBk z04}9Bv=+d>gy)soX5%a!fzDI32KvuKXFUEQ;CJEYIdGN$a*s=?g-4|Ip$1+P&nL7# z9=mo!>~*@FhP3Aq8|$ys{wnqkoe};y;k+$y6X5e$Ny{TKZJXdLwQodLXn;|?3u`@b zjot;{033nmcWE5(am0p^Y7gnH+Pn0_=mx-l0sMQ>JV!%1_xK?4zf!vj^Lvi|HP(kn z)*3DJGw3VYQkW{vE;UKJsfNN!TyZNG>FEZ~2=2dC5 z)4ozRYmH^?W9_u7R4lsrU6#+p(3o#~Q!Lr-X0vv>=(u^Xd#B*3&&p@Awg+-_Ol;ce zu#?ZY(_l;oNOdn;Y1n2Lt|!j7hGts>Gcc4{S<(?mIzmYYbq>0jQr5ni24_7hwb!!> zlTO;-+LJoiuUNxYu8_6;)IK*4RV%AP@>xD%7f1X3LAT`FLsPbga|H(LWHX`Z;NXDx zpq!s}y{t1vK3im{JCg~6Z6Dq5*}iXQc28RQ3A@bSx&XgpKHth@F2>rOb>TD!G3Y{d z?}yZ0&&g0{f8H-z`LuoW@zK#;R{A)OPJ0|Xt4zau^w?8Q+E(5IedVm07;z^ivNq2x z_4hb_!Sw}~F{>;ca(suy%o=fu0k+r5*)%V`!ecPvKsXU1VmMo{X}{+dT#u_~gvr5D zw&-A*`ipkX=fbp{ye(xxk_b}q*tFZt6&w`VUK?_&XlJ^MI4z>wZ0fPcN)rGQd&KfE_j~ZE+n#p4;}t=uzXyFBvOOR1T`26&kGo#Z;^3|9f?62GxHC~g zkQa5*WBX~(Dbxzp=)~fHowa5J^Dm45*~^sD#R~=Oz{<~71P4m_B4$ANMQ6;(I>jm} zPsbrETe4|Npsb;V7K}ZkCVseJrBP&31lR;hxqLO}fIA(M!?Ql7GZlo83Npo}Bd$8* zi;wPX)}20xZRLRNJNJa14?CISq{vb3BpvcpAq-*4r? z>T^Bk9xl^r<{*kziAQr~6jQ}NsRUacS0~pv4LE*L5Y;#Ba$PLFJh2ZMH7{TEErEdZ54?hYO0Lz)M6Ks-T`}DA$_(pF{#jt zRCtwi(3+{D!eZ>sIurREp1KlOZ+^=0Tt)Mu4xa5)^_-{ut^;kB9&p_v@pFgkKoUTG zmft&rnZb@$VajgJKX&za*0fl1RidhbyzsM~ctxp^OA@5Aceyh-b6nL=KADumn^p;! z4cw(Ev>vd%bP#Wk+kxR&lRS(QZ=N!cPlMBr7xYmYgH;iKE+ovU)xpmL^K_U~tJ86T z4mg`XUsOdzSwgI|dK6zNEJS0Y9SY*#3zk%27Nt4jvk#X!>01M#rh>&kkSxCl# zn=%>`<8;919-Ls5=qEWW92-^>z$Wp7Ll5j`fOEziw6jDjcS}ClnmL>yM>w>yU;5)H zv*1m@Dvxt2JTK;~_>$cm`q?efvPU0tV-el|y#cuJpqfL74ubdLnDL`0H1?rpX`YXCWDrX zf+Y@YIbc_~Dzf#|UG;aD^pTU~b1&?beRH}qu;%G7(K1w1sz%M;na4e;vGGK5Y9?S~ z0k5GY+EVd1SnjGnH>s_yvKJ(BMTKmT#yrg$T0nPzc7$emGxh?m1!~f6V2aa1K;8 zR{CO@4X%l0Rl+QBo_PlIpj6Iy30jCkNjO@bw_fC$mjw6B_FN^LK~)(pWNBD&wJLvU z=x~*0gbw@Q4T=4G7zfLElwr+=RmMI!evXGD2`hlNz;XPks%Jji^JqDzDh{3{wTO94 z7PzXWxG$BR+6w0Ev|yv^mr>=gt@7w9Eq+s7P=<|lK^ZpG1!dSs7nI>w(FJAradbf$ zKGH5IyZ$p|_+4{BJA7x}cIVl5N2b3y^whrY`q-j<|3nc})8cg|X;C1_B$JJdHeDMv zscG&sGxR7iLpSu;rA>1WYfXbuQ`gq4NI(`a3^tkj{kj;G8SNG8GkD`p&ix?^(V!O{ zcVm?F#>Pfqb?m$j-%Og~?D#pY>4@_4ClU1B#ht|C@k^6)FT(um?6;W~gW1#-^4Qi& zm;~#Wx&Jtj*BDVZG zO|uvIJJobsJwkX_Zz?s-)(3GlYdkuHH5>o-Jx33%-1h#%bw<;TxR>DW!X3xG6!!|; zYj7XLeFPsbn&Ogq#DH`o>!fLyH7eq+NE~8(SBm3sL9~`XA&=6YtYk0uV158seQd8Ow+_RW?5oFcQLx= zSELae2YPDID2BH*8^=8SCm)TjI@oUxIAfmW&6;>YG{e`8P3E3`-6p<`nEcX{fihdR zr?#frQ&^hy8b#PC;Ugif`K&iEd>GPXMEF+z<>$|lHn^WhcrWgO9^6+3LNu(`jQc9w zKY;89RWh*ne^%982ZnowH$U{=gZ7USLtmV0`%%Z)e;8vQJ=>33M>!@1eDy6wh|~h_ ziAUYByN?EWIhwbN+phgg^;97Blmn{%puQNskr~jt}{dQ&l>ltu3voj zmChYAxvV**K5}-o;#t&c+WEAb!RL{#)`KH^uDPMr6-a zrxkowHQ^%fceR$h{B}P*Y3D5enq2tx?V7Zk+iv-})Kq(`nX~fFxa}9iN3Zk;XQo+p z)}O)G41Aufi3$H*0CDBg4Y z-@ctLdFV5s!SU=9CB$iG_Iu70z5-9!{^#`C5qdRoRs7)5lP+<@1NM}iHM0!6S}ngn zKjj{`y;ig2bf@ug3TYg-vc4S*N}O!INHk&Sn`>h4++0oq6goGDGlc(k_uK3LXa;tw Q|5MY4cdFlB|Nk=ZpIj#wMF0Q* literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/Myra.Samples.Notepad.exe b/External tools/Myra.1.2.1.0/Myra.Samples.Notepad.exe new file mode 100644 index 0000000000000000000000000000000000000000..ff20055afc8fd413155e2006e903995c45695a34 GIT binary patch literal 15360 zcmeHOdvqMtdH-g#8a-?aOMYR@V~~w4gtUG_u)*M!WMhFP*_JFq;#8j99qkU9omtP! zN?weKXi6LC2?3JOLrxOnkZ|JD|1+x|K!GNm?O7&&d zD<0-er)HYyB|5y0NCUhUvwb{6bZG};yt(HFy=MhcyWWHO4bWP(Ek(~X3B67|1fljb zAf3`ra~Ys0`JD!)X@GirBzVE`ulQLk0d~f*N*#%Y;q%5e9G>{9S#3z`tBDU|B2|jEVtV1{<`R zTmo-lSgAzd>ltoPNsA2SG8n5575MEn)YA<6t7?k%S4*{_m36kXmDRDdl_g)?YAkM0 z@-J>}S=^wcR;|j$2zcm%%b-#hNZ|Wx0x8rsLFF>|a2-|Pb2Ze{49BuF6*X7z4IqST zpoTN;LWRrqK3pEY$MxV_bqWmo2nuwG%9QpRT4f4uRb($kZMm-MaN+hd@N3A#>YV~AlZVz5crdA{_2iA%~0<-!ulI! zI5)I5)Z3)qd!>FFF`eq2ZBmthdU~y%qAaE^4_=3Lf zi~_IW+4OKTzRn$7j{_Iu;2=x;*d@`2B-qfW$BeQ!oIw|yhs(bKb9zsjrP+!i_$mCPXB>Q79bH zf=Z2W2RHBJ=5QCvYgDg)J=Ya={|400Kp0Tx(s<2)vl`)B(CpucLfN2+;IX_%=nQwG zQQ>ycYil6Y2E)f1)82c#GM(N7h7JEFZh9g1m74+d89|dygvi^oAGM3>lNEtbF`$vPs={(cpalhXhDZn^C$d$_ zSi3|pWVOYD)th3$xB-G8n=BAa@WdOs777;V_Z?uqMfYM7fyMC<`aQRyv-e>b=OD|} zGt9WRqww!wSSb33P-UOmuuUU)8gFGfLnKtl;*X&3`|U=bVfdq{ewXnyc%=@k)(&b1 zNSJ1fNhIH_-(PbF9{n^THl^k{45a=pUF89cO!-I9!U?O6WPS{T{G*I{S!454N%QWH zE~I+Zs9^W4Q`oA!ZyW@AIL9>7zH00ZQ90!-KplTWRLHXs^@u`UrlwXJPgL=kF23te zu%K)8(-Hxy=@_#p{+J-I+NKjEC#b$tKg}kWas8|yfp|!}iXG7!`=$S-UoNdJW zVu#>*9Ff>$j^93@$qrKOM`w4Xx21P(+qoV2gFVJ^k0>>+a zjIjw?I*c5>@z^*;2uZjBZM^N+Fan2u5Aa`c-+=3985s{i?annHYimQq(|>C_dE<)Z zfRKk+Mg|FvP6!*C#0QZj?Tmx5a`u5Q${56#d^0KRd{c}AL(qdw7Yu{`QOZBpe~5g& zo;{a-sb8Nm=+By_nhhF}(v`AZ$}Li!lk#PKs=1xon_q@AZPt$N)2fe3d zxV4?`N&QS~rzcu|MO`#cKLwp@Ft0%mN&PQdc*g&b@;kywmvD7b%6XkJ-;v^3E?|~+ zO0{-s22C2w!$Ufk-`2R?)i%|&bA{Wp;|E;8*+Gg$g8g#3^Sv!K$4clcUUD3Q*dk1yGvQ0=5 zY$Jv)6$tA*pjC94K-jebS_9h~^uyMNA;AsJT)y7KI;b>jSCFK(Q}|9!s%&x5v&`)12MEgHxPw)#n2Z0GOd~36GLO#c|ecH&~nV)LVp@V zt5O*p$B%DOG`|L#ZS;5yeFV@ldNPLQ0j;1<#?X5KT|&IMV_seW)Jgke=re#;(TG6b zr0=yJ*49uY(Bm}P{EW7iJ|&RS**f~%0_ZCOy^C`6HEkVz9UI3)yX)yM1bP<@(s^w? z{j8yH1N~RrH;O*2?a=TAI95{bHaIVAO>v8=?{4AxN2TQsPB#nM8*$!zy+>%C5Nd-` ze*~pYtKrTXU98?lPZ=8goV{l~%67UI~qL1~a9<;l1# zx2~j<^cYG_y9&|tVBCJR#YDW_r0t?AT2|84+Rt0|&~}a6AC;E-SHuxqoCp(mu} z30mEHfOcyqTSh3O@r)U5PJb({7HYe-`&){LN2Yv4+uL?8oy91`4a(m|{qtG|<WlOt3e;+xZ_5`@~wI}JM_OkXg%580*p$E0G)aSti%d!b{obUlt)@Nij@Bm5A(!I!=FKJI94!;z0__Y>K+pY~Zd%*dh=0JOv?rA%vozs4V_6x*0 z;k;IDo!8Q|j9x^!ie5&!fi9rjNV=Y;>*x^5o%A-8H&FrQAiW>u9a4_dS=8T-RpKc` z%eVAzNckfv*U-cCpR`FE&>Zbv5`*z<#%P2~?Rh|3%VZZ}bxKUlwiEgY-X2i`mIdaa)K z)~Zb8saEc70%uH3t=@F=ExDHy-k>{Gjhewil_E(TeL@S=TN zAGEx@YX<;tvpqX-a?+X!3L%;%Ew^G17A>z}=NsE^9`W-P*S>{Ds)3chEwIW(Cl~G* zN*^1hfr{hi@hx2=BZp|b8iLvM@EGw`V7!DZ^8?q(QfNn0!+AAe+$xn_J4}!I zkzKa(l*#AG%IBvhFf?X_xIW;Y8uJ<(8EMeu2h?IFi<{Q@MiX_#%~hpZ{ZRXE~TLVMB)9d0^W@gk>WPgKjcQX6y@F?1mCOL5Cm zjih-JD%oCzjV1s~JmExWK32|Kk*(^3mYb`%HIR{Rvr0C_x{x{=nZhWybHfDqp+ZvO zAtMzxa$Lt#5-@jkIPlAUz*ZM969R9<@~naluA%`ev`GnW)1Y4}gMJ{+09Nvu2>an| zB?5|_trQBZn|d3QDrMcO2vBdHumULi050F{IX{@GcO>{M!=xRAU}1r2ZiM;xoBwz6R^B$y(4xB zX^)&N6dyJ8&T{6$TV#P@u5y@saoqCbZKvfPC0dY%c>W7)eAiX2}qL5j%9S?+j*84g<>nxK#Z z9EFBQ;s}Xp)YQi5PS_d_r8;6c3XWBh%z4zFj&oas!*k3ME4!XBX<`19-b~ogf286> z4PYkgR~q3_d#<5ZqGC+^EK~_u^3@%7m6J0Khe?fN^G;;Snp_8Mw~U|)XCl8$Q~9_u z=-O5Q6MK0(fSKfLVbW5O8!SlQi9sU_8i(0jcha%v0KgD_KnMN6xd)2_6pyTmkU<-( zyAGvu+?FIMR#+x{BM+!0e1hR5^Cu>Ns}(#ygo#6l5GKuu4=2fG9IFwsZy2W(I4XNb z2qQ0Cfym|+iq|4SLJ6^8?wXp4@Y9}h2V~Q*#&V+_q`RK<6#AV`9yuu_*dv5myqpyg zr#|JLN`Zb3***`9tZxN*HA09Tw6GGuzvHGvPwXkQ{}c*dTOcuVuTV<-JmWeA57?2c zZu`AiC-4=_?hvon)UbBbVc!8Z_a62As3x8`;Tsxc*eh2Q54AwW+)`5VdWlQL<@{XvH9IHUr!WU56H0S3;{t6&gk>l6ZpExf#FH zmZdL^Th;V}akv&-zj$1NP0KdZI9W7{v5j-#>Tb!H8s563X3}QLV4oY$dBx&c5twx<}wNscO1Do3DrFBKj znZ+MV#F~txpDr0iJ7brDmB;qoB;5Kg>#bv4JA$)kfL;?`(1>e_MN1gT5}Vlnf9%_z zSke3B$iSx`I_um-qyIoDQ`1_TOwyWB>Fi{%qrD~7wI6@OT_f!#t?8P7K9n;@$53C(OkL}`OVv}P=^fy!qoV^l;TkBnx9DA$#zQbm=lu6@Zt4INUGuM~-pf_5 zZYXI=!sb8YvaWOf$4V1FX3>^|rVe@a&T5mE9hk7AqxFmT9G_gj>jw{_bvHhH z@yXzGOgD6V-G$F`d|L52V}RSsyDV1H6&>vitm$H@ntG@MAH7wJUj@06uLmdewY;d0 z`riIiIa{^?6UD%v3pL=WgW<47m!(JdPtRMNPM&#{%7mqP( zJtlBhU}{d(6E^lsv|OVW>|$-+zEht@TaFEzhn#F+1yvIpXfxTT^_d4oGbWCCCT|sS z%8`-V(>v1J)7y~$aH3|Sh%k*-Uu+$~0a}xz?h0I3|Kd-+E-%+)eSgNpOExZV_1&tO z!-{GLo}D-6oTz9XR7*#n%sY+ak%@)GEF;l}rez}WV|!zktg4xJa15Mfppq+^{9*=%oMP!_nDysWAZdrkOl<^$1hafjU$JLHtbM*VPd}p9@w+EH?Sjg?*VLDdEU5H zKzR-q14T^FmUO&X-(@X;0~sDWNy2S`_XDQv`C@$l%oLarR4h;vX7Pd%A57CL+E=t= zFI??2ar(fhpidlX4hCX{%y|AB-tuDUcmoe2!XwN(!)I8tZ2P!rs9OX$*d6pS$7l{& zne3nZ<{0b{VwWO3Cx&DHhxZ}QLUvr`(d^sP_8bp_pTo=8KZFMd#tb6MV`5Mr5EF57 z>PjYY4yBWR?AmQ*FD9XkUDqlk$p#M2J5@}q3@YkK6w1V5hKlEBqo5MP^-LV$P3WkK z_M8Lb#PUODtRk;cvIBM;4k9}MUFclc#{l$4*!)&+lC&aT;UZ)~!Gf2t`A=3HTRB3( z_w$GdaWSYWD#9PkIooyn{QyD0#s|JMOk0>L4?oAPN>B}vnIu#|AMrnJ&BEERV?_|6 zp92bxm-odUOd{{(r7m$8LbLGF0BK@|&6X?T{v%YPaU8igbHZhmP%x2?oYkKNS4h;* zGUkPU_LsnRA5*a~sh5Wh{1OM7Uny`x!2CE-!8K+ace>)LJQw-C8>UUZ9Ah_5lnZT% zyQm?ULb4vN%n)0}D#z0n5JX%T;6m=q7Qv7y*qUaAxq?LO!qN(DKwj8Kk}Gm1yC!3> zaU}F{hyvFEWc1-KUOv_s_rp2}ZH{4Bgzi;Bix(TqV2>{Wk-vNs#~-X}k|jdhE}>H3yN$Ft zfLKdHQ3iV|J;6byv8cfZqDtNYDH*|nA&r?cuv%gZ4guSh$b};#pJNHBa8`18t;O6H zzuh{GF1aKVpX8hhD{+p@<9sA?lz9=wQCrcq%pBj4Lcz!Y`LO7eV<(1&C0LP4S=Kp796ORPd!r%*r|XZ_^dN-5;^3-obY%c+=Cq3D^tr?z0LEDMQCyzDRrv^q3r z1+#Xz#}p5VI6I3GBR@AIegrWbgaEYWDTCGsb2^4dI1fS(vSkSQ7;6XOMbH|uN1@2W z%~`k!v)%_Ly@FWRj^=n7kLI92NP(>ZG7b9yOu+RLHd9!&VvodPn}_po5F)+HrXaAP zJq)->@~LoD;c$^c*mh+!xaLu0T^Uv#EzJS zH-Vhv{2+v=2UXgI++_>PoZ=ZdNI5XCFW`?CGbkKRz`Bb!8MQr{tk&2kBwB&_a!B61 zp5Pi+mVVv>S#G5K4O)@aSk_SXos29zB0~~4kWEA?I=m1{+Dk$i9t`dAMiQP@+jsWG zsl}AstA@iL>WdTtCM;tghR_hhNiw%!b53QPD`K_XUwA$W_v4H~t*6_^v>D_Wdnd5ytd9-M(2j&sgG zyi&4^E>PH&SZzq}khSj^EmIc-kXBediOpUVxR#B6;8U3EcTg*JdTL?*N z$=X&WazGHqLaZPdlnvvR4(R>4qHWJ`sESizyBrlkw~QU4kA(wvfWyXl*hgB7Skug1 z9;*(EjF<%^n5+^$!hjfK09jQ86<%;a8HQTc3&-#yg86W>_#y(fO_ zi|<|Qls+jq+bH?lg}cvfAW)h9Ri)K%pKs?(-f`(e2)O% z!{;_|!=w7pb^w~l;M+n^9^VN+dGzytC2Fh9!*{D5=#9psS&rmZbpqH-lb@q_M^3BB z!gtdl-VI?H>vz+PmyAtgP9CdnVEI;e;SDY0Zo`dTo#rHH;-@uGWO?}6j!`@C;cwQ@ zQM}cpK^LqS#`Q3R+rasoojZ-ur|{tiH;15k2v9+&vG&VytBl`VVG-PfLw`hXlex!4 z;sSV7b0@ZCh;{$wkvx2gu{UcCpSD;x5+QV!hocWB3<{ z5ImOPMXq?zZyL8ePxKRwXH^gG7;nDyRLSKF3qIiN?Z!=Iw`qGhpLfc8yN^vA=)bWW z$0)2yczMIK_jXt9u>00qcr$r3Z)5qT1QR5@aBnx?N`+YUOIC<8e*B|$KQ0nvHPk`X~ z5T9?c14X&F+X{zqS2tq^-DbtX2?ZPCz1`E;gxIlALS*YjxJg*wx`6kax7L&Zgqyb} Y7Q%m~s69yX%K^N~0r=bJ|D6W@7sYa#x&QzG literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/Myra.Samples.ObjectEditor.exe b/External tools/Myra.1.2.1.0/Myra.Samples.ObjectEditor.exe new file mode 100644 index 0000000000000000000000000000000000000000..379de964d8128c58fa767d8626977cd648ae1c15 GIT binary patch literal 12288 zcmeHNdvp}ndH?S0YIb(@u(Z4%hCwoTjbTAN93X(v3s`~>mV|%=Ta0!`(wN9Qznfo=$O2eDbi<!+c+nwPq}s=AW6r}+E8R)*=HGpBopOp2N7C3{rW<{Vc!(0 zpzw_-zK}?OUN9xB(@VWQ^=Sts3(6>9SQ$lw!XLRA)|Amu2~D6wVk?&@i8}u|S^>$* zdL=X_k&i;vII@pvj5rK~@K{XkrNq(O2OYV$oG<)Lshuc_pFap(K_8+Vun;absX8sN=c1Ei%bhl$Hu@yCe4d@aV+L^3yO%;G{nZDDCp}cqm27{E?N*<98=NA zZvdzYY;R*6j zQgz=Aj=h!H?l!=&YUrVjBrqBjT0^s2{LC3ToVqjtv!!f*SlQPPUw^P&kKDT59 z<2P*Yks4C@Jrd=?Id?W+aq;FHRIw;x?=73bga{|vL9fm$qdfisH<)kl1HVccWfL=m zQ`&QEN`sDRqZkOW!x-7;b{uy1muq78z$HrD2Ih*XW}RagJAn~QOLY`ewUjgD=wqfG z0+5L$(Fp^p?6YHWN_2r*bm-VSsEg;~v}hrlBhK7D`+!7wIyfJY-tefjd%&%ZhY|rOpZG|dC(#CVc0O6v!|-)-{HQ3Ayr9m{GrC(;uHEOA+$k5i0rAl3czybBG-+I z!poP&#=ydJ_843a+qZMrrmB9sthyvnO_WtvE?O&i?cqI1or``${hQN!It58^o=*`%S%bFBP;%Nk!mpq|6C;XoJNgK%MTQ^T$U zsa8B61pNy{p`kfz_krdM!4U_qe>fV2E&5Nfo}h!k(JtI*uG|WsR|q{tM{%P#A?I>D zB#wb9>tJ0jhlNZ&87I0_;XhT{RG~&y`jmw2;h$;O(Fzn*>0J0{6)GLCcqpRM@4^fh zN&KS3e=Ol4$?+uqM)Xi5M)y@*2hDY1HCjVMp(oWE+M+T15F4SdB)Z?mu22o# z9b^6;mHFR{Jr4eFB3IDJi=i+$%Ynz~vtlEB+YJd!9A)YIBP>0M+T)Z~A4lgKVfO7qv{J2S3vrE=VTP|ue7?kg6@5aROAkfEu>T>ng?sH02Ixip ztEE)rjJ9!-`d*Z&F#4WlcZSYrO{i5RfsU>ZpV7`x9rk@JyGvuuIdT_ROHI;B1Ljf) zQ-w#xMrxo%D0wONhJXdp02r6>j#vZCZB-h?GI~LK6L3OP6hY4_D&T1~2KYs-2Jr7A zaljsRF5nMh3jyDVECIYHR868lz0)IKu#ulP0 zl>Iu#@LRM%eG>Y^lDc>PDMVS&xKC+!MlL}1;eZ;7aJ)}X(NyTHq&}(rt+Gc^=$xcZ zYhP13Kz)9SW{74lBV6AgC#IrrF4Z$NK}W;^B}8i*eA!E}cZmwxhK(K3y;>|(fmXEz z)ZEY<#9?1R{f;h(2=xS%0xu)f8&I0KAT$~Xs2a#LDg@Lc>ID&{VM$GBUseT0X(Et) zCv*Wb;$$HEVMt))emszUH+n>=q=y3P3lRgLZT{>0M$L~kZ5_A<%p`{qa zWjso!G=Z_tJ-h%gMmGW0Qlo^MC2W!~CE;xn9+uFM@VJB{fGRbKQ`#K54X~CB@k(?d zS(5(C<^s+LC zo&x7#;3@HWdPZD`evuYaoA^4Ng?=r)C^p5OqRX=EWx6l+efo*Se?tEeeHLrVDeddf zxl{cqGAiqzr&~h|`=NQB?uO0T^rvDDEc{jMm$V8x52IaYW3SUiX=gUPt`Hlfo%8hj zSe}C2Vst}tM zp6!NsDf)GBmN-_IX%%{^Rr=g065(y4RYqxoUPbN8L{|F;ahaBDFJMOPre6T=rPl!W z({DwRD(Q@pq*?T7z(w=~U;}*%@MfwFC22h^0em;z4A?@40N*2F7n#7{M|P-*()6*= zQLG8C2}9!J5}Smb)S&*y=o~@D^`%=>34IU`|}Zud0kc z7h?Fm=)HiKBKIT5hVaK$LefqJ@Cf!`3T8+Icr~Dcoj?@$b$|+1y-MJ9fC}~%)xc)~ zDj3bz0iOe?VDC`}I1dt+9-_zSdHNMa#qHv05gzA^qTnuFXON$Gr&YRsDwav%be_Lz zhonzW1gg)fj7+z-I55oqmg?x_;Jl@dk4v5gZi>#ZcjOedh4i=Joan+=ym9eu9p46&re z&SuTDXW4nM+lF9yw~^0eO$X#&%k|h!-dn$pS}mz%I3q{bQ4fmP&N|xKZfA;Fb31k8 zK&$AO>sqOO#4(b)9HTI3rQMly@<56POs_ZPw%bM5>=-f~Y?i5O#P!TvGSwl4hscG> zA&DQB_+c6{vPHAESK6nXo3@>-)mJK4ZiSoNW#&!CN>fuNLq;akyWcTg*UYpG8u3)bP8tW@6hjC|UhDe19X3*9kO&}#OZdG{KECeK54GYhmE!&a`Cn<*#_cx7;!wa$Zs%LCQ0@_=s)RH374Y_Gm4vOQghbKXW*P?Qma|;2D>o7(^l5!bQw8R z<@iLWfmz~Mca>eq%3GbEC+07 z3a7J}_b@c1rf2n8S<9Oum08Nqfqu`q$*DsuX%3qN>wcanWv{?wGKd8-2z6ymv%pBZ zX}CzN{(%E^+X2$*7$*X>-5z2^9`sGwtbO7DQhTTAT6al1at1aVUV4yv-6=$>*(th% zveZE<N5RYoC_0$G zLSb5zRyUrkK|Q|zHkQMjM1zDWTTsF|9Z|DwBRl1(9TS|I%>lq54|JOS!Kx`Ol&hg0 zUZ$qdh@6Ym>RLQfde|@oeS?+8ElEqWqm<&huyet(<0537*f7d@ zJh*S&cwnQE43=o?+R`p>BnydLVz}2_**&Rzq3FqtP?LibK4dx<+p!J3y&gVq1_@ry zr?z3_Y0hxI2}~4NVz2rQED)S(K(X=3wN+BwuPy?cPa7VVB~FCYhMAW3GkmcAu-BQF92cI(rj|0Z1 z>?}!c1gN(kBB|49+wjzKTu*L|c&jIaM7s@_gWw>Imzi?$g-S3mWd)#mQ61&pA)2=v?}S^x z_3K%KC)YqXrtlV_!>&z5U?y;zhVXQN?VQ9XTvS;&ei83b@#8gkSBj@VK}fO;Uc|qQfARCQB^C%5?1*~Ji;*%HzOck6!CVhfAM_3ihuUa{1Uaj#%BJV5q51Bu|nPW z>%QJ=+=9jGoVxJ|p+$lF7|s~E)bCO1bR}~G9L-lEQl;)d6{?FH0TI@zZcI_N+DN!= z%;$}Nux|XMBEvC)v!%N6vwqEIBYGHd(zKW!67k#X#vsv3MXuK)qHaROCo19-(fCAl ze4;KsF{dOA<4a!+tiW)MqE>N(tE#RewJLr%Zq|ScQ&o7?urV@;@OA6P11Wv4)#u>VRL9OzFKshc={xr|>3Eyfd8dT;4_UG?xh~n5TuV3t zpfDSi4O$>yTd%ccBm5eL)V;=tUG(r(28XCkg#y-JevQNTA?`S7s@3pdYAy~V{0)(w z=roN?M?O1p6S9e*c(D1O#^=Jgo{PNq!z9}GbKE%1J=cW0fhGRMmEhAH-H7|PX52UU z{1W7EPE)VWuGX&V9Y5al?3{yp9_VOKuWao52HR-ea>O{oE%kvb-z{88B(K%>BX-}N zM}klv$(!DWjc>1;EM)LHzPoAN##<<;`=Rd#b)$XS2m5~Z@bdKw?)}uV`|NXQL+N^q zalJ%Mf0llq;&ZWBIc>wH+>OZt0MkrnviyAxzg}8S`VNWx5&VB6z^7@lE5`BV7^@$R zPq*ZsVQsnwpY`6N434iqI77rE5x;3dYI@)(ep@Baz9b7cf9dR@F8tc32kUVsuoQlw zwGVU(aHs!kEqWsS>YL@Ww$hoKApFKdUNDW?r(dm-*Ml|LfgKC0vk9Ad>c{%c*A2v_ zx*;{db>-^qLC*%|Ul+nJD{Qw5Yq)#1j@F+UJidI zN@I5gKJOTGoI+dB>hSn~f;F4mUqJPDf}7^toqv$K>E?pq6qA{_j2{VP_aOzT?ZY z-o3yFq*abmLB<0wwdf%vc*K(sRraAnMqmKG`aYEUnknwVaxC9@Jj%YT#JRS>EOX#P z275`~gO*!awvB4={hwnvUH7e#d}|yx$udodHSbb$7+qO8vi`SnH)M!@F1S|zdi85h zZoPFlm(_>-^PFw*_R?>^Lx0xQ%W|mO zHPc0$W{w0jIF5N7FO4{B+wWLIIPe-U-FIkpeaWhht8530Te`>|?=^?ate$1Kt=@1` z`62t5>D22*t0|2)UxcyW$hv0GC~0KPHM}XgzGj;5Th~km0Sa5!lzM1;smK5L{DXglLPP9}-XmYSmWI-<#d@ zopFGu{SPtrzM1zi@4b05^JeDyKYx-UL=?sM{`*9aqvp~n;YWjMu)S1)Ke-L@TH%Nm+nvNhAzdiG?rf|EDW3l=0U2~`hlC)y<$y2#(zi}DSn2urs!AukPrHWYK#+Z9pJfbIFj6U`Ir_3>f?363}2))o(Epj zok}A(2}SV`n8Y!ti7HDQu@DkU<08PN4hElSqD3uHdIx$CvU;U)vE(md=q&|22Fp?9 zC`0E0;7dIClyEKtkbF3`d^ULw!G-CfhX^KCyU6Ve4~u&Sejb)9H?r0J_lq_GW6 zrLmpmJ6Ilm!w(LlvjNSftP*zo46x?Nk~LzfjD1sENZ-g(*gTo5wh6g2f_*m8k#0%1 zx3srzg7err7T_cX(QqTttEd|hzJ`qNn)aB-61DS@>rgigXXt9QvCyfZcet+y^*Hc2 z7IVWk%gF-g0#xi@sl>71i2fzo2@4#nl6e1M-eD1b;bT5rlsxP;nai2avTy_CU4`3- zHQlJ3A5-Z?37-@qb{=&=jY_YHWf7GgQx-*4+9shc;roIqD`fj_34bXm55}H}z_u6# zyd^pssiRZ0kLsvLFw8_5woCY0gxj|Ps?;re#n4Nodjxy(EU}&oRo3w1n29vFfxd-y zqwISPw5ikyib{7!p8@@HY2}!-@=%O5H_G;ADcKu+50bA#r%DGQpP=v4OVI@V0v_`C z`xziE9F2waXyk$DdWi{O|DXq=n}9`V75y`MhW1V$h`j>*&Dfs+cZ=5nuZ{kV1~k_3 zO?n~nCMdT^>`ND%MwApfISYGSVo%eH7^gyyuR=FEPD{nRz-~wd*w^Xbu=vFg%Rw?m zuSo1^dM|bgShOLK6p&PDWr!^X#z%pm{g^*NZ)1Fdj$^tN>X(!{46;lKWCHH~*gQHN z6;uzXB3GYAd@cuENUaiXlCVp{J_+|qc#VX*gg*gP>3Zr0e2%^?R5C*f)2GnB5ZvF8 z26&#jnoiS}2)8*BzoR#(9dTgEbzg- zJVAk;A4YBmcXjkmY8B(+JG4o(NA885GqDHZEyw?QdW0UOy<#x(1L_m`=ucts2s}SQ ze~df__yk52$KOkorun3ZG%dp2B~8nz39y0M0oTwmz;^mF;Aau7GkB8N2BDdA%5@|);uIG3*_pQ6(|mkPdec>psV?CpT^0@<<=p&Cd%6^h*`SN-gs zrsU1;`;3&6j4ityJ>TuvzG3@UWJg9ejI_{PS}ScU`MzUs(>>$5R@#&G40l4$T1K~H zSw_w`9UJ5={Z77Q8COvMl&hzEUA;JN=DfC^^l+afQNhbOu4QJaE1xGlpC1`;oucD% zcdvU~x5tb;Wr~*R59qeB$36?U*ERDrX80pz?LEeXnKP)b$MlMh$1afvcAwYplssdf z>6uK*ASZ{MUcCUkY(!!VhD?yh%8fxITQaTuj2P`R;AKv?DwLg$YaT(|s%ax$Sua(5 zADSvcGy7yu=&q^Tes{_8ORhovsLi5f^!Y}?<2lex+i*F?6b#3pZl_Q*EyL|Kz|nmp z-{s?g$(DSGz{jyM9&v@%<#|RSYfTNAel>YWcj3Se+|rH1j(cdX{0`W_5Is!9TxOp= z>bM1+XGym{R0{r&nqwt6c~&JohL>~A;%sIxI@x2;u=GjU^5%MgVCG9Xe=dU+==M~F zF<7#F%%r6IX4b@7s^%I6X998O<(bh72)&n{nbDaENE?$_AyXb^B^~NZhr`A)q9G?Z zv+znpT64G(=+ox{f_PM;;SO< z(zAwDwqDs?UV2aVAT}Cy7}$shKe>Wc1vf)^>c;|-Zt*rj=TgCzGJ9MT+gnDLuxw}A z;UIf)2hlC_NFY!ixiK2UJJG;NxZuTg7r*O6PpQ4+;28 zP9lU)CZ}?wdrW=Ic0BBHuS_aWeR&IJkn)gfyl~@Tu6Z)Nz{xHbcRqvNl`ZTykK|N( zG+fMM<5mLb$tekD$NM08&^bJZw%^QSQF+L^yaFgd5kKTP8I@)6bR3^XT!x$=c><}&)eq0C7nqh^_M3JdO!LLxS<85G6XQx$qof(Hi6py{{Yl(-m=V`#aq@bREXjUT>f+?F5LrYqO%W?D zs9BtxzF8!@R8};7d|udL`c^O?JAG@wxHVRz#FN8Nqb#B*+H83d#bLQNj@wmo`VI)z zC8xg&FXPgyFT~)`^u1u#Pv6g4P{GIgz46D69N4$4BJRTsYP`1;uQ zm37kPy()W|ye2N><&NkgzN-!?OZH=V?sn|$lQ~1C%%O1?3qwFok*9W_pbOKxw-3#v zlIAc$ZN(#HJyg`4Kf~gq#L}mBV?LAIN1NejkX-=NoDYW#TE8JcPMtYq~Ann#LP#o}efzCAvh=#UGPyaj~h~ zb2{$3=Oz;U13b)|@x29YZ}IO!VPQ%9EK*CSobXDPF@t8M)T zD*G`I`oUuzyW!E)AO5^}-=S~3op~DLDVLYIt(CFab@?}(fI8CcxZ5WUnfm4Z$}rM- zi{GaBg>N-!ow9Xypx_-O%}nE06B;0zo-G%=obcA1Lua`U5J3s#$LFwu`P~>LI@w8d zU*-0RHlFBs<7H?Ba61j6)rZ`&8+ae!j^NiidMf(ndzCwJ`Gza#O7!Le)v!Lh^hnx1 zWG5GTOuW}|PehIyMLyzkiR?85t`4dPepMcm5~reZ`OeB9dvUhIX?hk-uVS$ZYMJ@# zpe)*W<5MH(-LO``Uyv#Jhk;>uq2ZSS6LM_Z#S2Q4Ub(3IA#daB1&4bzgSG>a=t9kY z=24gZ$%9YShF=8Ac8XGF3i3g39!5X(vz;MGGnETxa4|EM9&kM5bsl4}DpObbreTx& z7G)GYynZsW&F8@YI5sr!NQ2XWBV|AvArA2>JNqQngB5vJfZqyDZTPqjVs;7Sd6s-B zYeTnHHJb8R{x^Tp&^d_@ztzas)h@Khqy_f9DC1;;G7js62;m1WtP&BPbz^b`us`M1 z#NP27{l9Ul_|=4800bh+=VqQtm=nKh^c6cWNgXn_vt>UR;Sa`lqwLd#+2%94fE8%T z)%S7zc49OARj}2dy!qshwp=+`u(XNb)vz^%#Gld(JLlwaGuoOO9@?>XV@mUU91^l;NeWykbFOL1K#@zEd=)u)VFRl521Fa^prp_tqB5m*urNr?6S~3h9Z~lvdDf zbJXzs@;N8%L7Aq_DC^7P288?mET8a`9sII!_-#$~PjwaXK+DN{ZdxxEQ|kf^zFYEq zzPz5JKW!=554JrcS8`!9#6fY5>r3#{$Pc*Y1fEr6hIfuy+sj%tl!_iC_gsnJO}lWv zv^0z1)|BqyIq4iS+>}-_yK=afB8;QD^=K@uuwhx>>$&SvL~|2y9tbo}nws dGyZA)iHHD_Y%K=zR@GhO6EUt&2XRgj_%BnijNJeL literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/Myra.dll b/External tools/Myra.1.2.1.0/Myra.dll new file mode 100644 index 0000000000000000000000000000000000000000..6681c3b611459c46f16c6291603fb1ae892c85e6 GIT binary patch literal 517120 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

fukAtyL|6{Tp~PG6g7Pduy(_EU4v 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

tO1qm8bWhhn+rzpWyit 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

e;;W|qz-HUPC} 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 literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/MyraPad.exe b/External tools/Myra.1.2.1.0/MyraPad.exe new file mode 100644 index 0000000000000000000000000000000000000000..a30dbf12f719f4163e16895823eb0a1763ae414a GIT binary patch literal 51712 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 literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/StbImageSharp.dll b/External tools/Myra.1.2.1.0/StbImageSharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..2e60d6710bc53f0f2e66d85fd6a5923d70984b85 GIT binary patch literal 65024 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 literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.2.1.0/StbTrueTypeSharp.dll b/External tools/Myra.1.2.1.0/StbTrueTypeSharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..a3a030e645d90b7129f83f8b747afa725f9c6b40 GIT binary patch literal 50176 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 PKfik?=np{exdi?PesZ)? literal 0 HcmV?d00001 diff --git a/External tools/Myra.1.0.3.213/Stylesheets/allControls.xmmp b/External tools/Myra.1.2.1.0/Stylesheets/allControls.xmmp similarity index 97% rename from External tools/Myra.1.0.3.213/Stylesheets/allControls.xmmp rename to External tools/Myra.1.2.1.0/Stylesheets/allControls.xmmp index 39785d1..3d9ffaa 100644 --- a/External tools/Myra.1.0.3.213/Stylesheets/allControls.xmmp +++ b/External tools/Myra.1.2.1.0/Stylesheets/allControls.xmmp @@ -1,4 +1,4 @@ - + diff --git a/External tools/Myra.1.0.3.213/Stylesheets/commodore-64/commodore-64.fnt b/External tools/Myra.1.2.1.0/Stylesheets/commodore-64/commodore-64.fnt similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/commodore-64/commodore-64.fnt rename to External tools/Myra.1.2.1.0/Stylesheets/commodore-64/commodore-64.fnt diff --git a/External tools/Myra.1.0.3.213/Stylesheets/commodore-64/ui_stylesheet.atlas b/External tools/Myra.1.2.1.0/Stylesheets/commodore-64/ui_stylesheet.atlas similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/commodore-64/ui_stylesheet.atlas rename to External tools/Myra.1.2.1.0/Stylesheets/commodore-64/ui_stylesheet.atlas diff --git a/External tools/Myra.1.0.3.213/Stylesheets/commodore-64/ui_stylesheet.xmms b/External tools/Myra.1.2.1.0/Stylesheets/commodore-64/ui_stylesheet.xmms similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/commodore-64/ui_stylesheet.xmms rename to External tools/Myra.1.2.1.0/Stylesheets/commodore-64/ui_stylesheet.xmms diff --git a/External tools/Myra.1.0.3.213/Stylesheets/commodore-64/ui_stylesheet_atlas.png b/External tools/Myra.1.2.1.0/Stylesheets/commodore-64/ui_stylesheet_atlas.png similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/commodore-64/ui_stylesheet_atlas.png rename to External tools/Myra.1.2.1.0/Stylesheets/commodore-64/ui_stylesheet_atlas.png diff --git a/External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_font.fnt b/External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_font.fnt similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_font.fnt rename to External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_font.fnt diff --git a/External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_stylesheet.atlas b/External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_stylesheet.atlas similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_stylesheet.atlas rename to External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_stylesheet.atlas diff --git a/External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_stylesheet.xmms b/External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_stylesheet.xmms similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_stylesheet.xmms rename to External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_stylesheet.xmms diff --git a/External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_stylesheet_atlas.png b/External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_stylesheet_atlas.png similarity index 100% rename from External tools/Myra.1.0.3.213/Stylesheets/libgdx/ui_stylesheet_atlas.png rename to External tools/Myra.1.2.1.0/Stylesheets/libgdx/ui_stylesheet_atlas.png diff --git a/External tools/Myra.1.0.3.213/image.png b/External tools/Myra.1.2.1.0/image.png similarity index 100% rename from External tools/Myra.1.0.3.213/image.png rename to External tools/Myra.1.2.1.0/image.png diff --git a/External tools/Myra.1.0.3.213/info.lundin.math.dll b/External tools/Myra.1.2.1.0/info.lundin.math.dll similarity index 100% rename from External tools/Myra.1.0.3.213/info.lundin.math.dll rename to External tools/Myra.1.2.1.0/info.lundin.math.dll diff --git a/External tools/Myra.1.0.3.213/libSDL2-2.0.0.dylib b/External tools/Myra.1.2.1.0/libSDL2-2.0.0.dylib similarity index 100% rename from External tools/Myra.1.0.3.213/libSDL2-2.0.0.dylib rename to External tools/Myra.1.2.1.0/libSDL2-2.0.0.dylib diff --git a/External tools/Myra.1.0.3.213/libopenal.1.dylib b/External tools/Myra.1.2.1.0/libopenal.1.dylib similarity index 100% rename from External tools/Myra.1.0.3.213/libopenal.1.dylib rename to External tools/Myra.1.2.1.0/libopenal.1.dylib diff --git a/Sledgemapper.Shared/Entities/Session.cs b/Sledgemapper.Shared/Entities/Session.cs index 74a794f..00b6a0a 100644 --- a/Sledgemapper.Shared/Entities/Session.cs +++ b/Sledgemapper.Shared/Entities/Session.cs @@ -212,7 +212,7 @@ namespace Sledgemapper.Shared.Entities } var lineExist = Rooms.TryGetValue(line.ToString(), out var tile); - var newLine = new Room { Start=line.Start, End=line.End}; + var newLine = new Room { Start=line.Start, End=line.End, Delete=line.Delete}; if (lineExist) { Rooms.TryRemove(line.ToString(), out var _); diff --git a/Sledgemapper.Shared/Entities/Tile.cs b/Sledgemapper.Shared/Entities/Tile.cs index 44b64ed..aa0583f 100644 --- a/Sledgemapper.Shared/Entities/Tile.cs +++ b/Sledgemapper.Shared/Entities/Tile.cs @@ -1,7 +1,14 @@ -namespace Sledgemapper.Shared.Entities +using System; + +namespace Sledgemapper.Shared.Entities { public abstract class BaseMapEntity { + public BaseMapEntity() + { + Timestamp = DateTime.UtcNow.Ticks; + } + public int X { get; set; } public int Y { get; set; } public string ID { get; set; } @@ -21,26 +28,27 @@ { public SnapPoint Start { get; set; } public SnapPoint End { get; set; } - public float Width {get;set;} - + public float Width { get; set; } + public override string ToString() { return $"{Start.X}_{Start.Y}_{Start.Index}_{End.X}_{End.Y}_{End.Index}"; } } - public class Room : BaseMapEntity + public class Room : BaseMapEntity { public SnapPoint Start { get; set; } public SnapPoint End { get; set; } - + public bool Delete { get; set; } + public override string ToString() { return $"{Start.X}_{Start.Y}_{Start.Index}_{End.X}_{End.Y}_{End.Index}"; } } - public class SnapPoint : BaseMapEntity + public class SnapPoint : BaseMapEntity { public int Index { get; set; } diff --git a/Sledgemapper/Content/Content.mgcb b/Sledgemapper/Content/Content.mgcb index 95cf371..9171191 100644 --- a/Sledgemapper/Content/Content.mgcb +++ b/Sledgemapper/Content/Content.mgcb @@ -3021,6 +3021,12 @@ /processorParam:TextureFormat=Color /build:overlays/zigzag-hieroglyph.png +#begin shaders/OutlineShader.fx +/importer:EffectImporter +/processor:EffectProcessor +/processorParam:DebugMode=Auto +/build:shaders/OutlineShader.fx + #begin tiles/tile01.png /importer:TextureImporter /processor:TextureProcessor diff --git a/Sledgemapper/Content/shaders/OutlineShader.fx b/Sledgemapper/Content/shaders/OutlineShader.fx new file mode 100644 index 0000000..03b8d15 --- /dev/null +++ b/Sledgemapper/Content/shaders/OutlineShader.fx @@ -0,0 +1,92 @@ +#if OPENGL +#define SV_POSITION POSITION +#define VS_SHADERMODEL vs_3_0 +#define PS_SHADERMODEL ps_3_0 +#else +#define VS_SHADERMODEL vs_4_0_level_9_1 +#define PS_SHADERMODEL ps_4_0_level_9_1 +#endif +float2 TexelSize; // should be (1f/textureSize.X, 1f/textureSize.Y) +int shadow; +int BorderSize; +float R; +float G; +float B; + +Texture2D SpriteTexture; +sampler2D SpriteTextureSampler = sampler_state +{ + Texture = ; +}; +struct VertexShaderOutput +{ + float4 Color : COLOR0; + float2 TextureCoordinates : TEXCOORD0; +}; + +sampler ColorMapSampler = sampler_state +{ + Texture = ; + MinFilter = Linear; + MagFilter = Linear; + MipFilter = Linear; + AddressU = Clamp; + AddressV = Clamp; +}; + + +float4 MainPS(VertexShaderOutput input) : COLOR +{ +float4 color = tex2D(ColorMapSampler, input.TextureCoordinates); +float2 offsetX = float2(TexelSize.x, 0); +float2 offsetY = { 0, TexelSize.y }; + +float2 offsetd1 = { TexelSize.x, TexelSize.y }; +float2 offsetd2 = { -TexelSize.x, -TexelSize.y }; +float2 offsetd3 = { TexelSize.x, -TexelSize.y }; +float2 offsetd4 = { -TexelSize.x, TexelSize.y }; + +if (color.a == 0) +{ + for (int i = 1; i < 16; i++) + { + if (i<=BorderSize) + { + float4 c1 = tex2D(ColorMapSampler, input.TextureCoordinates + offsetX*i); + float4 c2 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetX*i); + float4 c3 = tex2D(ColorMapSampler, input.TextureCoordinates + offsetY*i); + float4 c4 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetY*i); + + float4 d1 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd1*i); + float4 d2 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd2*i); + float4 d3 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd3*i); + float4 d4 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd4*i); + + if (color.a != c1.a || color.a != c2.a|| color.a != c3.a|| color.a != c4.a + || color.a != d1.a + || color.a != d2.a + || color.a != d3.a + || color.a != d4.a + ) + { + color.r=R; + color.g=G; + color.b=B; + color.a=1; + } + } + } + return color; +} + + + return color; +} + +technique SpriteDrawing +{ + pass P0 + { + PixelShader = compile PS_SHADERMODEL MainPS(); + } +}; \ No newline at end of file diff --git a/Sledgemapper/InsertMode.cs b/Sledgemapper/InsertMode.cs index f234f12..0081ecd 100644 --- a/Sledgemapper/InsertMode.cs +++ b/Sledgemapper/InsertMode.cs @@ -8,6 +8,7 @@ NewWall, NewLine, NewRoom, - NewTile + NewTile, + NewDelete } } diff --git a/Sledgemapper/Settings.cs b/Sledgemapper/Settings.cs index 343f071..46ab8cb 100644 --- a/Sledgemapper/Settings.cs +++ b/Sledgemapper/Settings.cs @@ -11,6 +11,8 @@ namespace Sledgemapper public Color GridColor { get; set; } public Color NoteColor { get; set; } public string MachineName { get; set; } + public int Thickness { get; internal set; } + public int Threshold { get; internal set; } public Settings() { diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 5c1aae4..be128b5 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -4,7 +4,9 @@ using Microsoft.AspNetCore.SignalR.Client; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; +using MonoGame.Extended; using Myra; +using Myra.Graphics2D; using Myra.Graphics2D.Brushes; using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; @@ -39,6 +41,7 @@ namespace Sledgemapper private Texture2D _comment; private readonly Session _sessionData; private AuthenticateResponse _authResponse; + private RenderTarget2D rendertarget; private MainWidget _mainWidget; private bool _showCellNumbers; private readonly Settings _settings; @@ -89,9 +92,28 @@ namespace Sledgemapper ExceptionlessClient.Default.SubmitEvent(new Event { Message = "Initialize", Type = "AppLifecycle", Source = _settings.MachineName }); IsMouseVisible = true; Window.AllowUserResizing = true; + Window.ClientSizeChanged += OnClientSizeChanged; + base.Initialize(); } + private void OnClientSizeChanged(object sender, EventArgs e) + { + rendertarget?.Dispose(); + try + { + + // rendertarget = new RenderTarget2D(GraphicsDevice, _graphics.PreferredBackBufferWidth, _graphics.PreferredBackBufferHeight, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8, 0, RenderTargetUsage.PreserveContents); + rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); + + } + catch + { + System.Console.WriteLine("rendertarget dispose exception"); + } + + } + private void AddItemToToolGrid(Grid grid, EventHandler eventAction, string folder) { var tilesFolderContent = Content.LoadContentFolder(folder); @@ -114,7 +136,13 @@ namespace Sledgemapper protected override void LoadContent() { _spriteBatch = new SpriteBatch(GraphicsDevice); + outlineShader = Content.Load("shaders/OutlineShader"); + // outlineShader.Parameters["Thickness"].SetValue((float)_settings.Thickness); + // outlineShader.Parameters["shadow"].SetValue(1); + // outlineShader.Parameters["ScreenSize"].SetValue( + // new Vector2(GraphicsDevice.Viewport.Bounds.Width, GraphicsDevice.Viewport.Bounds.Height)); MyraEnvironment.Game = this; + rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); _mainWidget = new MainWidget(); @@ -137,6 +165,7 @@ namespace Sledgemapper _mainWidget.BtnToolbarRoom.Click += OnBtnToolbarRoomClicked; _mainWidget.BtnToolbarTile.Click += OnBtnToolbarTileClicked; _mainWidget.BtnToolbarWall.Click += OnBtnToolbarWallClicked; + _mainWidget.BtnToolbarDelete.Click += OnBtnToolbarDeleteClicked; AddItemToToolGrid(_mainWidget.GridTiles, OnTileButtonClicked, "tiles"); AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls"); @@ -149,6 +178,11 @@ namespace Sledgemapper _desktop.Root = _mainWidget; } + private void OnBtnToolbarDeleteClicked(object sender, EventArgs e) + { + _state.InsertMode = InsertMode.NewDelete; + } + private void OnBtnToolbarWallClicked(object sender, EventArgs e) { _state.InsertMode = InsertMode.NewWall; @@ -272,7 +306,7 @@ namespace Sledgemapper _state.SelectOverlay(screenPosition); } - if (_state.InsertMode == InsertMode.NewLine || _state.InsertMode == InsertMode.NewRoom) + if (_state.InsertMode == InsertMode.NewLine || _state.InsertMode == InsertMode.NewRoom || _state.InsertMode == InsertMode.NewDelete) { _state.SelectClosestSnapPoint(screenPosition); } @@ -282,6 +316,16 @@ namespace Sledgemapper // CenterOnSelectedTile(); // } + if (newState.IsKeyUp(Keys.Up) && (newState.IsKeyUp(Keys.Up) != oldState.IsKeyUp(Keys.Up))) + { + _settings.Thickness++; + } + + if (newState.IsKeyUp(Keys.Down) && (newState.IsKeyUp(Keys.Down) != oldState.IsKeyUp(Keys.Down))) + { + _settings.Threshold++; + } + if (!newState.IsKeyDown(Keys.LeftControl) && mouseState.LeftButton == ButtonState.Pressed && mouseState.LeftButton == oldMouseState.LeftButton) { _viewportCenter = new Vector3(_viewportCenter.X + mouseState.Position.X - oldMouseState.Position.X, _viewportCenter.Y + mouseState.Position.Y - oldMouseState.Position.Y, 0); @@ -410,6 +454,31 @@ namespace Sledgemapper } + + if (_state.InsertMode == InsertMode.NewDelete && newState.IsKeyDown(Keys.LeftControl) + && mouseState.LeftButton == ButtonState.Released + && mouseState.LeftButton != oldMouseState.LeftButton) + { + if (_state.LineStart is null) + { + _state.LineStart = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index }; + } + else + { + + var line = new Room + { + Start = new SnapPoint { X = _state.LineStart.X, Y = _state.LineStart.Y, Index = _state.LineStart.Index }, + End = new SnapPoint { X = _state.SelectedSnapPoint.X, Y = _state.SelectedSnapPoint.Y, Index = _state.SelectedSnapPoint.Index }, + Delete = true + }; + _state.LineStart = null; + _state.LineWidth = 1; + _sessionData.NewRoom(line); + } + + } + if (_state.InsertMode == InsertMode.NewLine && _state.LineStart != null) { if (mouseState.ScrollWheelValue > oldMouseState.ScrollWheelValue) @@ -527,23 +596,73 @@ namespace Sledgemapper { return; } - GraphicsDevice.Clear(_settings.BackgroundColor); - var visibleTilesX = GraphicsDevice.Viewport.Width / _state.TileSize + 1; var visibleTilesY = GraphicsDevice.Viewport.Height / _state.TileSize + 1; - _spriteBatch.Begin(transformMatrix: Matrix.CreateTranslation(_viewportCenter)); - DrawTiles(); - + GraphicsDevice.SetRenderTarget(rendertarget); + GraphicsDevice.Clear(Color.Transparent); -DrawBorderLines(); - DrawBorderRooms(); - DrawInnerLines(); - DrawInnerRooms(); - DrawWalls(); - DrawOverlays(); - DrawNotes(); + _spriteBatch.Begin( + transformMatrix: Matrix.CreateTranslation(_viewportCenter), + blendState: BlendState.Opaque, + sortMode: SpriteSortMode.Immediate); + + // DrawTiles(); + + var items = new List(); + items.AddRange(_sessionData.Lines.Values); + items.AddRange(_sessionData.Rooms.Values); + + foreach (var item in items.OrderBy(t => t.Timestamp)) + { + switch (item) + { + case Line l: + DrawLine(l); + break; + + case Room room: + if (room.Delete) + { + DrawDelete(room); + } + else + { + DrawRoom(room); + } + break; + } + } + + //DrawWalls(); + + _spriteBatch.End(); + + GraphicsDevice.SetRenderTarget(null); + GraphicsDevice.Clear(_settings.BackgroundColor); + + Vector2 texelSize = new Vector2((float)(1 / (double)rendertarget.Width), (float)(1 / (double)rendertarget.Height)); + outlineShader.Parameters["TexelSize"].SetValue(texelSize); + outlineShader.Parameters["BorderSize"].SetValue(_state.TileSize / 8); + + outlineShader.Parameters["R"].SetValue(_settings.OverlayTintColor.R / 255.0f); + outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f); + outlineShader.Parameters["B"].SetValue(_settings.OverlayTintColor.B / 255.0f); + + _spriteBatch.Begin( + effect: outlineShader, + blendState: BlendState.AlphaBlend, + sortMode: SpriteSortMode.Immediate); + _spriteBatch.Draw(rendertarget, Vector2.Zero, null, Color.White); + _spriteBatch.End(); + + _spriteBatch.Begin( + transformMatrix: Matrix.CreateTranslation(_viewportCenter), + sortMode: SpriteSortMode.Deferred); + + //DrawOverlays(); + //DrawNotes(); DrawGrid(visibleTilesX, visibleTilesY); if (string.IsNullOrWhiteSpace(_sessionData.SessionName)) @@ -711,7 +830,7 @@ DrawBorderLines(); } } - if (_state.InsertMode == InsertMode.NewRoom && _state.SelectedSnapPoint != null) + if ((_state.InsertMode == InsertMode.NewRoom || _state.InsertMode == InsertMode.NewDelete) && _state.SelectedSnapPoint != null) { var snapPoint = new Vector2(_state.SelectedSnapPoint.X * _state.TileSize, _state.SelectedSnapPoint.Y * _state.TileSize); @@ -807,7 +926,6 @@ DrawBorderLines(); } } } - _spriteBatch.End(); try @@ -1075,10 +1193,6 @@ DrawBorderLines(); whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - _borderWidth / 2, (int)posY - _borderWidth / 2, _state.TileSize + _borderWidth, _state.TileSize + _borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - // _spriteBatch.DrawRectangle(new Rectangle((int)posX-4, (int)posY-4, _state.TileSize+_borderWidth, _state.TileSize+_borderWidth), _settings.OverlayTintColor,1); - - // _spriteBatch.Draw(content, new Vector2(posX, posY), - // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); } //inner pass @@ -1094,24 +1208,150 @@ DrawBorderLines(); whiteRectangle.SetData(new[] { Color.White }); _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - - // _spriteBatch.DrawRectangle(new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), _settings.BackgroundColor,1); - - // _spriteBatch.Draw(content, new Vector2(posX, posY), - // null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); } } - private void DrawBorderLines() + private void DrawLine(Line tile) { - // var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); - // borderRectangle.SetData(new[] { _settings.OverlayTintColor }); + //inner pass + // var content = Content.Load($"tiles/{tile.ID}"); - // var innerRectangle = new Texture2D(GraphicsDevice, 1, 1); - // innerRectangle.SetData(new[] { Color.White }); + var posX = tile.Start.X * _state.TileSize; + var posY = tile.Start.Y * _state.TileSize; - // border pass - foreach (var tile in _sessionData.Lines.Values) + var endposX = tile.End.X * _state.TileSize; + var endposY = tile.End.Y * _state.TileSize; + + switch (tile.Start.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; + + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } + + switch (tile.End.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; + + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + + var length = (int)Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); + var height = (int)(_state.TileSize * tile.Width); + if (length > 0) + { + var innerRectangle = new Texture2D(GraphicsDevice, 1, 1); + innerRectangle.SetData(new[] { Color.White }); + var angle = Math.Atan2(posY - endposY, endposX - posX); + var angleRad = -(float)angle; + _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, length, height), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1); + } + } + + + private void DrawRoom(Room tile) + { + var posX = tile.Start.X * _state.TileSize; + var posY = tile.Start.Y * _state.TileSize; + + var endposX = tile.End.X * _state.TileSize; + var endposY = tile.End.Y * _state.TileSize; + + switch (tile.Start.Index) + { + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; + + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } + + switch (tile.End.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; + + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + + if (posX != endposX && posY != endposY) + { + + var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); + borderRectangle.SetData(new[] { Color.White }); + if ((posX < endposX && posY < endposY)) + + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + else if ((posX > endposX && posY > endposY)) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + + else + { + if (endposY < posY) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, endposY, endposX - posX, posY - endposY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + + if (endposX < posX) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + } + + + + // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); + } + } + Effect outlineShader; // Outline shader effect + + private void DrawDelete() + { + + + //inner pass + foreach (var tile in _sessionData.Rooms.Values.Where(r => r.Delete)) { // var content = Content.Load($"tiles/{tile.ID}"); @@ -1155,255 +1395,119 @@ DrawBorderLines(); break; } - var length = (int)Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); - var height = (int)(_state.TileSize * tile.Width) + _borderWidth; - if (length > 0) - { - - var borderRectangle = new Texture2D(GraphicsDevice, length, height); - borderRectangle.SetData(Enumerable.Range(0, length * height).Select(i => _settings.OverlayTintColor).ToArray()); - var angle = Math.Atan2(posY - endposY, endposX - posX); - var angleRad = -(float)angle; - _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, angleRad, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); - } - } - - - } - - private void DrawInnerLines() - { - //inner pass - foreach (var tile in _sessionData.Lines.Values) - { - // var content = Content.Load($"tiles/{tile.ID}"); - - var posX = tile.Start.X * _state.TileSize; - var posY = tile.Start.Y * _state.TileSize; - - var endposX = tile.End.X * _state.TileSize; - var endposY = tile.End.Y * _state.TileSize; - - switch (tile.Start.Index) - { - case 1: - break; - case 2: - posX += _state.TileSize / 2; - break; - case 3: - posY += _state.TileSize / 2; - - break; - case 4: - posX += _state.TileSize / 2; - posY += _state.TileSize / 2; - break; - } - - switch (tile.End.Index) - { - case 1: - break; - case 2: - endposX += _state.TileSize / 2; - break; - case 3: - endposY += _state.TileSize / 2; - - break; - case 4: - endposX += _state.TileSize / 2; - endposY += _state.TileSize / 2; - break; - } - - var length = (int)Math.Sqrt(Math.Pow(posX - endposX, 2) + Math.Pow(posY - endposY, 2)); - var height = (int)(_state.TileSize * tile.Width); - if (length > 0) - { - var innerRectangle = new Texture2D(GraphicsDevice, 1, 1); - innerRectangle.SetData(new[] { Color.White }); - var angle = Math.Atan2(posY - endposY, endposX - posX); - var angleRad = -(float)angle; - _spriteBatch.Draw(innerRectangle, new Rectangle(posX, posY, length, height), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1); - } - } - } - - private void DrawBorderRooms() - { - // var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); - // borderRectangle.SetData(new[] { _settings.OverlayTintColor }); - - // var innerRectangle = new Texture2D(GraphicsDevice, 1, 1); - // innerRectangle.SetData(new[] { Color.White }); - - // border pass - foreach (var tile in _sessionData.Rooms.Values) - { - // var content = Content.Load($"tiles/{tile.ID}"); - - var posX = tile.Start.X * _state.TileSize; - var posY = tile.Start.Y * _state.TileSize; - - var endposX = tile.End.X * _state.TileSize; - var endposY = tile.End.Y * _state.TileSize; - - switch (tile.Start.Index) - { - case 1: - break; - case 2: - posX += _state.TileSize / 2; - break; - case 3: - posY += _state.TileSize / 2; - - break; - case 4: - posX += _state.TileSize / 2; - posY += _state.TileSize / 2; - break; - } - - switch (tile.End.Index) - { - case 1: - break; - case 2: - endposX += _state.TileSize / 2; - break; - case 3: - endposY += _state.TileSize / 2; - - break; - case 4: - endposX += _state.TileSize / 2; - endposY += _state.TileSize / 2; - break; - } - -// posX-=_borderWidth/2; -// posY-=_borderWidth/2; if (posX != endposX && posY != endposY) { var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); - borderRectangle.SetData(new [] { _settings.OverlayTintColor }); - if ( (posX < endposX && posY < endposY)) - + borderRectangle.SetData(new[] { Color.Transparent }); + if ((posX < endposX && posY < endposY)) + + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + else if ((posX > endposX && posY > endposY)) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + + else + { + if (endposY < posY) { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX-_borderWidth/2, posY-_borderWidth/2, endposX - posX+_borderWidth, endposY - posY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - else if ((posX > endposX && posY > endposY) ) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX+_borderWidth/2, posY+_borderWidth/2, endposX - posX-_borderWidth, endposY - posY-_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, endposY, endposX - posX, posY - endposY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); } - else + if (endposX < posX) { - if (endposY < posY) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX-_borderWidth/2, endposY-_borderWidth/2, endposX - posX+_borderWidth, posY - endposY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - - if (endposX < posX) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(endposX-_borderWidth/2, posY-_borderWidth/2, posX - endposX+_borderWidth, endposY - posY+_borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } + _spriteBatch.Draw(borderRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); } + } // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); } } - - } - private void DrawInnerRooms() + private void DrawDelete(Room tile) { - + //inner pass - foreach (var tile in _sessionData.Rooms.Values) + // var content = Content.Load($"tiles/{tile.ID}"); + + var posX = tile.Start.X * _state.TileSize; + var posY = tile.Start.Y * _state.TileSize; + + var endposX = tile.End.X * _state.TileSize; + var endposY = tile.End.Y * _state.TileSize; + + switch (tile.Start.Index) { - // var content = Content.Load($"tiles/{tile.ID}"); + case 1: + break; + case 2: + posX += _state.TileSize / 2; + break; + case 3: + posY += _state.TileSize / 2; - var posX = tile.Start.X * _state.TileSize; - var posY = tile.Start.Y * _state.TileSize; + break; + case 4: + posX += _state.TileSize / 2; + posY += _state.TileSize / 2; + break; + } - var endposX = tile.End.X * _state.TileSize; - var endposY = tile.End.Y * _state.TileSize; + switch (tile.End.Index) + { + case 1: + break; + case 2: + endposX += _state.TileSize / 2; + break; + case 3: + endposY += _state.TileSize / 2; + + break; + case 4: + endposX += _state.TileSize / 2; + endposY += _state.TileSize / 2; + break; + } + + if (posX != endposX && posY != endposY) + { + + var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); + borderRectangle.SetData(new[] { Color.Transparent }); + if ((posX < endposX && posY < endposY)) - switch (tile.Start.Index) { - case 1: - break; - case 2: - posX += _state.TileSize / 2; - break; - case 3: - posY += _state.TileSize / 2; - - break; - case 4: - posX += _state.TileSize / 2; - posY += _state.TileSize / 2; - break; + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } + else if ((posX > endposX && posY > endposY)) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); } - switch (tile.End.Index) + else { - case 1: - break; - case 2: - endposX += _state.TileSize / 2; - break; - case 3: - endposY += _state.TileSize / 2; + if (endposY < posY) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(posX, endposY, endposX - posX, posY - endposY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } - break; - case 4: - endposX += _state.TileSize / 2; - endposY += _state.TileSize / 2; - break; + if (endposX < posX) + { + _spriteBatch.Draw(borderRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + } } - if (posX != endposX && posY != endposY) - { - - var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); - borderRectangle.SetData(new [] {Color.White }); - if ( (posX < endposX && posY < endposY)) - - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX , posY , endposX - posX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - else if ((posX > endposX && posY > endposY) ) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX , posY , endposX - posX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - - else - { - if (endposY < posY) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX, endposY, endposX - posX , posY - endposY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - - if (endposX < posX) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(endposX , posY , posX - endposX , endposY - posY ), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - } - - // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); - } + // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); } } diff --git a/Sledgemapper/Sledgemapper.csproj b/Sledgemapper/Sledgemapper.csproj index 11c2001..f46b757 100644 --- a/Sledgemapper/Sledgemapper.csproj +++ b/Sledgemapper/Sledgemapper.csproj @@ -44,12 +44,13 @@ + 5.0.0 - + diff --git a/Sledgemapper/UI/MainWidget.Generated.cs b/Sledgemapper/UI/MainWidget.Generated.cs index 76e9cb3..0ca05b8 100644 --- a/Sledgemapper/UI/MainWidget.Generated.cs +++ b/Sledgemapper/UI/MainWidget.Generated.cs @@ -1,14 +1,18 @@ -/* Generated by MyraPad at 21/12/2020 21:54:47 */ +/* Generated by MyraPad at 07/01/2021 22:44:41 */ +using Myra; using Myra.Graphics2D; using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; using Myra.Graphics2D.Brushes; -#if !STRIDE +#if MONOGAME || FNA using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; -#else +#elif STRIDE using Stride.Core.Mathematics; +#else +using System.Drawing; +using System.Numerics; #endif namespace Sledgemapper.UI @@ -131,7 +135,7 @@ namespace Sledgemapper.UI BtnToolbarTile.Id = "BtnToolbarTile"; BtnToolbarLine = new ImageTextButton(); - BtnToolbarLine.Text = " L"; + BtnToolbarLine.Text = " C"; BtnToolbarLine.Width = 40; BtnToolbarLine.Height = 40; BtnToolbarLine.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; @@ -151,18 +155,28 @@ namespace Sledgemapper.UI BtnToolbarRoom.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; BtnToolbarRoom.Id = "BtnToolbarRoom"; + BtnToolbarDelete = new ImageTextButton(); + BtnToolbarDelete.Text = " D"; + BtnToolbarDelete.Width = 40; + BtnToolbarDelete.Height = 40; + BtnToolbarDelete.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; + BtnToolbarDelete.Id = "BtnToolbarDelete"; + var horizontalStackPanel1 = new HorizontalStackPanel(); horizontalStackPanel1.Spacing = 5; horizontalStackPanel1.Proportions.Add(new Proportion { Type = Myra.Graphics2D.UI.ProportionType.Auto, }); - horizontalStackPanel1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Top; - horizontalStackPanel1.Height = 50; + horizontalStackPanel1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Center; + horizontalStackPanel1.Height = 51; + horizontalStackPanel1.Padding = new Thickness(4, 0, 0, 0); + horizontalStackPanel1.Background = new SolidBrush("#404040FF"); horizontalStackPanel1.Widgets.Add(BtnToolbarTile); horizontalStackPanel1.Widgets.Add(BtnToolbarLine); horizontalStackPanel1.Widgets.Add(BtnToolbarWall); horizontalStackPanel1.Widgets.Add(BtnToolbarRoom); + horizontalStackPanel1.Widgets.Add(BtnToolbarDelete); GridTiles = new Grid(); GridTiles.ColumnSpacing = 8; @@ -330,6 +344,7 @@ namespace Sledgemapper.UI public ImageTextButton BtnToolbarLine; public ImageTextButton BtnToolbarWall; public ImageTextButton BtnToolbarRoom; + public ImageTextButton BtnToolbarDelete; public Grid GridTiles; public Grid GridWalls; public Grid GridOverlays; @@ -337,4 +352,4 @@ namespace Sledgemapper.UI public Label lblUsername; public Label lblSessionName; } -} \ No newline at end of file +} diff --git a/Sledgemapper/UI/mainwidget.xml b/Sledgemapper/UI/mainwidget.xml index 56fbb00..a00abec 100644 --- a/Sledgemapper/UI/mainwidget.xml +++ b/Sledgemapper/UI/mainwidget.xml @@ -32,14 +32,15 @@ - + - + + From be8e56cf2760e0ac467b6079b64fe7f7fcf5531b Mon Sep 17 00:00:00 2001 From: Michele Date: Sat, 9 Jan 2021 20:50:57 +0000 Subject: [PATCH 09/20] working shader --- Sledgemapper/Content/shaders/OutlineShader.fx | 53 ++---- Sledgemapper/Settings.cs | 2 - Sledgemapper/Sledgemapper.cs | 179 ++---------------- 3 files changed, 32 insertions(+), 202 deletions(-) diff --git a/Sledgemapper/Content/shaders/OutlineShader.fx b/Sledgemapper/Content/shaders/OutlineShader.fx index 03b8d15..4f9f5ad 100644 --- a/Sledgemapper/Content/shaders/OutlineShader.fx +++ b/Sledgemapper/Content/shaders/OutlineShader.fx @@ -7,60 +7,46 @@ #define PS_SHADERMODEL ps_4_0_level_9_1 #endif float2 TexelSize; // should be (1f/textureSize.X, 1f/textureSize.Y) -int shadow; int BorderSize; float R; float G; float B; -Texture2D SpriteTexture; sampler2D SpriteTextureSampler = sampler_state { Texture = ; }; + struct VertexShaderOutput { float4 Color : COLOR0; float2 TextureCoordinates : TEXCOORD0; }; -sampler ColorMapSampler = sampler_state -{ - Texture = ; - MinFilter = Linear; - MagFilter = Linear; - MipFilter = Linear; - AddressU = Clamp; - AddressV = Clamp; -}; - - float4 MainPS(VertexShaderOutput input) : COLOR { -float4 color = tex2D(ColorMapSampler, input.TextureCoordinates); -float2 offsetX = float2(TexelSize.x, 0); -float2 offsetY = { 0, TexelSize.y }; + float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates); + + if (color.a > 0) + { + return color; + } -float2 offsetd1 = { TexelSize.x, TexelSize.y }; -float2 offsetd2 = { -TexelSize.x, -TexelSize.y }; -float2 offsetd3 = { TexelSize.x, -TexelSize.y }; -float2 offsetd4 = { -TexelSize.x, TexelSize.y }; + float2 offsetX = float2(TexelSize.x, 0); + float2 offsetY = float2( 0, TexelSize.y ); -if (color.a == 0) -{ - for (int i = 1; i < 16; i++) + for (int i = 1; i < 10; i++) { if (i<=BorderSize) { - float4 c1 = tex2D(ColorMapSampler, input.TextureCoordinates + offsetX*i); - float4 c2 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetX*i); - float4 c3 = tex2D(ColorMapSampler, input.TextureCoordinates + offsetY*i); - float4 c4 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetY*i); - - float4 d1 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd1*i); - float4 d2 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd2*i); - float4 d3 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd3*i); - float4 d4 = tex2D(ColorMapSampler, input.TextureCoordinates - offsetd4*i); + float4 c1 = tex2D(SpriteTextureSampler, input.TextureCoordinates + offsetX*i); + float4 c2 = tex2D(SpriteTextureSampler, input.TextureCoordinates - offsetX*i); + float4 c3 = tex2D(SpriteTextureSampler, input.TextureCoordinates + offsetY*i); + float4 c4 = tex2D(SpriteTextureSampler, input.TextureCoordinates - offsetY*i); + float4 d1 = tex2D(SpriteTextureSampler, input.TextureCoordinates - (offsetX+offsetY)*i); + float4 d2 = tex2D(SpriteTextureSampler, input.TextureCoordinates + (offsetX+offsetY)*i); + float4 d3 = tex2D(SpriteTextureSampler, input.TextureCoordinates - (offsetX-offsetY)*i); + float4 d4 = tex2D(SpriteTextureSampler, input.TextureCoordinates - (-offsetX+offsetY)*i); if (color.a != c1.a || color.a != c2.a|| color.a != c3.a|| color.a != c4.a || color.a != d1.a @@ -76,9 +62,6 @@ if (color.a == 0) } } } - return color; -} - return color; } diff --git a/Sledgemapper/Settings.cs b/Sledgemapper/Settings.cs index 46ab8cb..343f071 100644 --- a/Sledgemapper/Settings.cs +++ b/Sledgemapper/Settings.cs @@ -11,8 +11,6 @@ namespace Sledgemapper public Color GridColor { get; set; } public Color NoteColor { get; set; } public string MachineName { get; set; } - public int Thickness { get; internal set; } - public int Threshold { get; internal set; } public Settings() { diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index be128b5..68fcb6e 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -6,7 +6,6 @@ using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using MonoGame.Extended; using Myra; -using Myra.Graphics2D; using Myra.Graphics2D.Brushes; using Myra.Graphics2D.TextureAtlases; using Myra.Graphics2D.UI; @@ -79,7 +78,6 @@ namespace Sledgemapper _mainWidget.lblConnectionStatus.Text = "Reconnecting"; await Task.Yield(); } - private async Task OnHubReconnected(string arg) { ExceptionlessClient.Default.SubmitEvent(new Event { Message = "Hub reconnected", Type = "SignalR Client Events", Source = _settings.MachineName }); @@ -103,8 +101,8 @@ namespace Sledgemapper try { - // rendertarget = new RenderTarget2D(GraphicsDevice, _graphics.PreferredBackBufferWidth, _graphics.PreferredBackBufferHeight, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8, 0, RenderTargetUsage.PreserveContents); - rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); + rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents); + //rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); } catch @@ -137,12 +135,8 @@ namespace Sledgemapper { _spriteBatch = new SpriteBatch(GraphicsDevice); outlineShader = Content.Load("shaders/OutlineShader"); - // outlineShader.Parameters["Thickness"].SetValue((float)_settings.Thickness); - // outlineShader.Parameters["shadow"].SetValue(1); - // outlineShader.Parameters["ScreenSize"].SetValue( - // new Vector2(GraphicsDevice.Viewport.Bounds.Width, GraphicsDevice.Viewport.Bounds.Height)); MyraEnvironment.Game = this; - rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); + rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents); _mainWidget = new MainWidget(); @@ -167,7 +161,6 @@ namespace Sledgemapper _mainWidget.BtnToolbarWall.Click += OnBtnToolbarWallClicked; _mainWidget.BtnToolbarDelete.Click += OnBtnToolbarDeleteClicked; - AddItemToToolGrid(_mainWidget.GridTiles, OnTileButtonClicked, "tiles"); AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls"); AddItemToToolGrid(_mainWidget.GridOverlays, OnOverlayButtonClicked, "overlays"); @@ -191,7 +184,6 @@ namespace Sledgemapper private void OnBtnToolbarTileClicked(object sender, EventArgs e) { _state.InsertMode = InsertMode.NewTile; - } private void OnBtnToolbarRoomClicked(object sender, EventArgs e) @@ -279,7 +271,6 @@ namespace Sledgemapper if (IsActive && GraphicsDevice.Viewport.Bounds.Contains(Mouse.GetState().Position) && !_desktop.IsMouseOverGUI && !_desktop.HasModalWidget) { - var mouseState = Mouse.GetState(); var screenPosition = new Point(mouseState.Position.X - (int)_viewportCenter.X, mouseState.Position.Y - (int)_viewportCenter.Y); @@ -311,21 +302,6 @@ namespace Sledgemapper _state.SelectClosestSnapPoint(screenPosition); } - // if (newState.IsKeyDown(Keys.LeftControl) && newState.IsKeyDown(Keys.C) && !oldState.IsKeyDown(Keys.C)) - // { - // CenterOnSelectedTile(); - // } - - if (newState.IsKeyUp(Keys.Up) && (newState.IsKeyUp(Keys.Up) != oldState.IsKeyUp(Keys.Up))) - { - _settings.Thickness++; - } - - if (newState.IsKeyUp(Keys.Down) && (newState.IsKeyUp(Keys.Down) != oldState.IsKeyUp(Keys.Down))) - { - _settings.Threshold++; - } - if (!newState.IsKeyDown(Keys.LeftControl) && mouseState.LeftButton == ButtonState.Pressed && mouseState.LeftButton == oldMouseState.LeftButton) { _viewportCenter = new Vector3(_viewportCenter.X + mouseState.Position.X - oldMouseState.Position.X, _viewportCenter.Y + mouseState.Position.Y - oldMouseState.Position.Y, 0); @@ -372,7 +348,6 @@ namespace Sledgemapper viewNoteButton.Click += OnContextMenuViewNoteClick; deleteNoteButton.Click += OnContextMenuDeleteNoteClick; - popup.AddChild(viewNoteButton); popup.AddChild(deleteNoteButton); } @@ -393,7 +368,6 @@ namespace Sledgemapper _sessionData.NewTile(_state.SelectedTile, _state.CurrentTileId); break; - case InsertMode.Wall: _sessionData.NewWall(_state.SelectedWall, _state.CurrentWallId); @@ -425,10 +399,7 @@ namespace Sledgemapper _state.LineStart = null; _state.LineWidth = 1; _sessionData.NewLine(line); - - } - } if (_state.InsertMode == InsertMode.NewRoom && newState.IsKeyDown(Keys.LeftControl) @@ -599,22 +570,17 @@ namespace Sledgemapper var visibleTilesX = GraphicsDevice.Viewport.Width / _state.TileSize + 1; var visibleTilesY = GraphicsDevice.Viewport.Height / _state.TileSize + 1; - GraphicsDevice.SetRenderTarget(rendertarget); - GraphicsDevice.Clear(Color.Transparent); - _spriteBatch.Begin( + _spriteBatch.Begin(depthStencilState: DepthStencilState.None, transformMatrix: Matrix.CreateTranslation(_viewportCenter), blendState: BlendState.Opaque, - sortMode: SpriteSortMode.Immediate); - // DrawTiles(); + sortMode: SpriteSortMode.Deferred); - var items = new List(); - items.AddRange(_sessionData.Lines.Values); - items.AddRange(_sessionData.Rooms.Values); + GraphicsDevice.Clear(Color.Transparent); - foreach (var item in items.OrderBy(t => t.Timestamp)) + foreach (var item in _sessionData.Lines.Values.Union(_sessionData.Rooms.Values).OrderBy(t => t.Timestamp)) { switch (item) { @@ -640,7 +606,6 @@ namespace Sledgemapper _spriteBatch.End(); GraphicsDevice.SetRenderTarget(null); - GraphicsDevice.Clear(_settings.BackgroundColor); Vector2 texelSize = new Vector2((float)(1 / (double)rendertarget.Width), (float)(1 / (double)rendertarget.Height)); outlineShader.Parameters["TexelSize"].SetValue(texelSize); @@ -651,9 +616,10 @@ namespace Sledgemapper outlineShader.Parameters["B"].SetValue(_settings.OverlayTintColor.B / 255.0f); _spriteBatch.Begin( - effect: outlineShader, + effect: outlineShader, blendState: BlendState.AlphaBlend, - sortMode: SpriteSortMode.Immediate); + sortMode: SpriteSortMode.Deferred); + GraphicsDevice.Clear(_settings.BackgroundColor); _spriteBatch.Draw(rendertarget, Vector2.Zero, null, Color.White); _spriteBatch.End(); @@ -661,8 +627,8 @@ namespace Sledgemapper transformMatrix: Matrix.CreateTranslation(_viewportCenter), sortMode: SpriteSortMode.Deferred); - //DrawOverlays(); - //DrawNotes(); + DrawOverlays(); + DrawNotes(); DrawGrid(visibleTilesX, visibleTilesY); if (string.IsNullOrWhiteSpace(_sessionData.SessionName)) @@ -820,11 +786,9 @@ namespace Sledgemapper if (l > 0) { var whiteRectangle = new Texture2D(GraphicsDevice, (int)l, (int)(_state.TileSize * _state.LineWidth)); - // whiteRectangle.SetData(new[] { new Color(Color.Red, 80) }); whiteRectangle.SetData(Enumerable.Range(0, (int)l * ((int)(_state.TileSize * _state.LineWidth))).Select(i => new Color(Color.Red, 80)).ToArray()); - _spriteBatch.Draw(whiteRectangle, new Rectangle(posX, posY, (int)l, (int)(_state.TileSize * _state.LineWidth)), null, Color.White, angleRad, new Vector2(0, 0), SpriteEffects.None, 1); } } @@ -850,17 +814,12 @@ namespace Sledgemapper break; } - _spriteBatch.DrawCircle(snapPoint, _state.TileSize / 5f, 100, Color.Red, 2); + _spriteBatch.DrawCircle(snapPoint, _state.TileSize / 6f, 50, Color.Red, 2); //line preview if (_state.LineStart != null) { - - // border pass - - // var content = Content.Load($"tiles/{tile.ID}"); - var posX = _state.LineStart.X * _state.TileSize; var posY = _state.LineStart.Y * _state.TileSize; @@ -1210,12 +1169,8 @@ namespace Sledgemapper _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); } } - private void DrawLine(Line tile) { - //inner pass - // var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.Start.X * _state.TileSize; var posY = tile.Start.Y * _state.TileSize; @@ -1268,7 +1223,7 @@ namespace Sledgemapper } } - + private void DrawRoom(Room tile) { var posX = tile.Start.X * _state.TileSize; @@ -1338,105 +1293,12 @@ namespace Sledgemapper _spriteBatch.Draw(borderRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); } } - - - - // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); } } Effect outlineShader; // Outline shader effect - private void DrawDelete() - { - - - //inner pass - foreach (var tile in _sessionData.Rooms.Values.Where(r => r.Delete)) - { - // var content = Content.Load($"tiles/{tile.ID}"); - - var posX = tile.Start.X * _state.TileSize; - var posY = tile.Start.Y * _state.TileSize; - - var endposX = tile.End.X * _state.TileSize; - var endposY = tile.End.Y * _state.TileSize; - - switch (tile.Start.Index) - { - case 1: - break; - case 2: - posX += _state.TileSize / 2; - break; - case 3: - posY += _state.TileSize / 2; - - break; - case 4: - posX += _state.TileSize / 2; - posY += _state.TileSize / 2; - break; - } - - switch (tile.End.Index) - { - case 1: - break; - case 2: - endposX += _state.TileSize / 2; - break; - case 3: - endposY += _state.TileSize / 2; - - break; - case 4: - endposX += _state.TileSize / 2; - endposY += _state.TileSize / 2; - break; - } - - if (posX != endposX && posY != endposY) - { - - var borderRectangle = new Texture2D(GraphicsDevice, 1, 1); - borderRectangle.SetData(new[] { Color.Transparent }); - if ((posX < endposX && posY < endposY)) - - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - else if ((posX > endposX && posY > endposY)) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, endposX - posX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - - else - { - if (endposY < posY) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(posX, endposY, endposX - posX, posY - endposY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - - if (endposX < posX) - { - _spriteBatch.Draw(borderRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } - } - - - - // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); - } - } - } - private void DrawDelete(Room tile) { - - - //inner pass - // var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.Start.X * _state.TileSize; var posY = tile.Start.Y * _state.TileSize; @@ -1504,10 +1366,6 @@ namespace Sledgemapper _spriteBatch.Draw(borderRectangle, new Rectangle(endposX, posY, posX - endposX, endposY - posY), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); } } - - - - // _spriteBatch.Draw(borderRectangle, new Rectangle(posX, posY, length, height), null, Color.White, 0, new Vector2(0, _borderWidth / 2), SpriteEffects.None, 1); } } @@ -1899,15 +1757,6 @@ namespace Sledgemapper _state.InsertMode = InsertMode.Overlay; } - private void OnTileButtonClicked(object sender, EventArgs e) - { - _state.CurrentTileId = ((ImageButton)sender).Id; - _mainWidget.ClearSelection(); - ((ImageButton)sender).Border = new SolidBrush(Color.Red); - ((ImageButton)sender).BorderThickness = new Myra.Graphics2D.Thickness(2); - _state.InsertMode = InsertMode.Tile; - } - private void OnWallButtonClicked(object sender, EventArgs e) { _state.CurrentWallId = ((ImageButton)sender).Id; From 24b773d8459ed053957f3d399cc3c1e01b39d86c Mon Sep 17 00:00:00 2001 From: Michele Date: Thu, 14 Jan 2021 23:34:14 +0000 Subject: [PATCH 10/20] improved shader performance --- Sledgemapper/Content/shaders/OutlineShader.fx | 177 ++++++++++++++---- Sledgemapper/Settings.cs | 3 +- Sledgemapper/Sledgemapper.cs | 18 +- 3 files changed, 160 insertions(+), 38 deletions(-) diff --git a/Sledgemapper/Content/shaders/OutlineShader.fx b/Sledgemapper/Content/shaders/OutlineShader.fx index 4f9f5ad..d4b90cf 100644 --- a/Sledgemapper/Content/shaders/OutlineShader.fx +++ b/Sledgemapper/Content/shaders/OutlineShader.fx @@ -11,6 +11,7 @@ int BorderSize; float R; float G; float B; +float2 ImageSize; sampler2D SpriteTextureSampler = sampler_state { @@ -25,46 +26,156 @@ struct VertexShaderOutput float4 MainPS(VertexShaderOutput input) : COLOR { - float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates); + // float4 color = tex2Dlod(SpriteTextureSampler, float4 (input.TextureCoordinates.x, input.TextureCoordinates.y, 0,0)); - if (color.a > 0) - { - return color; - } + // if (color.a > 0) + // { + // return color; + // } - float2 offsetX = float2(TexelSize.x, 0); - float2 offsetY = float2( 0, TexelSize.y ); + // float2 pixelSize.x = float2(pixelSize.x, 0); + // float2 pixelSize.y = float2( 0, pixelSize.y ); - for (int i = 1; i < 10; i++) - { - if (i<=BorderSize) - { - float4 c1 = tex2D(SpriteTextureSampler, input.TextureCoordinates + offsetX*i); - float4 c2 = tex2D(SpriteTextureSampler, input.TextureCoordinates - offsetX*i); - float4 c3 = tex2D(SpriteTextureSampler, input.TextureCoordinates + offsetY*i); - float4 c4 = tex2D(SpriteTextureSampler, input.TextureCoordinates - offsetY*i); - float4 d1 = tex2D(SpriteTextureSampler, input.TextureCoordinates - (offsetX+offsetY)*i); - float4 d2 = tex2D(SpriteTextureSampler, input.TextureCoordinates + (offsetX+offsetY)*i); - float4 d3 = tex2D(SpriteTextureSampler, input.TextureCoordinates - (offsetX-offsetY)*i); - float4 d4 = tex2D(SpriteTextureSampler, input.TextureCoordinates - (-offsetX+offsetY)*i); + // for (int i = 1; i < 10; i++) + // { + // if (i<=BorderSize) + // { + // float4 c1 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates + pixelSize.x*i).x, (input.TextureCoordinates + pixelSize.x*i).y,0,0)); + // float4 c2 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - pixelSize.x*i).x,(input.TextureCoordinates - pixelSize.x*i ).y ,0,0)); + // float4 c3 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates + pixelSize.y*i ).x,(input.TextureCoordinates + pixelSize.y*i ).y ,0,0)); + // float4 c4 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - pixelSize.y*i ).x,(input.TextureCoordinates - pixelSize.y*i ).y ,0,0)); + // float4 d1 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - (pixelSize.x+pixelSize.y)*i ).x,(input.TextureCoordinates - (pixelSize.x+pixelSize.y)*i ).y ,0,0)); + // float4 d2 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates + (pixelSize.x+pixelSize.y)*i).x,(input.TextureCoordinates + (pixelSize.x+pixelSize.y)*i).y ,0,0)); + // float4 d3 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - (pixelSize.x-pixelSize.y)*i ).x,(input.TextureCoordinates - (pixelSize.x-pixelSize.y)*i ).y ,0,0)); + // float4 d4 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - (-pixelSize.x+pixelSize.y)*i).x,(input.TextureCoordinates - (-pixelSize.x+pixelSize.y)*i).y ,0,0)); - if (color.a != c1.a || color.a != c2.a|| color.a != c3.a|| color.a != c4.a - || color.a != d1.a - || color.a != d2.a - || color.a != d3.a - || color.a != d4.a - ) - { - color.r=R; - color.g=G; - color.b=B; - color.a=1; - } + // if (color.a != c1.a || color.a != c2.a|| color.a != c3.a|| color.a != c4.a + // || color.a != d1.a + // || color.a != d2.a + // || color.a != d3.a + // || color.a != d4.a + // ) + // { + // color.r=R; + // color.g=G; + // color.b=B; + // color.a=1; + // } + // } + // } + + // return color; + //float pixelSize.x = float(1/ImageSize.x); + //float pixelSize.y = float(1/ImageSize.y ); + + // ########################################################################### + + +// float2 pixelSize = 1/ float2((float) ImageSize.x, (float) ImageSize.y); + +// float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates); +// if(color.a==1) {return color;} + +// // float2 offsets[8] = {float2(-1,0), float2(1,0), float2(0,1), float2(0,-1), float2(-1,1), float2(1,1), float2(1,-1), float2(-1,-1)}; +// float2 offsets[8] = {float2(-pixelSize.x,0), +// float2(pixelSize.x,0), +// float2(0,pixelSize.y), +// float2(0,-pixelSize.y), +// float2(-pixelSize.x,pixelSize.y), +// float2(pixelSize.x,pixelSize.y), +// float2(pixelSize.x,-pixelSize.y), +// float2(-pixelSize.x,-pixelSize.y)}; +// int i, j = 0; + +// while(i < 10) +// { +// i++; +// j=0; +// while (j < 8) +// { +// // float2 curUV = input.TextureCoordinates + ((offsets[j] * pixelSize.x + offsets[j] *pixelSize.y)* i); +// float curUVx = input.TextureCoordinates.x + offsets[j].x * (float)i; +// float curUVy = input.TextureCoordinates.y + offsets[j].y * (float)i; +// float4 offsetsample = tex2Dlod(SpriteTextureSampler, float4(curUVx, curUVy,0,0)); + +// if( +// offsetsample.a==1 + +// ) +// { +// return float4( +// R, +// G, +// B, +// 1); + +// } + +// j++; +// } + + +// } + +// return color; + +//############################################################## + + float2 pixelSize = 1/ float2((float) ImageSize.x, (float) ImageSize.y); +int px = (int) input.TextureCoordinates.x*ImageSize.x; +int py = (int) input.TextureCoordinates.y*ImageSize.y; +float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates); + +if(color.a==1) {return color;} + +// float2 offsets[8] = {float2(-1,0), float2(1,0), float2(0,1), float2(0,-1), float2(-1,1), float2(1,1), float2(1,-1), float2(-1,-1)}; +float2 offsets[8] = {float2(-1,0), + float2(1,0), + float2(0,1), + float2(0,-1), + float2(-1,1), + float2(1,1), + float2(1,-1), + float2(-1,-1)}; +int i, j = 0; + +// while(i < 10) +// { +// i++; +// j=0; + + while (j < 8) + { + // float2 curUV = input.TextureCoordinates + ((offsets[j] * pixelSize.x + offsets[j] *pixelSize.y)* i); + float checkpx=(float)px+0.5+(float)10*offsets[j].x; + float checkpy=(float)py+0.5+(float)10*offsets[j].y; + + float curUVx = input.TextureCoordinates.x + (float)checkpx/(float)ImageSize.x; + float curUVy = input.TextureCoordinates.y + (float)checkpy/(float)ImageSize.y; + float4 offsetsample = tex2Dlod(SpriteTextureSampler, float4(curUVx, curUVy,0,0)); + + if( + offsetsample.a==1 + + ) + { + return float4( + R, + G, + B, + 1); + } + + j++; } - return color; -} + +// } + +return color; + +}; technique SpriteDrawing { diff --git a/Sledgemapper/Settings.cs b/Sledgemapper/Settings.cs index 343f071..808fd10 100644 --- a/Sledgemapper/Settings.cs +++ b/Sledgemapper/Settings.cs @@ -11,6 +11,7 @@ namespace Sledgemapper public Color GridColor { get; set; } public Color NoteColor { get; set; } public string MachineName { get; set; } + public int TileDeleteDivider { get; set; } public Settings() { @@ -18,7 +19,7 @@ namespace Sledgemapper GridColor = Color.Black; NoteColor = Color.DarkRed; OverlayTintColor = new Color(24, 118, 157); - +TileDeleteDivider=8; try { MachineName = Environment.MachineName; diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 68fcb6e..de1f0d0 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -601,7 +601,7 @@ namespace Sledgemapper } } - //DrawWalls(); + // _spriteBatch.End(); @@ -609,7 +609,7 @@ namespace Sledgemapper Vector2 texelSize = new Vector2((float)(1 / (double)rendertarget.Width), (float)(1 / (double)rendertarget.Height)); outlineShader.Parameters["TexelSize"].SetValue(texelSize); - outlineShader.Parameters["BorderSize"].SetValue(_state.TileSize / 8); + outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *20f)); outlineShader.Parameters["R"].SetValue(_settings.OverlayTintColor.R / 255.0f); outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f); @@ -627,6 +627,7 @@ namespace Sledgemapper transformMatrix: Matrix.CreateTranslation(_viewportCenter), sortMode: SpriteSortMode.Deferred); + DrawWalls(); DrawOverlays(); DrawNotes(); DrawGrid(visibleTilesX, visibleTilesY); @@ -825,7 +826,12 @@ namespace Sledgemapper var endposX = _state.SelectedSnapPoint.X * _state.TileSize; var endposY = _state.SelectedSnapPoint.Y * _state.TileSize; - + if (_state.InsertMode == InsertMode.NewDelete) + { + var ww = _state.TileSize / _settings.TileDeleteDivider; + if (posX == endposX) { endposX += ww; posX -= ww; } + if (posY == endposY) { endposY += ww; posY -= ww; } + } switch (_state.LineStart.Index) { case 1: @@ -1297,7 +1303,7 @@ namespace Sledgemapper } Effect outlineShader; // Outline shader effect - private void DrawDelete(Room tile) + private void DrawDelete(Room tile) { var posX = tile.Start.X * _state.TileSize; var posY = tile.Start.Y * _state.TileSize; @@ -1305,6 +1311,10 @@ namespace Sledgemapper var endposX = tile.End.X * _state.TileSize; var endposY = tile.End.Y * _state.TileSize; + + var ww = _state.TileSize / _settings.TileDeleteDivider; + if (posX == endposX) { endposX += ww; posX -= ww; } + if (posY == endposY) { endposY += ww; posY -= ww; } switch (tile.Start.Index) { case 1: From d3f8fd23f41c543f103262611c77b9a05a8582da Mon Sep 17 00:00:00 2001 From: Michele Date: Thu, 14 Jan 2021 23:34:24 +0000 Subject: [PATCH 11/20] backend --- Sledgemapper.Api/Commands/NewLineCommand.cs | 14 +++++++ Sledgemapper.Api/Commands/NewRoomCommand.cs | 14 +++++++ .../Controllers/SessionController.cs | 12 ++++++ .../Handlers/NewLineCommandHandler.cs | 39 ++++++++++++++++++ .../Handlers/NewNoteCommandHandler.cs | 39 ++++++++++++++++++ .../Handlers/NewRoomCommandHandler.cs | 39 ++++++++++++++++++ .../Handlers/NewWallCommandHandler.cs | 27 ------------ .../Handlers/SendNewLineMessage.cs | 22 ++++++++++ .../Handlers/SendNewNoteMessage.cs | 22 ++++++++++ .../Handlers/SendNewRoomMessage.cs | 22 ++++++++++ .../Handlers/SendNewWallMessage.cs | 12 ------ Sledgemapper.Api/Hubs/SledgemapperHub.cs | 18 ++++++-- .../Notifications/NewLineNotification.cs | 14 +++++++ .../Notifications/NewRoomNotification.cs | 14 +++++++ Sledgemapper.Api/db/LocalDatabase.db | Bin 0 -> 20480 bytes Sledgemapper.Api/db/sledgemapper.db | Bin 0 -> 40960 bytes .../Clients/ISledgemapperClient.cs | 2 + Sledgemapper.Shared/Entities/Session.cs | 4 +- Sledgemapper/CommunicationManager.cs | 20 ++++++++- Sledgemapper/IMapApi.cs | 6 +++ Sledgemapper/Sledgemapper.cs | 6 +-- 21 files changed, 297 insertions(+), 49 deletions(-) create mode 100644 Sledgemapper.Api/Commands/NewLineCommand.cs create mode 100644 Sledgemapper.Api/Commands/NewRoomCommand.cs create mode 100644 Sledgemapper.Api/Handlers/NewLineCommandHandler.cs create mode 100644 Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs create mode 100644 Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs create mode 100644 Sledgemapper.Api/Handlers/SendNewLineMessage.cs create mode 100644 Sledgemapper.Api/Handlers/SendNewNoteMessage.cs create mode 100644 Sledgemapper.Api/Handlers/SendNewRoomMessage.cs create mode 100644 Sledgemapper.Api/Notifications/NewLineNotification.cs create mode 100644 Sledgemapper.Api/Notifications/NewRoomNotification.cs create mode 100644 Sledgemapper.Api/db/LocalDatabase.db create mode 100644 Sledgemapper.Api/db/sledgemapper.db diff --git a/Sledgemapper.Api/Commands/NewLineCommand.cs b/Sledgemapper.Api/Commands/NewLineCommand.cs new file mode 100644 index 0000000..3bfe3cf --- /dev/null +++ b/Sledgemapper.Api/Commands/NewLineCommand.cs @@ -0,0 +1,14 @@ +using Sledgemapper.Shared.Entities; + +namespace Sledgemapper.Api.Commands +{ + public class NewLineCommand : BaseCommand + { + public Line Line { get; private set; } + + public NewLineCommand(string sessionName, Line line, int userId) : base(sessionName, userId) + { + Line = line; + } + } +} diff --git a/Sledgemapper.Api/Commands/NewRoomCommand.cs b/Sledgemapper.Api/Commands/NewRoomCommand.cs new file mode 100644 index 0000000..5b7619e --- /dev/null +++ b/Sledgemapper.Api/Commands/NewRoomCommand.cs @@ -0,0 +1,14 @@ +using Sledgemapper.Shared.Entities; + +namespace Sledgemapper.Api.Commands +{ + public class NewRoomCommand : BaseCommand + { + public Room Room { get; private set; } + + public NewRoomCommand(string sessionName, Room room, int userId) : base(sessionName, userId) + { + Room = room; + } + } +} diff --git a/Sledgemapper.Api/Controllers/SessionController.cs b/Sledgemapper.Api/Controllers/SessionController.cs index 0ab3e32..2638ac5 100644 --- a/Sledgemapper.Api/Controllers/SessionController.cs +++ b/Sledgemapper.Api/Controllers/SessionController.cs @@ -60,6 +60,18 @@ namespace Sledgemapper.Api.Controllers await _mediator.Send(new NewNoteCommand(sessionName, note, UserId)); } + [HttpPost("room")] + public async Task Post(string sessionName, [FromBody] Room room) + { + await _mediator.Send(new NewRoomCommand(sessionName, room, UserId)); + } + + [HttpPost("line")] + public async Task Post(string sessionName, [FromBody] Line line) + { + await _mediator.Send(new NewLineCommand(sessionName, line, UserId)); + } + [HttpDelete("tile")] public async Task Delete(string sessionName, [FromBody] Tile tile) { diff --git a/Sledgemapper.Api/Handlers/NewLineCommandHandler.cs b/Sledgemapper.Api/Handlers/NewLineCommandHandler.cs new file mode 100644 index 0000000..4901dae --- /dev/null +++ b/Sledgemapper.Api/Handlers/NewLineCommandHandler.cs @@ -0,0 +1,39 @@ +using MediatR; +using Sledgemapper.Api.Data; +using Sledgemapper.Shared.Entities; +using Sledgemapper.Api.Commands; +using System.Linq; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Sledgemapper.Api.Notifications; + +namespace Sledgemapper.Api.Handlers +{ + public class NewLineCommandHandler : IRequestHandler + { + private readonly MyDbContext _dbcontext; + + private readonly IMediator _mediator; + + public NewLineCommandHandler(IMediator mediator, MyDbContext dbcontext) { _dbcontext = dbcontext; _mediator = mediator; } + + public async Task Handle(NewLineCommand notification, CancellationToken cancellationToken) + { + var jsonString = JsonSerializer.Serialize(notification.Line); + var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); + _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + { + Operation = "N", + SessionId = session.SessionId, + Type = "L", + Timestamp = notification.Timestamp, + Object = jsonString, + UserId = notification.UserId, + }); + await _dbcontext.SaveChangesAsync(); + await _mediator.Publish(new NewLineNotification(session, notification.Line, notification.UserId)); + return true; + } + } +} diff --git a/Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs b/Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs new file mode 100644 index 0000000..5a50e45 --- /dev/null +++ b/Sledgemapper.Api/Handlers/NewNoteCommandHandler.cs @@ -0,0 +1,39 @@ +using MediatR; +using Sledgemapper.Api.Data; +using Sledgemapper.Shared.Entities; +using Sledgemapper.Api.Commands; +using Sledgemapper.Api.Notifications; +using System.Linq; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; + +namespace Sledgemapper.Api.Handlers +{ + public class NewNoteCommandHandler : IRequestHandler + { + private readonly MyDbContext _dbcontext; + + private readonly IMediator _mediator; + + public NewNoteCommandHandler(IMediator mediator, MyDbContext dbcontext) { _dbcontext = dbcontext; _mediator = mediator; } + + public async Task Handle(NewNoteCommand notification, CancellationToken cancellationToken) + { + var jsonString = JsonSerializer.Serialize(notification.Note); + var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); + _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + { + Operation = "N", + SessionId = session.SessionId, + Type = "N", + Timestamp = notification.Timestamp, + Object = jsonString, + UserId = notification.UserId, + }); + await _dbcontext.SaveChangesAsync(); + await _mediator.Publish(new NewNoteNotification(session, notification.Note, notification.UserId)); + return true; + } + } +} diff --git a/Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs b/Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs new file mode 100644 index 0000000..73561a1 --- /dev/null +++ b/Sledgemapper.Api/Handlers/NewRoomCommandHandler.cs @@ -0,0 +1,39 @@ +using MediatR; +using Sledgemapper.Api.Data; +using Sledgemapper.Shared.Entities; +using Sledgemapper.Api.Commands; +using System.Linq; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Sledgemapper.Api.Notifications; + +namespace Sledgemapper.Api.Handlers +{ + public class NewRoomCommandHandler : IRequestHandler + { + private readonly MyDbContext _dbcontext; + + private readonly IMediator _mediator; + + public NewRoomCommandHandler(IMediator mediator, MyDbContext dbcontext) { _dbcontext = dbcontext; _mediator = mediator; } + + public async Task Handle(NewRoomCommand notification, CancellationToken cancellationToken) + { + var jsonString = JsonSerializer.Serialize(notification.Room); + var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); + _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog + { + Operation = "N", + SessionId = session.SessionId, + Type = "R", + Timestamp = notification.Timestamp, + Object = jsonString, + UserId = notification.UserId, + }); + await _dbcontext.SaveChangesAsync(); + await _mediator.Publish(new NewRoomNotification(session, notification.Room, notification.UserId)); + return true; + } + } +} diff --git a/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs b/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs index a1a34ea..af69b69 100644 --- a/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs +++ b/Sledgemapper.Api/Handlers/NewWallCommandHandler.cs @@ -36,31 +36,4 @@ namespace Sledgemapper.Api.Handlers return true; } } - - public class NewNoteCommandHandler : IRequestHandler - { - private readonly MyDbContext _dbcontext; - - private readonly IMediator _mediator; - - public NewNoteCommandHandler(IMediator mediator, MyDbContext dbcontext) { _dbcontext = dbcontext; _mediator = mediator; } - - public async Task Handle(NewNoteCommand notification, CancellationToken cancellationToken) - { - var jsonString = JsonSerializer.Serialize(notification.Note); - var session = _dbcontext.Sessions.First(m => m.SessionName == notification.SessionName); - _dbcontext.MapLogs.Add(new Sledgemapper.Api.Models.MapLog - { - Operation = "N", - SessionId = session.SessionId, - Type = "N", - Timestamp = notification.Timestamp, - Object = jsonString, - UserId = notification.UserId, - }); - await _dbcontext.SaveChangesAsync(); - await _mediator.Publish(new NewNoteNotification(session, notification.Note, notification.UserId)); - return true; - } - } } diff --git a/Sledgemapper.Api/Handlers/SendNewLineMessage.cs b/Sledgemapper.Api/Handlers/SendNewLineMessage.cs new file mode 100644 index 0000000..e0e9c86 --- /dev/null +++ b/Sledgemapper.Api/Handlers/SendNewLineMessage.cs @@ -0,0 +1,22 @@ +using MediatR; +using Microsoft.AspNetCore.SignalR; +using Sledgemapper.Api.Notifications; +using Sledgemapper.Clients; +using System.Threading; +using System.Threading.Tasks; +using Sledgemapper.Api.Hubs; + +namespace Sledgemapper.Api.Handlers +{ + public class SendNewLineMessage : INotificationHandler + { + private readonly IHubContext _hub; + + public SendNewLineMessage(IHubContext hub) => _hub = hub; + + public async Task Handle(NewLineNotification notification, CancellationToken cancellationToken) + { + await _hub.Clients.Groups(notification.Session.SessionName).NewLine(notification.Line); + } + } +} diff --git a/Sledgemapper.Api/Handlers/SendNewNoteMessage.cs b/Sledgemapper.Api/Handlers/SendNewNoteMessage.cs new file mode 100644 index 0000000..37e9f5a --- /dev/null +++ b/Sledgemapper.Api/Handlers/SendNewNoteMessage.cs @@ -0,0 +1,22 @@ +using MediatR; +using Microsoft.AspNetCore.SignalR; +using Sledgemapper.Api.Notifications; +using Sledgemapper.Clients; +using System.Threading; +using System.Threading.Tasks; +using Sledgemapper.Api.Hubs; + +namespace Sledgemapper.Api.Handlers +{ + public class SendNewNoteMessage : INotificationHandler + { + private readonly IHubContext _hub; + + public SendNewNoteMessage(IHubContext hub) => _hub = hub; + + public async Task Handle(NewNoteNotification notification, CancellationToken cancellationToken) + { + await _hub.Clients.Groups(notification.Session.SessionName).NewNote(notification.Note); + } + } +} diff --git a/Sledgemapper.Api/Handlers/SendNewRoomMessage.cs b/Sledgemapper.Api/Handlers/SendNewRoomMessage.cs new file mode 100644 index 0000000..adbf4ec --- /dev/null +++ b/Sledgemapper.Api/Handlers/SendNewRoomMessage.cs @@ -0,0 +1,22 @@ +using MediatR; +using Microsoft.AspNetCore.SignalR; +using Sledgemapper.Api.Notifications; +using Sledgemapper.Clients; +using System.Threading; +using System.Threading.Tasks; +using Sledgemapper.Api.Hubs; + +namespace Sledgemapper.Api.Handlers +{ + public class SendNewRoomMessage : INotificationHandler + { + private readonly IHubContext _hub; + + public SendNewRoomMessage(IHubContext hub) => _hub = hub; + + public async Task Handle(NewRoomNotification notification, CancellationToken cancellationToken) + { + await _hub.Clients.Groups(notification.Session.SessionName).NewRoom(notification.Room); + } + } +} diff --git a/Sledgemapper.Api/Handlers/SendNewWallMessage.cs b/Sledgemapper.Api/Handlers/SendNewWallMessage.cs index 699ff55..34d5567 100644 --- a/Sledgemapper.Api/Handlers/SendNewWallMessage.cs +++ b/Sledgemapper.Api/Handlers/SendNewWallMessage.cs @@ -19,16 +19,4 @@ namespace Sledgemapper.Api.Handlers await _hub.Clients.Groups(notification.Session.SessionName).NewWall(notification.Wall); } } - - public class SendNewNoteMessage : INotificationHandler - { - private readonly IHubContext _hub; - - public SendNewNoteMessage(IHubContext hub) => _hub = hub; - - public async Task Handle(NewNoteNotification notification, CancellationToken cancellationToken) - { - await _hub.Clients.Groups(notification.Session.SessionName).NewNote(notification.Note); - } - } } diff --git a/Sledgemapper.Api/Hubs/SledgemapperHub.cs b/Sledgemapper.Api/Hubs/SledgemapperHub.cs index 5cb91cd..c356461 100644 --- a/Sledgemapper.Api/Hubs/SledgemapperHub.cs +++ b/Sledgemapper.Api/Hubs/SledgemapperHub.cs @@ -46,6 +46,16 @@ namespace Sledgemapper.Api.Hubs await Clients.Group(sessionName).NewTile(tile); } + public async Task NewRoom(string sessionName, Room room) + { + await Clients.Group(sessionName).NewRoom(room); + } + + public async Task NewLine(string sessionName, Line line) + { + await Clients.Group(sessionName).NewLine(line); + } + public async Task NewWall(string sessionName, Wall tile) { await Clients.Group(sessionName).NewWall(tile); @@ -113,7 +123,7 @@ namespace Sledgemapper.Api.Hubs var userId = int.Parse(Context.User.Identity.Name); var SessionUsers = _dbContext.SessionUsers.Where(m => m.SessionId == sessionId).OrderBy(m => m.UserId).ToList(); var user = _datacontext.Users.First(u => u.Id == userId); - var player = new Player { UserId = userId, Initials = user.Initials, Position = tile, Color = UserColors[userId]}; + var player = new Player { UserId = userId, Initials = user.Initials, Position = tile, Color = UserColors[userId] }; await Clients.Group(sessionName).PlayerUpdate(player); } @@ -131,7 +141,7 @@ namespace Sledgemapper.Api.Hubs public override async Task OnDisconnectedAsync(Exception exception) { var userConnection = _dbContext.UserConnections.FirstOrDefault(m => m.ConnectionId == Context.ConnectionId); - var userId=userConnection.UserId; + var userId = userConnection.UserId; if (userConnection != null) { _dbContext.UserConnections.Remove(userConnection); @@ -142,8 +152,8 @@ namespace Sledgemapper.Api.Hubs foreach (var userSession in userSessions) { var session = _dbContext.Sessions.FirstOrDefault(m => m.SessionId == userSession.SessionId); - - await Clients.Group(session.SessionName).RemovePlayer(new Player{UserId=userId}); //send remove player + + await Clients.Group(session.SessionName).RemovePlayer(new Player { UserId = userId }); //send remove player _dbContext.SessionUsers.Remove(userSession); } } diff --git a/Sledgemapper.Api/Notifications/NewLineNotification.cs b/Sledgemapper.Api/Notifications/NewLineNotification.cs new file mode 100644 index 0000000..25c3005 --- /dev/null +++ b/Sledgemapper.Api/Notifications/NewLineNotification.cs @@ -0,0 +1,14 @@ +using Sledgemapper.Shared.Entities; + +namespace Sledgemapper.Api.Notifications +{ + public class NewLineNotification : BaseNotification + { + public Line Line { get; private set; } + + public NewLineNotification(Models.Session session, Line line, int userId) : base(session, userId) + { + Line = line; + } + } +} diff --git a/Sledgemapper.Api/Notifications/NewRoomNotification.cs b/Sledgemapper.Api/Notifications/NewRoomNotification.cs new file mode 100644 index 0000000..d83e27d --- /dev/null +++ b/Sledgemapper.Api/Notifications/NewRoomNotification.cs @@ -0,0 +1,14 @@ +using Sledgemapper.Shared.Entities; + +namespace Sledgemapper.Api.Notifications +{ + public class NewRoomNotification : BaseNotification + { + public Room Room { get; private set; } + + public NewRoomNotification(Models.Session session, Room room, int userId) : base(session, userId) + { + Room = room; + } + } +} diff --git a/Sledgemapper.Api/db/LocalDatabase.db b/Sledgemapper.Api/db/LocalDatabase.db new file mode 100644 index 0000000000000000000000000000000000000000..22b8623b6d6a4c96d001c3bfc7c6179d7a5b57f0 GIT binary patch literal 20480 zcmeI)e@qis902gUwpbw6G88Xcw(@8Maj>qS{8%i^(i~9f4{Wd4u4s4AZmX15?v4pM zw-lK%OBPLF8`;J-9a(U=urLxM3E7x4n}S(1Dsd_qb90FXl|N*zD(tm@A}RaBzvlA& z=H2z(d-uL~?{n=RcWr9jVDJha^h$uMWd*dFNFYQaVjV&RL5T4ZgO}M5;fiE-1HY1U z>I+rHgsP-dCcjNcWE+Vkr{!PC4&n*~2!H?xfB*=900@8p2!H?x{C@<>C5xzx4ALR6 zRXz`2=fn3{F5XjD@9|g9-;B{&Xe~n{Mq6Z{(Y$@r{cNo#6OUZglqQx^6h$^?L~`1A z564GVl844CBW+5QE{jJvlzO)k=}in>LR*l@%pjA^U_d&v$;w!?xE(3W%Um-<$}M`M z*5W{Av;%2vj9G8OnT@oG$(+em?B#gDgilC`7}`FaYqrn8F4z@LAD%{(QF^~u@UlKW zN>@3{^Vg9z1*BG@?^e|-9eICHx&lwh;=2(Dtfkbn-?@x*gxa+Hh3Vdnt$<9lQr=}Mz zqBiA`gxBx(G|aqH*m@xl*>*)ejw>r_bNJpqHvDmu;f0j{Lf`@c0w4eaAOHd&00JNY z0w4eaAOHd&@Yo5gAjLG5t> znJW9z%HH?3JngS(sp(fJa<{noi5scs4FD9m*zOsz9#jPKHr?%zNuyJEw@apbdbJFkr$9HNdQZZn z^mTpFXziK){r@dOe(RAgFbo0#5C8!X009sH0T2KI5C8!X009vAuL{JGVv3CX>x1YY D*?GHv literal 0 HcmV?d00001 diff --git a/Sledgemapper.Api/db/sledgemapper.db b/Sledgemapper.Api/db/sledgemapper.db new file mode 100644 index 0000000000000000000000000000000000000000..3991092d72fb7e356729169aaf303d3ec6fc53b3 GIT binary patch literal 40960 zcmeI*%}?8A90zdQ2?VDN-dh(ThGsn+)`+Mg2}ww%N#!L%5y5%a!gfHWF)b`OAu*+> z+JVr+{(wpQ2X@$f(k>H+oqF3eP5T3S+Hr?UZKYlI_>DL(RHRg@6uwpn_T%{Xdww53 z56HwoF`wDh6mh5C+?O>m!o0_D9CKF`8HVBLhnIfX%LH9<+Z*&V>sY^Nm1FL#{p6#2 zd47kPJe&N+_ruMfZ~W%{-Mh&@qfJ;K009U<00Izzz=#SQ^B(^f0rq5SSFI|K(v_`p zOKGmuRaLpC?bcOeGhOX&^sW?AOQn>UmR3_0kz8~T5wns=x(_AdZKEY!C4q+%H1(__ zbx~=xXioizEo(hpbu{vQc^x}DN0@mXyY!^z@kpTM@%R(d?8&Eg$<{tQf+X)NR?~!) zu`H$YWoN+y4(UqkNU4V-fs@9##~%o=r_-9eT~oSMy0<)5($dm$CN%)i=N0MF14}{a z`6#8 zk1@}>2cdn+vPY`Yd`(R`ZrndN$8H)GwGL|Zx^t_g92_d@J*8*U)m357&f6-T>p^;C zpnaG1_@}1WCtn*eH{?d9e&2lNx*`y>u|s5TUq;A2^2*crGBcu~G-dr8!bOwfxS?FI z>rE$QmAX@NwSTP};`)<70YL0Kpc%|)Mw$`zUqC1UY`EFmMT$r8Ov*tf)Dbk#hAy2~%G+V69g zi*HQI^bZ%a0P`HsGKO)9heM%6c;PiJCijrT#RwaTSz*82t!fWQ(%H=+hYF1so{vV) z$IADgv_EDo6aT=mVkUc|&c_z!6Z2s+S??4w!yx$u0%N<=vjfB*y_009U<00Izz00bZafom?{ z<9RCJ;o0-+|7#9{@*w~L2tWV=5P$##AOHafKmY;K@775-!B0}BKo009U<00Izz00bZa0SG_<0;4D3b_u+!U;i8L z|GyMoj$VnV2m%m*00bZa0SG_<0uX=z1R!wT1$gsc1?UX=-~W4oI{>cxh(P@ifB*y_ Y009U<00Izz00bZ~f&yOs@_&r`AANmh#{d8T literal 0 HcmV?d00001 diff --git a/Sledgemapper.Shared/Clients/ISledgemapperClient.cs b/Sledgemapper.Shared/Clients/ISledgemapperClient.cs index 2b51308..a1ec349 100644 --- a/Sledgemapper.Shared/Clients/ISledgemapperClient.cs +++ b/Sledgemapper.Shared/Clients/ISledgemapperClient.cs @@ -9,6 +9,7 @@ namespace Sledgemapper.Clients Task NewWall(Wall wall); Task NewOverlay(Overlay overlay); Task NewNote(Note note); + Task NewRoom(Room room); Task DeleteTile(Tile tile); Task DeleteNote(Note note); Task DeleteWall(Wall wall); @@ -18,5 +19,6 @@ namespace Sledgemapper.Clients Task RemovePlayer(Player player); Task UpdateMap(Session player); Task RefreshPlayers(); + Task NewLine(Line line); } } diff --git a/Sledgemapper.Shared/Entities/Session.cs b/Sledgemapper.Shared/Entities/Session.cs index 00b6a0a..f9db985 100644 --- a/Sledgemapper.Shared/Entities/Session.cs +++ b/Sledgemapper.Shared/Entities/Session.cs @@ -201,7 +201,7 @@ namespace Sledgemapper.Shared.Entities Lines.TryAdd(newLine.ToString(), newLine); //TODO fix this - //OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newTile)); + OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newLine)); } public void NewRoom(Room line) @@ -221,7 +221,7 @@ namespace Sledgemapper.Shared.Entities Rooms.TryAdd(newLine.ToString(), newLine); //TODO fix this - //OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newTile)); + OnRaiseMapEntityAddedEvent(new MapEntityAddedEventArgs(newLine)); } } } diff --git a/Sledgemapper/CommunicationManager.cs b/Sledgemapper/CommunicationManager.cs index a48e326..0fc37b6 100644 --- a/Sledgemapper/CommunicationManager.cs +++ b/Sledgemapper/CommunicationManager.cs @@ -95,6 +95,18 @@ namespace Sledgemapper SessionData.Map.TryAdd(tile.ToString(), tile); }); + Connection.On("NewRoom", (room) => + { + SessionData.Rooms.Remove(room.ToString(), out var _); + SessionData.Rooms.TryAdd(room.ToString(), room); + }); + + Connection.On("NewLine", (line) => + { + SessionData.Lines.Remove(line.ToString(), out var _); + SessionData.Lines.TryAdd(line.ToString(), line); + }); + Connection.On("RefreshPlayers", () => { if (!string.IsNullOrWhiteSpace(SessionData.SessionName)) @@ -166,7 +178,7 @@ namespace Sledgemapper { await Policy .Handle(ex => ex.StatusCode == HttpStatusCode.RequestTimeout) - + .RetryForeverAsync() //.RetryAsync(Polly.RetrySyntax., async (exception, retryCount) => await Task.Delay(500)) .ExecuteAsync(async () => await call().ConfigureAwait(false)) @@ -192,6 +204,12 @@ namespace Sledgemapper case Note note: Queue.Enqueue(async () => await Execute(async () => await Api.NewNote(note, SessionData.SessionName).ConfigureAwait(false))); break; + case Room room: + Queue.Enqueue(async () => await Execute(async () => await Api.NewRoom(room, SessionData.SessionName).ConfigureAwait(false))); + break; + case Line line: + Queue.Enqueue(async () => await Execute(async () => await Api.NewLine(line, SessionData.SessionName).ConfigureAwait(false))); + break; } break; diff --git a/Sledgemapper/IMapApi.cs b/Sledgemapper/IMapApi.cs index 5b0ebc5..a68b3cd 100644 --- a/Sledgemapper/IMapApi.cs +++ b/Sledgemapper/IMapApi.cs @@ -49,5 +49,11 @@ namespace Sledgemapper [Headers("Authorization")] [Post("/users/authenticate")] Task Authenticate([Body] AuthenticateModel registerModel); + + [Post("/session/{sessionName}/room")] + Task NewRoom(Room room, string sessionName); + + [Post("/session/{sessionName}/line")] + Task NewLine(Line line, string sessionName); } } \ No newline at end of file diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index de1f0d0..6d47a63 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -607,9 +607,9 @@ namespace Sledgemapper GraphicsDevice.SetRenderTarget(null); - Vector2 texelSize = new Vector2((float)(1 / (double)rendertarget.Width), (float)(1 / (double)rendertarget.Height)); - outlineShader.Parameters["TexelSize"].SetValue(texelSize); - outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *20f)); + Vector2 texelSize = new Vector2((float)rendertarget.Width, (float)rendertarget.Height); + outlineShader.Parameters["ImageSize"].SetValue(texelSize); + //outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *10f)); outlineShader.Parameters["R"].SetValue(_settings.OverlayTintColor.R / 255.0f); outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f); From 8e840ece27446b7c09e90be97ee199808aa60a9e Mon Sep 17 00:00:00 2001 From: Michele Date: Fri, 15 Jan 2021 11:11:28 +0000 Subject: [PATCH 12/20] fixed shader rendering --- Sledgemapper/Content/Content.mgcb | 6 + Sledgemapper/Content/shaders/OutlineShader.fx | 10 +- .../Content/shaders/OutlineShader2.fx | 209 ++++++++++++++++++ Sledgemapper/Settings.cs | 2 +- Sledgemapper/Sledgemapper.cs | 27 ++- 5 files changed, 240 insertions(+), 14 deletions(-) create mode 100644 Sledgemapper/Content/shaders/OutlineShader2.fx diff --git a/Sledgemapper/Content/Content.mgcb b/Sledgemapper/Content/Content.mgcb index 9171191..7b86017 100644 --- a/Sledgemapper/Content/Content.mgcb +++ b/Sledgemapper/Content/Content.mgcb @@ -3027,6 +3027,12 @@ /processorParam:DebugMode=Auto /build:shaders/OutlineShader.fx +#begin shaders/OutlineShader2.fx +/importer:EffectImporter +/processor:EffectProcessor +/processorParam:DebugMode=Auto +/build:shaders/OutlineShader2.fx + #begin tiles/tile01.png /importer:TextureImporter /processor:TextureProcessor diff --git a/Sledgemapper/Content/shaders/OutlineShader.fx b/Sledgemapper/Content/shaders/OutlineShader.fx index d4b90cf..b5dac7f 100644 --- a/Sledgemapper/Content/shaders/OutlineShader.fx +++ b/Sledgemapper/Content/shaders/OutlineShader.fx @@ -119,11 +119,11 @@ float4 MainPS(VertexShaderOutput input) : COLOR // return color; -//############################################################## - - float2 pixelSize = 1/ float2((float) ImageSize.x, (float) ImageSize.y); +//############################################################## int px = (int) input.TextureCoordinates.x*ImageSize.x; int py = (int) input.TextureCoordinates.y*ImageSize.y; + +float2 pixel = input.TextureCoordinates*ImageSize; float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates); if(color.a==1) {return color;} @@ -147,8 +147,8 @@ int i, j = 0; while (j < 8) { // float2 curUV = input.TextureCoordinates + ((offsets[j] * pixelSize.x + offsets[j] *pixelSize.y)* i); - float checkpx=(float)px+0.5+(float)10*offsets[j].x; - float checkpy=(float)py+0.5+(float)10*offsets[j].y; + float checkpx=(float)px+(float)BorderSize*offsets[j].x; + float checkpy=(float)py+(float)BorderSize*offsets[j].y; float curUVx = input.TextureCoordinates.x + (float)checkpx/(float)ImageSize.x; float curUVy = input.TextureCoordinates.y + (float)checkpy/(float)ImageSize.y; diff --git a/Sledgemapper/Content/shaders/OutlineShader2.fx b/Sledgemapper/Content/shaders/OutlineShader2.fx new file mode 100644 index 0000000..9479af2 --- /dev/null +++ b/Sledgemapper/Content/shaders/OutlineShader2.fx @@ -0,0 +1,209 @@ +/* ******************************************************** + * A Simple toon shader based on the work of Petri T. Wilhelmsen + * found on his blog post XNA Shader Programming � Tutorial 7, Toon shading + * http://digitalerr0r.wordpress.com/2009/03/22/xna-shader-programming-tutorial-7-toon-shading/. + * Which in turn is based on the shader "post edgeDetect" from nVidias Shader library + * http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html + * + * This process will use a Sobell convolution filter to determine contrast across each pixel. + * pixels that have a contrast greater than a given threshold value will be treated + * as an edge pixel and turned black. + * + * Author: John Marquiss + * Email: txg1152@gmail.com + * + * This work by John Marquiss is licensed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + * http://creativecommons.org/licenses/by-nc-sa/3.0/ + */ + +sampler ColorMapSampler : register(s0); + +/* Screen size (really texture size) is used to + * scale the outline line thickness nicely around the + * image + */ +float2 ScreenSize; + +/* Outline line thickness scale + */ +float Thickness = 1.0f; + +/* Edge detection threshold + * Contrast values over the threshold are considered + * edges. That means smaller values for the threshold make the + * image more "edgy" higher values less so. + */ +float Threshold = 0.0f; + +/* getGray + * a simple helper function to return a grey scale + * value for a given pixel + */ +float getGray(float4 c) +{ + /* The closer a color is to a pure gray + * value the closer its dot product and gray + * will be to 0. + */ + //return float4(1,1,1,1); + // if (c.a >0) + // { + // return float4(0,0,0,1); + // } + + // return float4(1,1,1,1); + return(dot(c.rgb,((0.33333).xxx))); +} + +struct VertexShaderOutput +{ + float2 Tex : TEXCOORD0; +}; + +/* Shade each pixel turning edge pixels black + */ +float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0 +{ + // Get the source pixel color + float4 Color = tex2D(ColorMapSampler, input.Tex); + if (Color.a==0) + { + Color.rgba=0.8; + } + + /* ox is the X offset vector where the offest is based + * on the scaled edge thickness + */ + float2 ox = float2(Thickness/ScreenSize.x,0.0); + + /* oy is the Y offset vector where the offest is based + * on the scaled edge thickness + */ + float2 oy = float2(0.0,Thickness/ScreenSize.y); + + /* our current xy (uv) texture coordinate + */ + float2 uv = input.Tex.xy; + + /* Our kernel filter is a 3x3 matrix in order to process + * it we need to get the 8 neighbor pixles (top left, top, top right, + * left, right, bottom left, bottom, and bottom right) and the + * current pixel. For each of these pixels we then need to get + * its grey scale value using getGray. We will store the gray scale + * values in a 3x3 matrix g: + * g00 g01 g02 + * g10 g11 g12 + * g20 g21 g22 + */ + + /* First the bottom row pixels + * bottom left uv - oy - ox, bottom uv - oy and + * bottom right uv - oy + ox + */ + float2 PP = uv - oy; + float4 CC = tex2D(ColorMapSampler, PP-ox); float g00 = getGray(CC); + CC = tex2D(ColorMapSampler, PP); float g01 = getGray(CC); + CC = tex2D(ColorMapSampler, PP+ox); float g02 = getGray(CC); + + /* Next get the middle row pixels + * left uv - ox, current uv and right uv + ox + */ + PP = uv; + CC = tex2D(ColorMapSampler, PP-ox); float g10 = getGray(CC); + CC = tex2D(ColorMapSampler, PP); float g11 = getGray(CC); + CC = tex2D(ColorMapSampler, PP+ox); float g12 = getGray(CC); + + /* Finally get the top row pixels + * top left uv + oy - ox, top uv + oy and + * top right uv + oy + ox + */ + PP = uv + oy; + CC = tex2D(ColorMapSampler, PP-ox); float g20 = getGray(CC); + CC = tex2D(ColorMapSampler, PP); float g21 = getGray(CC); + CC = tex2D(ColorMapSampler, PP+ox); float g22 = getGray(CC); + + /* We will use a Sobell convolution filter + * -1 -2 -1 + * 0 0 0 + * 1 2 1 + */ + float K00 = -1; + float K01 = -2; + float K02 = -1; + float K10 = 0; + float K11 = 0; + float K12 = 0; + float K20 = 1; + float K21 = 2; + float K22 = 1; + + /* Calculate sx as the summation + * of g.ij * K.ij + * This will give us horizantal edge detection + */ + float sx = 0; + sx += g00 * K00; + sx += g01 * K01; + sx += g02 * K02; + sx += g10 * K10; + sx += g11 * K11; + sx += g12 * K12; + sx += g20 * K20; + sx += g21 * K21; + sx += g22 * K22; + + /* Calculate sy as the summation + * of g.ij * K.ji + * K.ji effectively rotates the kernel filter + * this will give us vertical edge detection + */ + float sy = 0; + sy += g00 * K00; + sy += g01 * K10; + sy += g02 * K20; + sy += g10 * K01; + sy += g11 * K11; + sy += g12 * K21; + sy += g20 * K02; + sy += g21 * K12; + sy += g22 * K22; + + /* Now merge the results of the horizantal + * and veritcal edge detection calculations + * together by calculating the distance of the + * vector they form. + */ + float contrast = sqrt(sx*sx + sy*sy); + + /* assume no edge (result = 1) + */ + float result = 1; + + /* If the length of s.xy has a value + * greater than the threshold then the color change (contrast) + * accoss that pixel is enough that we want to consider + * it an edge. Set result to 0 to black out that pixel. + */ + if (contrast > Threshold) + { + result = 0; + } + + /* finally return the original color multiplied + * by the result. For with contrast values over the + * threshold result will be 0 giving us a black edge. + * Make sure we do not clear out the alpha value though + * otherwise our edges will disappear if we use alpha + * blending. + */ + return Color*float4(contrast.xxx,1); +} + +technique PostOutline +{ + pass Pass0 + { + PixelShader = compile ps_2_0 PixelShaderFunction(); + } +} diff --git a/Sledgemapper/Settings.cs b/Sledgemapper/Settings.cs index 808fd10..25b39f6 100644 --- a/Sledgemapper/Settings.cs +++ b/Sledgemapper/Settings.cs @@ -19,7 +19,7 @@ namespace Sledgemapper GridColor = Color.Black; NoteColor = Color.DarkRed; OverlayTintColor = new Color(24, 118, 157); -TileDeleteDivider=8; +TileDeleteDivider=14; try { MachineName = Environment.MachineName; diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 6d47a63..0dceb8f 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -95,13 +95,19 @@ namespace Sledgemapper base.Initialize(); } + private void ResetRenderTarget() + { + rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, false, SurfaceFormat.Color, DepthFormat.None, 0, RenderTargetUsage.DiscardContents); + + } + private void OnClientSizeChanged(object sender, EventArgs e) { rendertarget?.Dispose(); try { - - rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents); +ResetRenderTarget(); + // rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents); //rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); } @@ -135,8 +141,10 @@ namespace Sledgemapper { _spriteBatch = new SpriteBatch(GraphicsDevice); outlineShader = Content.Load("shaders/OutlineShader"); + outlineShader2 = Content.Load("shaders/OutlineShader2"); MyraEnvironment.Game = this; - rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents); + ResetRenderTarget(); + // rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents); _mainWidget = new MainWidget(); @@ -575,6 +583,8 @@ namespace Sledgemapper _spriteBatch.Begin(depthStencilState: DepthStencilState.None, transformMatrix: Matrix.CreateTranslation(_viewportCenter), blendState: BlendState.Opaque, + //rasterizerState:RasterizerState.CullClockwise, + samplerState:SamplerState.PointClamp, sortMode: SpriteSortMode.Deferred); @@ -607,17 +617,17 @@ namespace Sledgemapper GraphicsDevice.SetRenderTarget(null); - Vector2 texelSize = new Vector2((float)rendertarget.Width, (float)rendertarget.Height); + Vector2 texelSize = new Vector2((float)rendertarget.Width, (float)rendertarget.Height); outlineShader.Parameters["ImageSize"].SetValue(texelSize); - //outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *10f)); + outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *10f)); outlineShader.Parameters["R"].SetValue(_settings.OverlayTintColor.R / 255.0f); outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f); outlineShader.Parameters["B"].SetValue(_settings.OverlayTintColor.B / 255.0f); - +// outlineShader2.Parameters["ScreenSize"].SetValue(texelSize); _spriteBatch.Begin( effect: outlineShader, - blendState: BlendState.AlphaBlend, + blendState: BlendState.NonPremultiplied, sortMode: SpriteSortMode.Deferred); GraphicsDevice.Clear(_settings.BackgroundColor); _spriteBatch.Draw(rendertarget, Vector2.Zero, null, Color.White); @@ -1302,8 +1312,9 @@ namespace Sledgemapper } } Effect outlineShader; // Outline shader effect + private Effect outlineShader2; - private void DrawDelete(Room tile) + private void DrawDelete(Room tile) { var posX = tile.Start.X * _state.TileSize; var posY = tile.Start.Y * _state.TileSize; From 92ccdbbc2db7ca06cb03534e9bcbbaeb47c156d9 Mon Sep 17 00:00:00 2001 From: Michele Date: Fri, 15 Jan 2021 11:36:12 +0000 Subject: [PATCH 13/20] icons --- Sledgemapper/Content/Content.mgcb | 36 +++++++++++++++++++++++++++ Sledgemapper/Content/icon_delete.png | Bin 0 -> 871 bytes Sledgemapper/Content/icon_line.png | Bin 0 -> 874 bytes Sledgemapper/Content/icon_room.png | Bin 0 -> 360 bytes Sledgemapper/Sledgemapper.cs | 3 +++ 5 files changed, 39 insertions(+) create mode 100644 Sledgemapper/Content/icon_delete.png create mode 100644 Sledgemapper/Content/icon_line.png create mode 100644 Sledgemapper/Content/icon_room.png diff --git a/Sledgemapper/Content/Content.mgcb b/Sledgemapper/Content/Content.mgcb index 7b86017..661c1e1 100644 --- a/Sledgemapper/Content/Content.mgcb +++ b/Sledgemapper/Content/Content.mgcb @@ -93,6 +93,42 @@ /processorParam:TextureFormat=Compressed /build:fonts/font99.spritefont +#begin icon_delete.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:icon_delete.png + +#begin icon_line.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:icon_line.png + +#begin icon_room.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:icon_room.png + #begin location.png /importer:TextureImporter /processor:TextureProcessor diff --git a/Sledgemapper/Content/icon_delete.png b/Sledgemapper/Content/icon_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..ecec945d2574079ab243947cbb19bacc215a6412 GIT binary patch literal 871 zcmV-t1DO1YP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0{lrtK~z{r?UzkR zRACr}=YLXBQ8cv3GSaZbLUJLBD=~$j5HX@nY6#ULLWHyyK}1MU*di0FO@-M;6G;e) zYSSN05K5AP5L!wpCZ_o}r}K@k7aJY*&Nz<5Jn(>A=f3C6cjtb0#tCjfjgW zgT-K!L+b~G*tX()^+z}yGss9k&64W_RRj@XX{f!{gQ+RFc=LJ^yLTQ9cu7~e_}DDm zxitW%bGF#WaZ7$cOJc{iLuhUJ1-O-)<6+Y+PC3yC9LaHo| zTGg93dJz@AOHTDaEN4P?W)(g-CZ)#G%*+5amp@~JC0<7O502N zsjPShn<-jGtv)OlilV}M`2I~&buvBXveMD_LjrWI;uqjVvc!iY9rGpeML+!w$W=Zi9wcXU$^&vJYL!$H}<%;R3 zR&LIyaByRmG@Ynz=F-Jahzv`XDE+X6k)EOxS}AwqVt|egNnIi8<~m#Xo*VUMiP8_l z&GZ7D(aLyodjjyKThf_D%Z5^9k%pE$8vo{Y}DwA+%Ks)uYu2oT~y_nn#e5T*zbo zfrBIID=k=$R?|=ZF3I8F{ssAYiCmG+1qGJ2hwi0o1A~(2SGrgkcROgJoVs=}RISJl zDdEYNG*(VoTNtcVUlPx#1ZP1_K>z@;j|==^1poj6DNsyQMbp#MrlzLO(b8w0w0EVrfU3K7q_~2Df}x|N zI&g;*U3)@!k1TA4PxM>+wKyi0<|HU4fDB_V{g}wo#L=J#~#JX@t1G!KJjh$jHbge4)F? z%<%U3&Eo1Kd!X_6`AL(qDu1HD$<4XH!bp>`HgSs1(9t+=hCz6by~4zuot?VC!Z2=! z4@qH3c#B4MilC#UP?D|A(9%P7iF>EIg{-|ebBmI*z#3tGyw~HFwZax&d?0(Ez1ZV) zjh7pEo*#OkzS!fFv%nj7o;q}lfs>mSUVVk3tSf7UOnHo>q@^Hwph0tp9C)6s&)g_} zqAY-;Hif3i&d`Xf&Jq9s010qNS#tmY4#EHc4#EKyC`y0;00GKLL_t(IPt}yyQo=wK zhL^R)*cKZRg9R%#P!W5Q%^XLcuoiRd@+^WvY1 zvZ1l5*(`_%(ZVkV7FMg>)^2xnepigH-$X>nE*0(W=~aFG!Ae+^G4LE`Ag%^~6)jgq z6Amy0W~biN_(eIaq9f=zPETBo_UmoNC(4)|O|pkQ?J>R2e2a2iO;9c~FsTOpJv|ZU zozfC99mm-{jEM6lQ`#X?L-CneT?Mp=-kcK@o%w|t5p!YQpqS1qE>V>r5$1q?A#pjY zTuBarB7Gm${9KR)p;QtwYuxPHFEd0+hZpf(z)yq4c! z4vQ9=x}vDOe|);RK&`$gs?}WR9{eB@ekrt-2eap07*qoM6N<$g0^g_ A$N&HU literal 0 HcmV?d00001 diff --git a/Sledgemapper/Content/icon_room.png b/Sledgemapper/Content/icon_room.png new file mode 100644 index 0000000000000000000000000000000000000000..a313a0620988ba600c02b4d15d3937927fbfda46 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU3?z3ec*FxK#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;;0X`wFmoHylwrtsvGv_;}&s~4;HYgftGR>ctjR6Fz_7$VMb96uLhuCho_5Uh=u># zE1ulV4m@oS17C+-*V~r2_VoY%6OH1FJouX2Mdy2S?9q5+&}LziSZnF>qRQM+-_E>I z)NSK}>DFBbRKjLGbvh_~ioL5v?sv`J)-Ls$eN!fA-${HCQ5wvt>;Ixkq~_MSPge_C zvlahU{Qb?%>@V?k;fyp#{a06`^)xqqy>+`d;|$a82~LU6e(rYxx{1Nl)z4*}Q$iB} DUv-yS literal 0 HcmV?d00001 diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 0dceb8f..fda2bf8 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -176,6 +176,9 @@ ResetRenderTarget(); _eye = Content.Load("eye"); _location = Content.Load("location"); _comment = Content.Load("comment"); + _mainWidget.BtnToolbarLine.Image = new TextureRegion(Content.Load("icon_line")); + _mainWidget.BtnToolbarRoom.Image = new TextureRegion(Content.Load("icon_room")); + _mainWidget.BtnToolbarDelete.Image = new TextureRegion(Content.Load("icon_delete")); _desktop.Root = _mainWidget; } From c3f4e7cd705cbf364519694c565cfc1da13b1e9f Mon Sep 17 00:00:00 2001 From: Michele Date: Fri, 15 Jan 2021 12:30:41 +0000 Subject: [PATCH 14/20] performance optimization --- Sledgemapper/Content/shaders/OutlineShader.fx | 186 +++++------------- Sledgemapper/Sledgemapper.cs | 6 +- 2 files changed, 49 insertions(+), 143 deletions(-) diff --git a/Sledgemapper/Content/shaders/OutlineShader.fx b/Sledgemapper/Content/shaders/OutlineShader.fx index b5dac7f..d427f01 100644 --- a/Sledgemapper/Content/shaders/OutlineShader.fx +++ b/Sledgemapper/Content/shaders/OutlineShader.fx @@ -6,7 +6,6 @@ #define VS_SHADERMODEL vs_4_0_level_9_1 #define PS_SHADERMODEL ps_4_0_level_9_1 #endif -float2 TexelSize; // should be (1f/textureSize.X, 1f/textureSize.Y) int BorderSize; float R; float G; @@ -26,152 +25,55 @@ struct VertexShaderOutput float4 MainPS(VertexShaderOutput input) : COLOR { - // float4 color = tex2Dlod(SpriteTextureSampler, float4 (input.TextureCoordinates.x, input.TextureCoordinates.y, 0,0)); - - // if (color.a > 0) - // { - // return color; - // } + float4 color = tex2Dlod(SpriteTextureSampler, float4(input.TextureCoordinates.x, input.TextureCoordinates.y, 0, 0)); - // float2 pixelSize.x = float2(pixelSize.x, 0); - // float2 pixelSize.y = float2( 0, pixelSize.y ); - - // for (int i = 1; i < 10; i++) - // { - // if (i<=BorderSize) - // { - // float4 c1 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates + pixelSize.x*i).x, (input.TextureCoordinates + pixelSize.x*i).y,0,0)); - // float4 c2 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - pixelSize.x*i).x,(input.TextureCoordinates - pixelSize.x*i ).y ,0,0)); - // float4 c3 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates + pixelSize.y*i ).x,(input.TextureCoordinates + pixelSize.y*i ).y ,0,0)); - // float4 c4 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - pixelSize.y*i ).x,(input.TextureCoordinates - pixelSize.y*i ).y ,0,0)); - // float4 d1 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - (pixelSize.x+pixelSize.y)*i ).x,(input.TextureCoordinates - (pixelSize.x+pixelSize.y)*i ).y ,0,0)); - // float4 d2 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates + (pixelSize.x+pixelSize.y)*i).x,(input.TextureCoordinates + (pixelSize.x+pixelSize.y)*i).y ,0,0)); - // float4 d3 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - (pixelSize.x-pixelSize.y)*i ).x,(input.TextureCoordinates - (pixelSize.x-pixelSize.y)*i ).y ,0,0)); - // float4 d4 = tex2Dlod(SpriteTextureSampler, float4((input.TextureCoordinates - (-pixelSize.x+pixelSize.y)*i).x,(input.TextureCoordinates - (-pixelSize.x+pixelSize.y)*i).y ,0,0)); - - // if (color.a != c1.a || color.a != c2.a|| color.a != c3.a|| color.a != c4.a - // || color.a != d1.a - // || color.a != d2.a - // || color.a != d3.a - // || color.a != d4.a - // ) - // { - // color.r=R; - // color.g=G; - // color.b=B; - // color.a=1; - // } - // } - // } - - // return color; - //float pixelSize.x = float(1/ImageSize.x); - //float pixelSize.y = float(1/ImageSize.y ); - - // ########################################################################### - - -// float2 pixelSize = 1/ float2((float) ImageSize.x, (float) ImageSize.y); - -// float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates); -// if(color.a==1) {return color;} - -// // float2 offsets[8] = {float2(-1,0), float2(1,0), float2(0,1), float2(0,-1), float2(-1,1), float2(1,1), float2(1,-1), float2(-1,-1)}; -// float2 offsets[8] = {float2(-pixelSize.x,0), -// float2(pixelSize.x,0), -// float2(0,pixelSize.y), -// float2(0,-pixelSize.y), -// float2(-pixelSize.x,pixelSize.y), -// float2(pixelSize.x,pixelSize.y), -// float2(pixelSize.x,-pixelSize.y), -// float2(-pixelSize.x,-pixelSize.y)}; -// int i, j = 0; - -// while(i < 10) -// { -// i++; -// j=0; -// while (j < 8) -// { -// // float2 curUV = input.TextureCoordinates + ((offsets[j] * pixelSize.x + offsets[j] *pixelSize.y)* i); -// float curUVx = input.TextureCoordinates.x + offsets[j].x * (float)i; -// float curUVy = input.TextureCoordinates.y + offsets[j].y * (float)i; -// float4 offsetsample = tex2Dlod(SpriteTextureSampler, float4(curUVx, curUVy,0,0)); - -// if( -// offsetsample.a==1 - -// ) -// { -// return float4( -// R, -// G, -// B, -// 1); - -// } - -// j++; -// } - - -// } - -// return color; - -//############################################################## -int px = (int) input.TextureCoordinates.x*ImageSize.x; -int py = (int) input.TextureCoordinates.y*ImageSize.y; - -float2 pixel = input.TextureCoordinates*ImageSize; -float4 color = tex2D(SpriteTextureSampler, input.TextureCoordinates); - -if(color.a==1) {return color;} - -// float2 offsets[8] = {float2(-1,0), float2(1,0), float2(0,1), float2(0,-1), float2(-1,1), float2(1,1), float2(1,-1), float2(-1,-1)}; -float2 offsets[8] = {float2(-1,0), - float2(1,0), - float2(0,1), - float2(0,-1), - float2(-1,1), - float2(1,1), - float2(1,-1), - float2(-1,-1)}; -int i, j = 0; - -// while(i < 10) -// { -// i++; -// j=0; - - while (j < 8) + if(color.a == 1) { - // float2 curUV = input.TextureCoordinates + ((offsets[j] * pixelSize.x + offsets[j] *pixelSize.y)* i); - float checkpx=(float)px+(float)BorderSize*offsets[j].x; - float checkpy=(float)py+(float)BorderSize*offsets[j].y; - - float curUVx = input.TextureCoordinates.x + (float)checkpx/(float)ImageSize.x; - float curUVy = input.TextureCoordinates.y + (float)checkpy/(float)ImageSize.y; - float4 offsetsample = tex2Dlod(SpriteTextureSampler, float4(curUVx, curUVy,0,0)); - - if( - offsetsample.a==1 - - ) - { - return float4( - R, - G, - B, - 1); - - } - - j++; + return color; } + float2 pixel = (int2)input.TextureCoordinates * ImageSize; -// } + float2 offsets[8] = {float2(-1,0), float2(1,0), float2(0,1), float2(0,-1), float2(-1,1), float2(1,1), float2(1,-1), float2(-1,-1)} * BorderSize; + + float2 checkp1 = pixel + (float)BorderSize * offsets[0]; + float2 curUV1 = input.TextureCoordinates + checkp1/(float2)ImageSize; + float alpha1 = tex2Dlod(SpriteTextureSampler, float4(curUV1.x, curUV1.y,0,0)).a; + + float2 checkp2 = pixel + (float)BorderSize * offsets[1]; + float2 curUV2 = input.TextureCoordinates + checkp2/(float2)ImageSize; + float alpha2 = tex2Dlod(SpriteTextureSampler, float4(curUV2.x, curUV2.y,0,0)).a; + + float2 checkp3 = pixel + (float)BorderSize * offsets[2]; + float2 curUV3 = input.TextureCoordinates + checkp3/(float2)ImageSize; + float alpha3 = tex2Dlod(SpriteTextureSampler, float4(curUV3.x, curUV3.y,0,0)).a; + + float2 checkp4 = pixel + (float)BorderSize * offsets[3]; + float2 curUV4 = input.TextureCoordinates + checkp4/(float2)ImageSize; + float alpha4 = tex2Dlod(SpriteTextureSampler, float4(curUV4.x, curUV4.y,0,0)).a; + + float2 checkp5 = pixel + (float)BorderSize * offsets[4]; + float2 curUV5 = input.TextureCoordinates + checkp5/(float2)ImageSize; + float alpha5 = tex2Dlod(SpriteTextureSampler, float4(curUV5.x, curUV5.y,0,0)).a; + + float2 checkp6 = pixel + (float)BorderSize * offsets[5]; + float2 curUV6 = input.TextureCoordinates + checkp6/(float2)ImageSize; + float alpha6 = tex2Dlod(SpriteTextureSampler, float4(curUV6.x, curUV6.y,0,0)).a; + + float2 checkp7 = pixel + (float)BorderSize * offsets[6]; + float2 curUV7 = input.TextureCoordinates + checkp7/(float2)ImageSize; + float alpha7 = tex2Dlod(SpriteTextureSampler, float4(curUV7.x, curUV7.y,0,0)).a; + + float2 checkp8 = pixel + (float)BorderSize * offsets[7]; + float2 curUV8 = input.TextureCoordinates + checkp8/(float2)ImageSize; + float alpha8 = tex2Dlod(SpriteTextureSampler, float4(curUV8.x, curUV8.y,0,0)).a; + + float alpha = alpha1 + alpha2 + alpha3 + alpha4 + alpha5 + alpha6 + alpha7 + alpha8; + + if (alpha>0) + { + return float4(R,G,B,1); + } return color; diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index fda2bf8..6557500 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -169,7 +169,11 @@ ResetRenderTarget(); _mainWidget.BtnToolbarWall.Click += OnBtnToolbarWallClicked; _mainWidget.BtnToolbarDelete.Click += OnBtnToolbarDeleteClicked; - AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls"); + + + _mainWidget.BtnToolbarTile.Visible=false; + _mainWidget.BtnToolbarWall.Visible=false; + AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls"); AddItemToToolGrid(_mainWidget.GridOverlays, OnOverlayButtonClicked, "overlays"); _fonts = Content.LoadContentFolder("fonts"); From e7bcd197dfdb8c13576ca4991b64dca769d0eaf2 Mon Sep 17 00:00:00 2001 From: Michele Date: Fri, 15 Jan 2021 12:31:24 +0000 Subject: [PATCH 15/20] fix compile errir --- Sledgemapper/Content/shaders/OutlineShader.fx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sledgemapper/Content/shaders/OutlineShader.fx b/Sledgemapper/Content/shaders/OutlineShader.fx index d427f01..3bc6bfe 100644 --- a/Sledgemapper/Content/shaders/OutlineShader.fx +++ b/Sledgemapper/Content/shaders/OutlineShader.fx @@ -34,7 +34,7 @@ float4 MainPS(VertexShaderOutput input) : COLOR float2 pixel = (int2)input.TextureCoordinates * ImageSize; - float2 offsets[8] = {float2(-1,0), float2(1,0), float2(0,1), float2(0,-1), float2(-1,1), float2(1,1), float2(1,-1), float2(-1,-1)} * BorderSize; + float2 offsets[8] = {float2(-1,0), float2(1,0), float2(0,1), float2(0,-1), float2(-1,1), float2(1,1), float2(1,-1), float2(-1,-1)}; float2 checkp1 = pixel + (float)BorderSize * offsets[0]; float2 curUV1 = input.TextureCoordinates + checkp1/(float2)ImageSize; From 752c3bda34028d9f06697b4c271e48225e55caec Mon Sep 17 00:00:00 2001 From: Michele Date: Fri, 15 Jan 2021 13:41:41 +0000 Subject: [PATCH 16/20] add wine to compile image --- BaseCompileImage/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BaseCompileImage/Dockerfile b/BaseCompileImage/Dockerfile index db32cb0..56d98f7 100644 --- a/BaseCompileImage/Dockerfile +++ b/BaseCompileImage/Dockerfile @@ -19,6 +19,10 @@ RUN export DEBIAN_FRONTEND=noninteractive \ libpng16-16 \ libnvtt-dev \ \ + + # Install Wine + && apt install -y --no-install-recommends wine64 p7zip-full \ + && wget -qO- https://raw.githubusercontent.com/MonoGame/MonoGame/develop/Tools/MonoGame.Effect.Compiler/mgfxc_wine_setup.sh | bash \ # Cleanup && rm -rf /var/lib/apt/lists/* From b49d6e8ad6011f22e50b3ad2c6f06e20356bc8cb Mon Sep 17 00:00:00 2001 From: Michele Date: Sun, 17 Jan 2021 22:24:14 +0000 Subject: [PATCH 17/20] fix drone compilation --- .drone.yml | 1 + BaseCompileImage/Dockerfile | 42 +++++++++++++++++++++++++------------ 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/.drone.yml b/.drone.yml index 5989617..9484e36 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,6 +11,7 @@ steps: - name: frontend image: privateregistry.michelescandura.com/michele/basecompileimage + pull: true volumes: - name: cache path: /release diff --git a/BaseCompileImage/Dockerfile b/BaseCompileImage/Dockerfile index 56d98f7..b48f7c8 100644 --- a/BaseCompileImage/Dockerfile +++ b/BaseCompileImage/Dockerfile @@ -4,26 +4,42 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get install -y --no-install-recommends \ wget \ ca-certificates \ - \ + gnupg \ + software-properties-common \ + p7zip-full \ + xvfb \ + curl \ # Install Microsoft package feed && wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ - && rm packages-microsoft-prod.deb \ - \ + && rm packages-microsoft-prod.deb + # Install .NET - && apt-get update \ +RUN apt-get update \ && apt-get install -y --no-install-recommends \ - apt-transport-https \ + apt-transport-https \ dotnet-sdk-5.0 \ dotnet-sdk-3.1 \ libpng16-16 \ - libnvtt-dev \ - \ + libnvtt-dev - # Install Wine - && apt install -y --no-install-recommends wine64 p7zip-full \ - && wget -qO- https://raw.githubusercontent.com/MonoGame/MonoGame/develop/Tools/MonoGame.Effect.Compiler/mgfxc_wine_setup.sh | bash \ - # Cleanup - && rm -rf /var/lib/apt/lists/* +RUN dpkg --add-architecture i386 +# && apt-get install --no-install-recommends -y gnupg software-properties-common p7zip-full xvfb curl -RUN dotnet tool install -g dotnet-mgcb +RUN wget -qO- https://dl.winehq.org/wine-builds/winehq.key | apt-key add - \ + && apt-add-repository 'deb http://dl.winehq.org/wine-builds/ubuntu/ focal main' \ + && wget -qO- https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/Release.key | apt-key add - \ + && sh -c 'echo "deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/ ./" > /etc/apt/sources.list.d/obs.list' + +RUN apt-get update \ + && apt-get install --install-recommends -y winehq-stable + +RUN wget -qO- https://raw.githubusercontent.com/MonoGame/MonoGame/develop/Tools/MonoGame.Effect.Compiler/mgfxc_wine_setup.sh | xvfb-run sh + +RUN rm -rf /var/lib/apt/lists/* + +ENV MGFXC_WINE_PATH=/root/.winemonogame/ + +RUN apt-get remove -y xvfb p7zip-full gnupg curl \ + && apt-get autoremove -y \ + && apt-get autoclean -y From 9909be7e13b2b22a363240073365662661c150c3 Mon Sep 17 00:00:00 2001 From: Michele Date: Sun, 17 Jan 2021 22:33:15 +0000 Subject: [PATCH 18/20] base image version --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 9484e36..c1552a1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -10,7 +10,7 @@ steps: auto_tag: true - name: frontend - image: privateregistry.michelescandura.com/michele/basecompileimage + image: privateregistry.michelescandura.com/michele/basecompileimage:0.9 pull: true volumes: - name: cache From 70abe86ae35cdcfa00b3298a2e9a281a35cd19ef Mon Sep 17 00:00:00 2001 From: Michele Date: Sun, 17 Jan 2021 22:39:18 +0000 Subject: [PATCH 19/20] revert changes --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index c1552a1..9484e36 100644 --- a/.drone.yml +++ b/.drone.yml @@ -10,7 +10,7 @@ steps: auto_tag: true - name: frontend - image: privateregistry.michelescandura.com/michele/basecompileimage:0.9 + image: privateregistry.michelescandura.com/michele/basecompileimage pull: true volumes: - name: cache From 5c0608c53777039179b053a84d629a9a88b71116 Mon Sep 17 00:00:00 2001 From: Michele Date: Mon, 18 Jan 2021 10:05:40 +0000 Subject: [PATCH 20/20] backward compatible small fixes --- Sledgemapper/Sledgemapper.cs | 78 +++++++++++++++---------- Sledgemapper/UI/MainWidget.Custom.cs | 1 - Sledgemapper/UI/MainWidget.Generated.cs | 49 ++++------------ Sledgemapper/UI/mainwidget.xml | 11 ---- 4 files changed, 58 insertions(+), 81 deletions(-) diff --git a/Sledgemapper/Sledgemapper.cs b/Sledgemapper/Sledgemapper.cs index 6557500..ec8a885 100644 --- a/Sledgemapper/Sledgemapper.cs +++ b/Sledgemapper/Sledgemapper.cs @@ -97,7 +97,7 @@ namespace Sledgemapper private void ResetRenderTarget() { - rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, false, SurfaceFormat.Color, DepthFormat.None, 0, RenderTargetUsage.DiscardContents); + rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, false, SurfaceFormat.Color, DepthFormat.None, 0, RenderTargetUsage.DiscardContents); } @@ -106,7 +106,7 @@ namespace Sledgemapper rendertarget?.Dispose(); try { -ResetRenderTarget(); + ResetRenderTarget(); // rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents); //rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height); @@ -171,9 +171,9 @@ ResetRenderTarget(); - _mainWidget.BtnToolbarTile.Visible=false; - _mainWidget.BtnToolbarWall.Visible=false; - AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls"); + _mainWidget.BtnToolbarTile.Visible = false; + _mainWidget.BtnToolbarWall.Visible = false; + AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls"); AddItemToToolGrid(_mainWidget.GridOverlays, OnOverlayButtonClicked, "overlays"); _fonts = Content.LoadContentFolder("fonts"); @@ -508,6 +508,9 @@ ResetRenderTarget(); switch (_state.InsertMode) { case InsertMode.Tile: + case InsertMode.NewRoom: + case InsertMode.NewLine: + case InsertMode.NewDelete: _state.SelectedTile.X = _state.HoveredTile.X; _state.SelectedTile.Y = _state.HoveredTile.Y; _sessionData.DeleteTile(_state.SelectedTile); @@ -590,8 +593,8 @@ ResetRenderTarget(); _spriteBatch.Begin(depthStencilState: DepthStencilState.None, transformMatrix: Matrix.CreateTranslation(_viewportCenter), blendState: BlendState.Opaque, - //rasterizerState:RasterizerState.CullClockwise, - samplerState:SamplerState.PointClamp, + //rasterizerState:RasterizerState.CullClockwise, + samplerState: SamplerState.PointClamp, sortMode: SpriteSortMode.Deferred); @@ -624,14 +627,14 @@ ResetRenderTarget(); GraphicsDevice.SetRenderTarget(null); - Vector2 texelSize = new Vector2((float)rendertarget.Width, (float)rendertarget.Height); + Vector2 texelSize = new Vector2((float)rendertarget.Width, (float)rendertarget.Height); outlineShader.Parameters["ImageSize"].SetValue(texelSize); - outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *10f)); + outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f * 10f)); outlineShader.Parameters["R"].SetValue(_settings.OverlayTintColor.R / 255.0f); outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f); outlineShader.Parameters["B"].SetValue(_settings.OverlayTintColor.B / 255.0f); -// outlineShader2.Parameters["ScreenSize"].SetValue(texelSize); + // outlineShader2.Parameters["ScreenSize"].SetValue(texelSize); _spriteBatch.Begin( effect: outlineShader, blendState: BlendState.NonPremultiplied, @@ -643,7 +646,7 @@ ResetRenderTarget(); _spriteBatch.Begin( transformMatrix: Matrix.CreateTranslation(_viewportCenter), sortMode: SpriteSortMode.Deferred); - + DrawTiles(); DrawWalls(); DrawOverlays(); DrawNotes(); @@ -1164,33 +1167,46 @@ ResetRenderTarget(); // } // border pass - foreach (var tile in _sessionData.Map.Values) - { - var content = Content.Load($"tiles/{tile.ID}"); + // foreach (var tile in _sessionData.Map.Values) + // { + // var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state.TileSize; - var posY = tile.Y * _state.TileSize; + // var posX = tile.X * _state.TileSize; + // var posY = tile.Y * _state.TileSize; - var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); + // var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + // whiteRectangle.SetData(new[] { _settings.OverlayTintColor }); - _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - _borderWidth / 2, (int)posY - _borderWidth / 2, _state.TileSize + _borderWidth, _state.TileSize + _borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); - } + // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX - _borderWidth / 2, (int)posY - _borderWidth / 2, _state.TileSize + _borderWidth, _state.TileSize + _borderWidth), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + // } //inner pass + // foreach (var tile in _sessionData.Map.Values) + // { + // var content = Content.Load($"tiles/{tile.ID}"); + + // var posX = tile.X * _state.TileSize; + // var posY = tile.Y * _state.TileSize; + + + // var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); + // whiteRectangle.SetData(new[] { Color.White }); + + // _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + // } + + foreach (var tile in _sessionData.Map.Values) { var content = Content.Load($"tiles/{tile.ID}"); - var posX = tile.X * _state.TileSize; - var posY = tile.Y * _state.TileSize; + var posX = tile.X * _state.TileSize + _state.TileSize / 2f; + var posY = tile.Y * _state.TileSize + _state.TileSize / 2f; - - var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1); - whiteRectangle.SetData(new[] { Color.White }); - - _spriteBatch.Draw(whiteRectangle, new Rectangle((int)posX, (int)posY, _state.TileSize, _state.TileSize), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 1); + _spriteBatch.Draw(content, new Vector2(posX, posY), + null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0); } + } private void DrawLine(Line tile) { @@ -1329,10 +1345,10 @@ ResetRenderTarget(); var endposX = tile.End.X * _state.TileSize; var endposY = tile.End.Y * _state.TileSize; - - var ww = _state.TileSize / _settings.TileDeleteDivider; - if (posX == endposX) { endposX += ww; posX -= ww; } - if (posY == endposY) { endposY += ww; posY -= ww; } + + var ww = _state.TileSize / _settings.TileDeleteDivider; + if (posX == endposX) { endposX += ww; posX -= ww; } + if (posY == endposY) { endposY += ww; posY -= ww; } switch (tile.Start.Index) { case 1: diff --git a/Sledgemapper/UI/MainWidget.Custom.cs b/Sledgemapper/UI/MainWidget.Custom.cs index 60734b2..34cb9fb 100644 --- a/Sledgemapper/UI/MainWidget.Custom.cs +++ b/Sledgemapper/UI/MainWidget.Custom.cs @@ -6,7 +6,6 @@ namespace Sledgemapper.UI { public void ClearSelection() { - ClearSelection(GridTiles); ClearSelection(GridWalls); ClearSelection(GridOverlays); } diff --git a/Sledgemapper/UI/MainWidget.Generated.cs b/Sledgemapper/UI/MainWidget.Generated.cs index 0ca05b8..2f730cd 100644 --- a/Sledgemapper/UI/MainWidget.Generated.cs +++ b/Sledgemapper/UI/MainWidget.Generated.cs @@ -1,4 +1,4 @@ -/* Generated by MyraPad at 07/01/2021 22:44:41 */ +/* Generated by MyraPad at 18/01/2021 09:38:43 */ using Myra; using Myra.Graphics2D; using Myra.Graphics2D.TextureAtlases; @@ -178,31 +178,6 @@ namespace Sledgemapper.UI horizontalStackPanel1.Widgets.Add(BtnToolbarRoom); horizontalStackPanel1.Widgets.Add(BtnToolbarDelete); - GridTiles = new Grid(); - GridTiles.ColumnSpacing = 8; - GridTiles.RowSpacing = 8; - GridTiles.DefaultColumnProportion = new Proportion - { - Type = Myra.Graphics2D.UI.ProportionType.Pixels, - Value = 40, - }; - GridTiles.DefaultRowProportion = new Proportion - { - Type = Myra.Graphics2D.UI.ProportionType.Pixels, - Value = 40, - }; - GridTiles.Id = "GridTiles"; - - var scrollViewer1 = new ScrollViewer(); - scrollViewer1.Content = GridTiles; - - var verticalStackPanel1 = new VerticalStackPanel(); - verticalStackPanel1.Proportions.Add(new Proportion - { - Type = Myra.Graphics2D.UI.ProportionType.Fill, - }); - verticalStackPanel1.Widgets.Add(scrollViewer1); - GridWalls = new Grid(); GridWalls.ColumnSpacing = 8; GridWalls.RowSpacing = 8; @@ -218,15 +193,15 @@ namespace Sledgemapper.UI }; GridWalls.Id = "GridWalls"; - var scrollViewer2 = new ScrollViewer(); - scrollViewer2.Content = GridWalls; + var scrollViewer1 = new ScrollViewer(); + scrollViewer1.Content = GridWalls; - var verticalStackPanel2 = new VerticalStackPanel(); - verticalStackPanel2.Proportions.Add(new Proportion + var verticalStackPanel1 = new VerticalStackPanel(); + verticalStackPanel1.Proportions.Add(new Proportion { Type = Myra.Graphics2D.UI.ProportionType.Fill, }); - verticalStackPanel2.Widgets.Add(scrollViewer2); + verticalStackPanel1.Widgets.Add(scrollViewer1); GridOverlays = new Grid(); GridOverlays.ColumnSpacing = 8; @@ -243,22 +218,21 @@ namespace Sledgemapper.UI }; GridOverlays.Id = "GridOverlays"; - var scrollViewer3 = new ScrollViewer(); - scrollViewer3.Content = GridOverlays; + var scrollViewer2 = new ScrollViewer(); + scrollViewer2.Content = GridOverlays; - var verticalStackPanel3 = new VerticalStackPanel(); - verticalStackPanel3.Proportions.Add(new Proportion + var verticalStackPanel2 = new VerticalStackPanel(); + verticalStackPanel2.Proportions.Add(new Proportion { Type = Myra.Graphics2D.UI.ProportionType.Fill, }); - verticalStackPanel3.Widgets.Add(scrollViewer3); + verticalStackPanel2.Widgets.Add(scrollViewer2); var verticalSplitPane1 = new VerticalSplitPane(); verticalSplitPane1.Width = 200; verticalSplitPane1.Background = new SolidBrush("#A1A1A1FF"); verticalSplitPane1.Widgets.Add(verticalStackPanel1); verticalSplitPane1.Widgets.Add(verticalStackPanel2); - verticalSplitPane1.Widgets.Add(verticalStackPanel3); var label1 = new Label(); label1.Text = "Connection status:"; @@ -345,7 +319,6 @@ namespace Sledgemapper.UI public ImageTextButton BtnToolbarWall; public ImageTextButton BtnToolbarRoom; public ImageTextButton BtnToolbarDelete; - public Grid GridTiles; public Grid GridWalls; public Grid GridOverlays; public Label lblConnectionStatus; diff --git a/Sledgemapper/UI/mainwidget.xml b/Sledgemapper/UI/mainwidget.xml index a00abec..0929de8 100644 --- a/Sledgemapper/UI/mainwidget.xml +++ b/Sledgemapper/UI/mainwidget.xml @@ -43,17 +43,6 @@ - - - - - - - - - - -

jBkza=zH-l0{#dt@iN?kyKW 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