diff --git a/polymer/eduke32/source/sector.c b/polymer/eduke32/source/sector.c index 82010f155..7416a059e 100644 --- a/polymer/eduke32/source/sector.c +++ b/polymer/eduke32/source/sector.c @@ -284,6 +284,14 @@ void doanimations(void) { stopinterpolation(animateptr[i]); + // This fixes a bug where wall or floor sprites contained in + // elevator sectors (ST 16-19) would jitter vertically after the + // elevator had stopped. + if (animateptr[i] == §or[animatesect[i]].floorz) + for (j=headspritesect[dasect];j>=0;j=nextspritesect[j]) + if (sprite[j].statnum != 3) + hittype[j].bposz = sprite[j].z; + animatecnt--; animateptr[i] = animateptr[animatecnt]; animategoal[i] = animategoal[animatecnt];