Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
printz

Why do crushing floors stop moving in MBF, Eternity and some other ports?

Recommended Posts

I've noticed a strange change in MBF (and maybe also in Boom) that advanced into EE: crushing floors don't continue moving when they're smashing something. In effect, anyone hit by them can escape. In vanilla Doom they'd just keep moving, and if their victim had enough life, it would be trapped there forever or until mercy killed.

Was there any serious reason for this change, or was it done just for the sake of it? I think it was perfectly fine to be trapped or otherwise mercilessly executed, but I fear it's too late to change this back, now.

Share this post


Link to post

Are you sure this is different?
I can remember that the same issue had been reported for ZDoom, too, but I cannot remember anymore what other port I checked against it to confirm the properness of this behavior.

Share this post


Link to post

Well, I tested it in Doom, then in MBF, in E2M4 with god-mode on. I tested in Eternity with and without -vanilla. With -vanilla, it worked like in vanilla. I didn't bother testing Boom and ZDoom.

Share this post


Link to post

Boom introduced this change. It was compat-optioned in MBF as part of comp_floors. So if you set it to 1 in .cfg or "Use exactly Doom's floor motion behavior" to YES via menu, the crushing floor in E2M4 works in MBF like in vanilla. Tested with Boom v2.02 and WinMBF 2.03.

edit: If Zdoom emulates MBF with comp_floors == 0, it does the right thing, IMO. Of all compat options in WinMBF the only one ON by default is comp_stairs.

edit2: I see it doesn't ... ho-hum.

Share this post


Link to post
printz said:

Was there any serious reason for this change, or was it done just for the sake of it?

Never_Again has pretty much covered it, but I will add the following from boomsrc/log_jff.txt:

1/25/98

Fixed the floor crusher bug. It was not resetting the floor position
when it encountered a monster blockage, allowing the monster to live if the
floor reached its destination before the monster died from crushing.
From which we conclude the Boom developers considered it a bug.

I think it was perfectly fine to be trapped or otherwise mercilessly executed, but I fear it's too late to change this back, now.

Perhaps the fix is suboptimal, but I don't agree that getting trapped is perfectly fine. At the least, death must be ensured - should one find himself stuck in a wall, unable to move or reset the level, with no apparent recourse other than to end the game, I don't see how he could reasonably conclude it was correct behaviour.

Share this post


Link to post

The same problem exists for one-time ceiling crushers as well, and that wasn't fixed if I remember correctly.

Interestingly, Hexen really fixed crushers completely - but due to the fundamental differences we had to offer both in ZDoom as an option.

Share this post


Link to post
Graf Zahl said:

The same problem exists for one-time ceiling crushers as well, and that wasn't fixed if I remember correctly.

Do those things really crush? I think I tried them in vanilla Doom and all they do is stop when hitting something, without damage, and when released they just continue by moving very slowly.

Share this post


Link to post

I can't tell but I remember there being a related problem when Strife support was added and the corresponding special turning out to be incompatible between the games.

But that was 10 years ago.

Share this post


Link to post
Never_Again said:

...edit2: I see it doesn't ... ho-hum.

Confused here. Did you mean?:
1. ZDoom doesn't get MBF emulation right
2. ZDoom doesn't bundle the crush along with comp_stairs like MBF does
3. ZDoom doesn't consider comp_stairs when crushing
or 4. I missed your meaning entirely

Ugh...stairs, and also friction, are the ugliest aspects of emulation to date. The code to do the emulation "properly" is seriously long and convoluted.

Share this post


Link to post
kb1 said:

Confused here. Did you mean?:
1. ZDoom doesn't get MBF emulation right
2. ZDoom doesn't bundle the crush along with comp_stairs like MBF does
3. ZDoom doesn't consider comp_stairs when crushing
or 4. I missed your meaning entirely

Ugh...stairs, and also friction, are the ugliest aspects of emulation to date. The code to do the emulation "properly" is seriously long and convoluted.


1. ZDoom isn't based on MBF and never implemented all its features.
2. I wasn't aware of this issue until today
3. And it won't. The stair crushing was a bug, not a badly implemented feature. This is a classic case of something needed for demo compatibility but for little else.

Share this post


Link to post

@Graf:

Those weren't facts: I was trying to figure out which 1 of the 4 guesses might have been what was being discussed. I actually had no idea if any of them were/are true statements when I wrote them.

Share this post


Link to post

Ok.

The discussion is about 2. and the reason why ZDoom doesn't fully deal with it is that I wasn't aware of this being an issue until yesterday.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×