Homebrew RELEASE Switch Backup Manager 1.0

  • Thread starter Thread starter GibaBR
  • Start date Start date
  • Views Views 235,955
  • Replies Replies 808
  • Likes Likes 74

Does version 1.1.0 works for you when adding nsp?

  • Yes

    Votes: 14 93.3%
  • No

    Votes: 1 6.7%

  • Total voters
    15
  • Poll closed .
Version 1.1.1 released

v 1.1.1
* Now you can add NSP titles with the same TitleID. Thanks to @garoxas
* add support for multiple XCI revisions Thanks to @garoxas
* Game information like description, release date, nº o players, publisher and categories can now be scraped from web (optional, can be set on config screen)
* User can manually edit information of the games.
* Fixed #32 (Auto renaming problem)
* Add CDNSP Renaming pattern (Detects if its a base game, DLC our Update)
 
That was fast, great update! I have three suggestions for the future, perhaps it is possible to include them:

#1: Two seperate renaming patterns for Local files (XCI) and E-shop files (NSP)
#2: The CDNSP GUI rename format is very nice, but you should notice that files that have more than 67 chars can't be installed, so those should be cut automatically (eg. remove the update version, NSP Rename works this way).
#3: Perhaps you could include XCI-Cutter, some of us are still using a old firmware and FAT32.

https://github.com/Destiny1984/XCI-Cutter/releases
 
Last edited by Thandor,
  • Like
Reactions: GibaBR and PrixM
Still the problem with linebreak for text and some spaces at start/end of the lines. You should trim and combine the lines.
" The legendary action game, "10 Second Run" is back! The rules (and "
" controls) are simple: "Move Sideways" and "Jump & Dash" to get to the "

should be
"The legendary action game, "10 Second Run" is back! The rules (and controls) are simple: "Move Sideways" and "Jump & Dash" to get to the..."
 
Guys, please, before use autorenaming function DO A TEST! If you use a wrong pattern it could overwrite all your files with the same name!
For Example, if you select a pattern like {gamename} {titleid} and have multiple files with the same Game name and Title ID it will override all files!
 
Last edited by GibaBR,
Guys, please, before use autorenaming function DO A TEST! If you use a wrong pattern it could overwrite all your files with the same name!
For Example, if you select a pattern like {gamename} {titleid} and have multiple files with the same Game name and Title ID it will override all files!

Release v 1.1.1a

* Fix: User could select a destructive pattern for autorenaming feature, leading to overwriting their files. To avoid that, if the same file name is generated, the program will not overwrite that, showing an error on the log
 
  • Like
Reactions: veddermandan
Still the problem with linebreak for text and some spaces at start/end of the lines. You should trim and combine the lines.
" The legendary action game, "10 Second Run" is back! The rules (and "
" controls) are simple: "Move Sideways" and "Jump & Dash" to get to the "

should be
"The legendary action game, "10 Second Run" is back! The rules (and controls) are simple: "Move Sideways" and "Jump & Dash" to get to the..."
I tried that but did not like the result.

Enviado de meu SM-G935F usando o Tapatalk
 
I tried that but did not like the result.
upload_2018-8-12_6-52-10.png


Found another Problem.
No "Folders to scan at Startup" in Options and all NSP on external drive.
After starting Programm bevore connecting drive all NSP are removed.
The Program should not scan or ask.

Another error:
If i click on Tools / Scrap.... the Program crashes.

System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. (The Objectreference has no instance)

bei Switch_Backup_Manager.FrmMain.backgroundWorkerScrapExtraInfo_DoWork(Object sender, DoWorkEventArgs e)
bei System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
bei System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
 
Last edited by PrixM,
Languages in NSP renaming are not working, for example pattern {gamename} (v{nspversion}) ({languages}) results in GUNBIRD2 for Nintendo Switch (v65536) ().nsp

Languages display in the program is not consistent. For example one game can have en, fr, de, it and the next game hasAmerican English, Japanese is it possible to configure these ourself? I prefere the short version on language names.

Can you add the [UPD] and [DLC] as options for custom pattern?

Can you add an option to move renamed files to a directory rename (or something like that). This way it is easily noticeable which games weren't renamed correctly.

Keep up the good work, really like the program.
 
