forked from mirror/openmw-tes3mp
Don't reset delete flag when loading reference from a save game (Fixes #2724)
This commit is contained in:
parent
850092a5e5
commit
18cce3a6f9
3 changed files with 12 additions and 8 deletions
|
@ -19,7 +19,7 @@ MWWorld::LiveCellRefBase::LiveCellRefBase(std::string type, const ESM::CellRef &
|
|||
void MWWorld::LiveCellRefBase::loadImp (const ESM::ObjectState& state)
|
||||
{
|
||||
mRef = state.mRef;
|
||||
mData = RefData (state);
|
||||
mData = RefData (state, mData.isDeletedByContentFile());
|
||||
|
||||
Ptr ptr (this);
|
||||
|
||||
|
|
|
@ -49,8 +49,8 @@ namespace MWWorld
|
|||
{
|
||||
}
|
||||
|
||||
RefData::RefData (const ESM::ObjectState& objectState)
|
||||
: mBaseNode(0), mDeleted(false),
|
||||
RefData::RefData (const ESM::ObjectState& objectState, bool deleted)
|
||||
: mBaseNode(0), mDeleted(deleted),
|
||||
mEnabled (objectState.mEnabled != 0),
|
||||
mCount (objectState.mCount),
|
||||
mPosition (objectState.mPosition),
|
||||
|
|
|
@ -30,10 +30,14 @@ namespace MWWorld
|
|||
|
||||
MWScript::Locals mLocals;
|
||||
|
||||
bool mDeleted; // separate delete flag used for deletion by a content file
|
||||
bool mEnabled;
|
||||
int mCount; // 0: deleted
|
||||
/// separate delete flag used for deletion by a content file
|
||||
/// @note not stored in the save game file.
|
||||
bool mDeleted;
|
||||
|
||||
bool mEnabled;
|
||||
|
||||
/// 0: deleted
|
||||
int mCount;
|
||||
|
||||
ESM::Position mPosition;
|
||||
|
||||
|
@ -51,10 +55,10 @@ namespace MWWorld
|
|||
|
||||
/// @param cellRef Used to copy constant data such as position into this class where it can
|
||||
/// be altered without affecting the original data. This makes it possible
|
||||
/// to reset the position as the orignal data is still held in the CellRef
|
||||
/// to reset the position as the original data is still held in the CellRef
|
||||
RefData (const ESM::CellRef& cellRef);
|
||||
|
||||
RefData (const ESM::ObjectState& objectState);
|
||||
RefData (const ESM::ObjectState& objectState, bool deleted);
|
||||
///< Ignores local variables and custom data (not enough context available here to
|
||||
/// perform these operations).
|
||||
|
||||
|
|
Loading…
Reference in a new issue