+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Changing flat colors in N64 games?
Pages: [1]
Author Topic: Changing flat colors in N64 games?  (Read 2 times)
LModesto
Guest
« on: November 24, 2008, 03:23:45 pm »

My apologies, but I can't find any info on this regard and it's driving me nuts.

So, I was messing with the Hi-res texture functions Nintendo 64 emulators have nowadays, just for kicks, trying to change the look of the characters in Super Smash Bros.

I figured, Kirby is the simplest character in that, so I'll start with him.

Well, I've managed to alter his face, but...


Neither his body nor his feet use textures. They're simply flat colors. I've seen the colors for Mario in Mario 64 being altered hundreds of times, so I figured there must be a way to find this info in the rom and replace that color. Thing is, I have no idea where to find it.

Has anyone attempted to change the colors in Smash Bros. models? Is there a tool to help me find where they're located? I've done palette editing in NES, SNES and GBA titles; they all have emulators that let me see the colors and look for them. But with the N64, I can't do that. Anyone have some insight into this?


(for the record, the RGB value of Kirby's body color is #F7A5B5 (247, 165, 181). I'm quite sure the N64, like other systems, uses a different system, though. Does anyone know how to make that conversion so I can alter the value in hex?)

(Update: I tried searching for the RGB value above in hex, to no avail. Also tried it backwards (B5A5F7), and nothing. So, I'm stumped. I got that color value from Kirby's face texture, but I don't see why it'd be innacurate.)
« Last Edit: November 24, 2008, 07:15:07 pm by LModesto »
sb iq
Guest
« Reply #1 on: November 24, 2008, 08:59:10 pm »

I know that the procedure described here works somewhat for PSX CLUTs, but it might work for N64 palettes.

This is a longshot, but have you tried taking a screenshot, viewing it with Paint Shop Pro, pointing the dropper tool on his feet or body, and writing down the colors it gives you? You might be able to use SNESPal to change those colors to whatever you want.

I don't know if that will work, though. It's just a hairbrained idea.

KingMike
Guest
« Reply #2 on: November 24, 2008, 09:10:00 pm »

I have no idea if it would make a difference to solving the problem, but I know one N64 ROM format is byte-swapped, whereas the other is not.
From a doc I have, it says BIN and Z64 are correct, and V64, N64 and U64 ROMs are byte-swapped, and you have two swap each pair of bytes in the ROM. There's probably a program out there that will do it.
Wareya
Guest
« Reply #3 on: November 24, 2008, 10:08:56 pm »

You could use Nemu to look for the colors in ram, and follow the assembly back to where it is in ROM.
 Roll Eyes
LModesto
Guest
« Reply #4 on: November 25, 2008, 02:27:08 pm »

Thanks for the input, guys.

Let's see here. The rom is in Z64 format. This means it's not swapped, right?

I've got info in another board that there's a big chance the color is in 15-byte format; that would make the color value 7A96. Searching for that value in hex brings up 133 results!

As for using Nemu, I gotta admit that I'm completely clueless. I can't find the colors in the ram no matter what I do. What am I supposed to be doing?
GenoBlast
Guest
« Reply #5 on: November 25, 2008, 03:02:20 pm »

Quote from: LModesto on November 25, 2008, 02:27:08 pm
I've got info in another board that there's a big chance the color is in 15-byte format; that would make the color value 7A96. Searching for that value in hex brings up 133 results!
I have an idea!

1. Try changing every instance to 0000 or something.
2. If that doesn't completely break the game, check if Kirby's color changed.
3. If it did, go back to a clean rom and change only half of them
4. If Kirby's color changed, you have half the possible locations! If not, you still do, because it was the half you didn't change.
5. Repeat until you've got the exact location.

This solution is entirely dependant on #2, though, and there's a good chance that it WILL corrupt the rom.



You could also use a debugger, which I'm assuming Nemu is/has. I've never figured out how to work those things, though.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC