aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2019-09-30 19:11:56 -0700
committerPaul Gilbert2019-09-30 19:11:56 -0700
commitcd6689401691b8f2befd20acbda8080ea896b361 (patch)
tree131b11e5f7a4525781954d74e2172b69609bace9
parentf4b12285d09dbf78c2e636483b0662c4ed400fad (diff)
downloadscummvm-rg350-cd6689401691b8f2befd20acbda8080ea896b361.tar.gz
scummvm-rg350-cd6689401691b8f2befd20acbda8080ea896b361.tar.bz2
scummvm-rg350-cd6689401691b8f2befd20acbda8080ea896b361.zip
GLK: QUEST: Add save and restore commands
-rw-r--r--engines/glk/quest/geas_runner.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/engines/glk/quest/geas_runner.cpp b/engines/glk/quest/geas_runner.cpp
index 665f27d672..3868141cbe 100644
--- a/engines/glk/quest/geas_runner.cpp
+++ b/engines/glk/quest/geas_runner.cpp
@@ -1070,9 +1070,8 @@ void geas_implementation::run_command(String s) {
oss << state;
print_normal(oss.str());
return;
- }
-
- if (s == "undo") {
+
+ } else if (s == "undo") {
if (undo_buffer.size() < 2) {
print_formatted("(No more undo information available!)");
return;
@@ -1081,6 +1080,16 @@ void geas_implementation::run_command(String s) {
state = undo_buffer.peek();
print_formatted("Undone.");
return;
+
+ } else if (s == "save") {
+ if (g_vm->saveGame().getCode() == Common::kNoError)
+ print_formatted("Saved.");
+ return;
+
+ } else if (s == "restore") {
+ if (g_vm->loadGame().getCode() == Common::kNoError)
+ run_command("look");
+ return;
}
if (!state.running)
@@ -1786,7 +1795,7 @@ bool geas_implementation::try_match(String cmd, bool is_internal, bool is_normal
}
if (ci_equal(cmd, "help")) {
- print_formatted("|b|cl|s14Quest Quick Help|xb|cb|s00|n|n|cl|bMoving|xb|cb Press the direction buttons in the 'Compass' pane, or type |bGO NORTH|xb, |bSOUTH|xb, |bE|xb, etc. |xnTo go into a place, type |bGO TO ...|xb . To leave a place, type |bOUT, EXIT|xb or |bLEAVE|xb, or press the '|crOUT|cb' button.|n|cl|bObjects and Characters|xb|cb Use |bTAKE ...|xb, |bGIVE ... TO ...|xb, |bTALK|xb/|bSPEAK TO ...|xb, |bUSE ... ON|xb/|bWITH ...|xb, |bLOOK AT ...|xb, etc.|n|cl|bExit Quest|xb|cb Type |bQUIT|xb to leave Quest.|n|cl|bMisc|xb|cb Type |bABOUT|xb to get information on the current game.");
+ print_formatted("|b|cl|s14Quest Quick Help|xb|cb|s00|n|n|cl|bMoving|xb|cb Type |bGO NORTH|xb, |bSOUTH|xb, |bE|xb, etc. |xnTo go into a place, type |bGO TO ...|xb . To leave a place, type |bOUT, EXIT|xb or |bLEAVE|xb, or press the '|crOUT|cb' button.|n|cl|bObjects and Characters|xb|cb Use |bTAKE ...|xb, |bGIVE ... TO ...|xb, |bTALK|xb/|bSPEAK TO ...|xb, |bUSE ... ON|xb/|bWITH ...|xb, |bLOOK AT ...|xb, etc.|n|cl|bExit Quest|xb|cb Type |bQUIT|xb to leave Quest.|n|cl|bMisc|xb|cb Type |bABOUT|xb to get information on the current game.");
return true;
}