The OpenMW team is proud to announce the release of version 0.51.0 of our open-source engine! Grab it from our Downloads Page for all supported operating systems.
This release allows modders to create magic effects through our scripting API and introduces terrain vertex painting to our content file editor. It also fixes many Lua-related crashes and addresses a few minor annoyances with gamepad menu navigation introduced in the previous release.
Check out the release video by the astounding Gitshiver (also available on PeerTube), and keep reading to learn more about what we have in store for Morrowind’s 24th anniversary!
Things to Keep in Mind
As always, it is generally safe to keep using your existing saves, configuration files, and mod setups in the new release.
To avoid issues, please update any shader mods and mods that implement new UI widgets through OpenMW-Lua. If you still experience slowdowns or visual artifacts, try to narrow down the mods responsible and contact their authors.
The saved game format has changed since version 0.50.0. You cannot load newer saves in older releases.
Have a great time.
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] Red tint on macOS. Some of it can be mitigated by enabling per-pixel lighting
Dialogue
Contributions from Capo, Evil Eye and winklecrux
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
[#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
[#9078] Preview mode is disabled when the preview if stand still setting is disabled
Graphics
Contributions from Capo, Cédric Mocquillon, elsid, Evil Eye, Kartoffels and wazabear
[#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
Contributions from Capo and Evil Eye
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
Contributions from akortunov, Andrzej Głuszak, Aussiemon, Daisyhasacat, ddbb07, Evil Eye, fallchildren, Foal, gbtb, jrdwe, Kuyondo, Maars, S3ctor, Telvanni4Life and wolvman
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). Records injected via the load context 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
[#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
Did you read this to the end, or did you just skim it? Either way, you’re awesome, and we hope to see you in the next release!