# console.h File Reference

`#include "window_type.h"`

Go to the source code of this file.

## Data Structures

struct | IConsoleHooks
struct | IConsoleCmd
struct | IConsoleVar
| --Variables-- Variables are pointers to real ingame variables which allow for changing while ingame. More...
struct | IConsoleAlias
| --Aliases-- Aliases are like shortcuts for complex functions, variable assignments, etc. More...

## Defines

#define | ICON_CMDLN_SIZE 255
#define | ICON_MAX_STREAMSIZE 1024

## Typedefs

typedef bool | IConsoleHook ()
| --Hooks-- Hooks are certain triggers get get accessed/executed on either access, before execution/change or after execution/change.
typedef bool( | IConsoleCmdProc )(byte argc, char *argv[])
| --Commands-- Commands are commands, or functions.

## Enumerations

enum | IConsoleVarTypes { ICONSOLE_VAR_BOOLEAN, ICONSOLE_VAR_BYTE, ICONSOLE_VAR_UINT16, ICONSOLE_VAR_UINT32, ICONSOLE_VAR_INT16, ICONSOLE_VAR_INT32, ICONSOLE_VAR_STRING }
enum | IConsoleModes { ICONSOLE_FULL, ICONSOLE_OPENED, ICONSOLE_CLOSED }
enum | IConsoleHookTypes { ICONSOLE_HOOK_ACCESS, ICONSOLE_HOOK_PRE_ACTION, ICONSOLE_HOOK_POST_ACTION }

## Functions

void | IConsoleInit ()
void | IConsoleFree ()
void | IConsoleClearBuffer ()
void | IConsoleResize (Window *w)
void | IConsoleSwitch ()
void | IConsoleClose ()
void | IConsoleOpen ()
void | IConsolePrint (uint16 color_code, const char *string)
| Handle the printing of text entered into the console or redirected there by any other means.
void CDECL | IConsolePrintF (uint16 color_code, const char *s,...)
| Handle the printing of text entered into the console or redirected there by any other means.
void | IConsoleDebug (const char *dbg, const char *string)
| It is possible to print debugging information to the console, which is achieved by using this function.
void | IConsoleWarning (const char *string)
| It is possible to print warnings to the console.
void | IConsoleError (const char *string)
| It is possible to print error information to the console.
void | IConsoleCmdRegister (const char *name, IConsoleCmdProc *proc)
| Register a new command to be used in the console.
void | IConsoleAliasRegister (const char *name, const char *cmd)
| Register a an alias for an already existing command in the console.
IConsoleCmd * | IConsoleCmdGet (const char *name)
| Find the command pointed to by its string.
IConsoleAlias * | IConsoleAliasGet (const char *name)
| Find the alias pointed to by its string.
void | IConsoleVarRegister (const char *name, void *addr, IConsoleVarTypes type, const char *help)
| Register a new variable to be used in the console.
void | IConsoleVarStringRegister (const char *name, void *addr, uint32 size, const char *help)
| Special function for adding string-type variables.
IConsoleVar * | IConsoleVarGet (const char *name)
| Find the variable pointed to by its string.
void | IConsoleVarPrintGetValue (const IConsoleVar *var)
| Print out the value of the variable when asked.
void | IConsoleVarPrintSetValue (const IConsoleVar *var)
| Print out the value of the variable after it has been assigned a new value, thus giving us feedback on the action.
void | IConsoleCmdExec (const char *cmdstr)
| Execute a given command passed to us.
void | IConsoleVarExec (const IConsoleVar *var, byte tokencount, char *token[])
void | IConsoleStdLibRegister ()
void | IConsoleCmdHookAdd (const char *name, IConsoleHookTypes type, IConsoleHook *proc)
| Add a hook to a command that will be triggered at certain points.
void | IConsoleVarHookAdd (const char *name, IConsoleHookTypes type, IConsoleHook *proc)
| Add a hook to a variable that will be triggered at certain points.
void | IConsoleVarProcAdd (const char *name, IConsoleCmdProc *proc)
| Add a callback function to the variable.
bool | GetArgumentInteger (uint32 *value, const char *arg)
| Change a string into its number representation.

## Variables

IConsoleCmd * | _iconsole_cmds
| list of registred commands
IConsoleVar * | _iconsole_vars
| list of registred vars
IConsoleAlias * | _iconsole_aliases
| list of registred aliases
byte | _icolour_def
byte | _icolour_err
byte | _icolour_warn
byte | _icolour_dbg
byte | _icolour_cmd
IConsoleModes | _iconsole_mode

