EA: small cleanups

This commit is contained in:
EdnessP 2024-07-03 17:30:07 +03:00
parent f681a54462
commit 695b7c231b
6 changed files with 13 additions and 9 deletions

View File

@ -24,7 +24,7 @@ VGMSTREAM* init_vgmstream_ea_amb_eaac(STREAMFILE* sf) {
return NULL; return NULL;
read_u32 = guess_read_u32(0x00, sf); read_u32 = guess_read_u32(0x00, sf);
if (read_u32(0x00, sf) != 0x09) /* version? */ if (read_u32(0x00, sf) != 0x09) /* version */
return NULL; return NULL;
abk_offset = 0x40; abk_offset = 0x40;
@ -43,6 +43,10 @@ VGMSTREAM* init_vgmstream_ea_amb_eaac(STREAMFILE* sf) {
if (read_u32(0x0C, sf) != abk_size) if (read_u32(0x0C, sf) != abk_size)
goto fail; goto fail;
/* in case stricter checks are needed: */
//if (!is_id32be(abk_offset + abk_size, sf, "MOIR"))
// goto fail;
sf_abk = open_wrap_streamfile(sf); sf_abk = open_wrap_streamfile(sf);
sf_abk = open_clamp_streamfile(sf_abk, abk_offset, abk_size); sf_abk = open_clamp_streamfile(sf_abk, abk_offset, abk_size);
if (!sf_abk) goto fail; if (!sf_abk) goto fail;

View File

@ -14,7 +14,7 @@ VGMSTREAM* init_vgmstream_ea_mpf_mus_eaac(STREAMFILE* sf) {
return init_vgmstream_ea_mpf_mus_eaac_main(sf, NULL); return init_vgmstream_ea_mpf_mus_eaac_main(sf, NULL);
} }
/* .MSB/.MSX - EA Redwood Shores (MSB/MSX)+MUS [The Godfather (PS3/360), The Simpsons Game (PS3/360)] */ /* .MSB/MSX - EA Redwood Shores (MSB/MSX)+MUS [The Godfather (PS3/360), The Simpsons Game (PS3/360)] */
VGMSTREAM* init_vgmstream_ea_msb_mus_eaac(STREAMFILE* sf) { VGMSTREAM* init_vgmstream_ea_msb_mus_eaac(STREAMFILE* sf) {
/* container with MPF, extra info, and a pre-defined MUS filename */ /* container with MPF, extra info, and a pre-defined MUS filename */
VGMSTREAM* vgmstream = NULL; VGMSTREAM* vgmstream = NULL;

View File

@ -16,7 +16,7 @@ VGMSTREAM* init_vgmstream_ea_abk_schl(STREAMFILE* sf) {
return init_vgmstream_ea_abk_schl_main(sf); return init_vgmstream_ea_abk_schl_main(sf);
} }
/* .AMB/AMX - EA Redwood Shores variant [007: From Russia with Love, The Godfather (PC/PS2/Wii)] */ /* .AMB/AMX - EA Redwood Shores variant [007: From Russia with Love, The Godfather (PC/PS2/Xbox/Wii)] */
VGMSTREAM* init_vgmstream_ea_amb_schl(STREAMFILE* sf) { VGMSTREAM* init_vgmstream_ea_amb_schl(STREAMFILE* sf) {
/* container with .ABK ("ABKC") and .CSI ("MOIR") data */ /* container with .ABK ("ABKC") and .CSI ("MOIR") data */
VGMSTREAM* vgmstream = NULL; VGMSTREAM* vgmstream = NULL;

View File

@ -32,13 +32,13 @@ VGMSTREAM* init_vgmstream_ea_schl_fixed(STREAMFILE* sf) {
/* checks */ /* checks */
if (!is_id32be(0x00,sf, "SCHl")) if (!is_id32be(0x00,sf, "SCHl"))
goto fail; return NULL;
/* .asf: original [NHK 97 (PC)] /* .asf: original [NHK 97 (PC)]
* .lasf: fake for plugins * .lasf: fake for plugins
* .cnk: ps1 [NBA Live 97 (PS1)] */ * .cnk: ps1 [NBA Live 97 (PS1)] */
if (!check_extensions(sf,"asf,lasf,cnk")) if (!check_extensions(sf,"asf,lasf,cnk"))
goto fail; return NULL;
/* see ea_schl.c for more info about blocks */ /* see ea_schl.c for more info about blocks */
//TODO: handle SCCl? [NBA Live 97 (PS1)] //TODO: handle SCCl? [NBA Live 97 (PS1)]

View File

@ -15,7 +15,7 @@ VGMSTREAM* init_vgmstream_ea_hdr_dat(STREAMFILE* sf) {
/* checks */ /* checks */
if (!check_extensions(sf, "hdr")) if (!check_extensions(sf, "hdr"))
goto fail; return NULL;
/* main header is machine endian but it's not important here */ /* main header is machine endian but it's not important here */
/* 0x00: ID */ /* 0x00: ID */
@ -30,11 +30,11 @@ VGMSTREAM* init_vgmstream_ea_hdr_dat(STREAMFILE* sf) {
/* no nice way to validate these so we do what we can */ /* no nice way to validate these so we do what we can */
if (read_u16be(0x0a, sf) != 0) if (read_u16be(0x0a, sf) != 0)
goto fail; return NULL;
/* first offset is always zero */ /* first offset is always zero */
if (read_u16be(0x0c, sf) != 0) if (read_u16be(0x0c, sf) != 0)
goto fail; return NULL;
/* must be accompanied by DAT file with SCHl or VAG sounds */ /* must be accompanied by DAT file with SCHl or VAG sounds */
sf_dat = open_streamfile_by_ext(sf, "dat"); sf_dat = open_streamfile_by_ext(sf, "dat");

View File

@ -85,7 +85,7 @@ VGMSTREAM* init_vgmstream_ea_mpf_mus_schl(STREAMFILE* sf) {
return init_vgmstream_ea_mpf_mus_schl_main(sf, NULL); return init_vgmstream_ea_mpf_mus_schl_main(sf, NULL);
} }
/* .MSB/.MSX - EA Redwood Shores (MSB/MSX)+MUS [007: From Russia with Love, The Godfather (PC/PS2/Wii)] */ /* .MSB/MSX - EA Redwood Shores (MSB/MSX)+MUS [007: From Russia with Love, The Godfather (PC/PS2/Xbox/Wii)] */
VGMSTREAM* init_vgmstream_ea_msb_mus_schl(STREAMFILE* sf) { VGMSTREAM* init_vgmstream_ea_msb_mus_schl(STREAMFILE* sf) {
/* container with MPF, extra info, and a pre-defined MUS filename */ /* container with MPF, extra info, and a pre-defined MUS filename */
VGMSTREAM* vgmstream = NULL; VGMSTREAM* vgmstream = NULL;