[1.0.26] MAPINFO and line type 74 conflict

Bugs that have been resolved.

Moderator: Graf Zahl

Locked
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

[1.0.26] MAPINFO and line type 74 conflict

Post by Enjay »

In previous versions of Zdoom (including Zdoom 2.1.7), line type 74 (teleport to new map) would always take the player to the map specified by the arguments on the line, regardless of what was in MAPINFO as the "next" parameter for the map you were leaving. In GZdoom 1.0.26 it doesn't always.

Consider the following MAPINFO that I made to try and replicate the problem that I have been having with my project...

Code: Select all

map map01 "Test"
sky1 SKY2 0.0
music D_ROMERO
cluster 1
fallingdamage
nointermission
next EndgameC
If you use this on top of DOOM2.WAD, you will get the EndGameC sequence when you exit the map normally (as expected). However, if you put a line type 74 somewhere in the map, sometimes it takes you to the correct next map (as specified by the line args) and sometimes it takes you to the EndGame instead.

Randomly, I picked MAP23 as the parameter for the line type 74 and GZdoom took me to that map. This is the expected and desired behaviour. However, this confused me as every instance in my own project had not worked as desired. I thought perhaps I'd screwed something in my project and I would not be able to replicate it easily.

Determined to find the problem, I then picked MAP32 as the map parameter for the line 74 and instead of going to MAP32 when I activated the line, I was taken straight to EndGameC after the message telling me that I had found the secret level. This is the problem that I had experienced with my own project.

The problem only seems to occur if the map you are leaving had one of the EndGame types (including EndPic) specified and not if an actual map has been specified. If you specify an actual map instead of EndGameC in the MAPINFO above (I tried MAP18), a line 74 with MAP32 as a parameter should work as expected and take you to MAP32.

As to why MAP23 works as expected and MAP32 doesn't, I don't know. Something to do with clusterdefs, or the map's position in the game sequence?


So, in short, if a map has an EndGame of some sort specified as its "next" map in MAPINFO, when the player activates a line type 74 within the map, GZdoom will sometimes take the player to the map specified by the line and sometimes take the player to the EndGame specified in MAPINFO.


That's about all I have on the problem other than it has rendered useless a "mission selection" map I was working on. :?
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

That's the reward you get for cleaning up some really messy code... :(

In this case I saw the need to do some changes to the level exit code (which didn't really work for secret exits) but I overlooked one particular side effect: The intermission text screen got the endgame information from the wrong place. With the old hacky code that just happened to work, with the new code it didn't.
Locked

Return to “Closed Bugs”