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

dreammaster paulfgilbert at gmail.com
Sat Apr 11 18:43:16 UTC 2020


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:
fee1e8a30c ULTIMA4: Added moon debugger command


Commit: fee1e8a30c3ea52eda0860fcec5fd99c22fed78c
    https://github.com/scummvm/scummvm/commit/fee1e8a30c3ea52eda0860fcec5fd99c22fed78c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-04-11T11:42:58-07:00

Commit Message:
ULTIMA4: Added moon debugger command

Changed paths:
    engines/ultima/ultima4/core/debugger.cpp
    engines/ultima/ultima4/core/debugger.h


diff --git a/engines/ultima/ultima4/core/debugger.cpp b/engines/ultima/ultima4/core/debugger.cpp
index 346d1c4d5a..07ddf4c5f7 100644
--- a/engines/ultima/ultima4/core/debugger.cpp
+++ b/engines/ultima/ultima4/core/debugger.cpp
@@ -36,6 +36,7 @@ Debugger::Debugger() : Shared::Debugger() {
 	g_debugger = this;
 
 	registerCmd("gate", WRAP_METHOD(Debugger, cmdGate));
+	registerCmd("moon", WRAP_METHOD(Debugger, cmdMoon));
 }
 
 Debugger::~Debugger() {
@@ -77,7 +78,28 @@ bool Debugger::cmdGate(int argc, const char **argv) {
 		}
 	}
 
-	return true;
+	return isActive();
+}
+
+bool Debugger::cmdMoon(int argc, const char **argv) {
+	int moonNum;
+
+	if (argc == 2) {
+		moonNum = strToInt(argv[1]);
+		if (moonNum < 0 || moonNum > 7) {
+			print("Invalid moon");
+			return true;
+		}
+	} else {
+		moonNum = (g_ultima->_saveGame->_trammelPhase + 1) & 7;
+	}
+
+	while (g_ultima->_saveGame->_trammelPhase != moonNum)
+		g_game->updateMoons(true);
+	g_game->finishTurn();
+
+	print("Moons advanced");
+	return isActive();
 }
 
 } // End of namespace Ultima4
diff --git a/engines/ultima/ultima4/core/debugger.h b/engines/ultima/ultima4/core/debugger.h
index cf9663e3c6..5dd8055c57 100644
--- a/engines/ultima/ultima4/core/debugger.h
+++ b/engines/ultima/ultima4/core/debugger.h
@@ -40,9 +40,15 @@ private:
 	void print(const char *fmt, ...);
 
 	/**
-	 * Moongate
+	 * Moongate teleportation
 	 */
 	bool cmdGate(int argc, const char **argv);
+
+	/**
+	 * Moon phase
+	 */
+	bool cmdMoon(int argc, const char **argv);
+
 public:
 	Debugger();
 	~Debugger() override;




More information about the Scummvm-git-logs mailing list