OpenTTD Source
20241108-master-g80f628063a
|
Some generic types. More...
Go to the source code of this file.
Data Structures | |
struct | GameSessionStats |
Functions | |
void | AskExitGame () |
void | AskExitToGameMenu () |
int | openttd_main (std::span< char *const > arguments) |
Main entry point for this lovely game. More... | |
void | StateGameLoop () |
State controlling game loop. More... | |
void | HandleExitGameRequest () |
void | SwitchToMode (SwitchMode new_mode) |
bool | RequestNewGRFScan (struct NewGRFScanCallback *callback=nullptr) |
Request a new NewGRF scan. More... | |
void | GenerateSavegameId () |
Generate an unique savegame ID. | |
void | OpenBrowser (const std::string &url) |
void | ChangeAutosaveFrequency (bool reset) |
Reset the interval of the autosave. More... | |
Variables | |
GameMode | _game_mode |
SwitchMode | _switch_mode |
The next mainloop command. | |
GameSessionStats | _game_session_stats |
Statistics about the current session. | |
std::atomic< bool > | _exit_game |
bool | _save_config |
PauseMode | _pause_mode |
The current pause mode. | |
Some generic types.
Definition in file openttd.h.
enum DisplayOptions |
Display Options.
enum PauseMode : uint8_t |
Modes of pausing we've got.
enum SwitchMode |
Mode which defines what mode we're switching to.
Enumerator | |
---|---|
SM_NEWGAME | New Game --> 'Random game'. |
SM_RESTARTGAME | Restart --> 'Random game' with current settings. |
SM_RELOADGAME | Reload the savegame / scenario / heightmap you started the game with. |
SM_EDITOR | Switch to scenario editor. |
SM_LOAD_GAME | Load game, Play Scenario. |
SM_MENU | Switch to game intro menu. |
SM_SAVE_GAME | Save game. |
SM_SAVE_HEIGHTMAP | Save heightmap. |
SM_GENRANDLAND | Generate random land within scenario editor. |
SM_LOAD_SCENARIO | Load scenario from scenario editor. |
SM_START_HEIGHTMAP | Load a heightmap and start a new game from it. |
SM_LOAD_HEIGHTMAP | Load heightmap from scenario editor. |
SM_RESTART_HEIGHTMAP | Load a heightmap and start a new game from it with current settings. |
SM_JOIN_GAME | Join a network game. |
void ChangeAutosaveFrequency | ( | bool | reset | ) |
Reset the interval of the autosave.
If reset is not set, this does not set the elapsed time on the timer, so if the interval is smaller, it might result in an autosave being done immediately.
reset | Whether to reset the timer back to zero, or to continue. |
Definition at line 1318 of file openttd.cpp.
References _autosave_interval, _settings_client, TimerGameRealtime::AUTOSAVE, GUISettings::autosave_interval, and ClientSettings::gui.
int openttd_main | ( | std::span< char *const > | arguments | ) |
Main entry point for this lovely game.
arguments | The command line arguments passed to the application. |
Definition at line 504 of file openttd.cpp.
References _game_session_stats, GameSessionStats::savegame_size, and GameSessionStats::start_time.
bool RequestNewGRFScan | ( | NewGRFScanCallback * | callback | ) |
Request a new NewGRF scan.
This will be executed on the next game-tick. This is mostly needed to ensure NewGRF scans (which are blocking) are done in the game-thread, and not in the draw-thread (which most often triggers this request).
callback | Optional callback to call when NewGRF scan is completed. |
Definition at line 1331 of file openttd.cpp.
void StateGameLoop | ( | ) |
State controlling game loop.
The state must not be changed from anywhere but here. That check is enforced in DoCommand.
Definition at line 1212 of file openttd.cpp.
References _network_server, _networking, _pause_mode, Game::GameLoop(), HasModalProgress(), PerformanceMeasurer::Paused(), PFE_GAMELOOP, PFE_GL_AIRCRAFT, PFE_GL_ECONOMY, PFE_GL_LANDSCAPE, PFE_GL_ROADVEHS, PFE_GL_SHIPS, PFE_GL_TRAINS, PM_UNPAUSED, Layouter::ReduceLineCache(), PerformanceAccumulator::Reset(), StateGameLoop_LinkGraphPauseControl(), and UpdateLandscapingLimits().
Referenced by ClientNetworkGameSocketHandler::GameLoop().