ROM Hack NTR 3.0 Plugin/Cheat Creation

Yami Anubis ZX

Well-Known Member
Member
Joined
Mar 20, 2016
Messages
208
Trophies
0
Age
37
XP
587
Country
United States
I'm new to GBATemp but I've been checking out the site and I would be very thankful if someone can make a NTR cheat plug in for Shin Megami Tensei Devil Summoner Soul Hackers, I would be thankful as I'm thankful for alot of stuff from this website, I've been looking for NTR cheats for that game but I can't find it at all, I found Xenoblade on that Chinese website, I've found plenty from that site except soul Hackers. I've found Gateshark codes for it and was wondering if someone could convert it to NTR, thank you guys.

http://www.fort42.com/gateshark/game421/
 

supermariorick

Well-Known Member
Member
Joined
Jun 18, 2010
Messages
640
Trophies
1
XP
816
Country
United States
so the sample source @cell9 made doesn't account for extra menu entries under one menu entry or button activated codes activated within a menu. the pokemon xyoras multi cheat plugin source accounts for more of these including pointer codes but it extends out of the gameplg.c file and requires helper files to get certain features into the plugin. so if you are looking to build more complicated cheat plugins with all of the above I suggest learning C and then reverse engineering the source from the xyoras multi cheat plugin and then adapting the knowledge and functions of all the source code files to other games in line with whichever cheat codes are made for that game. part of making these complicated plugins from source is collecting knowledge and using other works as reference to jump to a point in making your own. obviously this means credit for the knowledge that goes into it comes from wherever you learn C from and whoever made the source code you used as reference. credit for the work of collaborating and adapting that knowledge for another plugin goes to those that worked on it. I apologize for the longwindedness of this post but I feel like proper credit being known is important to prevent issues with credit of who worked on what.
 

Nanquitas

Well-Known Member
Member
Joined
Sep 29, 2015
Messages
2,345
Trophies
0
Age
30
Location
South of France :)
XP
3,336
Country
France
If you know C, this is what I've done to bypass the 64 max entries restrictions and creating spoiler:

Code:
typedef struct    s_spoiler
{
    char        visibility;
    char        is_spoilable;
    int        id;
    int        parent_id;
    char        active;
}                t_spoiler;

typedef struct    s_spoil
{
    int            id;
    int            space;
    enum MENU    m;
}                t_spoil;

typedef struct    s_menu
{
    int        count;
    char        status;
    char        state[64];
    char        freeze[64];
    void        (*f[64])();
    char        text[64][45];
    t_spoiler     spoiler[64];
    t_offset    *offset;
}                t_menu;

Now I create a t_menu array, giving me possibility to have multi menu (When i do that, i create a new enum with name of the menu, it's easier to navigate in it).

And after that, a bunch of functions for managing the whole thing. Display / Functions / Spoiler etc.

When you've done all the work, creating menu with spoiler is as simple as this:
Code:
void    create_base_menu()
{
    t_spoil        spoiler;
    t_spoil        midspoil;

    add_activate_menu(BASE, "Activate Cheat (R + UP)");
    add_separator_menu(BASE);
         spoiler = add_head_spoiler_menu(BASE, "Exploration's cheats");
              midspoil = add_head_child_spoiler_menu(spoiler, "MAX Codes");
                    add_child_spoiler_menu(midspoil, "Infinite HP", infinite_health);
                    add_child_spoiler_menu(midspoil, "Infinite AP", infinite_AP);
                    add_child_spoiler_menu(midspoil, "Resonance MAX", resonance_x999);
              midspoil = add_head_child_spoiler_menu(spoiler, "Refill Codes");
                    add_child_spoiler_menu(midspoil, "Refill HP (L + LEFT)", refill_health);
                    add_child_spoiler_menu(midspoil, "Refill AP (L + RIGHT)", refill_AP);
                    add_child_spoiler_menu(midspoil, "Resonance MAX  (L + UP)", resonance_trigger);
              add_sharp_child_spoiler_menu(spoiler, "No skills cooldown", no_cooldown);
              add_sharp_child_spoiler_menu(spoiler, "Freeze time quest", freeze_time);
         spoiler = add_head_spoiler_menu(BASE, "Inventory's cheats");
              add_sharp_child_spoiler_menu(spoiler, "Gils MAX", gils_max);
              add_sharp_child_spoiler_menu(spoiler, "CP MAX", cp_max);
              add_sharp_child_spoiler_menu(spoiler, "All consumables x99", consumables_x99);
              add_sharp_child_spoiler_menu(spoiler, "All Atmaliths and Magicites x99", atma_magi_x99);
              add_sharp_child_spoiler_menu(spoiler, "All Materials x99", materials_x99);
         spoiler = add_head_spoiler_menu(BASE, "Monsters's cheats");
              add_child_spoiler_menu(spoiler, "Monster #1 Infinite HP (R + Left)", monster_1_health);
              add_child_spoiler_menu(spoiler, "Monster #2 Infinite HP (R + Right)", monster_2_health);
              add_child_spoiler_menu(spoiler, "Monster #3 Infinite HP (R + Down)", monster_3_health);
    add_separator_menu(BASE);//24
    add_sharp_menu(BASE, "Switch mode", switch_mode);
    if (mode == 0)
        add_space_menu(BASE, "Current mode: 1", NULL);
    else
        add_space_menu(BASE, "  Current mode: 2", NULL);
    add_separator_menu(BASE);
    //add_sharp_menu(BASE, "/// DEBUG /\\ TESTS \\\\\\", show_debug);
}

If you want to see the result, check my FFEXP plugin. ;)


P.S.: In my FF plugin i use array, but it's working with chain listing too, you just have to set a pointer to the next entry. ;)
 
Last edited by Nanquitas,
  • Like
Reactions: chronoss

jericho82

Active Member
Newcomer
Joined
Mar 15, 2015
Messages
29
Trophies
0
Age
40
XP
182
Country
China
Can someone make cheat.plg for me please... I need harvest moon a new beginning (us) and rune factory 4 (us & eur)

Thx in advanced
 

Prince Frost

Well-Known Member
Member
Joined
Feb 21, 2016
Messages
127
Trophies
0
XP
85
Country
Uhm.. I can't or I don't know how to add some codes to create a cheat.plg. I somehow managed get the codes from a certain website (I don't remember) but, after I downloaded and extract, it only shows .txt with bunch of codes in it. I wanna know if someone can help me create a cheat.plg and if someone here can do a full tutorial on how to create cheat.plg using notepad++ I have Python I think 9.2? I have the source folder that has the C type file.
 

Nanquitas

Well-Known Member
Member
Joined
Sep 29, 2015
Messages
2,345
Trophies
0
Age
30
Location
South of France :)
XP
3,336
Country
France
Yes it's possible with READuX macros:
Code:
#ifndef READU8
#    define READU8(addr)             *(volatile unsigned char*)(addr)
#endif
#ifndef READU16
#    define READU16(addr)             *(volatile unsigned short*)(addr)
#endif
#ifndef READU32
#    define READU32(addr)             *(volatile unsigned int*)(addr)
#endif
 

Nanquitas

Well-Known Member
Member
Joined
Sep 29, 2015
Messages
2,345
Trophies
0
Age
30
Location
South of France :)
XP
3,336
Country
France
Hmm didn't completely understand what you mean but I'm right you're trying to do this:
Code:
void    teleport(void)
{
    static u32    backup = 0;
   
    //if I press L I store the value at address 0x08000000
    if (getKey() == BUTTON_L)
    {
        backup = READU32(0x08000000);
    }
    //if I press R I write the stored value in 0x08000000
    if (getKey() == BUTTON_R)
    {
        WRITEU32(0x08000000, backup);
        backup = 0;
    }
}
 

Nanquitas

Well-Known Member
Member
Joined
Sep 29, 2015
Messages
2,345
Trophies
0
Age
30
Location
South of France :)
XP
3,336
Country
France
Yes you forget them but I was speaking of the 0xYValue, maybe you mean 0xYAddress.
The way you wrote it, it looks like you've inverted address / value.

But maybe for you value mean address. :P
 

gamefreaksascha

New Member
Newbie
Joined
Jul 3, 2016
Messages
1
Trophies
0
Age
26
XP
52
Country
Gambia, The
Can everyone make a cheat plugin for Animal Crossing New Leaf [EUROPE version] ?
that were sooo awesome

--------------------- MERGED ---------------------------

can every one make a ACNL cheat.plg ?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
    +1
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    +1
  • BakerMan @ BakerMan:
    lmao
  • BakerMan @ BakerMan:
    anyways, we need to re-normalize physical media

    if i didn't want my games to be permanent, then i'd rent them
    +1
  • BigOnYa @ BigOnYa:
    Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate tbh) don't matter much, I stay offline 24/7 anyways.
  • AncientBoi @ AncientBoi:
    I don't pirate them, I Use Them :mellow:. Like I do @BigOnYa 's couch :tpi::evil::rofl2:
    +1
  • cearp @ cearp:
    @BakerMan - you can still "own" digital media, arguably easier and better than physical since you can make copies and backups, as much as you like.

    The issue is DRM
  • cearp @ cearp:
    You can buy drm free games / music / ebooks, and if you keep backups of your data (like documents and family photos etc), then you shouldn't lose the game. but with a disk, your toddler could put it in the toaster and there goes your $60

    :rofl2:
  • cearp @ cearp:
    still, I agree physical media is nice to have. just pointing out the issue is drm
  • rqkaiju2 @ rqkaiju2:
    i like physical media because it actually feels like you own it. thats why i plan on burning music to cds
    rqkaiju2 @ rqkaiju2: i like physical media because it actually feels like you own it. thats why i plan on burning...