Commit graph

537 commits

Author SHA1 Message Date
SteelT
40bc2250f3 Merge branch 'fix-message-box-height' into 'master'
Menus: fix multi-line message box text not fitting in the box

See merge request KartKrew/Kart!2042
2024-03-09 03:32:38 +00:00
James R
9eeb583670 Menus: fix multi-line message box text not fitting in the box 2024-03-08 00:24:41 -08:00
James R
f066f10e8f Menus: less padding after drawer closer 2024-03-07 15:25:32 -08:00
James R
ba50685c6e Menus/Map Select: split map names so only 1 word goes on the bottom
This is the minimum requirement for release, just to stop
Mega Collision Chaos from going off the screen.

- 2 words
  - 1 word on top
  - 1 word below
- 3 words
  - 2 words on top
  - 1 word below
2024-03-07 09:36:49 -08:00
Oni
7e7abb3172 Merge branch 'fix-online-menu' into 'master'
Online menu light redesign

Closes #995

See merge request KartKrew/Kart!2021
2024-03-06 02:27:36 +00:00
James R
2aeb267feb Menus/Browser: fix wrong backgrounds being used in CORE / MODDED 2024-03-05 17:26:46 -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
0b3d1ac705 Menus: draw message box over virtual keyboard
Message box has input priority, so it should have drawing
priority too.
2024-03-05 17:26:46 -08:00
toaster
7f0df71558 R_SkinAvailableEX
- Most R_SkinAvailable calls should be returning index into demo.skinlist (same numerical value as when demo was recorded), for demo sync
- A handful of general things permit exception for this
- Expose `replaynumskins` (calculated as `(demo.playback ? demo.numskins : numskins)`) to Lua
    - There's *always* more that can be done for this, but this is the minimum spec that can at least be somewhat stable
2024-03-05 13:21:38 -08:00
James R
5fbb32442b Fix Alternate Title Screen unlockable not saving preference
- Remove CV_NOSHOWHELP, so the config file can load
- Do not stealth set the cvar, so it is not dependent on
  order of operations of config loading and challenge
  loading
