How to create a custom boot animation? How to create a custom boot animation for my Android device?

My device is an HTC HD2 with Cyanogen Mod 7 installed.
A boot animation is a series of images (frames) in a folders (parts). There is a text file (desc.txt) that defines the parts, the frame rate, and how many times it loops. 

A desc.txt looks like this:

480 427 30
p 1 0 part0
p 0 10 part1


The first like is the height and width, then the number of frames per second
the next 2 lines define the parts that will "play". 

the "p" indicates the line is a "part"
the next digit is the number of times to repeat, 0 = infinite
next is the pause, this is the delay before it starts the next "part" (or frame if looping) after the last frame in the part completes.
finally, is the name of the part (the folder name where the frames are)

inside each part your png images will "play" in order, so what ever you name them, just make sure they are ordered how you want them to "play". For example, frame001.png, frame002.png. I added the extra 0's because if i have more then 10 frames, the order may be mixed up. 

The boot animation is then put in a zip archive with "store" compression, with desc.txt at the root of the archive. 

The file is named bootanimation.zip, and placed in /system/media/ (you need to remount as rw) or you can place it in /data/local on some devices (should work on CM7). 

When the boot animation is in /data/local, it will take precedence over /system/media, this way the "default" can stay on the device unharmed.