Fix explosion overlay bounds (#11074)

This commit is contained in:
Leon Friedrich
2022-09-06 17:27:29 +12:00
committed by GitHub
parent 1259898f6d
commit 75378b16aa
3 changed files with 6 additions and 6 deletions

View File

@@ -68,7 +68,7 @@ public sealed class ExplosionDebugOverlay : Overlay
var gridXform = xformQuery.GetComponent(grid.GridEntityId); var gridXform = xformQuery.GetComponent(grid.GridEntityId);
var (_, _, matrix, invMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv(xformQuery); var (_, _, matrix, invMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv(xformQuery);
gridBounds = invMatrix.TransformBox(args.WorldBounds); gridBounds = invMatrix.TransformBox(args.WorldBounds).Enlarged(grid.TileSize * 2);
DrawText(handle, gridBounds, matrix, tileSets, grid.TileSize); DrawText(handle, gridBounds, matrix, tileSets, grid.TileSize);
} }
@@ -136,7 +136,7 @@ public sealed class ExplosionDebugOverlay : Overlay
var gridXform = xformQuery.GetComponent(grid.GridEntityId); var gridXform = xformQuery.GetComponent(grid.GridEntityId);
var (_, _, worldMatrix, invWorldMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv(xformQuery); var (_, _, worldMatrix, invWorldMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv(xformQuery);
gridBounds = invWorldMatrix.TransformBox(args.WorldBounds); gridBounds = invWorldMatrix.TransformBox(args.WorldBounds).Enlarged(grid.TileSize * 2);
handle.SetTransform(worldMatrix); handle.SetTransform(worldMatrix);
DrawTiles(handle, gridBounds, tileSets, SpaceTileSize); DrawTiles(handle, gridBounds, tileSets, SpaceTileSize);
} }
@@ -144,7 +144,7 @@ public sealed class ExplosionDebugOverlay : Overlay
if (SpaceTiles == null) if (SpaceTiles == null)
return; return;
gridBounds = Matrix3.Invert(SpaceMatrix).TransformBox(args.WorldBounds); gridBounds = Matrix3.Invert(SpaceMatrix).TransformBox(args.WorldBounds).Enlarged(2);
handle.SetTransform(SpaceMatrix); handle.SetTransform(SpaceMatrix);
DrawTiles(handle, gridBounds, SpaceTiles, SpaceTileSize); DrawTiles(handle, gridBounds, SpaceTiles, SpaceTileSize);

View File

@@ -145,7 +145,7 @@ namespace Content.Client.Atmos.Overlays
continue; continue;
drawHandle.SetTransform(mapGrid.WorldMatrix); drawHandle.SetTransform(mapGrid.WorldMatrix);
var floatBounds = mapGrid.InvWorldMatrix.TransformBox(in args.WorldBounds); var floatBounds = mapGrid.InvWorldMatrix.TransformBox(in args.WorldBounds).Enlarged(mapGrid.TileSize);
var localBounds = new Box2i( var localBounds = new Box2i(
(int) MathF.Floor(floatBounds.Left), (int) MathF.Floor(floatBounds.Left),
(int) MathF.Floor(floatBounds.Bottom), (int) MathF.Floor(floatBounds.Bottom),

View File

@@ -74,7 +74,7 @@ public sealed class ExplosionOverlay : Overlay
var xform = xforms.GetComponent(grid.GridEntityId); var xform = xforms.GetComponent(grid.GridEntityId);
var (_, _, worldMatrix, invWorldMatrix) = xform.GetWorldPositionRotationMatrixWithInv(xforms); var (_, _, worldMatrix, invWorldMatrix) = xform.GetWorldPositionRotationMatrixWithInv(xforms);
gridBounds = invWorldMatrix.TransformBox(worldBounds); gridBounds = invWorldMatrix.TransformBox(worldBounds).Enlarged(grid.TileSize * 2);
drawHandle.SetTransform(worldMatrix); drawHandle.SetTransform(worldMatrix);
DrawTiles(drawHandle, gridBounds, index, tiles, exp, grid.TileSize); DrawTiles(drawHandle, gridBounds, index, tiles, exp, grid.TileSize);
@@ -83,7 +83,7 @@ public sealed class ExplosionOverlay : Overlay
if (exp.SpaceTiles == null) if (exp.SpaceTiles == null)
return; return;
gridBounds = Matrix3.Invert(exp.SpaceMatrix).TransformBox(worldBounds); gridBounds = Matrix3.Invert(exp.SpaceMatrix).TransformBox(worldBounds).Enlarged(2);
drawHandle.SetTransform(exp.SpaceMatrix); drawHandle.SetTransform(exp.SpaceMatrix);
DrawTiles(drawHandle, gridBounds, index, exp.SpaceTiles, exp, exp.SpaceTileSize); DrawTiles(drawHandle, gridBounds, index, exp.SpaceTiles, exp, exp.SpaceTileSize);