|
Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
|
The trainer's headline values: name, ID, money, coins, badges, starter. More...
#include <playerbasics.h>
Public Member Functions | |
| PlayerBasics (SaveFile *saveFile=nullptr) | |
| < Trainer name; writing it full-sets non-trade mons (see note above). | |
| virtual | ~PlayerBasics () |
| void | load (SaveFile *saveFile=nullptr) |
| Expand the trainer basics from the save. | |
| void | save (SaveFile *saveFile) |
| Flatten the trainer basics back to the save. | |
| void | setBadges (SaveFile *saveFile, var16 offset) |
Write the badge bits at offset. | |
| PokemonDBEntry * | toStarter () |
| Resolve playerStarter to its DB entry. | |
| int | badgeCount () |
| How many badges are set. | |
| bool | badgeAt (int ind) |
Is badge ind set? | |
| void | badgeSet (int ind, bool val) |
Set/clear badge ind. | |
| QString | getPlayerName () |
| Current trainer name (backs the property READ). | |
| int | getPlayerId () |
| Current trainer ID (backs the property READ). | |
| QVector< PokemonBox * > | getNonTradeMons () |
| All party/box mons whose OT is this trainer (not traded in). | |
| void | fixNonTradeMons (QVector< PokemonBox * > mons) |
| Rewrite those mons' OT name/ID to match this trainer. | |
| protected::void | playerNameChanged () |
| void | playerIDChanged () |
| void | moneyChanged () |
| void | coinsChanged () |
| void | badgesChanged () |
| void | playerStarterChanged () |
| void | reset () |
| Blank the trainer basics. | |
| void | randomize () |
| Randomize the trainer basics (constrained). | |
| void | fullSetPlayerName (QString val) |
| Set name AND fix non-trade mons' OT name. | |
| void | fullSetPlayerId (int id) |
| Set ID AND fix non-trade mons' OT ID. | |
| void | randomizeStarter () |
| Randomize just the starter. | |
| void | randomizeCoins () |
| Randomize just the coin count. | |
| void | randomizeMoney () |
| Randomize just the money. | |
| void | randomizeID () |
| Randomize just the trainer ID. | |
Public Attributes | |
| QString | playerName |
| Trainer name (backs the property). | |
| int | playerID |
| Trainer ID (backs the property). | |
| unsigned int | money |
| Money value. | |
| int | coins |
| Casino coins. | |
| bool | badges [maxBadges] |
| Per-badge owned flags, indexed by Badges::Badges_. | |
| int | playerStarter |
| Chosen starter species. | |
| SaveFile * | file = nullptr |
| Owning save (used by the full-set helpers to reach the mons). | |
The trainer's headline values: name, ID, money, coins, badges, starter.
A leaf-heavy expanded node (see SaveFileExpanded for the load/save/reset/ randomize convention). Beyond the simple money/coins values it carries two pieces of cross-cutting logic:
Definition at line 66 of file playerbasics.h.
| PlayerBasics::PlayerBasics | ( | SaveFile * | saveFile = nullptr | ) |
< Trainer name; writing it full-sets non-trade mons (see note above).
Trainer ID; writing it full-sets non-trade mons. Money (24-bit BCD on disk, max 999,999). Casino coins (16-bit BCD on disk, max 9,999). Chosen starter (drives rival logic).
Definition at line 41 of file playerbasics.cpp.
References load().
|
virtual |
Definition at line 46 of file playerbasics.cpp.
| bool PlayerBasics::badgeAt | ( | int | ind | ) |
| int PlayerBasics::badgeCount | ( | ) |
How many badges are set.
Definition at line 233 of file playerbasics.cpp.
| void PlayerBasics::badgesChanged | ( | ) |
Referenced by badgeSet(), load(), randomize(), and reset().
| void PlayerBasics::badgeSet | ( | int | ind, |
| bool | val ) |
Set/clear badge ind.
Definition at line 251 of file playerbasics.cpp.
References badges, and badgesChanged().
| void PlayerBasics::coinsChanged | ( | ) |
Referenced by load(), randomize(), randomizeCoins(), and reset().
| void PlayerBasics::fixNonTradeMons | ( | QVector< PokemonBox * > | mons | ) |
Rewrite those mons' OT name/ID to match this trainer.
Definition at line 347 of file playerbasics.cpp.
Referenced by fullSetPlayerId(), and fullSetPlayerName().
| void PlayerBasics::fullSetPlayerId | ( | int | id | ) |
Set ID AND fix non-trade mons' OT ID.
Definition at line 285 of file playerbasics.cpp.
References fixNonTradeMons(), getNonTradeMons(), playerID, and playerIDChanged().
Referenced by playerStarterChanged().
| void PlayerBasics::fullSetPlayerName | ( | QString | val | ) |
Set name AND fix non-trade mons' OT name.
Definition at line 257 of file playerbasics.cpp.
References fixNonTradeMons(), getNonTradeMons(), playerName, and playerNameChanged().
Referenced by playerStarterChanged().
| QVector< PokemonBox * > PlayerBasics::getNonTradeMons | ( | ) |
All party/box mons whose OT is this trainer (not traded in).
Definition at line 314 of file playerbasics.cpp.
References file, and maxPokemonBoxes.
Referenced by fullSetPlayerId(), and fullSetPlayerName().
| int PlayerBasics::getPlayerId | ( | ) |
Current trainer ID (backs the property READ).
Definition at line 309 of file playerbasics.cpp.
References playerID.
| QString PlayerBasics::getPlayerName | ( | ) |
Current trainer name (backs the property READ).
Definition at line 304 of file playerbasics.cpp.
References playerName.
| void PlayerBasics::load | ( | SaveFile * | saveFile = nullptr | ) |
Expand the trainer basics from the save.
Definition at line 48 of file playerbasics.cpp.
References badges, badgesChanged(), coins, coinsChanged(), file, SaveFile::iterator(), money, moneyChanged(), playerID, playerIDChanged(), playerName, playerNameChanged(), playerStarter, playerStarterChanged(), reset(), and SaveFile::toolset.
Referenced by PlayerBasics().
| void PlayerBasics::moneyChanged | ( | ) |
Referenced by load(), randomize(), randomizeMoney(), and reset().
| void PlayerBasics::playerIDChanged | ( | ) |
Referenced by fullSetPlayerId(), load(), randomize(), randomizeID(), and reset().
| protected::void PlayerBasics::playerNameChanged | ( | ) |
Referenced by fullSetPlayerName(), load(), randomize(), and reset().
| void PlayerBasics::playerStarterChanged | ( | ) |
References fullSetPlayerId(), fullSetPlayerName(), randomize(), randomizeCoins(), randomizeID(), randomizeMoney(), randomizeStarter(), and reset().
Referenced by load(), randomizeStarter(), and reset().
| void PlayerBasics::randomize | ( | ) |
Randomize the trainer basics (constrained).
Definition at line 140 of file playerbasics.cpp.
References badges, badgesChanged(), coins, coinsChanged(), Names::inst(), Random::inst(), money, moneyChanged(), Names::player(), playerID, playerIDChanged(), playerName, playerNameChanged(), AbstractRandomString::randomExample(), randomizeStarter(), Random::rangeInclusive(), and reset().
Referenced by playerStarterChanged().
| void PlayerBasics::randomizeCoins | ( | ) |
Randomize just the coin count.
Definition at line 192 of file playerbasics.cpp.
References coins, coinsChanged(), Random::inst(), and Random::rangeExclusive().
Referenced by playerStarterChanged().
| void PlayerBasics::randomizeID | ( | ) |
Randomize just the trainer ID.
Definition at line 204 of file playerbasics.cpp.
References Random::inst(), playerID, playerIDChanged(), and Random::rangeExclusive().
Referenced by playerStarterChanged().
| void PlayerBasics::randomizeMoney | ( | ) |
Randomize just the money.
Definition at line 198 of file playerbasics.cpp.
References Random::inst(), money, moneyChanged(), and Random::rangeExclusive().
Referenced by playerStarterChanged().
| void PlayerBasics::randomizeStarter | ( | ) |
Randomize just the starter.
Definition at line 177 of file playerbasics.cpp.
References PokemonDB::getIndAt(), PokemonDBEntry::ind, PokemonDB::inst(), Random::inst(), playerStarter, playerStarterChanged(), and Random::rangeExclusive().
Referenced by playerStarterChanged(), and randomize().
| void PlayerBasics::reset | ( | ) |
Blank the trainer basics.
Definition at line 115 of file playerbasics.cpp.
References badges, badgesChanged(), coins, coinsChanged(), file, money, moneyChanged(), playerID, playerIDChanged(), playerName, playerNameChanged(), playerStarter, and playerStarterChanged().
Referenced by load(), playerStarterChanged(), and randomize().
| void PlayerBasics::save | ( | SaveFile * | saveFile | ) |
Flatten the trainer basics back to the save.
Definition at line 100 of file playerbasics.cpp.
References coins, money, playerID, playerName, playerStarter, setBadges(), SaveFileToolset::setStr(), and SaveFile::toolset.
Write the badge bits at offset.
Definition at line 210 of file playerbasics.cpp.
References badges, SaveFile::iterator(), SaveFileIterator::offsetTo(), and SaveFileIterator::setBit().
Referenced by save().
| PokemonDBEntry * PlayerBasics::toStarter | ( | ) |
Resolve playerStarter to its DB entry.
Definition at line 228 of file playerbasics.cpp.
References PokemonDB::getIndAt(), PokemonDB::inst(), and playerStarter.
| bool PlayerBasics::badges[maxBadges] |
Per-badge owned flags, indexed by Badges::Badges_.
Definition at line 127 of file playerbasics.h.
Referenced by badgeAt(), badgeCount(), badgeSet(), load(), randomize(), reset(), and setBadges().
| int PlayerBasics::coins |
Casino coins.
Definition at line 126 of file playerbasics.h.
Referenced by load(), randomize(), randomizeCoins(), reset(), and save().
| SaveFile* PlayerBasics::file = nullptr |
Owning save (used by the full-set helpers to reach the mons).
Definition at line 139 of file playerbasics.h.
Referenced by getNonTradeMons(), load(), and reset().
| unsigned int PlayerBasics::money |
Money value.
Definition at line 125 of file playerbasics.h.
Referenced by load(), randomize(), randomizeMoney(), reset(), and save().
| int PlayerBasics::playerID |
Trainer ID (backs the property).
Definition at line 124 of file playerbasics.h.
Referenced by PokemonBox::changeOtData(), fullSetPlayerId(), getPlayerId(), PokemonBox::hasTradeStatus(), load(), randomize(), randomizeID(), reset(), and save().
| QString PlayerBasics::playerName |
Trainer name (backs the property).
Definition at line 123 of file playerbasics.h.
Referenced by PokemonBox::changeOtData(), fullSetPlayerName(), getPlayerName(), PokemonBox::hasTradeStatus(), load(), randomize(), reset(), and save().
| int PlayerBasics::playerStarter |
Chosen starter species.
Definition at line 137 of file playerbasics.h.
Referenced by load(), randomizeStarter(), reset(), save(), and toStarter().