backward compatible small fixes
This commit is contained in:
parent
70abe86ae3
commit
5c0608c537
4 changed files with 58 additions and 81 deletions
|
@ -97,7 +97,7 @@ namespace Sledgemapper
|
||||||
|
|
||||||
private void ResetRenderTarget()
|
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();
|
rendertarget?.Dispose();
|
||||||
try
|
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, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents);
|
||||||
//rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
|
//rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
|
||||||
|
|
||||||
|
@ -171,9 +171,9 @@ ResetRenderTarget();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_mainWidget.BtnToolbarTile.Visible=false;
|
_mainWidget.BtnToolbarTile.Visible = false;
|
||||||
_mainWidget.BtnToolbarWall.Visible=false;
|
_mainWidget.BtnToolbarWall.Visible = false;
|
||||||
AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls");
|
AddItemToToolGrid(_mainWidget.GridWalls, OnWallButtonClicked, "walls");
|
||||||
AddItemToToolGrid(_mainWidget.GridOverlays, OnOverlayButtonClicked, "overlays");
|
AddItemToToolGrid(_mainWidget.GridOverlays, OnOverlayButtonClicked, "overlays");
|
||||||
|
|
||||||
_fonts = Content.LoadContentFolder<SpriteFont>("fonts");
|
_fonts = Content.LoadContentFolder<SpriteFont>("fonts");
|
||||||
|
@ -508,6 +508,9 @@ ResetRenderTarget();
|
||||||
switch (_state.InsertMode)
|
switch (_state.InsertMode)
|
||||||
{
|
{
|
||||||
case InsertMode.Tile:
|
case InsertMode.Tile:
|
||||||
|
case InsertMode.NewRoom:
|
||||||
|
case InsertMode.NewLine:
|
||||||
|
case InsertMode.NewDelete:
|
||||||
_state.SelectedTile.X = _state.HoveredTile.X;
|
_state.SelectedTile.X = _state.HoveredTile.X;
|
||||||
_state.SelectedTile.Y = _state.HoveredTile.Y;
|
_state.SelectedTile.Y = _state.HoveredTile.Y;
|
||||||
_sessionData.DeleteTile(_state.SelectedTile);
|
_sessionData.DeleteTile(_state.SelectedTile);
|
||||||
|
@ -590,8 +593,8 @@ ResetRenderTarget();
|
||||||
_spriteBatch.Begin(depthStencilState: DepthStencilState.None,
|
_spriteBatch.Begin(depthStencilState: DepthStencilState.None,
|
||||||
transformMatrix: Matrix.CreateTranslation(_viewportCenter),
|
transformMatrix: Matrix.CreateTranslation(_viewportCenter),
|
||||||
blendState: BlendState.Opaque,
|
blendState: BlendState.Opaque,
|
||||||
//rasterizerState:RasterizerState.CullClockwise,
|
//rasterizerState:RasterizerState.CullClockwise,
|
||||||
samplerState:SamplerState.PointClamp,
|
samplerState: SamplerState.PointClamp,
|
||||||
|
|
||||||
sortMode: SpriteSortMode.Deferred);
|
sortMode: SpriteSortMode.Deferred);
|
||||||
|
|
||||||
|
@ -624,14 +627,14 @@ ResetRenderTarget();
|
||||||
|
|
||||||
GraphicsDevice.SetRenderTarget(null);
|
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["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["R"].SetValue(_settings.OverlayTintColor.R / 255.0f);
|
||||||
outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f);
|
outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f);
|
||||||
outlineShader.Parameters["B"].SetValue(_settings.OverlayTintColor.B / 255.0f);
|
outlineShader.Parameters["B"].SetValue(_settings.OverlayTintColor.B / 255.0f);
|
||||||
// outlineShader2.Parameters["ScreenSize"].SetValue(texelSize);
|
// outlineShader2.Parameters["ScreenSize"].SetValue(texelSize);
|
||||||
_spriteBatch.Begin(
|
_spriteBatch.Begin(
|
||||||
effect: outlineShader,
|
effect: outlineShader,
|
||||||
blendState: BlendState.NonPremultiplied,
|
blendState: BlendState.NonPremultiplied,
|
||||||
|
@ -643,7 +646,7 @@ ResetRenderTarget();
|
||||||
_spriteBatch.Begin(
|
_spriteBatch.Begin(
|
||||||
transformMatrix: Matrix.CreateTranslation(_viewportCenter),
|
transformMatrix: Matrix.CreateTranslation(_viewportCenter),
|
||||||
sortMode: SpriteSortMode.Deferred);
|
sortMode: SpriteSortMode.Deferred);
|
||||||
|
DrawTiles();
|
||||||
DrawWalls();
|
DrawWalls();
|
||||||
DrawOverlays();
|
DrawOverlays();
|
||||||
DrawNotes();
|
DrawNotes();
|
||||||
|
@ -1164,33 +1167,46 @@ ResetRenderTarget();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// border pass
|
// border pass
|
||||||
foreach (var tile in _sessionData.Map.Values)
|
// foreach (var tile in _sessionData.Map.Values)
|
||||||
{
|
// {
|
||||||
var content = Content.Load<Texture2D>($"tiles/{tile.ID}");
|
// var content = Content.Load<Texture2D>($"tiles/{tile.ID}");
|
||||||
|
|
||||||
var posX = tile.X * _state.TileSize;
|
// var posX = tile.X * _state.TileSize;
|
||||||
var posY = tile.Y * _state.TileSize;
|
// var posY = tile.Y * _state.TileSize;
|
||||||
|
|
||||||
var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
// var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
||||||
whiteRectangle.SetData(new[] { _settings.OverlayTintColor });
|
// 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
|
//inner pass
|
||||||
|
// foreach (var tile in _sessionData.Map.Values)
|
||||||
|
// {
|
||||||
|
// var content = Content.Load<Texture2D>($"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)
|
foreach (var tile in _sessionData.Map.Values)
|
||||||
{
|
{
|
||||||
var content = Content.Load<Texture2D>($"tiles/{tile.ID}");
|
var content = Content.Load<Texture2D>($"tiles/{tile.ID}");
|
||||||
|
|
||||||
var posX = tile.X * _state.TileSize;
|
var posX = tile.X * _state.TileSize + _state.TileSize / 2f;
|
||||||
var posY = tile.Y * _state.TileSize;
|
var posY = tile.Y * _state.TileSize + _state.TileSize / 2f;
|
||||||
|
|
||||||
|
_spriteBatch.Draw(content, new Vector2(posX, posY),
|
||||||
var whiteRectangle = new Texture2D(GraphicsDevice, 1, 1);
|
null, Color.White, MathHelper.ToRadians(90 * tile.Rotation), new Vector2(content.Width / 2, content.Height / 2), ((float)_state.TileSize) / content.Width, SpriteEffects.None, 0);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private void DrawLine(Line tile)
|
private void DrawLine(Line tile)
|
||||||
{
|
{
|
||||||
|
@ -1329,10 +1345,10 @@ ResetRenderTarget();
|
||||||
var endposX = tile.End.X * _state.TileSize;
|
var endposX = tile.End.X * _state.TileSize;
|
||||||
var endposY = tile.End.Y * _state.TileSize;
|
var endposY = tile.End.Y * _state.TileSize;
|
||||||
|
|
||||||
|
|
||||||
var ww = _state.TileSize / _settings.TileDeleteDivider;
|
var ww = _state.TileSize / _settings.TileDeleteDivider;
|
||||||
if (posX == endposX) { endposX += ww; posX -= ww; }
|
if (posX == endposX) { endposX += ww; posX -= ww; }
|
||||||
if (posY == endposY) { endposY += ww; posY -= ww; }
|
if (posY == endposY) { endposY += ww; posY -= ww; }
|
||||||
switch (tile.Start.Index)
|
switch (tile.Start.Index)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
|
|
|
@ -6,7 +6,6 @@ namespace Sledgemapper.UI
|
||||||
{
|
{
|
||||||
public void ClearSelection()
|
public void ClearSelection()
|
||||||
{
|
{
|
||||||
ClearSelection(GridTiles);
|
|
||||||
ClearSelection(GridWalls);
|
ClearSelection(GridWalls);
|
||||||
ClearSelection(GridOverlays);
|
ClearSelection(GridOverlays);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
using Myra.Graphics2D;
|
using Myra.Graphics2D;
|
||||||
using Myra.Graphics2D.TextureAtlases;
|
using Myra.Graphics2D.TextureAtlases;
|
||||||
|
@ -178,31 +178,6 @@ namespace Sledgemapper.UI
|
||||||
horizontalStackPanel1.Widgets.Add(BtnToolbarRoom);
|
horizontalStackPanel1.Widgets.Add(BtnToolbarRoom);
|
||||||
horizontalStackPanel1.Widgets.Add(BtnToolbarDelete);
|
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 = new Grid();
|
||||||
GridWalls.ColumnSpacing = 8;
|
GridWalls.ColumnSpacing = 8;
|
||||||
GridWalls.RowSpacing = 8;
|
GridWalls.RowSpacing = 8;
|
||||||
|
@ -218,15 +193,15 @@ namespace Sledgemapper.UI
|
||||||
};
|
};
|
||||||
GridWalls.Id = "GridWalls";
|
GridWalls.Id = "GridWalls";
|
||||||
|
|
||||||
var scrollViewer2 = new ScrollViewer();
|
var scrollViewer1 = new ScrollViewer();
|
||||||
scrollViewer2.Content = GridWalls;
|
scrollViewer1.Content = GridWalls;
|
||||||
|
|
||||||
var verticalStackPanel2 = new VerticalStackPanel();
|
var verticalStackPanel1 = new VerticalStackPanel();
|
||||||
verticalStackPanel2.Proportions.Add(new Proportion
|
verticalStackPanel1.Proportions.Add(new Proportion
|
||||||
{
|
{
|
||||||
Type = Myra.Graphics2D.UI.ProportionType.Fill,
|
Type = Myra.Graphics2D.UI.ProportionType.Fill,
|
||||||
});
|
});
|
||||||
verticalStackPanel2.Widgets.Add(scrollViewer2);
|
verticalStackPanel1.Widgets.Add(scrollViewer1);
|
||||||
|
|
||||||
GridOverlays = new Grid();
|
GridOverlays = new Grid();
|
||||||
GridOverlays.ColumnSpacing = 8;
|
GridOverlays.ColumnSpacing = 8;
|
||||||
|
@ -243,22 +218,21 @@ namespace Sledgemapper.UI
|
||||||
};
|
};
|
||||||
GridOverlays.Id = "GridOverlays";
|
GridOverlays.Id = "GridOverlays";
|
||||||
|
|
||||||
var scrollViewer3 = new ScrollViewer();
|
var scrollViewer2 = new ScrollViewer();
|
||||||
scrollViewer3.Content = GridOverlays;
|
scrollViewer2.Content = GridOverlays;
|
||||||
|
|
||||||
var verticalStackPanel3 = new VerticalStackPanel();
|
var verticalStackPanel2 = new VerticalStackPanel();
|
||||||
verticalStackPanel3.Proportions.Add(new Proportion
|
verticalStackPanel2.Proportions.Add(new Proportion
|
||||||
{
|
{
|
||||||
Type = Myra.Graphics2D.UI.ProportionType.Fill,
|
Type = Myra.Graphics2D.UI.ProportionType.Fill,
|
||||||
});
|
});
|
||||||
verticalStackPanel3.Widgets.Add(scrollViewer3);
|
verticalStackPanel2.Widgets.Add(scrollViewer2);
|
||||||
|
|
||||||
var verticalSplitPane1 = new VerticalSplitPane();
|
var verticalSplitPane1 = new VerticalSplitPane();
|
||||||
verticalSplitPane1.Width = 200;
|
verticalSplitPane1.Width = 200;
|
||||||
verticalSplitPane1.Background = new SolidBrush("#A1A1A1FF");
|
verticalSplitPane1.Background = new SolidBrush("#A1A1A1FF");
|
||||||
verticalSplitPane1.Widgets.Add(verticalStackPanel1);
|
verticalSplitPane1.Widgets.Add(verticalStackPanel1);
|
||||||
verticalSplitPane1.Widgets.Add(verticalStackPanel2);
|
verticalSplitPane1.Widgets.Add(verticalStackPanel2);
|
||||||
verticalSplitPane1.Widgets.Add(verticalStackPanel3);
|
|
||||||
|
|
||||||
var label1 = new Label();
|
var label1 = new Label();
|
||||||
label1.Text = "Connection status:";
|
label1.Text = "Connection status:";
|
||||||
|
@ -345,7 +319,6 @@ namespace Sledgemapper.UI
|
||||||
public ImageTextButton BtnToolbarWall;
|
public ImageTextButton BtnToolbarWall;
|
||||||
public ImageTextButton BtnToolbarRoom;
|
public ImageTextButton BtnToolbarRoom;
|
||||||
public ImageTextButton BtnToolbarDelete;
|
public ImageTextButton BtnToolbarDelete;
|
||||||
public Grid GridTiles;
|
|
||||||
public Grid GridWalls;
|
public Grid GridWalls;
|
||||||
public Grid GridOverlays;
|
public Grid GridOverlays;
|
||||||
public Label lblConnectionStatus;
|
public Label lblConnectionStatus;
|
||||||
|
|
|
@ -43,17 +43,6 @@
|
||||||
<ImageTextButton Text=" D" Width="40" Height="40" VerticalAlignment="Center" Id="BtnToolbarDelete" />
|
<ImageTextButton Text=" D" Width="40" Height="40" VerticalAlignment="Center" Id="BtnToolbarDelete" />
|
||||||
</HorizontalStackPanel>
|
</HorizontalStackPanel>
|
||||||
<VerticalSplitPane Width="200" Background="#A1A1A1FF">
|
<VerticalSplitPane Width="200" Background="#A1A1A1FF">
|
||||||
<VerticalStackPanel>
|
|
||||||
<VerticalStackPanel.Proportions>
|
|
||||||
<Proportion Type="Fill" />
|
|
||||||
</VerticalStackPanel.Proportions>
|
|
||||||
<ScrollViewer>
|
|
||||||
<Grid ColumnSpacing="8" RowSpacing="8" Id="GridTiles">
|
|
||||||
<Grid.DefaultColumnProportion Type="Pixels" Value="40" />
|
|
||||||
<Grid.DefaultRowProportion Type="Pixels" Value="40" />
|
|
||||||
</Grid>
|
|
||||||
</ScrollViewer>
|
|
||||||
</VerticalStackPanel>
|
|
||||||
<VerticalStackPanel>
|
<VerticalStackPanel>
|
||||||
<VerticalStackPanel.Proportions>
|
<VerticalStackPanel.Proportions>
|
||||||
<Proportion Type="Fill" />
|
<Proportion Type="Fill" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue