tron@2186: /* $Id$ */ rubidium@8989: rubidium@9111: /** @file openttd.h Some generic types. */ tron@2186: Darkvater@2075: #ifndef OPENTTD_H Darkvater@2075: #define OPENTTD_H truelight@0: truelight@0: #ifndef VARDEF truelight@0: #define VARDEF extern truelight@0: #endif truelight@0: rubidium@8121: enum GameModes { rubidium@8121: GM_MENU, rubidium@8121: GM_NORMAL, rubidium@8121: GM_EDITOR rubidium@8121: }; rubidium@8121: truelight@0: enum SwitchModes { rubidium@4344: SM_NONE = 0, rubidium@4344: SM_NEWGAME = 1, rubidium@4344: SM_EDITOR = 2, rubidium@4344: SM_LOAD = 3, rubidium@4344: SM_MENU = 4, rubidium@4344: SM_SAVE = 5, rubidium@4344: SM_GENRANDLAND = 6, rubidium@4344: SM_LOAD_SCENARIO = 9, rubidium@4344: SM_START_SCENARIO = 10, truelight@4300: SM_START_HEIGHTMAP = 11, rubidium@4344: SM_LOAD_HEIGHTMAP = 12, truelight@0: }; truelight@0: truelight@2828: truelight@2828: /* Modes for GenerateWorld */ truelight@2828: enum GenerateWorldModes { truelight@4300: GW_NEWGAME = 0, /* Generate a map for a new game */ truelight@4300: GW_EMPTY = 1, /* Generate an empty map (sea-level) */ truelight@4300: GW_RANDOM = 2, /* Generate a random map for SE */ truelight@4300: GW_HEIGHTMAP = 3, /* Generate a newgame from a heightmap */ truelight@2828: }; truelight@2828: truelight@2828: /* Modes for InitializeGame, those are _bits_! */ truelight@2828: enum InitializeGameModes { truelight@2828: IG_NONE = 0, /* Don't do anything special */ truelight@2828: IG_DATE_RESET = 1, /* Reset the date when initializing a game */ truelight@2828: }; truelight@2828: truelight@0: /* Display Options */ truelight@0: enum { peter1138@6591: DO_SHOW_TOWN_NAMES = 0, peter1138@6591: DO_SHOW_STATION_NAMES = 1, peter1138@6591: DO_SHOW_SIGNS = 2, peter1138@6591: DO_FULL_ANIMATION = 3, peter1138@6591: DO_FULL_DETAIL = 5, peter1138@6591: DO_WAYPOINTS = 6, peter1138@6427: }; peter1138@6427: rubidium@6248: struct ViewportSign { tron@849: int32 left; tron@849: int32 top; truelight@0: byte width_1, width_2; rubidium@6248: }; truelight@0: tron@2526: enum { tron@2526: SORT_ASCENDING = 0, tron@2526: SORT_DESCENDING = 1, tron@2526: SORT_BY_DATE = 0, tron@2526: SORT_BY_NAME = 2 tron@2526: }; tron@2526: rubidium@8268: extern byte _savegame_sort_order; truelight@0: Darkvater@1397: /* In certain windows you navigate with the arrow keys. Do not scroll the Darkvater@1397: * gameview when here. Bitencoded variable that only allows scrolling if all Darkvater@1397: * elements are zero */ Darkvater@1397: enum { rubidium@4344: SCROLL_CON = 0, Darkvater@1397: SCROLL_EDIT = 1, Darkvater@1397: SCROLL_SAVE = 2, Darkvater@1843: SCROLL_CHAT = 4, Darkvater@1397: }; rubidium@8268: extern byte _no_scroll; Darkvater@1397: rubidium@8121: extern byte _game_mode; rubidium@8121: extern bool _exit_game; peter1138@8670: extern int8 _pause_game; rubidium@8121: Darkvater@2075: #endif /* OPENTTD_H */