[Scummvm-cvs-logs] SF.net SVN: scummvm: [31773] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Tue Apr 29 17:12:09 CEST 2008


Revision: 31773
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31773&view=rev
Author:   lordhoto
Date:     2008-04-29 08:12:09 -0700 (Tue, 29 Apr 2008)

Log Message:
-----------
- Renamed ScriptInterpreter -> EMCInterpreter
- Renamed ScriptState -> EMCState, ScriptData -> EMCData
- Removed 'Script' from function names inside EMCInterpreter
- Fixed KyraEngine::readSettings and KyraEngine::writeSettings for kyra3

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui_v1.cpp
    scummvm/trunk/engines/kyra/gui_v3.cpp
    scummvm/trunk/engines/kyra/kyra.cpp
    scummvm/trunk/engines/kyra/kyra.h
    scummvm/trunk/engines/kyra/kyra_v1.cpp
    scummvm/trunk/engines/kyra/kyra_v1.h
    scummvm/trunk/engines/kyra/kyra_v2.cpp
    scummvm/trunk/engines/kyra/kyra_v2.h
    scummvm/trunk/engines/kyra/kyra_v3.cpp
    scummvm/trunk/engines/kyra/kyra_v3.h
    scummvm/trunk/engines/kyra/scene_v1.cpp
    scummvm/trunk/engines/kyra/scene_v2.cpp
    scummvm/trunk/engines/kyra/scene_v3.cpp
    scummvm/trunk/engines/kyra/script.cpp
    scummvm/trunk/engines/kyra/script.h
    scummvm/trunk/engines/kyra/script_v1.cpp
    scummvm/trunk/engines/kyra/script_v2.cpp
    scummvm/trunk/engines/kyra/script_v3.cpp
    scummvm/trunk/engines/kyra/sequences_v3.cpp
    scummvm/trunk/engines/kyra/text_v2.cpp
    scummvm/trunk/engines/kyra/text_v3.cpp
    scummvm/trunk/engines/kyra/timer_v3.cpp

Modified: scummvm/trunk/engines/kyra/gui_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_v1.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/gui_v1.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -119,15 +119,15 @@
 	drawJewelsFadeOutStart();
 	drawJewelsFadeOutEnd(jewel);
 
-	_scriptInterpreter->initScript(_scriptClick, _scriptClickData);
-	_scriptClick->regs[3] = 0;
-	_scriptClick->regs[6] = jewel;
-	_scriptInterpreter->startScript(_scriptClick, 4);
+	_emc->init(&_scriptClick, &_scriptClickData);
+	_scriptClick.regs[3] = 0;
+	_scriptClick.regs[6] = jewel;
+	_emc->start(&_scriptClick, 4);
 
-	while (_scriptInterpreter->validScript(_scriptClick))
-		_scriptInterpreter->runScript(_scriptClick);
+	while (_emc->isValid(&_scriptClick))
+		_emc->run(&_scriptClick);
 
-	if (_scriptClick->regs[3])
+	if (_scriptClick.regs[3])
 		return 1;
 
 	_unkAmuletVar = 1;

Modified: scummvm/trunk/engines/kyra/gui_v3.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_v3.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/gui_v3.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -525,26 +525,26 @@
 		drawMalcolmsMoodText();
 		updateDlgIndex();
 		
-		ScriptData data;
-		ScriptState state;
+		EMCData data;
+		EMCState state;
 		memset(&data, 0, sizeof(data));
 		memset(&state, 0, sizeof(state));
 
 		_res->exists("_ACTOR.EMC", true);
-		_scriptInterpreter->loadScript("_ACTOR.EMC", &data, &_opcodes);
-		_scriptInterpreter->initScript(&state, &data);
-		_scriptInterpreter->startScript(&state, 1);
+		_emc->load("_ACTOR.EMC", &data, &_opcodes);
+		_emc->init(&state, &data);
+		_emc->start(&state, 1);
 
 		int vocHigh = _vocHigh;
 		_vocHigh = 200;
 		_useActorBuffer = true;
 
-		while (_scriptInterpreter->validScript(&state))
-			_scriptInterpreter->runScript(&state);
+		while (_emc->isValid(&state))
+			_emc->run(&state);
 
 		_useActorBuffer = false;
 		_vocHigh = vocHigh;
-		_scriptInterpreter->unloadScript(&data);
+		_emc->unload(&data);
 	}
 
 	return 0;

Modified: scummvm/trunk/engines/kyra/kyra.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -45,7 +45,7 @@
 	_text = 0;
 	_staticres = 0;
 	_timer = 0;
-	_scriptInterpreter = 0;
+	_emc = 0;
 
 	_gameSpeed = 60;
 	_tickLength = (uint8)(1000.0 / _gameSpeed);
@@ -145,8 +145,8 @@
 	_timer = new TimerManager(this, _system);
 	assert(_timer);
 	setupTimers();
-	_scriptInterpreter = new ScriptHelper(this);
-	assert(_scriptInterpreter);
+	_emc = new EMCInterpreter(this);
+	assert(_emc);
 
 	setupOpcodeTable();
 	readSettings();
@@ -200,7 +200,7 @@
 	delete _sound;
 	delete _text;
 	delete _timer;
-	delete _scriptInterpreter;
+	delete _emc;
 }
 
 void KyraEngine::quitGame() {
@@ -273,8 +273,10 @@
 	}
 	_configSounds = ConfMan.getBool("sfx_mute") ? 0 : 1;
 
-	_sound->enableMusic(_configMusic);
-	_sound->enableSFX(_configSounds);
+	if (_sound) {
+		_sound->enableMusic(_configMusic);
+		_sound->enableSFX(_configSounds);
+	}
 
 	bool speechMute = ConfMan.getBool("speech_mute");
 	bool subtitles = ConfMan.getBool("subtitles");
@@ -313,12 +315,13 @@
 		break;
 	}
 
-	if (!_configMusic)
-		_sound->beginFadeOut();
+	if (_sound) {
+		if (!_configMusic)
+			_sound->beginFadeOut();
+		_sound->enableMusic(_configMusic);
+		_sound->enableSFX(_configSounds);
+	}
 
-	_sound->enableMusic(_configMusic);
-	_sound->enableSFX(_configSounds);
-
 	ConfMan.setBool("speech_mute", speechMute);
 	ConfMan.setBool("subtitles", subtitles);
 

Modified: scummvm/trunk/engines/kyra/kyra.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra.h	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra.h	2008-04-29 15:12:09 UTC (rev 31773)
@@ -72,7 +72,7 @@
 // in the future we maybe merge some flags  and/or create new ones
 enum kDebugLevels {
 	kDebugLevelScriptFuncs = 1 << 0,		// prints debug output of o#_* functions
-	kDebugLevelScript = 1 << 1,				// prints debug output of "ScriptHelper" functions
+	kDebugLevelScript = 1 << 1,				// prints debug output of "EMCInterpreter" functions
 	kDebugLevelSprites = 1 << 2,			// prints debug output of "Sprites" functions
 	kDebugLevelScreen = 1 << 3,				// prints debug output of "Screen" functions
 	kDebugLevelSound = 1 << 4,				// prints debug output of "Sound" functions
@@ -175,7 +175,7 @@
 	TextDisplayer *_text;
 	StaticResource *_staticres;
 	TimerManager *_timer;
-	ScriptHelper *_scriptInterpreter;
+	EMCInterpreter *_emc;
 
 	// config specific
 	virtual void registerDefaultSettings();

Modified: scummvm/trunk/engines/kyra/kyra_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v1.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra_v1.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -81,10 +81,6 @@
 	_sprites = 0;
 	_animator = 0;
 	_seq = 0;
-	_npcScriptData = 0;
-	_scriptMain = 0;
-	_scriptClickData = 0;
-	_scriptClick = 0;
 	_characterList = 0;
 	_movFacingTable = 0;
 	_buttonData = 0;
@@ -94,7 +90,6 @@
 	_finalA = _finalB = _finalC = 0;
 	_endSequenceBackUpRect = 0;
 	memset(_panPagesTable, 0, sizeof(_panPagesTable));
-	_npcScriptData = _scriptClickData = 0;
 	memset(_sceneAnimTable, 0, sizeof(_sceneAnimTable));
 	_currHeadShape = 0;
 
@@ -110,9 +105,9 @@
 	}
 
 	closeFinalWsa();
