public override void OnRebuild(VoidPtr address, int length, bool force) { PLT0v1 *header = (PLT0v1 *)address; *header = new PLT0v1(Palette.Entries.Length, _format); TextureConverter.EncodePalette(address + 0x40, Palette, _format); }
public static FileMap EncodePLT0Palette(ColorPalette pal, WiiPaletteFormat format) { FileMap fileView = FileMap.FromTempFile((pal.Entries.Length * 2) + 0x40); try { PLT0v1 *header = (PLT0v1 *)fileView.Address; * header = new PLT0v1(pal.Entries.Length, format); EncodePalette(fileView.Address + 0x40, pal, format); return(fileView); } catch (Exception x) { fileView.Dispose(); throw; //MessageBox.Show(x.ToString()); //fileView.Dispose(); //return null; } }