Fork me on GitLab
Long time no see!
2019-06-20 - lysol
Hello everyone and thanks for stopping by.
Apologies for the long silence since the last release. That silence does not mean nothing has happened, however – quite the contrary actually! The upcoming OpenMW version 0.46.0 is already a huge release with many major differences compared to the current stable OpenMW release of 0.45.0. This news post is going to briefly sum up everything that has been going on behind the scenes. Quite a challenge when there is so much to talk about!
First off, akortunov got a really nice feature merged into OpenMW a while ago: native graphic herbalism. He had already finished a first draft of that feature when Stuporstar and Greatness7 started working on their MWSE-Lua mod, and they eventually decided to work together to make sure the meshes would be compatible between Morrowind+MWSE-Lua and OpenMW. When the release of the mod got closer, akortunov focused on finishing the pull request for OpenMW. As a result, players have been enjoying graphic herbalism without any performance penalties for quite a while now. Great work, guys!
Capostrophic has been working on many things, big and small, but among the more important things is improved compatibility with Sotha Sil Expanded. Of course, more testing is always appreciated to squash the last remaining bugs. Capo has also fixed another mod-related issue in that teleportation caused problems with companion mods, such as Julan. A big thank you to our coding champion!
Improving gamepad support has always been tricky for a development team consisting of zero gamepad users. But thankfully, Perry Hugh, a new face in our corner of GitLab, came along and added – among other things – several great improvements to the joystick movement. You can now lean back on your sofa and enjoy proper analogue-stick movement in OpenMW.
Last time, we mentioned that Bzzt had included some cool optimisations in a huge merge request on GitLab. Most of these have now been merged with the help of Capostrophic and akortunov who split the – quite large – merge request into smaller pieces for easier review. This has resulted in improved performance, lower memory usage, and a better visual look of the distant-land feature. This is not the end, however, as Bzzt has some more aces up his sleeve on GitLab. We will see what improvements can be squeezed out of this guy in the future.
A guy we haven’t talked about before in a news post is Stomy. He came to our forums a while ago, presenting some interesting long-term ideas he wanted to develop for the engine. But while it is way too early to talk about those, he also has some other interesting merge requests in the pipeline. The most important ones are optional head-bobbing and a radial viewing distance, which uses a clipping circle instead of a clipping plane to avoid things popping up when looking around, both of which will add a more modern feeling to the game.
But what about TES3MP? Well, one interesting thing is that since TES3MP already supports Lua scripting, the user Johnnyhostile (the man behind www.modding-openmw.com) was able to start porting the mod Natural Character Growth and Decay to Lua in order to make it compatible with TES3MP!
Let’s leave it at that and talk about other recent and future changes in a later news post. Until next time, and thanks for reading.
The OpenMW team is proud to announce the release of version 0.45.0! Grab it from our Downloads Page for all operating systems. This release brings yet another horde of bug fixes and several new features, including support for per-group KF animation replacers, 360° screenshots, and the ability to brew a whole stack of a potion at once.
If you haven’t tried OpenMW out already, now is the big chance! Bethesda’s free giveaway of Morrowind got extended, so you are still able to get Morrowind for free until March 31st!
Check out the release video and the OpenMW-CS release video by the illustrious Atahualpa, and see below for the full list of changes.
- Shadows are not yet re-implemented
- There’s currently no way to redirect the logging output to the command prompt on Windows Release builds — this will be resolved in version 0.46.0
- To use generic Linux binaries, Qt4 and libpng12 must be installed on your system
- On macOS, launching OpenMW from OpenMW-CS requires OpenMW.app and OpenMW-CS.app to be siblings
- Non-actor objects display visual effects during spellcasting (#1645)
- Creatures without any collision box use auto-generated ones (#2787)
- Launcher: File paths of selected content files can be copied via context menu (#2847)
- Actors play casting animations during scripted spellcasting (#3083)
- As an option, barter deals permanently modify merchant disposition (#3103)
- Ranged weapons deal critical hits to unaware opponents (#3703)
- 360° screenshots of various kinds can be made (#4222)
- ‘ToggleBorders’ debug instruction (“tb”) available in console (#4256)
- Sound generator keys in activator animations are supported (#4285)
- On macOS, function key shortcuts can be used (#4324)
- Some of the debug settings previously available as command line arguments can be set up in the launcher (#4345)
- Support for per-group KF animation replacers has been added (#4444)
- Shader water is rougher during bad weather (#4488)
- The number of enchanted items in a stack is shown in the Spells window (#4509)
- The actual chance of hitting the target is used for AI weapon rating instead of just the skill (#4548)
- The real potential damage of a weapon is used for its rating (#4549, #4697)
- A bonus is applied to the rating of ranged weapons if the attacker is far enough from the target (#4550)
- As an option, the Strength attribute affects Fatigue and Health damage in hand-to-hand combat (#4579)
- The logging system has been heavily reworked (#4581)
- AI no longer uses magic effects that affect hit chance if the enemy has not taken the appropriate stance (#4624)
- AI uses the root mean square of melee-weapon damage for more precise weapon rating (#4625)
- AI accounts for weapon speed when rating a weapon (#4626)
- Various vanilla GMSTs regarding combat action rating are utilised (#4632)
- ‘sTo’ GMST (“to”) replaces hyphen in the Spellmaking menu (#4636)
- New count field in the Alchemy window allows you to brew multiple potions at the same time (#4642)
- To improve performance, actors outside of the AI processing range are no longer rendered but faded out (#4647)
- AI processing range can be configured via an in-game slider and a configuration option (#4647)
- If the animated creature model lacks a collision box, the non-animated model’s collision box is used as a fallback (#4682)
- Tooltips of thrown weapons show the actual in-game damage (twice the base-record damage) the projectiles have (#4697)
New Editor Features:
- All top-bar dropdown menu options and most context menu options have icons (#912, #4506)
- Actors are rendered in Scene view (#1221)
- Verifier functionality covers Enchantment records (#1617)
- Added a check box to execute a case-sensitive global search (#2606)
- Shift + C is default shortcut for viewing cells (#2845)
- Shift + V is default shortcut for previewing records (#2845)
- Global search has a status bar (#3276)
- Frame rate in Preview window can be limited (#3641)
- Log files are created in case of a crash (#4012)
- Previously sorted-by-ID lists, such as magic-effect lists, are now alphabetically sorted (#4404)
- As an option, base records are ignored in verifier runs (#4466)
- Already existing marker models for light sources and creature levelled lists are now used (#4512)
- All actors (not only those in active cells) restore Health and Magicka during player character rest (#1875)
- Precise times of sunrise and sunset are now recovered from the imported Morrowind INI file (#1990)
- Actors now properly aim during scripted spellcasting (#2131)
- Skills and attributes that affect trading no longer cause low selling prices if they’re too high (#2222)
- Landing sound behaviour for NPCs and the player character has been reworked (#2256)
- Scripted movement of an object now adjusts the position of actors standing on top of that object (#2274)
- The last equipped item of a certain type is automatically re-equipped once a bound-item spell of the same type expires (#2326)
- Restore effects can restore drained stats (#2446)
- Attacks from unarmed, non-bipedal creatures no longer degrade armour (#2455)
- For the time being, actors are no longer allowed to activate teleport doors so that their abrupt cell change doesn’t cause a crash (#2562)
- Using ‘Resurrect’ instruction on a dead player character fully resumes the game (#2626)
- References to non-existent classes or factions no longer crash the game (#2772)
- Weapons are visually unequipped before the start of a spellcasting stance transition (#2835, #4327)
- The player character now gets a bounty when a player follower commits a murder (#2852)
- To prevent issues on macOS, SDL is only initialised for the Graphics tab of the launcher when Qt5 is used (#2862, #3911)
- Explicit reference calls no longer break [Tab] autocompletion in the console (#2872)
- Naked expressions starting with a member operator are no longer allowed outside of the console (#2971)
- The handling of Drain and Fortify effects for health, magicka, and fatigue has been reworked to match vanilla behaviour (#3049, #4231)
- Enemies are no longer immune to ranged attacks at very close range (#3059)
- Adding an item with a self-equipment script to an actor no longer causes a freeze (#3072)
- Actors who are placed above the ground are now snapped down at a significantly larger distance when a cell is loaded, preventing them from falling to their death (#3219)
- TrueType fonts are now properly rescaled (#3288)
- Targets are now much easier to hit with on-touch spells (#3374)
- The handling of scripted and death animations has been reworked to significantly improve mod compatibility (#3486, #4286, #4291, #4307)
- ‘GetSpellEffects’ scripting function can now detect zero-duration effects (#3533)
- Enemies are much easier to hit with low-reach weapons, since the intended start position of the attack raycast is now replicated (#3591)
- Scripted sleeping interruptions no longer prevent the spawning of random sleep encounters (#3629)
- Calling ‘AddSoulGem’ and ‘RemoveSpell’ scripting instructions with an extra argument no longer breaks script compilation (#3762)
- ‘GetPCInJail’ scripting function has been reworked to more closely match vanilla behaviour (#3788)
- Previous placeholder implementation of ‘GetPCTraveling’ scripting function has been replaced with a proper solution (#3788)
- Message boxes can now have newline characters in the text argument (#3836)
- Alignment of terrain texture painting has been corrected to match the vanilla look (#3876)
- Attenuation of magic light sources is now properly calculated (#3890)
- ‘Goodbye’ scripting function in dialogue results now makes any additional choices act like ‘Goodbye’ (#3897)
- ‘RemoveSpellEffects’ scripting instruction now also removes permanent effects (#3920)
- Movement prediction for spell aiming now uses the correct GMST to calculate the magic projectile’s speed (#3948)
- Animated collision shapes are no longer erroneously optimised (#3950)
- The terrain texture blending map is now upscaled to more closely match the vanilla look (#3993)
- Issues with actors not returning to their initial position in various situations have been fixed (#3997, #4251, #4393)
- AI packages with a non-unique target no longer choose a random target with the same ID (#4036)
- On macOS, version numbers are now properly displayed in the application properties (#4047)
- Text after the last end-of-line tag is no longer shown in books to match vanilla behaviour (#4215)
- ‘FixMe’ script instruction has been reworked to more closely match vanilla behaviour (#4217)
- Jumping on slopes is now less restrictive, preventing the player character from getting stuck in V-shaped terrain (#4221)
- Pathgrid nodes which lie between an actor and that actor’s destination are now ignored (#4230)
- Actors with an AiTravel package now stop near their target position if that position is blocked by another actor (#4230)
- [Activate] key can no longer be held down to spam Persuasion and other kinds of repeatable actions (#4260)
- Turning animations no longer reset idle animations (#4271)
- Death animations from pre-0.43.0 savegames are now forward-compatible (#4274)
- ‘CenterOnCell’ script instruction (“coc”) now teleports the player character to the accurate door marker or exterior position for interior and exterior cells respectively (#4292)
- Faction members are now aware of faction ownership during barter (#4293)
- AiWander packages which are placed before an AiFollow package in the AI package list no longer override vital functionality of that AiFollow package (#4304)
- Key focus in containers is now automatically (re)set to the [Close] button to prevent players from accidentally stealing items (#4333)
- Spellcasting stance transitions no longer interrupt movement animations (#4358)
- OK button in the Settings window has key focus by default (#4368)
- It’s no longer possible to cast an Absorb spell on oneself (#4378)
- Non-audio files no longer crash the game when the engine tries to play them (#4416)
- When there is a ‘NiStringExtraData’ node with MRK value in a NIF model node, only ‘NiTriShape’ meshes starting with “Tri EditorMarker” are ignored instead of the whole node (#4419)
- ‘RotateWorld’ scripting instruction now rotates objects around the correct axis, while keeping the objects’ initial rotation (#4426)
- Some issues with building OpenMW on Windows and macOS were fixed (#4429, #4613)
- Applying the console command “Lock 0” to a door or a container now creates an unbreakable lock, like in vanilla Morrowind (#4431)
- Actors without any AI packages now properly return to their initial position after combat or pursuit (#4432)
- Guards with AiAlarm = 0 no longer attempt to arrest the player character when they observe a crime but no one reports it (#4433)
- ‘Begin’ and ‘End’ script keywords can now be followed by a comma (#4451)
- The default terrain texture no longer shines through terrain texture blending transitions (#4452)
- Broken items are now ignored when trying to equip an item via quick key (#4453)
- Actors now open doors more quickly (#4454)
- Light sources which cannot be carried no longer prevent the AI from auto-equipping shields (#4457)
- The handling of idle chances in AiWander packages has been reworked to more closely match vanilla behaviour (#4458)
- ‘NotCell’ dialogue condition now supports partial name matches (#4459)
- Scripted equipment now bypasses most standard equipping restrictions, e.g., those for beast races (#4460)
- When a non-player object casts an Open spell, a player crime event is triggered if the player character is detected to ensure vanilla compatibility (#4461)
- General-number formatting (“%g”) now works like in vanilla Morrowind and properly handles the fractional part (#4463)
- Cancelled AI packages are now removed from the package cache (#4464)
- Non-ASCII strings are now properly handled in the content selector and in the ESM reader (#4467, #4653)
- Silt striders in abot’s “Silt Striders” mod are no longer rotated by 90 degrees (#4469)
- The behaviour of weapon-using non-bipedal creatures has been reworked to make them less helpless in certain situations (#4470)
- Actors who are vampires now display their regular record head when no vampire head is found (#4474)
- Scripted animations no longer move actors away from their initial position (#4475)
- Potential crashes in the quick-keys menu when an item is no longer available in the inventory no longer occur (#4480)
- ‘Goodbye’ dialogue scripting instruction now disables hyperlinks in dialogue topics (#4489)
- ‘PositionCell’ scripting instruction no longer tries to add local scripts to scripted items in the teleported player character’s inventory twice (#4490)
- Training cap is now limited by the trainer’s modified skill instead of their base skill (#4494)
- Crossbow reloading animations now only apply to the upper body (#4495)
- Crossbows now use animations for one-handed weapons as a fallback (#4495)
- Animations for turning in spellcasting stance are now used (#4496)
- Animated meshes without slashes in their full path are now properly classified as animations (#4497)
- Scripted spellcasting no longer increases the Alteration skill (#4503)
- A potential zero division in the Fatigue calculation has been removed (#4510)
- A knocked-down player character can no longer move or be moved in first-person view (#4519)
- Some issues with sun specularity in the water shader have been fixed (#4527)
- Movement animations without idle-animation fallback no longer trigger idle animations (#4531)
- The game now switches between distorted (underwater) and undistorted sound effects based on the camera position instead of the player character’s head position (#4532)
- The inventory paper doll is now affected by GUI scaling (#4539)
- Items with an ‘OnActivate’ command present in their script (such as “cursed” items) no longer visually disappear when they are picked up in menu mode (#4543)
- Creatures no longer incorrectly flee from werewolves (#4545)
- Minimum and maximum sound ranges with zero value are now separately reset to their default ranges (#4551)
- Non-actor objects can no longer have a dialogue window opened via script (#4553)
- Dialogue topics with reserved names, e.g., “Barter” or “Repair”, now behave the same as in vanilla Morrowind (#4557)
- Optimiser search for reserved node names is now case-insensitive (#4558)
- Pinned windows are now properly updated (#4560)
- Fast-travel logic now always depends on the type of the service NPC’s cell instead of the destination cell type (#4563)
- The underwater viewing distance limit is no longer broken (#4565)
- The player character no longer uses headtracking in first-person view (#4573, temporary workaround for another issue)
- The handling of player character turning animations has been improved (#4574)
- Several weapon animation inconsistencies during movement in first-person view have been fixed (#4575)
- Idle animations are no longer reset in certain situations where they should be continuous (#4576)
- If an innocent actor dies from the continuing effects of a player attack, the murder is now also reported if the player has already paid their fine (#4582)
- Attack strength is now 0 if the player spams the [Attack] button (#4591)
- The incorrect inequality operator “<>” is now interpreted as less-than operator “<” to ensure compatibility with certain mods (#4597)
- Picking a stack of gold up in menu mode now grabs the whole item stack (#4604)
- Scaling for animated collision shapes is no longer erroneously applied twice (#4607)
- Fall damage is no longer erroneously applied twice (#4608)
- The pseudo duration of instant magic effects has been adjusted in the spellmaking menu to match vanilla spell cost calculations (#4611)
- A zero division occurring in ‘NiFlipController’ nodes without textures has been removed (#4614)
- The flickering frequency of light sources and some light-related calculations have been fixed (#4615)
- The sneaking offset in first-person view is now also applied when switching to sneak mode in midair (#4617)
- Sneaking is no longer possible while flying (#4618)
- Recharging enchanted items now always increases the Enchant skill regardless of success or failure, like in vanilla Morrowind (#4622)
- NPC record entries Reputation, Disposition and Faction Rank are now loaded as unsigned variables (#4628)
- Sneaking stance no longer affects speed if the actor is not actually sneaking (#4633)
- ‘GetPCJumping’ scripting function has been reworked to match vanilla behaviour (#4641)
- “%Name” string replacer can now be used in creature dialogue (#4644)
- Force-equipping a weapon now resets ongoing attack animations (#4646)
- HUD no longer displays an “item condition” for throwing weapons (#4648)
- Levelling up no longer fully restores health but rather applies the gained health points (#4649)
- Actors no longer fall from cliffs or run into obstacles when backing down from attackers (#4656)
- Enabling collision with ‘ToggleCollision’ scripting instruction (“tcl”) now snaps the player character down to the ground (#4669)
- The number of known ingredient and potion effects is now determined by the modified rather than the base Alchemy skill (#4671)
- Pitch factor handling for crossbow animations has been streamlined to more closely match vanilla behaviour (#4672)
- Journal can no longer be opened while the Settings window is open (#4674)
- NPC fast-travel destination records without any data no longer crash the game upon loading (#4677)
- Declared but empty script variable lists no longer crash the game upon loading (#4678)
- The chance of a successful spell absorption is now multiplicative rather than additive, which is how the magic effect is designed in vanilla Morrowind (#4684)
- Calling ‘Say’ scripting instruction with non-existent sound as argument no longer breaks script compilation (#4685)
- Creatures that lack unique sounds now make use of fallback sound generator records (#4689)
- Loading bars no longer obscure message boxes but are instead moved to the centre of the screen (#4691)
Editor Bug Fixes:
- ‘Revert’ action now properly updates subviews (#3249)
- A native colour picker is now used on all operating systems, fixing major issues on macOS (#3681)
- ‘Undo’ and ‘Redo’ actions now keep assigned shortcuts (#4110)
- Lock status of newly opened subviews is now correctly initialised (#4520)
- Instance dragging, which was broken in 0.44.0, has been fixed (#4593)
- Skeletons of animated objects are now properly initialised (#4654)
- The Colour entry in Light Source records is now displayed as a coloured box instead of an integer number (#4668)
- Windows builds in ‘Release’ mode no longer automatically open a command prompt window (#2490)
- Race condition in terrain code has been fixed (#4584)
- Skinning and AI optimisations (#4605, #4621)
- Support for Rapture3D OpenAL driver has been added (#4606)
- Record verifying functionality in OpenMW-CS has been revised (#4643)
We’re a bit late to the party now, but there’s still a few hours left to go: Bethesda gives away Morrowind for free today (March 25th), and only today. You need a Bethesda.net account to get the code, otherwise it’s fully free!
Get it here before it’s too late!
Remember that you need a copy of Morrowind to be able to play Morrowind through the OpenMW and/or TES3MP engine, so if you don’t own Morrowind yet, this is a perfect chance to get it for, well, nothing. 🙂
Two weeks ago, we wrote about OpenMW’s offical multiplayer fork, TES3MP. Missed that? Read it here.
This week, however, we want to talk more about the main project: the OpenMW engine. A lot of things have happened since the last news post on that topic.
So, what’s the news?
Let’s begin with a recently merged feature which might seem like a small change at first, but rather is part of bigger project. OpenMW is now able to read the BSA files of Oblivion, Skyrim, Fallout 3 and New Vegas – thanks to the hard work of both cc9cii, who first wrote the code for OpenMW 0.36, and Azdul, who ported the code to the current OpenMW master. This brings us one step closer to actually running assets from later TES and Fallout games in OpenMW. However, a lot of work lies ahead of us – next on our list is support for newer versions of NIF, ESM, and ESP files. We’ll keep you posted.
Speaking of features regarding later Bethesda games: Skyrim uses a nif-ty feature in the NIF files called NiSwitchNode to make plants harvestable. The mod Glow In The Dahrk by MelchiorDahrk uses the same property – with the help of some Lua code from MWSE-Lua – to create glowing windows during night time. We are very pleased that our sedulous developer akortunov submitted this pull request, which makes it possible to use the assets from Glow in the Dahrk in our engine too.
A new contributor, bzzt, has recently started working on large-scale optimisations of our engine, focusing on terrain rendering in order to prepare adding in his vision of a future distant-objects feature. Among many other things, his changes – should they be merged – will improve both the look and the performance of distant terrain in OpenMW. The latter was a major cause of concern for players, and we hope his additions will be well received by the Morrowind community.
Capostrophic has been working a lot to make OpenMW compatible with the popular (and huge) mod Sotha Sil Expanded. There are still a few nuts to crack before the mod is fully compatible with OpenMW, but Capostrophic is on it and we’ll let you know when everything works as intended. Sometimes you have to go to other content than vanilla Morrowind to find bugs in the engine, so big mods like these offer great opportunities to find unknown bugs and spot differences between OpenMW and vanilla Morrowind.
This post was supposed to be about OpenMW, but we have to mention one small thing about TES3MP: The macOS client is now released! Download it here.
Shadows are back!
And now the time has come for us to announce a quite big feature that got merged into master today. A feature many have told us is the one thing stopping them from switching to OpenMW for good. This feature was actually present in OpenMW when it, up until version 0.36.0, still used the rendering engine Ogre3D. After the switch to OpenSceneGraph, the feature had to be reimplemented again.
AnyOldName3 has been working on the implementation of shadows in OpenMW for over a year. It has been a long road to get there though. A couple of shadow techniques are included in the OpenSceneGraph library, but they needed to be modified quite a bit to fit our specific needs. A year and a couple of months later, through hard work and a lot of bugs and technical issues to master, he has now finished implementing his own technique, based on one of OpenSceneGraph’s methods.
But while the shadows are merged and ready to enhance the immersion of your next adventure in Vvardenfell, there will always be room to improve them in the future. AnyOldName3 already has some ideas what could be added to make them look even better. We might address that in detail in a future post.
So from this day, the first builds with shadows implemented will be built. Grab the latest nightly builds for the operating system of your choice here while they are still hot, or build OpenMW yourself by following the instructions here. Important note though: the Windows nightlies are built at 3:00 AM, UTC. Nightlies for Ubuntu PPA are down at the moment.
Until next time!
First of all: Sorry for the delay of 0.45.0. It is more or less ready for release and has been for quite some time. Real life just caught up for raevol and Atahualpa, our release manager and release video producer respectively. We want each release to be seen and downloaded by as many people as possible, so it’s important to us to get the PR done right – and we all love the videos. As soon as they are done with the things occupying them, we will have our release ready for you.
Anyway, there is one thing we want to make official to you all. Those of you active on the forums might have already figured out that the long-term plan for TES3MP, the multiplayer fork of OpenMW, is to get it merged into OpenMW as an optional multiplayer feature of the engine. The multiplayer part will then probably be renamed to OpenMW-MP. When the merging is going to happen has not yet been decided, but a good guess is that work on TES3MP integration will probably start soon after OpenMW 1.0.0 has been released.
Multiplayer integration also means that a server side scripting system, like the one present in TES3MP, will eventually find its way into OpenMW. This is, of course, a huge undertaking, so it might take a while before we can release more details on how this system is going to work.
Anyway, since TES3MP is now officially a partner of OpenMW (and, internally, has been for quite some time), you’ll see more news posts regarding that project in the future. In the meantime, we highly recommend visiting the official TES3MP subreddit and TES3MP’s steam group.
The TES3MP news of the week is that TES3MP will soon have a macOS client! This has been much requested for a long time and will allow our dear Apple users to join the growing Morrowind multiplayer community. Already there: TES3MP now provides 32-bit builds on Windows for users of older operating systems or computers. You can download TES3MP here.
But what about news for regular OpenMW you ask? There has been a lot of work on our engine too. – But that is something to discuss in a future news post.
I’ll give you one thing though: Shadows are being reviewed and, after that, are going to be merged into the OpenMW master. Soon™ in a nightly near you!
See you again next week!