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

Checkpoint 3DS: Difference between revisions

From GameBrew
No edit summary
m (Text replacement - "Category:Support the author" to "")
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox-3DS-Homebrews
{{Infobox 3DS Homebrews
| title = Checkpoint
|title=Checkpoint
| image = https://dlhb.gamebrew.org/3dshomebrew/Checkpoint-3DS.png|250px
|image=Checkpoint2.png
| type = Utility
|description=Fast and simple homebrew save manager for 3DS and Switch.
| version = 3.7.4
|author=FlagBrew
| lastupdated = 2019/12/09
|lastupdated=2021/12/23
| licence = GNU GPLv3
|type=Save Managers and Editors
| author = FlagBrew
|version=3.7.4
| website = https://github.com/FlagBrew/Checkpoint
|license=GPL-3.0
| download = https://dlhb.gamebrew.org/3dshomebrew/Checkpoint-3.7.4.rar
|download=https://github.com/BernardoGiordano/Checkpoint/releases
| source = https://github.com/FlagBrew/Checkpoint
|website=https://github.com/FlagBrew/Checkpoint
|source=https://github.com/FlagBrew/Checkpoint
|donation=https://patreon.com/FlagBrew
}}
}}
Checkpoint is a fast and simple homebrew save manager for 3DS and Switch written in C++. The UI has been designed to condense as many options as possible, while keeping it simple to work with.
Checkpoint is a fast and simple homebrew save manager for 3DS and Switch written in C++. The UI has been designed to condense as many options as possible, while keeping it simple to work with.


Line 24: Line 25:
* Automatically checks and filters homebrew titles which may not have a save archive to backup or restore.
* Automatically checks and filters homebrew titles which may not have a save archive to backup or restore.
* Cheat management.
* Cheat management.
==User guide==
You can use Checkpoint for 3DS with both cfw and Rosalina-based Homebrew Launchers. *hax-based Homebrew Launchers are not supported by Checkpoint.
Checkpoint for Switch runs on homebrew launcher. Make sure you're running up-to-date payloads.
The first launch of the 3DS version will take considerably longer than usual (usually 1-2 minutes depending on how many titles you have installed), due to the working directories being created - Checkpoint will be significatively faster upon launch from then on.
You can scroll between the title list with the DPAD/LR and target a title with A when the selector is on it. Now, you can use the DPAD or the touchscreen to select a target backup to restore/overwrite.


