Commit graph

280 commits

Author SHA1 Message Date
toaster
0cef40faa8 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into other-progression 2023-11-05 20:16:05 +00:00
toaster
b95b076bed Tutorial course select: Fix returning to the menu behaviour 2023-11-05 18:44:46 +00:00
Eidolon
518366d567 Only toggle keyboardTyping when input key is valid
Fixes unintended toggles to virtual keyboard
2023-11-05 11:45:07 -06: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
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
acad8754c8 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-17 23:32:08 +01:00
Oni
005d05ac15 Merge branch 'threaded-software' into 'master'
Threaded software

See merge request KartKrew/Kart!1553
2023-10-17 09:28:59 +00:00
Eidolon
2d614781eb i_system.c -> cpp, disable mumble 2023-10-14 15:26:52 -05:00
toaster
46dcfe0000 Experiment for Challenges menu: The completion percentage only counts unlocks, but the Chao Medal meter fill subtracts major unlock skips
Should communicate the fact you're short of True Completion a little better.
2023-10-09 13:02:27 +01:00
James R
fa89576f34 Move freecam state to camera_t, lets splitscreen players use freecam independently of each other 2023-10-08 14:26:21 -07:00
toaster
8c734d3646 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into break-through-them-all 2023-10-07 12:42:07 +01:00
toaster
c26b4036b7 Challenges Menu: Subtle glowverlay on the Chao Key in the top left if you're able to skip the currently selected tile 2023-09-29 11:01:20 +01:00
toaster
f1241d692f Improved tutorial messaging
They're now called Big Challenges, because Chrome used it for space reasons and it's funny to be reminded of the Sanrio character
2023-09-29 10:03:53 +01:00
toaster
911588a5fe Challenges Tutorial messages
Currently exists for:
- Generating a Chao Key
- Attempting to use a Chao Key on a Major Challenge
    - Only shows after Generating a Chao Key just so it doesn't fire before you know what's going on
Text is preliminary
2023-09-29 00:25:51 +01:00
toaster
07afe6cb06 Challenge Grid is 5 tiles high now again
I'm sorry, it was just TOO SWAG.
Gamedata minor version increment
2023-09-28 22:30:26 +01:00
toaster
cf1367fb8d Challenges Menu: Chao Medal icon in the top right
Fills up as you complete challenges.
Unlock all Challenges without using Chao Keys on a major tile to get the Beginner Chao Medal.
Do so without using any Chao Keys at all and you get 101%, with the Challenge Chao Medal!
(This can retroactively apply if you complete the relevant tasks legitimately at a later date.)

Also makes CC_s into an enum (now prefixed with CMC_, since CC_MAX exists in a header file already).
2023-09-28 12:28:14 +01:00
toaster
1a91f41dbb Update Challenge Menu UI
- Percentage for Challenges completion
- Smaller footprint in either top corner
    - Uses mini rank numbers
    - Rounds to new Key meter is now vertical
2023-09-27 21:19:39 +01:00
toaster
f29430f29c Longer delay for using a Chao Key on a Major Challenge Tile
Also tidies up a lot of the code and constants related to the Key usage timing
2023-09-27 20:54:32 +01:00
toaster
3e901b312c Catch all unconditional cv_playercolor[] visuals
Resolves #704
Now converts to skin prefcolor in:
- Player menu party
- Challenges menu
    - Why it's done on this branch - want to avoid merge conflicts
- Gamepad indicator
    - Actually fixes a bug at the same time for skins with nonstandard startcolors
2023-09-27 16:02:29 +01:00
toaster
1ce41bdfb4 Large Challenge Tiles can now be Key'd.
- Must have every challenge surrounding it unlocked. (CHE_ALLCLEAR, see previous commits)
- Takes 10 Chao Keys.
- Has a swag animation.

In addition:
- Replace the DEVELOP-only Z button behaviour with "add a free key", since large tiles are no longer permalocked, only expensive.
2023-09-27 16:02:29 +01:00
toaster
b698fcfd0f Enable Server Browser access in TESTER builds
Does not forbid seeing modded servers even if you haven't unlocked add-ons yet
2023-09-27 00:14:11 +01:00
toaster
36f8a64d65 Stereo Mode: Add "shf" (Shuffle) option
This basically came to me in a dream, who am I to look the horse in its mouth

- Press to start a shuffled sequence, losing your current position in the autosequence.
    - Press again to disable, but keep your current track.
- Adjust horizontal offset of Stereo buttons slightly.
- More judiciously comment Sound Test functionality, to assist future maintainers.
2023-09-24 10:46:32 +01:00
toaster
0e9997f2cd Character Select: If your profile's color/followercolor have not been unlocked, correct the visible colour to Default when selecting your Profile, instead of on Level start 2023-09-20 00:25:29 +01:00
James R.
afeba341c0 Remove translucenthud cvar, let V_HUDTRANS fade in like V_SLIDEIN
- V_HUDTRANS does not fade if combined with V_SLIDEIN
  (since sliding elements are not supposed to fade).
- If not V_SPLITSCREEN, uses most opaque fade value among
  splitscreen players (since Tally will fade back out for
  specific players).
2023-09-11 18:30:40 -07:00
toaster
5c1f5f1824 Clear serverlistultimatecount when leaving Server Browser for any reason
This is the easiest existing tracked variable to ensure matches 1:1 to "you are joining a netgame from the Server Browser".
2023-09-02 16:58:19 +01:00
Eidolon
428fa11231 Merge branch 'rhi-remove-passes' into 'master'
hwr2: Remove pass infrastructure

