[nq,qw] Reset view animation pose when model changes

I think this bug has been haunting us since we introduced lerping. I do
remember chasing bad pose indices 20 years ago and never finding the
cause. I guess we never thought to check the view model.
This commit is contained in:
Bill Currie 2021-12-01 01:10:59 +09:00
parent 740c70ba2c
commit 4dc2e6cac2
2 changed files with 11 additions and 4 deletions

View File

@ -661,7 +661,11 @@ V_CalcRefdef (void)
origin += (vec4f_t) { 0, 0, 0.5, 0};
}
view->renderer.model = cl.model_precache[cl.stats[STAT_WEAPON]];
model_t *model = cl.model_precache[cl.stats[STAT_WEAPON]];
if (view->renderer.model != model) {
view->animation.pose2 = -1;
}
view->renderer.model = model;
view->animation.frame = cl.stats[STAT_WEAPONFRAME];
view->renderer.skin = 0;

View File

@ -663,11 +663,14 @@ V_CalcRefdef (void)
origin += (vec4f_t) { 0, 0, 0.5, 0};
}
model_t *model = cl.model_precache[cl.stats[STAT_WEAPON]];
if (cl.viewstate.flags & (VF_GIB | VF_DEAD)) {
view->renderer.model = NULL;
} else {
view->renderer.model = cl.model_precache[cl.stats[STAT_WEAPON]];
model = NULL;
}
if (view->renderer.model != model) {
view->animation.pose2 = -1;
}
view->renderer.model = model;
view->animation.frame = cl.viewstate.weaponframe;
view->renderer.skin = 0;