Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //------------------------------------------------
- //--- 010 Editor v9.0 Binary Template
- //
- // File:
- // Authors:
- // Version:
- // Purpose:
- // Category:
- // File Mask:
- // ID Bytes:
- // History:
- //------------------------------------------------
- LittleEndian();
- typedef struct {
- float x;
- float y;
- float z;
- float w;
- } Vector4<read=vectorRead>;
- string vectorRead( Vector4 &value ) {
- string s;
- SPrintf(s, "x: %f, y: %f, z: %f, w: %f", value.x, value.y, value.z, value.w);
- return s;
- }
- typedef struct
- {
- //int64 pos = FTell();
- uint64 boneName;
- uint64 parentBoneNamePtr;
- uint64 firstChildBoneNamePtr;
- uint64 lastChildBoneNamePtr;
- Vector4 position;
- Vector4 rotation;
- int boneID;
- int boneHash;
- uint64 null;
- local uint64 pos = FTell();
- if(boneName){
- FSeek(boneName);
- wstring boneNameStr;
- }
- if(parentBoneNamePtr){
- FSeek(parentBoneNamePtr);
- wstring parentBoneNameStr;
- }
- if(firstChildBoneNamePtr){
- FSeek(firstChildBoneNamePtr);
- wstring firstChildBoneNameStr;
- }
- if(lastChildBoneNamePtr){
- FSeek(lastChildBoneNamePtr);
- wstring lastChildBoneNameStr;
- }
- FSeek(pos);
- } REMotionBone;
- typedef struct
- {
- Vector4 min;
- Vector4 max;
- } REMimMaxBounds;
- typedef struct
- {
- int flags;
- int numFrames;
- int framesPerSecond;
- float duration;
- uint64 frames;
- uint64 controlPoints;
- uint64 minMaxBounds;
- local uint64 pos = FTell();
- FSeek(frames);
- uchar framesVal;
- FSeek(controlPoints);
- char controlPointsVal;
- if(minMaxBounds){
- FSeek(minMaxBounds);
- REMimMaxBounds minMaxBoundsVal;
- }
- FSeek(pos);
- } RETrackCurve;
- typedef struct
- {
- short unk;
- enum <short> TrackType { TrackType_Position, TrackType_Rotation, TrackType_Scale } usedCurves;
- int boneHash;
- float weight;
- int unk;
- uint64 curves;
- local uint64 pos = FTell();
- FSeek(curves);
- RETrackCurve trackCurve;
- FSeek(pos);
- } REMotionTrack;
- typedef struct
- {
- uint64 ptr;
- int numItems;
- } REArray;
- uint assetID;
- typedef char ID[4];
- ID assetFourCC;
- //uint assetFourCC;
- uint64 assetFourCC;
- uint64 bonesOffset;
- uint64 tracksOffset;
- uint64 null[5];
- uint64 unkOffset02;
- uint64 animationName;
- local uint64 pos = FTell();
- FSeek(animationName);
- wstring animationNameStr <fgcolor=cRed>;
- FSeek(pos);
- float intervals[4];
- short numBones;
- short numTracks;
- short numUNK00;
- short framesPerSecond;
- short unks00[2];
- FSeek(bonesOffset);
- typedef struct {
- REMotionBone bones[boneArray.numItems] <optimize=false>;
- } REMotionBones;
- REArray boneArray;
- FSeek(boneArray.ptr);
- REMotionBones bones <fgcolor=cGreen>;
- FSeek(tracksOffset);
- REMotionTrack tracks <fgcolor=cBlue>;
- //uint64 assetFourCC;
- //wstring str2;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement