diff options
author | lolbot-iichan | 2019-07-14 21:48:46 +0300 |
---|---|---|
committer | Filippos Karapetis | 2019-07-16 20:24:42 +0300 |
commit | 9eca2b4c549a6e20c351b6ced4442d36f7601964 (patch) | |
tree | 1fdf9d95498066d66ad13f32145f38224c3eb70b /engines/wintermute/base/base_file_manager.cpp | |
parent | a96d127b1f07db20f66e74ae3011cc643ba7a9bd (diff) | |
download | scummvm-rg350-9eca2b4c549a6e20c351b6ced4442d36f7601964.tar.gz scummvm-rg350-9eca2b4c549a6e20c351b6ced4442d36f7601964.tar.bz2 scummvm-rg350-9eca2b4c549a6e20c351b6ced4442d36f7601964.zip |
WINTERMUTE: Implement saving files using SavefileManager
Diffstat (limited to 'engines/wintermute/base/base_file_manager.cpp')
-rw-r--r-- | engines/wintermute/base/base_file_manager.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index 16ae85f41d..7ae499e368 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -29,6 +29,7 @@ #include "engines/wintermute/base/base_file_manager.h" #include "engines/wintermute/base/base_persistence_manager.h" #include "engines/wintermute/base/file/base_disk_file.h" +#include "engines/wintermute/base/file/base_savefile_manager_file.h" #include "engines/wintermute/base/file/base_save_thumb_file.h" #include "engines/wintermute/base/file/base_package.h" #include "engines/wintermute/base/base_engine.h" @@ -355,6 +356,17 @@ Common::SeekableReadStream *BaseFileManager::openFile(const Common::String &file ////////////////////////////////////////////////////////////////////////// +Common::WriteStream *BaseFileManager::openFileForWrite(const Common::String &filename) { + if (strcmp(filename.c_str(), "") == 0) { + return nullptr; + } + debugC(kWintermuteDebugFileAccess, "Open file %s for write", filename.c_str()); + + return openFileForWriteRaw(filename); +} + + +////////////////////////////////////////////////////////////////////////// bool BaseFileManager::closeFile(Common::SeekableReadStream *File) { for (uint32 i = 0; i < _openFiles.size(); i++) { if (_openFiles[i] == File) { @@ -404,6 +416,19 @@ Common::SeekableReadStream *BaseFileManager::openFileRaw(const Common::String &f return nullptr; } +////////////////////////////////////////////////////////////////////////// +Common::WriteStream *BaseFileManager::openFileForWriteRaw(const Common::String &filename) { + Common::WriteStream *ret = nullptr; + + ret = openSfmFileForWrite(filename); + if (ret) { + return ret; + } + + debugC(kWintermuteDebugFileAccess ,"BFileManager::OpenFileRaw - Failed to open %s", filename.c_str()); + return nullptr; +} + BaseFileManager *BaseFileManager::getEngineInstance() { if (BaseEngine::instance().getFileManager()) { return BaseEngine::instance().getFileManager(); |