|
|
|
#321 (permalink) |
|
Plugin author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Perdition
Posts: 557
|
XInput is an API that *only* works with the xbox 360 controller. I'm not going to use it because I don't like the idea of having to support an entire API because Microsoft decided to cripple their Direct Input Xbox 360 controller drivers by leaving out force feedback support. I don't mind (much) adding hacks to work with buggy drivers, but Microsoft is being deliberately evil with XInput. Forcing every piece of software that wants to use force feedback with an Xbox 360 controller to use a new API for no good reason is just...Well...classic Microsoft.
Unfortunately, I don't think there are currently any uncrippled Direct Input drivers for wireless 360 controllers. There are a couple for the wired ones. Hmm... Haven't heard of anyone having that issue with 0.8.4. I don't think the problem is that the window isn't on top. Unfocusing and refocusing the window causes me to reinitialize Direct Input devices. I think something's going wrong the first time I try and get input. Unless I'm able to duplicate the issue myself, not sure I'll be able to figure this one out. Might be some incompatibility with the latest versions of GSDX. Tried a number of runs with GSDX 0.1.7 SSE3 DX10 and PCSX2 0.9.5 SVN 351, with no issues (I haven't been using PCSX2 much/at all lately, so no reason to compile later versions myself). Odd that it only happens when you have hacks enabled. I had thought it was a lower level issue than what it now sounds like. Edit: I'm attaching a pair of very lame attempts to get around the problem. I don't think either will work. Both just initialize DirectInput a little later in the startup process. They each have different plugin names, so you can stick them both in your plugin directory at once without any confusion. Also, make sure you set pad 1 and pad 2 to be the same version of the plugin when testing, just to be safe. Odd zip file name is because for some reason I can't upload from FF right now, so had to use a url, and the website's script doesn't like spaces. <New release, attachment removed> Last edited by ChickenLiver; July 4th, 2008 at 16:14. |
|
|
|
|
|
#322 (permalink) | |
|
The Dark Knight
Join Date: Jul 2004
Location: Spain
Posts: 10
|
Quote:
The Test3 not work very well, but the test2 is perfect! you finally fix it! oh... sorry i only like to help you finding a few info for XINPUT, in these pages tell is too easy too add the code and have the two codes working (DInput & XInput). Maybe... you can take one of your free time to try, i can be your betatester if you need one ![]() But not problem, is your pluing, and i like your support!... thanks again to fix the problem for me... thanks! Im reading this Wikipedia Article with more info about this Xinput: http://en.wikipedia.org/wiki/DirectInput EDIT: Great news!!! I find this file: http://www.katch.ne.jp/~morii/xi/xi.zip Only need to install to have a complete Rumble in the LilyPad Plugin without need to install any trith party driver, or uninstall official MS driver. this thing only redirects all DirectInput calls to XINPUT is too easy to use!. Download the file, unpack and right click the INI file and chose Install... and ready to use it!
__________________
Last edited by SiTWulf; May 31st, 2008 at 22:29. |
|
|
|
|
|
|
#323 (permalink) |
|
Plugin author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Perdition
Posts: 557
|
Glad that works. Test 2 and 3 both initialize Direct Input when Pcsx2 queries it for button input, as opposed to when Pcsx2 tells the pad plugin to initialize. They do it in response to slightly different function calls. I figure the problem is the initialization order of something I'm doing and something the GS is doing isn't always quite right.
It's not that the XInput API is difficult to use (It's much easier than DirectInput, actually). The problem is that I resent the API's existence. Instead of improving or replacing DirectInput, Microsoft made an API that is only capable of supporting the XBox 360's controller, or controllers that have the exact same set of buttons as the XBox 360's controllers (Or a subset of those buttons). Then they go around calling Direct Input a "legacy" API, which I find irritating. So the morii driver is a DirectInput wrapper for XInput? XBCD, which is what I normally suggest, communicates with the Xbox 360 controller directly instead, so it only works for the wired version of the controller. I just assumed the morii driver worked the same way. Last edited by ChickenLiver; June 1st, 2008 at 05:45. |
|
|
|
|
|
#324 (permalink) | |
|
The Dark Knight
Join Date: Jul 2004
Location: Spain
Posts: 10
|
Quote:
But i need your help again my friend... how to configure the Rumbles for this gamepad?... i see 3 times the DX Gamepad in Rumble feature... but i dont know how to configure
__________________
|
|
|
|
|
|
|
#325 (permalink) |
|
Plugin author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Perdition
Posts: 557
|
The numbers represent all force feedback "axes" the controller says it has. The entries with multiple numbers let you set a motor to cause multiple axes to trigger.
To bind an axis, just select the Xbox 360 controller in the first pull down menu, select the axis or axis list you want to bind in the second pull down, and then select small motor or big motor. To test the effect, select it from the binding list and click "test FF". You obviously already managed to get this far. When a motor binding is selected, the slider that normally sets sensitivity will set vibration strength. The small motor always vibrates at full force or not at all, as it only has two settings on the PS2 (On and off). The big motor can vibrate with varying degrees of force. The force you select for the big motor is the maximum vibration level. The default of 1.0 maps max PS2 motor vibration to max device vibration. A value of 2.0 will map half PS2 vibration and higher to max device vibration, and a value of 0.5 will map max PS2 vibration to half device vibration, etc. Basically you need to figure out which number corresponds to which motor, and then set the weaker motor to the small motor and the stronger one to the big motor. Depending on the strength of the smaller motor, you might want to decrease its vibration level. Alternatively, you could set both axes to the big motor. Or both axes to both motors, and then give the big motor a vibration of 0.8 and the small motor a vibration of 0.2. It's pretty flexible. If you enable multiple binding on the first page, you can also set a PS2 motor to trigger multiple axes with different levels of vibration. As has been mentioned in recent posts, the different sets of axes don't seem to work, then try toggling the "1D forces" option under hacks on the first screen. Last edited by ChickenLiver; May 31st, 2008 at 23:16. |
|
|
|
|
|
#326 (permalink) |
|
The Dark Knight
Join Date: Jul 2004
Location: Spain
Posts: 10
|
Ok... i test in game and works... i get Rumble perfect in game... my friend we finally get a perfect rumble with only one DLL.
Ok for all others... The first detected Motor is FF1 The secnd detected Motor is FF2 The tirth detected Motor if FF1+FF2 Big Motor - Constant Small Motor - Sine And one thing!... remember to FLIP the L2+R2 axis!!
__________________
|
|
|
|
|
|
#330 (permalink) |
|
Registered User
Join Date: Sep 2007
Location: USA
Posts: 5
|
I'm using a wired XBox 360 controller with the XBCD drivers (possibly version 0.2.6? hard to tell), and I can't seem to get rumble working correctly. The motors listed don't seem to correspond to the motors on my controller.
This is what the "FF Test" button gives me as I go through the options: FF1 Constant: Both motors FF1 Sine: Nothing FF1 Ramp: Small motor FF1 Square: Nothing FF2 Constant: Both motors FF2 Sine: Nothing FF2 Ramp: Small motor FF2 Square: Nothing FF1+2 Constant: Both motors FF1+2 Sine: Nothing FF1+2 Ramp: Small motor FF1+2 Square: Nothing This is the same for the 0.9.1 on the first page and the test version on page 12. I can't say for sure it doesn't work in game, because I never really know if I game is trying to use the motors separately or together. The rumble works correctly in the driver panel, though, and I distinctly remember SSSPSX PAD working with both motors independently in Final Fantasy X. (This plugin is, however, much more responsive in several games than SSSPSX PAD.) EDIT: I get exactly the same thing in the test 2 and test 3 posted on this page, with or without "1D Force feedback forces" checked. If I check "2D Force feedback forces" I don't get any response at all.
__________________
Windows Vista SP1 Core 2 Duo E6420 @ 3.2 GHz GeForce 8600 GTS @ 750/1133 MHz 2 GB Muskin DDR2 @ 800 MHz Turtle Beach Montego DDL Last edited by NonWonderDog; June 7th, 2008 at 19:11. |
|
|
|
|
|
#331 (permalink) |
|
Plugin author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Perdition
Posts: 557
|
Don't think there's anything I can do for you, unfortunately. Unless there's some bug in the 20-40 lines of code to set up force feedback that I've repeatedly missed, which is always possible, then the problem isn't my fault. As a lot of people have been having trouble with FF, I have been looking at that code a lot lately, but just can't see anything wrong with it. Almost certain it's just buggy drivers.
My only suggestion for making only your big motor rumble is to enable multiple binding on the first page and then set both FF1 constant and FF2 ramp (With flip checked for FF2 ramp) to the big motor, and then set FF2 ramp non-flipped to the small motor as well. Don't think this will work, but it might. |
|
|
|
|
|
#332 (permalink) | |
|
Registered User
![]() ![]() Join Date: Jan 2002
Posts: 112
|
Quote:
Hello and thank you Chickliver. Chickliver I have a question. Please bare with me as I don't want to confuse you: Ridge Racer 5 is a racing for the PS2. It supported the Dual Shock, as well as the Namco NeGcon. But it also supported a controller called the Namco JoGcon. The JoGcon was a handheld controller that had a round mini wheel on the face of the controller. ![]() Ridge Racer 5 was the *only* PS2 game compatible with this controller. The game that delivered 100% TRUE STEERING WHEEL FORCE FEEDBACK to this mini wheel. The reason I enphasize 100% TRUE FFB, is because this is the same FFB you'd feel with a Logitech wheel if you played Gran Tursimo 3, only on a mini handheld wheel. So....what I'd like to know is, if I use an FFB wheel for my PC with Ridge Racer 5 via this plugin, what are the chances I will feel the same TRUE FFB effects that are delivered to a real JoGcon on a real PS2?
__________________
GENTLEMEN: START YOUR ENGINES!! Daytona USA is emulated for the PC. *NOTHING more needs to be said* |
|
|
|
|
|
|
#333 (permalink) | |
|
B( o Y o )BS!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Location: Spain
Posts: 883
|
Quote:
__________________
"There's only one absolute truth in our world: shït happens." - Gigaherz (whoever decided "s-h-i-t" is a obscene word needs to grow up a few years) The Book and other stories: Tears of Fantasy - An Online Book... by ME! MetaLife, Inc. (intro) SubGaea (intro) Crow Blade (intro for now) Memories - Prayer from the fallen hearts. My weblog... not like if there was too much to read on it tho. For anyone interested, there's a mirc script which converts "/me 's" into " * nickname's whatever" and adds a nice "/my" command. |
|
|
|
|
|
|
#335 (permalink) |
|
Registered User
![]() ![]() Join Date: Jan 2002
Posts: 112
|
Ahhh, I think I see what you're saying. So basically the plugin only recognizes dual shock vibration effects and translates them through the emu to out game/wheel? Or does the plugin also recognize Immersion's force feedback signal, and does the same thing?
For example, if I connect my force feedback wheel and use it on PCX2 to play Gran Turismo 3, will Lilypad recognize those force effects and deliver them to my wheel? Or will it *ONLY* recognize standard Sony Dual Shock rumble(which is totally different from true Immersion FFB)? When people use the term force feedback they usually mean true Immersion steering wheel force feedback, as felt in all the Gran Turismo games.
__________________
GENTLEMEN: START YOUR ENGINES!! Daytona USA is emulated for the PC. *NOTHING more needs to be said* |
|
|
|
|
|
#336 (permalink) |
|
Plugin author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Perdition
Posts: 557
|
It recognizes standard PS2 vibration commands and maps them to DirectInput vibration commands.
If your proprietary device operates using standard PS2 vibration commands, and the Direct Input driver you're using, in combination with LilyPad, map the PS2 vibration commands back to PS2 commands properly, then it will work. If not, it won't. When people use the term force feedback, in my experience, they generally mean the ability to make a controller vibrate in some way in response to what's going on in game, rather than referring to a single steering wheel I've never heard of before in my life. I'll also point out that "true Immersion force feedback" seems to be a term of your own creation. "Immersion force feedback" "Gran Turismo 3" - Google Search Anyways, without knowing whether the wheel maps the standard 0 to 255 force range (+ 0 to 1 for the small motor) to whatever special vibration it uses, I have no idea whether it will work or not. Last edited by ChickenLiver; June 16th, 2008 at 07:02. |
|
|
|
|
|
#337 (permalink) |
|
[Suggest a custom title]
![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Nov 2002
Location: Somewhere I don't belong (La Rochelle, France)
Posts: 7,753
|
About the crash+slow resizing issues I posted a while ago. I've been playing for a while and now I can say that with Mouse disabled and Keyboard in Raw mode, both problems disappeared. You told me it would fix resizing slowness and crashing was unrelated, but maybe they have something in common TBD :I
__________________
Leader of "The Pessimists' Club" CPU: Core 2 Q6600@3GHz - RAM: 2GB DDR2 (Corsair PC6400) VGA: GF8800GTS 512MB OC - Mobo: Gigabyte EP35C-DS3R - PSU: Antec Trio 650w24Mb/1Mb ADSL --------------------------------------------- All ePSXe plugins up-to-date http://mrkilljoy.deviantart.com/ |
|
|
|
|
|
#339 (permalink) |
|
[Suggest a custom title]
![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Nov 2002
Location: Somewhere I don't belong (La Rochelle, France)
Posts: 7,753
|
Well, last time we talked about slow resizing, you said disabling mouse would work normally (and it does) but also that you'd try to fix the other modes in the next version. It was already 0.9.1 at this time ^^ You prolly fixed it and forgot to post the new build I dunno, I don't have any problem playing with the workaround you gave.
I just wanted to tell you that haven't got any random crash when switching apps and going back to gsdx for a while, and it seems to be from the day I disabled mouse.
__________________
Leader of "The Pessimists' Club" CPU: Core 2 Q6600@3GHz - RAM: 2GB DDR2 (Corsair PC6400) VGA: GF8800GTS 512MB OC - Mobo: Gigabyte EP35C-DS3R - PSU: Antec Trio 650w24Mb/1Mb ADSL --------------------------------------------- All ePSXe plugins up-to-date http://mrkilljoy.deviantart.com/ |
|
|
|
|
|
#340 (permalink) |
|
Plugin author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Perdition
Posts: 557
|
Oh... Was thinking I'd posted a fix. Download the "LilyPad test.rar" from the previous page, and see if that works for you, should have the fix. That the crashes went away means there might be more going on with capturing/releasing the mouse than I thought. Wouldn't be surprised if it's an unrelated (And thus unfixed) mouse bug.
|
|
|
|