Jump to content

WoW:Console

From Thunderbrew
Revision as of 21:08, 12 June 2025 by Phaneron (talk | contribs)

The console is fundamental to the entire engine. It determines how the Graphics API is initialized, controls how configurations are set, and allows many features to be toggled or adjusted using Commands without having to quit the game.

Commands

A Command is a whitespace-less string that can be associated with a function. The Command may or may not have a help message, and it may have a Category number that controls its placement when displayed by the help command.

A Command is a function associated with a string that contains no whitespace. The function accepts the name of the command as a string, as well as an optional argument string. For example, running the following command:

RUN commandname "with argument"

will dispatch a handler function:

int32 handler(const char* command, const char* argument) {
  print(command);  // "commandname"
  print(argument); // "with argument"
  return 1; // boolean, 1 means the command succeeded
}

Categories

Every Command or CVar belongs to a category number.

WTF Files

Configurations are persisted across game sessions using .WTF (Warcraft Text File?) files.

Each WTF file is a text file, containing only Commands separated by a \r\n, or CRLF sequence.

Differently named WTF files may interpret specific commands only (such as Config.WTF, which rejects every line that does not begin with the set command)

The Config.WTF file is loaded by the engine at startup

Usage

To use the console, the client must be specially launched using the -console command-line argument.