Commit graph

18 commits

Author SHA1 Message Date
toaster
4f86c25e55 Consistency - "Go on and select a course!"
Replaces:
- "Go on and select a race track!" (Match Race)
- "Go on and select a level!" (Online)
2024-03-29 22:04:17 +00:00
James R
8d2f8ef479 Copyright fixup: Kart Krew - menus 2024-03-28 19:20:59 -07:00
James R
5607e8e393 Menus: reset options menu header position from shortcuts in Match Race and Host menus
- Match Race, Y button
- Host, Gameplay Options and Server Options
2024-03-07 09:08:20 -08:00
James R
179597e70d Menus/Online: light redesign
- Mostly hijacks the gamemode menu format (Local Play)
- Host
  - Select gametype (Race, Battle)
  - Shortcuts to Gameplay Options and Server Options
  - Select map
- Browser
  - Unchanged
- Direct Join
  - Press A to enter an IP address
  - Press C to reconnect to the last joined server
  - Left/right cycles through the server history
2024-03-05 17:26:46 -08:00
James R
2ad3902ff0 Menus/Grand Prix: tooltips for difficulty selection 2024-02-27 06:40:05 -08:00
James R
abbaf78ff1 Menus/Match Race: sounds for Z/Y buttons 2024-01-29 15:57:11 -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
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
James R
6c0b042eed Refactor cvar definitions completely, move everything to cvars.cpp
- 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
2023-08-25 17:22:40 -07:00
toaster
73a5500b0e Full stops for game speed/difficulty descriptions, for consistency 2023-08-10 00:28:16 +01:00
VelocitOni
201194e493 Added all of Chengi's new menu backgrounds
Replaced a lot of NULLs with the lumps for Chengi's new BGs (Battle Mode is still missing)
2023-06-29 04:32:57 -04:00
toaster
42cc95f6ed menubehaviourflags_t / (menu_t).behaviourflags
- MBF_UD_LR_FLIPPED
    - Genericisation of the control flip for PAUSE_PlaybackMenuDef
- MBF_SOUNDLESS
    - Do not create sound for default menu actions
2023-03-25 22:39:07 +00:00
toaster
c9dd133b2d play-local-race-difficulty: Make check for Encore option based off the local state (do not attempt to check online unlock) 2023-02-27 19:56:07 +00:00
toaster
df4d1fb10a M_SetupDifficultyOptions: Only show Encore on Difficulty select in Match Race
We have our own plans for Encore GP that I will definitely be addressing before release.
2023-02-09 22:40:13 +00:00
toaster
a154b1a565 restoreMenu: Go to Difficulty select after Match Race, instead of the level selection menu
- Splits M_SetupDifficultyOptions out of M_SetupDifficultySelect.
    - Permits Encore to be handled on Difficulty menu if unlocked after a Match Race.
- Fixes an issue where the in-game Pause menu could be accessed in the menu
    - The prevMenu that was set was overriden with in-game Pause.
    - The assumption made - that the levelsearch/levellist struct would not be touched - is pretty transparently violated.
- I made it go back to the Difficulty select instead of fixing the issue because:
    - Match Race is more dependent on the rules you configure for that particular round
    - This mode of play will be modified in future to not be literally offline MP with things like voting, but instead return to the menu
    - It was easier relative to the amount of work to properly restore (this is the biggest reason)
2023-02-09 22:38:04 +00:00
toaster
03d422560d menu_t, M_PlayMenuJam: const char *music parameter
If Playing(), does nothing.
- If NULL, cycle between Cascade Cave as is traditional.
- If ".", stop music. (will one day be used for sound test)
- Any other case, call S_ChangeMusicInternal on the string directly

Notable menu sets:
- All Extra menus, excepting the Replay Hut, use "EXTRAS"
- Replay Hut uses "REPLAY"
- All online menus use "NETMD2".
    - I know we wanted to do something with switching between "NETMDE" and "NETMD2". I would prefer a more consistent API for transferring song position across between tracks be implemented before implementing this.
    - Known bug: Music restarts when exiting from failed connection screen
    - Known bug: Music goes back to Cascade Cave when selecting "GO" for server creation
        - Wontfix as we want that button to go directly to the voting screen, which we can do in a voting revamp branch
- Data Erase, Profile Erase: "SHWDN2"
    - Not in the spec but I think it's both funny and a valuable tell for the most "dangerous" menu to play with.
    - Also shifts the background to SKINCOLOR_BLACK
2023-02-01 23:15:51 +00:00
James R
b26cd786ec Move all specialized code out of k_menufunc.c
Adds new files:

- menus/extras-statistics.c
- menus/play-online-room-select.c
- menus/transient/cup-select.c
- menus/transient/explosions.c
- menus/transient/gametype.c
- menus/transient/message-box.c
- menus/transient/virtual-keyboard.c
2023-01-12 20:31:31 -08:00
James R
0b3d04bbfd Split k_menudef.c into menus subdirectory
- src/menu contains files for each menu's definitions.
- src/menu/transient contains menus which are reused in
many places or are separate from Main Menu entirely.

File names ending in "-1" are menus which contain
a submenu. The suffix is added so that the parent menu
sorts before all its children in directory lists.

It's also done so Tab completion doesn't stop such that
a hyphen (-) would need to be typed.

For example (this is how I auto complete file names):

"ex" <TAB> completes to "extras" because the choices are
"extras.c" or "extras-addons.c" etc. Now you need to reach
away from the home row of a keyboard to type a "-" in
order to complete any of the submenu file names.

VS

"ex" <TAB> completes to "extras-". You only need to reach
to type a "1" for one menu. There may be more than one
submenu and submenu names start with letters, which are
closer to the home row.
2023-01-07 07:40:45 -08:00