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

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

McPaul

On my way to become a controversial and hated memb
  • 288
    Posts
    6
    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:
  • 760
    Posts
    16
    Years
    • Seen yesterday
    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.
     

    McPaul

    On my way to become a controversial and hated memb
  • 288
    Posts
    6
    Years
    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.
     
  • 760
    Posts
    16
    Years
    • Seen yesterday
    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.
     
  • 1,309
    Posts
    12
    Years
    • She/Her
    • Seen Nov 24, 2023
    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.
     

    Karl

    Creator of [b]Pokémon Darkfire[/b]
  • 168
    Posts
    13
    Years
    • Seen Jun 11, 2024
    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.
     

    McPaul

    On my way to become a controversial and hated memb
  • 288
    Posts
    6
    Years
    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.
     

    Karl

    Creator of [b]Pokémon Darkfire[/b]
  • 168
    Posts
    13
    Years
    • Seen Jun 11, 2024
    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.

    It definitely makes things easier. I did the same thing, mainly to insert my own custom music and mega voicegroup. :D
     
  • 1,309
    Posts
    12
    Years
    • She/Her
    • Seen Nov 24, 2023
    ^ 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:

    McPaul

    On my way to become a controversial and hated memb
  • 288
    Posts
    6
    Years
    Rha I'd like to know about decomp, asm and all buuut I'm not that good with programmming. But I should give it a try, I'll find where to start.

    I hope my English is good enough tho.
     
    Last edited:
    Back
    Top