Advertisement
Guest User

mot.65 file

a guest
Mar 24th, 2020
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.85 KB | None | 0 0
  1. //------------------------------------------------
  2. //--- 010 Editor v9.0 Binary Template
  3. //
  4. //      File:
  5. //   Authors:
  6. //   Version:
  7. //   Purpose:
  8. //  Category:
  9. // File Mask:
  10. //  ID Bytes:
  11. //   History:
  12. //------------------------------------------------
  13.  
  14. LittleEndian();
  15.  
  16. typedef struct {
  17.         float  x;
  18.         float  y;
  19.         float  z;
  20.         float  w;
  21. } Vector4<read=vectorRead>;
  22. string vectorRead( Vector4 &value ) {
  23.     string s;
  24.     SPrintf(s, "x: %f, y: %f, z: %f, w: %f", value.x, value.y, value.z, value.w);
  25.     return s;
  26. }
  27.  
  28. typedef struct
  29. {
  30.     //int64 pos = FTell();
  31.     uint64 boneName;
  32.     uint64 parentBoneNamePtr;
  33.     uint64 firstChildBoneNamePtr;
  34.     uint64 lastChildBoneNamePtr;
  35.     Vector4 position;
  36.     Vector4 rotation;
  37.     int boneID;
  38.     int boneHash;
  39.     uint64 null;
  40.    
  41.     local uint64 pos = FTell();
  42.     if(boneName){
  43.         FSeek(boneName);
  44.         wstring boneNameStr;
  45.     }
  46.     if(parentBoneNamePtr){
  47.         FSeek(parentBoneNamePtr);
  48.         wstring parentBoneNameStr;
  49.     }
  50.     if(firstChildBoneNamePtr){
  51.         FSeek(firstChildBoneNamePtr);
  52.         wstring firstChildBoneNameStr;
  53.     }
  54.     if(lastChildBoneNamePtr){
  55.         FSeek(lastChildBoneNamePtr);
  56.         wstring lastChildBoneNameStr;
  57.     }
  58.     FSeek(pos);
  59. } REMotionBone;
  60.  
  61. typedef struct
  62. {
  63.     Vector4 min;
  64.     Vector4 max;
  65. } REMimMaxBounds;
  66.  
  67. typedef struct
  68. {
  69.     int flags;
  70.     int numFrames;
  71.     int framesPerSecond;
  72.     float duration;
  73.     uint64 frames;
  74.     uint64 controlPoints;
  75.     uint64 minMaxBounds;
  76.     local uint64 pos = FTell();
  77.     FSeek(frames);
  78.     uchar framesVal;
  79.     FSeek(controlPoints);
  80.     char controlPointsVal;
  81.     if(minMaxBounds){
  82.         FSeek(minMaxBounds);
  83.         REMimMaxBounds minMaxBoundsVal;
  84.     }
  85.     FSeek(pos);
  86. } RETrackCurve;
  87.  
  88. typedef struct
  89. {
  90.     short unk;
  91.     enum <short> TrackType { TrackType_Position, TrackType_Rotation, TrackType_Scale } usedCurves;
  92.     int boneHash;
  93.     float weight;
  94.     int unk;
  95.     uint64 curves;
  96.     local uint64 pos = FTell();
  97.     FSeek(curves);
  98.     RETrackCurve trackCurve;
  99.     FSeek(pos);
  100. } REMotionTrack;
  101.  
  102.  
  103. typedef struct
  104. {
  105.     uint64 ptr;
  106.     int numItems;
  107. } REArray;
  108.  
  109. uint assetID;
  110. typedef char ID[4];
  111. ID assetFourCC;
  112. //uint assetFourCC;
  113.  
  114. uint64 assetFourCC;
  115. uint64 bonesOffset;
  116. uint64 tracksOffset;
  117. uint64 null[5];
  118. uint64 unkOffset02;
  119. uint64 animationName;
  120. local uint64 pos = FTell();
  121. FSeek(animationName);
  122. wstring animationNameStr <fgcolor=cRed>;
  123. FSeek(pos);
  124.  
  125. float intervals[4];
  126. short numBones;
  127. short numTracks;
  128. short numUNK00;
  129. short framesPerSecond;
  130. short unks00[2];
  131.  
  132. FSeek(bonesOffset);
  133.  
  134. typedef struct {
  135.     REMotionBone bones[boneArray.numItems] <optimize=false>;
  136. } REMotionBones;
  137.  
  138. REArray boneArray;
  139. FSeek(boneArray.ptr);
  140. REMotionBones bones <fgcolor=cGreen>;
  141. FSeek(tracksOffset);
  142. REMotionTrack tracks <fgcolor=cBlue>;
  143. //uint64 assetFourCC;
  144. //wstring str2;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement