Skip to content

Commit ce7dec9

Browse files
committed
update 3.1.0 Version
1 parent 36bd258 commit ce7dec9

12 files changed

Lines changed: 187 additions & 26 deletions

File tree

Bloxstrap/Bloxstrap.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<UseWPF>true</UseWPF>
88
<UseWindowsForms>True</UseWindowsForms>
99
<ApplicationIcon>BoneFish.ico</ApplicationIcon>
10-
<Version>3.0.9</Version>
11-
<FileVersion>3.0.9</FileVersion>
10+
<Version>3.1.0</Version>
11+
<FileVersion>3.1.0</FileVersion>
1212
<ApplicationManifest>app.manifest</ApplicationManifest>
1313
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
1414
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
@@ -105,7 +105,8 @@
105105

106106
<Target Name="FixMds" BeforeTargets="CoreCompile" Condition="'@(ProjectionMetadataWinmd)'==''">
107107
<ItemGroup>
108-
<ProjectionMetadataWinmd Include="$(UserProfile)\.nuget\packages\microsoft.windows.sdk.win32metadata\55.0.45-preview\Windows.Win32.winmd" />
108+
<ProjectionMetadataWinmd
109+
Include="$(UserProfile)\.nuget\packages\microsoft.windows.sdk.win32metadata\55.0.45-preview\Windows.Win32.winmd" />
109110
</ItemGroup>
110111
</Target>
111112

Bloxstrap/Models/Persistable/Settings.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.ObjectModel;
1+
using System.Collections.ObjectModel;
22

33
namespace Bloxstrap.Models.Persistable
44
{
@@ -52,5 +52,14 @@ public class Settings
5252

5353
// mod preset configuration
5454
public bool UseDisableAppPatch { get; set; } = false;
55+
56+
// experimental features
57+
public bool EnableSystemTrayOnClose { get; set; } = false;
58+
59+
// performance preset
60+
public string SelectedPerformancePreset { get; set; } = "None";
61+
62+
// custom background
63+
public string CustomBackgroundPath { get; set; } = "";
5564
}
5665
}

Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<base:WpfUiWindow x:Class="Bloxstrap.UI.Elements.ContextMenu.MenuContainer"
1+
<base:WpfUiWindow x:Class="Bloxstrap.UI.Elements.ContextMenu.MenuContainer"
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -97,6 +97,18 @@
9797
</Grid>
9898
</MenuItem.Header>
9999
</MenuItem>
100+
<MenuItem x:Name="ExitBoneFishMenuItem" Click="ExitBoneFishMenuItem_Click">
101+
<MenuItem.Header>
102+
<Grid>
103+
<Grid.ColumnDefinitions>
104+
<ColumnDefinition Width="24" />
105+
<ColumnDefinition Width="*" />
106+
</Grid.ColumnDefinitions>
107+
<ui:SymbolIcon Grid.Column="0" Symbol="Power24"/>
108+
<TextBlock Grid.Column="1" VerticalAlignment="Center" Margin="4,0,0,0" Text="Exit BoneFish" />
109+
</Grid>
110+
</MenuItem.Header>
111+
</MenuItem>
100112
</ContextMenu>
101113
</ui:UiWindow.ContextMenu>
102114
</base:WpfUiWindow>

Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Windows;
1+
using System.Windows;
22
using System.Windows.Controls;
33
using System.Windows.Interop;
44

@@ -146,5 +146,11 @@ private void JoinLastServerMenuItem_Click(object sender, RoutedEventArgs e)
146146
else
147147
_gameHistoryWindow.Activate();
148148
}
149+
150+
private void ExitBoneFishMenuItem_Click(object sender, RoutedEventArgs e)
151+
{
152+
_watcher.SystemTrayExitSignal.TrySetResult(true);
153+
App.Terminate();
154+
}
149155
}
150156
}

