• 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

whit afvance text i want to change the text whrn megaevolve "pokemon's item is reating to player 'item"
 
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.
 
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?
 
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:
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.
 
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.
 
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!
 
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
 
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.
 
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?
 
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.
 
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...
 
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.
 
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...
 
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.
 
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:
Here's my animation for Mega Evolution!

[PokeCommunity.com] 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