working on scissorstack issue, before breaking everything
This commit is contained in:
		@@ -20,7 +20,6 @@ import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
 | 
				
			|||||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter;
 | 
					import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter;
 | 
				
			||||||
import com.badlogic.gdx.math.MathUtils;
 | 
					import com.badlogic.gdx.math.MathUtils;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.CheckBox.CheckBoxStyle;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.CheckBox.CheckBoxStyle;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton.ImageButtonStyle;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.List.ListStyle;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.List.ListStyle;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane.ScrollPaneStyle;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane.ScrollPaneStyle;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,11 +3,10 @@ package zero1hd.rhythmbullet.controls;
 | 
				
			|||||||
import com.badlogic.gdx.Gdx;
 | 
					import com.badlogic.gdx.Gdx;
 | 
				
			||||||
import com.badlogic.gdx.Input.Keys;
 | 
					import com.badlogic.gdx.Input.Keys;
 | 
				
			||||||
import com.badlogic.gdx.Preferences;
 | 
					import com.badlogic.gdx.Preferences;
 | 
				
			||||||
 | 
					import com.badlogic.gdx.assets.AssetManager;
 | 
				
			||||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
 | 
					import com.badlogic.gdx.graphics.g2d.TextureAtlas;
 | 
				
			||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
 | 
					import com.badlogic.gdx.graphics.g2d.TextureRegion;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import zero1hd.rhythmbullet.RhythmBullet;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class KeyMap {
 | 
					public class KeyMap {
 | 
				
			||||||
	TextureAtlas keyTextures;
 | 
						TextureAtlas keyTextures;
 | 
				
			||||||
	private Preferences keyBindPrefs;
 | 
						private Preferences keyBindPrefs;
 | 
				
			||||||
@@ -61,8 +60,8 @@ public class KeyMap {
 | 
				
			|||||||
	public static int accelerate;
 | 
						public static int accelerate;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public KeyMap(RhythmBullet core) {
 | 
						public KeyMap(AssetManager assets) {
 | 
				
			||||||
		keyTextures = core.getAssetManager().get("keyboard.atlas", TextureAtlas.class);
 | 
							keyTextures = assets.get("keyboard.atlas", TextureAtlas.class);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		setKeys(Gdx.app.getPreferences("PolyJet_Controls"));
 | 
							setKeys(Gdx.app.getPreferences("PolyJet_Controls"));
 | 
				
			||||||
		updateKeys();
 | 
							updateKeys();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Label;
 | 
				
			|||||||
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Table;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 | 
					import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 | 
				
			||||||
 | 
					import com.badlogic.gdx.utils.Align;
 | 
				
			||||||
import com.badlogic.gdx.utils.Array;
 | 
					import com.badlogic.gdx.utils.Array;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import zero1hd.rhythmbullet.controls.KeyMap;
 | 
					import zero1hd.rhythmbullet.controls.KeyMap;
 | 
				
			||||||
@@ -14,6 +15,7 @@ import zero1hd.rhythmbullet.controls.KeyMap;
 | 
				
			|||||||
public class ControlOptions extends Table {
 | 
					public class ControlOptions extends Table {
 | 
				
			||||||
	public ControlOptions(Skin skin, KeyMap keyMap) {
 | 
						public ControlOptions(Skin skin, KeyMap keyMap) {
 | 
				
			||||||
		super(skin);
 | 
							super(skin);
 | 
				
			||||||
 | 
							align(Align.center);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//first
 | 
							//first
 | 
				
			||||||
		Label forwardKeyLabel = new Label("Forward: ",skin);
 | 
							Label forwardKeyLabel = new Label("Forward: ",skin);
 | 
				
			||||||
@@ -76,6 +78,8 @@ public class ControlOptions extends Table {
 | 
				
			|||||||
				super.clicked(event, x, y);
 | 
									super.clicked(event, x, y);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							setFillParent(true);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void unselect() {
 | 
						public void unselect() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,11 +9,12 @@ import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 | 
				
			|||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Table;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
 | 
					import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
 | 
				
			||||||
 | 
					import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.ChangeEvent;
 | 
				
			||||||
import com.badlogic.gdx.utils.Align;
 | 
					import com.badlogic.gdx.utils.Align;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class GraphicsOptions extends Table {
 | 
					public class GraphicsOptions extends Table {
 | 
				
			||||||
	private Label resolutions, shaders;
 | 
						private Label resolutions, shaders;
 | 
				
			||||||
	
 | 
						private Preferences prefs;
 | 
				
			||||||
	private CheckBox glowShader;
 | 
						private CheckBox glowShader;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	private ResolutionButton 
 | 
						private ResolutionButton 
 | 
				
			||||||
@@ -27,16 +28,27 @@ public class GraphicsOptions extends Table {
 | 
				
			|||||||
	_800x480;
 | 
						_800x480;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public GraphicsOptions(Skin skin, final Preferences pref) {
 | 
						public GraphicsOptions(Skin skin, final Preferences prefs) {
 | 
				
			||||||
		align(Align.center);
 | 
							align(Align.center);
 | 
				
			||||||
		defaults().space(10f);
 | 
							defaults().space(10f);
 | 
				
			||||||
		
 | 
							this.prefs = prefs;
 | 
				
			||||||
		shaders = new Label("OpenGL Shaders", skin);
 | 
							shaders = new Label("OpenGL Shaders", skin);
 | 
				
			||||||
		add(shaders).fillX();
 | 
							add(shaders).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		glowShader = new CheckBox(" Glow Shader", skin, "expandable");
 | 
							glowShader = new CheckBox(" Glow Shader", skin, "expandable");
 | 
				
			||||||
		glowShader.setChecked(pref.getBoolean("glow shader", true));
 | 
							glowShader.setChecked(prefs.getBoolean("glow shader", true));
 | 
				
			||||||
 | 
							glowShader.addListener(new ChangeListener() {
 | 
				
			||||||
 | 
								@Override
 | 
				
			||||||
 | 
								public void changed(ChangeEvent event, Actor actor) {
 | 
				
			||||||
 | 
									save();
 | 
				
			||||||
 | 
									if (prefs.getBoolean("fullscreen")) {
 | 
				
			||||||
 | 
										Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										Gdx.graphics.setWindowedMode(prefs.getInteger("screen-width"), prefs.getInteger("screen-height"));
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
		add(glowShader).minHeight(shaders.getHeight());
 | 
							add(glowShader).minHeight(shaders.getHeight());
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
@@ -52,50 +64,50 @@ public class GraphicsOptions extends Table {
 | 
				
			|||||||
			public void changed(ChangeEvent event, Actor actor) {
 | 
								public void changed(ChangeEvent event, Actor actor) {
 | 
				
			||||||
				if (!Gdx.graphics.isFullscreen()) {
 | 
									if (!Gdx.graphics.isFullscreen()) {
 | 
				
			||||||
					Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
 | 
										Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
 | 
				
			||||||
					pref.putBoolean("fullscreen", true);
 | 
										prefs.putBoolean("fullscreen", true);
 | 
				
			||||||
					pref.flush();
 | 
										prefs.flush();
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
		add(fullscreen).fillX();
 | 
							add(fullscreen).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_3840x2160 = new ResolutionButton(3840, 2160, skin, pref);
 | 
							_3840x2160 = new ResolutionButton(3840, 2160, skin, prefs);
 | 
				
			||||||
		add(_3840x2160).fillX();
 | 
							add(_3840x2160).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_2560x1440 = new ResolutionButton(2560, 1440, skin, pref);
 | 
							_2560x1440 = new ResolutionButton(2560, 1440, skin, prefs);
 | 
				
			||||||
		add(_2560x1440).fillX();
 | 
							add(_2560x1440).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_1920x1200 = new ResolutionButton(1920, 1200, skin, pref);
 | 
							_1920x1200 = new ResolutionButton(1920, 1200, skin, prefs);
 | 
				
			||||||
		add(_1920x1200).fillX();
 | 
							add(_1920x1200).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_1920x1080 = new ResolutionButton(1920, 1080, skin, pref);
 | 
							_1920x1080 = new ResolutionButton(1920, 1080, skin, prefs);
 | 
				
			||||||
		add(_1920x1080).fillX();
 | 
							add(_1920x1080).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_1280x800 = new ResolutionButton(1280, 800, skin, pref);
 | 
							_1280x800 = new ResolutionButton(1280, 800, skin, prefs);
 | 
				
			||||||
		add(_1280x800).fillX();
 | 
							add(_1280x800).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_1280x720 = new ResolutionButton(1280, 720, skin, pref);
 | 
							_1280x720 = new ResolutionButton(1280, 720, skin, prefs);
 | 
				
			||||||
		add(_1280x720).fillX();
 | 
							add(_1280x720).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_1366x768 = new ResolutionButton(1366, 768, skin, pref);
 | 
							_1366x768 = new ResolutionButton(1366, 768, skin, prefs);
 | 
				
			||||||
		add(_1366x768).fillX();
 | 
							add(_1366x768).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		_800x480 = new ResolutionButton(800, 480, skin, pref);
 | 
							_800x480 = new ResolutionButton(800, 480, skin, prefs);
 | 
				
			||||||
		add(_800x480).fillX();
 | 
							add(_800x480).fillX();
 | 
				
			||||||
		row();
 | 
							row();
 | 
				
			||||||
 | 
							pack();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void save(Preferences prefs) {
 | 
						public void save() {
 | 
				
			||||||
		Gdx.app.debug("Preferences", "Saved shading values values.");
 | 
							Gdx.app.debug("Preferences", "Saved shading values values.");
 | 
				
			||||||
 | 
					 | 
				
			||||||
		prefs.putBoolean("glow shader", glowShader.isChecked());
 | 
							prefs.putBoolean("glow shader", glowShader.isChecked());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										23
									
								
								core/src/zero1hd/rhythmbullet/graphics/ui/pages/KeybindOptionsPage.java
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								core/src/zero1hd/rhythmbullet/graphics/ui/pages/KeybindOptionsPage.java
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					package zero1hd.rhythmbullet.graphics.ui.pages;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.badlogic.gdx.assets.AssetManager;
 | 
				
			||||||
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import zero1hd.rhythmbullet.controls.KeyMap;
 | 
				
			||||||
 | 
					import zero1hd.rhythmbullet.graphics.ui.components.ControlOptions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class KeybindOptionsPage extends Page {
 | 
				
			||||||
 | 
						private ControlOptions controlTable;
 | 
				
			||||||
 | 
						private KeyMap keyMap;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public KeybindOptionsPage(Skin skin, AssetManager assets) {
 | 
				
			||||||
 | 
							keyMap = new KeyMap(assets);
 | 
				
			||||||
 | 
							controlTable = new ControlOptions(skin, keyMap);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							addActor(controlTable);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public void unselect() {
 | 
				
			||||||
 | 
							controlTable.unselect();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -4,14 +4,10 @@ import com.badlogic.gdx.Gdx;
 | 
				
			|||||||
import com.badlogic.gdx.graphics.g2d.Batch;
 | 
					import com.badlogic.gdx.graphics.g2d.Batch;
 | 
				
			||||||
import com.badlogic.gdx.math.Vector3;
 | 
					import com.badlogic.gdx.math.Vector3;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
 | 
					import com.badlogic.gdx.scenes.scene2d.Actor;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Label;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Table;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton.ImageButtonStyle;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton.TextButtonStyle;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
 | 
					import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.ChangeEvent;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.utils.Align;
 | 
					import com.badlogic.gdx.utils.Align;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import zero1hd.rhythmbullet.RhythmBullet;
 | 
					import zero1hd.rhythmbullet.RhythmBullet;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,74 +0,0 @@
 | 
				
			|||||||
package zero1hd.rhythmbullet.graphics.ui.pages;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import com.badlogic.gdx.Gdx;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.math.Vector3;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import zero1hd.rhythmbullet.RhythmBullet;
 | 
					 | 
				
			||||||
import zero1hd.rhythmbullet.controls.KeyMap;
 | 
					 | 
				
			||||||
import zero1hd.rhythmbullet.graphics.ui.components.GraphicsOptions;
 | 
					 | 
				
			||||||
import zero1hd.rhythmbullet.graphics.ui.components.ControlOptions;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class MoreOptionsPage extends Page {
 | 
					 | 
				
			||||||
	private KeyMap keymap;
 | 
					 | 
				
			||||||
	private ScrollPane controlsScroller;
 | 
					 | 
				
			||||||
	private ControlOptions controlSetter;
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	private ScrollPane graphicsScroller;
 | 
					 | 
				
			||||||
	private GraphicsOptions graphicsSettings;
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	public MoreOptionsPage(RhythmBullet core, final Vector3 targetLocation) {
 | 
					 | 
				
			||||||
		keymap = new KeyMap(core);
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		TextButton backArrow = new TextButton("Back", core.getDefaultSkin());
 | 
					 | 
				
			||||||
		backArrow.setPosition(15, getHeight()-backArrow.getHeight()-10);
 | 
					 | 
				
			||||||
		backArrow.addListener(new ChangeListener() {
 | 
					 | 
				
			||||||
			@Override
 | 
					 | 
				
			||||||
			public void changed(ChangeEvent event, Actor actor) {
 | 
					 | 
				
			||||||
				targetLocation.y = 0.5f*Gdx.graphics.getHeight();
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		addActor(backArrow);
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		controlSetter = new ControlOptions(core.getDefaultSkin(), keymap);
 | 
					 | 
				
			||||||
		controlsScroller = new ScrollPane(controlSetter, core.getDefaultSkin());
 | 
					 | 
				
			||||||
		controlsScroller.setFadeScrollBars(false);
 | 
					 | 
				
			||||||
		controlsScroller.setSize(getWidth()-backArrow.getWidth()-backArrow.getX()-10, getHeight());
 | 
					 | 
				
			||||||
		controlsScroller.setX(backArrow.getWidth()+10+backArrow.getX());
 | 
					 | 
				
			||||||
		addActor(controlsScroller);
 | 
					 | 
				
			||||||
		controlsScroller.setVisible(false);
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		graphicsSettings = new GraphicsOptions(core.getDefaultSkin(), core.getPrefs());
 | 
					 | 
				
			||||||
		graphicsScroller = new ScrollPane(graphicsSettings, core.getDefaultSkin());
 | 
					 | 
				
			||||||
		graphicsScroller.setFadeScrollBars(false);
 | 
					 | 
				
			||||||
		graphicsScroller.setSize(getWidth()-backArrow.getWidth()-backArrow.getX()-10, getHeight());
 | 
					 | 
				
			||||||
		graphicsScroller.setX(backArrow.getWidth()+10+backArrow.getX());
 | 
					 | 
				
			||||||
		addActor(graphicsScroller);
 | 
					 | 
				
			||||||
		graphicsScroller.setVisible(false);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	public void controlUnselect() {
 | 
					 | 
				
			||||||
		controlSetter.unselect();
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	public void setControlType(byte type) {
 | 
					 | 
				
			||||||
		switch (type) {
 | 
					 | 
				
			||||||
		case 0:
 | 
					 | 
				
			||||||
			controlsScroller.setVisible(true);
 | 
					 | 
				
			||||||
			graphicsScroller.setVisible(false);
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
		case 1:
 | 
					 | 
				
			||||||
			controlsScroller.setVisible(false);
 | 
					 | 
				
			||||||
			graphicsScroller.setVisible(true);
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	public GraphicsOptions getGraphicsSettings() {
 | 
					 | 
				
			||||||
		return graphicsSettings;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -28,7 +28,7 @@ public class OptionsPage extends Page {
 | 
				
			|||||||
	private ProgressBar fxVolSlider;
 | 
						private ProgressBar fxVolSlider;
 | 
				
			||||||
	private TextField directoryField;
 | 
						private TextField directoryField;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public OptionsPage(RhythmBullet core, Vector3 targetPosition, MoreOptionsPage moreOptionsPage, SongListController sc) {
 | 
						public OptionsPage(RhythmBullet core, Vector3 targetPosition, KeybindOptionsPage moreOptionsPage, SongListController sc) {
 | 
				
			||||||
		super("General", core.getDefaultSkin());
 | 
							super("General", core.getDefaultSkin());
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//Back button
 | 
							//Back button
 | 
				
			||||||
@@ -101,14 +101,12 @@ public class OptionsPage extends Page {
 | 
				
			|||||||
		
 | 
							
 | 
				
			||||||
		optionsTable.top();
 | 
							optionsTable.top();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		optionsTable.row();
 | 
							optionsTable.row();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		TextButton keybindSettings = new TextButton("Set Controls",  core.getDefaultSkin());
 | 
							TextButton keybindSettings = new TextButton("Set Controls",  core.getDefaultSkin());
 | 
				
			||||||
		keybindSettings.addListener(new ChangeListener() {
 | 
							keybindSettings.addListener(new ChangeListener() {
 | 
				
			||||||
			@Override
 | 
								@Override
 | 
				
			||||||
			public void changed(ChangeEvent event, Actor actor) {
 | 
								public void changed(ChangeEvent event, Actor actor) {
 | 
				
			||||||
				moreOptionsPage.setControlType((byte) 0);
 | 
					 | 
				
			||||||
				targetPosition.y = -0.5f*Gdx.graphics.getHeight();
 | 
									targetPosition.y = -0.5f*Gdx.graphics.getHeight();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
@@ -120,8 +118,7 @@ public class OptionsPage extends Page {
 | 
				
			|||||||
		graphicsSettings.addListener(new ChangeListener() {
 | 
							graphicsSettings.addListener(new ChangeListener() {
 | 
				
			||||||
			@Override
 | 
								@Override
 | 
				
			||||||
			public void changed(ChangeEvent event, Actor actor) {
 | 
								public void changed(ChangeEvent event, Actor actor) {
 | 
				
			||||||
				moreOptionsPage.setControlType((byte) 1);
 | 
									targetPosition.y = 1.5f*Gdx.graphics.getHeight();					
 | 
				
			||||||
				targetPosition.y = -0.5f*Gdx.graphics.getHeight();					
 | 
					 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
		optionsTable.add(graphicsSettings).colspan(2).fillX();
 | 
							optionsTable.add(graphicsSettings).colspan(2).fillX();
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										46
									
								
								core/src/zero1hd/rhythmbullet/graphics/ui/pages/VideoOptionsPage.java
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								core/src/zero1hd/rhythmbullet/graphics/ui/pages/VideoOptionsPage.java
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					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.ui.ScrollPane;
 | 
				
			||||||
 | 
					import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import zero1hd.rhythmbullet.graphics.ui.components.GraphicsOptions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class VideoOptionsPage extends Page {
 | 
				
			||||||
 | 
						private ScrollPane scrollPane;
 | 
				
			||||||
 | 
						private GraphicsOptions graphicsTable;
 | 
				
			||||||
 | 
						public VideoOptionsPage(Skin skin, Preferences prefs) {
 | 
				
			||||||
 | 
							graphicsTable = new GraphicsOptions(skin, prefs);
 | 
				
			||||||
 | 
							graphicsTable.clear();
 | 
				
			||||||
 | 
							Pixmap pix = new Pixmap(4, 4, Format.RGBA8888);
 | 
				
			||||||
 | 
							pix.setColor(Color.WHITE);
 | 
				
			||||||
 | 
							pix.fill();
 | 
				
			||||||
 | 
							Texture texture = new Texture(pix);
 | 
				
			||||||
 | 
							Image image = new Image(texture);
 | 
				
			||||||
 | 
							graphicsTable.add(image).minHeight(4000).minWidth(2000);
 | 
				
			||||||
 | 
							scrollPane = new ScrollPane(graphicsTable, skin);
 | 
				
			||||||
 | 
							scrollPane.setFadeScrollBars(false);
 | 
				
			||||||
 | 
							scrollPane.setFillParent(true);
 | 
				
			||||||
 | 
							addActor(scrollPane);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public void draw(Batch batch, float parentAlpha) {
 | 
				
			||||||
 | 
							super.draw(batch, parentAlpha);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public void act(float delta) {
 | 
				
			||||||
 | 
							super.act(delta);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public void save() {
 | 
				
			||||||
 | 
							graphicsTable.save();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -190,33 +190,14 @@ public class GameScreen extends ScreenAdapter {
 | 
				
			|||||||
			batch.flush();
 | 
								batch.flush();
 | 
				
			||||||
			lightFilterBuffer.end();
 | 
								lightFilterBuffer.end();
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			//Horizontal gaussian blur
 | 
					 | 
				
			||||||
			hBlur.begin();
 | 
					 | 
				
			||||||
			Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
 | 
					 | 
				
			||||||
			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
					 | 
				
			||||||
			fboRegion.setTexture(lightFilterBuffer.getColorBufferTexture());
 | 
					 | 
				
			||||||
			batch.setShader(gaussianBlurShader);
 | 
					 | 
				
			||||||
			gaussianBlurShader.setUniformi("horizontal", 1);
 | 
					 | 
				
			||||||
			batch.draw(fboRegion, 0f, 0f, gameArea.getWidth(), gameArea.getHeight());
 | 
					 | 
				
			||||||
			batch.flush();
 | 
					 | 
				
			||||||
			hBlur.end();
 | 
					 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			//Vertical gaussian blur
 | 
					 | 
				
			||||||
			vBlur.begin();
 | 
					 | 
				
			||||||
			Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
 | 
					 | 
				
			||||||
			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
					 | 
				
			||||||
			fboRegion.setTexture(hBlur.getColorBufferTexture());
 | 
					 | 
				
			||||||
			batch.setShader(gaussianBlurShader);
 | 
					 | 
				
			||||||
			gaussianBlurShader.setUniformi("horizontal", 0);
 | 
					 | 
				
			||||||
			batch.draw(fboRegion, 0f, 0f, gameArea.getWidth(), gameArea.getHeight());
 | 
					 | 
				
			||||||
			batch.flush();
 | 
					 | 
				
			||||||
			vBlur.end();
 | 
					 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			for (int i = 0; i < blurlvl; i++) {
 | 
								for (int i = 0; i < blurlvl; i++) {
 | 
				
			||||||
				//Horizontal gaussian blur
 | 
									//Horizontal gaussian blur
 | 
				
			||||||
				hBlur.begin();
 | 
									hBlur.begin();
 | 
				
			||||||
				fboRegion.setTexture(vBlur.getColorBufferTexture());
 | 
									if (i > 0) {
 | 
				
			||||||
				batch.setShader(gaussianBlurShader);
 | 
										fboRegion.setTexture(vBlur.getColorBufferTexture());
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										fboRegion.setTexture(lightFilterBuffer.getColorBufferTexture());
 | 
				
			||||||
 | 
									}				batch.setShader(gaussianBlurShader);
 | 
				
			||||||
				gaussianBlurShader.setUniformi("horizontal", 1);
 | 
									gaussianBlurShader.setUniformi("horizontal", 1);
 | 
				
			||||||
				batch.draw(fboRegion, 0f, 0f, gameArea.getWidth(), gameArea.getHeight());
 | 
									batch.draw(fboRegion, 0f, 0f, gameArea.getWidth(), gameArea.getHeight());
 | 
				
			||||||
				batch.flush();
 | 
									batch.flush();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,9 +21,10 @@ import zero1hd.rhythmbullet.RhythmBullet;
 | 
				
			|||||||
import zero1hd.rhythmbullet.audio.SongList;
 | 
					import zero1hd.rhythmbullet.audio.SongList;
 | 
				
			||||||
import zero1hd.rhythmbullet.audio.SongListController;
 | 
					import zero1hd.rhythmbullet.audio.SongListController;
 | 
				
			||||||
import zero1hd.rhythmbullet.graphics.ui.pages.CreditsPage;
 | 
					import zero1hd.rhythmbullet.graphics.ui.pages.CreditsPage;
 | 
				
			||||||
 | 
					import zero1hd.rhythmbullet.graphics.ui.pages.KeybindOptionsPage;
 | 
				
			||||||
import zero1hd.rhythmbullet.graphics.ui.pages.MainPage;
 | 
					import zero1hd.rhythmbullet.graphics.ui.pages.MainPage;
 | 
				
			||||||
import zero1hd.rhythmbullet.graphics.ui.pages.MoreOptionsPage;
 | 
					 | 
				
			||||||
import zero1hd.rhythmbullet.graphics.ui.pages.OptionsPage;
 | 
					import zero1hd.rhythmbullet.graphics.ui.pages.OptionsPage;
 | 
				
			||||||
 | 
					import zero1hd.rhythmbullet.graphics.ui.pages.VideoOptionsPage;
 | 
				
			||||||
import zero1hd.rhythmbullet.util.TransitionAdapter;
 | 
					import zero1hd.rhythmbullet.util.TransitionAdapter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
					public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			||||||
@@ -33,8 +34,8 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
	private MainPage mainPage;
 | 
						private MainPage mainPage;
 | 
				
			||||||
	private OptionsPage optionsPage;
 | 
						private OptionsPage optionsPage;
 | 
				
			||||||
	private CreditsPage creditsPage;
 | 
						private CreditsPage creditsPage;
 | 
				
			||||||
	private MoreOptionsPage moreOptionsPage;
 | 
						private KeybindOptionsPage keybindPage;
 | 
				
			||||||
	
 | 
						private VideoOptionsPage graphicsPage;
 | 
				
			||||||
	private RhythmBullet core;
 | 
						private RhythmBullet core;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	private SongListController sc;
 | 
						private SongListController sc;
 | 
				
			||||||
@@ -65,21 +66,28 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
		sc.setAutoPlay(true);
 | 
							sc.setAutoPlay(true);
 | 
				
			||||||
		sc.setShuffle(true);
 | 
							sc.setShuffle(true);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		loadShaders();
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		postTransition();
 | 
							postTransition();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void postTransition() {
 | 
						public void postTransition() {
 | 
				
			||||||
 | 
							loadShaders();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
		mainPage = new MainPage(core, targetPosition, sc);
 | 
							mainPage = new MainPage(core, targetPosition, sc);
 | 
				
			||||||
		mainPage.setPosition(0, 0);
 | 
							mainPage.setPosition(0, 0);
 | 
				
			||||||
		stage.addActor(mainPage);
 | 
							stage.addActor(mainPage);
 | 
				
			||||||
		//End main menu
 | 
							//End main menu
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		moreOptionsPage = new MoreOptionsPage(core, targetPosition);
 | 
							keybindPage = new KeybindOptionsPage(core.getDefaultSkin(), core.getAssetManager());
 | 
				
			||||||
 | 
							keybindPage.setPosition(1f*Gdx.graphics.getWidth(), -1f*Gdx.graphics.getHeight());
 | 
				
			||||||
 | 
							stage.addActor(keybindPage);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		optionsPage = new OptionsPage(core, targetPosition, moreOptionsPage, sc);
 | 
							graphicsPage = new VideoOptionsPage(core.getDefaultSkin(), core.getPrefs());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							graphicsPage.setPosition(1f*Gdx.graphics.getWidth(), 1f*Gdx.graphics.getHeight());
 | 
				
			||||||
 | 
							stage.addActor(graphicsPage);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							optionsPage = new OptionsPage(core, targetPosition, keybindPage, sc);
 | 
				
			||||||
		optionsPage.setPosition(Gdx.graphics.getWidth(), 0);
 | 
							optionsPage.setPosition(Gdx.graphics.getWidth(), 0);
 | 
				
			||||||
		stage.addActor(optionsPage);
 | 
							stage.addActor(optionsPage);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
@@ -87,8 +95,6 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
		creditsPage.setPosition(0, Gdx.graphics.getHeight());
 | 
							creditsPage.setPosition(0, Gdx.graphics.getHeight());
 | 
				
			||||||
		stage.addActor(creditsPage);
 | 
							stage.addActor(creditsPage);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		moreOptionsPage.setPosition(1f*Gdx.graphics.getWidth(), -1f*Gdx.graphics.getHeight());
 | 
					 | 
				
			||||||
		stage.addActor(moreOptionsPage);
 | 
					 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		stage.addListener(new InputListener() {
 | 
							stage.addListener(new InputListener() {
 | 
				
			||||||
			@Override
 | 
								@Override
 | 
				
			||||||
@@ -99,7 +105,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
						targetPosition.x = 0.5f*Gdx.graphics.getWidth();
 | 
											targetPosition.x = 0.5f*Gdx.graphics.getWidth();
 | 
				
			||||||
						targetPosition.y = 0.5f*Gdx.graphics.getHeight();
 | 
											targetPosition.y = 0.5f*Gdx.graphics.getHeight();
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
					moreOptionsPage.controlUnselect();
 | 
										keybindPage.unselect();
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				return super.keyUp(event, keycode);
 | 
									return super.keyUp(event, keycode);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -110,7 +116,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
			public void clicked(InputEvent event, float x, float y) {
 | 
								public void clicked(InputEvent event, float x, float y) {
 | 
				
			||||||
				if (stage.hit(x, y, true) == null) {
 | 
									if (stage.hit(x, y, true) == null) {
 | 
				
			||||||
					stage.unfocusAll();
 | 
										stage.unfocusAll();
 | 
				
			||||||
					moreOptionsPage.controlUnselect();
 | 
										keybindPage.unselect();
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				super.clicked(event, x, y);
 | 
									super.clicked(event, x, y);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -122,6 +128,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
		if (core.getPrefs().getBoolean("glow shader")) {
 | 
							if (core.getPrefs().getBoolean("glow shader")) {
 | 
				
			||||||
			batch = new SpriteBatch();
 | 
								batch = new SpriteBatch();
 | 
				
			||||||
			screenViewport = new ScreenViewport();
 | 
								screenViewport = new ScreenViewport();
 | 
				
			||||||
 | 
								screenViewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			Gdx.app.debug("Shader", "using glow shader");
 | 
								Gdx.app.debug("Shader", "using glow shader");
 | 
				
			||||||
			brightFilterShader = new ShaderProgram(Gdx.files.internal("shaders/basic.vsh"), Gdx.files.internal("shaders/bright_filter.fsh"));
 | 
								brightFilterShader = new ShaderProgram(Gdx.files.internal("shaders/basic.vsh"), Gdx.files.internal("shaders/bright_filter.fsh"));
 | 
				
			||||||
@@ -182,7 +189,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void render(float delta) {
 | 
						public void render(float delta) {
 | 
				
			||||||
		Gdx.gl.glClearColor(0.22f, 0f, 0f, 1f);
 | 
							Gdx.gl.glClearColor(0.1f, 0.1f, 0f, 1f);
 | 
				
			||||||
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
					        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
				
			||||||
		stage.act(delta);
 | 
							stage.act(delta);
 | 
				
			||||||
		blurlvl = 5;
 | 
							blurlvl = 5;
 | 
				
			||||||
@@ -190,73 +197,58 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
			//Begin drawing a normal version of screen
 | 
								//Begin drawing a normal version of screen
 | 
				
			||||||
			stage.getViewport().apply();
 | 
								stage.getViewport().apply();
 | 
				
			||||||
			normalBuffer.begin();
 | 
								normalBuffer.begin();
 | 
				
			||||||
			Gdx.gl.glClearColor(0.22f, 0f, 0f, 1f);
 | 
								Gdx.gl.glClearColor(0.1f, 0.1f, 0f, 1f);
 | 
				
			||||||
 | 
					//			Gdx.gl.glClearColor(0.22f, 0f, 0f, 1f);
 | 
				
			||||||
			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
								Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
				
			||||||
			stage.draw();
 | 
								stage.draw();
 | 
				
			||||||
			normalBuffer.end();
 | 
								normalBuffer.end();
 | 
				
			||||||
			//END STAGE BATCH
 | 
					
 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			//BEGINNING NORMAL SCREEN RENDER
 | 
								//BEGINNING NORMAL SCREEN RENDER
 | 
				
			||||||
			screenViewport.apply();
 | 
								screenViewport.apply();
 | 
				
			||||||
			//Begin light filtering
 | 
								//Begin light filtering
 | 
				
			||||||
			lightFilterBuffer.begin();
 | 
					//			lightFilterBuffer.begin();
 | 
				
			||||||
			Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
 | 
					//			Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
 | 
				
			||||||
			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
					//			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
				
			||||||
			fboRegion.setTexture(normalBuffer.getColorBufferTexture());
 | 
					//			fboRegion.setTexture(normalBuffer.getColorBufferTexture());
 | 
				
			||||||
			batch.setShader(brightFilterShader);
 | 
					//			batch.setShader(brightFilterShader);
 | 
				
			||||||
			batch.begin(); //BATCH STARTS HERE
 | 
								batch.begin(); //BATCH STARTS HERE
 | 
				
			||||||
			batch.draw(fboRegion, 0, 0, stage.getWidth(), stage.getHeight());
 | 
					//			batch.setProjectionMatrix(stage.getCamera().combined);
 | 
				
			||||||
			batch.flush();
 | 
					//			batch.draw(fboRegion, 0, 0, stage.getWidth(), stage.getHeight());
 | 
				
			||||||
			lightFilterBuffer.end();
 | 
					//			batch.flush();
 | 
				
			||||||
			
 | 
					//			lightFilterBuffer.end();
 | 
				
			||||||
			//Horizontal gaussian blur
 | 
					//			
 | 
				
			||||||
			hBlur.begin();
 | 
					//			for (int i = 0; i < blurlvl; i++) {
 | 
				
			||||||
			Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
 | 
					//				//Horizontal gaussian blur
 | 
				
			||||||
			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
					//				hBlur.begin();
 | 
				
			||||||
			fboRegion.setTexture(lightFilterBuffer.getColorBufferTexture());
 | 
					//				if (i > 0) {
 | 
				
			||||||
			batch.setShader(gaussianBlurShader);
 | 
					//					fboRegion.setTexture(vBlur.getColorBufferTexture());
 | 
				
			||||||
			gaussianBlurShader.setUniformi("horizontal", 1);
 | 
					//				} else {
 | 
				
			||||||
			batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
					//					fboRegion.setTexture(lightFilterBuffer.getColorBufferTexture());
 | 
				
			||||||
			batch.flush();
 | 
					//				}
 | 
				
			||||||
			hBlur.end();
 | 
					//				batch.setShader(gaussianBlurShader);
 | 
				
			||||||
			
 | 
					//				gaussianBlurShader.setUniformi("horizontal", 1);
 | 
				
			||||||
			//Vertical gaussian blur
 | 
					//				batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
				
			||||||
			vBlur.begin();
 | 
					//				batch.flush();
 | 
				
			||||||
			Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
 | 
					//				hBlur.end();
 | 
				
			||||||
			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
					//				
 | 
				
			||||||
			fboRegion.setTexture(hBlur.getColorBufferTexture());
 | 
					//				//Vertical gaussian blur
 | 
				
			||||||
			batch.setShader(gaussianBlurShader);
 | 
					//				vBlur.begin();
 | 
				
			||||||
			gaussianBlurShader.setUniformi("horizontal", 0);
 | 
					//				fboRegion.setTexture(hBlur.getColorBufferTexture());
 | 
				
			||||||
			batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
					//				batch.setShader(gaussianBlurShader);
 | 
				
			||||||
			batch.flush();
 | 
					//				gaussianBlurShader.setUniformi("horizontal", 0);
 | 
				
			||||||
			vBlur.end();
 | 
					//				batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
				
			||||||
			
 | 
					//				batch.flush();
 | 
				
			||||||
			for (int i = 0; i < blurlvl; i++) {
 | 
					//				vBlur.end();
 | 
				
			||||||
				//Horizontal gaussian blur
 | 
					//			}
 | 
				
			||||||
				hBlur.begin();
 | 
					 | 
				
			||||||
				fboRegion.setTexture(vBlur.getColorBufferTexture());
 | 
					 | 
				
			||||||
				batch.setShader(gaussianBlurShader);
 | 
					 | 
				
			||||||
				gaussianBlurShader.setUniformi("horizontal", 1);
 | 
					 | 
				
			||||||
				batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
					 | 
				
			||||||
				batch.flush();
 | 
					 | 
				
			||||||
				hBlur.end();
 | 
					 | 
				
			||||||
				
 | 
					 | 
				
			||||||
				//Vertical gaussian blur
 | 
					 | 
				
			||||||
				vBlur.begin();
 | 
					 | 
				
			||||||
				fboRegion.setTexture(hBlur.getColorBufferTexture());
 | 
					 | 
				
			||||||
				batch.setShader(gaussianBlurShader);
 | 
					 | 
				
			||||||
				gaussianBlurShader.setUniformi("horizontal", 0);
 | 
					 | 
				
			||||||
				batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
					 | 
				
			||||||
				batch.flush();
 | 
					 | 
				
			||||||
				vBlur.end();
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//draw a final copy to a fbo
 | 
					 | 
				
			||||||
			Gdx.gl.glClearColor(0f, 0f, 0f, 0f);
 | 
								Gdx.gl.glClearColor(0f, 0f, 0f, 0f);
 | 
				
			||||||
			Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
								Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
 | 
				
			||||||
			batch.setShader(combineShader);
 | 
					//			batch.setShader(combineShader);
 | 
				
			||||||
			fboRegion.setTexture(normalBuffer.getColorBufferTexture());
 | 
								fboRegion.setTexture(normalBuffer.getColorBufferTexture());
 | 
				
			||||||
			batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
								batch.draw(fboRegion, 0f, 0f, stage.getWidth(), stage.getHeight());
 | 
				
			||||||
 | 
					//			System.out.println(stage.getWidth() + "x" + stage.getHeight());
 | 
				
			||||||
 | 
					//			System.out.println(screenViewport.getScreenWidth() + "x" + screenViewport.getScreenHeight());
 | 
				
			||||||
 | 
					//			System.err.println(screenViewport.getWorldWidth() + "x" + screenViewport.getWorldHeight());
 | 
				
			||||||
			batch.setShader(null);
 | 
								batch.setShader(null);
 | 
				
			||||||
			batch.end(); //STAGE BATCH ENDS HERE
 | 
								batch.end(); //STAGE BATCH ENDS HERE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -277,7 +269,7 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
		mainPage.dispose();
 | 
							mainPage.dispose();
 | 
				
			||||||
		optionsPage.dispose();
 | 
							optionsPage.dispose();
 | 
				
			||||||
		creditsPage.dispose();
 | 
							creditsPage.dispose();
 | 
				
			||||||
		moreOptionsPage.dispose();
 | 
							keybindPage.dispose();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
@@ -297,7 +289,6 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
	public void saveAll() {
 | 
						public void saveAll() {
 | 
				
			||||||
		if (optionsPage != null) {
 | 
							if (optionsPage != null) {
 | 
				
			||||||
			optionsPage.saveOptions(core.getPrefs());
 | 
								optionsPage.saveOptions(core.getPrefs());
 | 
				
			||||||
			moreOptionsPage.getGraphicsSettings().save(core.getPrefs());
 | 
					 | 
				
			||||||
			core.getPrefs().flush();
 | 
								core.getPrefs().flush();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -318,10 +309,10 @@ public class MainMenu extends ScreenAdapter implements TransitionAdapter {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	private void calcLerpAlpha(int width) {
 | 
						private void calcLerpAlpha(int width) {
 | 
				
			||||||
		if (width >= 3835) {
 | 
							if (width <= 3835) {
 | 
				
			||||||
			lerpAlpha = 0.005f;
 | 
								lerpAlpha = 0.15f;
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			lerpAlpha = 0.25f;
 | 
								lerpAlpha = 0.15f;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,6 @@ package zero1hd.rhythmbullet.stages;
 | 
				
			|||||||
import com.badlogic.gdx.Gdx;
 | 
					import com.badlogic.gdx.Gdx;
 | 
				
			||||||
import com.badlogic.gdx.Input.Keys;
 | 
					import com.badlogic.gdx.Input.Keys;
 | 
				
			||||||
import com.badlogic.gdx.Screen;
 | 
					import com.badlogic.gdx.Screen;
 | 
				
			||||||
import com.badlogic.gdx.audio.Music;
 | 
					 | 
				
			||||||
import com.badlogic.gdx.graphics.Color;
 | 
					import com.badlogic.gdx.graphics.Color;
 | 
				
			||||||
import com.badlogic.gdx.graphics.Pixmap;
 | 
					import com.badlogic.gdx.graphics.Pixmap;
 | 
				
			||||||
import com.badlogic.gdx.graphics.Pixmap.Format;
 | 
					import com.badlogic.gdx.graphics.Pixmap.Format;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user