WIP Switch Manager

Discussion in 'Switch - ROM Hacking, Saves, Translations & Tools' started by Stormwave, Mar 9, 2019.

  1. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Hey guys,

    Been a while since I was in the GBATemp developers section. I'm working on an offline ROM manager for the Switch. Essentially, it tracks your collection, both NSPs, XCIs, Updates and DLC files. It generally scans the library by reading the filename, using the format "<name> [titleID]". It's designed to work mostly alongside Nut, so the filenames are such that they are compatible. It has a batch rename function however, that can read the TitleID from NSPs and XCIs and then rename the files accordingly. What you will end up with is a nicely named and organised list of your backups to keep track of. It currently uses hactool to find the TitleID from XCI files, although it can find NSP ones internally. As such, you will need keys.txt for it to function properly. Titles are loaded from Nut's database.

    I want to add other features in the future, for example Metacritic ratings for the games.

    It's still very early in development, I only started it a couple of days ago. I initially only wanted to develop it for myself, but wondered if there is much interest for such a tool on here. If so, any ideas are welcome, and when it's in a workable condition, I'll share it on here.

    [​IMG]
     
    Last edited by Stormwave, Mar 9, 2019
  2. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    22
    Oct 27, 2002
    France
    Engine room, learning
    like I just said to someone else, even if there are identical tools it's always nice to have choices and it helps you learn for future projects.
    you always need a base for future updates, and different features other tools don't have.
    Thanks for sharing :)


    edit:
    I added it to my wiki app list, so it'll be easier to find by other users.
     
    Last edited by Cyan, Mar 9, 2019
    Budsixz likes this.
  3. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Thanks. In regards to features, are there any features missing from current similar projects that might be useful to be added? I've not really tried any of the other ones out there. This one can handle DLC and Updates, not sure if the others can?

    I'm also considering making a Switch homebrew app to go alongside it to copy files over, although not sure how necessary it is. Although Nut is great, it doesn't support transferring XCI files.
     
    Last edited by Stormwave, Mar 9, 2019
  4. Idontknowwhattoputhere

    Idontknowwhattoputhere See i would put something here if i knew what to

    Member
    3
    Jan 19, 2019
    United Kingdom
    Source code?

    — Posts automatically merged - Please don't double post! —

    Even though its not out its good to put code up on github
     
  5. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Yeah, I might well do once I've neatened it up a bit.
     
  6. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    22
    Oct 27, 2002
    France
    Engine room, learning
    supporting xcz and nsz would be nice (compressed xci/nsp)
    https://gbatemp.net/threads/nszip-nsp-compressor-decompressor-to-reduce-storage.530313/

    I don't think other managers/game checkers are already supporting it.
    edit: it seems the file extension is nspz and xciz

    as for the features other managers are doing, there are additional information (key version, publisher, whether it's a good signed or fake signed/dangerous/bricker game, etc.)
     
    Last edited by Cyan, Mar 9, 2019
  7. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Nice, didn't know about the compression thing. Do any of the CFWs support it? It'll be useful for PC side library management regardless.

    I'm going to write an info popup today, that'll show publisher/date released/images/description, etc. Not sure if I want all that data in the main table. Might be good to have optional columns I suppose.
     
    Last edited by Stormwave, Mar 9, 2019
  8. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    22
    Oct 27, 2002
    France
    Engine room, learning
    for now, it's supported by emulator on computer.
    support can also be added to installers (to install compressed files directly to the console)

    what's not supported yet (requires a new module) is launching xciz without installation (from SXOS), you need uncompressed version to launch the game from SD/USB without install.
     
    Last edited by Cyan, Mar 9, 2019
  9. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Thanks. I've just grabbed the nsZip source code, will integrate it into the program shortly. I'll add a "Compress Library" option, although I can imagine it'll take a while.

    — Posts automatically merged - Please don't double post! —

    I'm presently, kind of, enforcing the "<name> [TitleID]" for main NSPs and XCIs, with "<name> [TitleID][VersionCode]" for updates. Mostly for compatibility with Nut. It also makes scanning the library folder significantly quicker. However, I can imagine people might want to use different styles of naming conventions? If so, I'll have to have some sort of database to remember which file is which game, etc.

    Quick side question, does Nut support these compressed files? I'm currently using SXServer, which is essentially just a rebrand of Nut.
     
    Last edited by Stormwave, Mar 9, 2019
    Cyan likes this.
  10. Adr990

    Adr990 To boldly go where no man has gone before!

    Member
    5
    Apr 22, 2007
    Netherlands
    The Netherlands
    Looks nice, the only idea I could have is update checks of course.

    But even more so, Linux support! ...a man can dream.
     
  11. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    @Cyan

    Quick question, in regards to checking the validity of game files. Is there some sort of database that has which files are dangerous, bricker games, etc?

    I'm also contemplating adding a Nut server and FTP server into the program itself, to ease installation using various installers.
     
  12. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    22
    Oct 27, 2002
    France
    Engine room, learning
    there's no database.
    to know if a title is potentially dangerous, you need to check its signature and certificate etc.
    if you have a xci (usually a game dumped from cartridge) but it contains a non signed nro inside (usually a homebrew), it looks ultra suspicious. like Pokemon.xci which was released months ago, it contained a bricker homebrew.

    other verifier or game manager are usually open source, you can check how they are doing it and make something similar.
    in the wiki page, I list all tools. the game verifier working on one file at a time are currently listed in "tools", not in "game manager".
     
    Last edited by Cyan, Mar 13, 2019
    Stormwave likes this.
  13. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Ah, okay. I see, should be easy enough to check.
     
  14. Bebamercurio

    Bebamercurio Newbie

    Newcomer
    1
    Mar 13, 2019
    Spain
    Nice!

    Is very useful for me :)

    I'm messing around with NSC Builder that is a wonderful tool but I really need this type of apps to check my backups collection.

    Yesterday I used Switchbackupmanager to get all the info and paste it into a excel :D so my first idea is to add a feature to export the data.

    Some useful fields I use are name, filename, filesize, base version, title id, update version, dlc's included...

    Good job!
     
  15. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Good idea about exporting, I'll work that in.

    Latest version is coming along nicely, almost ready for release I think.

    I've recently added: Batch renaming based on formatted strings (customisable), Metacritic ratings for games and Validation checking for ROMs. Also a game info panel on the right as well. Invalid games (either certificate failed, hash is invalid, file not readable, etc) appear with a red dot to the left, and "Rom Info" as Invalid.

    Games will be verified on scanning, which takes a bit of time (a few minutes). Games already verified and checked will be skipped in future scans, unless you run a "Full Scan" which will reset everything it knows.

    [​IMG]
     
    Last edited by Stormwave, Mar 18, 2019
  16. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Alright, ready for first release I think.

    Still a ton of things I want to add, but it's enough to get started.

    You can download from this page:

    http://stormwave.uk/#downloads

    All feedback appreciated, and new ideas will be taken into consideration.

    Forgot to add a brief tutorial for getting set up.

    First step is setting the library path in Library -> Set Path, after that everything should be straight forward enough. Full Scan does validation checks again, as opposed to normal scan. Rename Files will rename or sort files based on the options in File -> Settings.

    Red dot, at present at least, means either the main XCI or NSP is damaged, corrupt or modified, or one of it's patches/DLCs is.
     
    Last edited by Stormwave, Mar 22, 2019
    klear and Philliyxx like this.
  17. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Just to update you guys, I'm working on a rewrite of this app. I've ported the code base over to Mono instead of Microsoft's C# Dot Net.

    This means it is now cross-platform! The user interface is web based, and completely skin-able. It'll keep all the same features, plus a few more I've added since I uploaded the older version. Linux and Mac OS users can celebrate.

    [​IMG]

    Once I finish porting all the functions over, I'm going to try and implement a Nut server directly into it for ease of game installation on Switch. I might not include the USB option, undecided yet. I'll release it in the near future.
     
    Last edited by Stormwave, May 14, 2019
  18. stitchxd

    stitchxd GBAtemp Regular

    Member
    3
    Apr 27, 2017
    United States
    nope

    Yo, that looks SLICK. Keep up the good work!
     
  19. Tungo

    Tungo Newbie

    Newcomer
    1
    Feb 20, 2013
    Cote d'Ivoire
    Is there a way for the rename template to show version on dlc??
     
  20. Stormwave
    OP

    Stormwave GBAtemp Regular

    Member
    2
    Apr 22, 2010
    Sure, I'll add that into the new version.
     
Loading...