diff --git a/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlayInfo.cs b/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlayInfo.cs index 68d02cd8c5..13326c6477 100644 --- a/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlayInfo.cs +++ b/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlayInfo.cs @@ -23,6 +23,12 @@ namespace OpenRA.Mods.RA.Render [Desc("Position relative to body")] public readonly WVec Offset = WVec.Zero; + [Desc("Custom palette name")] + public readonly string Palette = null; + + [Desc("Custom palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + public object Create(ActorInitializer init) { return new WithBuildingPlacedOverlay(init.self, this); } } @@ -43,7 +49,8 @@ namespace OpenRA.Mods.RA.Render rs.Add("crane_overlay_{0}".F(info.Sequence), new AnimationWithOffset(overlay, () => body.LocalToWorld(info.Offset.Rotate(body.QuantizeOrientation(self, self.Orientation))), - () => !buildComplete)); + () => !buildComplete), + info.Palette, info.IsPlayerPalette); } public void BuildingComplete(Actor self) diff --git a/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs b/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs index 6deb6ace9b..947d1998e1 100644 --- a/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs +++ b/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs @@ -19,6 +19,12 @@ namespace OpenRA.Mods.RA.Render [Desc("Sequence name to use")] public readonly string Sequence = "crumble-overlay"; + [Desc("Custom palette name")] + public readonly string Palette = null; + + [Desc("Custom palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + public object Create(ActorInitializer init) { return new WithCrumbleOverlay(init, this); } } @@ -35,7 +41,8 @@ namespace OpenRA.Mods.RA.Render var overlay = new Animation(init.world, rs.GetImage(init.self)); overlay.PlayThen(info.Sequence, () => buildComplete = false); rs.Add("make_overlay_{0}".F(info.Sequence), - new AnimationWithOffset(overlay, null, () => !buildComplete)); + new AnimationWithOffset(overlay, null, () => !buildComplete), + info.Palette, info.IsPlayerPalette); } } diff --git a/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs b/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs index 247196be86..840175d3d5 100644 --- a/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs +++ b/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs @@ -24,6 +24,12 @@ namespace OpenRA.Mods.RA.Render [Desc("Position relative to body")] public readonly WVec Offset = WVec.Zero; + [Desc("Custom palette name")] + public readonly string Palette = null; + + [Desc("Custom palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + public object Create(ActorInitializer init) { return new WithDeliveryOverlay(init.self, this); } } @@ -47,7 +53,8 @@ namespace OpenRA.Mods.RA.Render rs.Add("delivery_overlay_{0}".F(info.Sequence), new AnimationWithOffset(overlay, () => body.LocalToWorld(info.Offset.Rotate(body.QuantizeOrientation(self, self.Orientation))), - () => !buildComplete)); + () => !buildComplete), + info.Palette, info.IsPlayerPalette); } void PlayDeliveryOverlay() diff --git a/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs b/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs index 9651f6d02f..817aaa1599 100644 --- a/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs +++ b/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs @@ -24,6 +24,12 @@ namespace OpenRA.Mods.RA.Render [Desc("Position relative to body")] public readonly WVec Offset = WVec.Zero; + [Desc("Custom palette name")] + public readonly string Palette = null; + + [Desc("Custom palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + public object Create(ActorInitializer init) { return new WithDockingOverlay(init.self, this); } } @@ -47,7 +53,8 @@ namespace OpenRA.Mods.RA.Render rs.Add("docking_overlay_{0}".F(info.Sequence), new AnimationWithOffset(overlay, () => body.LocalToWorld(info.Offset.Rotate(body.QuantizeOrientation(self, self.Orientation))), - () => !buildComplete)); + () => !buildComplete), + info.Palette, info.IsPlayerPalette); } void PlayDockingOverlay() diff --git a/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs b/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs index 081a407538..ef8c870819 100644 --- a/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs +++ b/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs @@ -26,6 +26,12 @@ namespace OpenRA.Mods.RA.Render [Desc("Position relative to body")] public readonly WVec Offset = WVec.Zero; + [Desc("Custom palette name")] + public readonly string Palette = null; + + [Desc("Custom palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + public object Create(ActorInitializer init) { return new WithProductionOverlay(init.self, this); } } @@ -52,7 +58,8 @@ namespace OpenRA.Mods.RA.Render rs.Add("production_overlay_{0}".F(info.Sequence), new AnimationWithOffset(overlay, () => body.LocalToWorld(info.Offset.Rotate(body.QuantizeOrientation(self, self.Orientation))), - () => !IsProducing || !buildComplete)); + () => !IsProducing || !buildComplete), + info.Palette, info.IsPlayerPalette); } public void Tick(Actor self) diff --git a/OpenRA.Mods.RA/Render/WithIdleOverlay.cs b/OpenRA.Mods.RA/Render/WithIdleOverlay.cs index 0c2ad17ac5..e07f3392b3 100644 --- a/OpenRA.Mods.RA/Render/WithIdleOverlay.cs +++ b/OpenRA.Mods.RA/Render/WithIdleOverlay.cs @@ -24,6 +24,12 @@ namespace OpenRA.Mods.RA.Render [Desc("Position relative to body")] public readonly WVec Offset = WVec.Zero; + [Desc("Custom palette name")] + public readonly string Palette = null; + + [Desc("Custom palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + public readonly bool PauseOnLowPower = false; public object Create(ActorInitializer init) { return new WithIdleOverlay(init.self, this); } @@ -48,7 +54,8 @@ namespace OpenRA.Mods.RA.Render () => body.LocalToWorld(info.Offset.Rotate(body.QuantizeOrientation(self, self.Orientation))), () => !buildComplete, () => info.PauseOnLowPower && disabled.Any(d => d.Disabled), - p => WithTurret.ZOffsetFromCenter(self, p, 1))); + p => WithTurret.ZOffsetFromCenter(self, p, 1)), + info.Palette, info.IsPlayerPalette); } public void BuildingComplete(Actor self) diff --git a/OpenRA.Mods.RA/Render/WithRepairOverlay.cs b/OpenRA.Mods.RA/Render/WithRepairOverlay.cs index f44c23bc4d..3ed1a8cdcc 100644 --- a/OpenRA.Mods.RA/Render/WithRepairOverlay.cs +++ b/OpenRA.Mods.RA/Render/WithRepairOverlay.cs @@ -25,6 +25,12 @@ namespace OpenRA.Mods.RA.Render [Desc("Position relative to body")] public readonly WVec Offset = WVec.Zero; + [Desc("Custom palette name")] + public readonly string Palette = null; + + [Desc("Custom palette is a player palette BaseName")] + public readonly bool IsPlayerPalette = false; + public readonly bool PauseOnLowPower = false; public object Create(ActorInitializer init) { return new WithRepairOverlay(init.self, this); } @@ -49,7 +55,8 @@ namespace OpenRA.Mods.RA.Render () => body.LocalToWorld(info.Offset.Rotate(body.QuantizeOrientation(self, self.Orientation))), () => !buildComplete, () => info.PauseOnLowPower && disabled.Any(d => d.Disabled), - p => WithTurret.ZOffsetFromCenter(self, p, 1))); + p => WithTurret.ZOffsetFromCenter(self, p, 1)), + info.Palette, info.IsPlayerPalette); } public void BuildingComplete(Actor self)