Commit graph

23,373 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
4bdc3ee28d fix CalcModelFrame/SetBone/GetBone/SetAnimation not grabbing smf from modeldata for decoupled anims 2025-05-11 10:46:43 +08:00
Magnus Norddahl
b61941b4a6 Add IsActive check in DoomLevelMesh::CreateLightList 2025-05-10 16:03:35 +02:00
Magnus Norddahl
ae33d583ad A hack is best solved by adding another hack on top. Everyone knows this. 2025-05-10 03:07:17 +02:00
Magnus Norddahl
6e5df8ef4c Fix the shadow data VBO not updating its lightmap UVs 2025-05-10 03:07:17 +02:00
Magnus Norddahl
737b7ece96 Dynamically allocate and free lightmap tiles 2025-05-10 03:07:17 +02:00
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
nashmuhandes
db8bdab669 Fix coronas duplicate-drawing sometimes 2025-05-03 07:01:11 +08:00
Nash Muhandes
bc76545e44
Merge pull request #157 from RicardoLuis0/gz_merge
4.14.2 merge
2025-05-03 04:33:52 +08:00
Ricardo Luís Vaz Silva
0efa138cca fix up merge issues 2025-05-02 17:19:07 -03: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
99aa489d09 4.14.2 model refactor cherry pick
Some checks failed
Continuous Integration / macOS | Debug (push) Has been cancelled
Continuous Integration / Linux Clang 11 | Debug (push) Has been cancelled
Continuous Integration / Visual Studio 2022 | Debug (push) Has been cancelled
Continuous Integration / Linux GCC 12 | MinSizeRel (push) Has been cancelled
Continuous Integration / Linux GCC 9 | RelWithDebInfo (push) Has been cancelled
Continuous Integration / macOS | Release (push) Has been cancelled
Continuous Integration / Linux Clang 15 | Release (push) Has been cancelled
Continuous Integration / Visual Studio 2019 | Release (push) Has been cancelled
Continuous Integration / Visual Studio 2022 | Release (push) Has been cancelled
g4.14.2
* split frame info calculation from RenderFrameModels

* clean up FindModelFrame

* refactor model overrides into its own function

* refactor frame rendering into RenderModelFrame

