Commit graph

585 commits

Author SHA1 Message Date
James R
6ac24cf3f4 Menus/Cup Grid: interpolate slide away 2023-12-29 05:46:56 -08:00
James R
5d35c97955 Menus/Cup Grid: interpolate scrolling level previews 2023-12-29 05:46:56 -08:00
James R
ec2ecd2e62 Menus: interpolate Gamemode menu transitions 2023-12-29 05:46:56 -08:00
James R.
26ec935bba Merge branch 'char-select-polish-pass-1' into 'master'
Character Select polish for Profile selection

See merge request KartKrew/Kart!1735
2023-12-29 13:41:02 +00:00
James R.
d0e1d0a42a Merge branch 'menu-indents-pass-1' into 'master'
Menu indentation for selected options (first pass)

See merge request KartKrew/Kart!1736
2023-12-29 13:40:51 +00:00
James R
cfc3b66707 M_DrawGenericOptions: highlight non-default cvar value in orange and display dot beside 2023-12-29 05:36:38 -08:00
James R
64aaf02b8a soundtest: refactor to track tune with integer instead of string 2023-12-29 04:30:54 -08:00
James R
48fcc38691 Profile card: add Accessibility menu
- Move "Toggles" from Controls to Accessibility
2023-12-29 11:03:47 +00:00
James R
8b65779a4e Menus/Character Select: show character/follower behind ALL GOOD/CHANGE options
- Drawn at 50% transparency
2023-12-29 09:40:34 +00:00
James R
68a73a4bf0 Menus/Character Select: highlight selected Profile
Color is subject to change. I used Sapphire, but it
doesn't have any green in it. However, I used it because
it produces good saturation.
2023-12-29 09:40:34 +00:00
James R
30e94d81fe Menus/Character Select: interpolate Profile selection 2023-12-29 09:40:34 +00:00
Oni
1ca12f2170 Merge branch 'cache-virtual-kb' into 'master'
Menus/Virtual Keyboard: cache cvar string for duration of typing

See merge request KartKrew/Kart!1737
2023-12-29 09:14:11 +00:00
Oni
5480143e78 Merge branch 'randomize-menu-bg' into 'master'
Randomize menu backgrounds

See merge request KartKrew/Kart!1742
2023-12-29 08:12:45 +00:00
James R
290383364f Define M_TimeFrac et al ATTRUNUSED
see a7e8a4d5e
2023-12-28 21:53:00 -08:00
Sally Coolatta
719f4355a2 Randomize menu backgrounds
Can be any unlocked, non-Special Stage, non-boss map with a thumbnail.
2023-12-28 23:39:10 -05:00
toaster
a7e8a4d5ee Temporarily define out M_TimeFrac, associated
Fixes -Werror=unused-function
2023-12-28 16:35:48 +00:00
toaster
89b8aa0a55 Merge branch 'challenge-consarnit' into 'master'
Challenge Consarn-it

See merge request KartKrew/Kart!1722
2023-12-28 14:55:53 +00:00
James R
0ef1abcf3a Menus/Virtual Keyboard: cache cvar string for duration of typing
This avoids calling cvar callbacks after every key press.
2023-12-28 05:54:01 -08:00
James R
e114bf8f95 Menus: pop out highlighted button on Gamemode menus (except when fading in)
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.
2023-12-27 12:26:30 -08:00
James R
0ff29a2a41 Menu/Match Race: indent settings when highlighted 2023-12-27 12:25:26 -08:00
James R
5d1d0deb6d M_DrawGenericOptions: indent highlighted option 2023-12-27 12:25:26 -08:00
James R
93e9bd5485 Add menu_anim_t and easing helper functions 2023-12-27 12:24:53 -08:00
toaster
a07aeef049 play-char-select.c: Reduce copypasted hell
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.
2023-12-26 23:00:09 +00:00
toaster
49e48c267a Use thin font for Challenge descriptions 2023-12-26 17:02:11 +00:00
toaster
322e4d3447 M_DrawHorizontalMenu: Final entry flashes when not selected 2023-12-18 17:52:06 +00:00
toaster
c6edfa0de5 Goner Setup Polish
- 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
2023-12-18 17:01:29 +00:00
toaster
83025f10e9 M_DrawMenuTyping: Forgot to commit y update 2023-12-18 14:33:35 +00:00
toaster
55e3abf58d Teach players how to interact with Goner Setup just before input is first required
- Checks for whether a Gamepad is connected
    - If yes, says you can use "your Gamepad"
    - If no, says you can use "Enter, ESC, and the Arrow Keys"
