OpenTTD Source: src/console_cmds.cpp File Reference

OpenTTD Source 13.1

Data Structures | Macros | Functions | Variables
console_cmds.cpp File Reference
`#include "stdafx.h"`
`#include "console_internal.h"`
`#include "debug.h"`
`#include "engine_func.h"`
`#include "landscape.h"`
`#include "saveload/saveload.h"`
`#include "network/core/game_info.h"`
`#include "network/network.h"`
`#include "network/network_func.h"`
`#include "network/network_base.h"`
`#include "network/network_admin.h"`
`#include "network/network_client.h"`
`#include "command_func.h"`
`#include "settings_func.h"`
`#include "fios.h"`
`#include "fileio_func.h"`
`#include "fontcache.h"`
`#include "screenshot.h"`
`#include "genworld.h"`
`#include "strings_func.h"`
`#include "viewport_func.h"`
`#include "window_func.h"`
`#include "date_func.h"`
`#include "company_func.h"`
`#include "gamelog.h"`
`#include "ai/ai.hpp"`
`#include "ai/ai_config.hpp"`
`#include "newgrf.h"`
`#include "newgrf_profiling.h"`
`#include "console_func.h"`
`#include "engine_base.h"`
`#include "road.h"`
`#include "rail.h"`
`#include "game/game.hpp"`
`#include "table/strings.h"`
`#include "walltime_func.h"`
`#include "company_cmd.h"`
`#include "misc_cmd.h"`
`#include <sstream>`
`#include "safeguards.h"`
`#include "network/network_content.h"`

Go to the source code of this file.

## Data Structures
class | ConsoleFileList
| File list storage for the console, for caching the last 'ls' command. More...
struct | ConsoleContentCallback
| Asynchronous callback. More...

## Macros
#define | DEF_CONSOLE_CMD(function) static bool function(byte argc, char *argv[])
#define | DEF_CONSOLE_HOOK(function) static ConsoleHookResult function(bool echo)

