Merge pull request #1220 from Hexagon123/master

- Some known extensions from various games.
This commit is contained in:
bnnm 2022-09-07 22:10:58 +02:00 committed by GitHub
commit 858b7626e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 25 additions and 12 deletions

View File

@ -215,6 +215,7 @@ static const char* extension_list[] = {
"his",
"hps",
"hsf",
"hvqm",
"hwx", //txth/reserved [Star Wars Episode III (Xbox)]
"hx2",
"hx3",
@ -403,6 +404,7 @@ static const char* extension_list[] = {
"pnb",
"pona",
"pos",
"ps3",
"ps2stm", //fake extension for .stm (renamed? to be removed?)
"psb",
"psf",

View File

@ -19,8 +19,11 @@ VGMSTREAM* init_vgmstream_bik(STREAMFILE* sf) {
/* .bik/bik2/bk2: standard
* .xmv: Reflections games [Driver: Parallel Lines (Wii), Emergency Heroes (Wii)]
* .bik.ps3: Neversoft games [Guitar Hero: Warriors of Rock (PS3)]
* .bik.xen: Neversoft games [various Guitar Hero (PC/PS3/X360)]
* .vid: Etrange Libellules games [Alice in Wonderland (PC)]
* .bika: fake extension for demuxed audio */
if (!check_extensions(sf,"bik,bik2,bk2,xmv,bika"))
if (!check_extensions(sf,"bik,bik2,bk2,ps3,xmv,xen,vid,bika"))
goto fail;
/* find target stream info and samples */

View File

@ -118,8 +118,9 @@ VGMSTREAM* init_vgmstream_fsb(STREAMFILE* sf) {
/* .fsb: standard
* .bnk: Hard Corps Uprising (PS3)
* .sfx: Geon Cube (Wii) */
if ( !check_extensions(sf, "fsb,bnk,sfx") )
* .sfx: Geon Cube (Wii)
* .xen: Guitar Hero: World Tour (PC) */
if ( !check_extensions(sf, "fsb,bnk,sfx,xen") )
goto fail;
fsb.id = read_u32be(0x00,sf);

View File

@ -13,8 +13,9 @@ VGMSTREAM* init_vgmstream_fsb_encrypted(STREAMFILE* sf) {
/* checks */
/* .fsb: standard
* .fsb.ps3: various Guitar Hero (PS3)
* .fsb.xen: various Guitar Hero (X360/PC) */
if (!check_extensions(sf, "fsb,xen"))
if (!check_extensions(sf, "fsb,ps3,xen"))
goto fail;

View File

@ -19,7 +19,10 @@ VGMSTREAM* init_vgmstream_h4m(STREAMFILE* sf) {
!is_id32be(0x08,sf, "5\0\0\0"))
goto fail;
if (!check_extensions(sf, "h4m"))
/* checks */
/* .h4m: common
* .hvqm: Shrek: Extra Large (GC) */
if (!check_extensions(sf, "h4m,hvqm"))
goto fail;
/* header */

View File

@ -254,7 +254,7 @@ static int parse_musx_stream(STREAMFILE* sf, musx_header* musx) {
case 0x5749495F: /* "WII_" */
default_channels = 2;
default_sample_rate = 44100;
default_sample_rate = 32000;
musx->codec = DAT;
break;

View File

@ -572,13 +572,14 @@ fail:
return NULL;
}
/* .(mp)dsp - single header + interleaved dsp [Monopoly Party! (GC)] */
/* .STE - single header + interleaved dsp [Monopoly Party! (GC)] */
VGMSTREAM* init_vgmstream_ngc_mpdsp(STREAMFILE* sf) {
dsp_meta dspm = {0};
/* checks */
/* .mpdsp: renamed since standard .dsp would catch it otherwise */
if (!check_extensions(sf, "mpdsp"))
/* .ste: real extension
* .mpdsp: fake/renamed since standard .dsp would catch it otherwise */
if (!check_extensions(sf, "mpdsp,ste"))
goto fail;
/* at 0x48 is extra data that could help differenciating these DSPs, but seems like
@ -757,7 +758,7 @@ fail:
return NULL;
}
/* IDSP - from Next Level games [Super Mario Strikers (GC), Mario Strikers: Charged (Wii)] */
/* IDSP - from Next Level games [Super Mario Strikers (GC), Mario Strikers Charged (Wii), Spider-Man: Friend or Foe (Wii)] */
VGMSTREAM* init_vgmstream_idsp_nl(STREAMFILE* sf) {
dsp_meta dspm = {0};
@ -821,12 +822,14 @@ fail:
return NULL;
}
/* .ddsp - full interleaved dsp [The Sims 2: Pets (Wii)] */
/* .ddsp - full interleaved dsp [Shark Tale, (GC), The Sims 2: Pets (Wii), Wacky Races: Crash & Dash (Wii)] */
VGMSTREAM* init_vgmstream_dsp_ddsp(STREAMFILE* sf) {
dsp_meta dspm = {0};
/* checks */
if (!check_extensions(sf, "ddsp"))
/* .ddsp: assumed?
* .wav: Wacky Races: Crash & Dash (Wii) */
if (!check_extensions(sf, "ddsp,wav,lwav"))
goto fail;
dspm.channels = 2;