[Scummvm-git-logs] scummvm master -> fec7b237febc9d98c5ec864abe10ff69bb7850a1

dreammaster paulfgilbert at gmail.com
Sat May 9 05:24:12 UTC 2020


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
2166d5853f ULTIMA4: Fix quit action
fec7b237fe ULTIMA4: Cleaner can save currently check


Commit: 2166d5853f723de06478105a1dea612d807d0021
    https://github.com/scummvm/scummvm/commit/2166d5853f723de06478105a1dea612d807d0021
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-05-08T22:23:28-07:00

Commit Message:
ULTIMA4: Fix quit action

Changed paths:
    engines/ultima/ultima4/core/debugger.cpp
    engines/ultima/ultima4/events/event_handler.cpp


diff --git a/engines/ultima/ultima4/core/debugger.cpp b/engines/ultima/ultima4/core/debugger.cpp
index 83cbbe3d15..2d8ccbbe7c 100644
--- a/engines/ultima/ultima4/core/debugger.cpp
+++ b/engines/ultima/ultima4/core/debugger.cpp
@@ -908,13 +908,14 @@ bool Debugger::cmdPeer(int argc, const char **argv) {
 bool Debugger::cmdQuitAndSave(int argc, const char **argv) {
 	print("Quit & Save...\n%d moves", g_ultima->_saveGame->_moves);
 	if (g_context->_location->_context & CTX_CAN_SAVE_GAME) {
-		if (g_ultima->saveGameDialog())
-			print("Press Alt-x to quit");
+		(void)g_ultima->saveGameDialog();
+		g_ultima->quitGame();
+
+		return false;
 	} else {
 		print("%cNot here!%c", FG_GREY, FG_WHITE);
+		return isDebuggerActive();
 	}
-
-	return isDebuggerActive();
 }
 
 bool Debugger::cmdReadyWeapon(int argc, const char **argv) {
diff --git a/engines/ultima/ultima4/events/event_handler.cpp b/engines/ultima/ultima4/events/event_handler.cpp
index 830ffaea18..2354af7a57 100644
--- a/engines/ultima/ultima4/events/event_handler.cpp
+++ b/engines/ultima/ultima4/events/event_handler.cpp
@@ -149,7 +149,7 @@ void EventHandler::run() {
 		(*_updateScreen)();
 	g_screen->update();
 
-	while (!_ended && !_controllerDone) {
+	while (!_ended && !_controllerDone && !g_ultima->shouldQuit()) {
 		Common::Event event;
 		if (g_system->getEventManager()->pollEvent(event)) {
 			switch (event.type) {


Commit: fec7b237febc9d98c5ec864abe10ff69bb7850a1
    https://github.com/scummvm/scummvm/commit/fec7b237febc9d98c5ec864abe10ff69bb7850a1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-05-08T22:23:28-07:00

Commit Message:
ULTIMA4: Cleaner can save currently check

Changed paths:
    engines/ultima/ultima4/ultima4.cpp


diff --git a/engines/ultima/ultima4/ultima4.cpp b/engines/ultima/ultima4/ultima4.cpp
index aebc1bacaf..f9f16f7695 100644
--- a/engines/ultima/ultima4/ultima4.cpp
+++ b/engines/ultima/ultima4/ultima4.cpp
@@ -204,10 +204,7 @@ void Ultima4Engine::setToJourneyOnwards() {
 
 bool Ultima4Engine::canSaveGameStateCurrently(bool isAutosave) {
 	return g_game != nullptr && g_context != nullptr && eventHandler->getController() == g_game
-		&& (
-			!g_context->_location->_prev ||
-			(g_context->_location->_context & (CTX_DUNGEON | CTX_COMBAT)) == CTX_DUNGEON
-		);
+		&& (g_context->_location->_context & CTX_CAN_SAVE_GAME);
 }
 
 Common::Error Ultima4Engine::saveGameState(int slot, const Common::String &desc, bool isAutosave) {




More information about the Scummvm-git-logs mailing list