Open hrydgard opened 1 year ago
I feel like that's more of a "macro" concept. For example, maybe I configure a combo to press R + triangle, because maybe that triggers scope aim or something. I may have not thought about the order before and actually put triangle + R, but now you press triangle, then R. Now the menu comes up, and R does nothing.
It may also be that the game wouldn't react to a single frame delay between these buttons, especially depending on how you define a frame. Is that a vblank (games may read ctrl per vblank even if they are 30 FPS), or a drawn frame?
I think going down this road ends with defining macros with explicit delays. In theory, this could be defined as:
Step: Press L Step: Delay 100ms / 3 frames / whatever Step: Press Circle
[ ] Repeat macro while pressed [X] Finish macro even if released before complete
Though, that seems somewhat complicated.
-[Unknown]
I think your idea of making it always so it's more about making the UI simpler, but truth to be told we have no concept of buttons order in the UI and neither in the whole code.
I kinda find this complexity out of the scope of custom touch button. For this we will really need a macro system or some Lua scripting, or any other sane language to not anger Unknown with 1 indexed arrays :P
We could add to each custom button a drop down list with all possibile loaded script/macro from an ini in theory, still a totally different road.
Haha, it's just that I feel it's unnecessarily limiting and is less beneficial to users.
But I also think asking someone to dive into a scripting language so they can automate a two-button press in FIFA 14 seems unfortunate... although, there are external apps that may accomplish this too.
-[Unknown]
Yeah that's a good point, but we all know that when hrydgard will get to implement this he will go all the way to avoid possible bug reports from users making silly mistakes in scripts... And so we will have Rust scripting within PPSSPP.
More seriously I'm not so sure there are many app to add touch controls macro on Android, I might be wrong tho' :)
Games that use ordered combo buttons usually use input events isn't? While games that doesn't care about the order can just check all the pressed buttons at once.
For example, when L pressed-down the games checked whether the firstButton(can be an array if there are more than 2 buttons sequence) has been set or not, if not, set it to L. When Circle being pressed the game checked whether the firstButton has been set or not, if it was set to L and matched to a combo sequence (ie. Finesse Shot) then it do the combo action. When all combo buttons has been released, or non existing combo sequence met, the game reset the firstButton (or clear the pressed combo buttons array)
Got this through e-mail:
So basically, you can already config so that single touch buttons will trigger combinations of multiple PSP buttons, but they'll all key-down at exactly the same time. If we added a small delay between the first and second button, it would be possible to separately configure these two commands on different touch buttons.
I guess the question is, could we simply always apply a 1-frame delay on these combos between the first and second button, or would that break something else?