[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.185,2.186 script_v72he.cpp,2.1,2.2 script_v7he.cpp,2.42,2.43

Travis Howell kirben at users.sourceforge.net
Mon Aug 23 04:21:35 CEST 2004


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

Modified Files:
	intern.h script_v72he.cpp script_v7he.cpp 
Log Message:

Re-order opcodes


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.185
retrieving revision 2.186
diff -u -d -r2.185 -r2.186
--- intern.h	23 Aug 2004 10:59:53 -0000	2.185
+++ intern.h	23 Aug 2004 11:20:25 -0000	2.186
@@ -620,18 +620,17 @@
 	byte stringLen(byte *);
 
 	/* Version 7 script opcodes */
-	void o7_getString();
+	void o7_cursorCommand();
+	void o7_startSound();
+	void o7_pickupObject();
+	void o7_getActorRoom();
+	void o7_quitPauseRestart();
 	void o7_stringLen();
 	void o7_readINI();
 	void o7_unknownF4();
 	void o7_unknownF9();
 	void o7_unknownFA();
 	void o7_unknownFB();
-	void o7_quitPauseRestart();
-	void o7_getActorRoom();
-	void o7_pickupObject();
-	void o7_startSound();
-	void o7_cursorCommand();
 };
 
 class ScummEngine_v72he : public ScummEngine_v7he {
@@ -659,17 +658,18 @@
 	void o7_getString();
 	void o7_objectX();
 	void o7_objectY();
+	void o7_startScript();
+	void o7_startObject();
+	void o7_unknown63();
+	void o7_arrayOps();
+	void o7_dimArray();
+	void o7_dim2dimArray();
+	void o7_jumpToScript();
 	void o7_stringLen();
 	void o7_readINI();
 	void o7_unknownF4();
 	void o7_unknownFA();
 	void o7_unknownFB();
-	void o7_arrayOps();
-	void o7_dimArray();
-	void o7_jumpToScript();
-	void o7_startScript();
-	void o7_unknown63();
-	void o7_dim2dimArray();
 };
 
 class ScummEngine_v7 : public ScummEngine_v6 {

Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.1
retrieving revision 2.2
diff -u -d -r2.1 -r2.2
--- script_v72he.cpp	23 Aug 2004 10:34:50 -0000	2.1
+++ script_v72he.cpp	23 Aug 2004 11:20:25 -0000	2.2
@@ -166,7 +166,7 @@
 		OPCODE(o7_startScript),
 		OPCODE(o6_startScriptQuick),
 		/* 60 */
-		OPCODE(o6_startObject),
+		OPCODE(o7_startObject),
 		OPCODE(o6_drawObject),
 		OPCODE(o6_drawObjectAt),
 		OPCODE(o7_unknown63),
@@ -380,6 +380,16 @@
 }
 
 
+void ScummEngine_v72he::o7_getString() {
+	int len;
+	
+	len = resStrLen(_scriptPointer);
+	warning("stub o7_getString(\"%s\")", _scriptPointer);
+	_scriptPointer += len;
+	fetchScriptWord();
+	fetchScriptWord();
+}
+
 void ScummEngine_v72he::o7_objectX() {
 	int object = pop();
 	int objnum = getObjectIndex(object);
@@ -405,14 +415,31 @@
 	push(_objs[objnum].y_pos);
 }
 
