PDA

View Full Version : XInput Plugin (Xbox 360 Rumble + Both Triggers)



Billard
February 10th, 2008, 06:22
i saw ppl were asking how to get the rumble and both triggers working on the 360 controllers, so today i downloaded the DXSDK, learned XInput, and made this simple input plugin.

holy crap XInput is SO easy to program, I cant believe that MS could make something work so well, if only the controllers were bluetooth and i didnt have to have this stupid $30 dongle plugged in. lol

right now there is no configuration, next version will have that, but i think i got the controls set pretty good for now.

A = A and Y
B = B and X
C Buttons = Right Analog
Z Trigger = LT
R Trigger = RT
L Trigger = LB

Supports 4 Xbox 360 Controllers Wired or Wireless with Default Microsoft Drivers
Rumble and Both Triggers work separately

i attached the file, lets see if it shows up,
other wise i'll have to edit the post or somethin

edit ok here is a link to download

Download (http://host-a.net/AlternativePlus/Billard_XInput_v0.2.zip)

ok new version v0.2
fixed the axis bug

Shugo
February 10th, 2008, 15:28
That's awesome dude! I've been looking for something like this. But what do I need to enable Rumble?

Also, Microsoft sells a Xbox 360 Wireless Accessories adapter, $20 USB Dongle-like thing, don't know if it works on any other Bluetooth accessories.

Billard
February 10th, 2008, 15:40
to enable rumble just
choose the plugin on PJ64
have ur controller(s) connected with the regular MS drivers
and play a rumble enabled game

you can also connect/disconnect controllers while the game is running
if the game supports it
i know smash brothers does idk if anything else does

i know they sell that wireles adapter
tahts the one im talkin about
its the only one that works with the 360 controllers because they arent bluetooth

Shugo
February 10th, 2008, 15:48
Yes, Super Smash Brothers works, but Super Mario 64 doesn't. Will it only work for Super Smash Brothers?

Billard
February 10th, 2008, 15:58
im pretty sure the rumble pak came out after Super Mario 64
so there is no rumble in that game

i know it works in

OOT
SSB
banjo kazooie/tooie
donkey kong
star fox
paper mario

tahts all that ive played, im sure there's more

Agozer
February 10th, 2008, 16:27
im pretty sure the rumble pak came out after Super Mario 64
so there is no rumble in that game
There is a Rumble Pak version of Super Mario 64, but it only came out in Japan.

squall_leonhart
February 11th, 2008, 02:28
Billard, get on over to https://nragev2.bountysource.com/ and you can add xinput into nrage,.. so that it supports both dinput and xinput.:P im also looking for someone who can write driver support so that XBCD has full support for dinput and xinput. O.o

Billard
February 12th, 2008, 01:17
do i gotta download the source of nrage one file at a time???!!??
cant i download a zip file with all of it or somethin?
i got the source of an older version of nrage
ill add in xinput if u can get me the latest source

Clements
February 12th, 2008, 06:22
Use a SVN client like TortoiseSVN to download the latest source in one go.

If using TortoiseSVN, make a new folder, right-click > SVN Checkout and paste in the following URL:

https://svn.bountysource.com/nragev2

squall_leonhart
February 12th, 2008, 09:49
if needs be i can provide a .tar.gz archive.

shouldn't be too hard to support both Xinput and Dinput, (including the different rumble methods)

Billard
February 13th, 2008, 04:25
I'm pretty new at c++,
and I cant get this crap to compile lol.

I've been looking through the code and I understand where I can add in xinput.

but
I compile it just how it is without changing any code

Then I try out the plugin on PJ64 and I get blank error window

when the plugin initializes or
when I click configure controller plugin

But, the "about" button works fine

any ideas why this happens?

I have latest DXSDK, using codeblocks with latest GCC compiler

squall_leonhart
February 14th, 2008, 08:54
is the compiler complaining about anything missing?

Billard
February 14th, 2008, 22:41
nope, compiles successfully

squall_leonhart
February 14th, 2008, 23:18
could be an issue with 1.6... but i doubt it.

Shugo
February 17th, 2008, 19:24
I just realized something: It doesn't work well with Ocarina of Time's Debug ROM. The Range is like, very lower. I can't run unless I'm Z-Targeting, or jump to the left or right.

Billard
February 17th, 2008, 22:27
I just realized something: It doesn't work well with Ocarina of Time's Debug ROM. The Range is like, very lower. I can't run unless I'm Z-Targeting, or jump to the left or right.

i noticed the problem in zelda too but,
it should have been fixed in the 2nd version i uploaded
are you using 0.1 or 0.2

Shugo
February 18th, 2008, 03:27
Oh, didn't know there was a second version, thanks!

coc0
February 21st, 2008, 19:07
Thank you for this :)

mortymcdeathfac
March 20th, 2008, 02:30
Why cant I change the controls?

Funkstar De Lux
March 24th, 2008, 10:42
Is there any way to make it so R Trigger = RB? It seems silly to map a button to an analogue trigger when it's not necessary. It would also give us symmetry between LT and RT.

robertxx74
March 29th, 2008, 07:42
Hi Billiard,
The xinput plugin is great - the best method for getting rumble to work yet. Can you please consider releasing the source so that others can adapt your code for their projects?
Many thanks,
Robert.

