home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
new
/
game
/
think
/
chaos
/
src
/
main.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-11-19
|
4KB
|
177 lines
/* Chaos: The Chess HAppening Organisation System V5.3
Copyright (C) 1993 Jochen Wiedmann
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.
$RCSfile: main.c,v $
$Revision: 3.3 $
$Date: 1994/11/19 19:32:01 $
This file contains main() and some other global stuff.
Computer: Amiga 1200 Compiler: Dice 2.07.54 (3.0)
Author: Jochen Wiedmann
Am Eisteich 9
72555 Metzingen
Tel. 07123 / 14881
Internet: wiedmann@mailserv.zdv.uni-tuebingen.de
*/
char *AVERSION = "Chaos V5.3";
char *PVERSION = "Chaos V5.3 (C) 1993 by Jochen Wiedmann";
char *VERVERSION = "$VER: Chaos 5.3 (23.03.94)";
#ifndef CHAOS_H
#include "chaos.h"
#endif
/*
Global variables
*/
struct List PlayerList;
int IsSaved = TRUE;
int OutputDevice = FALSE;
char TrnFileName [TRNFILENAME_LEN+1] = "";
int AllowErrorMessage = TRUE;
int DefaultWinnerPoints = 2;
int DefaultDrawPoints = 1;
/*
The following global variables get saved into the tournament file.
*/
int NumRounds = 0;
struct Player *RankingFirst = NULL;
int NumPlayers = 0;
int NumGamesMissing;
char TrnName [TRNNAME_LEN+1] = "";
int WinnerPoints;
int DrawPoints;
int TrnMode = TNMODEF_SWISS_PAIRING;
/*
The Cleanup() function gets called when the program terminates.
*/
void Cleanup(void)
{
TerminateMainWnd();
PutMemAll();
CloseLibs();
}
/*
Die übliche main()-Funktion
*/
void main(int argc, char *argv[])
{
if (atexit(Cleanup))
{ exit(20);
}
/* Initialize the libraries */
OpenLibs();
/* Initialize the random number generator */
InitRandom();
/* Initialize the tournament data */
DeleteTournament(NULL);
/* Process the arguments */
DoStartup(argc, argv);
InitMainWnd();
ProcessMainWnd();
}
/*
wbmain() gets called from DICE startup code when running from the
Workbench. We do nothing special except calling main() to be Aztec
compatible.
*/
#ifdef _DCC
void wbmain(void *wbmsg)
{ main(0, (char **) wbmsg);
}
#endif /* _DCC */
#ifdef DEBUG
#undef strlen
size_t dbg_strlen(const char *ptr)
{ if (ptr == NULL)
{ printf("strlen: NULL pointer!\n");
}
return(strlen(ptr));
}
#undef strcpy
char *dbg_strcpy(char *dest, const char *src)
{ if (src == NULL || dest == NULL)
{ printf("strcpy: NULL pointer!\n");
}
return(strcpy (dest, src));
}
#undef printf
int dbg_printf(const char *fmt, ...)
{ char **args = &fmt;
if (fmt == NULL)
{ printf("printf: NULL pointer!\n");
}
return(printf(fmt, args[1], args[2], args[3], args[4], args[5], args [6],
args[7], args[8], args[9], args[10], args[11], args[12], args[13],
args[14], args[15], args[16], args[17], args[18], args[19],
args[20]));
}
#undef sprintf
int dbg_sprintf(char *dest, const char *fmt, ...)
{ char **args = &fmt;
if (dest == NULL || fmt == NULL)
{ printf("sprintf: NULL pointer!\n");
}
return(sprintf(dest, fmt, args[1], args[2], args[3], args[4], args[5],
args [6], args[7], args[8], args[9], args[10], args[11], args[12],
args[13], args[14], args[15], args[16], args[17], args[18],
args[19], args[20]));
}
#undef fprintf
int dbg_fprintf(FILE *fh, const char *fmt, ...)
{ char **args = &fmt;
if (fh == NULL || fmt == NULL)
{ printf("fprintf: NULL pointer!\n");
}
return(fprintf(fh, fmt, args[1], args[2], args[3], args[4], args[5],
args [6], args[7], args[8], args[9], args[10], args[11], args[12],
args[13], args[14], args[15], args[16], args[17], args[18],
args[19], args[20]));
}
#endif