[Scummvm-cvs-logs] SF.net SVN: scummvm:[33929] scummvm/branches/gsoc2008-tfmx
marwanhilmi at users.sourceforge.net
marwanhilmi at users.sourceforge.net
Sat Aug 16 08:58:29 CEST 2008
Revision: 33929
http://scummvm.svn.sourceforge.net/scummvm/?rev=33929&view=rev
Author: marwanhilmi
Date: 2008-08-16 06:58:28 +0000 (Sat, 16 Aug 2008)
Log Message:
-----------
Fixed bug with key-up release.
Modified Paths:
--------------
scummvm/branches/gsoc2008-tfmx/base/main.cpp
scummvm/branches/gsoc2008-tfmx/sound/mods/tfmx.cpp
Modified: scummvm/branches/gsoc2008-tfmx/base/main.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/base/main.cpp 2008-08-16 06:39:58 UTC (rev 33928)
+++ scummvm/branches/gsoc2008-tfmx/base/main.cpp 2008-08-16 06:58:28 UTC (rev 33929)
@@ -300,15 +300,15 @@
/*
if (_aTfmx.loadSong(0)) {
- _aTfmx.testPattern(0x08);
+ _aTfmx.testPattern(0x04);
}
//*/
/*
if (_aTfmx.loadSong(0)) {
- _aTfmx.testMacro(0x17);
+ _aTfmx.testMacro(0x3);
}
- */
+ //*/
system.getMixer()->playInputStream( Audio::Mixer::kMusicSoundType, &_handle, &_aTfmx, -1, 255, 0, false);
system.delayMillis( 999999 );
Modified: scummvm/branches/gsoc2008-tfmx/sound/mods/tfmx.cpp
===================================================================
--- scummvm/branches/gsoc2008-tfmx/sound/mods/tfmx.cpp 2008-08-16 06:39:58 UTC (rev 33928)
+++ scummvm/branches/gsoc2008-tfmx/sound/mods/tfmx.cpp 2008-08-16 06:58:28 UTC (rev 33929)
@@ -357,7 +357,7 @@
}
break;
case 0xF5: //Key up
- _channels[(byte3 & 0x0F)].keyUp = true;
+ _channels[(byte3 & 0x0F) & 0x03].keyUp = true;
break;
case 0xF6: //Vibrato
break;
@@ -544,10 +544,10 @@
_channels[currentChannel].updateOn = true;
break;
case 0x18: //sampleloop
- //_channels[currentChannel].sampleOffset += ( *(_tracks[trackNumber].activeMacro.data) & 0x00FFFFFF );
- //_channels[currentChannel].sampleLength -= ( *(_tracks[trackNumber].activeMacro.data) & 0x00FFFFFF );
- _channels[currentChannel].sampleOffset += ( ( *(_tracks[trackNumber].activeMacro.data) & 0x0000FFFF ) & 0xFFFE );
- _channels[currentChannel].sampleLength -= ( ( *(_tracks[trackNumber].activeMacro.data) & 0x0000FFFF ) >> 1);
+ //_channels[currentChannel].sampleOffset += ( *(_tracks[trackNumber].activeMacro.data) & 0x0000FFFF );
+ //_channels[currentChannel].sampleLength -= ( *(_tracks[trackNumber].activeMacro.data) & 0x0000FFFF );
+ _channels[currentChannel].sampleOffset += ( *(_tracks[trackNumber].activeMacro.data) & 0x0000FFFE );
+ _channels[currentChannel].sampleLength -= ( ( *(_tracks[trackNumber].activeMacro.data) & 0x0000FFFF ) >> 1);
//_channels[currentChannel].updateOn = true;
break;
case 0x08: //add note
@@ -592,7 +592,7 @@
}
if (_tracks[trackNumber].activeMacro.keyCount == 0) {
- printf("KEY UP WAIT TIME:: %02x \n", _tracks[trackNumber].activeMacro.keyWait);
+ //printf("KEY UP WAIT TIME:: %02x \n", _tracks[trackNumber].activeMacro.keyWait);
_channels[currentChannel].updateOn = true;
_channels[currentChannel].keyUp = false;
}
@@ -602,7 +602,7 @@
_tracks[trackNumber].activeMacro.data--;
_tracks[trackNumber].activeMacro.macroCount--;
_tracks[trackNumber].activeMacro.macroWait = 1;
- printf("KEY UP WAIT COUNT:: %02x \n", _tracks[trackNumber].activeMacro.keyCount);
+ //printf("KEY UP WAIT COUNT:: %02x \n", _tracks[trackNumber].activeMacro.keyCount);
_tracks[trackNumber].activeMacro.keyCount++;
if (_tracks[trackNumber].activeMacro.keyCount == 0x7F) {
_tracks[trackNumber].activeMacro.keyCount = 1;
@@ -663,7 +663,7 @@
}
}
- for (int i = 1; i < 4; i++) {
+ for (int i = 0; i < 4; i++) {
doEffects(i);
setChannelPeriod(i,_channels[i].period);
setChannelVolume(i,_channels[i].volume);
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