Commit graph

6266 commits

Author SHA1 Message Date
toaster
f167895865 Fix compilation warnings and non-codebase-standard types
Also, make the I_GetJoystickEvents functions match each other
2022-08-25 20:28:13 -05:00
Eidolon
08a218a3a1 Bump execversion to 10, remap xbox controls to SDL 2022-08-25 20:28:13 -05:00
Eidolon
5412be76e8 Use SDL Game Controllers API 2022-08-25 20:28:13 -05:00
James R
7b019571aa Merge remote-tracking branch 'origin/master' into next 2022-08-25 10:40:46 -07:00
toaster
d86081cb8a 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-25 18:00:19 +01:00
toaster
1fb84fbfa9 Adjust voting rule changes again
* If `kartvoterulechanges` is set to `Always`, the third option is always the opposite gametype, even if Encore is unlocked - that will now be present on the second option instead.
    * This is both for consistancy with having Encore inaccessible on your gamedata, and a response to community feedback.
* The `kartencore` cvar being turned on will now be reflected in gametype rule changes from Battle to Race. This plugs one last hole in its area of effect for Race tracks.
2022-08-24 18:52:09 +01:00
toaster
77164096dd 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!
2022-08-24 15:04:09 +01:00
Eidolon
a728a4bb06 Don't use localaim/angle in skybox in demos 2022-08-23 20:11:24 -05:00
X.organic
a4690a44fe
Restore "SONIC ROBO BLAST 2" header in w_wad.c
I don't know either why it disappeared in the first place.
2022-08-23 18:33:44 +02:00
Eidolon
95358ba4fe cmake: add exchndl link on mingw32 2022-08-22 20:59:56 -05:00
X.organic
002c75e9e2
Merge branch 'uint8-wads-and-skins' into futurepk3
Worth doing now that that's been merged into next. Also pulls in a
little bit of master.
2022-08-23 03:19:28 +02:00
Eidolon
72120025e6 cmake: remove win32 subdirectory 2022-08-22 19:43:59 -05:00
Sal
9160c6bef4 Merge branch 'uint8-wads-and-skins' into 'next'
Increase maximum WAD and skin counts

See merge request KartKrew/Kart-Public!291
2022-08-22 23:47:05 +00:00
Lonsfor
75efde143b
Separate deadzones for menus 2022-08-22 15:52:22 -04:00
Lonsfor
c9a6f9f9a3
Change minimum deadzone for menus from 3/4 to 1/2 2022-08-22 15:52:22 -04:00
Lonsfor
8724b01ae4
Set minimum deadzone for menus and prevent setting deadzone to 0 (c Ashnal) 2022-08-22 15:52:22 -04:00
Lonsfor
080a4f080a
Menu options for deadzones 2022-08-22 15:52:22 -04:00
Lonsfor
0e1a91c655
Separate deadzones for players 2 3 and 4 2022-08-22 15:52:20 -04:00
Lonsfor
2dd21de302
Add separate x/y deadzones 2022-08-22 15:50:27 -04:00
X.organic
f92c5b96ac
Fix a performance regression in query functions
This commit brings back the old code for W_CheckNumForNamePwad, using memcmp
instead of strncmp, which is readily inlined by modern C compilers and has
more acceptable performance in P_AddWadFile. Also removes some redundant
strlens, saving the result of one call instead.