Bloxstrap/UI/Elements/Settings/MainWindow.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<base:WpfUiWindow x:Class="Bloxstrap.UI.Elements.Settings.MainWindow"
1+
<base:WpfUiWindow x:Class="Bloxstrap.UI.Elements.Settings.MainWindow"
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -61,6 +61,7 @@
6161
<ui:NavigationItem x:Name="gbs" Content="{x:Static resources:Strings.Common_GlobalSettings}" PageType="{x:Type pages:GlobalSettingsPage}" Icon="Settings20" Tag="gbseditor"/>
6262
<ui:NavigationItem Content="{x:Static resources:Strings.Menu_Appearance_Title}" PageType="{x:Type pages:AppearancePage}" Icon="PaintBrush24" Tag="appearance" />
6363
<ui:NavigationItem Content="{x:Static resources:Strings.Common_Shortcuts}" PageType="{x:Type pages:ShortcutsPage}" Icon="Apps28" Tag="shortcuts" />
64+
<ui:NavigationItem Content="Experimental" PageType="{x:Type pages:ExperimentalPage}" Icon="Beaker24" Tag="experimental" />
6465

6566
<ui:NavigationItem Content="{x:Static resources:Strings.Menu_FastFlagEditor_Title}" PageType="{x:Type pages:FastFlagEditorPage}" Tag="fastflageditor" Visibility="Collapsed" />
6667
</ui:NavigationFluent.Items>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<ui:UiPage x:Class="Bloxstrap.UI.Elements.Settings.Pages.ExperimentalPage"
2+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6+
xmlns:models="clr-namespace:Bloxstrap.UI.ViewModels"
7+
xmlns:dmodels="clr-namespace:Bloxstrap.UI.ViewModels.Settings"
8+
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
9+
xmlns:resources="clr-namespace:Bloxstrap.Resources"
10+
xmlns:controls="clr-namespace:Bloxstrap.UI.Elements.Controls"
11+
mc:Ignorable="d"
12+
d:DataContext="{d:DesignInstance dmodels:ExperimentalViewModel, IsDesignTimeCreatable=True}"
13+
d:DesignHeight="800" d:DesignWidth="800"
14+
Title="ExperimentalPage"
15+
Scrollable="True">
16+
<StackPanel Margin="0,0,14,14">
17+
<TextBlock Margin="0,0,0,16" Text="Fitur experimental yang sedang dikembangkan." FontSize="14" Foreground="{DynamicResource TextFillColorSecondaryBrush}" />
18+
19+
<controls:OptionControl
20+
Header="System Tray saat Roblox ditutup"
21+
Description="Saat kamu keluar dari Roblox (klik tombol X), BoneFish tidak akan keluar tapi minimize ke System Tray Windows.">
22+
<ui:ToggleSwitch IsChecked="{Binding EnableSystemTrayOnClose, Mode=TwoWay}" />
23+
</controls:OptionControl>
24+
25+
</StackPanel>
26+
</ui:UiPage>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System.Windows.Controls;
2+
using Bloxstrap.UI.ViewModels.Settings;
3+
4+
namespace Bloxstrap.UI.Elements.Settings.Pages
5+
{
6+
/// <summary>
7+
/// Interaction logic for ExperimentalPage.xaml
8+
/// </summary>
9+
public partial class ExperimentalPage
10+
{
11+
public ExperimentalPage()
12+
{
13+
DataContext = new ExperimentalViewModel();
14+
InitializeComponent();
15+
}
16+
}
17+
}

Bloxstrap/UI/Elements/Settings/Pages/FastFlagsPage.xaml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<ui:UiPage x:Class="Bloxstrap.UI.Elements.Settings.Pages.FastFlagsPage"
1+
<ui:UiPage x:Class="Bloxstrap.UI.Elements.Settings.Pages.FastFlagsPage"
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@@ -12,6 +12,9 @@
1212
Title="FastFlagsPage"
1313
Scrollable="True"
1414
Loaded="Page_Loaded">
15+
<ui:UiPage.Resources>
16+
<BooleanToVisibilityConverter x:Key="BoolToVis" />
17+
</ui:UiPage.Resources>
1518
<StackPanel Margin="0,0,14,14">
1619
<TextBlock Margin="0,0,0,16" Text="{x:Static resources:Strings.Menu_FastFlags_Description}" FontSize="14" Foreground="{DynamicResource TextFillColorSecondaryBrush}" />
1720

