Engine:Console commands

From AddOn Studio
Revision as of 05:58, 14 October 2023 by Bear (talk | contribs) (→‎Data module)
Jump to navigation Jump to search

Engine development

This is a reference for Engine console commands available for use a chat window or other console, and as macro commands in a macro.

This list describes all of the slash commands, console commands and console variables from Engine itself, in one list for now, and not ones from any additional components or AddOns. These same commands are available in the base Engine scripting language.

Notes

  • By default, the console can be opened by pressing the 'back tick' (`) and exited by pressing escape (Esc).
  • If in a chat type box, commands can be run by starting with a forward slash (/) before the command line, to separate them from actual chat.

Key

  • 'Global commands' and 'Global variables' - below are short-hand for commands placed in the 'global' context.
  • 'Default command' - is run by default if its context is addressed by name or is the current context. Examples:
    • Prints 3. Where the 'lua' context is addressable from 'global', and 'print' is a real Lua command, not an Engine script one.
      lua print(1 + 3)
    • Also prints 3 and return to global. Where context is switched to, then the Lua command is run.
      context lua; print(1 + 3); exit
    • Starts the client module.
      client start
    • Starts the client module and returns to global.
      context client; start; context global
    • Prints 'fred', using the 'global' default 'varedit' command. 'bob' is not a command but an existing variable.
      var bob fred; bob
    • Prints 'james'. Where the default command finds the existing 'bob' variable in the 'global' context, and assigns 'james'.
      bob james; bob
  • Command - An engine module command.
  • Variable - An engine variable, similar to 'CVars' or config vars.
  • Alias - An alias or macro which is a string of script.
  • Binding - key bindings to the keyboard or mouse buttons, or from other real or virtual devices.
  • Associations - Module or context associations and features.
  • Service - An engine messaging service. Which may be internal, local, or network for send or receive.
  • Script - May refer to the base Engine script language, which can contain elements here. Or to strings of commands for an alias, or integrated higher-level scripting like blended in-line engine script with lua, JS, or C#.
  • Context - A script or command context. Each context may have its own commands and variables and rules.
  • Module - An independent static module built into the engine.

Reference

In Engine, commands are divided into sets defined by modules. Some commands are always available by default. Others are only available by setting console context to that module first. In some modules, there can be a default command that gets run if no actual command is specified.

Data module

  • In context by default
  • Default command is 'varedit' if in context

Global commands:

varedit (default) - (none), / - Sets an existing variable. If does not exist then fails.
var - var, /var - Creates a new variable only. If already exists, then does not change value.
set - set, /set - Creates or sets a variable. Works whether already exists or not.
alias - alias, /alias - New named script. Will change existing alias if already created.
bind - bind, /bind - Key to script. Map a key to a script block.
echo - echo, /echo - Write text to log only. Print text to current console but not the file.
print - print, /print - Write text to log and file. Print text to current console and to file.
context - context, /context - Change context. Change current console context to another known context.
run - run, /run - Load and run script file. Run a named script file. Name must include extension.

Global vars:

lib_path - './lib/' - Path for native 'world' modules.
base_path - './data/' - Path for content and assets.
module - 'game' - Base name for 'world' module, without platform postfix.
GameDll - (none) - Full path for 'world' module, './lib/gamex86.dll'.
s_use_ai - '1.0' - If world 'AI' processing is enabled.
map - 'maps/base1.bsp' - Full path for default content module.
startup - (none) - Full path of initial startup script.

Assignments:

Explicit context name is 'global'
Default reachable contexts: 'client'
Optional reachable contexts: 'lua'
Default log assignment is 'log'
Initial console assignment is 'console'

Lua context

Free standing Lua context in the Data module as a script interface to the main Lua runtime.

  • Default command is 'lua_edit' if in context

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

Explicit context name is 'lua' reachable through 'global'
Inherits 'global' context

Lua context commands:

lua_edit - (none), / - Runs a Lua command in the main Lua runtime as though were in a Lua console
run - lua run - Runs a Lua command in the Lua runtime.
block - lua run - Runs a Lua command block in the Lua runtime
exit - lua exit - Immediately switches current context to 'global'

Lua context aliases:

none

Msg module

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

none

Render module

Global commands:

none

Global vars:

r_width - '900' - Initial main window height.
r_height - '600' - Initial main window width.
r_bpp - '32' - Initial render device color bit depth.
r_fullscreen - (none) - If device full-screen, without window.
r_gamma - '1.0' - Device color gamma correction.
r_vsync - '1.0' - If should render each frame one frame synced with device rate.

Assignments:

none

Input module

Global commands:

quit - quit, /quit - Exits engine immediately with graceful shutdown.

Global vars:

m_sensitivity - '1.0' - General mouse sensitivity.
m_raw - '1' (0,1,2) - 0 off if can, 1 on if can, 2 force on. Windows always on. Off if platform not complete or in a VM.

Bindings:

KB_ESC - 27 - 'quit'

Assignments:

none

Console module

Global commands:

console - console, /console - Opens command console

Global vars:

none

Bindings:

KB_GRAVE - 192 - 'console'

Assignments:

Service name 'console'

World module

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

none

Server module

Global commands:

none

Global vars:

none

Bindings:

none

Assignments:

Service name 'server'

Client module

Global commands:

none

Global vars:

fov - '90' - World field of view for display

Bindings:

none

Assignments:

Explicit context name is 'client' reachable through 'global'
Inherits 'global' context
Service name 'client'

Client context commands:

start - client start - Starts the 'client' module.
stop - client stop - Stops the 'client' module.

Client context aliases:

lol - client lol - 'print "client lol"' - Demo alias. Prints "client lol".