Jump to content
Boomslangnz

[Arcade PC] FFB Arcade Plugin

Recommended Posts

--FFB Arcade Plugin--

 

Created by Boomslangnz, Ducon2016 & Spazzy.

 

This is a plugin to provide Force Feedback and Rumble to various arcade games. Initially this was a small project
to add FFB to Daytona Championship USA and it grew from there to support several more games and rumble was added. 
While best efforts were made to try to resemble the real arcade force feedback, It will never be 100% accurate & 
in some cases eg Mario Kart GP DX, Pokken Tournament and Battle Gear 4. Effects were created entirely from scratch
so are not using any real force feedback values

 

--Credits--

 

- Reaver from Teknoparrot . Huge thanks to Reaver for supplying code necessary for some games & general force feedback,
extremely generous.

- Jackchen for his Daytona Championship USA FFB work at beginning of year.

- Howard Castro for help on game FFB code. Always helpful and a big reason this plugin was ever made

- Mame team

- SailorSat for finding the offsets etc required for Daytona USA Multiplayer AI hack

- Nuexzz for finding offset required for Daytona Panoramic Force Hack

- POOTERMAN for making logo on GUI

- Everyone who helps and gives back to this awesome scene. Thanks for everything!
 

 

--Supported Games--

 

***SUPPORTED GAMES***

-Afterburner Climax (Rumble only)

 

-Battle Gear 4 Tuned (Japan version v2.07)

 

-ChaseHQ 2

 

-Daytona USA (M2 emulator 1.1a)

 

-Daytona Championship USA

 

-Ford Racing

 

-Indy 500 (M2 emulator 1.1a)

 

-Initial D4

 

-Initial D4 Japan Version

 

-Initial D5

 

-Initial D6

 

-Initial D7

 

-Initial D8

 

-Machstorm (Rumble only)

 

-Mario Kart GP DX (Version 1.00 & version 1.10)

 

-Pokken Tournament (Rumble only)

 

-Sega Touring Car Championship (M2 emulator 1.1a)

 

-Sega Racing Classic

 

-Sega Rally Championship (M2 emulator 1.1a)

 

-Sega Rally 3

 

-Super GT 24h (M2 emulator 1.1a)

 

-Sonic & Sega All Stars Racing

 

-Outrun 2 Special Tours Deluxe

 

-Over Rev (M2 emulator 1.1a)

 

-Wacky Races

 

-Wangan Midnight Maximum Tune 5 (Update 5)

 

-San Francisco Rush, San Francisco Rush The Rock, San Francisco Rush 2049 & San Francisco Rush 2049 SE (Mame 0.199 or 0.206 only)
 

-Rave Racer (Mame 0.199 or 0.206 only)

 

-California Speed  (Mame 0.199 or 0.206 only)

 

-Cruis'n World  (Mame 0.199 or 0.206 only)
 

-Cruis'n USA  (Mame 0.199 or 0.206 only)
 

-Off Road Challenge  (Mame 0.199 or 0.206 only)
 

-GTI Club Supermini Festa

 

-Road Fighters 3D

 

-Nascar Racing

 

-Let's Go Island

 

-Let's Go Island 3D

 

--How to use--

 

Place the main dll file, SDL2.dll & FFBPlugin.ini into game folder for most games. For Teknoparrot Lindbergh 
games place opengl32.dll, SDL22.dll into Teknoparrot folder inside Main Teknoparrot folder & FFBPlugin.ini into same folder as elf file for each game.

Elf file is like the lindbergh version of an exe eg the file you choose to load via teknoparrot

If using GUI, put FFBPluginGUI.exe & Metroframework.dll into same folder as FFBPlugin.ini

If you are using FFB Plugin on Teknoparrot instead of using Teknoparrot built in FFB, Please turn off Force Feedback in TeknoparrotUI. (Not necessary on latest TP Versions)

ini file contains settings to adjust for each game

GameId= **GameId for code to identify game, also has a test FFB mode,-1 for Constant test ,-2 for
Sine test, -3 for Friction test, -4 for Spring test, -5 for Heavy test or -6 for loose test**

MinForce= **Minimum FFB force with 0 being lowest value available**

MaxForce= **Maximum FFB force with 100 being highest value available**

DeviceGUID= **Set Device GUID to connect to specific wheel or controller**

EnableRumble= **Turn Off (0) if your wheel supports rumble effect. For controllers, turn on (1)**

Logging= **Turn On (1) to allow log.txt to be made to log plugin. Device GUID is given in here**

