OpenTTD-patches/src/cheat_type.h

65 lines
2.7 KiB
C
Raw Normal View History

/*
* 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/>.
*/
/** @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 {
Cheat magic_bulldozer; ///< dynamite industries, objects
Cheat switch_company; ///< change to another company
Cheat money; ///< get rich or poor
Cheat crossing_tunnels; ///< allow tunnels that cross each other
Cheat dummy1; ///< empty cheat (build while in pause mode)
Cheat no_jetcrash; ///< no jet will crash on small airports anymore
Cheat dummy2; ///< empty cheat (change the climate of the map)
Cheat change_date; ///< changes date ingame
Cheat setup_prod; ///< setup raw-material production in game
Cheat dummy3; ///< empty cheat (enable running el-engines on normal rail)
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
};
struct ExtraCheats {
Cheat inflation_cost; ///< inflation cost factor
Cheat inflation_income; ///< inflation income factor
};
/** 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.
CHT_INFLATION_COST, ///< Change inflation cost factor
CHT_INFLATION_INCOME,///< Change inflation income factor
CHT_NUM_CHEATS, ///< Number of cheats.
};
extern Cheats _cheats;
extern ExtraCheats _extra_cheats;
#endif /* CHEAT_TYPE_H */