From 8947eabaf051cc1165c0f8aca0d02f247a3a2156 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 26 Jun 2015 16:23:56 -0400 Subject: [PATCH] v0.3.1: added fine-grained brightness controls --- .../ShatteredPixelDungeon.java | 6 +++--- .../shatteredpixeldungeon/scenes/GameScene.java | 13 ++++--------- .../shatteredpixeldungeon/windows/WndSettings.java | 12 +++++++----- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/src/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java index 12b559383..7af786b1e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java @@ -289,15 +289,15 @@ public class ShatteredPixelDungeon extends Game { return Preferences.INSTANCE.getBoolean( Preferences.KEY_SOUND_FX, true ); } - public static void brightness( boolean value ) { + public static void brightness( int value ) { Preferences.INSTANCE.put( Preferences.KEY_BRIGHTNESS, value ); if (scene() instanceof GameScene) { ((GameScene)scene()).brightness( value ); } } - public static boolean brightness() { - return Preferences.INSTANCE.getBoolean( Preferences.KEY_BRIGHTNESS, false ); + public static int brightness() { + return Preferences.INSTANCE.getInt( Preferences.KEY_BRIGHTNESS, 0 ); } public static void lastClass( int value ) { diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index a05d70284..803008598 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -437,17 +437,12 @@ public class GameScene extends PixelScene { } } - public void brightness( boolean value ) { + public void brightness( int value ) { water.rm = water.gm = water.bm = tiles.rm = tiles.gm = tiles.bm = - value ? 1.5f : 1.0f; - if (value) { - fog.am = +2f; - fog.aa = -1f; - } else { - fog.am = +1f; - fog.aa = 0f; - } + 1.0f + (value/4f); + fog.am = 1f + (value/2f); + fog.aa = 0f - (value/2f); } private void addHeapSprite( Heap heap ) { diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSettings.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSettings.java index 99557e5a1..a62b91f20 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSettings.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSettings.java @@ -44,7 +44,7 @@ public class WndSettings extends Window { private static final String TXT_SOUND = "Sound FX"; - private static final String TXT_BRIGHTNESS = "Brightness"; + private static final String TXT_BRIGHTNESS = "Brightness: %s"; private static final String TXT_QUICKSLOT = "QuickSlots: %s"; @@ -156,16 +156,18 @@ public class WndSettings extends Window { resize( WIDTH, (int)btnOrientation.bottom() ); } else { - - CheckBox btnBrightness = new CheckBox( TXT_BRIGHTNESS ) { + + RedButton btnBrightness = new RedButton( Utils.format(TXT_BRIGHTNESS, ShatteredPixelDungeon.brightness()) ) { @Override protected void onClick() { super.onClick(); - ShatteredPixelDungeon.brightness(checked()); + int brightness = ShatteredPixelDungeon.brightness()+1; + if (brightness == 5) brightness = -2; + ShatteredPixelDungeon.brightness(brightness); + this.text(Utils.format(TXT_BRIGHTNESS, brightness)); } }; btnBrightness.setRect(0, btnSound.bottom() + GAP, WIDTH, BTN_HEIGHT); - btnBrightness.checked(ShatteredPixelDungeon.brightness()); add(btnBrightness); RedButton btnQuickSlot = new RedButton( Utils.format(TXT_QUICKSLOT, ShatteredPixelDungeon.quickSlots()) ) {