Beispiel #1
0
        private void LoadColoursFromEditableFiles(string directory)
        {
            int i = 0;

            foreach (string colourDirectory in Directory.EnumerateDirectories(directory, "Colour??"))
            {
                var colour = new CarColour();
                colour.LoadFromEditableFiles(colourDirectory);
                colours[i++] = colour;
            }
        }
Beispiel #2
0
        public void LoadFromGameFile(Stream file, GameFileLayout layout)
        {
            file.Position = layout.ColourCountIndex;
            ushort colourCount = file.ReadUShort();

            for (ushort i = 0; i < colourCount; i++)
            {
                var colour = new CarColour();
                colour.LoadFromGameFile(file, layout, i);
                colours[i] = colour;
            }

            file.Position = layout.BitmapStartIndex + layout.BitmapEmptyFillSize;

            for (ushort y = 0; y < BitmapHeight; y++)
            {
                for (ushort x = 0; x < BitmapWidth; x += 2)
                {
                    byte pixelPair = (byte)file.ReadByte();
                    bitmapData[x, y]     = (byte)(pixelPair & 0xF);
                    bitmapData[x + 1, y] = (byte)(pixelPair >> 4);
                }
            }
        }