From: <sag...@us...> - 2013-05-31 20:08:04
|
Revision: 2252 http://sourceforge.net/p/modplug/code/2252 Author: saga-games Date: 2013-05-31 20:07:57 +0000 (Fri, 31 May 2013) Log Message: ----------- [Fix] FT2 Compatibility: Note-Off + Note Delay + Panning ignores the panning effect (test case: PanOff.xm). [Mod] OpenMPT: Version is now 1.22.03.02 Modified Paths: -------------- trunk/OpenMPT/common/versionNumber.h trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/common/versionNumber.h =================================================================== --- trunk/OpenMPT/common/versionNumber.h 2013-05-31 19:34:17 UTC (rev 2251) +++ trunk/OpenMPT/common/versionNumber.h 2013-05-31 20:07:57 UTC (rev 2252) @@ -17,7 +17,7 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 22 #define VER_MINOR 03 -#define VER_MINORMINOR 01 +#define VER_MINORMINOR 02 //Version string. For example "1.17.02.28" #define MPT_VERSION_STR VER_STRINGIZE(VER_MAJORMAJOR)"."VER_STRINGIZE(VER_MAJOR)"."VER_STRINGIZE(VER_MINOR)"."VER_STRINGIZE(VER_MINORMINOR) Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2013-05-31 19:34:17 UTC (rev 2251) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2013-05-31 20:07:57 UTC (rev 2252) @@ -1723,8 +1723,15 @@ } } + if(nStartTick != 0 && pChn->rowCommand.note == NOTE_KEYOFF && pChn->rowCommand.volcmd == VOLCMD_PANNING && IsCompatibleMode(TRK_FASTTRACKER2)) + { + // FT2 compatibility: If there's a delayed note off, panning commands are ignored. WTF! + // Test case: PanOff.xm + pChn->rowCommand.volcmd = VOLCMD_NONE; + } + bool triggerNote = (m_nTickCount == nStartTick); // Can be delayed by a note delay effect - // IT Compatibility: Delayed notes (using SDx) that are on the same row as a Row Delay effect are retriggered. Scream Tracker 3 does the same. + // IT compatibility: Delayed notes (using SDx) that are on the same row as a Row Delay effect are retriggered. Scream Tracker 3 does the same. // Test case: PatternDelay-NoteDelay.it if((GetType() & (MOD_TYPE_S3M | MOD_TYPE_IT | MOD_TYPE_MPT)) && nStartTick > 0 && (m_nTickCount % (m_nMusicSpeed + m_nFrameDelay)) == nStartTick) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |