X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FTile.cpp;h=650bbdbc00b1397d7f9b0741c0e2f260b525569c;hb=2ccc2369d32fb680a3047519d79c17de34c4e10a;hp=7b77fb1feccdb93a6f260c0adad725a7acf9b2f7;hpb=59c4aea0762cbc5f1bf74c5b1b35629408fb92af;p=l2e.git diff --git a/src/map/Tile.cpp b/src/map/Tile.cpp index 7b77fb1..650bbdb 100644 --- a/src/map/Tile.cpp +++ b/src/map/Tile.cpp @@ -7,11 +7,39 @@ #include "Tile.h" +#include "../loader/TypeDescription.h" + +using loader::FieldDescription; +using loader::TypeDescription; + namespace map { Tile::Tile() -: flags(0) { +: battlebg(0) +, flags(0) { + +} + + +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; } }