Homebrew [release] Unified NTR Viewer and Input Redirection program

CGNetwork

Well-Known Member
Member
Joined
Nov 11, 2016
Messages
194
Trophies
0
Age
36
XP
261
Country
United States
Any number of things could be causing this... If you're absolutely sure your 3DS is running NTR properly, punch the IP to it in manually on the start up screen.

I did add the correct IP Address to it, and it won't work at all. Configured Firewall Settings to allow the program to display the screen, nothing.
 

Deleted member 446461

Well-Known Member
Member
Joined
Apr 16, 2018
Messages
265
Trophies
0
XP
485
I have a Logitech G-UF13A, and I don't seem able to remap the controls with any type of input (controller or keyboard), nor I seem able to get the input to work. Only input that seems to work is the on-screen input (except Circle Pad or right C-Pad). Is there any fix to this?

The only place where the touch works is on the 3D model of a 3DS. Is that intended?

Also, this is one of the very few 3DS to PC connection programs that actually works on 64-bit Linux machines. Thank you so much. Kudos.
 

JennaScvl

Well-Known Member
OP
Newcomer
Joined
May 1, 2013
Messages
63
Trophies
1
Age
44
XP
288
Country
United States
I did add the correct IP Address to it, and it won't work at all. Configured Firewall Settings to allow the program to display the screen, nothing.

Only thing I can think of is you're not using NTR Boot loader, or not the proper version of it, then
 

Deleted member 446461

Well-Known Member
Member
Joined
Apr 16, 2018
Messages
265
Trophies
0
XP
485
Could I please know how do I map the keyboard to the 3DS's D-Pad?
The program just doesn't accept keyboard input: it asks me for an axis.
Axis that I don't have since the only USB controller I have to connect to this computer just doesn't work. (not the point right now)
Could you please help me?
 

BertBR

Member
Newcomer
Joined
Oct 31, 2018
Messages
12
Trophies
0
XP
145
Country
Brazil
So what is this? This is Twix.

What is Twix? Twix is a feature packed alternative to ntrViewer, kitkat, SnickerStream, and input redirection programs. It's oriented more toward gamers, streamers, and people doing gameplay recordings



A quick overview of the most important features:
  • Easy to use
  • Supports any and all gamepad and joystick controllers on your computer
  • Even use your keyboard for input
  • Turbo Fire!
  • Antialiasing and some "next gen" effects for the video stream.
  • Great for recording or streaming gameplay footage.
  • Open source with light weight license.
Downloads at the bottom.

  • Multi-threaded (receiving the packets and decoding the video stream are on two separate threads) (build 1)
  • Supports InputRedirection via Luma on the 3DS. (build 1)
  • Integrated touch-screen redirect into the bottom screen output. (build 1)
  • 3D cursor for touch-screen when in a perspective projected 3D display mode. (build 1)
  • Supports any and all game pads your operating system supports out of the box (build 1)
  • All redirected controls configurable to keyboard, mouse, and gamepad buttons and axes. (build 1)
  • Full screen and windowed mode (build 1)
  • Easily resizable windowed mode (no having to restart with the command line like regular NTR Viewer) (build 1)
  • When virtual 3DS mode, the Dpad, A, B, X, Y, Start, Select, and Home buttons can all be clicked on with the mouse without having to configure any controls (build 1)
  • Automatically detects IP of 3DS for input redirection if RemotePlay has already been started on the 3DS (build 1)
  • Supports New3DSXL's c-stick and ZR/ZL buttons (build 1)
  • Two display modes. Virtual 3DS and Draggable Resizable Screens. Switch between them by pressing the display change button (build 3)
  • Screen size and position saved between sessions (build 7)
  • In virtual 3DS display mode, the buttons glow when pressed, to show input when recording (build 8)
  • Automatically finds your 3DS as long as bootNTR and Luma input redirection are running (build 8)
  • Configurable stream quality settings. (build 9)
  • Default stream quality settings produce acceptable quality and framerate for both top and bottom screen. (build 1)
  • Turbo fire(build 9)
  • Antialiasing (build 9)
  • Post processing (build 9)
  • Pixel perfect accuracy on touch screen (build 10)
  • Cycle through different camera angles on Virtual 3DS mode. (build 10)
  • Antialiasing is done on the stream directly (build 10)
  • Record output to MP4 file
  • Recover frames delivered out of order
  • Recover frames delivered out of order
Step 1: Run bootNTR Selector on your 3DS
Step 2: Enable input redirection on Luma.
Step 3: Run Twix
Step 4: If Twix doesn't know the correct IP address for your 3DS, hit Start Stream to find it. Otherwise hit Try IP.
Step 5: Have fun!

