Merge branch 'yugecin/opsu/aspire-fix'

# Conflicts:
#	src/itdelatrisu/opsu/objects/curves/EqualDistanceMultiCurve.java
This commit is contained in:
yugecin 2016-12-10 01:32:04 +01:00
commit c0acb7ad6b
3 changed files with 11 additions and 3 deletions

View File

@ -98,7 +98,7 @@ public class TimingPoint {
/**
* Returns the slider multiplier. [INHERITED]
*/
public float getSliderMultiplier() { return velocity / -100f; }
public float getSliderMultiplier() { return Utils.clamp(-velocity, 10, 1000) / 100f; }
/**
* Returns the meter.

View File

@ -111,7 +111,7 @@ public abstract class EqualDistanceMultiCurve extends Curve {
int cnt = 1;
if (cnt > ncurve) {
return; // TODO this prevents aspire map from crashing the game, but does it breaks stuff?
return;
}
Vec2f c2 = curve[cnt++];

View File

@ -497,7 +497,15 @@ public class Game extends BasicGameState {
// letterbox effect (black bars on top/bottom)
if (beatmap.letterboxInBreaks && breakLength >= 4000) {
// let it fade in/out
float a = Color.black.a;
if (trackPosition - breakTime > breakLength / 2) {
Color.black.a = (Math.min(500f, breakTime + breakLength - trackPosition)) / 500f;
} else {
Color.black.a = Math.min(500, trackPosition - breakTime) / 500f;
}
g.setColor(Color.black);
Color.black.a = a;
g.fillRect(0, 0, width, height * 0.125f);
g.fillRect(0, height * 0.875f, width, height * 0.125f);
}
@ -946,7 +954,7 @@ public class Game extends BasicGameState {
if (beatmap.breaks != null && breakIndex < beatmap.breaks.size()) {
int breakValue = beatmap.breaks.get(breakIndex);
if (breakTime > 0) { // in a break period
if (trackPosition < breakValue)
if (trackPosition < breakValue && trackPosition < beatmap.objects[objectIndex].getTime() - approachTime)
return;
else {
// break is over