X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=zic2xpm.c;h=12545baebf64b3b12504e1514138a4ebea438e8b;hb=003ab519c36430f6df51e0e6e2aa528476894161;hp=7d816ed8eb4ea0590bc181c1591f8bbb92812031;hpb=05bc30b15e31c427ce208495a889e9ff36e6642b;p=xboard.git diff --git a/zic2xpm.c b/zic2xpm.c index 7d816ed..12545ba 100644 --- a/zic2xpm.c +++ b/zic2xpm.c @@ -4,7 +4,7 @@ Program to convert pieces from ZIICS format to XPM & XIM format. (C version) By Frank McIngvale . - 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 @@ -24,20 +24,23 @@ 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. ** @@ -112,6 +115,7 @@ typedef struct { } 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 */ @@ -128,15 +132,15 @@ z2xpm z2xpm_tab[NR_ZIICS_COLORS] = { { 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; @@ -152,8 +156,8 @@ z2xim *lookup_xim_color( color ) return NULL; /* Make compiler happy */ } -z2xpm *lookup_xpm_color( color ) - int color; +z2xpm * +lookup_xpm_color (int color) { int i; @@ -171,8 +175,8 @@ z2xpm *lookup_xpm_color( color ) char *src_name; -int up8( i ) - int i; +int +up8 (int i) { int r; @@ -183,8 +187,8 @@ int up8( i ) 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; @@ -196,9 +200,8 @@ unsigned int vga_imagesize( w, h ) 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; @@ -228,9 +231,8 @@ unsigned char *decode_byte( dest, b, w ) 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; @@ -262,9 +264,8 @@ unsigned char *decode_line( dest, src, w ) 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 ); @@ -272,9 +273,8 @@ int write_xim_header( fp, w, h ) 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; @@ -304,10 +304,8 @@ int write_xpm_header( fp, w, h ) 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; @@ -362,10 +360,8 @@ void create_piece_xim( outname, fpin, W, H ) 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; @@ -431,14 +427,14 @@ char *pname[] = { "Pawn", "Rook", "King", "Queen", "Bishop", "Knight" }; /* 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; @@ -475,18 +471,18 @@ int process_file_xim( filename ) { printf( "." ); /* Form output filename -- .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"); @@ -498,14 +494,14 @@ int process_file_xim( filename ) 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; @@ -542,18 +538,18 @@ int process_file_xpm( filename ) { printf( "." ); /* Form output filename -- .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"); @@ -565,9 +561,8 @@ int process_file_xpm( filename ) return 0; } -int main( argc, argv ) - int argc; - char *argv[]; +int +main (int argc, char **argv) { int i;