
"There's no need to ask directions
If you ever lose your mind...
We're behind you
We're behind you
And let us please remind you:
We can send a car to find you
If you ever lose your way."
-Cake Comfort Eagle
|
| Building i300 Grafitti Skins |
The latest version of the i300 Grafitti Hack has a separate skins database. This was
done to facilitate the creation of skins by third party developers. This is a guide
to building your own custom skins database.
You'll need a few developers tools to build a skin.
- build-prc - this tool is found in the PRC-Tools
distribution. You can go set up yourself a complete gcc compiling enviornment, or just pull out
the build-prc binary.
- Pilrc - the resource compiler can be found at Ardiri.
Go download it and get it working.
- A text editor - notepad works fine.
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:
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.
- Other Notes:
- Don't screw around with the database format. There must be exactly 1
string resource and 1 bitmap resource for each skin.
- You might be able to get away with a BITMAPFAMILY object if you want
to try putting different color depths in. My guess is that it will work,
but then again it might crash.
For an example, download the Skin Development Kit
|