• 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

9
Posts
8
Years
    • Seen Oct 22, 2015
    whit afvance text i want to change the text whrn megaevolve "pokemon's item is reating to player 'item"
     

    Dr. Seuss

    Will finish GS Chronicles, I swear!
    525
    Posts
    10
    Years
  • whit afvance text i want to change the text whrn megaevolve "pokemon's item is reating to player 'item"
    I don't use A-text, try make this using a hex editor, like Gold Finger or WindHex32 (Don't use HxD for this, because can't load a CHAR table) and translate the text manually.
     

    leyn09

    Truant Trainer
    84
    Posts
    13
    Years
  • Insert.py no longer produces the address output by default. You can turn on the debug output with insert.py --debug. Otherwise, just judge by how long it took to run. insert.py should produce the test.gba (unless you renamed it with one of those flags) and uninstall.ips (unless you ran it with the --no-patch flag). The patch takes a second or two to generate, that's why I say just judge by the time it took to run.

    Choosing an offset (with --offset OFFSET) only changes the insertion location, and doesn't do anything to the "make" step. You still have to manually change the address in linker.lsc (but I'm working on that, don't worry). Also, you must prefix the offset with 0x

    Maybe removing the output was a bad idea :P
    Should I add "DONE!" to indicate success?



    Change the image(s) in the ./assets directory and rerun make && ./insert.py
    What does advance text have to do with this though?

    I'm still having problems. Here's what I've had done.

    1. Edit linker.lsc (0x08800000 to 8890000)
    2. Edit config.h (4001 to 4011; 4002 to 4012)
    3. open cmd and enter make (make && ./insert.py gives errors. "." is unrecognizable)
    4. enter insert.py --offset 08890000 --debug (0x890000 is an int error, apparently)

    After that, my every battle encounter is always stuck in black screen. Is there any error to my steps?
     

    Exodrake

    The Manliest Chick that Ever Manlied
    163
    Posts
    11
    Years
    • Seen Nov 30, 2016
    For everyone having trouble with "." being unrecognizable, run "make && insert.py" without the ./ part.

    Also I'm a dummy, insert.py was working all along, I'm just used to it spitting out a bunch of numbers showing me it's doing its job. I just forgot to disable the key stone check.
     
    Last edited:

    Touched

    Resident ASMAGICIAN
    625
    Posts
    9
    Years
    • Age 122
    • Seen Feb 1, 2018
    whit afvance text i want to change the text whrn megaevolve "pokemon's item is reating to player 'item"

    I don't use A-text, try make this using a hex editor, like Gold Finger or WindHex32 (Don't use HxD for this, because can't load a CHAR table) and translate the text manually.

    Don't use a hex editor. Just change the source code. This is why it's open source you know. All the messages are defined in src/strings.c. I used macros so that you can write the messages more easily. It's just "PC_" and then the letter.

    I'm still having problems. Here's what I've had done.

    1. Edit linker.lsc (0x08800000 to 8890000)
    2. Edit config.h (4001 to 4011; 4002 to 4012)
    3. open cmd and enter make (make && ./insert.py gives errors. "." is unrecognizable)
    4. enter insert.py --offset 08890000 --debug (0x890000 is an int error, apparently)

    After that, my every battle encounter is always stuck in black screen. Is there any error to my steps?

    I didn't realise that the "0x" would give an error, I will have to fix the utility to read hex numbers. Try give the offset (0x890000) in decimal for now. The insert.py must be an offset not an address. Apparently the "." being unrecognised is a Windows thing. Just ignore it and remove the "./" as Exodrake says, it just means "in the current directory".

    For everyone having trouble with "." being unrecognizable, run "make && insert.py" without the ./ part.

    Ah, probably a Windows thing then.
     

    Exodrake

    The Manliest Chick that Ever Manlied
    163
    Posts
    11
    Years
    • Seen Nov 30, 2016
    Mega Evolving is working fine for me, but when the AI does it, this happens.

    I patched to the backup I made before applying any mega evolution hacks.
     

    leyn09

    Truant Trainer
    84
    Posts
    13
    Years
  • Don't use a hex editor. Just change the source code. This is why it's open source you know. All the messages are defined in src/strings.c. I used macros so that you can write the messages more easily. It's just "PC_" and then the letter.



    I didn't realise that the "0x" would give an error, I will have to fix the utility to read hex numbers. Try give the offset (0x890000) in decimal for now. The insert.py must be an offset not an address. Apparently the "." being unrecognised is a Windows thing. Just ignore it and remove the "./" as Exodrake says, it just means "in the current directory".



    Ah, probably a Windows thing then.

    make && insert.py --offset (decimal of hex offset) --debug works like a charm. Thanks!
     
    457
    Posts
    10
    Years
    • Seen Apr 9, 2024
    Hmm... I think the "moves that change items" (Knock Off, Thief, etc.) can be done in the actual move's effects, or battle scripts, themselves that can change items.

    I imagine that in the scripts, add another battle script and/or a new ASM routine that excepts one or more certain items to be changed during battles.

    I also imagine that if there are unused or unknown bytes in every item data, it should be used for immunity for being changed (example if an unused byte is 01 or any greater, it cannot be stolen/changed/swapped by such moves during battle. The effect should act like when the target is holding nothing (but for real, it holds something but cannot be stolen/changed/swapped)).

    Sorry if I only share ideas, plans, and suggestion stuff. I'm trying to learn ASM nowadays. I just need a free space on my brain first LOL
     

    Touched

    Resident ASMAGICIAN
    625
    Posts
    9
    Years
    • Age 122
    • Seen Feb 1, 2018
    Hmm... I think the "moves that change items" (Knock Off, Thief, etc.) can be done in the actual move's effects, or battle scripts, themselves that can change items.

    I imagine that in the scripts, add another battle script and/or a new ASM routine that excepts one or more certain items to be changed during battles.

    I also imagine that if there are unused or unknown bytes in every item data, it should be used for immunity for being changed (example if an unused byte is 01 or any greater, it cannot be stolen/changed/swapped by such moves during battle. The effect should act like when the target is holding nothing (but for real, it holds something but cannot be stolen/changed/swapped)).

    Sorry if I only share ideas, plans, and suggestion stuff. I'm trying to learn ASM nowadays. I just need a free space on my brain first LOL

    Only a few of the moves that actually steal items have actually been implemented, so I have to work out a solution that is relatively future-proof. Sadly, unused bytes don't help. Only Mega Stones that can be used to Mega Evolve a Pokemon can't be stolen/given. I.e. you can't give/take a Charizardite X to/from a Charizard, but a Blastoise holding Charizardite X would still be vulnerable to Thief. That makes things a little harder :P
    However I do know how to make the Gen III item moves work like this, I just haven't found the time to implement it.
     
    170
    Posts
    8
    Years
  • Whoa! This is cool! Thanks! but I have a question.. if you replaced your mega pokemon with another pokemon and switched it back again, is it still in mega form? or will it undergo the mega evo process again?
     
    457
    Posts
    10
    Years
    • Seen Apr 9, 2024
    Only a few of the moves that actually steal items have actually been implemented, so I have to work out a solution that is relatively future-proof. Sadly, unused bytes don't help. Only Mega Stones that can be used to Mega Evolve a Pokemon can't be stolen/given. I.e. you can't give/take a Charizardite X to/from a Charizard, but a Blastoise holding Charizardite X would still be vulnerable to Thief. That makes things a little harder :P

    Ahh! So, that is how it is. Well, just keep it up until you have time to implement stuff.

    Whoa! This is cool! Thanks! but I have a question.. if you replaced your mega pokemon with another pokemon and switched it back again, is it still in mega form? or will it undergo the mega evo process again?

    Yes! It will remain Mega until the end of the battle or fainted.
     
    170
    Posts
    8
    Years
  • I'm trying to insert this to my rom... in the hacking part: I opened cmd in the window and typed "make"... codes came out, however, when i wrote insert.py nothing happened no codes appeared. The guide said that there were supposed to be codes after typing it. However a test file was created, I used G3T to edit the evolutions in the test file... but it didn't work ingame, pls help, thanks...
     

    Exodrake

    The Manliest Chick that Ever Manlied
    163
    Posts
    11
    Years
    • Seen Nov 30, 2016
    I'm trying to insert this to my rom... in the hacking part: I opened cmd in the window and typed "make"... codes came out, however, when i wrote insert.py nothing happened no codes appeared. The guide said that there were supposed to be codes after typing it. However a test file was created, I used G3T to edit the evolutions in the test file... but it didn't work ingame, pls help, thanks...
    Insert.py no longer shows it is working; if it generated test.gba and the uninstall patch it worked. It's not working for you because of the key stone check. You need that item before you can mega evolve.
     
    170
    Posts
    8
    Years
  • is the keystone gold teeth? I already hacked the game so I can obtain gold teeth plus the metal coat which I've set in G3T so my bulbasaur can evolve to ivysaur while holding it. pls help... I edited g3t with the one on the post... It still doen't work...
     

    Exodrake

    The Manliest Chick that Ever Manlied
    163
    Posts
    11
    Years
    • Seen Nov 30, 2016
    is the keystone gold teeth? I already hacked the game so I can obtain gold teeth plus the metal coat which I've set in G3T so my bulbasaur can evolve to ivysaur while holding it. pls help... I edited g3t with the one on the post... It still doen't work...

    You can also simply disable the key stone check like I did. I dug up Touched's post on how to do that.

    Maybe I broke the check. Try compiling with make DEFS="-DDISABLE_KEYSTONE_CHECK" instead of just make to disable the item checking. Alternatively, go into config.h and uncomment (remove the "//") from the line that says "#define DISABLE_KEYSTONE_CHECK". I leave that off because I couldn't be bothered to write a give item script, so I might've not noticed if it stopped working.
     
    170
    Posts
    8
    Years
  • yes!! thank you so much! works perfectly fine....

    Guys... last question, how do you change the animation? Thanks :) Cause the mega evolution sign at the end of the animation looks like a ghost move ,idk what move is that, I want to change it like the one in the trailer...
     
    Last edited:

    demingiscool

    Mega Mewtwo Y
    54
    Posts
    10
    Years
  • Here's my animation for Mega Evolution!

    Mega Evolutions and Primal Reversion


    Some things to note:
    • It does not actually swap the sprite. Touched is rewriting it to allow for this.
    • It requires custom particles that are attached to this post. If you need help with inserting the new particles just look at the link in my sig.
    • The target must be the user.
    • It doesn't restart the entry animation of the Pokemon or play the cry.
    I've tried to format it to show every individual aspect of the animation itself. To insert it, just place the strings side by side in the Rom without any spaces.

    Mega Evolution Animation
    Spoiler:

    Maybe this could help you?
     
    Back
    Top