Finished successful implementation of ypointer saving between future
tone and megamix
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 4.6 KiB |
@ -104,8 +104,8 @@ public class Calibrator2 {
|
|||||||
Overlay.OVERLAY.setVisible(true);
|
Overlay.OVERLAY.setVisible(true);
|
||||||
|
|
||||||
MyRobot.CALIBRATIONSTATUS="Calibration is complete! - X"+(MyRobot.STARTDRAG.x)+" Y"+(MyRobot.STARTDRAG.y)+" W"+(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)+" H"+(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y)+" R"+((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y));
|
MyRobot.CALIBRATIONSTATUS="Calibration is complete! - X"+(MyRobot.STARTDRAG.x)+" Y"+(MyRobot.STARTDRAG.y)+" W"+(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)+" H"+(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y)+" R"+((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y));
|
||||||
if (((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y))<=16/9f-0.04||
|
if (((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y))<=16/9f-0.015||
|
||||||
((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y))>=16/9f+0.04) {
|
((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y))>=16/9f+0.015) {
|
||||||
int dialogResult = JOptionPane.showConfirmDialog (null, "Could not detect the game properly!\n\nYour calibration cut a bit "+((((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y))<=16/9f-0.04)?"more":"less")+" than expected. Do you want to try selecting a more accurate region?","Warning",JOptionPane.YES_NO_OPTION);
|
int dialogResult = JOptionPane.showConfirmDialog (null, "Could not detect the game properly!\n\nYour calibration cut a bit "+((((float)(MyRobot.ENDDRAG.x-MyRobot.STARTDRAG.x)/(MyRobot.ENDDRAG.y-MyRobot.STARTDRAG.y))<=16/9f-0.04)?"more":"less")+" than expected. Do you want to try selecting a more accurate region?","Warning",JOptionPane.YES_NO_OPTION);
|
||||||
if(dialogResult == JOptionPane.YES_OPTION){
|
if(dialogResult == JOptionPane.YES_OPTION){
|
||||||
MyRobot.STARTDRAG=null;
|
MyRobot.STARTDRAG=null;
|
||||||
|
@ -57,6 +57,7 @@ public class CustomRobot extends Robot{
|
|||||||
calibration_data[1]=Integer.parseInt(data[1]);
|
calibration_data[1]=Integer.parseInt(data[1]);
|
||||||
calibration_data[2]=Integer.parseInt(data[2]);
|
calibration_data[2]=Integer.parseInt(data[2]);
|
||||||
calibration_data[3]=Integer.parseInt(data[3]);
|
calibration_data[3]=Integer.parseInt(data[3]);
|
||||||
|
TypeFace2.deepCopyDefaultOfficialYPointers();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean CalibrationDataChanged() {
|
private boolean CalibrationDataChanged() {
|
||||||
|
@ -309,122 +309,32 @@ public class MyRobot{
|
|||||||
|
|
||||||
private void RunMainLoop() {
|
private void RunMainLoop() {
|
||||||
try {
|
try {
|
||||||
if (CALIBRATION_MODE) {
|
if (CALIBRATION_MODE) {
|
||||||
if (MyRobot.calibrating) {
|
if (MyRobot.calibrating) {
|
||||||
MyRobot.calibrating=false;
|
MyRobot.calibrating=false;
|
||||||
Overlay.OVERLAY.setVisible(false);
|
Overlay.OVERLAY.setVisible(false);
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
Calibrator2 c = new Calibrator2();
|
Calibrator2 c = new Calibrator2();
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//ImageIO.write(MYROBOT.createScreenCapture(),"png",new File("testscreen.png"));
|
|
||||||
if (checkSongSelect()) {
|
|
||||||
//System.out.println("On song select");
|
|
||||||
if (!overlayHidden) {
|
|
||||||
overlayHidden=true;
|
|
||||||
MyRobot.p.repaint();
|
|
||||||
}
|
|
||||||
GetCurrentSong();
|
|
||||||
GetCurrentDifficulty();
|
|
||||||
recordedResults=false;
|
|
||||||
if (selectedSong!=null && difficulty!=null) {
|
|
||||||
if (!prevSongTitle.equalsIgnoreCase(selectedSong.title) || !prevDifficulty.equalsIgnoreCase(difficulty)) {
|
|
||||||
System.out.println("On Song Select Screen: Current Song-"+selectedSong.title+" Diff:"+difficulty);
|
|
||||||
p.pullData(selectedSong.title,difficulty);
|
|
||||||
MyRobot.p.refreshAllLabels();
|
|
||||||
prevSongTitle=selectedSong.title;
|
|
||||||
prevDifficulty=difficulty;
|
|
||||||
MyRobot.p.repaint();
|
|
||||||
if (NEWSONGS.length==0) {
|
|
||||||
MYROBOT.keyPress(KeyEvent.VK_CONTROL);
|
|
||||||
MYROBOT.keyPress(KeyEvent.VK_SHIFT);
|
|
||||||
MYROBOT.keyPress(KeyEvent.VK_F11);
|
|
||||||
MYROBOT.keyRelease(KeyEvent.VK_F11);
|
|
||||||
MYROBOT.keyRelease(KeyEvent.VK_SHIFT);
|
|
||||||
MYROBOT.keyRelease(KeyEvent.VK_CONTROL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
lastSongSelectTime = System.currentTimeMillis();
|
//ImageIO.write(MYROBOT.createScreenCapture(),"png",new File("testscreen.png"));
|
||||||
} else {
|
if (checkSongSelect()) {
|
||||||
MYROBOT.refreshScoreScreen();
|
//System.out.println("On song select");
|
||||||
ImageIO.write(MYROBOT.createScoreScreenCapture(),"png",new File("scoreimage.png"));
|
if (!overlayHidden) {
|
||||||
if (overlayHidden) {
|
overlayHidden=true;
|
||||||
overlayHidden=false;
|
MyRobot.p.repaint();
|
||||||
MyRobot.p.repaint();
|
|
||||||
}
|
|
||||||
if ((selectedSong!=null && difficulty!=null)) {
|
|
||||||
if (OnResultsScreen() && !recordedResults && !recordingResults && results.size()==0) {
|
|
||||||
lastSongSelectTime=System.currentTimeMillis();
|
|
||||||
MYROBOT.setAutoDelay(0);
|
|
||||||
if (NEWSONGS.length==0) {
|
|
||||||
MYROBOT.keyPress(KeyEvent.VK_CONTROL);
|
|
||||||
MYROBOT.keyPress(KeyEvent.VK_SHIFT);
|
|
||||||
MYROBOT.keyPress(KeyEvent.VK_F12);
|
|
||||||
MYROBOT.keyRelease(KeyEvent.VK_F12);
|
|
||||||
MYROBOT.keyRelease(KeyEvent.VK_SHIFT);
|
|
||||||
MYROBOT.keyRelease(KeyEvent.VK_CONTROL);
|
|
||||||
}
|
}
|
||||||
MYROBOT.refreshScoreScreen();
|
GetCurrentSong();
|
||||||
ImageIO.write(MYROBOT.createScoreScreenCapture(),"png",new File("scoreimage.png"));
|
GetCurrentDifficulty();
|
||||||
File tmp = new File("tmp");
|
recordedResults=false;
|
||||||
if (tmp.exists()) {
|
if (selectedSong!=null && difficulty!=null) {
|
||||||
FileUtils.deleteFile(tmp);
|
if (!prevSongTitle.equalsIgnoreCase(selectedSong.title) || !prevDifficulty.equalsIgnoreCase(difficulty)) {
|
||||||
} else {
|
System.out.println("On Song Select Screen: Current Song-"+selectedSong.title+" Diff:"+difficulty);
|
||||||
tmp.mkdir();
|
p.pullData(selectedSong.title,difficulty);
|
||||||
}
|
MyRobot.p.refreshAllLabels();
|
||||||
try {
|
prevSongTitle=selectedSong.title;
|
||||||
final Result data = typeface1.getAllData(MYROBOT.createScoreScreenCapture());
|
prevDifficulty=difficulty;
|
||||||
//ImageIO.write(MYROBOT.,"png",new File("test.png"));
|
MyRobot.p.repaint();
|
||||||
if (data.cool==-1 || data.fine==-1 || data.safe==-1 || data.sad==-1 || data.worst==-1 || data.percent<0f || data.percent>110f || data.combo==-1 || data.score==-1) {
|
|
||||||
if (lastData==null || (lastData.cool!=data.cool || data.fine!=lastData.fine || data.safe!=lastData.safe || data.sad!=lastData.sad || data.worst!=lastData.worst || data.percent!=lastData.percent || data.combo!=lastData.combo || data.score!=lastData.score)) {
|
|
||||||
System.out.println("Waiting for results to populate...");
|
|
||||||
System.out.println(data);
|
|
||||||
}
|
|
||||||
if (lastData==null) {
|
|
||||||
lastData=new Result("","",-1,-1,-1,-1,-1,-1f);
|
|
||||||
}
|
|
||||||
lastData.cool=data.cool;
|
|
||||||
lastData.fine=data.fine;
|
|
||||||
lastData.safe=data.safe;
|
|
||||||
lastData.sad=data.sad;
|
|
||||||
lastData.worst=data.worst;
|
|
||||||
lastData.percent=data.percent;
|
|
||||||
lastData.combo=data.combo;
|
|
||||||
lastData.score=data.score;
|
|
||||||
} else
|
|
||||||
if ((data.combo!=lastcombo || data.fail!=lastfail || data.cool!=lastcool || lastfine!=data.fine || lastsafe!=data.safe || lastsad!=data.sad || lastworst!=data.worst)
|
|
||||||
&& data.score!=lastscore /*|| lastpercent!=percent*/){
|
|
||||||
//System.out.println("Results for "+selectedSong.title+" "+difficulty+": "+data.cool+"/"+data.fine+"/"+data.safe+"/"+data.sad+"/"+data.worst+" "+data.percent+"%");
|
|
||||||
|
|
||||||
System.out.println("Results for "+selectedSong.title+" "+data.difficulty+": "+data.display());
|
|
||||||
File songFolder = new File(selectedSong.title+"/"+data.difficulty);
|
|
||||||
if (!songFolder.exists()) {
|
|
||||||
songFolder.mkdirs();
|
|
||||||
}
|
|
||||||
File[] songFolderFiles = songFolder.listFiles();
|
|
||||||
int playId = songFolderFiles.length;
|
|
||||||
final File playFolder = new File(selectedSong.title+"/"+data.difficulty+"/"+playId);
|
|
||||||
playFolder.mkdir();
|
|
||||||
recordedResults=true;
|
|
||||||
lastcool=data.cool;
|
|
||||||
lastfine=data.fine;
|
|
||||||
lastsafe=data.safe;
|
|
||||||
lastsad=data.sad;
|
|
||||||
lastworst=data.worst;
|
|
||||||
lastpercent=data.percent;
|
|
||||||
lastcombo=data.combo;
|
|
||||||
lastscore=data.score;
|
|
||||||
lastfail=data.fail;
|
|
||||||
File resultImage=new File(playFolder,selectedSong.title+"_"+data.difficulty+"play_"+data.cool+"_"+data.fine+"_"+data.safe+"_"+data.sad+"_"+data.worst+"_"+data.percent+""
|
|
||||||
+ "_"+data.combo+"_"+data.score+".png");
|
|
||||||
new File("scoreimage.png").renameTo(resultImage);
|
|
||||||
results.add(new Result(selectedSong.title,data.difficulty,data.cool,data.fine,data.safe,data.sad,data.worst,data.percent,data.mod,data.combo,data.score,data.fail,resultImage));
|
|
||||||
SoundUtils.playSound("collect_item.wav");
|
|
||||||
|
|
||||||
//gotoxy(800,64);
|
|
||||||
//click();
|
|
||||||
MYROBOT.setAutoDelay(0);
|
|
||||||
if (NEWSONGS.length==0) {
|
if (NEWSONGS.length==0) {
|
||||||
MYROBOT.keyPress(KeyEvent.VK_CONTROL);
|
MYROBOT.keyPress(KeyEvent.VK_CONTROL);
|
||||||
MYROBOT.keyPress(KeyEvent.VK_SHIFT);
|
MYROBOT.keyPress(KeyEvent.VK_SHIFT);
|
||||||
@ -434,105 +344,191 @@ public class MyRobot{
|
|||||||
MYROBOT.keyRelease(KeyEvent.VK_CONTROL);
|
MYROBOT.keyRelease(KeyEvent.VK_CONTROL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException|NumberFormatException|IndexOutOfBoundsException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
System.out.println(e.getMessage());
|
|
||||||
}
|
}
|
||||||
|
lastSongSelectTime = System.currentTimeMillis();
|
||||||
} else {
|
} else {
|
||||||
if (results.size()>0) {
|
if (overlayHidden) {
|
||||||
recordingResults=true;
|
overlayHidden=false;
|
||||||
for (final Result r : results) {
|
MyRobot.p.repaint();
|
||||||
r.songName=r.songName.equalsIgnoreCase("恋ノート")?"恋ノート////":r.songName.equalsIgnoreCase("雨のちSweetDrops")?"雨のちSweet*Drops":r.songName.equalsIgnoreCase("Equation+")?"Equation+**":r.songName.equalsIgnoreCase("PIANOGIRL")?"PIANO*GIRL":(r.songName.equalsIgnoreCase("16 -out of the gravity-"))?"1/6 -out of the gravity-":r.songName;
|
}
|
||||||
HttpClient httpclient = HttpClients.createDefault();
|
if ((selectedSong!=null && difficulty!=null)) {
|
||||||
HttpPost httppost = new HttpPost("http://45.33.13.215:4501/submit");
|
if (OnResultsScreen() && !recordedResults && !recordingResults && results.size()==0) {
|
||||||
|
lastSongSelectTime=System.currentTimeMillis();
|
||||||
// Request parameters and other properties.
|
MYROBOT.setAutoDelay(0);
|
||||||
List<NameValuePair> params = new ArrayList<NameValuePair>();
|
if (NEWSONGS.length==0) {
|
||||||
params.add(new BasicNameValuePair("song", r.songName));
|
MYROBOT.keyPress(KeyEvent.VK_CONTROL);
|
||||||
params.add(new BasicNameValuePair("username", USERNAME));
|
MYROBOT.keyPress(KeyEvent.VK_SHIFT);
|
||||||
params.add(new BasicNameValuePair("authentication_token", AUTHTOKEN));
|
MYROBOT.keyPress(KeyEvent.VK_F12);
|
||||||
params.add(new BasicNameValuePair("difficulty", r.difficulty));
|
MYROBOT.keyRelease(KeyEvent.VK_F12);
|
||||||
params.add(new BasicNameValuePair("cool", Integer.toString(r.cool)));
|
MYROBOT.keyRelease(KeyEvent.VK_SHIFT);
|
||||||
params.add(new BasicNameValuePair("fine", Integer.toString(r.fine)));
|
MYROBOT.keyRelease(KeyEvent.VK_CONTROL);
|
||||||
params.add(new BasicNameValuePair("safe", Integer.toString(r.safe)));
|
|
||||||
params.add(new BasicNameValuePair("sad", Integer.toString(r.sad)));
|
|
||||||
params.add(new BasicNameValuePair("worst", Integer.toString(r.worst)));
|
|
||||||
params.add(new BasicNameValuePair("percent", Float.toString(r.percent)));
|
|
||||||
params.add(new BasicNameValuePair("fail", Boolean.toString(r.fail)));
|
|
||||||
params.add(new BasicNameValuePair("mod", r.mod));
|
|
||||||
params.add(new BasicNameValuePair("combo", Integer.toString(r.combo)));
|
|
||||||
params.add(new BasicNameValuePair("gameScore", Integer.toString(r.score)));
|
|
||||||
try {
|
|
||||||
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
|
|
||||||
} catch (UnsupportedEncodingException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
|
MYROBOT.refreshScoreScreen();
|
||||||
//Execute and get the response.
|
ImageIO.write(MYROBOT.createScoreScreenCapture(),"png",new File("scoreimage.png"));
|
||||||
HttpResponse response = null;
|
File tmp = new File("tmp");
|
||||||
try {
|
if (tmp.exists()) {
|
||||||
response = httpclient.execute(httppost);
|
FileUtils.deleteFile(tmp);
|
||||||
} catch (IOException e) {
|
} else {
|
||||||
e.printStackTrace();
|
tmp.mkdir();
|
||||||
}
|
}
|
||||||
HttpEntity entity = response.getEntity();
|
try {
|
||||||
|
final Result data = typeface1.getAllData(MYROBOT.createScoreScreenCapture());
|
||||||
JSONObject report = null;
|
if (data.cool==-1 || data.fine==-1 || data.safe==-1 || data.sad==-1 || data.worst==-1 || data.percent<0f || data.percent>110f || data.combo==-1 || data.score==-1) {
|
||||||
|
if (lastData==null || (lastData.cool!=data.cool || data.fine!=lastData.fine || data.safe!=lastData.safe || data.sad!=lastData.sad || data.worst!=lastData.worst || data.percent!=lastData.percent || data.combo!=lastData.combo || data.score!=lastData.score)) {
|
||||||
if (entity != null) {
|
System.out.println("Waiting for results to populate...");
|
||||||
try (InputStream instream = entity.getContent()) {
|
System.out.println(data);
|
||||||
Scanner s = new Scanner(instream).useDelimiter("\\A");
|
}
|
||||||
String result = s.hasNext() ? s.next() : "";
|
if (lastData==null) {
|
||||||
report=new JSONObject(result);
|
lastData=new Result("","",-1,-1,-1,-1,-1,-1f);
|
||||||
instream.close();
|
}
|
||||||
} catch (UnsupportedOperationException | IOException e) {
|
lastData.cool=data.cool;
|
||||||
|
lastData.fine=data.fine;
|
||||||
|
lastData.safe=data.safe;
|
||||||
|
lastData.sad=data.sad;
|
||||||
|
lastData.worst=data.worst;
|
||||||
|
lastData.percent=data.percent;
|
||||||
|
lastData.combo=data.combo;
|
||||||
|
lastData.score=data.score;
|
||||||
|
} else
|
||||||
|
if ((data.combo!=lastcombo || data.fail!=lastfail || data.cool!=lastcool || lastfine!=data.fine || lastsafe!=data.safe || lastsad!=data.sad || lastworst!=data.worst)
|
||||||
|
&& data.score!=lastscore /*|| lastpercent!=percent*/){
|
||||||
|
System.out.println("Results for "+selectedSong.title+" "+data.difficulty+": "+data.display());
|
||||||
|
TypeFace2.deepCopyOfficialYPointersFromPointers();
|
||||||
|
File songFolder = new File(selectedSong.title+"/"+data.difficulty);
|
||||||
|
if (!songFolder.exists()) {
|
||||||
|
songFolder.mkdirs();
|
||||||
|
}
|
||||||
|
File[] songFolderFiles = songFolder.listFiles();
|
||||||
|
int playId = songFolderFiles.length;
|
||||||
|
final File playFolder = new File(selectedSong.title+"/"+data.difficulty+"/"+playId);
|
||||||
|
playFolder.mkdir();
|
||||||
|
recordedResults=true;
|
||||||
|
lastcool=data.cool;
|
||||||
|
lastfine=data.fine;
|
||||||
|
lastsafe=data.safe;
|
||||||
|
lastsad=data.sad;
|
||||||
|
lastworst=data.worst;
|
||||||
|
lastpercent=data.percent;
|
||||||
|
lastcombo=data.combo;
|
||||||
|
lastscore=data.score;
|
||||||
|
lastfail=data.fail;
|
||||||
|
File resultImage=new File(playFolder,selectedSong.title+"_"+data.difficulty+"play_"+data.cool+"_"+data.fine+"_"+data.safe+"_"+data.sad+"_"+data.worst+"_"+data.percent+""
|
||||||
|
+ "_"+data.combo+"_"+data.score+".png");
|
||||||
|
new File("scoreimage.png").renameTo(resultImage);
|
||||||
|
results.add(new Result(selectedSong.title,data.difficulty,data.cool,data.fine,data.safe,data.sad,data.worst,data.percent,data.mod,data.combo,data.score,data.fail,resultImage));
|
||||||
|
SoundUtils.playSound("collect_item.wav");
|
||||||
|
|
||||||
|
//gotoxy(800,64);
|
||||||
|
//click();
|
||||||
|
MYROBOT.setAutoDelay(0);
|
||||||
|
if (NEWSONGS.length==0) {
|
||||||
|
MYROBOT.keyPress(KeyEvent.VK_CONTROL);
|
||||||
|
MYROBOT.keyPress(KeyEvent.VK_SHIFT);
|
||||||
|
MYROBOT.keyPress(KeyEvent.VK_F11);
|
||||||
|
MYROBOT.keyRelease(KeyEvent.VK_F11);
|
||||||
|
MYROBOT.keyRelease(KeyEvent.VK_SHIFT);
|
||||||
|
MYROBOT.keyRelease(KeyEvent.VK_CONTROL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException|NumberFormatException|IndexOutOfBoundsException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (results.size()>0) {
|
||||||
|
recordingResults=true;
|
||||||
|
for (final Result r : results) {
|
||||||
|
r.songName=r.songName.equalsIgnoreCase("恋ノート")?"恋ノート////":r.songName.equalsIgnoreCase("雨のちSweetDrops")?"雨のちSweet*Drops":r.songName.equalsIgnoreCase("Equation+")?"Equation+**":r.songName.equalsIgnoreCase("PIANOGIRL")?"PIANO*GIRL":(r.songName.equalsIgnoreCase("16 -out of the gravity-"))?"1/6 -out of the gravity-":r.songName;
|
||||||
|
HttpClient httpclient = HttpClients.createDefault();
|
||||||
|
HttpPost httppost = new HttpPost("http://45.33.13.215:4501/submit");
|
||||||
|
|
||||||
|
// Request parameters and other properties.
|
||||||
|
List<NameValuePair> params = new ArrayList<NameValuePair>();
|
||||||
|
params.add(new BasicNameValuePair("song", r.songName));
|
||||||
|
params.add(new BasicNameValuePair("username", USERNAME));
|
||||||
|
params.add(new BasicNameValuePair("authentication_token", AUTHTOKEN));
|
||||||
|
params.add(new BasicNameValuePair("difficulty", r.difficulty));
|
||||||
|
params.add(new BasicNameValuePair("cool", Integer.toString(r.cool)));
|
||||||
|
params.add(new BasicNameValuePair("fine", Integer.toString(r.fine)));
|
||||||
|
params.add(new BasicNameValuePair("safe", Integer.toString(r.safe)));
|
||||||
|
params.add(new BasicNameValuePair("sad", Integer.toString(r.sad)));
|
||||||
|
params.add(new BasicNameValuePair("worst", Integer.toString(r.worst)));
|
||||||
|
params.add(new BasicNameValuePair("percent", Float.toString(r.percent)));
|
||||||
|
params.add(new BasicNameValuePair("fail", Boolean.toString(r.fail)));
|
||||||
|
params.add(new BasicNameValuePair("mod", r.mod));
|
||||||
|
params.add(new BasicNameValuePair("combo", Integer.toString(r.combo)));
|
||||||
|
params.add(new BasicNameValuePair("gameScore", Integer.toString(r.score)));
|
||||||
|
try {
|
||||||
|
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Execute and get the response.
|
||||||
|
HttpResponse response = null;
|
||||||
|
try {
|
||||||
|
response = httpclient.execute(httppost);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
HttpEntity entity = response.getEntity();
|
||||||
|
|
||||||
|
JSONObject report = null;
|
||||||
|
|
||||||
|
if (entity != null) {
|
||||||
|
try (InputStream instream = entity.getContent()) {
|
||||||
|
Scanner s = new Scanner(instream).useDelimiter("\\A");
|
||||||
|
String result = s.hasNext() ? s.next() : "";
|
||||||
|
report=new JSONObject(result);
|
||||||
|
instream.close();
|
||||||
|
} catch (UnsupportedOperationException | IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final JSONObject finalReport=report;
|
||||||
|
|
||||||
|
System.out.println("Submitting screenshot for "+r.f);
|
||||||
|
Thread t = new Thread() {
|
||||||
|
public void run() {
|
||||||
|
HashMap<String,String> s = new HashMap<>();
|
||||||
|
s.put("username",USERNAME);
|
||||||
|
s.put("authentication_token",AUTHTOKEN);
|
||||||
|
s.put("playid",Integer.toString(finalReport.getInt("id")));
|
||||||
|
WebUtils.POSTimage("http://projectdivar.com/upload", r.f, s);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
t.start();
|
||||||
|
}
|
||||||
|
results.clear();
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONObject obj = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/rating/"+USERNAME);
|
||||||
|
JSONObject obj2 = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/bestplay/"+USERNAME+"/"+URLEncoder.encode(MyRobot.p.songname, StandardCharsets.UTF_8.toString()).replaceAll("\\+", "%20")+"/"+difficulty);
|
||||||
|
p.lastRating = p.overallrating;
|
||||||
|
if (obj2.has("score")) {
|
||||||
|
double newScore = obj2.getDouble("score");
|
||||||
|
if (newScore>p.lastScore) {
|
||||||
|
p.bestPlayTime=System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
p.lastScore = newScore;
|
||||||
|
}
|
||||||
|
p.overallrating = (int)obj.getDouble("rating");
|
||||||
|
if (p.lastRating<p.overallrating) {p.ratingTime=System.currentTimeMillis();}
|
||||||
|
p.pullData(selectedSong.title, difficulty);
|
||||||
|
} catch (JSONException | IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
recordingResults=false;
|
||||||
}
|
}
|
||||||
|
if (!OnResultsScreen() && recordedResults) {
|
||||||
final JSONObject finalReport=report;
|
recordedResults=false;
|
||||||
|
|
||||||
System.out.println("Submitting screenshot for "+r.f);
|
|
||||||
Thread t = new Thread() {
|
|
||||||
public void run() {
|
|
||||||
HashMap<String,String> s = new HashMap<>();
|
|
||||||
s.put("username",USERNAME);
|
|
||||||
s.put("authentication_token",AUTHTOKEN);
|
|
||||||
s.put("playid",Integer.toString(finalReport.getInt("id")));
|
|
||||||
WebUtils.POSTimage("http://projectdivar.com/upload", r.f, s);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
t.start();
|
|
||||||
}
|
|
||||||
results.clear();
|
|
||||||
|
|
||||||
try {
|
|
||||||
JSONObject obj = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/rating/"+USERNAME);
|
|
||||||
JSONObject obj2 = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/bestplay/"+USERNAME+"/"+URLEncoder.encode(MyRobot.p.songname, StandardCharsets.UTF_8.toString()).replaceAll("\\+", "%20")+"/"+difficulty);
|
|
||||||
p.lastRating = p.overallrating;
|
|
||||||
if (obj2.has("score")) {
|
|
||||||
double newScore = obj2.getDouble("score");
|
|
||||||
if (newScore>p.lastScore) {
|
|
||||||
p.bestPlayTime=System.currentTimeMillis();
|
|
||||||
}
|
|
||||||
p.lastScore = newScore;
|
|
||||||
}
|
}
|
||||||
p.overallrating = (int)obj.getDouble("rating");
|
|
||||||
if (p.lastRating<p.overallrating) {p.ratingTime=System.currentTimeMillis();}
|
|
||||||
p.pullData(selectedSong.title, difficulty);
|
|
||||||
} catch (JSONException | IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
recordingResults=false;
|
|
||||||
}
|
|
||||||
if (!OnResultsScreen() && recordedResults) {
|
|
||||||
recordedResults=false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
MYROBOT.refreshScreen();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
MYROBOT.refreshScreen();
|
|
||||||
}
|
|
||||||
}catch(Exception e) {
|
}catch(Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -594,7 +590,6 @@ public class MyRobot{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void GetCurrentSong() throws IOException {
|
private void GetCurrentSong() throws IOException {
|
||||||
|
|
||||||
BufferedImage img=null;
|
BufferedImage img=null;
|
||||||
long r=0,g=0,b=0;
|
long r=0,g=0,b=0;
|
||||||
if (!FUTURETONE) {
|
if (!FUTURETONE) {
|
||||||
@ -779,6 +774,8 @@ public class MyRobot{
|
|||||||
selectedSong=new SongData("LIKE THE WIND",0,0,0);
|
selectedSong=new SongData("LIKE THE WIND",0,0,0);
|
||||||
difficulty="H";
|
difficulty="H";
|
||||||
|
|
||||||
|
RunTest("test61.png",467,21,0,0,0,103.48f,"EX","HS",488,514440,false,Mode.MEGAMIX);
|
||||||
|
RunTest("test60.png",430,88,2,0,3,95.05f,"EX","HS",298,538510,false,Mode.MEGAMIX);
|
||||||
RunTest("test59.png",535,114,13,12,28,79.04f,"EXEX","HS",148,540700,false,Mode.MEGAMIX);
|
RunTest("test59.png",535,114,13,12,28,79.04f,"EXEX","HS",148,540700,false,Mode.MEGAMIX);
|
||||||
RunTest("test58.png",314,49,4,1,12,94.94f,"EXEX","HS",185,561682,false,Mode.FUTURETONE);
|
RunTest("test58.png",314,49,4,1,12,94.94f,"EXEX","HS",185,561682,false,Mode.FUTURETONE);
|
||||||
RunTest("test57.png",449,50,2,0,1,101.28f,"EXEX","HS",366,595859,false,Mode.FUTURETONE);
|
RunTest("test57.png",449,50,2,0,1,101.28f,"EXEX","HS",366,595859,false,Mode.FUTURETONE);
|
||||||
@ -895,7 +892,6 @@ public class MyRobot{
|
|||||||
System.out.println("Running test "+_img);
|
System.out.println("Running test "+_img);
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
String testdir="testsuite";
|
String testdir="testsuite";
|
||||||
Point offset = new Point(418,204);
|
|
||||||
File tmp = new File("tmp");
|
File tmp = new File("tmp");
|
||||||
if (tmp.exists()) {
|
if (tmp.exists()) {
|
||||||
FileUtils.deleteFile(tmp);
|
FileUtils.deleteFile(tmp);
|
||||||
@ -942,7 +938,6 @@ public class MyRobot{
|
|||||||
}
|
}
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
TypeFace2.deepCopyDefaultYPointers();
|
|
||||||
System.out.println("\tPassed ("+(System.currentTimeMillis()-startTime)+"ms)!");
|
System.out.println("\tPassed ("+(System.currentTimeMillis()-startTime)+"ms)!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -957,7 +952,7 @@ public class MyRobot{
|
|||||||
System.out.println("Switching to Megamix");
|
System.out.println("Switching to Megamix");
|
||||||
SongData.loadSongsFromFile();
|
SongData.loadSongsFromFile();
|
||||||
LASTMODE_FUTURETONE=false;
|
LASTMODE_FUTURETONE=false;
|
||||||
TypeFace2.deepCopyDefaultYPointers();
|
TypeFace2.deepCopyDefaultOfficialYPointers();
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
@ -970,7 +965,7 @@ public class MyRobot{
|
|||||||
System.out.println("Switching to Future Tone");
|
System.out.println("Switching to Future Tone");
|
||||||
SongData.loadSongsFromFile();
|
SongData.loadSongsFromFile();
|
||||||
LASTMODE_FUTURETONE=true;
|
LASTMODE_FUTURETONE=true;
|
||||||
TypeFace2.deepCopyDefaultYPointers();
|
TypeFace2.deepCopyDefaultOfficialYPointers();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
stillOnSongSelect=0;
|
stillOnSongSelect=0;
|
||||||
|
@ -67,6 +67,7 @@ public class TypeFace2 {
|
|||||||
|
|
||||||
public final static int[] DEFAULT_YPOINTERS = new int[] {-1,-1,-1,-1,-1,-1,-1,-1};
|
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 int[] ypointers = new int[] {-1,-1,-1,-1,-1,-1,-1,-1};
|
||||||
|
public static int[] officialypointers = new int[] {-1,-1,-1,-1,-1,-1,-1,-1};
|
||||||
|
|
||||||
public static void deepCopyDefaultYPointers() {
|
public static void deepCopyDefaultYPointers() {
|
||||||
ypointers = new int[DEFAULT_YPOINTERS.length];
|
ypointers = new int[DEFAULT_YPOINTERS.length];
|
||||||
@ -74,8 +75,21 @@ public class TypeFace2 {
|
|||||||
ypointers[i]=DEFAULT_YPOINTERS[i];
|
ypointers[i]=DEFAULT_YPOINTERS[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static void deepCopyDefaultOfficialYPointers() {
|
||||||
|
officialypointers = new int[DEFAULT_YPOINTERS.length];
|
||||||
|
for (int i=0;i<DEFAULT_YPOINTERS.length;i++) {
|
||||||
|
officialypointers[i]=DEFAULT_YPOINTERS[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void deepCopyOfficialYPointersFromPointers() {
|
||||||
|
officialypointers = new int[ypointers.length];
|
||||||
|
for (int i=0;i<ypointers.length;i++) {
|
||||||
|
officialypointers[i]=ypointers[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Result getAllData(BufferedImage img, boolean debug) throws IOException {
|
public Result getAllData(BufferedImage img, boolean debug) throws IOException {
|
||||||
|
deepCopyDefaultYPointers();
|
||||||
BufferedImage img2 = ImageUtils.toBufferedImage(img.getScaledInstance(1280 , 720, Image.SCALE_SMOOTH));
|
BufferedImage img2 = ImageUtils.toBufferedImage(img.getScaledInstance(1280 , 720, Image.SCALE_SMOOTH));
|
||||||
Result result = new Result("","",-1,-1,-1,-1,-1,-1f);
|
Result result = new Result("","",-1,-1,-1,-1,-1,-1f);
|
||||||
int[] finalNumbers = new int[5];
|
int[] finalNumbers = new int[5];
|
||||||
@ -135,10 +149,10 @@ public class TypeFace2 {
|
|||||||
float percent = -1f;
|
float percent = -1f;
|
||||||
switch (result.mode) {
|
switch (result.mode) {
|
||||||
case MEGAMIX:{
|
case MEGAMIX:{
|
||||||
percent = extractPercentFromImage(img2,debug);
|
percent = extractPercentFromImage(img2,debug,pointerAccumulator);
|
||||||
}break;
|
}break;
|
||||||
case FUTURETONE:{
|
case FUTURETONE:{
|
||||||
percent = extractFutureTonePercentFromImage(img2,debug);
|
percent = extractFutureTonePercentFromImage(img2,debug,pointerAccumulator);
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
ypointers[pointerAccumulator++] = ypointer;
|
ypointers[pointerAccumulator++] = ypointer;
|
||||||
@ -301,12 +315,8 @@ public class TypeFace2 {
|
|||||||
}
|
}
|
||||||
return diffs[lowestIndex];
|
return diffs[lowestIndex];
|
||||||
}
|
}
|
||||||
|
|
||||||
public float extractPercentFromImage(BufferedImage img) throws IOException {
|
|
||||||
return extractPercentFromImage(img,false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public float extractFutureTonePercentFromImage(BufferedImage img,boolean debug) throws IOException {
|
public float extractFutureTonePercentFromImage(BufferedImage img,boolean debug,int iteration) throws IOException {
|
||||||
//1180,167
|
//1180,167
|
||||||
//second part: 1123
|
//second part: 1123
|
||||||
String decimal = "";
|
String decimal = "";
|
||||||
@ -315,6 +325,13 @@ public class TypeFace2 {
|
|||||||
ypointer=FUTURETONE_RECT_SEARCH_PCT.y;
|
ypointer=FUTURETONE_RECT_SEARCH_PCT.y;
|
||||||
BufferedImage test = null;
|
BufferedImage test = null;
|
||||||
|
|
||||||
|
boolean startPointer=officialypointers[iteration]>=0;
|
||||||
|
|
||||||
|
if (startPointer) {
|
||||||
|
ypointer=officialypointers[iteration];
|
||||||
|
//System.out.println("Found a saved ypointer of "+ypointer);
|
||||||
|
}
|
||||||
|
|
||||||
trialloop:
|
trialloop:
|
||||||
while (ypointer<FUTURETONE_RECT_SEARCH_PCT.height+FUTURETONE_RECT_SEARCH_PCT.y) {
|
while (ypointer<FUTURETONE_RECT_SEARCH_PCT.height+FUTURETONE_RECT_SEARCH_PCT.y) {
|
||||||
xpointer=FUTURETONE_RECT_SEARCH_PCT.x;
|
xpointer=FUTURETONE_RECT_SEARCH_PCT.x;
|
||||||
@ -397,7 +414,20 @@ public class TypeFace2 {
|
|||||||
if (decimal.length()>0) {
|
if (decimal.length()>0) {
|
||||||
break trialloop;
|
break trialloop;
|
||||||
}
|
}
|
||||||
ypointer++;
|
if (startPointer) {
|
||||||
|
startPointer=false;
|
||||||
|
ypointer=FUTURETONE_RECT_SEARCH_PCT.y;
|
||||||
|
//System.out.println("Could not find with saved ypointer. Switching back to old ypointer.");
|
||||||
|
} else {
|
||||||
|
ypointer++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
startPointer=officialypointers[iteration]>=0;
|
||||||
|
|
||||||
|
if (startPointer) {
|
||||||
|
ypointer=officialypointers[iteration];
|
||||||
|
//System.out.println("Found a saved ypointer of "+ypointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
xpointer=FUTURETONE_RECT_SEARCH_PCT2.x;
|
xpointer=FUTURETONE_RECT_SEARCH_PCT2.x;
|
||||||
@ -484,7 +514,13 @@ public class TypeFace2 {
|
|||||||
if (integer.length()>0) {
|
if (integer.length()>0) {
|
||||||
break trialloop;
|
break trialloop;
|
||||||
}
|
}
|
||||||
ypointer++;
|
if (startPointer) {
|
||||||
|
startPointer=false;
|
||||||
|
ypointer=FUTURETONE_RECT_SEARCH_PCT2.y;
|
||||||
|
//System.out.println("Could not find with saved ypointer. Switching back to old ypointer.");
|
||||||
|
} else {
|
||||||
|
ypointer++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (integer.length()>0&&decimal.length()>0) {
|
if (integer.length()>0&&decimal.length()>0) {
|
||||||
return Float.parseFloat(integer+"."+decimal);
|
return Float.parseFloat(integer+"."+decimal);
|
||||||
@ -493,7 +529,7 @@ public class TypeFace2 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public float extractPercentFromImage(BufferedImage img,boolean debug) throws IOException {
|
public float extractPercentFromImage(BufferedImage img,boolean debug,int iteration) throws IOException {
|
||||||
//1180,167
|
//1180,167
|
||||||
//second part: 1123
|
//second part: 1123
|
||||||
String decimal = "";
|
String decimal = "";
|
||||||
@ -502,6 +538,13 @@ public class TypeFace2 {
|
|||||||
ypointer=MEGAMIX_RECT_SEARCH_PCT.y;
|
ypointer=MEGAMIX_RECT_SEARCH_PCT.y;
|
||||||
BufferedImage test = null;
|
BufferedImage test = null;
|
||||||
|
|
||||||
|
boolean startPointer=officialypointers[iteration]>=0;
|
||||||
|
|
||||||
|
if (startPointer) {
|
||||||
|
ypointer=officialypointers[iteration];
|
||||||
|
//System.out.println("Found a saved ypointer of "+ypointer);
|
||||||
|
}
|
||||||
|
|
||||||
trialloop:
|
trialloop:
|
||||||
while (ypointer<MEGAMIX_RECT_SEARCH_PCT.height+MEGAMIX_RECT_SEARCH_PCT.y) {
|
while (ypointer<MEGAMIX_RECT_SEARCH_PCT.height+MEGAMIX_RECT_SEARCH_PCT.y) {
|
||||||
xpointer=MEGAMIX_RECT_SEARCH_PCT.x;
|
xpointer=MEGAMIX_RECT_SEARCH_PCT.x;
|
||||||
@ -584,7 +627,20 @@ public class TypeFace2 {
|
|||||||
if (decimal.length()>0) {
|
if (decimal.length()>0) {
|
||||||
break trialloop;
|
break trialloop;
|
||||||
}
|
}
|
||||||
ypointer++;
|
if (startPointer) {
|
||||||
|
startPointer=false;
|
||||||
|
ypointer=MEGAMIX_RECT_SEARCH_PCT.y;
|
||||||
|
//System.out.println("Could not find with saved ypointer. Switching back to old ypointer.");
|
||||||
|
} else {
|
||||||
|
ypointer++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
startPointer=officialypointers[iteration]>=0;
|
||||||
|
|
||||||
|
if (startPointer) {
|
||||||
|
ypointer=officialypointers[iteration];
|
||||||
|
//System.out.println("Found a saved ypointer of "+ypointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
xpointer=MEGAMIX_RECT_SEARCH_PCT2.x;
|
xpointer=MEGAMIX_RECT_SEARCH_PCT2.x;
|
||||||
@ -605,29 +661,6 @@ public class TypeFace2 {
|
|||||||
for (int y=0;y<29;y++) {
|
for (int y=0;y<29;y++) {
|
||||||
Color fontCol = new Color(percentfont.getRGB(x+i*24,y));
|
Color fontCol = new Color(percentfont.getRGB(x+i*24,y));
|
||||||
Color pixelCol = new Color(img.getRGB(xpointer-24+x+1, y+ypointer));
|
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 (fontCol.equals(Color.RED)) {
|
||||||
if (lightColorCheck(pixelCol)) {
|
if (lightColorCheck(pixelCol)) {
|
||||||
@ -694,7 +727,13 @@ public class TypeFace2 {
|
|||||||
if (integer.length()>0) {
|
if (integer.length()>0) {
|
||||||
break trialloop;
|
break trialloop;
|
||||||
}
|
}
|
||||||
ypointer++;
|
if (startPointer) {
|
||||||
|
startPointer=false;
|
||||||
|
ypointer=MEGAMIX_RECT_SEARCH_PCT2.y;
|
||||||
|
//System.out.println("Could not find with saved ypointer. Switching back to old ypointer.");
|
||||||
|
} else {
|
||||||
|
ypointer++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (integer.length()>0&&decimal.length()>0) {
|
if (integer.length()>0&&decimal.length()>0) {
|
||||||
return Float.parseFloat(integer+"."+decimal);
|
return Float.parseFloat(integer+"."+decimal);
|
||||||
@ -726,11 +765,11 @@ public class TypeFace2 {
|
|||||||
ypointer=0;
|
ypointer=0;
|
||||||
String total = "";
|
String total = "";
|
||||||
|
|
||||||
boolean startPointer=ypointers[iteration]>=0;
|
boolean startPointer=officialypointers[iteration]>=0;
|
||||||
|
|
||||||
if (startPointer) {
|
if (startPointer) {
|
||||||
ypointer=ypointers[iteration];
|
ypointer=officialypointers[iteration];
|
||||||
System.out.println("Found a saved ypointer of "+ypointer);
|
//System.out.println("Found a saved ypointer of "+ypointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
trialloop:
|
trialloop:
|
||||||
@ -808,7 +847,7 @@ public class TypeFace2 {
|
|||||||
if (startPointer) {
|
if (startPointer) {
|
||||||
startPointer=false;
|
startPointer=false;
|
||||||
ypointer=0;
|
ypointer=0;
|
||||||
System.out.println("Could not find with saved ypointer. Switching back to old ypointer.");
|
//System.out.println("Could not find with saved ypointer. Switching back to old ypointer.");
|
||||||
} else {
|
} else {
|
||||||
ypointer++;
|
ypointer++;
|
||||||
}
|
}
|
||||||
@ -828,10 +867,10 @@ public class TypeFace2 {
|
|||||||
ypointer=0;
|
ypointer=0;
|
||||||
String total = "";
|
String total = "";
|
||||||
|
|
||||||
boolean startPointer=ypointers[iteration]>=0;
|
boolean startPointer=officialypointers[iteration]>=0;
|
||||||
|
|
||||||
if (startPointer) {
|
if (startPointer) {
|
||||||
ypointer=ypointers[iteration];
|
ypointer=officialypointers[iteration];
|
||||||
}
|
}
|
||||||
|
|
||||||
trialloop:
|
trialloop:
|
||||||
@ -930,10 +969,10 @@ public class TypeFace2 {
|
|||||||
ypointer=0;
|
ypointer=0;
|
||||||
String total = "";
|
String total = "";
|
||||||
|
|
||||||
boolean startPointer=ypointers[iteration]>=0;
|
boolean startPointer=officialypointers[iteration]>=0;
|
||||||
|
|
||||||
if (startPointer) {
|
if (startPointer) {
|
||||||
ypointer=ypointers[iteration];
|
ypointer=officialypointers[iteration];
|
||||||
}
|
}
|
||||||
|
|
||||||
trialloop:
|
trialloop:
|
||||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |