Compare commits

...

3 Commits
v112 ... v112.1

Author SHA1 Message Date
Anuken
5d2e705923 asfehioafuhioaghuoytgfctyr 2020-11-02 20:54:39 -05:00
Anuken
65ab869468 Added button to export crash logs 2020-11-02 19:45:45 -05:00
Anuken
8ecbb46303 changelog 2020-11-02 18:35:28 -05:00
9 changed files with 60 additions and 11 deletions

View File

@@ -267,6 +267,9 @@ cancel = Cancel
openlink = Open Link openlink = Open Link
copylink = Copy Link copylink = Copy Link
back = Back back = Back
crash.export = Export Crash Logs
crash.none = No crash logs found.
crash.exported = Crash logs exported.
data.export = Export Data data.export = Export Data
data.import = Import Data data.import = Import Data
data.openfolder = Open Data Folder data.openfolder = Open Data Folder
@@ -463,6 +466,8 @@ load = Load
save = Save save = Save
fps = FPS: {0} fps = FPS: {0}
ping = Ping: {0}ms ping = Ping: {0}ms
memory = Mem: {0}mb
memory2 = Mem:\n {0}mb +\n {1}mb
language.restart = Restart your game for the language settings to take effect. language.restart = Restart your game for the language settings to take effect.
settings = Settings settings = Settings
tutorial = Tutorial tutorial = Tutorial

View File

@@ -74,7 +74,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
Fonts.loadDefaultFont(); Fonts.loadDefaultFont();
//load fallback atlas if max texture size is below 4096 //load fallback atlas if max texture size is below 4096
assets.load(new AssetDescriptor<>(Gl.getInt(Gl.maxTextureSize) >= 4096 ? "sprites/sprites.atlas" : "sprites/fallback/sprites.atlas", TextureAtlas.class)).loaded = t -> { assets.load(new AssetDescriptor<>(Gl.getInt(Gl.maxTextureSize) >= 4096 ? "sprites/sprites.atlas" : "sprites/fallback/sprites.atlas", TextureAtlas.class)).loaded = t -> {
atlas = (TextureAtlas)t; atlas = (TextureAtlas)t;
Fonts.mergeFontAtlas(atlas); Fonts.mergeFontAtlas(atlas);
}; };

View File

@@ -1774,7 +1774,7 @@ public class Blocks implements ContentList{
reloadTime = 6f; reloadTime = 6f;
coolantMultiplier = 0.5f; coolantMultiplier = 0.5f;
restitution = 0.1f; restitution = 0.1f;
ammoUseEffect = Fx.casing3Double; ammoUseEffect = Fx.casing3;
range = 200f; range = 200f;
inaccuracy = 3f; inaccuracy = 3f;
recoilAmount = 3f; recoilAmount = 3f;

View File

@@ -162,14 +162,14 @@ public abstract class BulletType extends Content{
} }
public void hitTile(Bullet b, Building tile, float initialHealth){ public void hitTile(Bullet b, Building tile, float initialHealth){
if(makeFire){ if(makeFire && tile.team != b.team){
Fires.create(tile.tile); Fires.create(tile.tile);
} }
if(healPercent > 0f && tile.team == b.team && !(tile.block instanceof ConstructBlock)){ if(healPercent > 0f && tile.team == b.team && !(tile.block instanceof ConstructBlock)){
Fx.healBlockFull.at(tile.x, tile.y, tile.block.size, Pal.heal); Fx.healBlockFull.at(tile.x, tile.y, tile.block.size, Pal.heal);
tile.heal(healPercent / 100f * tile.maxHealth()); tile.heal(healPercent / 100f * tile.maxHealth());
}else{ }else if(tile.team != b.team){
hit(b); hit(b);
} }
} }

View File

