aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/inter_v1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/inter_v1.cpp')
-rw-r--r--engines/gob/inter_v1.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp
index cd3fab944d..64a3b811ea 100644
--- a/engines/gob/inter_v1.cpp
+++ b/engines/gob/inter_v1.cpp
@@ -1877,8 +1877,15 @@ bool Inter_v1::o1_loadSpriteContent(OpFuncParams &params) {
}
bool Inter_v1::o1_copySprite(OpFuncParams &params) {
- _vm->_draw->_sourceSurface = load16();
- _vm->_draw->_destSurface = load16();
+ if (_vm->_global->_inter_execPtr[1] == 0)
+ _vm->_draw->_sourceSurface = load16();
+ else
+ _vm->_draw->_sourceSurface = _vm->_parse->parseValExpr();
+
+ if (_vm->_global->_inter_execPtr[1] == 0)
+ _vm->_draw->_destSurface = load16();
+ else
+ _vm->_draw->_destSurface = _vm->_parse->parseValExpr();
_vm->_draw->_spriteLeft = _vm->_parse->parseValExpr();
_vm->_draw->_spriteTop = _vm->_parse->parseValExpr();