ULTIMA4: Added moon debugger command

This commit is contained in:
Paul Gilbert
2020-04-11 11:42:58 -07:00
parent 5ab8f7d059
commit fee1e8a30c
2 changed files with 30 additions and 2 deletions
+23 -1
View File
@@ -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
+7 -1
View File
@@ -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;