minor changes to beat particle effect, added proper music directory update, added song count, visualizer better centered, other minor value changes
This commit is contained in:
parent
31ad6f4a10
commit
3454f80413
@ -9,17 +9,17 @@ min: 0
|
||||
max: 50
|
||||
- Emission -
|
||||
lowMin: 0.0
|
||||
lowMax: 0.0
|
||||
highMin: 45.0
|
||||
lowMax: 3.0
|
||||
highMin: 50.0
|
||||
highMax: 60.0
|
||||
relative: false
|
||||
scalingCount: 3
|
||||
scaling0: 1.0
|
||||
scaling1: 0.0
|
||||
scaling1: 0.09803922
|
||||
scaling2: 0.0
|
||||
timelineCount: 3
|
||||
timeline0: 0.0
|
||||
timeline1: 0.36301368
|
||||
timeline1: 0.30821916
|
||||
timeline2: 1.0
|
||||
- Life -
|
||||
lowMin: 0.0
|
||||
|
@ -14,12 +14,16 @@ public class SongList {
|
||||
|
||||
public void refresh() {
|
||||
searched = true;
|
||||
songList.addAll(Gdx.files.absolute(searchPath).list((dir, name) -> {
|
||||
if (name.endsWith("mp3") || name.endsWith("wav")) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}));
|
||||
songList.clear();
|
||||
Gdx.app.debug("SongController", "Searching path: " + searchPath);
|
||||
if (Gdx.files.absolute(searchPath).exists() && Gdx.files.absolute(searchPath).isDirectory()) {
|
||||
songList.addAll(Gdx.files.absolute(searchPath).list((dir, name) -> {
|
||||
if (name.endsWith("mp3") || name.endsWith("wav")) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
public void setSearchPath(String searchPath) {
|
||||
|
@ -123,7 +123,7 @@ public class BasicVisualizer extends VisualizerCore {
|
||||
}
|
||||
|
||||
public void updatePositionInfo() {
|
||||
barHeightMultiplier = height*0.05f;
|
||||
barHeightMultiplier = height*0.032f;
|
||||
int barSpace = 0;
|
||||
angleRot.set(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
|
||||
|
||||
|
@ -2,10 +2,12 @@ package zero1hd.rhythmbullet.graphics.ui.components;
|
||||
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||
import com.badlogic.gdx.scenes.scene2d.Group;
|
||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||
import com.badlogic.gdx.utils.Align;
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
@ -73,8 +75,12 @@ public class ControlOptions extends Table {
|
||||
@Override
|
||||
public void clicked(InputEvent event, float x, float y) {
|
||||
unselect();
|
||||
getStage().setKeyboardFocus(event.getTarget());
|
||||
event.getTarget().setColor(Color.ORANGE);
|
||||
if (event.getTarget() instanceof KeyBindButton) {
|
||||
getStage().setKeyboardFocus(event.getTarget());
|
||||
event.getTarget().setColor(Color.ORANGE);
|
||||
} else {
|
||||
unselect();
|
||||
}
|
||||
super.clicked(event, x, y);
|
||||
}
|
||||
});
|
||||
|
@ -60,7 +60,7 @@ public class GraphicsOptions extends Table {
|
||||
public void changed(ChangeEvent event, Actor actor) {
|
||||
save();
|
||||
if (enhancedGlow.isChecked()) {
|
||||
mainMenu.setBlurlvl(6);
|
||||
mainMenu.setBlurlvl(5);
|
||||
} else {
|
||||
mainMenu.setBlurlvl(1);
|
||||
}
|
||||
|
@ -1,7 +1,11 @@
|
||||
package zero1hd.rhythmbullet.graphics.ui.pages;
|
||||
|
||||
import com.badlogic.gdx.assets.AssetManager;
|
||||
import com.badlogic.gdx.math.Vector3;
|
||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||
|
||||
import zero1hd.rhythmbullet.controls.KeyMap;
|
||||
import zero1hd.rhythmbullet.graphics.ui.components.ControlOptions;
|
||||
@ -9,12 +13,25 @@ import zero1hd.rhythmbullet.graphics.ui.components.ControlOptions;
|
||||
public class KeybindOptionsPage extends Page {
|
||||
private ControlOptions controlTable;
|
||||
private KeyMap keyMap;
|
||||
|
||||
public KeybindOptionsPage(Skin skin, AssetManager assets) {
|
||||
private TextButton backButton;
|
||||
public KeybindOptionsPage(Skin skin, AssetManager assets, Vector3 cameraPosition) {
|
||||
keyMap = new KeyMap(assets);
|
||||
controlTable = new ControlOptions(skin, keyMap);
|
||||
|
||||
addActor(controlTable);
|
||||
|
||||
backButton = new TextButton("Back", skin);
|
||||
backButton.setPosition(10, getHeight() - 10 - backButton.getHeight());
|
||||
backButton.setWidth(backButton.getWidth() + 20);
|
||||
backButton.addListener(new ChangeListener() {
|
||||
|
||||
@Override
|
||||
public void changed(ChangeEvent event, Actor actor) {
|
||||
cameraPosition.y = 0.5f*getHeight();
|
||||
}
|
||||
});
|
||||
|
||||
addActor(backButton);
|
||||
}
|
||||
|
||||
public void unselect() {
|
||||
|
@ -15,6 +15,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.ChangeEvent;
|
||||
import com.badlogic.gdx.utils.Align;
|
||||
|
||||
import zero1hd.rhythmbullet.RhythmBullet;
|
||||
@ -28,6 +29,7 @@ public class OptionsPage extends Page {
|
||||
private ProgressBar fxVolSlider;
|
||||
private TextField directoryField;
|
||||
|
||||
private float musicSearchTimer;
|
||||
public OptionsPage(RhythmBullet core, Vector3 targetPosition, KeybindOptionsPage moreOptionsPage, SongListController sc) {
|
||||
super("General", core.getDefaultSkin());
|
||||
|
||||
@ -41,10 +43,11 @@ public class OptionsPage extends Page {
|
||||
});
|
||||
backButton.setPosition(10, getHeightBelowTitle() + 5);
|
||||
addActor(backButton);
|
||||
backButton.setWidth(backButton.getWidth() + 20);
|
||||
addSpaceToTitle(backButton.getWidth() + backButton.getX() + 20);
|
||||
|
||||
optionsTable.align(Align.center);
|
||||
optionsTable.defaults().space(10f).expandY().padBottom(25f);
|
||||
optionsTable.defaults().space(10f).padBottom(25f).expandY();
|
||||
optionsTable.setPosition(0, 0);
|
||||
optionsTable.setSize(getWidth(), getHeightBelowTitle() - 5);
|
||||
addActor(optionsTable);
|
||||
@ -88,9 +91,31 @@ public class OptionsPage extends Page {
|
||||
|
||||
Label musicDirectoryLabel = new Label("Music Directory: ", core.getDefaultSkin());
|
||||
optionsTable.add(musicDirectoryLabel).left();
|
||||
directoryField = new TextField(null, core.getDefaultSkin());
|
||||
Label songCount = new Label(": " + sc.getSongList().getAmountOfSongs(), core.getDefaultSkin(), "sub-font", core.getDefaultSkin().getColor("default"));
|
||||
directoryField = new TextField(null, core.getDefaultSkin() ) {
|
||||
@Override
|
||||
public void act(float delta) {
|
||||
if (musicSearchTimer > 0) {
|
||||
musicSearchTimer -= delta;
|
||||
if (musicSearchTimer <= 0) {
|
||||
sc.getSongList().setSearchPath(directoryField.getText());
|
||||
sc.getSongList().refresh();
|
||||
songCount.setText(": " + sc.getSongList().getAmountOfSongs());
|
||||
}
|
||||
}
|
||||
super.act(delta);
|
||||
}
|
||||
};
|
||||
directoryField.setText(core.getPrefs().getString("music dir", System.getProperty("user.home")+System.getProperty("file.separator")+"Music"));
|
||||
directoryField.addListener(new ChangeListener() {
|
||||
@Override
|
||||
public void changed(ChangeEvent event, Actor actor) {
|
||||
musicSearchTimer = 2;
|
||||
songCount.setText("...");
|
||||
}
|
||||
});
|
||||
optionsTable.add(directoryField).fillX();
|
||||
optionsTable.add(songCount);
|
||||
|
||||
optionsTable.row();
|
||||
|
||||
|
@ -1,14 +1,12 @@
|
||||
package zero1hd.rhythmbullet.graphics.ui.pages;
|
||||
|
||||
import com.badlogic.gdx.Preferences;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.Pixmap;
|
||||
import com.badlogic.gdx.graphics.Pixmap.Format;
|
||||
import com.badlogic.gdx.graphics.Texture;
|
||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||
|
||||
import zero1hd.rhythmbullet.graphics.ui.components.GraphicsOptions;
|
||||
import zero1hd.rhythmbullet.screens.MainMenu;
|
||||
@ -16,12 +14,27 @@ import zero1hd.rhythmbullet.screens.MainMenu;
|
||||
public class VideoOptionsPage extends Page {
|
||||
private ScrollPane scrollPane;
|
||||
private GraphicsOptions graphicsTable;
|
||||
private TextButton backButton;
|
||||
|
||||
public VideoOptionsPage(Skin skin, Preferences prefs, MainMenu menu) {
|
||||
graphicsTable = new GraphicsOptions(menu, skin, prefs);
|
||||
scrollPane = new ScrollPane(graphicsTable, skin);
|
||||
scrollPane.setFadeScrollBars(false);
|
||||
scrollPane.setFillParent(true);
|
||||
addActor(scrollPane);
|
||||
|
||||
backButton = new TextButton("Back", skin);
|
||||
backButton.setPosition(10, getHeight() - 10 - backButton.getHeight());
|
||||
backButton.setWidth(backButton.getWidth() + 20);
|
||||
backButton.addListener(new ChangeListener() {
|
||||
|
||||
@Override
|
||||
public void changed(ChangeEvent event, Actor actor) {
|
||||
menu.getCameraPosition().y = 0.5f*getHeight();
|
||||
}
|
||||
});
|
||||
|
||||
addActor(backButton);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -30,7 +30,7 @@ import zero1hd.rhythmbullet.util.TransitionAdapter;
|
||||
|
||||
public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
public Stage stage;
|
||||
private Vector3 targetPosition;
|
||||
private Vector3 cameraPosition;
|
||||
|
||||
private MainPage mainPage;
|
||||
private OptionsPage optionsPage;
|
||||
@ -57,7 +57,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
public MainMenu(RhythmBullet core) {
|
||||
this.core = core;
|
||||
stage = new Stage(new ScreenViewport());
|
||||
targetPosition = new Vector3(stage.getCamera().position);
|
||||
cameraPosition = new Vector3(stage.getCamera().position);
|
||||
|
||||
SongList songList = new SongList();
|
||||
songList.setSearchPath(core.getPrefs().getString("music dir"));
|
||||
@ -74,12 +74,12 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
public void postTransition() {
|
||||
loadShaders();
|
||||
|
||||
mainPage = new MainPage(core, targetPosition, sc);
|
||||
mainPage = new MainPage(core, cameraPosition, sc);
|
||||
mainPage.setPosition(0, 0);
|
||||
stage.addActor(mainPage);
|
||||
//End main menu
|
||||
|
||||
keybindPage = new KeybindOptionsPage(core.getDefaultSkin(), core.getAssetManager());
|
||||
keybindPage = new KeybindOptionsPage(core.getDefaultSkin(), core.getAssetManager(), cameraPosition);
|
||||
keybindPage.setPosition(1f*Gdx.graphics.getWidth(), -1f*Gdx.graphics.getHeight());
|
||||
stage.addActor(keybindPage);
|
||||
|
||||
@ -88,7 +88,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
graphicsPage.setPosition(1f*Gdx.graphics.getWidth(), 1f*Gdx.graphics.getHeight());
|
||||
stage.addActor(graphicsPage);
|
||||
|
||||
optionsPage = new OptionsPage(core, targetPosition, keybindPage, sc);
|
||||
optionsPage = new OptionsPage(core, cameraPosition, keybindPage, sc);
|
||||
optionsPage.setPosition(Gdx.graphics.getWidth(), 0);
|
||||
stage.addActor(optionsPage);
|
||||
|
||||
@ -102,9 +102,9 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
public boolean keyUp(InputEvent event, int keycode) {
|
||||
if (keycode == Keys.ESCAPE) {
|
||||
stage.unfocusAll();
|
||||
if (targetPosition.x != 0.5f*Gdx.graphics.getWidth() || targetPosition.y != 0.5f*Gdx.graphics.getHeight()) {
|
||||
targetPosition.x = 0.5f*Gdx.graphics.getWidth();
|
||||
targetPosition.y = 0.5f*Gdx.graphics.getHeight();
|
||||
if (cameraPosition.x != 0.5f*Gdx.graphics.getWidth() || cameraPosition.y != 0.5f*Gdx.graphics.getHeight()) {
|
||||
cameraPosition.x = 0.5f*Gdx.graphics.getWidth();
|
||||
cameraPosition.y = 0.5f*Gdx.graphics.getHeight();
|
||||
}
|
||||
keybindPage.unselect();
|
||||
}
|
||||
@ -128,7 +128,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
public void loadShaders() {
|
||||
if (core.getPrefs().getBoolean("glow shader")) {
|
||||
if (core.getPrefs().getBoolean("enhanced glow", false)) {
|
||||
blurlvl = 6;
|
||||
blurlvl = 5;
|
||||
} else {
|
||||
blurlvl = 1;
|
||||
}
|
||||
@ -197,14 +197,14 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
|
||||
@Override
|
||||
public void render(float delta) {
|
||||
Gdx.gl.glClearColor(0.22f, 0f, 0f, 1f);
|
||||
Gdx.gl.glClearColor(0.2f, 0f, 0f, 1f);
|
||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||
stage.act(delta);
|
||||
if (blurlvl > 0) {
|
||||
//Begin drawing a normal version of screen
|
||||
normalBuffer.begin();
|
||||
stage.getViewport().apply();
|
||||
Gdx.gl.glClearColor(0.22f, 0f, 0f, 1f);
|
||||
Gdx.gl.glClearColor(0.2f, 0f, 0f, 1f);
|
||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||
stage.draw();
|
||||
normalBuffer.end();
|
||||
@ -260,8 +260,8 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
stage.draw();
|
||||
}
|
||||
|
||||
if (stage.getCamera().position.x != targetPosition.x || stage.getCamera().position.y != targetPosition.y) {
|
||||
stage.getCamera().position.lerp(targetPosition, lerpAlpha);
|
||||
if (stage.getCamera().position.x != cameraPosition.x || stage.getCamera().position.y != cameraPosition.y) {
|
||||
stage.getCamera().position.lerp(cameraPosition, lerpAlpha);
|
||||
stage.getViewport().apply();
|
||||
}
|
||||
|
||||
@ -300,8 +300,8 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
@Override
|
||||
public void resize(int width, int height) {
|
||||
stage.getViewport().update(width, height, false);
|
||||
targetPosition.x = width/2;
|
||||
targetPosition.y = height/2;
|
||||
cameraPosition.x = width/2;
|
||||
cameraPosition.y = height/2;
|
||||
calcLerpAlpha(width);
|
||||
super.resize(width, height);
|
||||
}
|
||||
@ -344,4 +344,8 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
|
||||
public void setBlurlvl(int blurlvl) {
|
||||
this.blurlvl = blurlvl;
|
||||
}
|
||||
|
||||
public Vector3 getCameraPosition() {
|
||||
return cameraPosition;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user