PaletteFromCurrentTheatre (pchote: amended)

This commit is contained in:
alzeih
2010-07-11 01:01:08 +12:00
committed by Paul Chote
parent c4759b4130
commit 5925453ab8
12 changed files with 53 additions and 17 deletions

View File

@@ -103,7 +103,7 @@ namespace OpenRA.Editor
Rules.LoadRules(manifest, map);
tileset = Rules.TileSets[map.Theater];
tileset.LoadTiles();
var palette = new Palette(FileSystem.Open(map.Theater.ToLowerInvariant() + ".pal"), true);
var palette = new Palette(FileSystem.Open(tileset.Palette), true);
surface1.Bind(map, tileset, palette);

View File

@@ -61,6 +61,7 @@ namespace OpenRA.FileFormats
{
public readonly string Name;
public readonly string Id;
public readonly string Palette;
public readonly string[] Extensions;
public readonly Dictionary<string, TerrainTypeInfo> Terrain = new Dictionary<string, TerrainTypeInfo>();
public readonly Dictionary<ushort, Terrain> Tiles = new Dictionary<ushort, Terrain>();

View File

@@ -204,6 +204,7 @@
<Compile Include="StoresOre.cs" />
<Compile Include="TransformsOnDeploy.cs" />
<Compile Include="Activities\TransformIntoActor.cs" />
<Compile Include="PaletteFromCurrentTheatre.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">

View File

@@ -0,0 +1,42 @@
#region Copyright & License Information
/*
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
* This file is part of OpenRA.
*
* OpenRA is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* OpenRA is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with OpenRA. If not, see <http://www.gnu.org/licenses/>.
*/
#endregion
using OpenRA.FileFormats;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
class PaletteFromCurrentTheatreInfo : ITraitInfo
{
public readonly string Name = null;
public readonly bool Transparent = true;
public object Create(ActorInitializer init) { return new PaletteFromCurrentTheatre(init.world, this); }
}
class PaletteFromCurrentTheatre
{
public PaletteFromCurrentTheatre(World world, PaletteFromCurrentTheatreInfo info)
{
world.WorldRenderer.AddPalette(info.Name,
new Palette(FileSystem.Open(world.TileSet.Palette), info.Transparent));
}
}
}

View File

@@ -51,18 +51,8 @@ World:
# HazardLayer:
BridgeLayer:
Bridges: bridge1, bridge2, bridge3, bridge4
PaletteFromFile@terrain_desert:
PaletteFromCurrentTheatre:
Name: terrain
Theater: desert
Filename: desert.pal
PaletteFromFile@terrain_temperate:
Name: terrain
Theater: temperat
Filename: temperat.pal
PaletteFromFile@terrain_winter:
Name: terrain
Theater: winter
Filename: winter.pal
PlayerColorPalette@player0:
Name: player0
DisplayName: Gold

View File

@@ -2,6 +2,7 @@ General:
Name: Desert
Id: DESERT
Extensions: .des, .shp, .tem
Palette: desert.pal
Terrain:
TerrainType@Clear:

View File

@@ -2,6 +2,7 @@ General:
Name: Temperate
Id: TEMPERAT
Extensions: .tem, .shp
Palette: temperat.pal
Terrain:
TerrainType@Clear:

View File

@@ -2,6 +2,7 @@ General:
Name: Winter
Id: WINTER
Extensions: .win, .shp, .tem
Palette: winter.pal
Terrain:
TerrainType@Clear:

View File

@@ -101,12 +101,8 @@ World:
Maximum: 3
SpawnInterval: 120
WaterChance: .2
PaletteFromFile@terrain_temperat:
PaletteFromCurrentTheatre:
Name: terrain
Filename: temperat.pal
PaletteFromFile@terrain_snow:
Name: snow
Filename: snow.pal
PlayerColorPalette@player0:
Name: player0
DisplayName: Gold

View File

@@ -2,6 +2,7 @@ General:
Name: Interior
Id: INTERIOR
Extensions: .int, .shp, .tem
Palette: interior.pal
Terrain:
TerrainType@Clear:

View File

@@ -2,6 +2,7 @@ General:
Name: Snow
Id: SNOW
Extensions: .sno, .shp, .tem
Palette: snow.pal
Terrain:
TerrainType@Clear:

View File

@@ -2,6 +2,7 @@ General:
Name: Temperate
Id: TEMPERAT
Extensions: .tem, .shp
Palette: temperat.pal
Terrain:
TerrainType@Clear: