|
From: <sag...@us...> - 2009-07-26 23:50:27
|
Revision: 305
http://modplug.svn.sourceforge.net/modplug/?rev=305&view=rev
Author: saga-games
Date: 2009-07-26 23:50:13 +0000 (Sun, 26 Jul 2009)
Log Message:
-----------
[Imp] Mod Compatibility: Moved loop length check from compatibility export to normal save, as it does not break/change any MPT-made MOD file.
[Fix] Mod Specifications: Accidentally changed a wrong value in revision 304
[Fix] IT Compatibility: Unbreaking compatible retrigger (line was missing)
Revision Links:
--------------
http://modplug.svn.sourceforge.net/modplug/?rev=304&view=rev
Modified Paths:
--------------
trunk/OpenMPT/soundlib/Load_mod.cpp
trunk/OpenMPT/soundlib/Snd_fx.cpp
trunk/OpenMPT/soundlib/mod_specifications.h
Modified: trunk/OpenMPT/soundlib/Load_mod.cpp
===================================================================
--- trunk/OpenMPT/soundlib/Load_mod.cpp 2009-07-26 21:59:23 UTC (rev 304)
+++ trunk/OpenMPT/soundlib/Load_mod.cpp 2009-07-26 23:50:13 UTC (rev 305)
@@ -419,7 +419,7 @@
bTab[26] = pins->nLoopStart >> 9;
bTab[27] = pins->nLoopStart >> 1;
UINT replen = pins->nLoopEnd - pins->nLoopStart;
- if(bCompatibilityExport && replen < 2) // ensure PT will load it properly
+ if(replen < 2) // ensure PT will load it properly
replen = 2;
bTab[28] = replen >> 9;
bTab[29] = replen >> 1;
@@ -504,7 +504,7 @@
for (UINT ismpd=1; ismpd<=31; ismpd++) if (inslen[ismpd])
{
MODINSTRUMENT *pins = &Ins[insmap[ismpd]];
- if(bCompatibilityExport == true)
+ if(bCompatibilityExport == true) // first two bytes have to be 0 due to PT's one-shot loop ("no loop")
{
if(pins->nLength > 0) pins->pSample[0] = 0;
if(pins->nLength > 1) pins->pSample[1] = 0;
Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp
===================================================================
--- trunk/OpenMPT/soundlib/Snd_fx.cpp 2009-07-26 21:59:23 UTC (rev 304)
+++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2009-07-26 23:50:13 UTC (rev 305)
@@ -1569,6 +1569,9 @@
if(GetModFlag(MSF_COMPATIBLE_PLAY) && (m_nType & (MOD_TYPE_IT|MOD_TYPE_MPT)))
{
//IT compatibility 15. Retrigger
+ if (param)
+ pChn->nRetrigParam = (BYTE)(param & 0xFF);
+
if (volcmd == VOLCMD_OFFSET)
RetrigNote(nChn, pChn->nRetrigParam, vol << 3);
else if (volcmd == VOLCMD_VELOCITY)
Modified: trunk/OpenMPT/soundlib/mod_specifications.h
===================================================================
--- trunk/OpenMPT/soundlib/mod_specifications.h 2009-07-26 21:59:23 UTC (rev 304)
+++ trunk/OpenMPT/soundlib/mod_specifications.h 2009-07-26 23:50:13 UTC (rev 305)
@@ -157,7 +157,7 @@
false, //No notecut.
true, //Has noteoff.
240, //Pattern max.
- 255, //Order max.
+ 256, //Order max.
4, //Channel min
127, //Channel max
32, //Min tempo
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|