Program to convert pieces from ZIICS format to XPM & XIM format.
(C version) By Frank McIngvale <frankm@hiwaay.net>.
- Copyright (C) 1996 Free Software Foundation, Inc.
+ Copyright (C) 1996, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
NOTICE: The piece images distributed with ZIICS are
copyrighted works of their original creators. Images
by experimentation, and without access to any
of Borland Inc.'s BGI library source code.
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version. However, the above notices
- MUST BE RETAINED in any copy that you redistribute or modify.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ GNU XBoard is free software: you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation,
+ either version 3 of the License, or (at your option) any
+ later version.
+
+ GNU XBoard is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ http://www.gnu.org/licenses/.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
** If you find a bug in zic2xpm.c, please report it to me,
Frank McIngvale (frankm@hiwaay.net) so that I may fix it. **
} z2xpm;
#define NR_ZIICS_COLORS 4
+#define BUFLEN 100
/* SHOWSETS.PAS (from ZIICS) states that images may only
use color numbers 0, 2, 14, and 15 */
{ 14, '*', "light_square", "gray" },
{ 2, '.', "dark_square", "green" } };
-void fatal( str )
- char *str;
+void
+fatal (char *str)
{
printf("Fatal error: %s\n", str );
exit(1);
}
-z2xim *lookup_xim_color( color )
- int color;
+z2xim *
+lookup_xim_color (int color)
{
int i;
return NULL; /* Make compiler happy */
}
-z2xpm *lookup_xpm_color( color )
- int color;
+z2xpm *
+lookup_xpm_color (int color)
{
int i;
char *src_name;
-int up8( i )
- int i;
+int
+up8 (int i)
{
int r;
return i + 8 - r;
}
-unsigned int vga_imagesize( w, h )
- int w, h;
+unsigned int
+vga_imagesize (int w, int h)
{
int w8;
unsigned int s;
return s;
}
-unsigned char *decode_byte( dest, b, w )
- unsigned char *dest, *b;
- int w;
+unsigned char *
+decode_byte (unsigned char *dest, unsigned char *b, int w)
{
int i, j;
unsigned char byte, bit;
SRC is in packed pixel format.
DEST is filled with 1 BYTE per PIXEL.
*/
-unsigned char *decode_line( dest, src, w )
- unsigned char *dest, *src;
- int w;
+unsigned char *
+decode_line (unsigned char *dest, unsigned char *src, int w)
{
unsigned int w8;
unsigned int bpp;
return (src + bpp * 4);
}
-int write_xim_header( fp, w, h )
- FILE *fp;
- int w, h;
+int
+write_xim_header (FILE *fp, int w, int h)
{
fputc( w, fp );
fputc( h, fp );
return 0;
}
-int write_xpm_header( fp, w, h )
- FILE *fp;
- int w, h;
+int
+write_xpm_header (FILE *fp, int w, int h)
{
int i;
z2xpm *cv;
return 0;
}
-void create_piece_xim( outname, fpin, W, H )
- char *outname;
- FILE *fpin;
- int W, H;
+void
+create_piece_xim (char *outname, FILE *fpin, int W, int H)
{
FILE *fpout;
int w, h, i, j, c;
fclose( fpout );
}
-void create_piece_xpm( outname, fpin, W, H )
- char *outname;
- FILE *fpin;
- int W, H;
+void
+create_piece_xpm (char *outname, FILE *fpin, int W, int H)
{
FILE *fpout;
int w, h, i, j, c;
/* The suborder - Light/Light, Light/Dark, etc. */
char *prefixes[] = { "ll", "ld", "dl", "dd" };
-int process_file_xim( filename )
- char *filename;
+int
+process_file_xim (char *filename)
{
int w, h, piece, kind, c;
int nr_pieces = 6;
int nr_kinds = 4;
FILE *fp;
- char buf[100];
+ char buf[BUFLEN];
src_name = filename;
{
printf( "." );
/* Form output filename -- <piece><kind><size>.xim */
- sprintf(buf, "%c%s%d.xim", pieces[piece], prefixes[kind], w);
+ snprintf(buf, BUFLEN, "%c%s%d.xim", pieces[piece], prefixes[kind], w);
create_piece_xim( buf, fp, w, h );
}
printf("\n");
}
/* Write the light & dark squares */
- sprintf( buf, "lsq%d.xim", w );
+ snprintf( buf, BUFLEN, "lsq%d.xim", w );
printf("Light Square" );
create_piece_xim( buf, fp, w, h );
- sprintf( buf, "dsq%d.xim", w );
+ snprintf( buf, BUFLEN, "dsq%d.xim", w );
printf("\nDark Square" );
create_piece_xim( buf, fp, w, h );
printf("\n");
return 0;
}
-int process_file_xpm( filename )
- char *filename;
+int
+process_file_xpm (char *filename)
{
int w, h, piece, kind, c;
int nr_pieces = 6;
int nr_kinds = 4;
FILE *fp;
- char buf[100];
+ char buf[BUFLEN];
src_name = filename;
{
printf( "." );
/* Form output filename -- <piece><kind><size>.xpm */
- sprintf(buf, "%c%s%d.xpm", pieces[piece], prefixes[kind], w);
+ snprintf(buf, BUFLEN, "%c%s%d.xpm", pieces[piece], prefixes[kind], w);
create_piece_xpm( buf, fp, w, h );
}
printf("\n");
}
/* Write the light & dark squares */
- sprintf( buf, "lsq%d.xpm", w );
+ snprintf( buf, BUFLEN, "lsq%d.xpm", w );
printf("Light Square" );
create_piece_xpm( buf, fp, w, h );
- sprintf( buf, "dsq%d.xpm", w );
+ snprintf( buf, BUFLEN, "dsq%d.xpm", w );
printf("\nDark Square" );
create_piece_xpm( buf, fp, w, h );
printf("\n");
return 0;
}
-int main( argc, argv )
- int argc;
- char *argv[];
+int
+main (int argc, char **argv)
{
int i;