From 4cc4d62d084bc3002e35f6bd15a73f22157114e4 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 22 Nov 2007 20:18:43 +0000 Subject: [FIX] classes more usable [FIX] Matrix class [ADD] pokemod/Rules.{h, cpp} [FIX] coding style cleaned up git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@28 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- pokemod/MoveEffect.cpp | 119 ++++++++++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 52 deletions(-) (limited to 'pokemod/MoveEffect.cpp') diff --git a/pokemod/MoveEffect.cpp b/pokemod/MoveEffect.cpp index 7a8a5aca..aff43ea7 100644 --- a/pokemod/MoveEffect.cpp +++ b/pokemod/MoveEffect.cpp @@ -22,10 +22,10 @@ #include "MoveEffect.h" -const char* PokeGen::PokeMod::MoveEffect::EffectStr[PokeGen::PokeMod::MoveEffect::E_End] = {}; +const char* PokeGen::PokeMod::MoveEffect::EffectStr[PokeGen::PokeMod::MoveEffect::E_End_Overworld] = {}; -PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod* par, const unsigned _id) : - Object(_id, par), +PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod& par, const unsigned _id) : + Object(par, _id), chance(1, 1), effect(UINT_MAX), val1(INT_MAX), @@ -33,111 +33,126 @@ PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod* par, const unsigned _id) { } -PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod* par, Ini& ini, const unsigned _id) : - Object(_id, par) +PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod& par, const MoveEffect& e, const unsigned _id) : + Object(par, _id) { - ImportIni(ini, _id); + *this = e; } -bool PokeGen::PokeMod::MoveEffect::Validate() +PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod& par, const QString& fname, const unsigned _id) : + Object(par, _id) { - pokemod->ValidationMsg(QString("------Effect with id %1---").arg(id), Pokemod::V_Msg); + load(fname, _id); +} + +bool PokeGen::PokeMod::MoveEffect::validate() const +{ + bool valid = true; + pokemod.validationMsg(QString("------Effect with id %1---").arg(id), Pokemod::V_Msg); // TODO (Ben#1#): Move Effect validation - return isValid; + return valid; } -void PokeGen::PokeMod::MoveEffect::ImportIni(Ini& ini, const unsigned _id) +void PokeGen::PokeMod::MoveEffect::load(const QString& fname, const unsigned _id) { + Ini ini(fname); if (_id == UINT_MAX) - ini.GetValue("id", id); + ini.getValue("id", id); else id = _id; unsigned i; unsigned j; - ini.GetValue("chance-n", i, 1); - ini.GetValue("chance-d", j, 1); - chance.Set(i, j); - ini.GetValue("effect", effect); - ini.GetValue("val1", val1); - ini.GetValue("val2", val2); + ini.getValue("chance-n", i, 1); + ini.getValue("chance-d", j, 1); + chance.set(i, j); + ini.getValue("effect", effect); + ini.getValue("val1", val1); + ini.getValue("val2", val2); } -void PokeGen::PokeMod::MoveEffect::ExportIni(QFile& fout, const QString& move) const +void PokeGen::PokeMod::MoveEffect::save(const QString& move) const { - Ini exMoveEffect(move + " moveEffect"); - exMoveEffect.AddField("id", id); - exMoveEffect.AddField("chance-n", chance.GetNum()); - exMoveEffect.AddField("chance-d", chance.GetDenom()); - exMoveEffect.AddField("effect", effect); - exMoveEffect.AddField("val1", val1); - exMoveEffect.AddField("val2", val2); - exMoveEffect.Export(fout); + Ini ini; + ini.addField("id", id); + ini.addField("chance-n", chance.getNum()); + ini.addField("chance-d", chance.getDenom()); + ini.addField("effect", effect); + ini.addField("val1", val1); + ini.addField("val2", val2); + ini.save(QString("%1/move/%2/effect/%3.pini").arg(pokemod.getPath()).arg(move).arg(id)); } -bool PokeGen::PokeMod::MoveEffect::SetChance(const unsigned n, const unsigned d) +void PokeGen::PokeMod::MoveEffect::setChance(const unsigned n, const unsigned d) { - return chance.Set(n, d); + chance.set(n, d); } -bool PokeGen::PokeMod::MoveEffect::SetChanceNum(const unsigned n) +void PokeGen::PokeMod::MoveEffect::setChanceNum(const unsigned n) { - return chance.SetNum(n); + chance.setNum(n); } -bool PokeGen::PokeMod::MoveEffect::SetChanceDenom(const unsigned d) +void PokeGen::PokeMod::MoveEffect::setChanceDenom(const unsigned d) { - return chance.SetDenom(d); + chance.setDenom(d); } -bool PokeGen::PokeMod::MoveEffect::SetEffect(const unsigned e) +void PokeGen::PokeMod::MoveEffect::setEffect(const unsigned e) { - if (e < E_End) - { - effect = e; - val1 = INT_MAX; - val2 = UINT_MAX; - } - return (effect == e); + if (E_End <= e) + throw("MoveEffect: effect out-of-bounds"); + effect = e; + val1 = INT_MAX; + val2 = UINT_MAX; } -bool PokeGen::PokeMod::MoveEffect::SetVal1(const int v1) +void PokeGen::PokeMod::MoveEffect::setVal1(const unsigned v1) { val1 = v1; - return (val1 == v1); } -bool PokeGen::PokeMod::MoveEffect::SetVal2(const unsigned v2) +void PokeGen::PokeMod::MoveEffect::setVal2(const int v2) { val2 = v2; - return (val2 == v2); } -PokeGen::Frac PokeGen::PokeMod::MoveEffect::GetChance() const +PokeGen::Frac PokeGen::PokeMod::MoveEffect::getChance() const { return chance; } -unsigned PokeGen::PokeMod::MoveEffect::GetChanceNum() const +unsigned PokeGen::PokeMod::MoveEffect::getChanceNum() const { - return chance.GetNum(); + return chance.getNum(); } -unsigned PokeGen::PokeMod::MoveEffect::GetChanceDenom() const +unsigned PokeGen::PokeMod::MoveEffect::getChanceDenom() const { - return chance.GetDenom(); + return chance.getDenom(); } -unsigned PokeGen::PokeMod::MoveEffect::GetEffect() const +unsigned PokeGen::PokeMod::MoveEffect::getEffect() const { return effect; } -int PokeGen::PokeMod::MoveEffect::GetVal1() const +unsigned PokeGen::PokeMod::MoveEffect::getVal1() const { return val1; } -unsigned PokeGen::PokeMod::MoveEffect::GetVal2() const +int PokeGen::PokeMod::MoveEffect::getVal2() const { return val2; } + +PokeGen::PokeMod::MoveEffect& PokeGen::PokeMod::MoveEffect::operator=(const MoveEffect& rhs) +{ + if (this == &rhs) + return *this; + chance = rhs.chance; + effect = rhs.effect; + val1 = rhs.val1; + val2 = rhs.val2; + return *this; +} -- cgit