Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
PeterTh committed Sep 15, 2012
1 parent c5444d1 commit fbcb368
Show file tree
Hide file tree
Showing 62 changed files with 27,411 additions and 4 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*.sdf
*.user
*.opensdf
Release
30 changes: 30 additions & 0 deletions Actions.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

// Cursor Actions

ACTION(toggleCursorVisibility, WindowManager::get().toggleCursorVisibility())
ACTION(toggleCursorCapture, WindowManager::get().toggleCursorCapture())

// Window Actions

ACTION(toggleBorderlessFullscreen, WindowManager::get().toggleBorderlessFullscreen())

// Screenshot Actions

ACTION(takeHudlessScreenshot, RSManager::get().enableTakeScreenshot())

// Graphics Actions

ACTION(toggleSMAA, RSManager::get().toggleSmaa())
ACTION(toggleVSSAO, RSManager::get().toggleVssao())
ACTION(toggleDofGauss, RSManager::get().toggleDofGauss())

ACTION(toggleHUD, RSManager::get().toggleHideHud())
ACTION(toggleHUDChanges, RSManager::get().toggleChangeHud())

// Development Actions

ACTION(reloadSSAOEffect, RSManager::get().reloadVssao())
ACTION(reloadGAUSSEffect, RSManager::get().reloadGauss())
ACTION(singleFrameFullCapture, RSManager::get().enableSingleFrameCapture())
ACTION(userTrigger, SDLOG(0, "================================================================= USER TRIGGER ===\n"))
ACTION(reloadHUDVertices, RSManager::get().reloadHudVertices());
14,990 changes: 14,990 additions & 0 deletions AreaTex.h

Large diffs are not rendered by default.

194 changes: 194 additions & 0 deletions DATA/DSfix.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
###############################################################################
# Graphics Options
###############################################################################

# internal rendering resolution of the game
# higher values will decrease performance
renderWidth 1920
renderHeight 1080

# SMAA1x toggle and quality setting
# 0 = off (best performance, worst IQ)
# 1 = low
# 2 = medium
# 3 = high
# 4 = ultra (worst performance, best IQ)
smaaQuality 0

# Enable and set the strength of the SSAO effect (all 3 settings have the same performance impact!)
# 0 = off
# 1 = low
# 2 = medium
# 3 = high
ssaoStrength 0

############# Depth of field

# Depth of Field resolution override, possible values:
# 0 = no change from default (DoF pyramid starts at 512x360)
# 540 = DoF pyramid starts at 960x540
# 810 = DoF pyramid starts at 1440x810
# 1080 = DoF pyramid starts at 1920x1080
# 2160 = DoF pyramid starts at 3840x2160
# higher values will decrease performance
# do NOT set this to the same value as your vertical rendering resolution!
dofOverrideResolution 0

# Depth of Field scaling override (NOT RECOMMENDED)
# 0 = DoF scaling enabled (default, recommended)
# 1 = DoF scaling disabled (sharper, worse performance, not as originally intended)
disableDofScaling 0

# Depth of field additional blur
# allows you to use high DoF resolutions and still get the originally intended effect
# suggested values:
# o (off) at default DoF resolution
# 0 or 1 at 540 DoF resolution
# 1 or 2 above that
# 3 or 4 at 2160 DoF resolution (if you're running a 680+)
dofBlurAmount 0

###############################################################################
# HUD options
###############################################################################

# Enable HUD modifications
# 0 = off (default) - none of the options below will do anything!
# 1 = on
enableHudMod 0

# Remove the weapon icons from the HUD
# (you can see which weapons you have equipped from your character model)
enableMinimalHud 1

# Scale down HuD, examples:
# 1.0 = original scale
# 0.75 = 75% of the original size
hudScaleFactor 0.75

# Set opacity for different elements of the HUD
# 1.0 = fully opaque
# 0.0 = fully transparent
# Top left: health bars, stamina bar, humanity counter, status indicators
hudTopLeftOpacity 0.8f
# Bottom left: item indicators & counts
hudBottomLeftOpacity 0.75f
# Bottom right: soul count
hudBottomRightOpacity 0.0f

###############################################################################
# Window & Mouse Cursor Options
###############################################################################

# borderless fullscreen mode
# make sure to select windowed mode in the game settings for this to work!
# 0 = disable
# 1 = enable
borderlessFullscreen 0

# disable cursor at startup
# 0 = no change
# 1 = off at start
disableCursor 0

# capture cursor (do not allow it to leave the window)
# 0 = don't capture
# 1 = capture
# (this also works if the cursor is not visible)
captureCursor 0

###############################################################################
# Save Game Backup Options
###############################################################################

# enables save game backups
# 0 = no backups
# 1 = backups enabled
# backups are stored in the save folder, as "[timestamp]_[original name].bak"
enableBackups 0

# backup interval in seconds (1500 = 25 minutes)
# (minimum setting 600)
backupInterval 1500

