Christoph Oelckers
c611456397
- more refactoring of AActor coordinate access.
2016-01-17 18:36:14 +01:00
Christoph Oelckers
3e446ea04d
- replaced access to AActor's coordinate members with access functions
...
(first 200 compile errors down...)
2016-01-17 13:48:16 +01:00
Braden Obrzut
8f31af3ff9
- Work around issue with tree-loop-vectorize in p_acs.cpp.
2016-01-16 00:51:17 -05:00
Christoph Oelckers
53d385a596
- need to validate SetSectorTerrain's 'plane' parameter,
2016-01-09 21:10:12 +01:00
Christoph Oelckers
7f454358b9
- added ACS SetSectorTerrain function.
2016-01-09 12:16:41 +01:00
Christoph Oelckers
d0c372692b
- added new ACS function SetSectorDamage which allows the use of actual damage types, unlike the old Sector_SetDamage. Unlike Sector_SetDamage this function does not use damage amount dependent defaults for the interval and the leakiness if none are passed.
2016-01-05 16:29:04 +01:00
Christoph Oelckers
b2f860d7ae
- better add a NULL pointer check here.
2016-01-05 11:07:59 +01:00
Benjamin Moir
c9afb199ca
Added "pufftid" parameter for LineAttack.
2016-01-05 13:58:00 +10:00
Blue-Shadow
c51abb0161
Added GetMaxInventory ACS function
2015-12-22 19:01:09 +03:00
Edward Richardson
c099cd4581
SpawnParticle functions
...
- Added A_SpawnParticle Decorate and SpawnParticle ACS functions.
2015-12-08 22:58:24 +13:00
Braden Obrzut
72d4c33453
- Removed GetAspectRatio as the implementation was highly fragile. Even if converted to giving the ratio, I have strong concerns about having this function built in without ZDoom supporting arbitrary aspect ratios as the odds of people checking against the hard coded constants seems high. The existing ACS version of this function returns fixed point ratios (because why not) and I fully expected people to use a switch statement when writing it.
2015-12-07 01:18:56 -05:00
Christoph Oelckers
ad0e71942d
- added GetAspectRatio function to ACS.
...
- added a sixth parameter for SetHUDClipRect so that the forced aspect ratio fudging this function performs can be disabled.
2015-12-06 09:59:02 +01:00
John Palomo Jr
2612fad326
Backport RETURNTID and FORCETID flags for PickActor from GLOOME. Renamed prefix to avoid confusion with Pain Attack flags. Fixed broken enum.
2015-11-21 06:05:16 -05:00
Braden Obrzut
a8ac748123
Merge commit 'e2d874e343da34df6edfad0bb47370cbe10f4bae'
2015-10-25 15:00:43 -04:00
alexey.lysiuk
869e168495
'no monsters' option is no longer ignored in ACS Spawn functions
...
See http://forum.zdoom.org/viewtopic.php?t=46459
2015-10-18 15:54:07 +03:00
Edoardo Prezioso
6678c3550e
- Improve the TFlags code and fix the new errors.
...
The previous version didn't detect some real mistakes in code which used operator& with the wrong flagset (for now 'converted' to the correcly equivalent counterpart, waiting for the proper fix).
2015-10-13 00:30:06 +02:00
MajorCooke
af9478f818
- Added Warp properties RadiusOffset and Pitch.
...
- RadiusOffset is a multiplier of the target actor's radius added onto the offsets x and y.
- Pitch is added to the warping actor's current pitch, provided WARPF_USEPITCH is supplied.
- Fixed WARPF_TOFLOOR not working as intended.
2015-10-03 17:28:54 -05:00
ZzZombo
98bdbb1ad8
-Fixed PCD_DROP affecting script result value.
2015-09-19 09:40:19 +08:00
alexey.lysiuk
924a2aaaa7
Added "support" for PCD_CONSOLECOMMAND in ACS
...
Now attempt to execute a console command from a script will not terminate its execution
An error message will be issued in the console on every such attempt
2015-09-16 16:56:43 +03:00
alexey.lysiuk
b2fa4970fd
Fixed potential crash in ACS engine
...
Unknown p-code in compiled script may lead to a crash if the current module was changed during script execution, e.g. by function call
See http://forum.zdoom.org/viewtopic.php?f=2&t=48524
2015-09-16 16:13:56 +03:00
coelckers
afa438419d
Merge pull request #379 from Edward850/sanitize
...
ACS module error was missing newline
2015-09-13 08:55:14 +02:00
Edward Richardson
36c7002628
ACS module error was missing newline
2015-09-13 13:46:02 +12:00
Edoardo Prezioso
e939d6885d
- Fixed a crash in ACS strlen parsing with invalid argument.
2015-09-05 23:58:02 +02:00
MajorCooke
ad14caa800
- Added A_Warp heightoffset property. Only has an effect by two flags.
...
- WARPF_ADDHEIGHT adds the pointed actor's height to heightoffset, and adds to the pointed actor's z position.
- WARPF_MULHEIGHT multiplies the pointed actor's height by heightoffset, and adds to the pointed actor's z position. Overridden by ADDHEIGHT.
2015-08-10 11:19:54 -05:00
Christoph Oelckers
58870d4871
- fixed: SingleActorFromTid wasn't declared in thingdef_codeptr.cpp
2015-08-01 23:17:06 +02:00
Christoph Oelckers
36974431ba
Merge branch 'master' into scripting
...
Conflicts:
src/thingdef/thingdef_codeptr.cpp
2015-08-01 09:42:31 +02:00
Benjamin Moir
7163aa9667
Moved Warp to the ZDoom range
2015-07-31 22:28:10 +09:30
Christoph Oelckers
701fc374f7
- consolidated A_Warp and ACS Warp code into a subfunction.
2015-07-31 08:40:33 +02:00
Benjamin Moir
cf43bd969d
Added Warp to ACS
2015-07-30 16:56:54 +09:30
Christoph Oelckers
7ba577e1b0
Merge branch 'master' into scripting
...
Conflicts:
src/g_heretic/a_hereticweaps.cpp
src/thingdef/thingdef_codeptr.cpp
2015-06-07 09:43:54 +02:00
ZZYZX
cd39c4b8a6
Merged mirrors with portals; Render part of mirrors done, render part of portals needs further testing
2015-06-07 04:19:17 +03:00
Braden Obrzut
662345adb8
- Fixed: More endian issues in the ACS VM.
2015-06-05 22:22:54 -04:00
Christoph Oelckers
1b29c3b6cf
Merge branch 'master' into scripting
...
Conflicts:
src/p_interaction.cpp
tools/lemon/lemon.c
2015-04-30 16:13:32 +02:00
Christoph Oelckers
4316740ee9
- some color coding of error messages during ACS loading. (not that I expect that the people these are meant for will read them anyway...)
2015-04-30 12:59:26 +02:00
Christoph Oelckers
97e63b1319
- split up FBehavior constructor to better be able to weed out broken ACS modules.
...
Please note that this WILL break old savegames from mods which put ACS sources or unrelated data in the ACS namespace!
2015-04-30 12:53:44 +02:00
Christoph Oelckers
5f1c4d157c
Merge branch 'master' into scripting
...
Conflicts:
src/g_shared/a_sharedglobal.h
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_data.cpp
2015-04-30 12:30:36 +02:00
Christoph Oelckers
84351419a3
Merge branch 'master' of https://github.com/crimsondusk/zdoom
...
Conflicts:
src/actor.h
2015-04-30 10:03:50 +02:00
Christoph Oelckers
405fc31e81
Merge branch 'master' of https://github.com/DaZombieKiller/zdoom
...
Conflicts:
src/actor.h
2015-04-30 09:14:31 +02:00
Christoph Oelckers
646c135eff
Merge branch 'master' into scripting
...
Conflicts:
src/m_cheat.cpp
src/p_acs.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_properties.cpp
2015-04-28 23:04:10 +02:00
Christoph Oelckers
f087903fca
- remove some redundancy from TeleportFog code.
2015-04-28 22:11:43 +02:00
coelckers
15fbf2510a
Merge pull request #320 from edward-san/clang_3_5_crash_solved
...
- Clang 3.5.1+ fixed the compiler bug in ACS code.
2015-04-28 22:06:50 +02:00
Edoardo Prezioso
92fe265abe
- Clang 3.5.1+ fixed the compiler bug in ACS code.
...
Referring to commit 1c96039d7a
.
2015-04-28 19:25:06 +02:00
Edoardo Prezioso
b51fac344d
Little TakeInventory refactoring.
...
Introduce AActor::TakeInventory, which unifies DoTakeInv from ACS and DoTakeInventory from Decorate, and AInventory::DepleteOrDestroy, which is extracted from the DoTakeInv core function, and use both where they're needed.
I don't know if the differences between DoTakeInv and DoTakeInventory were intentional, so I kept both behaviors.
2015-04-28 15:45:11 +02:00
Christoph Oelckers
2e0f999fea
Merge branch 'master' into scripting
...
Conflicts:
src/p_effect.cpp
src/p_effect.h
src/p_local.h
src/p_map.cpp
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/actor.txt
wadsrc/static/actors/shared/inventory.txt
zdoom.vcproj
2015-04-28 14:45:13 +02:00
Christoph Oelckers
8447990889
Merge commit '2719ce86dc07c9f7b1ad6d61a9a49c974896abf2' into scripting
...
Conflicts:
src/info.h
src/thingdef/thingdef_codeptr.cpp
(until right before the main work for multiple tags.)
2015-04-28 13:32:50 +02:00
Christoph Oelckers
065c0a79cd
Merge commit '4f7ec3ad891d556c0d3f680e209a120ed38e9cdb' into scripting
...
Conflicts:
src/d_main.cpp
src/info.cpp
src/info.h
src/p_acs.cpp
src/p_interaction.cpp
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_properties.cpp
(scripting branch update part 5)
2015-04-28 12:48:33 +02:00
Christoph Oelckers
792cad89b3
Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
...
Conflicts:
src/g_hexen/a_clericstaff.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/p_acs.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_expression.cpp
(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Christoph Oelckers
d6e3fc0567
Merge commit 'fb9231a38db2025eb77bfd246f36d985cbbccd2e' into scripting
...
Conflicts:
src/info.cpp
src/thingdef/thingdef_expression.cpp
wadsrc/static/actors/constants.txt
(Scripting branch update part 2)
2015-04-28 09:57:01 +02:00
Edward Richardson
0fd93cc033
Slightly more information on ACS serialize errors
2015-04-25 18:10:26 +12:00
Randy Heit
8d501fdb9f
Fix some issues with changing player viewheight at runtime
...
- Viewheight change was delayed: Viewheight must be copied to player
structure as well as the PlayerPawn. Not sure if should actually use
deltaviewheight to spread the change out over a few tics instead of
being instant.
- Viewheight not preserved when travelling: player->viewheight must be
restored from pawn->ViewHeight, because the temporary player set it back
to the default viewheight.
2015-04-22 23:22:27 -05:00
Christoph Oelckers
b921157f57
- uncouple sector tag storage from the sector data to allow multiple tags per sector.
...
Tags are now handled by a tag manager class which stores sector/tag pairs. This way multiple entries can be added per sector.
Since UDMF does not have any arrays the additional tags are stored as a space separated string as 'MoreIDs'.
2015-04-19 12:33:27 +02:00
Christoph Oelckers
47543bb766
- while we're at it, let's also wrap line ID searches in an iterator class so that we can do multiple IDs per line later as well.
2015-04-15 00:47:06 +02:00
Christoph Oelckers
425e5b9ffc
- replaced P_FindSectorFromTag with an FSectorTagIterator class.
...
This is done to encapsulate the gory details of tag search in one place so that the implementation of multiple tags per sector remains contained to a few isolated spots in the code.
This also moves the special 'tag == 0 -> activate backsector' handling into the iterator class.
2015-04-14 22:39:57 +02:00
Christoph Oelckers
238046655c
- wrapped all accesses to the sector tag into accessor functions, as preparation for allowing multiple tags per sector.
2015-04-14 18:32:14 +02:00
arezey
e40f3c7350
Merge branch 'master' of https://github.com/crimsondusk/zdoom
2015-04-12 02:16:34 +03:00
Randy Heit
89054f5d60
Use filtering and LOADACS to autoload strfhelp.o
...
- No more special case for STRFHELP in the executable!
2015-04-04 18:40:48 -05:00
Teemu Piippo
ca012bc9be
- adapted AActor to use TFlags
2015-04-04 19:40:43 +03:00
Braden Obrzut
5f56fb5a16
Changed the behavior of SetActorTeleFog.
...
- Don't force "null" to resolve to no actor since "none" is already defined as NULL (via FindClass). (This change also applies to the decorate properties.)
- Passing an empty actor name will keep the existing fog since there's otherwise no way set only one fog. Since "none" works to remove the fog, I see no reason not to have this option.
2015-03-30 21:54:58 -04:00
Braden Obrzut
e29b8b2094
- Fixed: QuakeEx ACS function didn't handle fixed->double conversion.
2015-03-24 00:02:25 -04:00
MajorCooke
b6ca1947ff
Added QuakeEx for ACS. ACC is ready as well.
2015-03-12 09:26:47 +01:00
Edoardo Prezioso
d61c48db25
- Fixed imprecise bound checking in ACS code.
...
It was possible to access 'playeringame[8]', outside the [0:7] buffer range. Discovered with GCC 4.9 + Address Sanitizer.
2015-03-04 20:37:49 +01:00
Braden Obrzut
f941fa9e40
- Fixed: SwapActorTeleFog didn't work with tid 0 (activator).
2015-03-02 17:25:35 -05:00
Randy Heit
867bfd2751
Typo fix: concidered -> considered
2015-02-08 21:07:28 -06:00
Randy Heit
c3227729e7
Remove superfluous if in DoGiveInv()
...
- I'm assuming this check was here for a reason, but when both branches of
the if do the same thing and it's been this way since before recorded
history, it's not obvious what was intended here.
2015-02-08 20:54:13 -06:00
Randy Heit
fd7ed2bc25
Undo most of ZzZombo's changes
...
- "If it ain't broke, don't fix it."
- Some of the changes were downright wrong and some were pointless, so undo
everything that doesn't look like an actual improvement.
2015-02-08 20:44:18 -06:00
ZzZombo
c4b742ebf0
- Part 2 of the sanity crusade.
2015-02-08 17:03:49 +08:00
Randy Heit
775e33ede7
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_doom/a_archvile.cpp
src/g_shared/a_morph.cpp
src/p_enemy.h
src/p_local.h
src/p_mobj.cpp
src/sc_man_tokens.h
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_exp.h
src/thingdef/thingdef_expression.cpp
src/thingdef/thingdef_states.cpp
wadsrc/static/actors/actor.txt
2015-01-29 20:53:08 -06:00
Benjamin Moir
6dff8da503
Added +NODECAL and +FORCEDECAL actor flags
...
Added FHF_NOIMPACTDECAL for LineAttack
2015-01-20 12:05:00 +10:30
nashmuhandes
2b12db153b
New functions to manipulate an actor's roll.
...
- DECORATE functions: A_SetRoll code pointer.
- DECORATE expressions: "roll" variable.
- ACS functions: SetActorRoll, GetActorRoll.
2015-01-05 17:51:32 +08:00
Randy Heit
f76d137d33
Be less ugly when hiding warnings for using the %B formatter
...
- Take advantage of the new _Pragma operator to hide the printf warning
suppression inside of macros instead of needing to litter the code
around Printfs with a bunch of junk.
2014-12-26 18:58:59 -06:00
Randy Heit
ec98937c88
Read script number as signed when parsing SARY chunks
...
- Fixed: Script arrays didn't work in named scripts because the loader
read the script number as an unsigned word, hence it would never find
named scripts, since they are stored with negative numbers.
2014-12-26 14:41:01 -06:00
Randy Heit
b5e4153c78
Merge branch 'master' into gonesolong
...
Conflicts:
src/CMakeLists.txt
src/b_think.cpp
src/g_doom/a_doomweaps.cpp
src/g_hexen/a_clericstaff.cpp
src/g_hexen/a_fighterplayer.cpp
src/namedef.h
src/p_enemy.cpp
src/p_local.h
src/p_mobj.cpp
src/p_teleport.cpp
src/sc_man_tokens.h
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_function.cpp
src/thingdef/thingdef_parse.cpp
wadsrc/static/actors/actor.txt
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
were added to thingdef_function.cpp over the past year, as this file no
longer exists in this branch.
2014-12-21 21:15:11 -06:00
Randy Heit
2d87eb0ba2
Merge branch 'master' into gonesolong
...
Conflicts:
src/CMakeLists.txt
src/actor.h
src/g_heretic/a_hereticmisc.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_ironlich.cpp
src/info.h
src/namedef.h
src/p_buildmap.cpp
src/p_enemy.cpp
src/p_map.cpp
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
zdoom.vcproj
2014-12-20 19:13:14 -06:00
MajorCooke
7bc2e5c67e
- Tiny fix to ACS.
2014-12-19 06:21:37 -06:00
MajorCooke
2747f9a9f3
- Make ACS SetTeleFog follow the same format as the DECORATE version too.
2014-12-18 09:29:23 -06:00
MajorCooke
ba346616e5
- Fixed: ACS version of SetTeleFog and SwapTeleFog targeted the caller despite TID.
2014-12-18 09:24:35 -06:00
MajorCooke
93ca8502dd
- Rewrote a bunch of things for stability.
2014-12-17 21:47:00 -06:00
Edward Richardson
a418f564e9
Fixed message duplication in logs
...
- Any printed hud messages would have duplicate entries in logs.
2014-11-28 16:34:42 +13:00
Christoph Oelckers
7f8c0b4f64
Merge branch 'ACS_check' of https://github.com/Edward850/zdoom
2014-11-25 16:29:02 +01:00
Christoph Oelckers
64d88166cc
Merge branch 'APROP_DamageMultiply' of https://github.com/Edward850/zdoom
2014-11-25 16:28:36 +01:00
Edward Richardson
3437f4fcab
Check ACS module size in saved games
2014-11-21 17:49:57 +13:00
Edward Richardson
99b2cfa147
Added APROP_DamageMultiply
...
- Used with Set/GetActorProperty, adds a generic multiplier for damage a
source deals.
2014-11-20 18:57:40 +13:00
alexey.lysiuk
1bda54f3cd
Fixed a few endian issues in ACS system
...
KDiZD Intro, a.k.a. Title Map, is now played correctly; camera on Z1M1 is functional
2014-11-16 13:15:56 +02:00
Edward Richardson
5170abfeed
DACSThinker can exist with no scripts
2014-11-09 22:57:14 +13:00
Edward Richardson
e3640b5bf5
Stop DLevelScript from recursively Serializing
2014-11-09 21:06:50 +13:00
alexey.lysiuk
8f915c9dcc
Fixed broken ACS on Big Endian platforms
...
This fixes maps transition in Strife
http://forum.zdoom.org/viewtopic.php?f=2&t=36754
2014-11-02 15:58:47 +02:00
Christoph Oelckers
ccbdcfea81
Merge branch 'master' of https://github.com/j-palomo/zdoom
2014-10-21 14:28:31 +02:00
John Palomo Jr
82255c4dfd
Using PickActor will only set the TID if the picked actor doesn't have a TID already. An optional 8th parameter (bool forceTID) was added to revert to the old behavior.
2014-10-19 20:52:48 -04:00
ChillyDoom
db323643f8
- Renamed FBot to DBot and made it inherit from DThinker.
...
- Fixed: Bots added by players other than the net arbitrator did not have their skill set.
2014-10-14 19:57:11 +01:00
ChillyDoom
83d84eaae9
- Moved bot related variables from player_t into a new FBot class.
2014-10-13 18:40:25 +01:00
Christoph Oelckers
81076abba2
Merge branch 'canraise' of https://github.com/GitExl/zdoom
...
Conflicts:
src/p_acs.cpp
2014-09-29 00:42:09 +02:00
fdari
a2f7b86a0f
IsPointerEqual (ACS and Decorate)
...
Decorate: IsPointerEqual(int aaptr_selector1, int aaptr_selector2)
ACS: IsPointerEqual(int aaptr_selector1, int aaptr_selector2, int tid1 = 0, int tid2 = 0)
Compare the pointers values returned by two pointer select operations. Returns true if they both resolve to the same value. Null values can be explicitly tested using IsPointerEqual(AAPTR_NULL, ...)
ACS: IsPointerEqual(int aaptr1, int aaptr2, int tid1 = 0, int tid2 = 0)
This function lets you compare pointers from other actors than the activator, using tids. Tid1 determines the actor used to resolve aaptr1, Tid2 does the same for aaptr2. If tid1 and tid2 are equal, the same actor will be used for resolving both pointers (that could always happen randomly; this way you know it will happen).
2014-09-28 11:52:37 +02:00
John Palomo Jr
79d9a573bb
Added AProp_MeleeRange to SetActorProperty.
2014-09-24 03:56:20 -04:00
GitExl
bb3d2fa535
Add CanRaiseActor ACS function.
2014-09-23 12:10:39 +02:00
GitExl
313b229319
Add PickActor ACS function.
2014-09-21 16:43:17 +02:00
MajorCooke
16a380f82a
- Added Blue Shadow's DropInventory ACS function.
2014-09-19 17:27:18 -05:00
Edoardo Prezioso
1c96039d7a
- Fixed miscompilation with Clang 3.5.0.
...
The optimizer miscompiles the function FBehavior::LoadScriptsDirectory and causes random crashes when zdoom is run with wads containing scripts.
As said in the comment, I just hope that the Clang devs fix it for the next patching release, ie 3.5.1.
2014-09-15 19:46:43 +02:00
Christoph Oelckers
5364116354
- fixed: APROP_Friendly did not manage monster counting correctly.
2014-08-23 13:24:15 +02:00
Christoph Oelckers
f0eccb9d15
- BlueShadow's submission for keeping the max save amount of BasicArmorPickups around when picking up armor bonuses.
2014-08-11 10:08:49 +02:00
Christoph Oelckers
1fcde91298
- BlueShadow's GetArmorInfo submission.
2014-08-08 09:25:35 +02:00