public void InitPalette( WorldRenderer wr ) { var info = Rules.Info["player"].Traits.WithInterface<PlayerColorPaletteInfo>() .First(p => p.BaseName == Info.PlayerPalette); format = info.PaletteFormat; wr.AddPalette("colorpicker", wr.GetPalette(info.BasePalette)); }
public void InitPalette( WorldRenderer wr ) { var paletteName = "{0}{1}".F( info.BaseName, owner.InternalName ); var newpal = new Palette(wr.Palette(info.BasePalette).Palette, new PlayerColorRemap(info.RemapIndex, owner.ColorRamp)); wr.AddPalette(paletteName, newpal, info.AllowModifiers); }
public void InitPalette(WorldRenderer wr) { var c = info.Type == ShroudPaletteType.Shroud ? Shroud : info.Type == ShroudPaletteType.Fog ? Fog : Combined; wr.AddPalette(info.Name, new Palette(Exts.MakeArray(256, i => (uint)c[i % 8].ToArgb())), false); }
public void InitPalette( WorldRenderer wr ) { var paletteName = "{0}{1}".F( info.BaseName, owner.InternalName ); var newpal = new Palette(wr.GetPalette(info.BasePalette), new PlayerColorRemap(info.PaletteFormat, owner.ColorRamp)); wr.AddPalette(paletteName, newpal); }
public void LoadPalettes(WorldRenderer wr) { // Enable palette only for a specific tileset if (info.Tileset != null && info.Tileset.ToLowerInvariant() != world.Map.Tileset.ToLowerInvariant()) return; var c = (uint)((info.A << 24) | (info.R << 16) | (info.G << 8) | info.B); wr.AddPalette(info.Name, new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => (i == 0) ? 0 : c)), info.AllowModifiers); }
public void InitPalette(WorldRenderer wr) { // Enable palette only for a specific tileset if (info.Tileset != null && info.Tileset.ToLowerInvariant() != world.Map.Tileset.ToLowerInvariant()) return; var c = (uint)((info.A << 24) | (info.R << 16) | (info.G << 8) | info.B); wr.AddPalette(info.Name, new Palette(Exts.MakeArray(256, i => (i == 0) ? 0 : c)), info.AllowModifiers); }
public void InitPalette( WorldRenderer wr ) { if (info.Theatre == null || info.Theatre.ToLowerInvariant() == world.Map.Theater.ToLowerInvariant()) { // TODO: This shouldn't rely on a base palette var pal = wr.GetPalette("terrain"); wr.AddPalette(info.Name, new Palette(pal, new SingleColorRemap(Color.FromArgb(info.A, info.R, info.G, info.B)))); } }
public void LoadPalettes(WorldRenderer wr) { Func<int, uint> makeColor = i => { if (i < 128) return (uint)(int2.Lerp(255, 0, i, 127) << 24); return 0; }; wr.AddPalette(info.Name, new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => makeColor(i)))); }
public void InitPalette(WorldRenderer wr) { var c = new[] { Color.Transparent, Color.Green, Color.Blue, Color.Yellow, Color.Black, Color.FromArgb(128,0,0,0), Color.Transparent, Color.Transparent }; wr.AddPalette(info.Name, new Palette(Exts.MakeArray(256, i => (uint)c[i % 8].ToArgb())), false); }
public void LoadPalettes(WorldRenderer wr) { // Enable palette only for a specific tileset if (info.Tileset != null && info.Tileset.ToLowerInvariant() != world.Map.Tileset.ToLowerInvariant()) return; var a = info.A / 255f; var r = (int)(a * info.R + 0.5f).Clamp(0, 255); var g = (int)(a * info.G + 0.5f).Clamp(0, 255); var b = (int)(a * info.B + 0.5f).Clamp(0, 255); var c = (uint)Color.FromArgb(info.A, r, g, b).ToArgb(); wr.AddPalette(info.Name, new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => (i == 0) ? 0 : c)), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { var colors = new uint[Palette.Size]; using (var s = GlobalFileSystem.Open(info.Filename)) { s.Seek(info.Offset, SeekOrigin.Begin); for (var i = 0; i < Palette.Size; i++) { var packed = s.ReadUInt16(); colors[i] = (uint)((255 << 24) | ((packed & 0xF800) << 8) | ((packed & 0x7E0) << 5) | ((packed & 0x1f) << 3)); if (info.InvertColor) colors[i] ^= 0x00FFFFFF; } } wr.AddPalette(info.Name, new ImmutablePalette(colors), info.AllowModifiers); }
public void InitPalette(WorldRenderer wr) { var colors = new uint[256]; using (var s = FileSystem.Open(info.Filename)) { s.Seek(info.Offset, SeekOrigin.Begin); for (var i = 0; i < 256; i++) { var packed = s.ReadUInt16(); // Fog is rendered with half opacity colors[i] = (uint)((255 << 24) | ((packed & 0xF800) << 7) | ((packed & 0x7E0) << 4) | ((packed & 0x1f) << 2)); if (info.InvertColor) colors[i] ^= 0x00FFFFFF; } } wr.AddPalette(info.Name, new Palette(colors), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { // Rotate vectors to expected orientation // Voxel coordinates are x=forward, y=right, z=up var channel = new int[] {2,1,0}; var n = info.Type == NormalType.RedAlert2 ? RA2Normals : TSNormals; // Map normals into color range // Introduces a maximum error of ~0.5% var data = new uint[Palette.Size]; for (var i = 0; i < n.Length / 3; i++) { data[i] = 0xFF000000; for (var j = 0; j < 3; j++) { var t = (n[3*i + j] + 1) / 2; data[i] |= (uint)((byte)(t*0xFF + 0.5) << (8*channel[j])); } } wr.AddPalette(info.Name, new ImmutablePalette(data)); }
public void InitPalette(WorldRenderer wr) { var filename = world.TileSet.PlayerPalette ?? world.TileSet.Palette; wr.AddPalette(info.Name, new Palette(FileSystem.Open(filename), info.ShadowIndex), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { var c = info.Fog ? Fog : Shroud; wr.AddPalette(info.Name, new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => (uint)c[i % 8].ToArgb()))); }
public void LoadPalettes(WorldRenderer wr) { if (info.Tileset == null || info.Tileset.ToLowerInvariant() == world.Map.Tileset.ToLowerInvariant()) wr.AddPalette(info.Name, new ImmutablePalette(world.Map.Open(info.Filename), info.ShadowIndex), info.AllowModifiers); }
public void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor color, bool replaceExisting) { var basePalette = wr.Palette(info.BasePalette).Palette; ImmutablePalette pal; int[] remap; if (info.PlayerIndex.TryGetValue(playerName, out remap)) pal = new ImmutablePalette(basePalette, new IndexedColorRemap(basePalette, info.RemapIndex, remap)); else pal = new ImmutablePalette(basePalette); wr.AddPalette(info.BaseName + playerName, pal, info.AllowModifiers, replaceExisting); }
public void InitPalette(WorldRenderer wr) { if (info.Tileset == null || info.Tileset.ToLowerInvariant() == world.Map.Tileset.ToLowerInvariant()) wr.AddPalette(info.Name, new Palette(FileSystem.Open(info.Filename), info.ShadowIndex), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { var remap = new ScaledPaletteRemap(info.Scale, info.Offset); wr.AddPalette(info.Name, new ImmutablePalette(wr.Palette(info.BasePalette).Palette, remap), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { var filename = world.TileSet.PlayerPalette ?? world.TileSet.Palette; wr.AddPalette(info.Name, new ImmutablePalette(GlobalFileSystem.Open(filename), info.ShadowIndex), info.AllowModifiers); }
public void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor color, bool replaceExisting) { var remap = new AlphaPaletteRemap(info.Alpha, info.Premultiply); var pal = new ImmutablePalette(wr.Palette(info.BasePalette + playerName).Palette, remap); wr.AddPalette(info.BaseName + playerName, pal, info.AllowModifiers, replaceExisting); }
public void LoadPalettes(WorldRenderer wr) { var remap = new AlphaPaletteRemap(info.Alpha, info.Premultiply); wr.AddPalette(info.Name, new ImmutablePalette(wr.Palette(info.BasePalette).Palette, remap), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { var remap = new PlayerColorRemap(info.RemapIndex, info.Color, info.Ramp); wr.AddPalette(info.Name, new ImmutablePalette(wr.Palette(info.Base).Palette, remap), info.AllowModifiers); }
public void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor color, bool replaceExisting) { var argb = (uint)Color.FromArgb(128, color.RGB).ToArgb(); var pal = new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => i == 0 ? 0 : argb)); wr.AddPalette(info.BaseName + playerName, pal, false, replaceExisting); }
public void InitPalette(WorldRenderer wr) { var remap = new PlayerColorRemap(info.RemapIndex, owner.Color, info.Ramp); wr.AddPalette(info.BaseName+owner.InternalName, new Palette(wr.Palette(info.BasePalette).Palette, remap), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { wr.AddPalette(info.Name, new ImmutablePalette(GlobalFileSystem.Open(world.TileSet.Palette), info.ShadowIndex), info.AllowModifiers); }
public void LoadPalettes(WorldRenderer wr) { wr.AddPalette(info.Name, new ImmutablePalette(wr.World.Map.Open(world.Map.Rules.TileSet.Palette), info.ShadowIndex), info.AllowModifiers); }
public void LoadPlayerPalettes(WorldRenderer wr, string playerName, HSLColor color, bool replaceExisting) { var remap = new PlayerColorRemap(info.RemapIndex, color, info.Ramp); var pal = new ImmutablePalette(wr.Palette(info.BasePalette).Palette, remap); wr.AddPalette(info.BaseName + playerName, pal, info.AllowModifiers, replaceExisting); }
public void InitPalette( WorldRenderer wr ) { if( info.Theater == null || info.Theater.ToLowerInvariant() == world.Map.Theater.ToLowerInvariant() ) wr.AddPalette( info.Name, new Palette( FileSystem.Open( info.Filename ), info.Transparent ) ); }
public void LoadPalettes(WorldRenderer wr) { var argb = (uint)Color.FromArgb(128, owner.Color.RGB).ToArgb(); wr.AddPalette(info.BaseName + owner.InternalName, new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => i == 0 ? 0 : argb))); }