# maximum amount of backups, older ones will be deleted
maxBackups 10

###############################################################################
# Texture Override Options
###############################################################################

# enables texture dumping
# you *only* need this if you want to create your own override textures
# textures will be dumped to "dsfix\tex_override\[hash].tga"
enableTextureDumping 0

# enables texture override
# textures in "dsfix\tex_override\[hash].png" will replace the corresponding originals
# will cause a small slowdown during texture loading!
enableTextureOverride 0

###############################################################################
# Other Options
###############################################################################

# skip the intro logos
# this should now be slightly more stable, but should still be
# the first thing to disable in case you experience any problems
skipIntro 0

# change the screenshot directory
# default: . (current directory)
# example: C:\Users\Peter\Pictures
# directory must exist!
screenshotDir .

# override the in-game language
# none = no override
# en-GB = English, fr = French, it = Italian, de = German, es = Spanish
# ko = Korean, zh-tw = Chinese, pl = Polish, ru = Russian
# this does not work in Windows XP!
overrideLanguage none

# Dinput dll chaining
# if you want to use another dinput8.dll wrapper together
# with DSfix, rename it (e.g. "dinputwrapper.dll") and put the new name here
dinput8dllWrapper none
# dsmfix.dll

# D3D adapter override
# -1 = no override
# N = use adapter N
# this setting is for multiple (non-SLI/crossfire) GPUs
# everyone else should leave it at -1
d3dAdapterOverride -1

# Log level - 0 to 11, higher numbers mean more logging
# only enable for debugging
logLevel 0

###############################################################################
# The settings below are not yet ready to use!!
###############################################################################

# texture filtering override (NOT RECOMMENDED)
# 0 = no change
# 1 = enable supersampling by downscaling (use only if you need it!)
# 2 = full AF override (may degrade performance, currently implemented badly, do not enable)
# if in doubt, leave this at 0
# you do not need this this if you override filtering in the driver, which is a better option
filteringOverride 0

# You can only set either forceFullscreen or forceWindowed (or neither)
# 0 = off, 1 = on
forceWindowed 0
forceFullscreen 0

# The following settings are only functional if either forceFullscreen or forceWindowed is enabled
# The display width/height
presentWidth 1280
presentHeight 720
# turn on/off Vsync
enableVsync 0
# adjust display refresh rate in fullscreen mode - this is NOT linked to FPS!
fullscreenHz 60
44 changes: 44 additions & 0 deletions DATA/DSfixKeys.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## DSfix Keybindings
# Scroll down for a list of actions and keys
# Lines that start with "#" are ignored!

toggleCursorCapture VK_F6
toggleCursorVisibility VK_F7
toggleBorderlessFullscreen VK_F8

#takeHudlessScreenshot VK_NEXT
toggleHUD VK_RCONTROL
#toggleHUDChanges VK_RSHIFT

#toggleSMAA VK_NUMPAD1
#toggleVSSAO VK_NUMPAD2
#toggleDofGauss VK_NUMPAD3

#reloadSSAOEffect VK_NUMPAD5
#reloadGAUSSEffect VK_NUMPAD6
#reloadHUDVertices VK_NUMPAD9

#userTrigger VK_F1

# Available Actions:
# toggleCursorVisibility, toggleCursorCapture, toggleBorderlessFullscreen, takeHudlessScreenshot, toggleHUD,
# toggleSMAA, toggleVSSAO, toggleDofGauss, toggleHudChange, reloadSSAOEffect, singleFrameFullCapture, userTrigger
# and some more

# Available Keys:
# VK_LBUTTON, VK_RBUTTON, VK_CANCEL, VK_MBUTTON, VK_XBUTTON1, VK_XBUTTON2,
# VK_BACK, VK_TAB, VK_CLEAR, VK_RETURN, VK_SHIFT, VK_CONTROL, VK_MENU, VK_PAUSE,
# VK_CAPITAL, VK_KANA, VK_HANGUL, VK_JUNJA, VK_FINAL, VK_HANJA, VK_KANJI,
# VK_ESCAPE, VK_CONVERT, VK_NONCONVERT, VK_ACCEPT, VK_MODECHANGE, VK_SPACE,
# VK_PRIOR, VK_NEXT, VK_END, VK_HOME, VK_LEFT, VK_UP, VK_RIGHT, VK_DOWN, VK_SELECT,
# VK_PRINT, VK_EXECUTE, VK_SNAPSHOT, VK_INSERT, VK_DELETE, VK_HELP,
# VK_0, VK_1, VK_2, VK_3, VK_4, VK_5, VK_6, VK_7, VK_8, VK_9,
# VK_A, VK_B, VK_C, VK_D, VK_E, VK_F, VK_G, VK_H, VK_I, VK_J, VK_K, VK_L,
# VK_M, VK_N, VK_O, VK_P, VK_Q, VK_R, VK_S, VK_T, VK_U, VK_V, VK_W, VK_X, VK_Y, VK_Z,
# VK_LWIN, VK_RWIN, VK_APPS, VK_SLEEP, VK_NUMPAD0, VK_NUMPAD1, VK_NUMPAD2,
# VK_NUMPAD3, VK_NUMPAD4, VK_NUMPAD5, VK_NUMPAD6, VK_NUMPAD7, VK_NUMPAD8,
# VK_NUMPAD9, VK_MULTIPLY, VK_ADD, VK_SEPARATOR, VK_SUBTRACT, VK_DECIMAL,
# VK_DIVIDE, VK_F1, VK_F2, VK_F3, VK_F4, VK_F5, VK_F6, VK_F7, VK_F8, VK_F9, VK_F10,
# VK_F11, VK_F12, VK_F13, VK_F14, VK_F15, VK_F16, VK_F17, VK_F18, VK_F19, VK_F20,
# VK_F21, VK_F22, VK_F23, VK_F24,
# VK_NUMLOCK, VK_SCROLL, VK_LSHIFT, VK_RSHIFT, VK_LCONTROL, VK_RCONTROL, VK_LMENU, VK_RMENU
83 changes: 83 additions & 0 deletions DATA/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
DSfix 1.5 by Durante -- README
==============================

**Please read this whole document before running anything!**

As most of you may know, the Dark Souls port for PC has a fixed internal rendering resolution of 1024x720.
I couldn't believe this when it was first rumoured, and when it turned out true I vowed to do my best to fix it.
DSfix is a tool developed by me that does just that.

What is it?
===========
It's an interception DINPUT8.dll that you place in the same folder as the game executable. It intercepts the game's calls to the DirectX 9 API and changes them as necessary to enable a higher internal rendering resolution.

How do I use it?
================
1) Delete previous version of the mod if you have any
2) Place the contents of the .zip into the game's binary directory. (The place where DARKSOULS.exe is)
(this may be something like C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA)
3) Adjust the settings in DSfix.ini as desired
4) Adjust the keybindings in DSfixKeys.ini as desired
IMPORTANT: turn OFF the in-game AA option, otherwise you *will* get graphical issues
See DSfixKeys.ini for a list of keybindable actions, including screenshots.

Will it work?
=============
As of version 0.4, it seems to work well for many people, however your mileage may vary.
*I can not and will not guarantee that it will work for anyone else, or not have any adverse effect on your game/computer. Use at your own risk!*

Are there known issues?
=======================
- At vertical resolutions higher than 720 the sun may not be rendered correctly under some circumstances. This is under investigation, any insight is appreciated.
- When using custom HUD settings damage numbers and subtitles are not handled correctly

Will it cause performance problems?
===================================
That depends on your system configuration. Usually, performance scales rather linearly with framebuffer size, and so far this game does not seem different. My 660 maintained a locked 30 FPS throughout ~ 1/2 hour of testing in the starting area of the game at 2560x1440.
AMD cards seem to have more problems than NVidia at this point. Performance problems with the game may not be related to my mod but also CPU power.

Can I donate?
=============
If you really want to donate I won't say no, I'm not particularly rich :P.
Here is my blog post about the fix with a donation link:
http://blog.metaclassofnil.com/?p=92
You can also simply Paypal to [email protected]

Will you release the source code?
=================================
I plan to, once the worst bugs are fixed and it is cleaned up *a lot*.

It crashes, help!
=================
First, make sure that the DSfix.ini file is present in the correct location.
Additionally, the "dsfix" folder should be in that same location.
Second, turn off tools such as MSI Afterburner or other overlays that manipulate D3D.
Then try restoring the default settings in the .ini file
If neither of these help then check if the problem still occurs when you remove/rename DINPUT8.dll
Finally, try rebooting
If it still persists, then report the problem, otherwise it has nothing to do with DSfix.

How can I uninstall the mod?
============================
Simply remove or rename DINPUT8.dll
The mod makes *no* permanent changes to *anything*.

Some other points
=================
- Please refrain from disrespectful remarks like "lol Japanese development". There are plenty of Japanese developers that deliver technically excellent PC games
- Buy Dark Souls if you like hardcore action RPGs

Thanks to
=========
- TatniumD3D developers for providing a basic D3D9 interception code base
- From Software for Dark Souls
- The authors of SMAA
- The authors of the OBGE VSSAO effect
- The artists of:
Crow's Claw, Demetori, Silver Forest, Foreground Eclipse, Thousand Leaves, Undead Corporation, Unlucky Morpheus, Dark Phoenix, Aquaelie, TAMUSIC, Riverside, Kissing the Mirror, xi-on, SAVE THE QUEEN, East New Sound and Shinigawa Satellite
for providing the development soundtrack


Contact information
===================
Contact me at [email protected]
Loading

0 comments on commit fbcb368

Please sign in to comment.