Mac crash fix

This commit is contained in:
Anuken 2018-07-27 14:25:06 -04:00
parent 01f6904f82
commit 6a525dcf59
2 changed files with 1 additions and 49 deletions

View File

@ -38,7 +38,7 @@ public class Tile implements PosTrait, TargetTrait{
private byte cliffs; private byte cliffs;
private Block wall; private Block wall;
private Floor floor; private Floor floor;
/** Rotation, 0-3. Also used to store offload location for routers, in which case it can be any number. */ /** Rotation, 0-3. Also used to store offload location, in which case it can be any number. */
private byte rotation; private byte rotation;
/** Team ordinal. */ /** Team ordinal. */
private byte team; private byte team;

View File

@ -1,32 +1,21 @@
package io.anuke.mindustry.desktop; package io.anuke.mindustry.desktop;
import com.apple.eawt.Application;
import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Files.FileType; import com.badlogic.gdx.Files.FileType;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Preferences; import com.badlogic.gdx.Preferences;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3FileHandle; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3FileHandle;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.ObjectMap;
import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoClient;
import io.anuke.kryonet.KryoServer; import io.anuke.kryonet.KryoServer;
import io.anuke.mindustry.Mindustry; import io.anuke.mindustry.Mindustry;
import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net;
import io.anuke.ucore.io.BinaryPreferences; import io.anuke.ucore.io.BinaryPreferences;
import io.anuke.ucore.util.Bundles;
import io.anuke.ucore.util.OS; import io.anuke.ucore.util.OS;
import io.anuke.ucore.util.Strings;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.List;
import static io.anuke.mindustry.Vars.*;
public class DesktopLauncher extends Lwjgl3Application{ public class DesktopLauncher extends Lwjgl3Application{
ObjectMap<String, Preferences> prefmap; ObjectMap<String, Preferences> prefmap;
@ -43,43 +32,6 @@ public class DesktopLauncher extends Lwjgl3Application{
config.setWindowedMode(960, 540); config.setWindowedMode(960, 540);
config.setWindowIcon("sprites/icon.png"); config.setWindowIcon("sprites/icon.png");
if(OS.isMac){
Application.getApplication().setOpenFileHandler(e -> {
List list = e.getFiles();
File target = (File) list.get(0);
Gdx.app.postRunnable(() -> {
FileHandle file = OS.getAppDataDirectory("Mindustry").child("tmp").child(target.getName());
Gdx.files.absolute(target.getAbsolutePath()).copyTo(file);
if(file.extension().equalsIgnoreCase(saveExtension)){ //open save
if(SaveIO.isSaveValid(file)){
try{
SaveSlot slot = control.getSaves().importSave(file);
ui.load.runLoadSave(slot);
}catch(IOException e2){
ui.showError(Bundles.format("text.save.import.fail", Strings.parseException(e2, false)));
}
}else{
ui.showError("$text.save.import.invalid");
}
}else if(file.extension().equalsIgnoreCase(mapExtension)){ //open map
Gdx.app.postRunnable(() -> {
if(!ui.editor.isShown()){
ui.editor.show();
}
ui.editor.beginEditMap(file.read());
});
}
});
});
}
Platform.instance = new DesktopPlatform(arg); Platform.instance = new DesktopPlatform(arg);
Net.setClientProvider(new KryoClient()); Net.setClientProvider(new KryoClient());