Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
Fernito

Linedef action 37 texture change inconsistencies between PRBoom/GZDoom and Crispy Doom

Question

Hello everyone

 

I'm having trouble with the following, but before explaining, please take a look at the attached screenshots:

 

- The first SS shows the area before triggering the action

- The second SS shows the area after triggering it in GZDoom (which is the desired outcome)

- The third SS shows the area after triggering it in Crispy Doom

 

There is basically a linedef action 37 that triggers the lowering of all the sectors, and every sector has a dummy sector attached in order to give the target floor height and texture. What I don't understand is that only a few of the sectors of the whole bunch fail to inherit the target floor's texture in Crispy Doom. Any idea of why this could be happening and how to avoid it?

 

Thanks in advance for your help!

Screenshot_Doom_20220806_083926.png

Screenshot_Doom_20220806_083949.png

DOOM0041.png

Share this post


Link to post

4 answers to this question

Recommended Posts

  • 1
16 hours ago, Fernito said:

is that only a few of the sectors of the whole bunch fail to inherit the target floor's texture in Crispy Doom. Any idea of why this could be happening and how to avoid it?

 

CrispyDoom uses the original behavior for floor changes, which for some line specials is the "numeric model". As for how this works, here's from the doomwiki:

 

Quote

A floor action can be a texture change type, in which case after the action the floor texture of the affected floor, and possibly the sector type of the affected floor are changed to those of a model sector. The sector type may be zeroed instead of copied from the model, or not changed at all. These change types are referred to below as Tx (texture only), Tx0 (type zeroed), and TxTy (texture and type changed). The model sector for the change may be the sector on the first sidedef of the trigger (trigger model) or the sector with floor at destination height across the lowest numbered two-sided linedef surrounding the affected sector (numeric model). If no model sector exists, no change occurs. If a change occurs, floor texture is always affected, lighting is never affected, even that corresponding to the sector's type, nor is any other sector property other than the sector's type.

 

Numeric model algorithm:

Find all floors adjacent to the tagged floor at destination height

Find the lowest numbered linedef separating those floors from that tagged

The sector on the other side of that linedef is the model

 

What does this mean in practice? If you want your dummy sectors to work with floor change actions, the easiest way to ensure they have lower linedef numbers is to make a bunch of them BEFORE you start building the rest of your map. Happy dooming.

 

Edit: Double-checked and yes, linedef type 37 uses the numeric model. Even if it used the trigger model though, that could introduce its own set of oddities to work around.

Edited by SMG_Man

Share this post


Link to post
  • 1

Another tip:

- Create a new map with enough dummy sectors for what you want to achieve.

- Save / close the new map.

- Open the "actual" map, and copy the whole thing to the clipboard

- Open the dummy sectors-only map and paste clipboard contents into that, and save.

 

This saves you the trouble of butchering parts of your map to "kidnap" lower numbered linedefs. Been there & done that too :D

Share this post


Link to post
  • 0
8 hours ago, SMG_Man said:

 

CrispyDoom uses the original behavior for floor changes, which for some line specials is the "numeric model". As for how this works, here's from the doomwiki:

 

 

What does this mean in practice? If you want your dummy sectors to work with floor change actions, the easiest way to ensure they have lower linedef numbers is to make a bunch of them BEFORE you start building the rest of your map. Happy dooming.

 

Edit: Double-checked and yes, linedef type 37 uses the numeric model. Even if it used the trigger model though, that could introduce its own set of oddities to work around.

 

THANKS A LOT! That was it indeed! You're a life saver. I spent the whole day yesterday trying to figure this out myself... I tried looking for it on the Doomwiki, but I guess I'm dumb at searching for things. 

 

I solved it by going to the beginning of the map and "kidnapping" older linedefs from there in order to create new dummy sectors with lower linedef indices. Worked like a charm!

 

PS: and yeah, the next time I'll be sure to make a "buffer" of dummy sectors at the beginning of the map for these cases

Share this post


Link to post
  • 0
2 minutes ago, Uncle 80 said:

Another tip:

- Create a new map with enough dummy sectors for what you want to achieve.

- Save / close the new map.

- Open the "actual" map, and copy the whole thing to the clipboard

- Open the dummy sectors-only map and paste clipboard contents into that, and save.

 

This saves you the trouble of butchering parts of your map to "kidnap" lower numbered linedefs. Been there & done that too :D

 

That's very clever, thanks for the tip! :)

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
×