[Scummvm-cvs-logs] SF.net SVN: scummvm:[39958] scummvm/trunk/engines/scumm

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Apr 16 11:27:22 CEST 2009


Revision: 39958
          http://scummvm.svn.sourceforge.net/scummvm/?rev=39958&view=rev
Author:   fingolfin
Date:     2009-04-16 09:27:22 +0000 (Thu, 16 Apr 2009)

Log Message:
-----------
SCUMM: Compacted various setupOpcodes() implementations by using the fact that opcode tables tend not to change much between most SCUMM versions

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/he/script_v60he.cpp
    scummvm/trunk/engines/scumm/he/script_v70he.cpp
    scummvm/trunk/engines/scumm/he/script_v71he.cpp
    scummvm/trunk/engines/scumm/he/script_v72he.cpp
    scummvm/trunk/engines/scumm/he/script_v80he.cpp
    scummvm/trunk/engines/scumm/he/script_v90he.cpp
    scummvm/trunk/engines/scumm/script_v6.cpp

Modified: scummvm/trunk/engines/scumm/he/script_v60he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v60he.cpp	2009-04-16 09:27:02 UTC (rev 39957)
+++ scummvm/trunk/engines/scumm/he/script_v60he.cpp	2009-04-16 09:27:22 UTC (rev 39958)
@@ -66,235 +66,31 @@
 #define OPCODE(i, x)	_opcodes[i]._OPCODE(ScummEngine_v60he, x)
 
 void ScummEngine_v60he::setupOpcodes() {
-	/* 00 */
-	OPCODE(0x00, o6_pushByte);
-	OPCODE(0x01, o6_pushWord);
-	OPCODE(0x02, o6_pushByteVar);
-	OPCODE(0x03, o6_pushWordVar);
-	/* 04 */
-	OPCODE(0x06, o6_byteArrayRead);
-	OPCODE(0x07, o6_wordArrayRead);
-	/* 08 */
-	OPCODE(0x0a, o6_byteArrayIndexedRead);
-	OPCODE(0x0b, o6_wordArrayIndexedRead);
-	/* 0C */
-	OPCODE(0x0c, o6_dup);
-	OPCODE(0x0d, o6_not);
-	OPCODE(0x0e, o6_eq);
-	OPCODE(0x0f, o6_neq);
-	/* 10 */
-	OPCODE(0x10, o6_gt);
-	OPCODE(0x11, o6_lt);
-	OPCODE(0x12, o6_le);
-	OPCODE(0x13, o6_ge);
-	/* 14 */
-	OPCODE(0x14, o6_add);
-	OPCODE(0x15, o6_sub);
-	OPCODE(0x16, o6_mul);
-	OPCODE(0x17, o6_div);
-	/* 18 */
-	OPCODE(0x18, o6_land);
-	OPCODE(0x19, o6_lor);
-	OPCODE(0x1a, o6_pop);
-	/* 1C */
-	/* 20 */
-	/* 24 */
-	/* 28 */
-	/* 2C */
-	/* 30 */
-	/* 34 */
-	/* 38 */
-	/* 3C */
-	/* 40 */
-	OPCODE(0x42, o6_writeByteVar);
-	OPCODE(0x43, o6_writeWordVar);
-	/* 44 */
-	OPCODE(0x46, o6_byteArrayWrite);
-	OPCODE(0x47, o6_wordArrayWrite);
-	/* 48 */
-	OPCODE(0x4a, o6_byteArrayIndexedWrite);
-	OPCODE(0x4b, o6_wordArrayIndexedWrite);
-	/* 4C */
-	OPCODE(0x4e, o6_byteVarInc);
-	OPCODE(0x4f, o6_wordVarInc);
-	/* 50 */
-	OPCODE(0x52, o6_byteArrayInc);
-	OPCODE(0x53, o6_wordArrayInc);
-	/* 54 */
-	OPCODE(0x56, o6_byteVarDec);
-	OPCODE(0x57, o6_wordVarDec);
-	/* 58 */
-	OPCODE(0x5a, o6_byteArrayDec);
-	OPCODE(0x5b, o6_wordArrayDec);
-	/* 5C */
-	OPCODE(0x5c, o6_if);
-	OPCODE(0x5d, o6_ifNot);
-	OPCODE(0x5e, o6_startScript);
-	OPCODE(0x5f, o6_startScriptQuick);
-	/* 60 */
-	OPCODE(0x60, o6_startObject);
-	OPCODE(0x61, o6_drawObject);
-	OPCODE(0x62, o6_drawObjectAt);
-	/* 64 */
-	OPCODE(0x65, o6_stopObjectCode);
-	OPCODE(0x66, o6_stopObjectCode);
-	OPCODE(0x67, o6_endCutscene);
-	/* 68 */
-	OPCODE(0x68, o6_cutscene);
-	OPCODE(0x69, o6_stopMusic);
-	OPCODE(0x6a, o6_freezeUnfreeze);
-	OPCODE(0x6b, o6_cursorCommand);
-	/* 6C */
-	OPCODE(0x6c, o6_breakHere);
-	OPCODE(0x6d, o6_ifClassOfIs);
-	OPCODE(0x6e, o6_setClass);
-	OPCODE(0x6f, o6_getState);
-	/* 70 */
+	ScummEngine_v6::setupOpcodes();
+
+	_opcodes[0x63].setProc(0, 0);
+	_opcodes[0x64].setProc(0, 0);
 	OPCODE(0x70, o60_setState);
-	OPCODE(0x71, o6_setOwner);
-	OPCODE(0x72, o6_getOwner);
-	OPCODE(0x73, o6_jump);
-	/* 74 */
-	OPCODE(0x74, o6_startSound);
-	OPCODE(0x75, o6_stopSound);
-	OPCODE(0x76, o6_startMusic);
-	OPCODE(0x77, o6_stopObjectScript);
-	/* 78 */
-	OPCODE(0x78, o6_panCameraTo);
-	OPCODE(0x79, o6_actorFollowCamera);
-	OPCODE(0x7a, o6_setCameraAt);
-	OPCODE(0x7b, o6_loadRoom);
-	/* 7C */
-	OPCODE(0x7c, o6_stopScript);
-	OPCODE(0x7d, o6_walkActorToObj);
-	OPCODE(0x7e, o6_walkActorTo);
-	OPCODE(0x7f, o6_putActorAtXY);
-	/* 80 */
-	OPCODE(0x80, o6_putActorAtObject);
-	OPCODE(0x81, o6_faceActor);
-	OPCODE(0x82, o6_animateActor);
-	OPCODE(0x83, o6_doSentence);
-	/* 84 */
-	OPCODE(0x84, o6_pickupObject);
-	OPCODE(0x85, o6_loadRoomWithEgo);
-	OPCODE(0x87, o6_getRandomNumber);
-	/* 88 */
-	OPCODE(0x88, o6_getRandomNumberRange);
-	OPCODE(0x8a, o6_getActorMoving);
-	OPCODE(0x8b, o6_isScriptRunning);
-	/* 8C */
-	OPCODE(0x8c, o6_getActorRoom);
-	OPCODE(0x8d, o6_getObjectX);
-	OPCODE(0x8e, o6_getObjectY);
-	OPCODE(0x8f, o6_getObjectOldDir);
-	/* 90 */
-	OPCODE(0x90, o6_getActorWalkBox);
-	OPCODE(0x91, o6_getActorCostume);
-	OPCODE(0x92, o6_findInventory);
-	OPCODE(0x93, o6_getInventoryCount);
-	/* 94 */
-	OPCODE(0x94, o6_getVerbFromXY);
-	OPCODE(0x95, o6_beginOverride);
-	OPCODE(0x96, o6_endOverride);
-	OPCODE(0x97, o6_setObjectName);
-	/* 98 */
-	OPCODE(0x98, o6_isSoundRunning);
-	OPCODE(0x99, o6_setBoxFlags);
-	OPCODE(0x9b, o6_resourceRoutines);
-	/* 9C */
+	_opcodes[0x9a].setProc(0, 0);
 	OPCODE(0x9c, o60_roomOps);
 	OPCODE(0x9d, o60_actorOps);
-	OPCODE(0x9e, o6_verbOps);
-	OPCODE(0x9f, o6_getActorFromXY);
-	/* A0 */
-	OPCODE(0xa0, o6_findObject);
-	OPCODE(0xa1, o6_pseudoRoom);
-	OPCODE(0xa2, o6_getActorElevation);
-	OPCODE(0xa3, o6_getVerbEntrypoint);
-	/* A4 */
-	OPCODE(0xa4, o6_arrayOps);
-	OPCODE(0xa5, o6_saveRestoreVerbs);
-	OPCODE(0xa6, o6_drawBox);
-	OPCODE(0xa7, o6_pop);
-	/* A8 */
-	OPCODE(0xa8, o6_getActorWidth);
-	OPCODE(0xa9, o6_wait);
-	OPCODE(0xaa, o6_getActorScaleX);
-	OPCODE(0xab, o6_getActorAnimCounter);
-	/* AC */
-	OPCODE(0xad, o6_isAnyOf);
-	OPCODE(0xae, o6_systemOps);
-	OPCODE(0xaf, o6_isActorInBox);
-	/* B0 */
-	OPCODE(0xb0, o6_delay);
-	OPCODE(0xb1, o6_delaySeconds);
-	OPCODE(0xb2, o6_delayMinutes);
-	OPCODE(0xb3, o6_stopSentence);
-	/* B4 */
-	OPCODE(0xb4, o6_printLine);
-	OPCODE(0xb5, o6_printText);
-	OPCODE(0xb6, o6_printDebug);
-	OPCODE(0xb7, o6_printSystem);
-	/* B8 */
-	OPCODE(0xb8, o6_printActor);
-	OPCODE(0xb9, o6_printEgo);
-	OPCODE(0xba, o6_talkActor);
-	OPCODE(0xbb, o6_talkEgo);
-	/* BC */
-	OPCODE(0xbc, o6_dimArray);
+	_opcodes[0xac].setProc(0, 0);
 	OPCODE(0xbd, o6_stopObjectCode);
-	OPCODE(0xbe, o6_startObjectQuick);
-	OPCODE(0xbf, o6_startScriptQuick2);
-	/* C0 */
-	OPCODE(0xc0, o6_dim2dimArray);
-	/* C4 */
-	OPCODE(0xc4, o6_abs);
-	OPCODE(0xc5, o6_distObjectObject);
-	OPCODE(0xc6, o6_distObjectPt);
-	OPCODE(0xc7, o6_distPtPt);
-	/* C8 */
 	OPCODE(0xc8, o60_kernelGetFunctions);
 	OPCODE(0xc9, o60_kernelSetFunctions);
-	OPCODE(0xca, o6_delayFrames);
-	OPCODE(0xcb, o6_pickOneOf);
-	/* CC */
-	OPCODE(0xcc, o6_pickOneOfDefault);
-	OPCODE(0xcd, o6_stampObject);
-	/* D0 */
-	OPCODE(0xd0, o6_getDateTime);
-	OPCODE(0xd1, o6_stopTalking);
-	OPCODE(0xd2, o6_getAnimateVariable);
-	/* D4 */
-	OPCODE(0xd4, o6_shuffle);
-	OPCODE(0xd5, o6_jumpToScript);
-	OPCODE(0xd6, o6_band);
-	OPCODE(0xd7, o6_bor);
-	/* D8 */
-	OPCODE(0xd8, o6_isRoomScriptRunning);
 	OPCODE(0xd9, o60_closeFile);
 	OPCODE(0xda, o60_openFile);
 	OPCODE(0xdb, o60_readFile);
-	/* DC */
 	OPCODE(0xdc, o60_writeFile);
-	OPCODE(0xdd, o6_findAllObjects);
 	OPCODE(0xde, o60_deleteFile);
 	OPCODE(0xdf, o60_rename);
-	/* E0 */
 	OPCODE(0xe0, o60_soundOps);
-	OPCODE(0xe1, o6_getPixel);
 	OPCODE(0xe2, o60_localizeArrayToScript);
-	OPCODE(0xe3, o6_pickVarRandom);
-	/* E4 */
-	OPCODE(0xe4, o6_setBoxSet);
-	/* E8 */
 	OPCODE(0xe9, o60_seekFilePos);
 	OPCODE(0xea, o60_redimArray);
 	OPCODE(0xeb, o60_readFilePos);
-	/* EC */
-	/* F0 */
-	/* F4 */
-	/* F8 */
-	/* FC */
+	_opcodes[0xec].setProc(0, 0);
+	_opcodes[0xed].setProc(0, 0);
 }
 
 int ScummEngine_v60he::convertFilePath(byte *dst) {

Modified: scummvm/trunk/engines/scumm/he/script_v70he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v70he.cpp	2009-04-16 09:27:02 UTC (rev 39957)
+++ scummvm/trunk/engines/scumm/he/script_v70he.cpp	2009-04-16 09:27:22 UTC (rev 39958)
@@ -41,241 +41,19 @@
 #define OPCODE(i, x)	_opcodes[i]._OPCODE(ScummEngine_v70he, x)
 
 void ScummEngine_v70he::setupOpcodes() {
-	/* 00 */
-	OPCODE(0x00, o6_pushByte);
-	OPCODE(0x01, o6_pushWord);
-	OPCODE(0x02, o6_pushByteVar);
-	OPCODE(0x03, o6_pushWordVar);
-	/* 04 */
-	OPCODE(0x06, o6_byteArrayRead);
-	OPCODE(0x07, o6_wordArrayRead);
-	/* 08 */
-	OPCODE(0x0a, o6_byteArrayIndexedRead);
-	OPCODE(0x0b, o6_wordArrayIndexedRead);
-	/* 0C */
-	OPCODE(0x0c, o6_dup);
-	OPCODE(0x0d, o6_not);
-	OPCODE(0x0e, o6_eq);
-	OPCODE(0x0f, o6_neq);
-	/* 10 */
-	OPCODE(0x10, o6_gt);
-	OPCODE(0x11, o6_lt);
-	OPCODE(0x12, o6_le);
-	OPCODE(0x13, o6_ge);
-	/* 14 */
-	OPCODE(0x14, o6_add);
-	OPCODE(0x15, o6_sub);
-	OPCODE(0x16, o6_mul);
-	OPCODE(0x17, o6_div);
-	/* 18 */
-	OPCODE(0x18, o6_land);
-	OPCODE(0x19, o6_lor);
-	OPCODE(0x1a, o6_pop);
-	/* 1C */
-	/* 20 */
-	/* 24 */
-	/* 28 */
-	/* 2C */
-	/* 30 */
-	/* 34 */
-	/* 38 */
-	/* 3C */
-	/* 40 */
-	OPCODE(0x42, o6_writeByteVar);
-	OPCODE(0x43, o6_writeWordVar);
-	/* 44 */
-	OPCODE(0x46, o6_byteArrayWrite);
-	OPCODE(0x47, o6_wordArrayWrite);
-	/* 48 */
-	OPCODE(0x4a, o6_byteArrayIndexedWrite);
-	OPCODE(0x4b, o6_wordArrayIndexedWrite);
-	/* 4C */
-	OPCODE(0x4e, o6_byteVarInc);
-	OPCODE(0x4f, o6_wordVarInc);
-	/* 50 */
-	OPCODE(0x52, o6_byteArrayInc);
-	OPCODE(0x53, o6_wordArrayInc);
-	/* 54 */
-	OPCODE(0x56, o6_byteVarDec);
-	OPCODE(0x57, o6_wordVarDec);
-	/* 58 */
-	OPCODE(0x5a, o6_byteArrayDec);
-	OPCODE(0x5b, o6_wordArrayDec);
-	/* 5C */
-	OPCODE(0x5c, o6_if);
-	OPCODE(0x5d, o6_ifNot);
-	OPCODE(0x5e, o6_startScript);
-	OPCODE(0x5f, o6_startScriptQuick);
-	/* 60 */
-	OPCODE(0x60, o6_startObject);
-	OPCODE(0x61, o6_drawObject);
-	OPCODE(0x62, o6_drawObjectAt);
-	/* 64 */
-	OPCODE(0x65, o6_stopObjectCode);
-	OPCODE(0x66, o6_stopObjectCode);
-	OPCODE(0x67, o6_endCutscene);
-	/* 68 */
-	OPCODE(0x68, o6_cutscene);
-	OPCODE(0x69, o6_stopMusic);
-	OPCODE(0x6a, o6_freezeUnfreeze);
-	OPCODE(0x6b, o6_cursorCommand);
-	/* 6C */
-	OPCODE(0x6c, o6_breakHere);
-	OPCODE(0x6d, o6_ifClassOfIs);
-	OPCODE(0x6e, o6_setClass);
-	OPCODE(0x6f, o6_getState);
-	/* 70 */
-	OPCODE(0x70, o60_setState);
-	OPCODE(0x71, o6_setOwner);
-	OPCODE(0x72, o6_getOwner);
-	OPCODE(0x73, o6_jump);
-	/* 74 */
+	ScummEngine_v60he::setupOpcodes();
+
 	OPCODE(0x74, o70_startSound);
-	OPCODE(0x75, o6_stopSound);
-	OPCODE(0x76, o6_startMusic);
-	OPCODE(0x77, o6_stopObjectScript);
-	/* 78 */
-	OPCODE(0x78, o6_panCameraTo);
-	OPCODE(0x79, o6_actorFollowCamera);
-	OPCODE(0x7a, o6_setCameraAt);
-	OPCODE(0x7b, o6_loadRoom);
-	/* 7C */
-	OPCODE(0x7c, o6_stopScript);
-	OPCODE(0x7d, o6_walkActorToObj);
-	OPCODE(0x7e, o6_walkActorTo);
-	OPCODE(0x7f, o6_putActorAtXY);
-	/* 80 */
-	OPCODE(0x80, o6_putActorAtObject);
-	OPCODE(0x81, o6_faceActor);
-	OPCODE(0x82, o6_animateActor);
-	OPCODE(0x83, o6_doSentence);
-	/* 84 */
 	OPCODE(0x84, o70_pickupObject);
-	OPCODE(0x85, o6_loadRoomWithEgo);
-	OPCODE(0x87, o6_getRandomNumber);
-	/* 88 */
-	OPCODE(0x88, o6_getRandomNumberRange);
-	OPCODE(0x8a, o6_getActorMoving);
-	OPCODE(0x8b, o6_isScriptRunning);
-	/* 8C */
 	OPCODE(0x8c, o70_getActorRoom);
-	OPCODE(0x8d, o6_getObjectX);
-	OPCODE(0x8e, o6_getObjectY);
-	OPCODE(0x8f, o6_getObjectOldDir);
-	/* 90 */
-	OPCODE(0x90, o6_getActorWalkBox);
-	OPCODE(0x91, o6_getActorCostume);
-	OPCODE(0x92, o6_findInventory);
-	OPCODE(0x93, o6_getInventoryCount);
-	/* 94 */
-	OPCODE(0x94, o6_getVerbFromXY);
-	OPCODE(0x95, o6_beginOverride);
-	OPCODE(0x96, o6_endOverride);
-	OPCODE(0x97, o6_setObjectName);
-	/* 98 */
-	OPCODE(0x98, o6_isSoundRunning);
-	OPCODE(0x99, o6_setBoxFlags);
 	OPCODE(0x9b, o70_resourceRoutines);
-	/* 9C */
-	OPCODE(0x9c, o60_roomOps);
-	OPCODE(0x9d, o60_actorOps);
-	OPCODE(0x9e, o6_verbOps);
-	OPCODE(0x9f, o6_getActorFromXY);
-	/* A0 */
-	OPCODE(0xa0, o6_findObject);
-	OPCODE(0xa1, o6_pseudoRoom);
-	OPCODE(0xa2, o6_getActorElevation);
-	OPCODE(0xa3, o6_getVerbEntrypoint);
-	/* A4 */
-	OPCODE(0xa4, o6_arrayOps);
-	OPCODE(0xa5, o6_saveRestoreVerbs);
-	OPCODE(0xa6, o6_drawBox);
-	OPCODE(0xa7, o6_pop);
-	/* A8 */
-	OPCODE(0xa8, o6_getActorWidth);
-	OPCODE(0xa9, o6_wait);
-	OPCODE(0xaa, o6_getActorScaleX);
-	OPCODE(0xab, o6_getActorAnimCounter);
-	/* AC */
-	OPCODE(0xad, o6_isAnyOf);
 	OPCODE(0xae, o70_systemOps);
-	OPCODE(0xaf, o6_isActorInBox);
-	/* B0 */
-	OPCODE(0xb0, o6_delay);
-	OPCODE(0xb1, o6_delaySeconds);
-	OPCODE(0xb2, o6_delayMinutes);
-	OPCODE(0xb3, o6_stopSentence);
-	/* B4 */
-	OPCODE(0xb4, o6_printLine);
-	OPCODE(0xb5, o6_printText);
-	OPCODE(0xb6, o6_printDebug);
-	OPCODE(0xb7, o6_printSystem);
-	/* B8 */
-	OPCODE(0xb8, o6_printActor);
-	OPCODE(0xb9, o6_printEgo);
-	OPCODE(0xba, o6_talkActor);
-	OPCODE(0xbb, o6_talkEgo);
-	/* BC */
-	OPCODE(0xbc, o6_dimArray);
-	OPCODE(0xbd, o6_stopObjectCode);
-	OPCODE(0xbe, o6_startObjectQuick);
-	OPCODE(0xbf, o6_startScriptQuick2);
-	/* C0 */
-	OPCODE(0xc0, o6_dim2dimArray);
-	/* C4 */
-	OPCODE(0xc4, o6_abs);
-	OPCODE(0xc5, o6_distObjectObject);
-	OPCODE(0xc6, o6_distObjectPt);
-	OPCODE(0xc7, o6_distPtPt);
-	/* C8 */
-	OPCODE(0xc8, o60_kernelGetFunctions);
-	OPCODE(0xc9, o60_kernelSetFunctions);
-	OPCODE(0xca, o6_delayFrames);
-	OPCODE(0xcb, o6_pickOneOf);
-	/* CC */
-	OPCODE(0xcc, o6_pickOneOfDefault);
-	OPCODE(0xcd, o6_stampObject);
-	/* D0 */
-	OPCODE(0xd0, o6_getDateTime);
-	OPCODE(0xd1, o6_stopTalking);
-	OPCODE(0xd2, o6_getAnimateVariable);
-	/* D4 */
-	OPCODE(0xd4, o6_shuffle);
-	OPCODE(0xd5, o6_jumpToScript);
-	OPCODE(0xd6, o6_band);
-	OPCODE(0xd7, o6_bor);
-	/* D8 */
-	OPCODE(0xd8, o6_isRoomScriptRunning);
-	OPCODE(0xd9, o60_closeFile);
-	OPCODE(0xda, o60_openFile);
-	OPCODE(0xdb, o60_readFile);
-	/* DC */
-	OPCODE(0xdc, o60_writeFile);
-	OPCODE(0xdd, o6_findAllObjects);
-	OPCODE(0xde, o60_deleteFile);
-	OPCODE(0xdf, o60_rename);
-	/* E0 */
-	OPCODE(0xe0, o60_soundOps);
-	OPCODE(0xe1, o6_getPixel);
-	OPCODE(0xe2, o60_localizeArrayToScript);
-	OPCODE(0xe3, o6_pickVarRandom);
-	/* E4 */
-	OPCODE(0xe4, o6_setBoxSet);
-	/* E8 */
-	OPCODE(0xe9, o60_seekFilePos);
-	OPCODE(0xea, o60_redimArray);
-	OPCODE(0xeb, o60_readFilePos);
-	/* EC */
 	OPCODE(0xee, o70_getStringLen);
-	/* F0 */
 	OPCODE(0xf2, o70_isResourceLoaded);
 	OPCODE(0xf3, o70_readINI);
-	/* F4 */
 	OPCODE(0xf4, o70_writeINI);
-	/* F8 */
 	OPCODE(0xf9, o70_createDirectory);
 	OPCODE(0xfa, o70_setSystemMessage);
-	/* FC */
 }
 
 void ScummEngine_v70he::o70_startSound() {

Modified: scummvm/trunk/engines/scumm/he/script_v71he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v71he.cpp	2009-04-16 09:27:02 UTC (rev 39957)
+++ scummvm/trunk/engines/scumm/he/script_v71he.cpp	2009-04-16 09:27:22 UTC (rev 39958)
@@ -33,250 +33,18 @@
 #define OPCODE(i, x)	_opcodes[i]._OPCODE(ScummEngine_v71he, x)
 
 void ScummEngine_v71he::setupOpcodes() {
-	/* 00 */
-	OPCODE(0x00, o6_pushByte);
-	OPCODE(0x01, o6_pushWord);
-	OPCODE(0x02, o6_pushByteVar);
-	OPCODE(0x03, o6_pushWordVar);
-	/* 04 */
-	OPCODE(0x06, o6_byteArrayRead);
-	OPCODE(0x07, o6_wordArrayRead);
-	/* 08 */
-	OPCODE(0x0a, o6_byteArrayIndexedRead);
-	OPCODE(0x0b, o6_wordArrayIndexedRead);
-	/* 0C */
-	OPCODE(0x0c, o6_dup);
-	OPCODE(0x0d, o6_not);
-	OPCODE(0x0e, o6_eq);
-	OPCODE(0x0f, o6_neq);
-	/* 10 */
-	OPCODE(0x10, o6_gt);
-	OPCODE(0x11, o6_lt);
-	OPCODE(0x12, o6_le);
-	OPCODE(0x13, o6_ge);
-	/* 14 */
-	OPCODE(0x14, o6_add);
-	OPCODE(0x15, o6_sub);
-	OPCODE(0x16, o6_mul);
-	OPCODE(0x17, o6_div);
-	/* 18 */
-	OPCODE(0x18, o6_land);
-	OPCODE(0x19, o6_lor);
-	OPCODE(0x1a, o6_pop);
-	/* 1C */
-	/* 20 */
-	/* 24 */
-	/* 28 */
-	/* 2C */
-	/* 30 */
-	/* 34 */
-	/* 38 */
-	/* 3C */
-	/* 40 */
-	OPCODE(0x42, o6_writeByteVar);
-	OPCODE(0x43, o6_writeWordVar);
-	/* 44 */
-	OPCODE(0x46, o6_byteArrayWrite);
-	OPCODE(0x47, o6_wordArrayWrite);
-	/* 48 */
-	OPCODE(0x4a, o6_byteArrayIndexedWrite);
-	OPCODE(0x4b, o6_wordArrayIndexedWrite);
-	/* 4C */
-	OPCODE(0x4e, o6_byteVarInc);
-	OPCODE(0x4f, o6_wordVarInc);
-	/* 50 */
-	OPCODE(0x52, o6_byteArrayInc);
-	OPCODE(0x53, o6_wordArrayInc);
-	/* 54 */
-	OPCODE(0x56, o6_byteVarDec);
-	OPCODE(0x57, o6_wordVarDec);
-	/* 58 */
-	OPCODE(0x5a, o6_byteArrayDec);
-	OPCODE(0x5b, o6_wordArrayDec);
-	/* 5C */
-	OPCODE(0x5c, o6_if);
-	OPCODE(0x5d, o6_ifNot);
-	OPCODE(0x5e, o6_startScript);
-	OPCODE(0x5f, o6_startScriptQuick);
-	/* 60 */
-	OPCODE(0x60, o6_startObject);
-	OPCODE(0x61, o6_drawObject);
-	OPCODE(0x62, o6_drawObjectAt);
-	/* 64 */
-	OPCODE(0x65, o6_stopObjectCode);
-	OPCODE(0x66, o6_stopObjectCode);
-	OPCODE(0x67, o6_endCutscene);
-	/* 68 */
-	OPCODE(0x68, o6_cutscene);
-	OPCODE(0x69, o6_stopMusic);
-	OPCODE(0x6a, o6_freezeUnfreeze);
-	OPCODE(0x6b, o6_cursorCommand);
-	/* 6C */
-	OPCODE(0x6c, o6_breakHere);
-	OPCODE(0x6d, o6_ifClassOfIs);
-	OPCODE(0x6e, o6_setClass);
-	OPCODE(0x6f, o6_getState);
-	/* 70 */
-	OPCODE(0x70, o60_setState);
-	OPCODE(0x71, o6_setOwner);
-	OPCODE(0x72, o6_getOwner);
-	OPCODE(0x73, o6_jump);
-	/* 74 */
-	OPCODE(0x74, o70_startSound);
-	OPCODE(0x75, o6_stopSound);
-	OPCODE(0x76, o6_startMusic);
-	OPCODE(0x77, o6_stopObjectScript);
-	/* 78 */
-	OPCODE(0x78, o6_panCameraTo);
-	OPCODE(0x79, o6_actorFollowCamera);
-	OPCODE(0x7a, o6_setCameraAt);
-	OPCODE(0x7b, o6_loadRoom);
-	/* 7C */
-	OPCODE(0x7c, o6_stopScript);
-	OPCODE(0x7d, o6_walkActorToObj);
-	OPCODE(0x7e, o6_walkActorTo);
-	OPCODE(0x7f, o6_putActorAtXY);
-	/* 80 */
-	OPCODE(0x80, o6_putActorAtObject);
-	OPCODE(0x81, o6_faceActor);
-	OPCODE(0x82, o6_animateActor);
-	OPCODE(0x83, o6_doSentence);
-	/* 84 */
-	OPCODE(0x84, o70_pickupObject);
-	OPCODE(0x85, o6_loadRoomWithEgo);
-	OPCODE(0x87, o6_getRandomNumber);
-	/* 88 */
-	OPCODE(0x88, o6_getRandomNumberRange);
-	OPCODE(0x8a, o6_getActorMoving);
-	OPCODE(0x8b, o6_isScriptRunning);
-	/* 8C */
-	OPCODE(0x8c, o70_getActorRoom);
-	OPCODE(0x8d, o6_getObjectX);
-	OPCODE(0x8e, o6_getObjectY);
-	OPCODE(0x8f, o6_getObjectOldDir);
-	/* 90 */
-	OPCODE(0x90, o6_getActorWalkBox);
-	OPCODE(0x91, o6_getActorCostume);
-	OPCODE(0x92, o6_findInventory);
-	OPCODE(0x93, o6_getInventoryCount);
-	/* 94 */
-	OPCODE(0x94, o6_getVerbFromXY);
-	OPCODE(0x95, o6_beginOverride);
-	OPCODE(0x96, o6_endOverride);
-	OPCODE(0x97, o6_setObjectName);
-	/* 98 */
-	OPCODE(0x98, o6_isSoundRunning);
-	OPCODE(0x99, o6_setBoxFlags);
-	OPCODE(0x9b, o70_resourceRoutines);
-	/* 9C */
-	OPCODE(0x9c, o60_roomOps);
-	OPCODE(0x9d, o60_actorOps);
-	OPCODE(0x9e, o6_verbOps);
-	OPCODE(0x9f, o6_getActorFromXY);
-	/* A0 */
-	OPCODE(0xa0, o6_findObject);
-	OPCODE(0xa1, o6_pseudoRoom);
-	OPCODE(0xa2, o6_getActorElevation);
-	OPCODE(0xa3, o6_getVerbEntrypoint);
-	/* A4 */
-	OPCODE(0xa4, o6_arrayOps);
-	OPCODE(0xa5, o6_saveRestoreVerbs);
-	OPCODE(0xa6, o6_drawBox);
-	OPCODE(0xa7, o6_pop);
-	/* A8 */
-	OPCODE(0xa8, o6_getActorWidth);
-	OPCODE(0xa9, o6_wait);
-	OPCODE(0xaa, o6_getActorScaleX);
-	OPCODE(0xab, o6_getActorAnimCounter);
-	/* AC */
-	OPCODE(0xad, o6_isAnyOf);
-	OPCODE(0xae, o70_systemOps);
-	OPCODE(0xaf, o6_isActorInBox);
-	/* B0 */
-	OPCODE(0xb0, o6_delay);
-	OPCODE(0xb1, o6_delaySeconds);
-	OPCODE(0xb2, o6_delayMinutes);
-	OPCODE(0xb3, o6_stopSentence);
-	/* B4 */
-	OPCODE(0xb4, o6_printLine);
-	OPCODE(0xb5, o6_printText);
-	OPCODE(0xb6, o6_printDebug);
-	OPCODE(0xb7, o6_printSystem);
-	/* B8 */
-	OPCODE(0xb8, o6_printActor);
-	OPCODE(0xb9, o6_printEgo);
-	OPCODE(0xba, o6_talkActor);
-	OPCODE(0xbb, o6_talkEgo);
-	/* BC */
-	OPCODE(0xbc, o6_dimArray);
-	OPCODE(0xbd, o6_stopObjectCode);
-	OPCODE(0xbe, o6_startObjectQuick);
-	OPCODE(0xbf, o6_startScriptQuick2);
-	/* C0 */
-	OPCODE(0xc0, o6_dim2dimArray);
-	/* C4 */
-	OPCODE(0xc4, o6_abs);
-	OPCODE(0xc5, o6_distObjectObject);
-	OPCODE(0xc6, o6_distObjectPt);
-	OPCODE(0xc7, o6_distPtPt);
-	/* C8 */
-	OPCODE(0xc8, o60_kernelGetFunctions);
+	ScummEngine_v70he::setupOpcodes();
+
 	OPCODE(0xc9, o71_kernelSetFunctions);
-	OPCODE(0xca, o6_delayFrames);
-	OPCODE(0xcb, o6_pickOneOf);
-	/* CC */
-	OPCODE(0xcc, o6_pickOneOfDefault);
-	OPCODE(0xcd, o6_stampObject);
-	/* D0 */
-	OPCODE(0xd0, o6_getDateTime);
-	OPCODE(0xd1, o6_stopTalking);
-	OPCODE(0xd2, o6_getAnimateVariable);
-	/* D4 */
-	OPCODE(0xd4, o6_shuffle);
-	OPCODE(0xd5, o6_jumpToScript);
-	OPCODE(0xd6, o6_band);
-	OPCODE(0xd7, o6_bor);
-	/* D8 */
-	OPCODE(0xd8, o6_isRoomScriptRunning);
-	OPCODE(0xd9, o60_closeFile);
-	OPCODE(0xda, o60_openFile);
-	OPCODE(0xdb, o60_readFile);
-	/* DC */
-	OPCODE(0xdc, o60_writeFile);
-	OPCODE(0xdd, o6_findAllObjects);
-	OPCODE(0xde, o60_deleteFile);
-	OPCODE(0xdf, o60_rename);
-	/* E0 */
-	OPCODE(0xe0, o60_soundOps);
-	OPCODE(0xe1, o6_getPixel);
-	OPCODE(0xe2, o60_localizeArrayToScript);
-	OPCODE(0xe3, o6_pickVarRandom);
-	/* E4 */
-	OPCODE(0xe4, o6_setBoxSet);
-	/* E8 */
-	OPCODE(0xe9, o60_seekFilePos);
-	OPCODE(0xea, o60_redimArray);
-	OPCODE(0xeb, o60_readFilePos);
-	/* EC */
 	OPCODE(0xec, o71_copyString);
 	OPCODE(0xed, o71_getStringWidth);
-	OPCODE(0xee, o70_getStringLen);
 	OPCODE(0xef, o71_appendString);
-	/* F0 */
 	OPCODE(0xf0, o71_concatString);
 	OPCODE(0xf1, o71_compareString);
-	OPCODE(0xf2, o70_isResourceLoaded);
-	OPCODE(0xf3, o70_readINI);
-	/* F4 */
-	OPCODE(0xf4, o70_writeINI);
 	OPCODE(0xf5, o71_getStringLenForWidth);
 	OPCODE(0xf6, o71_getCharIndexInString);
 	OPCODE(0xf7, o71_findBox);
-	/* F8 */
-	OPCODE(0xf9, o70_createDirectory);
-	OPCODE(0xfa, o70_setSystemMessage);
 	OPCODE(0xfb, o71_polygonOps);
-	/* FC */
 	OPCODE(0xfc, o71_polygonHit);
 }
 

Modified: scummvm/trunk/engines/scumm/he/script_v72he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v72he.cpp	2009-04-16 09:27:02 UTC (rev 39957)
+++ scummvm/trunk/engines/scumm/he/script_v72he.cpp	2009-04-16 09:27:22 UTC (rev 39958)
@@ -45,257 +45,60 @@
 #define OPCODE(i, x)	_opcodes[i]._OPCODE(ScummEngine_v72he, x)
 
 void ScummEngine_v72he::setupOpcodes() {
-	/* 00 */
-	OPCODE(0x00, o6_pushByte);
-	OPCODE(0x01, o6_pushWord);
+	ScummEngine_v71he::setupOpcodes();
+
 	OPCODE(0x02, o72_pushDWord);
-	OPCODE(0x03, o6_pushWordVar);
-	/* 04 */
 	OPCODE(0x04, o72_getScriptString);
-	OPCODE(0x07, o6_wordArrayRead);
-	/* 08 */
-	OPCODE(0x0b, o6_wordArrayIndexedRead);
-	/* 0C */
-	OPCODE(0x0c, o6_dup);
-	OPCODE(0x0d, o6_not);
-	OPCODE(0x0e, o6_eq);
-	OPCODE(0x0f, o6_neq);
-	/* 10 */
-	OPCODE(0x10, o6_gt);
-	OPCODE(0x11, o6_lt);
-	OPCODE(0x12, o6_le);
-	OPCODE(0x13, o6_ge);
-	/* 14 */
-	OPCODE(0x14, o6_add);
-	OPCODE(0x15, o6_sub);
-	OPCODE(0x16, o6_mul);
-	OPCODE(0x17, o6_div);
-	/* 18 */
-	OPCODE(0x18, o6_land);
-	OPCODE(0x19, o6_lor);
-	OPCODE(0x1a, o6_pop);
+	_opcodes[0x0a].setProc(0, 0);
 	OPCODE(0x1b, o72_isAnyOf);
-	/* 1C */
-	/* 20 */
-	/* 24 */
-	/* 28 */
-	/* 2C */
-	/* 30 */
-	/* 34 */
-	/* 38 */
-	/* 3C */
-	/* 40 */
-	OPCODE(0x43, o6_writeWordVar);
-	/* 44 */
-	OPCODE(0x47, o6_wordArrayWrite);
-	/* 48 */
-	OPCODE(0x4b, o6_wordArrayIndexedWrite);
-	/* 4C */
-	OPCODE(0x4f, o6_wordVarInc);
-	/* 50 */
+	_opcodes[0x42].setProc(0, 0);
+	_opcodes[0x46].setProc(0, 0);
+	_opcodes[0x4a].setProc(0, 0);
+	_opcodes[0x4e].setProc(0, 0);
 	OPCODE(0x50, o72_resetCutscene);
 	OPCODE(0x52, o72_findObjectWithClassOf);
-	OPCODE(0x53, o6_wordArrayInc);
-	/* 54 */
 	OPCODE(0x54, o72_getObjectImageX);
 	OPCODE(0x55, o72_getObjectImageY);
 	OPCODE(0x56, o72_captureWizImage);
-	OPCODE(0x57, o6_wordVarDec);
-	/* 58 */
 	OPCODE(0x58, o72_getTimer);
 	OPCODE(0x59, o72_setTimer);
 	OPCODE(0x5a, o72_getSoundPosition);
-	OPCODE(0x5b, o6_wordArrayDec);
-	/* 5C */
-	OPCODE(0x5c, o6_if);
-	OPCODE(0x5d, o6_ifNot);
 	OPCODE(0x5e, o72_startScript);
-	OPCODE(0x5f, o6_startScriptQuick);
-	/* 60 */
 	OPCODE(0x60, o72_startObject);
 	OPCODE(0x61, o72_drawObject);
 	OPCODE(0x62, o72_printWizImage);
 	OPCODE(0x63, o72_getArrayDimSize);
-	/* 64 */
 	OPCODE(0x64, o72_getNumFreeArrays);
-	OPCODE(0x65, o6_stopObjectCode);
-	OPCODE(0x66, o6_stopObjectCode);
-	OPCODE(0x67, o6_endCutscene);
-	/* 68 */
-	OPCODE(0x68, o6_cutscene);
-	OPCODE(0x69, o6_stopMusic);
-	OPCODE(0x6a, o6_freezeUnfreeze);
-	OPCODE(0x6b, o6_cursorCommand);
-	/* 6C */
-	OPCODE(0x6c, o6_breakHere);
-	OPCODE(0x6d, o6_ifClassOfIs);
-	OPCODE(0x6e, o6_setClass);
-	OPCODE(0x6f, o6_getState);
-	/* 70 */
-	OPCODE(0x70, o60_setState);
-	OPCODE(0x71, o6_setOwner);
-	OPCODE(0x72, o6_getOwner);
-	OPCODE(0x73, o6_jump);
-	/* 74 */
-	OPCODE(0x74, o70_startSound);
-	OPCODE(0x75, o6_stopSound);
-	OPCODE(0x76, o6_startMusic);
-	OPCODE(0x77, o6_stopObjectScript);
-	/* 78 */
-	OPCODE(0x78, o6_panCameraTo);
-	OPCODE(0x79, o6_actorFollowCamera);
-	OPCODE(0x7a, o6_setCameraAt);
-	OPCODE(0x7b, o6_loadRoom);
-	/* 7C */
-	OPCODE(0x7c, o6_stopScript);
-	OPCODE(0x7d, o6_walkActorToObj);
-	OPCODE(0x7e, o6_walkActorTo);
-	OPCODE(0x7f, o6_putActorAtXY);
-	/* 80 */
-	OPCODE(0x80, o6_putActorAtObject);
-	OPCODE(0x81, o6_faceActor);
-	OPCODE(0x82, o6_animateActor);
-	OPCODE(0x83, o6_doSentence);
-	/* 84 */
-	OPCODE(0x84, o70_pickupObject);
-	OPCODE(0x85, o6_loadRoomWithEgo);
-	OPCODE(0x87, o6_getRandomNumber);
-	/* 88 */
-	OPCODE(0x88, o6_getRandomNumberRange);
-	OPCODE(0x8a, o6_getActorMoving);
-	OPCODE(0x8b, o6_isScriptRunning);
-	/* 8C */
-	OPCODE(0x8c, o70_getActorRoom);
-	OPCODE(0x8d, o6_getObjectX);
-	OPCODE(0x8e, o6_getObjectY);
-	OPCODE(0x8f, o6_getObjectOldDir);
-	/* 90 */
-	OPCODE(0x90, o6_getActorWalkBox);
-	OPCODE(0x91, o6_getActorCostume);
-	OPCODE(0x92, o6_findInventory);
-	OPCODE(0x93, o6_getInventoryCount);
-	/* 94 */
-	OPCODE(0x94, o6_getVerbFromXY);
-	OPCODE(0x95, o6_beginOverride);
-	OPCODE(0x96, o6_endOverride);
-	/* 98 */
-	OPCODE(0x98, o6_isSoundRunning);
-	OPCODE(0x99, o6_setBoxFlags);
-	OPCODE(0x9b, o70_resourceRoutines);
-	/* 9C */
+	_opcodes[0x97].setProc(0, 0);	// was: o6_setObjectName
 	OPCODE(0x9c, o72_roomOps);
 	OPCODE(0x9d, o72_actorOps);
 	OPCODE(0x9e, o72_verbOps);
-	OPCODE(0x9f, o6_getActorFromXY);
-	/* A0 */
 	OPCODE(0xa0, o72_findObject);
-	OPCODE(0xa1, o6_pseudoRoom);
-	OPCODE(0xa2, o6_getActorElevation);
-	OPCODE(0xa3, o6_getVerbEntrypoint);
-	/* A4 */
 	OPCODE(0xa4, o72_arrayOps);
-	OPCODE(0xa5, o6_saveRestoreVerbs);
-	OPCODE(0xa6, o6_drawBox);
-	OPCODE(0xa7, o6_pop);
-	/* A8 */
-	OPCODE(0xa8, o6_getActorWidth);
-	OPCODE(0xa9, o6_wait);
-	OPCODE(0xaa, o6_getActorScaleX);
-	OPCODE(0xab, o6_getActorAnimCounter);
-	/* AC */
-	OPCODE(0xad, o6_isAnyOf);
 	OPCODE(0xae, o72_systemOps);
-	OPCODE(0xaf, o6_isActorInBox);
-	/* B0 */
-	OPCODE(0xb0, o6_delay);
-	OPCODE(0xb1, o6_delaySeconds);
-	OPCODE(0xb2, o6_delayMinutes);
-	OPCODE(0xb3, o6_stopSentence);
-	/* B4 */
-	OPCODE(0xb4, o6_printLine);
-	OPCODE(0xb5, o6_printText);
-	OPCODE(0xb6, o6_printDebug);
-	OPCODE(0xb7, o6_printSystem);
-	/* B8 */
-	OPCODE(0xb8, o6_printActor);
-	OPCODE(0xb9, o6_printEgo);
 	OPCODE(0xba, o72_talkActor);
 	OPCODE(0xbb, o72_talkEgo);
-	/* BC */
 	OPCODE(0xbc, o72_dimArray);
-	OPCODE(0xbd, o6_stopObjectCode);
-	OPCODE(0xbe, o6_startObjectQuick);
-	OPCODE(0xbf, o6_startScriptQuick2);
-	/* C0 */
 	OPCODE(0xc0, o72_dim2dimArray);
 	OPCODE(0xc1, o72_traceStatus);
-	/* C4 */
-	OPCODE(0xc4, o6_abs);
-	OPCODE(0xc5, o6_distObjectObject);
-	OPCODE(0xc6, o6_distObjectPt);
-	OPCODE(0xc7, o6_distPtPt);
-	/* C8 */
 	OPCODE(0xc8, o72_kernelGetFunctions);
-	OPCODE(0xc9, o71_kernelSetFunctions);
-	OPCODE(0xca, o6_delayFrames);
-	OPCODE(0xcb, o6_pickOneOf);
-	/* CC */
-	OPCODE(0xcc, o6_pickOneOfDefault);
-	OPCODE(0xcd, o6_stampObject);
 	OPCODE(0xce, o72_drawWizImage);
 	OPCODE(0xcf, o72_debugInput);
-	/* D0 */
-	OPCODE(0xd0, o6_getDateTime);
-	OPCODE(0xd1, o6_stopTalking);
-	OPCODE(0xd2, o6_getAnimateVariable);
-	/* D4 */
-	OPCODE(0xd4, o6_shuffle);
 	OPCODE(0xd5, o72_jumpToScript);
-	OPCODE(0xd6, o6_band);
-	OPCODE(0xd7, o6_bor);
-	/* D8 */
-	OPCODE(0xd8, o6_isRoomScriptRunning);
-	OPCODE(0xd9, o60_closeFile);
 	OPCODE(0xda, o72_openFile);
 	OPCODE(0xdb, o72_readFile);
-	/* DC */
 	OPCODE(0xdc, o72_writeFile);
 	OPCODE(0xdd, o72_findAllObjects);
 	OPCODE(0xde, o72_deleteFile);
 	OPCODE(0xdf, o72_rename);
-	/* E0 */
-	OPCODE(0xe0, o60_soundOps);
 	OPCODE(0xe1, o72_getPixel);
-	OPCODE(0xe2, o60_localizeArrayToScript);
 	OPCODE(0xe3, o72_pickVarRandom);
-	/* E4 */
-	OPCODE(0xe4, o6_setBoxSet);
-	/* E8 */
-	OPCODE(0xe9, o60_seekFilePos);
 	OPCODE(0xea, o72_redimArray);
-	OPCODE(0xeb, o60_readFilePos);
-	/* EC */
-	OPCODE(0xec, o71_copyString);
-	OPCODE(0xed, o71_getStringWidth);
-	OPCODE(0xee, o70_getStringLen);
-	OPCODE(0xef, o71_appendString);
-	/* F0 */
-	OPCODE(0xf0, o71_concatString);
-	OPCODE(0xf1, o71_compareString);
-	OPCODE(0xf2, o70_isResourceLoaded);
 	OPCODE(0xf3, o72_readINI);
-	/* F4 */
 	OPCODE(0xf4, o72_writeINI);
-	OPCODE(0xf5, o71_getStringLenForWidth);
-	OPCODE(0xf6, o71_getCharIndexInString);
-	OPCODE(0xf7, o71_findBox);
-	/* F8 */
 	OPCODE(0xf8, o72_getResourceSize);
 	OPCODE(0xf9, o72_createDirectory);
 	OPCODE(0xfa, o72_setSystemMessage);
-	OPCODE(0xfb, o71_polygonOps);
-	/* FC */
-	OPCODE(0xfc, o71_polygonHit);
 }
 
 static const int arrayDataSizes[] = { 0, 1, 4, 8, 8, 16, 32 };

Modified: scummvm/trunk/engines/scumm/he/script_v80he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v80he.cpp	2009-04-16 09:27:02 UTC (rev 39957)
+++ scummvm/trunk/engines/scumm/he/script_v80he.cpp	2009-04-16 09:27:22 UTC (rev 39958)
@@ -42,264 +42,28 @@
 #define OPCODE(i, x)	_opcodes[i]._OPCODE(ScummEngine_v80he, x)
 
 void ScummEngine_v80he::setupOpcodes() {
-	/* 00 */
-	OPCODE(0x00, o6_pushByte);
-	OPCODE(0x01, o6_pushWord);
-	OPCODE(0x02, o72_pushDWord);
-	OPCODE(0x03, o6_pushWordVar);
-	/* 04 */
-	OPCODE(0x04, o72_getScriptString);
-	OPCODE(0x07, o6_wordArrayRead);
-	/* 08 */
-	OPCODE(0x0b, o6_wordArrayIndexedRead);
-	/* 0C */
-	OPCODE(0x0c, o6_dup);
-	OPCODE(0x0d, o6_not);
-	OPCODE(0x0e, o6_eq);
-	OPCODE(0x0f, o6_neq);
-	/* 10 */
-	OPCODE(0x10, o6_gt);
-	OPCODE(0x11, o6_lt);
-	OPCODE(0x12, o6_le);
-	OPCODE(0x13, o6_ge);
-	/* 14 */
-	OPCODE(0x14, o6_add);
-	OPCODE(0x15, o6_sub);
-	OPCODE(0x16, o6_mul);
-	OPCODE(0x17, o6_div);
-	/* 18 */
-	OPCODE(0x18, o6_land);
-	OPCODE(0x19, o6_lor);
-	OPCODE(0x1a, o6_pop);
-	OPCODE(0x1b, o72_isAnyOf);
-	/* 1C */
-	/* 20 */
-	/* 24 */
-	/* 28 */
-	/* 2C */
-	/* 30 */
-	/* 34 */
-	/* 38 */
-	/* 3C */
-	/* 40 */
-	OPCODE(0x43, o6_writeWordVar);
-	/* 44 */
+	ScummEngine_v72he::setupOpcodes();
+
 	OPCODE(0x45, o80_createSound);
 	OPCODE(0x46, o80_getFileSize);
-	OPCODE(0x47, o6_wordArrayWrite);
-	/* 48 */
 	OPCODE(0x48, o80_stringToInt);
 	OPCODE(0x49, o80_getSoundVar);
 	OPCODE(0x4a, o80_localizeArrayToRoom);
-	OPCODE(0x4b, o6_wordArrayIndexedWrite);
-	/* 4C */
 	OPCODE(0x4c, o80_sourceDebug);
 	OPCODE(0x4d, o80_readConfigFile);
 	OPCODE(0x4e, o80_writeConfigFile);
-	OPCODE(0x4f, o6_wordVarInc);
-	/* 50 */
-	OPCODE(0x50, o72_resetCutscene);
-	OPCODE(0x52, o72_findObjectWithClassOf);
-	OPCODE(0x53, o6_wordArrayInc);
-	/* 54 */
-	OPCODE(0x54, o72_getObjectImageX);
-	OPCODE(0x55, o72_getObjectImageY);
-	OPCODE(0x56, o72_captureWizImage);
-	OPCODE(0x57, o6_wordVarDec);
-	/* 58 */
-	OPCODE(0x58, o72_getTimer);
-	OPCODE(0x59, o72_setTimer);
-	OPCODE(0x5a, o72_getSoundPosition);
-	OPCODE(0x5b, o6_wordArrayDec);
-	/* 5C */
-	OPCODE(0x5c, o6_if);
-	OPCODE(0x5d, o6_ifNot);
-	OPCODE(0x5e, o72_startScript);
-	OPCODE(0x5f, o6_startScriptQuick);
-	/* 60 */
-	OPCODE(0x60, o72_startObject);
-	OPCODE(0x61, o72_drawObject);
-	OPCODE(0x62, o72_printWizImage);
-	OPCODE(0x63, o72_getArrayDimSize);
-	/* 64 */
-	OPCODE(0x64, o72_getNumFreeArrays);
-	OPCODE(0x65, o6_stopObjectCode);
-	OPCODE(0x66, o6_stopObjectCode);
-	OPCODE(0x67, o6_endCutscene);
-	/* 68 */
-	OPCODE(0x68, o6_cutscene);
-	OPCODE(0x6a, o6_freezeUnfreeze);
+	_opcodes[0x69].setProc(0, 0);
 	OPCODE(0x6b, o80_cursorCommand);
-	/* 6C */
-	OPCODE(0x6c, o6_breakHere);
-	OPCODE(0x6d, o6_ifClassOfIs);
-	OPCODE(0x6e, o6_setClass);
-	OPCODE(0x6f, o6_getState);
-	/* 70 */
 	OPCODE(0x70, o80_setState);
-	OPCODE(0x71, o6_setOwner);
-	OPCODE(0x72, o6_getOwner);
-	OPCODE(0x73, o6_jump);
-	/* 74 */
-	OPCODE(0x74, o70_startSound);
-	OPCODE(0x75, o6_stopSound);
-	OPCODE(0x77, o6_stopObjectScript);
-	/* 78 */
-	OPCODE(0x78, o6_panCameraTo);
-	OPCODE(0x79, o6_actorFollowCamera);
-	OPCODE(0x7a, o6_setCameraAt);
-	OPCODE(0x7b, o6_loadRoom);
-	/* 7C */
-	OPCODE(0x7c, o6_stopScript);
-	OPCODE(0x7d, o6_walkActorToObj);
-	OPCODE(0x7e, o6_walkActorTo);
-	OPCODE(0x7f, o6_putActorAtXY);
-	/* 80 */
-	OPCODE(0x80, o6_putActorAtObject);
-	OPCODE(0x81, o6_faceActor);
-	OPCODE(0x82, o6_animateActor);
-	OPCODE(0x83, o6_doSentence);
-	/* 84 */
-	OPCODE(0x84, o70_pickupObject);
-	OPCODE(0x85, o6_loadRoomWithEgo);
-	OPCODE(0x87, o6_getRandomNumber);
-	/* 88 */
-	OPCODE(0x88, o6_getRandomNumberRange);
-	OPCODE(0x8a, o6_getActorMoving);
-	OPCODE(0x8b, o6_isScriptRunning);
-	/* 8C */
-	OPCODE(0x8c, o70_getActorRoom);
-	OPCODE(0x8d, o6_getObjectX);
-	OPCODE(0x8e, o6_getObjectY);
-	OPCODE(0x8f, o6_getObjectOldDir);
-	/* 90 */
-	OPCODE(0x90, o6_getActorWalkBox);
-	OPCODE(0x91, o6_getActorCostume);
-	OPCODE(0x92, o6_findInventory);
-	OPCODE(0x93, o6_getInventoryCount);
-	/* 94 */
-	OPCODE(0x95, o6_beginOverride);
-	OPCODE(0x96, o6_endOverride);
-	/* 98 */
-	OPCODE(0x98, o6_isSoundRunning);
-	OPCODE(0x99, o6_setBoxFlags);
-	OPCODE(0x9b, o70_resourceRoutines);
-	/* 9C */
-	OPCODE(0x9c, o72_roomOps);
-	OPCODE(0x9d, o72_actorOps);
-	OPCODE(0x9f, o6_getActorFromXY);
-	/* A0 */
-	OPCODE(0xa0, o72_findObject);
-	OPCODE(0xa1, o6_pseudoRoom);
-	OPCODE(0xa2, o6_getActorElevation);
-	OPCODE(0xa3, o6_getVerbEntrypoint);
-	/* A4 */
-	OPCODE(0xa4, o72_arrayOps);
-	OPCODE(0xa6, o6_drawBox);
-	OPCODE(0xa7, o6_pop);
-	/* A8 */
-	OPCODE(0xa8, o6_getActorWidth);
-	OPCODE(0xa9, o6_wait);
-	OPCODE(0xaa, o6_getActorScaleX);
-	OPCODE(0xab, o6_getActorAnimCounter);
-	/* AC */
+	_opcodes[0x76].setProc(0, 0);
+	_opcodes[0x94].setProc(0, 0);
+	_opcodes[0x9e].setProc(0, 0);
+	_opcodes[0xa5].setProc(0, 0);
 	OPCODE(0xac, o80_drawWizPolygon);
-	OPCODE(0xad, o6_isAnyOf);
-	OPCODE(0xae, o72_systemOps);
-	OPCODE(0xaf, o6_isActorInBox);
-	/* B0 */
-	OPCODE(0xb0, o6_delay);
-	OPCODE(0xb1, o6_delaySeconds);
-	OPCODE(0xb2, o6_delayMinutes);
-	OPCODE(0xb3, o6_stopSentence);
-	/* B4 */
-	OPCODE(0xb4, o6_printLine);
-	OPCODE(0xb5, o6_printText);
-	OPCODE(0xb6, o6_printDebug);
-	OPCODE(0xb7, o6_printSystem);
-	/* B8 */
-	OPCODE(0xb8, o6_printActor);
-	OPCODE(0xb9, o6_printEgo);
-	OPCODE(0xba, o72_talkActor);
-	OPCODE(0xbb, o72_talkEgo);
-	/* BC */
-	OPCODE(0xbc, o72_dimArray);
-	OPCODE(0xbd, o6_stopObjectCode);
-	OPCODE(0xbe, o6_startObjectQuick);
-	OPCODE(0xbf, o6_startScriptQuick2);
-	/* C0 */
-	OPCODE(0xc0, o72_dim2dimArray);
-	OPCODE(0xc1, o72_traceStatus);
-	/* C4 */
-	OPCODE(0xc4, o6_abs);
-	OPCODE(0xc5, o6_distObjectObject);
-	OPCODE(0xc6, o6_distObjectPt);
-	OPCODE(0xc7, o6_distPtPt);
-	/* C8 */
-	OPCODE(0xc8, o72_kernelGetFunctions);
-	OPCODE(0xc9, o71_kernelSetFunctions);
-	OPCODE(0xca, o6_delayFrames);
-	OPCODE(0xcb, o6_pickOneOf);
-	/* CC */
-	OPCODE(0xcc, o6_pickOneOfDefault);
-	OPCODE(0xcd, o6_stampObject);
-	OPCODE(0xce, o72_drawWizImage);
-	OPCODE(0xcf, o72_debugInput);
-	/* D0 */
-	OPCODE(0xd0, o6_getDateTime);
-	OPCODE(0xd1, o6_stopTalking);
-	OPCODE(0xd2, o6_getAnimateVariable);
-	/* D4 */
-	OPCODE(0xd4, o6_shuffle);
-	OPCODE(0xd5, o72_jumpToScript);
-	OPCODE(0xd6, o6_band);
-	OPCODE(0xd7, o6_bor);
-	/* D8 */
-	OPCODE(0xd8, o6_isRoomScriptRunning);
-	OPCODE(0xd9, o60_closeFile);
-	OPCODE(0xda, o72_openFile);
-	OPCODE(0xdb, o72_readFile);
-	/* DC */
-	OPCODE(0xdc, o72_writeFile);
-	OPCODE(0xdd, o72_findAllObjects);
-	OPCODE(0xde, o72_deleteFile);
-	OPCODE(0xdf, o72_rename);
-	/* E0 */
 	OPCODE(0xe0, o80_drawLine);
-	OPCODE(0xe1, o72_getPixel);
-	OPCODE(0xe2, o60_localizeArrayToScript);
 	OPCODE(0xe3, o80_pickVarRandom);
-	/* E4 */
-	OPCODE(0xe4, o6_setBoxSet);
-	/* E8 */
-	OPCODE(0xe9, o60_seekFilePos);
-	OPCODE(0xea, o72_redimArray);
-	OPCODE(0xeb, o60_readFilePos);
-	/* EC */
-	OPCODE(0xec, o71_copyString);
-	OPCODE(0xed, o71_getStringWidth);
-	OPCODE(0xee, o70_getStringLen);
-	OPCODE(0xef, o71_appendString);
-	/* F0 */
-	OPCODE(0xf0, o71_concatString);
-	OPCODE(0xf1, o71_compareString);
-	OPCODE(0xf2, o70_isResourceLoaded);
-	OPCODE(0xf3, o72_readINI);
-	/* F4 */
-	OPCODE(0xf4, o72_writeINI);
-	OPCODE(0xf5, o71_getStringLenForWidth);
-	OPCODE(0xf6, o71_getCharIndexInString);
-	OPCODE(0xf7, o71_findBox);
-	/* F8 */
-	OPCODE(0xf8, o72_getResourceSize);
-	OPCODE(0xf9, o72_createDirectory);
-	OPCODE(0xfa, o72_setSystemMessage);
-	OPCODE(0xfb, o71_polygonOps);
-	/* FC */
-	OPCODE(0xfc, o71_polygonHit);
 }
 
-
 void ScummEngine_v80he::o80_createSound() {
 	byte subOp = fetchScriptByte();
 

Modified: scummvm/trunk/engines/scumm/he/script_v90he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v90he.cpp	2009-04-16 09:27:02 UTC (rev 39957)
+++ scummvm/trunk/engines/scumm/he/script_v90he.cpp	2009-04-16 09:27:22 UTC (rev 39958)
@@ -41,37 +41,10 @@
 #define OPCODE(i, x)	_opcodes[i]._OPCODE(ScummEngine_v90he, x)
 
 void ScummEngine_v90he::setupOpcodes() {
-	/* 00 */
-	OPCODE(0x00, o6_pushByte);
-	OPCODE(0x01, o6_pushWord);
-	OPCODE(0x02, o72_pushDWord);
-	OPCODE(0x03, o6_pushWordVar);
-	/* 04 */
-	OPCODE(0x04, o72_getScriptString);
-	OPCODE(0x07, o6_wordArrayRead);
-	/* 08 */
+	ScummEngine_v80he::setupOpcodes();
+
 	OPCODE(0x0a, o90_dup_n);
-	OPCODE(0x0b, o6_wordArrayIndexedRead);
-	/* 0C */
-	OPCODE(0x0c, o6_dup);
-	OPCODE(0x0d, o6_not);
-	OPCODE(0x0e, o6_eq);
-	OPCODE(0x0f, o6_neq);
-	/* 10 */
-	OPCODE(0x10, o6_gt);
-	OPCODE(0x11, o6_lt);
-	OPCODE(0x12, o6_le);
-	OPCODE(0x13, o6_ge);
-	/* 14 */
-	OPCODE(0x14, o6_add);
-	OPCODE(0x15, o6_sub);
-	OPCODE(0x16, o6_mul);
-	OPCODE(0x17, o6_div);
-	/* 18 */
-	OPCODE(0x18, o6_land);
-	OPCODE(0x19, o6_lor);
-	OPCODE(0x1a, o6_pop);
-	OPCODE(0x1b, o72_isAnyOf);
+
 	/* 1C */
 	OPCODE(0x1c, o90_wizImageOps);
 	OPCODE(0x1d, o90_min);
@@ -111,227 +84,15 @@
 	OPCODE(0x38, o90_redim2dimArray);
 	OPCODE(0x39, o90_getLinesIntersectionPoint);
 	OPCODE(0x3a, o90_sortArray);
-	/* 3C */
-	/* 40 */
-	OPCODE(0x43, o6_writeWordVar);
-	/* 44 */
+
 	OPCODE(0x44, o90_getObjectData);
-	OPCODE(0x45, o80_createSound);
-	OPCODE(0x46, o80_getFileSize);
-	OPCODE(0x47, o6_wordArrayWrite);
-	/* 48 */
-	OPCODE(0x48, o80_stringToInt);
-	OPCODE(0x49, o80_getSoundVar);
-	OPCODE(0x4a, o80_localizeArrayToRoom);
-	OPCODE(0x4b, o6_wordArrayIndexedWrite);
-	/* 4C */
-	OPCODE(0x4c, o80_sourceDebug);
-	OPCODE(0x4d, o80_readConfigFile);
-	OPCODE(0x4e, o80_writeConfigFile);
-	OPCODE(0x4f, o6_wordVarInc);
-	/* 50 */
-	OPCODE(0x50, o72_resetCutscene);
-	OPCODE(0x52, o72_findObjectWithClassOf);
-	OPCODE(0x53, o6_wordArrayInc);
-	/* 54 */
-	OPCODE(0x54, o72_getObjectImageX);
-	OPCODE(0x55, o72_getObjectImageY);
-	OPCODE(0x56, o72_captureWizImage);
-	OPCODE(0x57, o6_wordVarDec);
-	/* 58 */
-	OPCODE(0x58, o72_getTimer);
-	OPCODE(0x59, o72_setTimer);
-	OPCODE(0x5a, o72_getSoundPosition);
-	OPCODE(0x5b, o6_wordArrayDec);
-	/* 5C */
-	OPCODE(0x5c, o6_if);
-	OPCODE(0x5d, o6_ifNot);
-	OPCODE(0x5e, o72_startScript);
-	OPCODE(0x5f, o6_startScriptQuick);
-	/* 60 */
-	OPCODE(0x60, o72_startObject);
-	OPCODE(0x61, o72_drawObject);
-	OPCODE(0x62, o72_printWizImage);
-	OPCODE(0x63, o72_getArrayDimSize);
-	/* 64 */
-	OPCODE(0x64, o72_getNumFreeArrays);
-	OPCODE(0x65, o6_stopObjectCode);
-	OPCODE(0x66, o6_stopObjectCode);
-	OPCODE(0x67, o6_endCutscene);
-	/* 68 */
-	OPCODE(0x68, o6_cutscene);
-	OPCODE(0x6a, o6_freezeUnfreeze);
-	OPCODE(0x6b, o80_cursorCommand);
-	/* 6C */
-	OPCODE(0x6c, o6_breakHere);
-	OPCODE(0x6d, o6_ifClassOfIs);
-	OPCODE(0x6e, o6_setClass);
-	OPCODE(0x6f, o6_getState);
-	/* 70 */
-	OPCODE(0x70, o80_setState);
-	OPCODE(0x71, o6_setOwner);
-	OPCODE(0x72, o6_getOwner);
-	OPCODE(0x73, o6_jump);
-	/* 74 */
-	OPCODE(0x74, o70_startSound);
-	OPCODE(0x75, o6_stopSound);
-	OPCODE(0x77, o6_stopObjectScript);
-	/* 78 */
-	OPCODE(0x78, o6_panCameraTo);
-	OPCODE(0x79, o6_actorFollowCamera);
-	OPCODE(0x7a, o6_setCameraAt);
-	OPCODE(0x7b, o6_loadRoom);
-	/* 7C */
-	OPCODE(0x7c, o6_stopScript);
-	OPCODE(0x7d, o6_walkActorToObj);
-	OPCODE(0x7e, o6_walkActorTo);
-	OPCODE(0x7f, o6_putActorAtXY);
-	/* 80 */
-	OPCODE(0x80, o6_putActorAtObject);
-	OPCODE(0x81, o6_faceActor);
-	OPCODE(0x82, o6_animateActor);
-	OPCODE(0x83, o6_doSentence);
-	/* 84 */
-	OPCODE(0x84, o70_pickupObject);
-	OPCODE(0x85, o6_loadRoomWithEgo);
-	OPCODE(0x87, o6_getRandomNumber);
-	/* 88 */
-	OPCODE(0x88, o6_getRandomNumberRange);
-	OPCODE(0x8a, o6_getActorMoving);
-	OPCODE(0x8b, o6_isScriptRunning);
-	/* 8C */
-	OPCODE(0x8c, o70_getActorRoom);
-	OPCODE(0x8d, o6_getObjectX);
-	OPCODE(0x8e, o6_getObjectY);
-	OPCODE(0x8f, o6_getObjectOldDir);
-	/* 90 */
-	OPCODE(0x90, o6_getActorWalkBox);
-	OPCODE(0x91, o6_getActorCostume);
-	OPCODE(0x92, o6_findInventory);
-	OPCODE(0x93, o6_getInventoryCount);
-	/* 94 */
+
 	OPCODE(0x94, o90_getPaletteData);
-	OPCODE(0x95, o6_beginOverride);
-	OPCODE(0x96, o6_endOverride);
-	/* 98 */
-	OPCODE(0x98, o6_isSoundRunning);
-	OPCODE(0x99, o6_setBoxFlags);
-	OPCODE(0x9b, o70_resourceRoutines);
-	/* 9C */
-	OPCODE(0x9c, o72_roomOps);
-	OPCODE(0x9d, o72_actorOps);
 	OPCODE(0x9e, o90_paletteOps);
-	OPCODE(0x9f, o6_getActorFromXY);
-	/* A0 */
-	OPCODE(0xa0, o72_findObject);
-	OPCODE(0xa1, o6_pseudoRoom);
-	OPCODE(0xa2, o6_getActorElevation);
-	OPCODE(0xa3, o6_getVerbEntrypoint);
-	/* A4 */
-	OPCODE(0xa4, o72_arrayOps);
 	OPCODE(0xa5, o90_fontUnk);
-	OPCODE(0xa6, o6_drawBox);
-	OPCODE(0xa7, o6_pop);
-	/* A8 */
-	OPCODE(0xa8, o6_getActorWidth);
-	OPCODE(0xa9, o6_wait);
-	OPCODE(0xaa, o6_getActorScaleX);
 	OPCODE(0xab, o90_getActorAnimProgress);
-	/* AC */
-	OPCODE(0xac, o80_drawWizPolygon);
-	OPCODE(0xad, o6_isAnyOf);
-	OPCODE(0xae, o72_systemOps);
-	OPCODE(0xaf, o6_isActorInBox);
-	/* B0 */
-	OPCODE(0xb0, o6_delay);
-	OPCODE(0xb1, o6_delaySeconds);
-	OPCODE(0xb2, o6_delayMinutes);
-	OPCODE(0xb3, o6_stopSentence);
-	/* B4 */
-	OPCODE(0xb4, o6_printLine);
-	OPCODE(0xb5, o6_printText);
-	OPCODE(0xb6, o6_printDebug);
-	OPCODE(0xb7, o6_printSystem);
-	/* B8 */
-	OPCODE(0xb8, o6_printActor);
-	OPCODE(0xb9, o6_printEgo);
-	OPCODE(0xba, o72_talkActor);
-	OPCODE(0xbb, o72_talkEgo);
-	/* BC */
-	OPCODE(0xbc, o72_dimArray);
-	OPCODE(0xbd, o6_stopObjectCode);
-	OPCODE(0xbe, o6_startObjectQuick);
-	OPCODE(0xbf, o6_startScriptQuick2);
-	/* C0 */
-	OPCODE(0xc0, o72_dim2dimArray);
-	OPCODE(0xc1, o72_traceStatus);
-	/* C4 */
-	OPCODE(0xc4, o6_abs);
-	OPCODE(0xc5, o6_distObjectObject);
-	OPCODE(0xc6, o6_distObjectPt);
-	OPCODE(0xc7, o6_distPtPt);
-	/* C8 */
 	OPCODE(0xc8, o90_kernelGetFunctions);
 	OPCODE(0xc9, o90_kernelSetFunctions);
-	OPCODE(0xca, o6_delayFrames);
-	OPCODE(0xcb, o6_pickOneOf);
-	/* CC */
-	OPCODE(0xcc, o6_pickOneOfDefault);
-	OPCODE(0xcd, o6_stampObject);
-	OPCODE(0xce, o72_drawWizImage);
-	OPCODE(0xcf, o72_debugInput);
-	/* D0 */
-	OPCODE(0xd0, o6_getDateTime);
-	OPCODE(0xd1, o6_stopTalking);
-	OPCODE(0xd2, o6_getAnimateVariable);
-	/* D4 */
-	OPCODE(0xd4, o6_shuffle);
-	OPCODE(0xd5, o72_jumpToScript);
-	OPCODE(0xd6, o6_band);
-	OPCODE(0xd7, o6_bor);
-	/* D8 */
-	OPCODE(0xd8, o6_isRoomScriptRunning);
-	OPCODE(0xd9, o60_closeFile);
-	OPCODE(0xda, o72_openFile);
-	OPCODE(0xdb, o72_readFile);
-	/* DC */
-	OPCODE(0xdc, o72_writeFile);
-	OPCODE(0xdd, o72_findAllObjects);
-	OPCODE(0xde, o72_deleteFile);
-	OPCODE(0xdf, o72_rename);
-	/* E0 */
-	OPCODE(0xe0, o80_drawLine);
-	OPCODE(0xe1, o72_getPixel);
-	OPCODE(0xe2, o60_localizeArrayToScript);
-	OPCODE(0xe3, o80_pickVarRandom);
-	/* E4 */
-	OPCODE(0xe4, o6_setBoxSet);
-	/* E8 */
-	OPCODE(0xe9, o60_seekFilePos);
-	OPCODE(0xea, o72_redimArray);
-	OPCODE(0xeb, o60_readFilePos);
-	/* EC */
-	OPCODE(0xec, o71_copyString);
-	OPCODE(0xed, o71_getStringWidth);
-	OPCODE(0xee, o70_getStringLen);
-	OPCODE(0xef, o71_appendString);
-	/* F0 */
-	OPCODE(0xf0, o71_concatString);
-	OPCODE(0xf1, o71_compareString);
-	OPCODE(0xf2, o70_isResourceLoaded);
-	OPCODE(0xf3, o72_readINI);
-	/* F4 */
-	OPCODE(0xf4, o72_writeINI);
-	OPCODE(0xf5, o71_getStringLenForWidth);
-	OPCODE(0xf6, o71_getCharIndexInString);
-	OPCODE(0xf7, o71_findBox);
-	/* F8 */
-	OPCODE(0xf8, o72_getResourceSize);
-	OPCODE(0xf9, o72_createDirectory);
-	OPCODE(0xfa, o72_setSystemMessage);
-	OPCODE(0xfb, o71_polygonOps);
-	/* FC */
-	OPCODE(0xfc, o71_polygonHit);
 }
 
 void ScummEngine_v90he::o90_dup_n() {

Modified: scummvm/trunk/engines/scumm/script_v6.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v6.cpp	2009-04-16 09:27:02 UTC (rev 39957)
+++ scummvm/trunk/engines/scumm/script_v6.cpp	2009-04-16 09:27:22 UTC (rev 39958)
@@ -232,7 +232,6 @@
 	OPCODE(0xbb, o6_talkEgo);
 	/* BC */
 	OPCODE(0xbc, o6_dimArray);
-	OPCODE(0xbd, o6_dummy);
 	OPCODE(0xbe, o6_startObjectQuick);
 	OPCODE(0xbf, o6_startScriptQuick2);
 	/* C0 */
@@ -272,10 +271,6 @@
 	/* EC */
 	OPCODE(0xec, o6_getActorLayer);
 	OPCODE(0xed, o6_getObjectNewDir);
-	/* F0 */
-	/* F4 */
-	/* F8 */
-	/* FC */
 }
 
 int ScummEngine_v6::popRoomAndObj(int *room) {
@@ -2357,9 +2352,6 @@
 }
 
 void ScummEngine_v6::o6_dummy() {
-	if (_game.heversion >= 60) {
-		stopObjectCode();
-	}
 }
 
 void ScummEngine_v6::o6_dim2dimArray() {


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list