==Installation==
==Installation==
===Installing===
===Installing===
'''3DS:'''
* 3DS version is available in 3DSX and CIA ([https://github.com/FlagBrew/Checkpoint/releases QR code]).  
* 3DS version is available in 3DSX and CIA ([https://github.com/FlagBrew/Checkpoint/releases QR code]).  
* Works for both CFW ​and Rosalina-based Homebrew Launchers (hax-based Homebrew Launchers are not supported by Checkpoint).
* Works for both CFW ​and Rosalina-based Homebrew Launchers (hax-based Homebrew Launchers are not supported by Checkpoint).
'''Switch:'''
* Checkpoint for Switch runs on homebrew launcher. Make sure you're running up-to-date payloads.


===Building===
===Building===
devkitARM and devkitA64 are required to compile Checkpoint for 3DS and Switch, respectively. Learn more at [https://devkitpro.org/wiki/Getting_Started devkitpro.org]. Install or update dependencies as follows.
devkitARM and devkitA64 are required to compile Checkpoint for 3DS and Switch, respectively. Learn more at [https://devkitpro.org/wiki/Getting_Started devkitpro.org]. Install or update dependencies as follows.
'''3DS:'''
* <code>dkp-pacman -S libctru citro3d citro2d</code>
* <code>dkp-pacman -S libctru citro3d citro2d</code>
'''Switch:'''
* <code>dkp-pacman -S libnx switch-freetype switch-libpng switch-libjpeg-turbo switch-sdl2 switch-sdl2_image switch-sdl2_ttf</code>


==User guide==
==User guide==
Line 60: Line 43:
Checkpoint relies on the following folders to store the files it generates. Note that all the working directories are automatically generated on first launch (or when Checkpoint finds a new title that doesn't have a working directory yet).
Checkpoint relies on the following folders to store the files it generates. Note that all the working directories are automatically generated on first launch (or when Checkpoint finds a new title that doesn't have a working directory yet).


'''3DS:'''
* <code>sdmc:/3ds/Checkpoint</code> Root path.
* <code>sdmc:/3ds/Checkpoint</code> Root path.
* <code>sdmc:/3ds/Checkpoint/config.json</code> Custom configuration file.
* <code>sdmc:/3ds/Checkpoint/config.json</code> Custom configuration file.
* <code>sdmc:/3ds/Checkpoint/saves/<unique id> <game title></code> Root path for all the save backups for a generic game.
* <code>sdmc:/3ds/Checkpoint/saves/<unique id> <game title></code> Root path for all the save backups for a generic game.
* <code>sdmc:/3ds/Checkpoint/extdata/<unique id> <game title></code> Root path for all the extdata backups for a generic game.
* <code>sdmc:/3ds/Checkpoint/extdata/<unique id> <game title></code> Root path for all the extdata backups for a generic game.
'''Switch:'''
* <code>sdmc:/switch/Checkpoint</code> Root path.
* <code>sdmc:/switch/Checkpoint/config.json</code> Custom configuration file.
* <code>sdmc:/switch/Checkpoint/saves/<title id> <game title></code> Root path for all the save backups for a generic game.


===Configuration file===
===Configuration file===
You can add and toggle features to Checkpoint for 3DS by editing the config.json configuration file.  
You can add and toggle features to Checkpoint for 3DS by editing the config.json configuration file. Example:


'''Sample:'''
<pre>
<pre>
{
{
Line 103: Line 79:
"version": 2
"version": 2
}
}
</pre><br>
</pre>


===Cheats===
===Cheats===
From 3.7.0, Checkpoint also handles cheat management. Source cheat files are provided by Sharkive (another on-going project by Flagbrew).
From 3.7.0, Checkpoint also handles cheat management. Source cheat files are provided by [[Sharkive 3DS|Sharkive]] (another on-going project by Flagbrew).


Originally, Sharkive was a 3DS homebrew capable of managing cheats. Since its functionalities have been now integrated into Checkpoint, the app itself has been deprecated and discontinued. If you try to run Sharkive, it'll just close itself now.
Originally, Sharkive was a 3DS homebrew capable of managing cheats. Since its functionalities have been now integrated into Checkpoint, the app itself has been deprecated and discontinued. If you try to run Sharkive, it'll just close itself now.
Line 131: Line 107:


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrew/checkpoint3ds2.jpg
https://dlhb.gamebrew.org/3dshomebrews/checkpoint2.png


==Media==
==Media==
Line 137: Line 113:
<youtube>o7mdfoZbJE0</youtube>
<youtube>o7mdfoZbJE0</youtube>


==Chngelog==
==Changelog==
'''3.7.4 2019/12/09'''
'''Update 2021/12/23'''
* Checkpoint v3.8.0 for 3DS has a few issues that make the software unstable for various users, so we decided to remove binaries for this version for now. Please use version 3.7.4 in the meanwhile.
 
'''3.8.0 2021/11/13'''


Switch:
3DS:
* Added compatibility for Atmosphere 0.10.0+. This changes the cheats path from /atmosphere/titles to /atmosphere/contents, so that means this version won't be able to put cheats in place for older Atmosphere versions.
* Added: embedded Sharkive's cheat database has been updated.
* Fixed: the Aborted by user issue occurring when trying to perform a backup in Applet mode.
** This counts ~2 years of cheat updates.
** This means that if you're running Checkpoint in Applet mode, you won't be prompted to decide a name for your backup and the default name will be used instead.
* Fixed: optional 3DS cartridge polling.
** This also solves incompatibilities for CFWs that don't properly support title takeover.
* Fixed: documentation.
* Fixed: the Account Selection applet won't cause Checkpoint to hang anymore if using Applet mode, if you're running Atmosphere 0.10.0+.
* Stability improvements and tons of minor code improvements.


'''3.7.3 2019/10/26'''
'''3.7.3 2019/10/26'''
Line 155: Line 134:
** If you have cheat codes that are not already available in this release, please submit them to Sharkive's databases here.
** If you have cheat codes that are not already available in this release, please submit them to Sharkive's databases here.
* Fixed: unused folders in the SD card are not created anymore.
* Fixed: unused folders in the SD card are not created anymore.
Switch:
* Fixed: built in FTP server is now able to open the Checkpoint folder, finally letting this feature to be useful for easy and fast save retrieval.
* Fixed: removed red watermark if Checkpoint was launched in applet mode.
** Pro Tip: you shouldn't launch Checkpoint or homebrew in general in applet mode anyways. Please don't.
* Fixed: latest cheats submissions are built in this release through Sharkive.
** If you have cheat codes that are not already available in this release, please submit them to Sharkive's databases here.
* Fixed: unused folders in the SD card are not created anymore.
'''3.7.2 2019/09/15'''
Switch:
* Fixed: build compiled with support for system version 9.0.0. Please update to Checkpoint 3.7.2+ in order to be able to run this software on system versions 9.0.0 or superior.
* Fixed: graphics fixes and routine dependancies updates.


'''3.7.1 2019/09/12'''
'''3.7.1 2019/09/12'''
Line 176: Line 141:
** Card scanning has been permanently shut down for this release to mitigate the error.
** Card scanning has been permanently shut down for this release to mitigate the error.
** If you still encounter this issue, please file an issue on this repo so that we can research about it more.
** If you still encounter this issue, please file an issue on this repo so that we can research about it more.
Switch:
* Added: Checkpoint can now run again under applet mode, but:
** it will be very annoying.
** Functionalities may not work properly and memory corruption may happen. Occasionally, the application could hang when trying to access one of the system applets. Watch this video for an example.
** Please do not run Checkpoint in applet mode.
* Fixed: changed port of built in FTP server to 50000.


'''3.7.0 2019/09/09'''
'''3.7.0 2019/09/09'''
Line 204: Line 162:
* Fixed: favorite sorting now works properly again.
* Fixed: favorite sorting now works properly again.
* Fixed: cut down size of the executable. It now stores an entire cheat database inside of it (~1.6MB json), functionalities from other two different applications and still manages to be basically equal in size compared to the old stable release.
* Fixed: cut down size of the executable. It now stores an entire cheat database inside of it (~1.6MB json), functionalities from other two different applications and still manages to be basically equal in size compared to the old stable release.
* Refactoring, refactoring, refactoring.
Switch:
* Added: Sharkive feature for the Switch as well. A brand new Cheat menu has been implemented inside Checkpoint to be able to manage cheats for Atmosphere.
** The entire cheat database is offline and bundled inside of Checkpoint.
** You're able to select and enable just the cheats you really want to have. This is an alternative approach to cheat toggles.
** Cheat updates will happen when:
*** Checkpoint updates.
*** You build Checkpoint from source.
*** You build the cheat database and place it into the sd card in the expected location, so that it'll be loaded instead of the bundled one.
* Added: Online configurations. You can now configure Checkpoint from your internet browser. Checkpoint will behave as an HTTP server while running.
** Connect to SWITCH_IP_ADDRESS:8000 from any device connected to the same network as your Switch to be able to access configurations.
* Added: FTP server. You probably want to be able to get your saves out of the switch once they have been backed up. While I come up with handier solutions, enjoy this non blocking FTP server. You can access connecting to SWITCH_IP_ADDRESS:5000 (As of v3.7.1, SWITCH_IP_ADDRESS:50000) with empty username and password.
* Added: redesigned UI. Enjoy it while it's fresh.
* Added: system keyboard support. The custom keyboard originally setup has been removed from Checkpoint to fully take advantage of the system keyboard applet.
* Added: switch pages with L/R.
* Added: logging. Logs will be written to /switch/Checkpoint/checkpoint.log.
* Fixed: favorite sorting now works properly again.
* Fixed: cut down size of the executable. It now stores an entire cheat database inside and still manages to be ~1MB lighter than the previous stable release.
* Fixed: Checkpoint doesn't run anymore if nx-hbmenu is launched over a system applet (like Album).
* Refactoring, refactoring, refactoring.
* Refactoring, refactoring, refactoring.


Line 232: Line 170:
* Fixed: buttons are now responsive as before while navigating the UI.
* Fixed: buttons are now responsive as before while navigating the UI.
* Fixed: Extdata is now restored properly even when files change size.
* Fixed: Extdata is now restored properly even when files change size.
Switch:
* Added: a bridge functionality between Checkpoint for Switch and PKSM (for 3DS, v6.0.0 and above) has been implemented.
** It allows to send (and then receive back) a save file over the network, to allow manipulations without having to browse your save backups manually on your PC.
** It also needs to be manually enabled by editing your configuration file. Once it's enabled, you can access the bridge by pressing L+R on a valid game.
** This feature currently works only with LGPE.
* Fixed: buttons are now responsive as before while navigating the UI.
* Fixed: titles with black background are now displayed properly.
* Fixed: checkmark color doesn't confuse with title icons anymore.
* Fixed: text doesn't bleed textboxes like before anymore.


[https://github.com/FlagBrew/Checkpoint/releases Revision history.]
[https://github.com/FlagBrew/Checkpoint/releases Revision history.]


==Credits==
==Credits==
Even though this is the result of independent research and work, Checkpoint for 3DS couldn't be possible without J-D-K's original [[JKSM - JK's Save Manager 3DS|JKSM]] version.
Even though this is the result of independent research and work, Checkpoint for 3DS couldn't be possible without J-D-K's original [[JKSM 3DS|JKSM]] version.


TuxSH for [https://github.com/TuxSH/TWLSaveTool TWLSaveTool], from which SPI code has been taken.
TuxSH for [https://github.com/TuxSH/TWLSaveTool TWLSaveTool], from which SPI code has been taken.
Line 263: Line 191:
* Bountysource - https://www.bountysource.com/teams/checkpoint
* Bountysource - https://www.bountysource.com/teams/checkpoint
* GBAtemp - https://gbatemp.net/threads/release-checkpoint-a-fast-and-simple-save-manager-for-3ds-and-switch.503899
* GBAtemp - https://gbatemp.net/threads/release-checkpoint-a-fast-and-simple-save-manager-for-3ds-and-switch.503899
 
<!--mirror: https://dlhb.gamebrew.org/3dshomebrews/checkpoint3ds.7z-->
[[Category:3DS homebrew applications]]
[[Category:Homebrew utility applications on 3DS]]

Latest revision as of 04:05, 17 Mayıs 2024

Checkpoint
Checkpoint2.png
General
AuthorFlagBrew
TypeSave Managers and Editors
Version3.7.4
LicenseGPL-3.0
Last Updated2021/12/23
Links
Download
Website
Source
Support Author

Checkpoint is a fast and simple homebrew save manager for 3DS and Switch written in C++. The UI has been designed to condense as many options as possible, while keeping it simple to work with.

Checkpoint for 3DS natively supports 3DS and DS cartridges, digital standard titles and demo titles. It also automatically checks and filters homebrew titles which may not have a save archive to backup or restore, which is done without an external title list and filters. For this reason, Checkpoint doesn't need constant user maintenance to retain full functionality.

Checkpoint for Switch natively supports NAND saves for the titles you have played. Title information are loaded automatically.

Features

  • Focus on simplicity and efficiency.
  • Lightweight, while being packaged with a nice GUI and built using most recent libraries available.
  • Supports 3DS and DS cartridges, digital standard titles and demo titles.
  • Automatically checks and filters homebrew titles which may not have a save archive to backup or restore.
  • Cheat management.

Installation

Installing

  • 3DS version is available in 3DSX and CIA (QR code).
  • Works for both CFW ​and Rosalina-based Homebrew Launchers (hax-based Homebrew Launchers are not supported by Checkpoint).

Building

devkitARM and devkitA64 are required to compile Checkpoint for 3DS and Switch, respectively. Learn more at devkitpro.org. Install or update dependencies as follows.

  • dkp-pacman -S libctru citro3d citro2d

User guide

The first launch of the 3DS version will take considerably longer than usual (usually 1-2 minutes depending on how many titles you have installed), due to the working directories being created. Checkpoint will be significatively faster upon launch from then on.

To use, scroll between the title list and target a title with the selector. Then select a target backup to restore/overwrite.

Working path

Checkpoint relies on the following folders to store the files it generates. Note that all the working directories are automatically generated on first launch (or when Checkpoint finds a new title that doesn't have a working directory yet).

  • sdmc:/3ds/Checkpoint Root path.
  • sdmc:/3ds/Checkpoint/config.json Custom configuration file.
  • sdmc:/3ds/Checkpoint/saves/<unique id> <game title> Root path for all the save backups for a generic game.
  • sdmc:/3ds/Checkpoint/extdata/<unique id> <game title> Root path for all the extdata backups for a generic game.

Configuration file

You can add and toggle features to Checkpoint for 3DS by editing the config.json configuration file. Example:

{
"filter": [
"0x000400000011C400",
"0x000400000014F100"
],
"favorites": [
"0x000400000011C400"
],
"additional_save_folders": {
"0x00040000001B5000": {
"folders": [
"/3ds/mySaves/1B50",
"/moreSaves"
]
},
"0x00040000001B5100": {
"folders": [
"/3ds/PKSM/backups"
]
}
},
"additional_extdata_folders": {

},
"nand_saves": true,
"version": 2
}

Cheats

From 3.7.0, Checkpoint also handles cheat management. Source cheat files are provided by Sharkive (another on-going project by Flagbrew).

Originally, Sharkive was a 3DS homebrew capable of managing cheats. Since its functionalities have been now integrated into Checkpoint, the app itself has been deprecated and discontinued. If you try to run Sharkive, it'll just close itself now.

To learn more about cheat codes, how to submit them and how to get involved into the project, Sharkive's repo is a good place to start.

You can see the video tutorial which gives you an idea of how to use the Cheat Engine.

FAQ

Q. Checkpoint displays error codes.

You may see error codes when something weird happens or operations fail. If you have any issues:

  • Please ensure if they haven't already been addressed (Reported List).
  • Report the error code and a summary of your operations to reproduce it.

Additionally, you can receive real-time support by joining FlagBrew's Discord server.

Controls

D-Pad/L/R - Scroll between the title list

A - Target a title

D-Pad or Touchscreen - Choose a target backup to restore/overwrite

Screenshots

checkpoint2.png

Media

Checkpoint cheats tutorial (Ikeb0mb)

Changelog

Update 2021/12/23

  • Checkpoint v3.8.0 for 3DS has a few issues that make the software unstable for various users, so we decided to remove binaries for this version for now. Please use version 3.7.4 in the meanwhile.

3.8.0 2021/11/13

3DS:

  • Added: embedded Sharkive's cheat database has been updated.
    • This counts ~2 years of cheat updates.
  • Fixed: optional 3DS cartridge polling.
  • Fixed: documentation.
  • Stability improvements and tons of minor code improvements.

3.7.3 2019/10/26

3DS:

  • Added: Checkpoint now shows the original icon for DS cartridges.
  • Fixed: a very annoying crash during startup if you had a very little amount of games has been fixed.
  • Fixed: latest cheats submissions are built in this release through Sharkive.
    • If you have cheat codes that are not already available in this release, please submit them to Sharkive's databases here.
  • Fixed: unused folders in the SD card are not created anymore.

3.7.1 2019/09/12

3DS:

  • Fixed: hard crash on startup has been fixed.
    • Card scanning has been permanently shut down for this release to mitigate the error.
    • If you still encounter this issue, please file an issue on this repo so that we can research about it more.

3.7.0 2019/09/09

3DS:

  • Added: Sharkive is now merged into Checkpoint. A brand new Cheat menu has been implemented inside Checkpoint to be able to manage cheats for Luma3DS.
    • The entire cheat database is offline and bundled inside of Checkpoint. No more internet required, no more molasses slow loading times caused by cheat downloads.
    • You're able to select and enable just the cheats you really want to have. This solves issues caused by cheat files too big to be fully displayed in Luma3DS' cheat engine.
    • Cheat updates will happen when:
      • Checkpoint updates.
      • You build Checkpoint from source.
      • You build the cheat database and place it into the sd card in the expected location, so that it'll be loaded instead of the bundled one.
    • This feature deprecates Sharkive.
  • Added: ability to change play coins. Lots of you kept requesting this all the time. I don't know why you want this feature so much, but here it is. You can access it by hovering the Activity Log NAND title or by pressing SELECT + tapping the top-right corner.
  • Added: redesigned UI. Enjoy it while it's fresh.
  • Added: optional cartridge hotswap. You can now choose from the configuration if you want to be able to hotswap the cartridge while Checkpoint is running.
    • This is disabled by default. Downside of this feature being enabled is that the UI slows down for a couple seconds before being responsive during boot time.
  • Added: logging. Logs will be written to /3ds/Checkpoint/checkpoint.log.
    • This feature deprecates JEDECheck.
  • Fixed: cart is not cached anymore. This means cache won't be rebuilt every time you swap cartridges before running Checkpoint.
  • Fixed: favorite sorting now works properly again.
  • Fixed: cut down size of the executable. It now stores an entire cheat database inside of it (~1.6MB json), functionalities from other two different applications and still manages to be basically equal in size compared to the old stable release.
  • Refactoring, refactoring, refactoring.

3.6.0 2019/01/01

3DS:

  • Added: a check for *hax environment has been introduced to avoid Checkpoint loading without CFW.
  • Fixed: buttons are now responsive as before while navigating the UI.
  • Fixed: Extdata is now restored properly even when files change size.

Revision history.

Credits

Even though this is the result of independent research and work, Checkpoint for 3DS couldn't be possible without J-D-K's original JKSM version.

TuxSH for TWLSaveTool, from which SPI code has been taken.

WinterMute, fincs and devkitPro contributors for devkitARM, devkitA64 and dkp-pacman.

Yellows8 and all the mantainers for switch-examples.

rakujira for the Checkpoint logo.

Fellow testers and troubleshooters for the help.

External links

Advertising: