X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FTile.cpp;fp=src%2Fmap%2FTile.cpp;h=650bbdbc00b1397d7f9b0741c0e2f260b525569c;hb=7c43158af1abf38fa896a442cb3c6d8a5bc630e7;hp=303c9e556eba5fcf1836eca8b7aa1ac4b05a4fb2;hpb=77915e0186f4fc0788054eb34651c726b80d981c;p=l2e.git diff --git a/src/map/Tile.cpp b/src/map/Tile.cpp index 303c9e5..650bbdb 100644 --- a/src/map/Tile.cpp +++ b/src/map/Tile.cpp @@ -7,6 +7,11 @@ #include "Tile.h" +#include "../loader/TypeDescription.h" + +using loader::FieldDescription; +using loader::TypeDescription; + namespace map { Tile::Tile() @@ -15,4 +20,26 @@ Tile::Tile() } + +void Tile::CreateTypeDescription() { + Tile t; + + int imageId(TypeDescription::GetTypeId("Image")); + int numberId(TypeDescription::GetTypeId("Number")); + int vectorId(TypeDescription::GetTypeId("Vector")); + + TypeDescription &td(TypeDescription::CreateOrGet("Tile")); + td.SetConstructor(&Construct); + td.SetSize(sizeof(Tile)); + + td.AddField("battlebg", FieldDescription(((char *)&t.battlebg) - ((char *)&t), imageId).SetReferenced()); + td.AddField("t", FieldDescription(((char *)&t.offset) - ((char *)&t), vectorId)); + td.AddField("flags", FieldDescription(((char *)&t.flags) - ((char *)&t), numberId)); + +} + +void Tile::Construct(void *data) { + new (data) Tile; +} + }