Commit Graph

84 Commits

Author SHA1 Message Date
Alexei Kotov 4a0c998f53 Avoid zero division during animation interpolation 2025-07-18 00:13:01 +03:00
Alexei Kotov 93cb69b012 Assume NIF controller data is already sorted (#8545) 2025-07-18 00:09:28 +03:00
Alexei Kotov a03a2a5ff2 Re-reimplement TCB interpolation for scalars and vectors (#2379) 2025-07-14 13:09:23 +03:00
Alexei Kotov 119a87b7f4 Revert "Merge branch 'tbcornottbcwaititstcbactually' into 'master'"
This reverts merge request !4539
2025-07-13 18:02:15 +03:00
Alexei Kotov 1a9e29844b Implement TCB interpolation for vectors and scalars (#2379) 2025-02-13 13:41:34 +03:00
Max Yari 55ffb6d7d2 Animation blending implementation for NIF and osgAnimation through YAML files
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
2024-07-19 00:04:15 +01:00
Andrei Kortunov 8d3efd27ba Add missing initialization 2024-01-03 19:25:33 +04:00
Alexei Kotov f271c4305a Fix formatting 2023-09-14 05:11:40 +03:00
Alexei Kotov 8856dff3db Refactor NiParticleSystemController and update definitions 2023-09-14 04:57:55 +03:00
Alexei Kotov 0fe095303f Rename Controller->NiTimeController, update NiTimeController and related code 2023-09-14 03:12:10 +03:00
Alexei Kotov ca85820431 Refactor NiUVController 2023-09-14 02:07:24 +03:00
Alexei Kotov 19d1f6f3f5 Rewrite typed NiInterpolator loading 2023-09-14 00:34:15 +03:00
Alexei Kotov 208bfa9e21 Refactor NiMaterialColorController 2023-09-13 23:37:28 +03:00
Alexei Kotov 523e7e8228 Modernize NiRotatingParticlesData and NiVisData 2023-09-06 23:55:35 +03:00
elsid 843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
clang-format-bot ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
Alexei Kotov 7aee22be91 Further controller updates
Correct NiMaterialColorController base class
Load everything in NiGeomMorpherController
Make a guess at how weighted interpolators might be supposed to work like
2022-09-16 23:45:54 +03:00
Alexei Kotov 482de23893 Streamline NiInterpController handling 2022-09-15 00:58:10 +03:00
Project579 02ef9c953e MSVC: Fix all warnings at level 4, upgrade Qt5 to 5.15.2 to also reduce warnings, disabled 5054 warnings due to Qt5's use of deprecated operators in C++20 . 2022-07-17 11:23:12 +02:00
Alexei Kotov e673f9fa76 Clean up NIF flags 2022-06-22 01:58:16 +03:00
Alexei Kotov 21f6e2e419 Encapsulate NIF transformations, round 2 (task #6709) 2022-06-08 07:05:35 +03:00
Alexei Dobrohotov 54df5031b7 Add XYZ rotation axis order support 2022-02-19 02:22:08 +03:00
Alexei Dobrohotov a64057fb36 Some NIF cleanup
Clean up keyframe controller construction
Make LOD and switch node generation static
Clarify decal map implementation
2021-12-11 16:16:16 +03:00
Bo Svensson 356e9d7cf0
refactors osg::Callback virtual inheritance (#3200)
With this PR we refactor `SceneUtil::KeyframeController` not to require `virtual osg::Callback` inheritance. I suppose such `virtual` overhead is not justified here because it negatively impacts many other classes we derive from `osg::Callback`.
2021-10-30 22:43:18 +02:00
Bo Svensson b2af81bc18
converts remaining osg::NodeCallback (#3147)
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
2021-10-05 14:21:12 +02:00
Bo Svensson aaf7b423d6
adds a replacement for osg::NodeCallback (#3144)
* nodecallback.hpp

* lightmanager.hpp

* lightmanager.cpp

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* [ci skip]

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* lightmanager.cpp

* lightmanager.cpp

* nodecallback.hpp

* [ci skip]

* [ci skip]

* controller.cpp

* [ci skip]

* osgacontroller.cpp

* keyframe.hpp

* controller.hpp

* keyframe.hpp

* [ci skip]

* keyframe.hpp

* animation.hpp

* [ci skip]

* weaponanimation.cpp

* nodecallback.hpp
2021-10-04 10:56:55 +02:00
fredzio fda639eb57 Remove unused forward declarations 2021-04-11 14:46:51 +02:00
Alexei Dobrohotov 1c83e4936d Read BSShaderTextureSet and NiColorInterpolator
Accept boolean-based and 4D vector-based NiInterpolators in ValueInterpolator constructor
2020-12-15 00:06:43 +03:00
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
Alexei Dobrohotov 8a6d3d1b4f Minor fixes
Fix extra semicolon
Disable collision avoidance if AI is disabled
2020-11-13 22:53:12 +03:00
Evil Eye 94c89e6d5e check ValueTs 2020-11-13 16:41:45 +01:00
Evil Eye d8897c4509 remove inline and use enable_if_t 2020-11-12 20:46:45 +01:00
Evil Eye d8d4351962 fix MSVC2017 builds 2020-11-12 19:45:32 +01:00
Alexei Dobrohotov a46699fb1e Handle NiGeomMorpherController interpolator list 2020-11-10 23:23:11 +03:00
Alexei Dobrohotov f3f5dcb016 Read a few more NIF types
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
2020-11-10 22:37:39 +03:00
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Alexei Dobrohotov 302d8eed27 Clean up Roll- and FlipController implementation 2020-10-06 20:47:06 +03:00
Capostrophic aa131262ea Implement quadratic interpolation for scalars and vectors 2020-08-07 11:13:53 +03:00
Capostrophic a61267f57d Replace NodeUserData with a custom transform node 2020-07-26 09:57:43 +03:00
bzzt lost a hitlab login f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
Capostrophic 30fc2e3e5e Add basic NiPathController support (movement only) 2020-05-13 18:01:22 +03:00
Bret Curtis 68549828b4 create static functions to set/get hidden node mask; compromise on magic numbers to make things easier to understand 2020-04-22 13:34:19 +02:00
capostrophic 32caab663f Enumerate interpolation types properly 2020-01-02 13:07:27 +03:00
capostrophic e654a52b70 More NIF adjustments
Constant interpolation support
2020-01-02 13:07:27 +03:00
Andrei Kortunov af41e9acc1 Initialize variables to avoid undefined values 2019-11-13 14:47:29 +04:00
Capostrophic 83f61d1636 Support target color in NiMaterialColorController (bug #5159) 2019-09-16 22:31:18 +03:00
Andrei Kortunov 60f112d11c Add support for NiRollController (feature #4675) 2019-02-21 12:34:35 +04:00
scrawl 5d524a6a10 Add custom version of MorphGeometry replacing osgAnimation
Double buffering, custom bounding box and the update in the cull visitor (instead of update) are now all handled internally rather than needing hacks and/or callbacks.
2017-09-01 21:42:36 +00:00
Bret Curtis d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 2017-06-09 19:08:53 +02:00
Bret Curtis 07f75e1104 replace boost::shared_ptr in extern and components 2017-06-09 19:08:53 +02:00