you mean disable the word wrap?
yeah I think that would be nice too
Yes and no.
First line has only CRLF (0x0d 0x0a).
The every line starts with 6 Spaces (0x20)
So if you remove every 0x0d0a202020202020 in the string you get one line of text that works.
(I made this for SBM_NSP_Local.xml and it looks much better now)
Only disabling word wrap won't work.


BTW. The Link in the left Panel still only works for the Game

Clicking a emty line and the left panel is clear but the botton panel (should be bottom in your View menu or?) is still filled.
 
Last edited by PrixM,
  • Like
Reactions: Garou
Release v 1.1.1a

* Fix: User could select a destructive pattern for autorenaming feature, leading to overwriting their files. To avoid that, if the same file name is generated, the program will not overwrite that, showing an error on the log
I have a problem of scanning existing nsps and xcis. Only nsp up to C are listed nothing further. And xcis not listed at all
 
Yes and no.
First line has only CRLF (0x0d 0x0a).
The every line starts with 6 Spaces (0x20)
So if you remove every 0x0d0a202020202020 in the string you get one line of text that works.
(I made this for SBM_NSP_Local.xml and it looks much better now)
Only disabling word wrap won't work.
I agree
here's the result with disabling word wrap and trimming leading and trailing whitespace. there are still weirdly placed linebreaks in some lines

sbm1.PNG


and here's the result by simplifying all whitespace so it become 1 line as you suggested (with word wrap enabled)

sbm2.PNG


the second one looks better imo
 
  • Like
Reactions: PrixM
First of all i like your work! :bow:

Some Ideas/wishes for the next version/s.
If you scrap onlineinfos. Save them to a local DB so next time you could read them from there (much faster)
E.g. GalGun 2 US are 23 Files (Game + UPD + DLC) = 23 Scrappings (is Scrappings a existing word?) from net or 1 time.

Show User if there are videos on the Webpage.

Remove the [DLC] in front of Gamtitle. or set it to the same position [UPD] has.
You make them green thats enough.
If i sort by name the DLCs are sorted correctly

Like i an other told you. The Languages are a little bit confusing.
American English,British English,Japanese,French,German....
Replace the Strings using the short versions and then remove double.
French & Canadian French should be fr

For the better look
Firmware 0 = 0.0.0

Let the User choose the Dateformat.
US Date is confusing for most peopele in the world even if you use Month as Text

I still want one list for all.
You show the Distribution and i can set filters so why 2 lists/databases?

Your UsedSpace/Bytes are not correct,
In my DB they are allways identical with ROMSize/Bytes but in real they are not.

The Description is not allways complete.
e.g. Take a look at 1-2-Switch https://ec.nintendo.com/apps/01000320000CC000/US
Your version ends after "Features:"

Also i still want to choose the Language for the description without recompiling your source ;-)
You can find all possibilities on https://www.nintendo.com/countryselector
I found a way to set the language in ec.nin.. url for Multilaguage countries like swiss (DE/FR/IT)
Maybe you are interested.
If you set INTERNET_FLAG_NO_AUTO_REDIRECT flag (No Autoredirect) Dont know how you do this for your 3rd party control.
You can catch the 303 Header
This header gives you the Adress incl. language support.
https://ec.nintendo.com/apps/010055a00a300000/DE
Result:
HTTP/1.0 303 See Other
Content-Type: text/plain; charset=utf-8

Location: https://www.nintendo-europe.com/redirect/?nsuid=70010000008221&country=DE&language=de
.....
Now you can get the url and set BE fr
 
Last edited by PrixM,
  • Like
Reactions: GibaBR
I select the dir with my xci games...

Scraping games ... Is freezing..
But he can found games , but it say done... Use 1.1.1a...
See log:
 

Attachments

  • MVIMG_20180812_153419-1024x768.jpg
    MVIMG_20180812_153419-1024x768.jpg
    171.7 KB · Views: 137
Great job so far!

Few other suggestions from me (could probably implement them myself but too many things to do in life :-)
  • Scrapped information (with Update Game Info from Web) should probably be shared between Base Game and DLC/Update. Currently scrapped info is only associated with the file it was run on.
  • Ability to filter/hide by type (Base Game / Update / DLC / Demo) as the list is getting a bit too cluttered
    OR
  • completely hide DLCs / Updates file from the main list and instead add DLC / Update columns to the list (to show there are associated DLCs/Updates).
    Then add two extra tabs to the bottom panel listing DLCs / Updates associated with given base game.
 
  • Like
