Commit graph

24250 commits

Author SHA1 Message Date
toaster
aa42de92e1 Merge branch 'cheats-menu-commands' into 'master'
Put some console commands on the cheats menu

See merge request KartKrew/Kart!1435
2023-09-01 21:30:30 +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
30e8d1663d Register a bunch of commands with COM_AddDebugCommand, so they show up on the cheats menu
- angle
- archivetest
- assert
- bind
- causecfail
- clearscores
- countmobjs
- crash
- debugrender_highlight
- devmode
- displayplayer
- downloads
- eval
- gametype
- give
- god
- goto
- gravflip
- grayscale
- help
- hurtme
- isgamemodified
- listmapthings
- listwad
- memdump
- memfree
- minigen
- musicdef
- noclip
- numthinkers
- objectplace
- ping
- playsound
- randommap
- resetcamera
- respawnat
- restartaudio
- rteleport
- savecheckpoint
- scale
- setrings
- setscore
- setspheres
- showmap
- showscores
- showtime
- skynum
- teleport
- togglemodified
- tunes
- version
- view
- weather
2023-09-01 22:13:17 +01:00
James R
c497dcaf49 srb2::Draw::Chain: make copy assignment private, make bruh moments a little more obvious
If you define a variable with type auto and initialize it
with the result of a builder chain -- e.g.

   auto var = Draw().x(0)

-- the resulting variable will be an instance of
srb2::Draw::Chain, and calling builder methods on it will
modify the instance itself, instead of creating a
temporary, like an instance of srb2::Draw would.

Hiding the copy assignment can make this a little more
obvious by emitting an error if you try to reassign the
variable later. E.g.

    var = var.x(0)

That's the best I can do to mitigate this.
2023-09-01 22:13:17 +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
James R
9dc277bc3d command.h: define xcommand_t, add COM_AddDebugCommand
This will become useful soon...
2023-09-01 22:13:17 +01:00
toaster
1d3a7c717e Merge branch 'let-release-build' into 'master'
Various fixes to let release builds compile

See merge request KartKrew/Kart!1448
2023-09-01 20:45:54 +00:00
toaster
fc075b24b4 Merge branch 'gp-lives-steenky' into 'master'
Lives & Rings Cleanup (resolves #647)

Closes #647

See merge request KartKrew/Kart!1447
2023-09-01 20:43:24 +00:00
toaster
898a659c78 Merge branch 'initplayers-reorder' into 'master'
Fix Splitscreen GP Prison Break

See merge request KartKrew/Kart!1446
2023-09-01 20:43:10 +00:00
Eidolon
f1f6ab16c5 Remove g_wipeskiprender reference in online menu 2023-09-01 15:31:22 -05:00
Eidolon
6b0c2c6fd8 hwr2: fix unaligned software copies 2023-09-01 15:30:04 -05:00
Eidolon
78ccaf361b hwr2: upscale chosen resolution to desktop res 2023-09-01 15:30:04 -05:00
Eidolon
6f580606cd hwr2: Remove pass infrastructure
It's not worth trying to force the engine to conform to deferred
drawing.
2023-09-01 15:30:04 -05:00
toaster
4eb06392cb Merge branch 'starpost-historical-erasure' into 'master'
"Starpost" to "Cheat Check"

See merge request KartKrew/Kart!1449
2023-09-01 20:28:57 +00:00
toaster
6455882942 Remove the irrelevant cheatcheck states and spritename 2023-09-01 21:25:26 +01:00
toaster
86a61c4c0d Additional relevant comment changes 2023-09-01 21:15:45 +01:00
toaster
76b798d907 Support "starpostactivator" in UDMF parameter read, to avoid having to reconvert a bunch of things 2023-09-01 21:14:33 +01:00
VelocitOni
85e6e743d4 End user facing edit
"Starpost" --> "Cheat Check" when using debugwaypoints
2023-09-01 12:28:47 -04:00
SteelT
6c05f96524 Merge branch 'master' into monkey-input 2023-09-01 01:51:52 -04:00
Oni
aa5446cf40 Merge branch 'mserv-servitude' into 'master'
MServ Servitude

See merge request KartKrew/Kart!1438
2023-09-01 05:35:57 +00:00
VelocitOni
8845700c06 Starpost Gentrification
Replaced all mentions of starpostnum and Starpost w/ cheatchecknum and CheatCheck (so Ivo can stop asking why we still need it when its going to save our asses on release patches)
2023-09-01 00:31:49 -04:00
James R
95ae37fa0a Various fixes to let release builds compile
- Fixed followers.pk3 asset hash checking.
- Moved asset hashes from config.h to d_main.c directly.
  - Changes to config.h.in require building the game twice
    and having it in d_main.c is just more contained.
- Removed old reset on holepunchserver if it was set to
  the wrong address. This was only relevant for a short
  period of time during development.
- Fixed cv_kartencoremap being used outside of DEVELOP.
- Fixed unused variable warning in GotOurIP.
2023-08-31 18:15:52 -07:00
James R
53fad85ed5 CMakePresets.json: add release build preset 2023-08-31 18:12:09 -07:00
toaster
3c04951375 GP Lives HUD: for 10 lives, use the small number from the position rankings
Per VC discussion, the HUD was adjusted without consideration for negative rings, so preserve the feng shui it was designed around
2023-08-31 22:00:39 +01:00
toaster
a44576ad8d Fix some issues with Rings in Grand Prix
- Store a netsynced SINT8 `hudrings` on the player struct which stores the last rings the player has during play
    - So this doesn't get updated after you finish the level
    - Fixes the issue where the bot ghost that inhabits your body after finishing will use your rings, muddying how many you took into the total
- Fixed order of operations that prevented lives earned with GP rings from being given
    - Also uses hudrings for consistency
- Make the life-give context in P_DoPlayerExit cleaner
    - GPEVENT_NONE
    - no GTR_SPHERES
2023-08-31 21:55:25 +01:00
Sal
0b71704a01 Merge branch 'fix-blend-tables-threading' into 'master'
R_GenerateBlendTables: allocate copy of palette for use in thread

Closes #504

See merge request KartKrew/Kart!1441
2023-08-31 20:04:26 +00:00
toaster
244db81f04 Visual adjustments to the Server Browser and Room Select
Based on VC discussions
- When you've unlocked add-ons, show "Core Servers" or "Modded Servers" in lieu of "Server Browser
- Adjust the vertical height of the Room Select graphics to not be visually overlapped
2023-08-31 20:50:15 +01: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
cd8057ed53 Room Select: Add a tooltip 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
339d368d7d HMS_fetch_rules: Return NULL if the curl connection failed, instead of producing garbled rules 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
5b958f5a0c http-mserv.c: Update documentation URL to newest version 2023-08-31 20:00:35 +01:00
toaster
afb7328aa4 SV_SpawnServer: Register netgame-advertised servers with the MS
This is done in a different location in the previous entry in the series, but the author of this commit couldn't find it.
Since we're using the 2.2 codebase, it's been put where they have it instead.
2023-08-31 20:00:34 +01:00
toaster
47055bcda7 M_StartMessage: ACTUALLY use automatic newline generation 2023-08-31 20:00:34 +01:00
toaster
9d689c5e0c M_DrawServerCountAndHorizontalBar: Improve general overlaid text 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
acca45d611 SL_InsertServer: If we have cause to reject a server, remove it from the serverlistultimatecount immediately rather than waiting for it to time out 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
toaster
170894ee71 Update SRB2VERSION for impending release
Was previously "2.0" in reference to how this was once just a major patch for the previous entry in the series.
2023-08-31 20:00:33 +01:00
toaster
c2148bf501 Testing #define for testing Master Server Listing by yourself, without a second IP address to host
Disabled by default
2023-08-31 20:00:33 +01:00
toaster
0935106189 F_RunWipe: Don't draw menus on top if there's no renderer
Fixes crash on dedicated
2023-08-31 20:00:33 +01:00
toaster
f9a488defb Merge branch 'prisons-death-fix' into 'master'
Fix Prisons death not ending the round + Spectator bool cleanup

See merge request KartKrew/Kart!1418
2023-08-31 18:39:05 +00:00
toaster
60ce81f00d Fix the order of operations so K_TimerInit is ready for P_InitPlayers
Guarantees players in splitscreen GP Prison Break rounds are always deterministically placed (as long as the non-battle spawnpoints exist)
2023-08-31 19:24:49 +01:00
toaster
a7b065c4d8 P_InitPlayers: Tidy up the barely-significant difference between G_DoReborn and G_SpawnPlayer
Only kills objectplace at map start, not general respawn
2023-08-31 17:30:05 +01:00
toaster
1dd2e7031a Fix the spectating bots in GP issue a different way
The solution in 67c2ae021b happens too late for K_TimeAttackRules
2023-08-31 16:46:46 +01:00
toaster
656e9ad310 Merge branch 'thing-radius-acs' into 'master'
"Radius Action" thing type

See merge request KartKrew/Kart!1429
2023-08-31 13:15:12 +00:00