Commit Graph

26 Commits (master)

Author SHA1 Message Date
Alexei Dobrohotov 0f222d270e Prefer the earliest eponymous nodes in skeletons (bug #3842) 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
elsid f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2 years ago
elsid 0e12d331f9
Simplify iteration over Bone::mChildren 2 years ago
elsid e4f599575e
Use unique_ptr to manage Bone lifetime 2 years ago
Evil Eye a95b6e050a Replace new with make_unique in components 3 years ago
Bo Svensson b61140b8ba
optimises skeleton.cpp (#3158)
With this PR we optimise a function that is called quite often when loading new cells.

We remove avoidable dynamic_casts.
We remove an unused pair.second element.
We convert a map to an unordered_map because its ordering is irrelevant in this case.
We avoid adding the root Skeleton node to the bones' node path.
3 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Andrei Kortunov 1452684d9e Use new logging system for components 6 years ago
scrawl bba9a8dd91
Don't update off-screen animations
Make flying creatures animate in-place when out of processing range
7 years ago
scrawl 209e139aa8 Move double buffering implementation inside RigGeometry
The double buffering is an implementation detail so it should be handled as such, rather than mandating the scene graph to be structured in a certain way.

Override accept(NodeVisitor&) instead of using callbacks.
7 years ago
scrawl 13a6070629 Remove warning spam in skeleton.cpp
If the root bone is missing, that is caused by all bones being missing which will have been logged already.
8 years ago
scrawl 29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
8 years ago
scrawl cca75499ee Clear the Skeleton's bone cache when a node is added/removed (Fixes #3663) 8 years ago
scrawl 8f62ea2e80 Fix for "RigGeometry rendering with no skeleton" errors 9 years ago
scrawl 6fa95e72c5 Pass the traversal number instead of the node visitor 9 years ago
scrawl 8791063110 Fix "RigGeometry rendering with no skeleton" warnings in rare cases 9 years ago
scrawl 624809c8dc Minor fix for error handling in skeleton.cpp 9 years ago
scrawl c60f4ba7bd Make RigGeometry bone references case-insensitive (Fixes #3058) 9 years ago
scrawl eb458bf9c8 Fix inactive RigGeometry not rendering correctly 9 years ago
scrawl 21e25f4756 Use the traversalNumber as frame number 9 years ago
scrawl 43f9c7f295 Skip the Update traversal for inactive skeletons 10 years ago
scrawl da24e298ee Fix -Wreorder warnings 10 years ago
scrawl 83c6ba97c0 Disable skinning updates for actors beyond the AI processing distance 10 years ago
scrawl eaa4316ff8 Move skinning code to SceneUtil 10 years ago