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.
- 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
)
- Game name (i.e.,
- Insert new cheat file by providing
- Build Id - BID (i.e.,
B424BE150A8E7D78
) and - Version Numer (i.e.,
1.3.0
)
- Build Id - BID (i.e.,
- 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.
- Image file is located under each TID directory (i.e.,
- 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
"
-
[
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 defaultinput_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
" - (
-
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. -
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!
- Note: If there's a
-
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
- Note: if there's a
-
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 correspondingcheat title
across the cheat file. -
If a cheat has
[SubSection]
defined, it will be recognized in "Cheat Sections" as well. AllSubSection
s will be shown in small sections, and auto-scroll positioning function is also supported.
-
-
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.
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.:
..\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
- 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
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.