diff --git a/res/ranking-A.png b/res/ranking-A.png index 6b0fe1d8..a39693d2 100644 Binary files a/res/ranking-A.png and b/res/ranking-A.png differ diff --git a/res/ranking-B.png b/res/ranking-B.png index 0a7b98ff..0cf9f324 100644 Binary files a/res/ranking-B.png and b/res/ranking-B.png differ diff --git a/res/ranking-C.png b/res/ranking-C.png index 2df14c79..1298208f 100644 Binary files a/res/ranking-C.png and b/res/ranking-C.png differ diff --git a/res/ranking-D.png b/res/ranking-D.png index a962ff23..6e893d8f 100644 Binary files a/res/ranking-D.png and b/res/ranking-D.png differ diff --git a/res/ranking-S.png b/res/ranking-S.png index f06834a4..37c77be0 100644 Binary files a/res/ranking-S.png and b/res/ranking-S.png differ diff --git a/res/ranking-SH.png b/res/ranking-SH.png index 55468106..d71b2f30 100644 Binary files a/res/ranking-SH.png and b/res/ranking-SH.png differ diff --git a/res/ranking-X.png b/res/ranking-X.png index 1834324f..530aa5ee 100644 Binary files a/res/ranking-X.png and b/res/ranking-X.png differ diff --git a/res/ranking-XH.png b/res/ranking-XH.png index 0ea8717f..4f76d5b3 100644 Binary files a/res/ranking-XH.png and b/res/ranking-XH.png differ diff --git a/res/ranking-accuracy.png b/res/ranking-accuracy.png index 231f2892..06ffc6b5 100644 Binary files a/res/ranking-accuracy.png and b/res/ranking-accuracy.png differ diff --git a/res/ranking-maxcombo.png b/res/ranking-maxcombo.png index 38023bf3..5d25040a 100644 Binary files a/res/ranking-maxcombo.png and b/res/ranking-maxcombo.png differ diff --git a/res/ranking-panel.png b/res/ranking-panel.png index 262cf6dc..96af7473 100644 Binary files a/res/ranking-panel.png and b/res/ranking-panel.png differ diff --git a/res/ranking-title.png b/res/ranking-title.png index 518e24c0..6adb60aa 100644 Binary files a/res/ranking-title.png and b/res/ranking-title.png differ diff --git a/src/itdelatrisu/opsu/ErrorHandler.java b/src/itdelatrisu/opsu/ErrorHandler.java index cb9a6876..0fae4003 100644 --- a/src/itdelatrisu/opsu/ErrorHandler.java +++ b/src/itdelatrisu/opsu/ErrorHandler.java @@ -213,7 +213,7 @@ private static URI getIssueURI(String error, Throwable e, String trace) { sb.append(System.getProperty("java.version")); sb.append('\n'); if (glString != null) { - sb.append("**OpenGL Version:** "); + sb.append("**OpenGL version:** "); sb.append(glString); sb.append('\n'); } diff --git a/src/itdelatrisu/opsu/GameData.java b/src/itdelatrisu/opsu/GameData.java index cff0dc4c..41b1beab 100644 --- a/src/itdelatrisu/opsu/GameData.java +++ b/src/itdelatrisu/opsu/GameData.java @@ -785,91 +785,92 @@ else if (health >= 25f) */ public void drawRankingElements(Graphics g, Beatmap beatmap) { // TODO Version 2 skins - float rankingHeight = 75; - float scoreTextScale = 1.0f; + float rankingHeight = 96; + float scoreTextScale = 1.33f; float symbolTextScale = 1.15f; float rankResultScale = 0.5f; float uiScale = GameImage.getUIscale(); // ranking panel - GameImage.RANKING_PANEL.getImage().draw(0, (int) (rankingHeight * uiScale)); + GameImage.RANKING_PANEL.getImage().draw(0, (int) (102 * uiScale)); // score drawFixedSizeSymbolString( - (score < 100000000) ? String.format("%08d", score) : Long.toString(score), - 210 * uiScale, (rankingHeight + 50) * uiScale, - scoreTextScale, 1f, getScoreSymbolImage('0').getWidth() * scoreTextScale - 2, false + (score < 100000000) ? String.format("%08d", score) : Long.toString(score), + 180 * uiScale, 120 * uiScale, + scoreTextScale, 1f, getScoreSymbolImage('0').getWidth() * scoreTextScale, false ); // result counts - float resultInitialX = 130; - float resultInitialY = rankingHeight + 140; - float resultHitInitialX = 65; - float resultHitInitialY = rankingHeight + 182; + float resultHitInitialX = 64; + float resultHitInitialY = 256; + float resultInitialX = 128; + float resultInitialY = resultHitInitialY - (getScoreSymbolImage('0').getHeight() * symbolTextScale) / 2f; float resultOffsetX = 320; float resultOffsetY = 96; int[] rankDrawOrder = { HIT_300, HIT_300G, HIT_100, HIT_100K, HIT_50, HIT_MISS }; int[] rankResultOrder = { - hitResultCount[HIT_300], hitResultCount[HIT_300G], - hitResultCount[HIT_100], hitResultCount[HIT_100K] + hitResultCount[HIT_300K], - hitResultCount[HIT_50], hitResultCount[HIT_MISS] + hitResultCount[HIT_300], hitResultCount[HIT_300G], + hitResultCount[HIT_100], hitResultCount[HIT_100K] + hitResultCount[HIT_300K], + hitResultCount[HIT_50], hitResultCount[HIT_MISS] }; for (int i = 0; i < rankDrawOrder.length; i += 2) { + float offsetY = (resultOffsetY * (i / 2)); hitResults[rankDrawOrder[i]].getScaledCopy(rankResultScale).drawCentered( - resultHitInitialX * uiScale, - (resultHitInitialY + (resultOffsetY * (i / 2))) * uiScale); + resultHitInitialX * uiScale, (resultHitInitialY + offsetY) * uiScale + ); hitResults[rankDrawOrder[i+1]].getScaledCopy(rankResultScale).drawCentered( - (resultHitInitialX + resultOffsetX) * uiScale, - (resultHitInitialY + (resultOffsetY * (i / 2))) * uiScale); + (resultHitInitialX + resultOffsetX) * uiScale, (resultHitInitialY + offsetY) * uiScale + ); drawSymbolString(String.format("%dx", rankResultOrder[i]), - resultInitialX * uiScale, - (resultInitialY + (resultOffsetY * (i / 2))) * uiScale, - symbolTextScale, 1f, false); + resultInitialX * uiScale, (resultInitialY + offsetY) * uiScale, symbolTextScale, 1f, false + ); drawSymbolString(String.format("%dx", rankResultOrder[i+1]), - (resultInitialX + resultOffsetX) * uiScale, - (resultInitialY + (resultOffsetY * (i / 2))) * uiScale, - symbolTextScale, 1f, false); + (resultInitialX + resultOffsetX) * uiScale, (resultInitialY + offsetY) * uiScale, symbolTextScale, 1f, false + ); } // combo and accuracy - float accuracyX = 295; - float textY = rankingHeight + 425; - float numbersY = textY + 30; - drawSymbolString(String.format("%dx", comboMax), - 25 * uiScale, numbersY * uiScale, symbolTextScale, 1f, false); - drawSymbolString(String.format("%02.2f%%", getScorePercent()), - (accuracyX + 20) * uiScale, numbersY * uiScale, symbolTextScale, 1f, false); - GameImage.RANKING_MAXCOMBO.getImage().draw(10 * uiScale, textY * uiScale); + float accuracyX = 291; + float textY = 480; + float numbersY = textY + 48; + drawSymbolString( + String.format("%dx", comboMax), + 24 * uiScale, numbersY * uiScale, symbolTextScale, 1f, false + ); + drawSymbolString( + String.format("%02.2f%%", getScorePercent()), + (accuracyX + 20) * uiScale, numbersY * uiScale, symbolTextScale, 1f, false + ); + GameImage.RANKING_MAXCOMBO.getImage().draw(8 * uiScale, textY * uiScale); GameImage.RANKING_ACCURACY.getImage().draw(accuracyX * uiScale, textY * uiScale); // full combo - if (comboMax == fullObjectCount) { - GameImage.RANKING_PERFECT.getImage().draw( - width * 0.08f, - (height * 0.99f) - GameImage.RANKING_PERFECT.getImage().getHeight() - ); - } + if (comboMax == fullObjectCount) + GameImage.RANKING_PERFECT.getImage().draw(177 * uiScale, 613 * uiScale); // grade Grade grade = getGrade(); - if (grade != Grade.NULL) - grade.getLargeImage().draw(width - grade.getLargeImage().getWidth(), rankingHeight); + if (grade != Grade.NULL) { + Image gradeImg = grade.getLargeImage(); + gradeImg.draw(width - 8 * uiScale - gradeImg.getWidth(), 100 * uiScale); + } // header Image rankingTitle = GameImage.RANKING_TITLE.getImage(); g.setColor(Colors.BLACK_ALPHA); - g.fillRect(0, 0, width, 100 * uiScale); - rankingTitle.draw((width * 0.97f) - rankingTitle.getWidth(), 0); + g.fillRect(0, 0, width, rankingHeight * uiScale); + rankingTitle.draw(width - 24 * uiScale - rankingTitle.getWidth(), 0); float marginX = width * 0.01f, marginY = height * 0.002f; Fonts.LARGE.drawString(marginX, marginY, - String.format("%s - %s [%s]", beatmap.getArtist(), beatmap.getTitle(), beatmap.version), Color.white); + String.format("%s - %s [%s]", beatmap.getArtist(), beatmap.getTitle(), beatmap.version), Color.white); Fonts.MEDIUM.drawString(marginX, marginY + Fonts.LARGE.getLineHeight() - 6, - String.format("Beatmap by %s", beatmap.creator), Color.white); + String.format("Beatmap by %s", beatmap.creator), Color.white); String player = (scoreData.playerName == null) ? "" : String.format(" by %s", scoreData.playerName); Fonts.MEDIUM.drawString(marginX, marginY + Fonts.LARGE.getLineHeight() + Fonts.MEDIUM.getLineHeight() - 10, - String.format("Played%s on %s.", player, scoreData.getTimeString()), Color.white); + String.format("Played%s on %s.", player, scoreData.getTimeString()), Color.white); // mod icons int modWidth = GameMod.AUTO.getImage().getWidth(); diff --git a/src/itdelatrisu/opsu/states/GameRanking.java b/src/itdelatrisu/opsu/states/GameRanking.java index 3941ef20..66c3aab6 100644 --- a/src/itdelatrisu/opsu/states/GameRanking.java +++ b/src/itdelatrisu/opsu/states/GameRanking.java @@ -104,7 +104,7 @@ public void render(GameContainer container, StateBasedGame game, Graphics g) Beatmap beatmap = MusicController.getBeatmap(); // background - if (!beatmap.drawBackground(width, height, 0.7f, true)) + if (!beatmap.drawBackground(width, height, 0.5f, true)) GameImage.PLAYFIELD.getImage().draw(0,0); // ranking screen elements diff --git a/src/itdelatrisu/opsu/ui/UI.java b/src/itdelatrisu/opsu/ui/UI.java index 24b175e7..2aa3f62f 100644 --- a/src/itdelatrisu/opsu/ui/UI.java +++ b/src/itdelatrisu/opsu/ui/UI.java @@ -286,7 +286,7 @@ public static void drawLoadingProgress(Graphics g) { "Updating database..." : "Loading beatmaps..."; progress = BeatmapParser.getParserProgress(); } else if ((file = SkinUnpacker.getCurrentFileName()) != null) { - text = "Unpacking skins..."; + text = "Unpacking new skins..."; progress = SkinUnpacker.getUnpackerProgress(); } else if ((file = ReplayImporter.getCurrentFileName()) != null) { text = "Importing replays...";