• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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]

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


[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]
[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]


[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]
[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]

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/attachments/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: 635
Last edited:
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
 
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.
 
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?
 
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
 
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


[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]
[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]

[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]
[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]

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!
 
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.
 
Wow, this is great. One more feature and this tool would be perfect, and that's the expanbded TM
 
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:

[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]


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:
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:

[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]


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/attachments/85290&stc=1&d=1525584355
 

Attachments

  • mass-compatibility-editor-v1.2.zip
    55.6 KB · Views: 59

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


[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]
[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]


[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]
[PokeCommunity.com] Mass Compatibility Editor [FR] [EM]

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:
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?
 
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. Not yet, no.

2. Yes.
 
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