Skip to content

solleo1989/SwitchCheatCodeManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Switch Cheat Code Manager

This application is written in C#, using .NET framework.

App was initially designed for Nintendo Switch cheats manipulation, organization and management.

Cheats are basically used through Edizon (https://github.com/WerWolv/EdiZon) related RAM editing apps through RCM mode, such as Atmosphere(https://github.com/Atmosphere-NX/Atmosphere), SX OS and etc.

For here, I'd like to thank everyone who has ever contributed to this Switch customization community.

It has a very common Windows GUI and easy to use. image

Features


  • Manage whole set of Switch cheats (under certain validation rules, not 100% correct. TODO)
  • Add new set of cheats by providing
    • Game name (i.e., Super Mario Odyssey)
    • Game ID - TID (i.e., 0100000000010000)
    • Build ID - BID (i.e., B424BE150A8E7D78)
  • Insert new cheat file by providing
    • Build Id - BID (i.e., B424BE150A8E7D78) and
    • Version Numer (i.e., 1.3.0)
  • Format each cheats file into a personal preferred standard (CAPITALIZATION)
  • Format cheat contents into a standard format: remove redundant spaces and new lines characters.
  • Support the new SubSection standards created by proferabg(https://github.com/proferabg/EdiZon-Overlay). Highly recommended, especially for lots of cheats scenarios! (For detailed information, please refer to his site.)
  • Support auto-scroll function: selecting cheat title (i.e., [Inf Health (ON)]) will scroll to corresponding area in the cheats file.
  • Display preview image for better looking and easy recognition.
    • Image file is located under each TID directory (i.e., ...\01003D200BAA2000\Pokemon Mystery Dungeon Rescue Team DX.jpg)
    • Image will be resized into 350x350, so better to prepare a rectangle image, or it might be streached.
  • Support direct overwrite once you have the output path set
    • It will automatically detect the output Atmosphere directory
    • Or you can manually set [output_folder] in the "config\settings.ini"

Usage


  1. [List-Cheat mode]: Open a directory contains the folder of cheats, i.e.,

    It's always to recommended to have a single folder to preserve your own cheats instead of copy-paste a whole bunch of cheats set from SwitchDB or somewhere else. It may not pass the validation rules through my app.

    • (SX OS) ...\titles\... {Set of cheats: 0100000000010000, 0100000011D90000, 010003F003A34000 ...}
    • (Atmosphere) ...\contents\...{Set of cheats: 0100000000010000, 0100000011D90000, 010003F003A34000 ...}

    [Single-Cheat mode]: Open a directory contains a single set of cheats, i.e.,

    • (SX OS) ...\titles\0100ABF008968000\cheats
    • (Atmosphere) ...\contents\0100ABF008968000\cheats

    If you haven't set the default [input_folder], after the first OPEN operation, it will automatically set this directory as you default input_folder. As a result, it will be easy to manage afterwards, by clicking on the [DEFAULT] button.

    If you want to change the default [input_folder], you can update this value in "config\settings.ini"

  2. Then you will see all the cheats under current directory, and you are able to process cheats based on the Features provided.

    Single-Cheat mode may be restricted in several different functionalities.

  3. By selecting different games (TIDs) through the dropdown list, you can traverse through different games.

    • Note: If there's a [description].txt file under the game directory, the name [description] will also show in the dropdown list for easy recognition. For example:
    010028600EBDA000 - Super Mario 3D World + Bowser's Fury
    01002DA013484000 - The Legend of Zelda Skyward Sword HD
    010003F003A34000 - Pokemon Let's Go, Pikachu!
    
  4. Once a game (TID) is selected through the dropdown list, you will see the corresponding cheats (BIDs) listed in the left-bottom panel. You can simply choose among these cheats.

    • Note: if there's a BuildID - Version mapping in the [description].txt file, it will automatically pick up. For eaxample:
    B424BE150A8E7D78 (v1.3.0)
    F5DCCDDB37E97724 (v1.2.0)
    3CA12DFAAF9C82DA (v1.0.0)
    
    • Otherwise, they will display as
    B424BE150A8E7D78
    F5DCCDDB37E97724
    3CA12DFAAF9C82DA
    
  5. After a cheat (BID) is selected through the comobox, correspongding cheat contents will be populated in the text area panel. You can simply modify any cheat contents and save afterwards.

    • Cheat titles are grouped and divided into "Cheat Sections". You can use it as a navigation tool to position corresponding cheat title across the cheat file.

    • If a cheat has [SubSection] defined, it will be recognized in "Cheat Sections" as well. All SubSections will be shown in small sections, and auto-scroll positioning function is also supported.

  6. If Output path (from SDcard/FTP/Drive) has been set, you can directly overwrite single cheat or a folder of cheats.

    It will automatically detect each drive and find the Atmosphere contents folder.

Format


TBH, cheat contents do not have a standard form. It's really hard for different people to manage through different games, different versions and etc. Thus, I did a lot of customizations on my set of cheats per using this application.

Here are some formating standards applied within this application.:

Cheats folder structure

..\0100ABF008968000\
  ------ Pokemon Sword.txt    (A txt file describe [GAME NAME] shown in the app. There's also a BID-Version mapping written in the txt, detail format see below.)
  ------ Pokemon Sword.jpg    (An image file used to show in the app.)
  ------ cheats\              (A cheats folder.)
  ---------- 5A7EEBF172343616.txt
  ---------- 8DAFEDBB5BE81C2C.txt
  ---------- 9D2DB721A9894075.txt
  ... ...
  ---------- A3B75BCD3311385A.txt

BuildID-Version mapping structure

  • Written in the [GAME NAME].txt file, i.e., "Pokemon Sword.txt"
8DAFEDBB5BE81C2C  1.0.0
490648316CC1CCDC  1.1.0
9D2DB721A9894075  1.1.1
5A7EEBF172343616  1.2.0
... ...
A3B75BCD3311385A  1.3.2
  • Note: BID and Version are split by tab \t

TODO


At this moment, this application is not well-designed and codes are not refactored, so it might be very buggy through frequent uses.

Obviously, many cheat code scenarios I probably haven't concerned and covered yet, the current validation rules and formatting logics may mess your cheats up.

MENTION: Use at Your Own Risk !!!

I will keep updating it until it becomes a well-accepted and commonly-use app.

About

A Nintendo Switch Cheat Code Management Tool

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages