Tool Mass Compatibility Editor [FR] [EM]

Started by Spherical Ice March 15th, 2016 12:32 PM
  • 15003 views
  • 22 replies

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 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





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

Seen November 20th, 2016
Posted November 20th, 2016
417 posts
8.3 Years
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

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 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.
Seen November 20th, 2016
Posted November 20th, 2016
417 posts
8.3 Years
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
.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?
Male
Seen April 6th, 2023
Posted April 4th, 2023
104 posts
10.6 Years
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

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 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
.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




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!

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 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.

Lance32497

LanceKoijer of Pokemon_Addicts

Male
Criscanto town-Ginoa Region xD
Seen August 13th, 2017
Posted January 1st, 2017
792 posts
8.8 Years
Wow, this is great. One more feature and this tool would be perfect, and that's the expanbded TM
This signature has been disabled.
Scrollbar appears
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.

Dr. Seuss

Navegando en mi automóvil, hablando con la nena por el móvil 😎...

Age 27
Male
Guatemala City
Seen 4 Days Ago
Posted 1 Week Ago
522 posts
9.3 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:



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:
1
2
3
4
5
6
15
20
27
28
43
44
45
46
47
69
70
71
72
73
83
84
85
98
99
102
103
104
105
108
111
112
114
123
127
141
151
152
153
154
158
159
160
165
166
168
182
187
188
189
191
192
207
212
214
215
216
217
227
251
294
295
296
299
304
305
311
Graphic design is my passion...

Click on the picture to see the best hack ever created (?

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 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:



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:
1
2
3
4
5
6
15
20
27
28
43
44
45
46
47
69
70
71
72
73
83
84
85
98
99
102
103
104
105
108
111
112
114
123
127
141
151
152
153
154
158
159
160
165
166
168
182
187
188
189
191
192
207
212
214
215
216
217
227
251
294
295
296
299
304
305
311
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

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 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





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!

Lance Koijer 2.0

Lance Koijer

Male
Criscanto Town
Seen September 28th, 2022
Posted August 7th, 2022
104 posts
5.1 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?

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 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. Not yet, no.

2. Yes.

Spherical Ice

Age 25
Leicester, UK
Seen 8 Hours Ago
Posted February 20th, 2022
5,251 posts
15.5 Years
What language is this written in, and how do I learn it? I want to edit this tool to work with expanded TMs, move tutors, and moves.
Visual Studio