diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2007-05-03 22:02:55 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2007-05-03 22:02:55 +0000 |
| commit | 7ed92969721c7b718da26b466bfa095185dfd4ed (patch) | |
| tree | 3d04ffb99ee294f04fee75e3156acdf25c2757ed | |
| parent | 83fd8efde1363354aa164b449b5ca5505b534ca7 (diff) | |
| download | sigen-7ed92969721c7b718da26b466bfa095185dfd4ed.tar.gz sigen-7ed92969721c7b718da26b466bfa095185dfd4ed.tar.xz sigen-7ed92969721c7b718da26b466bfa095185dfd4ed.zip | |
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@5 6ecfd1a5-f3ed-3746-8530-beee90d26b22
| -rw-r--r-- | Changelog | 29 | ||||
| -rw-r--r-- | ai/Layer.cpp | 163 | ||||
| -rw-r--r-- | ai/Layer.h | 79 | ||||
| -rw-r--r-- | ai/Node.cpp | 196 | ||||
| -rw-r--r-- | ai/Node.h | 99 | ||||
| -rw-r--r-- | pokegen.cbp | 554 | ||||
| -rw-r--r-- | pokegen.layout | 7 |
7 files changed, 1127 insertions, 0 deletions
@@ -1,4 +1,33 @@ -----------------
+Rev: 5
+Date: 3 May 2007
+User: MathStuf
+-----------------
+[ADD] Meta Code::Blocks project file instead of individual ones
+[ADD] Neural Network nodes and layers classes (/ai)
+
+-----------------
+Rev: 4
+Date: 3 May 2007
+User: hypersonic
+-----------------
+[DEL] /audio/{libaudio.a, main2.c} (not necessary)
+
+-----------------
+Rev: 3
+Date: 3 May 2007
+User: hypersonic
+-----------------
+[ADD] audio code
+
+-----------------
+Rev: 2
+Date: 3 May 2007
+User: hypersonic
+-----------------
+[ADD] /audio
+
+-----------------
Rev: 1
Date: 2 May 2007
User: MathStuf
diff --git a/ai/Layer.cpp b/ai/Layer.cpp new file mode 100644 index 00000000..6f36be67 --- /dev/null +++ b/ai/Layer.cpp @@ -0,0 +1,163 @@ +/////////////////////////////////////////////////////////////////////////////
+// Name: Layer.cpp
+// Purpose: A layer of a NeuralNet
+// Author: Ben Boeckel
+// Modified by: Ben Boeckel
+// Created: Thu May 5 15:55:21 2007
+// Copyright: ©2007 Ben Boeckel and Nerdy Productions
+// Licence:
+// 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
+// (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.
+/////////////////////////////////////////////////////////////////////////////
+
+#include "Layer.h"
+
+PokeGen::NeuralNetwork::Layer::Layer(Layer *par, Layer *child, int num)
+{
+ parent = par;
+ child = child;
+ for (int i = 0; i < num; ++i)
+ nodes.push_back(Node(this, i));
+ if (parent)
+ parent->RandomizeWeights();
+}
+
+int PokeGen::NeuralNetwork::Layer::GetNumNodes()
+{
+ return nodes.size();
+}
+
+void PokeGen::NeuralNetwork::Layer::RandomizeWeights()
+{
+ bias.clear();
+ for (int i = 0; i < child->GetNumNodes(); ++i)
+ bias.push_back((abs(rand())%201)/100.0);
+ for (int i = 0; i < GetNumNodes(); ++i)
+ nodes[i].RandomizeWeights();
+}
+
+void PokeGen::NeuralNetwork::Layer::CalculateErrors()
+{
+ for (int i = 0; i < GetNumNodes(); ++i)
+ nodes[i].CalculateError();
+}
+
+void PokeGen::NeuralNetwork::Layer::AdjustWeights()
+{
+ for (int i = 0; i < GetNumNodes(); ++i)
+ nodes[i].AdjustWeights();
+}
+
+void PokeGen::NeuralNetwork::Layer::CalculateValues()
+{
+ for (int i = 0; i < GetNumNodes(); ++i)
+ nodes[i].CalculateValue();
+}
+
+void PokeGen::NeuralNetwork::Layer::SetInput(int n, double i)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ nodes[n].SetInput(i);
+}
+
+void PokeGen::NeuralNetwork::Layer::SetDesired(int n, double o)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ nodes[n].SetDesired(o);
+}
+
+void PokeGen::NeuralNetwork::Layer::SetMomentum(int n, double m)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ nodes[n].SetMomentum(m);
+}
+
+void PokeGen::NeuralNetwork::Layer::SetMomentumFactor(int n, double m)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ nodes[n].SetMomentumFactor(m);
+}
+
+void PokeGen::NeuralNetwork::Layer::SetLearnRate(int n, double l)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ nodes[n].SetLearnRate(l);
+}
+
+void PokeGen::NeuralNetwork::Layer::SetFunction(int n, int f)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ nodes[n].SetFunction(f);
+}
+
+double PokeGen::NeuralNetwork::Layer::GetOutput(int n)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return nodes[n].GetOutput();
+ return 0;
+}
+
+double PokeGen::NeuralNetwork::Layer::GetError(int n)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return nodes[n].GetError();
+ return 0;
+}
+
+double PokeGen::NeuralNetwork::Layer::GetMomentum(int n)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return nodes[n].GetMomentum();
+ return 0;
+}
+
+double PokeGen::NeuralNetwork::Layer::GetMomentumFactor(int n)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return nodes[n].GetMomentumFactor();
+ return 0;
+}
+
+double PokeGen::NeuralNetwork::Layer::GetLearnRate(int n)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return nodes[n].GetLearnRate();
+ return 0;
+}
+
+int PokeGen::NeuralNetwork::Layer::GetFunction(int n)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return nodes[n].GetFunction();
+ return -1;
+}
+
+double PokeGen::NeuralNetwork::Layer::GetWeight(int n, int i)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return nodes[n].GetWeight(i);
+ return 0;
+}
+
+void PokeGen::NeuralNetwork::Layer::ChangeBias(int n, double d)
+{
+ bias[n] += d * GetError(n) * parent->GetBias(n);
+}
+
+double PokeGen::NeuralNetwork::Layer::GetBias(int n)
+{
+ if ((0 <= n) && (n <= GetNumNodes()))
+ return bias[n];
+ return 0;
+}
diff --git a/ai/Layer.h b/ai/Layer.h new file mode 100644 index 00000000..7679e58a --- /dev/null +++ b/ai/Layer.h @@ -0,0 +1,79 @@ +/////////////////////////////////////////////////////////////////////////////
+// Name: Layer.h
+// Purpose: A layer of a NeuralNet
+// Author: Ben Boeckel
+// Modified by: Ben Boeckel
+// Created: Sun Apr 15 16:56:23 2007
+// Copyright: ©2007 Ben Boeckel and Nerdy Productions
+// Licence:
+// 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
+// (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.
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __NEURAL_LAYER__
+#define __NEURAL_LAYER__
+
+#include <vector>
+#include <cstdlib>
+#include "Node.h"
+
+namespace PokeGen
+{
+ namespace NeuralNetwork
+ {
+ class Node;
+
+ class Layer
+ {
+ public:
+ Layer(Layer *par, Layer *child, int num);
+
+ void SetUpChild(int n);
+
+ int GetNumNodes();
+ void RandomizeWeights();
+ void CalculateErrors();
+ void AdjustWeights();
+ void CalculateValues();
+
+ void SetInput(int n, double i);
+ void SetDesired(int n, double o);
+ void SetMomentum(int n, double m);
+ void SetMomentumFactor(int n, double m);
+ void SetLearnRate(int n, double l);
+ void SetFunction(int n, int f);
+
+ double GetOutput(int n);
+ double GetError(int n);
+ double GetMomentum(int n);
+ double GetMomentumFactor(int n);
+ double GetLearnRate(int n);
+ int GetFunction(int n);
+ double GetWeight(int n, int i);
+
+ void ChangeBias(int n, double d);
+ double GetBias(int n);
+ private:
+ Layer *parent;
+ Layer *child;
+
+ std::vector<Node> nodes;
+ std::vector<double> bias;
+
+ friend class Node;
+ };
+ }
+}
+
+#endif
diff --git a/ai/Node.cpp b/ai/Node.cpp new file mode 100644 index 00000000..a6702b09 --- /dev/null +++ b/ai/Node.cpp @@ -0,0 +1,196 @@ +/////////////////////////////////////////////////////////////////////////////
+// Name: Node.cpp
+// Purpose: A node in a Neural Network layer
+// Author: Ben Boeckel
+// Modified by: Ben Boeckel
+// Created: Sun Apr 15 16:56:23 2007
+// Copyright: ©2007 Ben Boeckel and Nerdy Productions
+// Licence:
+// 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
+// (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.
+/////////////////////////////////////////////////////////////////////////////
+
+#include "Node.h"
+
+PokeGen::NeuralNetwork::Node::Node(Layer *own, unsigned idx, double mom, double mfc, double lrn, int func)
+{
+ ownerLayer = own;
+ id = idx;
+ momentum = mom;
+ momentumFactor = mfc;
+ learnRate = lrn;
+ if ((func <= FUNC_NONE) || (FUNC_END <= func))
+ function = FUNC_SIGMOID;
+ else
+ function = func;
+}
+
+void PokeGen::NeuralNetwork::Node::SetInput(double i)
+{
+ input = i;
+}
+
+void PokeGen::NeuralNetwork::Node::SetDesired(double o)
+{
+ desired = o;
+}
+
+void PokeGen::NeuralNetwork::Node::SetMomentum(double m)
+{
+ momentum = m;
+}
+
+void PokeGen::NeuralNetwork::Node::SetMomentumFactor(double m)
+{
+ momentumFactor = m;
+}
+
+void PokeGen::NeuralNetwork::Node::SetLearnRate(double r)
+{
+ learnRate = r;
+}
+
+void PokeGen::NeuralNetwork::Node::SetFunction(int f)
+{
+ function = f;
+}
+
+void PokeGen::NeuralNetwork::Node::RandomizeWeights()
+{
+ weights.clear();
+ int i = 0;
+ for (; i < ownerLayer->child->GetNumNodes(); ++i)
+ weights.push_back((abs(rand())%201)/100.0);
+ weightChanges.clear();
+ weightChanges.resize(i - 1, 0);
+}
+
+double PokeGen::NeuralNetwork::Node::GetOutput()
+{
+ if (ownerLayer->parent == NULL)
+ return input;
+ return output;
+}
+
+double PokeGen::NeuralNetwork::Node::GetError()
+{
+ return error;
+}
+
+double PokeGen::NeuralNetwork::Node::GetMomentum()
+{
+ return momentum;
+}
+
+double PokeGen::NeuralNetwork::Node::GetMomentumFactor()
+{
+ return momentumFactor;
+}
+
+double PokeGen::NeuralNetwork::Node::GetLearnRate()
+{
+ return learnRate;
+}
+
+int PokeGen::NeuralNetwork::Node::GetFunction()
+{
+ return function;
+}
+
+double PokeGen::NeuralNetwork::Node::GetWeight(unsigned i)
+{
+ if ((0 <= i) && (i <= weights.size()))
+ return weights[i];
+ return 0;
+}
+
+void PokeGen::NeuralNetwork::Node::CalculateError()
+{
+ double error = 0;
+ if (ownerLayer->child->GetNumNodes())
+ {
+ for (int i = 0; i < ownerLayer->child->GetNumNodes(); ++i)
+ error += ownerLayer->child->GetError(i) * weights[i];
+ }
+ else
+ error = desired - output;
+ switch (function)
+ {
+ case FUNC_STEP:
+ error *= .01;
+ break;
+ case FUNC_SYMMETRIC_SIGMOID:
+ error *= 2;
+ case FUNC_SIGMOID:
+ error *= output * (1 - output);
+ break;
+ case FUNC_INVERSE_TANGENT:
+ error *= 1 / (1 + (output * output));
+ break;
+ case FUNC_HYPERBOLIC_TANGENT:
+ error *= 1 - tanh(output) * tanh(output);
+ break;
+ case FUNC_RADIAL:
+ error *= 2 * output * exp(output * output);
+ }
+}
+
+void PokeGen::NeuralNetwork::Node::AdjustWeights()
+{
+ double delta;
+ for (int i = 0; i < ownerLayer->child->GetNumNodes(); ++i)
+ {
+ delta = learnRate * ownerLayer->child->GetError(i) * output;
+ weights[i] += delta + momentum * weightChanges[i] + momentumFactor * weightChanges[i];
+ weightChanges[i] = delta;
+ }
+ for (int i = 0; i < ownerLayer->child->GetNumNodes(); ++i)
+ ownerLayer->child->ChangeBias(i, learnRate);
+}
+
+void PokeGen::NeuralNetwork::Node::CalculateValue()
+{
+ double val = 0;
+ for (int i = 0; i < ownerLayer->parent->GetNumNodes(); ++i)
+ val += ownerLayer->parent->GetOutput(i) * ownerLayer->parent->GetWeight(i, id);
+ val += ownerLayer->parent->GetBias(id);
+ switch (function)
+ {
+ case FUNC_IDENTITY:
+ output = val;
+ break;
+ case FUNC_STEP:
+ output = (val <= 0) ? 0 : 1;
+ break;
+ case FUNC_SIGMOID:
+ output = 1.0 / (1 + exp(val));
+ break;
+ case FUNC_SYMMETRIC_SIGMOID:
+ output = 2.0 / (1 + exp(val)) - 1;
+ break;
+ case FUNC_INVERSE_TANGENT:
+ output = atan(val);
+ break;
+ case FUNC_HYPERBOLIC_TANGENT:
+ output = tanh(val);
+ break;
+ case FUNC_RADIAL:
+ output = exp(val * val);
+ }
+}
+
+void PokeGen::NeuralNetwork::Node::DumpData(const std::string &f)
+{
+
+}
diff --git a/ai/Node.h b/ai/Node.h new file mode 100644 index 00000000..b176d53b --- /dev/null +++ b/ai/Node.h @@ -0,0 +1,99 @@ +/////////////////////////////////////////////////////////////////////////////
+// Name: Node.h
+// Purpose: A node in a Neural Network layer
+// Author: Ben Boeckel
+// Modified by: Ben Boeckel
+// Created: Sun Apr 15 16:56:23 2007
+// Copyright: ©2007 Ben Boeckel and Nerdy Productions
+// Licence:
+// 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
+// (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.
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef __NETWORK_NODE__
+#define __NETWORK_NODE__
+
+#include <string>
+#include <vector>
+#include <cstdlib>
+#include <cmath>
+#include "Layer.h"
+
+namespace PokeGen
+{
+ namespace NeuralNetwork
+ {
+ class Layer;
+
+ enum Function
+ {
+ FUNC_NONE = -1,
+ FUNC_IDENTITY = 0,
+ FUNC_STEP = 1,
+ FUNC_SIGMOID = 2,
+ FUNC_SYMMETRIC_SIGMOID = 3,
+ FUNC_INVERSE_TANGENT = 4,
+ FUNC_HYPERBOLIC_TANGENT = 5,
+ FUNC_RADIAL = 6,
+ FUNC_END = 7
+ };
+
+ class Node
+ {
+ public:
+ Node(Layer *own, unsigned idx, double mom = 0, double mfc = 0, double lrn = 0, int func = 2);
+
+ void SetInput(double i);
+ void SetDesired(double o);
+ void SetMomentum(double m);
+ void SetMomentumFactor(double m);
+ void SetLearnRate(double r);
+ void SetFunction(int f);
+ void RandomizeWeights();
+
+ double GetOutput();
+ double GetError();
+ double GetMomentum();
+ double GetMomentumFactor();
+ double GetLearnRate();
+ int GetFunction();
+ double GetWeight(unsigned i);
+
+ void CalculateError();
+ void AdjustWeights();
+ void CalculateValue();
+
+ void DumpData(const std::string &f);
+ private:
+ Layer *ownerLayer;
+
+ unsigned id;
+
+ double input;
+ double output;
+ double desired;
+ double error;
+ double momentum;
+ double momentumFactor;
+ double learnRate;
+
+ int function;
+
+ std::vector<double> weights;
+ std::vector<double> weightChanges;
+ };
+ }
+}
+
+#endif
diff --git a/pokegen.cbp b/pokegen.cbp new file mode 100644 index 00000000..f002c9ea --- /dev/null +++ b/pokegen.cbp @@ -0,0 +1,554 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<CodeBlocks_project_file> + <FileVersion major="1" minor="6" /> + <Project> + <Option title="pokegen" /> + <Option pch_mode="2" /> + <Option compiler="gcc" /> + <Build> + <Target title="pokemodr"> + <Option output="..\bin\pokemodr.exe" prefix_auto="0" extension_auto="1" /> + <Option object_output="..\obj\" /> + <Option type="0" /> + <Option compiler="gcc" /> + </Target> + <Target title="pokegen"> + <Option output="..\bin\pokegen.exe" prefix_auto="0" extension_auto="1" /> + <Option object_output="..\obj\" /> + <Option type="0" /> + <Option compiler="gcc" /> + </Target> + </Build> + <Compiler> + <Add option="-Wall" /> + </Compiler> + <Unit filename="Changelog" /> + <Unit filename="pokemod\Ability.cpp" /> + <Unit filename="pokemod\Ability.h" /> + <Unit filename="pokemod\Author.cpp" /> + <Unit filename="pokemod\Author.h" /> + <Unit filename="pokemod\Badge.cpp" /> + <Unit filename="pokemod\Badge.h" /> + <Unit filename="pokemod\Debug.cpp" /> + <Unit filename="pokemod\Debug.h" /> + <Unit filename="pokemod\Flag.cpp" /> + <Unit filename="pokemod\Flag.h" /> + <Unit filename="pokemod\Frac.cpp" /> + <Unit filename="pokemod\Frac.h" /> + <Unit filename="pokemod\Matrix.cpp" /> + <Unit filename="pokemod\Matrix.h" /> + <Unit filename="pokemod\Nature.cpp" /> + <Unit filename="pokemod\Nature.h" /> + <Unit filename="pokemod\Object.cpp" /> + <Unit filename="pokemod\Object.h" /> + <Unit filename="pokemod\Path.cpp" /> + <Unit filename="pokemod\Path.h" /> + <Unit filename="pokemod\Point.cpp" /> + <Unit filename="pokemod\Point.h" /> + <Unit filename="pokemod\Ref.cpp" /> + <Unit filename="pokemod\Ref.h" /> + <Unit filename="pokemod\String.cpp" /> + <Unit filename="pokemod\String.h" /> + <Unit filename="pokemod\Xml.cpp" /> + <Unit filename="pokemod\Xml.h" /> + <Unit filename="pokemod\pokemod_inc.h" /> + <Unit filename="pokemodr\PokeGen.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\PokeModr.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\PokeModrDebug.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\PokeModrGUI.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\PokeModrGUI.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\abilityeffectpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\abilityeffectpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\abilitypanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\abilitypanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\app_resources.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\app_resources.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\authorpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\authorpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\badgepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\badgepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\coinitempanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\coinitempanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\coinpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\coinpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\debugWindow.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\debugWindow.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dialogpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dialogpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgBattleTrainer.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgBattleTrainer.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckDirection.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckDirection.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckHeldItems.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckHeldItems.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckItem.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckItem.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckLevels.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckLevels.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckMoney.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckMoney.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckRoster.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckRoster.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckSpecies.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCheckSpecies.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCoinList.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgCoinList.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDaycare.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDaycare.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDeleteMove.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDeleteMove.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDialog.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDialog.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDisplayName.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgDisplayName.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagFlip.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagFlip.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagRandomize.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagRandomize.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagSet.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagSet.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagTest.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagTest.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagUnset.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgFlagUnset.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgGiveItem.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgGiveItem.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgGiveMoney.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgGiveMoney.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgGivePokemon.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgGivePokemon.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgItemShop.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgItemShop.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgMenu.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgMenu.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgMoveEffect.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgMoveEffect.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgMusic.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgMusic.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgShowPokemon.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgShowPokemon.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgSoundEffect.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgSoundEffect.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTakeItem.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTakeItem.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTakeMoney.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTakeMoney.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTakePokemon.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTakePokemon.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTeachMove.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTeachMove.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTimer.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTimer.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTrade.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTrade.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTurnEffect.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgTurnEffect.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgViewPokemon.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgViewPokemon.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgWarp.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgWarp.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgYesNo.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\dlgYesNo.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\editimage.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\editimage.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\givebadge.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\givebadge.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\itemeffectpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\itemeffectpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\itempanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\itempanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\itemstoragepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\itemstoragepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mainWindow.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mainWindow.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapeffectpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapeffectpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mappanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mappanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\maptrainerpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\maptrainerpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\maptrainerteampanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\maptrainerteampanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapwarppanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapwarppanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapwildlistpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapwildlistpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapwildpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\mapwildpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\menuEntry.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\menuEntry.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\moveeffectpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\moveeffectpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\movepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\movepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\natureeffectpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\natureeffectpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\naturepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\naturepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonabilitypanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonabilitypanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonevolutionpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonevolutionpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonitempanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonitempanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonmovepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonmovepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonnaturepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonnaturepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\pokemonpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\prefs.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\prefs.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\statuseffectpanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\statuseffectpanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\statuspanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\statuspanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\storeitempanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\storeitempanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\storepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\storepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\tilepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\tilepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\timepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\timepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\typemultiplier.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\typemultiplier.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\typepanel.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\typepanel.h"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\validation.cpp"> + <Option target="pokemodr" /> + </Unit> + <Unit filename="pokemodr\gui\validation.h"> + <Option target="pokemodr" /> + </Unit> + <Extensions> + <code_completion /> + </Extensions> + </Project> +</CodeBlocks_project_file> diff --git a/pokegen.layout b/pokegen.layout new file mode 100644 index 00000000..f4dee219 --- /dev/null +++ b/pokegen.layout @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<CodeBlocks_layout_file> + <ActiveTarget name="pokemodr" /> + <File name="Changelog" open="1" top="1" tabpos="1"> + <Cursor position="197" topLine="0" /> + </File> +</CodeBlocks_layout_file> |
