X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FTypeDescription.h;h=fb1b07890a8fe57bff4b46d58e540d7734e583eb;hb=5f9a1893c0db8f53889a390e4c4b95d57abd4384;hp=cc00662a6855ad893c754181a30812afddbe3596;hpb=cc3d698b8c1ad09d7a3f9e3f28bc84e0ac1735ea;p=l2e.git diff --git a/src/loader/TypeDescription.h b/src/loader/TypeDescription.h index cc00662..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; @@ -89,4 +93,4 @@ private: } -#endif /* LOADER_TYPEDESCRIPTION_H_ */ +#endif