mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-14 00:21:38 +00:00
- Duke: fixed: SE31's handler overwrote the interpolation coordinates, which rendered interpolation ineffective.
Also removing some redundant coordinate copying. Since we save all sprite coordinates at the start of a frame, there is no need to do the same again in the stat handlers. Fixes #237
This commit is contained in:
parent
dd7d661f9a
commit
72df9c26d8
3 changed files with 6 additions and 38 deletions
|
@ -3986,7 +3986,7 @@ void handle_se17(DDukeActor* actor)
|
|||
ps[p].truecz += q;
|
||||
if (numplayers > 1) ps[p].oposz = ps[p].posz;
|
||||
}
|
||||
if (act1->s.statnum != 3)
|
||||
if (act1->s.statnum != STAT_EFFECTOR)
|
||||
{
|
||||
act1->bposz = act1->s.z;
|
||||
act1->s.z += q;
|
||||
|
@ -4052,7 +4052,7 @@ void handle_se17(DDukeActor* actor)
|
|||
changespritesect(act3, spr2->sectnum);
|
||||
ps[p].cursectnum = spr2->sectnum;
|
||||
}
|
||||
else if (spr3->statnum != 3)
|
||||
else if (spr3->statnum != STAT_EFFECTOR)
|
||||
{
|
||||
spr3->x += spr2->x - s->x;
|
||||
spr3->y += spr2->y - s->y;
|
||||
|
@ -4871,7 +4871,7 @@ void handle_se31(DDukeActor* actor, bool choosedir)
|
|||
ps[a2->PlayerIndex()].posz += l;
|
||||
if (a2->s.zvel == 0 && a2->s.statnum != STAT_EFFECTOR && (!choosedir || a2->s.statnum != STAT_PROJECTILE))
|
||||
{
|
||||
a2->bposz = a2->s.z += l;
|
||||
a2->s.z += l;
|
||||
a2->floorz = sec->floorz;
|
||||
}
|
||||
}
|
||||
|
@ -4900,7 +4900,7 @@ void handle_se31(DDukeActor* actor, bool choosedir)
|
|||
ps[a2->PlayerIndex()].posz += l;
|
||||
if (a2->s.zvel == 0 && a2->s.statnum != STAT_EFFECTOR && (!choosedir || a2->s.statnum != STAT_PROJECTILE))
|
||||
{
|
||||
a2->bposz = a2->s.z += l;
|
||||
a2->s.z += l;
|
||||
a2->floorz = sec->floorz;
|
||||
}
|
||||
}
|
||||
|
@ -4931,7 +4931,7 @@ void handle_se31(DDukeActor* actor, bool choosedir)
|
|||
ps[a2->PlayerIndex()].posz += l;
|
||||
if (a2->s.zvel == 0 && a2->s.statnum != STAT_EFFECTOR && (!choosedir || a2->s.statnum != STAT_PROJECTILE))
|
||||
{
|
||||
a2->bposz = a2->s.z += l;
|
||||
a2->s.z += l;
|
||||
a2->floorz = sec->floorz;
|
||||
}
|
||||
}
|
||||
|
@ -4959,7 +4959,7 @@ void handle_se31(DDukeActor* actor, bool choosedir)
|
|||
ps[a2->PlayerIndex()].posz -= l;
|
||||
if (a2->s.zvel == 0 && a2->s.statnum != STAT_EFFECTOR && (!choosedir || a2->s.statnum != STAT_PROJECTILE))
|
||||
{
|
||||
a2->bposz = a2->s.z -= l;
|
||||
a2->s.z -= l;
|
||||
a2->floorz = sec->floorz;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1435,10 +1435,6 @@ void movestandables_d(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
act->bposx = act->s.x;
|
||||
act->bposy = act->s.y;
|
||||
act->bposz = act->s.z;
|
||||
|
||||
|
||||
if (picnum >= CRANE && picnum <= CRANE +3)
|
||||
{
|
||||
|
@ -1942,9 +1938,6 @@ void moveweapons_d(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
act->bposx = act->s.x;
|
||||
act->bposy = act->s.y;
|
||||
act->bposz = act->s.z;
|
||||
|
||||
switch(act->s.picnum)
|
||||
{
|
||||
|
@ -3069,10 +3062,6 @@ void moveactors_d(void)
|
|||
|
||||
int *t = &act->temp_data[0];
|
||||
|
||||
act->bposx = s->x;
|
||||
act->bposy = s->y;
|
||||
act->bposz = s->z;
|
||||
|
||||
|
||||
switch (s->picnum)
|
||||
{
|
||||
|
@ -3293,9 +3282,6 @@ void moveexplosions_d(void) // STATNUM 5
|
|||
continue;
|
||||
}
|
||||
|
||||
act->bposx = s->x;
|
||||
act->bposy = s->y;
|
||||
act->bposz = s->z;
|
||||
|
||||
switch (s->picnum)
|
||||
{
|
||||
|
|
|
@ -1006,11 +1006,6 @@ void movestandables_r(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
act->bposx = act->s.x;
|
||||
act->bposy = act->s.y;
|
||||
act->bposz = act->s.z;
|
||||
|
||||
|
||||
if (picnum >= CRANE && picnum <= CRANE +3)
|
||||
{
|
||||
movecrane(act, CRANE);
|
||||
|
@ -1520,10 +1515,6 @@ void moveweapons_r(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
proj->bposx = proj->s.x;
|
||||
proj->bposy = proj->s.y;
|
||||
proj->bposz = proj->s.z;
|
||||
|
||||
switch (proj->s.picnum)
|
||||
{
|
||||
case RADIUSEXPLOSION:
|
||||
|
@ -2882,11 +2873,6 @@ void moveactors_r(void)
|
|||
|
||||
auto t = &act->temp_data[0];
|
||||
|
||||
act->bposx = s->x;
|
||||
act->bposy = s->y;
|
||||
act->bposz = s->z;
|
||||
|
||||
|
||||
switch(s->picnum)
|
||||
{
|
||||
case RESPAWNMARKERRED:
|
||||
|
@ -3153,10 +3139,6 @@ void moveexplosions_r(void) // STATNUM 5
|
|||
continue;
|
||||
}
|
||||
|
||||
act->bposx = s->x;
|
||||
act->bposy = s->y;
|
||||
act->bposz = s->z;
|
||||
|
||||
switch (s->picnum)
|
||||
{
|
||||
case SHOTGUNSPRITE:
|
||||
|
|
Loading…
Reference in a new issue