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.
Objects no longer inherit from extra data class
"Controlled" harmful abstraction no longer exists
Introduced NiParticleModifier/NiParticleCollider abstractions
Extra data size reading moved into the base read() method
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.
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.