-	if (_scriptInterpreter) {
-		_scriptInterpreter->unloadScript(_npcScriptData);
-		_scriptInterpreter->unloadScript(_scriptClickData);
+	if (_emc) {
+		_emc->unload(&_npcScriptData);
+		_emc->unload(&_scriptClickData);
 	}
 
 	Common::clearAllSpecialDebugLevels();
@@ -123,12 +118,6 @@
 	delete _animator;
 	delete _seq;
 
-	delete _npcScriptData;
-	delete _scriptMain;
-
-	delete _scriptClickData;
-	delete _scriptClick;
-
 	delete [] _characterList;
 
 	delete [] _movFacingTable;
@@ -212,24 +201,13 @@
 	_characterList[0].facing = 3;
 	_characterList[0].currentAnimFrame = 7;
 
-	_npcScriptData = new ScriptData;
-	memset(_npcScriptData, 0, sizeof(ScriptData));
-	assert(_npcScriptData);
-	_npcScript = new ScriptState;
-	assert(_npcScript);
-	memset(_npcScript, 0, sizeof(ScriptState));
+	memset(&_npcScriptData, 0, sizeof(EMCData));
+	memset(&_scriptClickData, 0, sizeof(EMCData));
 
-	_scriptMain = new ScriptState;
-	assert(_scriptMain);
-	memset(_scriptMain, 0, sizeof(ScriptState));
+	memset(&_npcScript, 0, sizeof(EMCState));
+	memset(&_scriptMain, 0, sizeof(EMCState));
+	memset(&_scriptClick, 0, sizeof(EMCState));
 
-	_scriptClickData = new ScriptData;
-	assert(_scriptClickData);
-	memset(_scriptClickData, 0, sizeof(ScriptData));
-	_scriptClick = new ScriptState;
-	assert(_scriptClick);
-	memset(_scriptClick, 0, sizeof(ScriptState));
-
 	_debugger = new Debugger_v1(this);
 	assert(_debugger);
 	memset(_shapes, 0, sizeof(_shapes));
@@ -387,19 +365,19 @@
 	_animator->initAnimStateList();
 	setCharactersInDefaultScene();
 
-	if (!_scriptInterpreter->loadScript("_STARTUP.EMC", _npcScriptData, &_opcodes))
+	if (!_emc->load("_STARTUP.EMC", &_npcScriptData, &_opcodes))
 		error("Could not load \"_STARTUP.EMC\" script");
-	_scriptInterpreter->initScript(_scriptMain, _npcScriptData);
+	_emc->init(&_scriptMain, &_npcScriptData);
 
-	if (!_scriptInterpreter->startScript(_scriptMain, 0))
+	if (!_emc->start(&_scriptMain, 0))
 		error("Could not start script function 0 of script \"_STARTUP.EMC\"");
 
-	while (_scriptInterpreter->validScript(_scriptMain))
-		_scriptInterpreter->runScript(_scriptMain);
+	while (_emc->isValid(&_scriptMain))
+		_emc->run(&_scriptMain);
 
-	_scriptInterpreter->unloadScript(_npcScriptData);
+	_emc->unload(&_npcScriptData);
 
-	if (!_scriptInterpreter->loadScript("_NPC.EMC", _npcScriptData, &_opcodes))
+	if (!_emc->load("_NPC.EMC", &_npcScriptData, &_opcodes))
 		error("Could not load \"_NPC.EMC\" script");
 
 	snd_playTheme(1, -1);
@@ -785,17 +763,17 @@
 
 int KyraEngine_v1::clickEventHandler(int xpos, int ypos) {
 	debugC(9, kDebugLevelMain, "KyraEngine_v1::clickEventHandler(%d, %d)", xpos, ypos);
-	_scriptInterpreter->initScript(_scriptClick, _scriptClickData);
-	_scriptClick->regs[1] = xpos;
-	_scriptClick->regs[2] = ypos;
-	_scriptClick->regs[3] = 0;
-	_scriptClick->regs[4] = _itemInHand;
-	_scriptInterpreter->startScript(_scriptClick, 1);
+	_emc->init(&_scriptClick, &_scriptClickData);
+	_scriptClick.regs[1] = xpos;
+	_scriptClick.regs[2] = ypos;
+	_scriptClick.regs[3] = 0;
+	_scriptClick.regs[4] = _itemInHand;
+	_emc->start(&_scriptClick, 1);
 
-	while (_scriptInterpreter->validScript(_scriptClick))
-		_scriptInterpreter->runScript(_scriptClick);
+	while (_emc->isValid(&_scriptClick))
+		_emc->run(&_scriptClick);
 
-	return _scriptClick->regs[3];
+	return _scriptClick.regs[3];
 }
 
 void KyraEngine_v1::updateMousePointer(bool forceUpdate) {
@@ -929,15 +907,15 @@
 
 	Common::Point mouse = getMousePos();
 
-	_scriptInterpreter->initScript(_scriptClick, _scriptClickData);
-	_scriptClick->regs[0] = _currentCharacter->sceneId;
-	_scriptClick->regs[1] = mouse.x;
-	_scriptClick->regs[2] = mouse.y;
-	_scriptClick->regs[4] = _itemInHand;
-	_scriptInterpreter->startScript(_scriptClick, 6);
+	_emc->init(&_scriptClick, &_scriptClickData);
+	_scriptClick.regs[0] = _currentCharacter->sceneId;
+	_scriptClick.regs[1] = mouse.x;
+	_scriptClick.regs[2] = mouse.y;
+	_scriptClick.regs[4] = _itemInHand;
+	_emc->start(&_scriptClick, 6);
 
-	while (_scriptInterpreter->validScript(_scriptClick))
-		_scriptInterpreter->runScript(_scriptClick);
+	while (_emc->isValid(&_scriptClick))
+		_emc->run(&_scriptClick);
 }
 
 int KyraEngine_v1::checkForNPCScriptRun(int xpos, int ypos) {
@@ -991,14 +969,14 @@
 
 void KyraEngine_v1::runNpcScript(int func) {
 	debugC(9, kDebugLevelMain, "KyraEngine_v1::runNpcScript(%d)", func);
-	_scriptInterpreter->initScript(_npcScript, _npcScriptData);
-	_scriptInterpreter->startScript(_npcScript, func);
-	_npcScript->regs[0] = _currentCharacter->sceneId;
-	_npcScript->regs[4] = _itemInHand;
-	_npcScript->regs[5] = func;
+	_emc->init(&_npcScript, &_npcScriptData);
+	_emc->start(&_npcScript, func);
+	_npcScript.regs[0] = _currentCharacter->sceneId;
+	_npcScript.regs[4] = _itemInHand;
+	_npcScript.regs[5] = func;
 
-	while (_scriptInterpreter->validScript(_npcScript))
-		_scriptInterpreter->runScript(_npcScript);
+	while (_emc->isValid(&_npcScript))
+		_emc->run(&_npcScript);
 }
 
 void KyraEngine_v1::checkAmuletAnimFlags() {

Modified: scummvm/trunk/engines/kyra/kyra_v1.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v1.h	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra_v1.h	2008-04-29 15:12:09 UTC (rev 31773)
@@ -482,13 +482,13 @@
 	Screen_v1 *_screen;
 	Debugger *_debugger;
 
-	ScriptState *_scriptMain;
+	EMCState _scriptMain;
 
-	ScriptState *_npcScript;
-	ScriptData *_npcScriptData;
+	EMCState _npcScript;
+	EMCData _npcScriptData;
 
-	ScriptState *_scriptClick;
-	ScriptData *_scriptClickData;
+	EMCState _scriptClick;
+	EMCData _scriptClickData;
 
 	Character *_characterList;
 	Character *_currentCharacter;
@@ -656,163 +656,163 @@
 	void setupOpcodeTable();
 
 	// Opcodes
-	int o1_magicInMouseItem(ScriptState *script);
-	int o1_characterSays(ScriptState *script);
-	int o1_pauseTicks(ScriptState *script);
-	int o1_drawSceneAnimShape(ScriptState *script);
-	int o1_queryGameFlag(ScriptState *script);
-	int o1_setGameFlag(ScriptState *script);
-	int o1_resetGameFlag(ScriptState *script);
-	int o1_runNPCScript(ScriptState *script);
-	int o1_setSpecialExitList(ScriptState *script);
-	int o1_blockInWalkableRegion(ScriptState *script);
-	int o1_blockOutWalkableRegion(ScriptState *script);
-	int o1_walkPlayerToPoint(ScriptState *script);
-	int o1_dropItemInScene(ScriptState *script);
-	int o1_drawAnimShapeIntoScene(ScriptState *script);
-	int o1_createMouseItem(ScriptState *script);
-	int o1_savePageToDisk(ScriptState *script);
-	int o1_sceneAnimOn(ScriptState *script);
-	int o1_sceneAnimOff(ScriptState *script);
-	int o1_getElapsedSeconds(ScriptState *script);
-	int o1_mouseIsPointer(ScriptState *script);
-	int o1_destroyMouseItem(ScriptState *script);
-	int o1_runSceneAnimUntilDone(ScriptState *script);
-	int o1_fadeSpecialPalette(ScriptState *script);
-	int o1_playAdlibSound(ScriptState *script);
-	int o1_playAdlibScore(ScriptState *script);
-	int o1_phaseInSameScene(ScriptState *script);
-	int o1_setScenePhasingFlag(ScriptState *script);
-	int o1_resetScenePhasingFlag(ScriptState *script);
-	int o1_queryScenePhasingFlag(ScriptState *script);
-	int o1_sceneToDirection(ScriptState *script);
-	int o1_setBirthstoneGem(ScriptState *script);
-	int o1_placeItemInGenericMapScene(ScriptState *script);
-	int o1_setBrandonStatusBit(ScriptState *script);
-	int o1_pauseSeconds(ScriptState *script);
-	int o1_getCharactersLocation(ScriptState *script);
-	int o1_runNPCSubscript(ScriptState *script);
-	int o1_magicOutMouseItem(ScriptState *script);
-	int o1_internalAnimOn(ScriptState *script);
-	int o1_forceBrandonToNormal(ScriptState *script);
-	int o1_poisonDeathNow(ScriptState *script);
-	int o1_setScaleMode(ScriptState *script);
-	int o1_openWSAFile(ScriptState *script);
-	int o1_closeWSAFile(ScriptState *script);
-	int o1_runWSAFromBeginningToEnd(ScriptState *script);
-	int o1_displayWSAFrame(ScriptState *script);
-	int o1_enterNewScene(ScriptState *script);
-	int o1_setSpecialEnterXAndY(ScriptState *script);
-	int o1_runWSAFrames(ScriptState *script);
-	int o1_popBrandonIntoScene(ScriptState *script);
-	int o1_restoreAllObjectBackgrounds(ScriptState *script);
-	int o1_setCustomPaletteRange(ScriptState *script);
-	int o1_loadPageFromDisk(ScriptState *script);
-	int o1_customPrintTalkString(ScriptState *script);
-	int o1_restoreCustomPrintBackground(ScriptState *script);
-	int o1_hideMouse(ScriptState *script);
-	int o1_showMouse(ScriptState *script);
-	int o1_getCharacterX(ScriptState *script);
-	int o1_getCharacterY(ScriptState *script);
-	int o1_changeCharactersFacing(ScriptState *script);
-	int o1_copyWSARegion(ScriptState *script);
-	int o1_printText(ScriptState *script);
-	int o1_random(ScriptState *script);
-	int o1_loadSoundFile(ScriptState *script);
-	int o1_displayWSAFrameOnHidPage(ScriptState *script);
-	int o1_displayWSASequentialFrames(ScriptState *script);
-	int o1_drawCharacterStanding(ScriptState *script);
-	int o1_internalAnimOff(ScriptState *script);
-	int o1_changeCharactersXAndY(ScriptState *script);
-	int o1_clearSceneAnimatorBeacon(ScriptState *script);
-	int o1_querySceneAnimatorBeacon(ScriptState *script);
-	int o1_refreshSceneAnimator(ScriptState *script);
-	int o1_placeItemInOffScene(ScriptState *script);
-	int o1_wipeDownMouseItem(ScriptState *script);
-	int o1_placeCharacterInOtherScene(ScriptState *script);
-	int o1_getKey(ScriptState *script);
-	int o1_specificItemInInventory(ScriptState *script);
-	int o1_popMobileNPCIntoScene(ScriptState *script);
-	int o1_mobileCharacterInScene(ScriptState *script);
-	int o1_hideMobileCharacter(ScriptState *script);
-	int o1_unhideMobileCharacter(ScriptState *script);
-	int o1_setCharactersLocation(ScriptState *script);
-	int o1_walkCharacterToPoint(ScriptState *script);
-	int o1_specialEventDisplayBrynnsNote(ScriptState *script);
-	int o1_specialEventRemoveBrynnsNote(ScriptState *script);
-	int o1_setLogicPage(ScriptState *script);
-	int o1_fatPrint(ScriptState *script);
-	int o1_preserveAllObjectBackgrounds(ScriptState *script);
-	int o1_updateSceneAnimations(ScriptState *script);
-	int o1_sceneAnimationActive(ScriptState *script);
-	int o1_setCharactersMovementDelay(ScriptState *script);
-	int o1_getCharactersFacing(ScriptState *script);
-	int o1_bkgdScrollSceneAndMasksRight(ScriptState *script);
-	int o1_dispelMagicAnimation(ScriptState *script);
-	int o1_findBrightestFireberry(ScriptState *script);
-	int o1_setFireberryGlowPalette(ScriptState *script);
-	int o1_setDeathHandlerFlag(ScriptState *script);
-	int o1_drinkPotionAnimation(ScriptState *script);
-	int o1_makeAmuletAppear(ScriptState *script);
-	int o1_drawItemShapeIntoScene(ScriptState *script);
-	int o1_setCharactersCurrentFrame(ScriptState *script);
-	int o1_waitForConfirmationMouseClick(ScriptState *script);
-	int o1_pageFlip(ScriptState *script);
-	int o1_setSceneFile(ScriptState *script);
-	int o1_getItemInMarbleVase(ScriptState *script);
-	int o1_setItemInMarbleVase(ScriptState *script);
-	int o1_addItemToInventory(ScriptState *script);
-	int o1_intPrint(ScriptState *script);
-	int o1_shakeScreen(ScriptState *script);
-	int o1_createAmuletJewel(ScriptState *script);
-	int o1_setSceneAnimCurrXY(ScriptState *script);
-	int o1_poisonBrandonAndRemaps(ScriptState *script);
-	int o1_fillFlaskWithWater(ScriptState *script);
-	int o1_getCharactersMovementDelay(ScriptState *script);
-	int o1_getBirthstoneGem(ScriptState *script);
-	int o1_queryBrandonStatusBit(ScriptState *script);
-	int o1_playFluteAnimation(ScriptState *script);
-	int o1_playWinterScrollSequence(ScriptState *script);
-	int o1_getIdolGem(ScriptState *script);
-	int o1_setIdolGem(ScriptState *script);
-	int o1_totalItemsInScene(ScriptState *script);
-	int o1_restoreBrandonsMovementDelay(ScriptState *script);
-	int o1_setMousePos(ScriptState *script);
-	int o1_getMouseState(ScriptState *script);
-	int o1_setEntranceMouseCursorTrack(ScriptState *script);
-	int o1_itemAppearsOnGround(ScriptState *script);
-	int o1_setNoDrawShapesFlag(ScriptState *script);
-	int o1_fadeEntirePalette(ScriptState *script);
-	int o1_itemOnGroundHere(ScriptState *script);
-	int o1_queryCauldronState(ScriptState *script);
-	int o1_setCauldronState(ScriptState *script);
-	int o1_queryCrystalState(ScriptState *script);
-	int o1_setCrystalState(ScriptState *script);
-	int o1_setPaletteRange(ScriptState *script);
-	int o1_shrinkBrandonDown(ScriptState *script);
-	int o1_growBrandonUp(ScriptState *script);
-	int o1_setBrandonScaleXAndY(ScriptState *script);
-	int o1_resetScaleMode(ScriptState *script);
-	int o1_getScaleDepthTableValue(ScriptState *script);
-	int o1_setScaleDepthTableValue(ScriptState *script);
-	int o1_message(ScriptState *script);
-	int o1_checkClickOnNPC(ScriptState *script);
-	int o1_getFoyerItem(ScriptState *script);
-	int o1_setFoyerItem(ScriptState *script);
-	int o1_setNoItemDropRegion(ScriptState *script);
-	int o1_walkMalcolmOn(ScriptState *script);
-	int o1_passiveProtection(ScriptState *script);
-	int o1_setPlayingLoop(ScriptState *script);
-	int o1_brandonToStoneSequence(ScriptState *script);
-	int o1_brandonHealingSequence(ScriptState *script);
-	int o1_protectCommandLine(ScriptState *script);
-	int o1_pauseMusicSeconds(ScriptState *script);
-	int o1_resetMaskRegion(ScriptState *script);
-	int o1_setPaletteChangeFlag(ScriptState *script);
-	int o1_fillRect(ScriptState *script);
-	int o1_dummy(ScriptState *script);
-	int o1_vocUnload(ScriptState *script);
-	int o1_vocLoad(ScriptState *script);
+	int o1_magicInMouseItem(EMCState *script);
+	int o1_characterSays(EMCState *script);
+	int o1_pauseTicks(EMCState *script);
+	int o1_drawSceneAnimShape(EMCState *script);
+	int o1_queryGameFlag(EMCState *script);
+	int o1_setGameFlag(EMCState *script);
+	int o1_resetGameFlag(EMCState *script);
+	int o1_runNPCScript(EMCState *script);
+	int o1_setSpecialExitList(EMCState *script);
+	int o1_blockInWalkableRegion(EMCState *script);
+	int o1_blockOutWalkableRegion(EMCState *script);
+	int o1_walkPlayerToPoint(EMCState *script);
+	int o1_dropItemInScene(EMCState *script);
+	int o1_drawAnimShapeIntoScene(EMCState *script);
+	int o1_createMouseItem(EMCState *script);
+	int o1_savePageToDisk(EMCState *script);
+	int o1_sceneAnimOn(EMCState *script);
+	int o1_sceneAnimOff(EMCState *script);
+	int o1_getElapsedSeconds(EMCState *script);
+	int o1_mouseIsPointer(EMCState *script);
+	int o1_destroyMouseItem(EMCState *script);
+	int o1_runSceneAnimUntilDone(EMCState *script);
+	int o1_fadeSpecialPalette(EMCState *script);
+	int o1_playAdlibSound(EMCState *script);
+	int o1_playAdlibScore(EMCState *script);
+	int o1_phaseInSameScene(EMCState *script);
+	int o1_setScenePhasingFlag(EMCState *script);
+	int o1_resetScenePhasingFlag(EMCState *script);
+	int o1_queryScenePhasingFlag(EMCState *script);
+	int o1_sceneToDirection(EMCState *script);
+	int o1_setBirthstoneGem(EMCState *script);
+	int o1_placeItemInGenericMapScene(EMCState *script);
+	int o1_setBrandonStatusBit(EMCState *script);
+	int o1_pauseSeconds(EMCState *script);
+	int o1_getCharactersLocation(EMCState *script);
+	int o1_runNPCSubscript(EMCState *script);
+	int o1_magicOutMouseItem(EMCState *script);
+	int o1_internalAnimOn(EMCState *script);
+	int o1_forceBrandonToNormal(EMCState *script);
+	int o1_poisonDeathNow(EMCState *script);
+	int o1_setScaleMode(EMCState *script);
+	int o1_openWSAFile(EMCState *script);
+	int o1_closeWSAFile(EMCState *script);
+	int o1_runWSAFromBeginningToEnd(EMCState *script);
+	int o1_displayWSAFrame(EMCState *script);
+	int o1_enterNewScene(EMCState *script);
+	int o1_setSpecialEnterXAndY(EMCState *script);
+	int o1_runWSAFrames(EMCState *script);
+	int o1_popBrandonIntoScene(EMCState *script);
+	int o1_restoreAllObjectBackgrounds(EMCState *script);
+	int o1_setCustomPaletteRange(EMCState *script);
+	int o1_loadPageFromDisk(EMCState *script);
+	int o1_customPrintTalkString(EMCState *script);
+	int o1_restoreCustomPrintBackground(EMCState *script);
+	int o1_hideMouse(EMCState *script);
+	int o1_showMouse(EMCState *script);
+	int o1_getCharacterX(EMCState *script);
+	int o1_getCharacterY(EMCState *script);
+	int o1_changeCharactersFacing(EMCState *script);
+	int o1_copyWSARegion(EMCState *script);
+	int o1_printText(EMCState *script);
+	int o1_random(EMCState *script);
+	int o1_loadSoundFile(EMCState *script);
+	int o1_displayWSAFrameOnHidPage(EMCState *script);
+	int o1_displayWSASequentialFrames(EMCState *script);
+	int o1_drawCharacterStanding(EMCState *script);
+	int o1_internalAnimOff(EMCState *script);
+	int o1_changeCharactersXAndY(EMCState *script);
+	int o1_clearSceneAnimatorBeacon(EMCState *script);
+	int o1_querySceneAnimatorBeacon(EMCState *script);
+	int o1_refreshSceneAnimator(EMCState *script);
+	int o1_placeItemInOffScene(EMCState *script);
+	int o1_wipeDownMouseItem(EMCState *script);
+	int o1_placeCharacterInOtherScene(EMCState *script);
+	int o1_getKey(EMCState *script);
+	int o1_specificItemInInventory(EMCState *script);
+	int o1_popMobileNPCIntoScene(EMCState *script);
+	int o1_mobileCharacterInScene(EMCState *script);
+	int o1_hideMobileCharacter(EMCState *script);
+	int o1_unhideMobileCharacter(EMCState *script);
+	int o1_setCharactersLocation(EMCState *script);
+	int o1_walkCharacterToPoint(EMCState *script);
+	int o1_specialEventDisplayBrynnsNote(EMCState *script);
+	int o1_specialEventRemoveBrynnsNote(EMCState *script);
+	int o1_setLogicPage(EMCState *script);
+	int o1_fatPrint(EMCState *script);
+	int o1_preserveAllObjectBackgrounds(EMCState *script);
+	int o1_updateSceneAnimations(EMCState *script);
+	int o1_sceneAnimationActive(EMCState *script);
+	int o1_setCharactersMovementDelay(EMCState *script);
+	int o1_getCharactersFacing(EMCState *script);
+	int o1_bkgdScrollSceneAndMasksRight(EMCState *script);
+	int o1_dispelMagicAnimation(EMCState *script);
+	int o1_findBrightestFireberry(EMCState *script);
+	int o1_setFireberryGlowPalette(EMCState *script);
+	int o1_setDeathHandlerFlag(EMCState *script);
+	int o1_drinkPotionAnimation(EMCState *script);
+	int o1_makeAmuletAppear(EMCState *script);
+	int o1_drawItemShapeIntoScene(EMCState *script);
+	int o1_setCharactersCurrentFrame(EMCState *script);
+	int o1_waitForConfirmationMouseClick(EMCState *script);
+	int o1_pageFlip(EMCState *script);
+	int o1_setSceneFile(EMCState *script);
+	int o1_getItemInMarbleVase(EMCState *script);
+	int o1_setItemInMarbleVase(EMCState *script);
+	int o1_addItemToInventory(EMCState *script);
+	int o1_intPrint(EMCState *script);
+	int o1_shakeScreen(EMCState *script);
+	int o1_createAmuletJewel(EMCState *script);
+	int o1_setSceneAnimCurrXY(EMCState *script);
+	int o1_poisonBrandonAndRemaps(EMCState *script);
+	int o1_fillFlaskWithWater(EMCState *script);
+	int o1_getCharactersMovementDelay(EMCState *script);
+	int o1_getBirthstoneGem(EMCState *script);
+	int o1_queryBrandonStatusBit(EMCState *script);
+	int o1_playFluteAnimation(EMCState *script);
+	int o1_playWinterScrollSequence(EMCState *script);
+	int o1_getIdolGem(EMCState *script);
+	int o1_setIdolGem(EMCState *script);
+	int o1_totalItemsInScene(EMCState *script);
+	int o1_restoreBrandonsMovementDelay(EMCState *script);
+	int o1_setMousePos(EMCState *script);
+	int o1_getMouseState(EMCState *script);
+	int o1_setEntranceMouseCursorTrack(EMCState *script);
+	int o1_itemAppearsOnGround(EMCState *script);
+	int o1_setNoDrawShapesFlag(EMCState *script);
+	int o1_fadeEntirePalette(EMCState *script);
+	int o1_itemOnGroundHere(EMCState *script);
+	int o1_queryCauldronState(EMCState *script);
+	int o1_setCauldronState(EMCState *script);
+	int o1_queryCrystalState(EMCState *script);
+	int o1_setCrystalState(EMCState *script);
+	int o1_setPaletteRange(EMCState *script);
+	int o1_shrinkBrandonDown(EMCState *script);
+	int o1_growBrandonUp(EMCState *script);
+	int o1_setBrandonScaleXAndY(EMCState *script);
+	int o1_resetScaleMode(EMCState *script);
+	int o1_getScaleDepthTableValue(EMCState *script);
+	int o1_setScaleDepthTableValue(EMCState *script);
+	int o1_message(EMCState *script);
+	int o1_checkClickOnNPC(EMCState *script);
+	int o1_getFoyerItem(EMCState *script);
+	int o1_setFoyerItem(EMCState *script);
+	int o1_setNoItemDropRegion(EMCState *script);
+	int o1_walkMalcolmOn(EMCState *script);
+	int o1_passiveProtection(EMCState *script);
+	int o1_setPlayingLoop(EMCState *script);
+	int o1_brandonToStoneSequence(EMCState *script);
+	int o1_brandonHealingSequence(EMCState *script);
+	int o1_protectCommandLine(EMCState *script);
+	int o1_pauseMusicSeconds(EMCState *script);
+	int o1_resetMaskRegion(EMCState *script);
+	int o1_setPaletteChangeFlag(EMCState *script);
+	int o1_fillRect(EMCState *script);
+	int o1_dummy(EMCState *script);
+	int o1_vocUnload(EMCState *script);
+	int o1_vocLoad(EMCState *script);
 };
 
 } // end of namespace Kyra

Modified: scummvm/trunk/engines/kyra/kyra_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -584,17 +584,17 @@
 		objectChat(getTableString(0xFC, _cCodeBuffer, 1), 0, 0x83, 0xFC);
 		return true;
 	} else {
-		_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
+		_emc->init(&_sceneScriptState, &_sceneScriptData);
 
 		_sceneScriptState.regs[1] = x;
 		_sceneScriptState.regs[2] = y;
 		_sceneScriptState.regs[3] = 0;
 		_sceneScriptState.regs[4] = _itemInHand;
 
-		_scriptInterpreter->startScript(&_sceneScriptState, 1);
+		_emc->start(&_sceneScriptState, 1);
 
-		while (_scriptInterpreter->validScript(&_sceneScriptState))
-			_scriptInterpreter->runScript(&_sceneScriptState);
+		while (_emc->isValid(&_sceneScriptState))
+			_emc->run(&_sceneScriptState);
 
 		//XXXsys_unkKeyboad (flush? wait? whatever...)
 
@@ -1205,16 +1205,18 @@
 	strcpy(filename, "_START0X.EMC");
 	filename[7] = script + '0';
 
-	ScriptData scriptData;
-	ScriptState scriptState;
+	EMCData scriptData;
+	EMCState scriptState;
+	memset(&scriptData, 0, sizeof(EMCData));
+	memset(&scriptState, 0, sizeof(EMCState));
 
-	_scriptInterpreter->loadScript(filename, &scriptData, &_opcodes);
-	_scriptInterpreter->initScript(&scriptState, &scriptData);
+	_emc->load(filename, &scriptData, &_opcodes);
+	_emc->init(&scriptState, &scriptData);
 	scriptState.regs[6] = unk1;
-	_scriptInterpreter->startScript(&scriptState, 0);
-	while (_scriptInterpreter->validScript(&scriptState))
-		_scriptInterpreter->runScript(&scriptState);
-	_scriptInterpreter->unloadScript(&scriptData);
+	_emc->start(&scriptState, 0);
+	while (_emc->isValid(&scriptState))
+		_emc->run(&scriptState);
+	_emc->unload(&scriptData);
 }
 
 void KyraEngine_v2::loadNPCScript() {
@@ -1244,18 +1246,18 @@
 		};
 	}
 
