- M_LevelListFromGametype: Correctly wipe tutorial status when changing from tutorial to gametype with cups
- G_GetFirstMapOfGametype: Fix tutorial handling, gametype's datatype
- M_InitExtras: to prevent duplicated code, use G_GetFirstMapOfGametype
- Go to a MainCfg-specified map on its guessed gametype
- `TutorialChallengeMap = RR_ZonedCity`
- Some unique settings
- K_CanChangeRules() == false
- If GTR_CIRCUIT, make it Hard Speed
- If GTR_BUMPERS, die in one hit
- If GTR_BOTS, make them all difficulty 13 of the default bot skin
- No Medals or Spray Cans during the Tutorial Challenge
- Complete the stage in 1st place or don't bother at all
- Has the "Give up" menu option available, but no "Try Again"
- Condition for successfully completing the Tutorial Skip
- `Condition1 = TutorialSkip`
Related bugfixes:
- Correctly wipe skipstats when returning to the Title/menus
- Typing of `ultimatemode` (hey this isn't accessible by anything right now I wonder)
- You will only see one uncompleted course on the Tutorial level select at a time.
- All subsequent stages will not be visible.
- This actually doesn't apply if you've beaten all the basegame Tutorial courses, and then load custom ones, to avoid discouraging the creation of those.
- If you select the menu and any loaded Tutorial stage is not completed, that stage will be highlighted automatically.
- Uses the same icon as the Grand Prix backup tracker
- Partly because it's the same general concept, saving your progress between sessions and alerting you to incompletion
- Partly so I didn't have to bother any asset creators for something more specialised
Currently exists for:
- Generating a Chao Key
- Attempting to use a Chao Key on a Major Challenge
- Only shows after Generating a Chao Key just so it doesn't fire before you know what's going on
Text is preliminary
Fills up as you complete challenges.
Unlock all Challenges without using Chao Keys on a major tile to get the Beginner Chao Medal.
Do so without using any Chao Keys at all and you get 101%, with the Challenge Chao Medal!
(This can retroactively apply if you complete the relevant tasks legitimately at a later date.)
Also makes CC_s into an enum (now prefixed with CMC_, since CC_MAX exists in a header file already).
Resolves#704
Now converts to skin prefcolor in:
- Player menu party
- Challenges menu
- Why it's done on this branch - want to avoid merge conflicts
- Gamepad indicator
- Actually fixes a bug at the same time for skins with nonstandard startcolors
- Must have every challenge surrounding it unlocked. (CHE_ALLCLEAR, see previous commits)
- Takes 10 Chao Keys.
- Has a swag animation.
In addition:
- Replace the DEVELOP-only Z button behaviour with "add a free key", since large tiles are no longer permalocked, only expensive.
This basically came to me in a dream, who am I to look the horse in its mouth
- Press to start a shuffled sequence, losing your current position in the autosequence.
- Press again to disable, but keep your current track.
- Adjust horizontal offset of Stereo buttons slightly.
- More judiciously comment Sound Test functionality, to assist future maintainers.
- V_HUDTRANS does not fade if combined with V_SLIDEIN
(since sliding elements are not supposed to fade).
- If not V_SPLITSCREEN, uses most opaque fade value among
splitscreen players (since Tally will fade back out for
specific players).
Reduces the toxicity of "userlist-bumping", the phenomena where you pick a name that begins as early in ASCII as possible for clout.
Now that only continues to apply to the sort that is already just a little toxic.
Instead of putting you on the room select but forbidding changing the room...
- You haven't unlocked add-ons (formerly forced to CORE)
- Skips the Room Select and takes you directly to the CORE mode Server Browser
- Game has add-ons loaded (formerly forced to MODDED)
- Forbid accessing the Server Browser with a helpful message.
- Reduces tech support burden.
- Parity with the previous entry in the series.
- Let players know if their cv_masterserver was changed, and give them the opportunity to change it back
- A limited number of nag attempts, so if people are using a legitimate custom Server Browser they won't be annoyed for the rest of the game's lifespan
- Show the Server Browser at the bottom of all online menus
- KNOWN BUG: currently overlaps with the Join IP
- we're redoing this menu before launch because it's buggy so this is just another bug on that pile
Ported from KartKrew/Kart-Public!286
Unlike the previous entry in the series, this actually defers outbound rules checks for either selecting "Host Game" on the menu, or starting a server via the console/command line parameters. Only attempting to host a non-advertised game via the menu will have sent out an unnecessary rules request to the MS!
- No longer reimplement base functionality in confusing overlapping situations, only add on top of it where necessary
- Fix the case where no servers were found to not allow scrolling past the bottom
- KartKrew/Kart-Public!313 has finally been integrated with the changed menu code
- Attempts multiple times to get every public server, up to nettimeout
- Clear the server list when entering/exiting and refrehing
- Show visible servers and potential servers opposite the Refresh input
- I would have done this in another commit, but the system was too broken to repair without just putting the working solution in wholesale
- Improved visual scrolling behaviour
- Pressing A actually joins the server
- CORE vs MODDED is handled in SL_InsertServer, not a seperate function to drop/memcpy things around
Also, abstract out the little "PLEASE WAIT..." message popup during potential IO block into M_PleaseWait (only used on connect process via Menu)
- No need to call CV_RegisterVar
- Cvar definitions live in only one file, easier to locate
- Organized into sections -- netvars, cheats, etc.
- Use builder pattern to initialize cvars
- Still need to extern if you want to read the cvar value