mirror of
https://github.com/vgmstream/vgmstream.git
synced 2025-01-26 16:13:47 +01:00
f0f2345a24
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@205 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
27 lines
1002 B
C
27 lines
1002 B
C
#include "layout.h"
|
|
#include "../vgmstream.h"
|
|
|
|
/* set up for the block at the given offset */
|
|
void caf_block_update(off_t block_offset, VGMSTREAM * vgmstream) {
|
|
int i;
|
|
|
|
vgmstream->current_block_offset = block_offset;
|
|
vgmstream->current_block_size = read_32bitBE(
|
|
vgmstream->current_block_offset+0x14,
|
|
vgmstream->ch[0].streamfile);
|
|
vgmstream->next_block_offset = vgmstream->current_block_offset +
|
|
(off_t)read_32bitBE(vgmstream->current_block_offset+0x04,
|
|
vgmstream->ch[0].streamfile);
|
|
|
|
for (i=0;i<vgmstream->channels;i++) {
|
|
vgmstream->ch[i].offset = vgmstream->current_block_offset +
|
|
read_32bitBE(block_offset+0x10+(8*i),vgmstream->ch[0].streamfile);
|
|
}
|
|
|
|
/* coeffs */
|
|
for (i=0;i<16;i++) {
|
|
vgmstream->ch[0].adpcm_coef[i] = read_16bitBE(block_offset+0x34+(2*i),vgmstream->ch[0].streamfile);
|
|
vgmstream->ch[1].adpcm_coef[i] = read_16bitBE(block_offset+0x60+(2*i),vgmstream->ch[0].streamfile);
|
|
}
|
|
}
|