• 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.
  • Dawn, Gloria, Juliana, or Summer - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • 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.

[Script✓] [Emerald] The little girl at the beginning of the game

McPaul

On my way to become a controversial and hated memb
  • 289
    Posts
    7
    Years
    Hello,

    I made modification to the scripts in my ROM hack of Pokémon Emerald. Then I wanted to test it and started a game. BUT!

    The little girl preventing you from leaving Littleroot Town without a Pokémon is glitched. She isn't at the right place anymore:

    https://www.noelshack.com/2019-13-5-1553860313-girl-1-wrong.png
    https://www.noelshack.com/2019-13-5-1553860313-girl-2-wrong.png

    She should be like this (original Emerald):

    https://www.noelshack.com/2019-13-5-1553860360-girl-3-right.png
    https://www.noelshack.com/2019-13-5-1553860360-girl-4-right.png

    I didn't change anything in Littleroot Town, I didn't even open the town's map in Advance Map. What happened? Repoint/compile mistake? Is it possible to correct those kind of glitches without starting from nothing again? I'm ready to redo it all from scratch if I did too wrong.

    The thing is I modified the scripts directly and compiled. Should I repoint them instead if I edit anything?
     
    Last edited:
    If you made a script bigger you should indeed repoint them. The placement of that sprite is partly determined by the type 03 level script. You could've also changed something in flags/variables that determine where that sprite is on the map.

    Thank you for answering.

    I saved my scripts and used my backups from before modifying them. The little girl is back to normal.

    So I have to import the scripts with XSE and use FSF to find a free space offset, right? That's all? everything is going to work smooth if I do that?

    Sorry for my stupid questions but I'm a beginner.
     
    Don't worry, this is the place to ask these type of questions;)

    Regarding XSE and FSF: yes, that would work. But it would be easier to use dynamic offsets in XSE, then XSE will search for free space itself starting from a certain offset.

    I would suggest you take on one of the scripting tutorials on PC to learn most of the basics, there are plenty around. I personally liked the Generation III Video Tutorials by Anthroyd.
     
    Please don't apologize, you've nothing to be sorry about =) using #dynamic 0x800000 at the beginning of your script means that it will automatically compile to the first free offset with sufficient space that it finds after 0x800000.

    As well as the video series mentioned above you can find scripting guides here and here. The first one has some things in it that the second one doesn't, but the second one has been around way longer and people have found solutions to problems they'd been having in the comments, so if you ran into an issue you might find a fix by searching in there.
     
    Please don't apologize, you've nothing to be sorry about =) using #dynamic 0x800000 at the beginning of your script means that it will automatically compile to the first free offset with sufficient space that it finds after 0x800000.

    Since you're hacking Emerald, it's best not to use #dynamic 0x800000 in any of your scripts.

    This guide is great for learning about the free space available when hacking Pokemon Emerald, as well as a few things you can do to make better use of the limited space you have.

    In short, here is the true free space of a fresh Pokémon Emerald ROM:

    Spoiler:


    So, really, scripts should start with #dynamic 0x9C0B20, to begin with.

    It's also extremely important to know that by default AdvanceMap searches for free space from offset 0x6B0000. If you're using AdvanceMap you will need to change this as this is not free space in Emerald and will lead to corruption of the game's musical instruments and/or worse.

    To get around this, you'll need to edit the AdvanceMap.ini file as so:

    Spoiler:


    Hope this helps.
     
    Since you're hacking Emerald, it's best not to use #dynamic 0x800000 in any of your scripts.

    This guide is great for learning about the free space available when hacking Pokemon Emerald, as well as a few things you can do to make better use of the limited space you have.

    In short, here is the true free space of a fresh Pokémon Emerald ROM:

    Spoiler:


    So, really, scripts should start with #dynamic 0x9C0B20, to begin with.

    It's also extremely important to know that by default AdvanceMap searches for free space from offset 0x6B0000. If you're using AdvanceMap you will need to change this as this is not free space in Emerald and will lead to corruption of the game's musical instruments and/or worse.

    To get around this, you'll need to edit the AdvanceMap.ini file as so:

    Spoiler:


    Hope this helps.

    Thanks a lot! Since I expanded my ROM I have a lot of free space, I don't think I have to worry about it, do I? Maybe I still do things wrong.
     
    ^ you can do all of that to be super safe, but you'll still be fine with what I suggested initially. Editing the AdvanceMap ini is solid advice though! AdvanceMap and other tools mistaking 00 bytes for free space and starting free space finding at the wrong offset is pretty much what caused the meme of "emerald is unstable and has hardly any free space" lmao x


    come join the decomp squad and you'll never need to worry about free space again
     
    Last edited:
    Back
    Top