aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v6.cpp13
-rw-r--r--scumm/script_v6he.cpp31
3 files changed, 9 insertions, 36 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 7ceb997ccc..99fb537630 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -598,7 +598,6 @@ protected:
void o6_writeFile();
void o6_setVolume();
void o6_seekFilePos();
- void o6_unknownE1();
void o6_localizeArray();
void o6_redimArray();
void o6_readFilePos();
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 5b6c5ba6df..cf834cb7d6 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -3040,8 +3040,15 @@ void ScummEngine_v6::o6_getDateTime() {
void ScummEngine_v6::o6_unknownE1() {
// this opcode check ground area in minigame "Asteroid Lander" in the dig
- int y = pop();
- int x = pop();
+ int x, y;
+
+ if (_features & GF_HUMONGOUS) {
+ x = pop();
+ y = pop();
+ } else {
+ y = pop();
+ x = pop();
+ }
if (x > _screenWidth - 1) {
push(-1);
@@ -3057,8 +3064,6 @@ void ScummEngine_v6::o6_unknownE1() {
return;
}
- // FIXME: Actually, there is only one virtscr in V7/V8 games anyway.
- // And topline is always 0 for it.
VirtScreen *vs = findVirtScreen(y);
if (vs == NULL) {
diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp
index 065da9541b..74f4a80486 100644
--- a/scumm/script_v6he.cpp
+++ b/scumm/script_v6he.cpp
@@ -1151,37 +1151,6 @@ void ScummEngine_v6he::o6_setVolume() {
}
}
-void ScummEngine_v6he::o6_unknownE1() {
- int x = pop();
- int y = pop();
-
- if (x > _screenWidth - 1) {
- push(-1);
- return;
- }
- if (x < 0) {
- push(-1);
- return;
- }
-
- if (y < 0) {
- push(-1);
- return;
- }
-
- VirtScreen *vs = findVirtScreen(y);
-
- if (vs == NULL) {
- push(-1);
- return;
- }
-
- int offset = (y - vs->topline) * vs->width + x + _screenLeft;
-
- byte area = *(vs->screenPtr + offset);
- push(area);
-}
-
void ScummEngine_v6he::o6_localizeArray() {
int stringID = pop();