restore loading CELL records in esmtool

pull/37/head
greye 12 years ago
parent d839a4c6c2
commit 9133182f2f

@ -79,7 +79,7 @@ void CellRef::save(ESMWriter &esm)
} }
} }
void Cell::load(ESMReader &esm, MWWorld::ESMStore &store) void Cell::load(ESMReader &esm, bool saveContext)
{ {
// Ignore this for now, it might mean we should delete the entire // Ignore this for now, it might mean we should delete the entire
// cell? // cell?
@ -127,6 +127,16 @@ void Cell::load(ESMReader &esm, MWWorld::ESMStore &store)
esm.getHT(mNAM0); esm.getHT(mNAM0);
} }
if (saveContext) {
mContextList.push_back(esm.getContext());
esm.skipRecord();
}
}
void Cell::load(ESMReader &esm, MWWorld::ESMStore &store)
{
this->load(esm, false);
// preload moved references // preload moved references
while (esm.isNextSub("MVRF")) { while (esm.isNextSub("MVRF")) {
CellRef ref; CellRef ref;

@ -174,7 +174,7 @@ struct Cell
// This method is left in for compatibility with esmtool. Parsing moved references currently requires // This method is left in for compatibility with esmtool. Parsing moved references currently requires
// passing ESMStore, bit it does not know about this parameter, so we do it this way. // passing ESMStore, bit it does not know about this parameter, so we do it this way.
void load(ESMReader &esm) {}; void load(ESMReader &esm, bool saveContext = true);
void save(ESMWriter &esm); void save(ESMWriter &esm);
bool isExterior() const bool isExterior() const

Loading…
Cancel
Save