2008-08-19 11:34:16 +00:00
|
|
|
#include "layout.h"
|
|
|
|
#include "../vgmstream.h"
|
|
|
|
|
|
|
|
/* set up for the block at the given offset */
|
2018-03-29 19:00:04 +02:00
|
|
|
void block_update_xvas(off_t block_offset, VGMSTREAM * vgmstream) {
|
2008-08-19 11:34:16 +00:00
|
|
|
int i;
|
|
|
|
|
|
|
|
vgmstream->current_block_offset = block_offset;
|
|
|
|
|
|
|
|
if((vgmstream->current_block_offset-get_streamfile_size(vgmstream->ch[0].streamfile))>(0x20000-0x20))
|
|
|
|
vgmstream->current_block_size = 0x20000-0x20;
|
|
|
|
else
|
|
|
|
vgmstream->current_block_size = vgmstream->current_block_offset-get_streamfile_size(vgmstream->ch[0].streamfile)-0x20;
|
|
|
|
|
|
|
|
vgmstream->next_block_offset =
|
|
|
|
vgmstream->current_block_offset +
|
|
|
|
(vgmstream->current_block_size + 0x20);
|
|
|
|
|
|
|
|
for (i=0;i<vgmstream->channels;i++) {
|
|
|
|
vgmstream->ch[i].offset = vgmstream->current_block_offset;
|
|
|
|
}
|
|
|
|
vgmstream->current_block_size /=2;
|
|
|
|
|
|
|
|
}
|