Jump to content

Unlimited use TMs in Gen 4 games


wertrew

Recommended Posts

One big difference Gen 5 made was that TMs had unlimited use. Which was a godsend. Meanwhile, for Gen 3 games it has also been figured out how to implement it. Pretty simple hex edit really if you know how to follow instructions.

But I've seen nothing of the sort of Gen 4 games. Naturally they aren't as easy to hack as Gen 3 games afaik. So I'd assume it won't just happen by snapping your fingers. Yet I don't see anything about it at all. Like no one is even giving it a thought to implement the unlimited use of TMs in Gen 4 games. Has nobody tried this yet or they have and given up? 

From a non-hacking perspective it's such a small thing that changes a lot. So it would be great if it could be implemented in Gen 4 games too and not just Gen 3 games. 
Mostly because I don't really care much for the gen 3 style games.

 

Link to comment
Share on other sites

3 hours ago, wertrew said:

One big difference Gen 5 made was that TMs had unlimited use. Which was a godsend. Meanwhile, for Gen 3 games it has also been figured out how to implement it. Pretty simple hex edit really if you know how to follow instructions.

But I've seen nothing of the sort of Gen 4 games. Naturally they aren't as easy to hack as Gen 3 games afaik. So I'd assume it won't just happen by snapping your fingers. Yet I don't see anything about it at all. Like no one is even giving it a thought to implement the unlimited use of TMs in Gen 4 games. Has nobody tried this yet or they have and given up? 

From a non-hacking perspective it's such a small thing that changes a lot. So it would be great if it could be implemented in Gen 4 games too and not just Gen 3 games. 
Mostly because I don't really care much for the gen 3 style games.

 

 

3 hours ago, wertrew said:

From a non-hacking perspective it's such a small thing that changes a lot. So it would be great if it could be implemented in Gen 4 games too and not just Gen 3 games. 

 

2 hours ago, wrathsoffire76 said:

Well, TM's in 4th Gen games are disposable so once you use it, that's it

Maybe there could be a quickfix of adding another TM once one has been used?

If I were in dire need of unlimited TMs, I would edit my save with PKHeX. Using PKHeX, we are able to edit the count field of TMs in G4, specifically.  You can only set the amount to 99; It is obviously not unlimited, but it gets the job done.

See These:

Spoiler

Screen Shot 2017-10-30 at 5.28.00 PM.png

Screen Shot 2017-10-30 at 5.27.26 PM.png

 

Thank you RoC for the save!

Link to comment
Share on other sites

I honestly always used the item cloning glitch that was present in the JP release of Diamond and Pearl. It was fixed for the international releases, but it was definitely a life saver. You would get into a double battle with a pokemon with thief, and a ditto holding the item you want cloned. Have ditto transform into anything. Once ditto is transformed, use thief on the ditto, and you should have a copy of the item at the end of the battle. ((IIRC, it's been several years since I've done this method))

I think others would just use the GTS method, but I could never successfully time that right. But, that method is dead as far as I know since the DS wifi was discontinued.

Though, if you're willing to run an edited rom to have unlimited TMs, there's really no reason to not give yourself 99 of each of the TMs with PKHex. It would be nice to have it by default, but PKHex is fast and reliable. 

Link to comment
Share on other sites

  • 2 months later...

This is a feature I'm incredibly interested in but I haven't had any luck in finding out how to do it.

@MeroMero has achieved reusable TMs in HG/SS as part of his Mind Crystal hack (https://projectpokemon.org/home/forums/topic/36971-pokémon-mindcrystal/) and has included the modified assembly routine source for the reusable TMs in his 3.0 download here (https://projectpokemon.org/home/forums/topic/36971-pokémon-mindcrystal/?page=2&tab=comments#comment-215019).

The ReusableTMs.s file contains this:
 

xrpl_02078452:
    NOP
    SUB        R1, R1, R5
    CMP        R7, #0x148
    BCC        .NotTMHM
    CMP        R7, #0x1AC
    BXCC    LR
.NotTMHM:
    STRH    R1, [R0, #2]
    BX        LR
    
xrpl_02078562:
    NOP
    CMP        R2, #0x148
    BCC        .NotTMHM2
    CMP        R2, #0x1AC
    MOVCC    R0, #1
    BCC        .Return
.NotTMHM2:
    LDRH    R0, [R0, #2]
.Return:
    LDMFD    SP!, {R3, LR}
    BX        LR
    
xrpl_02257852_ov_03:
    NOP
    CMP        R0, #1
    BLS        .Return2
    ADD        R1, R5, #0x284
    LDRH    R1, [R1]
    CMP        R1, #0x148
    BCC        .Return2
    CMP        R1, #0x1AC
    MOVCC    R0, #1
.Return2:
    MOV        R1, #0x288
    BX        LR

Which I assume uses offsets for the French SS as that's the base Mind Crystal uses...?

Anyway, I'm unfamiliar with ASM hacking so I don't know how to get any further than this. I can sidestep the issue by just giving the player x999 of each TM when they receive it if need be but it definitely isn't as tidy.

I'd be more interested in how to do it on Platinum myself but any knowledge is useful. If anyone knows how to get further with this it'd be much appreciated.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...