- Fixed: CheckMobjBlocking() did not consider one-sided lines without the ML_BLOCKING flag to be blocking.

SVN r3353 (trunk)
This commit is contained in:
Randy Heit 2012-02-11 01:17:09 +00:00
parent cd150bd170
commit d2c8a86bb4
1 changed files with 2 additions and 1 deletions

View File

@ -1295,7 +1295,8 @@ bool FPolyObj::CheckMobjBlocking (side_t *sd)
fixed_t top = -INT_MAX, bottom = INT_MAX; fixed_t top = -INT_MAX, bottom = INT_MAX;
bool above; bool above;
// [TN] Check wether this actor gets blocked by the line. // [TN] Check wether this actor gets blocked by the line.
if(!(ld->flags & (ML_BLOCKING|ML_BLOCKEVERYTHING)) if (ld->backsector != NULL &&
!(ld->flags & (ML_BLOCKING|ML_BLOCKEVERYTHING))
&& !(ld->flags & ML_BLOCK_PLAYERS && mobj->player) && !(ld->flags & ML_BLOCK_PLAYERS && mobj->player)
&& !(ld->flags & ML_BLOCKMONSTERS && mobj->flags3 & MF3_ISMONSTER) && !(ld->flags & ML_BLOCKMONSTERS && mobj->flags3 & MF3_ISMONSTER)
&& !((mobj->flags & MF_FLOAT) && (ld->flags & ML_BLOCK_FLOATERS)) && !((mobj->flags & MF_FLOAT) && (ld->flags & ML_BLOCK_FLOATERS))