OpenTTD Source 20241224-master-gf74b0cf984
|
Handling of the in-game console. More...
#include "stdafx.h"
#include "console_internal.h"
#include "network/network.h"
#include "network/network_func.h"
#include "network/network_admin.h"
#include "debug.h"
#include "console_func.h"
#include "settings_type.h"
#include "safeguards.h"
Go to the source code of this file.
Functions | |
void | IConsoleInit () |
static void | IConsoleWriteToLogFile (const std::string &string) |
bool | CloseConsoleLogIfActive () |
void | IConsoleFree () |
void | IConsolePrint (TextColour colour_code, const std::string &string) |
Handle the printing of text entered into the console or redirected there by any other means. | |
bool | GetArgumentInteger (uint32_t *value, const char *arg) |
Change a string into its number representation. | |
static std::string | RemoveUnderscores (std::string name) |
Creates a copy of a string with underscores removed from it. | |
static void | IConsoleAliasExec (const IConsoleAlias *alias, uint8_t tokencount, char *tokens[ICON_TOKEN_COUNT], const uint recurse_count) |
An alias is just another name for a command, or for more commands Execute it as well. | |
void | IConsoleCmdExec (const std::string &command_string, const uint recurse_count) |
Execute a given command passed to us. | |
Variables | |
static const uint | ICON_TOKEN_COUNT = 20 |
Maximum number of tokens in one command. | |
static const uint | ICON_MAX_RECURSE = 10 |
Maximum number of recursion. | |
std::optional< FileHandle > | _iconsole_output_file |
Handling of the in-game console.
Definition in file console.cpp.
bool CloseConsoleLogIfActive | ( | ) |
Definition at line 63 of file console.cpp.
bool GetArgumentInteger | ( | uint32_t * | value, |
const char * | arg | ||
) |
Change a string into its number representation.
Supports decimal and hexadecimal numbers as well as 'on'/'off' 'true'/'false'
*value | the variable a successful conversion will be put in |
*arg | the string to be converted |
Definition at line 127 of file console.cpp.
Referenced by DEF_CONSOLE_CMD(), and DEF_CONSOLE_CMD().
|
static |
An alias is just another name for a command, or for more commands Execute it as well.
*alias | is the alias of the command |
tokencount | the number of parameters passed |
*tokens | are the parameters given to the original command (0 is the first param) |
Definition at line 207 of file console.cpp.
References CC_ERROR, CC_HELP, IConsoleAlias::cmdline, Debug, ICON_MAX_RECURSE, ICON_MAX_STREAMSIZE, IConsoleCmdExec(), IConsolePrint(), and IConsoleAlias::name.
Referenced by IConsoleCmdExec().
void IConsoleCmdExec | ( | const std::string & | command_string, |
const uint | recurse_count | ||
) |
Execute a given command passed to us.
First chop it up into individual tokens (separated by spaces), then execute it if possible
command_string | string to be parsed and executed |
Definition at line 291 of file console.cpp.
References IConsole::AliasGet(), CC_ERROR, CHR_ALLOW, CHR_DISALLOW, CHR_HIDE, IConsole::CmdGet(), CS_ALPHANUMERAL, Debug, IConsoleCmd::hook, ICON_MAX_STREAMSIZE, ICON_TOKEN_COUNT, IConsoleAliasExec(), IConsolePrint(), IsValidChar(), lengthof, IConsoleCmd::proc, and StrEmpty().
Referenced by IConsoleAliasExec(), TCPClientConnecter::OnConnect(), IConsoleWindow::OnKeyPress(), AfterNewGRFScan::OnNewGRFsScanned(), OnStartGame(), ServerNetworkAdminSocketHandler::Receive_ADMIN_RCON(), ServerNetworkGameSocketHandler::Receive_CLIENT_ACK(), and ServerNetworkGameSocketHandler::Receive_CLIENT_RCON().
void IConsoleFree | ( | ) |
Definition at line 74 of file console.cpp.
void IConsoleInit | ( | ) |
Definition at line 39 of file console.cpp.
void IConsolePrint | ( | TextColour | colour_code, |
const std::string & | string | ||
) |
Handle the printing of text entered into the console or redirected there by any other means.
Text can be redirected to other clients in a network game as well as to a logfile. If the network server is a dedicated server, all activities are also logged. All lines to print are added to a temporary buffer which can be used as a history to print them onscreen
colour_code | The colour of the command. |
string | The message to output on the console (notice, error, etc.) |
Definition at line 89 of file console.cpp.
References _network_dedicated, _redirect_console_to_admin, _redirect_console_to_client, GetLogPrefix(), IConsoleGUIPrint(), INVALID_ADMIN_ID, INVALID_CLIENT_ID, IsValidConsoleColour(), NetworkAdminConsole(), NetworkServerSendAdminRcon(), NetworkServerSendRcon(), StrMakeValid(), and SVS_NONE.
Referenced by IConsole::AliasRegister(), ConPrintFramerate(), DebugSendRemoteMessages(), DEF_CONSOLE_CMD(), DEF_CONSOLE_CMD(), DEF_CONSOLE_CMD(), DEF_CONSOLE_CMD(), DEF_CONSOLE_CMD(), DEF_CONSOLE_CMD(), DEF_CONSOLE_CMD(), DEF_CONSOLE_HOOK(), DEF_CONSOLE_HOOK(), DEF_CONSOLE_HOOK(), DEF_CONSOLE_HOOK(), DEF_CONSOLE_HOOK(), DEF_CONSOLE_HOOK(), IConsoleAliasExec(), IConsoleCmdExec(), IConsoleGetSetting(), IConsoleListSettings(), IConsolePrint(), NetworkAutoCleanCompanies(), NetworkAvailable(), NetworkPrintClients(), NetworkServer_Tick(), NetworkServerShowStatusToConsole(), ConsoleContentCallback::OnConnect(), ConsoleContentCallback::OnDisconnect(), ConsoleContentCallback::OnDownloadComplete(), IConsoleWindow::OnKeyPress(), OutputContentState(), Gamelog::PrintConsole(), PrintLineByLine(), ServerNetworkGameSocketHandler::Receive_CLIENT_CHAT(), ServerNetworkGameSocketHandler::Receive_CLIENT_COMMAND(), ClientNetworkGameSocketHandler::Receive_SERVER_COMMAND(), ClientNetworkGameSocketHandler::Receive_SERVER_RCON(), and ShowErrorMessage().
|
static |
Definition at line 50 of file console.cpp.
|
static |
Creates a copy of a string with underscores removed from it.
name | String to remove the underscores from. |
Definition at line 149 of file console.cpp.
Referenced by IConsole::AliasGet(), IConsole::AliasRegister(), IConsole::CmdGet(), and IConsole::CmdRegister().
std::optional<FileHandle> _iconsole_output_file |
Definition at line 37 of file console.cpp.
|
static |
Maximum number of recursion.
Definition at line 22 of file console.cpp.
Referenced by IConsoleAliasExec().
|
static |
Maximum number of tokens in one command.
Definition at line 21 of file console.cpp.
Referenced by IConsoleCmdExec().