properly check aiff playMode before deciding to use it for loop

this loop support may never be useful, bah


git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@269 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
This commit is contained in:
halleyscometsw 2008-07-01 16:27:27 +00:00
parent c566ee6f4b
commit ea9aad22e1

View File

@ -230,10 +230,11 @@ VGMSTREAM * init_vgmstream_aifc(STREAMFILE *streamFile) {
int start_marker; int start_marker;
int end_marker; int end_marker;
/* use the sustain loop */ /* use the sustain loop */
/* if playMode=ForwardLooping */
if (read_16bitBE(InstrumentChunkOffset+16,streamFile) == 1) {
start_marker = read_16bitBE(InstrumentChunkOffset+18,streamFile); start_marker = read_16bitBE(InstrumentChunkOffset+18,streamFile);
end_marker = read_16bitBE(InstrumentChunkOffset+20,streamFile); end_marker = read_16bitBE(InstrumentChunkOffset+20,streamFile);
/* check for sustain markers != 0 (invalid marker no) */ /* check for sustain markers != 0 (invalid marker no) */
/* There is a PlayMode flag, but 3DO games don't seem to use it */
if (start_marker && end_marker) { if (start_marker && end_marker) {
/* find start marker */ /* find start marker */
loop_start = find_marker(streamFile,MarkerChunkOffset,start_marker); loop_start = find_marker(streamFile,MarkerChunkOffset,start_marker);
@ -250,6 +251,7 @@ VGMSTREAM * init_vgmstream_aifc(STREAMFILE *streamFile) {
if (loop_start==loop_end) loop_flag = 0; if (loop_start==loop_end) loop_flag = 0;
} }
} }
}
/* build the VGMSTREAM */ /* build the VGMSTREAM */