Mercurial > audlegacy-plugins
diff src/modplug/load_mt2.cxx @ 2218:6907fc39b53f
That didn't merge properly. I'll try again at some other point.
| author | William Pitcock <nenolod@atheme.org> |
|---|---|
| date | Fri, 07 Dec 2007 12:13:37 -0600 |
| parents | 3673c7ec4ea2 |
| children | 107c1fed3d92 |
line wrap: on
line diff
--- a/src/modplug/load_mt2.cxx Fri Dec 07 12:09:16 2007 -0600 +++ b/src/modplug/load_mt2.cxx Fri Dec 07 12:13:37 2007 -0600 @@ -282,7 +282,6 @@ Log("Pattern #%d @%04X: %d lines, %d bytes\n", iPat, dwMemPos-6, nLines, pmp->wDataLen); #endif PatternSize[iPat] = nLines; - PatternAllocSize[iPat] = nLines; Patterns[iPat] = AllocatePattern(nLines, m_nChannels); if (!Patterns[iPat]) return TRUE; MODCOMMAND *m = Patterns[iPat]; @@ -396,7 +395,6 @@ #endif memset(InstrMap, 0, sizeof(InstrMap)); m_nInstruments = (pfh->wInstruments < MAX_INSTRUMENTS) ? pfh->wInstruments : MAX_INSTRUMENTS-1; - m_dwSongFlags |= SONG_INSTRUMENTMODE; for (UINT iIns=1; iIns<=255; iIns++) { if (dwMemPos+36 > dwMemLength) return TRUE; @@ -410,7 +408,7 @@ { memset(penv, 0, sizeof(INSTRUMENTHEADER)); memcpy(penv->name, pmi->szName, 32); - penv->nGlobalVol = 128; + penv->nGlobalVol = 64; penv->nPan = 128; for (UINT i=0; i<120; i++) { @@ -462,7 +460,7 @@ for (UINT iEnv=0; iEnv<4; iEnv++) if (pehdr[iEnv]) { MT2ENVELOPE *pme = pehdr[iEnv]; - int *pEnvPoints = NULL; + WORD *pEnvPoints = NULL; BYTE *pEnvData = NULL; #ifdef MT2DEBUG Log(" Env %d.%d @%04X: %d points\n", iIns, iEnv, (UINT)(((BYTE *)pme)-lpStream), pme->nPoints); @@ -474,12 +472,12 @@ if (pme->nFlags & 1) penv->dwFlags |= ENV_VOLUME; if (pme->nFlags & 2) penv->dwFlags |= ENV_VOLSUSTAIN; if (pme->nFlags & 4) penv->dwFlags |= ENV_VOLLOOP; - penv->VolEnv.nNodes = (pme->nPoints > 16) ? 16 : pme->nPoints; - penv->VolEnv.nSustainStart = penv->VolEnv.nSustainEnd = pme->nSustainPos; - penv->VolEnv.nLoopStart = pme->nLoopStart; - penv->VolEnv.nLoopEnd = pme->nLoopEnd; - pEnvPoints = penv->VolEnv.Ticks; - pEnvData = penv->VolEnv.Values; + penv->nVolEnv = (pme->nPoints > 16) ? 16 : pme->nPoints; + penv->nVolSustainBegin = penv->nVolSustainEnd = pme->nSustainPos; + penv->nVolLoopStart = pme->nLoopStart; + penv->nVolLoopEnd = pme->nLoopEnd; + pEnvPoints = penv->VolPoints; + pEnvData = penv->VolEnv; break; // Panning Envelope @@ -487,12 +485,12 @@ if (pme->nFlags & 1) penv->dwFlags |= ENV_PANNING; if (pme->nFlags & 2) penv->dwFlags |= ENV_PANSUSTAIN; if (pme->nFlags & 4) penv->dwFlags |= ENV_PANLOOP; - penv->PanEnv.nNodes = (pme->nPoints > 16) ? 16 : pme->nPoints; - penv->PanEnv.nSustainStart = penv->PanEnv.nSustainEnd = pme->nSustainPos; - penv->PanEnv.nLoopStart = pme->nLoopStart; - penv->PanEnv.nLoopEnd = pme->nLoopEnd; - pEnvPoints = penv->PanEnv.Ticks; - pEnvData = penv->PanEnv.Values; + penv->nPanEnv = (pme->nPoints > 16) ? 16 : pme->nPoints; + penv->nPanSustainBegin = penv->nPanSustainEnd = pme->nSustainPos; + penv->nPanLoopStart = pme->nLoopStart; + penv->nPanLoopEnd = pme->nLoopEnd; + pEnvPoints = penv->PanPoints; + pEnvData = penv->PanEnv; break; // Pitch/Filter envelope @@ -500,12 +498,12 @@ if (pme->nFlags & 1) penv->dwFlags |= (iEnv==3) ? (ENV_PITCH|ENV_FILTER) : ENV_PITCH; if (pme->nFlags & 2) penv->dwFlags |= ENV_PITCHSUSTAIN; if (pme->nFlags & 4) penv->dwFlags |= ENV_PITCHLOOP; - penv->PitchEnv.nNodes = (pme->nPoints > 16) ? 16 : pme->nPoints; - penv->PitchEnv.nSustainStart = penv->PitchEnv.nSustainEnd = pme->nSustainPos; - penv->PitchEnv.nLoopStart = pme->nLoopStart; - penv->PitchEnv.nLoopEnd = pme->nLoopEnd; - pEnvPoints = penv->PitchEnv.Ticks; - pEnvData = penv->PitchEnv.Values; + penv->nPitchEnv = (pme->nPoints > 16) ? 16 : pme->nPoints; + penv->nPitchSustainBegin = penv->nPitchSustainEnd = pme->nSustainPos; + penv->nPitchLoopStart = pme->nLoopStart; + penv->nPitchLoopEnd = pme->nLoopEnd; + pEnvPoints = penv->PitchPoints; + pEnvData = penv->PitchEnv; } // Envelope data if ((pEnvPoints) && (pEnvData) && (pedata[iEnv])) @@ -594,7 +592,7 @@ Ins[nSmp].nVibType = pmi->bVibType; Ins[nSmp].nVibSweep = pmi->bVibSweep; Ins[nSmp].nVibDepth = pmi->bVibDepth; - Ins[nSmp].nVibRate = pmi->bVibRate/4; + Ins[nSmp].nVibRate = pmi->bVibRate; } } }
