NieR:Automata™

NieR:Automata™

View Stats:
Methanhydrat Dec 13, 2018 @ 11:30am
2
2
NAIOM v1.4.0 -- Now compatible with game version v1.1/patch 1
NAIOM (NieR Automata Input Overhaul Mod) is a mouse and keyboard mod for NieR: Automata. It includes fixing the mouse look by using raw input, adding a completely new crosshair aiming mode for side-scrolling and top-down view, as well as offering various non-standard keybindings, such as dedicated evade and auto-fire action.

/u/Kaibz, the main tester of the mod, has created a short video showing the differences, which you can find here.

More information below.

---

Download

Features

The NieR: Automata Input Overhaul Mod (NAIOM) aims to solve all keyboard and mouse related issues in the game. As many other rough PC ports, NieR was primarily designed with a controller in mind and internally maps keyboard and mouse input to gamepad controls. This leads to various issue, including negative and positive mouse acceleration, as well as weird controls in certain perspectives, e.g. when aiming in side-scrolling mode.

Its features include:
  • Raw mouse input without any acceleration or smoothing
  • Precise sensitivity configuration (calibrated for KovaaK's SensitivityMatcher)
  • Fixed camera movement in third-person perspective
  • New (optional) crosshair aiming mode for side-scrolling and top-down perspective
  • Completely rebindable standard actions to any key or button combination including additional mouse buttons
  • Non-standard keybindings, such as a dedicated dash/evade and pod fire toggle
  • Compatible with FAR/SpecialK mod (must be configured to not use dinput8.dll, see here[wiki.special-k.info])
Last edited by Methanhydrat; Aug 8, 2021 @ 2:28pm
< >
Showing 1-15 of 197 comments
Aemony Dec 13, 2018 @ 11:49am 
such as a dedicated dash/evade

:O

How does said feature work in detail? Does it emulate a gamepad or something? Basically I am sorta interested if it can be used to open the debug menu (Evade + Shortcuts) using a keyboard.
Methanhydrat Dec 13, 2018 @ 11:55am 
Originally posted by Aemony:
such as a dedicated dash/evade

:O

How does said feature work in detail? Does it emulate a gamepad or something? Basically I am sorta interested if it can be used to open the debug menu (Evade + Shortcuts) using a keyboard.

No, it does not emulate a gamepad. The dash is executed directly through the game's input system. It might be able to perform other actions, depending on how they are implemented. The input system is unfortunately kind of convoluted in the game and key/button states are checked at many different places, so I cannot say for sure right now whether what you want to do is possible. But there is always the option of adding additional functionality, if there's enough demand :)
Aemony Dec 13, 2018 @ 12:14pm 
This... this is great! Apparently the game doesn't open the debug menu[github.com] using the Evade + Shortcuts combo alone, so even though NAIOM executes the evade directly within the game, hitting these two when bound to a keyboard doesn't do anything (neither when using the regular Shortcuts key on Delete/End nor a rebound one).

Minor note: Disabling tap evade also disables evade when using a controller. You might want to warn about that.

Anyway, even tough disabling tap evade disables it while using a controller as well, the evade + shortcuts combo still works to open the debug menu using a gamepad, so clearly they haven't actually hooked that menu up to the actions themselves, but directly to the gamepad buttons.

Another minor note: You might want to fix the window size: https://images.aemony.se/sharex/NAIOM-GUI_2018-12-13_21-12-06.png

Anyway, this tool is great! When/if I ever play through the game again, I'll almost certainly use this to enable a better mouse+keyboard experience.
Last edited by Aemony; Dec 13, 2018 @ 12:15pm
Kaldaien Dec 13, 2018 @ 3:33pm 
Great work, if I may be so blunt, I'd like to repost something from my own thread here for your benefit:

...

I sort of wish it exported DLL ordinal #100 though, that's used for the guide button and if a XInput 1.3 or 1.4 DLL does not export this ordinal, it's potentially going to cause problems with other overlays like Steam or GeForce Experience.

Ordinal #100 = XInputGetStateEx [But it's not listed in the DLL by name]

The Unity engine and SDL both use ordinal 100 instead of XInputGetState, meaning this wrapper is kind of incomplete and while it works here, the author should really add this feature to make it functionally complete as an XInput 1.3 proxy.

Ordinal 100 takes a data structure with an additional DWORD at the end of it. I can offer my own code as an example:

Data Structures

Implementation of XInputGetStateEx
~Sn@ke~ Dec 14, 2018 @ 2:13am 
Really appreciated! :aahealth:
Iusnex Dec 15, 2018 @ 1:17am 
I tried out your mod, it works surprisingly well.
I noticed one problem though. When you bind evade to a button, you are unable to perform long sliding dodge. Should I make a video for that, or is it something you are aware of?
Methanhydrat Dec 15, 2018 @ 1:30am 
Originally posted by Iusnex:
I tried out your mod, it works surprisingly well.
I noticed one problem though. When you bind evade to a button, you are unable to perform long sliding dodge. Should I make a video for that, or is it something you are aware of?

