Re: [AD] The huge Windows force feedback patch. |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
OK, that is fair enough, thank you very much!
Kind Regards,
B.
On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
> I committed your patch with a couple minor changes:
>
> One function was named "diver" instead of driver.
> Left out uncrustify.cfg and ex_joystick_events changes.
>
> Thanks.
>
> -----Original Message-----
> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
> Sent: August 11, 2014 10:34 AM
> To: Allegro Development
> Subject: Re: [AD] The huge Windows force feedback patch.
>
> Yes, it's normal if if the delay parameter of the force feedback effect
> isn't zero, then, the effect will start with a delay. You can try this in
> ex_haptic2. Set the delay to 0 (full left) and the effect should play
> instantaniously.
>
> Kind Regars,
>
> B.
>
> On 8/11/14, Trent Gamblin <trent@xxxxxxxxxx> wrote:
>> Another thing, the effects in the examples take a full second before
>> they start playing, is that normal?
>>
>> ---- beoran@xxxxxxxxxx wrote ----
>>
>>>Yes, that is likely to be the cause then.
>>>
>>>I also just double checked it with ex_joystick_hotpluging myself and
>>>the layout before and after the patch stays the same if you use the
>>>DirectInput mode of the F710. I do admit that my changes to
>>>ex_joystick_events make it more difficult to compare before and after,
>>>but with ex_joystick_hotplugging's log it's more clear that it stays
>>>the same.
>>>
>>>Kind Regards,
>>>
>>>B.
>>>
>>>On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
>>>> Ok, I think I was using it in XInput mode before.
>>>>
>>>> -----Original Message-----
>>>> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
>>>> Sent: August 11, 2014 7:58 AM
>>>> To: Allegro Development
>>>> Subject: Re: [AD] The huge Windows force feedback patch.
>>>>
>>>> Well, how did you use the F710 before the patch? In DirectInput mode
>>>> or in XInput mode? If you used it before in XInput mode, then what
>>>> you saw in Allegro under DirectInput was the "shadowed" joypad. The
>>>> F710 has actually
>>>> 3
>>>> different layouts: 1) the XInput layout in XInput mode,
>>>> 2) the "shadowed" DirectInput layout in XInput mode and 3) the real
>>>> DirectInput layout in DirectInput mode. Which could explain the
>>>> differences you are seeing.
>>>>
>>>> What could be a bugor unintended change is if you saw a different
>>>> layout before and after the patch with the F710 switched to
>>>> DirectInput mode in both cases. If that's is the problems you are
>>>> seeing I'll investigate it further.
>>>>
>>>> Kind Regards,
>>>>
>>>> B.
>>>>
>>>> On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
>>>>> I'd like to apply the patch, but there's still one thing that's not
>>>>> really clear to me. When I switch my joystick to DirectInput mode,
>>>>> why is the button layout different after the patch? Apologize if
>>>>> you already answered this.
>>>>>
>>>>> -----Original Message-----
>>>>> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
>>>>> Sent: August 11, 2014 2:00 AM
>>>>> To: Allegro Development
>>>>> Subject: Re: [AD] The huge Windows force feedback patch.
>>>>>
>>>>> That was caused by the "shadowing" and by ex_joystick_event which
>>>>> had a bug where it would show presses from different joystics as if
>>>>> they came from the active one.
>>>>>
>>>>> The "shadowing" should now be fixed with the fixes I pushed to that
>>>>> pull request & patch, and same for ex_joystick_event. I'd be
>>>>> surprised if you still saw it with the lastest version of my patch.
>>>>>
>>>>> For people who use Allegro's joysticks the important point to keep
>>>>> in mind that even before this patch, you had and still have have to
>>>>> use the .id flag of the joystick event combined with
>>>>> al_get_joystick() to make sure you correctly interpret from which
>>>>> joystick the events are coming from.
>>>>>
>>>>> Also, in case you really need XInput devices to stay as they were,
>>>>> it's possible to disable the XInput driver at compile time using
>>>>> cmake -DWANT_XINPUT=no. This will also disable the XInput filter in
>>>>> Directinput devices and the force feedback for them, but it apart
>>>>> from the directinput force feedback driver, all should be as it was
>>>>> before the patch with that flag.
>>>>>
>>>>> Kind Regards,
>>>>>
>>>>> B.
>>>>>
>>>>>
>>>>> On 8/11/14, trent@xxxxxxxxxx <trent@xxxxxxxxxx> wrote:
>>>>>> What about the multiple buttons being signalled when you press 1
>>>>>> button on the joystick? Isn't that a compatibility issue?
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: beoran@xxxxxxxxxx [mailto:beoran@xxxxxxxxxx]
>>>>>> Sent: August 10, 2014 8:03 PM
>>>>>> To: Allegro Development
>>>>>> Subject: Re: [AD] The huge Windows force feedback patch.
>>>>>>
>>>>>> 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,
>>>>>> B.
>>>>>>
>>>>>> 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.
>>>>>>>>>
>>>>>>>>>https://github.com/liballeg/allegro5/pull/8.patch
>>>>>>>>>
>>>>>>>>>Kind Regards,
>>>>>>>>>
>>>>>>>>>B.
>>>>>>>>>
>>>>>>>>>----------------------------------------------------------------
>>>>>>>>>---
>>>>>>>>>-
>>>>>>>>>-
>>>>>>>>>-
>>>>>>>>>--------
>>>>>>>>>--
>>>>>>>>>https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>>> ----------------------------------------------------------------
>>>>>>>> ---
>>>>>>>> -
>>>>>>>> -
>>>>>>>> -
>>>>>>>> --------
>>>>>>>> --
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>>>
>>>>>>>
>>>>>>> -----------------------------------------------------------------
>>>>>>> ---
>>>>>>> -
>>>>>>> -
>>>>>>> ------
>>>>>>> --
>>>>>>> --
>>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>>
>>>>>>>
>>>>>>> -----------------------------------------------------------------
>>>>>>> ---
>>>>>>> -
>>>>>>> -
>>>>>>> --------
>>>>>>> --
>>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------
>>>>>> ---
>>>>>> -
>>>>>> ------
>>>>>> --
>>>>>> --
>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------
>>>>>> ---
>>>>>> -
>>>>>> --------
>>>>>> --
>>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>>
>>>>>
>>>>> -------------------------------------------------------------------
>>>>> ---
>>>>> ------
>>>>> --
>>>>> --
>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------
>>>>> ---
>>>>> --------
>>>>> --
>>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>>
>>>>
>>>> --------------------------------------------------------------------
>>>> --------
>>>> --
>>>> --
>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>
>>>>
>>>> --------------------------------------------------------------------
>>>> ----------
>>>> --
>>>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>>>
>>>
>>>----------------------------------------------------------------------
>>>--------
>>>--
>>>https://lists.sourceforge.net/lists/listinfo/alleg-developers
>> ----------------------------------------------------------------------
>> --------
>> --
>> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>>
>
> ----------------------------------------------------------------------------
> --
> --
> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>
>
> ------------------------------------------------------------------------------
> --
> https://lists.sourceforge.net/lists/listinfo/alleg-developers
>