Boondorl
b6b3c311e1
Export DecalBase
...
Allows setting this between Actors with type safety. Now also serializes these fields.
2025-07-28 15:24:04 -03:00
Boondorl
7d1f2df404
Added scale and alpha interpolation
...
Similar to angles, needs to be enabled via flags to prevent breaking existing sprites.
2025-07-22 11:35:20 -03:00
Dileep V. Reddy
19291c5e5c
Sprite lean/angled roll with geometric consistency in multiplayer and mirrors. An ANGLEDROLL flag ties actor's sprite-rolling axis to physical direction instead of viewpoint. Y-Billboarding occurs about a rolled axis (unlike flatsprites which don't billboard). This makes roll consistent when viewed from all angles and in reflections. Useful for sprite-based laser beams and lean mechanics with third-person cameras and/or multiplayer mods.
2025-07-22 10:36:07 -03:00
Boondorl
b2c57b6656
Fixed invalid name for state parameter
...
This is the same name the macro uses to return it...
2025-07-19 11:23:52 -03:00
Boondorl
73445f6f6a
Fixed arithmetic state jumps going out-of-bounds
2025-07-17 03:19:52 -03:00
Boondorl
a73d9f6e8f
Added support for client-side Behaviors
2025-07-08 11:34:04 -03:00
Boondorl
9a111931cf
Fix for WorldPaused
...
Also consider the console rising to be unpaused.
2025-07-04 09:24:57 -03:00
Boondorl
bfefd2363e
Stop HUD messages from ticking when game is paused
...
These are often synchronized to the world so should be treated as such.
2025-06-08 11:23:39 -03:00
Dileep V. Reddy
95164cce51
Exposed some skymist variables to zscript. Created zscript levellocals functions ChangeSkyMist(TextureID skymist, bool usemist = true), SetSkyFog(int density), and SetThickFog(float distance, float multiplier), so people aren't tied to MAPINFO for such things.
2025-05-26 00:27:30 -03:00
Ricardo Luís Vaz Silva
706d1b6978
Scriptified scoreboard drawing
2025-05-21 10:50:34 -03:00
Dileep V. Reddy
c6a6ae23a6
ThickFogDistance and ThickFogMultiplier MAPINFO variables adds thicker fog (Vulkan and OpenGL only) beyond ThickFogDistance, as long as it is possible. But default it is -1.f (disabled).
2025-05-15 23:24:49 -03:00
Dileep V. Reddy
e9a067dd65
Skymist is a third sky layer with transparency, and adopts the fade color and skyfog density. Size not connected to SKY1 or SKY2. Works with 6-sided skyboxes. Three template pngs (skymist1, 2, & 3) all 1x544 pixels, 8-bit grayscale with transparency are part of gzdoom.pk3 for general usage. Can supply custom lump through mapinfo. Console command 'skymisttoggle' shows the effect (make sure fade has a non-zero color in mapinfo and skyfog has non-zero density). Oh, and skyfog now works with 6-sided skyboxes.
2025-05-06 11:47:45 -03:00
DyNaM1Kk
31cd741cb0
Scriptified DBaseStatusBar::Draw
2025-05-06 11:46:34 -03:00
Ricardo Luís Vaz Silva
c0d17bbda3
limit light alpha mult to renderflag
2025-04-29 15:47:28 -03:00
DyNaM1Kk
b7d6f0b1a4
Added am_showlevelname CVar
...
Allows controlling the visibility of the level name on the automap.
2025-04-27 01:31:13 -03:00
Boondorl
d0e056565b
Exported episode and skill infos
2025-03-13 14:08:25 -03:00
Boondorl
69b0932f23
Use unique flag for clientside Actor handling in GZDoom
...
This offers different behaviors from Zandronum so should be made exclusive.
2025-03-11 10:14:28 -03:00
Boondorl
f7e62a8cd6
Added client-side Thinkers
...
Adds support for client-side Thinkers, Actors, and ACS scripts (ACS uses the existing CLIENTSIDE keyword). These will tick regardless of the network state allowing for localized client handling and are put in their own separate lists so they can't be accidentally accessed by server code. They currently aren't serialized since this would have no meaning for other clients in the game that would get saved. Other logic like the menu, console, HUD, and particles have also been moved to client-side ticking to prevent them from becoming locked up by poor network conditions. Additionally, screenshotting and the automap are now handled immediately instead of having to wait for any game tick to run first, making them free of net lag.
2025-03-11 10:14:28 -03:00
Boondorl
7efd301810
Clean up for Behavior API
...
Use TObjPtr to improve null checking. Add option to clear only specific kinds of Behaviors. Fixed removal checks while ticking. Don't stop at now-null behaviors when iterating.
2025-02-20 04:12:46 -03: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
3d6506df5b
Added owner type parameter to iterator
2025-02-20 04:12:46 -03:00
Boondorl
14f7a10ae6
Added global iterator for behaviors
...
Imported Behaviors to the engine to allow them to properly clean up their level list. Restrict Behaviors from being new'd in ZScript as they need an owner to function.
2025-02-20 04:12:46 -03:00
Boondorl
e27bf38165
Added behavior iterator for Actors
...
Renamed Readded to Reinitialize.
2025-02-20 04:12:46 -03:00
Ricardo Luís Vaz Silva
33bae944f7
allow optionally skipping initial wipe in in-game intermissions
2025-02-07 20:17:54 -03:00
Boondorl
d527829ee3
Added NOAUTOOFFSKULLFLY flag
...
Disables resetting skullfly and state when velocity is zero while charging.
2025-01-30 13:33:33 -03:00
Boondorl
e0394ef16a
Added flags for angle handling on bounce
...
Allows for keeping the current angle on bounce or modifying the pitch.
2025-01-27 21:27:03 -03:00
nashmuhandes
27b6cb2f72
Allow passing sound volume to PlayBounceSound in ZScript
2025-01-23 13:54:26 -03:00
Rachael Alexanderson
f3b0c3ac5e
- Roll back filesystem changes. These were causing instabilities in the master branch that were interfering with development.
2025-01-04 11:27:21 -05:00
Ricardo Luís Vaz Silva
e82c7d2428
remove "DECORATE" from error string
...
* print warning count as well
* allow treating warnings as errors
2024-12-13 16:46:48 -03:00
Boondorl
5240c52b07
Fixed bouncing on 3D floors ( #2835 )
2024-11-26 03:43:09 -05:00
Christoph Oelckers
d1abc3eb8c
renamed things in file system to reduce Doom specific terminology.
2024-11-24 18:05:11 +01:00
Christoph Oelckers
634a646c2d
take namespace enum out of namespace and added CheckNumForAnyName and CheckNumForFullNameInFile to clarify the meaning of CheckNumForFullName.
...
This is to take some renaming noise out of the upcoming refactoring.
2024-11-24 17:59:16 +01:00
Boondorl
3ea5be1ea7
Reworked FRandom constructors
...
Removes ambiguity while keeping old constructor syntax in check for better overall portability.
2024-11-15 23:56:23 -03:00
Boondorl
597b06ae52
Added CRandom functions
...
Unique RNG namespace for client-side effects and HUDs. Identifiers for these cannot clash with identifiers that affect the playsim making them completely safe to use in HUD elements. They also won't be saved.
2024-11-15 23:56:23 -03:00
Ricardo Luís Vaz Silva
3a83762c51
Allow property-less flagdefs for non-actors
2024-11-13 15:47:22 -03:00
Christoph Oelckers
a899571d8c
got rid of strlwr.
...
The 3 remaining uses were completely redundant.
2024-11-02 09:07:07 +01:00
Major Cooke
9ca5bef4ea
Fixed STRETCHPIXELS flag not being exposed.
2024-10-30 18:54:23 -03:00
Ricardo Luís Vaz Silva
7b95977e2a
Allow using Self as the class name in the default block to refer to the current class
2024-10-26 22:59:33 -03:00
Kaelan
8b73332366
Proper static function use
2024-10-26 00:21:16 -03:00
Kaelan
d9fa7c3894
Re-move bounds checks out of core engine per request
2024-10-26 00:21:16 -03:00
Kaelan
275635adc5
add set/get plane reflectivity
2024-10-26 00:21:16 -03:00
Professor Hastig
40546420b0
fixed UMAPINFO's label field to allow 'clear' as argument.
2024-10-21 12:22:20 -03: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
nashmuhandes
12c6d1361a
Move no-mipmapping from actor renderflag/particle flag, to a material property in GLDEFS, where it makes more sense. The feature was introduced in the short-lived engine version of 4.13 which was deemed too broken and needed to be replaced with a newer version anyway, so might as well perform an API-breaking change at this point in time. Note that this currently only works for sprites (its primary targeted use case) -- walls, flats and models can be patched in later.
2024-10-19 18:35:54 -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
Rachael Alexanderson
dd740b59e0
Revert "- simplify and deconstruct logic for applying sector damage - also fixes voodoo doll sector damage in TNT MAP30"
...
This reverts commit 3e33e31d19 .
Revert "Added MF9_FORCESECTORDAMAGE."
This reverts commit 61bd3a739a .
2024-10-19 10:17:22 -04:00
inkoalawetrust
61bd3a739a
Added MF9_FORCESECTORDAMAGE.
...
This flag forces non-player actors to take damage from hurt floors even if SECMF_HURTMONSTERS isn't true.
2024-10-09 13:51:48 -03:00
Christoph Oelckers
3798fd815f
the MISSILE(EVEN)MORE flags still need to be accessible by ZScript for backwards compatibility.
...
Since these do not exist anymore an internal interface to Handle/CheckDeprecatedFlags was added.
2024-10-03 12:32:09 +02: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
Professor Hastig
2decf10863
add missing 'author' and 'label' UMAPINFO fields.
2024-10-01 12:23:27 -04:00