Next Generation Emulation banner

1 - 20 of 20 Posts

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #1 (Edited)
Various x360ce Guides by ResoluteSpider5

1. x360ce Basic Overview / x360ce.ini Manual
2. x360ce Internet Database Functions
3. X360ce Problems With Games
4. Possible Mappings With x360ce
5. x360ce 64-Bit Libraries Tutorial
6. If x360ce.com Is Offline
7. Introduction to Input Hooking [InputHook]
8. Other x360ce Questions
________________________________________________________________________

x360ce Libraries Tutorial at http://ngemu.com/threads/x360ce-libraries-tutorial-by-resolutespider5.155310/ ( formerly http://forums.ngemu.com/showthread.php?t=155310 )

x360ce App Tutorial at http://ngemu.com/threads/tutorial-by-resolutespider5.155011/ ( formerly http://forums.ngemu.com/showthread.php?t=155011 )


________________________________________________________________________

x360ce Basic Overview
by ResoluteSpider5.

Overview

x360ce (XBOX 360 Controller Emulator) is an emulator that allows DirectInput-only controllers (i.e. many gamepads, joysticks, steering wheels, etc.) to be used with XInput-only games and applications. For more details, see background at http://ngemu.com/threads/tutorial-by-resolutespider5.155011/

The basic scheme of x360ce is as follows:
  • All games have a main executable file, which is also the name of the process. For example the game Bastion has "Bastion.exe".
  • The main executable file is in a folder somewhere. For example Bastion.exe, on my system, is in the “C:\Program Files (x86)\Steam\steamapps\common\Bastion” folder.
  • It is simplest to put the x360ce files in the folder containing the main executable file.
Then x360ce should work for your game! But with many games, including Bastion, gamepads also need to be enabled within the game itself.

x360ce files

They can all be put in with the folder with the game's main executable. For x360ce emulation they MUST include:
  • xinput1_3.dll : x360ce Library file (may need to be renamed or cloned as xinput1_2.dll, xinput1_1.dll or xinput9_1_0.dll for certain games).
  • x360ce.ini : x360ce Configuration file (contains settings for the Library).
All of the x360ce files are standard files, except for x360ce.ini. This needs to be created and edited. This is the main purpose of x360ce.exe (x360ce App). Additional purposes of x360ce.exe include: (a) to test the gamepad setup; (b) create a xinput1_3.dll file (but as this may be outdated, it may be bettter to use the one from the library download instead, see my Libraries tutorial); (c) clone xinput1_3.dll as xinput1_2.dll, xinput1_1.dll or xinput9_1_0.dll.

Optional x360ce files (can be put in folder with Library file):
  • x360ce.exe : x360ce App file, not needed for emulation, but for creation and editing of x360ce.ini. See above for details.
  • x360ce.gdb : x360ce Game Database file, RECOMMENDED to be included always. Get from the Libraries download.
  • dinput8.dll : x360ce Loader file, needed VERY RARELY for certain games. Get from the Libraries download.
  • x360ce.sample.ini, LICENSE.txt, LGPL.txt, and ReadMe.rtf : not normally needed.
Tutorials

Probably the easiest tutorial is at: http://www.umnotablogger.com/gamebo...ntroller-emulate-the-xbox-360-controller.html

After that, look at the following:
Or Google: x360ce tutorial.

If you still have problem you can post on the forum. Try to describe the problem in as much detail as possible; the more details you provide, the more likely it is that someone can help you.

________________________________________________________________________

x360ce.ini Manual

On the suggestion of Tapeq I have written a x360ce.ini (x360ce Configuration file) Manual. It might be helpful if you can't get the x360ce App to work, and needed to write a configuration file from scratch. Or for some other reason.

I have attached it as a PDF. Also, you should be able to access it from my Google Drive at https://drive.google.com/folderview...&usp=sharing&tid=0Bwwbd67F2GPBb05HRDlPUDJJRWc .

Any suggestions or corrections are welcome.

WARNING: UNLESS YOU ARE INTERESTED IN THE STRUCTURE OF THE X360CE.INI FILE, THIS COULD BE BORING! I think most people are best off looking at my tutorials really ;)
 

Attachments

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #2 (Edited)
x360ce Internet Database Functions
by ResoluteSpider5 V2 August 2013


x360ce maps the controls of a DInput (i.e. standard PC) controller to that of a virtual x360 controller. One problem with x360ce is that different controllers need different mappings. This is mainly because the controls on DInput gamepads can vary.

The x360ce App has a useful function whereby you can download the settings for a particular controller from a x360ce Internet database. Each controller setting is identified by x360ce by a number called a SID (Setting Identifier). Each SID corresponds to a different gamepad setting.

Some definitions I've used for this guide
  • GUID: Globally Unique Identifier, a 32-digit hexadecimal number used by Microsoft. Specifies a particular property, for example a particular controller model. This number would then be used by Microsoft only for that controller model. For example: 01120f30-0000-0000-0000-504944564944.
  • Product Name: the product name for a particular controller model reported by DInput. For example Dual Analog Pad.
  • Product GUID: a GUID for a particular controller model.
  • Instance GUID: a GUID based on a Product GUID of a controller, and the GUID of a particular computer.
  • SID: Setting Identifier. An eight digit hexadecimal number used by x360ce to identify a particular controller set-up. For example 880A5751. Using this number x360ce can load the correct settings for a particular controller. Some models of controller might share a SID if they have an identical set-up of DInput buttons and axes etc.
On Start-up

On start up of the App (x360ce.exe) the following messages come up if it can't find the Configuration File (x360ce.ini) and the Library (xinput1_3.dll).
  • “x360ce.ini was not found. Do you want to create this file?” Press Yes.
  • “xinput1_3.dll was not found. Do you want to create this file?” Press Yes.
Then “New Device Detected” and Product Name of your controller come up. “Search automatically for settings” and “Search the Internet” are selected by default. Then press Next.

The App then searches the x360ce Internet Database for the Instance GUID for your controller. If the Instance GUID is found a corresponding SID for your controller is downloaded. The reason for this is that through the “Settings Database: My Settings” tab of the App, an Instance GUID can be tied to one or more controller SIDs.

If this is not found, SIDs for a corresponding controller Product Name are downloaded. Each Product Name is associated with one or more SIDs. If it is a common Product Name like Dual Analog Pad quite a number of SIDs might be downloaded. The SID with the most users is selected.

Settings Database: My Settings

Your current SID can be saved to the Internet. The advantage of doing this is that, based on your Instance GUID, your SID can be downloaded for other games in different folders. So if you open the App (x360.exe) in a different folder to create a x360ce.ini file, the App can look up your Instance GUID and download the SIDs you have saved automatically.

When x360ce.exe saves your Instance GUID to the Internet, it associates it with a SID. It also associates it with the Product Name of your controller, and a File Name / Product Title, which is based on the file name and product title of an executable file found in the folder. Which executable file is used can be changed with the Product / Game Name drop-down menu.

You can load a saved SID by highlighting the correct SID and pressing Load. You can delete previously saved SIDs from the Internet database by highlighting and using the Delete button. The Save button saves another SID for your particular Instance GUID to the Internet. Refresh: refreshes the list of saved SIDs from the Internet.

Settings Database: Global Settings

The App can download from the Internet a list of possible SIDs for your controller. The SIDs it downloads are mostly based on the Product Name of your controller, e.g. “Dual Analog Pad”. It also lists number of Users: this is the number of saved Instance GUIDs that are associated with a particular SID.

If you sort them by number of Users you can see the most popular SIDs for people with the same Controller Product Name as you. This is useful if you have the wrong SID for your controller: the right SID for your controller will likely be one of the more popular SIDs listed.

To Load a SID, double-click on whichever SID you choose, and click Yes. There is also a Refresh button to download the list of SIDs again.
 

Attachments

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #3 (Edited)
X360ce Problems With Games
By ResoluteSpider5 V3

If you have a problem getting x360ce to work with a game, you should first try reading the stickies at http://ngemu.com/forums/x360ce.140/ . If you still have problem you can post on the forum. Try to describe the problem in as much detail as possible; the more details you provide, the more likely it is that someone can help you.

Recommended Details To Post To Forum

R1. What is the full game title? What is the main executable file? Is x360ce in the same folder?
R2. Which x360ce Library (=xinput1_3.dll) version are you trying? Is it 32-bit (=x86) or 64-bit (=x64)?
R3. Which x360ce Library filenames did you try?
R4. Which Windows version are you using? Is it 32-bit or 64-bit?
R5. What gamepad did you try? Which driver does it use?
R6. Attach your x360ce.ini
R7. Attach a log
R8. Is your controller set-up with x360ce?
R9. Can you get x360ce to work on any other games? Also, does the game work OK without x360ce?
R10. Is the game set-up for controllers?
R11. Do you fill all of the x360ce Requirements?

R1. What is the full game title? What is the main executable file? Is x360ce in the same folder?
e.g. Bastion. x360ce should normally be in the folder with the main executable. If you want to find the name: CTRL-ALT-DELETE > Start Task Manager > Applications > right-click icon of game > go to process. e.g. Bastion.exe *32 (32-bit executable).

R2. Which x360ce Library (=xinput1_3.dll) version are you trying? Is it 32-bit (=x86) or 64-bit (=x64)?
Right click on the icon > properties > details. 32-BIT LIBRARIES ARE NEEDED FOR ALMOST ALL GAMES, EVEN ON 64-BIT WINDOWS. For example R766 (=3.4.0.766) 32-bit.

