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
alexey.lysiuk
6ef67e1d3e
Fixed build on compilers other than MSVC
...
No more "Call to 'LittleShort' is ambiguous" error
2014-08-02 13:14:25 +03:00
Randy Heit
ea7ba9dba3
Add per-actor friction
...
- This is multiplied by the sector's friction.
- This is intentionally not serialized yet, while awaiting feedback.
2014-07-28 23:15:50 -05:00
Randy Heit
4c6edd5e58
Add script array support to ZDoom
2014-07-28 21:02:20 -05:00
Braden Obrzut
84cb49b074
- Fixed: Legacy render style array was in the wrong order.
2014-07-16 19:19:20 -04:00
Christoph Oelckers
400a573e65
- fixed: ACS's LineAttack function with a valid tid still used the activator as the attack's source.
2014-07-13 09:12:46 +02:00
Christoph Oelckers
25f4af734f
- fixed: ACS's check...Texture functions must use the same search flags as the texture initialization code in p_setup.cpp and p_udmf.cpp. It also should not create textures that don't exist yet. We are only doing a comparison so it's not relevant if the texture exists or not.
2014-05-16 10:56:23 +02:00
Christoph Oelckers
a375454474
- removed 8 character limit for map names.
2014-05-14 00:52:16 +02:00
Christoph Oelckers
24886b6734
- removed the last static character arrays from FLevelLocals.
2014-05-13 23:16:13 +02:00
Christoph Oelckers
30f57c0b8e
- added new renderstyles AddStencil and AddShaded.
2014-05-13 21:16:06 +02:00
Christoph Oelckers
65e8563cf4
replaced all character arrays for lump/texture names in the level_info_t and FLevelLocals structures with FStrings as first preparation for allowing long texture names.
2014-05-13 11:33:59 +02:00
Christoph Oelckers
2223c12938
- added new ChangeActorAngle/ChangeActorPitch ACS functions because the new required 'interpolate' parameter cannot be added to the existing SetActorAngle/SetActorPitch functions without breaking old scripts.
2014-05-08 09:43:58 +02:00
Christoph Oelckers
63a0e01c6a
Merge branch 'interpview_optin'
2014-05-08 09:17:00 +02:00
Christoph Oelckers
67ebbe3ed4
made some changes to turn the CF_INTERPVIEW flag when changing angles into an op-in feature instead of making it automatic.
2014-05-08 09:15:56 +02:00
Gaerzi
265917c923
Add shadow and subtract styles to ACS.
...
There is a matching pull request for rheit/acs.
2014-04-22 13:31:55 +02:00
Edward Richardson
ca93e04de3
Added GetActorPowerupTics ACS function
2014-04-07 23:23:55 +12:00