Fix issue with apostrophes being part of the string. Additionally completed reading of pop'n (#1)

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
main
sigonasr2, Sig, Sigo 3 years ago
parent 8e19d17f9b
commit adc3b10c46
  1. 2
      ArcadeReader.java
  2. 4
      readers/DDRReader.java
  3. 35
      readers/PopnReader.java
  4. 13
      readers/Reader.java
  5. 4
      readers/SoundVoltexReader.java
  6. BIN
      result.png
  7. 2
      sigPlace.java

@ -57,6 +57,6 @@ public class ArcadeReader {
*
*/
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());
String dataString = readAllBoxes(output);
String[] data = dataString.split(Pattern.quote("\n"));
String[] ja_data = data[0].split(Pattern.quote(")"));
String[] en_data = data[2].split(Pattern.quote(")"));
String[] ja_data = data[0].split(Pattern.quote(","));
String[] en_data = data[2].split(Pattern.quote(","));
trimAllData(ja_data);
trimAllData(en_data);
System.out.println(Arrays.toString(ja_data));

@ -173,12 +173,13 @@ public class PopnReader extends Reader{
ImageIO.write(cutImg,"png",output.toFile());
String dataString = readAllBoxes(output);
String[] data = dataString.split(Pattern.quote("\n"));
String[] ja_data = data[0].split(Pattern.quote(")"));
String[] en_data = data[2].split(Pattern.quote(")"));
String[] ja_data = data[0].split(Pattern.quote(","));
String[] en_data = data[2].split(Pattern.quote(","));
trimAllData(ja_data);
trimAllData(en_data);
System.out.println(Arrays.toString(ja_data));
System.out.println(Arrays.toString(en_data));
interpretOutput(ja_data,en_data);
g.dispose();
} catch (IOException e) {
e.printStackTrace();
@ -189,7 +190,33 @@ public class PopnReader extends Reader{
@Override
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.Arrays;
import java.util.List;
import java.util.regex.Pattern;
import java.awt.Color;
public abstract class Reader{
@ -65,7 +66,8 @@ public abstract class Reader{
}
System.out.print("]");
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]);
break;
}
@ -90,7 +92,8 @@ public abstract class Reader{
if (accuracy[j]!=0) {
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;
break;
}
@ -201,7 +204,7 @@ public abstract class Reader{
/*4*/{'4'},
/*5*/{'5'},
/*6*/{'6','b'},
/*7*/{'7'},
/*7*/{'7','z','Z'},
/*8*/{'8','B'},
/*9*/{'9','g','y',},
};
@ -218,10 +221,11 @@ public abstract class Reader{
String s = data[i];
int j=0;
if (i==1) {
j=prefix.length()-1;
j=prefix.length();
} else {
j=0;
}
System.out.println("["+s+"]"+" starts at "+j);
for (;j<s.length();j++) {
letter_iterator:
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]) {
numb*=10;
numb+=k;
System.out.println(" "+s.charAt(j)+" found for "+k+".");
break letter_iterator;
}
}

@ -387,8 +387,8 @@ public class SoundVoltexReader extends Reader{
ImageIO.write(cutImg,"png",output.toFile());
String dataString = readAllBoxes(output);
String[] data = dataString.split(Pattern.quote("\n"));
String[] ja_data = data[0].split(Pattern.quote(")"));
String[] en_data = data[2].split(Pattern.quote(")"));
String[] ja_data = data[0].split(Pattern.quote(","));
String[] en_data = data[2].split(Pattern.quote(","));
trimAllData(ja_data);
trimAllData(en_data);
System.out.println(Arrays.toString(ja_data));

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"))
));
public static void main(String[] args) {
ArcadeReader.retrieveData(Paths.get("lovelive1.png"));
ArcadeReader.retrieveData(Paths.get("popn2.png"));
/* Path secretFile = Paths.get(".clientsecret");
List<String> data;
try {

Loading…
Cancel
Save