Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

NX-Update-Checker Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=NX-Update-Checker
|title=NX-Update-Checker
|image=nxupdatecheckerswitch.png
|image=nxupdatechecker02.png
|description=A small console application that checks a Switch's installed contents against a provided versionlist for newer updates.
|description=A small console application that checks installed contents against a provided versionlist for newer updates.
|author=16BitWonder
|author=16BitWonder
|lastupdated=2021/08/20
|lastupdated=2021/08/20
Line 23: Line 23:
It will display any newer versions that are available on the screen and save them to a text file located at sdmc:/Available-Updates.txt.
It will display any newer versions that are available on the screen and save them to a text file located at sdmc:/Available-Updates.txt.


==How to use===
===How to use===
*In case of no internet connection, grab the latest versions.txt available from the [https://github.com/16BitWonder/nx-versions/blob/master/versions.txt nx-versions Repository], and save it in the same directory as NX-Update-Checker.nro.
*In case of no internet connection, grab the latest versions.txt available from the [https://github.com/16BitWonder/nx-versions/blob/master/versions.txt nx-versions Repository], and save it in the same directory as NX-Update-Checker.nro.
*Run the nro with your favorite variation of the HBMenu.
*Run the nro with your favorite variation of the HBMenu.
Line 59: Line 59:


Binary releases are built using switch-curl-7.69.1-1 to avoid connectivity issues with a blanked prodinfo.
Binary releases are built using switch-curl-7.69.1-1 to avoid connectivity issues with a blanked prodinfo.
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/nxupdatechecker2.png
https://dlhb.gamebrew.org/switchhomebrews/nxupdatechecker3.png
https://dlhb.gamebrew.org/switchhomebrews/nxupdatechecker.png
'''Example output'''<br>
https://dlhb.gamebrew.org/switchhomebrews/nxupdatechecker4.png
==Changelog==
'''v1.5.4'''
*Inserted cartridges' bundled version will now be stored and read from a local cartridge version database, in order to prevent informing users of updates already on the cartridge while they aren't inserted.
'''v1.5.3'''
*Fixed an issue that prevented more than 10 entries being loaded for a title, making games with many DLC that were installed appear as though they were not.
'''v1.5.2'''
*Fixed an issue present in all versions v1.0.0 - v1.5.1 where the first local title parsed would be ignored during update/DLC checking.
'''v1.5.1'''
*A null-reference bug has finally been squashed that frequently caused crashes.
*ignore.txt may now have a descriptor following title IDs, please see the README for details.
'''v1.5.0'''
*[https://github.com/16BitWonder/NX-Update-Checker#logging Logging]; Users can now place a log.flag file in their nro directory and a log will be produced at the SD root as NXUC.log. Note that the application will run much slower while logging is active.
*[https://github.com/16BitWonder/NX-Update-Checker#ignore-list Ignore List]; Users can now place an ignore.txt in their nro directory and specify titles they would not like to be informed about. Instructions for filling one out is available in the [https://github.com/16BitWonder/NX-Update-Checker#ignore-list README].
*DLC Checker; If it's found that there is DLC listed in versions.txt that you do not have installed for a title, the application will inform you.
*The different kinds of information being presented has been separated for easier viewing;[https://github.com/16BitWonder/NX-Update-Checker#ignore-list The three categories displayed are "New Updates Available", "New DLC Binaries Available" and "Available DLC Not Installed".
*New download code has been adopted and switch-curl 7.69.1-3 is now being used. Prodinfo blanking via Atmosphere's exosphere.ini is the only method tested. If you use a different blanking solution and have issues please switch and try again.
'''v1.4.1'''
*The application now points towards [https://github.com/16BitWonder/nx-versions nx-versions] for versions.txt.
*Adopted similar printing scheme from versions.txt parser into installed title parser for a slight speed-up.
'''v1.4.0'''
*Yet another release that brings some much needed QoL improvements, this time from the talented [https://github.com/aedalzotto aedalzotto].
*The application will now first attempt to grab the latest [https://github.com/blawar/titledb/blob/master/versions.txt] versions.txt over the internet, then fallback to any versions.txt that may already be within the nro's directory should connection fail.
*The versions.txt parsing code has been dramatically improved, now taking seconds to completely parse instead of minutes.
'''v1.3.1'''
*Fixes an edge-case where an update's version might overwrite a DLC's version while constructing the local-list.
*Fixes an infinite loop that would occur when an update was found after the base-game and the base-game was not immediately parsed before the update.
'''v1.3.0'''
*Reswitched versionlist.json format has been deprecated and will no longer function with this application.
*Users must now download the latest versions.txt from the [https://github.com/blawar/titledb/blob/master/versions.txt titledb Repository] and place it within the same directory as the nro.
*Having switched to titledb, this application can now additionally parse available updates for installed DLC.
'''v1.2.0'''
*A time-stamp is now printed to Available-Updates.txt.
*User now picks from (up to 40) json files within the nro's directory to use as the versionlist, removing the requirement that the versionlist must be named 'versionlist.json'.
*versionlist.json updated 2020-03-26 | 15:50.
'''v1.1.0'''
*Locally installed titles will now display version strings in console and the produced txt.
*versionlist.json updated 2020-03-20 | 11:11.
'''v1.0.0'''
*Initial Release.
==Credits==
Kudos:
*[https://github.com/blawar blawar] - titledb.
*[https://github.com/simontime simontime] - VersionListBot.
*[https://github.com/aedalzotto aedalzotto] - Initial downloading code.
*[https://github.com/bagder bagder] - Current downloading code.
== External links ==
* GitHub - https://github.com/16BitWonder/NX-Update-Checker
* GitHub - https://github.com/16BitWonder/nx-versions
* GBAtemp - https://gbatemp.net/threads/nx-update-checker.557898/

Latest revision as of 12:56, 6 July 2024

NX-Update-Checker
Nxupdatechecker02.png
General
Author16BitWonder
TypeOther Apps
Version1.5.4
LicenseMIT License
Last Updated2021/08/20
Links
Download
Website
Source

A small console application that checks a Switch's installed contents against a provided versionlist for newer/missing updates/DLC, and then writes the titles with newer/missing updates/DLC and the latest version to sdmc:/Available-Updates.txt.

With this app anyone that remains in airplane mode or similar offline status will be able to produce a full list of the most recent updates for installed titles without connecting to Nintendo's servers or keeping track of available updates.

User guide

What does it do

When given a versions.txt file from the nx-versions Repository, this application will compare the latest known versions in the versionlist with the currently installed versions of your titles.

It will display any newer versions that are available on the screen and save them to a text file located at sdmc:/Available-Updates.txt.

How to use

  • In case of no internet connection, grab the latest versions.txt available from the nx-versions Repository, and save it in the same directory as NX-Update-Checker.nro.
  • Run the nro with your favorite variation of the HBMenu.
  • Watch the pretty text move across the screen.

Ignore list

You can choose to ignore specific game updates and DLC if they choose by creating a file named ignore.txt and filling it out with the following structure:

  • For each line a single, whole title ID must be entered for either an update or DLC
  • That title ID may (optionally) be followed by any text/descriptor with or without a space after the title ID
  • ignore.txt must be placed in the same directory as NX-Update-Checker.nro

An example ignore.txt is shown below:

0100000000010800 Super Mario Odyssey Update
0100E95004039001 Xenoblade 2 Torna DLC
01006A800016F002 Super Smash Bros. Joker DLC

The above ignore.txt would prevent NX-Update-Checker from showing new Super Mario Odyssey updates, Xenoblade 2 Torna DLC Binary updates and Super Smash Bros. Joker DLC Binary updates.

Local cartridge version database

If a there is a cartridge inserted, the application will add any bundled update to a local database named cart_versions.txt. This will prevent you from being notified of an update that is already bundled with the cartridge.

E.g. if there is version v65536 on the cartridge, it will be saved. Then if the cartridge is removed the database will be read and not notify you of updates for that title unless v131072 or higher is available.

Logging

To aid in debugging, you can choose to produce logs while running the application. This can be done by creating an empty file called log.flag in the same directory as NX-Update-Checker.nro.

Note that the application will run much slower while logging all operations it's making.

The log files will be created in the root of the SD card as a file named NXUC.log.

Additional information

This app was specifically re-written to parse the versions.txt posted in the nx-versions Repository, if you provide a versions.txt with even a slightly different format it is likely this application will not parse it correctly.

This app's downloading capability was tested with Atmosphere's prodinfo blanking, incognito and 90DNS independently.

Binary releases are built using switch-curl-7.69.1-1 to avoid connectivity issues with a blanked prodinfo.

Screenshots

nxupdatechecker2.png

nxupdatechecker3.png

nxupdatechecker.png

Example output
nxupdatechecker4.png

Changelog

v1.5.4

  • Inserted cartridges' bundled version will now be stored and read from a local cartridge version database, in order to prevent informing users of updates already on the cartridge while they aren't inserted.

v1.5.3

  • Fixed an issue that prevented more than 10 entries being loaded for a title, making games with many DLC that were installed appear as though they were not.

v1.5.2

  • Fixed an issue present in all versions v1.0.0 - v1.5.1 where the first local title parsed would be ignored during update/DLC checking.

v1.5.1

  • A null-reference bug has finally been squashed that frequently caused crashes.
  • ignore.txt may now have a descriptor following title IDs, please see the README for details.

v1.5.0

  • Logging; Users can now place a log.flag file in their nro directory and a log will be produced at the SD root as NXUC.log. Note that the application will run much slower while logging is active.
  • Ignore List; Users can now place an ignore.txt in their nro directory and specify titles they would not like to be informed about. Instructions for filling one out is available in the README.
  • DLC Checker; If it's found that there is DLC listed in versions.txt that you do not have installed for a title, the application will inform you.
  • The different kinds of information being presented has been separated for easier viewing;[https://github.com/16BitWonder/NX-Update-Checker#ignore-list The three categories displayed are "New Updates Available", "New DLC Binaries Available" and "Available DLC Not Installed".
  • New download code has been adopted and switch-curl 7.69.1-3 is now being used. Prodinfo blanking via Atmosphere's exosphere.ini is the only method tested. If you use a different blanking solution and have issues please switch and try again.

v1.4.1

  • The application now points towards nx-versions for versions.txt.
  • Adopted similar printing scheme from versions.txt parser into installed title parser for a slight speed-up.

v1.4.0

  • Yet another release that brings some much needed QoL improvements, this time from the talented aedalzotto.
  • The application will now first attempt to grab the latest [1] versions.txt over the internet, then fallback to any versions.txt that may already be within the nro's directory should connection fail.
  • The versions.txt parsing code has been dramatically improved, now taking seconds to completely parse instead of minutes.

v1.3.1

  • Fixes an edge-case where an update's version might overwrite a DLC's version while constructing the local-list.
  • Fixes an infinite loop that would occur when an update was found after the base-game and the base-game was not immediately parsed before the update.

v1.3.0

  • Reswitched versionlist.json format has been deprecated and will no longer function with this application.
  • Users must now download the latest versions.txt from the titledb Repository and place it within the same directory as the nro.
  • Having switched to titledb, this application can now additionally parse available updates for installed DLC.

v1.2.0

  • A time-stamp is now printed to Available-Updates.txt.
  • User now picks from (up to 40) json files within the nro's directory to use as the versionlist, removing the requirement that the versionlist must be named 'versionlist.json'.
  • versionlist.json updated 2020-03-26 | 15:50.

v1.1.0

  • Locally installed titles will now display version strings in console and the produced txt.
  • versionlist.json updated 2020-03-20 | 11:11.

v1.0.0

  • Initial Release.

Credits

Kudos:

External links

Advertising: