From 3bcbd1881c9a22a594707726154c568d187e313b Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Sun, 22 Jul 2012 22:27:07 +0200 Subject: WINTERMUTE: Avoid opening files when checking hasFile() --- engines/wintermute/ad/ad_game.cpp | 10 ++-------- engines/wintermute/ad/ad_sentence.cpp | 7 ++----- 2 files changed, 4 insertions(+), 13 deletions(-) (limited to 'engines/wintermute/ad') diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp index e10ec1bf6d..aa350b0e4c 100644 --- a/engines/wintermute/ad/ad_game.cpp +++ b/engines/wintermute/ad/ad_game.cpp @@ -1904,18 +1904,12 @@ char *AdGame::findSpeechFile(char *stringID) { for (int i = 0; i < _speechDirs.getSize(); i++) { sprintf(ret, "%s%s.ogg", _speechDirs[i], stringID); - Common::SeekableReadStream *file = _fileManager->openFile(ret); // TODO: Replace with hasFile - if (file) { - _fileManager->closeFile(file); + if (_fileManager->hasFile(ret)) return ret; - } sprintf(ret, "%s%s.wav", _speechDirs[i], stringID); - file = _fileManager->openFile(ret); - if (file) { - _fileManager->closeFile(file); + if (_fileManager->hasFile(ret)) return ret; - } } delete [] ret; return NULL; diff --git a/engines/wintermute/ad/ad_sentence.cpp b/engines/wintermute/ad/ad_sentence.cpp index ba59f57451..ad3a291e16 100644 --- a/engines/wintermute/ad/ad_sentence.cpp +++ b/engines/wintermute/ad/ad_sentence.cpp @@ -251,11 +251,8 @@ bool AdSentence::setupTalkFile(const char *soundFilename) { AnsiString talkDefFileName = PathUtil::combine(path, name + ".talk"); - Common::SeekableReadStream *file = _gameRef->_fileManager->openFile(talkDefFileName.c_str()); - if (file) { - _gameRef->_fileManager->closeFile(file); - } else return STATUS_OK; // no talk def file found - + if (!_gameRef->_fileManager->hasFile(talkDefFileName)) + return STATUS_OK; // no talk def file found _talkDef = new AdTalkDef(_gameRef); if (!_talkDef || DID_FAIL(_talkDef->loadFile(talkDefFileName.c_str()))) { -- cgit v1.2.3