2024-03-03 22:20:12 -08:00
James R
8c76dee523 Virtual Keyboard: dynamically allocate cache; allow full size of replay title buffer 2024-03-03 06:31:06 -08:00
toaster
e8523b69f0 Sealed Star re-ordering (resolves #606)
- If emerald not yet collected on that cup, pick the first uncollected emerald, then get the cup's CUPCACHE_SPECIAL with that ID to pick the stage
- Already collected emeralds retain their swappage across gamedata saves
- Returns to normal order if you get all 7 OR Special Mode is unlocked (chao key? debug? password in modded games? sky's the limit)
- Pops up a Message from the Stars telling you the gems have been returned to their natural place
- Add-ons will always use their dedicated sealed star, since it's unordered material

If it weren't so last minute I could have a better solution for GP Backups, but right now what I've gone for is it always trusts whatever G_GPCupIntoRoundQueue does AS LONG AS THE COURSE ISN'T THE ONE YOU'RE RELOADING INTO. If it IS, then it checks to see if it's exactly what's been saved, and complains (with the generic error message, unfortunately) if it isn't.
2024-03-03 00:24:31 +00:00
toaster
038016252a The pause menu Spectator toggle now supports splitscreen again (resolves #981) 2024-02-28 20:05:11 +00:00
James R
b7652413e5 debugchallenges: conditionset searching/display
New values:

- On / -1 - old behavior
- Tag / -2 - display conditionset number for each tile
- 1+ - highlight tiles that match this conditionset number
2024-02-27 06:40:06 -08:00
James R
bc479321d0 Replace in-map input display with new graphics 2024-02-24 22:01:07 -08:00
James R
8f262aa390 Move input display code to K_DrawInputDisplay 2024-02-24 21:29:18 -08:00
Oni
9491c54e9d Merge branch 'separate-spb-attack-records' into 'master'
Separate/Encoreize SPB Attack records from normal Time Attack records

Closes #836

See merge request KartKrew/Kart!1875
2024-02-23 06:44:38 +00:00
James R
c2eda6903a Menus/Controls: left align tooltip, clear button legend on right
- "BKSP Clear" (Goner)
- "C / -> Clear" (after profile setup)
2024-02-22 02:40:40 -08:00
James R
ae5a20756e Menus/Controls: overhaul multiple bindings input
- Replace the old method of adding each binding one at
  a time
- Hold up to 4 inputs at once, then release to bind those
  inputs to the control
- Changing the bindings overwrites the old bindings,
  instead of adding to them
2024-02-22 02:40:40 -08:00
James R
9523fd8652 Menus/Controls: add Bind Ben
- Hold right to scroll binding text into Bind Ben
  - Release right to cancel
  - When the text is done scrolling, Bind Ben begins
    chewing
    - Release right to have Bind Ben swallow
      - After Bind Ben swallows the binding text, he does
        a cute pose and the control is cleared
    - Press up or down to skip the swallow and pose
      animations and clear the control immediately
- Press C to have Bind Ben quickly eat the binding text
  and clear the control
2024-02-22 02:40:40 -08:00
James R
788f49f6e2 Menus/Controls: bind names are gray unless selected 2024-02-22 02:37:39 -08:00
James R
c1f143062d Menus/Controls: tweak Try Buttons on-screen text
- In big letters, "TRY BUTTONS"
- Countdown uses Medium font
2024-02-22 02:37:38 -08:00
James R
535bda8b88 Menus/Controls: draw tooltip at bottom of the screen 2024-02-22 02:31:52 -08:00
James R
ea2fffb79d Menus/Controls: draw d-pad 2024-02-22 02:31:52 -08:00
James R
c5bf07d252 Menus/Controls: draw controller buttons 2024-02-22 02:31:52 -08:00
James R
4da25dc881 Menus/Controls: fix panning for d-pad 2024-02-22 02:31:52 -08:00
James R
a902d83dce Menus/Controls: button controls use tooltip icons, inline description 2024-02-22 02:31:52 -08:00
James R
075aa11a79 Menus/Profiles: indent selected option 2024-02-22 02:31:52 -08:00
James R
af285f309c Menus/Profiles: tweak character select interpolation 2024-02-22 02:31:51 -08:00
toaster
b70e59755f Tie SPB Attack and Encore together
- A method to access Encore in Time Attack
    - so we have SOME Encore singleplayer content on launch
- Also available for Versus mode (in Special Attack)
    - Finally, Encore rematches have a way to access them!
    - Obviously will not spawn a chasing SPB, it's just a signal for "hard mode"
- Relevant gametype + unlock checks have been abstracted into M_EncoreAttackTogglePermitted
2024-02-17 23:11:58 +00:00
toaster
3f78c9d2e6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into separate-spb-attack-records
# Conflicts:
#	src/menus/play-local-race-time-attack.c
#	src/p_setup.cpp
2024-02-11 23:27:33 +00:00
James R
ce7d22d029 Pause menu: display map icon, map name and currently playing song credit 2024-02-09 18:13:35 -08:00
James R
1a0525b0c0 Adjust position of PAUSE graphic
- Move the graphic up a little
- Fix position on pause menu in non-green resolutions
2024-02-09 18:13:35 -08:00
James R
3646850ff6 Menus: handle caret codes in text fields
- All text boxes render caret code colors
- On-screen keyboard updates colors in real time
2024-02-02 04:30:24 -08:00
James R
4adadb0167 Menus/Replay: use menu font 2024-01-28 17:56:38 -08:00
James R
e0583a19b3 Menus/Replay: do not draw border in non-green resolutions
The border draws over the buttons, which makes the menu
practically unusable. Not drawing the border is the
simplest thing I could do to fix this.
2024-01-28 17:56:38 -08:00
James R
ff07b92f18 Gamedata: save SPB Attack times separately from normal Time Attack
Bumps gamedata version! Gamedata version 10 -> 11
2024-01-27 04:23:44 -08:00
James R
05d8d83dcc Refactor recorddata_t and separate into recordtimes_t 2024-01-27 04:13:01 -08:00
Oni
1e916dee77 Merge branch 'debug-challenges' into 'master'
DEVELOP: add debugchallenges cheat

See merge request KartKrew/Kart!1822
2024-01-17 05:33:23 +00:00
James R
9d1492eb66 DEVELOP: add debugchallenges cheat
- Chao Keys cost nothing
- Chao Keys unlock any tile, no matter if it has a hint or
  is a major unlock
- Chao Keys can relock any tile (un-unlock)
- Unlock animations play at the fastest speed
  - Affects Chao Keys as well as organic unlocks
- Tiles are automatically flipped so you can see the
  content of every unlock all at once
2024-01-11 17:45:46 -08:00
James R
cdd9b182e8 Menu/Set Resolution: highlight default mode
- Default mode text appears in orange
- Draw star next to default mode in list
2024-01-10 00:57:44 -08:00
AJ Martinez
369de749c4 Warn about resolutions above 1280x800 2024-01-09 23:32:50 -07:00
toaster
8f2c8b4a5d OVERSIGHT: Challenges board should be checking locked courses for M_DrawChallengePreview, too 2024-01-07 14:47:12 +00:00
toaster
e1d0db1175 Do not interpolate GP Backup indicator with cursor (resolves #839) 2024-01-07 14:34:53 +00:00
toaster
21e2be41db M_DrawCupPreview: Show static in place of courses which would not be accessible via Match Race (visitation/head of cupcache/NoVisitNeeded) 2024-01-07 13:58:24 +00:00
toaster
83366b6507 More universal Course restriction based on progression
All courses are restricted in Match Race/Time Attack/Online if not visited in GP UNLESS:
- It is the first Race Course of a Cup
- Course has "NoVisitNeeded = True`
    - The Controls Tutorial and Test Run are the only two stages that will need this

The above replaces:
- A lot of restricted courses having to be marked with `FinishNeeded = True`
    - Hidden Palace
    - Sealed Stars 1-14
        - Once Special Mode is unlocked, it will now be possible to practice Sealed Stars before rematching them in GP
- Almost all Tutorial-specific behaviour, since it was heinously hacky

HOWEVER, `FinishNeeded = True` was left in specifically for future releases, and I reserve the right to use it on Adventure Example again before launch.
2024-01-07 13:57:05 +00:00
toaster
601b39378d Precache static level graphics 2024-01-06 23:17:45 +00:00
toaster
9e3ca7a59b M_PickMenuBGMap: Change to work off map ID
Guarantees successful update when invalidated by level replacement
2024-01-06 16:56:44 +00:00
toaster
5c2a4ae68f M_DrawCupPreview: Fix interpolation flicker (resolves #832) 2024-01-05 22:37:50 +00:00
Oni
aa0fc8cbf8 Merge branch 'fix-focus-lost-width' into 'master'
Menus: only adjust text box size for menu options

See merge request KartKrew/Kart!1773
2024-01-05 01:10:56 +00:00