Commit graph

574 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
0caa036a96 fix compilation 2024-07-09 12:25:28 -03:00
Ricardo Luís Vaz Silva
7ddd4ec245 handle freeze in decoupled animations 2024-07-09 12:25:28 -03:00
nashmuhandes
2e4bf697b8 Add X, Y and Z offsets for VOXELDEF. Needed for voxelized weapons which would typically be very large and take up the majority of the 256x256x256 canvas, therefore making precise positioning of the models relative to the screen pretty much impossible without tweakable offsets. 2024-06-21 08:17:54 -03:00
Ricardo Luís Vaz Silva
9af3d54a19 Fix Decoupled Animation Crash, Interpolation Bugs, Simplify Interpolation code 2024-04-17 21:38:27 -03:00
Ricardo Luís Vaz Silva
7c93cfa97b Decoupled Animation fixes and improvements
* fixes looping that uses `loopFrame`
* adds `endFrame`
* adds `SAF_NOOVERRIDE`
* fixes crash on SetAnimation if a BaseFrame isn't defined
2024-04-16 20:27:44 -03:00
Ricardo Luís Vaz Silva
ce479e09ff Fix A_ChangeModel serialization
I overlooked this part on my first A_ChangeModel fix
2024-03-17 18:07:50 -03:00
Ricardo Luís Vaz Silva
0092aa0772 Fix crash with DecoupledModels flag defined but no actual model 2024-03-15 21:08:59 +01:00
Christoph Oelckers
520b960ca5 Reverted the path node system
Code reviews were unfavorable so better nix it before it finds wider use.
2024-03-15 20:24:39 +01:00
Ricardo Luís Vaz Silva
341c1bbede Fix crash with DecoupledModels flag defined but no actual model 2024-03-14 18:52:04 -03:00
Ricardo Luís Vaz Silva
98e6330eaa allow modeldef flags to be overriden 2024-01-16 10:27:08 -05:00
Christoph Oelckers
f13ae3b706 addressed a few things pointed out by static analysis
* marking move assignments noexcept
* using [[fallthrough]] consistently.
* getting rid of alloca.
2024-01-07 08:46:47 +01:00
Christoph Oelckers
fe106d9bfe merge FileData and ResourceData. 2023-12-14 17:22:29 +01:00
Ricardo Luís Vaz Silva
5d5e7ca042 Decoupled IQM Model Animations 2023-11-20 22:08:33 -05:00
Ricardo Luís Vaz Silva
1a8dfd2dfa ActorModelData cleanup in preparation for decoupled model animations 2023-11-20 22:08:33 -05:00
Christoph Oelckers
0b36beb10d serialize the remap data of custom translations defined at run time. 2023-11-19 12:44:22 +01:00
Christoph Oelckers
c5c822ea75 use FTranslationID in the model code. 2023-11-09 23:04:11 +01:00
Christoph Oelckers
8c5eb2c807 use FTranslationID in all places where strict type checking is needed.
This means all properties in serializable classes now use this wrapper type. The backend hasn't been changed yet
2023-11-09 23:04:10 +01:00
Christoph Oelckers
f0c9b1765e gave translations a dedicated scripted type.
This is needed for implementing reliable serialization of custom translations. As long as they are merely ints they cannot be restored on loading a savegame because the serialization code does not know that these variables are special.
2023-11-09 23:04:10 +01:00
Rachael Alexanderson
6d1ebf5f27 - allow FORCEBACKCULLFACES to work with hud models 2023-10-25 10:57:48 -04:00
Rachael Alexanderson
e2a9208c56 - fix error in last commit, >> should be << 2023-10-15 11:16:24 -04:00
Rachael Alexanderson
bac12948e5 - add forcecullbackfaces in modeldef 2023-10-14 14:37:40 -04:00
Christoph Oelckers
c8ee0cd5cc fixed another bad string validation check involving GetChars 2023-10-08 09:37:12 +02:00
Christoph Oelckers
7a5a2858a2 yet even more GetChars calls added. 2023-10-07 23:29:24 +02:00
Christoph Oelckers
c94c63110e added a third batch of GetChars call to FStrings. 2023-10-07 23:03:40 +02:00
Christoph Oelckers
ebb71cebf1 - put the entire filesystem code into a namespace and created some subdirectories. 2023-08-22 22:54:54 +02:00
Christoph Oelckers
a0d679b84b - FileData cleanup and uncoupling from FString.
Work is still needed to allow this to use the lump cache directly because some decisions in the past made this data padded by a zero byte.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
25b7b18c3d - got rid of the two copying variants of fileSystem.GetFileShortName. 2023-08-22 22:18:53 +02:00
Christoph Oelckers
81fb9a26b2 - backend update from Raze.
* add QualifiedName to VMFunction and allocate these static names from the class data memory arena instead of using FStrings.
* null pointer type checks in the VM added to avoid crash on bad codegen.
2023-07-22 09:55:49 +02:00
Ricardo Luís Vaz Silva
0e438f10f3 fix CMDL_HideModel 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
61d68eb2d6 Rewrite changed model rendering code, and change how model skins are handled 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
b55ffdbfd3 major A_ChangeModel cleanup 2023-06-26 00:36:36 -04:00
l2ksolkov
245dac814e Add missing include guards 2023-05-29 07:35:26 +02:00
Christoph Oelckers
087050c201 - use uniform buffers for dynamic lights everywhere.
Branching on SSBO content does not work that well on NVidia so it is better disabled.
So far only implemented for OpenGL - Vulkan needs more work.
2023-02-18 12:22:26 +01:00
Christoph Oelckers
1561616498 - pass colormap to MakeGoodRemap as parameter.
Removes a Doom dependency and avoids double reading of the COLORMAP lump.
2023-01-15 08:34:32 +01:00
Christoph Oelckers
941c0850ba - Backend update from Raze.
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Ricardo Luís Vaz Silva
46d36cf5c7 add BobWeapon3D 2022-12-09 21:49:38 +01:00
9ad7b8a048 Look up named frames using the Animation ID (if any). 2022-12-03 23:30:59 +01:00
b002d5b8ec Fix crash if Animation is not explicitly assigned in MODELDEF. 2022-11-25 00:37:38 +01:00
Christoph Oelckers
65a26d6779 - removed the string constructors from FSoundID.
Due to C++ conversion rules this was a bit too volatile. There's really not enough places where being able to pass a string directly into the sound API was beneficial - the two most frequent functions now got overloaded variants.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
b89c4affae - removed the string assignment operators.
These all caught literal 0's as well
2022-11-24 23:52:52 +01:00
Christoph Oelckers
160633a4a2 - migrate a large part of the sound code to FSoundIDs.
This has always been a wild mixture of IDs and ints.
2022-11-24 23:52:52 +01:00
eab675c0cb Make model stretch fix opt-in with a flag. 2022-11-22 17:58:32 +01:00
0509d3a4e7 Fix incorrect pixelratio handling on rotated models. 2022-11-22 07:44:22 +01:00
Christoph Oelckers
706d465781 - removed the unused BaseBlend* variables and the testblend CCMD.
When this was still working it was software rendering only anyway so no real loss here.
2022-11-08 11:46:13 +01:00
Christoph Oelckers
4ebcff8573 - remaining changes for moving bone data to the backend 2022-11-06 10:59:33 +01:00
crashmahoney
0ca868d93f Fix HUD models not drawing if MODELDEF has been changed with A_ChangeModel 2022-11-01 11:48:16 +01:00
Shiny Metagross
f7c3615d3b IQM Refactor Milestone
- Removed bone manipulation code
- Implemented an index in calculateBones to optimize multi-armature actors
- Moved the bone storage object's creation to RenderModels so that the armature array can be sized there
2022-10-31 11:34:55 +01:00
Shiny Metagross
3f3cc5bbc3 IQM Refactor start
- Refactored IQM and calculateBones to process TRS at runtime which resolves some of the faulty animations with large rotations. Will also make bone manipulations much easier to do
2022-10-31 11:34:55 +01:00
Christoph Oelckers
5a52f61096 - fixed: R_LoadVoxelDef did not fully initialize the voxel descriptor it creates. 2022-10-20 20:23:35 +02:00
Christoph Oelckers
96e98fc4a8 - use field initializers for VoxelOptions 2022-10-20 20:17:14 +02:00