diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/effects/FloatingText.java b/src/com/shatteredpixel/shatteredpixeldungeon/effects/FloatingText.java
index bc07e9bd5..41e0b523c 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/effects/FloatingText.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/effects/FloatingText.java
@@ -20,16 +20,16 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.effects;
-import java.util.ArrayList;
-
-import com.watabou.noosa.Camera;
-import com.watabou.noosa.Game;
import com.shatteredpixel.shatteredpixeldungeon.DungeonTilemap;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.watabou.noosa.Camera;
+import com.watabou.noosa.Game;
import com.watabou.noosa.RenderedText;
import com.watabou.utils.SparseArray;
+import java.util.ArrayList;
+
public class FloatingText extends RenderedText {
private static final float LIFESPAN = 1f;
@@ -89,10 +89,9 @@ public class FloatingText extends RenderedText {
text( text );
hardlight( color );
-
- //measure();
- this.x = x - width() / 2;
- this.y = y - height();
+
+ this.x = PixelScene.align( Camera.main, x - width() / 2);
+ this.y = PixelScene.align( Camera.main, y - height());
timeLeft = LIFESPAN;
}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/Weightstone.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/Weightstone.java
index b371e85bc..ff0287964 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/items/Weightstone.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/Weightstone.java
@@ -28,11 +28,11 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.IconTitle;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.audio.Sample;
import java.util.ArrayList;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AboutScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AboutScene.java
index de03f5fa7..b956cd69d 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AboutScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AboutScene.java
@@ -22,20 +22,19 @@ package com.shatteredpixel.shatteredpixeldungeon.scenes;
import android.content.Intent;
import android.net.Uri;
-
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
+import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
+import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
import com.shatteredpixel.shatteredpixeldungeon.ui.ExitButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
+import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.input.Touchscreen.Touch;
import com.watabou.noosa.Camera;
import com.watabou.noosa.Game;
import com.watabou.noosa.Image;
import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.TouchArea;
-import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
-import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
-import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
-import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
public class AboutScene extends PixelScene {
@@ -65,6 +64,7 @@ public class AboutScene extends PixelScene {
Image shpx = Icons.SHPX.get();
shpx.x = (colWidth - shpx.width()) / 2;
shpx.y = colTop;
+ align(shpx);
add( shpx );
new Flare( 7, 64 ).color( 0x225511, true ).show( shpx, 0 ).angularSpeed = +20;
@@ -75,12 +75,14 @@ public class AboutScene extends PixelScene {
shpxtitle.x = (colWidth - shpxtitle.width()) / 2;
shpxtitle.y = shpx.y + shpx.height + 5;
+ align(shpxtitle);
RenderedTextMultiline shpxtext = renderMultiline( TXT_SHPX, 8 );
shpxtext.maxWidth((int)Math.min(colWidth, 120));
add( shpxtext );
shpxtext.setPos((colWidth - shpxtext.width()) / 2, shpxtitle.y + shpxtitle.height() + 12);
+ align(shpxtext);
RenderedTextMultiline shpxlink = renderMultiline( LNK_SHPX, 8 );
shpxlink.maxWidth(shpxtext.maxWidth());
@@ -88,6 +90,7 @@ public class AboutScene extends PixelScene {
add( shpxlink );
shpxlink.setPos((colWidth - shpxlink.width()) / 2, shpxtext.bottom() + 6);
+ align(shpxlink);
TouchArea shpxhotArea = new TouchArea( shpxlink.left(), shpxlink.top(), shpxlink.width(), shpxlink.height() ) {
@Override
@@ -103,6 +106,7 @@ public class AboutScene extends PixelScene {
wata.y = ShatteredPixelDungeon.landscape() ?
colTop:
shpxlink.top() + wata.height + 20;
+ align(wata);
add( wata );
new Flare( 7, 64 ).color( 0x112233, true ).show( wata, 0 ).angularSpeed = +20;
@@ -113,12 +117,14 @@ public class AboutScene extends PixelScene {
wataTitle.x = wataOffset + (colWidth - wataTitle.width()) / 2;
wataTitle.y = wata.y + wata.height + 11;
+ align(wataTitle);
RenderedTextMultiline wataText = renderMultiline( TXT_WATA, 8 );
wataText.maxWidth((int)Math.min(colWidth, 120));
add( wataText );
wataText.setPos(wataOffset + (colWidth - wataText.width()) / 2, wataTitle.y + wataTitle.height() + 12);
+ align(wataText);
RenderedTextMultiline wataLink = renderMultiline( LNK_WATA, 8 );
wataLink.maxWidth((int)Math.min(colWidth, 120));
@@ -126,6 +132,7 @@ public class AboutScene extends PixelScene {
add(wataLink);
wataLink.setPos(wataOffset + (colWidth - wataLink.width()) / 2 , wataText.bottom() + 6);
+ align(wataLink);
TouchArea hotArea = new TouchArea( wataLink.left(), wataLink.top(), wataLink.width(), wataLink.height() ) {
@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java
index 1493c8eba..dd0e3774d 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/AmuletScene.java
@@ -20,17 +20,17 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.scenes;
-import com.shatteredpixel.shatteredpixeldungeon.items.Amulet;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.Camera;
-import com.watabou.noosa.Game;
-import com.watabou.noosa.Image;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.effects.Flare;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
+import com.shatteredpixel.shatteredpixeldungeon.items.Amulet;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
-import com.watabou.noosa.RenderedTextMultiline;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
+import com.watabou.noosa.Camera;
+import com.watabou.noosa.Game;
+import com.watabou.noosa.Image;
import com.watabou.utils.Random;
public class AmuletScene extends PixelScene {
@@ -84,7 +84,8 @@ public class AmuletScene extends PixelScene {
amulet.x = (Camera.main.width - amulet.width) / 2;
amulet.y = (Camera.main.height - height) / 2;
-
+ align(amulet);
+
btnExit.setPos( (Camera.main.width - btnExit.width()) / 2, amulet.y + amulet.height + LARGE_GAP );
btnStay.setPos( btnExit.left(), btnExit.bottom() + SMALL_GAP );
@@ -93,8 +94,10 @@ public class AmuletScene extends PixelScene {
amulet.x = (Camera.main.width - amulet.width) / 2;
amulet.y = (Camera.main.height - height) / 2;
+ align(amulet);
text.setPos((Camera.main.width - text.width()) / 2, amulet.y + amulet.height + LARGE_GAP);
+ align(text);
btnExit.setPos( (Camera.main.width - btnExit.width()) / 2, text.top() + text.height() + LARGE_GAP );
btnStay.setPos( btnExit.left(), btnExit.bottom() + SMALL_GAP );
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java
index 27c6f7a34..e371302bf 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java
@@ -20,20 +20,20 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.scenes;
+import com.shatteredpixel.shatteredpixeldungeon.Assets;
+import com.shatteredpixel.shatteredpixeldungeon.Badges;
+import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.effects.BadgeBanner;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
+import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
+import com.shatteredpixel.shatteredpixeldungeon.ui.ExitButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBadge;
import com.watabou.noosa.Camera;
import com.watabou.noosa.Game;
import com.watabou.noosa.Image;
import com.watabou.noosa.RenderedText;
import com.watabou.noosa.audio.Music;
-import com.shatteredpixel.shatteredpixeldungeon.Assets;
-import com.shatteredpixel.shatteredpixeldungeon.Badges;
-import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
-import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
-import com.shatteredpixel.shatteredpixeldungeon.ui.ExitButton;
-import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.ui.Button;
import com.watabou.utils.Callback;
@@ -75,6 +75,7 @@ public class BadgesScene extends PixelScene {
title.hardlight(Window.TITLE_COLOR);
title.x = (w - title.width()) / 2 ;
title.y = (top - title.baseLine()) / 2 ;
+ align(title);
add(title);
Badges.loadGlobal();
@@ -88,6 +89,7 @@ public class BadgesScene extends PixelScene {
button.setPos(
left + j * size + (size - button.width()) / 2,
top + i * size + (size - button.height()) / 2);
+ align(button);
add( button );
}
}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java
index 6f2c3387d..cb1783362 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java
@@ -25,12 +25,12 @@ import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
import com.shatteredpixel.shatteredpixeldungeon.ui.ExitButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.ScrollPane;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.noosa.Camera;
import com.watabou.noosa.NinePatch;
import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.ui.Component;
//TODO: update this class with relevant info as new versions come out.
@@ -98,6 +98,7 @@ public class ChangesScene extends PixelScene {
title.hardlight(Window.TITLE_COLOR);
title.x = (w - title.width()) / 2 ;
title.y = 4;
+ align(title);
add(title);
ExitButton btnExit = new ExitButton();
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java
index 843f97aa5..24b19ecb6 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java
@@ -556,8 +556,8 @@ public class GameScene extends PixelScene {
private void showBanner( Banner banner ) {
banner.camera = uiCamera;
- banner.x = (uiCamera.width - banner.width) / 2 ;
- banner.y = (uiCamera.height - banner.height) / 3 ;
+ banner.x = align( uiCamera, (uiCamera.width - banner.width) / 2 );
+ banner.y = align( uiCamera, (uiCamera.height - banner.height) / 3 );
add( banner );
}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java
index 9942895eb..7aed187e1 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java
@@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.effects.BadgeBanner;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.glwrap.Texture;
import com.watabou.input.Touchscreen;
@@ -35,9 +36,9 @@ import com.watabou.noosa.Camera;
import com.watabou.noosa.ColorBlock;
import com.watabou.noosa.Game;
import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.Scene;
import com.watabou.noosa.Visual;
+import com.watabou.noosa.ui.Component;
import com.watabou.utils.BitmapCache;
import javax.microedition.khronos.opengles.GL10;
@@ -217,23 +218,25 @@ public class PixelScene extends Scene {
}
/**
- * These three methods align UI elements to device pixels.
+ * These methods align UI elements to device pixels.
* e.g. if we have a scale of 3x then valid positions are #.0, #.33, #.67
*/
+ public static float align( float pos ) {
+ return Math.round(pos * defaultZoom) / (float)defaultZoom;
+ }
+
public static float align( Camera camera, float pos ) {
return Math.round(pos * camera.zoom) / camera.zoom;
}
- // This one should be used for UI elements
- public static float align( float pos ) {
- return Math.round(pos * defaultZoom) / (float)defaultZoom;
+ public static void align( Visual v ) {
+ v.x = align( v.x );
+ v.y = align( v.y );
}
- public static void align( Visual v ) {
- Camera c = v.camera();
- v.x = align( c, v.x );
- v.y = align( c, v.y );
+ public static void align( Component c ){
+ c.setPos(align(c.left()), align(c.top()));
}
public static boolean noFade = false;
@@ -252,8 +255,8 @@ public class PixelScene extends Scene {
public static void showBadge( Badges.Badge badge ) {
BadgeBanner banner = BadgeBanner.show( badge.image );
banner.camera = uiCamera;
- banner.x = (banner.camera.width - banner.width) / 2 ;
- banner.y = (banner.camera.height - banner.height) / 3 ;
+ banner.x = align( banner.camera, (banner.camera.width - banner.width) / 2 );
+ banner.y = align( banner.camera, (banner.camera.height - banner.height) / 3 );
Game.scene().add( banner );
}
@@ -313,8 +316,8 @@ public class PixelScene extends Scene {
@Override
protected void updateMatrix() {
- float sx = Math.round(scroll.x + shakeX);
- float sy = Math.round(scroll.y + shakeY);
+ float sx = align( this, scroll.x + shakeX );
+ float sy = align( this, scroll.y + shakeY );
matrix[0] = +zoom * invW2;
matrix[5] = -zoom * invH2;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java
index a4db7b040..bf1244c73 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java
@@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
import com.shatteredpixel.shatteredpixeldungeon.ui.ExitButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndError;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndRanking;
@@ -37,7 +38,6 @@ import com.watabou.noosa.BitmapText;
import com.watabou.noosa.Camera;
import com.watabou.noosa.Image;
import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.audio.Music;
import com.watabou.noosa.ui.Button;
import com.watabou.utils.GameMath;
@@ -76,6 +76,7 @@ public class RankingsScene extends PixelScene {
title.hardlight(Window.SHPX_COLOR);
title.x = (w - title.width()) / 2;
title.y = GAP;
+ align(title);
add(title);
if (Rankings.INSTANCE.records.size() > 0) {
@@ -123,6 +124,10 @@ public class RankingsScene extends PixelScene {
total.x = won.x + won.width();
label.y = won.y = total.y = h - label.height() - GAP;
+ align(label);
+ align(total);
+ align(won);
+
}
} else {
@@ -256,10 +261,12 @@ public class RankingsScene extends PixelScene {
super.layout();
shield.x = x;
- shield.y = y + (height - shield.height) / 2;
+ shield.y = y + (height - shield.height) / 2f;
+ align(shield);
- position.x = shield.x + (shield.width - position.width()) / 2;
- position.y = shield.y + (shield.height - position.height()) / 2 + 1;
+ position.x = shield.x + (shield.width - position.width()) / 2f;
+ position.y = shield.y + (shield.height - position.height()) / 2f + 1;
+ align(position);
if (flare != null) {
flare.point( shield.center() );
@@ -268,17 +275,20 @@ public class RankingsScene extends PixelScene {
classIcon.x = x + width - classIcon.width;
classIcon.y = shield.y;
- level.x = classIcon.x + (classIcon.width - level.width()) / 2;
- level.y = classIcon.y + (classIcon.height - level.height()) / 2 + 1;
+ level.x = classIcon.x + (classIcon.width - level.width()) / 2f;
+ level.y = classIcon.y + (classIcon.height - level.height()) / 2f + 1;
+ align(level);
steps.x = x + width - steps.width - classIcon.width;
steps.y = shield.y;
- depth.x = steps.x + (steps.width - depth.width()) / 2;
- depth.y = steps.y + (steps.height - depth.height()) / 2 + 1;
+ depth.x = steps.x + (steps.width - depth.width()) / 2f;
+ depth.y = steps.y + (steps.height - depth.height()) / 2f + 1;
+ align(depth);
desc.maxWidth((int)(steps.x - (shield.x + shield.width + GAP)));
- desc.setPos(shield.x + shield.width + GAP, shield.y + (shield.height - desc.height()) / 2 + 1);
+ desc.setPos(shield.x + shield.width + GAP, shield.y + (shield.height - desc.height()) / 2f + 1);
+ align(desc);
}
@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/StartScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/StartScene.java
index e1f4b9042..4d73cc74e 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/StartScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/StartScene.java
@@ -34,6 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
import com.shatteredpixel.shatteredpixeldungeon.ui.ExitButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndChallenges;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndClass;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndMessage;
@@ -43,7 +44,6 @@ import com.watabou.noosa.Game;
import com.watabou.noosa.Group;
import com.watabou.noosa.Image;
import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.particles.BitmaskEmitter;
import com.watabou.noosa.particles.Emitter;
@@ -108,6 +108,7 @@ public class StartScene extends PixelScene {
Image title = BannerSprites.get( Type.SELECT_YOUR_HERO );
title.x = (w - title.width()) / 2;
title.y = top;
+ align( title );
add( title );
buttonX = left;
@@ -163,6 +164,7 @@ public class StartScene extends PixelScene {
for (int i=0; i < classes.length; i++) {
ClassShield shield = shields.get( classes[i] );
shield.setRect( left + i * shieldW, top, shieldW, shieldH );
+ align(shield);
}
ChallengeButton challenge = new ChallengeButton();
@@ -181,12 +183,14 @@ public class StartScene extends PixelScene {
left + (i % 2) * shieldW,
top + (i / 2) * shieldH,
shieldW, shieldH );
+ align(shield);
}
ChallengeButton challenge = new ChallengeButton();
challenge.setPos(
w/2 - challenge.width()/2,
top + shieldH - challenge.height()/2 );
+ align(challenge);
add( challenge );
}
@@ -200,6 +204,7 @@ public class StartScene extends PixelScene {
text.maxWidth((int)width);
text.hardlight( 0xFFFF00 );
text.setPos(w / 2 - text.width() / 2, (bottom - BUTTON_HEIGHT) + (BUTTON_HEIGHT - text.height()) / 2);
+ align(text);
unlock.add(text);
}
@@ -332,6 +337,8 @@ public class StartScene extends PixelScene {
} else {
text.y = y + (height - text.baseLine()) / 2;
}
+ align(text);
+ align(secondary);
}
public void secondary( String text, boolean highlighted ) {
@@ -411,9 +418,11 @@ public class StartScene extends PixelScene {
avatar.x = x + (width - avatar.width()) / 2;
avatar.y = y + (height - avatar.height() - name.height()) / 2;
+ align(avatar);
name.x = x + (width - name.width()) / 2;
name.y = avatar.y + avatar.height() + SCALE;
+ align(name);
}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java
index 1355f8206..abd56272e 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/SurfaceScene.java
@@ -20,11 +20,15 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.scenes;
-import java.nio.FloatBuffer;
-import java.util.Calendar;
-
+import com.shatteredpixel.shatteredpixeldungeon.Assets;
+import com.shatteredpixel.shatteredpixeldungeon.Badges;
+import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
+import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
+import com.shatteredpixel.shatteredpixeldungeon.sprites.RatSprite;
+import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.watabou.gltextures.Gradient;
import com.watabou.gltextures.SmartTexture;
import com.watabou.glwrap.Matrix;
@@ -40,16 +44,12 @@ import com.watabou.noosa.TextureFilm;
import com.watabou.noosa.TouchArea;
import com.watabou.noosa.Visual;
import com.watabou.noosa.audio.Music;
-import com.shatteredpixel.shatteredpixeldungeon.Assets;
-import com.shatteredpixel.shatteredpixeldungeon.Badges;
-import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
-import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
-import com.shatteredpixel.shatteredpixeldungeon.sprites.RatSprite;
-import com.shatteredpixel.shatteredpixeldungeon.ui.Archs;
-import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.watabou.utils.Point;
import com.watabou.utils.Random;
+import java.nio.FloatBuffer;
+import java.util.Calendar;
+
public class SurfaceScene extends PixelScene {
private static final int FRAME_WIDTH = 88;
@@ -85,8 +85,8 @@ public class SurfaceScene extends PixelScene {
archs.setSize( w, h );
add( archs );
- float vx = (w - SKY_WIDTH) / 2;
- float vy = (h - SKY_HEIGHT - BUTTON_HEIGHT) / 2;
+ float vx = align((w - SKY_WIDTH) / 2f);
+ float vy = align((h - SKY_HEIGHT - BUTTON_HEIGHT) / 2f);
Point s = Camera.main.cameraToScreen( vx, vy );
viewport = new Camera( s.x, s.y, SKY_WIDTH, SKY_HEIGHT, defaultZoom );
@@ -132,12 +132,14 @@ public class SurfaceScene extends PixelScene {
a.am = 2; a.aa = -1;
a.x = (SKY_WIDTH - a.width) / 2;
a.y = SKY_HEIGHT - a.height;
+ align(a);
window.add( a );
final Pet pet = new Pet();
pet.rm = pet.gm = pet.bm = 1.2f;
pet.x = SKY_WIDTH / 2 + 2;
pet.y = SKY_HEIGHT - pet.height;
+ align(pet);
window.add( pet );
window.add( new TouchArea( sky ) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java
index 757f3ae76..aec82f88a 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java
@@ -212,9 +212,11 @@ public class TitleScene extends PixelScene {
image.x = x + (width - image.width()) / 2;
image.y = y;
+ align(image);
label.x = x + (width - label.width()) / 2;
label.y = image.y + image.height() +2;
+ align(label);
}
@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java
index 5623f409c..ce5dd7b11 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java
@@ -9,10 +9,10 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.BannerSprites;
import com.shatteredpixel.shatteredpixeldungeon.effects.Fireball;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.watabou.noosa.Camera;
import com.watabou.noosa.Game;
import com.watabou.noosa.Image;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.audio.Sample;
import javax.microedition.khronos.opengles.GL10;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/AttackIndicator.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/AttackIndicator.java
index 9c3107d9b..c106cc186 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/AttackIndicator.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/AttackIndicator.java
@@ -20,8 +20,6 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.ui;
-import java.util.ArrayList;
-
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
@@ -31,6 +29,8 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.watabou.noosa.Game;
import com.watabou.utils.Random;
+import java.util.ArrayList;
+
public class AttackIndicator extends Tag {
private static final float ENABLED = 1.0f;
@@ -68,6 +68,7 @@ public class AttackIndicator extends Tag {
if (sprite != null) {
sprite.x = x + (width - sprite.width()) / 2;
sprite.y = y + (height - sprite.height()) / 2;
+ PixelScene.align(sprite);
}
}
@@ -142,6 +143,7 @@ public class AttackIndicator extends Tag {
sprite.x = x + (width - sprite.width()) / 2 + 1;
sprite.y = y + (height - sprite.height()) / 2;
+ PixelScene.align(sprite);
} catch (Exception e) {
}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/BadgesList.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/BadgesList.java
index f7ddd3271..aecb43bd6 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/BadgesList.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/BadgesList.java
@@ -20,18 +20,18 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.ui;
-import java.util.ArrayList;
-
-import com.watabou.noosa.Game;
-import com.watabou.noosa.Image;
-import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.audio.Sample;
-import com.watabou.noosa.ui.Component;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.effects.BadgeBanner;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBadge;
+import com.watabou.noosa.Game;
+import com.watabou.noosa.Image;
+import com.watabou.noosa.RenderedText;
+import com.watabou.noosa.audio.Sample;
+import com.watabou.noosa.ui.Component;
+
+import java.util.ArrayList;
public class BadgesList extends ScrollPane {
@@ -108,9 +108,11 @@ public class BadgesList extends ScrollPane {
protected void layout() {
icon.x = x;
icon.y = y + (height - icon.height) / 2;
+ PixelScene.align(icon);
label.x = icon.x + icon.width + 2;
label.y = y + (height - label.baseLine()) / 2;
+ PixelScene.align(label);
}
public boolean onClick( float x, float y ) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/CheckBox.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/CheckBox.java
index 50ffd4ae0..8584d2214 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/CheckBox.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/CheckBox.java
@@ -40,11 +40,13 @@ public class CheckBox extends RedButton {
text.x = x + margin;
text.y = y + margin;
+ PixelScene.align(text);
margin = (height - icon.height) / 2;
icon.x = x + width - margin - icon.width;
icon.y = y + margin;
+ PixelScene.align(icon);
}
public boolean checked() {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java
index c72697c15..949037037 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java
@@ -20,12 +20,12 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.ui;
-import com.watabou.noosa.BitmapText;
-import com.watabou.noosa.Camera;
-import com.watabou.noosa.Image;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.watabou.noosa.BitmapText;
+import com.watabou.noosa.Camera;
+import com.watabou.noosa.Image;
public class DangerIndicator extends Tag {
@@ -69,7 +69,8 @@ public class DangerIndicator extends Tag {
private void placeNumber() {
number.x = right() - 11 - number.width();
- number.y = y + (height - number.baseLine()) / 2;
+ number.y = y + (height - number.baseLine()) / 2f;
+ PixelScene.align(number);
}
@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/GameLog.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/GameLog.java
index 336623ae0..44c4155d7 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/GameLog.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/GameLog.java
@@ -23,7 +23,6 @@ package com.shatteredpixel.shatteredpixeldungeon.ui;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.ui.Component;
import com.watabou.utils.Signal;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java
index cc3869fcc..0da48ff1b 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/QuickSlotButton.java
@@ -20,18 +20,19 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.ui;
-import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
-import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.Image;
-import com.watabou.noosa.ui.Button;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.DungeonTilemap;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
+import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
+import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
+import com.watabou.noosa.Image;
+import com.watabou.noosa.ui.Button;
public class QuickSlotButton extends Button implements WndBag.Listener {
@@ -122,6 +123,7 @@ public class QuickSlotButton extends Button implements WndBag.Listener {
crossB.x = x + (width - crossB.width) / 2;
crossB.y = y + (height - crossB.height) / 2;
+ PixelScene.align(crossB);
}
@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/RedButton.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/RedButton.java
index 0069847b1..ef359fd00 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/RedButton.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/RedButton.java
@@ -20,14 +20,14 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.ui;
+import com.shatteredpixel.shatteredpixeldungeon.Assets;
+import com.shatteredpixel.shatteredpixeldungeon.Chrome;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.watabou.noosa.Image;
import com.watabou.noosa.NinePatch;
import com.watabou.noosa.RenderedText;
import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.ui.Button;
-import com.shatteredpixel.shatteredpixeldungeon.Assets;
-import com.shatteredpixel.shatteredpixeldungeon.Chrome;
-import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
public class RedButton extends Button {
@@ -66,10 +66,12 @@ public class RedButton extends Button {
text.x = x + (width - text.width()) / 2;
text.y = y + (height - text.baseLine()) / 2;
+ PixelScene.align(text);
if (icon != null) {
icon.x = x + text.x - icon.width() - 2;
icon.y = y + (height - icon.height()) / 2;
+ PixelScene.align(icon);
}
}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/RenderedTextMultiline.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/RenderedTextMultiline.java
new file mode 100644
index 000000000..7bcceca04
--- /dev/null
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/RenderedTextMultiline.java
@@ -0,0 +1,197 @@
+/*
+ * Copyright (C) 2012-2015 Oleg Dolya
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+
+package com.shatteredpixel.shatteredpixeldungeon.ui;
+
+import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.watabou.noosa.RenderedText;
+import com.watabou.noosa.ui.Component;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class RenderedTextMultiline extends Component {
+
+ private int maxWidth = Integer.MAX_VALUE;
+ public int nLines;
+
+ private String text;
+ private List tokens;
+ private ArrayList words = new ArrayList<>();
+
+ private int size;
+ private float zoom;
+ private int color = -1;
+
+ private static final String SPACE = " ";
+ private static final String NEWLINE = "\n";
+ private static final String UNDERSCORE = "_";
+
+ private boolean chinese = false;
+
+ public RenderedTextMultiline(int size){
+ this.size = size;
+ }
+
+ public RenderedTextMultiline(String text, int size){
+ this.size = size;
+ text(text);
+ }
+
+ public void text(String text){
+ this.text = text;
+
+ if (text != null && !text.equals("")) {
+ //conversion for chinese text
+
+ chinese = text.replaceAll("\\p{Han}", "").length() != text.length();
+
+ if (chinese){
+ tokens = Arrays.asList(text.split(""));
+ } else {
+ tokens = Arrays.asList(text.split("(?<= )|(?= )|(?<=\n)|(?=\n)"));
+ }
+ build();
+ }
+ }
+
+ public void text(String text, int maxWidth){
+ this.maxWidth = maxWidth;
+ text(text);
+ }
+
+ public String text(){
+ return text;
+ }
+
+ public void maxWidth(int maxWidth){
+ if (this.maxWidth != maxWidth){
+ this.maxWidth = maxWidth;
+ layout();
+ }
+ }
+
+ public int maxWidth(){
+ return maxWidth;
+ }
+
+ private void build(){
+ clear();
+ words = new ArrayList<>();
+ boolean highlighting = false;
+ for (String str : tokens){
+ if (str.equals(UNDERSCORE)){
+ highlighting = !highlighting;
+ } else if (str.equals(NEWLINE)){
+ words.add(null);
+ } else if (!str.equals(SPACE)){
+ RenderedText word;
+ if (str.startsWith(UNDERSCORE) && str.endsWith(UNDERSCORE)){
+ word = new RenderedText(str.substring(1, str.length()-1), size);
+ word.hardlight(0xFFFF44);
+ } else {
+ if (str.startsWith(UNDERSCORE)){
+ highlighting = !highlighting;
+ word = new RenderedText(str.substring(1, str.length()), size);
+ } else if (str.endsWith(UNDERSCORE)) {
+ word = new RenderedText(str.substring(0, str.length()-1), size);
+ } else {
+ word = new RenderedText(str, size);
+ }
+ if (highlighting) word.hardlight(0xFFFF44);
+ else if (color != -1) word.hardlight(color);
+
+ if (str.endsWith(UNDERSCORE)) highlighting = !highlighting;
+ }
+ word.scale.set(zoom);
+ words.add(word);
+ add(word);
+
+ if (height < word.baseLine()) height = word.baseLine();
+
+ }
+ }
+ layout();
+ }
+
+ public void zoom(float zoom){
+ this.zoom = zoom;
+ for (RenderedText word : words) {
+ if (word != null) word.scale.set(zoom);
+ }
+ }
+
+ public void hardlight(int color){
+ this.color = color;
+ for (RenderedText word : words) {
+ if (word != null) word.hardlight( color );
+ }
+ }
+
+ public void invert(){
+ if (words != null) {
+ for (RenderedText word : words) {
+ if (word != null) {
+ word.ra = 0.77f;
+ word.ga = 0.73f;
+ word.ba = 0.62f;
+ word.rm = -0.77f;
+ word.gm = -0.73f;
+ word.bm = -0.62f;
+ }
+ }
+ }
+ }
+
+ @Override
+ protected void layout() {
+ super.layout();
+ float x = this.x;
+ float y = this.y;
+ float height = 0;
+ nLines = 1;
+
+ for (RenderedText word : words){
+ if (word == null) {
+ //newline
+ y += height+0.5f;
+ x = this.x;
+ nLines++;
+ } else {
+ if (word.height() > height) height = word.baseLine();
+
+ if ((x - this.x) + word.width() > maxWidth){
+ y += height+0.5f;
+ x = this.x;
+ nLines++;
+ }
+
+ word.x = x;
+ word.y = y;
+ PixelScene.align(word);
+ x += word.width();
+ if (!chinese) x ++;
+ else x--;
+
+ if ((x - this.x) > width) width = (x - this.x);
+
+ }
+ }
+ this.height = (y - this.y) + height+0.5f;
+ }
+}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/ResumeIndicator.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/ResumeIndicator.java
index 9a1e8868e..fcdaa2815 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/ResumeIndicator.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/ResumeIndicator.java
@@ -49,8 +49,9 @@ public class ResumeIndicator extends Tag {
protected void layout() {
super.layout();
- icon.x = x+1 + (width - icon.width) / 2;
- icon.y = y + (height - icon.height) / 2;
+ icon.x = x+1 + (width - icon.width) / 2f;
+ icon.y = y + (height - icon.height) / 2f;
+ PixelScene.align(icon);
}
@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java
index cd6561d26..78248c07e 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java
@@ -20,6 +20,17 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.ui;
+import com.shatteredpixel.shatteredpixeldungeon.Assets;
+import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
+import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
+import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
+import com.shatteredpixel.shatteredpixeldungeon.effects.particles.BloodParticle;
+import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
+import com.shatteredpixel.shatteredpixeldungeon.windows.WndGame;
+import com.shatteredpixel.shatteredpixeldungeon.windows.WndHero;
import com.watabou.input.Touchscreen.Touch;
import com.watabou.noosa.BitmapText;
import com.watabou.noosa.Camera;
@@ -31,16 +42,6 @@ import com.watabou.noosa.particles.BitmaskEmitter;
import com.watabou.noosa.particles.Emitter;
import com.watabou.noosa.ui.Button;
import com.watabou.noosa.ui.Component;
-import com.shatteredpixel.shatteredpixeldungeon.Assets;
-import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
-import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
-import com.shatteredpixel.shatteredpixeldungeon.effects.particles.BloodParticle;
-import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
-import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
-import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
-import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
-import com.shatteredpixel.shatteredpixeldungeon.windows.WndGame;
-import com.shatteredpixel.shatteredpixeldungeon.windows.WndHero;
public class StatusPane extends Component {
@@ -138,11 +139,13 @@ public class StatusPane extends Component {
shield.size( width, shield.height );
- avatar.x = shield.x + 15 - avatar.width / 2;
- avatar.y = shield.y + 16 - avatar.height / 2;
+ avatar.x = shield.x + 15 - avatar.width / 2f;
+ avatar.y = shield.y + 16 - avatar.height / 2f;
+ PixelScene.align(avatar);
- compass.x = avatar.x + avatar.width / 2 - compass.origin.x;
- compass.y = avatar.y + avatar.height / 2 - compass.origin.y;
+ compass.x = avatar.x + avatar.width / 2f - compass.origin.x;
+ compass.y = avatar.y + avatar.height / 2f - compass.origin.y;
+ PixelScene.align(compass);
hp.x = 30;
hp.y = 3;
@@ -193,8 +196,9 @@ public class StatusPane extends Component {
lastLvl = Dungeon.hero.lvl;
level.text( Integer.toString( lastLvl ) );
level.measure();
- level.x = 27.5f - level.width() / 2;
- level.y = 28.0f - level.baseLine() / 2;
+ level.x = 27.5f - level.width() / 2f;
+ level.y = 28.0f - level.baseLine() / 2f;
+ PixelScene.align(level);
}
int k = IronKey.curDepthQuantity;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toast.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toast.java
index fe8673304..5bf5842fd 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toast.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/Toast.java
@@ -20,11 +20,10 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.ui;
-import com.watabou.noosa.NinePatch;
-import com.watabou.noosa.RenderedTextMultiline;
-import com.watabou.noosa.ui.Component;
import com.shatteredpixel.shatteredpixeldungeon.Chrome;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.watabou.noosa.NinePatch;
+import com.watabou.noosa.ui.Component;
public class Toast extends Component {
@@ -70,10 +69,12 @@ public class Toast extends Component {
bg.size( width, height );
close.setPos(
- bg.x + bg.width() - bg.marginHor() / 2 - MARGIN_HOR - close.width(),
- y + (height - close.height()) / 2 );
+ bg.x + bg.width() - bg.marginHor() / 2f - MARGIN_HOR - close.width(),
+ y + (height - close.height()) / 2f );
+ PixelScene.align(close);
text.setPos(close.left() - MARGIN_HOR - text.width(), y + (height - text.height()) / 2);
+ PixelScene.align(text);
}
public void text( String txt ) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java
index b3c951d28..9d90248f6 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/IconTitle.java
@@ -20,15 +20,15 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.Image;
-import com.watabou.noosa.RenderedTextMultiline;
-import com.watabou.noosa.ui.Component;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.HealthBar;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
+import com.watabou.noosa.Image;
+import com.watabou.noosa.ui.Component;
public class IconTitle extends Component {
@@ -85,6 +85,7 @@ public class IconTitle extends Component {
tfLabel.setPos(imIcon.x + imIcon.width() + GAP, imIcon.height > tfLabel.height() ?
imIcon.y + (imIcon.height() - tfLabel.height()) / 2 :
imIcon.y);
+ PixelScene.align(tfLabel);
if (health.visible) {
health.setRect( tfLabel.left(), Math.max( tfLabel.top() + tfLabel.height(), imIcon.y + imIcon.height() - health.height() ), tfLabel.maxWidth(), 0 );
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBadge.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBadge.java
index f0b0ae76f..1dd5aa5d8 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBadge.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBadge.java
@@ -20,12 +20,12 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.watabou.noosa.Image;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.effects.BadgeBanner;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
+import com.watabou.noosa.Image;
public class WndBadge extends Window {
@@ -43,12 +43,14 @@ public class WndBadge extends Window {
//TODO: this used to be centered, should probably figure that out.
RenderedTextMultiline info = PixelScene.renderMultiline( badge.desc(), 8 );
info.maxWidth(WIDTH - MARGIN * 2);
+ PixelScene.align(info);
add(info);
float w = Math.max( icon.width(), info.width() ) + MARGIN * 2;
- icon.x = (w - icon.width()) / 2;
+ icon.x = (w - icon.width()) / 2f;
icon.y = MARGIN;
+ PixelScene.align(icon);
info.setPos((w - info.width()) / 2, icon.y + icon.height() + MARGIN);
resize( (int)w, (int)(info.bottom() + MARGIN) );
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBlacksmith.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBlacksmith.java
index 6e67b428c..cc38fe18c 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBlacksmith.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndBlacksmith.java
@@ -20,21 +20,21 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.NinePatch;
-import com.watabou.noosa.RenderedTextMultiline;
-import com.watabou.noosa.audio.Sample;
-import com.watabou.noosa.ui.Component;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Chrome;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Blacksmith;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.ItemSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
+import com.watabou.noosa.NinePatch;
+import com.watabou.noosa.audio.Sample;
+import com.watabou.noosa.ui.Component;
public class WndBlacksmith extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndCatalogus.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndCatalogus.java
index 3563c526b..5336dcc76 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndCatalogus.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndCatalogus.java
@@ -20,21 +20,21 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import java.util.ArrayList;
-
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.RenderedTextMultiline;
-import com.watabou.noosa.ui.Component;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.ScrollPane;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
+import com.watabou.noosa.RenderedText;
+import com.watabou.noosa.ui.Component;
+
+import java.util.ArrayList;
public class WndCatalogus extends WndTabbed {
@@ -111,6 +111,7 @@ public class WndCatalogus extends WndTabbed {
txtTitle.text( Messages.get(this, "title", showPotions ? Messages.get(this, "potions") : Messages.get(this, "scrolls") ) );
txtTitle.x = (width - txtTitle.width()) / 2;
+ PixelScene.align(txtTitle);
items.clear();
@@ -182,6 +183,7 @@ public class WndCatalogus extends WndTabbed {
label.maxWidth((int)(width - sprite.width));
label.setPos(sprite.x + sprite.width, y + (height - label.height()) / 2);
+ PixelScene.align(label);
}
public boolean onClick( float x, float y ) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java
index d785d10c9..49c67d155 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java
@@ -20,16 +20,16 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import java.util.ArrayList;
-
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.CheckBox;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.noosa.RenderedText;
+import java.util.ArrayList;
+
public class WndChallenges extends Window {
private static final int WIDTH = 108;
@@ -50,9 +50,10 @@ public class WndChallenges extends Window {
title.hardlight( TITLE_COLOR );
title.x = (WIDTH - title.width()) / 2;
title.y = (TTL_HEIGHT - title.height()) / 2;
+ PixelScene.align(title);
add( title );
- boxes = new ArrayList();
+ boxes = new ArrayList<>();
float pos = TTL_HEIGHT;
for (int i=0; i < Challenges.NAME_IDS.length; i++) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChooseWay.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChooseWay.java
index 4a55fc142..e7cab0a12 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChooseWay.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndChooseWay.java
@@ -20,14 +20,14 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
import com.shatteredpixel.shatteredpixeldungeon.items.TomeOfMastery;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndChooseWay extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndClass.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndClass.java
index e7eef88b7..840d4b78e 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndClass.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndClass.java
@@ -25,9 +25,9 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.watabou.noosa.BitmapText;
import com.watabou.noosa.Group;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndClass extends WndTabbed {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java
index 313342fef..fac38dc54 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java
@@ -20,10 +20,17 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import java.util.Locale;
-
+import com.shatteredpixel.shatteredpixeldungeon.Assets;
+import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
+import com.shatteredpixel.shatteredpixeldungeon.Statistics;
+import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
+import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
+import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.gltextures.SmartTexture;
import com.watabou.gltextures.TextureCache;
@@ -31,17 +38,10 @@ import com.watabou.noosa.Group;
import com.watabou.noosa.Image;
import com.watabou.noosa.RenderedText;
import com.watabou.noosa.TextureFilm;
-import com.shatteredpixel.shatteredpixeldungeon.Assets;
-import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
-import com.shatteredpixel.shatteredpixeldungeon.Statistics;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
-import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
-import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
-import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
-import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
-import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.watabou.noosa.ui.Button;
+import java.util.Locale;
+
public class WndHero extends WndTabbed {
private static final int WIDTH = 100;
@@ -148,8 +148,9 @@ public class WndHero extends WndTabbed {
add( txt );
txt = PixelScene.renderText( value, 8 );
- txt.x = 65;
+ txt.x = WIDTH * 0.65f;
txt.y = pos;
+ PixelScene.align(txt);
add( txt );
pos += GAP + txt.baseLine();
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndImp.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndImp.java
index 825b8e164..d9464411d 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndImp.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndImp.java
@@ -20,17 +20,17 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Imp;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.quest.DwarfToken;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndImp extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java
index 09310b1c7..09fae274b 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java
@@ -24,11 +24,11 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.gltextures.SmartTexture;
import com.watabou.gltextures.TextureCache;
import com.watabou.noosa.Image;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.TextureFilm;
public class WndInfoBuff extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoCell.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoCell.java
index cefdd986e..a3bc023e0 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoCell.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoCell.java
@@ -20,16 +20,16 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.ui.CustomTileVisual;
-import com.watabou.noosa.Image;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.DungeonTilemap;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.ui.CustomTileVisual;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
+import com.watabou.noosa.Image;
public class WndInfoCell extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoItem.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoItem.java
index 629ac5880..6e6fcdffa 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoItem.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoItem.java
@@ -31,8 +31,8 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.ItemSlot;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndInfoItem extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java
index a2437b114..f7dc25cee 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndItem.java
@@ -27,8 +27,8 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.ItemSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java
index 58f7e5745..8c8bd5c4a 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java
@@ -20,20 +20,20 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import java.util.Collections;
-
-import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.BitmapText;
-import com.watabou.noosa.Image;
-import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.ui.Component;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Journal;
+import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
import com.shatteredpixel.shatteredpixeldungeon.ui.ScrollPane;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
+import com.watabou.noosa.BitmapText;
+import com.watabou.noosa.Image;
+import com.watabou.noosa.RenderedText;
+import com.watabou.noosa.ui.Component;
+
+import java.util.Collections;
public class WndJournal extends Window {
@@ -54,6 +54,7 @@ public class WndJournal extends Window {
txtTitle = PixelScene.renderText( Messages.get(this, "title"), 9 );
txtTitle.hardlight( Window.TITLE_COLOR );
txtTitle.x = (WIDTH - txtTitle.width()) / 2;
+ PixelScene.align(txtTitle);
add( txtTitle );
Component content = new Component();
@@ -117,10 +118,12 @@ public class WndJournal extends Window {
depth.x = icon.x - 1 - depth.width();
depth.y = y + (height - depth.height()) / 2;
+ PixelScene.align(depth);
icon.y = depth.y - 1;
feature.y = depth.y + depth.baseLine() - feature.baseLine();
+ PixelScene.align(feature);
}
}
}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndLangs.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndLangs.java
index a47b6ba7e..5825fffbe 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndLangs.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndLangs.java
@@ -26,10 +26,10 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.TitleScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.noosa.ColorBlock;
import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.RenderedTextMultiline;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndMessage.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndMessage.java
index b9e4d75a4..73ef38260 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndMessage.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndMessage.java
@@ -22,8 +22,8 @@ package com.shatteredpixel.shatteredpixeldungeon.windows;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndMessage extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndOptions.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndOptions.java
index ab3d51688..79248d7a0 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndOptions.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndOptions.java
@@ -23,8 +23,8 @@ package com.shatteredpixel.shatteredpixeldungeon.windows;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndOptions extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java
index ab9c69336..99a18bd4a 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java
@@ -20,23 +20,13 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import java.util.Locale;
-
-
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.ColorBlock;
-import com.watabou.noosa.Game;
-import com.watabou.noosa.Group;
-import com.watabou.noosa.Image;
-import com.watabou.noosa.RenderedText;
-import com.watabou.noosa.audio.Sample;
-import com.watabou.noosa.ui.Button;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Belongings;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.BadgesList;
@@ -45,6 +35,15 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.ItemSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.ScrollPane;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
+import com.watabou.noosa.ColorBlock;
+import com.watabou.noosa.Game;
+import com.watabou.noosa.Group;
+import com.watabou.noosa.Image;
+import com.watabou.noosa.RenderedText;
+import com.watabou.noosa.audio.Sample;
+import com.watabou.noosa.ui.Button;
+
+import java.util.Locale;
public class WndRanking extends WndTabbed {
@@ -200,6 +199,7 @@ public class WndRanking extends WndTabbed {
txt = PixelScene.renderText( value, 7 );
txt.x = WIDTH * 0.65f;
txt.y = pos;
+ PixelScene.align(txt);
parent.add( txt );
return pos + GAP + txt.baseLine();
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java
index a2d06f36d..78a926f81 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java
@@ -20,18 +20,18 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.watabou.noosa.Game;
import com.shatteredpixel.shatteredpixeldungeon.Rankings;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.InterlevelScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
-import com.watabou.noosa.RenderedTextMultiline;
+import com.watabou.noosa.Game;
public class WndResurrect extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java
index 9c3366e20..db1f8bf6c 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java
@@ -30,9 +30,9 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.FetidRatSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.GnollTricksterSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.GreatCrabSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndSadGhost extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndStory.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndStory.java
index 6611553a8..e6a3dc530 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndStory.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndStory.java
@@ -25,10 +25,10 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.input.Touchscreen.Touch;
import com.watabou.noosa.Game;
-import com.watabou.noosa.RenderedTextMultiline;
import com.watabou.noosa.TouchArea;
import com.watabou.utils.SparseArray;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTabbed.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTabbed.java
index ad07c84a8..25e2b6ffb 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTabbed.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTabbed.java
@@ -20,17 +20,17 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import java.util.ArrayList;
-
+import com.shatteredpixel.shatteredpixeldungeon.Assets;
+import com.shatteredpixel.shatteredpixeldungeon.Chrome;
+import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
+import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.noosa.Game;
import com.watabou.noosa.NinePatch;
import com.watabou.noosa.RenderedText;
import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.ui.Button;
-import com.shatteredpixel.shatteredpixeldungeon.Assets;
-import com.shatteredpixel.shatteredpixeldungeon.Chrome;
-import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
-import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
+
+import java.util.ArrayList;
public class WndTabbed extends Window {
@@ -218,6 +218,7 @@ public class WndTabbed extends Window {
if (!selected) {
btLabel.y -= 2;
}
+ PixelScene.align(btLabel);
}
@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTitledMessage.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTitledMessage.java
index 050fb7894..4d63534a1 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTitledMessage.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTitledMessage.java
@@ -22,10 +22,10 @@ package com.shatteredpixel.shatteredpixeldungeon.windows;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
-import com.watabou.noosa.Image;
-import com.watabou.noosa.RenderedTextMultiline;
-import com.watabou.noosa.ui.Component;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
+import com.watabou.noosa.Image;
+import com.watabou.noosa.ui.Component;
public class WndTitledMessage extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java
index 3c57b9ccf..d78581da3 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndTradeItem.java
@@ -20,23 +20,23 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
-import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.MasterThievesArmband;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
+import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Shopkeeper;
import com.shatteredpixel.shatteredpixeldungeon.items.EquipableItem;
import com.shatteredpixel.shatteredpixeldungeon.items.Gold;
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
+import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.MasterThievesArmband;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.ItemSlot;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndTradeItem extends Window {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndWandmaker.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndWandmaker.java
index c489f567d..c7ff43efe 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndWandmaker.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndWandmaker.java
@@ -20,20 +20,20 @@
*/
package com.shatteredpixel.shatteredpixeldungeon.windows;
-import com.shatteredpixel.shatteredpixeldungeon.items.quest.CorpseDust;
-import com.shatteredpixel.shatteredpixeldungeon.items.quest.Embers;
-import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
-import com.shatteredpixel.shatteredpixeldungeon.plants.Rotberry;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Wandmaker;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
+import com.shatteredpixel.shatteredpixeldungeon.items.quest.CorpseDust;
+import com.shatteredpixel.shatteredpixeldungeon.items.quest.Embers;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
+import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
+import com.shatteredpixel.shatteredpixeldungeon.plants.Rotberry;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
+import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextMultiline;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
-import com.watabou.noosa.RenderedTextMultiline;
public class WndWandmaker extends Window {