mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-24 03:33:46 -04:00
[release/3.6] 修复 LWJGL 路径显示错误的问题 (#4447)
https://github.com/HMCL-dev/HMCL/pull/4192 Co-authored-by: 辞庐 <109708109+CiiLu@users.noreply.github.com>
This commit is contained in:
parent
fe2e96345b
commit
9d5f8a9f0e
@ -18,8 +18,9 @@ import org.jackhuang.hmcl.ui.FXUtils;
|
||||
import org.jackhuang.hmcl.ui.construct.*;
|
||||
import org.jackhuang.hmcl.ui.decorator.DecoratorPage;
|
||||
import org.jackhuang.hmcl.util.platform.OperatingSystem;
|
||||
import org.jackhuang.hmcl.util.platform.Platform;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
||||
@ -52,7 +53,7 @@ public final class AdvancedVersionSettingPage extends StackPane implements Decor
|
||||
private final MultiFileItem.FileOption<NativesDirectoryType> nativesDirCustomOption;
|
||||
private final JFXComboBox<Renderer> cboRenderer;
|
||||
|
||||
public AdvancedVersionSettingPage(Profile profile, String versionId, VersionSetting versionSetting) {
|
||||
public AdvancedVersionSettingPage(Profile profile, @Nullable String versionId, VersionSetting versionSetting) {
|
||||
this.profile = profile;
|
||||
this.versionId = versionId;
|
||||
this.versionSetting = versionSetting;
|
||||
@ -239,8 +240,27 @@ public final class AdvancedVersionSettingPage extends StackPane implements Decor
|
||||
useNativeOpenALPane.selectedProperty().bindBidirectional(versionSetting.useNativeOpenALProperty());
|
||||
|
||||
nativesDirItem.selectedDataProperty().bindBidirectional(versionSetting.nativesDirTypeProperty());
|
||||
nativesDirSublist.subtitleProperty().bind(Bindings.createStringBinding(() -> Paths.get(profile.getRepository().getRunDirectory(versionId).getAbsolutePath() + "/natives").normalize().toString(),
|
||||
versionSetting.nativesDirProperty(), versionSetting.nativesDirTypeProperty()));
|
||||
nativesDirSublist.subtitleProperty().bind(Bindings.createStringBinding(() -> {
|
||||
if (versionSetting.getNativesDirType() == NativesDirectoryType.VERSION_FOLDER) {
|
||||
String nativesDirName = "natives-" + Platform.SYSTEM_PLATFORM;
|
||||
if (versionId == null) {
|
||||
return String.format("%s/%s/%s",
|
||||
profile.getRepository().getBaseDirectory().toPath().resolve("versions").toAbsolutePath().normalize(),
|
||||
i18n("settings.advanced.natives_directory.default.version_id"),
|
||||
nativesDirName
|
||||
);
|
||||
} else {
|
||||
return profile.getRepository().getVersionRoot(versionId).toPath()
|
||||
.toAbsolutePath().normalize()
|
||||
.resolve(nativesDirName)
|
||||
.toString();
|
||||
}
|
||||
} else if (versionSetting.getNativesDirType() == NativesDirectoryType.CUSTOM) {
|
||||
return versionSetting.getNativesDir();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}, versionSetting.nativesDirProperty(), versionSetting.nativesDirTypeProperty()));
|
||||
}
|
||||
|
||||
void unbindProperties() {
|
||||
|
@ -1269,6 +1269,7 @@ settings.advanced.natives_directory=Native Library Path
|
||||
settings.advanced.natives_directory.choose=Choose the location of the desired native library
|
||||
settings.advanced.natives_directory.custom=Custom
|
||||
settings.advanced.natives_directory.default=Default
|
||||
settings.advanced.natives_directory.default.version_id=<Version ID>
|
||||
settings.advanced.natives_directory.hint=This option is intended only for users of Apple silicon or other not officially supported platforms. Please do not edit this option unless you know what you are doing.\n\
|
||||
\n\
|
||||
Before proceeding, please make sure all libraries (e.g. lwjgl.dll, libopenal.so) are provided in your desired directory.\n\
|
||||
|
@ -1064,6 +1064,7 @@ settings.advanced.natives_directory=本機庫路徑 (LWJGL)
|
||||
settings.advanced.natives_directory.choose=選取本機庫路徑
|
||||
settings.advanced.natives_directory.custom=自訂 (由你提供遊戲需要的本機庫)
|
||||
settings.advanced.natives_directory.default=預設 (由啟動器提供遊戲本機庫)
|
||||
settings.advanced.natives_directory.default.version_id=<版本 ID>
|
||||
settings.advanced.natives_directory.hint=本選項提供給 Apple Silicon 等未受遊戲官方支援的平台來自訂遊戲本機庫。如果你不知道本選項的含義,請你不要修改本選項,否則會導致遊戲無法啟動。\n\n如果你要修改本選項,你需要保證自訂目錄下有遊戲所需的本機庫檔案,如 lwjgl.dll (liblwjgl.so), openal.dll (libopenal.so) 等檔案。啟動器不會幫你補全缺少的本機庫檔案。\n\n注意:建議指定的本機庫檔案路徑使用全英文字元,否則可能導致遊戲啟動失敗。
|
||||
settings.advanced.no_jvm_args=不新增預設的 Java 虛擬機參數
|
||||
settings.advanced.precall_command=遊戲啟動前執行指令
|
||||
|
@ -1074,6 +1074,7 @@ settings.advanced.natives_directory=本地库路径 (LWJGL)
|
||||
settings.advanced.natives_directory.choose=选择本地库路径
|
||||
settings.advanced.natives_directory.custom=自定义 (由你提供游戏需要的本地库)
|
||||
settings.advanced.natives_directory.default=默认 (由启动器提供游戏本地库)
|
||||
settings.advanced.natives_directory.default.version_id=<版本 ID>
|
||||
settings.advanced.natives_directory.hint=本选项提供给 Apple Silicon 等未受游戏官方支持的平台来自定义游戏本地库。如果你不知道本选项的含义,请不要修改本选项,否则会导致游戏无法启动!\n\n如果你要修改本选项,你需要保证自定义文件夹下有游戏所需的本地库文件,如 lwjgl.dll (liblwjgl.so)、openal.dll (libopenal.so) 等文件。启动器不会帮你补全缺少的本地库文件!\n\n注意:指定的本地库文件路径建议只包含英文大小写字母、数字和下划线,否则可能会导致启动游戏失败。
|
||||
settings.advanced.no_jvm_args=不添加默认的 Java 虚拟机参数
|
||||
settings.advanced.precall_command=游戏启动前执行命令
|
||||
|
Loading…
x
Reference in New Issue
Block a user