Merge pull request #1331 from bnnm/xwb-hca

- Fix some .xwb [Jumper: Griffin's Story (X360)]
- Add HCA key
This commit is contained in:
bnnm 2023-03-26 16:55:51 +02:00 committed by GitHub
commit dede6f0f47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 19 deletions

View File

@ -1159,16 +1159,19 @@ static const hcakey_info hcakey_list[] = {
{97648135}, // 0000000005d1fe07
// CHUNITHM International Version (AC)
{33426922444908636}, // 0076C19BDE43685C
{33426922444908636}, // 0076C19BDE43685C
// Star Ocean: The Divine Force (PC)
{68308868861462528}, // 00f2ae8de77f0800
{68308868861462528}, // 00f2ae8de77f0800
// Sin Chronicle (Android)
{4385672148314579020}, // 3CDD0995259D604C
{4385672148314579020}, // 3CDD0995259D604C
// The Eminence in Shadow: Master of Garden (Android)
{8115775984160473168}, // 70A1074224880050
{8115775984160473168}, // 70A1074224880050
// Punishing: Gray Raven (Android)-newer assets
{62855594017927612}, // 00DF4ED46995B1BC
};
#endif/*_HCA_KEYS_H_*/

View File

@ -32,24 +32,24 @@ typedef struct {
int version;
/* segments */
off_t base_offset;
size_t base_size;
off_t entry_offset;
size_t entry_size;
off_t names_offset;
size_t names_size;
size_t names_entry_size;
off_t extra_offset;
size_t extra_size;
off_t data_offset;
size_t data_size;
uint32_t base_offset;
uint32_t base_size;
uint32_t entry_offset;
uint32_t entry_size;
uint32_t names_offset;
uint32_t names_size;
uint32_t names_entry_size;
uint32_t extra_offset;
uint32_t extra_size;
uint32_t data_offset;
uint32_t data_size;
off_t stream_offset;
size_t stream_size;
uint32_t stream_offset;
uint32_t stream_size;
uint32_t base_flags;
size_t entry_elem_size;
size_t entry_alignment;
uint32_t entry_elem_size;
uint32_t entry_alignment;
int total_subsongs;
uint32_t entry_flags;
@ -362,6 +362,11 @@ VGMSTREAM* init_vgmstream_xwb(STREAMFILE* sf) {
/* Stardew Valley (Vita), Owlboy (PS4): standard RIFF with ATRAC9 */
xwb.codec = ATRAC9_RIFF;
}
else if (xwb.version == XACT1_1_MAX && xwb.codec == WMA
&& read_u32be(xwb.stream_offset, sf) != 0x3026B275) { /* WMA/asf tag */
/* Jumper: Griffin's Story (X360): partial hijack (LE on X360 and early version + XMA2) */
xwb.codec = XMA2;
}
/* test loop after the above fixes */