Commit graph

808 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
9aa44fa13b Merge branch '4.14.2' into gz_merge 2025-05-02 17:15:41 -03:00
Ricardo Luís Vaz Silva
8833126801 Bone Manip part 1 - bone setters
* split frame info calculation from RenderFrameModels

* clean up fvec4 being used as quat in iqms

* initial work on bone setting

* implement bone setters

* clean up FindModelFrame

* refactor model overrides into its own function

* refactor frame rendering into RenderModelFrame

* split frame processing into ProcessModelFrame

* refactor BoneOverride in preparation for translation/scale overrides

* clean up macros

* SetBoneTranslation/SetBoneScaling

* GetBoneOffset

* fix compilation on linux/mac (fuck you MSVC)

* fix typo 😅

* make sure bone overrides are cleared on model switches, add ClearBoneOffsets to clear them manually

* bone info getters

* fix joint lengths, add joint dirs

* serialize bone overrides

* fix bone dir return type

* GetBoneIndex/GetBoneCount

* helper functions for working with non-quat angles

* add mode enum, add more helper functions

* fix up formatting
2025-05-01 15:47:38 +02:00
Ricardo Luís Vaz Silva
3befb3f5e7 limit light alpha mult to renderflag 2025-04-29 15:49:55 -03:00
MajorCooke
bf6f175305 SpawnBlood now returns an actor spawned by the function. 2025-04-29 07:56:20 -03:00
Boondorl
ce922225e7 Added OnLoad virtual
Allows for things to be reinitialized where needed for Thinkers. Moved hidden state of items over to OnLoad.
2025-04-29 07:56:19 -03:00
Boondorl
f5032b149b
Added missing return values in VM calls
These are not supported by the JIT and must always be passed.
2025-04-09 15:18:47 -04:00
Boondorl
5730719182
Fixed player respawning
Pass appropriate information to the VM
2025-04-09 15:18:30 -04:00
MajorCooke
9c1d45dd68 Added particle rendering to VisualThinkers.
To activate, use `SetParticleType(int type)`. To deactivate, use `DisableParticle()`.

Types are:
- PT_DEFAULT (default value; uses `gl_particles_style`)
- PT_SQUARE
- PT_ROUND
- PT_SMOOTH

While in this mode:
- `Texture` & `Translation` are ignored
- `Scale.X` sets the size
- `SColor` sets the color

Misc changes:
- Removed warning on textureless destruction
2025-04-09 14:30:04 -03:00
inkoalawetrust
89235ea15d Exposed DElevator to ZScript. 2025-04-09 14:29:05 -03:00
inkoalawetrust
a655f65b9b Exposed more of the Floor thinker. 2025-04-09 14:29:05 -03:00
inkoalawetrust
5503ec052d Exposed more of the Ceiling thinker.
- Exposed the rest of the ceiling member fields and getters.
- Added an IsCrusher() method.
- Added getOldDirection() getter.
- Fixed Door direction enum.
- Forgot to make Plat readonly on previous commit.
2025-04-09 14:29:05 -03:00
inkoalawetrust
0dc4c7db90 Exposed DPlat to ZScript. 2025-04-09 14:29:05 -03:00
inkoalawetrust
d924573d8a Exposed DDoor to ZScript.
Also added a ZScript-only enum for the movement direction..
2025-04-09 14:29:05 -03:00
nashmuhandes
799011d327 Merge branch '4.14.1' of https://github.com/ZDoom/gzdoom 2025-03-13 03:00:11 +08:00
Boondorl
a7d4d409a0 Added PlayerRespawning event
Allows denying player respawns for better control on special game modes e.g. Last Man Standing.
2025-02-14 03:49:56 -05:00
Boondorl
567a180d2b Added is3DFloor parameter to SpecialBounceHit
Allows for better plane bounce handling e.g. flipping the normal.
2025-02-11 20:49:39 -03:00
Ricardo Luís Vaz Silva
3f4c66681e more misc animation fixes 2025-02-09 01:48:31 +08:00
Ricardo Luís Vaz Silva
33bae944f7 allow optionally skipping initial wipe in in-game intermissions 2025-02-07 20:17:54 -03:00
Ricardo Luís Vaz Silva
eb7c99b34a more misc animation fixes 2025-02-04 18:08:30 -03:00
Magnus Norddahl
7a59234bb4 Add lm_dynlights CVAR for running dynamic lights entirely in lightmaps 2025-02-01 21:21:33 +01:00
Ricardo Luís Vaz Silva
ec42c77289 fix A_DoChase using the wrong type in non-jit 2025-02-01 10:45:26 -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
nashmuhandes
5bcbe1718b New "Translatable" property in DECALDEF which is just an alias for "OpaqueBlood" to reflect its general use, and also to support the new translation parameter of A_SprayDecal. "OpaqueBlood" should be considered deprecated. Note that specifying a translation directly in the DECALDEF will be added in future, in another commit. 2025-01-30 13:32:18 -03:00
Boondorl
864fe1f66f Added translation argument for A_SprayDecal 2025-01-30 13:32:18 -03:00
nashmuhandes
87bda3d8d4 Remove bone component cache, VKDoom Edition 2025-01-30 21:54:29 +08:00
nashmuhandes
aba5cbf768 Revert "fix for vkdoom"
This reverts commit 5eb9a1095e.

