diff options
-rw-r--r-- | scumm/imuse_digi/dimuse_codecs.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/scumm/imuse_digi/dimuse_codecs.cpp b/scumm/imuse_digi/dimuse_codecs.cpp index 1c59cb9746..7b1157b0ea 100644 --- a/scumm/imuse_digi/dimuse_codecs.cpp +++ b/scumm/imuse_digi/dimuse_codecs.cpp @@ -138,15 +138,14 @@ void releaseImcTables() { #endif void initializeImcTables() { - int32 destTablePos = 0; - int32 pos = 0; + int pos; #ifdef __PALM_OS__ if (!_destImcTable) _destImcTable = (byte *)calloc(89, sizeof(byte)); if (!_destImcTable2) _destImcTable2 = (uint32 *)calloc(89 * 64, sizeof(uint32)); #endif - do { + for (pos = 0; pos <= 88; ++pos) { byte put = 1; int32 tableValue = ((imcTable[pos] * 4) / 7) / 2; while (tableValue != 0) { @@ -159,16 +158,11 @@ void initializeImcTables() { if (put > 8) { put = 8; } - put--; - assert(pos < 89); - _destImcTable[pos] = put; - } while (++pos <= 88); - _destImcTable[89] = 0; + _destImcTable[pos] = put - 1; + } for (int n = 0; n < 64; n++) { - pos = 0; - destTablePos = n; - do { + for (pos = 0; pos <= 88; ++pos) { int32 count = 32; int32 put = 0; int32 tableValue = imcTable[pos]; @@ -179,10 +173,8 @@ void initializeImcTables() { count /= 2; tableValue /= 2; } while (count != 0); - assert(destTablePos < 89 * 64); - _destImcTable2[destTablePos] = put; - destTablePos += 64; - } while (++pos <= 88); + _destImcTable2[n + pos * 64] = put; + } } } #define NextBit \ |