Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.

Reply
 
Thread Tools
  #1    
Old September 21st, 2016 (9:43 PM). Edited October 2nd, 2016 by esipode.
 
Join Date: Feb 2010
Posts: 22
Hello, everyone!

About a month ago, DizzyEgg made a thread showing how to expand the level cap for Emerald over 100.
After seeing that it can in fact be done, I set out to accomplish the same for FireRed. And while my methods ended up being a little bit different, the end result is relatively the same.

However, there are currently three fairly important bugs that I am trying to fix.
  1. Levels over 100 won't display needed XP and will instead show 0. The leveling will work correctly, but display XP wrong.
  2. Stat growth is completely wrong. Turned out the problem was just my ROM. Should work fine.
  3. Cannot display EXP numbers 7 digits and higher.

(If you have any insight on any of these issues, I would appreciate the help!)


Rather than using Python to install it, I decided to explain it in a manner more familiar to most ROM hackers.

You will need a hex editor, I personally recommend HxD.

EXP TABLE POINTERS

Spoiler:


These offsets point to the location of the beginning of the EXP table. We are going to need to point them to the location of wherever you are placing the new table.

I recommend using Free Space Finder to find an offset for your new table. I have already created a new EXP table in the attached file for this post, which is set to accomodate up to 200 levels, but can be expanded upon.
The amount of space needed for my table is 4,992 bytes.

0802FFB8 - Replace E4 3A 25 08 with XX XX XX 08
080300E4 - Replace E4 3A 25 08 with XX XX XX 08
080301F4 - Replace E4 3A 25 08 with XX XX XX 08
0803DCC8 - Replace E4 3A 25 08 with XX XX XX 08
0803E828 - Replace E4 3A 25 08 with XX XX XX 08
0803E894 - Replace E4 3A 25 08 with XX XX XX 08
0804199C - Replace E4 3A 25 08 with XX XX XX 08
08043B88 - Replace E4 3A 25 08 with XX XX XX 08
08043C0C - Replace E4 3A 25 08 with XX XX XX 08
08049F48 - Replace E4 3A 25 08 with XX XX XX 08
080E7F10 - Replace E4 3A 25 08 with XX XX XX 08
080E803C - Replace E4 3A 25 08 with XX XX XX 08
080E814C - Replace E4 3A 25 08 with XX XX XX 08
08136790 - Replace E4 3A 25 08 with XX XX XX 08
0813AADC - Replace E4 3A 25 08 with XX XX XX 08
081569E8 - Replace E4 3A 25 08 with XX XX XX 08
08156B14 - Replace E4 3A 25 08 with XX XX XX 08
08156C24 - Replace E4 3A 25 08 with XX XX XX 08


LEVEL 100 CHECKS

Spoiler:


These offsets are what checks for the max level a pokemon can grow to. Keep in mind these are hex values! For example, I have my table set to level 200, which is C8. You can set yours higher/lower, however if you want a different max level then certain things will have to be modified that I will explain later.

0804A216 - change 64 to YOUR LEVEL HEX
08021CFA - change 64 to YOUR LEVEL HEX
08021FB6 - change 64 to YOUR LEVEL HEX
0803E806 - change 64 to YOUR LEVEL HEX
0803E872 - change 64 to YOUR LEVEL HEX
08041834 - change 64 to YOUR LEVEL HEX
08041B1E - change 64 to YOUR LEVEL HEX
08041B22 - change 64 to YOUR LEVEL HEX
080420E8 - change 64 to YOUR LEVEL HEX
080420EC - change 64 to YOUR LEVEL HEX
0804274E - change 64 to YOUR LEVEL HEX
08045684 - change 64 to YOUR LEVEL HEX
08041B0E - change 63 to YOUR LEVEL HEX MINUS 1
08032F6E - change 63 to YOUR LEVEL HEX MINUS 1


EXP TABLE SIZE POINTERS

Spoiler:


By default, FireRed will have 6 different exp growth rates assigned for different Pokemon. Each of which is 404 bytes long. That accounts for 100 levels + level 0. Since we need this to be larger to accommodate the new 200 level limit, each growth rate needs to be 804 bytes long. Which means that the pointers need to have the size they look for changed.

If you plan on having over 200 levels, then you will need to use a different value!

