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

[Other] Choose gender from overworld?

Dr. Seuss

Will finish GS Chronicles, I swear!
  • 535
    Posts
    11
    Years
    In my hack I disable the oak intro and make a custom intro, but I need make the gender selection in a normal script via multichoice, but I don't know how to make it (I know how to make a multichoice, but I don't know how to make the gender selection works?

    And for the names, I use the FBI Agent's ASM routine to use preset names of the heroes.
     
    If I remember correctly the player's gender is a byte stored at 0x03005014 (0/m 1/f)
    It may be as simple as a
    Code:
    writebytetooffset 0x3005014 0x#
    # being what ever gender you would like to set.
     
    If I remember correctly the player's gender is a byte stored at 0x03005014 (0/m 1/f)
    It may be as simple as a
    Code:
    writebytetooffset 0x3005014 0x#
    # being what ever gender you would like to set.
    For some reason that's not doing anything for me. Will this still work if you've previously selected boy/girl in the intro?
     
    If I remember correctly the player's gender is a byte stored at 0x03005014 (0/m 1/f)
    It may be as simple as a
    Code:
    writebytetooffset 0x3005014 0x#
    # being what ever gender you would like to set.

    The trainer data is dynamic, meaning the trainer data is not something you can access directly. At 0x300500C, the game holds a pointer to the trainer data. You need to load the pointer, then add 8 bytes and load the following byte to get the gender. Following a pointer in a script isn't possible as far as I know. You'd need to use ASM.

    @OP: I made one in the ASM resource thread for FireRed some time ago. Have a look.

    EDIT: Maybe I didn't make one. You can let me know if I didn't :P
     
    Last edited:
    The trainer data is dynamic, meaning the trainer data is not something you can access directly. At 0x300500C, the game holds a pointer to the trainer data. You need to load the pointer, then add 8 bytes and load the following byte to get the gender. Following a pointer in a script isn't possible as far as I know. You'd need to use ASM.

    @OP: I made one in the ASM resource thread for FireRed some time ago. Have a look.

    EDIT: Maybe I didn't make one. You can let me know if I didn't :P

    Thanks for the explanation, but my dear Javi4315♪ share me a routine to make this, because with WBTO command is impossible do it.

    The routine for the gender swap via script is this:
    Code:
    .align 2
    .thumb
    
    push {r0-r1,lr}
    ldr r0, .asdf
    ldr r1, [r0]
    mov r0, #0x0
    ldr r0, .var_8000
    ldrb r0, [r0]
    strb r0, [r1,#0x8]
    pop {r0-r1,pc}
    
    .asdf: .word 0x0300500C
    .var_8000: .word 0x020370B8
     
    Back
    Top