NSMonster: Do some basic interpolation between new/old frames. HLMDL are
currently not supported however (engine needs a fix)
This commit is contained in:
parent
7963b11a7d
commit
63d7b04852
1 changed files with 13 additions and 1 deletions
|
@ -802,6 +802,19 @@ NSMonster::predraw(void)
|
|||
|
||||
render = super::predraw();
|
||||
|
||||
/* are we inside of an interpolation? */
|
||||
if (frame != frame2) {
|
||||
/* we're done lerping */
|
||||
if (lerpfrac <= 0.0f)
|
||||
frame2 = frame;
|
||||
|
||||
lerpfrac -= frametime * 4.0f;
|
||||
} else {
|
||||
/* make sure we're set up for next lerp */
|
||||
lerpfrac = 1.0f;
|
||||
frame2time = frame1time;
|
||||
}
|
||||
|
||||
return render;
|
||||
}
|
||||
|
||||
|
@ -848,7 +861,6 @@ NSMonster::ReceiveEntity(float flNew, float flChanged)
|
|||
if (flChanged & BASEFL_CHANGED_FRAME) {
|
||||
frame = readbyte();
|
||||
frame1time = readfloat();
|
||||
frame2time = frame1time;
|
||||
}
|
||||
if (flChanged & BASEFL_CHANGED_SKIN) {
|
||||
skin = readbyte() - 128;
|
||||
|
|
Loading…
Reference in a new issue