Commit graph

48 commits

Author SHA1 Message Date
NepDisk
e562d838b5 bumpspark, bumpspring and small code refactoring and cleanup 2025-02-22 21:53:09 -05:00
GenericHeroGuy
27d51b370f Restore 'map +' command 2025-02-11 21:12:47 +01:00
GenericHeroGuy
79e3116277 And STAY DEAD 2025-02-11 15:50:58 +01:00
NepDisk
3350b02cc8 Long Map Names Port pt 1. 2025-02-05 17:46:21 -05:00
NepDisk
4b1324da69 Remove Battle capsule stuff and turn it into Item Breaker
You have to smash every itembox in a map as fast as you can. When you mash you get a pogospring and waiting gives a sneaker
2024-12-17 00:24:20 -05:00
NepDisk
83fc4e8342 Port some callfuncs from base SRB2 ACS merge
This could be handy for all sorts of stuff
2024-11-25 11:40:20 -05: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
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
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
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
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
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
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
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
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
061e6e727c ACS: Get/SetThingProperty 2024-10-15 15:34:17 -04:00
Sally Coolatta
b98b23b901 ACS: Add SIDE_PROP_REPEATCOUNT
Missed this one.
2024-10-15 15:34:03 -04:00
Sally Coolatta
89a03a85f3 ACS: UDMF user properties
Lines, sides, sectors, and things now all support the "Custom" tab properly. Label a property as `user_[whatever you want]` in this tab, and it will be added to the structure. ACS will then be able to retrieve it using the `Get[x]UserProperty()` function.
2024-10-15 15:33:16 -04:00
Sally Coolatta
6895a04051 ACS: Implement Line and Side get/set functions
Additionally, these all now support tag 0 as getting/setting properties from the activator.
2024-10-15 15:27:30 -04:00
Sally Coolatta
1c2b4d5898 ACS: Get/Set property prototyping
Mostly proof-of-concept so that Charyb can play around with it and tell me if it works for her.
2024-10-15 15:27:12 -04:00
Sally Coolatta
03de6d0641 Add TimeAttack ACS function 2024-10-15 15:22:28 -04:00
Sally Coolatta
7a6546e42f Add BreakTheCapsules ACS function
Returns true or false if the map is being played in Break the Capsules or not.
2024-10-15 15:22:20 -04:00
Sally Coolatta
84904d897f SetLineRenderStyle ACS function
SetLineRenderStyle(int tag, int blend, int alpha)

Changes the blend mode and transparency of a linedef. Requires new compiler config for the blend mode constants.
2024-10-15 15:21:31 -04:00
Sally Coolatta
a1e1e5ce22 Add PodiumPosition ACS function
Returns the best position of all non-CPU players.
2024-10-15 15:17:32 -04:00
Sally Coolatta
a12ad40610 Add CameraWait ACS function
Pauses a script until the tagged camera has no more waypoints to follow.
2024-10-15 15:17:15 -04:00
Sally Coolatta
47a59591b1 Add string comparison funcs for ACS 2024-10-15 15:14:48 -04:00
Sally Coolatta
1f6574e9a3 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 15:13:50 -04:00
NepDisk
82a7f26c66 comment out unlockables for now 2024-10-15 14:00:07 -04:00
Sally Coolatta
22e3ff3b07 Add ACS functions that can replicate line triggers
PlayerTeam, PlayerRings, PlayerScore, CountEnemies, CountPushables, HaveUnlockableTrigger, HaveUnlockable, PlayerSkin, GetObjectDye, PlayerEmeralds, PlayerLap, LowestLap, and EncoreMode
2024-10-15 13:57:06 -04:00
Sally Coolatta
8637dc3ce3 Fully port the ACS integration to C++ and make it build 2024-10-15 06:01:14 -04:00
Renamed from src/k_acs-func.c (Browse further)