Commit graph

92 commits

Author SHA1 Message Date
Christoph Oelckers
b4a002a07f - preparations for allowing hitscans through portals.
To allow processing the hit through an arbitrary portal without reference to the portal group table, P_AimLineAttack and P_LineAttack need to pass some more info than just the linetarget.
We need the relative positions of shooter and target within the visual reference of the other to calculate proper angles and we need to know if such a portal was crossed at all, because a few things, e.g. seeker missiles won't work with them.

- fixed setup of target acquisition for the Mage Staff.

The pre-acquired seeker target was never passed to the spawned projectiles.
2016-03-01 16:39:31 +01:00
Randy Heit
b2ccd0bd28 Use action function return value to make state jumps happen
- The A_Jump family of action functions now return the state to jump
  to (NULL if no jump is to be taken) instead of jumping directly.
  It is the caller's responsibility to handle the jump. This will
  make it possible to use their results in if statements and
  do something other than jump.
- DECORATE return statements can now return the result of a function
  (but not any random expression--it must be a function call). To
  make a jump happen from inside a multi-action block, you must
  return the value of an A_Jump function. e.g.:
    { return A_Jump(128, "SomeState"); }
- The VMFunction class now contains its prototype instead of storing
  it at a higher level in PFunction. This is so that
  FState::CallAction can easily tell if a function returns a state.
- Removed the FxTailable class because with explicit return
  statements, it's not useful anymore.
2016-02-18 20:39:40 -06: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
rheit
56359b6f23 Merge pull request #342 from marrub--/fastweaponsfix
sv_fastweapons extension
2016-02-04 13:31:47 -06:00
Braden Obrzut
88a616da75 - Removed what appears to be a debug breakpoint.
- Cleared some GCC and Clang warnings. Mostly static analysis false positives, but one of them generated a pretty massive warning in a release build.
- Use -Wno-unused-result since I doubt we're going to address those unless they actually prove to be a problem (and they only appear in release builds).
2016-01-23 19:36:13 -05: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
MajorCooke
77013877d1 A_WeaponReady Fix
- Zoom and Reload keys triggered the other states instead of themselves (i.e. zoom keybind triggered reload states instead of zoom)
2016-01-02 11:27:02 -06:00
Randy Heit
1d759283c0 Cleanup the zoom/reload/userX handling for A_WeaponReady
- There was lots of code duplication. Consolidated it.
- Renamed WRF_UserX to WRF_AllowUserX for consistancy.
2015-12-31 16:46:19 -06:00
MajorCooke
3566d3157a Use | instead of +. 2015-12-31 16:46:17 -06:00
MajorCooke
eed6680a67 Added support for weapon states User#.
- Added keybinds for the user state triggering.
- Added WRF_USER# flags which must be specified in order to use.
- # can be 1-4.
2015-12-31 16:46:16 -06:00
Christoph Oelckers
b613db4ae5 Revert "Merge pull request #359 from Leonard2/master"
This reverts commit 364ca11b43, reversing
changes made to dae0e217d1.

Conflicts:
	src/r_data/r_interpolate.cpp
2015-09-18 17:41:16 +02:00
Leonard
86e9504d04 Added weapon interpolation. 2015-08-19 15:59:54 +02:00
Marrub
08e9d75538 removed sv_fastweapons 4 as it may cause issues 2015-06-27 15:00:31 -04:00
Marrub
4208993f22 use sv_fastweapons 3 and 4 instead 2015-06-27 08:26:48 -04:00
Marrub
873ef3fea8 that works better 2015-06-25 10:15:40 -04:00
Marrub
bbc3173629 yep 2015-06-25 09:47:37 -04:00
Christoph Oelckers
bfc10f4c5e Merge branch 'master' into scripting 2015-05-05 11:24:43 +02:00
Christoph Oelckers
535102ae6e - fixed: NULLing the flash state in P_BringUpWeapon should be done before setting the main weapon state so that it doesn't cancel any flash state effects that get initiated there. 2015-05-05 11:23:41 +02: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
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
ee6e87d94b - use a separate counter from AActor::special1 to count weapon use with some Hexen weapons. special1 is used for some other purposes as well, and when using a separate counter it can be reset to 0 when changing weapons, preventing counting errors. 2014-09-13 12:38:16 +02:00
Christoph Oelckers
261bc77846 - fixed: when bringing up a new weapon the current flash state needs to be removed.
Especially when dropping the current weapon it can still be active, this is most easily observed with Strife's crossbow which loops the flash state, but it also can happen with other weapons, right after shooting.
2014-05-20 10:29:27 +02:00
Randy Heit
459ad5abff - Updated scripting branch to latest version in trunk.
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Randy Heit
445bc148b7 - Fixed: r4067 completely disabled weapon switching via A_ReFire.
SVN r4157 (trunk)
2013-02-22 02:42:42 +00:00
Randy Heit
e0c751114f - Fixed: A TITLEMAP defined with SpawnWithWeaponRaised set caused a crash.
SVN r4156 (trunk)
2013-02-22 01:51:35 +00:00
Randy Heit
619e65ad6f - Allow negative parameters to A_Light.
SVN r4144 (trunk)
2013-02-19 02:25:20 +00:00
Randy Heit
cdfd671dff - P_MovePsprites() should now always call P_CheckWeaponSwitch(), because the latter function
now has its own WF_WEAPONSWITCHOK check in the correct place.