-void ScummEngine_v72he::o7_getString() {
-	int len;
+void ScummEngine_v72he::o7_startScript() {
+	if (_heversion <= 71) {
+		ScummEngine_v6::o6_startScript();
+		return;
+	}
+
+	int args[16];
+	int script, flags;
+
+	getStackList(args, ARRAYSIZE(args));
+	script = pop();
+	flags = fetchScriptByte();
 	
-	len = resStrLen(_scriptPointer);
-	warning("stub o7_getString(\"%s\")", _scriptPointer);
-	_scriptPointer += len;
-	fetchScriptWord();
-	fetchScriptWord();
+	runScript(script, (flags == 199 || flags == 200), (flags == 195 || flags == 200), args);
+}
+
+void ScummEngine_v72he::o7_startObject() {
+	int args[16];
+	int script, entryp;
+	int flags;
+	getStackList(args, ARRAYSIZE(args));
+	entryp = pop();
+	script = pop();
+	flags = fetchScriptByte();
+	runObjectScript(script, entryp, (flags == 199 || flags == 200), (flags == 195 || flags == 200), args);
 }
 
 void ScummEngine_v72he::o7_unknown63() {
@@ -421,8 +448,134 @@
 	push(1);
 }
 
-void ScummEngine_v72he::o7_unknownFA() {
-	warning("stub o7_unknownFA(%d)", fetchScriptByte());
+void ScummEngine_v72he::o7_arrayOps() {
+	byte subOp = fetchScriptByte();
+	int array = fetchScriptWord();
+	int b, c, d, len;
+	ArrayHeader *ah;
+	int list[128];
+
+	switch (subOp) {
+	case 7:			// SO_ASSIGN_STRING
+		len = resStrLen(_scriptPointer);
+		ah = defineArray(array, kStringArray, 0, len + 1);
+		copyScriptString(ah->data);
+		break;
+	case 205:		// SO_ASSIGN_STRING
+		b = pop();
+		len = resStrLen(_scriptPointer);
+		ah = defineArray(array, kStringArray, 0, len + 1);
+		copyScriptString(ah->data + b);
+		break;
+	case 208:		// SO_ASSIGN_INT_LIST
+		b = pop();
+		c = pop();
+		d = readVar(array);
+		if (d == 0) {
+			defineArray(array, kIntArray, 0, b + c);
+		}
+		while (c--) {
+			writeArray(array, 0, b + c, pop());
+		}
+		break;
+	case 212:		// SO_ASSIGN_2DIM_LIST
+		b = pop();
+		len = getStackList(list, ARRAYSIZE(list));
+		d = readVar(array);
+		if (d == 0)
+			error("Must DIM a two dimensional array before assigning");
+		c = pop();
+		while (--len >= 0) {
+			writeArray(array, c, b + len, list[len]);
+		}
+		break;
+	default:
+		error("o7_arrayOps: default case %d (array %d)", subOp, array);
+	}
+}
+
+void ScummEngine_v72he::o7_dimArray() {
+	if (_heversion <= 71) {
+		ScummEngine_v6::o6_dimArray();
+		return;
+	}
+
+	int data;
+	int type = fetchScriptByte();
+
+	switch (type) {
+	case 5:		// SO_INT_ARRAY
+		data = kIntArray;
+		break;
+	case 2:		// SO_BIT_ARRAY
+		data = kBitArray;
+		break;
+	case 3:		// SO_NIBBLE_ARRAY
+		data = kNibbleArray;
+		break;
+	case 4:		// SO_BYTE_ARRAY
+		data = kByteArray;
+		break;
+	case 7:		// SO_STRING_ARRAY
+		data = kStringArray;
+		break;
+	case 204:		// SO_UNDIM_ARRAY
+		nukeArray(fetchScriptWord());
+		return;
+	default:
+		error("o7_dimArray: default case %d", type);
+	}
+
+	defineArray(fetchScriptWord(), data, 0, pop());
+}
+
+
+void ScummEngine_v72he::o7_dim2dimArray() {
+	if (_heversion <= 71) {
+		ScummEngine_v6::o6_dim2dimArray();
+		return;
+	}
+
+	int a, b, data;
+	int type = fetchScriptByte();
+	switch (type - 2) {
+	case 0:		// SO_INT_ARRAY
+		data = kIntArray;
+		break;
+	case 1:		// SO_BIT_ARRAY
+		data = kBitArray;
+		break;
+	case 2:		// SO_NIBBLE_ARRAY
+		data = kNibbleArray;
+		break;
+	case 3:		// SO_BYTE_ARRAY
+		data = kByteArray;
+		break;
+	case 4:		// SO_STRING_ARRAY
+		data = kStringArray;
+		break;
+	default:
+		error("o7_dim2dimArray: default case %d", type);
+	}
+
+	b = pop();
+	a = pop();
+	defineArray(fetchScriptWord(), data, a, b);
+}
+
+void ScummEngine_v72he::o7_jumpToScript() {
+	if (_heversion <= 71) {
+		ScummEngine_v6::o6_jumpToScript();
+		return;
+	}
+	int args[16];
+	int script, flags;
+
+	getStackList(args, ARRAYSIZE(args));
+	script = pop();
+	flags = fetchScriptByte();
+	stopObjectCode();
+	runScript(script, (flags == 199 || flags == 200), (flags == 195 || flags == 200), args);
 }
 
 void ScummEngine_v72he::o7_stringLen() {
@@ -485,6 +638,10 @@
 	warning("o7_unknownF4 stub");
 }
 
+void ScummEngine_v72he::o7_unknownFA() {
+	warning("stub o7_unknownFA(%d)", fetchScriptByte());
+}
+
 void ScummEngine_v72he::o7_unknownFB() {
 	byte b;
 	b = fetchScriptByte();
@@ -510,149 +667,4 @@
 	warning("o7_unknownFB stub");
 }
 
-void ScummEngine_v72he::o7_dim2dimArray() {
-	if (_heversion <= 71) {
-		ScummEngine_v6::o6_dim2dimArray();
-		return;
-	}
-
-	int a, b, data;
-	int type = fetchScriptByte();
-	switch (type - 2) {
-	case 0:		// SO_INT_ARRAY
-		data = kIntArray;
-		break;
-	case 1:		// SO_BIT_ARRAY
-		data = kBitArray;
-		break;
-	case 2:		// SO_NIBBLE_ARRAY
-		data = kNibbleArray;
-		break;
-	case 3:		// SO_BYTE_ARRAY
-		data = kByteArray;
-		break;
-	case 4:		// SO_STRING_ARRAY
-		data = kStringArray;
-		break;
-	default:
-		error("o7_dim2dimArray: default case %d", type);
-	}
-
-	b = pop();
-	a = pop();
-	defineArray(fetchScriptWord(), data, a, b);
-}
-
-void ScummEngine_v72he::o7_dimArray() {
-	if (_heversion <= 71) {
-		ScummEngine_v6::o6_dimArray();
-		return;
-	}
-
-	int data;
-	int type = fetchScriptByte();
-
-	switch (type) {
-	case 5:		// SO_INT_ARRAY
-		data = kIntArray;
-		break;
-	case 2:		// SO_BIT_ARRAY
-		data = kBitArray;
-		break;
-	case 3:		// SO_NIBBLE_ARRAY
-		data = kNibbleArray;
-		break;
-	case 4:		// SO_BYTE_ARRAY
-		data = kByteArray;
-		break;
-	case 7:		// SO_STRING_ARRAY
-		data = kStringArray;
-		break;
-	case 204:		// SO_UNDIM_ARRAY
-		nukeArray(fetchScriptWord());
-		return;
-	default:
-		error("o7_dimArray: default case %d", type);
-	}
-
-	defineArray(fetchScriptWord(), data, 0, pop());
-}
-
-void ScummEngine_v72he::o7_arrayOps() {
-	byte subOp = fetchScriptByte();
-	int array = fetchScriptWord();
-	int b, c, d, len;
-	ArrayHeader *ah;
-	int list[128];
-
-	switch (subOp) {
-	case 7:			// SO_ASSIGN_STRING
-		len = resStrLen(_scriptPointer);
-		ah = defineArray(array, kStringArray, 0, len + 1);
-		copyScriptString(ah->data);
-		break;
-	case 205:		// SO_ASSIGN_STRING
-		b = pop();
-		len = resStrLen(_scriptPointer);
-		ah = defineArray(array, kStringArray, 0, len + 1);
-		copyScriptString(ah->data + b);
-		break;
-	case 208:		// SO_ASSIGN_INT_LIST
-		b = pop();
-		c = pop();
-		d = readVar(array);
-		if (d == 0) {
-			defineArray(array, kIntArray, 0, b + c);
-		}
-		while (c--) {
-			writeArray(array, 0, b + c, pop());
-		}
-		break;
-	case 212:		// SO_ASSIGN_2DIM_LIST
-		b = pop();
-		len = getStackList(list, ARRAYSIZE(list));
-		d = readVar(array);
-		if (d == 0)
-			error("Must DIM a two dimensional array before assigning");
-		c = pop();
-		while (--len >= 0) {
-			writeArray(array, c, b + len, list[len]);
-		}
-		break;
-	default:
-		error("o7_arrayOps: default case %d (array %d)", subOp, array);
-	}
-}
-
-void ScummEngine_v72he::o7_jumpToScript() {
-	if (_heversion <= 71) {
-		ScummEngine_v6::o6_jumpToScript();
-		return;
-	}
-	int args[16];
-	int script, flags;
-
-	getStackList(args, ARRAYSIZE(args));
-	script = pop();
-	flags = fetchScriptByte();
-	stopObjectCode();
-	runScript(script, (flags == 199 || flags == 200), (flags == 195 || flags == 200), args);
-}
-
-void ScummEngine_v72he::o7_startScript() {
-	if (_heversion <= 71) {
-		ScummEngine_v6::o6_startScript();
-		return;
-	}
-
-	int args[16];
-	int script, flags;
-
-	getStackList(args, ARRAYSIZE(args));
-	script = pop();
-	flags = fetchScriptByte();
-	
-	runScript(script, (flags == 199 || flags == 200), (flags == 195 || flags == 200), args);
-}
-
 } // End of namespace Scumm

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.42
retrieving revision 2.43
diff -u -d -r2.42 -r2.43
--- script_v7he.cpp	23 Aug 2004 10:34:50 -0000	2.42
+++ script_v7he.cpp	23 Aug 2004 11:20:25 -0000	2.43
@@ -386,31 +386,6 @@
 }
 
 
