aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2014-11-03 11:33:33 +0200
committerFilippos Karapetis2014-11-03 11:40:38 +0200
commita82740516c9f973d8beaf1b11dd2f0a8a6beff5e (patch)
tree425676f4bfaac1018373032fda8fdbd8d661bbc5
parent9d6437c01ef4e476fce47d37f4e879b39e830857 (diff)
downloadscummvm-rg350-a82740516c9f973d8beaf1b11dd2f0a8a6beff5e.tar.gz
scummvm-rg350-a82740516c9f973d8beaf1b11dd2f0a8a6beff5e.tar.bz2
scummvm-rg350-a82740516c9f973d8beaf1b11dd2f0a8a6beff5e.zip
GROOVIE: Implement o2_copyscreentobg and o2_copybgtoscreen
-rw-r--r--engines/groovie/script.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp
index 1d4ad0aec9..479ede5ff4 100644
--- a/engines/groovie/script.cpp
+++ b/engines/groovie/script.cpp
@@ -1671,15 +1671,29 @@ void Script::o2_vdxtransition() {
void Script::o2_copyscreentobg() {
uint16 val = readScript16bits();
+ // TODO: Parameter
+ if (val)
+ warning("o2_copyscreentobg: Param is %d", val);
+
+ Graphics::Surface *screen = _vm->_system->lockScreen();
+ _vm->_graphicsMan->_background.copyFrom(screen->getSubArea(Common::Rect(0, 80, 640, 320)));
+ _vm->_system->unlockScreen();
+
debugC(1, kDebugScript, "CopyScreenToBG3: 0x%04X", val);
- error("Unimplemented Opcode 0x4F");
}
void Script::o2_copybgtoscreen() {
uint16 val = readScript16bits();
+ // TODO: Parameter
+ if (val)
+ warning("o2_copybgtoscreen: Param is %d", val);
+
+ Graphics::Surface *screen = _vm->_system->lockScreen();
+ _vm->_graphicsMan->_background.copyRectToSurface(*screen, 0, 80, Common::Rect(0, 0, 640, 320 - 80));
+ _vm->_system->unlockScreen();
+
debugC(1, kDebugScript, "CopyBG3ToScreen: 0x%04X", val);
- error("Unimplemented Opcode 0x50");
}
void Script::o2_setvideoskip() {