diff --git a/src/engine/sample.cpp b/src/engine/sample.cpp index 2c15f676c..5460aed32 100644 --- a/src/engine/sample.cpp +++ b/src/engine/sample.cpp @@ -58,7 +58,11 @@ void DivSample::putSampleData(SafeWriter* w) { w->writeI(loop?loopEnd:-1); for (int i=0; i<4; i++) { - w->writeI(0xffffffff); + unsigned int out=0; + for (int j=0; j<32; j++) { + if (renderOn[i][j]) out|=1<writeI(out); } #ifdef TA_BIG_ENDIAN @@ -130,7 +134,10 @@ DivDataErrors DivSample::readSampleData(SafeReader& reader, short version) { loop=(loopStart>=0)&&(loopEnd>=0); for (int i=0; i<4; i++) { - reader.readI(); + unsigned int outMask=(unsigned int)reader.readI(); + for (int j=0; j<32; j++) { + renderOn[i][j]=outMask&(1<