Commit graph

20021 commits

Author SHA1 Message Date
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
toaster
9e56a78e41 ACS_GetColorFromString; Fix copypaste error indexing into skin array rather than color array
Discovered while writing the following commit.
2024-10-15 15:35:13 -04:00
Sally Coolatta
1902839c1f ACS: Fix floor & ceiling FOF triggers 2024-10-15 15:35:02 -04:00
Sally Coolatta
285401707c ACS: Fix enter triggers on intangible FOFs 2024-10-15 15:34:56 -04:00
Sally Coolatta
b8c2112847 ACS: Prevent spectators from using sector actions 2024-10-15 15:34:50 -04:00
Sally Coolatta
d897e9ac79 ACS: Fix tag iterations not working 2024-10-15 15:34:42 -04:00
Sally Coolatta
8bbfd18608 ACS: Add SIDE_BOTH support for SetSideProperty 2024-10-15 15:34:36 -04:00
Sally Coolatta
988dafa667 ACS: Try to fix sprnames garbage 2024-10-15 15:34:30 -04:00
Sally Coolatta
6c026f59cb ACS: User properties can tell bool from string 2024-10-15 15:34:23 -04:00
Sally Coolatta
061e6e727c ACS: Get/SetThingProperty 2024-10-15 15:34:17 -04:00
Sally Coolatta
71b7c34b0a ACS: Allocate user properties with PU_LEVEL 2024-10-15 15:34:10 -04:00
Sally Coolatta
b98b23b901 ACS: Add SIDE_PROP_REPEATCOUNT
Missed this one.
2024-10-15 15:34:03 -04:00