- new file: apps/openmw/mwworld/store.cpp, had to move reference merging method out of the header file to prevent three-way recursion/unresolved forward references in custom compare operators.
Conflicts:
apps/openmw/engine.cpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/store.hpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm/esmreader.hpp
- Quick hack: OMW::Engine::prepareEngine only loads translation data for the first master file.
The code in bullet_nif_loader was modifing the loaded NIF file as part of
processing. Currently this is OK since the NIF file will be thrown away
immediately, but it causes problems when trying to share loaded NIF files.
Replaced old file index with a simple map. The map works by storing the
file's relative path with path seperators normalized, and in lower case if
not in strict mode. Incoming searches are normalized in the same way then
the name is searched in the map. The value in the map is the original full
path to the file which is then used to created a ConstrainedDataStream. In
addition to changing the index, the commonly used Archive methods are
implemented so that they don't fall back on the default FileSystemArchive
implementations.
moved the ConstrainedDataStream into its own source file and changed
BSAFile to use it though the exposed factory function. This is in
preperation foreimplementing it based on feedback from profiling that
(at least on windows) the C++ iostreams library is quite slow.
ResourceGroupManager::resourceExistsInAnyGroup is slow (at least on
windows) if the tested path does not exist, but is fast if it does (due
to finding it in the index). This change tries the '.dds' version of the
name first, and reverts to the original if the '.dds' version was not
found.
- Add preliminary support for loading some unique fields appearing only in savegames
- Add a few lines required for supporting respawning references. Incomplete.