From d49eee48307f7bf927254d19c870e66be4baf05c Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Mon, 21 Sep 2020 02:22:07 +0900 Subject: [PATCH] Add ypointer caching to results screen parsing. --- DivaBot/rectangle0.png | Bin 6439 -> 7017 bytes DivaBot/rectangle1.png | Bin 5689 -> 6734 bytes DivaBot/rectangle2.png | Bin 5482 -> 6014 bytes DivaBot/src/sig/MyRobot.java | 3 + DivaBot/src/sig/TypeFace2.java | 155 ++++++++++++++------------------- 5 files changed, 70 insertions(+), 88 deletions(-) diff --git a/DivaBot/rectangle0.png b/DivaBot/rectangle0.png index b848020facf71ee117ece1a03b5b18ff3fcf503a..ce7972bbfd7bd823591f0803f73875fda9e18dc0 100644 GIT binary patch literal 7017 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 Hu0mjftZ1tQ literal 6439 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

^`UGIpT9a1{mWT7oo6 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 literal 5689 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 diff --git a/DivaBot/rectangle2.png b/DivaBot/rectangle2.png index 612ad496423d846508345fe127dd6eef2c47ac18..a3d64f1fa7539d7b56d778064a4a2ccad5a1f866 100644 GIT binary patch literal 6014 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 literal 5482 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 diff --git a/DivaBot/src/sig/MyRobot.java b/DivaBot/src/sig/MyRobot.java index ca18191..536563c 100644 --- a/DivaBot/src/sig/MyRobot.java +++ b/DivaBot/src/sig/MyRobot.java @@ -942,6 +942,7 @@ public class MyRobot{ } System.exit(1); } + TypeFace2.deepCopyDefaultYPointers(); System.out.println("\tPassed ("+(System.currentTimeMillis()-startTime)+"ms)!"); } @@ -956,6 +957,7 @@ public class MyRobot{ System.out.println("Switching to Megamix"); SongData.loadSongsFromFile(); LASTMODE_FUTURETONE=false; + TypeFace2.deepCopyDefaultYPointers(); } } else { @@ -968,6 +970,7 @@ public class MyRobot{ System.out.println("Switching to Future Tone"); SongData.loadSongsFromFile(); LASTMODE_FUTURETONE=true; + TypeFace2.deepCopyDefaultYPointers(); } } else { stillOnSongSelect=0; diff --git a/DivaBot/src/sig/TypeFace2.java b/DivaBot/src/sig/TypeFace2.java index 9df91d5..0861767 100644 --- a/DivaBot/src/sig/TypeFace2.java +++ b/DivaBot/src/sig/TypeFace2.java @@ -65,14 +65,24 @@ public class TypeFace2 { final static Rectangle FUTURETONE_RECT_SEARCH_SCORE=new Rectangle(866+XOFFSET,543-4,250+XOFFSET+1,32+24); final static Rectangle FUTURETONE_RECT_SEARCH_COMBO=new Rectangle(1023+XOFFSET,402,100+XOFFSET+1,22+8); + public final static int[] DEFAULT_YPOINTERS = new int[] {-1,-1,-1,-1,-1,-1,-1,-1}; + public static int[] ypointers = new int[] {-1,-1,-1,-1,-1,-1,-1,-1}; + + public static void deepCopyDefaultYPointers() { + ypointers = new int[DEFAULT_YPOINTERS.length]; + for (int i=0;i150) { - //Breaks a rule. - ruleBreak=true; - if (!debug) { - break colorloop; - } else { - test.setRGB(x, y, Color.RED.getRGB()); - } - } else - if (fontCol.equals(Color.GREEN) && (pixelCol.getRed()>50 - || pixelCol.getGreen()>170 || pixelCol.getBlue()<150)) { - //Breaks a rule. - ruleBreak=true; - if (!debug) { - break colorloop; - } else { - test.setRGB(x, y, Color.GREEN.getRGB()); - } - } else - if (debug) { - test.setRGB(x, y, pixelCol.getRGB()); - }*/ if (fontCol.equals(Color.RED)) { if (lightColorCheck(pixelCol)) { @@ -425,29 +418,6 @@ public class TypeFace2 { for (int y=0;y<18;y++) { Color fontCol = new Color(futuretone_percentfont.getRGB(x+i*18,y)); Color pixelCol = new Color(img.getRGB(xpointer-18+x+1, y+ypointer)); - /*if (fontCol.equals(Color.RED) && pixelCol.getRed()<50 - && pixelCol.getGreen()<150 && pixelCol.getBlue()>150) { - //Breaks a rule. - ruleBreak=true; - if (!debug) { - break colorloop; - } else { - test.setRGB(x, y, Color.RED.getRGB()); - } - } else - if (fontCol.equals(Color.GREEN) && (pixelCol.getRed()>50 - || pixelCol.getGreen()>170 || pixelCol.getBlue()<150)) { - //Breaks a rule. - ruleBreak=true; - if (!debug) { - break colorloop; - } else { - test.setRGB(x, y, Color.GREEN.getRGB()); - } - } else - if (debug) { - test.setRGB(x, y, pixelCol.getRGB()); - }*/ if (fontCol.equals(Color.RED)) { if (lightColorCheck(pixelCol)) { @@ -548,29 +518,6 @@ public class TypeFace2 { for (int y=0;y<29;y++) { Color fontCol = new Color(percentfont.getRGB(x+i*24,y)); Color pixelCol = new Color(img.getRGB(xpointer-24+x+1, y+ypointer)); - /*if (fontCol.equals(Color.RED) && pixelCol.getRed()<50 - && pixelCol.getGreen()<150 && pixelCol.getBlue()>150) { - //Breaks a rule. - ruleBreak=true; - if (!debug) { - break colorloop; - } else { - test.setRGB(x, y, Color.RED.getRGB()); - } - } else - if (fontCol.equals(Color.GREEN) && (pixelCol.getRed()>50 - || pixelCol.getGreen()>170 || pixelCol.getBlue()<150)) { - //Breaks a rule. - ruleBreak=true; - if (!debug) { - break colorloop; - } else { - test.setRGB(x, y, Color.GREEN.getRGB()); - } - } else - if (debug) { - test.setRGB(x, y, pixelCol.getRGB()); - }*/ if (fontCol.equals(Color.RED)) { if (lightColorCheck(pixelCol)) { @@ -770,23 +717,26 @@ public class TypeFace2 { return pixel.getRed()<176 && pixel.getGreen()<178 && pixel.getBlue()>100; } - - public int extractNumbersFromImage(BufferedImage img) throws IOException { - return extractNumbersFromImage(img,false); - } - public int extractNumbersFromImage(BufferedImage img,boolean debug) throws IOException { + public int extractNumbersFromImage(BufferedImage img,boolean debug,int iteration) throws IOException { this.img=img; File f = null; BufferedImage test = null; xpointer=MEGAMIX_RECT_SEARCH_COOL.width-1; ypointer=0; String total = ""; + + boolean startPointer=ypointers[iteration]>=0; + + if (startPointer) { + ypointer=ypointers[iteration]; + System.out.println("Found a saved ypointer of "+ypointer); + } + trialloop: while (ypointer<8) { xpointer=MEGAMIX_RECT_SEARCH_COOL.width-1; while (xpointer>22) { - int distance = 0; int foundIndex = -1; //Compare the 22x21 range. for (int i=0;i<10;i++) { @@ -855,9 +805,14 @@ public class TypeFace2 { if (total.length()>0) { break trialloop; } - ypointer++; + if (startPointer) { + startPointer=false; + ypointer=0; + System.out.println("Could not find with saved ypointer. Switching back to old ypointer."); + } else { + ypointer++; + } } - if (total.equals("")) { return -1; } else { @@ -865,13 +820,20 @@ public class TypeFace2 { } } - public int extractFutureToneScoreNumbersFromImage(BufferedImage img,boolean debug) throws IOException { + public int extractFutureToneScoreNumbersFromImage(BufferedImage img,boolean debug,int iteration) throws IOException { this.img=img; File f = null; BufferedImage test = null; xpointer=FUTURETONE_RECT_SEARCH_SCORE.width-1; ypointer=0; String total = ""; + + boolean startPointer=ypointers[iteration]>=0; + + if (startPointer) { + ypointer=ypointers[iteration]; + } + trialloop: while (ypointer<20) { xpointer=FUTURETONE_RECT_SEARCH_SCORE.width-1; @@ -945,7 +907,12 @@ public class TypeFace2 { if (total.length()>0) { break trialloop; } - ypointer++; + if (startPointer) { + startPointer=false; + ypointer=0; + } else { + ypointer++; + } } if (total.equals("")) { @@ -955,13 +922,20 @@ public class TypeFace2 { } } - public int extractScoreNumbersFromImage(BufferedImage img,boolean debug) throws IOException { + public int extractScoreNumbersFromImage(BufferedImage img,boolean debug,int iteration) throws IOException { this.img=img; File f = null; BufferedImage test = null; xpointer=MEGAMIX_RECT_SEARCH_SCORE.width-1; ypointer=0; String total = ""; + + boolean startPointer=ypointers[iteration]>=0; + + if (startPointer) { + ypointer=ypointers[iteration]; + } + trialloop: while (ypointer<12) { xpointer=MEGAMIX_RECT_SEARCH_SCORE.width-1; @@ -1035,7 +1009,12 @@ public class TypeFace2 { if (total.length()>0) { break trialloop; } - ypointer++; + if (startPointer) { + startPointer=false; + ypointer=0; + } else { + ypointer++; + } } if (total.equals("")) {