mirror of
https://github.com/vgmstream/vgmstream.git
synced 2024-11-25 15:20:21 +01:00
Document MIH/MIB/MIC/MSH details
This commit is contained in:
parent
45c2c6a172
commit
973a649fbe
@ -661,8 +661,8 @@ static const meta_info meta_info_list[] = {
|
||||
{meta_DSP_STM, "Nintendo STM header"},
|
||||
{meta_PS2_EXST, "EXST header"},
|
||||
{meta_PS2_SVAG, "Konami SVAG header"},
|
||||
{meta_PS2_MIB, "assumed MIB Interleaved file by .mib extension"},
|
||||
{meta_PS2_MIB_MIH, "assumed MIB with MIH Info Header file by .mib+.mih extension"},
|
||||
{meta_PS2_MIB, "Headerless/MIB PS-ADPCM raw header"},
|
||||
{meta_PS2_MIB_MIH, "Sony MultiStream MIH+MIB header"},
|
||||
{meta_DSP_MPDSP, "Single DSP header stereo by .mpdsp extension"},
|
||||
{meta_PS2_MIC, "assume KOEI MIC file by .mic extension"},
|
||||
{meta_DSP_JETTERS, "Double DSP header stereo by _lr.dsp extension"},
|
||||
@ -762,7 +762,7 @@ static const meta_info meta_info_list[] = {
|
||||
{meta_NGC_YMF, "YMF DSP Header"},
|
||||
{meta_PS2_CCC, "CCC Header"},
|
||||
{meta_PSX_FAG, "FAG Header"},
|
||||
{meta_PS2_MIHB, "MIH+MIB header"},
|
||||
{meta_PS2_MIHB, "Sony MultiStream MIC header"},
|
||||
{meta_DSP_WII_MUS, "mus header"},
|
||||
{meta_WII_SNG, "SNG DSP Header"},
|
||||
{meta_RSD2VAG, "Radical RSD2/VAG header"},
|
||||
@ -1009,7 +1009,7 @@ static const meta_info meta_info_list[] = {
|
||||
{meta_PCM_SRE, "Capcom .PCM+SRE header"},
|
||||
{meta_DSP_MCADPCM, "Bethesda .mcadpcm header"},
|
||||
{meta_UBI_LYN, "Ubisoft LyN RIFF header"},
|
||||
{meta_MSB_MSH, "Sony MSB+MSH header"},
|
||||
{meta_MSB_MSH, "Sony MultiStream MSH+MSB header"},
|
||||
{meta_OGG_RPGMV, "Ogg Vorbis (RPGMV header)"},
|
||||
{meta_OGG_ENO, "Ogg Vorbis (ENO header)"},
|
||||
{meta_TXTP, "TXTP generic header"},
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "meta.h"
|
||||
#include "../coding/coding.h"
|
||||
|
||||
/* MSB+MSH - Sony sfx container companion of MIH+MIB [namCollection - Ace Combat 2 (PS2) sfx, EyeToy Play (PS2)] */
|
||||
/* MSB+MSH - SCEE MultiStream flat bank [namCollection: Ace Combat 2 (PS2) sfx, EyeToy Play (PS2)] */
|
||||
VGMSTREAM * init_vgmstream_msb_msh(STREAMFILE *streamFile) {
|
||||
VGMSTREAM * vgmstream = NULL;
|
||||
STREAMFILE * streamHeader = NULL;
|
||||
|
@ -4,7 +4,7 @@
|
||||
static int check_psadpcm(STREAMFILE *streamFile);
|
||||
|
||||
|
||||
/* MIB+MIH - from namCollection: Ace Combat 2 (PS2), Rampage - Total Destruction (PS2) */
|
||||
/* MIB+MIH - SCEE MultiStream interleaved bank (header+data) [namCollection: Ace Combat 2 (PS2), Rampage: Total Destruction (PS2)] */
|
||||
/* headerless PS-ADPCM - from Katamary Damacy (PS2), Air (PS2), Aladdin: Nasira's Revenge (PS1)
|
||||
* (guesses interleave and channels by testing data and using the file extension, and finds
|
||||
* loops in PS-ADPCM flags; this is a crutch for convenience, consider using GENH/TXTH instead). */
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "meta.h"
|
||||
#include "../coding/coding.h"
|
||||
|
||||
/* MIC/MIHB - Merged MIH+MIB [Rogue Trooper (PS2), The Sims 2 (PS2)] */
|
||||
/* MIC/MIHB - SCEE MultiStream interleaved bank (merged MIH+MIB) [Rogue Trooper (PS2), The Sims 2 (PS2)] */
|
||||
VGMSTREAM * init_vgmstream_ps2_mihb(STREAMFILE *streamFile) {
|
||||
VGMSTREAM * vgmstream = NULL;
|
||||
off_t start_offset;
|
||||
@ -9,7 +9,7 @@ VGMSTREAM * init_vgmstream_ps2_mihb(STREAMFILE *streamFile) {
|
||||
int channel_count, loop_flag;
|
||||
|
||||
/* check extension */
|
||||
/* .mic: Rebellion Dev. games, .mihb: assumed? */
|
||||
/* .mic: official extension, .mihb: assumed? */
|
||||
if (!check_extensions(streamFile, "mic,mihb"))
|
||||
goto fail;
|
||||
if (read_32bitBE(0x00,streamFile) != 0x40000000) /* header size */
|
||||
@ -21,7 +21,7 @@ VGMSTREAM * init_vgmstream_ps2_mihb(STREAMFILE *streamFile) {
|
||||
|
||||
/* frame_size * frame_count * channels = data_size, but last frame has less usable data */
|
||||
{
|
||||
/* 0x04(1): 0x20? */
|
||||
/* 0x04: padding (0x20, MIH header must be multiple of 0x40) */
|
||||
frame_last = (uint16_t)read_16bitLE(0x05,streamFile);
|
||||
frame_size = read_32bitLE(0x10,streamFile);
|
||||
frame_count = read_32bitLE(0x14,streamFile);
|
||||
|
Loading…
Reference in New Issue
Block a user