CREATING A CHESSBD/SLICS BITMAP PIECE SET

This is a use-at-your-own-risk feature. Please do not ask me for help.

THE BASICS
You need to create a .bmp file for each size you want to support. It is simplest to begin with just 1 size, say 38 (pixels). Choose a bitmapprefix for you piece set, say "b_" . Then your pieces will go in the file "b_38.bmp". That file is just a Windows bmp file, which you can create with Windows Paintbrush or any other paint application. You can use a mono, 16 color, or 256 color format.

You must layout the bitmap image as follows. The image is a 4x6 array of cells. Each cell is a square whose width and height is the size you chose. The topmost row of cells contains the images of the White pieces, in the order Pawn, Knight, Bishop, Rook, Queen, King. The second row contains the images of the Black pieces in the same order. The third row contains the masks of the White pieces, in the same order. The bottom row contains the masks of the Black pieces, in the same order. The mask for a piece-image is itself an image, which is white where the piece-image is transparent, and black where the piece-image is opaque.

The piece images and masks must be precisely aligned within the bitmap. HINT: If you use Paintbrush, you may find it helps to create a temporary grid of lines while you work, and erase the grid just before saving the file. It also helps to enable View|CursorPosition. First create the piece images (top 2 rows); then you can create the masks by duplicating the top 2 rows onto the bottom two rows, and using the flood fill tool, etc.

Several user-contributed bitmapped piece sets are available from my web page. If you look at one of them in Paintbrush it will be pretty obvious what is going on.

SPEEDUP 1: ADD OPTIONAL BOUNDING BOX INFO
SLICS can use bounding box information for the bitmap files, if it is present. (The bounding box makes updates faster because slightly less of the screen needs to be redrawn.) For each FILE.bmp in your piece set, the bounding box info is in FILE.bmb . The program fixbmp.exe creates the .bmb files from your .bmp files.

Then you need to change the setting of bitmapflag to tell SLICS to use the bounding box information. Just add 4 to the value of bitmapflag. Usually this means bitmapflag=5 or 13.

Usage: fixbmp PREFIX SIZE1 SIZE2 SIZE3 ...

Fixbmp is a windows program. You need to run it in the directory where your .bmp files exist, and give it the bitmap file prefix (same as the value of the option variable bitmapprefix) plus the list of sizes (same as the option variable bitmapsizes).

SPEEDUP 2: PREMASK THE IMAGES
Normally when SLICS starts up, it applies the piece masks to the piece images. You can do this manually in advance, so the program doesn't have to. That is, normally it takes the first 2 rows (the piece images) then AND's with the negative of the second 2 rows (the piece masks). You can do this in the Windows Paintbrush program, simply by flood filling the "background" of the first 2 rows with black. (Don't flood fill the background of the second 2 rows!) Then you need to change the setting of bitmapflag to tell SLICS that the images are pre-masked. Just add 8 to the value of bitmapflag. Usually this means bitmapflag=13 (if you have bounding box info).