Commit graph

342 commits

Author SHA1 Message Date
Christoph Oelckers
8354c4a5c3 Replaced MISSILE(EVEN)MORE with a real property and added related Dehacked options from Crispy Doom.
This also adds proper deprecation messages to the deprecated flags which were missing due to a bad definition macro.
2024-10-03 12:24:16 +02:00
jekyllgrim
1392db2f5b Made DamageSource and bIsPuff readonly 2024-10-01 11:53:11 -03:00
jekyllgrim
83165dccbf Add damagesource 2024-10-01 11:53:11 -03:00
Rachael Alexanderson
18c068fd1f
Revert "- fix some issues with ClearInventory() that sometimes caused script errors"
This reverts commit 41c69736b1.

This introduced more bugs and so the fix was not valid.
2024-09-30 03:28:15 -04:00
Rachael Alexanderson
41c69736b1
- fix some issues with ClearInventory() that sometimes caused script errors 2024-09-30 01:52:51 -04:00
Jon Heard
4c27b55eb9 SetSkin and GetSkinCount added to PlayerInfo class 2024-09-29 18:14:52 -04:00
RaveYard
a4c98d8dd9 Add RADF_CIRCULARTHRUST and matching XF_/RTF_ flags 2024-09-29 17:56:41 -04:00
jekyllgrim
994078feae Added FloatBobFactor
This adds a new actor property: `FloatBobFactor` (default 1.0). This will be a multiplier for level.time in `AActor::GetBobOffset`, which finally allows to control not only the range of float bobbing (which is FloatBobStrength) but also the frequency of bobbing.
2024-09-29 16:08:02 -04:00
Boondorl
8c10ac6f38 Added GetDecalName() 2024-09-24 23:38:43 -04:00
jekyllgrim
4d18380956 Made itemcls optional
And removed the invalid character on line 710
2024-08-17 15:17:19 -03:00
jekyllgrim
108ad7736a Added itemcls to HasReceived
CallTryPickup will cache the item's class and pass it to HasReceived, so the latter will know what item was received even if the item has been destroyed by the time it's called.
2024-08-17 15:17:19 -03:00
Boondorl
1b20c92ca5 Fixed counters not clearing when using shared/local pickups 2024-08-17 10:12:34 -04:00
Boondorl
0d43272c8f Allow for Basic and Hexen armor replacing 2024-08-17 01:14:07 -04:00
nashmuhandes
8043370ef1 Export PlayDiveOrSurfaceSounds to ZScript and made it virtual for mods to customize the diving and surfacing sounds 2024-08-11 14:34:53 -04:00
dileepvr
95b264bdb6
Isometric Mode and Robin (#2618)
* Feature-complete isometric mode fork.

* Dithered transparency condition tweaks.

* Dithered transparency for non-corpse monsters only (and missiles).

* SpectatorCamera vertical shift.

* Including math.h in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in r_utility.cpp also to keep visual studio happy.

* retrigger checks

* Have correct sprite angle-frame face the camera with orthographic projection enabled.

* Dithered Transparency now works properly on 3D floors. Moved that dither-trans flag setting code within hw_bsp.cpp to handle double-processing of linedefs. Added helper functions to FRenderViewpoint class 'bool IsOrtho()' and 'bool IsAllowedOoB()' to clean up checks everywhere in the code.

* Fixed indents. Added bbox property to subsector struct and use it instead of BSP nodes and Clippers (creating a bbox around viewpoint and checking for overlap) in orthographic mode when no fog of war is active. Turns out to be much faster. Though you need really big maps (Winter's Fury MAP01) to see a difference in fps.

* Non-linux checks don't like uint. Changed to unsigned int.

* Small change of a float to camera.zs. Ignore for testing. Should make no difference.

* Update actor.h to remain mergeable

RF2_NOMIPMAP was introduced, so I had to displace RF_ISOMETRICSPRITES to next bit.
2024-08-11 10:04:40 -04:00
Xaser Acheron
01e7859e1f fix MBF21 A_RadiusDamage crash/broken 'distance' arg 2024-08-09 14:32:35 -03:00
Major Cooke
3e91d38582 Fixed Pre(Un)Morph being called out of order.
- This had broken several mods that relied on the inventory being in place before the switch, which was the intended way to begin with.
2024-06-24 10:37:12 -04:00
Ricardo Luís Vaz Silva
c693e3b073 Fix A_SetAnimation 2024-06-05 19:43:25 -03:00
nashmuhandes
ae28eeae94 Scriptified the view squatting. 2024-05-26 21:06:20 -03:00
Boondorl
ab20b75c14 Added missing player retranslation
Play-scoped team changing function.
2024-05-26 20:31:50 -03:00
Boondorl
53270f0bc8 Added ChangeTeam function for teamplay
Also removes the TeamLibrary global since all it did was call what should've been static functions.
2024-05-26 20:31:50 -03:00
Boondorl
3d6e508d67 Network messages will now show usernames instead of just numbers
Gives more useful feedback as it's not obvious which node belongs to who.

Added line breaks to network messages for cases where a large amount of players are desynced.
2024-05-26 20:29:23 -03:00
Boondorl
4c191f4bf5 Inventory item spawn fixes
Default player items and shared items are no longer capable of being duplicated regardless of item flags. Shared items now give a true copy of the item. Fixed incorrect effects playing from item copies. Dropped items can no longer be shared.
2024-05-26 20:29:14 -03: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
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
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
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
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
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
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
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
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