Commit graph

561 commits

Author SHA1 Message Date
Christoph Oelckers
4c470ba5c1 Merge branch 'allowpain' of https://github.com/MajorCooke/zdoom 2014-11-01 17:43:39 +01:00
MajorCooke
2e085b2318 - Added ALLOWPAIN flag.
Monsters with this flag can enter pain states, regardless of
invulnerability or damage absorption.
- Fixed: god2 cheat wasn't being considered for drowning and thrusting.
2014-11-01 00:00:29 -05:00
MajorCooke
938b54ccb5 - Added TF_FORCED for A_Teleport. Forces the actor to move to the spot. 2014-10-31 15:51:15 -05:00
Christoph Oelckers
31611c17d5 - fixed RGF_NOSIGHT checking for A_RadiusGive. 2014-10-29 22:00:15 +01:00
MajorCooke
165d2887fd - Added: A_GiveToChildren
- Added: A_TakeFromChildren
- Added: A_GiveToSiblings
- Added: A_TakeFromSiblings
- Added the following flags for A_RadiusGive:
- RGF_NOSIGHT: Exclude sight check from distance.
- RGF_MISSILES: Missiles can take inventory items.
2014-10-29 14:01:31 -05:00
Christoph Oelckers
6073adbeef - renamed FULLMASS to DONTTHRUST. 2014-10-28 08:40:34 +01:00
MajorCooke
c01d1a8003 - Added DMSS_NOPROTECT.
Bypasses PowerProtection inventory items.
2014-10-27 22:29:10 -05:00
MajorCooke
f802d7a44c - Added +FULLMASS.
Actors will be excluded from damage/radius thrusting of all sorts by
explosions or damage of any kind. They will also never deal impact
damage to other enemies, nor will they damage themselves from being too
close to a wall.
2014-10-27 21:35:55 -05:00
alexey.lysiuk
d1c4215fb5 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-10-25 16:57:58 +03:00
MajorCooke
a19620968d - Follow-up of the previous commit.
- Cleaned up the DoDamage and DoKill functionality.
- Added DMSS_FOILBUDDHA and KILS_FOILBUDDHA.
2014-10-25 09:39:10 +02:00
MajorCooke
d1dc6fd59a - Added: BUDDHA and FOILBUDDHA.
- Fixed: mugshot didn't take the god2 cheat into account.
2014-10-25 09:39:00 +02:00
Christoph Oelckers
1c500cead6 - fixed: A_Respawn did not restore the flags6 and flags7 fields. 2014-10-25 01:27:34 +02:00
Christoph Oelckers
5ac7e4fc38 - added HARMFRIENDS flag. 2014-10-25 00:30:36 +02:00
Christoph Oelckers
b6f4862024 - fixed: A_Warp didn't initialize oldx/y/z in all situations. 2014-10-25 00:05:52 +02:00
John Palomo Jr
4496885366 Added Inventory.AlwaysRespawn flag. 2014-10-24 04:46:43 -04:00
alexey.lysiuk
25b808cd82 Merge https://github.com/rheit/zdoom into z_osx_clean 2014-10-12 15:19:11 +03:00
Christoph Oelckers
0f19356e24 Merge branch 'master' of https://github.com/MajorCooke/zdoom
Conflicts:
	wadsrc/static/actors/constants.txt
2014-10-12 08:43:46 +02:00
MajorCooke
f766a1ab38 - Added SXF_ORIGINATOR.
- Only useful for missiles.

