OpenTTD
Data Structures | Macros | Functions | Variables
console_cmds.cpp File Reference

Implementation of the console hooks. More...

#include "stdafx.h"
#include "console_internal.h"
#include "debug.h"
#include "engine_func.h"
#include "landscape.h"
#include "saveload/saveload.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 "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 "console_func.h"
#include "engine_base.h"
#include "game/game.hpp"
#include "table/strings.h"
#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.
 DEF_CONSOLE_HOOK (ConHookServerOnly)
 Check whether we are a server.
 DEF_CONSOLE_HOOK (ConHookClientOnly)
 Check whether we are a client in a network game.
 DEF_CONSOLE_HOOK (ConHookNeedNetwork)
 Check whether we are in a multiplayer game.
 DEF_CONSOLE_HOOK (ConHookNoNetwork)
 Check whether we are in single player mode.
 DEF_CONSOLE_HOOK (ConHookNewGRFDeveloperTool)
static void IConsoleHelp (const char *str)
 Show help for the console.
 DEF_CONSOLE_CMD (ConResetEngines)
 Reset status of all engines.
 DEF_CONSOLE_CMD (ConResetEnginePool)
 Reset status of the engine pool.
 DEF_CONSOLE_CMD (ConScrollToTile)
 Scroll to a tile on the map.
 DEF_CONSOLE_CMD (ConSave)
 Save the map to a file.
 DEF_CONSOLE_CMD (ConSaveConfig)
 Explicitly save the configuration.
 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)
 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)
static void PrintLineByLine (char *buf)
 Print a text buffer line by line to the console.
 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 (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.
 DEF_CONSOLE_CMD (ConContent)
 DEF_CONSOLE_CMD (ConSetting)
 DEF_CONSOLE_CMD (ConSettingNewgame)
 DEF_CONSOLE_CMD (ConListSettings)
 DEF_CONSOLE_CMD (ConGamelogPrint)
 DEF_CONSOLE_CMD (ConNewGRFReload)
void IConsoleStdLibRegister ()

Variables

static bool _script_running
 Script is 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 ( ConResetEngines  )

Reset status of all engines.

Returns
Will always succeed.

Definition at line 195 of file console_cmds.cpp.

References IConsoleHelp(), and StartupEngines().

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 211 of file console_cmds.cpp.

References IConsoleError(), IConsoleHelp(), and EngineOverrideManager::ResetToCurrentNewGRFConfig().

DEF_CONSOLE_CMD ( ConScrollToTile  )

Scroll to a tile on the map.

Parameters
arg1tile tile number or tile x coordinate.
arg2optionally tile y coordinate.
Note
When only one argument is given it is intepreted 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 266 of file console_cmds.cpp.

References CC_ERROR, GetArgumentInteger(), IConsoleHelp(), IConsolePrint(), MapSize(), MapSizeX(), MapSizeY(), ScrollMainWindowToTile(), and TileXY().

DEF_CONSOLE_CMD ( ConSave  )

Save the map to a file.

Parameters
filenamethe filename to save the map to.
Returns
True when help was displayed or the file attempted to be saved.

Definition at line 310 of file console_cmds.cpp.

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

DEF_CONSOLE_CMD ( ConSaveConfig  )

Explicitly save the configuration.

Returns
True.

Definition at line 337 of file console_cmds.cpp.

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

DEF_CONSOLE_HOOK ( ConHookServerOnly  )

Check whether we are a server.

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

Definition at line 108 of file console_cmds.cpp.

References _network_server, CHR_ALLOW, CHR_DISALLOW, IConsoleError(), and NetworkAvailable().

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 123 of file console_cmds.cpp.

References _network_server, CHR_ALLOW, CHR_DISALLOW, IConsoleError(), and NetworkAvailable().

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 138 of file console_cmds.cpp.

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

DEF_CONSOLE_HOOK ( ConHookNoNetwork  )

Check whether we are in single player mode.

Returns
True when no network is active.

Definition at line 153 of file console_cmds.cpp.

References _networking, CHR_ALLOW, CHR_DISALLOW, and IConsoleError().

static void IConsoleHelp ( const char *  str)
static

Show help for the console.

Parameters
strString to print in the console.

Definition at line 186 of file console_cmds.cpp.

References CC_WARNING, and IConsolePrintF().

Referenced by DEF_CONSOLE_CMD().

static bool NetworkAvailable ( bool  echo)
inlinestatic

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

Returns
Network availability.

Definition at line 95 of file console_cmds.cpp.

References _network_available, and IConsoleError().

Referenced by DEF_CONSOLE_HOOK().

static void OutputContentState ( const ContentInfo *const  ci)
static
static void PrintLineByLine ( char *  buf)
static

Print a text buffer line by line to the console.

Lines are separated by '
'.

Parameters
bufThe buffer to print.
Note
All newlines are replace by '\0' characters.

Definition at line 1068 of file console_cmds.cpp.

References CC_DEFAULT, and IConsolePrintF().

static ContentType StringToContentType ( const char *  str)
static

Resolve a string to a content type.

Definition at line 1687 of file console_cmds.cpp.

References CONTENT_TYPE_END, and lengthof.