This makes it possible to "reload" the Ptrs in active cells when changes happen to the ESM record that they are based on. In practice, the old Ptrs are deleted, their RefNums and MpNums are blanked out, and new Ptrs are created that use the same RefNum and MpNum as before.
The above has required me to also add a method called setRefNum() to CellRef to allow setting a RefNum on the fly.
There may be a more elegant implementation available for updatePtrsWithRefIds(), but it requires additional research.
1. Changed mIndex to unsigned, to solve potential implementation defined behavior with right shift.
2. Refactoring to minimize use of magic number -1 to indicate "no Content File".
The InsertFunctor for cells was calling localRotateObject() for all references which set the mChanged flag in RefData to true.
Also clean up RefData interface slightly.
Functions compiled as taking a class can't be linked with functions giving a struct, because of the name mangling I'm guessing...
unresolved external symbol "protected: void __thiscall MWWorld::LiveCellRefBase::loadImp(class ESM::ObjectState const &)" (?loadImp@LiveCellRefBase@MWWorld@@IAEXABVObjectState@ESM@@@Z)