1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-03 00:46:55 +02:00

Fixed unitialized ptrs in CArtifacts.

Parsing for adventure map def for artifacts.
This commit is contained in:
DjWarmonger
2012-12-16 11:35:14 +00:00
parent c764ce6ebe
commit 99e7177d57
3 changed files with 23 additions and 3 deletions

@ -165,6 +165,7 @@ void CModHandler::loadActiveMods()
void CModHandler::reload()
{
{
//recreate adventure map defs
assert(!VLC->dobjinfo->gobjs[Obj::MONSTER].empty()); //make sure that at least some def info was found
const CGDefInfo * baseInfo = VLC->dobjinfo->gobjs[Obj::MONSTER].begin()->second;
@ -181,6 +182,23 @@ void CModHandler::reload()
}
}
}
{
assert(!VLC->dobjinfo->gobjs[Obj::ARTIFACT].empty());
const CGDefInfo * baseInfo = VLC->dobjinfo->gobjs[Obj::ARTIFACT].begin()->second;
BOOST_FOREACH(auto & art, VLC->arth->artifacts)
{
if (!vstd::contains(VLC->dobjinfo->gobjs[Obj::ARTIFACT], art->id)) // no obj info for this type
{
CGDefInfo * info = new CGDefInfo(*baseInfo);
info->subid = art->id;
info->name = art->advMapDef;
VLC->dobjinfo->gobjs[Obj::ARTIFACT][art->id] = info;
}
}
}
{
assert(!VLC->dobjinfo->gobjs[Obj::TOWN].empty()); //make sure that at least some def info was found