diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index ffa781b4c..27bf6bcbc 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -5582,6 +5582,27 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3 } } + else if (l==0 && (sc->floorstat&64)) + { + // fix for jittering of sprites in halted rotating sectors + for (p=headspritesect[s->sectnum]; p>=0; p=nextspritesect[p]) + { + // keep this conditional in sync with above! + if ((sprite[p].statnum != STAT_EFFECTOR || (sprite[p].lotag==49||sprite[p].lotag==50)) + && sprite[p].statnum != STAT_PROJECTILE) + if (sprite[p].picnum != LASERLINE) + { + if (sprite[p].picnum == APLAYER && sprite[p].owner >= 0) + { + p = nextspritesect[p]; + continue; + } + + actor[p].bposx = sprite[p].x; + actor[p].bposy = sprite[p].y; + } + } + } A_MoveSector(i); } @@ -5771,9 +5792,6 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3 (sprite[j].picnum == SECTOREFFECTOR && (sprite[j].lotag == 49||sprite[j].lotag == 50))) && sprite[j].picnum != LOCATORS) { - if (move_fixed_sprite(j, s-sprite, t[2])) - rotatepoint(s->x,s->y,sprite[j].x,sprite[j].y,q,&sprite[j].x,&sprite[j].y); - // fix interpolation if (numplayers < 2 && !g_netServer) { @@ -5781,6 +5799,9 @@ ACTOR_STATIC void G_MoveEffectors(void) //STATNUM 3 actor[j].bposy = sprite[j].y; } + if (move_fixed_sprite(j, s-sprite, t[2])) + rotatepoint(s->x,s->y,sprite[j].x,sprite[j].y,q,&sprite[j].x,&sprite[j].y); + sprite[j].x+= m; sprite[j].y+= x; diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index c39d65644..5ebff8d32 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -608,24 +608,37 @@ static void G_ShowCacheLocks(void) { int16_t i,k; + if (offscreenrendering) + return; + k = 0; for (i=cacnum-1; i>=0; i--) if ((*cac[i].lock) >= 200) { + if (k >= ydim-12) + break; + Bsprintf(tempbuf,"Locked- %d: Leng:%d, Lock:%d",i,cac[i].leng,*cac[i].lock); printext256(0L,k,31,-1,tempbuf,1); k += 6; } - k += 6; + if (k < ydim-12) + k += 6; for (i=10; i>=0; i--) if (rts_lumplockbyte[i] >= 200) { + if (k >= ydim-12) + break; + Bsprintf(tempbuf,"RTS Locked %d:",i); printext256(0L,k,31,-1,tempbuf,1); k += 6; } + + if (k >= ydim-12 && k