-	_scriptInterpreter->loadScript(filename, &_npcScriptData, &_opcodes);
+	_emc->load(filename, &_npcScriptData, &_opcodes);
 }
 
 void KyraEngine_v2::runTemporaryScript(const char *filename, int allowSkip, int resetChar, int newShapes, int shapeUnload) {
 	memset(&_temporaryScriptData, 0, sizeof(_temporaryScriptData));
 	memset(&_temporaryScriptState, 0, sizeof(_temporaryScriptState));
 
-	if (!_scriptInterpreter->loadScript(filename, &_temporaryScriptData, &_opcodesTemporary))
+	if (!_emc->load(filename, &_temporaryScriptData, &_opcodesTemporary))
 		error("Couldn't load temporary script '%s'", filename);
 
-	_scriptInterpreter->initScript(&_temporaryScriptState, &_temporaryScriptData);
-	_scriptInterpreter->startScript(&_temporaryScriptState, 0);
+	_emc->init(&_temporaryScriptState, &_temporaryScriptData);
+	_emc->start(&_temporaryScriptState, 0);
 
 	_newShapeFlag = -1;
 
@@ -1265,8 +1267,8 @@
 		_newShapeCount = 0;
 	}
 
-	while (_scriptInterpreter->validScript(&_temporaryScriptState))
-		_scriptInterpreter->runScript(&_temporaryScriptState);
+	while (_emc->isValid(&_temporaryScriptState))
+		_emc->run(&_temporaryScriptState);
 
 	uint8 *fileData = 0;
 
@@ -1276,7 +1278,7 @@
 	fileData = _newShapeFiledata;
 
 	if (!fileData) {
-		_scriptInterpreter->unloadScript(&_temporaryScriptData);
+		_emc->unload(&_temporaryScriptData);
 		return;
 	}
 
@@ -1291,7 +1293,7 @@
 		_newShapeFiledata = 0;
 	}
 
-	_scriptInterpreter->unloadScript(&_temporaryScriptData);
+	_emc->unload(&_temporaryScriptData);
 }
 
 #pragma mark -
@@ -1639,15 +1641,15 @@
 void KyraEngine_v2::processNewShapes(int allowSkip, int resetChar) {
 	setCharacterAnimDim(_newShapeWidth, _newShapeHeight);
 
-	_scriptInterpreter->initScript(&_temporaryScriptState, &_temporaryScriptData);
-	_scriptInterpreter->startScript(&_temporaryScriptState, 1);
+	_emc->init(&_temporaryScriptState, &_temporaryScriptData);
+	_emc->start(&_temporaryScriptState, 1);
 
 	resetSkipFlag();
 
-	while (_scriptInterpreter->validScript(&_temporaryScriptState)) {
+	while (_emc->isValid(&_temporaryScriptState)) {
 		_temporaryScriptExecBit = false;
-		while (_scriptInterpreter->validScript(&_temporaryScriptState) && !_temporaryScriptExecBit)
-			_scriptInterpreter->runScript(&_temporaryScriptState);
+		while (_emc->isValid(&_temporaryScriptState) && !_temporaryScriptExecBit)
+			_emc->run(&_temporaryScriptState);
 
 		if (_newShapeAnimFrame < 0)
 			continue;

Modified: scummvm/trunk/engines/kyra/kyra_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.h	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra_v2.h	2008-04-29 15:12:09 UTC (rev 31773)
@@ -410,7 +410,7 @@
 	WSAMovieV2 *_sceneAnimMovie[10];
 	bool _specialSceneScriptState[10];
 	bool _specialSceneScriptStateBackup[10];
-	ScriptState _sceneSpecialScripts[10];
+	EMCState _sceneSpecialScripts[10];
 	uint32 _sceneSpecialScriptsTimer[10];
 	int _lastProcessedSceneScript;
 	bool _specialSceneScriptRunFlag;
@@ -771,8 +771,8 @@
 	uint32 _chatEndTime;
 	int _chatVocHigh, _chatVocLow;
 
-	ScriptData _chatScriptData;
-	ScriptState _chatScriptState;
+	EMCData _chatScriptData;
+	EMCState _chatScriptState;
 
 	int chatGetType(const char *text);
 	int chatCalcDuration(const char *text);
@@ -886,171 +886,171 @@
 	void displayInvWsaLastFrame();
 
 	// opcodes
-	int o2_setCharacterFacingRefresh(ScriptState *script);
-	int o2_setCharacterPos(ScriptState *script);
-	int o2_defineObject(ScriptState *script);
-	int o2_refreshCharacter(ScriptState *script);
-	int o2_getCharacterX(ScriptState *script);
-	int o2_getCharacterY(ScriptState *script);
-	int o2_getCharacterFacing(ScriptState *script);
-	int o2_getCharacterScene(ScriptState *script);
-	int o2_setSceneComment(ScriptState *script);
-	int o2_setCharacterAnimFrame(ScriptState *script);
-	int o2_setCharacterFacing(ScriptState *script);
-	int o2_trySceneChange(ScriptState *script);
-	int o2_moveCharacter(ScriptState *script);
-	int o2_customCharacterChat(ScriptState *script);
-	int o2_soundFadeOut(ScriptState *script);
-	int o2_showChapterMessage(ScriptState *script);
-	int o2_restoreTalkTextMessageBkgd(ScriptState *script);
-	int o2_wsaClose(ScriptState *script);
-	int o2_meanWhileScene(ScriptState *script);
-	int o2_backUpScreen(ScriptState *script);
-	int o2_restoreScreen(ScriptState *script);
-	int o2_displayWsaFrame(ScriptState *script);
-	int o2_displayWsaSequentialFramesLooping(ScriptState *script);
-	int o2_wsaOpen(ScriptState *script);
-	int o2_displayWsaSequentialFrames(ScriptState *script);
-	int o2_displayWsaSequence(ScriptState *script);
-	int o2_addItemToInventory(ScriptState *script);
-	int o2_drawShape(ScriptState *script);	
-	int o2_addItemToCurScene(ScriptState *script);
-	int o2_checkForItem(ScriptState *script);
-	int o2_loadSoundFile(ScriptState *script);
-	int o2_removeItemSlotFromInventory(ScriptState *script);
-	int o2_defineItem(ScriptState *script);
-	int o2_removeItemFromInventory(ScriptState *script);
-	int o2_countItemInInventory(ScriptState *script);
-	int o2_countItemsInScene(ScriptState *script);
-	int o2_queryGameFlag(ScriptState *script);
-	int o2_resetGameFlag(ScriptState *script);
-	int o2_setGameFlag(ScriptState *script);
-	int o2_setHandItem(ScriptState *script);
-	int o2_removeHandItem(ScriptState *script);
-	int o2_handItemSet(ScriptState *script);
-	int o2_hideMouse(ScriptState *script);
-	int o2_addSpecialExit(ScriptState *script);
-	int o2_setMousePos(ScriptState *script);
-	int o2_showMouse(ScriptState *script);
-	int o2_wipeDownMouseItem(ScriptState *script);
-	int o2_getElapsedSecs(ScriptState *script);
-	int o2_getTimerDelay(ScriptState *script);
-	//int o2_playSoundEffect(ScriptState *script);
-	int o2_delaySecs(ScriptState *script);
-	int o2_delay(ScriptState *script);
-	int o2_setTimerDelay(ScriptState *script);
-	int o2_setScaleTableItem(ScriptState *script);
-	int o2_setDrawLayerTableItem(ScriptState *script);
-	int o2_setCharPalEntry(ScriptState *script);
-	int o2_loadZShapes(ScriptState *script);
-	int o2_drawSceneShape(ScriptState *script);
-	int o2_drawSceneShapeOnPage(ScriptState *script);
-	int o2_disableAnimObject(ScriptState *script);
-	int o2_enableAnimObject(ScriptState *script);
-	int o2_loadPalette384(ScriptState *script);
-	int o2_setPalette384(ScriptState *script);
-	int o2_restoreBackBuffer(ScriptState *script);
-	int o2_backUpInventoryGfx(ScriptState *script);
-	int o2_disableSceneAnim(ScriptState *script);
-	int o2_enableSceneAnim(ScriptState *script);
-	int o2_restoreInventoryGfx(ScriptState *script);
-	int o2_setSceneAnimPos2(ScriptState *script);
-	int o2_update(ScriptState *script);
-	int o2_fadeScenePal(ScriptState *script);
-	int o2_enterNewSceneEx(ScriptState *script);
-	int o2_switchScene(ScriptState *script);
-	int o2_getShapeFlag1(ScriptState *script);
-	int o2_setPathfinderFlag(ScriptState *script);
-	int o2_getSceneExitToFacing(ScriptState *script);
-	int o2_setLayerFlag(ScriptState *script);
-	int o2_setZanthiaPos(ScriptState *script);
-	int o2_loadMusicTrack(ScriptState *script);
-	int o2_playWanderScoreViaMap(ScriptState *script);
-	int o2_playSoundEffect(ScriptState *script);
-	int o2_setSceneAnimPos(ScriptState *script);
-	int o2_blockInRegion(ScriptState *script);
-	int o2_blockOutRegion(ScriptState *script);
-	int o2_setCauldronState(ScriptState *script);
-	int o2_showItemString(ScriptState *script);
-	int o2_getRand(ScriptState *script);
-	int o2_isAnySoundPlaying(ScriptState *script);
-	int o2_setDeathHandlerFlag(ScriptState *script);
-	int o2_setDrawNoShapeFlag(ScriptState *script);
-	int o2_setRunFlag(ScriptState *script);
-	int o2_showLetter(ScriptState *script);
-	int o2_fillRect(ScriptState *script);
-	int o2_waitForConfirmationClick(ScriptState *script);
-	int o2_encodeShape(ScriptState *script);
-	int o2_defineRoomEntrance(ScriptState *script);
-	int o2_runTemporaryScript(ScriptState *script);
-	int o2_setSpecialSceneScriptRunTime(ScriptState *script);
-	int o2_defineSceneAnim(ScriptState *script);
-	int o2_updateSceneAnim(ScriptState *script);
-	int o2_addToSceneAnimPosAndUpdate(ScriptState *script);
-	int o2_useItemOnMainChar(ScriptState *script);
-	int o2_startDialogue(ScriptState *script);
-	int o2_zanthRandomChat(ScriptState *script);
-	int o2_setupDialogue(ScriptState *script);
-	int o2_getDlgIndex(ScriptState *script);
-	int o2_defineRoom(ScriptState *script);
-	int o2_addCauldronStateTableEntry(ScriptState *script);
-	int o2_setCountDown(ScriptState *script);
-	int o2_getCountDown(ScriptState *script);
-	int o2_pressColorKey(ScriptState *script);
-	int o2_objectChat(ScriptState *script);
-	int o2_chapterChange(ScriptState *script);
-	int o2_getColorCodeFlag1(ScriptState *script);
-	int o2_setColorCodeFlag1(ScriptState *script);
-	int o2_getColorCodeFlag2(ScriptState *script);
-	int o2_setColorCodeFlag2(ScriptState *script);
-	int o2_getColorCodeValue(ScriptState *script);
-	int o2_setColorCodeValue(ScriptState *script);
-	int o2_countItemInstances(ScriptState *script);
-	int o2_removeItemFromScene(ScriptState *script);
-	int o2_initObject(ScriptState *script);
-	int o2_npcChat(ScriptState *script);
-	int o2_deinitObject(ScriptState *script);
-	int o2_playTimSequence(ScriptState *script);
-	int o2_makeBookOrCauldronAppear(ScriptState *script);
-	int o2_setSpecialSceneScriptState(ScriptState *script);
-	int o2_clearSpecialSceneScriptState(ScriptState *script);
-	int o2_querySpecialSceneScriptState(ScriptState *script);
-	int o2_resetInputColorCode(ScriptState *script);
-	int o2_setHiddenItemsEntry(ScriptState *script);
-	int o2_getHiddenItemsEntry(ScriptState *script);
-	int o2_mushroomEffect(ScriptState *script);
-	int o2_customChat(ScriptState *script);
-	int o2_customChatFinish(ScriptState *script);
-	int o2_setupSceneAnimation(ScriptState *script);
-	int o2_stopSceneAnimation(ScriptState *script);
-	int o2_disableTimer(ScriptState *script);
-	int o2_enableTimer(ScriptState *script);
-	int o2_setTimerCountdown(ScriptState *script);
-	int o2_processPaletteIndex(ScriptState *script);
-	int o2_updateTwoSceneAnims(ScriptState *script);
-	int o2_getRainbowRoomData(ScriptState *script);
-	int o2_drawSceneShapeEx(ScriptState *script);
-	int o2_getBoolFromStack(ScriptState *script);
-	int o2_getSfxDriver(ScriptState *script);
-	int o2_getVocSupport(ScriptState *script);
-	int o2_getMusicDriver(ScriptState *script);
-	int o2_setVocHigh(ScriptState *script);
-	int o2_getVocHigh(ScriptState *script);
-	int o2_zanthiaChat(ScriptState *script);
-	int o2_isVoiceEnabled(ScriptState *script);
-	int o2_isVoicePlaying(ScriptState *script);
-	int o2_stopVoicePlaying(ScriptState *script);
-	int o2_getGameLanguage(ScriptState *script);
-	int o2_demoFinale(ScriptState *script);
-	int o2_dummy(ScriptState *script);
+	int o2_setCharacterFacingRefresh(EMCState *script);
+	int o2_setCharacterPos(EMCState *script);
+	int o2_defineObject(EMCState *script);
+	int o2_refreshCharacter(EMCState *script);
+	int o2_getCharacterX(EMCState *script);
+	int o2_getCharacterY(EMCState *script);
+	int o2_getCharacterFacing(EMCState *script);
+	int o2_getCharacterScene(EMCState *script);
+	int o2_setSceneComment(EMCState *script);
+	int o2_setCharacterAnimFrame(EMCState *script);
+	int o2_setCharacterFacing(EMCState *script);
+	int o2_trySceneChange(EMCState *script);
+	int o2_moveCharacter(EMCState *script);
+	int o2_customCharacterChat(EMCState *script);
+	int o2_soundFadeOut(EMCState *script);
+	int o2_showChapterMessage(EMCState *script);
+	int o2_restoreTalkTextMessageBkgd(EMCState *script);
+	int o2_wsaClose(EMCState *script);
+	int o2_meanWhileScene(EMCState *script);
+	int o2_backUpScreen(EMCState *script);
+	int o2_restoreScreen(EMCState *script);
+	int o2_displayWsaFrame(EMCState *script);
+	int o2_displayWsaSequentialFramesLooping(EMCState *script);
+	int o2_wsaOpen(EMCState *script);
+	int o2_displayWsaSequentialFrames(EMCState *script);
+	int o2_displayWsaSequence(EMCState *script);
+	int o2_addItemToInventory(EMCState *script);
+	int o2_drawShape(EMCState *script);	
+	int o2_addItemToCurScene(EMCState *script);
+	int o2_checkForItem(EMCState *script);
+	int o2_loadSoundFile(EMCState *script);
+	int o2_removeItemSlotFromInventory(EMCState *script);
+	int o2_defineItem(EMCState *script);
+	int o2_removeItemFromInventory(EMCState *script);
+	int o2_countItemInInventory(EMCState *script);
+	int o2_countItemsInScene(EMCState *script);
+	int o2_queryGameFlag(EMCState *script);
+	int o2_resetGameFlag(EMCState *script);
+	int o2_setGameFlag(EMCState *script);
+	int o2_setHandItem(EMCState *script);
+	int o2_removeHandItem(EMCState *script);
+	int o2_handItemSet(EMCState *script);
+	int o2_hideMouse(EMCState *script);
+	int o2_addSpecialExit(EMCState *script);
+	int o2_setMousePos(EMCState *script);
+	int o2_showMouse(EMCState *script);
+	int o2_wipeDownMouseItem(EMCState *script);
+	int o2_getElapsedSecs(EMCState *script);
+	int o2_getTimerDelay(EMCState *script);
+	//int o2_playSoundEffect(EMCState *script);
+	int o2_delaySecs(EMCState *script);
+	int o2_delay(EMCState *script);
+	int o2_setTimerDelay(EMCState *script);
+	int o2_setScaleTableItem(EMCState *script);
+	int o2_setDrawLayerTableItem(EMCState *script);
+	int o2_setCharPalEntry(EMCState *script);
+	int o2_loadZShapes(EMCState *script);
+	int o2_drawSceneShape(EMCState *script);
+	int o2_drawSceneShapeOnPage(EMCState *script);
+	int o2_disableAnimObject(EMCState *script);
+	int o2_enableAnimObject(EMCState *script);
+	int o2_loadPalette384(EMCState *script);
+	int o2_setPalette384(EMCState *script);
+	int o2_restoreBackBuffer(EMCState *script);
+	int o2_backUpInventoryGfx(EMCState *script);
+	int o2_disableSceneAnim(EMCState *script);
+	int o2_enableSceneAnim(EMCState *script);
+	int o2_restoreInventoryGfx(EMCState *script);
+	int o2_setSceneAnimPos2(EMCState *script);
+	int o2_update(EMCState *script);
+	int o2_fadeScenePal(EMCState *script);
+	int o2_enterNewSceneEx(EMCState *script);
+	int o2_switchScene(EMCState *script);
+	int o2_getShapeFlag1(EMCState *script);
+	int o2_setPathfinderFlag(EMCState *script);
+	int o2_getSceneExitToFacing(EMCState *script);
+	int o2_setLayerFlag(EMCState *script);
+	int o2_setZanthiaPos(EMCState *script);
+	int o2_loadMusicTrack(EMCState *script);
+	int o2_playWanderScoreViaMap(EMCState *script);
+	int o2_playSoundEffect(EMCState *script);
+	int o2_setSceneAnimPos(EMCState *script);
+	int o2_blockInRegion(EMCState *script);
+	int o2_blockOutRegion(EMCState *script);
+	int o2_setCauldronState(EMCState *script);
+	int o2_showItemString(EMCState *script);
+	int o2_getRand(EMCState *script);
+	int o2_isAnySoundPlaying(EMCState *script);
+	int o2_setDeathHandlerFlag(EMCState *script);
+	int o2_setDrawNoShapeFlag(EMCState *script);
+	int o2_setRunFlag(EMCState *script);
+	int o2_showLetter(EMCState *script);
+	int o2_fillRect(EMCState *script);
+	int o2_waitForConfirmationClick(EMCState *script);
+	int o2_encodeShape(EMCState *script);
+	int o2_defineRoomEntrance(EMCState *script);
+	int o2_runTemporaryScript(EMCState *script);
+	int o2_setSpecialSceneScriptRunTime(EMCState *script);
+	int o2_defineSceneAnim(EMCState *script);
+	int o2_updateSceneAnim(EMCState *script);
+	int o2_addToSceneAnimPosAndUpdate(EMCState *script);
+	int o2_useItemOnMainChar(EMCState *script);
+	int o2_startDialogue(EMCState *script);
+	int o2_zanthRandomChat(EMCState *script);
+	int o2_setupDialogue(EMCState *script);
+	int o2_getDlgIndex(EMCState *script);
+	int o2_defineRoom(EMCState *script);
+	int o2_addCauldronStateTableEntry(EMCState *script);
+	int o2_setCountDown(EMCState *script);
+	int o2_getCountDown(EMCState *script);
+	int o2_pressColorKey(EMCState *script);
+	int o2_objectChat(EMCState *script);
+	int o2_chapterChange(EMCState *script);
+	int o2_getColorCodeFlag1(EMCState *script);
+	int o2_setColorCodeFlag1(EMCState *script);
+	int o2_getColorCodeFlag2(EMCState *script);
+	int o2_setColorCodeFlag2(EMCState *script);
+	int o2_getColorCodeValue(EMCState *script);
+	int o2_setColorCodeValue(EMCState *script);
+	int o2_countItemInstances(EMCState *script);
+	int o2_removeItemFromScene(EMCState *script);
+	int o2_initObject(EMCState *script);
+	int o2_npcChat(EMCState *script);
+	int o2_deinitObject(EMCState *script);
+	int o2_playTimSequence(EMCState *script);
+	int o2_makeBookOrCauldronAppear(EMCState *script);
+	int o2_setSpecialSceneScriptState(EMCState *script);
+	int o2_clearSpecialSceneScriptState(EMCState *script);
+	int o2_querySpecialSceneScriptState(EMCState *script);
+	int o2_resetInputColorCode(EMCState *script);
+	int o2_setHiddenItemsEntry(EMCState *script);
+	int o2_getHiddenItemsEntry(EMCState *script);
+	int o2_mushroomEffect(EMCState *script);
+	int o2_customChat(EMCState *script);
+	int o2_customChatFinish(EMCState *script);
+	int o2_setupSceneAnimation(EMCState *script);
+	int o2_stopSceneAnimation(EMCState *script);
+	int o2_disableTimer(EMCState *script);
+	int o2_enableTimer(EMCState *script);
+	int o2_setTimerCountdown(EMCState *script);
+	int o2_processPaletteIndex(EMCState *script);
+	int o2_updateTwoSceneAnims(EMCState *script);
+	int o2_getRainbowRoomData(EMCState *script);
+	int o2_drawSceneShapeEx(EMCState *script);
+	int o2_getBoolFromStack(EMCState *script);
+	int o2_getSfxDriver(EMCState *script);
+	int o2_getVocSupport(EMCState *script);
+	int o2_getMusicDriver(EMCState *script);
+	int o2_setVocHigh(EMCState *script);
+	int o2_getVocHigh(EMCState *script);
+	int o2_zanthiaChat(EMCState *script);
+	int o2_isVoiceEnabled(EMCState *script);
+	int o2_isVoicePlaying(EMCState *script);
+	int o2_stopVoicePlaying(EMCState *script);
+	int o2_getGameLanguage(EMCState *script);
+	int o2_demoFinale(EMCState *script);
+	int o2_dummy(EMCState *script);
 
 	// opcodes temporary
 	// TODO: rename it from temporary to something more appropriate
-	int o2t_defineNewShapes(ScriptState *script);
-	int o2t_setCurrentFrame(ScriptState *script);
-	int o2t_playSoundEffect(ScriptState *script);
-	int o2t_fadeScenePal(ScriptState *script);
-	int o2t_setShapeFlag(ScriptState *script);
+	int o2t_defineNewShapes(EMCState *script);
+	int o2t_setCurrentFrame(EMCState *script);
+	int o2t_playSoundEffect(EMCState *script);
+	int o2t_fadeScenePal(EMCState *script);
+	int o2t_setShapeFlag(EMCState *script);
 
 	// script
 	void runStartScript(int script, int unk1);
@@ -1058,13 +1058,13 @@
 
 	bool _noScriptEnter;
 
-	ScriptData _npcScriptData;
+	EMCData _npcScriptData;
 
-	ScriptData _sceneScriptData;
-	ScriptState _sceneScriptState;
+	EMCData _sceneScriptData;
+	EMCState _sceneScriptState;
 
-	ScriptData _temporaryScriptData;
-	ScriptState _temporaryScriptState;
+	EMCData _temporaryScriptData;
+	EMCState _temporaryScriptState;
 	bool _temporaryScriptExecBit;
 	Common::Array<const Opcode*> _opcodesTemporary;
 

Modified: scummvm/trunk/engines/kyra/kyra_v3.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v3.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra_v3.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -176,7 +176,7 @@
 	}
 	_gameShapes.clear();
 
-	_scriptInterpreter->unloadScript(&_sceneScriptData);
+	_emc->unload(&_sceneScriptData);
 
 	delete [] _sceneStrings;
 	delete [] _talkObjectList;
@@ -714,23 +714,23 @@
 
 void KyraEngine_v3::runStartupScript(int script, int unk1) {
 	debugC(9, kDebugLevelMain, "KyraEngine_v3::runStartupScript(%d, %d)", script, unk1);
-	ScriptState state;
-	ScriptData data;
+	EMCState state;
+	EMCData data;
 	memset(&state, 0, sizeof(state));
 	memset(&data, 0, sizeof(data));
 	char filename[13];
 	strcpy(filename, "_START0X.EMC");
 	filename[7] = (script % 10) + '0';
 
-	_scriptInterpreter->loadScript(filename, &data, &_opcodes);
-	_scriptInterpreter->initScript(&state, &data);
-	_scriptInterpreter->startScript(&state, 0);
+	_emc->load(filename, &data, &_opcodes);
+	_emc->init(&state, &data);
+	_emc->start(&state, 0);
 	state.regs[6] = unk1;
 
-	while (_scriptInterpreter->validScript(&state))
-		_scriptInterpreter->runScript(&state);
+	while (_emc->isValid(&state))
+		_emc->run(&state);
 
-	_scriptInterpreter->unloadScript(&data);
+	_emc->unload(&data);
 }
 
 void KyraEngine_v3::openTalkFile(int file) {

Modified: scummvm/trunk/engines/kyra/kyra_v3.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v3.h	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/kyra_v3.h	2008-04-29 15:12:09 UTC (rev 31773)
@@ -459,12 +459,12 @@
 	int _sceneMinX, _sceneMaxX;
 	int _maskPageMinY, _maskPageMaxY;
 
-	ScriptState _sceneScriptState;
-	ScriptData _sceneScriptData;
+	EMCState _sceneScriptState;
+	EMCData _sceneScriptData;
 
 	bool _specialSceneScriptState[10];
 	bool _specialSceneScriptStateBackup[10];
-	ScriptState _sceneSpecialScripts[10];
+	EMCState _sceneSpecialScripts[10];
 	uint32 _sceneSpecialScriptsTimer[10];
 	int _lastProcessedSceneScript;
 	bool _specialSceneScriptRunFlag;
@@ -560,8 +560,8 @@
 	uint32 _chatEndTime;
 	int _chatVocHigh, _chatVocLow;
 
-	ScriptData _chatScriptData;
-	ScriptState _chatScriptState;
+	EMCData _chatScriptData;
+	EMCState _chatScriptState;
 
 	int chatGetType(const char *text);
 	int chatCalcDuration(const char *text);
@@ -596,8 +596,8 @@
 	bool _isStartupDialog;
 	void processDialog(int vocHighIndex, int vocHighBase, int funcNum);
 
-	ScriptData _dialogScriptData;
-	ScriptState _dialogScriptState;
+	EMCData _dialogScriptData;
+	EMCState _dialogScriptState;
 	int _dialogSceneAnim;
 	int _dialogSceneScript;
 	int _dialogScriptFuncStart, _dialogScriptFuncProc, _dialogScriptFuncEnd;
@@ -609,8 +609,8 @@
 
 	Common::Array<const Opcode *> _opcodesDialog;
 
-	int o3d_updateAnim(ScriptState *script);
-	int o3d_delay(ScriptState *script);
+	int o3d_updateAnim(EMCState *script);
+	int o3d_delay(EMCState *script);
 
 	void malcolmRandomChat();
 	void runDialog(int dlgIndex, int funcNum);
@@ -640,12 +640,12 @@
 	
 	Common::Array<const Opcode *> _opcodesTemporary;
 
-	int o3t_defineNewShapes(ScriptState *script);
-	int o3t_setCurrentFrame(ScriptState *script);
-	int o3t_setNewShapeFlag(ScriptState *script);
+	int o3t_defineNewShapes(EMCState *script);
+	int o3t_setCurrentFrame(EMCState *script);
+	int o3t_setNewShapeFlag(EMCState *script);
 
-	ScriptData _temporaryScriptData;
-	ScriptState _temporaryScriptState;
+	EMCData _temporaryScriptData;
+	EMCState _temporaryScriptState;
 
 	void runTemporaryScript(const char *filename, int allowSkip, int resetChar, int newShapes, int shapeUnload);
 
@@ -705,112 +705,112 @@
 	void loadGame(const char *fileName);
 
 	// opcodes
-	int o3_getMalcolmShapes(ScriptState *script);
-	int o3_setCharacterPos(ScriptState *script);
-	int o3_defineObject(ScriptState *script);
-	int o3_refreshCharacter(ScriptState *script);
-	int o3_getCharacterX(ScriptState *script);
-	int o3_getCharacterY(ScriptState *script);
-	int o3_getCharacterFacing(ScriptState *script);
-	int o3_getCharacterScene(ScriptState *script);
-	int o3_getMalcolmsMood(ScriptState *script);
-	int o3_getCharacterFrameFromFacing(ScriptState *script);
-	int o3_setCharacterFacingOverwrite(ScriptState *script);
-	int o3_trySceneChange(ScriptState *script);
-	int o3_moveCharacter(ScriptState *script);
-	int o3_setCharacterFacing(ScriptState *script);
-	int o3_showSceneFileMessage(ScriptState *script);
-	int o3_setCharacterAnimFrameFromFacing(ScriptState *script);
-	int o3_showBadConscience(ScriptState *script);
-	int o3_hideBadConscience(ScriptState *script);
-	int o3_setInventorySlot(ScriptState *script);
-	int o3_getInventorySlot(ScriptState *script);
-	int o3_addItemToInventory(ScriptState *script);
-	int o3_addItemToCurScene(ScriptState *script);
-	int o3_objectChat(ScriptState *script);
-	int o3_checkForItem(ScriptState *script);
-	int o3_resetInventory(ScriptState *script);
-	int o3_defineItem(ScriptState *script);
-	int o3_removeInventoryItemInstances(ScriptState *script);
-	int o3_countInventoryItemInstances(ScriptState *script);
-	int o3_npcChatSequence(ScriptState *script);
-	int o3_queryGameFlag(ScriptState *script);
-	int o3_resetGameFlag(ScriptState *script);
-	int o3_setGameFlag(ScriptState *script);
-	int o3_setHandItem(ScriptState *script);
-	int o3_removeHandItem(ScriptState *script);
-	int o3_handItemSet(ScriptState *script);
-	int o3_hideMouse(ScriptState *script);
-	int o3_addSpecialExit(ScriptState *script);
-	int o3_setMousePos(ScriptState *script);
-	int o3_showMouse(ScriptState *script);
-	int o3_badConscienceChat(ScriptState *script);
-	int o3_wipeDownMouseItem(ScriptState *script);
-	int o3_setMalcolmsMood(ScriptState *script);
-	int o3_delay(ScriptState *script);
-	int o3_updateScore(ScriptState *script);
-	int o3_makeSecondChanceSave(ScriptState *script);
-	int o3_setSceneFilename(ScriptState *script);
-	int o3_removeItemsFromScene(ScriptState *script);
-	int o3_disguiseMalcolm(ScriptState *script);
-	int o3_drawSceneShape(ScriptState *script);
-	int o3_drawSceneShapeOnPage(ScriptState *script);
-	int o3_checkInRect(ScriptState *script);
-	int o3_updateConversations(ScriptState *script);
-	int o3_setSceneDim(ScriptState *script);
-	int o3_update(ScriptState *script);
-	int o3_setSceneAnimPosAndFrame(ScriptState *script);
-	int o3_removeItemInstances(ScriptState *script);
-	int o3_disableInventory(ScriptState *script);
-	int o3_enableInventory(ScriptState *script);
-	int o3_enterNewScene(ScriptState *script);
-	int o3_switchScene(ScriptState *script);
-	int o3_getShapeFlag1(ScriptState *script);
-	int o3_setMalcolmPos(ScriptState *script);
-	int o3_stopMusic(ScriptState *script);
-	int o3_playWanderScoreViaMap(ScriptState *script);
-	int o3_playSoundEffect(ScriptState *script);
-	int o3_getScore(ScriptState *script);
-	int o3_blockOutRegion(ScriptState *script);
-	int o3_showSceneStringsMessage(ScriptState *script);
-	int o3_getRand(ScriptState *script);
-	int o3_setDeathHandler(ScriptState *script);
-	int o3_showGoodConscience(ScriptState *script);
-	int o3_goodConscienceChat(ScriptState *script);
-	int o3_hideGoodConscience(ScriptState *script);
-	int o3_waitForConfirmationClick(ScriptState *script);
-	int o3_defineRoomEntrance(ScriptState *script);
-	int o3_runTemporaryScript(ScriptState *script);
-	int o3_setSpecialSceneScriptRunTime(ScriptState *script);
-	int o3_defineSceneAnim(ScriptState *script);
-	int o3_updateSceneAnim(ScriptState *script);
-	int o3_runActorScript(ScriptState *script);
-	int o3_runDialog(ScriptState *script);
-	int o3_malcolmRandomChat(ScriptState *script);
-	int o3_setDlgIndex(ScriptState *script);
-	int o3_getDlgIndex(ScriptState *script);
-	int o3_defineScene(ScriptState *script);
-	int o3_setConversationState(ScriptState *script);
-	int o3_getConversationState(ScriptState *script);
-	int o3_changeChapter(ScriptState *script);
-	int o3_countItemInstances(ScriptState *script);
-	int o3_dialogStartScript(ScriptState *script);
-	int o3_dialogEndScript(ScriptState *script);
-	int o3_setSpecialSceneScriptState(ScriptState *script);
-	int o3_clearSpecialSceneScriptState(ScriptState *script);
-	int o3_querySpecialSceneScriptState(ScriptState *script);
-	int o3_setHiddenItemsEntry(ScriptState *script);
-	int o3_getHiddenItemsEntry(ScriptState *script);
-	int o3_customChat(ScriptState *script);
-	int o3_customChatFinish(ScriptState *script);
-	int o3_setupSceneAnimObject(ScriptState *script);
-	int o3_removeSceneAnimObject(ScriptState *script);
-	int o3_disableTimer(ScriptState *script);
-	int o3_enableTimer(ScriptState *script);
-	int o3_setTimerCountdown(ScriptState *script);
-	int o3_setVocHigh(ScriptState *script);
-	int o3_getVocHigh(ScriptState *script);
-	int o3_dummy(ScriptState *script);
+	int o3_getMalcolmShapes(EMCState *script);
+	int o3_setCharacterPos(EMCState *script);
+	int o3_defineObject(EMCState *script);
+	int o3_refreshCharacter(EMCState *script);
+	int o3_getCharacterX(EMCState *script);
+	int o3_getCharacterY(EMCState *script);
+	int o3_getCharacterFacing(EMCState *script);
+	int o3_getCharacterScene(EMCState *script);
+	int o3_getMalcolmsMood(EMCState *script);
+	int o3_getCharacterFrameFromFacing(EMCState *script);
+	int o3_setCharacterFacingOverwrite(EMCState *script);
+	int o3_trySceneChange(EMCState *script);
+	int o3_moveCharacter(EMCState *script);
+	int o3_setCharacterFacing(EMCState *script);
+	int o3_showSceneFileMessage(EMCState *script);
+	int o3_setCharacterAnimFrameFromFacing(EMCState *script);
+	int o3_showBadConscience(EMCState *script);
+	int o3_hideBadConscience(EMCState *script);
+	int o3_setInventorySlot(EMCState *script);
+	int o3_getInventorySlot(EMCState *script);
+	int o3_addItemToInventory(EMCState *script);
+	int o3_addItemToCurScene(EMCState *script);
+	int o3_objectChat(EMCState *script);
+	int o3_checkForItem(EMCState *script);
+	int o3_resetInventory(EMCState *script);
+	int o3_defineItem(EMCState *script);
+	int o3_removeInventoryItemInstances(EMCState *script);
+	int o3_countInventoryItemInstances(EMCState *script);
+	int o3_npcChatSequence(EMCState *script);
+	int o3_queryGameFlag(EMCState *script);
+	int o3_resetGameFlag(EMCState *script);
+	int o3_setGameFlag(EMCState *script);
+	int o3_setHandItem(EMCState *script);
+	int o3_removeHandItem(EMCState *script);
+	int o3_handItemSet(EMCState *script);
+	int o3_hideMouse(EMCState *script);
+	int o3_addSpecialExit(EMCState *script);
+	int o3_setMousePos(EMCState *script);
+	int o3_showMouse(EMCState *script);
+	int o3_badConscienceChat(EMCState *script);
+	int o3_wipeDownMouseItem(EMCState *script);
+	int o3_setMalcolmsMood(EMCState *script);
+	int o3_delay(EMCState *script);
+	int o3_updateScore(EMCState *script);
+	int o3_makeSecondChanceSave(EMCState *script);
+	int o3_setSceneFilename(EMCState *script);
+	int o3_removeItemsFromScene(EMCState *script);
+	int o3_disguiseMalcolm(EMCState *script);
+	int o3_drawSceneShape(EMCState *script);
+	int o3_drawSceneShapeOnPage(EMCState *script);
+	int o3_checkInRect(EMCState *script);
+	int o3_updateConversations(EMCState *script);
+	int o3_setSceneDim(EMCState *script);
+	int o3_update(EMCState *script);
+	int o3_setSceneAnimPosAndFrame(EMCState *script);
+	int o3_removeItemInstances(EMCState *script);
+	int o3_disableInventory(EMCState *script);
+	int o3_enableInventory(EMCState *script);
+	int o3_enterNewScene(EMCState *script);
+	int o3_switchScene(EMCState *script);
+	int o3_getShapeFlag1(EMCState *script);
+	int o3_setMalcolmPos(EMCState *script);
+	int o3_stopMusic(EMCState *script);
+	int o3_playWanderScoreViaMap(EMCState *script);
+	int o3_playSoundEffect(EMCState *script);
+	int o3_getScore(EMCState *script);
+	int o3_blockOutRegion(EMCState *script);
+	int o3_showSceneStringsMessage(EMCState *script);
+	int o3_getRand(EMCState *script);
+	int o3_setDeathHandler(EMCState *script);
+	int o3_showGoodConscience(EMCState *script);
+	int o3_goodConscienceChat(EMCState *script);
+	int o3_hideGoodConscience(EMCState *script);
+	int o3_waitForConfirmationClick(EMCState *script);
+	int o3_defineRoomEntrance(EMCState *script);
+	int o3_runTemporaryScript(EMCState *script);
+	int o3_setSpecialSceneScriptRunTime(EMCState *script);
+	int o3_defineSceneAnim(EMCState *script);
+	int o3_updateSceneAnim(EMCState *script);
+	int o3_runActorScript(EMCState *script);
+	int o3_runDialog(EMCState *script);
+	int o3_malcolmRandomChat(EMCState *script);
+	int o3_setDlgIndex(EMCState *script);
+	int o3_getDlgIndex(EMCState *script);
+	int o3_defineScene(EMCState *script);
+	int o3_setConversationState(EMCState *script);
+	int o3_getConversationState(EMCState *script);
+	int o3_changeChapter(EMCState *script);
+	int o3_countItemInstances(EMCState *script);
+	int o3_dialogStartScript(EMCState *script);
+	int o3_dialogEndScript(EMCState *script);
+	int o3_setSpecialSceneScriptState(EMCState *script);
+	int o3_clearSpecialSceneScriptState(EMCState *script);
+	int o3_querySpecialSceneScriptState(EMCState *script);
+	int o3_setHiddenItemsEntry(EMCState *script);
+	int o3_getHiddenItemsEntry(EMCState *script);
+	int o3_customChat(EMCState *script);
+	int o3_customChatFinish(EMCState *script);
+	int o3_setupSceneAnimObject(EMCState *script);
+	int o3_removeSceneAnimObject(EMCState *script);
+	int o3_disableTimer(EMCState *script);
+	int o3_enableTimer(EMCState *script);
+	int o3_setTimerCountdown(EMCState *script);
+	int o3_setVocHigh(EMCState *script);
+	int o3_getVocHigh(EMCState *script);
+	int o3_dummy(EMCState *script);
 
 	// misc
 	TextDisplayer_v3 *_text;

Modified: scummvm/trunk/engines/kyra/scene_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_v1.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/scene_v1.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -135,10 +135,10 @@
 		_movieObjects[i]->close();
 
 	if (!brandonAlive) {
-		_scriptInterpreter->initScript(_scriptClick, _scriptClickData);
-		_scriptInterpreter->startScript(_scriptClick, 5);
-		while (_scriptInterpreter->validScript(_scriptClick))
-			_scriptInterpreter->runScript(_scriptClick);
+		_emc->init(&_scriptClick, &_scriptClickData);
+		_emc->start(&_scriptClick, 5);
+		while (_emc->isValid(&_scriptClick))
+			_emc->run(&_scriptClick);
 	}
 
 	memset(_entranceMouseCursorTracks, 0xFFFF, sizeof(uint16)*4);
@@ -159,7 +159,7 @@
 	strcat(fileNameBuffer, ".DAT");
 	_sprites->loadDat(fileNameBuffer, _sceneExits);
 	_sprites->setupSceneAnims();
-	_scriptInterpreter->unloadScript(_scriptClickData);
+	_emc->unload(&_scriptClickData);
 	loadSceneMsc();
 
 	_walkBlockNorth = currentRoom->northExit;
@@ -424,18 +424,18 @@
 		_scaleTable[i] = 256;
 
 	clearNoDropRects();
-	_scriptInterpreter->initScript(_scriptClick, _scriptClickData);
+	_emc->init(&_scriptClick, &_scriptClickData);
 	strcpy(fileNameBuffer, _roomFilenameTable[tableId]);
 	strcat(fileNameBuffer, ".EMC");
 	_res->exists(fileNameBuffer, true);
-	_scriptInterpreter->unloadScript(_scriptClickData);
-	_scriptInterpreter->loadScript(fileNameBuffer, _scriptClickData, &_opcodes);
-	_scriptInterpreter->startScript(_scriptClick, 0);
-	_scriptClick->regs[0] = _currentCharacter->sceneId;
-	_scriptClick->regs[7] = brandonAlive;
+	_emc->unload(&_scriptClickData);
+	_emc->load(fileNameBuffer, &_scriptClickData, &_opcodes);
+	_emc->start(&_scriptClick, 0);
+	_scriptClick.regs[0] = _currentCharacter->sceneId;
+	_scriptClick.regs[7] = brandonAlive;
 
-	while (_scriptInterpreter->validScript(_scriptClick))
-		_scriptInterpreter->runScript(_scriptClick);
+	while (_emc->isValid(&_scriptClick))
+		_emc->run(&_scriptClick);
 }
 
 void KyraEngine_v1::initSceneData(int facing, int unk1, int brandonAlive) {
@@ -601,11 +601,11 @@
 	if (unk1 && brandonAlive == 0)
 		moveCharacterToPos(0, facing, xpos2, ypos2);
 
-	_scriptClick->regs[4] = _itemInHand;
-	_scriptClick->regs[7] = brandonAlive;
-	_scriptInterpreter->startScript(_scriptClick, 3);
-	while (_scriptInterpreter->validScript(_scriptClick))
-		_scriptInterpreter->runScript(_scriptClick);
+	_scriptClick.regs[4] = _itemInHand;
+	_scriptClick.regs[7] = brandonAlive;
+	_emc->start(&_scriptClick, 3);
+	while (_emc->isValid(&_scriptClick))
+		_emc->run(&_scriptClick);
 }
 
 void KyraEngine_v1::initSceneObjectList(int brandonAlive) {
@@ -827,13 +827,13 @@
 		}
 	}
 
-	if (!_scriptInterpreter->startScript(_scriptClick, 2))
+	if (!_emc->start(&_scriptClick, 2))
 		error("Could not start script function 2 of scene script");
 
-	_scriptClick->regs[7] = brandonAlive;
+	_scriptClick.regs[7] = brandonAlive;
 
-	while (_scriptInterpreter->validScript(_scriptClick))
-		_scriptInterpreter->runScript(_scriptClick);
+	while (_emc->isValid(&_scriptClick))
+		_emc->run(&_scriptClick);
 
 	setTextFadeTimerCountdown(-1);
 	if (_currentCharacter->sceneId == 210) {

Modified: scummvm/trunk/engines/kyra/scene_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_v2.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/scene_v2.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -91,10 +91,10 @@
 	_chatAltFlag = false;
 
 	if (!unk3) {
-		_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
-		_scriptInterpreter->startScript(&_sceneScriptState, 5);
-		while (_scriptInterpreter->validScript(&_sceneScriptState))
-			_scriptInterpreter->runScript(&_sceneScriptState);
+		_emc->init(&_sceneScriptState, &_sceneScriptData);
+		_emc->start(&_sceneScriptState, 5);
+		while (_emc->isValid(&_sceneScriptState))
+			_emc->run(&_sceneScriptState);
 	}
 
 	Common::for_each(_wsaSlots, _wsaSlots+ARRAYSIZE(_wsaSlots), Common::mem_fun(&WSAMovieV2::close));
@@ -391,7 +391,7 @@
 
 void KyraEngine_v2::unloadScene() {
 	debugC(9, kDebugLevelMain, "KyraEngine_v2::unloadScene()");
-	_scriptInterpreter->unloadScript(&_sceneScriptData);
+	_emc->unload(&_sceneScriptData);
 	freeSceneShapePtrs();
 	freeSceneAnims();
 }
@@ -446,27 +446,27 @@
 	_sceneEnterY4 = 72;
 
 	_sceneCommentString = "Undefined scene comment string!";
-	_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
+	_emc->init(&_sceneScriptState, &_sceneScriptData);
 
 	strcpy(filename, _sceneList[sceneId].filename);
 	strcat(filename, ".");
 	strcat(filename, _scriptLangExt[(_flags.platform == Common::kPlatformPC && !_flags.isTalkie) ? 0 : _lang]);
 
 	_res->exists(filename, true);
-	_scriptInterpreter->loadScript(filename, &_sceneScriptData, &_opcodes);
+	_emc->load(filename, &_sceneScriptData, &_opcodes);
 	runSceneScript7();
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 0);
+	_emc->start(&_sceneScriptState, 0);
 	_sceneScriptState.regs[0] = sceneId;
 	_sceneScriptState.regs[5] = unk1;
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 
 	memcpy(_gamePlayBuffer, _screen->getCPagePtr(3), 46080);
 
 	for (int i = 0; i < 10; ++i) {
-		_scriptInterpreter->initScript(&_sceneSpecialScripts[i], &_sceneScriptData);
-		_scriptInterpreter->startScript(&_sceneSpecialScripts[i], i+8);
+		_emc->init(&_sceneSpecialScripts[i], &_sceneScriptData);
+		_emc->start(&_sceneSpecialScripts[i], i+8);
 		_sceneSpecialScriptsTimer[i] = 0;
 	}
 
@@ -482,12 +482,12 @@
 
 void KyraEngine_v2::runSceneScript2() {
 	debugC(9, kDebugLevelMain, "KyraEngine_v2::runSceneScript2()");
-	_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
+	_emc->init(&_sceneScriptState, &_sceneScriptData);
 	_sceneScriptState.regs[4] = _itemInHand;
-	_scriptInterpreter->startScript(&_sceneScriptState, 2);
+	_emc->start(&_sceneScriptState, 2);
 
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 }
 
 void KyraEngine_v2::runSceneScript4(int unk1) {
@@ -495,23 +495,23 @@
 	_sceneScriptState.regs[4] = _itemInHand;
 	_sceneScriptState.regs[5] = unk1;
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 4);
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	_emc->start(&_sceneScriptState, 4);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 }
 
 void KyraEngine_v2::runSceneScript6() {
 	debugC(9, kDebugLevelMain, "KyraEngine_v2::runSceneScript6()");
-	_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
+	_emc->init(&_sceneScriptState, &_sceneScriptData);
 
 	_sceneScriptState.regs[0] = _mainCharacter.sceneId;
 	_sceneScriptState.regs[1] = _mouseX;
 	_sceneScriptState.regs[2] = _mouseY;
 	_sceneScriptState.regs[4] = _itemInHand;
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 6);
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	_emc->start(&_sceneScriptState, 6);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 }
 
 void KyraEngine_v2::runSceneScript7() {
@@ -519,9 +519,9 @@
 	int oldPage = _screen->_curPage;
 	_screen->_curPage = 2;
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 7);
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	_emc->start(&_sceneScriptState, 7);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 
 	_screen->_curPage = oldPage;
 }
@@ -706,10 +706,10 @@
 
 	updateCharPal(0);
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 3);
+	_emc->start(&_sceneScriptState, 3);
 	_sceneScriptState.regs[5] = unk1;
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 }
 
 void KyraEngine_v2::updateSpecialSceneScripts() {
@@ -723,13 +723,13 @@
 			_specialSceneScriptRunFlag = true;
 
 			while (_specialSceneScriptRunFlag && _sceneSpecialScriptsTimer[_lastProcessedSceneScript] <= _system->getMillis()) {
-				if (!_scriptInterpreter->runScript(&_sceneSpecialScripts[_lastProcessedSceneScript]))
+				if (!_emc->run(&_sceneSpecialScripts[_lastProcessedSceneScript]))
 					_specialSceneScriptRunFlag = false;
 			}
 		}
 
-		if (!_scriptInterpreter->validScript(&_sceneSpecialScripts[_lastProcessedSceneScript])) {
-			_scriptInterpreter->startScript(&_sceneSpecialScripts[_lastProcessedSceneScript], 8+_lastProcessedSceneScript);
+		if (!_emc->isValid(&_sceneSpecialScripts[_lastProcessedSceneScript])) {
+			_emc->start(&_sceneSpecialScripts[_lastProcessedSceneScript], 8+_lastProcessedSceneScript);
 			_specialSceneScriptRunFlag = false;
 		}
 

Modified: scummvm/trunk/engines/kyra/scene_v3.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_v3.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/scene_v3.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -91,10 +91,10 @@
 	//XXX
 
 	if (!unk3) {
-		_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
-		_scriptInterpreter->startScript(&_sceneScriptState, 5);
-		while (_scriptInterpreter->validScript(&_sceneScriptState)) {
-			_scriptInterpreter->runScript(&_sceneScriptState);
+		_emc->init(&_sceneScriptState, &_sceneScriptData);
+		_emc->start(&_sceneScriptState, 5);
+		while (_emc->isValid(&_sceneScriptState)) {
+			_emc->run(&_sceneScriptState);
 			musicUpdate(0);
 		}
 	}
@@ -313,7 +313,7 @@
 	delete [] _sceneStrings;
 	_sceneStrings = 0;
 	musicUpdate(0);
-	_scriptInterpreter->unloadScript(&_sceneScriptData);
+	_emc->unload(&_sceneScriptData);
 	musicUpdate(0);
 	freeSceneShapes();
 	musicUpdate(0);
@@ -456,12 +456,12 @@
 	_sceneMinX = 0;
 	_sceneMaxX = 319;
 
-	_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
+	_emc->init(&_sceneScriptState, &_sceneScriptData);
 	strcpy(filename, scene.filename2);
 	strcat(filename, ".EMC");
 	musicUpdate(0);
 	_res->exists(filename, true);
-	_scriptInterpreter->loadScript(filename, &_sceneScriptData, &_opcodes);
+	_emc->load(filename, &_sceneScriptData, &_opcodes);
 
 	strcpy(filename, scene.filename2);
 	strcat(filename, ".");
@@ -469,18 +469,18 @@
 	musicUpdate(0);
 
 	runSceneScript8();
-	_scriptInterpreter->startScript(&_sceneScriptState, 0);
+	_emc->start(&_sceneScriptState, 0);
 	_sceneScriptState.regs[0] = _mainCharacter.sceneId;
 	_sceneScriptState.regs[5] = unk1;
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 
 	_screen->copyRegionToBuffer(3, 0, 0, 320, 200, _gamePlayBuffer);
 	musicUpdate(0);
 
 	for (int i = 0; i < 10; ++i) {
-		_scriptInterpreter->initScript(&_sceneSpecialScripts[i], &_sceneScriptData);
-		_scriptInterpreter->startScript(&_sceneSpecialScripts[i], i+9);
+		_emc->init(&_sceneSpecialScripts[i], &_sceneScriptData);
+		_emc->start(&_sceneSpecialScripts[i], i+9);
 		musicUpdate(0);
 		_sceneSpecialScriptsTimer[i] = 0;
 	}
@@ -642,11 +642,11 @@
 	updateCharPal(0);
 
 	if (1/*!_menuDirectlyToLoad*/) {
-		_scriptInterpreter->startScript(&_sceneScriptState, 3);
+		_emc->start(&_sceneScriptState, 3);
 		_sceneScriptState.regs[5] = unk1;
 
-		while (_scriptInterpreter->validScript(&_sceneScriptState))
-			_scriptInterpreter->runScript(&_sceneScriptState);
+		while (_emc->isValid(&_sceneScriptState))
+			_emc->run(&_sceneScriptState);
 	}
 }
 
@@ -661,13 +661,13 @@
 			_specialSceneScriptRunFlag = true;
 
 			while (_specialSceneScriptRunFlag && _sceneSpecialScriptsTimer[_lastProcessedSceneScript] <= _system->getMillis()) {
-				if (!_scriptInterpreter->runScript(&_sceneSpecialScripts[_lastProcessedSceneScript]))
+				if (!_emc->run(&_sceneSpecialScripts[_lastProcessedSceneScript]))
 					_specialSceneScriptRunFlag = false;
 			}
 		}
 
