IPaletteModifier hooked up; no impls yet
This commit is contained in:
@@ -8,7 +8,7 @@ namespace OpenRa.Game.Graphics
|
||||
const int maxEntries = 16;
|
||||
int allocated = 0;
|
||||
|
||||
public HardwarePalette(Renderer renderer, Map map, int rotate)
|
||||
public HardwarePalette(Renderer renderer, Map map)
|
||||
: base(renderer,new Size(256, maxEntries))
|
||||
{
|
||||
Palette pal = new Palette(FileSystem.Open(map.Theater + ".pal"));
|
||||
@@ -19,10 +19,10 @@ namespace OpenRa.Game.Graphics
|
||||
|
||||
AddPalette(new Palette(pal, new PaletteRemap(Color.FromArgb(140, 0, 0, 0))));
|
||||
|
||||
using (var bitmapCopy = new Bitmap(bitmap))
|
||||
for (int j = 0; j < maxEntries; j++)
|
||||
for (int i = 0; i < 7; i++)
|
||||
this[new Point(0x60 + i, j)] = bitmapCopy.GetPixel(0x60 + (rotate + i) % 7, j);
|
||||
//using (var bitmapCopy = new Bitmap(bitmap))
|
||||
// for (int j = 0; j < maxEntries; j++)
|
||||
// for (int i = 0; i < 7; i++)
|
||||
// this[new Point(0x60 + i, j)] = bitmapCopy.GetPixel(0x60 + (rotate + i) % 7, j);
|
||||
}
|
||||
|
||||
int AddPalette(Palette p)
|
||||
|
||||
@@ -11,24 +11,16 @@ namespace OpenRa.Game.Graphics
|
||||
internal static int SheetSize;
|
||||
|
||||
readonly GraphicsDevice device;
|
||||
Texture[] palettes;
|
||||
|
||||
public Shader SpriteShader { get; private set; } /* note: shared shader params */
|
||||
public Shader LineShader { get; private set; }
|
||||
public Shader RgbaSpriteShader { get; private set; }
|
||||
|
||||
public Texture PaletteTexture;
|
||||
|
||||
readonly SpriteHelper sh;
|
||||
readonly FontHelper fhDebug, fhTitle;
|
||||
|
||||
public void BuildPalette(Map map)
|
||||
{
|
||||
palettes = Util.MakeArray(7, i => new HardwarePalette(this, map, 6 - i).Texture);
|
||||
}
|
||||
|
||||
public void SetPalette(HardwarePalette hp)
|
||||
{
|
||||
SpriteShader.SetValue("Palette", hp.Texture);
|
||||
}
|
||||
|
||||
public Renderer(Control host, Size resolution, bool windowed)
|
||||
{
|
||||
host.ClientSize = resolution;
|
||||
@@ -49,14 +41,12 @@ namespace OpenRa.Game.Graphics
|
||||
|
||||
public GraphicsDevice Device { get { return device; } }
|
||||
|
||||
public static float waterFrame = 0.0f;
|
||||
|
||||
public void BeginFrame(float2 r1, float2 r2, float2 scroll)
|
||||
{
|
||||
device.Begin();
|
||||
device.Clear(0, Surfaces.Color);
|
||||
|
||||
SpriteShader.SetValue("Palette", palettes[(int)(waterFrame * palettes.Length) % palettes.Length]);
|
||||
SpriteShader.SetValue("Palette", PaletteTexture);
|
||||
SpriteShader.SetValue("Scroll", scroll);
|
||||
SpriteShader.SetValue("r1", r1);
|
||||
SpriteShader.SetValue("r2", r2);
|
||||
|
||||
Reference in New Issue
Block a user