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
    S @ salazarcosplay: how are you doing @K3Nv2