R3. Which x360ce Library filenames did you try?
The default is xinput1_3.dll, but some games need xinput1_2.dll, xinput1_1.dll or xinput9_1_0.dll. An easy way to rename is: in x360ce.exe, go to Options > Installed Files, and tick the required box.

R4. Which Windows version are you using? Is it 32-bit or 64-bit?
Control Panel > System and Security > System. For example Windows 7 Home Premium SP1 64-bit.

R5. What gamepad did you try? Which driver does it use?
For example Saitek P380. Search devmgmt.msc for device driver, e.g. Microsoft HID-compliant game controller 6.1.7601.17514.

R6. Attach your x360ce.ini
Attach your .ini file to a forum message. Click More Options, and then Upload a File

R7. Attach a log
Activate logs by changing Log=1 in the [Option] section of x360ce.ini; or in x360ce.exe go to Options > Enable Logging. The log will normally be found in “C:\ProgramData\x360ce\logs”, except with Windows XP, where it will normally be found in “C:\Documents and Settings\All Users\Application Data\x360ce\logs”. Disregard logs with filenames beginning with x360ce, what you need is a log with a filename beginning with the game executable name.

R8. Is your controller set-up with x360ce?
In x360ce.exe, on the Controller 1 tab: if there is a green square next to Controller 1, and the picture of a XBOX 360 controller is coloured, your controller has been recognised. Test your set-up. When you press a button on your controller, a green indicator should light on the picture of an XBOX 360 controller. If it is wrong, edit it with the pull-down selector for each button.

If there is a grey or red square next to Controller 1, and the picture of a XBOX 360 controller is greyed, there is a problem. Go to Controller 1 > Advanced and make sure Pass Through is NOT ticked. Also, make sure you are using a 32-bit Library.

If have problems setting up your controller with x360ce, test it is OK under DInput. Go to Start Orb > Search > joy.cpl > Properties, to test and calibrate your controller.

R9. Can you get x360ce to work on any other games? Also, does the game work OK without x360ce?
If you can get x360ce to work with other games, you basically know how to use it. If the game is OK without x360ce, then the game installation is probably fine.

R10. Is the game set-up for controllers?
Often games need to have controllers enabled within the game itself. Commonly this is something like, in the game, Options > Controls > Gamepad > Enable.

R11. Do you fill all of the x360ce Requirements?
See Other x360ce Questions Q1.
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #4 (Edited)
Possible Mappings with x360ce
By ResoluteSpider5 V3 September 2013


Mapping to the XInput D-Pad (a.k.a. POV Hat, Direction Pad, etc.)

App refers to x360ce Application (x360ce.exe). “>” means “maps to”.
  • Obviously the normal mapping is DInput D-Pad > XInput D-Pad. This works as long as D-pad POV=1 is in .ini file. To set it in the App, set the drop down menu for D-Pad to D-Pad 1.
    It is not possible to set e.g. Up to Down.

  • DInput Digital Buttons > XInput D-Pad. Need D-Pad POV=0 for this to work, then you have e.g. D-pad Down=3 for button 3 to map to XInput D-Pad down. To set this in the App set the D-Pad drop down to <empty>. Then set e.g. D-Pad Up drop down menu to Buttons > Button 2.

  • DInput Axes and Sliders > XInput D-Pad. Although it is possible to set this in the App, this does not work.

  • DInput Left Analog Stick > XInput D-Pad. See Axis to D-pad in the controller section. In the App Controller 1 > Advanced > Axis to D-Pad. This works, but not very well with current x360ce Libraries. In particular Left and Right are inverted, and you can't change this.
Mapping to the XInput Analog Sticks (Left and Right)
  • DInput Axes or Sliders > XInput Analog Stick. This is the normal way of setting up x360ce. e.g. in the Stick Axis X drop down menu set to Axis 1 etc.

  • DInput Digital Buttons > XInput Analog Stick digital direction. This can be done by setting e.g. Stick Up drop down menu to Button 2.

  • DInput D-Pad, Axes or Sliders > XInput Analog Stick digital direction. This can be set in the App but does not work with current x360ce Libraries.
Mapping to the XInput Digital Buttons

Digital buttons are X, Y, A, B, Left and Right Bumpers, Start, Back, Guide, Stick Buttons (L3, R3)
  • DInput Buttons > XInput Digital Buttons: can be set up with the drop down menus for each button.

  • Although you can set it in the App, Axes, Sliders or D-Pad buttons can not map to XInput digital buttons.
Mapping to the XInput Analog Buttons, i.e. Left and Right Triggers
  • DInput Digital Buttons > XInput Trigger Digital Buttons. This is the usual set up with controllers with digital trigger buttons.

  • DInput Axes > XInput Trigger Analog Buttons. This is the usual set-up for controllers with analog trigger buttons.

  • Although you can set it in the App, D-Pad buttons can not map to XInput Trigger Digital Buttons.
 

