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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sun May 4 15:07:13 CEST 2008


Revision: 31859
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31859&view=rev
Author:   lordhoto
Date:     2008-05-04 06:07:13 -0700 (Sun, 04 May 2008)

Log Message:
-----------
Moved more opcodes to KyraEngine_v2.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/animator_mr.cpp
    scummvm/trunk/engines/kyra/kyra_hof.cpp
    scummvm/trunk/engines/kyra/kyra_hof.h
    scummvm/trunk/engines/kyra/kyra_mr.h
    scummvm/trunk/engines/kyra/kyra_v2.h
    scummvm/trunk/engines/kyra/saveload_hof.cpp
    scummvm/trunk/engines/kyra/saveload_mr.cpp
    scummvm/trunk/engines/kyra/script_hof.cpp
    scummvm/trunk/engines/kyra/script_mr.cpp
    scummvm/trunk/engines/kyra/script_v2.cpp
    scummvm/trunk/engines/kyra/text_hof.cpp
    scummvm/trunk/engines/kyra/text_mr.cpp

Modified: scummvm/trunk/engines/kyra/animator_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/animator_mr.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/animator_mr.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -415,7 +415,7 @@
 		return;
 
 	if (!_nextIdleType && !talkObjectsInCurScene()) {
-		malcolmRandomChat();
+		randomSceneChat();
 	} else {
 		static const char *facingTable[] = {
 			"A", "R", "R", "FR", "FX", "FL", "L", "L"

Modified: scummvm/trunk/engines/kyra/kyra_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -129,7 +129,7 @@
 		_conversationState[i] = new int8[14];
 	_npcTalkChpIndex = _npcTalkDlgIndex = -1;
 	_mainCharacter.dlgIndex = 0;
-	setNewDlgIndex(-1);
+	setDlgIndex(-1);
 
 	_bookMaxPage = 6;
 	_bookCurPage = 0;
@@ -1470,7 +1470,7 @@
 	static bool scriptAnimation = false;
 	if (!scriptAnimation && _flags.isTalkie) {
 		scriptAnimation = true;
-		zanthRandomIdleChat();
+		randomSceneChat();
 	} else {
 		scriptAnimation = false;
 		if (_characterShapeFile > 8)

Modified: scummvm/trunk/engines/kyra/kyra_hof.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.h	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/kyra_hof.h	2008-05-04 13:07:13 UTC (rev 31859)
@@ -605,12 +605,12 @@
 	void startDialogue(int dlgIndex);
 
 	void zanthSceneStartupChat();
-	void zanthRandomIdleChat();
+	void randomSceneChat();
 	void updateDlgBuffer();
 	void loadDlgHeader(int &csEntry, int &vocH, int &scIndex1, int &scIndex2);
 	void processDialogue(int dlgOffset, int vocH = 0, int csEntry = 0);
 	void npcChatSequence(const char *str, int objectId, int vocHigh = -1, int vocLow = -1);
-	void setNewDlgIndex(int dlgIndex);
+	void setDlgIndex(int dlgIndex);
 
 	int _npcTalkChpIndex;
 	int _npcTalkDlgIndex;
@@ -731,7 +731,6 @@
 	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);
@@ -758,15 +757,13 @@
 	int o2_restoreInventoryGfx(EMCState *script);
 	int o2_setSceneAnimPos2(EMCState *script);
 	int o2_fadeScenePal(EMCState *script);
-	int o2_enterNewSceneEx(EMCState *script);
+	int o2_enterNewScene(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);
@@ -784,9 +781,6 @@
 	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_addCauldronStateTableEntry(EMCState *script);
 	int o2_setCountDown(EMCState *script);
 	int o2_getCountDown(EMCState *script);

Modified: scummvm/trunk/engines/kyra/kyra_mr.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_mr.h	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/kyra_mr.h	2008-05-04 13:07:13 UTC (rev 31859)
@@ -405,7 +405,7 @@
 	byte _newSceneDlgState[40];
 	int8 _conversationState[30][30];
 	bool _chatAltFlag;
-	void setDlgIndex(uint16 index);
+	void setDlgIndex(int index);
 	void updateDlgIndex();
 
 	Common::SeekableReadStream *_cnvFile;
@@ -434,7 +434,7 @@
 	int o3d_updateAnim(EMCState *script);
 	int o3d_delay(EMCState *script);
 
-	void malcolmRandomChat();
+	void randomSceneChat();
 	void runDialog(int dlgIndex, int funcNum);
 
 	// conscience
@@ -521,7 +521,6 @@
 	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);
@@ -544,10 +543,8 @@
 	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);
