____ _ _ _ _ ___ __ _ |_ | \/ | | | | |\ | | | _/\_ | |__ |_| | \| by Angelo Mottola bfixicon is an utility that lets you set the icon of your programs. In BeOS icons are filesystem attributes that can be attached to any file, so in order to set the icon for your program, you first have to compile it. Once you are ready to add the icon, you can use this command line utility; icons can be images in any format supported by Allegro, in any size and color depth. bfixicon expects you to pass one or two images to be converted to icons: the first will be converted to a 32x32 256 colors icon, that BeOS will use in the Tracker when displaying files with large icons; the second will be converted to a 16x16 256 colors icon, mainly to be used in the Deskbar when your program is running. If you give bfixicon one image only, both the large and small icon versions will be generated by stretching it. It has two main execution modes: you can either directly pass it image files from your hard drive or bitmaps and RLE sprites from an Allegro datafile. The only difference between the two modes is for 8-bit images: in the former case, bfixicon will automatically extract the palette from the image file, whereas in the latter case you will have to explicitly provide a palette object from the datafile. The general syntax for the first mode is as follows: 'bfixicon exename bitmap [bitmap]' where 'exename' is the (supposed executable) file onto which the icons are going to be attached, and each 'bitmap' is a source bitmap to be processed. The general syntax for the second mode is as follows: 'bfixicon exename -d datafile object [palette] [object [palette]]' where 'exename' is the executable file to be patched (see above), 'datafile' is the source from which all objects are taken, and each 'object' is a bitmap or RLE sprite (DAT_BITMAP or DAT_RLE) within the datafile, specified by name. If you have used any 8-bit images, you must also specify a palette. For each palette object you include on the command line, any images between it and the last palette will be given that palette. For example: 'bfixicon myprogram -d d.dat icon icon2 pal1' will give both the icons called 'icon' and 'icon2' the palette 'pal1'. An example of use is provided in the Allegro distribution: once you have compiled and properly installed the library, type 'make fixdemo' from the main directory.