aboutsummaryrefslogtreecommitdiff
path: root/gui.cpp
diff options
context:
space:
mode:
authorJames Brown2002-03-16 18:03:28 +0000
committerJames Brown2002-03-16 18:03:28 +0000
commit1d97edb2f9a1ab7cc8209fff7e8a7c76e47bbf8e (patch)
treec878965ac5196c41f7d0f7e0d21fea647ada75f5 /gui.cpp
parentc650f028aacc59e15bddd984e64e5bf6fac0ba4a (diff)
downloadscummvm-rg350-1d97edb2f9a1ab7cc8209fff7e8a7c76e47bbf8e.tar.gz
scummvm-rg350-1d97edb2f9a1ab7cc8209fff7e8a7c76e47bbf8e.tar.bz2
scummvm-rg350-1d97edb2f9a1ab7cc8209fff7e8a7c76e47bbf8e.zip
Update to my latest local tree. Various stuff - and a fixme hack by khalek to stop loom intro crashing.
svn-id: r3765
Diffstat (limited to 'gui.cpp')
-rw-r--r--gui.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/gui.cpp b/gui.cpp
index 2a5dae201d..bc6650fba0 100644
--- a/gui.cpp
+++ b/gui.cpp
@@ -660,26 +660,32 @@ void Gui::getSavegameNames(int start) {
}
}
-const char *Gui::queryString(int string, int id) {
+const char *Gui::queryString(int stringno, int id) {
static char namebuf[64];
- if (!_s->_gameId)
- return "blah!";
-
+ char *result;
+ int string;
if (id>=20 && id<=28) {
sprintf(namebuf, "%2d. %s", id-20+_slotIndex, game_names[id-20]);
return namebuf;
}
- if (string == 0)
+ if (stringno == 0)
return NULL;
- if (_s->_features&GF_AFTER_V6) {
- string = _s->_vars[string_map_table_v6[string-1]];
- } else {
- string = string_map_table_v5[string-1];
- }
+ if (_s->_features&GF_AFTER_V6)
+ string = _s->_vars[string_map_table_v6[stringno-1].num];
+ else
+ string = string_map_table_v5[stringno-1].num;
- return (char*)_s->getStringAddress(string);
+ result = (char*)_s->getStringAddress(string);
+
+ if (!result) // Gracelessly degrade to english :)
+ if (_s->_features&GF_AFTER_V6)
+ return string_map_table_v6[stringno-1].string;
+ else
+ return string_map_table_v5[stringno-1].string;
+
+ return result;
}
void Gui::showCaret(bool show) {