From 7e6ffd7e12341c2467a798bdb855b8facddc02ab Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 3 Jul 2023 22:49:59 -0500 Subject: [PATCH] fix wave synth ignoring wave set in wave macro when wave did not change issue #1194 --- src/engine/platform/n163.cpp | 2 +- src/engine/waveSynth.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/n163.cpp b/src/engine/platform/n163.cpp index ead44cc1e..1063349df 100644 --- a/src/engine/platform/n163.cpp +++ b/src/engine/platform/n163.cpp @@ -207,7 +207,7 @@ void DivPlatformN163::tick(bool sysTick) { } } if (chan[i].std.wave.had) { - if (chan[i].wave!=chan[i].std.wave.val) { + if (chan[i].wave!=chan[i].std.wave.val || chan[i].ws.activeChanged()) { chan[i].wave=chan[i].std.wave.val; chan[i].ws.changeWave1(chan[i].wave); if (chan[i].waveMode&0x2) { diff --git a/src/engine/waveSynth.cpp b/src/engine/waveSynth.cpp index 25f68eac2..cdb696881 100644 --- a/src/engine/waveSynth.cpp +++ b/src/engine/waveSynth.cpp @@ -27,6 +27,7 @@ bool DivWaveSynth::activeChanged() { activeChangedB=false; return true; } + if (first) return true; return false; }