diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb index 48a8228..69a4688 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb @@ -113,10 +113,16 @@ Public Module ModLaunch New LoaderTask(Of Process, Integer)("等待游戏窗口出现", AddressOf McLaunchWait) With {.ProgressWeight = 1}, New LoaderTask(Of Integer, Integer)("结束处理", AddressOf McLaunchEnd) With {.ProgressWeight = 1} } - If Setup.Get("LaunchArgumentRam") Then - CType(Loaders(2), LoaderCombo(Of String)).Block = False - Loaders.Insert(3, New LoaderTask(Of Integer, Integer)("内存优化", AddressOf McLaunchMemoryOptimize) With {.ProgressWeight = 30}) - End If + Select Case Setup.Get("VersionRamOptimize", Version:=McVersionCurrent) + Case 0 '全局 + If Not Setup.Get("LaunchArgumentRam") Then GoTo JumpRamOptimize + Case 2 '关闭 + GoTo JumpRamOptimize + End Select + CType(Loaders(2), LoaderCombo(Of String)).Block = False + Loaders.Insert(3, New LoaderTask(Of Integer, Integer)("内存优化", AddressOf McLaunchMemoryOptimize) With {.ProgressWeight = 30}) +JumpRamOptimize: + Dim LaunchLoader As New LoaderCombo(Of Object)("Minecraft 启动", Loaders) With {.Show = False} If McLoginLoader.State = LoadState.Finished Then McLoginLoader.State = LoadState.Waiting '要求重启登录主加载器,它会自行决定是否启动副加载器 '等待加载器执行并更新 UI diff --git a/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb b/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb index faef9cc..31025f3 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb +++ b/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb @@ -163,6 +163,7 @@ {"VersionAdvanceRunWait", New SetupEntry(True, Source:=SetupSource.Version)}, {"VersionRamType", New SetupEntry(2, Source:=SetupSource.Version)}, {"VersionRamCustom", New SetupEntry(15, Source:=SetupSource.Version)}, + {"VersionRamOptimize", New SetupEntry(0, Source:=SetupSource.Version)}, {"VersionArgumentTitle", New SetupEntry("", Source:=SetupSource.Version)}, {"VersionArgumentInfo", New SetupEntry("", Source:=SetupSource.Version)}, {"VersionArgumentIndie", New SetupEntry(-1, Source:=SetupSource.Version)}, diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml index e523d04..f5eb83f 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml @@ -106,6 +106,22 @@ + + + + + + + + + + + + + + + + diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb index ad72125..fce8945 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb @@ -51,6 +51,7 @@ '游戏内存 CType(FindName("RadioRamType" & Setup.Load("VersionRamType", Version:=PageVersionLeft.Version)), MyRadioBox).Checked = True SliderRamCustom.Value = Setup.Get("VersionRamCustom", Version:=PageVersionLeft.Version) + ComboRamOptimize.SelectedIndex = Setup.Get("VersionRamOptimize", Version:=PageVersionLeft.Version) '服务器 TextServerEnter.Text = Setup.Get("VersionServerEnter", Version:=PageVersionLeft.Version) @@ -95,6 +96,7 @@ Setup.Set("VersionArgumentIndie", 0, Version:=PageVersionLeft.Version) Setup.Reset("VersionRamType", Version:=PageVersionLeft.Version) Setup.Reset("VersionRamCustom", Version:=PageVersionLeft.Version) + Setup.Reset("VersionRamOptimize", Version:=PageVersionLeft.Version) Setup.Reset("VersionAdvanceJvm", Version:=PageVersionLeft.Version) Setup.Reset("VersionAdvanceGame", Version:=PageVersionLeft.Version) Setup.Reset("VersionAdvanceAssets", Version:=PageVersionLeft.Version) @@ -362,6 +364,11 @@ PreFin: Return RamGive End Function + Private Sub ComboRamOptimize_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ComboRamOptimize.SelectionChanged + If AniControlEnabled <> 0 Then Exit Sub + Setup.Set("VersionRamOptimize", ComboRamOptimize.SelectedIndex, Version:=PageVersionLeft.Version) + End Sub + #End Region #Region "服务器"