]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/Menu.cpp
added constructors for described types
[l2e.git] / src / graphics / Menu.cpp
index b70697e43a1fa71fda57483051dd60d278687590..92fc898296957dfcf932d3afe45970ae170ff0e3 100644 (file)
@@ -16,15 +16,16 @@ namespace graphics {
 
 void MenuProperties::CreateTypeDescription() {
        MenuProperties p;
-       TypeDescription &td(TypeDescription::CreateOrGet("MenuProperties"));
-
-       td.SetSize(sizeof(MenuProperties));
 
        int fontId(TypeDescription::GetTypeId("Font"));
        int numberId(TypeDescription::GetTypeId("Number"));
        int spriteId(TypeDescription::GetTypeId("Sprite"));
        int stringId(TypeDescription::GetTypeId("String"));
 
+       TypeDescription &td(TypeDescription::CreateOrGet("MenuProperties"));
+       td.SetConstructor(&Construct);
+       td.SetSize(sizeof(MenuProperties));
+
        td.AddField("font", FieldDescription(((char *)&p.font) - ((char *)&p), fontId, true));
        td.AddField("disabledFont", FieldDescription(((char *)&p.disabledFont) - ((char *)&p), fontId, true));
        td.AddField("cursor", FieldDescription(((char *)&p.cursor) - ((char *)&p), spriteId, true));
@@ -40,4 +41,8 @@ void MenuProperties::CreateTypeDescription() {
        td.AddField("additionalTextGap", FieldDescription(((char *)&p.additionalTextGap) - ((char *)&p), numberId, false));
 }
 
+void MenuProperties::Construct(void *data) {
+       new (data) MenuProperties;
+}
+
 }