[Scummvm-cvs-logs] SF.net SVN: scummvm:[43351] scummvm/branches/gsoc2009-mods/sound/mods

nolange at users.sourceforge.net nolange at users.sourceforge.net
Thu Aug 13 18:42:36 CEST 2009


Revision: 43351
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43351&view=rev
Author:   nolange
Date:     2009-08-13 16:42:36 +0000 (Thu, 13 Aug 2009)

Log Message:
-----------
(re-)initialise some Variables when sound is stopped

Modified Paths:
--------------
    scummvm/branches/gsoc2009-mods/sound/mods/tfmx.cpp
    scummvm/branches/gsoc2009-mods/sound/mods/tfmx.h

Modified: scummvm/branches/gsoc2009-mods/sound/mods/tfmx.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/sound/mods/tfmx.cpp	2009-08-13 16:41:07 UTC (rev 43350)
+++ scummvm/branches/gsoc2009-mods/sound/mods/tfmx.cpp	2009-08-13 16:42:36 UTC (rev 43351)
@@ -294,7 +294,7 @@
 			continue;
 
 		case 0x06:	// Jump. Parameters: MacroIndex, MacroStep(W)
-			channel.macroIndex = macroPtr[1] & (kMaxMacroOffsets - 1);
+			// channel.macroIndex = macroPtr[1] & (kMaxMacroOffsets - 1);
 			channel.macroOffset = _resource->macroOffset[macroPtr[1] & (kMaxMacroOffsets - 1)];
 			channel.macroStep = READ_BE_UINT16(&macroPtr[2]);
 			channel.macroLoopCount = 0xFF;
@@ -693,7 +693,7 @@
 
 		channel.prevNote = channel.note;
 		channel.note = note;
-		channel.macroIndex = param1 & (kMaxMacroOffsets - 1);
+		// channel.macroIndex = param1 & (kMaxMacroOffsets - 1);
 		channel.macroOffset = _resource->macroOffset[param1 & (kMaxMacroOffsets - 1)];
 		channel.relVol = param2 >> 4;
 		channel.fineTune = (int8)param3;
@@ -760,7 +760,8 @@
 
 void Tfmx::unlockMacroChannel(ChannelContext &channel) {
 	channel.customMacro = 0;
-	channel.customMacroPrio = false;
+	channel.customMacroIndex = 0;
+	channel.customMacroPrio = 0;
 	channel.sfxLocked = false;
 	channel.sfxLockTime = -1;
 }
@@ -791,6 +792,13 @@
 			haltMacroProgramm(_channelCtx[i]);
 			_channelCtx[i].note = 0;
 			_channelCtx[i].volume = 0;
+			_channelCtx[i].macroSfxRun = -1;
+			_channelCtx[i].vibValue = 0;
+
+			_channelCtx[i].sampleStart = 0;
+			_channelCtx[i].sampleLen = 2;
+			_channelCtx[i].refPeriod = 4;
+			_channelCtx[i].period = 4;
 			Paula::disableChannel(i);
 		}
 	}

Modified: scummvm/branches/gsoc2009-mods/sound/mods/tfmx.h
===================================================================
--- scummvm/branches/gsoc2009-mods/sound/mods/tfmx.h	2009-08-13 16:41:07 UTC (rev 43350)
+++ scummvm/branches/gsoc2009-mods/sound/mods/tfmx.h	2009-08-13 16:42:36 UTC (rev 43351)
@@ -132,7 +132,7 @@
 	struct ChannelContext {
 		byte	paulaChannel;
 
-		byte	macroIndex;
+//		byte	macroIndex;
 		uint16	macroWait;
 		uint32	macroOffset;
 		uint32	macroReturnOffset;


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