]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/Stats.cpp
added constructors for described types
[l2e.git] / src / battle / Stats.cpp
index 7ad7aa7a841e2925091e396bf67605393af7ecf2..a2a442ceea9bbea8f0e8a2a7ea12a284b4d67c76 100644 (file)
@@ -39,12 +39,13 @@ Stats::Stats(Uint16 attack, Uint16 defense, Uint16 strength, Uint16 agility, Uin
 
 void Stats::CreateTypeDescription() {
        Stats s;
-       TypeDescription &td(TypeDescription::CreateOrGet("Stats"));
-
-       td.SetSize(sizeof(Stats));
 
        int numberId(TypeDescription::GetTypeId("Number"));
 
+       TypeDescription &td(TypeDescription::CreateOrGet("Stats"));
+       td.SetConstructor(&Construct);
+       td.SetSize(sizeof(Stats));
+
        td.AddField("atp", FieldDescription(((char *)&s.attack) - ((char *)&s), numberId, false));
        td.AddField("dfp", FieldDescription(((char *)&s.defense) - ((char *)&s), numberId, false));
        td.AddField("str", FieldDescription(((char *)&s.strength) - ((char *)&s), numberId, false));
@@ -54,4 +55,8 @@ void Stats::CreateTypeDescription() {
        td.AddField("mgr", FieldDescription(((char *)&s.magicResistance) - ((char *)&s), numberId, false));
 }
 
+void Stats::Construct(void *data) {
+       new (data) Stats;
+}
+
 }