0803E7F2 - Replace CA 25 6D 00 with 1A 25 6D 01
0803E85E - Replace CA 25 6D 00 with 1A 25 6D 01

0802FF34 - Replace CA 21 49 00 with 1A 21 49 01
080E7E8C - Replace CA 21 49 00 with 1A 21 49 01
08156964 - Replace CA 21 49 00 with 1A 21 49 01

08043B64 - Replace C8 21 49 00 with 18 21 49 01

08030094 - Replace CA 20 40 00 with 1A 20 40 01
08049ED4 - Replace CA 20 40 00 with 1A 20 40 01
0803DBF8 - Replace CA 20 40 00 with 1A 20 40 01
08156AC4 - Replace CA 20 40 00 with 1A 20 40 01
08156BCC - Replace CA 20 40 00 with 1A 20 40 01
081366AA - Replace CA 20 40 00 with 1A 20 40 01
0813A9F4 - Replace CA 20 40 00 with 1A 20 40 01
080E7FEC - Replace CA 20 40 00 with 1A 20 40 01
080E80F4 - Replace CA 20 40 00 with 1A 20 40 01
0803019C - Replace CA 20 40 00 with 1A 20 40 01
08043BE0 - Replace CA 20 40 00 with 1A 20 40 01
08043B5E - Replace CA 20 40 00 with 1A 20 40 01
08041860 - Replace CA 20 40 00 with 1A 20 40 01


RARE CANDY PAST 100

Spoiler:


One last change that needs to be made is allowing the use of Rare Candies for Pokemon over level 100.

081262D2 - Replace 64 with YOUR LEVEL HEX


Now all that remains to do is copy the EXP Table I have attached and paste the table at the offset you found with the appropriate free space.

And with that, you're done!

Keep in mind I tested this on a FireRed US v1.0 ROM, so it may or may not work on other versions.

Also, very important!

Delete your save file and start a new one after installing this. This will not work on an existing save file.
Attached Files
File Type: txt XP TABLE INSERT.txt‎ (14.9 KB, 26 views) (Save to Dropbox)
Reply With Quote

Relevant Advertising!

  #2    
Old September 22nd, 2016 (2:57 AM).
Lunos's Avatar
Uruguayan Random Guy
 
Join Date: Oct 2008
Posts: 670
So.. I've tried it, but my Starter (Squirtle) doesn't get any new exp. in battles. Even after leveling up it stayed at Lv5.
I've inserted the attached Exp. Table at F567A0, the pointer should be A0 67 F5 08 and I don't think that I've messed up, I mean, it was as simple as to copy the offset right here, go to it, copy the pointer on my notepad, and Ctrl+B in each situation :/ ... here's the IPS, just in case.

EDIT: Yep, I've checked just in case and everything should be correct, I didn't messed up.
__________________
I've tried to support so many hacks, that i've broken up the rules, i'm such an awesome fan D:
Reply With Quote
  #3    
Old September 22nd, 2016 (12:12 PM). Edited September 22nd, 2016 by esipode.
 
Join Date: Feb 2010
Posts: 22
Quote:
EDIT: Yep, I've checked just in case and everything should be correct, I didn't messed up.
You would be correct, it's all right. And I took another fresh rom and tried it and it worked still.

Delete the save file for the game. I found that it causes weird glitches and doesn't work on an existing save. You have to start fresh once it's setup.
It's also possible that there is a difference in the ROM bases we used. You may want to find a download from a different source.
Reply With Quote
  #4    
Old September 22nd, 2016 (1:32 PM). Edited September 22nd, 2016 by Lunos.
Lunos's Avatar
Uruguayan Random Guy
 
Join Date: Oct 2008
Posts: 670
Quote:
Originally Posted by esipode View Post
You would be correct, it's all right. And I took another fresh rom and tried it and it worked still.

Delete the save file for the game. I found that it causes weird glitches and doesn't work on an existing save. You have to start fresh once it's setup.
It's also possible that there is a difference in the ROM bases we used. You may want to find a download from a different source.
1) I started a fresh save and a Clean ROM to try this, I never re-use a save because I simply don't have one.
2) It's the exact same ROM I use to patch different .IPS and .UPS from different FireRed v1.0 ROM Hacks, so I totally doubt that its the problem over here.
Here's a video of me, doing the entire process, just in case.
Btw, thanks to it, I've noticed that Squirtle did got experience, the thing is that it apparently needs 17k for leveling up to Lv6 and it also apparently got 600k since the very beginning.
Also, again, here's the .IPS after doing the video and you'll be able to see that it fits with no problems at all into a v1.0 Clean FireRed USA ROM.
If you see anything wrong in the process that I've made on the video, please tell me ;_; ..

EDIT: Removed the .IPS because it's pointless to keep it in my DropBox Account anymore.
__________________
I've tried to support so many hacks, that i've broken up the rules, i'm such an awesome fan D:
Reply With Quote
  #5    
Old September 22nd, 2016 (1:59 PM).
 
Join Date: Feb 2010
Posts: 22
Aha! I have found the source of your problem! (Thank you for making that video, it clears this right up)
It may have been a clerical error on my part, so allow me to explain. In the "EXP TABLE SIZE POINTERS" list, you HAVE to to enter those values into the offsets. What I had meant was that if you wanted to go over level 200 then the value that you need to replace would be different than the one I am saying to enter. The section should not be ignored.
Reply With Quote
  #6    
Old September 22nd, 2016 (2:46 PM).
Lunos's Avatar
Uruguayan Random Guy
 
Join Date: Oct 2008
Posts: 670
Quote:
Originally Posted by esipode View Post
Aha! I have found the source of your problem! (Thank you for making that video, it clears this right up)
It may have been a clerical error on my part, so allow me to explain. In the "EXP TABLE SIZE POINTERS" list, you HAVE to to enter those values into the offsets. What I had meant was that if you wanted to go over level 200 then the value that you need to replace would be different than the one I am saying to enter. The section should not be ignored.
I'm such an idiot. I totally misunderstood it in the very first place, dang it.. I'm sorry.
This certainly is working perfectly, and god freaking damn it just look at this beast:

And that's basically 864 stat points on SpAtk with a Light Ball, it's brutal xDD
__________________
I've tried to support so many hacks, that i've broken up the rules, i'm such an awesome fan D:
Reply With Quote
  #7    
Old October 2nd, 2016 (2:08 PM).
 
Join Date: Feb 2010
Posts: 22
Figured out the problem with stat growth! Turns out it was just my ROM hack that is the problem. Clean ROM works just fine. Wasted a lot of time trying to figure this out.
Reply With Quote
  #8    
Old 4 Weeks Ago (10:58 AM).
 
Join Date: Mar 2010
Gender: Female
Posts: 1
How can i make trainers with pokemon lv 100>?
Reply With Quote
  #9    
Old 3 Weeks Ago (5:00 PM).
 
Join Date: Feb 2010
Posts: 22
Quote:
Originally Posted by nostalero View Post
How can i make trainers with pokemon lv 100>?
I assume you meant >100?

And it should work automatically. Just entering a Lvl higher than 100 in any trainer editor should do it.
(That said, I have only tested that on Hopeless Trainer Editor)
Reply With Quote
  #10    
Old 3 Weeks Ago (12:27 AM).
Ayonn-'s Avatar
The Unbelivable
 
Join Date: May 2014
Location: FRANCE
Gender: Male
Nature: Jolly
Posts: 173
Just a little question, can we maybe allow only the other tranier's pokemon to go beyond 100 ? I'd find this interesting
Reply With Quote
  #11    
Old 3 Weeks Ago (6:19 AM).
 
Join Date: Feb 2010
Posts: 22
Quote:
Originally Posted by Ayonn- View Post
Just a little question, can we maybe allow only the other tranier's pokemon to go beyond 100 ? I'd find this interesting
That should technically be possible. You would just have to change the "Level Check" values back to 0x64. That should, in theory, make it possible for only trainers to go above.
Reply With Quote
  #12    
Old 3 Weeks Ago (1:20 PM).
Ayonn-'s Avatar
The Unbelivable
 
Join Date: May 2014
Location: FRANCE
Gender: Male
Nature: Jolly
Posts: 173
Quote:
Originally Posted by esipode View Post
That should technically be possible. You would just have to change the "Level Check" values back to 0x64. That should, in theory, make it possible for only trainers to go above.
I'd find this interesting in the way it will make the game harder, but I don't have the knowledge to do this on my own in my rom, too bad...
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 5:57 AM.