• 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

  • I don't use other peoples' tiles ever, it's not something I do (back when I was a n00b I did once)

    I simply did applymovements though, but as I said, in the future it'll be much more intelligent.
    Well after some looking I was wrong, that routine just stores the last used item I believe.
    Hmm, well, I'm not sure on anyway to do that, maybe what you could do is find the routine that is called when a Pokeball fails combine it with the routine I found, then call the give item routine. That would work.
    Hmm I'm not sure, the Evolution Stone routine is so long and weird that I'm not entirely sure how it works. You can try that.
    So I think I've found what is called to restore the item used by Evolution Routines. from the looks of it you simply just call it, I'm not 100% sure on it though, if you wanna test it out the offset is 0x0809A924.
    It actually will activate the flash field effect. Not sure where you'd go to change the effect though.
    Well I don't replace moves since I am using all of them, I simply swapped the order of the existing ones.
    I did exactly what you did, but as I said, I'm pretty sure we're going to get a better rock climb animation
    In IDA and No$GBA it shows you the decompiled routines, so it shows you what the hex means. IDA is definitely the best, it also has labelled functions so yeah. I contribute to that a bit.
    Cmp functions start at 28. So 28 is cmp, r0, and 29 is cmp, r1 etc. etc. Then its just a matter of adding the ability index you're looking for. That's not the best way to do it obviously, but once you've built up more locations and looked at more code it's easier.
    Eh some people do that. I don't really. I have on a few occasions, but really there are so many BLs you just end up wandering through code. I look for checks first and foremost.
    In a hex editor I'd look for a cmp register, #0xWonderGuard, and set break points on all the ones that come up, and then do what you said. If it breaks, then you're in the right spot.
    The hook is what I place in the hijacked routine so it jumps to my hack. And you need the full version of ida indeed, come to the irc (chat link in my signature) and see if Touched is online, he can help.
    You still seem to have some trouble understanding pushing and popping. I don't 'call' any registers by pushing lr, and pushing lr doesn't execute anything; neither does it 'pop information back'.
    The stack is simply a big chunk of free space used for temporarily storing things. If you need to backup the value of a register, you can push it to the stack, do whatever you want with it, and pop it afterwards to restore the previous value. When a routine uses a bl to go to another routine, the address it should return to is put in lr. Because I also use a bl inside my routine, I need to save the current return address on the stack. When I'm done, I simply pop the return address onto r3 and bx to it, thus returning to the instruction after the previous bl. If I didn't modify lr, I could've just used bx lr at the end.
    There also is a standard within the game that makes it so that any subroutine that's called from another routine may overwrite r0 to r3. That's why I don't push them. R7 is only checked (damn this routine really used an ugly and hacky way to see if it is a poke and may actually be bugged, I'll need to check in ida later today), not modified, so there's no reason to push it again. And something probably made me think back then that r10 would be overwritten after returning to the function that called this one, so it is safe to use too in that case (I do need to confirm this).
    Uh yeah IDA helps. I use No$GBA debugger because that shows you the decompiled ASM too. Abilities are called by branches in the ASM, the abilities that use battle scripts, are actually mostly ASM, which then call battle scripts, an example of this in my most recent abilities.
    To understand this code, you'd need to take a look at where I placed the hook. One thing does look a little odd to me now that I look at this routine again after all this time, so I'll have to check it in ida when I'm on my pc again tomorrow. Also, could you elaborate what you commented next to the first push?
    Well first you need to know about ASM and Battle Scripting. Which are arguably the most irritating bits about hacking. There are tutorials at the front page of the Ability Resource Thread. From there its a matter of finding the relevant check for an existing ability or routine and branching to free space. There you put your modified code and return.
    Ok well the nature I believe is all done by am not a table, so you will need to find and decompile that.
    As Gogo said you will need to look at the bag deletion routine, which again needs to be decompiled.
    And abilities arent my specialty, I havent done anything in that area of hacking.So I'm not the person to ask about that.

    And to decompile you will need IDA pro. its like $60 I believe unless you *cough*pirate it*cough*
  • Loading…
  • Loading…
  • Loading…
Back
Top