diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 4785ee81..5153e1f6 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -5216,6 +5216,8 @@ FurnaceGUI::FurnaceGUI(): macroOffY(0), macroScaleX(100.0f), macroScaleY(100.0f), + macroRandMin(0), + macroRandMax(0), macroLoopDragStart(0,0), macroLoopDragAreaSize(0,0), macroLoopDragTarget(NULL), diff --git a/src/gui/gui.h b/src/gui/gui.h index b71fe368..1c8ee713 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1446,6 +1446,7 @@ class FurnaceGUI { FurnaceGUIMacroDesc lastMacroDesc; int macroOffX, macroOffY; float macroScaleX, macroScaleY; + int macroRandMin, macroRandMax; ImVec2 macroLoopDragStart; ImVec2 macroLoopDragAreaSize; diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index df92dd52..b5347cbe 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4556,6 +4556,28 @@ void FurnaceGUI::drawInsEdit() { } ImGui::EndMenu(); } + if (ImGui::BeginMenu("randomize...")) { + if (macroRandMinlastMacroDesc.max) macroRandMin=lastMacroDesc.max; + if (macroRandMaxlastMacroDesc.max) macroRandMax=lastMacroDesc.max; + ImGui::InputInt("Min",¯oRandMin,1,10); + ImGui::InputInt("Max",¯oRandMax,1,10); + if (ImGui::Button("randomize")) { + for (int i=0; ilen; i++) { + int val=0; + if (macroRandMax<=macroRandMin) { + val=macroRandMin; + } else { + val=macroRandMin+(rand()%(macroRandMax-macroRandMin+1)); + } + lastMacroDesc.macro->val[i]=val; + } + + ImGui::CloseCurrentPopup(); + } + ImGui::EndMenu(); + } ImGui::EndPopup(); }