Commit graph

1219 commits

Author SHA1 Message Date
James R
6a6a0accee Merge remote-tracking branch 'origin/cvar-default-ports' 2022-09-17 00:18:10 -07:00
James R
1cf1643233 Merge branch 'stability-fix-ports' into 'master'
Stability fix ports

See merge request KartKrew/Kart!670
2022-09-17 07:08:26 +00:00
Sally Coolatta
81a4cb17c0 Only do it in netgames 2022-09-14 05:14:54 -04:00
Sally Coolatta
ed61140504 Funny mode fixes 2022-09-14 05:13:26 -04:00
Sally Coolatta
ec29a978ae Funny 2022-09-13 21:23:04 -04:00
toaster
b08ae2a716 Fix confirm connect
Still shows the message when you open the pause menu. Needs more attention I can't give it right now
2022-09-13 22:59:02 +01:00
VelocitOni
8a5707ad83 Merge branch 'master' into hostcode 2022-09-13 17:08:15 -04:00
toaster
aa1fc0c7ba Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into connection-doinglus 2022-09-13 20:53:34 +01:00
toaster
7f2d28ea33 Refactor handling of escape input a little
- Includes port of KartKrew/Kart-Public!250
2022-09-13 20:17:33 +01:00
toaster
921b667c3e Modify render delta tics in the server connection ticker
Necessary so Egga Channel visual behaves properly
2022-09-13 14:24:38 +01:00
toaster
bff9b59b54 Move gamekeydown/deviceResponding memset to D_StartTitle
Fixes an issue where, if the last button used on the menu was ESC going back to the title screen, the connection would be aborted immediately.
2022-09-13 13:47:39 +01:00
toaster
d5e6d349a5 Egga Channel background for connecting 2022-09-13 13:21:03 +01:00
toaster
2d253e0105 Clear menus in one location.
Fixes a number of weird extra fade and gamestate set events.
2022-09-13 13:09:03 +01:00
toaster
033d87fbe1 Adjust profile "guessing"
- Remove block from using connect with uninitialised profile. Instead, CL_ConnectToServer handles the guess entirely.
- Add splitscreen player initialisation in circumstances previously missing it
2022-09-13 12:46:27 +01:00
toaster
c493ee9ee3 Connection screen adjustments
- Request a press of (A) or (B) instead of ACCEL, BRAKE or ESC.
- Support pressing (X) and ESC (hardcoded) as well, to cohere more with the menus.
2022-09-13 12:19:56 +01:00
toaster
8ba32064a8 Clean up recent IP handling a bunch. 2022-09-12 22:24:40 +01:00
X.organic
902fcfa569 Miscellaneous memory bug fixes to make AddressSanitizer happy
# Conflicts:
#	src/d_clisrv.c
#	src/dehacked.c
#	src/hardware/hw_cache.c
#	src/hardware/hw_md2.c
#	src/http-mserv.c
#	src/lua_hudlib_drawlist.c
2022-09-12 16:49:18 +01:00
Sal
a7716b966a Merge branch '14plus-votechanges' into 'master'
1.4+ Voting Changes

See merge request KartKrew/Kart!655
2022-09-11 06:30:39 +00:00
Sal
94d7c497b0 Merge branch 'hooklib-port' into 'master'
Hooklib refactor ported and (mostly) squashed

