1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-03-14 01:19:59 +00:00

Merge branch 'destinationunknown' into 'master'

Don't add non-existent cell travel destinations (#8349)

Closes #8349

See merge request OpenMW/openmw!4540
This commit is contained in:
Alexei Kotov 2025-03-12 10:33:46 +03:00
commit 954741c717

View File

@ -4,6 +4,7 @@
#include <MyGUI_Gui.h>
#include <MyGUI_ScrollView.h>
#include <components/debug/debuglog.hpp>
#include <components/esm3/loadcrea.hpp>
#include <components/esm3/loadgmst.hpp>
#include <components/misc/strings/conversion.hpp>
@ -131,12 +132,18 @@ namespace MWGui
bool interior = true;
const ESM::ExteriorCellLocation cellIndex
= ESM::positionToExteriorCellLocation(dest.mPos.pos[0], dest.mPos.pos[1]);
const MWWorld::WorldModel& worldModel = *MWBase::Environment::get().getWorldModel();
if (cellname.empty())
{
MWWorld::CellStore& cell = MWBase::Environment::get().getWorldModel()->getExterior(cellIndex);
MWWorld::CellStore& cell = worldModel.getExterior(cellIndex);
cellname = MWBase::Environment::get().getWorld()->getCellName(&cell);
interior = false;
}
else if (worldModel.findCell(cellname, false) == nullptr)
{
Log(Debug::Error) << "Failed to add travel destination: unknown cell (" << cellname << ")";
continue;
}
addDestination(ESM::RefId::stringRefId(cellname), dest.mPos, interior);
}