Fix issue with apostrophes being part of the string. Additionally completed reading of pop'n (#1)
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
8e19d17f9b
commit
adc3b10c46
@ -57,6 +57,6 @@ public class ArcadeReader {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static void retrieveData(Path img) {
|
public static void retrieveData(Path img) {
|
||||||
new LoveLiveReader().interpretBoxes(img);
|
new PopnReader().interpretBoxes(img);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -238,8 +238,8 @@ public class DDRReader extends Reader{
|
|||||||
ImageIO.write(cutImg,"png",output.toFile());
|
ImageIO.write(cutImg,"png",output.toFile());
|
||||||
String dataString = readAllBoxes(output);
|
String dataString = readAllBoxes(output);
|
||||||
String[] data = dataString.split(Pattern.quote("\n"));
|
String[] data = dataString.split(Pattern.quote("\n"));
|
||||||
String[] ja_data = data[0].split(Pattern.quote(")"));
|
String[] ja_data = data[0].split(Pattern.quote(","));
|
||||||
String[] en_data = data[2].split(Pattern.quote(")"));
|
String[] en_data = data[2].split(Pattern.quote(","));
|
||||||
trimAllData(ja_data);
|
trimAllData(ja_data);
|
||||||
trimAllData(en_data);
|
trimAllData(en_data);
|
||||||
System.out.println(Arrays.toString(ja_data));
|
System.out.println(Arrays.toString(ja_data));
|
||||||
|
@ -173,12 +173,13 @@ public class PopnReader extends Reader{
|
|||||||
ImageIO.write(cutImg,"png",output.toFile());
|
ImageIO.write(cutImg,"png",output.toFile());
|
||||||
String dataString = readAllBoxes(output);
|
String dataString = readAllBoxes(output);
|
||||||
String[] data = dataString.split(Pattern.quote("\n"));
|
String[] data = dataString.split(Pattern.quote("\n"));
|
||||||
String[] ja_data = data[0].split(Pattern.quote(")"));
|
String[] ja_data = data[0].split(Pattern.quote(","));
|
||||||
String[] en_data = data[2].split(Pattern.quote(")"));
|
String[] en_data = data[2].split(Pattern.quote(","));
|
||||||
trimAllData(ja_data);
|
trimAllData(ja_data);
|
||||||
trimAllData(en_data);
|
trimAllData(en_data);
|
||||||
System.out.println(Arrays.toString(ja_data));
|
System.out.println(Arrays.toString(ja_data));
|
||||||
System.out.println(Arrays.toString(en_data));
|
System.out.println(Arrays.toString(en_data));
|
||||||
|
interpretOutput(ja_data,en_data);
|
||||||
g.dispose();
|
g.dispose();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -189,7 +190,33 @@ public class PopnReader extends Reader{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
void interpretResults(String[] finalData) {
|
void interpretResults(String[] finalData) {
|
||||||
// TODO Auto-generated method stub
|
for (int i=0;i<finalData.length;i++) {
|
||||||
|
String[] splitter = finalData[i].split(Pattern.quote("\n"));
|
||||||
|
switch (i) {
|
||||||
|
case 0:{
|
||||||
|
score=convertToInt("SCORE",splitter);
|
||||||
|
}break;
|
||||||
|
case 1:{
|
||||||
|
notes[0]=convertToInt("COOL",splitter);
|
||||||
|
}break;
|
||||||
|
case 2:{
|
||||||
|
notes[1]=convertToInt("GREAT",splitter);
|
||||||
|
}break;
|
||||||
|
case 3:{
|
||||||
|
notes[2]=convertToInt("GOOD",splitter);
|
||||||
|
}break;
|
||||||
|
case 4:{
|
||||||
|
notes[3]=convertToInt("BAD",splitter);
|
||||||
|
}break;
|
||||||
|
case 5:{
|
||||||
|
maxcombo=convertToInt("COMBO",splitter);
|
||||||
|
}break;
|
||||||
|
case 6:{}break;//We'll handle the level in a special way.
|
||||||
|
case 7:{
|
||||||
|
title=convertToString(splitter);
|
||||||
|
}break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,6 +5,7 @@ import java.nio.file.Path;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
|
||||||
public abstract class Reader{
|
public abstract class Reader{
|
||||||
@ -65,7 +66,8 @@ public abstract class Reader{
|
|||||||
}
|
}
|
||||||
System.out.print("]");
|
System.out.print("]");
|
||||||
System.out.println(" belongs to region "+j+".");
|
System.out.println(" belongs to region "+j+".");
|
||||||
finalData[j]=finalData[j]+"\n"+en_data[i+8];
|
finalData[j]=finalData[j]+"\n"+en_data[i+8]
|
||||||
|
.substring(1,en_data[i+8].length()-1); //The beginning and endings have a ', so we remove it.
|
||||||
accuracy[j]=Double.parseDouble(en_data[i+9]);
|
accuracy[j]=Double.parseDouble(en_data[i+9]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -90,7 +92,8 @@ public abstract class Reader{
|
|||||||
if (accuracy[j]!=0) {
|
if (accuracy[j]!=0) {
|
||||||
finalData[j]="";
|
finalData[j]="";
|
||||||
}
|
}
|
||||||
finalData[j]=finalData[j]+"\n"+jp_data[i+8];
|
finalData[j]=finalData[j]+"\n"+jp_data[i+8]
|
||||||
|
.substring(1,jp_data[i+8].length()-1); //The beginning and endings have a ', so we remove it.
|
||||||
accuracy[j]=0;
|
accuracy[j]=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -201,7 +204,7 @@ public abstract class Reader{
|
|||||||
/*4*/{'4'},
|
/*4*/{'4'},
|
||||||
/*5*/{'5'},
|
/*5*/{'5'},
|
||||||
/*6*/{'6','b'},
|
/*6*/{'6','b'},
|
||||||
/*7*/{'7'},
|
/*7*/{'7','z','Z'},
|
||||||
/*8*/{'8','B'},
|
/*8*/{'8','B'},
|
||||||
/*9*/{'9','g','y',},
|
/*9*/{'9','g','y',},
|
||||||
};
|
};
|
||||||
@ -218,10 +221,11 @@ public abstract class Reader{
|
|||||||
String s = data[i];
|
String s = data[i];
|
||||||
int j=0;
|
int j=0;
|
||||||
if (i==1) {
|
if (i==1) {
|
||||||
j=prefix.length()-1;
|
j=prefix.length();
|
||||||
} else {
|
} else {
|
||||||
j=0;
|
j=0;
|
||||||
}
|
}
|
||||||
|
System.out.println("["+s+"]"+" starts at "+j);
|
||||||
for (;j<s.length();j++) {
|
for (;j<s.length();j++) {
|
||||||
letter_iterator:
|
letter_iterator:
|
||||||
for (int k=0;k<number_alternatives.length;k++) {
|
for (int k=0;k<number_alternatives.length;k++) {
|
||||||
@ -229,6 +233,7 @@ public abstract class Reader{
|
|||||||
if (s.charAt(j)==number_alternatives[k][l]) {
|
if (s.charAt(j)==number_alternatives[k][l]) {
|
||||||
numb*=10;
|
numb*=10;
|
||||||
numb+=k;
|
numb+=k;
|
||||||
|
System.out.println(" "+s.charAt(j)+" found for "+k+".");
|
||||||
break letter_iterator;
|
break letter_iterator;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -387,8 +387,8 @@ public class SoundVoltexReader extends Reader{
|
|||||||
ImageIO.write(cutImg,"png",output.toFile());
|
ImageIO.write(cutImg,"png",output.toFile());
|
||||||
String dataString = readAllBoxes(output);
|
String dataString = readAllBoxes(output);
|
||||||
String[] data = dataString.split(Pattern.quote("\n"));
|
String[] data = dataString.split(Pattern.quote("\n"));
|
||||||
String[] ja_data = data[0].split(Pattern.quote(")"));
|
String[] ja_data = data[0].split(Pattern.quote(","));
|
||||||
String[] en_data = data[2].split(Pattern.quote(")"));
|
String[] en_data = data[2].split(Pattern.quote(","));
|
||||||
trimAllData(ja_data);
|
trimAllData(ja_data);
|
||||||
trimAllData(en_data);
|
trimAllData(en_data);
|
||||||
System.out.println(Arrays.toString(ja_data));
|
System.out.println(Arrays.toString(ja_data));
|
||||||
|
BIN
result.png
BIN
result.png
Binary file not shown.
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 204 KiB |
@ -48,7 +48,7 @@ public class sigPlace {
|
|||||||
"%FOOTER", Paths.get(REFDIR,"FOOTER.html"))
|
"%FOOTER", Paths.get(REFDIR,"FOOTER.html"))
|
||||||
));
|
));
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
ArcadeReader.retrieveData(Paths.get("lovelive1.png"));
|
ArcadeReader.retrieveData(Paths.get("popn2.png"));
|
||||||
/* Path secretFile = Paths.get(".clientsecret");
|
/* Path secretFile = Paths.get(".clientsecret");
|
||||||
List<String> data;
|
List<String> data;
|
||||||
try {
|
try {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user