Fixed bug where skinned old-style cursors were ignored. (part of #120)
Previously, enabling old-style cursors would try to load files "cursor2" and "cursortrail2". Now the actual files are loaded, and the -2 images are only used when no game skin image is provided. Added a hasGameSkinImage() method in GameImage to check if the "default" image is skinned (by a game skin). Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
This commit is contained in:
@@ -107,27 +107,24 @@ public class Cursor {
|
||||
public void draw(int mouseX, int mouseY, boolean mousePressed) {
|
||||
// determine correct cursor image
|
||||
Image cursor = null, cursorMiddle = null, cursorTrail = null;
|
||||
boolean skinned = GameImage.CURSOR.hasBeatmapSkinImage();
|
||||
boolean beatmapSkinned = GameImage.CURSOR.hasBeatmapSkinImage();
|
||||
boolean newStyle, hasMiddle;
|
||||
if (skinned) {
|
||||
Skin skin = Options.getSkin();
|
||||
if (beatmapSkinned) {
|
||||
newStyle = true; // osu! currently treats all beatmap cursors as new-style cursors
|
||||
hasMiddle = GameImage.CURSOR_MIDDLE.hasBeatmapSkinImage();
|
||||
} else
|
||||
newStyle = hasMiddle = Options.isNewCursorEnabled();
|
||||
if (skinned || newStyle) {
|
||||
if (newStyle || beatmapSkinned) {
|
||||
cursor = GameImage.CURSOR.getImage();
|
||||
cursorTrail = GameImage.CURSOR_TRAIL.getImage();
|
||||
} else {
|
||||
cursor = GameImage.CURSOR_OLD.getImage();
|
||||
cursorTrail = GameImage.CURSOR_TRAIL_OLD.getImage();
|
||||
cursor = GameImage.CURSOR.hasGameSkinImage() ? GameImage.CURSOR.getImage() : GameImage.CURSOR_OLD.getImage();
|
||||
cursorTrail = GameImage.CURSOR_TRAIL.hasGameSkinImage() ? GameImage.CURSOR_TRAIL.getImage() : GameImage.CURSOR_TRAIL_OLD.getImage();
|
||||
}
|
||||
if (hasMiddle)
|
||||
cursorMiddle = GameImage.CURSOR_MIDDLE.getImage();
|
||||
|
||||
int removeCount = 0;
|
||||
float FPSmod = Math.max(container.getFPS(), 1) / 60f;
|
||||
Skin skin = Options.getSkin();
|
||||
|
||||
// scale cursor
|
||||
float cursorScale = Options.getCursorScale();
|
||||
if (mousePressed && skin.isCursorExpanded())
|
||||
@@ -138,6 +135,8 @@ public class Cursor {
|
||||
}
|
||||
|
||||
// TODO: use an image buffer
|
||||
int removeCount = 0;
|
||||
float FPSmod = Math.max(container.getFPS(), 1) / 60f;
|
||||
if (newStyle) {
|
||||
// new style: add all points between cursor movements
|
||||
if (lastX < 0) {
|
||||
|
||||
Reference in New Issue
Block a user