Features: Difference between revisions

From OpenMW Wiki
Jump to navigation Jump to search
(Created page with "This page attempts to keep track of features added to OpenMW that were not part of the original Morrowind engine. = Scripting = ? = GUI = * World map adjusts automatically...")
 
No edit summary
(41 intermediate revisions by 9 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 =


?
* 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 =
= 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
* World map adjusts automatically to fit new landmass from mods such as Tamriel Rebuilt
* Improved save/load dialogs. Saves are organized by character
* Improved save/load dialogs. Saves are organized by character
* Improved item selection dialog   
* Improved item selection dialog   
* Improved and resizable alchemy dialog
* Improved and resizable alchemy dialog
* Improved console (colors, tab completion)
* 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
* 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


= Input =
= Game saving/loading =


* Saves organized by character
* Track the time played (not displayed by default, see [http://openmw.readthedocs.io/en/master/reference/modding/settings/saves.html#timeplayed 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.
* 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.


= Media =
= Sound & Video =


* Image formats: all formats supported by [http://freeimage.sourceforge.net/features.html FreeImage]
* 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 =


* Unclamped lighting
* Improved rendering precision - the vanilla engine had precision issues that result in objects shaking when the player travels far from the world origin
** Morrowind used the fixed function pipeline which imposes a limit on the maximum amount of lighting. This typically made day-time lighting look flat. (Add comparison screenshots)
* Support normal, specular, and parallax texture maps ([[TextureModding]])
* Support normal, specular, and parallax maps ([[TextureModding]])
* Unclamped lighting (See [[TextureModding]] for info on enabling this option)
* Support for all resolutions
* Support for all resolutions
* Adjustable field of view
* Adjustable field of view
* Anisotropic filtering
* Anisotropic filtering
* Depth shadow mapping
* Improved sun flare rendering using hardware occlusion queries
* More accurate sun flare using occlusion queries
* New water shader featuring reflection and refraction effects
* Smooth cloud transition when switching to a different weather
* New terrain engine featuring seamless rendering and [https://openmw.readthedocs.io/en/stable/reference/modding/settings/terrain.html#distant-terrain distant terrain]
 
* Support for [[Native_Mesh_Format|OSG mesh / scene files]] as an alternative to the proprietary NIF format
== Terrain ==
* Support for weapon sheathing, including dynamic quivers and scabbards
 
• Uses alpha-splatting (fixes all visible seams)
• Built-in distant terrain support


= Misc =
= Misc =


* Camera zoom in third person mode
* 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 (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.
= Selected Bugfixes =
* 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).
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:
* 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].


* Infinite merchant restock fix
= Bugfixes =
** Selling an item to a merchant would permanently increase the restock capacity of that item, making it easy to buy enormous amounts of an item very quickly. This exploit no longer exists in OpenMW.


* Owner contamination 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.
** 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
See also the [[Bugs]] page.
** Morrowind's savegame system suffers from a design flaw that could cause objects to duplicate. This should never happen in OpenMW.

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.