aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/script_v90he.cpp36
1 files changed, 35 insertions, 1 deletions
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index ffc3e71807..504baa75a1 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -1090,11 +1090,40 @@ void ScummEngine_v90he::o90_unknown27() {
}
void ScummEngine_v90he::o90_unknown28() {
- // Incomplete
byte subOp = fetchScriptByte();
subOp -= 37;
switch (subOp) {
+ case 0:
+ switch (pop()) {
+ case 1:
+ pop();
+ pop();
+ break;
+ case 2:
+ pop();
+ break;
+ case 3:
+ pop();
+ break;
+ case 4:
+ pop();
+ break;
+ case 5:
+ break;
+ case 6:
+ pop();
+ break;
+ case 7:
+ pop();
+ break;
+ case 8:
+ pop();
+ break;
+ default:
+ error("o90_unknown28 subOp 38: Unknown case %d", subOp);
+ }
+ break;
case 5:
pop();
pop();
@@ -1109,6 +1138,9 @@ void ScummEngine_v90he::o90_unknown28() {
case 20:
pop();
break;
+ case 26:
+ pop();
+ break;
case 28:
pop();
pop();
@@ -1119,6 +1151,8 @@ void ScummEngine_v90he::o90_unknown28() {
pop();
pop();
break;
+ case 56:
+ break;
case 180:
break;
default: