aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2012-11-18 16:16:59 +1100
committerPaul Gilbert2012-11-18 16:16:59 +1100
commit67ae9e93069794532f43e43ac0396389a64c13bb (patch)
tree2adf09d65728217b54ce24eed32eda3679c46824 /engines
parent5b7b4bc9dfdaff9cb8b0aa8fd3f3293eb2ae23d9 (diff)
downloadscummvm-rg350-67ae9e93069794532f43e43ac0396389a64c13bb.tar.gz
scummvm-rg350-67ae9e93069794532f43e43ac0396389a64c13bb.tar.bz2
scummvm-rg350-67ae9e93069794532f43e43ac0396389a64c13bb.zip
HOPKINS: Bugfixes for computer screen text
Diffstat (limited to 'engines')
-rw-r--r--engines/hopkins/computer.cpp2
-rw-r--r--engines/hopkins/computer.h7
-rw-r--r--engines/hopkins/font.cpp9
3 files changed, 14 insertions, 4 deletions
diff --git a/engines/hopkins/computer.cpp b/engines/hopkins/computer.cpp
index e43bedfeb2..3c2a0573b9 100644
--- a/engines/hopkins/computer.cpp
+++ b/engines/hopkins/computer.cpp
@@ -93,7 +93,7 @@ void ComputerManager::settextcolor(int col) {
TEXT_COL = col;
}
-void ComputerManager::settextposition(int xp, int yp) {
+void ComputerManager::settextposition(int yp, int xp) {
_textPosition.x = xp << 3;
_textPosition.y = yp << 4;
}
diff --git a/engines/hopkins/computer.h b/engines/hopkins/computer.h
index e781d56e0a..8cccd67197 100644
--- a/engines/hopkins/computer.h
+++ b/engines/hopkins/computer.h
@@ -96,11 +96,12 @@ private:
void settextcolor(int col);
/**
- * Sets the text position
- * @param xp X position
+ * Sets the text position.
* @param yp Y position
+ * @param xp X position
+ * @remarks Yes, the reverse co-ordinate pair is really like that in the original game.
*/
- void settextposition(int xp, int yp);
+ void settextposition(int yp, int xp);
/**
* Outputs a text string
diff --git a/engines/hopkins/font.cpp b/engines/hopkins/font.cpp
index 07a61d94a2..0ddd257939 100644
--- a/engines/hopkins/font.cpp
+++ b/engines/hopkins/font.cpp
@@ -552,6 +552,15 @@ void FontManager::TEXT_COMPUT(int xp, int yp, const Common::String &msg, int col
_vm->_eventsManager.VBL();
_vm->_globals.iRegul = 1;
}
+
+ if (_vm->_eventsManager.ESC_KEY) {
+ _vm->_globals.iRegul = 1;
+ _vm->_eventsManager.VBL();
+ } else {
+ _vm->_globals.iRegul = 4;
+ _vm->_eventsManager.VBL();
+ _vm->_globals.iRegul = 1;
+ }
}
} while (v7);
}