From: <sag...@us...> - 2013-10-08 19:09:38
|
Revision: 2842 http://sourceforge.net/p/modplug/code/2842 Author: saga-games Date: 2013-10-08 19:09:30 +0000 (Tue, 08 Oct 2013) Log Message: ----------- [Fix] IT Compatibility: In Compatible Gxx mode, sliding between two different samples shouldn't switch to the new sample (test cases: PortaInsNumCompat.it, PortaSampleCompat.it) [Mod] OpenMPT: Version is now 1.22.05.06 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-10-08 18:30:35 UTC (rev 2841) +++ trunk/OpenMPT/common/versionNumber.h 2013-10-08 19:09:30 UTC (rev 2842) @@ -17,7 +17,7 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 22 #define VER_MINOR 05 -#define VER_MINORMINOR 05 +#define VER_MINORMINOR 06 //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-10-08 18:30:35 UTC (rev 2841) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2013-10-08 19:09:30 UTC (rev 2842) @@ -668,6 +668,13 @@ bool returnAfterVolumeAdjust = false; + // IT compatibility: No sample change (also within multi-sample instruments) during portamento when using Compatible Gxx. + // Test case: PortaInsNumCompat.it, PortaSampleCompat.it + if(bPorta && pChn->pModSample != nullptr && pChn->pModSample != pSmp && IsCompatibleMode(TRK_IMPULSETRACKER) && m_SongFlags[SONG_ITCOMPATGXX]) + { + pSmp = pChn->pModSample; + } + // instrumentChanged is used for IT carry-on env option bool instrumentChanged = (pIns != pChn->pModInstrument); const bool sampleChanged = (pChn->pModSample != nullptr) && (pSmp != pChn->pModSample); @@ -1140,7 +1147,8 @@ bPorta = false; } - if (!bPorta || (!(GetType() & (MOD_TYPE_IT | MOD_TYPE_MPT))) + if (!bPorta + || (!(GetType() & (MOD_TYPE_IT | MOD_TYPE_MPT))) || (pChn->dwFlags[CHN_NOTEFADE] && !pChn->nFadeOutVol) || (m_SongFlags[SONG_ITCOMPATGXX] && pChn->rowCommand.instr != 0)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |