Made the intentions of cam-adjustments clear

added warning for cam-adjustments
fixed typo
updated readme
This commit is contained in:
uberhalit 2019-04-09 15:33:20 +02:00
parent 9290ec22d3
commit c6faf5c28a
4 changed files with 53 additions and 39 deletions

View file

@ -1,6 +1,6 @@
# Sekiro FPS Unlocker and more # Sekiro FPS Unlocker and more
A small utility to remove frame rate limit, add custom resolutions with 21/9 widescreen support, change field of view (FOV), borderless window mode, display and log stats (OBS), disable camera auto adjust on movement and various game modifications for [Sekiro: Shadows Die Twice](https://www.sekirothegame.com/) written in C#. A small utility to remove frame rate limit, add custom resolutions with 21:9 widescreen support, change field of view (FOV), borderless window mode, display and log stats (OBS), disable camera auto adjust on movement and various game modifications for [Sekiro: Shadows Die Twice](https://www.sekirothegame.com/) written in C#.
Patches games memory while running, does not modify any game files. Works with every game version (legit steam & oh-not-so-legit), should work with all future updates. Also available on [Nexus Mods](https://www.nexusmods.com/sekiro/mods/13/). Patches games memory while running, does not modify any game files. Works with every game version (legit steam & oh-not-so-legit), should work with all future updates. Also available on [Nexus Mods](https://www.nexusmods.com/sekiro/mods/13/).
## Download ## Download
@ -16,14 +16,14 @@ Patches games memory while running, does not modify any game files. Works with e
* works with legit, unmodified steam version as well as with unpacked, not-so-legit versions * works with legit, unmodified steam version as well as with unpacked, not-so-legit versions
* GSYNC and FreeSync support even in borderless window mode * GSYNC and FreeSync support even in borderless window mode
* unlock frame rate (remove FPS limit) by setting a new custom limit * unlock frame rate (remove FPS limit) by setting a new custom limit
* add a custom resolution, 21/9 widescreen supported (will overwrite the default 1920x1080 / 1280x720 resolution, HUD limited to 16/9) * add a custom resolution, 21:9 widescreen supported (will overwrite the default 1920x1080 / 1280x720 resolution, HUD limited to 16/9)
* increase and decrease field of view (FOV) * increase and decrease field of view (FOV)
* set the game to borderless window mode * set the game to borderless window mode
* disable camera auto rotate adjustment on movement (annoying for mouse users) * disable camera auto rotate adjustment on movement (for mouse users only!)
* display hidden counters such as death/kill count and optionally log them to file to display in OBS * display hidden counters such as death/kill count and optionally log them to file to display in OBS
* game modifications * game modifications
* global game speed modifier * global game speed modifier (increase or decrease)
* player speed modifier * player speed modifier (increase or decrease)
* automatically patch game on startup * automatically patch game on startup
* seamlessly switch between windowed, borderless and borderless fullscreen * seamlessly switch between windowed, borderless and borderless fullscreen
* hotkey for patching while in (borderless) window mode * hotkey for patching while in (borderless) window mode
@ -93,7 +93,7 @@ The game enforces VSYNC and forces 60 Hz in fullscreen even on 144 Hz monitors s
### To play the game with GSYNC do these additional steps (Nvidia): ### To play the game with GSYNC do these additional steps (Nvidia):
1. Under Nvidia Control Panel navigate to `3D Settings -> Manage 3D settings -> Program Settings -> Sekiro` 1. Under Nvidia Control Panel navigate to `3D Settings -> Manage 3D settings -> Program Settings -> Sekiro`
2. Set `Monitor Technology` to `G-SYNC` 2. Set `Monitor Technology` to `G-SYNC`
3. Set `Vertical sync` to `Off` again as enabling G-SYNC re-enables it 3. If you want to play in (borderless) window mode you have to set `Vertical sync` to `Off` again as enabling G-SYNC re-enables it, if you play in exclusive fullscreen you can keep VSync on `Application controlled` to help remove frame time stutters ([see here](https://www.blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/15/))
4. Make sure that `Preferred refresh rate` is still set to `Highest available` 4. Make sure that `Preferred refresh rate` is still set to `Highest available`
5. [![Control Panel](https://camo.githubusercontent.com/b7b491c24020fd3eca41d857bd58b1c0c2ee037f/68747470733a2f2f692e696d6775722e636f6d2f614a41744444632e706e67)](#) 5. [![Control Panel](https://camo.githubusercontent.com/b7b491c24020fd3eca41d857bd58b1c0c2ee037f/68747470733a2f2f692e696d6775722e636f6d2f614a41744444632e706e67)](#)
6. If you do not have `Preferred refresh rate` or `Vertical sync` see the guide above on how to use the Nvidia Profile Inspector 6. If you do not have `Preferred refresh rate` or `Vertical sync` see the guide above on how to use the Nvidia Profile Inspector
@ -103,31 +103,13 @@ The game enforces VSYNC and forces 60 Hz in fullscreen even on 144 Hz monitors s
10. Start the game and set it to Fullscreen 10. Start the game and set it to Fullscreen
11. Enjoy perfectly tearing free variable high refresh rates without VSYNC 11. Enjoy perfectly tearing free variable high refresh rates without VSYNC
### Troubleshooting: ### To add a custom resolution:
* Make sure you followed the appreciate steps and didn't skip any (especially not the deletion of the Sekiro profile!)
* Try disabling `Fullscreen optimization` for Sekiro: right mouse click on `sekiro.exe -> Compatibility-> tick 'Disable fullscreen optimizations'`
* Try adding the whole game folder and `Sekiro FPS Unlocker and more` to your antivirus's exclusion list
* Try disabling `Steam Broadcast` (streaming via overlay)
* Do a clean reinstall of your graphic driver:
1. Download latest graphics driver for your GPU
2. Download [DDU](https://www.guru3d.com/files-get/display-driver-uninstaller-download,1.html)
3. Disconnect internet so windows update won't auto-install minimal driver as soon as you uninstall them
4. Boot into safe mode
5. Completely uninstall graphics driver and all of their utilities using DDU
6. Reboot
7. Install the latest driver you previously downloaded
8. Reconnect internet
* Close and disable all screen recording and streaming applications
* Close and disable all overlays
* Close and disable all performance "booster" programs and alike
### To add a custom resolution
1. Start the game 1. Start the game
2. Start `Sekiro FPS Unlocker and more`, set you desired resolution and enable it by ticking the check box 2. Start `Sekiro FPS Unlocker and more`, set you desired resolution and enable it by ticking the check box
3. Set your custom resolution in the graphical settings 3. Set your custom resolution in the graphical settings
4. Be aware that your monitor has to natively support this resolution and the ingame HUD will be limited to 16/9 4. Be aware that your monitor has to natively support this resolution and the ingame HUD will be limited to 16/9
### To use the FOV changer ### To use the FOV changer:
1. Start the game 1. Start the game
2. Load up your save game 2. Load up your save game
3. Start `Sekiro FPS Unlocker and more`, set you desired FOV value and enable it by ticking the check box 3. Start `Sekiro FPS Unlocker and more`, set you desired FOV value and enable it by ticking the check box
@ -139,7 +121,10 @@ The game enforces VSYNC and forces 60 Hz in fullscreen even on 144 Hz monitors s
4. Start `Sekiro FPS Unlocker and more` and enable borderless window mode 4. Start `Sekiro FPS Unlocker and more` and enable borderless window mode
5. If you want fullscreen borderless enable `Fullscreen stretch` 5. If you want fullscreen borderless enable `Fullscreen stretch`
### To display total death/kill counters in OBS ### On 'Disable camera auto rotate on movement':
This is intended exclusively for mouse users, enabling it on non-native windows controller-input can temporary disable your up-down controls. Disabling the automatic camera adjustments makes little sense on controllers.
### To display total death/kill counters in OBS:
1. Start the game 1. Start the game
2. Load up your save game 2. Load up your save game
3. Start `Sekiro FPS Unlocker and more` and enable `Log stats` check box 3. Start `Sekiro FPS Unlocker and more` and enable `Log stats` check box
@ -151,13 +136,32 @@ The game enforces VSYNC and forces 60 Hz in fullscreen even on 144 Hz monitors s
9. To add additional counters repeat steps 4-7 9. To add additional counters repeat steps 4-7
10. [![On Stream Display with OBS](https://camo.githubusercontent.com/007910d42ace53ee0db0ea8b61d525751b9d48a6/68747470733a2f2f692e696d6775722e636f6d2f4c39546e6f34462e706e67)](#) 10. [![On Stream Display with OBS](https://camo.githubusercontent.com/007910d42ace53ee0db0ea8b61d525751b9d48a6/68747470733a2f2f692e696d6775722e636f6d2f4c39546e6f34462e706e67)](#)
### To use any of the game modifications ### To use any of the game modifications:
1. Start the game 1. Start the game
2. Load up your save game 2. Load up your save game
3. Start `Sekiro FPS Unlocker and more` and expand `Game modifications` 3. Start `Sekiro FPS Unlocker and more` and expand `Game modifications`
4. Set your desired values and then tick the checkbox you'd wish to enable 4. Set your desired values and then tick the checkbox you'd wish to enable
5. Be aware that player and game speed modifications can potentially crash the game in certain cutscenes and NPC interactions 5. Be aware that player and game speed modifications can potentially crash the game in certain cutscenes and NPC interactions
## Troubleshooting:
* Make sure you followed the appropriate steps and didn't skip any (especially not the deletion of the Sekiro profile!)
* Try disabling `Fullscreen optimization` for Sekiro: right mouse click on `sekiro.exe -> Compatibility-> tick 'Disable fullscreen optimizations'`
* Try adding the whole game folder and `Sekiro FPS Unlocker and more` to your antivirus's exclusion list
* Try disabling `Steam Broadcast` (streaming via overlay)
* Try to force disable VSYNC even when you are using GSYNC
* Close and disable all screen recording and streaming applications
* Close and disable all overlays
* Close and disable all performance "booster" programs and alike
* Do a clean reinstall of your graphic driver:
1. Download latest graphics driver for your GPU
2. Download [DDU](https://www.guru3d.com/files-get/display-driver-uninstaller-download,1.html)
3. Disconnect internet so windows update won't auto-install minimal driver as soon as you uninstall them
4. Boot into safe mode
5. Completely uninstall graphics driver and all of their utilities using DDU
6. Reboot
7. Install the latest driver you previously downloaded
8. Reconnect internet
## Preview ## Preview
[![Sekiro FPS Unlocker and more](https://camo.githubusercontent.com/e48e4e663b9a9248789d498aa7add145a7734910/68747470733a2f2f692e696d6775722e636f6d2f42304341545a762e706e67)](#) [![Sekiro FPS Unlocker and more](https://camo.githubusercontent.com/e48e4e663b9a9248789d498aa7add145a7734910/68747470733a2f2f692e696d6775722e636f6d2f42304341545a762e706e67)](#)
@ -201,6 +205,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
* in fullscreen the game forces the monitor to 60 Hz so you'll have to handle this with driver override too, see Usage * in fullscreen the game forces the monitor to 60 Hz so you'll have to handle this with driver override too, see Usage
* your monitor has to support your custom resolution otherwise it won't show up correctly * your monitor has to support your custom resolution otherwise it won't show up correctly
* due to how the game renders altering HUD is limited to 16:9 even on 21:9 resolutions * due to how the game renders altering HUD is limited to 16:9 even on 21:9 resolutions
* disabling automatic camera rotation adjustment on movement is intended for mouse users only, using it on a non-native windows controller can disable up-down controls
* Player speed modification needs a loaded save before it can be activated * Player speed modification needs a loaded save before it can be activated
* Player and game speed modification can potentially crash the game in certain cutscenes and NPC interactions, use with caution * Player and game speed modification can potentially crash the game in certain cutscenes and NPC interactions, use with caution
* the hotkey won't work if the game runs in exclusive, true fullscreen mode * the hotkey won't work if the game runs in exclusive, true fullscreen mode

View file

@ -28,13 +28,13 @@
<CheckBox x:Name="cbBorderless" DockPanel.Dock="Left" Margin="0,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Borderless window" ToolTip="To enable this set 'Windowed' mode in game options first." IsEnabled="False" Checked="CbBorderless_Checked" Unchecked="CbBorderless_Unchecked"/> <CheckBox x:Name="cbBorderless" DockPanel.Dock="Left" Margin="0,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Borderless window" ToolTip="To enable this set 'Windowed' mode in game options first." IsEnabled="False" Checked="CbBorderless_Checked" Unchecked="CbBorderless_Unchecked"/>
<CheckBox x:Name="cbBorderlessStretch" DockPanel.Dock="Right" Margin="10,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Fullscreen stretch" IsEnabled="False" Checked="CbBorderlessStretch_Check_Handler" Unchecked="CbBorderlessStretch_Check_Handler" /> <CheckBox x:Name="cbBorderlessStretch" DockPanel.Dock="Right" Margin="10,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Fullscreen stretch" IsEnabled="False" Checked="CbBorderlessStretch_Check_Handler" Unchecked="CbBorderlessStretch_Check_Handler" />
</StackPanel> </StackPanel>
<CheckBox x:Name="cbCamAdjust" Margin="0,5,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Disable camera auto rotate on movement" ToolTip="Disables the automatic camera adjustment on movement. Annoying when mouse is used." Checked="CbCamAdjust_Check_Handler" Unchecked="CbCamAdjust_Check_Handler" /> <CheckBox x:Name="cbCamAdjust" Margin="0,5,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Disable camera auto rotate on movement" ToolTip="MOUSE USERS ONLY! Disables the annoying automatic camera adjustment on movement." Checked="CbCamAdjust_Check_Handler" Unchecked="CbCamAdjust_Check_Handler" />
<CheckBox x:Name="cbLogStats" Margin="0,5,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Log stats (Deaths, Kills) to file for OBS" ToolTip="Check the guide on how to display these on stream with OBS." Checked="CbStatChanged" Unchecked="CbStatChanged" /> <CheckBox x:Name="cbLogStats" Margin="0,5,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Log stats (Deaths, Kills) to file for OBS" ToolTip="Check the guide on how to display these on stream with OBS." Checked="CbStatChanged" Unchecked="CbStatChanged" />
<Expander x:Name="exGameMods" Margin="-3,5,0,0" Height="Auto" FontSize="14 px" Header="Game modifications" IsExpanded="False"> <Expander x:Name="exGameMods" Margin="-3,5,0,0" Height="Auto" FontSize="14 px" Header="Game modifications" IsExpanded="False">
<Grid Margin="3,0,0,0" Background="#FFF9F9F9"> <Grid Margin="3,0,0,0" Background="#FFF9F9F9">
<StackPanel Width="Auto" Height="Auto"> <StackPanel Width="Auto" Height="Auto">
<DockPanel Margin="0,3,0,0" LastChildFill="False"> <DockPanel Margin="0,3,0,0" LastChildFill="False">
<CheckBox x:Name="cbGameSpeed" DockPanel.Dock="Left" Margin="0,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Game speed (%):" ToolTip="Can potentially crash the game in cutscenes, use with caution." Checked="CbGameSpeed_Check_Handler" Unchecked="CbGameSpeed_Check_Handler" /> <CheckBox x:Name="cbGameSpeed" DockPanel.Dock="Left" Margin="0,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Game speed (%):" ToolTip="Increase or decrease. Can potentially crash the game in cutscenes, use with caution." Checked="CbGameSpeed_Check_Handler" Unchecked="CbGameSpeed_Check_Handler" />
<Button x:Name="bGs100" DockPanel.Dock="Right" Content="100" Margin="0,0,0,0" Width="30" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" <Button x:Name="bGs100" DockPanel.Dock="Right" Content="100" Margin="0,0,0,0" Width="30" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
Focusable="False" Click="BGs100_Click" /> Focusable="False" Click="BGs100_Click" />
<Button x:Name="bGsHigher" DockPanel.Dock="Right" Content="&gt;" Margin="0,0,3,0" Width="25" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" <Button x:Name="bGsHigher" DockPanel.Dock="Right" Content="&gt;" Margin="0,0,3,0" Width="25" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
@ -46,7 +46,7 @@
Focusable="False" Click="BGs0_Click" /> Focusable="False" Click="BGs0_Click" />
</DockPanel> </DockPanel>
<DockPanel Margin="0,5,0,0" LastChildFill="False"> <DockPanel Margin="0,5,0,0" LastChildFill="False">
<CheckBox x:Name="cbPlayerSpeed" DockPanel.Dock="Left" Margin="0,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Player speed (%):" ToolTip="To enable this start the game and load a save, then tick the checkbox. Can potentially crash the game in cutscenes, use with caution." Checked="CbPlayerSpeed_Check_Handler" Unchecked="CbPlayerSpeed_Check_Handler" /> <CheckBox x:Name="cbPlayerSpeed" DockPanel.Dock="Left" Margin="0,0,0,0" Height="25" FontSize="14 px" VerticalContentAlignment="Center" Content="Player speed (%):" ToolTip="Increase or decrease. To enable this start the game and load a save, then tick the checkbox. Can potentially crash the game in cutscenes, use with caution." Checked="CbPlayerSpeed_Check_Handler" Unchecked="CbPlayerSpeed_Check_Handler" />
<Button x:Name="bPs100" DockPanel.Dock="Right" Content="100" Margin="0,0,0,0" Width="30" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" <Button x:Name="bPs100" DockPanel.Dock="Right" Content="100" Margin="0,0,0,0" Width="30" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
Focusable="False" Click="BPs100_Click" /> Focusable="False" Click="BPs100_Click" />
<Button x:Name="bPsHigher" DockPanel.Dock="Right" Content="&gt;" Margin="0,0,3,0" Width="25" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" <Button x:Name="bPsHigher" DockPanel.Dock="Right" Content="&gt;" Margin="0,0,3,0" Width="25" Height="25" FontSize="14 px" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
@ -69,13 +69,14 @@
<Run FontWeight="Bold">If your monitor is 60 Hz you will have to use</Run> <Run FontWeight="Bold">If your monitor is 60 Hz you will have to use</Run>
<Run FontWeight="Bold" Foreground="#FFF00000">fullscreen mode and force disable VSYNC</Run> <Run FontWeight="Bold" Foreground="#FFF00000">fullscreen mode and force disable VSYNC</Run>
<Run FontWeight="Bold">with Nvidia Control panel or AMD Radeon Settings to get frame rate unlock working.</Run> <Run FontWeight="Bold">with Nvidia Control panel or AMD Radeon Settings to get frame rate unlock working.</Run>
<Run>To avoid stuttering it's recommended to disable VSYNC even with a 144 Hz monitor.</Run> <Run>To avoid stuttering it's recommended to always disable VSYNC (except when you have GSYNC).</Run>
<Run FontWeight="Bold">If your monitor is >60 Hz you will have to use</Run> <Run FontWeight="Bold">If your monitor is >60 Hz you will have to use</Run>
<Run FontWeight="Bold" Foreground="#FFF00000">borderless window mode or force the game to run on highest available refresh rate</Run> <Run FontWeight="Bold" Foreground="#FFF00000">borderless window mode or force the game to run on highest available refresh rate</Run>
<Run FontWeight="Bold">using Nvidia Control panel or AMD Radeon Settings.</Run> <Run FontWeight="Bold">using Nvidia Control panel or AMD Radeon Settings.</Run>
<Run>Borderless window mode requires "Windowed" in game settings first.</Run> <Run>Borderless window mode requires "Windowed" in game settings first.</Run>
<Run FontWeight="Bold">Custom resolution adds 21/9 support and overwrites a default resolution, hud will be limited to 16/9.</Run> <Run FontWeight="Bold">Custom resolution adds 21:9 support and overwrites a default resolution, hud will be limited to 16:9.</Run>
<Run>Borderless window mode with custom resolution requires you to patch and set resolution first, then activate borderless afterwards.</Run> <Run>Borderless window mode with custom resolution requires you to patch and set resolution first, then activate borderless afterwards.</Run>
<Run FontWeight="Bold">Disabling camera auto rotate is intended for mouse users.</Run>
<Run FontWeight="Bold">To enable Player Speed modification you have to be ingame first.</Run> <Run FontWeight="Bold">To enable Player Speed modification you have to be ingame first.</Run>
<Run FontWeight="Bold" Foreground="#FFF00000">See the link below for detailed information, guides, GSYNC support and an AMD fix.</Run> <Run FontWeight="Bold" Foreground="#FFF00000">See the link below for detailed information, guides, GSYNC support and an AMD fix.</Run>
</TextBlock.Inlines> </TextBlock.Inlines>

View file

@ -863,21 +863,27 @@ namespace SekiroFpsUnlockAndMore
if (this.cbCamAdjust.IsChecked == true) if (this.cbCamAdjust.IsChecked == true)
{ {
this.IsEnabled = false; if (!_settingsService.ApplicationSettings.cameraAdjustNotify)
{
MessageBox.Show("Disabling camera auto adjustment is intended for mouse users!\nDo not enable this if you are using a controller.", "Sekiro FPS Unlocker and more", MessageBoxButton.OK, MessageBoxImage.Warning);
_settingsService.ApplicationSettings.cameraAdjustNotify = true;
}
this.cbCamAdjust.IsEnabled = false;
_codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH); _codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH);
_codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_Z); _codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_Z);
_codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH_XY); _codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH_XY);
_codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_XY); _codeCaveGenerator.ActivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_XY);
this.IsEnabled = true; this.cbCamAdjust.IsEnabled = true;
} }
else else
{ {
this.IsEnabled = false; this.cbCamAdjust.IsEnabled = false;
_codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH); _codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH);
_codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_Z); _codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_Z);
_codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH_XY); _codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_PITCH_XY);
_codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_XY); _codeCaveGenerator.DeactivateCodeCaveByName(_CODECAVE_CAMADJUST_YAW_XY);
this.IsEnabled = true; this.cbCamAdjust.IsEnabled = true;
} }
} }
@ -1092,14 +1098,14 @@ namespace SekiroFpsUnlockAndMore
/// Check whether input is numeric only. /// Check whether input is numeric only.
/// </summary> /// </summary>
/// <param name="text">The text to check.</param> /// <param name="text">The text to check.</param>
/// <returns>True if inout is numeric only.</returns> /// <returns>True if input is numeric only.</returns>
private static bool IsNumericInput(string text) private static bool IsNumericInput(string text)
{ {
return Regex.IsMatch(text, "[^0-9]+"); return Regex.IsMatch(text, "[^0-9]+");
} }
/// <summary> /// <summary>
/// Logs messages to log file /// Logs messages to log file.
/// </summary> /// </summary>
/// <param name="msg">The message to write to file.</param> /// <param name="msg">The message to write to file.</param>
internal static void LogToFile(string msg) internal static void LogToFile(string msg)

View file

@ -15,6 +15,8 @@ namespace SekiroFpsUnlockAndMore
[XmlElement] [XmlElement]
public bool gameVersionNotify { get; set; } public bool gameVersionNotify { get; set; }
[XmlElement] [XmlElement]
public bool cameraAdjustNotify { get; set; }
[XmlElement]
public bool cbFramelock { get; set; } public bool cbFramelock { get; set; }
[XmlElement] [XmlElement]
public int tbFramelock { get; set; } public int tbFramelock { get; set; }