-void ScummEngine_v7he::o7_unknownFA() {
-	int num = fetchScriptByte();
-	int len = resStrLen(_scriptPointer);
-	warning("stub o7_unknownFA(%d, \"%s\")", num, _scriptPointer);
-	_scriptPointer += len + 1;
-}
-
-void ScummEngine_v7he::o7_stringLen() {
-	int a, len;
-	byte *addr;
-
-	a = pop();
-
-	addr = getStringAddress(a);
-	if (!addr) {
-		// FIXME: should be error here
-		warning("o7_stringLen: Reference to zeroed array pointer (%d)", a);
-		push(0);
-		return;
-	}
-
-	len = stringLen(addr);
-	push(len);
-}
-
 byte ScummEngine_v7he::stringLen(byte *ptr) {
 	byte len;
 	byte c;
@@ -438,6 +413,185 @@
 	return len;
 }
 
+void ScummEngine_v7he::o7_cursorCommand() {
+	int a, i;
+	int args[16];
+	int subOp = fetchScriptByte();
+
+	switch (subOp) {
+	case 0x90:		// SO_CURSOR_ON Turn cursor on
+		_cursor.state = 1;
+		verbMouseOver(0);
+		break;
+	case 0x91:		// SO_CURSOR_OFF Turn cursor off
+		_cursor.state = 0;
+		verbMouseOver(0);
+		break;
+	case 0x92:		// SO_USERPUT_ON
+		_userPut = 1;
+		break;
+	case 0x93:		// SO_USERPUT_OFF
+		_userPut = 0;
+		break;
+	case 0x94:		// SO_CURSOR_SOFT_ON Turn soft cursor on
+		_cursor.state++;
+		if (_cursor.state > 1)
+			error("Cursor state greater than 1 in script");
+		verbMouseOver(0);
+		break;
+	case 0x95:		// SO_CURSOR_SOFT_OFF Turn soft cursor off
+		_cursor.state--;
+		verbMouseOver(0);
+		break;
+	case 0x96:		// SO_USERPUT_SOFT_ON
+		_userPut++;
+		break;
+	case 0x97:		// SO_USERPUT_SOFT_OFF
+		_userPut--;
+		break;
+	case 0x99: 		// SO_CURSOR_IMAGE Set cursor image
+		_Win32ResExtractor->setCursor(pop()); 				/* Difference */
+		break;
+	case 0x9A:		// SO_CURSOR_HOTSPOT Set cursor hotspot
+		a = pop();
+		setCursorHotspot(pop(), a);
+		break;
+	case 0x9C:		// SO_CHARSET_SET
+		initCharset(pop());
+		break;
+	case 0x9D:		// SO_CHARSET_COLOR
+		getStackList(args, ARRAYSIZE(args));
+		for (i = 0; i < 16; i++)
+			_charsetColorMap[i] = _charsetData[_string[1]._default.charset][i] = (unsigned char)args[i];
+		break;
+	case 0xD6:		// SO_CURSOR_TRANSPARENT Set cursor transparent color
+		setCursorTransparency(pop());
+		break;
+	default:
+		error("o7_cursorCommand: default case %x", subOp);
+	}
+
+	VAR(VAR_CURSORSTATE) = _cursor.state;
+	VAR(VAR_USERPUT) = _userPut;
+}
+
+void ScummEngine_v7he::o7_startSound() {
+	byte op;
+	op = fetchScriptByte();
+
+	switch (op) {
+	case 224:
+		_heSndSoundFreq = pop();
+		break;
+
+	case 230:
+		_heSndTimer = pop();
+		break;
+
+	case 231:
+		_heSndOffset = pop();
+		break;
+
+	case 232:
+		_heSndSoundId = pop();
+		_heSndOffset = 0;
+		_heSndSoundFreq = 11025;
+		_heSndTimer = VAR(VAR_MUSIC_TIMER);
+		break;
+
+	case 245:
+		_heSndLoop |= 1;
+		break;
+
+	case 255:
+		// _sound->addSoundToQueue(_heSndSoundId, _heSndOffset, _heSndTimer, _heSndLoop);
+		_sound->addSoundToQueue(_heSndSoundId, _heSndOffset);
+		debug(2, "o7_startSound stub (%d, %d, %d, %d)", _heSndSoundId, _heSndOffset, _heSndTimer, _heSndLoop);
+		_heSndLoop = 0;
+		break;
+
+	default:
+		break;
+	}
+}
+
+void ScummEngine_v7he::o7_pickupObject() {
+	int obj, room;
+
+	room = pop();
+	obj = pop();
+	if (room == 0)
+		room = getObjectRoom(obj);
+
+	addObjectToInventory(obj, room);
+	putOwner(obj, VAR(VAR_EGO));
+	putClass(obj, kObjectClassUntouchable, 1);
+	putState(obj, 1);
+	markObjectRectAsDirty(obj);
+	clearDrawObjectQueue();
+	runInventoryScript(obj);									/* Difference */
+}
+
+
+void ScummEngine_v7he::o7_getActorRoom() {
+	int act = pop();
+
+	if (act < _numActors) {
+		Actor *a = derefActor(act, "o7_getActorRoom");
+		push(a->room);
+	} else
+		push(getObjectRoom(act));
+}
+
+void ScummEngine_v7he::o7_quitPauseRestart() {
+	byte subOp = fetchScriptByte();
+	int par1;
+
+	switch (subOp & 0xff) {
+	case 158:		// SO_RESTART
+		restart();
+		break;
+	case 160:
+		// FIXME: check
+		shutDown();
+		break;
+	case 250:
+		par1 = pop();
+		warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
+		break;
+	case 253:
+		par1 = pop();
+		warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
+	case 244:		// SO_QUIT
+		shutDown();
+		break;
+	case 251:
+	case 252:
+		warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
+		break;
+	default:
+		error("o7_quitPauseRestart invalid case %d", subOp);
+	}
+}
+
+void ScummEngine_v7he::o7_stringLen() {
+	int a, len;
+	byte *addr;
+
+	a = pop();
+
+	addr = getStringAddress(a);
+	if (!addr) {
+		// FIXME: should be error here
+		warning("o7_stringLen: Reference to zeroed array pointer (%d)", a);
+		push(0);
+		return;
+	}
+
+	len = stringLen(addr);
+	push(len);
+}
+
 void ScummEngine_v7he::o7_readINI() {
 	int len;
 	int type;
@@ -513,6 +667,13 @@
 	warning("stub o7_unknownF9(\"%s\")", filename + r);
 }
 
