예제 #1
0
 void IResData.Save(BfshaFileSaver saver)
 {
     saver.Write((ushort)SourceData.Count);
     saver.Write(new byte[6]); //reserved
     PtrCodeSizesPos   = saver.SaveOffset();
     PtrCodeOffsetsPos = saver.SaveOffset();
     saver.Write(new byte[8]); //reserved
 }
 void IResData.Save(BfshaFileSaver saver)
 {
     saver.Write(new byte[8]); //padding
     PtrCodeOffset1Pos = saver.SaveOffset();
     PtrCodeOffset2Pos = saver.SaveOffset();
     saver.Write(BinaryData[1].Length);
     saver.Write(BinaryData[0].Length);
     saver.Write(new byte[32]); //padding
 }
예제 #3
0
 void IResData.Save(BfshaFileSaver saver)
 {
     saver.WriteSection(ShaderInfoData);
     saver.Write(MemoryData.Length);
     saver.Write(0); //padding
     PtrMemPos = saver.SaveOffset();
     saver.Write(ParentShaderVariation._position);
     PtrRefelctionPos = saver.SaveOffset();
     saver.Write(new byte[32]); //padding
 }
예제 #4
0
        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
        }
예제 #5
0
 void IResData.Save(BfshaFileSaver saver)
 {
     PtrVertexShaderCodePos   = saver.SaveOffset();
     PtrTess0ShaderCodePos    = saver.SaveOffset();
     PtrTess1ShaderCodePos    = saver.SaveOffset();
     PtrGeometryShaderCodePos = saver.SaveOffset();
     PtrPixelShaderCodePos    = saver.SaveOffset();
     PtrComputeShaderCodePos  = saver.SaveOffset();
 }
예제 #6
0
 void IResData.Save(BfshaFileSaver saver)
 {
     saver.Write(Type);
     saver.Write(Format, false);
     saver.Write(new byte[2]); //padding
     saver.Write(CompressionType);
     PtrVertexShaderCodePos                 = saver.SaveOffset();
     PtrTessellatioControlShaderCodePos     = saver.SaveOffset();
     PtrTessellationEvaluationShaderCodePos = saver.SaveOffset();
     PtrGeometryShaderCodePos               = saver.SaveOffset();
     PtrPixelShaderCodePos   = saver.SaveOffset();
     PtrComputeShaderCodePos = saver.SaveOffset();
     saver.Write(new byte[40]); //padding
 }
예제 #7
0
 void IResData.Save(BfshaFileSaver saver)
 {
     saver.Write(CompressedData.Length);
     saver.Write(DecompressedSize);
     PtrCodeOffsetsPos = saver.SaveOffset();
 }