Thank you for the feedback. I am aware of this issue and am trying to fix it as soon as I can.
Methanhydrat Dec 15, 2018 @ 1:48am 
Originally posted by Kaldaien:
Great work, if I may be so blunt, I'd like to repost something from my own thread here for your benefit:

...

I sort of wish it exported DLL ordinal #100 though, that's used for the guide button and if a XInput 1.3 or 1.4 DLL does not export this ordinal, it's potentially going to cause problems with other overlays like Steam or GeForce Experience.

Ordinal #100 = XInputGetStateEx [But it's not listed in the DLL by name]

The Unity engine and SDL both use ordinal 100 instead of XInputGetState, meaning this wrapper is kind of incomplete and while it works here, the author should really add this feature to make it functionally complete as an XInput 1.3 proxy.

Ordinal 100 takes a data structure with an additional DWORD at the end of it. I can offer my own code as an example:

Data Structures

Implementation of XInputGetStateEx

I was wondering for some time now what all these unnamed exports were, but since I didn't find any documentation, I thought they are probably not that important. It is kind of interesting that an extension that is kind of relevant is not really officially described anywhere. Apparently there are a lot more undocumented functions like that. As you correctly pointed out, in this cases it doesn't really matter, because NieR is not using any of them, but I will still extend the wrapper with what I can, because it might be relevant for future projects.

Thank you very much for the hint and also for the FAR mod and all the other stuff you do for various games :)
omnius42 Dec 15, 2018 @ 4:53am 
Nice mod, and well... your mod just became famous:
https://twitter.com/yokotaro/status/1073914653741178880
GPUnity Dec 15, 2018 @ 5:35am 
This is really good! Put in probably 10 hours with this mod active.

Unfortunately, i've been getting crashes since installing the KM mod for N:A, usually every two hours in-game. These are the logs from my last crash folder:

crash: https://pastebin.com/vY1NRG0G
dinput8: https://pastebin.com/GHtWaRK4
modules: https://pastebin.com/rKj4mizY

The game just suddenly closes as if i pressed alt+f4, no "not responding" indicators. Additionally, the crosshair/aiming can be a bit off at times: https://imgur.com/a/0D34cfO
I also don't get a crosshair during hacking segments, and mouse movement also doesn't work properly in those segments.

I hope these issues can be sorted, i'm loving this mod so far. Combat has never felt so good.
Methanhydrat Dec 15, 2018 @ 5:43am 
Originally posted by GPUnity:
This is really good! Put in probably 10 hours with this mod active.

Unfortunately, i've been getting crashes since installing the KM mod for N:A, usually every two hours in-game. These are the logs from my last crash folder:

crash: https://pastebin.com/vY1NRG0G
dinput8: https://pastebin.com/GHtWaRK4
modules: https://pastebin.com/rKj4mizY

The game just suddenly closes as if i pressed alt+f4, no "not responding" indicators. Additionally, the crosshair/aiming can be a bit off at times: https://imgur.com/a/0D34cfO
I also don't get a crosshair during hacking segments, and mouse movement also doesn't work properly in those segments.

I hope these issues can be sorted, i'm loving this mod so far. Combat has never felt so good.

Thank you very much for the feedback. The crashes might be due to situations that are not yet properly handled by the mod. Were these specific situations where the crashes occurred?

I will look into the crashes and the hacking issue as soon as I can.
GPUnity Dec 15, 2018 @ 5:57am 
I think it usually happens when the game's loading a new area, though it doesn't always happen. It feels more like there's a time limit before a crash will occur again. Maybe a ram leak is happening that causes the issue? I have FAR's OSD active now, so i'll let you know if i notice anything.
Aemony Dec 15, 2018 @ 7:07am 
Originally posted by GPUnity:
I think it usually happens when the game's loading a new area, though it doesn't always happen. It feels more like there's a time limit before a crash will occur again. Maybe a ram leak is happening that causes the issue? I have FAR's OSD active now, so i'll let you know if i notice anything.

For troubleshooting purposes you can also add "Enable=false" under [Input.Gamepad] in FAR's dinput8.ini file. This will prevent FAR from hooking XInput. Note that this will also disable navigating the FAR control panel using the gamepad.
Methanhydrat Dec 15, 2018 @ 8:12am 
I just updated the mod to fix a problem with the dedicated evade/dodge binding.

v1.1:
  • The dedicated dodge binding now has the same distance and duration as the double tap version
GPUnity Dec 15, 2018 @ 9:35am 
There's one bit in this game where i keep getting a crash, spoilers if you haven't started route b: As 9S when exiting the tunnel to reach the amusement park. The first conversation between pods 042 and 153 occurs. After that conversation, the screen is meant to fade to black, then fade back to gameplay. Instead of going back to gameplay, it stays black for a few seconds then closes. I tried again with my Xbox controller disconnected, and with disabled xinput hooking in FAR. I had to remove this mod's files temporarily to get past this section. I managed i think 4 crashes in this one specific spot with the mod.
< >
Showing 1-15 of 197 comments
Per page: 1530 50