Fluffy - A Tinfoil and Goldleaf GUI

Fluffy
fluffy-intro.png




So what's different about Fluffy?

Fluffy is the first to introduce:
  • Goldleaf and Tinfoil Support.
  • USB and Network install with transfer rate and progress bar.
  • Display current install rate in MB/ for both USB and Network mode(Goldleaf & Tinfoil too)
  • Display current NCA name and count.
  • Transfer mode option switchable between "Normal" and "Safe".
  • Individual NSP selection (suggested by: ShadowHand, thanks!)
  • Show current NSP being installed
  • Switch connected indicator
  • USB 5.x Fix (Compatible with Firmware versions 5.x and below)
screenshot-fluffy-v240c.png


GitHub:
https://github.com/fourminute/Fluffy

Latest Releases
https://github.com/fourminute/Fluffy/releases

Recommended TinFoil.nro
https://github.com/fourminute/Fluffy/blob/master/Tinfoil.nro




How-To-Use
  • Download and Install Python 3 from https://www.python.org/downloads/. Ensure no previous version of Python is installed. This may cause an error "PyUSB not found". Do not use the 64-bit version of Python 3 with Fluffy.
  • Open Terminal/CMD
  • Run "pip3 install pyusb" and "pip3 install pyqt5" and "pip3 install libusb" and "pip3 install libusb1"
  • MacOS users must also run "brew install libusb". For more info on brew, head to https://brew.sh/.

Going forward,
I plan to support Fluffy for the foreseeable future.

I hope this tool can help anyone and everyone that uses it,
fourminute
 
Last edited by fourminute,

qioro

Member
Newcomer
Joined
Jan 25, 2019
Messages
6
Trophies
0
Age
29
XP
73
Country
China
I can open this tool. When I click the "begin tranfer" button,the progress bar has been stuck at 0%.
My log file has nothing.My system is Win10 x64. @fourminute

DEBUG:root:Fluffy Log: If you see nothing here. Good!


IDLE History
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
=================== RESTART: C:\Download\fluffy\fluffy.pyw ===================
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Download\fluffy\fluffy.pyw", line 722, in init_tinfoil_usb_install
dev.reset()
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 913, in reset
self._ctx.managed_open()
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 120, in managed_open
self.handle = self.backend.open_device(self.dev)
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 786, in open_device
return _DeviceHandle(dev)
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 643, in __init__
_check(_lib.libusb_open(self.devid, byref(self.handle)))
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 593, in _check
raise NotImplementedError(_strerror(ret))
NotImplementedError: Operation not supported or unimplemented on this platform
 
Last edited by qioro,
D

Deleted User

Guest
I can open this tool. When I click the "begin tranfer" button,the progress bar has been stuck at 0%.
My log file has nothing.My system is Win10 x64.

DEBUG:root:Fluffy Log: If you see nothing here. Good!


IDLE History
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
=================== RESTART: C:\Download\fluffy\fluffy.pyw ===================
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Download\fluffy\fluffy.pyw", line 722, in init_tinfoil_usb_install
dev.reset()
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 913, in reset
self._ctx.managed_open()
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\core.py", line 120, in managed_open
self.handle = self.backend.open_device(self.dev)
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 786, in open_device
return _DeviceHandle(dev)
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 643, in __init__
_check(_lib.libusb_open(self.devid, byref(self.handle)))
File "C:\Users\liang\AppData\Local\Programs\Python\Python37-32\lib\site-packages\usb\backend\libusb1.py", line 593, in _check
raise NotImplementedError(_strerror(ret))
NotImplementedError: Operation not supported or unimplemented on this platform

You installed Libusb and also installed the libusbk via zdiag?
 

fourminute

Well-Known Member
OP
Member
Joined
Jan 15, 2019
Messages
170
Trophies
0
Age
34
XP
424
Country
United States
2.3.3 works perfect again thanks a lot love the app :toot:
Thank you !

2.4.0 is out.

What's New in 2.4.0:

  • Added: Exception handling for all types of install. Fluffy will no longer crash when an install fails.
  • Added: Ability to install more games following failed or successful install. A restart is no longer required.
  • Fixed: No longer depends on binascii.
  • Fixed: Network: Will now select a random port when serving to fix failed to bind error.
  • Fixed: Significantly less CPU usage. Improved thread handling.
 

linuxares

The inadequate, autocratic beast!
Global Moderator
Joined
Aug 5, 2007
Messages
13,384
Trophies
2
XP
18,310
Country
Sweden
I agree especially with Goldleaf installs lol. It was actually where I tested the feature the most. Because Goldleaf never fails to crash on me.
Haha I actually twice managed to get a crash to Atmosphere error twice with Fluffy and Goldleaf. Then again, I probably got gobblins running around.
 
  • Like
Reactions: fourminute

fourminute

Well-Known Member
OP
Member
Joined
Jan 15, 2019
Messages
170
Trophies
0
Age
34
XP
424
Country
United States
The one thing I haven't managed to fix yet is when an NSP is set in queue, when Goldleaf crashes before the installation takes place then you will have to restart Fluffy. That seems to happen to me a lot.
 

linuxares

The inadequate, autocratic beast!
Global Moderator
Joined
Aug 5, 2007
Messages
13,384
Trophies
2
XP
18,310
Country
Sweden
The one thing I haven't managed to fix yet is when an NSP is set in queue, when Goldleaf crashes before the installation takes place then you will have to restart Fluffy. That seems to happen to me a lot.
Yes, same here.
Odd question, do you think you can make Fluffy auto-restart then? Or a button to make it restart in case of failure?
 

fourminute

