This fixes most issues with the player clipping through the walls of rotating sectors

git-svn-id: https://svn.eduke32.com/eduke32@8243 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2019-10-20 17:55:28 +00:00 committed by Christoph Oelckers
parent 21025ea18f
commit 6f6d568720

View file

@ -4920,6 +4920,9 @@ void P_ProcessInput(int playerNum)
pPlayer->opyoff = pPlayer->pyoff; pPlayer->opyoff = pPlayer->pyoff;
pPlayer->oq16ang = pPlayer->q16ang; pPlayer->oq16ang = pPlayer->q16ang;
updatesector(pPlayer->pos.x, pPlayer->pos.y, &pPlayer->cursectnum);
pushmove(&pPlayer->pos, &pPlayer->cursectnum, pPlayer->clipdist - 1, (4L<<8), stepHeight, CLIPMASK0);
if (pPlayer->one_eighty_count < 0) if (pPlayer->one_eighty_count < 0)
{ {
pPlayer->one_eighty_count += 128; pPlayer->one_eighty_count += 128;
@ -5011,7 +5014,6 @@ void P_ProcessInput(int playerNum)
pPlayer->pos.z = floorZ - (floorZOffset << 8); pPlayer->pos.z = floorZ - (floorZOffset << 8);
else else
{ {
pPlayer->on_ground = 0;
pPlayer->vel.z += (g_spriteGravity + 80); // (TICSPERFRAME<<6); pPlayer->vel.z += (g_spriteGravity + 80); // (TICSPERFRAME<<6);
if (pPlayer->vel.z >= (4096 + 2048)) if (pPlayer->vel.z >= (4096 + 2048))
@ -5058,7 +5060,10 @@ void P_ProcessInput(int playerNum)
A_PlaySound(DUKE_LAND, pPlayer->i); A_PlaySound(DUKE_LAND, pPlayer->i);
#endif #endif
} }
pPlayer->on_ground = 1;
} }
else
pPlayer->on_ground = 0;
} }
} }
else else