diff --git a/assets/font3x.png b/assets/font.png similarity index 100% rename from assets/font3x.png rename to assets/font.png diff --git a/assets/font15x.png b/assets/font15x.png deleted file mode 100644 index 068e93d04..000000000 Binary files a/assets/font15x.png and /dev/null differ diff --git a/assets/font25x.png b/assets/font25x.png deleted file mode 100644 index 46a2a9876..000000000 Binary files a/assets/font25x.png and /dev/null differ diff --git a/assets/font2x.png b/assets/font2x.png deleted file mode 100644 index 4bc3c342a..000000000 Binary files a/assets/font2x.png and /dev/null differ diff --git a/assets/font1x.png b/assets/pixel_font.png similarity index 100% rename from assets/font1x.png rename to assets/pixel_font.png diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/Assets.java b/src/com/shatteredpixel/shatteredpixeldungeon/Assets.java index de53fbb3d..678dd2c2f 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/Assets.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/Assets.java @@ -110,11 +110,8 @@ public class Assets { public static final String BUFFS_LARGE = "large_buffs.png"; public static final String SPELL_ICONS = "spell_icons.png"; - public static final String FONTS1X = "font1x.png"; - public static final String FONTS15X = "font15x.png"; - public static final String FONTS2X = "font2x.png"; - public static final String FONTS25X = "font25x.png"; - public static final String FONTS3X = "font3x.png"; + public static final String PIXELFONT = "pixel_font.png"; + public static final String FONT = "font.png"; public static final String THEME = "theme.mp3"; public static final String TUNE = "game.mp3"; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java index 48dc8c835..a2e6bd35e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/PixelScene.java @@ -25,6 +25,7 @@ import javax.microedition.khronos.opengles.GL10; import android.opengl.GLES20; import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon; +import com.watabou.glwrap.Texture; import com.watabou.input.Touchscreen; import com.watabou.noosa.BitmapText; import com.watabou.noosa.BitmapText.Font; @@ -53,20 +54,18 @@ public class PixelScene extends Scene { public static int maxDefaultZoom = 0; public static float minZoom; public static float maxZoom; - + public static Camera uiCamera; - - public static BitmapText.Font font1x; - public static BitmapText.Font font15x; - public static BitmapText.Font font2x; - public static BitmapText.Font font25x; - public static BitmapText.Font font3x; - + + public static BitmapText.Font pixelFont; + public static BitmapText.Font fontLinear; + public static BitmapText.Font fontNearest; + @Override public void create() { - + super.create(); - + GameScene.scene = null; float minWidth, minHeight; @@ -94,56 +93,41 @@ public class PixelScene extends Scene { minZoom = 1; maxZoom = defaultZoom * 2; - + Camera.reset( new PixelCamera( defaultZoom ) ); - + float uiZoom = defaultZoom; uiCamera = Camera.createFullscreen( uiZoom ); Camera.add( uiCamera ); - - if (font1x == null) { - + + if (pixelFont == null) { + // 3x5 (6) - font1x = Font.colorMarked( - BitmapCache.get( Assets.FONTS1X ), 0x00000000, BitmapText.Font.LATIN_FULL ); - font1x.baseLine = 6; - font1x.tracking = -1; - - // 5x8 (10) - font15x = Font.colorMarked( - BitmapCache.get( Assets.FONTS15X ), 12, 0x00000000, BitmapText.Font.LATIN_FULL ); - font15x.baseLine = 9; - font15x.tracking = -1; - - // 6x10 (12) - font2x = Font.colorMarked( - BitmapCache.get( Assets.FONTS2X ), 14, 0x00000000, BitmapText.Font.LATIN_FULL ); - font2x.baseLine = 11; - font2x.tracking = -1; - - // 7x12 (15) - font25x = Font.colorMarked( - BitmapCache.get( Assets.FONTS25X ), 17, 0x00000000, BitmapText.Font.LATIN_FULL ); - font25x.baseLine = 13; - font25x.tracking = -1; - + pixelFont = Font.colorMarked( + BitmapCache.get( Assets.PIXELFONT), 0x00000000, BitmapText.Font.LATIN_FULL ); + pixelFont.baseLine = 6; + pixelFont.tracking = -1; + // 9x15 (18) - font3x = Font.colorMarked( - BitmapCache.get( Assets.FONTS3X ), 22, 0x00000000, BitmapText.Font.LATIN_FULL ); - font3x.baseLine = 17; - font3x.tracking = -2; + fontLinear = Font.colorMarked( + BitmapCache.get( Assets.FONT), 22, 0x00000000, BitmapText.Font.LATIN_FULL ); + fontNearest = Font.colorMarked( + BitmapCache.get( "2", Assets.FONT), 22, 0x00000000, BitmapText.Font.LATIN_FULL ); + fontLinear.baseLine = fontNearest.baseLine = 17; + fontLinear.tracking = fontNearest.tracking = -2; + fontLinear.texture.filter(Texture.LINEAR, Texture.LINEAR); } } - + @Override public void destroy() { super.destroy(); Touchscreen.event.removeAll(); } - + public static BitmapText.Font font; public static float scale; - + public static void chooseFont( float size ) { chooseFont( size, defaultZoom ); } @@ -152,47 +136,19 @@ public class PixelScene extends Scene { float pt = size * zoom; - if (pt >= 19) { - - scale = pt / 19; - if (1.5 <= scale && scale < 2) { - font = font25x; - scale = (int)(pt / 14); - } else if (1.25 <= scale && scale < 1.5) { - font = font2x; - scale = (int)(pt / 12); - } else { - font = font3x; + if (pt >= 38){ - //at this point non integer scale values don't cause visual problems - if (scale < 2.25f) - scale = (int)scale; - } - - } else if (pt >= 14) { + font = fontNearest; + scale = pt / 19f; - scale = pt / 14; - font = font25x; - scale = (int)scale; - } else if (pt >= 12) { - - scale = pt / 12; - font = font2x; - scale = (int)scale; - - } else if (pt >= 10) { - - scale = pt / 10; - font = font15x; - scale = (int)scale; - + font = fontLinear; + scale = pt / 19f; + } else { - - font = font1x; - scale = Math.max( 1, (int)(pt / 7) ); - + font = pixelFont; + scale = 1f; } scale /= zoom; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java index fc62912c8..a54f6154e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java @@ -240,14 +240,14 @@ public class RankingsScene extends PixelScene { shield = new ItemSprite( ItemSpriteSheet.TOMB, null ); add( shield ); - position = new BitmapText( PixelScene.font1x ); + position = new BitmapText( PixelScene.pixelFont); position.alpha(0.8f); add( position ); desc = createMultiline( 7 ); add( desc ); - depth = new BitmapText( PixelScene.font1x ); + depth = new BitmapText( PixelScene.pixelFont); depth.alpha(0.8f); steps = new Image(); @@ -255,7 +255,7 @@ public class RankingsScene extends PixelScene { classIcon = new Image(); add( classIcon ); - level = new BitmapText( PixelScene.font1x ); + level = new BitmapText( PixelScene.pixelFont); level.alpha(0.8f); } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java index 413cc2ba1..cff468ae6 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java @@ -150,7 +150,7 @@ public class TitleScene extends PixelScene { btnHighscores.setPos( w / 2, btnPlay.top() ); } - BitmapText version = new BitmapText( "v " + Game.version + "", font1x ); + BitmapText version = new BitmapText( "v " + Game.version + "", pixelFont); version.measure(); version.hardlight( 0xCCCCCC ); version.x = w - version.width(); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java index 490bfdca5..73d7a9e20 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/DangerIndicator.java @@ -50,7 +50,7 @@ public class DangerIndicator extends Tag { protected void createChildren() { super.createChildren(); - number = new BitmapText( PixelScene.font1x ); + number = new BitmapText( PixelScene.pixelFont); add( number ); icon = Icons.SKULL.get(); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/GoldIndicator.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/GoldIndicator.java index 761de6318..77031925b 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/GoldIndicator.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/GoldIndicator.java @@ -38,7 +38,7 @@ public class GoldIndicator extends Component { @Override protected void createChildren() { - tf = new BitmapText( PixelScene.font1x ); + tf = new BitmapText( PixelScene.pixelFont); tf.hardlight( 0xFFFF00 ); add( tf ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java index cf8a167a8..f94a6624c 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java @@ -99,13 +99,13 @@ public class ItemSlot extends Button { icon = new ItemSprite(); add( icon ); - topLeft = new BitmapText( PixelScene.font1x ); + topLeft = new BitmapText( PixelScene.pixelFont); add( topLeft ); - topRight = new BitmapText( PixelScene.font1x ); + topRight = new BitmapText( PixelScene.pixelFont); add( topRight ); - bottomRight = new BitmapText( PixelScene.font1x ); + bottomRight = new BitmapText( PixelScene.pixelFont); add( bottomRight ); } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java b/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java index 2445a0394..9383502e3 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/ui/StatusPane.java @@ -104,17 +104,17 @@ public class StatusPane extends Component { exp = new Image( Assets.XP_BAR ); add( exp ); - level = new BitmapText( PixelScene.font1x ); + level = new BitmapText( PixelScene.pixelFont); level.hardlight( 0xFFEBA4 ); add( level ); - depth = new BitmapText( Integer.toString( Dungeon.depth ), PixelScene.font1x ); + depth = new BitmapText( Integer.toString( Dungeon.depth ), PixelScene.pixelFont); depth.hardlight( 0xCACFC2 ); depth.measure(); add( depth ); Dungeon.hero.belongings.countIronKeys(); - keys = new BitmapText( PixelScene.font1x ); + keys = new BitmapText( PixelScene.pixelFont); keys.hardlight( 0xCACFC2 ); add( keys ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java index 9b3f7b98c..4114ffa8e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java @@ -105,7 +105,7 @@ public class WndJournal extends Window { feature = PixelScene.createText( 9 ); add( feature ); - depth = new BitmapText( PixelScene.font1x ); + depth = new BitmapText( PixelScene.pixelFont); add( depth ); icon = Icons.get( Icons.DEPTH );