KrossX / Durazno

XInput wrapper that allows controller customization
MIT License
202 stars 21 forks source link

Shadow of Mordor not working #9

Closed Lecreuset closed 7 years ago

Lecreuset commented 8 years ago

Thank you so much for this! Like the other user, I also signed up just to say how awesome it was to be able to play Shadow of Mordor, and not feel like I wasted my money on a game that wouldn't invert both axes. However, at the beginning of this month, it seems to have stopped working out of the blue. I'm unsure if it was a game update, or something with Steam. Truthfully I was hoping I was doing something stupid which made it stop working, but that doesn't seem to be the case. I realize you don't know me, or owe me anything... I was hoping if you had the free time if you could give me a hand of some sort with it. If there's any specific information that might help beyond the fact I use the Rock Candy XBox 360 Wired USB Controller, I'd be glad to make mention. I tried to use X360Ce to avoid bothering you with this, and while it fixed the inversion, the triggers were boned. At any rate, even if nothing can be done, thanks for helping me get some time into the game!

KrossX commented 8 years ago

Alright, I'll use this instead of the steam forum as I get email notifications.

You mentioned the tool worked with the default filename. That's alright, as the tool only works with that name. Then x360ce works, so that means the wrappers in general seem to still work.

Just making sure of having the ini file made, and then the dll renamed to the one used with x360ce should've done the trick already. Are you using the 64bit or 32bit version of x360ce?

Lecreuset commented 8 years ago

Yes I tried the 64bit version of x360ce after I noticed the controls weren't inverted anymore when I tried to play. Though it fixed the inversion problem, the triggers suddenly wouldn't work properly. (In Shadow of Mordor, the left trigger brings you to bow/arrow firing mode, and while depressed you can charge/fire shots with the right trigger.)

In the beginning with Durazno I had the exe, dll (renamed), and ini file in the game exe folder. It just seemed to have oddly changed back when I tried to play at the beginning of this month.

KrossX commented 8 years ago

Can you make sure to be using the 64bit version of Durazno as well? Make sure the settings work on the test tab before renaming the dll.

Lecreuset commented 8 years ago

Absolutely. I went into the Durazno\x64 folder, and copied those files to my ShadowOfMordor\x64 folder. The settings worked on the test tab. I renamed the dll, loaded the game, and nada.

KrossX commented 8 years ago

Can you zip me that "ShadowOfMordor\x64" folder? I'll need to analyze that. Upload it somewhere and post the link please.

Lecreuset commented 8 years ago

Absolutely can. I wanted to try it with Skyrim also. The ini/dll just go in the folder where the game's executable is? Also, aside photos, I've never really had to upload much. Hopefully this'll work. Link.

KrossX commented 8 years ago

That worked, thanks. I'll let you know if I find something from it.

And yes, all you need is the dll and the ini for the settings. The tricky part can be finding out what dll name the game requires.

PS: You can delete that from your Dropbox now.

Lecreuset commented 8 years ago

Apologies as I forgot to zip it. Thank you!

KrossX commented 8 years ago

No problem, you can dowload it as a zip package from Dropbox.

I haven't found anything odd with the game as it does appear to load the durazno dll without issue. To see what happens ingame, I made this dll that has some logging. Durazno Test

Keep your settings, run the game, use the controlller and exit. See if the duranzo.log file is there and attach it here. Also, when you say that nothing happens when using Durazno, the gamepad still works right? Just not the customization?

Lecreuset commented 8 years ago

This is the link to the log file on Dropbox.

This is the text in the log file.

== DURAZNO LOG BEGIN == XInputGetState : (0) durazno_init LoadCustomDLL SUCCESS durazno_shutdown == DURAZNO LOG CLOSE ==

Lecreuset commented 8 years ago

The gamepad (Rock Candy XBox 360 Wired USB Controller) still works, just no inversion/customizations from Durazno.

KrossX commented 8 years ago

It's like it's used once then never again. The game doesn't like my wrapper, then just ditches it. =(

New file, same test. Durazno Test 2

Lecreuset commented 8 years ago

Log File Link