- Show ENTER and ESC on any Message prompt (instead of A/B/X) if no Gamepad is connected
    - Add M_DrawMediocreKeyboardKey, a genericisation of the previous entry in the series' Time Attack HUD
2023-12-18 14:30:58 +00:00
toaster
c63ebf2129 M_DrawMenuTyping: Update informational text, since you can no longer automatically switch between Virtual Keyboard and standard typing while the dialog is open. 2023-12-18 14:25:10 +00:00
toaster
1505167422 Goner Setp: Add scroll 2023-12-09 17:32:15 +00:00
toaster
6c7a1c14e5 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into tutorial-pass 2023-12-08 13:08:43 +00:00
toaster
11fcb0b9ae Goner Setup: Cook 3 - Add "Outro"
One last guaranteed visit to the setup, to get a sendoff before the game truly begins.
(The "survey program" joke is now themed softlock prevention.)
2023-12-07 23:36:02 +00:00
toaster
ae8db80a75 Goner Setup: Background has stronger presence
- Show pure blue with NO SIGNAL when Video Options have not been configured
- Show underneath other menus
2023-12-07 23:06:37 +00:00
toaster
91682c3250 Fix transitions for Level Select -> Time Attack
Previous version was too specific
2023-12-07 16:36:04 +00:00
toaster
60e6445fd2 Special Mode Time Attack swag to unwind
- 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
2023-12-05 21:23:58 +00:00
toaster
85d8cfdf85 menu_t: Add bgroutine
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.
2023-12-04 20:10:03 +00:00
toaster
792fcf2ad8 Profile edit character select: Get transition to work 2023-12-04 13:44:15 +00:00
toaster
17c0ceba23 Profile edit polish
- 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
2023-12-04 13:27:47 +00:00
toaster
e91115a8fa Goner Setup: Cook 2
- 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. :)
2023-12-03 22:34:06 +00:00
toaster
df85b5d625 First pass horizontal menu for Goner Setup 2023-12-01 22:50:03 +00:00
AJ Martinez
3eab93bd50 Warn users about resolution performance impact 2023-11-29 15:37:14 -07:00
Oni
25d10e382a Merge branch 'locked-cuprow' into 'master'
Second row of cups is invisible if none of them are unlocked

See merge request KartKrew/Kart!1652
2023-11-22 07:30:36 +00:00
toaster
382119b8fb Second row of cups is invisible if none of them are unlocked
- 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
2023-11-20 21:09:33 +00:00
toaster
b09a9b40c4 Account for Hidden Palace-like replacement levels in the round queue and ranking systems
- When a nextmapoverride is in play, do not insert the just-played map into the GP Rank
- Put all the behaviour that determines which Round icon to show in exactly one places

Also, fix a bug where it would show the skin realname for a spectating player's tally instead of the ROUND text.
2023-11-19 18:01:02 +00:00
toaster
a55803b690 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-18 18:00:05 +00:00
James R
28f1fc7175 Character Select: add button prompts for info and default buttons 2023-11-16 22:30:11 -08:00
toaster
da1cdd0825 Draw game "Pause" text above level + menu background, but below menu text
Prevents the need for carving exceptions like the Stereo Mode or various mid-game Options (would otherwise have been needed)
2023-11-13 21:33:02 +00:00
toaster
89e97a6e76 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-05 18:52:20 +00:00
toaster
95ea6ae883 Tutorials are now strongly ordered, as opposed to passively ordered
- 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
2023-11-04 22:13:24 +00:00
toaster
388b14e956 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into will-it-blend
# Conflicts:
#	src/k_podium.c
2023-10-29 12:36:30 +00:00