Commit graph

26002 commits

Author SHA1 Message Date
James R
6f27714011 invite, leaveparty commands: use party API to check party size
Use G_PartySize/G_LocalSplitscreenPartySize instead of
r_splitscreen/splitscreen. This should be less
error-prone in case r_splitscreen fails to be updated
somehow.
2024-02-01 02:50:25 -08:00
Oni
ebbe8203a2 Merge branch 'bubble-gamespeed' into 'master'
Use player max speed for bubblebounce min speed (resolves #969)

Closes #969

See merge request KartKrew/Kart!1868
2024-02-01 03:00:43 +00:00
Oni
8aeeae24c3 Merge branch 'fix-demo-ghost-buffer-overrun' into 'master'
Large replay crash mitigation, replay buffer size option, debug command

Closes #656

See merge request KartKrew/Kart!1885
2024-02-01 03:00:26 +00:00
SteelT
f98ddf9a8f Delete some libgme files that was missed 2024-01-31 21:33:25 -05:00
Eidolon
f3b2b24556 Merge branch 'papersprite-papercuts' into 'master'
Mitigations for software papersprite light eval crashes

See merge request KartKrew/Kart!1893
2024-01-31 14:36:25 +00:00
Eidolon
2514a12810 Merge branch 'remove-gme' into 'master'
Remove GME VGM music emulation

Closes #1002

See merge request KartKrew/Kart!1886
2024-01-31 14:33:27 +00:00
Oni
dfd80de4c0 Merge branch 'spikes-justbumped-exception' into 'master'
Add justbumped exception to wall spikes

See merge request KartKrew/Kart!1897
2024-01-31 03:48:50 +00:00
SteelT
317d1e7e06 Add justbumped exception to wall spikes 2024-01-30 22:45:52 -05:00
James R.
f2df82e58c Merge branch 'parallel-drawing-cvar' into 'master'
Add parallelsoftware cvar

See merge request KartKrew/Kart!1891
2024-01-31 01:51:46 +00:00
James R.
af14e43926 Merge branch 'match-race-menu-sounds' into 'master'
Menus/Match Race: sounds for Z/Y buttons

Closes #987

See merge request KartKrew/Kart!1888
2024-01-31 01:49:36 +00:00
James R.
0f5d84d8c6 Merge branch 'fix-connectedservername' into 'master'
Fix a crash that may occur when joining a server with a maximum length server name or contact field

See merge request KartKrew/Kart!1894
2024-01-31 01:47:18 +00:00
James R
2a2149ad60 Use strlcpy for connectedservername/connectedservercontact
Fixes these buffers not being null-terminated at max
length.
2024-01-30 16:39:04 -08:00
Eidolon
f4b4c664c4 Clamp lindex during vissprite light calculation
Mitigates against negative or very large xscale values causing lindex
to evaluate < 0, preventing a potential colormap indexing-related crash.
2024-01-30 17:02:17 -06:00
Eidolon
23b565cec5 Drop papersprite draws that are too wide
This prevents an arithmetic overflow when evaluating xscale, resulting
in a negative xscale.
2024-01-30 17:01:09 -06:00
SteelT
32dec2b6ef LICENSE-3RD-PARTY.txt: Delete libgme 2024-01-30 02:10:19 -05:00
James R
bd62fe4e90 TuneManager: remove GME related code 2024-01-29 23:07:57 -08:00
James R.
3d10278bf2 Merge branch 'fix-replay-party-crash' into 'master'
Fix replays crashing whenever a player leaves

Closes #500

See merge request KartKrew/Kart!1884
2024-01-30 06:43:40 +00:00
Eidolon
591af1ab95 Add parallelsoftware cvar
In the rare case where kernel thread scheduling causes hitching issues
(SteamOS?), there should be an option to dynamically toggle multithread
dispatch of plane drawing.
2024-01-29 19:26:04 -06:00
SteelT
d40097426e Merge branch 'fix-ms-debuglog-option' into 'master'
Fix MS debug log menu option changing wrong cvar

See merge request KartKrew/Kart!1887
2024-01-30 00:16:00 +00:00
James R
abbaf78ff1 Menus/Match Race: sounds for Z/Y buttons 2024-01-29 15:57:11 -08:00
SteelT
e057a5234f Fix MS debug log menu option changing wrong cvar 2024-01-29 18:42:55 -05:00
Eidolon
9e26697e11 Fix apple clang compilation with byteptr.h again
Annoyingly missed these pointer conversions
2024-01-29 15:55:31 -06:00
Eidolon
640ad6bc1e Remove GME VGM music emulation
We cannot comply with the terms of the GPL in using and distributing
libgme due to MAME license incompatibility, so the feature needs to
be removed.
2024-01-29 15:54:20 -06:00
James R
eba9df570d Replays: raise default buffer size from 4 to 6 MB 2024-01-29 02:31:57 -08:00
James R
1769b418df Replays: reserve 1 KB of space at end of buffer as a safeguard
This should avoid buffer overruns in the middle of
recording. There is already code that checks for buffer
size around ticcmd and ghost data write. Demo header is
still unsafe with many WAD filenames written, for example.

Ghost data and ticcmd should not come close to reaching
into this extra space. At the time of writing, ghost data
can write up to 102 bytes and ticcmd 20 bytes, per player.
2024-01-29 02:26:15 -08:00
James R
5a86041302 G_WriteAllGhostTics: check buffer size after each player's ghost data
Instead of checking it after ALL player ghost data. This
is less likely to write past the end of the demo buffer.
2024-01-29 02:24:57 -08:00
James R
a879975e83 devmode DEMO: replay buffer usage displayed in real-time on the HUD
- Buffer usage in megabytes, bytes and percentage
- Approximate usage per second
- Estimated time until buffer runs out and replay is stopped
2024-01-29 02:20:26 -08:00
James R
09b90c3cf1 Replays: add netdemo_size cvar, add to Data Options
Controls size of replay buffer when recording
2024-01-29 02:18:46 -08:00
James R
6c2736bd1d Move party construction to G_AddPlayer
- Fixes crash when a player leaves when viewing a replay
- Slightly refactors player joining code (including bots)
2024-01-28 23:02:57 -08:00
James R.
bf1e4cb5bc Merge branch 'vscode-faster-pls' into 'master'
Add cmake option to skip comptime update

See merge request KartKrew/Kart!1881
2024-01-29 05:10:44 +00:00
James R.
d5d179a224 Merge branch 'fix-cmake-gitless-build' into 'master'
cmake: exe name fallback if no .git present

Closes #895

See merge request KartKrew/Kart!1878
2024-01-29 05:09:55 +00:00
James R.
45738973b8 Merge branch 'replay-rewind' into 'master'
Replay menu fixes for release

Closes #770 and #984

See merge request KartKrew/Kart!1883
2024-01-29 05:08:02 +00:00
James R
b732d7bd43 Menus/Replay: replace rewind button with restart button
- Restarts the replay from the beginning
- New button graphic
2024-01-28 21:07:12 -08:00
James R
4adadb0167 Menus/Replay: use menu font 2024-01-28 17:56:38 -08:00
James R
e0583a19b3 Menus/Replay: do not draw border in non-green resolutions
The border draws over the buttons, which makes the menu
practically unusable. Not drawing the border is the
simplest thing I could do to fix this.
2024-01-28 17:56:38 -08:00
James R
50781ded69 Menus/Replay: correctly adjust position of quit button in Time Attack 2024-01-28 17:56:35 -08:00
Eidolon
83a32c5acc Merge branch 'fix-texture-scale-overflow-freeze' into 'master'
Prevent overflow when scaling textures

Closes #844

See merge request KartKrew/Kart!1879
2024-01-29 00:27:37 +00:00
Eidolon
742c895228 Merge branch 'xtralives-cheaters-in-tears' into 'master'
Don't affect GP status if retrying

Closes #997

See merge request KartKrew/Kart!1882
2024-01-29 00:27:21 +00:00
Oni
fc8600a0aa Merge branch 'highlight-stumble-floors' into 'master'
debugfinishline: show stumble sectors

See merge request KartKrew/Kart!1872
2024-01-28 23:36:06 +00:00
Oni
ff20f38ffa Merge branch 'in-flight-menus' into 'master'
Course List QOL

See merge request KartKrew/Kart!1867
2024-01-28 23:31:59 +00:00
Oni
a126a0c9a3 Merge branch 'new-credits' into 'master'
New Credits

See merge request KartKrew/Kart!1747
2024-01-28 23:31:30 +00:00
Sal
3958c15dfe New Credits 2024-01-28 23:31:30 +00:00
Oni
b254ce51c0 Merge branch 'update-tracy' into 'master'
Update tracy client to latest version

See merge request KartKrew/Kart!1877
2024-01-28 23:30:01 +00:00
Oni
bc80233f1f Merge branch 'vote-level-names' into 'master'
Vote level names

See merge request KartKrew/Kart!1873
2024-01-28 23:29:44 +00:00
Oni
cf362c226f Merge branch 'its-ko-time' into 'master'
Battle: "K.O. READY!" appears on your screen when you reach the point limit

Closes #979

See merge request KartKrew/Kart!1871
2024-01-28 23:27:46 +00:00
Eidolon
9fb0efae3c Don't affect GP status if retrying
Fixes KartKrew/Kart#997, and then some. The bot difficulty was also
being affected by retrying after completing a race, so that's prevented
too.
2024-01-28 17:06:47 -06:00
Eidolon
0e307208f8 Add cmake option to skip comptime update
In VS Code, comptime forces the game to be relinked even when no code
has changed. This is a bit of a nuisance when starting with the
debugger in the C++ extension, adding around 5 seconds of startup time
to the game.
2024-01-28 14:54:28 -06:00
Oni
22e2b97171 Merge branch 'fix-give-command-bounds' into 'master'
Fix potential out-of-bounds exploit with give command

Closes #698

See merge request KartKrew/Kart!1874
2024-01-28 19:26:17 +00:00
Eidolon
6648e55972 Prevent overflow when scaling textures
Fixes KartKrew/Kart#844 which is caused by scaling the texheight by a
spryscale that is too large, triggering arithmetic overflow before the
overflow check even occurs. This is a performance hit, but should not be
very intense with release optimizations.

Instead, we use saturating arithmetic using the same integer promotion
technique as before, but checking in both directions, and also checking
for the multiplication before the addition.

There is an optimization opportunity here and anywhere that overflow
checks are used, by using compiler intrinsics which check the overflow
flag bit on the CPU instead of using integer promotion.
2024-01-28 12:57:00 -06:00
Eidolon
090a012a74 cmake: exe name fallback if no .git present
Fixes KartKrew/Kart#895
2024-01-28 11:39:56 -06:00