Commit graph

20073 commits

Author SHA1 Message Date
NepDisk
ec7e1e7f2c Go back to using Sourcefiles since make works again. 2024-10-22 16:56:19 -04:00
NepDisk
fca25088c7 fix graphic rendering issue with makefiles
Thanks Luggy!
2024-10-22 13:17:43 -04:00
NepDisk
a917a2a713 Basic work to get make compiling again
Fonts are beyond fucked so this will have to be figured out in a new commit
2024-10-22 12:43:03 -04:00
NepDisk
b44e97cc21 prevent map command crash from maps with invalid or non existing mapinfo
dba7a7dc3c
2024-10-22 02:45:21 -04:00
NepDisk
7a0906d919 Reimplement default Kart v1 medals 2024-10-22 02:08:07 -04:00
Sally Coolatta
b538a68dc4 Thing_StartTracking: Make it do something
Instead of using a linedef executor tag as an argument, apply an action special to the angle manager object that you had to place anyways.

There is no UDMF version check because the old behavior was practically unusable.
2024-10-22 01:09:30 -04:00
Sally Coolatta
eb4a7b3d14 Implement SetLineBlocking
This could be done with Get/SetLineProperty just fine, but added just for completion's sake -- the Hexen instruction set is now fully implemented, minus SoundSequence which is for a feature we straight up don't have.
2024-10-22 01:08:19 -04:00
James R
f296e55e50 d_netfil: use CURLOPT_PROTOCOLS_STR if libcurl >= 7.85.0 (2022-08-31) 2024-10-22 01:05:54 -04:00
NepDisk
8c5aaa9f0d fix floorboost being pushed as a boolean 2024-10-22 00:17:42 -04:00
NepDisk
01f2839253 Push cmd.angle to lua 2024-10-22 00:11:29 -04:00
NepDisk
46efa73d5f Fix mapid music lumps 2024-10-21 23:55:41 -04:00
NepDisk
4cd76db297 Fix encore music replacing start music 2024-10-21 23:14:22 -04:00
toaster
8fc9f62698 k_color: Fix support for more than 255 skincolors
Resolves KartKrew/RingRacers#109
2024-10-21 19:17:47 -04:00
NepDisk
cf9f6fc570 Merge branch 'v2dev3' into ACS2 2024-10-21 17:30:55 -04:00
NepDisk
93576d24ea Merge branch '21pal' into v2dev3 2024-10-21 17:27:27 -04:00
NepDisk
3c4e47d6a9 Support kart binary setup for zoomtubes 2024-10-21 17:22:06 -04:00
NepDisk
509fda70d5 Revert P_InitThinkers: Centralise/tidy global mobj pointer handling
This reverts commit 19da924b5e.
2024-10-21 15:54:21 -04:00
NepDisk
9071539154 fix crumble fofs from breaking other crumble fofs and lowest lap changes 2024-10-21 13:21:43 -04:00
NepDisk
c48f432c11 Merge branch 'v2dev3' into ACS2-ReadonlyMapthing 2024-10-19 17:07:44 -04:00
James R
7a9b252aae 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.
2024-10-19 17:04:48 -04:00
James R
625ce5e631 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.
2024-10-19 17:04:31 -04:00
Sally Coolatta
9a74b694ba Reference count tm.floorthing and tm.hitthing 2024-10-19 17:04:09 -04:00
James R
24c6cded2a PARANOIA: add debug to P_SetTarget if references go negative
Prints mobj address, mobj type, thinker function,
reference count and source code line number.
2024-10-18 14:59:25 -04:00
NepDisk
19da924b5e P_InitThinkers: Centralise/tidy global mobj pointer handling 2024-10-18 13:22:50 -04:00
Oni
313846cb60 Merge branch 'make-way-bots' into 'master'
Kick CPU players to make room for human players that are waiting to play

See merge request KartKrew/Kart!2259
2024-10-18 04:47:12 -04:00
toaster
32b4c85649 EXPERIMENTAL: Dedicated server idling system
- If no clients at server start or after 10 seconds of GS_LEVEL, and no Netxcmd waiting to be digested, halt all SV_MakeTic.
- It's absolutely netsafe to only have enabled on the host's end, the only risk is that a dedicated server might not re-awaken when presented with certain stimuli
2024-10-18 04:32:49 -04:00
NepDisk
acbeeddecf Make dedicated servers not pop up that annoying SDL error window 2024-10-18 04:32:14 -04:00
toaster
d2228bf349 Move some command and cvar registering between D_RegisterServerCommands and D_RegisterClientCommands depending on whether a dedicated server needs them or not 2024-10-18 04:29:38 -04:00
SteelT
f2133d94b0 Fix "unknown command" not being printed on dedicated 2024-10-18 04:28:39 -04:00
SteelT
69497e1004 Fix scrambleremoved not being registered for dedicated servers 2024-10-18 04:28:01 -04:00
toaster
7521272dcf F_RunWipe: Don't draw menus on top if there's no renderer
Fixes crash on dedicated
2024-10-18 04:27:11 -04:00
NepDisk
452efb5021 default too random map on start and odn't load level twice 2024-10-18 04:24:15 -04:00
James R
4f7551c58e d_netfil: use CURLOPT_XFERINFOFUNCTION
Fixes deprecated warning since libcurl 7.32.0 (2013-08-12).
2024-10-18 04:14:59 -04:00
James R
7d06905097 SPRTINFO: print warnings instead of I_Error (don't crash the game) 2024-10-18 04:13:44 -04:00
James R
e5d3e80db5 SaveMobjThinker: fix diff2 uninitialized 2024-10-18 04:10:54 -04:00
toaster
4d55a2ebe3 P_NetUnArchiveThinkers: set thinker references to 0 before removing
Fixes failed assertion on server join (resolves #514)
2024-10-18 04:09:20 -04:00
toaster
dabe8dd233 Fix some G_BuildMapTitle memory leaks (found while writing the next commit) 2024-10-18 04:04:17 -04:00
James R
c379a2c982 Clean up instances of malloc replay file path
- Fix allocating only enough for "MAPXX".
- Fix memory leak in M_StartTimeAttack.
- Use va instead of malloc + sprintf, strdup where needed.
Some of these pass gpath to va anyway so that should be
enough room.
2024-10-18 04:02:50 -04:00
James R
3da51db732 Init mobj references before mobj specific spawning in P_SpawnMobj
Fixes MT_MONITOR leaking references due to
Obj_MonitorSpawnParts called before P_AddThinker.

Thanks to toaster
2024-10-18 03:59:20 -04:00
SteelT
ebdb1b0a64 m_perfstats.c: Fix directive output may be truncated warning/error
Lets the game build on my end with ERRORMODE enabled
2024-10-18 03:20:41 -04:00
NepDisk
d7a073d9f6 cmake file clean up 2024-10-17 20:53:46 -04:00
NepDisk
dc03b6c459 re-add marathon mode here 2024-10-17 19:48:37 -04:00
NepDisk
3117c5b6b4 Add this back here 2024-10-17 19:21:52 -04:00
NepDisk
2ef009fd2e move a few more things to post load 2024-10-17 18:38:57 -04:00
NepDisk
439534c340 Implement ACS_RunPlayerEnterScript fix and P_PostLoadLevel 2024-10-17 18:31:42 -04:00
NepDisk
037a26b3e2 Implement tiregrease for loops and apply outruntime 2024-10-17 17:08:45 -04:00
James R
da96a75b64 Loops: correct origin point over duration of loop
- Players moving into a gate with a lot of momentum would
  offset the origin point from its intended position
- Find intersection of player movement and gate
- Correct origin point between loop entry and exit by
  interpolating the difference between player position on
  entry and intersection point
2024-10-16 22:30:45 -04:00
James R
33d92b829b objects/loop.c -> objects/loops.cpp 2024-10-16 22:28:13 -04:00
NepDisk
6f0035f18a Comment it out since it freezes the game lol 2024-10-16 21:44:57 -04:00
NepDisk
cbb4fe8aa5 Add placeholder function in place of not existing callfuncs from RR 2024-10-16 21:40:56 -04:00