FovUpdate
Simple client-sided mod that allows you to update the game's FOV to your desired setting. Also provides UltraWide/UltraLong resolution support with configurable UI fixesChange Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[0.4.0]
- Compiled on latest public build of the game, 0.4.4.3 (Cosmetic Update & More)
- Removed
Resolution Multipliersetting as I have since learned that setting this to a resolution higher than your monitor's resolution does nothing but make the game run worse. - Added option to
Pixelationsetting in-game calledNonewhich will completely remove the pixelation at your current resolution (replacement for resolution multiplier)- done via MenuSlider.Awake patch to add the setting and GraphicsManager.UpdateRenderSize patch to catch the correlated value that was added
- If Ultrawide support is enabled, the Pixelation settings will scale based on your monitor's resolution rather than the hard-coded values set by the devs (based on 1080p monitors)
- done via RenderTextureMain.Start patch
- Fixed in-game customization menu semibot looking stretched with Aspect-Ratio Fix enabled
- done via PlayerAvatarMenuHover.Awake patch
- Removed
Dont Stretch UIconfig in favor of new enum-based config itemUI Adjustments- Has 3 possible values to set based on how much you would like this mod to perform UI fixes when using
AspectRatioFix - When this is set to
EnableAllFixes, FovUpdate makes a best effort to de-stretch and reposition UI elements thru various patches. - These patches include the following:
- StatsUI.Update() is a fix for hiding the upgrade text when it is supposed to be hidden by the game.
- HealthUI.Start() adjusts the sizing of the in-game HUD.
- VideoOverlay.Awake() adjusts the sizing of the various video overlays.
- MenuPage.Start() adjusts the sizing of all menu pages except for MenuPagePassword.
- MenuCursor.Start() adjusts size of menu cursor based on current resolution
- MenuSelectionBox.MenuSelectionBoxSetTarget() adjusts target scale of this method based on the current resolution
- MenuPageCosmetics.Start() is a best effort fix to reposition certain elements where they are supposed to be when playing on an ultra wide
- This one is a bit trickier than the other patches and results may vary based on your monitor's resolution.
- Has 3 possible values to set based on how much you would like this mod to perform UI fixes when using
- Removed unneeded CameraZoom.Update transpiler since the devs fixed the issue it was originally fixing in the base game.
- Removed related
Maximum FOV fix on/offconfig item
- Removed related
[0.3.2]
- Small code cleanup in patching.
- Switched from CameraAim to player spawn patch to update camera fov
- Switched to OnSceneSwitch instead of CameraAim spawn for stretch fix
- Compiled for latest public version of the game
[0.3.1]
- Added ability to set specific field of view setting for the map.
- Set via the MapFov config item, leave as default to allow for effectsfix to adjust this item's field of view automatically.
- Added ability to not stretch the UI when using the ultrawide fix.
- This is not the best looking and not recommended by default
- Compiled for latest beta version, v0.1.2.42_beta
[0.3.0]
- Removed fix added in 0.2.11 for issue #6 in favor of new transpiler patch.
- Added transpiler for CameraZoom Update to clamp the resulting fov and hopefully resolve issue #6 for good.
- Added prefix patch for OverrideZoomSet to adjust the zoom factor to scale with your new fov.
- If you have a larger fov than 70, the amount you zoom will be lessened to be more in-line with the vanilla behavior.
- And if you have a fov smaller than 70 set, the amount you zoom will be bigger.
- Added Prefix patch for SemiFunc.OnScreen to account for your fov difference.
- This method is used by base-game for basically anything that happens when it appears on your screen.
- The most notable example is the Shadow Child enemy's interactions. They should now react more often to you having them in your peripheral even with a higher fov.
- Added new config items associated to the new game patches so you can disable them if you don't want their fixes.
[0.2.11]
- Found and added fix for issue reported in issue #6 where numerous speed upgrades would result in an unplayable Field of View while sprinting.
- This is a base-game issue that is more apparent when playing with a larger fov
- The current fix is that I recalculate your sprint fov modifier to account for the number of upgrades you have if the expected peak FOV will be larger than 180
- I have reported this issue as a bug to the actual devs of the game so that they can add a fix on their end some day. It would be a lot simpler/easier to fix on their end.
- Thanks ud119 on github for helping me identify the root cause of this issue
- Compiled for v0.1.2.31_beta version of the game
[0.2.10]
- Compiled for beta
- Added GetCappedSprintFov method to cap sprintfov values.
- This method will update your sprint fov if it causes your fov to exceed 180 when sprinting.
- Reminder that sprint fov is an added on value on top of your regular fov. So having a regular fov of 100 and a sprint fov of 90 would have raised your fov to 190 once you hit the peak of your sprint. This cap will now automatically lower your sprint fov so that your peak fov will not be larger than 180.
- If anyone would like the hard cap raised from 180 please feel free to reach out via a github issue or the modding discord.
- Changed spawn patch to CameraAim Spawn
[0.2.9]
- Adjusted github issue #5 fix to hopefully account for some minor math errors.
- Logs will now show what your resolution AND modifier have been forced to when exceeding the limit.
- I also switched from hardcoding 16834 to using SystemInfo.maxTextureSize
[0.2.8]
- Added fix for github issue #5, where the resolution multiplier would result in a resolution that is larger than unity's maximum supported texture size.
- The fix will now force you to a lower, valid resolution multiplier.
- This fix is untested since I don't have a monitor with a large enough resolution to experience the issue.
[0.2.7]
- Hopefully fixed
Resolution Multiplierpatch not applying on reload.- Also added a portion of the patch to use the game's pixelation setting when returning to default value
[0.2.6]
- Slight adjustment to
Resolution Multiplierpatch to allow for setting back to default value of 1 when launching with a different value - Latest version of REPOConfig also handles the values much better now. Allowing for precise resolution multiplier selections! (Thanks Nick)
[0.2.5]
- Added
Resolution Multiplierconfig item to allow for upscaling/downscaling the game.- Max downscale is a 0.25 multiplier whereas max upscale is a 4 times multiplier.
- This setting overrides the
Pixelationgraphics setting in base game when set to a value other than 1. - NOTE: REPOConfig does not read these values all that well. You will want to edit this config item out of game if you want to use a value other than 1,2,3, or 4.
[0.2.4]
- Added aspect ratio fix when
AspectRatioFixis enabled and the resolution is not standard.- This will update the aspect ratio of the camera to your current resolution.
- Minor updates to camera list handling
- moved list to plugin class and added UpdateCams method
[0.2.3]
- Added config change event support now that REPOConfig is in a good spot and offers config changing in-game.
- Added comments to ultrawide support patch to explain logic of code
[0.2.2]
- Fixed
/sfovcommand updating crouchfov config item instead of sprintfov config item - Added
AspectRatioFixconfig item to support ultra-wide and other non-conventional monitors.- Yoinked a patch from Oksamies' UltrawideOrLongFix (with their permission ofc)
- This config item is disabled by default, you will need to enable it once the config item is generated (after game launch)
- I tried to update the patch to cache things where I could to prevent some performance loss due to continuous running code
[0.2.1]
- Adjusted some patching around. Now fov change should most often be done via the spawn patch.
- I'm still unable to replicate the issue I was seeing in multiplayer where my fov would reset, but i'm hoping this shuffling of logic might have fixed the rare bug.
- Added SprintFov setting and related chat command
/sfov- This will allow you to modify the fov modifier that sprint adds.
- Vanilla value is 20, however you can add more to exaggerate the effect or set it to 0 to remove it.
[0.2.0]
- Added chat commands
/fovand/cfovto change fov/crouch fov in-game - Added crouch fov config item
CrouchFovfor when the player is crouched (tumble mode) - Hopefully fixed issue of fov not changing on respawn by adding a spawn patch
[0.1.0]
- Initial Release.
