Commit graph

1645 commits

Author SHA1 Message Date
toaster
512ec6c2eb XD_REQMAPQUEUE --> PT_REQMAPQUEUE
It was technically possible for custom clients to spoil future rounds of a tournament queued while they are connected to a server.
Making it a PT direct packet to the servernode both solves this problem AND reduces irrelevant NetXCmd traffic for clients.
2024-10-11 13:46:26 +01:00
toaster
8bd50ddb65 clearscores is now setscore
- `setscore 0 50` will set the player in slot 0's score to 50 points
- `setscore 0 50 -add` will add 50 points to their score
- `setscore -clear` will clear all players' score, as per the old function
- Command will error if PWR is in use (no roundqueue/`usepwrlv 0`/cheats off in GP)
- The previous cheat `setscore` is renamed to `setroundscore`
2024-10-11 13:40:11 +01:00
toaster
b62892ba1c Reimplement midgame Pause Menu flow for Spectate status change
- Currently no console command, as "teamchange" no longer applies... relatively simple to add one if needed though
- Change the "Team Change" warning when allowteamchange is false to say "Joining Play"
2024-09-22 17:44:26 +01:00
toaster
27f5da1fd5 Fix typo that was no-selling Race Grief spectatorifying 2024-09-22 17:24:43 +01:00
Sal
653766010d FRIENDCODE (aka, Teamplay) 2024-09-17 01:41:26 +00:00
Sally Coolatta
0d3cc16403 Queued skin/color changes
Instead of janky spectate on skin change, let the player finish their current round as their current skin.
2024-09-07 10:54:36 -04:00
Sally Coolatta
e21cf463ea Duel vote: More conveyance
- Show X over selection, to make it more obvious when it's rip snortin' time
- "Waiting for [player]..." when it's not your turn
- Halve vote timer in Duels (maybe make a separate cvar?)
- Fix bots sometimes striking stages out realllllly slowly
2024-09-03 20:56:36 -04:00
Sally Coolatta
141a37c48a Duel voting
Instead of voting for the level you want and the pick is decided by RNG ... now you take turns picking the maps you *don't* want, and the last one remaining gets picked. The previous loser gets to strike two stages and goes first, while the previous winner only gets to strike one.

Very incomplete visuals, very janky.
2024-09-03 20:08:04 -04:00
Sally Coolatta
3020f9c3ef Fix map anger race condition
Was making angry maps never actually get picked. Dang.
2024-09-02 04:20:39 -04:00
Sally Coolatta
9b63fb4078 Fix map anger race condition
Was making angry maps never actually get picked. Dang.
2024-09-02 04:20:04 -04:00
Sally Coolatta
6b87b586d2 "snapshotmaps" command
Takes two screenshots for a list of maps that have an "Alternate View Point" thing with tag 0 -- one intended for level select pictures and another for Discord Rich Presence. If no view point exists, the map is skipped.
2024-07-21 08:54:49 -04:00
katsy
348ad7c1f0 Remove leftover Record Attack lockout warnings 2024-05-07 12:15:10 -05:00
Ashnal
71cc9c0800 Auto-Ring Accessibility Option
Lacking animation at this commit
2024-05-05 01:18:22 -07:00
AJ Martinez
d17fe040ec Merge branch 'restartlevel-is-cheating' into 'master'
Disallow restartlevel in rule-restricted gameplay

See merge request KartKrew/Kart!2342
2024-05-04 23:27:34 +00:00
Oni
32c43044cb Merge branch 'mindelay-client' into 'master'
Fix delay indicator online

See merge request KartKrew/Kart!2311
2024-05-02 12:58:20 +00:00
AJ Martinez
db6e4afdaa Disallow restartlevel in rule-restricted gameplay 2024-05-01 21:21:29 -07:00
Eidolon
fc3128df12 Always exit TryRunTics loop early if deferring gamestate change
Calls to F_ContinueCredits and D_StartTitle, even if deferred,
change the current gamestate. However, the tic loop in TryRunTics
may still have a couple tics to execute to catch up to current
time, and as a consequence G_Ticker may execute game logic while
the current state is not GS_LEVEL or equivalent. As a result, it is
highly likely for the game to crash.

This adds deferred credits start to the tic loop, and exits that
loop if either title or credits are supposed to start after the
current iteration, fixing this crash scenario.

Fixes KartKrew/Kart#1185
2024-04-30 22:54:42 -05:00
James R
e0c33596e8 Sync mindelay setting to server
- Adds playerdelaytable, no UX changes
2024-04-27 04:09:21 -07:00
AJ Martinez
89953dfe42 Check vote setup command for admin rights 2024-04-13 23:32:56 -07:00
AJ Martinez
a7085d7494 Allow promoted admins to trigger vote screen (gametype change) 2024-04-13 23:29:12 -07:00
toaster
e569377ad3 Instead of ineffectually restricting karteliminatelast via console callback exclusively in release builds, just don't use the cvar's value if you can't K_CanChangeRules 2024-04-11 20:34:56 +01:00
toaster
0c782767be Add "then" condition string builder type
Better for some sentences
2024-04-10 17:24:45 +01:00
Oni
797f78abab Merge branch 'roboticize-copyright' into 'master'
SRB2 -> DRRR copyright

