diff src/modplug/load_ptm.cxx @ 2337:107c1fed3d92

Port Schism modplug core.
author "Tony Vroon <chainsaw@gentoo.org>"
date Thu, 24 Jan 2008 12:05:59 +0000
parents 62391135da44
children
line wrap: on
line diff
--- a/src/modplug/load_ptm.cxx	Wed Jan 23 19:37:05 2008 +0100
+++ b/src/modplug/load_ptm.cxx	Thu Jan 24 12:05:59 2008 +0000
@@ -115,10 +115,10 @@
 		{
 			UINT smpflg = RS_PCM8D;
 			DWORD samplepos;
-			pins->nLength = bswapLE32(*(LPDWORD)(void*)(psmp->length));
-			pins->nLoopStart = bswapLE32(*(LPDWORD)(void*)(psmp->loopbeg));
-			pins->nLoopEnd = bswapLE32(*(LPDWORD)(void*)(psmp->loopend));
-			samplepos = bswapLE32(*(LPDWORD)(void*)(&psmp->fileofs));
+			pins->nLength = bswapLE32(*psmp->length);
+			pins->nLoopStart = bswapLE32(*psmp->loopbeg);
+			pins->nLoopEnd = bswapLE32(*psmp->loopend);
+			samplepos = bswapLE32(*psmp->fileofs);
 			if (psmp->sampletype & 4) pins->uFlags |= CHN_LOOP;
 			if (psmp->sampletype & 8) pins->uFlags |= CHN_PINGPONGLOOP;
 			if (psmp->sampletype & 16)
@@ -141,6 +141,7 @@
 		dwMemPos = ((UINT)pfh.patseg[ipat]) << 4;
 		if ((!dwMemPos) || (dwMemPos >= dwMemLength)) continue;
 		PatternSize[ipat] = 64;
+		PatternAllocSize[ipat] = 64;
 		if ((Patterns[ipat] = AllocatePattern(64, m_nChannels)) == NULL) break;
 		//
 		MODCOMMAND *m = Patterns[ipat];