X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FTypeDescription.h;h=fb1b07890a8fe57bff4b46d58e540d7734e583eb;hb=8c8061a4f8b88410d6d93c039afe6affc4b69cf2;hp=262f76b9e9d79ff9bad507e31f5643ead1f4a606;hpb=0f30d8254ff8b9e63795960ec031577cf68fbf95;p=l2e.git diff --git a/src/loader/TypeDescription.h b/src/loader/TypeDescription.h index 262f76b..fb1b078 100644 --- a/src/loader/TypeDescription.h +++ b/src/loader/TypeDescription.h @@ -41,6 +41,7 @@ public: const FieldDescription &GetField(const std::string &name) const; void Construct(void *) const; void Load(void *) const; + bool NeedsLinking() const { return link; } void SetConstructor(void (*ctor)(void *)) { constructor = ctor; } void SetLoader(void (*ld)(void *)) { loader = ld; } @@ -67,10 +68,12 @@ public: static int GetTypeId(const std::string &); static const TypeDescription &Get(int id); + static int GetMaxSize(); + static void WriteSourceWiki(std::ostream &); private: - TypeDescription(int id, const std::string &name) : constructor(0), loader(0), description(0), name(name), id(id), size(0) { } + TypeDescription(int id, const std::string &name) : constructor(0), loader(0), description(0), name(name), id(id), size(0), link(false) { } private: void (*constructor)(void *); @@ -81,6 +84,7 @@ private: std::map supertypes; int id; int size; + bool link; static std::map typeDescriptions; static std::map typeName2ID;