home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 March / Gamestar_71_2005-03_dvd.iso / Dema / uefacl20042005_demo.exe / data / cmn / be / motion.big / anmstruc.txt < prev    next >
Text File  |  2004-11-25  |  12KB  |  634 lines

  1. EA::Math::Matrix44, 16
  2. {
  3.     f32 m[16];
  4. }
  5.  
  6. EA::Math::Vector3, 16
  7. {
  8.     f32 v[3];
  9. }
  10.  
  11. EA::Math::Vector4, 16
  12. {
  13.     f32 v[4];
  14. }
  15.  
  16. EA::Math::Quaternion, 16
  17. {
  18.     f32 v[4];
  19. }
  20.  
  21. EaglAnim::ConstructInfo_0
  22. {
  23.     void *mDataImage;
  24.     String mHeaderType;
  25.     i32 mTotalSize;
  26.     i16 mDataSize;
  27.     i16 mHeaderSize;
  28.     i16 mPatternSize;
  29.     i16 mPatternNumRepeats;
  30.     i16 mNumStrings;
  31.     i16 mNumInternalPtrs;
  32.     i16 mNumExternalPtrs;
  33.     i16 mNumChildPtrs;
  34.     i16 StringOffsets[mNumStrings];
  35.     i16 InternalPtrOffsets[mNumInternalPtrs];
  36.     i16 ExternalPtrOffsets[mNumExternalPtrs];
  37.     i16 ChildPtrOffsets[mNumChildPtrs];
  38. }
  39.  
  40. EaglAnim::ObjectInfo_0
  41. {
  42.     i16 mFlags;
  43.     i16 mNumChildren;
  44. }
  45.  
  46. EaglAnim::AnimObject_0, 16
  47. {
  48.     String mType;
  49.     ObjectInfo *mObjectInfo;
  50. }
  51.  
  52. EaglAnim::Skeleton_0, 64
  53. {
  54.     EaglAnim::AnimObject_0 Base;
  55.     i16 mSignature;
  56.     i16 mNumBones;
  57.     i16 *mParentBoneIds;
  58.     i8 mPad[48];
  59.     EA::Math::Matrix44 InvBaseMatrices[mNumBones];
  60.     i16 ParentBoneIds[mNumBones];
  61. }
  62.  
  63. EaglAnim::DofRange_0
  64. {
  65.     i16 mStartIdx;
  66.     i16 mNumValues;
  67. }
  68.  
  69. EaglAnim::DofMask_0
  70. {
  71.     i16 mNumTypes;
  72.     i16 mTotalNumRanges;
  73.     i16 RangeIdxs[mNumTypes];
  74.     EaglAnim::DofRange_0 Ranges[mTotalNumRanges];
  75. }
  76.  
  77. EaglAnim::BoneDofMap_0
  78. {
  79.     i16 mType;
  80.     i16 mSIdx;
  81.     i16 mQIdx;
  82.     i16 mTIdx;
  83. }
  84.  
  85. EaglAnim::PoseDofMap_0, 16
  86. {
  87.     i16 mNumBones;
  88.     i16 mNumDofs;
  89.     i16 mNumRanges;
  90.     i16 mStaticPoseSize;
  91.     float *mStaticPoseBuffer;
  92.     BoneDofMap *mBoneDofMap;
  93.     i16 *mMirrorDofMap;
  94.     PoseBufferRange *mPoseBufferRanges;
  95.     DofMask *mDofMask;
  96.     i32 mPad;
  97.     EA::Math::Vector4 StaticPoseBuffer[mStaticPoseSize];
  98.     EaglAnim::BoneDofMap_0 BoneDofMap[mNumBones];
  99.     i16 MirrorDofMap[mNumDofs];
  100.     i16 PoseBufferRanges[mNumRanges];
  101.     EaglAnim::DofMask_0 DofMask;
  102. }
  103.  
  104. EaglAnim::Pose_0, 16
  105. {
  106.     EaglAnim::AnimObject_0 Base;
  107.     i16 mSignature;
  108.     i16 mPoseBufferSize;
  109.     PoseDofMap *mPoseDofMap;
  110.     EA::Math::Vector4 PoseBuffer[mPoseBufferSize];
  111. }
  112.  
  113. EaglAnim::MatricesObjectHeader_0, 64
  114. {
  115.     EaglAnim::AnimObject_0    Base;
  116.     i32                        mNumMatrices;
  117.     i32                        mPad[13];
  118. }
  119.  
  120. EaglAnim::MatricesObject_0, 64
  121. {
  122.     EaglAnim::MatricesObjectHeader_0 Header;
  123.     EA::Math::Matrix44 Matrices[Header.mNumMatrices];
  124. }
  125.  
  126. EaglAnim::DictEntry_0
  127. {
  128.     String mName;
  129.     i32 mId;
  130. }
  131.  
  132. EaglAnim::Dictionary_0, 16
  133. {
  134.     EaglAnim::AnimObject_0 Base;
  135.     i32 mNumEntries;
  136.     EaglAnim::DictEntry_0 Entries[mNumEntries];
  137. }
  138.  
  139. EaglAnim::Animation_0, 16
  140. {
  141.     EaglAnim::AnimObject_0 Base;
  142.     i16 mSignature;
  143.     i16 mEndFrame;
  144. }
  145.  
  146. EaglAnim::RawAnim_0, 16
  147. {
  148.     EaglAnim::Animation_0 Base;
  149.     i16 *mTimes;
  150.     i16 *mDofIndices;
  151.     i16 mNumKeys;
  152.     i16 mNumQs;
  153.     i16 mNumT3s;
  154.     i16 mNumS3s;
  155.     i16 mNumT1s;
  156.     i16 mNumS1s;
  157.     i32 mNumFloatData;
  158.     i8 mCycle;
  159.     i8 mPadding[11];
  160.     f32 FloatData[mNumFloatData];
  161. }
  162.  
  163. // We never write a plugin out to an EBO file but we need an chunk definition
  164. // to be able to add an import of this type.
  165. EaglAnim::EvalPlugin_0
  166. {
  167.     String mEvalType;
  168.     ptr mInitHandler;
  169.     ptr mUninitHandler;
  170.     ptr mEvaluateHandler;
  171.     ptr mFieldChangedHandler;
  172.     i32 mNumFields;
  173.     FieldInfo *mFieldInfo;
  174. }
  175.  
  176. EaglAnim::ExternalVariable_0
  177. {
  178.     String mType;
  179.     String mName;
  180.     AssetName mAssetName;
  181.     i32 mData;
  182.     i32 mVariable;
  183. }
  184.  
  185. // Evaluator inherits from EaglCore::DataObject, but since we don't have a
  186. // definition for it we repeat the inherited fields here.
  187. EaglAnim::Evaluator_0, 16
  188. {
  189.     String mType;
  190.     void *mUserData;
  191.     i32 mNumExternalVariables;
  192.     ptr mGetExternalVariableHandler;
  193.     ptr mEvaluateHandler;
  194.     i32 mFlags;
  195. }
  196.  
  197. EaglAnim::BlendPosesEval_0, 16
  198. {
  199.     EaglAnim::Evaluator_0 Base;
  200.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  201. }
  202.  
  203. EaglAnim::BlendAnimsEval_0, 16
  204. {
  205.     EaglAnim::Evaluator_0 Base;
  206.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  207. }
  208.  
  209. EaglAnim::SkelAnimCacheEval_0, 16
  210. {
  211.     EaglAnim::Evaluator_0 Base;
  212.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  213.     i32 mCacheSize;
  214.     i8 Cache[mCacheSize];
  215. }
  216.  
  217. EaglAnim::PoseToMatricesEval_0, 16
  218. {
  219.     EaglAnim::Evaluator_0 Base;
  220.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  221. }
  222.  
  223. EaglAnim::SkelMatricesEval_0, 16
  224. {
  225.     EaglAnim::Evaluator_0 Base;
  226.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  227. }
  228.  
  229. EaglAnim::BonePosEval_0, 16
  230. {
  231.     EaglAnim::Evaluator_0 Base;
  232.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  233.     ptr mPose;
  234.     ptr mMatrices;
  235.     ptr mCacheAnim;
  236.     ptr mCacheQuery;
  237.     ptr mSkelAnimEval;
  238.     ptr mPoseToMatricesEval;
  239.     EA::Math::Matrix44 mCacheInvRefMatrix;
  240.     f32 mCacheRefTime;
  241.     i32 mPTMMode;
  242.     i8  mCacheMirror;
  243. }
  244.  
  245. EaglAnim::Event_0, 4
  246. {
  247.     i16    mEventId;
  248.     i16    mCsisCrc;
  249.     i16    mTriggerFrame;
  250.     i16    mNumParams;
  251.     i32    mParams[6];    
  252. }
  253.  
  254. EaglAnim::EventBitPackAnimEval_0, 16
  255. {
  256.     EaglAnim::Evaluator_0 Base;
  257.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  258.     i16                    mSearchKey;            
  259.     EaglAnim::Event_0    mEvent;                
  260. }
  261.  
  262. EaglAnim::BonePosQuery_0
  263. {
  264.     i16 mRefBone;
  265.     i16 mNumQueryBones;
  266.     i16 *mQueryBones;
  267.     i16 *mQueryDofs;
  268.     EaglAnim::DofMask_0 *mRefBoneMask;
  269.     EaglAnim::DofMask_0 *mRootToRefBoneMask;
  270.     EaglAnim::DofMask_0 *mAllBonesMask;
  271.     EaglAnim::DofMask_0 *mRootToAllBonesMask;
  272.     EaglAnim::DofMask_0 *mRootToAllQueryBonesMask;
  273.     EaglAnim::DofMask_0 *mRefBoneToAllQueryBonesMask;
  274. }
  275.  
  276. EaglAnim::Indices_0
  277. {
  278.     i16 mNumIndices;
  279.     i16 mIndices[mNumIndices];
  280. }
  281.  
  282. EaglAnim::TimeData_0
  283. {
  284.     i8 mCycle;
  285.     i8 mFlag;
  286.     i16 mNumKeysMinus1;
  287.     i16 mKeyTimes[mNumKeysMinus1];
  288. }
  289.  
  290. EaglAnim::AnimData_0
  291. {
  292.     EaglAnim::Indices *mIndices;
  293. }
  294.  
  295. EaglAnim::DeltaQAnimData::RangeDecompressed_0
  296. {
  297.     f32 mMin;
  298.     f32 mMultiplier;
  299.     f32    mPad[2];    
  300. }
  301.  
  302. EaglAnim::DeltaQAnimData::Range_0
  303. {
  304.     i8 mMin;
  305.     i8 mMultiplier;
  306. }
  307.  
  308. EaglAnim::DeltaQAnimData::PhysicalValue_0
  309. {
  310.     i16 mValue[3];
  311. }
  312.  
  313. EaglAnim::DeltaQAnimData::DeltaValue6_0
  314. {
  315.     i8 mValue[3];
  316. }
  317.  
  318. EaglAnim::DeltaQAnimData::DeltaValue4_0
  319. {
  320.     i16 mValue;
  321. }
  322.  
  323. EaglAnim::DeltaQAnimData_0
  324. {
  325.     EaglAnim::AnimData_0 Base;
  326.     i16 mNumRanges;
  327.     i16 mNumPhysicalValues;
  328.     i16 mNumDeltaValues6;
  329.     i16 mBinLengthPower;
  330.     i16 mNumRanges4;            
  331.     i16 mNumDeltaValues4;    
  332.     EaglAnim::DeltaQAnimData::Range_0 mRanges[mNumRanges];
  333.     EaglAnim::DeltaQAnimData::PhysicalValue_0 mPhysicalValues[mNumPhysicalValues];
  334.     EaglAnim::DeltaQAnimData::DeltaValue4_0 mDeltaValues4[mNumDeltaValues4];
  335.     EaglAnim::DeltaQAnimData::DeltaValue6_0 mDeltaValues6[mNumDeltaValues6];
  336. }
  337.  
  338. EaglAnim::EventBitPackAnimData::EventMetaData_0
  339. {
  340.     i16    mCsisCrc;
  341.     i16    mEvendIdAndNumParams;
  342.     i32    mParamNumBits;    
  343. }
  344.  
  345. EaglAnim::EventBitPackAnimData_0
  346. {
  347.     i16    mNumEvents;
  348.     i16    mEventIdNumBits;    
  349.     i16    mNumKeysPlusOne;
  350.     i16    mBitPackBufferSize;    
  351.     EaglAnim::EventBitPackAnimData::EventMetaData_0    mEventMetaData[mNumEvents];
  352.     i16    mKeyBitIndices[mNumKeysPlusOne];    
  353.     i8    mBitPackBuffer[mBitPackBufferSize];
  354. }
  355.  
  356. EaglAnim::DeltaQConstData_0
  357. {
  358.     EaglAnim::AnimData_0 Base;
  359.     i16 mNumRanges;
  360.     i16 mPad;
  361.     EaglAnim::DeltaQAnimData::PhysicalValue_0 mPhysicalValues[mNumRanges];
  362. }
  363.  
  364. EaglAnim::DeltaF1AnimData::RangeDecompressed_0
  365. {
  366.     f32 mMin;
  367.     f32 mMultiplier;
  368. }
  369.  
  370. EaglAnim::DeltaF1AnimData::Range_0
  371. {
  372.     i16 mMin;
  373.     i16 mMultiplier;
  374. }
  375.  
  376. EaglAnim::DeltaF1AnimData::PhysicalValue_0
  377. {
  378.     i16 mValue;
  379. }
  380.  
  381. EaglAnim::DeltaF1AnimData::DeltaValue_0
  382. {
  383.     i8 mValue;
  384. }
  385.  
  386. EaglAnim::DeltaF1AnimData_0
  387. {
  388.     EaglAnim::AnimData_0 Base;
  389.     i16 mNumRanges;
  390.     i16 mNumPhysicalValues;
  391.     i16 mNumDeltaValues;
  392.     i16 mBinLengthPower;
  393.     EaglAnim::DeltaF1AnimData::RangeDecompressed_0 mPhysicalRanges[mNumRanges];
  394.     EaglAnim::DeltaF1AnimData::Range_0 mDeltaRanges[mNumRanges];
  395.     EaglAnim::DeltaF1AnimData::PhysicalValue_0 mPhysicalValues[mNumPhysicalValues];
  396.     EaglAnim::DeltaF1AnimData::DeltaValue_0 mDeltaValues[mNumDeltaValues];
  397. }
  398.  
  399. EaglAnim::DeltaF1ConstData_0
  400. {
  401.     EaglAnim::AnimData_0 Base;
  402.     i16 mNumRanges;
  403.     i16 mPad;
  404.     f32 mPhysicalValues[mNumRanges];
  405. }
  406.  
  407. EaglAnim::SkelAnim_0, 16
  408. {
  409.     EaglAnim::Animation_0 Base;
  410.     EaglAnim::TimeData_0 *mTimeData;
  411.     void *mQData;
  412.     void *mTData;
  413.     void *mSData;
  414.     void *mQConstData;
  415.     void *mTConstData;
  416.     void *mSConstData;
  417. }
  418.  
  419. EaglAnim::EventAnim_0, 16
  420. {
  421.     EaglAnim::Animation_0 Base;
  422.     EaglAnim::TimeData_0 *mTimeData;
  423.     void *mEventData;
  424. }
  425.  
  426. EaglAnim::EvalInitData_0
  427. {
  428.     String mType;
  429.     EvalPlugin *mPlugin;
  430. }
  431.  
  432. EaglAnim::EvalSwitchTableEntry_0
  433. {
  434.     String mEvalId;
  435.     EvalInitData *mInitData;        
  436. }
  437.  
  438. EaglAnim::EvalSwitchData_0
  439. {
  440.     i32 mNumEvals;
  441.     EaglAnim::EvalSwitchTableEntry_0 EntryTable[mNumEvals];
  442. }
  443.  
  444. EaglAnim::SkelDeltaAnimEvalInitData_0
  445. {
  446.     EaglAnim::EvalInitData_0 Base;
  447.     i16 mMaxChannels;
  448.     i16 mNumMaxAnimQs;
  449.     i16 mNumMaxAnimTs;
  450.     i16 mNumMaxAnimSs;
  451.     i32 mPoseCheckSum;
  452. }
  453.  
  454. EaglAnim::RawAnimEvalInitData_0
  455. {
  456.     EaglAnim::EvalInitData_0 Base;
  457.     i32    mPoseCheckSum;
  458.     i16    mMaxChannels;
  459. }
  460.  
  461. EaglAnim::UserObject_0, 16
  462. {
  463.     EaglAnim::AnimObject_0 Base;
  464.     i16 mCheckSum;
  465.     i16 mSubclassSize;
  466.     i32 mFieldFlags;
  467.     i8 SubclassData[mSubclassSize];
  468. }
  469.  
  470. EaglAnim::UserAnim_0, 16
  471. {
  472.     EaglAnim::Animation_0 Base;
  473.     EaglAnim::TimeData_0 *mTimeData;
  474.     void *mQData;
  475.     void *mF1Data;
  476.     void *mQConstData;
  477.     void *mF1ConstData;
  478.     i32 mFlag;
  479. }
  480.  
  481. EaglAnim::UserDeltaAnimEval_0, 16
  482. {
  483.     EaglAnim::Evaluator_0 Base;
  484.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  485.     
  486.     i16 mCurrentKeyBefore;
  487.     i16    mCurrentKeyAfter;
  488.     i16    mPrevKeyBefore;
  489.     i16    mPrevKeyAfter;
  490.  
  491.     i16    mNumMaxAnimQs;
  492.     i16    mNumMaxAnimF1s;
  493.  
  494.     ptr mPrevAnim;
  495.  
  496.     ptr mQCache[2];
  497.     ptr mF1Cache[2];
  498.     
  499.     i32 mCacheSize;
  500.     i8    mPadding[8];
  501.     i8 Cache[mCacheSize];
  502. }
  503.  
  504. EaglAnim::UserDeltaAnimEvalInitData_0
  505. {
  506.     EaglAnim::EvalInitData_0 Base;
  507.     i16 mNumMaxAnimQs;
  508.     i16 mNumMaxAnimF1s;
  509.     i16 mUserStructCheckSum;
  510.     i8    mPadding[2];
  511. }
  512.  
  513. EaglAnim::MorphAnim_0, 16
  514. {
  515.     EaglAnim::Animation_0 Base;
  516.     EaglAnim::TimeData_0 *mTimeData;
  517.     void *mWeightData;
  518. }
  519.  
  520. EaglAnim::MorphAnimCacheEval_0, 16
  521. {
  522.     EaglAnim::Evaluator_0 Base;
  523.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  524.     i32 mCacheSize;
  525.     i8 Cache[mCacheSize];
  526. }
  527.  
  528. EaglAnim::UserAttribute_0, 16
  529. {
  530.     EaglAnim::AnimObject_0 Base;
  531.     i16    mCheckSum;
  532.     i16    mNumFloats;
  533.     i16    mNumInts;
  534.     i16    mNumStrings;
  535.     i16    mNumIndices;
  536.     i8    mPadding[2];
  537.     i32    mFlag;
  538.  
  539.     f32    float_data[mNumFloats];
  540.     i32    int_data[mNumInts];
  541.     String strings[mNumStrings];
  542.     i16 indices[mNumIndices];
  543. }
  544.  
  545. EaglAnim::UserAttributeEval_0, 16
  546. {
  547.     EaglAnim::Evaluator_0 Base;
  548.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  549. }
  550.  
  551. EaglAnim::IkEval_0, 16
  552. {
  553.     EaglAnim::Evaluator_0 Base;
  554.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  555. }
  556.  
  557. EaglAnim::IkChain_0, 16
  558. {    
  559.     i16    mType;
  560. }
  561.  
  562. EaglAnim::OneBoneBallIkChain_0, 16
  563. {
  564.     EaglAnim::IkChain_0    Base;
  565.     i16                    mBone;
  566.     f32                    mB;
  567.     f32                    mOriginLen2;
  568.     i32                    mPad;
  569.     EA::Math::Vector4    mDir;
  570.     EA::Math::Vector4    mOrigin;
  571. }
  572.  
  573. EaglAnim::TwoBoneBallHangeIkChain_0, 16
  574. {
  575.     EaglAnim::IkChain_0    Base;
  576.     i16                    mBeginBone;
  577.     i16                    mHingeBone;
  578.     i16                    mEndBone;
  579.     f32                    mABC2;    
  580.     f32                    m2AB;    
  581.     EA::Math::Vector4    mHinge;    
  582.     EA::Math::Vector4    mPoleVector;    
  583.     EA::Math::Quaternion mPreRotateQ;    
  584.     EA::Math::Vector4    mRotateAxis;    
  585.     EA::Math::Vector4    mContact;    
  586. }
  587.  
  588. EaglAnim::Ik_0, 16
  589. {
  590.     i16            mSkeletonSignature;
  591.     i16            mNumIkChains;
  592.     i16            mNumTwoBoneBallHangeIkChains;
  593.     i16            mNumOneBoneBallIkChains;
  594.     i8            *mPriorityIndices;
  595.     i32            mPad;        
  596.     EaglAnim::TwoBoneBallHangeIkChain_0    mTwoBoneBallHangeIkChains[mNumTwoBoneBallHangeIkChains];
  597.     EaglAnim::OneBoneBallIkChain_0        mOneBoneBallIkChains[mNumOneBoneBallIkChains];    
  598.     i8            mPriorityIndices[mNumIkChains];
  599. }
  600.  
  601. EaglAnim::RootAnim::PosCompressed_0
  602. {
  603.     i16            mX;
  604.     i16            mZ;
  605. }
  606.  
  607. EaglAnim::RootAnim::FacingCompressed_0
  608. {
  609.     i16            mValue;
  610. }
  611.  
  612. EaglAnim::RootAnim_0, 16
  613. {
  614.     EaglAnim::Animation_0                    Base;
  615.     f32                                        mInvertStep;
  616.     f32                                        mPosScale;
  617.     i16                                        mNumCompressedFrames;
  618.     i8                                        mPad[2];
  619.     EaglAnim::RootAnim::PosCompressed_0        mPositions[mNumCompressedFrames];
  620.     EaglAnim::RootAnim::FacingCompressed_0    mFacings[mNumCompressedFrames];
  621. }
  622.  
  623. EaglAnim::RootPosEval_0, 16
  624. {
  625.     EaglAnim::Evaluator_0 Base;
  626.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  627. }
  628.  
  629. EaglAnim::RootFacingEval_0, 16
  630. {
  631.     EaglAnim::Evaluator_0 Base;
  632.     EaglAnim::ExternalVariable_0 mExternalVariables[Base.mNumExternalVariables];
  633. }
  634.