Commit graph

24169 commits

Author SHA1 Message Date
toaster
8300a438d2 Command_connect: Clean up + improved error message for attempting to use during the server join process (which includes Server Browser) 2023-09-02 17:06:17 +01:00
toaster
90f97ef50a Comamnd_Map_f: Now that you can use the console from the menus, forbid starting a new session from the server join process (which includes the Server Browser) 2023-09-02 17:05:05 +01:00
toaster
124e69be60 SL_InsertServer: Behaviour repair for multiple contexts
- Repair connecting to a modded server via direct IP/address
    - Done by leveraging serverlistultimatecount
    - !server was good for avoiding dinging modded local games, but there was other behaviour broken.
- Don't underflow serverlistultimatecount on rejection of undesired serverinfo
2023-09-02 17:01:23 +01: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
AJ Martinez
3aabdb4e98 Less extreme shrink darken 2023-09-01 20:50:46 -07:00
AJ Martinez
d3316ff614 Shrink growtime 2x, global darkness when using shrink 2023-09-01 20:40:52 -07:00
AJ Martinez
030d3d0656 Merge branch 'monkey-input' of git.do.srb2.org:KartKrew/Kart into monkey-input 2023-09-01 16:58:41 -07:00
AJ Martinez
3031dccfa2 Net fuzzing 2023-09-01 16:58:30 -07:00
toaster
ee7f54bc2a Further cleanup for Chat to not be whitelisted gamestates only
Reduces the complexity of D_Display by a lot!
2023-09-02 00:26:29 +01:00
toaster
62ab7bc0f9 Move the Podium to the slide-in Intermission Button/Menu CMD system
Again, another hand-built Responder function falls to the efficiency of the MenuCMD Press [A] chad
2023-09-02 00:26:29 +01:00
toaster
4ad0beebb4 Credits and Evaluation: Replace dedicated Responder functions with Menu-style input processing
The former method responded with an arbitrary approximation of standard inputs.
This method benefits from the general-case stability of the Menu system to correctly parse triggers and other unique inputs.
The only major consequence of this change is that ESC is no longer hardcoded to activate these.
Otherwise, the game is cleaner for pure benefit.
2023-09-02 00:26:29 +01:00
toaster
c46889c924 G_Responder: Call HU_Responder in Playing(), instead of a whitelisted set of gamestates
Neatly sidesteps a class of bugs where whenever we added a new gamestate accessible in netplay, chat was console-only.
2023-09-02 00:26:29 +01:00
toaster
94db9ac3a6 Add skipping to Evaluation
- Includes the sliding intermission button
    - Can only skip after the savedata has been updated
    - Always update the savedata at the same duration into the Evaluation
2023-09-02 00:26:29 +01:00
toaster
75900e4891 Credits: Add the sliding intermission button for skipping
Rules of skipping are slightly changed to match the slidein.
- No skipping in the first two seconds
- Automatically shuffles away once it gets to the end
2023-09-02 00:26:29 +01:00
toaster
40a79056fa Standard Evaluation: Delay the time the _DRIFT track starts to match the gainax shwing 2023-09-02 00:26:29 +01:00
toaster
d4c6c75858 Y_DrawIntermissionButton
- The (A) that appears on the intermission to permit you to skip it now has its own drawer function.
- This drawer (interpolatedly) slides it in and out depending on the two times passed to it.
- Now slides in at the first half-second of intermission, preventing mashing through.
2023-09-02 00:26:29 +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
toaster
e750cc5f6d Merge branch 'ignore-roomtype-local' into 'master'
Ignore the room type of local servers

See merge request KartKrew/Kart!1451
2023-09-01 23:11:54 +00:00
Eidolon
7c91cd56be Ignore the room type of local servers
This fixes an infinite loop where the local server is filtered out of
the server list when "joining" a local match with files added.
2023-09-01 18:10:18 -05:00
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