Next Generation Emulation banner

1 - 20 of 58 Posts

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #1 (Edited)
x360ce Libraries Tutorial
By ResoluteSpider5. V4 December 2013.

What is x360ce and how to use it contains additional information.

x360ce App Tutorial at http://ngemu.com/threads/tutorial-by-resolutespider5.155011/

Various x360ce Guides at http://ngemu.com/threads/various-x360ce-guides-by-resolutespider5.156807/

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. I earlier wrote an x360ce App Tutorial. I suggest you read it before reading this.

In summary, the x360ce App download contains x360ce.exe (x360ce App). The App creates an xinput1_3.dll (x360ce Library), if it is not already present in the folder. The App also creates (if not already present in the folder), and edits, an x360ce.ini (x360ce Configuration file). The Configuration file contains settings for the Library. The App is not needed for x360ce emulation, but the Library and Configuration files are.

On the x360ce download page (http://code.google.com/p/x360ce/downloads/list ) as well as the current App download (x360ce.App-x.x.x.xxx.zip) there are also library downloads:
  • x360ce_lib32_rxxx.zip (or x360ce_libraries_rxxx_x86.zip). This is the current 32-bit x360ce Library download. IT IS THE CORRECT FILE FOR ALMOST EVERYONE. The reason for this is that, even if you are on 64-bit Windows, almost all games run 32-bit binaries regardless.
Note: there may be VS2010 and VS2012 builds of Library downloads available. VS2010 builds use Visual Studio 2010, rather than Visual Studio 2012, and may be better for "Dark Souls".

The main advantage of using the Library (xinput1_3.dll) from the Library download, instead of the App download, is that included Library is normally more up to date, so compatibility with games and systems should be superior. The main disadvantage of using the Library download is that setup can be more complex.

If you want to use them, do the following. The first thing to do is to download the current version of x360ce_lib32_rxxx.zip. After you unzip, you should find something like the following files. I will also say the simplest way they could be used.
  • xinput1_3.dll: x360ce Library, responsible for x360ce emulation. Put this in the game's executable folder (except for games using Valve's Source engine, see my App Tutorial for details). It is also described as an API wrapper, as it “wraps around” the system DInput. With some games it needs to be renamed to xinput1_2.dll, xinput1_1.dll or xinput9_1_0.dll, see later on for details. Do not confuse it with the system file of the same name, which is very different.
  • x360ce.sample.ini: this file is not required. It is a sample file for x360ce Configuration file (x360ce.ini), which contains settings for xinput1_3.dll, which can be both controller and game specific. HOWEVER x360ce.ini IS REQUIRED, and it is simplest to put this in the same folder as xinput1_3.dll.
  • x360ce.gdb: x360ce Game Database. It is simplest to put this in the same folder as xinput1_3.dll. If the file is present, and your game is listed in it, the [InputHook] needed for that game should be automatic. It masks the [InputHook] of x360ce.ini.
  • dinput8.dll: x360ce Loader. Put this in the same folder as xinput1_3.dll, but only if needed. It is a simple loader, which loads xinput1_3.dll for games that need HookLL enabled. It may also help a few other games like “Dark Souls”. So it is needed by very few games. Do not confuse it with the system file of the same name, which is very different.
  • LICENSE.txt, LGPL.txt, ReadMe.rtf: these files are not normally needed.
As described above, you can put your x360ce.ini and x360ce.gdb files in the same folder as xinput1_3.dll. But you can also place them in the following locations. With Windows XP, you can put them in the “%allusersprofile%\Application Data\x360ce” folder, which is often “C:\Documents and Settings\All Users\Application Data\x360ce”. With Windows Vista/7/8 you can put them in the “%allusersprofile%\x360ce” folder, which is often “C:\ProgramData\x360ce”. The advantage of doing this is you can have the same x360ce.gdb and x360ce.ini file for all your games, and to change these files means that you change the settings for all of your games.

Well that's about it! The only complication is really the creation of the x360ce.ini file. The library download only contains x360ce.sample.ini. Advanced users can edit this file to create their own x360ce.ini. But unfortunately this is not very easy, unless you understand the settings well.

An easier way is to use the App, x360ce.exe. As explained earlier, x360ce.exe creates the xinput1_3.dll Library (which we don't want in this instance, as it may be out of date); but it also creates and edits the x360ce.ini (which we do want).

So one way to set up x360ce is to do the following. Please note that there is a multitude of different ways of doing this. This is the procedure for games with only 32-bit binaries, which is usually the case.

1. Check What is x360ce and how to use it for requirements. Also my x360ce App Tutorial might help. For 64-bit x360ce see my 64-bit x360ce tutorial.

2. Download the latest versions of the App download (x360ce.App-x.x.x.xxx.zip) and 32-bit Library download (x360ce_lib32_rxxx.zip). Unzip them both.

3. Firstly, get the files from the Library download. Put the xinput1_3.dll (x360ce Library file) in the game's executable folder (except for games using Valve's Source engine, see my App Tutorial). Put x360ce.gbd, and dinput8.dll (only if needed), in the same folder.

