Hacking Homebrew [Release] Switch Cheat Code Manager

solleo1989

Member
OP
Newcomer
Joined
Mar 18, 2011
Messages
21
Trophies
1
XP
626
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: 327
  • v1.0.2.zip
    230.2 KB · Views: 199
Last edited by solleo1989,

solleo1989

Member
OP
Newcomer
Joined
Mar 18, 2011
Messages
21
Trophies
1
XP
626
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,

KrimsonKrow434

New Member
Newbie
Joined
Aug 4, 2022
Messages
1
Trophies
0
Age
38
Location
Pennsylvania
XP
23
Country
United States
I really want to use your guys awesome work... but code and coding is not a language I'm familiar with at all except for first year of college so many years ago and that wasn't much at all besides learning about 1's and 0's...if any of this can be used on my Pokémon sword for Nintendo switch...how do I go about it.. can anybody sort me please
 

solleo1989

Member
OP
Newcomer
Joined
Mar 18, 2011
Messages
21
Trophies
1
XP
626
Country
United States
I really want to use your guys awesome work... but code and coding is not a language I'm familiar with at all except for first year of college so many years ago and that wasn't much at all besides learning about 1's and 0's...if any of this can be used on my Pokémon sword for Nintendo switch...how do I go about it.. can anybody sort me please
This is basically a PC application (.exe) to manipulate your Edizon cheats file(FYI Edizon is basically a memory and save data editor, it can also support run-time cheats to modify game data in real-time). Not like PKhex or any other game-specific app, intended to edit/modify any of the save data or game data. The purpose of this is to reduce the copy/paste steps and time to loop up and edit your Edizon cheats.
 

phil3254

Well-Known Member
Member
Joined
Nov 14, 2022
Messages
208
Trophies
0
Age
41
XP
172
Country
United States
well fancy that, I just figured out a way to dupe or clone an item in ryujinx emulator on 1.0 :) will share soon!
 

drunkguy564

New Member
Newbie
Joined
Mar 14, 2023
Messages
3
Trophies
0
Age
25
XP
39
Country
Poland
I'd love to use the Editor, seems super handy but is anyone having the same issue as me that the whole user interface is misplaced?
 

linuxares

The inadequate, autocratic beast!
Global Moderator
Joined
Aug 5, 2007
Messages
13,099
Trophies
2
XP
17,743
Country
Sweden
Neat!
Works fine on Wine in Linux.
You just need Dotnet 6.


Easiest with Winetricks
winetricks -q dotnetdesktop6
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over