Fix star port and repair depot lights.
This commit is contained in:
@@ -91,6 +91,7 @@
|
|||||||
<Compile Include="Render\WithProductionOverlay.cs" />
|
<Compile Include="Render\WithProductionOverlay.cs" />
|
||||||
<Compile Include="Render\WithDockingOverlay.cs" />
|
<Compile Include="Render\WithDockingOverlay.cs" />
|
||||||
<Compile Include="Render\WithDeliveryOverlay.cs" />
|
<Compile Include="Render\WithDeliveryOverlay.cs" />
|
||||||
|
<Compile Include="PaletteFromScaledPalette.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
72
OpenRA.Mods.D2k/PaletteFromScaledPalette.cs
Normal file
72
OpenRA.Mods.D2k/PaletteFromScaledPalette.cs
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2014 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.Drawing;
|
||||||
|
using OpenRA.FileSystem;
|
||||||
|
using OpenRA.Graphics;
|
||||||
|
using OpenRA.Primitives;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.D2k
|
||||||
|
{
|
||||||
|
[Desc("Create a palette by applying a scale and offset to the colors in another palette.")]
|
||||||
|
class PaletteFromScaledPaletteInfo : ITraitInfo
|
||||||
|
{
|
||||||
|
[Desc("Internal palette name")]
|
||||||
|
public readonly string Name = null;
|
||||||
|
|
||||||
|
[Desc("The name of the palette to base off.")]
|
||||||
|
public readonly string BasePalette = null;
|
||||||
|
|
||||||
|
[Desc("Allow palette modifiers to change the palette.")]
|
||||||
|
public readonly bool AllowModifiers = true;
|
||||||
|
|
||||||
|
[Desc("Amount to scale the base palette colors by.")]
|
||||||
|
public readonly float Scale = 1.0f;
|
||||||
|
|
||||||
|
[Desc("Amount to offset the base palette colors by.")]
|
||||||
|
public readonly int Offset = 0;
|
||||||
|
|
||||||
|
public object Create(ActorInitializer init) { return new PaletteFromScaledPalette(this); }
|
||||||
|
}
|
||||||
|
|
||||||
|
class PaletteFromScaledPalette : IPalette
|
||||||
|
{
|
||||||
|
readonly PaletteFromScaledPaletteInfo info;
|
||||||
|
public PaletteFromScaledPalette(PaletteFromScaledPaletteInfo info) { this.info = info; }
|
||||||
|
|
||||||
|
public void InitPalette(WorldRenderer wr)
|
||||||
|
{
|
||||||
|
var remap = new ScaledPaletteRemap(info.Scale, info.Offset);
|
||||||
|
wr.AddPalette(info.Name, new Palette(wr.Palette(info.BasePalette).Palette, remap), info.AllowModifiers);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ScaledPaletteRemap : IPaletteRemap
|
||||||
|
{
|
||||||
|
readonly float scale;
|
||||||
|
readonly int offset;
|
||||||
|
|
||||||
|
public ScaledPaletteRemap(float scale, int offset)
|
||||||
|
{
|
||||||
|
this.scale = scale;
|
||||||
|
this.offset = offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Color GetRemappedColor(Color original, int index)
|
||||||
|
{
|
||||||
|
return Color.FromArgb(original.A,
|
||||||
|
(int)Exts.Clamp((int)(scale * original.R + offset), 0, 255),
|
||||||
|
(int)Exts.Clamp((int)(scale * original.G + offset), 0, 255),
|
||||||
|
(int)Exts.Clamp((int)(scale * original.B + offset), 0, 255));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -381,6 +381,7 @@ CONCRETEB:
|
|||||||
Produces: Starport
|
Produces: Starport
|
||||||
ActorType: frigate
|
ActorType: frigate
|
||||||
WithDeliveryOverlay:
|
WithDeliveryOverlay:
|
||||||
|
Palette: starportlights
|
||||||
ProductionBar:
|
ProductionBar:
|
||||||
PrimaryBuilding:
|
PrimaryBuilding:
|
||||||
RequiresPower:
|
RequiresPower:
|
||||||
@@ -580,6 +581,7 @@ WALL:
|
|||||||
ProvidesCustomPrerequisite:
|
ProvidesCustomPrerequisite:
|
||||||
Prerequisite: Repair
|
Prerequisite: Repair
|
||||||
WithRepairOverlay:
|
WithRepairOverlay:
|
||||||
|
Palette: repairlights
|
||||||
|
|
||||||
^HIGHTECH:
|
^HIGHTECH:
|
||||||
Inherits: ^Building
|
Inherits: ^Building
|
||||||
|
|||||||
@@ -66,6 +66,16 @@ World:
|
|||||||
G: 0
|
G: 0
|
||||||
B: 0
|
B: 0
|
||||||
A: 180
|
A: 180
|
||||||
|
PaletteFromScaledPalette@starportlights:
|
||||||
|
Name: starportlights
|
||||||
|
BasePalette: d2k
|
||||||
|
AllowModifiers: false
|
||||||
|
Offset: -64
|
||||||
|
PaletteFromScaledPalette@repairlights:
|
||||||
|
Name: repairlights
|
||||||
|
BasePalette: d2k
|
||||||
|
AllowModifiers: false
|
||||||
|
Offset: -128
|
||||||
PaletteFromR8@shroud:
|
PaletteFromR8@shroud:
|
||||||
Name: shroud
|
Name: shroud
|
||||||
Filename: DATA.R8
|
Filename: DATA.R8
|
||||||
|
|||||||
@@ -219,21 +219,23 @@ repaira:
|
|||||||
Start: 2571
|
Start: 2571
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
|
damaged-idle: DATA
|
||||||
|
Start: 2572
|
||||||
|
Offset: -48,48
|
||||||
|
ZOffset: -1c511
|
||||||
active: DATA
|
active: DATA
|
||||||
Start: 4746
|
Start: 4746
|
||||||
Length: 14
|
Length: 14
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
|
BlendMode: Additive
|
||||||
damaged-active: DATA
|
damaged-active: DATA
|
||||||
Start: 4746
|
Start: 4746
|
||||||
Length: 14
|
Length: 14
|
||||||
Tick: 60
|
Tick: 60
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
damaged-idle: DATA
|
BlendMode: Additive
|
||||||
Start: 2572
|
|
||||||
Offset: -48,48
|
|
||||||
ZOffset: -1c511
|
|
||||||
icon: DATA
|
icon: DATA
|
||||||
Start: 4096
|
Start: 4096
|
||||||
Offset: -30,-24
|
Offset: -30,-24
|
||||||
@@ -252,21 +254,23 @@ repairh:
|
|||||||
Start: 2731
|
Start: 2731
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
|
damaged-idle: DATA
|
||||||
|
Start: 2732
|
||||||
|
Offset: -48,48
|
||||||
|
ZOffset: -1c511
|
||||||
active: DATA
|
active: DATA
|
||||||
Start: 4746
|
Start: 4746
|
||||||
Length: 14
|
Length: 14
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
|
BlendMode: Additive
|
||||||
damaged-active: DATA
|
damaged-active: DATA
|
||||||
Start: 4746
|
Start: 4746
|
||||||
Length: 14
|
Length: 14
|
||||||
Tick: 60
|
Tick: 60
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
damaged-idle: DATA
|
BlendMode: Additive
|
||||||
Start: 2732
|
|
||||||
Offset: -48,48
|
|
||||||
ZOffset: -1c511
|
|
||||||
icon: DATA
|
icon: DATA
|
||||||
Start: 4097
|
Start: 4097
|
||||||
Offset: -30,-24
|
Offset: -30,-24
|
||||||
@@ -285,21 +289,23 @@ repairo:
|
|||||||
Start: 2891
|
Start: 2891
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
|
damaged-idle: DATA
|
||||||
|
Start: 2892
|
||||||
|
Offset: -48,48
|
||||||
|
ZOffset: -1c511
|
||||||
active: DATA
|
active: DATA
|
||||||
Start: 4746
|
Start: 4746
|
||||||
Length: 14
|
Length: 14
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
|
BlendMode: Additive
|
||||||
damaged-active: DATA
|
damaged-active: DATA
|
||||||
Start: 4746
|
Start: 4746
|
||||||
Length: 14
|
Length: 14
|
||||||
Tick: 60
|
Tick: 60
|
||||||
Offset: -48,48
|
Offset: -48,48
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
damaged-idle: DATA
|
BlendMode: Additive
|
||||||
Start: 2892
|
|
||||||
Offset: -48,48
|
|
||||||
ZOffset: -1c511
|
|
||||||
icon: DATA
|
icon: DATA
|
||||||
Start: 4098
|
Start: 4098
|
||||||
Offset: -30,-24
|
Offset: -30,-24
|
||||||
@@ -318,14 +324,14 @@ starporta:
|
|||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
damaged-active: DATA
|
damaged-active: DATA
|
||||||
Start: 4723
|
Start: 4723
|
||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
make: DATA
|
make: DATA
|
||||||
Start: 4347
|
Start: 4347
|
||||||
@@ -820,14 +826,14 @@ starporth:
|
|||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
damaged-active: DATA
|
damaged-active: DATA
|
||||||
Start: 4723
|
Start: 4723
|
||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
make: DATA
|
make: DATA
|
||||||
Start: 4347
|
Start: 4347
|
||||||
@@ -1231,14 +1237,14 @@ starporto:
|
|||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
damaged-active: DATA
|
damaged-active: DATA
|
||||||
Start: 4723
|
Start: 4723
|
||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
make: DATA
|
make: DATA
|
||||||
Start: 4347
|
Start: 4347
|
||||||
@@ -1624,14 +1630,14 @@ starportc: # TODO: unused
|
|||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
damaged-active: DATA
|
damaged-active: DATA
|
||||||
Start: 4723
|
Start: 4723
|
||||||
Length: 23
|
Length: 23
|
||||||
ZOffset: -1c511
|
ZOffset: -1c511
|
||||||
Offset: -48,64
|
Offset: -48,64
|
||||||
BlendMode: Alpha
|
BlendMode: Additive
|
||||||
Tick: 200
|
Tick: 200
|
||||||
make: DATA
|
make: DATA
|
||||||
Start: 4347
|
Start: 4347
|
||||||
|
|||||||
Reference in New Issue
Block a user