Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d2e705923 | ||
|
|
65ab869468 | ||
|
|
8ecbb46303 |
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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){
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
9
fastlane/metadata/android/en-US/changelogs/29685.txt
Normal file
9
fastlane/metadata/android/en-US/changelogs/29685.txt
Normal 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
|
||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user