By default, missiles cannot set themselves as the master when spawning
actors.
2014-10-11 16:15:42 -05:00
MajorCooke
47029a3efc DoKill bug
-Fixed: DoKill did not target 'killtarget' for missiles, causing crashes and making the function not work properly.
2014-10-07 11:33:08 -05:00
MajorCooke
f54a59fdf8 - Added JLOSF_CHECKTRACER for A_JumpIfTargetInLOS.
- CHECKTRACER doesn't need to be a missile or have the SEEKERMISSILE
flag.
2014-10-02 17:00:17 -05:00
MajorCooke
5030832df0 - Added DMSS_NOFACTOR for all A_Damage functions. 2014-10-02 11:48:07 -05:00
Christoph Oelckers
cfb623d517 Merge branch 'master' of https://github.com/MajorCooke/zdoom 2014-09-29 00:42:59 +02:00
MajorCooke
96c6e7d9bf Minor fix; didn't mean to include that flag check. 2014-09-28 08:20:27 -05:00
MajorCooke
43b86288c7 - Added A_Remove(int pointer, int flags).
- RMVF_MISSILES removes missiles.
- RMVF_NOMONSTERS ignores monsters.
- RMVF_MISC includes non-monsters and missiles.
- RMVF_EVERYTHING disregards all checks and remove it.

These flags now apply to the following in addition to the new function:

-A_RemoveTarget
-A_RemoveMaster
-A_RemoveTracer
-A_RemoveChildren
-A_RemoveSiblings
2014-09-28 08:15:00 -05: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
MajorCooke
97d5d614c4 - Fixed: SXF_NOPOINTERS didn't clear LastHeard, causing monsters to spawn with targets. 2014-09-27 16:50:24 -05:00
MajorCooke
68a5db3c8c - Added SXF_NOPOINTERS for A_SpawnItemEx.
- Added WARPF_ABSOLUTEPOSITION for A_Warp.
2014-09-27 13:22:14 -05:00
Christoph Oelckers
e025f40902 - more redundancy removal: Consolidated the common part of the A_Kill* functions into a subfunction. 2014-09-27 08:54:18 +02:00
Christoph Oelckers
afaa88a460 - consolidated the common portion of the 6 different A_Damage* functions into a subfunction. 2014-09-27 08:48:36 +02:00
MajorCooke
0735cb9550 - Updated many functions.
- Added A_KillTarget(damagetype, int flags).
- Added A_KillTracer(damagetype, int flags).
- Added A_RemoveTarget.
- Added A_RemoveTracer.

A_Kill (Master/Target/Tracer/Children/Siblings):
- KILS_FOILINVUL: foils invulnerability.
- KILS_KILLMISSILES: destroys projectiles. Does not work on invulnerable
projectiles without KILS_FOILINVUL, and doesn't work at all on missiles
with NODAMAGE flag.
- KILS_NOMONSTERS: actors that are monsters will not be killed.

A_Damage (Self/Target/Master/Tracer/Children/Siblings):
- DMSS_FOILINVUL: foils invulnerability.
- DMSS_AFFECTARMOR: damages the actor's armor instead of bypassing it
entirely.
- DMSS_KILL: damages the actor by its remaining health (useful for
modular DECORATE programming).

