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

Tool: Mass Compatibility Editor [FR] [EM]

5,256
Posts
16
Years
  • Mass Compatibility Editor - a tool for FireRed and Emerald

    This tool lets you edit the compatibility of TMs, HMs and Move Tutor moves en masse. Instead of taking five years manually checking and unchecking boxes, you can now do whole swaths of Pokémon at once in just a few clicks!


    Screenshots


    exb8dEV.png
    D4hfP7D.png


    PBNqdh5.png
    s6z7FtL.png

    Downloads

    • [WINDOWS] Mass Compatibility Editor v1.3 with source code [pokécommunity] [dropbox]
      Release date: 16th, May 2018
      Notes: Restructured for more intuitive use, with a check list of every species in the ROM to be checked/unchecked for each individual move. Saving button added.
      Requires .NET 4.0. Read the readme file before using this!
    • [WINDOWS] Mass Compatibility Editor v1.2 https://www.pokecommunity.com/attachment.php?attachmentid=85290&stc=1&d=1525584355
      Release date: 6th, May 2018.
    • [WINDOWS] Mass Compatibility Editor v1.0 with source code [mediafire] [dropbox]
      Release date: 15th, March 2016.
      Notes: Requires .NET 4.0. Read the readme file before using this!

    Special thanks and credits

     

    Attachments

    • mass-compatibility-editor-v1.3.zip
      1 MB · Views: 622
    Last edited:
    417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    Yeahhh, TM editing is annoying. Looks nice, but two questions.
    1) Will you be adding move tutor support in the future?
    It supports ROMs with repointed tmhmcompatibilitytables, but still assumes each entry in the table is 8 bytes long.
    2) Do you have plans to allow expanded TM/Move Tutor lists later on? :D
     
    5,256
    Posts
    16
    Years
  • Yeahhh, TM editing is annoying. Looks nice, but two questions.
    1) Will you be adding move tutor support in the future? 2) Do you have plans to allow expanded TM/Move Tutor lists later on? :D
    Hmm. I forgot about Move Tutors but that's a good idea, if I can work out how it works I'd be up to try and add it.

    As for expanded TM lists, I think that would depend on how the actual expansion is done. The way it is now, it's very convenient because the 8 bytes translate into a 64bit integer which I can just use to manipulate the bitfield, but if it were any larger (well, technically it's a 58bit bitfield but same difference) it would definitely be trickier to use. I'm not aware of any expanded TM systems, though, so if one is out there I'd appreciate a link so I can get to grips with how it's structured.
     
    417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    Hmm. I forgot about Move Tutors but that's a good idea, if I can work out how it works I'd be up to try and add it.

    As for expanded TM lists, I think that would depend on how the actual expansion is done. The way it is now, it's very convenient because the 8 bytes translate into a 64bit integer which I can just use to manipulate the bitfield, but if it were any larger (well, technically it's a 58bit bitfield but same difference) it would definitely be trickier to use. I'm not aware of any expanded TM systems, though, so if one is out there I'd appreciate a link so I can get to grips with how it's structured.
    I thought there was one, but I can't find at the moment. But, for example, if there were 128 TMs = 16 bytes, something like
    Code:
    .equ tm_compatibility,	0x12345678
    
    .org 0x043C4E
    	lsl r1, r1, #0x4 @or a mul for bytes not a power of 2
    	ldr r0, table
    	add r0, r1
    	lsr r1, r4, #0x3 @div 8, round down
    	ldrb r0, [r0, r1]
    	lsl r1, r4, #0x1D
    	lsr r1, r1, #0x1D
    	lsr r0, r1
    	lsl r0, r0, #0x1F
    	lsr r0, r0, #0x1F
    	pop {r4-r5}
    	pop {r1}
    	bx r1
    
    .align
    table: .word tm_compatibility
    Just following the same format of the current table. I'm not a programmer so I don't know how you'd do it, but perhaps the user would simply enter the number of bytes for each pokemon's compatibility?
     
    104
    Posts
    11
    Years
    • Seen Nov 28, 2023
    It's nice someone actually created something like this. Actually I managed to mass edit tm and move tutor with hex editor, notepad, MS. Excel and stuff like that. The bytes in the compatibility table translate to something else. Each Pokemon got 8 bytes iirc. Each bytes have 8 slots. Like in bulbasaur, it started with 20. It means it only learn 6th slot, which means Toxic, and so on
     
    5,256
    Posts
    16
    Years
  • I thought there was one, but I can't find at the moment. But, for example, if there were 128 TMs = 16 bytes, something like
    Code:
    .equ tm_compatibility,	0x12345678
    
    .org 0x043C4E
    	lsl r1, r1, #0x4 @or a mul for bytes not a power of 2
    	ldr r0, table
    	add r0, r1
    	lsr r1, r4, #0x3 @div 8, round down
    	ldrb r0, [r0, r1]
    	lsl r1, r4, #0x1D
    	lsr r1, r1, #0x1D
    	lsr r0, r1
    	lsl r0, r0, #0x1F
    	lsr r0, r0, #0x1F
    	pop {r4-r5}
    	pop {r1}
    	bx r1
    
    .align
    table: .word tm_compatibility
    Just following the same format of the current table. I'm not a programmer so I don't know how you'd do it, but perhaps the user would simply enter the number of bytes for each pokemon's compatibility?
    Ah, interesting. I'll look into seeing how feasible this will be to implement. It shouldn't be too hard.

    very usefull, congrats spherical
    it is compatible with expanded Pokédex ?
    Thanks, and yes it is.

    Update!

    I've fixed support for BPEE, added Move Tutor compatibility editing, and made the tool display the name of the move currently being edited. There have also been minor bugfixes and refactoring to the source code, which is also more fully commented.

    Screenshots


    Wip7unF.png
    jRwM1Sf.png

    ok4digp.png
    M51gq9Q.png

    Downloads

    • [WINDOWS] Mass Compatibility Editor v1.1 with source code [mediafire] [dropbox]
      Release date: 17th, March 2016
      Notes: Now supports BPEE properly, allows editing of Move Tutor moves, displays the name of the move being edited, refactored.
      Requires .NET 4.0. Read the readme file before using this!
     
    5,256
    Posts
    16
    Years
  • Just released v1.1.1, which fixes a few issues there were with file loading, and has some more general improvements of the code.

    I also realised I hadn't put the source code on github, which has now changed. You can find the link on the first post now, and the source is no longer included in the download for those who don't want it.
     

    Dr. Seuss

    Will finish GS Chronicles, I swear!
    523
    Posts
    10
    Years
  • Just released v1.1.1, which fixes a few issues there were with file loading, and has some more general improvements of the code.

    I also realised I hadn't put the source code on github, which has now changed. You can find the link on the first post now, and the source is no longer included in the download for those who don't want it.

    I do apologize for reviving this post. But I have an issue with this tool. everytime I load a .txt file I got this error:

    dibujo-1871907.PNG


    This issue happens even with clean roms when I try to load a .txt file and when I try to use the mass-remove feature. Here is the text file I'm trying to load:
    Spoiler:
     
    Last edited:
    5,256
    Posts
    16
    Years
  • I do apologize for reviving this post. But I have an issue with this tool. everytime I load a .txt file I got this error:

    dibujo-1871907.PNG


    This issue happens even with clean roms when I try to load a .txt file and when I try to use the mass-remove feature. Here is the text file I'm trying to load:
    Spoiler:
    You're in luck! I actually fixed this exact bug yesterday. v1.2 should work: https://www.pokecommunity.com/attachment.php?attachmentid=85290&stc=1&d=1525584355
     

    Attachments

    • mass-compatibility-editor-v1.2.zip
      55.6 KB · Views: 59
    5,256
    Posts
    16
    Years
  • Update!

    I've made the tool far more intuitive to use, having a check list for every species in your ROM which you can simply scroll through and check/uncheck at will. There's also now a Save changes! button, so nothing will be written to your ROM until you click that now. You also have the option to mass-check and mass-uncheck within a certain range using the respective buttons. Changing between moves and editor modes WILL forget the changes you made, so make sure to save often!

    This version is untested on Emerald but theoretically should work fine. Please make backups before using it especially on Emerald and let me know if there are any issues.

    Screenshots


    exb8dEV.png
    D4hfP7D.png


    PBNqdh5.png
    s6z7FtL.png

    Downloads

    • [WINDOWS] Mass Compatibility Editor v1.3 with source code [pokécommunity] [dropbox]
      Release date: 16th, May 2018
      Notes: Restructured for more intuitive use, with a check list of every species in the ROM to be checked/unchecked for each individual move. Saving button added.
      Requires .NET 4.0. Read the readme file before using this!
     
    Last edited:

    Lance Koijer 2.0

    Lance Koijer
    105
    Posts
    6
    Years
  • Hello. This tool is indeed helpful but I have two questions:
    1. This was raised before and I don't know if it has been implemented in the tool, does this support now expanded TM and Move Tutor?

    2. Does this tool support expanded pokemon also?
     
    1
    Posts
    1
    Years
    • Seen Jun 18, 2023
    Hey, just to let you know, this is exactly tool I was looking for!
    There is one little thing I'd like to ask, though.... Is it possible to check all TMs in one click?
    Oh wait, I just noted that TM and HMs are working fine, but move tutors are not working...(Im using a cleam emerald rom base)
     
    Last edited:
    Back
    Top