1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-30 03:32:36 +00:00

Feat(CS): Create LAND record using the undo stack

This commit is contained in:
Dave Corley 2023-12-10 11:16:59 -06:00
parent 731302ecff
commit d8187e40b2

View File

@ -25,6 +25,7 @@
#include "cellwater.hpp"
#include "instancedragmodes.hpp"
#include "mask.hpp"
#include "model/world/commands.hpp"
#include "object.hpp"
#include "pathgrid.hpp"
#include "terrainstorage.hpp"
@ -131,11 +132,17 @@ void CSVRender::Cell::updateLand()
return;
}
// Setup land if available
const CSMWorld::IdCollection<CSMWorld::Land>& land = mData.getLand();
CSMWorld::IdCollection<CSMWorld::Land>& land = mData.getLand();
int landIndex = land.searchId(mId);
if (landIndex == -1 || land.getRecord(mId).isDeleted())
if (landIndex == -1)
{
CSMWorld::IdTable& landTable
= dynamic_cast<CSMWorld::IdTable&>(*mData.getTableModel(CSMWorld::UniversalId::Type_Land));
mUndoStack.push(new CSMWorld::CreateCommand(landTable, mId.getRefIdString()));
}
if (land.getRecord(mId).isDeleted())
return;
const ESM::Land& esmLand = land.getRecord(mId).get();