CT Chia
Smash Obsessed
So I'm making a new program called GCTEdit (hopefully it will even be released tonight!).
What this program does:
Open TXT or GCT Files
Add Codes if you wish
Save as TXT or GCT
meaning...
you can open a GCT file and save as a TXT file!!!
yay gct decompiler!
Eventually I'm sure that the database will become big enough that it will soon be able to decode every code it comes across!
So where do I come in you ask?
You get to help me populate my code database! yay!
To add a entry into my program, it's one simple line of code that looks like this:
It's in the form of:
codes.addElement(new Code(code name, code, what to search for, length));
The reason for the what to search and stuff:
some codes use different values such as the default settings code. Obviously you can't search for the whole code since the values will be different in every gct you come across (like 3 for stocks in vB, 4 for B+). So the default settings code is as follows:
Default Settings Modifier[Igglyboo, Brkirch, and FMK]
24494A98 80000000
20523300 00000000
04523300 DEADBEEF
42000000 90000000
0417F360 0000XXYY
0417F364 FFGGZZNN
0417F368 KKTTPPSS
0417F36C JJ000000
E0000000 80008000
YY = Time counter(Infinite time is 00)
FF= Stock counter
KK = Stock Time Limit(Infinite Time is 00)
The first variable in the code doesn't occur until the 5th line, meaning every single time you see the default settings code the first 4 lines will be the same. The first 4 lines is what you wan't to search for. The name would be "Default Settings Modifier" (you can include the brackets for the author as well for a more complete experience, but I'm lazy lol), the code would be the entire code as you see it (it doesn't matter with the variable. to be honest my program doesn't even use the code field at the moment, but it might later so I'm adding them in just for the sake of doing so for future use, so its ok if it has variables in it for vBrawl settings, even if this will be decompiling a brawl+ gct), and the length is the number of characters in the code. A quick way to know is that each line is 16 characters, so that default settings code is 144 characters. When you input the code, what to search for, and the name, remember to put " " quotation marks around it. Also remember to put no spaces in the codes.
With all of this in mind, the database input for the default settings code would be:
It's a little long, but it works!
I didn't even have the default settings code in it yet and just made it for the first time in this thread as an example and popped it in my program and it works! It now detects the default settings modifier perfectly!
So, if you wish to help, make code entries like the one I did above. It looks much nicer on SWF if you put the CODE tags around each code (one line of code per set of tags).
For everyone that submits a entry, I will note you down to mention you in the credits. Don't worry about duplicates. Obviously it's a waste of time, but if I accidentally put a duplicate entry in my program it won't matter, it will just detect whichever entry I put in first.
Edit, the only ones I made myself at first were triple jump fix, unrestricted pause cam, and default settings
Edit2: At the moment this means that if there's a variable in the first line of the code then it can't be added to the database atm. I'm going to think of a way to work around this later.
Edit3:
ALL LETTERS IN THE CODES HAVE TO BE UPPERCASE!
Edit4:
Bionic Sonic made a lil database webform you can use to make lines database entries: http://siriusuplink.com/codedatabase.php
It's a handy little app that can speed things up. Just at the moment only use it for codes that don't have variables in it, or codes with variable length.
What this program does:
Open TXT or GCT Files
Add Codes if you wish
Save as TXT or GCT
meaning...
you can open a GCT file and save as a TXT file!!!
yay gct decompiler!
Glad ya asked, I have sort of a database you might want to call it of code in my program that we already know exist. Then when it gets all of the codes from the GCT file, it searches the big hump of codes for the ones in the database. If it finds a match, congrats! It then knows to set aside that code and give it the appropriate name for the code. For any codes it doesn't find, it puts that into a big code under the title Unknown CodesYou said:But ChiboSempai, GCT files have no headers for codes that contain the name of it! Golly jee how do you do it?
Eventually I'm sure that the database will become big enough that it will soon be able to decode every code it comes across!
So where do I come in you ask?
You get to help me populate my code database! yay!
To add a entry into my program, it's one simple line of code that looks like this:
Code:
codes.addElement(new Code("Unrestricted Pause Camera","040A7D604E80002004109D8838800001","040A7D604E80002004109D8838800001",32));
codes.addElement(new Code(code name, code, what to search for, length));
The reason for the what to search and stuff:
some codes use different values such as the default settings code. Obviously you can't search for the whole code since the values will be different in every gct you come across (like 3 for stocks in vB, 4 for B+). So the default settings code is as follows:
Default Settings Modifier[Igglyboo, Brkirch, and FMK]
24494A98 80000000
20523300 00000000
04523300 DEADBEEF
42000000 90000000
0417F360 0000XXYY
0417F364 FFGGZZNN
0417F368 KKTTPPSS
0417F36C JJ000000
E0000000 80008000
YY = Time counter(Infinite time is 00)
FF= Stock counter
KK = Stock Time Limit(Infinite Time is 00)
The first variable in the code doesn't occur until the 5th line, meaning every single time you see the default settings code the first 4 lines will be the same. The first 4 lines is what you wan't to search for. The name would be "Default Settings Modifier" (you can include the brackets for the author as well for a more complete experience, but I'm lazy lol), the code would be the entire code as you see it (it doesn't matter with the variable. to be honest my program doesn't even use the code field at the moment, but it might later so I'm adding them in just for the sake of doing so for future use, so its ok if it has variables in it for vBrawl settings, even if this will be decompiling a brawl+ gct), and the length is the number of characters in the code. A quick way to know is that each line is 16 characters, so that default settings code is 144 characters. When you input the code, what to search for, and the name, remember to put " " quotation marks around it. Also remember to put no spaces in the codes.
With all of this in mind, the database input for the default settings code would be:
Code:
codes.addElement(new Code("Default Settings Modifier","24494A9880000000205233000000000004523300DEADBEEF42000000900000000417F3600000XXYY0417F364FFGGZZNN0417F368KKTTPPSS0417F36CJJ000000E000000080008000","24494A9880000000205233000000000004523300DEADBEEF4200000090000000",144));
I didn't even have the default settings code in it yet and just made it for the first time in this thread as an example and popped it in my program and it works! It now detects the default settings modifier perfectly!
So, if you wish to help, make code entries like the one I did above. It looks much nicer on SWF if you put the CODE tags around each code (one line of code per set of tags).
For everyone that submits a entry, I will note you down to mention you in the credits. Don't worry about duplicates. Obviously it's a waste of time, but if I accidentally put a duplicate entry in my program it won't matter, it will just detect whichever entry I put in first.
Edit, the only ones I made myself at first were triple jump fix, unrestricted pause cam, and default settings
Edit2: At the moment this means that if there's a variable in the first line of the code then it can't be added to the database atm. I'm going to think of a way to work around this later.
Edit3:
ALL LETTERS IN THE CODES HAVE TO BE UPPERCASE!
Edit4:
Bionic Sonic made a lil database webform you can use to make lines database entries: http://siriusuplink.com/codedatabase.php
It's a handy little app that can speed things up. Just at the moment only use it for codes that don't have variables in it, or codes with variable length.