Ticket #8338: sound.cpp.diff

File sound.cpp.diff, 552 bytes (added by SF/lord_nightmare, 20 years ago)

sound.cpp patch to add range correction to SegaCD SBL decoding

  • sound.cpp

    old new  
    249249                // I'll add some code to test that theory for now.
    250250                if (_vm->_gameId == GID_MONKEY_SEGA)    {
    251251                        size = READ_BE_UINT32(ptr + 4) - 27;
    252                         for (int i = 0; i < size; i++)
     252                        for (int i = 0; i < size; i++)   {
    253253                                ptr[27 + i] ^= 0x16;
     254                                if (ptr[27 + i] >= 0x7F)   {
     255                                  ptr[27 + i] = 0xFE - ptr[27 + i];
     256                                  ptr[27 + i] ^= 0x80;
     257                                }
     258                        }
    254259                }
    255260
    256261                VocBlockHeader &voc_block_hdr = *(VocBlockHeader *)(ptr + 27);