Commit graph

34 commits

Author SHA1 Message Date
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
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
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
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
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
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
--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
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
Sally Coolatta
061e6e727c ACS: Get/SetThingProperty 2024-10-15 15:34:17 -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
toaster
1a5ba23947 ACS Environment::loadModule: Free vres after generation
Discovered (temporary) memory leak while writing the following commit
2024-10-15 15:15:27 -04:00
Sally Coolatta
47a59591b1 Add string comparison funcs for ACS 2024-10-15 15:14:48 -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