Game design solution to the problem of multiple Challenges being unlocked at once not being clear enough.
Uses the `unlockpending` array for gamedata save purposes, which I was always intending to use for this purpose but never quite got around to.
This is the minimum requirement for release, just to stop
Mega Collision Chaos from going off the screen.
- 2 words
- 1 word on top
- 1 word below
- 3 words
- 2 words on top
- 1 word below
- Mostly hijacks the gamemode menu format (Local Play)
- Host
- Select gametype (Race, Battle)
- Shortcuts to Gameplay Options and Server Options
- Select map
- Browser
- Unchanged
- Direct Join
- Press A to enter an IP address
- Press C to reconnect to the last joined server
- Left/right cycles through the server history
- Most R_SkinAvailable calls should be returning index into demo.skinlist (same numerical value as when demo was recorded), for demo sync
- A handful of general things permit exception for this
- Expose `replaynumskins` (calculated as `(demo.playback ? demo.numskins : numskins)`) to Lua
- There's *always* more that can be done for this, but this is the minimum spec that can at least be somewhat stable
- Remove CV_NOSHOWHELP, so the config file can load
- Do not stealth set the cvar, so it is not dependent on
order of operations of config loading and challenge
loading
- 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.
- 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
- Hold right to scroll binding text into Bind Ben
- Release right to cancel
- When the text is done scrolling, Bind Ben begins
chewing
- Release right to have Bind Ben swallow
- After Bind Ben swallows the binding text, he does
a cute pose and the control is cleared
- Press up or down to skip the swallow and pose
animations and clear the control immediately
- Press C to have Bind Ben quickly eat the binding text
and clear the control
- A method to access Encore in Time Attack
- so we have SOME Encore singleplayer content on launch
- Also available for Versus mode (in Special Attack)
- Finally, Encore rematches have a way to access them!
- Obviously will not spawn a chasing SPB, it's just a signal for "hard mode"
- Relevant gametype + unlock checks have been abstracted into M_EncoreAttackTogglePermitted