Commit graph

26070 commits

Author SHA1 Message Date
James R
3876f16c0d Intermission: fix speed scramble position in non-green resolutions 2024-02-09 18:13:34 -08:00
James R
eefb4de6d6 Intermission: scroll map name above "DR. ROBOTNIK'S RING RACERS" 2024-02-09 18:13:34 -08:00
James R.
6b831a0fa2 Merge branch 'fix-show-character-ghosts' into 'master'
Time Attacking: fix "Show Character" option for ghosts

Closes #1013

See merge request KartKrew/Kart!1896
2024-02-09 23:47:50 +00:00
AJ Martinez
2327b6fcca Merge branch 'calm-ark-arrows' into 'master'
Freeze Ark Arrows in reducevfx

See merge request KartKrew/Kart!1911
2024-02-09 23:22:14 +00:00
AJ Martinez
8f0ee6752f Freeze Ark Arrows in reducevfx 2024-02-09 16:18:15 -07:00
AJ Martinez
7b5abc19b9 Merge branch 'fix-spb-combo' into 'master'
SPB: fix endless combo on players in its path

Closes #1015

See merge request KartKrew/Kart!1900
2024-02-09 22:49:31 +00:00
AJ Martinez
bd9511424a Merge branch 'fuzzfixer' into 'master'
HUGE crash fixes (super hyper fuzzer + ASAN)

See merge request KartKrew/Kart!1908
2024-02-09 22:49:22 +00:00
AJ Martinez
1f2e57c060 K_RepairOrbitChain: Don't naively call P_MobjWasRemoved on NULL 2024-02-09 12:31:34 -07:00
James R
42146c5ea2 R_AddPrecipitationSprites: fix use of th after freed
R_ProjectPrecipitationSprite may free th
2024-02-08 18:37:03 -08:00
James R
56e710266c M_TokenizerOpen: pass size in as argument instead of calling strlen implicitly
This function is used for parsing TEXTMAP and the data is
not NUL-terminated.
2024-02-08 18:16:41 -08:00
AJ Martinez
78a727e9cb Guard against more unsafe accesses to P_DamageMobj source 2024-02-08 17:50:38 -08:00
James R
b6241adbe9 Use PU_LEVEL for texture caching
- Some maps may contain very large or very many (animated)
  textures
- Texture sets are not typically shared between maps, so
  each texture allocation may go unused for a long time
  after the map ends
- Keeping these PU_STATIC leads to significant memory
  usage over the program duration
2024-02-08 17:50:38 -08:00
SteelT
cbb7c281c8 discord.c: Fix joinSecret memory leak 2024-02-08 01:26:07 -05:00
SteelT
5c0bebbeba discord.c: Fix removeRequest->discriminator not being freed in DRPC_RemoveRequest 2024-02-08 01:25:57 -05:00
James R
af363e575a K_UpdateDistanceFromFinishLine: fix memory leak with backwards pathfinding 2024-02-07 22:10:42 -08:00
AJ Martinez
290b97500a Fix crashes when P_DamageMobj was naively passed a removed source 2024-02-07 20:21:32 -07:00
AJ Martinez
6b980cb1c7 Fix stale reference in P_KillMobj (crash) 2024-02-07 15:09:26 -07:00
AJ Martinez
1dad6be6a4 Fix stale target in A_SSMineExplode (crash) 2024-02-07 15:05:49 -07:00
Oni
3d3d8bc06c Merge branch 'safecheatcheck-unfuck' into 'master'
Reset cheatchecks when respawns would decrease lap

Closes #972

See merge request KartKrew/Kart!1905
2024-02-06 13:21:29 +00:00
Oni
3a4506dae2 Merge branch 'fix-replay-splits' into 'master'
Fix splitscreen viewport and delay counter carrying over from replays into play contexts

Closes #464

See merge request KartKrew/Kart!1902
2024-02-06 13:21:13 +00:00
Oni
74eee5e718 Merge branch 'server-name-sanitize' into 'master'
Sanitize server name/contact, fully support caret codes

Closes #1008

See merge request KartKrew/Kart!1906
2024-02-06 13:20:08 +00:00
AJ Martinez
4efaed3690 Fix sound falloff calculation overflow 2024-02-06 06:02:17 -07:00
AJ Martinez
45f043a1c4 Don't attempt itemamount correction after orbitals self-destruct 2024-02-06 06:00:59 -07:00
AJ Martinez
6f616265c4 Don't try to orbit things that aren't there 2024-02-06 01:47:10 -07:00
James R
4a7d2504b0 srb2::hwr2::PaletteManager: disable lighttables upload
- This code uploads encoremap to the GPU as a texture.
- It assumes encoremap is 256 * 32 bytes, but in reality
  encoremap is only 256 bytes.
- The textures go completely unused, so I simply
  commented out the code altogether.
2024-02-05 19:04:23 -08:00
James R
f9b66ad969 R_RenderMaskedSegLoop, R_RenderThickSideRange: set dc.colormap above first FOF
How lightlists work:

- Each FOF casts a shadow beneath it.
- Draw the column above each FOF with colormap set from
  the previous FOF.
- Then set colormap from the current FOF, so the next FOF
  is bathed in the current FOF's shadow.

What broke:

- Colormap was not set when drawing the column above the
  first FOF.

This commit:

- Before iterating lightlists, set colormap to base sector
  lighting.
- De-duplicate some code by using lambdas.
2024-02-05 19:04:23 -08:00
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