mirror of
https://github.com/YGGverse/xash3d-fwgs.git
synced 2025-01-30 08:44:31 +00:00
engine: studio.h: use vec_t instead of float.
This commit is contained in:
parent
68e10d7b53
commit
88e1780c68
136
engine/studio.h
136
engine/studio.h
@ -248,8 +248,8 @@ typedef struct mstudiobone_s
|
|||||||
int32_t parent; // parent bone
|
int32_t parent; // parent bone
|
||||||
int32_t flags; // bone flags
|
int32_t flags; // bone flags
|
||||||
int32_t bonecontroller[6]; // bone controller index, -1 == none
|
int32_t bonecontroller[6]; // bone controller index, -1 == none
|
||||||
float value[6]; // default DoF values
|
vec_t value[6]; // default DoF values
|
||||||
float scale[6]; // scale for delta DoF values
|
vec_t scale[6]; // scale for delta DoF values
|
||||||
} mstudiobone_t;
|
} mstudiobone_t;
|
||||||
|
|
||||||
#define STUDIO_PROC_AXISINTERP 1
|
#define STUDIO_PROC_AXISINTERP 1
|
||||||
@ -268,7 +268,7 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
float inv_tolerance; // 1.0f / radian angle of trigger influence
|
vec_t inv_tolerance; // 1.0f / radian angle of trigger influence
|
||||||
vec4_t trigger; // angle to match
|
vec4_t trigger; // angle to match
|
||||||
vec3_t pos; // new position
|
vec3_t pos; // new position
|
||||||
vec4_t quat; // new angle
|
vec4_t quat; // new angle
|
||||||
@ -284,7 +284,7 @@ typedef struct
|
|||||||
// extra info for bones
|
// extra info for bones
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
float poseToBone[3][4]; // boneweighting reqiures
|
vec_t poseToBone[3][4]; // boneweighting reqiures
|
||||||
vec4_t qAlignment;
|
vec4_t qAlignment;
|
||||||
int32_t proctype;
|
int32_t proctype;
|
||||||
int32_t procindex; // procedural rule
|
int32_t procindex; // procedural rule
|
||||||
@ -307,52 +307,52 @@ typedef struct
|
|||||||
int32_t flags;
|
int32_t flags;
|
||||||
|
|
||||||
// general params
|
// general params
|
||||||
float length; // how from from bone base, along bone, is tip
|
vec_t length; // how from from bone base, along bone, is tip
|
||||||
float tipMass;
|
vec_t tipMass;
|
||||||
|
|
||||||
// flexible params
|
// flexible params
|
||||||
float yawStiffness;
|
vec_t yawStiffness;
|
||||||
float yawDamping;
|
vec_t yawDamping;
|
||||||
float pitchStiffness;
|
vec_t pitchStiffness;
|
||||||
float pitchDamping;
|
vec_t pitchDamping;
|
||||||
float alongStiffness;
|
vec_t alongStiffness;
|
||||||
float alongDamping;
|
vec_t alongDamping;
|
||||||
|
|
||||||
// angle constraint
|
// angle constraint
|
||||||
float angleLimit; // maximum deflection of tip in radians
|
vec_t angleLimit; // maximum deflection of tip in radians
|
||||||
|
|
||||||
// yaw constraint
|
// yaw constraint
|
||||||
float minYaw; // in radians
|
vec_t minYaw; // in radians
|
||||||
float maxYaw; // in radians
|
vec_t maxYaw; // in radians
|
||||||
float yawFriction;
|
vec_t yawFriction;
|
||||||
float yawBounce;
|
vec_t yawBounce;
|
||||||
|
|
||||||
// pitch constraint
|
// pitch constraint
|
||||||
float minPitch; // in radians
|
vec_t minPitch; // in radians
|
||||||
float maxPitch; // in radians
|
vec_t maxPitch; // in radians
|
||||||
float pitchFriction;
|
vec_t pitchFriction;
|
||||||
float pitchBounce;
|
vec_t pitchBounce;
|
||||||
|
|
||||||
// base spring
|
// base spring
|
||||||
float baseMass;
|
vec_t baseMass;
|
||||||
float baseStiffness;
|
vec_t baseStiffness;
|
||||||
float baseDamping;
|
vec_t baseDamping;
|
||||||
float baseMinLeft;
|
vec_t baseMinLeft;
|
||||||
float baseMaxLeft;
|
vec_t baseMaxLeft;
|
||||||
float baseLeftFriction;
|
vec_t baseLeftFriction;
|
||||||
float baseMinUp;
|
vec_t baseMinUp;
|
||||||
float baseMaxUp;
|
vec_t baseMaxUp;
|
||||||
float baseUpFriction;
|
vec_t baseUpFriction;
|
||||||
float baseMinForward;
|
vec_t baseMinForward;
|
||||||
float baseMaxForward;
|
vec_t baseMaxForward;
|
||||||
float baseForwardFriction;
|
vec_t baseForwardFriction;
|
||||||
|
|
||||||
// boing
|
// boing
|
||||||
float boingImpactSpeed;
|
vec_t boingImpactSpeed;
|
||||||
float boingImpactAngle;
|
vec_t boingImpactAngle;
|
||||||
float boingDampingRate;
|
vec_t boingDampingRate;
|
||||||
float boingFrequency;
|
vec_t boingFrequency;
|
||||||
float boingAmplitude;
|
vec_t boingAmplitude;
|
||||||
} mstudiojigglebone_t;
|
} mstudiojigglebone_t;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@ -369,8 +369,8 @@ typedef struct
|
|||||||
{
|
{
|
||||||
int32_t bone; // -1 == 0
|
int32_t bone; // -1 == 0
|
||||||
int32_t type; // X, Y, Z, XR, YR, ZR, M
|
int32_t type; // X, Y, Z, XR, YR, ZR, M
|
||||||
float start;
|
vec_t start;
|
||||||
float end;
|
vec_t end;
|
||||||
int32_t rest; // byte index value at rest
|
int32_t rest; // byte index value at rest
|
||||||
int32_t index; // 0-3 user set controller, 4 mouth
|
int32_t index; // 0-3 user set controller, 4 mouth
|
||||||
} mstudiobonecontroller_t;
|
} mstudiobonecontroller_t;
|
||||||
@ -424,7 +424,7 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
float scale[6];
|
vec_t scale[6];
|
||||||
uint16_t offset[6];
|
uint16_t offset[6];
|
||||||
} mstudioikerror_t;
|
} mstudioikerror_t;
|
||||||
|
|
||||||
@ -439,22 +439,22 @@ typedef struct
|
|||||||
int32_t attachment; // attachment index
|
int32_t attachment; // attachment index
|
||||||
|
|
||||||
int32_t slot; // iktarget slot. Usually same as chain.
|
int32_t slot; // iktarget slot. Usually same as chain.
|
||||||
float height;
|
vec_t height;
|
||||||
float radius;
|
vec_t radius;
|
||||||
float floor;
|
vec_t floor;
|
||||||
vec3_t pos;
|
vec3_t pos;
|
||||||
vec4_t quat;
|
vec4_t quat;
|
||||||
|
|
||||||
int32_t ikerrorindex; // compressed IK error
|
int32_t ikerrorindex; // compressed IK error
|
||||||
|
|
||||||
int32_t iStart;
|
int32_t iStart;
|
||||||
float start; // beginning of influence
|
vec_t start; // beginning of influence
|
||||||
float peak; // start of full influence
|
vec_t peak; // start of full influence
|
||||||
float tail; // end of full influence
|
vec_t tail; // end of full influence
|
||||||
float end; // end of all influence
|
vec_t end; // end of all influence
|
||||||
float contact; // frame footstep makes ground concact
|
vec_t contact; // frame footstep makes ground concact
|
||||||
float drop; // how far down the foot should drop when reaching for IK
|
vec_t drop; // how far down the foot should drop when reaching for IK
|
||||||
float top; // top of the foot box
|
vec_t top; // top of the foot box
|
||||||
|
|
||||||
int32_t unused[4]; // for future expansions
|
int32_t unused[4]; // for future expansions
|
||||||
} mstudioikrule_t;
|
} mstudioikrule_t;
|
||||||
@ -462,8 +462,8 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
int32_t chain;
|
int32_t chain;
|
||||||
float flPosWeight;
|
vec_t flPosWeight;
|
||||||
float flLocalQWeight;
|
vec_t flLocalQWeight;
|
||||||
int32_t flags;
|
int32_t flags;
|
||||||
|
|
||||||
int32_t unused[4]; // for future expansions
|
int32_t unused[4]; // for future expansions
|
||||||
@ -473,9 +473,9 @@ typedef struct
|
|||||||
{
|
{
|
||||||
int32_t endframe;
|
int32_t endframe;
|
||||||
int32_t motionflags;
|
int32_t motionflags;
|
||||||
float v0; // velocity at start of block
|
vec_t v0; // velocity at start of block
|
||||||
float v1; // velocity at end of block
|
vec_t v1; // velocity at end of block
|
||||||
float angle; // YAW rotation at end of this blocks movement
|
vec_t angle; // YAW rotation at end of this blocks movement
|
||||||
vec3_t vector; // movement vector relative to this blocks initial angle
|
vec3_t vector; // movement vector relative to this blocks initial angle
|
||||||
vec3_t position; // relative to start of animation???
|
vec3_t position; // relative to start of animation???
|
||||||
} mstudiomovement_t;
|
} mstudiomovement_t;
|
||||||
@ -484,7 +484,7 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char label[MAXSTUDIONAME]; // animation label (may be matched with sequence label)
|
char label[MAXSTUDIONAME]; // animation label (may be matched with sequence label)
|
||||||
float fps; // frames per second (match with sequence fps or be different)
|
vec_t fps; // frames per second (match with sequence fps or be different)
|
||||||
int32_t flags; // looping/non-looping flags
|
int32_t flags; // looping/non-looping flags
|
||||||
int32_t numframes; // frames per animation
|
int32_t numframes; // frames per animation
|
||||||
|
|
||||||
@ -504,10 +504,10 @@ typedef struct
|
|||||||
int16_t iSequence;
|
int16_t iSequence;
|
||||||
int16_t iPose;
|
int16_t iPose;
|
||||||
int32_t flags;
|
int32_t flags;
|
||||||
float start; // beginning of influence
|
vec_t start; // beginning of influence
|
||||||
float peak; // start of full influence
|
vec_t peak; // start of full influence
|
||||||
float tail; // end of full influence
|
vec_t tail; // end of full influence
|
||||||
float end; // end of all influence
|
vec_t end; // end of all influence
|
||||||
} mstudioautolayer_t;
|
} mstudioautolayer_t;
|
||||||
|
|
||||||
// sequence descriptions
|
// sequence descriptions
|
||||||
@ -515,7 +515,7 @@ typedef struct mstudioseqdesc_s
|
|||||||
{
|
{
|
||||||
char label[MAXSTUDIONAME]; // sequence label
|
char label[MAXSTUDIONAME]; // sequence label
|
||||||
|
|
||||||
float fps; // frames per second
|
vec_t fps; // frames per second
|
||||||
int32_t flags; // looping/non-looping flags
|
int32_t flags; // looping/non-looping flags
|
||||||
|
|
||||||
int32_t activity;
|
int32_t activity;
|
||||||
@ -543,8 +543,8 @@ typedef struct mstudioseqdesc_s
|
|||||||
// [blend][bone][X, Y, Z, XR, YR, ZR]
|
// [blend][bone][X, Y, Z, XR, YR, ZR]
|
||||||
|
|
||||||
int32_t blendtype[2]; // X, Y, Z, XR, YR, ZR (same as paramindex)
|
int32_t blendtype[2]; // X, Y, Z, XR, YR, ZR (same as paramindex)
|
||||||
float blendstart[2]; // starting value (same as paramstart)
|
vec_t blendstart[2]; // starting value (same as paramstart)
|
||||||
float blendend[2]; // ending value (same as paramend)
|
vec_t blendend[2]; // ending value (same as paramend)
|
||||||
uint8_t groupsize[2]; // 255 x 255 blends should be enough
|
uint8_t groupsize[2]; // 255 x 255 blends should be enough
|
||||||
uint8_t numautolayers; // count of autoplaying layers
|
uint8_t numautolayers; // count of autoplaying layers
|
||||||
uint8_t numiklocks; // IK-locks per sequence
|
uint8_t numiklocks; // IK-locks per sequence
|
||||||
@ -565,9 +565,9 @@ typedef struct
|
|||||||
{
|
{
|
||||||
char name[MAXSTUDIONAME];
|
char name[MAXSTUDIONAME];
|
||||||
int32_t flags; // ????
|
int32_t flags; // ????
|
||||||
float start; // starting value
|
vec_t start; // starting value
|
||||||
float end; // ending value
|
vec_t end; // ending value
|
||||||
float loop; // looping range, 0 for no looping, 360 for rotations, etc.
|
vec_t loop; // looping range, 0 for no looping, 360 for rotations, etc.
|
||||||
} mstudioposeparamdesc_t;
|
} mstudioposeparamdesc_t;
|
||||||
|
|
||||||
typedef struct mstudioanim_s
|
typedef struct mstudioanim_s
|
||||||
@ -636,7 +636,7 @@ typedef struct
|
|||||||
char name[64];
|
char name[64];
|
||||||
|
|
||||||
int32_t type; // UNUSED
|
int32_t type; // UNUSED
|
||||||
float boundingradius; // UNUSED
|
vec_t boundingradius; // UNUSED
|
||||||
|
|
||||||
int32_t nummesh;
|
int32_t nummesh;
|
||||||
int32_t meshindex;
|
int32_t meshindex;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user