Merge pull request #1134 from bxaimc/master

Add brwsd & brwav ext. Fix RWSD for Wii Sports
This commit is contained in:
bxaimc 2022-05-03 23:01:37 -04:00 committed by GitHub
commit 70e047d01d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -118,6 +118,8 @@ static const char* extension_list[] = {
"bo2", "bo2",
"brstm", "brstm",
"brstmspm", "brstmspm",
"brwav",
"brwsd",
"bsnd", "bsnd",
"btsnd", "btsnd",
"bvg", "bvg",

View File

@ -11,13 +11,13 @@ VGMSTREAM* init_vgmstream_rwsd(STREAMFILE* sf) {
size_t wave_length; size_t wave_length;
int codec, channels, loop_flag; int codec, channels, loop_flag;
size_t stream_size; size_t stream_size;
off_t start_offset, wave_offset = 0; off_t start_offset, wave_offset = 0, labl_offset;
if (!is_id32be(0x00, sf, "RWSD")) if (!is_id32be(0x00, sf, "RWSD"))
goto fail; goto fail;
if (!check_extensions(sf, "rwsd")) if (!check_extensions(sf, "brwsd,rwsd"))
goto fail; goto fail;
/* check header */ /* check header */
@ -98,6 +98,11 @@ VGMSTREAM* init_vgmstream_rwsd(STREAMFILE* sf) {
/* this is just data size and following data may or may not be from this RWSD */ /* this is just data size and following data may or may not be from this RWSD */
start_offset = read_32bitBE(0x08, sf); start_offset = read_32bitBE(0x08, sf);
if (is_id32be(start_offset, sf, "LABL")) {
labl_offset = start_offset;
start_offset += read_32bitBE(start_offset + 0x04, sf);
read_string(vgmstream->stream_name, 0x28, labl_offset + 0x18, sf);
}
stream_size = read_32bitBE(wave_offset + 0x50,sf); stream_size = read_32bitBE(wave_offset + 0x50,sf);