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

Simple Questions (PLEASE USE THE SEARCH BUTTON BEFORE ASKING)

Status
Not open for further replies.

Joexv

ManMadeOfGouda joexv.github.io
1,037
Posts
11
Years
  • I will be releasing a tool in the coming months with the ability to expand evolutions. So yeah, if you can wait.:P

    Ill try to wait a few months. Its gonna be like waiting for pokebank all over again though!!
     
    349
    Posts
    13
    Years
    • Seen Dec 17, 2018
    thanks man you were a lot of help! :3 i really appreciate your help man!

    and regarding the bank system, yes just like deposit and withdraw, how do i make it where when someone gets a certain amount if the talk to a certain person they get a prize?

    "just noticed the map for fire red has switching? for the sevii islands how do i change all the maps?
    This is controlled by some bytes which I cannot remember the location of"

    Does anyone know about the map question?

    my post from page 10 hasnt been addressed can someone help me :)

    can someone help? i this was on page 10, and 11, and now here llol
     

    ShyRayq

    Unprofessional Unprofessional
    1,856
    Posts
    16
    Years
    • Seen Apr 2, 2024
    I'm back with another question. I probabaly f-ed up the title cry routine.
    So, I inserted this:
    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    .global newtitlecry
    main:
     ldrh r0, value
     mov r1, #0x0
     b location
     ldrh r0, [r4, #0xc]
     b original
    .align 2
    location: .word 0x08071df0
    original: .word 0x080791f9
    value: .hword 0x0196
    And at 0x80791EE I inserted this 00 49 00 47 81 51 F0 08 (I put my routine at F05180)
    which is
    Ldr R1, 08F05181
    BX R1

    I thought that this would be appropriate because I just Move #0x0 into R1 later on anyway.
    Anyway, so I get to my title screen, I press START, and the rom just restarts.
    So, what should I actually be typing in the rom?
    I'm sorry for so many questions, but its just that I really need to get this right.
     

    GoGoJJTech

    (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
    2,475
    Posts
    11
    Years
  • I'm back with another question. I probabaly f-ed up the title cry routine.
    So, I inserted this:
    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    .global newtitlecry
    main:
     ldrh r0, value
     mov r1, #0x0
     b location
     ldrh r0, [r4, #0xc]
     b original
    .align 2
    location: .word 0x08071df0
    original: .word 0x080791f9
    value: .hword 0x0196
    And at 0x80791EE I inserted this 00 49 00 47 81 51 F0 08 (I put my routine at F05180)
    which is
    Ldr R1, 08F05181
    BX R1

    I thought that this would be appropriate because I just Move #0x0 into R1 later on anyway.
    Anyway, so I get to my title screen, I press START, and the rom just restarts.
    So, what should I actually be typing in the rom?
    I'm sorry for so many questions, but its just that I really need to get this right.

    Did you keep the ldrh in the branched routine?
     
    241
    Posts
    11
    Years
  • So I've expanded the regional pokedex to 255, but When Oak and his assistants do checks, it still only checks the first 151...how can I get their checks to line up with the expanded regional dex?
     

    GoGoJJTech

    (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
    2,475
    Posts
    11
    Years
  • So I've expanded the regional pokedex to 255, but When Oak and his assistants do checks, it still only checks the first 151...how can I get their checks to line up with the expanded regional dex?

    since they check through the special command you'll need to go through the said special and change ldr r(X), 0x97 (or 0x96 depending) or whatever is there that uses 0x97 or 0x96
     

    ShyRayq

    Unprofessional Unprofessional
    1,856
    Posts
    16
    Years
    • Seen Apr 2, 2024
    Did you keep the ldrh in the branched routine?

    I'm sure I have, I compiled that exact routine, and inserted it exactly into my rom without any modifications, and branched as I had said, and the game crashes upon a press of the start button.
     

    GoGoJJTech

    (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
    2,475
    Posts
    11
    Years
  • I'm sure I have, I compiled that exact routine, and inserted it exactly into my rom without any modifications, and branched as I had said, and the game crashes upon a press of the start button.

    Change the second ldrh back to normal
     
    241
    Posts
    11
    Years
  • since they check through the special command you'll need to go through the said special and change ldr r(X), 0x97 (or 0x96 depending) or whatever is there that uses 0x97 or 0x96

    Thanks...but I don't really know asm. Is there a non-asm way to do this, or am I stuck?
     

    GoGoJJTech

    (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
    2,475
    Posts
    11
    Years
  • Thanks...but I don't really know asm. Is there a non-asm way to do this, or am I stuck?

    The game is asm..
    If you don't learn it you'll be stuck with tools and not know what's going on at all in your game
     

    karatekid552

    What happens if I push it?....
    1,771
    Posts
    11
    Years
  • What is the level script 07?

    I am unable to access a copy of A-Map right now, but I know what they all do. If you send me a pic of the dropdown menu for that, I could tell you.

    The game is asm..
    If you don't learn it you'll be stuck with tools and not know what's going on at all in your game

    ASM is the bald eagle of rom hacking. It is freedom. PERIOD

    :D
     

    GoGoJJTech

    (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
    2,475
    Posts
    11
    Years
  • this is something i havent gotten help from in a few days, and i have another question below it

    ____________

    my post from page 10 hasnt been addressed can someone help me :)

    ___________

    what exactly is ASM, im a geeky/techy guy so i unerstand its coding, but can someone give me more details like freedom and limitations, and is there any guides to learn?

    Asm is the code the gba games run on. If you don't learn this you'll be oblivious. I recommend JPAN's thumb tutorial document
     
    10
    Posts
    10
    Years
  • I looked in the other thread, I found nothing. So, I'll ask here. I read all the tutorials about using Sappy, etc. I was able to insert the music (The mid file.) correctly, however it sounds like 8-bit. (I'm trying to import the Pokémon Black 2 / White 2 Hugh theme) I've been looking though the whole internet and I haven't found any concrete answer on how to make it play fine. (Maybe it has something to do with the instruments?)
     

    jota_rdk

    Spanish hacker [Javi4315]
    98
    Posts
    13
    Years
  • I am unable to access a copy of A-Map right now, but I know what they all do. If you send me a pic of the dropdown menu for that, I could tell you.



    ASM is the bald eagle of rom hacking. It is freedom. PERIOD

    :D

    85em.jpg


    Its description is the same that script 05...
     

    Tlachtli

    Crit happens.
    267
    Posts
    12
    Years
  • There is a single routine somewhere that determines if a pokemon is shiny, with a single byte that controls the %. Sadly, I cannot remember where it is.

    Edit: I lied. I found some clues in my notes and then it wasn't hard to track down. 0x44120 controls the amount of shinies. Please note, this is not a percentage.



    You will find the number 7 at this location. This is the "if less than 8" byte. Now, since it is a byte, there is no way to actually make this 100%. The best odds you are going to get is a value of 0xFF or ~1/256. These are still pretty good odds.

    However, with some ASM, we can change this.:) If you look ahead 2 bytes, you will see 07 D9. This is the jump that happens if it is a shiny pokemon. If we change the D9 to E0, it will ALWAYS be shiny.:D Now, if you really wanted to get fancy, we could rewrite this routine to check a halfword instead of a byte. This would give us full control over the percentages of shinies. Now, there is also one more thing we can do. We can invert shinies. So now, the normal pokemon colors are actually the rare ones. This can be done by taking those same bytes (07 D9) and changing them to 07 D8. Now it should branch if there is anything higher, instead of lower.

    So, to sum it up, we have a string of bytes at 0x44120:

    XX(07) 28 07 D9

    The XX is the byte that is compared to check for shininess.

    The D9 can be changed as follows:
    D8 - Branch if greater than XX
    D9 - Branch if less than XX
    E0 - Always branch

    Hope this helps!

    (PLEASE NOTE, if you trade pokemon with another game, they may not be shiny! These pokemon only look shiny, but in reality are not! The routine says they are each time they are loaded, but if you transferred them to another game, they may not be shiny, unless that game has a hacked shiny rate too. The only way to actually make more shiny pokemon that are legit is to change the PRNG to give you better shiny numbers.)

    I had a thought on this, but since I haven't looked in to it at all I'm not sure about the feasibility.

    So making a 'real' shiny that would appear in a clean rom is a result of the Pokemon's personality value and the trainer's secret ID. The personality value for the Poke is rolled when you encounter it, and has a 1/8192 chance of matching the criteria to be shiny. My though to change the 'legit' encounter chance would be to change the procedure that generates the personality value, and have it roll multiple times instead of just once. Write a method that will roll the personality value X number of times, stopping either at X or when the shiny critera are met (whichever comes first). That way, changing X should change the chance of it being shiny in a more 'legit' way.

    For example, one roll has a 8191/8192 (99.98%) chance of being normal (0.012% chance of shiny).
    If you roll 20 times, it has an effective 99.76% of being normal (0.244% chance of shiny)
    If you roll 100 times, effective 97.6% chance of being normal (2.41% chance of shiny)
    Etc, etc.
     
    Status
    Not open for further replies.
    Back
    Top