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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sat May 10 20:39:03 CEST 2008


Revision: 31981
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31981&view=rev
Author:   lordhoto
Date:     2008-05-10 11:39:03 -0700 (Sat, 10 May 2008)

Log Message:
-----------
Renamed opcode 163: o2_getBoolFromStack to o2_midiSoundFadeout and updated implementation.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/kyra_hof.h
    scummvm/trunk/engines/kyra/script_hof.cpp

Modified: scummvm/trunk/engines/kyra/kyra_hof.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.h	2008-05-10 18:30:20 UTC (rev 31980)
+++ scummvm/trunk/engines/kyra/kyra_hof.h	2008-05-10 18:39:03 UTC (rev 31981)
@@ -786,7 +786,7 @@
 	int o2_updateTwoSceneAnims(EMCState *script);
 	int o2_getRainbowRoomData(EMCState *script);
 	int o2_drawSceneShapeEx(EMCState *script);
-	int o2_getBoolFromStack(EMCState *script);
+	int o2_midiSoundFadeout(EMCState *script);
 	int o2_getSfxDriver(EMCState *script);
 	int o2_getVocSupport(EMCState *script);
 	int o2_getMusicDriver(EMCState *script);

Modified: scummvm/trunk/engines/kyra/script_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_hof.cpp	2008-05-10 18:30:20 UTC (rev 31980)
+++ scummvm/trunk/engines/kyra/script_hof.cpp	2008-05-10 18:39:03 UTC (rev 31981)
@@ -1335,9 +1335,20 @@
 	return 0;
 }
 
-int KyraEngine_HoF::o2_getBoolFromStack(EMCState *script) {
-	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_getBoolFromStack(%p) ()", (const void *)script);
-	return stackPos(0) ? 1 : 0;
+int KyraEngine_HoF::o2_midiSoundFadeout(EMCState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_midiSoundFadeout(%p) ()", (const void *)script);
+	if (!stackPos(0)) {
+		if ((_sound->getMusicType() == Sound::kMidiMT32 || _sound->getMusicType() == Sound::kMidiGM) &&
+			(_sound->getSfxType() == Sound::kMidiMT32 || _sound->getSfxType() == Sound::kMidiGM)) {
+			_sound->beginFadeOut();
+			delay(2000, true);
+			_lastMusicCommand = -1;
+		} else {
+			return 0;
+		}
+	}
+
+	return 1;
 }
 
 int KyraEngine_HoF::o2_getSfxDriver(EMCState *script) {
@@ -1704,7 +1715,7 @@
 	Opcode(o2_updateTwoSceneAnims);
 	Opcode(o2_getRainbowRoomData);
 	Opcode(o2_drawSceneShapeEx);
-	Opcode(o2_getBoolFromStack);
+	Opcode(o2_midiSoundFadeout);
 	// 0xa4
 	Opcode(o2_getSfxDriver);
 	Opcode(o2_getVocSupport);


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