@@ -26,41 +29,42 @@
2629
</StackPanel>
2730
</ui:CardAction>
2831

32+
<TextBlock Text="Performance &amp; Network Presets (Pilih Salah Satu)" FontSize="20" FontWeight="Medium" Margin="0,16,0,8" />
33+
2934
<ui:CardAction Margin="0,8,0,0" Icon="Settings28" Command="{Binding ApplyRecommendedFastFlagsCommand}">
3035
<StackPanel>
3136
<TextBlock FontSize="14" Text="Auto-optimize FastFlags" />
3237
<TextBlock Margin="0,2,0,0" FontSize="12" Text="Set recommended performance flags for lower-end systems." Padding="0,0,16,0" Foreground="{DynamicResource TextFillColorTertiaryBrush}" />
33-
</StackPanel>
34-
</ui:CardAction>
35-
36-
<ui:CardAction Margin="0,8,0,0" Icon="CloudArchive20" Command="{Binding ApplyRecommendedNetworkSettingsCommand}">
37-
<StackPanel>
38-
<TextBlock FontSize="14" Text="Auto-optimize network" />
39-
<TextBlock Margin="0,2,0,0" FontSize="12" Text="Enable better matchmaking and server selection for smoother Roblox joins." Padding="0,0,16,0" Foreground="{DynamicResource TextFillColorTertiaryBrush}" />
38+
<TextBlock Margin="0,4,0,0" FontSize="12" FontWeight="Bold" Foreground="LimeGreen" Text="[ ACTIVE ]" Visibility="{Binding IsAutoOptimizeActive, Converter={StaticResource BoolToVis}}" />
4039
</StackPanel>
4140
</ui:CardAction>
4241

4342
<ui:CardAction Margin="0,8,0,0" Icon="Wrench24" Command="{Binding ApplyRecommendedStabilityPresetCommand}">
4443
<StackPanel>
4544
<TextBlock FontSize="14" Text="Apply stable low-spec preset" />
4645
<TextBlock Margin="0,2,0,0" FontSize="12" Text="Combine low-spec rendering and stable network settings in one click." Padding="0,0,16,0" Foreground="{DynamicResource TextFillColorTertiaryBrush}" />
46+
<TextBlock Margin="0,4,0,0" FontSize="12" FontWeight="Bold" Foreground="LimeGreen" Text="[ ACTIVE ]" Visibility="{Binding IsStableActive, Converter={StaticResource BoolToVis}}" />
4747
</StackPanel>
4848
</ui:CardAction>
4949

5050
<ui:CardAction Margin="0,8,0,0" Icon="Delete28" Command="{Binding ApplyUltraLowSpecPresetCommand}">
5151
<StackPanel>
52-
<TextBlock FontSize="14" Text="Ultra low-spec (sangat ringan)" />
53-
<TextBlock Margin="0,2,0,0" FontSize="12" Text="Untuk PC dengan spek sangat minimum (i3 Gen 4, RAM 4GB). Rendering minimal." Padding="0,0,16,0" Foreground="{DynamicResource TextFillColorTertiaryBrush}" />
52+
<TextBlock FontSize="14" Text="Ultra low-spec (sangat ringan) + Anti Crash" />
53+
<TextBlock Margin="0,2,0,0" FontSize="12" Text="Untuk PC kentang (i3 Gen 4, RAM 8GB, HDD). Rendering minimal &amp; No Delay Network." Padding="0,0,16,0" Foreground="{DynamicResource TextFillColorTertiaryBrush}" />
54+
<TextBlock Margin="0,4,0,0" FontSize="12" FontWeight="Bold" Foreground="LimeGreen" Text="[ ACTIVE ]" Visibility="{Binding IsUltraLowActive, Converter={StaticResource BoolToVis}}" />
5455
</StackPanel>
5556
</ui:CardAction>
5657

5758
<ui:CardAction Margin="0,8,0,0" Icon="AppsAddIn28" Command="{Binding ApplyBalancedPresetCommand}">
5859
<StackPanel>
5960
<TextBlock FontSize="14" Text="Balanced (optimal)" />
60-
<TextBlock Margin="0,2,0,0" FontSize="12" Text="Keseimbangan antara kualitas visual dan performa untuk sistem mid-range." Padding="0,0,16,0" Foreground="{DynamicResource TextFillColorTertiaryBrush}" />
61+
<TextBlock Margin="0,2,0,0" FontSize="12" Text="Keseimbangan visual dan performa. Termasuk No Delay Network." Padding="0,0,16,0" Foreground="{DynamicResource TextFillColorTertiaryBrush}" />
62+
<TextBlock Margin="0,4,0,0" FontSize="12" FontWeight="Bold" Foreground="LimeGreen" Text="[ ACTIVE ]" Visibility="{Binding IsBalancedActive, Converter={StaticResource BoolToVis}}" />
6163
</StackPanel>
6264
</ui:CardAction>
6365

66+
<TextBlock Text="Manual FastFlag Overrides" FontSize="20" FontWeight="Medium" Margin="0,16,0,8" />
67+
6468
<controls:OptionControl
6569
Header="{x:Static resources:Strings.Menu_FastFlags_ManagerEnabled_Title}"
6670
Description="{x:Static resources:Strings.Menu_FastFlags_ManagerEnabled_Description}">
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System.Windows.Input;
2+
using CommunityToolkit.Mvvm.Input;
3+
4+
namespace Bloxstrap.UI.ViewModels.Settings
5+
{
6+
public class ExperimentalViewModel : NotifyPropertyChangedViewModel
7+
{
8+
public bool EnableSystemTrayOnClose
9+
{
10+
get => App.Settings.Prop.EnableSystemTrayOnClose;
11+
set => App.Settings.Prop.EnableSystemTrayOnClose = value;
12+
}
13+
}
14+
}

Bloxstrap/UI/ViewModels/Settings/FastFlagsViewModel.cs

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Windows.Input;
1+
using System.Windows.Input;
22

33
using CommunityToolkit.Mvvm.Input;
44

@@ -184,6 +184,25 @@ public bool ResetConfiguration
184184
}
185185
}
186186

187+
public string SelectedPreset
188+
{
189+
get => App.Settings.Prop.SelectedPerformancePreset;
190+
set
191+
{
192+
App.Settings.Prop.SelectedPerformancePreset = value;
193+
OnPropertyChanged(nameof(SelectedPreset));
194+
OnPropertyChanged(nameof(IsUltraLowActive));
195+
OnPropertyChanged(nameof(IsBalancedActive));
196+
OnPropertyChanged(nameof(IsStableActive));
197+
OnPropertyChanged(nameof(IsAutoOptimizeActive));
198+
}
199+
}
200+
201+
public bool IsUltraLowActive => SelectedPreset == "UltraLow";
202+
public bool IsBalancedActive => SelectedPreset == "Balanced";
203+
public bool IsStableActive => SelectedPreset == "Stable";
204+
public bool IsAutoOptimizeActive => SelectedPreset == "AutoOptimize";
205+
187206
private void ApplyRecommendedFastFlags()
188207
{
189208
UseFastFlagManager = true;
@@ -196,6 +215,7 @@ private void ApplyRecommendedFastFlags()
196215
FRMQualityOverrideEnabled = true;
197216
FRMQualityOverride = 21;
198217

218+
SelectedPreset = "AutoOptimize";
199219
RequestPageReloadEvent?.Invoke(this, EventArgs.Empty);
200220
Notify("Auto-optimize FastFlags telah diterapkan.");
201221
}
@@ -204,8 +224,16 @@ private void ApplyRecommendedNetworkSettings()
204224
{
205225
App.Settings.Prop.EnableBetterMatchmaking = true;
206226
App.Settings.Prop.EnableBetterMatchmakingRandomization = true;
227+
228+
// DNS/No Delay Network Flags
229+
App.FastFlags.SetValue("FIntRakNetPacketRateLimit", "50000");
230+
App.FastFlags.SetValue("DFIntMaxReceivePPS", "50000");
231+
App.FastFlags.SetValue("DFIntMaxSendPPS", "50000");
232+
App.FastFlags.SetValue("DFIntConnectionMTUSize", "1500");
233+
App.FastFlags.SetValue("DFIntOptimizeSendQueue", "1");
234+
207235
RequestPageReloadEvent?.Invoke(this, EventArgs.Empty);
208-
Notify("Auto-optimize jaringan telah diterapkan.");
236+
Notify("Auto-optimize jaringan & No Delay telah diterapkan.");
209237
}
210238

211239
private void ApplyRecommendedStabilityPreset()
@@ -216,6 +244,7 @@ private void ApplyRecommendedStabilityPreset()
216244
App.Settings.Prop.BackgroundUpdatesEnabled = false;
217245
App.Settings.Prop.FakeBorderlessFullscreen = false;
218246

247+
SelectedPreset = "Stable";
219248
RequestPageReloadEvent?.Invoke(this, EventArgs.Empty);
220249
Notify("Preset stabil untuk low-spec telah diterapkan.");
221250
}
@@ -230,20 +259,27 @@ private void ApplyUltraLowSpecPreset()
230259
MeshQualityEnabled = true;
231260
MeshQuality = 0;
232261
FRMQualityOverrideEnabled = true;
233-
FRMQualityOverride = 2; // Sangat rendah untuk ultra low-spec
262+
FRMQualityOverride = 1; // Minimum rendering quality
234263

235264
// Ultra low lighting
236265
App.FastFlags.SetPreset("Rendering.LightingMode", "Default");
237266
App.FastFlags.SetPreset("Rendering.EnvironmentSpecMap", "False");
238267
App.FastFlags.SetPreset("Rendering.DisableLighting", "False");
239268
App.FastFlags.SetPreset("Terrain.GridV2", "False");
240269

270+
// Anti-crash memory optimizations
271+
App.FastFlags.SetValue("DFIntTaskSchedulerTargetFps", "30");
272+
App.FastFlags.SetValue("FIntRenderLocalLightUpdatesMax", "1");
273+
App.FastFlags.SetValue("FIntRenderLocalLightUpdatesMin", "1");
274+
App.FastFlags.SetValue("DFIntTextureCompositorActiveJobs", "1");
275+
241276
ApplyRecommendedNetworkSettings();
242277
App.Settings.Prop.BackgroundUpdatesEnabled = false;
243278
App.Settings.Prop.FakeBorderlessFullscreen = false;
244279

280+
SelectedPreset = "UltraLow";
245281
RequestPageReloadEvent?.Invoke(this, EventArgs.Empty);
246-
Notify("Ultra low-spec preset untuk rendering sangat ringan telah diterapkan.");
282+
Notify("Ultra low-spec preset untuk PC spek kentang telah diterapkan.");
247283
}
248284

249285
private void ApplyBalancedPreset()
@@ -258,14 +294,15 @@ private void ApplyBalancedPreset()
258294
FRMQualityOverrideEnabled = true;
259295
FRMQualityOverride = 15;
260296

261-
// Balanced lighting - lebih bagus tapi masih ringan
297+
// Balanced lighting
262298
App.FastFlags.SetPreset("Rendering.LightingMode", "Default");
263299
App.FastFlags.SetPreset("Terrain.GridV2", "False");
264300

265301
ApplyRecommendedNetworkSettings();
266302

303+
SelectedPreset = "Balanced";
267304
RequestPageReloadEvent?.Invoke(this, EventArgs.Empty);
268-
Notify("Preset seimbang dengan kualitas visual dan performa yang baik telah diterapkan.");
305+
Notify("Preset seimbang telah diterapkan.");
269306
}
270307
}
271308
}

0 commit comments

Comments
 (0)