[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.237,2.238 script_v7he.cpp,2.70,2.71 script_v80he.cpp,2.13,2.14 script_v90he.cpp,2.22,2.23

Travis Howell kirben at users.sourceforge.net
Fri Sep 10 17:53:51 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16728/scumm

Modified Files:
	intern.h script_v7he.cpp script_v80he.cpp script_v90he.cpp 
Log Message:

Add stub


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.237
retrieving revision 2.238
diff -u -d -r2.237 -r2.238
--- intern.h	10 Sep 2004 14:31:20 -0000	2.237
+++ intern.h	11 Sep 2004 00:49:22 -0000	2.238
@@ -788,6 +788,7 @@
 
 	
 	/* HE version 80 script opcodes */
+	void o80_unknown45();
 	void o80_unknown49();
 	void o80_unknown4D();
 	void o80_cursorCommand();

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.70
retrieving revision 2.71
diff -u -d -r2.70 -r2.71
--- script_v7he.cpp	10 Sep 2004 10:55:43 -0000	2.70
+++ script_v7he.cpp	11 Sep 2004 00:49:22 -0000	2.71
@@ -506,6 +506,9 @@
 	case 23:
 		debug(1,"o7_startSound: case 29 (%d, %d, %d)", pop(), pop(), pop());
 		break;
+	case 56:
+		_heSndLoop |= 2;
+		break;
 	case 164:
 		_heSndLoop |= 2;
 		break;

Index: script_v80he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v80he.cpp,v
retrieving revision 2.13
retrieving revision 2.14
diff -u -d -r2.13 -r2.14
--- script_v80he.cpp	10 Sep 2004 10:55:43 -0000	2.13
+++ script_v80he.cpp	11 Sep 2004 00:49:22 -0000	2.14
@@ -131,7 +131,7 @@
 		OPCODE(o6_writeWordVar),
 		/* 44 */
 		OPCODE(o6_invalid),
-		OPCODE(o6_invalid),
+		OPCODE(o80_unknown45),
 		OPCODE(o6_invalid),
 		OPCODE(o72_wordArrayWrite),
 		/* 48 */
@@ -378,12 +378,48 @@
 	return _opcodesV80he[i].desc;
 }
 
+void ScummEngine_v80he::o80_unknown45() {
+	// Sound related
+	byte subOp = fetchScriptByte();
+
+	switch (subOp) {
+	case 27:
+		pop();
+		break;
+	case 217:
+		break;
+	case 232:
+		_heSndSoundId = pop();
+		break;
+	case 255:
+		//Case doesn't match disasm.
+		_sound->addSoundToQueue(_heSndSoundId);
+		break;
+	default:
+		warning("o80_unknown45: default type %d", subOp);
+	}
+	debug(1,"o80_unknown45 stub (%d)",subOp);
+}
+
 void ScummEngine_v80he::o80_unknown49() {
-	int a = pop();
-	int b = pop();
+	// Sound related
+	int result = 0;
+	int subOp = pop();
+	int snd = pop();
 
-	push (0);
-	debug(1,"o80_unknown49 stub (%d, %d)", b, a);
+	switch (subOp) {
+	case 0:
+		result = !_sound->isSoundRunning(snd);
+		break;
+	case 1:
+		result = _sound->isSoundRunning(snd); 
+		break;
+	default:
+		warning("o80_unknown49: default type %d", subOp);
+	}
+
+	push (result);
+	debug(1,"o80_unknown49 stub (%d, %d)", subOp, snd);
 }
 
 void ScummEngine_v80he::o80_unknown4D() {

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.22
retrieving revision 2.23
diff -u -d -r2.22 -r2.23
--- script_v90he.cpp	10 Sep 2004 14:31:20 -0000	2.22
+++ script_v90he.cpp	11 Sep 2004 00:49:22 -0000	2.23
@@ -131,7 +131,7 @@
 		OPCODE(o6_writeWordVar),
 		/* 44 */
 		OPCODE(o6_invalid),
-		OPCODE(o6_invalid),
+		OPCODE(o80_unknown45),
 		OPCODE(o6_invalid),
 		OPCODE(o72_wordArrayWrite),
 		/* 48 */





More information about the Scummvm-git-logs mailing list