🔥🔥🔥
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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;",
|
||||
"",
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user