diff options
author | Paul Gilbert | 2015-01-02 12:14:57 -1000 |
---|---|---|
committer | Paul Gilbert | 2015-01-02 12:14:57 -1000 |
commit | 27e020cbf98d88373111bff0f1d6ed0e846b2311 (patch) | |
tree | b84d73e96875ba698b100a0aecbe3aa369c4d903 /engines/xeen/saves.h | |
parent | bef5dbdc0a8640e3d51af5f1ef9ceb92ab930900 (diff) | |
download | scummvm-rg350-27e020cbf98d88373111bff0f1d6ed0e846b2311.tar.gz scummvm-rg350-27e020cbf98d88373111bff0f1d6ed0e846b2311.tar.bz2 scummvm-rg350-27e020cbf98d88373111bff0f1d6ed0e846b2311.zip |
XEEN: Split char/party logic into it's own file
Diffstat (limited to 'engines/xeen/saves.h')
-rw-r--r-- | engines/xeen/saves.h | 183 |
1 files changed, 1 insertions, 182 deletions
diff --git a/engines/xeen/saves.h b/engines/xeen/saves.h index 307582505f..8b29f15838 100644 --- a/engines/xeen/saves.h +++ b/engines/xeen/saves.h @@ -24,192 +24,11 @@ #define XEEN_SAVES_H #include "common/scummsys.h" -#include "common/rect.h" #include "common/savefile.h" -#include "xeen/items.h" +#include "xeen/party.h" namespace Xeen { -enum Direction { DIR_NORTH = 0, DIR_EAST = 1, DIR_SOUTH = 2, DIR_WEST = 3 }; - -enum Difficulty { ADVENTURER = 0, WARRIOR = 1 }; - -enum Sex { MALE = 0, FEMALE = 1, YES_PLEASE = 2 }; - -enum Race { HUMAN = 0, ELF = 1, DWARF = 2, GNOME = 3, HALF_ORC = 4 }; - -enum CharacterClass { KNIGHT = 0, PALADIN = 1, ARCHER = 2, CLERIC = 3, - SORCERER = 4, ROBBER = 5, NINJA = 6, BARBARIAN = 7, DRUID = 8, RANGER = 9 -}; - -enum Skill { THIEVERY = 0, ARMS_MASTER = 1, ASTROLOGER = 2, BODYBUILDER = 3, - CARTOGRAPHER = 4, CRUSADER = 5, DIRECTION_SENSE = 6, LINGUIST = 7, - MERCHANT = 8, MOUNTAINEER = 9, NAVIGATOR = 10, PATHFINDER = 11, - PRAYER_MASTER = 12, PRESTIDIGITATION = 13, SWIMMING = 14, TRACKING = 15, - SPOT_DOORS = 16, DANGER_SENSE = 17 -}; - -enum ConditionType { CURSED = 0, HEART_BROKEN = 1, WEAK = 2, POISONED = 3, - DISEASED = 4, INSANE = 5, IN_LOVE = 6, DRUNK = 7, SLEEP = 8, - DEPRESSED = 9, CONFUSED = 10, PARALYZED = 11 -}; - -#define ITEMS_COUNT 36 -#define TOTAL_CHARACTERS 30 - -class XeenEngine; - -class Party { -public: - int _partyCount; - int _realPartyCount; - int _partyMembers[8]; - Direction _mazeDirection; - Common::Point _mazePosition; - int _mazeId; - int _priorMazeId; - bool _levitateActive; - bool _automapOn; - bool _wizardEyeActive; - bool _clairvoyanceActive; - bool _walkOnWaterActive; - bool _blessedActive; - bool _powerShieldActive; - bool _holyBonusActive; - bool _heroismActive; - Difficulty _difficulty; - XeenItem _blacksmithWeapons[ITEMS_COUNT]; - XeenItem _blacksmithArmor[ITEMS_COUNT]; - XeenItem _blacksmithAccessories[ITEMS_COUNT]; - XeenItem _blacksmithMisc[ITEMS_COUNT]; - bool _cloudsEnd; - bool _darkSideEnd; - bool _worldEnd; - int hour_maybe; - int _day; - int _year; - int _minutes; - int _food; - int _lightCount; - int _torchCount; - int _fireResistence; - int _electricityResistence; - int _coldResistence; - int _poisonResistence; - int _deathCount; - int _winCount; - int _lossCount; - int _gold; - int _gems; - int _bankGold; - int _bankGems; - int _totalTime; - bool _rested; - bool _gameFlags[512]; - bool _autoNotes[128]; - bool _quests[64]; - int _questItems[85]; - XeenItem _blacksmithWeapons2[ITEMS_COUNT]; - XeenItem _blacksmithArmor2[ITEMS_COUNT]; - XeenItem _blacksmithAccessories2[ITEMS_COUNT]; - XeenItem _blacksmithMisc2[ITEMS_COUNT]; - bool _characterFlags[30][24]; -public: - Party(); - - void synchronize(Common::Serializer &s); -}; - -class AttributePair { -public: - int _permanent; - int _temporary; -public: - AttributePair(); - void synchronize(Common::Serializer &s); -}; - -class Conditions { - byte _cursed; - byte _heartBroken; - byte _weak; - byte _poisoned; - byte _diseased; - byte _insane; - byte _inLove; - byte _drunk; - byte _asleep; - byte _depressed; - byte _confused; - byte _paralyzed; - byte _unconscious; - byte _dead; - byte _stoned; - byte _eradicated; -public: - Conditions(); - - void synchronize(Common::Serializer &s); -}; - -class PlayerStruct { -public: - Common::String _name; - Sex _sex; - Race _race; - int _xeenSide; - CharacterClass _class; - AttributePair _might; - AttributePair _intellect; - AttributePair _personality; - AttributePair _endurance; - AttributePair _speed; - AttributePair _accuracy; - AttributePair _luck; - int _ACTemp; - AttributePair _level; - int _dbDay; - int _tempAge; - int _skills[18]; - bool _awards[512]; - bool _spells[312]; - int _lloydMap; - Common::Point _lloydPosition; - bool _hasSpells; - int _currentSpell; - int _quickOption; - XeenItem _weapons[9]; - XeenItem _armor[9]; - XeenItem _accessories[9]; - XeenItem _misc[9]; - int _lloydSide; - AttributePair _fireResistence; - AttributePair _coldResistence; - AttributePair _electricityResistence; - AttributePair _poisonResistence; - AttributePair _energyResistence; - AttributePair _magicResistence; - Conditions _conditions; - int _townUnknown; - int _unknown2; - int _currentHp; - int _currentSp; - int _ybDay; - uint32 _experience; - int _currentAdventuringSpell; - int _currentCombatSpell; -public: - PlayerStruct(); - void synchronize(Common::Serializer &s); -}; - -class Roster: public Common::Array<PlayerStruct> { -public: - Roster() {} - - void synchronize(Common::Serializer &s); -}; - class SavesManager { private: XeenEngine *_vm; |