Changing license to GPL3 (and bumping version to 1.4.0).
[gnushogi.git] / gnushogi / opts.h
blob97152bdfb7b249fb4858c9a533ef3d0db25c808c
1 /*
2 * FILE: opts.h
4 * #defines to set various options.
6 * ----------------------------------------------------------------------
8 * Copyright (c) 2012 Free Software Foundation
10 * GNU SHOGI is based on GNU CHESS
12 * This file is part of GNU SHOGI.
14 * GNU Shogi is free software; you can redistribute it and/or modify it
15 * under the terms of the GNU General Public License as published by the
16 * Free Software Foundation; either version 3 of the License,
17 * or (at your option) any later version.
19 * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
20 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 * for more details.
24 * You should have received a copy of the GNU General Public License along
25 * with GNU Shogi; see the file COPYING. If not, see
26 * <http://www.gnu.org/licenses/>.
27 * ----------------------------------------------------------------------
33 * This file is for options that control the behavior of GNU shogi,
34 * and also for debugging #defines. They were previously placed on the
35 * command line as -D<option> statements, but this cluttered things
36 * up so much that I changed it. For the evaluator options, I recommend
37 * you don't change anything unless you *really* know what you're doing.
38 * These options come in pairs of:
40 * #define <option>
41 * #undef <option>
43 * For each pair, simply comment out the one you don't want.
48 #ifndef _OPTS_H_
49 #define _OPTS_H_
52 * ======================================================================
54 * 1) Evaluator options.
56 * ======================================================================
60 * QUIETBACKGROUND:
61 * Don't print post information in background (easy mode OFF)
64 #define QUIETBACKGROUND
65 /* #undef QUIETBACKGROUND */
69 * NODYNALPHA:
70 * Don't dynamically adjust alpha.
73 /* #define NODYNALPHA */
74 #undef NODYNALPHA
78 * HISTORY:
79 * Use history killer heuristic.
82 #define HISTORY
83 /* #undef HISTORY */
87 * CACHE:
88 * Cache static evaluations.
91 #define CACHE
92 /* #undef CACHE */
96 * QUIETBOOKGEN:
97 * Don't print errors while loading a book or generating a binbook.
100 /* #define QUIETBOOKGEN */
101 #undef QUIETBOOKGEN
105 * SEMIQUIETBOOKGEN:
106 * Print less verbose errors while reading book or generating binbook.
109 /* #define SEMIQUIETBOOKGEN */
110 #undef SEMIQUIETBOOKGEN
114 * NULLMOVE:
115 * Include null move heuristic.
118 #define NULLMOVE
119 /* #undef NULLMOVE */
123 * Options for genmove.c in order to support move ordering at a
124 * cost in speed.
128 * TESUJIBONUS:
129 * Add bonus to a move that seems to be a tesuji.
132 #define TESUJIBONUS
133 /* #undef TESUJIBONUS */
137 * FIELDBONUS:
138 * Add bonus to regular moves.
141 #define FIELDBONUS
142 /* #undef FIELDBONUS */
146 * DROPBONUS:
147 * Add bonus to drops.
150 #define DROPBONUS
151 /* #undef DROPBONUS */
155 * CHECKBONUS:
156 * Add bonus to checks.
159 #define CHECKBONUS
160 /* #undef CHECKBONUS */
164 * DEEPSEARCHCUT:
165 * Check for moves not to consider at deep plys.
168 #define DEEPSEARCHCUT
169 /* #undef DEEPSEARCHCUT */
174 * ======================================================================
176 * 2) Debug options. We don't put a #define/#undef pair here, since
177 * usually only one or a few of these will be defined.
179 * ======================================================================
183 /* FIXME: write comments for these: */
184 #undef HASHKEYTEST
185 #undef HASHTEST
186 #undef CACHETEST
188 /* This is used in rawdsp.c and cursesdsp.c: */
189 #define VERYBUGGY
191 /* This affects the history table. See gnushogi.h. */
192 #define EXACTHISTORY
196 * ======================================================================
198 * 3) Other options.
200 * ======================================================================
204 * Define this if you want to automatically have the game saved on exit.
205 * This tends to litter whatever directory you're in with game files you
206 * may not want, so it's off by default.
209 #undef LIST_ON_EXIT
211 #endif /* _OPTS_H_ */