• 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?".
  • A reminder that our new forum software has 2FA! It can be accessed by clicking your username and then "Password and security" from the menu. We strongly suggest not reusing passwords for your online accounts and enabling 2FA if possible.
  • Welcome to PokéCommunity! Register now and join one of the best places on the 'net to talk Pokémon and more! Community members will not see the bottom screen advertisements.
  • Want to share your adventures playing Pokémon?
    Check out our new Travel Journals forum for sharing playthroughs of ROM Hacks, Fan Games, and other Pokémon content!
  • IMPORTANT: Following a takedown request, the following hacks have been delisted from PokéCommunity:

    • Pokémon Glazed
    • Pokémon: Giratina Strikes Back
    • Pokémon Flora Sky
    • Pokémon Stranded
    The downloads and discussion threads for these hacks will no longer be accessible, and staff will be unable to return questions regarding accessing this content.

Code: Mega Evolutions and Primal Reversion

48
Posts
9
Years
  • Age 24
  • Seen Jan 30, 2024

Mega Evolution, Wish and Primal support for Emerald:


Little demonstration :


Spoiler:

good work!and if you can make a IPS patch it will great !
 
23
Posts
9
Years
  • Age 27
  • Seen Feb 5, 2021
Hi everyone, so i applied this one to a clean rom,and a test.gba came out , i dont know if its properly implemented because after i run make on cmd,a bunch of codes came out then typed insert.py,it pauses for a while like it's doing something but no bunch of codes came out(according to PokeMew's tuts which i followed,there should be) but when i checked 0x800000 using g3hs's hex editor,it's not a bunch of FF's ...Is that 'Ok'?

Anyways, tried to make a mega-evolving pokemon and guess what, i happened to make one. Will the problem(if it is) above will have side-effects? And sorry if this is already asked,what are the do's and dont's? Thanks for making this happen!
 
Last edited:

Exodrake

The Manliest Chick that Ever Manlied
163
Posts
10
Years
  • Age 30
  • Seen Nov 30, 2016
Hi everyone, so i applied this one to a clean rom,and a test.gba came out , i dont know if its properly implemented because after i run make on cmd,a bunch of codes came out then typed insert.py,it pauses for a while like it's doing something but no bunch of codes came out(according to PokeMew's tuts which i followed,there should be) but when i checked 0x800000 using g3hs's hex editor,it's not a bunch of FF's ...Is that 'Ok'?

Without knowing if it is properly implemented, i tried using it,following Criminon's tuts and using g3hs(added 1 new mon(same stats/moves with bulbasaur) using the 'expand pokemon' without changing total dex entries,,added mega evolution(no item) on bulbasaur to evolve to the new mon,,added mega evo(no item) on the new mon to evolve back to bulbasaur)...gave myself the gold teeth...and whatnot,there is a mega symbol next to the pokemon's level but when i click 'fight' and while selecting a move ,no mega symbol pop's out unlike on the sample video...BUT on the next battle, the pokemon shown is the evolved one,so i think it is because of the 'no item' on the main pokemom(it's evolving to it's other evolution every after battle)..So i changed the required item on bulbasaur to 'master ball' and given the master ball item,but the mega symbol next to the pokemon level is not showing itself.i even have the golden teeth on my bag, what did i do wrong? Any help is appreciated.
Try disabling the key stone check, as per the instructions here: http://www.pokecommunity.com/showpost.php?p=8878639&postcount=22
 
23
Posts
9
Years
  • Age 27
  • Seen Feb 5, 2021
Try disabling the key stone check, as per the instructions here: http://www.pokecommunity.com/showpost.php?p=8878639&postcount=22

Yep, forgot to mention on my edit that i did disable the key check and yeah it works. i dont know if it is just me but mega evolve doesn't work on tutorial battle(first rival battle) because that's where i am checking if mega evolving is implemented until i tried it on wild. anyways, trying to change the texts now,and i read msgbox_len 35, is that the max amount of characters per msgbox?
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
Guys, I can't still make it work, I know now how to change the offset, but everytime I enter the battle, the screen turns to black and it crashes the game

You have to change the offset in two places. Did you change them in both the insert.py script (by running insert.py --offset 0x800000) and in the linker script (linker.lsc). The offset also has to be properly aligned (i.e. it must end in 0, 4, 8 or C).

Yep, forgot to mention on my edit that i did disable the key check and yeah it works. i dont know if it is just me but mega evolve doesn't work on tutorial battle(first rival battle) because that's where i am checking if mega evolving is implemented until i tried it on wild. anyways, trying to change the texts now,and i read msgbox_len 35, is that the max amount of characters per msgbox?

insert.py no longer spits out addresses of the individual functions by default (you have to run "insert.py --debug" to see that), as that information is irrelevant to most users. If the script creates test.gba and uninstall.ips, then it worked properly.

Mega evolutions won't work on the tutorial battle, because that would be a waste of time to implement (you shouldn't have Megas that early, if you're using that irritating battle at all)

I think MSGBOX_LEN is the value that XSE's text adjuster uses to determine when to insert newlines. It's not used anywhere in the code, so you can ignore it.
 
23
Posts
9
Years
  • Age 27
  • Seen Feb 5, 2021
Oh, i see. Thanks!

But what if i edited some files in the /src folder,and want to generate new patched rom.do i need to just run the 'make' and 'insert.py' again? Or should i start from the beginning of the tutorial(skipping the installations)?
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
Oh, i see. Thanks!

But what if i edited some files in the /src folder,and want to generate new patched rom.do i need to just run the 'make' and 'insert.py' again? Or should i start from the beginning of the tutorial(skipping the installations)?

If you want to reinstall after modifications, all you have to do is rerun make and insert.py. That's pretty much the reason inserting this is "complicated" - it eases the development process. I actually just run the debug bash script when developing because it doesn't create the IPS patch (which takes like a full 2 seconds). If you're on windows and want to replicate (sort of) that script, just run

Code:
make
insert.py --no-patch --debug

This will prevent the patch from being created, which results in the insertion process being almost instantaneous.
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
You have to change the offset in two places. Did you change them in both the insert.py script (by running insert.py --offset 0x800000) and in the linker script (linker.lsc). The offset also has to be properly aligned (i.e. it must end in 0, 4, 8 or C).

This is what I did,
edited the linker.lsc ROM ORIGIN from 0x800000 to 0x870000
then run make and insert.py

I inputted insert.py --offset 8847360 --debug

then test.gba was created, then I opened it in HxD and went to 0x870000 and bytes were installed there.

But when I entered to battlescreen, It turned tge screeb into black.
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
This is what I did,
edited the linker.lsc ROM ORIGIN from 0x800000 to 0x870000
then run make and insert.py

I inputted insert.py --offset 8847360 --debug

then test.gba was created, then I opened it in HxD and went to 0x870000 and bytes were installed there.

But when I entered to battlescreen, It turned tge screeb into black.

The ROM ORIGIN in linker.lsc must be an address, not an offset. It would have to be changed from 0x08800000 to 0x08870000. Otherwise it looks like you did everything else right.
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
The ROM ORIGIN in linker.lsc must be an address, not an offset. It would have to be changed from 0x08800000 to 0x08870000. Otherwise it looks like you did everything else right.

yeah, that's what I did

Well, it happens to me, dunno why
12278818_919946808073376_6179944289126460691_n.jpg
 
Last edited:
23
Posts
9
Years
  • Age 27
  • Seen Feb 5, 2021
Sorry if already asked, is it possible to change the mega evo check so that it only checks for a flag/variable to be able to mega evolve? Sorry bad english, i hope you got my point.Thanks!
 

PokemonBen

Kanto Champion
60
Posts
8
Years
  • Age 24
  • Seen Apr 27, 2020
Hello, so the offset 0x80000 had numbers instead of FF just like it it supposed to. But what am I supposed to do after. Obviously Mega stones haven't been added into my game (or if they have, they are not appearing in G3HS). Do fully evolved Pokemon have Mega evolution as soon as they become fully evolved, and do I need to add the sprites in from MrDS 64x64 gen 6 sprites?
 
534
Posts
11
Years
  • Age 26
  • Seen Jul 24, 2023
Hello, so the offset 0x80000 had numbers instead of FF just like it it supposed to. But what am I supposed to do after. Obviously Mega stones haven't been added into my game (or if they have, they are not appearing in G3HS). Do fully evolved Pokemon have Mega evolution as soon as they become fully evolved, and do I need to add the sprites in from MrDS 64x64 gen 6 sprites?

Alright I'll try to clear this up. First, what Touched posted here, when compiled, is just a working ROM Base, with just the system installed (we will call this the skeleton and nerves). Now we users are in charge of adding the Mega Stones and Mega Evolutions (the muscles and skin). We should either use GH3S, D&D or any other Pokemon Editor to insert the data (Pokedex, Moves, Evoltuion, Sprites) we make for the new Mega Pokemon. Am I making any sense? xD
 

PokemonBen

Kanto Champion
60
Posts
8
Years
  • Age 24
  • Seen Apr 27, 2020
Alright, could you tell me if this works? (Based on assuming that Touched still hasn't managed to revert it after battle) I have created an item called Mega Stone that can be bought, based on the sun stone from a tutorial. If i fill in the ???? in G3HS with the Mega Evo sprites, and go to a fully evolved Pokemon (say Venusaur) and tell him to evolve by Mega Stone into Mega Venusaur, I have used this Rom base correctly?
 

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
Alright, could you tell me if this works? (Based on assuming that Touched still hasn't managed to revert it after battle) I have created an item called Mega Stone that can be bought, based on the sun stone from a tutorial. If i fill in the ???? in G3HS with the Mega Evo sprites, and go to a fully evolved Pokemon (say Venusaur) and tell him to evolve by Mega Stone into Mega Venusaur, I have used this Rom base correctly?

Did you read the first post or watch the video therein at all? I don't understand how you've managed to miss the point of this thread so spectacularly.
 

PokemonBen

Kanto Champion
60
Posts
8
Years
  • Age 24
  • Seen Apr 27, 2020
Didn't see that keystone bit, and I am new to this so I don't understand some words. But if I go into the game and get two gold teeth and give one to Venusaur and one to me then it will work?
 
Back
Top