void IResData.Save(BfshaFileSaver saver) { // PreSave(); Version = SaveVersion(); saver.WriteSignature(_signature); saver.Write(0x20202020); saver.Write(Version); saver.Write(ByteOrder, true); saver.Write((byte)Alignment); saver.Write((byte)TargetAddressSize); saver.SaveFileNameString(Name); saver.Write((ushort)Flag); saver.SaveHeaderBlock(true); saver.SaveRelocationTablePointerPointer(); saver.SaveFieldFileSize(); saver.Write(new byte[64]); //GRSC saver.WriteSignature(_grscSignature); saver.SaveHeaderBlock(); saver.Write(Unknown); saver.Write(Unknown2); saver.Write(Unknown3); saver.Write(Unknown4); saver.Write(ShaderVariations.Count); shaderVariationArrayOffset = saver.SaveOffset(); saver.Write(0L); saver.Write(Unknown5); saver.Write(new byte[40]); //reserved }