Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004125Zandronum[All Projects] Suggestionpublic2023-04-05 13:592023-05-01 19:01
Assigned To 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0004125: A function that replicates `map` (and `changemap`)
DescriptionMega Man 8-Bit Deathmatch uses ConsoleCommand for `map` for hard reset purposes, since some latched cvars cannot take effect until a hard reset. We also do use it to also change the map in some particular campaign scenarios to boot online players out of campaign exclusive maps.

Tangentially related to this ticket would be a function that just emulates `changemap`, because while ChangeLevel exists, that function is more geared towards cooperative and survival uses.

The broadest way to implement all of these would be a ChangeMap function which takes a `mapcode` parameter and `reset` parameter which swaps it to a `map` style change. Modders can already grab the current map code, so this function could be used in conjunction to perform hard resets to same map.
Attached Files

- Relationships
child of 0001070newDusk Phasing out the dangerous ConsoleCommand for various additional/improved ACS commands 

-  Notes
User avatar (0022834)
Trillster (reporter)
2023-04-30 22:30

Adding a note that it could potentially be useful to have a `nextmap` ACS function alternative if `map` and `changemap` receive one.
User avatar (0022835)
WaTaKiD (updater)
2023-04-30 23:38

for completionism, theres also 'nextsecret'
User avatar (0022836)
DrinkyBird (developer)
2023-05-01 15:12

From what I can see, the only difference between the changemap command and ChangeLevel function is that the former waits for the survival countdown to end first. If needed, could that not be emulated by GetGameModeState?

And the only difference between the nextmap/nextsecret commands and the Exit_Normal/Exit_Secret specials is that the former throws an error if the next map doesn't exist.
User avatar (0022837)
Trillster (reporter)
2023-05-01 19:01

I actually had not known that Exit_Normal and Exit_Secret existed, I would imagine those would suffice for my purposes. However, for ChangeLevel, I have noticed in the past when trying to use it in lieu of ConsoleCommand("changemap") that it sometimes would not properly mark maps as used/current in the map rotation.

For context, I use ConsoleCommand("changemap") for an addon that allows players to vote for the next map, changing the map during the results sequence instead of letting the engine handle it. From my experience, substituting ChangeLevel into that spot sometimes results in weird scenarios where the current map is not marked green or later as invalid when using GetMapRotationInfo.

It may warrant further investigation to just make sure that issue gets fixed, but I'm not entirely sure how to make a minimum example file in this case, since the issue appears randomly it would seem.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2023-04-05 13:59 Trillster New Issue
2023-04-05 19:10 Kaminsky Relationship added child of 0001070
2023-04-30 22:30 Trillster Note Added: 0022834
2023-04-30 23:38 WaTaKiD Note Added: 0022835
2023-05-01 15:12 DrinkyBird Note Added: 0022836
2023-05-01 19:01 Trillster Note Added: 0022837

Questions or other issues? Contact Us.


Copyright © 2000 - 2023 MantisBT Team
Powered by Mantis Bugtracker