• 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.
FamiliaWerneck
Reaction score
30

Profile posts Latest activity Postings About

  • If evo-stone evolution can't be quit as you said, I think the way is possible. But as you can see, we all don't know much about the evolution routine @0x43110. However, as I've said before, you can add a breakpoint through your debugger(such as vba-sdl-h and no$gba debugger version) on condition that an instruction branch to the "encrypter" function (or the function to recalculate the stats of the evolving pokemon). So the general idea:
    1. find the location i've mentioned above
    2. in your evolution routine set a safe flag by using flag setter function. (abort if there's no shellder in your team and do not set the flag)
    3. make a branch after the instruction "bl recalculate stat function" (or you can adjust yourself), and in your new code simply check the flag and if it was set, find the shellder in your team and delete it, then you can branch back to the code. Absolutely you should clear the flag in this section of the code.

    I think this way is feasible though I haven't tried it.
    No they should not be inverted in the routine! You only do that when directly editing things in hex.
    Its like a new line, but glitchy. Windows sometimes throws those in instead of a normal "new line". XSE has issues with it too.

    Yea decrypt poke was just missing the zero right after the 8.
    Spoiler:
    I don't know and I'm sorry about that as I even don't know that we can't use "b" to quit the evolution if we use an evolution stone. If you look into the evolution method pointer table @0x42fc4, you will find the evolution method of evolution stone is located at 0x43110 (which is the 7th pointer), which is also used as the abort routine pointer in the routines in the thread written by kearnseyboy6. I'm quite confused about that function as it is used as the pointer of 6 different evolution methods. Then it's obvious that there're something different in the registers or other things before entering the evolution code. However, I look into the routine that branch to the evolution routine and I haven't got useful information. The routine is located at around 0x42f96 and you can use ida to look into it.
    @0x42f86: get the pokemon index number
    @0x42fa4: get the evolution method index number
    @0x42fb6: get the evolution method pointer
    @0x42fb8: go to the evolution routine
    An interesting thing I've found is that the function use this instruction @0x42fa8: mov r3, r0
    Actually at that time r0 is [the evolution method index number -1]. As r0 will be immediately refreshed when branching to 0x43110 so r3 may give some useful information to the function at 0x43110. (The possibility is tiny as I think the function @0x43110 does not always use it's value.
    Another interesting thing is that the function around 0x42f86 stores the pokemon number to [r13, #8] and stores 0 to [r13, #4] and the function @0x43110 will use the first value. But I don't have enough time to look into the routine @0x43110 currently because I will have exams the next week.

    I really hope that these information will help you but all that I've said may be rubbish at all. :)
    Yea that should be enough that we wont have to take apart the routines just to figure out how to make it work with no bugs.
    I'm fine doing it, I'm taking a break from my games as I figure out the route I want to go with the next few maps.
    Most possibly. It would just take a simple disassemble of the Stone Evo code and add a check for a special item.
    Hmm well idk if he would turn it back. You can do that, but I wouldn't recommend it.
    The item idea, is not at all a bad idea. Very easy to do, and if people really want they can mass produce the item by farming Shellder so then they wont have to worry about having too many useless Pokemon in their pc.
    Ill check it out, but i will have to decompile the routine. Give me a few days and ill see what i can do.
    Of course there's a way. Remember you can't cancel an evolution stone remember? But the location of that routine is unknown as of now for me...
    You need to get the program ida pro to open them. But it costs like $60 irc.
    And yea, it doesn't delete the held item.
    Well its not really something you can teach, I just open up one of the ida databases for FR or EM and browse around till I find what I need, or I creat a breakpoint via vba and backtrack from there.

    And I didn't even think of how the game does that. It may be something worthwhile to look into to be able to fix the Item routine I made, otherwise you will keep the item no matter what.:P
    It is entirely possible to add in the item chck without even adding in a new table, we could just simply check the evolving pokemon for the item. There is no specific animation per pokemon as its all one routine. But i dont believe finding it and hooking into it would be too difficult.
    Its is possible.. But saving 100 bytes of data is no easy task and that is why it would be simpler to instead use the delete pokemon routine after the animation/species check that way you save lots of work on backing up and restoring Shellders data.
  • Loading…
  • Loading…
  • Loading…
Back
Top