The flag must be separate so as to not contaminate the user's savegame.
Fixes the following use cases that were broken before:
- Content file edits a reference that was already deleted by a previously loaded content file -> reference must stay deleted
- Changed or new content file deletes a reference that is already present in the user's savegame -> reference must be deleted
- Said content file is disabled again - reference must be undeleted
- 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.
- Add preliminary support for loading some unique fields appearing only in savegames
- Add a few lines required for supporting respawning references. Incomplete.
Conflicts:
apps/openmw/mwrender/terrain.cpp
apps/openmw/mwworld/cells.cpp
apps/openmw/mwworld/cells.hpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/cellstore.hpp
apps/openmw/mwworld/containerstore.cpp
apps/openmw/mwworld/localscripts.cpp
apps/openmw/mwworld/scene.cpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm_store/reclists.hpp
components/esm_store/store.cpp
extern/shiny
- Re-implement some patches that were broken by the removal of reclists.hpp and store.cpp/.hpp.
- NOTE: Not everything works as before, I'll have to test some more stuff before we are back to where we were.
- Change CellRefList::list from list<> to map<int,> so we can identify live references by their Refnumber.
- Introduce ContainerRefList, a clone of the original CellRefList. It is now used for containers, which do not track Refnumbers.
- Many small tweaks so that the new CellRefList does not conflict with existing code.