aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Mettifogo2008-10-26 09:15:57 +0000
committerNicola Mettifogo2008-10-26 09:15:57 +0000
commit064b816b08cb27a5c8f4899d447c4b81597df968 (patch)
tree4d4641a515cb67830e8d0f532ffe8fdff79fa39b
parente3312288d7e58235cb81acc2469519c470203c0d (diff)
downloadscummvm-rg350-064b816b08cb27a5c8f4899d447c4b81597df968.tar.gz
scummvm-rg350-064b816b08cb27a5c8f4899d447c4b81597df968.tar.bz2
scummvm-rg350-064b816b08cb27a5c8f4899d447c4b81597df968.zip
Cleaned up disk code after recent updates to Common::SearchSet.
svn-id: r34848
-rw-r--r--engines/parallaction/disk.h26
-rw-r--r--engines/parallaction/disk_br.cpp41
2 files changed, 29 insertions, 38 deletions
diff --git a/engines/parallaction/disk.h b/engines/parallaction/disk.h
index 0df9ad7b89..11080f4ddd 100644
--- a/engines/parallaction/disk.h
+++ b/engines/parallaction/disk.h
@@ -205,13 +205,24 @@ public:
class Disk_br : public Disk {
+
Common::SeekableReadStream *openFile_internal(bool errorOnNotFound, const Common::String &name, const Common::String &ext);
+
protected:
+ Parallaction *_vm;
Common::SearchSet _sset;
+ Common::FSDirectory *_baseDir;
+
+ uint16 _language;
+ Common::String _currentPart;
Common::SeekableReadStream *tryOpenFile(const Common::String &name, const Common::String &ext = Common::String::emptyString);
Common::SeekableReadStream *openFile(const Common::String &name, const Common::String &ext = Common::String::emptyString);
void errorFileNotFound(const Common::String &filename);
+
+public:
+ Disk_br(Parallaction *vm);
+ virtual ~Disk_br();
};
// for the moment DosDisk_br subclasses Disk. When Amiga support will
@@ -220,15 +231,6 @@ protected:
class DosDisk_br : public Disk_br {
protected:
- uint16 _language;
-
- Parallaction *_vm;
-
- Common::SharedPtr<Common::FSDirectory> _baseDir;
- Common::String _currentPart;
-
-
-protected:
Font *createFont(const char *name, Common::ReadStream &stream);
Sprites* createSprites(Common::ReadStream &stream);
void loadBitmap(Common::SeekableReadStream &stream, Graphics::Surface &surf, byte *palette);
@@ -236,7 +238,6 @@ protected:
public:
DosDisk_br(Parallaction *vm);
- virtual ~DosDisk_br();
virtual void init();
@@ -263,7 +264,6 @@ class DosDemoDisk_br : public DosDisk_br {
public:
DosDemoDisk_br(Parallaction *vm);
- virtual ~DosDemoDisk_br();
virtual void init();
@@ -273,9 +273,6 @@ public:
class AmigaDisk_br : public DosDisk_br {
protected:
- Common::SharedPtr<Common::FSDirectory> _baseDir;
- Common::String _currentPart;
-
BackgroundInfo _backgroundTemp;
Sprites* createSprites(Common::ReadStream &stream);
@@ -283,7 +280,6 @@ protected:
void loadBackground(BackgroundInfo& info, Common::SeekableReadStream &stream);
public:
AmigaDisk_br(Parallaction *vm);
- virtual ~AmigaDisk_br();
virtual void init();
diff --git a/engines/parallaction/disk_br.cpp b/engines/parallaction/disk_br.cpp
index 20b1370796..cf5aec5285 100644
--- a/engines/parallaction/disk_br.cpp
+++ b/engines/parallaction/disk_br.cpp
@@ -140,23 +140,18 @@ void DosDisk_br::setLanguage(uint16 language) {
_language = language;
}
-DosDisk_br::DosDisk_br(Parallaction* vm) : _vm(vm) {
+DosDisk_br::DosDisk_br(Parallaction* vm) : Disk_br(vm) {
}
void DosDisk_br::init() {
// TODO: clarify whether the engine or OSystem should add the base game directory to the search manager.
// Right now, I am keeping an internal search set to do the job.
- _baseDir = Common::SharedPtr<Common::FSDirectory>(new Common::FSDirectory(ConfMan.get("path")));
- // FIXME: We use this gross hack here since we switched SearchSet to accept plain pointers
- _sset.add("base", _baseDir.get(), 5, false);
+ _baseDir = new Common::FSDirectory(ConfMan.get("path"));
+ _sset.add("base", _baseDir, 5, false);
}
-DosDisk_br::~DosDisk_br() {
- _sset.clear();
-}
-
GfxObj* DosDisk_br::loadTalk(const char *name) {
debugC(5, kDebugDisk, "DosDisk_br::loadTalk(%s)", name);
@@ -391,16 +386,11 @@ DosDemoDisk_br::DosDemoDisk_br(Parallaction *vm) : DosDisk_br(vm) {
void DosDemoDisk_br::init() {
// TODO: clarify whether the engine or OSystem should add the base game directory to the search manager.
// Right now, I am keeping an internal search set to do the job.
- _baseDir = Common::SharedPtr<Common::FSDirectory>(new Common::FSDirectory(ConfMan.get("path"), 2));
- // FIXME: We use this gross hack here since we switched SearchSet to accept plain pointers
- _sset.add("base", _baseDir.get(), 5, false);
+ _baseDir = new Common::FSDirectory(ConfMan.get("path"), 2);
+ _sset.add("base", _baseDir, 5, false);
}
-DosDemoDisk_br::~DosDemoDisk_br() {
-
-}
-
Common::String DosDemoDisk_br::selectArchive(const Common::String& name) {
debugC(5, kDebugDisk, "DosDemoDisk_br::selectArchive");
Common::String oldPath = _currentPart;
@@ -413,9 +403,8 @@ AmigaDisk_br::AmigaDisk_br(Parallaction *vm) : DosDisk_br(vm) {
}
void AmigaDisk_br::init() {
- _baseDir = Common::SharedPtr<Common::FSDirectory>(new Common::FSDirectory(ConfMan.get("path")));
- // FIXME: We use this gross hack here since we switched SearchSet to accept plain pointers
- _sset.add("base", _baseDir.get(), 5, false);
+ _baseDir = new Common::FSDirectory(ConfMan.get("path"));
+ _sset.add("base", _baseDir, 5, false);
const Common::String subDirNames[3] = { "fonts", "backs", "common" };
const Common::String subDirPrefixes[3] = { "fonts", "backs", Common::String::emptyString };
@@ -423,11 +412,6 @@ void AmigaDisk_br::init() {
_sset.add(subDirNames[i], _baseDir->getSubDirectory(subDirPrefixes[i], subDirNames[i], 2), 6);
}
-AmigaDisk_br::~AmigaDisk_br() {
- _sset.clear();
-}
-
-
void AmigaDisk_br::loadBackground(BackgroundInfo& info, Common::SeekableReadStream &stream) {
byte *pal;
@@ -629,4 +613,15 @@ Common::String AmigaDisk_br::selectArchive(const Common::String& name) {
}
+Disk_br::Disk_br(Parallaction *vm) : _vm(vm), _baseDir(0) {
+
+}
+
+Disk_br::~Disk_br() {
+ delete _baseDir;
+ _sset.clear();
+}
+
+
+
} // namespace Parallaction