SVN r4068 (trunk)
2013-02-07 20:42:24 +00:00
Randy Heit
2cf141e914 - In A_ReFire, allow refiring when a weapon is pending, but weapon switching is not okay at this time.
SVN r4067 (trunk)
2013-02-07 20:38:41 +00:00
Randy Heit
87b8b6201c - Added WRF_DISABLESWITCH flag for A_WeaponReady to indicate that any attempts to switch the weapon
should be discarded.

SVN r4062 (trunk)
2013-02-05 02:27:35 +00:00
Randy Heit
f0bc2fdc53 - Fixed CF_DOUBLEFIRINGSPEED is in player->cheats, not player->WeaponState.
SVN r4061 (trunk)
2013-02-05 01:45:23 +00:00
Randy Heit
61322cc33b - Fixed: A_Lower needs to check player->cheats for WF_INSTANTWEAPSWITCH, not player->WeaponState.
SVN r4055 (trunk)
2013-01-27 04:08:00 +00:00
Randy Heit
a2f55c8067 - Well, poo. WRF_NoFire is two bits, not just one.
SVN r4054 (trunk)
2013-01-27 03:02:00 +00:00
Randy Heit
ed8a33aeaf - Use P_DropWeapon() everywhere it makes sense.
SVN r4045 (trunk)
2013-01-25 03:32:49 +00:00
Randy Heit
5dca935305 - If this was a git repository, I wouldn't have needed to just make three broken commits in a row.
SVN r4044 (trunk)
2013-01-25 03:32:20 +00:00
Randy Heit
1c999d9d55 - Be more concise for WRF_NoFire in A_WeaponReady.
SVN r4043 (trunk)
2013-01-25 03:25:32 +00:00
Randy Heit
9d43ba39fc - Using the proper container for weapon state flags would be good.
SVN r4042 (trunk)
2013-01-25 03:18:45 +00:00
Randy Heit
281ac3a49a - Separate the player weapon state flags from the other player "cheat" flags.
SVN r4041 (trunk)
2013-01-25 03:09:17 +00:00
Randy Heit
ea81d3638d - Revert WRF_NOSWITCH changes from r4024.
SVN r4039 (trunk)
2013-01-25 02:05:48 +00:00
Braden Obrzut
76b5757dab - Fixed: 0 duration A_Lower loops could cause an infinite loop since A_Lower checked if the player was dead in two different ways and returned before the second one.
SVN r4029 (trunk)
2013-01-18 18:19:05 +00:00
Randy Heit
3111b6e7b0 - Do not clear the CF_WEAPONSWITCHOK flag each tic, so that the last setting from A_WeaponReady
will carry over until the next A_WeaponReady. Changed P_CheckWeaponSwitch() to clear any
  pending weapon requests while weapon switching is disabled.

SVN r4024 (trunk)
2013-01-11 02:53:11 +00:00
Randy Heit
787c338871 - Added MAPINFO flag "SpawnWithWeaponRaised".
SVN r4013 (trunk)
2013-01-03 02:08:08 +00:00
Randy Heit
562cf04db2 - Update scripting branch to trunk.
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Randy Heit
44932a6c56 - Added OB_MPDEFAULT string for being killed by a player for an unknown reason. This can be
overridden in custom player classes by changing their Obituary property to something else.
- ClientObituary() now only looks up the obituary message from the killing player's weapon if the
  damage type was 'Melee' or 'Hitscan'.
- Gave P_GunShot() and A_FireBullets the new damage type 'Hitscan'.
- Switched A_Saw and A_CustomPunch to the 'Melee' damage type.

SVN r3646 (trunk)
2012-05-13 01:06:28 +00:00
Christoph Oelckers
cbcc7443c6 - added Xaser's bobbing style options submission.
SVN r3615 (trunk)
2012-05-02 20:58:29 +00:00
Christoph Oelckers
235a09d92a - Added Xaser's weapon patch to check +reload and +zoom in A_WeaponReady.
SVN r3530 (trunk)
2012-04-07 13:07:25 +00:00
Randy Heit
19ec79d4f3 - Apply patch to prevent the flash state from being processed twice after using A_GunFlash.
SVN r3500 (trunk)
2012-04-01 02:49:04 +00:00
Randy Heit
f00f5d2304 - Allow subclasses when checking for PowerWeaponLevel2.
SVN r3314 (trunk)
2011-11-07 00:43:41 +00:00
Christoph Oelckers
163301dcd5 - took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
SVN r3259 (trunk)
2011-07-06 14:20:54 +00:00