Building i300 Grafitti Skins |
What you'll need |
Steps |
First, make your skins. Save them as 256 color bitmaps with the Palm color palette. I found a copy of the color palette here. The image should be 160 pixels wide by 65 pixels tall.
Next, you need to make a resource definition file, which will read your bitmap(s) and build palm-compatible resources. First let me expalin a bit about resources as they relate to the skins...
Palm resources have an ID and an index. The ID is a developer assigned number. The index is the order which they appear in the database. Each skin needs exactly two resources in your file. First, a STRING resource, with a small text description. Second, a BITMAP resource, with the actual image. The hack will pull out the resources based on their index. This means that the first string resource in the file is paired to the first bitmap. If you have an odd number of resource (one too many strings or one too many bitmaps) there will be problems. You don't want problems.
Below is an exerpt of a skin resource defintion file (usually ends in the extension .rcp):
STRING ID 1001 "Aqua by PatWoods" STRING ID 1002 "Emblem by TrentLott" STRING ID 1003 "Creamsicle by DigiBoy" STRING ID 1004 "MatrixCode by jwbworks" BITMAPCOLOR ID 2001 "aqua-patwoods.bmp" COMPRESS BITMAPCOLOR ID 2002 "usflag-trentlott.bmp" COMPRESS BITMAPCOLOR ID 2003 "creamsicle-digiboy.bmp" COMPRESS BITMAPCOLOR ID 2004 "matrix-jwbworks.bmp" COMPRESS
You'll notice those numbers... those aren't indexes, they're ID's. There not used by the hack, but they're necessary anyway. Just make sure that two resources don't have the same ID.
Once you have a .rcp file, then you need to run it through pilrc. This is pretty simple. For example, if your resource definition file is named "myskin.rcp" just type:
pilrc myskin.rcp
This will build a ".bin" file for each resource. So you should have two ".bin" files for each skin (one string one, and one bitmap one.
Now, all you need to do is build these .bin files into a .prc file to upload to your i300. This again is pretty simple. You use build-prc.
build-prc -t i3sk myskin.prc 'i300 Skins'
You should be left with a myskin.prc file. Send this file to your i300 and you should be good to go. Read the notes below first:
Notes & FAQ |
Q: Can I load more than one skins prc to my i300?
A: Currently, the 1.5 series hack does not support more than one skins database. It will simply work with the first database with the i3bm creator of type i3sk.
Q: I've loaded my custom skins database but all I see is the contest skins?
A: Thats not a question. But read the previous question again. Delete all skins databases execpt the one you want to use.
Q: Why is creator i3bm?
A: The original grafitti hack prototype was the BMW M3 skin Hence "i3" for i300, and "bm" for BMW. Since I didn't feel like registering another creator type with palm, I just kept it.
Q: Is there any limit to the number of skins I can put in one database?
A: Theoretically, no. There is limited space on the thing, though.