From: <sag...@us...> - 2015-04-19 01:27:32
|
Revision: 4947 http://sourceforge.net/p/modplug/code/4947 Author: saga-games Date: 2015-04-19 01:27:19 +0000 (Sun, 19 Apr 2015) Log Message: ----------- [Fix] On rows with a row delay effect, offset commands were executed on every row repetition. Modified Paths: -------------- trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2015-04-18 21:50:31 UTC (rev 4946) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2015-04-19 01:27:19 UTC (rev 4947) @@ -766,7 +766,7 @@ { if(porta && memory.chnSettings[nChn].incChanged) { - // If there's a portamento, the current channel increment needs to be known in NoteChange() + // If there's a portamento, the current channel increment mustn't be 0 in NoteChange() pChn->nInc = GetChannelIncrement(pChn, pChn->nPeriod, 0); } int32 setPan = pChn->nPan; @@ -2645,7 +2645,7 @@ break; case VOLCMD_OFFSET: - if (pChn->isFirstTick && pChn->pModSample && vol <= CountOf(pChn->pModSample->cues)) + if (triggerNote && pChn->pModSample && vol <= CountOf(pChn->pModSample->cues)) { SmpLength offset; if(vol == 0) @@ -2735,7 +2735,7 @@ // Set Offset case CMD_OFFSET: - if (pChn->isFirstTick) + if (triggerNote) { // FT2 compatibility: Portamento + Offset = Ignore offset // Test case: porta-offset.xm This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |