mirror of
https://github.com/YGGverse/xash3d-fwgs.git
synced 2025-01-13 00:28:15 +00:00
utils: mdldec: smd.c: linear movement loss fix.
This commit is contained in:
parent
33be1b7591
commit
26ef3e274c
@ -383,6 +383,7 @@ WriteFrameInfo
|
|||||||
static void WriteFrameInfo( FILE *fp, mstudioanim_t *anim, mstudioseqdesc_t *seqdesc, int frame )
|
static void WriteFrameInfo( FILE *fp, mstudioanim_t *anim, mstudioseqdesc_t *seqdesc, int frame )
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
float scale;
|
||||||
vec_t motion[6]; // x, y, z, xr, yr, zr
|
vec_t motion[6]; // x, y, z, xr, yr, zr
|
||||||
mstudiobone_t *bone;
|
mstudiobone_t *bone;
|
||||||
|
|
||||||
@ -396,8 +397,10 @@ static void WriteFrameInfo( FILE *fp, mstudioanim_t *anim, mstudioseqdesc_t *seq
|
|||||||
|
|
||||||
if( bone->parent == -1 )
|
if( bone->parent == -1 )
|
||||||
{
|
{
|
||||||
|
scale = frame / (float)( seqdesc->numframes - 1 );
|
||||||
|
|
||||||
for( j = 0; j < 3; j++ )
|
for( j = 0; j < 3; j++ )
|
||||||
motion[j] += frame * 1.0f / seqdesc->numframes * seqdesc->linearmovement[j];
|
motion[j] += scale * seqdesc->linearmovement[j];
|
||||||
|
|
||||||
ProperBoneRotationZ( motion, 270.0f );
|
ProperBoneRotationZ( motion, 270.0f );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user