X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FInterpreter.h;h=15cebd5e2ff3f10e2adb57a48418c4efb1d1edf5;hb=f1e445b660889a18eaf05e7fcc16b360fb8605d5;hp=bfe18c2a301bf79f3b8a751940ee4fb9be77b76c;hpb=760eb1dd86170a14e0b0b5a2331f1225f0b06fdf;p=l2e.git diff --git a/src/loader/Interpreter.h b/src/loader/Interpreter.h index bfe18c2..15cebd5 100644 --- a/src/loader/Interpreter.h +++ b/src/loader/Interpreter.h @@ -8,11 +8,16 @@ #ifndef LOADER_INTERPRETER_H_ #define LOADER_INTERPRETER_H_ +#include "fwd.h" +#include "PagedAllocator.h" #include "ParsedSource.h" #include "TypeDescription.h" +#include "../battle/fwd.h" +#include "../common/fwd.h" #include "../geometry/Vector.h" #include "../graphics/Color.h" #include "../graphics/ComplexAnimation.h" +#include "../graphics/fwd.h" #include #include @@ -21,38 +26,8 @@ #include #include -namespace battle { - class Hero; - class Monster; - class PartyLayout; - struct Resources; - class Stats; -} - -namespace common { - class Ikari; - class Item; - class Spell; - class TargetingMode; -} - -namespace graphics { - class Animation; - class Font; - class Frame; - class Gauge; - struct MenuProperties; - class SimpleAnimation; - class Sprite; -} - namespace loader { -class Definition; -class Literal; -class PropertyList; -class Value; - class Interpreter { public: @@ -62,7 +37,7 @@ public: }; public: - explicit Interpreter(const ParsedSource &source) : source(source) { } + explicit Interpreter(const ParsedSource &source) : source(source), alloc(4096) { } ~Interpreter(); private: Interpreter(const Interpreter &); @@ -114,6 +89,8 @@ private: private: const ParsedSource &source; + PagedAllocator alloc; + std::map parsedDefinitions; std::vector postponedDefinitions; std::map imageCache;