Closes #1122

See merge request KartKrew/Kart!2232
2024-04-06 00:27:55 +00:00
Sally Coolatta
c157acf9be Kill MODID
SRB2APPLICATION has replaced all of its uses in the modern Master Server, let's not keep this old cruft around. Exposed to Lua as "APPLICATION", in all caps.
2024-04-05 11:31:48 -04:00
Sally Coolatta
7dfa597c7d SRB2 -> DRRR copyright in src, acs, android folder
Be consistent with toaster's recent changes to copyright
2024-04-05 02:08:23 -04:00
toaster
2c5f0de69c The author of this commit hates the print in NumLaps_OnChange so much
- Don't print outside of Playing()
    - Fixes the one cvar set message when playing back any Staff Replay
- Have a bespoke map default print for outside-of-level changes
2024-04-03 21:01:08 +01:00
toaster
b818a7d776 Forbid character-based unlocks if you switched your skin in a context where it didn't auto-spectate you (more robust stop for #1231) 2024-04-01 18:03:00 +01:00
Gunla
20d6dcda88 Merge branch 'discord-rp-update' into 'master'
Update Discord Rich Presence for Ring Racers

See merge request KartKrew/Kart!2155
2024-03-29 20:30:20 +00:00
James R
acbb7eb463 Add password checking system
Co-authored-by: toaster <rollerorbital@gmail.com>
2024-03-28 00:09:11 -07:00
James R
17c4fbbb51 fastforward: appears on the cheats menu 2024-03-28 00:09:02 -07:00
Sally Coolatta
d41ca3711a Update Discord RP for Ring Racers 2024-03-23 01:31:51 -04:00
AJ Martinez
e369bbc538 Merge branch 'cpu-names-conflict' into 'master'
CPU Naming conflict

See merge request KartKrew/Kart!2131
2024-03-19 03:50:44 +00:00
toaster
a161df579f EnsurePlayerNameIsGood: Remove trailing whitespace, instead of just failing on it
Interesting error with its recursive duplication resolving exposed by the previous commit!
2024-03-18 19:24:42 +00:00
toaster
1ef3063772 EnsurePlayerNameIsGood: Only evaluate strlen once
Also has a slightly better chance of conflict avoidance for its absolute worst case scenario
2024-03-18 19:17:34 +00:00
James R
326e560329 Attract: fix attract demos end handling
Fixes two bugs:

- Attract mode carrying over to gameplay if an attract
  demo is allowed to finish without interrupting it
- Credits ending after the first replay ends
2024-03-18 02:42:21 -07:00
James R
e32d8b58d8 DEVELOP: add fastforward command, skip ahead to a specific map time 2024-03-16 06:47:10 -07:00
James R
480bf237c9 DEVELOP: let eliminatelast be turned off in GP
- This is very useful for testing losses
2024-03-14 02:20:19 -07:00
Gunla
20ecc22ccf Merge branch 'blend-end' into 'master'
Blend End

See merge request KartKrew/Kart!2039
2024-03-10 20:30:38 +00:00
toaster
fc3a0683ba Got_Mapcmd: Don't promote GTR_BOSS|GTR_SPECIAL to GPEVENT_SPECIAL unless the roundqueue size is 0
The original purpose was to make using the map command allow for multiple tries, ala standard console testing, but the condition was way too permissive and was promoting all esoteric map overrides to undue importance for the end of the Cup's evaluation.
2024-03-09 20:33:24 +00:00
James R
717dcf0209 restartlevel: preserve last map's gametype
- gametype can be changed without changing gamemap,
  through the pause menu option
2024-03-09 05:20:49 -08:00
James R
a32bb486e2 Disable lap cheat prevention when teleporting with console commands 2024-03-06 18:19:35 -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
38e1ae1c53 Replays: let name be changed any time until the file is saved 2024-03-03 06:30:54 -08:00
SteelT
cc99ead23b Merge branch 'bugfix-roundup' into 'master'
Misc bug fixes

Closes #1097 and #1096

See merge request KartKrew/Kart!1992
2024-03-03 01:45:35 +00:00
Eidolon
2775378ac2 Use G_LoadDemoInfo to validate in playdemo/TA menu
Fixes KartKrew/Kart#1096
2024-03-02 12:24:46 -06:00
James R
adebfb000c Replays: keep party in sync with current viewpoints
- More and more parts of the game rely on parties
- Parties are assumed to match the displayplayers
- This fixes A/B/C/D nametags
2024-03-01 06:09:07 -08:00
James R
1eb5dabbd0 Improve displayplayers command
- Tabulate data
- Show party members
2024-03-01 06:03:21 -08:00
toaster
edf4f7c205 Got_TeamChange: Successfully remove PF_WANTSTOJOIN if you use changeteam spectator to cancel your join 2024-02-28 20:02:23 +00:00
James R
b452232974 Add PF_ANALOGSTICK, tells if this player has bound analog stick to d-pad 2024-02-24 21:29:19 -08:00