Commit Graph

26 Commits (master)

Author SHA1 Message Date
Alexei Kotov 19d1f6f3f5 Rewrite typed NiInterpolator loading 1 year ago
Alexei Kotov 5b8f574be3 Update keygroup/morph loading 1 year ago
elsid f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2 years ago
elsid b39ccbeeef
Remove NIFFile::warn and NIFFile::fail functions
These functions use NIFFile only as context, they are not really a part of
either reading nor state invariant. And they only confuse reader because it's
not immediatelly obvious that no code is executed after fail.
2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
Alexei Kotov e2ed313389 Don't load keys for Gamebryo morphs 2 years ago
Andrei Kortunov c36c28e8f9 Move NIF implementation to cpp files 2 years ago
elsid bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
3 years ago
Alexei Dobrohotov 9b2978f143 Rehash morph loading rehashing 3 years ago
Alexei Dobrohotov 26dfce1114 Rehash key group and morph loading (bug #6517) 3 years ago
Andrei Kortunov a22f6b24d5 Init animation key struct before usage 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
Capostrophic aa131262ea Implement quadratic interpolation for scalars and vectors 4 years ago
capostrophic 32caab663f Enumerate interpolation types properly 5 years ago
capostrophic e654a52b70 More NIF adjustments
Constant interpolation support
5 years ago
Bret Curtis d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 8 years ago
Bret Curtis 07f75e1104 replace boost::shared_ptr in extern and components 8 years ago
scrawl 462ef617ce Don't read forward/backward values for Quaternion key lists
https://forum.openmw.org/viewtopic.php?f=8&t=3201&p=35867#p35867
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
scrawl 9242e6d256 Avoid copying keyframes in controller instances 10 years ago
scrawl f8422c3ed4 Particles mostly completed, still need to attach emitters to the correct node and handle NiBSPArrayController 10 years ago
scrawl 6b36e55a4e NIF reader cleanup: move definitions to cpp file 10 years ago
scrawl 8c10d4badb NIF reader compiles without Ogre 10 years ago
scrawl 5a25649076 Implement XYZ rotation keys support (Fixes #1067) 10 years ago
scrawl 9809748eba Store NIF keys mapped by time and use lower_bound for searches 10 years ago
Arthur Moore 8be6aefd95 Moved functions from niffile.cpp to where they belong.
Also cleaned up some #includes

Removed a few asserts.  Vector already throws an out_of_range error.
10 years ago