3dfxdev / EDGE

EDGE Source Code
http://edge2.sf.net
74 stars 10 forks source link

Doom, line action type troubles #75

Closed simc2 closed 4 years ago

simc2 commented 4 years ago

Hi, I noticed a couple of Doom line action types behaving unexpectly. I briefly describe them here. I know they should have been reported separately but they all seem like minor errors.

Boom reference: https://soulsphere.org/projects/boomref/ Test wads (Doom2 MAP01): testwads.zip


65: SR Raise floor 8 below the lowest next ceiling

In Edge type 65 will raise the floor to 8 over the lowest next ceiling. The other same type lineactions 55 (S1), 94 (WR), 56 (W1) target to the 8 below.


20: S1 Raise floor to the next, change texture and remove effect

It works now according to the numeric model. The tagged floor's flat texture is changed to match the sector behind the sector's lowest numbered 2s linedef.

But it should use the trigger model instead and change the texture to the one in front of the triggered action line's first side. The other linetypes 68 (SR), 95 (WR), 22 (W1) and 47 (G1) of the same kind are using the trigger model.


198: G1 Exit level to the Secret level

It currently leads to the next level the same way as the normal exit.

Corbachu commented 4 years ago

@simc2 Thank you for the bug report. I am busy today so I will for now try and respond one-at-a-time.

Regarding the first issue at hand:

65: SR Raise floor 8 below the lowest next ceiling

In Edge type 65 will raise the floor to 8 over the lowest next ceiling. The other same type lineactions 55 (S1), 94 (WR), 56 (W1) target to the 8 below.


65: SR Raise floor 8 below the lowest next ceiling The current behaviour of linetype 65 (as well as others), contained in Lines.DDF (specs at the EDGEWiki), is below:

// RAISE FLOOR CRUSH SR
[65]
TYPE=PUSH;
ACTIVATORS=PLAYER;
FLOOR.DEST_OFFSET=8;
FLOOR.TYPE=MOVE;
FLOOR.SPEED_UP=1;
FLOOR.DEST_REF=LOSURROUNDINGCEILING;
FLOOR.SFX_UP=STNMOV;
FLOOR.CRUSH_DAMAGE=10;
SINGLESIDED=TRUE;

I was only able to test very briefly, and will need to test in PrBoom to see the correct result, but this is what [65] is currently set to right now.

As soon as I have time (hopefully tonight) I can look into the issue. Feel free to look around lines.ddf and/or inspect for conformity in the meantime. As stated above you can find the overall definition outline for DDF by clicking here.

simc2 commented 4 years ago

Here are the differences between the same type of line actions in base\doom\lines.ddf:

Linetype 65 has: FLOOR.DEST_OFFSET=8; But the other same action types 55, 56, 94 have: FLOOR.DEST_OFFSET=-8;

Linetype 20 has: FLOOR.TEXTURE="-"; And types 22, 68, 95 have FLOOR.TEXTURE="+";

Linetype 198 has: EXIT=NORMAL; But other secret exits 51 and 124 have: EXIT=SECRET;

Here are those line action items in full: problem_lineactions.txt