Commit graph

285 commits

Author SHA1 Message Date
toaster
1ef427631e Review: Fix incorrect levelsearch apparatus
- M_LevelListFromGametype: Correctly wipe tutorial status when changing from tutorial to gametype with cups
- G_GetFirstMapOfGametype: Fix tutorial handling, gametype's datatype
- M_InitExtras: to prevent duplicated code, use G_GetFirstMapOfGametype
2023-11-18 11:49:17 +00:00
toaster
0762b93ef2 Tutorial skipping challenge - first pass
- Go to a MainCfg-specified map on its guessed gametype
    - `TutorialChallengeMap = RR_ZonedCity`
- Some unique settings
    - K_CanChangeRules() == false
    - If GTR_CIRCUIT, make it Hard Speed
    - If GTR_BUMPERS, die in one hit
    - If GTR_BOTS, make them all difficulty 13 of the default bot skin
    - No Medals or Spray Cans during the Tutorial Challenge
- Complete the stage in 1st place or don't bother at all
- Has the "Give up" menu option available, but no "Try Again"
- Condition for successfully completing the Tutorial Skip
    - `Condition1 = TutorialSkip`

Related bugfixes:
- Correctly wipe skipstats when returning to the Title/menus
- Typing of `ultimatemode` (hey this isn't accessible by anything right now I wonder)
2023-11-16 21:44:52 +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
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