Merge pull request #8125 from pchote/player-palettes
Reorganize palette loading.
This commit is contained in:
@@ -30,6 +30,11 @@ namespace OpenRA.Graphics
|
|||||||
readOnlyModifiablePalettes = modifiablePalettes.AsReadOnly();
|
readOnlyModifiablePalettes = modifiablePalettes.AsReadOnly();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Contains(string name)
|
||||||
|
{
|
||||||
|
return modifiablePalettes.ContainsKey(name) || palettes.ContainsKey(name);
|
||||||
|
}
|
||||||
|
|
||||||
public IPalette GetPalette(string name)
|
public IPalette GetPalette(string name)
|
||||||
{
|
{
|
||||||
MutablePalette mutable;
|
MutablePalette mutable;
|
||||||
|
|||||||
37
OpenRA.Game/Graphics/PaletteReference.cs
Normal file
37
OpenRA.Game/Graphics/PaletteReference.cs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2015 The OpenRA Developers (see AUTHORS)
|
||||||
|
* This file is part of OpenRA, which is free software. It is made
|
||||||
|
* available to you under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation. For more information,
|
||||||
|
* see COPYING.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
|
namespace OpenRA.Graphics
|
||||||
|
{
|
||||||
|
public sealed class PaletteReference
|
||||||
|
{
|
||||||
|
readonly float index;
|
||||||
|
readonly HardwarePalette hardwarePalette;
|
||||||
|
|
||||||
|
public readonly string Name;
|
||||||
|
public IPalette Palette { get; internal set; }
|
||||||
|
public float TextureIndex { get { return index / hardwarePalette.Height; } }
|
||||||
|
public float TextureMidIndex { get { return (index + 0.5f) / hardwarePalette.Height; } }
|
||||||
|
|
||||||
|
public PaletteReference(string name, int index, IPalette palette, HardwarePalette hardwarePalette)
|
||||||
|
{
|
||||||
|
Name = name;
|
||||||
|
Palette = palette;
|
||||||
|
this.index = index;
|
||||||
|
this.hardwarePalette = hardwarePalette;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,7 +17,6 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
readonly IVertexBuffer<Vertex> vertexBuffer;
|
readonly IVertexBuffer<Vertex> vertexBuffer;
|
||||||
readonly Vertex[] updateCellVertices = new Vertex[4];
|
readonly Vertex[] updateCellVertices = new Vertex[4];
|
||||||
readonly float terrainPaletteIndex;
|
|
||||||
readonly int rowStride;
|
readonly int rowStride;
|
||||||
|
|
||||||
readonly WorldRenderer worldRenderer;
|
readonly WorldRenderer worldRenderer;
|
||||||
@@ -25,6 +24,8 @@ namespace OpenRA.Graphics
|
|||||||
readonly CellLayer<TerrainTile> mapTiles;
|
readonly CellLayer<TerrainTile> mapTiles;
|
||||||
readonly Map map;
|
readonly Map map;
|
||||||
|
|
||||||
|
float terrainPaletteIndex;
|
||||||
|
|
||||||
public TerrainRenderer(World world, WorldRenderer wr)
|
public TerrainRenderer(World world, WorldRenderer wr)
|
||||||
{
|
{
|
||||||
worldRenderer = wr;
|
worldRenderer = wr;
|
||||||
@@ -34,21 +35,18 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
terrainPaletteIndex = wr.Palette("terrain").TextureIndex;
|
terrainPaletteIndex = wr.Palette("terrain").TextureIndex;
|
||||||
rowStride = 4 * map.Bounds.Width;
|
rowStride = 4 * map.Bounds.Width;
|
||||||
|
vertexBuffer = Game.Renderer.Device.CreateVertexBuffer(rowStride * map.Bounds.Height);
|
||||||
|
|
||||||
var vertices = new Vertex[rowStride * map.Bounds.Height];
|
UpdateMap();
|
||||||
vertexBuffer = Game.Renderer.Device.CreateVertexBuffer(vertices.Length);
|
|
||||||
|
|
||||||
var nv = 0;
|
|
||||||
foreach (var cell in map.Cells)
|
|
||||||
{
|
|
||||||
GenerateTileVertices(vertices, nv, cell);
|
|
||||||
nv += 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
vertexBuffer.SetData(vertices, nv);
|
|
||||||
|
|
||||||
map.MapTiles.Value.CellEntryChanged += UpdateCell;
|
map.MapTiles.Value.CellEntryChanged += UpdateCell;
|
||||||
map.MapHeight.Value.CellEntryChanged += UpdateCell;
|
map.MapHeight.Value.CellEntryChanged += UpdateCell;
|
||||||
|
|
||||||
|
wr.PaletteInvalidated += () =>
|
||||||
|
{
|
||||||
|
terrainPaletteIndex = wr.Palette("terrain").TextureIndex;
|
||||||
|
UpdateMap();
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenerateTileVertices(Vertex[] vertices, int offset, CPos cell)
|
void GenerateTileVertices(Vertex[] vertices, int offset, CPos cell)
|
||||||
@@ -58,6 +56,19 @@ namespace OpenRA.Graphics
|
|||||||
Util.FastCreateQuad(vertices, pos, tile, terrainPaletteIndex, offset, tile.Size);
|
Util.FastCreateQuad(vertices, pos, tile, terrainPaletteIndex, offset, tile.Size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UpdateMap()
|
||||||
|
{
|
||||||
|
var nv = 0;
|
||||||
|
var vertices = new Vertex[rowStride * map.Bounds.Height];
|
||||||
|
foreach (var cell in map.Cells)
|
||||||
|
{
|
||||||
|
GenerateTileVertices(vertices, nv, cell);
|
||||||
|
nv += 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
vertexBuffer.SetData(vertices, nv);
|
||||||
|
}
|
||||||
|
|
||||||
public void UpdateCell(CPos cell)
|
public void UpdateCell(CPos cell)
|
||||||
{
|
{
|
||||||
var uv = cell.ToMPos(map.TileShape);
|
var uv = cell.ToMPos(map.TileShape);
|
||||||
|
|||||||
@@ -16,23 +16,6 @@ using OpenRA.Traits;
|
|||||||
|
|
||||||
namespace OpenRA.Graphics
|
namespace OpenRA.Graphics
|
||||||
{
|
{
|
||||||
public class PaletteReference
|
|
||||||
{
|
|
||||||
public readonly string Name;
|
|
||||||
public IPalette Palette { get; internal set; }
|
|
||||||
readonly float index;
|
|
||||||
readonly HardwarePalette hardwarePalette;
|
|
||||||
public float TextureIndex { get { return index / hardwarePalette.Height; } }
|
|
||||||
public float TextureMidIndex { get { return (index + 0.5f) / hardwarePalette.Height; } }
|
|
||||||
public PaletteReference(string name, int index, IPalette palette, HardwarePalette hardwarePalette)
|
|
||||||
{
|
|
||||||
Name = name;
|
|
||||||
Palette = palette;
|
|
||||||
this.index = index;
|
|
||||||
this.hardwarePalette = hardwarePalette;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public sealed class WorldRenderer : IDisposable
|
public sealed class WorldRenderer : IDisposable
|
||||||
{
|
{
|
||||||
public static readonly Func<IRenderable, int> RenderableScreenZPositionComparisonKey =
|
public static readonly Func<IRenderable, int> RenderableScreenZPositionComparisonKey =
|
||||||
@@ -42,6 +25,8 @@ namespace OpenRA.Graphics
|
|||||||
public readonly Theater Theater;
|
public readonly Theater Theater;
|
||||||
public Viewport Viewport { get; private set; }
|
public Viewport Viewport { get; private set; }
|
||||||
|
|
||||||
|
public event Action PaletteInvalidated = null;
|
||||||
|
|
||||||
readonly HardwarePalette palette = new HardwarePalette();
|
readonly HardwarePalette palette = new HardwarePalette();
|
||||||
readonly Dictionary<string, PaletteReference> palettes = new Dictionary<string, PaletteReference>();
|
readonly Dictionary<string, PaletteReference> palettes = new Dictionary<string, PaletteReference>();
|
||||||
readonly TerrainRenderer terrainRenderer;
|
readonly TerrainRenderer terrainRenderer;
|
||||||
@@ -58,6 +43,9 @@ namespace OpenRA.Graphics
|
|||||||
foreach (var pal in world.TraitDict.ActorsWithTrait<ILoadsPalettes>())
|
foreach (var pal in world.TraitDict.ActorsWithTrait<ILoadsPalettes>())
|
||||||
pal.Trait.LoadPalettes(this);
|
pal.Trait.LoadPalettes(this);
|
||||||
|
|
||||||
|
foreach (var p in world.Players)
|
||||||
|
UpdatePalettesForPlayer(p.InternalName, p.Color, false);
|
||||||
|
|
||||||
palette.Initialize();
|
palette.Initialize();
|
||||||
|
|
||||||
Theater = new Theater(world.TileSet);
|
Theater = new Theater(world.TileSet);
|
||||||
@@ -66,6 +54,12 @@ namespace OpenRA.Graphics
|
|||||||
devTrait = Exts.Lazy(() => world.LocalPlayer != null ? world.LocalPlayer.PlayerActor.Trait<DeveloperMode>() : null);
|
devTrait = Exts.Lazy(() => world.LocalPlayer != null ? world.LocalPlayer.PlayerActor.Trait<DeveloperMode>() : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdatePalettesForPlayer(string internalName, HSLColor color, bool replaceExisting)
|
||||||
|
{
|
||||||
|
foreach (var pal in World.WorldActor.TraitsImplementing<ILoadsPlayerPalettes>())
|
||||||
|
pal.LoadPlayerPalettes(this, internalName, color, replaceExisting);
|
||||||
|
}
|
||||||
|
|
||||||
PaletteReference CreatePaletteReference(string name)
|
PaletteReference CreatePaletteReference(string name)
|
||||||
{
|
{
|
||||||
var pal = palette.GetPalette(name);
|
var pal = palette.GetPalette(name);
|
||||||
@@ -73,9 +67,28 @@ namespace OpenRA.Graphics
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PaletteReference Palette(string name) { return palettes.GetOrAdd(name, createPaletteReference); }
|
public PaletteReference Palette(string name) { return palettes.GetOrAdd(name, createPaletteReference); }
|
||||||
public void AddPalette(string name, ImmutablePalette pal) { palette.AddPalette(name, pal, false); }
|
public void AddPalette(string name, ImmutablePalette pal, bool allowModifiers = false, bool allowOverwrite = false)
|
||||||
public void AddPalette(string name, ImmutablePalette pal, bool allowModifiers) { palette.AddPalette(name, pal, allowModifiers); }
|
{
|
||||||
public void ReplacePalette(string name, IPalette pal) { palette.ReplacePalette(name, pal); palettes[name].Palette = pal; }
|
if (allowOverwrite && palette.Contains(name))
|
||||||
|
ReplacePalette(name, pal);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var oldHeight = palette.Height;
|
||||||
|
palette.AddPalette(name, pal, allowModifiers);
|
||||||
|
|
||||||
|
if (oldHeight != palette.Height && PaletteInvalidated != null)
|
||||||
|
PaletteInvalidated();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ReplacePalette(string name, IPalette pal)
|
||||||
|
{
|
||||||
|
palette.ReplacePalette(name, pal);
|
||||||
|
|
||||||
|
// Update cached PlayerReference if one exists
|
||||||
|
if (palettes.ContainsKey(name))
|
||||||
|
palettes[name].Palette = pal;
|
||||||
|
}
|
||||||
|
|
||||||
List<IFinalizedRenderable> GenerateRenderables()
|
List<IFinalizedRenderable> GenerateRenderables()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -238,6 +238,7 @@
|
|||||||
<Compile Include="Widgets\ChromeMetrics.cs" />
|
<Compile Include="Widgets\ChromeMetrics.cs" />
|
||||||
<Compile Include="Widgets\WidgetUtils.cs" />
|
<Compile Include="Widgets\WidgetUtils.cs" />
|
||||||
<Compile Include="Widgets\WorldInteractionControllerWidget.cs" />
|
<Compile Include="Widgets\WorldInteractionControllerWidget.cs" />
|
||||||
|
<Compile Include="Graphics\PaletteReference.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="FileSystem\D2kSoundResources.cs" />
|
<Compile Include="FileSystem\D2kSoundResources.cs" />
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
using OpenRA.Graphics;
|
using OpenRA.Graphics;
|
||||||
|
|
||||||
namespace OpenRA.Traits
|
namespace OpenRA.Traits
|
||||||
@@ -26,24 +27,23 @@ namespace OpenRA.Traits
|
|||||||
[Desc("Allow palette modifiers to change the palette.")]
|
[Desc("Allow palette modifiers to change the palette.")]
|
||||||
public readonly bool AllowModifiers = true;
|
public readonly bool AllowModifiers = true;
|
||||||
|
|
||||||
public object Create(ActorInitializer init) { return new PlayerColorPalette(init.Self.Owner, this); }
|
public object Create(ActorInitializer init) { return new PlayerColorPalette(this); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PlayerColorPalette : ILoadsPalettes
|
public class PlayerColorPalette : ILoadsPlayerPalettes
|
||||||
{
|
{
|
||||||
readonly Player owner;
|
|
||||||
readonly PlayerColorPaletteInfo info;
|
readonly PlayerColorPaletteInfo info;
|
||||||
|
|
||||||
public PlayerColorPalette(Player owner, PlayerColorPaletteInfo info)
|
public PlayerColorPalette(PlayerColorPaletteInfo info)
|
||||||
{
|
{
|
||||||
this.owner = owner;
|
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadPalettes(WorldRenderer wr)
|
public void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor color, bool replaceExisting)
|
||||||
{
|
{
|
||||||
var remap = new PlayerColorRemap(info.RemapIndex, owner.Color, info.Ramp);
|
var remap = new PlayerColorRemap(info.RemapIndex, color, info.Ramp);
|
||||||
wr.AddPalette(info.BaseName + owner.InternalName, new ImmutablePalette(wr.Palette(info.BasePalette).Palette, remap), info.AllowModifiers);
|
var pal = new ImmutablePalette(wr.Palette(info.BasePalette).Palette, remap);
|
||||||
|
wr.AddPalette(info.BaseName + playerName, pal, info.AllowModifiers, replaceExisting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using OpenRA.Graphics;
|
using OpenRA.Graphics;
|
||||||
@@ -20,24 +21,23 @@ namespace OpenRA.Traits
|
|||||||
[Desc("The prefix for the resulting player palettes")]
|
[Desc("The prefix for the resulting player palettes")]
|
||||||
public readonly string BaseName = "highlight";
|
public readonly string BaseName = "highlight";
|
||||||
|
|
||||||
public object Create(ActorInitializer init) { return new PlayerHighlightPalette(init.Self.Owner, this); }
|
public object Create(ActorInitializer init) { return new PlayerHighlightPalette(this); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PlayerHighlightPalette : ILoadsPalettes
|
public class PlayerHighlightPalette : ILoadsPlayerPalettes
|
||||||
{
|
{
|
||||||
readonly Player owner;
|
|
||||||
readonly PlayerHighlightPaletteInfo info;
|
readonly PlayerHighlightPaletteInfo info;
|
||||||
|
|
||||||
public PlayerHighlightPalette(Player owner, PlayerHighlightPaletteInfo info)
|
public PlayerHighlightPalette(PlayerHighlightPaletteInfo info)
|
||||||
{
|
{
|
||||||
this.owner = owner;
|
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadPalettes(WorldRenderer wr)
|
public void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor color, bool replaceExisting)
|
||||||
{
|
{
|
||||||
var argb = (uint)Color.FromArgb(128, owner.Color.RGB).ToArgb();
|
var argb = (uint)Color.FromArgb(128, color.RGB).ToArgb();
|
||||||
wr.AddPalette(info.BaseName + owner.InternalName, new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => i == 0 ? 0 : argb)));
|
var pal = new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => i == 0 ? 0 : argb));
|
||||||
|
wr.AddPalette(info.BaseName + playerName, pal, false, replaceExisting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -194,6 +194,7 @@ namespace OpenRA.Traits
|
|||||||
public interface IInaccuracyModifier { int GetInaccuracyModifier(); }
|
public interface IInaccuracyModifier { int GetInaccuracyModifier(); }
|
||||||
public interface IPowerModifier { int GetPowerModifier(); }
|
public interface IPowerModifier { int GetPowerModifier(); }
|
||||||
public interface ILoadsPalettes { void LoadPalettes(WorldRenderer wr); }
|
public interface ILoadsPalettes { void LoadPalettes(WorldRenderer wr); }
|
||||||
|
public interface ILoadsPlayerPalettes { void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor playerColor, bool replaceExisting); }
|
||||||
public interface IPaletteModifier { void AdjustPalette(IReadOnlyDictionary<string, MutablePalette> b); }
|
public interface IPaletteModifier { void AdjustPalette(IReadOnlyDictionary<string, MutablePalette> b); }
|
||||||
public interface IPips { IEnumerable<PipType> GetPips(Actor self); }
|
public interface IPips { IEnumerable<PipType> GetPips(Actor self); }
|
||||||
public interface ITags { IEnumerable<TagType> GetTags(); }
|
public interface ITags { IEnumerable<TagType> GetTags(); }
|
||||||
|
|||||||
@@ -172,6 +172,12 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
fogPalette = wr.Palette(info.FogPalette);
|
fogPalette = wr.Palette(info.FogPalette);
|
||||||
shroudPalette = wr.Palette(info.ShroudPalette);
|
shroudPalette = wr.Palette(info.ShroudPalette);
|
||||||
|
|
||||||
|
wr.PaletteInvalidated += () =>
|
||||||
|
{
|
||||||
|
mapBorderShroudIsCached = false;
|
||||||
|
MarkCellsDirty(CellRegion.Expand(map.Cells, 1));
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
Edges GetEdges(MPos uv, Func<MPos, bool> isVisible)
|
Edges GetEdges(MPos uv, Func<MPos, bool> isVisible)
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ Rules:
|
|||||||
./mods/cnc/rules/ai.yaml
|
./mods/cnc/rules/ai.yaml
|
||||||
./mods/cnc/rules/player.yaml
|
./mods/cnc/rules/player.yaml
|
||||||
./mods/cnc/rules/world.yaml
|
./mods/cnc/rules/world.yaml
|
||||||
|
./mods/cnc/rules/palettes.yaml
|
||||||
./mods/cnc/rules/defaults.yaml
|
./mods/cnc/rules/defaults.yaml
|
||||||
./mods/cnc/rules/structures.yaml
|
./mods/cnc/rules/structures.yaml
|
||||||
./mods/cnc/rules/infantry.yaml
|
./mods/cnc/rules/infantry.yaml
|
||||||
|
|||||||
76
mods/cnc/rules/palettes.yaml
Normal file
76
mods/cnc/rules/palettes.yaml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
^Palettes:
|
||||||
|
PaletteFromCurrentTileset@terrain:
|
||||||
|
Name: terrain
|
||||||
|
ShadowIndex: 4
|
||||||
|
PaletteFromCurrentTileset@static:
|
||||||
|
Name: staticterrain
|
||||||
|
ShadowIndex: 4
|
||||||
|
PaletteFromFile@chrome:
|
||||||
|
Name: chrome
|
||||||
|
Filename: temperat.pal
|
||||||
|
ShadowIndex: 3
|
||||||
|
AllowModifiers: false
|
||||||
|
PaletteFromFile@beaconposter:
|
||||||
|
Name: beaconposter
|
||||||
|
Filename: temperat.pal
|
||||||
|
ShadowIndex: 3
|
||||||
|
PaletteFromFile@effect:
|
||||||
|
Name: effect
|
||||||
|
Filename: temperat.pal
|
||||||
|
ShadowIndex: 4
|
||||||
|
PaletteFromFile@colorpicker:
|
||||||
|
Name: colorpicker
|
||||||
|
Filename: temperat.pal
|
||||||
|
ShadowIndex: 4
|
||||||
|
AllowModifiers: false
|
||||||
|
PaletteFromRGBA@shadow:
|
||||||
|
Name: shadow
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@cloak:
|
||||||
|
Name: cloak
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@highlight:
|
||||||
|
Name: highlight
|
||||||
|
R: 255
|
||||||
|
G: 255
|
||||||
|
B: 255
|
||||||
|
A: 128
|
||||||
|
PaletteFromRGBA@moveflash:
|
||||||
|
Name: moveflash
|
||||||
|
R: 255
|
||||||
|
G: 255
|
||||||
|
B: 255
|
||||||
|
A: 64
|
||||||
|
PaletteFromRGBA@disabled:
|
||||||
|
Name: disabled
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 180
|
||||||
|
ShroudPalette@shroud:
|
||||||
|
Type: Shroud
|
||||||
|
ShroudPalette@fog:
|
||||||
|
Name: fog
|
||||||
|
Fog: true
|
||||||
|
FixedColorPalette@BlueTiberium:
|
||||||
|
Base: terrain
|
||||||
|
Name: bluetiberium
|
||||||
|
Color: 152, 255, 196
|
||||||
|
RemapIndex: 176, 178, 180, 182, 184, 186, 189, 191, 177, 179, 181, 183, 185, 187, 188, 190
|
||||||
|
PlayerColorPalette:
|
||||||
|
BasePalette: terrain
|
||||||
|
RemapIndex: 176, 178, 180, 182, 184, 186, 189, 191, 177, 179, 181, 183, 185, 187, 188, 190
|
||||||
|
PlayerHighlightPalette:
|
||||||
|
MenuPaletteEffect:
|
||||||
|
MenuEffect: Desaturated
|
||||||
|
CloakPaletteEffect:
|
||||||
|
NukePaletteEffect:
|
||||||
|
WaterPaletteRotation:
|
||||||
|
ExcludePalettes: effect
|
||||||
|
|
||||||
@@ -10,10 +10,6 @@ Player:
|
|||||||
PlayerResources:
|
PlayerResources:
|
||||||
ActorGroupProxy:
|
ActorGroupProxy:
|
||||||
DeveloperMode:
|
DeveloperMode:
|
||||||
PlayerColorPalette:
|
|
||||||
BasePalette: terrain
|
|
||||||
RemapIndex: 176, 178, 180, 182, 184, 186, 189, 191, 177, 179, 181, 183, 185, 187, 188, 190
|
|
||||||
PlayerHighlightPalette:
|
|
||||||
BaseAttackNotifier:
|
BaseAttackNotifier:
|
||||||
Shroud:
|
Shroud:
|
||||||
PlayerStatistics:
|
PlayerStatistics:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
World:
|
World:
|
||||||
|
Inherits: ^Palettes
|
||||||
ChatCommands:
|
ChatCommands:
|
||||||
DevCommands:
|
DevCommands:
|
||||||
PlayerCommands:
|
PlayerCommands:
|
||||||
@@ -7,75 +8,10 @@ World:
|
|||||||
ActorMap:
|
ActorMap:
|
||||||
LoadWidgetAtGameStart:
|
LoadWidgetAtGameStart:
|
||||||
ShellmapRoot: MENU_BACKGROUND
|
ShellmapRoot: MENU_BACKGROUND
|
||||||
MenuPaletteEffect:
|
|
||||||
MenuEffect: Desaturated
|
|
||||||
CloakPaletteEffect:
|
|
||||||
ScreenShaker:
|
ScreenShaker:
|
||||||
NukePaletteEffect:
|
|
||||||
WaterPaletteRotation:
|
|
||||||
ExcludePalettes: effect
|
|
||||||
BuildingInfluence:
|
BuildingInfluence:
|
||||||
BridgeLayer:
|
BridgeLayer:
|
||||||
Bridges: bridge1, bridge2, bridge3, bridge4
|
Bridges: bridge1, bridge2, bridge3, bridge4
|
||||||
PaletteFromCurrentTileset@terrain:
|
|
||||||
Name: terrain
|
|
||||||
ShadowIndex: 4
|
|
||||||
PaletteFromCurrentTileset@static:
|
|
||||||
Name: staticterrain
|
|
||||||
ShadowIndex: 4
|
|
||||||
PaletteFromFile@chrome:
|
|
||||||
Name: chrome
|
|
||||||
Filename: temperat.pal
|
|
||||||
ShadowIndex: 3
|
|
||||||
AllowModifiers: false
|
|
||||||
PaletteFromFile@beaconposter:
|
|
||||||
Name: beaconposter
|
|
||||||
Filename: temperat.pal
|
|
||||||
ShadowIndex: 3
|
|
||||||
PaletteFromFile@effect:
|
|
||||||
Name: effect
|
|
||||||
Filename: temperat.pal
|
|
||||||
ShadowIndex: 4
|
|
||||||
PaletteFromFile@colorpicker:
|
|
||||||
Name: colorpicker
|
|
||||||
Filename: temperat.pal
|
|
||||||
ShadowIndex: 4
|
|
||||||
AllowModifiers: false
|
|
||||||
PaletteFromRGBA@shadow:
|
|
||||||
Name: shadow
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@cloak:
|
|
||||||
Name: cloak
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@highlight:
|
|
||||||
Name: highlight
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 128
|
|
||||||
PaletteFromRGBA@moveflash:
|
|
||||||
Name: moveflash
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 64
|
|
||||||
PaletteFromRGBA@disabled:
|
|
||||||
Name: disabled
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 180
|
|
||||||
ShroudPalette@shroud:
|
|
||||||
Type: Shroud
|
|
||||||
ShroudPalette@fog:
|
|
||||||
Name: fog
|
|
||||||
Fog: true
|
|
||||||
ShroudRenderer:
|
ShroudRenderer:
|
||||||
ShroudVariants: typea, typeb, typec, typed
|
ShroudVariants: typea, typeb, typec, typed
|
||||||
FogVariants: typea, typeb, typec, typed
|
FogVariants: typea, typeb, typec, typed
|
||||||
@@ -115,11 +51,6 @@ World:
|
|||||||
PipColor: Green
|
PipColor: Green
|
||||||
AllowedTerrainTypes: Clear,Road
|
AllowedTerrainTypes: Clear,Road
|
||||||
AllowUnderActors: true
|
AllowUnderActors: true
|
||||||
FixedColorPalette@BlueTiberium:
|
|
||||||
Base: terrain
|
|
||||||
Name: bluetiberium
|
|
||||||
Color: 152, 255, 196
|
|
||||||
RemapIndex: 176, 178, 180, 182, 184, 186, 189, 191, 177, 179, 181, 183, 185, 187, 188, 190
|
|
||||||
ResourceType@blue-tib:
|
ResourceType@blue-tib:
|
||||||
ResourceType: 2
|
ResourceType: 2
|
||||||
Palette: bluetiberium
|
Palette: bluetiberium
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ Rules:
|
|||||||
./mods/d2k/rules/ai.yaml
|
./mods/d2k/rules/ai.yaml
|
||||||
./mods/d2k/rules/player.yaml
|
./mods/d2k/rules/player.yaml
|
||||||
./mods/d2k/rules/world.yaml
|
./mods/d2k/rules/world.yaml
|
||||||
|
./mods/d2k/rules/palettes.yaml
|
||||||
./mods/d2k/rules/defaults.yaml
|
./mods/d2k/rules/defaults.yaml
|
||||||
./mods/d2k/rules/vehicles.yaml
|
./mods/d2k/rules/vehicles.yaml
|
||||||
./mods/d2k/rules/starport.yaml
|
./mods/d2k/rules/starport.yaml
|
||||||
|
|||||||
76
mods/d2k/rules/palettes.yaml
Normal file
76
mods/d2k/rules/palettes.yaml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
^Palettes:
|
||||||
|
PaletteFromCurrentTileset:
|
||||||
|
Name: terrain
|
||||||
|
PaletteFromFile@d2k:
|
||||||
|
Name: d2k
|
||||||
|
Filename: d2k.pal
|
||||||
|
ShadowIndex: 1
|
||||||
|
PaletteFromFile@chrome:
|
||||||
|
Name: chrome
|
||||||
|
Filename: d2k.pal
|
||||||
|
ShadowIndex: 3
|
||||||
|
AllowModifiers: false
|
||||||
|
PaletteFromFile@effect:
|
||||||
|
Name: effect
|
||||||
|
Filename: d2k.pal
|
||||||
|
ShadowIndex: 4
|
||||||
|
AllowModifiers: false
|
||||||
|
PaletteFromFile@colorpicker:
|
||||||
|
Name: colorpicker
|
||||||
|
Filename: d2k.pal
|
||||||
|
ShadowIndex: 4
|
||||||
|
AllowModifiers: false
|
||||||
|
PaletteFromRGBA@shadow:
|
||||||
|
Name: shadow
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@cloak:
|
||||||
|
Name: cloak
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@highlight:
|
||||||
|
Name: highlight
|
||||||
|
R: 255
|
||||||
|
G: 255
|
||||||
|
B: 255
|
||||||
|
A: 128
|
||||||
|
PaletteFromR8@moveflash:
|
||||||
|
Name: moveflash
|
||||||
|
Filename: DATA.R8
|
||||||
|
Offset: 2572352
|
||||||
|
InvertColor: true
|
||||||
|
PaletteFromRGBA@disabled:
|
||||||
|
Name: disabled
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 180
|
||||||
|
PaletteFromScaledPalette@starportlights:
|
||||||
|
Name: starportlights
|
||||||
|
BasePalette: d2k
|
||||||
|
AllowModifiers: false
|
||||||
|
Offset: -64
|
||||||
|
PaletteFromScaledPalette@repairlights:
|
||||||
|
Name: repairlights
|
||||||
|
BasePalette: d2k
|
||||||
|
AllowModifiers: false
|
||||||
|
Offset: -128
|
||||||
|
PaletteFromR8@shroud:
|
||||||
|
Name: shroud
|
||||||
|
Filename: DATA.R8
|
||||||
|
Offset: 12007
|
||||||
|
InvertColor: true
|
||||||
|
FogPaletteFromR8@fog:
|
||||||
|
Name: fog
|
||||||
|
Filename: DATA.R8
|
||||||
|
Offset: 12007
|
||||||
|
InvertColor: true
|
||||||
|
PlayerColorPalette:
|
||||||
|
BasePalette: d2k
|
||||||
|
RemapIndex: 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240
|
||||||
|
PlayerHighlightPalette:
|
||||||
|
|
||||||
@@ -44,10 +44,6 @@ Player:
|
|||||||
AdviceInterval: 650
|
AdviceInterval: 650
|
||||||
ActorGroupProxy:
|
ActorGroupProxy:
|
||||||
DeveloperMode:
|
DeveloperMode:
|
||||||
PlayerColorPalette:
|
|
||||||
BasePalette: d2k
|
|
||||||
RemapIndex: 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240
|
|
||||||
PlayerHighlightPalette:
|
|
||||||
BaseAttackNotifier:
|
BaseAttackNotifier:
|
||||||
Shroud:
|
Shroud:
|
||||||
FrozenActorLayer:
|
FrozenActorLayer:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
World:
|
World:
|
||||||
|
Inherits: ^Palettes
|
||||||
ChatCommands:
|
ChatCommands:
|
||||||
DevCommands:
|
DevCommands:
|
||||||
PlayerCommands:
|
PlayerCommands:
|
||||||
@@ -17,76 +18,6 @@ World:
|
|||||||
SpawnInterval: 60
|
SpawnInterval: 60
|
||||||
WaterChance: 0
|
WaterChance: 0
|
||||||
ValidGround: Sand, Dune, Rock
|
ValidGround: Sand, Dune, Rock
|
||||||
PaletteFromCurrentTileset:
|
|
||||||
Name: terrain
|
|
||||||
PaletteFromFile@d2k:
|
|
||||||
Name: d2k
|
|
||||||
Filename: d2k.pal
|
|
||||||
ShadowIndex: 1
|
|
||||||
PaletteFromFile@chrome:
|
|
||||||
Name: chrome
|
|
||||||
Filename: d2k.pal
|
|
||||||
ShadowIndex: 3
|
|
||||||
AllowModifiers: false
|
|
||||||
PaletteFromFile@effect:
|
|
||||||
Name: effect
|
|
||||||
Filename: d2k.pal
|
|
||||||
ShadowIndex: 4
|
|
||||||
AllowModifiers: false
|
|
||||||
PaletteFromFile@colorpicker:
|
|
||||||
Name: colorpicker
|
|
||||||
Filename: d2k.pal
|
|
||||||
ShadowIndex: 4
|
|
||||||
AllowModifiers: false
|
|
||||||
PaletteFromRGBA@shadow:
|
|
||||||
Name: shadow
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@cloak:
|
|
||||||
Name: cloak
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@highlight:
|
|
||||||
Name: highlight
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 128
|
|
||||||
PaletteFromR8@moveflash:
|
|
||||||
Name: moveflash
|
|
||||||
Filename: DATA.R8
|
|
||||||
Offset: 2572352
|
|
||||||
InvertColor: true
|
|
||||||
PaletteFromRGBA@disabled:
|
|
||||||
Name: disabled
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 180
|
|
||||||
PaletteFromScaledPalette@starportlights:
|
|
||||||
Name: starportlights
|
|
||||||
BasePalette: d2k
|
|
||||||
AllowModifiers: false
|
|
||||||
Offset: -64
|
|
||||||
PaletteFromScaledPalette@repairlights:
|
|
||||||
Name: repairlights
|
|
||||||
BasePalette: d2k
|
|
||||||
AllowModifiers: false
|
|
||||||
Offset: -128
|
|
||||||
PaletteFromR8@shroud:
|
|
||||||
Name: shroud
|
|
||||||
Filename: DATA.R8
|
|
||||||
Offset: 12007
|
|
||||||
InvertColor: true
|
|
||||||
FogPaletteFromR8@fog:
|
|
||||||
Name: fog
|
|
||||||
Filename: DATA.R8
|
|
||||||
Offset: 12007
|
|
||||||
InvertColor: true
|
|
||||||
ShroudRenderer:
|
ShroudRenderer:
|
||||||
ShroudVariants: typea, typeb, typec, typed
|
ShroudVariants: typea, typeb, typec, typed
|
||||||
FogVariants: typea, typeb, typec, typed
|
FogVariants: typea, typeb, typec, typed
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ Rules:
|
|||||||
./mods/ra/rules/misc.yaml
|
./mods/ra/rules/misc.yaml
|
||||||
./mods/ra/rules/ai.yaml
|
./mods/ra/rules/ai.yaml
|
||||||
./mods/ra/rules/player.yaml
|
./mods/ra/rules/player.yaml
|
||||||
|
./mods/ra/rules/palettes.yaml
|
||||||
./mods/ra/rules/world.yaml
|
./mods/ra/rules/world.yaml
|
||||||
./mods/ra/rules/defaults.yaml
|
./mods/ra/rules/defaults.yaml
|
||||||
./mods/ra/rules/vehicles.yaml
|
./mods/ra/rules/vehicles.yaml
|
||||||
|
|||||||
73
mods/ra/rules/palettes.yaml
Normal file
73
mods/ra/rules/palettes.yaml
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
^Palettes:
|
||||||
|
PlayerPaletteFromCurrentTileset:
|
||||||
|
Name: player
|
||||||
|
ShadowIndex: 3,4
|
||||||
|
PaletteFromCurrentTileset:
|
||||||
|
Name: terrain
|
||||||
|
ShadowIndex: 3,4
|
||||||
|
PaletteFromFile@chrome:
|
||||||
|
Name: chrome
|
||||||
|
Filename: temperat.pal
|
||||||
|
ShadowIndex: 3
|
||||||
|
AllowModifiers: false
|
||||||
|
PaletteFromFile@effect:
|
||||||
|
Name: effect
|
||||||
|
Filename: temperat.pal
|
||||||
|
ShadowIndex: 4
|
||||||
|
PaletteFromFile@colorpicker:
|
||||||
|
Name: colorpicker
|
||||||
|
Filename: temperat.pal
|
||||||
|
ShadowIndex: 4
|
||||||
|
AllowModifiers: false
|
||||||
|
PaletteFromRGBA@shadow:
|
||||||
|
Name: shadow
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@cloak:
|
||||||
|
Name: cloak
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@highlight:
|
||||||
|
Name: highlight
|
||||||
|
R: 255
|
||||||
|
G: 255
|
||||||
|
B: 255
|
||||||
|
A: 128
|
||||||
|
PaletteFromRGBA@moveflash:
|
||||||
|
Name: moveflash
|
||||||
|
R: 255
|
||||||
|
G: 255
|
||||||
|
B: 255
|
||||||
|
A: 64
|
||||||
|
PaletteFromRGBA@invuln:
|
||||||
|
Name: invuln
|
||||||
|
R: 128
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 128
|
||||||
|
PaletteFromRGBA@disabled:
|
||||||
|
Name: disabled
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 180
|
||||||
|
ShroudPalette@shroud:
|
||||||
|
Type: Shroud
|
||||||
|
ShroudPalette@fog:
|
||||||
|
Name: fog
|
||||||
|
Fog: true
|
||||||
|
PlayerColorPalette:
|
||||||
|
BasePalette: player
|
||||||
|
RemapIndex: 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95
|
||||||
|
PlayerHighlightPalette:
|
||||||
|
MenuPaletteEffect:
|
||||||
|
WaterPaletteRotation:
|
||||||
|
ExcludePalettes: player, effect
|
||||||
|
LightPaletteRotator:
|
||||||
|
ExcludePalettes: terrain, effect
|
||||||
|
ChronoshiftPaletteEffect:
|
||||||
|
NukePaletteEffect:
|
||||||
@@ -44,10 +44,6 @@ Player:
|
|||||||
PlayerResources:
|
PlayerResources:
|
||||||
ActorGroupProxy:
|
ActorGroupProxy:
|
||||||
DeveloperMode:
|
DeveloperMode:
|
||||||
PlayerColorPalette:
|
|
||||||
BasePalette: player
|
|
||||||
RemapIndex: 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95
|
|
||||||
PlayerHighlightPalette:
|
|
||||||
GpsWatcher:
|
GpsWatcher:
|
||||||
Shroud:
|
Shroud:
|
||||||
FrozenActorLayer:
|
FrozenActorLayer:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
World:
|
World:
|
||||||
|
Inherits: ^Palettes
|
||||||
ChatCommands:
|
ChatCommands:
|
||||||
DevCommands:
|
DevCommands:
|
||||||
PlayerCommands:
|
PlayerCommands:
|
||||||
@@ -7,13 +8,6 @@ World:
|
|||||||
ActorMap:
|
ActorMap:
|
||||||
LoadWidgetAtGameStart:
|
LoadWidgetAtGameStart:
|
||||||
ScreenShaker:
|
ScreenShaker:
|
||||||
MenuPaletteEffect:
|
|
||||||
WaterPaletteRotation:
|
|
||||||
ExcludePalettes: player, effect
|
|
||||||
ChronoshiftPaletteEffect:
|
|
||||||
NukePaletteEffect:
|
|
||||||
LightPaletteRotator:
|
|
||||||
ExcludePalettes: terrain, effect
|
|
||||||
BuildingInfluence:
|
BuildingInfluence:
|
||||||
ProductionQueueFromSelection:
|
ProductionQueueFromSelection:
|
||||||
ProductionPaletteWidget: PRODUCTION_PALETTE
|
ProductionPaletteWidget: PRODUCTION_PALETTE
|
||||||
@@ -26,67 +20,6 @@ World:
|
|||||||
Maximum: 3
|
Maximum: 3
|
||||||
SpawnInterval: 120
|
SpawnInterval: 120
|
||||||
WaterChance: .2
|
WaterChance: .2
|
||||||
PlayerPaletteFromCurrentTileset:
|
|
||||||
Name: player
|
|
||||||
ShadowIndex: 3,4
|
|
||||||
PaletteFromCurrentTileset:
|
|
||||||
Name: terrain
|
|
||||||
ShadowIndex: 3,4
|
|
||||||
PaletteFromFile@chrome:
|
|
||||||
Name: chrome
|
|
||||||
Filename: temperat.pal
|
|
||||||
ShadowIndex: 3
|
|
||||||
AllowModifiers: false
|
|
||||||
PaletteFromFile@effect:
|
|
||||||
Name: effect
|
|
||||||
Filename: temperat.pal
|
|
||||||
ShadowIndex: 4
|
|
||||||
PaletteFromFile@colorpicker:
|
|
||||||
Name: colorpicker
|
|
||||||
Filename: temperat.pal
|
|
||||||
ShadowIndex: 4
|
|
||||||
AllowModifiers: false
|
|
||||||
PaletteFromRGBA@shadow:
|
|
||||||
Name: shadow
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@cloak:
|
|
||||||
Name: cloak
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@highlight:
|
|
||||||
Name: highlight
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 128
|
|
||||||
PaletteFromRGBA@moveflash:
|
|
||||||
Name: moveflash
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 64
|
|
||||||
PaletteFromRGBA@invuln:
|
|
||||||
Name: invuln
|
|
||||||
R: 128
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 128
|
|
||||||
PaletteFromRGBA@disabled:
|
|
||||||
Name: disabled
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 180
|
|
||||||
ShroudPalette@shroud:
|
|
||||||
Type: Shroud
|
|
||||||
ShroudPalette@fog:
|
|
||||||
Name: fog
|
|
||||||
Fog: true
|
|
||||||
ShroudRenderer:
|
ShroudRenderer:
|
||||||
FogVariants: shroud
|
FogVariants: shroud
|
||||||
Index: 255, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 20, 40, 56, 65, 97, 130, 148, 194, 24, 33, 66, 132, 28, 41, 67, 134, 1, 2, 4, 8, 3, 6, 12, 9, 7, 14, 13, 11, 5, 10, 15, 255
|
Index: 255, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 20, 40, 56, 65, 97, 130, 148, 194, 24, 33, 66, 132, 28, 41, 67, 134, 1, 2, 4, 8, 3, 6, 12, 9, 7, 14, 13, 11, 5, 10, 15, 255
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ Rules:
|
|||||||
./mods/ts/rules/misc.yaml
|
./mods/ts/rules/misc.yaml
|
||||||
./mods/ts/rules/player.yaml
|
./mods/ts/rules/player.yaml
|
||||||
./mods/ts/rules/world.yaml
|
./mods/ts/rules/world.yaml
|
||||||
|
./mods/ts/rules/palettes.yaml
|
||||||
./mods/ts/rules/defaults.yaml
|
./mods/ts/rules/defaults.yaml
|
||||||
./mods/ts/rules/aircraft.yaml
|
./mods/ts/rules/aircraft.yaml
|
||||||
./mods/ts/rules/civilian-infantry.yaml
|
./mods/ts/rules/civilian-infantry.yaml
|
||||||
|
|||||||
95
mods/ts/rules/palettes.yaml
Normal file
95
mods/ts/rules/palettes.yaml
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
^Palettes:
|
||||||
|
PaletteFromFile@mouse:
|
||||||
|
Name: mouse
|
||||||
|
Filename: mousepal.pal
|
||||||
|
PaletteFromFile@playersno:
|
||||||
|
Name: player
|
||||||
|
Tileset: SNOW
|
||||||
|
Filename: unitsno.pal
|
||||||
|
ShadowIndex: 1
|
||||||
|
PaletteFromFile@playertem:
|
||||||
|
Name: player
|
||||||
|
Tileset: TEMPERAT
|
||||||
|
Filename: unittem.pal
|
||||||
|
ShadowIndex: 1
|
||||||
|
PaletteFromFile@depth:
|
||||||
|
Name: depth
|
||||||
|
Filename: depth.pal
|
||||||
|
PaletteFromCurrentTileset:
|
||||||
|
Name: terrain
|
||||||
|
ShadowIndex: 1
|
||||||
|
PaletteFromFile@chrome:
|
||||||
|
Name: chrome
|
||||||
|
Filename: cameo.pal
|
||||||
|
AllowModifiers: false
|
||||||
|
ShadowIndex: 242
|
||||||
|
PaletteFromFile@pips:
|
||||||
|
Name: pips
|
||||||
|
Filename: palette.pal
|
||||||
|
AllowModifiers: false
|
||||||
|
ShadowIndex: 4
|
||||||
|
PaletteFromFile@ra:
|
||||||
|
Name: ra
|
||||||
|
Filename: palette.pal
|
||||||
|
ShadowIndex: 4
|
||||||
|
PaletteFromFile@effect:
|
||||||
|
Name: effect
|
||||||
|
Filename: anim.pal
|
||||||
|
PaletteFromFile@colorpicker:
|
||||||
|
Name: colorpicker
|
||||||
|
Filename: unittem.pal
|
||||||
|
AllowModifiers: false
|
||||||
|
ShadowIndex: 1
|
||||||
|
PaletteFromFile@alpha:
|
||||||
|
Name: alpha
|
||||||
|
Filename: alpha.pal
|
||||||
|
PaletteFromRGBA@shadow:
|
||||||
|
Name: shadow
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@cloak:
|
||||||
|
Name: cloak
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 140
|
||||||
|
PaletteFromRGBA@highlight:
|
||||||
|
Name: highlight
|
||||||
|
R: 255
|
||||||
|
G: 255
|
||||||
|
B: 255
|
||||||
|
A: 128
|
||||||
|
PaletteFromRGBA@moveflash:
|
||||||
|
Name: moveflash
|
||||||
|
R: 255
|
||||||
|
G: 255
|
||||||
|
B: 255
|
||||||
|
A: 64
|
||||||
|
PaletteFromRGBA@disabled:
|
||||||
|
Name: disabled
|
||||||
|
R: 0
|
||||||
|
G: 0
|
||||||
|
B: 0
|
||||||
|
A: 180
|
||||||
|
TSShroudPalette@shroud:
|
||||||
|
Type: Shroud
|
||||||
|
VoxelNormalsPalette@normals:
|
||||||
|
Name: normals
|
||||||
|
Type: TiberianSun
|
||||||
|
FixedColorPalette@GreenTiberium:
|
||||||
|
Base: player
|
||||||
|
Name: greentiberium
|
||||||
|
Color: 64, 255, 128
|
||||||
|
RemapIndex: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
||||||
|
FixedColorPalette@BlueTiberium:
|
||||||
|
Base: player
|
||||||
|
Name: bluetiberium
|
||||||
|
Color: 160, 255, 172
|
||||||
|
RemapIndex: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
||||||
|
PlayerColorPalette:
|
||||||
|
BasePalette: player
|
||||||
|
RemapIndex: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
||||||
|
PlayerHighlightPalette:
|
||||||
|
MenuPaletteEffect:
|
||||||
@@ -40,10 +40,6 @@ Player:
|
|||||||
PlayerResources:
|
PlayerResources:
|
||||||
ActorGroupProxy:
|
ActorGroupProxy:
|
||||||
DeveloperMode:
|
DeveloperMode:
|
||||||
PlayerColorPalette:
|
|
||||||
BasePalette: player
|
|
||||||
RemapIndex: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
|
||||||
PlayerHighlightPalette:
|
|
||||||
GpsWatcher:
|
GpsWatcher:
|
||||||
Shroud:
|
Shroud:
|
||||||
FrozenActorLayer:
|
FrozenActorLayer:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
World:
|
World:
|
||||||
|
Inherits: ^Palettes
|
||||||
ChatCommands:
|
ChatCommands:
|
||||||
DevCommands:
|
DevCommands:
|
||||||
PlayerCommands:
|
PlayerCommands:
|
||||||
@@ -6,94 +7,14 @@ World:
|
|||||||
ScreenMap:
|
ScreenMap:
|
||||||
ActorMap:
|
ActorMap:
|
||||||
LoadWidgetAtGameStart:
|
LoadWidgetAtGameStart:
|
||||||
MenuPaletteEffect:
|
|
||||||
BuildingInfluence:
|
BuildingInfluence:
|
||||||
ProductionQueueFromSelection:
|
ProductionQueueFromSelection:
|
||||||
ProductionPaletteWidget: PRODUCTION_PALETTE
|
ProductionPaletteWidget: PRODUCTION_PALETTE
|
||||||
PaletteFromFile@mouse:
|
|
||||||
Name: mouse
|
|
||||||
Filename: mousepal.pal
|
|
||||||
PaletteFromFile@playersno:
|
|
||||||
Name: player
|
|
||||||
Tileset: SNOW
|
|
||||||
Filename: unitsno.pal
|
|
||||||
ShadowIndex: 1
|
|
||||||
PaletteFromFile@playertem:
|
|
||||||
Name: player
|
|
||||||
Tileset: TEMPERAT
|
|
||||||
Filename: unittem.pal
|
|
||||||
ShadowIndex: 1
|
|
||||||
PaletteFromFile@depth:
|
|
||||||
Name: depth
|
|
||||||
Filename: depth.pal
|
|
||||||
PaletteFromCurrentTileset:
|
|
||||||
Name: terrain
|
|
||||||
ShadowIndex: 1
|
|
||||||
PaletteFromFile@chrome:
|
|
||||||
Name: chrome
|
|
||||||
Filename: cameo.pal
|
|
||||||
AllowModifiers: false
|
|
||||||
ShadowIndex: 242
|
|
||||||
PaletteFromFile@pips:
|
|
||||||
Name: pips
|
|
||||||
Filename: palette.pal
|
|
||||||
AllowModifiers: false
|
|
||||||
ShadowIndex: 4
|
|
||||||
PaletteFromFile@ra:
|
|
||||||
Name: ra
|
|
||||||
Filename: palette.pal
|
|
||||||
ShadowIndex: 4
|
|
||||||
PaletteFromFile@effect:
|
|
||||||
Name: effect
|
|
||||||
Filename: anim.pal
|
|
||||||
PaletteFromFile@colorpicker:
|
|
||||||
Name: colorpicker
|
|
||||||
Filename: unittem.pal
|
|
||||||
AllowModifiers: false
|
|
||||||
ShadowIndex: 1
|
|
||||||
PaletteFromFile@alpha:
|
|
||||||
Name: alpha
|
|
||||||
Filename: alpha.pal
|
|
||||||
PaletteFromRGBA@shadow:
|
|
||||||
Name: shadow
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@cloak:
|
|
||||||
Name: cloak
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@highlight:
|
|
||||||
Name: highlight
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 128
|
|
||||||
PaletteFromRGBA@moveflash:
|
|
||||||
Name: moveflash
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 64
|
|
||||||
PaletteFromRGBA@disabled:
|
|
||||||
Name: disabled
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 180
|
|
||||||
TSShroudPalette@shroud:
|
|
||||||
Type: Shroud
|
|
||||||
ShroudRenderer:
|
ShroudRenderer:
|
||||||
Index: 255, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 20, 40, 56, 65, 97, 130, 148, 194, 24, 33, 66, 132, 28, 41, 67, 134, 1, 2, 4, 8, 3, 6, 12, 9, 7, 14, 13, 11, 5, 10, 15, 255
|
Index: 255, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 20, 40, 56, 65, 97, 130, 148, 194, 24, 33, 66, 132, 28, 41, 67, 134, 1, 2, 4, 8, 3, 6, 12, 9, 7, 14, 13, 11, 5, 10, 15, 255
|
||||||
UseExtendedIndex: true
|
UseExtendedIndex: true
|
||||||
ShroudPalette: shroud
|
ShroudPalette: shroud
|
||||||
FogPalette: shroud
|
FogPalette: shroud
|
||||||
VoxelNormalsPalette@normals:
|
|
||||||
Name: normals
|
|
||||||
Type: TiberianSun
|
|
||||||
Country@Random:
|
Country@Random:
|
||||||
Name: Any
|
Name: Any
|
||||||
Race: Random
|
Race: Random
|
||||||
@@ -134,11 +55,6 @@ World:
|
|||||||
Sequence: largecraters
|
Sequence: largecraters
|
||||||
ResourceLayer:
|
ResourceLayer:
|
||||||
ResourceClaimLayer:
|
ResourceClaimLayer:
|
||||||
FixedColorPalette@GreenTiberium:
|
|
||||||
Base: player
|
|
||||||
Name: greentiberium
|
|
||||||
Color: 64, 255, 128
|
|
||||||
RemapIndex: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
|
||||||
ResourceType@Tiberium:
|
ResourceType@Tiberium:
|
||||||
ResourceType: 1
|
ResourceType: 1
|
||||||
Palette: greentiberium
|
Palette: greentiberium
|
||||||
@@ -151,11 +67,6 @@ World:
|
|||||||
AllowedTerrainTypes: Clear, Rough, DirtRoad
|
AllowedTerrainTypes: Clear, Rough, DirtRoad
|
||||||
AllowUnderActors: true
|
AllowUnderActors: true
|
||||||
TerrainType: Tiberium
|
TerrainType: Tiberium
|
||||||
FixedColorPalette@BlueTiberium:
|
|
||||||
Base: player
|
|
||||||
Name: bluetiberium
|
|
||||||
Color: 160, 255, 172
|
|
||||||
RemapIndex: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
|
||||||
ResourceType@BlueTiberium:
|
ResourceType@BlueTiberium:
|
||||||
ResourceType: 2
|
ResourceType: 2
|
||||||
Palette: bluetiberium
|
Palette: bluetiberium
|
||||||
|
|||||||
Reference in New Issue
Block a user