Reactions: GibaBR
Many thanks for your program.
It works without problem, but i have a little problem:
Every time, i scanning for XCI Files, the changing date of the folders are setting to the current time.
i think you create a tmp file, is it possible to do this in tmp folder, so that the date/time of the folder not changed?
Thanks
 
I've found an issue when adding certain Update NPSs. So far all the problem ones I have found are ones downloaded with the latest CDNSP with lots of extra delta fragments in. The original versions of those same update NSPs without all the extra delta fragments load fine.

Some examples are:

Disgaea 5 Alliance of Vengeance [UPD][0100e5f0000c0800][v196608]
Gear.Club Unlimited [UPD][010065e003fd8800][v131072]
L.A. Noire [UPD][0100830004fb6800][v131072]
NBA 2K18 [UPD][0100760002048800][v393216]
RiME [UPD][0100a62002042800][v131072]

The log shows this error on those files:

Code:
2018-08-15 22:09:59.239 [ERROR]    seems to be broken! Some info will be missing.
2018-08-15 22:09:59.313 [ERROR]      at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
   at System.IO.Directory.Delete(String path, Boolean recursive)
   at Switch_Backup_Manager.Util.GetFileDataNSP(String file)
   at Switch_Backup_Manager.Util.AddFiles(String[] files, String fileType)

It then proceeds to show stuff like this many, many times:

2018-08-15 22:38:04.097 [DEBUG] searching for 0100F5A008126000 on database.
2018-08-15 22:38:04.190 [DEBUG] 0100F5A008126000 not found on database. Adding...
2018-08-15 22:38:04.266 [DEBUG] Adding element...
2018-08-15 22:38:04.345 [DEBUG] Saving xml SBM_NSP_Local.xml
2018-08-15 22:38:04.454 [DEBUG] xml saved...
2018-08-15 22:38:04.516 [DEBUG] searching for 010002900294A000 on database.
2018-08-15 22:38:04.594 [DEBUG] 010002900294A000 not found on database. Adding...
2018-08-15 22:38:04.672 [DEBUG] Adding element...
2018-08-15 22:38:04.753 [DEBUG] Saving xml SBM_NSP_Local.xml
2018-08-15 22:38:04.859 [DEBUG] xml saved...
2018-08-15 22:38:04.922 [DEBUG] searching for 010002900294A800 on database.
2018-08-15 22:38:05.011 [DEBUG] 010002900294A800 not found on database. Adding...
2018-08-15 22:38:05.087 [DEBUG] Adding element...
2018-08-15 22:38:05.166 [DEBUG] Saving xml SBM_NSP_Local.xml
2018-08-15 22:38:05.295 [DEBUG] xml saved...

Before giving up
 
Last edited by chr0m,
I've found an issue when adding certain Update NPSs. So far all the problem ones I have found are ones downloaded with the latest CDNSP with lots of extra delta fragments in. The original versions of those same update NSPs without all the extra delta fragments load fine.

Some examples are:

Disgaea 5 Alliance of Vengeance [UPD][0100e5f0000c0800][v196608]
Gear.Club Unlimited [UPD][010065e003fd8800][v131072]
L.A. Noire [UPD][0100830004fb6800][v131072]
NBA 2K18 [UPD][0100760002048800][v393216]
RiME [UPD][0100a62002042800][v131072]

The log shows this error on those files:

Code:
2018-08-15 22:09:59.239 [ERROR]    seems to be broken! Some info will be missing.
2018-08-15 22:09:59.313 [ERROR]      at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
   at System.IO.Directory.Delete(String path, Boolean recursive)
   at Switch_Backup_Manager.Util.GetFileDataNSP(String file)
   at Switch_Backup_Manager.Util.AddFiles(String[] files, String fileType)

It then proceeds to show stuff like this many, many times:



Before giving up

Yes, I'm aware of these files. They seem broken as when I use hactool to extract them the files I expect are not there or are worng formated.
For now, I made a minor fix to keep scanning the other files. The fix is on github already and will be on next release.
 
Renaming is still buggy
Renaming files {nspversion} results in {revision}
Tested with xci

BTW: Still total crash if i click Tools/Scrap extend.....
 
Last edited by PrixM,

Site & Scene News

Popular threads in this forum