Fixed playptmod length detection when testing for vblank timing

CQTexperiment
Chris Moeller 2014-04-24 18:11:53 -07:00
parent 1590770af6
commit 7876eed573
2 changed files with 11 additions and 3 deletions

View File

@ -2844,6 +2844,7 @@ void playptmod_Play(void *_p, unsigned int startOrder)
memcpy(p->source->sampleData, p->source->originalSampleData, p->source->head.totalSampleSize);
memset(p->orderPlayed, 0, sizeof(p->orderPlayed));
p->loopCounter = 0;
p->orderPlayed[startOrder] = 1;
p->modulePlaying = true;
}

View File

@ -85,9 +85,16 @@ BOOL probe_length( void * ptmod, unsigned long * intro_length, unsigned long * l
if ( !probe_length(mod, &normal_intro_length, &normal_loop_length, 0, data, size, track_num) )
return NO;
if ( can_be_vblank && !probe_length(mod, &vblank_intro_length, &vblank_loop_length, 1, data, size, track_num) )
return NO;
else vblank_intro_length = 0, vblank_loop_length = 0;
if ( can_be_vblank )
{
if ( !probe_length(mod, &vblank_intro_length, &vblank_loop_length, 1, data, size, track_num) )
return NO;
}
else
{
vblank_intro_length = 0;
vblank_loop_length = 0;
}
playptmod_Free(mod);