Commit graph

21521 commits

Author SHA1 Message Date
toaster
d046b2cb30 p_enemy.c: All object gravity arc calculations now collaborate with mapobjectscale again. 2023-02-16 16:52:55 +00:00
toaster
fa3b361e2f K_drawStartCountdown: Only show "DUEL" text if you're actually inDuel. 2023-02-16 16:36:32 +00:00
toaster
1b2be7b6c9 K_CheckBumpers, K_HandleBumperChanges: Make 2P behaviour in battle capsules mode function
- Only exit Capsules/Versus round if number of players with no bumpers is equal to number of players in game.
- Apply Eliminated flags in relevant context, to prevent griefing.
2023-02-16 16:35:52 +00:00
toaster
e3eb3ed9f8 Command_Map_f: Guess gametype of map in offline GP, as well as from titlescreen/menu 2023-02-16 15:31:25 +00:00
toaster
97c8d201eb Command_Map_f: Respect value of splitplayers cvar
Permits testing multiple players in GP by your lonesome without having to manipulate multiple controllers at once.
2023-02-16 15:28:31 +00:00
James R
6480aced64 S_SetSfxVolume/S_SetMusicVolume: update static copy of volume
blame c9ad926e7
2023-02-14 04:56:42 -08:00
James R
701324fb42 k_kart.c: reference count HOLD bubble 2023-02-14 04:17:04 -08:00
James R
fdddbcfd82 g_demo.c: ensure demobuf is always freed before use 2023-02-14 04:17:04 -08:00
James R
e8ab92fa64 p_mobj.c: guard some cases where a mobj could be removed 2023-02-14 04:17:04 -08:00
James R
c9ad926e76 Do not set cvars with S_SetSfxVolume or S_SetMusicVolume
Don't do this because in sdl/i_video.cpp,
S_InitMusicVolume is called to unmute music when the
window is refocused. Because I_StartupGraphics is called
before those cvars are added and it is an error to try to
set a cvar before it is added.
2023-02-14 04:17:04 -08:00
James R
33145ab2ae p_mobj.c: reference count kitemcap and overlaycap
With the old code, if the object at the head of the list
was removed, it would leave the reference behind,
extending the lifetime of the thinker until P_RunKartItems
or P_RunOverlays was run.
2023-02-14 04:17:04 -08:00
James R
9b08730281 Fix R_CacheSpriteBrightMap trying to cache out of range lump 2023-02-14 04:17:04 -08:00
James R
b8a41fa509 Fix negative reference counting in P_RestoreTMStruct
This fixes some thinkers never being removed due to having
negative reference counts.

And here's a breakdown of why the old code could produce
negative reference counts:

Consider P_CheckPosition. This function calls P_SetTarget
on tm.thing but does not call P_RestoreTMStruct. This
means that tm.thing will not be NULL the next P_SetTarget
is called on it. What are the implications of this?
Consider the following series of events:

- P_CheckPosition is called, tm.thing != NULL afterward
- Another function saves the tm struct and sets tm.thing to a different mobj
- - the old tm.thing will have its references decremented
- - the new tm.thing will have its references incremented
- This function calls P_RestoreTMStruct

What should happen when P_RestoreTMStruct is called? The
*new* tm.thing should have its references *decremented*
and the *old* tm.thing should its references
*incremented*, of course, for symmetry with P_SetTarget.

The old code correctly decremented new tm.thing's
references but did not increment old tm.thing's
references.
2023-02-14 04:17:04 -08:00
James R
badb87697c Add missing skincolors to dehacked table 2023-02-14 04:17:04 -08:00
James R
2e3ed95338 Add assert command to test whether assertions are enabled at runtime 2023-02-14 04:16:57 -08:00
James R
a77234233b doomdef.h: enable most debugging ifndef NDEBUG 2023-02-14 04:16:57 -08:00
James R
1d688c3417 sdl/i_system.c: add -nofork option to disable forking signal handler 2023-02-14 04:16:57 -08:00
James R
98a4a90129 PARANOIA: do mobj scramble last 2023-02-14 04:16:57 -08:00
James R
0b2273b848 p_saveg.c: replace unknown thinker error with assert
It is undefined behavior to cast function pointer to
void*.
2023-02-14 04:16:56 -08:00
James R
f05f040cea Fix faulty assertions 2023-02-14 00:46:54 -08:00
toaster
b2bd5ecccd Merge branch 'blackhole-fault' into 'master'
Fault rework

See merge request KartKrew/Kart!910
2023-02-13 23:23:07 +00:00
AJ Martinez
9c3bcd44c7 Update positiondelay during hitlag 2023-02-13 16:01:19 -07:00
AJ Martinez
14fedef403 Revert line fault punish duration (Oni) 2023-02-13 15:54:35 -07:00
AJ Martinez
6996f06ceb Fix line faults doing pflag nonsense 2023-02-13 15:50:00 -07:00
AJ Martinez
c7374c6a91 Increase line fault penalty for similar punishment to old method 2023-02-13 15:32:27 -07:00
AJ Martinez
32ea795639 Fault rework cleanup for merge 2023-02-13 15:31:39 -07:00
toaster
98c333e313 Per discussion, always use short, FINISHless exit for special stage failure. 2023-02-13 18:18:54 +00:00
toaster
0d8ada50bf Merge branch 'fix-setlinetexture' into 'master'
Fix off-by-one in CallFunc_SetLineTexture

See merge request KartKrew/Kart!919
2023-02-13 18:05:13 +00:00
toaster
c2b0cca735 K_HandleLapIncrement: Do not spawn Finish Sign if player who crosses finish line is PF_NOCONTESTing. 2023-02-13 18:04:44 +00:00
toaster
8b14d10506 Special Stages: Distinguish between failures with and without lives.
- With lives remaining: No FINISH text, 1 second before restart
- With no lives remaining: Yes FINISH text, 2 and a half seconds before return to menu(/emeraldless podium when implemented)
2023-02-13 18:03:56 +00:00
toaster
61de5367d7 P_KillPlayer: In special stages, falling off the stage means immediate no contest and life loss. 2023-02-13 18:00:02 +00:00
Sal
95434e91b2 Merge branch '404-not-found' into 'master'
Repair Linedef types 403 and 404 (Resolves #429)

Closes #429

See merge request KartKrew/Kart!920
2023-02-13 17:41:50 +00:00
toaster
24ae5ff65a Repair Linedef types 403 and 404
- P_ProcessSpecial: Correct likely copypaste error in desired plane height and texture
    - Was using sector floor's height and texture instead of ceiling's.
- P_ConvertBinaryLinedefTypes:  assign affected plane in a saner way
- Resolves issue #429
2023-02-13 15:12:53 +00:00
Sally Coolatta
8932ab4e91 Fix off-by-one in CallFunc_SetLineTexture 2023-02-12 17:04:51 -05:00
James R
437944927e Merge branch 'fix-png-get-trns' into 'master'
Fix potential crash in PNG_Read

See merge request KartKrew/Kart!917
2023-02-12 14:22:24 +00:00
Oni
c050e1c340 Merge branch 'unhelpful-super-ring' into 'master'
Use Super Ring 'assistance' only in 1st (fixes #433)

Closes #433

See merge request KartKrew/Kart!918
2023-02-12 03:13:21 +00:00
AJ Martinez
065111af86 Use Super Ring 'assistance' only in 1st 2023-02-11 19:47:41 -07:00
AJ Martinez
de268b744b Beam fault cleanup, make non-circuit death faults respawn at wp behind finish 2023-02-11 19:09:52 -07:00
Oni
3d625b533a Merge branch 'alt-music' into 'master'
Alt Music

See merge request KartKrew/Kart!915
2023-02-11 21:50:15 +00:00
wolfy852
b76557045f Change mapmusrng to UINT8 2023-02-11 08:23:57 -06:00
wolfy852
2c162b50a3 mapmusrng variable, proper sync, cleanup 2023-02-11 08:16:37 -06:00
wolfy852
116d8d8f99 Sanity checking and cleanup 2023-02-11 03:08:46 -06:00
James R
a9469c8ffb Check return value of png_get_tRNS before using trans
png_get_tRNS may not set pointers if it fails.
2023-02-10 18:37:49 -08:00
wolfy852
4dbb7707e7 Have musname actually use MAXMUSNAMES
dunno how I forgot this
2023-02-10 13:26:54 -06:00
wolfy852
b089696021 Add MAXMUSNAMES constant 2023-02-10 13:22:39 -06:00
wolfy852
504788195e Remove crusty unused metatable code
Forgot to nix this in my last commit
2023-02-10 05:07:55 -06:00
wolfy852
3ad0b6fd96 Push musname_size and musname to Lua (correctly, this time) 2023-02-10 01:03:57 -06:00
wolfy852
79a921f59b Merge remote-tracking branch 'remotes/origin/master' into alt-music 2023-02-10 00:16:01 -06:00
toaster
78c6d10661 Y_IntermissionDrawer: Tidy up final text drawing conditions
- Do not say "vote starts in %d" in Match Race, since it will not actually be doing so
- Show demo recording information in GP, since demos can currently be recorded there (even if info is currently incorrect on playback)
2023-02-09 23:06:41 +00:00
toaster
c9535796ab G_GetNextMap: Return to menu after one Match Race is completed 2023-02-09 22:58:47 +00:00