MantisBT - Zandronum
View Issue Details
0004506Zandronum[All Projects] Bugpublic2025-04-17 11:572025-04-18 15:29
unknownna 
Kaminsky 
normalminoralways
resolvedfixed 
3.2 
3.2 
0004506: [3.2] Gamemodes don't change if changed during intermission screens
While testing the recent fixes with the win strings, I came across an issue where game doesn't switch gamemodes properly in 3.2:
If you try to change the gamemode during intermission screens, the mode will not change properly after "map" map changes, unless done twice. This behavior did not occur in 3.1, so it's something that got introduced somewhere in 3.2.

This issue probably won't affect most users other than hands-on testers like myself.
1. zandronum -host
2. Connect a client to the server.
3. "nextmap" in the server console or RCON. The game will enter the intermission screen.
4. While in the intermission screen "deathmatch 1; map map01" in the server console or RCON. Unlike 3.1, the game will not turn into a DM in the next map.
5. When in the next map, "map map01" in the server console or RCON. The game finally switches to DM properly.
No tags attached.
Issue History
2025-04-17 11:57unknownnaNew Issue
2025-04-18 12:09KaminskyNote Added: 0024461
2025-04-18 12:09KaminskyAssigned To => Kaminsky
2025-04-18 12:09KaminskyStatusnew => assigned
2025-04-18 12:09KaminskyProduct Version => 3.2
2025-04-18 12:48unknownnaNote Added: 0024462
2025-04-18 12:49unknownnaStatusassigned => feedback
2025-04-18 13:54KaminskyNote Added: 0024465
2025-04-18 14:55unknownnaNote Added: 0024466
2025-04-18 14:55unknownnaStatusfeedback => assigned
2025-04-18 14:55unknownnaStatusassigned => resolved
2025-04-18 14:55unknownnaFixed in Version => 3.2
2025-04-18 14:55unknownnaResolutionopen => fixed
2025-04-18 15:29KaminskyNote Added: 0024467

Notes
(0024461)
Kaminsky   
2025-04-18 12:09   
I created a new topic to fix this regression:'https://foss.heptapod.net/zandronum/zandronum-stable/-/commits/topic/default/intermission-newgame-regression-fix [^]'

In general, the "map" CCMD couldn't work properly on the server's end during intermissions. If you can double-check that the fix above works for you and verify that the intermission timer on the scoreboard still works correctly, that'd be great. Thanks!
(0024462)
unknownna   
2025-04-18 12:48   
I tested it briefly, and it works ok without any pwads, but then I tested it with some IDL CTF:

* Changing it from CTF to OneFlagCTF and then using a "map map01" command during the intermission screen takes it to MAP02 instead of MAP01, and without a proper gamemode switch. It might have something to do with the MAPINFO lump of the particular wad.

It might also be a separate issue, let me know.

1. zandronum -host -file idl201x_a.wad +ctf 1 +sv_maprotation 1 +addmap map01 +addmap map02
2. "nextmap" in the server console. It will enter the intermission screen.
3. While in the intermission screen, "oneflagctf 1; map map01" in the server console. It will go to MAP02 instead of MAP01, and won't switch gamemodes properly.
4. When in the next map, "map map01" in the server console. It will finally go to MAP01 and change to OneFlagCTF.
(0024465)
Kaminsky   
2025-04-18 13:54   
Quote from unknownna
Changing it from CTF to OneFlagCTF and then using a "map map01" command during the intermission screen takes it to MAP02 instead of MAP01, and without a proper gamemode switch. It might have something to do with the MAPINFO lump of the particular wad.

It might also be a separate issue, let me know.


This seems to be an issue with 3.1, and most likely earlier versions of Zandronum, as well. In any case, I amended the commit in the aforementioned topic. Let me know if this works properly now.
(0024466)
unknownna   
2025-04-18 14:55   
That seems to have fixed the issues, thanks!

Tested with 3 clients on a local server with the IDL CTF wad, and then 2 clients on another normal local server. The intermission timer still seems to work as expected with 15 seconds before map changes.
(0024467)
Kaminsky   
2025-04-18 15:29   
Awesome, thanks for checking and reporting the issue in the first place!