Homebrew Snickerstream[PoC]-A NTRViewer alternative written from scratch with lots of improvements and stuff!

Status
Not open for further replies.

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
A new version of Snickerstream has been released, see the new thread over here!
-------------------------------------------------------------------------------------------


(I've posted this a while ago on /r/3dshacks - here - but people told me it was a good idea to post it here too - so here it is!)

If you're asking yourself "Why" or "How is it different than kit-kat/NitroStream" then please read this entire post: there are some very important reasons.


Note: This build is a Proof of Concept, and as such it should be considered highly incomplete. The main streaming functions work fine, but lots of features simply aren't implemented yet, the client might be buggy and the GUI might not be that much user friendly. This release is meant to prove that this client works, and also to give you a general idea of the project could become once complete.

Snickerstream is a completely new streaming client for NTR CFW. It aims to become a complete NTRViewer replacement with lots of extra features, including stuff such as better netcode, more screen layouts and less RAM usage. This is different than kit-kat/NitroStream as the formers still use NTRViewer as its internal streaming client while Snickerstream has been completely written from scratch, making it the first real NTRViewer alternative.

Now, I hear you ask, why reinvent the wheel? Why make this if there's already something that does a very similiar thing?

The reason is simple: I wanted to add some functions to NTRViewer, but some of the stuff I had in mind simply wouldn't be possible without altering its source code, and considering that NTRViewer wasn't properly updated in a while I took the opportunity of making this complete rewrite.

Here are some of the improvements of Snickerstream over NTRViewer that are already implemented:

  • Real time screen scaling (you don't need to restart the client anymore to scale up/down the screens)

  • Pixel interpolation, which improves image quality if the window has been scaled

  • Way less RAM usages (about half less than NTRViewer and around a quarter of kit-kat)

  • Better netcode, it will automatically try to recover any lost frames if needed

  • No DLL files needed, as it uses the Windows API to draw the GUI and GDI+ to draw the screens (keep in mind that kit-kat still uses DLLs, they just get extracted to a temporary directory)

  • Native x64 version, for better performance on x64 computers

  • More options that will make Snickerstream work better on crappy computers or networks
And here are some of the planned features:

  • MANY more screen layouts, such as single screen with popup secondary screen or multiple window mode

  • Universal NFC patch

  • Borderless fullscreen

  • Screenshot function

  • A function to ignore top/bottom screen frames, which will mean better performance on games that rely a lot on just one screen

  • (Maybe) AVI recording function directly in the client
Sounds good? You can find Snickerstream here:

Releases / Source (GitHub)

IMPORTANT NOTE: THERE'S A BUG THAT PREVENTS SNICKERSTERAM FROM RECIEVING FRAMES ON COMPUTERS WITH MORE THAN ONE NETWORK ADAPTER. Howerer, there's a workaround: read "MultipleNetworkAdaptersFix.txt".

Also, before reporting bugs, please read the Known Issues file!

Useful links:

Tutorial / Keyboard shortcuts / Known Issues / Multiple Network Adapters Fix
 
Last edited by RattletraPM,

Joom

 ❤❤❤
Member
Joined
Jan 8, 2016
Messages
6,067
Trophies
1
Location
US
Website
mogbox.net
XP
6,075
Country
United States
AutoIt, eh? It's been quite a while since I've seen someone use that. Nice to see something other than Java or C#. :rolleyes:
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
AutoIt, eh? It's been quite a while since I've seen someone use that. Nice to see something other than Java or C#. :rolleyes:
Heh, I know it's not the best choice, but it's one of the languages I'm most confortable with. Plus, it works fine and it's easy to understand if you want to modify the source code, so ¯\_(ツ)_/¯
 

Joom

 ❤❤❤
Member
Joined
Jan 8, 2016
Messages
6,067
Trophies
1
Location
US
Website
mogbox.net
XP
6,075
Country
United States
Hey I'm not bashing it. I'm glad that it's something different that doesn't heavily rely on a third party framework.
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Hey I'm not bashing it. I'm glad that it's something different that doesn't heavily rely on a third party framework.
No problem, I didn't think you were bashing on it! It's just that I myself admit it was kind of a strange decision to code it in AutoIt, that's all :lol:
 
  • Like
Reactions: Joom

Giodude

GBAtemp's official rock
Member
Joined
May 17, 2015
Messages
5,094
Trophies
1
Age
23
Location
New York
XP
2,761
Country
United States
I think it's funny how every week another ntrviewer replacement comes out claiming how much better they are than the previous one. With that being said this looks the best and has creatures I've been waiting for. Nice!
 
  • Like
Reactions: TheGlamourGroup

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
I think it's funny how every week another ntrviewer replacement comes out claiming how much better they are than the previous one. With that being said this looks the best and has creatures I've been waiting for. Nice!
Thanks! :D Remember tho that, as I said, this is a complete rewrite - not a GUI like many others - so it is bound to be different in a lot of ways than the existing ones.

Are you intending to support Mac and Linux as well as Windows?
Sadly, this isn't going to be possible: not because I don't want to, but because AutoIt is a Windows-only scripting language. :(
 
  • Like
Reactions: TheGlamourGroup

Kyubnyan

Well-Known Member
Member
Joined
Dec 1, 2016
Messages
360
Trophies
0
Age
24
XP
342
Country
United States
Thanks! :D Remember tho that, as I said, this is a complete rewrite - not a GUI like many others - so it is bound to be different in a lot of ways than the existing ones.


Sadly, this isn't going to be possible: not because I don't want to, but because AutoIt is a Windows-only scripting language. :(
Ok, hoping this will be useable on wine staging seeing as the newest version of kit kat isn't.
 

RattletraPM

Well-Known Member
OP
Member
Joined
Jan 18, 2017
Messages
897
Trophies
1
XP
8,341
Country
Italy
Ok, hoping this will be useable on wine staging seeing as the newest version of kit kat isn't.
Right now my main focus is to implement some core features and fix some bugs, but you can be sure that I'll do my best to make it stable under Wine. AutoIt scripts usually don't have many problems running in it but I love Linux, so I know how you all feel when something gets released and it isn't supported in your OS.
 

Kyubnyan

Well-Known Member
Member
Joined
Dec 1, 2016
Messages
360
Trophies
0
Age
24
XP
342
Country
United States
Right now my main focus is to implement some core features and fix some bugs, but you can be sure that I'll do my best to make it stable under Wine. AutoIt scripts usually don't have many problems running in Wine but I love Linux, so I know how you all feel when something gets released and it isn't supported in your OS.
Thanks, the changes you are suggesting are very good too (especially resizing screen without restarting).
 

Joom

 ❤❤❤
Member
Joined
Jan 8, 2016
Messages
6,067
Trophies
1
Location
US
Website
mogbox.net
XP
6,075
Country
United States
Are you intending to support Mac and Linux as well as Windows?
Right now my main focus is to implement some core features and fix some bugs, but you can be sure that I'll do my best to make it stable under Wine. AutoIt scripts usually don't have many problems running in it but I love Linux, so I know how you all feel when something gets released and it isn't supported in your OS.
eP5LUJP.png
I got the 32bit build to run on Sierra after installing all of this with Winetricks:
Code:
winetricks msxml3 dotnet20 gdiplus riched20 riched30 vcrun2005sp1 allfonts

I haven't tried actually using it yet, and I assume that the 64bit version will run if the WINE prefix is specified as 64bit (of course this will require Winetricks to install all of that again in the new prefix). Once my 3DS charges up some I'll try streaming. And of course, this will work for Linux and FreeBSD users as well.

To create a 64bit prefix:
Code:
export WINEARCH=win64
export WINEPREFIX="/home/USER/path/to/new/prefix"
winecfg //this will populate the prefix and allow you to change the Windows version (I recommend using 7).
winetricks msxml3 dotnet20 gdiplus riched20 riched30 vcrun2005sp1 allfonts

//**Note that ~/.wine is the default prefix, and you'll have to completely delete it if you want to change its architecture.
 
Last edited by Joom,
  • Like
Reactions: RattletraPM

Mike Abastante

Well-Known Member
Newcomer
Joined
Jul 10, 2016
Messages
77
Trophies
0
Age
41
XP
267
Country
United States
I'm glad someone is offering an alternative to Kit Kat! I've just tried it and for some reason it connects fine but when I hit connect it just shows a black window. I'm on Luma3ds on sysnand. Launching from NTR CFW Selector.
Am I the only one with this issue?
Thanks!!
 

Kyubnyan

Well-Known Member
Member
Joined
Dec 1, 2016
Messages
360
Trophies
0
Age
24
XP
342
Country
United States
I'm glad someone is offering an alternative to Kit Kat! I've just tried it and for some reason it connects fine but when I hit connect it just shows a black window. I'm on Luma3ds on sysnand. Launching from NTR CFW Selector.
Am I the only one with this issue?
Thanks!!
mine shows a grey window.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    realtimesave @ realtimesave: can troll SylverReZ the following day :)