Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions WheelWizard/Features/Settings/ISettingsServices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ public interface ISettingsProperties
Setting<string> RECOMP_GRAPHICS_API { get; }
Setting<bool> RECOMP_SHOW_FPS { get; }
Setting<bool> RECOMP_PREVENT_STUTTERS { get; }
Setting<bool> RECOMP_GX_WORKER { get; }
Setting<string> RECOMP_NAND_ROOT { get; }
}

Expand Down
2 changes: 2 additions & 0 deletions WheelWizard/Features/Settings/SettingsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,7 @@ IUnixCommandService commands
RECOMP_GRAPHICS_API = RegisterRecomp(("video", "graphics_api"), "auto");
RECOMP_SHOW_FPS = RegisterRecomp(("video", "show_fps"), true);
RECOMP_PREVENT_STUTTERS = RegisterRecomp(("video", "skip_unready_pipelines"), true);
RECOMP_GX_WORKER = RegisterRecomp(("video", "gx_worker"), true);
// The Wii data folder the runtime should use, written by RecompDolphinDataService after an
// install and whenever the sharing choice changes. Empty/absent means the runtime's private NAND.
RECOMP_NAND_ROOT = RegisterRecomp(("paths", "nand_root"), "");
Expand Down Expand Up @@ -341,6 +342,7 @@ private static void SaveRecommended<T>(Setting<T> setting, T value)
public Setting<string> RECOMP_GRAPHICS_API { get; }
public Setting<bool> RECOMP_SHOW_FPS { get; }
public Setting<bool> RECOMP_PREVENT_STUTTERS { get; }
public Setting<bool> RECOMP_GX_WORKER { get; }
public Setting<string> RECOMP_NAND_ROOT { get; }
#endregion

Expand Down
23 changes: 22 additions & 1 deletion WheelWizard/Features/Settings/Views/RecompSettings.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
</Grid>
</Border>

<Border Classes="SettingsBlockStyle SettingsRowStyle SettingsRowBottom">
<Border Classes="SettingsBlockStyle SettingsRowStyle SettingsRowMiddle">
<Grid ColumnDefinitions="*,Auto" MinHeight="40">
<StackPanel Grid.Column="0"
Margin="0,0,16,0"
Expand All @@ -114,6 +114,27 @@
VerticalAlignment="Center" />
</Grid>
</Border>

<Border Classes="SettingsBlockStyle SettingsRowStyle SettingsRowBottom">
<Grid ColumnDefinitions="*,Auto" MinHeight="40">
<StackPanel Grid.Column="0"
Margin="0,0,16,0"
Spacing="3"
HorizontalAlignment="Left"
VerticalAlignment="Center">
<components:FormFieldLabel Text="{loc:T option.recomp_gx_worker}" />
<SelectableTextBlock Classes="TinyText"
Text="{loc:T helper_text.recomp_gx_worker}"
TextAlignment="Left"
TextWrapping="Wrap" />
</StackPanel>
<components:ToggleCheckBox Grid.Column="1"
x:Name="GxWorker"
Variant="Switch"
HorizontalAlignment="Right"
VerticalAlignment="Center" />
</Grid>
</Border>
</StackPanel>

<components:FormFieldLabel x:Name="InstallationSectionLabel"
Expand Down
10 changes: 10 additions & 0 deletions WheelWizard/Features/Settings/Views/RecompSettings.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public RecompSettings(
GraphicsApiDropdown.SelectionChanged += GraphicsApi_OnChanged;
ShowFps.IsCheckedChanged += ShowFps_OnChanged;
PreventStutters.IsCheckedChanged += PreventStutters_OnChanged;
GxWorker.IsCheckedChanged += GxWorker_OnChanged;
}

private bool IsInstalled => RecompInstallService is { IsInstalled: true };
Expand Down Expand Up @@ -140,6 +141,7 @@ private void LoadVideoSettings()

ShowFps.IsChecked = SettingsService.Get<bool>(SettingsService.RECOMP_SHOW_FPS);
PreventStutters.IsChecked = SettingsService.Get<bool>(SettingsService.RECOMP_PREVENT_STUTTERS);
GxWorker.IsChecked = SettingsService.Get<bool>(SettingsService.RECOMP_GX_WORKER);
}

/// <summary>
Expand Down Expand Up @@ -198,6 +200,14 @@ private void PreventStutters_OnChanged(object? sender, RoutedEventArgs e)
SettingsEditing.Set(SettingsService, SettingsService.RECOMP_PREVENT_STUTTERS, PreventStutters.IsChecked == true);
}

private void GxWorker_OnChanged(object? sender, RoutedEventArgs e)
{
if (_loading)
return;

SettingsEditing.Set(SettingsService, SettingsService.RECOMP_GX_WORKER, GxWorker.IsChecked == true);
}

#endregion

private async void ShareDolphinData_OnChanged(object? sender, RoutedEventArgs e)
Expand Down
2 changes: 2 additions & 0 deletions WheelWizard/Resources/Languages/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -645,6 +645,7 @@ en:
recomp_resolution: "Resolution"
recomp_graphics_api: "Graphics API"
recomp_prevent_stutters: "Prevent stutters"
recomp_gx_worker: "Separate graphics thread"
section:
graphics: "Graphics"
general: "General"
Expand Down Expand Up @@ -672,6 +673,7 @@ en:
recomp_graphics_api: "Only DirectX 12 and Vulkan run WiiCompiled reliably, so nothing else is offered."
recomp_dolphin_data_not_found: "Set an existing Dolphin User Folder in Location Settings first. It must contain a Wii folder."
recomp_prevent_stutters: "While a shader is still compiling, the objects that need it are skipped for a few frames instead of the whole game stalling until it is ready. You get a tiny bit of pop-in instead of a stutter."
recomp_gx_worker: "Draws the game on its own thread so it runs faster. Turn this off if you get crashes or broken graphics. Takes effect the next time the game starts."
launch_with_dolphin: "Will launch dolphins main window along with the game"
launch_rr_on_startup: "Automatically launches Retro Rewind when Wheel Wizard starts"
retro_rewind_version: "Installed version: %{version}"
Expand Down
Loading