[Fixed] Strife linedef trigger type 52 possibly incorrect
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
- Graf Zahl
- Lead GZDoom+Raze Developer

- Posts: 49252
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Strife linedef trigger type 52 possibly incorrect
According to this thread type 52 is supposed to end the level and go to the next one. Currently it is implemented as a non-repeatable hub-travel type.
even though it functions as a standard doom exit type. Hub information are still saved. Also it will warp the player to any level based on the linedef tag. BUT it will only spawn the player on the player1 spot, NOT the map spots like linedef 145.
Linedef 124 just plays a slideshow. (Triggering it again just displays a black screen then resumes the game).
Linedef 124 just plays a slideshow. (Triggering it again just displays a black screen then resumes the game).
We are both right, actually. If the tag is 0, it goes to the next map, otherwise it goes to the specified map. Here is the code for that line type:
And here is the code for Strife's G_ExitLevel:
So ZDoom's ACS implementation should look like this:
Fixed.
Code: Select all
case 52:
G_ExitLevel (tag/100);
break;
Code: Select all
void G_ExitLevel (int tag)
{
if (tag == 0)
{
tag = gamemap + 1;
}
exitmap = tag;
exitstart = 0;
gameaction = ga_completed;
}Code: Select all
case 52:
tag /= 100;
if (tag == 0)
{
Exit_Normal (0);
}
else
{
Teleport_NewMap (tag, 0, FALSE);
}
break;