• 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] Some help with my proposal ROM.

lscott

Wobbuffreak
2
Posts
5
Years
  • Greetings,

    First off, I'm new to this forum, so hello to everybody and please forgive my ignorance if I place a foot wrong somewhere (mods please let me know if I've posted this in the wrong place). :)

    I'm a low-level software developer by trade, so don't feel that you need to dumb anything down for me. I've gotten fairly far into my ROM hack already, and I already understand most of the basics, I'm just looking for help in a few specific areas. I've been trolling these forums and others around the internet to glean advice that's already there, but now I'm looking at some stuff that I haven't seen talked about all that much, so hopefully someone here can give me a push in the right direction.

    Long story short, my girlfriend and I are both big-time Pokemon nerds, and, dorky as it sounds, I'm planning on proposing to her by way of a custom (Fire Red) ROM hack burned onto a flash cart that I'll give her to play. At the start of the game, I (my character) give her a box (re-skinned egg) and by the end, the box opens (hatches) to reveal a ring. Don't judge me too harshly, lol, I know she'll love this. :blush::confused:

    My first issue is at the intro to the start of the game (after you press 'new game'). I've already applied patches to remove the tutorial text (the text that explains the buttons, etc.), skip naming the rival in the prof. oak cutscene and skip the gender selection sequence. I've applied another patch that supposedly skips the player naming sequence, and the post about that patch mentions this will result in a crash if the player name is not set by some other means (I can't seem to find the link to that post now, but I remember that that's what it said). I applied the patch, and indeed the game crashes at this point. Problem is, I'm not entirely sure how to do this before the start of the game. I've referenced this post ( edit: seems I can't yet post links... :( ) and followed along (I've placed the desired name at a free offset, padded with 0xFF). After that there appears some assembly code. I have downloaded many tools, but none so far that will assemble the ASM into gameboy machine code so I can insert it into the ROM. Can somebody point me in the direction of such a tool? Secondly, he says to call this inserted routine via a level script (something that I don't quite understand, which level am I supposed to call this from, as no level has been loaded by this point in the game, surely?).

    Another topic I've seemingly come up blank on is preventing an egg from hatching by the normal means (a certain number of steps), and instead forcing the egg to hatch at a specific point in the story via a script. I've seen people talk about evolving specific pokemon in this way, so assume there is a similar 'callasm' routine that I can call?

    Finally, can somebody point me towards a good tutorial on level scripting that explains what it actually happening/what different fields actually mean. I'm using AdvanceMap 1.92 and I want to set up some story-driven scripts that run automatically on certain maps. I've looked up multiple tutorials and they all seems to just say 'do XYZ because that's what I do', without actually explaining why or how.

    My only other issue so far is figuring out how to modify the trainer and overworld sprites and making custom pokemon sprites (not the replacing of the images themselves, I can already do that, my issue is that I don't really have the skills needed to make good looking sprite art :irate-stare::shaking-head-no:), but that's something that I'm just going to have to get through trail and error, I think.

    Anyway, thanks in advance for any advice and apologies if the information is already somewhere on this forum, I wasn't able to find it specifically, but potentially some who have been around on this forum for longer may have seen it and be able to refer me. I'll update this thread with any new problems that I encounter and any updates.

    Thanks again,

    Lewis :)
     
    1,403
    Posts
    10
    Years
    • Seen Apr 29, 2024
    I wish I could help, but all I can say is that this idea is super cute and I hope someone else can give you the pointers you need!
     
    9
    Posts
    9
    Years
    • Seen Aug 19, 2019
    To name the player;

    /showpost.php?p=8520099&postcount=135


    And optionally to skip the entire intro sequence

    /showpost.php?p=8521318&postcount=155







    Append those to the site name. Can't post links yet.
     
    Last edited:

    lscott

    Wobbuffreak
    2
    Posts
    5
    Years
  • Thanks for the replies!

    I've found an assembler for GBA called 'Goldroad'. Perhaps this was common knowledge, but I wasn't aware of it. So I'll use that to compile the assembly from the post that PlayerIDE linked (ty very much, btw c:).

    I'll take the binary output of that, and copy it into empty space in my ROM with a hex editor. So now I just need to write a script that will 'callasm' to the offset I inserted the binary at? The post says to call it in a level script, I assume that should be the map script for the first town/mum's house map? Or is there a level script that is loaded earlier that I don't know about?

    Thanks!
     
    Back
    Top