Merge branch 'Awlexus-master' into pullreqs

This commit is contained in:
yugecin
2016-11-20 14:22:54 +01:00
13 changed files with 571 additions and 24 deletions

View File

@@ -595,30 +595,51 @@ public class Options {
DISABLE_UPDATER ("Disable Automatic Updates", "DisableUpdater", "Disable automatic checking for updates upon starting opsu!.", false),
ENABLE_WATCH_SERVICE ("Enable Watch Service", "WatchService", "Watch the beatmap directory for changes. Requires a restart.", false),
DANCE_MOVER_TYPE("Mover Type", "Mover type", "More than 2 Points", Dancer.multipoint) {
@Override
public void click(GameContainer container) {
bool = !bool;
Dancer.multipoint = bool;
}
@Override
public void read(String s) {
super.read(s);
Dancer.multipoint = bool;
}
},
DANCE_MOVER ("Mover algorithm", "Mover", "Algorithm that decides how to move from note to note" ) {
@Override
public Object[] getListItems() {
return Dancer.moverFactories;
return Dancer.multipoint ? Dancer.polyMoverFactories : Dancer.moverFactories;
}
@Override
public void clickListItem(int index) {
Dancer.instance.setMoverFactoryIndex(index);
if (Dancer.multipoint)
Dancer.instance.setPolyMoverFactoryIndex(index);
else
Dancer.instance.setMoverFactoryIndex(index);
}
@Override
public String getValueString() {
return Dancer.moverFactories[Dancer.instance.getMoverFactoryIndex()].toString();
return Dancer.multipoint ? Dancer.polyMoverFactories[Dancer.instance.getPolyMoverFactoryIndex()].toString() : Dancer.moverFactories[Dancer.instance.getMoverFactoryIndex()].toString();
}
@Override
public String write() {
return Dancer.instance.getMoverFactoryIndex() + "";
return String.valueOf(Dancer.multipoint ? Dancer.instance.getPolyMoverFactoryIndex() : Dancer.instance.getMoverFactoryIndex());
}
@Override
public void read(String s) {
Dancer.instance.setMoverFactoryIndex(Integer.parseInt(s));
int i = Integer.parseInt(s);
if (Dancer.multipoint)
Dancer.instance.setPolyMoverFactoryIndex(i);
else
Dancer.instance.setMoverFactoryIndex(i);
}
},

View File

@@ -424,15 +424,20 @@ public class Game extends BasicGameState {
autoMousePressed = false;
if (GameMod.AUTO.isActive() || GameMod.AUTOPILOT.isActive()) {
Vec2f autoPoint;
if (objectIndex < beatmap.objects.length) {
GameObject p;
if (objectIndex > 0) {
p = gameObjects[objectIndex - 1];
} else {
p = Dancer.d;
}
if (objectIndex < beatmap.objects.length - (Dancer.multipoint ? Dancer.polyMoverFactories[Dancer.instance.getPolyMoverFactoryIndex()].getMinBufferSize() : 0)) {
Dancer d = Dancer.instance;
d.update(trackPosition, p, gameObjects[objectIndex]);
if (Dancer.multipoint) {
d.update(trackPosition, gameObjects, objectIndex);
} else {
GameObject p;
if (objectIndex > 0) {
p = gameObjects[objectIndex - 1];
}
else {
p = Dancer.d;
}
d.update(trackPosition, p, gameObjects[objectIndex]);
}
autoPoint = new Vec2f(d.x, d.y);
if (trackPosition < gameObjects[objectIndex].getTime()) {
autoMousePressed = true;

View File

@@ -112,6 +112,7 @@ public class OptionsMenu extends BasicGameState {
GameOption.ENABLE_WATCH_SERVICE
}),
DANCE ("Dance", new GameOption[] {
GameOption.DANCE_MOVER_TYPE,
GameOption.DANCE_MOVER,
GameOption.DANCE_MOVER_DIRECTION,
GameOption.DANCE_SLIDER_MOVER_TYPE,