From e2ac4c1168f0f69513bf00fbf22281a226092fbd Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 21 Jun 2006 11:47:27 +0000 Subject: [PATCH] - Fixed: PIT_StompThing never checked for COMPATF_NO_PASSMOBJ. - Fixed: COMPATF_TRACE returned true for all two-sided lines, not just for those with the same sector on both sides. SVN r206 (trunk) --- docs/rh-log.txt | 5 +++++ src/p_map.cpp | 2 +- src/p_trace.cpp | 4 ++-- src/p_xlat.cpp | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 4126d2326..2ac52f24c 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,8 @@ +June 21, 2006 (Changes by Graf Zahl) +- Fixed: PIT_StompThing never checked for COMPATF_NO_PASSMOBJ. +- Fixed: COMPATF_TRACE returned true for all two-sided lines, not just for + those with the same sector on both sides. + June 20, 2006 - Added grubber's thingdef_exp.cpp. I might not use it later, but I can still use it now. diff --git a/src/p_map.cpp b/src/p_map.cpp index 0a09a3d1b..adb79ddca 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -280,7 +280,7 @@ BOOL PIT_StompThing (AActor *thing) // [RH] Z-Check // But not if not MF2_PASSMOBJ or MF3_DONTOVERLAP are set! // Otherwise those things would get stuck inside each other. - if (tmthing->flags2&MF2_PASSMOBJ) + if ((tmthing->flags2 & MF2_PASSMOBJ || thing->flags4 & MF4_ACTLIKEBRIDGE) && !(i_compatflags & COMPATF_NO_PASSMOBJ)) { if (!(thing->flags3 & tmthing->flags3 & MF3_DONTOVERLAP)) { diff --git a/src/p_trace.cpp b/src/p_trace.cpp index 7fd71da70..f84a9dd64 100644 --- a/src/p_trace.cpp +++ b/src/p_trace.cpp @@ -170,8 +170,8 @@ static BOOL PTR_TraceIterator (intercept_t *in) entersector = (lineside == 0) ? in->d.line->backsector : in->d.line->frontsector; // For backwards compatibility: Ignore lines with the same sector on both sides. - // This is the way Doom.exe did it and some WADs (e.g. Alien Vendetta MAP15 needs it. - if (i_compatflags & COMPATF_TRACE) + // This is the way Doom.exe did it and some WADs (e.g. Alien Vendetta MAP15 need it. + if (i_compatflags & COMPATF_TRACE && in->d.line->backsector == in->d.line->frontsector) { return true; } diff --git a/src/p_xlat.cpp b/src/p_xlat.cpp index b61b51927..12a81805b 100644 --- a/src/p_xlat.cpp +++ b/src/p_xlat.cpp @@ -405,7 +405,7 @@ void P_TranslateTeleportThings () } else if (lines[i].special == Teleport_ZombieChanger) { - if (lines[i].args[2] == 0) + if (lines[i].args[1] == 0) { lines[i].args[0] = 1; }