James R
93ff380730
Clear g_dc each frame
...
I was running into a memcpy of overlapping memory regions
in R_RenderMaskedSegRange.
- This is because of the reallocation of lightlists, which
uses Z_Frame_Alloc.
- The memory pool that Z_Frame_Alloc draws from is cleared
each frame.
- g_dc was not cleared though, so when the lightlists were
reallocated, it'd try to copy from invalidated pointers.
- Access to invalid pointers within the memory pool does
not cause a segfault directly (because the memory pool
is allocated once). However, a memcpy involving such an
invalid pointer leads to overlap, which may cause memory
corruption.
2024-02-05 19:04:23 -08:00
James R
924d46d102
K_DrawDraftCombiring: clamp inputs
2024-02-05 19:04:23 -08:00
AJ Martinez
a2bcee60c0
Validate PvPTouchDamage (crash fix)
2024-02-05 19:04:22 -08:00
Eidolon
0e1f688139
Merge branch 'allow-battle-capsule-in-tutorial' into 'master'
...
Allow MT_BATTLECAPSULE to spawn in tutorials
Closes #949
See merge request KartKrew/Kart!1890
2024-02-06 01:45:18 +00:00
Eidolon
92339d36a9
Merge branch 'fix-ghost-fast-forward' into 'master'
...
Time Attack ghosts: sync with level timer instead of when the player crosses the finish line
Closes #829
See merge request KartKrew/Kart!1895
2024-02-06 01:12:35 +00:00
Eidolon
1f3c070706
Merge branch 'fix-replay-wrong-button' into 'master'
...
Menus/Replay: fix "Backup Frame" button appearing when paused
See merge request KartKrew/Kart!1898
2024-02-06 01:11:55 +00:00
Eidolon
2c19e6dfb5
Merge branch 'special-normal' into 'master'
...
Fix "Save replay" text not appearing at end of map
Closes #946
See merge request KartKrew/Kart!1907
2024-02-06 01:02:25 +00:00
Eidolon
e993117f23
Merge branch 'fix-one-time-each-time-floor-activators' into 'master'
...
Activate sector each time / once actions every time mobj lands on the ground
Closes #990
See merge request KartKrew/Kart!1904
2024-02-06 01:01:44 +00:00
Eidolon
5d33c19974
Merge branch 'mandatory-udmf' into 'master'
...
Make UDMF mandatory for play
See merge request KartKrew/Kart!1889
2024-02-06 01:00:27 +00:00
Oni
39b5a8ac2f
Merge branch 'fix-whip-clash' into 'master'
...
Let Insta-Whip clashing ignore flashing tics
Closes #978
See merge request KartKrew/Kart!1870
2024-02-03 19:43:11 +00:00
Oni
d755d83778
Merge branch 'fix-intermission-parties' into 'master'
...
Fix Party management breaking during Intermission and Vote
Closes #499
See merge request KartKrew/Kart!1903
2024-02-03 19:41:57 +00:00
Oni
4ea946067a
Merge branch 'srb2-tidy' into 'master'
...
Clear out unused SRB2/Kart stuff from info tables
See merge request KartKrew/Kart!1811
2024-02-03 19:40:52 +00:00
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
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
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
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.
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
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
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