fix some glitches

This commit is contained in:
tildearrow 2022-02-17 03:20:08 -05:00
parent bacf57bb65
commit 79fe54d4b6
2 changed files with 3 additions and 3 deletions

View file

@ -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;
} }

View file

@ -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;
} }