## Functions
static bool | NetworkAvailable (bool echo)
| Check network availability and inform in console about failure of detection. More...
| DEF_CONSOLE_HOOK (ConHookServerOnly)
| Check whether we are a server. More...
| DEF_CONSOLE_HOOK (ConHookClientOnly)
| Check whether we are a client in a network game. More...
| DEF_CONSOLE_HOOK (ConHookNeedNetwork)
| Check whether we are in a multiplayer game. More...
| DEF_CONSOLE_HOOK (ConHookNoNetwork)
| Check whether we are in singleplayer mode. More...
| DEF_CONSOLE_HOOK (ConHookServerOrNoNetwork)
| Check if are either in singleplayer or a server. More...
| DEF_CONSOLE_HOOK (ConHookNewGRFDeveloperTool)
| DEF_CONSOLE_CMD (ConResetEngines)
| Reset status of all engines. More...
| DEF_CONSOLE_CMD (ConResetEnginePool)
| Reset status of the engine pool. More...
| DEF_CONSOLE_CMD (ConZoomToLevel)
| Zoom map to given level. More...
| DEF_CONSOLE_CMD (ConScrollToTile)
| Scroll to a tile on the map. More...
| DEF_CONSOLE_CMD (ConSave)
| Save the map to a file. More...
| DEF_CONSOLE_CMD (ConSaveConfig)
| Explicitly save the configuration. More...
| DEF_CONSOLE_CMD (ConLoad)
| DEF_CONSOLE_CMD (ConRemove)
| DEF_CONSOLE_CMD (ConListFiles)
| DEF_CONSOLE_CMD (ConChangeDirectory)
| DEF_CONSOLE_CMD (ConPrintWorkingDirectory)
| DEF_CONSOLE_CMD (ConClearBuffer)
static bool | ConKickOrBan (const char *argv, bool ban, const std::string &reason)
| DEF_CONSOLE_CMD (ConKick)
| DEF_CONSOLE_CMD (ConBan)
| DEF_CONSOLE_CMD (ConUnBan)
| DEF_CONSOLE_CMD (ConBanList)
| DEF_CONSOLE_CMD (ConPauseGame)
| DEF_CONSOLE_CMD (ConUnpauseGame)
| DEF_CONSOLE_CMD (ConRcon)
| DEF_CONSOLE_CMD (ConStatus)
| DEF_CONSOLE_CMD (ConServerInfo)
| DEF_CONSOLE_CMD (ConClientNickChange)
| DEF_CONSOLE_CMD (ConJoinCompany)
| DEF_CONSOLE_CMD (ConMoveClient)
| DEF_CONSOLE_CMD (ConResetCompany)
| DEF_CONSOLE_CMD (ConNetworkClients)
| DEF_CONSOLE_CMD (ConNetworkReconnect)
| DEF_CONSOLE_CMD (ConNetworkConnect)
| DEF_CONSOLE_CMD (ConExec)
| DEF_CONSOLE_CMD (ConReturn)
bool | CloseConsoleLogIfActive ()
| DEF_CONSOLE_CMD (ConScript)
| DEF_CONSOLE_CMD (ConEcho)
| DEF_CONSOLE_CMD (ConEchoC)
| DEF_CONSOLE_CMD (ConNewGame)
| DEF_CONSOLE_CMD (ConRestart)
| DEF_CONSOLE_CMD (ConReload)
static void | PrintLineByLine (const std::string &full_string)
| Print a text buffer line by line to the console. More...
| DEF_CONSOLE_CMD (ConListAILibs)
| DEF_CONSOLE_CMD (ConListAI)
| DEF_CONSOLE_CMD (ConListGameLibs)
| DEF_CONSOLE_CMD (ConListGame)
| DEF_CONSOLE_CMD (ConStartAI)
| DEF_CONSOLE_CMD (ConReloadAI)
| DEF_CONSOLE_CMD (ConStopAI)
| DEF_CONSOLE_CMD (ConRescanAI)
| DEF_CONSOLE_CMD (ConRescanGame)
| DEF_CONSOLE_CMD (ConRescanNewGRF)
| DEF_CONSOLE_CMD (ConGetSeed)
| DEF_CONSOLE_CMD (ConGetDate)
| DEF_CONSOLE_CMD (ConGetSysDate)
| DEF_CONSOLE_CMD (ConAlias)
| DEF_CONSOLE_CMD (ConScreenShot)
| DEF_CONSOLE_CMD (ConInfoCmd)
| DEF_CONSOLE_CMD (ConDebugLevel)
| DEF_CONSOLE_CMD (ConExit)
| DEF_CONSOLE_CMD (ConPart)
| DEF_CONSOLE_CMD (ConHelp)
| DEF_CONSOLE_CMD (ConListCommands)
| DEF_CONSOLE_CMD (ConListAliases)
| DEF_CONSOLE_CMD (ConCompanies)
| DEF_CONSOLE_CMD (ConSay)
| DEF_CONSOLE_CMD (ConSayCompany)
| DEF_CONSOLE_CMD (ConSayClient)
| DEF_CONSOLE_CMD (ConCompanyPassword)
static ContentType | StringToContentType (const char *str)
| Resolve a string to a content type.
static void | OutputContentState (const ContentInfo *const ci)
| Outputs content state information to console. More...
| DEF_CONSOLE_CMD (ConContent)
| DEF_CONSOLE_CMD (ConFont)
| DEF_CONSOLE_CMD (ConSetting)
| DEF_CONSOLE_CMD (ConSettingNewgame)
| DEF_CONSOLE_CMD (ConListSettings)
| DEF_CONSOLE_CMD (ConGamelogPrint)
| DEF_CONSOLE_CMD (ConNewGRFReload)
| DEF_CONSOLE_CMD (ConListDirs)
| DEF_CONSOLE_CMD (ConNewGRFProfile)
| DEF_CONSOLE_CMD (ConFramerate)
| DEF_CONSOLE_CMD (ConFramerateWindow)
static void | ConDumpRoadTypes ()
static void | ConDumpRailTypes ()
static void | ConDumpCargoTypes ()
| DEF_CONSOLE_CMD (ConDumpInfo)
void | IConsoleStdLibRegister ()

