Re: [AD] The huge Windows force feedback patch.

[ Thread Index | Date Index | More Archives ]

Dear Trent,

Thanks for taking time to check my patch. The layout of the joystick
should stay the same EXCEPT for XInput devices which now get the
XInput layout. I consider it as a functional improvement that they now
get the correct XInput layout, and that the two triggers show up as
analog slider axes and not as buttons like they would under
DirectInput. In this case only the poatch is not perfectly backwards
compatible but we can't have our cake and eat it too.

I was playing around a bit with ex_joystick_events, mostly in an
attempt to make the button names more legible, etc. If you don't like
those changes I'll just revert to Allegro's current ex_joystick_events
later on, it's not essential to this patch.

Kind Regards,

On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
> Thanks for doing that. Before I can say anything else I need to read the
> full patch and test it out some more, which might be a while. As long as
> the
> joysticks work the same as before, ie in the most common case where the
> user
> has 1 joystick, and the game is recompiled with this patch, the button
> mappings are all the same, then it should be fine. However, your updates to
> ex_joystick_events although they look better don't suit every joystick, do
> they?
> Thanks.
> -----Original Message-----
> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
> Sent: August 10, 2014 7:31 PM
> To: Allegro Development
> Subject: Re: [AD] The huge Windows force feedback patch.
> Dear Trent,
> I understand your concern, so I spend most of the day looking for a
> solution.
> I looked into a better way to filter the XInput devices from DirectInput
> and
> with some inspiration from SDL and a lot of testing, I was able to make it
> work both on MinGW and on MSys2.
> This better way requires only user32.dll and windows.h, no special headers,
> and compiles fine on MinGW. Only requirement is that you use Windows XP.
> For
> some reason the DirectInput driver still supported Windows 95, but I had to
> upgrade to use GetRawDeviceList() on which the filtering method is based. I
> don't think that that is any problem, since Allegro 5 doesn't support
> windows 95 for other things such as audio anymore anyway.
> With this better filtering method there should be no "gotchas" left with
> compiling and using Allegro on MinGW with this patch, and the rest of
> Allegro should keep working as it was.
> Finally, months of hard work went into this patch and while there might be
> some bugs left in it, he best way to get these fixed is by getting people
> to
> test it more widely.
> Kind Regards,
> B.
> On 8/10/14, Trent Gamblin <trent@xxxxxxxxxx> wrote:
>> If the patch has this many gotchas I won't be applying it. The entire
>> rest of Allegro works perfectly with MinGW, there's no sense in IMO
>> destroying that for haptics, so find.better ways to do these things.
>> ---- beoran@xxxxxxxxxx wrote ----
>>>OK, I pushed some more commits to the same pull request.
>>>What they do is
>>>1) fix ex_joystick_events
>>>2) Detect sal.h and include it only if found1.
>>>3) Detect wbemidl.h for use by the filtering snippet. If ound, enable
>>>the snippet, if not disable it. For various reasons, mingw can't
>>>compile the filtering stippet (I said it was horrible), but
>>>msys2/mingw64 can. That's why I was forced to conditionally compile it
>>>like this.
>>>4) Some various minor bugs.
>>>Kind Regards,
>> ----------------------------------------------------------------------
>> --------
>> --
> ----------------------------------------------------------------------------
> --
> --
> ------------------------------------------------------------------------------
> --

Mail converted by MHonArc 2.6.19+