Commit graph

2,244 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
d5f5c71d67 Bone Getters Part 2/3, plus fixed warnings for MSVC
* add getters for frame poses

* fix missing joint in GetJointPose

* clean up models_iqm.cpp

* clean up usage of I_GetTimeFrac, split out matrix calculation into its own function

* clean up SetModelBoneRotationInternal

* clean up a few float <-> double and unsigned <-> signed warnings

* fix more warnings

* further clean up warnings

* split mode ObjectToWorldMatrix stuff

* initial work on bone getters, matrix hell

(the matrix/vec3 multiplications are probably wrong af, just gotta add more stuff 'till i can test it)

* clean up matrix math

* GetBone/TransformByBone

* fix GetBoneFramePose

* fix ObjectToWorldMatrix

* fix missing array resize

* raw matrix getters (for use with gutamatics/etc)

* reverse matrix mult order

* replace GetBoneLength/GetBoneDir with GetBoneBaseTRS

* fix GetBonePosition, remove GetBoneWorldMatrix as it's useless

* GetBonePosition

* deduplicate code

* rename GetBonePosition to GetBoneBasePosition to avoid confusion

* GetBoneBaseRotation

* GetBonePosition helper function

* forgot include_offsets
2025-05-10 08:42:20 +08:00
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
Ricardo Luís Vaz Silva
0e77b01fc4 fix OptionMenuItemCommand::DoCommand for new 4.15 keyword 2025-04-09 14:47:11 -03:00
DyNaM1Kk
7ad2111bed Added autoSwitch parameter to A_ReFire 2025-04-09 14:31:57 -03:00
MajorCooke
72f9c0f9b7 Exported:
* GetLumpContainer
* GetContainerName
* GetLumpFullPath
for WADS struct, useful for debugging custom-made parsers and identifying where problems may arise.

All credit goes to Jay for the code.
2025-04-09 14:31:56 -03:00
nashmuhandes
cfe275f81c Properly assign tags to various Raven game items 2025-04-09 14:31:56 -03: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
nashmuhandes
e1e93b1b46 Interpolate turning 180 degrees 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
Ricardo Luís Vaz Silva
dd92a972f5 rename vm internal structs to make room for compilation-unit-internal structs/classes 2025-04-09 14:26:40 -03:00
Ricardo Luís Vaz Silva
a0592816cd don't allow backing types of string/array/map/etc to be referenced as actual types 2025-04-09 14:21:36 -03:00
nashmuhandes
799011d327 Merge branch '4.14.1' of https://github.com/ZDoom/gzdoom 2025-03-13 03:00:11 +08:00
RaveYard
04195e8331 Minor refactor of lightprobe related code 2025-02-22 10:15:15 +01:00
RaveYard
2dd7ad8eb2 WIP multiple probes support 2025-02-22 10:15:15 +01:00
marrub
dcbd66a528
add default cvar getters 2025-02-21 07:18:03 -05:00
Boondorl
5a5bed5c31
Added FindClass
Allows for classes to be looked up during run time without having to use string casting.
2025-02-21 07:17:49 -05:00
Boondorl
fdd2a90545 Fixed ammo and backpack with local items on
Now avoids duplicate calling CreateCopy
2025-02-14 13:43:58 -05: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
bfd9b6f720 add static function to convert ints to names 2025-02-08 16:49:00 -03:00
Ricardo Luís Vaz Silva
f2ecdc5d96 fix id24 weapons transparency 2025-02-08 15:05:16 -03:00
Ricardo Luís Vaz Silva
fa2f03f60b replace incomplete flags from DECOHACK with projectile combo 2025-02-08 15:05:16 -03:00
Ricardo Luís Vaz Silva
5bc5df8429 fix ammo give/autoaim for incinerator/calamity blade 2025-02-08 14:55:29 -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
nashmuhandes
74a04474e1 Smoothly interpolate the player pitch-centering action 2025-02-07 04:57:56 -05:00
Boondorl
59ac494c19 Make CopyBloodColor readonly
Allows getting blood colors from default Actors.
2025-01-31 05:49:34 -05:00
Ricardo Luís Vaz Silva
987a07bcdf add fuel/calamity blade/incinerator from id24 2025-01-30 13:34:25 -03:00
Ricardo Luís Vaz Silva
e543e26bdc expand deprecation allowance for gzdoom.pk3 2025-01-30 13:34:25 -03:00
Boondorl
864fe1f66f Added translation argument for A_SprayDecal 2025-01-30 13:32:18 -03:00
nashmuhandes
aae8c12cdf Add a particle flag to allow user shaders on the sprites 2025-01-29 17:00:12 -03:00
nashmuhandes
a1e229a583 Remove coronas from the blockmap 2025-01-26 22:46:14 +08: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
a1460e88af Added S_StartSoundAt
Allows for positional sounds that aren't attached to any Actor.
2025-01-18 06:47:00 -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
Ricardo Luís Vaz Silva
e12d51c5a2 add default values, vec4 uniforms, and cvar uniforms to post-process uniforms 2025-01-06 19:21:21 -05:00
Ricardo Luís Vaz Silva
5938204fa9 add default values, vec4 uniforms, and cvar uniforms to post-process uniforms 2025-01-07 00:42:50 +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
aebabd2307 Fix coop key share failing if the item was spawned in-game (for example, via the console) 2024-12-30 21:25:37 -05:00