diff options
author | Travis Howell | 2004-02-07 04:11:40 +0000 |
---|---|---|
committer | Travis Howell | 2004-02-07 04:11:40 +0000 |
commit | a2039576fb698d50c6459d7f2ea66804dcbd33d6 (patch) | |
tree | 246d65e987d10b301da3d104b02d438da31bd167 /scumm | |
parent | 33dcab8d6c2113d64e26882488a1b48651285476 (diff) | |
download | scummvm-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.h | 2 | ||||
-rw-r--r-- | scumm/script_v6he.cpp | 39 |
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: |