MantisBT - Zandronum
View Issue Details
0000442Zandronum[All Projects] Suggestionpublic2011-05-14 13:302018-09-30 21:17
unknownna 
Torr Samaho 
normalfeatureN/A
closedfixed 
98d 
1.1 
0000442: Non-SOLID things and inventory items fall through invisible bridges compatflag
'http://www.doomworld.com/vb/post/909731 [^]'

Quote from dew
st fixes the bug where flags fall through fake bridges. that means map04/map26 flag drops don't work. it might be an engine exploit, but it has become a standard. the offensive potential is seriously hindered on them.
This changed in Skulltag somewhere between 95f, 95g and 95h.

95f (Oct 18, 2003): Non-SOLID things and inventory items fall through bridges.
95g (Nov 32, 2003): Non-SOLID things no longer fall through bridges.
95h (Dec 6, 2003): Inventory items no longer fall through bridges.
'http://mancubus.net/svn/hosted/zdoom/zdoom/trunk/docs/rh-log.txt [^]'

August 13, 2003

* Removed the check for MF_SOLID in P_TestMobjZ(). Nonsolid things should still be blocked by invisible bridges. (So no more corpses will fall through invisible bridges.)

October 24, 2003

* Fixed: Inventory items would fall through invisible bridges.
No tags attached.
Issue History
2011-05-14 13:30unknownnaNew Issue
2012-10-06 07:41unknownnaDescription Updatedbug_revision_view_page.php?rev_id=2717#r2717
2012-10-07 09:17Torr SamahoNote Added: 0005018
2012-10-07 09:17Torr SamahoAssigned To => Torr Samaho
2012-10-07 09:17Torr SamahoStatusnew => assigned
2012-10-07 09:17Torr SamahoStatusassigned => needs testing
2012-10-07 10:06unknownnaNote Added: 0005022
2012-10-07 10:07unknownnaNote Edited: 0005022bug_revision_view_page.php?bugnote_id=5022#r2747
2012-10-07 10:11Torr SamahoNote Added: 0005023
2012-10-07 10:39unknownnaNote Added: 0005026
2012-10-07 10:52Torr SamahoNote Added: 0005027
2012-10-07 13:35unknownnaNote Added: 0005030
2012-10-07 13:58unknownnaNote Edited: 0005030bug_revision_view_page.php?bugnote_id=5030#r2751
2012-10-07 16:03Torr SamahoNote Added: 0005033
2012-10-09 14:52unknownnaNote Added: 0005056
2012-10-09 16:33DuskNote Added: 0005062
2012-10-10 05:17Torr SamahoNote Added: 0005068
2012-10-10 06:36QentNote Added: 0005069
2012-10-11 02:30WatermelonNote Added: 0005082
2012-10-11 02:30WatermelonNote Edited: 0005082bug_revision_view_page.php?bugnote_id=5082#r2773
2012-10-11 02:31WatermelonNote Edited: 0005082bug_revision_view_page.php?bugnote_id=5082#r2774
2012-10-11 13:07DuskNote Added: 0005084
2012-10-11 13:08DuskNote Edited: 0005084bug_revision_view_page.php?bugnote_id=5084#r2777
2012-10-14 08:55Torr SamahoNote Added: 0005097
2012-10-14 10:54unknownnaNote Added: 0005099
2012-10-14 11:18Torr SamahoStatusneeds testing => resolved
2012-10-14 11:18Torr SamahoFixed in Version => 1.1
2012-10-14 11:18Torr SamahoResolutionopen => fixed
2012-10-15 15:25unknownnaNote Added: 0005124
2012-10-15 15:25unknownnaStatusresolved => feedback
2012-10-15 15:25unknownnaResolutionfixed => reopened
2012-10-21 17:12Torr SamahoNote Added: 0005153
2012-10-21 17:12Torr SamahoStatusfeedback => resolved
2012-10-21 17:12Torr SamahoResolutionreopened => fixed
2018-09-30 21:17Blzut3Statusresolved => closed

Notes
(0005018)
Torr Samaho   
2012-10-07 09:17   
I added a new compat flag that lets non-SOLID things fall through bridge things (tentative name compat_oldzcheck, I'm open for suggestions). Please test if this works as intended.
(0005022)
unknownna   
2012-10-07 10:06   
(edited on: 2012-10-07 10:07)
It seems to be working as intended. The players and their flags drop down through the bridge things when killed (and the items in IDL/ZDCTF: MAP04 finally drop down to their proper positions). It couldn't hurt to keep this ticket open for some more testing though.

(0005023)
Torr Samaho   
2012-10-07 10:11   
Sure, I'll leave this open for a while then. But do you have a suggestion for a better compat flag name? I'm not really happy with compat_oldzcheck and would like to find a proper name before committing the changes to the source repository.
(0005026)
unknownna   
2012-10-07 10:39   
Quote from Torr Samaho
Sure, I'll leave this open for a while then. But do you have a suggestion for a better compat flag name?

Perhaps compat_(old)bridgedrop(s)?
(0005027)
Torr Samaho   
2012-10-07 10:52   
compat_oldbridgedrops sounds good. I renamed the flag and committed/pushed the changes.
(0005030)
unknownna   
2012-10-07 13:35   
(edited on: 2012-10-07 13:58)
There's a difference between this flag and ZDaemon's behavior. In ZDaemon/ZDoom 1.23b33, the players/monsters aren't thrusted by blasts when dying on top of bridge things, they simply drop straight down. So if a player dies on the ledge of a bridge thing in Zandronum with the compatflag enabled, the flag might not drop down as desired. Are the flags tossed? If not, then there shouldn't be any problems. This changed in ZDoom somewhere between 2.0.29 and 2.0.30.

On a side note, there's also a difference in terms of player movement on top of bridge things. In ZDaemon/ZDoom 1.23b33, the player doesn't play the DSOOF sound when jumping on bridge things alone. People will notice this difference sooner or later and request that a "ZDaemon bridge physics" flag should be added. This changed in ZDoom somewhere between 2.0.98 and 2.1.0. In Skulltag, this changed somewhere between 96f and 97b.

Quote from ZDoom Changelog
April 11, 2006 (Changes by Graf Zahl)
- Added a check to P_CheckSlopeWalk that prevents sliding when hanging over
  a sloped dropoff.
- Fixed: z-momentum application in P_ZMovement was incompatible with
  the original method. Unless MF2_FLOATBOB is set it must be done before
  applying gravity to momz.

May 14, 2006 (Changes by Graf Zahl)
- Added GZDoom's code for Vavoom slope things because I wanted to test
  something with a map from Silent Steel.

May 22, 2006 (Changes by Graf Zahl)
- Added a check for MF_NOLIFTDROP to PIT_CeilingRaise because the overlapping
  bridges in 007LTSD got moved by this function.

So in conclusion, there are 2 more things needed to fully emulate ZDaemon's bridge behavior:

* Things should fall down immediately when they die on bridge things.
* The jumping shouldn't cause the player to grunt when standing still on bridge things and holding +jump.

(0005033)
Torr Samaho   
2012-10-07 16:03   
I think we cannot and should not try to emulate every miniscule detail of ZDaemon's behavior. Flags not dropping through bridge things considerably changes the gameplay on IDL map 04, that's why I started to work an this. But the DSOOF sound and the potential tossing (can somebody test if this happens at all?) are only minor differences (at least I don't see how they noticeably change the gameplay, but feel free to correct me if I'm overlooking something ). For people who don't want to play Zandronum because of such small things, there will always be a reason not to play Zandronum.
(0005056)
unknownna   
2012-10-09 14:52   
It seems that players don't toss their flags, so it works as intended.

Quote from Torr Samaho
I think we cannot and should not try to emulate every miniscule detail of ZDaemon's behavior.

Alright, then let us hope that this flag will satisfy the ZDaemon/Odamex people. But I must say that I think it would be wise to emulate certain aspects of ZDoom 1.23b33 thoroughly since ZDaemon and Odamex both use it as their desired competitive standard.
(0005062)
Dusk   
2012-10-09 16:33   
Quote
compat_oldbridgedrops

Just a minor nitpick.. all compat flags emulate "old" behavior so the "old" in the compat flag name seems superfluous. I'd suggest just compat_bridgedrops.
(0005068)
Torr Samaho   
2012-10-10 05:17   
We could removed "old" from compat_oldexplosionthrust and compat_oldbridgedrops, but IMHO we definitely shouldn't touch compat_oldrandom, compat_oldweaponswitch and compat_oldradiusdmg since they are already included in 1.0, so people are used to these names. Do you think it's a problem if the flags are are less consistent since some keep the "old"?
(0005069)
Qent   
2012-10-10 06:36   
Fortunately there are no "new" bridge drops, only lack thereof.
(0005082)
Watermelon   
2012-10-11 02:30   
(edited on: 2012-10-11 02:31)
Could change to:
compat_horizontalthrust and compat_bridgedrops

Does the "oldrocketthrust" affect only rockets? If so, then maybe compat_rocketthrust

(0005084)
Dusk   
2012-10-11 13:07   
(edited on: 2012-10-11 13:08)
compat_bombthrust? P_RadiusAttack calls them bombs. :P

(0005097)
Torr Samaho   
2012-10-14 08:55   
Alright, I dropped "old" from compat_oldexplosionthrust and compat_oldbridgedrops.
(0005099)
unknownna   
2012-10-14 10:54   
So this can now be marked as resolved I suppose.
(0005124)
unknownna   
2012-10-15 15:25   
Quote from Torr Samaho
Alright, I dropped "old" from compat_oldexplosionthrust and compat_oldbridgedrops.

The flags are still named "old" internally.

CVAR (Flag, compat_explosionthrust, compatflags2, COMPATF2_OLD_EXPLOSION_THRUST);
CVAR (Flag, compat_bridgedrops, compatflags2, COMPATF2_OLD_BRIDGE_DROPS);
(0005153)
Torr Samaho   
2012-10-21 17:12   
I intentionally kept the internal names. This is "old" behavior and IMHO it can't hurt to stress this in the source.