Releases: Kaldaien/SoulsUnsqueezed
Souls "Unsqueezed" v 0.3.0
6/10/16 Patch Compatibility and Texture Management
The mod is generally patch proof because it has a system in place to scan for changes made by patches. This patch threw that system for a loop because the range of memory addresses to search was > 32-bit (all previous versions used addresses below 4 GiB).
- The memory scanner has been corrected, and future patches should not cause problems.
Texture Enhancements
I have included many texture management changes from my Final Fantasy X/X-2 mod project.
These allow you to dump and inject all textures the game loads and will make it possible to replace the default Xbox buttons with anything you want (provided you identify the unique hash as described below).
Texture dumping spits 💥🐪 out textures to:
SUS_Res/dump/textures/DarkSoulsIII.exe/....dds
📂
Texture Dumping
There are two types of textures:
Uncompressed | Compressed |
---|---|
Used primarily for the UI and special effects | Used by the world (also controller button icons) |
Dumped as Uncompressed_<crc32>.dds |
Dumped as Compressed_<crc32>.dds |
This feature can be enabled by setting [SUS.Textures]
Dump=true
Texture Injection
Allows modified textures to replace the original ones
Injects 💉 textures from:
SUS_Res/inject/textures/<CRC32>.dds
📂
Textures to be injected need to be named to match the checksum of the texture they are replacing
The dumped texture:
{Un}Compressed_8badf00d.dds
can be replaced by placing a replacement (8badf00d.dds
) in the injection directory.
This feature can be enabled by setting [SUS.Textures]
Inject=true
Texture Caching
Reduces hitching from redundant texture loads
From time to time, the game will remove and reload ♻️ textures in VRAM that could have stayed there, causing slight framerate hiccups. This feature tries to keep as much texture data in VRAM as it can in order to minimize these problems.
The cache algorithm is very conservative, but still may run into hash collisions and various other weird things. The default policy in 0.3.0 is 🔛, if you notice textures behaving strangely you can turn this off. Please notify me on the Steam forums if you can reproduce the problem, so I can tune this feature better.
This feature can be disabled by setting [SUS.Textures]
Cache=false
Various other changes include NvAPI / ADL initialization problems (the mod no longer hangs while trying to initialize either of these things), stability fixes during Windowed ⟷ Fullscreen mode switches, Windows Vista compatibility and improved logging.
Souls "Unsqueezed" v 0.2.2
Improved Fullscreen Support
- Fullscreen startup with Aspect Ratio Correction is now possible - No need to press Alt + Enter anymore - HUD Stretching should always work in Fullscreen _(Exclusive mode)_ - Toggle with Ctrl + Shift + Alt + . - Fullscreen _(Borderless)_ mode correctly hides the taskbar - Window centering works whether borderless mode is enabled or notPerformance Wizard
Dark Souls 3 Tweak v0.0.5's Performance Wizard is ~50% functional.
It does not automatically select any settings, but the information (particularly the bottom line) is useful information that you can use to select appropriate settings. For example, Flip Mode should not be used with Fullscreen (non-Borderless).
_You must run ds3t.exe
after installing or upgrading to this version and select your resolution._
Souls "Unsqueezed" 0.2.0
Compatibility Fixes and Configuration Utility
- `GraphicsConfig.XML` no longer needs to be set Read-Only - Desktop resolutions < 1080p are correctly supported - Window centering is more reliable (in borderless mode) - Fullscreen Exclusive (`Borderless=false`) mode works as intended - HUD stretching now works horizontally (aspect ratios narrower than 16:9)Introducing Dark Souls 3 Tweak
In order to simplify configuring this thing for aspect ratio correction, ds3t.exe
has been included. Run this from the same directory as dxgi.dll
is installed and enable Aspect Ratio Correction on the Graphics tab.
Future versions of this tool will include Refresh Rate override, texture settings and a Performance Wizard to configure optimized settings for Windowed, Fullscreen and SLI render modes.
Souls "Unsqueezed" v 0.2.1
Aspect Ratio Correction Enabled by Default
- SUS can engage Fullscreen mode automatically when ARC is enabled - VSYNC settings apply no matter what render mode is selected in DS3 Tweak - Many quality settings in `GraphicsConfig.XML` use the wrong words for Low / Disabled / Off - This problem has been corrected in DS3 Tweak_Includes DS3 Tweak 0.0.3_
Souls Unsqueezed v 0.0.2
Framerate Limiter and Aspect Ratio Testing
- The framerate limiter set in dxgi.ini sticks now; you had to open the command console to set it manually in 0.0.1. - Scissor rectangles have been disabled - If you get artifacts like UI elements spilling-over their window or lights doing weird things let me knowSouls Unsqueezed v 0.0.1
The game's more broken than I initially thought...
To mitigate some display scaling problems that many are having, I have opted to release 0.0.1 without the promised aspect ratio features.
Make sure your desktop resolution is set to match the game's configured resolution prior to start. That may mean editing %AppData%\DarkSoulsIII\GraphicsConfig.xml
by hand in many cases.
If you find the HUD only covers a portion of your screen, you will need to adjust the values in SoulsUnsqueezed.ini
to fix the game's broken display scaling.
Uncorrected DPI Scaling (4K)
Corrected DPI Scaling (4K)
Installation
See the "release notes" for 0.0.0 for installation details.
Temporary Mini-Configuration Guide (SoulsUnsqueezed.ini)
SUS.Render
- `FlipMode` is a high-performance render mode (Windows 8+) that will reduce latency in windowed (or borderless) mode - It has been **_DISABLED**_ because it causes problems with SLI configurations - Consider trying it if you do not need SLI supportSUS.Window
- `Borderless` forces the game to think it is running in fullscreen mode and enables borderless window functionality - Faster app switching, lower input latency, zero tearing - You may want to turn this off for SLI or CFX, or if you use a lower resolution than your desktop - You **_cannot change resolution in-game**_ while this mode is enabledSUS.Display
- `HUDResX` (game's default=1280) and `HUDResY` (game's default=720) control HUD scaling - When the game is working correctly, 1280x720 is magically scaled to fullscreen - When it's not working correctly, you get a tiny window in the top-left corner of your screen and you will need to adjust this to compensate for DPI scalingSouls Unsqueezed v 0.0.0 Test Release
Very early test version
- Only addresses input latency and VSYNC-related problems
- Resolution cannot be adjusted in-game while dxgi.dll is active
- 0.0.1 will add 21:9 support
To install, unzip sus.zip to your DS3 install path. Uninstallation involves deleting dxgi.dll
Souls "Unsqueezed" 0.1.0 - Pre-Release 0
Initial Aspect Ratio Fix
- Adds support for non-16:9 aspect ratios without letter / pillar boxing.Configuring 0.1.0-pr0 for aspect ratio correction is much more complicated than it should be and is basically a band-aid solution at this point. I'll work to automate as much of this as possible, particularly the read-only and fullscreen mode switch steps.
Configuration
0.1.0 comes pre-configured for 1920x1080.
To run the game correctly at a non-16:9 resolution you will need:
-
Edit the game's config to _always_ start in windowed mode
1.1. Open%AppData%/DarkSoulsIII/GraphicsConfig.xml
- Set
ScreenMode
to WINDOW - Set
Resolution-WindowScreenWidth
andResolution-WindowScreenHeight
to your screen's resolution
1.2. Make the file read-only
- This ensures that the game does not try to revert to the last window/fullscreen state.
- This step is _not_ optional.
- Set
-
Edit SUS's config to setup the default resolution
2.1 OpenSoulsUnsqueezed.ini
- Set
DefaultResX
andDefaultResY
to match the settings you used in GraphicsConfig.xml - Do not make this file read-only, dxgi.dll writes to it every time you run the game.
2.2 Set
Fullscreen=true
if you are not using your desktop resolution- This may shuffle some windows and your desktop icons onto other monitors, so it's disabled by default.
- Correct fullscreen borderless windows will be implemented in a later version.
- Set
-
Switch to fullscreen mode (Alt+Enter) _every time_ the game starts
Known Issues:
Transitions (fade to white/black) do not cover the entire screen (particularly the portion that is not visible at 16:9).
- These can be fixed if you enable HUD stretching
- Press Ctrl+Shift+Alt+. to toggle this feature
- Or turn it on by default in
SoulsUnsqueezed.ini
Release date is wrong in the release notes. I have not published the source code yet, so just ignore the date for now.