mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-06-03 10:41:12 +00:00
- Update to ZDoom r1991:
- Fixed some GCC warnings. - fixed: The BossCube could be blocked by floors and ceiling resulting in incorrect movement. I changed it so that A_BrainSpit now sets the MF5_NOINTERACTION flag for anything it spawns that has the MF_NOCLIP flag. For travelling cubes active collision detection makes no sense and only causes problems. This should also make the boss brain work in the other games which previously were excluded by a game mode check in the movement code. - fixed: ACS's GetUserVariable did not work for the script activator. - fixed: Moving floors could be blocked by 2 actors without MF2_PASSMOBJ overlapping each other (common mapping bug, check Herian 2 MAP30.) git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@507 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
parent
1eed9eaf8c
commit
947148c6d7
8 changed files with 35 additions and 13 deletions
|
@ -4323,6 +4323,13 @@ void P_FindAboveIntersectors (AActor *actor)
|
|||
{ // Don't clip against self
|
||||
continue;
|
||||
}
|
||||
if (!((thing->flags2 | actor->flags2) & MF2_PASSMOBJ) && !((thing->flags3 | actor->flags3) & MF3_ISMONSTER))
|
||||
{
|
||||
// Don't bother if both things don't have MF2_PASSMOBJ set and aren't monsters.
|
||||
// These things would always block each other which in nearly every situation is
|
||||
// not what is wanted here.
|
||||
continue;
|
||||
}
|
||||
if (thing->z >= actor->z &&
|
||||
thing->z <= actor->z + actor->height)
|
||||
{ // Thing intersects above the base
|
||||
|
@ -4365,6 +4372,13 @@ void P_FindBelowIntersectors (AActor *actor)
|
|||
{ // Don't clip against self
|
||||
continue;
|
||||
}
|
||||
if (!((thing->flags2 | actor->flags2) & MF2_PASSMOBJ) && !((thing->flags3 | actor->flags3) & MF3_ISMONSTER))
|
||||
{
|
||||
// Don't bother if both things don't have MF2_PASSMOBJ set and aren't monsters.
|
||||
// These things would always block each other which in nearly every situation is
|
||||
// not what is wanted here.
|
||||
continue;
|
||||
}
|
||||
if (thing->z + thing->height <= actor->z + actor->height &&
|
||||
thing->z + thing->height > actor->z)
|
||||
{ // Thing intersects below the base
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue