Merge branch 'maint'
[gnushogi.git] / gnushogi / opts.h
blob6e87d129020ff27bc722d8b8b275663923d33c1b
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 3 of the License,
20 * or (at your option) any 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, see
29 * <http://www.gnu.org/licenses/>.
30 * ----------------------------------------------------------------------
36 * This file is for options that control the behavior of GNU shogi,
37 * probably only be of interest to people who are hacking the source codes.
38 * They were previously placed on the
39 * command line as -D<option> statements, but this cluttered things
40 * up so much that I changed it. For the evaluator options, I recommend
41 * you don't change anything unless you *really* know what you're doing.
42 * These options come in pairs of:
44 * #define <option>
45 * #undef <option>
47 * For each pair, simply comment out the one you don't want.
52 #ifndef _OPTS_H_
53 #define _OPTS_H_
56 * ======================================================================
58 * 1) Evaluator options.
60 * ======================================================================
64 * QUIETBACKGROUND:
65 * Don't print post information in background (easy mode OFF)
68 #define QUIETBACKGROUND
69 /* #undef QUIETBACKGROUND */
73 * NODYNALPHA:
74 * Don't dynamically adjust alpha.
77 /* #define NODYNALPHA */
78 #undef NODYNALPHA
82 * HISTORY:
83 * Use history killer heuristic.
86 #define HISTORY
87 /* #undef HISTORY */
91 * CACHE:
92 * Cache static evaluations.
95 #define CACHE
96 /* #undef CACHE */
100 * QUIETBOOKGEN:
101 * Don't print errors while loading a book or generating a binbook.
104 /* #define QUIETBOOKGEN */
105 #undef QUIETBOOKGEN
109 * SEMIQUIETBOOKGEN:
110 * Print less verbose errors while reading book or generating binbook.
113 /* #define SEMIQUIETBOOKGEN */
114 #undef SEMIQUIETBOOKGEN
118 * NULLMOVE:
119 * Include null move heuristic.
122 #define NULLMOVE
123 /* #undef NULLMOVE */
127 * Options for genmove.c in order to support move ordering at a
128 * cost in speed.
132 * TESUJIBONUS:
133 * Add bonus to a move that seems to be a tesuji.
136 #define TESUJIBONUS
137 /* #undef TESUJIBONUS */
141 * FIELDBONUS:
142 * Add bonus to regular moves.
145 #define FIELDBONUS
146 /* #undef FIELDBONUS */
150 * DROPBONUS:
151 * Add bonus to drops.
154 #define DROPBONUS
155 /* #undef DROPBONUS */
159 * CHECKBONUS:
160 * Add bonus to checks.
163 #define CHECKBONUS
164 /* #undef CHECKBONUS */
168 * DEEPSEARCHCUT:
169 * Check for moves not to consider at deep plys.
172 #define DEEPSEARCHCUT
173 /* #undef DEEPSEARCHCUT */
178 * ======================================================================
180 * 2) Debug options. We don't put a #define/#undef pair here, since
181 * usually only one or a few of these will be defined.
183 * ======================================================================
187 /* FIXME: write comments for these: */
188 #undef HASHKEYTEST
189 #undef HASHTEST
190 #undef CACHETEST
192 /* This is used in rawdsp.c and cursesdsp.c: */
193 #define VERYBUGGY
195 /* This affects the history table. See gnushogi.h. */
196 #define EXACTHISTORY
200 * ======================================================================
202 * 3) Other options.
204 * ======================================================================
208 * Define this if you want to automatically have the game saved on exit.
209 * This tends to litter whatever directory you're in with game files you
210 * may not want, so it's off by default.
213 #undef LIST_ON_EXIT
215 #endif /* _OPTS_H_ */