• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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
  • Age 23
  • 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
  • Age 33
  • 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
  • Age 27
  • 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
11
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