MassEffectMouseFix

Origin Update For Mass Effect and Dead Space Mouse Fixes

I recently started to have a little bit more free time at my disposal again and used it to tackle an annoying problem that plagued the mouse fixes for both Dead Space and Mass Effect. The change logs for both games are as follows:

Beta 0.5:

  • The fix should now correctly work with Origin versions from any region

This might not look very impressive, but fixing this issue involved tackling a more severe underlying problem with Origin. Although the fixes were advertised to work with Origin, they would show an unsupported version pop-up for some users, while working fine for others.

Games are often available on a variety of distribution platforms, which usually all come with their own executable file of the game. This means that even if the versions are practically the same, the executables of say the Steam version most likely will have a different layout compared to the Origin or GOG version. A game can also have multiple versions on the same platform. This is most often the case for games that are distributed with certain languages that are only available in some regions.

While other game fixes work on a more abstract level, fixes like the ones for Dead Space of Mass Effect hook into the game and need to know the specific locations (i.e. memory addresses) of functions or data to hook into. If the addresses are wrong, the game usually just crashes. For this reason, every version has to be supported separately by a fix. This is often not trivial, because a fix might rely on several addresses which all have to be determined individually for every version. This also presupposes that I have access to every version in the first place, which is often not the case. Additionally, this process usually has to be repeated every time a game is patched.

Fortunately, the number of different official versions is often rather small and the chances that an older game gets patched are often pretty slim. By restricting a fix to only support the latest, fully patched version it is usually feasible to cover most — if not all — official distribution sources.

However, as it turned out, Origin does not like to play ball with this approach. While Steam usually only provides multiple versions if they actually differ from a content point of view (e.g. languages or censoring), Origin seems to always distribute technically different version for every region, even if they are practically identical. It is hard to tell how many regions Origin uses, but I saw different versions for Western Europe, Eastern Europe, Northern Europe, North America, Russia and more.

Because it is not feasible to support all of them, the updated versions of the mouse fixes now use a pattern matcher to handle Origin versions. Because they are usually very similar, it is possible to search for certain memory patterns in the executable, instead of specifying the addresses directly.

This should hopefully be sufficient to properly handle Origin versions for all fixes in the future.

Mass Effect Mouse Fix

Download Sources


TL;DR

This fix makes Mass Effect use raw mouse input and removes the game’s mouse acceleration. It is easy to install and use and does not require any external configuration.

Quick start guide:

  1. Extract the file dinput8.dll to your main game folder. For example: "C:\Program Files (x86)\Steam\steamapps\common\Mass Effect\Binaries\"
  2. Start the game like you would normally, for example directly through Steam or Origin

Features

While the mouse controls are pretty responsive, the first Mass Effect suffers from mouse acceleration, which cannot be turned off via the ingame settings or with the usual approaches for other Unreal Engine 3 games. This fix removes the acceleration by acquiring raw mouse input and injecting it directly into the game’s input function.

Its features include:

  • Raw mouse input
  • No additional smoothing or positive/negative mouse acceleration
  • Configuration via the ingame settings as usual
  • Simple installation and usage without any external configuration

Instructions

Supported Versions

This mod is designed for the latest, fully patched versions of the game and might not work when used with older or otherwise modified executables.

  • Steam
  • Origin
  • Retail v1.02

Install

The mod does not make any permanent changes to the game or to Windows and can easily be removed.

  1. Extract the file dinput8.dll to your main game folder. For example: "C:\Program Files (x86)\Steam\steamapps\common\Mass Effect\Binaries\"
  2. Start the game like you would normally, for example directly through Steam or Origin

Uninstall

  1. Remove or rename the dinput8.dll from the folder of the game.

Known Issues

There are currently no known issues with the mod.

Additional Information

Antivirus Software

Since this mod consists of an executable DLL file that uses “hacking techniques” such as injection and hooking, it could be classified as malicious by antivirus software. In that case, it might be necessary to add an exception rule to the scanner.

If you lack the trust in random people on the internet — and I would not blame you — feel free to use a meta online virus scanner like VirusTotal to verify the file.

Loading Other Fixes/Mods/Injectors

To increase the compatibility with other mods or injectors that are using a wrapper DLL, this fix offers two methods for remote loading of additional files. Note that there might still be compatibility issues between the different fixes, mods or injectors that have nothing to do with the loading process.

File method:

The mod will load another dinput8.dll automatically if it has the name dinput8_Remote.dll. Just rename the DLL you want to load accordingly. Using this method will lead to an error if the renamed DLL is not itself a dinput8.dll.

Folder method:

The mod will also automatically load all DLLs regardless of their names in a dinput8_Remote sub-directory. Just create a corresponding folder in the install directory of the mod. This is the only way to load multiple (conflicting) files.

Contact And Support

If you like this mod and want to support the development or show your appreciation with a donation, you can find more information on my website. There you can also find out more about other mods that I have done and means to contact me if you have a question, want to provide feedback, bug reports and suggestions.

Version History

v1.1:

  • Fixed compatibility issues with certain mods and tools

v1.0:

  • The y-axis inversion setting now works as intended
  • Updated address system to increase compatibility with modified versions of the game
  • Added support for remote loading of additional DLLs to increase the compatibility with other mods (see Loading Other Fixes/Mods/Injectors)

v0.6 Beta:

  • The camera will no longer move when the player is in a menu
  • The fix will now respect the inversion setting of the y-axis

v0.5.1 Beta – Hotfix:

  • Fixed bug that caused the Steam and retail version to crash on start

v0.5 Beta:

  • The fix should now correctly work with Origin versions from any region

v0.4 Beta:

  • ~~The DLL can now also be renamed and used as xinput1_3.dll. This is to make the fix compatible with other fixes/mods that also use a dinput8.dll for loading~~ (This is can now be achieved via remote loading. See Loading Other Fixes/Mods/Injectors for details)

v0.3 Beta:

  • Patching a supported version to be large address aware no longer prevents it from being detected correctly. This is to ensure that the fix works with certain mods

v0.2 Beta:

  • Added support for retail version of the game

v0.1 Beta:

  • Initial release