This reverts commit ad609bff78.
Revert "Made incorrect nif get error message more informative."
This reverts commit 9909c4abad.
Revert "Build the nif file tester by default"
This reverts commit c1315ed90c.
Revert "Converted most nifstream "get multiple" functions to the templated version"
This reverts commit 2619d57bb6.
Revert "Add a templated option for getting vectors to NIFStream"
This reverts commit f318ee0b8c.
Revert "Made NIFStream getters templated"
This reverts commit 4edc4142f3.
It's extremely useful in determining if a nif file is bad without having to load up openmw or opencs.
Also updated the nif testing script to run at a low priority.
This resolves the dependency mess, and makes things more readable.
The dependency tree for nif records now looks like this:
Record.hpp
--base.hpp
----controlled.hpp
----controller.hpp
----data.hpp
----effect.hpp
----extra.hpp
----node.hpp
Node.hpp has many extra dependencies because nifogre only includes it instead of each of these files.
That should be fixed.
Just give it a set of files, one file per argument, and it will make sure openmw can read them.
On linux/mac you can use "xargs --arg-file=nifs.txt ./niftest" to give it a list of files to check.
- Remove broken cache locking mechanism
This was supposed to unload NIFFiles after a cell transition completes, but it was never working due to a mistake on the line if (--sLockLevel), should have been if (--sLockLevel == 0). Repairing this would increase load times (NIF files would have to be reloaded more frequently), so just removed it for now.
- Decouple cache from NIFFile (now a new nifcache component)
- Add API for future background loading
- Provide a reliable way (SharedPtr) to hold on to loaded NIFFiles. This will be useful to avoid deep copies of keyframe and text key data, which is currently a performance bottleneck.
Don't actually do anything with it yet, but without this the "MW Containers Animated" mod made containers inaccessible.
Partly implements Feature #1067
These are placed under the RootCollisionNode hierarchy, but the shapes they
hold aren't collided with. Their exact function is unknown, but seems to be
related to lava? Maybe damage avoidance info for the AI.