- Added A_SpawnItemEx flags:
- SXF_SETTARGET: sets the calling actor as the target.
- SXF_SETTRACER: sets the calling actor as the tracer.
Both of these functions take priority similar to SXF_SETMASTER over
SXF_TRANSFERPOINTERS.
2014-09-27 00:10:31 -05:00
MajorCooke
5b71ce6dcb - Added FDARI's A_JumpIfHealthLower patch.
Now with pointer accessibility.
2014-09-26 11:48:20 -05:00
Christoph Oelckers
80060cf1ac Merge branch 'checkclass' of https://github.com/MajorCooke/zdoom 2014-09-26 08:30:33 +02:00
MajorCooke
6586fa29fd - Added FDARI's A_JumpIf CheckClass submission.
- bool CheckClass(string classname, int ptr_select = aaptr_default, bool
match_superclass = false)
2014-09-25 23:56:10 -05:00
MajorCooke
422e83a1b9 - Added more A_Damage functions:
- A_DamageTarget
- A_DamageTracer
-Both take a number for how much damage to deal and the damagetype to
inflict. Negative numbers means healing.
2014-09-25 23:12:25 -05:00
MajorCooke
b1f87295b8 - Added A_DamageSelf.
- A_DamageSelf(int amount, name damagetype)
2014-09-25 16:47:41 -05:00
Christoph Oelckers
cbf72fe992 - fixed: Since the serializing code cannot distinguish between user variables of the same name coming from different actors in an inheritance chain, this kind of name duplication must be prohibited. 2014-09-21 08:32:39 +02:00
MajorCooke
44683657f2 - Added jpalomo's A_SetSpeed patch. 2014-09-20 17:34:57 -05:00
alexey.lysiuk
0f602fb1ce Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-09-20 11:54:21 +03:00
MajorCooke
5c4ad9be68 Added Blue Shadow's A_SpawnItemEx changes: (1/2)
SXF_TRANSFERALPHA and SXF_TRANSFERRENDERSTYLE
2014-09-19 14:15:31 -05:00
MajorCooke
7a62459c00 Allow SXF_SETMASTER to work on non-monsters. 2014-09-18 17:58:06 -05:00
alexey.lysiuk
c7fc44062e Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-09-13 16:12:14 +03:00
Christoph Oelckers
2be3b776d8 - fixed: A_CustomMissile should not jump to the See state for dead monsters when using CMF_CHECKTARGETDEAD. 2014-09-13 10:15:09 +02:00
alexey.lysiuk
0a5dd94072 Fixed whole program (link-time) optimization build with Clang 2014-08-03 12:20:30 +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
Christoph Oelckers
6d4eb7f62d - changed handling of DF_NO_COOP_WEAPON_SPAWN dmflag so that weapons are not determined by class type but by a newly added flag WEAPONSPAWN, to allow CustomInventory replacements to act like weapons when being spawned. 2014-07-27 10:07:37 +02:00
Christoph Oelckers
7d7f146ce1 - fixed: transferring a translation to a missile needs to check if the missile was spawned successfully. 2014-06-28 15:21:19 +02:00
alexey.lysiuk
65203760a8 Fix incorrect actor flag handling on big endian platforms 2014-06-28 11:00:08 +03:00
Christoph Oelckers
e56e525d0f - A_FireCustomMissile transfer tranlsation flag, code submission by jpalomo 2014-06-22 08:55:21 +02:00
Christoph Oelckers
30f57c0b8e - added new renderstyles AddStencil and AddShaded. 2014-05-13 21:16:06 +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
Christoph Oelckers
3f8c7239af Merge branch 'master' of https://github.com/Gaerzi/zdoom 2014-04-24 09:41:54 +02:00
Gaerzi
7c3660087e Restore shadow renderstyle.
It was accidentally lost in r3085.
2014-04-22 13:32:33 +02:00
Gaerzi
83182b703d Added slow monsters, the inverse of fast monsters
This is a skill setting only, no "always slow" or "never slow" actor
flags, and no DM flags.
2014-04-15 21:01:49 +02:00
Edward Richardson
4270838613 CANRAISE state definition
CANRAISE state for allowing a monster to be resurrected without an
infinite frame
2014-04-12 22:02:19 +12:00
Gaerzi
18f2644162 A_Log formatted text
Make DECORATE version of Log consistent with ACS version.
2014-02-22 04:09:52 +13:00
Christoph Oelckers
c959b3f250 - added 'subtract' render style to DECORATE parser. This is actually 'reverse subtract' 2013-12-05 15:28:09 +01:00
Randy Heit
1f723c10ae Add CF_INTERPVIEW for players.
- Added CF_INTERPVIEW flag for players. A_SetPitch/A_SetAngle and the
  similar ACS APROPs set this when changing an angle. This forces the
  renderer to interpolate the view angles instead of updating with the
  latest mouse positions. The effect lasts one tick.
2013-10-09 21:50:24 -05:00
Randy Heit
fc843c28ba Merge branch 'maint' 2013-09-18 22:06:31 -05:00
Randy Heit
a7a7d5d6b3 Add missing prantheses for A_CustomPunch's puffFlags calculation
- Fixed: Need parentheses for precedence when setting puffFlags in
  A_CustomPunch. Otherwise, it's completely broken.
2013-09-18 21:25:00 -05:00
Randy Heit
33ee8f9fef Merge branch 'maint' 2013-08-29 22:27:49 -05:00
Randy Heit
7143ae49e1 Fixed: CheckPlayerCamera not sync safe
-  If a player is spying through another player, CheckPlayerCamera will
   return the TID of the player you are "spying", but as coopspy isn't a
   net command, this wont be reflected by all nodes. So to fix this,
   CheckPlayerCamera now returns -1 if a player's camera is that of any
   player at all. (thanks edward850)
2013-08-29 21:45:37 -05:00
Randy Heit
aac0de3e48 Fixed: Make A_SetTics work with weapons.
- When A_SetTics is called from a weapon, we need to set the tics for the
  psprite instead of the actor itself.
2013-08-29 21:40:01 -05:00
Braden Obrzut
0fb37ca5f1 Merge branch 'maint' 2013-08-27 20:41:10 -04:00
Braden Obrzut
5079d6c505 - Fixed: clang 32-bit compile (I hear it still doesn't run though).
- Applied edward's patch to remove boolean increment.
2013-08-27 20:28:38 -04:00
Christoph Oelckers
7a87e08107 - added MF7_ALWAYSTELEFRAG flag that causes an actor to be telefragged by everything that teleports into the same place. 2013-08-13 21:01:14 +02:00
Christoph Oelckers
61c94648dc - added ACS CheckFlag function. 2013-08-12 22:38:52 +02:00
Christoph Oelckers
aa03609b69 - added IF_TOSSED inventory flag. 2013-08-12 21:00:23 +02:00
Christoph Oelckers
be1a00c537 Merge branch 'maint' 2013-08-12 20:42:21 +02:00
Christoph Oelckers
e14590d8ce - moved NOTELESTOMP to flags7. When committing I was accidentally on maint instead of master and in master flags6 was already full. 2013-08-12 20:41:33 +02:00
Christoph Oelckers
44a1b94ad9 - added MF6_NOTELESTOMP flag that prevents an actor from telefragging under all possible circumstances. 2013-08-12 20:23:54 +02:00
Christoph Oelckers
f2c250d35d - flags7 variable added to AActor. 2013-08-12 20:09:21 +02:00
Christoph Oelckers
2bcc5cd7cc Merge branch 'maint' 2013-08-12 09:14:18 +02:00
Christoph Oelckers
ecfe67dd78 - removed weirdness from Powerup.Strength property that was specifically tailored to its use on PowerInvisibility and made its use problematic elsewhere. 2013-08-12 09:13:55 +02:00
Christoph Oelckers
fabf8272e6 Merge branch 'maint' 2013-08-11 21:04:17 +02:00
Christoph Oelckers
c0174ea7cd - Added A_DropItem for DECORATE. 2013-08-11 20:48:08 +02:00
Christoph Oelckers
c8f0df44f2 Merge branch 'maint'
Conflicts:
	src/am_map.cpp
2013-08-10 09:41:50 +02:00
Christoph Oelckers
25ec3fb8fe - added MF6_RELATIVETOFLOOR flag. 2013-08-10 09:32:55 +02:00
Christoph Oelckers
211d293002 - added MF6_NOTONAUTOMAP flag to exclude things from being shown with the scanner powerup. The IDDT cheat will not be affected by this. 2013-08-10 08:53:37 +02:00
Christoph Oelckers
9c12c03684 Merge branch 'maint' 2013-08-09 20:36:08 +02:00
Christoph Oelckers
a78ad3188b - added MF5_NOFORWARDFALL flag to prevent attacks from making its victim fall forward randomly. 2013-08-09 20:20:23 +02:00
Christoph Oelckers
21bce3b0c4 Merge branch 'maint' 2013-08-09 12:51:26 +02:00
Christoph Oelckers
34b71baad1 - added Player.Aircapacity property which is used as a multiplier for the level's air supply. 2013-08-09 11:57:14 +02:00
Edoardo Prezioso
0dc70f847c - Be more compatible with C++11 narrowing conversions system. 2013-07-31 12:27:54 +02:00
Edoardo Prezioso
8cab8f180b - Be clear about the safe 'memset/memcpy' operations on virtual classes.
Since I remember that 'memset/memcpy' is safe in this code, it should be okay to cast to the generic pointer all the 'virtual class' arguments before calling the above functions. Shuts up Clang warnings.
2013-07-31 12:23:31 +02:00
Christoph Oelckers
cbc0b70e7c - TransferStencilColor A_SpawnItemEx patch / by Ryan Cordell. 2013-07-24 20:15:17 +02:00
Christoph Oelckers
f3d8790995 Merge branch 'maint' of https://github.com/rheit/zdoom into maint 2013-07-22 22:54:45 +02:00
Christoph Oelckers
83bd8ba1b8 - added NeuralStunner's player.userange submission, but changed it to use the value directly from the PlayerPawn data.
- bumped savegame version for addition of APlayerPawn::userange.
2013-07-22 22:37:50 +02:00
Christoph Oelckers
a90b49dc72 - added string table replacement for A_Print, A_PrintBold and A_Log. 2013-07-14 14:33:45 +02:00
Christoph Oelckers
94a3d92f93 Merge branch 'maint' 2013-06-24 16:49:51 +02:00
Christoph Oelckers
394f21f71e - fixed: Draining health from a victim must check for damage reduction before awarding the health to the player. This affected Heretic's gauntlets, A_Saw and A_CustomPunch.
- added a DONTDRAIN flag that prevents the above attacks from draining any health at all.
2013-06-24 16:42:43 +02:00
Christoph Oelckers
7d56311152 - added Ryan Cordell's A_CheckRange submission. 2013-06-23 18:45:17 +02:00
Randy Heit
2d13a45773 - Added read access to an actor's melee range from DECORATE and ACS, via Blue Shadow.
SVN r4305 (trunk)
2013-06-01 02:23:27 +00:00
Christoph Oelckers
9e3c6a3cc7 - fixed parameter type for Floatbobphase property.
SVN r4300 (trunk)
2013-05-31 18:10:41 +00:00
Christoph Oelckers
ad12be4877 - fixed inappropriate type for FloatBobPhase property.
SVN r4299 (trunk)
2013-05-30 21:10:54 +00:00
Christoph Oelckers
a7c2346b32 - added a FloatBobPhase property for DECORATE. Now, if FloatBobPhase is anything but -1 it will be used directly as the initial phase, allowing to define actors that bob in sync. The allowed range of phases is 0 - 63. The main reason for this is that each actor spawn called the pr_spawnmobj RNG just to randomize this value which causes problems with non-interactive actors, in particular GZDoom's dynamic lights.
SVN r4296 (trunk)
2013-05-30 08:52:29 +00:00
Randy Heit
504496278b - Fixed: FxBinaryInts that needed to cast the right-side parameter to an int resolved the left
side instead.

SVN r4265 (trunk)
2013-05-13 02:55:48 +00:00
Randy Heit
894c4198b0 - Fixed possible NULL pointer deref in A_FireBullets
SVN r4263 (trunk)
2013-05-13 02:27:39 +00:00
Randy Heit
c63273348a - Fixed possible NULL pointer deref in A_CustomPunch
SVN r4255 (trunk)
2013-05-12 18:31:36 +00:00
Randy Heit
2668988870 - Switched to a genericly extensible representation for userinfo.
- Fixed: The playerinfo CCMD did not range check the player number.

SVN r4253 (trunk)
2013-05-12 18:27:03 +00:00