- 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
- Gametypes have "GPpic" and "GPpicMini" parameters
- These are shown in contexts where a Round Number would be shown in GP, but an eventmode is under way.
- Instead of having different rules to show up on the pause menu, titlecard, and tally/intermission...
- Pause Menu Roundqueue, Tally, and Intermission have all been aligned to the same rules.
- As long as the titlecard is standard, it will show the GP Pic per those rules. (GTR_SPECIALSTART and GTR_BOSS still have their unique behaviour here)
- Removed all old dev title screen remainders that were interfering with titlemaps.
- F_VersionDrawer displays on all title screen types
- SA2 intro sound only plays whenever there's am actual title card to show (before it checked for not GS_CEREMONY?)
- Removed redundant customversionstring check in menus (F_VersionDrawer already handles customversionstring)
- If a follower with the specific Mystic Melody sound effect (DSMELODY) is used on the Shrine by a local player...
- Activates the shrine after two seconds!
- This is clientside only.
- Stores on the mapheaderinfo's mapvisited record
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.
- M_UpdateChallengeGridExtraData: Register whether major unlock tiles have had every surrounding Challenge cleared (CHE_ALLCLEAR)
- M_DrawChallengeTile: For locked tiles with CHE_ALLCLEAR, show a little dot (temporary drawer)
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.
Based on VC discussions
- When you've unlocked add-ons, show "Core Servers" or "Modded Servers" in lieu of "Server Browser
- Adjust the vertical height of the Room Select graphics to not be visually overlapped
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
- 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)
Instead of being specific to each level, Spray Cans are stored in a list on gamedata that will be stepped along each Spray Can you collect.
They are only assigned to a level on collection - which prevents you from farming the same easy location for every colour in the game.
In addition, this new system is one step short of dehardcoding them entirely. Now only Spray Cans specifically asked for by the existence of UC_SPRAYCAN will be put in the list, and if a secondary parameter is either "Yes" or "True", it will be put at the head of the list. This could technically support custom skincolours one day, but the author of this commit doesn't care to do the last bit of work necessary to make it happen.
There's a slight extra overhead in that skincolor_t now also holds a `cache_spraycan` (renamed from `cachedcan`, which maps had previously)
Currently, there's no safeguard against grabbing it on a custom course - you'll lose the Spray Can as soon as you load a fresh game again - but I consider that easy to fix (tomorrow) and necessary before merger, because the author of this commit does NOT want complaints on release because we forgot to protect users who keep on losing their skincolors.
- Replaces a few D00DKart objects because the doomednum specifically replaced one of these
- Reports on load if the map has too many, or if one's assigned but the object doesn't exist
Increments gamedata minor version, be aware
- M_AssignSpraycans
- Called in M_FinaliseGameData.
- Attaches a hardcoded set of colours to all race maps in cup order, stopping once we run out.
- The colours are shuffled, with some "freebies" always at the head of the list.
- Integrates partial lists pretty well.
- In DEVELOP builds, I_Errors if it produces corrupted state.
- G_LoadGameData, G_SaveGameData
- Save & Load is implemented for these assignments
- One extra row, to match the position of the headers on other pages
- Add "time" column if Time Attack for relevant gametypes is unlocked
- Seperate row header from Lost and Found for tutorial mode maps
- Add background lines to each row to increase parsability