more more easier access
This commit is contained in:
parent
0fc2008f2a
commit
65017364bd
|
@ -858,7 +858,7 @@ public class GameData {
|
||||||
if (comboMax == fullObjectCount) {
|
if (comboMax == fullObjectCount) {
|
||||||
GameImage.RANKING_PERFECT.getImage().draw(
|
GameImage.RANKING_PERFECT.getImage().draw(
|
||||||
width * 0.08f,
|
width * 0.08f,
|
||||||
(height * 0.99f) - GameImage.RANKING_PERFECT.getImage().getHeight()
|
(height * 0.99f) - GameImage.RANKING_PERFECT.getHeight()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -338,13 +338,13 @@ public enum GameImage {
|
||||||
STAR ("star", "png", false, false) {
|
STAR ("star", "png", false, false) {
|
||||||
@Override
|
@Override
|
||||||
protected Image process_sub(Image img, int w, int h) {
|
protected Image process_sub(Image img, int w, int h) {
|
||||||
return img.getScaledCopy((MENU_BUTTON_BG.getImage().getHeight() * 0.16f) / img.getHeight());
|
return img.getScaledCopy((MENU_BUTTON_BG.getHeight() * 0.16f) / img.getHeight());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
STAR2 ("star2", "png", false, false) {
|
STAR2 ("star2", "png", false, false) {
|
||||||
@Override
|
@Override
|
||||||
protected Image process_sub(Image img, int w, int h) {
|
protected Image process_sub(Image img, int w, int h) {
|
||||||
return img.getScaledCopy((MENU_BUTTON_BG.getImage().getHeight() * 0.33f) / img.getHeight());
|
return img.getScaledCopy((MENU_BUTTON_BG.getHeight() * 0.33f) / img.getHeight());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -661,6 +661,14 @@ public enum GameImage {
|
||||||
setDefaultImage();
|
setDefaultImage();
|
||||||
return (skinImage != null) ? skinImage : defaultImage;
|
return (skinImage != null) ? skinImage : defaultImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getHeight() {
|
||||||
|
return getImage().getHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getWidth() {
|
||||||
|
return getImage().getWidth();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the image associated with this resource, with a scale applied.
|
* Returns the image associated with this resource, with a scale applied.
|
||||||
|
@ -670,6 +678,14 @@ public enum GameImage {
|
||||||
return this.getImage().getScaledCopy(scale);
|
return this.getImage().getScaledCopy(scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the image associated with this resource, with a scale applied.
|
||||||
|
* The beatmap skin image takes priority over the default image.
|
||||||
|
*/
|
||||||
|
public Image getScaledImage(int width, int height) {
|
||||||
|
return this.getImage().getScaledCopy(width, height);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an Animation based on the image array.
|
* Returns an Animation based on the image array.
|
||||||
* If no image array exists, returns the single image as an animation.
|
* If no image array exists, returns the single image as an animation.
|
||||||
|
|
|
@ -100,7 +100,7 @@ public enum GameMod {
|
||||||
*/
|
*/
|
||||||
public void init(int width, int height) {
|
public void init(int width, int height) {
|
||||||
float multY = Fonts.LARGE.getLineHeight() * 2 + height * 0.06f;
|
float multY = Fonts.LARGE.getLineHeight() * 2 + height * 0.06f;
|
||||||
float offsetY = GameImage.MOD_EASY.getImage().getHeight() * 1.5f;
|
float offsetY = GameImage.MOD_EASY.getHeight() * 1.5f;
|
||||||
this.x = width / 30f;
|
this.x = width / 30f;
|
||||||
this.y = multY + Fonts.LARGE.getLineHeight() * 3f + offsetY * index;
|
this.y = multY + Fonts.LARGE.getLineHeight() * 3f + offsetY * index;
|
||||||
}
|
}
|
||||||
|
@ -193,7 +193,7 @@ public enum GameMod {
|
||||||
|
|
||||||
// create buttons
|
// create buttons
|
||||||
float baseX = Category.EASY.getX() + Fonts.LARGE.getWidth(Category.EASY.getName()) * 1.25f;
|
float baseX = Category.EASY.getX() + Fonts.LARGE.getWidth(Category.EASY.getName()) * 1.25f;
|
||||||
float offsetX = GameImage.MOD_EASY.getImage().getWidth() * 2.1f;
|
float offsetX = GameImage.MOD_EASY.getWidth() * 2.1f;
|
||||||
for (GameMod mod : GameMod.values()) {
|
for (GameMod mod : GameMod.values()) {
|
||||||
Image img = mod.image.getImage();
|
Image img = mod.image.getImage();
|
||||||
mod.button = new MenuButton(img,
|
mod.button = new MenuButton(img,
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class ScoreData implements Comparable<ScoreData> {
|
||||||
baseX = containerWidth * 0.01f;
|
baseX = containerWidth * 0.01f;
|
||||||
baseY = topY;
|
baseY = topY;
|
||||||
buttonWidth = containerWidth * 0.4f;
|
buttonWidth = containerWidth * 0.4f;
|
||||||
float gradeHeight = GameImage.MENU_BUTTON_BG.getImage().getHeight() * 0.45f;
|
float gradeHeight = GameImage.MENU_BUTTON_BG.getHeight() * 0.45f;
|
||||||
buttonHeight = Math.max(gradeHeight, Fonts.DEFAULT.getLineHeight() * 3.03f);
|
buttonHeight = Math.max(gradeHeight, Fonts.DEFAULT.getLineHeight() * 3.03f);
|
||||||
buttonOffset = buttonHeight + gradeHeight / 10f;
|
buttonOffset = buttonHeight + gradeHeight / 10f;
|
||||||
buttonAreaHeight = (SongMenu.MAX_SCORE_BUTTONS - 1) * buttonOffset + buttonHeight;
|
buttonAreaHeight = (SongMenu.MAX_SCORE_BUTTONS - 1) * buttonOffset + buttonHeight;
|
||||||
|
|
|
@ -131,7 +131,7 @@ public class DownloadNode {
|
||||||
* @param index the index (to offset the button from the topmost button)
|
* @param index the index (to offset the button from the topmost button)
|
||||||
*/
|
*/
|
||||||
public static boolean resultIconContains(float cx, float cy, int index) {
|
public static boolean resultIconContains(float cx, float cy, int index) {
|
||||||
int iconWidth = GameImage.MUSIC_PLAY.getImage().getWidth();
|
int iconWidth = GameImage.MUSIC_PLAY.getWidth();
|
||||||
float x = buttonBaseX + buttonWidth * 0.001f;
|
float x = buttonBaseX + buttonWidth * 0.001f;
|
||||||
float y = buttonBaseY + (index * buttonOffset) + buttonHeight / 2f;
|
float y = buttonBaseY + (index * buttonOffset) + buttonHeight / 2f;
|
||||||
return ((cx > x && cx < x + iconWidth) &&
|
return ((cx > x && cx < x + iconWidth) &&
|
||||||
|
@ -186,7 +186,7 @@ public class DownloadNode {
|
||||||
* @param index the index (to offset the button from the topmost button)
|
* @param index the index (to offset the button from the topmost button)
|
||||||
*/
|
*/
|
||||||
public static boolean downloadIconContains(float cx, float cy, int index) {
|
public static boolean downloadIconContains(float cx, float cy, int index) {
|
||||||
int iconWidth = GameImage.DELETE.getImage().getWidth();
|
int iconWidth = GameImage.DELETE.getWidth();
|
||||||
float edgeX = infoBaseX + infoWidth * 0.985f;
|
float edgeX = infoBaseX + infoWidth * 0.985f;
|
||||||
float y = infoBaseY + (index * infoHeight);
|
float y = infoBaseY + (index * infoHeight);
|
||||||
float marginY = infoHeight * 0.04f;
|
float marginY = infoHeight * 0.04f;
|
||||||
|
|
|
@ -66,6 +66,7 @@ import yugecin.opsudance.ui.OptionsOverlay;
|
||||||
import yugecin.opsudance.ui.StoryboardOverlay;
|
import yugecin.opsudance.ui.StoryboardOverlay;
|
||||||
import yugecin.opsudance.utils.GLHelper;
|
import yugecin.opsudance.utils.GLHelper;
|
||||||
|
|
||||||
|
import static itdelatrisu.opsu.GameImage.*;
|
||||||
import static itdelatrisu.opsu.ui.Colors.*;
|
import static itdelatrisu.opsu.ui.Colors.*;
|
||||||
import static org.lwjgl.input.Keyboard.*;
|
import static org.lwjgl.input.Keyboard.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
|
@ -551,8 +552,8 @@ public class Game extends ComplexOpsuState {
|
||||||
// show retries
|
// show retries
|
||||||
if (retries >= 2 && timeDiff >= -1000) {
|
if (retries >= 2 && timeDiff >= -1000) {
|
||||||
int retryHeight = Math.max(
|
int retryHeight = Math.max(
|
||||||
GameImage.SCOREBAR_BG.getImage().getHeight(),
|
GameImage.SCOREBAR_BG.getHeight(),
|
||||||
GameImage.SCOREBAR_KI.getImage().getHeight()
|
GameImage.SCOREBAR_KI.getHeight()
|
||||||
);
|
);
|
||||||
float oldAlpha = Colors.WHITE_FADE.a;
|
float oldAlpha = Colors.WHITE_FADE.a;
|
||||||
if (timeDiff < -500)
|
if (timeDiff < -500)
|
||||||
|
@ -588,7 +589,7 @@ public class Game extends ComplexOpsuState {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (timeDiff < 1500 * speedModifier) {
|
if (timeDiff < 1500 * speedModifier) {
|
||||||
GameImage.COUNTDOWN_2.getImage().draw(width - GameImage.COUNTDOWN_2.getImage().getWidth(), 0);
|
COUNTDOWN_2.getImage().draw(width - COUNTDOWN_2.getWidth(), 0);
|
||||||
if (!countdown2Sound) {
|
if (!countdown2Sound) {
|
||||||
SoundController.playSound(SoundEffect.COUNT2);
|
SoundController.playSound(SoundEffect.COUNT2);
|
||||||
countdown2Sound = true;
|
countdown2Sound = true;
|
||||||
|
@ -692,8 +693,8 @@ public class Game extends ComplexOpsuState {
|
||||||
g.fillRect(0, 0, width, height);
|
g.fillRect(0, 0, width, height);
|
||||||
|
|
||||||
// draw glowing hit select circle and pulse effect
|
// draw glowing hit select circle and pulse effect
|
||||||
int circleDiameter = GameImage.HITCIRCLE.getImage().getWidth();
|
int circleDiameter = HITCIRCLE.getWidth();
|
||||||
Image cursorCircle = GameImage.HITCIRCLE_SELECT.getImage().getScaledCopy(circleDiameter, circleDiameter);
|
Image cursorCircle = HITCIRCLE_SELECT.getScaledImage(circleDiameter, circleDiameter);
|
||||||
cursorCircle.setAlpha(1.0f);
|
cursorCircle.setAlpha(1.0f);
|
||||||
cursorCircle.drawCentered(pausedMousePosition.x, pausedMousePosition.y);
|
cursorCircle.drawCentered(pausedMousePosition.x, pausedMousePosition.y);
|
||||||
Image cursorCirclePulse = cursorCircle.getScaledCopy(1f + pausePulse);
|
Image cursorCirclePulse = cursorCircle.getScaledCopy(1f + pausePulse);
|
||||||
|
@ -1312,7 +1313,7 @@ public class Game extends ComplexOpsuState {
|
||||||
// returning from pause screen
|
// returning from pause screen
|
||||||
if (pauseTime > -1) {
|
if (pauseTime > -1) {
|
||||||
double distance = Math.hypot(pausedMousePosition.x - x, pausedMousePosition.y - y);
|
double distance = Math.hypot(pausedMousePosition.x - x, pausedMousePosition.y - y);
|
||||||
int circleRadius = GameImage.HITCIRCLE.getImage().getWidth() / 2;
|
int circleRadius = GameImage.HITCIRCLE.getWidth() / 2;
|
||||||
if (distance < circleRadius) {
|
if (distance < circleRadius) {
|
||||||
// unpause the game
|
// unpause the game
|
||||||
pauseTime = -1;
|
pauseTime = -1;
|
||||||
|
@ -1776,7 +1777,7 @@ public class Game extends ComplexOpsuState {
|
||||||
float xDiff = endPoint.x - startPoint.x;
|
float xDiff = endPoint.x - startPoint.x;
|
||||||
float yDiff = endPoint.y - startPoint.y;
|
float yDiff = endPoint.y - startPoint.y;
|
||||||
float dist = (float) Math.hypot(xDiff, yDiff);
|
float dist = (float) Math.hypot(xDiff, yDiff);
|
||||||
int numPoints = (int) ((dist - GameImage.HITCIRCLE.getImage().getWidth()) / followPointInterval);
|
int numPoints = (int) ((dist - GameImage.HITCIRCLE.getWidth()) / followPointInterval);
|
||||||
if (numPoints > 0) {
|
if (numPoints > 0) {
|
||||||
// set the image angle
|
// set the image angle
|
||||||
Image followPoint = GameImage.FOLLOWPOINT.getImage();
|
Image followPoint = GameImage.FOLLOWPOINT.getImage();
|
||||||
|
|
|
@ -180,7 +180,7 @@ public class MainMenu extends BaseOpsuState {
|
||||||
|
|
||||||
// initialize music buttons
|
// initialize music buttons
|
||||||
final int musicSize = (int) (this.textLineHeight * 0.8f);
|
final int musicSize = (int) (this.textLineHeight * 0.8f);
|
||||||
final float musicScale = (float) musicSize / MUSIC_STOP.getImage().getWidth();
|
final float musicScale = (float) musicSize / MUSIC_STOP.getWidth();
|
||||||
final int musicSpacing = (int) (musicSize * 0.8f) + musicSize; // (center to center)
|
final int musicSpacing = (int) (musicSize * 0.8f) + musicSize; // (center to center)
|
||||||
int x = width - this.textMarginX - musicSize / 2;
|
int x = width - this.textMarginX - musicSize / 2;
|
||||||
int y = this.textLineHeight * 2 + this.textLineHeight / 2;
|
int y = this.textLineHeight * 2 + this.textLineHeight / 2;
|
||||||
|
@ -247,19 +247,19 @@ public class MainMenu extends BaseOpsuState {
|
||||||
|
|
||||||
// logo & buttons
|
// logo & buttons
|
||||||
this.logo = new ImagePosition(MENU_LOGO.getImage());
|
this.logo = new ImagePosition(MENU_LOGO.getImage());
|
||||||
logoPositionOffsetX = 0.35f * MENU_LOGO.getImage().getHeight();
|
logoPositionOffsetX = 0.35f * MENU_LOGO.getHeight();
|
||||||
logoPosition = new AnimatedValue(1, 0, 1, AnimationEquation.OUT_QUAD);
|
logoPosition = new AnimatedValue(1, 0, 1, AnimationEquation.OUT_QUAD);
|
||||||
logoButtonAlpha = new AnimatedValue(200, 0f, 1f, AnimationEquation.LINEAR);
|
logoButtonAlpha = new AnimatedValue(200, 0f, 1f, AnimationEquation.LINEAR);
|
||||||
this.buttonsX = width2 - MENU_OPTIONS.getImage().getWidth() / 2;
|
this.buttonsX = width2 - MENU_OPTIONS.getWidth() / 2;
|
||||||
this.buttonPositions[0] = new ImagePosition(MENU_PLAY.getImage());
|
this.buttonPositions[0] = new ImagePosition(MENU_PLAY.getImage());
|
||||||
this.buttonPositions[1] = new ImagePosition(MENU_OPTIONS.getImage());
|
this.buttonPositions[1] = new ImagePosition(MENU_OPTIONS.getImage());
|
||||||
this.buttonPositions[2] = new ImagePosition(MENU_EXIT.getImage());
|
this.buttonPositions[2] = new ImagePosition(MENU_EXIT.getImage());
|
||||||
final int basey = height2 - MENU_OPTIONS.getImage().getHeight() / 2;
|
final int basey = height2 - MENU_OPTIONS.getHeight() / 2;
|
||||||
final float yoffset = MENU_LOGO.getImage().getHeight() * 0.196378f;
|
final float yoffset = MENU_LOGO.getHeight() * 0.196378f;
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
this.buttonPositions[i].width = MENU_OPTIONS.getImage().getWidth();
|
this.buttonPositions[i].width = MENU_OPTIONS.getWidth();
|
||||||
this.buttonPositions[i].y = (int) (basey + (i - 1f) * yoffset);
|
this.buttonPositions[i].y = (int) (basey + (i - 1f) * yoffset);
|
||||||
this.buttonPositions[i].height = MENU_OPTIONS.getImage().getHeight();
|
this.buttonPositions[i].height = MENU_OPTIONS.getHeight();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,8 +331,8 @@ public class MainMenu extends BaseOpsuState {
|
||||||
// draw buttons
|
// draw buttons
|
||||||
final float buttonProgress = this.buttonAnimation.getValue();
|
final float buttonProgress = this.buttonAnimation.getValue();
|
||||||
if (this.logoState != LogoState.DEFAULT && buttonProgress > 0f) {
|
if (this.logoState != LogoState.DEFAULT && buttonProgress > 0f) {
|
||||||
final int btnwidth = MENU_OPTIONS.getImage().getWidth();
|
final int btnwidth = MENU_OPTIONS.getWidth();
|
||||||
final float btnhalfheight = MENU_OPTIONS.getImage().getHeight() / 2f;
|
final float btnhalfheight = MENU_OPTIONS.getHeight() / 2f;
|
||||||
final int basey = height2;
|
final int basey = height2;
|
||||||
final int x = (int) (this.buttonsX + btnwidth * 0.375f * buttonProgress);
|
final int x = (int) (this.buttonsX + btnwidth * 0.375f * buttonProgress);
|
||||||
final Color col = new Color(logoColor);
|
final Color col = new Color(logoColor);
|
||||||
|
@ -341,8 +341,8 @@ public class MainMenu extends BaseOpsuState {
|
||||||
MENU_OPTIONS.getImage(),
|
MENU_OPTIONS.getImage(),
|
||||||
MENU_EXIT.getImage()
|
MENU_EXIT.getImage()
|
||||||
};
|
};
|
||||||
final float circleradius = MENU_LOGO.getImage().getHeight() * 0.44498f;
|
final float circleradius = MENU_LOGO.getHeight() * 0.44498f;
|
||||||
final float yoffset = MENU_LOGO.getImage().getHeight() * 0.196378f;
|
final float yoffset = MENU_LOGO.getHeight() * 0.196378f;
|
||||||
final float cr = circleradius * totalLogoScale;
|
final float cr = circleradius * totalLogoScale;
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
final float hoverprogress = this.buttonAnimations[i].getValue();
|
final float hoverprogress = this.buttonAnimations[i].getValue();
|
||||||
|
@ -421,16 +421,21 @@ public class MainMenu extends BaseOpsuState {
|
||||||
if (repoButton != null) {
|
if (repoButton != null) {
|
||||||
String text;
|
String text;
|
||||||
int fheight, fwidth;
|
int fheight, fwidth;
|
||||||
|
float x, y;
|
||||||
repoButton.draw();
|
repoButton.draw();
|
||||||
text = "opsu!";
|
text = "opsu!";
|
||||||
fheight = Fonts.SMALL.getLineHeight();
|
fheight = Fonts.SMALL.getLineHeight();
|
||||||
fwidth = Fonts.SMALL.getWidth(text);
|
fwidth = Fonts.SMALL.getWidth(text);
|
||||||
Fonts.SMALL.drawString(repoButton.getX() - fwidth / 2, repoButton.getY() - repoButton.getImage().getHeight() / 2 - fheight, text, Color.white);
|
x = repoButton.getX() - fwidth / 2;
|
||||||
|
y = repoButton.getY() - repoButton.getImage().getHeight() / 2 - fheight;
|
||||||
|
Fonts.SMALL.drawString(x, y, text, Color.white);
|
||||||
danceRepoButton.draw();
|
danceRepoButton.draw();
|
||||||
text = "opsu!dance";
|
text = "opsu!dance";
|
||||||
fheight = Fonts.SMALL.getLineHeight();
|
fheight = Fonts.SMALL.getLineHeight();
|
||||||
fwidth = Fonts.SMALL.getWidth(text);
|
fwidth = Fonts.SMALL.getWidth(text);
|
||||||
Fonts.SMALL.drawString(danceRepoButton.getX() - fwidth / 2, repoButton.getY() - repoButton.getImage().getHeight() / 2 - fheight, text, Color.white);
|
x = danceRepoButton.getX() - fwidth / 2;
|
||||||
|
y = danceRepoButton.getY() - repoButton.getImage().getHeight() / 2 - fheight;
|
||||||
|
Fonts.SMALL.drawString(x, y, text, Color.white);
|
||||||
}
|
}
|
||||||
|
|
||||||
// draw update button
|
// draw update button
|
||||||
|
@ -516,8 +521,8 @@ public class MainMenu extends BaseOpsuState {
|
||||||
}
|
}
|
||||||
|
|
||||||
// buttons
|
// buttons
|
||||||
this.logo.width = MENU_LOGO.getImage().getWidth();
|
this.logo.width = MENU_LOGO.getWidth();
|
||||||
this.logo.height = MENU_LOGO.getImage().getHeight();
|
this.logo.height = MENU_LOGO.getHeight();
|
||||||
this.logo.x = width2 - this.logo.width / 2;
|
this.logo.x = width2 - this.logo.width / 2;
|
||||||
this.logo.y = height2 - this.logo.height / 2;
|
this.logo.y = height2 - this.logo.height / 2;
|
||||||
if (this.logoState != LogoState.DEFAULT) {
|
if (this.logoState != LogoState.DEFAULT) {
|
||||||
|
|
|
@ -325,10 +325,10 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
components.clear();
|
components.clear();
|
||||||
|
|
||||||
// header/footer coordinates
|
// header/footer coordinates
|
||||||
headerY = height * 0.0075f + GameImage.MENU_MUSICNOTE.getImage().getHeight() +
|
headerY = height * 0.0075f + GameImage.MENU_MUSICNOTE.getHeight() +
|
||||||
Fonts.BOLD.getLineHeight() + Fonts.DEFAULT.getLineHeight() +
|
Fonts.BOLD.getLineHeight() + Fonts.DEFAULT.getLineHeight() +
|
||||||
Fonts.SMALL.getLineHeight();
|
Fonts.SMALL.getLineHeight();
|
||||||
footerY = height - GameImage.SELECTION_MODS.getImage().getHeight();
|
footerY = height - GameImage.SELECTION_MODS.getHeight();
|
||||||
|
|
||||||
// footer logo coordinates
|
// footer logo coordinates
|
||||||
float footerHeight = height - footerY;
|
float footerHeight = height - footerY;
|
||||||
|
@ -342,7 +342,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
// initialize sorts
|
// initialize sorts
|
||||||
int sortWidth = (int) (width * 0.12f);
|
int sortWidth = (int) (width * 0.12f);
|
||||||
int posX = (int) (width * 0.87f);
|
int posX = (int) (width * 0.87f);
|
||||||
int posY = (int) (headerY - GameImage.MENU_TAB.getImage().getHeight() * 2.25f);
|
int posY = (int) (headerY - GameImage.MENU_TAB.getHeight() * 2.25f);
|
||||||
sortMenu = new DropdownMenu<BeatmapSortOrder>(BeatmapSortOrder.values(), posX, posY, sortWidth) {
|
sortMenu = new DropdownMenu<BeatmapSortOrder>(BeatmapSortOrder.values(), posX, posY, sortWidth) {
|
||||||
@Override
|
@Override
|
||||||
public void itemSelected(int index, BeatmapSortOrder item) {
|
public void itemSelected(int index, BeatmapSortOrder item) {
|
||||||
|
@ -430,7 +430,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||||
selectOptionsButton.setHoverFade(0f);
|
selectOptionsButton.setHoverFade(0f);
|
||||||
|
|
||||||
// loader
|
// loader
|
||||||
int loaderDim = GameImage.MENU_MUSICNOTE.getImage().getWidth();
|
int loaderDim = GameImage.MENU_MUSICNOTE.getWidth();
|
||||||
SpriteSheet spr = new SpriteSheet(GameImage.MENU_LOADER.getImage(), loaderDim, loaderDim);
|
SpriteSheet spr = new SpriteSheet(GameImage.MENU_LOADER.getImage(), loaderDim, loaderDim);
|
||||||
loader = new Animation(spr, 50);
|
loader = new Animation(spr, 50);
|
||||||
|
|
||||||
|
|
|
@ -262,7 +262,7 @@ public class UI {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
int margin = width / 100, textMarginX = 2;
|
int margin = width / 100, textMarginX = 2;
|
||||||
int offset = GameImage.CURSOR_MIDDLE.getImage().getWidth() / 2;
|
int offset = GameImage.CURSOR_MIDDLE.getWidth() / 2;
|
||||||
int lineHeight = Fonts.SMALL.getLineHeight();
|
int lineHeight = Fonts.SMALL.getLineHeight();
|
||||||
int textWidth = textMarginX * 2, textHeight = lineHeight;
|
int textWidth = textMarginX * 2, textHeight = lineHeight;
|
||||||
if (tooltipNewlines) {
|
if (tooltipNewlines) {
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.newdawn.slick.Color;
|
||||||
import org.newdawn.slick.Image;
|
import org.newdawn.slick.Image;
|
||||||
import yugecin.opsudance.skinning.SkinService;
|
import yugecin.opsudance.skinning.SkinService;
|
||||||
|
|
||||||
|
import static itdelatrisu.opsu.GameImage.*;
|
||||||
import static yugecin.opsudance.options.Options.*;
|
import static yugecin.opsudance.options.Options.*;
|
||||||
|
|
||||||
public class GameObjectRenderer {
|
public class GameObjectRenderer {
|
||||||
|
@ -88,7 +89,8 @@ public class GameObjectRenderer {
|
||||||
|
|
||||||
public void renderComboNumberOnly(float x, float y, int number, float alpha) {
|
public void renderComboNumberOnly(float x, float y, int number, float alpha) {
|
||||||
if (number > 0) {
|
if (number > 0) {
|
||||||
gameData.drawSymbolNumber(number, x, y, GameImage.HITCIRCLE.getImage().getWidth() * 0.40f / gameData.getDefaultSymbolImage(0).getHeight(), alpha);
|
float scale = HITCIRCLE.getWidth() * 0.40f / gameData.getDefaultSymbolImage(0).getHeight();
|
||||||
|
gameData.drawSymbolNumber(number, x, y, scale, alpha);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user