Commit graph

91 commits

Author SHA1 Message Date
Magnus Norddahl
3fdd22ef91 Merge remote-tracking branch 'gzdoom/master' into big_beautiful_merge 2025-08-06 21:06:53 +02:00
Boondorl
d7d71177d7 Reworked Travelling logic
Added safety barriers for STAT_STATIC and STAT_TRAVELLING to avoid potential exploits. Properly clear all internal fields pointing towards non-read barriered data and always relink properly when finishing travelling. Moved ZScript callback to after travelling has finished for all Thinkers, that way everything is initialized correctly.  Allow arbitrary thinkers (excluding native ones) to be added to the travelling list (for Actors, their positioning will need to be handled by modders). Ensure lights get re-enabled after travelling.
2025-08-02 17:35:16 -03:00
Boondorl
73445f6f6a Fixed arithmetic state jumps going out-of-bounds 2025-07-17 03:19:52 -03:00
Boondorl
269689703d Clear references to map data on level change
These shouldn't be left as they'll now point towards potentially invalid memory and also cause errors with serializing. Arrays and maps holding them are cleared. Also unlinks and relinks inventory items correctly from the hashmap on traveling.
2025-07-10 14:12:31 -03:00
Marcus Minhorst
5bd8c7f3be Unified name capitalization: *menu -> *Menu 2025-07-08 16:30:17 -03:00
Cacodemon345
a2450e1195 Add mechanism for Prosperity Rune-like powerups
Also add a flag to use Zandronum/Skulltag semantics for BasicArmorPickup
2025-07-04 09:25:28 -03:00
nashmuhandes
a39c84a77a Define the shadow casting style on an Actor using a property. Currently only for lightmaps. 2025-06-13 12:57:02 +08:00
nashmuhandes
033ea084a6 Lightmap parsing update 2025-06-12 19:28:23 -03:00
Ricardo Luís Vaz Silva
9aa44fa13b Merge branch '4.14.2' into gz_merge 2025-05-02 17:15:41 -03:00
Xaser Acheron
16dffcbbf0 add a few commonly-used gzdoom-specific properties to the dehacked parser 2025-04-29 08:06:01 -03:00
Xaser Acheron
80c36d4069 add a few commonly-used gzdoom-specific properties to the dehacked parser 2025-04-29 08:05:38 -03:00
RaveYard
2dd7ad8eb2 WIP multiple probes support 2025-02-22 10:15:15 +01:00
Boondorl
1e05bb2a55 Clean up behaviors properly when moving levels
Also adds support for foreach loops with the behavior iterator.
2025-02-20 04:12:46 -03:00
Boondorl
bd60fd7546 Added initial Behavior API
Allows for arbitrary behaviors to be attached to Actors in a way that doesn't require the use of Inventory tokens. This list can't be freely modified nor can it have duplicates meaning it has far better deterministic behavior than using Inventory items for this purpose.
2025-02-20 04:12:46 -03:00
Magnus Norddahl
d8d1742d0a Add lm_bounce and lm_ao to ZDRayInfo
Make vktool ignore the existing lightmap lump
Ignore the lightmapper cvars in vktool
2025-01-19 15:34:39 +01:00
Ricardo Luís Vaz Silva
9073fb8501 add shadowMinQuality property and gl_light_shadow_max_quality CVar 2025-01-03 07:30:54 +01:00
nashmuhandes
c2808809b7 Add customizable sunlight intensity (both to ZDRayInfo and ZScript) 2024-12-21 17:48:17 +01:00
nashmuhandes
5464090800 Merge branch 'post-4.13' of https://github.com/madame-rachelle/gzdoom into gzd-master-experimental 2024-11-05 21:51:43 +08:00
Rachael Alexanderson
7980d351b7
Merge branch '4.13' of ../gzdoom into gz4.13.1-merge 2024-10-20 10:25:15 -04:00
inkoalawetrust
34dc204517
Re-added sector damage for non-players. (#2773)
* Re-add non-player sector damage.

Reimplements SECMF_HURTMONSTERS and SECMF_HARMINAIR.

* Fixed 3D floor handling for sector damage.

Fixes sector damage to either monsters or players not working on (non-)solid 3D floors.
2024-10-20 07:51:36 -04:00
Rachael Alexanderson
5fb83d4762
Revert "Added SECMF_HURTMONSTERS, SECMF_HARMINAIR and NOSECTORDAMAGE."
This reverts commit 391f496512.
2024-10-19 10:25:19 -04:00
Rachael Alexanderson
4ba53e34e4
Revert "Added SECMF_HURTMONSTERS, SECMF_HARMINAIR and NOSECTORDAMAGE."
This reverts commit 391f496512.
2024-10-19 10:25:03 -04:00
Ricardo Luís Vaz Silva
74a49ca919 change light strength to light linearity 0.0 = inverse square, 1.0 = linear 2024-10-11 11:43:09 +02:00
Ricardo Luís Vaz Silva
479e0c301e add light_noshadowmap/light_dontlightactors/light_dontlightmap to UDMF 2024-10-09 04:44:51 +02:00
Ricardo Luís Vaz Silva
56787bbc17 Add LightStrength to UDMF, move SoftShadowRadius from AActor to DynamicLight 2024-10-09 04:44:51 +02:00
nashmuhandes
f5c06551e4 Use a light_ prefix for custom ZDRay stuff, and actually parse light_softshadowradius for map things 2024-10-06 11:24:04 -03:00
nashmuhandes
4bb61bed97 Use light_ prefix for soft shadows 2024-10-06 22:20:05 +08:00
nashmuhandes
58ddcd4806 Merge commit '6b5be653dc' 2024-10-06 21:29:38 +08: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
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
Rachael Alexanderson
89ce70fd0b - implement SPAC_Walking, mostly useful for teleports or for line crossings that should not happen when the player is falling or flying
- update UDMF spec entry
2024-09-29 16:06:36 -04:00
nashmuhandes
f671018700 Clean up lightmap stuff in the namedef 2024-07-20 12:56:56 -04:00
nashmuhandes
13b9ffd6c8 Rename SourceRadius to SoftShadowRadius (to match VKDoom) 2024-06-15 10:00:39 -04:00
nashmuhandes
1a89307ee7 Rename SourceRadius to SoftShadowRadius 2024-06-15 18:08:37 +08:00
nashmuhandes
29e103363e ZDRay specs fix 2024-04-22 10:17:07 -04:00
nashmuhandes
3162b23e5d Remove redundant namedef, update UDMF spec to be more accurate 2024-04-22 22:07:28 +08:00
Rachael Alexanderson
2e850bd2a1
- fix erroneous namedef adds from last commit 2024-04-21 11:09:12 -04:00
Rachael Alexanderson
112c6cbccf
Merge branch 'master' of https://github.com/ZDoom/gzdoom into gzdoom-update-4-12-1 2024-04-21 11:05:59 -04:00
Boondorl
06eee55671
Fix for Morph virtual
Allows class<MorphedMonster> to be used as an argument type in place of class<Actor> within the third argument for backwards compatibility.
2024-04-20 01:15:47 -04:00
Rachael Alexanderson
558bd4674d
- handle dsda namespace like zdoom in udmf 2024-04-18 03:18:56 -04:00
Nash Muhandes
6226f03bb4
Update and correct ZDRay-related stuff in the specs and also in the n… (#2503)
* Update and correct ZDRay-related stuff in the specs and also in the namedef table

* Fix compile error
2024-04-17 18:53:46 -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
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
74a27be3fd Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-03-10 03:34:37 +08:00
Boondorl
0ef042562e Fix for Morph virtual
Allows class<MorphedMonster> to be used as an argument type in place of class<Actor> within the third argument for backwards compatibility.
2024-03-08 20:10:40 +01: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
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
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