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
Sally Coolatta
f64da81ec7
ACS AddBot: Push -1 on fail instead of MAXPLAYERS
2024-10-16 21:14:34 -04:00
NepDisk
fd0d659070
Fix crash
2024-10-16 19:18:01 -04:00
James R
3261b29ff5
ACS_Execute, ACS_ExecuteAlways: handle map stringargs
2024-10-16 13:43:30 -04:00
Sally Coolatta
34c4a207c7
Separate script args from mapthing args
...
SRB2 uses a LOT of mapthing args compared to Hexen (which has none) and ZDoom (which only has them on objects that will never ever activate scripts). So we really badly needed to separate the two if we want attaching scripts to things to be useful.
2024-10-16 13:19:31 -04:00
NepDisk
b5c21c8d88
Read-only mapthing_t
2024-10-16 13:11:13 -04:00
James R
7f177b5817
ACS: interpolate changes to sidedef offsets
2024-10-15 22:29:24 -04:00
toaster
1a49ecfb70
Add PlayerExiting() ACS callfunc
2024-10-15 22:28:17 -04:00
toaster
02bf471c8b
Add PlayerLosing() to ACS
...
Exposes K_IsPlayerLosing. Necessary for Sealed Star script adjustment
2024-10-15 22:28:07 -04:00
toaster
434c190fa8
freeplay and position start acs
2024-10-15 22:23:49 -04:00
Sal
0eee9b754e
Implement getModuleName for ACS environment
2024-10-15 22:16:54 -04:00
toaster
bdc50487b7
thinker_era
...
A first pass in attempts to fix crashes when ACS causes map changes.
Frustratingly still got a crash, but I think this is definitely the right foundation to work with.
2024-10-15 22:15:30 -04:00
toaster
5f43f1c2cd
ACS: Invalidate mapscope before PU_LEVEL purge occours
...
Fixes the MapWarp memory corruption conclusively.
2024-10-15 22:12:51 -04:00
James R.
dc680c6698
ACS music functions: add optional bool to only affect player activator
2024-10-15 22:10:01 -04:00
toaster
a8112ecaf7
ACS: Add PlayerBot
...
Returns bot status of activating player
ZDoom had a bot status function that could be mimiced... but it used a passed player number, when all we need to check for is the activator.
To this end, has a different name (the ZDoom version was "PlayerIsBot")
2024-10-15 22:06:54 -04:00
toaster
652479a257
ACS: Add IsNetworkGame
...
- Mimics existing ZDoom(/Hexen?) ACS function for checking Netgame status
2024-10-15 22:06:14 -04:00
Eidolon
71294823d1
Merge branch 'acs-printkill' into 'master'
...
Add ACS branch limit and implement printKill
See merge request KartKrew/RingRacers!22
2024-10-15 22:04:37 -04:00
Sally Coolatta
d29e3f2f6f
Implement thing special
...
Executes when an object is killed.
2024-10-15 21:57:27 -04:00
NepDisk
e0acf82e94
fix
2024-10-15 21:51:44 -04:00
NepDisk
bd0457c311
reapply Merge branch thing-radius-acs into master
...
This reverts commit 5672fd6d50 .
2024-10-15 21:35:15 -04:00
Sally Coolatta
5dc56a413e
Copy first mapthing tag to their mobjs
...
Allows the ThingCount and ThingSound ACS functions to fully work now, and adds significantly more possibilities for scripting later.
2024-10-15 21:34:16 -04:00
NepDisk
5672fd6d50
Revert Merge branch thing-radius-acs into master
...
This reverts commit 31fd1bbd3e .
2024-10-15 17:02:12 -04:00
toaster
31fd1bbd3e
Merge branch thing-radius-acs into master
...
"Radius Action" thing type
See merge request KartKrew/Kart!1429
2024-10-15 16:51:35 -04:00
toaster
e9a588c5b6
Add "GrandPrix" check function to ACS
...
Resolves #669
Done in this branch to keep ACS changes together
2024-10-15 16:49:57 -04:00
James R
6d0b9526e4
ACS: add Music_Play, Music_StopAll and Music_Remap
2024-10-15 16:49:18 -04:00
James R
a9a2aef018
acs/call-funcs.cpp: add ExitLevel function
2024-10-15 16:44:50 -04:00
James R
35b1554ca4
acs/call-funcs.cpp: add StopLevelExit function
2024-10-15 16:44:43 -04:00
Sally Coolatta
acf0466ba6
Add bot styles & bot spawn ACS function
2024-10-15 16:44:29 -04:00
James R
c81bbf3a20
Add GAMEOVER ACS script type
...
Triggered when the level ends with a losing condition and
there are no extra lives.
2024-10-15 16:32:32 -04:00
Sally Coolatta
4ccdf8f43f
Add additional script types
...
- POSITION: Runs when POSITION period ends. Has no activator.
- OVERTIME: Runs when the time limit runs out. Has no activator.
- EMERALD: Runs when the Special Stage UFO's Chaos Emerald is grabbed. The activator object is set to the player that grabbed it.
2024-10-15 16:30:38 -04:00
Sally Coolatta
9b950fb5e7
Fully implement existing script type
...
Missed in the original merge.
2024-10-15 16:29:40 -04:00
NepDisk
af277ad1d9
Split G_ExitLevel into G_BeginLevelExit and G_FinishExitLevel
2024-10-15 16:19:50 -04:00
James R
fe4c882741
ACS_SectorThingCounter: fix infinite loop in touching iterator
2024-10-15 15:47:06 -04:00
--get
fc96a81762
ACS: Better thing counting
...
- ThingCount has an extra argument for sector tag.
- CountEnemies and CountPushables have an extra argument for thing tag.
- Sector tag 0 for CountEnemies and CountPushables now redirects to activator sector.
2024-10-15 15:47:00 -04:00
NepDisk
c63b4c8968
rewrite for og map numbering system
2024-10-15 15:46:42 -04:00
toaster
6346a4ffa6
ACS: void MapWarp(str mapname, bool showintermission)
...
An immediate level change on command, to the specified level (via string).
Utilises the existing nextmapoverride and skipstats system, but with skipstats assumed to be the default.
2024-10-15 15:35:20 -04:00