OpenTTD Source 20241224-master-gf74b0cf984
|
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. | |
void | StateGameLoop () |
State controlling game loop. | |
void | HandleExitGameRequest () |
void | SwitchToMode (SwitchMode new_mode) |
bool | RequestNewGRFScan (struct NewGRFScanCallback *callback=nullptr) |
Request a new NewGRF scan. | |
void | GenerateSavegameId () |
Generate an unique savegame ID. | |
void | OpenBrowser (const std::string &url) |
void | ChangeAutosaveFrequency (bool reset) |
Reset the interval of the autosave. | |
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 AskExitGame | ( | ) |
Definition at line 479 of file intro_gui.cpp.
void AskExitToGameMenu | ( | ) |
Definition at line 499 of file intro_gui.cpp.
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, ClientSettings::gui, and IntervalTimer< TTimerType >::SetInterval().
Referenced by GameOptionsWindow::OnDropdownSelect().
void GenerateSavegameId | ( | ) |
Generate an unique savegame ID.
Definition at line 87 of file misc.cpp.
References _game_session_stats, GenerateUid(), and GameSessionStats::savegame_id.
Referenced by AfterLoadGame().
void HandleExitGameRequest | ( | ) |
Definition at line 817 of file openttd.cpp.
void OpenBrowser | ( | const std::string & | url | ) |
Definition at line 370 of file openttd.cpp.
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 _blitter_autodetected, _config_file, _cur_resolution, _file_to_saveload, _game_session_stats, _ini_blitter, _ini_musicdriver, _ini_sounddriver, _ini_videodriver, _load_check_data, _skip_all_newgrf_scanning, _switch_mode, GetOptData::arguments, TarScanner::BASESET, BLT_8BPP, LoadCheckData::Clear(), CreateOptions(), Debug, DeterminePaths(), DFT_GAME_FILE, TarScanner::DoScan(), Driver::DT_MUSIC, Driver::DT_SOUND, Driver::DT_VIDEO, LoadCheckData::error, LoadCheckData::error_msg, BaseGraphics::Ini::extra_version, BaseMedia< MusicSet >::FindSets(), BaseMedia< GraphicsSet >::FindSets(), BaseMedia< SoundsSet >::FindSets(), FiosGetSavegameListCallback(), FiosGetScenarioListCallback(), FS2OTTD(), FT_HEIGHTMAP, FT_SAVEGAME, FT_SCENARIO, GENERATE_NEW_SEED, GenerateWorld(), GetAbstractFileType(), GetDetailedFileType(), VideoDriver::GetInstance(), GetOptData::GetOpt(), GraphicsSet::GetOrCreateExtraConfig(), GetString(), BaseMedia< GraphicsSet >::GetUsedSet(), GWM_EMPTY, HandleBootstrap(), LoadCheckData::HasErrors(), CursorVars::in_window, BaseSounds::ini_set, BaseMusic::ini_set, InitFontCache(), SocialIntegration::Initialize(), InitializeLanguagePacks(), InitializeScreenshotFormats(), InitializeSpriteSorter(), InitWindowSystem(), GRFConfig::IsCompatible(), LoadFromConfig(), LoadIntroGame(), VideoDriver::MainLoop(), FileToSaveLoad::name, NetworkStartUp(), GetOptData::opt, OTTD2FS(), ParseFullConnectionString(), ParseResolution(), RequestNewGRFScan(), S8BPP_NONE, SAVE_DIR, GameSessionStats::savegame_size, SaveOrLoad(), ScheduleErrorMessage(), BlitterFactory::SelectBlitter(), DriverFactoryBase::SelectDriver(), SetDebugString(), SetDParamStr(), ErrorMessageData::SetDParamStr(), FileToSaveLoad::SetMode(), BaseMedia< GraphicsSet >::SetSet(), BaseMedia< MusicSet >::SetSet(), BaseMedia< SoundsSet >::SetSet(), BaseMedia< GraphicsSet >::SetSetByName(), BaseMedia< SoundsSet >::SetSetByName(), BaseMedia< MusicSet >::SetSetByName(), BaseMedia< GraphicsSet >::SetSetByShortname(), ShowHelp(), ShutdownGame(), SL_OK, SLO_CHECK, SLO_LOAD, SM_EDITOR, SM_LOAD_GAME, SM_LOAD_HEIGHTMAP, SM_LOAD_SCENARIO, SM_MENU, SM_NEWGAME, SM_START_HEIGHTMAP, GameSessionStats::start_time, StrEmpty(), UpdateGUIZoom(), and ZOOM_LVL_MIN.
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.
Referenced by NetworkContentDownloadStatusWindow::Close(), NewGRFWindow::OnClick(), and openttd_main().
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 _current_company, _network_server, _networking, _pause_mode, _settings_game, AnimateAnimatedTiles(), AUTOSAVE_DIR, CallWindowGameTickEvent(), CheckCaches(), TimerGameEconomy::date, TimerGameEconomy::date_fract, DFT_GAME_FILE, TimerManager< TTimerType >::Elapsed(), GameSettings::game_creation, AI::GameLoop(), Game::GameLoop(), GameCreationSettings::generation_seed, HasModalProgress(), IsLocalCompany(), OWNER_NONE, PerformanceMeasurer::Paused(), PFE_ALLSCRIPTS, PFE_GAMELOOP, PFE_GL_AIRCRAFT, PFE_GL_ECONOMY, PFE_GL_LANDSCAPE, PFE_GL_ROADVEHS, PFE_GL_SHIPS, PFE_GL_TRAINS, PM_UNPAUSED, PSM_ENTER_GAMELOOP, PSM_LEAVE_GAMELOOP, Layouter::ReduceLineCache(), PerformanceAccumulator::Reset(), Backup< T >::Restore(), RunTileLoop(), RunVehicleCalendarDayProc(), SaveOrLoad(), SLO_SAVE, StateGameLoop_LinkGraphPauseControl(), BasePersistentStorageArray::SwitchMode(), and UpdateLandscapingLimits().
Referenced by ClientNetworkGameSocketHandler::GameLoop().
void SwitchToMode | ( | SwitchMode | new_mode | ) |
Definition at line 1020 of file openttd.cpp.
|
extern |
Statistics about the current session.
Definition at line 51 of file gfx.cpp.
Referenced by FileWriter::Finish(), GenerateSavegameId(), openttd_main(), ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DONE(), SurveyGameSession(), and FileReader::~FileReader().
|
extern |
The current pause mode.
Definition at line 50 of file gfx.cpp.
Referenced by AfterLoad_LinkGraphPauseControl(), AfterLoadGame(), CheckMinActiveClients(), CheckPauseHelper(), CheckPauseOnJoin(), CmdClearArea(), CmdPause(), DistributeQueue(), StatusBarWindow::DrawWidget(), CommandHelperBase::InternalExecuteProcessResult(), CommandHelperBase::InternalPostBefore(), LoadIntroGame(), NetworkHandlePauseChange(), ScriptDebugWindow::OnClick(), ScriptDebugWindow::OnInvalidateData(), StateGameLoop(), and StateGameLoop_LinkGraphPauseControl().
|
extern |
Definition at line 103 of file openttd.cpp.
|
extern |
The next mainloop command.
Definition at line 49 of file gfx.cpp.
Referenced by _GenerateWorld(), ClientNetworkGameSocketHandler::ClientError(), GameOptionsWindow::Close(), NetworkGameSocketHandler::CloseConnection(), AIInstance::Died(), GameInstance::Died(), HandleGeneratingWorldAbortion(), VideoDriver_Dedicated::MainLoop(), NetworkClientConnectGame(), NetworkRestartMap(), SaveLoadWindow::OnClick(), MainWindow::OnHotkey(), AfterNewGRFScan::OnNewGRFsScanned(), SaveLoadWindow::OnTimeout(), openttd_main(), and VideoDriver::Tick().