- added a NULL pointer check to fog spawning in unmorphing code.

- fixed: frozen corpses need to be treated as solid by z-movement code.
- fixed previous commit.


SVN r1903 (trunk)
This commit is contained in:
Christoph Oelckers 2009-10-09 20:18:31 +00:00
commit 19ef8399a8
4 changed files with 26 additions and 6 deletions

View file

@ -1441,10 +1441,15 @@ bool P_TestMobjZ (AActor *actor, bool quick, AActor **pOnmobj)
{ // Can't hit thing
continue;
}
if (thing->flags & (MF_SPECIAL|MF_NOCLIP|MF_CORPSE))
{ // [RH] Corpses and specials and noclippers don't block moves
if (thing->flags & (MF_SPECIAL|MF_NOCLIP))
{ // [RH] Specials and noclippers don't block moves
continue;
}
if (thing->flags & (MF_CORPSE))
{ // Corpses need a few more checks
if (!(actor->flags & MF_ICECORPSE))
continue;
}
if (!(thing->flags4 & MF4_ACTLIKEBRIDGE) && (actor->flags & MF_SPECIAL))
{ // [RH] Only bridges block pickup items
continue;
@ -4315,10 +4320,15 @@ void P_FindAboveIntersectors (AActor *actor)
{ // Can't hit thing
continue;
}
if (thing->flags & (MF_CORPSE|MF_SPECIAL))
if (thing->flags & (MF_SPECIAL))
{ // [RH] Corpses and specials don't block moves
continue;
}
if (thing->flags & (MF_CORPSE))
{ // Corpses need a few more checks
if (!(actor->flags & MF_ICECORPSE))
continue;
}
if (thing == actor)
{ // Don't clip against self
continue;
@ -4364,10 +4374,15 @@ void P_FindBelowIntersectors (AActor *actor)
{ // Can't hit thing
continue;
}
if (thing->flags & (MF_CORPSE|MF_SPECIAL))
if (thing->flags & (MF_SPECIAL))
{ // [RH] Corpses and specials don't block moves
continue;
}
if (thing->flags & (MF_CORPSE))
{ // Corpses need a few more checks
if (!(actor->flags & MF_ICECORPSE))
continue;
}
if (thing == actor)
{ // Don't clip against self
continue;