• 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.

Code: Mega Evolutions and Primal Reversion

48
Posts
9
Years
    • Seen May 6, 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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