Skip to content

Commit

Permalink
XEEN: Moved _maeNames to a new Resources class
Browse files Browse the repository at this point in the history
  • Loading branch information
dreammaster committed Feb 6, 2015
1 parent 85c2dd5 commit 6595abc
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 15 deletions.
17 changes: 8 additions & 9 deletions engines/xeen/character.cpp
Expand Up @@ -253,10 +253,10 @@ void WeaponItems::equipItem(int itemIndex) {
*/
Common::String WeaponItems::getFullDescription(int itemIndex, int displayNum) {
XeenItem &i = operator[](itemIndex);
Spells &spells = *vm()->_spells;
Resources &res = *vm()->_resources;

return Common::String::format("\f%02u%s%s%s\f%02u%s%s%s", displayNum,
!i._bonusFlags ? spells._maeNames[i._material] : "",
!i._bonusFlags ? res._maeNames[i._material] : "",
(i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
(i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
WEAPON_NAMES[i._id],
Expand Down Expand Up @@ -355,10 +355,10 @@ void ArmorItems::equipItem(int itemIndex) {
*/
Common::String ArmorItems::getFullDescription(int itemIndex, int displayNum) {
XeenItem &i = operator[](itemIndex);
Spells &spells = *vm()->_spells;
Resources &res = *vm()->_resources;

return Common::String::format("\f%02u%s%s%s\f%02u%s%s", displayNum,
!i._bonusFlags ? "" : spells._maeNames[i._material],
!i._bonusFlags ? "" : res._maeNames[i._material],
(i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
(i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
ARMOR_NAMES[i._id],
Expand Down Expand Up @@ -425,11 +425,11 @@ void AccessoryItems::equipItem(int itemIndex) {
* the Items dialog
*/
Common::String AccessoryItems::getFullDescription(int itemIndex, int displayNum) {
Spells &spells = *vm()->_spells;
XeenItem &i = operator[](itemIndex);
Resources &res = *vm()->_resources;

return Common::String::format("\f%02u%s%s%s\f%02u%s%s", displayNum,
!i._bonusFlags ? "" : spells._maeNames[i._material],
!i._bonusFlags ? "" : res._maeNames[i._material],
(i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
(i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
ARMOR_NAMES[i._id],
Expand All @@ -446,10 +446,10 @@ Common::String AccessoryItems::getFullDescription(int itemIndex, int displayNum)
*/
Common::String MiscItems::getFullDescription(int itemIndex, int displayNum) {
XeenItem &i = operator[](itemIndex);
Spells &spells = *vm()->_spells;
Resources &res = *vm()->_resources;

return Common::String::format("\f%02u%s%s%s\f%02u%s%s", displayNum,
!i._bonusFlags ? "" : spells._maeNames[i._material],
!i._bonusFlags ? "" : res._maeNames[i._material],
(i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
(i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
ARMOR_NAMES[i._id],
Expand All @@ -458,7 +458,6 @@ Common::String MiscItems::getFullDescription(int itemIndex, int displayNum) {
);
}


/*------------------------------------------------------------------------*/

InventoryItemsGroup::InventoryItemsGroup(InventoryItems &weapons, InventoryItems &armor,
Expand Down
10 changes: 10 additions & 0 deletions engines/xeen/resources.cpp
Expand Up @@ -22,9 +22,19 @@

#include "common/scummsys.h"
#include "xeen/resources.h"
#include "xeen/files.h"

namespace Xeen {

Resources::Resources() {
File f("mae.xen");
while (f.pos() < f.size())
_maeNames.push_back(f.readString());
f.close();
}

/*------------------------------------------------------------------------*/

const char *const CREDITS =
"\013""012\010""000\003""c\014""35Designed and Directed By:\n"
"\014""17Jon Van Caneghem\003""l\n"
Expand Down
11 changes: 11 additions & 0 deletions engines/xeen/resources.h
Expand Up @@ -24,10 +24,21 @@
#define XEEN_RESOURCES_H

#include "common/scummsys.h"
#include "common/str-array.h"
#include "gui/debugger.h"

namespace Xeen {

class Resources {
public:
// Magic and equipment names
Common::StringArray _maeNames;
public:
Resources();
};

#define Res (*_vm->_resources)

extern const char *const CREDITS;

extern const char *const OPTIONS_TITLE;
Expand Down
5 changes: 0 additions & 5 deletions engines/xeen/spells.cpp
Expand Up @@ -38,11 +38,6 @@ void Spells::load() {
while (f1.pos() < f1.size())
_spellNames.push_back(f1.readString());
f1.close();

File f2("mae.xen");
while (f2.pos() < f2.size())
_maeNames.push_back(f2.readString());
f2.close();
}

int Spells::calcSpellCost(int spellId, int expenseFactor) const {
Expand Down
1 change: 0 additions & 1 deletion engines/xeen/spells.h
Expand Up @@ -121,7 +121,6 @@ class Spells {
void divineIntervention();
public:
Common::StringArray _spellNames;
Common::StringArray _maeNames;
int _lastCaster;
public:
Spells(XeenEngine *vm);
Expand Down
3 changes: 3 additions & 0 deletions engines/xeen/xeen.cpp
Expand Up @@ -43,6 +43,7 @@ XeenEngine::XeenEngine(OSystem *syst, const XeenGameDescription *gameDesc)
_interface = nullptr;
_map = nullptr;
_party = nullptr;
_resources = nullptr;
_saves = nullptr;
_screen = nullptr;
_scripts = nullptr;
Expand Down Expand Up @@ -72,6 +73,7 @@ XeenEngine::~XeenEngine() {
delete _spells;
delete _town;
delete _eventData;
delete _resources;
delete _files;
}

Expand All @@ -84,6 +86,7 @@ void XeenEngine::initialize() {

// Create sub-objects of the engine
_files = new FileManager(this);
_resources = new Resources();
_combat = new Combat(this);
_debugger = new Debugger(this);
_events = new EventsManager(this);
Expand Down
2 changes: 2 additions & 0 deletions engines/xeen/xeen.h
Expand Up @@ -39,6 +39,7 @@
#include "xeen/interface.h"
#include "xeen/map.h"
#include "xeen/party.h"
#include "xeen/resources.h"
#include "xeen/saves.h"
#include "xeen/screen.h"
#include "xeen/scripts.h"
Expand Down Expand Up @@ -139,6 +140,7 @@ class XeenEngine : public Engine {
Interface *_interface;
Map *_map;
Party *_party;
Resources *_resources;
SavesManager *_saves;
Screen *_screen;
Scripts *_scripts;
Expand Down

0 comments on commit 6595abc

Please sign in to comment.