Features: Difference between revisions

From OpenMW Wiki
Jump to navigation Jump to search
(Adding new platform support to the list)
No edit summary
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page attempts to keep track of features added to OpenMW that were not part of the original Morrowind engine.
This page keeps track of features added to OpenMW that were not part of the original Morrowind engine.


= Scripting =
= Scripting =
Line 11: Line 11:
= GUI =
= GUI =


* Support for TrueType fonts
* GUI scaling option, useful to improve readability on high resolution displays
* 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
* World map adjusts automatically to fit new landmass from mods such as Tamriel Rebuilt
Line 21: Line 22:
* Various small usability fixes
* Various small usability fixes
* When placing items, irrelevant windows (stats, map and spell windows) will turn transparent on mouse-over and allow click-through
* 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
* Improved birthsign selection menu


= Game saving/loading =
= Game saving/loading =


* Saves organized by character
* Saves organized by character
* Track the time played (not displayed by default, see [https://wiki.openmw.org/index.php?title=Config_file_tweaks#Game_time_tracker Config file tweaks])
* Track the time played (not displayed by default, see [http://openmw.readthedocs.io/en/master/reference/modding/settings/saves.html#timeplayed Saves Settings])


= Controls =
= Controls =
Line 31: Line 34:
* Joystick support - although no special joystick user interface yet  
* Joystick support - although no special joystick user interface yet  
* Hardware cursors - this means the GUI cursor is always fluent, independent of the framerate.
* Hardware cursors - this means the GUI cursor is always fluent, independent of the framerate.
* Keyboard Layout Support - original Morrowind would always use QWERTY keyboard regardless of system setting; OpenMW will correctly map the buttons
* Held attacks (e.g. a nocked arrow) may be canceled by using the Ready Weapon key.
* 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 =
= Sound & Video =


* Audio and video formats: all formats supported by [http://www.ffmpeg.org/general.html#Supported-File-Formats_002c-Codecs-or-Features FFmpeg]
* Audio and video formats: all formats supported by [http://www.ffmpeg.org/general.html#Supported-File-Formats_002c-Codecs-or-Features FFmpeg]
* Improved underwater sound filter


= Graphics =
= Graphics =


* Improved rendering precision. The vanilla engine had precision issues that result in objects shaking when the player travels far from the world origin.
* Improved rendering precision - the vanilla engine had precision issues that result in objects shaking when the player travels far from the world origin
<!--
 
* Depth shadow mapping
-->
* Support normal, specular, and parallax texture maps ([[TextureModding]])
* Support normal, specular, and parallax texture maps ([[TextureModding]])
* Unclamped lighting (See [[TextureModding]] for info on enabling this option)
* Unclamped lighting (See [[TextureModding]] for info on enabling this option)
Line 51: Line 49:
* Adjustable field of view
* Adjustable field of view
* Anisotropic filtering
* Anisotropic filtering
* Improved sun flare (using occlusion queries)
* Improved sun flare rendering using hardware occlusion queries
* New water shader featuring reflection and refraction effects
* New water shader featuring reflection and refraction effects
* Seamless terrain rendering
* New terrain engine featuring seamless rendering and [https://openmw.readthedocs.io/en/stable/reference/modding/settings/terrain.html#distant-terrain distant terrain]
<!--
* Built-in distant terrain support
-->
* Support for [[Native_Mesh_Format|OSG mesh / scene files]] as an alternative to the proprietary NIF format
* Support for [[Native_Mesh_Format|OSG mesh / scene files]] as an alternative to the proprietary NIF format
* Support for weapon sheathing, including dynamic quivers and scabbards


= Misc =
= Misc =


* Support for macOS and Linux, in addition to Windows
* Cross-platform (macOS and Linux builds and source code are provided)
* Multiple data directories (see [[Mod installation]]).
* Multiple data folders support (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.
* Replaced the content file limit of 255 (2^8-1) with a content file limit of 2147483646 (2^31-2) and a per content file limit on the number of dependencies of 255.
* Various options available to facilitate game testing (see [[Testing#Game_Arguments]]).
* Various options available to facilitate game testing (see [[Testing#Game_Arguments]]).
* Objects in any cell can be referenced by scripts (in vanilla Morrowind, only objects in recently-visited cells could be referenced).
* 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|settings]]
* Added support for per-group animation files - there is no need to merge them via AnimKit.
 
* Added many new [http://openmw.readthedocs.io/en/master/reference/modding/settings/index.html 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
= Bugfixes =
** 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
Since OpenMW is written from scratch, most bugs in the Morrowind engine do not affect OpenMW in the first place. Most notably, our engine should not suffer from random crashes.
** 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.
See also the [[Bugs]] page.

Revision as of 18:44, 28 November 2018

This page keeps 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
  • Improved birthsign selection menu

Game saving/loading

  • Saves organized by character
  • Track the time played (not displayed by default, see Saves Settings)

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.

Sound & Video

  • Audio and video formats: all formats supported by FFmpeg
  • Improved underwater sound filter

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
  • Support for weapon sheathing, including dynamic quivers and scabbards

Misc

  • Cross-platform (macOS and Linux builds and source code are provided)
  • Multiple data folders support (see Mod installation).
  • Replaced the content file limit of 255 (2^8-1) with a content file limit of 2147483646 (2^31-2) and a per content file limit on the number of dependencies of 255.
  • Various options available to facilitate game testing (see Testing#Game_Arguments).
  • Objects in any cell can be referenced by scripts (in vanilla Morrowind, only objects in recently-visited cells could be referenced).
  • Added support for per-group animation files - there is no need to merge them via AnimKit.
  • Added many new user settings.

Bugfixes

Since OpenMW is written from scratch, most bugs in the Morrowind engine do not affect OpenMW in the first place. Most notably, our engine should not suffer from random crashes.

See also the Bugs page.