Vanilla Highest Floor Problem

Currently working on a vanilla map in Doom Builder 2, but a strange bug is impending my progress: whenever an action that's supposed to raise or lower a floor to the highest adjacent floor happens, the floor instantly raises to the ceiling. The problem shows up in both Chocolate Doom and PRBoom+. The weirdest thing about this is that it only occurs in one half of the level; whenever I use one of the actions in the other half everything works as its supposed to.

Anyone know what could be causing this?

Share this post


Link to post

Sounds like the floor is lower than -512 map units. Those linedef types fail outside -512, 512 map units in height IIRC.

Share this post


Link to post
traversd said:

Sounds like the floor is lower than -512 map units. Those linedef types fail outside -512, 512 map units in height IIRC.

Seriously? I've never heard of this before.

EDIT: Sure enough. There's a note left in the BOOM source about this. God, all those routines were coded so terribly.

Share this post


Link to post
Quasar said:

Seriously? I've never heard of this before.

EDIT: Sure enough. There's a note left in the BOOM source about this. God, all those routines were coded so terribly.


You mean those?

Fixed P_FindHighestFloorSurrounding routine in P_SPEC.C to use MININT
as it initialization for the highest search rather than the arbitrary
-500 units it did.

Fixed P_FindHighestCeilingSurrounding routine in P_SPEC.C to use MININT
as it initialization for the highest search rather than the arbitrary
0 units it did.

Share this post


Link to post

I commented on this type of issue here, where it impacted another wad. Once you're aware of the issue, it's easy enough to find workarounds that avoid the wad becoming port-specific.

Share this post


Link to post
Gez said:

You mean those?

And don't forget P_FindNextHighestFloor which would trash the stack if there were too many adjoining sectors.

Share this post


Link to post
traversd said:

Sounds like the floor is lower than -512 map units. Those linedef types fail outside -512, 512 map units in height IIRC.

I raised the height of everything and the actions started working normally. This this was definitely the culprit. Surprised I never heard of this bug before considering how common it must be in maps with steep height differences.

Thanks for the help guys!

Share this post


Link to post

I had the pleasure of running into this bug for one of my BtsX contributions :P (and someone else ran into it before I did). Before that, I had no idea of its existence. But it definitely made me scratch my head for a few hours.

Thankfully though, as Gez pointed out, it is pretty easy to work around.

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