Commit graph

154 commits

Author SHA1 Message Date
nashmuhandes
58ddcd4806 Merge commit '6b5be653dc' 2024-10-06 21:29:38 +08:00
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
70ec8ce711 Fixed MF9_ISPUFF overlapping with MF9_NOSECTORDAMAGE 2024-10-01 11:53:11 -03:00
jekyllgrim
83165dccbf Add damagesource 2024-10-01 11:53:11 -03:00
jekyllgrim
f13bc09840 Add bIsPuff flag 2024-10-01 11:53:11 -03:00
inkoalawetrust
391f496512 Added SECMF_HURTMONSTERS, SECMF_HARMINAIR and NOSECTORDAMAGE.
- Added SECMF_HURTMONSTERS, which allows monsters in the flagged sector to be hurt with the same behavior as players (i.e damage leaking).
- Added SECMF_HARMINAIR, which allows players (And monsters with SECMF_HURTMONSTERS) to be hurt when they're inside the sector in general, instead of only when they're walking on it. Replicates the behavior of the DAMAGE_IN_AIR flag that SectorDamage() uses.
- Added NOSECTORDAMAGE, which makes actors with the flag immune to any harmful floors.
2024-09-29 18:12:30 -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
nashmuhandes
1fae4b9d4a Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-09-24 15:31:08 +08:00
Ricardo Luís Vaz Silva
1429e22441 rework interpolation to allow for precalculated frames 2024-09-13 17:05:22 -03:00
Ricardo Luís Vaz Silva
17d7006d72 replace naive interpolation logic with more exact logic 2024-09-13 12:17:09 -03:00
nashmuhandes
fa0a88f85e Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-09-11 00:11:39 +08:00
nashmuhandes
58fecd4b92 Move depth fade definition to GLDEFS 2024-09-09 18:57:07 +08:00
nashmuhandes
27058efe85 Rename "depth fade falloff" to "depth fade threshold" as it makes more sense 2024-09-09 17:06:04 +08:00
nashmuhandes
b8248a7744 Fix improper export of the DepthFadeFalloff variable 2024-09-09 03:13:46 +08:00
nashmuhandes
8f9cc1bc65 Prepare to add Actor depth fade 2024-09-09 02:38:22 +08:00
Rachael Alexanderson
5895f9b1b1
- implement +SQUAREPIXELS flag 2024-09-07 23:09:36 -04:00
Rachael Alexanderson
f28cc14dd9
Merge commit '8043370' 2024-08-15 13:09:55 -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
Dileep V. Reddy
8a5e7449c1 Consolidated isometric mode commits. 2024-08-11 15:55:21 +02:00
nashmuhandes
a5b08f0fb1 Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-08-04 07:21:43 +08:00
nashmuhandes
593e1c0225 Add SPF_NOMIPMAP to force actor sprites or particles to have no mipmaps. This makes tiny sprites/particles look more crisp and legible in the distance. Mipmapping causes the sprites/particles to have an inconsistent look where they'd sometimes be clearly visible and sometimes less visible depending on camera distance and movement. 2024-08-03 18:45:48 -03:00
nashmuhandes
a6fc168f0b Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-07-31 00:45:38 +08:00
Boondorl
d697eafbe1 Fixed subnormal float viewpos values breaking rendering 2024-07-29 03:10:50 -04:00
Magnus Norddahl
bde15af593 Merge remote-tracking branch 'gzdoom/master' 2024-07-23 19:23:26 +02:00
Ricardo Luís Vaz Silva
7ddd4ec245 handle freeze in decoupled animations 2024-07-09 12:25:28 -03:00
Magnus Norddahl
330ec45d84 Merge tag 'g4.12.2' 2024-06-23 22:27:45 +02:00
nashmuhandes
1a89307ee7 Rename SourceRadius to SoftShadowRadius 2024-06-15 18:08:37 +08:00
Christoph Oelckers
347cb724e3 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-27 12:30:55 +02: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
8d0d130dc9
New API for assigning unique network ids to objects 2024-04-20 19:14:29 -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
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
Rachael Alexanderson
b31c62568b
Merge http://github.com/ZDoom/gzdoom into gz2 2024-04-16 23:10:57 -04: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
442ac3f78b Updated substitution logic to only replace pointers if safe 2024-03-28 15:48:23 -04:00
Ricardo Luís Vaz Silva
ce479e09ff Fix A_ChangeModel serialization
I overlooked this part on my first A_ChangeModel fix
2024-03-17 18:07:50 -03:00
nashmuhandes
a72057945b Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-03-16 04:37:28 +08: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
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
nashmuhandes
74a27be3fd Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-03-10 03:34:37 +08: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
Major Cooke
b2cb4b0a6d Begin adding PathNodes. 2024-03-05 13:44:38 -05:00
Magnus Norddahl
ab537a4879 Hook up SourceRadius 2024-03-05 16:37:59 +01: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
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
e37c19b5b4 New API for assigning unique network ids to objects 2024-02-26 06:23:12 -05:00