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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sun Mar 16 14:52:09 CET 2008


Revision: 31142
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31142&view=rev
Author:   lordhoto
Date:     2008-03-16 06:52:08 -0700 (Sun, 16 Mar 2008)

Log Message:
-----------
- moved KyraEngine_v1::setupOpcodeTable from kyra_v1.cpp to kyra_v2.cpp
- some more work in KyraEngine_v2::showIdleAnim

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/kyra_v1.cpp
    scummvm/trunk/engines/kyra/kyra_v2.cpp
    scummvm/trunk/engines/kyra/script_v1.cpp

Modified: scummvm/trunk/engines/kyra/kyra_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v1.cpp	2008-03-16 13:40:54 UTC (rev 31141)
+++ scummvm/trunk/engines/kyra/kyra_v1.cpp	2008-03-16 13:52:08 UTC (rev 31142)
@@ -1054,216 +1054,4 @@
 	KyraEngine::writeSettings();
 }
 
-#pragma mark -
-
-typedef Functor1Mem<ScriptState*, int, KyraEngine_v1> OpcodeV1;
-#define Opcode(x) OpcodeV1(this, &KyraEngine_v1::x)
-void KyraEngine_v1::setupOpcodeTable() {
-	static const OpcodeV1 opcodeTable[] = {
-		// 0x00
-		Opcode(o1_magicInMouseItem),
-		Opcode(o1_characterSays),
-		Opcode(o1_pauseTicks),
-		Opcode(o1_drawSceneAnimShape),
-		// 0x04
-		Opcode(o1_queryGameFlag),
-		Opcode(o1_setGameFlag),
-		Opcode(o1_resetGameFlag),
-		Opcode(o1_runNPCScript),
-		// 0x08
-		Opcode(o1_setSpecialExitList),
-		Opcode(o1_blockInWalkableRegion),
-		Opcode(o1_blockOutWalkableRegion),
-		Opcode(o1_walkPlayerToPoint),
-		// 0x0c
-		Opcode(o1_dropItemInScene),
-		Opcode(o1_drawAnimShapeIntoScene),
-		Opcode(o1_createMouseItem),
-		Opcode(o1_savePageToDisk),
-		// 0x10
-		Opcode(o1_sceneAnimOn),
-		Opcode(o1_sceneAnimOff),
-		Opcode(o1_getElapsedSeconds),
-		Opcode(o1_mouseIsPointer),
-		// 0x14
-		Opcode(o1_destroyMouseItem),
-		Opcode(o1_runSceneAnimUntilDone),
-		Opcode(o1_fadeSpecialPalette),
-		Opcode(o1_playAdlibSound),
-		// 0x18
-		Opcode(o1_playAdlibScore),
-		Opcode(o1_phaseInSameScene),
-		Opcode(o1_setScenePhasingFlag),
-		Opcode(o1_resetScenePhasingFlag),
-		// 0x1c
-		Opcode(o1_queryScenePhasingFlag),
-		Opcode(o1_sceneToDirection),
-		Opcode(o1_setBirthstoneGem),
-		Opcode(o1_placeItemInGenericMapScene),
-		// 0x20
-		Opcode(o1_setBrandonStatusBit),
-		Opcode(o1_pauseSeconds),
-		Opcode(o1_getCharactersLocation),
-		Opcode(o1_runNPCSubscript),
-		// 0x24
-		Opcode(o1_magicOutMouseItem),
-		Opcode(o1_internalAnimOn),
-		Opcode(o1_forceBrandonToNormal),
-		Opcode(o1_poisonDeathNow),
-		// 0x28
-		Opcode(o1_setScaleMode),
-		Opcode(o1_openWSAFile),
-		Opcode(o1_closeWSAFile),
-		Opcode(o1_runWSAFromBeginningToEnd),
-		// 0x2c
-		Opcode(o1_displayWSAFrame),
-		Opcode(o1_enterNewScene),
-		Opcode(o1_setSpecialEnterXAndY),
-		Opcode(o1_runWSAFrames),
-		// 0x30
-		Opcode(o1_popBrandonIntoScene),
-		Opcode(o1_restoreAllObjectBackgrounds),
-		Opcode(o1_setCustomPaletteRange),
-		Opcode(o1_loadPageFromDisk),
-		// 0x34
-		Opcode(o1_customPrintTalkString),
-		Opcode(o1_restoreCustomPrintBackground),
-		Opcode(o1_hideMouse),
-		Opcode(o1_showMouse),
-		// 0x38
-		Opcode(o1_getCharacterX),
-		Opcode(o1_getCharacterY),
-		Opcode(o1_changeCharactersFacing),
-		Opcode(o1_copyWSARegion),
-		// 0x3c
-		Opcode(o1_printText),
-		Opcode(o1_random),
-		Opcode(o1_loadSoundFile),
-		Opcode(o1_displayWSAFrameOnHidPage),
-		// 0x40
-		Opcode(o1_displayWSASequentialFrames),
-		Opcode(o1_drawCharacterStanding),
-		Opcode(o1_internalAnimOff),
-		Opcode(o1_changeCharactersXAndY),
-		// 0x44
-		Opcode(o1_clearSceneAnimatorBeacon),
-		Opcode(o1_querySceneAnimatorBeacon),
-		Opcode(o1_refreshSceneAnimator),
-		Opcode(o1_placeItemInOffScene),
-		// 0x48
-		Opcode(o1_wipeDownMouseItem),
-		Opcode(o1_placeCharacterInOtherScene),
-		Opcode(o1_getKey),
-		Opcode(o1_specificItemInInventory),
-		// 0x4c
-		Opcode(o1_popMobileNPCIntoScene),
-		Opcode(o1_mobileCharacterInScene),
-		Opcode(o1_hideMobileCharacter),
-		Opcode(o1_unhideMobileCharacter),
-		// 0x50
-		Opcode(o1_setCharactersLocation),
-		Opcode(o1_walkCharacterToPoint),
-		Opcode(o1_specialEventDisplayBrynnsNote),
-		Opcode(o1_specialEventRemoveBrynnsNote),
-		// 0x54
-		Opcode(o1_setLogicPage),
-		Opcode(o1_fatPrint),
-		Opcode(o1_preserveAllObjectBackgrounds),
-		Opcode(o1_updateSceneAnimations),
-		// 0x58
-		Opcode(o1_sceneAnimationActive),
-		Opcode(o1_setCharactersMovementDelay),
-		Opcode(o1_getCharactersFacing),
-		Opcode(o1_bkgdScrollSceneAndMasksRight),
-		// 0x5c
-		Opcode(o1_dispelMagicAnimation),
-		Opcode(o1_findBrightestFireberry),
-		Opcode(o1_setFireberryGlowPalette),
-		Opcode(o1_setDeathHandlerFlag),
-		// 0x60
-		Opcode(o1_drinkPotionAnimation),
-		Opcode(o1_makeAmuletAppear),
-		Opcode(o1_drawItemShapeIntoScene),
-		Opcode(o1_setCharactersCurrentFrame),
-		// 0x64
-		Opcode(o1_waitForConfirmationMouseClick),
-		Opcode(o1_pageFlip),
-		Opcode(o1_setSceneFile),
-		Opcode(o1_getItemInMarbleVase),
-		// 0x68
-		Opcode(o1_setItemInMarbleVase),
-		Opcode(o1_addItemToInventory),
-		Opcode(o1_intPrint),
-		Opcode(o1_shakeScreen),
-		// 0x6c
-		Opcode(o1_createAmuletJewel),
-		Opcode(o1_setSceneAnimCurrXY),
-		Opcode(o1_poisonBrandonAndRemaps),
-		Opcode(o1_fillFlaskWithWater),
-		// 0x70
-		Opcode(o1_getCharactersMovementDelay),
-		Opcode(o1_getBirthstoneGem),
-		Opcode(o1_queryBrandonStatusBit),
-		Opcode(o1_playFluteAnimation),
-		// 0x74
-		Opcode(o1_playWinterScrollSequence),
-		Opcode(o1_getIdolGem),
-		Opcode(o1_setIdolGem),
-		Opcode(o1_totalItemsInScene),
-		// 0x78
-		Opcode(o1_restoreBrandonsMovementDelay),
-		Opcode(o1_setMousePos),
-		Opcode(o1_getMouseState),
-		Opcode(o1_setEntranceMouseCursorTrack),
-		// 0x7c
-		Opcode(o1_itemAppearsOnGround),
-		Opcode(o1_setNoDrawShapesFlag),
-		Opcode(o1_fadeEntirePalette),
-		Opcode(o1_itemOnGroundHere),
-		// 0x80
-		Opcode(o1_queryCauldronState),
-		Opcode(o1_setCauldronState),
-		Opcode(o1_queryCrystalState),
-		Opcode(o1_setCrystalState),
-		// 0x84
-		Opcode(o1_setPaletteRange),
-		Opcode(o1_shrinkBrandonDown),
-		Opcode(o1_growBrandonUp),
-		Opcode(o1_setBrandonScaleXAndY),
-		// 0x88
-		Opcode(o1_resetScaleMode),
-		Opcode(o1_getScaleDepthTableValue),
-		Opcode(o1_setScaleDepthTableValue),
-		Opcode(o1_message),
-		// 0x8c
-		Opcode(o1_checkClickOnNPC),
-		Opcode(o1_getFoyerItem),
-		Opcode(o1_setFoyerItem),
-		Opcode(o1_setNoItemDropRegion),
-		// 0x90
-		Opcode(o1_walkMalcolmOn),
-		Opcode(o1_passiveProtection),
-		Opcode(o1_setPlayingLoop),
-		Opcode(o1_brandonToStoneSequence),
-		// 0x94
-		Opcode(o1_brandonHealingSequence),
-		Opcode(o1_protectCommandLine),
-		Opcode(o1_pauseMusicSeconds),
-		Opcode(o1_resetMaskRegion),
-		// 0x98
-		Opcode(o1_setPaletteChangeFlag),
-		Opcode(o1_fillRect),
-		Opcode(o1_vocUnload),
-		Opcode(o1_vocLoad),
-		// 0x9c
-		Opcode(o1_dummy)
-	};
-
-	for (int i = 0; i < ARRAYSIZE(opcodeTable); ++i)
-		_opcodes.push_back(&opcodeTable[i]);
-}
-#undef Opcode
-
 } // end of namespace Kyra
