More actions
Gateshark2NTR | |
---|---|
General | |
Author | Nanquitas |
Type | Hack Utilities |
Version | 1.1 |
License | Mixed |
Last Updated | 2016/08/07 |
Links | |
Download | |
Website | |
This application has been obsoleted by one or more applications that serve the same purpose, but are more stable or maintained. |
Gateshark2NTR is a program that will allow you to convert a Gateshark's cheats text file in a plugin usable with NTR.
Note: This is no longer supported, consider using CTRPluginFramework 3DS with Action Replay support instead of using a converter. With it you can simply load your text files with cheats.
User guide
Requirements:
- DevKitPRO. Install this and be sure to add "c:\devkitPro\msys\bin" to the PATH Environment Variable
- You also need to have the VCRedist 2015 installed.
There are 3 ways to pass the file:
- Drag & Drop the file on the soft's icon.
- Launch the soft and a window will appear to select the file.
- Pass the file as an argument through a shell.
This soft support all the codes used by gateway and even more.
Complete STD AR/Gateway codes
0 Type | |
---|---|
Format | 0XXXXXXX YYYYYYYY |
Description | 32bit write of YYYYYYYY to 0XXXXXXX. |
Simple | Makes the value at address 0XXXXXXX equal the value YYYYYYYY. |
Example | 023D6B28 3B9ACA00 |
1 Type | |
Format | 1XXXXXXX 0000YYYY |
Description | 16bit write of YYYY to 0XXXXXXX. |
Simple | Makes the value at address 0XXXXXXX equal the value YYYY. |
Example | 023D6B28 00002710 |
2 Type | |
Format | 2XXXXXXX 000000YY |
Description | 8bit write of YY to 0XXXXXXX. |
Simple | Makes the value at address 0XXXXXXX equal the value YY. |
Example | 023D6B28 00000032 |
3 Type | |
Format | 3XXXXXXXX YYYYYYYY |
Description | 32bit if less than. |
Simple | If the value at address 0XXXXXXX is less than the value YYYYYYYY. |
Example | 323D6B28 10000000 |
4 Type | |
Format | 4XXXXXXXX YYYYYYYY |
Description | 32bit if greater than. |
Simple | If the value at address 0XXXXXXX is greater than the value YYYYYYYY. |
Example | 423D6B28 10000000 |
5 Type | |
Format | 5XXXXXXXX YYYYYYYY |
Description | 32bit if equal to. |
Simple | If the value at address 0XXXXXXX is equal to the value YYYYYYYY. |
Example | 523D6B28 10000000 |
6 Type | |
Format | 3XXXXXXXX YYYYYYYY |
Description | 32bit if not equal to. |
Simple | If the value at address 0XXXXXXX is not equal to the value YYYYYYYY. |
Example | 623D6B28 10000000 |
7 Type | |
Format | 7XXXXXXXX 0000YYYY |
Description | 16bit if less than. |
Simple | If the value at address 0XXXXXXX is less than the value YYYY. |
Example | 723D6B28 00005400 |
8 Type | |
Format | 8XXXXXXXX 0000YYYY |
Description | 16bit if greater than. |
Simple | If the value at address 0XXXXXXX is greater than the value YYYY. |
Example | 823D6B28 00005400 |
9 Type | |
Format | 9XXXXXXXX 0000YYYY |
Description | 16bit if equal to. |
Simple | If the value at address 0XXXXXXX is equal to the value YYYY. |
Example | 923D6B28 00005400 |
A Type | |
Format | AXXXXXXXX 0000YYYY |
Description | 16bit if not equal to. |
Simple | If the value at address 0XXXXXXX is not equal to the value YYYY. |
Example | A23D6B28 00005400 |
B Type | |
Format | BXXXXXXX 00000000 |
Description | Loads offset register. |
Simple | Used for pointers, the address at 0XXXXXXX is the offset for all of the following lines. |
Example |
B23D6B28 00000000 |
C Type | |
Format | C0000000 ZZZZZZZZ |
Description | Repeat following lines at specified offset. |
Simple | Used to write a value to an address, and then continues to write that value Z number of times to all addresses at an offset determined by the (D6, D7, D8, or DC) type following it. |
Note | Used with the D6, D7, D8, and DC types. C types can not be nested. |
Example |
C0000000 00000005 |
D0 Type | |
Format | D0000000 00000000 |
Description | Ends most recent conditional. |
Simple | Type 3 through A are all "conditionals," the conditional most recently executed before this line will be terminated by it. |
Example |
94000130 FFFB0000 |
D1 Type | |
Format | D1000000 00000000 |
Description | Ends repeat block. |
Simple | Will end all conditionals within a C type code, along with the C type itself. |
Example |
94000130 FFFB0000 |
D2 Type | |
Format | D2000000 00000000 |
Description | Ends all conditionals/repeats before it and sets offset and stored to zero. |
Simple | Ends all lines. |
Example |
94000130 FEEF0000 |
D3 Type | |
Format | D3000000 XXXXXXXX |
Description | Sets offset. |
Simple | Loads the address X so that lines after can modify the value at address X. |
Note | Used with the D4, D5, D6, D7, D8, and DC types. |
Example | D3000000 023D6B28 |
D4 Type | |
Format | D4000000 YYYYYYYY |
Description | adds to the stored address' value. |
Simple | adds to the value at the address defined by lines D3, D9, DA, and DB. |
Note | used with the D3, D9, DA, DB, DC types. |
Example | D4000000 00000025 |
D5 Type | |
Format | D5000000 YYYYYYYY |
Description | Sets the stored address' value. |
Simple | Makes the value at the address defined by lines D3, D9, DA, and DB to YYYYYYYY. |
Note | Used with the D3, D9, DA, DB, and DC types. |
Example | D5000000 34540099 |
D6 Type | |
Format | D6000000 XXXXXXXX |
Description | 32bit store and increment by 4. |
Simple | Stores the value at address XXXXXXXX and to addresses in increments of 4. |
Note | Used with the C, D3, and D9 types. |
Example | D3000000 023D6B28 |
D7 Type | |
Format | D7000000 XXXXXXXX |
Description | 16bit store and increment by 2. |
Simple | Stores 2 bytes of the value at address XXXXXXXX and to addresses in increments of 2. |
Note | Used with the C, D3, and DA types. |
Example | D7000000 023D6B28 |
D8 Type | |
Format | D8000000 XXXXXXXX |
Description | 8bit store and increment by 1. |
Simple | Stores 1 byte of the value at address XXXXXXXX and to addresses in increments of 1. |
Note | Used with the C, D3, and DB types. |
Example | D8000000 023D6B28 |
D9 Type | |
Format | D9000000 XXXXXXXX |
Description | 32bit load. |
Simple | Loads the value from address X. |
Note | Used with the D5 and D6 types. |
Example | D9000000 023D6B28 |
DA Type | |
Format | DA000000 XXXXXXXX |
Description | 16bit load. |
Simple | Loads 2 bytes from address X. |
Note | Used with the D5 and D7 types. |
Example | DA000000 023D6B28 |
DB Type | |
Format | DB000000 XXXXXXXX |
Description | 8bit load. |
Simple | Loads 1 byte from address X. |
Note | Used with the D5 and D8 types. |
Example | DB000000 023D6B28 |
DC Type | |
Format | DC000000 VVVVVVVV |
Description | 32bit store and increment by V. |
Simple | Stores the value at address(es) before it and to addresses in increments of V. |
Note | Used with the C, D3, D5, D9, D8, DB types. |
Example | DC000000 00000100 |
E Type | |
Format |
EXXXXXXX UUUUUUUU |
Description | Writes Y to X for U bytes. |
Simple | Writes the values at Y (Y can be any length) to addresses starting at X, for U. number of bytes. |
Example |
E23D6B28 00000010 |
DD Type | |
Format | DD000000 XXXXXXXX |
Description | triggers the following code on single or combined keypress. Keypress code stops when terminated with D0 Type code. These can be stacked, i.e. A(01)+Left(20) would be 00000021 |
Keys |
0x00000001=A |
Example |
DD000000 00000021 |
F Type | |
Format | FXXXXXXX UUUUUUUU |
Description | Writes from the offset to address at X for U bytes. |
Simple | Writes from the offset (D3 type) to the address at X for U bytes. |
Example |
D3000000 023D6B28 |
Custom Codes
S Type | |
---|---|
Format | S0000000 UUUUUUUU |
Description | Put the cheats thread in sleep for U milliseconds. |
KR Type | |
Format | KR000000 UUUUUUUU |
Description | Wait for the U keys to be released. Use the same values as the DD code |
DIS Type | |
Format | DIS00000 00000000 |
Description | This will disable the cheat. With this the cheat will only be executed once.
As the execution is really fast, you might be unable to see the ON on the menu before it goes to OFF. Still the code have been executed. |
LOG Type | |
Format | LOG0X00Y ZZZZZZZZ |
Description | This code will create an entry in the logger. See below for further details. |
Config
The soft can use a config file in order to set some preference:
#builder_name: Nanquitas; #name_auto: 1; #folder_auto: 1; #log: 0; #debug: 1;
List of options and their meaning:
- builder_name - Will permit you to enter the name that will be used by the converter automatically for the splash menu.
- name_auto - Set to 1 by default. If disabled the soft will ask you to enter a name for the resulting file.
- folder_auto - Set to 1 by default, if the name of the input file is recognized as a titleID, the program will automatically create the folder tree like: plugin > ID folder > plugin.plg.
- log - Set to 0 by default. Create a traceback file with various info. Mainly used to debug the program.
- debug - Set to 0 by default. If activated, the plugin will have the Debug Menu enabled. This menu can be shown with L + Start and shows various infos. This menu also have a logger.
Log infos
This code can only be effective if you compiled the plugin in a debug mode. Else it'll have no effect. More infos on the logger and the log code:
LOG0X00Y ZZZZZZZZ X = Type Y = Mode ZZZZZZZZZ = Value
Type:
- INFO - Color green.
- WARNING - Color orange.
- DEBUG - Color grey.
- ERROR - Color red.
- The ERROR type also have the particularity to shows the debug Menu on it's own right when an error's log is thrown.
- That's mean if you set an error log, every time that the log is thrown, the debug menu will pause the game and be shown.
Mode:
- Print value as text.
- Print the value stocked at ZZZZZZZZ: "*(0x12345678): 11111111".
- Print the address and value stocked as Z: "*(0x12345678): *(11111111): 22222222".
- Print the value stocked in offset register.
- Print the value stocked in data register.
- Print the sum of offset + Z.
Creating a spoiler
You can organize the menu with some spoiler.
[++Spoiler text++]//<-- Will open a spoiler [--]//<-- Will close a spoiler
You can open a spoiler inside another spoiler but only for "two level":
[cheats] [+Spoiler+] ->cheats ->[+Spoiler inside Spoiler+] --->[cheats] ->[+a second spoiler inside the first one+] --->[cheats]
You can't do:
[cheats] [+Spoiler+] ->cheats ->[+Spoiler inside Spoiler+] --->[cheats] --->[+a spoiler inside the second one which is himself in the first one+] ----->[cheats]
Doing the second option will only create another spoiler below the second.
Example |
---|
[++Monsters codes++] |
Creating a note
You can also create a note for a cheat, which can be shown by pressing Y in the menu.
You can declare a note with: {This is a note}
Example |
---|
[++Monsters codes++]
|
Note that the \n means going to the next line. By using it twice, you can jump a line.
It's the only format character this function supports.
Troubleshoot
If when you start the program you have this error: The program can't start because VCRUNTIME140.dll is missing from your computer.
Try reinstalling the program to fix this problem.
Then install the VCRedist 2015 I linked higher.
Screenshots
Changelog
V1.1 2016/08/07
- Add Mask support for 16 bits conditionals codes (thanks to @itsRyan for noticing it).
- Add value truncation for the (wrong) writes codes, avoid warnings on compilation.
V1.0.1 2016/08/03
- Bug correction.