mirror of
https://github.com/vgmstream/vgmstream.git
synced 2025-02-07 15:01:24 +01:00
RWS 0x80D: DSP-ADPCM initial sample history data
This commit is contained in:
parent
abbd226b36
commit
268c24efc6
@ -40,6 +40,7 @@ typedef struct {
|
||||
size_t block_layers_size;
|
||||
|
||||
off_t coefs_offset;
|
||||
off_t hist_offset;
|
||||
|
||||
char readable_name[STREAM_NAME_SIZE];
|
||||
} rws_header;
|
||||
@ -219,6 +220,7 @@ VGMSTREAM* init_vgmstream_rws(STREAMFILE* sf) {
|
||||
/* 0x04: approx size/loop related? (can be 0) */
|
||||
if (i+1 == rws.target_layer) {
|
||||
rws.coefs_offset = offset + 0x1c;
|
||||
rws.hist_offset = offset + 0x40;
|
||||
}
|
||||
offset += 0x60;
|
||||
}
|
||||
@ -322,12 +324,14 @@ VGMSTREAM* init_vgmstream_rws(STREAMFILE* sf) {
|
||||
break;
|
||||
|
||||
case 0xF86215B0: /* {F86215B0,31D5,4C29,BD,37,CD,BF,9B,D1,0C,53} DSP GC/Wii */
|
||||
/* Burnout 2 (GC), Alice in Wonderland (Wii) */
|
||||
/* Burnout 2 (GC), Alice in Wonderland (Wii), Call of Duty: Finest Hour (GC) */
|
||||
vgmstream->coding_type = coding_NGC_DSP;
|
||||
vgmstream->interleave_block_size = rws.block_size / 2;
|
||||
|
||||
/* get coefs (all channels share them; also seem fixed for all RWS) */
|
||||
dsp_read_coefs_be(vgmstream, sf, rws.coefs_offset, 0);
|
||||
/* get initial sample history data (rarely used / often empty) */
|
||||
dsp_read_hist_be(vgmstream, sf, rws.hist_offset, 0);
|
||||
|
||||
vgmstream->num_samples = dsp_bytes_to_samples(stream_size, rws.channels);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user