James R
d2a22a6960
R_DrawMaskedColumn: do not draw zero length column
...
- Column would be zero length if there are no visible
pixels in it.
- Trying to draw such a column results in a negative
heightmask in R_DrawColumnTemplate and a probable read
out of bounds.
2024-02-05 19:04:23 -08:00
James R
9bb6031a4e
R_StoreWallRange: do not render textures with holes
...
- Holey textures are ones where the column height may not
match the texture height.
- R_DrawColumn cannot cope with this directly and it may
lead to a read out bounds.
- Transparency would not render for true wall textures
anyway since these are not masked midtextures, so just
don't render the texture in this case.
2024-02-05 19:04:23 -08:00
James R
057001a66f
DirectorInfo::update_positions: fix player index out of bounds if all players are spectating
2024-02-05 19:04:23 -08:00
James R
efd0170856
R_DrawMaskedColumn: set texheight to column length
...
- In R_DrawColumnTemplate, texheight is used to switch
between a non-PO2 rasterizer and a more efficient PO2
rasterizer.
- There is bounds checking on the non-PO2 version (in the
form of sourcelength) but not on the PO2 version.
- texheight was set to the sprite patch height, which may
be taller than the column (sourcelength), leading to a
read out of bounds.
2024-02-05 19:04:23 -08:00
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
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