Minor updates.
- Draw the playfield background in the song menu if a background cannot be drawn for the focused beatmap. - Added ScoreDB.deleteScore() method to delete a score from the database. - Added @author tags for curve-related classes (by fluddokt, #12). Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
This commit is contained in:
parent
63271c125c
commit
99bc944ed6
|
@ -44,6 +44,9 @@ public class ScoreDB {
|
|||
/** Score select statement. */
|
||||
private static PreparedStatement selectMapStmt, selectMapSetStmt;
|
||||
|
||||
/** Score deletion statement. */
|
||||
private static PreparedStatement deleteStmt;
|
||||
|
||||
// This class should not be instantiated.
|
||||
private ScoreDB() {}
|
||||
|
||||
|
@ -82,6 +85,10 @@ public class ScoreDB {
|
|||
"SELECT * FROM scores WHERE " +
|
||||
"MSID = ? AND title = ? AND artist = ? AND creator = ? ORDER BY version DESC"
|
||||
);
|
||||
deleteStmt = connection.prepareStatement(
|
||||
"DELETE FROM scores WHERE " +
|
||||
"MID = ? AND title = ? AND artist = ? AND creator = ? AND version = ?"
|
||||
);
|
||||
} catch (SQLException e) {
|
||||
ErrorHandler.error("Failed to prepare score insertion statement.", e, true);
|
||||
}
|
||||
|
@ -139,6 +146,23 @@ public class ScoreDB {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all the scores for the given beatmap from the database.
|
||||
* @param osu the OsuFile object
|
||||
*/
|
||||
public static void deleteScore(OsuFile osu) {
|
||||
try {
|
||||
deleteStmt.setInt(1, osu.beatmapID);
|
||||
deleteStmt.setString(2, osu.title);
|
||||
deleteStmt.setString(3, osu.artist);
|
||||
deleteStmt.setString(4, osu.creator);
|
||||
deleteStmt.setString(5, osu.version);
|
||||
deleteStmt.executeUpdate();
|
||||
} catch (SQLException e) {
|
||||
ErrorHandler.error("Failed to delete score from database.", e, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the game scores for an OsuFile map.
|
||||
* @param osu the OsuFile
|
||||
|
|
|
@ -20,6 +20,8 @@ package itdelatrisu.opsu.objects.curves;
|
|||
|
||||
/**
|
||||
* Representation of a Bezier curve with the distance between each point calculated.
|
||||
*
|
||||
* @author fluddokt (https://github.com/fluddokt)
|
||||
*/
|
||||
public class Bezier2 {
|
||||
/** The control points of the Bezier curve. */
|
||||
|
|
|
@ -29,6 +29,8 @@ import org.newdawn.slick.Image;
|
|||
/**
|
||||
* Representation of a curve along a Circumscribed Circle of three points.
|
||||
* http://en.wikipedia.org/wiki/Circumscribed_circle
|
||||
*
|
||||
* @author fluddokt (https://github.com/fluddokt)
|
||||
*/
|
||||
public class CircumscribedCircle extends Curve {
|
||||
/** PI constants. */
|
||||
|
|
|
@ -24,6 +24,8 @@ import org.newdawn.slick.Color;
|
|||
|
||||
/**
|
||||
* Representation of a curve.
|
||||
*
|
||||
* @author fluddokt (https://github.com/fluddokt)
|
||||
*/
|
||||
public abstract class Curve {
|
||||
/** The associated OsuHitObject. */
|
||||
|
|
|
@ -31,6 +31,8 @@ import org.newdawn.slick.Image;
|
|||
/**
|
||||
* Representation of a Bezier curve with equidistant points.
|
||||
* http://pomax.github.io/bezierinfo/#tracing
|
||||
*
|
||||
* @author fluddokt (https://github.com/fluddokt)
|
||||
*/
|
||||
public class LinearBezier extends Curve {
|
||||
/** The angles of the first and last control points for drawing. */
|
||||
|
|
|
@ -20,6 +20,8 @@ package itdelatrisu.opsu.objects.curves;
|
|||
|
||||
/**
|
||||
* A two-dimensional floating-point vector.
|
||||
*
|
||||
* @author fluddokt (https://github.com/fluddokt)
|
||||
*/
|
||||
public class Vec2f {
|
||||
/** Vector coordinates. */
|
||||
|
|
|
@ -177,6 +177,7 @@ public class Game extends BasicGameState {
|
|||
Image playfield = GameImage.PLAYFIELD.getImage();
|
||||
playfield.setAlpha(dimLevel);
|
||||
playfield.draw();
|
||||
playfield.setAlpha(1f);
|
||||
}
|
||||
|
||||
int trackPosition = MusicController.getPosition();
|
||||
|
|
|
@ -238,8 +238,11 @@ public class SongMenu extends BasicGameState {
|
|||
int mouseX = input.getMouseX(), mouseY = input.getMouseY();
|
||||
|
||||
// background
|
||||
if (focusNode != null)
|
||||
focusNode.osuFiles.get(focusNode.osuFileIndex).drawBG(width, height, 1.0f, true);
|
||||
if (focusNode != null) {
|
||||
OsuFile focusNodeOsu = focusNode.osuFiles.get(focusNode.osuFileIndex);
|
||||
if (!focusNodeOsu.drawBG(width, height, 1.0f, true))
|
||||
GameImage.PLAYFIELD.getImage().draw();
|
||||
}
|
||||
|
||||
// header setup
|
||||
float lowerBound = height * 0.15f;
|
||||
|
|
Loading…
Reference in New Issue
Block a user