github OpenMW/openmw openmw-51-rc1
OpenMW 0.51.0 RC1

pre-release20 hours ago

This is the first round of release candidate (RC) builds of the upcoming 0.51.0 stable release, available for wider testing. Preliminary changes vs. the 0.50.0 stable release are listed below; further changes may occur in subsequent RC rounds and in the full release.

Announcement blog post and Linux builds: TBA

Note that the saved game format has changed. Existing saves will be compatible with 0.51.0, but you cannot go back to an earlier release to load a save created in 0.51.0.

Known Issues

  • On macOS, launching OpenMW from OpenMW-CS requires OpenMW.app and OpenMW-CS.app to be siblings.
  • [#7511] On Windows, a freeze may be reported if engine startup takes too long; ignoring the message is usually harmless, as it should eventually disappear, but if it doesn't, please share the freeze dump with us
  • [#8233] Hardware antialiasing may cause driver timeouts on AMD GPUs of the RX 6000 and 7000 series; this is a driver bug AMD has yet to address
  • [#8255] On Intel GPUs, the game may freeze visually while still responding to input. This is a driver bug; as a workaround, you may need to install an older version of the driver
  • [#8464] Shader rendering is tinted red on Apple Silicon; enable per-pixel lighting to prevent that

Dialogue

New Features

  • [#7297] Support for topic marking (MRK) files from Russian Morrowind; they override the keywords used for implicit topic highlighting
  • [#8956] The iGreetDuration and fGreetDistanceReset game settings are now used in voiced greeting logic

Fixes

  • [#7340] The Should Attack filter now passes for actors that are already in combat; this concerns actors that are not normally hostile, like guards
  • [#8760] Implicit topic highlighting supports single-character topics
  • [#8978] Added support for custom word separators required for Polish Morrowind topic highlighting (brackets and parentheses)
  • Mixed implicit/explicit topic highlighting is properly supported

Gameplay

New Features

  • [#8731] Hand to Hand Hit 2 sound is now used
  • [#8801] More controller buttons can be used for actions

Fixes

  • [#7605] Creatures that cannot equip items can use enchanted items
  • [#8123] Various restrictions on equipping weapons during an attack were lifted (e.g., equipping ammunition)
  • [#8692] The above extends to switching between enchanted items while casting a spell
  • [#8765] Diseased actors may infect actors other than the player
  • [#8847] Stretched collision box detection is more accurate
  • [#8926] Weapon swish sound has been restored for thrown projectiles
  • [#8929] Old effects now stick around for a frame when they're re-cast; this makes Weakness to Magicka increase its own magnitude
  • [#8949] Instant effects are no longer applied twice
  • [#8975] Stat modifiers are reset when werewolf modifiers are applied
  • [#9062] Staggering an actor when they're unequipping a weapon and intend to re-equip it will no longer break their combat animation state

Graphics

  • [#9001] Exclusive fixed-function pipeline rendering mode and the legacy lighting method have been removed

New Features

  • [#6885] BC6H and BC7 compression are now supported for DDS files, as long as our OpenSceneGraph fork is used; this requires driver support and may not apply to all platforms
  • [#8826] Sunlight direction is exposed to post-processing
  • [#9030] Camera projection offset is configurable through Lua, which allows implementing techniques such as temporal antialiasing

Fixes

  • [#6439] Fixed moon rendering: moon shadow colour and moon phase transparency are now used
  • [#8351] Malformed NIF models are much less likely to cause freezes or crashes and will instead be gracefully rejected
  • [#8657] Fixed a preloading-related crash on exit if startup was interrupted by non-graceful error handling (e.g., missing GUI layout files)
  • [#8820] Non-carriable light sources like the scripted Trueflame light are properly detected again (0.50.0 regression)
  • [#8854] Shaders from the post-processing chain that disable the sunglare will no longer disable it if post-processing is disabled
  • [#8864] At storm wind speed, rain and snow properly produce ripples and no longer follow the camera, while heavy wind no longer makes rain look chaotic
  • [#8884] Object paging no longer discards LOD centre data, making LOD level selection more reliable
  • [#8924] Unnecessary hand-to-hand transition is skipped when you run out of thrown ammunition
  • [#8930] Fixed a crash when a Gamebryo mesh has an extra data link that doesn't point to anything
  • [#8983] Unequipping ammunition when preparing a ranged attack no longer cancels it immediately
  • [#8985] Visual effects no longer make objects that use their model non-interactable
  • [#8988] Particles are inverted vertically to match Morrowind
  • [#8996] Fixed a crash when skinning data references a vertex that does not exist (the mesh will be rejected)
  • [#9026] Thrown projectiles are rotated towards their movement direction again

Scripting: mwscript

New Features

  • [#7830] Global script targets that don't come from a content file are now preserved (unlike Morrowind)

Fixes

  • [#6494] Global variable reading is more consistent between ARM and x86_64 platforms. This ensures Raven Rock buildings don't show up earlier than intended on Android and macOS
  • [#8129] Parsing of unquoted string literals as MessageBox button arguments is more consistent with Morrowind
  • [#8732] MessageBox formatting supports more notation specifiers and flags

Scripting: OpenMW-Lua

For a full overview of the current state of OpenMW-Lua, please consult the scripting API reference.

New Context

Scripts that use this work-in-progress context run once, immediately after all content files are loaded. It exposes the loaded records as mutable data. It is related to—but not to be confused with—the existing custom record creation functionality (world.createRecord). Load context-injected records are not serialised into saves.

The API reference provides the full list of exposed types and the types createRecordDraft is implemented for. New in 0.51.0:

  • [#8791] Custom magic effect records (must be injected through the context)
  • Custom ingredients are currently also exclusive to the context
  • [#8342] Custom spells and enchantments can be created both via the context and during runtime
  • [#8911, #8998] Custom container, creature, door, probe and static records can also be created during runtime
  • Potion effect lists can be generated from a table

New Bindings

  • [#2903] Barter gold
  • [#8076] Dialogue filter conditions
  • [#8725] Localised cell names
  • [#8796] Potion autocalc flag
  • [#8816] Werewolf transformation
  • [#8841] Time advancement
  • [#8962] Various flags for magic effects, as well as unused speed
  • [#9010] Object starting cell
  • [#9013] Actor reputation

New Events and Handlers

Other New Features

  • [#8644] Spawned visual effects that are not attached to an object can be referred to by name, looped, and removed
  • [#9002] Unrecognised widget and layout fields now trigger warnings to help prevent mistakes

Fixes

  • [#8110] sound.say respects the subtitles setting
  • [#8601] Very long script settings pages are no longer prone to crashes
  • [#8693] Extreme widget sizes and positions are now clamped to very large values to help prevent crashes
  • [#8699] Moving items should no longer produce orphan script references that cause crashes during processing
  • [#8769] Addressed more potential memory allocation crashes
  • [#8775] nearby.castRay will no longer crash when a table-like object is used as the ignore list
  • [#8779] Skill use handler won't attempt to trigger skill level up (which wouldn't happen) when the skill is maxed out
  • [#8789] Faction reputation requirement binding has been renamed from factionReaction to factionReputation; the old binding is deprecated
  • [#8802] Removing UI layout children will no longer leave orphan references in the layout that cause crashes upon reloading
  • [#8840] To prevent crashes, widgets will no longer accept table-like objects as properties
  • [#8917] Gold stacks are properly spawned
  • [#8980] Fixed a crash when the player is teleported while a menu is open
  • [#9018] Passing a thrust attack to actor controls no longer breaks the game
  • [#9048] Escort packages can be properly started through the AI interface

Other

  • [#8718] Empty RefId fields are consistently exposed as nil

User Interface

New Features

  • [#8705] Unexplored map colour palette is loaded from a texture that can be overridden
  • [#8774] Changing the active controller window in container views also changes the focused window
  • [#8788] Script settings window font and colours rely on relevant settings
  • [#8902] Controller navigation is now possible in the quick keys menu spell selection
  • [#8913] Gamma slider shows its value
  • [#8957] The iMaxInfoDist game setting is used as the menu mode activation distance

Fixes

  • [#8770] When controller tooltips are visible for spells, the cursor is hidden
  • [#8771] Controller item focus is no longer reset inappropriately
  • [#8786] Fixed various issues with door marker update
  • [#8797] Equipping items with the relevant controller action will no longer cause two or three similar sounds to play at the same time
  • [#8799] Show Controller Tooltips By Default setting is now persistent: tooltips will always be enabled when you open a menu
  • [#8833] Resizing item and spell views when controller tooltips are on will no longer break the UI or crash the game
  • [#8946] Spell effect icon sorting and visibility is based on the earliest effect source

OpenMW-CS, Launcher and Tools

New Features

  • [#721] Editor: Right-to-left subview placement option
  • [#2316] ESSImporter: Script target conversion
  • [#5197] Editor: Terrain vertex painting
  • [#7152] Editor: Global search regular expression validation
  • [#7399] Wizard: Steam and GOG Galaxy installation auto-detection
  • [#7493] Launcher: Config directory list (Settings -> Miscellaneous)
  • [#8392] Editor: Selected objects are rotated around a shared centre
  • [#8874] ESMTool: Rotations for door destinations and cell references are printed
  • [#9027] Launcher, Wizard: Bulgarian translation

Fixes

  • [#4769] Editor: Edit ID action is disabled for IDs that don't correspond to a record
  • [#7595] Editor: Bump-mapped objects are properly rendered in the scene view
  • [#8270] Editor: Scene view is no longer inappropriately transparent on Wayland and handles scaling better
  • [#8345] Editor: Operations like global search and saving are faster and should no longer randomly crash, especially on non-Windows systems
  • [#8842] When the --load-savegame command-line option is used, the save’s character profile and slot will be detected based on file equivalence rather than an exact path match
  • [#8999] The wizard no longer adds every directory in the installation list to the config file and properly avoids duplicating existing directories

Don't miss a new openmw release

NewReleases is sending notifications on new releases.