Attachments

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #5 (Edited)
x360ce 64-Bit Libraries Tutorial
by ResoluteSpider5

ALMOST ALL GAMES ARE ONLY 32-BIT, SO CAN ONLY USE 32-BIT X360CE LIBRARIES, EVEN IF YOU ARE ON WINDOWS 64-BIT! Games (and other applications) can ship either with 32-bit binaries, 64-bit binaries, or both 32-bit and 64-bit binaries. Since most games ship only with 32-bit binaries, only 32-bit x360ce can be normally used, on both Windows 32-bit and Windows 64-bit.

Please note that on Windows 64-bit, drivers for gamepads will always be 64-bit.

There are only a handful of games and applications that include 64-bit binaries. These are some examples:
  • Dolphin (Gamecube and Wii emulator). Dolphin can be downloaded as a 32 or 64-bit binary. If you run Windows 32-bit you should download and use the 32-bit binary (with 32-bit x360ce). If you run Windows 64-bit, you can still use the 32-bit binary (with 32-bit x360ce); but it is recommended to download and use the 64-bit binary (with 64-bit x360ce).
  • WarFrame. This game ships with 32-bit and 64-bit binaries. You can select which binary you want to play in options. If you run Windows 32-bit you should use the 32-bit binary (with 32-bit x360ce). If you run Windows 64-bit, you can still use the 32-bit binary (with 32-bit x360ce); but it is best to use the 64-bit binary (with 64-bit x360ce).
  • Outlast. This game ships with 32-bit and 64-bit binaries. But the 32-bit binary is not officially supported, although it may be possible to make it work on Windows 32-bit by configuring the memory. But if you are on Windows 64-bit you should run the 64-bit binary (with 64-bit x360ce).
  • Titanfall and Need for Speed: Rivals also include 64-bit binaries.
Unfortunately the x360ce App (x360ce.exe) does not work with a 64-bit x360ce library (64-bit xinput1_3.dll). This is because the x360ce App works a bit like an XInput application, taking the XInput from the x360ce Library (xinput1_3.dll), and displaying the results. As the x360ce App is a 32-bit program, it cannot work with the 64-bit x360ce Library. This means the procedure for using 64-bit x360ce is more complicated than with 32-bit x360ce.

First Steps
  • Check What is x360ce and how to use it for requirements. You will need to be running Windows 64-bit. Also, MS Visual C++ 2010 / 2012 Redistributables x64 (64-bit) will need to be installed, in addition to the 32-bit (x86) versions.
  • Check the Game Compatibility List that the game includes 64-bit binaries (WarFrame, Outlast, Titanfall, Need for Speed Rivals, etc.). All others only include 32-bit binaries, so must always use 32-bit x360ce on both Windows 32-bit and Windows 64-bit.
Create and edit x360ce.ini

If you have used x360ce before, you will already have created a x360ce.ini file. But if you haven't do the following.
  • Create an empty folder, which we will call “Ini Folder”. In it place the x360ce App (x360ce.exe).
  • Run x360ce.exe. It will create a x360ce Library (32-bit). And it will also create a x360ce.ini file (x360ce Config file).
  • Edit x360ce.ini using the App as described in my App tutorial. Then close x360ce.exe, saving any settings.
  • Add Version=1 to the [Options] section of x360.ini using a text editor.This suppresses the error message “Configuration file version does not match x360ce version”.
[Options]
Version=1
Move Files to 64-bit Game Executable Folder
  • Get the files from the 64-bit Library download. Put the xinput1_3.dll (64-bit x360ce Library file) in the game's 64-bit executable folder (except for games using Valve's Source engine, see my App Tutorial). Put x360ce.gbd, and 64-bit dinput8.dll (only if needed), in the same folder.
  • Move (or copy) the x360ce.ini file from “Ini Folder” to the 64-bit game executable folder.
  • With certain games, xinput1_3.dll needs to renamed to xinput1_2.dll, xinput1_1.dll or xinput9_1_0.dll. See the Game Compatibility List for details. Rename it manually.
  • Before running your game, ensure your gamepad is plugged in. Gamepads may need to be enabled in your game too.
Changes to x360ce.ini

If you make any changes to your controller setup, changes will need to be made to x360ce.ini.
  • If you need to create any changes in x360ce.ini, move the file back to “Ini Folder”. Then use the App to reconfigure x360ce.ini. Then move or copy it back to the 64-bit game executable folder.
Games not on the Game Compatibility List

Some games not yet in x360ce.gdb may need Input Hooking. This is likely to happen with games not yet on the Game Compatibility List. Add the following to x360ce.ini for these games:

[InputHook]
HookLL=0
HookCOM=1
HookSA=0
HookWT=0
HookDI=0
HookPIDVID=0
HookName=0
This enables HookCOM for Normal games. For Compatibility games, enable (=1) HookCOM plus HookDI plus HookPIDVID. See http://ngemu.com/threads/various-x360ce-guides-by-resolutespider5.156807/#post-2119670 for an explanation.
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #6 (Edited)
If x360ce.com is offline
by ResoluteSpider5

