Commit graph

1219 commits

Author SHA1 Message Date
toaster
6b1fadd9d2 Make the Server Connection Ticker use the MenuCMD system
- Permits the use of the existing K_HandleMenuMessage MM_YESNO system, instead of the faked previous implementation
    - Removes the "cl_requestmode" hack
    - The only area of the game that fakes handling Menu Messages is the title screen, now, due to the lack of guarantees for menu inputs.
- *Also* permits Screenshots and video/lossless Recordings to be started/ended on this menu.
2023-06-25 23:44:38 +01:00
toaster
d450faeaaf General Menu Message input cleanup
- M_StopMessage is now in charge of setting the answer to a given prompt.
- Menu Messages can now be dismissed on the title screen, instead of carried into the top-level menu transition.
2023-06-25 23:44:38 +01:00
Sally Coolatta
54e6efc798 K_AddBot is direct
No longer sends a packet from the server, now all clients do it. Old method is kept just in case.
2023-06-15 12:06:21 -04:00
Sally Coolatta
e6e7056aae Add bot styles & bot spawn ACS function 2023-06-14 09:16:38 -04:00
Sal
a283f543b4 Merge branch 'more-ui-menumessage' into 'master'
(More UI) M_StartMessage revamp

See merge request KartKrew/Kart!1279
2023-06-14 00:22:09 +00:00
toaster
953abf7d26 CL_CONFIRMCONNECT: Attempt to fix the issue with the Menu Message not sliding
The author of this commit *needs* netgame testing, Rean
2023-06-09 19:31:06 +01:00
toaster
6c6306889a M_StartMessage revamp
Immense 25-file diff, so spun off into its own branch.
- Improved appearance
    - Not just a big block of text on a blue background
    - Well, OK, the main part is, but some stuff has been spun out into its own fields
        - Title text
        - Text and button prompt for Yes/No or OK
    - Slides with pow on and off the screen
- Disabled MM_EVENTHANDLER, which has always been dog but got considerably worse after newmenus to the point nothing's using it anymore
    - Required in order to reduce the reliance on FUNCPTRCAST, which prevents Eidolon from compiling some stuff because it's not valid C++
2023-06-09 19:23:36 +01:00
AJ Martinez
5030225666 Make ping-update packets more frequently 2023-06-07 01:12:43 -07:00
AJ Martinez
c716a27454 Don't trash memory when reading saved PWR 2023-06-01 21:46:54 -07:00
Oni
957453d02f Merge branch 'raise-textcmd-limit-dumb-version' into 'master'
Expand textcmd size byte to 16-bit word, raise MAXTEXTCMD

See merge request KartKrew/Kart!1265
2023-06-02 03:19:44 +00:00
James R
039a73ce64 Expand textcmd size byte to 16-bit word
Raises hard limit from 255 to 65535
2023-06-01 20:03:23 -07:00
AJ Martinez
dd5332df83 Smooth out gentleman delay 2023-05-28 01:31:27 -07:00
James R
20d9d48483 Destroy parties explicitly before building
This removes a call to G_DestroyParty from CL_ClearPlayer.
The problem with calling it from there is that the
consoleplayer of a splitscreen is removed first, the local
party is cleared. Then G_LeaveParty assert fails when the
next splitscreen player is removed because the console's
party was already cleared.
2023-05-18 19:15:02 -07:00
James R
11b2ee0d26 Got_AddBot: build party and set playerconsole
Fixes bot's local party being empty (fails assert at
G_LeaveParty).
2023-05-18 18:40:01 -07:00
AJ Martinez
fdc41848a9 Oops, servernode isn't a player index 2023-05-14 22:20:33 -07:00
AJ Martinez
6184ba60c5 Fix chat messages being krangled on dedicated servers 2023-05-14 21:34:25 -07:00
toaster
de22fc8ff1 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into profile-restrictions
# Conflicts:
#	src/hu_stuff.c
#	src/y_inter.c
2023-05-12 13:42:50 +01:00
AJ Martinez
28bba54905 Allow host to skip gamestochat, not just admins (??????????????) 2023-05-10 00:26:12 -07:00
toaster
ab68be49e1 cv_antigrief
- Increments a timer on human players who aren't making progress, does it even faster if they're going backwards.
    - Only applies in:
        - Netgames
        - GTR_CIRCUIT after the timer starts
        - If there's no timelimit, pointlimit, or K_Cooperative (because unproductive behaviour there will be punished by other rules)
    - The rate at which this changes needs trial and error, but getting the feature functional is more important to start out with.
- If this timer reaches cv_antigrief's value in seconds , the player gets a "Grief Strike"
    - This doesn't happen if:
        - There's only one active player in the server, so FREE PLAY permits mappers to test what increments/decrements the counter
            - Turn `debugwaypoints` on to observe this
        - The cvar is set to 0
    - Less than 3 grief strikes is a forced spectate
    - Anything more is a kick via "automatic grief detection"
        - Unless your node is the host (or an admin)
    - Remove grief strike strike for finishing normally

# Conflicts:
#	src/d_clisrv.h
2023-05-01 16:57:35 +01:00
toaster
9e30ffcdb7 Got_KickCmd: Do not kick players with the server node from the server (this shut down the server previously !?) 2023-05-01 16:57:34 +01:00
AJ Martinez
08ffc79b5c PT_SAY: Review fixup 2023-04-30 19:05:29 -07:00
AJ Martinez
5854969fa9 PT_SAY: Help GUESTs understand what's going on a little better 2023-04-30 05:59:13 -07:00
AJ Martinez
eb8c568723 Index footgun warning 2023-04-29 20:30:53 -07:00
AJ Martinez
833501f191 Games-played chat reject message clarity 2023-04-29 20:26:51 -07:00
AJ Martinez
55f15f6c0e CV_SAVE gamestochat 2023-04-29 20:24:30 -07:00
AJ Martinez
c924228444 Split PT_SAY handling into its own method 2023-04-29 20:24:17 -07:00
AJ Martinez
167f5f40ed PT_SAY and gamestochat: the rest of the owl 2023-04-29 20:16:20 -07:00
AJ Martinez
eae6c2fa80 PT_SAY: Fix index reuse in spam handler 2023-04-29 17:46:45 -07:00
AJ Martinez
346a778365 PT_SAY: Restore cv_mute and stop_spamming 2023-04-29 17:45:04 -07:00
AJ Martinez
42251419e0 PT_SAY: check that source matches packet source 2023-04-29 17:21:44 -07:00
AJ Martinez
cb8e48d8a7 WIP: PT_SAY 2023-04-29 16:12:23 -07:00
AJ Martinez
07eb7dea19 Revert "WIP: XD_REQSAY"
This reverts commit 00e25ee593.
2023-04-28 17:14:32 -07:00
AJ Martinez
00e25ee593 WIP: XD_REQSAY 2023-04-28 02:10:50 -07:00
AJ Martinez
5b4725a011 WIP: Social restrictions until you've played some games 2023-04-22 21:02:36 -07:00
Sally Coolatta
68916559aa Z Voting: Kick handling improvements
- If a player being voted against leaves before it finishes, then properly activate their penalty.
    - This is handled with a special case for MVT_KICK (let's not even attempt to SendKick(self) during Got_Kick :p), but any possible future vote types that use a victim will simply call K_MidVoteSuccess.
- Actually define behavior for KICK_MSG_VOTE_KICK.
- Default kicktime is now 20 minutes instead of 10.
- Read custom reasons before possibly overriding msg type. Prevents a rare invalid read pointer.
2023-04-20 21:11:25 -04:00
Sally Coolatta
996ca9adad Z Voting 2023-04-20 15:55:38 -04:00
Sal
e0901ed7a7 Merge branch 'round-queue' into 'master'
roundqueue

See merge request KartKrew/Kart!1156
2023-04-18 09:31:26 +00:00
toaster
1d8b33833e Fix TESTERS build creation by not including GotOurIP, which is never called in those 2023-04-17 20:59:30 +01:00
toaster
2d46112c58 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into round-queue
# Conflicts:
#	src/d_netcmd.h
2023-04-17 20:08:37 +01:00
Sally Coolatta
4e7b6f0cc3 Add ring shooter tire grabbers + more player logic 2023-04-17 00:23:08 -04:00
AJ Martinez
2961629332 Allow and warn about duplicate pubkeys in DEVELOP 2023-04-11 22:24:12 -07:00
AJ Martinez
0aabb6ddcd Return full stats struct, dynamically allocate trackedList 2023-04-11 19:38:02 +01:00
AJ Martinez
3012839138 Serverside PWR: Completely rip out profile PWR, add PWR to XD_ADDPLAYER 2023-04-11 19:38:02 +01:00
AJ Martinez
7eb5755963 Disallow duplicate non-GUEST pubkeys 2023-04-11 19:38:01 +01:00
AJ Martinez
134a5ef9c0 WIP 2023-04-11 19:38:01 +01:00
toaster
19ef96351a roundqueue
A general purpose system that permits cacheing of GP progression in one place, but which permits future expansion and brings Online GP a little closer to reality.
- Stores a bunch of levels, gametypes, encore state, and restricted-by-rank-ness in sequence.
    - Initialised on GP cup select.
    - FUTURE WORK: Open to being initialised by other methods
- Digests its way through that sequence as maps are completed.
- Stores round number instead of `grandprixinfo`.
- Map commands as sent over the wire have been adjusted.
    - Sends round number and size of/position in roundqueue.
    - Now figures out GP Event Type from gametype.
        - Can be swung in the direction of a Special Stage with a hint flag.
        - This hint flag replaces "fromlevelselect", which was functionally vestigal.
2023-04-11 17:18:27 +01:00
toaster
06763da0e7 Merge branch 'bind-function-keys' into 'master'
Remove hardcoded Function keys for screenshot etc, add RECORD LOSSLESS to the profile controls

Closes #284

See merge request KartKrew/Kart!1093
2023-04-11 16:16:23 +00:00
AJ Martinez
d39af93f14 More accurate mindelay for servers/hosts 2023-04-08 05:25:01 -07:00
James R
80421da5b3 Replace hardcoded keys for screenshot etc with bindable controls
Renames M_ScreenshotResponder to M_ScreenshotTicker. No
longer eats events. As a side effect, these controls
cannot be used with the console open.
2023-04-06 20:02:11 +01:00
Sally Coolatta
15f60a1f14 Split thing voting screen to a new file 2023-04-03 20:57:31 -04:00