Commit graph

446 commits

Author SHA1 Message Date
James R
95378ade8f k_menu: move easing helper functions to k_menu.h 2023-12-29 08:22:43 -08:00
James R
a461a6cfb2 Menus/Profiles: interpolate with menu transition
Replaced some linear transitions according to taste.
2023-12-29 08:15:19 -08:00
James R
d6439b8462 Menus/Options: tweak easing algorithm 2023-12-29 07:23:06 -08:00
James R
f1b4444395 Menus/Options: align moving button with menu scroll 2023-12-29 07:22:14 -08:00
James R
91452fcfed Menus/Options: use fixed-point positioning
This avoids a precision error when compared with the
moving button.
2023-12-29 07:14:47 -08:00
James R
a1c76b044e Menus/Time Attack: interpolate menu transition 2023-12-29 05:56:23 -08:00
James R
67e76ae720 Menus/Level Select: fix interp for Time Attack transition 2023-12-29 05:47:27 -08:00
James R
c805cdc24a Menus/Erase Profile: interpolate with menu transition 2023-12-29 05:46:56 -08:00
James R
4733cef0d7 Menus/Set Resolution: interpolate with menu transition 2023-12-29 05:46:56 -08:00
James R
90670d3e24 M_DrawGenericOptions: interpolate with menu transition 2023-12-29 05:46:56 -08:00
James R
ecc7b466af Menus/Options: interpolate main Options menu
Profiles menu is touched too out of necessity (since these
share state). However, no mind has been paid to Profiles.

I have not tested Profiles after this change.
2023-12-29 05:46:56 -08:00
James R
8a2e0469e9 Menus/Extras: interpolate
- Uses a different easing
2023-12-29 05:46:56 -08:00
James R
d9f0f70987 Menus/Level Select: interpolate
- Uses slightly different easing
2023-12-29 05:46:56 -08:00
James R
1c2ed2b306 Menus/Cup Grid: stagger cursor movement 2023-12-29 05:46:56 -08:00
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
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