fixes integration tests

we still want to be able to write using old formats
depth-refraction
florent.teppe 2 years ago
parent f99e65843a
commit 1e0c3bfdec

@ -793,12 +793,12 @@ namespace MWWorld
}
ESM::Cell* Store<ESM::Cell>::insert(const ESM::Cell& cell)
{
ESM::Cell* insertedCell = &mCells.emplace(cell.mId, cell).first->second;
if (search(cell) != nullptr)
{
const std::string cellType = (cell.isExterior()) ? "exterior" : "interior";
throw std::runtime_error("Failed to create " + cellType + " cell");
}
ESM::Cell* insertedCell = &mCells.emplace(cell.mId, cell).first->second;
if (cell.isExterior())
{
std::pair<int, int> key(cell.getGridX(), cell.getGridY());

@ -4,6 +4,7 @@
#include <fstream>
#include <stdexcept>
#include <components/esm3/cellid.hpp>
#include <components/debug/debuglog.hpp>
#include <components/misc/notnullptr.hpp>
#include <components/to_utf8/to_utf8.hpp>
@ -238,7 +239,13 @@ namespace ESM
void ESMWriter::writeCellId(const ESM::RefId& cellId)
{
writeHNRefId("NAME", cellId);
if (mHeader.mFormatVersion <= ESM::MaxUseEsmCellId)
{
ESM::CellId generatedCellid = ESM::CellId::extractFromRefId(cellId);
generatedCellid.save(*this);
}
else
writeHNRefId("NAME", cellId);
}
void ESMWriter::writeMaybeFixedSizeString(const std::string& data, std::size_t size)

Loading…
Cancel
Save