Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        protected virtual void RebuildPalette()
        {
            int numberOfPalettes = PaletteData.Length / 2;

            Palette = new Color[numberOfPalettes];

            for (int i = 0; i < numberOfPalettes; i++)
            {
                Palette[i] = SpriteUtilities.GetColorFromBytes(PaletteData[i * 2], PaletteData[i * 2 + 1]);
            }
        }
Exemplo n.º 3
0
        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];
            }
        }
Exemplo n.º 4
0
        void UpdatePaletteFromRaw()
        {
            int startIndex = 0;
            int length     = rawPalette.Length == 30 ? 16 : rawPalette.Length / 2;

            this.palette = new Color[length];

            if (rawPalette.Length == 30)
            {
                this.palette[0] = Color.FromArgb(0, 0, 0);
                startIndex      = 1;
            }

            for (int i = startIndex; i < this.palette.Length; i++)
            {
                this.palette[i] = SpriteUtilities.GetColorFromBytes(this.rawPalette[(i - startIndex) * 2], this.rawPalette[(i - startIndex) * 2 + 1]);
            }
        }