summaryrefslogtreecommitdiffstats
path: root/pokemod/Pokemod.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemod/Pokemod.cpp')
-rw-r--r--pokemod/Pokemod.cpp230
1 files changed, 76 insertions, 154 deletions
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<Ini> 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