mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-25 21:38:59 +02:00
- Fixed crash on creature window drawn for neutral faction
- Fixed sound parsing. Check forum for updated mod. It is now possible to attack & fight new creatures without crash.
This commit is contained in:
parent
99dcb73a72
commit
16adfa3aa7
@ -1251,11 +1251,15 @@ CCreaturePic::CCreaturePic(int x, int y, const CCreature *cre, bool Big, bool An
|
|||||||
pos.x+=x;
|
pos.x+=x;
|
||||||
pos.y+=y;
|
pos.y+=y;
|
||||||
|
|
||||||
assert(vstd::contains(CGI->townh->factions, cre->faction));
|
si8 faction = 0;//FIXME: support neutral faction
|
||||||
|
if (vstd::contains(CGI->townh->factions, cre->faction))
|
||||||
|
{
|
||||||
|
faction = cre->faction;
|
||||||
|
}
|
||||||
if(Big)
|
if(Big)
|
||||||
bg = new CPicture(CGI->townh->factions[cre->faction].creatureBg130);
|
bg = new CPicture(CGI->townh->factions[faction].creatureBg130);
|
||||||
else
|
else
|
||||||
bg = new CPicture(CGI->townh->factions[cre->faction].creatureBg120);
|
bg = new CPicture(CGI->townh->factions[faction].creatureBg120);
|
||||||
bg->needRefresh = true;
|
bg->needRefresh = true;
|
||||||
anim = new CCreatureAnim(0, 0, cre->animDefName, Rect());
|
anim = new CCreatureAnim(0, 0, cre->animDefName, Rect());
|
||||||
anim->clipRect(cre->isDoubleWide()?170:150, 155, bg->pos.w, bg->pos.h);
|
anim->clipRect(cre->isDoubleWide()?170:150, 155, bg->pos.w, bg->pos.h);
|
||||||
|
@ -241,7 +241,7 @@ CCreature * CModHandler::loadCreature (const JsonNode &node)
|
|||||||
|
|
||||||
const JsonNode & sounds = node["sound"];
|
const JsonNode & sounds = node["sound"];
|
||||||
|
|
||||||
#define GET_SOUND_VALUE(value_name) do { value = &node[#value_name]; if (!value->isNull()) cre->sounds.value_name = sounds[#value_name].String(); } while(0)
|
#define GET_SOUND_VALUE(value_name) do { value = &sounds[#value_name]; if (!value->isNull()) cre->sounds.value_name = value->String(); } while(0)
|
||||||
GET_SOUND_VALUE(attack);
|
GET_SOUND_VALUE(attack);
|
||||||
GET_SOUND_VALUE(defend);
|
GET_SOUND_VALUE(defend);
|
||||||
GET_SOUND_VALUE(killed);
|
GET_SOUND_VALUE(killed);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user