diff --git a/core/src/io/anuke/mindustry/ClientLauncher.java b/core/src/io/anuke/mindustry/ClientLauncher.java index d33479d184..39a605f507 100644 --- a/core/src/io/anuke/mindustry/ClientLauncher.java +++ b/core/src/io/anuke/mindustry/ClientLauncher.java @@ -41,12 +41,12 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform assets.setLoader(Texture.class, "." + mapExtension, new MapPreviewLoader()); atlas = TextureAtlas.blankAtlas(); - UI.loadDefaultFont(); UI.loadSystemCursors(); - //1. bundles - //2. rest of vars assets.load(new Vars()); + + UI.loadDefaultFont(); + assets.load(new AssetDescriptor<>("sprites/sprites.atlas", TextureAtlas.class)).loaded = t -> atlas = (TextureAtlas)t; assets.loadRun("maps", Map.class, () -> maps.loadPreviews()); diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index c27430c1e6..ad684bc223 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -5,6 +5,7 @@ import io.anuke.arc.*; import io.anuke.arc.assets.*; import io.anuke.arc.files.*; import io.anuke.arc.graphics.*; +import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.util.*; import io.anuke.mindustry.ai.*; import io.anuke.mindustry.core.*; @@ -24,6 +25,8 @@ import io.anuke.mindustry.world.blocks.defense.ForceProjector.*; import java.nio.charset.*; import java.util.*; +import static io.anuke.arc.Core.settings; + @SuppressWarnings("unchecked") public class Vars implements Loadable{ /** Whether to load locales.*/ @@ -253,6 +256,8 @@ public class Vars implements Loadable{ Core.keybinds.setDefaults(Binding.values()); Core.settings.load(); + UnitScl.dp.setProduct(settings.getInt("uiscale", 100) / 100f); + if(!loadLocales) return; try{ diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index adaf89a731..f62ba12df8 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -8,7 +8,6 @@ import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.input.*; import io.anuke.arc.math.geom.*; import io.anuke.arc.scene.ui.*; -import io.anuke.arc.scene.ui.layout.*; import io.anuke.arc.util.*; import io.anuke.mindustry.content.*; import io.anuke.mindustry.core.GameState.*; @@ -159,8 +158,6 @@ public class Control implements ApplicationListener, Loadable{ Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth(); - UnitScl.dp.setProduct(settings.getInt("uiscale", 100) / 100f); - Core.input.setCatch(KeyCode.BACK, true); data.load(); diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 75785c3524..194754f328 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -7,6 +7,7 @@ import io.anuke.arc.assets.*; import io.anuke.arc.assets.loaders.*; import io.anuke.arc.assets.loaders.resolvers.*; import io.anuke.arc.collection.*; +import io.anuke.arc.files.*; import io.anuke.arc.freetype.*; import io.anuke.arc.freetype.FreeTypeFontGenerator.*; import io.anuke.arc.freetype.FreetypeFontLoader.*; @@ -135,13 +136,20 @@ public class UI implements ApplicationListener, Loadable{ public static void loadDefaultFont(){ FileHandleResolver resolver = new InternalFileHandleResolver(); Core.assets.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver)); - Core.assets.setLoader(BitmapFont.class, null, new FreetypeFontLoader(resolver)); + Core.assets.setLoader(BitmapFont.class, null, new FreetypeFontLoader(resolver){ + @Override + public BitmapFont loadSync(AssetManager manager, String fileName, FileHandle file, FreeTypeFontLoaderParameter parameter){ + if(fileName.equals("outline")){ + parameter.fontParameters.borderWidth = UnitScl.dp.scl(2f); + parameter.fontParameters.spaceX -= parameter.fontParameters.borderWidth; + } + parameter.fontParameters.size = fontParameter().size; + return super.loadSync(manager, fileName, file, parameter); + } + }); FreeTypeFontParameter param = new FreeTypeFontParameter(){{ - size = fontParameter().size; borderColor = Color.DARK_GRAY; - borderWidth = UnitScl.dp.scl(2f); - spaceX -= borderWidth; incremental = true; }};