x360ce.com should be fine at present, but is occasionally offline. If x360ce.com is offline, you can't use the Internet database function to download controller profiles. Click on http://www.x360ce.com/webservices/x360ce.asmx to check it's status.

If x360ce.com was to go offline, and you have set up x360ce in the past to work with your controller, simply copy the x360ce.ini file over to the new game folder.

If you don't have a set up x360ce.ini file, in the absence of the Internet database you'll have to set up your controller profile manually. I know of three ways of doing this:

1. If you are lucky your controller will be among the presets. Press the preset buttons at the bottom of the screen (controller 1 > general), and select your controller, or a controller close to the one you own. Then press the load button to load the controller profile. But there is a limited number of profiles listed.

2. If the above doesn't work you might be able to use the record function for buttons. Press the drop down menu beside each button descriptor and click on record. Then press the corresponding control on the gamepad.

Unfortunately this doesn't work well for me. This is because the left analog stick on my gamepad doesn't register as zero (32768) on the x axis, so the app records the x axis for the left analog stick instead.

3. Otherwise you can search for joy.cpl > properties to the DInput button number for all of the digital buttons. Then you can enter theses buttons using the drop-down selector as described above.

The only problem is that it doesn't give which axes or sliders are used by the analog controls. In that case, the only way I know is to use trial and error. But these are some the pointers:

(a) stick x-direction tend use axis, and stick y-direction tend to use iaxis (inverted axis).

(b) usually the left stick uses axis 1 and iaxis 2 (for x and y directions).

(c) the right stick can use axis 3 and iaxis 6 (for x and y directions). It can also use 4 and 5, or 6 and 3, or some other combination.

(d) sometimes the bumpers (R2 and L2) are analog. They can use haxis 3 and ihaxis 3, or ihslider 1 and hslider 1, or iaxis 4 and iaxis5, some other combination.

NB haxis and hslider = half axis or slider. ihaxis or ihslider = inverted half axis or slider.
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #7 (Edited)
x360ce Introduction to Input Hooking [InputHook]
By ResoluteSpider5. V1 May 2014

Input Hooking [InputHook] in x360ce is a hook system for replacing some controller data from the system with fake data, which is then sent to the game. Some, but not all, games need Input Hooking. See the Game Compatibility List for which games need Input Hooking.

Libraries before R574 used HookMode. Libraries R574 and later use HookMask, and HookMode is ignored.

The main thing to realise is that, if you use the x360ce.gdb (x360ce Game Database, Libraries R578 and later), and your games are included in it, Input Hooking is automatically set correctly. For games that do not require Input Hooking, no entry in x360ce.gdb is needed.

A explanation of HookMode (Before Library R574)

With Libraries before R574, x360ce used HookMode for Input Hooking. In the [InputHook] section of x360ce.ini, there would be a HookMode=x entry, with the value of x determining if input hooking was Disabled (0), Normal (1), Compatibility (2), or Full (3). For example, the following in x360ce.ini sets Normal HookMode for all games:

[InputHook]
HookMode=1

Disabled (HookMode=0) disabled all hooks. Normal (HookMode=1) enabled HookCOM (and HookLL in later libraries). Compatibility (HookMode=2) enabled HookMode 1, plus HookDI and HookPIDVID. Full (HookMode=3) enabled HookMode 2, plus HookName. HookSA and HookWT weren't implemented in HookMode.

A explanation of HookMask (Library R574 and later)

With Libraries R574 and later, HookMode is ignored. HookMask is used instead.

HookMasks are usually set with a HookMask=0xHHHHHHHH statement, where H are hexadecimal digits. This can set a number of hooks, for an explanation of how see http://ngemu.com/threads/report-game-compatibility-here.155113/ and http://code.google.com/p/x360ce/source/detail?r=574 . These links also explain what the various hooks do. The Game Compatibility List explains which games need which hooks.

  • Many games need no hooks.
  • HookCOM is needed commonly for “Normal Games”.
  • HookCOM plus HookDI plus HookPIDVID is needed occasionally for “Compatibility Games”.
  • HookName (plus HookCOM plus HookDI plus HookPIDVID) is needed rarely for “HookName Games”. Only two game currently.
  • HookLL plus HookCOM is needed rarely for “LoadLibrary Games”, that also need dinput8.dll to be included. Currently only for “The Baconing”.
  • HookSA is needed rarely for “SetupAPI Games”. Currently only for “Beat Hazard” games.
  • HookWT is needed rarely for “WinVerifyTrust Games”. Currently only for “Gears of War”.
  • Other combinations of hooks may be needed.
