Randy Heit
26eb335622
Quiet a couple GCC warnings
2016-02-05 16:07:18 -06:00
Christoph Oelckers
0b7a06c714
Merge branch 'NewEESpecials'
...
# Conflicts:
# src/fragglescript/t_fs.h
2016-02-05 01:01:39 +01:00
Randy Heit
b3b0886b64
Merge branch 'scripting'
...
Conflicts:
src/actor.h
src/g_doom/a_doomweaps.cpp
src/g_hexen/a_blastradius.cpp
src/p_enemy.cpp
src/p_enemy.h
src/thingdef/thingdef.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
Randy Heit
809a9d801c
Got a flag backwards
2016-01-31 21:23:45 -06:00
Randy Heit
c1b2861362
Merge the boolean args to EV/P_Teleport into a single flags arg
...
- The flags use TELF_ since DECORATE has an A_Teleport with its
own set of TF_ flags.
- TELF_KEEPVELOCITY is used instead of TELF_HALTVELOCITY, because
there was only one call that ever set bHaltVelocity to false.
2016-01-30 21:27:34 -06:00
Christoph Oelckers
316389c7f9
- fixed: Ceiling_LowerByValue(Times8) were missing the 'crush' parameter.
...
- fixed typo in 5 minute door sector type (it used FRACUNIT instead of TICRATE.)
2016-01-25 21:27:19 +01:00
Christoph Oelckers
7b5a77a8d8
- added various action specials and parameter extensions defined by Eternity Engine.
...
The reason for defining them is to be able to fill out the Eternity translation table for GZDoom's Extradata parser.
Most of the new specials are mere specializations of ZDoom's Generic_* functions and occupy positions above 255 to avoid filling up the last remaining free slots available for Hexen format maps.
Allowing action specials greater than 255 required a few changes:
* all access to action specials is now through a small set of access functions.
* Two new PCodes were added to ACC to handle these new specials from scripts.
* a minor change to the network protocol, so netgame and demo version numbers were bumped.
* FS_Execute is now properly defined in p_lnspec.cpp.
Two of the newly added specials - generalizations of the special 'close Door in 30 seconds' and 'raise door in 5 minutes' sector types, will also be available to Hexen format maps. The rest are limited to use in ACS, UDMF and DECORATE.
This also adds 'change' and 'crush' parameters to most Floor_* and Ceiling_* specials, again to match Eternity's feature set.
2016-01-25 18:49:56 +01:00
Christoph Oelckers
bc63b70d88
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/fragglescript/t_func.cpp
src/g_doom/a_bossbrain.cpp
src/g_doom/a_revenant.cpp
src/g_heretic/a_hereticartifacts.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_knight.cpp
src/g_hexen/a_bishop.cpp
src/g_hexen/a_clericholy.cpp
src/g_hexen/a_dragon.cpp
src/g_hexen/a_firedemon.cpp
src/g_hexen/a_flechette.cpp
src/g_hexen/a_heresiarch.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/g_hexen/a_iceguy.cpp
src/g_hexen/a_korax.cpp
src/g_hexen/a_magelightning.cpp
src/g_hexen/a_serpent.cpp
src/g_hexen/a_spike.cpp
src/g_hexen/a_wraith.cpp
src/g_raven/a_minotaur.cpp
src/g_shared/a_bridge.cpp
src/g_shared/a_pickups.cpp
src/g_shared/a_randomspawner.cpp
src/g_strife/a_alienspectres.cpp
src/g_strife/a_crusader.cpp
src/g_strife/a_entityboss.cpp
src/g_strife/a_inquisitor.cpp
src/g_strife/a_loremaster.cpp
src/g_strife/a_programmer.cpp
src/g_strife/a_sentinel.cpp
src/g_strife/a_spectral.cpp
src/g_strife/a_strifestuff.cpp
src/g_strife/a_strifeweapons.cpp
src/g_strife/a_thingstoblowup.cpp
src/p_local.h
src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
ef7be016c4
- all those 'actor->SetZ(actor->Z() +...) calls weren't pretty so now there's an AddZ method, too.
2016-01-18 22:32:36 +01:00
Christoph Oelckers
43314f0c0d
- started refactoring p_map.cpp
...
- added AActor::Top function to replace the frequent occurences of actor->z + actor->height.
2016-01-18 00:59:16 +01:00
Christoph Oelckers
a65ff39872
- more coordinate refactoring in p_enemy.cpp.
2016-01-17 22:13:17 +01:00
Christoph Oelckers
bf747075e8
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_clericstaff.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
cfcd2668cc
Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
...
Conflicts:
src/p_pspr.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
fbaab5044d
Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
...
Conflicts:
src/d_dehacked.cpp
src/decallib.cpp
src/g_hexen/a_clericstaff.cpp
src/p_interaction.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +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
Christoph Oelckers
6a63effa1f
- fixed: A_CheckTerrain did not use the proper damage type for processing an instant death sector.
...
- moved sector secret information from sector_t::special and secretsector to two flag bits in sector_t::Flags.
This is to get rid of the bit masking madness in the floor/ceiling thinkers which need to preserve this bit when they change a sector's type.
2016-01-06 01:50:45 +01:00
Christoph Oelckers
3e13e772ef
- after realizing that changing the sector's MOD variable to an FNameNoInit doesn't do anything bad, I just went ahead and got rid of the last place in the engine that still used this data type for internal storage.
2016-01-05 16:10:04 +01:00
Christoph Oelckers
d432df55e9
- changed Sector_SetDamage so that it can explicitly set the damage interval and the leakiness probability, instead of hardcoding it to fixed damage ranges.
...
- fixed: FCajunMaster::IsDangerous did not check for Heretic's sludge type.
2016-01-05 15:39:21 +01:00
Christoph Oelckers
a75e65a3d8
- added BLOCKF_SOUND to flag list supported by Line_SetBlocking,
2016-01-03 11:32:23 +01:00
Christoph Oelckers
106886a9bb
- allow setting the ice translation with Thing_SetTranslation.
...
This requires passing a magic value because this translation is defined differently than all the rest which can be used in ACS.
2015-11-29 12:30:50 +01:00
Christoph Oelckers
3fadfec77d
- fixed typo in SendToCommunicator enhancement.
2015-11-28 00:43:39 +01:00
Christoph Oelckers
fca469b053
- moved the notification messages for SendToCommunicator into LANGUAGE.
...
As a side effect this will now allow using custom messages with this function as well by using the arg2 parameter as part of the message's name (arg2=0 will use TXT_COMM0, arg1 TXT_COMM1 and so on.)
2015-11-26 10:25:05 +01: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
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
Christoph Oelckers
db61c1cb57
- allow multiple line IDs as well using the same method as for sector tags.
2015-04-19 17:51:34 +02: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
902593198b
- wrapped all line ID accesss just like sector tags
2015-04-15 09:37:06 +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
Christoph Oelckers
337682934c
- fixed: CF_FLY cannot be part of the player_t structure and be tracked properly. It needs to be part of the actor itself that has MF2_FLY set so it got moved to flags7.
...
- removed some fudging code that tried to work around the shortcomings of CF_FLY but was ultimately causing more problems than it solved.
2015-02-10 23:40:53 +01: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
Edoardo Prezioso
c3c22315d9
- Added zero tag handling for Pillar actions.
...
Pillar actions will refer to the back sector if the tag is set to 0.
2015-01-08 19:52:23 +01: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
94f08aa593
- Added: Boolean to specify if A_Raise functions should perform CopyFriendliness based upon who raised it. By default, this is false.
2014-11-27 15:12:33 -06:00
Christoph Oelckers
6f7b83faa1
- fixed: EV_DoFloor was a bit too selective about which movement types were allowed to crush. Changed so that the crush parameter is always used. Also changed all non-crushing calls to explicitly pass -1 as crush damage instead of relying on EV_DoFloor to ignore the passed value.
2014-10-24 23:12:38 +02:00
Christoph Oelckers
df0d3543a8
- fixed: *ALL* original ceiling crushers, not just type 49, require a distance of 8 to the floor for the destination height. For the silent types this required a new action special, Ceiling_CrushAndRaiseSilentDist. This change only affects the XLAT mapping, the Hexen format types behave as before.
...
- removed the redundant internal ceilCrushAndRaiseDist ceiling movement type. It was precisely the same as ceilCrushAndRaise in all details.
2014-08-21 13:01:12 +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
Randy Heit
5850279090
- Fixed: Thing_SetGoal could put an actor's target and goal out of sync.
...
If an actor is already targeting a goal, and Thing_SetGoal is used on
it, it would still be left targeting the old goal instead of the new
one. This messed up checks in A_Chase for walking towards a goal vs a
real target.
2013-09-18 22:03:59 -05:00
Christoph Oelckers
3e4678765b
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/thingdef/thingdef_codeptr.cpp
2013-08-18 12:18:59 +02:00
Christoph Oelckers
6a07118ea4
- added ML_BLOCKHITSCAN line flag.
2013-08-09 20:35:10 +02:00
Randy Heit
9c86f1c220
Merge branch 'master' into scripting for plugged userinfo memory leak
...
Conflicts:
src/d_player.h
src/p_interaction.cpp
src/thingdef/thingdef_codeptr.cpp
2013-07-23 21:01:13 -05:00
Randy Heit
5af1e6f734
- Added a compatibility option to fix Super Sonic Doom's first bonus
...
stage leaving you frozen when you finished it.
2013-07-02 14:15:08 -05:00
Randy Heit
459ad5abff
- Updated scripting branch to latest version in trunk.
...
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Christoph Oelckers
954e9e03f2
- removed a few 'GZDoom only' notes that no longer apply.
...
SVN r4128 (trunk)
2013-02-10 09:01:15 +00:00
Christoph Oelckers
027a99d772
- fixed: Hexen's Floor_RaiseAndCrush is not the same action as the one used by Doom and which was used by ZDoom before r4053. Restored the old code and gave it a new special 99:Floor_RaiseAndCrushDoom.
...
SVN r4125 (trunk)
2013-02-10 08:53:03 +00:00
Randy Heit
562cf04db2
- Update scripting branch to trunk.
...
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00