[Scummvm-git-logs] scummvm master -> 62ea69786ce74ca0784ff2503e2e379d08bde4eb

yuv422 noreply at scummvm.org
Sat Nov 30 21:50:10 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:
62ea69786c DARKSEED: Don't autosave on initial game load


Commit: 62ea69786ce74ca0784ff2503e2e379d08bde4eb
    https://github.com/scummvm/scummvm/commit/62ea69786ce74ca0784ff2503e2e379d08bde4eb
Author: Eric Fry (yuv422 at reversedgames.com)
Date: 2024-12-01T08:46:45+11:00

Commit Message:
DARKSEED: Don't autosave on initial game load

Changed paths:
    engines/darkseed/darkseed.cpp
    engines/darkseed/darkseed.h


diff --git a/engines/darkseed/darkseed.cpp b/engines/darkseed/darkseed.cpp
index aadc49336b3..7d9984efc68 100644
--- a/engines/darkseed/darkseed.cpp
+++ b/engines/darkseed/darkseed.cpp
@@ -58,6 +58,7 @@ Common::String DarkseedEngine::getGameId() const {
 
 Common::Error DarkseedEngine::run() {
 	initGraphics(640, 350);
+	_canSaveGame = false;
 	_sound = new Sound(_mixer);
 	if (_sound->init() > 0) {
 		return Common::kAudioDeviceInitFailed;
@@ -2627,6 +2628,7 @@ void DarkseedEngine::restartGame() {
 }
 
 void DarkseedEngine::newGame() {
+	_canSaveGame = false;
 	_redrawFrame = false;
 	_sprites.clearSpriteDrawList();
 	removeFullscreenPic();
@@ -2647,6 +2649,7 @@ void DarkseedEngine::newGame() {
 	waitForSpeech();
 	_systemTimerCounter = 4;
 	_cursor.showCursor(true);
+	_canSaveGame = true;
 }
 
 void DarkseedEngine::waitForSpeech() {
diff --git a/engines/darkseed/darkseed.h b/engines/darkseed/darkseed.h
index fd0d2c82e9f..9d3d079d942 100644
--- a/engines/darkseed/darkseed.h
+++ b/engines/darkseed/darkseed.h
@@ -85,6 +85,7 @@ class DarkseedEngine : public Engine {
 	bool _normalWorldSpritesLoaded = true;
 	bool _redrawFrame = true;
 	bool _restartGame = false;
+	bool _canSaveGame = false;
 
 	FadeDirection _fadeDirection = FadeDirection::NONE;
 	uint8 _fadeStepCounter = 0;
@@ -208,7 +209,7 @@ public:
 	}
 
 	bool canSaveGameStateCurrently(Common::U32String *msg) override {
-		return !_animation->_isPlayingAnimation_maybe && !_player->_isAutoWalkingToBed && !_player->_heroWaiting && !_cutscene.isPlaying() && !_menu.isOpen();
+		return _canSaveGame && !_animation->_isPlayingAnimation_maybe && !_player->_isAutoWalkingToBed && !_player->_heroWaiting && !_cutscene.isPlaying() && !_menu.isOpen();
 	}
 
 	/**
@@ -228,6 +229,7 @@ public:
 		if (syncResult.getCode() == Common::kNoError) {
 			changeToRoom(_room->_roomNumber);
 		}
+		_canSaveGame = true;
 		return syncResult;
 	}
 




More information about the Scummvm-git-logs mailing list