@@ -559,9 +556,6 @@
 	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_setConversationState(EMCState *script);
 	int o3_getConversationState(EMCState *script);
 	int o3_changeChapter(EMCState *script);

Modified: scummvm/trunk/engines/kyra/kyra_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.h	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/kyra_v2.h	2008-05-04 13:07:13 UTC (rev 31859)
@@ -310,7 +310,7 @@
 	// character
 	struct Character {
 		uint16 sceneId;
-		uint16 dlgIndex;
+		int16 dlgIndex;
 		uint8 height;
 		uint8 facing;
 		uint16 animFrame;
@@ -347,6 +347,10 @@
 	EMCData _chatScriptData;
 	EMCState _chatScriptState;
 
+	virtual void setDlgIndex(int dlgIndex) = 0;
+
+	virtual void randomSceneChat() = 0;
+
 	// unknown
 	int _unk3, _unk4, _unk5;
 	bool _unkSceneScreenFlag1;
@@ -359,6 +363,7 @@
 	int o2_getCharacterScene(EMCState *script);
 	int o2_trySceneChange(EMCState *script);
 	int o2_moveCharacter(EMCState *script);
+	int o2_defineItem(EMCState *script);
 	int o2_queryGameFlag(EMCState *script);
 	int o2_resetGameFlag(EMCState *script);
 	int o2_setGameFlag(EMCState *script);
@@ -371,9 +376,14 @@
 	int o2_showMouse(EMCState *script);
 	int o2_delay(EMCState *script);
 	int o2_update(EMCState *script);
+	int o2_getShapeFlag1(EMCState *script);
+	int o2_playWanderScoreViaMap(EMCState *script);
 	int o2_getRand(EMCState *script);
 	int o2_setDeathHandler(EMCState *script);
 	int o2_waitForConfirmationClick(EMCState *script);
+	int o2_randomSceneChat(EMCState *script);
+	int o2_setDlgIndex(EMCState *script);
+	int o2_getDlgIndex(EMCState *script);
 	int o2_defineRoomEntrance(EMCState *script);
 	int o2_runAnimationScript(EMCState *script);
 	int o2_setSpecialSceneScriptRunTime(EMCState *script);

Modified: scummvm/trunk/engines/kyra/saveload_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/saveload_hof.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/saveload_hof.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -73,7 +73,7 @@
 	out->writeSint16BE(_cauldronUseCount);
 
 	out->writeUint16BE(_mainCharacter.sceneId);
-	out->writeUint16BE(_mainCharacter.dlgIndex);
+	out->writeSint16BE(_mainCharacter.dlgIndex);
 	out->writeByte(_mainCharacter.height);
 	out->writeByte(_mainCharacter.facing);
 	out->writeUint16BE(_mainCharacter.animFrame);
@@ -205,7 +205,7 @@
 		in.seek(6, SEEK_CUR);
 
 	_mainCharacter.sceneId = in.readUint16();
-	_mainCharacter.dlgIndex = in.readUint16();
+	_mainCharacter.dlgIndex = in.readSint16();
 	_mainCharacter.height = in.readByte();
 	_mainCharacter.facing = in.readByte();
 	_mainCharacter.animFrame = in.readUint16();

Modified: scummvm/trunk/engines/kyra/saveload_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/saveload_mr.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/saveload_mr.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -60,7 +60,7 @@
 	out->write(_scoreFlagTable, sizeof(_scoreFlagTable));
 
 	out->writeUint16BE(_mainCharacter.sceneId);
-	out->writeUint16BE(_mainCharacter.dlgIndex);
+	out->writeSint16BE(_mainCharacter.dlgIndex);
 	out->writeByte(_mainCharacter.height);
 	out->writeByte(_mainCharacter.facing);
 	out->writeUint16BE(_mainCharacter.animFrame);
@@ -169,7 +169,7 @@
 	in.read(_scoreFlagTable, sizeof(_scoreFlagTable));
 
 	_mainCharacter.sceneId = in.readUint16();
-	_mainCharacter.dlgIndex = in.readUint16();
+	_mainCharacter.dlgIndex = in.readSint16();
 	_mainCharacter.height = in.readByte();
 	_mainCharacter.facing = in.readByte();
 	_mainCharacter.animFrame = in.readUint16();

Modified: scummvm/trunk/engines/kyra/script_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_hof.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/script_hof.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -426,21 +426,6 @@
 	return 0;
 }
 
