DSfix source release

I just put DSfix up on github.

It’s not nearly as cleaned up as I wanted it to be, but I thought it’s time to put it out there and see what people come up with. Have fun!

Please try to only use the comments on this blog post for development related questions!

Here’s the developer readme:

And here’s my current TODO file:
(I’ve been keeping this since 0.8 or so, lines starting with // are done)

 

DSfix 1.4

As I announced previously, I’m now focusing purely on bug fixes until the source code release, which will probably coincide with 1.5.

  • Textures with a hash code starting with 0 will now be correctly named when dumped  and loaded when overriden (with prefix 0s). Every hash is 8 charaters long.
  • Fixed the cause of the latest fullscreen alt-tab crash (hopefully).
  • Fixed modified HUD performance, particularly in conjunction with SMAA and VSSAO.
    The performance impact should now be negligible.
  • Fixed modified HUD not showing effects like poison or bleeding correctly.

Known issues with the modified HUD: boss health bars, subtitles, damage numbers and curses. Configure the HUD modification toggle key to turn it off if you get into a boss fight or another situation where it messes up.

As always, consider donating if you like the mod.

DSfix version 1.4 download
(alternative download)

Please please remember to read the README.txt!

DSfix 1.3

Edit: link replaced for screenshot quickfix. Redownload if you got 1.3 before.

This release fixes the following bugs:

  • fixed dynamic shadows being cut off in some areas
  • fixed some icons still not correctly hidden by Hud toggle

And adds these features:

  • HUD scaling
  • HUD opacity settings (per component)
  • Minimalistic HUD mode (removes the weapons and item/spell name display)

All the HUD options can be set in the ini and HUD manipulation can be toggled at runtime. Note that there are still some issues with the HUD manipulation, including damage number placement being incorrect and subtitle rendering not being handled. Also, poison and bleeding build-up is not displayed correctly, and neither are boss health bars. Additionally, I observed an unusually high performance impact at high resolutions that I don’t really understand yet.

Note that you can define a toggle key to quickly turn HUD modifications on and off in case there are issues.

Here are 2 screenshots showing off the HUD features:

Check out the DarkSoulsMod sub-reddit for a nice archive of texture replacements people have created so far. I especially like the high-res font replacement. My nickname there is DuranteA.

As always, consider donating if you like the mod.

DSfix version 1.3 download

Please please remember to read the README.txt!

DSfix 1.2

This version includes the following bugfixes:

  • Fixed some symbols still appearing with HUD toggled off (buttons, dashes, etc)
  • Fixed cut-off messages at some specific resolutions
  • Improved SSAO quality and speed, reduced distant artifacts (there is still some flickering, this is due to the method, use weak SSAO or downsample to mitigate this)

And adds these features:

  • The screenshot folder can be specified in the .ini (this was a popular request)
  • Texture override functionality! Any texture in the game can now be customized, e.g. for changing the button prompts or adding higher resolution fonts.
  • In conjunction with the above: texture dumping. This will provide you with the base textures for the game and their hash code, so that you can override them. This is only for people who want to create their own override textures.

For more information about the texture override feature, look at the .ini and the included example override texture. Here’s a picture of the example override (note that it only shows up once the “logo movie” is over).

As always, consider donating if you like the mod.

DSfix version 1.2 download
(Alternative download location)

(The download is now hosted externally, sorry for that. The traffic was just getting too much. I hope it’s not too inconvenient for anyone!)

Please please remember to read the README.txt!

And before I forget: if you come up with any good overrides, please post them below!

DSfix FAQ v2

Do I need the previous versions?
No, every release is self-contained, you just need the most recent version.

The game crashes, help!
Make sure that you are not running any other applications that interact with Direct3D, such as various overlays. Copy everything from the .zip to the game folder, and keep the “dsfix” directory intact.
If you use a resolution lower than the original (for performance reasons) move or rename the “movWW” directory.

The game only shows up in a small part in the upper left corner!
Turn off the in-game AA option. And read the readme.

Can you improve the performance of the game?
Beyond reducing the main/dof resolution (which likely isn’t the issue on most low-end systems anyway) there is not much I can do, sorry.

Will you release the source code?
Yes, as soon as it is at least remotely presentable and I no longer make large changes daily. I hope it will help people attempt similar things for other games and/or implement the 100s of features people are asking for in Dark Souls that I will never get to. I guess it should be ready some time next weekend.

Feature x doesn’t work on my pirated version of the game!
I don’t support pirated versions. Buy the game.

SSAO causes some problems with water / distant silhouettes / flickering!
I’m still working on this. You can also try tweaking the shader on your own.

SMAA and SSAO are not working for me!
You are one of the rare cases where the mod doesn’t identify the correct place in the rendering pipeline to inject the modifications. I currently don’t know why this happens and can’t reproduce it.

Why don’t the toggle keys work anymore? How can I change the keybindings?
Look at DSfixKeys.ini. Note that lines starting with “#” are ignored.

Why does the DoF blur blur my menus?
Don’t set your DoF resolution to the same as your internal rendering resolution. Set it lower than that.

DSfix 1.1

This is a rather big one.

Bugfixes:

  • SSAO depth buffer inaccuracy fixed. Removes line artifacts from SSAO.
  • Added further renderpipeline state restoration after SMAA and checks whether we are at the correct stage. May (again) fix the SMAA issues some people are having.
  • Fixed windows scaling issue when toggling between borderless windowed fullscreen and windowed mode.

New features:

  • SSAO is now configurable in the .ini, with 3 strength presets (low, medium and high).
  • Optional high-quality DoF blur. This allows you to set the sharpness as intended while still maintaining very high DoF image quality.
  • And maybe the most requested one: HUD on/off toggle as bindable key action. Default is the right Ctrl key.

I’m a bit burnt out now after basically spending ~90% of my free time on this for almost 3 weeks. I’ll probably start getting the fix cleaned up for an open source release so that others can pick up the torch.

Here are 2 screenshots showing off what the game looks like now on a high-end system:

Screenshot 1
Screenshot 2

As always, consider donating if you like the mod.

DSfix version 1.1 download

Please please remember to read the README.txt!

Don’t set your DoF resolution to the same as your vertical rendering resolution, set it LOWER than that. Same or higher doesn’t make sense and is wrong and you shouldn’t do it and it will cause problems.

DSfix 1.0

This version fixes the following issues:

  • Crashing when alt-tabbing back into fullscreen mode
  • Correctly restore the render pipeline after the SMAA step (this may fix the sporadic issues with SMAA)

It introduces these features:

  • All the hotkeys are now configurable in DSfixKeys.ini
  • Integrated SSAO. Note that there are still some artifacts caused by the effect. The adventurous can enable the “reloadSSAOEffect” keybinding and try to tweak the VSSAO.fx effect file.

I’m not happy with the current state of the SSAO, but I wanted to get the release out because of the bugfixes and configurable keybindings that people asked for.

As always, consider donating if you like the mod.

DSfix version 1.0 download

Please please remember to read the README.txt!

I’m stupid

I just spent 2 hours fixing the alt-tab crash introduced in 0.9 when 10 minutes should have sufficed. Anyway, it’s fixed now.

For future reference: if all the symptoms point to one location in your code do look carefully at that location instead of trying to “fix” something else just because you have long-held suspicions that it might not be 100% correct.

DSfix 0.9

Edit: Updated to version 0.9.1, may fix some issues people had with SMAA. DON’T FORGET TO EXTRACT ALL THE CONTENTS OF THE ZIP TO THE DATA DIRECTORY!

I finally made some progress in better understanding how the game renders.

This release should fix some reported bugs:

  • Save backups should now be correctly limited to the amount specified
  • Language override is more resilient in case of crashes (original settings will still be restored at the next shutdown) and cleans up the registry once it restores the original settings

It also introduces 2 new features:

  • HUD-less screenshots can be taken with F5. (This is a bit slow and only does bmp right now, I’ll fix that when I have time)
  • The big one: SMAA integration.

SMAA is integrated correctly with the rendering pipline. Compared to using an injector, this means that (a) you can combine it with any amounts of downsampling (or up) as desired and (b) only the rendered image is processed. You can select the level of SMAA in the ini, from one of the predefined quality presets (off, low, medium, high and ultra).

As always, consider donating if you like the mod.

DSfix version 0.9.1 download

Please please remember to read the README.txt!