- fixed the interpolation issues while on a crane.

* Partially addresses issues discussed in #105 and #106.
This commit is contained in:
Mitchell Richters 2020-08-06 15:39:45 +10:00
parent 9060abbafd
commit 47dbc46213
2 changed files with 6 additions and 5 deletions

View file

@ -833,9 +833,12 @@ void movecrane(int i, int crane)
else if (s->owner == -2)
{
auto ang = ps[p].getang();
ps[p].oposx = ps[p].posx = s->x - (sintable[(ang + 512) & 2047] >> 6);
ps[p].oposy = ps[p].posy = s->y - (sintable[ang & 2047] >> 6);
ps[p].oposz = ps[p].posz = s->z + (2 << 8);
ps[p].oposx = ps[p].posx;
ps[p].oposy = ps[p].posy;
ps[p].oposz = ps[p].posz;
ps[p].posx = s->x - (sintable[(ang + 512) & 2047] >> 6);
ps[p].posy = s->y - (sintable[ang & 2047] >> 6);
ps[p].posz = s->z + (2 << 8);
setsprite(ps[p].i, ps[p].posx, ps[p].posy, ps[p].posz);
ps[p].cursectnum = sprite[ps[p].i].sectnum;
}

View file

@ -489,8 +489,6 @@ void displayrooms(int snum, int smoothratio)
newaspect_enable = 1;
videoSetCorrectedAspect();
if (!playrunning() || ps[snum].on_crane > -1) smoothratio = MaxSmoothRatio;
sect = p->cursectnum;
if (sect < 0 || sect >= MAXSECTORS) return;