[Scummvm-git-logs] scummvm master -> 9d8d2263d459e911c1cfce3ea164d866b133f393
aquadran
noreply at scummvm.org
Sat Nov 16 07:56:23 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
9d8d2263d4 WINTERMUTE: Turn off saving game state while playing bink videos
Commit: 9d8d2263d459e911c1cfce3ea164d866b133f393
https://github.com/scummvm/scummvm/commit/9d8d2263d459e911c1cfce3ea164d866b133f393
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-11-16T08:56:18+01:00
Commit Message:
WINTERMUTE: Turn off saving game state while playing bink videos
Changed paths:
engines/wintermute/ext/wme_vlink.cpp
engines/wintermute/wintermute.cpp
engines/wintermute/wintermute.h
diff --git a/engines/wintermute/ext/wme_vlink.cpp b/engines/wintermute/ext/wme_vlink.cpp
index ecb95eb2790..439dae273f2 100644
--- a/engines/wintermute/ext/wme_vlink.cpp
+++ b/engines/wintermute/ext/wme_vlink.cpp
@@ -101,6 +101,7 @@ bool SXVlink::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
#ifdef USE_BINK
_gameRef->freeze();
+ ((WintermuteEngine *)g_engine)->savingEnable(false);
Common::SeekableReadStream *file = BaseFileManager::getEngineInstance()->openFile(path);
if (file) {
@@ -167,6 +168,7 @@ bool SXVlink::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack,
BaseFileManager::getEngineInstance()->closeFile(file);
}
+ ((WintermuteEngine *)g_engine)->savingEnable(true);
_gameRef->unfreeze();
#else
warning("SXVlink::Play(%s) Bink playback not compiled in", path);
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index 7906e174998..08aeb08d0d3 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -105,6 +105,8 @@ Common::Error WintermuteEngine::run() {
_debugger = new Console(this);
setDebugger(_debugger);
+ _savingEnabled = true;
+
// DebugMan.enableDebugChannel("enginelog");
debugC(1, kWintermuteDebugLog, "Engine Debug-LOG enabled");
debugC(2, kWintermuteDebugSaveGame , "Savegame debugging-enabled");
@@ -342,13 +344,21 @@ Common::Error WintermuteEngine::saveGameState(int slot, const Common::String &de
}
bool WintermuteEngine::canSaveGameStateCurrently(Common::U32String *msg) {
- return true;
+ return _savingEnabled;
}
bool WintermuteEngine::canLoadGameStateCurrently(Common::U32String *msg) {
return true;
}
+bool WintermuteEngine::canSaveAutosaveCurrently() {
+ return _savingEnabled;
+}
+
+void WintermuteEngine::savingEnable(bool enable) {
+ _savingEnabled = enable;
+}
+
bool WintermuteEngine::getGameInfo(const Common::FSList &fslist, Common::String &name, Common::String &caption) {
bool retVal = false;
caption = name = "(invalid)";
diff --git a/engines/wintermute/wintermute.h b/engines/wintermute/wintermute.h
index 0b752382df6..3134d0e99e3 100644
--- a/engines/wintermute/wintermute.h
+++ b/engines/wintermute/wintermute.h
@@ -63,6 +63,8 @@ public:
bool canLoadGameStateCurrently(Common::U32String *msg = nullptr) override;
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
bool canSaveGameStateCurrently(Common::U32String *msg = nullptr) override;
+ bool canSaveAutosaveCurrently() override;
+ void savingEnable(bool enable);
// For detection-purposes:
static bool getGameInfo(const Common::FSList &fslist, Common::String &name, Common::String &caption);
private:
@@ -73,6 +75,7 @@ private:
BaseGame *_game;
Wintermute::DebuggerController *_dbgController;
const WMEGameDescription *_gameDescription;
+ bool _savingEnabled{};
friend class Console;
friend class DebuggerController;
More information about the Scummvm-git-logs
mailing list