+void ScummEngine_v7he::o7_unknownFA() {
+	int num = fetchScriptByte();
+	int len = resStrLen(_scriptPointer);
+	warning("stub o7_unknownFA(%d, \"%s\")", num, _scriptPointer);
+	_scriptPointer += len + 1;
+}
+
 void ScummEngine_v7he::o7_unknownFB() {
 	byte b;
 	b = fetchScriptByte();
@@ -538,167 +699,4 @@
 	warning("o7_unknownFB stub");
 }
 
-void ScummEngine_v7he::o7_quitPauseRestart() {
-	byte subOp = fetchScriptByte();
-	int par1;
-
-	switch (subOp & 0xff) {
-	case 158:		// SO_RESTART
-		restart();
-		break;
-	case 160:
-		// FIXME: check
-		shutDown();
-		break;
-	case 250:
-		par1 = pop();
-		warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
-		break;
-	case 253:
-		par1 = pop();
-		warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
-	case 244:		// SO_QUIT
-		shutDown();
-		break;
-	case 251:
-	case 252:
-		warning("stub: o7_quitPauseRestart subOpcode %d", subOp);
-		break;
-	default:
-		error("o7_quitPauseRestart invalid case %d", subOp);
-	}
-}
-
-void ScummEngine_v7he::o7_pickupObject() {
-	int obj, room;
-
-	room = pop();
-	obj = pop();
-	if (room == 0)
-		room = getObjectRoom(obj);
-
-	addObjectToInventory(obj, room);
-	putOwner(obj, VAR(VAR_EGO));
-	putClass(obj, kObjectClassUntouchable, 1);
-	putState(obj, 1);
-	markObjectRectAsDirty(obj);
-	clearDrawObjectQueue();
-	runInventoryScript(obj);									/* Difference */
-}
-
-
-void ScummEngine_v7he::o7_getActorRoom() {
-	int act = pop();
-
-	if (act < _numActors) {
-		Actor *a = derefActor(act, "o7_getActorRoom");
-		push(a->room);
-	} else
-		push(getObjectRoom(act));
-}
-
-void ScummEngine_v7he::o7_startSound() {
-	byte op;
-	op = fetchScriptByte();
-
-	switch (op) {
-	case 224:
-		_heSndSoundFreq = pop();
-		break;
-
-	case 230:
-		_heSndTimer = pop();
-		break;
-
-	case 231:
-		_heSndOffset = pop();
-		break;
-
-	case 232:
-		_heSndSoundId = pop();
-		_heSndOffset = 0;
-		_heSndSoundFreq = 11025;
-		_heSndTimer = VAR(VAR_MUSIC_TIMER);
-		break;
-
-	case 245:
-		_heSndLoop |= 1;
-		break;
-
-	case 255:
-		// _sound->addSoundToQueue(_heSndSoundId, _heSndOffset, _heSndTimer, _heSndLoop);
-		_sound->addSoundToQueue(_heSndSoundId, _heSndOffset);
-		debug(2, "o7_startSound stub (%d, %d, %d, %d)", _heSndSoundId, _heSndOffset, _heSndTimer, _heSndLoop);
-		_heSndLoop = 0;
-		break;
-
-	default:
-		break;
-	}
-}
-
-
-void ScummEngine_v7he::o7_cursorCommand() {
-	int a, i;
-	int args[16];
-	int subOp = fetchScriptByte();
-
-	switch (subOp) {
-	case 0x90:		// SO_CURSOR_ON Turn cursor on
-		_cursor.state = 1;
-		verbMouseOver(0);
-		break;
-	case 0x91:		// SO_CURSOR_OFF Turn cursor off
-		_cursor.state = 0;
-		verbMouseOver(0);
-		break;
-	case 0x92:		// SO_USERPUT_ON
-		_userPut = 1;
-		break;
-	case 0x93:		// SO_USERPUT_OFF
-		_userPut = 0;
-		break;
-	case 0x94:		// SO_CURSOR_SOFT_ON Turn soft cursor on
-		_cursor.state++;
-		if (_cursor.state > 1)
-			error("Cursor state greater than 1 in script");
-		verbMouseOver(0);
-		break;
-	case 0x95:		// SO_CURSOR_SOFT_OFF Turn soft cursor off
-		_cursor.state--;
-		verbMouseOver(0);
-		break;
-	case 0x96:		// SO_USERPUT_SOFT_ON
-		_userPut++;
-		break;
-	case 0x97:		// SO_USERPUT_SOFT_OFF
-		_userPut--;
-		break;
-	case 0x99: 		// SO_CURSOR_IMAGE Set cursor image
-		_Win32ResExtractor->setCursor(pop()); 				/* Difference */
-		break;
-	case 0x9A:		// SO_CURSOR_HOTSPOT Set cursor hotspot
-		a = pop();
-		setCursorHotspot(pop(), a);
-		break;
-	case 0x9C:		// SO_CHARSET_SET
-		initCharset(pop());
-		break;
-	case 0x9D:		// SO_CHARSET_COLOR
-		getStackList(args, ARRAYSIZE(args));
-		for (i = 0; i < 16; i++)
-			_charsetColorMap[i] = _charsetData[_string[1]._default.charset][i] = (unsigned char)args[i];
-		break;
-	case 0xD6:		// SO_CURSOR_TRANSPARENT Set cursor transparent color
-		setCursorTransparency(pop());
-		break;
-	default:
-		error("o7_cursorCommand: default case %x", subOp);
-	}
-
-	VAR(VAR_CURSORSTATE) = _cursor.state;
-	VAR(VAR_USERPUT) = _userPut;
-}
-
-
 } // End of namespace Scumm





More information about the Scummvm-git-logs mailing list