X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FInterpreter.h;h=fc1499dbd807c10eff793ee7b34a3506db8df640;hb=cc3d698b8c1ad09d7a3f9e3f28bc84e0ac1735ea;hp=5fbded6a0dc4d324971c6d9fea5d5938db1376fd;hpb=77915e0186f4fc0788054eb34651c726b80d981c;p=l2e.git diff --git a/src/loader/Interpreter.h b/src/loader/Interpreter.h index 5fbded6..fc1499d 100644 --- a/src/loader/Interpreter.h +++ b/src/loader/Interpreter.h @@ -1,10 +1,3 @@ -/* - * Interpreter.h - * - * Created on: Aug 26, 2012 - * Author: holy - */ - #ifndef LOADER_INTERPRETER_H_ #define LOADER_INTERPRETER_H_ @@ -14,6 +7,7 @@ #include "TypeDescription.h" #include "../battle/fwd.h" #include "../common/fwd.h" +#include "../common/Script.h" #include "../geometry/Vector.h" #include "../graphics/Color.h" #include "../graphics/ComplexAnimation.h" @@ -31,6 +25,15 @@ namespace loader { class Interpreter { public: + static const int BOOLEAN_ID = 1; + static const int COLOR_ID = 2; + static const int IMAGE_ID = 3; + static const int NUMBER_ID = 4; + static const int PATH_ID = 5; + static const int SCRIPT_ID = 6; + static const int STRING_ID = 7; + static const int VECTOR_ID = 8; + class Error: public std::runtime_error { public: Error(const std::string &msg) : std::runtime_error("interpreter error: " + msg) { } @@ -67,7 +70,7 @@ public: }; const std::set &ExportedIdentifiers() const { return source.Exports(); } - const ParsedDefinition &GetDefinition(const std::string &identifier) const; + const ParsedDefinition &GetDefinition(const std::string &identifier); const std::map &Images() const { return imageCache; } const std::vector &PostponedDefinitions() const { return postponedDefinitions; } const std::map > &Values() const { return values; } @@ -82,9 +85,10 @@ private: void ReadObject(int typeId, int id, char *dest, const PropertyList &); void ReadScript(const std::vector &, common::Script *); char *ReadScript(const std::vector &); - void ReadScriptAddress(const ScriptToken &t, unsigned char *dest); - void ReadScriptInteger(const ScriptToken &t, unsigned char *dest); - void ReadScriptVector(const ScriptToken &t, unsigned char *dest); + common::Script::Code &CreateScriptCode(common::Script::Command c, char *dest); + void ReadScriptAddress(const ScriptToken &t, char *dest); + void ReadScriptInteger(const ScriptToken &t, char *dest); + void ReadScriptVector(const ScriptToken &t, char *dest); SDL_Surface *GetImage(const std::string &);