-
-

Modified: scummvm/trunk/engines/kyra/kyra_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-03-16 13:40:54 UTC (rev 31141)
+++ scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-03-16 13:52:08 UTC (rev 31142)
@@ -789,7 +789,6 @@
 }
 
 void KyraEngine_v2::delay(uint32 amount, bool updateGame, bool isMainLoop) {
-
 	uint32 start = _system->getMillis();
 	do {
 		if (updateGame) {
@@ -1574,11 +1573,12 @@
 	if (queryGameFlag(0x159))
 		return;
 
-	//if (!word_28432) {
-	//	word_28432 = 1;
+	static bool scriptAnimation = false;
+	//if (!scriptAnimation) {
+	//	scriptAnimation = true;
 	//	sub_2715D();
 	//} else {
-	//	word_28432 = 0;
+		scriptAnimation = false;
 		if (_loadedZTable > 8)
 			return;
 

Modified: scummvm/trunk/engines/kyra/script_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v1.cpp	2008-03-16 13:40:54 UTC (rev 31141)
+++ scummvm/trunk/engines/kyra/script_v1.cpp	2008-03-16 13:52:08 UTC (rev 31142)
@@ -1819,5 +1819,215 @@
 	return 0;
 }
 
+#pragma mark -
+
+typedef Functor1Mem<ScriptState*, int, KyraEngine_v1> OpcodeV1;
+#define Opcode(x) OpcodeV1(this, &KyraEngine_v1::x)
+void KyraEngine_v1::setupOpcodeTable() {
+	static const OpcodeV1 opcodeTable[] = {
+		// 0x00
+		Opcode(o1_magicInMouseItem),
+		Opcode(o1_characterSays),
+		Opcode(o1_pauseTicks),
+		Opcode(o1_drawSceneAnimShape),
+		// 0x04
+		Opcode(o1_queryGameFlag),
+		Opcode(o1_setGameFlag),
+		Opcode(o1_resetGameFlag),
+		Opcode(o1_runNPCScript),
+		// 0x08
+		Opcode(o1_setSpecialExitList),
+		Opcode(o1_blockInWalkableRegion),
+		Opcode(o1_blockOutWalkableRegion),
+		Opcode(o1_walkPlayerToPoint),
+		// 0x0c
+		Opcode(o1_dropItemInScene),
+		Opcode(o1_drawAnimShapeIntoScene),
+		Opcode(o1_createMouseItem),
+		Opcode(o1_savePageToDisk),
+		// 0x10
+		Opcode(o1_sceneAnimOn),
+		Opcode(o1_sceneAnimOff),
+		Opcode(o1_getElapsedSeconds),
+		Opcode(o1_mouseIsPointer),
+		// 0x14
+		Opcode(o1_destroyMouseItem),
+		Opcode(o1_runSceneAnimUntilDone),
+		Opcode(o1_fadeSpecialPalette),
+		Opcode(o1_playAdlibSound),
+		// 0x18
+		Opcode(o1_playAdlibScore),
+		Opcode(o1_phaseInSameScene),
+		Opcode(o1_setScenePhasingFlag),
+		Opcode(o1_resetScenePhasingFlag),
+		// 0x1c
+		Opcode(o1_queryScenePhasingFlag),
+		Opcode(o1_sceneToDirection),
+		Opcode(o1_setBirthstoneGem),
+		Opcode(o1_placeItemInGenericMapScene),
+		// 0x20
+		Opcode(o1_setBrandonStatusBit),
+		Opcode(o1_pauseSeconds),
+		Opcode(o1_getCharactersLocation),
+		Opcode(o1_runNPCSubscript),
+		// 0x24
+		Opcode(o1_magicOutMouseItem),
+		Opcode(o1_internalAnimOn),
+		Opcode(o1_forceBrandonToNormal),
+		Opcode(o1_poisonDeathNow),
+		// 0x28
+		Opcode(o1_setScaleMode),
+		Opcode(o1_openWSAFile),
+		Opcode(o1_closeWSAFile),
+		Opcode(o1_runWSAFromBeginningToEnd),
+		// 0x2c
+		Opcode(o1_displayWSAFrame),
+		Opcode(o1_enterNewScene),
+		Opcode(o1_setSpecialEnterXAndY),
+		Opcode(o1_runWSAFrames),
+		// 0x30
+		Opcode(o1_popBrandonIntoScene),
+		Opcode(o1_restoreAllObjectBackgrounds),
+		Opcode(o1_setCustomPaletteRange),
+		Opcode(o1_loadPageFromDisk),
+		// 0x34
+		Opcode(o1_customPrintTalkString),
+		Opcode(o1_restoreCustomPrintBackground),
+		Opcode(o1_hideMouse),
+		Opcode(o1_showMouse),
+		// 0x38
+		Opcode(o1_getCharacterX),
+		Opcode(o1_getCharacterY),
+		Opcode(o1_changeCharactersFacing),
+		Opcode(o1_copyWSARegion),
+		// 0x3c
+		Opcode(o1_printText),
+		Opcode(o1_random),
+		Opcode(o1_loadSoundFile),
+		Opcode(o1_displayWSAFrameOnHidPage),
+		// 0x40
+		Opcode(o1_displayWSASequentialFrames),
+		Opcode(o1_drawCharacterStanding),
+		Opcode(o1_internalAnimOff),
+		Opcode(o1_changeCharactersXAndY),
+		// 0x44
+		Opcode(o1_clearSceneAnimatorBeacon),
+		Opcode(o1_querySceneAnimatorBeacon),
+		Opcode(o1_refreshSceneAnimator),
+		Opcode(o1_placeItemInOffScene),
+		// 0x48
+		Opcode(o1_wipeDownMouseItem),
+		Opcode(o1_placeCharacterInOtherScene),
+		Opcode(o1_getKey),
+		Opcode(o1_specificItemInInventory),
+		// 0x4c
+		Opcode(o1_popMobileNPCIntoScene),
+		Opcode(o1_mobileCharacterInScene),
+		Opcode(o1_hideMobileCharacter),
+		Opcode(o1_unhideMobileCharacter),
+		// 0x50
+		Opcode(o1_setCharactersLocation),
+		Opcode(o1_walkCharacterToPoint),
+		Opcode(o1_specialEventDisplayBrynnsNote),
+		Opcode(o1_specialEventRemoveBrynnsNote),
+		// 0x54
+		Opcode(o1_setLogicPage),
+		Opcode(o1_fatPrint),
+		Opcode(o1_preserveAllObjectBackgrounds),
+		Opcode(o1_updateSceneAnimations),
+		// 0x58
+		Opcode(o1_sceneAnimationActive),
+		Opcode(o1_setCharactersMovementDelay),
+		Opcode(o1_getCharactersFacing),
+		Opcode(o1_bkgdScrollSceneAndMasksRight),
+		// 0x5c
+		Opcode(o1_dispelMagicAnimation),
+		Opcode(o1_findBrightestFireberry),
+		Opcode(o1_setFireberryGlowPalette),
+		Opcode(o1_setDeathHandlerFlag),
+		// 0x60
+		Opcode(o1_drinkPotionAnimation),
+		Opcode(o1_makeAmuletAppear),
+		Opcode(o1_drawItemShapeIntoScene),
+		Opcode(o1_setCharactersCurrentFrame),
+		// 0x64
+		Opcode(o1_waitForConfirmationMouseClick),
+		Opcode(o1_pageFlip),
+		Opcode(o1_setSceneFile),
+		Opcode(o1_getItemInMarbleVase),
+		// 0x68
+		Opcode(o1_setItemInMarbleVase),
+		Opcode(o1_addItemToInventory),
+		Opcode(o1_intPrint),
+		Opcode(o1_shakeScreen),
+		// 0x6c
+		Opcode(o1_createAmuletJewel),
+		Opcode(o1_setSceneAnimCurrXY),
+		Opcode(o1_poisonBrandonAndRemaps),
+		Opcode(o1_fillFlaskWithWater),
+		// 0x70
+		Opcode(o1_getCharactersMovementDelay),
+		Opcode(o1_getBirthstoneGem),
+		Opcode(o1_queryBrandonStatusBit),
+		Opcode(o1_playFluteAnimation),
+		// 0x74
+		Opcode(o1_playWinterScrollSequence),
+		Opcode(o1_getIdolGem),
+		Opcode(o1_setIdolGem),
+		Opcode(o1_totalItemsInScene),
+		// 0x78
+		Opcode(o1_restoreBrandonsMovementDelay),
+		Opcode(o1_setMousePos),
+		Opcode(o1_getMouseState),
+		Opcode(o1_setEntranceMouseCursorTrack),
+		// 0x7c
+		Opcode(o1_itemAppearsOnGround),
+		Opcode(o1_setNoDrawShapesFlag),
+		Opcode(o1_fadeEntirePalette),
+		Opcode(o1_itemOnGroundHere),
+		// 0x80
+		Opcode(o1_queryCauldronState),
+		Opcode(o1_setCauldronState),
+		Opcode(o1_queryCrystalState),
+		Opcode(o1_setCrystalState),
+		// 0x84
+		Opcode(o1_setPaletteRange),
+		Opcode(o1_shrinkBrandonDown),
+		Opcode(o1_growBrandonUp),
+		Opcode(o1_setBrandonScaleXAndY),
+		// 0x88
+		Opcode(o1_resetScaleMode),
+		Opcode(o1_getScaleDepthTableValue),
+		Opcode(o1_setScaleDepthTableValue),
+		Opcode(o1_message),
+		// 0x8c
+		Opcode(o1_checkClickOnNPC),
+		Opcode(o1_getFoyerItem),
+		Opcode(o1_setFoyerItem),
+		Opcode(o1_setNoItemDropRegion),
+		// 0x90
+		Opcode(o1_walkMalcolmOn),
+		Opcode(o1_passiveProtection),
+		Opcode(o1_setPlayingLoop),
+		Opcode(o1_brandonToStoneSequence),
+		// 0x94
+		Opcode(o1_brandonHealingSequence),
+		Opcode(o1_protectCommandLine),
+		Opcode(o1_pauseMusicSeconds),
+		Opcode(o1_resetMaskRegion),
+		// 0x98
+		Opcode(o1_setPaletteChangeFlag),
+		Opcode(o1_fillRect),
+		Opcode(o1_vocUnload),
+		Opcode(o1_vocLoad),
+		// 0x9c
+		Opcode(o1_dummy)
+	};
+
+	for (int i = 0; i < ARRAYSIZE(opcodeTable); ++i)
+		_opcodes.push_back(&opcodeTable[i]);
+}
+#undef Opcode
+
 } // end of namespace Kyra
 


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