X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FInterpreter.cpp;h=65db6a00400bccb30329fa40e3325d97a6ca33cc;hb=18f74a6be69846207f4184ab8570b29e8a39f592;hp=0ff877688d1231c8794b371319444547234f629c;hpb=4634bd26d24a163b7128df7dd5183fcb2cdc8031;p=l2e.git diff --git a/src/loader/Interpreter.cpp b/src/loader/Interpreter.cpp index 0ff8776..65db6a0 100644 --- a/src/loader/Interpreter.cpp +++ b/src/loader/Interpreter.cpp @@ -268,9 +268,10 @@ void Interpreter::ReadObject(const Definition &dfn) { ReadMonster(monsters.back(), *dfn.GetProperties()); parsedDefinitions.insert(make_pair(dfn.Identifier(), ParsedDefinition(&dfn, MONSTER, monsters.size() - 1))); } else if (dfn.TypeName() == "Sprite") { + int index(sprites.size()); sprites.push_back(Sprite()); ReadSprite(sprites.back(), *dfn.GetProperties()); - parsedDefinitions.insert(make_pair(dfn.Identifier(), ParsedDefinition(&dfn, SPRITE, sprites.size() - 1))); + parsedDefinitions.insert(make_pair(dfn.Identifier(), ParsedDefinition(&dfn, SPRITE, index))); } else { throw Error("unhandled object type: " + dfn.TypeName()); } @@ -368,6 +369,8 @@ void Interpreter::ReadMonster(Monster &m, const PropertyList &props) { m.SetStats(stats); } else if (i->first == "attackAnimation") { m.SetAttackAnimation(GetAnimation(*i->second)); + } else if (i->first == "meleeAnimation") { + m.SetMeleeAnimation(GetAnimation(*i->second)); } else { throw Error("unknown Monster property: " + i->first); }