// Convert the texture to a bitmap public override Bitmap Unpack(ref Stream data) { try { SvrTexture TextureInput = new SvrTexture(data.Copy()); if (TextureInput.NeedsExternalClut()) { if (PaletteData != null) TextureInput.SetClut(new SvpClut(PaletteData.Copy())); // Texture has an external clut; set it else throw new GraphicFormatNeedsPalette(); // Texture needs an external clut; throw an exception } return TextureInput.GetTextureAsBitmap(); } catch (GraphicFormatNeedsPalette) { throw new GraphicFormatNeedsPalette(); // Throw it again } catch { return null; } finally { PaletteData = null; } }