Merge pull request #27 from Gaerzi/master

Some DOSBox Raw OPL v2 indices were off by one.
This commit is contained in:
rheit 2014-02-24 15:22:20 -06:00
commit 3437b08c1a

View file

@ -104,16 +104,19 @@ fail: delete[] scoredata;
}
else if (((DWORD *)scoredata)[2] == MAKE_ID(2,0,0,0))
{
if (scoredata[20] != 0)
{
Printf("Unsupported DOSBox Raw OPL format %d\n", scoredata[20]);
goto fail;
}
bool okay = true;
if (scoredata[21] != 0)
{
Printf("Unsupported DOSBox Raw OPL compression %d\n", scoredata[21]);
goto fail;
Printf("Unsupported DOSBox Raw OPL format %d\n", scoredata[20]);
okay = false;
}
if (scoredata[22] != 0)
{
Printf("Unsupported DOSBox Raw OPL compression %d\n", scoredata[21]);
okay = false;
}
if (!okay)
goto fail;
RawPlayer = DosBox2;
SamplesPerTick = OPL_SAMPLE_RATE / 1000;
int headersize = 0x1A + scoredata[0x19];
@ -264,7 +267,7 @@ bool OPLmusicBlock::ServiceStream (void *buff, int numbytes)
{
for (i = 0; i < io->NumChips; ++i)
{
io->chips[i]->Update(samples1, samplesleft);
io->chips[i]->Update(samples1, numsamples);
}
OffsetSamples(samples1, numsamples << stereoshift);
}