aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/archetype/archetype.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2019-11-09 19:42:06 -0800
committerPaul Gilbert2019-11-11 18:20:30 -0800
commitab5939ba443b31cbecb727825346a331a84856a7 (patch)
treeaffcf18b3ef00984796e762c20e7db705d2f7f94 /engines/glk/archetype/archetype.cpp
parent19cc1221f3433a6178e7e0286c4b96e8359d4390 (diff)
downloadscummvm-rg350-ab5939ba443b31cbecb727825346a331a84856a7.tar.gz
scummvm-rg350-ab5939ba443b31cbecb727825346a331a84856a7.tar.bz2
scummvm-rg350-ab5939ba443b31cbecb727825346a331a84856a7.zip
GLK: ARCHETYPE: Fix quitting the game
Diffstat (limited to 'engines/glk/archetype/archetype.cpp')
-rw-r--r--engines/glk/archetype/archetype.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/glk/archetype/archetype.cpp b/engines/glk/archetype/archetype.cpp
index 3792938b8b..395edd6753 100644
--- a/engines/glk/archetype/archetype.cpp
+++ b/engines/glk/archetype/archetype.cpp
@@ -125,7 +125,7 @@ void Archetype::interpret() {
void Archetype::write(const String fmt, ...) {
va_list ap;
va_start(ap, fmt);
- Common::String s = Common::String::format(fmt.c_str(), ap);
+ Common::String s = Common::String::vformat(fmt.c_str(), ap);
va_end(ap);
glk_put_buffer(s.c_str(), s.size());
@@ -134,7 +134,7 @@ void Archetype::write(const String fmt, ...) {
void Archetype::writeln(const String fmt, ...) {
va_list ap;
va_start(ap, fmt);
- Common::String s = Common::String::format(fmt.c_str(), ap);
+ Common::String s = Common::String::vformat(fmt.c_str(), ap);
va_end(ap);
s += '\n';
@@ -826,7 +826,8 @@ void Archetype::exec_stmt(StatementPtr the_stmt, ResultType &result, ContextType
while (iterate_list(the_stmt->_data._write.print_list, np)) {
cleanup(result);
eval_expr((ExprTree)np->data, result, context, RVALUE);
- write_result(result);
+ String line = get_result_string(result);
+ g_vm->write("%s", line.c_str());
}
if (the_stmt->_kind == ST_WRITE) {
@@ -834,7 +835,8 @@ void Archetype::exec_stmt(StatementPtr the_stmt, ResultType &result, ContextType
} else if (the_stmt->_kind == ST_STOP) {
g_vm->writeln();
g_vm->writeln();
- error("%f", VERSION_NUM);
+ g_vm->writeln("%f", VERSION_NUM);
+ g_vm->quitGame();
}
break;