From 9102febc37475af113681eaaee02ecc2ea04b4da Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 28 Jun 2007 15:25:39 +0000 Subject: Minor various fixes, Dialog validation started, GUI fixes, String methods added git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@21 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- pokemod/Pokemod.cpp | 230 +++++++++++++++++----------------------------------- 1 file changed, 76 insertions(+), 154 deletions(-) (limited to 'pokemod/Pokemod.cpp') diff --git a/pokemod/Pokemod.cpp b/pokemod/Pokemod.cpp index 14c1170e..80182f00 100644 --- a/pokemod/Pokemod.cpp +++ b/pokemod/Pokemod.cpp @@ -23,7 +23,7 @@ #include "Pokemod.h" -PokeGen::PokeMod::Pokemod::Pokemod() : +PokeGen::PokeMod::Pokemod::Pokemod(const String &f) : title(""), version(""), description(""), @@ -60,27 +60,16 @@ PokeGen::PokeMod::Pokemod::Pokemod() : startCoordinate(0, 0), startDirection(UINT_MAX), startDialog(UINT_MAX), - walkSkin(""), - bikeSkin(""), - surfSkin(""), - flySkin(""), - fishSkin(""), - surfFishSkin(""), superPCUname(""), superPCPasswd(""), struggleMove(UINT_MAX), confuseMove(UINT_MAX), - typeChart(1, 1, Frac(1, 1, true)) + typeChart(1, 1, Frac(1, 1, true)), + file(f) { LogCtor("Pokemod", 0); } -PokeGen::PokeMod::Pokemod::Pokemod(std::ifstream &fin) -{ - LogCtorIni("Pokemod", 0); - ImportIni(fin); -} - PokeGen::PokeMod::Pokemod::~Pokemod() { LogDtor("Pokemod", 0); @@ -178,52 +167,34 @@ void PokeGen::PokeMod::Pokemod::Validate() LogVarNotValid("Pokemod", 0, "startDialog"); isValid = false; } - if (!walkSkin.DoesExist()) + if (!Path(GetPath() + "skins/walk.png").DoesExist()) { - if (walkSkin == "") - LogVarNotSet("Pokemod", 0, "walkSkin"); - else - LogVarNotValid("Pokemod", 0, "walkSkin"); + LogVarNotValid("Pokemod", 0, "walkSkin"); isValid = false; } - if (!bikeSkin.DoesExist()) + if (!Path(GetPath() + "skins/bike.png").DoesExist()) { - if (bikeSkin == "") - LogVarNotSet("Pokemod", 0, "bikeSkin"); - else - LogVarNotValid("Pokemod", 0, "bikeSkin"); + LogVarNotValid("Pokemod", 0, "bikeSkin"); isValid = false; } - if (!surfSkin.DoesExist()) + if (!Path(GetPath() + "skins/surf.png").DoesExist()) { - if (surfSkin == "") - LogVarNotSet("Pokemod", 0, "surfSkin"); - else - LogVarNotValid("Pokemod", 0, "surfSkin"); + LogVarNotValid("Pokemod", 0, "surfSkin"); isValid = false; } - if (!flySkin.DoesExist()) + if (!Path(GetPath() + "skins/fly.png").DoesExist()) { - if (flySkin == "") - LogVarNotSet("Pokemod", 0, "flySkin"); - else - LogVarNotValid("Pokemod", 0, "flySkin"); + LogVarNotValid("Pokemod", 0, "flySkin"); isValid = false; } - if (!fishSkin.DoesExist()) + if (!Path(GetPath() + "skins/fish.png").DoesExist()) { - if (fishSkin == "") - LogVarNotSet("Pokemod", 0, "fishSkin"); - else - LogVarNotValid("Pokemod", 0, "fishSkin"); + LogVarNotValid("Pokemod", 0, "fishSkin"); isValid = false; } - if (!surfFishSkin.DoesExist()) + if (!Path(GetPath() + "skins/surfFish.png").DoesExist()) { - if (surfFishSkin == "") - LogVarNotSet("Pokemod", 0, "surfFishSkin"); - else - LogVarNotValid("Pokemod", 0, "surfFishSkin"); + LogVarNotValid("Pokemod", 0, "surfFishSkin"); isValid = false; } if (superPCUname == "") @@ -937,88 +908,40 @@ void PokeGen::PokeMod::Pokemod::Validate(const wxListBox &output) output.Append(ConsoleLogVarNotValid("Pokemod", 0, "startDialog")); isValid = false; } - if (!walkSkin.DoesExist()) + if (!Path(GetPath() + "skins/walk.png").DoesExist()) { - if (walkSkin == "") - { - LogVarNotSet("Pokemod", 0, "walkSkin"); - output.Append(ConsoleLogVarNotSet("Pokemod", 0, "walkSkin")); - } - else - { - LogVarNotValid("Pokemod", 0, "walkSkin"); - output.Append(ConsoleLogVarNotValid("Pokemod", 0, "walkSkin")); - } + LogVarNotValid("Pokemod", 0, "walkSkin"); + output.Append(ConsoleLogVarNotValid("Pokemod", 0, "walkSkin")); isValid = false; } - if (!bikeSkin.DoesExist()) + if (!Path(GetPath() + "skins/bike.png").DoesExist()) { - if (bikeSkin == "") - { - LogVarNotSet("Pokemod", 0, "bikeSkin"); - output.Append(ConsoleLogVarNotSet("Pokemod", 0, "bikeSkin")); - } - else - { - LogVarNotValid("Pokemod", 0, "bikeSkin"); - output.Append(ConsoleLogVarNotValid("Pokemod", 0, "bikeSkin")); - } + LogVarNotValid("Pokemod", 0, "bikeSkin"); + output.Append(ConsoleLogVarNotValid("Pokemod", 0, "bikeSkin")); isValid = false; } - if (!surfSkin.DoesExist()) + if (!Path(GetPath() + "skins/surf.png").DoesExist()) { - if (surfSkin == "") - { - LogVarNotSet("Pokemod", 0, "surfSkin"); - output.Append(ConsoleLogVarNotSet("Pokemod", 0, "surfSkin")); - } - else - { - LogVarNotValid("Pokemod", 0, "surfSkin"); - output.Append(ConsoleLogVarNotValid("Pokemod", 0, "surfSkin")); - } + LogVarNotValid("Pokemod", 0, "surfSkin"); + output.Append(ConsoleLogVarNotValid("Pokemod", 0, "surfSkin")); isValid = false; } - if (!flySkin.DoesExist()) + if (!Path(GetPath() + "skins/fly.png").DoesExist()) { - if (flySkin == "") - { - LogVarNotSet("Pokemod", 0, "flySkin"); - output.Append(ConsoleLogVarNotSet("Pokemod", 0, "flySkin")); - } - else - { - LogVarNotValid("Pokemod", 0, "flySkin"); - output.Append(ConsoleLogVarNotValid("Pokemod", 0, "flySkin")); - } + LogVarNotValid("Pokemod", 0, "flySkin"); + output.Append(ConsoleLogVarNotValid("Pokemod", 0, "flySkin")); isValid = false; } - if (!fishSkin.DoesExist()) + if (!Path(GetPath() + "skins/fish.png").DoesExist()) { - if (fishSkin == "") - { - LogVarNotSet("Pokemod", 0, "fishSkin"); - output.Append(ConsoleLogVarNotSet("Pokemod", 0, "fishSkin")); - } - else - { - LogVarNotValid("Pokemod", 0, "fishSkin"); - output.Append(ConsoleLogVarNotValid("Pokemod", 0, "fishSkin")); - } + LogVarNotValid("Pokemod", 0, "fishSkin"); + output.Append(ConsoleLogVarNotValid("Pokemod", 0, "fishSkin")); isValid = false; } - if (!surfFishSkin.DoesExist()) + if (!Path(GetPath() + "skins/surfFish.png").DoesExist()) { - if (surfFishSkin == "") - { - LogVarNotSet("Pokemod", 0, "surfFishSkin"); - output.Append(ConsoleLogVarNotSet("Pokemod", 0, "surfFishSkin")); - } - else - { - LogVarNotValid("Pokemod", 0, "surfFishSkin"); - output.Append(ConsoleLogVarNotValid("Pokemod", 0, "surfFishSkin")); - } + LogVarNotValid("Pokemod", 0, "surfFishSkin"); + output.Append(ConsoleLogVarNotValid("Pokemod", 0, "surfFishSkin")); isValid = false; } if (superPCUname == "") @@ -1675,11 +1598,20 @@ void PokeGen::PokeMod::Pokemod::Validate(const wxListBox &output) } #endif -void PokeGen::PokeMod::Pokemod::ImportIni(std::ifstream &fin) +PokeGen::PokeMod::Path PokeGen::PokeMod::Pokemod::GetPath() const +{ + Path f = file; + f.erase(f.rfind('/') + 1); + return f; +} + +void PokeGen::PokeMod::Pokemod::ImportIni(const String &f) { LogImportStart("Pokemod"); std::vector sections; Ini meta("unset"); + std::ifstream fin(f, std::ios::in); + file = f; while (fin.peek() != '\n') { Ini curSection(fin); @@ -1733,12 +1665,6 @@ void PokeGen::PokeMod::Pokemod::ImportIni(std::ifstream &fin) startCoordinate.Set(i, j); curSection.GetValue("startDirection", startDirection); curSection.GetValue("startDialog", startDialog); - curSection.GetValue("walkSkin", walkSkin); - curSection.GetValue("bikeSkin", bikeSkin); - curSection.GetValue("surfSkin", surfSkin); - curSection.GetValue("flySkin", flySkin); - curSection.GetValue("fishSkin", fishSkin); - curSection.GetValue("surfFishSkin", surfFishSkin); curSection.GetValue("superPCUname", superPCUname); curSection.GetValue("superPCPasswd", superPCPasswd); curSection.GetValue("struggleMove", struggleMove); @@ -1926,10 +1852,12 @@ void PokeGen::PokeMod::Pokemod::ImportIni(std::ifstream &fin) LogImportOver("Pokemod", 0, title); } -void PokeGen::PokeMod::Pokemod::ExportIni(std::ofstream &fout) const +void PokeGen::PokeMod::Pokemod::ExportIni(const String &f) const { LogExportStart("Pokemod", 0, title); Ini exPokemod("pokemod"); + std::ofstream fout(f, std::ios::out); + file = f.c_str(); exPokemod.AddField("title", title); exPokemod.AddField("version", version); exPokemod.AddField("description", description); @@ -1968,12 +1896,6 @@ void PokeGen::PokeMod::Pokemod::ExportIni(std::ofstream &fout) const exPokemod.AddField("startCoordinate-y", startCoordinate.GetY()); exPokemod.AddField("startDirection", startDirection); exPokemod.AddField("startDialog", startDialog); - exPokemod.AddField("walkSkin", walkSkin); - exPokemod.AddField("bikeSkin", bikeSkin); - exPokemod.AddField("surfSkin", surfSkin); - exPokemod.AddField("flySkin", flySkin); - exPokemod.AddField("fishSkin", fishSkin); - exPokemod.AddField("surfFishSkin", surfFishSkin); exPokemod.AddField("superPCUname", superPCUname); exPokemod.AddField("superPCPasswd", superPCPasswd); exPokemod.AddField("struggleMove", struggleMove); @@ -2326,40 +2248,40 @@ void PokeGen::PokeMod::Pokemod::SetStartDialog(const unsigned s) startDialog = s; } -void PokeGen::PokeMod::Pokemod::SetWalkSkin(const Path &w) +void PokeGen::PokeMod::Pokemod::SetWalkSkin(Path &w) { LogSetVar("Pokemod", 0, "walkSkin", w); - walkSkin = w; + w.CopyTo(GetPath() + "skins/walk.png"); } -void PokeGen::PokeMod::Pokemod::SetBikeSkin(const Path &b) +void PokeGen::PokeMod::Pokemod::SetBikeSkin(Path &b) { LogSetVar("Pokemod", 0, "bikeSkin", b); - bikeSkin = b; + b.CopyTo(GetPath() + "skins/bike.png"); } -void PokeGen::PokeMod::Pokemod::SetSurfSkin(const Path &s) +void PokeGen::PokeMod::Pokemod::SetSurfSkin(Path &s) { LogSetVar("Pokemod", 0, "surfSkin", s); - surfSkin = s; + s.CopyTo(GetPath() + "skins/surf.png"); } -void PokeGen::PokeMod::Pokemod::SetFlySkin(const Path &f) +void PokeGen::PokeMod::Pokemod::SetFlySkin(Path &f) { LogSetVar("Pokemod", 0, "flySkin", f); - flySkin = f; + f.CopyTo(GetPath() + "skins/fly.png"); } -void PokeGen::PokeMod::Pokemod::SetFishSkin(const Path &f) +void PokeGen::PokeMod::Pokemod::SetFishSkin(Path &f) { LogSetVar("Pokemod", 0, "fishSkin", f); - fishSkin = f; + f.CopyTo(GetPath() + "skins/fish.png"); } -void PokeGen::PokeMod::Pokemod::SetSurfFishSkin(const Path &s) +void PokeGen::PokeMod::Pokemod::SetSurfFishSkin(Path &s) { LogSetVar("Pokemod", 0, "surfFishSkin", s); - surfFishSkin = s; + s.CopyTo(GetPath() + "skins/surfFish.png"); } void PokeGen::PokeMod::Pokemod::SetSuperPCUname(const String &u) @@ -2674,40 +2596,40 @@ PokeGen::PokeMod::String PokeGen::PokeMod::Pokemod::GetStartDialogString() const return ""; } -PokeGen::PokeMod::Path PokeGen::PokeMod::Pokemod::GetWalkSkin() const +bool PokeGen::PokeMod::Pokemod::GetWalkSkin() const { - LogFetchVar("Pokemod", 0, "walkSkin", walkSkin); - return walkSkin; + LogFetchVar("Pokemod", 0, "walkSkin", 0); + return Path(GetPath() + "skins/walk.png").DoesExist(); } -PokeGen::PokeMod::Path PokeGen::PokeMod::Pokemod::GetBikeSkin() const +bool PokeGen::PokeMod::Pokemod::GetBikeSkin() const { - LogFetchVar("Pokemod", 0, "bikeSkin", bikeSkin); - return bikeSkin; + LogFetchVar("Pokemod", 0, "bikeSkin", 0); + return Path(GetPath() + "skins/nike.png").DoesExist(); } -PokeGen::PokeMod::Path PokeGen::PokeMod::Pokemod::GetSurfSkin() const +bool PokeGen::PokeMod::Pokemod::GetSurfSkin() const { - LogFetchVar("Pokemod", 0, "surfSkin", surfSkin); - return surfSkin; + LogFetchVar("Pokemod", 0, "surfSkin", 0); + return Path(GetPath() + "skins/surf.png").DoesExist(); } -PokeGen::PokeMod::Path PokeGen::PokeMod::Pokemod::GetFlySkin() const +bool PokeGen::PokeMod::Pokemod::GetFlySkin() const { - LogFetchVar("Pokemod", 0, "flySkin", flySkin); - return flySkin; + LogFetchVar("Pokemod", 0, "flySkin", 0); + return Path(GetPath() + "skins/fly.png").DoesExist(); } -PokeGen::PokeMod::Path PokeGen::PokeMod::Pokemod::GetFishSkin() const +bool PokeGen::PokeMod::Pokemod::GetFishSkin() const { - LogFetchVar("Pokemod", 0, "fishSkin", fishSkin); - return fishSkin; + LogFetchVar("Pokemod", 0, "fishSkin", 0); + return Path(GetPath() + "skins/fish.png").DoesExist(); } -PokeGen::PokeMod::Path PokeGen::PokeMod::Pokemod::GetSurfFishSkin() const +bool PokeGen::PokeMod::Pokemod::GetSurfFishSkin() const { - LogFetchVar("Pokemod", 0, "surfFishSkin", surfFishSkin); - return surfFishSkin; + LogFetchVar("Pokemod", 0, "surfFishSkin", 0); + return Path(GetPath() + "skins/surfFish.png").DoesExist(); } PokeGen::PokeMod::String PokeGen::PokeMod::Pokemod::GetSuperPCUname() const -- cgit