From fb8d453c947ccf8498079f3e9a1f4dff974ff5b7 Mon Sep 17 00:00:00 2001 From: bnnm Date: Sun, 20 Jan 2019 00:50:39 +0100 Subject: [PATCH] Add .lasf (.asf) for consistency --- README.md | 2 +- src/formats.c | 1 + src/meta/asf.c | 4 +++- src/meta/ea_1snh.c | 5 +++-- src/meta/ea_schl.c | 3 ++- src/meta/ea_schl_fixed.c | 6 ++++-- 6 files changed, 14 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c4ea73a7..d8c456f6 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ them playable through vgmstream. - .aac to .laac (tri-Ace games) - .ac3 to .lac3 (standard AC3) - .aif to .aiffl or .aifcl (standard Mac AIF) -- .asf to .sng (EA games) +- .asf to .lasf (EA games, Argonaut ASF) - .flac to .lflac (standard FLAC) - .mp2 to .lmp2 (standard MP2) - .mp3 to .lmp3 (standard MP3) diff --git a/src/formats.c b/src/formats.c index 63813897..7f35538b 100644 --- a/src/formats.c +++ b/src/formats.c @@ -206,6 +206,7 @@ static const char* extension_list[] = { "l", "laac", //fake extension for .aac (tri-Ace) "lac3", //fake extension for .ac3, FFmpeg/not parsed + "lasf", //fake extension for .asf (various) "leg", "lflac", //fake extension for .flac, FFmpeg/not parsed "lin", diff --git a/src/meta/asf.c b/src/meta/asf.c index fc094d36..57ecfae8 100644 --- a/src/meta/asf.c +++ b/src/meta/asf.c @@ -9,7 +9,9 @@ VGMSTREAM * init_vgmstream_asf(STREAMFILE *streamFile) { /* checks */ - if (!check_extensions(streamFile, "asf")) + /* .asf: original + * .lasf: fake for plugins */ + if (!check_extensions(streamFile, "asf,lasf")) goto fail; if (read_32bitBE(0x00,streamFile) != 0x41534600) /* "ASF\0" */ diff --git a/src/meta/ea_1snh.c b/src/meta/ea_1snh.c index 3091383d..2ec1da29 100644 --- a/src/meta/ea_1snh.c +++ b/src/meta/ea_1snh.c @@ -40,11 +40,12 @@ VGMSTREAM * init_vgmstream_ea_1snh(STREAMFILE *streamFile) { /* checks */ - /* .asf/as4: common + /* .asf/as4: common, + * .lasf: fake for plugins * .cnk: some PS games * .sng: fake for plugins (to mimic EA SCHl's common extension) * .uv/tgq: some SAT games (video only?) */ - if (!check_extensions(streamFile,"asf,as4,cnk,sng,uv,tgq")) + if (!check_extensions(streamFile,"asf,lasf,as4,cnk,sng,uv,tgq")) goto fail; if (read_32bitBE(0x00,streamFile) != 0x31534E68 && /* "1SNh" */ diff --git a/src/meta/ea_schl.c b/src/meta/ea_schl.c index c39266a3..fbe12d03 100644 --- a/src/meta/ea_schl.c +++ b/src/meta/ea_schl.c @@ -116,6 +116,7 @@ VGMSTREAM * init_vgmstream_ea_schl(STREAMFILE *streamFile) { /* check extension */ /* they don't seem enforced by EA's tools but usually: * .asf: ~early (audio stream file?) [ex. Need for Speed (PC)] + * .lasf: fake for plugins * .str: ~early [ex. FIFA 2002 (PS1)] * .eam: ~mid (fake?) * .exa: ~mid [ex. 007 - From Russia with Love] @@ -129,7 +130,7 @@ VGMSTREAM * init_vgmstream_ea_schl(STREAMFILE *streamFile) { * .gsf: 007 - Everything or Nothing (GC) * .mus: map/mpf+mus only? * (extensionless): SSX (PS2) (inside .big) */ - if (!check_extensions(streamFile,"asf,str,eam,exa,sng,aud,sx,xa,strm,stm,hab,xsf,gsf,mus,")) + if (!check_extensions(streamFile,"asf,lasf,str,eam,exa,sng,aud,sx,xa,strm,stm,hab,xsf,gsf,mus,")) goto fail; /* check header */ diff --git a/src/meta/ea_schl_fixed.c b/src/meta/ea_schl_fixed.c index c374f874..eb5f4873 100644 --- a/src/meta/ea_schl_fixed.c +++ b/src/meta/ea_schl_fixed.c @@ -29,8 +29,10 @@ VGMSTREAM * init_vgmstream_ea_schl_fixed(STREAMFILE *streamFile) { ea_header ea = {0}; - /* check extension */ - if (!check_extensions(streamFile,"asf")) + /* checks */ + /* .asf: original + * .lasf: fake for plugins */ + if (!check_extensions(streamFile,"asf,lasf")) goto fail; /* check header (see ea_schl.c for more info about blocks) */