• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Pokémon Gen III Rom Hacking Suite

karatekid552

What happens if I push it?....
1,771
Posts
11
Years


  • Thread_Header_04_zpsa2925fe9.png


    //Intro

    At the time when tools like YAPE and A-map were created, nobody was thinking about advances in hacking technique that would enable the addition of new types, new moves, and even, an increase in the number of Pokémon. However, those times are gone. Now, we have several tutorials on adding new types and moves, a solid research foundation for new Pokémon, as well as a lot more advances that have rendered tools useless, like expanded OWs. In addition to this, the support for operating systems other than Windows is little to none. Being a Linux user, this got me thinking that we needed a new set of tools for the future.

    Shinyquagsire has already begun taking care of scripting and mapping with Script Editor Advance (SEA) and Map Editor of Happiness (MEH), both written in Java. My forte is Python, which is also cross-platform. So, in December 2013, I began creating a cross platform hacking suite. The first tab is a Pokémon data editor, designed for the future. It can support new types, new moves, new Pokémon and so much more. Eventually, it will have many more tabs and pop-out windows to edit all sorts of things. So, let's begin.​

    //Features



    • Expand the number of Pokémon on FireRed (E).

    • Expand the number of Evolutions per Pokémon.

    • Repoint and expand move sets.

    • Supports expanded types, moves, Pokémon, etc with only small changes to the ini.

    • Dynamic ini system to allow you to make changes without affecting other roms.

    • Edit stats, moves, Pokédex entries, sprites, egg moves, move tutors, and more.

    • Full support for formed Pokémon like Castform.

    • Automatic space freeing upon repoint.

    • Cross-Platform

    • Brand new features and editors every release.

    • ...and much more!



    //Documentation

    The documentation for this tool comes as a pdf with the download. Please note that this tool has many features that are brand new, so it is important that you read the documentation to understand how not to break things. Here is also a DropBox link if you want to read through it before downloading:


    //Screen Shots


    //Credits


    • DoesntKnowHowToPlay- For all of his research into expanding evolutions and his tutorial on adding new Pokemon.
    • GoGoJJTech - For also being apart of the expanding pokemon research.
    • Interdpth- For providing me with a lot of different help in trying to compress LZ77 data.
    • Shiny Quagsire- For trying to help me find an LZ77 decompression function.
    • Full Metal- For his massive Python knowledge that has helped me everywhere.
    • Jambo51- For not ignoring me when I couldn't figure things out.:P
    • FBI Agent- Tons of general advice on how to make this program more efficient, though I haven't gotten to implementing many of them yet.
    • MrDollSteak- Icons, advice, and tons of beta testing.
    • Strawberry- For being an amazing graphic artist and making this thread look just right.:D

    //Beta Testers


    • MrDollSteak
    • gogojjtech
    • Le Pug: "The Breaker of Tools:P"
    • Chrunch
    • Bela
    • DoesntKnowHowToPlay
    • Ca

    //Compilers


    • browniebiznatch - Mac
    • wael96 - Windows (GBK Chinese Encoding)

    If I forgot your name here or in the credits, please let me know!


    //Attention non-Windows Users

    Currently, I am running Windows XP and Ubuntu 13.10 on my computer and openSUSE on a separate machine. This means that I have the ability to create binaries only for Windows and those two types of Linux. So the binaries I make may not work on Arch, Fedora, old Ubuntu, Mac, and most other operating systems. This is where you come in: if you run one of the unsupported OSs, let me know. I can teach you how to package and make binaries that you can help me distribute. The reddit mod browniebiznatch has agreed to help me make a package for Mac. Once I set you up and teach you what to do, it will be as simple as pulling down the latest version, running a single command, and then uploading. Not bad.:)

    If you just want to run it without packaging, you should familiarize yourself with how Python works and then install these python libraries:

    -Python 2.7.6
    -Python Imaging Library (PIL)
    -wxPython (v2.8; v3.0 won't load this for some reason)

    Then, you can run my code from command line via "python main.py" when inside of the folder that contains the source code.​



    //Inis for other languages and roms


    There is no way that I can keep an ini that includes all of the other languages for all of the other roms. That would be almost impossible to keep up with. So, I have left the task up to the users. I will keep the English ini up to date, but if other languages are needed, this will be the place to look. Inis can be submitted to me via pm.

    Please note that all inis here have not been tested by me. Use at your own risk.


    ---------------------------------------------
    German Emerald: Credit to Morfium

    [BPED]
    name = Pokemon Emerald (D)
    gamecode = BPED
    numberofpokes = 412
    pokebasestats = 0x334D8C
    pokebasestatslength = 0x1C
    pokenames = 0x32CF38
    pokenameslength = 0xB
    typenames = 0x32F7A8
    typenameslength = 0x7
    numberoftypes = 18
    items = 0x5946DC
    numberofitems = 0x179
    itemsdatalength = 0x2C
    abilities = 0x33009E
    numberofabilities = 0x4E
    abiltiesnamelength = 0xD
    egggroups = Monster,Water1,Bug,Flying,Field,Fairy,Grass,Human-Like,Water3,Mineral,Amorphous,Water2,Ditto,Dragon,Undiscovered
    leveluptypes = Medium-Fast,Erratic,Fluctuating,Medium-Slow,Fast,Slow
    learnedmoves = 0x33DD3C
    learnedmoveslength = 0x2
    attacknames = 0x32E0EC
    numberofattacks = 0x163
    attacknamelength = 0xD
    eggmovepointer1 = 0x703F0
    eggmovepointer2 = 0x70468
    eggmovelimit = 0x70464
    tmhmcompatibility = 0x333258
    tmhmcompatibilitylength = 8
    tmlist = 0x62705C
    tmlistentrylength = 2
    numberoftms = 50
    numberofhms = 8
    evolutiontable = 0x339CDC
    evolutionsperpoke = 5
    lengthofoneentry = 8
    evolutionmethods = None,Friendship,Friendship (Day),Friendship (Night),Level-Up,Trade,Trade (Hold Item),Stone,ATK > DEF,ATK = DEF,ATK < DEF,PID (Wurmple->Silicoon),PID (Wurmple->Cascoon),Spawn a Second,Create Spawn,Beauty
    evomethodsproperties = None,None,None,None,Level,None,Item,Item,Level,Level,Level,Level,Level,Level,Level,None
    evolutiontablepointers = 0x6D144,0x6D194,0x6D238,0x6D388,0x70030,0x13E194
    offsetstochangetolslr0r60x1 = 0x6D174,0x6D392,0x6D1E0,0x6D23C,0x6D24C,0x6D276,0x6D2A0,0x6D2CE,0x6D2EE,0x6D312,0x6D322
    offsetstochangetonewminus1 = 0x6D33C,0x6D3AE,0x70036
    theshedinjafix = 0x13E036
    changetonewnumbertimes8 = 0x7001E,0x70054,0x70022,0x70056
    pokedex = 0x57D39C
    lengthofpokedexentry = 0x20
    nationaldexorder = 0x332642
    numofnondexpokesbetweencelebiandtreeko = 25
    numofnondexpokesafterchimecho = 28
    dextype = E
    jambo51learnedmovehack = False
    numofpokesbetweencelebiandtreeko = 25
    movetutorcomp = 0x626510
    movetutorcomplen = 4
    movetutorattacks = 0x6264D4
    mtattackslen = 2
    mtattacksnum = 32
    frontspritetable = 0x31EAFC
    backspritetable = 0x317228
    frontpalettetable = 0x317FE8
    shinypalettetable = 0x318DA8
    enemyytable = 0x3156A8
    playerytable = 0x316B48
    enemyaltitudetable = 0x31A73C
    iconspritetable = 0x58CAA8
    iconpalettetable = 0x58D188
    iconpalettes = 0xDDE348
    numiconpalettes = 3
    footprints = 0x580480


    //Download


    Windows ~ Linux ~ Mac
    Source Code:
    .zip ~ .tar.gz
    Other Linux Binaries Coming Soon!​

    //Fan Art

    Strawberry:
    lord_tools_icon02_zpsd82f9e72.png
    tool_lord_icon01_zps384c94fb.png
    Thank you to everyone who made this possible!

    Until next time,

    ~karatekid552

     
    Last edited:

    Le pug

    Creator of Pokémon: Discovery / Fat Kid
    870
    Posts
    10
    Years
  • Glad to see this released to PokeCommunity. It was fun beta testing and I'm glad I could help finding those pesky bugs! This is undoubtedly the finest and one of the most helpful tools ever created for the Pokemon hacking community and I applaud you on your work and thank you for contributing this.

    J83ot53.png
     

    Jehowi

    Your Master Superior
    61
    Posts
    14
    Years
  • Error loading data: Images failed to decompress.

    This is the error I receive when I add a pokemon sprite and save it. When I go back to the pokémon, it gives this error and doesn't load.
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • Error loading data: Images failed to decompress.

    This is the error I receive when I add a pokemon sprite and save it. When I go back to the pokémon, it gives this error and doesn't load.

    I just did a quick test of my program using single frame sprites and sheets from Choas Rush's sprite resource. I did not encounter this error. Would you mind giving me more information? Rom type, whether or not other sprites still load, did you expand pokemon, and what your sprites that you tried to load are?
     

    Jehowi

    Your Master Superior
    61
    Posts
    14
    Years
  • I just did a quick test of my program using single frame sprites and sheets from Choas Rush's sprite resource. I did not encounter this error. Would you mind giving me more information? Rom type, whether or not other sprites still load, did you expand pokemon, and what your sprites that you tried to load are?

    I will make a quick video of what i do. Give me 5 mins :)

    Okay so here is the video: http://youtu.be/qUSsrtfB5KQ only now I get a new error than previously!
     
    Last edited by a moderator:

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • #Mod skillz: Merged your posts because double posting:P

    Now, I know that error, and it is because stupid me forgot to import my graphics library before showing an error. I am making an update right now. Should be up by tonight. However, mind if I have that image? I want to play with it and see what went wrong. Don't worry, I won't steal it.:P
     

    GOLDstandard

    Eclectic
    51
    Posts
    10
    Years
  • KarateKid. This is the biggest news to hit ROM-hacking since its inception.
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOUTHANKYOU
    THANKYOUTHANKYOUTHANKYOUTHANKYOU
    I can't believe that I can have support for more evolutions as well as an expanded pokedex.
    wow
     
    Last edited by a moderator:

    Jehowi

    Your Master Superior
    61
    Posts
    14
    Years
  • #Mod skillz: Merged your posts because double posting:P

    Now, I know that error, and it is because stupid me forgot to import my graphics library before showing an error. I am making an update right now. Should be up by tonight. However, mind if I have that image? I want to play with it and see what went wrong. Don't worry, I won't steal it.:P

    Of course. It's not mine though :D take your time. If this program starts to work, you'll be my hero! :)
     
    1,085
    Posts
    14
    Years
    • Seen Aug 26, 2023
    Error loading data: Images failed to decompress.

    This is the error I receive when I add a pokemon sprite and save it. When I go back to the pokémon, it gives this error and doesn't load.
    A temporary fix: Just go into A-Series' INI, edit the tables, open the sprite editor and you can perfectly insert the image there. That way in the suite it will load perfectly. :)
     

    destinedjagold

    You can contact me in PC's discord server...
    8,593
    Posts
    16
    Years
    • Seen Dec 23, 2023
    Question...
    Spoiler:

    How can we add what level a PKMN evolves? =/
     

    Kawaii Shoujo Duskull

    The Cutest Duskull
    276
    Posts
    10
    Years
    • Seen Sep 10, 2023
    A couple issues.
    First, the program seems to lag sometimes, in a way where it says (not responding). Not sure if this is normal or if its a bug or something.
    Also when using the tab key to shift focus from section to section of the tool (like going from a spot to enter text like for stats and to a place to select from several options), it will lock me in an edit combo box if I shift focus to that, and the only way to get un-locked is to use control+tab or control+shift+tab to switch to a different tab (ex: stats tab to moves tab). Just thought I'd mention this since its kind of annoying. Probably not high priority though(unless you think it is haha).


    Anyway, great tool! I'll definitely be using this. :)
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • I have a suggestion. When you press Open it looks for all files, can you make it that it searches for .gba?

    Yeah, that was an oversight on my part. I'll have that in at some point.

    A couple issues.
    First, the program seems to lag sometimes, in a way where it says (not responding). Not sure if this is normal or if its a bug or something.
    Also when using the tab key to shift focus from section to section of the tool (like going from a spot to enter text like for stats and to a place to select from several options), it will lock me in an edit combo box if I shift focus to that, and the only way to get un-locked is to use control+tab or control+shift+tab to switch to a different tab (ex: stats tab to moves tab). Just thought I'd mention this since its kind of annoying. Probably not high priority though(unless you think it is haha).


    Anyway, great tool! I'll definitely be using this.
    1.%20smile.gif

    Unless it happens when you are not saving or loading something, then it isn't an issue. The GUI library I used is a little slow but it runs flawlessly across platforms so it was a trade off. So when I am extracting info from boxes or loading things into them, it can lag a little.

    I don't know what is up with the tabs. Those were coded in C++ embedded in the library. I can't change them. They work most of the time, but for some people, not so much. Like right now, they work great for me, but DoesntKnowHowToPlay reported the same thing a few weeks ago. I just don't know.
     

    Le pug

    Creator of Pokémon: Discovery / Fat Kid
    870
    Posts
    10
    Years
  • A friend of mine is using a 16mb BPRE rom and MrDollsteak's rombase and also JPAN's engine and he did the whole going to 0x0000AC thing and changed it to MrDS so he could open it in RHS... but he's getting that 0xfffffe error that you usually get for extended roms. Any reasons?
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • A friend of mine is using a 16mb BPRE rom and MrDollsteak's rombase and also JPAN's engine and he did the whole going to 0x0000AC thing and changed it to MrDS so he could open it in RHS... but he's getting that 0xfffffe error that you usually get for extended roms. Any reasons?

    If he has data at that offset, of course he will have issues. He needs to change his check offset to something different. I picked that offset because there is very little chance of writing stray data to the last bytes of the rom. However, on an extended rom, this becomes very possible. You see, the number at 0xFFFFFE overrules the code at 0xAC. So, he may want to consider change the offset in the ini to 0x1FFFFFE and still using the last two bytes of his rom. However, this will break compatibility with other unextended roms. So, I would suggest finding another offset below 0xFFFFFF that will usually be FFFF.

    Just updated: Open your program or click the link in the thread.
     

    Circaoffire

    Clueless Scripter :/
    49
    Posts
    12
    Years
    • Seen May 27, 2016
    Awesome official release! Happy to see it here at PC now too as it seems there are some people not on the PHO irc. Many thanks for the hours put in creating, testing, and debugging for this tool. Happy to have been using it (with your help on my errors). Will continue to use! :D I agree with Ninja Surskit's suggestion. But applause to you for your newest contribution!
     
    Back
    Top