Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2-stage triggers not working #17

Closed
ghost opened this issue Jun 10, 2018 · 23 comments
Closed

2-stage triggers not working #17

ghost opened this issue Jun 10, 2018 · 23 comments

Comments

@ghost
Copy link

ghost commented Jun 10, 2018

2-stage triggers required for games like Mario Sunshine not working.

Have tried binding the shoulder buttons and triggers in every single possible combination using the RA config menus.

Games remain unplayable as a result, for example in Mario Sunshine you are required to run and shoot to pass the tutorial - but you can't, since there is no ability to half-press the trigger.

@Shoegzer
Copy link

Shoegzer commented Jul 3, 2018

Confirmed here too, using linux x64, kernel 4.15 and evdev input driver, with sony ds4 pads against commit 9ef58b5.

The main issue is that the gamecube's triggers are primarily analog, and yet the dolphin core maps them to the digital triggers via retropad. So for example, on a ds4 pad the triggers are incorrectly mapped to retropad's L1 and R1 vs. L2 and R2. Dolphin upstream not only maps the analog triggers appropriately, but also allows the upper range of each trigger (say the last 10%) to register as the digital "button press" that registers on a real gamecube when you push all the way down on a gamecube controller's trigger.

Also, the gamecube c-stick is not mapped properly either - for example on a ds4 pad the c-stick is mapped to the right analog stick via retropad, however pressing left on the retropad stick registers as pressing right on the c-stick and vice versa.

@Papermanzero
Copy link

Can the reicast core be used as reference to implement anslog triggers? Some games really need them.

@Papermanzero
Copy link

#35

@Papermanzero
Copy link

Any update on that one? Is it a RA issue or a dolphin issue?

@ghost
Copy link
Author

ghost commented Nov 25, 2018

It's a RA issue, Dolphin supports analog dual stage triggers.

@Papermanzero
Copy link

Papermanzero commented Dec 22, 2018

But if kronos and reicast can support analog triggers, it is dolphin related, isnt it?

@ghost
Copy link
Author

ghost commented Dec 22, 2018

For gods sake what part of "dolphin supports it" don't you understand? Try it - dolphin supports this no problem. It is a 100% retroarch issue.

@Papermanzero
Copy link

Papermanzero commented Dec 22, 2018

If u do not explain how shall I understand it. Dolphin supports analog triggers yes.
But does the core in libretro? No.
Dolphin also supports multiplayer? Does the core? No
Why? because the feature was not ported or adapted to the libretro framework. Libretro supports analog triggers for a certain time. So why is it not possible in the dolphin core?
Dont be so arrogant, and only state „it is a retroarch issue“, if you cannot even explain the root cause.

@ghost
Copy link
Author

ghost commented Dec 22, 2018

Lmfao look at you calling people arrogant because you're being obtuse. You don't seem to have any point at all, certainly nothing applicable to this situation. Why even post?

@Papermanzero
Copy link

Papermanzero commented Dec 22, 2018

Can u explain The situation or not? Calling people obtuse makes u stupid.
Saying it is a RA issue ( which is by the way only the frontend) without any proof or explanation makes your argumentation useless and dumb.

@ghost
Copy link
Author

ghost commented Dec 22, 2018

Bahahaha jesus christ talk about things you should never do on a public forum 😂

The situation is that RA itself does not support analogue triggers. It includes A to D emulation. This is incompatible with Dolphin, which has native functionality and does not need A>D emulation.

Please go away, you are wasting post space with nonsense. For god's sake, you can't even spell "explanation". You should probably look up the definition of obtuse, too.

@ghost ghost closed this as completed Dec 22, 2018
@ghost ghost reopened this Dec 22, 2018
@Papermanzero
Copy link

Papermanzero commented Dec 22, 2018

Holy cow. Libretro supports analog triggers for some time as stated above.
libretro/RetroArch#7014

Btw RA is the frontend 😂
So now we know you have no clue at all.

@ghost
Copy link
Author

ghost commented Dec 22, 2018

Holy cow. Libretro supports analog triggers for some time as stated above.
libretro/RetroArch#7014

Btw RA is the frontend 😂
So now we know you have no clue at all.

