From cb4174f7e51257006864e514a297cdf161c976d9 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Wed, 9 Sep 2020 14:09:40 +0900 Subject: [PATCH] Implement Drag and drop overlay --- DivaBot/TypeFace_API.jar | Bin 245839 -> 247775 bytes DivaBot/finish.png | Bin 0 -> 35627 bytes DivaBot/src/sig/Calibrator.java | 112 +++++++++++++++++++++++++++++++ DivaBot/src/sig/CustomRobot.java | 4 ++ DivaBot/src/sig/MyRobot.java | 46 +++++++++++-- DivaBot/src/sig/Overlay.java | 83 +++++++++++++++++++++++ 6 files changed, 240 insertions(+), 5 deletions(-) create mode 100644 DivaBot/finish.png create mode 100644 DivaBot/src/sig/Calibrator.java create mode 100644 DivaBot/src/sig/Overlay.java diff --git a/DivaBot/TypeFace_API.jar b/DivaBot/TypeFace_API.jar index 86dfba119177a671b9372e84758167dc78953c5d..113bb903d2976ce657d73e071ad15413190e5acf 100644 GIT binary patch delta 36116 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

Qz*=RwrPam9x5mg{>EoB{ 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 delta 34168 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 diff --git a/DivaBot/finish.png b/DivaBot/finish.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb543aa9e00e18a57cbc5e4885931e78e3b8a9c GIT binary patch literal 35627 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.ENDDRAG.x) { + int xTemp=MyRobot.STARTDRAG.x; + MyRobot.STARTDRAG.x=MyRobot.ENDDRAG.x; + MyRobot.ENDDRAG.x=xTemp; + } + if (MyRobot.STARTDRAG.y>MyRobot.ENDDRAG.y) { + int yTemp=MyRobot.STARTDRAG.y; + MyRobot.STARTDRAG.y=MyRobot.ENDDRAG.y; + MyRobot.ENDDRAG.y=yTemp; + } + + /*Rectangle currentPointer = new Rectangle( + x,y, + (int)Math.floor(x+width*0.03984375d), + (int)Math.floor(y+height*0.30833333333333333333333333333333d)); + calibrationline=currentPointer;*/ + failed=CalibrationStage1(p); + if (failed) {return;} + failed=CalibrationStage2(p); + if (failed) {return;} + p.setVisible(true); + MyRobot.CALIBRATIONSTATUS="First calibration set done: X"+(x-MyRobot.STARTDRAG.x)+" Y"+(y-MyRobot.STARTDRAG.y); +// failed=CalibrationStage3(p); +// if (failed) {return;} +// failed=CalibrationStage4(p); +// if (failed) {return;} + //MyRobot.CALIBRATIONSTATUS="First calibration set done: X"+(x-MyRobot.STARTDRAG.x)+" Y"+(y-MyRobot.STARTDRAG.y); + } + + private boolean CalibrationStage1(JPanel p) throws IOException, InterruptedException { + boolean calibrated=false; + int MAXTRIES=10000; + MyRobot.CALIBRATIONSTATUS="Calibration Stage 1..."; + p.repaint(); + //ImageIO.write(MYROBOT.getSizedCapture(new Rectangle(x,y,width,height)),"png",new File("capture.png")); + BufferedImage currentScreen = MyRobot.MYROBOT.getSizedCapture(new Rectangle(0,0,MyRobot.screenSize.width,MyRobot.screenSize.height)); + ImageIO.write(currentScreen.getSubimage(MyRobot.STARTDRAG.x,MyRobot.STARTDRAG.y,MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y),"png",new File("capture.png")); + while (!calibrated&&MAXTRIES>0) { + //Try moving left until the difference is too high or the colors are not right anymore. + MyRobot.STARTDRAG.x-=1; + //BufferedImage pixel = MYROBOT.getSizedCapture(new Rectangle(MyRobot.STARTDRAG.x,MyRobot.STARTDRAG.y,1,1)); + currentScreen = currentScreen.getSubimage(MyRobot.STARTDRAG.x,MyRobot.STARTDRAG.y,1,1); + ImageIO.write(currentScreen,"png",new File("capture_"+System.nanoTime()+".png")); + Color col = new Color(currentScreen.getRGB(0, 0)); + System.out.println("Checking "+col); + if (!(col.getRed()>=5&&col.getRed()<=40&& + col.getGreen()>=170&&col.getGreen()<=210&& + col.getBlue()>=205&&col.getBlue()<=250)) { + //This is the max X. Calibration on this side good. + MyRobot.STARTDRAG.x++; + System.out.println("End at "+MyRobot.STARTDRAG.x); + return false; + } + MAXTRIES--; + } + MyRobot.CALIBRATIONSTATUS="Calibration failed! Try making the capture region larger and defining it more accurately."; + p.repaint(); + return true; + } + + private boolean CalibrationStage2(JPanel p) throws IOException { + boolean calibrated=false; + int MAXTRIES=10000; + MyRobot.CALIBRATIONSTATUS="Calibration Stage 2..."; + p.repaint(); + //ImageIO.write(MYROBOT.getSizedCapture(new Rectangle(x,y,width,height)),"png",new File("capture.png")); + //BufferedImage currentScreen = MYROBOT.getSizedCapture(new Rectangle(MyRobot.STARTDRAG.x,MyRobot.STARTDRAG.y,MyRobot.ENDDRAG,height)); + BufferedImage currentScreen = MyRobot.MYROBOT.getSizedCapture(new Rectangle(0,0,MyRobot.screenSize.width,MyRobot.screenSize.height)); + ImageIO.write(currentScreen.getSubimage(MyRobot.STARTDRAG.x,MyRobot.STARTDRAG.y,MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y),"png",new File("capture_2.png")); + while (!calibrated&&MAXTRIES>0) { + //Try moving left until the difference is too high or the colors are not right anymore. + MyRobot.STARTDRAG.y-=1; + p.repaint(); + //currentScreen.setRGB(MyRobot.STARTDRAG.x,MyRobot.STARTDRAG.y, new Color(0,0,0).getRGB()); + currentScreen = currentScreen.getSubimage(MyRobot.STARTDRAG.x,MyRobot.STARTDRAG.y,1,1); + ImageIO.write(currentScreen,"png",new File("capture_2_"+System.nanoTime()+".png")); + Color col = new Color(currentScreen.getRGB(0, 0)); + System.out.println("Checking "+col); + if (!(col.getRed()>=5&&col.getRed()<=40&& + col.getGreen()>=170&&col.getGreen()<=210&& + col.getBlue()>=205&&col.getBlue()<=250)) { + //This is the max Y. Calibration on this side good. + MyRobot.STARTDRAG.y++; + System.out.println("End at "+MyRobot.STARTDRAG.y); + return false; + } + MAXTRIES--; + } + MyRobot.CALIBRATIONSTATUS="Calibration failed! Try making the capture region larger and defining it more accurately."; + p.repaint(); + return true; + } +} diff --git a/DivaBot/src/sig/CustomRobot.java b/DivaBot/src/sig/CustomRobot.java index cebe0d0..6243208 100644 --- a/DivaBot/src/sig/CustomRobot.java +++ b/DivaBot/src/sig/CustomRobot.java @@ -25,6 +25,10 @@ public class CustomRobot extends Robot{ super(screen); } + public synchronized BufferedImage getSizedCapture(Rectangle r) { + return super.createScreenCapture(r); + } + public void refreshScreen() { currentScreen = super.createScreenCapture(new Rectangle(418+18,204+83,912-18,586-83)); } diff --git a/DivaBot/src/sig/MyRobot.java b/DivaBot/src/sig/MyRobot.java index c281657..1e6c0ab 100644 --- a/DivaBot/src/sig/MyRobot.java +++ b/DivaBot/src/sig/MyRobot.java @@ -1,7 +1,11 @@ package sig; import java.awt.Color; +import java.awt.Cursor; +import java.awt.Dimension; import java.awt.Font; import java.awt.FontFormatException; +import java.awt.FontMetrics; +import java.awt.Graphics; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Image; @@ -9,6 +13,7 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; +import java.awt.Window; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.awt.event.ActionEvent; @@ -16,6 +21,7 @@ import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; import java.awt.font.TextAttribute; import java.awt.image.BufferedImage; import java.io.BufferedReader; @@ -41,6 +47,9 @@ import java.util.List; import java.util.Scanner; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import javax.imageio.IIOImage; import javax.imageio.ImageIO; @@ -58,6 +67,7 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; @@ -111,6 +121,9 @@ public class MyRobot{ static SongData selectedSong = null; static String difficulty = "H"; //H=Hard EX=Extreme EXEX=Extra Extreme static boolean recordedResults=false; + static boolean CALIBRATION = true; + static Point STARTDRAG = null; + static Point ENDDRAG = null; int lastcool,lastfine,lastsafe,lastsad,lastworst,lastcombo,lastscore; float lastpercent; @@ -128,6 +141,16 @@ public class MyRobot{ boolean overlayHidden=false; static boolean onSongSelect=false; + static BufferedImage finishbutton = null; + static Dimension screenSize = new Dimension(0,0); + static boolean dragging = false; + static String CALIBRATIONSTATUS = ""; + static boolean calibrating=true; + static Rectangle calibrationline = null; + static boolean repaintCalled = false; + public static Overlay OVERLAY; + + public static ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); public static void main(String[] args) throws JSONException, IOException, FontFormatException { @@ -136,6 +159,7 @@ public class MyRobot{ for (String key : JSONObject.getNames(obj)) { SONGNAMES[Integer.parseInt(key)-1] = new SongInfo(obj.getJSONObject(key)); } + finishbutton = ImageIO.read(new File("finish.png")); new MyRobot().go(); } @@ -442,15 +466,27 @@ public class MyRobot{ //System.out.println(title.getText()); } }); - - RunTests(); - f.setVisible(true); - f.setSize(1362, 1036); - f.add(p); + JFrame.setDefaultLookAndFeelDecorated(true); + f.setUndecorated(true); + OVERLAY = new Overlay(); + OVERLAY.setBounds(f.getGraphicsConfiguration().getBounds()); + OVERLAY.setOpaque(false); + f.addMouseListener(OVERLAY); + f.addMouseMotionListener(OVERLAY); + screenSize=new Dimension(f.getGraphicsConfiguration().getBounds().width,f.getGraphicsConfiguration().getBounds().height); + f.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); + //f.add(p); + //System.out.println(f.getGraphicsConfiguration().getBounds().width+"/"+f.getGraphicsConfiguration().getBounds().height); + f.setSize(f.getGraphicsConfiguration().getBounds().width,f.getGraphicsConfiguration().getBounds().height); + f.add(OVERLAY); + f.setBackground(new Color(0,0,0,0)); + f.setVisible(true); f.setTitle("DivaBot"); title = new JTextField(); title.setSize(200,100); title.setText((currentSong>=SONGNAMES.length)?"DONE!":SONGNAMES[currentSong].name); + + SongData s = SongData.getByTitle(SONGNAMES[currentSong].name); BotMain(); diff --git a/DivaBot/src/sig/Overlay.java b/DivaBot/src/sig/Overlay.java new file mode 100644 index 0000000..5f46923 --- /dev/null +++ b/DivaBot/src/sig/Overlay.java @@ -0,0 +1,83 @@ +package sig; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; + +import javax.swing.JPanel; + +public class Overlay extends JPanel implements MouseMotionListener,MouseListener{ + + Overlay() { + Thread t = new Thread() { + public void run() { + while (true) { + repaint(); + try { + Thread.sleep(1000/60); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + }; + t.start(); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + g.setColor(new Color(0,0,0,1)); + g.fillRect(0, 0, MyRobot.screenSize.width, MyRobot.screenSize.height); + g.setColor(new Color(0,255,255,96)); + if (MyRobot.STARTDRAG!=null&&MyRobot.ENDDRAG!=null) { + g.fillRect(0,0,Math.min(MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.x),MyRobot.screenSize.height); + g.fillRect(Math.min(MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.x),0,MyRobot.screenSize.width,Math.min(MyRobot.STARTDRAG.y,MyRobot.ENDDRAG.y)); + g.fillRect(Math.min(MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.x), Math.max(MyRobot.STARTDRAG.y,MyRobot.ENDDRAG.y), Math.max(MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.x)-Math.min(MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.x), MyRobot.screenSize.height-Math.max(MyRobot.STARTDRAG.y,MyRobot.ENDDRAG.y)); + g.fillRect(Math.max(MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.x), Math.min(MyRobot.STARTDRAG.y,MyRobot.ENDDRAG.y), MyRobot.screenSize.width-Math.max(MyRobot.STARTDRAG.x,MyRobot.ENDDRAG.x), MyRobot.screenSize.height-Math.min(MyRobot.STARTDRAG.y,MyRobot.ENDDRAG.y)); + } + } + + @Override + public void mouseClicked(MouseEvent e) { + } + + @Override + public void mousePressed(MouseEvent e) { + MyRobot.STARTDRAG=e.getLocationOnScreen(); + } + + @Override + public void mouseReleased(MouseEvent e) { + MyRobot.ENDDRAG=e.getLocationOnScreen(); + if (MyRobot.STARTDRAG.x>MyRobot.ENDDRAG.x) { + var xTemp = MyRobot.STARTDRAG.x; + MyRobot.STARTDRAG.x=MyRobot.ENDDRAG.x; + MyRobot.ENDDRAG.x=xTemp; + } + if (MyRobot.STARTDRAG.y>MyRobot.ENDDRAG.y) { + var xTemp = MyRobot.STARTDRAG.y; + MyRobot.STARTDRAG.y=MyRobot.ENDDRAG.y; + MyRobot.ENDDRAG.y=xTemp; + } + } + + @Override + public void mouseEntered(MouseEvent e) { + } + + @Override + public void mouseExited(MouseEvent e) { + } + + @Override + public void mouseDragged(MouseEvent e) { + MyRobot.ENDDRAG=e.getLocationOnScreen(); + } + + @Override + public void mouseMoved(MouseEvent e) { + } +}