Update qmccache cpp code
This commit is contained in:
parent
4716579b20
commit
6514befb3a
@ -192,10 +192,7 @@ void QmcDecode::DecodeCache()
|
|||||||
{
|
{
|
||||||
for (size_t i = 0; i < blobData.size(); i++) {
|
for (size_t i = 0; i < blobData.size(); i++) {
|
||||||
blobData[i] ^= 0xf4;
|
blobData[i] ^= 0xf4;
|
||||||
if (blobData[i] <= 0x3f) blobData[i] = blobData[i] * 4;
|
blobData[i] = ((blobData[i] & 0b0011_1111) << 2) | (blobData[i] >> 6); // rol 2
|
||||||
else if (blobData[i] <= 0x7f) blobData[i] = (blobData[i] - 0x40) * 4 + 1;
|
|
||||||
else if (blobData[i] <= 0xbf) blobData[i] = (blobData[i] - 0x80) * 4 + 2;
|
|
||||||
else blobData[i] = (blobData[i] - 0xc0) * 4 + 3;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ export async function Decrypt(file: Blob, raw_filename: string, raw_ext: string)
|
|||||||
console.log('qmc: using wasm decoder');
|
console.log('qmc: using wasm decoder');
|
||||||
|
|
||||||
const qmcDecrypted = await DecryptQmcWasm(buffer, raw_ext);
|
const qmcDecrypted = await DecryptQmcWasm(buffer, raw_ext);
|
||||||
// 若 wasm 失败,降级到 js 再尝试一次
|
// 若 wasm 失败,使用 js 再尝试一次
|
||||||
if (qmcDecrypted.success) {
|
if (qmcDecrypted.success) {
|
||||||
musicDecoded = qmcDecrypted.data;
|
musicDecoded = qmcDecrypted.data;
|
||||||
console.log('qmc wasm decoder suceeded');
|
console.log('qmc wasm decoder suceeded');
|
||||||
|
Loading…
Reference in New Issue
Block a user