211 lines
3.1 KiB
Plaintext
211 lines
3.1 KiB
Plaintext
|
namespace Gfbanim;
|
||
|
|
||
|
union TriggerParams {
|
||
|
TriggerParameterInt , TriggerParameterFloat,
|
||
|
TriggerParameterByte, TriggerParameterString
|
||
|
}
|
||
|
|
||
|
union VectorTrack { FixedVectorTrack, DynamicVectorTrack, FramedVectorTrack }
|
||
|
union RotationTrack { FixedRotationTrack, DynamicRotationTrack, FramedRotationTrack }
|
||
|
union BooleanTrack { FixedBooleanTrack, DynamicBooleanTrack, FramedBooleanTrack }
|
||
|
union ValueTrack { FixedValueTrack, DynamicValueTrack, FramedValueTrack }
|
||
|
|
||
|
enum RotationFlags:ushort (bit_flags) {
|
||
|
Orientation = 0,
|
||
|
Data1,
|
||
|
Data2 = 3,
|
||
|
}
|
||
|
|
||
|
table Animation {
|
||
|
AnimConfig:Config;
|
||
|
Bones:BoneList;
|
||
|
Materials:MaterialList;
|
||
|
Groups:GroupList;
|
||
|
Triggers:TriggerList;
|
||
|
}
|
||
|
|
||
|
table TriggerList {
|
||
|
Triggers:[Trigger];
|
||
|
}
|
||
|
|
||
|
table Trigger {
|
||
|
Name:string;
|
||
|
FrameStart:int;
|
||
|
FrameEnd:int;
|
||
|
Parameter:TriggerParameter;
|
||
|
}
|
||
|
|
||
|
|
||
|
table TriggerParameter {
|
||
|
Name:string;
|
||
|
Params:TriggerParams;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
table TriggerParameterInt {
|
||
|
Value:int;
|
||
|
}
|
||
|
table TriggerParameterFloat {
|
||
|
Value:float;
|
||
|
}
|
||
|
table TriggerParameterByte {
|
||
|
Value:byte;
|
||
|
}
|
||
|
table TriggerParameterString {
|
||
|
Value:string;
|
||
|
}
|
||
|
|
||
|
|
||
|
table BoneList {
|
||
|
Bones:[Bone];
|
||
|
Defaults:BoneDefaults;
|
||
|
}
|
||
|
|
||
|
table MaterialList {
|
||
|
Materials:[Material];
|
||
|
}
|
||
|
|
||
|
table GroupList {
|
||
|
Groups:[Group];
|
||
|
}
|
||
|
|
||
|
|
||
|
table Bone {
|
||
|
Name:string;
|
||
|
Scale:VectorTrack;
|
||
|
Rotate:RotationTrack;
|
||
|
Translate:VectorTrack;
|
||
|
ScaleFrames:FrameRanges;
|
||
|
RotationFrames:FrameRanges;
|
||
|
TranslationFrames:FrameRanges;
|
||
|
}
|
||
|
|
||
|
table BoneDefaults {
|
||
|
Unknown:uint;
|
||
|
Transform:[SRT];
|
||
|
}
|
||
|
|
||
|
table Material {
|
||
|
Name:string;
|
||
|
Switches:[MatSwitch];
|
||
|
Values:[MatValue];
|
||
|
Vectors:[MatVector];
|
||
|
}
|
||
|
|
||
|
table MatSwitch {
|
||
|
Name:string;
|
||
|
Value:BooleanTrack;
|
||
|
frameRanges:FrameRanges;
|
||
|
}
|
||
|
|
||
|
table MatValue {
|
||
|
Name:string;
|
||
|
Value:ValueTrack;
|
||
|
frameRanges:FrameRanges;
|
||
|
}
|
||
|
|
||
|
table MatVector {
|
||
|
Name:string;
|
||
|
Value:VectorTrack;
|
||
|
frameRanges:FrameRanges;
|
||
|
}
|
||
|
|
||
|
table Group {
|
||
|
Name:string;
|
||
|
Value:BooleanTrack;
|
||
|
}
|
||
|
|
||
|
table Config {
|
||
|
Unknown:uint;
|
||
|
KeyFrames:uint;
|
||
|
FramesPerSecond:uint;
|
||
|
}
|
||
|
|
||
|
table FixedVectorTrack {
|
||
|
Value:Vector3;
|
||
|
}
|
||
|
table DynamicVectorTrack {
|
||
|
Values:[Vector3];
|
||
|
}
|
||
|
table FramedVectorTrack {
|
||
|
Frames:[ushort];
|
||
|
Values:[Vector3];
|
||
|
}
|
||
|
|
||
|
|
||
|
table FixedRotationTrack {
|
||
|
Value:Rotation;
|
||
|
}
|
||
|
table DynamicRotationTrack {
|
||
|
Values:[Rotation];
|
||
|
}
|
||
|
table FramedRotationTrack {
|
||
|
Frames:[ushort];
|
||
|
Values:[Rotation];
|
||
|
}
|
||
|
|
||
|
table FixedBooleanTrack {
|
||
|
Value:byte;
|
||
|
}
|
||
|
table DynamicBooleanTrack {
|
||
|
Values:[ushort];
|
||
|
}
|
||
|
table FramedBooleanTrack {
|
||
|
Frames:[ushort];
|
||
|
Values:[ushort];
|
||
|
}
|
||
|
|
||
|
|
||
|
table FixedValueTrack {
|
||
|
Value:float;
|
||
|
}
|
||
|
table DynamicValueTrack {
|
||
|
Values:[float];
|
||
|
}
|
||
|
table FramedValueTrack {
|
||
|
Frames:[ushort];
|
||
|
Values:[float];
|
||
|
}
|
||
|
|
||
|
|
||
|
table FrameRanges {
|
||
|
StartFrames:[ushort];
|
||
|
EndFrames:[ushort];
|
||
|
}
|
||
|
|
||
|
|
||
|
struct Vector3 {
|
||
|
X:float;
|
||
|
Y:float;
|
||
|
Z:float;
|
||
|
}
|
||
|
|
||
|
struct Vector4 {
|
||
|
X:float;
|
||
|
Y:float;
|
||
|
Z:float;
|
||
|
W:float;
|
||
|
}
|
||
|
|
||
|
struct Rotation {
|
||
|
X:ushort;
|
||
|
Y:ushort;
|
||
|
Z:ushort;
|
||
|
}
|
||
|
|
||
|
struct SRT {
|
||
|
ScaleX:float;
|
||
|
ScaleY:float;
|
||
|
ScaleZ:float;
|
||
|
RotateX:float;
|
||
|
RotateY:float;
|
||
|
RotateZ:float;
|
||
|
RotateW:float;
|
||
|
TranslateX:float;
|
||
|
TranslateY:float;
|
||
|
TranslateZ:float;
|
||
|
}
|
||
|
|
||
|
root_type Animation;
|