Commit graph

4670 commits

Author SHA1 Message Date
Xaser Acheron
a6e1114d3c add mbf21 and mbf21 (strict) compatibility presets 2024-05-02 07:46:34 +02:00
Ricardo Luís Vaz Silva
c03f7889bf restore old fadestep behavior if SPF_NEGATIVE_FADESTEP is not passed in 2024-04-29 04:51:13 -04:00
Boondorl
27eb78f437 Fixed weapon slots not resetting on unmorph
Important for any morphed pawns that set custom weapon slots.
2024-04-28 22:08:52 -03:00
Boondorl
48eb848433 Fixed ViewPos not properly backing up when predicting
Also now forcibly creates the object on players when they spawn so their pointer won't get lost when predicting.
2024-04-28 21:20:20 -03:00
Boondorl
2643a4a167 Fixed desync in Heretic 2024-04-28 21:20:04 -03:00
Christoph Oelckers
a768d6c177 text update 2024-04-27 12:36:10 +02:00
Christoph Oelckers
f7a15bc5f9 added emulation of Final Doom's teleporter z glitch and activate it for Saturnia MAP10 2024-04-27 10:46:29 +02:00
jekyllgrim
861a557d92 Add graycheckVal, expose hud_oldscale/hud_scalefactor to the menu
Add graycheckVal to OptionMenu items
Add menu elements for hud_oldscale and hud_scalefactor to menudef.txt
2024-04-26 21:37:01 -03:00
Boondorl
b43c440552 Added ShouldShareItem virtual
Allows for easier customizing of whether or not an item should be shared with players upon pickup in co-op (e.g. it allows it to be expanded to weapons with custom cvars).
2024-04-26 21:28:47 -03:00
Christoph Oelckers
7c9c7fa1f7 fixed: AActor's members must all be native.
The morph code added 4 scripted ones, but AActor's size must be known at compile time.
2024-04-25 18:15:47 +02:00
Rachael Alexanderson
f6c02d459d
- minor language update 2024-04-21 10:17:58 -04:00
Boondorl
e6df94ca76 Fixed local copies of items not respecting their Amount value 2024-04-21 10:05:46 -04:00
Boondorl
c622c63127 Added PSpriteTick virtual 2024-04-21 04:45:32 -04:00
Boondorl
b0137e50ee Exported FTeam getters 2024-04-21 04:44:54 -04:00
Boondorl
f4a42dae1d Added pistol start gameplay option
Automatically resets the player's inventory and health when changing maps.
2024-04-21 03:21:08 -04:00
Boondorl
8d0d130dc9
New API for assigning unique network ids to objects 2024-04-20 19:14:29 -04:00
Boondorl
5ed4f477ed
Fixed PowerMorph setting wrong Owner
Also sets default flash effects.
2024-04-20 01:15:47 -04:00
Boondorl
bcd6c6170e
Reapply "Improvements to death and cheat handling"
This reverts commit c7bba2a126.
2024-04-20 01:15:46 -04:00
Rachael Alexanderson
7a1342188a
- add cvar cl_restartondeath - bypasses autoloading savegame when pressing +use after dying - added https://github.com/ZDoom/gzdoom/issues/1563 2024-04-18 04:51:38 -04:00
jplebreton
9c01738b86
- add level compatibility fixes for Eternal Doom III 2024-04-18 03:39:11 -04:00
Rachael Alexanderson
c7bba2a126
Revert "Improvements to death and cheat handling"
This reverts commit 3033fafaa7.

Revert "Improved ZScript interface for morphing"

This reverts commit 6c64a4403c.

Revert "Further morphing clean up"

This reverts commit 12dc5c1506.

Revert "Fixed inconsistencies between player and monster morphing"

This reverts commit 30730647fe.

Revert "Reworked Morphing"

This reverts commit 2c09a443b4.

- fix compile
2024-04-17 17:55:24 -04:00
Rachael Alexanderson
5346ec81db
- language update 2024-04-17 16:18:36 -04:00
Rachael Alexanderson
ef10467ff8
- revert changes in backend code which will not sync properly with raze
This is a combination of 2 commits.

Revert "New API for assigning unique network ids to objects"

This reverts commit e37c19b5b4.

 This is the commit message #2:

Revert "Fix for Morph virtual"

This reverts commit 0ef042562e.
2024-04-17 14:48:02 -04:00
jekyllgrim
0055042112 Add ApplyAirControl 2024-04-16 20:37:14 -03:00
Ricardo Luís Vaz Silva
7c93cfa97b Decoupled Animation fixes and improvements
* fixes looping that uses `loopFrame`
* adds `endFrame`
* adds `SAF_NOOVERRIDE`
* fixes crash on SetAnimation if a BaseFrame isn't defined
2024-04-16 20:27:44 -03:00
Boondorl
70a165b566 Fixed local items not copying properties properly
Revert "Fixed local items not copying properties properly"

