Releases: KingKrouch/SvSFix
Alpha 01
This is the launch version that I had to crunch out in time for release date. You will need to extract the Mono runtimes into the game directory (choosing to replace any modified files) first, and then extract the contents of SvSFix_Alpha01.zip into the game directory. You may have to redo this process if official patches for the game end up releasing.
Stupid me didn't start work on the BepInEx plugin portion of this until late December (before that, I was patching game assemblies, and writing notes on my findings in UnityExplorer using some text files in Notepad). That said, I do have plans on fixing these issues, and fixing the remaining problems with subsequent updates.
EDIT: Regarding the recent game update that edits/censors (For whichever one sensitive people on social media think is less politically charged) language from dialogue alongside the names of some items, here's some details on how to revert those changes: https://steamcommunity.com/app/1932160/discussions/0/3809534863663060817/
Known Issues and Notes:
UI issues:
-
In the Safe Area, there is a chance that the Gaussian Blur background will display black. Back out and enter again, and it should be fixed. This is potentially a problem with how I'm scaling the black fading when fast traveling.
-
The World Map zooms in at the moment, this is due to unintended things being visible above 16:9, and I'm working on fixing the Pillarbox actor that I made for the intentions of pillarboxing/letterboxing fullscreen UI and cutscenes.
-
The credits still need it's credits roll to be anchored properly to the center of the screen.
-
Anchoring of the button prompts in the fullscreen map menu (during dungeons) or in the status menu may have incorrect anchoring. The variable that I'm attempting to access to fix this seemingly keeps returning as a null reference, so I'm figuring out a workaround for this.
-
The dungeon UI elements for character's HP may potentially be anchored in the incorrect position with aspect ratios above 21:9 while using spanned UI. I'm working on figuring out a solution for this.
-
The character switcher in the Equipment and Disc Development's Equip Disc menus is not being correctly anchored. I'm working on finding an appropriate hook for this function to fix this.
-
Pillarboxing in cutscenes is currently not functional (Due to the same issues with the pillarbox actor, plus needing to get hooks implemented to display the Pause/Skip/Stop ADV UI elements at the correct position). It may be preferred to use this when you are playing the game with resolutions wider than 21:9.
-
Some of the UI patches may cause issues with 1080p displays. Make sure that Force Custom Resolutions is disabled in SvSFix.cfg.
Controller issues:
-
There is a chance that controller or keyboard prompts can become busted if you don't have a controller connected through SteamInput. Please experiment around with the controller options in BepInEx/Config/SvSFix.cfg, set Disable SteamInput to true (alongside disabling it in the game's settings), and force keyboard input if you are planning to exclusively play with KB/M. I wanted a way to let users completely disable SteamInput if they loathe it, but Valve doesn't make this easy.
-
With the current SteamInput implementation, it doesn't take into account certain rebinds (due to how Valve's functionality for getting the current Origin based on an Xbox equivalent works). If you are using the trackpad on the PS4 controller as select like a normal human being (Because apparently Valve hates standardization similar to consoles), this will appear as share.
-
Shadow Resolution options are currently not functional, it turns out that I may potentially have to use Reflection functionality in C# to modify that setting in the URP Quality Asset.
-
The stutter fixes may potentially cause jerking reactions when the character moves upwards (I.E: jumping or climbing ladders) while the camera is positioned looking up. I'm unsure if this issue is a thing with the original FixedUpdate logic.
-
The SteamInput button prompts appear 30% larger than the default Xbox/PlayStation prompts. This is because those have a sprite where there's 30% space between the button. I'm trying to figure out a solution for this, but asking around the Unity development community hasn't been helpful in the slightest.
-
There's a chance that after releasing a button on the controller, Keyboard prompts will appear instead. As a temporary workaround for the time being, change "Input Type" in SvSFix.cfg from "Automatic" to "Controller".
-
The D-Pad Up/Down and Left/Right instructions currently don't display properly with the SteamInput implementation, as they use Left+Right prompts that SteamInput doesn't have, as I was trying to set up cycling between them within timed intervals.
Other issues:
-
The post-process anti-aliasing option may or may not work properly.
-
The framelimiter may or may not have issues with frametime fluctuations (for example, at 87.5FPS (Half refresh 175Hz), it can fluctuate between 87.5 and 87.6). It appears okay for me with VRR (stuttering isn't really apparent), but it is an issue that I've noticed when using Special K's frametime graph. If you are having issues with this, disable the limiter and employ your own instead.
Work in Progress Stuff (For Future SvSFix updates):
-
Loading in the game's existing DualShock 4/DualSense prompts (Not through SteamInput) is not yet implemented, and I'm working on figuring out the intricacies of Unity's existing NewInput system. The plan is to have native DualShock 3/DualShock 4/DualSense/Nintendo Switch controller support working with Unity's NewInput system, alongside the correct button prompts (I'm working on custom prompts for controllers not originally designed with the game in mind), reversed A/B menu navigation (on Switch controllers) and trackpad being set to select similar to the console versions. I'm not content with just using 3dmigoto or Special K to inject prompt textures, as this is still manual work that most aren't willing to mess with
-
Figuring out how the game uses mouse input during dungeon exploration and battles. The plan is to always have mouse input for the camera engaged unless a menu is open, alongside maybe binding primary and secondary attacks to the mouse buttons. I haven't had enough time to properly investigate the issue.
-
Stop the game from filtering out inputs from keyboard/mouse while a controller is being used. That way, you could use the Steam Deck/Steam Controller trackpads like a mouse, or use an analog keypad like the ones from Wooting or the Razer Tartarus Pro.
-
Pillarbox/Letterbox functionality for fullscreen UI elements designed with 16:9, and optionally for cutscenes (For those who are absolutely anal about original intent while still having arbitrary aspect ratio support during gameplay).
-
16:9 centered UI option for those with 32:9 or 48:9 monitors. This will require adjusting a lot of UI anchors/pivots by hand, as the game isn't using correct anchoring methods alongside an AspectRatioFitter.
-
Cracking away at getting the game UI to display properly at 16:10 and aspect ratios narrower than 16:9 (Including the Steam Deck). I have patched the gameplay and cutscene cameras to use Major Axis Scaling (Vert- scaling below 16:9, Hor+ over 16:9), so 16:10 gets the same horizontal space as 16:9 (with some extra vertical space), but the UI elements still need work to display properly and with the correct scaling.
-
Figuring out what's causing performance issues in the dungeon map menu, and in areas with dense grass (Keep in mind, these performance issues are still present with the unmodded version of the game). Steam Deck and low-end configs are the things that's most affected by this.
-
Figuring out how the in-game resolution options work. I've had luck increasing the list in the actual options menu, but this seems to be restricted to 12 entries (yay for hardcoding, even if mostly everything outside of UI behaves fine at arbitrary resolutions /s). The plan is to have this load and save values to the SvSFix.cfg file like any normal PC port instead of an integer index saved in the system save file, but how the game is handling resolutions is completely fucked up.
-
ADV/VN segments do some really jank stuff with foreground/background rendering, causing them to not properly resize when the viewport size is being adjusted. I've narrowed down the issue (The game doesn't update the SizeDelta for these elements when the display size changes), and I'm working on figuring out a solution for this, so they always render at a 16:9 portion in the center of the screen.
UPDATE (12/21/23): I noticed that the SvSFix archive file did not include the svsfix_content file needed for stuff like the pillarbox actor, so I included it. I will try and have a new build up soon that addresses a bunch of issues.