X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FTile.cpp;h=9f75d229d0af60e1b3ee312df0d943fe3443985d;hb=1907ca03c5e865c4d398170042aa384c67ffff29;hp=303c9e556eba5fcf1836eca8b7aa1ac4b05a4fb2;hpb=0ad5ca97b5df217329bc319d62564a9f46ba11d7;p=l2e.git diff --git a/src/map/Tile.cpp b/src/map/Tile.cpp index 303c9e5..9f75d22 100644 --- a/src/map/Tile.cpp +++ b/src/map/Tile.cpp @@ -7,6 +7,13 @@ #include "Tile.h" +#include "../loader/Interpreter.h" +#include "../loader/TypeDescription.h" + +using loader::FieldDescription; +using loader::Interpreter; +using loader::TypeDescription; + namespace map { Tile::Tile() @@ -15,4 +22,22 @@ Tile::Tile() } + +void Tile::CreateTypeDescription() { + Tile t; + + TypeDescription &td(TypeDescription::Create(TYPE_ID, "Tile")); + td.SetConstructor(&Construct); + td.SetSize(sizeof(Tile)); + + td.AddField("battlebg", FieldDescription(((char *)&t.battlebg) - ((char *)&t), Interpreter::IMAGE_ID).SetReferenced()); + td.AddField("t", FieldDescription(((char *)&t.offset) - ((char *)&t), Interpreter::VECTOR_ID)); + td.AddField("flags", FieldDescription(((char *)&t.flags) - ((char *)&t), Interpreter::NUMBER_ID)); + +} + +void Tile::Construct(void *data) { + new (data) Tile; +} + }