Hacking Homebrew [Release] Switch Cheat Code Manager

solleo1989

Member
OP
Newcomer
Joined
Mar 18, 2011
Messages
16
Trophies
0
XP
210
Country
United States

Switch Cheat Code Manager

[GITHUB LINKS] https://github.com/solleo1989/SwitchCheatCodeManager/releases

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.
1649716027904.png


Features​

  • Manage whole set of Switch cheats (under certain validation rules, not 100% correct. TODO)
  • Add new set of cheatsby providing
    • Game name (i.e., Super Mario Odyssey)
    • Game ID - TID (i.e., 0100000000010000)
    • Build ID - BID (i.e., B424BE150A8E7D78)
  • Insert new cheat fileby 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 pathset
    • It will automatically detect the output Atmosphere directory
    • Or you can change it in the [Tools] > [Options] > Output path
  1. [List-Cheat mode]: Open a directory contains the folder of cheats, i.e.,
    - It's always to recommendedto 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 ...}
  2. [Single-Cheat mode]: Open a directory contains a single set of cheats, i.e.,
    - 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 [Tools] > [Options] > Input path
    • (SX OS) ...\titles\0100ABF008968000\cheats
    • (Atmosphere) ...\contents\0100ABF008968000\cheats
  3. 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.
  4. 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!
  5. 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
    • 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.

Ver. 1.0.1
- Support remove single cheat and cheat folder
- Double click preview image panel allow you to attach preview images
- Fix several logic issues and bugs

Updated to 1.0.2
- Add Settings page to modify different configs (Now you can set the input/output folders here)
- Support Language: Chinese
- You can choose preferred image.
 

Attachments

  • 1648534897125.png
    1648534897125.png
    478.5 KB · Views: 52
  • v1.0.2.zip
    230.2 KB · Views: 26
Last edited by solleo1989,

solleo1989

Member
OP
Newcomer
Joined
Mar 18, 2011
Messages
16
Trophies
0
XP
210
Country
United States
Please let me know if you have any problem in using the app.:):)

Furthermore
Here's what a cheat directory should look like:
- Image will show in the app preview panel.
- Text file's name will display as the game's name.
1648605851924.png

1648606034562.png



This txt file is also used to preserve the BuildID-Version mapping, format as below:
1648606255208.png

You don't need to worry the order, app will sort it in use.

Version 1.0.2
- Add new Settings form to specify default input folder and output folder.
- Define Background colors for Title and SectionStart/SectionEnd
1649326633042.png

- Support display language: Chinese(中文)
- Choose Preview images based on Preference
Once you choose preferred image language, it will pick the pick corresponding image if existed

i.e.
1649326733552.png
==>
1649326758641.png

1649327190407.png
==>
1649327167918.png


Folder Structure
- Prefer to dump the icon image from games, it includes each version preview image.
1649326859022.png
 
Last edited by solleo1989,
  • Like
Reactions: ShinjiCreek
General chit-chat
Help Users
    NeoGaming @ NeoGaming: https://www.youtube.com/watch?v=qp2FsxX01nI