-		if (!_scriptInterpreter->validScript(&_sceneSpecialScripts[_lastProcessedSceneScript])) {
-			_scriptInterpreter->startScript(&_sceneSpecialScripts[_lastProcessedSceneScript], 9+_lastProcessedSceneScript);
+		if (!_emc->isValid(&_sceneSpecialScripts[_lastProcessedSceneScript])) {
+			_emc->start(&_sceneSpecialScripts[_lastProcessedSceneScript], 9+_lastProcessedSceneScript);
 			_specialSceneScriptRunFlag = false;
 		}
 
@@ -798,15 +798,15 @@
 	if (_deathHandler >= 0)
 		return 0;
 	
-	_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
+	_emc->init(&_sceneScriptState, &_sceneScriptData);
 	_sceneScriptState.regs[1] = x;
 	_sceneScriptState.regs[2] = y;
 	_sceneScriptState.regs[3] = 0;
 	_sceneScriptState.regs[4] = _itemInHand;
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 1);
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	_emc->start(&_sceneScriptState, 1);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 
 	return _sceneScriptState.regs[3];
 }
@@ -818,9 +818,9 @@
 	_sceneScriptState.regs[3] = 0;
 	_sceneScriptState.regs[4] = _itemInHand;
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 2);
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	_emc->start(&_sceneScriptState, 2);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 
 	return _sceneScriptState.regs[3];
 }
