Testing
For anyone who wants to give OpenMW a try, this will get you started in testing things out.
Starting the Game with Special Arguments
There are two ways to start the game with special arguments:
- Add the commands to the user's openmw.cfg file (See Paths), in the form of
something=value
, with each command being on a new line. - Add terminal/command line arguments when you run it through the executable that are can be added with the form
openmw --something --something-else
- On macOS, these commands must be run like this:
./OpenMW.app/Contents/MacOS/openmw --help
- On macOS, these commands must be run like this:
Openmw.cfg | Command Line | Description |
---|---|---|
N/A | --help
|
Gives a good overview of options available at launch. |
skip-menu=1
|
--skip-menu
|
Skips the introduction tutorial and generates a default character at a default cell. |
start=Sadrith Mora
|
--start="Sadrith Mora"
|
Requires skip-menu=1 /--skip-menu , starts the game at the designated starting cell.
|
activate-dist=value
|
--activate-dist=value
|
Allows you to override the maximum activation distance for objects the player is looking at. The normal value is the GMST iMaxActivateDist (192 by default). Increasing this value can speed up testing. |
script-run=/path/filename
|
--script-run=/path/filename
|
Execute all in-game console commands in the specified file upon starting a game. Applies to regular, newly started games, but also when using the --skip-menu argument. For example, this can be used to set up your new testing characters with items, spells, etc. |
In-game Commands
UESPwiki has basic console tips and a full list of console commands. For the current implementation status of these commands in OpenMW, see Scripting (status).
Note that OpenMW's console supports tab completion, so in most cases you don't have to fully type a command / name. For example, entering COC "Balmora, Caius <Tab>
results in COC "Balmora, Caius Cosades' House"
To obtain all valid IDs for a particular command, you can use ESMTool or OpenMW-CS (OpenCS), both included in the OpenMW repository.
Extended Tooltips
The TFH (ToggleFullHelp) command will reveal more information in item tooltips, such as the owner of the item and the script attached to it, if any.
Cells
Teleporting commands are:
- COC (CenterOnCell), to be used with cell names (interior or exterior), e.g.:
COC "Seyda Neen, Arrille's Tradehouse"
orCOC Balmora
- COE (CenterOnExterior) for world-map x,y coordinates for exterior cells, e.g.:
COE 2,3
Physics
- Use the console command TCL (ToggleCollision) to toggle gravity and physics interactions (i.e., clipping – you can fly through walls, floors, etc.).
- TCG (ToggleCollisionGrid) reveals the collision geometry.
Environment
You can alter global variables with console syntax of the form set variable to value
(e.g., set timescale to 2000
) and reveal their current value by typing their name.
Interesting global variables to tinker with are timescale for the game speed (default is 30) and gamehour for the game hour.
ChangeWeather sets the weather in a certain region. Look it up in the UESP wiki for the definition and examples.
GUI
Journal
You can populate the journal by talking to quest-offering NPCs or through the console with a command of the form Journal, "A2_4_MiloGone", 10
(i.e., Journal, "QuestID", QuestStage
).
Environment variables
Debugging
This section is intended purely for developers that compile their own build of OpenMW. Regular users will need to rely on the built in crash reporting tool.
Compiling a Debug Build
If you run openmw in a debugger like gdb, you will see that many sections of code have been optimized out by the compiler, making it difficult to track what is going on. In order to disable this optimization, specify cmake to switch to a debug build. Go to your openmw/build
folder, and run the command
cmake ../ -DCMAKE_BUILD_TYPE=Debug
make
You can also speed up compilation time by compiling different targets. For example make openmw
will build just the openmw engine without building other tools like the launcher and construction set. This can be applied to other components as well, like make openmw-cs
Using a Debugger
If you are running the game with a debugger to analyze a segmentation fault you should run the game with the --no-grab
argument (or equivalent) to avoid the game locking up the mouse input when it crashes.
For example, with gdb:
gdb ./openmw
run --no-grab