- All gametypes will be shown in the drawer, as opposed to just Race
- However, don't attempt to add the preview pic for CUPCACHE_SPECIAL (the Sealed Star)
- TehRealSalt and Lat` are currently preoccupied, so handle their credits
- Correct some accidential copypastes of existing boilerplate into new files
- Add a handful more of mine
- Consistency for Kaito Sinclaire's online handle
- Fix GS_INTRO not being Title Screen
- Fix GS_EVALUATION not being Credits
- Use Watching Replays while browsing Egg TV menu
- Use GP difficulty names instead of speed names during GP
Stays with you after you leave the Challenges screen.
Also remove the duplicate-effort attempt-to-pre-optimise considersealedswapalert that only considered SECRET_SPECIALATTACK - it should also report here under other unlockable progressions, if relevant.
Guarantees netUnlocked is correctly updated in most contexts, since that's dependent on SV_ResetServer, which isn't called if a server is running
Also guarantees titlemapinaction isn't true during regular play
- Access to the replay menu in intermission leads to
various problems
- Broken options
- HOM effect
- You can press A on the intermission screen to end it
- If you viewed a map with multiple staff ghosts and moved
the selector
- Then viewed a map with only one staff ghost
- Then went back and viewed a map with multiple
- The selector would get stuck on only the first option
- Input handling is done straight in G_MapEventsToControls
- If a keyboard event is received, switch off virtual
keyboard
- Removed the input lock while virtual keyboard is
sliding away
- If a gamepad event is received, and it is a change of at
least half the full range, switch on virtual keyboard
- Virtual Keyboard can switch to a temporary menu while
typing
- It will switch back to the previous menu after it's
closed
- This functionality can be used even if the menu isn't
already open
- It will close the menu and return to gameplay when the
Virtual Keyboard is closed
- If emerald not yet collected on that cup, pick the first uncollected emerald, then get the cup's CUPCACHE_SPECIAL with that ID to pick the stage
- Already collected emeralds retain their swappage across gamedata saves
- Returns to normal order if you get all 7 OR Special Mode is unlocked (chao key? debug? password in modded games? sky's the limit)
- Pops up a Message from the Stars telling you the gems have been returned to their natural place
- Add-ons will always use their dedicated sealed star, since it's unordered material
If it weren't so last minute I could have a better solution for GP Backups, but right now what I've gone for is it always trusts whatever G_GPCupIntoRoundQueue does AS LONG AS THE COURSE ISN'T THE ONE YOU'RE RELOADING INTO. If it IS, then it checks to see if it's exactly what's been saved, and complains (with the generic error message, unfortunately) if it isn't.
- Quick Retry (Y in modeattacking) now cannot be fired in demo.playback
- Add Quick Spectate (L+R+A+Start) per request
- Only fires in Playing() + if gametype has spectator
- Should support local splitscreen players, but can't test it by myself
- If this input is held down in its full combination by p1, the pause menu itself will not open
- Does NOT have any functionality if the player is already a spectator, it's just a quick bail
- Replace the old method of adding each binding one at
a time
- Hold up to 4 inputs at once, then release to bind those
inputs to the control
- Changing the bindings overwrites the old bindings,
instead of adding to them
- More consistent and graceful recovery from gametype change
- Fix a potential bug with restoring the menu from Tutorial stages
- Store the calling menu in this struct
- Permits removing the Match Race restoreMenu hack
Avoids the controller reassignment message and ensures only one
controller participates in goner setup. Also unassign all devices when
returning to the title screen
- Left of MIN: largest value not within MIN/MAX
- Keep going left to wrap around to MAX
- Right of MAX: smallest value not within MIN/MAX
- Keep going right to wrap around to MIN
- Always lands on MIN/MAX
- Trailing zeroes removed
- Keep ".0" at the end (for style)