From a82740516c9f973d8beaf1b11dd2f0a8a6beff5e Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 3 Nov 2014 11:33:33 +0200 Subject: GROOVIE: Implement o2_copyscreentobg and o2_copybgtoscreen --- engines/groovie/script.cpp | 18 ++++++++++++++++-- 1 file 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() { -- cgit v1.2.3