mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-29 09:32:45 +00:00
Load default markers definitions in editor
This commit is contained in:
parent
17222eb821
commit
2f89080b36
@ -962,6 +962,29 @@ int CSMWorld::Data::startLoading (const boost::filesystem::path& path, bool base
|
||||
return mReader->getRecordCount();
|
||||
}
|
||||
|
||||
void CSMWorld::Data::loadFallbackEntries()
|
||||
{
|
||||
// Load default marker definitions, if game files do not have them for some reason
|
||||
std::pair<std::string, std::string> markers[] = {
|
||||
std::make_pair("divinemarker", "marker_divine.nif"),
|
||||
std::make_pair("doormarker", "marker_arrow.nif"),
|
||||
std::make_pair("northmarker", "marker_north.nif"),
|
||||
std::make_pair("templemarker", "marker_temple.nif"),
|
||||
std::make_pair("travelmarker", "marker_travel.nif")
|
||||
};
|
||||
|
||||
for (const std::pair<std::string, std::string> marker : markers)
|
||||
{
|
||||
if (mReferenceables.searchId (marker.first)==-1)
|
||||
{
|
||||
CSMWorld::Record<ESM::Static> record;
|
||||
record.mBase = ESM::Static(marker.first, marker.second);
|
||||
record.mState = CSMWorld::RecordBase::State_BaseOnly;
|
||||
mReferenceables.appendRecord (record, CSMWorld::UniversalId::Type_Static);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CSMWorld::Data::continueLoading (CSMDoc::Messages& messages)
|
||||
{
|
||||
if (!mReader)
|
||||
@ -983,6 +1006,9 @@ bool CSMWorld::Data::continueLoading (CSMDoc::Messages& messages)
|
||||
mReader = 0;
|
||||
|
||||
mDialogue = 0;
|
||||
|
||||
loadFallbackEntries();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -144,6 +144,8 @@ namespace CSMWorld
|
||||
|
||||
static int count (RecordBase::State state, const CollectionBase& collection);
|
||||
|
||||
void loadFallbackEntries();
|
||||
|
||||
public:
|
||||
|
||||
Data (ToUTF8::FromType encoding, bool fsStrict, const Files::PathContainer& dataPaths,
|
||||
|
Loading…
x
Reference in New Issue
Block a user