# openttd.h File Reference

Go to the source code of this file.

## Data Structures
struct | ViewportSign
## Defines
#define | VARDEF extern
## Typedefs
typedef byte | VehicleOrderID
| The index of an order within its current vehicle (not pool related).
typedef byte | LandscapeID
typedef uint16 | EngineID
typedef uint16 | UnitID
typedef EngineID * | EngineList
| engine list type placeholder acceptable for C code (see helpers.cpp)
typedef uint16 | StationID
typedef uint16 | RoadStopID
typedef uint16 | DepotID
typedef uint16 | WaypointID
typedef uint16 | OrderID
typedef uint16 | SignID
typedef uint16 | GroupID
typedef uint16 | EngineRenewID
typedef uint16 | DestinationID
## Enumerations
enum | GameModes { GM_MENU, GM_NORMAL, GM_EDITOR }
enum | SwitchModes { SM_NONE = 0, SM_NEWGAME = 1, SM_EDITOR = 2, SM_LOAD = 3, SM_MENU = 4, SM_SAVE = 5, SM_GENRANDLAND = 6, SM_LOAD_SCENARIO = 9, SM_START_SCENARIO = 10, SM_START_HEIGHTMAP = 11, SM_LOAD_HEIGHTMAP = 12 }
enum | GenerateWorldModes { GW_NEWGAME = 0, GW_EMPTY = 1, GW_RANDOM = 2, GW_HEIGHTMAP = 3 }
enum | InitializeGameModes { IG_NONE = 0, IG_DATE_RESET = 1 }
enum | TransportType { TRANSPORT_BEGIN = 0, TRANSPORT_RAIL = 0, TRANSPORT_ROAD = 1, TRANSPORT_WATER, TRANSPORT_END, INVALID_TRANSPORT = 0xff }
enum | { DO_SHOW_TOWN_NAMES = 0, DO_SHOW_STATION_NAMES = 1, DO_SHOW_SIGNS = 2, DO_FULL_ANIMATION = 3, DO_FULL_DETAIL = 5, DO_WAYPOINTS = 6 }
enum | { LT_TEMPERATE = 0, LT_ARCTIC = 1, LT_TROPIC = 2, LT_TOYLAND = 3, NUM_LANDSCAPE = 4 }
enum | { SORT_ASCENDING = 0, SORT_DESCENDING = 1, SORT_BY_DATE = 0, SORT_BY_NAME = 2 }
enum | { MAX_SCREEN_WIDTH = 2048, MAX_SCREEN_HEIGHT = 1200 }
enum | { SCROLL_CON = 0, SCROLL_EDIT = 1, SCROLL_SAVE = 2, SCROLL_CHAT = 4 }
enum | ThreadMsg { MSG_OTTD_NO_MESSAGE, MSG_OTTD_SAVETHREAD_DONE, MSG_OTTD_SAVETHREAD_ERROR }
| To have a concurrently running thread interface with the main program, use the OTTD_SendThreadMessage() function. More...
## Functions
| assert_compile (sizeof(DestinationID) >=sizeof(DepotID))
void | OTTD_SendThreadMessage (ThreadMsg msg)
| Called by running thread to execute some action in the main game.
## Variables
static const StationID | INVALID_STATION = 0xFFFF
byte | _savegame_sort_order
byte | _no_scroll
byte | _game_mode
bool | _exit_game
int8 | _pause_game

## Detailed Description

Definition in file openttd.h.

## Enumeration Type Documentation

enum ThreadMsg

To have a concurrently running thread interface with the main program, use the OTTD_SendThreadMessage() function.

Actions to perform upon the message are handled in the ProcessSentMessage() function

Definition at line 149 of file openttd.h.

## Function Documentation

void OTTD_SendThreadMessage | ( | ThreadMsg | msg | ) |

Called by running thread to execute some action in the main game.

It will stall as long as the mutex is not freed (handled) by the game

Definition at line 664 of file openttd.cpp.

Referenced by SaveFileToDisk().