Rework player palette loading.

This commit is contained in:
Paul Chote
2015-05-09 22:09:23 +01:00
parent 1d835edfca
commit 7eae157ad8
21 changed files with 375 additions and 333 deletions

View File

@@ -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;

View File

@@ -41,6 +41,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);
@@ -49,6 +52,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);
@@ -56,9 +65,22 @@ 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
palette.AddPalette(name, pal, allowModifiers);
}
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()
{ {

View File

@@ -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);
} }
} }
} }

View File

@@ -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);
} }
} }
} }

View File

@@ -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(); }

View File

@@ -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

View 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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View 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:

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View 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:

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View 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:

View File

@@ -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:

View File

@@ -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