ResetFeedback= **When a command is set that contradicts a prior command, clear the prior command. Should stay as 1**

FeedbackLength= **Length of a feedback command**

DefaultCentering= **If a game does not specify its own Centering force then a default centering can be applied here.
If a game has any of its own such forces,these values will be overwritten immediately in-game. Use -1 to disable**

DefaultFriction= **If a game does not specify its own Friction force then a default friction can be applied here.
If a game has any of its own such forces,these values will be overwritten immediately in-game. Use -1 to disable**

BeepWhenHook= **Beep should occur if dll is hooked by executable when turned on (1)**

FFBMode= **This will raise strength of lower forces, potentially could cause oscillation to occur on certain games. Set 1 to turn on**

AlternativeFFB= **This is for certain wheels where roll effect does not work correctly normally (such as PWM2M2 or Thrustmaster 300rs etc). Set 1 to turn on **

Device2GUID= **Set Device 2 GUID to connect to secondary specific wheel or controller (buttons only)**

 

--Downloads--

 

0.1:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.1a:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.
(from discord)

0.1a+fix: 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.
(from discord)

0.2: 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.3: 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.4:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.5:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.6: (includes GUI) 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.6a (includes GUI) 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.7 (includes GUI)  *removed link as 0.7 is broken*

0.8 (includes GUI) 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

0.9 (includes GUI) 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Edited by Boomslangnz
  • Like 11
  • Thanks 13

Share this post


Link to post
Share on other sites

Awesome, been waiting for this. Works great with the G920 wheel.

 

A few steps to get it working with the g920.

First if your using teknoparrot don't enable force feedback in the options.

Then in the ffbplugin.ini for each game you need to have your guid for the G920.

The guid can be found by going into the ffbplugin.ini and enabling logging=1

Open game and close it real quick then go to log.txt. The logitech g920 guid should be in there.

Copy and paste the # then put it in the deviceguid= of each games ffb.ini.

 

 

Edited by mjshl2

Share this post


Link to post
Share on other sites

Yeah hopefully supports all wheels and controllers :)

 

Just a note for TeknoParrot users,

if you are wanting to use Teknoparrot FFB then tick Use Force Feedback in TeknoParrotUI and remove these plugin files from game folders, If you want to use this plugin for ffb then Untick Use Force Feedback from TeknoParrotUI. Same deal goes with x360ce etc, need to turn off force feedback in x360ce if using this plugin instead for Daytona Championship USA

 

This plugin is standalone from the force feedback built into teknoparrot so it could cause problems to try use both etc

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Thank u very much dude.

Share this post


Link to post
Share on other sites
1 hour ago, Moksi said:

this does only work for G920 ?

No. It works for many wheels and controllers.

Share this post


Link to post
Share on other sites

Awesome Work!!! :bravo:

 

Thank you very much for this feature!!!

I was looking forward to it since a while!!!

 

Just one question: does it differ a lot from the actual teknoparrot effect or it is almost the same feeling?

 

Thousand thanks!!!!

Share this post


Link to post
Share on other sites

i just leaveyou a little feedback about my feeling for the  games i just tried!

 

and : :Animaux-Monkey-love::crazy-monkey-nani::banana::banana::winner::amen::jeu-video::dude:

 

this is so excellent!!!!

 

i tried : ( default settings given in the FFBPlugin.ini ) i have just disable rumble feature but i will make more tests as soon as i can.

 

Sega Rally 3  --> not awesome but i am happy with it (maybe some settings somewhere to improve it) (i don't have time sadly)

Daytona Usa 3   --> the game is awesome now!!!!!! 

Mkdx v1.00 --> excellent work from the dev!!!  really the game is so fun now!!!!

Ford Racing --> good surprise! the ffb for this game is excellent!!! 

 

i have already test ffb with the other games using the ffb plugin of TP, but i will test each racing game with this plugin as soon as i can!

 

remember to use the Guid that is written in the log text. not the one given by the old method (ListDirectInputGuids.exe), it is a little different at the beging of the guid.

and disable ffb in the Tp version that you are using.

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Thanks for the feedback!

 

Yeah it's best to disable rumble if using a wheel really and enable if using a controller. 

 

I have it triggering rumble and wheel effects at same time and this potentially could cause issues depending on wheel etc. I wasn't really sure which is why I made option in ini for it 

 

This should work on any wheel or controller hopefully although I have only tested a few.

 

This will differ from teknoparrot ffb somewhat as we use different code per game etc. 

 

Compare and see which one you prefer, Teknoparrot FFB is excellent too

Share this post


Link to post
Share on other sites

i have a g27 & tried Battle Gear 4 tuned & it didnt work .

WHen logging is enabled should it create a log.txt file, but theres no file in the game folder

i use Game Loader all rh to start the game

 

Share this post


Link to post
Share on other sites

Amazing work and great compliments to everyone that made it possible. Top stuff and what this community is all about ;-) Thankyou everyone cant wait to try it out

