Ejemplo n.º 1
0
        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]);
            }
        }
Ejemplo n.º 2
0
        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]);
            }
        }