-int KyraEngine_HoF::o2_defineItem(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_defineItem(%p) (%d, %d, %d, %d)", (const void *)script,
-			stackPos(0), stackPos(1), stackPos(2), stackPos(3));
-	int freeItem = findFreeItem();
-
-	if (freeItem >= 0) {
-		_itemList[freeItem].id = stackPos(0);
-		_itemList[freeItem].x = stackPos(1);
-		_itemList[freeItem].y = stackPos(2);
-		_itemList[freeItem].sceneId = stackPos(3);
-	}
-
-	return freeItem;
-}
-
 int KyraEngine_HoF::o2_removeItemFromInventory(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_removeItemFromInventory(%p) (%d)", (const void *)script, stackPos(0));
 	uint16 item = stackPos(0);
@@ -670,8 +655,8 @@
 	return 0;
 }
 
-int KyraEngine_HoF::o2_enterNewSceneEx(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_enterNewSceneEx(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0),
+int KyraEngine_HoF::o2_enterNewScene(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_enterNewScene(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0),
 		stackPos(1), stackPos(2), stackPos(3), stackPos(4));
 
 	int skipNpcScript = stackPos(3);
@@ -701,11 +686,6 @@
 	return 0;
 }
 
-int KyraEngine_HoF::o2_getShapeFlag1(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_getShapeFlag1(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
-	return _screen->getShapeFlag1(stackPos(0), stackPos(1));
-}
-
 int KyraEngine_HoF::o2_setPathfinderFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setPathfinderFlag(%p) (%d)", (const void *)script, stackPos(0));
 	_pathfinderFlag = stackPos(0);
@@ -755,12 +735,6 @@
 	return 0;
 }
 
