/***************************************************************************/ /* Killer List Of Video-games Database. */ /* Copyright (C) 1993 John Keay */ /* */ /* 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. */ /* */ /* 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. */ /* */ /* 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* */ /* For more details see 'COPYING' */ /* John Keay (keay@tiuk.ti.com) */ /***************************************************************************/ typedef unsigned long ulong; typedef struct game_s { char *name; char *date; char *company; char *produced; char *players; ulong flags; char *text; struct game_s *next; } game_t,*game_ptr; #define F_BNW (1<<0) #define F_3D (1<<1) #define F_LASER (1<<2) #define F_VECTOR (1<<3) #define F_PINBALL (1<<4) typedef struct { game_ptr head; game_ptr tail; } list_t,*list_ptr; extern void game_print_brief PROTO((game_ptr g,FILE *out)); extern void game_print PROTO((game_ptr g,FILE *out)); extern void list_append PROTO((list_ptr l,char *filename)); extern list_ptr list_create PROTO((void)); extern list_ptr list_read PROTO((char *filename)); extern void list_destroy PROTO((list_ptr l)); extern void game_destroy PROTO((game_ptr g)); extern char *newstr PROTO((char *s)); typedef void (*print_fn)PROTO((game_ptr,FILE *));