Utilize old submission algorithm due to compression and lossy issues
going from png->jpg. Better to keep the image detection algorithms separated, they solve two different problems.
This commit is contained in:
parent
7e1b536a1d
commit
1deb107b39
@ -110,7 +110,7 @@ public class DrawCanvas extends JPanel{
|
||||
artist = obj.getString("artist");
|
||||
obj = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/bestplay/sigonasr2/"+URLEncoder.encode(MyRobot.p.songname, StandardCharsets.UTF_8.toString()).replaceAll("\\+", "%20")+"/"+difficulty);
|
||||
if (obj.has("cool")) {
|
||||
bestPlay = new Result(MyRobot.p.songname,difficulty,obj.getInt("cool"),obj.getInt("fine"),obj.getInt("safe"),obj.getInt("sad"),obj.getInt("worst"),(float)obj.getDouble("percent"),null);
|
||||
bestPlay = new Result(MyRobot.p.songname,difficulty,obj.getInt("cool"),obj.getInt("fine"),obj.getInt("safe"),obj.getInt("sad"),obj.getInt("worst"),(float)obj.getDouble("percent"));
|
||||
} else {
|
||||
bestPlay = null;
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.GraphicsDevice;
|
||||
import java.awt.GraphicsEnvironment;
|
||||
import java.awt.Image;
|
||||
import java.awt.Point;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.Robot;
|
||||
@ -38,7 +39,12 @@ import java.util.Scanner;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import javax.imageio.IIOImage;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.imageio.ImageWriteParam;
|
||||
import javax.imageio.ImageWriter;
|
||||
import javax.imageio.plugins.jpeg.JPEGImageWriteParam;
|
||||
import javax.imageio.stream.FileImageOutputStream;
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.ActionMap;
|
||||
import javax.swing.InputMap;
|
||||
@ -234,6 +240,8 @@ public class MyRobot{
|
||||
System.out.println("Waiting for results to populate...");
|
||||
} else
|
||||
if (fail!=lastfail || cool!=lastcool || lastfine!=fine || lastsafe!=safe || lastsad!=sad || lastworst!=worst /*|| lastpercent!=percent*/){
|
||||
System.out.println("Results for "+selectedSong.title+" "+difficulty+": "+cool+"/"+fine+"/"+safe+"/"+sad+"/"+worst+" "+percent+"%");
|
||||
|
||||
System.out.println("Results for "+selectedSong.title+" "+difficulty+": "+cool+"/"+fine+"/"+safe+"/"+sad+"/"+worst+" "+percent+"%");
|
||||
File songFolder = new File(selectedSong.title+"/"+difficulty);
|
||||
if (!songFolder.exists()) {
|
||||
@ -243,7 +251,6 @@ public class MyRobot{
|
||||
int playId = songFolderFiles.length;
|
||||
File playFolder = new File(selectedSong.title+"/"+difficulty+"/"+playId);
|
||||
playFolder.mkdir();
|
||||
File f = new File(playFolder,selectedSong.title+"_"+difficulty+"play_"+cool+"_"+fine+"_"+safe+"_"+sad+"_"+worst+"_"+percent+".png");
|
||||
try {
|
||||
/*FileUtils.copyFileDir(new File(tmp,"cool"), new File(playFolder,"cool"));
|
||||
FileUtils.copyFileDir(new File(tmp,"fine"), new File(playFolder,"fine"));
|
||||
@ -252,7 +259,10 @@ public class MyRobot{
|
||||
FileUtils.copyFileDir(new File(tmp,"worst"), new File(playFolder,"worst"));
|
||||
FileUtils.copyFileDir(new File(tmp,"percent"), new File(playFolder,"percent"));*/
|
||||
//FileUtils.deleteFile(tmp);
|
||||
ImageIO.write(MYROBOT.createScreenCapture(new Rectangle(418,204,1227,690)),"png",f);
|
||||
ImageIO.write(MYROBOT.createScreenCapture(new Rectangle(418,204,1227,690)),"png",new File(playFolder,selectedSong.title+"_"+difficulty+"play_"+cool+"_"+fine+"_"+safe+"_"+sad+"_"+worst+"_"+percent+".png"));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
recordedResults=true;
|
||||
lastcool=cool;
|
||||
lastfine=fine;
|
||||
@ -262,10 +272,8 @@ public class MyRobot{
|
||||
lastpercent=percent;
|
||||
lastfail=fail;
|
||||
|
||||
results.add(new Result(selectedSong.title,difficulty,cool,fine,safe,sad,worst,percent,fail,f));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
results.add(new Result(selectedSong.title,difficulty,cool,fine,safe,sad,worst,percent,fail));
|
||||
SoundUtils.playSound("collect_item.wav");
|
||||
gotoxy(800,64);
|
||||
click();
|
||||
MYROBOT.setAutoDelay(0);
|
||||
@ -280,13 +288,51 @@ public class MyRobot{
|
||||
if (results.size()>0) {
|
||||
recordingResults=true;
|
||||
for (Result r : results) {
|
||||
new Thread() {
|
||||
public void run() {
|
||||
HashMap<String,String> s = new HashMap<>();
|
||||
s.put("username","sigonasr2");
|
||||
s.put("authentication_token","sig");
|
||||
WebUtils.POSTimage("http://projectdivar.com/upload", r.f, s);
|
||||
SoundUtils.playSound("collect_item.wav");
|
||||
r.songName=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", "sigonasr2"));
|
||||
params.add(new BasicNameValuePair("authentication_token", "sig"));
|
||||
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", "HS"));
|
||||
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();
|
||||
|
||||
if (entity != null) {
|
||||
try (InputStream instream = entity.getContent()) {
|
||||
Scanner s = new Scanner(instream).useDelimiter("\\A");
|
||||
String result = s.hasNext() ? s.next() : "";
|
||||
System.out.println(result);
|
||||
instream.close();
|
||||
} catch (UnsupportedOperationException | IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
results.clear();
|
||||
|
||||
try {
|
||||
JSONObject obj = FileUtils.readJsonFromUrl("http://45.33.13.215:4501/rating/sigonasr2");
|
||||
@ -297,10 +343,6 @@ public class MyRobot{
|
||||
} catch (JSONException | IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
}
|
||||
results.clear();
|
||||
/*MYROBOT.setAutoDelay(0);
|
||||
MYROBOT.keyPress(KeyEvent.VK_ALT);
|
||||
MYROBOT.keyPress(KeyEvent.VK_TAB);
|
||||
|
@ -9,8 +9,7 @@ public class Result {
|
||||
int cool,fine,safe,sad,worst;
|
||||
float percent;
|
||||
boolean fail;
|
||||
File f;
|
||||
public Result(String song,String diff,int cool,int fine,int safe,int sad,int worst,float percent,File f) {
|
||||
public Result(String song,String diff,int cool,int fine,int safe,int sad,int worst,float percent) {
|
||||
this.songName=song;
|
||||
this.difficulty=diff;
|
||||
this.cool=cool;
|
||||
@ -19,10 +18,9 @@ public class Result {
|
||||
this.sad=sad;
|
||||
this.worst=worst;
|
||||
this.percent=percent;
|
||||
this.f=f;
|
||||
}
|
||||
public Result(String song,String diff,int cool,int fine,int safe,int sad,int worst,float percent,boolean fail,File f) {
|
||||
this(song,diff,cool,fine,safe,sad,worst,percent,f);
|
||||
public Result(String song,String diff,int cool,int fine,int safe,int sad,int worst,float percent,boolean fail) {
|
||||
this(song,diff,cool,fine,safe,sad,worst,percent);
|
||||
this.fail=fail;
|
||||
}
|
||||
public String display() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user