DX7 Rumble Library

Blitz3D Forums/Blitz3D Userlibs/DX7 Rumble Library

Pepsi(Posted 2007) [#1]
---------------
Notice:

I know everybody will be sad about this traumatic news, but...

I am no longer hosting DX7RumbleBeta1a.zip. Feel free to share this dll with others. I no longer have a copy. It's history. Kaaaaa - puuut ! It's no longer in development. I haz no codes for it.

If you are bored and remember me back in the beginning days of blitz3d and/or want to see what I'm up to, hit ExoDev.Com

Hit me up when Blitz3D-X11 comes out! Such a money maker waiting to be had!

Peace!
---------------


Im at a stopping point, here is a beta release of a new DirectX7 based game device force feedback library. My docs are not really all that pretty, but it's the best i can do. The zip file includes the dll, decls file, and 3 demo examples. The examples dont show everything that the library can do unfortunitely.

I need brave souls to adventure in the Force feedback realm and create examples for us! I only have one FFB enabled gamepad so it's about impossible for me to find bugs and see if all of this works. I will be glad to try to help people figure this stuff out. Pretty Please o:)

Features:
- Allows you to access DirectX 7's DirectInput game device controls and FORCE FEEDBACK!
- Created to use DirectX 7's technology to keep it the same level as what Blitz3D uses.
- Create FFB Effects.
- Create Envelopes to further manipulate effects.
- Update effects on-the-fly to react to game conditions.
- Enumerates all windows registered game devices that are currently connected.
- Get game device names and the regular button/axle/pov/slider info.
- Set range, saturation and deadzones to fine tune a game device incoming data.
- FREEWARE!

Todo(no pacticular order):
- Decide how to implement SET_EFFECT_CONDITION correctly.
- Add a SET_EFFECT_SPHERICAL_AXES command
- Somehow add a "game device is full of effects" command.
- Add a SET_EFFECT_CUSTOM command.
- Add Write Effect to File command.
- Add Load_FFB_Effect command.
- Fix bugs that you all find.
- Add Examples that you all create.
- More dll debug info...
- better docs... hopefully... mabie...



and remmember... it's FREE ;)


(tu) sinu(Posted 2007) [#2]
well i have a dc/n64/ps1 and a ps2 and gc adapter so i'll give it a test


Mustang(Posted 2007) [#3]
Cool - this is great! Just noticed other posts too... I can test this today at work where I have Logitech rumblepad.


Leto(Posted 2007) [#4]
Sounds wicked, Pepsi. I've actually ordered a PS2-to-USB cable so I use a joypad in my game. It'll be fun to try out rumble too.


Pepsi(Posted 2007) [#5]
Hiyas, hopefully you guys that have these console gamepads will be able to use DirectX 7's force feedback. It will be interesting to know.

I know the XBox360's gamepad wont work with this, which was a bummer for me at least... the new DirectX's XInput dll is needed for that.

Thanks for the interests of wanting to try it out you all. :)


Damien Sturdy(Posted 2007) [#6]
Pepsi...

users of the Xbox360 control pad should use the modified XBCD drivers that enable FFB. then this will work :)


Pepsi(Posted 2007) [#7]
XBCD - XBox Controller Driver for Windows 98/2000/XP
http://www.redcl0ud.com/xbcd.html

Thanks Cygnus! Will give it a try asap :)


Mustang(Posted 2007) [#8]
Whoops... someone has nicked my work-rumble... I have only the basic pad on my desk. Doh. Now I have track criminal who took my rumble...


Damien Sturdy(Posted 2007) [#9]
Peps- Ideally you need to use the xbox360 version for the 360 controller...

http://xbcd360guide.50webs.com/


Leto(Posted 2007) [#10]
Damn, the adapter arrived but my PC doesn't detect it. Have to get a replacement, then try out this library.


Leto(Posted 2007) [#11]
Hey Pepsi,

I got my new adapter, a EMS USB2 "Dual Shooter". My PS2 Dualshock2 connects fine and Blitz picks up all the buttons and analog stick.

The DX7Rumble DLL does detect the device fine too, and can get buttons and analog stick but looks like it's not sending the rumble commands through :-\ The demos say that rumble is available but nothing happens.


Pepsi(Posted 2007) [#12]
Hiya Leto, sorry for the long delay there in a response. I'm currently going to a heavy equipment operator college( ie: shacked up in a hotel as im away from home... finally purhased sprint's wireless broadband usb modem to get on the internet... man i was hurting without it! ).

Have you tried your new adapter with pc games that offer force feedback capabilities?

If you have a DirectX SDK installed on your machine, a good test for your ps2 device is to run the force feedback samples.

My code is pretty much based on those samples... as it should be a generic way to allow any game device with directx supported ffb capability to feel the rumble.

I'll bleed my eyes out at my code to see if i missed something but without any feed back from other people that could test this beta, it may be next to impossible for me to figure something out code wise in the dll itself.

I am wanting to get the blitz3d sdk ... so mabie i can redesign this dll to work with that too if need be and attract a few more people with this hopefully.

Oh, have you looked in the dx7rumble_debug.txt file after running the example demo? Anything look suspect in that? I might be able to throw in more debug statements in the dll.

thanks for the feed back :)


blade007(Posted 2007) [#13]
yay ty, u rock! i have 2 joystick with FFB GGE908 PC recoil pad and FFB GGE908 PC recoil pad. i dont see any bug yet..


mws(Posted 2007) [#14]
Thanks Pepsi!

Works great with the following (even both at the same time)

* CH Flightstick Pro (midi/game-port old school)
* Momo racing wheel with pedals (USB)

I'm making a helicopter flight-sim. The stick controls the main rotor and the Momo racing pedals control the tail rotor.

Neither the pedals or the stick are force-feedback.

I love the fact I can set the axis range and not have to worry about input anomalies that show-up with the JoyX() command.


Mike


Abrexxes(Posted 2007) [#15]
Great job Pepsi.

Works fine here on a Playstation/USB Converter (ffb not tested).


Pepsi(Posted 2007) [#16]
Cool! Thanks for the feedback everybody.

This library should have no problems with game devices that are made for the PC even with FFB support. When it comes to game devices that are made for consoles which have rumble/FFB capabilities, I really believe its going to come down to the "PC drivers" for that paticular console game device if rumble/FFB will work or not with DirectX 7 Input. The DirectX 7 Input component has to look into the game device driver itself to see if it supports FFB or not. I say that because Im still wanting to hear back from LETO!!! :P
Abrexxes, I assume you have a PS2 gamepad? I would love to hear if FFB works for your PS2 controller. Thanks. LETO, above posts, is/was having problems with FFB with his PS2 controller.


On a side note:
Badnews for me for continuing development of this library at the moment. My Visual Studio 6 no longer works for me. This happened after I installed all the .NET Express Garbage. Even after I uninstalled the .NET Express garbage, there must be some .NET Express garbage lying around because my poor VS6 still wont work. I tried re-installing VS6 and now it wont even install all the way. I'm thinking the only way to get VS6 to work for me again is to format my drive and re-install everthing except for the .NET Express garbage. I dunno if that is a viable solution at the moment... :\


Mustang(Posted 2007) [#17]

I dunno if that is a viable solution at the moment... :\ :)



re-format -> re-install OS etc probably IS the only "easy" way...


Pepsi(Posted 2007) [#18]
ofcoarse it is :)
It just takes soooo long to save all of my personal data and to then format the drive, reinstall xp, windows update everything, reinstall dx sdk, reinstall all my registered software, reinstall my fave games, put personal data back where they belong, etc... that's a good days work! :\ ofcoarse then my harddrive fragmentation should be next to 0% finally.

I use that for my alienware laptop, it's my baby. But, My PC is still functional and VS 6.0 still works on it. So, I might can force myself to program on it for VS 6 related stuff. O_o


Leto(Posted 2007) [#19]
Sorry, Pepsi, I didn't investigate anymore. I think the adapter's drivers just don't support DX7 rumble commands but I didn't double-check against other DX version examples (if there are any).

Also my PS2 controller is packup coz I now have a PS3 which doesn't even have rumble, d'oh! :)


Pepsi(Posted 2007) [#20]
No problem Leto :)


IPete2(Posted 2007) [#21]
Man you are a GOD!

Thanks Todd!

IPete2.


Pepsi(Posted 2007) [#22]
lol... No problem man! :)

Hows it working for you? With the current basic functionality of it, are you able to achieve what you want with it?


IPete2(Posted 2008) [#23]
Todd,

I used the library in 3 kiosks using Ultimarc joysticks and arcade buttons, works beautifully and the fact I can tell the software what I want to expect as a range was an absolute lifesaver.

I am not using rumble on this occasion, mainly because the Ultimarc doesnt support it, but your library does everything it should and more for me...

Thank you very much once more!

IPete2.

oh and check your email!


Pepsi(Posted 2008) [#24]
Hi Peter, I replied to your email before I saw this. Thank you for the exciting feed back! :)


Matty(Posted 2008) [#25]
This is great, thanks for making it. There is a similar thing in the toolbox but the link is broken.

Very useful to me.


Pepsi(Posted 2008) [#26]
Thanks Matty :)

At the website that use to exist at that link, they offered thier library for $9.99 if I remmeber correctly. That motivated me to make my second attempt at a DirectInput library for blitz3d which is a complete re-write and a much better, cleaner design then my first attempt... that some people here may remmember.

Unfortunitly, I cant hook up my ol' Microsoft Force Feedback Joystick to a (9-pin?) serial gameport that it needs. So the development of FFB side of this library is on an indefinite hiatus until I can get my lazy self to find a suitable FFB joystick to test with. But, it "seems pretty solid" for everything else like regular game devices without FFB and FFB game devices like gamepads that only need a "rumble" effect.

So hopefully, the current functionality will at least work for everybody that tries it.