Dark Souls Mouse Fix

DSMfix .9

Changelog .9
- Added support for action modifiers. Users may bind a mouse button to a secondary action that will fire when the specified input is combined with a modifier key. If a modifier key is specified, be sure to unbind said key in-game.
- Various fixes.

Old Changelogs

Download:

dsmfix09.zip

FAQ:

Why am I here?

The default KB+M controls present the user with an interesting dilemma: under what circumstances shall I prefer dishonor to death? Well, now there's a third choice.

How do I install this?

This is intended to be used with DSfix. After installing DSfix...

In DSfix.ini, find this line:

dinput8dllWrapper none

Make it look like this line:

dinput8dllWrapper dsmfix.dll

Then, unzip dsmfix09.zip; place all dsmfix* files in the DATA directory (~Program Files\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA).

Finally, open dsmfixgui.exe (requires .NET 4) and make the desired adjustments (mouse over an option for relevant tooltips); or, edit dsmfix.ini by hand.

Negative mouse acceleration is the worst thing to happen to this country since the electoral college.

I'm glad you didn't frame that in the form of a question! What you're observing isn't actually "mouse acceleration" -- the transform function is strictly linear. Rather, this is the result of mapping one input abstraction onto a fundamentally different input abstraction. With a mouse, the angle of the turn is a function of the distance the mouse is moved. With an analog stick, the angle of the turn is a function of both time and stick displacement (with a relatively small maximum displacement value) . The problem when mapping a mouse to an analog stick should be be immediately apparent, then: when the mouse is moved very quickly, the maximum displacement value is immediately achieved but the duration of the input is much shorter, resulting, counterintuitively, in a shallower turn angle.

That's not to say that this couldn't be fixed, but it would require modifications below the API level, which is something I'm not interested in doing at this time.

I cannot move the camera; my character appears to be running about all nimbly-bimbly; I do not care for the works of Manet.

Any device that generates XInput data will (likely) interfere with this mod. This includes physical/virtual controllers, certain gaming keyboards (specifically, try disabling the associated HID-compliant game controller) -- even some Bluetooth receivers. Try disabling these devices to determine whether a conflict exists.

How does target switching work?

Mousewheel: When locked on target, switch targets using the mousewheel.
Mouselook: When locked on target, a flick towards the desired target will cause the target to switch. This is the default behavior.
Mouselook with modifier: As above, but only when a modifier key is depressed.

Can sensitivity be adjusted on the fly?

Yes. Press Numpad Plus/Numpad Minus to adjust sensitivity while in-game.

Can I adjust the in-game Camera Speed?

Yes. With the transform fix introduced in version .5, it is no longer necessary that the in-game Camera Speed be set to 0. Experiment with higher values to better approximate "classic" PC mouselook.

Can the sensitivity be increased beyond 10?

Yes. Also, no. This specific implementation is limited by what is possible with a controller; a transformed delta may never exceed the maximum permissible magnitude of an Xbox 360 analog stick. Thus, increasing the senstivity past a certain point offers negative returns (in the form of lost granularity).

The game loses focus when moving the mouse.

In DSfix.ini, find this line:

captureCursor 0

Make it look like this line:

captureCursor 1

Issues with target switching/in-game UI.

I would like to say that the representation of the game state has been established through exhaustive empirical inference and in a very real sense, I just did. If you're quite certain you've configured everything correctly and you're still experiencing unexpected behavior, shoot me an email with your relevant system specs (Windows version, 32/64 bit, etc).

Future stuff:

If someone feels like sending me a 40fbc4ad (key mapping texture) with blank keys, I can see about programatically generating a user's current key config.

Dolphins?

As is fashionable these days, please consider donating to the cause. The cause being, I guess, buying more games to play on Friday nights as I sob into a warm beer, my tears glistening faintly in the light of my LCDs. But it turns out that there's no shame in dishonor.

Contact me at (ROT13) yrooref@tznvy.pbz
11/06/2012