Effective for:
- Gamepad up/down
- Transition (without fade)
Does not affect buttons inside boxes. My reasoning here is
that these show arrows when highlighted anyway, so that
fulfills the extra feedback.
Instead of manually handling every single transition, only simple transitions are unique.
Helper functions are used for the complicated transitions - Color selection if there's more than 1 colour, Follower selection if you have any followers unlocked, and the choice of Alts versus Character when going back.
Fixes a whole class of issues where, for example, you'd skip over setting your skincolor if you went through the Alts submenu, but not if there's only one character on that statblock.
- Imply passage of time when returning from Tutorial to Outro by resetting all the background variables
- Add an additive layer to the Options cogs, so they show up over an extremely dark background
- Metal Sonic will not focus on Tails/Eggman until video is restored
- Don't draw the Miles Electric transparent unless it's completely in its upright position
- Hook into M_PlayMenuJam, to reduce bespoke behaviour
- Use the finalised track string
- Play on the Sound Options menu
Also, use MAIN_Goner as reference for the password field's presence, because I lost like 30 minutes to a related bug
- Play O_SSTAR3
- Special darkened background
- Imagery to replace the minimap, since Special Mode maps generally don't have them as a rule
- Sealed Stars:
- Star Within The Seal, from the standard Evaluation
- Versus:
- The DeviantArt SignatuRes
- Fix messed-up transitions between Time Attack main menu and Replay, Guests, and Ghosts submenus
- Special Mode specifically:
- Forced unexpected wipes
- All modes:
- Don't slide away the minimap (or replacement imagery) when going between these menus
- Fix music not being correctly attached
- Correctly center minimaps in Time Attack view
All backgrounds are now handled by a seperate routine.
This will allow more fine handling without a ton of special cases everywhere.
Creates an absolutely nasty diff because all menu_t have been updated in one blast 🥹
For the things that DO need to draw outside of GS_MENU (M_DrawOptionsCogs, the Wrongwarp), the behaviourflag MBF_DRAWBGWHILEPLAYING has also been added.
- Rename the Name fields to "Profile ID" and "Player Tag" respectively, for clarity
- Re-order and re-align, so the given area on the Profile Card is lined up for readability
- Use the smaller version of the gamemode font, to have the screen less crammed full
- More dialogue
- Restrict access to your choices based on your progress through the Goner Setup.
- Save progress through the setup to gamedata
- Resets to beginning when Challenges is cleared
- Passwords
- Only permit the password entry in like the first two seconds
- Preemptively disarms potentially annoying people in stream chats
- Make wrongwarp also quit the game on exit instead of returning to the title screen
- Add GDQ cheats
- `savetheanimals`
- `savetheframes`
- Both do practically the same thing, with slightly modified dialogue.
- Skips all of the normal dialogue.
- Performing a social experiment on anyone who might stream this game at a charity event. :)
The simplest passable version of the first boot experience.
- The minimal set of options you will want are available right in front of you.
- Quit
- Password
- Video Options
- Sound Options
- Profile Setup
- Begin Tutorial
- Will not start any menujams while this is in progress.
- Controlled by M_CupSecondRowLocked
- Looks for any Cup with associated unlockable that's on the second row
- Cached on load for both relevant menus - Cupgrid and Challenges
- Custom cups will be stretched out onto more pages
- Side incentive of unlocking more material: Less annoying interactions with custom material
- Pages with nothing unlocked are completely skipped over
Also moves a bunch of minor things which previously used magic numbers to the CUPMENU_COLUMNS/CUPMENU_ROWS defines, for sanity
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
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.
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.
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!
- 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
- Characters is default page because it's Dr Eggman's game
- Keep page when exiting menu and returning
- Remove/comment out the overview page, since the overview is currently visible on all pages
- Show placement with position-modified monitor mini-icon
- Reworked alignment AGAIN
- Dots instead of dashes for empty spots on the GP statistics
- Now also applies for a missing emerald/prize
- Shaded glass background behind the icons for readability
- Shows wins for every character
- Shows heatmap of which stats are your favourite (of the loaded skins)
- Adds a header to the top of all statistics pages showing you can scroll left and right
- General spacing is adjusted to accomodate