This commit increases this branch's distance from SRB2 2.2, per Ashnal
and SteelT's note that I shouldn't worry too much about it, especially
when there's performance on the line.
2022-08-22 13:25:24 +02:00
X.organic
3305303ea7
Merge branch 'master' (1.5) into futurepk3 2022-08-21 22:10:12 +02:00
James R
08f49671ef Send ASKINFO packet after hole punching
Time spent in I_NetRequestHolePunch no longer counts
toward ping measurement in the server list.
2022-08-21 04:15:59 -07:00
James R
1551e4572d Do not query DNS for holepunchserver more than once per tic 2022-08-21 03:45:55 -07:00
X.organic
b4ebbbad89
Remove the last SINT8 handling skin indices
Thanks to Callmore's insistence on me sweeping through functions that
return -1 on error.
2022-08-21 11:50:02 +02:00
Eidolon
f008e63037 Don't sleep w/ fpscap 0 and vsync enabled 2022-08-20 15:55:17 -05:00
X.organic
477c848615
Bring the maximum WAD file count up to 255
Per @TehRealSalt's recommendation.
2022-08-20 21:45:22 +02:00
Eidolon
ca5884cf5e reset cam interpolation on P_ResetCamera 2022-08-20 13:42:34 -05:00
Eidolon
a3bc32f7a0 fix portal interp view positioning 2022-08-20 13:00:37 -05:00
Eidolon
593cbbea65 Don't popup MS rules in dedicated mode 2022-08-20 12:20:09 -05:00
Eidolon
af3df72c29 cmake: build sdl target with threads support 2022-08-20 12:13:48 -05:00
Eidolon
b426602b24 cmake: remove patch.dta from assets script 2022-08-20 12:05:53 -05:00
X.organic
d820b8e0c7
Increase maximum skin count to 255
This time without spare slots, because I don't see shenanigans like
WAD_MUSIC happening with skin indices. Verified to work by saving a
replay with 139 skins as the 133th skin and playing it back a few times.
Shouldn't cause issues with netcode either because there are no SINT8s
handling skin indices.
2022-08-20 14:08:14 +02:00
X.organic
09ae350603
Increase maximum WAD count to 250
Can be increased up to 255 safely, just not 256. 5 slots left for
shenanigans like Moe Mansion's WAD_MUSIC.
2022-08-20 14:05:32 +02:00
James R
993b3c96ac Update version to 1.5 2022-08-19 21:19:42 -07:00
James R
2edc840037 Draw PINGD before delay number 2022-08-19 21:13:05 -07:00
James R
54b5955a74 Ping counter: change patch name PINGF to PINGD
Update gfx.kart hash
2022-08-19 20:45:16 -07:00
James R
be3dfa45d0 Rename rendezvousserver to holepunchserver 2022-08-19 20:19:45 -07:00
James R
f2534f8cb5 Master server: use I_OutputMsg during startup
CONS_Printf calls CON_Drawer during startup, thread
collision stuff.
2022-08-19 20:05:05 -07:00
James R
2137a096e6 Reset remotenode when discarding STUN/hole punch packet
Fixes some wild behavior when a lot of hole punching
requests are coming in.
2022-08-19 19:55:08 -07:00
X.organic
8cd9b64716
Merge branch 'master' (1.4) into futurepk3
Now that 1.4 is out, maybe this will come in handy in 1.5, should 1.5 be
released. If not, I guess Ring Racers will make this branch redundant
once that comes out.
2022-08-20 03:10:32 +02:00
toaster
c5e131460e Finalise credits for real. 2022-08-19 22:30:23 +01:00
James R
c6e3f780e7 Revert "Merge branch 'consoleplayer-dedicated' into 'next'"
This reverts commit 5ec44ba3fa, reversing
changes made to 4c5d69b714.
2022-08-18 18:14:23 -07:00
toaster
f2017fd31a Only display master server rules popup once per game boot.
Doesn't prevent it from happening later if the rules weren't successfully fetched, though.
2022-08-17 13:52:31 +01:00
X.organic
b3dd979762
Finish SRB2 2.2 PK3 loading backport
Implements W_VerifyPK3, thus allowing music PK3s - even those created
with an archiver, thanks to the preceding commit - to be loaded as
"unimportant" files, like music WADs can be.
2022-08-16 21:54:04 +02:00
toaster
5812d7343d maps.kart hash finalised. 2022-08-16 20:39:48 +01:00
toaster
426b089d1d Fix VHS effect speeding up with interpolation. 2022-08-16 20:37:19 +01:00
toaster
2733571d27 Fix the interp-related Ancient Tomb FOF flickering.
Notably caused by a difference in behaviour between Software and GL that was already resynchronised in the 2.2 codebase.
2022-08-16 20:08:52 +01:00
X.organic
0a12b025ff
Start of SRB2 2.2 PK3 loading backport
Backports the fixed ResGetLumpsZip code, registration of longname
fields and support for PK3s without trailing directory entries.
2022-08-16 20:36:51 +02:00
toaster
9e3fdfeeb7 Update maps.kart hash one more time... 2022-08-13 12:07:30 +01:00
toaster
c09f5c0425 Fix a regression in non-ramp sector (no step down) functionality.
Seems to be a regression in internal too. Requires more analysis on behaviour in the 2.2 engine, but essential for maintaining compatibility in 2.1 (such as with Opulence wobbly carpet).
2022-08-12 22:13:45 +01:00
toaster
cf882f4a30 Utilise execversion to one-time reset two cvars on upgrade to v1.4.
- `cv_masterserver` - Replaces a hack checking for the original SRB2 MS addres every time, and additionally catches those who tested an early version of the http MS.
- `cv_usegamma` - This was previously WAY too easy to accidentially change. This way, a user who has had this accidentially happen will automatically return to baseline.
2022-08-11 23:46:41 +01:00
toaster
a60052b35d Fix changing gamespeed from the menu, for real
I originally wrote a ridiculous attempt at reimplementing the existing value rollaround. For one reason or another, that sidesteps net transmission. Let's just avoid all those hacks and limit our influence to changing the maximum allowed range.
2022-08-11 23:18:48 +01:00
toaster
c657a47d56 Don't force a NEW CHALLENGER!! map reset if spectators enter during the introtime.
Doesn't affect the conditions that allow entry -- just avoids pointlessly resetting the map if it occurs during the period where literally nothing can happen.
2022-08-11 22:45:32 +01:00
toaster
66ac4bc309 Fix interp-related skybox freak for splitscreen p1. 2022-08-11 22:37:25 +01:00
toaster
8cbedf789a Copyright update. 2022-08-10 00:13:49 +01:00
toaster
2bc67a6151 Fix reversing/braking not being mapobjectscaled 2022-08-09 12:33:59 +01:00
toaster
0bcf934f03 One last touch to the credits. 2022-08-08 19:05:15 +01:00
toaster
aeeabbf991 Update maps.kart hash one more time for the road. (tee hee, racing pun) 2022-08-08 16:59:35 +01:00
Hannu Hanhi
3a672a01e7 Use SSE3 in 32-bit x86 binaries 2022-08-07 07:38:42 -07:00
SteelT
93ec7bd9e5 Don't compile with dynamic base 2022-08-07 05:43:41 -07:00
toaster
0a95af8e05 Final credits update 2022-08-06 15:14:40 +01:00
toaster
0e5f223666 Supporting variable refresh rate for minor menu timers
Notably implemented with a hack, but these have already or will be rewritten for Ring Racers, and backporting isn't viable or desirable, so functional is better than the alternative.
2022-08-06 14:26:56 +01:00
toaster
5aa56e6029 Minor compiler warnings 2022-08-04 17:03:16 +01:00
toaster
284ae5fab8 Fix an interpolation issue with the Signpost
Because its z was being set but its old z wasn't being overwritten, at high enough refresh rates you can see it appear above its starting position for a single frame.

Done by modifying old_z instead of using P_SetOrigin for consistency of avoiding CheckPosition.
2022-08-04 15:57:44 +01:00
toaster
9e3b89c54f R_DrawVisSprite adjustments
* Backport the fix to an interp-based crash caused by using a combination of interpolated and uninterpolated scale in renderer calculations.
* Between this and the last commit, I attempted a refactor of this and associated functions in order to find the cause of the above crash. Committed are the changes which resulted in increased performance.
2022-08-04 15:34:59 +01:00
toaster
a93f7ff7db New maps.kart hash for rearranged music lump names.
Revised the "last updated" instead of appending because we don't need to give internal-only changes too much spotlight.
2022-08-04 15:34:59 +01:00
toaster
d939be8530 Merge branch 'v14-cmake-improvements' into 'v14prep'
(v1.4) cmake improvements

See merge request KartKrew/Kart!634
2022-08-04 14:34:39 +00:00
James R
14e502fd3f SDL hint render driver to direct3d11
Windows bug; RPT files were not being generated for
toaster on Windows 11. Eventually it was narrowed to down
to direct3d driver specifically.
2022-08-03 11:10:12 -07: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
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