diff --git a/core/src/io/anuke/mindustry/Mindustry.java b/core/src/io/anuke/mindustry/Mindustry.java index 5a58e9b30e..f7befa8c19 100644 --- a/core/src/io/anuke/mindustry/Mindustry.java +++ b/core/src/io/anuke/mindustry/Mindustry.java @@ -21,6 +21,7 @@ public class Mindustry extends ApplicationCore{ }); Time.mark(); + UI.loadSystemCursors(); Vars.init(); Log.setUseColors(false); diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 8701bcfda5..c177e2fb8d 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -30,6 +30,9 @@ import io.anuke.mindustry.ui.fragments.*; import static io.anuke.mindustry.Vars.*; public class UI implements ApplicationListener{ + private static final int cursorScaling = 1, outlineThickness = 3; + private static final Color outlineColor = Color.valueOf("444444"); + private FreeTypeFontGenerator generator; public MenuFragment menufrag; @@ -93,8 +96,7 @@ public class UI implements ApplicationListener{ Colors.put("accent", Pal.accent); Colors.put("highlight", Pal.accent.cpy().lerp(Color.WHITE, 0.3f)); Colors.put("stat", Pal.stat); - - loadCursors(); + loadExtraCursors(); } void loadExtraStyle(Skin skin){ @@ -116,12 +118,7 @@ public class UI implements ApplicationListener{ skin.add("flat-down", copy, Drawable.class); } - void loadCursors(){ - int cursorScaling = 1, outlineThickness = 3; - Color outlineColor = Color.valueOf("444444"); - - drillCursor = Core.graphics.newCursor("drill", cursorScaling, outlineColor, outlineThickness); - unloadCursor = Core.graphics.newCursor("unload", cursorScaling, outlineColor, outlineThickness); + public static void loadSystemCursors(){ SystemCursor.arrow.set(Core.graphics.newCursor("cursor", cursorScaling, outlineColor, outlineThickness)); SystemCursor.hand.set(Core.graphics.newCursor("hand", cursorScaling, outlineColor, outlineThickness)); SystemCursor.ibeam.set(Core.graphics.newCursor("ibeam", cursorScaling, outlineColor, outlineThickness)); @@ -129,6 +126,11 @@ public class UI implements ApplicationListener{ Core.graphics.restoreCursor(); } + void loadExtraCursors(){ + drillCursor = Core.graphics.newCursor("drill", cursorScaling, outlineColor, outlineThickness); + unloadCursor = Core.graphics.newCursor("unload", cursorScaling, outlineColor, outlineThickness); + } + void generateFonts(Skin skin){ generator = new FreeTypeFontGenerator(Core.files.internal("fonts/font.ttf")); FreeTypeFontParameter param = new FreeTypeFontParameter(); @@ -202,6 +204,7 @@ public class UI implements ApplicationListener{ chatfrag.container().build(hudGroup); listfrag.build(hudGroup); loadfrag.build(group); + new FadeInFragment().build(group); } @Override diff --git a/core/src/io/anuke/mindustry/maps/filters/DistortFilter.java b/core/src/io/anuke/mindustry/maps/filters/DistortFilter.java index 4da9afaefb..7c9cdf1c5f 100644 --- a/core/src/io/anuke/mindustry/maps/filters/DistortFilter.java +++ b/core/src/io/anuke/mindustry/maps/filters/DistortFilter.java @@ -10,7 +10,7 @@ public class DistortFilter extends GenerateFilter{ { buffered = true; options( - new SliderOption("scale", () -> scl, f -> scl = f, 1f, 400f), + new SliderOption("scale", () -> scl, f -> scl = f, 1f, 200f), new SliderOption("mag", () -> mag, f -> mag = f, 0.5f, 100f) ); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/FadeInFragment.java b/core/src/io/anuke/mindustry/ui/fragments/FadeInFragment.java new file mode 100644 index 0000000000..111eeb9454 --- /dev/null +++ b/core/src/io/anuke/mindustry/ui/fragments/FadeInFragment.java @@ -0,0 +1,40 @@ +package io.anuke.mindustry.ui.fragments; + +import io.anuke.arc.*; +import io.anuke.arc.graphics.g2d.*; +import io.anuke.arc.math.*; +import io.anuke.arc.scene.*; +import io.anuke.arc.scene.event.*; +import io.anuke.arc.util.*; + +/** Fades in a black overlay.*/ +public class FadeInFragment extends Fragment{ + private static final float duration = 40f; + float time = 0f; + + @Override + public void build(Group parent){ + parent.addChild(new Element(){ + { + setFillParent(true); + touchable(Touchable.disabled); + } + + @Override + public void draw(){ + Draw.color(0f, 0f, 0f, Mathf.clamp(1f - time)); + Fill.crect(0, 0, Core.graphics.getWidth(), Core.graphics.getHeight()); + Draw.color(); + } + + @Override + public void act(float delta){ + super.act(delta); + time += Time.delta() / duration; + if(time > 1){ + remove(); + } + } + }); + } +}