Commit graph

26116 commits

Author SHA1 Message Date
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
6123ac3c39 Time Attack ghosts: sync with level timer instead of when the player crosses the finish line 2024-01-30 17:27:34 -08: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
007fbc52da Make UDMF mandatory for play
As per many previous conversations, we need to enforce the UDMF
requirement now if we want to introduce a new hardware renderer in the
future. Requiring UDMF ensures that maps are always built with extended
nodes, which both solves vertex imprecision issues and ensures all
subsectors are closed, making writing a hardware renderer significantly
easier and less prone to subsector bugs.
2024-01-29 19:38:26 -06:00
AJ Martinez
10ba1fa25f WIP: Adjust combo escape tuning defines 2024-01-29 18:27:26 -07: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
Eidolon
f975df6d6d Allow MT_BATTLECAPSULE to spawn in tutorials
Fixes KartKrew/Kart#949
2024-01-29 18:48:49 -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
AJ Martinez
9231e95101 WIP: Battle combo mitigation rework 2024-01-29 17:02:25 -07: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
AJ Martinez
0878946b7e Merge remote-tracking branch 'origin/master' into bumper-boats 2024-01-29 16:06:58 -07: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
SteelT
9db766935c Update tracy client to v0.10 2024-01-27 21:06:14 -05:00
Sally Coolatta
a7df7aa637 Add Medium Font
Monospaced in-between of Console & Thin
2024-01-27 20:38:52 -05:00
Sally Coolatta
f4db29574d Vote level names 2024-01-27 18:10:44 -05:00