diff options
author | Max Horn | 2010-11-23 22:25:10 +0000 |
---|---|---|
committer | Max Horn | 2010-11-23 22:25:10 +0000 |
commit | 54e0390752b299d739daaf211e6b84b485738ada (patch) | |
tree | b4ebfb49d0921d75b8d0719435607896cfe9d994 | |
parent | 55e3ed001624df8b8222a1556a371aec8aab4983 (diff) | |
download | scummvm-rg350-54e0390752b299d739daaf211e6b84b485738ada.tar.gz scummvm-rg350-54e0390752b299d739daaf211e6b84b485738ada.tar.bz2 scummvm-rg350-54e0390752b299d739daaf211e6b84b485738ada.zip |
SCUMM: Replace Common::File uses by SeekableReadStream and SearchMan
svn-id: r54434
-rw-r--r-- | engines/scumm/detection.cpp | 7 | ||||
-rw-r--r-- | engines/scumm/he/animation_he.h | 2 | ||||
-rw-r--r-- | engines/scumm/he/script_v72he.cpp | 7 | ||||
-rw-r--r-- | engines/scumm/he/script_v80he.cpp | 10 | ||||
-rw-r--r-- | engines/scumm/he/wiz_he.cpp | 8 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_bndmgr.cpp | 2 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_bndmgr.h | 2 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_sndmgr.cpp | 6 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_sndmgr.h | 2 |
9 files changed, 15 insertions, 31 deletions
diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index 10224d997d..6430ab7c4d 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -466,7 +466,7 @@ static void detectGames(const Common::FSList &fslist, Common::List<DetectorResul // DetectorDesc &d = fileMD5Map[file]; if (d.md5.empty()) { - Common::File *tmp = 0; + Common::SeekableReadStream *tmp = 0; bool isDiskImg = (file.hasSuffix(".d64") || file.hasSuffix(".dsk") || file.hasSuffix(".prg")); if (isDiskImg) { @@ -474,12 +474,11 @@ static void detectGames(const Common::FSList &fslist, Common::List<DetectorResul debug(2, "Falling back to disk-based detection"); } else { - tmp = new Common::File; - tmp->open(d.node); + tmp = d.node.createReadStream(); } Common::String md5str; - if (tmp && tmp->isOpen()) + if (tmp) md5str = computeStreamMD5AsString(*tmp, kMD5FileSizeLimit); if (!md5str.empty()) { diff --git a/engines/scumm/he/animation_he.h b/engines/scumm/he/animation_he.h index 34794b35ac..af4ec2041d 100644 --- a/engines/scumm/he/animation_he.h +++ b/engines/scumm/he/animation_he.h @@ -26,8 +26,6 @@ #if !defined(SCUMM_HE_ANIMATION_H) && defined(ENABLE_HE) #define SCUMM_HE_ANIMATION_H -#include "common/file.h" - #include "graphics/video/smk_decoder.h" #include "sound/mixer.h" diff --git a/engines/scumm/he/script_v72he.cpp b/engines/scumm/he/script_v72he.cpp index 76daacbd54..32c15abcba 100644 --- a/engines/scumm/he/script_v72he.cpp +++ b/engines/scumm/he/script_v72he.cpp @@ -1412,12 +1412,7 @@ void ScummEngine_v72he::o72_openFile() { if (!_saveFileMan->listSavefiles(filename).empty()) { _hInFileTable[slot] = _saveFileMan->openForLoading(filename); } else { - Common::File *f = new Common::File(); - f->open(filename); - if (!f->isOpen()) - delete f; - else - _hInFileTable[slot] = f; + _hInFileTable[slot] = SearchMan.createReadStreamForMember(filename); } break; case 2: diff --git a/engines/scumm/he/script_v80he.cpp b/engines/scumm/he/script_v80he.cpp index b06dc712d9..c225be4b6c 100644 --- a/engines/scumm/he/script_v80he.cpp +++ b/engines/scumm/he/script_v80he.cpp @@ -25,6 +25,7 @@ #ifdef ENABLE_HE +#include "common/archive.h" #include "common/config-file.h" #include "common/config-manager.h" #include "common/savefile.h" @@ -94,14 +95,9 @@ void ScummEngine_v80he::o80_getFileSize() { Common::SeekableReadStream *f = 0; if (!_saveFileMan->listSavefiles(filename).empty()) { - f = _saveFileMan->openForLoading((const char *)filename); + f = _saveFileMan->openForLoading(filename); } else { - Common::File *file = new Common::File(); - file->open((const char *)filename); - if (!file->isOpen()) - delete file; - else - f = file; + f = SearchMan.createReadStreamForMember(filename); } if (!f) { diff --git a/engines/scumm/he/wiz_he.cpp b/engines/scumm/he/wiz_he.cpp index ddbbb2101f..807380272d 100644 --- a/engines/scumm/he/wiz_he.cpp +++ b/engines/scumm/he/wiz_he.cpp @@ -25,6 +25,7 @@ #ifdef ENABLE_HE +#include "common/archive.h" #include "common/system.h" #include "graphics/cursorman.h" #include "graphics/primitives.h" @@ -2374,12 +2375,7 @@ void Wiz::processWizImage(const WizParameters *params) { if (!_vm->_saveFileMan->listSavefiles(filename).empty()) { f = _vm->_saveFileMan->openForLoading(filename); } else { - Common::File *nf = new Common::File(); - nf->open(filename); - if (!nf->isOpen()) - delete nf; - else - f = nf; + f = SearchMan.createReadStreamForMember(filename); } if (f) { diff --git a/engines/scumm/imuse_digi/dimuse_bndmgr.cpp b/engines/scumm/imuse_digi/dimuse_bndmgr.cpp index 3ae6f7e919..f10f17f3d8 100644 --- a/engines/scumm/imuse_digi/dimuse_bndmgr.cpp +++ b/engines/scumm/imuse_digi/dimuse_bndmgr.cpp @@ -157,7 +157,7 @@ BundleMgr::~BundleMgr() { delete _file; } -Common::File *BundleMgr::getFile(const char *filename, int32 &offset, int32 &size) { +Common::SeekableReadStream *BundleMgr::getFile(const char *filename, int32 &offset, int32 &size) { BundleDirCache::IndexNode target; strcpy(target.filename, filename); BundleDirCache::IndexNode *found = (BundleDirCache::IndexNode *)bsearch(&target, _indexTable, _numFiles, diff --git a/engines/scumm/imuse_digi/dimuse_bndmgr.h b/engines/scumm/imuse_digi/dimuse_bndmgr.h index 65360d8ba4..a78697a854 100644 --- a/engines/scumm/imuse_digi/dimuse_bndmgr.h +++ b/engines/scumm/imuse_digi/dimuse_bndmgr.h @@ -101,7 +101,7 @@ public: bool open(const char *filename, bool &compressed, bool errorFlag = false); void close(); - Common::File *getFile(const char *filename, int32 &offset, int32 &size); + Common::SeekableReadStream *getFile(const char *filename, int32 &offset, int32 &size); int32 decompressSampleByName(const char *name, int32 offset, int32 size, byte **compFinal, bool headerOutside); int32 decompressSampleByIndex(int32 index, int32 offset, int32 size, byte **compFinal, int header_size, bool headerOutside); int32 decompressSampleByCurIndex(int32 offset, int32 size, byte **compFinal, int headerSize, bool headerOutside); diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp index 1d4769a7f5..4054843163 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.cpp +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.cpp @@ -93,7 +93,7 @@ void ImuseDigiSndMgr::countElements(byte *ptr, int &numRegions, int &numJumps, i } while (tag != MKID_BE('DATA')); } -void ImuseDigiSndMgr::prepareSoundFromRMAP(Common::File *file, SoundDesc *sound, int32 offset, int32 size) { +void ImuseDigiSndMgr::prepareSoundFromRMAP(Common::SeekableReadStream *file, SoundDesc *sound, int32 offset, int32 size) { int l; file->seek(offset, SEEK_SET); @@ -428,7 +428,7 @@ ImuseDigiSndMgr::SoundDesc *ImuseDigiSndMgr::openSound(int32 soundId, const char char fileName[24]; int32 offset = 0, size = 0; sprintf(fileName, "%s.map", soundName); - Common::File *rmapFile = sound->bundle->getFile(fileName, offset, size); + Common::SeekableReadStream *rmapFile = sound->bundle->getFile(fileName, offset, size); if (!rmapFile) { closeSound(sound); return NULL; @@ -666,7 +666,7 @@ int32 ImuseDigiSndMgr::getDataFromRegion(SoundDesc *soundDesc, int region, byte sprintf(fileName, "%s_reg%03d", soundDesc->name, region); if (scumm_stricmp(fileName, soundDesc->lastFileName) != 0) { int32 offs = 0, len = 0; - Common::File *cmpFile; + Common::SeekableReadStream *cmpFile; uint8 soundMode = 0; sprintf(fileName, "%s_reg%03d.fla", soundDesc->name, region); diff --git a/engines/scumm/imuse_digi/dimuse_sndmgr.h b/engines/scumm/imuse_digi/dimuse_sndmgr.h index 0a667eba9d..aa7a1b77ca 100644 --- a/engines/scumm/imuse_digi/dimuse_sndmgr.h +++ b/engines/scumm/imuse_digi/dimuse_sndmgr.h @@ -113,7 +113,7 @@ private: bool checkForProperHandle(SoundDesc *soundDesc); SoundDesc *allocSlot(); void prepareSound(byte *ptr, SoundDesc *sound); - void prepareSoundFromRMAP(Common::File *file, SoundDesc *sound, int32 offset, int32 size); + void prepareSoundFromRMAP(Common::SeekableReadStream *file, SoundDesc *sound, int32 offset, int32 size); ScummEngine *_vm; byte _disk; |