diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2008-05-14 21:15:28 +0000 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2008-05-14 21:15:28 +0000 |
commit | 612529f1c447674dae5863edd6b2074b404759a9 (patch) | |
tree | 3a6345c5467c5e634efba1c376d4f73e8521ac7f | |
parent | 56f272b11d13bbc5d829283ccf2813d3a7e41dbc (diff) | |
download | sigen-612529f1c447674dae5863edd6b2074b404759a9.tar.gz sigen-612529f1c447674dae5863edd6b2074b404759a9.tar.xz sigen-612529f1c447674dae5863edd6b2074b404759a9.zip |
[ADD] MapTrainerUI logic
[FIX] MapTrainer UI now uses the PointWidget
[FIX] Unnecessary static_casts removed
[FIX] MapTrainer API changed a bit
[FIX] PointWidget::setMaximum slot
[FIX] spec file now for F9 (qt and kdelibs are now 4, not 3)
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@129 6ecfd1a5-f3ed-3746-8530-beee90d26b22
31 files changed, 146 insertions, 174 deletions
@@ -1,4 +1,16 @@ ----------------- +Rev: 129 +Date: 14 May 2008 +User: MathStuf +----------------- +[ADD] MapTrainerUI logic +[FIX] MapTrainer UI now uses the PointWidget +[FIX] Unnecessary static_casts removed +[FIX] MapTrainer API changed a bit +[FIX] PointWidget::setMaximum slot +[FIX] spec file now for F9 (qt and kdelibs are now 4, not 3) + +----------------- Rev: 128 Date: 13 May 2008 User: MathStuf diff --git a/general/Matrix.h b/general/Matrix.h index 5ba0d4e8..d8e76ea5 100644 --- a/general/Matrix.h +++ b/general/Matrix.h @@ -18,6 +18,9 @@ #ifndef __MATRIX__ #define __MATRIX__ +// General includes +#include "Point.h" + // Qt includes #include <QVector> @@ -150,6 +153,10 @@ template<class T> class Matrix { return m_width; } + Point size() const + { + return Point(m_width, m_height); + } T& operator()(const int row, const int column) { diff --git a/pokegen.spec b/pokegen.spec index 09b2d613..dbaaa894 100644 --- a/pokegen.spec +++ b/pokegen.spec @@ -10,8 +10,8 @@ Source0: pokegen-%{version}.tar.bz2 Source1: pokemodr.desktop BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: qt4-devel kdelibs4-devel tetex-latex -Requires: qt4 kdelibs4 +BuildRequires: qt-devel kdelibs-devel tetex-latex +Requires: qt kdelibs %description PokéGen is a game engine aiming to emulate the original Pokémon games. diff --git a/pokemod/Map.cpp b/pokemod/Map.cpp index db12de34..7a3899f1 100644 --- a/pokemod/Map.cpp +++ b/pokemod/Map.cpp @@ -255,6 +255,11 @@ int Map::height() const return m_tile.height(); } +Point Map::size() const +{ + return m_tile.size(); +} + const MapEffect* Map::effect(const int index) const { if (effectCount() <= index) diff --git a/pokemod/Map.h b/pokemod/Map.h index d09d684f..355257f4 100644 --- a/pokemod/Map.h +++ b/pokemod/Map.h @@ -80,6 +80,7 @@ class Map : public Object int tile(const int row, const int column) const; int width() const; int height() const; + Point size() const; const MapEffect* effect(const int index) const; MapEffect* effect(const int index); diff --git a/pokemod/MapTrainer.cpp b/pokemod/MapTrainer.cpp index 898c7a99..03d0fcba 100644 --- a/pokemod/MapTrainer.cpp +++ b/pokemod/MapTrainer.cpp @@ -40,8 +40,8 @@ MapTrainer::MapTrainer(const Map* parent, const int id) : m_coordinate(0, 0), m_sight(0), m_direction(INT_MAX), - m_numFight(1), - m_appearFlag(0, 0), + m_numberFight(1), + m_flag(0, 0), m_dialog(INT_MAX), m_leadTeamMember(INT_MAX) { @@ -71,7 +71,7 @@ void MapTrainer::validate() TEST(setTrainerClass, trainerClass); TEST(setCoordinate, coordinate); TEST(setDirection, direction); - TEST(setNumFight, numFight); + TEST(setNumberFight, numberFight); TEST(setDialog, dialog); TEST(setLeadTeamMember, leadTeamMember); if (!teamMemberCount()) @@ -94,8 +94,8 @@ void MapTrainer::load(const QDomElement& xml, int id) LOAD(Point, coordinate); LOAD(int, sight); LOAD(int, direction); - LOAD(int, numFight); - LOAD(Flag, appearFlag); + LOAD(int, numberFight); + LOAD(Flag, flag); LOAD(int, dialog); LOAD_SUB(newTeamMember, MapTrainerTeamMember); LOAD(int, leadTeamMember); @@ -109,8 +109,8 @@ QDomElement MapTrainer::save() const SAVE(Point, coordinate); SAVE(int, sight); SAVE(int, direction); - SAVE(int, numFight); - SAVE(Flag, appearFlag); + SAVE(int, numberFight); + SAVE(Flag, flag); SAVE(int, dialog); SAVE_SUB(MapTrainerTeamMember, teamMember); return xml; @@ -156,19 +156,19 @@ void MapTrainer::setDirection(const int direction) m_direction = direction; } -void MapTrainer::setNumFight(const int numFight) +void MapTrainer::setNumberFight(const int numberFight) { - if (!numFight || (static_cast<const Pokemod*>(pokemod())->rules()->maxFight() < numFight)) + if (!numberFight || (static_cast<const Pokemod*>(pokemod())->rules()->maxFight() < numberFight)) { - emit(error(bounds("numFight"))); + emit(error(bounds("numberFight"))); return; } - m_numFight = numFight; + m_numberFight = numberFight; } -void MapTrainer::setAppearFlag(const Flag& appearFlag) +void MapTrainer::setFlag(const Flag& flag) { - m_appearFlag = appearFlag; + m_flag = flag; } void MapTrainer::setDialog(const int dialog) @@ -216,14 +216,14 @@ int MapTrainer::direction() const return m_direction; } -int MapTrainer::numFight() const +int MapTrainer::numberFight() const { - return m_numFight; + return m_numberFight; } -Flag MapTrainer::appearFlag() const +Flag MapTrainer::flag() const { - return m_appearFlag; + return m_flag; } int MapTrainer::dialog() const @@ -327,8 +327,8 @@ MapTrainer& MapTrainer::operator=(const MapTrainer& rhs) COPY(coordinate); COPY(sight); COPY(direction); - COPY(numFight); - COPY(appearFlag); + COPY(numberFight); + COPY(flag); COPY(dialog); COPY(leadTeamMember); COPY_SUB(MapTrainerTeamMember, teamMember); diff --git a/pokemod/MapTrainer.h b/pokemod/MapTrainer.h index eb4b9970..02a9eb2e 100644 --- a/pokemod/MapTrainer.h +++ b/pokemod/MapTrainer.h @@ -53,8 +53,8 @@ class MapTrainer : public Object void setCoordinate(const Point& coordinate); void setSight(const int sight); void setDirection(const int direction); - void setNumFight(const int numFight); - void setAppearFlag(const Flag& appearFlag); + void setNumberFight(const int numberFight); + void setFlag(const Flag& flag); void setDialog(const int dialog); void setLeadTeamMember(const int leadMember); @@ -63,8 +63,8 @@ class MapTrainer : public Object Point coordinate() const; int sight() const; int direction() const; - int numFight() const; - Flag appearFlag() const; + int numberFight() const; + Flag flag() const; int dialog() const; int leadTeamMember() const; @@ -92,8 +92,8 @@ class MapTrainer : public Object Point m_coordinate; int m_sight; int m_direction; - int m_numFight; - Flag m_appearFlag; + int m_numberFight; + Flag m_flag; int m_dialog; int m_leadTeamMember; QList<MapTrainerTeamMember*> m_teamMember; diff --git a/pokemodr/BadgeUI.cpp b/pokemodr/BadgeUI.cpp index 19a76039..89dbd1d9 100644 --- a/pokemodr/BadgeUI.cpp +++ b/pokemodr/BadgeUI.cpp @@ -52,9 +52,9 @@ void BadgeUI::initGui() void BadgeUI::refreshGui() { varStat->clear(); - const bool isSplit = static_cast<const Pokemod*>(static_cast<Badge*>(original())->pokemod())->rules()->specialSplit(); + const bool isSplit = static_cast<const Pokemod*>(original()->pokemod())->rules()->specialSplit(); varStat->addItems((isSplit ? Pokemod::StatGSCStr : Pokemod::StatRBYStr).mid(0, isSplit ? Pokemod::ST_End_GSC : Pokemod::ST_End_RBY)); - varObey->setMaximum(static_cast<const Pokemod*>(static_cast<Badge*>(original())->pokemod())->rules()->maxLevel()); + varObey->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel()); } void BadgeUI::setGui() diff --git a/pokemodr/CoinListObjectUI.cpp b/pokemodr/CoinListObjectUI.cpp index a214b258..77bd8744 100644 --- a/pokemodr/CoinListObjectUI.cpp +++ b/pokemodr/CoinListObjectUI.cpp @@ -60,18 +60,18 @@ void CoinListObjectUI::setGui() varObject->clear(); if (static_cast<CoinListObject*>(modified())->type() == CoinListObject::Item) { - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i); varObject->addItem(item->name()); varObject->setItemData(i, item->id()); } } else { - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(static_cast<CoinListObject*>(original())->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i); varObject->addItem(species->name()); varObject->setItemData(i, species->id()); } diff --git a/pokemodr/CoinListUI.cpp b/pokemodr/CoinListUI.cpp index 8e7737a9..b0febfa0 100644 --- a/pokemodr/CoinListUI.cpp +++ b/pokemodr/CoinListUI.cpp @@ -45,9 +45,9 @@ CoinListUI::~CoinListUI() void CoinListUI::refreshGui() { varValue->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<CoinList*>(original())->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(static_cast<CoinList*>(original())->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i); for (int j = 0; j < item->effectCount(); ++j) { const ItemEffect* effect = item->effect(j); diff --git a/pokemodr/ItemUI.cpp b/pokemodr/ItemUI.cpp index da6de440..276de03c 100644 --- a/pokemodr/ItemUI.cpp +++ b/pokemodr/ItemUI.cpp @@ -44,13 +44,13 @@ ItemUI::~ItemUI() void ItemUI::refreshGui() { varType->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Item*>(original())->pokemod())->itemTypeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemTypeCount(); ++i) { - const ItemType* itemType = static_cast<const Pokemod*>(static_cast<Item*>(original())->pokemod())->itemType(i); + const ItemType* itemType = static_cast<const Pokemod*>(original()->pokemod())->itemType(i); varType->addItem(itemType->name()); varType->setItemData(i, itemType->id()); } - varPrice->setMaximum(static_cast<const Pokemod*>(static_cast<Item*>(original())->pokemod())->rules()->maxMoney()); + varPrice->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxMoney()); } void ItemUI::setGui() diff --git a/pokemodr/MapTrainerTeamMemberUI.cpp b/pokemodr/MapTrainerTeamMemberUI.cpp index 90096dd5..c997a1f0 100644 --- a/pokemodr/MapTrainerTeamMemberUI.cpp +++ b/pokemodr/MapTrainerTeamMemberUI.cpp @@ -46,13 +46,13 @@ MapTrainerTeamMemberUI::~MapTrainerTeamMemberUI() void MapTrainerTeamMemberUI::refreshGui() { varSpecies->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i); varSpecies->addItem(species->name()); varSpecies->setItemData(i, species->id()); } - varLevel->setMaximum(static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->rules()->maxLevel()); + varLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel()); } void MapTrainerTeamMemberUI::setGui() @@ -66,11 +66,11 @@ void MapTrainerTeamMemberUI::setGui() widgetItem->setSelected(static_cast<MapTrainerTeamMember*>(modified())->item(widgetItem->data(Qt::UserRole).toInt())); } varNature->clear(); - if (static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->rules()->natureAllowed()) + if (static_cast<const Pokemod*>(original()->pokemod())->rules()->natureAllowed()) { - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->natureCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->natureCount(); ++i) { - const Nature* nature = static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->nature(i); + const Nature* nature = static_cast<const Pokemod*>(original()->pokemod())->nature(i); varNature->addItem(nature->name()); varNature->setItemData(i, nature->id()); } @@ -78,11 +78,11 @@ void MapTrainerTeamMemberUI::setGui() else boxNature->setEnabled(false); varItems->clear(); - if (static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->rules()->holdItems()) + if (static_cast<const Pokemod*>(original()->pokemod())->rules()->holdItems()) { - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(static_cast<MapTrainerTeamMember*>(original())->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i); QListWidgetItem* widgetItem = new QListWidgetItem(item->name(), varItems); widgetItem->setData(Qt::UserRole, item->id()); } diff --git a/pokemodr/MapUI.cpp b/pokemodr/MapUI.cpp index e954085a..75436eee 100644 --- a/pokemodr/MapUI.cpp +++ b/pokemodr/MapUI.cpp @@ -40,7 +40,7 @@ MapUI::MapUI(Map* map, QWidget* parent) : setupUi(this); QMetaObject::connectSlotsByName(this); setObjects(map, new Map(*map)); - m_model = new TilemapModel(this, static_cast<Map*>(modified())->map(), static_cast<const Pokemod*>(static_cast<Map*>(original())->pokemod())); + m_model = new TilemapModel(this, static_cast<Map*>(modified())->map(), static_cast<const Pokemod*>(original()->pokemod())); connect(this, SIGNAL(changed(bool)), boxButtons, SLOT(setEnabled(bool))); connect(modified(), SIGNAL(error(const QString&)), this, SLOT(setGui())); connect(modified(), SIGNAL(error(const QString&)), this, SLOT(errorMessage(const QString&))); diff --git a/pokemodr/MapWarpUI.cpp b/pokemodr/MapWarpUI.cpp index d7388bfd..b95f1a4f 100644 --- a/pokemodr/MapWarpUI.cpp +++ b/pokemodr/MapWarpUI.cpp @@ -51,17 +51,18 @@ void MapWarpUI::initGui() void MapWarpUI::refreshGui() { + varCoordinate->setMaximum(static_cast<const Map*>(original()->parent())->size()); varToMap->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->mapCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->mapCount(); ++i) { - const Map* map = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->map(i); + const Map* map = static_cast<const Pokemod*>(original()->pokemod())->map(i); varToMap->addItem(map->name()); varToMap->setItemData(i, map->id()); } varDialog->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->dialogCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->dialogCount(); ++i) { - const Dialog* dialog = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->dialog(i); + const Dialog* dialog = static_cast<const Pokemod*>(original()->pokemod())->dialog(i); varDialog->addItem(dialog->dialog().mid(0, 25)); varDialog->setItemData(i, dialog->id()); } @@ -84,10 +85,10 @@ void MapWarpUI::setGui() if (resetWarps) { varToWarp->clear(); - int index = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->mapIndex(static_cast<MapWarp*>(modified())->toMap()); + int index = static_cast<const Pokemod*>(original()->pokemod())->mapIndex(static_cast<MapWarp*>(modified())->toMap()); if (index != INT_MAX) { - const Map* map = static_cast<const Pokemod*>(static_cast<MapWarp*>(original())->pokemod())->map(index); + const Map* map = static_cast<const Pokemod*>(original()->pokemod())->map(index); if (map) { for (int i = 0; i < map->warpCount(); ++i) diff --git a/pokemodr/MapWildListEncounterUI.cpp b/pokemodr/MapWildListEncounterUI.cpp index 89eec7b5..8fb17fa6 100644 --- a/pokemodr/MapWildListEncounterUI.cpp +++ b/pokemodr/MapWildListEncounterUI.cpp @@ -44,13 +44,13 @@ MapWildListEncounterUI::~MapWildListEncounterUI() void MapWildListEncounterUI::refreshGui() { varSpecies->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWildListEncounter*>(original())->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(static_cast<MapWildListEncounter*>(original())->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i); varSpecies->addItem(species->name()); varSpecies->setItemData(i, species->id()); } - varLevel->setMaximum(static_cast<const Pokemod*>(static_cast<MapWildListEncounter*>(original())->pokemod())->rules()->maxLevel()); + varLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel()); } void MapWildListEncounterUI::setGui() diff --git a/pokemodr/MapWildListUI.cpp b/pokemodr/MapWildListUI.cpp index 721e97d7..1931277e 100644 --- a/pokemodr/MapWildListUI.cpp +++ b/pokemodr/MapWildListUI.cpp @@ -52,9 +52,9 @@ void MapWildListUI::refreshGui() { varValue->clear(); varScope->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i); for (int j = 0; j < item->effectCount(); ++j) { const ItemEffect* effect = item->effect(j); @@ -71,9 +71,9 @@ void MapWildListUI::refreshGui() } } varTimes->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->timeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->timeCount(); ++i) { - const Time* time = static_cast<const Pokemod*>(static_cast<MapWildList*>(original())->pokemod())->time(i); + const Time* time = static_cast<const Pokemod*>(original()->pokemod())->time(i); QListWidgetItem* widgetItem = new QListWidgetItem(time->name(), varTimes); widgetItem->setData(Qt::UserRole, time->id()); } diff --git a/pokemodr/MoveUI.cpp b/pokemodr/MoveUI.cpp index 71b7007b..df0c4e72 100644 --- a/pokemodr/MoveUI.cpp +++ b/pokemodr/MoveUI.cpp @@ -50,13 +50,13 @@ void MoveUI::initGui() void MoveUI::refreshGui() { varType->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Move*>(original())->pokemod())->typeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->typeCount(); ++i) { - const Type* type = static_cast<const Pokemod*>(static_cast<Move*>(original())->pokemod())->type(i); + const Type* type = static_cast<const Pokemod*>(original()->pokemod())->type(i); varType->addItem(type->name()); varType->setItemData(i, type->id()); } - varNumTargets->setMaximum(static_cast<const Pokemod*>(static_cast<Move*>(original())->pokemod())->rules()->maxFight()); + varNumTargets->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxFight()); } void MoveUI::setGui() diff --git a/pokemodr/NatureUI.cpp b/pokemodr/NatureUI.cpp index 98af9ede..525fa65e 100644 --- a/pokemodr/NatureUI.cpp +++ b/pokemodr/NatureUI.cpp @@ -48,7 +48,7 @@ void NatureUI::initGui() void NatureUI::refreshGui() { varStat->clear(); - const bool isSplit = static_cast<const Pokemod*>(static_cast<Nature*>(original())->pokemod())->rules()->specialSplit(); + const bool isSplit = static_cast<const Pokemod*>(original()->pokemod())->rules()->specialSplit(); varStat->addItems((isSplit ? Pokemod::StatRBYStr : Pokemod::StatGSCStr).mid(0, isSplit ? Pokemod::ST_End_RBY : Pokemod::ST_End_GSC)); } diff --git a/pokemodr/PointWidget.cpp b/pokemodr/PointWidget.cpp index d3694d7b..8fa61091 100644 --- a/pokemodr/PointWidget.cpp +++ b/pokemodr/PointWidget.cpp @@ -26,6 +26,11 @@ PointWidget::PointWidget(QWidget* parent, const Point& value) : QMetaObject::connectSlotsByName(this); } +Point PointWidget::value() const +{ + return m_value; +} + void PointWidget::setValue(const Point& value) { m_value = value; @@ -34,9 +39,10 @@ void PointWidget::setValue(const Point& value) emit(valueChanged(true)); } -Point PointWidget::value() const +void PointWidget::setMaximum(const Point& maximum) { - return m_value; + varX->setMaximum(maximum.x()); + varY->setMaximum(maximum.y()); } void PointWidget::on_varX_valueChanged(const int& x) diff --git a/pokemodr/PointWidget.h b/pokemodr/PointWidget.h index c316f1e1..711bb74a 100644 --- a/pokemodr/PointWidget.h +++ b/pokemodr/PointWidget.h @@ -34,12 +34,13 @@ class PointWidget : public QWidget, private Ui::formPoint public: PointWidget(QWidget* parent, const Point& value = Point(0, 0)); - void setValue(const Point& value); - Point value() const; signals: void valueChanged(bool); public slots: + void setValue(const Point& value); + void setMaximum(const Point& maximum); + void on_varX_valueChanged(const int& x); void on_varY_valueChanged(const int& y); private: diff --git a/pokemodr/SpeciesAbilityUI.cpp b/pokemodr/SpeciesAbilityUI.cpp index fe78706b..37b4c9d4 100644 --- a/pokemodr/SpeciesAbilityUI.cpp +++ b/pokemodr/SpeciesAbilityUI.cpp @@ -44,9 +44,9 @@ SpeciesAbilityUI::~SpeciesAbilityUI() void SpeciesAbilityUI::refreshGui() { varAbility->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesAbility*>(original())->pokemod())->abilityCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->abilityCount(); ++i) { - const Ability* a = static_cast<const Pokemod*>(static_cast<SpeciesAbility*>(original())->pokemod())->ability(i); + const Ability* a = static_cast<const Pokemod*>(original()->pokemod())->ability(i); varAbility->addItem(a->name()); varAbility->setItemData(i, a->id()); } diff --git a/pokemodr/SpeciesEvolutionUI.cpp b/pokemodr/SpeciesEvolutionUI.cpp index 49049830..a963b505 100644 --- a/pokemodr/SpeciesEvolutionUI.cpp +++ b/pokemodr/SpeciesEvolutionUI.cpp @@ -52,9 +52,9 @@ void SpeciesEvolutionUI::initGui() void SpeciesEvolutionUI::refreshGui() { varSpecies->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i); varSpecies->addItem(species->name()); varSpecies->setItemData(i, species->id()); } @@ -85,9 +85,9 @@ void SpeciesEvolutionUI::setGui() case SpeciesEvolution::S_Item: case SpeciesEvolution::S_TradeItem: varValue1->setEnabled(true); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i); for (int j = 0; j < item->effectCount(); ++j) { if (item->effect(i)->effect() == ItemEffect::E_Evolution) @@ -99,7 +99,7 @@ void SpeciesEvolutionUI::setGui() } break; } - const bool isSplit = static_cast<const Pokemod*>(static_cast<SpeciesEvolution*>(original())->pokemod())->rules()->specialSplit(); + const bool isSplit = static_cast<const Pokemod*>(original()->pokemod())->rules()->specialSplit(); switch (static_cast<SpeciesEvolution*>(modified())->style()) { case SpeciesEvolution::S_Stat: diff --git a/pokemodr/SpeciesItemUI.cpp b/pokemodr/SpeciesItemUI.cpp index e2ad80d7..449cee22 100644 --- a/pokemodr/SpeciesItemUI.cpp +++ b/pokemodr/SpeciesItemUI.cpp @@ -44,9 +44,9 @@ SpeciesItemUI::~SpeciesItemUI() void SpeciesItemUI::refreshGui() { varItem->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesItem*>(original())->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(static_cast<SpeciesItem*>(original())->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i); varItem->addItem(item->name()); varItem->setItemData(i, item->id()); } diff --git a/pokemodr/SpeciesMoveUI.cpp b/pokemodr/SpeciesMoveUI.cpp index e3b8a17f..272a9d1d 100644 --- a/pokemodr/SpeciesMoveUI.cpp +++ b/pokemodr/SpeciesMoveUI.cpp @@ -44,14 +44,14 @@ SpeciesMoveUI::~SpeciesMoveUI() void SpeciesMoveUI::refreshGui() { varMove->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->moveCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->moveCount(); ++i) { - const Move* move = static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->move(i); + const Move* move = static_cast<const Pokemod*>(original()->pokemod())->move(i); varMove->addItem(move->name()); varMove->setItemData(i, move->id()); } - varLevel->setMaximum(static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->rules()->maxLevel()); - varWildLevel->setMaximum(static_cast<const Pokemod*>(static_cast<SpeciesMove*>(original())->pokemod())->rules()->maxLevel()); + varLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel()); + varWildLevel->setMaximum(static_cast<const Pokemod*>(original()->pokemod())->rules()->maxLevel()); } void SpeciesMoveUI::setGui() diff --git a/pokemodr/SpeciesUI.cpp b/pokemodr/SpeciesUI.cpp index 35e453e8..a913c7c3 100644 --- a/pokemodr/SpeciesUI.cpp +++ b/pokemodr/SpeciesUI.cpp @@ -56,29 +56,29 @@ void SpeciesUI::refreshGui() { varBaseStat->clear(); varEVStat->clear(); - const bool isSplit = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->specialSplit(); + const bool isSplit = static_cast<const Pokemod*>(original()->pokemod())->rules()->specialSplit(); varBaseStat->addItems((isSplit ? Pokemod::StatGSCStr : Pokemod::StatRBYStr).mid(0, isSplit ? Pokemod::ST_End_GSC : Pokemod::ST_End_RBY)); - if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->effortValuesAllowed()) + if (static_cast<const Pokemod*>(original()->pokemod())->rules()->effortValuesAllowed()) varEVStat->addItems((isSplit ? Pokemod::StatGSCStr : Pokemod::StatRBYStr).mid(0, isSplit ? Pokemod::ST_End_GSC : Pokemod::ST_End_RBY)); else boxEffortValues->setEnabled(false); - if (!static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->holdItems()) + if (!static_cast<const Pokemod*>(original()->pokemod())->rules()->holdItems()) boxItemChance->setEnabled(false); - if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->genderAllowed()) + if (static_cast<const Pokemod*>(original()->pokemod())->rules()->genderAllowed()) { varEggSpecies->clear(); varEggGroups->clear(); - if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->breedingAllowed()) + if (static_cast<const Pokemod*>(original()->pokemod())->rules()->breedingAllowed()) { - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->speciesCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->speciesCount(); ++i) { - const Species* species = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->species(i); + const Species* species = static_cast<const Pokemod*>(original()->pokemod())->species(i); varEggSpecies->addItem(species->name()); varEggSpecies->setItemData(i, species->id()); } - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->eggGroupCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->eggGroupCount(); ++i) { - const EggGroup* eggGroup = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->eggGroup(i); + const EggGroup* eggGroup = static_cast<const Pokemod*>(original()->pokemod())->eggGroup(i); QListWidgetItem* widgetItem = new QListWidgetItem(eggGroup->name(), varEggGroups); widgetItem->setData(Qt::UserRole, eggGroup->id()); } @@ -97,9 +97,9 @@ void SpeciesUI::refreshGui() boxFemaleSprites->setEnabled(false); } varTypes->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->typeCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->typeCount(); ++i) { - const Type* type = static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->type(i); + const Type* type = static_cast<const Pokemod*>(original()->pokemod())->type(i); QListWidgetItem* widgetItem = new QListWidgetItem(type->name(), varTypes); widgetItem->setData(Qt::UserRole, type->id()); } @@ -122,10 +122,10 @@ void SpeciesUI::setGui() varPokedexEntry->setText(static_cast<Species*>(modified())->pokedexEntry()); varMaleFront->setIcon(static_cast<Species*>(modified())->frontMaleSprite()); varMaleBack->setIcon(static_cast<Species*>(modified())->backMaleSprite()); - if (static_cast<const Pokemod*>(static_cast<Species*>(original())->pokemod())->rules()->genderAllowed()) + if (static_cast<const Pokemod*>(original()->pokemod())->rules()->genderAllowed()) { - varFemaleFront->setIcon(static_cast<Species*>(modified())->frontFemaleSprite()); - varFemaleBack->setIcon(static_cast<Species*>(modified())->backFemaleSprite()); + varFemaleFront->setIcon(static_cast<Species*>(modified())->frontFemaleSprite()); + varFemaleBack->setIcon(static_cast<Species*>(modified())->backFemaleSprite()); } varList->setIcon(static_cast<Species*>(modified())->listSprite()); boxGenderChance->setChecked(static_cast<Species*>(modified())->genderFactor() == -1); diff --git a/pokemodr/StoreUI.cpp b/pokemodr/StoreUI.cpp index 80f6f635..e354c966 100644 --- a/pokemodr/StoreUI.cpp +++ b/pokemodr/StoreUI.cpp @@ -44,9 +44,9 @@ StoreUI::~StoreUI() void StoreUI::refreshGui() { varItems->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Store*>(original())->pokemod())->itemCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->itemCount(); ++i) { - const Item* item = static_cast<const Pokemod*>(static_cast<Store*>(original())->pokemod())->item(i); + const Item* item = static_cast<const Pokemod*>(original()->pokemod())->item(i); QListWidgetItem* widgetItem = new QListWidgetItem(item->name(), varItems); widgetItem->setData(Qt::UserRole, item->id()); } diff --git a/pokemodr/TODO b/pokemodr/TODO index 3d69e480..502f8be6 100644 --- a/pokemodr/TODO +++ b/pokemodr/TODO @@ -2,11 +2,7 @@ AbilityEffect Dialog (with command dialogs) ItemEffect MapEffect -MapTrainer MoveEffect -Sound - -Update GUI to see new methods Set sub class stuff by passing it on to subclasses via setData diff --git a/pokemodr/TileUI.cpp b/pokemodr/TileUI.cpp index cae50262..56889285 100644 --- a/pokemodr/TileUI.cpp +++ b/pokemodr/TileUI.cpp @@ -54,9 +54,9 @@ void TileUI::initGui() void TileUI::refreshGui() { varHMUnder->clear(); - for (int i = 0; i < static_cast<const Pokemod*>(static_cast<Tile*>(original())->pokemod())->tileCount(); ++i) + for (int i = 0; i < static_cast<const Pokemod*>(original()->pokemod())->tileCount(); ++i) { - const Tile* tile = static_cast<const Pokemod*>(static_cast<Tile*>(original())->pokemod())->tile(i); + const Tile* tile = static_cast<const Pokemod*>(original()->pokemod())->tile(i); if (tile->id() != static_cast<Tile*>(original())->id()) { varHMUnder->addItem(tile->sprite(), tile->name()); diff --git a/pokemodr/gui/maptrainer.ui b/pokemodr/gui/maptrainer.ui index a573c906..57663bad 100644 --- a/pokemodr/gui/maptrainer.ui +++ b/pokemodr/gui/maptrainer.ui @@ -70,30 +70,7 @@ </property> <layout class="QVBoxLayout" > <item> - <widget class="KIntNumInput" name="varCoordinateX" > - <property name="toolTip" > - <string>x coordinate of the trainer</string> - </property> - <property name="label" > - <string>x</string> - </property> - <property name="minimum" > - <number>0</number> - </property> - </widget> - </item> - <item> - <widget class="KIntNumInput" name="varCoordinateY" > - <property name="toolTip" > - <string>y coordinate of the trainer</string> - </property> - <property name="label" > - <string>y</string> - </property> - <property name="minimum" > - <number>0</number> - </property> - </widget> + <widget class="PointWidget" native="1" name="varCoordinate" /> </item> </layout> </widget> @@ -134,13 +111,13 @@ </widget> </item> <item> - <widget class="QGroupBox" name="boxNumFight" > + <widget class="QGroupBox" name="boxNumberFight" > <property name="title" > <string>Number Fight</string> </property> <layout class="QHBoxLayout" > <item> - <widget class="KIntNumInput" name="varNumFight" > + <widget class="KIntNumInput" name="varNumberFight" > <property name="toolTip" > <string>How many team members from each side fight at a time</string> </property> @@ -153,7 +130,7 @@ </widget> </item> <item> - <widget class="QGroupBox" name="boxAppearFlag" > + <widget class="QGroupBox" name="boxFlag" > <property name="title" > <string>Appear Flag</string> </property> @@ -172,7 +149,7 @@ </widget> </item> <item> - <widget class="QCheckBox" name="varFlagState" > + <widget class="QCheckBox" name="varState" > <property name="toolTip" > <string>Whether the flag has to be on, off, or is ignored</string> </property> @@ -239,6 +216,12 @@ <extends>QPushButton</extends> <header>kpushbutton.h</header> </customwidget> + <customwidget> + <class>PointWidget</class> + <extends>QWidget</extends> + <header>../PointWidget.h</header> + <container>1</container> + </customwidget> </customwidgets> <resources/> <connections/> diff --git a/pokemodr/gui/trainer.ui b/pokemodr/gui/trainer.ui index 3652c327..b6ffc82a 100644 --- a/pokemodr/gui/trainer.ui +++ b/pokemodr/gui/trainer.ui @@ -108,48 +108,6 @@ </layout> </widget> </item> - <item> - <widget class="QGroupBox" name="boxAI" > - <property name="title" > - <string>AI</string> - </property> - <layout class="QHBoxLayout" > - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="KPushButton" name="varAI" > - <property name="toolTip" > - <string>The AI profile used</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - </item> </layout> </widget> <customwidgets> diff --git a/pokemodr/pokemodr.pro b/pokemodr/pokemodr.pro index ae021254..38115fb9 100644 --- a/pokemodr/pokemodr.pro +++ b/pokemodr/pokemodr.pro @@ -75,6 +75,7 @@ SOURCES += AbilityUI.cpp \ ItemUI.cpp \ ItemTypeUI.cpp \ MapUI.cpp \ + MapTrainerUI.cpp \ MapTrainerTeamMemberUI.cpp \ MapWarpUI.cpp \ MapWildListUI.cpp \ @@ -149,6 +150,7 @@ HEADERS += AbilityUI.h \ ItemUI.h \ ItemTypeUI.h \ MapUI.h \ + MapTrainerUI.h \ MapTrainerTeamMemberUI.h \ MapWarpUI.h \ MapWildListUI.h \ |