Static images are created either by JoeyLib applications or the imgconvert tool. Static images are 320x200 pixels with a 16 color 4-bit RGB palette. The on-disk format is the same as the in-memory format. STA files begin with a three byte signature ("STA") and a single byte version number followed by palette and then image data.
Vector images begin life as a text file specifying the operations needed to draw them. The text file is processed by the vecdraw utility into an efficient byte stream that can be used by JoeyLib. The supported operations in the text format are:
C <color> - Specify Drawing ColorE - Erase the DisplayD <x1> <y1> ... - Draw a PixelL <x1> <y1> ... <xn> <yn> - Draw a LineB <x1> <y1> <x2> <y2> ... - Draw a Hollow BoxS <x1> <y1> <x2> <y2> ... - Draw a Solid BoxF <x1> <y1> ... - Flood Fill over Single ColorT <x1> <y1> <color> ... - Flood Fill To ColorP <i> <r> <g> <b> ... - Set Palette ColorR - Reset Palette to Default
One command can be entered per line and lines can be up to 1024 characters long.
Commands followed by "..." can have additional sets of parameters added to repeat the operation without the need to specify another command line.
After processing, the byte stream is stored as a three byte header ("VEC") followed by a single byte version number, an unsigned integer length of the data to follow, and then the data itself.
NOTE: At the moment, all X coordinates range from 0 to 255 and are scaled up to 0-319 when drawn. While this saves space in the byte stream, it may make things ugly. If it's too bad, it will be changed.