When in Virtual 3DS Mode, use the mouse wheel to cycle between camera angles.

In either mode, hit the Escape key to pull up the options window.
I hit Start Stream and Twix never finds my 3DS
If Start Stream never finds your 3DS then either your 3DS isn't on the same router as your computer, the 3DS doesn't have its wifi on, bootNTR and Luma aren't running, or your router is assigning your 3DS an IP that isn't in your computer's range. For example if your computer's LAN address is 192.168.1.2 and your 3DS is on 192.168.1.4 then Start Stream will very quickly find your 3DS. However if your 3DS is on 192.168.2.x, instead of 192.168.1.whatever, then it will not find it and you'll have to manually enter the IP yourself and use "Try IP" button.

By the way, it doesn't matter what your IP is. IPs are arranged like A.B.C.D, and as long as the A, B, and C are the same for the 3DS and the computer Twix is on, it should find it. The higher the D is on the 3DS the longer it'll take, though.

The stream output is glitchy and the frames keep flashing
This happens because of network lag and there's nothing Twix nor any other stream receiver can really do about it. Check to make sure your 3DS and router are close enough, close off any torents or high bandwidth apps on your computer, make sure nothing else is using your router for high bandwidth stuff. Basically the usual slow wifi debugging stuff.

If none of that works, try reducing the jpeg quality or otherwise adjusting the quality settings whens starting a new stream. Ideally, there would be some manner of telling the bootNTR to lower its quality in these situations. I've tried doing that, but it seems that once the stream is started, it can't be adjusted without restarting the 3DS.

The only reason other streamers don't have this problem is they're all using the reference code for interpretting the stream, which drops any incomplete or out of order frames entirely. I rolled my own code by reverse engineering the packets, and I'd personally rather have a glitchy display than one that appears frozen.
Resizable, Draggable screens display mode has touch screen axes being wrong. Please use virtual 3DS mode only for now if you need to use the touch screen. I have a fix already and will be pushing it out with Build 11.






Stream with Jpeg quality set to 80 without post processing
0LG83D0.png


Stream with Jpeg quality set to 80 with post processing
2eF2GCC.png


Both of these screenshots are zoomed in to exaggerate aliasing and jpeg artifacts. They're both from the same stream, using jpeg compression quality of 80, which has quite noticeable artifacts as you can see in the first image. The post processing almost eliminates these jpeg artifacts entirely. So basically, using Twix, if your computer has a good enough video card to support post process effects, you can use a lower jpeg quality for better performance and not sacrifice quality quite as much. Granted the image is slightly blurrier, but that's mostly due to the antialiasing. I will be experimenting with other antialiasing methods as soon as I can figure out how to write the shaders for it.

There aren't many questions I've gotten about it so far but there is one that I keep being asked on other webpages and in private.

Q: Why did you make Twix when there's similar programs available?

A: This question was mainly asked at the very start, when I hadn't added all the extra features I've developed. The main reason is that I wanted to up the ante. I wanted better and knew I could do better. I also hope that Twix inspires the others to do better.

Q: Why are you distributing it under Creative Commons BY NC SA license instead of GPL v3 like the others?

A: A few reasons.

1: I think GPL is over used and it's just slapped on to projects by people who just want the source to stay open without any consideration for the implications of GPL.

2: As a license, GPL is frick'n tome. Very few people understand what it really says, as few of the patience to read it in its entirety, and as a result so many people violate it constantly, without even realizing it, even when they put it on their own project. For example, I've seen BSD licensed code pop up in GPL licensed projects, and that's actually a violation of both BSD and GPL, as BSD allows you to relicense code with additional restrictions, and GPL does not.

3: I made my own code from scratch save for the use of a few shaders, all of which are freely available on the Unity Asset Store for use with any project. So distributing under an easy to understand, CopyLeft license seemed like the thing to do.

4: GPL allows people to take what I've made here and sell it as long as they distribute the source code for their version. Many people fail to do so or they put links to the source code that go nowhere an feign ignorance when it does. By only allowing it Non-Commercial use, I make it unfeasible for someone to do shenanigans like that. Not that we have a huge problem with this kind of thing in the community, but it has happened on a few occasions.




Can you fix the MacOS version ? I've tried run this on my MacOS (high sierra) and does nothing.

Thanks in advance.
 

Foxegory5

