Tar shader / Spritesheet split / Font cleanup

This commit is contained in:
Anuken
2019-03-10 11:11:16 -04:00
parent f861b75c7d
commit 1feb4a5e6d
33 changed files with 4717 additions and 2975 deletions

View File

@@ -3,6 +3,7 @@ package io.anuke.mindustry.graphics;
import io.anuke.arc.Core;
import io.anuke.arc.graphics.Color;
import io.anuke.arc.graphics.g2d.Draw;
import io.anuke.arc.graphics.glutils.Shader;
import static io.anuke.arc.Core.camera;
import static io.anuke.mindustry.Vars.renderer;
@@ -11,31 +12,25 @@ public enum CacheLayer{
water{
@Override
public void begin(){
if(!Core.settings.getBool("animatedwater")) return;
renderer.blocks.floor.endc();
renderer.shieldBuffer.begin();
Core.graphics.clear(Color.CLEAR);
renderer.blocks.floor.beginc();
beginShader();
}
@Override
public void end(){
if(!Core.settings.getBool("animatedwater")) return;
endShader(Shaders.water);
}
},
tar{
@Override
public void begin(){
beginShader();
}
renderer.blocks.floor.endc();
renderer.shieldBuffer.end();
Draw.shader(Shaders.water);
Draw.rect(Draw.wrap(renderer.shieldBuffer.getTexture()), camera.position.x, camera.position.y, camera.width, -camera.height);
Draw.shader();
renderer.blocks.floor.beginc();
@Override
public void end(){
endShader(Shaders.tar);
}
},
lava,
oil,
space,
normal,
walls;
@@ -46,4 +41,26 @@ public enum CacheLayer{
public void end(){
}
void beginShader(){
if(!Core.settings.getBool("animatedwater")) return;
renderer.blocks.floor.endc();
renderer.shieldBuffer.begin();
Core.graphics.clear(Color.CLEAR);
renderer.blocks.floor.beginc();
}
void endShader(Shader shader){
if(!Core.settings.getBool("animatedwater")) return;
renderer.blocks.floor.endc();
renderer.shieldBuffer.end();
Draw.shader(shader);
Draw.rect(Draw.wrap(renderer.shieldBuffer.getTexture()), camera.position.x, camera.position.y, camera.width, -camera.height);
Draw.shader();
renderer.blocks.floor.beginc();
}
}

View File

@@ -14,7 +14,7 @@ public class Shaders{
public static UnitBuild build;
public static FogShader fog;
public static MenuShader menu;
public static SurfaceShader water;
public static SurfaceShader water, tar;
public static void init(){
shadow = new Shadow();
@@ -24,6 +24,7 @@ public class Shaders{
fog = new FogShader();
menu = new MenuShader();
water = new SurfaceShader("water");
tar = new SurfaceShader("tar");
}
public static class MenuShader extends LoadShader{