🔥🔥🔥

This commit is contained in:
Anuken
2020-06-11 12:03:27 -04:00
parent 2a9008f042
commit 732769524c
40 changed files with 4458 additions and 4867 deletions

View File

@@ -20,8 +20,6 @@ import mindustry.mod.*;
import mindustry.net.Net;
import mindustry.ui.*;
import java.nio.*;
import static arc.Core.*;
import static mindustry.Vars.*;
@@ -35,6 +33,8 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
@Override
public void setup(){
//array textures are gl30 only
if(gl30 == null) useArrayTextures = false;
loader = new LoadRenderer();
Events.fire(new ClientCreateEvent());
@@ -48,7 +48,9 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
return (Float.isNaN(result) || Float.isInfinite(result)) ? 1f : Mathf.clamp(result, 0.0001f, 60f / 10f);
});
batch = new SortedSpriteBatch();
batch = new SortedSpriteDelegate(Vars.useArrayTextures ?
new ArrayTextureSpriteBatch() :
new SpriteBatch());
assets = new AssetManager();
assets.setLoader(Texture.class, "." + mapExtension, new MapPreviewLoader());
@@ -70,7 +72,9 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
assets.load(new AssetDescriptor<>("sprites/sprites.atlas", TextureAtlas.class)).loaded = t -> {
atlas = (TextureAtlas)t;
Fonts.mergeFontAtlas(atlas);
if(!useArrayTextures){
Fonts.mergeFontAtlas(atlas);
}
};
assets.loadRun("maps", Map.class, () -> maps.loadPreviews());

View File

@@ -1,6 +1,5 @@
package mindustry;
import arc.Application.*;
import arc.*;
import arc.assets.*;
import arc.files.*;
@@ -39,6 +38,8 @@ public class Vars implements Loadable{
public static boolean loadedLogger = false, loadedFileLogger = false;
/** Maximum schematic size.*/
public static final int maxSchematicSize = 32;
/** Whether to use array texture batches. */
public static boolean useArrayTextures = true;
/** All schematic base64 starts with this string.*/
public static final String schematicBaseStart ="bXNjaAB";
/** IO buffer size. */

View File

@@ -278,7 +278,7 @@ public class Control implements ApplicationListener, Loadable{
}catch(SaveException e){
Log.err(e);
sector.save = null;
ui.showErrorMessage("$save.corrupted");
Time.runTask(10f, () -> ui.showErrorMessage("$save.corrupted"));
slot.delete();
playSector(sector);
}

View File

@@ -391,7 +391,7 @@ public class MapGenerateDialog extends BaseDialog{
if(pixmap == null || texture == null){
return;
}
texture.draw(pixmap, 0, 0);
texture.draw(pixmap);
generating = false;
});
}catch(Exception e){

View File

@@ -27,14 +27,7 @@ public class IndexedRenderer implements Disposable{
" gl_Position = u_projTrans * " + Shader.positionAttribute + ";",
"}"),
Strings.join("\n",
"#ifdef GL_ES",
"#define LOWP lowp",
"precision mediump float;",
"#else",
"#define LOWP ",
"#endif",
"",
"varying LOWP vec4 v_color;",
"varying lowp vec4 v_color;",
"varying vec2 v_texCoords;",
"uniform sampler2D u_texture;",
"",

View File

@@ -129,7 +129,7 @@ public class MinimapRenderer implements Disposable{
for(Tile tile : world.tiles){
pixmap.draw(tile.x, pixmap.getHeight() - 1 - tile.y, colorFor(tile));
}
texture.draw(pixmap, 0, 0);
texture.draw(pixmap);
}
public void update(Tile tile){

View File

@@ -10,6 +10,7 @@ import arc.math.geom.*;
import arc.scene.ui.layout.*;
import arc.util.ArcAnnotate.*;
import arc.util.*;
import mindustry.*;
import mindustry.type.*;
import static mindustry.Vars.renderer;
@@ -26,6 +27,7 @@ public class Shaders{
public static AtmosphereShader atmosphere;
public static MeshShader mesh = new MeshShader();
public static Shader unlit;
public static Shader screenspace;
public static void init(){
blockbuild = new BlockBuild();
@@ -46,6 +48,7 @@ public class Shaders{
planetGrid = new PlanetGridShader();
atmosphere = new AtmosphereShader();
unlit = new LoadShader("planet", "unlit");
screenspace = new LoadShader("screenspace", "screenspace");
}
public static class AtmosphereShader extends LoadShader{
@@ -131,7 +134,7 @@ public class Shaders{
public static class FogShader extends LoadShader{
public FogShader(){
super("fog", "default");
super("fog", "default", true);
}
}
@@ -141,7 +144,7 @@ public class Shaders{
public TextureRegion region;
public UnitBuild(){
super("unitbuild", "default");
super("unitbuild", "default", true);
}
@Override
@@ -161,7 +164,7 @@ public class Shaders{
public TextureRegion region = new TextureRegion();
public BlockBuild(){
super("blockbuild", "default");
super("blockbuild", "default", true);
}
@Override
@@ -222,8 +225,20 @@ public class Shaders{
}
public static class LoadShader extends Shader{
public LoadShader(String frag, String vert){
super(Core.files.internal("shaders/" + vert + ".vert"), Core.files.internal("shaders/" + frag + ".frag"));
this(frag, vert, false);
}
public LoadShader(String frag, String vert, boolean preprocess){
super(
preprocess && Core.gl30 != null && Vars.useArrayTextures ? ArrayTextureSpriteBatch.preprocessShader(
Core.files.internal("shaders/" + vert + ".vert").readString(), false) :
Core.files.internal("shaders/" + vert + ".vert").readString(),
preprocess && Core.gl30 != null && Vars.useArrayTextures ? ArrayTextureSpriteBatch.preprocessShader(
Core.files.internal("shaders/" + frag + ".frag").readString(), true) :
Core.files.internal("shaders/" + frag + ".frag").readString()
);
}
}
}

View File

@@ -218,9 +218,8 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
if(doBuffer){
buffer.end();
Draw.color(color);
Draw.rect(Draw.wrap(buffer.getTexture()), Core.graphics.getWidth()/2f, Core.graphics.getHeight()/2f, Core.graphics.getWidth(), -Core.graphics.getHeight());
Draw.color();
buffer.blit(Shaders.screenspace);
}
}