1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-19 00:17:56 +02:00

Fixed #1338 and #1341. Introduced post-load step to ease initialization of bonus source ids.

This commit is contained in:
Michał W. Urbańczyk
2013-07-21 14:19:29 +00:00
parent 1e11904d8a
commit 0eb496fb57
5 changed files with 40 additions and 3 deletions

View File

@ -264,6 +264,11 @@ void CContentHandler::ContentTypeHandler::loadMod(std::string modName)
}
}
void CContentHandler::ContentTypeHandler::afterLoadFinalization()
{
handler->afterLoadFinalization();
}
CContentHandler::CContentHandler()
{
handlers.insert(std::make_pair("heroClasses", ContentTypeHandler(&VLC->heroh->classes, "heroClass")));
@ -291,6 +296,14 @@ void CContentHandler::loadMod(std::string modName)
}
}
void CContentHandler::afterLoadFinalization()
{
for(auto & handler : handlers)
{
handler.second.afterLoadFinalization();
}
}
CModHandler::CModHandler()
{
for (int i = 0; i < GameConstants::RESOURCE_QUANTITY; ++i)
@ -558,8 +571,11 @@ void CModHandler::loadGameContent()
VLC->creh->loadCrExpBon();
VLC->creh->buildBonusTreeForTiers(); //do that after all new creatures are loaded
identifiers.finalize();
logGlobal->infoStream() << "\tResolving identifiers: " << timer.getDiff() << " ms";
content.afterLoadFinalization();
logGlobal->infoStream() << "\tHandlers post-load finalization: " << timer.getDiff() << " ms";
logGlobal->infoStream() << "\tAll game content loaded in " << totalTime.getDiff() << " ms";
}