Conversation Between Blah and RichterSnipes
1 to 11 of 11
  1. Blah
    March 2nd, 2015 2:23 PM
    Blah
    Awesome, if any other odd bugs pop up do tell me.
  2. RichterSnipes
    March 2nd, 2015 11:35 AM
    RichterSnipes
    Yeah, that one actually did it. Thanks!
  3. RichterSnipes
    March 2nd, 2015 9:44 AM
    RichterSnipes
    Ooh, that sounds promising! Instead of say that it works without actually trying it out, I'll just say that I'll test it out when I have a chance. It seems like it'll work, though!
  4. Blah
    March 2nd, 2015 7:37 AM
    Blah
    Oh, I see. I just used a clean ROM to find where the TM was deleted so that's probably why I didn't notice the zeros were already replaced. I'll take a look at the aforementioned situation.

    EDIT: insert 00 00 00 00 at 0x124EAC
  5. RichterSnipes
    March 1st, 2015 9:47 PM
    RichterSnipes
    No, wait. I found out why the bytes were already 00's: your fix had them be at that to begin with! Part 1 of your TM usage feature had those bytes zeroed out as part of the first step.

    I'll now have to admit the truth. I lied when I said that I checked with a vanilla ROM to see if it worked. Sorry about that! :( I just assumed that it sounded like you found the solution. I mean, it really sounded as if you were able to fix the specific TM consumed issue I mentioned (Poké with less than 4 known moves, watch whole animation...no other instance causes it to disappear).
  6. RichterSnipes
    February 25th, 2015 11:57 AM
    RichterSnipes
    The bl 0xoffset leads to ROM offset 9A1D8.

    I'm not sure what I would need to do to set a breakpoint. As in, I don't know how to do that.
  7. Blah
    February 24th, 2015 7:46 PM
    Blah
    Open your VBA disassemble and goto that offset (make sure thumb is selected). You'll see it's a bl 0xoffset. You want to set a breakpoints to this offset. From there run the game as per normal. When the TM is about to get deleted the routine you find WILL be called. Once it's called the game will break and you can see the previous instruction.

    Once again in your VBA emulator's disassembler, jump to that offset and check if it's a "bl" command. If it is, just nop it out.
  8. RichterSnipes
    February 24th, 2015 7:23 PM
    RichterSnipes
    Thanks! Unfortunately, I don't know much on ASM, so I'm kind of lost as to what I'm looking at with those bytes.
  9. Blah
    February 24th, 2015 4:46 PM
    Blah
    I'm not sure if you're much of an ASM user, but if you look at the bytes which I nulled out in a clean FireRed ROM, you'll notice that it jumps to a certain routine via BL.

    Put a break point at this routine in your ROM, and null out the bytes which branch to it once a TM is used. That should 100% of the time solve the problem.
  10. RichterSnipes
    February 24th, 2015 10:59 AM
    RichterSnipes
    Yeah, I noticed. I can confirm it works when using a clean ROM. Thank you for that!

    Unfortunately for me, I think my issues stem deeper than that. My hack already had those values nop-ed out. I think a previous implementation of the the TM reuse function may have changed more things than I previously thought. I'll probably just end up having to remake my patch from scratch if I want to fix it.
  11. Blah
    February 24th, 2015 10:49 AM
    Blah
    Hey I don't know if you noticed, but I fixed the TM deletion thing. Check the original TM modification post to see the instructions.