aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/saves.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-01-02 12:14:57 -1000
committerPaul Gilbert2015-01-02 12:14:57 -1000
commit27e020cbf98d88373111bff0f1d6ed0e846b2311 (patch)
treeb84d73e96875ba698b100a0aecbe3aa369c4d903 /engines/xeen/saves.h
parentbef5dbdc0a8640e3d51af5f1ef9ceb92ab930900 (diff)
downloadscummvm-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.h183
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;