Log Text: == DURAZNO LOG BEGIN == durazno_init LoadCustomDLL : durazno_init : SUCCESS, C:\WINDOWS\system32\XINPUT9_1_0.dll XInputGetState : (0) SUCCESS durazno_shutdown == DURAZNO LOG CLOSE ==

KrossX commented 8 years ago

Dang it. I have no idea why it suddenly stops working. I might be able to make code some testing application based on the game files you sent me, worth a try.

So far, consider the game unsupported. =S

Lecreuset commented 8 years ago

Okay. It was working wonderfully until February. I've played about 12 hours of the game with it working through January. I know Steam had a few updates, and my games are set to update through Steam, but I doubt they're related to that.

Lecreuset commented 8 years ago

I'll be out of town a few days to a week or so. If this is something you might pursue further, if there's anything I can do to help, please lmk. ^_^

KrossX commented 8 years ago

Surething. I'll let you know if I have something to test.

KrossX commented 8 years ago

I haven't been able to make a test case. I updated Durazno a bit before, I doubt it would make a difference but give it a try please.

Other than that, I have a few things that might give enough information. Reaching a gameplay point then exit, one would be using 360ce since it worked for you but with logging enabled; another one, would be using ApiMonitor with everything enabled while using Durazno and posting the capture here. Let me know if you're interested.

Lecreuset commented 8 years ago

I'll download it and give it a go!

As far as the other ideas go, glad to give them a try.

Lecreuset commented 8 years ago

With the new one I've downloaded, it doesn't show the inversion in the test area even after clicking the invert X and Y on the right stick. -- It also didn't work in-game.

KrossX commented 8 years ago

I think it's fixed now. It was an issue in the GUI, so the wrapper should've worked (or not worked) the same.

Alright, so for the extra logs you already have x360ce so just enable logging or put Log=1 in the INI. Get to a gameplay point and exit, post the log in here.

As for ApiMonitor, you can get it from here: API Monitor and just get the v2 portable one. Make sure to be offline while doing this, as I dunno if it could be detected as a cheat. Use the x64 version, enable all the things to trace and use "Monitor new process" to run the game. While using Durazno reach the same point as the previous test, save the capture (File -> save) and post it here (big file warning).

Lecreuset commented 8 years ago

Excellent. I'll be home this weekend, so I'll get on that ASAP. Thank you!

KrossX commented 8 years ago

Can you give this build a try please? durazno_test3

Beware of error messages.

Lynnifer commented 8 years ago

Here's my Shadow of Morder/x64 folder.

When I rename the dll to xinput9_1_0.dll and reopen the application to look at the test tab, the upper area shows no movement of the stick at all, and the bottom area shows uninverted movement.

KrossX commented 8 years ago

Thanks, and that's normal.

The application only loads the default dll. The idea was to just use the program to make the ini then copy the ini/dll and do the necessary renaming.

KrossX commented 8 years ago

@Lynnifer I could not reproduce it. Can you please test extracting this files into your Mordor\x64 folder? Left stick should behave inverted.

Lynnifer commented 8 years ago

Neither of the sticks were inverted. I opened the configuration settings and changed all of the controllers to also invert the left stick. Also didn't work.

KrossX commented 8 years ago

I am clueless about this. I had hoped a game update changed the behavior to make Durazno no longer work with it, but nothing odd happened on my test.

There should be a Durazno.log file being created, delete it. Then please replace the files again with those given in the previous post and test again. Please post here the contents of the new log file.

Lynnifer commented 8 years ago

= Durazno Log Opened = DllMain: DLL_PROCESS_ATTACH XInputLoadLibrary: C:\WINDOWS\system32\XINPUT9_1_0.dll XInputGetProc: XInputGetState

KrossX commented 8 years ago

Thank you very much. I'll try to make some better log messages on the weekend.

Lynnifer commented 8 years ago

Thanks so much for trying to fix this. I'd love to play the game someday. :)

KrossX commented 8 years ago

How about giving Xinput Plus a try? I never tried it, but might just work. Let me know if it works please,

Lynnifer commented 8 years ago

It worked! Thank you so much for suggesting it.