aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2005-02-01 06:37:30 +0000
committerTravis Howell2005-02-01 06:37:30 +0000
commit2bb2e5279b6907ce819925853a123919b6031195 (patch)
tree5b0596035be691a93fd84313dadc990f31917aa0 /scumm
parent7897d0d93d6060265ea4bc7baeae1574a29d3513 (diff)
downloadscummvm-rg350-2bb2e5279b6907ce819925853a123919b6031195.tar.gz
scummvm-rg350-2bb2e5279b6907ce819925853a123919b6031195.tar.bz2
scummvm-rg350-2bb2e5279b6907ce819925853a123919b6031195.zip
More HE100 diffs.
svn-id: r16720
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v100he.cpp34
2 files changed, 34 insertions, 1 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 95590992aa..ccaeb86e67 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -933,6 +933,7 @@ protected:
void o100_unknown28();
void o100_resourceRoutines();
void o100_wizImageOps();
+ void o100_loadSBNG();
void o100_dim2dim2Array();
void o100_paletteOps();
void o100_redimArray();
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp
index f294d6dd51..ea4bbe2ec9 100644
--- a/scumm/script_v100he.cpp
+++ b/scumm/script_v100he.cpp
@@ -69,7 +69,7 @@ void ScummEngine_v100he::setupOpcodes() {
OPCODE(o6_loadRoomWithEgo),
OPCODE(o6_invalid),
OPCODE(o72_setFilePath),
- OPCODE(o6_invalid),
+ OPCODE(o100_loadSBNG),
/* 18 */
OPCODE(o6_cutscene),
OPCODE(o6_pop),
@@ -701,6 +701,27 @@ void ScummEngine_v100he::o100_arrayOps() {
}
}
+void ScummEngine_v100he::o100_loadSBNG() {
+ // Loads SBNG sound resource
+ byte subOp = fetchScriptByte();
+
+ switch (subOp) {
+ case 0:
+ //_heSBNGId = pop();
+ break;
+ case 53:
+ //loadSBNG(_heSBNGId, -1);
+ break;
+ case 128:
+ pop();
+ //loadSBNG(_heSBNGId, pop();
+ break;
+ default:
+ warning("o100_loadSBNG: default case %d", subOp);
+ }
+ debug(1,"o100_loadSBNG stub (%d)",subOp);
+}
+
void ScummEngine_v100he::o100_dim2dimArray() {
int a, b, data;
int type = fetchScriptByte();
@@ -1396,6 +1417,17 @@ void ScummEngine_v100he::o100_startSound() {
_heSndFlags |= 16;
pop();
break;
+ case 55:
+ _heSndFlags |= 8;
+ break;
+ case 83:
+ {
+ int value = pop();
+ int var = pop();
+ int snd = pop();
+ debug(1,"o70_startSound: case 29 (snd %d, var %d, value %d)", snd, var, value);
+ }
+ break;
case 92:
debug(0, "o100_startSound (ID %d, Offset %d, Channel %d, Flags %d)", _heSndSoundId, _heSndOffset, _heSndChannel, _heSndFlags);
_sound->addSoundToQueue(_heSndSoundId, _heSndOffset, _heSndChannel, _heSndFlags);