mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-25 15:35:23 +00:00
Implement overwriting pathgrid records (Fixes #2175)
This commit is contained in:
parent
fadbb5ad21
commit
dd0cea21b0
@ -876,8 +876,36 @@ namespace MWWorld
|
||||
public:
|
||||
|
||||
void load(ESM::ESMReader &esm, const std::string &id) {
|
||||
mStatic.push_back(ESM::Pathgrid());
|
||||
mStatic.back().load(esm);
|
||||
|
||||
ESM::Pathgrid pathgrid;
|
||||
pathgrid.load(esm);
|
||||
|
||||
// Try to overwrite existing record
|
||||
// Can't use search() because we aren't sorted yet
|
||||
if (!pathgrid.mCell.empty())
|
||||
{
|
||||
for (std::vector<ESM::Pathgrid>::iterator it = mStatic.begin(); it != mStatic.end(); ++it)
|
||||
{
|
||||
if ((*it).mCell == pathgrid.mCell)
|
||||
{
|
||||
(*it) = pathgrid;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (std::vector<ESM::Pathgrid>::iterator it = mStatic.begin(); it != mStatic.end(); ++it)
|
||||
{
|
||||
if ((*it).mData.mX == pathgrid.mData.mX && (*it).mData.mY == pathgrid.mData.mY)
|
||||
{
|
||||
(*it) = pathgrid;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mStatic.push_back(pathgrid);
|
||||
}
|
||||
|
||||
size_t getSize() const {
|
||||
|
Loading…
x
Reference in New Issue
Block a user