Add EA SCHl .mpc videos [SSX Tricky (PS2)]

This commit is contained in:
bnnm 2024-02-25 23:10:34 +01:00
parent aa61b401ee
commit 2eb694f895

View File

@ -201,26 +201,31 @@ VGMSTREAM* init_vgmstream_ea_schl_video(STREAMFILE* sf) {
int32_t(*read_32bit)(off_t, STREAMFILE*); int32_t(*read_32bit)(off_t, STREAMFILE*);
/* check extension */ /* checks */
/* .uv: early */ /* .uv: early */
/* .dct: early-mid [ex. Need for Speed II SE (PC), FIFA 98 (PC)] */ /* .dct: early-mid [ex. Need for Speed II SE (PC), FIFA 98 (PC)] */
/* .wve: early-mid [Madden NFL 99 (PC)] */ /* .wve: early-mid [Madden NFL 99 (PC)] */
/* .mad: mid */ /* .mad: mid */
/* .vp6: late */ /* .vp6: late */
if (check_extensions(sf, "uv,dct")) { /* .mpc: SSX Tricky (PS2) */
/* starts with audio header block */ if (is_id32be(0x00, sf, "SCHl")) {
if (read_32bitBE(0x00, sf) != EA_BLOCKID_HEADER) /* "SCHl" */ if (!check_extensions(sf, "uv,dct"))
goto fail; return NULL;
} else if (check_extensions(sf, "mad,wve")) { }
/* check initial movie block id */ else if (is_id32be(0x00, sf, "MADk")) {
if (read_32bitBE(0x00, sf) != 0x4D41446B) /* "MADk" */ if (!check_extensions(sf, "mad,wve"))
goto fail; return NULL;
} else if (check_extensions(sf, "vp6")) { }
/* check initial movie block id */ else if (is_id32be(0x00, sf, "MVhd")) {
if (read_32bitBE(0x00, sf) != 0x4D566864) /* "MVhd" */ if (!check_extensions(sf, "vp6"))
goto fail; return NULL;
} else { }
goto fail; else if (is_id32be(0x00, sf, "MPCh")) {
if (!check_extensions(sf, "mpc,lmpc"))
return NULL;
}
else {
return NULL;
} }
/* use block size to check endianness */ /* use block size to check endianness */