Commit graph

23,387 commits

Author SHA1 Message Date
RaveYard
27f0bea2bc Prevent levelmesh updates when ceiling/floor is moving at a zero speed 2025-05-13 01:50:41 +02:00
Magnus Norddahl
398c9304b6 Enable background tile updates again 2025-05-13 00:27:42 +02:00
Ricardo Luís Vaz Silva
f522296970 cache FName conversion for GetGlobalShader 2025-05-12 23:28:04 +02:00
Magnus Norddahl
b27d094def Improve GetVisibleSurfaces performance 2025-05-12 22:43:30 +02:00
Magnus Norddahl
2d772dc0f2 GCC doesn't like this static const int for some weird reason... 2025-05-12 20:00:32 +02:00
Magnus Norddahl
be4b0cb67b Stop memory allocations by keeping the RectPacker around 2025-05-12 14:26:24 +02:00
Magnus Norddahl
5d3f16b0d6 Only update VBO lightmap if its a full update 2025-05-12 13:41:51 +02:00
Magnus Norddahl
3127e2598a Implement the shadow and light list updates 2025-05-12 13:23:56 +02:00
Magnus Norddahl
5f3f51140f Remove debugging code 2025-05-12 12:10:08 +02:00
Magnus Norddahl
2c069349a3 Portal and high update count fixes 2025-05-12 00:39:41 +02:00
Magnus Norddahl
8bf31755df Update sectors and sides where light falls 2025-05-11 20:32:43 +02:00
Magnus Norddahl
6cf3cdb871 Make LevelMeshUpdater responsible for updating the tiles (playsim tells the mesh updater, the level mesh tells the tiles) 2025-05-11 20:11:18 +02:00
Magnus Norddahl
bfb37a89c3 Fix deactivated lightmap light not working 2025-05-11 17:58:07 +02:00
Ricardo Luís Vaz Silva
7f031ab2cc fix MDL_USEROTATIONCENTER 2025-05-11 12:35:35 +08:00
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