public void WriteBinaryData(BinaryWriter writer) { writer.Write(mVersion); //mVersion [4 bytes] writer.Write(mSamplerState_BlockSize); //mSamplerState Block Size [4 bytes] writer.Write(mSamplerState.mData); //mSamplerState mData [4 bytes] writer.Write(mPlatform_BlockSize); //mPlatform Block Size [4 bytes] writer.Write((int)mPlatform); //mPlatform [4 bytes] writer.Write(mName_BlockSize); //mName Block Size [4 bytes] //mName block size (size + string len) ByteFunctions.WriteString(writer, mName); //mName [x bytes] writer.Write(mImportName_BlockSize); //mImportName Block Size [4 bytes] //mImportName block size (size + string len) ByteFunctions.WriteString(writer, mImportName); //mImportName [x bytes] (this is always 0) writer.Write(mImportScale); //mImportScale [4 bytes] writer.Write(mToolProps.mbHasProps); //mToolProps mbHasProps [1 byte] writer.Write(mNumMipLevels); //mNumMipLevels [4 bytes] writer.Write(mWidth); //mWidth [4 bytes] writer.Write(mHeight); //mHeight [4 bytes] writer.Write((int)mSurfaceFormat); //mSurfaceFormat [4 bytes] writer.Write((int)mResourceUsage); //mResourceUsage [4 bytes] writer.Write((int)mType); //mType [4 bytes] writer.Write(mNormalMapFormat); //mNormalMapFormat [4 bytes] writer.Write(mHDRLightmapScale); //mHDRLightmapScale [4 bytes] writer.Write(mToonGradientCutoff); //mToonGradientCutoff [4 bytes] writer.Write((int)mAlphaMode); //mAlphaMode [4 bytes] writer.Write((int)mColorMode); //mColorMode [4 bytes] writer.Write(mUVOffset.x); //mUVOffset X [4 bytes] writer.Write(mUVOffset.y); //mUVOffset Y [4 bytes] writer.Write(mUVScale.x); //mUVScale X [4 bytes] writer.Write(mUVScale.y); //mUVScale Y [4 bytes] writer.Write(mToonRegions_ArrayCapacity); //mToonRegions DCArray Capacity [4 bytes] writer.Write(mToonRegions_ArrayLength); //mToonRegions DCArray Length [4 bytes] for (int i = 0; i < mToonRegions_ArrayLength; i++) { writer.Write(mToonRegions[i].mColor.r); //[4 bytes] writer.Write(mToonRegions[i].mColor.g); //[4 bytes] writer.Write(mToonRegions[i].mColor.b); //[4 bytes] writer.Write(mToonRegions[i].mColor.a); //[4 bytes] writer.Write(mToonRegions[i].mSize); //[4 bytes] } writer.Write(mStreamHeader.mRegionCount); //mRegionCount [4 bytes] writer.Write(mStreamHeader.mAuxDataCount); //mAuxDataCount [4 bytes] writer.Write(mStreamHeader.mTotalDataSize); //mTotalDataSize [4 bytes] for (int i = 0; i < mStreamHeader.mRegionCount; i++) { writer.Write(mRegionHeaders[i].mFaceIndex); //[4 bytes] writer.Write(mRegionHeaders[i].mMipIndex); //[4 bytes] writer.Write(mRegionHeaders[i].mMipCount); //[4 bytes] writer.Write(mRegionHeaders[i].mDataSize); //[4 bytes] writer.Write(mRegionHeaders[i].mPitch); //[4 bytes] writer.Write(mRegionHeaders[i].mSlicePitch); //[4 bytes] } for (int i = 0; i < mPixelData.Count; i++) { writer.Write(mPixelData[i]); } }
public void WriteBinaryData(BinaryWriter writer) { writer.Write(mVersion); //mVersion [4 bytes] writer.Write(mSamplerState_BlockSize); //mSamplerState Block Size [4 bytes] writer.Write(mSamplerState.mData); //mSamplerState mData [4 bytes] writer.Write(mPlatform_BlockSize); //mPlatform Block Size [4 bytes] writer.Write((int)mPlatform); //mPlatform [4 bytes] writer.Write(mName_BlockSize); //mName Block Size [4 bytes] //mName block size (size + string len) ByteFunctions.WriteString(writer, mName); //mName [x bytes] writer.Write(mImportName_BlockSize); //mImportName Block Size [4 bytes] //mImportName block size (size + string len) ByteFunctions.WriteString(writer, mImportName); //mImportName [x bytes] (this is always 0) writer.Write(mImportScale); //mImportScale [4 bytes] //writer.Write(mToolProps.mbHasProps); //mToolProps mbHasProps [1 byte] writer.Write('0'); writer.Write(mNumMipLevels); //mNumMipLevels [4 bytes] writer.Write(mWidth); //mWidth [4 bytes] writer.Write(mHeight); //mHeight [4 bytes] writer.Write(mDepth); //mDepth [4 bytes] writer.Write(mArraySize); //mArraySize [4 bytes] writer.Write((int)mSurfaceFormat); //mSurfaceFormat [4 bytes] writer.Write((int)mTextureLayout); //mTextureLayout [4 bytes] writer.Write((int)mSurfaceGamma); //mSurfaceGamma [4 bytes] writer.Write((int)mSurfaceMultisample); //mSurfaceMultisample [4 bytes] writer.Write((int)mResourceUsage); //mResourceUsage [4 bytes] writer.Write((int)mType); //mType [4 bytes] writer.Write(mSwizzleSize); //mSwizzleSize [4 bytes] writer.Write(mSwizzle.mSwizzle1); //mSwizzle A [1 byte] writer.Write(mSwizzle.mSwizzle1); //mSwizzle B [1 byte] writer.Write(mSwizzle.mSwizzle1); //mSwizzle C [1 byte] writer.Write(mSwizzle.mSwizzle1); //mSwizzle D [1 byte] writer.Write(mSpecularGlossExponent); //mSpecularGlossExponent [4 bytes] writer.Write(mHDRLightmapScale); //mHDRLightmapScale [4 bytes] writer.Write(mToonGradientCutoff); //mToonGradientCutoff [4 bytes] writer.Write((int)mAlphaMode); //mAlphaMode [4 bytes] writer.Write((int)mColorMode); //mColorMode [4 bytes] writer.Write(mUVOffset.x); //mUVOffset X [4 bytes] writer.Write(mUVOffset.y); //mUVOffset Y [4 bytes] writer.Write(mUVScale.x); //mUVScale X [4 bytes] writer.Write(mUVScale.y); //mUVScale Y [4 bytes] writer.Write(mArrayFrameNames_ArrayCapacity); //mArrayFrameNames DCArray Capacity [4 bytes] writer.Write(mArrayFrameNames_ArrayLength); //mArrayFrameNames DCArray Length [4 bytes] //ADD 1 BECAUSE COUNTING STARTS AT 0 for (int i = 0; i < mArrayFrameNames_ArrayLength; i++) { writer.Write(mArrayFrameNames[i].mCrc64); //Symbol [8 bytes] } writer.Write(mToonRegions_ArrayCapacity); //mToonRegions DCArray Capacity [4 bytes] writer.Write(mToonRegions_ArrayLength); //mToonRegions DCArray Length [4 bytes] for (int i = 0; i < mToonRegions_ArrayLength; i++) { writer.Write(mToonRegions[i].mColor.r); //[4 bytes] writer.Write(mToonRegions[i].mColor.g); //[4 bytes] writer.Write(mToonRegions[i].mColor.b); //[4 bytes] writer.Write(mToonRegions[i].mColor.a); //[4 bytes] writer.Write(mToonRegions[i].mSize); //[4 bytes] } writer.Write(mStreamHeader.mRegionCount); //mRegionCount [4 bytes] writer.Write(mStreamHeader.mAuxDataCount); //mAuxDataCount [4 bytes] writer.Write(mStreamHeader.mTotalDataSize); //mTotalDataSize [4 bytes] for (int i = 0; i < mStreamHeader.mRegionCount; i++) { writer.Write(mRegionHeaders[i].mFaceIndex); //[4 bytes] writer.Write(mRegionHeaders[i].mMipIndex); //[4 bytes] writer.Write(mRegionHeaders[i].mMipCount); //[4 bytes] writer.Write(mRegionHeaders[i].mDataSize); //[4 bytes] writer.Write(mRegionHeaders[i].mPitch); //[4 bytes] writer.Write(mRegionHeaders[i].mSlicePitch); //[4 bytes] } for (int i = 0; i < mPixelData.Count; i++) { writer.Write(mPixelData[i]); } }