|
|
|
@ -697,49 +697,48 @@ public class ArcadeReader { |
|
|
|
|
BufferedImage img; |
|
|
|
|
try { |
|
|
|
|
img = ImageIO.read(p.toFile()); |
|
|
|
|
Reader newImg = interpret(img); |
|
|
|
|
newImg.result_screenshot=p; |
|
|
|
|
//Path getGamePath = gamePath(newImg);
|
|
|
|
|
newImg.interpretBoxes(p); |
|
|
|
|
HashMap<String,HashMap<String,List<String>>> DATA = sigPlace.SONG_DATABASE; |
|
|
|
|
List<String> RECENT_PLAYS = sigPlace.RECENT_PLAYS; |
|
|
|
|
List<String> RECENT_RECORDS = sigPlace.RECENT_RECORDS; |
|
|
|
|
HashMap<String,List<String>> SONG_DATA=DATA.getOrDefault(newImg.getClass().getSimpleName(),new HashMap<>()); |
|
|
|
|
List<String> RECORDS = SONG_DATA.getOrDefault(convertTitle(newImg.getTitle()),new ArrayList<>()); |
|
|
|
|
boolean found=false; |
|
|
|
|
for (int i=0;i<RECORDS.size();i++) { |
|
|
|
|
String s = RECORDS.get(i); |
|
|
|
|
int score = getScore(s); |
|
|
|
|
if (score<newImg.getScore()) { |
|
|
|
|
//Insert here.
|
|
|
|
|
found=true; |
|
|
|
|
if (i==0) { |
|
|
|
|
final Reader newImg = interpret(img); |
|
|
|
|
Thread t = new Thread(){ |
|
|
|
|
public void run() { |
|
|
|
|
newImg.result_screenshot=p; |
|
|
|
|
//Path getGamePath = gamePath(newImg);
|
|
|
|
|
newImg.interpretBoxes(p); |
|
|
|
|
HashMap<String,HashMap<String,List<String>>> DATA = sigPlace.SONG_DATABASE; |
|
|
|
|
List<String> RECENT_PLAYS = sigPlace.RECENT_PLAYS; |
|
|
|
|
List<String> RECENT_RECORDS = sigPlace.RECENT_RECORDS; |
|
|
|
|
HashMap<String,List<String>> SONG_DATA=DATA.getOrDefault(newImg.getClass().getSimpleName(),new HashMap<>()); |
|
|
|
|
List<String> RECORDS = SONG_DATA.getOrDefault(convertTitle(newImg.getTitle()),new ArrayList<>()); |
|
|
|
|
boolean found=false; |
|
|
|
|
for (int i=0;i<RECORDS.size();i++) { |
|
|
|
|
String s = RECORDS.get(i); |
|
|
|
|
int score = getScore(s); |
|
|
|
|
if (score<newImg.getScore()) { |
|
|
|
|
//Insert here.
|
|
|
|
|
found=true; |
|
|
|
|
if (i==0) { |
|
|
|
|
RECENT_RECORDS.add(0,newImg.toStringWithScreenshot()); |
|
|
|
|
} |
|
|
|
|
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot()); |
|
|
|
|
if (RECENT_PLAYS.size()>20) { |
|
|
|
|
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1); |
|
|
|
|
} |
|
|
|
|
RECORDS.add(i, newImg.toStringWithScreenshot()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!found) { |
|
|
|
|
RECORDS.add(newImg.toStringWithScreenshot()); |
|
|
|
|
RECENT_RECORDS.add(0,newImg.toStringWithScreenshot()); |
|
|
|
|
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot()); |
|
|
|
|
if (RECENT_PLAYS.size()>20) { |
|
|
|
|
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot()); |
|
|
|
|
if (RECENT_PLAYS.size()>20) { |
|
|
|
|
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1); |
|
|
|
|
if (RECENT_RECORDS.size()>20) { |
|
|
|
|
RECENT_RECORDS.remove(RECENT_RECORDS.size()-1); |
|
|
|
|
} |
|
|
|
|
RECORDS.add(i, newImg.toStringWithScreenshot()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!found) { |
|
|
|
|
RECORDS.add(newImg.toStringWithScreenshot()); |
|
|
|
|
RECENT_RECORDS.add(0,newImg.toStringWithScreenshot()); |
|
|
|
|
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot()); |
|
|
|
|
if (RECENT_PLAYS.size()>20) { |
|
|
|
|
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (RECENT_RECORDS.size()>20) { |
|
|
|
|
RECENT_RECORDS.remove(RECENT_RECORDS.size()-1); |
|
|
|
|
} |
|
|
|
|
SONG_DATA.put(convertTitle(newImg.getTitle()),RECORDS); |
|
|
|
|
DATA.put(newImg.getClass().getSimpleName(),SONG_DATA); |
|
|
|
|
|
|
|
|
|
new Thread(){ |
|
|
|
|
public void run() { |
|
|
|
|
SONG_DATA.put(convertTitle(newImg.getTitle()),RECORDS); |
|
|
|
|
DATA.put(newImg.getClass().getSimpleName(),SONG_DATA); |
|
|
|
|
//Threaded database update.
|
|
|
|
|
for (String reader : sigPlace.SONG_DATABASE.keySet()) { |
|
|
|
|
for (String song : sigPlace.SONG_DATABASE.get(reader).keySet()) { |
|
|
|
@ -765,7 +764,8 @@ public class ArcadeReader { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}.start(); |
|
|
|
|
}; |
|
|
|
|
t.start(); |
|
|
|
|
} catch (IOException e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|