aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray2003-02-21 00:42:51 +0000
committerJonathan Gray2003-02-21 00:42:51 +0000
commitd2ed6d1ace6cb322d3453d6d60efc026f36a3ef3 (patch)
tree575ac6646f9a7aec693ee727269863d9211ee1e6
parentabb308c6db71d4f09736a51995bf0a27ecc3259d (diff)
downloadscummvm-rg350-d2ed6d1ace6cb322d3453d6d60efc026f36a3ef3.tar.gz
scummvm-rg350-d2ed6d1ace6cb322d3453d6d60efc026f36a3ef3.tar.bz2
scummvm-rg350-d2ed6d1ace6cb322d3453d6d60efc026f36a3ef3.zip
add o6_shuffle and stub for o6_localizeArray
svn-id: r6629
-rw-r--r--scumm/intern.h2
-rw-r--r--scumm/script_v6.cpp12
2 files changed, 12 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 71b99544c1..23b1ff78ad 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -375,6 +375,8 @@ protected:
void o6_pickVarRandom();
void o6_getDateTime();
void o6_unknownE0();
+ void o6_localizeArray();
+ void o6_shuffle();
byte VAR_VIDEONAME;
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index a8493cf96e..a4cb3496bd 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -309,7 +309,7 @@ void Scumm_v6::setupOpcodes()
OPCODE(o6_getAnimateVariable),
OPCODE(o6_invalid),
/* D4 */
- OPCODE(o6_invalid),
+ OPCODE(o6_shuffle),
OPCODE(o6_jumpToScript),
OPCODE(o6_band),
OPCODE(o6_bor),
@@ -326,7 +326,7 @@ void Scumm_v6::setupOpcodes()
/* E0 */
OPCODE(o6_unknownE0),
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o6_localizeArray),
OPCODE(o6_pickVarRandom),
/* E4 */
OPCODE(o6_invalid),
@@ -2972,6 +2972,10 @@ static void sub_FEE_7822(int num, int16 arg_1, int16 arg_2) {
};
}
+void Scumm_v6::o6_shuffle() {
+ sub_FEE_7822(fetchScriptWord(), pop(), pop());
+}
+
void Scumm_v6::o6_pickVarRandom() {
warning("void Scumm_v6::o6_pickVarRandom()");
@@ -3049,6 +3053,10 @@ void Scumm_v6::o6_unknownE0() {
return;
}
+void Scumm_v6::o6_localizeArray() {
+ warning("stub localizeArray(%d)", pop());
+}
+
void Scumm_v6::decodeParseString(int m, int n)
{
byte b;