2009-08-21 20:21:05 +00:00
/*
* This file is part of OpenTTD .
* 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.
* 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 .
* 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/>.
*/
2008-04-17 21:21:01 +00:00
/** @file cheat_type.h Types related to cheating. */
# ifndef CHEAT_TYPE_H
# define CHEAT_TYPE_H
/**
* Info about each of the cheats .
*/
struct Cheat {
bool been_used ; ///< has this cheat been used before?
bool value ; ///< tells if the bool cheat is active or not
} ;
/**
* WARNING ! Do _not_ remove entries in Cheats struct or change the order
* of the existing ones ! Would break downward compatibility .
* Only add new entries at the end of the struct !
*/
struct Cheats {
2010-08-08 10:59:30 +00:00
Cheat magic_bulldozer ; ///< dynamite industries, objects
2008-09-30 20:39:50 +00:00
Cheat switch_company ; ///< change to another company
2008-04-17 21:21:01 +00:00
Cheat money ; ///< get rich or poor
Cheat crossing_tunnels ; ///< allow tunnels that cross each other
2010-12-07 21:13:34 +00:00
Cheat dummy1 ; ///< empty cheat (build while in pause mode)
2008-04-17 21:21:01 +00:00
Cheat no_jetcrash ; ///< no jet will crash on small airports anymore
2012-01-03 19:21:32 +00:00
Cheat dummy2 ; ///< empty cheat (change the climate of the map)
2008-04-17 21:21:01 +00:00
Cheat change_date ; ///< changes date ingame
Cheat setup_prod ; ///< setup raw-material production in game
2012-01-03 19:21:32 +00:00
Cheat dummy3 ; ///< empty cheat (enable running el-engines on normal rail)
2014-09-21 12:39:24 +00:00
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
2008-04-17 21:21:01 +00:00
} ;
2020-04-18 09:51:02 +00:00
struct ExtraCheats {
2020-04-18 09:52:08 +00:00
Cheat inflation_cost ; ///< inflation cost factor
Cheat inflation_income ; ///< inflation income factor
2020-04-18 09:51:02 +00:00
} ;
2020-04-14 19:11:38 +00:00
/** Available cheats. */
enum CheatNumbers {
CHT_MONEY , ///< Change amount of money.
CHT_CHANGE_COMPANY , ///< Switch company.
CHT_EXTRA_DYNAMITE , ///< Dynamite anything.
CHT_CROSSINGTUNNELS , ///< Allow tunnels to cross each other.
CHT_NO_JETCRASH , ///< Disable jet-airplane crashes.
CHT_SETUP_PROD , ///< Allow manually editing of industry production.
CHT_EDIT_MAX_HL , ///< Edit maximum allowed heightlevel
CHT_CHANGE_DATE , ///< Do time traveling.
2020-04-18 09:52:08 +00:00
CHT_INFLATION_COST , ///< Change inflation cost factor
CHT_INFLATION_INCOME , ///< Change inflation income factor
2020-04-14 19:11:38 +00:00
CHT_NUM_CHEATS , ///< Number of cheats.
} ;
2008-04-17 21:21:01 +00:00
extern Cheats _cheats ;
2020-04-18 09:51:02 +00:00
extern ExtraCheats _extra_cheats ;
2008-04-17 21:21:01 +00:00
# endif /* CHEAT_TYPE_H */