Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef OPENTTD_H
00013 #define OPENTTD_H
00014
00015 #include "core/enum_type.hpp"
00016
00018 enum GameMode {
00019 GM_MENU,
00020 GM_NORMAL,
00021 GM_EDITOR,
00022 GM_BOOTSTRAP
00023 };
00024
00026 enum SwitchMode {
00027 SM_NONE,
00028 SM_NEWGAME,
00029 SM_RESTARTGAME,
00030 SM_EDITOR,
00031 SM_LOAD_GAME,
00032 SM_MENU,
00033 SM_SAVE_GAME,
00034 SM_SAVE_HEIGHTMAP,
00035 SM_GENRANDLAND,
00036 SM_LOAD_SCENARIO,
00037 SM_START_HEIGHTMAP,
00038 SM_LOAD_HEIGHTMAP,
00039 };
00040
00042 enum DisplayOptions {
00043 DO_SHOW_TOWN_NAMES = 0,
00044 DO_SHOW_STATION_NAMES = 1,
00045 DO_SHOW_SIGNS = 2,
00046 DO_FULL_ANIMATION = 3,
00047 DO_FULL_DETAIL = 5,
00048 DO_SHOW_WAYPOINT_NAMES = 6,
00049 DO_SHOW_COMPETITOR_SIGNS = 7,
00050 };
00051
00052 extern GameMode _game_mode;
00053 extern SwitchMode _switch_mode;
00054 extern bool _exit_game;
00055
00057 enum PauseMode {
00058 PM_UNPAUSED = 0,
00059 PM_PAUSED_NORMAL = 1 << 0,
00060 PM_PAUSED_SAVELOAD = 1 << 1,
00061 PM_PAUSED_JOIN = 1 << 2,
00062 PM_PAUSED_ERROR = 1 << 3,
00063 PM_PAUSED_ACTIVE_CLIENTS = 1 << 4,
00064
00066 PMB_PAUSED_NETWORK = PM_PAUSED_ACTIVE_CLIENTS | PM_PAUSED_JOIN,
00067 };
00068 DECLARE_ENUM_AS_BIT_SET(PauseMode)
00069 typedef SimpleTinyEnumT<PauseMode, byte> PauseModeByte;
00070
00072 extern PauseModeByte _pause_mode;
00073
00074 void AskExitGame();
00075 void AskExitToGameMenu();
00076
00077 int ttd_main(int argc, char *argv[]);
00078 void HandleExitGameRequest();
00079
00080 #endif