Jump to content



Photo
- - - - -

Doflinx and XBOX 360 gamepad


  • Please log in to reply
75 replies to this topic

#61 Rund8289

Rund8289

    Hobbyist

  • Members
  • PipPip
  • 25 posts

  • Flag: United States of America

  • Favorite Pinball: The Flinstones

Posted 17 July 2020 - 11:20 PM

Nevermind- Just needed the playsound orig volume directly under FF_Dev Enc. I got rumbles and sounds! Now Im set! Haha. Thanks again for everything!!!

#62 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,601 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 18 July 2020 - 01:56 AM

Sure, its the additional PlaySound line below the FF_DevEnc line.
 
 
Sub FF_SoundVol(FF_Device,OnTime,OrigSound,OrigVolume)
  if FF_Active = True then
    if FF_IsDevice(FF_Device) = true then
      FF_DevEnc FF_Device,OnTime
      PlaySound OrigSound, OrigVolume
    else
      PlaySound OrigSound, OrigVolume
    end if
  else
    PlaySound OrigSound, OrigVolume 
  end if
End Sub

DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#63 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,859 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 18 July 2020 - 05:15 AM

no way to point that directly at either directinput or xinput is there? 
Though directinput is possibly better

With out the need for the external board or what not?

 

Talking directly to xinput is cool, i mean you can drive the rumble motors, and with an amplifier on the h-bridge (i am guessing they use an h-bridge?) you could make the xbox controller run larger shaker motors.

But in directinput, can use positional servo motors, and actually go applying force to things.

I was playing a table called alone in the dark, and i thought it would be kind of crazy if you had the flipper buttons in a cab in a kind of floating mount
and you used real force feedback to push them out against the players hands during certain events.

Scare the crap out of someone, at least once.
Probably some other stuff you could do as well


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#64 Rund8289

Rund8289

    Hobbyist

  • Members
  • PipPip
  • 25 posts

  • Flag: United States of America

  • Favorite Pinball: The Flinstones

Posted 26 July 2020 - 04:06 PM

Hi DDH69, me again, haha. I was wondering if there was ini a command that would allow 2 controllers to rumble at the same time, like B for both, or 1&2? I thought it would be cool if I could get 2 controllers to rumble at the same time when a shaker/gear motor/fan/drain event occurred.

I doubt this is a possibility since the controllers are inputs, but I thought I would ask the question.

Also wanted to thank you again for your help. I have 2 Xbox controllers literally taped (for now) to the underside of my TV basically cradling my flipper buttons so each hand rests on the motors. The feedback is awesome, it adds a whole new dimension to my tables, and I didnt have to go out and spend $$$$ and setup SSF or other hardware, etc. thank you!!!!!

Its also been fun Dofing non-dofd tables to run my Xbox motors during table events, hits, etc. really cool stuff. Thanks again!!!

#65 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,601 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 27 July 2020 - 01:48 AM

Hey, ask as many questions as you like, its how we all learn.

 

You should already be able to have two motors for a function.  Just add that function twice to the parameter line.  So, for example,  add "LS" twice with different motor outputs.  They can be any of the 4 XBox controllers, so you could have "LS" trigger the left motor in controller #1 and the right motor on controller #3.


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#66 Rund8289

Rund8289

    Hobbyist

  • Members
  • PipPip
  • 25 posts

  • Flag: United States of America

  • Favorite Pinball: The Flinstones

Posted 27 July 2020 - 02:51 PM

Awesome, thank you!!!

#67 Rio

Rio

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: ---------

  • Favorite Pinball: None

Posted 31 July 2024 - 12:04 AM

The good news is what you are trying to do should work with no external hardware.  The XBOX_RUMBLE= is the parameter to setup to enable FP XBox rumble.  The bad news is you will be one of only one or two doing this and my memory is shockingly bad.

 

Testing using a key press is a great way to start your journey.  Get the feedback working first.  To get the key press working let's check a few things;

1) Are you running with DEBUG=1 or 2 so tht we get some logging?  If not, do this.

2) Do you see an XBox device recognised by DOFLinx at startup?  If so what device # is it, if not its not going to work.

3) When you press J0205 do you see anything in the log?  (remember you must be doing this while a game is running and DOFLinx is active)

Hi,

 

this is a slightly older post - I'm trying to do the same as Rund8289, but for future pinball, namely triggering the rumble of my wireless XBOX controller (without any additional hardware).

