Commit graph

152 commits

Author SHA1 Message Date
MajorCooke
85a34bbb88 Added GetPlayerInput(int numinput, int ptr = AAPTR_PLAYER1).
- Works exactly like the ACS version, but with pointers instead. The pointer can be anything, so long as it can be identified as a player.
2016-06-20 08:49:57 -05:00
Christoph Oelckers
7ccdbf9b62 Merge branch 'PSprites' 2016-06-16 16:16:16 +02:00
Xaser Acheron
de0301a704 split bfg self-damage code into its own function, A_RadiusDamageSelf 2016-06-16 00:43:07 +02:00
Xaser Acheron
8e8248284a added BFGF_HURTSOURCE and BFGF_MISSILEORIGIN to A_BFGSpray 2016-06-16 00:43:06 +02:00
MajorCooke
f787056198 - Added endsize parameter and SPF_NOTIMEFREEZE for A_SpawnParticle.
SPF_NOTIMEFREEZE processes particles with this flag regardless of time freeze. The endsize parameter changes the scale of the particle to that size throughout its lifetime linearly.
2016-06-11 10:00:50 +02:00
Leonard2
543414d31f Added 2 new layer flags: PSPF_CVARFAST and PSPF_POWDOUBLE
These flags allowed to easily restore a lost part of the targeter layers
behavior
2016-06-03 00:50:11 +02:00
Leonard2
2f5ae3b51e Changed the default layer indices and renamed them
Note that this doesn't compile yet
2016-05-28 01:19:41 +02:00
Leonard2
c82620129c Added A_OverlayFlags
Allows psprites to follow the weapon and/or the player's bobbing
2016-05-28 01:19:40 +02:00
MajorCooke
115dbd0b58 - Added A_WeaponOffset(x = 0, y = 32, flags).
- Places the weapon offset by the defined x and y. Both are floats. This stacks with weapon bobbing.
- WOF_KEEPX: Don't change the X offset.
- WOF_KEEPY: Don't change the Y offset.
- WOF_ADD: Add onto instead of replacing the coordinates.
2016-05-18 11:19:24 +02:00
MajorCooke
2ba26693d1 - Added 3D Floor + Portal awareness, along with flags to turn off detection of both features. 2016-05-12 22:15:06 +02:00
MajorCooke
b91ed5dc5d Added GetZAt DECORATE function.
- float GetZAt(x, y, angle, flags, pick_pointer);
- Gets the floor z  at x distance ahead and y distance to the side in relative form from the calling actor pointer. Flags are as follows (GZF_ prefix):
- CEILING: Returns the ceiling z instead of floor.
- ABSOLUTEPOS: x and y are absolute positions.
- ABSOLUTEANG: angle parameter does not add the pointer's angle to the angle parameter.
2016-05-12 22:15:05 +02:00
MajorCooke
39f64383cb Changed RTF_THRUSTZ to match RADF_THRUSTZ's bitmap. 2016-05-11 19:41:33 +02:00
MajorCooke
952219a018 Added RTF_THRUSTZ for A_RadiusThrust.
- Allows thrusting with Z velocity.
2016-05-11 19:41:33 +02:00
MajorCooke
b16e696157 - Added offset and angle parameters to A_CheckBlock.
- Includes 2 flags, affixed by CBF_: AbsolutePos, and AbsoluteAngle.
- AbsolutePos: Absolute position of where to check.
- AbsoluteAngle: Angle parameter is used as is, not added onto the actor's current angle.
2016-03-23 14:05:31 +01:00
MajorCooke
59ad6206de Added CBF_NOACTORS to A_CheckBlock.
- Self explanatory, doesn't count actors as blocking them.
2016-03-02 20:35:54 -06:00
MajorCooke
3399ed60e0 Updated to scripting branch merge. 2016-02-04 20:17:46 -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
MajorCooke
eb2829ad5e - Added CBF_DROPOFF to A_CheckBlock. Checks for actors stuck in tall ledges or dropoffs. 2016-01-31 09:45:41 -06:00
MajorCooke
275cdcd958 Renamed A_FaceVelocity to A_FaceMovementDirection. 2016-01-27 10:12:13 -06:00
MajorCooke
6dcbc930d6 NoRandomTurn, not NoDirectionTurn, inside the macro. 2016-01-27 09:39:46 -06:00
MajorCooke
ece6fa776c - Renamed CHF_DONTANGLE to CHF_NODIRECTIONTURN.
- A_Wander now shares CHF_NODIRECTIONTURN and CHF_NORANDOMTURN instead of having its own flags.
2016-01-27 09:35:19 -06:00
Christoph Oelckers
2a1fa60aa6 Merge branch 'CheckProxExpPruned' of https://github.com/MajorCooke/zdoom 2016-01-26 18:49:03 +01:00
MajorCooke
1c0ef1d367 Removed CPXF_NODISTANCE. 2016-01-26 10:00:20 -06:00
Randy Heit
c63f65d441 Merge remote-tracking branch 'origin/master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-01-22 20:53:27 -06:00
MajorCooke
13dc6be5a1 - Added flags for A_SpawnParticle and angle parameter.
- SPF_FULLBRIGHT makes the particle full bright.
- SPF_RELATIVE encapsulates the following flags:
- SPF_RELPOS: Position is relative to angle.
- SPF_RELVEL: Velocity is relative to angle.
- SPF_RELACCEL: Acceleration is relative to angle.
- SPF_RELANG: Add caller's angle to angle parameter for relativity.
2016-01-21 16:36:58 -06:00
Randy Heit
1ac0d0690c Re-remove testglobalvar from constants.txt so scripting branch runs again 2016-01-21 12:46:12 -06:00
MajorCooke
9638cbb844 Updated A_CheckProximity Expansion Pruned Edition. 2016-01-21 11:39:13 -06:00
MajorCooke
93aff2413f Fixed an issue which caused A_Teleport to set the caller and itself to SpotZ's z position. 2016-01-20 18:18:00 -06:00
MajorCooke
d20a7516c9 Updated A_FaceVelocity to remove conflicts. 2016-01-20 15:51:11 -06:00
MajorCooke
bfd9e2bc1c - Added CHF_STOPIFBLOCKED and CHF_DONTTURN macro.
- CHF_STOPIFBLOCKED simply prevents the actor from changing directions for movement.
- CHF_DONTTURN implies NORANDOMTURN, NOPOSTATTACKTURN and STOPIFBLOCKED.
2016-01-07 19:20:02 -06:00
MajorCooke
da9c3ff9d2 Added A_Wander Flags.
- WF_NORANDOMTURN and WF_DONTANGLE do the same as their CHF_ counterparts for A_Wander.
2016-01-07 17:38:45 -06:00
MajorCooke
f357a36c5c - New A_Chase flags.
- CHF_NORANDOMTURN: Actor will not randomly turn during chasing to pursue its target. It will only turn if it cannot keep moving forward.
- CHF_DONTANGLE: Actor does not adjust its angle to match the movement direction.
- CHF_NOPOSTATTACKTURN: Actor will not make its first turn after exiting its attacks.
2016-01-07 17:38:25 -06:00
MajorCooke
ccc694bbcd - Added the following flags, all affixed with CPXF_:
- NODISTANCE: Disables distance checking.
- CHECKSIGHT: The qualifying actor must be in sight in order to count.
- SET<TARGET/MASTER/TRACER>: Gets the first qualifying actor and sets the calling actor's specified pointer to it.
- SETONPTR: If the function is being aimed at another actor other than the caller, sets that actor's pointers instead. Requires a SET* flag to work.
- FARTHEST: The actor farthest from the checking actor is set as the pointer. Requires a SET* flag to work.
- CLOSEST: The closest qualifying actor is set as the pointer. Requires a SET* flag to work.
2016-01-07 17:09: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
Randy Heit
afbf88cc63 Remove WRF_ALLUSER. 2015-12-31 16:46:18 -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
MajorCooke
452c82cbe2 - Added TF_SENSITIVEZ to A_Teleport. Fail teleportation instead of adjusting the actor to fit if they cannot.
- When checking whether to use spot z or floorz, use spot floorz instead of ref for consistency.
2015-12-17 10:34:38 -06:00
MajorCooke
4fb48b332b Added A_CheckProximity.
- Checks to see if a certain actor class, in numbers, is close to the actor/pointer via distance, based upon count. Can check for ancestry, disable Z searching, perform less than or equal to instead of greater or equal to, exact counts, check a pointer instead of itself and differentiate between live monsters and dead.
2015-11-28 10:53:34 -06:00
MajorCooke
a1e3112850 Removed FVF_RESETPITCH. 2015-11-25 23:15:59 -06:00
MajorCooke
75855dc64a A_FaceVelocity(offset, flags, ptr)
- Changes the caller's angle and pitch according to the direction of velocity they're travelling.
- FVF_NOPITCH and FVF_NOANGLE disable changing of pitch/angle respectively and should be counted as mutually exclusive, or the function does nothing.
- FVF_INTERPOLATE - Interpolate's the angle and pitch changes.
- FVF_RESETPITCH will, if there's no z velocity, reset the pitch to 0. Otherwise, the pitch remains unchanged.
2015-11-25 01:44:19 -06:00
Braden Obrzut
a8ac748123 Merge commit 'e2d874e343da34df6edfad0bb47370cbe10f4bae' 2015-10-25 15:00:43 -04:00
MajorCooke
154e023800 - Added A_CheckBlock(state block, int flags, int ptr).
- Performs a jump if an actor or a line is in the way.
- Can be used without a jump state if the desire is only to have a pointer change.
- CBF_NOLINES disables jumping if a line is involved.
- CBF_SET* flags set the target, master or tracer to whoever is blocking, for the actor calling the function.
- CBF_SETONPTR causes the pointer changing flags to apply to the pointed actor instead of itself.
2015-10-04 16:00:40 -05: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
Xaser Acheron
8948f5dc2b Added FPF_NOAUTOAIM to A_FireCustomMissile 2015-09-08 10:40:21 -05:00
MajorCooke
e7aa5c690a Minor oversight... 2015-08-10 06:48:24 -05:00
MajorCooke
fcf1d56b1a - Added SXF_IS<TARGET/MASTER/TRACER>.
- The spawned actor becomes the calling actor's specified pointers respectively.
2015-08-09 14:06:22 -05:00
Benjamin Moir
efce2a200c Added WARPF_USETID to A_Warp 2015-07-31 22:24:01 +09:30
MajorCooke
b4f05ee89b - Significant A_RadiusGive update.
- Added filter and species parameter.
- Added new flags: RGF_INCLUSIVE, RGF_ITEMS, RGF_KILLED, RGF_EXFILTER, RGF_EXSPECIES, and RGF_EITHER.
- RGF_ITEMS: Items can receive inventory.
- RGF_KILLED: Actors who are truly dead might not be corpses, and vice versa.
- RGF_EXFILTER: Blacklists the specified actor filter. All but the filtered actor can receive the item.
- RGF_EXSPECIES: Blacklists the specified species. All but the filtered species can receive the item.
- RGF_EITHER: The actor can receive the item if it satisfies either the filter or the species. Only useful when both are used.
- RGF_INCLUSIVE: An actor marked as more than one pointer to the calling actor can ignore the exclusion pointers, but only if at least one is missing. I.e. an actor who is a target and tracer of the calling actor can still receive the item, if the calling actor doesn't pass RGF_NOTARGET and NOTRACER at the same time. RGF_INCLUSIVE only works with the pointer filtering flags. By default, if not specified, the actor will not be loopholed the item if they are under any one of the three filters.
- Fixed discrepancies and dependencies upon several flags and actor conditions which caused the function to fail.
2015-07-22 16:46:14 -05:00
MajorCooke
dc00d61f4d - Added TF_OVERRIDE to A_Teleport.
- Overrides the NOTELEPORT flag so actors with velocity don't need to disable it in order to perform A_Teleport, which could be screwed up by a teleporting line or sudden ACS interference.
- Ensure that the result is set to false if it fails prematurely. Wasn't sure if this was needed, but with the upcoming if/else statements, better safe than sorry.
2015-05-01 08:32:07 -05:00
MajorCooke
087d564343 - Added MORPH_UNDOALWAYS for morph powerups. 2015-04-03 12:16:27 -05:00