This reverts commit 5f352df587c629545fafc09e80428e645f5e8df3.

...
2024-04-15 17:55:49 +02:00
Boondorl
29a2ca0b13 Added co-op option to remember last used weapon when respawning 2024-03-28 15:48:56 -04:00
Boondorl
3e939b0ec1 Update quake radii from int -> double
Also enables static portal-aware distance checks as cam view offsets will now properly go through them when shaking
2024-03-28 15:48:45 -04:00
Boondorl
96594e0f34 Updated explosion distances from int -> double 2024-03-28 15:48:35 -04:00
Boondorl
6b7065899d Added interpolation to view position 2024-03-28 15:48:05 -04:00
Ricardo Luís Vaz Silva
caa4728bd4 Export A_DoChase to zscript and make A_Chase a direct native function 2024-03-17 21:02:52 +01: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
nashmuhandes
cafafbe3a0 The default bind was wrong here (supposed to be Pov1, not Pov2. Obviously a typo) 2024-03-13 23:48:56 -03:00
Major Cooke
f081ef1850 Enhanced pathing for floaters
Their checks are now 2D instead of 3D.
2024-03-12 18:09:02 -04:00
nashmuhandes
0d9855cfe7 Expose LandingSpeed to ZScript. This controls the minimum Z velocity from falling down that's needed to "squat" the player's view (defaults to -8). 2024-03-12 18:08:42 -04: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
5abd7e1ebf Comment warning to modders. 2024-03-05 13:44:38 -05:00
Major Cooke
69001ad4f7 Added ExcludeNode virtual for actors to reject certain nodes of choice.
- Changed MeleeRange to FriendlySeeBlocks so it's supported by Doom Builder.
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
Ricardo Luís Vaz Silva
ad52e2cc1e AStar 2024-03-05 13:44:38 -05:00
Major Cooke
b2cb4b0a6d Begin adding PathNodes. 2024-03-05 13:44:38 -05:00
Boondorl
3033fafaa7 Improvements to death and cheat handling
Extra safety to ensure dummy Actor deaths properly emulate a real death and aren't duplicate called. Fixed a crash when using the kill command while set to unmorph on death. Super morphing is now possible while using the morphme cheat if passing the morph class directly. Added a flag to ignore player invulnerability completely when morphing.
2024-03-01 08:35:31 -05:00
Boondorl
6c64a4403c Improved ZScript interface for morphing
Added getter and setter functions for handling whether or not the player fields should be gotten/set. Added MRF_KEEPARMOR flag to prevent stripping armor on morph. Optimized unmorphed Actor by setting it to NoInteraction and removing it from the blockmap and sector lists.
2024-03-01 08:35:31 -05:00
Boondorl
12dc5c1506 Further morphing clean up
Players will now use their Alternative field to check if they're morphed instead of their MorphTics. This makes the current state of morphing more reliable, otherwise setting this to 0 manually without unmorphing could have very odd results. Both monsters and players consider 0 morph time to mean infinite now (previously this only applied to monsters). Player unmorphs no longer die in the case of a failed unmorph on death. Removed inventory swapping on player pointer substitution as it's too messy to do here.
2024-03-01 08:35:31 -05:00
Boondorl
30730647fe Fixed inconsistencies between player and monster morphing
The Tome of Power and Chaos Device will now work on non-players. The STAYMORPHED flag will now work on players.
2024-03-01 08:35:31 -05:00
Boondorl
2c09a443b4 Reworked Morphing
Removed StaticPointerSubstitution in favor of a much safer function that only changes select pointers. As a result the ability to properly modify morphing has been opened back up to ZScript. Many missing virtual callbacks were amended and MorphedDeath has been reworked to only be called back on an actual morphed death. MorphedMonster is no longer required to morph an Actor. CheckUnmorph virtual added that gets called back on morphed Actors. Fixed numerous bugs related to morph behavior.
2024-03-01 08:35:31 -05:00
Boondorl
49cac88c12 Improvements to Network Commands/Buffers
Fixed a memory leak in DNetworkBuffer. Added native function support to FNetworkCommand and DNetworkBuffer. Exposed EndOfStream() for FNetworkCommand.
2024-02-26 06:23:25 -05:00
Boondorl
e37c19b5b4 New API for assigning unique network ids to objects 2024-02-26 06:23:12 -05:00
Ricardo Luís Vaz Silva
d848a57bac Fix readonly for SpecialBounceHit virtual 2024-02-23 07:07:56 +01:00
Kevin Caccamo
6de9d83b81 Allow GZDoom to use custom Doom 1 E4 soundtracks
Attempt to fix #2403 by assigning E4 music to Doom 1 E4 maps, and adding a SNDINFO lump with $musicalias commands, which will use the existing songs if a custom E4 soundtrack isn't available for Doom 1.
2024-02-17 07:24:33 +01:00