Either you know full well that that person is referring to values that are fed to the A>D emulation, you're deliberately misleading people, or you're a total imbecile. Perhaps all 3.

You're splitting hairs by wanting to separate Libretro and RA when we're talking about a 3rd party program that has a RA core. Once again, look up the definition of obtuse.

Seeing as you've served to only derail the conversation with vitriol, stupidity and obfuscation, you are now blocked.

@ghost
Copy link
Author

ghost commented Dec 22, 2018

That's the opposite of what """he's""" saying, and it's exactly what I'm saying. The issue is with the libretro API to be specific, but it is a RA problem as opposed to a Dolphin problem.

The libretro/RA API cannot handle passing along the analog trigger values that dolphin expects and supports natively. It converts them to a digital output in the process, effectively making them buttons.

So thanks for just backing up what I said I guess lmao

PS: liking your own comment that you posted from an alt to avoid a block is a new low for papermanzero. Reported for using an alt to avoid a block, which constitutes harassment.

@flyinghead
Copy link

As of this commit ecd9321, analog triggers should now be working.
I have remapped all analog triggers to L2/R2 and moved Z (gc) to R and ZL/ZR (Wii CC) to L/R.
I encountered a couple of issues in RA in my environment (linux udev with DS3 gamepads) so YMMV depending on your hardware and platform.

There might be some polishing needed regarding range, trigger "click" threshold, etc.

Happy and Peaceful Holidays!

@Shoegzer
Copy link

Thanks as always @flyinghead. Unfortunately recent builds of the dolphin core keep crashing on this test system for some reason but I'll test again when that issue is resolved and let you know.

@ghost
Copy link
Author

ghost commented Dec 25, 2018

Thanks for the update @flyinghead

I'll test with all affected games and report back.

@ghost
Copy link
Author

ghost commented Dec 26, 2018

Can confirm this is 100% fixed. Thank you so much! Closing the issue.

@ghost ghost closed this as completed Dec 26, 2018
@Shoegzer
Copy link

Shoegzer commented Jan 8, 2019

@WreckWren I don't think this is entirely fixed. It's true that the L2 and R2 buttons have been remapped appropriately to triggers rather than shoulder buttons as they were; however just tapping slightly on the triggers registers as a "full press" - so it's still impossible to play e.g. Super Mario Sunshine as you can't run while spraying water. As @flyinghead said, there will need to be more work with range before this works. Please reopen this issue.

@ghost
Copy link
Author

ghost commented Jan 8, 2019

I haven't had any issues at all, and can play Mario Sunshine without any problems at all (this was my first test case - I made it about 3 hours in during my test).

I suspect that your issue is setup-related, given the above. I did have to COMPLETELY reset my shoulder and trigger bindings for it to work properly, and after I did, I found that there were multiple options to bind your triggers to.

Hope that helps you. If not, I can send you the relevant config files (if you use an Xbox One pad it may even be plug-and-play).

If that doesn't work, I will reopen the issue.

@Shoegzer
Copy link

Shoegzer commented Jan 8, 2019

Thanks @WreckWren. I actually had to delete my old retroarch.cfg and start fresh for a totally separate reason - so yes, I remapped everything fresh.

As I mentioned above I'm using a ds4 pad under linux with sdl2 input driver and udev joypad driver. What is your setup out of curiosity?

Also keep in mind what @flyinghead said:

I encountered a couple of issues in RA in my environment (linux udev with DS3 gamepads) so YMMV depending on your hardware and platform.

With these in mind, yes I think we should reopen this issue unfortunately.

@Shoegzer
Copy link

Shoegzer commented Jan 8, 2019

@WreckWren actually nevermind. When I replaced my old retroarch.cfg with a new one I had forgotten to manually set the analog L2 and R2 axes as needed to fix this issue. When I did that, I confirmed that this issue is indeed fixed and can remained closed. Thanks again for your help.

@ghost
Copy link
Author

ghost commented Jan 9, 2019

@Shoegzer Awesome, stoked it's solved for you! Happy gaming :)

(if you were still curious I'm using Xbox One and PS3 pads on W10 and OSX respectively for the most part)

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants
@Papermanzero @Shoegzer @flyinghead and others