The usual ways for HookMasks to be set is by the x360ce Game Database file (x360ce.gdb); if you use it, and your games that need hooking are in it, hooking is automatic. Most games needing hooking are included in x360ce.gdb. For example, the following in x360ce.gdb sets a HookMask for Assassin's Creed Brotherhood:

[ACBSP.exe]
Name = Assassin's Creed Brotherhood
HookMask = 0x00000002

The x360ce library identifies the game through the filename (ACBSP.exe). It then searches x360ce.gdb for an entry. The HookMask=0x2 statement then sets HookCOM, for why see the above links.

HookMask statements can also be put into x360ce.ini. For example, the following would enable HookCOM for all games in x360ce.ini:

[InputHook]
HookMask=0x00000002

With HookMask, individual statements can also enable hooks (=1) or disable hooks (=0). For example, the following would set HookCOM for all games in x360ce.ini:

[InputHook]
HookLL=0
HookCOM=1
HookSA=0
HookWT=0
HookDI=0
HookPIDVID=0
HookName=0

If your game is not in the database (x360ce.gdb), and requires Input Hooking: start with the above, and then enable the hooks (=1) as you go along. HookCOM is needed for Normal games (if you have ghosted input, or the controller maps wrongly, or one controller is detected as being two controllers). HookCOM plus HookDI plus HookPIDVID are needed for Compatibility games (the controller isn't recognised) as in the following in x360ce.ini:

[InputHook]
HookLL=0
HookCOM=1
HookSA=0
HookWT=0
HookDI=1
HookPIDVID=1
HookName=0
The other four hooks are very rarely needed, but enable them all (=1) if it doesn't work. Then try disabling hooks until you get the minimum needed. If you get it to work, please report your game executable name, HookMask needed, and Library filename to http://forums.ngemu.com/showthread.php?t=155113 so it can be added to x360ce.gdb.

Occasionally the x360ce Library filename also needs to be changed. See Q2 in http://ngemu.com/threads/various-x360ce-guides-by-resolutespider5.156807/#post-2119671 .

Note: from Libraries R574 up to R604, HookPIDVID was titled HookVIDPID.
Also see http://ngemu.com/threads/tutorial-by-resolutespider5.155011/

__________________________________________________​
 

Attachments

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #8 (Edited)
Other x360ce Questions
By ResoluteSpider5. V1

Q1. How can I find out if I have the requirements for x360ce?
Q2. I can't find my game in the Game Compatibility List. What [InputHook] and x360ce Library filename should I use?
Q3. The game is on the Game Compatibility List as Normal or Compatibility Mode. What [InputHook] should I use?
Q4. How do I use the x360ce 64-Bit Libraries?
Q5. Why is HookCOM sometimes needed?
Q6. How do you get Dark Souls to work?
Q7. What controllers don't need x360ce?
Q8. Can I use x360ce with XInput Controllers?
Q9. (a) Name of process file (b) location of process file (c) 32 or 64-bit (d) xinput dll name and XInput support.

Q1 How can I find out if I have the requirements for x360ce?

See What is x360ce and how to use it for requirements.

If you go to Control Panel > Programs > Programs and Features, there is a list of installed programs. On Windows 7 64-bit you should have the following installed:
  • MS Visual C++ 2012 Redistributable x86 and x64
  • MS Visual C++ 2010 Redistributable x86 and x64
  • MS .NET Framework 4.5
If you click on the “Turn Windows features on or off” link, you should also make sure that MS .NET Framework 3.5.1is turned on.

Other Windows versions will be similar. With Windows 32-bit you won't need the x64 files.
  • You also need at least Windows XP Service Pack 3 or later. So it should also work with Windows Vista, 7 and 8. Its best to install Service Packs if available.
  • You also need DirectX 9.0c on ALL Windows versions. As it is difficult to know if you have it or not, if in doubt install it again.

Q2. I can't find my game in the Game Compatibility List. What [InputHook] and x360ce Library filename should I use?

x360ce Libraries R574 and later use HookMask. Start with the following [InputHook] in x360ce.ini:

[InputHook]
HookLL=0
HookCOM=0
HookSA=0
HookWT=0
HookDI=0
HookPIDVID=0
HookName=0

And then enable the hooks (=1) as you go along. HookCOM is usually needed if you have ghosted input, or the controller maps wrongly. HookCOM plus HookDI plus HookPIDVID are sometimes needed if the controller isn't recognised by the game. The other four hooks are very rarely needed, but enable them all if it doesn't work. See http://ngemu.com/threads/various-x360ce-guides-by-resolutespider5.156807/#post-2119670 for more details.

The other possibility is that you need to rename xinput1_3.dll (x360ce Library) to xinput1_2.dll, xinput1_1.dll or xinput9_1_0.dll. The easiest thing to do is to go to, in x360ce.exe, Options > Installed Files, and make sure all the boxes are ticked. This clones xinput1_3.dll under these new filenames. If that works, try to narrow it down to the actual filename used. Note: at the App does not work with 64-bit Libraries, it must be done by manually changing the filename.

If you get it to work, please report: (a) full game title, (b) game executable filename, (c) InputHook, and (d) Library filename, (e) Library version, to http://ngemu.com/threads/report-game-compatibility-here.155113/ . You can also provide additional details about your system.

Q3. The game is on the Game Compatibility List as Normal or Compatibility Mode. What [InputHook] should I use?

Normal Mode games may need HookCOM to be enabled. Compatibility Mode games may need HookCOM, HookDI and HookPIDVID to be enabled. See http://ngemu.com/threads/various-x360ce-guides-by-resolutespider5.156807/#post-2119670

Q4. How do I use the x360ce 64-Bit Libraries?

See http://ngemu.com/threads/various-x360ce-guides-by-resolutespider5.156807/#post-2119667

Q5. Why is HookCOM sometimes needed?

DirectX games can support DInput (DirectInput) and XInput in the following ways:

(a) Full DInput support only. No XInput support.
(b) Full XInput support only. No DInput support.
(c) Both full DInput and XInput support.
(d) Full XInput support, but only partial DInput support.
(e) Only partial or no XInput and DInput support.​

Games requiring x360ce (DInput-only controllers) are (b) and (d). With (e) controllers via DirectX (DInput / Xinput) may be pointless.

With (d) HookCOM may be required. HookCOM masks a controller's DInput capabilities. There is three reasons why it is needed:
  • It prevents games from using DInput and XInput at the same time. This can cause “ghosted” input, like buttons are being pressed twice. Or one controller is detected as being two controllers.
  • It prevents games from using DInput in preference to XInput. Otherwise, if a games DInput support is poor, the controls can be wrongly mapped, meaning that buttons etc. operate wrong functions.
  • It works in conjunction with some other hooks, like HookDI, HookPIDVID, HookName and HookLL.
Q6. How do you get Dark Souls to work?

See http://ngemu.com/threads/game-compatibility-list.154966/#post-2114946 .

Q7. What controllers don't need x360ce?

XInput controllers (i.e. controllers with XInput drivers correctly installed) don't need x360ce. They include the following:
  • Official Xbox 360 Controllers, if using Xbox 360 Accessories Software.
  • Also, most third party Xbox 360 Controllers*, if compatible with Xbox 360 Accessories Software.
  • Xbox One controller, using Microsoft PC Drivers for Xbox One Controller.
  • Playstation 3 Dual Shock 3 controller, using SCP (Scarlet Crush Productions) XInput Wrapper. NB Motioninjoy is NOT recommended.
  • Also, most other Playstation 3 controllers, if compatible with SCP XInput Wrapper.
  • Playstation 4 DualShock 4 controller, using InhexSTER DS4 To XInput Wrapper.
  • Logitech F310 / F510 / F710 PC controllers, if using Logitech Gaming Software, and selector switch set to XInput.
  • Some SPEEDLINK PC gamepads, if using SPEEDLINK XInput drivers, and selector switch set to XInput. Includes XEOX Pro Analog Gamepads, STRIKE FX Gamepads, TORID Gamepads.
* With Xbox 360 Controllers you may need to manually install the driver from the device manager. You need to select “Update Driver Software”, “Browse my computer for driver software”, “Let me pick from a list of device drivers on my computer”, "Microsoft Common Controller for Windows Class", “Xbox 360 Controller for Windows”. See http://support.pdp.com/ics/support/default.asp?deptID=5553

Q8. Can I use x360ce with XInput Controllers?

If you use controllers with XInput drivers (see Q8), x360ce is simply not needed. Also, do not attempt to use x360ce to remap XInput controllers. Otherwise the DInput and XInput input to x360ce will clash. Instead use Durazno (KrossX's Magical Tools). See also If you already have a 360 Controller (And don't use XBCD).

But if you use both DInput and XInput controllers with a game, XInput controllers should be "passed through" (tick the box on the Controller 1 > Advanced tab in the x360ce App), and should be set above your DInput controllers. This will cause a red indicator to light for your XInput controller in the App, but it should function normally.

Q9. (a) Name of process file (b) location of process file (c) 32 or 64-bit (d) xinput dll name and XInput support.

This is how you can find out, for games not on the Game Compatibility List. You need to get (a) name of process file (b) location of process file (c) 32 or 64-bit (d) xinput dll name, and XInput support.

1. CTRL-ALT-DEL > Task Manager > Right click on application name > Select "Go To Process" to get name of process file. If game is 32-bit it will have " *32" besides process file, and needs 32-bit x360ce; otherwise it will need 64-bit x360ce. NB This is for Windows 64-bit; if you run Windows 32-bit, games will always needs 32-bit x360ce.
2. Right click on name of process file > Properties to get location of process file. This folder is where x360ce files are normally put.
3. In Task Manager > Performance Tab > Click on "Resource Monitor" to bring up Resource Monitor.
4. In Resorce Manager click on CPU tab. Locate name of process under "Processes" and click box to select.
5. Go to Associated Modules. Sort modules alphabetically by clicking on Module Name. Scroll down to see if any \Windows\System32\xinput*.dll (if both 32 and 64-bit) are loaded. Note xinput dll filename. If not xinput1_3.dll then the x360ce library will have to be renamed. If no xinput dll module loaded, then the game does not support XInput or x360ce.
6. NB In "Resource Manager > CPU > Associated Modules" there may be two scroll bars, you have to scroll using both of these. NB Windows\System32 erroneously reported by Resource Manager whether 32 or 64 bit.​
 

·
Hackin 'n Slashin
Joined
·
28,630 Posts
stickied
 

·
Registered
Joined
·
1 Posts
hi resolutespider, i got problem with my controller. at first, i tried emulating witcher 3 and it works, next i tried to emulate dishonored and the .exe it detects is witcher .exe... how is this possible? and how do i fix this? thank you.
 

·
Registered
Joined
·
1 Posts
I just have a problem with my right analog stick vertical axis, which the emulator does not detect. It is only recognised when I move the left analog stick instead. I would be very grateful if anyone could give me a solution.

EDIT: I have followed the instructions mentioned here but it doesn't work for me.
 

·
Registered
Joined
·
1 Posts
hello i have a proble with x360ce 64 bit version, when i open it doesnt prompt me to create file or search for controller settings but i dont have the problem with 32 version, can someone help me fix this
 

·
Registered
Joined
·
1 Posts
Greetings.
Recently, I've come into a bit of a problem using x360ce on my new Windows 10 laptop. Something to note about my problem is that everything runs perfectly for my controller and the game on my other Windows 7 laptop, and aside from simply not working, it appears that everything should work perfectly on the new laptop.

R1. The title of the game is Hyper Light Drifter, the main is HyperLightDrifter.exe, and x360ce is in the same folder.

R2. I am using the 32-bit version of xinput1_3.dll.

R3. Yes, I tried renaming the file to all possible recommended versions.

R4. Using Windows 10, 64-bit.

R5. I'm using a Wiimote/Classic Controller with GlovePIE to map the inputs to PPJoy inputs.

R6. https://drive.google.com/open?id=0Bw1WBclQ1_gtU3R5dElqV1FKU1k

R7. It didn't seem any logs were logged in the folder where the logs go.

R8. Yes. I can press buttons on the controller and the green circles show up on the virtual controller. I suppose because of how PPJoy works, there are always two controllers that show up in the list of controllers that are attached to my system. The first is "Bluetooth HID Port", and x360ce sets this as Controller 1, and the second is "Parallel Port Joystick device 1", which is set as Controller 2. When x360ce is ran in HyperLightDrifter's folder, both squares are set to green, whereas when it is ran in Portal 2's folder, Controller 1 is red, and Controller 2 is green. Portal 2 worked with my controller with the connections as described, as did Hyper Light Drifter as described on my older laptop.

R9. Yes, I can use my controller with Portal 2. I'm not entirely sure what "work OK without x360ce" means, but I can run the game normally with or without the files in the game's folder.

R10. There does not appear to be an option to enable or disable controllers. The game highly encourages playing it with a controller, so it would seem that an option to enable or disable controllers would be illogical.

R11. I believe so, considering I was able to get my controller to work on another game.

Help would be greatly appreciated, considering how long I've been scratching my head about this problem.
 

·
Registered
Joined
·
9 Posts
i tried to use x360ce for portal and portal 2 but im confused on what exactly to do and what dll files need to be changed or anything. im using a generic usb controller that looks like a xbox 360 controller.
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #16
i tried to use x360ce for portal and portal 2 but im confused on what exactly to do and what dll files need to be changed or anything. im using a generic usb controller that looks like a xbox 360 controller.
I've tried, but I've never managed to get x360ce to work with any source engine games. I think they are simply incompatible I'm afraid. Use a xinput controller, or use a key mapper like joy2key.
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #18
Well maybe it's possible. But some of the older games also supported dinput: it could be that they are working that way instead.

Anyway on the few I tried it seemed problematic , as far as I can remember. Worked initially on hl2 but then stopped. Portal 1 I think supported dinput on my system. Portal 2 refused to work.

None are listed on the game compatibility list. There's just something odd about x360ce and source engine, and I couldn't figure it out.
 

·
Registered
Joined
·
9 Posts
ya i couldnt figure it out either. i wish i knew how to get them to work because for pc i hate using the k/m for gaming because im used to the xbox controls you know.
 

·
Registered
Joined
·
2 Posts
im trying to use on bluestack emulator but i dont know how my controller is green everything work fine but the emulator doesnt recognize it
 
1 - 20 of 20 Posts
Top