Commit Graph

83 Commits (b0dfd7456210ea52e98fc9c809c8865fa5eaa045)

Author SHA1 Message Date
Alexei Kotov 19d1f6f3f5 Rewrite typed NiInterpolator loading 1 year ago
Alexei Kotov 6d82f8b00d Refactor NiKeyframeController and NiTransformInterpolator 1 year ago
Alexei Kotov 208bfa9e21 Refactor NiMaterialColorController 1 year ago
Alexei Kotov 523e7e8228 Modernize NiRotatingParticlesData and NiVisData 1 year ago
elsid 0688b6de40
Separate record list reading from its state
To make it possible to set record list state independently from reading NIF
file.
2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
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
2 years ago
Alexei Kotov 482de23893 Streamline NiInterpController handling 2 years ago
elsid 2d6e048d88
Fix C4589 msvc warning
Constructor of abstract class 'SceneUtil::KeyframeController' ignores initializer for virtual base class 'osg::Object'
3 years ago
Alexei Kotov e673f9fa76 Clean up NIF flags 3 years ago
Alexei Kotov dd758f8fd1 Always update the current matrix in KeyframeController 3 years ago
Alexei Kotov 21f6e2e419 Encapsulate NIF transformations, round 2 (task #6709) 3 years ago
Alexei Dobrohotov 54df5031b7 Add XYZ rotation axis order support 3 years ago
Alexei Dobrohotov a64057fb36 Some NIF cleanup
Clean up keyframe controller construction
Make LOD and switch node generation static
Clarify decal map implementation
3 years ago
Alexei Dobrohotov c7edca559b Morph geometry more like NifSkope (bug #6416) 3 years ago
Alexei Dobrohotov 7a0c13fcf8 Make better use of std::clamp 3 years ago
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.
3 years ago
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
3 years ago
Dobrohotov Alexei 971ba81ed2 Use higher level transformations in UVController 4 years ago
Dobrohotov Alexei 24f4bf9c28 Fix NiUVController UV offset calculations (bug #5995) 4 years ago
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 4 years ago
Alexei Dobrohotov a46699fb1e Handle NiGeomMorpherController interpolator list 4 years ago
Alexei Dobrohotov f3f5dcb016 Read a few more NIF types
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
4 years ago
Andrei Kortunov 065ed5138e Use emplace_back instead of push_back 4 years ago
Alexei Dobrohotov 302d8eed27 Clean up Roll- and FlipController implementation 4 years ago
AnyOldName3 b2cb98d30e Fix NiFlipController
NiFlipControllers *always* affect the base texture, even if no base
texture is bound. When no base texture is bound, they default to UV set
zero and to having wrapped UV coordinates, instead of using the settings
for the disabled base texture.
4 years ago
Capostrophic 35de34c019 Don't clamp GeomMorpherController recovered weight value
Seems that Morrowind doesn't do it.
4 years ago
Capostrophic 3d31d21bc2 Don't encapsulate NIF transformation changes
Currently that causes issues
4 years ago
Capostrophic f93655e803 Encapsulate NIF transform changes in NifOsg::MatrixTransform 5 years ago
Capostrophic a61267f57d Replace NodeUserData with a custom transform node 5 years ago
bzzt lost a hitlab login 26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
bzzt lost a hitlab login f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
Capostrophic 30fc2e3e5e Add basic NiPathController support (movement only) 5 years ago
Bret Curtis 68549828b4 create static functions to set/get hidden node mask; compromise on magic numbers to make things easier to understand 5 years ago
Bret Curtis 8a8107e837 as it says; revert vismask and uncomplicate openmw 5 years ago
Andrei Kortunov 7b5ec76db4 Fix regression in the NiVisController 5 years ago
Andrei Kortunov 84979fa8b7 Move VisMask to components 5 years ago
Capostrophic 83f61d1636 Support target color in NiMaterialColorController (bug #5159) 5 years ago
Andrei Kortunov 7995a92672 Initialize missing variables 6 years ago
Andrei Kortunov 60f112d11c Add support for NiRollController (feature #4675) 6 years ago
Andrei Kortunov 7e2bda459b Check if there are textures in FlipController to avoid division by zero (bug #4614) 6 years ago
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.
7 years ago
Allofich ff3e307059 Pass parameters by const reference 8 years ago
scrawl 33d27a2285 Use ref_ptr 9 years ago
scrawl 62018e802b Minor fix to particle system AutoPlay flag handling
The previous commit broke some magic effects (e.g. shield). The controller's emit start/stop times should control the emitter, while the absence of the ParticleSystem's autoplay flag should freeze the whole particle system if no valid controller source gets assigned. This revised version works for both the Shield effect and the "dagoth ur death sparkles" effect.
9 years ago
scrawl 0c08f705c5 Make the ParticleSystemController freeze the particle system instead of the emitter (Bug #3390) 9 years ago
scrawl be6ea3d607 Account for UV coordinate flip in UVController (Fixes #3203) 9 years ago
scrawl daa94cc50e Fix cppcheck warnings 9 years ago
scrawl a29aef14f1 Eliminate a dynamic_cast in ParticleSystemController 9 years ago
scrawl 695fcf41c4 Optimize ValueInterpolator / KeyframeController
Cache the current position in the animation track and attempt to reuse it in the next frame.

Decent speed up for the Update phase, about 0.3 ms faster in Balmora.
9 years ago