Each map now just has a countdown for when they'll reappear (stored in mapheader), which gets decremented each time a new map is played. This means it's now compatible across gametype switches, is a lot less complex, and is easy to retrieve the value for a specific map without needing to iterate constantly.
Lots of the old unused code surrounding this function was also removed. Lastly, added a PARANOIA check for callAgainSoon being mishandled.
NEP: I've added back map hell and gametype switching here since it was not in RR
* Tie all voices to skins, allocate voices during skin allocation and patching
* Bring back voice.name, kill voice.parent, add voice.id
* Lua compatibility for voices (again) soon (hopefully)
- Set gamemap after intermission, rather than before.
- Fixes a bug where the NO CONTESTed player wouldn't get cycled out on the 4th round, because it had already been incremented by G_GetNextMap.
- Make the vote screen a special NEXTMAP_VOTING constant, for sanity, and to make cv_advancemap handled all in one place.
- Along with the above, fixes a bug where changing cv_advancemap would only enable or disable the voting screen, not change the nextmap.
- Call G_EndGame in G_NextLevel, since they were never used seperately.
- Add Special Stage and marathonmode to K_CanChangeRules.
Some edits had to be made for this to work better over in Blan. Like due to things such as lack of fonts.
I also ported the V1 driftgauges over to this new system as well since people like those.
* All those fugly main loop copies are GONE! Replaced by one powerful loop
* Chat, menus and console can now be used during wipes
* Wipes are now interpolation-enabled
* Screenshotting now works consistently