Commit graph

20,822 commits

Author SHA1 Message Date
Magnus Norddahl
dfeec3c123 Hook up lm_always_update 2025-05-15 10:07:25 +02:00
Ricardo Luís Vaz Silva
9f23178e76 save extraArgs to CVar for easier testing 2025-05-14 23:25:19 +02:00
Magnus Norddahl
5299453486 Fix missing lights when baking a map with vktool 2025-05-14 15:08:42 +02:00
Magnus Norddahl
23e4c46684 Restrict light-only changes to only happen in sectors with the SECF_LM_DYNAMIC flag 2025-05-14 13:26:10 +02:00
dpjudas
33b2c792cd Pick up iwads from folders 2025-05-14 02:15:37 +02:00
Magnus Norddahl
156d7e7af2 Correctly apply sunlight to line portals 2025-05-13 15:18:33 +02:00
Magnus Norddahl
0c0e29b18d Add sunlight to line portals 2025-05-13 14:38:35 +02:00
Magnus Norddahl
76fb5901d7 Only force baking of tiles where the geometry changed 2025-05-13 01:52:02 +02:00
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
0532a298d2 fix MDL_USEROTATIONCENTER 2025-05-11 01:12:55 -03:00
biwa
501a21869c Fixed issue where seams can be seen when using animated fire textures 2025-05-11 00:09:52 -03: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
Ricardo Luís Vaz Silva
385033e999 fix CalcModelFrame/SetBone/GetBone/SetAnimation not grabbing smf from modeldata for decoupled anims 2025-05-10 18:24:16 -03: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
Boondorl
58809a3689 Fixed up game id
Store it in a proper buffer.
2025-05-09 20:39:56 -03:00
Boondorl
7877018471 Added CRC to packets
Verify that data is correctly ordered and reject packets that aren't. Also generates a random game id to ensure packets are coming from legitimate clients.
2025-05-09 20:39:56 -03:00
Ricardo Luís Vaz Silva
9e2b1f9c4c
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-09 17:06:16 -03:00
dileepvr
b68f04fa75 Allow skymist to animate
Allow animated skymist layer.
2025-05-06 11:47:45 -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
DyNaM1Kk
3bb716c414 Exported RefreshBackground 2025-05-06 11:46:34 -03:00
DyNaM1Kk
5168ce0e04 Exported DrawCrosshair 2025-05-06 11:46:34 -03:00
nashmuhandes
db8bdab669 Fix coronas duplicate-drawing sometimes 2025-05-03 07:01:11 +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
Dileep V. Reddy
502af6adb9 SSECMF_DRAWN was being skipped for some cases, affecting texture automap drawing. See bug #3066. 2025-05-02 09:37:59 -04:00
Rachael Alexanderson
0d612553a4
- do not allow sv_gravity to be INF 2025-05-02 09:36:05 -04: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
* 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
3780c5910a
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 10:15:46 -03: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
c0d17bbda3 limit light alpha mult to renderflag 2025-04-29 15:47:28 -03:00