Share this post


Link to post
Share on other sites

And what about Outrun 2 SP lindbergh?

Will there be ffb for this game ?

Thx

Share this post


Link to post
Share on other sites

Just tried this on Initial D8 using an xbox360 pad and would like to say thanks for adding the rumble effect, it really makes a difference when turning etc. 

Just to ask as I cannot check, is the effect when hitting a car or wall through the FFB solely or should there be rumble also as Im not getting any. Absolutely spot on though there are going to be a lot of happy people that can get some effects now. In the future I will invest in a thrustmaster but until then this is top

Edited by fire10

Share this post


Link to post
Share on other sites
2 hours ago, Moksi said:

i have a g27 & tried Battle Gear 4 tuned & it didnt work .

WHen logging is enabled should it create a log.txt file, but theres no file in the game folder

i use Game Loader all rh to start the game

 

Hm I haven't tried it with game loader all rh at all. Can you try directly on exe? I tested it on jconfig myself as I believe bg4 doesn't load on teknoparrot atm

 

Yep I will do Outrun 2 SP Lindbergh but wasn't finished in time for this first release. It's on the to-do list

 

I forgot to say too, for Initial D games, ensure in test menu you set force to 10 in menu

Edited by Boomslangnz
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
il y a une heure, Boomslangnz a dit :

 

Yep I will do Outrun 2 SP Lindbergh but wasn't finished in time for this first release. It's on the to-do list

@Boomslangnz :very-good: this game deserve it.

 

I tried 2 other  games:

Chase hq2 --> excellent when you push the nitro on! The wheel is rumble strong!

 

Wmmt5 --> i have to set up a little the ffb default settings cause it was too strong ( especially with the line on the highway). At the moment i lower the max ffb force to 80 and forcefeedbacklength to 10.

:rolleyes:

Share this post


Link to post
Share on other sites

Awesome Works !!!! Thank you :)

Works perfectly on steering wheel driving force GT with SR3, WMMT5, MKDX, ID8, but does not work with Daytona Classic Version, the steering wheel is not recognized

Share this post


Link to post
Share on other sites
52 minutes ago, guest30 said:

Awesome Works !!!! Thank you :)

Works perfectly on steering wheel driving force GT with SR3, WMMT5, MKDX, ID8, but does not work with Daytona Classic Version, the steering wheel is not recognized

 

Hi, glad it works well for you mostly. So you get nothing happening on Sega Racing Classic? Have you checked log.txt and seen what it says. Make sure you have put your guid in the ini file etc too 

Edited by Boomslangnz

Share this post


Link to post
Share on other sites
Il y a 5 heures, guest30 a dit :

Awesome Works !!!! Thank you :)

Works perfectly on steering wheel driving force GT with SR3, WMMT5, MKDX, ID8, but does not work with Daytona Classic Version, the steering wheel is not recognized

 

The wheel is not recognize, or there is no ffb? This is not the same. Check your tp keybind settings first.

I will try ffb plugin with this game soon as i can.

Share this post


Link to post
Share on other sites

i re-tested Sega Racing Classic before and it worked ok here. Only thing is I actually properly have the effect when driving over grass a little wrong cos it vibrated wierd on Logitech G920 here lol

 

I modified it here a little so will change that for next release

Share this post


Link to post
Share on other sites

Anyway to play MK DX with a xbox controller without having it rumble hard core constantly when the gas applied? Even putting everything pretty much at the min, I saw no behavioral change in game. Example:

 

; *****************************************************
; *** FFB Settings for Mario Kart Arcade GP DX v110 ***
; *****************************************************
[Settings]
GameId=20
MinForce=0
MaxForce=10
DeviceGUID=78696e70757401000000000000000000
EnableRumble=1
Logging=0
ResetFeedback=1
FeedbackLength=25
DefaultCentering=-1
DefaultFriction=-1
BeepWhenHook=0

 

 

Share this post


Link to post
Share on other sites

well it doesn't rumble constantly as you kinda say, what it does is it has terrain effects depending on surface you are driving on

 

