mirror of
https://github.com/OpenMW/openmw.git
synced 2025-10-15 14:56:36 +00:00
fix tests
hopefully also fixes clang tidy
This commit is contained in:
parent
4c15064a83
commit
53b14c8b42
3 changed files with 19 additions and 10 deletions
|
@ -53,14 +53,17 @@ void CSMWorld::RefCollection::load(ESM::ESMReader& reader, int cellIndex, bool b
|
||||||
|
|
||||||
Cell& cell2 = base ? cell.mBase : cell.mModified;
|
Cell& cell2 = base ? cell.mBase : cell.mModified;
|
||||||
|
|
||||||
CellRef ref;
|
|
||||||
ref.mNew = false;
|
|
||||||
ESM::MovedCellRef mref;
|
ESM::MovedCellRef mref;
|
||||||
bool isDeleted = false;
|
bool isDeleted = false;
|
||||||
bool isMoved = false;
|
bool isMoved = false;
|
||||||
|
|
||||||
while (ESM::Cell::getNextRef(reader, ref, isDeleted, mref, isMoved))
|
while (true)
|
||||||
{
|
{
|
||||||
|
CellRef ref;
|
||||||
|
ref.mNew = false;
|
||||||
|
|
||||||
|
if (!ESM::Cell::getNextRef(reader, ref, isDeleted, mref, isMoved))
|
||||||
|
break;
|
||||||
// Keep mOriginalCell empty when in modified (as an indicator that the
|
// Keep mOriginalCell empty when in modified (as an indicator that the
|
||||||
// original cell will always be equal the current cell).
|
// original cell will always be equal the current cell).
|
||||||
ref.mOriginalCell = base ? cell2.mId : ESM::RefId();
|
ref.mOriginalCell = base ? cell2.mId : ESM::RefId();
|
||||||
|
@ -70,7 +73,7 @@ void CSMWorld::RefCollection::load(ESM::ESMReader& reader, int cellIndex, bool b
|
||||||
// Autocalculate the cell index from coordinates first
|
// Autocalculate the cell index from coordinates first
|
||||||
std::pair<int, int> index = ref.getCellIndex();
|
std::pair<int, int> index = ref.getCellIndex();
|
||||||
|
|
||||||
ref.mCell = ESM::RefId::stringRefId("#" + std::to_string(index.first) + " " + std::to_string(index.second));
|
ref.mCell = ESM::RefId::vec2i(index);
|
||||||
|
|
||||||
// Handle non-base moved references
|
// Handle non-base moved references
|
||||||
if (!base && isMoved)
|
if (!base && isMoved)
|
||||||
|
@ -86,12 +89,11 @@ void CSMWorld::RefCollection::load(ESM::ESMReader& reader, int cellIndex, bool b
|
||||||
if (index.first != mref.mTarget[0] || index.second != mref.mTarget[1])
|
if (index.first != mref.mTarget[0] || index.second != mref.mTarget[1])
|
||||||
{
|
{
|
||||||
ESM::RefId indexCell = ref.mCell;
|
ESM::RefId indexCell = ref.mCell;
|
||||||
ref.mCell = ESM::RefId::stringRefId(
|
ref.mCell = ESM::RefId::vec2i({ mref.mTarget[0], mref.mTarget[1] });
|
||||||
"#" + std::to_string(mref.mTarget[0]) + " " + std::to_string(mref.mTarget[1]));
|
|
||||||
|
|
||||||
CSMWorld::UniversalId id(CSMWorld::UniversalId::Type_Cell, mCells.getId(cellIndex));
|
CSMWorld::UniversalId id(CSMWorld::UniversalId::Type_Cell, mCells.getId(cellIndex));
|
||||||
messages.add(id, "The position of the moved reference " + ref.mRefID.getRefIdString() + " (cell " + indexCell.getRefIdString() + ")"
|
messages.add(id, "The position of the moved reference " + ref.mRefID.toDebugString() + " (cell " + indexCell.toDebugString() + ")"
|
||||||
" does not match the target cell (" + ref.mCell.getRefIdString() + ")",
|
" does not match the target cell (" + ref.mCell.toDebugString() + ")",
|
||||||
std::string(), CSMDoc::Message::Severity_Warning);
|
std::string(), CSMDoc::Message::Severity_Warning);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,7 +120,7 @@ void CSMWorld::RefCollection::load(ESM::ESMReader& reader, int cellIndex, bool b
|
||||||
|
|
||||||
messages.add(id,
|
messages.add(id,
|
||||||
"Attempt to move a non-existent reference - RefNum index " + std::to_string(ref.mRefNum.mIndex)
|
"Attempt to move a non-existent reference - RefNum index " + std::to_string(ref.mRefNum.mIndex)
|
||||||
+ ", refID " + ref.mRefID.getRefIdString() + ", content file index "
|
+ ", refID " + ref.mRefID.toDebugString() + ", content file index "
|
||||||
+ std::to_string(ref.mRefNum.mContentFile),
|
+ std::to_string(ref.mRefNum.mContentFile),
|
||||||
/*hint*/ "", CSMDoc::Message::Severity_Warning);
|
/*hint*/ "", CSMDoc::Message::Severity_Warning);
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -34,6 +34,14 @@ namespace ESM
|
||||||
|
|
||||||
struct VisitCellRefId
|
struct VisitCellRefId
|
||||||
{
|
{
|
||||||
|
CellId operator()(const ESM::EmptyRefId)
|
||||||
|
{
|
||||||
|
CellId out;
|
||||||
|
out.mPaged = true;
|
||||||
|
out.mIndex = {};
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
CellId operator()(const ESM::StringRefId& id)
|
CellId operator()(const ESM::StringRefId& id)
|
||||||
{
|
{
|
||||||
CellId out;
|
CellId out;
|
||||||
|
|
|
@ -25,7 +25,6 @@ namespace ESM
|
||||||
inline constexpr FormatVersion MaxNameIsRefIdOnlyFormatVersion = 25;
|
inline constexpr FormatVersion MaxNameIsRefIdOnlyFormatVersion = 25;
|
||||||
inline constexpr FormatVersion MaxUseEsmCellId = 26;
|
inline constexpr FormatVersion MaxUseEsmCellId = 26;
|
||||||
inline constexpr FormatVersion CurrentSaveGameFormatVersion = 27;
|
inline constexpr FormatVersion CurrentSaveGameFormatVersion = 27;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue