aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/screen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/screen.cpp')
-rw-r--r--engines/xeen/screen.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/xeen/screen.cpp b/engines/xeen/screen.cpp
index bb2f356f1b..3b3ea6969b 100644
--- a/engines/xeen/screen.cpp
+++ b/engines/xeen/screen.cpp
@@ -481,5 +481,21 @@ void Screen::restoreBackground(int slot) {
_savedScreens[slot - 1].blitTo(*this);
}
+void Screen::frameWindow(uint bgType) {
+ if (bgType >= 4)
+ return;
+
+ if (bgType == 0) {
+ // Totally black background
+ _vm->_screen->fillRect(Common::Rect(8, 8, 224, 140), 0);
+ } else {
+ const byte *lookup = BACKGROUND_XLAT + bgType;
+ for (int yp = 8; yp < 140; ++yp) {
+ byte *destP = (byte *)_vm->_screen->getBasePtr(8, yp);
+ for (int xp = 8; xp < 224; ++xp, ++destP)
+ *destP = lookup[*destP];
+ }
+ }
+}
} // End of namespace Xeen