It will rumble depending on terrain you are driving on at different strength etc. Now with wheel this is a bit easier to make obvious, so with rumble I simply have the ability to either rumble left motor, rumble right motor or rumble both motors at different strength etc

 

If the terrain effects are not liked for rumble controllers then I can remove. but you will notice that it rumbles while driving on dirt etc, then stops when on water or carpet etc, stops while flying etc too.

Share this post


Link to post
Share on other sites
9 hours ago, Boomslangnz said:

 

Hi, glad it works well for you mostly. So you get nothing happening on Sega Racing Classic? Have you checked log.txt and seen what it says. Make sure you have put your guid in the ini file etc too 

The steering wheel is not recognized, the GUID value remains at 000000000000000000000000000000
while for the other games the steering wheel is well recognized, strange

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Share this post


Link to post
Share on other sites
5 hours ago, ginzu said:

 

The wheel is not recognize, or there is no ffb? This is not the same. Check your tp keybind settings first.

I will try ffb plugin with this game soon as i can.

The steering whell in not reconginzed in log.txt, but it work with no ffb in game

Edited by guest30

Share this post


Link to post
Share on other sites
il y a 58 minutes, guest30 a dit :

The steering whell in not reconginzed in log.txt, but it work with no ffb in game

 

Ok,  weird..

I'll take a try this evening.

Share this post


Link to post
Share on other sites

Now it works, maybe I had a problem
Physically removing the steering wheel and installing it again everything  works
Sorry for the inconvenience

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Share this post


Link to post
Share on other sites
il y a 34 minutes, guest30 a dit :

Now it works, maybe I had a problem
Physically removing the steering wheel and installing it again everything  works
Sorry for the inconvenience

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

No problem :very-good:

Share this post


Link to post
Share on other sites

@Boomslangnz

Hi,

 

Do you plan to add Road fighter 3D on your todo list too? :rolleyes:

 

Thx

Share this post


Link to post
Share on other sites

Maybe, I had hoped someone would fix test menu saving etc for Road Fighters and then I would add.

 

Glad you got it working guest30! Not sure why it wasn't giving guid previously

  • Thanks 1

Share this post


Link to post
Share on other sites
11 hours ago, Boomslangnz said:

well it doesn't rumble constantly as you kinda say, what it does is it has terrain effects depending on surface you are driving on

 

It will rumble depending on terrain you are driving on at different strength etc. Now with wheel this is a bit easier to make obvious, so with rumble I simply have the ability to either rumble left motor, rumble right motor or rumble both motors at different strength etc

 

If the terrain effects are not liked for rumble controllers then I can remove. but you will notice that it rumbles while driving on dirt etc, then stops when on water or carpet etc, stops while flying etc too.

 

Thanks for responding. This real issue is the effect is way too strong honestly - my controller feels like it's at like 75% rumble the entire race. Gets annoying and defeats the purpose. Also, when you hit water, it goes to 0%, so it makes the dropoff more significant/noticeable/fake-feeling.

 

I would not remove entirely, but take it from the ~75% down to about ~25% or make it respect what I'm putting in the ini (which it doesn't seem to be doing).

 

Other than terrain, is there anything else that causes rumble in this game?

 

 

Share this post


Link to post
Share on other sites

It's actually already at only 30% of the rumble strength available (when driving over dirt)

 

Wheel has water effect but controller I didn't do rumble for water

 

Yes it will rumble strong when hitting walls, other karts or get hit by weapons etc

 

Thats a good point however about the max ffb strength etc not working in rumble. I didn't check that and it may not change with rumble. I'll take a look later and fix for ini to work on rumble with that 

 

I tested with xbox one controller but I wouldn't expect 360 to be hugely different. 

 

Thanks for the feedback 

Edited by Boomslangnz
  • Like 1

Share this post


Link to post
Share on other sites

Thanks man. Anything to tone down the terrain rumble (or make it get set in ini) would make the experience amazing on this awesome arcade game. Thanks for your time!

 

Note:

The setting in ini WAS respected on Sega Rally 3.

I have an xbox one pad also.

Share this post


Link to post
Share on other sites

Give this a try and get back to me, ive modified it slightly and it should actually change strength via ini now.

 

However be careful not too go too low on the max force or else some effects won't even work!

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Share this post


Link to post
Share on other sites

I cant get this working on Daytona championship I have had game working for ages just wanted to get ffb working

I have the cracked game zip with no jvs and the launcher and 360ce all working just cant get ffb working any ideas

which version of the fixed exe launcher are you all using any ideas would be great

I am using Logitech wheel

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×