WoW:Console: Difference between revisions

No edit summary
No edit summary
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
The console is fundamental to the entire engine. It determines how the [[WoW:GxApi|Graphics API]] is initialized, controls how [[WoW:CVar|configurations]] are set, and allows many features to be toggled or adjusted using [[WoW:Console commands|commands]] without having to quit the game.
The console is fundamental to the entire World of Warcraft engine. It determines how the [[WoW:GxApi|Graphics API]] is initialized, controls how [[WoW:CVar|configurations]] are set, and allows many features to be toggled or adjusted using [[WoW:Console#Commands|commands]] without having to quit the game.


== Commands ==
== Commands ==


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:
A command is a whitespace-less string associated with various attributes:


<code>
* A function:
RUN commandname "with argument"
 
</code>
The function accepts the name of the command as a string, as well as an optional argument string. For example, running the following command:
 
<pre>
commandname "with argument"
</pre>


will dispatch a handler function:
will dispatch a handler function:


<code>
<pre>
int32 handler(const char* command, const char* argument) {
int32 handler(const char* command, const char* argument) {
   print(command);  // "commandname"
   print(command);  // "commandname"
   print(argument); // "with argument"
   print(argument); // "with argument"
   return 1;
   return 1; // boolean, 1 means the command succeeded
}
}
</code>
</pre>
 
* A [[#Categories|category number]]
 
Determines the placement of the command when displayed using [[WoW:help (Console command)|help command]].
 
* Help text
 
This is left empty in most cases. It describes how to use the command, and is shown by the [[WoW:help (Console command)|help command]].


=== Categories ===
=== Categories ===


Every [[#Commands|Command]] or [[WoW:CVar]] belongs to a category number.
Every command or [[WoW:CVar|CVar]] belongs to a category number.
 
== WTF Files ==
 
Configurations are persisted across game sessions using WTF (Warcraft Text File?) files.
 
Each WTF is a text file, containing only [[#Commands|commands]] separated by a <code>\r\n</code>, or CRLF sequence.
 
Differently named WTFs may interpret specific commands only, such as Config.wtf, and realmlist.wtf which reject every line that does not begin with the [[WoW:set (Console command)|set command]].
 
Config.wtf is loaded by the client immediately at startup, and saved during graceful shutdown. It contains every non-default [[WoW:CVar|CVar]] set by the client.
 
== Usage ==
 
To enable the console, the client must be specially launched using the <code>-console</code> command-line argument.
 
To use the console, simply press the tilde (~) key at the top-left of your keyboard to show the draggable console screen.
 
== Screen ==
 
The screen is customizable using several CVars.