2) is not displayed for me inside DOFLinx v8. Do I still have to start & configure x360ce for this? Or can the XBOX controller be recognised by DOFLinx without tools?

 

I appreciate any help you can give me.


Edited by Rio, 31 July 2024 - 12:10 AM.


#68 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,601 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 01 August 2024 - 05:09 AM

DOFLinx will detect any XBox controllers that Windows can see.  This happens at DOFLinx startup.  If you put DEBUG=1 in your DOFLinx.ini you will see what is found.  This is the first step.


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#69 Rio

Rio

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: ---------

  • Favorite Pinball: None

Posted 04 August 2024 - 04:36 PM

you are right, DOFLinx detects my gamepad if an DOFLinx.INI was created automatically, but aborts immediately when starting with that ini.

So I had adjusted the path of the Colours.ini in the ini, but when starting it reports an error:

---------------------------
DOFLinx Critical Error
---------------------------
Oh no - Can't find DOF configuration / colours file named
---------------------------
OK   
---------------------------

DOFLinx is in the FuturePinball folder and I start via the subfolder Starter 32 bit\DOFLinx.exe. Is that the right way?
 

My DOFLinx.ini:

####
# System generated DOFLinx.INI file at 18:24:26 Sonntag, 4. August 2024
####

DEBUG=1

DIRECTOUTPUTCONFIG=
DIRECTOUTPUTGLOBAL=
PATH_B2S_SERVER=C:\VP\

# location of your files and systems
COLOUR_FILE=D:\Spiele\FuturePinball\DOFLinx\config\Colours.ini

PROCESSES=

.... and COLOUR_FILE points to the correct file.

 

 

And the last lines in debug output are:

Oh no - Can't find DOF configuration / colours file named
Stopping ROM
PinOne Port =
No valid output devices for DOFLinx were found ... sorry about that
Shutting down

Edited by Rio, 04 August 2024 - 04:49 PM.


#70 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,601 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 04 August 2024 - 11:38 PM

The error is being caused by the line "DIRECTOUTPUTCONFIG=" , remove that.

 

You can place DOFLinx anywhere you like provided it has all the files required to run.  Usually its in the \DOFLinx or \DirectOutput folder, but as I say, it will happily run anywhere, so whatever works for you is fine.

 

As an observation your DOFLinx.INI file looks a little lite on to actually run anything, ie you've got no PROCESS= set so it will never start up.


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#71 Rio

Rio

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: ---------

  • Favorite Pinball: None

Posted 05 August 2024 - 12:13 AM

Thx for your support. I will try it out tomorrow.

#72 Rio

Rio

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: ---------

  • Favorite Pinball: None

Posted 05 August 2024 - 08:23 AM

Hi,

 

I added the rumble params from Rund8289 to my script:

DEBUG=1
SHOW_IN_TASKBAR=1

# DIRECTOUTPUTCONFIG=
# DIRECTOUTPUTGLOBAL=
# PATH_B2S_SERVER=C:\VP\

# location of your files and systems
COLOUR_FILE=D:\Spiele\FuturePinball\DOFLinx\config\Colours.ini

FP_ATTEMPT_LINK=1
FP_LINK_WAIT_TIME=95000

XBOX_RUMBLE=LF,1,L,20000,500,RF,1,R,20000,500,LS,1,L,40000,1000,RS,1,R,60000,100
#XBOX_RUMBLE=J0205,L,65000,150,J0206,1,L,65000,150
#XBOX_RUMBLE=J0205,1,L,60000,1000
KEY_TO_XBOX_RUMBLE=J0205,1,L,65000,150,J0206,1,L,65000,150

PROCESSES=Future Pinball

gamepad and Future Pinball is detected. log of 32 bit version (EDIT: ignore this, I have to use 64 bit instead (as mentioned in the guide)):

05-Aug-24 10:19:31.299 - DOFLinx for Pinball Emulators - DOFLinx by DDH69
05-Aug-24 10:19:31.304 - Starting up - version 8.09
05-Aug-24 10:19:31.305 - 64 bit operating system
05-Aug-24 10:19:31.305 - 32 bit application
05-Aug-24 10:19:31.305 - For support come And visit the community here http: //www.vpforums.org/index.php?showforum=104
05-Aug-24 10:19:31.309 - Pre-Reading DOFLinx.INI startup config file details
05-Aug-24 10:19:31.367 - DEBUG enabled with showing of window True
05-Aug-24 10:19:31.443 - No DOF Global Config file supplied
05-Aug-24 10:19:31.457 - XBox controller 1 detected, capability = Wireless
05-Aug-24 10:19:31.495 - Joystick # 2 detected : 16 buttons   DPAD Z-Axis
05-Aug-24 10:19:31.608 - PinOne Port =
05-Aug-24 10:19:31.642 - No valid output devices for DOFLinx were found ...... sorry about that!
05-Aug-24 10:19:31.647 - Reading DOFLinx.INI startup config file details
05-Aug-24 10:19:31.652 - Turning DEBUG off
05-Aug-24 10:19:31.672 - DEBUG enabled with showing of window True
05-Aug-24 10:19:31.682 - Reading DirectOutputConfig file named D:\Spiele\FuturePinball\DOFLinx\config\Colours.ini
05-Aug-24 10:19:31.718 - Set Debug Privilege = Set OK
05-Aug-24 10:19:31.829 - Trigger thread starting
05-Aug-24 10:19:33.455 - Stopping ROM
05-Aug-24 10:19:33.549 - PinOne Port =
05-Aug-24 10:19:33.558 - No valid output devices for DOFLinx were found ...... sorry about that!
05-Aug-24 10:19:35.831 - Found valid process name of 'Future Pinball'
05-Aug-24 10:19:35.835 - Setting Future Pinball process ID to :8248
05-Aug-24 10:19:37.851 - Activated by process name : 'Future Pinball'
05-Aug-24 10:19:37.863 - Named process detected and startup commenced
05-Aug-24 10:19:37.871 - 64 bit OS detected
05-Aug-24 10:19:37.916 - FP full name=D:\Spiele\FuturePinball\Future Pinball.exe Size=28547584 bytes, Dated 10.07.2022 07:57:42
05-Aug-24 10:19:37.923 - 12E=35 12F=1
05-Aug-24 10:19:37.927 - The FP executable being run appears to have its >2gb memory flag modified, you may experience issues
05-Aug-24 10:19:37.934 - Starting scan of FP process for DOFLinx code
05-Aug-24 10:19:42.210 - Shutting down
05-Aug-24 10:19:42.233 - Program close

I changed also the DOFLinx.vbs in FP scripts folder for testing purposes, as you advised:

Function FF_IsDevice(ByVal TestFor)
  if (DDH_Slots(0,0) and (2^(TestFor-1))) = 2^(TestFor-1) then
    FF_IsDevice = true
  else
    FF_IsDevice = false
  end if
End Function
> For testing
Function FF_IsDevice(ByVal TestFor)
  if (DDH_Slots(0,0) and (2^(TestFor-1))) = 2^(TestFor-1) then
    FF_IsDevice = true
  else
    FF_IsDevice = true
  end if
End Function

> So just changing that else false to true.

 

 

And Ok, if I try the 64 bit variant of DOFLinx then the debug output says:

