Boondorl
96594e0f34
Updated explosion distances from int -> double
2024-03-28 15:48:35 -04:00
Christoph Oelckers
520b960ca5
Reverted the path node system
...
Code reviews were unfavorable so better nix it before it finds wider use.
2024-03-15 20:24:39 +01:00
Major Cooke
05167fd4ef
Missed this one.
2024-03-05 13:44:38 -05:00
Major Cooke
d71af3683a
Clear the path instead of advancing the node when crossing portals.
...
- If an actor crosses back over a portal because they're blocked, it will result in false positives.
- Fixed nodes not being targeted for aim direction.
2024-03-05 13:44:38 -05:00
Major Cooke
81ebd8c8c4
More progress.
...
- AMBUSH flag on nodes makes them blind and untargetable when getting `startnode` and `goalnode` for `FindPath()`. This is useful for indicating a node should be skipped when tele/portaling, so the current path can be preserved.
- Setup is simple: place nodes behind lines that tele/portal entities and mark them as AMBUSH.
Other changes:
- Restored global array since blockmap is not a viable option here.
- Added MAPINFO `pathing` flag which enables pathing by default.
- Added NOPATHING flag to disable pathing entirely, useful for maps that have pathing enabled.
- Added `ReachedNode(Actor mo)` virtual, responsible for handling node traversal.
- Nodes now make use of MeleeRange to limit their sight checking functions.
2024-03-05 13:44:38 -05:00
Boondorl
b469770ecc
Reworked view offsetting
...
View offsets are now added after the base position and angles (accounting for interpolation) are calculated. Behavior was centralized into a singular tracer that all view offsets now use to prevent clipping out of the map. Cleaned up camera rendering behavior. Angles are now properly normalized after all offsetting is accounted for. The chase cam can now update in real-time instead of forcing interpolation.
2024-03-01 07:10:26 -05:00
Boondorl
4d1590ad82
Fixed view position forcing camera interpolation
...
Fixed absolute view position not working. Camera Actor is no longer visible when using view offsets.
2024-02-26 06:47:05 +01:00
Major Cooke
f647545c1d
Disabled player sprites when crossing through portals.
2024-01-04 07:23:24 -05:00
Boondorl
cf7654bb5a
Added Z collision detection
2024-01-04 07:17:13 -05:00
Boondorl
fc6191deb9
Added CollidedWith
...
Guarantees a collision happened unlike CanCollideWith. Called in TryMove so it only calls when an actual movement was attempted and not just a potential positional check.
2024-01-04 07:17:13 -05:00
Christoph Oelckers
8c5eb2c807
use FTranslationID in all places where strict type checking is needed.
...
This means all properties in serializable classes now use this wrapper type. The backend hasn't been changed yet
2023-11-09 23:04:10 +01:00
Christoph Oelckers
61c2f5f8c0
Revert "When compat_floormove is enabled prevent sector floor from lowering if a thing is stuck in the ceiling (vanilla behavior)"
...
This reverts commit 4ad76f549e .
This broke several maps so the implementation is obviously not correct.
2023-10-31 08:05:36 +01:00
Christoph Oelckers
89535b803a
Backend update from Raze.
2023-10-07 18:42:24 +02:00
Nikolay Ambartsumov
4ad76f549e
When compat_floormove is enabled prevent sector floor from lowering if a thing is stuck in the ceiling (vanilla behavior)
2023-09-14 20:06:51 +02:00
Boondorl
5a74e79b92
Added bounce virtual
2023-08-02 00:42:06 -04:00
Boondorl
239a288a9a
Exported reflection functionality
...
Localized reflection code to a single function. Fixed an error where NOSHIELDREFLECT was being checked on the wrong Actor. Fixed an oversight where MIRRORREFLECT was checking for valid target despite not needing one.
2023-08-02 00:40:01 -04:00
inkoalawetrust
814c6f2188
Added MF9_SHADOWAIMVERT.
...
This flag causes the vertical aiming of monsters to also be affected when they aim at shadow actors.
2023-08-02 00:39:35 -04:00
inkoalawetrust
194f73a94b
Added (XF/RADF)_CIRCULAR.
...
This flag makes explosions use a spherical radius, instead of a cubic one. Only took almost 30 years.
2023-08-02 00:37:58 -04:00
inkoalawetrust
ca1f3ac580
Added (XF/RADF)_NOALLIES.
...
This flag allows explosions to not harm any actors that are friendly to its' source.
2023-08-02 00:37:58 -04:00
inkoalawetrust
6489b05db9
Added (XF/RADF)_THRUSTLESS.
...
This flag allows for explosions that do not thrust any of the actors caught in the blast.
2023-08-02 00:37:58 -04:00
Christoph Oelckers
cffe67dcee
- fixed a few warnings pointed out by GCC.
2023-03-26 10:35:33 +02:00
Rachael Alexanderson
cb3662dc24
- fix nullptr crash
2023-01-11 13:33:02 -05:00
Boondorl
769796800d
Minor tweaks to no player clipping
2023-01-09 12:31:08 -05:00
Rachael Alexanderson
af0f84183a
- fix a few errors in last commit
2023-01-09 12:02:41 -05:00
Rachael Alexanderson
5aba0c144c
- optimize P_ShouldPassThroughPlayer checks - move down in the check list, move thing->player check out of the function
2023-01-09 11:53:24 -05:00
Rachael Alexanderson
9777cfd500
- change P_ShouldPassThroughPlayer to static inline to improve performance on repeated calls
2023-01-08 22:12:37 -05:00
nashmuhandes
2fa2533982
- enable DM support for sv_noplayerclip
...
- fixed voodoo dolls with sv_noplayerclip
- fixed autoaim working incorrectly with sv_noplayerclip
2023-01-08 22:55:10 +08:00
nashmuhandes
3d6cc47dc1
Add sv_noplayerclip to allow players to walk through and shoot each other (only in coop)
2023-01-08 19:10:49 +08:00
Christoph Oelckers
b89c4affae
- removed the string assignment operators.
...
These all caught literal 0's as well
2022-11-24 23:52:52 +01:00
Christoph Oelckers
160633a4a2
- migrate a large part of the sound code to FSoundIDs.
...
This has always been a wild mixture of IDs and ints.
2022-11-24 23:52:52 +01:00
UnizoneDev
b66433478c
Simplify sliding objects for now
2022-11-13 07:38:07 +01:00
UnizoneDev
9af664d117
Add PushSound property and Slide state
...
First Commit, hip hip hooray!
2022-11-13 07:38:07 +01:00
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