From 6e7cf7b4813a96a804c8359b3e2a32176ac5d003 Mon Sep 17 00:00:00 2001 From: youzi-2333 Date: Tue, 18 Jun 2024 00:18:36 +0800 Subject: [PATCH 1/3] =?UTF-8?q?:sparkles:=20=E4=B8=BA=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=B7=BB=E5=8A=A0=E5=90=AF=E5=8A=A8=E5=89=8D?= =?UTF-8?q?=E5=86=85=E5=AD=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Minecraft/ModLaunch.vb | 14 ++++++++++---- .../Pages/PageSetup/ModSetup.vb | 1 + .../Pages/PageVersion/PageVersionSetup.xaml | 16 ++++++++++++++++ .../Pages/PageVersion/PageVersionSetup.xaml.vb | 7 +++++++ 4 files changed, 34 insertions(+), 4 deletions(-) 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 "服务器" From 61c0927baf56cfbecfc0ff35a136a93ca8c0365e Mon Sep 17 00:00:00 2001 From: youzi-2333 Date: Tue, 18 Jun 2024 13:07:29 +0800 Subject: [PATCH 2/3] =?UTF-8?q?:art:=20=E8=AE=A9=20`ComboChange`=20?= =?UTF-8?q?=E6=8E=A5=E7=AE=A1=E9=80=89=E6=8B=A9=E4=BA=8B=E4=BB=B6=20https:?= =?UTF-8?q?//github.com/Hex-Dragon/PCL2/pull/4058#discussion=5Fr1643295425?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/PageVersion/PageVersionSetup.xaml | 2 +- .../Pages/PageVersion/PageVersionSetup.xaml.vb | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml index f5eb83f..72caf3d 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml @@ -116,7 +116,7 @@ - + diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb index fce8945..8fbb4aa 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb @@ -132,7 +132,7 @@ Private Shared Sub SliderChange(sender As MySlider, e As Object) Handles SliderRamCustom.Change If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Value, Version:=PageVersionLeft.Version) End Sub - Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboArgumentIndie.SelectionChanged + Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboArgumentIndie.SelectionChanged, ComboRamOptimize.SelectionChanged If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.SelectedIndex, Version:=PageVersionLeft.Version) End Sub Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceRunWait.Change, CheckAdvanceAssetsV2.Change, CheckAdvanceJava.Change @@ -364,11 +364,6 @@ 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 "服务器" From dc3804a96053568e98277a24cb3aec62958a765c Mon Sep 17 00:00:00 2001 From: youzi-2333 Date: Tue, 18 Jun 2024 13:28:19 +0800 Subject: [PATCH 3/3] =?UTF-8?q?:art:=20=E5=B0=86=E5=86=85=E5=AD=98?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=88=E5=B9=B6=E5=88=B0=20Select=20Case?= =?UTF-8?q?=20https://github.com/Hex-Dragon/PCL2/pull/4058#discussion=5Fr1?= =?UTF-8?q?643297785?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Minecraft/ModLaunch.vb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb index 69a4688..c37bd67 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb @@ -113,15 +113,18 @@ Public Module ModLaunch New LoaderTask(Of Process, Integer)("等待游戏窗口出现", AddressOf McLaunchWait) With {.ProgressWeight = 1}, New LoaderTask(Of Integer, Integer)("结束处理", AddressOf McLaunchEnd) With {.ProgressWeight = 1} } + + '内存优化 Select Case Setup.Get("VersionRamOptimize", Version:=McVersionCurrent) Case 0 '全局 - If Not Setup.Get("LaunchArgumentRam") Then GoTo JumpRamOptimize - Case 2 '关闭 - GoTo JumpRamOptimize + 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 + Case 1 '开启 + CType(Loaders(2), LoaderCombo(Of String)).Block = False + Loaders.Insert(3, New LoaderTask(Of Integer, Integer)("内存优化", AddressOf McLaunchMemoryOptimize) With {.ProgressWeight = 30}) 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 '要求重启登录主加载器,它会自行决定是否启动副加载器