aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-02-07 04:11:40 +0000
committerTravis Howell2004-02-07 04:11:40 +0000
commita2039576fb698d50c6459d7f2ea66804dcbd33d6 (patch)
tree246d65e987d10b301da3d104b02d438da31bd167 /scumm
parent33dcab8d6c2113d64e26882488a1b48651285476 (diff)
downloadscummvm-rg350-a2039576fb698d50c6459d7f2ea66804dcbd33d6.tar.gz
scummvm-rg350-a2039576fb698d50c6459d7f2ea66804dcbd33d6.tar.bz2
scummvm-rg350-a2039576fb698d50c6459d7f2ea66804dcbd33d6.zip
More stubs
svn-id: r12757
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h2
-rw-r--r--scumm/script_v6he.cpp39
2 files changed, 39 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 64beeb4227..8a7ac5450e 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -589,9 +589,11 @@ protected:
void o6_unknownE4();
void o6_seekFile();
void o6_localizeArray();
+ void o6_unknownEE();
void o6_unknownFA();
void o6_unknownEA();
void o6_readINI();
+ void o6_unknownF9();
};
class ScummEngine_v7 : public ScummEngine_v6 {
diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp
index b068f3cc70..674fe4ec69 100644
--- a/scumm/script_v6he.cpp
+++ b/scumm/script_v6he.cpp
@@ -346,7 +346,7 @@ void ScummEngine_v6he::setupOpcodes() {
/* EC */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o6_unknownEE),
OPCODE(o6_invalid),
/* F0 */
OPCODE(o6_invalid),
@@ -360,7 +360,7 @@ void ScummEngine_v6he::setupOpcodes() {
OPCODE(o6_invalid),
/* F8 */
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o6_unknownF9),
OPCODE(o6_unknownFA),
OPCODE(o6_invalid),
/* FC */
@@ -1187,6 +1187,12 @@ void ScummEngine_v6he::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 ScummEngine_v6he::o6_unknownEE() {
+ int a;
+ a = pop();
+ loadPtrToResource(rtVerb, _curVerbSlot, getStringAddress(a));
+}
+
void ScummEngine_v6he::o6_readINI() {
int len;
@@ -1208,8 +1214,29 @@ void ScummEngine_v6he::o6_localizeArray() {
}
}
+void ScummEngine_v6he::o6_unknownF9() {
+ // File related
+ int len, r;
+ byte filename[100];
+
+ _msgPtrToAdd = filename;
+ _messagePtr = _scriptPointer;
+ addMessageToStack(_messagePtr);
+
+ len = resStrLen(_scriptPointer);
+ _scriptPointer += len + 1;
+
+ for (r = strlen((char*)filename); r != 0; r--) {
+ if (filename[r - 1] == '\\')
+ break;
+ }
+
+ warning("stub o6_unknownF9(\"%s\")", filename + r);
+}
+
void ScummEngine_v6he::decodeParseString(int m, int n) {
byte b;
+ int c;
b = fetchScriptByte();
@@ -1263,6 +1290,14 @@ void ScummEngine_v6he::decodeParseString(int m, int n) {
}
return;
case 0xF9:
+ c = pop();
+ if (c == 1) {
+ _string[m].color = pop();
+ } else {
+ push(c);
+ int args[16];
+ getStackList(args, ARRAYSIZE(args));
+ }
warning("decodeParseString case 0xF9 stub");
return;
case 0xFE: