Commit graph

7248 commits

Author SHA1 Message Date
Eidolon
ebbe2ef817 Remove legacy SRB2Launcher 2022-07-23 12:59:51 -05:00
Eidolon
fe4e9b31ce Remove old master server PHP scripts
Blast from the past, buuuut let's trim the fat here too.
2022-07-23 12:59:51 -05:00
Eidolon
260d69720d Remove unmaintained SOCEdit
Written in VB6. Superceded by better tools and also probably not even
buildable anymore.
2022-07-23 12:59:51 -05:00
Eidolon
600f7e2102 Remove old SDL 1.2 patches
SRB2 no longer works with 1.2 or Dreamcast so these are irrelevant
2022-07-23 12:59:51 -05:00
Eidolon
024f43a14d Remove lumpmod tool
Superceded by far superior tools
2022-07-23 12:59:50 -05:00
Eidolon
c278800d66 Remove DJGPP GDB stub
Once more, SRB2 no longer works on DOS so this is irrelevant
2022-07-23 12:59:50 -05:00
Eidolon
4269f4eab6 Remove unused djgpp patch
SRB2 no longer works on DOS so this is irrelevant
2022-07-23 12:59:50 -05:00
Eidolon
120293a840 Remove legacy SRB2Updater tool
Also unsupported and nonfunctional
2022-07-23 12:59:50 -05:00
Eidolon
23833997ee Remove SRB2 Music Player
This thing is ancient history and also depends on FMOD.
2022-07-23 12:59:50 -05:00
Eidolon
5dac920ea4 Remove win32 backend-specific files 2022-07-23 12:59:50 -05:00
Eidolon
7de827deb4 Fix mac crashes + signal handling 2022-07-19 17:23:03 -05:00
Eidolon
f945c369c7 cmake: readd discord rpc libraries to link 2022-07-19 17:23:03 -05:00
Eidolon
e87650f653 cmake: Set plist properties for macOS bundle
yay icon
2022-07-19 17:23:03 -05:00
Eidolon
0f675e93b2 cmake: Fix rpath issues in macOS bundle fixup 2022-07-19 17:23:03 -05:00
Eidolon
0ea3387b80 cmake: Adjust linkage for macOS
This properly links dylibs set during build instead of expecting
the libraries to be in the system path.

# Conflicts:
#	src/sdl/CMakeLists.txt
2022-07-19 17:23:03 -05:00
toaster
8e398504f5 Avoid the every-time crash with interpolated firework trails.
Technically just removes one event that causes the crash instead of the actual crash, but I tried attacking it at the source and it's some nasty, nasty stuff...
2022-07-17 23:05:13 +01:00
toaster
a091420764 Actually update CMakeLists.txt for real.
And add a little extra to the comment for anti-footgun insurance.
2022-07-17 22:03:57 +01:00
toaster
1c961e60f3 Primary 1.4 prep.
* New version number.
* New MODVERSION.
* New asset hashes.
* Disable patch.kart requirement.
* Remove the request to modify CMakeLists.txt, because that got revamped and grabs the version number from elsewhere now.
2022-07-17 21:15:27 +01:00
toaster
b30e84b156 Prevent use after free of lump name in WAD compression-handling code.
Located by my new compiler! Also a nice, simple test commit for my new Git client...
2022-07-16 12:51:22 +01:00
toaster
cd3774932e Interpolate the Phantom Ruby floating animation.
Also, I fell for the copypasted code bait CLASSIC, so now all instances of the Ruby are decoupled from FPS cap.
2022-07-10 21:54:10 +01:00
toaster
9aeacf8887 Make the Phantom Ruby icon float at the same speed regardless of FPS cap. 2022-07-10 20:20:39 +01:00
toaster
51998ed105 Fix Software disabling FPS cap instead of the OpenGL submenu. 2022-07-10 20:17:56 +01:00
toaster
05a79f6a8b Forgot to delete the duplicate registration for cv_kicktime in an earlier commit in this branch. 2022-07-10 19:59:50 +01:00
toaster
cb5da4c3c3 Instead of reverting kartspeed on invalid set, prevent it from being set in the first place, just like Encore! Should resolve desync. 2022-07-10 19:59:29 +01:00
toaster
8c91b3650f Add MF_DONTENCOREMAP to each of the item monitors.
They were skipped because I didn't expect anyone to use them as they're simply leftover SRB2 assets, but Kart Airlines surprised me by using them as pushable track hazards.
2022-07-10 19:20:25 +01:00
toaster
e7ee1126b3 Change where cv_kicktime is registered, so that it's valid at config load time. 2022-07-10 16:10:42 +01:00
toaster
266c463007 Add a sound inexplicably freeslotted in patch.kart. 2022-07-10 16:07:28 +01:00
toaster
eea0df0ba2 Ping measured in frame delay instead of milliseconds
The part of HOSTMOD ministats that I wanted. Can go back to ms using the pingmeasurement cvar.

If Tyron wants to bring ministats fully in I think it'd be better to bring its ideas to replace the current HUD instead, ideally using the existing ping gfx, so they should bring it up with Oni

# Conflicts:
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/doomstat.h
#	src/hu_stuff.c
#	src/m_menu.c
2022-07-10 16:06:50 +01:00
toaster
e1e48b71e2 Fix the Kart Krew intro so that it ends automatically again. 2022-07-09 23:08:52 +01:00
toaster
0845547f47 Only show the rules popup if rules have been recorded. 2022-07-09 21:12:13 +01:00
toaster
4f58842804 Merge branch 'next' into public_next
# Conflicts:
#	src/i_tcp.c
2022-07-09 20:31:49 +01:00
toaster
64474c35ae Merge branch 'http-ms-rules' into 'next'
Print rules in menu and in console

See merge request KartKrew/Kart-Public!286
2022-07-09 19:18:47 +00:00
Sal
b1deb35564 Merge branch 'better-bans' into 'next'
Better bans

See merge request KartKrew/Kart-Public!285
2022-07-07 11:11:31 +00:00
toaster
fbb613b2d6 Catch several ways ban.txt could be malformed by a well-meaning server host, and report it back via the log. 2022-07-04 14:00:12 +01:00
Sal
cf4bb3bbe0 Merge branch 'musicchange-fix' into 'next'
Fix MusicChange lua hook returning some values incorrectly

See merge request KartKrew/Kart-Public!287
2022-07-04 09:17:53 +00:00
toaster
36e44f2f6f Free the banned struct on SOCK_ClearBans. 2022-07-03 22:01:51 +01:00
SteelT
baf7620e61 Fix MusicChange lua hook returning some values incorrectly 2022-07-03 15:51:51 -04:00
James R
a95907cb8c Print and display rules from the master server
Update HMS version to 2.2.

Fetch the rules when master server cvar set. Print rules
in console when server register. Display the rules in the
menu when entering the server hosting menu or when
changing the advertise cvar.
2022-07-02 22:49:25 -07:00
toaster
7c92a7efbb 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-06-15 22:34:05 +01:00
toaster
3ff5e3f8cd Fix an issue where if the last line of an M_StartMessage was the longest, the box width wouldn't account for it. 2022-06-15 17:00:09 +01:00
toaster
3498f1cff1 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.
2022-06-15 16:56:38 +01:00
toaster
40f7be7676 Static for compilation warning. 2022-06-15 13:36:32 +01:00
toaster
7bc59abc30 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-06-14 22:09:27 +01:00
toaster
cd6b1b2cd9 Enforce MAX_REASONLENGTH when reading ban.txt. 2022-06-14 21:42:41 +01:00
toaster
8addea0d45 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.
2022-06-14 21:15:35 +01:00
toaster
55be74396f 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.

# Conflicts:
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/i_tcp.c
2022-06-14 17:25:40 +01:00
toaster
8d05bf669b Kicks are now temp bans
Length is determined by the "kicktime" cvar, in minutes. By default, this is set to 10, but I'm willing to adjust this. Only applies to manual kicks (in the future, maybe also name filter kicks).

The timestamp for the unban time is even saved in ban.txt, so long-term temporary bans are completely possible. (I checked, you can attempt to ban someone for up to 1902 years if you really want to.)

# Conflicts:
#	src/d_clisrv.c
#	src/d_clisrv.h
#	src/i_tcp.c
2022-06-14 17:15:28 +01:00
toaster
24181ae738 - Attach ban reasons to banned_t
- Properly call D_SaveBan after remote bans. Bans are no longer saved in the ban command and instead wait for the actual kick to process, since before they were split between the two, which is what caused the discrepancy.

# Conflicts:
#	src/d_clisrv.c
#	src/i_tcp.c
2022-06-14 16:58:07 +01:00
toaster
2f0e1521d0 Combine banned & bannedmask into banned_t
Better code cleanliness, also makes it easier to add more data to bans later (such as a timestamp for temporary bans)

# Conflicts:
#	src/i_tcp.c
2022-06-14 16:48:29 +01:00
toaster
77e67d86bc Remove MAXBANS
Needs proper stress testing but seems to work.

# Conflicts:
#	src/i_tcp.c
2022-06-14 16:46:12 +01:00