Coder Social home page Coder Social logo

game-academy-of-sciences / checkpoint Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bernardogiordano/checkpoint

0.0 1.0 0.0 1.69 MB

Fast and simple homebrew save manager for 3DS and Switch.

License: GNU General Public License v3.0

Makefile 4.07% C++ 78.43% C 15.39% CSS 0.02% HTML 0.75% JavaScript 1.35%

checkpoint's Introduction

Checkpoint

A fast and simple homebrew save manager for 3DS and Switch written in C++.

Why use Checkpoint?

Checkpoint is created following ideas of simplicity and efficiency. The UI has been designed to condense as many options as possible, while keeping it simple to work with.

Moreover, Checkpoint is extremely lightweight - while being packaged with a nice graphic user interface - and is built using the most recent libraries available.

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.

Usage

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.

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).

3DS

  • 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

Switch

  • sdmc:/switch/Checkpoint: root path
  • sdmc:/switch/Checkpoint/config.json: custom configuration file
  • sdmc:/switch/Checkpoint/saves/<title id> <game title>: root path for all the save backups for a generic game

Configuration file

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

Sample configuration file:

{
  "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
}

Troubleshooting

Checkpoint displays error codes when something weird happens or operations fail. If you have any issues, please ensure they haven't already been addressed, and 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 (link below).

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.

3DS version

dkp-pacman -S libctru citro3d citro2d

Switch version

dkp-pacman -S libnx switch-freetype switch-libpng switch-libjpeg-turbo switch-sdl2 switch-sdl2_image switch-sdl2_ttf

License

This project is licensed under the GNU GPLv3. Additional Terms 7.b and 7.c of GPLv3 apply to this. See LICENSE.md for details.

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 awesome Checkpoint logo.

Fellow testers and troubleshooters for their help.


If you like the work FlagBrew puts into this project and more others, support FlagBrew on Patreon!

Discord

checkpoint's People

Contributors

admiral-fish avatar bernardogiordano avatar designgears avatar fennectech avatar gudf avatar ibnobody avatar lmlb avatar nicoelayda avatar pcbeard avatar piepie62 avatar porterbytes avatar slattz avatar thedax avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.