Christoph Oelckers
4032576519
- blocked off direct access to TAngle’s internal storage.
2022-08-26 18:09:29 +02:00
Christoph Oelckers
3d2578820b
- block direct comparisons of TAngle with floats
2022-08-26 18:01:52 +02:00
Christoph Oelckers
f0fbdba593
- disable implicit conversions from float to TAngle
2022-08-26 18:01:26 +02:00
Kevin Caccamo
ffd8b5ed5a
Address Graf's comment
2022-07-15 07:43:57 +02:00
Kevin Caccamo
a89d32c850
Attempt to fix #1654
2022-07-15 07:43:57 +02:00
Christoph Oelckers
de4627a477
- added an override for NOTAUTOAIMED flag when using P_AimLineAttack for informative CCMDs.
...
The flag is explicitly blocked for script use.
2022-06-16 10:07:22 +02:00
Major Cooke
748156c846
Optimized CanCrossLine.
...
- Remove P_PointOnLineSide check
- Made CanCrossLine opt-in by requiring the CROSSLINECHECK flag.
2022-05-31 10:46:06 +02:00
Major Cooke
5afd14fd4d
Added a vector to CanCrossLine to indicate the next position the actor will be in if the move succeeds.
2022-05-31 10:46:06 +02:00
Major Cooke
b5b2dd0903
Added CanCrossLine virtual for actors.
...
- Called last after all other line checks occur. Returning false means the actor cannot cross that line.
2022-05-31 10:46:06 +02:00
Christoph Oelckers
e7f78ce911
- handle cases of empty state labels in ZScript.
...
Sadly this cannot print a full error message because it got no context for it when it is detected.
2022-04-15 22:25:04 +02:00
Christoph Oelckers
27cba4c990
- implement proper GC handling for AActor::ViewPos.
2022-04-02 07:52:50 +02:00
Rachael Alexanderson
36629d2f80
- revert the previous two commits for now - needs further optimization and testing
2022-02-23 06:00:14 -05:00
Major Cooke
992141d8e3
Added a vector to CanCrossLine to indicate the next position the actor will be in if the move succeeds.
2022-02-23 05:20:09 -05:00
Major Cooke
bb862098ea
Added CanCrossLine virtual for actors.
...
- Called last after all other line checks occur. Returning false means the actor cannot cross that line.
2022-02-23 05:20:09 -05:00
Major Cooke
6432e4f6a8
Optimized P_TestMobjZ by not running the iterator if actor
also has THRUACTORS.
2022-01-24 12:17:52 -05:00
Major Cooke
046799db68
Removed all attempts to stop the sprite from appearing in portals. This may likely require a fundamental breakdown of the system itself in order to address the problem.
2022-01-24 12:00:33 -05:00
Major Cooke
4e8d59951b
Added A_SetViewPos(Vector3 Offset, int Flags = -1)
...
- Offset: The offset from the actor's view to move the camera about.
- Flags: (Default is -1, which means don't change flags)
- VPSF_ABSOLUTEOFFSET: Don't include actor angles in calculation.
- VPSF_ABSOLUTEPOS: Position is absolute, and disables all transformations. Modders are responsible for being portal aware!
Notes:
- `ViewPos` in Actor will be `null` until A_SetViewPos is called for the first time.
**Issues:**
- Hiding sprite while in portal incomplete.
2022-01-24 12:00:33 -05:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00
Christoph Oelckers
1d0aed219e
- replaced MIN/MAX in all non-common code.
2021-10-30 10:16:52 +02:00
Christoph Oelckers
9082ef7d49
- MBF21: more work on flags.
...
* added handlers for the missing upper flags in the first flag word.
* refactored some code related to MF_BOUNCES to adapt to other flags' changes to avoid constant property updates for too many flags.
* treat anything with RF_ZDOOMTRANS as non-translucent for the purpose of the flag checks.
2021-07-02 19:48:58 +02:00
Christoph Oelckers
9b3782ea0f
- MBF21: remaining actor properties.
2021-06-29 22:32:38 +02:00
Christoph Oelckers
0bb5ec0d22
- MBF21: splash group.
2021-06-29 17:47:52 +02:00
Christoph Oelckers
cc801a7efa
- MBF21: added projectile group.
2021-06-29 17:33:16 +02:00
Christoph Oelckers
c4ed0cefde
- MBF21: implemented new line flags.
...
While 'block players' was just a simple remap, 'block land monsters' required quite a bit of work...
This also fixes the bug that BLOCK_FLOATERS was never checked for sliding against a wall.
2021-06-28 20:17:08 +02:00
Cacodemon345
9a860ae445
Account for portals when spawning missiles in A_FireBullets/A_CustomBulletAttack
...
This also gives the caller the information whether the LineAttack
hitscan passed through a portal regardless of whether it actually hit an
actor or not as a nice bonus.
2021-05-20 19:42:29 +02:00
Cacodemon345
b5f80bb69c
Hitscan attacks can now hit SPECTRAL actors if the hitscan puff has SPECTRAL flag set
2021-02-02 03:33:23 -05:00
Marisa Kirisame
c933d02034
Linetrace properly reports 3D line hits as "middle" part ( #1228 )
...
* Linetrace properly reports 3D line hits as "middle" part, as was intended.
* Typo fix
2020-10-26 04:24:04 -04:00
Major Cooke
e3d21d09c9
Renamed flag to ALLOWTHRUBITS and rearranged the checks so the flag comes after.
...
- Since most will have 0 for the property, this will not check for the flag unless the mask fits.
2020-10-25 15:37:15 +01:00
Major Cooke
85a121ad28
ThruBits is now opt-in for convenience with the +THRUBITS flag.
2020-10-25 15:37:15 +01:00
Nikolay Ambartsumov
628d23a688
Fix crossing multiple lineportals on same tic
2020-10-19 08:21:08 +02:00
Major Cooke
60f0d35477
Added ThruBits.
2020-10-17 09:51:24 +02:00
Nikolay Ambartsumov
a72fdd7e3e
Add MaxSlopeSteepness actor property
2020-10-03 07:53:55 +02:00
Major Cooke
200104777b
Call SpecialMissileHit directly with zero damaging missiles last to ensure the function is actually triggered.
2020-09-27 14:03:02 +02:00
makise-homura
5720a54da4
Add species parameter to A_RadiusThrust
...
This is the last parameter for A_RadiusThrust() DECORATE function.
If it is omitted or none, then A_RadiusThrust will behave as usual.
If it is set for some species name, it witt thrust only that species.
Of course, these species should be +VULNERABLE to be thrustable.
2020-09-27 13:58:22 +02:00
Christoph Oelckers
2ffb447f9e
- let non-solid teleporting actors not actually telefrag.
...
Since they are non-solid they may just be allowed to teleport, even when a monster or player is in the way.
2020-09-26 18:46:39 +02:00
MajorCooke
4cbcb84dc9
Optimized P_CheckPosition. ( #1161 )
...
- If the actor passed into the function has THRUACTORS, PIT_CheckThing won't be called anymore.
- Moved THRUACTORS check to just under the self clipping check in PIT_CheckThing.
2020-08-27 12:37:39 -04:00
MajorCooke
7e4a996cd4
P_BounceActor now calls SpecialMissileHit before any other bouncing effects are processed. Return values are as such: ( #1156 )
...
- 1: The missile will continue moving through the actor, and it's down to the modder to handle bouncing.
- 0: The missile will explode.
- Any other value will process a bouncing actor as normally done in the engine.
2020-08-14 02:01:32 -04:00
Marisa Kirisame
e81641dd01
Hotfix: LineTrace now reports the correct number of portal crossings.
2020-06-07 15:04:44 +02:00
Rachael Alexanderson
192882f63a
Merge branch 'master' of https://github.com/coelckers/gzdoom into texture_rework
2020-05-07 04:32:46 -04:00
Cacodemon345
4b4ff8dd0e
Fix bouncing missiles not dealing damage when hitting top/bottom ( #1068 )
...
* Fix bouncing missiles not dealing damage when hitting top/bottom
2020-04-30 08:55:09 +02:00
Christoph Oelckers
67a50d084a
- started cleanup of model code.
...
* refactored FBoundingBox so that the game dependent members are global functions now.
* changed some methods of the model renderer to take a render style parameter instead of a full actor.
2020-04-27 00:03:23 +02:00
nashmuhandes
8facd5f3f3
Colorize opaque decals using the bleeding actor's blood color, if the 'Shaded' keyword is omitted from the DECALDEF.
2020-03-23 12:50:17 +01:00
Major Cooke
5425aa979d
- Fixed: Invulnerability checking for rails was done before the various THRU actor flags instead of after, meaning actors could block shots regardless of those flags. This was never intended.
2019-12-30 08:37:08 +01:00
Major Cooke
0b0984b88e
Added STOPRAILS actor flag.
...
- An actor with this flag will prevent railgun shots from penetrating further.
2019-12-30 08:37:08 +01:00
Christoph Oelckers
e82565373f
- separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
...
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
alexey.lysiuk
4c7c1138aa
- adjusted collision detection for item pickups
...
Use vanilla condition for a thing with MF_SPECIAL flag to fix inability to grab it when item's top is at the same height as sector's floor from it can be picked up
https://forum.zdoom.org/viewtopic.php?t=60181&start=88#p1122935
2019-10-31 12:07:50 +01:00
alexey.lysiuk
ae2f7dd892
- fixed radius attack that may inflict damage twice
...
https://forum.zdoom.org/viewtopic.php?t=66191
2019-10-27 09:34:13 +01:00
Marisa Kirisame
2628dabc31
Fix for LineTrace not setting its starting sector based on its offset.
2019-09-15 21:58:25 +02:00
Christoph Oelckers
2a16fb9d28
- moved most remaining playsim code into its proper folder.
2019-07-14 13:59:16 +02:00