aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/window.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-11-15 13:11:53 +0000
committerTravis Howell2006-11-15 13:11:53 +0000
commitf55320f988a481ee7d92bcce39dfcbbf31d4151a (patch)
tree6579897990f22da2f1386c501613c81df988b89b /engines/agos/window.cpp
parent7b0e6f1489878a4a45b1327f2d1733f561757c0b (diff)
downloadscummvm-rg350-f55320f988a481ee7d92bcce39dfcbbf31d4151a.tar.gz
scummvm-rg350-f55320f988a481ee7d92bcce39dfcbbf31d4151a.tar.bz2
scummvm-rg350-f55320f988a481ee7d92bcce39dfcbbf31d4151a.zip
Add inital pause code for Elvira 1/2 & WW, and cleanup
svn-id: r24723
Diffstat (limited to 'engines/agos/window.cpp')
-rw-r--r--engines/agos/window.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/engines/agos/window.cpp b/engines/agos/window.cpp
index 51aabe9233..eabbca9144 100644
--- a/engines/agos/window.cpp
+++ b/engines/agos/window.cpp
@@ -196,4 +196,45 @@ void AGOSEngine::windowPutChar(uint a) {
windowPutChar(_textWindow, a);
}
+void AGOSEngine::waitWindow(WindowBlock *window) {
+ HitArea *ha;
+ const char *message;
+
+ window->textColumn = (window->width / 2) - 3;
+ window->textRow = window->height - 1;
+ window->textLength = 0;
+
+ message = "[ OK ]";
+ for (; *message; message++)
+ windowPutChar(window, *message);
+
+ ha = findEmptyHitArea();
+ ha->x = 96;
+ ha->y = 62;
+ ha->width = 48;
+ ha->height = 8;
+ ha->flags = kBFBoxInUse;
+ ha->id = 0x7FFF;
+ ha->priority = 999;
+
+ for (;;) {
+ _lastHitArea = NULL;
+ _lastHitArea3 = NULL;
+
+ for (;;) {
+ if (_lastHitArea3 != 0)
+ break;
+ delay(1);
+ }
+
+ ha = _lastHitArea;
+ if (ha == NULL) {
+ } else if (ha->id == 0x7FFF) {
+ break;
+ }
+ }
+
+ undefineBox(0x7FFF);
+}
+
} // End of namespace AGOS