The line with the !**! in front of it gives the following error:expected unqualified-id before numeric constantexpected init-declarator before numeric constantexpected `,' or `;' before numeric constant

To prevent name conflicts, you can specify a prefix string for these definitions by typing it into the "Prefix:" field in the grabber or using the '-p' option to dat

ie: if you use a prefix like "datafile_item_", the generated header file will automatically be #define datafile_item_ball 1You'll still have to change the "calls" yourself, anyway: ballImage =(BITMAP*)data[datafile_item_ball].dat;

So, the answer is to change the name of the object in the datafile to something like "DATAFILE_BALL" instead of "ball".

Another option (which I tend to use) is keeping the file extensions when adding objects to the datafile. The dat tool does this by default, so the following command:

dat mydatafile.dat -a foo.bmp -t BMP

...will add a bitmap object called "FOO_BMP" to the datafile (letters are automatically uppercased, and all non-alphanumeric characters are converted to underscores). Since your identifiers don't usually end with _BMP or _PCX or _WAV or whatever extension you use, this works rather well.