Commit graph

259 commits

Author SHA1 Message Date
James R
9eb1f1403e Menus/Challenges: optimize drawing by caching unturned tile graphics once 2024-01-04 02:11:33 -08:00
Oni
336b430f79 Merge branch 'polish-menu-options' into 'master'
More Menu Polish: organizing

See merge request KartKrew/Kart!1762
2024-01-03 01:29:11 +00:00
Oni
d26a535610 Merge branch 'polish-pause-menu' into 'master'
Interpolate pause menu

See merge request KartKrew/Kart!1760
2024-01-01 16:16:31 +00:00
James R
f2bd45dbd9 k_menu: replace IT_WHITESTRING -> IT_LINKTEXT, draw arrow like IT_SUBMENU 2024-01-01 03:05:18 -08:00
James R
471f97bd58 Menus/Data Options: move Replay and Discord settings into drawers on main Data Options menu 2024-01-01 03:05:17 -08:00
James R
91bb575d60 Menus/Gameplay Options: add pointlimit to Battle section 2024-01-01 03:05:16 -08:00
James R
bef7c3634b Menus/Pause: interpolate 2023-12-31 08:44:40 -08:00
James R
3b5321fb0c Menus/Match Race: replace encore toggle with button prompt, add Item Toggles shortcut 2023-12-31 01:33:29 -08:00
James R
a7db45c73b M_DrawCursorHand, M_DrawUnderline: extern in k_menu.h 2023-12-29 19:24:48 -08:00
James R
de6e1ab5c9 M_DrawGenericOptions: animate drawer opening 2023-12-29 19:24:47 -08:00
James R
72f885e6ba Menus: draw headers in orange 2023-12-29 19:24:46 -08:00
Oni
af28f30d84 Merge branch 'menu-interp-pass-1' into 'master'
MENU INTERPOLATION (FIRST PASS)

See merge request KartKrew/Kart!1733
2023-12-29 23:49:30 +00:00
Oni
146cd745a7 Merge branch 'menu-highlight-non-default' into 'master'
Specially highlight menu settings which differ from the default value

See merge request KartKrew/Kart!1732
2023-12-29 19:19:49 +00:00
Oni
dbafe3fe91 Merge branch 'profile-polish' into 'master'
Profile card: add Accessibility menu

See merge request KartKrew/Kart!1729
2023-12-29 19:06:09 +00:00
James R
95378ade8f k_menu: move easing helper functions to k_menu.h 2023-12-29 08:22:43 -08:00
James R
3faf0d02ba Menus/Options, Profiles: slow down easing animations by 1 tic 2023-12-29 08:15:19 -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.
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
48fcc38691 Profile card: add Accessibility menu
- Move "Toggles" from Controls to Accessibility
2023-12-29 11:03:47 +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
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
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
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
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
b308a81e9d Clean up interactions between Goner Setup and restoreMenu behaviour 2023-12-18 16:30:12 +00:00
toaster
fe669ff281 Goner Setup Background part 2
- Eggman's mouth moves
- Smooth camera movement
- Smooth Miles Electric movement
- Less fragile/instant blinking
2023-12-18 00:46:20 +00:00
toaster
647a9d0a0e Goner setup music: Change behaviour
- 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
2023-12-17 13:18:35 +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
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
toaster
0f687be7b5 The Goner Setup
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.
2023-11-29 19:37:05 +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
9f05c199c2 "Give up" pause menu option
Shows up in GP for any eventmode
Skips to the next stage in the queue
2023-11-16 21:12:25 +00:00
toaster
4379c62276 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-13 14:45:17 +00:00
AJ Martinez
06bc06869c Lite Steer profile option, itemstate pflags -> player.itemflags 2023-11-09 17:29:26 -07:00
toaster
d33fa75eb0 Disable the v1 Manual for now
I really wanted to make a new manual work in time for launch. But no. It would likely be an irresponsible timesink at this stage.
2023-11-04 22:14:15 +00:00
Sal
cecd81b4aa Podium rank screen polished 2023-10-29 06:04:22 +00:00