Member
Newcomer
Joined
Jan 31, 2022
Messages
6
Trophies
0
Age
24
XP
33
Country
United States
My computer is registering the inputs on my controller, but Twix isn't detecting any of those inputs. I know this because I went to the Gamepad Tester site and everything was working perfectly fine, but when I try setting the input for Twix it doesn't even seem to care, I can only apply a key to use as a button for some reason. Could it be because my controller is a model without Bluetooth support and my requirement of using a USB cable to use it that causes an issue, or is there something in the settings that I'm missing?

Edit: Turns out the triggers don't count as "buttons" which is a problem as the triggers are how I use L and R in the standard input redirection client. Without them I'm forced to use either L and R or ZL and ZR by clicking the thumbsticks, and that would be really awkward to do, especially with my muscle memory of using the triggers for many other systems (including 3DS).

Edit 2: And another issue, one that seems to be pretty common; you mentioned a location to input the system IP, but there doesn't appear to be one anywhere most of us can see. Could you please specify where this "Try IP" button could possibly be?
 
Last edited by Foxegory5,

FanNintendo

Well-Known Member
Member
Joined
Apr 16, 2018
Messages
1,583
Trophies
0
Age
51
XP
2,523
Country
United States
I have many questions if you can answer to any of those my questions - does it run laggy or smooth ? can you play 3ds on handheld while look at pc?
 

Avsynthe

New Member
Newbie
Joined
Jun 14, 2017
Messages
4
Trophies
0
Age
33
XP
68
Country
All the builds are down. I'd love to try your implementation, particularly for Windows and Linux. Any chance of reuploading?

It'd be an absolute shame for the community to lose works like this.
 

JennaScvl

Well-Known Member
OP
Newcomer
Joined
May 1, 2013
Messages
63
Trophies
1
Age
44
XP
288
Country
United States
I don't mean to necro my own thread after so many years but I've just put the project up on GitHub, changed the license to AGPLv3, and updated the project to run on Unity 2022.

https://github.com/JennaScvl/Twix

I won't be posting builds because my N3DSXL was stolen in 2019.
Post automatically merged:

All the builds are down. I'd love to try your implementation, particularly for Windows and Linux. Any chance of reuploading?

It'd be an absolute shame for the community to lose works like this.

Not quite lost... I haven't been receiving any emails about replies to this thread, but someone on YouTube commented on one of the videos and less than 24 hours later I've updated it for Unity 2022 and set up a github to make it easier to get the source for it.

Since I no longer have a 3DS, I can't do any testing, but I'll be accepting pull requests and I'll be merging any pull requests the community reviews and approves of.
 
Last edited by JennaScvl,
  • Like
Reactions: Modular511

JennaScvl

Well-Known Member
OP
Newcomer
Joined
May 1, 2013
Messages
63
Trophies
1
Age
44
XP
288
Country
United States
I've made a minor update and posted a Windows release binary to the github. The update merely exposes the TryIP button from the start. Previously it needed to have an IP stored from a successful network IP scan.

That's actually how the scanner works. It tries to connect to every possible LAN IP in sequence to look for the NTR stream. It's a little slow but a lot more user friendly. It also stores the IP once it finds it so you can try it without having to do a scan. That's how it's always worked. Just I didn't think people would want to punch in the IP directly on the first try but a few people have said they want to do that.
 

Gamesnark

New Member
Newbie
Joined
Mar 28, 2024
Messages
3
Trophies
0
Age
21
XP
10
Country
United States
Awesome! I had to create a custom build from source code as noticed that you cannot setup controls anymore due to the Unity Game Configuration window being removed in more recent versions of Unity. It would be nice if support for customizable keys were added in a separate menu or toggle. If not, defaults for the buttons would be just as great.
 

Modular511

Well-Known Member
Member
Joined
Sep 12, 2009
Messages
354
Trophies
1
Age
32
Location
Canada
XP
1,139
Country
United States
I don't mean to necro my own thread after so many years but I've just put the project up on GitHub, changed the license to AGPLv3, and updated the project to run on Unity 2022.

https://github.com/JennaScvl/Twix

I won't be posting builds because my N3DSXL was stolen in 2019.
Post automatically merged:



Not quite lost... I haven't been receiving any emails about replies to this thread, but someone on YouTube commented on one of the videos and less than 24 hours later I've updated it for Unity 2022 and set up a github to make it easier to get the source for it.

Since I no longer have a 3DS, I can't do any testing, but I'll be accepting pull requests and I'll be merging any pull requests the community reviews and approves of.

Ok so any chance you could tell me how to map controls? My xbox controller isnt working right, video works fine, but the input on the stick is all reversed and face buttons dont work at all - video streams and the buttons and touch screen work when i poke the gui - any idea?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: @BakerMan, I have a piano keyboard but I never use it