## Detailed Description

Definition in file console.h.

## Typedef Documentation

typedef bool( IConsoleCmdProc)(byte argc, char *argv[])

--Commands-- Commands are commands, or functions.

They get executed once and any effect they produce are carried out. The arguments to the commands are given to them, each input word seperated by a double-quote (") is an argument If you want to handle multiple words as one, enclose them in double-quotes eg. 'say "hello sexy boy"'

Definition at line 56 of file console.h.

typedef bool IConsoleHook()

--Hooks-- Hooks are certain triggers get get accessed/executed on either access, before execution/change or after execution/change.

This allows for general flow of permissions or special action needed in some cases

Definition at line 42 of file console.h.

## Function Documentation

bool GetArgumentInteger | ( | uint32 * | value,
|  | const char * | arg |
| ) |  |  |

Change a string into its number representation.

Supports decimal and hexadecimal numbers as well as 'on'/'off' 'true'/'false'

Parameters:

  | *value | the variable a successful conversion will be put in
  | *arg | the string to be converted

Returns:
  Return true on success or false on failure

Definition at line 484 of file console.cpp.

Referenced by IConsoleVarExec().

IConsoleAlias* IConsoleAliasGet | ( | const char * | name | ) |

Find the alias pointed to by its string.

Parameters:

  | name | alias to be found

Returns:
  return Aliasstruct of the found alias, or NULL on failure

Definition at line 685 of file console.cpp.

References IConsoleAlias::name, and IConsoleAlias::next.

Referenced by IConsoleCmdExec().

void IConsoleAliasRegister | ( | const char * | name,
|  | const char * | cmd |
| ) |  |  |

Register a an alias for an already existing command in the console.

Parameters:

  | name | name of the alias that will be used
  | cmd | name of the command that 'name' will be alias of

Definition at line 667 of file console.cpp.

References IConsoleAlias::cmdline, IConsoleAddSorted, IConsoleAlias::name, and IConsoleAlias::next.

void IConsoleCmdExec | ( | const char * | cmdstr | ) |

Execute a given command passed to us.

First chop it up into individual tokens (seperated by spaces), then execute it if possible

Parameters:

  | cmdstr | string to be parsed and executed

Definition at line 1062 of file console.cpp.

References CS_ALPHANUMERAL, IConsoleVar::hook, IConsoleAliasExec(), IConsoleAliasGet(), IConsoleCmdGet(), IConsoleError(), IConsoleHookHandle(), IConsolePrintF(), IConsoleVarExec(), IConsoleVarGet(), and IsValidChar().

Referenced by IConsoleAliasExec().

IConsoleCmd* IConsoleCmdGet | ( | const char * | name | ) |

Find the command pointed to by its string.

Parameters:

  | name | command to be found

Returns:
  return Cmdstruct of the found command, or NULL on failure

Definition at line 652 of file console.cpp.

References _iconsole_cmds.

Referenced by IConsoleCmdExec(), and IConsoleCmdHookAdd().

void IConsoleCmdHookAdd | ( | const char * | name,
|  | IConsoleHookTypes | type,
|  | IConsoleHook * | proc |
| ) |  |  |

Add a hook to a command that will be triggered at certain points.

Parameters:

  | name | name of the command that the hook is added to
  | type | type of hook that is added (ACCESS, BEFORE and AFTER change)
  | proc | function called when the hook criteria is met

Definition at line 564 of file console.cpp.

References IConsoleCmdGet(), and IConsoleHookAdd().

void IConsoleCmdRegister | ( | const char * | name,
|  | IConsoleCmdProc * | proc |
| ) |  |  |

Register a new command to be used in the console.

Parameters:

  | name | name of the command that will be used
  | proc | function that will be called upon execution of command

Definition at line 631 of file console.cpp.

References _iconsole_cmds, and IConsoleAddSorted.

void IConsoleDebug | ( | const char * | dbg,
|  | const char * | string |
| ) |  |  |

It is possible to print debugging information to the console, which is achieved by using this function.

Can only be used by debug() in debug.cpp. You need at least a level 2 (developer) for debugging messages to show up

Parameters:

  | dbg | debugging category
  | string | debugging message

Definition at line 451 of file console.cpp.

References IConsolePrintF().

void IConsoleError | ( | const char * | string | ) |

It is possible to print error information to the console.

This can include game errors, or errors in general you would want the user to notice

Definition at line 472 of file console.cpp.

References IConsolePrintF().

Referenced by IConsoleAliasExec(), IConsoleCmdExec(), and IConsoleVarExec().

void IConsolePrint | ( | uint16 | color_code,
|  | const char * | string |
| ) |  |  |

Handle the printing of text entered into the console or redirected there by any other means.

Text can be redirected to other players 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

Parameters:

  | color_code | the colour of the command. Red in case of errors, etc.
  | string | the message entered or output on the console (notice, error, etc.)

Definition at line 387 of file console.cpp.

References SetWindowDirty(), str_strip_colours(), and str_validate().

Referenced by IConsolePrintF().

void CDECL IConsolePrintF | ( | uint16 | color_code,
|  | const char * | s,
|  |  | ... |
| ) |  |  |

Handle the printing of text entered into the console or redirected there by any other means.

Uses printf() style format, for more information look at IConsolePrint()

Definition at line 431 of file console.cpp.

References buf, and IConsolePrint().

Referenced by IConsoleAliasExec(), IConsoleCmdExec(), IConsoleDebug(), IConsoleError(), IConsoleVarExec(), IConsoleVarPrintGetValue(), IConsoleVarPrintSetValue(), and IConsoleWarning().

IConsoleVar* IConsoleVarGet | ( | const char * | name | ) |

Find the variable pointed to by its string.

Parameters:

  | name | variable to be found

Returns:
  return Varstruct of the found variable, or NULL on failure

Definition at line 831 of file console.cpp.

References IConsoleVar::name, and IConsoleVar::next.

Referenced by IConsoleCmdExec(), IConsoleVarHookAdd(), IConsoleVarProcAdd(), and IConsoleVarStringRegister().

void IConsoleVarHookAdd | ( | const char * | name,
|  | IConsoleHookTypes | type,
|  | IConsoleHook * | proc |
| ) |  |  |

Add a hook to a variable that will be triggered at certain points.

Parameters:

  | name | name of the variable that the hook is added to
  | type | type of hook that is added (ACCESS, BEFORE and AFTER change)
  | proc | function called when the hook criteria is met

Definition at line 577 of file console.cpp.

References IConsoleVar::hook, IConsoleHookAdd(), and IConsoleVarGet().

void IConsoleVarProcAdd | ( | const char * | name,
|  | IConsoleCmdProc * | proc |
| ) |  |  |

Add a callback function to the variable.

Some variables need very special processing, which can only be done with custom code

Parameters:

  | name | name of the variable the callback function is added to
  | proc | the function called

Definition at line 1050 of file console.cpp.

References IConsoleVarGet(), and IConsoleVar::proc.

void IConsoleVarRegister | ( | const char * | name,
|  | void * | addr,
|  | IConsoleVarTypes | type,
|  | const char * | help |
| ) |  |  |

Register a new variable to be used in the console.

Parameters:

  | name | name of the variable that will be used
  | addr | memory location the variable will point to
  | help | the help string shown for the variable
  | type | the type of the variable (simple atomic) so we know which values it can get

Definition at line 806 of file console.cpp.

References IConsoleVar::addr, IConsoleVar::help, IConsoleVar::hook, IConsoleAddSorted, IConsoleVar::name, IConsoleVar::next, IConsoleVar::proc, and IConsoleVar::type.

Referenced by IConsoleVarStringRegister().

void IConsoleVarStringRegister | ( | const char * | name,
|  | void * | addr,
|  | uint32 | size,
|  | const char * | help |
| ) |  |  |

Special function for adding string-type variables.

They in addition also need a 'size' value saying how long their string buffer is.

Parameters:

  | name | name of the variable that will be used
  | addr | memory location the variable will point to
  | size | the length of the string buffer
  | help | the help string shown for the variable For more information see IConsoleVarRegister()

Definition at line 791 of file console.cpp.

References IConsoleVarGet(), IConsoleVarRegister(), and IConsoleVar::size.

void IConsoleWarning | ( | const char * | string | ) |

It is possible to print warnings to the console.

These are mostly errors or mishaps, but non-fatal. You need at least a level 1 (developer) for debugging messages to show up

Definition at line 462 of file console.cpp.

References IConsolePrintF().