internal virtual void ImportBitmap8bpp(Stream iso, string filename) { AbstractSprite sprite = GetAbstractSpriteFromIso(iso); byte[] importBytes = System.IO.File.ReadAllBytes(filename); const int totalPaletteBytes = 512; byte[] originalPaletteBytes = Position.AddOffset(0, totalPaletteBytes - Position.Length).ReadIso(iso); sprite.ImportBitmap8bpp(importBytes, originalPaletteBytes); byte[] sprBytes = sprite.ToByteArray(0); byte[] newPaletteBytes = sprite.GetPaletteBytes(sprite.Palettes, originalPaletteBytes, Palette.ColorDepth._16bit).ToArray(); Array.Copy(newPaletteBytes, sprBytes, totalPaletteBytes); if (sprBytes.Length > Size) { throw new SpriteTooLargeException(sprBytes.Length, (int)Size); } ImportSprite(iso, sprBytes); }
internal override void ImportBitmap8bpp(Stream iso, string filename) { AbstractSprite sprite = GetAbstractSpriteFromIso(iso); byte[] importBytes = System.IO.File.ReadAllBytes(filename); const int totalPaletteBytes = 512; byte[] originalPaletteBytes = Position.AddOffset(0, totalPaletteBytes - Position.Length).ReadIso(iso); sprite.ImportBitmap8bpp(importBytes, originalPaletteBytes); byte[] sprBytes = sprite.ToByteArray(0); if (sprBytes.Length > Size) { throw new SpriteTooLargeException(sprBytes.Length, (int)Size); } //System.IO.File.WriteAllBytes(@"spr8.bin", sprBytes); // DEBUG ImportSprite(iso, sprBytes); for (int i = 0; i < NumChildren; i++) { //System.IO.File.WriteAllBytes(@"sp2_8.bin", sprite.ToByteArray(i + 1)); // DEBUG ImportSp2(iso, sprite.ToByteArray(i + 1), i); } }