@@ -832,9 +832,9 @@
 	_sceneScriptState.regs[3] = 0;
 	_noStartupChat = false;
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 4);
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	_emc->start(&_sceneScriptState, 4);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 
 	if (_sceneScriptState.regs[3])
 		_noStartupChat = true;
@@ -842,24 +842,24 @@
 
 void KyraEngine_v3::runSceneScript6() {
 	debugC(9, kDebugLevelMain, "KyraEngine_v3::runSceneScript6()");
-	_scriptInterpreter->initScript(&_sceneScriptState, &_sceneScriptData);
+	_emc->init(&_sceneScriptState, &_sceneScriptData);
 
 	_sceneScriptState.regs[0] = _mainCharacter.sceneId;
 	_sceneScriptState.regs[1] = _mouseX;
 	_sceneScriptState.regs[2] = _mouseY;
 	_sceneScriptState.regs[3] = _itemInHand;
 
-	_scriptInterpreter->startScript(&_sceneScriptState, 6);
-	while (_scriptInterpreter->validScript(&_sceneScriptState))
-		_scriptInterpreter->runScript(&_sceneScriptState);
+	_emc->start(&_sceneScriptState, 6);
+	while (_emc->isValid(&_sceneScriptState))
+		_emc->run(&_sceneScriptState);
 }
 
 void KyraEngine_v3::runSceneScript8() {
 	debugC(9, kDebugLevelMain, "KyraEngine_v3::runSceneScript8()");
-	_scriptInterpreter->startScript(&_sceneScriptState, 8);
-	while (_scriptInterpreter->validScript(&_sceneScriptState)) {
+	_emc->start(&_sceneScriptState, 8);
+	while (_emc->isValid(&_sceneScriptState)) {
 		musicUpdate(0);
-		_scriptInterpreter->runScript(&_sceneScriptState);
+		_emc->run(&_sceneScriptState);
 	}
 }
 

Modified: scummvm/trunk/engines/kyra/script.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/script.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -33,8 +33,8 @@
 #include "kyra/script.h"
 
 namespace Kyra {
-ScriptHelper::ScriptHelper(KyraEngine *vm) : _vm(vm) {
-#define COMMAND(x) { &ScriptHelper::x, #x }
+EMCInterpreter::EMCInterpreter(KyraEngine *vm) : _vm(vm) {
+#define COMMAND(x) { &EMCInterpreter::x, #x }
 	static CommandEntry commandProcs[] = {
 		// 0x00
 		COMMAND(cmd_jmpTo),
@@ -65,14 +65,14 @@
 #undef COMMAND
 }
 
-bool ScriptHelper::loadScript(const char *filename, ScriptData *scriptData, const Common::Array<const Opcode*> *opcodes) {
+bool EMCInterpreter::load(const char *filename, EMCData *scriptData, const Common::Array<const Opcode*> *opcodes) {
 	ScriptFileParser file(filename, _vm->resource());
 	if (!file) {
 		error("Couldn't open script file '%s'", filename);
 		return false;
 	}
 
-	memset(scriptData, 0, sizeof(ScriptData));
+	memset(scriptData, 0, sizeof(EMCData));
 
 	uint32 formBlockSize = file.getFORMBlockSize();
 	if (formBlockSize == (uint32)-1) {
@@ -85,7 +85,7 @@
 		scriptData->text = new byte[chunkSize];
 
 		if (!file.loadIFFBlock(TEXT_CHUNK, scriptData->text, chunkSize)) {
-			unloadScript(scriptData);
+			unload(scriptData);
 			error("Couldn't load TEXT chunk from file: '%s'", filename);
 			return false;
 		}
@@ -93,7 +93,7 @@
 
 	chunkSize = file.getIFFBlockSize(ORDR_CHUNK);
 	if (chunkSize == (uint32)-1) {
-		unloadScript(scriptData);
+		unload(scriptData);
 		error("No ORDR chunk found in file: '%s'", filename);
 		return false;
 	}
@@ -102,7 +102,7 @@
 	scriptData->ordr = new uint16[chunkSize];
 
 	if (!file.loadIFFBlock(ORDR_CHUNK, scriptData->ordr, chunkSize << 1)) {
-		unloadScript(scriptData);
+		unload(scriptData);
 		error("Couldn't load ORDR chunk from file: '%s'", filename);
 		return false;
 	}
@@ -112,7 +112,7 @@
 
 	chunkSize = file.getIFFBlockSize(DATA_CHUNK);
 	if (chunkSize == (uint32)-1) {
-		unloadScript(scriptData);
+		unload(scriptData);
 		error("No DATA chunk found in file: '%s'", filename);
 		return false;
 	}
@@ -121,7 +121,7 @@
 	scriptData->data = new uint16[chunkSize];
 
 	if (!file.loadIFFBlock(DATA_CHUNK, scriptData->data, chunkSize << 1)) {
-		unloadScript(scriptData);
+		unload(scriptData);
 		error("Couldn't load DATA chunk from file: '%s'", filename);
 		return false;
 	}
@@ -135,7 +135,7 @@
 	return true;
 }
 
-void ScriptHelper::unloadScript(ScriptData *data) {
+void EMCInterpreter::unload(EMCData *data) {
 	if (!data)
 		return;
 
@@ -147,7 +147,7 @@
 	data->ordr = data->data = 0;
 }
 
-void ScriptHelper::initScript(ScriptState *scriptStat, const ScriptData *data) {
+void EMCInterpreter::init(EMCState *scriptStat, const EMCData *data) {
 	scriptStat->dataPtr = data;
 	scriptStat->ip = 0;
 	scriptStat->stack[60] = 0;
@@ -155,7 +155,7 @@
 	scriptStat->sp = 60;
 }
 
-bool ScriptHelper::startScript(ScriptState *script, int function) {
+bool EMCInterpreter::start(EMCState *script, int function) {
 	if (!script->dataPtr)
 		return false;
 
@@ -175,13 +175,13 @@
 	return true;
 }
 
-bool ScriptHelper::validScript(ScriptState *script) {
+bool EMCInterpreter::isValid(EMCState *script) {
 	if (!script->ip || !script->dataPtr || _vm->quit())
 		return false;
 	return true;
 }
 
-bool ScriptHelper::runScript(ScriptState *script) {
+bool EMCInterpreter::run(EMCState *script) {
 	_parameter = 0;
 
 	if (!script->ip)
@@ -207,7 +207,7 @@
 	if (opcode > 18) {
 		error("Script unknown command: %d", opcode);
 	} else {
-		debugC(5, kDebugLevelScript, "[0x%.08X] ScriptHelper::%s([%d/%u])", instOffset, _commands[opcode].desc, _parameter, (uint)_parameter);
+		debugC(5, kDebugLevelScript, "[0x%.08X] EMCInterpreter::%s([%d/%u])", instOffset, _commands[opcode].desc, _parameter, (uint)_parameter);
 		(this->*(_commands[opcode].proc))(script);
 	}
 
@@ -295,15 +295,15 @@
 #pragma mark - Command implementations
 #pragma mark -
 
-void ScriptHelper::cmd_jmpTo(ScriptState* script) {
+void EMCInterpreter::cmd_jmpTo(EMCState* script) {
 	script->ip = script->dataPtr->data + _parameter;
 }
 
-void ScriptHelper::cmd_setRetValue(ScriptState* script) {
+void EMCInterpreter::cmd_setRetValue(EMCState* script) {
 	script->retValue = _parameter;
 }
 
-void ScriptHelper::cmd_pushRetOrPos(ScriptState* script) {
+void EMCInterpreter::cmd_pushRetOrPos(EMCState* script) {
 	switch (_parameter) {
 	case 0:
 		script->stack[--script->sp] = script->retValue;
@@ -321,23 +321,23 @@
 	}
 }
 
-void ScriptHelper::cmd_push(ScriptState* script) {
+void EMCInterpreter::cmd_push(EMCState* script) {
 	script->stack[--script->sp] = _parameter;
 }
 
-void ScriptHelper::cmd_pushReg(ScriptState* script) {
+void EMCInterpreter::cmd_pushReg(EMCState* script) {
 	script->stack[--script->sp] = script->regs[_parameter];
 }
 
-void ScriptHelper::cmd_pushBPNeg(ScriptState* script) {
+void EMCInterpreter::cmd_pushBPNeg(EMCState* script) {
 	script->stack[--script->sp] = script->stack[(-(int32)(_parameter + 2)) + script->bp];
 }
 
-void ScriptHelper::cmd_pushBPAdd(ScriptState* script) {
+void EMCInterpreter::cmd_pushBPAdd(EMCState* script) {
 	script->stack[--script->sp] = script->stack[(_parameter - 1) + script->bp];
 }
 
-void ScriptHelper::cmd_popRetOrPos(ScriptState* script) {
+void EMCInterpreter::cmd_popRetOrPos(EMCState* script) {
 	switch (_parameter) {
 	case 0:
 		script->retValue = script->stack[script->sp++];
@@ -358,27 +358,27 @@
 	}
 }
 
-void ScriptHelper::cmd_popReg(ScriptState* script) {
+void EMCInterpreter::cmd_popReg(EMCState* script) {
 	script->regs[_parameter] = script->stack[script->sp++];
 }
 
-void ScriptHelper::cmd_popBPNeg(ScriptState* script) {
+void EMCInterpreter::cmd_popBPNeg(EMCState* script) {
 	script->stack[(-(int32)(_parameter + 2)) + script->bp] = script->stack[script->sp++];
 }
 
-void ScriptHelper::cmd_popBPAdd(ScriptState* script) {
+void EMCInterpreter::cmd_popBPAdd(EMCState* script) {
 	script->stack[(_parameter - 1) + script->bp] = script->stack[script->sp++];
 }
 
-void ScriptHelper::cmd_addSP(ScriptState* script) {
+void EMCInterpreter::cmd_addSP(EMCState* script) {
 	script->sp += _parameter;
 }
 
-void ScriptHelper::cmd_subSP(ScriptState* script) {
+void EMCInterpreter::cmd_subSP(EMCState* script) {
 	script->sp -= _parameter;
 }
 
-void ScriptHelper::cmd_execOpcode(ScriptState* script) {
+void EMCInterpreter::cmd_execOpcode(EMCState* script) {
 	uint8 opcode = _parameter;
 
 	assert(script->dataPtr->opcodes);
@@ -392,14 +392,14 @@
 	}
 }
 
-void ScriptHelper::cmd_ifNotJmp(ScriptState* script) {
+void EMCInterpreter::cmd_ifNotJmp(EMCState* script) {
 	if (!script->stack[script->sp++]) {
 		_parameter &= 0x7FFF;
 		script->ip = script->dataPtr->data + _parameter;
 	}
 }
 
-void ScriptHelper::cmd_negate(ScriptState* script) {
+void EMCInterpreter::cmd_negate(EMCState* script) {
 	int16 value = script->stack[script->sp];
 	switch (_parameter) {
 	case 0:
@@ -424,7 +424,7 @@
 	}
 }
 
-void ScriptHelper::cmd_eval(ScriptState* script) {
+void EMCInterpreter::cmd_eval(EMCState* script) {
 	int16 ret = 0;
 	bool error = false;
 
@@ -540,7 +540,7 @@
 		script->stack[--script->sp] = ret;
 }
 
-void ScriptHelper::cmd_setRetAndJmp(ScriptState* script) {
+void EMCInterpreter::cmd_setRetAndJmp(EMCState* script) {
 	if (script->sp >= 60) {
 		script->ip = 0;
 	} else {

Modified: scummvm/trunk/engines/kyra/script.h
===================================================================
--- scummvm/trunk/engines/kyra/script.h	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/script.h	2008-04-29 15:12:09 UTC (rev 31773)
@@ -31,10 +31,10 @@
 
 namespace Kyra {
 
-struct ScriptState;
-typedef Common::Functor1<ScriptState*, int> Opcode;
+struct EMCState;
+typedef Common::Functor1<EMCState*, int> Opcode;
 
-struct ScriptData {
+struct EMCData {
 	byte *text;
 	uint16 *data;
 	uint16 *ordr;
@@ -43,9 +43,9 @@
 	const Common::Array<const Opcode*> *opcodes;
 };
 
-struct ScriptState {
+struct EMCState {
 	uint16 *ip;
-	const ScriptData *dataPtr;
+	const EMCData *dataPtr;
 	int16 retValue;
 	uint16 bp;
 	uint16 sp;
@@ -87,24 +87,24 @@
 	uint32 _endOffset;
 };
 
-class ScriptHelper {
+class EMCInterpreter {
 public:
-	ScriptHelper(KyraEngine *vm);
+	EMCInterpreter(KyraEngine *vm);
 
-	bool loadScript(const char *filename, ScriptData *data, const Common::Array<const Opcode*> *opcodes);
-	void unloadScript(ScriptData *data);
+	bool load(const char *filename, EMCData *data, const Common::Array<const Opcode*> *opcodes);
+	void unload(EMCData *data);
 
-	void initScript(ScriptState *scriptState, const ScriptData *data);
-	bool startScript(ScriptState *script, int function);
+	void init(EMCState *scriptState, const EMCData *data);
+	bool start(EMCState *script, int function);
 
-	bool validScript(ScriptState *script);
+	bool isValid(EMCState *script);
 
-	bool runScript(ScriptState *script);
+	bool run(EMCState *script);
 protected:
 	KyraEngine *_vm;
 	int16 _parameter;
 
-	typedef void (ScriptHelper::*CommandProc)(ScriptState*);
+	typedef void (EMCInterpreter::*CommandProc)(EMCState*);
 	struct CommandEntry {
 		CommandProc proc;
 		const char *desc;
@@ -112,24 +112,24 @@
 
 	const CommandEntry *_commands;
 private:
-	void cmd_jmpTo(ScriptState*);
-	void cmd_setRetValue(ScriptState*);
-	void cmd_pushRetOrPos(ScriptState*);
-	void cmd_push(ScriptState*);
-	void cmd_pushReg(ScriptState*);
-	void cmd_pushBPNeg(ScriptState*);
-	void cmd_pushBPAdd(ScriptState*);
-	void cmd_popRetOrPos(ScriptState*);
-	void cmd_popReg(ScriptState*);
-	void cmd_popBPNeg(ScriptState*);
-	void cmd_popBPAdd(ScriptState*);
-	void cmd_addSP(ScriptState*);
-	void cmd_subSP(ScriptState*);
-	void cmd_execOpcode(ScriptState*);
-	void cmd_ifNotJmp(ScriptState*);
-	void cmd_negate(ScriptState*);
-	void cmd_eval(ScriptState*);
-	void cmd_setRetAndJmp(ScriptState*);
+	void cmd_jmpTo(EMCState*);
+	void cmd_setRetValue(EMCState*);
+	void cmd_pushRetOrPos(EMCState*);
+	void cmd_push(EMCState*);
+	void cmd_pushReg(EMCState*);
+	void cmd_pushBPNeg(EMCState*);
+	void cmd_pushBPAdd(EMCState*);
+	void cmd_popRetOrPos(EMCState*);
+	void cmd_popReg(EMCState*);
+	void cmd_popBPNeg(EMCState*);
+	void cmd_popBPAdd(EMCState*);
+	void cmd_addSP(EMCState*);
+	void cmd_subSP(EMCState*);
+	void cmd_execOpcode(EMCState*);
+	void cmd_ifNotJmp(EMCState*);
+	void cmd_negate(EMCState*);
+	void cmd_eval(EMCState*);
+	void cmd_setRetAndJmp(EMCState*);
 };
 } // end of namespace Kyra
 

Modified: scummvm/trunk/engines/kyra/script_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v1.cpp	2008-04-29 14:33:29 UTC (rev 31772)
+++ scummvm/trunk/engines/kyra/script_v1.cpp	2008-04-29 15:12:09 UTC (rev 31773)
@@ -37,13 +37,13 @@
 #include "kyra/timer.h"
 
 namespace Kyra {
-int KyraEngine_v1::o1_magicInMouseItem(ScriptState *script) {
+int KyraEngine_v1::o1_magicInMouseItem(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_magicInMouseItem(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	magicInMouseItem(stackPos(0), stackPos(1), -1);
 	return 0;
 }
 
-int KyraEngine_v1::o1_characterSays(ScriptState *script) {
+int KyraEngine_v1::o1_characterSays(EMCState *script) {
 	_skipFlag = false;
 	if (_flags.isTalkie) {
 		debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_characterSays(%p) (%d, '%s', %d, %d)", (const void *)script, stackPos(0), stackPosString(1), stackPos(2), stackPos(3));
@@ -74,7 +74,7 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_pauseTicks(ScriptState *script) {
+int KyraEngine_v1::o1_pauseTicks(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_pauseTicks(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	if (stackPos(1)) {
 		warning("STUB: special o1_pauseTicks");
@@ -86,33 +86,33 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_drawSceneAnimShape(ScriptState *script) {
+int KyraEngine_v1::o1_drawSceneAnimShape(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_drawSceneAnimShape(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4));
 	_screen->drawShape(stackPos(4), _sprites->_sceneShapes[stackPos(0)], stackPos(1), stackPos(2), 0, (stackPos(3) != 0) ? 1 : 0);
 	return 0;
 }
 
-int KyraEngine_v1::o1_queryGameFlag(ScriptState *script) {
+int KyraEngine_v1::o1_queryGameFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_queryGameFlag(%p) (0x%X)", (const void *)script, stackPos(0));
 	return queryGameFlag(stackPos(0));
 }
 
-int KyraEngine_v1::o1_setGameFlag(ScriptState *script) {
+int KyraEngine_v1::o1_setGameFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_setGameFlag(%p) (0x%X)", (const void *)script, stackPos(0));
 	return setGameFlag(stackPos(0));
 }
 
-int KyraEngine_v1::o1_resetGameFlag(ScriptState *script) {
+int KyraEngine_v1::o1_resetGameFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_resetGameFlag(%p) (0x%X)", (const void *)script, stackPos(0));
 	return resetGameFlag(stackPos(0));
 }
 
-int KyraEngine_v1::o1_runNPCScript(ScriptState *script) {
+int KyraEngine_v1::o1_runNPCScript(EMCState *script) {
 	warning("STUB: o1_runNPCScript");
 	return 0;
 }
 
-int KyraEngine_v1::o1_setSpecialExitList(ScriptState *script) {
+int KyraEngine_v1::o1_setSpecialExitList(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_setSpecialExitList(%p) (%d, %d, %d, %d, %d, %d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5), stackPos(6), stackPos(7), stackPos(8), stackPos(9));
 
 	for (int i = 0; i < 10; ++i)
@@ -122,19 +122,19 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_blockInWalkableRegion(ScriptState *script) {
+int KyraEngine_v1::o1_blockInWalkableRegion(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_blockInWalkableRegion(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
 	_screen->blockInRegion(stackPos(0), stackPos(1), stackPos(2)-stackPos(0)+1, stackPos(3)-stackPos(1)+1);
 	return 0;
 }
 
-int KyraEngine_v1::o1_blockOutWalkableRegion(ScriptState *script) {
+int KyraEngine_v1::o1_blockOutWalkableRegion(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_blockOutWalkableRegion(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
 	_screen->blockOutRegion(stackPos(0), stackPos(1), stackPos(2)-stackPos(0)+1, stackPos(3)-stackPos(1)+1);
 	return 0;
 }
 
-int KyraEngine_v1::o1_walkPlayerToPoint(ScriptState *script) {
+int KyraEngine_v1::o1_walkPlayerToPoint(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_walkPlayerToPoint(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
 
 	int normalTimers = stackPos(2);
@@ -153,7 +153,7 @@
 	}
 
 	if (reinitScript)
-		_scriptInterpreter->initScript(script, script->dataPtr);
+		_emc->init(script, script->dataPtr);
 
 	if (_sceneChangeState) {
 		_sceneChangeState = 0;
@@ -162,7 +162,7 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_dropItemInScene(ScriptState *script) {
+int KyraEngine_v1::o1_dropItemInScene(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_dropItemInScene(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
 	int item = stackPos(0);
 	int xpos = stackPos(1);
@@ -187,7 +187,7 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_drawAnimShapeIntoScene(ScriptState *script) {
+int KyraEngine_v1::o1_drawAnimShapeIntoScene(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_drawAnimShapeIntoScene(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
 	_screen->hideMouse();
 	_animator->restoreAllObjectBackgrounds();
@@ -205,49 +205,49 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_createMouseItem(ScriptState *script) {
+int KyraEngine_v1::o1_createMouseItem(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_createMouseItem(%p) (%d)", (const void *)script, stackPos(0));
 	createMouseItem(stackPos(0));
 	return 0;
 }
 
-int KyraEngine_v1::o1_savePageToDisk(ScriptState *script) {
+int KyraEngine_v1::o1_savePageToDisk(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_savePageToDisk(%p) ('%s', %d)", (const void *)script, stackPosString(0), stackPos(1));
 	_screen->savePageToDisk(stackPosString(0), stackPos(1));
 	return 0;
 }
 
-int KyraEngine_v1::o1_sceneAnimOn(ScriptState *script) {
+int KyraEngine_v1::o1_sceneAnimOn(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_sceneAnimOn(%p) (%d)", (const void *)script, stackPos(0));
 	_sprites->_anims[stackPos(0)].play = true;
 	return 0;
 }
 
-int KyraEngine_v1::o1_sceneAnimOff(ScriptState *script) {
+int KyraEngine_v1::o1_sceneAnimOff(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_sceneAnimOff(%p) (%d)", (const void *)script, stackPos(0));
 	_sprites->_anims[stackPos(0)].play = false;
 	return 0;
 }
 
-int KyraEngine_v1::o1_getElapsedSeconds(ScriptState *script) {
+int KyraEngine_v1::o1_getElapsedSeconds(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_getElapsedSeconds(%p) ()", (const void *)script);
 	return _system->getMillis() / 1000;
 }
 
-int KyraEngine_v1::o1_mouseIsPointer(ScriptState *script) {
+int KyraEngine_v1::o1_mouseIsPointer(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_mouseIsPointer(%p) ()", (const void *)script);
 	if (_itemInHand == -1)
 		return 1;
 	return 0;
 }
 
-int KyraEngine_v1::o1_destroyMouseItem(ScriptState *script) {
+int KyraEngine_v1::o1_destroyMouseItem(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_destroyMouseItem(%p) ()", (const void *)script);
 	destroyMouseItem();
 	return 0;
 }
 
-int KyraEngine_v1::o1_runSceneAnimUntilDone(ScriptState *script) {
+int KyraEngine_v1::o1_runSceneAnimUntilDone(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_runSceneAnimUntilDone(%p) (%d)", (const void *)script, stackPos(0));
 	_screen->hideMouse();
 	_animator->restoreAllObjectBackgrounds();
@@ -265,7 +265,7 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_fadeSpecialPalette(ScriptState *script) {
+int KyraEngine_v1::o1_fadeSpecialPalette(EMCState *script) {
 	if (_flags.platform == Common::kPlatformAmiga) {
 		debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_fadeSpecialPalette(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
 		if (_currentCharacter->sceneId != 45) {
@@ -283,42 +283,42 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_playAdlibSound(ScriptState *script) {
+int KyraEngine_v1::o1_playAdlibSound(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_playAdlibSound(%p) (%d)", (const void *)script, stackPos(0));
 	snd_playSoundEffect(stackPos(0));
 	return 0;
 }
 
-int KyraEngine_v1::o1_playAdlibScore(ScriptState *script) {
+int KyraEngine_v1::o1_playAdlibScore(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_playAdlibScore(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	snd_playWanderScoreViaMap(stackPos(0), stackPos(1));
 	return 0;
 }
 
-int KyraEngine_v1::o1_phaseInSameScene(ScriptState *script) {
+int KyraEngine_v1::o1_phaseInSameScene(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_phaseInSameScene(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	transcendScenes(stackPos(0), stackPos(1));
 	return 0;
 }
 
-int KyraEngine_v1::o1_setScenePhasingFlag(ScriptState *script) {
+int KyraEngine_v1::o1_setScenePhasingFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_setScenePhasingFlag(%p) ()", (const void *)script);
 	_scenePhasingFlag = 1;
 	return 1;
 }
 
-int KyraEngine_v1::o1_resetScenePhasingFlag(ScriptState *script) {
+int KyraEngine_v1::o1_resetScenePhasingFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_resetScenePhasingFlag(%p) ()", (const void *)script);
 	_scenePhasingFlag = 0;
 	return 0;
 }
 
-int KyraEngine_v1::o1_queryScenePhasingFlag(ScriptState *script) {
+int KyraEngine_v1::o1_queryScenePhasingFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_queryScenePhasingFlag(%p) ()", (const void *)script);
 	return _scenePhasingFlag;
 }
 
-int KyraEngine_v1::o1_sceneToDirection(ScriptState *script) {
+int KyraEngine_v1::o1_sceneToDirection(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_sceneToDirection(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	assert(stackPos(0) < _roomTableSize);
 	Room *curRoom = &_roomTable[stackPos(0)];
@@ -348,7 +348,7 @@
 	return returnValue;
 }
 
-int KyraEngine_v1::o1_setBirthstoneGem(ScriptState *script) {
+int KyraEngine_v1::o1_setBirthstoneGem(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_setBirthstoneGem(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	int index = stackPos(0);
 	if (index < 4 && index >= 0) {
@@ -358,19 +358,19 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_placeItemInGenericMapScene(ScriptState *script) {
+int KyraEngine_v1::o1_placeItemInGenericMapScene(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_placeItemInGenericMapScene(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	placeItemInGenericMapScene(stackPos(0), stackPos(1));
 	return 0;
 }
 
-int KyraEngine_v1::o1_setBrandonStatusBit(ScriptState *script) {
+int KyraEngine_v1::o1_setBrandonStatusBit(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_setBrandonStatusBit(%p) (%d)", (const void *)script, stackPos(0));
 	_brandonStatusBit |= stackPos(0);
 	return 0;
 }
 
-int KyraEngine_v1::o1_pauseSeconds(ScriptState *script) {
+int KyraEngine_v1::o1_pauseSeconds(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_pauseSeconds(%p) (%d)", (const void *)script, stackPos(0));
 	if (stackPos(0) > 0 && !_skipFlag)
 		delay(stackPos(0)*1000, true);
@@ -378,41 +378,41 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_getCharactersLocation(ScriptState *script) {
+int KyraEngine_v1::o1_getCharactersLocation(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_getCharactersLocation(%p) (%d)", (const void *)script, stackPos(0));
 	return _characterList[stackPos(0)].sceneId;
 }
 
-int KyraEngine_v1::o1_runNPCSubscript(ScriptState *script) {
+int KyraEngine_v1::o1_runNPCSubscript(EMCState *script) {
 	warning("STUB: o1_runNPCSubscript");
 	return 0;
 }
 
-int KyraEngine_v1::o1_magicOutMouseItem(ScriptState *script) {
+int KyraEngine_v1::o1_magicOutMouseItem(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_magicOutMouseItem(%p) (%d)", (const void *)script, stackPos(0));
 	magicOutMouseItem(stackPos(0), -1);
 	return 0;
 }
 
-int KyraEngine_v1::o1_internalAnimOn(ScriptState *script) {
+int KyraEngine_v1::o1_internalAnimOn(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_internalAnimOn(%p) (%d)", (const void *)script, stackPos(0));
 	_animator->sprites()[stackPos(0)].active = 1;
 	return 0;
 }
 
-int KyraEngine_v1::o1_forceBrandonToNormal(ScriptState *script) {
+int KyraEngine_v1::o1_forceBrandonToNormal(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_forceBrandonToNormal(%p) ()", (const void *)script);
 	checkAmuletAnimFlags();
 	return 0;
 }
 
-int KyraEngine_v1::o1_poisonDeathNow(ScriptState *script) {
+int KyraEngine_v1::o1_poisonDeathNow(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_poisonDeathNow(%p) ()", (const void *)script);
 	seq_poisonDeathNow(1);
 	return 0;
 }
 
-int KyraEngine_v1::o1_setScaleMode(ScriptState *script) {
+int KyraEngine_v1::o1_setScaleMode(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_setScaleMode(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
 	int len = stackPos(0);
 	int setValue1 = stackPos(1);
@@ -430,7 +430,7 @@
 	return _scaleMode;
 }
 
-int KyraEngine_v1::o1_openWSAFile(ScriptState *script) {
+int KyraEngine_v1::o1_openWSAFile(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_openWSAFile(%p) ('%s', %d, %d, %d)", (const void *)script, stackPosString(0), stackPos(1), stackPos(2), stackPos(3));
 
 	const char *filename = stackPosString(0);
@@ -442,7 +442,7 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_closeWSAFile(ScriptState *script) {
+int KyraEngine_v1::o1_closeWSAFile(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_closeWSAFile(%p) (%d)", (const void *)script, stackPos(0));
 
 	int wsaIndex = stackPos(0);
@@ -452,7 +452,7 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_runWSAFromBeginningToEnd(ScriptState *script) {
+int KyraEngine_v1::o1_runWSAFromBeginningToEnd(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_runWSAFromBeginningToEnd(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4));
 
 	_screen->hideMouse();
@@ -493,7 +493,7 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_displayWSAFrame(ScriptState *script) {
+int KyraEngine_v1::o1_displayWSAFrame(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_displayWSAFrame(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4));
 	int frame = stackPos(0);
 	int xpos = stackPos(1);
@@ -520,13 +520,13 @@
 	return 0;
 }
 
-int KyraEngine_v1::o1_enterNewScene(ScriptState *script) {
+int KyraEngine_v1::o1_enterNewScene(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v1::o1_enterNewScene(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4));

@@ Diff output truncated at 100000 characters. @@

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