Features

This page attempts to keep track of features added to OpenMW that were not part of the original Morrowind engine.

= Scripting =


 * Stricter compiler and compiler warnings. Error handling in the vanilla MW script compiler was very limited.
 * Function arguments can now be expressions of arbitrary complexity. Vanilla MW would not even allow simple variable arguments for some functions.
 * Arbitrary limitations on code depth/size are not present anymore. For example, there was a limit on how deep you can nest if/endif clauses. And there was also a limit on the length of a if/endif block.
 * Fixed a large number of miscellaneous pitfalls and limitations.
 * Script variable values are stored by name in saved games, so that reordering or adding new script variables in a content file does not cause incompatibilities with existing save files.

= GUI =


 * Support for TrueType fonts
 * GUI scaling option, useful to improve readability on high resolution displays
 * World map adjusts automatically to fit new landmass from mods such as Tamriel Rebuilt
 * Improved save/load dialogs. Saves are organized by character
 * Improved item selection dialog
 * Improved and resizable alchemy dialog
 * Allow keyboard input for item count dialog and trade window price
 * Improved console (colors, tab completion of commands and object IDs)
 * Copy&paste from system clipboard
 * Various small usability fixes
 * When placing items, irrelevant windows (stats, map and spell windows) will turn transparent on mouse-over and allow click-through
 * Improved repair and recharge widgets: allow to swap tool/soulgem on the fly, without widget restart

= Game saving/loading =


 * Saves organized by character
 * Track the time played (not displayed by default, see Config file tweaks)

= Controls =


 * Joystick support - although no special joystick user interface yet
 * Hardware cursors - this means the GUI cursor is always fluent, independent of the framerate.
 * Held attacks (e.g. a nocked arrow) may be canceled by using the Ready Weapon key.
 * The annoying "Finish your current attack before equipping a new weapon" error has been removed and instead plays the weapon equip animation.

= Media =


 * Audio and video formats: all formats supported by FFmpeg

= Graphics =


 * Improved rendering precision - the vanilla engine had precision issues that result in objects shaking when the player travels far from the world origin


 * Support normal, specular, and parallax texture maps (TextureModding)
 * Unclamped lighting (See TextureModding for info on enabling this option)
 * Support for all resolutions
 * Adjustable field of view
 * Anisotropic filtering
 * Improved sun flare rendering using hardware occlusion queries
 * New water shader featuring reflection and refraction effects
 * New terrain engine featuring seamless rendering and distant terrain
 * Support for OSG mesh / scene files as an alternative to the proprietary NIF format

= Misc =


 * Support for macOS and Linux, in addition to Windows
 * Multiple data directories (see Mod installation).
 * Replaced the content file limit of 255 with a content file limit of 2147483646 and a per content file limit on the number of dependencies of 255.
 * Various options available to facilitate game testing (see Testing).
 * Objects in any cell can be referenced by scripts (in vanilla Morrowind, only objects in recently-visited cells could be referenced).
 * Added many new user settings

= Selected Bugfixes =

Since OpenMW is written from scratch, almost all bugs in the Morrowind engine do not affect OpenMW in the first place. Attempting to list them all would be a futile effort, but the most game-breaking ones are worth mentioning:


 * Owner contamination fix
 * When an item owned by an NPC is stolen, it could "contaminate" a stack of similar items and flag the whole stack as stolen. OpenMW creates a separate stack for non-stolen items.


 * Savegame doubling fix
 * Morrowind's savegame system suffers from a design flaw that could cause objects to duplicate. This should never happen in OpenMW.

For more detail on bugs in the vanilla engine see the Bugs page.