diff --git a/src/engine/macroInt.cpp b/src/engine/macroInt.cpp index 4cb7c4c51..4cef6ad1c 100644 --- a/src/engine/macroInt.cpp +++ b/src/engine/macroInt.cpp @@ -10,10 +10,14 @@ if (has) { \ val=source[pos++]; \ if (sourceRel>=0 && pos>sourceRel && !released) { \ - pos--; \ + if (sourceLoop=0 && sourceLoop=sourceLen) { \ - if (sourceLoop=0) { \ + if (sourceLoop=0 && (sourceLoop>=sourceRel || sourceRel>=sourceLen)) { \ pos=sourceLoop; \ } else { \ has=false; \ diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 5a4f279b4..98bae99d6 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -1441,10 +1441,10 @@ String macroHoverLoop(int id, float val) { asFloat[j]=macro[j+macroDragScroll]+macroDispMin; \ asInt[j]=macro[j+macroDragScroll]+macroDispMin+bitOff; \ } \ - if (j+macroDragScroll>=macroLen) { \ + if (j+macroDragScroll>=macroLen || (j+macroDragScroll>macroRel && macroLoop=macroLoop)|((macroRel!=-1 && (j+macroDragScroll)==macroRel)<<1); \ + loopIndicator[j]=((macroLoop!=-1 && (j+macroDragScroll)>=macroLoop))|((macroRel!=-1 && (j+macroDragScroll)==macroRel)<<1); \ } \ } \ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding,ImVec2(0.0f,0.0f)); \ @@ -1527,10 +1527,10 @@ String macroHoverLoop(int id, float val) { asFloat[j]=macro[j+macroDragScroll]; \ asInt[j]=macro[j+macroDragScroll]; \ } \ - if (j+macroDragScroll>=macroLen) { \ + if (j+macroDragScroll>=macroLen || (j+macroDragScroll>macroRel && macroLoop=macroLoop)|((macroRel!=-1 && (j+macroDragScroll)==macroRel)<<1); \ + loopIndicator[j]=((macroLoop!=-1 && (j+macroDragScroll)>=macroLoop))|((macroRel!=-1 && (j+macroDragScroll)==macroRel)<<1); \ } \ } \ ImGui::PushStyleVar(ImGuiStyleVar_FramePadding,ImVec2(0.0f,0.0f)); \