See merge request KartKrew/Kart!662
2022-09-11 06:30:07 +00:00
Sally Coolatta
2fddc9f343 Merge branch 'master' into big-large-map-markers 2022-09-10 16:01:02 -04:00
toaster
975ed1f136 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into new-menus
# Conflicts:
#	src/d_main.c
2022-09-07 21:39:34 +01:00
toaster
54e03194ea Ignore client joins while loading a level, to prevent a myriad of join bugs.
Slightly rewritten from Jugador's, to prevent spurious DEBFILE prints of unknown packet type
2022-09-07 13:50:26 +01:00
LJ Sonic
8880285222 Remove downloadspeed cruft
# Conflicts:
#	src/d_clisrv.c
2022-09-07 12:33:56 +01:00
toaster
3dc2e3230d Manual zip-together of Ashnal's cvar suggestions and LJSonic's download speed cap raise
- Lowered resynchattempts
- Increased maxsend and downloadspeed
- Increased max downloadspeed
- Doubled nettimeout and jointimeout
2022-09-07 12:33:04 +01:00
James R
37c3a55dda Fix conflicts 522467a88 2022-09-05 11:56:30 -07:00
toaster
06e9bd5b0a Merge branch '14plus-mergeladder' of https://git.do.srb2.org/KartKrew/Kart into 14plus-votechanges 2022-09-05 15:41:05 +01:00
toaster
1f3ac199ae Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into 14plus-mergeladder 2022-09-05 15:32:02 +01:00
toaster
1abfb2745a Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into new-menus 2022-09-03 22:26:28 +01:00
toaster
139def0d3d Plug the last gap that allowed you to avoid selecting a profile.
There's no actual good way to handle the case of changing your skin, etc, maybe even various controls for a momentary test AND supporting profiles, so don't even try. Instead, let the game "pretend" you selected ttlprofilen to let it just about work.

This works because all the relevant cvars and controls still get saved to the config when changed... they just get written over when you select a profile. So if you haven't changed anything since your last successful launch, it is now functionally indistinguishable.
2022-09-03 00:19:03 +01:00
toaster
cf25cf0da1 Clear menus if wiping from GS_MENU to GS_LEVEL/GSWAITINGPLAYERS
Catches a case that's never been relevant before -- now that you can open the console on the menu, map commands have newfound dangers to be worked around.
2022-09-02 22:37:40 +01:00
Sally Coolatta
e8b179f7a1 Switch around maxplayers and ingamecap
- ingamecap is now the new maxplayers
- The old maxplayers is now called maxconnections, but can mostly be left alone
- Insert into match race menu
2022-08-29 04:35:14 -04:00
toaster
7edec43d72 Port Gametype Preference and associated changes
Notably, makes the PWR-based Encore scrambling component of G_SometimesGetDifferentGametype WAY less spaghettified.
2022-08-28 23:36:55 +01:00
toaster
8931522627 If the client has caught up to the server -- say, during a wipe -- make GetLag return a ping of zero
Should fix the momentarily large ping bug.
2022-08-28 16:59:52 +01:00
James R
c9035c3f91 Send ASKINFO packet after hole punching
Time spent in I_NetRequestHolePunch no longer counts
toward ping measurement in the server list.

# Conflicts:
#	src/d_clisrv.c
2022-08-28 16:59:23 +01:00
Ashnal
5227d3f8c4 Switched checking files mode to use a progress bar
Changed the confirmation prompt use MB if >=10MB
Changed the ovearall progress bar to use MB if >=10MB
2022-08-28 16:43:05 +01:00
Sally Coolatta
c292009ebd Fix human vs bot P_CheckRacers conditions 2022-08-28 08:04:50 -04:00
Sally Coolatta
107622968e Merge branch 'master' into new-menus 2022-08-27 22:36:58 -04:00
Sally Coolatta
7d67e02ea3 Bot perfstats
Show how long they take to think on all of their main tasks
2022-08-27 00:04:33 -04:00
toaster
851a2094cf Don't even attempt to advertise a non-netgame server.
This appears to be a long-time bug that exists upstream too, but nobody even knew about it before the MS rules alert made it clear this was actually happening!

# Conflicts:
#	src/m_menu.c
2022-08-24 23:54:38 +01:00
toaster
48a1f7f94d Revert the reversion of 2.2 information.
- Corrects the definition for cv_kicktime.
- Moves its registering to the correct place for being saved to the config.
- Restore LUAh_GameQuit.
2022-08-24 22:24:10 +01:00
toaster
a59e28f339 Catch several ways ban.txt could be malformed by a well-meaning server host, and report it back via the log. 2022-08-24 21:58:53 +01:00
toaster
1667b050b2 Complete BANFORMAT header implementation.
* Warn the user when an incompatible ban.txt is being loaded, and stop early.
* Don't inexplicably assign as a boolean, you bafooligan!
2022-08-24 21:58:25 +01:00
toaster
a798c43028 First commit with actual human testing involved.
* Fix some bugs.
    * Reset bannode information properly, fixing being unable to join your own server.
    * Write to the buffer before saving the kick/ban reason, rather than after.
* Improve the print output for the `showbanlist` command.
    * Includes username.
    * Includes remaining time as seen by a kicked joiner.
    * Hides expired bans.
* Improve the messages for ban/kick related refused joins.
    * Replace the Reason with the actual admin-provided reason for refused connection.
    * Replace the "Server refuses connection" header with "You have been [banned/temporarily kicked] from the server", the previous given Reason.
    * Fudge the time reported for temporary kicks so that a user is encouraged to return slightly after their tempkick ends, rather than before.
* Add an extra newline to the M_StartMessage for being kicked/banned with a reason provided.

# Conflicts:
#	src/d_clisrv.c
2022-08-24 21:56:48 +01:00
toaster
f728f164f5 Create a single struct for bannednode and bannednodetimelft, and use the matching ban ID inside that struct.
While this commit does not increase the visibility of ban reasons, it makes this possible later.
2022-08-24 21:53:49 +01:00
toaster
e4e2550592 Enforce MAX_REASONLENGTH when reading ban.txt. 2022-08-24 21:53:18 +01:00
toaster
4ad6220f3e Core 1.4 specific changes.
* Ensure it can compile.
    * Removing vanilla 2.2 properties that slipped in to previous commits.
    * Rearranging i_tcp.c to avoid implicit declaration.
    * Complete rename of `IsNameGood` to `EnsurePlayerNameIsGood`.
* Add "BANFORMAT" header, for versioning support.
* Add conversion from 1.3-and-earlier format to new system.
* Don't ban the entire internet - convert zero-masks to the most specific ones.

# Conflicts:
#	src/d_netcmd.c
#	src/i_tcp.c
2022-08-24 21:52:49 +01:00
Sally Coolatta
281004bb85 date-time todo comment 2022-08-24 21:07:42 +01:00
Sally Coolatta
d6e2410cbb Ban improvements
- Save a note of the username, not just the reason.
- Allow setting a mask with the `banip` command.
- Make ban.txt's formatting a lot more sane. Username and reason are stored in quotes. The mask uses the same formatting as actual CDIR.
- Keep track of if we tried to load ban.txt. If it wasn't, then don't save over it with a blank file.
- Disallow quotes in player names, as it makes player name detection in console more annoying, and saving username in files scary.
2022-08-24 21:07:42 +01:00
Sally Coolatta
eb7e84b961 Automate commands
- `automate_set <event name> <command>` to set a command to run each time an event triggers.
- Currently implemented events are "roundstart", "intermissionstart", and "votestart", all of the ones from HOSTMOD.
- Turn `automate` off to disable this feature entirely. Because of the new safer way this is implemented (in HOSTMOD, this just calls some console aliases), this is turned on by default instead of off.
- This is set up in a way to facilitate adding more automation events very easily, if desired.
2022-08-24 21:07:41 +01:00
Sally Coolatta
0308ab6bd4 Scheduling commands
- `schedule_add <seconds> <command>` to add a command that runs on a recurring timer.
- `schedule_list` to print out all of the scheduled tasks.
- NEW: `schedule_clear` to revert the schedule to a blank slate.
- `schedule` cvar determines whenever or not to run the scheduled tasks. Unlike HOSTMOD, turning this off will reset the timers of the tasks, instead of freezing them.
- I did not implement HOSTMOD's ability to pick from several random command per scheduled task. Would drastically increase the code complexity when you can just use a choose command in your schedule_add for the exact same effect.
2022-08-24 21:07:41 +01:00