See merge request KartKrew/Kart!1440
2023-09-01 23:17:54 +00:00
James R
f552791052 Add CV_ADDEDBYLUA, show all Lua cvars on the cheats menu 2023-09-01 22:13:18 +01:00
James R
f30763ce1d Cheats menu: press Y to switch between cvars and commands
- Show a subset of commands:
  - Commands registered by COM_AddDebugCommand
  - Commands registered by Lua
2023-09-01 22:13:17 +01:00
Eidolon
f1f6ab16c5 Remove g_wipeskiprender reference in online menu 2023-09-01 15:31:22 -05:00
toaster
74dbb50f74 Server sort: Tiebreaker for all methods is Ping, except for Ping only, which is still strcmp
Reduces the toxicity of "userlist-bumping", the phenomena where you pick a name that begins as early in ASCII as possible for clout.
Now that only continues to apply to the sort that is already just a little toxic.
2023-08-31 20:00:36 +01:00
toaster
cdf5eaaa16 Server Browser Room Select changes
Instead of putting you on the room select but forbidding changing the room...
- You haven't unlocked add-ons (formerly forced to CORE)
    - Skips the Room Select and takes you directly to the CORE mode Server Browser
- Game has add-ons loaded (formerly forced to MODDED)
    - Forbid accessing the Server Browser with a helpful message.
        - Reduces tech support burden.
        - Parity with the previous entry in the series.
2023-08-31 20:00:35 +01:00
toaster
c14ff69d9a Server Browser change alert (KartKrew/Kart-Public!277)
- Let players know if their cv_masterserver was changed, and give them the opportunity to change it back
- A limited number of nag attempts, so if people are using a legitimate custom Server Browser they won't be annoyed for the rest of the game's lifespan
- Show the Server Browser at the bottom of all online menus
    - KNOWN BUG: currently overlaps with the Join IP
        - we're redoing this menu before launch because it's buggy so this is just another bug on that pile
2023-08-31 20:00:35 +01:00
toaster
782d98fb09 Master Server Listing rules prompts
Ported from KartKrew/Kart-Public!286
Unlike the previous entry in the series, this actually defers outbound rules checks for either selecting "Host Game" on the menu, or starting a server via the console/command line parameters. Only attempting to host a non-advertised game via the menu will have sent out an unnecessary rules request to the MS!
2023-08-31 20:00:35 +01:00
toaster
47055bcda7 M_StartMessage: ACTUALLY use automatic newline generation 2023-08-31 20:00:34 +01:00
toaster
4483f9fc0e M_ServerBrowserInputs; Clean up significantly
- No longer reimplement base functionality in confusing overlapping situations, only add on top of it where necessary
- Fix the case where no servers were found to not allow scrolling past the bottom
2023-08-31 20:00:34 +01:00
toaster
b009ab3c23 "Recommended" server sorting option
Sorts by reverse player count, with 0-player servers sitting empty at the far end.
Breaks ties with ping instead of strcmp.
2023-08-31 20:00:34 +01:00
toaster
000e6e273c M_DrawServerListDebug: Produce more useful spread of test case fake servers 2023-08-31 20:00:34 +01:00
toaster
7fd64a4c3d Get the Server Browser working again
- KartKrew/Kart-Public!313 has finally been integrated with the changed menu code
    - Attempts multiple times to get every public server, up to nettimeout
    - Clear the server list when entering/exiting and refrehing
    - Show visible servers and potential servers opposite the Refresh input
    - I would have done this in another commit, but the system was too broken to repair without just putting the working solution in wholesale
- Improved visual scrolling behaviour
- Pressing A actually joins the server
- CORE vs MODDED is handled in SL_InsertServer, not a seperate function to drop/memcpy things around

Also, abstract out the little "PLEASE WAIT..." message popup during potential IO block into M_PleaseWait (only used on connect process via Menu)
2023-08-31 20:00:33 +01:00
AJ Martinez
f67b4914b9 Remove Texture Filtering option from Hardware Options 2023-08-26 23:02:27 -07:00
James R
64a112e358 Pause menu: add cheats menu
Automatically populated with every cheat cvar.
2023-08-25 17:35:29 -07: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
Oni
b63f3f6f16 Merge branch 'majin-box' into 'master'
Auto Roulette (resolves #618)

Closes #618

See merge request KartKrew/Kart!1411
2023-08-25 19:24:42 +00:00
toaster
f7635c4399 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into spraycans 2023-08-22 19:57:28 +01:00
AJ Martinez
3900189199 Auto Spin -> Auto Roulette 2023-08-20 16:26:34 -07:00
AJ Martinez
88f54b298e Auto Spin review fixup 2023-08-20 16:03:43 -07:00
AJ Martinez
573a44fbfe Auto Spin todos 2023-08-20 16:03:05 -07:00
AJ Martinez
fbfc75df71 Item box autospin 2023-08-20 05:08:53 -07:00
toaster
fb8795c8da M_FinaliseGameData
Creates a central landing point where gamedata loads/creates can be finalised properly.

In addition, gamedata wipes caused by data erase or custom SOC gamedata can no longer be saved in a partway corrupted state if they were to crash midway through.
2023-08-19 14:32:11 +01:00
James R
fcc35c1bb1 Toggle between freecam and director using C button 2023-08-19 05:01:40 -07:00
James R
ff447a212a P_DemoCameraMovement: even out vertical angle after toggling
After turning on freecam, the vertical angle is tilted
slightly downward (this is carried over from normal
chasecam).

Interpolate that angle back to normal while moving
forward. This makes it so you don't need to manually
adjust the vertical angle, since it would cause forward
movement to send you into the ground.
2023-08-19 05:01:40 -07:00