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

[Pokeemerald] Battle Engine Upgrade

1
Posts
6
Years
    • Seen Sep 3, 2021
    Question, as someone one who isnt familiar with compiling at all and just would like to use this to have an enhanced version of pokemon emerald to play in there spare time, how would i go about doing so?
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • Question, as someone one who isnt familiar with compiling at all and just would like to use this to have an enhanced version of pokemon emerald to play in there spare time, how would i go about doing so?
    Same instructions you would follow to compile Pokeemerald, except that instead of cloning the main repository from Pret, you would clone Egg's and switch to the battle_engine_v2 branch.

    You have various guides to choose from in order to learn how to compile Pokeemerald.
    https://github.com/pret/pokeemerald/blob/master/INSTALL.md
    https://www.pokecommunity.com/showthread.php?t=425246
    https://www.pokecommunity.com/showthread.php?t=426921
     

    LucasLyn

    Lyn
    13
    Posts
    7
    Years
  • Same instructions you would follow to compile Pokeemerald, except that instead of cloning the main repository from Pret, you would clone Egg's and switch to the battle_engine_v2 branch.

    You have various guides to choose from in order to learn how to compile Pokeemerald.

    I know this might also be a noob question, and I also know that you responded to somewhat the same question quite a while ago, however I just can't find it.
    How exactly do I go about compiling more than one of these "packs" into 1 fully fledged rom? I would love to use both the item expansion, pokemon expansion as well as this battle engine upgrade in one rom. I just can't seem to find a correct way to do it? I'm really new in this whole compiling of the thing haha.

    I have managed to fully compile a working version of Dizzy's Battle Engine V2 using your tutorial which you linked to above just by changing the second git clone command from the original directory to the Battle Engine V2 one.
    Additionally, when doing this for the second time and all future times, what steps can I skip? Like what step do I start at? Just looking at it, it looks like the setup it completed at step 6, so can I start from step 7 in the future?
     
    Last edited:

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • How exactly do I go about compiling more than one of these "packs" into 1 fully fledged rom?
    From how I see it, there's 2 ways to obtain a repository of Pokeemerald with the 3 branches of DizzyEgg.

    The first way would be to clone his Pokeemerald repository, move to the battle_engine_v2 branch by using git checkout battle_engine_v2 and then pull from the item_expansion and pokemon_expansion branches using git pull origin (name of the branch).
    In this case, you would be using your local branch called battle_engine_v2 to do your work, or alternatively, you could just make a new branch once you've successfully merged the 3 projects by using the git checkout -b (name of the new branch) command and work there instead.

    The second way is to clone the main repository of Pokeemerald (Pret's), track DizzyEgg's repository by using git remote add (keyword of your choice) https://github.com/dizzyeggg/pokeemerald and then obtain the content of the different branches in order (battle_engine_v2, item_expansion and pokemon_expansion), by using the git pull (keyword) (name of the branch) command.

    Regardless of which method you decide to use, you'll get Merge Conflicts that you'll need to fix.

    Additionally, when doing this for the second time and all future times, what steps can I skip? Like what step do I start at? Just looking at it, it looks like the setup it completed at step 6, so can I start from step 7 in the future?
    I don't think I understand your question.
    The process of merging Egg's branches into your project is only done once and never again, so what do you mean by "second time and all future times"?

    If you're talking about obtaining any updates that Egg makes to those branches, you'd just use the git pull command every now and then, and fix any Merge Conflicts that may pop up.
     
    Last edited:

    LucasLyn

    Lyn
    13
    Posts
    7
    Years
  • From how I see it, there's 2 ways to obtain a repository of Pokeemerald with the 3 branches of DizzyEgg.

    The first way would be to clone his Pokeemerald repository, move to the battle_engine_v2 branch by using git checkout battle_engine_v2 and then pull from the item_expansion and pokemon_expansion branches using git pull origin (name of the branch).
    In this case, you would be using your local branch called battle_engine_v2 to do your work, or alternatively, you could just make a new branch once you've successfully merged the 3 projects by using the git checkout -b (name of the new branch) command and work there instead.

    The second way is to clone the main repository of Pokeemerald (Pret's), track DizzyEgg's repository by using git remote add (keyword of your choice) and then obtain the content of the different branches in order (battle_engine_v2, item_expansion and pokemon_expansion), by using the git pull (keyword) (name of the branch) command.

    Regardless of which method you decide to use, you'll get Merge Conflicts that you'll need to fix.

    Originally Posted by LucasLyn [ Original Post ]
    Additionally, when doing this for the second time and all future times, what steps can I skip? Like what step do I start at? Just looking at it, it looks like the setup it completed at step 6, so can I start from step 7 in the future?
    I don't think I understand your question.
    The process of merging Egg's branches into your project is only done once and never again, so what do you mean by "second time and all future times"?

    If you're talking about obtaining any updates that Egg makes to those branches, you'd just use the git pull command every now and then, and fix any Merge Conflicts that may pop up.

    Alright cheers man!
     
    4
    Posts
    5
    Years
    • Seen Dec 9, 2023
    Hi, I'm extremely new to romhacking so bear with me if this is a silly question, but whenever I try to compile the pokeemerald rom, I get multiple warnings throughout the process and it ends up saying:
    "cp: cannot stat 'libgcc.a': No such file or directory"
    I would upload a picture but I haven't made enough posts on the forum yet lol.
    I'd appreciate any help!
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • Hi, I'm extremely new to romhacking so bear with me if this is a silly question, but whenever I try to compile the pokeemerald rom, I get multiple warnings throughout the process and it ends up saying:
    "cp: cannot stat 'libgcc.a': No such file or directory"
    I would upload a picture but I haven't made enough posts on the forum yet lol.
    I'd appreciate any help!
    Did you remember to clone, build and install agbcc on your pokeemerald folder?
     
    4
    Posts
    5
    Years
    • Seen Dec 9, 2023
    Did you remember to clone, build and install agbcc on your pokeemerald folder?

    Yeah, I even explicity copypasted the commands from the install.md itself to make sure it wasn't a syntax issue. But basically throughout the agbcc installation I get a bunch of warnings telling me there's invalid strings.
     
    46
    Posts
    17
    Years
    • Seen Jan 23, 2024
    Managed to build the ROM, but is there any way to use old tools like PGE or AdvancedMap for inserting scripts or how to we go about editing the game from here?
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • Managed to build the ROM, but is there any way to use old tools like PGE or AdvancedMap for inserting scripts or how to we go about editing the game from here?
    Binary tools like AMap or PGE make changes to the ROM directly, so while you can use them, you'd naturally lose any changes you made with them the next time you built a ROM, because the ROM is created by taking all the files within the Pokeemerald folder.
    Any change that you made to the ROM won't be present in the respective files and will thus be overwritten.

    The way of the decomps is that you have the entire source code of the game right in front of you.
    To modify anything, you open the right file with a good text editor like Notepad++, do your changes, save and compile a new ROM that will include whatever changes you just did.

    Quick example, if I wanted to make the sign in Route 101 give the Player a Potion, I'd go to the file that contains all the scripts available in the map "Route 101" and modify the script of the sign, adding the respective giveitem, like this:
    7aWiG9j.png

    Then I would Ctrl+S or go to File > Save to save that change, go to my shell and use make in order to build a new ROM that will have those changes present.

    How did I find this scripts.inc file? I simply use a very useful command that git has called "git grep".
    This command looks for the specified text in all the files present inside the folder where it's used.
    Since the scripts.inc files contain not only the scripts used in the specified map, but also the text strings for the msgboxes, you could find this one quickly by using git grep "OLDALE TOWN".
    Tpjvr4v.png


    And that's more or less how it goes, really. You just have to find the right file, make changes as you see fit, save and make.

    With that being said, there IS one tool you can use that equals AMap for the decomps. It's called "PoryMap" and you can find it right here.
     
    4
    Posts
    5
    Years
    • Seen Dec 9, 2023
    Maybe I should have mentioned this earlier, but the steps where I export/echo devkitPRO & devkitARM don't seem to do anything. I attempt it in MSYS2 and I dont get any response from the terminal and those commands dont work in my Ubuntu terminal. Could this be the reason why Ubuntu finds invalid strings when trying to compile the rom?
     
    46
    Posts
    17
    Years
    • Seen Jan 23, 2024
    Binary tools like AMap or PGE make changes to the ROM directly, so while you can use them, you'd naturally lose any changes you made with them the next time you built a ROM, because the ROM is created by taking all the files within the Pokeemerald folder.
    Any change that you made to the ROM won't be present in the respective files and will thus be overwritten.

    The way of the decomps is that you have the entire source code of the game right in front of you.
    To modify anything, you open the right file with a good text editor like Notepad++, do your changes, save and compile a new ROM that will include whatever changes you just did.

    Quick example, if I wanted to make the sign in Route 101 give the Player a Potion, I'd go to the file that contains all the scripts available in the map "Route 101" and modify the script of the sign, adding the respective giveitem, like this:
    7aWiG9j.png

    Then I would Ctrl+S or go to File > Save to save that change, go to my shell and use make in order to build a new ROM that will have those changes present.

    How did I find this scripts.inc file? I simply use a very useful command that git has called "git grep".
    This command looks for the specified text in all the files present inside the folder where it's used.
    Since the scripts.inc files contain not only the scripts used in the specified map, but also the text strings for the msgboxes, you could find this one quickly by using git grep "OLDALE TOWN".
    Tpjvr4v.png


    And that's more or less how it goes, really. You just have to find the right file, make changes as you see fit, save and make.

    With that being said, there IS one tool you can use that equals AMap for the decomps. It's called "PoryMap" and you can find it right here.

    Awesome this was really helpful. Think it'll take some getting used to but ready to give it a shot.

    Git Grep doesn't seem to work for me in msys2 though, any packages or install options I need to know about with this one? "git grep "OLDALE TOWN"" finishes the search with no results in cd pokeemerald while "grep "OLDALE TOWN"" begins to search but freezes or just takes forever to return anything. Is that normal?
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • Git Grep doesn't seem to work for me in msys2 though, any packages or install options I need to know about with this one? "git grep "OLDALE TOWN"" finishes the search with no results in cd pokeemerald while "grep "OLDALE TOWN"" begins to search but freezes or just takes forever to return anything. Is that normal?
    I don't think it is, no.
    I didn't have MSys2 set up for reasons, but I did set it all up again and git grep is working just fine there on my end.
    nGhU2HG.png
     
    46
    Posts
    17
    Years
    • Seen Jan 23, 2024
    I don't think it is, no.
    I didn't have MSys2 set up for reasons, but I did set it all up again and git grep is working just fine there on my end.
    nGhU2HG.png

    Ended up getting it working, had to delete everything and reinstall not sure what went awry with the git commands, was getting a fatal "not git repository" response then the searches not returning anything but all is good now thanks for the help! Going to get used to this type of hacking!
     
    36
    Posts
    13
    Years
  • Is there more a breakdown of the different major features going into this available anywhere? For instance, say I just want to implement the custom multi battles -- is there a branch containing solely this mod anywhere, or else some clearer resource for the changed made for it?
     
    Last edited:
    Back
    Top