-public:
- graphics::Animation *GetAnimation(const std::string &name);
- battle::Hero *GetHero(const std::string &name);
- battle::Monster *GetMonster(const std::string &name);
- int GetNumber(const std::string &name) const;
- graphics::Sprite *GetSprite(const std::string &name);
+ static void CreateTypeDescriptions();
+ struct ParsedDefinition {
+ ParsedDefinition(const Definition *dfn, int type, int id)
+ : dfn(dfn), type(type), id(id) { }
+ const Definition *dfn;
+ int type;
+ int id;
+ };
+ struct PostponedDefinition {
+ PostponedDefinition(int type, int id, std::ptrdiff_t offset, const char *identifier, int linkedType, bool inlined)
+ : type(type), id(id), offset(offset), identifier(identifier), linkedType(linkedType), inlined(inlined) { }
+ int type;
+ int id;
+ std::ptrdiff_t offset;
+ const char *identifier;
+ int linkedType;
+ bool inlined;
+ };
+
+ const std::set<std::string> &ExportedIdentifiers() const { return source.Exports(); }
+ const ParsedDefinition &GetDefinition(const std::string &identifier) const;
+ const std::map<std::string, SDL_Surface *> &Images() const { return imageCache; }
+ const std::vector<PostponedDefinition> &PostponedDefinitions() const { return postponedDefinitions; }
+ const std::map<int, std::vector<void *> > &Values() const { return values; }