Line sweep polyobject sides

Gremlin III vanquished for Balloon Park elephants.
This commit is contained in:
James R 2024-05-03 00:57:05 -07:00
parent e14f510fc7
commit 44923c2b2a
3 changed files with 7 additions and 2 deletions

View file

@ -164,6 +164,7 @@ demoghost *ghosts = NULL;
// - 0x000A (Ring Racers v2.0)
// - A bug was preventing control after ending a drift.
// Older behavior is kept around for staff ghost compat.
// - Also, polyobject bounce-back was fixed!
#define DEMOVERSION 0x000B

View file

@ -2186,6 +2186,8 @@ boolean P_CheckPosition(mobj_t *thing, fixed_t x, fixed_t y, TryMoveResult_t *re
}
}
P_ClearTestLines();
// The bounding box is extended by MAXRADIUS
// because mobj_ts are grouped into mapblocks
// based on their origin point, and can overlap
@ -2323,8 +2325,6 @@ boolean P_CheckPosition(mobj_t *thing, fixed_t x, fixed_t y, TryMoveResult_t *re
validcount++;
P_ClearTestLines();
// check lines
for (bx = xl; bx <= xh; bx++)
{

View file

@ -201,6 +201,10 @@ boolean P_BBoxInsidePolyobj(polyobj_t *po, fixed_t *bbox)
{
if (P_BoxOnLineSide(bbox, po->lines[i]) == 0)
return false;
if (g_tm.sweep && !G_CompatLevel(0x000A))
{
P_TestLine(po->lines[i]);
}
}
return true;