Well-Known Member
OP
Member
Joined
Jan 15, 2019
Messages
170
Trophies
0
Age
34
XP
424
Country
United States
Yes, same here.
Odd question, do you think you can make Fluffy auto-restart then? Or a button to make it restart in case of failure?

Well it's mostly due to the fact that Fluffy thinks you are still navigating install options on the Switch. I could set a timeout in the future and a countdown timer, that's most likely what I will end up doing.
 
D

Deleted User

Guest
I get following error in 2.4.0

upload_2019-1-27_17-13-12.png


Here is the log

ERROR:root:[WinError 3] The system cannot find the path specified: ''
Traceback (most recent call last):
File "E:\ReiNX\fluffy\fluffy.pyw", line 794, in init_tinfoil_usb_install
Tinfoil.send_nsp_list(selected_files, nsp_dir, out_ep)
File "E:\ReiNX\fluffy\fluffy.pyw", line 766, in send_nsp_list
for nsp_path in os.listdir(nsp_dir):
FileNotFoundError: [WinError 3] The system cannot find the path specified: ''

I am using your version that you recommended Tinfoil shall I change to Goldleaf?
 

fourminute

Well-Known Member
OP
Member
Joined
Jan 15, 2019
Messages
170
Trophies
0
Age
34
XP
424
Country
United States
I get following error in 2.4.0

View attachment 156343

Here is the log

ERROR:root:[WinError 3] The system cannot find the path specified: ''
Traceback (most recent call last):
File "E:\ReiNX\fluffy\fluffy.pyw", line 794, in init_tinfoil_usb_install
Tinfoil.send_nsp_list(selected_files, nsp_dir, out_ep)
File "E:\ReiNX\fluffy\fluffy.pyw", line 766, in send_nsp_list
for nsp_path in os.listdir(nsp_dir):
FileNotFoundError: [WinError 3] The system cannot find the path specified: ''

I am using your version that you recommended Tinfoil shall I change to Goldleaf?
What is your OS?
 

fourminute

Well-Known Member
OP
Member
Joined
Jan 15, 2019
Messages
170
Trophies
0
Age
34
XP
424
Country
United States
I now can load fluffy with no issues, however when im using 2.2.0 i can't get it to work. It detects the switch, but when i pick an NSP it just sits at "awaiting selection" the nsp doesn't show up in the box ready to be sent over to the switch, both goldleaf and tinfoil both do this.

HOWEVER, if i use 1.6.4 it works perfectly with tinfoil. :(
Got one problem fixed straight into another haha
This bug was fixed in 2.4.1.
 
D

Deleted User

Guest
So I don't need to download 2.4.1? I already have it right? or did you commit more features and code changes?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    I wonder if that was the point of game streaming
  • Psionic Roshambo @ Psionic Roshambo:
    But it's a dead end
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, people who cant download it can still play the game
  • BigOnYa @ BigOnYa:
    If your internet speeds are fast enough. Streaming 4k takes alot. I used to only have 20mb sec, and 4k struggled. Now I have 300mb sec and 4k plays fine.
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, i only have like 1 or 2 mb sec
  • BigOnYa @ BigOnYa:
    Did you feed the hamster in your internet router? It prob died and is running slow now.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, why did you start saying my pc has a hamster in the first place?
    +1
  • BigOnYa @ BigOnYa:
    Its actua!ly just a old joke, meaning its slow. Was just kidding around with you.
    +1
  • BigOnYa @ BigOnYa:
    I bet @AncientBoi has some hamsters hidden somewhere tho....
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    I think Game streaming should work like this.... Local Hardware able the run the game fine, game engine and common assets stored locally, all FMV and music and textures could be streaming
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Some temporary storage
  • Xdqwerty @ Xdqwerty:
    also @BigOnYa im making some progress on my gdevelop project, implemented various mechanics
  • Psionic Roshambo @ Psionic Roshambo:
    They went all in on streaming, should have been more of a hybrid approach
    +1
  • BigOnYa @ BigOnYa:
    Or free government supplied high speed internet be nice also. Like Obama care. Xdqwerty that's cool, its time consuming but rewarding once done or playable, to see what you've made from scratch. Animations take forever, but worth it.
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, although the bullets are a bit buggy
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Not to mention this would be a massive pain to pirate
  • Xdqwerty @ Xdqwerty:
    @BigOnYa,
    and the visual aspect of the game is quite crude (the sprite that looks best is that of the protagonist just because he is a stickman with sunglasses)
    +1
  • BigOnYa @ BigOnYa:
    There is a bullets behaviour you assign to your character, that makes the code easier, under "behaviours"
  • Xdqwerty @ Xdqwerty:
    i meant that when the character is pointing to the right, the bullets spawn where they should, but when he is on the right, they move to the right but the spawn point is incorrect
  • BigOnYa @ BigOnYa:
    Itch.io has lots of free assets also. Under the bullets behavior tab, there is a "rotate bullets" option, can try that. Or in the code can try
    - fire bullet Player.X(PlayerDirection)
  • Xdqwerty @ Xdqwerty:
    im taking a break for today anyway
    +1
  • BigOnYa @ BigOnYa:
    YEa gotta after a while, looking at code for long periods will bug your eyes.
    +1
  • BigOnYa @ BigOnYa:
    That's cool tho, I'm proud of you going back to it, not giving up. It is difficult at first to learn, but fun once you get the hang of it. I think I've watched every tutorial video there is, but I still struggle sometimes to get stuff to work right. But gotta keep trying dif things, and eventually you will get it right.
    +1
    BigOnYa @ BigOnYa: That's cool tho, I'm proud of you going back to it, not giving up. It is difficult at first to... +1