05-Aug-24 14:42:49.897 - DOFLinx for Pinball Emulators - DOFLinx by DDH69
05-Aug-24 14:42:49.902 - Starting up - version 8.09
05-Aug-24 14:42:49.903 - 64 bit operating system
05-Aug-24 14:42:49.903 - 64 bit application
05-Aug-24 14:42:49.904 - For support come And visit the community here http: //www.vpforums.org/index.php?showforum=104
05-Aug-24 14:42:49.907 - Pre-Reading DOFLinx.INI startup config file details
05-Aug-24 14:42:49.979 - DEBUG enabled with showing of window True
05-Aug-24 14:42:50.061 - No DOF Global Config file supplied
05-Aug-24 14:42:50.109 - Joystick # 2 detected : 16 buttons   DPAD Z-Axis
05-Aug-24 14:42:50.222 - PinOne Port =
05-Aug-24 14:42:50.252 - No valid output devices for DOFLinx were found ...... sorry about that!
05-Aug-24 14:42:50.255 - Reading DOFLinx.INI startup config file details
05-Aug-24 14:42:50.257 - Turning DEBUG off
05-Aug-24 14:42:50.277 - DEBUG enabled with showing of window True
05-Aug-24 14:42:50.288 - Reading DirectOutputConfig file named D:\Spiele\FuturePinball\DOFLinx\config\Colours.ini
05-Aug-24 14:42:50.324 - Set Debug Privilege = Set OK
05-Aug-24 14:42:50.446 - Trigger thread starting
05-Aug-24 14:42:51.450 - Found valid process name of 'Future Pinball'
05-Aug-24 14:42:51.454 - Setting Future Pinball process ID to :5524
05-Aug-24 14:42:53.471 - Activated by process name : 'Future Pinball'
05-Aug-24 14:42:53.477 - Named process detected and startup commenced
05-Aug-24 14:42:53.483 - 64 bit OS detected
05-Aug-24 14:42:53.492 - FP full name=D:\Spiele\FuturePinball\Future Pinball.exe Size=28547584 bytes, Dated 10.07.2022 07:57:42
05-Aug-24 14:42:53.496 - 12E=35 12F=1
05-Aug-24 14:42:53.500 - The FP executable being run appears to have its >2gb memory flag modified, you may experience issues
05-Aug-24 14:42:53.507 - Starting scan of FP process for DOFLinx code
05-Aug-24 14:42:53.514 - Stopping ROM
05-Aug-24 14:42:53.609 - PinOne Port =
05-Aug-24 14:42:53.613 - No valid output devices for DOFLinx were found ...... sorry about that!
05-Aug-24 14:42:54.009 - Starting scan of FP process for DOFLinx code
05-Aug-24 14:42:55.008 - Starting scan of FP process for DOFLinx code
05-Aug-24 14:42:56.008 - Starting scan of FP process for DOFLinx code
..
..
05-Aug-24 14:44:28.001 - Starting scan of FP process for DOFLinx code
05-Aug-24 14:44:29.014 - Failed to find a FP table running DOFLinx code and establish a link, checking other methods
05-Aug-24 14:44:29.023 - Using full colour palette
05-Aug-24 14:44:29.032 - 122 colours added to the palette
05-Aug-24 14:45:09.677 - Shutting down
05-Aug-24 14:45:09.701 - Program close

so it waits for some feedback.
 

But sadly I got no ForceFeedback or Response(?) to DOFLinx from any simple table.

 

..even if I had configured a button #7 (Left Flipper) as XBOX device:

# ignore all previous rumble config:
# XBOX_RUMBLE=LF,1,L,20000,500,RF,1,R,20000,500,LS,1,L,40000,1000,RS,1,R,60000,100
# #XBOX_RUMBLE=J0205,L,65000,150,J0206,1,L,65000,150
# #XBOX_RUMBLE=J0207,1,L,60000,1000
# KEY_TO_XBOX_RUMBLE=J0205,1,L,65000,150,J0206,1,L,65000,150

XBOX_RUMBLE=X107,1,L,60000,1000

or even with:

XBOX_RUMBLE=X107,1,L,60000,1000
KEY_TO_XBOX_RUMBLE=X107,1,L,65000,150

i got:

05-Aug-24 15:12:48.177 - Failed To find XBox rumble device ID =X107
05-Aug-24 15:12:48.182 - Failed XBox key = X107

Greetings,

rio


Edited by Rio, 05 August 2024 - 01:17 PM.


#73 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,601 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 05 August 2024 - 10:47 PM

What table are you loading in FP?


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#74 Rio

Rio

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: ---------

  • Favorite Pinball: None

Posted 06 August 2024 - 08:16 AM

It seems that DOFLinx does not get any response (or can't find relevant DOFLinx code) from a started DOFLinx(-ed) table. The following log never appears:

FP table running DOFLinx code found and link established

Edited by Rio, 06 August 2024 - 08:23 AM.


#75 Rio

Rio

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: ---------

  • Favorite Pinball: None

Posted 07 August 2024 - 07:54 AM

Are there any reasons why the two programmes do not want to communicate with each other? What else can be done? FP is (pre-)installed correctly with BAM (AIO).

I load Doflinx first, then FP with a table modified for Doflinx, which I start directly (F5) - it doesn't matter which Dof'd table I take - so far nothing is working that way - Doflinx continues to search for Doflinx code. And now? doflinx.vbs is active. if I add (deliberately) code errors to that script for testing, the mediation errors also appear on the screen -  Doflinx should be able to find the doflinx code snippets of the table - but that doesn't. Dubious.


Edited by Rio, 07 August 2024 - 10:17 AM.


#76 Rio

Rio

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: ---------

  • Favorite Pinball: None

Posted 11 August 2024 - 11:50 AM

Ok, I've got it working. It only works with the DOFLinx 32 bit version. It scans much longer and also reports "FP table running DOFLinx code found and link established" after a while. If I then make all the changes to the doflinx.vbs script based on this post (FF_IsDevice & FF_SoundVol), it works.


Edited by Rio, 11 August 2024 - 11:51 AM.