aboutsummaryrefslogtreecommitdiff
path: root/mp/src/common/studiobyteswap.cpp
diff options
context:
space:
mode:
authorNarendra Umate <[email protected]>2013-12-08 01:27:41 -0800
committerNarendra Umate <[email protected]>2013-12-08 01:27:41 -0800
commit4fa56874ba1557274c10077bf8386ece4c61dbd6 (patch)
treee2d336604e960b548e996d2e7dcfc5a1e1401b9e /mp/src/common/studiobyteswap.cpp
parentAdded DS_Store to .gitignore. (diff)
parentMake libSDL2.so/dylib into symlinks. (diff)
downloadsource-sdk-2013-4fa56874ba1557274c10077bf8386ece4c61dbd6.tar.xz
source-sdk-2013-4fa56874ba1557274c10077bf8386ece4c61dbd6.zip
Merge remote-tracking branch 'upstream/master'
Reverted .gitattributes xcode_ccache_wrapper change. Fixed line endings for .gitignore and .gitattributes.
Diffstat (limited to 'mp/src/common/studiobyteswap.cpp')
-rw-r--r--mp/src/common/studiobyteswap.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/mp/src/common/studiobyteswap.cpp b/mp/src/common/studiobyteswap.cpp
index d7723d48..0c4e59d8 100644
--- a/mp/src/common/studiobyteswap.cpp
+++ b/mp/src/common/studiobyteswap.cpp
@@ -1915,6 +1915,22 @@ int ByteswapMDLFile( void *pDestBase, void *pSrcBase, const int fileSize )
SET_INDEX_POINTERS_FIXUP( pData, pLinearBone, qalignmentindex )
WriteBuffer<float>( &pDataDest, &pDataSrc, 4*numBones );
}
+
+ /** BONE FLEX DRIVERS **/
+ if ( pStudioHdr2->m_nBoneFlexDriverIndex )
+ {
+ SET_INDEX_POINTERS_FIXUP( pData, pStudioHdr2, m_nBoneFlexDriverIndex )
+ DECLARE_OBJECT_POINTERS( pBoneFlexDriver, pData, mstudioboneflexdriver_t )
+ ITERATE_BLOCK( pBoneFlexDriver, pStudioHdr2->m_nBoneFlexDriverCount )
+ {
+ WriteObjects( pBoneFlexDriverDest, pBoneFlexDriverSrc );
+
+ /** BONE FLEX DRIVER CONTROLS **/
+
+ SET_INDEX_POINTERS_FIXUP( pData, pBoneFlexDriver, m_nControlIndex );
+ WriteObjects< mstudioboneflexdrivercontrol_t >( &pDataDest, &pDataSrc, SrcNative( &pBoneFlexDriver->m_nControlCount ) );
+ }
+ }
}
}
@@ -2516,7 +2532,8 @@ BEGIN_BYTESWAP_DATADESC( studiohdr_t )
DEFINE_INDEX( unused4, FIELD_INTEGER ),
DEFINE_FIELD( numflexcontrollerui, FIELD_INTEGER ),
DEFINE_INDEX( flexcontrolleruiindex, FIELD_INTEGER ),
- DEFINE_ARRAY( unused3, FIELD_INTEGER, 2 ),
+ DEFINE_FIELD( flVertAnimFixedPointScale, FIELD_FLOAT ),
+ DEFINE_ARRAY( unused3, FIELD_INTEGER, 1 ),
DEFINE_INDEX( studiohdr2index, FIELD_INTEGER ),
DEFINE_ARRAY( unused2, FIELD_INTEGER, 1 ),
END_BYTESWAP_DATADESC()
@@ -2530,7 +2547,9 @@ BEGIN_BYTESWAP_DATADESC( studiohdr2_t )
DEFINE_FIELD( flMaxEyeDeflection, FIELD_FLOAT ),
DEFINE_INDEX( linearboneindex, FIELD_INTEGER ),
DEFINE_INDEX( sznameindex, FIELD_INTEGER ),
- DEFINE_ARRAY( reserved, FIELD_INTEGER, 58 ),
+ DEFINE_INDEX( m_nBoneFlexDriverCount, FIELD_INTEGER ),
+ DEFINE_INDEX( m_nBoneFlexDriverIndex, FIELD_INTEGER ),
+ DEFINE_ARRAY( reserved, FIELD_INTEGER, 56 ),
END_BYTESWAP_DATADESC()
BEGIN_BYTESWAP_DATADESC( mstudiobone_t )
@@ -2567,6 +2586,20 @@ BEGIN_BYTESWAP_DATADESC( mstudiolinearbone_t )
DEFINE_ARRAY( unused, FIELD_INTEGER, 6 ),
END_BYTESWAP_DATADESC()
+BEGIN_BYTESWAP_DATADESC( mstudioboneflexdrivercontrol_t )
+ DEFINE_INDEX( m_nBoneComponent, FIELD_INTEGER ),
+ DEFINE_FIELD( m_nFlexControllerIndex, FIELD_INTEGER ),
+ DEFINE_INDEX( m_flMin, FIELD_FLOAT ),
+ DEFINE_INDEX( m_flMax, FIELD_FLOAT ),
+END_BYTESWAP_DATADESC()
+
+BEGIN_BYTESWAP_DATADESC( mstudioboneflexdriver_t )
+ DEFINE_INDEX( m_nBoneIndex, FIELD_INTEGER ),
+ DEFINE_FIELD( m_nControlCount, FIELD_INTEGER ),
+ DEFINE_INDEX( m_nControlIndex, FIELD_FLOAT ),
+ DEFINE_ARRAY( unused, FIELD_INTEGER, 3 ),
+END_BYTESWAP_DATADESC()
+
BEGIN_BYTESWAP_DATADESC( mstudioaxisinterpbone_t )
DEFINE_FIELD( control, FIELD_INTEGER ),
DEFINE_FIELD( axis, FIELD_INTEGER ),