+
+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;
+}
+