4. Get x360ce.exe from the App download. Put it in the same folder as you have just put the xinput1_3.dll file.

5. Open x360ce.exe, and create and edit x360ce.ini as described in my App Tutorial. The only difference this time is that x360ce.exe will not create an xinput1_3.dll (Library), as there is already one present in the folder. Note: x360ce.exe only works with a 32-bit Library. If you want to use a 64-bit Library (which only works with a few games), first create x360ce.ini using a 32-bit Library.

6. If the x360ce.ini version does not match the xinput1_3.dll version, it may display the error message: “Configuration file version does not match x360ce version”. You can suppress this by adding Version=1 to the [Options] section of x360.ini, see below.

[Options]
Version=1
7. With certain games, the Library file (xinput1_3.dll) needs to renamed to xinput1_2.dll, xinput1_1.dll or xinput9_1_0.dll. See the Game Compatibility List. Rename them manually, or use the App. In the App, go to Options > Installed Files, and tick the boxes needed. This will clone the present Library file, rather than the Library file generated by the App.

8. Close x360ce.exe before running your game, saving any changes. You may need to enable gamepads in your game too.
Some games require Input Hooking, but are not included in x360ce.gdb. Look at the Game Compatibility List : games using the the former HookMode (Normal or Compatibility Mode), and games not mentioned, could be affected. So 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.

Thanks to x360ce team for all the people you've helped: tapeq (tapcio), ejocys, [email protected], etc.
 

Attachments

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #3
If using the x360ce application, it will actually clone the dll currently in the folder if you place a newer version than is in the app, and tick the 1, 2, 9_1_0 boxes
Thats interesting, I didn't know that! Thanks for the feedback.
 

·
Registered
Joined
·
73 Posts
Although I solved the problem I had with x360ce before seeing this thread, this is very resourceful nonetheless to use for future reference.
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #7 (Edited)
@resolutespider5
This will be now main "x360ce for dummies" manual if this is no problem for you? If so, [email protected] will stick this.
Sure thing. I think "x360ce for dummies" sums it up! Any suggestions or corrections gratefully received from you, or anyone else.
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #9
I've updated my tutorial a bit, hopefully it is improved.

Any suggestions or corrections are welcome.

Good luck with x360ce :thumb:
 

·
Registered
Joined
·
1 Posts
can i more permenantly turn a dinput controller into xinput? like installing 360ce as a system driver in device manager?

this is to avoid having to go through setup for each game

sorry if my terminology is inaccurate
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #11 (Edited)
can i more permenantly turn a dinput controller into xinput? like installing 360ce as a system driver in device manager?

this is to avoid having to go through setup for each game

sorry if my terminology is inaccurate
As far as I know this is not possible.

Only XInput controllers have system-wide XInput support. Like the xbox360 controller, and possibly some other xbox360 compatible-controllers. Logitech F310 and F710 have a switch for XInput. Also, many PS3 controllers can have this from using the SCP (Scarlet Crush Productions) driver (recommened) and motioninjoy (not recommended). Maybe some other controllers too, I'm not sure.
 

·
Hackin 'n Slashin
Joined
·
28,630 Posts
can i more permenantly turn a dinput controller into xinput? like installing 360ce as a system driver in device manager?

this is to avoid having to go through setup for each game

sorry if my terminology is inaccurate
simply copy the files over from a previous game and only use new a files if there's a problem doing that

It's what I used to do and it always worked fine
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #13
simply copy the files over from a previous game and only use new a files if there's a problem doing that

It's what I used to do and it always worked fine
This should normally work. Some caveats:

1. Game needs library renaming.

2. Game needs a HookMask not in the GDB file.

3. Game is 64-bit.

4. Controller setup is changed.
 

·
Hackin 'n Slashin
Joined
·
28,630 Posts
that's when you use new files and start from scratch with those now becoming the files that you'll use for the next game
 

·
Registered
Joined
·
39 Posts
hello
first i want to thank you for this great app
i have this "viera" controller which is making me wonder what is its problem.
i did connect, map the buttons, checked, and checked vibration every things are fine so far.
but when start game i can see intense frame drop (like from 35 to 15 fps) and thats really annoying, and game freezes. but when i disconnect the controller frame rate get up to normal
even then i disable vibration ( or even uninstall driver software which made vibration possible) both the game and controller work just fine.
i have another controller but that one has not compatibility problem, but i like first controller (nice grip)
so what can i do?
 

·
I mustache you a queshtion
Joined
·
1,972 Posts
Discussion Starter #17
hello
first i want to thank you for this great app
i have this "viera" controller which is making me wonder what is its problem.
i did connect, map the buttons, checked, and checked vibration every things are fine so far.
but when start game i can see intense frame drop (like from 35 to 15 fps) and thats really annoying, and game freezes. but when i disconnect the controller frame rate get up to normal
even then i disable vibration ( or even uninstall driver software which made vibration possible) both the game and controller work just fine.
i have another controller but that one has not compatibility problem, but i like first controller (nice grip)
so what can i do?
See squall's post. To start a new thread press the "post new thread" button at the bottom of the screen. It is bright yellow.
 
1 - 20 of 58 Posts
Top