A simple GUI for FunKiiU "FunKii-UI"

Discussion in 'Wii U - Hacking & Backup Loaders' started by dojafoja, Oct 31, 2016.

  1. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    This is a simple GUI that I wrote for FunKiiU by cearp. It rely's on FunKiiU to do all the downloading, so I named it FunKii-UI. It is written in python using it's native tkinter framework so no external libraries should be needed other than Tkinter(usually ships with python). It should work with python2 and python3.

    Credits go to cearp for writing FunKiiU and cerea1killer for his re-write of FunKiiU.

    You can visit the FunKiiU thread here: https://gbatemp.net/threads/release-funkiiu-download-wii-u-stuff-python-tool.446092/

    You will need Python installed to run this
    Download Python here: https://www.python.org/downloads/

    Some Linux users will also need to install Tkinter first:
    In most cases a this should work for Python 2:
    Code:
    sudo apt-get install python-tk
    and for Python 3:
    Code:
    sudo apt-get install python3-tk
    Usage:
    1. Make sure you have already downloaded the latest version of FunKiiU from the link above or grab latest FunKiiU from github here https://github.com/llakssz/FunKiiU/releases/latest. (Tested on v2.2)

    As of v2.1.6 you no longer need to download FunKiiU seperately. It will be included in the releases.

    1. Download and extract the GUI from here https://github.com/dojafoja/FunKii-UI/releases/latest
    2. Run gui.py.
    3. Download stuff
    4. Report bugs



    P.S I was really tired recently and screwed up a few versions of this program. Because of this there are a few goofy releases on my github. Please ignore them and only assume versions listed below. Thanks for understanding.


    Changelog:

    v2.1.7:
    Fixes minor bug in 2.1.6 where I forgot to change the version number causing
    the app to insist it needs to be updated

    v2.1.6:
    Accepts any url for titlekey site. You must include the http:// or https://

    v2.1.5:
    Automatically downloads FunKiiU for you so you its easier to get started.
    Auto fetch game updates and dlc when adding to the download list.
    Single download button with behavior options in the Options tab.
    Batch importing/exporting.
    Persistent settings
    Pop up notification on database updates to avoid confusion about whats going on.
    New logo
    New icon
    Supports FunKiiU v2.2

    v2.1.3:
    Add self updating size info database
    Show title size instantly
    Show total download size
    Add filter by online ticket availability
    Remove items from download list after download
    Makes calls directly to FunKiiU's process_title_id() instead of main so I have better control.
    Many other fixes and behind the scene improvements.
    supports FunKiiU v2.2

    v2.1:
    Add filter by content type (No more messy selection menu)
    Fix selection menu hopefully for good.
    Fix blank entries in download list when entering title id manually.
    Entering title id manually will try to get name from json first, then from combobox, then fall back to using title id if it is blank (No more blank entries)
    Changed download list to display '**' if a key was provided.
    Notify users of updates inside the application on the welcome screen
    Remove the widgets to enter *that key site if already correct on the welcome screen
    Better versioning comparison
    supports FunKiiU 2.2

    v2.0.7:
    FIXED dropdown selection menu finally :)
    Entering a title id manually will add the game to the list but a new bug in my approach prevents anything being shown in the download list. Its there but without any text showing. I will fix today.
    Added ability to filter selection menu by region
    Changed download list to display the game name instead of title id.
    supports FunKiiU 2.2

    v2.0.6:
    Dropdown selection not working properly
    Fixed app updating in python3
    Working with python2 and python3 again
    supports FunKiiU 2.2

    v2.0.3:
    Dropdown selection not working properly
    Fixed Python 3 compatibility :)
    Works with Python 3 but the app update feature isn't working in python 3 still only python 2 :(
    supports FunKiiU 2.2

    v2.0.1:
    Dropdown selection not working properly
    Only working with python2
    Fix minor bug when using python3, still broken :(
    supports FunKiiU 2.2

    v2.0:
    Dropdown selection not working properly
    Only working with python2

    Added support for updating the GUI and FunKiiU from within the app.
    Added a dropdown menu for title selections with autocomplete.
    Checks for updates on launch, so starts a little slower.
    supports FunKiiU 2.2

    v1.0:

    Initial release
    supports FunKiiU 2.0.1 and 2.0.2
     
    Last edited by dojafoja, May 24, 2017
  2. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    screenshots
     

    Attached Files:

    Anonymous456, Masterwin and loler55 like this.
  3. cearp

    cearp the ticket master

    Member
    7,550
    4,813
    May 26, 2008
    Tuvalu
    @dojafoja cool, is the gui in python too? --oh, gui.py, cool, so it's not windows only. nice!
    good that you are not including FunKiiU in your project, since it would get outdated whenever i fix a bug and it would be annoying for you to keep that up to date!

    - everyone, my tool (and this gui) is the only tool that handles dlc nicely, and will make the delicious illegit stuff that you need signature patches for.
    so if you want mario kart dlc, smash dlc, etc etc, use FunKiiU(i) :)
     
    Anonymous456, Jayro, Kawaii and 4 others like this.
  4. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    Yes it's completely independent from FunKiiU. I just imported the FunKiiU script and used it like an API of sorts. So unless something major changes in FunKiiU, like function name changes or passed arguments, then it should still play nicely with any updates/bug fixes. FunKiiU is so powerful and useful because its completely cross platform and does amazing work so I felt that it deserved its own gui for people who aren't comfortable on a command line. I will do my best to accommodate any new features that are added to FunKiiU.
     
    Garou and cearp like this.
  5. cearp

    cearp the ticket master

    Member
    7,550
    4,813
    May 26, 2008
    Tuvalu
    thanks for appreciating my work (and of course cerea1killer's work too - as you say the reason you could made the gui was because of his work!)

    command line and multiplatform is very important, it means you can run it on basically any device that has python :)
     
    Last edited by cearp, Oct 31, 2016
  6. Naendow

    Naendow Brick-Master

    Member
    291
    99
    Jan 4, 2016
    Germany
    Is it possible to create something like an updater for FunKii-UI, so it updates FunKiiU and itself? :)
     
  7. cearp

    cearp the ticket master

    Member
    7,550
    4,813
    May 26, 2008
    Tuvalu
    yes it is very possible to get the latest zip from github and extract the the python file from within, when you press a button. whether the op will add it or not, it's a nice idea!
     
  8. Naendow

    Naendow Brick-Master

    Member
    291
    99
    Jan 4, 2016
    Germany
    Great. So if you want, I could create a little app for OS X, so that this stuff works like a normal app. But it would be great if that program could update itself.

    The only thing I would need would be an Icon for it. :D
     
  9. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    Since these are written in python they should already run on OS X. I guess you mean you want it to look and feel native to OS X without needing python. It would actually be pretty easy to add an update feature if I threw this in github. If I have time the coming days, I will add it.
     
    Naendow likes this.
  10. cearp

    cearp the ticket master

    Member
    7,550
    4,813
    May 26, 2008
    Tuvalu
    but doesn't the python gui adapt to the os?
    (the only gui dev i have done is visual studio and eclipse)

    - oh i misunderstood, my mistake :)
     
  11. Naendow

    Naendow Brick-Master

    Member
    291
    99
    Jan 4, 2016
    Germany
    Yes, this is exactly what I mean.
    Warning: Spoilers inside!
    Sorry for my bad English. :D
    I am already working on it. :)
     
  12. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    Yes, tkinter and it's companion ttk try to mimic the look and feel of your OS but there is no doubt that it's dated and clunky. Its just easy to write gui's with in python as long as it doesn't need to be too complex because it's widget set is limited.
     
    cearp likes this.
  13. cearp

    cearp the ticket master

    Member
    7,550
    4,813
    May 26, 2008
    Tuvalu
    also, i just have to point out - it's cerea1killer, and i think 'the cerea1killer', that is how it was stylized when they added it in FunKiiU :)
    you can fix that when you add support for '-overwrite':
    https://github.com/llakssz/FunKiiU/pull/11
    also, the word 'method' in your screenshot is spelled wrong, main screen, second paragraph, first line.

    also the 'download' tab, the last word in the text, 'downlod', no 'a'
     
    Last edited by cearp, Oct 31, 2016
    dojafoja likes this.
  14. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    Oops lol. I was so incredibly tired last night I didn't catch that. I will definitely fix that name. I also just noticed on the welcome screen that I spelled method wrong and put methond. Lol
     
  15. cearp

    cearp the ticket master

    Member
    7,550
    4,813
    May 26, 2008
    Tuvalu
    haha i leave loads of mistakes, no problem :D (see my edited post above)
     
  16. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    Well now I'm just embarrassed! I will give it a look over today and clean some things up. Thanks guys
     
  17. hudhair

    hudhair GBAtemp Advanced Fan

    Member
    635
    76
    Apr 23, 2013
    United States
    Sorry for the noobiness, but what are the keys?


    Sent from my iPhone using Tapatalk
     
  18. Naendow

    Naendow Brick-Master

    Member
    291
    99
    Jan 4, 2016
    Germany
    Is there a link to directly download the newest version of FunKiiU? I want my application to always get the newest version if needed.
     
  19. cearp

    cearp the ticket master

    Member
    7,550
    4,813
    May 26, 2008
    Tuvalu
    what or where?
    what - they are basically a 'password' that the wii u uses to decrypt the contents when the game installs :)
    where - google 'wii u title key site'
    https://github.com/llakssz/FunKiiU/releases/latest
    but i'm not sure exactly how to get the actual latest release's source... but it must be possible, i think.
     
  20. dojafoja
    OP

    dojafoja life elevated

    Member
    466
    313
    Jan 2, 2014
    Basically if you are not using the online tickets or online keys method then you will need to provide a key yourself. The online keys and manually provided keys method will create a ticket that will ONLY work on RedNAND w/sig patches.