[Scummvm-cvs-logs] SF.net SVN: scummvm: [31845] scummvm/trunk/engines/kyra
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Sat May 3 22:02:51 CEST 2008
Revision: 31845
http://scummvm.svn.sourceforge.net/scummvm/?rev=31845&view=rev
Author: lordhoto
Date: 2008-05-03 13:02:51 -0700 (Sat, 03 May 2008)
Log Message:
-----------
Moved more opcodes to KyraEngine_v2.
Modified Paths:
--------------
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/script_hof.cpp
scummvm/trunk/engines/kyra/script_mr.cpp
scummvm/trunk/engines/kyra/script_v2.cpp
Modified: scummvm/trunk/engines/kyra/kyra_hof.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.h 2008-05-03 19:50:38 UTC (rev 31844)
+++ scummvm/trunk/engines/kyra/kyra_hof.h 2008-05-03 20:02:51 UTC (rev 31845)
@@ -740,7 +740,6 @@
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);
@@ -758,7 +757,6 @@
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);
@@ -775,14 +773,11 @@
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_defineSceneAnim(EMCState *script);
int o2_updateSceneAnim(EMCState *script);
@@ -792,7 +787,6 @@
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);
Modified: scummvm/trunk/engines/kyra/kyra_mr.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_mr.h 2008-05-03 19:50:38 UTC (rev 31844)
+++ scummvm/trunk/engines/kyra/kyra_mr.h 2008-05-03 20:02:51 UTC (rev 31845)
@@ -528,7 +528,6 @@
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);
@@ -539,7 +538,6 @@
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);
@@ -554,12 +552,9 @@
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_defineSceneAnim(EMCState *script);
int o3_updateSceneAnim(EMCState *script);
int o3_runActorScript(EMCState *script);
@@ -567,7 +562,6 @@
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);
Modified: scummvm/trunk/engines/kyra/kyra_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.h 2008-05-03 19:50:38 UTC (rev 31844)
+++ scummvm/trunk/engines/kyra/kyra_v2.h 2008-05-03 20:02:51 UTC (rev 31845)
@@ -369,9 +369,15 @@
int o2_addSpecialExit(EMCState *script);
int o2_setMousePos(EMCState *script);
int o2_showMouse(EMCState *script);
+ int o2_delay(EMCState *script);
+ int o2_update(EMCState *script);
+ int o2_getRand(EMCState *script);
+ int o2_setDeathHandler(EMCState *script);
+ int o2_waitForConfirmationClick(EMCState *script);
int o2_defineRoomEntrance(EMCState *script);
int o2_runAnimationScript(EMCState *script);
int o2_setSpecialSceneScriptRunTime(EMCState *script);
+ int o2_defineScene(EMCState *script);
int o2_setSpecialSceneScriptState(EMCState *script);
int o2_clearSpecialSceneScriptState(EMCState *script);
int o2_querySpecialSceneScriptState(EMCState *script);
Modified: scummvm/trunk/engines/kyra/script_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_hof.cpp 2008-05-03 19:50:38 UTC (rev 31844)
+++ scummvm/trunk/engines/kyra/script_hof.cpp 2008-05-03 20:02:51 UTC (rev 31845)
@@ -519,29 +519,6 @@
return 0;
}
-int KyraEngine_HoF::o2_delay(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_delay(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
- if (stackPos(1)) {
- uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
- while (_system->getMillis() < maxWaitTime) {
- int inputFlag = checkInput(0);
- removeInputTop();
-
- if (inputFlag == 198 || inputFlag == 199)
- return 1;
-
- if (_chatText)
- updateWithText();
- else
- update();
- _system->delayMillis(10);
- }
- } else {
- delay(stackPos(0) * _tickLength, true);
- }
- return 0;
-}
-
int KyraEngine_HoF::o2_setTimerDelay(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setTimerDelay(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
_timer->setDelay(stackPos(0), stackPos(1));
@@ -687,20 +664,6 @@
return 0;
}
-int KyraEngine_HoF::o2_update(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_update(%p) (%d)", (const void *)script, stackPos(0));
-
- int times = stackPos(0);
- while (times--) {
- if (_chatText)
- updateWithText();
- else
- update();
- }
-
- return 0;
-}
-
int KyraEngine_HoF::o2_fadeScenePal(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_fadeScenePal(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
fadeScenePal(stackPos(0), stackPos(1));
@@ -851,23 +814,11 @@
return 0;
}
-int KyraEngine_HoF::o2_getRand(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_getRand(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
- assert(stackPos(0) < stackPos(1));
- return _rnd.getRandomNumberRng(stackPos(0), stackPos(1));
-}
-
int KyraEngine_HoF::o2_isAnySoundPlaying(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_isAnySoundPlaying(%p) ()", (const void *)script);
return _sound->voiceIsPlaying();
}
-int KyraEngine_HoF::o2_setDeathHandlerFlag(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setDeathHandlerFlag(%p) (%d)", (const void *)script, stackPos(0));
- _deathHandler = stackPos(0);
- return 0;
-}
-
int KyraEngine_HoF::o2_setDrawNoShapeFlag(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setDrawNoShapeFlag(%p) (%d)", (const void *)script, stackPos(0));
_drawNoShapeFlag = (stackPos(0) != 0);
@@ -949,30 +900,6 @@
return 0;
}
-int KyraEngine_HoF::o2_waitForConfirmationClick(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_waitForConfirmationClick(%p) (%d)", (const void *)script, stackPos(0));
- resetSkipFlag();
- uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
-
- while (_system->getMillis() < maxWaitTime) {
- int inputFlag = checkInput(0);
- removeInputTop();
-
- if (inputFlag == 198 || inputFlag == 199) {
- _sceneScriptState.regs[1] = _mouseX;
- _sceneScriptState.regs[2] = _mouseY;
- return 0;
- }
-
- update();
- _system->delayMillis(10);
- }
-
- _sceneScriptState.regs[1] = _mouseX;
- _sceneScriptState.regs[2] = _mouseY;
- return 1;
-}
-
int KyraEngine_HoF::o2_encodeShape(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_encodeShape(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1),
stackPos(2), stackPos(3), stackPos(4));
@@ -1090,28 +1017,6 @@
return _mainCharacter.dlgIndex;
}
-int KyraEngine_HoF::o2_defineRoom(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_defineRoom(%p) (%d, '%s', %d, %d, %d, %d, %d, %d)", (const void *)script,
- stackPos(0), stackPosString(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5), stackPos(6), stackPos(7));
- SceneDesc *scene = &_sceneList[stackPos(0)];
- strcpy(scene->filename1, stackPosString(1));
- scene->exit1 = stackPos(2);
- scene->exit2 = stackPos(3);
- scene->exit3 = stackPos(4);
- scene->exit4 = stackPos(5);
- scene->flags = stackPos(6);
- scene->sound = stackPos(7);
-
- if (_mainCharacter.sceneId == stackPos(0)) {
- _sceneExit1 = scene->exit1;
- _sceneExit2 = scene->exit2;
- _sceneExit3 = scene->exit3;
- _sceneExit4 = scene->exit4;
- }
-
- return 0;
-}
-
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;
@@ -1773,7 +1678,7 @@
// 0x60
Opcode(o2_getRand);
Opcode(o2_isAnySoundPlaying);
- Opcode(o2_setDeathHandlerFlag);
+ Opcode(o2_setDeathHandler);
Opcode(o2_setDrawNoShapeFlag);
// 0x64
Opcode(o2_setRunFlag);
@@ -1802,7 +1707,7 @@
Opcode(o2_setupDialogue);
// 0x78
Opcode(o2_getDlgIndex);
- Opcode(o2_defineRoom);
+ Opcode(o2_defineScene);
Opcode(o2_addCauldronStateTableEntry);
Opcode(o2_setCountDown);
// 0x7c
Modified: scummvm/trunk/engines/kyra/script_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_mr.cpp 2008-05-03 19:50:38 UTC (rev 31844)
+++ scummvm/trunk/engines/kyra/script_mr.cpp 2008-05-03 20:02:51 UTC (rev 31845)
@@ -304,29 +304,6 @@
return (_malcolmsMood = stackPos(0));
}
-int KyraEngine_MR::o3_delay(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_delay(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
- if (stackPos(1)) {
- uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
- while (_system->getMillis() < maxWaitTime) {
- int inputFlag = checkInput(0);
- removeInputTop();
-
- if (inputFlag == 198 || inputFlag == 199)
- return 1;
-
- if (_chatText)
- updateWithText();
- else
- update();
- _system->delayMillis(10);
- }
- } else {
- delay(stackPos(0) * _tickLength, true);
- }
- return 0;
-}
-
int KyraEngine_MR::o3_updateScore(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_updateScore(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
return updateScore(stackPos(0), stackPos(1)) ? 1 : 0;
@@ -671,17 +648,6 @@
return 0;
}
-int KyraEngine_MR::o3_update(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_update(%p) (%d)", (const void *)script, stackPos(0));
- for (int times = stackPos(0); times != 0; --times) {
- if (_chatText)
- updateWithText();
- else
- update();
- }
- return 0;
-}
-
int KyraEngine_MR::o3_removeItemInstances(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_removeItemInstances(%p) (%d)", (const void *)script, stackPos(0));
const int16 item = stackPos(0);
@@ -814,18 +780,6 @@
return 0;
}
-int KyraEngine_MR::o3_getRand(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_getRand(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
- assert(stackPos(0) < stackPos(1));
- return _rnd.getRandomNumberRng(stackPos(0), stackPos(1));
-}
-
-int KyraEngine_MR::o3_setDeathHandler(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_setDeathHandler(%p) (%d)", (const void *)script, stackPos(0));
- _deathHandler = stackPos(0);
- return 0;
-}
-
int KyraEngine_MR::o3_showGoodConscience(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_showGoodConscience(%p) ()", (const void *)script);
showGoodConscience();
@@ -846,30 +800,6 @@
return 0;
}
-int KyraEngine_MR::o3_waitForConfirmationClick(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o2_waitForConfirmationClick(%p) (%d)", (const void *)script, stackPos(0));
- resetSkipFlag();
- uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
-
- while (_system->getMillis() < maxWaitTime) {
- int inputFlag = checkInput(0);
- removeInputTop();
-
- if (inputFlag == 198 || inputFlag == 199) {
- _sceneScriptState.regs[1] = _mouseX;
- _sceneScriptState.regs[2] = _mouseY;
- return 0;
- }
-
- update();
- _system->delayMillis(10);
- }
-
- _sceneScriptState.regs[1] = _mouseX;
- _sceneScriptState.regs[2] = _mouseY;
- return 1;
-}
-
int KyraEngine_MR::o3_defineSceneAnim(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_defineSceneAnim(%p) (%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, '%s')",
(const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5), stackPos(6), stackPos(7),
@@ -989,32 +919,6 @@
return _mainCharacter.dlgIndex;
}
-int KyraEngine_MR::o3_defineScene(EMCState *script) {
- debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_defineScene(%p) (%d, '%s', %d, %d, %d, %d, %d, %d)",
- (const void *)script, stackPos(0), stackPosString(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5), stackPos(6), stackPos(7));
- const int scene = stackPos(0);
- strcpy(_sceneList[scene].filename1, stackPosString(1));
- _sceneList[scene].filename1[9] = 0;
- strcpy(_sceneList[scene].filename2, stackPosString(1));
- _sceneList[scene].filename2[9] = 0;
-
- _sceneList[scene].exit1 = stackPos(2);
- _sceneList[scene].exit2 = stackPos(3);
- _sceneList[scene].exit3 = stackPos(4);
- _sceneList[scene].exit4 = stackPos(5);
- _sceneList[scene].flags = stackPos(6);
- _sceneList[scene].sound = stackPos(7);
-
- if (_mainCharacter.sceneId == scene) {
- _sceneExit1 = _sceneList[scene].exit1;
- _sceneExit2 = _sceneList[scene].exit2;
- _sceneExit3 = _sceneList[scene].exit3;
- _sceneExit4 = _sceneList[scene].exit4;
- }
-
- return 0;
-}
-
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);
@@ -1288,7 +1192,7 @@
Opcode(o3_setMalcolmsMood);
Opcode(o3_playSoundEffect);
Opcode(o3_dummy);
- Opcode(o3_delay);
+ Opcode(o2_delay);
// 0x38
Opcode(o3_updateScore);
Opcode(o3_makeSecondChanceSave);
@@ -1313,7 +1217,7 @@
Opcode(o3_dummy);
Opcode(o3_dummy);
Opcode(o3_setSceneAnimPosAndFrame);
- Opcode(o3_update);
+ Opcode(o2_update);
// 0x4c
Opcode(o3_removeItemInstances);
Opcode(o3_dummy);
@@ -1340,9 +1244,9 @@
Opcode(o3_showSceneStringsMessage);
OpcodeUnImpl();
// 0x60
- Opcode(o3_getRand);
+ Opcode(o2_getRand);
Opcode(o3_dummy);
- Opcode(o3_setDeathHandler);
+ Opcode(o2_setDeathHandler);
Opcode(o3_showGoodConscience);
// 0x64
Opcode(o3_goodConscienceChat);
@@ -1353,7 +1257,7 @@
Opcode(o3_dummy);
Opcode(o3_dummy);
Opcode(o3_dummy);
- Opcode(o3_waitForConfirmationClick);
+ Opcode(o2_waitForConfirmationClick);
// 0x6c
Opcode(o3_dummy);
Opcode(o2_defineRoomEntrance);
@@ -1371,7 +1275,7 @@
Opcode(o3_setDlgIndex);
// 0x78
Opcode(o3_getDlgIndex);
- Opcode(o3_defineScene);
+ Opcode(o2_defineScene);
Opcode(o3_setConversationState);
OpcodeUnImpl();
// 0x7c
@@ -1448,7 +1352,7 @@
Opcode(o3_dummy);
// 0x0a
Opcode(o2a_setResetFrame);
- Opcode(o3_getRand);
+ Opcode(o2_getRand);
Opcode(o3_getMalcolmShapes);
Opcode(o3_dummy);
@@ -1456,7 +1360,7 @@
// 0x00
Opcode(o3d_updateAnim);
Opcode(o3d_delay);
- Opcode(o3_getRand);
+ Opcode(o2_getRand);
Opcode(o2_queryGameFlag);
// 0x04
Opcode(o3_dummy);
Modified: scummvm/trunk/engines/kyra/script_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v2.cpp 2008-05-03 19:50:38 UTC (rev 31844)
+++ scummvm/trunk/engines/kyra/script_v2.cpp 2008-05-03 20:02:51 UTC (rev 31845)
@@ -140,6 +140,76 @@
return 0;
}
+int KyraEngine_v2::o2_delay(EMCState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_delay(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
+ if (stackPos(1)) {
+ uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
+ while (_system->getMillis() < maxWaitTime) {
+ int inputFlag = checkInput(0);
+ removeInputTop();
+
+ if (inputFlag == 198 || inputFlag == 199)
+ return 1;
+
+ if (_chatText)
+ updateWithText();
+ else
+ update();
+ _system->delayMillis(10);
+ }
+ } else {
+ delay(stackPos(0) * _tickLength, true);
+ }
+ return 0;
+}
+
+int KyraEngine_v2::o2_update(EMCState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_update(%p) (%d)", (const void *)script, stackPos(0));
+ for (int times = stackPos(0); times != 0; --times) {
+ if (_chatText)
+ updateWithText();
+ else
+ update();
+ }
+ 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));
+ return _rnd.getRandomNumberRng(stackPos(0), stackPos(1));
+}
+
+int KyraEngine_v2::o2_setDeathHandler(EMCState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_setDeathHandler(%p) (%d)", (const void *)script, stackPos(0));
+ _deathHandler = stackPos(0);
+ return 0;
+}
+
+int KyraEngine_v2::o2_waitForConfirmationClick(EMCState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_waitForConfirmationClick(%p) (%d)", (const void *)script, stackPos(0));
+ resetSkipFlag();
+ uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
+
+ while (_system->getMillis() < maxWaitTime) {
+ int inputFlag = checkInput(0);
+ removeInputTop();
+
+ if (inputFlag == 198 || inputFlag == 199) {
+ _sceneScriptState.regs[1] = _mouseX;
+ _sceneScriptState.regs[2] = _mouseY;
+ return 0;
+ }
+
+ update();
+ _system->delayMillis(10);
+ }
+
+ _sceneScriptState.regs[1] = _mouseX;
+ _sceneScriptState.regs[2] = _mouseY;
+ return 1;
+}
+
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)) {
@@ -184,6 +254,30 @@
return 0;
}
+int KyraEngine_v2::o2_defineScene(EMCState *script) {
+ debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_defineScene(%p) (%d, '%s', %d, %d, %d, %d, %d, %d)",
+ (const void *)script, stackPos(0), stackPosString(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5), stackPos(6), stackPos(7));
+ const int scene = stackPos(0);
+ strcpy(_sceneList[scene].filename1, stackPosString(1));
+ strcpy(_sceneList[scene].filename2, stackPosString(1));
+
+ _sceneList[scene].exit1 = stackPos(2);
+ _sceneList[scene].exit2 = stackPos(3);
+ _sceneList[scene].exit3 = stackPos(4);
+ _sceneList[scene].exit4 = stackPos(5);
+ _sceneList[scene].flags = stackPos(6);
+ _sceneList[scene].sound = stackPos(7);
+
+ if (_mainCharacter.sceneId == scene) {
+ _sceneExit1 = _sceneList[scene].exit1;
+ _sceneExit2 = _sceneList[scene].exit2;
+ _sceneExit3 = _sceneList[scene].exit3;
+ _sceneExit4 = _sceneList[scene].exit4;
+ }
+
+ return 0;
+}
+
int KyraEngine_v2::o2_setSpecialSceneScriptState(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_setSpecialSceneScriptState(%p) (%d)", (const void *)script, stackPos(0));
_specialSceneScriptState[stackPos(0)] = 1;
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