NTR Viewer Plus
There’s already pretty neat software for 3DS wireless streaming and input redirection such as Kit-Kat, however I thought that was missing two major features:
- Rescaling the screens without relaunching.
- Touchscreen input with the bottom stream.
There’s also Kit-Kat-Touch that’s a mod of Kit-Kat but it’s not a one-click solution and still no scaling. cuteNTR has rescaling but doesn’t seem to have input redirection at all; it’s also written in C++ and aimed for Linux.
Rather than modify Kit-Kat I decided to reimplement the NTR protocol myself in a C# program using OpenTK/OpenGL which handles the dynamic scaling and mouse input.
With Luma having input redirection (that supports ZL/ZR/C-Stick), I’ve added being able to swap to using that instead of with BootNTR (which still does the video streaming).
No release yet, it’s still missing some features Kit-Kat has and not sure if I’m satisfied with the stream performance.
If you want to preview the code: https://github.com/Jas2o/NTR-VP
Missing Features
- Keyboard input (may never be implemented)
- Automatic gamepad selection (currently fixed to vendor/product ID)
- Automatically finding the 3DS’s IP address
- NTRViewer Console / Debugger
- FPS and stream quality.
- Live settings update (seems only the first NTR connect sets the settings)
Issues
- When Xbox Controller falls asleep some inputs are sent.
- There’s no indication that the connection has dropped.
- The touchscreen has a drift the further from the center you click. This affects both X and Y in letterbox and pillarbox.
- Can’t use ZL and ZR at the same time with an Xbox controller (the triggers are technically the same axis). Using XInput would solve this but I kinda don’t want to… How many games need you to press both anyway?