diff --git a/fb2k/in_vgmstream.cpp b/fb2k/in_vgmstream.cpp index 1711a05d..762f772f 100644 --- a/fb2k/in_vgmstream.cpp +++ b/fb2k/in_vgmstream.cpp @@ -282,6 +282,7 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension if(!stricmp_utf8(p_extension,"bmdx")) return 1; if(!stricmp_utf8(p_extension,"bns")) return 1; if(!stricmp_utf8(p_extension,"bnsf")) return 1; + if(!stricmp_utf8(p_extension,"bo2")) return 1; if(!stricmp_utf8(p_extension,"brstmspm")) return 1; if(!stricmp_utf8(p_extension,"brstm")) return 1; @@ -293,6 +294,7 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension if(!stricmp_utf8(p_extension,"dcs")) return 1; if(!stricmp_utf8(p_extension,"de2")) return 1; + if(!stricmp_utf8(p_extension,"ddsp")) return 1; if(!stricmp_utf8(p_extension,"dmsg")) return 1; if(!stricmp_utf8(p_extension,"dsp")) return 1; if(!stricmp_utf8(p_extension,"dtk")) return 1; @@ -336,6 +338,7 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension if(!stricmp_utf8(p_extension,"kces")) return 1; if(!stricmp_utf8(p_extension,"kcey")) return 1; + if(!stricmp_utf8(p_extension,"khv")) return 1; if(!stricmp_utf8(p_extension,"kraw")) return 1; if(!stricmp_utf8(p_extension,"leg")) return 1; @@ -350,6 +353,7 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension if(!stricmp_utf8(p_extension,"mic")) return 1; if(!stricmp_utf8(p_extension,"mihb")) return 1; if(!stricmp_utf8(p_extension,"mpdsp")) return 1; + if(!stricmp_utf8(p_extension,"mpds")) return 1; if(!stricmp_utf8(p_extension,"msa")) return 1; if(!stricmp_utf8(p_extension,"mss")) return 1; if(!stricmp_utf8(p_extension,"msvp")) return 1; @@ -384,6 +388,7 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension if(!stricmp_utf8(p_extension,"rsd")) return 1; if(!stricmp_utf8(p_extension,"rsf")) return 1; if(!stricmp_utf8(p_extension,"rstm")) return 1; + if(!stricmp_utf8(p_extension,"rvws")) return 1; if(!stricmp_utf8(p_extension,"rwar")) return 1; if(!stricmp_utf8(p_extension,"rwav")) return 1; if(!stricmp_utf8(p_extension,"rws")) return 1; @@ -441,11 +446,12 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension if(!stricmp_utf8(p_extension,"vas")) return 1; if(!stricmp_utf8(p_extension,"vb")) return 1; if(!stricmp_utf8(p_extension,"vgs")) return 1; + if(!stricmp_utf8(p_extension,"vgv")) return 1; if(!stricmp_utf8(p_extension,"vig")) return 1; + if(!stricmp_utf8(p_extension,"voi")) return 1; if(!stricmp_utf8(p_extension,"vpk")) return 1; if(!stricmp_utf8(p_extension,"vs")) return 1; if(!stricmp_utf8(p_extension,"vsf")) return 1; - if(!stricmp_utf8(p_extension,"vgv")) return 1; if(!stricmp_utf8(p_extension,"waa")) return 1; if(!stricmp_utf8(p_extension,"wac")) return 1; @@ -547,6 +553,7 @@ DECLARE_MULTIPLE_FILE_TYPE("BH2PCM Audio File (*.BH2PCM)", bh2pcm); DECLARE_MULTIPLE_FILE_TYPE("BMDX Audio File (*.BMDX)", bmdx); DECLARE_MULTIPLE_FILE_TYPE("BNS Audio File (*.BNS)", bns); DECLARE_MULTIPLE_FILE_TYPE("BNSF Audio File (*.BNSF)", bnsf); +DECLARE_MULTIPLE_FILE_TYPE("BO2 Audio File (*.BO2)", bo2); DECLARE_MULTIPLE_FILE_TYPE("BRSTM Audio File (*.BRSTM)", brstm); DECLARE_MULTIPLE_FILE_TYPE("BRSTM Audio File [2] (*.BRSTM)", brstmspm); @@ -558,6 +565,7 @@ DECLARE_MULTIPLE_FILE_TYPE("CNK Audio File (*.CNK)", cnk); DECLARE_MULTIPLE_FILE_TYPE("DCS Audio File (*.DCS)", dcs); DECLARE_MULTIPLE_FILE_TYPE("DE2 Audio File (*.DE2)", de2); +DECLARE_MULTIPLE_FILE_TYPE("DDSP Audio File (*.DDSP)", ddsp); DECLARE_MULTIPLE_FILE_TYPE("DMSG Audio File (*.DMSG)", dmsg); DECLARE_MULTIPLE_FILE_TYPE("DSP Audio File (*.DSP)", dsp); DECLARE_MULTIPLE_FILE_TYPE("DTK Audio File (*.DTK)", dtk); @@ -601,6 +609,7 @@ DECLARE_MULTIPLE_FILE_TYPE("JOE Audio File (*.JOE)", joe); DECLARE_MULTIPLE_FILE_TYPE("KCES Audio File (*.KCES)", kces); DECLARE_MULTIPLE_FILE_TYPE("KCEY Audio File (*.KCEY)", kcey); +DECLARE_MULTIPLE_FILE_TYPE("KHV Audio File (*.KHV)", khv); DECLARE_MULTIPLE_FILE_TYPE("KRAW Audio File (*.KRAW)", kraw); DECLARE_MULTIPLE_FILE_TYPE("LEG Audio File (*.LEG)", leg); @@ -615,6 +624,7 @@ DECLARE_MULTIPLE_FILE_TYPE("PS2 MIB Audio File (*.MIB)", mib); DECLARE_MULTIPLE_FILE_TYPE("PS2 MIC Audio File (*.MIC)", mic); DECLARE_MULTIPLE_FILE_TYPE("MIHB Audio File (*.MIHB)", mihb); DECLARE_MULTIPLE_FILE_TYPE("MPDSP Audio File (*.MPDSP)", mpdsp); +DECLARE_MULTIPLE_FILE_TYPE("MPDS Audio File (*.MPDS)", mpds); DECLARE_MULTIPLE_FILE_TYPE("MSA Audio File (*.MSA)", msa); DECLARE_MULTIPLE_FILE_TYPE("MSS Audio File (*.MSS)", mss); DECLARE_MULTIPLE_FILE_TYPE("MSVP Audio File (*.MSVP)", msvp); @@ -649,6 +659,7 @@ DECLARE_MULTIPLE_FILE_TYPE("RRDS Audio File (*.RRDS)", rrds); DECLARE_MULTIPLE_FILE_TYPE("RSD Audio File (*.RSD)", rsd); DECLARE_MULTIPLE_FILE_TYPE("RSF Audio File (*.RSF)", rsf); DECLARE_MULTIPLE_FILE_TYPE("RSTM Audio File (*.RSTM)", rstm); +DECLARE_MULTIPLE_FILE_TYPE("RVWS Audio File (*.RSTM)", rvws); DECLARE_MULTIPLE_FILE_TYPE("RWAR Audio File (*.RWSD)", rwar); DECLARE_MULTIPLE_FILE_TYPE("RWAV Audio File (*.RWAV)", rwav); DECLARE_MULTIPLE_FILE_TYPE("RWS Audio File (*.RWS)", rws); @@ -706,11 +717,12 @@ DECLARE_MULTIPLE_FILE_TYPE("VAG Audio File (*.VAG)", vag); DECLARE_MULTIPLE_FILE_TYPE("VAS Audio File (*.VAS)", vas); DECLARE_MULTIPLE_FILE_TYPE("VB Audio File (*.VB)", vb); DECLARE_MULTIPLE_FILE_TYPE("VGS Audio File (*.VGS)", vgs); +DECLARE_MULTIPLE_FILE_TYPE("VGV Audio File (*.VGV)", vgv); DECLARE_MULTIPLE_FILE_TYPE("VIG Audio File (*.VIG)", vig); +DECLARE_MULTIPLE_FILE_TYPE("VOI Audio File (*.VOI)", voi); DECLARE_MULTIPLE_FILE_TYPE("VPK Audio File (*.VPK)", vpk); DECLARE_MULTIPLE_FILE_TYPE("VS Audio File (*.VS)", vs); DECLARE_MULTIPLE_FILE_TYPE("VSF Audio File (*.VSF)", vsf); -DECLARE_MULTIPLE_FILE_TYPE("VGV Audio File (*.VGV)", vgv); DECLARE_MULTIPLE_FILE_TYPE("WAA Audio File (*.WAA)", waa); DECLARE_MULTIPLE_FILE_TYPE("WAC Audio File (*.WAC)", wac); diff --git a/readme.txt b/readme.txt index e732d760..a7fb2f8d 100644 --- a/readme.txt +++ b/readme.txt @@ -68,6 +68,7 @@ PS2/PSX ADPCM: - .ivb - .joe - .kces +- .khv - .leg - .mcg - .mib, .mi4 (w/ or w/o .mih) @@ -91,6 +92,7 @@ PS2/PSX ADPCM: - .smpl (w/ bad flags) - .ster - .str+.sth +- .str (MGAV blocked) - .sts - .svag - .svs @@ -113,13 +115,16 @@ GC/Wii DSP ADPCM: - .amts - .asr - .bns +- .bo2 - .capdsp - .cfn +- .ddsp - .dsp - - standard, with dual file stereo + - standard, optional dual file stereo - RS03 - Cstr - _lr.dsp + - MPDS - .gca - .gcm - .gsp+.gsp @@ -146,6 +151,7 @@ GC/Wii DSP ADPCM: - .tydsp - .vjdsp - .waa, .wac, .wad, .wam +- .was - .wsd - .wsi - .ydsp @@ -171,6 +177,7 @@ PCM: - .sps (16 bit) - .str (16 bit) - .xss (16 bit) +- .voi (16 bit) - .wb (16 bit) - .zsd (8 bit) diff --git a/src/Makefile b/src/Makefile index 841aa85e..f179f002 100644 --- a/src/Makefile +++ b/src/Makefile @@ -46,7 +46,7 @@ LAYOUT_OBJS=layout/ast_blocked.o \ layout/aax_layout.o \ layout/ivaud_layout.o \ layout/mxch_blocked.o \ - layout/mgav_blocked.o + layout/psx_mgav_blocked.o META_OBJS=meta/adx_header.o \ meta/afc_header.o \ diff --git a/src/coding/msadpcm_decoder.c b/src/coding/msadpcm_decoder.c index 9df0af95..f7365316 100644 --- a/src/coding/msadpcm_decoder.c +++ b/src/coding/msadpcm_decoder.c @@ -101,7 +101,6 @@ void decode_msadpcm_mono(VGMSTREAM * vgmstream, sample * outbuf, int32_t first_s int framesin; STREAMFILE *streamfile; off_t offset; - const int32_t orig_first_sample = first_sample; framesin = first_sample/get_vgmstream_samples_per_frame(vgmstream); first_sample = first_sample%get_vgmstream_samples_per_frame(vgmstream); diff --git a/src/meta/ngc_dsp_mpds.c b/src/meta/ngc_dsp_mpds.c index 67295cb8..67cc71d0 100644 --- a/src/meta/ngc_dsp_mpds.c +++ b/src/meta/ngc_dsp_mpds.c @@ -7,8 +7,7 @@ VGMSTREAM * init_vgmstream_ngc_dsp_mpds(STREAMFILE *streamFile) { char filename[260]; int loop_flag = 0; int channel_count; - off_t start_offset; - int ch1_header_start, ch2_header_start, ch1_start, ch2_start; + int ch1_start, ch2_start; /* check extension, case insensitive */ streamFile->get_name(streamFile,filename,sizeof(filename)); @@ -97,4 +96,4 @@ VGMSTREAM * init_vgmstream_ngc_dsp_mpds(STREAMFILE *streamFile) { fail: if (vgmstream) close_vgmstream(vgmstream); return NULL; -} \ No newline at end of file +} diff --git a/unix/data.c b/unix/data.c index e0c5b836..f95dcb09 100644 --- a/unix/data.c +++ b/unix/data.c @@ -45,6 +45,7 @@ gchar *vgmstream_exts [] = { "bmdx", "bns", "bnsf", + "bo2", "brstm", "brstmspm", @@ -56,6 +57,8 @@ gchar *vgmstream_exts [] = { "dcs", "de2", + "ddsp", + "dmsg", "dsp", "dtk", "dvi", @@ -97,6 +100,7 @@ gchar *vgmstream_exts [] = { "kces", "kcey", + "khv", "kraw", "leg", @@ -111,6 +115,7 @@ gchar *vgmstream_exts [] = { "mic", "mihb", "mpdsp", + "mpds", "msa", "mss", "msvp", @@ -144,6 +149,7 @@ gchar *vgmstream_exts [] = { "rsd", "rsf", "rstm", + "rvws", "rwar", "rwav", "rws", @@ -201,11 +207,12 @@ gchar *vgmstream_exts [] = { "vas", "vb", "vgs", + "vgv", "vig", + "voi", "vpk", "vs", "vsf", - "vgv", "waa", "wac",