diff options
Diffstat (limited to 'engines/titanic/support/files_manager.cpp')
-rw-r--r-- | engines/titanic/support/files_manager.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/engines/titanic/support/files_manager.cpp b/engines/titanic/support/files_manager.cpp index 04928b96d6..3ee17e9769 100644 --- a/engines/titanic/support/files_manager.cpp +++ b/engines/titanic/support/files_manager.cpp @@ -21,6 +21,7 @@ */ #include "common/file.h" +#include "common/memstream.h" #include "titanic/support/files_manager.h" #include "titanic/game_manager.h" @@ -51,7 +52,7 @@ void CFilesManager::loadResourceIndex() { for (;;) { offset = _datFile.readUint32LE(); size = _datFile.readUint32LE(); - if (size == 0) + if (offset == 0 && size == 0) break; Common::String resName; @@ -103,8 +104,9 @@ void CFilesManager::loadDrive() { resetView(); } -void CFilesManager::debug(CScreenManager *screenManager) { - warning("TODO: CFilesManager::debug"); +void CFilesManager::insertCD(CScreenManager *screenManager) { + // We not support running game directly from the original CDs, + // so this method can remain stubbed } void CFilesManager::resetView() { @@ -114,10 +116,6 @@ void CFilesManager::resetView() { } } -void CFilesManager::fn4(const CString &name) { - warning("TODO: CFilesManager::fn4"); -} - void CFilesManager::preload(const CString &name) { // We don't currently do any preloading of resources } @@ -126,7 +124,8 @@ Common::SeekableReadStream *CFilesManager::getResource(const CString &str) { ResourceEntry resEntry = _resources[str]; _datFile.seek(resEntry._offset); - return _datFile.readStream(resEntry._size); + return (resEntry._size > 0) ? _datFile.readStream(resEntry._size) : + new Common::MemoryReadStream(nullptr, 0); } } // End of namespace Titanic |