mirror of
https://github.com/blueskythlikesclouds/SonicAudioTools.git
synced 2024-11-23 22:50:58 +01:00
Fix AWB pairing failure for NGS
At least some AWB headers in ACBs seem to be grabbed with an envelope of some sort for whatever reason. Basically, idea is to check if that's there and remove it if so. Otherwise, the pairing clearly fails due to the additional data being md5ed.
This commit is contained in:
parent
3e1b5c83e3
commit
dcc89b47ba
@ -98,6 +98,19 @@ namespace AcbFinder
|
|||||||
// reader2.Read();
|
// reader2.Read();
|
||||||
|
|
||||||
var header = reader.GetData("StreamAwbAfs2Header");
|
var header = reader.GetData("StreamAwbAfs2Header");
|
||||||
|
|
||||||
|
//Sometimes this has 0x44 bytes of extra data. When it happens, we can remove that to fix it.
|
||||||
|
byte[] headerSignature = new byte[4];
|
||||||
|
Array.Copy(header, 0, headerSignature, 0, 4);
|
||||||
|
|
||||||
|
//Copy subset of array to new header if it's long enough and it's not fine already
|
||||||
|
if (header.Length > 0x44 && Encoding.ASCII.GetString(headerSignature) != "AFS2")
|
||||||
|
{
|
||||||
|
byte[] newHeader = new byte[header.Length - 0x44];
|
||||||
|
Array.Copy(header, 0x44, newHeader, 0, header.Length - 0x44);
|
||||||
|
header = newHeader;
|
||||||
|
}
|
||||||
|
|
||||||
var hash = Convert.ToBase64String(md5.ComputeHash(header));
|
var hash = Convert.ToBase64String(md5.ComputeHash(header));
|
||||||
|
|
||||||
acbsByAwbHeaderHash[hash] = name;
|
acbsByAwbHeaderHash[hash] = name;
|
||||||
@ -143,4 +156,4 @@ namespace AcbFinder
|
|||||||
Console.ReadKey();
|
Console.ReadKey();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user