From f821f7bf3d3faa6aa27eec278350b861badfa03d Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Sun, 9 Sep 2012 14:49:45 +0200 Subject: [PATCH] added type description of Stats --- src/battle/Stats.cpp | 23 +++++++++++++++++++++++ src/battle/Stats.h | 16 +++++++++------- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/battle/Stats.cpp b/src/battle/Stats.cpp index c35a14a..7ad7aa7 100644 --- a/src/battle/Stats.cpp +++ b/src/battle/Stats.cpp @@ -7,6 +7,11 @@ #include "Stats.h" +#include "../loader/TypeDescription.h" + +using loader::FieldDescription; +using loader::TypeDescription; + namespace battle { Stats::Stats() @@ -31,4 +36,22 @@ 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")); + + 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)); + td.AddField("agl", FieldDescription(((char *)&s.agility) - ((char *)&s), numberId, false)); + td.AddField("int", FieldDescription(((char *)&s.intelligence) - ((char *)&s), numberId, false)); + td.AddField("gut", FieldDescription(((char *)&s.gut) - ((char *)&s), numberId, false)); + td.AddField("mgr", FieldDescription(((char *)&s.magicResistance) - ((char *)&s), numberId, false)); +} + } diff --git a/src/battle/Stats.h b/src/battle/Stats.h index ae885bf..5f0d17d 100644 --- a/src/battle/Stats.h +++ b/src/battle/Stats.h @@ -35,14 +35,16 @@ public: void SetGut(Uint8 g) { gut = g; } void SetMagicResistance(Uint16 m) { magicResistance = m; } + static void CreateTypeDescription(); + private: - Uint16 attack; - Uint16 defense; - Uint16 strength; - Uint16 agility; - Uint16 intelligence; - Uint16 magicResistance; - Uint8 gut; + int attack; + int defense; + int strength; + int agility; + int intelligence; + int magicResistance; + int gut; }; -- 2.39.2