-int KyraEngine_HoF::o2_playWanderScoreViaMap(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_playWanderScoreViaMap(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
-	snd_playWanderScoreViaMap(stackPos(0), stackPos(1));
-	return 0;
-}
-
 int KyraEngine_HoF::o2_playSoundEffect(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_playSoundEffect(%p) (%d)", (const void *)script, stackPos(0));
 	snd_playSoundEffect(stackPos(0));
@@ -1000,23 +974,6 @@
 	return 0;
 }
 
-int KyraEngine_HoF::o2_zanthRandomChat(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_zanthRandomChat(%p)", (const void *)script);
-	zanthRandomIdleChat();
-	return 0;
-}
-
-int KyraEngine_HoF::o2_setupDialogue(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setupDialogue(%p) (%d)", (const void *)script, stackPos(0));
-	setNewDlgIndex(stackPos(0));
-	return 0;
-}
-
-int KyraEngine_HoF::o2_getDlgIndex(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setNewDlgIndex(%p) (%d)", (const void *)script, stackPos(0));
-	return _mainCharacter.dlgIndex;
-}
-
 int KyraEngine_HoF::o2_addCauldronStateTableEntry(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_addCauldronStateTableEntry(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	return addToCauldronStateTable(stackPos(0), stackPos(1)) ? 1 : 0;
@@ -1656,7 +1613,7 @@
 	Opcode(o2_dummy);
 	Opcode(o2_dummy);
 	// 0x50
-	Opcode(o2_enterNewSceneEx);
+	Opcode(o2_enterNewScene);
 	Opcode(o2_switchScene);
 	Opcode(o2_getShapeFlag1);
 	Opcode(o2_setPathfinderFlag);
@@ -1703,8 +1660,8 @@
 	// 0x74
 	Opcode(o2_useItemOnMainChar);
 	Opcode(o2_startDialogue);
-	Opcode(o2_zanthRandomChat);
-	Opcode(o2_setupDialogue);
+	Opcode(o2_randomSceneChat);
+	Opcode(o2_setDlgIndex);
 	// 0x78
 	Opcode(o2_getDlgIndex);
 	Opcode(o2_defineScene);

Modified: scummvm/trunk/engines/kyra/script_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_mr.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/script_mr.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -217,18 +217,6 @@
 	return 0;
 }
 
-int KyraEngine_MR::o3_defineItem(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_defineItem(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
-	int freeItem = findFreeItem();
-	if (freeItem != -1) {
-		_itemList[freeItem].id = stackPos(0);
-		_itemList[freeItem].x = stackPos(1);
-		_itemList[freeItem].y = stackPos(2);
-		_itemList[freeItem].sceneId = stackPos(3);
-	}
-	return freeItem;
-}
-
 int KyraEngine_MR::o3_removeInventoryItemInstances(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_removeInventoryItemInstances(%p) (%d)", (const void *)script, stackPos(0));
 	const int item = stackPos(0);
@@ -717,11 +705,6 @@
 	return 0;
 }
 
-int KyraEngine_MR::o3_getShapeFlag1(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_getShapeFlag1(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
-	return _screen->getShapeFlag1(stackPos(0), stackPos(1));
-}
-
 int KyraEngine_MR::o3_setMalcolmPos(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_setMalcolmPos(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	_mainCharX = stackPos(0);
@@ -741,12 +724,6 @@
 	return 0;
 }
 
-int KyraEngine_MR::o3_playWanderScoreViaMap(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_playWanderScoreViaMap(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
-	snd_playWanderScoreViaMap(stackPos(0), stackPos(1));
-	return 0;
-}
-
 int KyraEngine_MR::o3_playSoundEffect(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_playSoundEffect(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	snd_playSoundEffect(stackPos(0), stackPos(1));
@@ -902,23 +879,6 @@
 	return 0;
 }
 
-int KyraEngine_MR::o3_malcolmRandomChat(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_malcolmRandomChat(%p) ()", (const void *)script);
-	malcolmRandomChat();
-	return 0;
-}
-
-int KyraEngine_MR::o3_setDlgIndex(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_setDlgIndex(%p) (%d)", (const void *)script, stackPos(0));
-	setDlgIndex(stackPos(0));
-	return 0;
-}
-
-int KyraEngine_MR::o3_getDlgIndex(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_getDlgIndex(%p) ()", (const void *)script);
-	return _mainCharacter.dlgIndex;
-}
-
 int KyraEngine_MR::o3_setConversationState(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_setConversationState(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
 	int id = stackPos(0);
@@ -1167,7 +1127,7 @@
 	Opcode(o3_checkForItem);
 	Opcode(o3_dummy);
 	Opcode(o3_resetInventory);
-	Opcode(o3_defineItem);
+	Opcode(o2_defineItem);
 	// 0x24
 	Opcode(o3_removeInventoryItemInstances);
 	Opcode(o3_countInventoryItemInstances);
@@ -1226,7 +1186,7 @@
 	// 0x50
 	Opcode(o3_enterNewScene);
 	Opcode(o3_switchScene);
-	Opcode(o3_getShapeFlag1);
+	Opcode(o2_getShapeFlag1);
 	Opcode(o3_dummy);
 	// 0x54
 	Opcode(o3_dummy);
@@ -1234,7 +1194,7 @@
 	Opcode(o3_setMalcolmPos);
 	Opcode(o3_stopMusic);
 	// 0x58
-	Opcode(o3_playWanderScoreViaMap);
+	Opcode(o2_playWanderScoreViaMap);
 	Opcode(o3_playSoundEffect);
 	Opcode(o3_getScore);
 	OpcodeUnImpl();
@@ -1271,10 +1231,10 @@
 	// 0x74
 	Opcode(o3_runActorScript);
 	Opcode(o3_runDialog);
-	Opcode(o3_malcolmRandomChat);
-	Opcode(o3_setDlgIndex);
+	Opcode(o2_randomSceneChat);
+	Opcode(o2_setDlgIndex);
 	// 0x78
-	Opcode(o3_getDlgIndex);
+	Opcode(o2_getDlgIndex);
 	Opcode(o2_defineScene);
 	Opcode(o3_setConversationState);
 	OpcodeUnImpl();

Modified: scummvm/trunk/engines/kyra/script_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v2.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/script_v2.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -76,6 +76,21 @@
 	return 0;
 }
 
+int KyraEngine_v2::o2_defineItem(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_defineItem(%p) (%d, %d, %d, %d)", (const void *)script,
+			stackPos(0), stackPos(1), stackPos(2), stackPos(3));
+	int freeItem = findFreeItem();
+
+	if (freeItem >= 0) {
+		_itemList[freeItem].id = stackPos(0);
+		_itemList[freeItem].x = stackPos(1);
+		_itemList[freeItem].y = stackPos(2);
+		_itemList[freeItem].sceneId = stackPos(3);
+	}
+
+	return freeItem;
+}
+
 int KyraEngine_v2::o2_queryGameFlag(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_queryGameFlag(%p) (%d)", (const void *)script, stackPos(0));
 	return queryGameFlag(stackPos(0));
@@ -174,6 +189,17 @@
 	return 0;
 }
 
+int KyraEngine_v2::o2_getShapeFlag1(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_getShapeFlag1(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
+	return screen()->getShapeFlag1(stackPos(0), stackPos(1));
+}
+
+int KyraEngine_v2::o2_playWanderScoreViaMap(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_playWanderScoreViaMap(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
+	snd_playWanderScoreViaMap(stackPos(0), stackPos(1));
+	return 0;
+}
+
 int KyraEngine_v2::o2_getRand(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_getRand(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	assert(stackPos(0) < stackPos(1));
@@ -210,6 +236,24 @@
 	return 1;
 }
 
+int KyraEngine_v2::o2_randomSceneChat(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_randomSceneChat(%p)", (const void *)script);
+	randomSceneChat();
+	return 0;
+}
+
+int KyraEngine_v2::o2_setDlgIndex(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_setDlgIndex(%p) (%d)", (const void *)script, stackPos(0));
+	setDlgIndex(stackPos(0));
+	return 0;
+}
+
+int KyraEngine_v2::o2_getDlgIndex(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_getDlgIndex(%p) ()", (const void *)script);
+	return _mainCharacter.dlgIndex;
+}
+
+
 int KyraEngine_v2::o2_defineRoomEntrance(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_defineRoomEntrance(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
 	switch (stackPos(0)) {

Modified: scummvm/trunk/engines/kyra/text_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/text_hof.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/text_hof.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -412,7 +412,7 @@
 	_newSceneDlgState[tableIndex] = 1;
 }
 
-void KyraEngine_HoF::zanthRandomIdleChat() {
+void KyraEngine_HoF::randomSceneChat() {
 	int lowest = _flags.isTalkie ? 6 : 5;
 	int tableIndex = (_mainCharacter.sceneId - READ_LE_UINT16(&_ingameTalkObjIndex[lowest + _newChapterFile])) << 2;
 	if (queryGameFlag(0x164))
@@ -512,7 +512,7 @@
 
 		} else if (cmd == 4) {
 			csEntry = READ_LE_UINT16(_dlgBuffer + offs);
-			setNewDlgIndex(csEntry);
+			setDlgIndex(csEntry);
 			offs += 2;
 
 		} else {
@@ -677,7 +677,7 @@
 	setNextIdleAnimTimer();
 }
 
-void KyraEngine_HoF::setNewDlgIndex(int dlgIndex) {
+void KyraEngine_HoF::setDlgIndex(int dlgIndex) {
 	if (dlgIndex == _mainCharacter.dlgIndex)
 		return;
 	memset(_newSceneDlgState, 0, 32);

Modified: scummvm/trunk/engines/kyra/text_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/text_mr.cpp	2008-05-04 10:15:47 UTC (rev 31858)
+++ scummvm/trunk/engines/kyra/text_mr.cpp	2008-05-04 13:07:13 UTC (rev 31859)
@@ -556,10 +556,10 @@
 	index2 = _cnvFile->readSint16LE();
 }
 
-void KyraEngine_MR::setDlgIndex(uint16 index) {
+void KyraEngine_MR::setDlgIndex(int index) {
 	debugC(9, kDebugLevelMain, "KyraEngine_MR::setDlgIndex(%d)", index);
 	if (_mainCharacter.dlgIndex != index) {
-		Common::set_to(_newSceneDlgState, _newSceneDlgState+ARRAYSIZE(_newSceneDlgState), 0);
+		memset(_newSceneDlgState, 0, sizeof(_newSceneDlgState));
 		memset(_conversationState, -1, sizeof(_conversationState));
 		_chatAltFlag = false;
 		_mainCharacter.dlgIndex = index;
@@ -746,8 +746,8 @@
 	_chatObject= - 1;
 }
 
-void KyraEngine_MR::malcolmRandomChat() {
-	debugC(9, kDebugLevelMain, "KyraEngine_MR::malcolmRandomChat()");
+void KyraEngine_MR::randomSceneChat() {
+	debugC(9, kDebugLevelMain, "KyraEngine_MR::randomSceneChat()");
 	updateDlgBuffer();
 
 	int index = (_mainCharacter.sceneId - _chapterLowestScene[_currentChapter]) * 2;


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