Revert "upload bones 😅"

This reverts commit cc766311f7.

Revert "remove bone component cache to decrease memory consumption"

This reverts commit e2908ce0a3.
2025-01-30 20:44:14 +08:00
Ricardo Luís Vaz Silva
e2908ce0a3 remove bone component cache to decrease memory consumption
caching this is entirely unnecessary, as it changes every frame
2025-01-30 20:37:08 +08:00
nashmuhandes
aae8c12cdf Add a particle flag to allow user shaders on the sprites 2025-01-29 17:00:12 -03:00
Adam Kaminski
162ab3c4ec Fixed ACS scripts executing a function from another library that cause a division/modulus of zero from aborting the game. 2025-01-27 21:27:39 -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
Ricardo Luís Vaz Silva
3d2f9e06ed remove bone component cache to decrease memory consumption
caching this is entirely unnecessary, as it changes every frame
2025-01-27 17:04:46 -03:00
Boondorl
3db1ee9a1e Improvements for VisualThinkers
Added BeginPlay virtual that's called after construction. Added getter for render style in ZScript.
2025-01-24 22:53:19 -05:00
nashmuhandes
27b6cb2f72 Allow passing sound volume to PlayBounceSound in ZScript 2025-01-23 13:54:26 -03:00
nashmuhandes
9e3db4f147 Added HasConversation 2025-01-22 13:18:45 -03:00
nashmuhandes
92dbdd3f39 Exported conversation behaviors 2025-01-22 13:18:45 -03:00
Boondorl
b68c7545cd Fixes for dynamic lights
Fixed released lights not unlinking in rare cases. Fixed first Actor in cache being missed when destruction checking. Fixed results cache not being cleared on update.
2025-01-21 21:19:03 +01:00
dpjudas
f127c2c164 Replace targSubsector with targSection as that is what it is nowadays 2025-01-21 01:54:53 +01:00
Ricardo Luís Vaz Silva
a7b20183f1 gpu actor tracing (NOT WORKING) 2025-01-20 16:45:08 +01:00
Boondorl
dad8e4719c Don't create thing iterator if THRUACTORS is set when moving 2025-01-14 15:10:15 -05:00
nashmuhandes
f5bf1d0497 Exported thing activation function 2025-01-14 02:21:50 -05:00
Boondorl
c87dc5ccad Updated VisualThinker render linkage
Now uses its own self-managed linked list with its level tracking the head pointer. Allows for VisualThinkers to be moved to any desired stat instead of being stuck in STAT_VISUALTHINKER.
2025-01-13 19:26:05 -05: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
9073fb8501 add shadowMinQuality property and gl_light_shadow_max_quality CVar 2025-01-03 07:30:54 +01:00
Ricardo Luís Vaz Silva
9d9938cccc Fix cache while trace isn't moved to GPU
isn't the fastest or most memory efficient fix, but should hopefully only be temporary
2024-12-31 04:43:27 +08:00
Ricardo Luís Vaz Silva
728b6c0039 add portals/midtextures to ray-traced dynamic lights 2024-12-30 20:37:18 +01:00
Ricardo Luís Vaz Silva
aa51ac7b6d only lightmap updated tiles once they're visible 2024-12-22 00:28:03 +01:00
Ricardo Luís Vaz Silva
af5497c6dd force updated lights to ignore actor trace cache 2024-12-20 05:29:05 +01:00
Ricardo Luís Vaz Silva
d35195bded mark old tiles for update 2024-12-20 01:41:06 +01:00
Ricardo Luís Vaz Silva
46eab8409e mark tiles for update for flicker/pulse lights 2024-12-20 01:41:06 +01:00
Ricardo Luís Vaz Silva
bca75ef346 check if color changes for lightmap update 2024-12-19 15:34:58 +08:00