From: <sag...@us...> - 2009-09-06 19:53:11
|
Revision: 355 http://modplug.svn.sourceforge.net/modplug/?rev=355&view=rev Author: saga-games Date: 2009-09-06 19:53:01 +0000 (Sun, 06 Sep 2009) Log Message: ----------- [Fix] Pattern editor: Find/Replace works now, also with high instrument numbers. Also, empty instrument numbers won't be affected by "ins+1" anymore [Imp] Pattern editor: Find/Replace has "Search in whole song" and "Replace all" enabled by default. Modified Paths: -------------- trunk/OpenMPT/mptrack/View_ins.cpp trunk/OpenMPT/mptrack/View_pat.cpp trunk/OpenMPT/mptrack/View_pat.h trunk/OpenMPT/mptrack/dlg_misc.cpp Modified: trunk/OpenMPT/mptrack/View_ins.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_ins.cpp 2009-09-06 16:09:09 UTC (rev 354) +++ trunk/OpenMPT/mptrack/View_ins.cpp 2009-09-06 19:53:01 UTC (rev 355) @@ -1974,7 +1974,6 @@ if ((pModDoc) && (node>0) && (node <= EnvGetLastPoint())) { CSoundFile *pSndFile = pModDoc->GetSoundFile(); - MODINSTRUMENT *pIns = pSndFile->Instruments[m_nInstrument]; INSTRUMENTENVELOPE *envelope = GetEnvelopePtr(); if(envelope == nullptr) return; Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2009-09-06 16:09:09 UTC (rev 354) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2009-09-06 19:53:01 UTC (rev 355) @@ -25,8 +25,8 @@ MODCOMMAND CViewPattern::m_cmdOld = {0,0,0,0,0,0}; MODCOMMAND CViewPattern::m_cmdFind = {0,0,0,0,0,0}; MODCOMMAND CViewPattern::m_cmdReplace = {0,0,0,0,0,0}; -DWORD CViewPattern::m_dwFindFlags = 0; -DWORD CViewPattern::m_dwReplaceFlags = 0; +DWORD CViewPattern::m_dwFindFlags = PATSEARCH_FULLSEARCH; +DWORD CViewPattern::m_dwReplaceFlags = PATSEARCH_REPLACEALL; UINT CViewPattern::m_nFindMinChn = 0; UINT CViewPattern::m_nFindMaxChn = 0; signed char cInstrRelChange = 0; @@ -1901,11 +1901,11 @@ if ((m_dwReplaceFlags & PATSEARCH_INSTR)) { // Instr-- - if (m_cInstrRelChange == -1) - if (m->instr > 1) m->instr--; + if (m_cInstrRelChange == -1 && m->instr > 1) + m->instr--; // Instr++ - else if (m_cInstrRelChange == 1) - if (m->instr < MAX_INSTRUMENTS - 1) m->instr++; + else if (m_cInstrRelChange == 1 && m->instr > 0 && m->instr < (MAX_INSTRUMENTS - 1)) + m->instr++; else m->instr = m_cmdReplace.instr; } if ((m_dwReplaceFlags & PATSEARCH_VOLCMD)) Modified: trunk/OpenMPT/mptrack/View_pat.h =================================================================== --- trunk/OpenMPT/mptrack/View_pat.h 2009-09-06 16:09:09 UTC (rev 354) +++ trunk/OpenMPT/mptrack/View_pat.h 2009-09-06 19:53:01 UTC (rev 355) @@ -76,7 +76,7 @@ static MODCOMMAND m_cmdFind, m_cmdReplace, m_cmdOld; static DWORD m_dwFindFlags, m_dwReplaceFlags; static UINT m_nFindMinChn, m_nFindMaxChn; - signed char m_cInstrRelChange; // relative instrument change (quick'n'dirty fix) + signed char m_cInstrRelChange; // relative instrument change (quick'n'dirty fix, this should be implemented in a less cryptic way) protected: CFastBitmap m_Dib; Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp 2009-09-06 16:09:09 UTC (rev 354) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp 2009-09-06 19:53:01 UTC (rev 355) @@ -847,6 +847,8 @@ // Instrument if ((combo = (CComboBox *)GetDlgItem(IDC_COMBO2)) != NULL) { + m_nInstr = 0; + cInstrRelChange = 0; switch(combo->GetItemData(combo->GetCurSel())) { case replaceInstrumentMinusOne: @@ -857,7 +859,6 @@ break; default: m_nInstr = combo->GetItemData(combo->GetCurSel()); - cInstrRelChange = 0; break; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |