]> git.localhorst.tv Git - l2e.git/blobdiff - src/loader/Interpreter.h
added interpretation of Ikari and Item
[l2e.git] / src / loader / Interpreter.h
index cf08009e2907618b042fd2ab72eafb964e5ced9f..ffbad42e1a6ef1e2897305c55a04ad3090e38832 100644 (file)
@@ -24,6 +24,13 @@ namespace battle {
        class Stats;
 }
 
+namespace common {
+       class Ikari;
+       class Item;
+       class Spell;
+       class TargetingMode;
+}
+
 namespace graphics {
        class Animation;
        class Font;
@@ -65,11 +72,15 @@ public:
        graphics::Frame *GetFrame(const std::string &name);
        graphics::Gauge *GetGauge(const std::string &name);
        battle::Hero *GetHero(const std::string &name);
+       common::Ikari *GetIkari(const std::string &name);
+       common::Item *GetItem(const std::string &name);
        battle::Monster *GetMonster(const std::string &name);
        int GetNumber(const std::string &name) const;
        battle::PartyLayout *GetPartyLayout(const std::string &name);
+       common::Spell *GetSpell(const std::string &name);
        graphics::Sprite *GetSprite(const std::string &name);
        const char *GetString(const std::string &name) const;
+       common::TargetingMode *GetTargetingMode(const std::string &name);
        geometry::Vector<int> GetVector(const std::string &name) const;
 
 public:
@@ -79,13 +90,17 @@ public:
        const std::vector<graphics::Frame *> &Frames() const { return frames; }
        const std::vector<graphics::Gauge *> &Gauges() const { return gauges; }
        const std::vector<battle::Hero *> &Heroes() const { return heroes; }
+       const std::vector<common::Ikari *> &Ikaris() const { return ikaris; }
        const std::vector<SDL_Surface *> &Images() const { return images; }
+       const std::vector<common::Item *> &Items() const { return items; }
        const std::vector<battle::Monster *> &Monsters() const { return monsters; }
        const std::vector<int> &Numbers() const { return numbers; }
        const std::vector<battle::PartyLayout *> &PartyLayouts() const { return partyLayouts; }
        const std::vector<graphics::SimpleAnimation *> &SimpleAnimations() const { return simpleAnimations; }
+       const std::vector<common::Spell *> &Spells() const { return spells; }
        const std::vector<graphics::Sprite *> &Sprites() const { return sprites; }
        const std::vector<const char *> &Strings() const { return strings; }
+       const std::vector<common::TargetingMode *> &TargetingModes() const { return targetingModes; }
        const std::vector<geometry::Vector<int> > &Vectors() const { return vectors; }
 
 private:
@@ -98,13 +113,18 @@ private:
        graphics::Font *GetFont(const Value &);
        graphics::Frame *GetFrame(const Value &);
        graphics::Gauge *GetGauge(const Value &);
+       battle::Hero *GetHero(const Value &);
+       common::Ikari *GetIkari(const Value &);
        SDL_Surface *GetImage(const Value &);
+       common::Item *GetItem(const Value &);
        int GetNumber(const Value &);
        battle::PartyLayout *GetPartyLayout(const Value &);
        const PropertyList *GetPropertyList(const Value &);
        const std::vector<PropertyList *> &GetPropertyListArray(const Value &);
+       common::Spell *GetSpell(const Value &);
        graphics::Sprite *GetSprite(const Value &);
        const char *GetString(const Value &);
+       common::TargetingMode *GetTargetingMode(const Value &);
        const std::vector<Value *> &GetValueArray(const Value &);
        geometry::Vector<int> GetVector(const Value &);
 
@@ -114,11 +134,15 @@ private:
        void ReadFrame(graphics::Frame &, const PropertyList &);
        void ReadGauge(graphics::Gauge &, const PropertyList &);
        void ReadHero(battle::Hero &, const PropertyList &);
+       void ReadIkari(common::Ikari &, const PropertyList &);
+       void ReadItem(common::Item &, const PropertyList &);
        void ReadMonster(battle::Monster &, const PropertyList &);
        void ReadPartyLayout(battle::PartyLayout &, const PropertyList &);
        void ReadSimpleAnimation(graphics::SimpleAnimation &, const PropertyList &);
+       void ReadSpell(common::Spell &, const PropertyList &);
        void ReadSprite(graphics::Sprite &, const PropertyList &);
        void ReadStats(battle::Stats &, const PropertyList &);
+       void ReadTargetingMode(common::TargetingMode &, const PropertyList &);
 
 private:
        const ParsedSource &source;
@@ -129,14 +153,18 @@ private:
                FRAME,
                GAUGE,
                HERO,
+               IKARI,
                IMAGE,
+               ITEM,
                MONSTER,
                NUMBER,
                PARTY_LAYOUT,
                PROPERTY_LIST_ARRAY,
                SIMPLE_ANIMATION,
+               SPELL,
                SPRITE,
                STRING,
+               TARGETING_MODE,
                VECTOR,
                VALUE_ARRAY,
        };
@@ -155,15 +183,19 @@ private:
        std::vector<graphics::Frame *> frames;
        std::vector<graphics::Gauge *> gauges;
        std::vector<battle::Hero *> heroes;
+       std::vector<common::Ikari *> ikaris;
        std::vector<SDL_Surface *> images;
+       std::vector<common::Item *> items;
        std::vector<battle::Monster *> monsters;
        std::vector<int> numbers;
        std::vector<battle::PartyLayout *> partyLayouts;
        std::vector<PropertyList *> propertyLists;
        std::vector<std::vector<PropertyList *> > propertyListArrays;
        std::vector<graphics::SimpleAnimation *> simpleAnimations;
+       std::vector<common::Spell *> spells;
        std::vector<graphics::Sprite *> sprites;
        std::vector<const char *> strings;
+       std::vector<common::TargetingMode *> targetingModes;
        std::vector<std::vector<Value *> > valueArrays;
        std::vector<geometry::Vector<int> > vectors;