From ad3ab61241d5878c9b66f78f3927adb97f5a84e8 Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Fri, 16 Oct 2015 20:26:34 +0200 Subject: COMMON: Remove the EventRecorder dependency from OSystem EventRecorder is in the gui lib which is not linked in the cxxtest suite. --- backends/platform/sdl/sdl.cpp | 8 ++++++++ backends/platform/sdl/sdl.h | 1 + 2 files changed, 9 insertions(+) (limited to 'backends/platform') diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index c55753194b..dca6891fef 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -492,6 +492,14 @@ AudioCDManager *OSystem_SDL::createAudioCDManager() { #endif } +Common::SaveFileManager *OSystem_SDL::getSavefileManager() { +#ifdef ENABLE_EVENTRECORDER + return g_eventRec.getSaveManager(_savefileManager); +#else + return _savefileManager; +#endif +} + #ifdef USE_OPENGL const OSystem::GraphicsMode *OSystem_SDL::getSupportedGraphicsModes() const { diff --git a/backends/platform/sdl/sdl.h b/backends/platform/sdl/sdl.h index c93c8308a7..1fe670c5c3 100644 --- a/backends/platform/sdl/sdl.h +++ b/backends/platform/sdl/sdl.h @@ -76,6 +76,7 @@ public: virtual void getTimeAndDate(TimeDate &td) const; virtual Audio::Mixer *getMixer(); virtual Common::TimerManager *getTimerManager(); + virtual Common::SaveFileManager *getSavefileManager(); protected: bool _inited; -- cgit v1.2.3 From 87818fe63ac851e89513c2fe49c9646d64566b31 Mon Sep 17 00:00:00 2001 From: Alyssa Milburn Date: Fri, 29 Jul 2016 09:59:06 +0200 Subject: POSIX: Add $SNAP to search path if available. This allows ScummVM to find data files while running in a snap (e.g. from the new Ubuntu store). --- backends/platform/sdl/posix/posix.cpp | 16 ++++++++++++++++ backends/platform/sdl/posix/posix.h | 2 ++ 2 files changed, 18 insertions(+) (limited to 'backends/platform') diff --git a/backends/platform/sdl/posix/posix.cpp b/backends/platform/sdl/posix/posix.cpp index e2a642b288..016a9d44f8 100644 --- a/backends/platform/sdl/posix/posix.cpp +++ b/backends/platform/sdl/posix/posix.cpp @@ -141,6 +141,22 @@ Common::String OSystem_POSIX::getDefaultConfigFileName() { return configFile; } +void OSystem_POSIX::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) { + const char *snap = getenv("SNAP"); + if (snap) { + Common::String dataPath = Common::String(snap) + DATA_PATH; + Common::FSNode dataNode(dataPath); + if (dataNode.exists() && dataNode.isDirectory()) { + // This is the same priority which is used for the data path (below), + // but we insert this one first, so it will be searched first. + s.add(dataPath, new Common::FSDirectory(dataNode, 4), priority); + } + } + + // For now, we always add the data path, just in case SNAP doesn't make sense. + OSystem_SDL::addSysArchivesToSearchSet(s, priority); +} + Common::WriteStream *OSystem_POSIX::createLogFile() { // Start out by resetting _logFilePath, so that in case // of a failure, we know that no log file is open. diff --git a/backends/platform/sdl/posix/posix.h b/backends/platform/sdl/posix/posix.h index 0514d30191..050463c273 100644 --- a/backends/platform/sdl/posix/posix.h +++ b/backends/platform/sdl/posix/posix.h @@ -38,6 +38,8 @@ public: virtual void init(); virtual void initBackend(); + virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0); + protected: /** * Base string for creating the default path and filename for the -- cgit v1.2.3 From 2597be210dee76205bfbeb0ee083e8c1e3c3ae1e Mon Sep 17 00:00:00 2001 From: Alexander Tkachev Date: Thu, 4 Aug 2016 17:45:49 +0600 Subject: BACKENDS: Fix DC's OutVMSave to have pos() --- backends/platform/dc/vmsave.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'backends/platform') diff --git a/backends/platform/dc/vmsave.cpp b/backends/platform/dc/vmsave.cpp index 75fc1ed0df..f71a3bff5b 100644 --- a/backends/platform/dc/vmsave.cpp +++ b/backends/platform/dc/vmsave.cpp @@ -275,6 +275,7 @@ private: public: uint32 write(const void *buf, uint32 cnt); + virtual int32 pos() const { return pos; } OutVMSave(const char *_filename) : pos(0), committed(-1), iofailed(false) -- cgit v1.2.3 From eedd1286ff4a7020d2d65b1746f0649be6ffaa50 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 4 Aug 2016 12:46:57 +0200 Subject: N64: Fix build adter WriteStream::pos() addition --- backends/platform/n64/pakfs_save_manager.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'backends/platform') diff --git a/backends/platform/n64/pakfs_save_manager.h b/backends/platform/n64/pakfs_save_manager.h index ec66c80b73..c12150e9bf 100644 --- a/backends/platform/n64/pakfs_save_manager.h +++ b/backends/platform/n64/pakfs_save_manager.h @@ -72,6 +72,10 @@ private: public: uint32 write(const void *buf, uint32 cnt); + int32 pos() { + return pakfs_tell(fd); + } + OutPAKSave(const char *_filename) : fd(NULL) { fd = pakfs_open(_filename, "w"); } -- cgit v1.2.3 From d111b16adc1e9373e2f275241d877bbb72b33f91 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 4 Aug 2016 12:49:44 +0200 Subject: N64: Fix warning --- backends/platform/n64/pakfs_save_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'backends/platform') diff --git a/backends/platform/n64/pakfs_save_manager.h b/backends/platform/n64/pakfs_save_manager.h index c12150e9bf..57b8b8495a 100644 --- a/backends/platform/n64/pakfs_save_manager.h +++ b/backends/platform/n64/pakfs_save_manager.h @@ -72,7 +72,7 @@ private: public: uint32 write(const void *buf, uint32 cnt); - int32 pos() { + virtual int32 pos() { return pakfs_tell(fd); } -- cgit v1.2.3 From a4d39b23853ed7663051a25a0b414517fe314d6d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 4 Aug 2016 13:05:15 +0200 Subject: N64: Added pos() method to another save class --- backends/platform/n64/framfs_save_manager.h | 3 +++ backends/platform/n64/pakfs_save_manager.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'backends/platform') diff --git a/backends/platform/n64/framfs_save_manager.h b/backends/platform/n64/framfs_save_manager.h index a066854aab..9bd4ee579e 100644 --- a/backends/platform/n64/framfs_save_manager.h +++ b/backends/platform/n64/framfs_save_manager.h @@ -71,6 +71,9 @@ private: public: uint32 write(const void *buf, uint32 cnt); + virtual int32 pos() const { + return framfs_tell(fd); + } OutFRAMSave(const char *_filename) : fd(NULL) { fd = framfs_open(_filename, "w"); diff --git a/backends/platform/n64/pakfs_save_manager.h b/backends/platform/n64/pakfs_save_manager.h index 57b8b8495a..0c08f0c506 100644 --- a/backends/platform/n64/pakfs_save_manager.h +++ b/backends/platform/n64/pakfs_save_manager.h @@ -72,7 +72,7 @@ private: public: uint32 write(const void *buf, uint32 cnt); - virtual int32 pos() { + virtual int32 pos() const { return pakfs_tell(fd); } -- cgit v1.2.3 From cb195a813bdc710864acfc26130e77a86e264493 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 4 Aug 2016 13:08:25 +0200 Subject: DC: Fix compilation --- backends/platform/dc/vmsave.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'backends/platform') diff --git a/backends/platform/dc/vmsave.cpp b/backends/platform/dc/vmsave.cpp index f71a3bff5b..d896ba1299 100644 --- a/backends/platform/dc/vmsave.cpp +++ b/backends/platform/dc/vmsave.cpp @@ -269,16 +269,16 @@ public: class OutVMSave : public Common::OutSaveFile { private: char *buffer; - int pos, size, committed; + int _pos, size, committed; char filename[16]; bool iofailed; public: uint32 write(const void *buf, uint32 cnt); - virtual int32 pos() const { return pos; } + virtual int32 pos() const { return _pos; } OutVMSave(const char *_filename) - : pos(0), committed(-1), iofailed(false) + : _pos(0), committed(-1), iofailed(false) { strncpy(filename, _filename, 16); buffer = new char[size = MAX_SAVE_SIZE]; @@ -321,14 +321,14 @@ void OutVMSave::finalize() extern const char *gGameName; extern Icon icon; - if (committed >= pos) + if (committed >= _pos) return; char *data = buffer; - int len = pos; + int len = _pos; vmsaveResult r = writeSaveGame(gGameName, data, len, filename, icon); - committed = pos; + committed = _pos; if (r != VMSAVE_OK) iofailed = true; displaySaveResult(r); @@ -387,13 +387,13 @@ bool InVMSave::seek(int32 offs, int whence) uint32 OutVMSave::write(const void *buf, uint32 cnt) { int nbyt = cnt; - if (pos + nbyt > size) { - cnt = (size - pos); + if (_pos + nbyt > size) { + cnt = (size - _pos); nbyt = cnt; } if (nbyt) - memcpy(buffer + pos, buf, nbyt); - pos += nbyt; + memcpy(buffer + _pos, buf, nbyt); + _pos += nbyt; return cnt; } -- cgit v1.2.3 From 13d0ec9bea228064dcbca393c90afcb1bbf2ecea Mon Sep 17 00:00:00 2001 From: Alyssa Milburn Date: Thu, 4 Aug 2016 16:19:12 +0200 Subject: POSIX: Add #ifdef guards for DATA_PATH. Thanks to snover for pointing out they should be there. --- backends/platform/sdl/posix/posix.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'backends/platform') diff --git a/backends/platform/sdl/posix/posix.cpp b/backends/platform/sdl/posix/posix.cpp index 016a9d44f8..0d5f39736a 100644 --- a/backends/platform/sdl/posix/posix.cpp +++ b/backends/platform/sdl/posix/posix.cpp @@ -142,6 +142,7 @@ Common::String OSystem_POSIX::getDefaultConfigFileName() { } void OSystem_POSIX::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) { +#ifdef DATA_PATH const char *snap = getenv("SNAP"); if (snap) { Common::String dataPath = Common::String(snap) + DATA_PATH; @@ -152,6 +153,7 @@ void OSystem_POSIX::addSysArchivesToSearchSet(Common::SearchSet &s, int priority s.add(dataPath, new Common::FSDirectory(dataNode, 4), priority); } } +#endif // For now, we always add the data path, just in case SNAP doesn't make sense. OSystem_SDL::addSysArchivesToSearchSet(s, priority); -- cgit v1.2.3