Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Topic on Talk:Final Fantasy XIII

Anonymous (talkcontribs)

The reason this is here is because the Steam page advertises "A game controller using Xinput is recomended for this game" for the system requirements. Otherwise it wouldn't be an issue.

EDIT: Forgot to mention that it breaks links with XIII-2 article, which has the same thing.

Mirh (talkcontribs)

You have a point.

Though, the "solution" and the wording of the explanation in the issue fixed section is quite bad.

Especially the "basic=DirectInput" part (I mean, aside of the wrong simile, it's not like you find a driver on the street)

I know it may be long to explain, but that's why we have Glossary:Controller page (whatever what is written in this fix mean)

Anonymous (talkcontribs)

Point taken. TBH I'm not 100% sure how to put it into easy to understand layman terms - I'll try my best to explain it here, maybe this is too technical and not "issue-driven" enough, but I'll give it a shot. Typically there are 2 drivers for XInput controllers: a XInput driver and a HID driver.

For example, a wired Xbox 360 controller will having the following in Device Manager in Windows 8:

1) Human Interface Device->HID-compliant game controller: This handles Kernel level HID calls and associated APIs including RawInput (and the depreciated DirectInput which wraps around RawInput).

2) Xbox 360 Peripherals->Xbox 360 Controller for Windows: This handles XInput calls.

Each driver has its own options/preferences. With XInput controllers a HID driver isn't required, and even for those with one it can be disabled or even uninstalled and still have it functional for apps using XInput. This leads to the issue at hand where one driver or the other gets disabled, removed, or in rare cases never installed to begin with.

If someone did understand the above, the challenge is to put in layman terms, like "Make sure you have a HID driver for your controller installed and enabled".

Mirh (talkcontribs)

Whatever your source for these info was, it wouldn't be bad to have similar behaviors explained in the glossary:controller talk page

Anyway, what I wanted to say is that you don't usually just "install basic drivers" for controllers. You only have one (SCP driver and XBCD aside)

Garrett (talkcontribs)

The game is essentially working as intended. x360ce has no effect because it only targets those specific DLLs (it does not work with DirectInput or raw input methods). I have replaced the mentions with a note under system requirements.

Anonymous (talkcontribs)

I'm not sure what x360ce has to do with this, as I was talking about Windows driver issues (if you didn't understand my post that's fine). Also, was the removal of the controller recommendation from the table itself intentional? Just wondering. I'll try to roll with this and change XIII-2 as well.

EDIT: I was just wondering if you understood the issue (admittedly involved) as you keep attributing it to something else like x360ce and it's puzzling me, because as I mentioned above if it's recommending an XInput controller and doesn't use XInput it will use the wrong Windows drivers and thus not working as intended causing driver usage issues. It's OK if nobody gets it, I'm being verbose anyway.

Garrett (talkcontribs)

The Steam topic from the reference was regarding x360ce. Essentially, this is not a game-specific issue.

I removed the 360 controller recommendation from the system requirements since it led to this expectation. I'll redo it as a note instead.

Anonymous (talkcontribs)

Amusingly this is somewhat game-specific to FFXIII and FFXIII-2, and the source I referenced explains why (Knurek on NeoGAF), though you can test it yourself in a variety of ways including the utilities on PCGW: "The fact that FFXIII team wrote it's own XInput implementation, instead of using readily available xinput.dll, really shows just how much SEJapan doesn't get PC developing."

Knurek is saying that instead of using the XInput DLL or XInput's driver interface, SEJ rolled their own "XInput implementation" (in this case using DirectInput) according to the documented button layout for Xbox controllers without realizing they didn't actually implement XInput at all because:

1) DirectInput uses the controller's HID driver path (outside of hooks it's similar to RawInput's HID interface in XP+), while XInput runs on a separate driver path (the Xbox 360 controller drivers supplied by Microsoft don't implement vibration or the LT+RT buttons in the HID path, for example).

2) Various third party programs rely on XInput DLL hooks to provide alternative behavior.

You can still use XInput without the high level interface in xinputXX.dll, though nobody in their right mind does so because of #2 and the pointless added development time.

Then again, this appears to be flying past everyone's heads here (it's not complicated at all to me, but like I mentioned I have a decent amount of wingamedev knowledge which appears to be making it difficult to explain in a simplified manner), so I'll still leave it as is and just make a correction to your version.