Christoph Oelckers
05e8a6c62d
- scriptified A_RailAttack.
2019-04-15 21:58:35 +02:00
Christoph Oelckers
5f5410e35f
- fixed: Since out types cannot be marked as such in a function prototype (as it'd cause parameter mismatches in the resolving pass) it is necessary to check the argflags as well when determining the register type.
2019-04-15 21:56:26 +02:00
Christoph Oelckers
9d126954d1
- removed the default parameter handling from all native script functions because it is no longer needed.
...
# Conflicts:
# src/p_actionfunctions.cpp
# Conflicts:
# src/hwrenderer/postprocessing/hw_postprocessshader.cpp
# src/v_2ddrawer.cpp
2019-04-15 14:59:00 +02:00
Player701
d72d820bba
- Exported AActor::Grind to ZScript.
2018-11-30 10:18:43 +01:00
Cacodemon345
0f2a4abe8f
BOUNCEONUNRIPPABLES flag; makes actors bounce on actors with DONTRIP flag
2018-11-16 21:33:12 +01:00
Player701
e00db66432
- Fixed: Decal generator should be taken from the current weapon instance instead of the default instance.
2018-11-16 20:40:05 +01:00
Christoph Oelckers
709a573355
- clear spechit before leaving P_CheckPosition.
...
Otherwise this may contain residual data from the last call.
One can only hope that this doesn't cause other side effects - this entire code is one horrendous mess of bad ideas.
2018-11-10 11:19:25 +01:00
ZZYZX
89bdd1adf0
Explode bouncing projectiles if hit damageable geometry
2018-11-07 11:00:06 +01:00
ZZYZX
b581648d6f
Destructible geometry - minor fixes and 3D floor support
2018-11-07 11:00:05 +01:00
Cacodemon345
57e51debec
Extend SKYEXPLODE flag for LineAttack
2018-11-03 21:52:25 +01:00
Cacodemon345
341105a15f
Fix bounce state not entering when hit from top.
2018-11-02 13:06:48 +01:00
ZZYZX
82a2bf3ac5
Single commit - destructible geometry feature
...
# Conflicts:
# src/p_setup.cpp
2018-11-01 21:02:25 +01:00
Major Cooke
78d4a87cd1
Added DMG_EXPLOSION flag.
...
- This allows modders to determine if damage is caused by an actual explosion, assigned by P_RadiusAttack and BlastActor for +TOUCHY actors.
2018-09-15 20:41:17 +02:00
Major Cooke
3d52b093a5
Allow LineAttack's LAF_NOINTERACT to fill FTranslatedLineTarget's information.
...
- Originally when the flag was made, LineAttack was not yet exported. This can now be benefitted directly from ZScript.
2018-09-15 20:41:16 +02:00
Christoph Oelckers
0fd1909f2c
- got rid of FNameNoInit and made the default constructor of FName non-initializing.
...
This setup has been a constant source of problems so now I reviewed all uses of FName to make sure that everything that needs to be initialized is done manually.
This also merges the player_t constructor into the class definition as default values.
2018-08-19 10:36:10 +02:00
Marisa Kirisame
8eaa0b17c6
Added missing check for HITOWNER on bouncers with 0 damage.
2018-08-18 00:52:37 +02:00
Marisa Kirisame
d8df6a7e6d
Add HITOWNER flag, when set, allows a projectile to collide with its shooter.
2018-08-18 00:52:36 +02:00
Marisa Kirisame
1689203e35
Additional blocking-related flags for Actor.LineTrace()
2018-08-05 19:48:58 +02:00
Christoph Oelckers
a8c0e67b21
- fixed autoaiming for unranged attacks.
...
The abort condition for the extended checks must completely stop any further processing but the check for this was missing.
(cherry picked from commit 60b6dbadb2
)
2018-06-05 21:16:58 +02:00
Marisa Kirisame
74f4c8a6dd
BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines
...
(cherry picked from commit fae514f30d
)
2018-06-05 00:04:22 +02:00
Christoph Oelckers
f6f25354d7
- fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
...
This is necessary to be in line with P_LineAttack which does check for those.
(cherry picked from commit a851a5d151
)
2018-06-03 20:00:20 +02:00
alexey.lysiuk
a545e7de35
- added end line to various messages
...
so they don't screw up further output anymore
(cherry picked from commit f17f8c9359
)
# Conflicts:
# src/gl/compatibility/gl_swshader20.cpp
2018-05-12 11:49:10 +02:00
Christoph Oelckers
7b822807de
- renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
...
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.
(cherry picked from commit 9bdb0f2e49
)
2018-05-10 19:49:02 +02:00
Marisa Kirisame
19b701728d
Typo fix in linetrace flags checking.
2018-03-26 22:00:17 +02:00
Marisa Kirisame
069c5aa90a
Fix accidentally removed SectorPlane assignment. Added missing HitVector support.
2018-03-03 09:30:06 +01:00
Marisa Kirisame
bc4a8190bf
Fix incorrect HitTexture reassignment in LineTrace.
2018-03-03 09:30:06 +01:00
Christoph Oelckers
910a3062c7
- fixed some problems with the stepping up through a portal logic:
...
* this has to be disabled for missiles which should explode instead of stepping up.
* interpolation adjustment was not correct
* it could crash because the target portal group could be retrieved from a non-portal sector.
2018-02-28 10:12:10 +01:00
alexey.lysiuk
a3236aa7ef
Set target for blood actor with PUFFGETSOWNER flag spawned by crusher
...
https://forum.zdoom.org/viewtopic.php?t=59447
2018-02-19 16:57:52 +02:00
alexey.lysiuk
47b276024e
Fixed compilation warnings reported by MSVC
...
src\p_map.cpp(4857): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\p_map.cpp(4858): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
2018-01-22 12:29:16 +02:00
Marisa Kirisame
15e7d9daba
Gave the user data struct for CheckLineTrace a more unique name to avoid confusion with FLineTraceData
2018-01-21 10:54:02 +01:00
Marisa Kirisame
69e8c9ec6e
A more "general purpose" line trace function. Far from a complete ZScript interface with Trace(), though.
2018-01-21 10:54:02 +01:00
Major Cooke
d5d393aaf2
- Added GetRadiusDamage. Returns the raw calculated explosion damage falloff by distance only.
...
- Split off both explosion damage calculations into P_Get(Old)RadiusDamage functions for ease of maintenance.
2018-01-20 18:45:01 +02:00
alexey.lysiuk
549a9d3cf0
Extended Actor.CheckMove() with optional position information
...
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-03 10:48:10 +02:00
alexey.lysiuk
c4648a2b1c
Added CheckMove() function to ZScript Actor class
...
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-02 13:04:28 +02:00
alexey.lysiuk
40fd816d54
Improved compatibility of blocking lines handling
...
Only the first blocking line changes contact state during line iteration
This reverts 3b818171d5
https://forum.zdoom.org/viewtopic.php?t=57870
2017-12-31 11:34:12 +02:00
Major Cooke
d422392b94
Extended LineAttack() with offsets and new flags
...
Added forward and side offsets for LineAttack() function
Added absolute offset and absolute position flags for LineAttack() function
2017-11-07 11:02:54 +02:00
Christoph Oelckers
2a291165ee
- fixed: For original Hexen, executing a death special should not clear it. This addresses the bell in HexDD's Badlands being rung before it is ready to use. This also removes the redundant special handling in the ZBell actor.
2017-09-02 09:16:26 +02:00
Christoph Oelckers
485c4c71b5
- fixed: When stepping through a sector portal and touching a two sided line on the opposite side, its opening must be used, regardless of the FFCF_NOFLOOR flag.
2017-08-27 10:36:34 +02:00
Christoph Oelckers
3b818171d5
- do not let P_AdjustFloorCeil use the return from P_CheckPosition if floorz is greater than ceilingz.
...
This can only happen if some thing gets placed somewhere it doesn't physically fit in and as a result of the floor move would be pushed into an even more invalid place.
See https://forum.zdoom.org/viewtopic.php?f=2&t=56764
2017-06-05 12:20:59 +02:00
Major Cooke
bb1e927c46
Give the parameter a better name to associate by.
2017-05-17 23:03:22 +02:00
Major Cooke
65f13b0927
- Added a Z offsetting parameter to the ZScript LineAttack function.
...
- Added LAF_OVERRIDEZ flag to LineAttack. Disregards all internal offsetting aside the actor's Z position before adding the offset parameter.
2017-05-17 23:03:22 +02:00
Christoph Oelckers
8a91153aeb
- Why does the Visual Studio editor hate tildes so much...?
2017-05-14 12:36:13 +02:00
Christoph Oelckers
1767dd6a42
- fixed: A_CheckBlock performed item pickup checks which could be done in completely inappropriate spots if this function was used from weapon overlays, for example.
2017-05-14 11:55:32 +02:00
Christoph Oelckers
96d328de9b
- removed all Doom Source license and all default Raven copyright headers and replaced them with GPLv3. Also fixed the license in a few other files.
...
For some files that had the Doom Source license attached but saw heavy external contributions over the years I added a special note to license all original ZDoom code under BSD.
2017-04-17 13:33:19 +02:00
Christoph Oelckers
6599e2c425
- moved the VM types into their own file and only include it where really needed.
2017-04-13 01:12:04 +02:00
Christoph Oelckers
ef77cbd295
- stop using the ATAGs for checking pointer types in asserts.
...
This is an incredibly costly way to do a debug check as it infests the entire VM design from top to bottom. These tags are basically useless for anything else but validating object pointers being passed to native functions (i.e. mismatches between definition and declaration) and that simply does not justify a feature that costs execution time in non-debug builds and added memory overhead everywhere.
Note that this commit does not remove the tags, it only discontinues their use.
2017-04-10 15:18:31 +02:00
Christoph Oelckers
dd8963142f
- fixed: P_RailAttack must send DMG_PLAYERATTACK if the attack originates from a player.
2017-03-14 11:13:52 +01:00
Christoph Oelckers
bd7476fb8d
- untangled r_defs.h from actor.h
...
Both files can now be included independently without causing problems.
This also required moving some inline functions into separate files and splitting off the GC definitions from dobject.h to ensure that r_defs does not need to pull in any part of the object hierarchy.
2017-03-10 02:22:42 +01:00
Christoph Oelckers
ad41b23506
- replaced the homegrown integer types in all p* sources and headers.
2017-03-08 18:55:52 +01:00
Christoph Oelckers
00dc59ebdc
- separated the blood translation index from the BloodColor variable to allow more than 255 blood translations and as a prerequisite for allowing to change the blood color.
2017-03-02 10:26:23 +01:00