@@ -51,7 +51,7 @@ public enum CacheLayer{
endShader(Shaders.slag); endShader(Shaders.slag);
} }
}, },
space{ space(2){
@Override @Override
public void begin(){ public void begin(){
beginShader(); beginShader();
@@ -70,7 +70,7 @@ public enum CacheLayer{
public final int capacity; public final int capacity;
CacheLayer(){ CacheLayer(){
this(2); this(3);
} }
CacheLayer(int capacity){ CacheLayer(int capacity){

View File

@@ -195,6 +195,23 @@ public class SettingsMenuDialog extends SettingsDialog{
t.row(); t.row();
t.button("@data.openfolder", Icon.folder, style, () -> Core.app.openFolder(Core.settings.getDataDirectory().absolutePath())).marginLeft(4); t.button("@data.openfolder", Icon.folder, style, () -> Core.app.openFolder(Core.settings.getDataDirectory().absolutePath())).marginLeft(4);
} }
t.row();
t.button("@crash.export", Icon.upload, style, () -> {
if(settings.getDataDirectory().child("crashes").list().length == 0){
ui.showInfo("@crash.none");
}else{
platform.showFileChooser(false, "txt", file -> {
StringBuilder out = new StringBuilder();
for(Fi fi : settings.getDataDirectory().child("crashes").list()){
out.append(fi.name()).append("\n\n").append(fi.readString()).append("\n");
}
file.writeString(out.toString());
app.post(() -> ui.showInfo("@crash.exported"));
});
}
}).marginLeft(4);
}); });
ScrollPane pane = new ScrollPane(prefs); ScrollPane pane = new ScrollPane(prefs);

View File

@@ -247,12 +247,22 @@ public class HudFragment extends Fragment{
info.update(() -> info.setTranslation(state.rules.waves || state.isEditor() ? 0f : -Scl.scl(dsize * 4 + 3), 0)); info.update(() -> info.setTranslation(state.rules.waves || state.isEditor() ? 0f : -Scl.scl(dsize * 4 + 3), 0));
IntFormat fps = new IntFormat("fps"); IntFormat fps = new IntFormat("fps");
IntFormat ping = new IntFormat("ping"); IntFormat ping = new IntFormat("ping");
IntFormat mem = new IntFormat("memory");
IntFormat memnative = new IntFormat("memory2");
info.label(() -> fps.get(Core.graphics.getFramesPerSecond())).left() info.label(() -> fps.get(Core.graphics.getFramesPerSecond())).left().style(Styles.outlineLabel).name("fps");
.style(Styles.outlineLabel).name("fps");
info.row(); info.row();
info.label(() -> ping.get(netClient.getPing())).visible(net::client).left()
.style(Styles.outlineLabel).name("ping"); if(android){
info.label(() -> memnative.get((int)(Core.app.getJavaHeap() / 1024 / 1024), (int)(Core.app.getNativeHeap() / 1024 / 1024))).left().style(Styles.outlineLabel).name("memory2");
info.row();
}else{
info.label(() -> mem.get((int)(Core.app.getJavaHeap() / 1024 / 1024))).left().style(Styles.outlineLabel).name("memory");
info.row();
}
info.label(() -> ping.get(netClient.getPing())).visible(net::client).left().style(Styles.outlineLabel).name("ping");
}).top().left(); }).top().left();
}); });

View File

@@ -0,0 +1,9 @@
- Added basic descriptions & details to new blocks/units
- Balancing
- Improved casing ejection effects in turrets/units
- Logic: Added draw sub-instruction to render an icon of an item/unit/block
- Campaign: Reduced research costs
- Campaign: Added info indicating maximum simulated waves survived
- Campaign: Fixed many issues related to base attack simulations
- Campaign: Less extreme waves
- Campaign: Slightly easier bosses

View File

@@ -12,6 +12,7 @@ import mindustry.*;
import mindustry.game.EventType.*; import mindustry.game.EventType.*;
import mindustry.game.Saves.*; import mindustry.game.Saves.*;
import mindustry.io.*; import mindustry.io.*;
import mindustry.net.*;
import mindustry.ui.*; import mindustry.ui.*;
import org.robovm.apple.coregraphics.*; import org.robovm.apple.coregraphics.*;
import org.robovm.apple.foundation.*; import org.robovm.apple.foundation.*;
@@ -248,7 +249,14 @@ public class IOSLauncher extends IOSApplication.Delegate{
public static void main(String[] argv){ public static void main(String[] argv){
NSAutoreleasePool pool = new NSAutoreleasePool(); NSAutoreleasePool pool = new NSAutoreleasePool();
UIApplication.main(argv, null, IOSLauncher.class); try{
UIApplication.main(argv, null, IOSLauncher.class);
}catch(Throwable t){
//attempt to log the exception
CrashSender.log(t);
//rethrow the exception so it actually crashes
throw t;
}
pool.close(); pool.close();
} }
} }