Updating to version 1.3, release made by Mike Vanier (mvanier@bbb.caltech.edu).
[gnushogi.git] / gnushogi / opts.h
blob4958ed64ad82311bdc34f184c4869b065b23f792
1 /*
2 * FILE: opts.h
4 * #defines to set various options.
6 * ----------------------------------------------------------------------
7 * Copyright (c) 1993, 1994, 1995 Matthias Mutz
8 * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
10 * GNU SHOGI is based on GNU CHESS
12 * Copyright (c) 1988, 1989, 1990 John Stanback
13 * Copyright (c) 1992 Free Software Foundation
15 * This file is part of GNU SHOGI.
17 * GNU Shogi is free software; you can redistribute it and/or modify it
18 * under the terms of the GNU General Public License as published by the
19 * Free Software Foundation; either version 1, or (at your option) any
20 * later version.
22 * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
23 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25 * for more details.
27 * You should have received a copy of the GNU General Public License along
28 * with GNU Shogi; see the file COPYING. If not, write to the Free
29 * Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
30 * ----------------------------------------------------------------------
36 * This file is for options that control the behavior of GNU shogi,
37 * and also for debugging #defines. They were previously placed on the
38 * command line as -D<option> statements, but this cluttered things
39 * up so much that I changed it. For the evaluator options, I recommend
40 * you don't change anything unless you *really* know what you're doing.
41 * These options come in pairs of:
43 * #define <option>
44 * #undef <option>
46 * For each pair, simply comment out the one you don't want.
51 #ifndef _OPTS_H_
52 #define _OPTS_H_
55 * ======================================================================
57 * 1) Evaluator options.
59 * ======================================================================
63 * QUIETBACKGROUND:
64 * Don't print post information in background (easy mode OFF)
67 #define QUIETBACKGROUND
68 /* #undef QUIETBACKGROUND */
72 * NODYNALPHA:
73 * Don't dynamically adjust alpha.
76 /* #define NODYNALPHA */
77 #undef NODYNALPHA
81 * HISTORY:
82 * Use history killer heuristic.
85 #define HISTORY
86 /* #undef HISTORY */
90 * CACHE:
91 * Cache static evaluations.
94 #define CACHE
95 /* #undef CACHE */
99 * QUIETBOOKGEN:
100 * Don't print errors while loading a book or generating a binbook.
103 /* #define QUIETBOOKGEN */
104 #undef QUIETBOOKGEN
108 * SEMIQUIETBOOKGEN:
109 * Print less verbose errors while reading book or generating binbook.
112 /* #define SEMIQUIETBOOKGEN */
113 #undef SEMIQUIETBOOKGEN
117 * NULLMOVE:
118 * Include null move heuristic.
121 #define NULLMOVE
122 /* #undef NULLMOVE */
126 * Options for genmove.c in order to support move ordering at a
127 * cost in speed.
131 * TESUJIBONUS:
132 * Add bonus to a move that seems to be a tesuji.
135 #define TESUJIBONUS
136 /* #undef TESUJIBONUS */
140 * FIELDBONUS:
141 * Add bonus to regular moves.
144 #define FIELDBONUS
145 /* #undef FIELDBONUS */
149 * DROPBONUS:
150 * Add bonus to drops.
153 #define DROPBONUS
154 /* #undef DROPBONUS */
158 * CHECKBONUS:
159 * Add bonus to checks.
162 #define CHECKBONUS
163 /* #undef CHECKBONUS */
167 * DEEPSEARCHCUT:
168 * Check for moves not to consider at deep plys.
171 #define DEEPSEARCHCUT
172 /* #undef DEEPSEARCHCUT */
177 * ======================================================================
179 * 2) Debug options. We don't put a #define/#undef pair here, since
180 * usually only one or a few of these will be defined.
182 * ======================================================================
186 /* FIXME: write comments for these: */
187 #undef HASHKEYTEST
188 #undef HASHTEST
189 #undef CACHETEST
191 /* This is used in rawdsp.c and cursesdsp.c: */
192 #define VERYBUGGY
194 /* This affects the history table. See gnushogi.h. */
195 #define EXACTHISTORY
199 * ======================================================================
201 * 3) Other options.
203 * ======================================================================
207 * Define this if you want to automatically have the game saved on exit.
208 * This tends to litter whatever directory you're in with game files you
209 * may not want, so it's off by default.
212 #undef LIST_ON_EXIT
214 #endif /* _OPTS_H_ */