* split frame processing into ProcessModelFrame
2025-05-01 18:22:30 -04:00
Ricardo Luís Vaz Silva
091e5d76d5 set zscript version as 4.15.1 for now, since bone manip is 4.15.1 2025-05-01 15:47:38 +02: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
Ricardo Luís Vaz Silva
eee9382d88 4.14.2 2025-04-29 08:14:34 -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
fc470b4f7c fix dsdhacked actors not spawning when placed in a map 2025-04-29 07:56:20 -03:00
DyNaM1Kk
2d030d5313 Added am_showlevelname CVar
Allows controlling the visibility of the level name on the automap.
2025-04-29 07:56:20 -03:00
MajorCooke
bf6f175305 SpawnBlood now returns an actor spawned by the function. 2025-04-29 07:56:20 -03:00
dileepvr
a2236c144e Ensure boolean to suppress compiler warning
Finally used `!!(...)` somewhere.
2025-04-29 07:56:19 -03:00
dileepvr
451b5cb5d9 Boolean op instead of mod with 2
`( ... & 1)` is simpler than `(... % 2 != 0)`.
2025-04-29 07:56:19 -03:00
dileepvr
4162c4b19e Fixed pitch culling in reflective flats for OoB Viewpoints
The vertical clipper needed viewpoint pitch sign to be flipped to work correctly. Only relevant for OoB viewpoints.
2025-04-29 07:56:19 -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
e406770efa save togglehud to ini so that it can be properly restored on crash/exit 2025-04-29 07:56:19 -03:00
Ricardo Luís Vaz Silva
56999fecd2 fix bug with direct cvar assignment being mistakenly allowed 2025-04-29 07:56:19 -03:00
Magnus Norddahl
f360ae82cf Part of the patent-pending light list design in gzdoom keeps invalid lights in the light lists and you must check for that everywhere... 2025-04-26 17:03:46 +02:00
Magnus Norddahl
91cc8b15ae Oops, this shouldn't have been committed :p 2025-04-26 15:57:02 +02:00
Magnus Norddahl
64e08cc921 Include address info to access violations 2025-04-26 15:56:39 +02:00
dpjudas
03ba95e7e1 Improve call stack by using the CONTEXT record from the SEH exception 2025-04-26 13:32:01 +02:00
Magnus Norddahl
fe452faadc Fix UI scale for X11.
Fix page up and page down keys not working.
Fix mouse wheel not working
2025-04-22 12:05:09 +02:00
Magnus Norddahl
98ff358a3a Workaround AMD driver crash by disabling rayquery for all AMD cards 2025-04-21 18:49:22 +02:00
Magnus Norddahl
4e0d6d5932 Fix missing inlined function 2025-04-21 01:53:54 +02:00
Magnus Norddahl
1312772e8b Use the error dialog window, like on Windows, instead of xmessage from 1865 2025-04-21 01:05:24 +02:00
Magnus Norddahl
1471eea6e5 Fix compile error and the backtrace (sorta, still sucks) for Linux 2025-04-21 00:01:42 +02:00
Magnus Norddahl
213305cc2d Move the fatal error logging out of win32 and use it on Linux and macOS 2025-04-20 23:19:45 +02:00
Magnus Norddahl
8090f395e2 Fix some warnings 2025-04-20 18:25:08 +02:00
Magnus Norddahl
26b10dbdda Validation layer wants layout specified during linking (is it right? nobody knows! the vulkan spec is unreadable in this part, thanks khronos!)
Fix light probe pass using depth stencil format selection before it was set
2025-04-20 18:15:38 +02:00
Magnus Norddahl
0c3c0c6271 Use zwidget for the fatal error dialog 2025-04-20 15:26:18 +02:00
dpjudas
4f1316b3fd Add thread safety to VkShaderCache 2025-04-19 09:30:17 +02:00
dpjudas
74e2e39e35 Add thread safety to VkShaderManager::GetProgram 2025-04-19 08:57:43 +02:00
dpjudas
22b7f02305 Remove vulkan shader modules 2025-04-19 08:24:43 +02:00
Magnus Norddahl
ddffb4193a Dbgeng didn't work - let's try do it ourselves 2025-04-18 14:43:29 +02:00
dpjudas
8f180e3a3f Never clear the RenderPassSetup map as that will force pipelines to rebuild 2025-04-14 01:41:44 +02:00
Magnus Norddahl
3823196765 Revert "Remove resource system voodoo and make some lines slightly more readable"
This reverts commit 9bc869e1a6.

Revert "Fix race condition"

This reverts commit 883e3ce907.

Revert "Run the GLSL compiler on the worker thread"

This reverts commit da0ff9ab04.
2025-04-13 17:15:13 +02:00
Magnus Norddahl
a0e6ebe226 Fuck it! Let's just mutex guard EVERYTHING.... 2025-04-13 15:23:31 +02:00
Magnus Norddahl
9bc869e1a6 Remove resource system voodoo and make some lines slightly more readable 2025-04-13 14:49:04 +02:00
Magnus Norddahl
54e9ae15e5 Make FString copy-on-write (COW) thread safe 2025-04-13 02:09:46 +02:00
RaveYard
b1a61d5f30 Add fallback for pipeline creation
Wait... you have to check an extra boolean to know if the extension is actually supported?! What were they thinking?!
2025-04-12 17:25:55 +02:00
Magnus Norddahl
dd782038e4 Add async texture loading 2025-04-12 01:52:17 +02:00
Magnus Norddahl
883e3ce907 Fix race condition 2025-04-12 00:35:14 +02:00