aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/agos.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-10-09 13:00:25 +0000
committerTravis Howell2006-10-09 13:00:25 +0000
commit82775ed89006f4913fe985c6b6069341ef11634e (patch)
tree22b97df7084aecafbf28df2ed5073de8c8558fcb /engines/agos/agos.cpp
parenta2fb2e47cbbdba4ed6b037f22032dd700cd9f947 (diff)
downloadscummvm-rg350-82775ed89006f4913fe985c6b6069341ef11634e.tar.gz
scummvm-rg350-82775ed89006f4913fe985c6b6069341ef11634e.tar.bz2
scummvm-rg350-82775ed89006f4913fe985c6b6069341ef11634e.zip
Use correct video window values for each game and minor cleanup
svn-id: r24253
Diffstat (limited to 'engines/agos/agos.cpp')
-rw-r--r--engines/agos/agos.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index a147c69a64..2f26acb01b 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -377,6 +377,7 @@ AGOSEngine::AGOSEngine(OSystem *syst)
memset(_displayPalette, 0, sizeof(_displayPalette));
memset(_videoBuf1, 0, sizeof(_videoBuf1));
+ memset(_videoWindows, 0, sizeof(_videoWindows));
_dummyWindow = new WindowBlock;
_windowList = new WindowBlock[16];
@@ -558,6 +559,22 @@ int AGOSEngine::init() {
return 0;
}
+const static uint16 initialVideoWindows_Simon[24] = {
+ 0, 0, 20, 200,
+ 0, 0, 3, 136,
+ 17, 0, 3, 136,
+ 0, 0, 20, 200,
+ 0, 0, 20, 134
+};
+
+const static uint16 initialVideoWindows_Common[24] = {
+ 3, 0, 14, 136,
+ 0, 0, 3, 136,
+ 17, 0, 3, 136,
+ 0, 0, 20, 200,
+ 3, 3, 14, 127,
+};
+
void AGOSEngine::setupGame() {
if (getGameType() == GType_PP) {
gss = PTR(puzzlepack_settings);
@@ -695,6 +712,13 @@ void AGOSEngine::setupGame() {
_noOverWrite = 0xFFFF;
_stringIdLocalMin = 1;
+
+ for (int i = 0; i < 24; i++) {
+ if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2)
+ _videoWindows[i] = initialVideoWindows_Simon[i];
+ else
+ _videoWindows[i] = initialVideoWindows_Common[i];
+ }
}
AGOSEngine::~AGOSEngine() {