check palette references

This commit is contained in:
Matthias Mailänder
2015-07-19 18:08:17 +02:00
parent ba8e292b71
commit 118782a85e
55 changed files with 191 additions and 58 deletions

View File

@@ -57,7 +57,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly string MuzzleSequence = null;
[Desc("Palette to render Muzzle flash sequence in")]
public readonly string MuzzlePalette = "effect";
[PaletteReference] public readonly string MuzzlePalette = "effect";
[Desc("Use multiple muzzle images if non-zero")]
public readonly int MuzzleSplitFacings = 0;

View File

@@ -39,7 +39,7 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Fire port yaw cone angle.")]
public readonly WAngle[] PortCones = null;
public readonly string MuzzlePalette = "effect";
[PaletteReference] public readonly string MuzzlePalette = "effect";
public override object Create(ActorInitializer init) { return new AttackGarrisoned(init.Self, this); }
}

View File

@@ -33,7 +33,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly string ForceFaction = null;
[Desc("Palette used for the production icon.")]
public readonly string IconPalette = "chrome";
[PaletteReference] public readonly string IconPalette = "chrome";
// TODO: UI fluff; doesn't belong here
public readonly int BuildPaletteOrder = 9999;

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Traits
public class BibInfo : ITraitInfo, Requires<BuildingInfo>, IRenderActorPreviewSpritesInfo, Requires<RenderSpritesInfo>
{
[SequenceReference] public readonly string Sequence = "bib";
public readonly string Palette = "terrain";
[PaletteReference] public readonly string Palette = "terrain";
public readonly bool HasMinibib = false;
public object Create(ActorInitializer init) { return new Bib(init.Self, this); }

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Common.Traits
[SequenceReference("IndicatorImage")] public readonly string IndicatorSequence = "repair";
[Desc("Overrides the IndicatorPalettePrefix.")]
public readonly string IndicatorPalette = "";
[PaletteReference] public readonly string IndicatorPalette = "";
[Desc("Suffixed by the interal repairing player name.")]
public readonly string IndicatorPalettePrefix = "player";

View File

@@ -34,7 +34,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly string CloakSound = null;
public readonly string UncloakSound = null;
public readonly string Palette = "cloak";
[PaletteReference] public readonly string Palette = "cloak";
public readonly string[] CloakTypes = { "Cloak" };

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly string Effect = null;
[Desc("Palette to draw the animation in.")]
public readonly string Palette = "effect";
[PaletteReference] public readonly string Palette = "effect";
[Desc("Audio clip to play when the crate is collected.")]
public readonly string Notification = null;

View File

@@ -27,7 +27,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly Dictionary<int, string[]> Upgrades = null;
[Desc("Palette for the level up sprite.")]
public readonly string LevelUpPalette = "effect";
[PaletteReference] public readonly string LevelUpPalette = "effect";
[Desc("Should the level-up animation be suppressed when actor is created?")]
public readonly bool SuppressLevelupAnimation = true;

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Traits
public class UpgradeOverlayInfo : UpgradableTraitInfo
{
[Desc("Palette to use when rendering the overlay")]
public readonly string Palette = "invuln";
[PaletteReference] public readonly string Palette = "invuln";
public override object Create(ActorInitializer init) { return new UpgradeOverlay(this); }
}

View File

@@ -24,11 +24,11 @@ namespace OpenRA.Mods.Common.Traits
public readonly string GroundImpactSound = null;
[SequenceReference("CorpseSequenceCollection")] public readonly string GroundCorpseSequence = "corpse";
public readonly string GroundCorpsePalette = "effect";
[PaletteReference] public readonly string GroundCorpsePalette = "effect";
public readonly string WaterImpactSound = null;
[SequenceReference("CorpseSequenceCollection")] public readonly string WaterCorpseSequence = null;
public readonly string WaterCorpsePalette = "effect";
[PaletteReference] public readonly string WaterCorpsePalette = "effect";
public readonly int FallRate = 13;

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Common.Traits
public class PlaceBuildingInfo : ITraitInfo
{
[Desc("Palette to use for rendering the placement sprite.")]
public readonly string Palette = "terrain";
[PaletteReference] public readonly string Palette = "terrain";
[Desc("Play NewOptionsNotification this many ticks after building placement.")]
public readonly int NewOptionsNotificationDelay = 10;

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Traits
public class LeavesTrailsInfo : ITraitInfo
{
public readonly string Image = null;
public readonly string Palette = "effect";
[PaletteReference] public readonly string Palette = "effect";
[Desc("Only do so when the terrain types match with the previous cell.")]
public readonly string[] TerrainTypes = { };

View File

@@ -34,7 +34,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly Dictionary<string, string> RaceImages = null;
[Desc("Custom palette name")]
public readonly string Palette = null;
[PaletteReference] public readonly string Palette = null;
[Desc("Custom PlayerColorPalette: BaseName")]
public readonly string PlayerPalette = "player";

View File

@@ -28,12 +28,12 @@ namespace OpenRA.Mods.Common.Traits
public readonly string Image = null;
[Desc("Custom palette name")]
public readonly string Palette = null;
[PaletteReference] public readonly string Palette = null;
[Desc("Custom PlayerColorPalette: BaseName")]
public readonly string PlayerPalette = "player";
public readonly string NormalsPalette = "normals";
public readonly string ShadowPalette = "shadow";
[PaletteReference] public readonly string PlayerPalette = "player";
[PaletteReference] public readonly string NormalsPalette = "normals";
[PaletteReference] public readonly string ShadowPalette = "shadow";
[Desc("Change the image size.")]
public readonly float Scale = 10;

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Common.Traits
{
public class SelectionDecorationsInfo : ITraitInfo, ISelectionDecorationsInfo
{
public readonly string Palette = "chrome";
[PaletteReference] public readonly string Palette = "chrome";
[Desc("Visual bounds for selection box. If null, it uses AutoSelectionSize.",
"The first two values define the bounds' size, the optional third and fourth",

View File

@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly int Delay = 0;
[Desc("Custom palette name")]
public readonly string Palette = "effect";
[PaletteReference] public readonly string Palette = "effect";
public object Create(ActorInitializer init) { return new WithBuildingExplosion(init.Self, this); }
}

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly WVec Offset = WVec.Zero;
[Desc("Custom palette name")]
public readonly string Palette = null;
[PaletteReference] public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -20,7 +20,7 @@ namespace OpenRA.Mods.Common.Traits
[SequenceReference] public readonly string Sequence = "active";
[Desc("Custom palette name")]
public readonly string Palette = null;
[PaletteReference] public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -38,7 +38,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly string Sequence = null;
[Desc("Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.")]
public readonly string Palette = "chrome";
[PaletteReference] public readonly string Palette = "chrome";
[Desc("Point in the actor's bounding box used as reference for offsetting the decoration image." +
"Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.")]

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Position relative to body")]
public readonly WVec Offset = WVec.Zero;
public readonly string Palette = "effect";
[PaletteReference] public readonly string Palette = "effect";
public object Create(ActorInitializer init) { return new WithHarvestOverlay(init.Self, this); }
}

View File

@@ -26,7 +26,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly WVec Offset = WVec.Zero;
[Desc("Custom palette name")]
public readonly string Palette = null;
[PaletteReference] public readonly string Palette = null;
[Desc("Custom palette is a player palette BaseName")]
public readonly bool IsPlayerPalette = false;

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Clones the aircraft sprite with another palette below it.")]
class WithShadowInfo : ITraitInfo
{
public readonly string Palette = "shadow";
[PaletteReference] public readonly string Palette = "shadow";
public object Create(ActorInitializer init) { return new WithShadow(this); }
}

View File

@@ -40,13 +40,13 @@ namespace OpenRA.Mods.Common.Traits
public readonly bool DisplayTimer = false;
[Desc("Palette used for the icon.")]
public readonly string IconPalette = "chrome";
[PaletteReference] public readonly string IconPalette = "chrome";
[Desc("Beacons are only supported on the Airstrike and Nuke powers")]
public readonly bool DisplayBeacon = false;
public readonly string BeaconPalettePrefix = "player";
public readonly string BeaconPoster = null;
public readonly string BeaconPosterPalette = "chrome";
[PaletteReference] public readonly string BeaconPosterPalette = "chrome";
public readonly bool DisplayRadarPing = false;

View File

@@ -27,7 +27,7 @@ namespace OpenRA.Mods.Common.Traits
[SequenceReference("Image")] public readonly string Sequence = null;
[Desc("Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.")]
public readonly string Palette = "chrome";
[PaletteReference] public readonly string Palette = "chrome";
[Desc("Point on the production icon's used as reference for offsetting the overlay. ",
"Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.")]

View File

@@ -18,11 +18,13 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Loads the palette specified in the tileset definition")]
class PaletteFromCurrentTilesetInfo : ITraitInfo
{
[FieldLoader.Require]
[FieldLoader.Require, PaletteDefinition]
[Desc("internal palette name")]
public readonly string Name = null;
[Desc("Map listed indices to shadow. Ignores previous color.")]
public readonly int[] ShadowIndex = { };
public readonly bool AllowModifiers = true;
public object Create(ActorInitializer init) { return new PaletteFromCurrentTileset(init.World, this); }

View File

@@ -17,16 +17,20 @@ namespace OpenRA.Mods.Common.Traits
{
class PaletteFromFileInfo : ITraitInfo
{
[FieldLoader.Require]
[FieldLoader.Require, PaletteDefinition]
[Desc("internal palette name")]
public readonly string Name = null;
[Desc("If defined, load the palette only for this tileset.")]
public readonly string Tileset = null;
[FieldLoader.Require]
[Desc("filename to load")]
public readonly string Filename = null;
[Desc("Map listed indices to shadow. Ignores previous color.")]
public readonly int[] ShadowIndex = { };
public readonly bool AllowModifiers = true;
public object Create(ActorInitializer init) { return new PaletteFromFile(init.World, this); }

View File

@@ -19,11 +19,11 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Create a palette by applying alpha transparency to another palette.")]
class PaletteFromPaletteWithAlphaInfo : ITraitInfo
{
[FieldLoader.Require]
[FieldLoader.Require, PaletteDefinition]
[Desc("Internal palette name")]
public readonly string Name = null;
[FieldLoader.Require]
[FieldLoader.Require, PaletteReference]
[Desc("The name of the palette to base off.")]
public readonly string BasePalette = null;

View File

@@ -18,19 +18,25 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Creates a single color palette without any base palette file.")]
class PaletteFromRGBAInfo : ITraitInfo
{
[FieldLoader.Require]
[FieldLoader.Require, PaletteDefinition]
[Desc("internal palette name")]
public readonly string Name = null;
[Desc("If defined, load the palette only for this tileset.")]
public readonly string Tileset = null;
[Desc("red color component")]
public readonly int R = 0;
[Desc("green color component")]
public readonly int G = 0;
[Desc("blue color component")]
public readonly int B = 0;
[Desc("alpha channel (transparency)")]
public readonly int A = 255;
public readonly bool AllowModifiers = true;
public object Create(ActorInitializer init) { return new PaletteFromRGBA(init.World, this); }

View File

@@ -16,7 +16,7 @@ namespace OpenRA.Mods.Common.Traits
{
class PlayerPaletteFromCurrentTilesetInfo : ITraitInfo
{
[FieldLoader.Require]
[FieldLoader.Require, PaletteDefinition]
[Desc("internal palette name")]
public readonly string Name = null;
[Desc("Map listed indices to shadow.")]

View File

@@ -20,6 +20,7 @@ namespace OpenRA.Mods.Common.Traits
class ShroudPaletteInfo : ITraitInfo
{
[Desc("Internal palette name")]
[FieldLoader.Require, PaletteDefinition]
public readonly string Name = "shroud";
[Desc("Palette type")]

View File

@@ -26,8 +26,8 @@ namespace OpenRA.Mods.Common.Traits
public readonly string[] ShroudVariants = new[] { "shroud" };
public readonly string[] FogVariants = new[] { "fog" };
public readonly string ShroudPalette = "shroud";
public readonly string FogPalette = "fog";
[PaletteReference] public readonly string ShroudPalette = "shroud";
[PaletteReference] public readonly string FogPalette = "fog";
[Desc("Bitfield of shroud directions for each frame. Lower four bits are",
"corners clockwise from TL; upper four are edges clockwise from top")]

View File

@@ -31,9 +31,9 @@ namespace OpenRA.Mods.Common.Traits
public readonly string SmokeType = "smoke_m";
[SequenceReference("SmokeType")] public readonly string SmokeSequence = "idle";
public readonly string SmokePalette = "effect";
[PaletteReference] public readonly string SmokePalette = "effect";
public readonly string Palette = "terrain";
[PaletteReference] public readonly string Palette = "terrain";
public object Create(ActorInitializer init) { return new SmudgeLayer(init.Self, this); }
}

View File

@@ -16,6 +16,7 @@ namespace OpenRA.Mods.Common.Traits
{
public class VoxelNormalsPaletteInfo : ITraitInfo
{
[PaletteDefinition]
public readonly string Name = "normals";
[Desc("Can be TiberianSun or RedAlert2")]