Register - Login
Views: 87370337
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies
11-20-17 09:21:31 AM

Jul - SM64 Hacking - Misc. RGB Editor - Edit Objects' Color! New poll - New thread - New reply
Next newer thread | Next older thread
cpuHacka101
Member
Level: 12


Posts: 21/25
EXP: 6228
For next: 1693

Since: 02-02-11
From: La Quinta, California

Since last post: 4.0 years
Last activity: 3.0 years

Posted on 08-22-12 02:30:01 AM (last edited by cpuHacka101 at 08-22-12 11:45:50 PM) Link | Quote
Well, I've made my first program in C#. It allows you to edit the 0x03 commands without finding the address yourself.

Here's a video previewing V1.1:


Download V1.1

If you want any objects added that I missed, or have any questions, please let me know!
ShenoxVII

(in all seriousness, you're a prick)
Level: 23


Posts: 84/111
EXP: 59616
For next: 8107

Since: 10-09-10


Since last post: 4.0 years
Last activity: 4.0 years

Posted on 08-22-12 05:53:41 AM Link | Quote
Remember to give out the source, everything in the mario64 hacking community should be open source IMO.

Nice job.
cpuHacka101
Member
Level: 12


Posts: 22/25
EXP: 6228
For next: 1693

Since: 02-02-11
From: La Quinta, California

Since last post: 4.0 years
Last activity: 3.0 years

Posted on 08-22-12 09:44:00 PM (last edited by cpuHacka101 at 08-22-12 11:47:11 PM) Link | Quote
Originally posted by ShenoxVII
Remember to give out the source, everything in the mario64 hacking community should be open source IMO.

Nice job.


The source is relatively simple, I spent most of my time with the layout.
I can offer some of the samples, such as:

The BinaryWriter -


private void button24_Click(object sender, EventArgs e)
{
//This is for the message dialog saying that it patched, even though it may have not
MessageBox.Show("The penguin got new feet!", "Patched!");
//This is where it actually writes bytes to the ROM.
BinaryWriter bw = new BinaryWriter(File.OpenWrite(ofd.FileName));
{

//This is where I tell the code to read from the textboxes, and use the text as a hexadecimal format.
//Feet address
bw.BaseStream.Position = 0x8fe62c;
//first textBox
bw.Write(int.Parse(textBox130.Text, System.Globalization.NumberStyles.HexNumber));
bw.BaseStream.Position = 0x8fe62d;
//Second textBox
bw.Write(int.Parse(textBox131.Text, System.Globalization.NumberStyles.HexNumber));
bw.BaseStream.Position = 0x8fe62e;
//Third textBox
bw.Write(int.Parse(textBox132.Text, System.Globalization.NumberStyles.HexNumber));
}




The textBoxes' Keypress -


private void textBox17_KeyPress(object sender, KeyPressEventArgs e)
{
//Only 1 byte per textbox. (2 integers.)
textBox17.MaxLength = 2;
char c = e.KeyChar;
//Here is a formula to only allow hexadecimal characters/integers
if (c != '\b' && !((c <= 0x66 && c >= 0x61) || (c <= 0x46 && c >= 0x41) || (c >= 0x30 && c <= 0x39) || (c == 0x2c)))
{
e.Handled = true;

}



If you know how to program in C#, this should be pretty easy, as long as you know how to locate 0x03 addresses.
Tamkis
Member
Level: 25


Posts: 21/146
EXP: 80435
For next: 9185

Since: 03-12-12


Since last post: 323 days
Last activity: 58 days

Posted on 08-23-12 06:03:08 PM Link | Quote
(Ah, so 0x03 cmds create those RGB colors. I was wondering about what generates the colors of objects such as coins, switches, &c.) Nice job on the utility!



If you want any objects added that I missed, or have any questions, please let me know!



I do have a question, or rather, a suggestion. In the next release, why not add to the utility the ability to load 0x03 addresses from an external file, rather than hard code addresses and objects?


And I agree with ShenoxVII, about open sourcing the utility.
ShenoxVII

(in all seriousness, you're a prick)
Level: 23


Posts: 87/111
EXP: 59616
For next: 8107

Since: 10-09-10


Since last post: 4.0 years
Last activity: 4.0 years

Posted on 08-23-12 06:13:30 PM Link | Quote
Originally posted by cpuHacka101
Originally posted by ShenoxVII
Remember to give out the source, everything in the mario64 hacking community should be open source IMO.

Nice job.


The source is relatively simple, I spent most of my time with the layout.
I can offer some of the samples, such as:

The BinaryWriter -


private void button24_Click(object sender, EventArgs e)
{
//This is for the message dialog saying that it patched, even though it may have not
MessageBox.Show("The penguin got new feet!", "Patched!");
//This is where it actually writes bytes to the ROM.
BinaryWriter bw = new BinaryWriter(File.OpenWrite(ofd.FileName));
{

//This is where I tell the code to read from the textboxes, and use the text as a hexadecimal format.
//Feet address
bw.BaseStream.Position = 0x8fe62c;
//first textBox
bw.Write(int.Parse(textBox130.Text, System.Globalization.NumberStyles.HexNumber));
bw.BaseStream.Position = 0x8fe62d;
//Second textBox
bw.Write(int.Parse(textBox131.Text, System.Globalization.NumberStyles.HexNumber));
bw.BaseStream.Position = 0x8fe62e;
//Third textBox
bw.Write(int.Parse(textBox132.Text, System.Globalization.NumberStyles.HexNumber));
}




The textBoxes' Keypress -


private void textBox17_KeyPress(object sender, KeyPressEventArgs e)
{
//Only 1 byte per textbox. (2 integers.)
textBox17.MaxLength = 2;
char c = e.KeyChar;
//Here is a formula to only allow hexadecimal characters/integers
if (c != '\b' && !((c <= 0x66 && c >= 0x61) || (c <= 0x46 && c >= 0x41) || (c >= 0x30 && c <= 0x39) || (c == 0x2c)))
{
e.Handled = true;

}



If you know how to program in C#, this should be pretty easy, as long as you know how to locate 0x03 addresses.


C# is .NET lol, It's very simple along with VB.

Anyways thanks for the source, the gameshark patcher I made which was never finished may be a good project for you.
cpuHacka101
Member
Level: 12


Posts: 23/25
EXP: 6228
For next: 1693

Since: 02-02-11
From: La Quinta, California

Since last post: 4.0 years
Last activity: 3.0 years

Posted on 08-24-12 05:28:21 PM (last edited by cpuHacka101 at 08-24-12 05:28:33 PM) Link | Quote
Originally posted by Tamkis
(Ah, so 0x03 cmds create those RGB colors. I was wondering about what generates the colors of objects such as coins, switches, &c.) Nice job on the utility!


I do have a question, or rather, a suggestion. In the next release, why not add to the utility the ability to load 0x03 addresses from an external file, rather than hard code addresses and objects?


And I agree with ShenoxVII, about open sourcing the utility.


I'm not sure what you mean.... Also, it doesn't JUST edit 0x03 commands, it also edits vertex colouring on the coins (In the normals, RR GG BB FF) and for the flames, it edits 0xFB in the display list, which is why I allowed RGBA.
Tamkis
Member
Level: 25


Posts: 22/146
EXP: 80435
For next: 9185

Since: 03-12-12


Since last post: 323 days
Last activity: 58 days

Posted on 08-25-12 11:37:23 PM Link | Quote
Originally posted by cpuHacka101
Originally posted by Tamkis
(Ah, so 0x03 cmds create those RGB colors. I was wondering about what generates the colors of objects such as coins, switches, &c.) Nice job on the utility!


I do have a question, or rather, a suggestion. In the next release, why not add to the utility the ability to load 0x03 addresses from an external file, rather than hard code addresses and objects?


And I agree with ShenoxVII, about open sourcing the utility.


I'm not sure what you mean.... Also, it doesn't JUST edit 0x03 commands, it also edits vertex colouring on the coins (In the normals, RR GG BB FF) and for the flames, it edits 0xFB in the display list, which is why I allowed RGBA.


Well, I meant add the ability to allow users to load a preset .txt file with descriptions and addresses, for, say, a drop-down selection box, for selecting editable objects (for whatever commands your editor supports). That way you will not have to make a new release every time a new editable object is found in the ROM. Instead, all users would need to do is grab an updated preset file in order to edit newly added objects.

For example:

"Load defintion file: [BUTTON]

[DROP DOWN box for contents from Def file]
VV
| Penguin 0xAddress |
| Canon 0xAddress |
| Some new object |
| Other stuff |
|---------------------|

Color selector (for selection in Drop down)

[Red: VALUE]
[Green: VALUE]
[Blue: VALUE]"

[PATCH! Button]

Or better yet, add to the utility the ability to search the ROM for whatever commands your utility supports, for power users. Whichever you feel is better and easier to code. It's your program.



LamarreAAJM
Hello, this forum "Jul" are for girls only, not boys.
Level: 14


Posts: 7/39
EXP: 10529
For next: 2542

Since: 10-08-12
From: United States

Since last post: 5.0 years
Last activity: 4.0 years

Posted on 11-13-12 04:32:36 PM (last edited by LamarreAAJM at 11-13-12 04:34:21 PM) Link | Quote
We just need Toad's Tool and Super Mario 64 (U) [!].ext.z64 (an extended ROM) to use it. It is very easy, simple, and fun!
Cajetan
Member
Level: 20


Posts: 44/86
EXP: 38229
For next: 4210

Since: 08-06-11
From: Binary

Since last post: 2.0 years
Last activity: 1.0 years

Posted on 11-14-12 10:05:53 AM (last edited by Cajetan at 11-14-12 11:46:37 AM) Link | Quote
Originally posted by LamarreAAJM
We just need Toad's Tool and Super Mario 64 (U) [!].ext.z64 (an extended ROM) to use it. It is very easy, simple, and fun!


Toad's tool 64 can't change the color of an object, genius. It is able to change the "texture" of the objects... Like eyes of the penguin... But not the color itself.
LamarreAAJM
Hello, this forum "Jul" are for girls only, not boys.
Level: 14


Posts: 16/39
EXP: 10529
For next: 2542

Since: 10-08-12
From: United States

Since last post: 5.0 years
Last activity: 4.0 years

Posted on 11-18-12 10:24:20 AM Link | Quote
Cajetan, you can change objects' colors of coins, blocks, flames, etc. by downloading RGB Editor.
Makala2080
Hello, LamarreAAJM. Goodbye, LamarreAAJM.
Level: 10


Posts: 1/20
EXP: 3812
For next: 602

Since: 11-29-12


Since last post: 4.0 years
Last activity: 4.0 years

Posted on 11-29-12 08:34:34 PM Link | Quote
All objects' colors are cool!
Lyskar
12210
-The Chaos within trumps the Chaos without-
Level: 183


Posts: 11790/12211
EXP: 83104888
For next: 1396215

Since: 07-03-07
From: 52-2-88-7

Since last post: 2.0 years
Last activity: 2.0 years

Posted on 11-30-12 03:04:23 AM Link | Quote
I'm gonna delete any more nonsensical, meaningless one-line posts in here, since it seems that's what people do in here. So please, don't do that, because that is dumb.
Next newer thread | Next older thread
Jul - SM64 Hacking - Misc. RGB Editor - Edit Objects' Color! New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 2f1bc75 [2017-08-27]
©2000-2017 Acmlm, Xkeeper, Inuyasha, et al.

28 database queries, 3 query cache hits.
Query execution time: 0.151293 seconds
Script execution time: 0.021153 seconds
Total render time: 0.172446 seconds