Commit graph

26391 commits

Author SHA1 Message Date
Eidolon
cf5f81746d Merge branch 'large-address-aware' into 'master'
Add large-address-aware flag on 32 bit mingw

See merge request KartKrew/Kart!1909
2024-02-03 19:38:35 +00:00
Eidolon
ce42730b3c Add large-address-aware flag on 32 bit mingw 2024-02-02 20:43:42 -06:00
James R
e35bf8339f Let Save replay text appear when anyone in the party finishes
Instead of only when local P1 finishes
2024-02-02 05:19:32 -08:00
James R
6e6b2b704a Fix "Save replay" text not appearing at end of map
- Remove V_HUDTRANS (Tally makes it fully transparent)
- Embed button codes instead of drawing them separately (fixes minor alignment issues)
- Fade in over 1 second (visual flair)
2024-02-02 05:16:07 -08:00
James R
3646850ff6 Menus: handle caret codes in text fields
- All text boxes render caret code colors
- On-screen keyboard updates colors in real time
2024-02-02 04:30:24 -08:00
James R
a5c4b3705f Parse caret codes for server splash (server name and contact on pause menu) 2024-02-02 04:30:24 -08:00
James R
1bdaa38c7a Replace CopyCaretColors with D_ParseCarets
- New function also sanitizes input
2024-02-02 04:30:24 -08:00
James R
8f2c904651 Sanitize server name and contact fields of non-ASCII characters except color codes
- Strip button codes and other control characters
- Preserve 0x80 - 0x8F color codes
2024-02-02 04:30:24 -08:00
AJ Martinez
97dcc33f0d Reset cheatchecks when respawns would decrease lap 2024-02-01 23:34:29 -07:00
James R
c0fff1a0c4 Activate sector each time / once actions when mobj touches the ground
Before

- Each time / once only activates when the mobj's sector
  changes
- The activation may depend on the mobj touching the floor
- If the mobj is in the air when the sector changes, the
  action will never be activated

After

- Each time / once actions that require floor touching
  also activate every time the mobj lands on the ground
  from the air (regardless of whether the sector changed)
2024-02-01 18:57:06 -08:00
James R
da2150ee7a Party::rebuild_displayplayers: let displayplayers be reconfigured outside of level context
- This lets party changes take effect during
  GS_INTERMISSION or GS_VOTING
- displayplayers must always be updated, in order for
  splitscreen viewports to appear when the level starts
- Only G_FixCamera is not called, because it may rely on
  player_t.mo and I'm scared of that
2024-02-01 03:01:25 -08:00
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
James R
26aed51cd8 SV_ResetServer: clear player ping data
Fixes lag experienced from watching a replay then
affecting the delay icon when starting a server afterward.
2024-02-01 02:35:20 -08:00
James R
4c3bad0b12 G_StopDemo: use D_ClearState
- D_ClearState does the necessary cleanup and more
- Fix splitscreen viewcount not being reset when demo ends
2024-02-01 02:26:42 -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
James R
fbd77ef6f7 SPB: fix endless combo on players in its path 2024-01-30 23:12:52 -08:00
James R
3eb31010c4 Menus/Replay: fix "Backup Frame" button appearing when paused
It's just a visual bug; this button still restarts the
replay.
2024-01-30 21:50:28 -08: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
b0538a5271 Time Attacking: fix "Show Character" option for ghosts
- player_t.skin is not set yet, so use cv_skin and
  R_SkinAvailable instead
- Refactor P_LoadRecordGhosts to de-duplicate some code
2024-01-30 19:18:51 -08: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
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