## Variables
static uint | _script_current_depth
| Depth of scripts running (used to abort execution when #ConReturn is encountered).
static ConsoleFileList | _console_file_list
| File storage cache for the console.

## Detailed Description

Implementation of the console hooks.

Definition in file console_cmds.cpp.

## Function Documentation

## ◆ DEF_CONSOLE_CMD() [1/7]

DEF_CONSOLE_CMD | ( | ConListDirs |  | ) |

< Index of subdirectory type

< UI name for the directory

< Whether only the default (first existing) directory for this is interesting

Definition at line 2130 of file console_cmds.cpp.

References AI_DIR, AI_LIBRARY_DIR, AUTOSAVE_DIR, BASESET_DIR, CC_HELP, GAME_DIR, GAME_LIBRARY_DIR, HEIGHTMAP_DIR, IConsolePrint(), NEWGRF_DIR, SAVE_DIR, SCENARIO_DIR, and SCREENSHOT_DIR.

## ◆ DEF_CONSOLE_CMD() [2/7]

DEF_CONSOLE_CMD | ( | ConResetEnginePool |  | ) |

Reset status of the engine pool.

Returns
  Will always return true.

Note
  Resetting the pool only succeeds when there are no vehicles ingame.

Definition at line 213 of file console_cmds.cpp.

References CC_HELP, and IConsolePrint().

## ◆ DEF_CONSOLE_CMD() [3/7]

DEF_CONSOLE_CMD | ( | ConResetEngines |  | ) |

Reset status of all engines.

Returns
  Will always succeed.

Definition at line 197 of file console_cmds.cpp.

References CC_HELP, IConsolePrint(), and StartupEngines().

## ◆ DEF_CONSOLE_CMD() [4/7]

DEF_CONSOLE_CMD | ( | ConSave |  | ) |

Save the map to a file.

param filename the filename to save the map to.

Returns
  True when help was displayed or the file attempted to be saved.

Definition at line 375 of file console_cmds.cpp.

References CC_DEFAULT, CC_ERROR, CC_HELP, CC_INFO, DFT_GAME_FILE, free(), IConsolePrint(), SAVE_DIR, SaveOrLoad(), SL_OK, SLO_SAVE, and str_fmt().

## ◆ DEF_CONSOLE_CMD() [5/7]

DEF_CONSOLE_CMD | ( | ConSaveConfig |  | ) |

Explicitly save the configuration.

Returns
  True.

Definition at line 402 of file console_cmds.cpp.

References CC_DEFAULT, CC_HELP, IConsolePrint(), and SaveToConfig().

## ◆ DEF_CONSOLE_CMD() [6/7]

DEF_CONSOLE_CMD | ( | ConScrollToTile |  | ) |

Scroll to a tile on the map.

param x tile number or tile x coordinate. param y optional y coordinate.

Note
  When only one argument is given it is interpreted as the tile number. When two arguments are given, they are interpreted as the tile's x and y coordinates.

Returns
  True when either console help was shown or a proper amount of parameters given.

Definition at line 321 of file console_cmds.cpp.

References CC_HELP, and IConsolePrint().

## ◆ DEF_CONSOLE_CMD() [7/7]

DEF_CONSOLE_CMD | ( | ConZoomToLevel |  | ) |

Zoom map to given level.

param level As defined by ZoomLevel and as limited by zoom_min/zoom_max from GUISettings.

Returns
  True when either console help was shown or a proper amount of parameters given.

Definition at line 264 of file console_cmds.cpp.

References _settings_client, CC_ERROR, CC_HELP, DoZoomInOutWindow(), FindWindowById(), GetArgumentInteger(), ClientSettings::gui, IConsolePrint(), Window::viewport, WC_MAIN_WINDOW, Viewport::zoom, ZOOM_IN, ZOOM_LVL_MAX, ZOOM_LVL_MIN, GUISettings::zoom_max, GUISettings::zoom_min, and ZOOM_OUT.

## ◆ DEF_CONSOLE_HOOK() [1/5]

DEF_CONSOLE_HOOK | ( | ConHookClientOnly |  | ) |

Check whether we are a client in a network game.

Returns
  Are we a client in a network game? True when yes, false otherwise.

Definition at line 129 of file console_cmds.cpp.

References _network_server, CC_ERROR, CHR_ALLOW, CHR_DISALLOW, IConsolePrint(), and NetworkAvailable().

## ◆ DEF_CONSOLE_HOOK() [2/5]

DEF_CONSOLE_HOOK | ( | ConHookNeedNetwork |  | ) |

Check whether we are in a multiplayer game.

Returns
  True when we are client or server in a network game.

Definition at line 144 of file console_cmds.cpp.

References _network_server, _networking, CC_ERROR, CHR_ALLOW, CHR_DISALLOW, IConsolePrint(), ClientNetworkGameSocketHandler::IsConnected(), and NetworkAvailable().

## ◆ DEF_CONSOLE_HOOK() [3/5]

DEF_CONSOLE_HOOK | ( | ConHookNoNetwork |  | ) |

Check whether we are in singleplayer mode.

Returns
  True when no network is active.

Definition at line 159 of file console_cmds.cpp.

References _networking, CC_ERROR, CHR_ALLOW, CHR_DISALLOW, and IConsolePrint().

## ◆ DEF_CONSOLE_HOOK() [4/5]

DEF_CONSOLE_HOOK | ( | ConHookServerOnly |  | ) |

Check whether we are a server.

Returns
  Are we a server? True when yes, false otherwise.

Definition at line 114 of file console_cmds.cpp.

References _network_server, CC_ERROR, CHR_ALLOW, CHR_DISALLOW, IConsolePrint(), and NetworkAvailable().

## ◆ DEF_CONSOLE_HOOK() [5/5]

DEF_CONSOLE_HOOK | ( | ConHookServerOrNoNetwork |  | ) |

Check if are either in singleplayer or a server.

Returns
  True iff we are either in singleplayer or a server.

Definition at line 172 of file console_cmds.cpp.

References _network_server, _networking, CC_ERROR, CHR_ALLOW, CHR_DISALLOW, and IConsolePrint().

## ◆ NetworkAvailable()

static bool NetworkAvailable | ( | bool | echo | ) |
| inlinestatic

Check network availability and inform in console about failure of detection.

Returns
  Network availability.

Definition at line 101 of file console_cmds.cpp.

References _network_available, CC_ERROR, and IConsolePrint().

Referenced by DEF_CONSOLE_HOOK().

## ◆ OutputContentState()

static void OutputContentState | ( | const ContentInfo *const | ci | ) |
| static

Outputs content state information to console.

Parameters

  ci | the content info

Definition at line 1889 of file console_cmds.cpp.

References CC_COMMAND, CC_ERROR, CC_INFO, CC_WHITE, CONTENT_TYPE_BEGIN, CONTENT_TYPE_END, IConsolePrint(), ContentInfo::id, lastof, lengthof, ContentInfo::md5sum, md5sumToString(), ContentInfo::name, ContentInfo::state, ContentInfo::type, and ContentInfo::unique_id.

## ◆ PrintLineByLine()

static void PrintLineByLine | ( | const std::string & | full_string | ) |
| static

Print a text buffer line by line to the console.

Lines are separated by '
'.

Parameters

  full_string | The multi-line string to print.

Definition at line 1168 of file console_cmds.cpp.

References CC_DEFAULT, and IConsolePrint().