mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-02-27 13:50:51 +00:00
SW: Afraid that we should disable almost all kinds of SOs in multiplayer
for now, due to possible jitters. Currently leaving remote-controlled SOs.
This commit is contained in:
parent
ab99b3b79d
commit
024d4e7297
3 changed files with 8 additions and 6 deletions
|
@ -2053,7 +2053,7 @@ drawscreen(PLAYERp pp)
|
|||
tq16ang = camerapp->oq16ang + mulscale16(NORM_Q16ANGLE(camerapp->q16ang + fix16_from_int(1024) - camerapp->oq16ang) - fix16_from_int(1024), smoothratio);
|
||||
tq16horiz = camerapp->oq16horiz + mulscale16(camerapp->q16horiz - camerapp->oq16horiz, smoothratio);
|
||||
}
|
||||
else if (gs.InterpolateSO && (!CommEnabled || !pp->sop_control))
|
||||
else if (gs.InterpolateSO && !CommEnabled)
|
||||
{
|
||||
tq16ang = camerapp->oq16ang + mulscale16(((pp->camq16ang + fix16_from_int(1024) - camerapp->oq16ang) & 0x7FFFFFF) - fix16_from_int(1024), smoothratio);
|
||||
tq16horiz = camerapp->oq16horiz + mulscale16(pp->camq16horiz - camerapp->oq16horiz, smoothratio);
|
||||
|
|
|
@ -251,10 +251,12 @@ void so_dointerpolations(int32_t smoothratio) // Stick at b
|
|||
if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/)
|
||||
continue;
|
||||
|
||||
// Unfortunately, interpolating over less samples doesn't work well in
|
||||
// multiplayer. Same with sector objects controlled and carrying the player.
|
||||
// Unfortunately, interpolating over less samples doesn't work well
|
||||
// in multiplayer. We also skip any sector object not
|
||||
// remotely controlled by some player.
|
||||
if (CommEnabled &&
|
||||
((interp->lasttic != synctics) ||
|
||||
!(sop->controller) ||
|
||||
((Player[screenpeek].sop_control == sop) &&
|
||||
!Player[screenpeek].sop_remote)))
|
||||
continue;
|
||||
|
|
|
@ -1636,7 +1636,7 @@ MovePlayer(PLAYERp pp, SECTOR_OBJECTp sop, int nx, int ny)
|
|||
|
||||
if (TEST(sop->flags, SOBJ_DONT_ROTATE))
|
||||
{
|
||||
if (!gs.InterpolateSO)
|
||||
if (!gs.InterpolateSO || CommEnabled)
|
||||
{
|
||||
pp->oposx = pp->posx;
|
||||
pp->oposy = pp->posy;
|
||||
|
@ -1686,7 +1686,7 @@ MovePlayer(PLAYERp pp, SECTOR_OBJECTp sop, int nx, int ny)
|
|||
pp->camq16ang = NORM_Q16ANGLE(pp->camq16ang);
|
||||
pp->q16ang = NORM_Q16ANGLE(pp->RevolveQ16Ang + fix16_from_int(pp->RevolveDeltaAng));
|
||||
|
||||
if (!gs.InterpolateSO)
|
||||
if (!gs.InterpolateSO || CommEnabled)
|
||||
{
|
||||
pp->oq16ang = pp->q16ang;
|
||||
pp->oposx = pp->posx;
|
||||
|
@ -1946,7 +1946,7 @@ PlayerPart:
|
|||
pp->SpriteP->z = pp->loz;
|
||||
}
|
||||
}
|
||||
if (!gs.InterpolateSO)
|
||||
if (!gs.InterpolateSO || CommEnabled)
|
||||
pp->oposz = pp->posz;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue