Remove obsolete null checks.

This commit is contained in:
Paul Chote
2020-12-14 17:53:51 +00:00
committed by Matthias Mailänder
parent 2518a353af
commit e0b3e631fe
6 changed files with 19 additions and 46 deletions

View File

@@ -168,10 +168,7 @@ namespace OpenRA.Graphics
for (var x = 0; x < template.Size.X; x++) for (var x = 0; x < template.Size.X; x++)
{ {
var tile = new TerrainTile(template.Id, (byte)(i++)); var tile = new TerrainTile(template.Id, (byte)(i++));
var tileInfo = tileset.GetTileInfo(tile); if (!tileset.TryGetTileInfo(tile, out var tileInfo))
// Empty tile
if (tileInfo == null)
continue; continue;
var sprite = TileSprite(tile); var sprite = TileSprite(tile);

View File

@@ -450,8 +450,7 @@ namespace OpenRA
void UpdateRamp(CPos cell) void UpdateRamp(CPos cell)
{ {
var tile = Rules.TileSet.GetTileInfo(Tiles[cell]); Ramp[cell] = Rules.TileSet.GetTileInfo(Tiles[cell]).RampType;
Ramp[cell] = tile != null ? tile.RampType : (byte)0;
} }
void InitializeCellProjection() void InitializeCellProjection()
@@ -677,25 +676,20 @@ namespace OpenRA
Color left, right; Color left, right;
var tileset = Rules.TileSet; var tileset = Rules.TileSet;
var type = tileset.GetTileInfo(Tiles[uv]); var type = tileset.GetTileInfo(Tiles[uv]);
if (type != null) if (type.MinColor != type.MaxColor)
{ {
if (type.MinColor != type.MaxColor) left = Exts.ColorLerp(Game.CosmeticRandom.NextFloat(), type.MinColor, type.MaxColor);
{ right = Exts.ColorLerp(Game.CosmeticRandom.NextFloat(), type.MinColor, type.MaxColor);
left = Exts.ColorLerp(Game.CosmeticRandom.NextFloat(), type.MinColor, type.MaxColor);
right = Exts.ColorLerp(Game.CosmeticRandom.NextFloat(), type.MinColor, type.MaxColor);
}
else
left = right = type.MinColor;
if (tileset.MinHeightColorBrightness != 1.0f || tileset.MaxHeightColorBrightness != 1.0f)
{
var scale = float2.Lerp(tileset.MinHeightColorBrightness, tileset.MaxHeightColorBrightness, Height[uv] * 1f / Grid.MaximumTerrainHeight);
left = Color.FromArgb((int)(scale * left.R).Clamp(0, 255), (int)(scale * left.G).Clamp(0, 255), (int)(scale * left.B).Clamp(0, 255));
right = Color.FromArgb((int)(scale * right.R).Clamp(0, 255), (int)(scale * right.G).Clamp(0, 255), (int)(scale * right.B).Clamp(0, 255));
}
} }
else else
left = right = Color.Black; left = right = type.MinColor;
if (tileset.MinHeightColorBrightness != 1.0f || tileset.MaxHeightColorBrightness != 1.0f)
{
var scale = float2.Lerp(tileset.MinHeightColorBrightness, tileset.MaxHeightColorBrightness, Height[uv] * 1f / Grid.MaximumTerrainHeight);
left = Color.FromArgb((int)(scale * left.R).Clamp(0, 255), (int)(scale * left.G).Clamp(0, 255), (int)(scale * left.B).Clamp(0, 255));
right = Color.FromArgb((int)(scale * right.R).Clamp(0, 255), (int)(scale * right.G).Clamp(0, 255), (int)(scale * right.B).Clamp(0, 255));
}
return (left, right); return (left, right);
} }

View File

@@ -221,25 +221,16 @@ namespace OpenRA
public byte GetTerrainIndex(TerrainTile r) public byte GetTerrainIndex(TerrainTile r)
{ {
if (!Templates.TryGetValue(r.Type, out var tpl)) var tile = Templates[r.Type][r.Index];
return defaultWalkableTerrainIndex; if (tile.TerrainType != byte.MaxValue)
return tile.TerrainType;
if (tpl.Contains(r.Index))
{
var tile = tpl[r.Index];
if (tile != null && tile.TerrainType != byte.MaxValue)
return tile.TerrainType;
}
return defaultWalkableTerrainIndex; return defaultWalkableTerrainIndex;
} }
public TerrainTileInfo GetTileInfo(TerrainTile r) public TerrainTileInfo GetTileInfo(TerrainTile r)
{ {
if (!Templates.TryGetValue(r.Type, out var tpl)) return Templates[r.Type][r.Index];
return null;
return tpl.Contains(r.Index) ? tpl[r.Index] : null;
} }
public bool TryGetTileInfo(TerrainTile r, out TerrainTileInfo info) public bool TryGetTileInfo(TerrainTile r, out TerrainTileInfo info)

View File

@@ -89,9 +89,6 @@ namespace OpenRA.Mods.Common.Widgets
var tile = world.Map.Tiles[cell]; var tile = world.Map.Tiles[cell];
var tileInfo = world.Map.Rules.TileSet.GetTileInfo(tile); var tileInfo = world.Map.Rules.TileSet.GetTileInfo(tile);
if (tileInfo == null)
return false;
var terrainType = world.Map.Rules.TileSet.TerrainInfo[tileInfo.TerrainType]; var terrainType = world.Map.Rules.TileSet.TerrainInfo[tileInfo.TerrainType];
if (mapResources[cell].Type == ResourceType.ResourceType) if (mapResources[cell].Type == ResourceType.ResourceType)

View File

@@ -78,10 +78,7 @@ namespace OpenRA.Mods.Common.Traits
for (var x = 0; x < TerrainTemplate.Size.X; x++) for (var x = 0; x < TerrainTemplate.Size.X; x++)
{ {
var tile = new TerrainTile(TerrainTemplate.Id, (byte)i++); var tile = new TerrainTile(TerrainTemplate.Id, (byte)i++);
var tileInfo = world.Map.Rules.TileSet.GetTileInfo(tile); if (!world.Map.Rules.TileSet.TryGetTileInfo(tile, out var tileInfo))
// Empty tile
if (tileInfo == null)
continue; continue;
var sprite = wr.Theater.TileSprite(tile, 0); var sprite = wr.Theater.TileSprite(tile, 0);

View File

@@ -81,10 +81,7 @@ namespace OpenRA.Mods.Common.Widgets
for (var x = 0; x < Template.Size.X; x++) for (var x = 0; x < Template.Size.X; x++)
{ {
var tile = new TerrainTile(Template.Id, (byte)(i++)); var tile = new TerrainTile(Template.Id, (byte)(i++));
var tileInfo = tileset.GetTileInfo(tile); if (!tileset.TryGetTileInfo(tile, out var tileInfo))
// Empty tile
if (tileInfo == null)
continue; continue;
var sprite = worldRenderer.Theater.TileSprite(tile, 0); var sprite = worldRenderer.Theater.TileSprite(tile, 0);