squall_leonhart
March 29th, 2008, 08:09
i would like to see about adapting it into nrage

Billard
March 29th, 2008, 21:56
Hi Billiard,
The xinput plugin is great - the best method for getting rumble to work yet. Can you please consider releasing the source so that others can adapt your code for their projects?
Many thanks,
Robert.

i dont want to release the source, because i would be embarrassed of my bad coding skills, lol

anyways xinput is so simple
you could learn it in 5 minutes

http://msdn2.microsoft.com/en-us/library/bb173044(VS.85).aspx

but if anyone has any questions, i could help them

Tophillious
April 14th, 2008, 01:17
Im getting an error when I download. Anyone have a mirror?

SKA
April 14th, 2008, 05:17
do i need a usb plug in for my controller for this to work?

SaleenS7TT
April 19th, 2008, 20:28
So I put the file in the Project64 Plugin folder, then what?

Shugo
April 19th, 2008, 21:03
do i need a usb plug in for my controller for this to work?

Only if you have a wireless one. If it's wired, it should work.

SaleenS7TT
April 19th, 2008, 21:06
Nevermind, working now! :)

Clements
May 25th, 2008, 22:12
I have made this thread a sticky in the Plugins forum to avoid it being lost in the dark recesses of the PJ64 forum.

RedSky0
June 19th, 2008, 18:14
So can I just confirm, this allows you to get a wireless 360 controller with a usb receiver to work with rumble and analogue sticks just as well as the wired one?

Thanks.

rabiddeity
June 20th, 2008, 03:48
i would like to see about adapting it into nrage

That'd be a lot harder than you think. Adding XInput at this point you'd have to add a whole new set of functions and data structures, it'd make the code completely unreadable (as opposed to mostly unreadable as it is now).

As it stands the best option for NRage is still for people to just get a fully functional DirectInput driver like XBCD. It still bothers a lot of people that MS didn't bother to code in full support for DirectInput into their official driver. And since no other controller supports XInput (because the buttons and functionality are limited exactly to that of the X360 controller) it doesn't make sense to switch the code over, even though it may be easier to write XInput code.

rabiddeity
January 7th, 2009, 22:51
How to connect my Xbox 360 to the internet through my laptop running vista ? I have Created a network bridge between my wireless connection and the Ethernet connection but when I run the xbox live test the IP address fails. Please help me

Wrong topic, wrong category, completely wrong message board. This forum is for discussion of emulators. Maybe you should quit drinking? :blink:

Yogi
February 8th, 2009, 17:28
Great stuff!

Hope you could make it such that users can customise buttons according to their preference.

Btw, the rumble don't work for me. :( Tried california speed, mario 64 shindou edition & a few others.

Edit: Oops, just realised that it's coming to 1 year!! :ph34r: GUess there's no more updates. :(

MasterPhW
February 9th, 2009, 14:46
Yeah, because XCBD is much more compatible and should work with all XBox360 controllers. Use it instead and it should be fine with the newest NRage betas.

Yogi
February 11th, 2009, 19:55
Yeah, because XCBD is much more compatible and should work with all XBox360 controllers. Use it instead and it should be fine with the newest NRage betas.

I had already patched my v107 XBCD to v0.2.1, but it never recognises my xbox360 controller. Under the device window, there's nothing, let alone configuring. :(



Edit: With some effort, finally got it working!! :D
http://www.emutalk.net/showpost.php?p=417930&postcount=4

burgeoning
May 17th, 2009, 01:06
It seems that this driver is still the only way to get rumble and left (z) and right trigger combined control (Mario Kart 64 must have) with an xbox 360 wireless controller. The main thing missing is memory pak support and a control panel.

Please provide source and I can code in these features.

squall_leonhart
May 17th, 2009, 06:48
use the source for nrage 2.1 and change the controller support from dinput to xinput

Mnts
December 6th, 2010, 00:32
The plugin crash in my computer. this is the crash message:

CN64System::LoadFileImage - Exception caught
File: D:\My Programs\home\project64 1.7\source\N64 System\N64
Class:ccp
Line:236

notes:

I not have any "D:\My Programs\home\project64 1.7\source\N64 System\N64" directory and project 64 crash only with XInput Plugin

I am using project 64 1.7.0.49 installed on "C:\Program Files (x86)\Project64\project64.exe"

My system:

Operating System:
Windows 7 ultimate X64 (es-mx)
CPU:
AMD Atlhon 64X2 4600+ @ 2.39GHz
Video Card:
IGP ATI Radeon Xpress 1150 DirectX 9.0 capable UMA 256MB
Sound Card:
Onboard Realtek HD Audio ALC883
Memory:
DDR2-800 PC2-6400 3GB

Video driver:
Versión del paquete de controladores 8.593.100-100210a-095951E-ATI
Versión de Catalyst™ 10.2
Proveedor ATI Technologies Inc.
Versión de controlador 2D 8.01.01.882
Ruta de archivo de controlador 2D /REGISTRY/MACHINE/SYSTEM/ControlSet001/Control/CLASS/{4D36E968-E325-11CE-BFC1-08002BE10318}/0000
Versión de Direct3D 8.14.10.0647
Versión de OpenGL 6.14.10.8545
Versión de Catalyst™ Control Center 2010.0210.2339.42455
Versión de Controlador AV Stream (T550 Pro) 6.14.10.394