From a7a565b93ea81e7ff819c04cd213ffce0b62dea9 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 4 Jul 2019 17:29:31 -0400 Subject: [PATCH] Hacky pad fix --- .../sprites/ui/flat-down-base.9.png | Bin 0 -> 3606 bytes core/assets/sprites/sprites.atlas | 4 +- core/src/io/anuke/mindustry/core/UI.java | 46 +++++++++++++----- .../ui/dialogs/SettingsMenuDialog.java | 16 +++--- 4 files changed, 45 insertions(+), 21 deletions(-) create mode 100644 core/assets-raw/sprites/ui/flat-down-base.9.png diff --git a/core/assets-raw/sprites/ui/flat-down-base.9.png b/core/assets-raw/sprites/ui/flat-down-base.9.png new file mode 100644 index 0000000000000000000000000000000000000000..10de55d3af8dd6bbcad03c7ba078ac393b0e3e10 GIT binary patch literal 3606 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 Re3k%tz|+;wWt~$(695iK&~pF) literal 0 HcmV?d00001 diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 8d75fe368e..368bcffcb4 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -10817,11 +10817,11 @@ discord-banner orig: 84, 45 offset: 0, 0 index: -1 -flat-down +flat-down-base rotate: false xy: 403, 371 size: 36, 27 - split: 4, 4, 4, 4 + split: 12, 12, 12, 12 orig: 36, 27 offset: 0, 0 index: -1 diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 6490ad0f7e..17882a5a65 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -6,15 +6,15 @@ import io.anuke.arc.Graphics.Cursor.SystemCursor; import io.anuke.arc.freetype.FreeTypeFontGenerator; import io.anuke.arc.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; import io.anuke.arc.function.Consumer; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.Colors; -import io.anuke.arc.graphics.g2d.BitmapFont; +import io.anuke.arc.graphics.*; +import io.anuke.arc.graphics.g2d.*; +import io.anuke.arc.graphics.g2d.TextureAtlas.AtlasRegion; import io.anuke.arc.input.KeyCode; import io.anuke.arc.math.Interpolation; import io.anuke.arc.scene.*; import io.anuke.arc.scene.actions.Actions; import io.anuke.arc.scene.event.Touchable; -import io.anuke.arc.scene.style.NinePatchDrawable; +import io.anuke.arc.scene.style.*; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.TextField.TextFieldFilter; import io.anuke.arc.scene.ui.Tooltip.Tooltips; @@ -70,15 +70,37 @@ public class UI implements ApplicationListener{ public UI(){ Skin skin = new Skin(Core.atlas); generateFonts(skin); + { + AtlasRegion region = Core.atlas.find("flat-down-base"); + int[] splits = region.splits; + + ScaledNinePatchDrawable copy = new ScaledNinePatchDrawable(new NinePatch(region, splits[0], splits[1], splits[2], splits[3])){ + public float getLeftWidth(){ + return 0; + } + + public float getRightWidth(){ + return 0; + } + + public float getTopHeight(){ + return 0; + } + + public float getBottomHeight(){ + return 0; + } + }; + copy.setMinWidth(0); + copy.setMinHeight(0); + copy.setTopHeight(0); + copy.setRightWidth(0); + copy.setBottomHeight(0); + copy.setLeftWidth(0); + skin.add("flat-down", copy, Drawable.class); + } + skin.load(Core.files.internal("sprites/uiskin.json")); - NinePatchDrawable draw = (NinePatchDrawable)skin.getDrawable("flat-down"); - draw.setMinWidth(0); - draw.setMinHeight(0); - draw.setTopHeight(0); - draw.setRightWidth(0); - draw.setBottomHeight(0); - draw.setLeftWidth(0); - //TODO fix for(BitmapFont font : skin.getAll(BitmapFont.class).values()){ font.setUseIntegerPositions(true); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index f87f33c118..f6dd769e50 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -54,7 +54,7 @@ public class SettingsMenuDialog extends SettingsDialog{ cont.remove(); buttons.remove(); - menu = new Table(); + menu = new Table("pane"); Consumer s = table -> { table.row(); @@ -69,16 +69,18 @@ public class SettingsMenuDialog extends SettingsDialog{ prefs.top(); prefs.margin(14f); - menu.defaults().size(300f, 60f).pad(3f); - menu.addButton("$settings.game", () -> visible(0)); + String style = "clear"; + + menu.defaults().size(300f, 60f); + menu.addButton("$settings.game", style, () -> visible(0)); menu.row(); - menu.addButton("$settings.graphics", () -> visible(1)); + menu.addButton("$settings.graphics", style, () -> visible(1)); menu.row(); - menu.addButton("$settings.sound", () -> visible(2)); + menu.addButton("$settings.sound", style, () -> visible(2)); menu.row(); - menu.addButton("$settings.language", ui.language::show); + menu.addButton("$settings.language", style, ui.language::show); menu.row(); - menu.addButton("$settings.controls", ui.controls::show).visible(() -> !mobile || Core.settings.getBool("keyboard")); + menu.addButton("$settings.controls", style, ui.controls::show).visible(() -> !mobile || Core.settings.getBool("keyboard")); prefs.clearChildren(); prefs.add(menu);