ROM Hack [Release]Gateshark2NTR

Nanquitas

Well-Known Member
OP
Member
Joined
Sep 29, 2015
Messages
2,345
Trophies
0
Age
30
Location
South of France :)
XP
3,336
Country
France
Oh yeah, the formatting is a little destroyed...
LOG Type
Format: LOG0X00Y ZZZZZZZZ
Description: This code will create an entry in the logger. See below for further details.

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:
  1. INFO -> Color green
  2. WARNING -> Color orange
  3. DEBUG -> Color grey
  4. 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. Basically that's mean that if you set an error log, every time that the log is thrown, the debug menu will pause the game and be shown.
Mode:
  1. Print value as text
  2. Print the value stocked at ZZZZZZZZ: "*(0x12345678): 11111111"
  3. Print the address and value stocked as Z: "*(0x12345678): *(11111111): 22222222"
  4. Print the value stocked in offset register
  5. Print the value stocked in data register
  6. Print the sum of offset + Z
 

Klairm

Member
Newcomer
Joined
Feb 28, 2017
Messages
16
Trophies
0
Age
28
XP
127
Country
"Arm-none-eabi-gcc" is not recognized as an internal or external command, Program or executable batch file.
 
Last edited by Klairm,

Klairm

Member
Newcomer
Joined
Feb 28, 2017
Messages
16
Trophies
0
Age
28
XP
127
Country
Hi guys ! :)

Today I present to you the Gateshark2NTR.

Prefer using the NTR Plugin Manager to convert your codes, it's easier to use. ;)

What is this ?
Well as the name say it this little piece of soft will allows you to "convert" a Gateshark's cheats text file in a plugin usable with NTR.

How to use it ?
This soft is almost full automatic so it should be easy to use.
You just need to give the file to the soft and it'll start the plugin creation.
3 ways to pass the file:
  1. Drag & Drop the file on the soft's icon
  2. Launch the soft and a window will appear to select the file
  3. Pass the file as an argument through a shell
What do I need to use this ?
  1. DevKitPRO, Install this and be sure to add "c:\devkitPro\msys\bin" to the PATH Environment Variable
  2. You also need to have the VCRedist 2015 installed.





The plugins made with this soft have a custom menu.
So to show the menu, you don't have to x + y and go in the game plugin section, but just press select ingame.
Then you can change the hotkey by pressing Start.

I think I covered all the functions, if I forgot something I'll edit. :P

Oh yeah, a last point: the plugins made with this soft disable the online functionalities but the local multiplayer is still available.

Thanks
Of course this soft wouldn't exist without a lot of people so I address my sincere thanks to:
  • @cell9 for the CFW NTR
  • @chronoss for being the main beta tester. He did a really great job, and many of improvement are here because of him
  • a lot of people all over the web, particularly people helping in the 3DS Scene. Indeed, I'm not a pro programmer, and I learned "on the go" by trying and testing. But I also read a lot of github code, which was really interesting and instructive. It's always good to see how people do things to have as many possibilities as possible. So a big thanks to them.
  • I probably forgot some people, so I add them later. :P
Troubleshoot
  • If when you start the program you have this error: then install the VCRedist 2015 I linked higher.
Update
Hey i have a problem, the log is this:

"Arm-none-eabi-gcc" is not recognized as an internal or external command, Program or executable batch file.
 

Xmortal

Other Nickname Legarad
Member
Joined
May 28, 2008
Messages
305
Trophies
1
Age
36
Location
Venezuela
XP
1,100
Country
Venezuela
I'm doing my own plugin for Story of Season Trio of Towns, but I always see the list of incomplete codes when using it.

Example:
Code:
[++Misc++]
[Infinite Money]
00794A50 3B9AC9FF

[9000K Money]
00794A50 000F4240

[Infinite Stamina]
00794A14 2710999A

[Infinite Mining]
007C7820 000000FF
007C7832 000000FF
007C7826 000000FF
007C782C 000000FF
007C7838 000000FF

[Instant Growth]
DD000000 00000800
C0000000 000000FF
207B4F53 00000032
DC000000 00000014
D2000000 00000000

[5 Star Items]
C0000000 00000064
207B3119 00000005
207B311B 00000005
207B311D 00000005
207B311F 00000005
DC000000 00000010
D2000000 00000000
[--]
[++Hours++]
[24:00]
00799534 00000000

[01:00]
00799534 00000001

[02:00]
00799534 00000002

[03:00]
00799534 00000003

[04:00]
00799534 00000004

[05:00]
00799534 00000005

[06:00]
00799534 00000006

[07:00]
00799534 00000007

[08:00]
00799534 00000008

[09:00]
00799534 00000009

[10:00]
00799534 0000000A

[11:00]
00799534 0000000B

[12:00]
00799534 0000000C

[13:00]
00799534 0000000D

[14:00]
00799534 0000000E

[15:00]
00799534 0000000F

[16:00]
00799534 00000010

[17:00]
00799534 00000011

[18:00]
00799534 00000012

[19:00]
00799534 00000013

[20:00]
00799534 00000014

[21:00]
00799534 00000015

[22:00]
00799534 00000016

[23:00]
00799534 00000017
[--]
[++FirstLivestock++]
[Product 1 QTY]
00799EE9 00000000

[Product 6 QTY]
00799EE9 00000001

[Product Lv. D]
00799EEA 000001F4

[Product Lv. C]
00799EEA 00000258

[Product Lv. B]
00799EEA 00000320

[Product Lv. A]
00799EEA 000003B6

[Product Lv. S]
00799EEA 000003e8

[Zero Stres]
00799ed8 00000000

[Coat Lv. D]
00799EE6 000001F4

[Coat Lv. C]
00799EE6 00000258

[Coat Lv. B]
00799EE6 00000320

[Coat Lv. A]
00799EE6 000003B6

[Coat Lv. S]
00799EE6 000003e8
[--]
[++SecondLivestock++]
[Product 1 QTY]
00799F7D 00000000

[Product 6 QTY]
00799F7D 00000001

[Product Lv. D]
00799F7E 000001F4

[Product Lv. C]
00799F7E 00000258

[Product Lv. B]
00799F7E 00000320

[Product Lv. A]
00799F7E 000003B6

[Product Lv. S]
00799F7E 000003e8

[Zero Stres]
00799F6C 00000000

[Coat Lv. D]
00799F7A 000001F4

[Coat Lv. C]
00799F7A 00000258

[Coat Lv. B]
00799F7A 00000320

[Coat Lv. A]
00799F7A 000003B6

[Coat Lv. S]
00799F7A 000003e8
[--]
[++ThirdLivestock++]
[Product 1 QTY]
0079A011 00000000

[Product 6 QTY]
0079A011 00000001

[Product Lv. D]
0079A012 000001F4

[Product Lv. C]
0079A012 00000258

[Product Lv. B]
0079A012 00000320

[Product Lv. A]
0079A012 000003B6

[Product Lv. S]
0079A012 000003e8

[Zero Stres]
0079A000 00000000

[Coat Lv. D]
0079A00E 000001F4

[Coat Lv. C]
0079A00E 00000258

[Coat Lv. B]
0079A00E 00000320

[Coat Lv. A]
0079A00E 000003B6

[Coat Lv. S]
0079A00E 000003e8
[--]
[++FourLivestock++]
[Product 1 QTY]
0079A0A5 00000000

[Product 6 QTY]
0079A0A5 00000001

[Product Lv. D]
0079A0A6 000001F4

[Product Lv. C]
0079A0A6 00000258

[Product Lv. B]
0079A0A6 00000320

[Product Lv. A]
0079A0A6 000003B6

[Product Lv. S]
0079A0A6 000003e8

[Zero Stres]
0079A094 00000000

[Coat Lv. D]
0079A0A2 000001F4

[Coat Lv. C]
0079A0A2 00000258

[Coat Lv. B]
0079A0A2 00000320

[Coat Lv. A]
0079A0A2 000003B6

[Coat Lv. S]
0079A0A2 000003e8
[--]
[++FifthLivestock++]
[Product 1 QTY]
0079A139 00000000

[Product 6 QTY]
0079A139 00000001

[Product Lv. D]
0079A13A 000001F4

[Product Lv. C]
0079A13A 00000258

[Product Lv. B]
0079A13A 00000320

[Product Lv. A]
0079A13A 000003B6

[Product Lv. S]
0079A13A 000003e8

[Zero Stres]
0079A128 00000000

[Coat Lv. D]
0079A136 000001F4

[Coat Lv. C]
0079A136 00000258

[Coat Lv. B]
0079A136 00000320

[Coat Lv. A]
0079A136 000003B6

[Coat Lv. S]
0079A136 000003e8
[--]
[++SixthLivestock++]
[Product 1 QTY]
0079A1CD 00000000

[Product 6 QTY]
0079A1CD 00000001

[Product Lv. D]
0079A1CE 000001F4

[Product Lv. C]
0079A1CE 00000258

[Product Lv. B]
0079A1CE 00000320

[Product Lv. A]
0079A1CE 000003B6

[Product Lv. S]
0079A1CE 000003e8

[Zero Stres]
0079A1BC 00000000

[Coat Lv. D]
0079A1CA 000001F4

[Coat Lv. C]
0079A1CA 00000258

[Coat Lv. B]
0079A1CA 00000320

[Coat Lv. A]
0079A1CA 000003B6

[Coat Lv. S]
0079A1CA 000003e8
[--]
[++SeventhLivestock++]
[Product 1 QTY]
0079A261 00000000

[Product 6 QTY]
0079A261 00000001

[Product Lv. D]
0079A262 000001F4

[Product Lv. C]
0079A262 00000258

[Product Lv. B]
0079A262 00000320

[Product Lv. A]
0079A262 000003B6

[Product Lv. S]
0079A262 000003e8

[Zero Stres]
0079A250 00000000

[Coat Lv. D]
0079A25E 000001F4

[Coat Lv. C]
0079A25E 00000258

[Coat Lv. B]
0079A25E 00000320

[Coat Lv. A]
0079A25E 000003B6

[Coat Lv. S]
0079A25E 000003e8
[--]
[++EightthLivestock++]
[Product 1 QTY]
0079A2F5 00000000

[Product 6 QTY]
0079A2F5 00000001

[Product Lv. D]
0079A2F6 000001F4

[Product Lv. C]
0079A2F6 00000258

[Product Lv. B]
0079A2F6 00000320

[Product Lv. A]
0079A2F6 000003B6

[Product Lv. S]
0079A2F6 000003e8

[Zero Stres]
0079A2E4 00000000

[Coat Lv. D]
0079A2F2 000001F4

[Coat Lv. C]
0079A2F2 00000258

[Coat Lv. B]
0079A2F2 00000320

[Coat Lv. A]
0079A2F2 000003B6

[Coat Lv. S]
0079A2F2 000003e8
[--]

Result with Error:
IDPYq75y0F9ienFnUY2NP9Qm_RGFNVfCfkMqln72SsMCGGOrupUpaiWy-96KfWZmJQC1Qj4XLNX6B4I=w1280-h670

Why is this happening? If the text file is correct
 
Last edited by Xmortal,

Nanquitas

Well-Known Member
OP
Member
Joined
Sep 29, 2015
Messages
2,345
Trophies
0
Age
30
Location
South of France :)
XP
3,336
Country
France
Okay, so I tried by copying your codes to a text file then using NTR Plugin Manager to compile the plugin and everything worked fine.

I'm joining the .txt and the plugin generated in case you want to download it.
 

Attachments

  • Story.txt
    5.1 KB · Views: 313
  • Story.7z
    69.9 KB · Views: 149

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,694
Trophies
2
XP
6,249
Country
@Nanquitas, in C how do you write disable an asm cheat (return to it's original value) when turn cheat OFF?
void test(void)
{
WRITEU32(0x345678 0xE3A00000);//original value 0xE3A00001
}

new_entry("new cheat", test);
 

Nanquitas

Well-Known Member
OP
Member
Joined
Sep 29, 2015
Messages
2,345
Trophies
0
Age
30
Location
South of France :)
XP
3,336
Country
France
Hmm, libShark2NTR don't have something to check if the cheat is enabled / disabled so you can only do something like this:
Code:
void test(void)
{
    if (!is_pressed(BUTTON_L))
        return;

    if (is_pressed(BUTTON_X))
    {
        WRITEU32(0x345678, 0xE3A00000);
    }
    if (is_pressed(BUTTON_Y))
    {
        WRITEU32(0x345678, 0xE3A00001);
    }
}

L + X will enable the code
L + Y will disable the code
 

dsrules

Well-Known Member
Member
Joined
Sep 20, 2005
Messages
8,694
Trophies
2
XP
6,249
Country
Hmm, libShark2NTR don't have something to check if the cheat is enabled / disabled so you can only do something like this:
Code:
void test(void)
{
    if (!is_pressed(BUTTON_L))
        return;

    if (is_pressed(BUTTON_X))
    {
        WRITEU32(0x345678, 0xE3A00000);
    }
    if (is_pressed(BUTTON_Y))
    {
        WRITEU32(0x345678, 0xE3A00001);
    }
}

L + X will enable the code
L + Y will disable the code
okay, Thanks for the clarification

@Nanquitas , another question
this example, the value increases like 0x3X+ per press B

void test(void)
{
if(is_pressed(B))
WRITEU32(0x0068C800, READU32(0x0068C800) + 1);
}
how do I make it to increase only +1 per press?
 
Last edited by dsrules,

tobal76

Member
Newcomer
Joined
Nov 22, 2016
Messages
14
Trophies
0
Age
47
XP
72
Country
Italy
hi there!
i always get this error when compiling a file:

Code:
Cheat(s) found(s): 3[ERROR] Sources\string_manipulation_c:146:
void __cdecl str_rm_double_space(char *)( errno: Invalid arguments | Bad arguments.)

and this is what im coding
Code:
[Max App Points]
DD000000 00000201
D3000000 30CFC038
00000000 0000270F
D0000000 00000000

[Max Macca]
D3000000 30CF930C
00000000 3B9AC9FF

[Max Equip Upgrades]
DD000000 00000201
D3000000 30D21618
C0000000 00000460
00000000 270F270F
DC000000 00000004
D1000000 00000000
D0000000 00000000

how can i fix this??
thanks
 
Last edited by tobal76,

YueToramaru

Member
Newcomer
Joined
Mar 1, 2017
Messages
21
Trophies
0
Location
Between the Soul Society and the Kingdom of Fiore
XP
273
Country
Spain
Guys, I have a problem with NTR Plugin Manager. When trying to compile the gateshark text I get the following error. I do not know if I can upload image or not, but I want to do .plg 2.0 or 3.0 of Pokemon Y.

54aiy9.jpg
Ok. That is the error that appears to me and does not solve it. Does anyone have any ideas? Thank you.

----

Message written from Google Translate
 

Clément

Well-Known Member
Member
Joined
Aug 2, 2016
Messages
126
Trophies
0
Age
21
Location
Paris
XP
144
Country
France
Guys, I have a problem with NTR Plugin Manager. When trying to compile the gateshark text I get the following error. I do not know if I can upload image or not, but I want to do .plg 2.0 or 3.0 of Pokemon Y.

54aiy9.jpg
Ok. That is the error that appears to me and does not solve it. Does anyone have any ideas? Thank you.

----

Message written from Google Translate
Why you use NTR Plugin Manager and not Gateshark2NTR ?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    @Maximumbeans, I'm doing alright, thanks.
    +1
  • Maximumbeans @ Maximumbeans:
    That must be rough. Productive I'm sure but hard to balance with daily life
    +1
  • SylverReZ @ SylverReZ:
    @Maximumbeans, Indeed. I've been working on getting this Infecutus chip to work on my PS2. But after soldering, I realised that a plastic piece was missing from the power ribbon cable to the power and eject buttons.
  • SylverReZ @ SylverReZ:
    Now I could go with soldering the contacts from the cable to the connector on the mobo, but doesn't sound like a good permanent solution.
  • Maximumbeans @ Maximumbeans:
    Man, that's beyond my brain :rofl: I'm no good with hardware for now. I'd like to get into hardmods in future though
  • SylverReZ @ SylverReZ:
    @Maximumbeans, Maybe start practice soldering. Get a cheap-ass soldering iron and follow some good YouTube tutorials.
    +1
  • SylverReZ @ SylverReZ:
    Least my experience has gotten better than over a decade ago. My iron would constantly bump into components and break them.
  • Maximumbeans @ Maximumbeans:
    Sounds good. I actually did soldering but like 16 years ago for school so uuuuh probably rusty haha
  • SylverReZ @ SylverReZ:
    @Maximumbeans, Same here. I did soldering at school from a teacher who I honestly liked since he had plenty of good electronics experience.
    +1
  • Maximumbeans @ Maximumbeans:
    I wish I could play chess well
    +1
  • Maximumbeans @ Maximumbeans:
    Useless but a true art
    +1
  • SylverReZ @ SylverReZ:
    @Maximumbeans, I had a friend who had a glass chess set for their birthday.
  • SylverReZ @ SylverReZ:
    It was like all clear and fancy. Tbf I'm not too experienced with chess, but would like to learn someday.
  • Maximumbeans @ Maximumbeans:
    That sounds really cool
  • Maximumbeans @ Maximumbeans:
    I know the basics but no strategy at all :rofl:
    +1
  • Veho @ Veho:
    Watch chess streamers on Twitch and you'll pick up a thing or two.
    +1
  • Veho @ Veho:
    Not to mention there's an infinite number of chess games for every possible platform.
    +1
  • DinohScene @ DinohScene:
    just play it, get beaten a few times and start dominating
    +1
  • K3Nv2 @ K3Nv2:
    Nude chess is best
    +1
  • DinohScene @ DinohScene:
    strip checkers > nude chess
    +1
  • K3Nv2 @ K3Nv2:
    Nude checkers get jumped
    +1
  • SylverReZ @ SylverReZ:
    @Veho, I guess you'd pick up something while watching tub streams.
  • SylverReZ @ SylverReZ:
    @K3Nv2, Dick fights. :tpi:
  • Veho @ Veho:
    Turkish olive oil wrestling.
    +1
    Veho @ Veho: Turkish olive oil wrestling. +1