From: <sag...@us...> - 2014-01-25 14:41:24
|
Revision: 3585 http://sourceforge.net/p/modplug/code/3585 Author: saga-games Date: 2014-01-25 14:41:14 +0000 (Sat, 25 Jan 2014) Log Message: ----------- [Fix] XM Compatibility: FT2 actually set the panning envelope position if the volume envelope's sustain flag is set (test case: SetEnvPos.xm) Modified Paths: -------------- trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2014-01-20 21:45:44 UTC (rev 3584) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2014-01-25 14:41:14 UTC (rev 3585) @@ -2563,19 +2563,12 @@ { pChn->VolEnv.nEnvPosition = param; - // FT2 compatibility: FT2 only sets the position of the Volume envelope - if(!IsCompatibleMode(TRK_FASTTRACKER2)) + // FT2 compatibility: FT2 only sets the position of the panning envelope if the volume envelope's sustain flag is set + // Test case: SetEnvPos.xm + if(!IsCompatibleMode(TRK_FASTTRACKER2) || pChn->VolEnv.flags[ENV_SUSTAIN]) { pChn->PanEnv.nEnvPosition = param; pChn->PitchEnv.nEnvPosition = param; - if (pChn->pModInstrument) - { - ModInstrument *pIns = pChn->pModInstrument; - if(pChn->PanEnv.flags[ENV_ENABLED] && pIns->PanEnv.nNodes && param > pIns->PanEnv.Ticks[pIns->PanEnv.nNodes - 1]) - { - pChn->PanEnv.flags.reset(ENV_ENABLED); - } - } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |