protected void RebuildPaletteData() { if (this.Palette.Length != 60) { paletteData = new byte[this.Palette.Length * 2]; } else { paletteData = new byte[this.Palette.Length * 2 + 4]; // F652 7603 paletteData[120] = 0xF6; paletteData[121] = 0x52; paletteData[122] = 0x76; paletteData[123] = 0x03; } this.PaletteDataLength = (ushort)paletteData.Length; for (int i = 0; i < this.Palette.Length; i++) { var bytes = SpriteUtilities.GetBytesFromColor(this.Palette[i]); paletteData[i * 2] = bytes[0]; paletteData[i * 2 + 1] = bytes[1]; } if (this.Palette.Length == 62 && this.Palette[60] == Color.Black) { paletteData[120] = 0xF6; paletteData[121] = 0x52; paletteData[122] = 0x76; paletteData[123] = 0x03; } }
void UpdateRawFromPalette() { this.rawPalette = new byte[this.palette.Length * 2]; for (int i = 0; i < this.palette.Length; i++) { var rawBytes = SpriteUtilities.GetBytesFromColor(this.palette[i]); this.rawPalette[i * 2] = rawBytes[0]; this.rawPalette[i * 2 + 1] = rawBytes[1]; } }