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

D-Pad defect on some controllers (PS4...) #110

Closed
tbartel opened this issue May 21, 2020 · 17 comments
Closed

D-Pad defect on some controllers (PS4...) #110

tbartel opened this issue May 21, 2020 · 17 comments

Comments

@tbartel
Copy link

tbartel commented May 21, 2020

After installing Memoria, my Xbox 360's D-Pad no longer works to control the characters or to navigate the UI. This happens even if I disable Analog in the .ini file.

@Albeoris
Copy link
Owner

https://www.nexusmods.com/finalfantasy9/mods/3?tab=bugs
This is the same problem, right?

@snouz
Copy link
Collaborator

snouz commented May 21, 2020

I cannot reproduce the problem.

I tested with both an official 360 controller and official xbox one controller on W10, and on both, the D-pad is working in the game and in menus.

@tbartel
Copy link
Author

tbartel commented May 21, 2020

@Albeoris I'm not sure if it's the same bug, though it doesn't sound like it, as I'm not having any issues with swapped buttons.

@snouz At least one other person has reported having this same issue in the Moguri forum thread; see point 2 here.

For what it's worth, I'm using Steam to launch the game and have the overlay enabled. Essentially, I've left the default Steam configuration, but perhaps Steam's built-in controller mapping functionality is somehow involved?

Disabling analog via the following setting does not resolve it:

[AnalogControl]
Enabled = 0

@Albeoris
Copy link
Owner

Does the Steam Overlay in the game work correctly for you?

@e2zippo
Copy link

e2zippo commented May 24, 2020

I have the same problem, even though analog is disabled in memoria.ini my dpad isn't working.
I have a 8bitDo SN30 Pro + and I use Xinput.
I can't access steam overlay either.
And analog control is a bit weird, the character walks by himself whenever I push any direction.

Edit: By going in to Steam Big Picture mode > Controller and disabling Xbox Configuration Support the dpad starts working. But I use that settings in many other games, so it would be nice if it's possible to get it working.

@snouz
Copy link
Collaborator

snouz commented May 24, 2020

Glenn Seto:

"The d-pad issue (which I've seen people comment may also affect shoulder buttons?) went away for me, when I configured the game's properties in Steam, disabling the Steam Overlay and forcing Per-Game Input Settings on"

@e2zippo
Copy link

e2zippo commented May 25, 2020

Confirmed that disabling the Steam Overlay and forcing Per-Game Input Settings on fixes it.

@tbartel
Copy link
Author

tbartel commented May 25, 2020

I can confirm the above fixed it for me as well. Closing this as a result.

@tbartel tbartel closed this as completed May 25, 2020
@snouz
Copy link
Collaborator

snouz commented May 25, 2020

Why do you close it? the problem is apparently still present and this is just a workaround

@e2zippo
Copy link

e2zippo commented May 25, 2020

Yeah, workaround shouldn't be needed. It's nice that there is a workaround but issue still remains.

@sepam21
Copy link

sepam21 commented Jun 6, 2020

I suspect the reason is Scaled Battle UI.
Can somebody check it out?

@e2zippo
Copy link

e2zippo commented Jun 6, 2020

I suspect the reason is Scaled Battle UI.
Can somebody check it out?

I have the issue without the Scaled Battle UI.

@snouz snouz changed the title D-Pad no longer works after installation D-Pad defect on some controllers (PS4...) Jun 21, 2020
@snouz
Copy link
Collaborator

snouz commented Jun 27, 2020

Maybe we can use this to help fix this problem?

https://www.reddit.com/r/Unity3D/comments/1syswe/ps4_controller_map_for_unity/
https://github.com/pbhogan/InControl

Don't know if I'm able to do that, and I don't own a ps4 controller, but if someone can...

@Tirlititi
Copy link
Collaborator

I have a PS4 controller and looked at it, and it really seems that the "work-around trick" is the only proper solution. For what I understand:

  1. The "DPadX/Y" axes can only be used if they were configured in UnityEditor, which they were not, so there's no way to get them (I've tried "UnityEngine.Input.GetAxis" with many names without any luck),
  2. The "Gamepad" class should have been the way to do it, but the Unity version used by the game doesn't have it (apparently, Unity v3.5 misses it or have it somewhere else). Instead, they use the API from XInputDotNetPure.dll that also has a GamePad class but simpler (no DualShockGamepad subclass for instance) and doesn't recognize the PS4 controllers ("XInputDotNetPure.GamePad.GetState(PlayerIndex).IsConnected" returns false whichever PlayerIndex is given; the analog stick directions are properly catched but using "UnityEngine.Input.GetAxis" instead).

I am afraid that having a fix without any configuration from the user's end would require upgrading the game's UnityEngine or XInputDotNetPure.

@barkermn01
Copy link
Contributor

@Tirlititi I know this is old but the problem is still there and I have problems with the PS5 controller as well, apparently we can remove XInputDotNetPure and use Incontrol instead.

https://forum.unity.com/threads/incontrol-input-and-cross-platform-controller-support-for-unity-made-easy.257619/

@Tirlititi
Copy link
Collaborator

Requires Unity 4.5+

Unfortunatly, the game was compiled with Unity 3.5.

The main solution for using controllers properly is to enable "Fix Steam Overlay" on the launcher, which allows the player to use Steam's custom controller configuration (without the overlay, that Steam feature cannot be used). With that external way to remap the buttons, a proper configuration can be done. Now every button and pad works perfectly fine on my end.

Note that the option "Fix Steam Overlay" must be disabled when updating the FF9_Launcher.exe; it is best to disable that option, then run the patcher then re-enable the option.

I'm afraid the workaround solutions are still the only solutions.

@snouz
Copy link
Collaborator

snouz commented Feb 19, 2024

Must be solved by #261 according to SamsamTS

@snouz snouz closed this as completed Feb 19, 2024
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

7 participants