diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 19f9e3310..291ceff12 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -8717,12 +8717,14 @@ void FurnaceGUI::drawInsEdit() { for (int i=0; ilen; i++) { int val=0; + bool bit30=false; if ((i-macroOffX)>=0 && (i-macroOffX)len) { - val=oldData[i-macroOffX]+macroOffY; + bit30=enBit30(oldData[i-macroOffX]); + val=deBit30(oldData[i-macroOffX])+macroOffY; if (vallastMacroDesc.max) val=lastMacroDesc.max; } - lastMacroDesc.macro->val[i]=val; + lastMacroDesc.macro->val[i]=val^(bit30?0x40000000:0); } if (lastMacroDesc.macro->looplen) { @@ -8755,13 +8757,15 @@ void FurnaceGUI::drawInsEdit() { for (int i=0; ilen; i++) { int val=0; + bool bit30=false; double posX=round((double)i*(100.0/macroScaleX)-0.01); if (posX>=0 && posXlen) { - val=round((double)oldData[(int)posX]*(macroScaleY/100.0)); + val=round((double)deBit30(oldData[(int)posX])*(macroScaleY/100.0)); + bit30=enBit30(oldData[(int)posX]); if (vallastMacroDesc.max) val=lastMacroDesc.max; } - lastMacroDesc.macro->val[i]=val; + lastMacroDesc.macro->val[i]=val^(bit30?0x40000000:0); } ImGui::CloseCurrentPopup();