From cf49a16b29ac412cfea125f7216a0e51e79aa4de Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 5 Aug 2008 06:10:55 +0000 Subject: [FIX] List members of pokemod classes now can be returned in their entirety [FIX] Reworked pokescripting for ease of use [FIX] Now (selected) pokemod values can be overridden in pokescripting git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@237 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- pokescripting/PokemodWrapper.h | 332 +++++++---------------------------------- 1 file changed, 52 insertions(+), 280 deletions(-) (limited to 'pokescripting/PokemodWrapper.h') diff --git a/pokescripting/PokemodWrapper.h b/pokescripting/PokemodWrapper.h index c8ea704c..f30891b4 100644 --- a/pokescripting/PokemodWrapper.h +++ b/pokescripting/PokemodWrapper.h @@ -19,42 +19,71 @@ #define __POKESCRIPTING_POKEMODWRAPPER__ // Pokescripting includes -#include "AbilityWrapper.h" -#include "AuthorWrapper.h" -#include "BadgeWrapper.h" -#include "CoinListWrapper.h" -#include "EggGroupWrapper.h" -#include "GlobalScriptWrapper.h" -#include "ItemWrapper.h" -#include "ItemTypeWrapper.h" -#include "MapWrapper.h" -#include "MoveWrapper.h" -#include "NatureWrapper.h" #include "ObjectWrapper.h" -#include "RulesWrapper.h" -#include "SkinWrapper.h" -#include "SoundWrapper.h" -#include "SpeciesWrapper.h" -#include "SpriteWrapper.h" -#include "StatusWrapper.h" -#include "StoreWrapper.h" -#include "TileWrapper.h" -#include "TimeWrapper.h" -#include "TrainerWrapper.h" -#include "TypeWrapper.h" -#include "WeatherWrapper.h" // Pokemod includes +#include "../pokemod/Hat.h" #include "../pokemod/Pokemod.h" namespace Pokescripting { +// Forward declarations +class AbilityWrapper; +class AuthorWrapper; +class BadgeWrapper; +class CoinListWrapper; +class EggGroupWrapper; +class GlobalScriptWrapper; +class ItemWrapper; +class ItemTypeWrapper; +class MapWrapper; +class MapWarpWrapper; +class MoveWrapper; +class NatureWrapper; +class RulesWrapper; +class SkinWrapper; +class SoundWrapper; +class SpeciesWrapper; +class SpriteWrapper; +class StatusWrapper; +class StoreWrapper; +class TileWrapper; +class TimeWrapper; +class TrainerWrapper; +class TypeWrapper; +class WeatherWrapper; + class POKESCRIPTING_EXPORT PokemodWrapper : public ObjectWrapper { Q_OBJECT public: PokemodWrapper(const Pokemod::Pokemod* pokemod, QObject* parent); + + Pokemod::Hat natureHat(); + + AbilityWrapper* ability(const int id); + AuthorWrapper* author(const int id); + BadgeWrapper* badge(const int id); + CoinListWrapper* coinList(const int id); + EggGroupWrapper* eggGroup(const int id); + GlobalScriptWrapper* globalScript(const int id); + ItemWrapper* item(const int id); + ItemTypeWrapper* itemType(const int id); + MapWrapper* map(const int id); + MoveWrapper* move(const int id); + NatureWrapper* nature(const int id); + SkinWrapper* skin(const int id); + SoundWrapper* sound(const int id); + SpeciesWrapper* species(const int id); + SpriteWrapper* sprite(const int id); + StatusWrapper* status(const int id); + StoreWrapper* store(const int id); + TileWrapper* tile(const int id); + TimeWrapper* time(const int id); + TrainerWrapper* trainer(const int id); + TypeWrapper* type(const int id); + WeatherWrapper* weather(const int id); public slots: QString title() const; QString version() const; @@ -90,263 +119,6 @@ class POKESCRIPTING_EXPORT PokemodWrapper : public ObjectWrapper const Pokemod::Pokemod* m_pokemod; }; - -inline PokemodWrapper::PokemodWrapper(const Pokemod::Pokemod* pokemod, QObject* parent) : - ObjectWrapper(pokemod, parent), - m_pokemod(pokemod) -{ -} - -inline QString PokemodWrapper::title() const -{ - return m_pokemod->title(); -} - -inline QString PokemodWrapper::version() const -{ - return m_pokemod->version(); -} - -inline QString PokemodWrapper::description() const -{ - return m_pokemod->description(); -} - -inline MapWarpWrapper* PokemodWrapper::startWarp() -{ - return MapWarpWrapper::create(m_pokemod->mapById(m_pokemod->startMap())->warpById(m_pokemod->startWarp()), this); -} - -inline Pokemod::Fraction PokemodWrapper::effectiveness(const TypeWrapper* attacker, const TypeWrapper* defender) const -{ - return m_pokemod->typechart(m_pokemod->typeIndex(attacker->id()), m_pokemod->typeIndex(defender->id())); -} - -inline RulesWrapper* PokemodWrapper::rules() -{ - return RulesWrapper::create(m_pokemod->rules(), this); -} - -inline AbilityWrapper* PokemodWrapper::ability(const QString& name) -{ - for (int i = 0; i < m_pokemod->abilityCount(); ++i) - { - if (m_pokemod->ability(i)->name() == name) - return AbilityWrapper::create(m_pokemod->ability(i), this); - } - return NULL; -} - -inline AuthorWrapper* PokemodWrapper::author(const QString& name) -{ - for (int i = 0; i < m_pokemod->authorCount(); ++i) - { - if (m_pokemod->author(i)->name() == name) - return AuthorWrapper::create(m_pokemod->author(i), this); - } - return NULL; -} - -inline BadgeWrapper* PokemodWrapper::badge(const QString& name) -{ - for (int i = 0; i < m_pokemod->badgeCount(); ++i) - { - if (m_pokemod->badge(i)->name() == name) - return BadgeWrapper::create(m_pokemod->badge(i), this); - } - return NULL; -} - -inline CoinListWrapper* PokemodWrapper::coinList(const QString& name) -{ - for (int i = 0; i < m_pokemod->coinListCount(); ++i) - { - if (m_pokemod->coinList(i)->name() == name) - return CoinListWrapper::create(m_pokemod->coinList(i), this); - } - return NULL; -} - -inline EggGroupWrapper* PokemodWrapper::eggGroup(const QString& name) -{ - for (int i = 0; i < m_pokemod->eggGroupCount(); ++i) - { - if (m_pokemod->eggGroup(i)->name() == name) - return EggGroupWrapper::create(m_pokemod->eggGroup(i), this); - } - return NULL; -} - -inline GlobalScriptWrapper* PokemodWrapper::globalScript(const QString& name) -{ - for (int i = 0; i < m_pokemod->globalScriptCount(); ++i) - { - if (m_pokemod->globalScript(i)->name() == name) - return GlobalScriptWrapper::create(m_pokemod->globalScript(i), this); - } - return NULL; -} - -inline ItemWrapper* PokemodWrapper::item(const QString& name) -{ - for (int i = 0; i < m_pokemod->itemCount(); ++i) - { - if (m_pokemod->item(i)->name() == name) - return ItemWrapper::create(m_pokemod->item(i), this); - } - return NULL; -} - -inline ItemTypeWrapper* PokemodWrapper::itemType(const QString& name) -{ - for (int i = 0; i < m_pokemod->itemTypeCount(); ++i) - { - if (m_pokemod->itemType(i)->name() == name) - return ItemTypeWrapper::create(m_pokemod->itemType(i), this); - } - return NULL; -} - -inline MapWrapper* PokemodWrapper::map(const QString& name) -{ - for (int i = 0; i < m_pokemod->mapCount(); ++i) - { - if (m_pokemod->map(i)->name() == name) - return MapWrapper::create(m_pokemod->map(i), this); - } - return NULL; -} - -inline MoveWrapper* PokemodWrapper::move(const QString& name) -{ - for (int i = 0; i < m_pokemod->moveCount(); ++i) - { - if (m_pokemod->move(i)->name() == name) - return MoveWrapper::create(m_pokemod->move(i), this); - } - return NULL; -} - -inline NatureWrapper* PokemodWrapper::nature(const QString& name) -{ - for (int i = 0; i < m_pokemod->natureCount(); ++i) - { - if (m_pokemod->nature(i)->name() == name) - return NatureWrapper::create(m_pokemod->nature(i), this); - } - return NULL; -} - -inline SkinWrapper* PokemodWrapper::skin(const QString& name) -{ - for (int i = 0; i < m_pokemod->skinCount(); ++i) - { - if (m_pokemod->skin(i)->name() == name) - return SkinWrapper::create(m_pokemod->skin(i), this); - } - return NULL; -} - -inline SoundWrapper* PokemodWrapper::sound(const QString& name) -{ - for (int i = 0; i < m_pokemod->soundCount(); ++i) - { - if (m_pokemod->sound(i)->name() == name) - return SoundWrapper::create(m_pokemod->sound(i), this); - } - return NULL; -} - -inline SpeciesWrapper* PokemodWrapper::species(const QString& name) -{ - for (int i = 0; i < m_pokemod->speciesCount(); ++i) - { - if (m_pokemod->species(i)->name() == name) - return SpeciesWrapper::create(m_pokemod->species(i), this); - } - return NULL; -} - -inline SpriteWrapper* PokemodWrapper::sprite(const QString& name) -{ - for (int i = 0; i < m_pokemod->spriteCount(); ++i) - { - if (m_pokemod->sprite(i)->name() == name) - return SpriteWrapper::create(m_pokemod->sprite(i), this); - } - return NULL; -} - -inline StatusWrapper* PokemodWrapper::status(const QString& name) -{ - for (int i = 0; i < m_pokemod->statusCount(); ++i) - { - if (m_pokemod->status(i)->name() == name) - return StatusWrapper::create(m_pokemod->status(i), this); - } - return NULL; -} - -inline StoreWrapper* PokemodWrapper::store(const QString& name) -{ - for (int i = 0; i < m_pokemod->storeCount(); ++i) - { - if (m_pokemod->store(i)->name() == name) - return StoreWrapper::create(m_pokemod->store(i), this); - } - return NULL; -} - -inline TileWrapper* PokemodWrapper::tile(const QString& name) -{ - for (int i = 0; i < m_pokemod->tileCount(); ++i) - { - if (m_pokemod->tile(i)->name() == name) - return TileWrapper::create(m_pokemod->tile(i), this); - } - return NULL; -} - -inline TimeWrapper* PokemodWrapper::time(const QString& name) -{ - for (int i = 0; i < m_pokemod->timeCount(); ++i) - { - if (m_pokemod->time(i)->name() == name) - return TimeWrapper::create(m_pokemod->time(i), this); - } - return NULL; -} - -inline TrainerWrapper* PokemodWrapper::trainer(const QString& name) -{ - for (int i = 0; i < m_pokemod->trainerCount(); ++i) - { - if (m_pokemod->trainer(i)->name() == name) - return TrainerWrapper::create(m_pokemod->trainer(i), this); - } - return NULL; -} - -inline TypeWrapper* PokemodWrapper::type(const QString& name) -{ - for (int i = 0; i < m_pokemod->typeCount(); ++i) - { - if (m_pokemod->type(i)->name() == name) - return TypeWrapper::create(m_pokemod->type(i), this); - } - return NULL; -} - -inline WeatherWrapper* PokemodWrapper::weather(const QString& name) -{ - for (int i = 0; i < m_pokemod->weatherCount(); ++i) - { - if (m_pokemod->weather(i)->name() == name) - return WeatherWrapper::create(m_pokemod->weather(i), this); - } - return NULL; -} - } #endif -- cgit