Eiim / Chokistream

A from-scratch re-implementation of Snickerstream
GNU General Public License v2.0
30 stars 1 forks source link

Input redirection support #35

Open Eiim opened 4 months ago

Eiim commented 4 months ago

I don't know much about input redirection, so it would be useful to first understand the landscape. Which other clients support it? How is their support implemented? Are there differences in what features they support? Is there any reason to support something like the old mod by Stary2001 in addition to Rosalina?

Once we have that we should look to an existing implementation(s) to copy for networking details. InputRedirectionClient-Qt looks promising, as it's just one file under MIT, but it hasn't been updated in a while. We can use Rosalina source code but need to be more careful about licensing in that case. If Rosalina has it documented somewhere that's an option. Otherwise other NTR clients may be options.

Finally, on the frontend side, handling keyboard inputs should be no issue since we have existing controls infrastructure for that, but mouse clicks for touchscreen might be trickier. We should try to be pixel-perfect to non-integer upscaling if possible. I don't think this will be a huge issue though.

trevorwatkins1129 commented 4 months ago

I can probably handle this when I get time. The old mod has been out of support for a long time now, and the new Rosalina one has been supported since 9.0, therefore the Stary2001 mod should not need support unless there is enough requests. If I can find the network code in InputRedirection-Qt, I can rewrite in it Psuedo-Java (idk full java yet).

trevorwatkins1129 commented 4 months ago

In order to not clog up this issue + to allow a progress log, I made a discord server. Feel free to join for updates (or Eiim for posting progress updates + talking about it).

https://discord.gg/J3NFdkAqNj