OpenTTD Source 20250312-master-gcdcc6b491d
|
Some generic types. More...
Go to the source code of this file.
Data Structures | |
struct | GameSessionStats |
Typedefs | |
using | PauseModes = EnumBitSet< PauseMode, uint8_t > |
Enumerations | |
enum | GameMode : uint8_t { GM_MENU , GM_NORMAL , GM_EDITOR , GM_BOOTSTRAP } |
Mode which defines the state of the game. More... | |
enum | SwitchMode : uint8_t { SM_NONE , SM_NEWGAME , SM_RESTARTGAME , SM_RELOADGAME , SM_EDITOR , SM_LOAD_GAME , SM_MENU , SM_SAVE_GAME , SM_SAVE_HEIGHTMAP , SM_GENRANDLAND , SM_LOAD_SCENARIO , SM_START_HEIGHTMAP , SM_LOAD_HEIGHTMAP , SM_RESTART_HEIGHTMAP , SM_JOIN_GAME } |
Mode which defines what mode we're switching to. More... | |
enum | DisplayOptions : uint8_t { DO_SHOW_TOWN_NAMES = 0 , DO_SHOW_STATION_NAMES = 1 , DO_SHOW_SIGNS = 2 , DO_FULL_ANIMATION = 3 , DO_FULL_DETAIL = 5 , DO_SHOW_WAYPOINT_NAMES = 6 , DO_SHOW_COMPETITOR_SIGNS = 7 } |
Display Options. More... | |
enum class | PauseMode : uint8_t { Normal = 0 , SaveLoad = 1 , Join = 2 , Error = 3 , ActiveClients = 4 , GameScript = 5 , LinkGraph = 6 , CommandDuringPause = 7 } |
Modes of pausing we've got. More... | |
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 |
PauseModes | _pause_mode |
The current pause mode. | |
Some generic types.
Definition in file openttd.h.
using PauseModes = EnumBitSet<PauseMode, uint8_t> |
enum DisplayOptions : uint8_t |
Display Options.
enum GameMode : uint8_t |
|
strong |
Modes of pausing we've got.
enum SwitchMode : uint8_t |
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 470 of file intro_gui.cpp.
void AskExitToGameMenu | ( | ) |
Definition at line 490 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 1312 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 811 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 505 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< GraphicsSet >::FindSets(), BaseMedia< SoundsSet >::FindSets(), BaseMedia< MusicSet >::FindSets(), FiosGetSavegameListCallback(), FiosGetScenarioListCallback(), FS2OTTD(), FT_HEIGHTMAP, FT_SAVEGAME, FT_SCENARIO, GENERATE_NEW_SEED, GenerateWorld(), GetAbstractFileType(), GetDetailedFileType(), GetEncodedString(), 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(), 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(), FileToSaveLoad::SetMode(), BaseMedia< GraphicsSet >::SetSet(), BaseMedia< MusicSet >::SetSet(), BaseMedia< SoundsSet >::SetSet(), BaseMedia< SoundsSet >::SetSetByName(), BaseMedia< GraphicsSet >::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 1325 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 1206 of file openttd.cpp.
References _current_company, _network_server, _networking, _pause_mode, _settings_game, AnimateAnimatedTiles(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Any(), 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, 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 1014 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().