Menu shader / Sprite fixes

This commit is contained in:
Anuken
2018-09-01 20:16:49 -04:00
parent dcc061af3e
commit d90d88c68b
25 changed files with 51 additions and 27 deletions

View File

@@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.FloatArray;
import io.anuke.ucore.core.Core;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Shader;
import io.anuke.ucore.scene.ui.layout.Unit;
@@ -25,6 +26,7 @@ public class Shaders{
public static MixShader mix;
public static Shader fullMix;
public static FogShader fog;
public static MenuShader menu;
public static void init(){
outline = new Outline();
@@ -39,6 +41,23 @@ public class Shaders{
mix = new MixShader();
fog = new FogShader();
fullMix = new Shader("fullmix", "default");
menu = new MenuShader();
}
public static class MenuShader extends Shader{
float time = 0f;
public MenuShader(){
super("menu", "default");
}
@Override
public void apply(){
shader.setUniformf("u_resolution", Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
shader.setUniformf("u_time", time += Gdx.graphics.getDeltaTime() * 60f);
shader.setUniformf("u_uv", Draw.getBlankRegion().getU(), Draw.getBlankRegion().getV());
shader.setUniformf("u_uv2", Draw.getBlankRegion().getU2(), Draw.getBlankRegion().getV2());
}
}
public static class FogShader extends Shader{

View File

@@ -13,7 +13,7 @@ public class Changelogs{
public static void getChangelog(Consumer<Array<VersionInfo>> success, Consumer<Throwable> fail){
Net.http(releasesURL, "GET", result -> {
Json j = new Json();
Array<JsonValue> list = j.fromJson(null, result);
Array<JsonValue> list = j.fromJson(Array.class, result);
Array<VersionInfo> out = new Array<>();
for(JsonValue value : list){
String name = value.getString("name");

View File

@@ -3,8 +3,12 @@ package io.anuke.mindustry.ui.fragments;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.graphics.Palette;
import io.anuke.mindustry.graphics.Shaders;
import io.anuke.ucore.core.Core;
import io.anuke.ucore.core.Graphics;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Fill;
import io.anuke.ucore.scene.Group;
import io.anuke.ucore.scene.ui.layout.Unit;
@@ -16,15 +20,14 @@ public class BackgroundFragment extends Fragment{
public void build(Group parent){
Core.scene.table().addRect((a, b, w, h) -> {
Draw.colorl(0.1f);
Fill.crect(0, 0, w, h);
Draw.color(Palette.accent);
Graphics.shader(Shaders.menu);
Fill.crect(0, 0, w, h);
Graphics.shader();
Draw.color();
TextureRegion back = Draw.region("background");
float backscl = (int) Math.max(Gdx.graphics.getWidth() / (float) back.getRegionWidth() * 1.5f, Unit.dp.scl(5f));
Draw.alpha(0.5f);
Core.batch.draw(back, w / 2 - back.getRegionWidth() * backscl / 2, h / 2 - back.getRegionHeight() * backscl / 2,
back.getRegionWidth() * backscl, back.getRegionHeight() * backscl);
boolean portrait = Gdx.graphics.getWidth() < Gdx.graphics.getHeight();
float logoscl = (int) Unit.dp.scl(7) * (portrait ? 5f / 7f : 1f);
TextureRegion logo = Core.skin.getRegion("logotext");

View File

@@ -256,7 +256,7 @@ public class BlocksFragment extends Fragment{
}
selectTable.row();
selectTable.add(stack).growX().left().top().colspan(Category.values().length).padBottom(-5).height((size + 12) * rowsUsed);
selectTable.add(stack).growX().left().top().colspan(Category.values().length).padBottom(-5).height((size + 12) * Math.min(rowsUsed, 3));
}
void toggle(float t, Interpolation ip){

View File

@@ -107,7 +107,7 @@ public class Pump extends LiquidBlock{
}
protected boolean isValid(Tile tile){
return tile.floor().liquidDrop != null && tier >= tile.floor().liquidDrop.tier;
return tile != null && tile.floor().liquidDrop != null && tier >= tile.floor().liquidDrop.tier;
}
}