X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FInterpreter.cpp;h=28e9b39335d2f13c13ecc7c0226d1ecf69589c6e;hb=06b6411e5dc8fc6b905530f7adbde8bd0c2bb0ea;hp=97ed93981e405fc1fa3a56e450ce0c51ee8ddf66;hpb=02db07fbdd774a0a3b10806aa77d782059ba62cc;p=l2e.git diff --git a/src/loader/Interpreter.cpp b/src/loader/Interpreter.cpp index 97ed939..28e9b39 100644 --- a/src/loader/Interpreter.cpp +++ b/src/loader/Interpreter.cpp @@ -15,6 +15,7 @@ #include "../common/Ikari.h" #include "../common/Item.h" #include "../common/Spell.h" +#include "../common/Stats.h" #include "../common/TargetingMode.h" #include "../graphics/ComplexAnimation.h" #include "../graphics/Font.h" @@ -31,10 +32,10 @@ using battle::Hero; using battle::Monster; using battle::PartyLayout; -using battle::Stats; using common::Ikari; using common::Item; using common::Spell; +using common::Stats; using common::TargetingMode; using graphics::Animation; using graphics::Color; @@ -69,6 +70,15 @@ Interpreter::~Interpreter() { } +const Interpreter::ParsedDefinition &Interpreter::GetDefinition(const string &identifier) const { + try { + return parsedDefinitions.at(identifier); + } catch (...) { + throw std::runtime_error("cannot find definition for " + identifier); + } +} + + void *Interpreter::GetObject(int typeId, const std::string &name) { map::const_iterator i(parsedDefinitions.find(name)); if (i != parsedDefinitions.end()) {