[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