fix some glitches
This commit is contained in:
parent
bacf57bb65
commit
79fe54d4b6
|
@ -4889,11 +4889,11 @@ void DivEngine::playSub(bool preserveDrift, int goalRow) {
|
||||||
speedAB=false;
|
speedAB=false;
|
||||||
playing=true;
|
playing=true;
|
||||||
for (int i=0; i<song.systemLen; i++) disCont[i].dispatch->setSkipRegisterWrites(true);
|
for (int i=0; i<song.systemLen; i++) disCont[i].dispatch->setSkipRegisterWrites(true);
|
||||||
while (curOrder<goal) {
|
while (playing && curOrder<goal) {
|
||||||
if (nextTick(preserveDrift)) break;
|
if (nextTick(preserveDrift)) break;
|
||||||
}
|
}
|
||||||
int oldOrder=curOrder;
|
int oldOrder=curOrder;
|
||||||
while (curRow<goalRow) {
|
while (playing && curRow<goalRow) {
|
||||||
if (nextTick(preserveDrift)) break;
|
if (nextTick(preserveDrift)) break;
|
||||||
if (oldOrder!=curOrder) break;
|
if (oldOrder!=curOrder) break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -859,7 +859,7 @@ void DivEngine::nextRow() {
|
||||||
changeOrd=-1;
|
changeOrd=-1;
|
||||||
}
|
}
|
||||||
if (haltOn==DIV_HALT_PATTERN) halted=true;
|
if (haltOn==DIV_HALT_PATTERN) halted=true;
|
||||||
} else if (++curRow>=song.patLen) {
|
} else if (playing) if (++curRow>=song.patLen) {
|
||||||
nextOrder();
|
nextOrder();
|
||||||
if (haltOn==DIV_HALT_PATTERN) halted=true;
|
if (haltOn==DIV_HALT_PATTERN) halted=true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue