aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorJonathan Gray2003-08-28 15:23:23 +0000
committerJonathan Gray2003-08-28 15:23:23 +0000
commit876fe0ac8aa0d94274af02ce38eea9ea3e058d90 (patch)
treee2f00772f833c54cc3939f13285563e245e2ebe5 /scumm
parent62f94f15be6ac784374b771c1324b85b331906f9 (diff)
downloadscummvm-rg350-876fe0ac8aa0d94274af02ce38eea9ea3e058d90.tar.gz
scummvm-rg350-876fe0ac8aa0d94274af02ce38eea9ea3e058d90.tar.bz2
scummvm-rg350-876fe0ac8aa0d94274af02ce38eea9ea3e058d90.zip
add readINI stub (a HEv7 op)
svn-id: r9894
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v6.cpp17
2 files changed, 15 insertions, 3 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 79e8e98f21..942588458a 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -514,6 +514,7 @@ protected:
void o6_shuffle();
void o6_unknownFA();
void o6_unknownEA();
+ void o6_readINI();
byte VAR_VIDEONAME;
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 58b8e3043f..11f068f018 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -346,7 +346,7 @@ void Scumm_v6::setupOpcodes() {
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o6_readINI),
/* F4 */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
@@ -3019,7 +3019,7 @@ void Scumm_v6::o6_unknownEA() {
edi = pop();
esi = pop();
- if (edi == 0) {
+ if ((edi | esi) == 0) {
eax = esi;
esi = edi;
edi = eax;
@@ -3042,6 +3042,17 @@ void Scumm_v6::unknownEA_func(int a, int b, int c, int d, int e) {
warning("unknownEA_func(%d, %d, %d, %d, %d) stub", a, b, c, d, e);
}
+void Scumm_v6::o6_readINI() {
+ int len;
+
+ len = resStrLen(_scriptPointer);
+ warning("stub o6_readINI(\"%s\")", _scriptPointer);
+ _scriptPointer += len + 1;
+ pop();
+ push(0);
+
+}
+
void Scumm_v6::o6_localizeArray() {
warning("stub localizeArray(%d)", pop());
}
@@ -3116,6 +3127,6 @@ void Scumm_v6::decodeParseString(int m, int n) {
_string[m].t_charset = _string[m].charset;
return;
default:
- error("decodeParseString: default case");
+ error("decodeParseString: default case 0x%x", b);
}
}