+
+void Font::CreateTypeDescription() {
+ Font f;
+
+ int numberId(TypeDescription::GetTypeId("Number"));
+ int spriteId(TypeDescription::GetTypeId("Sprite"));
+
+ TypeDescription &td(TypeDescription::CreateOrGet("Font"));
+ td.SetConstructor(&Construct);
+ td.SetSize(sizeof(Font));
+
+ td.AddField("sprite", FieldDescription(((char *)&f.sprite) - ((char *)&f), spriteId, true));
+ td.AddField("columnoffset", FieldDescription(((char *)&f.colOffset) - ((char *)&f), numberId, false));
+ td.AddField("rowoffset", FieldDescription(((char *)&f.rowOffset) - ((char *)&f), numberId, false));
+}
+
+void Font::Construct(void *data) {
+ new (data) Font;
+}
+