diff --git a/assets/locales/en/terrarum_sentences.json b/assets/locales/en/terrarum_sentences.json index 0484e0965..fef5845ee 100644 --- a/assets/locales/en/terrarum_sentences.json +++ b/assets/locales/en/terrarum_sentences.json @@ -1,16 +1,15 @@ { - "GAME_32BIT_WARNING1": "32비트 버전의 Java를 사용중인 것 같습니다.", - "GAME_32BIT_WARNING2": "아래 링크에서 최신 64비트 Java를 내려받아 설치해주세요.", - "GAME_32BIT_WARNING3": "https://www.java.com/ko/download/", - "GAME_APPLE_ROSETTA_WARNING1": "Apple Silicon이 탑재된 Mac을 사용 중이지만 x86 빌드의 게임을 실행 중입니다.", - "GAME_APPLE_ROSETTA_WARNING2": "최적의 성능과 게임 경험을 위해 Apple Silicon용 빌드의 게임을 이용해 주십시오.", - "APP_NOMODULE_1": "현재 불러와진 모듈이 없습니다.", - "APP_NOMODULE_2": "다음의 파일에서 불러오기 순서를 설정하고 게임을 재시작하십시오.", - "MENU_LABEL_KEYCONFIG_HELP1": "키캡을 클릭해 컨트롤을 배정하십시오", - "GAME_PREV_SAVE_WAS_LOADED1": "가장 최근에 저장된 게임이 손상되었습니다.", - "GAME_PREV_SAVE_WAS_LOADED2": "이전에 저장된 게임을 불러왔습니다.", - "GAME_MORE_RECENT_AUTOSAVE1": "자동 저장된 게임이 수동으로 저장한 게임보다 더 최신입니다.", - "GAME_MORE_RECENT_AUTOSAVE2": "불러올 게임을 선택해 주십시오.", - "MENU_LABEL_SAVE_WILL_BE_DELETED": "선택된 세이브가 삭제됩니다.", - "MENU_LABEL_UNSAVED_PROGRESSES_WILL_BE_LOST": "저장하지 않은 변동사항을 잃게 됩니다." -} + "GAME_32BIT_WARNING1": "It looks like you’re running a 32-Bit version of Java.", + "GAME_32BIT_WARNING2": "Please download and install the latest 64-Bit Java at:", + "GAME_32BIT_WARNING3": "https://www.java.com/en/download/", + "GAME_APPLE_ROSETTA_WARNING1": "It seems you are using a Mac with Apple Silicon but running the x86 build of the game.", + "GAME_APPLE_ROSETTA_WARNING2": "Please use the native build for improved performance and gameplay experiences.", + "APP_NOMODULE_1": "No Module is currently loaded.", + "APP_NOMODULE_2": "Please configure your Load Order and restart:", + "MENU_LABEL_KEYCONFIG_HELP1": "Click On the Keycap to Assign Actions", + "GAME_PREV_SAVE_WAS_LOADED1": "The most recently saved game was corrupted.", + "GAME_PREV_SAVE_WAS_LOADED2": "The previously saved game was loaded.", + "GAME_MORE_RECENT_AUTOSAVE1": "The Autosave is more recent than the manual save.", + "GAME_MORE_RECENT_AUTOSAVE2": "Please select the saved game you wish to play:", + "MENU_LABEL_SAVE_WILL_BE_DELETED": "The selected save file will be deleted." +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/Principii.java b/src/net/torvald/terrarum/Principii.java index d6367cb72..38ceca207 100644 --- a/src/net/torvald/terrarum/Principii.java +++ b/src/net/torvald/terrarum/Principii.java @@ -5,8 +5,7 @@ import net.torvald.terrarum.utils.JsonFetcher; import java.io.File; import java.io.IOException; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * Bootstrapper that launches the bundled JVM and injects VM configs such as -Xmx @@ -25,7 +24,6 @@ public class Principii { /** defaultDir + "/config.json" */ private static String configDir; - public static void getDefaultDirRoot() { String OS = OSName.toUpperCase(); if (OS.contains("WIN")) { @@ -63,7 +61,7 @@ public class Principii { devMode = true; } - String extracmd = devMode ? " -ea" : ""; + String extracmd0 = devMode ? " -ea" : ""; String OS = OSName.toUpperCase(); String CPUARCH = System.getProperty("os.arch").toUpperCase(); String runtimeRoot; @@ -82,11 +80,11 @@ public class Principii { } else if (OS.contains("OS X") || OS.contains("MACOS")) { // OpenJDK for mac will still report "Mac OS X" with version number "10.16", even on Big Sur and beyond runtimeRoot = "runtime-osx-" + runtimeArch; - extracmd += " -XstartOnFirstThread"; + extracmd0 += " -XstartOnFirstThread"; } else { runtimeRoot = "runtime-linux-" + runtimeArch; - extracmd += " -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd"; + extracmd0 += " -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd"; } String runtime = new File("out/"+runtimeRoot+"/bin/java").getAbsolutePath(); @@ -102,13 +100,27 @@ public class Principii { int xmx = getConfigInt("jvm_xmx"); - String userDefinedExtraCmd = getConfigString("jvm_extra_cmd").trim(); - if (!userDefinedExtraCmd.isEmpty()) userDefinedExtraCmd = " "+userDefinedExtraCmd; + String userDefinedExtraCmd0 = getConfigString("jvm_extra_cmd").trim(); + if (!userDefinedExtraCmd0.isEmpty()) userDefinedExtraCmd0 = " "+userDefinedExtraCmd0; +// String[] cmd = (runtime+extracmd0+userDefinedExtraCmd0+" -Xms1G -Xmx"+xmx+"G -cp ./out/TerrarumBuild.jar net.torvald.terrarum.App").split(" "); + List extracmds = Arrays.stream(extracmd0.split(" ")).toList(); + List userDefinedExtraCmds = Arrays.stream(userDefinedExtraCmd0.split(" ")).toList(); + ArrayList cmd0 = new ArrayList<>(); + cmd0.add(runtime); + cmd0.addAll(extracmds); + cmd0.addAll(userDefinedExtraCmds); + cmd0.add("-Xms1G"); + cmd0.add("-Xmx"+xmx+"G"); + cmd0.add("-cp"); + cmd0.add("./out/TerrarumBuild.jar"); + cmd0.add("net.torvald.terrarum.App"); + var cmd = cmd0.stream().filter((it) -> !it.isBlank()).toList(); + + System.out.println(cmd); try { - String[] cmd = (runtime+extracmd+userDefinedExtraCmd+" -Xms1G -Xmx"+xmx+"G -cp ./out/TerrarumBuild.jar net.torvald.terrarum.App").split(" "); ProcessBuilder pb = new ProcessBuilder(cmd); pb.inheritIO(); System.exit(pb.start().waitFor());