diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2007-07-21 01:39:22 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2007-07-21 01:39:22 +0000 |
| commit | e94d9893b8753e72adb92b2c5eb203830ddf641c (patch) | |
| tree | fe283d6ede1cfe1a1613742811fb5b34fb8db68c /pokemod/MapTrainerTeam.cpp | |
| parent | 65cc463f1d91fe99acf1c4dd9bce7e0038593022 (diff) | |
| download | sigen-e94d9893b8753e72adb92b2c5eb203830ddf641c.tar.gz sigen-e94d9893b8753e72adb92b2c5eb203830ddf641c.tar.xz sigen-e94d9893b8753e72adb92b2c5eb203830ddf641c.zip | |
Moved to GPLv3 and Qt4, Changed String -> QString, other minor fixes
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@23 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/MapTrainerTeam.cpp')
| -rw-r--r-- | pokemod/MapTrainerTeam.cpp | 249 |
1 files changed, 124 insertions, 125 deletions
diff --git a/pokemod/MapTrainerTeam.cpp b/pokemod/MapTrainerTeam.cpp index 2c9d42c4..56286885 100644 --- a/pokemod/MapTrainerTeam.cpp +++ b/pokemod/MapTrainerTeam.cpp @@ -6,19 +6,18 @@ // Created: Tue Mar 20 19:20:21 2007
// Copyright: ©2007 Ben Boeckel and Nerdy Productions
// Licence:
-// This program is free software; you can redistribute it and/or modify
+// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
+// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
-//
+//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
-//
+//
// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+// with this program. If not, see <http://www.gnu.org/licenses/>.
/////////////////////////////////////////////////////////////////////////////
#include "MapTrainerTeam.h"
@@ -59,44 +58,44 @@ void PokeGen::PokeMod::MapTrainerTeam::Validate() LogOutOfRange("MapTrainerTeam", id, "level", level, GetSpeciesString());
isValid = false;
}
- if (GetItemCount() <= pokemod->GetHoldItems()) - { - std::map<unsigned, unsigned> idChecker; - std::map<String, unsigned> itemChecker; - for (std::vector<unsigned>::const_iterator i = items.begin(); i != items.end(); ++i) - { - if (!pokemod->GetItem(*i)) - { - LogVarNotValid("MapTrainerTeam", id, "item"); - isValid = false; - } - ++idChecker[*i]; - ++itemChecker[pokemod->GetItem(*i)->GetName()]; - } - for (std::map<unsigned, unsigned>::const_iterator i = idChecker.begin(); i != idChecker.end(); ++i) - { - if (1 < i->second) - { - LogDuplicateId("MapTrainerTeam", id, "item", i->first); - isValid = false; - } - } - for (std::map<String, unsigned>::const_iterator i = itemChecker.begin(); i != itemChecker.end(); ++i) - { - if (1 < i->second) - { - LogDuplicateSubmodule("MapTrainerTeam", id, "item", i->first); - isValid = false; - } - } - } - else if (GetItemCount()) - { - Log::Write(String("MapTrainerTeam Validation: Too many held items in %u", id), PM_DEBUG_ERROR | PM_DEBUG_VALIDATION); - isValid = false; - } - else - LogSubmoduleEmpty("MapTrainerTeam", id, "item"); + if (GetItemCount() <= pokemod->GetHoldItems())
+ {
+ QMap<unsigned, unsigned> idChecker;
+ QMap<QString, unsigned> itemChecker;
+ for (QList<unsigned>::ConstIterator i = items.begin(); i != items.end(); ++i)
+ {
+ if (!pokemod->GetItem(*i))
+ {
+ LogVarNotValid("MapTrainerTeam", id, "item");
+ isValid = false;
+ }
+ ++idChecker[*i];
+ ++itemChecker[pokemod->GetItem(*i)->GetName()];
+ }
+ for (QMap<unsigned, unsigned>::ConstIterator i = idChecker.begin(); i != idChecker.end(); ++i)
+ {
+ if (1 < i.value())
+ {
+ LogDuplicateId("MapTrainerTeam", id, "item", i.key());
+ isValid = false;
+ }
+ }
+ for (QMap<QString, unsigned>::ConstIterator i = itemChecker.begin(); i != itemChecker.end(); ++i)
+ {
+ if (1 < i.value())
+ {
+ LogDuplicateSubmodule("MapTrainerTeam", id, "item", i.key());
+ isValid = false;
+ }
+ }
+ }
+ else if (GetItemCount())
+ {
+ Log::Write(QString("MapTrainerTeam Validation: Too many held items in %u", id), PM_DEBUG_ERROR | PM_DEBUG_VALIDATION);
+ isValid = false;
+ }
+ else
+ LogSubmoduleEmpty("MapTrainerTeam", id, "item");
LogValidateOver("MapTrainerTeam", id, isValid, GetSpeciesString());
}
@@ -110,32 +109,32 @@ void PokeGen::PokeMod::MapTrainerTeam::ImportIni(Ini &ini, const unsigned _id) LogIdNotFound("MapTrainerTeam");
}
else
- id = _id; - unsigned i; - unsigned j; - items.clear(); + id = _id;
+ unsigned i;
+ unsigned j;
+ items.clear();
ini.GetValue("species", species);
- ini.GetValue("level", level, 1); - ini.GetValue("numItems", i, 0); - for (unsigned k = 0; k < i; ++k) - { - ini.GetValue(String("item-%u", k), j); - if (k != UINT_MAX) - items.push_back(j); + ini.GetValue("level", level, 1);
+ ini.GetValue("numItems", i, 0);
+ for (unsigned k = 0; k < i; ++k)
+ {
+ ini.GetValue(QString("item-%u", k), j);
+ if (k != UINT_MAX)
+ items.append(j);
}
LogImportOver("MapTrainerTeam", id);
}
-void PokeGen::PokeMod::MapTrainerTeam::ExportIni(std::ofstream &fout, const String &map, const unsigned trainerId) const
+void PokeGen::PokeMod::MapTrainerTeam::ExportIni(QFile &fout, const QString &map, const unsigned trainerId) const
{
LogExportStart("MapTrainerTeam", id);
- Ini exMapTrainerTeam(String("MapTrainerTeam %u ", trainerId) + map);
+ Ini exMapTrainerTeam(QString("MapTrainerTeam %u ", trainerId) + map);
exMapTrainerTeam.AddField("id", id);
exMapTrainerTeam.AddField("species", species);
- exMapTrainerTeam.AddField("level", level); - exMapTrainerTeam.AddField("numItems", GetItemCount()); + exMapTrainerTeam.AddField("level", level);
+ exMapTrainerTeam.AddField("numItems", GetItemCount());
for (unsigned i = 0; i < GetItemCount(); ++i)
- exMapTrainerTeam.AddField(String("item-%u", i), items[i]);
+ exMapTrainerTeam.AddField(QString("item-%u", i), items[i]);
exMapTrainerTeam.Export(fout);
LogExportOver("MapTrainerTeam", id);
}
@@ -147,7 +146,7 @@ void PokeGen::PokeMod::MapTrainerTeam::SetSpecies(const unsigned s) species = s;
}
-void PokeGen::PokeMod::MapTrainerTeam::SetSpecies(const String &s)
+void PokeGen::PokeMod::MapTrainerTeam::SetSpecies(const QString &s)
{
LogSetVar("MapTrainerTeam", id, "species string", s);
if (const Pokemon *p = pokemod->GetPokemon(s))
@@ -167,7 +166,7 @@ unsigned PokeGen::PokeMod::MapTrainerTeam::GetSpecies() const return species;
}
-PokeGen::PokeMod::String PokeGen::PokeMod::MapTrainerTeam::GetSpeciesString() const
+QString PokeGen::PokeMod::MapTrainerTeam::GetSpeciesString() const
{
LogFetchVar("MapTrainerTeam", id, "species string", species);
if (const Pokemon *p = pokemod->GetPokemon(species))
@@ -181,66 +180,66 @@ unsigned PokeGen::PokeMod::MapTrainerTeam::GetLevel() const return level;
}
-unsigned PokeGen::PokeMod::MapTrainerTeam::GetItem(const unsigned i) const -{ - LogSubmoduleFetch("MapTrainerTeam", id, "item", i); - if (i < GetItemCount() <= i) - return items[i]; - LogSubmoduleFetchFail("MapTrainerTeam", id, "item", i); - return UINT_MAX; -} - -unsigned PokeGen::PokeMod::MapTrainerTeam::GetItemCount() const -{ - LogSubmoduleCount("MapTrainerTeam", id, "item"); - return items.size(); -} - -void PokeGen::PokeMod::MapTrainerTeam::NewItem(const unsigned i) -{ - LogSubmoduleNew("MapTrainerTeam", id, "item", i); - if ((GetItemCount() < pokemod->GetHoldItems()) && pokemod->GetItem(i)) - items.push_back(i); -} - -void PokeGen::PokeMod::MapTrainerTeam::NewItem(const String &n) -{ - LogSubmoduleNew("MapTrainerTeam", id, "item", n); - if (GetItemCount() < pokemod->GetHoldItems()) - { - if (const Item *i = pokemod->GetItem(n)) - items.push_back(i->GetId()); - } -} - -void PokeGen::PokeMod::MapTrainerTeam::DeleteItem(const unsigned i) -{ - LogSubmoduleRemoveStart("MapTrainerTeam", id, "item", i); - if (i < GetItemCount()) - DeleteItemByID(items[i]); - else - LogSubmoduleRemoveFail("MapTrainerTeam", id, "item", i); -} - -void PokeGen::PokeMod::MapTrainerTeam::DeleteItem(const String &n) -{ - LogSubmoduleRemoveStart("MapTrainerTeam", id, "item", n); - if (const Item *i = pokemod->GetItem(n)) - DeleteItemByID(i->GetId()); - else - LogSubmoduleRemoveFail("MapTrainerTeam", id, "item", n); -} - -void PokeGen::PokeMod::MapTrainerTeam::DeleteItemByID(const unsigned _id) -{ - LogSubmoduleRemoveStart("MapTrainerTeam", id, "item", _id); - for (std::vector<unsigned>::iterator i = items.begin(); i != items.end(); ++i) - { - if (*i == _id) - { - LogSubmoduleRemoved("MapTrainerTeam", id, "item", _id); - items.erase(i); - } - } - LogSubmoduleRemoveFail("MapTrainerTeam", id, "item", _id); -} +unsigned PokeGen::PokeMod::MapTrainerTeam::GetItem(const unsigned i) const
+{
+ LogSubmoduleFetch("MapTrainerTeam", id, "item", i);
+ if (i < GetItemCount() <= i)
+ return items[i];
+ LogSubmoduleFetchFail("MapTrainerTeam", id, "item", i);
+ return UINT_MAX;
+}
+
+unsigned PokeGen::PokeMod::MapTrainerTeam::GetItemCount() const
+{
+ LogSubmoduleCount("MapTrainerTeam", id, "item");
+ return items.size();
+}
+
+void PokeGen::PokeMod::MapTrainerTeam::NewItem(const unsigned i)
+{
+ LogSubmoduleNew("MapTrainerTeam", id, "item", i);
+ if ((GetItemCount() < pokemod->GetHoldItems()) && pokemod->GetItem(i))
+ items.append(i);
+}
+
+void PokeGen::PokeMod::MapTrainerTeam::NewItem(const QString &n)
+{
+ LogSubmoduleNew("MapTrainerTeam", id, "item", n);
+ if (GetItemCount() < pokemod->GetHoldItems())
+ {
+ if (const Item *i = pokemod->GetItem(n))
+ items.append(i->GetId());
+ }
+}
+
+void PokeGen::PokeMod::MapTrainerTeam::DeleteItem(const unsigned i)
+{
+ LogSubmoduleRemoveStart("MapTrainerTeam", id, "item", i);
+ if (i < GetItemCount())
+ DeleteItemByID(items[i]);
+ else
+ LogSubmoduleRemoveFail("MapTrainerTeam", id, "item", i);
+}
+
+void PokeGen::PokeMod::MapTrainerTeam::DeleteItem(const QString &n)
+{
+ LogSubmoduleRemoveStart("MapTrainerTeam", id, "item", n);
+ if (const Item *i = pokemod->GetItem(n))
+ DeleteItemByID(i->GetId());
+ else
+ LogSubmoduleRemoveFail("MapTrainerTeam", id, "item", n);
+}
+
+void PokeGen::PokeMod::MapTrainerTeam::DeleteItemByID(const unsigned _id)
+{
+ LogSubmoduleRemoveStart("MapTrainerTeam", id, "item", _id);
+ for (QList<unsigned>::Iterator i = items.begin(); i != items.end(); ++i)
+ {
+ if (*i == _id)
+ {
+ LogSubmoduleRemoved("MapTrainerTeam", id, "item", _id);
+ items.erase(i);
+ }
+ }
+ LogSubmoduleRemoveFail("MapTrainerTeam", id, "item", _id);
+}
|
