Understanding Color Animations


With the release of my Final Destination color animation hack I’ve decided to make a little guide on how you can make these yourself.

Color animations are found in SCN0 and CLR0 files, mainly in stages/menus. They control everything from the lighting, coloring and brightness of stages and the characters on those stages to the red and yellow “Ready To Fight!” text on the character selection screen.

First off, you’ll need to know how to identify and interpret color animations. In a hex editor they usually look something like this:Capture copy
Seems pretty simple doesn’t it?
Basically the colors are stored in either 32-bit RGBX, RGBA or XXXA format depending on the situation. This means that if you have the color value 9ba19600 you’ve simply got a hex rbg value of 9ba196. Entering this value into a program like photoshop gives you this color:ps

We might want to turn this into something easily readable, so we’re going to convert this color animation into a .bmp file type. It just so happens that a 32-bit .bmp also stores its values in RGBX format making it easy to convert between the two.

To do so, first you need to find where the animation starts, this is usually glaringly obvious as shown in the picture below:
Capture

Next you need to find where it ends for some in the crl0 files this is the end of the file, some clr0 files and scn0 files have multiple animations in one file so you need to separate them, you can usually tell where one ends by the sudden change in colors. Also the last color is usually the same as the first:break

Now that you know where the animation starts and ends you can find its length:
length

This one happens to be 0xA8C4 bytes long which translates to 43204 in decimal. Divided that by four and you get 10801 color values, each representing a frame of the animation which in this case is 10801 frames/60 frames per second = 180 seconds or exactly 3 minutes

Now you want to open your favorite photo editing software and make a new file with a height of 1 and a width of the number of frames you animation takes up which in this case is 10801, color it all white and save it as a 32-bit bitmap with the row order flipped. It is important that you save it with exactly these settings.
Save

Open the bitmap in a hex editor, the first 0x35 bytes are the header of the file, everything after that is color information:
header

But wait, what about that extra zero? Well the bitmaps are stored in XBGR format instead of RGBX. You can’t tell here but in this picture I’ve saved a file that was completely the color 123456 in hex:
123456

As you can see we need to flip each set of four bytes, To do this I will use Hex Workshop. Select the color data and go Tools > Operations > Byte Flip. Then under “treat data as” select “32 bit unsigned long” and hit ok
The color values will now be in their proper order.

So to import your own color animation you need to:

  1. Find the location of the animation you want to edit
  2. Determine the number of frames the animation is
  3. Create a bmp file with a height of one and a width of the number of frames in the animation
  4. Make your animation (1 pixel = one frame; 60 frames = 1 second)
  5. Save the picture as a 32 bit .bmp with the row order flipped
  6. Open the .bmp in a hex editor and delete all the header and footer information; Save
  7. Flip the byte order of every dword using a hex editor such as hex workshop; Save
  8. Copy/Paste the new animation into the .pac file
  9. Compress the new .pac and insert it into the stage .pac
  10. Congratulate yourself for being able to decipher this ‘guide’

For the SCN0s and the CLR0s with more than one animation in them it may be helpful to create a chart like this to help you keep track of what is where:


0 Responses to “Understanding Color Animations”



  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Welcome to ESH!

  • 5,462,600 hits

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 126 other followers

Archives

Copyright

We, Elite Smash Hackers members, as the authors of this blog, take absolutely no credit in anything we modify and/or create. Therefore, everything we make, even if it may come from another game that isn't published or made by Nintendo, is based from and belongs to both Nintendo and Hal Laboratory. We do not support the usage of pirating games for this use and trust that our fans have the game beforehand.

%d bloggers like this: