made a real terrain type for it; still not quite right though. will crash on snow maps atm too.
This commit is contained in:
@@ -42,7 +42,7 @@ namespace OpenRa
|
||||
// stash it
|
||||
replacedTiles[new int2(x, y)] = w.Map.MapTiles[x, y].image;
|
||||
// remove the tile from the actual map
|
||||
w.Map.MapTiles[x, y].tile = 0xff;
|
||||
w.Map.MapTiles[x, y].tile = 0xfffe;
|
||||
w.Map.MapTiles[x, y].image = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace OpenRa.Graphics
|
||||
if (terrainTypeColors == null)
|
||||
{
|
||||
var pal = new Palette(FileSystem.Open(Game.world.Map.Theater + ".pal"));
|
||||
terrainTypeColors = new[] {theater.ToLowerInvariant() == "snow" ? 0xe3 :0x1a, 0x63, 0x2f, 0x1f, 0x14, 0x64, 0x1f, 0x68, 0x6b, 0x6d }
|
||||
terrainTypeColors = new[] {theater.ToLowerInvariant() == "snow" ? 0xe3 :0x1a, 0x63, 0x2f, 0x1f, 0x14, 0x64, 0x1f, 0x68, 0x6b, 0x6d, 0x67 }
|
||||
.Select( a => Color.FromArgb(alpha, pal.GetColor(a) )).ToArray();
|
||||
|
||||
playerColors = Util.MakeArray<Color>( 8, b => Color.FromArgb(alpha, Chat.paletteColors[b]) );
|
||||
|
||||
@@ -23,16 +23,17 @@ namespace OpenRa
|
||||
Wall = 7,
|
||||
Beach = 8,
|
||||
Ore = 9,
|
||||
Special = 10,
|
||||
}
|
||||
|
||||
static class TerrainCosts
|
||||
{
|
||||
static double[][] costs = Util.MakeArray<double[]>( 4,
|
||||
a => Util.MakeArray<double>( 10, b => double.PositiveInfinity ));
|
||||
a => Util.MakeArray<double>( 11, b => double.PositiveInfinity ));
|
||||
|
||||
static TerrainCosts()
|
||||
{
|
||||
for( int i = 0 ; i < 10 ; i++ )
|
||||
for( int i = 0 ; i < 11 ; i++ )
|
||||
{
|
||||
if( i == 4 ) continue;
|
||||
var section = Rules.AllRules.GetSection( ( (TerrainMovementType)i ).ToString() );
|
||||
@@ -46,6 +47,7 @@ namespace OpenRa
|
||||
|
||||
public static double Cost( UnitMovementType unitMovementType, int r )
|
||||
{
|
||||
if (r >= 10) return 1.0;
|
||||
return costs[ (byte)unitMovementType ][ r ];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace OpenRa.Traits
|
||||
public readonly int[] SpawnOffset = null;
|
||||
public readonly string[] Produces = { };
|
||||
|
||||
public object Create(Actor self) { return new Production(self); }
|
||||
public virtual object Create(Actor self) { return new Production(self); }
|
||||
}
|
||||
|
||||
class Production : IIssueOrder, IResolveOrder, IProducer, ITags
|
||||
|
||||
@@ -3,9 +3,9 @@ using OpenRa.GameRules;
|
||||
|
||||
namespace OpenRa.Traits
|
||||
{
|
||||
class ProductionSurroundInfo : ITraitInfo
|
||||
class ProductionSurroundInfo : ProductionInfo
|
||||
{
|
||||
public object Create(Actor self) { return new ProductionSurround(self); }
|
||||
public override object Create(Actor self) { return new ProductionSurround(self); }
|
||||
}
|
||||
|
||||
class ProductionSurround : Production
|
||||
|
||||
Reference in New Issue
Block a user