1 /*
2  * This file is part of OpenTTD.
3  * OpenTTD 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, version 2.
4  * OpenTTD 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.
5  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6  */
7 
8 /** @file cheat_type.h Types related to cheating. */
9 
10 #ifndef CHEAT_TYPE_H
11 #define CHEAT_TYPE_H
12 
13 /**
14  * Info about each of the cheats.
15  */
16 struct Cheat {
17 	bool been_used; ///< has this cheat been used before?
18 	bool value;     ///< tells if the bool cheat is active or not
19 };
20 
21 /**
22  * WARNING! Do _not_ remove entries in Cheats struct or change the order
23  * of the existing ones! Would break downward compatibility.
24  * Only add new entries at the end of the struct!
25  */
26 struct Cheats {
27 	Cheat magic_bulldozer;  ///< dynamite industries, objects
28 	Cheat switch_company;   ///< change to another company
29 	Cheat money;            ///< get rich or poor
30 	Cheat crossing_tunnels; ///< allow tunnels that cross each other
31 	Cheat no_jetcrash;      ///< no jet will crash on small airports anymore
32 	Cheat change_date;      ///< changes date ingame
33 	Cheat setup_prod;       ///< setup raw-material production in game
34 	Cheat edit_max_hl;      ///< edit the maximum heightlevel; this is a cheat because of the fact that it needs to reset NewGRF game state and doing so as a simple configuration breaks the expectation of many
35 };
36 
37 extern Cheats _cheats;
38 
39 #endif /* CHEAT_TYPE_H */
40