aboutsummaryrefslogtreecommitdiff
path: root/engines/gob
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob')
-rw-r--r--engines/gob/inter.h1
-rw-r--r--engines/gob/inter_bargon.cpp2
-rw-r--r--engines/gob/inter_v1.cpp12
-rw-r--r--engines/gob/inter_v2.cpp19
-rw-r--r--engines/gob/inter_v3.cpp2
-rw-r--r--engines/gob/inter_v4.cpp2
-rw-r--r--engines/gob/inter_v5.cpp2
-rw-r--r--engines/gob/inter_v6.cpp2
8 files changed, 15 insertions, 27 deletions
diff --git a/engines/gob/inter.h b/engines/gob/inter.h
index d6793a2fb3..5670e2f0da 100644
--- a/engines/gob/inter.h
+++ b/engines/gob/inter.h
@@ -388,7 +388,6 @@ protected:
bool o2_addCollision(OpFuncParams &params);
bool o2_freeCollision(OpFuncParams &params);
bool o2_goblinFunc(OpFuncParams &params);
- bool o2_createSprite(OpFuncParams &params);
bool o2_stopSound(OpFuncParams &params);
bool o2_loadSound(OpFuncParams &params);
bool o2_getFreeMem(OpFuncParams &params);
diff --git a/engines/gob/inter_bargon.cpp b/engines/gob/inter_bargon.cpp
index db4d163a88..154dbee603 100644
--- a/engines/gob/inter_bargon.cpp
+++ b/engines/gob/inter_bargon.cpp
@@ -492,7 +492,7 @@ void Inter_Bargon::setupOpcodes() {
/* 24 */
OPCODE(o1_putPixel),
OPCODE(o2_goblinFunc),
- OPCODE(o2_createSprite),
+ OPCODE(o1_createSprite),
OPCODE(o1_freeSprite),
/* 28 */
{NULL, ""},
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp
index b250488dd2..b6b82662bc 100644
--- a/engines/gob/inter_v1.cpp
+++ b/engines/gob/inter_v1.cpp
@@ -1821,9 +1821,15 @@ bool Inter_v1::o1_createSprite(OpFuncParams &params) {
int16 width, height;
int16 flag;
- index = load16();
- width = load16();
- height = load16();
+ if (_vm->_global->_inter_execPtr[1] == 0) {
+ index = load16();
+ width = load16();
+ height = load16();
+ } else {
+ index = _vm->_parse->parseValExpr();
+ width = _vm->_parse->parseValExpr();
+ height = _vm->_parse->parseValExpr();
+ }
flag = load16();
_vm->_draw->initSpriteSurf(index, width, height, flag ? 2 : 0);
diff --git a/engines/gob/inter_v2.cpp b/engines/gob/inter_v2.cpp
index 0c61361cc3..2b780f96b1 100644
--- a/engines/gob/inter_v2.cpp
+++ b/engines/gob/inter_v2.cpp
@@ -500,7 +500,7 @@ void Inter_v2::setupOpcodes() {
/* 24 */
OPCODE(o1_putPixel),
OPCODE(o2_goblinFunc),
- OPCODE(o2_createSprite),
+ OPCODE(o1_createSprite),
OPCODE(o1_freeSprite),
/* 28 */
{NULL, ""},
@@ -1852,23 +1852,6 @@ bool Inter_v2::o2_goblinFunc(OpFuncParams &params) {
return false;
}
-bool Inter_v2::o2_createSprite(OpFuncParams &params) {
- int16 index;
- int16 width, height;
- int16 flag;
-
- index = load16();
- width = load16();
- height = load16();
-
- _vm->_draw->adjustCoords(0, &width, &height);
-
- flag = load16();
- _vm->_draw->initSpriteSurf(index, width, height, flag);
-
- return false;
-}
-
bool Inter_v2::o2_stopSound(OpFuncParams &params) {
int16 expr;
diff --git a/engines/gob/inter_v3.cpp b/engines/gob/inter_v3.cpp
index 899a749f08..131b15fc37 100644
--- a/engines/gob/inter_v3.cpp
+++ b/engines/gob/inter_v3.cpp
@@ -489,7 +489,7 @@ void Inter_v3::setupOpcodes() {
/* 24 */
OPCODE(o1_putPixel),
OPCODE(o2_goblinFunc),
- OPCODE(o2_createSprite),
+ OPCODE(o1_createSprite),
OPCODE(o1_freeSprite),
/* 28 */
{NULL, ""},
diff --git a/engines/gob/inter_v4.cpp b/engines/gob/inter_v4.cpp
index 2b02c942a4..03b5e902e9 100644
--- a/engines/gob/inter_v4.cpp
+++ b/engines/gob/inter_v4.cpp
@@ -490,7 +490,7 @@ void Inter_v4::setupOpcodes() {
/* 24 */
OPCODE(o1_putPixel),
OPCODE(o2_goblinFunc),
- OPCODE(o2_createSprite),
+ OPCODE(o1_createSprite),
OPCODE(o1_freeSprite),
/* 28 */
{NULL, ""},
diff --git a/engines/gob/inter_v5.cpp b/engines/gob/inter_v5.cpp
index fb0bd85c39..c1bef2a85d 100644
--- a/engines/gob/inter_v5.cpp
+++ b/engines/gob/inter_v5.cpp
@@ -444,7 +444,7 @@ void Inter_v5::setupOpcodes() {
/* 24 */
OPCODE(o1_putPixel),
OPCODE(o2_goblinFunc),
- OPCODE(o2_createSprite),
+ OPCODE(o1_createSprite),
OPCODE(o1_freeSprite),
/* 28 */
{NULL, ""},
diff --git a/engines/gob/inter_v6.cpp b/engines/gob/inter_v6.cpp
index 5234db33b0..54d4074cc0 100644
--- a/engines/gob/inter_v6.cpp
+++ b/engines/gob/inter_v6.cpp
@@ -423,7 +423,7 @@ void Inter_v6::setupOpcodes() {
/* 24 */
OPCODE(o1_putPixel),
OPCODE(o2_goblinFunc),
- OPCODE(o2_createSprite),
+ OPCODE(o1_createSprite),
OPCODE(o1_freeSprite),
/* 28 */
{NULL, ""},