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()
|
||||
{
|
||||
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<SpriteFont>("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<Texture2D>($"tiles/{tile.ID}");
|
||||
// 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 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<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)
|
||||
{
|
||||
var content = Content.Load<Texture2D>($"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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue