GUI: add "scale" option to find/replace
This commit is contained in:
		
							parent
							
								
									83386d082d
								
							
						
					
					
						commit
						b0c2b10135
					
				| 
						 | 
					@ -39,6 +39,7 @@ const char* queryReplaceModes[GUI_QUERY_REPLACE_MAX]={
 | 
				
			||||||
  "set",
 | 
					  "set",
 | 
				
			||||||
  "add",
 | 
					  "add",
 | 
				
			||||||
  "add (overflow)",
 | 
					  "add (overflow)",
 | 
				
			||||||
 | 
					  "scale",
 | 
				
			||||||
  "clear"
 | 
					  "clear"
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -292,6 +293,8 @@ void FurnaceGUI::doReplace() {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        case GUI_QUERY_REPLACE_SCALE:
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
        case GUI_QUERY_REPLACE_CLEAR:
 | 
					        case GUI_QUERY_REPLACE_CLEAR:
 | 
				
			||||||
          p->data[i.y][0]=0;
 | 
					          p->data[i.y][0]=0;
 | 
				
			||||||
          p->data[i.y][1]=0;
 | 
					          p->data[i.y][1]=0;
 | 
				
			||||||
| 
						 | 
					@ -314,6 +317,13 @@ void FurnaceGUI::doReplace() {
 | 
				
			||||||
        case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
					        case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
				
			||||||
          if (p->data[i.y][2]>=0) p->data[i.y][2]=(p->data[i.y][2]+queryReplaceIns)&0xff;
 | 
					          if (p->data[i.y][2]>=0) p->data[i.y][2]=(p->data[i.y][2]+queryReplaceIns)&0xff;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        case GUI_QUERY_REPLACE_SCALE:
 | 
				
			||||||
 | 
					          if (p->data[i.y][2]>=0) {
 | 
				
			||||||
 | 
					            p->data[i.y][2]=(p->data[i.y][2]*queryReplaceIns)/100;
 | 
				
			||||||
 | 
					            if (p->data[i.y][2]<0) p->data[i.y][2]=0;
 | 
				
			||||||
 | 
					            if (p->data[i.y][2]>255) p->data[i.y][2]=255;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
        case GUI_QUERY_REPLACE_CLEAR:
 | 
					        case GUI_QUERY_REPLACE_CLEAR:
 | 
				
			||||||
          p->data[i.y][2]=-1;
 | 
					          p->data[i.y][2]=-1;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
| 
						 | 
					@ -335,6 +345,13 @@ void FurnaceGUI::doReplace() {
 | 
				
			||||||
        case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
					        case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
				
			||||||
          if (p->data[i.y][3]>=0) p->data[i.y][3]=(p->data[i.y][3]+queryReplaceVol)&0xff;
 | 
					          if (p->data[i.y][3]>=0) p->data[i.y][3]=(p->data[i.y][3]+queryReplaceVol)&0xff;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        case GUI_QUERY_REPLACE_SCALE:
 | 
				
			||||||
 | 
					          if (p->data[i.y][3]>=0) {
 | 
				
			||||||
 | 
					            p->data[i.y][3]=(p->data[i.y][3]*queryReplaceVol)/100;
 | 
				
			||||||
 | 
					            if (p->data[i.y][3]<0) p->data[i.y][3]=0;
 | 
				
			||||||
 | 
					            if (p->data[i.y][3]>255) p->data[i.y][3]=255;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
        case GUI_QUERY_REPLACE_CLEAR:
 | 
					        case GUI_QUERY_REPLACE_CLEAR:
 | 
				
			||||||
          p->data[i.y][3]=-1;
 | 
					          p->data[i.y][3]=-1;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
| 
						 | 
					@ -402,6 +419,13 @@ void FurnaceGUI::doReplace() {
 | 
				
			||||||
          case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
					          case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
				
			||||||
            if (p->data[i.y][4+pos*2]>=0) p->data[i.y][4+pos*2]=(p->data[i.y][4+pos*2]+queryReplaceEffect[j])&0xff;
 | 
					            if (p->data[i.y][4+pos*2]>=0) p->data[i.y][4+pos*2]=(p->data[i.y][4+pos*2]+queryReplaceEffect[j])&0xff;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
 | 
					          case GUI_QUERY_REPLACE_SCALE:
 | 
				
			||||||
 | 
					            if (p->data[i.y][4+pos*2]>=0) {
 | 
				
			||||||
 | 
					              p->data[i.y][4+pos*2]=(p->data[i.y][4+pos*2]*queryReplaceEffect[j])/100;
 | 
				
			||||||
 | 
					              if (p->data[i.y][4+pos*2]<0) p->data[i.y][4+pos*2]=0;
 | 
				
			||||||
 | 
					              if (p->data[i.y][4+pos*2]>255) p->data[i.y][4+pos*2]=255;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
          case GUI_QUERY_REPLACE_CLEAR:
 | 
					          case GUI_QUERY_REPLACE_CLEAR:
 | 
				
			||||||
            p->data[i.y][4+pos*2]=-1;
 | 
					            p->data[i.y][4+pos*2]=-1;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
| 
						 | 
					@ -423,6 +447,13 @@ void FurnaceGUI::doReplace() {
 | 
				
			||||||
          case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
					          case GUI_QUERY_REPLACE_ADD_OVERFLOW:
 | 
				
			||||||
            if (p->data[i.y][5+pos*2]>=0) p->data[i.y][5+pos*2]=(p->data[i.y][5+pos*2]+queryReplaceEffectVal[j])&0xff;
 | 
					            if (p->data[i.y][5+pos*2]>=0) p->data[i.y][5+pos*2]=(p->data[i.y][5+pos*2]+queryReplaceEffectVal[j])&0xff;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
 | 
					          case GUI_QUERY_REPLACE_SCALE:
 | 
				
			||||||
 | 
					            if (p->data[i.y][5+pos*2]>=0) {
 | 
				
			||||||
 | 
					              p->data[i.y][5+pos*2]=(p->data[i.y][5+pos*2]*queryReplaceEffectVal[j])/100;
 | 
				
			||||||
 | 
					              if (p->data[i.y][5+pos*2]<0) p->data[i.y][5+pos*2]=0;
 | 
				
			||||||
 | 
					              if (p->data[i.y][5+pos*2]>255) p->data[i.y][5+pos*2]=255;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
          case GUI_QUERY_REPLACE_CLEAR:
 | 
					          case GUI_QUERY_REPLACE_CLEAR:
 | 
				
			||||||
            p->data[i.y][5+pos*2]=-1;
 | 
					            p->data[i.y][5+pos*2]=-1;
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
| 
						 | 
					@ -919,6 +950,8 @@ void FurnaceGUI::drawFindReplace() {
 | 
				
			||||||
              if (queryReplaceNote<-180) queryReplaceNote=-180;
 | 
					              if (queryReplaceNote<-180) queryReplaceNote=-180;
 | 
				
			||||||
              if (queryReplaceNote>180) queryReplaceNote=180;
 | 
					              if (queryReplaceNote>180) queryReplaceNote=180;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					          } else if (queryReplaceNoteMode==GUI_QUERY_REPLACE_SCALE) {
 | 
				
			||||||
 | 
					            ImGui::Text("INVALID");
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          ImGui::EndDisabled();
 | 
					          ImGui::EndDisabled();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -941,6 +974,13 @@ void FurnaceGUI::drawFindReplace() {
 | 
				
			||||||
              if (queryReplaceIns<-255) queryReplaceIns=-255;
 | 
					              if (queryReplaceIns<-255) queryReplaceIns=-255;
 | 
				
			||||||
              if (queryReplaceIns>255) queryReplaceIns=255;
 | 
					              if (queryReplaceIns>255) queryReplaceIns=255;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					          } else if (queryReplaceInsMode==GUI_QUERY_REPLACE_SCALE) {
 | 
				
			||||||
 | 
					            if (queryReplaceIns<0) queryReplaceIns=0;
 | 
				
			||||||
 | 
					            if (queryReplaceIns>400) queryReplaceIns=400;
 | 
				
			||||||
 | 
					            if (ImGui::InputInt("##IRValue",&queryReplaceIns,1,12)) {
 | 
				
			||||||
 | 
					              if (queryReplaceIns<0) queryReplaceIns=0;
 | 
				
			||||||
 | 
					              if (queryReplaceIns>400) queryReplaceIns=400;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          ImGui::EndDisabled();
 | 
					          ImGui::EndDisabled();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -963,6 +1003,13 @@ void FurnaceGUI::drawFindReplace() {
 | 
				
			||||||
              if (queryReplaceVol<-255) queryReplaceVol=-255;
 | 
					              if (queryReplaceVol<-255) queryReplaceVol=-255;
 | 
				
			||||||
              if (queryReplaceVol>255) queryReplaceVol=255;
 | 
					              if (queryReplaceVol>255) queryReplaceVol=255;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					          } else if (queryReplaceVolMode==GUI_QUERY_REPLACE_SCALE) {
 | 
				
			||||||
 | 
					            if (queryReplaceVol<0) queryReplaceVol=0;
 | 
				
			||||||
 | 
					            if (queryReplaceVol>400) queryReplaceVol=400;
 | 
				
			||||||
 | 
					            if (ImGui::InputInt("##VRValue",&queryReplaceVol,1,12)) {
 | 
				
			||||||
 | 
					              if (queryReplaceVol<0) queryReplaceVol=0;
 | 
				
			||||||
 | 
					              if (queryReplaceVol>400) queryReplaceVol=400;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          ImGui::EndDisabled();
 | 
					          ImGui::EndDisabled();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -987,6 +1034,13 @@ void FurnaceGUI::drawFindReplace() {
 | 
				
			||||||
                if (queryReplaceEffect[i]<-255) queryReplaceEffect[i]=-255;
 | 
					                if (queryReplaceEffect[i]<-255) queryReplaceEffect[i]=-255;
 | 
				
			||||||
                if (queryReplaceEffect[i]>255) queryReplaceEffect[i]=255;
 | 
					                if (queryReplaceEffect[i]>255) queryReplaceEffect[i]=255;
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
 | 
					            } else if (queryReplaceEffectMode[i]==GUI_QUERY_REPLACE_SCALE) {
 | 
				
			||||||
 | 
					              if (queryReplaceEffect[i]<0) queryReplaceEffect[i]=0;
 | 
				
			||||||
 | 
					              if (queryReplaceEffect[i]>400) queryReplaceEffect[i]=400;
 | 
				
			||||||
 | 
					              if (ImGui::InputInt("##ERValue",&queryReplaceEffect[i],1,12)) {
 | 
				
			||||||
 | 
					                if (queryReplaceEffect[i]<0) queryReplaceEffect[i]=0;
 | 
				
			||||||
 | 
					                if (queryReplaceEffect[i]>400) queryReplaceEffect[i]=400;
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            ImGui::EndDisabled();
 | 
					            ImGui::EndDisabled();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1009,10 +1063,16 @@ void FurnaceGUI::drawFindReplace() {
 | 
				
			||||||
                if (queryReplaceEffectVal[i]<-255) queryReplaceEffectVal[i]=-255;
 | 
					                if (queryReplaceEffectVal[i]<-255) queryReplaceEffectVal[i]=-255;
 | 
				
			||||||
                if (queryReplaceEffectVal[i]>255) queryReplaceEffectVal[i]=255;
 | 
					                if (queryReplaceEffectVal[i]>255) queryReplaceEffectVal[i]=255;
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
 | 
					            } else if (queryReplaceEffectValMode[i]==GUI_QUERY_REPLACE_SCALE) {
 | 
				
			||||||
 | 
					              if (queryReplaceEffectVal[i]<0) queryReplaceEffectVal[i]=0;
 | 
				
			||||||
 | 
					              if (queryReplaceEffectVal[i]>400) queryReplaceEffectVal[i]=400;
 | 
				
			||||||
 | 
					              if (ImGui::InputInt("##ERValueV",&queryReplaceEffectVal[i],1,12)) {
 | 
				
			||||||
 | 
					                if (queryReplaceEffectVal[i]<0) queryReplaceEffectVal[i]=0;
 | 
				
			||||||
 | 
					                if (queryReplaceEffectVal[i]>400) queryReplaceEffectVal[i]=400;
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            ImGui::EndDisabled();
 | 
					            ImGui::EndDisabled();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
            ImGui::PopID();
 | 
					            ImGui::PopID();
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -885,6 +885,7 @@ enum FurnaceGUIFindQueryReplaceModes {
 | 
				
			||||||
  GUI_QUERY_REPLACE_SET=0,
 | 
					  GUI_QUERY_REPLACE_SET=0,
 | 
				
			||||||
  GUI_QUERY_REPLACE_ADD,
 | 
					  GUI_QUERY_REPLACE_ADD,
 | 
				
			||||||
  GUI_QUERY_REPLACE_ADD_OVERFLOW,
 | 
					  GUI_QUERY_REPLACE_ADD_OVERFLOW,
 | 
				
			||||||
 | 
					  GUI_QUERY_REPLACE_SCALE,
 | 
				
			||||||
  GUI_QUERY_REPLACE_CLEAR,
 | 
					  GUI_QUERY_REPLACE_CLEAR,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GUI_QUERY_REPLACE_MAX
 | 
					  GUI_QUERY_REPLACE_MAX
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue