Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remap POV-hat as LSTICK #5

Closed
Hexaae opened this issue Dec 16, 2019 · 12 comments
Closed

Remap POV-hat as LSTICK #5

Hexaae opened this issue Dec 16, 2019 · 12 comments

Comments

@Hexaae
Copy link

Hexaae commented Dec 16, 2019

I've bought an Hori Fighting Stick Mini (XInput device) and found some games that ignore this joystick movements because they are detected as POV-hat, and not as LSTICK for movements :(
Would be handy an additional XInput wrapper to just remap POV-hat to act as LSTICK...

@Hexaae Hexaae changed the title Remap LSTICK to POV-hat Remap POV-hat as LSTICK Dec 16, 2019
@samuelgr
Copy link
Owner

To be investigated for a future version.

@samuelgr samuelgr added this to the 1.1.0 milestone Mar 10, 2020
@samuelgr samuelgr removed this from the 1.1.0 milestone Jan 25, 2021
@samuelgr
Copy link
Owner

Fixed in v2.0.0. Please specify DigitalGamepad as the mapper type, and the d-pad will be mapped to X and Y axes.

@Hexaae
Copy link
Author

Hexaae commented Apr 15, 2021

Mmh, this doesn't seem to work with Jazz Jackrabbit 2 - The Secret Files... I tried everything...
XBox controller + buttons do work, but adding:
dinput.dll
dinput8.dll
winmm.dll (<-- game exe contains this)
with xidi.ini containing:

[Mapper]
Type = DigitalGamepad

[Log]
Enabled = yes
Level = 4

does nothing: directions of my Hori Fighting Stick Mini (DPAD) are ignored but buttons work fine.

@samuelgr
Copy link
Owner

I have Jazz Jackrabbit 2 so I tested with it as well. A couple of questions:

  • The configuration you provided should produce a log file. Could you please upload the log file?
  • If you use the Xbox controller to play the game, does the d-pad work? In DigitalGamepad mode it should work, but in the default mode it should not.

@samuelgr samuelgr reopened this May 12, 2021
@Hexaae
Copy link
Author

Hexaae commented May 18, 2021

The only log I've found (nothing on my dekstop) was in \Appdata\Roaming\Jazz2 (using Hori Fighting Stick Mini):
https://pastebin.com/vVuNUjNW

No, DPAD of my XBox One BT does not work, only LSTICK.

Maybe this game does not use dinput or winmm.dll as input device?
I could send you my game version (it's v.1.2.4) to test, maybe there's something unusual...? Please send me a private mail at this temp email address: jazz2tmp (at) incredibile.e4ward.com

@samuelgr
Copy link
Owner

But Xidi + DigitalGamepad does work with other games?

You're using another mod along with Xidi, right? It looks like a different mod might be interfering with Xidi being loaded at all, which is likely why you don't see any Xidi log show up on the desktop. I do not see any of the Xidi modules listed in the log you shared, and I also have v1.2.4 (The Secret Files).

@Hexaae
Copy link
Author

Hexaae commented Jun 26, 2021

Have to check again but I think so...

@Hexaae
Copy link
Author

Hexaae commented Aug 22, 2021

Doesn't work. Same with old Pitfall a Mayan Adventure (using winmm.dll browsing into the file with a hex-editor):
I put in the exe directory winmm.dll (32bit) + xidi.ini containing:

[Mapper]
Type = DigitalGamepad

[Log]
Enabled = yes
Level = 4

But directions of my Hori Fighting Stick Mini (XINPUT device using DPAD signals) are not detected. Buttons do work.
I can't find Xidi output logs either... It looks like it's not even loaded/used (!?)

Before you ask I do have Visual C++ installed:
image

@Hexaae
Copy link
Author

Hexaae commented Aug 26, 2021

Looks like winmm.dll in the exe dir won't get loaded/used at all... as I have no output log...
but have also to report that normal XInput XBox One BT device works without XIDI, even though browsing with a hex-editor these games exe files (Pitfall Mayan Adventure, JJazz2...) actually use winmm.dll (??? winmm.dll and XInput XBox One controller works fine?).
Only XInput Hori Fighting Stick Mini, which uses DPAD for directions does not work.

@samuelgr
Copy link
Owner

samuelgr commented Sep 6, 2021

So just to confirm, the fighting stick works with DigitalGamepad in some games, but for Jazz Jackrabbit 2 and Pitfall Mayan Adventure it appears the winmm.dll form of Xidi isn't being loaded at all?

@Hexaae
Copy link
Author

Hexaae commented Sep 11, 2021

Tested once again with ZXSpin emulator and it's exactly as you said. It also generated the log ( https://pastebin.com/1zDs9AQy ) with ZXSpin, but seems totally ignored from JJ2 for example...

@samuelgr
Copy link
Owner

If you have all the required runtimes installed and you tried both the 32-bit versions and 64-bit versions of Xidi (I suspect the 32-bit version is the one you want for these older games), then it might be the case that these games - or some mods you might be using with them - are messing with the standard process for loading winmm.dll, which is why Xidi is not being loaded.

For example, I was able to reproduce the same issue with a modded version of Final Fantasy VII (i.e. it ignores the Xidi winmm.dll file and loads the system version instead), and on the other hand my completely unmodded version of JJ2 works fine with Xidi's winmm.dll file.

I do plan to try to fix the winmm.dll loading problem, which is a separate issue tracked in #18. However, I will close this issue since it seems Xidi + DigitalGamepad does make the fighting stick work in games that are able to load it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants