diff options
author | Filippos Karapetis | 2014-11-03 11:33:33 +0200 |
---|---|---|
committer | Filippos Karapetis | 2014-11-03 11:40:38 +0200 |
commit | a82740516c9f973d8beaf1b11dd2f0a8a6beff5e (patch) | |
tree | 425676f4bfaac1018373032fda8fdbd8d661bbc5 | |
parent | 9d6437c01ef4e476fce47d37f4e879b39e830857 (diff) | |
download | scummvm-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.cpp | 18 |
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() { |