Jump to content
  • 0

Bizarre Special 18 Bug


Question

Posted (edited)

edit: map provided in post #4

 

(PT 1)

 

This setup worked perfectly fine until just recently, when it suddenly stopped working after no modifications from me.

 

This switch makes this water sector raise up to the height of the sector pointed to with the red arrowimage.png.00edd1083814d5e98756e0c66935262e.png

 

I've confirmed that this part isn't the issue, but for extra information: this line, which the player crosses later, lowers the floor back down.

image.png.b202be855eb367d4e16f57da736070cd.png

 

Now, here's where it gets weird. When the initial switch is pressed, the water sector attempts to raise, but something is preventing it from doing so, so the floor stays lowered while the floor raising sound plays perpetually.

 

image.png.8a4738479be0611fca3b49c79e25f91f.png

 

Now, I know vaguely that in vanilla (crispy is not vanilla and probably does not have this limitation, but I digress), there's some limitation to how many lines a raising floor sector can have before the engine shits itself. Okay, we'll split the sector in half and add an extra highest floor sector to make sure it still works:

 

image.png.f1647faba7744f5fb831482dc40d4a03.png

 

Now the left half works fine, while the right half doesn't work. So evidently, the problem lies somewhere in the right half:

 

image.png.49ae4e94e46c26ed486dbaa981c23be6.png

 

Let's move the split. Hmmmm, left side still works:

 

image.png.3b9fd3316b6c1fa3a4d0902a4f2fce0a.png

 

Left side still works. The problem clearly has to lie somewhere in the neighboring sectors on the right, right? Think again!

 

image.png.de5a7128724bbbe1723b921a12b19fb5.png

 

The problem doesn't have to do with the adjacent sectors, but rather, it has something to do with the latitudinal line highlighted in red: image.png.10e1f7e1b651f8f096559f9dbaf4317c.png

 

As we can see, when the split is south of this line, the left side works:

image.png.a092d7499f59a8b599b12eb71c46460d.png

 

TO BE CONTINUED IN NEXT POST DUE TO ATTACHMENT SIZE LIMITS. IGNORE THE SPOILERED IMAGES, I CAN'T GET RID OF THEM FOR SOME REASON


---------------------

Spoiler

 

 

image.png

image.png

 

 

Edited by ⇛Marnetmar⇛

Share this post


Link to post

8 answers to this question

Recommended Posts

  • 1
Posted (edited)

All right this map is huge, I now appreciate the screenshots!

 

You have 4 zombiemen in a little alcove that are in spaces too short for them: things 1151, 1136, 1135, 1130. They look like they fit but once some geometry starts moving, they get bumped up to the nearby floors because of this bug. This makes them in a space too short for them, which in turn blocks movement of other sectors. (I don't entirely understand why tbh, something about the way the blockmap works.)

 

Delete those 4 guys, or move them somewhere that they have enough room, and the switch will work.

Edited by plums

Share this post


Link to post
  • 0
Posted (edited)

PT 2:

 

Now: if I move the split just 8 units to the north...

image.png.b545444da5615a452f6df7d1095bec9c.png


The entire setup suddenly stops working again!

image.png.fddfd6ac3138b0a35de6bde0bc9d523a.png

 

So the neighboring sectors are not the issue, nor is the size of the rising sector. What could be going on here?

Edited by ⇛Marnetmar⇛

Share this post


Link to post
  • 0
Posted (edited)

It would really be best if you just posted the wad instead of all those screenshots (or even in addition to).

 

My guess is you have a thing that is in a sector too vertically small for it, and in conjunction with a split sector, is doing weird things because of how vanilla handles split sector boundaries. Or something similar. (edit: IIRC things need 4 units of clearance height in vanilla to not risk being considered too tall for the sector.) See if it works in a different port under -complevel 9, to make sure it's some vanilla quirk.

 

 

Edited by plums

Share this post


Link to post
  • 0
Posted (edited)

Here's the map. Map is 13, IWAD is TNT, intended port is crispy. Just tested in DSDA Doom under -complevel 9 and it works as it should, so evidently it's a vanilla engine limitation. Any ideas for a fix?

 

hydroshock.zip

Edited by ⇛Marnetmar⇛

Share this post


Link to post
  • 0

A vanilla bug similar to this popped up when I was working on z1m3 for KDiKDiZD. If I understand it correctly from dew's explanation, moving sectors are doing some sort of boundary check that includes the entire rectangle encompassing the space between any merged parts (i.e. basically the rectangle you see drawn if you select the sector in Doom Builder and go into edit mode to scale/rotate it). This means that if you have a stuck monster anywhere in the space between the "main" part and the "dummy" part, it will be treated as though it's actually inside that sector, blocking it. The usually-works workaround is to make the main part and the dummy part parallel to each other, to minimize the size of that overall bounding box.

Share this post


Link to post
  • 0
9 hours ago, esselfortium said:

A vanilla bug similar to this popped up when I was working on z1m3 for KDiKDiZD. If I understand it correctly from dew's explanation, moving sectors are doing some sort of boundary check that includes the entire rectangle encompassing the space between any merged parts (i.e. basically the rectangle you see drawn if you select the sector in Doom Builder and go into edit mode to scale/rotate it). This means that if you have a stuck monster anywhere in the space between the "main" part and the "dummy" part, it will be treated as though it's actually inside that sector, blocking it. The usually-works workaround is to make the main part and the dummy part parallel to each other, to minimize the size of that overall bounding box.

In this case there isn't even a joined sector, it's just that there are some blockmap blocks from the large moving water sector that also had the troublesome zombiemen in them. I bet there are similar cases in maps out there where the map doesn't break just out of luck because of where the blockmap is in relation to the moving things.

Share this post


Link to post
  • 0
Posted (edited)
13 hours ago, plums said:

All right this map is huge, I now appreciate the screenshots!

 

You have 4 zombiemen in a little alcove that are in spaces too short for them: things 1151, 1136, 1135, 1130. They look like they fit but once some geometry starts moving, they get bumped up to the nearby floors because of this bug. This makes them in a space too short for them, which in turn blocks movement of other sectors. (I don't entirely understand why tbh, something about the way the blockmap works.)

 

Delete those 4 guys, or move them somewhere that they have enough room, and the switch will work.

that's not a bug, that's a feature. i made a map that uses that trick for the entire gimmick of the map.

 

 

Screenshot from 2024-05-07 06-08-23.png

Edited by LoatharMDPhD

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...