public void Save(TextureFormat texture, Stream outFormatData) { TIM2Segment segment = texture as TIM2Segment; if (segment == null) { throw new TextureFormatException("Not A valid TIM2Segment!"); } byte[] imageData = segment.GetImageData(); byte[] paletteData = segment.GetPaletteData(); TIM2Segment.TIM2SegmentParameters parameters = segment.GetParameters(); //write header WriteHeader(parameters, outFormatData, imageData, paletteData); outFormatData.Write(imageData, 0, imageData.Length); outFormatData.Write(paletteData, 0, paletteData.Length); }
private void Writemetadata(TIM2Segment segment, MetadataWriter metadata, string basename) { metadata.BeginSection("TIM2Texture"); metadata.PutAttribute("Basename", basename); metadata.PutAttribute("Cluts", segment.PalettesCount); metadata.PutAttribute("LinearClut", segment.GetParameters().linearPalette); metadata.Put("Width", segment.GetParameters().width); metadata.Put("Height", segment.GetParameters().height); metadata.Put("Bpp", segment.GetParameters().bpp); metadata.Put("ColorSize", segment.GetParameters().colorSize); metadata.Put("MipmapCount", segment.GetParameters().mipmapCount); metadata.Put("Format", segment.GetParameters().format); metadata.Put("GsTEX0", segment.GetParameters().GsTEX0); metadata.Put("GsTEX1", segment.GetParameters().GsTEX1); metadata.Put("GsRegs", segment.GetParameters().GsRegs); metadata.Put("GsTexClut", segment.GetParameters().GsTexClut); metadata.Put("UserData", segment.GetParameters().userdata); metadata.EndSection(); }