• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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.

[EM][FR] Pokemon Overworld Form(e) change.

Trainer 781

Guest
  • 0
    Posts
    Pokemon Overworld Form(e) Change Project

    The Battle Engine Upgrade code only handles the form(e) changes that happen in Battle.
    So, here is a separate project made by me in C and python which contains the code for different types of form(e) changes that not happen in the Battle but the Overworld.

    So why there is an another form(e) change resource thread when one already exists?
    1. Some of the routines here are specially coded to be used in conjunction with the Battle Engine Upgrade. The existing form(e) change routines in PC might not work without modifying them.
    2. It also provides the complex Rotom form change special move handling with mechanism to automatically generate scripts that are hardwired to the Rotom form handling routines.
    3. C is better than ASM.

    What is Implemented?
    Spoiler:


    What is Left?
    Spoiler:


    Source Code:-

    Installation instructions:-
    Spoiler:


    Setting up different form(e)s:-
    Spoiler:


    BUGS/Oddities:-
    Spoiler:


    Major Changes:-
    Spoiler:


    Credits:-
    Spoiler:
     
    Last edited:
    For the dynamic offsets, I would recommend using this:

    #freespace 0xFF
    #dynamic 0x9C0B20

    This only overwrites FF bytes, and not 00 and FF, because overwriting 00 could lead to possible graphical and sound errors.

    Also, the Rotom and Deoxys scripts are not working...
     
    Last edited:
    For the dynamic offsets, I would recommend using this:

    #freespace 0xFF
    #dynamic 0x9C0B20

    This only overwrites FF bytes, and not 00 and FF, because overwriting 00 could lead to possible graphical and sound errors.

    Also, the Rotom and Deoxys scripts are not working...
    I see.
    In what ways the scripts aren't working? Care to elaborate?
     
    Here's Rotom's script:
    Spoiler:


    Here's Deoxys' script:
    Spoiler:


    It seems that even if Rotom/Deoxys is in the party, the first piece of text reads, and the script ends. It doesn't freeze, the game works after the first string of text. Maybe missing a check for them?
     
    Here's Rotom's script:
    Spoiler:


    Here's Deoxys' script:
    Spoiler:


    It seems that even if Rotom/Deoxys is in the party, the first piece of text reads, and the script ends. It doesn't freeze, the game works after the first string of text. Maybe missing a check for them?

    I fixed an issue where it doesn't support expanded roms. Try doing this again.

    EDIT: Also make sure that you specify a offset in the dynamic such that all of the components of the scripts are placed together (i.e enough free space to insert the whole script).
     
    Just tried it today, same thing happened.

    Rotom Script:
    Spoiler:


    Deoxys Script:
    Spoiler:


    Here's my config if that helps any:
    Spoiler:
     
    Just tried it today, same thing happened.

    Rotom Script:
    Spoiler:


    Deoxys Script:
    Spoiler:


    Here's my config if that helps any:
    Spoiler:

    Can you give your test rom patch and save? I'm bit busy in office so directly testing your rom will speed up the process.
     
    I sent the ROM and save. Also, when trying to get the offsets.txt, using 'python scripts//insert --debug>offsets.txt', I get this error:
    Spoiler:
     
    I sent the ROM and save. Also, when trying to get the offsets.txt, using 'python scripts//insert --debug>offsets.txt', I get this error:
    Spoiler:

    There was some issue in the script compilation. So I have added goto statements to avoid that issue.

    Download the latest build for updated XSE scripts. This should fix the issue.

    Regarding the debug error, i have disabled the debug parameter for the insert script and instead, it outputs the offsets.txt file for generate_offsets.py by default.
     
    Fixed now, but now there's this:
    Have this glitch when leveling up...empty spots in party level up:
    [PokeCommunity.com] [EM][FR] Pokemon Overworld Form(e) change.
     
    UPDATE

    So this project was progressing at a snail's ace (despite not being relatively large) and was likely to go this way. But then The_Learner approached me for learning Rom hacking with C.
    After teaching some basics of rom hacking. I decided to take him in a live project which helped both me and him as the pace of project sped up rapidly and The_Learner became more potent in writing code in C. He is also responsible for porting this repo to Fire Red side by side.

    Anyways, the update consists of forme changes for Shamyin, Hoopa, Genie Trio, & Kyurem as well as the process of inserting Rotom and Deoxys form(e)s have been simplified as they are now built within the code itself (no need for XSE).

    An entire Fire Red port done by The_Learner!

    See the first port for more details and instructions to set them up!
     
    I have met some problems about Kyurem.When I use the dna_splicers to relieve the black or white ,it hints there is no enough place in the party. But it still returns.After I want to fusion again, it hints mulitype fusions are not allowed.
    Another thing is that if I fusion 2 Kyurem black or white, and then I relieve them, the first fusion can not return, just the second. Maybe it is my fault, I didn't understand the saveblock about SAVE_FUSEE, I just write the 0x0203CF64 in Dynamic Pokemon Expansion for EM.
    Sorry about that I don't know how to send a picture, could you understand what I said, it's really sorry about that.THANKS for your great work.
     
    I have met some problems about Kyurem.When I use the dna_splicers to relieve the black or white ,it hints there is no enough place in the party. But it still returns.After I want to fusion again, it hints mulitype fusions are not allowed.
    Another thing is that if I fusion 2 Kyurem black or white, and then I relieve them, the first fusion can not return, just the second. Maybe it is my fault, I didn't understand the saveblock about SAVE_FUSEE, I just write the 0x0203CF64 in Dynamic Pokemon Expansion for EM.
    Sorry about that I don't know how to send a picture, could you understand what I said, it's really sorry about that.THANKS for your great work.

    That problem with the 6 poke but reverting..
    That was a silly coding mistake ;-;
    I fixed it actually... get the latest code now.. it should be working.

    The multiple fusion thing will be executed when you have done the fusion or if the saveblock area is not so free (usable)

    and yeah the codes are managed such that only one fusion is possible in the game..
    (Means NO hacking with multiply kyurems) :P
     
    That problem with the 6 poke but reverting..
    That was a silly coding mistake ;-;
    I fixed it actually... get the latest code now.. it should be working.

    The multiple fusion thing will be executed when you have done the fusion or if the saveblock area is not so free (usable)

    and yeah the codes are managed such that only one fusion is possible in the game..
    (Means NO hacking with multiply kyurems) :P

    And how to solve the problem that the saveblock is not free, now if I revert the black or white, the dex information will all be cleared, after fusion again it comes back.
    It is so sorry that I really know noting about the RAM and the saveblock,but I don't want to give up the kyurem. ;-;
    I have used the saveblock hack in the Dynamic Pokemon Expansion for EM and also use the item expasion,so will it cause that the free space is not enough?:(
     
    And how to solve the problem that the saveblock is not free, now if I revert the black or white, the dex information will all be cleared, after fusion again it comes back.
    It is so sorry that I really know noting about the RAM and the saveblock,but I don't want to give up the kyurem. ;-;
    I have used the saveblock hack in the Dynamic Pokemon Expansion for EM and also use the item expasion,so will it cause that the free space is not enough?:(

    The dex-information...
    I think we hadnt check that.. if it clears after revert or not ~_~

    and yeah about the saveblock thing ... I too dont know much about it but KDS once told that there is something related to it in Egg's battle engine upgrade..
    and he might be able to tell you.

    Sorry but I too dunno about this saveblock free ram area...
     
    The dex-information...
    I think we hadnt check that.. if it clears after revert or not ~_~

    and yeah about the saveblock thing ... I too dont know much about it but KDS once told that there is something related to it in Egg's battle engine upgrade..
    and he might be able to tell you.

    Sorry but I too dunno about this saveblock free ram area...

    Thanks for your help and reply. Maybe I can try to look for other ways to solve the problem.
     
    Back
    Top