From: <sag...@us...> - 2011-07-21 16:39:22
|
Revision: 920 http://modplug.svn.sourceforge.net/modplug/?rev=920&view=rev Author: saga-games Date: 2011-07-21 16:39:15 +0000 (Thu, 21 Jul 2011) Log Message: ----------- [Ref] Got rid of global gszModCommands / gszS3mCommands / gszVolCommands effect letter arrays. Always using modspecs-specific effect letter descriptions now. Modified Paths: -------------- trunk/OpenMPT/mptrack/Draw_pat.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/Modedit.cpp trunk/OpenMPT/mptrack/Mptrack.h trunk/OpenMPT/mptrack/View_pat.cpp trunk/OpenMPT/mptrack/View_smp.cpp Modified: trunk/OpenMPT/mptrack/Draw_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/Draw_pat.cpp 2011-07-16 22:43:01 UTC (rev 919) +++ trunk/OpenMPT/mptrack/Draw_pat.cpp 2011-07-21 16:39:15 UTC (rev 920) @@ -973,7 +973,7 @@ if (m->command) { UINT command = m->command & 0x3F; - int n = (pSndFile->m_nType & (MOD_TYPE_MOD|MOD_TYPE_XM)) ? gszModCommands[command] : gszS3mCommands[command]; + int n = pSndFile->GetModSpecifications().GetEffectLetter(command); ASSERT(n > ' '); //if (n <= ' ') n = '?'; DrawLetter(xbmp+x, 0, (char)n, pfnt->nEltWidths[3], pfnt->nCmdOfs); Modified: trunk/OpenMPT/mptrack/Moddoc.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp 2011-07-16 22:43:01 UTC (rev 919) +++ trunk/OpenMPT/mptrack/Moddoc.cpp 2011-07-21 16:39:15 UTC (rev 920) @@ -2282,8 +2282,7 @@ if ((bXX) && (bSupported)) { strcpy(pszDescription, " xx: "); - LPCSTR pszCmd = (m_SndFile.m_nType & (MOD_TYPE_MOD|MOD_TYPE_XM)) ? gszModCommands : gszS3mCommands; - pszDescription[0] = pszCmd[command]; + pszDescription[0] = m_SndFile.GetModSpecifications().GetEffectLetter(command); if ((gFXInfo[fxndx].dwParamMask & 0xF0) == 0xF0) pszDescription[1] = szHexChar[gFXInfo[fxndx].dwParamValue >> 4]; if ((gFXInfo[fxndx].dwParamMask & 0x0F) == 0x0F) pszDescription[2] = szHexChar[gFXInfo[fxndx].dwParamValue & 0x0F]; } Modified: trunk/OpenMPT/mptrack/Modedit.cpp =================================================================== --- trunk/OpenMPT/mptrack/Modedit.cpp 2011-07-16 22:43:01 UTC (rev 919) +++ trunk/OpenMPT/mptrack/Modedit.cpp 2011-07-21 16:39:15 UTC (rev 920) @@ -269,7 +269,7 @@ if(chnFrom < chnTo) { CHANNELINDEX temp = newOrder[chnFrom]; - for(UINT i = chnFrom; i < chnTo; i++) + for(CHANNELINDEX i = chnFrom; i < chnTo; i++) { newOrder[i] = newOrder[i + 1]; } @@ -278,7 +278,7 @@ else //case chnFrom > chnTo(can't be equal, since it has been examined earlier.) { CHANNELINDEX temp = newOrder[chnFrom]; - for(UINT i = chnFrom; i >= chnTo + 1; i--) + for(CHANNELINDEX i = chnFrom; i >= chnTo + 1; i--) { newOrder[i] = newOrder[i - 1]; } @@ -836,7 +836,7 @@ { if ((m->volcmd) && (m->volcmd <= MAX_VOLCMDS)) { - p[6] = gszVolCommands[m->volcmd]; + p[6] = m_SndFile.GetModSpecifications().GetVolEffectLetter(m->volcmd); p[7] = '0' + (m->vol / 10); p[8] = '0' + (m->vol % 10); } else p[6] = p[7] = p[8] = '.'; @@ -861,10 +861,7 @@ { if (m->command) { - if (m_SndFile.m_nType & (MOD_TYPE_S3M|MOD_TYPE_IT|MOD_TYPE_MPT)) - p[9] = gszS3mCommands[m->command]; - else - p[9] = gszModCommands[m->command]; + p[9] = m_SndFile.GetModSpecifications().GetEffectLetter(m->command); } else p[9] = '.'; if (m->param) { @@ -944,6 +941,7 @@ } } + const CModSpecifications &sourceSpecs = CSoundFile::GetModSpecifications(origFormat); const bool bS3MCommands = (origFormat & (MOD_TYPE_IT|MOD_TYPE_MPT|MOD_TYPE_S3M)) != 0 ? true : false; pos = startPos; @@ -1057,7 +1055,8 @@ m[col].volcmd = 0; for (UINT i=1; i<MAX_VOLCMDS; i++) { - if (s[5] == gszVolCommands[i]) + const char cmd = sourceSpecs.GetVolEffectLetter(i); + if (s[5] == cmd && cmd != '?') { m[col].volcmd = i; break; @@ -1086,10 +1085,14 @@ m[col].command = 0; if (s[8] != '.') { - LPCSTR psc = (bS3MCommands) ? gszS3mCommands : gszModCommands; for (UINT i=1; i<MAX_EFFECTS; i++) { - if ((s[8] == psc[i]) && (psc[i] != '?')) m[col].command = i; + const char cmd = sourceSpecs.GetEffectLetter(i); + if (s[8] == cmd && cmd != '?') + { + m[col].command = i; + break; + } } } } Modified: trunk/OpenMPT/mptrack/Mptrack.h =================================================================== --- trunk/OpenMPT/mptrack/Mptrack.h 2011-07-16 22:43:01 UTC (rev 919) +++ trunk/OpenMPT/mptrack/Mptrack.h 2011-07-21 16:39:15 UTC (rev 920) @@ -408,9 +408,6 @@ STATIC_ASSERT(ARRAYELEMCOUNT(szSpecialNoteShortDesc) == ARRAYELEMCOUNT(szSpecialNoteNames)); const LPCSTR szHexChar = "0123456789ABCDEF"; -const LPCSTR gszModCommands = " 0123456789ABCDRFFTE???GHK?YXPLZ\\?#??"; //rewbs.smoothVST: added last \ (written as \\); -const LPCSTR gszS3mCommands = " JFEGHLKRXODB?CQATI?SMNVW?UY?P?Z\\:#??"; //rewbs.smoothVST: added last \ (written as \\); -const LPCSTR gszVolCommands = " vpcdabuhlrgfe:o"; const TCHAR gszEmpty[] = TEXT(""); // Defined in load_mid.cpp Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2011-07-16 22:43:01 UTC (rev 919) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2011-07-21 16:39:15 UTC (rev 920) @@ -2120,7 +2120,7 @@ if (m_findReplace.dwFindFlags & PATSEARCH_VOLCMD) { if (m_findReplace.cmdFind.volcmd) - wsprintf(&szFind[strlen(szFind)], "%c", gszVolCommands[m_findReplace.cmdFind.volcmd]); + wsprintf(&szFind[strlen(szFind)], "%c", pSndFile->GetModSpecifications().GetVolEffectLetter(m_findReplace.cmdFind.volcmd)); else strcat(szFind, "."); } else strcat(szFind, "?"); @@ -2133,12 +2133,11 @@ { if (m_findReplace.cmdFind.command) { - if (pSndFile->m_nType & (MOD_TYPE_S3M|MOD_TYPE_IT|MOD_TYPE_MPT)) - wsprintf(&szFind[strlen(szFind)], "%c", gszS3mCommands[m_findReplace.cmdFind.command]); - else - wsprintf(&szFind[strlen(szFind)], "%c", gszModCommands[m_findReplace.cmdFind.command]); + wsprintf(&szFind[strlen(szFind)], "%c", pSndFile->GetModSpecifications().GetEffectLetter(m_findReplace.cmdFind.command)); } else + { strcat(szFind, "."); + } } else strcat(szFind, "?"); if (m_findReplace.dwFindFlags & PATSEARCH_PARAM) { @@ -3328,6 +3327,10 @@ break; + case MIDIEVENT_POLYAFTERTOUCH: + case MIDIEVENT_CHANAFTERTOUCH: + break; + case MIDIEVENT_CONTROLLERCHANGE: //Controller change switch(nByte1) { @@ -4020,7 +4023,6 @@ else if(pSndFile->GetModSpecifications().HasCommand(c)) { - //LPCSTR lpcmd = (pSndFile->m_nType & (MOD_TYPE_MOD|MOD_TYPE_XM)) ? gszModCommands : gszS3mCommands; if (c) { if ((c == m_cmdOld.command) && (!p->param) && (!p->command)) p->param = m_cmdOld.param; Modified: trunk/OpenMPT/mptrack/View_smp.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_smp.cpp 2011-07-16 22:43:01 UTC (rev 919) +++ trunk/OpenMPT/mptrack/View_smp.cpp 2011-07-21 16:39:15 UTC (rev 920) @@ -1291,7 +1291,7 @@ const char cOffsetChar = pSndFile->GetModSpecifications().GetEffectLetter(CMD_OFFSET); const bool bHasHighOffset = (pSndFile->TypeIsS3M_IT_MPT() || (pSndFile->GetType() == MOD_TYPE_XM)); - const char cHighOffsetChar = (pSndFile->TypeIsS3M_IT_MPT()) ? gszS3mCommands[CMD_S3MCMDEX] : gszModCommands[CMD_XFINEPORTAUPDOWN]; + const char cHighOffsetChar = pSndFile->GetModSpecifications().GetEffectLetter((pSndFile->TypeIsS3M_IT_MPT()) ? CMD_S3MCMDEX : CMD_XFINEPORTAUPDOWN); if(xHigh == 0) wsprintf(s, "Offset: %c%02X", cOffsetChar, xLow); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |